Index: clear.bat
===================================================================
--- /branch/mouse_project/ZhongXinSheng/ZXS_1062/MJ391_24G&BLE_PB/clear.bat	(revision 0)
+++ /branch/mouse_project/ZhongXinSheng/ZXS_1062/MJ391_24G&BLE_PB/clear.bat	(working copy)
@@ -0,0 +1,51 @@
+@echo off
+echo 存储类型为:eeprom和flash
+echo 可以用1表示eeprom
+echo 可以用2表示flash
+set /P Storage_Type=请输入存储的类型:
+e pu
+
+IF "%Storage_Type%" EQU "1" (goto clear_wp_gpio)
+
+IF "%Storage_Type%" EQU "2" (goto clear_flash)
+
+IF /I "%Storage_Type%" EQU "eeprom" (goto clear_eeprom) 
+
+IF /I "%Storage_Type%" EQU "flash" (goto clear_flash) ELSE (goto clear_eeprom)
+
+:clear_wp_gpio
+ping 127.1 -n 1 >nul
+e 8081 10
+e 8075 0000
+e 8079 0000
+e 807d ffff
+goto clear_eeprom
+
+:clear_eeprom
+echo clear eeprom
+e ep empty.dat 0
+e ep empty.dat 1000
+e ep empty.dat 2000
+e ep empty.dat 3000
+e ep empty.dat 4000
+e ep empty.dat 5000
+e ep empty.dat 6000
+e ep empty.dat 7000
+e ep empty.dat 8000
+
+goto end
+
+:clear_flash
+echo clear flash
+e fp empty.dat 0
+e fp empty.dat 1000
+e fp empty.dat 2000
+e fp empty.dat 3000
+e fp empty.dat 4000
+e fp empty.dat 5000
+e fp empty.dat 6000
+e fp empty.dat 7000
+e fp empty.dat 8000
+
+:end
+pause
\ No newline at end of file
Index: clear.exe
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: clear.exe
===================================================================
--- /branch/mouse_project/ZhongXinSheng/ZXS_1062/MJ391_24G&BLE_PB/clear.exe	(revision 0)
+++ /branch/mouse_project/ZhongXinSheng/ZXS_1062/MJ391_24G&BLE_PB/clear.exe	(working copy)

Property changes on: clear.exe
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: d.bat
===================================================================
--- /branch/mouse_project/ZhongXinSheng/ZXS_1062/MJ391_24G&BLE_PB/d.bat	(revision 0)
+++ /branch/mouse_project/ZhongXinSheng/ZXS_1062/MJ391_24G&BLE_PB/d.bat	(working copy)
@@ -0,0 +1,11 @@
+call do.bat eep
+e ku
+ping 127.1 -n 1 >nul
+e pu
+ping 127.1 -n 1 >nul
+e 8081 10
+e 8075 0000
+e 8079 0000
+e 807d ffff
+e ep
+e ku
Index: do.bat
===================================================================
--- /branch/mouse_project/ZhongXinSheng/ZXS_1062/MJ391_24G&BLE_PB/do.bat	(revision 0)
+++ /branch/mouse_project/ZhongXinSheng/ZXS_1062/MJ391_24G&BLE_PB/do.bat	(working copy)
@@ -0,0 +1,66 @@
+@set FPGA_PATH=fpgajic\fpga
+@set ROM_PATH=.
+@set MV_PATCH=mv\src\yichip
+@set YC_PATCH_FILE=yc_patch_yc1021.h
+@set enc=1
+@set enckey=0000000000000000
+@echo off
+setlocal enabledelayedexpansion
+
+copy patch\patch.prog output\bt_program23.meta
+copy rom\rom.format  + rom\label.format + patch\patch.format + rom\command.format output\bt_format.meta
+perl util/mergepatch.pl output/bt_program23.meta
+perl util/memalloc.pl output/bt_format.meta
+cd output
+osiuasm bt_program23 -O-W
+copy  ..\sched\109x.dat +  ..\sched\mouse.dat ..\output\sched.rom
+
+
+if "%1" equ "eep" (
+	goto genromrevc
+)else (
+  goto downloadram
+)
+
+
+
+:genromrevc
+
+perl ..\util\DeleteNote.pl ..\output\sched.rom
+perl ..\util\transform_name2addr.pl ..\output\sched.rom ..\output\sched.rom ..\output\memmap.format
+perl ..\util\sortsched.pl ..\output\sched.rom ..\output\sched.rom
+
+@echo Start to generate EEPROM code
+
+..\util\geneep -n ramcode.rom sched.rom 0 %enckey% c
+cd ..\output
+
+echo eeprom.dat Generated........
+
+echo off
+
+:gen_eep_end
+cd ..
+echo **********************************
+echo EEPROM Generated.
+echo The Device is %device_option%. 
+echo Use command "e ep" to download EEPROM.
+echo **********************************
+goto end
+
+
+
+:downloadram
+echo on
+@echo Start to download ram code
+e ku
+e hu
+e su sched.rom
+@echo **********************************
+@echo RAM CODE has been downloaded.
+@echo The Device is %device_option%. 
+@echo **********************************
+cd ..
+
+
+:end
Index: empty.dat
===================================================================
--- /branch/mouse_project/ZhongXinSheng/ZXS_1062/MJ391_24G&BLE_PB/empty.dat	(revision 0)
+++ /branch/mouse_project/ZhongXinSheng/ZXS_1062/MJ391_24G&BLE_PB/empty.dat	(working copy)
@@ -0,0 +1,4096 @@
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
Index: output/bt_format.meta
===================================================================
--- /branch/mouse_project/ZhongXinSheng/ZXS_1062/MJ391_24G&BLE_PB/output/bt_format.meta	(revision 0)
+++ /branch/mouse_project/ZhongXinSheng/ZXS_1062/MJ391_24G&BLE_PB/output/bt_format.meta	(working copy)
@@ -0,0 +1,12942 @@
+0x4000 mem_patch00
+0x4001 mem_patch01
+0x4002 mem_patch02
+0x4003 mem_patch03
+0x4004 mem_patch04
+0x4005 mem_patch05
+0x4006 mem_patch06
+0x4007 mem_patch07
+0x4008 mem_patch08
+0x4009 mem_patch09
+0x400a mem_patch0a
+0x400b mem_patch0b
+0x400c mem_patch0c
+0x400d mem_patch0d
+0x400e mem_patch0e
+0x400f mem_patch0f
+0x4010 mem_patch10
+0x4011 mem_patch11
+0x4012 mem_patch12
+0x4013 mem_patch13
+0x4014 mem_patch14
+0x4015 mem_patch15
+0x4016 mem_patch16
+0x4017 mem_patch17
+0x4018 mem_patch18
+0x4019 mem_patch19
+0x401a mem_patch1a
+0x401b mem_patch1b
+0x401c mem_patch1c
+0x401d mem_patch1d
+0x401e mem_patch1e
+0x401f mem_patch1f
+0x4020 mem_patch20
+0x4021 mem_patch21
+0x4022 mem_patch22
+0x4023 mem_patch23
+0x4024 mem_patch24
+0x4025 mem_patch25
+0x4026 mem_patch26
+0x4027 mem_patch27
+0x4028 mem_patch28
+0x4029 mem_patch29
+0x402a mem_patch2a
+0x402b mem_patch2b
+0x402c mem_patch2c
+0x402d mem_patch2d
+0x402e mem_patch2e
+0x402f mem_patch2f
+0x4030 mem_patch30
+0x4031 mem_patch31
+0x4032 mem_patch32
+0x4033 mem_patch33
+0x4034 mem_patch34
+0x4035 mem_patch35
+0x4036 mem_patch36
+0x4037 mem_patch37
+0x4038 mem_patch38
+0x4039 mem_patch39
+0x403a mem_patch3a
+0x403b mem_patch3b
+0x403c mem_patch3c
+0x403d mem_patch3d
+0x403e mem_patch3e
+0x403f mem_patch3f
+0x4040 mem_context
+0x4090 mem_current_amaddr
+0x4091 mem_lpm_mode
+0x4092 mem_device_option
+0x4093 mem_scan_mode
+0x4094 mem_last_clkn
+0x4098 mem_features
+0x40a0 mem_lap
+0x40a3 mem_uap
+0x40a4 mem_nap
+0x40a6 mem_npage
+0x40a7 mem_glap
+0x40aa mem_class
+0x40ad mem_iscan_window
+0x40af mem_iscan_interval
+0x40b1 mem_pscan_window
+0x40b3 mem_pscan_interval
+0x40b5 mem_page_interval
+0x40b7 mem_page_window
+0x40b9 mem_page_to
+0x40bb mem_inq_window
+0x40bd mem_fcomp_mul
+0x40be mem_fcomp_div
+0x40bf mem_rx_window_init
+0x40c1 mem_rx_window_sniff
+0x40c3 mem_rf_init_ptr
+0x40c5 mem_last_type
+0x40c6 mem_last_type_esco
+0x40c7 mem_last_type_saved
+0x40c8 mem_retransmission_cnt
+0x40ca mem_next_btclk
+0x40ce mem_rf_rccal
+0x40cf mem_handle_num
+0x40d0 mem_max_slot
+0x40d1 mem_eir_enable
+0x40d2 mem_afh_instant
+0x40d6 mem_afh_error_total
+0x40d8 mem_afh_cfg
+0x40d9 mem_afh_new_mod
+0x40da mem_afh_map_lo
+0x40df mem_afh_map_hi
+0x40e4 mem_afh_used
+0x40e5 mem_afh_index
+0x40e7 mem_afh_map_new
+0x40f2 mem_afh_map
+0x4142 mem_afh_timer
+0x4146 mem_afh_classify_channel_map
+0x4150 mem_chip_functions
+0x4152 mem_lpm_wake_lock
+0x4154 mem_lpm_interval
+0x4156 mem_lpm_overhead
+0x4157 mem_lpm_hibernate_switch
+0x4158 mem_esco_addr
+0x4159 mem_sniff_unint_lost
+0x415a mem_ptt
+0x415b mem_sleep_counter//should be 0x41fc in REVC
+0x415f mem_sleep_counter_all
+0x4163 mem_sleep_clkn
+0x4169 mem_sniff_rcv
+0x416c mem_sniff_lost
+0x416f mem_clks_per_lpo
+0x4172 mem_lpm_mult
+0x4173 mem_lpm_mult_timeout
+0x4174 mem_lpm_mult_cnt
+0x4175 mem_lpm_config
+0x4178 mem_lpm_xtalcnt
+0x4179 mem_lpm_buckcnt
+0x417a mem_lpm_ldocnt
+0x417b mem_lpm_isogate
+0x417c mem_lpm_isogate_final
+0x417d mem_saved_gpio// should be 0x421e in REVC
+0x418d mem_saved_gsel
+0x4190 mem_saved_mark
+0x4198 mem_saved_spidctrl
+0x4199 mem_patch_ptr
+0x419b mem_patch_len
+0x419d mem_timers
+0x41bd mem_link_key_exists
+0x41be mem_link_key
+0x41ce mem_hci_cmd
+0x41cf mem_hci_conn_handle
+0x41d0 mem_hci_plap
+0x41d3 mem_hci_puap
+0x41d4 mem_hci_pnap
+0x41d6 mem_uartd_rxitems_got_data
+0x41d7 mem_uartd_rxitems_threshold
+0x41d8 mem_uartd_rx_timeout
+0x41da mem_loadcode_times
+0x41db mem_tx_lch
+0x41dc mem_tx_len
+0x41de mem_tx_power
+0x41df mem_context_number
+0x41e0 mem_250k_freq_enable
+0x41e1 mem_rf_init_data
+0x41e2 mem_app_handshake_flag
+0x41e3 mem_sniff_param_interval
+0x41e5 mem_sniff_param_attempt
+0x41e7 mem_sniff_param_timeout
+0x41e9 mem_cb_check_wakelock
+0x41eb mem_cb_before_hibernate
+0x41ed mem_cb_before_lpm
+0x41ef mem_cb_le_process
+0x41f1 mem_cb_bt_process
+0x41f3 mem_cb_idle_process
+0x41f5 mem_cb_bb_event_process
+0x41f7 mem_cb_discovry_timeout
+0x41f9 mem_cb_att_write
+0x41fb mem_cb_ble_transmit
+0x41fd mem_cb_event_timer
+0x41ff mem_cb_bt_set_mult
+0x4201 mem_cb_spi_flash_write_complate
+0x4203 mem_eeprom_base
+0x4205 mem_unsniff2sniff_timer_count
+0x4206 mem_wake_up_delay_timer
+0x4207 mem_app_connection_options
+0x4208 mem_app_disconn_reason
+0x420a mem_app_disconn_reason_flag
+0x420c mem_lpm_delay_after_sniff
+0x4210 mem_xrecord_mode
+0x4211 mem_eeprom_block_size
+0x4212 mem_spi_init_clk
+0x4213 mem_spi_init_delay_time
+0x4214 mem_spi_ncs_gpio
+0x4215 mem_nv_data_ptr
+0x4217 mem_nv_data_number
+0x4218 mem_queue_ptr
+0x421a mem_ui_led_struct_num
+0x421b mem_ui_led_struct_ptr
+0x421d mem_0_5_adc_io_data
+0x421f mem_1v_adc_hvin_data
+0x4221 mem_2v_adc_vinlpm_data
+0x4223 mem_1v_adc_io_data
+0x4225 mem_5v_adc_hvin_data
+0x4227 mem_3v_adc_vinlpm_data
+0x4229 mem_otp_adc_flag
+0x422b mem_reference_voltage
+0x422d mem_adc_config_flag
+0x422e mem_adc_channel
+0x422f mem_adc_current_value
+0x4231 mem_adc_power_flag//bit0:low power falg ; bit1:no power flag
+0x4232 mem_spi_write_addr
+0x4235 mem_spi_write_ptr
+0x4237 mem_spi_write_len
+0x4239 mem_spi_write_flash_sm
+0x423a mem_eeprom_wp_gpio
+0x423b mem_kscan_ptr
+0x423d mem_key_num_ptr
+0x423d mem_keyscan_ptr
+0x423f mem_power_param_ptr
+0x4241 mem_24g_head_ptr
+0x4243 mem_baud
+0x4245 mem_hci_lt_rx_state
+0x4246 mem_l2cap_xmem_start
+0x4246 mem_l2cap_tx_multi_offset//0 means single packet
+0x4248 mem_sdp_remote_cid
+0x424a mem_rfcomm_remote_cid
+0x424c mem_hid_ctrl_remote_cid
+0x424e mem_hid_int_remote_cid
+0x4250 mem_sdp_state
+0x4251 mem_rfcomm_state
+0x4252 mem_hid_control_state
+0x4253 mem_hid_interrupt_state
+0x4254 mem_spp_state
+0x4255 mem_ML2CAP_comm_id
+0x4256 mem_used_map
+0x4257 mem_tx_fifo0
+0x4257 mem_tx_fifo0_map
+0x4258 mem_tx_fifo0_ptr
+0x425a mem_tx_fifo1
+0x425a mem_tx_fifo1_map
+0x425b mem_tx_fifo1_ptr
+0x425d mem_tx_fifo2
+0x425d mem_tx_fifo2_map
+0x425e mem_tx_fifo2_ptr
+0x4260 mem_tx_fifo3
+0x4260 mem_tx_fifo3_map
+0x4261 mem_tx_fifo3_ptr
+0x4263 mem_tx_fifo_end
+0x4263 mem_l2cap_lpm_txbuf
+0x4363 mem_l2cap_flow_ctrl_flag
+0x4364 mem_l2cap_pending_item
+0x4365 mem_l2cap_xmem_end
+0x4365 mem_le_dsniff
+0x4367 mem_le_conn_interval
+0x4369 mem_le_scan_enable
+0x436a mem_le_scan_interval
+0x436c mem_le_scan_window
+0x436e mem_le_adv_enable
+0x436f mem_le_adv_data_len
+0x4370 mem_le_adv_data
+0x438f mem_le_scan_data_len
+0x4390 mem_le_scan_data
+0x43af mem_le_name_len
+0x43b0 mem_le_name
+0x43ce mem_le_new_map
+0x43d3 mem_le_new_param
+0x43d3 mem_le_new_transmitwindowsize
+0x43d4 mem_le_new_transmitwindowoffset
+0x43d6 mem_le_new_conninterval
+0x43d8 mem_le_new_connslavelatency
+0x43da mem_le_new_connsupervisiontimeout
+0x43dc mem_le_txheader
+0x43dd mem_le_txlen
+0x43de mem_le_txpayload
+0x43e0 mem_le_txcid
+0x43e2 mem_le_l2cap
+0x43e3 mem_le_l2cap_response
+0x43e4 mem_le_txbdy
+0x4403 mem_le_pcnt_tx
+0x4408 mem_le_pcnt_rx
+0x440d mem_le_last_mic
+0x4411 mem_le_ivm
+0x4415 mem_le_ivs
+0x4419 mem_le_ltk
+0x4429 mem_ltk_exists
+0x442a mem_le_rconfirm
+0x443a mem_le_srand
+0x444a mem_le_iat
+0x444b mem_le_rat
+0x444c mem_le_preq
+0x444d mem_le_preq_iocap
+0x444e mem_le_preq_oob
+0x444f mem_le_preq_auth
+0x4450 mem_le_preq_max_keysize
+0x4451 mem_le_preq_init_key_distribution
+0x4452 mem_le_preq_resp_key_distribution
+0x4453 mem_le_pres
+0x4454 mem_le_pres_iocap
+0x4455 mem_le_pres_oob
+0x4456 mem_le_pres_auth
+0x4457 mem_le_pres_max_keysize
+0x4458 mem_le_pres_init_key_distribution
+0x4459 mem_le_pres_resp_key_distribution
+0x445a mem_le_search_handle_start
+0x445c mem_le_search_handle_end
+0x445e mem_le_att_offset
+0x445e mem_le_search_att_type_length
+0x445f mem_le_search_att_type
+0x446f mem_le_notify_handle
+0x4471 mem_le_search_uuid_length
+0x4472 mem_le_search_uuid
+0x4482 mem_le_adv_param
+0x4482 mem_le_adv_interval
+0x4484 mem_le_adv_type
+0x4485 mem_le_adv_own_addr_type
+0x4486 mem_le_adv_direct_addr_type
+0x4487 mem_le_adv_direct_addr
+0x448d mem_le_adv_channel_map
+0x448e mem_le_conn_param
+0x448e mem_le_conn_peer_addr_type
+0x448f mem_le_conn_peer_addr
+0x4495 mem_le_conn_own_addr_type
+0x4496 mem_le_interval_min
+0x4498 mem_le_interval_max
+0x449a mem_le_latency
+0x449c mem_le_timeout
+0x449e mem_le_scan_params
+0x449e mem_le_scan_type
+0x449f mem_le_scan_own_addr_type
+0x44a0 mem_le_lap
+0x44a3 mem_le_uap
+0x44a4 mem_le_nap
+0x44a6 mem_le_local_mtu
+0x44a8 mem_le_remote_mtu
+0x44aa mem_le_skdm
+0x44b2 mem_le_skds
+0x44ba mem_le_init_superto
+0x44bc mem_ui_le_uuid_table
+0x44be mem_le_secure_connect_enable
+0x44bf mem_le_secure_connect_flag
+0x44c0 mem_le_sc_calc
+0x44c1 mem_le_secure_connect_state
+0x44c2 mem_le_sc_confirm_gkey_flag
+0x44c3 mem_le_sc_local_key_invalid
+0x44c4 mem_le_pairing_state
+0x44c5 mem_le_enc_state
+0x44c6 mem_le_pairing_mode
+0x44c7 mem_le_tk
+0x44cb mem_le_ediv
+0x44cd mem_le_rand
+0x44d5 mem_le_irk
+0x44e5 mem_le_transmit_window
+0x44e9 mem_le_configuration
+0x44ea mem_le_fixed_ltk
+0x44fa mem_le_pairing_handle
+0x44fc mem_le_l2cap_size
+0x44fe mem_le_packet_len_recved
+0x44ff mem_le_tx_buff_used
+0x4500 mem_le_tx_ptr0
+0x4502 mem_le_tx_ptr1
+0x4504 mem_le_tx_ptr2
+0x4506 mem_le_tx_ptr3
+0x4508 mem_le_signaling_identifier
+0x4509 mem_le_l2cap_signaling_conn_param_update_rsp_result
+0x450b mem_le_packet_size
+0x450c mem_le_packet_llid
+0x450d mem_le_payload_ptr
+0x450f mem_le_md_count
+0x4510 mem_lmp_version
+0x4513 mem_lmp_subversion
+0x4515 mem_local_name_length
+0x4516 mem_local_name
+0x4519 mem_local_name2
+0x4559 mem_local_name_end
+0x455a mem_unsniff2sniff_timer
+0x455b mem_switch_flag
+0x455c mem_classic_bt_flag
+0x455d mem_pn_dlci
+0x455e mem_pn_max_frame_size
+0x4560 memFCStemp1
+0x4561 memFCStemp2
+0x4562 memFCStemp3
+0x4563 mem_rfcomm_initiator
+0x4564 mem_remote_spp_channel
+0x4565 mem_HIUfcs_SPP
+0x4566 mem_HIUfcs_SPP_WCredits
+0x4567 mem_rfcomm_send_more_pkt
+0x4568 mem_remote_credits
+0x4569 mem_credit_given
+0x456a mem_ms_channel
+0x456b mem_credit_flag
+0x456c mem_rfcomm_max_frame_size
+0x456e mem_rfcomm_credit_init_data
+0x456f mem_cb_receive_spp_data
+0x4571 mem_nl_rx_data_src
+0x4573 mem_nl_rx_len_all
+0x4575 mem_ui_uuid_table
+0x4577 mem_all_uuid_16bits
+0x458d mem_all_uuid_128bits
+0x45af mem_sdp_l2capch_ptr
+0x45b1 mem_sp_local_key_invalid
+0x45b2 mem_le_private_key_256
+0x45d2 mem_le_pubkey_local_x_256
+0x45f2 mem_le_pubkey_local_y_256
+0x4612 mem_sp_private_key
+0x462a mem_sp_pubkey_local
+0x462a mem_sp_pubkey_local_x
+0x4642 mem_sp_pubkey_local_x_end
+0x4642 mem_sp_pubkey_local_y
+0x465a mem_ssp_enable
+0x465b mem_sp_iocap_local
+0x465e mem_sp_iocap_remote
+0x4661 mem_flag_mode_ssp_pin
+0x4662 mem_ssp_mode_flag
+0x4663 mem_authentication_passkey_times
+0x4664 mem_passkey_1bit
+0x4665 mem_flag_pairing_state
+0x4666 mem_ipc_lock_bt
+0x4667 mem_ipc_lock_c51
+0x4668 mem_ipc_fifo_bt2c51
+0x4670 mem_ipc_fifo_c512bt
+0x4678 mem_ui_button_timer
+0x4679 mem_ui_button_last_state
+0x467a mem_ui_timer_last_btclk
+0x467e mem_discovery_timeout_timer_count
+0x4680 mem_hid_handshake_timer_count
+0x4681 memui_reconnect_mode
+0x4682 mem_ui_state_map
+0x4684 mem_ui_profile_supported
+0x4685 mem_ui_button_timeout
+0x4686 mem_ui_button_gpio
+0x4687 mem_discovery_timeout
+0x4689 mem_pin_length
+0x468a mem_pin
+0x469a mem_antl_lpm_interval
+0x469c mem_antl_adv_interval
+0x469e mem_antl_slow_adv_lpm_interval
+0x46a0 mem_antl_slow_adv_adv_interval
+0x46a2 mem_antl_led_style
+0x46a2 mem_antl_led_type
+0x46a3 mem_antl_led_blink_count
+0x46a4 mem_antl_led_gpio
+0x46a5 mem_antl_led_on_time
+0x46a7 mem_antl_led_off_time
+0x46a9 mem_antl_led_cb_on
+0x46ab mem_antl_led_cb_off
+0x46ad mem_antl_buzzer_style
+0x46ad mem_antl_buzzer_type
+0x46ae mem_antl_buzzer_blink_count
+0x46af mem_antl_buzzer_gpio
+0x46b0 mem_antl_buzzer_on_time
+0x46b2 mem_antl_buzzer_off_time
+0x46b4 mem_antl_buzzer_cb_on
+0x46b6 mem_antl_buzzer_cb_off
+0x46b8 mem_antl_fast_adv_led_style
+0x46b8 mem_antl_fast_adv_led_type
+0x46b9 mem_antl_fast_adv_led_blink_count
+0x46ba mem_antl_fast_adv_led_gpio
+0x46bb mem_antl_fast_adv_led_on_time
+0x46bd mem_antl_fast_adv_led_off_time
+0x46bf mem_antl_slow_adv_led_style
+0x46bf mem_antl_slow_adv_led_type
+0x46c0 mem_antl_slow_adv_led_blink_count
+0x46c1 mem_antl_slow_adv_led_gpio
+0x46c2 mem_antl_slow_adv_led_on_time
+0x46c4 mem_antl_slow_adv_led_off_time
+0x46c6 mem_antl_power_starting_led_style
+0x46c6 mem_antl_power_starting_led_type
+0x46c7 mem_antl_power_starting_led_blink_count
+0x46c8 mem_antl_power_starting_led_gpio
+0x46c9 mem_antl_power_starting_led_on_time
+0x46cb mem_antl_power_starting_led_off_time
+0x46cd mem_antl_power_starting_buzzer_style
+0x46d4 mem_antl_power_off_led_style
+0x46d4 mem_antl_power_off_led_type
+0x46d5 mem_antl_power_off_led_link_count
+0x46d6 mem_antl_power_off_led_gpio
+0x46d7 mem_antl_power_off_led_on_time
+0x46d9 mem_antl_power_off_led_off_time
+0x46db mem_antl_power_off_buzzer_style
+0x46db mem_antl_power_off_buzzer_type
+0x46dc mem_antl_power_off_buzzer_link_count
+0x46dd mem_antl_power_off_buzzer_gpio
+0x46de mem_antl_power_off_buzzer_on_time
+0x46e0 mem_antl_power_off_buzzer_off_time
+0x46e2 mem_antl_alert_led_stlye
+0x46e9 mem_antl_alert_buzzer_stlye
+0x46e9 mem_antl_alert_buzzer_type
+0x46ea mem_antl_alert_buzzer_blink_count
+0x46eb mem_antl_alert_buzzer_gpio
+0x46ec mem_antl_alert_buzzer_on_time
+0x46ee mem_antl_alert_buzzer_off_time
+0x46f0 mem_antl_key_led_style
+0x46f0 mem_antl_key_led_type
+0x46f1 mem_antl_key_led_blink_count
+0x46f2 mem_antl_key_led_gpio
+0x46f3 mem_antl_key_led_on_time
+0x46f5 mem_antl_key_led_off_time
+0x46f7 mem_antl_key_buzzer_style
+0x46fe mem_antl_queue_width
+0x46ff mem_antl_queue_depth
+0x4700 mem_antl_queue_curr_num
+0x4701 mem_antl_queue_read_ptr
+0x4702 mem_antl_queue_write_ptr
+0x4703 mem_antl_queue_buff
+0x4753 mem_antl_key_scan_enable
+0x4754 mem_antl_led_num
+0x4755 mem_antl_led_gpio_map
+0x4759 mem_antl_power_param
+0x4759 mem_antl_power_state
+0x475a mem_antl_power_timer
+0x475b mem_antl_power_off_timeout
+0x475c mem_antl_power_starting_timeout
+0x475d mem_antl_power_off_cb
+0x475f mem_antl_power_starting_cb
+0x4761 mem_antl_power_standby_cb
+0x4763 mem_event_button_up_cb
+0x4765 mem_antl_key_num
+0x4766 mem_cb_antl_key
+0x4768 mem_antl_key_conf0
+0x476c mem_antl_key0_press
+0x477b mem_antl_key0_release
+0x478a mem_antl_conn_updata_procedure_state
+0x478b mem_client_characteristic_configuration_descriptor
+0x478d mem_adc_timer
+0x478f mem_antl_conn_update_timer
+0x4790 mem_antl_send_updata_le_param_timer
+0x4791 mem_antl_le_sleep_timer
+0x4793 mem_antl_fast_adv_timer
+0x4795 mem_antl_fast_adv_timeout
+0x4797 mem_antl_le_sleep_timeout
+0x4799 mem_double_click_timer
+0x479a mem_butten_click_cnt
+0x479b mem_antl_led_state
+0x479c mem_antl_buzzer_state
+0x479d mem_antl_key_state
+0x479e mem_antl_lost_mode
+0x479f mem_alarm_config
+0x47a0 mem_alarm_config_notfy_cnt
+0x47a1 mem_buzzer_pwm_conf
+0x47a7 mem_adc_timeout
+0x47a9 mem_voltage_remain_percent
+0x47aa mem_battery_calculate_set
+0x47aa mem_battery_full_voltage
+0x47ac mem_battery_empty_voltage
+0x47ae mem_battery_low_voltage
+0x47b0 mem_battery_current_voltage
+0x47b2 mem_rx_window_sniff_inc
+0x47b4 mem_interval_increment
+0x47b6 mem_antl_le_interval_min
+0x47b8 mem_antl_le_interval_max
+0x47ba mem_antl_le_latency
+0x47bc mem_antl_le_timeout
+0x47be mem_antl_le_unnormal_interval_min
+0x47c0 mem_antl_le_unnormal_interval_max
+0x47c2 mem_antl_le_unnormal_latency
+0x47c4 mem_antl_le_unnormal_timeout
+0x47c6 mem_AntiLost_le_att_list
+0x469a mem_car_hard_soft_switch
+0x469b mem_car_queue_each_size
+0x469c mem_car__queue_length
+0x469d mem_car_queue_curr_num
+0x469e mem_car_queue_read_ptr
+0x469f mem_car_queue_write_ptr
+0x46a0 mem_car_queue_ele
+0x4718 mem_car_pop_queue_buff
+0x472c mem_car_led_num
+0x472d mem_car_led_map
+0x4737 mem_car_style1_led_type
+0x4738 mem_car_style1_blink_count
+0x4739 mem_car_style1_struct_led_gpio
+0x473a mem_car_style1_on_time
+0x473c mem_car_style1_off_time
+0x473e mem_car_style1_cb_ledon
+0x4740 mem_car_style1_cb_ledoff
+0x4742 mem_car_style2_led_type
+0x4743 mem_car_style2_blink_count
+0x4744 mem_car_style2_struct_led_gpio
+0x4745 mem_car_style2_on_time
+0x4747 mem_car_style2_off_time
+0x4749 mem_car_style2_cb_ledon
+0x474b mem_car_style2_cb_ledoff
+0x474d mem_le_receive_data
+0x474d mem_le_receive_packet_head
+0x474f mem_le_receive_cmd
+0x4750 mem_le_receive_length
+0x4752 mem_le_receive_payload
+0x475c mem_le_receive_checksum
+0x475d mem_motor1_status
+0x475e mem_motor1_speed
+0x475f mem_motor2_status
+0x4760 mem_motor2_speed
+0x4761 mem_motor3_status
+0x4762 mem_motor3_speed
+0x4763 mem_motor1_pwm_set
+0x4763 mem_motor1_pwm_pin1_set
+0x4764 mem_motor1_pwm_pin2_set
+0x4765 mem_motor1_pwm_pin_set
+0x4766 mem_motor1_pwm_channel_set
+0x4767 mem_motor1_pwm_freq_set
+0x476a mem_motor1_pwm_dute_set
+0x476b mem_motor2_pwm_set
+0x476b mem_motor2_pwm_pin1_set
+0x476c mem_motor2_pwm_pin2_set
+0x476d mem_motor2_pwm_pin_set
+0x476e mem_motor2_pwm_channel_set
+0x476f mem_motor2_pwm_freq_set
+0x4772 mem_motor2_pwm_dute_set
+0x4773 mem_motor3_pwm_set
+0x4773 mem_motor3_pwm_pin1_set
+0x4774 mem_motor3_pwm_pin2_set
+0x4775 mem_motor3_pwm_pin_set
+0x4776 mem_motor3_pwm_channel_set
+0x4777 mem_motor3_pwm_freq_set
+0x477a mem_motor3_pwm_dute_set
+0x477b mem_motor_select_p_n
+0x477c mem_car_motor_status
+0x477d mem_car_motor_speed
+0x477e mem_motor_pwm_set
+0x477e mem_motor_pwm_pin1_set
+0x477f mem_motor_pwm_pin2_set
+0x4780 mem_motor_pwm_pin_set
+0x4781 mem_motor_pwm_channel_set
+0x4782 mem_motor_pwm_freq_set
+0x4785 mem_motor_pwm_dute_set
+0x4786 mem_ir_rx_gpio
+0x4787 mem_ir_data
+0x4789 mem_ir_rx_buf
+0x478b mem_ir_receive_clkn
+0x478f mem_ir_notify_data
+0x4792 mem_ir_notify_data_head
+0x4797 mem_ir_notify_data_payload
+0x4799 mem_ir_notify_data_check_sum
+0x479a mem_car_ir_breakdown_check_timer
+0x479b mem_car_ir_breakdown_flag
+0x479c mem_car_led_control
+0x479c mem_car_led1_status
+0x479d mem_car_led2_status
+0x479e mem_car_led3_status
+0x479f mem_car_led4_status
+0x47a0 mem_car_led5_status
+0x47a1 mem_car_led6_status
+0x47a2 mem_car_led7_status
+0x47a3 mem_car_led8_status
+0x47a4 mem_car_led_control_timer
+0x47a5 mem_car_led_blink_status
+0x47a6 mem_car_led_no
+0x47a7 mem_car_info_request
+0x47aa mem_car_info_request_head
+0x47af mem_car_info_request_payload
+0x47b7 mem_car_info_request_checksum
+0x47b8 mem_car_config_param
+0x47b8 mem_car_config_setting_flag
+0x47b9 mem_car_config_device_select
+0x47ba mem_car_config_motor_layout
+0x47bb mem_car_config_ir_enable
+0x47bc mem_car_config_ir_rx_gpio
+0x47bd mem_car_config_pairing_led_conn_status
+0x47be mem_car_config_pairing_led_gpio
+0x47bf mem_car_config_led_num
+0x47c0 mem_car_config_blood_led_gpio
+0x47c0 mem_car_config_blood_led1_gpio
+0x47c1 mem_car_config_blood_led2_gpio
+0x47c2 mem_car_config_blood_led3_gpio
+0x47c3 mem_car_config_blood_led4_gpio
+0x47c4 mem_car_config_blood_led5_gpio
+0x47c5 mem_car_config_blood_led6_gpio
+0x47c6 mem_car_config_blood_led7_gpio
+0x47c7 mem_car_config_blood_led8_gpio
+0x47c8 mem_car_config_bat_notify_enable
+0x47c9 mem_car_config_low_voltage_led_gpio
+0x47ca mem_car_config_low_voltage_percent
+0x47cb mem_car_config_soft_switch_enable
+0x47cc mem_car_config_soft_switch_gpio
+0x47cd mem_car_notify_vdd_count
+0x47ce mem_car_notify_vdd_timer
+0x47cf mem_car_notify_vdd_value_last
+0x47d0 mem_car_notify_vdd_percent
+0x47d1 mem_car_working_flag
+0x47d2 mem_low_bat_flag
+0x47d3 mem_notify_bat_packet
+0x47d6 mem_notify_bat_head
+0x47db mem_notify_bat_payload
+0x47dc mem_notify_bat_check_sum
+0x47dd mem_vdd_notify_flag
+0x47de mem_car_current_vdd_value_temp
+0x47e0 mem_car_last_vdd_value
+0x47e2 mem_vdd_calculate_set
+0x47e2 mem_vdd_full_vol
+0x47e4 mem_vdd_empty_vol
+0x47e6 mem_vdd_low_vol
+0x47e8 mem_vdd_now_vol
+0x47ea mem_car_24g_status
+0x47eb mem_car_24g_no_data_timeout_count
+0x47ed mem_car_24g_no_data_timeout_timer
+0x47ef mem_car_24g_ir_receive_attack_count
+0x47f0 mem_car_24g_go_die_flag
+0x47f1 mem_car_attack_shake_timer
+0x47f2 mem_car_attack_shake_flag
+0x47f3 mem_car_soft_power
+0x47f3 mem_car_power_state
+0x47f4 mem_car_power_timer
+0x47f5 mem_car_power_off_timeout
+0x47f6 mem_car_power_starting_timeout
+0x47f7 mem_car_power_off_cb
+0x47f9 mem_car_power_starting_cb
+0x47fb mem_car_power_standby_cb
+0x47fd mem_car_ui_button_up_cb
+0x47ff mem_car_le_att_list
+0x49f3 mem_car_moto1_blank_timer
+0x49f4 mem_car_moto2_blank_timer
+0x49f5 mem_car_moto3_blank_timer
+0x49f6 mem_car_24g_received_pac
+0x49f7 mem_24g_car_head_ptr
+0x469a mem_light_pwm0
+0x469b mem_light_pwm1
+0x469c mem_light_pwm2
+0x469d mem_light_pwm3
+0x469e mem_light_pwm4
+0x469f mem_light_pwm5
+0x46a0 mem_light_pairing_enable
+0x46a1 mem_light_pairing_timer
+0x46a3 mem_light_cnum
+0x46a4 mem_light_next_record
+0x46a5 mem_light_clist
+0x46f5 mem_light_crr_cmd_count
+0x46f6 mem_curr_packet_num
+0x469a mem_lightc_led_gpio
+0x469b mem_lightc_row
+0x46a1 mem_lightc_col
+0x46a7 mem_adv_time
+0x46a8 mem_cmd0_string
+0x46bc mem_cmd1_string
+0x46d0 mem_cmd2_string
+0x46e4 mem_cmd3_string
+0x46f8 mem_cmd4_string
+0x470c mem_cmd5_string
+0x4720 mem_cmd6_string
+0x4734 mem_cmd7_string
+0x4748 mem_cmd8_string
+0x475c mem_cmd9_string
+0x4770 mem_cmd10_string
+0x4784 mem_cmd11_string
+0x4798 mem_cmd12_string
+0x47ac mem_cmd13_string
+0x47c0 mem_cmd14_string
+0x47d4 mem_cmd15_string
+0x47e8 mem_cmd16_string
+0x47fc mem_cmd17_string
+0x4810 mem_cmd18_string
+0x4824 mem_cmd19_string
+0x4838 mem_cmd20_string
+0x469a mem_soft_version_num
+0x469c mem_module_wake_up_gpio
+0x469d mem_module_state_gpio
+0x469e mem_module_connect_state_gpio
+0x469f mem_current_packet_length
+0x46a1 mem_module_state
+0x46a2 mem_module_mcu_wake_pin
+0x46a3 mem_module_mcu_wake_delay_us
+0x46a7 mem_module_spp_lpm_mult
+0x46a8 mem_module_le_lpm_mult
+0x46a9 mem_module_bluetooth_stauts_by_command
+0x46aa mem_module_uart_rx_buffer
+0x46ac mem_module_uart_rx_buffer_end
+0x46ae mem_module_uart_tx_buffer
+0x46b0 mem_module_uart_tx_buffer_end
+0x46b2 mem_module_read_vdd_flag
+0x46b3 mem_module_read_vdd_count
+0x46b4 mem_module_vdd_quotient
+0x46b5 mem_module_vdd_remainder
+0x46b6 mem_module_le_rx_data_len
+0x46b7 mem_module_le_rx_data_address
+0x46b9 mem_module_le_rx_data_handle
+0x46bb mem_module_data_write_handle
+0x46bd mem_module_data_write_handle2
+0x46bf mem_module_flag
+0x46c0 mem_module_hci_notify_len
+0x46c1 mem_module_hci_notify_handle
+0x46c3 mem_module_hci_nofiy_addr
+0x46c5 mem_last_transmite_clock
+0x46c9 mem_module_uuid_list
+0x47f5 mem_module_uuid_list_end
+0x47f5 mem_module_le_att_list
+0x4a4d mem_module_le_att_list_end
+0x4a4d mem_module_nv_data
+0x4a4d mem_module_nv_data0
+0x4a6f mem_module_nv_data1
+0x4a91 mem_module_nv_data2
+0x4ab3 mem_module_nv_data3
+0x4ad5 mem_module_nv_data4
+0x469a mem_remote_car_hard_soft_switch
+0x469b mem_remote_car_queue_each_size
+0x469c mem_remote_car_queue_length
+0x469d mem_remote_car_queue_curr_num
+0x469e mem_remote_car_queue_read_ptr
+0x469f mem_remote_car_queue_write_ptr
+0x46a0 mem_remote_car_queue_ele
+0x46fa mem_remote_style_led_type
+0x46fb mem_remote_style_blink_count
+0x46fc mem_remote_style_struct_led_gpio
+0x46fd mem_remote_style_on_time
+0x46ff mem_remote_style_off_time
+0x4701 mem_remote_style_cb_ledon
+0x4703 mem_remote_style_cb_ledoff
+0x4705 mem_remote_car_led_num
+0x4706 mem_remote_car_led_map
+0x470e mem_remote_car_keyscan
+0x470e mem_remote_car_key_num
+0x470f mem_cb_remote_car_keyscan
+0x4711 mem_remote_car_key_conf0
+0x4711 mem_remote_car_key_conf0_pin
+0x4712 mem_remote_car_key_conf1
+0x4712 mem_remote_car_key_conf1_pin
+0x4713 mem_remote_car_key_conf2
+0x4713 mem_remote_car_key_conf2_pin
+0x4714 mem_remote_car_key_conf3
+0x4714 mem_remote_car_key_conf3_pin
+0x4715 mem_remote_car_key_conf4
+0x4715 mem_remote_car_key_conf4_pin
+0x4716 mem_remote_car_key_conf5
+0x4716 mem_remote_car_key_conf5_pin
+0x4717 mem_remote_car_key_conf6
+0x4717 mem_remote_car_key_conf6_pin
+0x4718 mem_rocker_negative_flag
+0x4719 mem_rocker_work_status
+0x471a mem_current_vdd_value_default_mid_x
+0x471c mem_current_vdd_value_default_mid_y
+0x471e mem_current_vdd_value_default_mid_temp
+0x4720 mem_current_vdd_default_range
+0x4722 mem_rocker_last_status
+0x4724 mem_rocker_status
+0x4724 mem_rocker_x_status
+0x4725 mem_rocker_y_status
+0x4726 mem_remote_car_config_param
+0x4726 mem_remote_car_config_setting_flag
+0x4727 mem_remote_car_config_key_map
+0x4728 mem_remote_car_config_layout
+0x4729 mem_remote_car_config_connect_led_gpio
+0x472a mem_remote_car_config_check_way
+0x472b mem_remote_car_config_soft_switch_enable
+0x472c mem_remote_car_config_soft_switch_gpio
+0x472d mem_remote_car_config_timeout_shutdown_enable
+0x472e mem_remote_car_24g_motor_packet
+0x472e mem_remote_car_24g_motor_packet_lenght
+0x472f mem_remote_car_24g_motor_send_packet_head
+0x4731 mem_remote_car_24g_motor_send_cmd
+0x4732 mem_remote_car_24g_motor_send_length
+0x4734 mem_remote_car_24g_motor_send_payload
+0x4734 mem_remote_car_24g_motor1_payload
+0x4736 mem_remote_car_24g_motor2_payload
+0x4738 mem_remote_car_24g_motor3_payload
+0x473a mem_remote_car_24g_motor_send_checksum
+0x473b mem_remote_car_24g_fire_packet
+0x473b mem_remote_car_24g_fire_packet_lenght
+0x473c mem_remote_car_24g_fire_send_packet_head
+0x473e mem_remote_car_24g_fire_send_cmd
+0x473f mem_remote_car_24g_fire_send_length
+0x4741 mem_remote_car_24g_fire_send_payload
+0x4743 mem_remote_car_24g_fire_send_checksum
+0x4744 mem_remote_car_24g_tx_temp
+0x4753 mem_remote_car_no_data_timeout
+0x4755 mem_remote_car_no_data_timer
+0x4757 mem_remote_car_soft_power
+0x4757 mem_remote_car_power_state
+0x4758 mem_remote_car_power_timer
+0x4759 mem_remote_car_power_off_timeout
+0x475a mem_remote_car_power_starting_timeout
+0x475b mem_remote_car_power_off_cb
+0x475d mem_remote_car_power_starting_cb
+0x475f mem_remote_car_power_standby_cb
+0x4761 mem_remote_key_status
+0x4762 mem_remote_car_24g_status
+0x4763 mem_remote_car_24g_auto_work_step
+0x4764 mem_remote_car_24g_pair_success_flag
+0x4765 mem_remote_car_24g_enter_lpm_enable
+0x4766 mem_remote_car_empty_packet
+0x4767 mem_24g_RC_head_ptr
+0x469a mem_shutter_bluetooth_type
+0x469b mem_shutter_config_enable
+0x469c mem_shutter_config_otp_base_address
+0x469e mem_shutter_config_size
+0x469f mem_shutter_config_select_gpio1
+0x46a0 mem_shutter_config_select_gpio2
+0x46a1 mem_shutter_config_select_gpio3
+0x46a2 mem_shutter_config_user_otp_address
+0x46a4 mem_shutter_config_eeprom_offset_addr
+0x46a6 mem_shutter_config_eeprom_start_flag
+0x46a8 mem_shutter_config_user_size
+0x46a9 mem_shutter_config_label
+0x46aa mem_shutter_config_otp_addr
+0x46ac mem_classic_shutter_cable_unplug_conut
+0x46ad mem_classic_shutter_hid_disconn_count
+0x46ae mem_classic_shutter_random_mac_offset_addr
+0x46b0 mem_ble_shutter_enable_notify
+0x46b1 mem_ble_shutter_reconn_dav_interval
+0x46b3 mem_ble_shutter_discovery_adv_interval
+0x46b5 mem_ble_shutter_reconn_timeout
+0x46b7 mem_ble_shutter_reconn_timer
+0x46b9 mem_ble_shutter_reconn_blink_on_time
+0x46bb mem_ble_shutter_reconn_blink_off_time
+0x46bd mem_ble_shutter_discovery_blink_on_time
+0x46bf mem_ble_shutter_discovery_blink_off_time
+0x46c1 mem_ble_shutter_interval_min
+0x46c3 mem_ble_shutter_interval_max
+0x46c5 mem_ble_shutter_latency
+0x46c7 mem_ble_shutter_timeout
+0x46c9 mem_ble_shutter_interval_min_new
+0x46cb mem_ble_shutter_interval_max_new
+0x46cd mem_ble_shutter_latency_new
+0x46cf mem_ble_shutter_timeout_new
+0x46d1 mem_classic_shutter_discovery_timeout
+0x46d3 mem_classic_shutter_connect_timeout
+0x46d5 mem_ble_shutter_discovery_timeout
+0x46d7 mem_ble_shutter_connect_timeout
+0x46d9 mem_shutter_sleep_timeout
+0x46db mem_shutter_sleep_timer
+0x46dd mem_shutter_hard_soft_switch_case
+0x46de mem_shutter_soft_switch_button_gpio
+0x46df mem_shutter_soft_switch_power_state
+0x46e0 mem_shutter_soft_switch_poweron_time
+0x46e1 mem_shutter_soft_switch_poweroff_time
+0x46e2 mem_shutter_soft_switch_poweron_callback_function
+0x46e4 mem_shutter_soft_switch_poweroff_callback_function
+0x46e6 mem_shutter_keyscan
+0x46e6 mem_shutter_key_num
+0x46e7 mem_cb_shutter_keycan
+0x46e9 mem_shutter_key_conf0
+0x46ea mem_shutter_key_conf1
+0x46eb mem_shutter_key_conf2
+0x46ec mem_shutter_key_conf3
+0x46ed mem_shutter_key_conf4
+0x46ee mem_shutter_key_conf5
+0x46ef mem_shutter_key_conf6
+0x46f0 mem_shutter_key_conf7
+0x46f1 mem_key0_press
+0x46f6 mem_key1_press
+0x46fb mem_key2_press
+0x4700 mem_key3_press
+0x4705 mem_key4_press
+0x470a mem_key5_press
+0x470f mem_key6_press
+0x4714 mem_key7_press
+0x4719 mem_key0_release
+0x471e mem_key1_release
+0x4723 mem_key2_release
+0x4728 mem_key3_release
+0x472d mem_key4_release
+0x4732 mem_key5_release
+0x4737 mem_key6_release
+0x473c mem_key7_release
+0x4741 mem_ble_data_buffer1
+0x4746 mem_ble_data_buffer2
+0x474b mem_ble_data_buffer3
+0x4750 mem_ble_data_buffer4
+0x4755 mem_ble_data_buffer5
+0x475a mem_ble_data_buffer6
+0x475f mem_ble_data_buffer7
+0x4764 mem_ble_data_buffer8
+0x4769 mem_ble_data_buffer9_58
+0x479b mem_classic_data_buffer
+0x47a0 mem_classic_data_buffer1
+0x47a5 mem_classic_data_buffer2
+0x47aa mem_classic_data_buffer3
+0x47af mem_classic_data_buffer4
+0x47b4 mem_classic_data_buffer5
+0x47b9 mem_classic_data_buffer6
+0x47be mem_classic_data_buffer7
+0x47c3 mem_classic_data_buffer8
+0x47c8 mem_classic_data_buffer9_58
+0x47fa mem_queue_each_size
+0x47fb mem_queue_length
+0x47fc mem_queue_curr_num
+0x47fd mem_queue_read_ptr
+0x47fe mem_queue_write_ptr
+0x47ff mem_queue_ele
+0x481f mem_shutter_nv_data
+0x48c9 mem_shutter_led_struct_app_led
+0x48c9 mem_shutter_led_struct_app_led_type
+0x48ca mem_shutter_led_struct_app_led_blink_count
+0x48cb mem_shutter_led_struct_app_led_gpio
+0x48cc mem_shutter_led_struct_app_led_on_time
+0x48ce mem_shutter_led_struct_app_led_off_time
+0x48d0 mem_shutter_led_struct_app_led_on_callback
+0x48d2 mem_shutter_led_struct_app_led_off_callback
+0x48d4 mem_shutter_power_off_led_style
+0x48d4 mem_shutter_power_off_led_style_type
+0x48d5 mem_shutter_power_off_led_style_blink_count
+0x48d6 mem_shutter_power_off_led_style_gpio
+0x48d7 mem_shutter_power_off_led_style_on_time
+0x48d9 mem_shutter_power_off_led_style_off_time
+0x48db mem_shutter_power_off_led_style_on_callback
+0x48dd mem_shutter_power_off_led_style_off_callback
+0x48df mem_shutter_soft_swtich_botton_down
+0x48e0 mem_shutter_soft_swtich_led_struct_temp
+0x48eb mem_shutter_power_off_timeout
+0x48ec mem_shutter_power_off_timer
+0x469a mem_mouse_key
+0x469b mem_mouse_x
+0x469d mem_mouse_y
+0x469f mem_mouse_z
+0x46a0 mem_mouse_tz
+0x46a1 mem_mouse_xy_h
+0x46a2 mem_sensor_shutter_hi
+0x46a3 mem_sensor_shutter_lo
+0x46a4 mem_sensor_smart_flag
+0x46a5 mem_sensor_squal_reg
+0x46a6 mem_sensor_iqc
+0x46a7 mem_mouse_move_flag
+0x46a8 mem_mouse_direct_timeout
+0x46aa mem_mouse_no_data_timeout
+0x46ac mem_mouse_discovery_timer
+0x46ae mem_mouse_direct_timer
+0x46b0 mem_mouse_no_data_timer
+0x46b2 mem_mouse_blank_data_timer
+0x46b4 mem_mouse_send_blank_timer
+0x46b5 mem_mouse_cpi_count
+0x46b6 mem_mouse_dpi_button_state
+0x46b7 mem_wheel_tb_old_pinlevel
+0x46b8 mem_wheel_tb_new_pinlevel
+0x46b9 mem_wheel_tog
+0x46ba mem_mouse_tz_data
+0x46bb mem_mouse_tz_data_count
+0x46bc mem_mouse_tz_data_count1
+0x46bd mem_mwheel_b_old_pinlevel
+0x46be mem_mwheel_b_new_pinlevel
+0x46bf mem_mwheel_tog
+0x46c0 mem_mouse_z_data
+0x46c1 mem_mouse_z_data_count
+0x46c2 mem_mouse_z_data_count1
+0x46c3 mem_reconn_mode
+0x46c4 mem_mouse_statue_led_timer
+0x46c5 mem_le_connect_status_flag
+0x46c6 mem_le_start_encrypt_timer
+0x46c7 mem_device_addr_temp
+0x46ce mem_adc_read_timer
+0x46cf mem_adc_low_volatage_led_timer_count
+0x46d0 mem_adc_reference_voltage
+0x46d2 mem_device_number
+0x46d3 mem_mouse_flag
+0x46d5 mem_mouse_function_enable
+0x46d7 mem_combination_select_device_timer_init
+0x46d8 mem_combination_select_device_count
+0x46d9 mem_select_device_button_statue
+0x46da mem_combination_ui_button_count
+0x46db mem_bt_discovey_button_statue
+0x46dc mem_sensor_reset_gpio
+0x46dd mem_sensor_id1
+0x46de mem_sensor_id2
+0x46df mem_mouse_dpi_led_delay_count
+0x46e0 mem_config_sensor_type
+0x46e1 mem_config_sensor_motion
+0x46e2 mem_lbutton_gpio
+0x46e3 mem_rbutton_gpio
+0x46e4 mem_mbutton_gpio
+0x46e5 mem_bk_button_gpio
+0x46e6 mem_fw_button_gpio
+0x46e7 mem_dpi_button_gpio
+0x46e8 mem_whee_a_data_gpio
+0x46e9 mem_whee_b_data_gpio
+0x46ea mem_whee_ta_data_gpio
+0x46eb mem_whee_tb_data_gpio
+0x46ec mem_config_bt_button_gpio
+0x46ed mem_config_select_device_button_gpio
+0x46ee mem_config_paraing_led_gpio
+0x46ef mem_config_low_voltage_alarm_gpio
+0x46f0 mem_config_device1_led_gpio
+0x46f1 mem_config_device2_led_gpio
+0x46f2 mem_config_device3_led_gpio
+0x46f3 mem_sensor_data_gpio
+0x46f4 mem_dpi_led_gpio
+0x46f5 mem_config_function_enable
+0x46f6 mem_config_sensor_angle
+0x46f7 mem_select_sensor_angle_gpio
+0x46f8 mem_select_adc_gpio
+0x46f9 mem_config_end
+0x46f9 mem_btclk_sensor
+0x46fd mem_wire_usb_interval
+0x46fe mem_mouse_mode_flag
+0x46ff mem_usb_addr
+0x4700 mem_flash_base
+0x4703 mem_24g_device_number
+0x4704 mem_24g_enter_lpm_timer
+0x4705 mem_mouse_1step_up_count
+0x4706 mem_mouse_2step_up_count
+0x4707 mem_24g_pairing_timer_count
+0x4709 mem_mouse_vdd_calculate_set
+0x4709 mem_mouse_vdd_full_vol
+0x470b mem_mouse_vdd_empty_vol
+0x470d mem_mouse_vdd_low_vol
+0x470f mem_mouse_vdd_now_vol
+0x4711 mem_mouse_sensor_timer_count
+0x4712 mem_sensor_led_style
+0x4713 mem_mouse_led_type
+0x4714 mem_mouse_blink_count
+0x4715 mem_mouse_struct_led_gpio
+0x4716 mem_mouse_on_time
+0x4718 mem_mouse_off_time
+0x471a mem_mouse_cb_ledon
+0x471c mem_mouse_cb_ledoff
+0x471e mem_reconn_times
+0x471f mem_reconn_times_init
+0x4720 mem_mouse_information_start
+0x4720 mem_device_flag
+0x4721 mem_device1_type
+0x4722 mem_device1_addr
+0x4728 mem_device1_link_key
+0x4738 mem_device1_locall_addr
+0x473e mem_device2_type
+0x473f mem_device2_addr
+0x4745 mem_device2_link_key
+0x4755 mem_device2_locall_addr
+0x475b mem_device3_type
+0x475c mem_device3_addr
+0x4762 mem_device3_link_key
+0x4772 mem_device3_locall_addr
+0x4778 mem_store_flag
+0x477a mem_mouse_dpi
+0x477b mem_mouse_24g_addr
+0x477f mem_mouse_information_end
+0x477f mem_mouse_dpi_seting
+0x477f mem_320x_dpi_1
+0x4780 mem_320x_dpi_2
+0x4781 mem_320x_dpi_3
+0x4782 mem_320x_dpi_4
+0x4783 mem_3212_dpi_1
+0x4784 mem_3212_dpi_2
+0x4785 mem_3212_dpi_3
+0x4786 mem_3212_dpi_4
+0x4787 mem_3610_dpi_1
+0x4788 mem_3610_dpi_2
+0x4789 mem_3610_dpi_3
+0x478a mem_3610_dpi_4
+0x478b mem_mouse_24g_enter_lpm_enable
+0x478c mem_le_rx_window_inc
+0x478e mem_empty_count
+0x478f mem_rf_init_data_new
+0x479c mem_mouse_clear_sensor_data_flag
+0x479d mem_mouse_null_enter_hibernate_flag
+0x479e mem_mouse_null_enter_hibernate_timer
+0x479f mem_mouse_le_reconnect_flag
+0x47a0 mem_mouse_data_queue
+0x47c1 mem_mouse_data_queue_num
+0x47c2 mem_random_addr_increase_count
+0x47c4 mem_mouse_le_conn_param_reject
+0x47c5 mem_lpm_mult_init
+0x47c6 mem_mouse_le_uuid_sup
+0x4806 mem_mouse_wheel_trigger
+0x4807 mem_mouse_wheel_trigger_timer
+0x4808 mem_mouse_enter_sniff_count
+0x4809 mem_mouse_send_switch_req_timer
+0x480a mem_le_tx_buffer0_omemalloc
+0x4825 mem_le_tx_buffer1_omemalloc
+0x4840 mem_le_tx_buffer2_omemalloc
+0x485b mem_le_tx_buffer3_omemalloc
+0x4876 mem_mouse_uuid_list
+0x4afc mem_lmi_opcode_temp
+0x4afd mem_mouse_button_select_device_timer_init
+0x4afe mem_mouse_button_select_device_count
+0x4aff mem_mouse_multi_led_blink_enable
+0x4b00 mem_mouse_multi_led_gpio
+0x4b01 mem_mouse_multi_led_state
+0x4b02 mem_mouse_multi_led_type
+0x4b03 mem_mouse_multi_led_on_timer_init
+0x4b04 mem_mouse_multi_led_blink_timer_init
+0x4b05 mem_mouse_multi_led_blink_timer
+0x4b06 mem_mouse_multi_led_blink_count
+0x4b07 mem_mouse_multi_led_on_timer
+0x4b08 mem_mouse_multi_led_blink_count_limited
+0x4b09 mem_mouse_multi_led_on_poweron2s_flag
+0x4b0a mem_mouse_long_button_select_device
+0x4b0b mem_mouse_adc_last_low_voltage_flag
+0x4b0c mem_mouse_init_sensor_reset_flag
+0x4b0d mem_bt_rcvd_switch_req_accept
+0x4b0e mem_bt_send_max_slot_req_accept_after_switch
+0x4b0f mem_bt_send_lmp_setup_complete
+0x4b10 mem_l2cap_rcv
+0x4b11 mem_mouse_bt_boot_mode
+0x4b12 mem_mouse_bt_boot_data
+0x4b17 mem_mouse_bt_send_first_package_timer
+0x4b18 mem_mouse_bt_send_first_package_flag
+0x4b19 mem_mouse_asm_flag
+0x4b1a mem_mouse_x_pre
+0x4b1c mem_mouse_y_pre
+0x4b1e mem_mouse_fast_conn_flag
+0x4b1f mem_le_adv_swift_pair
+0x4b32 mem_le_att_pnp_id_len
+0x4b33 mem_le_att_pnp_id
+0x4b3a mem_mouse_long_mult_flag
+0x4b3b mem_mouse_le_current_mult_timer
+0x4b3c mem_24g_long_sleep_param_update_timer
+0x4b3d mem_mouse_select_device_button_wakeup_flag
+0x4b3e mem_mouse_state_led_blink_flag
+0x4b3f mem_mouse_send_secutiry_request_timer
+0x4b40 mem_le_send_security_request_flag
+0x4b41 mem_mouse_le_bb_connected_flag
+0x4b42 mem_g24_stop_g24_mode
+0x4b43 mem_g24_stop_g24_mode_timeout
+0x4b45 mem_24g_pair_current_ch_num
+0x4b46 mem_24g_powerful_current_ch_num
+0x4b47 mem_24g_combination_ui_button_count
+0x4b48 mem_le_lap_high_3B
+0x4b4b mem_24g_led_gpio
+0x4b4c mem_lvd_led_gpio
+0x4b4d mem_24g_rxbuf
+0x4b6f mem_24g_txbuf
+0x4b8f mem_24g_txpayload
+0x4bb1 mem_24g_rxpayload
+0x4bd1 mem_24g_rxdata_length
+0x4bd2 mem_24g_pid
+0x4bd3 mem_24g_datalen
+0x4bd4 mem_24g_data_type
+0x4bd5 mem_24g_txlen
+0x4bd6 mem_24g_rx_window
+0x4bd8 mem_24g_ensure
+0x4bd9 mem_24g_txfail_cnt
+0x4bdb mem_24g_get_ack_fail
+0x4bdc mem_24g_retry
+0x4bdd mem_24g_ch
+0x4bde mem_24g_current_ch_number
+0x4bdf mem_24g_paring_addr
+0x4be3 mem_24g_pairing_sm
+0x4be4 mem_24g_ch_map1
+0x4be8 mem_24g_ch_map2
+0x4bec mem_24g_ch_map3
+0x4bf0 mem_24g_ch_map4
+0x4bf4 mem_24g_tx_btclk
+0x4bf8 mem_24g_interval
+0x4bf9 mem_24g_interval_min
+0x4bfa mem_24g_interval_max
+0x4bfb mem_24g_addr
+0x4bff mem_24g_abort_pac
+0x4c00 mem_24g_check_dongle_times
+0x4c02 mem_24g_enter_hibernate
+0x4c0a mem_24g_device_addr
+0x4c0e mem_24g_pac_index
+0x4c0f mem_24g_no_ack
+0x4c10 mem_24g_sta_crc
+0x4c13 mem_24g_last_crc
+0x4c16 mem_24g_sta_pid
+0x4c17 mem_24g_last_pid
+0x4c18 mem_24g_max_retry
+0x4c19 mem_24g_mode
+0x4c1a mem_24g_rxdata_temp
+0x4c3c mem_24g_rx_addr
+0x4c40 mem_dongle_mode_init
+0x4c41 mem_dongle_work_mode
+0x4c42 mem_dongle_ms_bind_step
+0x4c43 mem_dongle_kb_bind_step
+0x4c44 mem_dongle_bind_device_status
+0x4c45 mem_24g_bind_payload
+0x4c4d mem_24g_abort_packet
+0x4c4e mem_24g_rf_laststa
+0x4c4f mem_24g_hop_btclk
+0x4c53 mem_24g_hop_interval
+0x4c54 mem_24g_mode_switch
+0x4c55 mem_24g_ackpayload_enable
+0x4c56 mem_24g_hop_packet
+0x4c57 mem_24g_pair_mode
+0x4c58 mem_24g_nodata_timer_enable
+0x4c59 mem_24g_time_slice
+0x4c5a mem_24g_kb_data_sta_data
+0x4c62 mem_24g_kb_data_last_data
+0x4c6a mem_24g_kb_multikey_sta_data
+0x4c6d mem_24g_kb_multikey_last_data
+0x4c70 mem_24g_kb_blank_data_enable
+0x4c71 mem_24g_kb_mul_blank_data_enable
+0x4c72 mem_24g_ms_blank_data_enable
+0x4c73 mem_24g_kb_addr
+0x4c77 mem_24g_ms_addr
+0x4c7b mem_24g_dg_last_ch
+0x4c7c mem_24g_dg_ch_number
+0x4c7d mem_24g_dg_config_ch_once
+0x4c7e mem_24g_kb_last_ch
+0x4c7f mem_24g_kb_ch_number
+0x4c80 mem_24g_kb_config_ch_once
+0x4c81 mem_24g_ms_last_ch
+0x4c82 mem_24g_ms_ch_number
+0x4c83 mem_24g_ms_config_ch_once
+0x4c84 mem_24g_syncword
+0x4c86 mem_24g_syncword_crc8
+0x4c87 mem_24g_get_syncword_crc8
+0x4c88 mem_24g_ota_sta_pid
+0x4c8a mem_tx_power_temp
+0x4c8b mem_rssi_hex
+0x4c8c mem_rssi_noise_avg
+0x4c8d mem_rssi_noise_index
+0x4c8e mem_rssi_signal_index
+0x4c8f mem_rssi_noise_dg_avg
+0x4c90 mem_rssi_noise_kb_avg
+0x4c91 mem_rssi_noise_ms_avg
+0x4c92 mem_rssi_noise_dg_index
+0x4c93 mem_rssi_noise_kb_index
+0x4c94 mem_rssi_noise_ms_index
+0x4c95 mem_rssi_signal_buf
+0x4c9d mem_queue_ele_num
+0x4c9e mem_queue_read
+0x4ca0 mem_queue_write
+0x4ca2 mem_queue_start
+0x4ca2 mem_data_ele0
+0x4cc2 mem_data_ele1
+0x4ce2 mem_data_ele2
+0x4d02 mem_queue_end
+0x4d02 mem_queue_temp
+0x4d04 mem_cb_24g_data
+0x4d06 mem_24g_hop_fastly_cnt
+0x4d07 mem_24g_hop_pac_retry
+0x4d08 mem_24g_rf_hop_ch
+0x4d09 mem_24g_rf_last_sta
+0x4d0a mem_24g_rf_work_stage
+0x4d0b mem_24g_sync_cnt
+0x4d0c mem_power_ctrl_pac_succ_cnt
+0x4d0d mem_rssi_avg_received
+0x4d0e mem_rssi_hex_received
+0x4d0f mem_power_ctrl_level
+0x4d10 mem_seqi
+0x4d11 mem_24g_auto_paring_switch
+0x4d12 mem_24g_paccnt
+0x4d13 mem_24g_transmit_by_interrupt
+0x4d14 mem_24g_transmit_by_interrupt_exit_count
+0x4d15 mem_g24_conn_sm
+
+	width = 32
+	const length = 12000
+
+	/* ========= memory ============== */
+0x0000 mem_le_adv_transmit
+0x0001 mem_le_adv_waitcnt
+0x0002 mem_le_adv_rcv
+0x0003 mem_le_req_rcv
+0x0004 mem_le_scanrsp_rcv
+0x0005 mem_le_conn_rcv
+0x0006 mem_inquiryscan_waitcnt
+0x0007 mem_inquiryscan_rcvcnt
+0x0008 mem_pagescan_waitcnt
+0x0009 mem_pagescan_rcvcnt
+0x000a mem_pagescan_rcvfhscnt
+0x000b mem_slave_rcvcnt
+0x000c mem_page_transmit
+0x000d mem_page_rcv
+0x000e mem_page_rcv_fhs
+0x000f mem_master_rcvcnt
+0x0010 mem_fhs_wait_counter
+0x0011 mem_newconnto_counter
+0x0012 mem_inquiry_transmit
+0x0013 mem_inquiry_rcv
+0x0014 mem_fw_ver
+0x0015 mem_current_context
+0x0016 mem_le_ch_mapped
+0x0017 mem_last_freq
+0x0018 mem_rssi
+0x0019 mem_rx_type
+0x001a mem_rx_hec_err
+0x001c mem_rx_crc_err
+0x001e mem_context_ptr
+0x0020 mem_display
+0x0028 mem_bcd
+0x0030 mem_state
+0x0031 mem_mode
+0x0032 mem_tsniff
+0x0034 mem_sniff_anchor
+0x0038 mem_clk_offset
+0x003e mem_rx_window
+0x0040 mem_plap
+0x0043 mem_puap
+0x0044 mem_pnap
+0x0046 mem_conn_handle
+0x0047 mem_arq
+0x0048 mem_lmp_to_send
+0x0049 mem_lmi_opcode
+0x004a mem_lmo_reason
+0x004b mem_op
+0x004c mem_state_map
+0x004d mem_supervision_timer
+0x0051 mem_supervision_to
+0x0053 mem_name_offset
+0x0054 mem_key_size
+0x0055 mem_conn_sm
+0x0056 mem_aco
+0x0062 mem_kc
+0x0072 mem_conn_timer
+0x0073 mem_sniff_attempt
+0x0074 mem_sniff_timeout
+0x0075 mem_dsniff
+0x0077 mem_amaddr
+0x0078 mem_lmo_opcode1
+0x0079 mem_lmi_opcode1
+0x007a mem_lmo_reason1
+0x007b mem_lmo_tid1
+0x007c mem_lmo_opcode2
+0x007d mem_lmi_opcode2
+0x007e mem_lmo_reason2
+0x007f mem_lmo_tid2
+0x0080 mem_hci_version
+0x0083 mem_acl_pktlen
+0x0085 mem_sco_pktlen
+0x0086 mem_acl_pktcnt
+0x0088 mem_sco_pktcnt
+0x008a mem_current_sniff_attempt
+0x008b mem_current_sniff_timeout
+0x008c mem_sniff_timeout_temp
+0x008d mem_nfreq_index_inq
+0x008e mem_nfreq_index_page
+0x008f mem_ninqy_index
+0x0090 mem_fhs_misc
+0x0091 mem_subsniff_instant
+0x0095 mem_subsniff_rate
+0x0096 mem_subsniff_tcmax
+0x0098 mem_subsniff_tsniff
+0x0099 mem_lpm_adjust
+0x009a mem_sync_clke
+0x00a0 mem_lpm_current_mult
+0x00a1 mem_gpio_wakeup_low
+0x00a5 mem_gpio_wakeup_high
+0x00a9 mem_air_mode
+0x00aa mem_sco_asso_handle
+0x00ab mem_sco_handle
+0x00ad mem_esco_desco
+0x00ae mem_esco_type
+0x00af mem_neogotiation_state
+0x00b0 mem_saved_amaddr
+0x00b1 mem_esco_arq
+0x00b2 mem_esco_saved_arq
+0x00b3 mem_sco_obuf
+0x00d1 mem_sco_ibuf
+0x00ef mem_sco_poll
+0x00f0 mem_npage_index
+0x00f1 mem_page_mode
+0x00f2 mem_page_clk
+0x00f6 mem_tst_pktcnt_sync
+0x00f8 mem_tst_pktcnt_hec
+0x00fa mem_tst_pktcnt_crc
+0x00fc mem_tst_pktcnt_dmh
+0x00fe mem_tmp_buffer_head
+0x0101 mem_tmp_buffer
+0x0151 mem_tester_emulate
+0x0152 mem_temp_payload
+0x0152 test_mode_scenario
+0x0153 test_mode_hopping_mode
+0x0154 test_mode_tx_freq
+0x0155 test_mode_rx_freq
+0x0156 test_mode_power_mode
+0x0157 test_mode_poll_period
+0x0158 test_mode_packet_type
+0x0159 test_mode_data_length
+0x015b mem_test_mode_old_debug_config
+0x015c mem_tester_cnt
+0x015d mem_temp_am_addr
+0x015e mem_temp_arq
+0x015f mem_len
+0x0161 mem_clkn_bt
+0x0165 mem_clke_bt
+0x0169 mem_dpll_clkn
+0x016d mem_connection_options
+0x016e mem_nameres_cnt
+0x016f mem_txptr
+0x0171 mem_slot_offset
+0x0173 extm_fhs_misc
+0x0174 extm_newconn_am_addr
+0x0175 extm_class
+0x0178 extm_lap
+0x017b extm_uap
+0x017c extm_nap
+0x017f mem_debug_config
+0x0180 mem_lch_code
+0x0181 mem_fhs_am_addr
+0x0182 mem_dpll_error
+0x0184 mem_select_list_item
+0x0185 mem_temp_reconn_record
+0x0185 mem_record_bt_mode
+0x0186 mem_temp_lap
+0x018c mem_list_item_ptr
+0x018e mem_eir
+
+0x01f2 mem_ucode_status
+0x01f3 mem_otp_ucode_flag
+0x01f5 mem_spid_tbuf/* spid buf: 03 addr[23:16] addr[15:8] addr[7:0] */
+0x01f6 mem_iicd_tbuf/* iicd buf: iic_adr addr[15:8] addr[7:0] iic_adr */
+0x01f6 mem_addr_hi
+0x01f7 mem_addr_mi
+0x01f8 mem_addr_lo
+0x01f9 mem_iicd_addr
+0x01fa mem_spid_rbuf
+0x01fe mem_ucode_buf
+0x0200 mem_ucode_len
+0x0202 mem_sched_addr
+0x0204 mem_ucode_ptr
+0x0206 mem_ucode_keybuf
+0x0216 mem_check_plap_temp
+0x0228 mem_reconnect_flag
+0x0229 mem_switch_fail_master_count
+0x022a mem_app_evt_timer_count
+
+0x022b mem_init_cnt
+
+
+(//bluetooth tx power
+0 TX_POWER_0DB
+1 TX_POWER_3DB
+2 TX_POWER_5DB
+3 TX_POWER_f3DB
+4 TX_POWER_f5DB
+
+0x20 TX_POWER_PAIR
+)
+
+
+0x3b17 rom_lpm_sleep
+0x59e0 rom_save_ucode
+
+0x4219 rom_mem_lpm_xtalcnt
+0x423b rom_mem_patch_ptr
+0x423d rom_mem_patch_len
+
+0x5b1a rom_otpd_read_data
+0x5ada rom_otp_write
+	/* context */
+(
+0x01 coffset_mode
+0x02 coffset_tsniff
+0x04 coffset_sniff_anchor
+0x08 coffset_clk_offset
+0x0e coffset_rx_window
+0x10 coffset_plap
+0x16 coffset_conn_handle
+0x17 coffset_arq
+	/* 3.0 only */
+0x18 coffset_lmp_to_send
+0x1b coffset_op
+0x1c coffset_state_map
+	/* le only */
+0x18 coffset_le_ch
+0x19 coffset_le_hop
+0x1a coffset_le_event_cnt
+
+80 context_size
+3 context_num
+)
+
+(
+0 lpm_flag_wake
+1 lpm_flag_loadcode
+)
+
+/* ========= parameters ============== */
+(
+0x0050 param_newconn_arq
+0x0007 param_esco_addr
+0x0010 param_conn_handle
+0x01f0 param_conn_handle_comp
+0x0020 param_newconnto
+0x0008 param_pagerespto
+0x0a00 param_snooze_setup_orig
+0x5353 param_snooze_ahead_orig
+0x00ff param_ninquiry
+0x2000 param_page_to
+0x0005 param_max_slot
+0x0010 param_sco_poll
+
+/* 6Mhz clock setting */
+/* 12Mhz clock setting */
+0x0e43 param_tx_setup
+0x09d0 param_rx_setup_earlier
+0x0600 param_rf_setup
+0x03bb param_clke_cal
+0x0600 param_conn_access 
+0x0800 param_conn_access_wider
+0x0500 param_pll_setup		// 120 is minimum
+0x0d00 param_rx_setup	// 114us before sync
+2000 param_dpll_start_delay
+
+110 param_lpm_fix
+10 param_lpo_extra
+200 param_lpm_adjmax
+
+-1 param_hibernate_clks
+3000 param_chgpump_delay
+
+3 param_featrue_ssp
+0x0101 param_lmpext_ssp_enable
+339 param_acl_pktlen
+30   param_sco_pktlen
+1     param_acl_pktcnt		/*buffer acl pkt cnt*/
+7     param_sco_pktcnt
+
+
+0x8fffff param_features0
+0x9d83fe param_features1  // not support afh
+0x8359     param_features2
+0x000033 param_unap
+0x001177 param_lap
+0x9e8b33 param_glap
+0x002540 param_class//0x180208 //0x002580//402500//240404
+0x12e904 param_hci_version
+0x000a04 param_lmp_version//0x0a04
+0x000a06 param_lmp_version0
+0x12e9 param_lmp_subversion
+0x0012 param_tisw
+0x0012 param_tpsw
+0x1000 param_tisi
+0x0800 param_tpsi
+0x0020 param_page_window
+0x0020 param_inq_window
+0x1c80 param_supervision_to
+39 param_fcomp_div
+2 param_fcomp_mul
+6     param_name_len
+0x535442 param_name
+0x344950 param_name1
+
+
+)
+
+/* ======= packet types  ========= */
+(
+0x0      type_null    
+0x1      type_poll   
+0x2      type_fhs    
+0x3      type_dm1    
+0x4      type_dh1    
+0x5      type_hv1    
+0x6      type_hv2    
+0x7      type_hv3    
+0x8      type_3dh1     
+0x9      type_aux1   
+0xa      type_dm3    
+0xb      type_dh3    
+0xe      type_dm5    
+0xf      type_dh5    
+0x10     type_id
+0x11     type_shutdown
+0x13     type_lmp
+)
+
+/* ========== flag[6] =============== */
+(
+0        always        /* always 1 */
+1        true          /* set/rstn by verify,compare,icompare (true) */
+2        positive      /* set/rstn by all alu operations (opcode = 0x03,0x13,0x0f,0x1f), if alu output >= 0 */
+3        timeout       /* read only, the timeout from timers */
+5        zero          /* set/rstn by all alu operations (opcode = 0x03,0x13,0x0f,0x1f), if alu output == 0 */
+6        crc_failed    /* level, cleared by hop_start */
+7        enable_white  /* outside mux decide whether to load bt_clk or response_X */
+8        enable_parity /* level */
+9        enable_crc    /* level */
+10       enable_hec    /* level */
+11       decode_fec1   /* level */
+12       decode_fec2   /* level */
+13       decode_fec0   /* level */
+14       encrypt       /* level */
+15       crc16       /* for caculate ccitt crc16 */
+16       swfine	/* =0 stop_watch count based on oneslot =1 on 1 clock */
+20       rqst_freq    /* pulse, to start calculating frequency */
+21       recalc        /* pulse, to recalculate the fhs_parity */
+22       init_encrypt  /* pulse, issued to initialize encrption */
+23       mhalfbnd    /* half slot boundary of clke_rt, or when clke_bt[0] toggles */
+24       sync          /* sync found as a result of correlation,set/rstn by correlate opcode */
+25       user10    /* user10 */
+26       kc_p_activate  /* pulse to recalc the kc_p */
+27       encode_fec1   /* level */
+28       encode_fec2   /* level */
+29       encode_fec0   /* level */
+30       packet_end    /* pulse */
+32       is_tx         /* level */
+33       is_rx         /* level */
+34       halfslot     /* pulse, read only, when clkn_bt[0] toggles */
+35       oneslot      /* pulse, read only, when clkn_bt[1] toggles */
+36       mslotbnd     /* pulse, read only, when clke_bt[1] toggles */
+37       expire       /* level, read only, when selected clock source exceed timeup value */
+38       meet         /* level, read only, when selected clock source meet timeup value */
+39       tx_clear     /* level, read only, indicate tx pipe is cleared */
+40       user         /* user0 */
+41       master        /* user1 */
+42       slave2         /* user2 */
+43       wake           /* user3 */
+44       user2        /* user4 */
+45       match         /* user5 */
+46       attempt        /* user6 */
+47       user3          /* user7 */
+48       clknt         /* user8 */
+49	   user7 	/* user9 */
+50       synchronize   /* synchronize lpo and regular version of the clock */
+51       lpo_edge  /* read only, 3 clocks after risling edge of lpo clock */
+52       blank         /* C0 only, means pdata == 0 */
+53       modone          /* set divide operation is done */
+54       le		/* bluetooth 4.0 LE enable */
+55       aes_ready	/* set when aes is ok */
+63       never         /* read only, always 0 */
+)
+
+default flag = always
+
+/* ========== reg[6] =============== */
+(
+0        mark   /* for keeping strobes, more permanent */
+1        type   /* save and verify during rx */     /* rw */
+2        temp   /* general purpose register, 64 bits */
+3        contru  /* contr uart */
+4        am_addr      /* verify during rx, read and send during tx */ /* ro */
+5        contw        /* last mem_addr during write */
+6        contr        /* last mem_addr during read */
+7        queue    /* the index of qset*,qisolate* commands, ie, if queue = 3, qset/qisolate operate on bit3 */
+8        debug    /* can be wired out for observation */
+9        access   /* the 72 bit access word */
+10       contwu   /* contw uart */
+11       timeup        /* when does certain counter expire */
+12       pwindow       /* bit 71-61 of pdata; because on rx, bits shifts in from 71 down */
+13       fhs_parity    /* re-gernated based on bt_adr( {nap,uap,lap} ) when recalc flag is pulsed */
+14       white_init    /* init value of the whitening */
+15       crc24_init        /* init crc24 lfsr, 24 bits */
+16       interrupts    /* set interrupts, 40 bits */
+17       rega          /* general purpose register, 32 bits */
+18       regb          /* general purpose register, 32 bits */
+19       regc          /* general purpose register, 17 bits */
+20       regab         /* concat of {rega,regb}, thus 64 bits */
+21       radio_ctrl   /* radio i/f direct i/o ctrl, check following "radio_ctrl" section */
+21       ctrl_reg     /* 2023 and after */
+22       jtag_addr    /* load jtag address field, lsb */
+23       freq_index   /* 7 bit read only */
+24       jtag_data    /* wdata to and rdata from jtag */
+25       clkn              /* {clkn_bt, clkn_rt} */
+26       clke              /* {clke_bt, clke_rt} */
+27       stop_watch
+28       fhs_misc   /* SR, SP, pscan mode */
+29       fhs_class  /* class field in fhs */
+30       fhs0   /* read only, bit 0-71 of fhs word */
+31       fhs1   /* read only, bit 72-142 of fhs word */
+32       bt_adr /* r/w, the bt_addr to access gen and freq hopping, contain only lap and uap */
+33       bt_clk /* r/w, the bt_clk for freq hopping */
+34       clkn_bt  /* read only, native bluetooth clock, free running 3.2KHz  or controlled by RTHALFSLOT register */
+35       clkn_rt  /* read only, native realtime clock, free running 12MHz, count from 0-3749, or controlled by RTHALFSLOT register */
+36       freq_mode
+/* wire even_train    = freq_mode[4];    // odd even train                            */
+/* wire conn_mode     = 3;    // connection                                           */
+/* wire iqpgscan_mode = 2;    // slave in inquiry and page (not response)             */
+/* wire iqpgresp_mode = 1;    // slave in inquriy and page (response only)            */
+/* wire inqypage_mode = 0;    // master in inquiry and page(response or not response) */
+37       xin   /* x parameter, read only */
+38       N_tx_slot /* the N factor in equations for Xi,Xp,Xprm,Xprs */
+39 	   auxcnt
+40       clke_bt  /* r/w,  external bluetooth clock , free running 3.2KHz or controlled by RTHALFSLOT register */
+41       clke_rt  /* r/w,  external realtime clock, , free running 12MHz, count from 0-3749, or controlled by RTHALFSLOT register */
+43       host_mode         /* generic stuff for kick starts */
+44       lap
+45       uap
+46       nap         
+47       regext		/* r/w extended 12x32bit registers,  indexed by regext_index */
+48       alarm             /* r/w, lpo wake up time, this is also how lpo and current clock keep sync */
+49       lpo_time          /* read only, this is the value to be copied back to clkn/clke after wakeup */
+50       kc_ls             /* secret key,                71: 0 */
+51       kc_ms             /* secret key,               127:72 */
+52       g1l               /* encryption length                */
+53		mask3ff		/* for mask 0x3ff operation */
+54       aes_ctrl		
+56       regext_index   /* index of regext */
+57	     loopcnt
+58      stack			/* current return address */
+59       stack_ptr		/* stack depth */
+61         pc /* direct goto */
+62       null              /* to nowhere */
+63       pdata /* the shift register */
+)
+default reg = pdata
+
+/* regext_index */
+(
+0 regidx_data
+4 regidx_key
+8 regidx_xor
+12 regidx_result
+)
+/* ========== radio_ctrl========= */
+(
+0 TXGFSK
+1 PSK
+2 PSK3M
+3 RESET
+)
+/* assign BPWR = radio_ctrl[0]; */
+/* assign PARAMP = radio_ctrl[1]; */
+/* assign XTALPU = radio_ctrl[2]; */
+/* assign SYNTHPU = radio_ctrl[3]; */
+/* assign TXPU = radio_ctrl[4]; */
+/* assign RXPU = radio_ctrl[5]; */
+/* assign SLCTRL = radio_ctrl[6]; */
+/* assign XTALSEL_MUX_SEL = radio_ctrl[7] */
+
+
+/* =========== destination[4] ============== */
+(
+0 bucket
+1 rxf
+2 back
+3 mod
+)
+default dest = bucket
+
+/* =========== source[4] ============= */
+(
+1 txf
+3 demod
+)
+default source = 0
+
+
+/* ============== mark ============= *//*0 - 47 */
+(
+
+0  mark_fhs_eir  
+1  mark_rxbuf_inuse
+2  mark_tx_l2cap
+3  mark_switch_initiated
+4  mark_accept_switch
+5  mark_loopback
+7  mark_esco
+8  mark_esco_rxok
+9  mark_context
+10 mark_am_addr_broadcast
+11 mark_fhs_already_good
+12 mark_page_trainb
+13 mark_lpm_mult_enable
+14 mark_usb_flag
+15 mark_old_packet
+16 mark_longpacket
+17 mark_testmode
+18 mark_ar2
+19 mark_h5tx_rp
+20 mark_h5tx_crc	
+21 mark_h5tx_retransmit
+22 mark_h5rx_pstart
+23 mark_h5_sync
+24 mark_h5_reinit
+28 mark_inquiry_on
+29 mark_inquiry_state
+30 mark_inquiry_trainb
+31 mark_periodical_diac
+32 mark_all_diac
+33 mark_slave_in_rand_accepted
+34 mark_reconn_recieve_switch
+35 mark_isstr
+36 mark_loadcode
+37 mark_ext_patch
+38 mark_24g
+39 mark_24g_conext
+40 mark_eeprom_size
+// REVAB:max 35, REVC:max 63
+41 mark_ble_tx_md
+42 mark_ble_rx_md
+43 mark_otp_encrypt
+44 mark_first_packet
+45 mark_role_switch_receive_fhs
+
+)
+
+(
+1 reload_type_otp
+2 reload_type_spi
+3 reload_type_iic
+)
+
+
+/* ============== soft timers ============== */
+(
+0 le_adv_interval_timer
+1 inquiry_length_timer
+2 le_scan_interval_timer
+3 page_length_timer
+4 iscan_interval_timer
+5 pscan_interval_timer
+6 switch_wait_timer
+7 enpt_delay_timer
+8 page_interval_timer
+9 key_scan_timer
+10 smp_pairing_timer
+11  ui_led_blink   //led timer 可扩展
+12  ui_led_blink1
+13 ui_led_blink2
+
+)
+
+(
+1 hci_cmd_inquiry
+2 hci_cmd_inquiry_cancel
+3 hci_cmd_remote_name_req
+4 hci_cmd_remote_feature_req
+5 hci_cmd_create_conn
+6 hci_cmd_disconn
+7 hci_cmd_accept_conn
+8 hci_cmd_reject_conn
+9 hci_cmd_pair
+10 hci_cmd_nopair
+11 hci_cmd_linkkey
+12 hci_cmd_nokey
+13 hci_cmd_auth
+14 hci_cmd_stopencrypt
+15 hci_cmd_startencrypt
+16 hci_cmd_setup_sco
+17 hci_cmd_disconn_sco
+18 hci_cmd_in_sniff
+19 hci_cmd_exit_sniff
+20 hci_cmd_remote_version_req
+21 hci_cmd_remote_ext_features_req
+22 hci_cmd_io_cap
+23 hci_cmd_role_discovery
+24 hci_cmd_role_switch
+25 hci_cmd_accept_with_switch
+26 hci_cmd_detach
+27 hci_cmd_le_create_conn
+28 hci_cmd_accept_sco_conn
+80 hci_cmd_wait_remote_feature
+81 hci_cmd_wait_remote_ext_feature
+82 hci_cmd_wait_remote_name
+)
+
+
+
+/* ============== debug ============= */
+(
+0 debug_neg_skew
+1 debug_bitbucket
+2 debug_dont_clear_got_tx
+3 debug_scatter_enabled
+4 debug_tx_fixed_freq
+5 debug_rx_fixed_freq
+6 debug_tx_pattern
+)
+
+/* ============== tester_emulator ============= */
+(
+0 tester_fixed_flow
+1 tester_fixed_flow_polarity
+2 tester_change
+3 tester_exit
+4 tester_pattern_test
+5 tester_whitening_change
+6 tester_fixed_freq
+7 tester_no_whitening
+)
+
+/* ============== mode ==========*/
+(
+0 mode_le
+1 mode_master
+2 afh_enable
+3 afh_change
+4 send_sco_when_slave
+5 first_seqnx
+)
+
+/* ============== state_map ==========*/
+(
+0 smap_lmptidinit
+1 smap_lmptid
+2 smap_encryption
+3 smap_name_res
+4 smap_name_req
+5 smap_edr
+6 smap_rxlmp
+7 smap_rxl2cap
+)
+(
+0 state_inconn
+1 state_insniff
+2 state_insco 
+3 state_inpage
+4 state_conn_comp
+5 state_init_seq
+6 state_combkey
+7 state_linkkey
+)
+(
+0 op_send_sres
+1 op_auth_req
+2 op_inrand_req
+3 op_disconn
+4 op_stop_enc
+5 op_start_enc
+6 op_txl2cap
+7 op_pkt_comp
+)
+
+
+/* ============== arq [3] ================ */
+(
+0 flow
+1 arqn
+2 seqn
+3 wack
+4 flowx              /* out */  /* not really in memory */
+5 arqnx              /* out */
+6 seqnx              /* out */
+7 bcast1             /* first broadcast received */
+)
+
+/* arq          {flow,arqn,seqn}, read/write */
+/* [0] flow r/w  acl full status of the other, store during rx, checked during tx */
+/* [1] arqn r/w  ack of the other during rx (ack tx fifo),                        */
+/* [2] seqn r/w  seqn of the other, check during rx                               */ 
+/* arqx         {flowx,arqnx,seqnx} */
+/* [0] flowx r/o flow back to the other, 1 alow send, 0 not to send, read only tx */
+/* [1] arqnx r/w ack to the other, set by rx, send back on tx                     */
+/* [2] seqnx r/w toggled by arqn, to be send during tx                            */ 
+
+(
+0 llid0
+1 llid1
+2 nesn
+3 sn
+4 md
+5 wak
+)
+
+/* AFH flags */
+(
+0 AFH_CFG_ON
+1 AFH_CFG_TIMER
+2 send_lmp_set_afh
+3 AFH_CFG_REPORT_MODE
+4 AFH_CFG_MASTER_SENT_REQ
+)
+
+/* LLID CODE */
+(	
+1 LLID_L2CAP_CONT
+2 LLID_L2CAP_START
+3 LLID_LMP
+)
+
+/* ============== master_state ==========*/
+(
+0  master_in_idle
+1  master_in_inquiry
+2  master_in_page
+10 master_in_becoming_slave
+15 master_in_conn
+)
+(
+0 newrev_feature_bettx
+1 newrev_feature_betplltx
+2 newrev_feature_skip_retransmit
+3 newrev_feature_init_radio_after_sleep
+4 newrev_feature_no_lpolog
+)
+/*************mem_pincode_state****************/
+(
+0 pincode_state_ilde
+1 pincode_state_wait_pincode
+2 pincode_state_pincode_ready
+)
+
+
+// lpm_write
+(
+1 lpmreg_sel_ctrl
+2 lpmreg_sel_ctrl2
+4 lpmreg_sel_gpiolow
+8 lpmreg_sel_gpiohigh
+16 lpmreg_sel_counter
+)
+
+//scan_mode
+(
+0 inq_scan_mode
+1 page_scan_mode
+2 page_inq_enable
+)
+//mem_neogotiation_state
+(
+ 0 default_neogotiation_state
+ 1 prarm_neogotiation
+)
+
+//mem_lpm_wake_lock
+(
+0 wake_lock_ble_rx
+1 wake_lock_ble_tx
+
+3 wake_lock_key_press
+4 wake_lock_ble_tx_patch
+5 wake_lock_uart_tx
+6 wake_lock_uart_rx
+7 wake_lock_button
+8 wake_lock_cmd
+9 wake_lock_app
+10 wake_lock_lmp_tx
+11 wake_lock_lmp_rx
+12 wake_lock_l2cap_tx
+13 wake_lock_l2cap_rx
+14 wake_lock_ipc_c512bt
+15 wake_lock_ipc_bt2c51
+
+)
+
+(
+0 bt_disabled
+1 ble_disabled
+2 module_disable
+
+)
+
+(
+0x33  REC_3_MODE
+0x34  REC_4_MODE
+0x35  REC_4_MODE_STATIC_ADDRESS
+0x36  REC_4_MODE_RANDOM_RESOLVABLE_PRIVATE_ADDRESS
+0x37  REC_4_MODE_RANDOM_NON_RESOLVABLE_PRIVATE_ADDRESS
+)
+
+
+//sniff UART_TX UART_RX
+(
+6 UART_WAKEUP_TX
+7 UART_WAKEUP_RX
+)
+
+
+(
+0 P24G_SM_PAIRING_SUCC
+1 P24G_SM_PAIRING_REQUEST
+2 P24G_SM_PAIRING_WAIT_ADDR
+3 P24G_SM_PAIRING_COMPLETE
+4 P24G_SM_PAIRING_WAIT_SUCC
+)
+
+(
+0 P24G_PAIRING_REQ_HEAD
+1 P24G_PAIRING_COMPLETE_HEAD
+)
+
+/* 24g */
+(
+6 dlen_24g
+14 plen_24g
+90 blen_tx_24g
+106 blen_rx_24g
+42 blen_txack_24g
+58 blen_rxack_24g
+
+0xaaf08e acc_24g
+0x15c4 crc_data_3byte
+0xbb81 crc_data_6byte
+0x4160 crc_ack
+41390 crc_ack_4byte
+)
+
+
+
+
+
+//adc read
+(
+0 ADC_CONFIG_VINLPM
+1 ADC_CONFIG_HVIN
+2 ADC_CONFIG_GPIO
+)
+
+(
+0 QUEUE_OFFSET_EACH_SIZE
+1 QUEUE_OFFSET_LENGTH
+2 QUEUE_OFFSET_CURR_NUM
+3 QUEUE_OFFSET_READ_PTR
+4 QUEUE_OFFSET_WRITE_PTR
+5 QUEUE_OFFSET_ELE_INIT_ADDR
+)
+
+(
+//Flash Register
+0x05 FLASH_READ_SATUS
+
+// Flash Status Register
+0x00 FLASH_STATUS_WIP
+0X01 FLASH_STATUS_WEL
+0X02 FLASH_STATUS_BP0
+0X03 FLASH_STATUS_BP1
+
+//Flash Write Sm
+0X00 FLASH_SM_NO_BUYS
+0X01 FLASH_SM_START
+0X02 FLASH_SM_ERASE_SECTOR
+0X03 FLASH_SM_WAIT_ERASE_SECTOR
+0X04 FLASH_SM_WRITE_DATA
+0X05 FLASH_SM_WAIT_WRITE_DATA
+
+
+//Flash Command
+0x02 FLASH_COMMAND_WRITE_DATA
+0x03 FLASH_COMMAND_READ_DATA
+0x20 FLASH_COMMAND_SECTOR_ERASE
+)
+
+0x0000 otp_ucode_flag
+0x07f0 otp_ucode_aeskey
+
+/* adc data addr and flag */
+(
+0x07e0 OTP_CHIP_FUNCTIONS
+0x07e2 otp_adc_io_0_5V_addr
+0x07e4 otp_adc_hvin_1V_addr
+0x07e6 otp_adc_vinlpm_2V_addr
+0x07e8 otp_adc_io_1V_addr
+0x07ea otp_adc_hvin_5V_addr
+0x07ec otp_adc_vinlpm_3V_addr
+0x07ee otp_adc_flag_addr
+0xaa55 OTP_ADC_FLAG
+)
+
+/* data stored in eeprom */
+(
+0	eeprom_bdaddr_list
+0	eeprom_nv_ram
+28	eeprom_last_record
+29	eeprom_le_reconn_local_addr
+35	eeprom_linkkey_list//64
+
+99	eeprom_module_bt_adss//6
+105	eeprom_module_le_adss//6
+111	eeprom_module_pincode_length//1
+112	eeprom_module_pincode//15
+127	eeprom_module_bt_name_length//1
+128	eeprom_module_bt_name//32
+160	eeprom_module_ble_name_length//1
+161	eeprom_module_ble_name//31
+192	eeprom_module_trans_baud//3
+195	eeprom_module_init_flag//2
+197	eeprom_module_uuid//6
+203 eeprom_module_ssp_enable//1
+204 eeprom_module_end//2
+
+//dpi eeprom addr
+198 eeprom_mouse_dpi
+)
+
+/*mem_app_handshake_flag*/
+(
+0 APP_HANDSHAKE_NULL
+1 APP_HANDSHAKE_DONE
+
+)
+/*mem_device_option*/
+(
+1 dvc_op_hci
+3 dvc_op_kb
+4 dvc_op_dongle
+5 dvc_op_spp
+6 dvc_op_ukey
+7 dvc_op_ir
+
+9 dvc_op_shutter
+10 dvc_op_module
+11 dvc_op_ble_mouse
+12 dvc_op_ble_kb
+13 dvc_op_ble_prcp
+255 dvc_op_test
+//device option hight 4
+6 dvc_op_mouse
+7 dvc_op_keyboard
+//device option low 2
+(
+0 MODE_3_MOUSE
+1 MODE_4_MOUSE
+)
+)
+
+(
+3 twspi_sclk
+4 twspi_sdio
+)
+
+(
+4 pan_clk_bit
+5 pan_dat_bit
+6 pan_mov_bit
+)
+
+(
+7 otp_uflag_aes
+6 otp_uflag_skip_eep
+5 otp_uflag_skip_flash
+4 otp_uflag_hci
+)
+
+/* ir command */
+(
+1 ircmd_record
+2 ircmd_play
+3 ircmd_write_pulse
+4 ircmd_write_seq
+5 ircmd_write_next
+
+8 ircmd_test_play
+9 ircmd_test_rec
+
+10 ircmd_report_pulse
+11 ircmd_report_seq
+12 ircmd_report_raw
+
+20 ircmd_screen_on
+21 ircmd_screen_off
+)
+
+(
+7 gpio_active_bit
+)
+(
+2 HID_HANDSHAKE_TIMEOUT
+
+)
+
+(
+1 APP_FLAG_RECONNECT
+)
+(
+5 LPM_WAKE_UP_DELAY_TIMER
+)
+
+
+//mem_app_disconn_reason
+//mem_app_disconn_reason_flag
+//bit map
+(
+2 APP_DISC_RSN_SIZE
+)
+(
+0 APP_DISC_BY_BUTTON
+1 APP_DISC_AFTER_PAIRING
+2 APP_DISC_AFTER_RECONN
+3 APP_DISC_AFTER_SNIFF
+4 APP_DISC_AFTER_SETUP_DONE
+5 APP_DISC_AFTER_HANDSHAKE
+6 APP_DISC_BT
+7 APP_DISC_BLE
+8 APP_DISC_L2CAP_REFUSED
+9 APP_DISC_SWITCH_FAIL
+10 APP_DISC_PB_BUTTON
+)
+//eeprom init flag
+(
+	0xaa55 EEPROM_INIT_FLAG
+)
+
+
+
+0x022d mem_h5rx_ackcnt
+0x022e mem_check_err_acl_cont
+0x022f mem_rp_packets
+0x0230 mem_packet_type
+0x0232 mem_hci_sniff_conn_handle
+0x0234 mem_hci_sniff_max_interval
+0x0236 mem_hci_sniff_min_interval
+0x0238 mem_hci_sniff_attempt
+0x023a mem_hci_sniff_timeout
+0x023c mem_voice_setting
+0x023e mem_retransmission_effort
+0x023f mem_sco_ptype
+0x0241 mem_extm_uap_restore
+0x0244 mem_h5rx_rptr
+0x0246 mem_h5rx_ack
+0x0247 mem_h5tx_ack
+0x0248 mem_h5tx_rptr
+0x024a mem_h5tx_wptr
+0x024c mem_h5tx_free
+0x024e mem_h5rx_tmp
+0x024f mem_h5tx_seq
+0x0250 mem_hci_acl_queue_wptr
+0x0252 mem_hci_acl_queue_rptr
+0x0254 mem_hci_acl_queue_end
+0x0256 mem_hci_acl_queue_wcnt
+0x0257 mem_hci_acl_cnt
+0x0258 mem_hci_acl_tx_trigger_wptr//tx via uart
+0x025a mem_hci_curr_len
+0x025b mem_hci_curr_target
+
+
+15 hci_flag_rp
+//mem_hci_options bit map
+(
+1 hci_option_h4
+2 hci_option_protocol2
+3 hci_option_protocol3
+4 hci_option_uart
+5 hci_option_usb
+6 hci_option_phy2
+7 hci_option_phy3
+)
+// UART baud rate @6MHz
+(
+0 uart_ctrl_bit_enable
+3 uart_ctrl_bit_slip_protocol
+
+)
+
+//bit map of core_uart_ctrl
+(
+
+)
+//bit map of core_uart_status
+(
+0 uart_status_tx_fifo_full
+1 uart_status_tx_fifo_empty
+2 uart_status_tx_busy
+3 uart_status_rx_fifo_empty
+
+)
+//HCI H4 LOG related
+(
+0x4850 mem_hci_log
+8 hci_log_size
+100 hci_log_cnt
+
+)
+//HCI H4 Packet TYPE
+(
+0x01 HCI_H4_TYPE_CMD
+0x02 HCI_H4_TYPE_ACL
+0x04 HCI_H4_TYPE_EVENT
+
+)
+// HCI command opcode group field values
+(
+0x01 HCI_OGF_LINK_CONTROL
+0x02 HCI_OGF_LINK_POLICY
+0x03 HCI_OGF_BASEBAND
+0x04 HCI_OGF_INFO
+0x05 HCI_OGF_STATUS
+0x06 HCI_OGF_TEST
+0x08 HCI_OGF_LOW_ENERGY
+0x3e HCI_OGF_LOGO_TESTING
+0x3f HCI_OGF_VENDOR_SPECIFIC
+)
+
+// HCI link control opcode command field values, OGF=1
+(
+0x01 HCI_INQUIRY 
+0x02 HCI_INQUIRY_CANCEL 
+0x03 HCI_PERIODIC_INQUIRY_MODE 
+0x04 HCI_EXIT_PERIODIC_INQUIRY_MODE 
+0x05 HCI_CREATE_CONNECTION 
+0x06 HCI_DISCONNECT 
+0x07 HCI_ADD_SCO_CONNECTION 
+0x08 HCI_CREATE_CONNECTION_CANCEL
+0x09 HCI_ACCEPT_CONNECTION 
+0x0A HCI_REJECT_CONNECTION 
+0x0B HCI_LINK_KEY_REQUEST_REPLY 
+0x0C HCI_LINK_KEY_REQUEST_NEGATIVE_REPLY 
+0x0D HCI_PIN_CODE_REQUEST_REPLY 
+0x0E HCI_PIN_CODE_REQUEST_NEGATIVE_REPLY 
+0x0F HCI_CHANGE_CONNECTION_PACKET_TYPE 
+0x11 HCI_AUTHENTICATION_REQUESTED 
+0x13 HCI_SET_CONNECTION_ENCRYPTION 
+0x15 HCI_CHANGE_CONNECTION_LINK_KEY 
+0x17 HCI_MASTER_LINK_KEY 
+0x19 HCI_REMOTE_NAME_REQUEST 
+0x1A HCI_REMOTE_NAME_REQUEST_CANCEL
+0x1B HCI_READ_REMOTE_SUPPORTED_FEATURES 
+0x1C HCI_READ_REMOTE_EXT_FEATURES 
+0x1D HCI_READ_REMOTE_VERSION_INFORMATION 
+0x1F HCI_READ_CLOCK_OFFSET 
+0x20 HCI_READ_LMP_HANDLE
+0x28 HCI_SETUP_SCO_CONNECTION
+0x29 HCI_ACCEPT_SCO_CONNECTION
+0x2A HCI_REJECT_SCO_CONNECTION
+0x2B HCI_IO_CAP_REQUEST_REPLY
+0x2C HCI_USER_CONFIRMATION_REQUEST_REPLY
+0x2D HCI_USER_CONFIRMATION_REQUEST_NEGATIVE_REPLY
+0x2E HCI_USER_PASSKEY_REQUEST_REPLY
+0x2F HCI_USER_PASSKEY_REQUEST_NEGATIVE_REPLY
+0x30 HCI_REMOTE_OOB_DATA_REQUEST_REPLY
+0x33 HCI_REMOTE_OOB_DATA_REQUEST_NEGATIVE_REPLY
+0x34 HCI_IO_CAPABILITY_REQUEST_NEGATIVE_REPLY
+0x35 HCI_CREATE_PHYSICAL_LINK
+0x36 HCI_ACCEPT_PHYSICAL_LINK
+0x37 HCI_DISCONNECT_PHYSICAL_LINK
+0x38 HCI_CREATE_LOGICAL_LINK
+0x39 HCI_ACCEPT_LOGICAL_LINK
+0x3A HCI_DISCONNECT_LOGICAL_LINK
+0x3B HCI_LOGICAL_LINK_CANCEL
+0x3C HCI_FLOW_SPEC_MODIFY
+0x3D HCI_ENHANCED_SETUP_SYNCHRONOUS_CONNECTION
+0x3E HCI_ENHANCED_ACCEPT_SYNCHRONOUS_CONNECTION_REQUEST
+0x3F HCI_TRUNCATED_PAGE
+0x40 HCI_TRUNCATED_PAGE_CANCEL
+0x41 HCI_SET_CONNECTIONLESS_SLAVE_BROADCAST
+0x42 HCI_SET_CONNECTIONLESS_SLAVE_BROADCAST_RECEIVE
+0x43 HCI_START_SYNCHRONIZATION_TRAIN
+0x44 HCI_RECEIVE_SYNCHRONIZATION_TRAIN
+0x45 HCI_REMOTE_OOB_EXTENDED_DATA_REQUEST_REPLY
+)
+
+
+// HCI link policy commands OCF value, OGF=2
+(
+0x01 HCI_HOLD_MODE 
+0x03 HCI_SNIFF_MODE 
+0x04 HCI_EXIT_SNIFF_MODE 
+0x05 HCI_PARK_MODE 
+0x06 HCI_EXIT_PARK_MODE 
+0x07 HCI_QOS_SETUP 
+0x09 HCI_ROLE_DISCOVERY 
+0x0B HCI_SWITCH_ROLE 
+0x0C HCI_READ_LINK_POLICY_SETTINGS 
+0x0D HCI_WRITE_LINK_POLICY_SETTINGS 
+0x0e HCI_READ_DEFAULT_LINK_POLICY_SETTINGS
+0x0f HCI_WRITE_DEFAULT_LINK_POLICY_SETTINGS
+0x10 HCI_FLOW_SPECIFICATION
+0x11 HCI_SNIFF_SUBRATING
+)
+
+// HCI host controller and baseband commands OCF values, OGF=3
+(
+0x01 HCI_SET_EVENT_MASK 
+0x03 HCI_RESET 
+0x05 HCI_SET_EVENT_FILTER 
+0x08 HCI_FLUSH 
+0x09 HCI_READ_PIN_TYPE 
+0x0A HCI_WRITE_PIN_TYPE 
+0x0B HCI_CREATE_NEW_UNIT_KEY 
+0x0D HCI_READ_STORED_LINK_KEY 
+0x11 HCI_WRITE_STORED_LINK_KEY 
+0x12 HCI_DELETE_STORED_LINK_KEY 
+0x13 HCI_WRITE_LOCAL_NAME 
+0x14 HCI_READ_LOCAL_NAME 
+0x15 HCI_READ_CONN_ACCEPT_TIMEOUT 
+0x16 HCI_WRITE_CONN_ACCEPT_TIMEOUT 
+0x17 HCI_READ_PAGE_TIMEOUT 
+0x18 HCI_WRITE_PAGE_TIMEOUT 
+0x19 HCI_READ_SCAN_ENABLE 
+0x1A HCI_WRITE_SCAN_ENABLE 
+0x1B HCI_READ_PAGE_SCAN_ACTIVITY 
+0x1C HCI_WRITE_PAGE_SCAN_ACTIVITY 
+0x1D HCI_READ_INQUIRY_SCAN_ACTIVITY 
+0x1E HCI_WRITE_INQUIRY_SCAN_ACTIVITY 
+0x1F HCI_READ_AUTHENTICATION_ENABLE 
+0x20 HCI_WRITE_AUTHENTICATION_ENABLE 
+0x21 HCI_READ_ENCRYPTION_MODE 
+0x22 HCI_WRITE_ENCRYPTION_MODE 
+0x23 HCI_READ_CLASS_OF_DEVICE 
+0x24 HCI_WRITE_CLASS_OF_DEVICE 
+0x25 HCI_READ_VOICE_SETTING 
+0x26 HCI_WRITE_VOICE_SETTING 
+0x27 HCI_READ_AUTOMATIC_FLUSH_TIMEOUT 
+0x28 HCI_WRITE_AUTOMATIC_FLUSH_TIMEOUT 
+0x29 HCI_READ_NUM_BROADCAST_RETRANSMISSIONS 
+0x2A HCI_WRITE_NUM_BROADCAST_RETRANSMISSIONS 
+0x2B HCI_READ_HOLD_MODE_ACTIVITY 
+0x2C HCI_WRITE_HOLD_MODE_ACTIVITY 
+0x2D HCI_READ_TRANSMIT_POWER_LEVEL 
+0x2E HCI_READ_SCO_FLOW_CONTROL_ENABLE 
+0x2F HCI_WRITE_SCO_FLOW_CONTROL_ENABLE 
+0x31 HCI_SET_CONTROLLER_TO_HOST_FLOW_CONTROL 
+0x33 HCI_HOST_BUFFER_SIZE 
+0x35 HCI_HOST_NUM_COMPLETED_PACKETS 
+0x36 HCI_READ_LINK_SUPERVISION_TIMEOUT 
+0x37 HCI_WRITE_LINK_SUPERVISION_TIMEOUT 
+0x38 HCI_READ_NUMBER_OF_SUPPORTED_IAC 
+0x39 HCI_READ_CURRENT_IAC_LAP 
+0x3A HCI_WRITE_CURRENT_IAC_LAP 
+0x3B HCI_READ_PAGE_SCAN_PERIOD_MODE 
+0x3C HCI_WRITE_PAGE_SCAN_PERIOD_MODE 
+0x3D HCI_READ_PAGE_SCAN_MODE 
+0x3E HCI_WRITE_PAGE_SCAN_MODE 
+0x3F HCI_SET_AFH_CHANNEL_CLASSIFICATION 
+
+
+0x42 HCI_READ_INQUIRY_SCAN_TYPE 
+0x43 HCI_WRITE_INQUIRY_SCAN_TYPE 
+0x44 HCI_READ_INQUIRY_MODE 
+0x45 HCI_WRITE_INQUIRY_MODE 
+0x46 HCI_READ_PAGE_SCAN_TYPE 
+0x47 HCI_WRITE_PAGE_SCAN_TYPE 
+
+0x48 HCI_READ_AFH_CHANNEL_ACCESSMENT_MODE 
+0x49 HCI_WRITE_AFH_CHANNEL_ACCESSMENT_MODE 
+0x51 HCI_READ_EXTENDED_INQUIRY_RESPONSE
+0x52 HCI_WRITE_EXTENDED_INQUIRY_RESPONSE
+0x53 HCI_REFRESH_ENCRYPTION_KEY
+0x55 HCI_READ_SIMPLE_PAIRING_MODE
+0x56 HCI_WRITE_SIMPLE_PAIRING_MODE
+0x57 HCI_READ_LOCAL_OOB_DATA
+0x58 HCI_READ_INQUIRY_RESPONSE_TRANSMIT_POWER_LEVEL
+0x59 HCI_WRITE_INQUIRY_TRANSMIT_POWER_LEVEL
+0x60 HCI_SEND_KEYPRESS_NOTIFICATION
+0x5A HCI_READ_DEFAULT_ERRONEOUS_DATA_REPORTING
+0x5B HCI_WRITE_DEFAULT_ERRONEOUS_DATA_REPORTING
+0x5F HCI_ENHANCED_FLUSH
+0x61 HCI_READ_LOGICAL_LINK_ACCEPT_TIMEOUT
+0x62 HCI_WRITE_LOGICAL_LINK_ACCEPT_TIMEOUT
+0x63 HCI_SET_EVENT_MASK_PAGE_2
+0x64 HCI_READ_LOCATION_DATA
+0x65 HCI_WRITE_LOCATION_DATA
+0x66 HCI_READ_FLOW_CONTROL_MODE
+0x67 HCI_WRITE_FLOW_CONTROL_MODE
+0x68 HCI_READ_ENHANCE_TRANSMIT_POWER_LEVEL
+0x69 HCI_READ_BEST_EFFORT_FLUSH_TIMEOUT
+0x6A HCI_WRITE_BEST_EFFORT_FLUSH_TIMEOUT
+0x6B HCI_SHORT_RANGE_MODE
+0x6C HCI_READ_LE_HOST_SUPPORT
+0x6D HCI_WRITE_LE_HOST_SUPPORT
+0x6E HCI_SET_MWS_CHANNEL_PARAMETERS
+0x6F HCI_SET_EXTERNAL_FRAME_CONFIGURATION
+0x70 HCI_SET_MWS_SIGNALING
+0x71 HCI_SET_MWS_TRANSPORT_LAYER
+0x72 HCI_SET_MWS_SCAN_FREQUENCY_TABLE
+0x73 HCI_SET_MWS_PATTERN_CONFIGURATION
+0x74 HCI_SET_RESERVED_LT_ADDR
+0x75 HCI_DELETE_RESERVED_LT_ADDR
+0x76 HCI_SET_CONNECTIONLESS_SLAVE_BROADCAST_DATA
+0x77 HCI_READ_SYNCHRONIZATION_TRAIN_PARAMETERS
+0x78 HCI_WRITE_SYNCHRONIZATION_TRAIN_PARAMETERS
+0x79 HCI_READ_SECURE_CONNECTIONS_HOST_SUPPORT
+0x7A HCI_WRITE_SECURE_CONNECTIONS_HOST_SUPPORT
+0x7B HCI_READ_AUTHENTICATED_PAYLOAD_TIMEOUT
+0x7C HCI_WRITE_AUTHENTICATED_PAYLOAD_TIMEOUT
+0x7D HCI_READ_LOCAL_OOB_EXTENDED_DATA
+0x7E HCI_READ_EXTENDED_PAGE_TIMEOUT
+0x7F HCI_WRITE_EXTENDED_PAGE_TIMEOUT
+0x80 HCI_READ_EXTENDED_INQUIRY_LENGTH
+0x81 HCI_WRITE_EXTENDED_INQUIRY_LENGTH
+)
+
+
+// HCI informational parameters OCF values, OGF=4
+(
+0x01 HCI_READ_LOCAL_VERSION_INFORMATION 
+0x02 HCI_READ_LOCAL_SUPPORTED_COMMANDS
+0x03 HCI_READ_LOCAL_SUPPORTED_FEATURES 
+0x04 HCI_READ_LOCAL_EXT_FEATURES 
+0x05 HCI_READ_BUFFER_SIZE 
+0x07 HCI_READ_COUNTRY_CODE 
+0x09 HCI_READ_BD_ADDR 
+0x0A HCI_REJECT_CONNECTION_REQUEST
+0x0B HCI_READ_LOCAL_SUPPORTED_CODECS
+)
+
+// HCI status parameters OCF values, OGF=5
+(
+0x01 HCI_READ_FAILED_CONTACT_COUNTER 
+0x02 HCI_RESET_FAILED_CONTACT_COUNTER 
+0x03 HCI_GET_LINK_QUALITY 
+0x05 HCI_READ_RSSI 
+0x06 HCI_READ_AFH_CHANNEL_MAP
+0x07 HCI_READ_BD_CLOCK
+0x08 HCI_READ_ENCRYPTION_KEY_SIZE
+0x09 HCI_READ_LOCAL_AMP_INFO
+0x0A HCI_READ_LOCAL_AMP_ASSOC
+0x0B HCI_WRITE_REMOTE_AMP_ASSOC
+0x0C HCI_GET_MWS_TRANSPORT_LAYER_CONFIGURATION
+0x0D HCI_SET_TRIGGERED_CLOCK_CAPTURE
+)
+
+// HCI testing command OCF values, OGF=6
+(
+0x01 HCI_READ_LOOPBACK_MODE 
+0x02 HCI_WRITE_LOOPBACK_MODE 
+0x03 HCI_ENABLE_DEVICE_UNDER_TEST_MODE 
+0x04 HCI_WRITE_SIMPLE_PAIRING_DEBUG_MODE
+0x07 HCI_ENABLE_AMP_RECEIVER_REPORTS
+0x08 HCI_AMP_TEST_END
+0x09 HCI_AMP_TEST
+0x0A HCI_WRITE_SECURE_CONNECTIONS_TEST_MODE
+)
+
+// HCI vendor specific command OCF values -OGF=3F
+(
+0x01 HCI_WRITE_BD_ADDR 
+0x02 HCI_READ_INQUIRY_RESPONSE_TIMEOUT 
+0x03 HCI_WRITE_INQUIRY_RESPONSE_TIMEOUT 
+0x04 HCI_READ_PAGE_SCAN_REPETITION_MODE 
+0x05 HCI_WRITE_PAGE_SCAN_REPETITION_MODE 
+0x06 HCI_READ_PAGE_RESPONSE_TIMEOUT 
+0x07 HCI_WRITE_PAGE_RESPONSE_TIMEOUT 
+0x08 HCI_READ_NEW_CONNECTION_TIMEOUT 
+0x09 HCI_WRITE_NEW_CONNECTION_TIMEOUT 
+0x0a HCI_INITIALIZE_BASEBAND 
+0x0b HCI_WRITE_LOCAL_SUPPORTED_FEATURES 
+0x0c HCI_WRITE_PARK_PARAMETERS 
+0x0d HCI_READ_PARK_PARAMETERS 
+0x0e HCI_WRITE_QUALITY_OF_SERVICE 
+0x0f HCI_NOT_USED 
+0x10 HCI_MODIFY_BEACON_PARAMETERS 
+0x11 HCI_UNPARK_USING_PM_ADDR 
+0x12 HCI_WRITE_HOPPING_CHANNELS 
+0x13 HCI_SLEEP_FOREVER_MODE 
+0x14 HCI_WRITE_AUTO_PAGE_SCAN_ENABLE 
+0x15 HCI_READ_AUTO_PAGE_SCAN_ENABLE 
+0x16 HCI_SET_ENCRYPTION_KEY_SIZE 
+0x17 HCI_INVALIDATE_FLASH_AND_REBOOT 
+0x18 HCI_UPDATE_UART_BAUD_RATE 
+0x19 HCI_WRITE_GPIO_1_4_AS_OUTPUT 
+0x1A HCI_WRITE_GPIO_2_LED 
+0x1B HCI_SET_TESTMODE_TYPE 
+0x1C HCI_WRITE_SCO_PCM_INT_PARAM 
+0x1D HCI_READ_SCO_PCM_INT_PARAM 
+0x1E HCI_WRITE_PCM_DATA_FORMAT_PARAM 
+0x1F HCI_READ_PCM_DATA_FORMAT_PARAM 
+0x20 HCI_WRITE_COMFORT_NOISE_PARAM 
+0x21 HCI_READ_COMFORT_NOISE_PARAM 
+0x22 HCI_WRITE_SCO_TS 
+0x23 HCI_READ_SCO_TS 
+0x24 HCI_WRITE_PCM_LOOPBACK_MODE 
+0x25 HCI_READ_PCM_LOOPBACK_MODE 
+0x26 HCI_SET_TRANSMIT_POWER 
+0x27 HCI_SET_SLEEPMODE_PARAM 
+0x28 HCI_READ_SLEEPMODE_PARAM 
+0x29 HCI_SLEEPMODE_CMD 
+0x2A HCI_DELAY_PERIPHERAL_SCO_STARTUP 
+0x2B HCI_WRITE_RECEIVE_ONLY 
+0x2C HCI_WRITE_RATE_CONTROL 
+0x2D HCI_TX_UNMOD_CARRIER 
+0x2E HCI_DOWNLOAD_MINIDRIVER 
+0x2F HCI_CRYSTAL_PPM 
+0x30 HCI_SET_POWER_AMP_BIAS 
+0x31 HCI_SET_HAM_BEHAVIOR 
+0x32 HCI_SET_AFH_BEHAVIOR 
+0x33 HCI_READ_USER_DEFINED_NVRAM 
+0x34 HCI_ENABLE_RADIO 
+0x35 HCI_READ_DIAGNOSTIC_INFO 
+0x36 HCI_GET_HID_DEVICE_LIST 
+0x37 HCI_ADD_HID_DEVICE 
+0x38 HCI_READ_APP_FW_CONFIG_VERSION 
+0x39 HCI_DELETE_HID_DEVICE 
+0x3B HCI_ENABLE_USB_HID_EMULATION 
+// 0x3A available
+// 0x3B available
+0x3C HCI_SEND_LMPDU 
+0x3D HCI_AUTO_PAIR_REQ 
+0x3E HCI_READ_VS_EXTENSION 
+0x3F HCI_WRITE_VS_EXTENSION 
+
+0x77 HCI_OPCODE_FC77
+0x79 HCI_OPCODE_FC79
+0xC4 HCI_DOWNLOAD_PATCH
+0xCC HCI_OPCODE_FCCC
+
+0x00 HCI_VENDOR_CMD_RESET
+0x01 HCI_VENDOR_CMD_CHIPID
+0x02 HCI_VENDOR_CMD_BAUD
+0x03 HCI_VENDOR_CMD_PATCH
+0x04 HCI_VENDOR_CMD_PATCH_DONE
+0x05 HCI_VENDOR_CMD_ECHO
+0x06 HCI_VENDOR_CMD_BDADDR
+
+0x07 HCI_VENDOR_CMD_ENTER_LPM
+0x08 HCI_VENDOR_CMD_COMMU_READY
+
+0x10 HCI_VENDOR_CMD_MEM
+0x11 HCI_VENDOR_CMD_EEP
+)
+
+//HCI LE controller command OCF values, OGF=8
+(
+0x01 HCI_LE_SET_EVENT_MASK
+0x02 HCI_LE_READ_BUFFER_SIZE
+0x03 HCI_LE_READ_LOCAL_SUPPORTED_FEATURES
+0x05 HCI_LE_SET_RANDOM_ADDRESS
+0x06 HCI_LE_SET_ADVERTISING_PARAMETERS
+0x07 HCI_LE_READ_ADVERTISING_CHANNEL_TX_POWER
+0x08 HCI_LE_SET_ADVERTISING_DATA
+0x09 HCI_LE_SET_SCAN_RESPONSE_DATA
+0x0A HCI_LE_SET_ADVERTISE_ENABLE
+0x0B HCI_LE_SET_SCAN_PARAMETERS
+0x0C HCI_LE_SET_SCAN_ENABLE
+0x0D HCI_LE_CREATE_CONNECTION
+0x0E HCI_LE_CREATE_CONNECTION_CANCEL
+0x0F HCI_LE_READ_WHITE_LIST_SIZE
+0x10 HCI_LE_CLEAR_WHITE_LIST
+0x11 HCI_LE_ADD_DEVICE_TO_WHITE_LIST
+0x12 HCI_LE_REMOVE_DEVICE_FROM_WHITE_LIST
+0x13 HCI_LE_CONNECTION_UPDATE
+0x14 HCI_LE_SET_HOST_CHANNEL_CLASSIFICATION
+0x15 HCI_LE_READ_CHANNEL_MAP
+0x16 HCI_LE_READ_REMOTE_USED_FEATURES
+0x17 HCI_LE_ENCRYPT
+0x18 HCI_LE_RAND
+0x19 HCI_LE_START_ENCRYPTION
+0x1A HCI_LE_LONG_TERM_KEY_REQUEST_REPLY
+0x1B HCI_LE_LONG_TERM_KEY_REQUEST_NEGATIVE_REPLY
+0x1C HCI_LE_READ_SUPPORTED_STATES
+0x1D HCI_LE_RECEIVER_TEST
+0x1E HCI_LE_TRANSMITTER_TEST
+0x1F HCI_LE_TEST_END
+0x20 HCI_LE_REMOTE_CONNECTION_PARAMETER_REQUEST_REPLY
+0x21 HCI_LE_REMOTE_CONNECTION_PARAMETER_REQUEST_NEGATIVE_REPLY
+)
+// HCI event code
+(
+0x01 HCI_EVENT_INQUIRY_COMPLETE
+0x02 HCI_EVENT_INQUIRY_RESULT
+0x03 HCI_EVENT_CONNECTION_COMPLETE
+0x04 HCI_EVENT_CONNECTION_REQUEST
+0x05 HCI_EVENT_DISCONNECTION_COMPLETE
+0x06 HCI_EVENT_AUTHENTICATION_COMPLETE
+0x07 HCI_EVENT_REMOTE_NAME_REQUEST_COMPLETE
+0x08 HCI_EVENT_ENCRYPTION_CHANGE_COMPLETE
+0x09 HCI_EVENT_CHANGE_CONNECTION_LINK_KEY_COMPLETE
+0x0A HCI_EVENT_MASTER_LINK_KEY_COMPLETE
+0x0B HCI_EVENT_READ_REMOTE_FEATURES_COMPLETE
+0x0C HCI_EVENT_READ_REMOTE_VERSION_INFORMATION_COMPLETE
+0x0D HCI_EVENT_QOS_SETUP_COMPLETE
+0x0E HCI_EVENT_COMMAND_COMPLETE
+0x0F HCI_EVENT_COMMAND_STATUS
+0x10 HCI_EVENT_HARDWARE_ERROR
+0x11 HCI_EVENT_FLUSH_OCCURRED
+0x12 HCI_EVENT_ROLE_CHANGE
+0x13 HCI_EVENT_NUM_COMPLETED_PACKETS
+0x14 HCI_EVENT_MODE_CHANGE
+0x15 HCI_EVENT_RETURN_LINK_KEYS
+0x16 HCI_EVENT_PIN_CODE_REQUEST
+0x17 HCI_EVENT_LINK_KEY_REQUEST
+0x18 HCI_EVENT_LINK_KEY_NOTIFICATION
+0x19 HCI_EVENT_LOOPBACK_COMMAND
+0x1A HCI_EVENT_DATA_BUFFER_OVERFLOW
+0x1B HCI_EVENT_MAX_SLOTS_CHANGE
+0x1C HCI_EVENT_READ_CLOCK_OFFSET_COMPLETE
+0x1D HCI_EVENT_CONNECTION_PACKET_TYPE_CHANGED
+0x1E HCI_EVENT_QOS_VIOLATION
+0x1F HCI_EVENT_PAGE_SCAN_MODE_CHANGE
+0x20 HCI_EVENT_PAGE_SCAN_REPETITION_MODE_CHANGE
+0x21 HCI_EVENT_FLOW_SPECIFICATION_COMPLETE
+0x22 HCI_EVENT_INQUIRY_RESULT_WITHRSSI
+0x23 HCI_EVENT_READ_REMOTE_EXT_FEATURES_COMPLETE
+0x2C HCI_EVENT_SCO_CONNECTION_COMPLETE
+0x2D HCI_EVENT_SCO_CONNECTION_CHANGED
+0x2E HCI_EVENT_SNIFF_SUBRATING
+0x2F HCI_EVENT_EXT_INQUIRY_RESULT
+0x30 HCI_EVENT_ENCRYPT_KEY_REFRESH_COMPLETE
+0x31 HCI_EVENT_IO_CAP_REQ
+0x32 HCI_EVENT_IO_CAP_RESPONSE
+0x33 HCI_EVENT_USER_CONFIRMATION_REQUEST
+0x34 HCI_EVENT_UESR_PASSKEY_REQUEST
+0x35 HCI_EVENT_REMOTE_OOB_DATA_REQUEST
+0x36 HCI_EVENT_SIMPLE_PAIRING_COMPLETE
+0x38 HCI_EVENT_LINK_SUPERVISION_TIMEOUT_CHANGED
+0x39 HCI_EVENT_ENHANCED_FLUSH_COMPLETE
+0x3B HCI_EVENT_USER_PASSKEY_NOTIFICATION
+0x3C HCI_EVENT_KEYPRESS_NOTIFICATION
+0x3D HCI_EVENT_REMOTE_HOST_SUPPORTED_FEATURES_NOTIFICATION 
+0x3E HCI_EVENT_LE_META_EVENT
+0x40 HCI_EVENT_PHYSICAL_LINK_COMPLETE
+0x41 HCI_EVENT_CHANNEL_SELECTED
+0x42 HCI_EVENT_DISCONNECTION_PHYSICAL_LINK_COMPLETE
+0x43 HCI_EVENT_PHYSICAL_LINK_LOSS_EARLY_WARNING
+0x44 HCI_EVENT_PHYSICAL_LINK_RECOVERY
+0x45 HCI_EVENT_LOGICAL_LINK_COMPLETE
+0x46 HCI_EVENT_DISCONNECTION_LOGICAL_LINK_COMPLETE
+0x47 HCI_EVENT_FLOW_SPEC_MODIFY_COMPLETE
+0x48 HCI_EVENT_NUMBER_OF_COMPLETED_DATA_BLOCKS
+0x49 HCI_EVENT_AMP_START_TEST
+0x4A HCI_EVENT_AMP_TEST_END
+0x4B HCI_EVENT_AMP_RECEIVER_REPORT
+0x4C HCI_EVENT_SHORT_RANGE_MODE_CHANGE_COMPLETE
+0x4D HCI_EVENT_AMP_STATUS_CHANGE
+0x4E HCI_EVENT_TRIGGERED_CLOCK_CAPTURE
+0x4F HCI_EVENT_SYNCHRONIZATION_TRAIN_COMPLETE
+0x50 HCI_EVENT_SYNCHRONIZATION_TRAIN_RECEIVED
+0x51 HCI_EVENT_CONNECTIONLESS_SLAVE_BROADCAST_RECEIVE
+0x52 HCI_EVENT_CONNECTIONLESS_SLAVE_BROADCAST_TIMEOUT
+0x53 HCI_EVENT_TRUNCATED_PAGE_COMPLETE
+0x54 HCI_EVENT_SLAVE_PAGE_RESPONSE_TIMEOUT
+0x55 HCI_EVENT_CONNECTIONLESS_SLAVE_BROADCAST_CHANNEL_MAP_CHANGE
+0x56 HCI_EVENT_INQUIRY_RESPONSE_NOTIFICATION
+0x57 HCI_EVENT_AUTHENTICATED_PAYLOAD_TIMEOUT_EXPIRED
+
+0xFE HCI_EVENT_LOGO_TESTING
+0xFF HCI_EVENT_VENDOR_SPECIFIC
+)
+(
+0x01 HCI_VENDOR_EVENT_COMMU_READY
+)
+//HCI LE SUBEVENT CODE
+(
+0x01 HCI_LE_SUBEVENT_CONN_COMPLETE
+0x02 HCI_LE_SUBEVENT_ADV_REPORT
+0x03 HCI_LE_SUBEVENT_CONN_UPDATE_COMPLETE
+0x04 HCI_LE_SUBEVENT_REMOTE_FEATURE_COMPLETE
+0x05 HCI_LE_SUBEVENT_LTK_REQUEST
+0x06 HCI_LE_SUBEVENT_REMOTE_CONN_PARAM_REQ
+)
+//HCI ErrorCodes
+(    
+0x00 HCI_SUCCESS
+0x01 HCI_ERROR_UNKNOWN_HCI_COMMAND
+0x02 HCI_ERROR_NO_CONNECTION
+0x03 HCI_ERROR_HARDWARE_FAILURE
+0x04 HCI_ERROR_PAGE_TIMEOUT
+0x05 HCI_ERROR_AUTHENTICATION_FAILURE
+0x06 HCI_ERROR_KEY_MISSING
+0x07 HCI_ERROR_MEMORY_FULL
+0x08 HCI_ERROR_CONNECTION_TIMEOUT
+0x09 HCI_ERROR_MAX_CONNECTIONS
+0x0A HCI_ERROR_MAX_SCO_CONNECTIONS
+0x0B HCI_ERROR_MAX_ACL_CONNECTIONS
+0x0C HCI_ERROR_COMMAND_DISALLOWED
+0x0D HCI_ERROR_HOST_REJECT_LIMITED_RESOURCES
+0x0E HCI_ERROR_HOST_REJECT_SECURITY_REASONS
+0x0F HCI_ERROR_HOST_REJECT_REMOTE_IS_ONLY_PERSONAL
+0x10 HCI_ERROR_HOST_TIMEOUT
+0x11 HCI_ERROR_UNSUPPORTED_FEATURE_OR_PARAMETER_VALUE
+0x12 HCI_ERROR_INVALID_HCI_COMMAND_PARAMETERS
+0x13 HCI_ERROR_REMOTE_USER_ENDED_CONNECTION
+0x14 HCI_ERROR_REMOTE_LOW_RESOURCES
+0x15 HCI_ERROR_REMOTE_POWERING_OFF
+0x16 HCI_ERROR_CONNECTION_TERMINATED_BY_LOCAL_HOST
+0x17 HCI_ERROR_REPEATED_ATTEMPTS
+0x18 HCI_ERROR_PAIRING_NOT_ALLOWED
+0x19 HCI_ERROR_UNKNOWN_LMP_PDU
+0x1A HCI_ERROR_UNSUPPORTED_REMOTE_FEATURE
+0x1B HCI_ERROR_SCO_OFFSET_REJECTED
+0x1C HCI_ERROR_SCO_INTERVAL_REJECTED
+0x1D HCI_ERROR_SCO_AIR_MODE_REJECTED
+0x1E HCI_ERROR_INVALID_LMP_PARAMETER
+0x1F HCI_ERROR_UNSPECIFIED_ERROR
+0x20 HCI_ERROR_UNSUPPORTED_LMP_PARAMETER_VALUE
+0x21 HCI_ERROR_ROLE_CHANGE_NOT_ALLOWD
+0x22 HCI_ERROR_LMP_RESPONSE_TIMEOUT
+0x23 HCI_ERROR_ERROR_TRANSACTION_COLLISION
+0x24 HCI_ERROR_LMP_PDU_NOT_ALLOWED
+0x25 HCI_ERROR_ENCRYPTION_MODE_NOT_ACCEPTABLE
+0x26 HCI_ERROR_UNIT_KEY_USED
+0x27 HCI_ERROR_QOS_NOT_SUPPORTED
+0x28 HCI_ERROR_INSTANT_PASSED
+0x29 HCI_ERROR_PAIRING_W_UNIT_KEY_NOT_SUPPORTED
+0x2a HCI_ERROR_DIFFERENT_TRANSACTION_COLLISION
+0x2c HCI_ERROR_QOS_UNACCEPTABLE_PARAMETER
+0x2d HIC_ERROR_QOS_REJECTED
+0x2e HIC_ERROR_CHANNEL_CLASSIFICATION_NOT_SUPPORTED
+0x2f HIC_ERROR_INSUFFICIENT_SECURITY
+0x30 HIC_ERROR_PARAMETER_OUT_OF_MANDATORY_PANGE
+0x32 HIC_ERROR_ROLE_SWITCH_PENDING
+0x34 HIC_ERROR_RESERVED_SLOT_VIOLATION
+0x35 HIC_ERROR_ROLE_SWITCH_FAILED
+0x36 HIC_ERROR_EXTENDED_INQUIRY_RESPONSE_TOO_LARGE
+0x37 HIC_ERROR_SIMPLE_PAIRING_NOT_SUPPORTED_BY_HOST
+0x38 HIC_ERROR_HOST_BUSY_PAIRING
+)
+
+(
+0x00 HCI_LPM_OFF
+0x01 HCI_LPM_ON
+)
+
+
+(
+33 HOST_WAKE_TIME
+)
+
+(
+1 HCI_RX_WAKE
+0 HCI_RX_READY
+)
+
+
+(
+/*HID TYPE*/
+0x01 HID_TYPE_CONTROL
+0x04 HID_TYPE_GET_REPORT
+0x05 HID_TYPE_SET_REPORT
+0x07 HID_TYPE_SET_PROTOCOL
+0x09 HID_TYPE_SET_IDLE
+0x0a HID_TYPE_DATA
+/*HID REPORT ID*/
+0x01 HID_REPORT_ID_KB
+
+0x00 HID_CONTROL_P_NOOPERATION
+0x01 HID_CONTROL_P_HARDRESET
+0x02 HID_CONTROL_P_SOFTRESET
+0x03 HID_CONTROL_P_SUSPEND
+0x04 HID_CONTROL_P_EXITSUSPEND
+0x05 HID_CONTROL_P_VIRTUALCABLEUNPLUG
+)
+
+
+8 KB_KSCAN_ROW 
+7 KB_KSCAN_ROW_1
+20 KB_KSCAN_COL
+19 KB_KSCAN_COL_1
+
+/* ks_ctrl */
+(
+0x01 KB_KSCAN_CTRL_ENABLE					
+0x02 KB_KSCAN_CTRL_FREEZE					
+0x04 KB_KSCAN_CTRL_GHOST					
+0x08 KB_KSCAN_CTRL_INT						
+0x10 KB_KSCAN_CTRL_CLKON					
+0x20 KB_KSCAN_CTRL_FIFO_CLR				
+                  
+0 KB_KSCAN_STAT_EMPTY
+1 KB_KSCAN_STAT_FULL 					
+2 KB_KSCAN_STAT_OVERFLOW				
+6 KB_KSCAN_STAT_GHOST 
+
+0 KB_KSCAN_KEY_EVENT_STAT
+0 KB_KSCAN_KEY_PRESS	
+1 KB_KSCAN_KEY_RELEASE
+
+)
+(
+0 CACEL_RECONN_FLAG
+1 KEY_EVENT_FLAG
+2 KEY_SEARCH_M_KEY_FLAG
+3 CHECK_VDD_LOW_FLAG
+)
+
+// MACRO for map2
+
+// MACRO for map2
+
+//map2 Functions definition
+ 0x00 KB_MAP2_FUNC_REPORT0
+ 0x01 KB_MAP2_FUNC_REPORT1
+ 0x02 KB_MAP2_FUNC_REPORT2
+ 0x80 KB_MAP2_FUNC_IGNORE
+ 0x81 KB_MAP2_FUNC_DISCOV
+ 0x82 KB_MAP2_FUNC_WIN
+ 0x83 KB_MAP2_FUNC_ANDROID
+ 0x84 KB_MAP2_FUNC_IOS
+ 0x85 KB_MAP2_FUNC_DEV1
+ 0x86 KB_MAP2_FUNC_DEV2
+ 0x87 KB_MAP2_FUNC_DEV3
+ 
+//map2 Status definition (bit map)
+ 0x01 KB_MAP2_STATUS_WIN
+ 0x02 KB_MAP2_STATUS_ANDROID
+ 0x04 KB_MAP2_STATUS_IOS
+ 0x10 KB_MAP2_STATUS_CONN
+ 0x20 KB_MAP2_STATUS_UNCONN
+ 
+ 0x00 KB_MAP2_STATUS_BIT_WIN
+ 0x01 KB_MAP2_STATUS_BIT_ANDROID
+ 0x02 KB_MAP2_STATUS_BIT_IOS
+ 0x04 KB_MAP2_STATUS_BIT_CONN
+ 0x05 KB_MAP2_STATUS_BIT_UNCONN
+
+// map2 report length
+8 KB_MAP2_REPORT_LENGTH
+0x08 KB_VK_MAX_LEN
+
+//map2 device button state
+0 KB_DEVICE_BUTTON_UP
+1 KB_DEVICE_BUTTON_DEVICE1
+2 KB_DEVICE_BUTTON_DEVICE2
+3 KB_DEVICE_BUTTON_DEVICE3
+0xff KB_DEVICE_BUTTON_ALREADY_LONG
+)
+
+//
+(
+0x01 REPORT_ID_1
+0x02 REPORT_ID_2
+0x03 REPORT_ID_3
+)
+
+(
+1 FLAG_VDD_LOW
+0 FLAG_VDD_NOT_LOW
+
+0x1fe9 EEPROM_ADDR_VDD_FLAG
+0x1fea EEPROM_ADDR_VDD_LOW_FLAG
+0x1fec EEPROM_SYSTEM_FALG
+
+)
+
+//Specil Function Key
+(
+0XFF SFK_ANDROID_MAP
+0XFE SFK_IOS_SCREENSHOT
+
+)
+0x39 CAPS_LOCK_DATA
+)
+
+(
+2 KB_TEST_MODE
+)
+/* special key codes */
+(
+0x1d KB_KCODE_1_M1
+0x27 KB_KCODE_0
+0x28 KB_KCODE_ENTER
+0x2a KB_KCODE_BKSP
+)
+
+/*DATA OUTPUT report id = 1*/
+0 KB_NUM_LOCK_SELECTED
+1 KB_CAPS_LOCK_SELECTED
+2 KB_SCROLL_LOCK_SELECTED
+
+
+0x1f  KB_UI_BUTTON_GPIO
+
+
+
+
+0x025d mem_l2cap_mem_start
+0x025d mem_l2cap_rxbuff1_len
+0x025f mem_l2cap_rxbuff2_len
+0x0261 mem_l2cap_rxbuff_new
+0x0263 mem_l2cap_rxbuff_inuse
+0x0264 mem_l2cap_payload_ptr
+0x0266 mem_l2cap_rx_pkt_length
+0x0268 mem_l2cap_rx_cid
+0x026a mem_l2cap_rx_done
+0x026b mem_l2cap_signal_tx_buff_ptr
+0x026d mem_l2cap_signal_tx_payload_ptr
+0x026f mem_l2cap_signal_tx_length
+0x0271 mem_sdp_tx_buff_ptr
+0x0273 mem_sdp_tx_payload_ptr
+0x0275 mem_sdp_tx_pkt_length
+0x0277 mem_rfcomm_tx_buff_ptr
+0x0279 mem_rfcomm_tx_payload_ptr
+0x027b mem_rfcomm_tx_pkt_length
+0x027d memL2CAP_T1
+0x027f mem_CONTROL_tasks
+0x0280 mem_send_config_req
+0x0281 mem_config_identifier
+0x0282 mem_config_req_dest_CID
+0x0284 mem_rfcomm_malloc_fail_flag
+0x0285 mem_message_to_uppersm
+0x0286 mem_upper_sm_remote_page
+0x0287 mem_upper_sm_reconn
+0x0288 mem_upper_sm_ss
+0x0289 mem_tx_malloc_log
+0x02c9 mem_l2cap_mem_end
+0x02c9 mem_scid
+0x02cb mem_cmd_length
+0x02cd mem_tt2
+0x02cf mem_tt3
+0x02d1 mem_id
+0x02d3 mem_psm
+0x02d5 mem_l2cap_sdpres_delay_time
+
+
+
+//mem_l2cap_lpm_txbuf
+(
+256 l2cap_lpm_txbuf_len
+)
+
+(
+4 L2CAP_TX_FIFO_SIZE
+8 L2CAP_TX_BUFF_CNT
+
+)
+(
+0x0002 L2CAP_SIG_EXT_FEATRUE
+0x0003 L2CAP_SIG_FIX_FEATRUE
+)
+
+
+(
+0 HS_IDLE
+1 AG_INIT_CALL
+2 HS_INIT_CALL
+)
+(
+0 M_ACL_LINK_ABSENT
+1 M_ACL_LINK_EXIST
+)
+
+(
+0 L2CAP_INUSE_BUFF1
+1 L2CAP_INUSE_BUFF2
+)
+/* upper layer interface w/ lower layer */
+(
+1 MAX_NUM_LINKS_ALLOWED
+1 MAX_NUM_SCO_ALLOWED
+1 ACL_LINK_PRESENT
+0 ACL_LINK_ABSENT
+)
+(
+1 L2CAP_RX_DONE 
+0 L2CAP_RX_CLEAR
+)
+/* Scheduler */
+(
+0 L2CAP_DISCONNECT_INTERRUPT
+1 RFCOMM_wants_service
+2 L2CAP_sig_Tx_buff_full
+3 RFCOMM_Tx_buff_full
+4 SDP_Tx_buff_full
+5 got_complete_L2CAP_pkt	
+6 L2CAP_init_Config_Req
+7 L2CAP_DISCONNECT_CONTROL
+)
+
+/* mem_CONTROL_tasks2 */
+(
+0 UI_NEED_SERVICE
+)
+/* L2CAP logic channel identifiers (2 bytes) p.261 */
+(
+0x0001 L2CAP_signal_channel
+0x0050 L2CAP_SDP_channel
+0x0051 L2CAP_RFCOMM_channel
+0x0052 L2CAP_HID_Control_channel   
+0x0053 L2CAP_HID_Interrupt_channel
+0x0077 L2CAP_AVDTP_signal_channel		//------avdtp
+0x0078 L2CAP_AVDTP_media_channel
+0x0079 L2CAP_AVDTP_report_channel
+0x0080 L2CAP_AVDTP_recovery_channel
+0x00dd L2CAP_AVCTP_Control_channel
+)
+/* L2CAP signalling command codes (1 byte) p.284 */
+(
+0x00 reserved
+0x01 signal_cmd_reject
+0x02 signal_connect_req
+0x03 signal_connect_rsp
+0x04 signal_config_req
+0x05 signal_config_rsp
+0x06 signal_disconnect_req
+0x07 signal_disconnect_rsp
+0x08 signal_echo_req
+0x09 signal_echo_rsp
+0x0a signal_info_req
+0x0b signal_info_rsp
+)
+/* L2CAP signal_command_reject reason code (2 bytes), p.285 */
+(
+0x0000 cmd_not_understood
+0x0001 signalling_MTU_exceeded
+0x0002 invalid_CID_in_req
+)
+/* L2CAP PSM values used in signal_connect_req (2 bytes), p.286 */
+(
+0x0001 PSM_SDP
+0x0003 PSM_RFCOMM
+0x0005 PSM_TCS
+0x0011 PSM_HID_control
+0x0013 PSM_HID_interrupt
+0x0017 PSM_AVCTP
+0x0019 PSM_AVDTP
+)
+/* L2CAP connection response result code (2 bytes), p.288 */
+(
+0x0000 L2CAP_connect_successful
+0x0001 L2CAP_connect_pending
+0x0002 L2CAP_connect_refused_PSM_unsupported
+0x0003 L2CAP_connect_refused_security_block
+0x0004 L2CAP_connect_refused_no_resources
+)
+/* L2CAP connection status values (2 bytes), p.288 */
+(
+0x0000 L2CAP_no_info_available
+0x0001 L2CAP_authentication_pending
+0x0002 L2CAP_authorization_pending
+)
+/* L2CAP configuration response result code (2 bytes), p.292 */
+(
+0x0000 L2CAP_config_success
+0x0001 L2CAP_config_failure_bad_parameters
+0x0002 L2CAP_config_failure_no_reason
+0x0003 L2CAP_config_failure_unknown_options
+)
+/* L2CAP constant definitions */
+(
+128 L2CAP_Rx_buff_size
+48  L2CAP_signal_Tx_buff_size
+128 SDP_Tx_buff_size
+128 RFCOMM_Tx_buff_size
+1 AM_ADDRESS
+3 DM1TYPE
+4 DH1TYPE
+11 DH3TYPE
+8 DVTYPE
+0 channel_state_closed
+1 channel_state_config
+2 channel_state_open
+0x0030 L2CAP_config_MTU_SDP
+0xffff L2CAP_config_ftimeout_SDP
+0x03e3 L2CAP_config_MTU_RFCOMM
+0xffff L2CAP_config_ftimeout_RFCOMM
+260 l2cap_max_pkt_len
+)
+
+(
+0 FAILURE
+1 SUCCESS
+2 IN_PROGRESS
+)
+(
+0x00	IDLE
+0x01	WAIT_4_BB_PAGE
+0x02	WAIT_4_LMP_CONN
+0x03	WAIT_4_SCO_CONN
+0x04	WAIT_4_SCO_KILLED
+)
+
+/*mem_master_mss*/
+(
+0 STOP_ENC
+1 SEND_SWITCH_REQ
+)
+(
+0 HF_HS_READY
+1 HF_AG_READY
+)
+/* mem_hf_state */
+(
+0 HF_STATE_WAITING_RFCOMM_CONN
+1 HF_STATE_HF_SEND_FEATURE
+2 HF_STATE_WAITING_AG_FEATURE_OK
+3 HF_STATE_HF_SEND_INDICATORS
+4 HF_STATE_WAITING_AG_INDICATORS_OK
+5 HF_STATE_HF_SEND_CURR_STATUS
+6 HF_STATE_WAITING_AG_STATUS_OK
+7 HF_STATE_HF_SEND_UPDATE_STATUS
+8 HF_STATE_WAITING_AG_UPDATE_STATUS_OK
+9 HF_STATE_CONNECTED
+0x0a HF_STATE_HF_SEND_RECEIVE_INFO
+0x0b HF_STATE_WAITING_AG_INFO
+0x0c HF_STATE_HF_SEND_AT_CLIP
+0x0d HF_STATE_WAITING_AT_CLIP
+0x0e HF_STATE_HF_SEND_AT_CCWA
+0x0f HF_STATE_WAITING_AT_CCWA
+)
+/*mem_hf_call_state*/
+(
+0 HF_CALL_STATE_INACTIVE
+1 HF_CALL_STATE_SETUP
+2 HF_CALL_STATE_ACTIVE 
+)
+/* mem_pairing_state bit definition */
+(
+0 PAIR_INQUIRY_START
+1 PAIR_INQUIRY_TIME_OUT
+2 PAIR_INQUIRY_FAILED
+3 PAIR_INQUIRY_SUCCESS
+4 PAIR_READY_CONN
+5 PAIR_WAIT_CANCEL_RESPONSE
+6 PAIR_CONN_SUCCESS
+7 PAIR_WAIT_DETACH
+)  
+
+/* mem_pairing_mode bit definition */
+(
+0 FORCE_AUTHENTICATION
+)
+/* mem_hid_protecol_type */
+(
+0 PROTECOL_BOOT /*default*/
+1 PROTECOL_REPORT
+)
+
+/* mem_upper_sm_reconn */
+(
+1 UPPERSM_SEND_SDP_CONN_REQ
+2 UPPERSM_SEND_SDP_CFG_REQ
+3 UPPERSM_SEND_SDP_HF_SS
+4 UPPERSM_SEND_SDP_DISC_REQ
+5 UPPERSM_SEND_RFCOMM_CONN_REQ
+6 UPPERSM_SEND_RFCOMM_CFG_REQ
+7 UPPERSM_SEND_SABM_CMD
+8 UPPERSM_SEND_DISC
+9 UPPERSM_SEND_WAIT
+10 UPPERSM_SEND_HID_CONTROL_CONN_REQ
+11 UPPERSM_SEND_HID_CONTROL_CFG_REQ
+12 UPPERSM_SEND_HID_INTERRUPT_CONN_REQ
+13 UPPERSM_SEND_HID_INTERRUPT_CFG_REQ
+14 UPPERSM_SEND_SDP_HS_SS
+15 UPPERSM_SEND_SDP_PBAP_SS
+16 UPPERSM_SEND_SDP_AVTARG_SS
+)
+/* mem_upper_sm_remote_page */
+(
+1 UPPERSM_RP_SEND_SDP_CONN_REQ
+2 UPPERSM_RP_SEND_SDP_CFG_REQ
+3 UPPERSM_RP_SEND_SDP_HF_SS
+4 UPPERSM_RP_SEND_SDP_HS_SS
+5 UPPERSM_RP_SEND_SDP_PBAP_SS
+6 UPPERSM_RP_SEND_SDP_AVTARG_SS
+7 UPPERSM_RP_SEND_SDP_DISC_REQ
+8 UPPERSM_RP_SEND_AVCTP_CONN_REQ
+9 UPPERSM_RP_SEND_AVCTP_CFG_REQ
+)
+
+/* mem_ML2CAP_flag */
+(
+0 MSCHEDULER_HID_CONTROL_CONN_DONE
+1 MSCHEDULER_HID_INTERRUPT_CONN_DONE
+2 MSCHEDULER_HID_CONTROL_CFG_REQ_DONE
+3 MSCHEDULER_HID_CONTROL_CFG_RSP_DONE
+4 MSCHEDULER_HID_INTERRUPT_CFG_REQ_DONE
+5 MSCHEDULER_HID_INTERRUPT_CFG_RSP_DONE
+6 MSCHEDULER_HID_CONTROL_DISC_DONE
+7 MSCHEDULER_HID_INTERRUPT_DISC_DONE
+)
+/*    ui event    --add by lj*/
+(
+0x00 UI_DATA_EVNET_NONE
+0x01 UI_DATA_EVNET_HID
+0x02 UI_DATA_EVNET_AVDTP_S
+0x03 UI_DATA_EVNET_AVDTP_M
+0x04 UI_DATA_EVNET_AVCTP
+0x05 UI_DATA_EVNET_HS
+0x06 UI_DATA_EVNET_HF
+0x07 UI_DATA_EVNET_SPP
+0x08 UI_DATA_EVNET_OBEX
+)
+/*    ui ack --add by lj*/
+(
+0x00 UI_DATA_TX_NONE
+0x01 UI_DATA_TX_HID
+0x02 UI_DATA_TX_AVDTP_S
+0x03 UI_DATA_TX_AVDTP_M
+0x04 UI_DATA_TX_AVCTP
+0x05 UI_DATA_TX_HS
+0x06 UI_DATA_TX_HF
+0x07 UI_DATA_TX_SPP
+0x08 UI_DATA_TX_OBEX
+0x10 ACL_TX_L2CAP_SIGNAL
+0x11 ACL_TX_SDP
+0x12 ACL_TX_RFCOMM
+
+)
+
+(
+0 L2CAP_SDP_interface_conn
+1 L2CAP_SDP_interface_cfg
+)
+
+(                                   
+0 L2CAP_CHANNEL_STATE_CONN_REQ      
+1 L2CAP_CHANNEL_STATE_CONN_RES      
+2 L2CAP_CHANNEL_STATE_SND_CFG_REQ   
+3 L2CAP_CHANNEL_STATE_SND_CFG_RES   
+4 L2CAP_CHANNEL_STATE_RCV_CFG_REQ   
+5 L2CAP_CHANNEL_STATE_RCV_CFG_RES
+6 L2CAP_CHANNEL_RFCOMM_ONLY_SABM
+7 L2CAP_CHANNEL_RFCOMM_ONLY_UA
+6 L2CAP_CHANNEL_AVDTP_SIGNAL_INIT //set avdtp init complete
+6 L2CAP_CHANNEL_HID_HANDSHAKE_DONE
+0x3f L2CAP_CHANNEL_SETUP_COMPLETE
+0x7f L2CAP_CHANNEL_AVDTP_SIGNAL_COMPLETE
+0xff L2CAP_CHANNEL_RFCOMM_DLCI0_OPENED
+)                                     
+
+/*  AVDTP---lj*/
+(
+0 L2CAP_AVDTP_SIGNAL_CONNECT
+1 L2CAP_AVDTP_SIGNAL_CONFIG
+2 L2CAP_AVDTP_MEDIA_CONNECT
+3 L2CAP_AVDTP_MEDIA_CONFIG
+4 L2CAP_AVDTP_REPORT_CONNECT
+5 L2CAP_AVDTP_REPORT_CONFIG
+6 L2CAP_AVDTP_RECOVERY_CONNECT
+7 L2CAP_AVDTP_RECOVERY_CONFIG
+)
+/*  AVCTP---lj*/
+(
+0 L2CAP_AVCTP_SIGNAL_CONNECT
+1 L2CAP_AVCTP_SIGNAL_CONFIG
+)
+
+127 L2CAP_SIGNAL_MALLOC_SIZE
+
+//1 mem_rfcomm_malloc_fail_flag
+(
+0 RFCOMM_MALLOC_SUCCEED
+1 RFCOMM_MALLOC_FAIL
+)
+
+//mem_l2cap_flow_ctrl_flag
+(
+0 L2CAP_FLOW_CTRL_DISABLE
+1 L2CAP_FLOW_CTRL_ENABLE
+)
+
+
+0x02d9 mem_le_rxbuf
+0x0311 mem_le_l2capbuf
+0x0417 mem_le_mic
+0x041b mem_le_peer_mic
+0x041f mem_le_peer_ltk
+0x042f mem_le_mrand
+0x043f mem_le_state
+0x0440 mem_le_mode
+0x0441 mem_le_tsniff
+0x0443 mem_le_anchor
+0x0447 mem_le_clk_offset
+0x044d mem_le_receive_window
+0x044f mem_le_plap
+0x0455 mem_le_conn_handle
+0x0456 mem_le_arq
+0x0457 mem_le_ch
+0x0458 mem_le_hop
+0x0459 mem_le_event_count
+0x045b mem_le_supervision_timer
+0x045f mem_le_instant
+0x0461 mem_le_channels
+0x0462 mem_le_op
+0x0463 mem_le_access
+0x0467 mem_le_crcinit
+0x046a mem_le_window_size
+0x046b mem_le_slave_latency
+0x046d mem_le_superto
+0x046f mem_le_channel_map
+0x0474 mem_le_no_using
+0x0476 mem_le_peer_sca
+0x0477 mem_le_att_opcode
+0x0478 mem_le_att_handle
+0x047a mem_le_err_code
+0x047b mem_le_ll_pairing_fail_reason
+0x047c mem_le_sk
+0x048c mem_le_testtype
+0x048d mem_le_test_sync
+0x048f mem_le_test_pcnt
+0x0491 mem_le_rxon_ts
+0x0497 mem_le_rx_ll_opcode
+0x0498 mem_le_notify_attr_start
+0x049a mem_le_notify_len
+0x049b mem_cmd_le_create_conn
+0x049c mem_le_cur_attlist_start_ptr
+0x049e mem_le_cur_handle_start
+0x04a0 mem_le_cur_handle_end
+0x04a2 mem_le_cur_uuid_length
+0x04a3 mem_le_cur_uuid
+0x04b3 mem_le_curr_att_len
+0x04b4 mem_le_search_res
+0x04b5 mem_le_continue_type
+
+
+
+(
+20 notify_handle
+2 param_max_slaves
+1636 param_sifs
+0x000a06 param_le_version
+0x1d87 param_le_subversion
+0x000001 param_le_features
+23 param_le_mtu
+16 param_le_scan_interval
+16 param_le_scan_window
+0x1e0 param_clke_cal_le
+0x1000302 param_smp_paring_response		/* for mouse, noinputnooutput */
+0x010410 param_smp_key_dist	
+0xa0 param_le_sca
+)
+
+(
+0 DEFAULT_STATES
+1 IPHONE_LOST_LTK
+2 MODULE_LOST_LTK
+3 LTK_NOT_LOST
+)
+
+(
+0 FLAG_BLE_INSUFFICIENT_AUTHENTICATION
+1 FLAG_BLE_COPY_MASTER_DATA_TO_ATT_LIST
+)
+
+/*LE MOUSE-KB*/
+(
+1 LE_CONTEXT_STATE_KB
+2 LE_CONTEXT_STATE_MOUSE
+
+3 USB_MOUSE_DATA_CMD
+
+1 SEND_MOUSE_DATA_CMD
+2 SEND_KB_DATA_CMD
+)
+
+
+  (
+  	0 LE_M_STATE_SLAVE1_STANDBY
+  	1 LE_M_STATE_SLAVE1_ADVERTISING
+  	2 LE_M_STATE_SLAVE1_SCANNING
+  	3 LE_M_STATE_SLAVE1_INITIATING
+  	4 LE_M_STATE_SLAVE1_CONNECTED
+  	5 LE_M_STATE_SLAVE1_RFU_1
+  	6 LE_M_STATE_SLAVE1_RFU_2
+  	7 LE_M_STATE_SLAVE1_RFU_3
+  )
+
+  (
+  	0 LE_M_STATE_SLAVE2_STANDBY
+  	1 LE_M_STATE_SLAVE2_ADVERTISING
+  	2 LE_M_STATE_SLAVE2_SCANNING
+  	3 LE_M_STATE_SLAVE2_INITIATING
+  	4 LE_M_STATE_SLAVE2_CONNECTED
+  	5 LE_M_STATE_SLAVE2_CONNECT_INIT
+  	6 LE_M_STATE_SLAVE2_RFU_2
+  	7 LE_M_STATE_SLAVE2_RFU_3
+  )
+
+  	(
+	0 LE_SM_IDLE
+	1 LE_SM_FBTV_1800
+	2 LE_SM_FBTV_1800_WAIT
+	3 LE_SM_RBT_DEVICE_NAME
+	4 LE_SM_RBT_DEVICE_NAME_WAIT
+	5 LE_SM_FBTV_1801
+	6 LE_SM_FBTV_1801_WAIT
+	7 LE_SM_RBT_DEVICE_CHARACTER
+	8 LE_SM_RBT_DEVICE_CHARACTER_WAIT
+	
+  	)
+
+/* advertising channel PDU type */
+(
+0 ADV_IND
+1 ADV_DIRECT_IND
+2 ADV_NONCONN_IND
+3 SCAN_REQ
+4 SCAN_RSP
+5 CONNECT_REQ
+6 ADV_SCAN_IND
+)
+
+	/* tx packet type */
+	(
+	0x20 XT_LL_CONNECTION_UPDATE_REQ
+	0x21 XT_LL_CHANNEL_MAP_REQ
+	0x22 XT_LL_TERMINATE_IND
+	0x23 XT_LL_ENC_REQ
+	0x24 XT_LL_ENC_RSP
+	0x25 XT_LL_START_ENC_REQ
+	0x26 XT_LL_START_ENC_RSP
+	0x27 XT_LL_UNKNOWN_RSP
+	0x28 XT_LL_FEATURE_REQ
+	0x29 XT_LL_FEATURE_RSP
+	0x2A XT_LL_PAUSE_ENC_REQ
+	0x2B XT_LL_PAUSE_ENC_RSP
+	0x2C XT_LL_VERSION_IND
+	0x2D XT_LL_REJECT_IND
+	0x2E XT_LL_SLAVE_FEATURE_REQ
+	0x2F XT_LL_CONNECTION_PARAM_REQ
+	0x30 XT_LL_CONNECTION_PARAM_RSP
+	0x31 XT_LL_REJECT_IND_EXT
+	0x32 XT_LL_PING_REQ
+	0x33 XT_LL_PING_RSP
+	0x41 XT_SMP_PAIRING_REQUEST
+	0x42 XT_SMP_PAIRING_RESPONSE
+	0x43 XT_SMP_PAIRING_CONFIRM
+	0x44 XT_SMP_PAIRING_RANDOM
+	0x45 XT_SMP_PAIRING_FAILED
+	0x46 XT_SMP_ENCRYPTION_INFORMATION
+	0x47 XT_SMP_MASTER_IDENTIFICATION
+	0x48 XT_SMP_IDENTITY_INFORMATION
+	0x49 XT_SMP_IDENTITY_ADDRESS_INFORMATION
+	0x4A XT_SMP_SIGNING_INFORMATION
+	0x4B XT_SMP_SECURITY_REQUEST
+	0x4c XT_SMP_PAIRING_PUBLIC_KEY
+	0x4d XT_SMP_PAIRING_DHKEY_CHECK
+	)
+
+
+	/* LE control packet type */
+	(
+	0x00 LL_CONNECTION_UPDATE_REQ
+	0x01 LL_CHANNEL_MAP_REQ
+	0x02 LL_TERMINATE_IND
+	0x03 LL_ENC_REQ
+	0x04 LL_ENC_RSP
+	0x05 LL_START_ENC_REQ
+	0x06 LL_START_ENC_RSP
+	0x07 LL_UNKNOWN_RSP
+	0x08 LL_FEATURE_REQ
+	0x09 LL_FEATURE_RSP
+	0x0A LL_PAUSE_ENC_REQ
+	0x0B LL_PAUSE_ENC_RSP
+	0x0C LL_VERSION_IND
+	0x0D LL_REJECT_IND
+	0x0E LL_SLAVE_FEATURE_REQ
+	0x0F LL_CONNECTION_PARAM_REQ
+	0x10 LL_CONNECTION_PARAM_RSP
+	0x11 LL_REJECT_IND_EXT
+	0x12 LL_PING_REQ
+	0x13 LL_PING_RSP
+	)
+
+	/* Security Manager Protocol Code */
+	(
+	0x01 SMP_PAIRING_REQUEST
+	0x02 SMP_PAIRING_RESPONSE
+	0x03 SMP_PAIRING_CONFIRM
+	0x04 SMP_PAIRING_RANDOM
+	0x05 SMP_PAIRING_FAILED
+	0x06 SMP_ENCRYPTION_INFORMATION
+	0x07 SMP_MASTER_IDENTIFICATION
+	0x08 SMP_IDENTITY_INFORMATION
+	0x09 SMP_IDENTITY_ADDRESS_INFORMATION
+	0x0A SMP_SIGNING_INFORMATION
+	0x0B SMP_SECURITY_REQUEST
+	0x0c SMP_PAIRING_PUBLIC_KEY
+	0x0d SMP_PAIRING_DHKEY_CHECK
+	)
+
+	/* ATT OPCODE */
+	(
+	0x01 ATTOP_ERROR_RESPONSE
+	0x02 ATTOP_EXCHANGE_MTU_REQUEST
+	0x03 ATTOP_EXCHANGE_MTU_RESPONSE
+	0x04 ATTOP_FIND_INFORMATION_REQUEST
+	0x05 ATTOP_FIND_INFORMATION_RESPONSE
+	0x06 ATTOP_FIND_BY_TYPE_VALUE_REQUEST
+	0x07 ATTOP_FIND_BY_TYPE_VALUE_RESPONSE
+	0x08 ATTOP_READ_BY_TYPE_REQUEST
+	0x09 ATTOP_READ_BY_TYPE_RESPONSE
+	0x0A ATTOP_READ_REQUEST
+	0x0B ATTOP_READ_RESPONSE
+	0x0C ATTOP_READ_BLOB_REQUEST
+	0x0D ATTOP_READ_BLOB_RESPONSE
+	0x0E ATTOP_READ_MULTIPLE_REQUEST
+	0x0F ATTOP_READ_MULTIPLE_RESPONSE
+	0x10 ATTOP_READ_BY_GROUP_TYPE_REQUEST
+	0x11 ATTOP_READ_BY_GROUP_TYPE_RESPONSE
+	0x12 ATTOP_WRITE_REQUEST
+	0x13 ATTOP_WRITE_RESPONSE
+	0x16 ATTOP_PREPARE_WRITE_REQUEST
+	0x17 ATTOP_PREPARE_WRITE_RESPONSE
+	0x18 ATTOP_EXECUTE_WRITE_REQUEST
+	0x19 ATTOP_EXECUTE_WRITE_RESPONSE
+	0x1B ATTOP_HANDLE_VALUE_NOTIFICATION
+	0x1D ATTOP_HANDLE_VALUE_INDICATION
+	0x1E ATTOP_HANDLE_VALUE_CONFIRMATION
+	0x52 ATTOP_WRITE_COMMAND
+	0xD2 ATTOP_SIGNED_WRITE_COMMAND
+	0x1f ATTOP_CONTINUE
+	0x9e EMPTY_LE_DATA_PRE
+	0x9f EMPTY_LE_DATA
+	)
+
+	/* ATT error code */
+	(
+	0x01 ATT_ERR_INVALID_HANDLE
+	0x02 ATT_ERR_READ_NOT_PERMITTED
+	0x03 ATT_ERR_WRITE_NOT_PERMITTED
+	0x04 ATT_ERR_INVALID_PDU
+	0x05 ATT_ERR_INSUFFICIENT_AUTHENTICATION
+	0x06 ATT_ERR_REQUEST_NOT_SUPPORTED
+	0x07 ATT_ERR_INVALID_OFFSET
+	0x08 ATT_ERR_INSUFFICIENT_AUTHORIZATION
+	0x09 ATT_ERR_PREPARE_QUEUE_FULL
+	0x0A ATT_ERR_ATTRIBUTE_NOT_FOUND
+	0x0B ATT_ERR_ATTRIBUTE_NOT_LONG
+	0x0C ATT_ERR_INSUFFICIENT_ENCRYPTION_KEY_SIZE
+	0x0D ATT_ERR_INVALID_ATTRIBUTE_VALUE_LENGTH
+	0x0E ATT_ERR_UNLIKELY_ERROR
+	0x0F ATT_ERR_INSUFFICIENT_ENCRYPTION
+	0x10 ATT_ERR_UNSUPPORTED_GROUP_TYPE
+	0x11 ATT_ERR_INSUFFICIENT_RESOURCES
+	)
+	/*	SERVICE UUID	*/
+	(
+	0x1800 UUID_SERVICE_GENERIC_ACC
+	0x1801 UUID_SERVICE_GENERIC_ATT
+	0x180a UUID_SERVICE_DEVICE_INFO
+	0x180f UUID_SERVICE_BATTERY
+	0x1812 UUID_SERVICE_HIDS
+	0x2800 UUID_GATT_PRIMARY_SERVICE
+	0x2801 UUID_GATT_SECONDARY_SERVICE
+	0X2802 UUID_GATT_INCLUDE
+	0X2803 UUID_GATT_CHARACTERISTIC
+	0X2A00 UUID_CHRCTR_DEVICE_NAME
+	0X2A19 UUID_CHRCTR_BATTERY_LEVEL
+	0X2A22 UUID_CHRCTR_KEYBOARD_INPUT
+	0X2A23 UUID_CHRCTR_SYSTEM_ID 
+	0X2A25 UUID_CHRCTR_SERIAL_NUMBER
+	0X2A26 UUID_CHRCTR_FIRMWARE
+	0X2A32 UUID_CHRCTR_KEYBOARD_OUTPUT
+	0X2A33 UUID_CHRCTR_MOUSE_INPUT
+	0X2A4A UUID_CHRCTR_HID_INFO
+	0X2A4B UUID_CHRCTR_REPORT_MAP
+	0X2A4C UUID_CHRCTR_HID_CTRL_POINT
+	0X2A4D UUID_CHRCTR_REPORT
+	0X2A4E UUID_CHRCTR_PROTOCOL_MODE
+	)
+
+	(// pairing failed reason
+	0x00 PAIRING_FAILED_RESERVED
+	0X01 PAIRING_FAILED_PASSKEY_ENTRY_FAILED
+	0X02 PAIRING_FAILED_OOB_NOT_AVAILABLE
+	0X03 PAIRING_FAILED_AUTHENTICATION_REQUIRE
+	0X04 PAIRING_FAILED_CONFIRM_VALUE_FAILED
+	0X05 PAIRING_FAILED_PAIRING_NOT_SUPPORTED
+	0X06 PAIRING_FAILED_ENCRYPTION_KEY_SIZE
+	0X07 PAIRING_FAILED_COMMAND_NOT_SUPPORTED
+	0X08 PAIRING_FAILED_UNSPECIFIED_REASON
+	0X09 PAIRING_FAILED_REPEATED_ATTEMPTS
+	0X0A PAIRING_FAILED_INVALID_PARAMETERS
+	0X0B PAIRING_FAILED_DHKEY_CHECK_FAILED
+	0X0C PAIRING_FAILED_NUMERIC_COMPARISON_FAILED
+	0X0D PAIRING_FAILED_BR_EDR_PAIRING_IN_PROGRESS
+	0X0E PAIRING_FAILED_KEY_DERIVATION_GENERATION_NOT_ALLOWED
+	)
+
+	//modified_name
+	(
+	0x14 MAX_NAME_LEN
+	0x16 ADV_DATA_NAME_LEN
+	0X20 SPACE
+	
+	)
+	/* GATT Specifications*/
+	(
+	0X2900 CHARACTERTIC_EXTENDED_PROPERTIES
+	0X2901 CHARACTERTIC_USER_DESCRIPTION
+	0X2902 CLIENT_CHARACTERTIC_CONFIGURATION
+	0X2903 SERVER_CHARACTERTIC_CONFIGURATION
+	0X2904 CHARACTERTIC_PRESENTATION_FORMAT
+	0X2905 CHARACTERTIC_AGGREGATE
+	0X2906 VALID_RANGE
+	0X2907 EXTERNAL_REPORT_REFERENCE
+	0X2908 REPORT_REFERENCE
+	0X290B ENVIR_SENSING_CONFIGURATION
+	0X290C ENVIR_SENSING_MEASUREMENT
+	0X290D ENVIR_SENSING_TRIGGER_SETTING
+	)
+	/* LE L2CAP CID */
+	(
+	0x04 LE_L2CAP_CID_ATT
+	0x05 LE_L2CAP_CID_SIGNAL
+	0x06 LE_L2CAP_CID_SMP
+	)
+
+	//LE address type
+	(
+	0 LE_ADDR_TYPE_PUBLIC
+	1 LE_ADDR_TYPE_RANDOM
+	)
+	//LE address type bitmap
+	(
+	7 LE_RECEIVER_ADDR_BIT
+	6 LE_SENDER_ADDR_BIT
+	)
+	//LE SCAN TYPE
+	(
+	0x00 LE_SCAN_TYPE_PASSIVE //no SCAN_REQ shall be sent
+	0x01 LE_SCAN_TYPE_ACTIVE
+	)
+
+	//LE SCAN ENABLE
+	(
+	0x00 LE_SCAN_DISABLE
+	0x01 LE_SCAN_ENABLE
+	0x0101 LE_ACTIVE_SCAN_ENABLE
+	)
+
+	//LE FIND INFORMATION RESPONSE
+	//THE FORMAT OF THE INFORMATION DATA
+	(
+	0x01 UUID_SIZE_16BIT
+	0x02 UUID_SIZE_128BIT
+	)
+
+	(
+	0x0000 BLE_SIGNALING_CONNECT_PARAMETER_UPDATE_ACCEPTED
+	0x0001 BLE_SIGNALING_CONNECT_PARAMETER_UPDATE_REJECTED
+	)
+
+
+//	le_state_map 0-2 is reserved for state_inconn,state_insniff and state_sco
+(
+3 lestate_got_first_packet
+4 lestate_encryption
+5 lestate_update_param
+6 lestate_update_map
+)
+
+// 	le mode
+(
+0 lemode_idle
+1 lemode_slave
+3 lemode_master
+)
+
+(
+0x01 LLID_CONTINUE
+0x02 LLID_START
+0x03 LLID_LE_LL
+0x01 LLID_EMPTY
+)
+
+(
+4 LE_TX_BUFF_COUNT
+3 LE_TX_BUFF_UPDATE_LOOPCNT //LE_TX_BUFF_COUNT-1
+
+12 LE_MD_MAX_COUNT
+)
+
+(
+0 LE_CONTINUE_TYPE_NULL
+1 LE_CONTINUE_TYPE_NOTIFICATION
+2 LE_CONTINUE_TYPE_PREPARE_WRITE_RESPONSE 
+)
+
+(
+0X00	LE_PAIRING_MODE_NONE
+0X01	LE_PAIRING_MODE_LAGACY_JUSTWORK
+0X02	LE_PAIRING_MODE_LAGACY_PASSKEY
+0x81	LE_PAIRING_MODE_SECURE_CONNECT_JUSTWORK
+0x82	LE_PAIRING_MODE_SECURE_CONNECT_NUMERIC
+0X83	LE_PAIRING_MODE_SECURE_CONNECT_PASSKEY
+
+7 LE_PAIRING_MODE_SECURE_CONNECT_BIT
+)
+
+
+(
+0 FLAG_IOCAP_DISPLAYONLY
+1 FLAG_IOCAP_DISPLAYYESNO
+2 FLAG_IOCAP_KEYBOARDONLY
+3 FLAG_IOCAP_NOINPUTNOOUTPUT
+4 FLAG_IOCAP_KEYBOARDDISPLAY
+
+0x00 FLAG_OOB_DATA_FLAG_NO
+)
+
+(
+0X00 FLAG_LE_NO_BONDING_NO_MITM
+0X01 FLAG_LE_BONDING_NO_MITM
+0X04 FLAG_LE_NO_BONDING_MITM
+0X05 FLAG_LE_BONDING_MITM
+0X09 FLAG_LE_BONDING_NO_MITM_SECURE
+0X0D FLAG_LE_BONDING_MITM_SECURE
+
+2 LE_AUTH_MITM_BIT
+3 LE_AUTH_SECURE_CONNECTION_PAIRING_BIT
+)
+
+(
+0  LE_FIND_BY_TYPE_VAL_RES_NOT_FOUND
+1  LE_FIND_BY_TYPE_VAL_RES_FOUND_STARTING_HANDLE
+2  LE_FIND_BY_TYPE_VAL_RES_FOUND_ENDING_HANDLE
+
+)
+
+(
+0 MASTER_PUBLIC_ADDR
+1 MASTER_RANDOM_ADDR
+)
+
+(
+0x06 LE_ERR_PIN_OR_KEY_MISSING
+)
+
+(
+96000 TIMER_SMP_PAIRING_TIMEOUT //30S
+)
+
+//mem_le_pairing_state
+(
+0 FLAG_LE_PAIRING_NULL
+1 FLAG_LE_PAIRING_START
+2 FLAG_LE_PAIRING_SEND_RECURITY_REQ
+3 FLAG_LE_PAIRING_RCV_PAIRING_REQ
+4 FLAG_LE_PAIRING_AUTH
+5 FLAG_LE_PAIRING_AFTER_AUTH
+6 FLAG_LE_PAIRING_SEND_START_ENC_RSP
+7 FLAG_LE_PARING_SEND_ENC_INFORMATION
+8 FLAG_LE_PARING_SEND_MASTER_IDENTIFICATION 
+9 FLAG_LE_PARING_SEND_INDENTITY_INFORMATION
+0xff FLAG_LE_PAIRING_END
+)
+
+/*LE secure connect state */
+(
+0x00 LE_SC_STAT_NULL
+0x01 LE_SC_STAT_RECEIVE_PUBLIC_KEY
+0x02 LE_SC_STAT_WAIT_SEND_PUBLIC_KEY
+0x03 LE_SC_STAT_SEND_PUBLIC_KEY
+0x04 LE_SC_STAT_RECEIVE_RANDOM
+0x05 LE_SC_STAT_SEND_RANDOM
+0x06 LE_SC_STAT_RECEIVE_DHKEY
+0x07 LE_SC_STAT_WAIT_CONFIRM_GKEY
+0x08 LE_SC_STAT_PASSKEY_WAIT_CONFIRM
+)
+
+(
+0 FLAG_LE_SC_CONFRIM_NULL
+1 FLAG_LE_SC_CONFRIM_GKEY_OK
+)
+
+//mem_le_enc_state
+(
+0 FLAG_LE_ENC_NULL
+1 FLAG_LE_RCV_ENC_START
+2 FLAG_LE_ENC_PAUSE
+3 FLAG_LE_RCV_START_ENC_RSP
+4 FLAG_LE_SEND_START_ENC_RSP
+0xff FLAG_LE_ENC_END
+)
+
+(//mem_le_configuration
+//bit0:use fixed key , ble passkey pairing
+0 BIT_BLE_PASSKEY_FIXED_KEY
+//bit1:ble pairing use fixed long term key
+1 BIT_BLE_PAIRING_FIXED_LTK
+//bit2:ble transmit packet will set more data flag
+2 BIT_BLE_TRANSMIT_PACKET_BY_MD
+//bit3:master read handle, with requires an authenticated link
+3 BIT_BLE_READ_AUTH
+//bit4:master write handle, with requires an authenticated link
+4 BIT_BLE_WRITE_AUTH
+//bit5:cannot enter long sleep
+5 BIT_BLE_SHORT_MULT
+
+)
+
+(
+0 BIT_ADV_CHANNEL_MAP_37
+1 BIT_ADV_CHANNEL_MAP_38
+2 BIT_ADV_CHANNEL_MAP_39
+)
+
+0x04b6 mem_lmo_header_length
+0x04b7 mem_lmo_header_opcode
+0x04b8 mem_lmo_payload
+0x04c9 mem_lmi_accepted_opcode
+0x04ca mem_disconn_reason_send
+0x04cb mem_tx_fixed_freq
+0x04cc mem_rx_fixed_freq
+0x04cd mem_ext_features_page
+0x04ce mem_lmpext_ssp_enable
+0x04d0 mem_remote_sppcap
+0x04d1 mem_lmp_conn_state
+0x04d2 mem_soft_timer
+0x04d4 mem_pincode_state
+0x04d5 mem_sres_tid
+0x04d6 mem_accptsco_tid
+0x04d7 mem_auth_enable
+0x04d8 mem_wait_encryption
+0x04d9 mem_sniff_payload
+0x04e9 mem_aurand_send_delay_time
+
+	(
+	//bit map
+	0 pair_state_inrand
+	1 pair_state_inrand_acpt
+	2 pair_state_send_comb
+	3 pair_state_recv_comb
+	4 pair_state_send_aurand
+	5 pair_state_recv_sres
+	6 pair_state_recv_aurand
+	7 pair_state_send_sres	
+	)
+	/* LMP opcodes */
+	(
+	1 LMP_NAME_REQ 
+	2 LMP_NAME_RES 
+	3 LMP_ACCEPTED 
+	4 LMP_NOT_ACCEPTED 
+	5 LMP_CLKOFFSET_REQ 
+	6 LMP_CLKOFFSET_RES 
+	7 LMP_DETACH 
+	8 LMP_IN_RAND 
+	9 LMP_COMB_KEY 
+	10 LMP_UNIT_KEY 
+	11 LMP_AU_RAND 
+	12 LMP_SRES 
+	13 LMP_TEMP_RAND 
+	14 LMP_TEMP_KEY 
+	15 LMP_ENCRYPTION_MODE_REQ 
+	16 LMP_ENCRYPTION_KEY_SIZE_REQ 
+	17 LMP_START_ENCRYPTION_REQ 
+	18 LMP_STOP_ENCRYPTION_REQ 
+	19 LMP_SWITCH_REQ 
+	20 LMP_HOLD
+	21 LMP_HOLD_REQ
+	23 LMP_SNIFF_REQ 
+	24 LMP_UNSNIFF_REQ 
+	26 LMP_PARK_REQ 
+	27 LMP_SET_BROADCAST_SCAN_WINDOW 
+	28 LMP_MODIFY_BEACON 
+	29 LMP_UNPARK_BD_ADDR_REQ 
+	30 LMP_UNPARK_PM_ADDR_REQ 
+	31 LMP_INCR_POWER_REQ 
+	32 LMP_DECR_POWER_REQ 
+	33 LMP_MAX_POWER 
+	34 LMP_MIN_POWER 
+	35 LMP_AUTO_RATE 
+	36 LMP_PREFERRED_RATE 
+	37 LMP_VERSION_REQ 
+	38 LMP_VERSION_RES 
+	39 LMP_FEATURES_REQ 
+	40 LMP_FEATURES_RES 
+	41 LMP_QUALITY_OF_SERVICE 
+	42 LMP_QUALITY_OF_SERVICE_REQ 
+	43 LMP_SCO_LINK_REQ 
+	44 LMP_REMOVE_SCO_LINK_REQ 
+	45 LMP_MAX_SLOT 
+	46 LMP_MAX_SLOT_REQ 
+	47 LMP_TIMING_ACCURACY_REQ 
+	48 LMP_TIMING_ACCURACY_RES 
+	49 LMP_SETUP_COMPLETE 
+	50 LMP_USE_SEMI_PERMANENT_KEY 
+	51 LMP_HOST_CONNECTION_REQ 
+	52 LMP_SLOT_OFFSET 
+	53 LMP_PAGE_MODE_REQ 
+	54 LMP_PAGE_SCAN_MODE_REQ 
+	55 LMP_SUPERVISION_TIMEOUT 
+	56 LMP_TEST_ACTIVATE
+	57 LMP_TEST_CONTROL
+	58 LMP_ENC_KEY_SIZE_MASK_REQ
+	59 LMP_ENC_KEY_SIZE_MASK_RES
+	60 LMP_SET_AFH
+
+	/* simple pairing support */
+	61 LMP_ENCAPSULATED_HEADER
+	62 LMP_ENCAPSULATED_PAYLOAD
+	63 LMP_SIMPLE_PAIRING_CONFIRM
+	64 LMP_SIMPLE_PAIRING_NUMBER
+	65 LMP_DHKEY_CHECK
+	127 LMP_ESCAPE
+	127 LMP_ESCAPE_4   /* add 2bytes LMP header support  */   
+	)
+	/* LMP EXT opcodes, ORed with bit 7 to make difference to nonEXT */
+	(
+	129 LMP_EXT_ACCEPTED
+	130 LMP_NOT_ACCEPTED_EXT
+	131 LMP_EXT_FEATURES_REQ
+	132 LMP_EXT_FEATURES_RES
+	139 LMP_PACKET_TYPE_TABLE_REQ
+	140 LMP_EXT_ESCO_LINK_REQ
+	141 LMP_EXT_REMOVE_ESCO_REQ
+	144 LMP_EXT_CHN_CLASSIFICATION_REQ
+	145 LMP_EXT_CHN_CLASSIFICATION
+	149 LMP_SNIFF_SUBRATING_REQ
+	150 LMP_SNIFF_SUBRATING_RES
+	151 LMP_PAUSE_ENCRYPTION_REQ
+	152 LMP_RESUME_ENCRYPTION_REQ
+	153 LMP_IO_CAP_REQ
+	154 LMP_IO_CAP_RES
+	)
+	/* LMP reason codes */
+	(
+	0x05 AUTHENTICATION_FAILURE_ERROR
+	0x06 KEY_MISSING
+	0x0b ACL_CONNECTION_ALREADY_EXISTS
+	0x13 OTHER_END_TERMINATED
+	0x15 ABOUT_TO_POEWR_OFF
+	0x16 LOCAL_HOST
+	0x18 PAIRING_NOT_ALLOWED
+	0x19 UNKNOWN_LMP_PDU
+	0x1A UNSUPPORTED_LMP_FEATURE 
+	0x1F UNSPECIFIED_ERROR
+	0x20 UNSUPPORTED_PARAMETERS
+	0x21 SWITCH_NOT_ALLOWED
+	0x23 TRANSACTION_COLLISION
+	0x24 PDU_NOT_ALLOWED
+	0x25 ENCRYPTION_MODE_NOT_ACCEPTABLE
+	0x2e NOT_SUPPORT_CHN_CLASSIFICATION
+	0x37 NOT_SUPPORT_SSP
+	)
+
+	/* test mode scenarios */
+	(
+	0 PAUSE_TEST_MODE
+	1 ZERO_PATTERN
+	2 ONE_PATTERN
+	3 ALT_PATTERN
+	4 PSEUDORANDOM
+	5 CLOSED_LOOP_BACK_ACL
+	6 CLOSED_LOOP_BACK_SCO
+	7 ACL_WITHOUT_WHITENING
+	8 SCO_WITHOUT_WHITENING
+	9 ALT2_PATTERN
+	255 EXIT_TEST_MODE
+	)
+	/* test mode hoppig modes */
+	(
+	0 FIXED_FREQ
+	1 NORMAL_HOP
+	)
+
+	/* mem_lmp_tid indicates which type of LMP will be sent */
+	(
+	0 TID_NORM_REPLY
+	1 TID_NORM_SEND
+	2 TID_ONE
+	3 TID_ZERO
+	4 TID_PAIRING
+	5 TID_ENCRYPTION
+	6 TID_VARIABLE
+	7 TID_RX
+	)
+
+	/* ============== lmp status ==========*/
+	(
+	0 lmp_incoming
+	1 lmp_outgoing
+	2 lmp_reject_msg
+	3 lmp_clear_msg
+	4 upper_reject_msg
+	5 upper_clear_msg
+	)
+
+(
+0x2ee00 TIMER_ONE_MINUTE //96000*2
+80 TIMER_SWITCH_WAITE
+12 TIMER_ENPT_WAITE
+)
+
+(
+0 SWITCH_FLAG_INIT
+1 SWITCH_FLAG_ACCEPT
+2 SWITCH_FLAG_NOT_ACCEPT
+)
+(
+0 NULL_ENCRYP
+1 DONE_ENCRYP
+)
+
+//
+//
+//Large memory blocks defined in this file.
+//Blocks Shall be defined with absolute address.
+//Blocks' length Shall be specified in comment following Blocks' names.
+//Different blocks MAY be overlap.
+//Blocks defined in this file Shall NOT be overlap with variable in memmap.format.
+
+// USB C51 exchange area
+(
+0xff0 mem_mcmd
+0xff1 mem_mouse_data
+)
+
+//l2cap RX buffers
+(
+0x1000 mem_l2cap_rxbuff1		//0x400
+0x1400 mem_l2cap_rxbuff2		//0x400
+//end address:0x17ff
+)
+//l2cap TX buffers
+(
+0x1800 mem_tx_buff0		//128
+0x1880 mem_tx_buff1		//128
+0x1900 mem_tx_buff2		//128
+0x1980 mem_tx_buff3		//128
+0x1a00 mem_tx_buff4		//128
+0x1a80 mem_tx_buff5		//128
+0x1b00 mem_tx_buff6		//128
+0x1b80 mem_tx_buff7		//128
+//end address: 0x1bff
+)
+
+(
+0x1800 mem_le_tx_buffer0
+0x1900 mem_le_tx_buffer1
+0x1a00 mem_le_tx_buffer2
+0x1b00 mem_le_tx_buffer3
+//end addr:0x1dff
+)
+
+//uart buffer
+(
+0x1800 mem_h5rx_buf//0x400
+0x1bff mem_h5rx_buf_end
+0x1c00 mem_h5tx_buf
+0x1fff mem_h5tx_buf_end
+)
+
+(
+0x4c00 mem_module_rx_buf//0x400
+0x4c00 mem_module_rx_buf_little
+0x4fff mem_module_rx_buf_end
+0x1c00 mem_module_tx_buf
+0x1fff mem_module_tx_buf_end
+)
+
+(
+0x1800 mem_ir_record
+0x1c      mem_ir_record_max
+)
+
+
+(
+0 MODULE_FLAG_UART_FLOW_CONTROL
+1 MODULE_FLAG_BLE_RECEIVED_DATA
+2 MODULE_FLAG_BLE_SEND_MTU23
+3 MODULE_FLAG_BLE_SEND_DATA
+)
+
+
+
+
+(
+34 NV_DATA_LEN
+-1 DECREASED_ONE
+)
+
+
+
+(
+	10 FLAG_MODULE_READ_VDD_COUNT
+)
+
+	(
+		110  DM_REFCOM_BUFF_LEN
+		230  NL_RFCOMM_BUFF_LEN
+		220  NL_RFCOMM_BUFF_LEN_220
+		20 DM_LE_BUFF_LEN
+	)
+	(
+		0x200 UART_AIR_CONTROL_THRESHOLD
+		0x150 UART_RX_CONTROL_THRESHOLD
+	)
+	(
+		0 MODULE_LED_DISABLE
+		1 MODULE_LED_BLINK
+	)
+
+
+
+
+(
+0x01 HCI_DISCARD_PACKET
+0x00 HCI_NOT_DISCARD_PACKET
+
+
+)
+
+
+
+(//Command
+0x00 HCI_CMD_SET_BT_ADDR_REQ
+0x01 HCI_CMD_SET_LE_ADDR_REQ
+0x02 HCI_CMD_SET_VISIBILITY_REQ
+0x03 HCI_CMD_SET_BT_NAME_REQ
+0x04 HCI_CMD_SET_LE_NAME_REQ
+0x05 HCI_CMD_SPP_DATA_REQ
+0x09 HCI_CMD_LE_DATA_REQ
+0x0b HCI_CMD_STATUS_IRQ
+0x0c HCI_CMD_SET_PAIRING_REQ
+0x0d HCI_CMD_SET_PINCODE_REQ
+0x0e HCI_CMD_SET_UARTCONTROL_REQ
+0x0f HCI_CMD_SET_UART_BAUD_REQ
+0x10 HCI_CMD_VERSION_REQ
+0x11 HCI_CMD_BT_DISCONNECT
+0x12 HCI_CMD_BLE_DISCONNECT
+0x13 HCI_CMD_DELETE_DEVICE
+0x14 HCI_CMD_CREATE_CONNECT
+0x26 HCI_CMD_SET_NVRAM_REQ
+0x27 HCI_CMD_SLEEP
+0x28 HCI_CMD_CONFIRM_GKEY
+0x29 HCI_CMD_SET_CREDIT_GIVEN
+0x2a HCI_CMD_AUTO_ADV_SCAN
+0x2b HCI_CMD_POWER_REQ
+0x2c HCI_CMD_POWER_SET
+0x30 HCI_CMD_PASSKEY_ENTRY
+0x31 HCI_CMD_SET_GPIO
+0x32 HCI_CMD_READ_GPIO
+0x33 HCI_CMD_LE_SET_PAIRING
+0x34 HCI_CMD_LE_SET_ADV_DATA
+0x35 HCI_CMD_LE_SET_SCAN_DATA
+0x36 HCI_CMD_LE_SEND_CONN_UPDATE_REQ
+0x38 HCI_CMD_LE_START_PAIRING
+0x48 HCI_CMD_LE_CONFIRM_GKEY
+
+)
+
+(//event
+0x00 HCI_EVENT_SPP_CONN_REP
+0x01 HCI_EVENT_HID_CONN_REP
+0x02 HCI_EVENT_LE_CONN_REP
+0x03 HCI_EVENT_SPP_DIS_REP
+0x04 HCI_EVENT_HID_DIS_REP
+0x05 HCI_EVENT_LE_DIS_REP
+0x06 HCI_EVENT_CMD_RES
+0x07 HCI_EVENT_SPP_DATA_REP
+0x08 HCI_EVENT_LE_DATA_REP
+0x09 HCI_EVENT_STANDBY_REP
+0x0a HCI_EVENT_STATUS_RES
+0x0b HCI_EVENT_FINISH_PACK_NUM
+0X0C HCI_EVENT_SNIFF_MD_CHANGE
+0x0D HCI_EVENT_NVRAM_REP
+0x0e HCI_EVENT_GKEY
+0x0F HCI_EVENT_INVALID_PACKET
+0x10 HCI_EVENT_GET_PASSKEY
+0x11 HCI_EVENT_LE_TK
+0x12 HCI_EVENT_REMOTE_MTU
+0x14 HCI_EVENT_LE_PAIRING_STATE
+0X15 HCI_EVENT_LE_ENCRYPTION_STATE
+0x17 HCI_EVENT_LE_CONNECTION_UPDATE
+0x1d HCI_EVENT_LE_GKEY
+
+)
+
+
+
+
+(
+0x7e0 OTP_ADDR_RF_PARAM_FIX
+//struct of RF_PARAM_FIX
+// uint8       //length = param_pair_count * 2 
+// uint16     //param-pair-1
+// uint16     //param-pair-2
+// uint16     //param-pair-3
+// uint16     //param-pair-4
+// uint16     //param-pair-5
+// uint16     //param-pair-6
+// uint16     //param-pair-7
+)
+(
+0x0270 FW_VERSION_NUMBER
+)
+
+(
+0	PAIRING_PINCODE
+1	PAIRING_JUSTWORK
+2	PAIRING_PASSKEY
+3	PAIRING_CONFIRM
+)
+
+
+(
+0x0001	FLAG_BT_PAIRING_SUCCESS
+0x0101	FLAG_BT_PAIRING_FAIL
+0x0080	FLAG_BLE_PAIRING_SUCCESS
+0x0180	FLAG_BLE_PAIRING_FAIL
+)
+
+
+(
+1	FLAG_EVENT_START_ENC
+0	FLAG_EVENT_PAUSE_ENC
+)
+
+(
+	0 MOUDLE_STATE_BT_BIT
+	1 MOUDLE_STATE_BLE_BIT
+)
+
+(
+	0 MOUDLE_TASK_UNSINFF
+)
+
+
+//dpi eeprom addr
+198 mouse_dpi_eeprom_addr
+
+(
+1 ONE_TRADITION_MOUSE
+2 ONE_BLE_MOUSE
+)
+
+
+(
+1 SENSOR_TYPE_A7530
+2 SENSOR_TYPE_P3204
+)
+0x30 P3204_ID
+0x31 P3065_ID
+0x3e P3610_ID
+
+7 pan_bit_motion
+
+(
+1000      MOUSE_LPM_CLR_LOCK_TIME
+       2       MOUSE_DPI_MAX_DECR
+)
+(
+80 MOUSE_SEND_BLANK_TIMER
+)
+
+
+//mem_mouse_mode_state
+(
+0x00 MOUSE_MODE_STATE_IDLE
+0x01 MOUSE_MODE_STATE_BT
+0x02 MOUSE_MODE_STATE_BLE
+)
+
+
+(
+	  0 patch00_0
+	  1 patch00_1
+	  2 patch00_2
+	  3 patch00_3
+	  4 patch00_4
+	  5 patch00_5
+	  6 patch00_6
+	  7 patch00_7
+	  8 patch01_0
+	  9 patch01_1
+	 10 patch01_2
+	 11 patch01_3
+	 12 patch01_4
+	 13 patch01_5
+	 14 patch01_6
+	 15 patch01_7
+	 16 patch02_0
+	 17 patch02_1
+	 18 patch02_2
+	 19 patch02_3
+	 20 patch02_4
+	 21 patch02_5
+	 22 patch02_6
+	 23 patch02_7
+	 24 patch03_0
+	 25 patch03_1
+	 26 patch03_2
+	 27 patch03_3
+	 28 patch03_4
+	 29 patch03_5
+	 30 patch03_6
+	 31 patch03_7
+	 32 patch04_0
+	 33 patch04_1
+	 34 patch04_2
+	 35 patch04_3
+	 36 patch04_4
+	 37 patch04_5
+	 38 patch04_6
+	 39 patch04_7
+	 40 patch05_0
+	 41 patch05_1
+	 42 patch05_2
+	 43 patch05_3
+	 44 patch05_4
+	 45 patch05_5
+	 46 patch05_6
+	 47 patch05_7
+	 48 patch06_0
+	 49 patch06_1
+	 50 patch06_2
+	 51 patch06_3
+	 52 patch06_4
+	 53 patch06_5
+	 54 patch06_6
+	 55 patch06_7
+	 56 patch07_0
+	 57 patch07_1
+	 58 patch07_2
+	 59 patch07_3
+	 60 patch07_4
+	 61 patch07_5
+	 62 patch07_6
+	 63 patch07_7
+	 64 patch08_0
+	 65 patch08_1
+	 66 patch08_2
+	 67 patch08_3
+	 68 patch08_4
+	 69 patch08_5
+	 70 patch08_6
+	 71 patch08_7
+	 72 patch09_0
+	 73 patch09_1
+	 74 patch09_2
+	 75 patch09_3
+	 76 patch09_4
+	 77 patch09_5
+	 78 patch09_6
+	 79 patch09_7
+	 80 patch0a_0
+	 81 patch0a_1
+	 82 patch0a_2
+	 83 patch0a_3
+	 84 patch0a_4
+	 85 patch0a_5
+	 86 patch0a_6
+	 87 patch0a_7
+	 88 patch0b_0
+	 89 patch0b_1
+	 90 patch0b_2
+	 91 patch0b_3
+	 92 patch0b_4
+	 93 patch0b_5
+	 94 patch0b_6
+	 95 patch0b_7
+	 96 patch0c_0
+	 97 patch0c_1
+	 98 patch0c_2
+	 99 patch0c_3
+	100 patch0c_4
+	101 patch0c_5
+	102 patch0c_6
+	103 patch0c_7
+	104 patch0d_0
+	105 patch0d_1
+	106 patch0d_2
+	107 patch0d_3
+	108 patch0d_4
+	109 patch0d_5
+	110 patch0d_6
+	111 patch0d_7
+	112 patch0e_0
+	113 patch0e_1
+	114 patch0e_2
+	115 patch0e_3
+	116 patch0e_4
+	117 patch0e_5
+	118 patch0e_6
+	119 patch0e_7
+	120 patch0f_0
+	121 patch0f_1
+	122 patch0f_2
+	123 patch0f_3
+	124 patch0f_4
+	125 patch0f_5
+	126 patch0f_6
+	127 patch0f_7
+	128 patch10_0
+	129 patch10_1
+	130 patch10_2
+	131 patch10_3
+	132 patch10_4
+	133 patch10_5
+	134 patch10_6
+	135 patch10_7
+	136 patch11_0
+	137 patch11_1
+	138 patch11_2
+	139 patch11_3
+	140 patch11_4
+	141 patch11_5
+	142 patch11_6
+	143 patch11_7
+	144 patch12_0
+	145 patch12_1
+	146 patch12_2
+	147 patch12_3
+	148 patch12_4
+	149 patch12_5
+	150 patch12_6
+	151 patch12_7
+	152 patch13_0
+	153 patch13_1
+	154 patch13_2
+	155 patch13_3
+	156 patch13_4
+	157 patch13_5
+	158 patch13_6
+	159 patch13_7
+	160 patch14_0
+	161 patch14_1
+	162 patch14_2
+	163 patch14_3
+	164 patch14_4
+	165 patch14_5
+	166 patch14_6
+	167 patch14_7
+	168 patch15_0
+	169 patch15_1
+	170 patch15_2
+	171 patch15_3
+	172 patch15_4
+	173 patch15_5
+	174 patch15_6
+	175 patch15_7
+	176 patch16_0
+	177 patch16_1
+	178 patch16_2
+	179 patch16_3
+	180 patch16_4
+	181 patch16_5
+	182 patch16_6
+	183 patch16_7
+	184 patch17_0
+	185 patch17_1
+	186 patch17_2
+	187 patch17_3
+	188 patch17_4
+	189 patch17_5
+	190 patch17_6
+	191 patch17_7
+	192 patch18_0
+	193 patch18_1
+	194 patch18_2
+	195 patch18_3
+	196 patch18_4
+	197 patch18_5
+	198 patch18_6
+	199 patch18_7
+	200 patch19_0
+	201 patch19_1
+	202 patch19_2
+	203 patch19_3
+	204 patch19_4
+	205 patch19_5
+	206 patch19_6
+	207 patch19_7
+	208 patch1a_0
+	209 patch1a_1
+	210 patch1a_2
+	211 patch1a_3
+	212 patch1a_4
+	213 patch1a_5
+	214 patch1a_6
+	215 patch1a_7
+	216 patch1b_0
+	217 patch1b_1
+	218 patch1b_2
+	219 patch1b_3
+	220 patch1b_4
+	221 patch1b_5
+	222 patch1b_6
+	223 patch1b_7
+	224 patch1c_0
+	225 patch1c_1
+	226 patch1c_2
+	227 patch1c_3
+	228 patch1c_4
+	229 patch1c_5
+	230 patch1c_6
+	231 patch1c_7
+	232 patch1d_0
+	233 patch1d_1
+	234 patch1d_2
+	235 patch1d_3
+	236 patch1d_4
+	237 patch1d_5
+	238 patch1d_6
+	239 patch1d_7
+	240 patch1e_0
+	241 patch1e_1
+	242 patch1e_2
+	243 patch1e_3
+	244 patch1e_4
+	245 patch1e_5
+	246 patch1e_6
+	247 patch1e_7
+	248 patch1f_0
+	249 patch1f_1
+	250 patch1f_2
+	251 patch1f_3
+	252 patch1f_4
+	253 patch1f_5
+	254 patch1f_6
+	255 patch1f_7
+	  0 patch20_0
+	  1 patch20_1
+	  2 patch20_2
+	  3 patch20_3
+	  4 patch20_4
+	  5 patch20_5
+	  6 patch20_6
+	  7 patch20_7
+	  8 patch21_0
+	  9 patch21_1
+	 10 patch21_2
+	 11 patch21_3
+	 12 patch21_4
+	 13 patch21_5
+	 14 patch21_6
+	 15 patch21_7
+	 16 patch22_0
+	 17 patch22_1
+	 18 patch22_2
+	 19 patch22_3
+	 20 patch22_4
+	 21 patch22_5
+	 22 patch22_6
+	 23 patch22_7
+	 24 patch23_0
+	 25 patch23_1
+	 26 patch23_2
+	 27 patch23_3
+	 28 patch23_4
+	 29 patch23_5
+	 30 patch23_6
+	 31 patch23_7
+	 32 patch24_0
+	 33 patch24_1
+	 34 patch24_2
+	 35 patch24_3
+	 36 patch24_4
+	 37 patch24_5
+	 38 patch24_6
+	 39 patch24_7
+	 40 patch25_0
+	 41 patch25_1
+	 42 patch25_2
+	 43 patch25_3
+	 44 patch25_4
+	 45 patch25_5
+	 46 patch25_6
+	 47 patch25_7
+	 48 patch26_0
+	 49 patch26_1
+	 50 patch26_2
+	 51 patch26_3
+	 52 patch26_4
+	 53 patch26_5
+	 54 patch26_6
+	 55 patch26_7
+	 56 patch27_0
+	 57 patch27_1
+	 58 patch27_2
+	 59 patch27_3
+	 60 patch27_4
+	 61 patch27_5
+	 62 patch27_6
+	 63 patch27_7
+	 64 patch28_0
+	 65 patch28_1
+	 66 patch28_2
+	 67 patch28_3
+	 68 patch28_4
+	 69 patch28_5
+	 70 patch28_6
+	 71 patch28_7
+	 72 patch29_0
+	 73 patch29_1
+	 74 patch29_2
+	 75 patch29_3
+	 76 patch29_4
+	 77 patch29_5
+	 78 patch29_6
+	 79 patch29_7
+	 80 patch2a_0
+	 81 patch2a_1
+	 82 patch2a_2
+	 83 patch2a_3
+	 84 patch2a_4
+	 85 patch2a_5
+	 86 patch2a_6
+	 87 patch2a_7
+	 88 patch2b_0
+	 89 patch2b_1
+	 90 patch2b_2
+	 91 patch2b_3
+	 92 patch2b_4
+	 93 patch2b_5
+	 94 patch2b_6
+	 95 patch2b_7
+	 96 patch2c_0
+	 97 patch2c_1
+	 98 patch2c_2
+	 99 patch2c_3
+	100 patch2c_4
+	101 patch2c_5
+	102 patch2c_6
+	103 patch2c_7
+	104 patch2d_0
+	105 patch2d_1
+	106 patch2d_2
+	107 patch2d_3
+	108 patch2d_4
+	109 patch2d_5
+	110 patch2d_6
+	111 patch2d_7
+	112 patch2e_0
+	113 patch2e_1
+	114 patch2e_2
+	115 patch2e_3
+	116 patch2e_4
+	117 patch2e_5
+	118 patch2e_6
+	119 patch2e_7
+	120 patch2f_0
+	121 patch2f_1
+	122 patch2f_2
+	123 patch2f_3
+	124 patch2f_4
+	125 patch2f_5
+	126 patch2f_6
+	127 patch2f_7
+	128 patch30_0
+	129 patch30_1
+	130 patch30_2
+	131 patch30_3
+	132 patch30_4
+	133 patch30_5
+	134 patch30_6
+	135 patch30_7
+	136 patch31_0
+	137 patch31_1
+	138 patch31_2
+	139 patch31_3
+	140 patch31_4
+	141 patch31_5
+	142 patch31_6
+	143 patch31_7
+	144 patch32_0
+	145 patch32_1
+	146 patch32_2
+	147 patch32_3
+	148 patch32_4
+	149 patch32_5
+	150 patch32_6
+	151 patch32_7
+	152 patch33_0
+	153 patch33_1
+	154 patch33_2
+	155 patch33_3
+	156 patch33_4
+	157 patch33_5
+	158 patch33_6
+	159 patch33_7
+	160 patch34_0
+	161 patch34_1
+	162 patch34_2
+	163 patch34_3
+	164 patch34_4
+	165 patch34_5
+	166 patch34_6
+	167 patch34_7
+	168 patch35_0
+	169 patch35_1
+	170 patch35_2
+	171 patch35_3
+	172 patch35_4
+	173 patch35_5
+	174 patch35_6
+	175 patch35_7
+	176 patch36_0
+	177 patch36_1
+	178 patch36_2
+	179 patch36_3
+	180 patch36_4
+	181 patch36_5
+	182 patch36_6
+	183 patch36_7
+	184 patch37_0
+	185 patch37_1
+	186 patch37_2
+	187 patch37_3
+	188 patch37_4
+	189 patch37_5
+	190 patch37_6
+	191 patch37_7
+	192 patch38_0
+	193 patch38_1
+	194 patch38_2
+	195 patch38_3
+	196 patch38_4
+	197 patch38_5
+	198 patch38_6
+	199 patch38_7
+	200 patch39_0
+	201 patch39_1
+	202 patch39_2
+	203 patch39_3
+	204 patch39_4
+	205 patch39_5
+	206 patch39_6
+	207 patch39_7
+	208 patch3a_0
+	209 patch3a_1
+	210 patch3a_2
+	211 patch3a_3
+	212 patch3a_4
+	213 patch3a_5
+	214 patch3a_6
+	215 patch3a_7
+	216 patch3b_0
+	217 patch3b_1
+	218 patch3b_2
+	219 patch3b_3
+	220 patch3b_4
+	221 patch3b_5
+	222 patch3b_6
+	223 patch3b_7
+	224 patch3c_0
+	225 patch3c_1
+	226 patch3c_2
+	227 patch3c_3
+	228 patch3c_4
+	229 patch3c_5
+	230 patch3c_6
+	231 patch3c_7
+	232 patch3d_0
+	233 patch3d_1
+	234 patch3d_2
+	235 patch3d_3
+	236 patch3d_4
+	237 patch3d_5
+	238 patch3d_6
+	239 patch3d_7
+	240 patch3e_0
+	241 patch3e_1
+	242 patch3e_2
+	243 patch3e_3
+	244 patch3e_4
+	245 patch3e_5
+	246 patch3e_6
+	247 patch3e_7
+	248 patch3f_0
+	249 patch3f_1
+	250 patch3f_2
+	251 patch3f_3
+	252 patch3f_4
+	253 patch3f_5
+	254 patch3f_6
+	255 patch3f_7
+
+)
+(
+  0x8000 core_chipid
+  0x8003 core_kick
+  0x8005 core_lpm_wr
+  0x8006 core_misc_ctrl
+  0x8007 core_otp_rdata
+  0x8009 core_pcmoutfifo
+  0x8010 core_reset
+  0x8011 core_encrypt
+  0x8015 core_uart_txd
+  0x8022 core_ucode_hi
+  0x8023 core_ucode_ctrl
+  0x8024 core_ucode_low
+  0x8025 core_ucode_data
+  0x8040 core_halfslot
+  0x8042 core_clksel
+  0x8043 core_uart_clksel
+  0x8043 core_config 
+  0x8044 core_xtal_stable_time
+  0x8045 core_otp_addr
+  0x8046 core_otp_din
+  0x8047 core_otp_ctrl
+  0x8048 core_otpd_addr
+  0x804a core_otpd_len
+  0x804b core_otpd_ctrl
+  0x804c core_lpm_reg
+  0x804f core_lpm_isogate
+  0x8050 core_clkoff
+  0x8052 core_uart_baud
+  0x8054 core_uart_rsaddr
+  0x8056 core_uart_readdr
+  0x8058 core_uart_rrptr
+  0x805a core_uart_tsaddr
+  0x805c core_uart_teaddr
+  0x805e core_uart_twptr
+  0x8060 core_uart_trptrp
+  0x8062 core_uart_ctrl
+  0x8063 core_kscn_ksctrl
+  0x8064 core_kscn_rctc
+  0x8065 core_kscn_scancycle_timer_l
+  0x8066 core_kscn_scancycle_timer_h
+  0x8067 core_kscn_m_debounce          
+  0x8068 core_kscn_modkey
+  0x806f core_kscn_rowmask
+  0x8070 core_gpio_oe0
+  0x8071 core_gpio_oe1
+  0x8072 core_gpio_oe2
+  0x8073 core_gpio_oe3
+  0x8074 core_gpio_out0
+  0x8075 core_gpio_out1
+  0x8076 core_gpio_out2
+  0x8077 core_gpio_out3
+  0x8078 core_gpio_pu0
+  0x8079 core_gpio_pu1
+  0x807a core_gpio_pu2
+  0x807b core_gpio_pu3
+  0x807c core_gpio_pd0
+  0x807d core_gpio_pd1
+  0x807e core_gpio_pd2
+  0x807f core_gpio_pd3
+  0x8080 core_gpio_sel
+  0x8081 core_gpio_sel1
+  0x8082 core_gpio_sel2
+  0x8083 core_gpio_key0
+  0x8084 core_gpio_key1
+  0x8085 core_gpio_key2
+  0x8086 core_spid_ctrl
+  0x8087 core_spid_delay
+  0x8088 core_spid_txlen
+  0x808a core_spid_txaddr
+  0x808c core_spid_rxaddr
+  0x808e core_spid_rxlen
+  0x8090 core_iicd_ctrl
+  0x8091 core_iicd_scl_low
+  0x8092 core_iicd_scl_high
+  0x8093 core_iicd_start_setup
+  0x8094 core_iicd_start_hold
+  0x8095 core_iicd_stop_setup
+  0x8096 core_iicd_data_setup
+  0x8097 core_iicd_data_hold
+  0x8098 core_iicd_txlen
+  0x809a core_iicd_txaddr
+  0x809c core_iicd_rxaddr
+  0x809e core_iicd_rxlen
+  0x80a0 core_pwm_pcnt0
+  0x80a2 core_pwm_ncnt0
+  0x80a4 core_pwm_pcnt1
+  0x80a6 core_pwm_ncnt1
+  0x80b0 core_enc_ctrl
+  0x80b1 core_cvsd_ctrl
+  0x80b2 core_codec_ctrl
+  0x80b3 core_dec_ctrl
+  0x80b4 core_bist_ctrl
+
+
+
+  
+  0x8108 core_misc_status
+  0x8109 core_qdec_cntx
+  0x810a core_qdec_cnty
+  0x810b core_qdec_cntz
+  0x810c core_uart_status
+  0x810d core_uart_rbaud
+  0x810e core_uart_txitems
+  0x8110 core_uart_trptr
+  0x8112 core_uart_rxitems
+  0x8114 core_uart_rdptr
+  0x8116 core_uart_rwptr
+  0x8119 core_kscn_kstat
+  0x811a core_kscn_event
+  0x811b core_kscn_event_num
+  0x811c core_gpio_in
+  0x811d core_gpio_in1
+  0x8124 core_current_otp_addr
+  0x8126 core_otpd_remain
+  0x8128 core_spid_remain
+  0x812a core_iicd_remain
+  0x812c core_dma_status
+  0x812d core_perf_status
+  0x812e core_adc_in
+  0x8134 core_pcminfifo
+  0x8135 core_pcminfifo_remain
+  0x8136 core_pcmoutfifo_remain
+  0x8138 core_lpm_ctrl
+  0x813c core_lpm_xtalcnt
+  0x813d core_lpm_buckcnt
+  0x813e core_lpm_ldocnt
+  0x813f core_lpm_latch
+  0x8140 core_gpio_wakeup_low
+  0x8144 core_gpio_wakeup_high
+  0x8149 core_clk_counter
+  0x8150 core_adc_sum
+// dummy regs  
+
+  0x8203 core_ice_ctrl
+  0x8204 core_ice_status
+  0x8205 core_ice_break0
+  0x8207 core_ice_break1
+  
+  0x8280 core_docd_ctrl
+  0x8288 core_docd_paddr
+  0x828a core_docd_pdata
+
+  0x8300 iic_prer_low		
+  0x8301 iic_slave_addr	
+  0x8302 iic_ctr					
+  0x8303 iic_cr					
+  0x8304 iic_rxr					
+  0x8305 iic_txr					
+  0x8306 iic_sr					
+  0x8307 iic_fifo				
+
+  0x8400   mem_b_box          /* entire bank */
+  0x8500   mem_e_box          /* entire bank */
+  0x8600   mem_l_box          /* entire bank */
+
+  0x8700 memk
+
+  0x8900 rfen_rx
+  0x8901 rfen_tx
+  0x8902 rfen_mdm
+  0x8903 rfen_sn
+  0x8904 rfen_msc
+  0x8905 rfen_ck
+  0x8906 rfen_adc
+  0x8912 rf_agc_ctrl
+  0x8914 rfen_ulp
+  0x8973 rfen_chgpump
+  0x894b rf_rx_vctrl_reg1
+  0x894c rf_rx_vctrl_reg2
+  0x894d rf_rx_ib_lna
+  0x894e rf_rx_lna_ctrim
+
+  0x8950 rf_bpf_ctrim
+  0x8951 rf_bpf_ib
+  0x8952 rf_adc_rccal
+  0x8952 rf_rccal_ctrl
+  0x8953 rf_rccal_sel
+  0x8955 rf_tx_pa
+  0x895f rf_pll_rstn
+  0x8964 rf_sdm_en
+  0x8960 rf_pll_intg
+  0x8961 rf_pll_frac
+  0x8963 rf_pll_frachi
+  0x896c rf_afc_cap
+  0x8967 rf_clkpll_bias
+  0x896f rf_clkpll_en
+  0x8968 rf_clkpll_int
+  0x8969 rf_clkpll_frac
+  0x896d rf_balun_ctrim
+  0x8971 rf_adc_mode
+  0x8972 rf_adc_gc
+  0x8973 rf_adc_ch
+  0x8980 rf_rccal_result
+  0x8981 rf_afc_d2a
+  0x8982 rf_rssi
+
+
+0x8c00 core_usb_config		
+0x8c01 core_usb_int_mask	
+0x8c10 core_usb_trig	
+0x8c11 core_usb_stall		
+0x8c12 core_usb_clear		
+0x8c18 core_usb_ep
+0x8c18 core_usb_dfifo0 
+0x8c19 core_usb_dfifo1  
+0x8c1a core_usb_dfifo2 
+0x8c20 core_usb_ep_len
+0x8c26 core_usb_status		
+0x8c27 core_usb_fifo_empty
+0x8c28 core_usb_fifo_full
+
+
+4 rx_freq_offset
+2 tx_freq_offset
+
+/* bit difinitions */
+  4 whiteoff_bit
+  6 clksel_rc
+  5 clksel_dpll
+  4 clksel_xtal
+  5 adc_rccal
+  0 bpf_rccal
+  1 demod_clkoff
+
+(
+  7 cold_wake
+  3 gpio_latch
+  4 enable_retmem
+  0xef isogate_mask
+  0xe0 cs_mask
+)
+
+// misc ctrl
+(
+  0x01 otpd_start
+  0x02 spid_start
+  0x04 iicd_start
+  0x08 lock_otp
+  0x10 x_sethi
+  0x20 y_sethi
+  0x40 z_sethi
+  0x80 ccnt_start
+)
+// dma status bit
+(
+  0 otpd_crcok
+  1 otpd_done
+  2 spid_crcok
+  3 spid_done
+  4 iicd_crcok
+  5 iicd_done
+)
+
+0x8b uart_ctrl_default //BCSP
+0x81 uart_ctrl_h4 //H4
+0x81 uart_ctrl_normal
+0x91 uart_ctrl_5line
+0x81 uart_ctrl_57600
+2 uart_baud_len
+0x00 uartclk_crystal
+0x01 uartclk_dpll
+0x1a0 uart_baud_115200
+0xbb uart_baud_256000
+0x340 uart_baud_57600
+0x34 uart_baud_921600
+0x9c4 uart_baud_9600
+0x2dc6c00 uart_clk
+0x16E3600 uart_clk_24
+
+//core_clkoff
+(
+	0 CLOCK_OFF_AUTH_ROM
+	1 CLOCK_OFF_UC_ROM
+	2 CLOCK_OFF_DEBUG_UART
+	3 CLOCK_OFF_SCHED_RAM
+	4 CLOCK_OFF_TRANCE_FIFO
+	5 CLOCK_OFF_CORDIC
+	6 CLOCK_OFF_OTPD
+	7 CLOCK_OFF_I2C
+	8 CLICK_OFF_8051
+	9 CLOCK_OFF_KEYSCAN
+	0x0a CLOCK_OFF_USB
+	0x0b CLOCK_OFF_QDECODER
+	0x0c CLOCK_OFF_SPI
+	0x0d CLOCK_OFF_PWM
+	0x0e CLOCK_OFF_CODEC
+	0x0f CLOCK_OFF_UART
+)
+
+
+/*****************************************************************************/
+/* RCS HEADER -- DO NOT ERASE                                                */
+/* $Author: Administrator $                                                           */
+/* $Id: bt_rfcomm_format.upper,v 1.1 2009-09-28 04:06:17 Administrator Exp $ */
+/* Orisil Technology                                                      */
+/*****************************************************************************/
+
+/**********/
+/* memory */
+/**********/
+
+0x04ed memRemoteRPNBitRate
+0x04ee memRemotePRNDataBits
+0x04ef memRemotePRNStopBit
+0x04f0 memRemotePRNParity
+0x04f1 memRemotePRNFlowControl
+0x04f2 memRemotePRNXon
+0x04f3 memRemotePRNXoff
+0x04f4 mem_mod2div_temp
+0x04f7 mem_contw_temp
+0x04f9 mem_attrib_list
+0x04fb mem_current_adss
+0x04fc mem_current_channel
+0x04fd mem_current_frame_type
+0x04fe mem_current_fcs
+0x04ff mem_current_length
+0x0501 mem_rfcomm_uih_payload_ptr
+0x0503 mem_uih_cmd_type
+0x0504 mem_uih_length
+0x0506 mem_param_payload_ptr
+0x0508 mem_ms_param
+0x0509 mem_pn_credit_flow_type_info
+0x050a mem_pn_priority
+0x050b mem_pn_acknowledg_timer
+0x050c mem_pn_max_retrans
+0x050d mem_rfcomm_send_adss
+0x050e mem_rfcomm_send_frame_type
+0x050f mem_rfcomm_send_fcs
+0x0510 mem_rfcomm_send_offset
+
+
+
+(
+0 CREDIT_DISABLE
+1 CREDIT_ENABLE
+)
+
+
+/************************************************************************/
+  
+
+ 
+/************/
+/* constant */
+/************/
+
+/* RFCOMM state for Headset (memRFCOMM_State) */ 
+  (
+    0 RFCOMM_IDLE           /* before the responsor HS receive SABM            */
+    1 RFCOMM_W4_DLCI0_OPEN
+    2 RFCOMM_W4_DLCI0_CLOSE
+    3 RFCOMM_START_DLCI0    /* After respond SABM frame (DLCI=0)               */
+    4 RFCOMM_W4_DLCI_OPEN
+    5 RFCOMM_W4_DLCI_CLOSE
+    6 RFCOMM_DLCI_OPENED    
+   
+  )
+  
+/* RFCOMM timer constants   */
+  (
+    1000  RFCOMM_T1         /* Used by SABM and DISC frames,100*20ms = 20s     */     
+    1000  RFCOMM_T2         /* Used by commands send in UIH on DLCI0,          */
+    300   RFCOMM_T3_RINGON  /* 6s for ring fade time                           */
+  
+  )
+
+/* Command Type */
+  (
+    0x3F RSP_RX_SABM        /*responsor expect SABM from initiator             */
+    0x3F INI_TX_SABM
+	
+    0x73 RSP_TX_UA          /*responsor send out UA command                    */
+    0x73 UA_WFBIT_SET	    /* UA control field with F bit set                 */
+	
+    0xEF RSP_RX_UIH         /*responsor expect UIH from initiator              */
+
+    0xEF RSP_TX_UIH         /*responsor send UIH to initiator                  */
+     
+    0x1F RSP_TX_DM          /*responsor send DM to initiator                   */
+    0x1F DM_WFBIT_SET       /* DM control field with F bit set                 */
+    0x0F DM_WFBIT_CLEAR     /* DM control field with F bit clear               */
+
+    0x53 RSP_RX_DISC        /*responsor expect DISC from initiator             */
+    0x53 INI_TX_DISC	    /*initiator send DISC control type command         */
+     
+    0xFF RSP_RX_UIH_WDATA   /*UIH data with credit flow control info           */
+    
+    
+  )
+
+/* Multiplexor commands and responses frames */
+  (
+    0x83 PN_COMMAND           /* Bit 0 EA C/R Type = 000001         */
+    0x81 PN_RESPONSOR         /* Bit 0 EA C/R Type = 000001         */
+    
+    0xE3 MSC_COMMAND          /* Bit 0 EA C/R Type = 000111         */
+    0xE1 MSC_RESPONSOR
+ 
+    0x13 NSC_COMMAND          /* Bit 0 EA C/R Type = 001000         */
+    0x11 NSC_RESPONSOR        /* Bit 0 EA C/R Type = 001000         */
+
+    0x23 TEST_COMMAND         /* Bit 0 EA C/R Type = 000111         */
+    0x21 TEST_RESPONSOR 
+    
+    0x93 RPN_COMMAND          /* Bit 0 EA C/R Type = 001001         */
+    0x91 RPN_RESPONSOR 
+    
+    0x53 RLS_COMMAND          /* Bit 0 EA C/R Type = 001010         */
+    0x51 RLS_RESPONSOR 
+
+    0xA3 FCON_COMMAND         /* Bit 0 EA C/R Type = 000101         */
+    0xA1 FCON_RESPONSOR 
+    
+    0x63 FCOFF_COMMAND        /* Bit 0 EA C/R Type = 000110         */
+    0x61 FCOFF_RESPONSOR 
+    	
+    0x03 RLS_OVERRUN
+    0x05 RLS_PARITY_ERROR
+    0x09 RLS_FRAMING_ERROR
+  )
+
+/* memLocalCredit */
+  (
+    0x01 RFCOMM_CREDIT
+  )
+
+  (
+  	0x007f RFCOMM_MAX_FRAME_SIZE
+  )
+
+/* UIH received Data length */
+  (
+    0  LENGTH_ZERO
+    
+    6  LENGTH_OK
+    7  LENGTH_HOT
+    8  LENGTH_RING
+    9  LENGTH_ERROR
+    9  LENGTH_AGVOL_ONEBYTE
+    10 LENGTH_AGVOL_TWOBYTE
+    10 LENGTH_VOL_ONEBYTE
+    11 LENGTH_VOL_TWOBYTE
+    12 LENGTH_BRSF
+    13 LENGTH_PLUS_CIEV
+    15 LENGTH_INBANDRING
+    14 LENGTH_CIEV_CALL
+    17 LENGTH_CRING
+    20 LENGTH_BRSF_OK
+    24 LENGTH_CIND0
+    28 LENGTH_CIEV_TWO
+    32 LENGTH_CIND_OK
+    59 LENGTH_CIND_OK2
+    100 LENGTH_DISCARD
+  )
+  
+/************/
+/* flags    */
+/************/
+  
+/* memRFCOMM_L2CAP_Interface */
+  (
+    0 RFCOMM_TX_W4BUF_FLAG    /* Wait for Tx buffer empty flag */
+    1 RFCOMM_CLOSE_LINK_FLAG
+  )
+  
+
+    
+/* memRemoteMSC		*/
+  (
+    0 MSC_EA_BIT
+    1 MSC_FC_BIT
+    2 MSC_RTC_BIT
+    3 MSC_RTR_BIT
+    6 MSC_IC_BIT
+    7 MSC_DV_BIT
+  )
+
+/* memRemoteRLS         */
+  (
+    0x0C OVERRUN_ERROR
+    0x0A PARITY_ERROR
+    0x09 FRAMING_RERROR
+  )
+  
+/* memRemoteRPNBitRate  */
+  (
+    0x00 BITS2400
+    0x01 BITS4800
+    0x02 BITS7200
+    0x03 BITS9600
+    0x04 BITS19200
+    0x05 BITS38400
+    0x06 BITS57600
+    0x07 BITS115200
+    0x08 BITS230400
+  )
+  
+/* memRemotePRNDataBits	*/
+  (
+    0x00 DATABITS5
+    0x01 DATABITS6
+    0x02 DATABITS7
+    0x03 DATABITS8
+  )
+  
+/* memRemotePRNStopBit	*/
+  (
+    0    ONESTOP
+    1    ONEHALFSTOP
+  )
+  
+/* memRemotePRNParity   */
+  (
+    0    ODDPARITY
+    1    EVENPARITY
+    2    MARKPARITY
+    3    SPACEPARITY
+    
+    7    PARITY_ENABLE_BIT
+  )
+
+/* RPN bit mask(in)     */
+  (
+     0   BIT_RATE_MASK_BIT
+     1   DATA_BITS_MASK_BIT
+     2   STOP_BITS_MASK_BIT
+     3   PARITY_MASK_BIT
+     4   PARITY_TYPE_MASK_BIT
+     5   XON_CHAR_MASK_BIT
+     6   XOFF_CHAR_MASK_BIT
+  )
+  
+/* RPN bit mask(in) 2    */
+  (
+     0   XON_XOFF_INPUT_MASK_BIT
+     1   XON_XOFF_OUTPUT_MASK_BIT
+     2	 RTR_INPUT_MASK_BIT
+     3   RTR_OUTPUT_MASK_BIT
+     4   RTC_INPUT_MASK_BIT
+     5   RTC_OUTPUT_MASK_BIT
+
+  )
+
+/* memRFCOMM_Request	*/
+  (
+    0 SEND_MSC_CMD_REQ_FLAG
+    1 SEND_AT_CKPD_REQ_FLAG
+    2 SEND_RING_REQ_FLAG
+    3 SEND_SABM_CMD
+  )
+  
+/* memRFCOMM_Misc_Flag  */
+  (
+    0 MSC_CDM_ALREADY_SEND_FLAG
+    1 CREDIT_FLOW_USED_FLAG
+    2 DONT_EMBEDDED_CREDIT_FLAG 
+    3 MSC_EXCHANGE_DONE_FLAG
+    4 FLOW_CONTROL_FCOFF_BIT            /* set when receive FCoff, clear when FCon   */
+  )
+  
+/* memRemoteMSC		*/
+  (
+    1 FLOW_CONTROL_FC_BIT		/* received MSC FC bits                      */
+  
+  )
+/* Address filed        */
+  (
+    0 ADDR_EA_BIT
+    1 ADDR_CR_BIT
+    2 ADDR_D_BIT
+  )
+//should be same as descripted in SDP
+(
+    1 SPP_SLAVE_CHANNEL
+    7 OBEX_SERVER_CHANNEL
+    8 HF_SERVER_CHANNEL 
+    9 HS_SERVER_CHANNEL
+)
+/* memRFCOMM_Flag */
+(
+	0 USING_HF_PROFILE
+	1 USING_HS_PROFILE
+	2 USING_SPP_PROFILE
+)
+/*RFCOMM Frame Type*/
+(
+	0x3f RFCOMM_FRAME_TYPE_SABM
+	0x73 RFCOMM_FRAME_TYPE_UA
+	0xEF RFCOMM_FRAME_TYPE_UIH
+	0xFF RFCOMM_FRAME_TYPE_UIH_CREDITS
+	0x53 RFCOMM_FRAME_TYPE_DISCONN
+)
+/*RFCOMM UIH CMD TYPE*/
+(
+	0x41 UIH_PARAM_NEG_CMD
+	0x40 UIH_PARAM_NEG_RES
+	0x49 UIH_PARAM_CMD_REMOVE_PORT
+	0x71 UIH_MODEM_STATUS_CMD
+	0x70 UIH_MODEM_STATUS_RES
+)
+
+/*bits in rfcomm address*/
+(
+	0 RFCOMM_ADDRESS_EXT_LEN
+	1 RFCOMM_ADDRESS_CR
+	2 RFCOMM_ADDRESS_DERECTION
+
+
+)
+
+	(                                   
+	0 RFCOMM_CHANNEL_STATE_PN_CMD
+	1 RFCOMM_CHANNEL_STATE_PN_RES
+	2 RFCOMM_CHANNEL_STATE_SABM
+	3 RFCOMM_CHANNEL_STATE_UA
+	4 RFCOMM_CHANNEL_STATE_SND_MS_CMD
+	5 RFCOMM_CHANNEL_STATE_RCV_MS_CMD
+	6 RFCOMM_CHANNEL_STATE_SND_MS_RES
+	7 RFCOMM_CHANNEL_STATE_RCV_MS_RES
+	0xff RFCOMM_CHANNEL_SETUP_COMPLETE
+	) 
+
+	/*mem_rfcomm_send_more_pkt*/
+	(
+	1 MORE_PKT_MSC_CMD_HF
+	2 MORE_PKT_MSC_CMD_HS
+	3 MORE_PKT_MSC_CMD_SPP
+	4 MORE_PKT_MSC_CMD_OBEX
+	)
+
+	(
+	127 RFCOMM_MALLOC_SIZE
+	)
+0x0511 mem_sdp_mem_start
+0x0511 mem_sdp_uuid_search_ptr
+0x0519 mem_sdp_continue_byte
+0x051b mem_sdp_pduid
+0x051c mem_sdp_transactionid
+0x051e mem_sdp_transactionid_local
+0x0520 mem_sdp_attribute_maxbyte
+0x0522 mem_sdp_record_maxcnt
+0x0524 mem_sdp_record_handle
+0x0528 mem_sdp_LACAP_found
+0x0529 mem_sdp_RFCOMM_found
+0x052a mem_sdp_handle_list
+0x052a mem_sdp_attrib_list
+0x054a mem_sdp_error_code
+0x054c mem_sdp_all_length
+0x054e mem_handle_humber
+0x054f mem_search_uuid
+0x0551 mem_sdp_mem_end
+(
+0 AGORHS_SERVICE
+1 GENAUDIO_SERVICE
+2 HANDSFREE_SERVICE
+)
+(
+0 ATTRIBUTEID_0000
+1 ATTRIBUTEID_0001
+2 ATTRIBUTEID_0004
+3 ATTRIBUTEID_0009
+4 ATTRIBUTEID_0100
+5 ATTRIBUTEID_0302
+6 ATTRIBUTEID_0006
+7 ATTRIBUTEID_0311
+)
+/* mem_sdp_search_profile */
+(
+1	SDP_SS_HEADSET
+2  	SDP_SS_HANDSFREE
+)
+(
+0x06 sdp_pduid_serviceSearchAttrib
+)
+0x2600 sdp_max_amount
+767 SDP_MALLOC_SIZE
+0x6e sdp_tid_spp //any number
+
+ 
+
+0x0551 mem_rxbuf
+0x0562 mem_random_number
+0x0572 mem_round_key
+0x0582 mem_kinit
+0x0592 mem_input_store
+0x05a2 mem_x
+0x05b2 mem_y
+0x05c1 mem_y15
+0x05c2 mem_key_store
+0x05d3 mem_key_store_end
+0x05d4 memp_ar_key
+0x05d6 memp_ar_input
+0x05d8 mem_ar_hround
+0x05e2 mem_ec_infinite
+0x05e3 mem_ec_loopc
+0x05e5 mem_aes_cmac_data_length
+0x05e6 memdat
+0x05e6 mem_ax
+0x05fe mem_ay
+0x0616 mem_az
+0x062e mem_bx
+0x0646 mem_ax_256//32 bytes
+0x0646 mem_by
+0x065e mem_bz
+0x0666 mem_ay_256// 32 bytes
+0x0676 mem_cx
+0x0686 mem_az_256// 32 bytes
+0x068e mem_cy
+0x06a5 mem_cy5
+0x06a6 mem_bx_256// 32 bytes
+0x06a6 mem_cz
+0x06be mem_k
+0x06c6 mem_by_256// 31 bytes
+0x06d6 mem_align
+0x06e6 mem_bz_256//32 bytes
+0x06e6 mem_tmp1
+0x06e6 memahbak
+0x06fe mem_tmp5
+0x0706 mem_cx_256//32 bytes
+0x0706 memahsave
+0x0716 mem_tmp2
+0x0726 mem_cy_256// 32 bytes
+0x0726 memahsave_end
+0x0726 mem_addr_padding
+0x0727 mem_addr_value/* 12 bytes     */ 
+0x072e mem_tmp3
+0x072e mem_t1
+0x0733 mem_addr_value_end
+0x0736 mem_addr_iocap_end
+0x0745 mem_cy5_256// 1 byte
+0x0746 mem_cz_256// 32 bytes
+0x0746 mem_tmp0
+0x0746 mem_t0
+0x074e mem_tmp0a
+0x075e mem_t2
+0x0766 mem_k_256//32 bytes
+0x0776 mem_t3
+0x0786 mem_tmp1_256//32 bytes
+0x078e mem_t7
+0x07a6 mem_tmp5_256
+0x07c6 mem_tmp2_256
+0x07e6 mem_tmp3_256
+0x07e6 mem_t1_256
+0x0806 mem_tmp0_256
+0x0806 mem_t0_256
+0x0826 mem_t2_256
+0x0846 mem_t3_256
+0x0866 mem_t7_256
+0x0886 mem_p
+0x089e mem_a
+0x08b6 mem_b
+0x08ce mem_gx
+0x08e6 mem_gy
+0x08fe memh0
+0x091e mem_p_256
+0x093e mem_a_256
+0x095e mem_gx_256
+0x097e mem_gy_256
+0x099e mem_le_slat
+
+(
+0 PAIR_UNKNOWN
+1 PAIR_ING
+2 PAIR_DONE
+)
+
+(
+0x18 ATT_WRITE_REQUEST_HANDLE
+)
+
+(
+0x13	HANDLE_VOLUM_UP_KEY	
+0x17	HANDLE_ENTER_KEY
+)
+	
+(
+0x010210 param_smp_key_dist1
+0x010010 param_smp_key_dist2
+)
+
+(
+0 INITATOR_LTK
+1 INITATOR_IRK
+2 INITATOR_CSRK
+)
+
+(
+//100ms
+0x00a0	FAST_ADV_INTERVAL_VALUE
+//200ms
+0x0140	SLOW_ADV_INTERVAL_VALUE
+)
+
+(
+0x01	GAP_ADTYPE_FLAGS
+0x02	GAP_ADTYPE_16BIT_MORE
+0x03	GAP_ADTYPE_16BIT_COMPLETE
+0x04	GAP_ADTYPE_32BIT_MORE
+0x05	GAP_ADTYPE_32BIT_COMPLETE
+0x06	GAP_ADTYPE_128BIT_MORE
+0x07	GAP_ADTYPE_128BIT_COMPLETE
+0x08	GAP_ADTYPE_LOCAL_NAME_SHORT
+0x09	GAP_ADTYPE_LOCAL_NAME_COMPLETE
+0x0a	GAP_ADTYPE_POWER_LEVEL
+0xff	GAP_ADTYPE_MANUFACTURER_SPECIFIC
+)
+
+(
+0 ATT_BIT_NOTIFICATION
+1 ATT_BIT_INDICATION
+)
+///////////////////////////////////////////////////////////////////////////////////////
+(
+13 MAX_SHUTER_KEY_NUM
+4  MAX_SHUTTER_LED_NUM
+0xFF INVALID_PIN_NUM
+)
+(
+0 KEY_DEFAULT
+1 kEY_1
+2 kEY_2
+3 KEY_3
+4 KEY_4
+)
+(
+0 HARD_SWITCH
+1 SOFT_SWITCH
+)
+(
+0 LED_OFF
+1 LED_ON
+2 LED_BLINK
+0xFF LED_INVALID
+)
+
+/*struct led_style*/
+(
+7 LED_STYLE_STRUCT_LEN
+0 LED_TYPE_OFFSET
+1 LED_PIN_OFFSET
+2 LED_ON_TIME_OFFSET
+4 LED_OFF_TIME_OFFSET
+6 LED_BLINK_COUNT_OFFSET
+)
+
+/*struct key_conf*/
+(
+2 KEY_CONF_STRUCT_LEN
+0 KEY_PIN_OFFSET
+1 KEY_STYLE_IND_OFFSET
+)
+
+(
+0 SHUTTER_POWER_UP
+1 SHUTTER_POWER_ON
+2 SHUTTER_POWER_OFF
+)
+
+(
+0x5907 le_parse_att0
+0x5666 le_prepare_att0
+0x7c67 check_51cmd_once0
+)
+
+
+(
+0xf00 EEP_LAP_ADDR
+)
+
+(
+0x33 PAIRED_DEVICE_TYPE_BT
+0x44 PAIRED_DEVICE_TYPE_BLE
+5 PAIRED_DEVICE_DEFAULT_LEN
+0x5a5a PAIRED_DEVICE_MAGIC
+)
+
+(
+0 FLAG_SHUTTER_DEFAULT
+1 FLAG_SHUTTER_IPHONEKEY_SEND
+2 FLAG_SHUTTER_ANDROIDKEY_SEND
+)
+
+(
+0 FLAG_SHUTTER_IPHONEKEY_PRESS
+1 FLAG_SHUTTER_ANDROIDKEY_PRESS
+)
+
+(
+1  FLAG_SHUTTER_HID_DISCONN_TIMEOUT
+5 FLAG_SHUTTER_CABLE_UNPLUG_TIMEOUT
+)
+
+(
+1 FLAG_SHUTTER_1KEY
+2 FLAG_SHUTTER_2KEY
+)
+
+(
+0 FLAG_SHUTTER_1KEY_SEND_NULL
+1 FLAG_SHUTTER_1KEY_SEND_STEP1
+2 FLAG_SHUTTER_1KEY_SEND_STEP2
+3 FLAG_SHUTTER_1KEY_SEND_STEP3
+4 FLAG_SHUTTER_1KEY_SEND_STEP4
+)
+
+
+//mem_shutter_find_type_value_flag
+(
+0X00 LE_FIND_TYPE_VALUE_HID_BIT
+0X01 LE_FIND_TYPE_VALUE_BATTERY_BIT
+0X02 LE_FIND_TYPE_VALUE_DEVICE_INFO_BIT
+0x03 LE_FIND_TYPE_VALUE_GATT_BIT
+)
+
+(
+//20ms
+0x0020	FAST_ADV_INTERVAL_VALUE_PATCH
+)
+
+(
+50 TIMEOUT_DISCONNECT_TIMER
+)
+
+/* simple pairing page */
+
+0x09ae mem_sp_state_start
+0x09ae mem_sp_state
+0x09af mem_master_sp_state
+0x09b0 mem_sp_flag
+0x09b1 mem_master_sp_flag
+0x09b2 mem_sp_calc
+0x09b3 mem_sp_dh_ready
+0x09b4 mem_sp_localsm
+0x09b5 mem_pairing_auth
+0x09b6 mem_sp_flag_start
+0x09b6 mem_sp_local_key_send_count
+0x09b7 mem_sp_remote_key_recv_count
+0x09b8 mem_sp_remote_key_invalid
+0x09b9 mem_sp_dhkey_invalid
+0x09ba mem_gkey
+0x09be mem_le_pubkey_remote_x_256
+0x09c6 mem_sp_pubkey_remote
+0x09c6 mem_sp_pubkey_remote_x
+0x09de mem_sp_pubkey_remote_x_end
+0x09de mem_le_pubkey_remote_y_256
+0x09e6 mem_sp_pubkey_remote_y
+0x09fe mem_le_dhkey_256
+0x0a06 mem_sp_dhkey
+0x0a1e mem_sp_dhkey_end
+0x0a1e mem_sp_random_local
+0x0a2e mem_sp_random_local_end
+0x0a2e mem_sp_random_remote
+0x0a3e mem_sp_random_remote_end
+0x0a3e memresult
+0x0a3e mem_sp_calc_result
+0x0a3e memh
+0x0a42 memg
+0x0a46 memf
+0x0a4a meme
+0x0a4e mem_sp_calc_result_high
+0x0a4e memd
+0x0a52 memc
+0x0a56 memb
+0x0a5a mema
+0x0a5e mem_sp_check_result
+0x0a6e mem_sp_confirm_remote
+0x0a7e mem_sp_prarm_stack
+
+/* simple pairing status flag */
+(
+  0x00   SP_FLAG_STANDBY
+  0x01   SP_FLAG_COMMIT
+  0x02   LE_SP_FLAG_COMMIT_256
+
+)
+
+/* simple pairing calc flag */
+(
+  0x00   SP_CALC_STANDBY
+  0x01   SP_CALC_PUBKEY
+  0x02   SP_CALC_DHKEY
+  0x03   SP_CALC_PUBKEY_256
+  0x04   SP_CALC_DHKEY_256
+)
+
+/* simple pairing state */
+(
+  0x00   SP_STAT_NULL
+  0x01   SP_STAT_KEY_RECV
+  0x02   SP_STAT_KEY_GENERATE
+  0x03   SP_STAT_KEY_SEND
+  0x04   SP_STAT_COMMIT_CALC
+  0x05   SP_STAT_COMMIT_SEND
+  0x06   SP_STAT_RANDOM_RECV
+  0x07   SP_STAT_RANDOM_SEND
+  0x08   SP_STAT_CONFIRM_RECV
+  0x09   SP_STAT_CONFIRM_CHECK
+  0x0A   SP_STAT_CONFIRM_CALC
+  0x0B   SP_STAT_CONFIRM_SEND
+  0x0C   SP_STAT_LINK_KEY_CALC
+  0x0F   SP_STAT_DONE
+  0x10   SP_STAT_FEATURE_EXT_SEND
+  0x11   SP_STAT_GKEY_CALC
+  /*simple pairing master only*/
+  0x12   SP_MASTER_STAT_START_SKIP
+  0x13   SP_MASTER_STAT_START_DONE
+  0x14   SP_STAT_COMMITMENT_COMPARE
+  0x15   SP_STATE_END
+)
+
+
+/* simple paring invalid flag */
+(
+  0x00   SP_KEY_INVALID
+  0x01   SP_KEY_VALID
+  0x03   SP_KEY_VALID_256
+
+)
+
+/* encapsulated defination for P-192 key */
+(
+  0x01  ENCAPSULATED_MAJOR_TYPE_P192
+  0x01  ENCAPSULATED_MINOR_TYPE_P192
+  0x30  ENCAPSULATED_LEN_P192
+)
+
+/* bluetooth 2.1 support flag */
+(
+  0x00  SIMPLE_PAIRING_ENABLE
+  0x01  ENCRYPTION_PAUSE_ENABLE
+  0x02  EXTENDED_INQUIRY_RESPOSE_ENABLE
+  0x03  SNIFF_SUBRATING_ENABLE
+)
+
+/*mem_sp_localsm*/
+(
+  0x00 DEFAULT_STATEMACHINE
+  0x01 LOCAL_STATEMACHINE
+)
+
+(
+ 0x00 DEFALT_PAIRING_AUTH
+ 0x01 PAIRING_AUTH
+)
+
+(
+1 SSP_MODE_SSP_PIN_FLAG
+2 SSP_MODE_PASSKEY_ENTRY_FLAG
+3 SSP_MODE_JUST_WORK_FLAG
+)
+
+(//ssp mode
+0x040003 SSP_MODE_JUST_WORK_IO_CAP_DATA
+0X040001 SSP_MODE_SSP_PIN_IO_CAP_DATA
+0X040002 SSP_MODE_PASSKEY_IO_CAP_DATA
+)
+
+(
+0x00 DISPLAY_ONLY
+0x01 DISPLAY_YESNO
+0x02 KEYBOARD_ONLY
+0x03 NO_INPUT_NO_OUTPUT
+)
+
+(
+7 FLAG_MODE_SSP_PIN_REVICEVE_COMPARISON_BIT
+6 FLAG_MODE_SSP_PIN_RECIEVE_DHKEY_BIT
+0 FLAG_MODE_SSP_PIN_COMPARISON_RESULT_BIT
+)
+(
+1 FLAG_PAIRING_STATE_PAIRING
+0 FLAG_PAIRING_STATE_NOT_PAIRING
+)
+
+  
+/*****************************************************************************/
+/* RCS HEADER -- DO NOT ERASE                                                */
+/* $Author: Administrator $                                                           */
+/* $Id: bt_ui_format.upper,v 1.1 2009-09-28 04:06:17 Administrator Exp $     */
+/************************************************************************/
+
+
+	/* ========= memory ============== */
+0x0a8e mem_UI_data_txbuff_length
+0x0a90 mem_ipc_skip_continue_proc
+0x0a91 mem_ui_timer_temp//length 4
+0x0a91 mem_ipc_rega_temp
+
+/************/
+/* constant */
+/************/
+
+//mem_ui_state_map
+(
+0 UI_STATE_BT_CONNECTED
+1 UI_STATE_BT_SETUP_COMPLETE
+2 UI_STATE_BT_HID_CONN
+3 UI_STATE_BT_HID_HANDSHAKE
+4 UI_STATE_BT_SPP_CONN
+5 UI_STATE_BT_SNIFF
+6 UI_STATE_BT_DISCOVERY
+7 UI_STATE_BT_RECONNECT
+8 UI_STATE_BT_SLAVE_ROLE
+9 UI_STATE_BLE_CONNECTED
+10 UI_STATE_BLE_WRITE_RCV
+11 UI_STATE_BLE_ADV
+12 UI_STATE_BTN_DOWN
+13 UI_STATE_LED_BLINK
+14 UI_STATE_LED_ON
+)
+(
+0xFF LED_FLASH_INFINITE
+)
+
+(
+1 UI_STATE_SPP_NL_AUTO_DISCOVER
+
+)
+
+/* UI state for Headset (memui_HS_State) */ 
+   (
+    0 UI_HEADSET_DISCONNECT
+    1 UI_HEADSET_IDLE                   /* before the responsor HS receive SABM      */
+    2 UI_HEADSET_W4CONNECT
+    3 UI_HEADSET_RINGING
+    4 UI_HEADSET_CONNECTED
+    5 UI_HEADSET_PARING
+  )
+/* memui_BB_State */
+(
+  0 UI_BB_OFF
+  1 UI_BB_IDLE
+  2 UI_BB_DISCOVERY
+  3 UI_BB_CONNECTED_ACTIVE_NO_SCO
+  4 UI_BB_CONNECTED_ACTIVE_WITH_SCO
+  5 UI_BB_CONNECTED_ACTIVE_WAIT_SNIFF
+  6 UI_BB_CONNECTED_SNIFF
+  7 UI_BB_RECONNECT
+  8 UI_BB_CONNECTED_SNIFF_WITH_SCO
+)
+
+/************/
+/* flags    */
+/************/
+  
+/* memui_Misc_Flags */
+  (
+    5 NO_IDLE_TURN_OFF
+    7 ANSWER_RING_FLAG               /* 1 Answer,0 no*/
+  )
+
+/* mem_UI_SCH_Interface */
+  (
+    0  UI_HS_PAIRING 
+    2  UI_REQ_CLOSE_RFCOMM
+    3  UI_LINK_LOST
+    4  UI_REQ_OPEN_SCO
+    6  UI_REQ_CLOSE_SCO
+  )
+  
+/* memui_PassOverKey */
+  (
+    0  ANSWER_RING_BIT
+    0  AG_SEND_RING_BIT
+    1  VOL_UP_BIT
+    2  VOL_DOWN_BIT
+    3  INI_CALL_BIT
+    4  DAIL_LAST_CALL
+    5  END_CALL_BIT
+    6  NOKIA_VOICE_ACTIVE 
+    7  REJECT_CALL_BIT
+  )
+  
+/* memui_reconnect_mode */
+(
+  0 NO_RECONNECTION
+  1 RECONNECT_HID
+  2 RECONNECT_HF
+  3 RECONNECT_HS
+  4 RECONNECT_HID_HF
+  5 RECONNECT_HID_HS
+)
+/* memui_Commands */
+(
+0 BT_CMD_STANDBY
+1 BT_CMD_START_DISCOVERY
+2 BT_CMD_STOP_DISCOVERY
+3 BT_CMD_RECONNECT
+4 BT_CMD_DISCONNECT
+5 BT_CMD_ENTER_SNIFF
+6 BT_CMD_EXIT_SNIFF
+7 BT_CMD_ENTER_SNIFF_SUBRATING
+8 BT_CMD_EXIT_SNIFF_SUBRATING
+9 BT_CMD_SNIFF_TEST
+10 BT_CMD_SET_PIN_CODE
+11 BT_CMD_START_INQUIRY
+12 BT_CMD_STOP_INQUIRY
+13 BT_CMD_START_ADV
+14 BT_CMD_STOP_ADV
+15 BT_CMD_START_DIRECT_ADV
+16 BT_CMD_STOP_DIRECT_ADV
+17 BT_CMD_LE_DISCONNECT
+18 BT_CMD_LE_UPDATE_CONN
+19 BT_CMD_LED_OFF
+20 BT_CMD_LED_ON
+21 BT_CMD_LED_BLINK
+22 BT_CMD_LE_START_CONN
+23 BT_CMD_LE_START_SCAN
+24 BT_CMD_LE_STOP_SCAN
+25 BT_CMD_ENTER_HIBERNATE
+27 BT_CMD_LE_SMP_SECURITY_REQUEST
+28 BT_CMD_LE_START_WRITE
+29 BT_CMD_ROLE_SWITCH
+30 BT_CMD_BB_RECONN_CANCEL
+31 BT_CMD_STORE_RECONN_INFO_LE
+32 BT_CMD_STORE_RECONN_INFO_BT
+33 BT_CMD_DHKEY_NOT_ACCEPT
+34 BT_CMD_START_24G
+35 BT_CMD_STOP_24G
+36 BT_CMD_PAIR_24G
+)
+
+(
+0x00 BT_EVT_NULL
+0x01 BT_EVT_BB_CONNECTED
+0x02 BT_EVT_BB_DISCONNECTED
+0x03 BT_EVT_RECONN_STARTED
+0x04 BT_EVT_RECONN_FAILED
+0x05 BT_EVT_SETUP_COMPLETE
+0x06 BT_EVT_HID_CONNECTED
+0x07 BT_EVT_HID_DISCONNECTED
+0x08 BT_EVT_SPP_CONNECTED
+0x09 BT_EVT_SPP_DISCONNECTED
+0x0A BT_EVT_PINCODE_REQ
+0x0B BT_EVT_ENTER_SNIFF
+0x0C BT_EVT_EXIT_SNIFF
+0x0D BT_EVT_ENTER_SNIFF_SUB
+0x0E BT_EVT_EXIT_SNIFF_SUB
+0x0F BT_EVT_DISCOVERY_STOPED
+0x10 BT_EVT_BUTTON_LONG_PRESSED
+0x12 BT_EVT_HID_HANDSHAKE
+0X13 BT_EVT_RECONN_PAGE_TIMEOUT
+0x14 BT_EVT_LE_CONNECTED
+0X15 BT_EVT_LE_DISCONNECTED
+0x16 BT_EVT_ML2CAP_CONN_REFUSED
+0x17 BT_EVT_BUTTON_ENTER_HIBERNATE
+0x18 BT_EVT_LINKKEY_GENERATE
+0x19 BT_EVT_SWITCH_NOT_ACCEPT
+0x20 BT_EVT_SWITCH_ACCEPT
+0x21 BT_EVT_SNIFF_NOT_ACCEPT
+0x22 BT_EVT_SNIFF_ACCEPT
+0x23 BT_EVT_UNSNIFF_ACCEPT
+0x24 BT_EVT_UNSNIFF_NOT_ACCEPT
+0x25 BT_EVT_BUTTON_ADJUST_DPI
+0x26 BT_EVT_SEND_UNSNIFF_ACCEPT
+0x27 BT_EVT_VIRTUAL_CABLE_UNPLUG
+0x28 BT_EVT_LE_WRITE_REQUEST
+0x29 BT_EVT_LE_ENC_INFO
+0x2a BT_EVT_SWITCH_FAIL_MASTER
+0x2b BT_EVT_SWITCH_SUCCESS_MASTER
+0x2c BT_EVT_BUTTON_DOWN
+0x2d BT_EVT_BUTTON_UP
+0x2e BT_EVT_REMOTE_UNSNIFF
+0x30 BT_EVT_LE_PAIRING_FAIL
+0x31 BT_EVT_LE_PAIRING_SUCCESS
+0x32 BT_EVT_LE_START_ENC
+0X33 BT_EVT_LE_PAUSE_ENC
+0X34 BT_EVT_LE_TK_GENERATE
+0x35 BT_EVT_BT_GKEY_GENERATE
+0x36 BT_EVT_BT_GET_PASSKEY
+0x37 BT_EVT_BT_PAIRING_FAIL
+0x38 BT_EVT_BT_PAIRING_SUCCESS
+0x39 BT_EVT_24G_PAIRING_COMPLETE
+0x3a BT_EVT_24G_ATTEMPT_FAIL
+0x3b BT_EVT_LE_GKEY_GENERATE
+0x3c BT_EVT_24G_ATTEMPT_SUCCESS
+0x3d BT_EVT_STORE_NVRAM
+0x3e BT_EVT_LE_PAIRING_COMPLETE
+0x3F BT_EVT_LE_RECONNECT_COMPLETE
+0x40 BT_EVT_LE_PARSE_CONN_PAPA_UPDATE_RSP
+0x41 BT_EVT_LE_LTK_LOST
+
+0x50 BT_EVT_TIMER_INIT
+0xF0 BT_EVT_TIMER_MASK
+0x51 BT_EVT_TIMER_100MS
+0x52 BT_EVT_TIMER_200MS
+0x53 BT_EVT_TIMER_300MS
+0x54 BT_EVT_TIMER_400MS
+0x55 BT_EVT_TIMER_500MS
+0x56 BT_EVT_TIMER_600MS
+0x57 BT_EVT_TIMER_700MS
+0x58 BT_EVT_TIMER_800MS
+0x59 BT_EVT_TIMER_900MS
+0x5A BT_EVT_TIMER_1KMS
+0x5B BT_EVT_TIMER_1K1MS
+0x5C BT_EVT_TIMER_1K2MS
+0x5D BT_EVT_TIMER_1K3MS
+0x5E BT_EVT_TIMER_1K4MS
+0x5F BT_EVT_TIMER_1K5MS
+)
+//switch
+(
+0 OFF
+1 ON
+)
+/* memui_mem_lock */
+(
+    0 MEM_UNLOCK
+    1 MEM_LOCK
+)
+/* memui_flag0 */
+(
+    0 UI_USER_DATA_FLAG
+    1 UI_WII_WAITING_SLEEP
+    2 UI_KEYBOARD_SNIFF_SKIP
+)
+/* mem_master_type */
+(
+    0 MTYPE_HID_DEFAULT
+    1 MTYPE_HID_SSP
+    2 MTYPE_SPP
+)
+
+	(	
+	0x01 RECIEVE_SDP_CONN_RES
+	0x02 RECIEVE_SDP_CFG_REQ
+	0x03 RECIEVE_SDP_CFG_RES
+	0x04 RECIEVE_RFCOMM_CONN_RES
+	0x05 RECIEVE_RFCOMM_CFG_REQ
+	0x06 RECIEVE_RFCOMM_CFG_RES
+	0x07 RECIEVE_HID_CTRL_CONN_RES
+	0x08 RECIEVE_HID_CTRL_CFG_REQ
+	0x09 RECIEVE_HID_CTRL_CFG_RES
+	0x0A RECIEVE_HID_INT_CONN_RES
+	0x0B RECIEVE_HID_INT_CFG_REQ
+	0x0C RECIEVE_HID_INT_CFG_RES
+	0x0D RECIEVE_AVCTP_CONN_RES
+	0x0E RECIEVE_AVCTP_CFG_REQ
+	0x0F RECIEVE_AVCTP_CFG_RES
+	0x10 RECIEVE_AVDTP_SIGNAL_CONN_RES
+	0x11 RECIEVE_AVDTP_SIGNAL_CFG_REQ
+	0x12 RECIEVE_AVDTP_SIGNAL_CFG_RES
+	0x13 RECIEVE_AVDTP_MEDIA_CONN_RES
+	0x14 RECIEVE_AVDTP_MEDIA_CFG_REQ
+	0x15 RECIEVE_AVDTP_MEDIA_CFG_RES
+	0x16 RECIEVE_SS_REASULT_HS                  
+	0x17 RECIEVE_SS_REASULT_HF                  
+	0x18 RECIEVE_SS_REASULT_AVTARG		          
+	0x19 RECIEVE_SS_REASULT_OBEX		            
+	0x1A RECIEVE_DLCI0_UA
+	0x1B RECIEVE_HS_PARAM_NEG_RES
+	0x1C RECIEVE_HS_UA
+	0x1D RECIEVE_HS_MODEM_STATUS_RES
+	0x1E RECIEVE_HS_MODEm_STATUS_CMD
+	0x1F RECIEVE_HF_PARAM_NEG_RES   
+	0x20 RECIEVE_HF_UA              
+	0x21 RECIEVE_HF_MODEM_STATUS_RES
+	0x22 RECIEVE_HF_MODEm_STATUS_CMD 
+	0x23 RECIEVE_OBEX_PARAM_NEG_RES     
+	0x24 RECIEVE_OBEX_UA              
+	0x25 RECIEVE_OBEX_MODEM_STATUS_RES
+	0x26 RECIEVE_OBEX_MODEm_STATUS_CMD    
+	0x27 RECIEVE_SPP_PARAM_NEG_RES   
+	0x28 RECIEVE_SPP_UA              
+	0x29 RECIEVE_SPP_MODEM_STATUS_RES
+	0x2A RECIEVE_SPP_MODEm_STATUS_CMD
+	0x2b RECIEVE_SDP_DISCONN_RES
+	)
+
+
+
+	(
+	0 UPPERSM_RP_IDLE
+	1 UPPERSM_RP_SDP_CONN
+	2 UPPERSM_RP_SDP_CONN_WAIT
+	3 UPPERSM_RP_SDP_CFG
+	4 UPPERSM_RP_SDP_CFG_WAIT
+	5 UPPERSM_RP_SS_AVTARG
+	6 UPPERSM_RP_SS_AVTARG_WAIT
+	7 UPPERSM_RP_SS_OBEX
+	8 UPPERSM_RP_SS_OBEX_WAIT
+	9 UPPERSM_RP_SDP_DISCONN
+	10 UPPERSM_RP_SDP_DISCONN_WAIT
+	11 UPPERSM_RP_AVDTP_CONN_WAIT
+	12 UPPERSM_RP_AVCTP_CONN
+	13 UPPERSM_RP_AVCTP_CONN_WAIT
+	14 UPPERSM_RP_AVCTP_CFG
+	15 UPPERSM_RP_AVCTP_CFG_WAIT
+	16 UPPERSM_RP_OBEX_CMD_PN
+	17 UPPERSM_RP_OBEX_CMD_PN_WAIT
+	18 UPPERSM_RP_OBEX_SABM
+	19 UPPERSM_RP_OBEX_SABM_WAIT
+	20 UPPERSM_RP_OBEX_CMD_MS
+	21 UPPERSM_RP_OBEX_CMD_MS_WAIT
+	)
+	(		/*mem_upper_sm_reconn*/
+	0 UPPERSM_RECONN_IDLE		
+	1 UPPERSM_RECONN_SDP_CONN		
+	2 UPPERSM_RECONN_SDP_CONN_WAIT		
+	3 UPPERSM_RECONN_SDP_CFG		
+	4 UPPERSM_RECONN_SDP_CFG_WAIT		
+	5 UPPERSM_RECONN_SS_HS
+	6 UPPERSM_RECONN_SS_HS_WAIT
+	7 UPPERSM_RECONN_SS_HF
+	8 UPPERSM_RECONN_SS_HF_WAIT
+	9 UPPERSM_RECONN_SS_AVTARG		
+	10 UPPERSM_RECONN_SS_AVTARG_WAIT		    
+	11 UPPERSM_RECONN_SS_OBEX		            
+	12 UPPERSM_RECONN_SS_OBEX_WAIT		      
+	13 UPPERSM_RECONN_SDP_DISCONN		        
+	14 UPPERSM_RECONN_SDP_DISCONN_WAIT      
+	15 UPPERSM_RECONN_HID_CTRL_CONN		      
+	16 UPPERSM_RECONN_HID_CTRL_CONN_WAIT		
+	17 UPPERSM_RECONN_HID_CTRL_CFG		      
+	18 UPPERSM_RECONN_HID_CTRL_CFG_WAIT     
+	19 UPPERSM_RECONN_HID_INT_CONN		      
+	20 UPPERSM_RECONN_HID_INT_CONN_WAIT		  
+	21 UPPERSM_RECONN_HID_INT_CFG		        
+	22 UPPERSM_RECONN_HID_INT_CFG_WAIT      
+	23 UPPERSM_RECONN_RFCOMM_CONN		        
+	24 UPPERSM_RECONN_RFCOMM_CONN_WAIT		  
+	25 UPPERSM_RECONN_RFCOMM_CFG		        
+	26 UPPERSM_RECONN_RFCOMM_CFG_WAIT       
+	27 UPPERSM_RECONN_RFCOMM_SABM		        
+	28 UPPERSM_RECONN_RFCOMM_SABM_WAIT		  
+	29 UPPERSM_RECONN_SPP_CMD_PN		        
+	30 UPPERSM_RECONN_SPP_CMD_PN_WAIT		    
+	31 UPPERSM_RECONN_SPP_SABM		          
+	32 UPPERSM_RECONN_SPP_SABM_WAIT		      
+	33 UPPERSM_RECONN_SPP_CMD_MS		        
+	34 UPPERSM_RECONN_SPP_CMD_MS_WAIT       
+	35 UPPERSM_RECONN_HF_CMD_PN		          
+	36 UPPERSM_RECONN_HF_CMD_PN_WAIT		    
+	37 UPPERSM_RECONN_HF_SABM		            
+	38 UPPERSM_RECONN_HF_SABM_WAIT		      
+	39 UPPERSM_RECONN_HF_CMD_MS		          
+	40 UPPERSM_RECONN_HF_CMD_MS_WAIT        
+	41 UPPERSM_RECONN_AVDTPs_CONN		        
+	42 UPPERSM_RECONN_AVDTPs_CONN_WAIT		  
+	43 UPPERSM_RECONN_AVDTPs_CFG		        
+	44 UPPERSM_RECONN_AVDTPs_CFG_WAIT       
+	45 UPPERSM_RECONN_AVDTPm_CONN		        
+	46 UPPERSM_RECONN_AVDTPm_CONN_WAIT		  
+	47 UPPERSM_RECONN_AVDTPm_CFG		        
+	48 UPPERSM_RECONN_AVDTPm_CFG_WAIT       
+	49 UPPERSM_RECONN_AVCTP_CONN		        
+	50 UPPERSM_RECONN_AVCTP_CONN_WAIT		    
+	51 UPPERSM_RECONN_AVCTP_CFG		          
+	52 UPPERSM_RECONN_AVCTP_CFG_WAIT		    
+	53 UPPERSM_RECONN_OBEX_CMD_PN		        
+	54 UPPERSM_RECONN_OBEX_CMD_PN_WAIT		  
+	55 UPPERSM_RECONN_OBEX_SABM		          
+	56 UPPERSM_RECONN_OBEX_SABM_WAIT		    
+	57 UPPERSM_RECONN_OBEX_CMD_MS		        
+	58 UPPERSM_RECONN_OBEX_CMD_MS_WAIT     
+	59 UPPERSM_RECONN_SS_SPP
+	60 UPPERSM_RECONN_SS_SPP_WAIT
+	)
+	(/*mem_UI_profile_supported*/
+	0 support_HID
+	1 support_A2DP
+	2 support_AVRCP
+	3 support_HF
+	4 support_HS
+	5 support_PBAP
+	6 support_SPP
+	)
+	/*mem_upper_sm_ss*/
+	(
+	0 UPPERSM_SS_HS
+	1 UPPERSM_SS_HF
+	2 UPPERSM_SS_AVTARG
+	3 UPPERSM_SS_OBEX
+	)
+
+	(
+	160 UI_HUNDRED_MILLISECOND_TIME
+	0XFF UI_BUTTON_GPIO_DISABLE
+	)
+	(
+	0x01 UI_BB_INCONNECT
+	0x10 UI_BB_DISCONNECT
+	)
+(
+0x00 UI_BUTTON_STATE_DOWN
+0x01 UI_BUTTON_STATE_UP
+)
+
+//mem_ipc_skip_continue_proc
+(
+	0 IPC_CONTINUE_PROCESS
+	1 IPC_SKIP_CONTINUE_PROCESS
+)
+
+
+
+
+
+(
+0 LIGHT_GROUP0
+)
+
+(
+0 LIGHT_CMD_PWM0
+1 LIGHT_CMD_PWM1
+2 LIGHT_CMD_PWM2
+3 LIGHT_CMD_PWM3
+4 LIGHT_CMD_PWM4
+5 LIGHT_CMD_PWM5
+6 LIGHT_CMD_AUTO_MODE
+0xff LIGHT_CMD_PAIRING
+
+)
+
+
+
+
+
+//******mouse.format******//
+(
+//SPI GPIO 
+0x19 MOUSE_SPI1_CLK_GPIO
+0x1A MOUSE_SPI1_SDIO_GPIO
+0X1E MOUSE_SPI2_CLK_GPIO
+0X1F MOUSE_SPI2_SDIO_GPIO
+//combination
+0x01 MOUSE_L_BUTTON
+0X02 MOUSE_R_BUTTON
+0X04 MOUSE_M_BUTTON
+0X05 MOUSE_LM_BUTTON
+0X06 MOUSE_RM_BUTTON
+0X07 MOUSE_LMR_BUTTON
+//mouse default gpio
+0x1B MOUSE_DEFAULT_XA_GPIO
+0x1C MOUSE_DEFAULT_XB_GPIO
+
+//ui led blink
+0X00C8  LED_RECONNECT_BLINK //200
+0X0190  LED_DPI_BLINK //400
+0X03E8  LED_DPI_BLINK_FIXED    //1000
+0X03E8  LED_DISCOVERY_BLINK    //1000
+0XFF    LED_LONG_BLINK
+0x05	LED_SENSOR_BLINK_CNT
+//bt mode device number
+0x01 MODE_BT_DEVICE1
+0x02 MODE_BT_DEVICE2
+0x03 MODE_BT_DEVICE3
+0x02 MODE_24G_DEVICE
+//mouse  flag
+0X00 WRITE_REQ_ENABLE_FLAG
+0X01 LL_START_ENC_FLAG
+0X02 LL_PAIRING_SUCCESS_FLAG
+
+
+//mouse_function_flag
+0X04 MOUSE_FLAG_LEN
+//1byte
+0X00 MOUSE_SELECT_DEVICE_FLAG
+0X01 MOUSE_CPI_FLAG
+0X02 MOUSE_BT_CANNEL_RECONN_FLAG
+0X03 MOSUE_24G_PAIRING_FLAG
+0X04 MOUSE_LOW_VOLTAGE_FLAG
+0X05 MOUSE_BT_DISCOVERY_BUTTON_DOWN_FLAG
+0X06 MOUSE_LONG_BT_BUTTON_FLAG
+0X07 MOUSE_STORE_EEPROM_FLAG
+0x08 MOUSE_STATUE_UP_FLAG
+0X09 MOUSE_BT_DISCOVERY_BUTTON_LONG_DOWN_FLAG
+
+
+//3byte
+0X10 MOUSE_ENABLE_USB
+0X11 MOUSE_ENABLE_24G
+0X12 MOUSE_ENABLE_SPI2
+0X13 MOUSE_ENABLE_FLASH
+0X14 MOUSE_ENABLE_EEPROM
+0X15 MOUSE_ENABLE_STATUE_UP_THREE_LED
+0X16 MOUSE_ENABLE_STATUE_UP
+0X17 MOUSE_ENABLE_DPI_LED_BLINK
+//4byte
+0X18 MOUSE_ENABLE_BLE_RANDOM_ADDRE
+0X19 MOUSE_ENABLE_2K_EEPROM
+0X1A MOUSE_ENABLE_ADC
+0X1B MOUSE_ENABLE_INIT_DELAY
+0X1C MOUSE_ENABLE_DISCOVERY_SENSOR_LED
+0X1D MOUSE_ENABLE_AUTO_24G_PARING
+0X1E MOUSE_ENABLE_WAKEUP_FROM_POWER
+0X1F MOUSE_ENABLE_GPIO_CONTROL_ADC_SENSOR
+
+
+
+//mouse dpi level
+0x00 MOUSE_DPI_LEVEL1
+0x01 MOUSE_DPI_LEVEL2
+0x02 MOUSE_DPI_LEVEL3
+0x03 MOUSE_DPI_LEVEL4
+
+
+//mouse sensor angle
+0x00 MOUSE_6CLK_ANGLE
+0X01 MOUSE_9CLK_ANGLE
+0X02 MOUSE_12CLK_ANGLE
+0X03 MOUSE_3CLK_ANGLE
+
+
+//mem_config_function_enable
+0 ENABLE_BT_DISCOVERY_BY_GPIO_LED
+1 ENABLE_MODE_LED
+2 ENABLE_LOW_VOLTAGE_LED
+3 ENABLE_DEVICE_LED
+4 ENABLE_BT_BUTTON
+5 ENABLE_SELECT_DEVICE_BY_GPIO_BUTTON
+6 ENABLE_SELECT_DEVICE_BY_SWITCH
+7 ENABLE_SENSOR_MOTION_PIN
+
+
+0xFF GPIO_DISABLE
+
+
+//DPI button state 
+0x00 DPI_BUTTON_STATE_DOWN
+0x01 DPI_BUTTON_STATE_UP
+
+
+//eeprom address offect
+0X00 MOUSE_INFO_EEPROM_OFFECT
+0X5A MOUSE_DPI_EEPROM_OFFECT	//1byte
+0X5B MOUSE_G24_ADDR_EEPROM_OFFECT	//4bytes
+0X5F MOUSE_RANDOM_ADDR_COUNT_EEPROM_OFFSET	//2bytes
+0X61 MOUSE_DEVICE_MODE_EEPROM_OFFSET	//1byte	
+0X62 MOUSE_EEPROM_MODULE_INIT_FLAG		//eeprom_module_init_flag 2bytes
+0X64 MOUSE_FAST_CONN_FLAG_OFFSET	//1byte
+
+
+// Sensor id number
+0x30 P32XX_ID1
+0x31 P3065_ID1
+0x3E P3610_ID1
+0x02 P3212_ID2
+0xD1 P3205_TJ3T_ID2
+0XD2 P3204_TJ3L_ID2
+0x54 PKA8_ID2
+0x70 P3065_XY_ID2
+0x5a FD3180_ID2
+
+
+//Sensor type
+0X00 P3205
+0X01 P3065
+0X02 KA8
+0X03 P3204
+0X04 P3212
+0X05 P3610
+0X06 P3065_XY
+0X07 FD3180
+
+
+//p3610 smart enable flag
+0X00 P3610_SMART_ENABLE
+0X01 P3610_SMART_DISABLE
+
+
+//SENSOR REG
+0x00 PAN_REG_PID_L
+0x01 PAN_REG_PID_H
+0x02 PAN_REG_MOTION_STAUS
+0x03 PAN_REG_DELTA_X
+0x04 PAN_REG_DELTA_Y
+0x05 PAN_REG_OPRATION_MODE
+0x06 PAN_REG_CONFIG
+0x07 PAN_REG_IMAGE_QUALITY
+0x08 PAN_REG_OPRATION_STATE
+0x09 PAN_REG_WRITE_PROTECT
+0x0A PAN_REG_SLEEP_1
+0x0B PAN_REG_ENTER_TIME
+0x0C PAN_REG_SLEEP_2
+0x0D PAN_REG_IMAGE_THRESHOLD
+0x0E PAN_REG_IMAGE_RECGNITION
+
+
+0x06 MOUSE_DPI_ADDRESS
+0x05 MOUSE_P3610_DPI_ADDRESS
+0x0D MOUSE_P3212_DPI_XADDRESS
+0x0E MOUSE_P3212_DPI_YADDRESS
+
+
+0x06 MOUSE_FPGA_RF_WORK_DEBUG_GPIO
+0x02 MOUSE_FPGA_DEBUG_GPIO
+
+)
+
+(
+0x01 ADV_FLAG_LIMITED_DISCOVERABLE
+0x04 ADV_FLAG_BREDR_NOT_SUPPORTED
+)
+
+(
+4 TEST_GPIO
+)
+
+(
+1 LE_LPM_DISABLE
+0 LE_LPM_ENABLE
+
+12 LE_INTERVAL_15MS
+9 LE_INTERVAL_11_25MS//11.25ms
+7 LE_INTERVAL_8_75MS//8.75ms
+)
+
+(
+0xb9 FLASH_COMMAND_DEEP_POWER_DOWN
+0xab FLASH_COMMAND_RELEASE_DEEP_POWER_DOWN
+)
+
+(
+0 MULTI_LED_ON
+1 MULTI_LED_BLINK
+)
+
+(
+0 DIS_BUTTON_UP
+1 DIS_BT_BUTTON
+2 DIS_COMM_BUTTON
+)
+
+(
+0x017700 G24_LONG_SLEEP_STEP1	//8ms
+0x36ee80 G24_LONG_SLEEP_STEP2	//200ms
+0x604800 G24_LONG_SLEEP_STEP3	//500ms
+)
+
+(
+8 LOW_VOLTAGE_LED_COUNT
+)
+
+(
+0x0708 BLE_DIRECT_ADV_TIMEOUT
+0x0a BLE_POWERON_RECONN_TIMER
+)
+
+//******g24.format******//
+(
+3 QUEUE_ELE_COUNT
+32 QUEUE_ELE_LENGTH
+)
+
+(
+3 retry_24g
+1 NO_ACK_24G
+0 WITH_ACK_24G
+
+0 ENSURE_OFF_24G
+1 ENSURE_ON_24G
+
+0x10 ABORT_DATA
+0x40 RSSI_SENSITIVITY
+
+0x4e G24_PAIR_CH
+)
+
+(
+0 disable_24g
+1 tx_24g
+2 rx_24g
+
+0 bit_ack_24g
+)
+
+//mem_24g_interrupt
+(
+0 rx_dr
+1 rx_sync
+4 tx_ds
+5 tx_fail
+)
+
+//mem_24g_data_type
+(
+0x07 bits_data
+//0-2 data type
+3 bit_abort
+4 bit_hop
+5 bit_sync
+//6-7 channel offset
+)
+
+(
+0 STATE_24G_STOP
+0 STATE_24G_START
+1 STATE_24G_PAIR
+2 STATE_24G_RECONN
+)
+
+//mem_24g_pairing_sm
+(
+0 STATE_24G_PAIRING_NULL
+1 STATE_24G_PAIRING_1
+2 STATE_24G_PAIRING_2
+3 STATE_24G_PAIRING_3
+0X11 STATE_24G_PAIRING_1_WAITING_ACK
+0X12 STATE_24G_PAIRING_2_WAITING_ACK
+0X13 STATE_24G_PAIRING_3_WAITING_ACK
+0XFF STATE_24G_PAIRING_SUCCESS
+)
+
+(
+0 DONGLE_WORK	   		//connect mode normal
+1 DONGLE_BIND			//code pair mode
+2 DONGLE_TEST			//test mode
+3 DONGLE_CODE			//PC_application
+4 DONGLE_PCBA			//PCBA_TEST
+5 DONGLE_DEBUG
+6 DONGLE_MODE_MAX
+7 DONGLE_SEARCH
+0 CLEAR_INIT
+)
+
+(
+0x01 DATATYPE_MOUSE	//mouse
+0x02 DATATYPE_KEYBOARD	//keyboard
+0xAA DATATYPE_BIND		//bind step 1
+0x55 DATATYPE_CONFIG	//bind step 2
+0x22 DATATYPE_OK	//bind step 3
+
+0x01 BIND_MOUSE
+0x02 BIND_KEYBOARD
+)
+
+(
+112 G24_DONGLE_ADDR
+)
+
+(
+0xa0 COMMAND_MODE     //BYTE 0
+0X81 COM_MODE_BIND	//BYTE 1
+0X82 COM_MODE_TEST	//BYTE 1
+)
+(
+0xa1 COMMAND_BIND		//BYTE 0
+0X01 COM_BIND_GET		//1
+0X84 COM_BIND_EXIT		//1
+0XA7 COM_READ_MODE	//1
+)
+(
+0xa2 COMMAND_TEST	//BYTE 0
+0X81 COM_TEST_SC		//	进入单载波
+0x82 COM_TEST_CD		// fcc测试
+0x83 COM_TEST_DAT		// 数据测试
+0X84 COM_TEST_LOW_CH  //低频点
+0X85 COM_TEST_MID_CH	//中频点
+0X86 COM_TEST_HIG_CH	//高频点
+0X87 COM_TEST_SW_HIG	//自动切换频点为高 1mhz
+0X88 COIM_TEST_SW_LOW	//自动切换频点为低 1mhz
+0X89 COM_TEST_SW_STOP	//停止自动切换频点
+0X8A COM_TEST_POW_5		//设置输出功率5dbm
+0X8B COM_TEST_POW_0		//0dbm
+0X8C COM_TEST_POW_N5		//-5dbm
+0X8D COM_TEST_POW_N10		//-10dbm
+0X8E COM_TEST_EXIT			//退出测试模式
+)
+(
+0xa6 COMMAND_CURRENT_PROJECT
+0xa7 COMMAND_CURRENT_MODE
+0xa9 COMMAND_CURRENT_FW_VERSION
+)
+
+//user defined cmd
+(
+0xb0 COMMAND_USER_DEFINED
+)
+
+(
+0x15 PRODUCT_ID
+0 FW_VERSION0
+0 FW_VERSION1
+1 FW_VERSION2
+7 FW_VERSION3
+)
+
+(
+8 TIMER_NODATA
+640 TIMER_NODATA_DELAY	//200ms
+
+11 TIMER_MS_BLANK
+320 TIMER_MS_BLANK_DELAY
+
+12 TIMER_KB_MUL_BLANK
+320 TIMER_KB_MUL_BLANK_DELAY
+
+14 TIMER_KB_BLANK
+320 TIMER_KB_BLANK_DELAY
+)
+
+(
+0 KB_NORMAL_REPORT_ID
+1 MS_REPORT_ID
+3 KB_MULTIKEY_REPORT_ID
+)
+
+(
+7 RSSI_BUF_LEN_SIGNAL
+255 RSSI_BUF_LEN_NOISE
+0x50 RSSI_THRESH_NOISE
+
+0x77 RSSI_DIS_MIN_24G
+0x82 RSSI_DIS_MAX_24G
+
+0x75 RSSI_DIS_MIN_BLE
+0x80 RSSI_DIS_MAX_BLE
+)
+
+(
+//power control
+0x01 TXPWR_0DB
+0x02 TXPWR_3DB
+0x04 TXPWR_5DB
+0x10 TXPWR_f5DB
+
+124 POWER_CTRL_MAX_PACKET_CNT
+
+2 POWER_CTRL_LOSSPAC_THRESH_UP0
+0 POWER_CTRL_LOSSPAC_THRESH_DOWN0
+0x20 POWER_CTRL_RSSI_THRESH_DOWN0
+
+5 POWER_CTRL_LOSSPAC_THRESH_UP1
+0 POWER_CTRL_LOSSPAC_THRESH_DOWN1
+0x60 POWER_CTRL_RSSI_THRESH_DOWN1
+
+10 POWER_CTRL_LOSSPAC_THRESH_UP2
+0 POWER_CTRL_LOSSPAC_THRESH_DOWN2
+0x80 POWER_CTRL_RSSI_THRESH_DOWN2
+)
+
+//mem_send_data_24g_short_lpm
+(
+0 SHORT_LPM_STATE_POLLING 	
+1 SHORT_LPM_STATE_DATA
+2 SHORT_LPM_STATE_NODATA
+3 SHORT_LPM_STATE_BUTTON_WHEEL
+)
+
+(
+81000 G24_8125_INTERVAL_PARAM
+78000 G24_78125_INTERVAL_PARAM
+)
+
+(
+1 G24_TX_TIMER_INT_ENABLE
+0 G24_TX_TIMER_INT_DISABLE
+)
+
+(
+0 G24_DISCONN_STATE
+1 G24_CONN_STATE
+
+
+4 G24_CH_NUMBER
+8 G24_CH_POLL_COUNT
+0x32 G24_DISCONN_NODATA_TIMER
+)
+
+
+/**
+*  @file:bt_utility_format.upper
+*  @author: lei.zhu
+*  utility header file. inlcude timer
+*  Copyright:  (C)Hanlynn Technology    
+*/
+
+0x0a95 mem_hold_contr
+0x0a97 mem_hold_contw
+0x0a99 mem_fifo_temp
+0x0a9a mem_pdatatemp
+0x0aa2 mem_temp//8 bytes
+0x0aaa mem_timeup// 4 bytes
+0x0aae mem_rega//4 bytes
+0x0ab2 mem_regb//4 bytes
+0x0ab6 mem_regc//3 bytes
+0x0ab9 mem_contr//2 bytes
+0x0abb mem_contw//2 bytes
+0x0abd mem_wakup_from_power_flag
+0x0abe mem_saved_gpio_in
+0x0ac2 mem_shutter_random_mac_data_temp
+0x0ac2 mem_shutter_config_data_temp
+0x0ac2 mem_le_adv_channel_map_temp
+0x0ac2 mem_le_data_len_temp//1byte
+0x0ac2 mem_tx_fifo_map_temp
+0x0ac2 mem_rpn_dlci//1byte
+0x0ac2 mem_event_cmd_response_content//2byte
+0x0ac2 mem_le_prand//16byte
+0x0ac2 mem_AES_CMAC_k//16 bytes
+0x0ac2 mem_regext_index//1 bytes
+0x0ac2 mem_temp_block0
+0x0ac3 mem_le_data_temp//15bytes
+0x0ac3 mem_temp_block1
+0x0ad2 mem_le_aes_128//16byte
+0x0ad2 mem_regext//64 bytes
+0x0ad2 mem_AES_CMAC_k1//16 bytes
+0x0ad2 mem_temp_block2
+0x0ae2 mem_AES_CMAC_k2//16 bytes
+0x0ae2 mem_temp_block3
+0x0af2 mem_AES_CMAC_temp// 16 bytes
+0x0af2 mem_temp_block4
+0x0b02 mem_AES_CMAC_M_last// 16 bytes
+0x0b02 mem_module_uart_cmd
+0x0b03 mem_module_uart_opcode
+0x0b04 mem_module_uart_len
+0x0b05 mem_module_temp_nl_discard_packet
+0x0b06 mem_temp_block5
+0x0b12 mem_le_mackey//16 bytes
+0x0b12 mem_app_receive_temp
+0x0b12 mem_key_value_temp
+0x0b14 mem_key_value
+0x0b16 mem_key_value_temp1
+0x0b17 mem_key_value_temp2
+0x0b18 mem_key_value_temp3
+0x0b19 mem_key_value_temp4
+0x0b1a mem_key_value_temp5
+0x0b1b mem_key_value_temp6
+0x0b1c mem_temp_block6
+0x0b22 mem_usb_status
+0x0b23 mem_usb_fifo_empty
+0x0b24 mem_usb_read_len
+0x0b25 mem_usb_rxbuf
+0x0b65 mem_bufptr
+0x0b67 mem_remain
+0x0b68 mem_devicedesc
+0x0b7c mem_hidreportdesc_kb
+0x0b7e mem_hidreportdesc_m
+0x0b80 mem_confdesc
+0x0be4 mem_string0
+0x0be9 mem_string1
+0x0c07 mem_string2
+0x0c47 mem_string3
+0x0c65 mem_usb_zero_packet
+0x0c67 mem_usb_ones_packet
+0x0c69 mem_usb_two_packet
+0x0c6b mem_usb0_state
+0x0c6c mem_usb_offline_check_gpio
+0x0c6d mem_usb_tx_interval
+0x0c6e mem_usb_clear_mem_start
+0x0c6e mem_usb_setup
+0x0c6e mem_usb_setup_bmRequestType
+0x0c6f mem_usb_setup_bRequest
+0x0c70 mem_usb_setup_bValue
+0x0c71 mem_usb_setup_bValueH
+0x0c72 mem_usb_setup_wIndex
+0x0c74 mem_usb_setup_bLength
+0x0c75 mem_usb_setup_bLengthH
+0x0c76 mem_usb0_setup
+0x0cb6 mem_usb0_set_report_data
+0x0cf6 mem_usb0_get_report_data
+0x0d36 mem_usb_state
+0x0d37 mem_usb_tx_wait
+0x0d38 mem_usb_tx_enable
+0x0d39 mem_usb_remote_wakeup
+0x0d3a mem_usb_clear_remote_wakeup
+0x0d3b mem_usb_ep0_stall_status
+0x0d3c mem_usb_ep1_stall_status
+0x0d3d mem_usb_ep2_stall_status
+0x0d3e mem_usb_ep3_stall_status
+0x0d3f mem_dsc_info_data_pointer
+0x0d41 mem_dsc_info_len
+0x0d42 mem_usb0_data_ready_report
+0x0d43 mem_usb_tx_win_enable
+0x0d44 mem_usb_tx_mac_enable
+0x0d45 mem_usb_device_enumeration_endflag
+0x0d46 mem_usb_wakestate_onetime_flag
+0x0d47 mem_usb_mac_wakeup_trig
+0x0d48 mem_usb_set_high_addr_flag
+0x0d49 mem_usb_set_protocol_value
+0x0d4a mem_usb_set_protocol_status
+0x0d4b mem_usb_get_protocol_flag
+0x0d4c mem_usb_idle_flag
+0x0d4d mem_usb_idle_rate
+0x0d4e mem_usb_setup_bValue_temp
+0x0d50 mem_usb0_get_set_report
+0x0d51 mem_usb_ep1_data
+0x0d52 mem_usb_ep2_data
+0x0d53 mem_usb_clear_halt
+0x0d54 mem_usb_mouse_data
+0x0d64 mem_usb_kb_data
+0x0d74 mem_usb_kb_multikey
+0x0d84 mem_usb_kb_data_sta_data
+0x0d8c mem_usb_kb_data_last_data
+0x0d94 mem_usb_kb_multikey_sta_data
+0x0d97 mem_usb_kb_multikey_last_data
+0x0d9a mem_usb_kb_blank_data_enable
+0x0d9b mem_usb_kb_mul_blank_data_enable
+0x0d9c mem_usb_test_cnt
+0x0d9d mem_usb_clear_mem_end
+0x0d9d mem_usb_test_kb
+0x0d9e mem_rssi_noise_buffer
+0x0e9e mem_rssi_noise_dg_buffer
+0x0f9e mem_rssi_noise_ms_buffer
+0x109e mem_rssi_noise_kb_buffer
+0x119e mem_24g_common_temp
+0x11be mem_data_pre
+0x11c0 mem_data_current
+0x11c2 mem_data_sum
+
+
+(
+/*mem_util_timer_flag0_7*/
+    0   UTIL_TIMER_0_USED
+    1   UTIL_TIMER_1_USED
+    2   UTIL_TIMER_2_USED
+    3   UTIL_TIMER_3_USED
+    4   UTIL_TIMER_4_USED
+    5   UTIL_TIMER_5_USED
+    6   UTIL_TIMER_6_USED
+    7   UTIL_TIMER_7_USED
+/*mem_util_timer_flag8_15*/
+    0   UTIL_TIMER_8_USED
+    1   UTIL_TIMER_9_USED
+    2   UTIL_TIMER_10_USED
+    3   UTIL_TIMER_11_USED
+    4   UTIL_TIMER_12_USED
+    5   UTIL_TIMER_13_USED
+    6   UTIL_TIMER_14_USED
+    7   UTIL_TIMER_15_USED
+)
+
+//util fifo param
+(
+
+8 UTIL_FIFO_LEN
+-1 UTIL_FIFO_OFFSET
+)
+
+(
+	0xAA DEBUGLOG_HEAD
+	0x00 DEBUGLOG_TYPE
+	0x04 DEBUGLOG_LEN
+	0xBB DEBUGLOG_TAIL
+)
+
+(
+	0x1000 DEBUGLOG_DTYPE_CALLBACK
+	0x1001 DEBUGLOG_DTYPE_EVENT
+	0x1002 DEBUGLOG_DTYPE_CMD
+	0x1003 DEBUGLOG_DTYPE_STATUS
+	0x1004 DEBUGLOG_DTYPE_MISC
+	0x1005 DEBUGLOG_DTYPE_CONN_SM
+	0x1006 DEBUGLOG_DTYPE_UPPER_SM
+	0x1007 DEBUGLOG_DTYPE_PARSE_LMP
+	0x1008 DEBUGLOG_DTYPE_SEND_LMP
+)
+
+//DEBUGLOG_DTYPE_CALLBACK
+(
+	0x0000 CALLBACK_24G_DATA
+	0x0001 CALLBACK_LE_PROCESS
+	0x0002 CALLBACK_BT_PROCESS
+	0x0003 CALLBACK_BEFORE_LPM
+	0x0004 CALLBACK_BB_EVENT_PROCESS
+	0x0005 CALLBACK_IDLE_PROCESS
+	0x0006 CALLBACK_BEFORE_HIBERNATE
+	0x0007 CALLBACK_ATT_WRITE
+	0x0008 CALLBACK_EVENT_TIMER
+)
+
+//DEBUGLOG_DTYPE_EVENT
+//(
+
+//)
+
+//DEBUGLOG_DTYPE_CMD
+//(
+
+//)
+
+//DEBUGLOG_DTYPE_STATUS
+(
+	0x0000 STATUS_CODE_WAKE
+	0x0001 STATUS_LPM_WAKE
+	0x0004 STATUS_24G_START 
+)
+//DEBUG_DTYPE_MISC
+(
+	0x0000 MISC_LE_RETRANSMIT
+	0x0001 MISC_LOST_MOUSEDATA
+	0x0002 MISC_TXPOWER_0
+	0x0003 MISC_TXPOWER_1
+	0x0004 MISC_TXPOWER_2
+	0x0006 MISC_PULL_MOUSEDATA
+	0x0007 MISC_PUSH_MOUSEDATA
+	0x0008 MISC_LE_RETRANSMIT_MD
+
+
+)
+
+
+/************************************************************************/
+/* RCS HEADER -- DO NOT ERASE                                           */
+/* $Author: Administrator $                                                     */
+/* $Id: bt_var.osi,v 1.1 2009-09-28 04:06:18 Administrator Exp $   */
+/* Orisil Technology                                                 */
+/************************************************************************/
+
+
+/* packet types */
+(
+  0x02 FHS_PACKET 
+  0x03 DM1_PACKET 
+  0x03 DM1_LMP_PACKET 
+  0x04 DH1_PACKET 
+  0x05 HV1_PACKET 
+  0x06 HV2_PACKET 
+  0x07 HV3_PACKET 
+  0x08 DV_PACKET 
+  0x09 AUX1_PACKET 
+  0x0a DM3_PACKET 
+  0x0b DH3_PACKET 
+  0x0e DM5_PACKET 
+  0x0f DH5_PACKET 
+)
+
+
+/* mem_lmp_respond */
+(
+  0 RESPOND_TO_ALL
+  1 PASS_EVERYTHING
+  2 PASS_ONLY_UNKNOWNS
+  3 RESPOND_TO_LMPS
+)
+/* SCO algorithm defines */
+(
+  0 ULAW
+  1 ALAW
+  2 CVSD
+)
+/* encryption modes */
+(
+  0 NO_ENCRYPTION
+  1 PT_PT_ENCRYPTION
+  2 PT_BROADCAST_ENCRYPTION
+)
+
+/* bits used in mem_lmp_state1 variable */
+(
+  0 LMP_STATE_DETACH
+  1 LMP_STATE_HOLD
+  2 LMP_STATE_SNIFF
+  3 LMP_STATE_PARK
+  4 LMP_STATE_WAIT_SCO_CREATE
+  5 LMP_STATE_WAIT_SCO_KILL
+  6 LMP_STATE_SCO3
+  7 LMP_STATE_WAIT_SCO_START
+)
+/* mem_lmp_state2 */
+(
+  0 LMP_WAIT_FOR_SNIFF_ACCEPT
+  1 LMP_WAIT_FOR_PARK_ACCEPT
+  2 LMP_SEND_UNPARK_ACCEPTED
+  3 LMP_SEND_ENCRYPTION_START
+  4 LMP_SEND_ENCRYPTION_STOP
+  5 MESSAGE_QUEUE
+  7 LMP_STATE_WAIT_BEACON
+)
+/* mem_lmp_state3 */
+(
+ 0 INQUIRY_STATE_CHECK
+ 1 HOST_DELAY_MESSAGE
+ 2 VARIABLE_DELAY
+ 3 TEST_MODE_START_LOOPBACK
+ 4 TEST_MODE_START_PATTERN
+ 5 PARSE_TEST_CONTROL_MESSAGE
+ 6 H_AUTH_SEND_COMB_KEY
+)
+/* mem_rx_status */
+(
+  0 FROM_MASTER
+)
+/* mem_ms_flag */
+(
+  0 MS_RECEIVE_SWITCH_REQ
+  1 MS_SEND_SETUP_COMPLATE
+)
+/* mem_conn_sm */
+(
+  0 CONN_SM_STANDBY
+  1 CONN_SM_WAIT_PAGE
+  2 CONN_SM_SEND_FEATURES
+  3 CONN_SM_WAIT_FEATURES_RES
+  4 CONN_SM_SEND_CONN_REQ
+  5 CONN_SM_WAIT_CONN_ACCEPT
+  6 CONN_SM_AUTH_PAIR
+  7 CONN_SM_AUTH_PAIR_WAIT
+  8 CONN_SM_WAIT_MUTAL_AUTH
+  9 CONN_SM_ENCRYPT
+  0xa CONN_SM_ENCRYPT_WAIT
+  0xb CONN_SM_ENCRYPT_WAIT_CLEAR
+  0xc CONN_SM_SEND_SETUP_COMPLETE
+  0xd CONN_SM_WAIT_SETUP_COMPLETE 
+  0xe CONN_SM_SEND_SWITCH
+  0xf CONN_SM_DETACH_DELAY
+  0x10 CONN_SM_WAIT_SWITCH_AFTER_HOST_CONNECTION
+  0x11 CONN_SM_DELAY_RESTART_CONNECTION
+  0x12 CONN_SM_SEND_VERSION
+  0X13 CONN_SM_WAIT_VERSION
+  0x14 CONN_SM_SEND_FEATURES_EXT
+  0x15 CONN_SM_WAIT_FEATURES_EXT
+  0x16 CONN_SM_PAIRING
+  0x17 CONN_SM_AUTH
+  0x18 CONN_SM_PAIRING_WAIT
+  0x19 CONN_SM_AUTH_WAIT
+  0x1a CONN_SM_DONE
+  0x1b CONN_SM_WAIT_DONE
+)
+
+/* btStateConn1 */
+(
+  0 CONN_STANDBY
+  1 CONN_MASTER_SEND_CONN_REQ
+  2 CONN_MASTER_WAIT_FOR_CONN_ACCEPTED
+  3 CONN_MASTER_AUTH
+  4 CONN_MASTER_WAIT_FOR_FEATURES
+  5 CONN_MASTER_WAIT_FOR_SETUP_COMPLETE
+  6 CONN_MASTER_WAIT_FOR_MAX_SLOT
+  7 CONN_SLAVE_CONN_REQUESTED
+  8 CONN_SLAVE_WAIT_FOR_SETUP_COMPLETE
+  9 CONN_SLAVE_AUTH
+  10 CONN_USING_HOST_OPCODE
+  11 CONN_SLAVE_AUTH_WAIT
+  12 CONN_SLAVE_ENCRYPT_WAIT
+)
+
+/* mem_lmp_conn_state */
+(
+  0 RECEIVED_CONN_REQ
+  1 SENT_CONN_REQ
+  2 RECEIVED_SETUP_COMPLETE
+  3 SENT_SETUP_COMPLETE
+  4 HOST_CONNECTION_MADE
+  6 INIT_COMPLETE
+  7 SNIFF_NEGOTIATE
+)
+/* btStateAuth1 */
+(
+  0 WAIT_FOR_KINIT
+  1 WAIT_FOR_LKA
+  2 WAIT_FOR_LKB
+  3 WAIT_FOR_SRES
+  4 EXAMINE_RECEIVED_SRES
+  5 SEND_AU_RAND
+  6 WAIT_FOR_KC
+  7 DELAYED_ENCRYPT_RESPONSE
+)
+/* btStateAuth2 */
+(
+  0 SENT_SRES
+  1 RECEIVED_IN_RAND
+  2 SENT_AU_RAND
+  3 AUTHENTICATION_FAILED
+  4 AUTHENTICATION_PASSED
+  5 STARTED_AUTH
+  6 SENT_COMB_KEY
+  7 SENT_IN_RAND
+)
+/* btStateAuth3 */
+(
+  0 RECEIVED_AU_RAND
+  1 RECEIVED_SRES
+  2 MUTUALLY_AUTHENTICATE
+)
+/* btStateHost */
+(
+  0 H_AUTH_STARTED
+  2 H_ENCRYPTION_MODE_REQ_PT
+  3 H_ENCRYPTION_KEY_SIZE
+  4 H_ENCRYPTION_START
+  5 H_ENCRYPTION_STOP
+  6 H_AUTH_SECOND_TRY
+)
+/* btStateEncrypt2 */
+(
+  0 RECEIVED_ENCRYPT_MODE_REQ_PT
+  1 RECEIVED_ENCRYPT_KEY_SIZE
+  2 RECEIVED_ENCRYPT_START
+  3 RECEIVED_ENCRYPT_STOP
+  4 STARTED_ENCRYPT_START
+)
+/* mem_ms_state */
+(
+  0x00 MS_STANDBY
+  0x11 M_MINIT_1
+  0x12 M_MINIT_2
+  0x20 M_SINIT_0
+  0x30 S_MINIT_0
+  0x31 S_MINIT_1
+  0x32 S_MINIT_2
+  0x41 S_SINIT_1
+  0x42 S_SINIT_2
+  0x43 S_SINIT_3
+)
+/* mem_test_mode */
+(
+  0 TEST_MODE_ALLOWED
+  1 TEST_MODE_ACTIVE
+)
+/* values for mem_tester_emulate */
+(
+  0x00 NO_TEST_MODE
+  0x00 CONTINUOUS_TRANSMIT
+  0x10 TRANSMIT_TEST
+  0x08 LOOPBACK
+)
+
+/* mem_tx_misc */
+(
+  1 SEND_TX_ADDR
+)
+/* BBHWREG_page_stat */
+(
+  5 PAGE_MODE_END
+)
+/* host_return_parameters_status codes */
+(
+  0x00 HOST_RETURN_SUCCESS
+  0x01 HOST_RETURN_SLAVE_CANT_ISSUE
+  0x02 HOST_RETURN_NO_CONNECTION
+  0x04 HOST_RETURN_PAGE_TIMEOUT
+  0x05 HOST_RETURN_INQUIRY_TIMEOUT
+  0x08 HOST_RETURN_CONNECTION_TIMEOUT
+  0x09 HOST_RETURN_MAX_NUM_CONNECTIONS
+  0x0a HOST_RETURN_MAX_NUM_SCO
+  0x0b HOST_RETURN_MAX_NUM_ACL
+  0x0c HOST_RETURN_SECURITY_REASONS
+  0x10 HOST_RETURN_HOST_TIMEOUT
+  0x11 HOST_RETURN_UNSUPPORTED_FEATURE_PARAMETER
+  0x13 HOST_RETURN_OTHER_END_USER
+  0x14 HOST_RETURN_OTHER_END_LOW_RESOURCE
+  0x15 HOST_RETURN_OTHER_END_POWER_OFF
+  0x16 HOST_RETURN_LOCAL_HOST
+  0x18 HOST_RETURN_PAIRING_NOT_ALLOWED
+  0x19 HOST_RETURN_UNKNOWN_PDU
+  0x1a HOST_RETURN_UNSUPPORTED_REMOTE_FEATURE
+  0x1d HOST_RETURN_SCO_AIR_MODE_REJECTED
+  0x20 HOST_RETURN_UNSUPPORTED_LMP_VALUE
+  0x21 HOST_RETURN_AUTHENTICATION_FAILURE
+  0x22 HOST_RETURN_CHANGED_EXISTING_SCO
+  0x23 HOST_RETURN_HOST_REJECTED
+  0x24 HOST_RETURN_UNSPECIFIED_ERROR
+  0x25 HOST_RESET
+  0x26 HOST_RETURN_BAD_HANDLE
+
+  0x00 HOST_RETURN_ACCEPT_COMMAND
+  0x01 HOST_RETURN_REJECT_COMMAND
+)
+/* host_present */
+(
+  0 HOST_IS_PRESENT
+  1 BCI_IS_PRESENT
+  2 DONT_INIT_RADIO
+)
+/* mem_master_state */
+(
+  0 MASTER_STATE_STANDBY
+  1 MASTER_INQUIRY
+)
+/* misc */
+(
+  92 SECOND_SWITCH_REQ
+  93 SLAVE_DELAY_DETACH
+  94 MASTER_DELAY_DETACH
+  95 UNSNIFF_DELAY_DETACH
+  0 WE_STARTED_AS_MASTER
+  1 WE_STARTED_AS_SLAVE
+)
+/* mem_host_commands */
+(
+  0x01 HOST_INQUIRY
+  0x02 HOST_INQUIRY_CANCEL
+  0x03 HOST_CREATE_CONNECTION
+  0x04 HOST_DISCONNECT_CONNECTION
+  0x05 HOST_ADD_SCO_REQUEST
+  0x06 HOST_REMOTE_NAME_REQUEST
+  0x07 HOST_WRITE_SUPPORTED_FEATURES
+  0x08 HOST_SET_TX_LEVEL
+  0x09 HOST_SET_RX_LEVEL
+  0x0a HOST_SNIFF_REQUEST
+  0x0b HOST_UNSNIFF_REQUEST
+  0x0c HOST_WRITE_LINK_SUPERVISION_TIMEOUT
+  0x0e HOST_WRITE_SCAN_ENABLE
+  0x0f HOST_READ_AUDIO_QUALITY
+  0x10 HOST_ENABLE_DEVICE_UNDER_TEST
+  0x14 HOST_BUTTON_CONFIGURE
+  0x15 HOST_SET_LOW_BATTERY_LEVEL
+  0x16 HOST_WRITE_LOCAL_NAME
+  0x17 HOST_WRITE_LOCAL_PIN
+  0x18 HOST_KILL_SCO_REQUEST
+  0x19 HOST_QOS_REQ
+
+  0x1a HOST_FEATURES_REQUEST
+  0x1b HOST_VERSION_REQUEST
+  0x1c HOST_TIMING_REQUEST
+  0x1d HOST_CLK_OFFSET_REQUEST
+  0x1e HOST_AUTHENTICATE
+  0x1f HOST_START_ENCRYPTION
+  0x20 HOST_STOP_ENCRYPTION
+  0x21 HOST_HOLD_REQUEST
+  0x22 HOST_HOLD_FORCE
+  0x23 HOST_PARK_REQUEST
+  0x24 HOST_MOD_BEACON
+  0x25 HOST_SET_BROADCAST_SCAN_WINDOW
+  0x26 HOST_UNPARK_PM_REQUEST
+  0x27 HOST_UNPARK_BD_REQUEST
+  0x28 HOST_SLAVE_REQUEST_UNPARK
+  0x29 HOST_DECREASE_POWER_REQUEST
+  0x2a HOST_INCREASE_POWER_REQUEST
+  0x2b HOST_SEND_PREFERRED_RATE
+  0x2c HOST_MAX_SLOT_REQ
+  0x2d HOST_MAX_SLOT_FORCE
+  0x2e HOST_PAGE_MODE_REQUEST
+  0x2f HOST_PAGE_SCAN_MODE_REQUEST
+  0x30 HOST_MASTER_SLAVE_SWITCH
+  0x31 HOST_SEND_AUTO_RATE
+  0x32 HOST_PAGE_CANCEL
+  0x33 HOST_CHANGE_LINK_KEY
+  0x34 HOST_RADIO_READ
+  0x35 HOST_RADIO_WRITE
+  0x36 HOST_REMOTE_SLAVE_INIT_UNPARK_REQUESTED
+
+  0x40 HOST_REMOTE_CONNECTION_REQUESTED
+  0x41 HOST_REMOTE_DETACH
+  0x42 HOST_REMOTE_SCO_CREATE_REQUESTED
+  0x43 HOST_REMOTE_SCO_KILL_REQUESTED
+  0x44 HOST_REMOTE_PARK_REQUESTED
+  0x45 HOST_REMOTE_UNPARK_REQUESTED
+  0x46 HOST_REMOTE_SNIFF_REQUESTED
+  0x47 HOST_REMOTE_UNSNIFF_REQUESTED
+  0x48 HOST_REMOTE_HOLD_REQUESTED
+  0x49 HOST_REMOTE_AUTHENTICATION
+  0x4a HOST_REMOTE_START_ENCRYPTION_REQUESTED
+  0x4b HOST_REMOTE_STOP_ENCRYPTION_REQUESTED
+  0x4c HOST_MODE_CHANGE_EVENT
+  0x4d HOST_REMOTE_TEST_ACTIVATE
+  0x4e HOST_REMOTE_TEST_CONTROL
+  0x4f HOST_REMOTE_TIMING_REQUEST
+)
+/* BCI interface (not used if not compiled in ) */
+(
+  0x01 BCI_INQUIRY
+  0x02 BCI_INQUIRY_CANCEL
+  0x03 BCI_CREATE_CONNECTION
+  0x04 BCI_DISCONNECT
+  0x05 BCI_ADD_SCO_CONNECTION
+  0x06 BCI_REMOTE_NAME_REQUEST
+  0x07 BCI_WRITE_SUPPORTED_FEATURES
+  0x08 BCI_SET_TX_POWER_LEVEL
+  0x09 BCI_SET_RX_POWER_LEVEL
+  0x0a BCI_SNIFF_MODE
+  0x0b BCI_EXIT_SNIFF_MODE
+  0x0c BCI_WRITE_LINK_SUPERVISION_TIMEOUT
+  0x0d BCI_WRITE_PAGE_TIMEOUT
+  0x0e BCI_WRITE_SCAN_ENABLE
+  0x0f BCI_GET_AUDIO_QUALITY
+  0x10 BCI_ENABLE_DEVICE_UNDER_TEST
+  0x11 BCI_SEND_DATA
+  0x12 BCI_REGISTER_SERVICE_RECORD
+  0x13 BCI_SERVICE_SEARCH_ATTRIB_REQ
+  0x14 BCI_BUTTON_CONFIGURE
+  0x15 BCI_SET_LOW_BATTERY_LEVEL
+  0x16 BCI_WRITE_LOCAL_NAME
+  0x17 BCI_WRITE_LOCAL_PIN
+  0x18 BCI_REMOVE_SCO_CONNECTION
+  0x19 BCI_QUALITY_OF_SERVICE
+  0x40 BCI_REMOTE_CONNECTION_REQUEST
+  0x41 BCI_REMOTE_DETACH
+  0x42 BCI_REMOTE_ADD_SCO_REQUEST
+  0x43 BCI_REMOTE_REMOVE_SCO_REQUEST
+  0x44 BCI_REMOTE_PARK_REQUEST
+  0x45 BCI_REMOTE_UNPARK_REQUEST
+  0x46 BCI_REMOTE_SNIFF_REQUEST
+  0x47 BCI_REMOTE_UNSNIFF_REQUEST
+  0x48 BCI_REMOTE_HOLD_REQUEST
+  0x49 BCI_REMOTE_AUTHENTICATION_PAIRING_REQUEST
+  0x4a BCI_REMOTE_START_ENCRYPTION_REQUEST
+  0x4b BCI_REMOTE_STOP_ENCRYPTION_REQUEST
+  0x4c BCI_MODE_CHANGE_EVENT
+)
+/* mode changes */
+(
+  0 MODE_CHANGE_ACTIVE
+  1 MODE_CHANGE_SNIFFING
+  2 MODE_CHANGE_PARKED
+  3 MODE_CHANGE_HOLDING
+  4 MODE_CHANGE_SCO_ADDED
+  5 MODE_CHANGE_SCO_REMOVED
+  6 MODE_CHANGE_ACL_CONNECTION
+  7 MODE_CHANGE_DISCONNECT
+  8 MODE_CHANGE_SCO_CHANGED
+  9 MODE_CHANGE_ENCRYPTING
+  10 MODE_CHANGE_NOT_ENCRYPTING
+  11 MODE_CHANGE_BUTTON_UP
+  12 MODE_CHANGE_BUTTON_DOWN
+  13 MODE_CHANGE_BATTERY_LOW
+  14 MODE_CHANGE_RESET
+  15 MODE_CHANGE_INQUIRY_CANCELED_RMTCMD
+  16 MODE_ACTIVE_MSSWITCH_PASSED
+  17 MODE_ACTIVE_MSSWITCH_FAILED
+)
+/* mem_battery - low nibble is level information, upper nibble is status info */
+(
+  6 BATTERY_CHECK_LEVEL
+  7 BATTERY_SENT_STATUS
+)
+/* mem_radio_version */
+(
+  0x02 RADIO_2001
+  0x12 RADIO_2002
+  0x32 RADIO_2002_DDM
+  0x42 RADIO_1008A1
+  0x52 RADIO_1018A0
+)
+/* mem_slave_initiated_conn */
+(
+  0 SLAVE_INIT_AUTHENTICATION
+  1 SLAVE_INIT_ENCRYPTION
+  2 SLAVE_INIT_MASTER_SLAVE_SWITCH
+)
+/* connection_options */
+(
+  0 CONNECTION_AUTH
+  1 CONNECTION_ENCRYPT
+  2 CONNECTION_SWITCH
+  3 CONNECTION_ACL
+  4 CONNECTION_FEATURE_EXT
+)
+/* mem_debug_config */
+(
+  7 AA_INSERTION
+)
+0x2000 start
+0x2001 soft_reset
+0x2012 main_loop
+0x2021 connection_dispatch
+0x2026 connection_incontext
+0x202f connection_nosniff
+0x2038 idle_dispatch
+0x2043 idle_exit
+0x2045 idle_le_create_conn
+0x2048 idle_inquiry
+0x204d idle_inquiry_cancel
+0x2050 idle_remote_name_req
+0x2055 idle_create_conn
+0x2056 idle_create_conn_device
+0x205b idle_create_conn_cont
+0x205c idle_start_page
+0x2062 idle_page_mode_r0
+0x2083 idle_page_fail
+0x2089 idle_name_fail
+0x208f inquiry_dispatch
+0x2095 inquiry_start
+0x209c inquiry_restart
+0x209f inquiry_rx_restart
+0x20a4 inquiry_transmit
+0x20b1 inquiry_check_train
+0x20be inquiry_receive
+0x20c8 inquiry_sync
+0x20ce inquiry_receive_rtn
+0x20cf inquiry_receive_eir_rtn
+0x20d3 master_page
+0x20db master_page_no_interval
+0x20e6 master_npage_timeout
+0x20e9 master_page_timeout
+0x20f0 page_start
+0x20fc page_restart
+0x2101 page_rx_restart
+0x2114 page_exit
+0x211a page_check_train
+0x2128 page_receive
+0x2130 page_sync
+0x2136 page_send_fhs
+0x213a page_send_fhs_continue
+0x2146 page_wait_fhs_reply
+0x2155 page_wait_fhs_reply_ok
+0x215a master_newconn_loop
+0x215f newconn_poll_responded
+0x2166 master_dispatch
+0x2177 master_loop
+0x2180 master_notmatch
+0x2186 master_exit
+0x2188 master_attempt
+0x218b check_master_disconnect
+0x218e check_master_match
+0x219c master_disconnect
+0x21a2 master_name_disconnect
+0x21a4 master_name_error
+0x21a7 check_disconnect_timeout
+0x21ae conn_timer_expired
+0x21b2 linkkey_ready
+0x21bb linkkey_set
+0x21c3 linkkey_set_continue
+0x21c4 generate_linkkey_continue
+0x21c5 clear_linkstate
+0x21c9 role_switch_check
+0x21d3 role_switch_clkn
+0x21d4 role_switch_clke
+0x21d9 role_switch_prepare
+0x21dc role_switch_prepare0
+0x21e1 role_switch_master
+0x21e7 roles_waitfhs_loop
+0x21ec role_switch_fail_master
+0x21f4 roles_replyto_fhs
+0x21fc roles_newconns_loop
+0x2202 roles_newconns_responded
+0x220a context_load
+0x221c context_load_master
+0x2223 context_save
+0x222b context_get_next
+0x222d context_get_next_loop
+0x2231 context_get_next_cont
+0x2239 context_get_next_sniff
+0x223b context_new
+0x2243 context_check_all_wack
+0x224b context_check_esco_wack
+0x2250 context_esco_wack
+0x2252 context_check_idle
+0x2254 context_traverse_linkkey
+0x2257 context_search_conn_handle
+0x2258 context_search_conn_handle2
+0x225a context_search_plap
+0x225c context_search_plap2
+0x225e context_search_insniff
+0x2260 context_search_sniff_window
+0x2261 context_search
+0x2264 context_search_loop
+0x2266 context_search_next
+0x226a context_search_empty
+0x226e context_search_lap
+0x2270 context_search_lap_cont
+0x2275 context_search_handle
+0x227b context_search_sniff
+0x227c context_search_sniff_loop
+0x2289 context_search_sniff_sc
+0x228c context_search_meet1
+0x228d context_search_meet
+0x2291 context_search_sniff_miss
+0x2297 sign_pdata_temp
+0x22a1 sign_pdata_temp_p0
+0x22a7 context_check_inconn
+0x22aa context_check_a_wack
+0x22b3 context_get_anchor
+0x22bf context_next_anchor
+0x22c6 context_search_window
+0x22cf context_traverse_clearkey
+0x22da master_conn_send_packet
+0x22dc master_send_packet
+0x22e4 master_conn_recv_packet
+0x22e6 master_recv_packet
+0x22ee master_rx_conn_finish_packet
+0x22f2 master_newconn_once
+0x22f8 inquiry_scan_dispatch
+0x2308 inquiry_scan_start
+0x2332 send_eir
+0x2354 get_all_uuid
+0x2358 lshift_loop
+0x236a page_scan_dispatch
+0x237a page_scan_start
+0x239b page_scan_wait_fhs_restart
+0x23a4 page_scan_wait_fhs_again
+0x23ab page_scan_reply_to_fhs
+0x23b8 slave_apply_clke_bt
+0x23bc slave_apply_clke_bt_now
+0x23bf start_slave_connection
+0x23c3 slave_newconn_loop
+0x23c8 sconn_successful
+0x23cf slave_dispatch
+0x23d3 slave_loop
+0x23e2 slave_notmatch
+0x23eb slave_disconnect
+0x23f3 role_switch_slave
+0x23fb roles_sendfhs_loop
+0x240d roles_got_fhs_reply
+0x2410 roles_newconn_loop
+0x2419 roles_newconn_responded
+0x241f roles_newconn_nolmp
+0x242a init_rx_packet_flags
+0x2435 prepare_newconn
+0x2440 newconn_init
+0x244f clear_linkkey
+0x2455 new_conn_timeout
+0x2459 new_conn_handle
+0x245d quit_connection
+0x2462 quit_connection_name
+0x2466 quit_connection_cont
+0x2476 quit_connection_not_clear_mark
+0x2478 quit_connection_not_clear_tx
+0x247c slave_newconn_once
+0x2489 prepare_tx
+0x2495 prepare_tx_not_esco
+0x2496 prepare_tx_not_sco
+0x249b prepare_tx_retransmit
+0x24a5 prepare_tx_nomore_retransmit
+0x24a7 prepare_tx_no_retransmit
+0x24b0 prepare_tx_pollnull
+0x24b4 prepare_tx_loopback
+0x24ba prepare_tx_txpat
+0x24be prepare_tx_sendlmp
+0x24c0 prepare_tx_sendl2cap
+0x24c1 set_wait_ack
+0x24ca tx_l2cap_type
+0x24e0 tx_l2cap_type_edr
+0x24f0 slave_receive_master_slot
+0x24f5 slave_receive_notsniff
+0x24f6 slave_receive_access
+0x24f7 slave_receive_sniff
+0x2514 slave_conn_recv_packet
+0x251c receive_packet
+0x251e receive_packet_whitened
+0x2533 receive_packet_noedr
+0x253c receive_packet_amchk
+0x254b am_addr_match
+0x254c am_addr_ok
+0x255b arqn_bypass
+0x2568 failed_seqn
+0x2569 rx_type_dispatch
+0x2578 process_hev
+0x257e process_hev_loop
+0x2587 process_poll
+0x2588 process_dm5
+0x2589 process_dm1
+0x258b process_dh5
+0x258c process_3dh1
+0x258d process_dh1
+0x258e process_dmh
+0x259a process_dmh_noedr
+0x25a5 process_dmh_long
+0x25a8 process_dmh_common
+0x25ba process_lmp
+0x25bf process_dmh_data_l2cap_start_pkt
+0x25c9 process_dmh_data_into_buff1
+0x25ce process_dmh_data_into_buff2
+0x25d3 process_dmh_data_l2cap_continue_pkt
+0x25dd process_dmh_data_l2cap_continue_pkt1
+0x25e1 process_dmh_data_l2cap_continue_pkt2
+0x25e4 process_dmh_data
+0x25e8 process_dmh_data_end
+0x25f9 process_l2cap_pass_crc_buff1
+0x2603 process_l2cap_pass_crc_buff2
+0x260d process_dmh_cont
+0x2616 process_dmh_cont_rxbuf_not_use
+0x2620 ack_payload
+0x2631 error_header
+0x2637 error_payload_crc
+0x263d error_payload
+0x263e discard_pkt
+0x2642 discard_pkt_lmp
+0x2646 discard_pkt_l2cap
+0x264a redundant_payload
+0x264d end_of_packet
+0x2659 process_fhs
+0x266e fhs_parity_ok
+0x2687 clear_got_tx
+0x269c clear_got_txlmp
+0x26a8 clear_lmp_escape
+0x26ab clear_send_setup_complete
+0x26b0 sco_link_req_by_slave
+0x26b5 clean_mem_mode
+0x26b8 start_encryption
+0x26c0 stop_encryption
+0x26c6 sniff_init
+0x26cc sniff_init_master
+0x26d6 sniff_init_nowrap
+0x26e9 sniff_exit
+0x26f3 check_attempt
+0x26fe check_attempt_nomore
+0x2700 check_attempt_sniff
+0x2706 check_attempt_sniff_restore_sco
+0x2709 check_attempt_sco_master
+0x270f check_attempt_not_sco
+0x2718 check_attempt_notimeout
+0x271c sniff_check_window
+0x2725 check_esco_amaddr
+0x2728 parse_l2cap
+0x272a parse_l2cap_cont
+0x273b parse_l2cap_release_buff1
+0x2741 parse_l2cap_release_buff2
+0x2747 l2cap_buff1_inuse
+0x274b l2cap_buff2_inuse
+0x274f slave_send_access
+0x2757 slave_conn_send_packet
+0x2761 slave_conn_send_access
+0x2762 transmit_packet
+0x2766 transmit_packet_whitened
+0x278c transmit_hev
+0x2792 transmit_ev_loop
+0x2797 transmit_fhs
+0x27b4 transmit_lmp
+0x27bc transmit_lmp_loop
+0x27c2 transmit_lmp_finish
+0x27c5 transmit_dm1
+0x27c7 transmit_dm5
+0x27ca transmit_3dh1
+0x27cb transmit_dh1
+0x27cd transmit_dh5
+0x27d0 transmit_dmh
+0x27df transmit_edr3m
+0x27e3 transmit_edr_sync_end
+0x27e5 transmit_noedr
+0x27ef transmit_long
+0x27f0 transmit_stuff
+0x27f4 transmit_stuff_loop
+0x27f7 transmit_end
+0x2800 transmit_loopback
+0x2802 transmit_loopback_short
+0x2808 transmit_loopback_long
+0x280d transmit_loopback_cont
+0x280e transmit_loopback_loop
+0x2814 transmit_loopback_end
+0x2818 apply_switch_clke
+0x281e apply_switch_nozero
+0x2821 apply_switch_loop
+0x2825 apply_switch_bt
+0x2826 apply_switch_wait_loop
+0x282d calc_slot_offset
+0x2837 calc_bt_portion
+0x2839 calc_slot_offset_loop
+0x283b calc_skip_bt
+0x2841 calc_clke_offset
+0x284c calc_clke_pos
+0x2850 calc_clke
+0x2854 calc_clke2
+0x285c calc_clke_pos2
+0x285e calc_clke_pos_adj
+0x2860 calc_radio_freq
+0x2869 freq_not_connection
+0x286a do_hop_mod_now
+0x2872 odd_half
+0x2874 freq_result
+0x2877 afh_process_0
+0x2885 afh_process_con
+0x2892 afh_process_1
+0x289e afh_process_end
+0x28a1 afh_same_channel
+0x28a4 afh_clear
+0x28a9 afh_process_freq_map
+0x28b0 process_freq_3
+0x28b5 process_freq_1
+0x28b9 process_freq_0
+0x28c2 process_freq_2
+0x28cc rx_radio_freq
+0x28d1 rx_radio_freq_now
+0x28d2 tx_radio_freq
+0x28d7 tx_radio_freq_now
+0x28d8 fetch_giac
+0x28dc fetch_page_bt_adr
+0x28e2 fetch_self_bt_adr
+0x28ea fetch_extm_bt_adr
+0x28f2 fetch_diac
+0x28f5 fetch_diac_do
+0x28f9 shutdown_radio
+0x2908 shutdown_radio_0db
+0x290a shutdown_radio0
+0x2915 shutdown_radio_3db
+0x2918 set_sync_on
+0x291f set_freq_rx
+0x2924 rf_rx_enable
+0x292d set_freq_tx_offset
+0x292f set_freq_tx_0m_offset
+0x2931 set_freq_tx_2m_offset
+0x2933 set_freq_tx
+0x2939 txon
+0x2944 txon_power_select
+0x294b set_tx_power_0db
+0x294f set_tx_power_3db
+0x2953 set_tx_power_5db
+0x2957 set_tx_power_f3db
+0x295b set_tx_power_f5db
+0x295f set_tx_power_pair
+0x2965 txon_common
+0x296c initialize_radio
+0x296d initialize_radio_wait
+0x2971 initialize_radio_loop
+0x2977 initialize_radio_cont
+0x2981 rf_write_freq
+0x2998 do_rccal
+0x29a3 do_rccal_loop
+0x29a6 do_rccal_end
+0x29ab set_rccal
+0x29bb save_rssi
+0x29c0 bcd
+0x29c9 switchto_dpllclk
+0x29e7 xtal_fast_wake
+0x29e9 init_lpm_ctrl
+0x29eb start_receiver
+0x29f1 prep_crypt
+0x29ff wait_access_end
+0x2a07 wait_access_mhalfbnd
+0x2a08 wait_access_mhalfbnd_correlate
+0x2a0d wait_access_clkn_rt
+0x2a14 wait_access_forever
+0x2a1c reserve_slot
+0x2a24 ahead_window
+0x2a33 setup_clk
+0x2a36 skip_setup_clke
+0x2a38 setup_clkn
+0x2a3a skip_setup_clkn
+0x2a3b setup_clknbt
+0x2a3e setup_complete
+0x2a47 setup_clk11
+0x2a4a rf_setup_time
+0x2a4d rf_setup_time_slave_slot
+0x2a4f rf_setup_time_master_slot
+0x2a51 start_transmitter
+0x2a56 start_tx_native
+0x2a5b start_rx_native
+0x2a5f start_tx_external
+0x2a64 send_access_word
+0x2a6b scan_mode_whiten
+0x2a6f get_free_amaddr
+0x2a74 get_free_amaddr_cont
+0x2a77 get_clk
+0x2a7b get_clkbt
+0x2a7f supervision_update
+0x2a88 supervision_flush
+0x2a8c assert
+0x2a8e loop
+0x2a8f sleep
+0x2a92 sleep_loop
+0x2a96 init_param
+0x2abc lpmstate
+0x2acc lpmwake
+0x2adf lpm_load_context
+0x2aef lpm_save_context
+0x2afa lpo_calibration
+0x2b00 lpo_cal_inited
+0x2b05 lpm_adjust_clk
+0x2b15 lpm_adjust_positive
+0x2b18 lpm_clear_counter
+0x2b1b lpm_doze
+0x2b1f lpm_hibernate
+0x2b23 lpm_hibernate_normal
+0x2b2a lpm_sleep
+0x2b3c lpm_enter_sleep
+0x2b41 lpm_recover_clk
+0x2b4a lpm_recover_xtal
+0x2b4c lpm_recover_timeout
+0x2b6a lpm_dispatch
+0x2b74 lpm_dispatch_next
+0x2b7f lpm_dispatch_next2
+0x2b93 lpm_dispatch_sleep
+0x2b94 lpm_dispatch_lpo
+0x2b9d lpm_dispatch_unconn
+0x2ba5 lpm_unconn_nossp
+0x2baa lpm_unconn_cont
+0x2bac lpm_sleep_btclk
+0x2bb1 lpm_set_mult
+0x2bc0 lpm_mult_wait_timeout
+0x2bc7 classic_bt_set_mult_short_flag
+0x2bc9 classic_bt_clr_mult_short_flag
+0x2bcb lpm_match
+0x2bd0 lpm_not_match
+0x2bd6 lpm_lost
+0x2bde lpm_mult_short
+0x2be2 lpm_mult_long
+0x2be5 lpm_cal_xtal_startup
+0x2bfd lpm_cal_xtal_startup_by_snooze
+0x2c18 lpm_write_config
+0x2c21 lpm_write_ctrl
+0x2c23 lpm_write_ctrl2
+0x2c24 lpm_write
+0x2c29 lpm_write_gpio_wakeup
+0x2c32 lpm_get_wake_lock
+0x2c36 lpm_put_wake_lock
+0x2c3a lpm_check_wake_lock
+0x2c5b lpm_uart_wake_lock
+0x2c60 lpm_shut_down
+0x2c65 lpm_disable_exen_output
+0x2c69 check_bt_disabled
+0x2c6c check_ble_disabled
+0x2c6f check_module_disabled
+0x2c72 g24_dispatch
+0x2c7a g24_head_ptr2regc
+0x2c7d g24_receive_process_init
+0x2c7f g24_receive_process
+0x2c83 g24_pair_init
+0x2c8a g24_ch
+0x2c90 g24_ch_temp_incre_size4
+0x2c94 g24_ch_calc
+0x2c9d g24_set_device_addr
+0x2ca9 g24_transmit_rf_sta_init
+0x2cac g24_transmit_rf_ctrl_clear
+0x2caf g24_hop_ch_enable
+0x2cb3 g24_transmit_hop_pac_fail
+0x2cb7 g24_transmit_hop_pac_fail_wo_hop
+0x2cb8 g24_transmit_hop_pac_fail_stage1
+0x2cbc g24_transmit_hop_pac_fail_hop_stage2
+0x2cbe g24_transmit_pac_fail_hop_stage3
+0x2cc8 g24_rf_hop_attemp_again
+0x2cca g24_rf_hop_fastly
+0x2cd2 g24_rf_hop_fastly_exit
+0x2cd4 g24_set0_mem_hop_fastly_cnt
+0x2cd5 g24_store_mem_hop_fastly_cnt
+0x2cd7 g24_transmit_hop_pac_succ_wo_hop
+0x2cd8 g24_transmit_hop_pac_succ
+0x2cdb g24_transmit_succ_rf_config
+0x2ce4 g24_rf_sta_check
+0x2ce9 g24_rf_laststa_synccnt_check
+0x2cf4 g24_rf_sync_cnt_check
+0x2cfd g24_store_mem_rf_work_stage
+0x2cff g24_rf_hop_attemp
+0x2d04 g24_set2_mem_max_retry
+0x2d06 g24_transmit_process
+0x2d0f g24_transmit_without_int
+0x2d14 g24_transmit_start
+0x2d16 g24_transmit_exit
+0x2d18 g24_timer_timeout
+0x2d1b g24_interval_calibrate
+0x2d23 g24_interval_max
+0x2d25 g24_interval_update
+0x2d27 g24_interval_min
+0x2d2c g24_txdata_prep
+0x2d33 g24_txdata_enable_tx
+0x2d34 g24_store_mem_ensure
+0x2d36 g24_txdata_last_pac
+0x2d3a g24_package_data
+0x2d4c g24_put_data_in_buff
+0x2d53 g24_transmit_prep
+0x2d6b g24_send_abort_packet
+0x2d77 g24_put_data_in_buff_pre
+0x2d7d g24_enter_lpm
+0x2d80 g24_enter_lpm_prepare
+0x2d83 g24_lpm_long_sleep
+0x2d8f g24_transmit_packet
+0x2d92 g24_transmit_loop
+0x2d97 g24_transmit_next_packet
+0x2d9f g24_transmit_abandon
+0x2da4 g24_transmit_receive_ack
+0x2dac g24_transmit_no_ack
+0x2dae g24_retransmit
+0x2dcc g24_tx_paring_retry
+0x2dd2 g24_tx_attempt_fail
+0x2dd4 g24_stop_24g_mode
+0x2dd6 g24_ackpayload_parse
+0x2dde g24_read_len_pid_crc
+0x2dee g24_prep
+0x2df3 g24_set_freq_tx
+0x2df7 g24_transmit
+0x2e06 g24tr_loop
+0x2e11 g24_receive_packet
+0x2e17 g24_receive_rxon
+0x2e33 g24_receive_skip
+0x2e39 g24rx_loop
+0x2e3d g24rx_nopayload
+0x2e45 g24_end_of_packet
+0x2e4d g24_sync_timeout
+0x2e4f rssi_noise
+0x2e56 g24_contw_istoret_1byte
+0x2e58 rssi_noise_store
+0x2e5a rssi_store
+0x2e62 rssi_average
+0x2e64 rssi_average_loop
+0x2e69 g24_power_ctrl_init
+0x2e6d g24_power_ctrl_reinit
+0x2e71 g24_power_ctrl_pac_incrs
+0x2e73 g24_store_mem_power_ctrl_pac
+0x2e75 g24_power_ctrl_ack_incrs
+0x2e7a g24_power_ctrl
+0x2e8d g24_power_ctrl_incrs
+0x2e93 g24_power_ctrl_incrs_level2
+0x2e99 g24_power_ctrl_decrs
+0x2e9f g24_power_ctrl_incrs_level1
+0x2ea4 g24_iadd_offset_mem_txpower
+0x2ea5 g24_ifetch_rega_store_mem_txpower
+0x2ea7 g24_power_ctrl_decrs_level0
+0x2ead g24_start_pairing_sm1
+0x2eaf g24_set_pairing_sm_1
+0x2eb1 g24_pairing_sm
+0x2eb9 g24_pairing_sm_1
+0x2ebd g24_pairing_sm_2
+0x2ec1 g24_pairing_sm_3
+0x2ec4 g24_pairing_sm_common
+0x2ec9 g24_put_pairing_data_in_buff
+0x2ed0 g24_paring_mode
+0x2ed6 g24_pairing_sm_1_waiting_ack
+0x2ed9 g24_pairing_sm_2_waiting_ack
+0x2edc g24_pairing_sm_3_waiting_ack
+0x2ee4 g24_auto_pair_start
+0x2ee7 g24_auto_pair_restart
+0x2ee8 g24_auto_pair_start_loop
+0x2efa g24_auto_pair_retry
+0x2f04 g24_fetch_mem_auto_paring_switch
+0x2f06 g24_store_mem_auto_paring_switch
+0x2f08 g24_auto_pair_set_device_info
+0x2f0c g24_auto_pair_device_attemp
+0x2f0e g24_auto_pair_pair_attemp
+0x2f10 g24_start_24g_mode
+0x2f16 g24_tx_attemp_dongle_loop
+0x2f1c g24_tx_attemp_dongle_succ
+0x2f22 g24_tx_attemp_data_prep
+0x2f27 g24_attemp_txdata_retry
+0x2f2c g24_check_51cmd_start_24g
+0x2f30 dongle_init
+0x2f3d g24_receive_init
+0x2f41 dongle_all_powerful
+0x2f42 dongle_all_powerful_loop
+0x2f45 dongle_pc_bind
+0x2f47 dongle_pc_bind_loop
+0x2f4c dongle_check_mode
+0x2f4f g24_dongle_work_mode
+0x2f51 g24_dongle_work_mode_start
+0x2f55 g24_dongle_work_init
+0x2f5e g24_rx_interrupt_clear
+0x2f61 g24_dongle_init
+0x2f65 g24_ch_process
+0x2f81 g24_ch_update
+0x2f88 g24_ch_timer_reinit
+0x2f8d g24_noise_rssi
+0x2f94 g24_noise_rssi_average
+0x2f96 g24_blank_data_process
+0x2f99 g24_ms_blank_data
+0x2fa0 g24_ms_blank_data_2usb
+0x2fa5 g24_kb_blank_data
+0x2fac g24_kb_blank_data_2usb
+0x2fb1 g24_kb_mul_blank_data
+0x2fb8 g24_kb_mul_blank_data_2usb
+0x2fbd g24_dongle_bind_mode
+0x2fc1 g24_dongle_bind_init
+0x2fcb g24_dongle_bind_data_process
+0x2fd9 g24_dongle_bind_first_step
+0x2fdd g24_dongle_bind_first_step_mouse
+0x2fdf g24_dongle_bind_ms_payload_cfg
+0x2fe1 g24_dongle_bind_payload_cfg
+0x2fe8 g24_dongle_bind_first_step_keyboard
+0x2fea g24_dongle_bind_kb_payload_cfg
+0x2fed g24_dongle_bind_second_step
+0x2ff1 g24_dongle_bind_second_step_mouse
+0x2ff6 g24_dongle_ms_bind_step_set2
+0x2ff7 g24_store_mem_ms_bind_step
+0x2ff9 g24_dongle_bind_second_step_keyboard
+0x2ffe g24_dongle_kb_bind_step_set2
+0x2fff g24_store_mem_kb_bind_step
+0x3001 g24_dongle_bind_third_step
+0x3005 g24_dongle_bind_third_step_mouse
+0x3009 g24_dongle_ms_bind_step_success
+0x300c g24_dongle_bind_exit
+0x3011 g24_dongle_bind_third_step_keyboard
+0x3015 g24_dongle_kb_bind_step_success
+0x3019 dongle_usb_dispatch
+0x302a usb0_data_ready_report_set0
+0x302c dongle_dispose_cmd_bind
+0x3031 dongle_dispose_cmd_get_bind
+0x3034 dongle_dispose_cmd_exit_bind
+0x3039 dongle_dispose_in_bind_mode
+0x303b dongle_dispose_cmd_mode
+0x303e dongle_enter_bind_mode
+0x303f usb0_data_ready_report_set1
+0x3041 dongle_dispose_cmd_current_project
+0x3043 dongle_dispose_cmd_current_mode
+0x3047 dongle_dispose_in_work_mode
+0x3049 dongle_dispose_cmd_current_fw_version
+0x304d dongle_dispose_cmd_user_defined
+0x3055 dongle_auto_bind
+0x3057 dongle_auto_bind_loop
+0x305a g24_dongle_work_mode_auto
+0x305e g24_dongle_bind_mode_auto
+0x3067 g24_timer_init
+0x306a g24_timer_check
+0x307d g24_mode_switch_init
+0x3084 g24_mode_switch
+0x3090 g24_bind_mode_enable
+0x3093 g24_enable_nodata_timer
+0x3095 g24_enable_nodata_timer_init
+0x3098 g24_rx_nodata_process
+0x30a2 g24_dongle_search_mode_auto
+0x30bc g24_dongle_search_addr_check
+0x30be g24_fetch_mem_addr_isub_temp
+0x30c1 g24_dg_ch_num_reinit
+0x30c3 g24_current_ch_num_reinit
+0x30c5 g24_kb_ch_num_reinit
+0x30c8 g24_ms_ch_num_reinit
+0x30cb g24_dongle_search_mode_init
+0x30e0 g24_rx_auto_addr_ch_search
+0x30ea g24_rx_auto_bind_config_mouse
+0x3106 g24_store_mem_ms_last_ch
+0x3108 g24_ms_config_ch_once
+0x310e g24_rx_auto_bind_config_kb
+0x312a g24_store_mem_kb_last_ch
+0x312c g24_kb_config_ch_once
+0x3132 g24_rx_auto_bind_config_dongle
+0x314a g24_store_mem_dg_last_ch
+0x314c g24_dg_config_ch_once
+0x314f g24_dg_store_config_ch
+0x3152 g24_transmit_ack
+0x3159 g24tx_with_ack
+0x315c g24tx_no_ack
+0x315d g24_ackpayload_prep
+0x316b g24_receive_packet_start
+0x316e g24_receive_transmit_ack
+0x3172 g24_receive_packet_parse
+0x3188 g24_receive_packet_parse_pid_crc
+0x319e g24_data_type1
+0x31b0 dongle_rxdata_type1
+0x31b8 g24_data_type1_usbtx_enable
+0x31b9 g24_data_type1_usbtx_enable_ep2
+0x31bd g24_ms_enable_blank_data_forcibly
+0x31bf g24_ms_enable_blank_data_timer
+0x31c2 g24_ms_disable_blank_data_forcibly
+0x31c3 g24_ms_disable_blank_data_timer
+0x31c6 g24_data_type2
+0x31e0 g24_data_type2_reverse_data
+0x31e4 g24_kb_enable_blank_data_forcibly
+0x31e6 g24_kb_enable_blank_data_timer
+0x31e9 g24_kb_disable_blank_data_forcibly
+0x31ea g24_kb_disable_blank_data_timer
+0x31ed g24_kb_data_into_ep1_fifo
+0x31f2 g24_data_type3
+0x3207 g24_kb_mul_data_into_ep2_fifo
+0x3209 g24_kb_mul_enable_blank_data_forcibly
+0x320b g24_kb_mul_enable_blank_data_timer
+0x320e g24_kb_mul_disable_blank_data_forcibly
+0x320f g24_kb_mul_disable_blank_data_timer
+0x3212 g24_data_attemp
+0x3216 g24_data_attemp_mouse
+0x321b g24_data_attemp_kbd
+0x3220 g24_store_mem_24g_mode
+0x3224 g24_fetch_mem_device_addr
+0x3227 g24_store_mem_device_addr
+0x322a g24_fetch_mem_addr
+0x322c g24_store_mem_addr
+0x322d g24_contw_istore_4byte
+0x322f g24_store_mem_ch
+0x3231 g24_set0_mem_pid
+0x3232 g24_store_mem_pid
+0x3235 g24_store_mem_txpayload
+0x3237 g24_set4_mem_max_retry
+0x3238 g24_store_mem_max_retry
+0x323a g24_fetch_mem_data_type
+0x323c g24_store_mem_data_type
+0x323e g24_set2_mem_sync_cnt
+0x323f g24_store_mem_sync_cnt
+0x3241 g24_set1_mem_rf_last_sta
+0x3242 g24_store_mem_rf_last_sta
+0x3245 g24_fetch_mem_hop_pac
+0x3248 g24_set1_mem_hop_pac
+0x3249 g24_store_mem_hop_pac
+0x324c g24_fetch_mem_abort_pac
+0x324f g24_set1_mem_abort_pac
+0x3250 g24_store_mem_abort_pac
+0x3253 g24_fetch_mem_pairing_sm
+0x3256 g24_store_mem_pairing_sm
+0x3258 g24_fetch_mem_rf_hop_ch
+0x325a g24_set0_mem_rf_hop_ch
+0x325b g24_store_mem_rf_hop_ch
+0x325d g24_fetch_mem_rf_work_stage
+0x325f g24_fetch_mem_rxbuf_add1
+0x3261 g24_fetch_mem_check_dongle_times
+0x3263 g24_set0_mem_check_dongle_times
+0x3264 g24_store_mem_check_dongle_times
+0x3267 g24_store_mem_tx_power
+0x326a g24_store_mem_txpower
+0x326c g24_store_mem_tx_power_temp
+0x3270 g24_fetch_mem_power_ctrl_pac
+0x3272 g24_store_mem_power_ctrl_level
+0x3274 g24_fetcht_mem_rxdata_temp
+0x3275 g24_set_rega_ifetcht_1byte
+0x3278 g24_fetch_mem_rf_laststa
+0x327a g24_set0_mem_rf_laststa
+0x327b g24_store_mem_rf_laststa
+0x327d g24_fetch_mem_rx_addr
+0x327e g24_set_rega_ifetch_4byte
+0x327f g24_rega_ifetch_4byte
+0x3281 g24_fetch_mem_time_slice
+0x3283 g24_set0_mem_time_slice
+0x3284 g24_store_mem_time_slice
+0x3286 g24_set0_mem_mode_switch
+0x3287 g24_store_mem_mode_switch
+0x3289 g24_store_mem_bind_payload
+0x328b g24_fetch_mem_bind_device_status
+0x328d g24_store_mem_bind_device_status
+0x328f g24_fetch_mem_dongle_work_mode
+0x3291 g24_set_work_mem_dongle_work_mode
+0x3292 g24_store_mem_dongle_work_mode
+0x3294 g24_fetch_mem_dongle_mode_init
+0x3296 g24_set0_mem_dongle_mode_init
+0x3297 g24_store_mem_dongle_mode_init
+0x3299 g24_set0_mem_ackpayload_enable
+0x329a g24_store_mem_ackpayload_enable
+0x329c g24_set1_mem_ackpayload_enable
+0x329e g24_fetch_mem_rxdata_temp_add3_7byte
+0x32a2 g24_fetch_mem_nodata_timer_enable
+0x32a4 g24_set0_mem_nodata_timer_enable
+0x32a5 g24_store_mem_nodata_timer_enable
+0x32a7 g24_set0_mem_ms_blank_data_enable
+0x32a8 g24_store_mem_ms_blank_data_enable
+0x32aa g24_set0_mem_kb_blank_data_enable
+0x32ab g24_store_mem_kb_blank_data_enable
+0x32ad g24_set0_mem_kb_mul_blank_data_enable
+0x32ae g24_store_mem_kb_mul_blank_data_enable
+0x32b0 g24_store_mem_power_ctrl_threshold_up
+0x32b2 g24_store_mem_power_ctrl_threshold_down
+0x32b3 g24_set_contw_with_regb_store_1byte
+0x32b4 g24_contw_istore_1byte
+0x32b6 g24_fetch_mem_pair_mode
+0x32b8 g24_store_mem_pair_mode
+0x32ba g24_store_mem_pair_txpower
+0x32bd g24_fetch_mem_rxdata_temp_add3_1byte
+0x32bf g24_set_contw_with_temp
+0x32c4 g24_set_contw_with_temp_store_3byte
+0x32c5 g24_contw_istore_3byte
+0x32c7 g24_set_contw_with_regb
+0x32c8 g24_set_contw_with_regb2
+0x32cd g24_set_rega
+0x32d0 g24_set_rega_ifetch_1byte
+0x32d1 g24_rega_ifetch_1byte
+0x32d3 g24_set_rega_ifetcht_4byte
+0x32d6 g24_mem_set0
+0x32d8 app_init
+0x32e3 app_lpm_init
+0x32ec app_lpm_init0
+0x32ed app_process_idle
+0x32f2 app_process_bt
+0x32f4 app_process_ble
+0x32f6 app_process_bb_event
+0x32fd app_discard_event
+0x32ff app_event_normal_process
+0x3311 app_evt_bt_conn
+0x3318 app_event_switch_success
+0x331a app_event_switch_fail_master
+0x3324 app_process_bb_event_priority
+0x3326 app_check_wake_lock
+0x3328 app_will_enter_lpm
+0x332a app_event_linkkey_generate
+0x332e app_event_reconn_start
+0x3335 app_evt_setup_complete
+0x333c app_evt_hid_handshake
+0x3340 app_event_enter_sniff
+0x3347 app_event_exit_sniff
+0x334b app_le_event_bb_connected
+0x334f app_le_event_bb_disconn
+0x3353 app_bb_event_hid_connected
+0x3357 app_evt_button_long_pressed
+0x335b app_event_ml2cap_conn_refused
+0x335f app_evt_timer
+0x3361 app_evt_100ms_loop
+0x336d timer_single_step
+0x3374 timer_single_step_2b
+0x337b app_power_timer
+0x337f app_power_timer_timeout
+0x3381 app_enter_power_off_state
+0x3382 app_enter_power_stanby_state
+0x3385 app_power_cb_common
+0x3387 app_unsniff_delay_timer
+0x338a app_unsniff_delay_timeout
+0x338d app_discovery_timer
+0x3390 app_discovery_timeout
+0x3394 app_bb_event_reconn_failed
+0x3395 app_clear_reconnect_flag
+0x3399 app_bb_event_bb_disconn
+0x339e app_bb_event_bb_reconn_disconn
+0x33a7 app_bb_hibernate
+0x33a9 app_disconn_reason_clear
+0x33ac app_disconn_reason_flag_clear
+0x33af app_disconn_reason_collect_bt
+0x33b4 app_disconn_reason_collect_ble
+0x33ba app_check_sniff
+0x33bd app_initflag_store
+0x33be app_flag_store
+0x33c4 app_initflag_check
+0x33cd app_start_auto_sniff
+0x33d0 app_get_lpm_wake_lock
+0x33d2 app_put_lpm_wake_lock
+0x33d4 app_lpm_wake_auto_lock
+0x33d6 app_lpm_wake_auto_lock_timer
+0x33d9 app_l2cap_flow_control_enable
+0x33db app_l2cap_flow_control_disable
+0x33dd app_bt_set_pincode
+0x33df app_bt_role_switch
+0x33e1 app_bt_start_reconnect
+0x33e7 app_bt_reconnect_cancel
+0x33e9 app_bt_disconnect
+0x33eb app_bt_start_discovery_short
+0x33ed app_bt_start_discovery_led_blink
+0x33ee app_bt_start_discovery
+0x33f0 app_bt_stop_discovery
+0x33f4 app_ble_start_direct_adv
+0x33f6 app_ble_stop_direct_adv
+0x33f8 app_ble_stop_adv
+0x33fa app_ble_start_adv
+0x33fc app_ble_start_scan
+0x33fe app_ble_stop_scan
+0x3400 app_ble_start_conn
+0x3402 app_ble_disconnect
+0x3404 app_led_start_blink
+0x3406 app_led_on
+0x3408 app_led_off
+0x340a app_enter_hibernate
+0x340c app_bt_sniff_exit
+0x340e app_bt_enter_sniff
+0x3410 app_ble_store_reconn_info
+0x3412 app_bt_store_reconn_info
+0x3414 app_store_reconn_info
+0x3416 app_lpm_mult_enable
+0x3418 app_lpm_mult_disable
+0x341a app_button_long_pressed
+0x341c app_power_starting
+0x3420 app_power_common
+0x3424 app_power_shutting_down
+0x3429 app_power_off_end
+0x342d app_got_power_state_common
+0x3431 app_event_button_up
+0x3434 app_power_release
+0x3436 antilost_init
+0x3463 antilost_le_before_hibernate
+0x3465 antilost_le_notification
+0x346c antilost_power_standby_cb
+0x3470 antilost_lpm_lock_process
+0x3479 antilost_lpm_ctrl_for_led_buzzer
+0x347e antilost_bb_event_process
+0x3485 antilost_le_conn_param_update_rsp_recieved
+0x3487 antilost_le_conn_param_accepted
+0x3489 antilost_le_conn_param_updata_procedure_sucsess
+0x348c antilost_le_conn_param_rejected
+0x348e antilost_conn_param_retransimiting
+0x34a0 antilost_conn_param_updata_procedure_faild
+0x34a2 antilost_master_nonsupport_latency
+0x34b2 antilost_le_bb_event_timer
+0x34b9 antilost_double_click_timer
+0x34bc antilost_double_click_timeout
+0x34be antilost_le_fast_adv_timer
+0x34c1 antilost_le_fast_adv_timeout
+0x34c4 antilost_conn_update_timer
+0x34c7 antilost_conn_update_timer_time_out
+0x34ca antilost_app_updata_le_param_timer
+0x34cd antilost_app_updata_le_param_timeout
+0x34d3 antilost_wait_for_updata_param_instant_expire
+0x34d5 antilost_le_sleep_timer
+0x34d8 antilost_le_sleep_timer_timeout
+0x34d9 antilost_adc_check_timer
+0x34dc antilost_adc_check_timer_timeout
+0x34df antilost_le_process_conn
+0x34e8 antilost_le_process_discon
+0x34f4 antilost_le_conn_process
+0x34f5 antilost_idle_process
+0x34f8 antilost_power_starting_cb
+0x34fb antilost_power_common
+0x34fc antilost_power_off_cb
+0x3501 antilost_le_receive_data_process
+0x3504 antilost_le_parse_att_write_request
+0x3508 antilost_key_process
+0x350b antilost_key_up_down
+0x350d antilost_key_is_down
+0x3510 antilost_key_is_up
+0x3513 antilost_key0_down
+0x351b antilost_key0_up
+0x351d antilost_double_click_timer_init
+0x3521 antilost_butten_down_after_conn
+0x3527 antilost_click_once
+0x352b antilost_click_twice
+0x3532 antilost_butten_down_while_disconn
+0x3536 antilost_cmd_parse_for_application
+0x353c antilost_on_of_alram
+0x3540 antilost_configuration_for_alram
+0x3544 antilost_prepare_data_and_send
+0x3551 antilost_alert_on
+0x355c antilost_alert_off
+0x3564 antilost_set_start_alarm_after_disconn
+0x3569 antilost_set_no_alarm_after_disconn
+0x356e antilost_on_off_alarm_after_disconn
+0x3571 antilost_notify_alarm_config_first_time
+0x3582 antilost_buzzer_configuration
+0x3584 antilost_led_configuration
+0x3585 antilost_configuration_common
+0x3586 antilost_led_buzzer_stop_blink
+0x358c antilost_led_buzzer_style_configuration
+0x358f antilost_fast_adv_start
+0x3591 antilost_adv_start_common
+0x3596 antilost_adv_interval_lpm_interval_set
+0x359b antilost_buzzer_pwm_init
+0x35a2 antilost_led_on_cb
+0x35a4 antilost_led_off_cb
+0x35a6 antilost_buzzer_off
+0x35a9 antilost_buzzer_on
+0x35ad antilost_adc_init
+0x35af antilost_battery_process
+0x35b9 antilost_battery_calculate_end
+0x35bc antilost_full_battery
+0x35be antilost_low_battery
+0x35bf car_init
+0x35e6 car_soft_switch_power_on_init
+0x35ed car_power_off_signal
+0x35ee car_hard_switch_power_on_signal
+0x35ef car_soft_switch_power_on_signal
+0x35f5 car_le_modified_name_adv
+0x35f7 car_name_loop
+0x3604 car_le_modified_name_scan
+0x3609 car_hex_to_ascii
+0x360d car_hex_num
+0x360f car_ui_led_init
+0x3611 car_ui_led_init_1
+0x3613 car_ui_led_init_2
+0x3615 car_ui_led_init_3
+0x3619 car_in_lp1
+0x361f car_in_lp1_end
+0x3620 car_ui_led_init_end
+0x3621 car_blood_led_gpio_set
+0x3624 car_pairing_led_gpio_set
+0x3626 car_low_voltage_led_gpio_set
+0x3628 car_init_environment
+0x362d car_init_adc_hvin
+0x3631 car_le_before_hibernate
+0x3633 car_le_process_lpm_before
+0x3634 car_key_scan_process
+0x3635 car_scale_process_idle
+0x3639 car_g24_status_process
+0x363e car_g24_connected_event
+0x3642 car_le_send_packet
+0x364b car_scale_process_bb_event
+0x3651 car_scale_event_le_conn
+0x3654 car_g24_connected
+0x3656 car_scale_process_conn
+0x365c car_scale_process_conn_next
+0x365e car_pairing_led_conn_status_setting
+0x3660 car_scale_event_le_discon
+0x3662 car_g24_disconnect
+0x367a car_le_bb_event_timer
+0x3683 car_ir_breakdown_timer
+0x3686 car_ir_breakdown_timeout
+0x368a car_24g_no_data_timeout_timer
+0x368d car_24g_no_data_timer_timeout
+0x368f car_attack_shake_timer
+0x3692 car_attack_shake
+0x369a car_attack_shake_front_battle_car
+0x369b car_attack_shake_front_battle_tank
+0x369e car_attack_shake_stop
+0x36a1 car_notify_vdd_timer
+0x36a8 car_notify_vdd
+0x36ac car_read_hvin
+0x36b6 car_notify_vdd_next2
+0x36c1 car_enter_low_bat
+0x36c6 car_low_bat_led_off
+0x36c8 car_led_control_timer
+0x36cb car_led_control
+0x36d0 car_led_control_set
+0x36d3 car_led_control_timer_next
+0x36d9 car_led_control_timer_next_2
+0x36de car_led_switch
+0x36e3 car_led_control_off
+0x36e6 car_led_control_on
+0x36e9 car_led_control_blink
+0x36ec car_led_control_blink_on
+0x36ee car_led_control_blink_off
+0x36f0 calc_check_sum_start
+0x36f1 calc_check_sum_loop
+0x36f4 calc_check_sum_and
+0x36f6 car_le_receive_data
+0x36f9 car_le_parse_att_write_request
+0x36fc le_app_receive_data
+0x3710 car_control_le_receive
+0x3718 car_receive_cmd_select
+0x3722 car_24g_receive_data
+0x372e car_24g_receive_data_next
+0x3735 car_moto1_enable_blank_data_timer
+0x3737 car_moto2_enable_blank_data_timer
+0x3739 car_moto3_enable_blank_data_timer
+0x373b car_moto1_blank_data_timer
+0x373e car_moto2_blank_data_timer
+0x3741 car_moto3_blank_data_timer
+0x3744 car_moto1_blank_data
+0x3746 car_moto2_blank_data
+0x3748 car_moto3_blank_data
+0x374a car_drive_old
+0x374c car_left_right_control_old
+0x374f car_front_back_control_old
+0x3754 car_reset_old_speed
+0x3758 car_reset_old_speed2
+0x375a car_reset_old_speed3
+0x375c car_speed_set_old
+0x3762 car_motor_control
+0x3770 car_motor1_control
+0x3773 car_motor2_control
+0x3776 car_motor3_control
+0x3779 car_motor_working_flag
+0x377b car_motor_status_select
+0x3780 car_motor_positive
+0x3782 car_motor_negative
+0x3787 car_motor_stop
+0x378c car_motor_work
+0x3790 car_motor_select_negative
+0x3793 car_motor_work_next
+0x379a car_motor_select_positive
+0x379e car_motor_speed_duty_setting
+0x37a1 car_motor_speed_duty_transform
+0x37aa car_ir_init
+0x37b1 car_ir_data_rx_from_app
+0x37b9 car_ir_data_tx
+0x37c2 car_ir_send_loop
+0x37c9 car_ir_is_bit1
+0x37cc car_ir_wait_finish
+0x37d8 car_attack_shake_back_battle_car
+0x37d9 car_attack_shake_back_battle_tank
+0x37dc car_ir_enable
+0x37e0 car_ir_disable
+0x37e4 car_ir_rx_init
+0x37ee car_ir_receive_process
+0x37f6 car_ir_receive_process_next
+0x37fe car_ir_packet_head_wait_end
+0x3805 car_ir_receive_process_loop
+0x380d car_ir_get_bit0
+0x3812 car_ir_get_bit1
+0x3816 car_ir_get_bit1_wait_low_end
+0x381b car_ir_receive_process_end
+0x3821 car_ir_data_notify
+0x3827 car_ir_24g_receive_attack
+0x382f car_ir_24g_receive_attack_off
+0x3838 car_ir_24g_receive_attack_blink
+0x383d car_ir_24g_go_die
+0x383f car_ir_clk_get
+0x3842 car_ir_clk_check
+0x3847 car_ir_gpio_get_status
+0x3849 car_led_control_receive
+0x384c car_info_request
+0x3858 light_init
+0x3860 light_pairing_timer
+0x3867 light_init_crr_cmd_count
+0x386d light_load_controler_list
+0x3871 light_find_controler_pairing
+0x3876 light_find_controler_pairing_loop
+0x3879 light_find_single_pairing_diff
+0x387c light_compare_addr_record
+0x3881 light_compare_single_record
+0x388d light_find_controler_cmd
+0x3893 light_find_controler_cmd_loop
+0x3898 light_recv_adv
+0x389c light_anylize_command
+0x38a8 light_parse_cmd
+0x38b7 light_parse_cmd_loop
+0x38c2 light_parse_cmd_pwm0
+0x38c6 light_parse_cmd_pwm_common
+0x38cf light_parse_cmd_pwm1
+0x38d4 light_parse_cmd_pwm2
+0x38d9 light_parse_cmd_pwm3
+0x38de light_parse_cmd_pwm4
+0x38e3 light_parse_cmd_pwm5
+0x38e8 light_parse_auto_mode
+0x38ea light_parse_pairing
+0x38ee light_parse_pairing_abandon
+0x38f0 update_controler_list
+0x38fe update_conrtoler_list_found
+0x3903 update_conrtoler_store_list
+0x3907 lightc_init
+0x390a lightc_dispatch
+0x3918 lightc_adv
+0x391d lightc_start_adv
+0x392a module_init
+0x3945 module_lpm_uart_init
+0x3962 module_lpm_init
+0x3964 module_gpio_init
+0x3969 module_lpm_lock
+0x396d module_le_conn_process
+0x396e module_bt_conn_process
+0x3970 module_spp_enter_sniff
+0x397f module_spp_clear_last_transmite_clock
+0x3982 module_process_idle
+0x3986 module_process_bb_event
+0x39a3 module_process_bb_event_disconned
+0x39aa module_process_spp_connected
+0x39b1 module_spp_disconnected
+0x39b6 module_sniff_param_check
+0x39bd module_sniff_param_check_unsniff
+0x39c2 module_process_exit_sniff
+0x39c4 module_process_setup_complete
+0x39c6 module_process_bb_even_le_disconn
+0x39c9 module_process_evt_pincode_req
+0x39ca module_process_sniff_not_accept
+0x39cb module_process_unsniff_accept
+0x39ce module_process_unsniff_not_accept
+0x39cf module_process_le_conn
+0x39d4 module_process_bb_conn
+0x39d7 module_disconn_start
+0x39d9 module_process_ble_ltk_lost
+0x39db module_set_conn_pin_high
+0x39dd module_conn_start
+0x39df module_stop_adv_discovery
+0x39e6 module_set_conn_pin_low
+0x39e8 module_process_with_credit
+0x39eb module_process
+0x3a01 module_hci_in_excp
+0x3a04 module_hci_release_except
+0x3a12 module_hci_dicard_packet
+0x3a16 module_hci_dicard_bytes
+0x3a17 module_hci_cmd_control
+0x3a3f module_hci_cmd_set_bt_addr
+0x3a44 module_hci_cmd_set_le_addr
+0x3a49 module_hci_cmd_set_visibility
+0x3a52 module_start_adv_discovery_by_command
+0x3a58 moudle_start_adv_by_command
+0x3a5f module_hci_cmd_set_bt_name
+0x3a6b module_hci_cmd_set_le_name
+0x3a75 module_hci_cmd_receive_spp_data
+0x3a84 module_hci_cmd_pass_init_ng_rx_len_all
+0x3a86 module_hci_cmd_spp_exit_sniff
+0x3a88 module_hci_cmd_get_current_packet_len_and_remain_len
+0x3a8e module_hci_cmd_get_current_patcket_len
+0x3a97 module_hci_command_tx_spp_tx_complete
+0x3a9a module_hci_cmd_receive_le_data
+0x3ab4 module_hci_cmd_receive_le_data_finish
+0x3ab7 module_hci_cmd_transmit_le_notify
+0x3acf module_get_le_remote_mtu
+0x3ad4 module_check_ble_encrypt_state
+0x3ad7 module_hci_cmd_inquire_status
+0x3ad8 module_hci_cmd_set_pairing_mode
+0x3adf module_hci_pairing_pincode_mode
+0x3ae2 module_hci_pairing_just_work_mode
+0x3ae3 module_hci_sspairing_mode
+0x3ae8 module_hci_pairing_passkey
+0x3aea module_hci_pairing_numeric_comparison
+0x3aec module_hci_cmd_set_pincode
+0x3af4 module_hci_cmd_set_uart_control_mode
+0x3afa module_hci_cmd_set_uart_baud
+0x3b02 module_hci_cmd_set_uart_baud_ok
+0x3b06 module_hci_cmd_version_request
+0x3b0a module_hci_event_set_cmd_send_response
+0x3b0e module_hci_cmd_bt_disconnect
+0x3b10 module_hci_cmd_bt_disconnect_doing
+0x3b12 module_hci_cmd_ble_disconnect
+0x3b14 module_hci_cmd_ble_disconnect_doing
+0x3b16 module_hci_cmd_set_nvram
+0x3b1d module_hci_cmd_confirm_gkey
+0x3b28 dhkey_not_accept
+0x3b2b module_hci_cmd_spp_number_comparison_result_is1
+0x3b2d module_hci_cmd_set_credit_given
+0x3b36 module_hci_cmd_auto_adv
+0x3b3c module_hci_cmd_auto_adv_loop
+0x3b46 module_hci_cmd_auto_adv_store_adv
+0x3b50 module_hci_cmd_auto_adv_store_scan
+0x3b59 module_hci_cmd_auto_adv_store_common
+0x3b64 module_hci_cmd_auto_adv_adv_analys
+0x3b69 module_hci_cmd_power_request
+0x3b6f module_hci_cmd_power_set
+0x3b76 module_hci_cmd_passkey_entry
+0x3b7c module_hci_cmd_set_gpio
+0x3b82 module_set_gpio_input
+0x3b88 module_set_gpio_high_impedance
+0x3b8a module_set_gpio_output
+0x3b90 module_hci_cmd_read_gpio
+0x3b98 module_hci_cmd_le_set_pairing_mode
+0x3ba3 module_le_set_pairing_mode_secure_justwork
+0x3ba8 module_le_set_pairing_mode_secure_numeric
+0x3bae module_le_set_pairing_mode_secure_passkey
+0x3bb3 module_le_set_no_pairing
+0x3bb4 module_le_set_noinputnooutput
+0x3bb6 module_le_set_pairing_mode_lagacy_just_work
+0x3bb8 module_le_set_pairing_mode_lagacy_passkey
+0x3bb9 module_le_set_displayonly
+0x3bbb module_hci_cmd_le_set_adv_data
+0x3bc4 module_hci_cmd_le_set_scan_data
+0x3bcd module_hci_cmd_le_send_conn_update_req
+0x3bd7 module_hci_cmd_set_le_adv_parameter
+0x3bda module_hci_cmd_le_start_pairing
+0x3be2 module_hci_cmd_set_wake_gpio
+0x3bec module_hci_cmd_set_tx_power
+0x3bf1 module_hci_cmd_le_confirm_gkey
+0x3bf8 module_hci_cmd_le_confirm_gkey_ok
+0x3bfa module_hci_cmd_le_confirm_gkey_fail
+0x3bfc module_hci_cmd_set_reject_justwork_flag
+0x3c02 module_hci_cmd_reset_chip
+0x3c06 module_hci_cmd_le_set_fixed_passkey
+0x3c13 module_hci_cmd_le_set_random_passkey
+0x3c15 module_hci_test_cmde_close_lpm
+0x3c17 module_hci_event_receive_invalid_cmd
+0x3c1a module_hci_event_receive_valid_cmd
+0x3c1d module_hci_event_spp_connect
+0x3c1f module_hci_event_le_connect
+0x3c21 module_hci_event_spp_disconnect
+0x3c23 module_hci_event_le_disconnect
+0x3c25 module_hci_event_set_cmd
+0x3c32 module_hci_event_receive_spp_data
+0x3c3d module_hci_event_receive_le_data
+0x3c48 module_hci_event_enter_standby_mode
+0x3c49 module_hci_event_enter_standby_mode_len0
+0x3c4c module_hci_event_status_res
+0x3c5d module_hci_read_bt_status
+0x3c6a module_hci_event_store_device
+0x3c73 module_hci_event_gkey_generate
+0x3c79 module_hci_event_invalid_packet
+0x3c82 module_hci_event_passkey_entry_mode
+0x3c84 module_hci_event_le_tk
+0x3c8a module_hci_event_le_pairing_fail
+0x3c8c module_hci_event_le_pairing_success
+0x3c8e module_hci_event_bt_pairing_fail
+0x3c90 module_hci_event_bt_pairing_success
+0x3c91 module_hci_event_pairing_completed
+0x3c98 module_hci_event_pause_enc
+0x3c9a module_hci_event_start_enc
+0x3c9b module_hci_event_enc
+0x3ca1 module_hci_event_le_gkey
+0x3ca7 module_hci_prepare_tx
+0x3cb1 module_set_mcu_wake_pin_high_delay
+0x3cb3 module_set_mcu_wake_pin_h_delay
+0x3cb8 module_set_mcu_wake_pin_high
+0x3cba module_check_mcu_wake_pin_high
+0x3cbc module_set_mcu_wake_pin_low
+0x3cbe delay
+0x3cc2 module_le_receive_data
+0x3ccf module_le_receive_data_ok
+0x3cd1 module_exit_sniff
+0x3cd5 module_set_lpm_mult_2
+0x3cd7 module_bb_event_timer
+0x3cd8 module_read_vdd_timer
+0x3ce9 module_control_air_flow
+0x3cec module_set_sniff_task_flag
+0x3cee module_clear_sniff_task_flag
+0x3cf0 module_set_unsniff_task_flag
+0x3cf2 module_clear_unsniff_task_flag
+0x3cf4 module_set_le_tx_data_flag
+0x3cf6 module_clear_le_tx_data_flag
+0x3cf8 module_clr_state
+0x3cfc module_set_state
+0x3d00 mouse_init
+0x3d0f mouse_delay_4s
+0x3d12 mouse_delay_20ms
+0x3d16 mouse_cheak_enable_usb
+0x3d19 mouse_cb_fuction
+0x3d36 mouse_spi_init
+0x3d39 mouse_setting_config
+0x3d46 mouse_init_iic
+0x3d4e mouse_wakeup_from_power
+0x3d53 mouse_wakeup_no_from_power
+0x3d57 mouse_start_24g_mode
+0x3d5b le_mouse_bb_event_connect_complete
+0x3d60 mouse_le_write_enable
+0x3d62 mouse_dpi_up
+0x3d66 mouse_dpi_config
+0x3d6a mouse_dpi_cheak
+0x3d6d mouse_dpi_down
+0x3d79 mouse_before_store_flash_cpi
+0x3d7e mouse_seting_dpi
+0x3d88 mouse_set_cpi2
+0x3d8a mouse_set_cpi1
+0x3d8c mouse_set_cpi3
+0x3d8e mouse_set_cpi4
+0x3d90 moue_seting_cpi_count
+0x3d96 mouse_seting_3212_dpi
+0x3d9b mouse_set_p3212_cpi2
+0x3d9d mouse_set_p3212_cpi1
+0x3d9f mouse_set_p3212_cpi3
+0x3da1 mouse_set_p3212_cpi4
+0x3da2 mouse_p3212_dpi
+0x3daa mouse_seting_3610_dpi
+0x3daf mouse_set_p3610_cpi2
+0x3db1 mouse_set_p3610_cpi1
+0x3db3 mouse_set_p3610_cpi3
+0x3db5 mouse_set_p3610_cpi4
+0x3db6 mouse_p3610_dpi
+0x3db9 mouse_reset_p3610_dpi
+0x3dbe mouse_p3205_dpi
+0x3dc9 mouse_init_environment
+0x3dce mouse_24g_pairing_button
+0x3de3 mouse_idle
+0x3de9 mouse_usb_isr
+0x3ded mouse_cheak_usb
+0x3df1 mouse_usb_no_exsit
+0x3df4 mouse_usb_exsit
+0x3df7 mouse_usb_mode
+0x3e07 mouse_clkn_check
+0x3e0c mouse_clkn_timeout
+0x3e0f mouse_wired_to_usb
+0x3e12 mouse_data_push
+0x3e1a mouse_enable_clock_qdecoder
+0x3e1e mouse_param_init
+0x3e44 mouse_sensor_set_angle
+0x3e4c mouse_select_adc
+0x3e54 mouse_adc_init
+0x3e59 mouse_adc_init_data_vinlpm
+0x3e62 mouse_adc_init_data_hvin
+0x3e6b mouse_adc_init_data_io
+0x3e6e mouse_gpio_init
+0x3e97 mouse_wheel_gpio_set_wake
+0x3e9f mouse_before_hibernate_wheel_gpio_set
+0x3ea7 mouse_gpio_set_pupd_by_input
+0x3eb3 mouse_before_hibernate
+0x3ebb mouse_process_lpm_before
+0x3ebf mouse_lpm_before_common
+0x3ede mouse_spi_clk_gpio
+0x3ee0 mouse_wheel_check
+0x3eee mouse_t_wheel_scan
+0x3efe mouse_t_wheel_scan_judge1
+0x3f02 mouse_t_wheel_scan_judge2
+0x3f06 mouse_t_wheel_scan_judge11
+0x3f08 mouse_t_wheel_scan_judge12
+0x3f0a mouse_t_wheel_scan_judge21
+0x3f0c mouse_t_wheel_scan_judge22
+0x3f0e mouse_t_wheel_scan_judge3
+0x3f16 mouse_t_wheel_scan_judge30
+0x3f19 mouse_t_wheel_scan_judge31
+0x3f1c mouse_t_wheel_scan_judge32
+0x3f1f mouse_t_wheel_scan_judge33
+0x3f22 mouse_wheel_t_forward
+0x3f2c mouse_wheel_t_back
+0x3f36 mouse_wheel_scan
+0x3f46 mouse_wheel_scan_judge1
+0x3f4a mouse_wheel_scan_judge2
+0x3f4e mouse_wheel_scan_judge11
+0x3f50 mouse_wheel_scan_judge12
+0x3f52 mouse_wheel_scan_judge21
+0x3f54 mouse_wheel_scan_judge22
+0x3f56 mouse_wheel_scan_judge3
+0x3f5e mouse_wheel_scan_judge30
+0x3f61 mouse_wheel_scan_judge31
+0x3f64 mouse_wheel_scan_judge32
+0x3f67 mouse_wheel_scan_judge33
+0x3f6a mouse_wheel_forward
+0x3f6f mouse_wheel_back
+0x3f74 mouse_hid_connected
+0x3f77 mouse_send_process
+0x3f81 mouse_send_data
+0x3f8a mouse_send_empty_data
+0x3f8d mouse_no_data_timer_init
+0x3f90 mouse_fill_data_le
+0x3f97 mouse_motion
+0x3fa3 motion_6clk_direction_dispose
+0x3fa7 motion_12clk_direction_dispose
+0x3fab motion_9clk_direction_dispose
+0x3fb3 motion_3clk_direction_dispose
+0x3fb5 mouse_cheak_sensor_data
+0x3fc0 mouse_clear_sensor_data
+0x3fc4 mouse_p3212_sensor_motion
+0x3fc8 mouse_p3212_sensor_motion_1
+0x3fde mouse_read_3212sensor_xy_high
+0x3fe0 mouse_p3065_judge
+0x3fe2 mouse_p32xx_sensor_motion
+0x3fe7 mouse_p32xx_sensor_motion_2
+0x3fea mouse_p32xx_sensor_motion_1
+0x3ffa motion32xx_6clk_direction_selection
+0x3ffc motion32xx_9clk_direction_selection
+0x3ffe motion32xx_12clk_direction_selection
+0x4000 motion32xx_3clk_direction_selection
+0x4002 mouse_sensor_data_swap_places
+0x4007 mouse_p3610sensor_read
+0x4010 mouse_p3610_sensor_motion
+0x402d mouse_3610_smart_select
+0x4031 motion3610_6clk_direction_selection
+0x4033 motion3610_12clk_direction_selection
+0x4035 motion3610_9clk_direction_selection
+0x4037 motion3610_3clk_direction_selection
+0x4039 mouse_read_sensor3610_data
+0x4045 mouse_3610_smart_enable
+0x4051 mouse_3610_smart_disable
+0x405d mouse_read_sensor_common
+0x4064 mouse_set_qdecoder_x
+0x406d mouse_hardware_zwheel
+0x4074 mouse_hardware_zwheel_beforelpm
+0x4079 mouse_zwheel
+0x407e mouse_t_zwheel
+0x4083 mouse_check_key_gpio
+0x4090 mouse_check_s_key_gpio
+0x4099 mouse_key
+0x40a3 mouse_24g_key
+0x40a8 mouse_set_mult
+0x40ad mouse_set_ble_mult
+0x40b0 mouse_set_bt_mult
+0x40b3 mouse_sensor_sdio_low
+0x40be mouse_sensor_sdio_low2
+0x40c0 mouse_spi_sdio_gpio_pollup
+0x40c2 mouse_spi1_sdio_gpio_pollup
+0x40c4 mouse_spi2_sdio_gpio_pollup
+0x40c6 mouse_init_sunt
+0x40cb mouse_init_sensor
+0x40d1 mouse_twspi_reset
+0x40d5 mouse_init_3610sensor
+0x40d9 mouse_read_sensor_id
+0x40e0 mouse_init_p32xx_id2_judge
+0x40e6 mouse_ka8_init_param
+0x40e8 mouse_p3065xy_init_param
+0x40ea mouse_p3065_init_param
+0x40ee mouse_3212_init_param
+0x40f4 mouse_sensor_enable_wp
+0x40f6 mouse_sensor_disable_wp
+0x40f8 mouse_3204_3l_init_param
+0x4102 mouse_32xx_init_param
+0x411a mouse_32xx_init_param_1
+0x4139 mouse_3205_3t_init_param
+0x4145 mouse_init_3610sensor_reset
+0x414b mouse_init_p3610
+0x415a mouse_set_sensor_reg
+0x4165 extsign
+0x4169 extsign_bit3
+0x416d mouse_le
+0x4179 mouse_le_send_empty_packet
+0x417c mouse_priority_bb_event
+0x4191 mouse_le_pairing_complete
+0x4192 mouse_24g_attempt_fail
+0x419a mouse_24g_attempt_success
+0x419c mouse_24g_pairing_complete
+0x41aa mouse_set_24g_addr_eeprom
+0x41af mouse_store_flash_24g_address
+0x41b4 mouse_le_pairing_success
+0x41b6 mouse_le_ll_start_encryt
+0x41b9 mouse_le_enable_connect_flag
+0x41bd mouse_le_disable_connect_flag
+0x41c1 mouse_le_clean_connect_flag
+0x41c3 mouse_le_bb_event_connected
+0x41ca mouse_bb_event_pincode
+0x41cc mouse_bb_event_reconn_failed
+0x41d5 mouse_bt_hid_connected
+0x41d6 mouse_bt_event_setup_complete
+0x41d7 mouse_soft_reset
+0x41d9 mouse_bb_disconnected
+0x41e7 mouse_bb_discon_clear_stack
+0x41ef mouse_event_light_state_pairing
+0x41f2 mouse_event_light_state_hibernate
+0x41f5 mouse4_0_event_bb_disconn
+0x41f9 mouse_bb_event_timer
+0x4209 mouse_sensor_led_contrl_timer
+0x420f mouse_sensor_led_contrl
+0x4212 mouse_sensor_led_blink_state_lighting
+0x4216 mouse_sensor_led_blink_state_darking
+0x421a mouse_sensor_reset
+0x4220 mouse_p3212sensor_led_on
+0x4224 mouse_sensor_led_on_global
+0x4225 mouse_sensor_led_on
+0x422b mouse_sensor_led_off_global
+0x422c mouse_sensor_led_off
+0x422e mouse_sensor_start_blink
+0x4231 mouse_check_hid_handshake_timer
+0x4234 mouse_check_discovery_timeout_timer
+0x4237 mouse_check_direct_timeout_timer
+0x423a mouse_check_no_data_timeout_timer
+0x423d mouse_check_mouse_state_timer
+0x4240 mouse_le_enable_att_list_timer
+0x4243 mouse_24g_delay_timer
+0x4246 mouse_ban_24g_pairing_timer
+0x4249 mouse_24g_delay
+0x424a mosue_dpi_led_blink_init
+0x4250 mouse_dpi_led_blink_delay_timer
+0x4253 mouse_dpi_led_setting
+0x425e mouse_le_enable_att_list
+0x4264 mouse_check_discovery_timeout
+0x4266 mouse_check_direct_timeout
+0x426a mouse_check_no_data_timeout
+0x426c mouse_bb_event_discovery_btn
+0x4271 mouse3_0_check_reconn_target
+0x4279 mouse4_0_check_reconn_target
+0x427e mouse_reconn_setting_led_gpio
+0x4282 mouse_discover_setting_led_gpio
+0x4285 mouse_setting_led_gpio_comman
+0x428a mouse_device_led1
+0x428c mouse_device_led2
+0x428e mouse_device_led3
+0x428f mouse_led_blink
+0x4296 mouse_led_off
+0x4298 mouse_led_on
+0x429a mouse4_0_bb_event_discovery_btn
+0x429b mouse_bt_hid_handshake
+0x42a2 mouse_check_reconn_target
+0x42ab mouse_connect_24g_mode
+0x42b0 mouse_start_discovery
+0x42b7 mouse_start_discovery_norandom
+0x42ca mouse_stop_discovery
+0x42d4 mouse_stop_le_adv
+0x42d7 mouse_stop_bt3_discovery
+0x42da mouse_store_remote_bdaddr
+0x42df mouse_unplug_clean_bdaddr
+0x42e4 mouse_store_eeprom_device_info
+0x42e8 mouse_check_device_addr
+0x42ec mouse_check_le_device_addr
+0x42ef mouse_check_bt_device_addr
+0x42f1 mouse_check_bt_device_addr_common
+0x42f5 mouse_check_device_addr_end
+0x42fb mouse_before_store_reconn_info
+0x4305 mouse_store_le_device
+0x430c mouse_store_bt_device
+0x4310 mouse_clean_addr
+0x4316 mouse_eeprom_load_recon_info
+0x431a mouse_select_reconn_device
+0x4327 mouse_load_bt_device
+0x4328 mouse_load_bt_device_end
+0x432c mouse_load_le_device
+0x432d mouse_load_le_device_end
+0x4333 mouse_select_device
+0x4337 mouse_select_device_by_combination_key
+0x4339 mouse_select_device_commbination_key_up
+0x433e mouse_select_device_commbination_key_down
+0x4343 mouse_combination_select_device_timer
+0x4349 mouse_select_device_by_button
+0x434e mouse_select_device_button_up
+0x4354 mouse_select_device_button_down
+0x4359 mouse_select_device_by_switch
+0x435f mouse_cheak_select_device_by_switch
+0x4364 mouse_select_btdevice
+0x4366 mouse_cheak_select_24gdevice
+0x4369 mouse_select1_device
+0x436c mouse_select2_device
+0x4370 mouse_ready_reconnection_by_button
+0x437a mouse_store_device_number2eeprom
+0x437e mouse_set_reconnection
+0x4381 mouse_stop_bluetooth_mode
+0x4386 mouse_disconnect
+0x438e mouse_irtual_cable_unplug
+0x4392 mouse_cancel_reconnect
+0x4394 mouse_bt_discovery_by_button
+0x4399 mouse_bt_discovery_button_up
+0x439f mouse_bt_discovery_button_down
+0x43a5 mouse_bt_discovery_cheak
+0x43a7 mouse_bt_discovery_commbination_key
+0x43a9 mouse_bt_discovery_commbination_key_up
+0x43af mouse_bt_discovery_commbination_key_down
+0x43b5 mouse_bt_discovry_timer
+0x43b8 mouse_long_button_bt_discovry
+0x43bc mouse_cpi_enable
+0x43be mouse_cpi_disable
+0x43c0 mouse_select_device_enable
+0x43c2 mouse_select_device_disable
+0x43c4 mouse_bt_cannel_reconn_enable
+0x43c6 mouse_bt_cannel_reconn_disable
+0x43c8 mouse_bt_discovery_button_down_enable
+0x43ca mouse_bt_discovery_button_down_disable
+0x43cc mouse_select_device_count_clean
+0x43ce mouse_enable_function_flag
+0x43d2 mouse_disable_function_flag
+0x43d6 mouse_adc_read
+0x43e7 mouse_adc_low_voltage
+0x43e9 mouse_adc_no_low_voltage
+0x43eb mouse_low_voltage_led_timer
+0x43f9 mouse_adc_low_volatage_led_timer_count_clean
+0x43fb mouse_low_voltage_led_on
+0x43fe mouse_low_voltage_led_off
+0x4401 mouse_g24_package_data
+0x4406 mouse_g24_enter_lpm
+0x4410 mouse_24g_dpi_delay_init
+0x4414 mouse_load_flash_info_cheak
+0x441c mouse_ble_init_address
+0x4423 mouse_load_flash_flag
+0x442b mouse_load_flash_device_info
+0x4435 mouse_store_flash_device_info
+0x443b mouse_store_eerpom_dpi
+0x443f mouse_load_eeprom_dpi
+0x4443 mouse_statue_cheak_timer
+0x444f mouse_check_statue_up
+0x445b mouse_statue_up_timer_init
+0x445d mouse_statue_up_timer
+0x4460 mouse_statue_up
+0x446d mouse_two_device_statue_up
+0x4471 mouse_three_device_statue_up
+0x4476 mouse_device_blink_led_init
+0x4478 mouse_statue_led_off
+0x447a mouse_devce1_led_off
+0x447e mouse_devce2_led_off
+0x4482 mouse_devce_led_off
+0x4485 mouse_devce3_led_off
+0x4489 mouse_device1_led_on
+0x448c mouse_device2_led_on
+0x448f mouse_device3_led_on
+0x4492 mouse_polling_device
+0x44a0 mouse_power_down
+0x44a4 remote_car_init
+0x44ce remote_car_soft_switch_power_on_init
+0x44d5 remote_car_hard_switch_power_on_signal
+0x44d6 remote_car_soft_switch_power_on_signal
+0x44d9 remote_car_connect_24g_mode
+0x44da remote_car_power_off_signal
+0x44db remote_car_ui_led_init
+0x44de remote_car_ui_led_init_1
+0x44e0 remote_car_pairing_led_gpio_set
+0x44e2 remote_car_init_environment
+0x44e6 remote_car_in_enter_hibernate
+0x44e9 remote_car_process_lpm_before
+0x44ea remote_car_g24_enter_lpm
+0x44ed remote_car_process_auto_pair_exit
+0x44ee remote_car_key_scan_process
+0x44ef remote_car_scale_process_idle
+0x44f2 remote_car_scale_process_bb_event
+0x44f9 remote_car_24g_attempt_fail
+0x44fb remote_car_24g_pairing_complete
+0x44ff remote_car_24g_attempt_success
+0x4503 remote_car_24g_status_process
+0x4508 remote_car_scale_process_paired
+0x450a remote_car_scale_process_shutdown
+0x450e remote_car_event_timer
+0x4510 remote_car_no_data_timer
+0x4515 remote_car_get_adc_default_data
+0x451a remote_car_rocker_get_x
+0x451f remote_car_rocker_get_y
+0x4525 remote_car_rocker_get_value
+0x452e remote_car_rocker_mid_value_adjust
+0x4534 remote_car_rocker_mid_adjust_positive
+0x4537 remote_car_rocker_translate_key
+0x453a remote_car_rocker_positive_key
+0x453c remote_car_rocker_negative_key
+0x453e remote_car_rocker_middle_key
+0x4540 remote_car_get_adc_from_gpio6
+0x4542 remote_car_get_adc_from_gpio7
+0x4544 remote_car_rocker_process
+0x4546 remote_car_read_rocker_check_start
+0x4550 remote_car_rocker_x_to_key
+0x4554 remote_car_rocker_y_to_key
+0x4557 remote_car_rocker_to_key
+0x455a rocker_to_queue_set_0
+0x455d rocker_to_queue_set_2
+0x4560 remote_car_send_key_data
+0x4568 remote_car_key_is_press
+0x456b remote_car_attack_key_press
+0x456f remote_car_motor_key_press
+0x4574 remote_car_single_motor_key_is_press
+0x457a remote_car_double_motor_key_press
+0x4580 remote_car_key_is_release
+0x4583 remote_car_attack_key_release
+0x4586 remote_car_motor_key_release
+0x458b remote_car_device_layout_select
+0x458f remote_car_send_motor1_key0_press
+0x4591 remote_car_send_motor1_key1_press
+0x4593 remote_car_send_motor2_key2_press
+0x4595 remote_car_send_motor2_key3_press
+0x4597 remote_car_send_double_motor_key0_press
+0x459a remote_car_send_double_motor_key1_press
+0x459d remote_car_send_double_motor_key2_press
+0x45a0 remote_car_send_double_motor_key3_press
+0x45a3 remote_car_send_attack_key4_press
+0x45a5 remote_car_send_attack_key5_press
+0x45a7 remote_car_send_fire_key6_press
+0x45a9 remote_car_single_motor_key_rel
+0x45af remote_car_double_motor_key_rel
+0x45b5 remote_car_send_motor1_key1_rel
+0x45b7 remote_car_send_motor2_key3_rel
+0x45b9 remote_car_send_double_motor_key3_rel
+0x45bc remote_car_send_attack_key5_rel
+0x45be remote_car_send_key
+0x45c0 remote_car_send_attack
+0x45c2 remote_car_g24_package_data
+0x45c7 remote_car_g24_package_data_continue
+0x45cc remote_car_g24_send_empty
+0x45d1 remote_car_moto_data
+0x45d5 remote_car_moto_data_next
+0x45dc remote_car_moto_data_enable_user
+0x45de shutter_init
+0x4609 shutter_hart_swtich_power_on
+0x460c shutter_le_scale_lpm_lock
+0x4612 shutter_process_bb_event
+0x4626 classic_shutter_process_baseband_connect
+0x4629 classic_shutter_process_baseband_disconnect
+0x462b classic_shutter_disconnect_clear_flag
+0x4631 classic_shutter_process_reconnect_failed
+0x4633 classic_shutter_process_setup_complete
+0x4635 classic_shutter_process_hid_connect
+0x4638 classic_shutter_process_hid_disconnect
+0x463c classic_shutter_process_hid_handshake
+0x4644 classic_shutter_process_reconnect_page_timeout
+0x4645 classic_shutter_process_virtual_cable_unplug
+0x4648 classic_shutter_process_remote_unsniff
+0x4649 classic_shutter_process_store_reconnect_information
+0x464f classic_shutter_load_reconn_info
+0x4658 ble_shutter_process_baseband_connect
+0x465c ble_shutter_process_baseband_disconnect
+0x465f ble_shutter_process_reconnect_complete
+0x4665 ble_shutter_process_parse_connect_parameter_update_response
+0x466b shutter_process_soft_swtich_button_long_press
+0x466c shutter_process_soft_swtich_button_down
+0x4672 shutter_store_currenct_led_state
+0x4677 shutter_process_soft_swtich_button_up
+0x467c shutter_load_currenct_led_state
+0x4686 shutter_le_bb_event_timer
+0x468c shutter_check_sleep_timer
+0x468f shutter_sleep_timeout
+0x4693 shutter_check_power_off_timer
+0x4696 shutter_check_power_off_timeout
+0x469e classic_shutter_check_unplug_timer
+0x46a1 classic_shutter_unplug_timeout
+0x46a6 classic_shutter_hid_handshake_timer
+0x46a9 classic_shutter_hid_disconn_timer
+0x46ac ble_shutter_reconn_timer
+0x46b1 shutter_process_idle
+0x46b3 shutter_process_lpm_before
+0x46b4 shutter_le_before_hibernate
+0x46b6 shutter_stop_bluetooth_discovery
+0x46ba ble_shutter_stop_bluetooth_discovery
+0x46be classic_shutter_stop_bluetooth_discovery
+0x46c2 shutter_start_bluetooth_discovery
+0x46c8 classic_shutter_start_discovery
+0x46cc ble_shutter_start_discovery
+0x46d9 shutter_start_reconnect
+0x46df classic_shutter_start_reconnect
+0x46e4 ble_shutter_start_reconnect
+0x46f0 shutter_ble_adv_interval_set
+0x46f4 shutter_disconnect_current_connection
+0x46f8 app_check_reconn_target
+0x46fc app_check_reconn_target_loop
+0x4701 found_reconn_device
+0x4708 shutter_check_data_enable
+0x470d shutter_check_bt_data_enable
+0x4710 shutter_check_ble_data_enable
+0x4713 shutter_check_bluetooth_conn
+0x4718 shutter_change_bluetooth_status_bt_disconn
+0x471c classic_shutter_change_bluetooth_status_bt_disconn
+0x471f ble_shutter_change_bluetooth_status_bt_disconn
+0x4720 shutter_check_send_data
+0x4729 shutter_key_change
+0x472d shutter_key_press
+0x4730 shutter_key_release
+0x4732 push_queue_press_or_release
+0x4735 push_buffer_in_queue
+0x473a shutter_send_data_to_master
+0x473e pop_queue_to_ble_data
+0x4746 le_send_notify_from_list
+0x474e pop_queue_to_classic_data
+0x4758 classic_send_hid_data
+0x4762 queue_push_one_byte
+0x4765 queue_pop_one_byte
+0x476a ble_shutter_receive_data
+0x476d shutter_init_param
+0x477a shutter_load_buffer_config_form_datarom
+0x4782 shutter_load_ble_gatt_form_datarom
+0x4785 shutter_load_bt_sdp_form_datarom
+0x4788 shutter_init_bluetooth_config
+0x4790 shutter_init_bluetooth_config_gpio_input
+0x4793 shutter_load_bluetooth_config
+0x4797 shutter_load_bluetooth_config_label
+0x47a9 shutter_load_bluetooth_config_read_gpio_input
+0x47ae shutter_check_load_config_flag
+0x47b4 shutter_load_bluetooth_config_by_otp
+0x47ba shutter_load_bluetooth_config_store_name
+0x47c7 shutter_load_bluetooth_config_by_eeprom
+0x47da shutter_load_bluetooth_config_by_user_config
+0x47e8 shutter_store_config
+0x47e9 shutter_load_bluetooth_config_custom
+0x47f0 shutter_random_mac_addr
+0x47f9 shutter_write_random_mac_addr_to_eeprom
+0x4802 shutter_write_random_mac_addr
+0x4806 shutter_soft_swtich_power_on
+0x4807 shutter_soft_swtich_power_off
+0x480b shutter_wait_power_off
+0x480e ui_soft_swtich_init
+0x4816 ui_soft_swtich_init_power_on_time
+0x481b ui_soft_switch_botton_up
+0x481f ui_soft_switch_botton_long_press
+0x4822 ui_soft_switch_power_on
+0x482a ui_soft_switch_power_off
+0x4830 shutter_byteswap
+0x483f shutter_random_addr_by_otp
+0x4849 sim_iic_read_eep_data
+0x4856 sim_iic_read_eep_data_2k
+0x485a sim_iic_read_eep_data_loop
+0x4860 sim_iic_write_eep_data
+0x486b sim_iic_write_eep_data_loop
+0x4871 sim_iic_wait_ack
+0x4875 sim_iic_wait_ack_loop
+0x4879 sim_iic_ack_slave
+0x487f sim_iic_read_byte
+0x4882 sim_iic_read_byte_loop
+0x488d sim_iic_send_byte
+0x4890 sim_iic_send_byte_loop
+0x489b sim_iic_start
+0x48a1 sim_iic_stop
+0x48a6 sim_iic_scl_output_high
+0x48a9 sim_iic_scl_output_low
+0x48ac sim_iic_sda_output_high
+0x48af sim_iic_sda_output_low
+0x48b2 sim_iic_config_gpio
+0x48be sim_iic_release_sda
+0x48c7 sim_iic_read_sda_level
+0x48d2 sim_iic_delay
+0x48d3 usb_isr
+0x48ea usb_init
+0x48fb usb_offline_check_init
+0x48fd usb_offline_state
+0x4903 usb_nak_state
+0x490b usb_mem_devicedesc_init
+0x4919 usb_init_param
+0x492b usb_tx_interval_config
+0x492e usb_nak_state_judge
+0x4931 usb_nak_state_timer_init
+0x4936 usb0_attached_state_judge
+0x493b usb_clear_halt_dispose
+0x4941 usb0_fifo_empty
+0x4943 usb_rx_no_data
+0x4946 usb_rx_read
+0x494a usb_status1
+0x4955 usb_class_type
+0x495a usb_in_device
+0x4962 usb_out_device
+0x496a usb_in_standard_req
+0x4970 usb_in_class_req
+0x4975 usb_in_manufacturer_req
+0x4976 usb_out_standard_req
+0x497e usb_out_class_req
+0x4983 usb_out_manufacturer_req
+0x4984 usb0_force_stall
+0x4988 usb0_reply_zerolen
+0x498a usb0_request_get_configuration
+0x499c usb0_request_get_cfg_dev_cfg
+0x499e usb0_request_get_cfg_dev_addr
+0x49a0 usb0_request_get_descriptor
+0x49a9 dsc_hid_info
+0x49ae dsc_hid_info_interface0
+0x49b2 dsc_hid_info_interface1
+0x49b6 dsc_device_info
+0x49ba dsc_info_set_data_len
+0x49bf dsc_info_set_initial_data_len
+0x49c0 dsc_info_set_data_size_completed
+0x49c5 dsc_info_set_current_data_len
+0x49c7 usb_set_high_addr
+0x49cb usb0_set_addr
+0x49cf dsc_config_info
+0x49d2 dsc_string_info
+0x49e0 dsc_hid_report_info
+0x49e5 dsc_hid_report_info0
+0x49ea usb0_request_get_interface
+0x49fc usb0_request_get_status
+0x4a0d usb0_get_status_in_device
+0x4a12 usb_send_zero_packet
+0x4a14 usb_send_ones_packet
+0x4a16 usb_send_two_packet
+0x4a18 usb0_get_status_in_interface
+0x4a1c usb0_get_status_in_endpoint
+0x4a25 usb0_get_status_in_ep_in_ep0
+0x4a26 usb0_get_status_in_ep_in_ack
+0x4a29 usb0_get_status_in_ep_in_ep1
+0x4a2b usb0_get_status_in_ep_in_ep2
+0x4a2d usb0_get_status_in_ep_in_ep3
+0x4a2f usb_get_idle
+0x4a33 usb_get_report
+0x4a38 usb_get_report_dispose
+0x4a3b usb_get_report_send_data
+0x4a3f usb_get_report_data_release
+0x4a42 usb_get_report_data_success
+0x4a45 usb_get_protocol_req
+0x4a4d usb_get_report_protocol
+0x4a4e usb_get_boot_protocol
+0x4a4f usb0_request_clear_feature
+0x4a5e usb0_request_clear_feature_out_device
+0x4a66 usb0_request_clear_feature_out_interface
+0x4a67 usb0_request_clear_feature_out_endpoint
+0x4a70 usb0_force_stall_ep0_in_off
+0x4a72 usb0_force_stall_ep1_in_off
+0x4a73 usb0_force_stall_ep1_in_off_reply
+0x4a75 usb0_force_stall_ep2_in_off
+0x4a77 usb0_force_stall_ep3_in_off
+0x4a79 usb0_request_set_feature
+0x4a82 usb0_request_set_feature_out_device
+0x4a8b usb_wakeup_timer_reinit
+0x4a8f usb0_request_set_feature_out_interface
+0x4a90 usb0_request_set_feature_out_endpoint
+0x4a9b usb0_force_stall_ep0_in_on
+0x4a9d usb0_force_stall_ep1_in_on
+0x4a9f usb0_force_stall_ep2_in_on
+0x4aa1 usb0_force_stall_ep3_in_on
+0x4aa3 usb0_request_set_address
+0x4ab4 usb_usb0_state_set_dev_default
+0x4ab5 usb0_request_set_wait_address
+0x4aba usb_usb0_state_set_dev_addr
+0x4abc usb0_request_set_configuration
+0x4ad1 usb0_request_set_cfg_cfg_state
+0x4ad5 usb0_request_set_cfg_stay_addr_state
+0x4ad7 usb0_request_set_interface
+0x4ae8 usb_set_idle
+0x4af5 usb_clear_remote_wakeup_set0
+0x4af9 usb_set_report
+0x4b03 usb_set_report_resume_judge
+0x4b11 usb_set_protocol_req
+0x4b17 usb_set_boot_protocol
+0x4b1a usb_set_report_protocol
+0x4b1e usb0_respond_length
+0x4b21 usb0_respond
+0x4b2c usb0_respond0
+0x4b30 usb0_respond1
+0x4b35 usb_no_respond_data
+0x4b37 usb0_tx
+0x4b3e usb0_tx_info
+0x4b43 usb0_tx0
+0x4b47 usb0_tx1
+0x4b52 usb_tx_ep1
+0x4b54 usb_tx_loop
+0x4b57 usb_trig
+0x4b5e usb_tx_ep2
+0x4b61 usb_tx
+0x4b6f usb_tx_data_ep1
+0x4b7a usb_tx_data_ep2
+0x4b86 usb_tx_fifo_release
+0x4b89 usb_tx_ms_data
+0x4b91 usb_tx_ms_data_mac_boot_mode
+0x4b92 usb_tx_ms_data_mac_boot_regroup
+0x4ba0 usb_tx_ms_data_normal_mode
+0x4ba1 usb_tx_mac_boot_ms_regroup_r_or_lrkey
+0x4ba4 usb_tx_kb_multikey_data
+0x4ba8 usb_tx_kb_normal_data
+0x4bac usb_inwake_state_tx_dispose
+0x4bb0 usb_clear_tx_wait
+0x4bb2 usb_mac_wakeup_trig
+0x4bb7 usb_mac_wakeup_judge
+0x4bbb usb_mac_wakeup
+0x4bbf usb_windows_wakeup
+0x4bc2 usb_wakeup
+0x4bc8 hci_rx_h4
+0x4bcb hci_rx_h4_1
+0x4bce hci_h4_parse_packet
+0x4bd8 hci_h4_parse_packet_wait_len
+0x4bdf hci_h4_parse_packet_wait
+0x4be6 h4_rx_discard_packet
+0x4bee h4_get_rx_payload_len
+0x4bf3 h4_get_rx_payload_len_acl
+0x4bf5 h4_get_tx_ptr
+0x4bf9 h4_send_packet_event
+0x4bfb h4_send_packet_acl
+0x4bfc h4_send_packet
+0x4c0b h4_send_acl_trigger_clear
+0x4c0e hci_init
+0x4c13 hci_lpm_init
+0x4c1a hci_reinit
+0x4c21 hci_init_common
+0x4c28 hci_sel_init
+0x4c2e hci_rx_packet
+0x4c37 hci_rx_packet_cont
+0x4c3a uart_send_byte
+0x4c3f process_hci_cmd
+0x4c44 process_hci_cmd_cont
+0x4c4d phci_grp_vendor_specific
+0x4c5c phci_grp_vendor_enter_lpm
+0x4c5f hci_enter_lpm
+0x4c62 hci_exit_lpm
+0x4c66 phci_grp_vendor_chipid
+0x4c6b phci_grp_vendor_baud
+0x4c6f phci_grp_vendor_patch_common
+0x4c7a phci_grp_vendor_patch
+0x4c7c phci_grp_vendor_patch_loop
+0x4c80 phci_grp_vendor_patch_check_sum
+0x4c85 phci_grp_vendor_patch_sec
+0x4c88 phci_grp_vendor_patch_sec_loop
+0x4c9c load_ucode_only_loop
+0x4ca0 load_uart_sum_loop
+0x4ca5 phci_grp_vendor_patch_sec_init
+0x4cb3 phci_grp_vendor_done
+0x4cb6 phci_grp_vendor_done_loop
+0x4cc4 phci_grp_vendor_patch_bad
+0x4cc6 phci_grp_vendor_bdaddr
+0x4cc9 phci_grp_vendor_mem
+0x4cd1 phci_grp_vendor_eep
+0x4cdc hci_normal_reply
+0x4cdd hci_command_complete
+0x4ce3 hci_send_event
+0x4ce9 hci_send_event_raw
+0x4ceb hci_send_packet
+0x4cec hci_send_commu_ready_event
+0x4cf2 hci_get_cmd_complete_ptr
+0x4cf4 hci_get_payload_ptr
+0x4cf6 hci_get_packet_ptr
+0x4cf7 hci_get_tx_ptr
+0x4cf8 calc_tx_crc16
+0x4cfa crcloop
+0x4d04 cmd_exit
+0x4d06 cmd_check_plap
+0x4d0a cmd_pair
+0x4d0f cmd_pair_passive
+0x4d17 cmd_in_sniff
+0x4d26 cmd_exit_sniff
+0x4d28 hci_idle_dispatch
+0x4d2f uart_wake_up
+0x4d33 hid_rx_process
+0x4d3f hid_rx_process_hid_control
+0x4d43 hid_rx_process_virtual_cable_unplug
+0x4d4a hid_rx_process_suspend
+0x4d4b hid_rx_process_set_report
+0x4d53 hid_rx_process_handshake
+0x4d5f hid_rx_process_data
+0x4d62 hid_rx_process_data_hid_kb
+0x4d63 hid_malloc_tx_buff
+0x4d6a l2cap_init
+0x4d6b l2cap_init_work
+0x4d6f l2cap_init_wake
+0x4d79 process_rx_l2cap_pkt
+0x4d85 l2cap_rx_multiplexing
+0x4d8a l2cap_rx_multiplexing0
+0x4d8f l2cap_check_map
+0x4d9b set_pdata_0
+0x4d9d l2cap_call_proc_signal
+0x4d9f l2cap_call_proc_signal0
+0x4da9 l2cap_call_proc_sigal_pending
+0x4db7 l2cap_sdp_conn_succ
+0x4dc3 l2cap_reset_sdp_map
+0x4dd3 check_l2cap_map
+0x4dd5 check_l2cap_map_loop
+0x4dda check_l2cap_map_used
+0x4dde check_l2cap_map_used2
+0x4de0 l2cap_call_proc_sdp
+0x4de8 ml2cap_call_proc_sdp
+0x4dec l2cap_call_proc_sdp_common
+0x4df3 l2cap_call_proc_hid
+0x4df5 l2cap_call_proc_rfcomm
+0x4dfb l2cap_call_proc_no_reply
+0x4dfc l2cap_rx_reset_state
+0x4e01 l2cap_process_signal_pkt
+0x4e08 l2cap_process_signal_pkt_loop
+0x4e10 l2cap_process_one_signal
+0x4e1e l2cap_process_one_signal_rtn
+0x4e1f l2cap_proc_signal_info_req
+0x4e2a l2cap_proc_signal_info_req_reply
+0x4e2d l2cap_proc_signal_info_req_ext
+0x4e33 l2cap_proc_signal_info_req_fix
+0x4e38 l2cap_proc_signal_info_req_common
+0x4e3a ml2cap_proc_signal_info_req
+0x4e49 l2cap_proc_signal_cmd_reject
+0x4e50 l2cap_proc_signal_cmd_reject_rtn
+0x4e51 l2cap_proc_signal_connect_req
+0x4e64 l2cap_proc_signal_connect_req_sdp
+0x4e6e store_l2cap_req_param
+0x4e7a restore_l2cap_req_param
+0x4e86 l2cap_proc_signal_connect_req_rfcomm
+0x4e92 l2cap_proc_signal_connect_req_hid_ctrl
+0x4e9d l2cap_proc_signal_connect_req_hid_int
+0x4ea9 send_connection_pending
+0x4ead send_connection_sdp_res
+0x4eb1 send_connection_res
+0x4eb3 send_connection_res0
+0x4ec4 connect_suc
+0x4ec9 connect_pending
+0x4ece already_connected
+0x4ed0 connect_req_update_byte_counts
+0x4ed4 l2cap_proc_signal_connect_req_rtn
+0x4ed5 l2cap_proc_signal_connect_rsp
+0x4eed l2cap_proc_signal_connect_rsp_sdp
+0x4ef3 l2cap_proc_signal_connect_rsp_rfcomm
+0x4ef9 l2cap_proc_signal_connect_rsp_hid_int
+0x4eff l2cap_proc_signal_connect_rsp_hid_ctrl
+0x4f05 l2cap_proc_signal_config_req
+0x4f1c l2cap_proc_signal_config_req_sdp
+0x4f26 l2cap_proc_signal_config_req_hid_ctrl
+0x4f30 l2cap_proc_signal_config_req_hid_int
+0x4f3a l2cap_proc_signal_config_req_rfcomm
+0x4f43 l2cap_send_config_rsp
+0x4f59 l2cap_send_config_rsp_is_sdp
+0x4f5a l2cap_check_channel_state
+0x4f64 l2cap_send_config_req_sdp
+0x4f6b l2cap_send_config_req_rfcomm
+0x4f72 l2cap_send_config_req_hid_ctrl
+0x4f79 l2cap_send_config_req_hid_int
+0x4f7f l2cap_generate_config_req
+0x4f97 l2cap_generate_config_req_rfcomm
+0x4f99 l2cap_generate_config_req_done
+0x4fa1 l2cap_proc_signal_config_req_rtn
+0x4fa2 l2cap_proc_signal_config_rsp
+0x4fba l2cap_proc_signal_config_rsp_sdp
+0x4fbe l2cap_proc_signal_config_rsp_rfcomm
+0x4fc2 l2cap_proc_signal_config_rsp_hid_ctrl
+0x4fc6 l2cap_proc_signal_config_rsp_hid_int
+0x4fcb l2cap_proc_signal_disconnect_req
+0x4fe6 l2cap_proc_signal_disconnect_req_hid_ctrl
+0x4fec l2cap_proc_signal_disconnect_req_hid_int
+0x4ff2 l2cap_proc_signal_disconnect_req_sdp
+0x4ff8 l2cap_disconnect_hid_control_now
+0x4ffa l2cap_disconnect_hid_interrupt_now
+0x4ffe l2cap_disconnect_sdp_now
+0x5002 l2cap_proc_signal_disconnect_req_rfcomm
+0x5008 l2cap_disconnect_rfcomm_now
+0x500a l2cap_send_disconnect_rsp_pkt
+0x5017 l2cap_proc_signal_disconnect_req_err_rtn
+0x5019 l2cap_proc_signal_disconnect_req_rtn
+0x501b l2cap_proc_signal_disconnect_rsp
+0x5035 l2cap_proc_signal_disconnect_rsp_sdp
+0x503b l2cap_proc_signal_disconnect_rsp_rfcomm
+0x5041 l2cap_proc_signal_disconnect_rsp_hid_ctrl
+0x5047 l2cap_proc_signal_disconnect_rsp_hid_int
+0x504d l2cap_proc_signal_disconnect_rsp_rtn
+0x504f l2cap_proc_signal_disconnect_rsp_err_rtn
+0x5050 l2cap_proc_signal_echo_req
+0x5060 l2cap_proc_signal_echo_rsp
+0x5061 l2cap_proc_signal_info_rsp
+0x5062 l2cap_reject_command
+0x506f l2cap_reset_rfcomm_channel_state
+0x5074 l2cap_reset_sdp_channel_state
+0x5079 l2cap_reset_hid_ctrl_state
+0x507f l2cap_reset_hid_int_state
+0x5085 l2cap_reset_hid_disconnected
+0x5087 l2cap_disconnect_interrupt_req
+0x5091 l2cap_disconnect_control_req
+0x509a l2cap_generate_disconnect_req
+0x50a8 ml2cap_send_signal_connect_req
+0x50b7 ml2cap_send_signal_config_req
+0x50cc ml2cap_send_signal_disconn_req
+0x50de ml2cap_send_signal
+0x50e7 msdp_send_req_done
+0x50ef ml2cap_rx_multiplexing
+0x50f9 ml2cap_call_proc_signal
+0x5102 ml2cap_proc_one_comm_loop
+0x5108 ml2cap_proc_one_comm
+0x5113 ml2cap_proc_signal_connect_req
+0x5116 ml2cap_proc_signal_cmd_reject
+0x511c mvptr
+0x5120 ml2cap_proc_signal_connect_rsp
+0x512e ml2cap_proc_signal_connect_refused_result
+0x5130 ml2cap_proc_signal_connect_rsp_mnosucc
+0x5132 ml2cap_proc_signal_connect_rsp_sucessful
+0x5141 ml2cap_proc_signal_connect_rsp_sdp
+0x5147 ml2cap_proc_signal_connect_rsp_rfcomm
+0x514d ml2cap_proc_signal_connect_rsp_hid_ctrl
+0x5153 ml2cap_proc_signal_connect_rsp_hid_int
+0x5158 mnosucc1
+0x5159 mnosucc
+0x515c ml2cap_proc_signal_config_rsp
+0x5176 ml2cap_proc_signal_config_rsp_sdp
+0x517a ml2cap_proc_signal_config_rsp_rfcomm
+0x517e ml2cap_proc_signal_config_rsp_hid_ctrl
+0x5182 ml2cap_proc_signal_config_rsp_hid_int
+0x5187 mcfrsdone
+0x5188 mcrsdone1
+0x5189 mloop2
+0x518d mcrsdone
+0x518e ml2cap_proc_signal_config_req
+0x51ad ml2cap_proc_signal_config_req_sdp
+0x51bb ml2cap_proc_signal_config_req_sdp_nsndreq
+0x51be ml2cap_proc_signal_config_req_rfcomm
+0x51c4 ml2cap_proc_signal_config_req_hid_ctrl
+0x51ca ml2cap_proc_signal_config_req_hid_int
+0x51cf mcfgrq_done
+0x51da mloop1
+0x51e0 mcrqdone
+0x51e1 ml2cap_proc_signal_disconn_req
+0x51fa ml2cap_proc_signal_disconn_sdp
+0x51ff ml2cap_proc_signal_disconn_hid_ctrl
+0x5201 ml2cap_proc_signal_disconn_hid_int
+0x5203 mclsrfc
+0x5205 mclssdp
+0x5213 ml2cap_proc_signal_disconn_rsp
+0x5227 ml2cap_proc_signal_disconn_rsp_sdp
+0x522a mdisdone
+0x522e ml2cap_proc_send_reject
+0x523a l2cap_get_req_id
+0x523e l2cap_get_req_id_ok
+0x5240 l2cap_malloc
+0x5247 l2cap_malloc_loop
+0x524f l2cap_malloc_next
+0x5255 l2cap_malloc_rtn
+0x5258 l2cap_malloc_fifo_out
+0x525d l2cap_malloc_free
+0x5264 l2cap_malloc_discard
+0x526e l2cap_malloc_is_fifo_full
+0x5271 l2cap_malloc_is_fifo_nearly_full
+0x5274 l2cap_malloc_is_fifo_empty
+0x5277 l2cap_malloc_fifo_get_first_ptr
+0x527a l2cap_malloc_free_loop
+0x527e l2cap_malloc_get_full_map
+0x5282 l2cap_malloc_get_full_map_loop
+0x5288 l2cap_malloc_into_fifo
+0x5295 l2cap_malloc_into_fifo_no_push
+0x5298 l2cap_malloc_into_fifo_loop
+0x52a0 l2cap_malloc_enough
+0x52a5 l2cap_malloc_enough_loop
+0x52b0 l2cap_malloc_enough_end
+0x52b6 l2cap_malloc_enough_rtn
+0x52b8 l2cap_malloc_signal_channel
+0x52c1 l2cap_get_signal_tx_buff
+0x52c3 l2cap_get_signal_tx_payload
+0x52c5 l2cap_malloc_sdp_channel
+0x52ce l2cap_get_sdp_tx_buff
+0x52d0 l2cap_get_sdp_tx_payload
+0x52d2 l2cap_malloc_rfcomm_channel
+0x52e0 l2cap_get_rfcomm_tx_buff
+0x52e2 l2cap_util_pdata_to_contw
+0x52e5 l2cap_lpm_save_calc_len
+0x52e9 l2cap_lpm_save_calc_len_loop
+0x52f5 l2cap_lpm_save_calc_len_end
+0x52f7 l2cap_lpm_get_wake_lock
+0x52f9 l2cap_lpm_put_wake_lock
+0x52fb l2cap_lpm_save_txbuf
+0x5306 l2cap_lpm_save_txbuf_loop
+0x530f l2cap_lpm_save_txbuf_nempty
+0x5318 l2cap_lpm_load_txbuf
+0x531f l2cap_lpm_load_txbuf_loop
+0x532e le_init_conn
+0x5340 le_init_master
+0x534c le_init_slave
+0x535c le_dispatch
+0x5360 le_conn_dispatch
+0x5366 le_master_dispatch
+0x5377 le_master_disconn
+0x537a le_slave_dispatch
+0x5388 le_slave_match
+0x5395 le_slave_cont
+0x539b le_slave_unsync
+0x53a0 le_check_md
+0x53a4 le_slave_more_data
+0x53a9 le_disconnect
+0x53af le_clear_connection_info
+0x53b7 le_got_first_packet
+0x53c4 le_enable
+0x53ce le_disable
+0x53d5 le_prep
+0x53de lerx_setfreq
+0x53e3 letx_setfreq
+0x53e4 letx_setfreq0
+0x53e6 le_setfreq
+0x53f3 le_ctf_normal
+0x53f6 le_ctf_low
+0x53f9 le_ctf_test
+0x53fc le_sca_map
+0x540c le_adv_access
+0x5413 le_setup
+0x541c le_setup_master
+0x5422 le_next_adv_channel
+0x5428 le_next_adv_channel_curr_channel_37
+0x542e le_next_adv_channel_curr_channel_38
+0x5434 le_next_adv_channel_curr_channel_39
+0x543a set_le_next_adv_channel_37
+0x543f set_le_next_adv_channel_38
+0x5444 set_le_next_adv_channel_39
+0x5449 le_context_nexthop
+0x5459 le_nexthop_nowrap
+0x545b le_calc_channel_map
+0x545f le_count_channels_loop
+0x5461 le_count_channels_notused
+0x5466 le_map_channel
+0x546c le_map_channel_next
+0x5472 le_map_channel_cont
+0x5474 le_map_channel_loop
+0x5477 le_map_channel_skip
+0x547c le_map_channel_end
+0x547f le_wait_tx
+0x5482 le_wait_master
+0x5485 le_receive_adv
+0x5489 le_receive_slave
+0x548e le_receive_packet
+0x548f le_receive_rxon
+0x549a le_receive_on_attempt
+0x54a1 le_receive_skip
+0x54ad lerx_loop
+0x54b1 lerx_nopayload
+0x54bf le_transmit_receive_sifs
+0x54c1 le_transmit_receive_sifs_notx
+0x54c7 le_transmit_norx
+0x54c9 le_transmit
+0x54cd le_transmit0
+0x54df letr_loop
+0x54e2 letr_nopayload
+0x54e9 le_send_adv_ind
+0x54f9 le_send_adv_direct_ind
+0x5504 le_send_adv_transmit
+0x550b le_send_scan_request
+0x551c le_send_scan_response
+0x552b le_connect_request
+0x5535 le_con_req_hop_retry
+0x5572 le_init_adv
+0x5575 le_update_param
+0x559d le_update_channel_map
+0x55aa le_acknowledge
+0x55bc le_ack_unenc
+0x55c0 le_check_wak
+0x55d2 le_set_enc
+0x55d6 le_clear_enc
+0x55e1 le_wait_adv
+0x55e8 le_scan
+0x5608 le_create_conn
+0x5619 le_scan_check_sender_addr_type
+0x561e le_prepare_tx
+0x5642 le_check_tx_md
+0x5649 le_check_continue
+0x5650 le_set_md
+0x5652 le_clear_md
+0x5654 le_update_tx_type
+0x5658 le_att_check_notification_enable
+0x5664 le_send_empty
+0x5666 le_send_packet
+0x5676 le_send_no_txlen
+0x567a get_lpm_wake_ble_rx_lock
+0x567c put_lpm_wake_ble_rx_lock
+0x567e le_parse
+0x568d le_parse_l2cap
+0x569a le_check_l2cap_complete
+0x569e le_check_l2cap_cid_legal
+0x56a9 le_check_l2cap_llid_start
+0x56bd le_check_l2cap_continue_legal
+0x56c1 le_check_l2cap_llid_continue
+0x56d7 le_get_search_att_type
+0x56d9 le_get_search_common
+0x56db le_get_search_common2
+0x56df le_get_search_att_uuid
+0x56e2 le_writeatt_cb
+0x56e4 le_supervision_update
+0x56ed le_supervision_flush
+0x56f0 le_adv
+0x56f2 le_adv_loop
+0x56f9 le_adv_loop_tx
+0x5706 le_adv_not_match
+0x5713 le_receive_window_size
+0x5728 le_parse_connect_req
+0x5756 le_init_attlist_search
+0x575f le_att_handle_inrange
+0x5768 le_att_handle_blank
+0x576a le_att_get_handle_ptr
+0x576d le_att_get_handle_ptr2
+0x5770 le_att_get_handle_loop1
+0x5779 le_att_get_handle_ptr_found
+0x577c le_att_get_short_uuid_ptr
+0x577f le_att_get_short_uuid_loop
+0x578a le_att_get_handle_info_from_ptr
+0x578c le_att_get_handle_info
+0x578e le_att_get_handle_info_fast
+0x5790 le_att_get_handle_loop
+0x5799 le_att_unfind_handle
+0x579a le_att_finded_handle
+0x57a3 le_modified_name
+0x57a6 le_modified_name_att_list
+0x57b5 le_name_length_longer_than_att
+0x57b8 le_modified_name_adv
+0x57c5 le_modified_name_adv_and_scan
+0x57d7 le_modified_name_adv_and_scan_store_data
+0x57dd le_modified_name_adv_and_scan_name_overflow
+0x57df le_modified_name_adv_loop
+0x57ea le_modified_name_adv_loop2
+0x57ee le_modified_name_adv_found_name
+0x57f0 memcpy_empty
+0x57f4 le_lpm_set_mult
+0x57f8 le_lpm_set_mult_attempt
+0x5806 le_lpm_lost
+0x580c le_set_config_fixed_tk
+0x580e le_clr_config_fixed_tk
+0x5810 le_set_config_fixed_ltk
+0x5812 le_clr_config_fixed_ltk
+0x5814 le_set_config_more_data
+0x5816 le_clr_config_more_data
+0x5818 le_set_config_read_authentication
+0x581a le_clr_config_read_authentication
+0x581c le_set_config_write_authentication
+0x581e le_clr_config_write_authentication
+0x5820 le_set_config_short_mult
+0x5822 le_clr_config_short_mult
+0x5824 le_set_config
+0x5828 le_clr_config
+0x582c le_set_fixed_ltk
+0x5839 le_set_justwork
+0x583f le_fifo_malloc_tx_empty
+0x5842 le_fifo_malloc_tx_ll
+0x5847 le_fifo_malloc_tx_l2cap
+0x5850 le_fifo_malloc_tx
+0x5855 le_fifo_malloc_tx_loop
+0x585a le_fifo_malloc_tx_got_empty
+0x5861 le_fifo_tx_find_empty_ptr
+0x5863 le_fifo_tx_find_empty_ptr_loop
+0x5869 le_fifo_tx_found_empty_ptr
+0x5873 le_fifo_get_first_tx_ptr
+0x5876 le_fifo_get_second_tx_ptr
+0x5879 le_fifo_get_last_tx_ptr
+0x587c le_fifo_get_last_tx_ptr0
+0x5884 le_fifo_get_first_l2cap_ptr
+0x5887 le_fifo_get_first_att_ptr
+0x588a le_fifo_get_last_att_ptr
+0x588d le_fifo_get_last_l2cap_ptr
+0x5890 le_fifo_check_full
+0x5892 le_fifo_check_nearly_full
+0x5894 le_fifo_check_empty
+0x5896 le_fifo_release_first_node
+0x589f le_fifo_release_first_node_loop
+0x58ab le_parse_att
+0x58ba le_send_att_exchange_mtu_requset
+0x58c1 le_parse_att_exchange_mtu_request
+0x58c2 le_send_att_exchange_mtu_response
+0x58c9 le_parse_att_exchange_mtu_response
+0x58cc le_parse_att_find_information_request
+0x58cf le_send_att_find_information_response
+0x58d1 le_send_att_find_information_res_loop
+0x58e1 le_send_att_find_information_res_store_info
+0x58ea le_send_att_find_information_res_cont
+0x58ed le_send_att_find_information_res_next
+0x58f0 le_send_att_find_information_res_end
+0x58f2 le_parse_att_find_by_type_value_request
+0x58fb le_start_end_handle_check_1
+0x5902 le_start_end_handle_check_1_fail
+0x5905 le_send_att_find_by_type_value_response
+0x590c le_send_att_find_by_type_value_res_primary
+0x5911 le_send_att_find_primary_search_loop
+0x5921 le_send_att_find_primary_search_loop1
+0x5925 le_send_att_error_response_notfound2
+0x5928 le_send_att_find_primary_search_end_start_handle_found
+0x5930 le_send_att_find_primary_search_end_ending_handle_found
+0x5936 le_send_att_find_primary_search_end
+0x593f le_parse_att_read_by_type_request
+0x5942 le_send_att_read_by_type_response
+0x5951 le_send_att_read_by_type_response_loop
+0x596b le_send_att_read_by_type_response_next_handle
+0x596d le_send_att_read_by_type_response_end
+0x596f le_send_att_read_by_type_res_found_next
+0x597d le_send_att_read_by_type_write_properties
+0x5984 le_send_att_read_by_type_write_uuid
+0x5990 le_send_att_read_by_type_res_not_characteristic
+0x5992 le_send_att_read_by_type_res_not_char_loop
+0x5998 le_send_att_read_by_type_res_not_char_common
+0x59a6 le_send_att_read_by_type_res_not_char_next
+0x59a8 le_send_att_read_by_type_res_device_name
+0x59bc le_parse_att_read_request
+0x59bf le_send_att_read_response
+0x59ca le_send_att_read_response_less
+0x59d3 le_send_device_name
+0x59dd le_send_att_read_response_check_auth
+0x59e4 le_parse_att_read_blob_request
+0x59e6 le_send_att_read_blob_response
+0x59f5 le_send_att_read_blob_response_less
+0x59fa le_parse_att_read_by_group_type_request
+0x59fd le_send_att_read_by_group_type_response
+0x5a05 le_send_att_read_by_group_type_response_loop
+0x5a19 le_send_att_read_by_group_type_store_write_record
+0x5a1f le_send_att_read_by_group_type_store_record
+0x5a23 le_send_att_read_by_group_type_next_handle
+0x5a25 le_send_att_read_by_group_type_end0
+0x5a28 le_send_att_read_by_group_type_end1
+0x5a2c le_send_att_read_by_group_type_end_common
+0x5a2f le_parse_att_write_request
+0x5a33 le_send_att_write_response_check_auth
+0x5a3d le_send_att_write_response
+0x5a42 le_check_encrypt_state
+0x5a48 le_parse_att_prepare_write_request
+0x5a4d le_send_att_prepare_write_response
+0x5a5b le_send_att_execute_write_response
+0x5a60 le_parse_att_write_command
+0x5a64 le_att_malloc_tx_notify
+0x5a6d le_att_malloc_tx_indication
+0x5a76 le_send_att_error_response_notfound
+0x5a77 le_send_att_error_response
+0x5a82 le_fifo_malloc_tx_l2cap_gatt
+0x5a84 le_att_next_handle
+0x5a88 le_att_check_handle_end
+0x5a8c le_att_same_type
+0x5a8e le_att_check_same_common
+0x5a94 le_att_same_uuid
+0x5a97 le_store_att_record
+0x5a9c le_write_att_record
+0x5aa1 le_write_att_record_common
+0x5aa5 le_send_auto_len_by_mem
+0x5ab1 le_get_search_handle_start_end_common
+0x5ab6 le_parse_signaling
+0x5abb le_l2cap_parse_conn_parameter_update_rsp
+0x5abf le_l2cap_tx_update_req
+0x5ac7 le_fifo_malloc_tx_l2cap_signaling
+0x5acf le_l2cap_update_signaling_identifier
+0x5ad3 le_l2cap_reset_signaling_identifier
+0x5ad5 le_pairing_mode_init
+0x5add le_set_pairing_mode_secure_justwork
+0x5adf le_set_pairing_mode_secure_numeric
+0x5ae2 le_set_pairing_mode_secure_passkey
+0x5ae4 le_set_no_pairing
+0x5ae5 le_set_noinputnooutput
+0x5ae7 le_set_pairing_mode_lagacy_just_work
+0x5ae9 le_set_pairing_mode_lagacy_passkey
+0x5aea le_set_displayonly
+0x5aec le_secure_connection_enable
+0x5af0 le_secure_connection_disable
+0x5af4 le_parse_smp
+0x5b02 le_send_smp_security_request
+0x5b09 le_parse_smp_pairing_request
+0x5b18 le_set_tk_0
+0x5b1b le_parse_smp_pairing_req_passkey
+0x5b1d le_genernate_tk
+0x5b24 le_parse_smp_pairing_req_fixed_passkey
+0x5b26 le_check_master_support_secure_connect
+0x5b2b le_send_smp_pairing_response
+0x5b30 le_parse_smp_pairing_confirm
+0x5b37 le_parse_smp_pairing_confirm_secure_passkey
+0x5b3d le_send_smp_pairing_confirm
+0x5b45 le_send_smp_pairing_confirm_sc
+0x5b4d le_parse_smp_pairing_random
+0x5b53 le_send_pairing_confirm_value_failed
+0x5b54 le_send_pairing_failed
+0x5b5a le_parse_smp_pairing_failed
+0x5b5f le_smp_pairing_fail_reason_not_support_pairing
+0x5b61 le_parse_smp_pairing_random_sc
+0x5b6c le_parse_smp_pairing_random_sc_passkey
+0x5b75 le_parse_smp_pairing_random_success
+0x5b7a le_send_smp_pairing_random
+0x5b80 le_parse_smp_encryption_information
+0x5b82 le_send_smp_encryption_information
+0x5b8a le_send_fixed_ltk
+0x5b8c le_send_smp_master_identification
+0x5b98 le_send_smp_identity_information
+0x5ba0 le_send_smp_identity_address_information
+0x5ba9 le_send_pairing_fail_unspecified_reason
+0x5bab le_check_init_key_distribution
+0x5baf le_parse_smp_identity_information
+0x5bb9 le_check_master_addr_type
+0x5bc0 le_parse_smp_identity_address_information
+0x5bc4 le_parse_smp_security_request
+0x5bc5 le_parse_smp_public_key
+0x5bca le_parse_smp_dhkey_check
+0x5bcf le_send_smp_pairing_public_key
+0x5bd5 le_send_smp_pairing_dhkey_check
+0x5bdb le_check_paring_time
+0x5be4 le_pairing_sm
+0x5bef le_pairing_sm_send_sec_req
+0x5bf5 le_pairing_sm_start
+0x5bf7 le_pairing_sm_rcv_pairing_req
+0x5bfb le_pairing_sm_after_auth
+0x5bfe le_pairing_sm_after_auth_start_enc
+0x5c07 le_pairng_sm_send_enc_information
+0x5c09 le_pairng_sm_send_master_indentification
+0x5c10 le_pairng_sm_send_indentity_information
+0x5c12 le_parse_start_enc_rsp_after_auth_end
+0x5c18 le_secure_connect_sm
+0x5c26 le_sc_sm_passkey_wait_confirm
+0x5c30 le_sc_sm_wait_confirm_gkey
+0x5c35 le_sc_confirm_gkey_ok
+0x5c39 le_sc_sm_receive_dhkey
+0x5c3d le_dhkey_ready
+0x5c41 le_dhkey_ready_common
+0x5c47 le_dhkey_check_fail
+0x5c49 le_dhkey_check_ok
+0x5c52 le_sc_sm_send_public_key
+0x5c55 le_sc_sm_ready_send_pairing_confirm
+0x5c56 le_sc_sm_send_public_key_passkey
+0x5c58 le_sc_sm_receive_public_key
+0x5c5c le_public_key_ready
+0x5c5f le_sc_sm_wait_send_public_key
+0x5c62 le_fifo_malloc_tx_l2cap_smp
+0x5c64 le_parse_ll
+0x5c7b le_parse_connection_update_req
+0x5c83 le_parse_channel_map_req
+0x5c8e le_parse_terminate_ind
+0x5c92 le_send_terminate_ind_user_terminated
+0x5c93 le_send_terminate_ind
+0x5c99 le_send_feature_rsp
+0x5c9f le_parse_version_ind
+0x5ca0 le_send_version_ind
+0x5ca6 le_parse_ping_req
+0x5ca8 le_send_ll_one_lenth
+0x5caa le_parse_enc_req
+0x5cbc le_parse_enc_req_after_auth
+0x5cbf le_parse_enc_req_fixed_ltk
+0x5cc4 le_ltk_lost
+0x5cc9 le_send_reject_ind
+0x5ccf le_send_enc_rsp
+0x5cdd le_send_start_enc_req
+0x5cdf le_send_start_enc_rsp
+0x5ce1 le_parse_enc_rsp
+0x5ce6 le_parse_start_enc_req
+0x5cea le_parse_start_enc_rsp
+0x5cef le_parse_pause_enc_req
+0x5cf3 le_send_pause_enc_rsp
+0x5cf5 le_parse_ping_rsp
+0x5cf6 init_lmp
+0x5cf7 init_lmp_work
+0x5d04 init_lmp_reinit
+0x5d07 parse_rx_done
+0x5d08 parse_lmp
+0x5d52 reject_unknown_packet
+0x5d53 reject_lmp_packet
+0x5d55 parse_lmp_clkoffset_req
+0x5d57 parse_enc_key_size_mask_req
+0x5d59 parse_lmp_set_afh
+0x5d66 parse_lmp_escape
+0x5d77 reject_unknown_ext_packet
+0x5d7a parse_lmpext_chn_classification_req
+0x5d7d parse_lmpext_iocap_req
+0x5d80 parse_lmpext_iocap_res
+0x5d82 iocap_lmpext_load
+0x5d86 iocap_lmpext_common
+0x5d88 parse_lmpext_accepted
+0x5d8d parse_lmpext_not_accepted
+0x5d92 parse_lmpext_accepted_ptt
+0x5d96 parse_lmpext_not_accepted_ptt
+0x5d9e parse_lmpext_pause_encrypt
+0x5da1 parse_lmpext_pause_encrypt_slave
+0x5da3 parse_lmpext_resume_encrypt
+0x5da5 parse_lmpext_features_req
+0x5da7 parse_lmpext_features_res
+0x5dad parse_lmpext_features_res_not_hci
+0x5db1 parse_lmp_accepted
+0x5dc2 parse_lmp_not_accepted
+0x5dcf parse_lmp_accepted_switch
+0x5dd2 parse_lmp_not_accepted_switch
+0x5dd8 parse_lmp_accepted_hostconn
+0x5dde parse_lmp_accepted_hostconn_ctn
+0x5de2 parse_lmp_not_accepted_hostconn
+0x5de7 parse_lmp_accepted_inrand
+0x5dee parse_lmp_accepted_enc_mode
+0x5df4 parse_lmp_accepted_enc_keysize
+0x5df5 parse_lmp_accepted_start_enc
+0x5dfd parse_lmp_accepted_stop_enc
+0x5dfe parse_lmp_not_accepted_aurand_send_detach
+0x5e01 parse_lmp_not_accepted_inrand
+0x5e07 parse_lmp_inrand_key_missing
+0x5e0a parse_lmp_not_accepted_name_req
+0x5e0b parse_lmp_not_accepted_simple_pairing_number
+0x5e0e parse_lmp_not_accepted_dhkey_check
+0x5e11 parse_lmp_not_accepted_unsniff_req
+0x5e13 parse_lmp_accepted_unsniff_req
+0x5e16 parse_lmp_accepted_sniff_req
+0x5e22 parse_lmp_not_acdcept_sniff_req
+0x5e24 parse_lmp_crypt_key
+0x5e27 parse_lmp_setup_complete
+0x5e2d parse_lmp_max_slot
+0x5e2e parse_lmp_max_slot_req
+0x5e36 parse_lmp_detach
+0x5e38 accept_lmp_msg
+0x5e3a parse_lmp_incr_power
+0x5e3c parse_lmp_decr_power
+0x5e3e parse_lmp_version_res
+0x5e42 parse_lmp_auto_rate
+0x5e43 parse_lmp_in_rand
+0x5e4e parse_lmp_inrand_res
+0x5e52 pop_tid_follow
+0x5e56 push_tid_follow
+0x5e5a parse_lmp_au_rand_moudle
+0x5e5f parse_lmp_au_rand
+0x5e6a parse_lmp_sres
+0x5e73 authentication_ok
+0x5e77 authentication_ok_common
+0x5e81 authentication_ok_conn_sm
+0x5e86 parse_lmp_comb_key
+0x5e90 parse_lmp_name_res
+0x5ea0 parse_lmp_name_res_end
+0x5ea5 parse_lmp_name_req
+0x5ea9 parse_lmp_conn_req
+0x5eaa parse_lmp_timing_accuracy_req
+0x5eac parse_lmp_features_req
+0x5eae parse_lmp_version_req
+0x5eb0 parse_lmp_supervision_timeout
+0x5eb1 parse_lmp_sniff_subrating_req
+0x5ebf parse_lmpext_packet_type_table_req
+0x5eca parse_lmp_min_power
+0x5ecb parse_lmp_page_mode_req
+0x5ecc parse_lmp_page_scan_mode_req
+0x5ecd parse_lmp_slot_offset
+0x5ed0 parse_lmp_sniff_req_check_sniff_para
+0x5ed6 parse_lmp_sniff_req
+0x5eed set_big_value_to_attempt
+0x5ef0 lmp_reject_sniff
+0x5ef2 parse_lmp_start_encryption_req
+0x5ef6 parse_lmp_stop_encryption_req
+0x5ef8 parse_lmp_switch_req
+0x5efd parse_lmp_switch_req_not_accept
+0x5f01 parse_lmp_switch_req_clear_mark
+0x5f04 parse_lmp_switch_accept
+0x5f0a parse_lmp_use_semi_permanend_key
+0x5f0b parse_lmp_unsniff_req
+0x5f10 parse_lmp_encapsulated_header
+0x5f19 parse_lmp_encapsulated_header_master
+0x5f1c parse_lmp_encapsulated_header_reject
+0x5f1e parse_lmp_accepted_encapsulated_header
+0x5f20 parse_lmp_accepted_simple_pairing_number
+0x5f23 parse_lmp_accepted_simple_pairing_number_common
+0x5f27 parse_lmp_accepted_simple_pairing_number_ssp_pin
+0x5f2b parse_lmp_accepted_simple_pairing_number_passkey
+0x5f31 authentication_passkey
+0x5f3b authentication_passkey_end
+0x5f3d parse_lmp_accepted_dhkey_check
+0x5f3e pairing_success
+0x5f43 parse_lmp_accepted_dhkey_check_common
+0x5f4b parse_simple_pairing_confirm
+0x5f51 parse_lmp_encapsulated_payload
+0x5f55 parse_encapsulated_payload_master
+0x5f62 parse_lmp_encapsulated_payload_completed
+0x5f68 parse_lmp_encapsulated_payload_reject
+0x5f6a parse_lmp_accepted_encapsulated_payload
+0x5f6e parse_lmp_encapsulated_payload_all_accepted
+0x5f75 parse_lmp_encapsulated_payload_all_accepted_get_passkey
+0x5f77 parse_lmp_encapsulated_payload_all_accepted_master
+0x5f78 parse_lmp_simple_pairing_number
+0x5f7c parse_lmp_simple_pairing_number_master
+0x5f86 parse_lmp_simple_pairing_number_master0
+0x5f88 parse_lmp_simple_pairing_number_reject
+0x5f8a parse_dhkey_check
+0x5f8e parse_dhkey_check_master
+0x5f95 number_comparison_successed
+0x5f9a parse_dhkey_check_master0
+0x5f9d parse_lmp_dhkey_check_reject
+0x5f9f number_comparison_mode
+0x5fa4 comparison_result
+0x5fa7 parse_lmp_clkoffset_res
+0x5fa8 parse_lmp_encryption_mode_req
+0x5fb3 parse_lmp_features_res
+0x5fb4 parse_lmp_features_res_not_hci
+0x5fba parse_lmp_send_conn
+0x5fbc parse_lmp_test_activate
+0x5fc1 parse_lmp_test_control
+0x5fc6 parse_lmp_test_xor
+0x5fda parse_lmp_test_control_exit
+0x5fdf parse_lmp_test_control_pattern
+0x5fe6 parse_lmp_test_control_loopback_nowhite
+0x5fe7 parse_lmp_test_control_loopback
+0x5ff3 parse_lmp_test_control_pause
+0x5ff9 lmp_copy_rand
+0x5ffc lmp_generate_key
+0x5ffe lmp_start_encryption
+0x6001 lmp_accept_inrand
+0x6006 lmp_disconnect
+0x600a send_lmp
+0x6010 send_lmp0
+0x603d send_lmp_error
+0x603f send_lmp_escape
+0x604a send_lmp_accepted
+0x6059 send_create_conn_start_l2cap_timer_sm
+0x605f send_lmp_accept_sniff_req
+0x6060 send_lmp_not_accepted
+0x6068 send_not_accept_aurand
+0x606d send_lmpext_accepted
+0x6076 send_lmpext_not_accepted
+0x6080 send_lmp_accepted_inrand
+0x6084 send_lmp_accepted_enc_mode
+0x608b send_lmp_accepted_enc_start
+0x608d send_lmp_accepted_enc_exit
+0x608f send_lmp_accepted_enc_key
+0x6092 send_lmp_accepted_connection
+0x6098 send_lmp_accept_dhkey_check
+0x6099 send_lmpext_features_res
+0x60a4 send_lmpext_io_cap_res
+0x60af responder_iocap_keyboard_only
+0x60b5 responder_iocap_display_yesno
+0x60bb responder_iocap_no_input_no_output
+0x60c1 set_ssp_mode_justwork
+0x60c5 set_ssp_mode_numeric_comparison
+0x60c7 set_ssp_mode_passkey
+0x60c9 classic_bt_set_reject_justwork_flag
+0x60cb classic_bt_clr_reject_justwork_flag
+0x60cd classic_bluetooth_set_flag
+0x60d1 classic_bluetooth_clr_flag
+0x60d5 send_lmp_io_cap_req
+0x60da send_lmpext_sniff_subrating_req
+0x60db send_lmpext_sniff_subrating_res
+0x60e4 send_lmp_name_res
+0x60ec send_lmp_name_res_offset_ok
+0x60f4 send_lmp_timing_accuracy_res
+0x60f9 send_lmp_clkoffset_res
+0x60ff send_lmp_clkoffset_res_master
+0x6103 send_lmp_version_res
+0x6108 send_lmp_features_res
+0x610d send_lmpext_features_req
+0x6118 send_lmpext_packet_type_table_req
+0x6124 ssp_enable
+0x612b ssp_disable
+0x6132 afh_init
+0x613c afh_open_all_channels
+0x6140 afh_reset_map
+0x6147 afh_clear_error_counter
+0x614a afh_set_send_flag
+0x614e send_lmpext_pause_encryption_req
+0x6152 send_lmp_detach
+0x6157 prepare_disconnect
+0x615c send_lmp_no_payload
+0x615f send_lmp_nopayload_reply
+0x6162 send_lmp_encryption_mode_req
+0x616a send_lmp_superto
+0x616f send_lmp_name_req
+0x6175 send_lmp_test_control
+0x6179 send_lmp_test_control_loop
+0x617e send_lmp_quality_of_service_req
+0x617f send_lmp_unit_key
+0x6180 send_lmp_slot_offset
+0x6191 send_lmp_slot_offset_reply
+0x6195 send_lmp_switch_req
+0x6199 switch_on_native
+0x619a switch_slack
+0x61a4 send_lmp_sniff_req
+0x61aa send_lmp_timing_accuracy_req
+0x61af send_lmp_unsniff_req
+0x61b2 send_lmp_max_slot
+0x61b7 send_lmp_max_slot_req
+0x61bc send_lmp_inc_power
+0x61c1 send_lmp_setup_complete_by_module
+0x61c3 send_lmp_setup_complete
+0x61d4 send_lmp_setup_complete_has_sent
+0x61d6 send_lmp_version_req
+0x61db send_lmp_features_req
+0x61e0 sp_master_send_io_cap_get
+0x61e5 sp_master_send_io_cap_send
+0x61e9 sp_master_send_lmp_encapsulated_header
+0x61ed sp_master_commitment_compare
+0x61f7 sp_master_commitment_compare_success
+0x61fb sp_master_send_lmp_simple_pairing_number
+0x61fd sp_send_lmp_encapsulated_header
+0x61ff send_lmp_encapsulated_header
+0x620b send_lmp_encapsulated_payload
+0x621a sp_send_lmp_simple_pairing_comfirm
+0x621d send_lmp_simple_pairing_comfirm
+0x6225 sp_send_lmp_simple_pairing_number
+0x6227 send_lmp_simple_pairing_number
+0x6233 master_sp_sm_end
+0x6234 sp_aurand_send
+0x6239 master_sp_send_lmp_dhkey_check
+0x623a sp_send_lmp_dhkey_check
+0x623c send_lmp_dhkey_check
+0x6246 send_lmp_enc_key_size_mask_res
+0x624b send_lmp_auto_rate
+0x624c send_lmp_clkoffset_req
+0x624d send_lmp_quality_of_service
+0x624e send_lmp_test_activate
+0x624f send_lmp_comb_key
+0x6259 send_lmp_inrand
+0x625c send_lmp_rand
+0x6264 send_lmp_aurand
+0x626a send_lmp_aurand_notpairing
+0x626b send_lmp_aurand_common
+0x626d send_lmp_sres
+0x627c send_lmp_sres_master
+0x627e send_lmp_sres_startenc
+0x6284 send_lmp_sres_startenc_slave
+0x6288 send_lmp_start_encryption
+0x628f send_lmp_stop_encryption_req
+0x6292 send_lmp_encryption_key_size_req
+0x6298 msg_send_lmp
+0x62a0 send_lmpext
+0x62a7 send_lmp_follow
+0x62ad send_lmp_tid
+0x62b0 send_lmp_reply
+0x62b2 send_lmp_request
+0x62b3 send_lmp_end
+0x62b7 send_lmp_exit
+0x62bc lmo_fifo_check
+0x62c1 lmo_fifo_process
+0x62c7 lmo_fifo_process_lmo0empty
+0x62d1 lmo_fifo_process_lmo2to1
+0x62d7 lmo_fifo_process_lmo1_empty
+0x62e2 special_tid_store
+0x62eb tid_reply
+0x62ef tid_initiate
+0x62f3 tid_check
+0x62f8 tid_set_reply
+0x62fc check_localsm
+0x62ff setlocalsm_master
+0x6303 setlocalsm_slave
+0x6307 check_localsm_master
+0x630b generate_random_number
+0x630c generate_random
+0x630d generate_random_loop
+0x6311 generate_linkkey
+0x631b process_conn_sm
+0x631e process_conn_sm_continue
+0x633a host_create_conn_done
+0x6340 host_conn_judge_encrypt
+0x6344 host_create_conn_done_wait
+0x6349 host_create_conn_auth
+0x634f host_create_conn_auth_wait
+0x6350 host_create_conn_pairing
+0x6355 host_create_conn_pairing_wait
+0x6356 host_creat_conn_send_feat_ext
+0x6359 host_create_conn_send_version
+0x635c host_creat_conn_wait_switch
+0x6364 host_create_conn_switch_accept
+0x6366 host_create_conn_send_features
+0x6369 host_create_conn_send_switch
+0x636f host_create_conn_send_conn_req
+0x6374 host_create_conn_wait_accept
+0x637a host_create_conn_resend
+0x637c host_create_conn_waiting
+0x637d host_create_conn_switch
+0x6386 host_create_conn_send_setup_complete
+0x6389 host_create_conn_wait_setup_complete
+0x638d host_create_conn_wait_setup_complete_rtn
+0x638f host_create_conn_master_detach
+0x6394 host_create_conn_send_detach
+0x6398 host_create_conn_auth_pair
+0x639b host_create_conn_sm_done
+0x639d host_create_conn_auth_pair_true
+0x63a9 host_create_conn_auth_pair_nokey
+0x63b0 host_create_conn_auth_pair_wait
+0x63b1 host_create_conn_encrypt
+0x63b5 host_create_conn_encrypt_start
+0x63ba host_create_conn_encrypt_wait
+0x63be host_create_conn_encrypt_wait_clear
+0x63c0 host_auth
+0x63c5 remote_auth
+0x63cb pincode_reinit
+0x63d1 twspi_reset
+0x63e0 twspi_reset2
+0x63ee twspi_disable
+0x63f2 twspi_enable
+0x63f6 twspi_enable2
+0x63fb sensor_read
+0x6405 sensor_write
+0x640d spi_ncs_gpio_init
+0x640f spi_ncs_enable
+0x6411 spi_ncs_disable
+0x6413 twspi_write
+0x6414 twspi_read
+0x6415 read_function_aes
+0x6419 read_function
+0x641c read_fuction_zero
+0x641e get_block_header
+0x641f get_block_header0
+0x6429 read_first_block
+0x6430 get_iv
+0x643c load_storage
+0x6446 load_storage_loop
+0x644d reload_eeprom
+0x6452 reload_eeprom_loop
+0x645b loadcode
+0x646e loadcode_otp
+0x646f loadcode_otp_2
+0x647b loadcode_iic
+0x647d loadcode_iic_2
+0x6486 loadcode_iic_eeprom_2k
+0x648e loadcode_spi
+0x648f loadcode_spi_2
+0x649b loadcode_hci
+0x649d loadcode_hci_enc
+0x64a1 loadcode_hci_loop
+0x64a3 clear_key_buf
+0x64aa loadcode_iic_by_eeprom
+0x64b0 loadcode_check_times
+0x64b6 loadcode_error
+0x64b9 set_ucode_status
+0x64c0 decrypt_code
+0x64c3 decrypt_code_loop
+0x64c6 decrypt_code_skip
+0x64ca load_ucode
+0x64d2 load_ucode_loop
+0x64d7 spid_init
+0x64da spid_init2
+0x64dd spid_init_common
+0x64e6 spid_reset
+0x64ec spid_write_reg
+0x64f3 spid_read_reg
+0x64f4 spid_read_regs
+0x64fc wait_spid_done
+0x6502 spid_init_flash
+0x650b spid_unlock_flash
+0x6514 flash_write
+0x651b flash_write_spi_sm_timer
+0x6522 flash_write_start
+0x6528 flash_erase_sector
+0x6530 flash_wait_erase_sector
+0x6537 flash_write_data
+0x653d flash_wait_write_data
+0x6545 flash_data_recover
+0x654a flash_data_preserve
+0x6552 spid_write_flash
+0x6556 spid_write_flash_common
+0x6562 spid_read_flash
+0x6574 spi_read_flash_wait
+0x6578 spid_load_flash
+0x6585 spi_load_flash_wait
+0x659a soft_reset_chip
+0x659c iic_init_390k
+0x65a3 iicd_init_12m
+0x65a9 iicd_init_gpio
+0x65b0 wait_iicd_done
+0x65b3 iicd_read_data
+0x65bf set_eeprom_size_2k
+0x65c2 clear_eeprom_size_2k
+0x65c5 iicd_read_eep_data_size_2k
+0x65c9 iicd_read_eep_size_2k_lcadcode
+0x65cc iicd_read_eep_size_2k
+0x65d1 iicd_write_protect_eep_data
+0x65d6 iicd_eeprom_write_enable
+0x65db iicd_wp_gpio_output_low
+0x65dd iicd_eeprom_write_disable
+0x65df iicd_read_eep_data
+0x65e5 iicd_read_eep
+0x65eb iicd_read_eep_common
+0x6601 iicd_read_eep_load_code_size_2k
+0x6606 iicd_write_eep_data
+0x6608 iicd_write_ota_data
+0x660d iicd_write_eep_loop
+0x661d iicd_eep_transparency
+0x662f iicd_eep_deal_short_packet
+0x6634 iicd_write_eep_size_2k
+0x663d iicd_write_eep
+0x664a iicd_write_eep_common
+0x6653 iic_check_eeprom_standby
+0x6655 iic_check_eeprom_standby_wait
+0x666a otp_enable_chgpump
+0x666d otp_disable_chgpump
+0x666f otp_set_addr
+0x6673 otp_write
+0x6675 otp_program
+0x6678 otp_program_bit
+0x6697 otp_skip_0
+0x66a0 otp_ce
+0x66a6 otpd_read_init
+0x66b0 otpd_wait_end
+0x66b3 otpd_read_data
+0x66b8 otpd_read_code
+0x66c2 uartd_prepare_tx
+0x66c5 uartd_send
+0x66c8 uartd_rxdone
+0x66cb uartd_prepare_rx
+0x66ce uart_set_baud_by_mem
+0x66d1 uart_copy_tx_bytes_fast
+0x66d3 uart_copy_tx_bytes_fast_loop
+0x66d8 uart_copy_tx_bytes_fast_loop_four
+0x66de uart_tx_8_bytes
+0x66e1 uart_tx_4_bytes
+0x66e4 uart_copy_tx_bytes
+0x66e6 uart_copy_tx_bytes_loop
+0x66ea uart_copy_rx_bytes_fast
+0x66ec uart_copy_rx_bytes_fast_loop
+0x66f1 uart_copy_rx_bytes_fast_loop_four
+0x66f7 uart_rx_8_bytes
+0x66fa uart_rx_4_bytes
+0x66fd uart_copy_rx_bytes
+0x66ff uart_copy_rx_bytes_loop
+0x6703 uart_copy_rx2tx
+0x6705 uart_copy_rx2tx_loop
+0x6709 app_store_nvram_event
+0x670b check_51cmd_update_device_record
+0x6711 write_device_record
+0x6715 write_device_loop_find
+0x6721 write_device_loop_find0
+0x6725 set_index_finded_device
+0x672b set_index_find_device_master_addr
+0x6730 store_rec_data_common
+0x6733 set_index_finded_device_ble_mode
+0x6737 set_index_finded_device_irk
+0x6739 store_ble_rec_data_common
+0x673b set_index_finded_device_ediv
+0x673e nvram_find_addr_from_bd_list
+0x6743 find_addr_from_bd_list_ble_mode
+0x674d find_addr_from_bd_list_static_addr
+0x6750 find_addr_from_bd_list_random_non_resolvable_private_address
+0x6752 find_addr_from_bd_list_random_addr
+0x6754 find_addr_from_bd_list_spp_mode
+0x6757 find_addr_from_bd_list_common
+0x675f nvram_find_addr_from_list
+0x676f nvram_find_addr_from_list_compare
+0x6771 find_master_addr_from_list_compare
+0x6776 find_addr_from_list_compare_ble_mode
+0x6779 find_irk_form_list_compare
+0x678b genernate_master_macaddress
+0x6794 find_ediv_form_list_compare
+0x67a3 check_nvram
+0x67a9 init_device_list
+0x67ad init_device_list_loop
+0x67b2 load_device_list
+0x67bc clear_key_exists
+0x67be load_device_list_mode_4
+0x67ca clear_ltk_exists
+0x67cc eeprom_store_le_reconn_info
+0x67d0 eeprom_store_bd_reconn_info
+0x67d3 eeprom_store_reconn_info
+0x67d7 check_link_key_load
+0x67dd gpio_set_wake_by_current_state
+0x67e1 gpio_set_wake
+0x67ed gpio_clr_wake
+0x67f9 gpio_config_input_nowake
+0x67fb gpio_config_input
+0x67fe gpio_config_input_without_wake
+0x6806 gpio_set_high_impedance
+0x680e gpio_config_output
+0x6812 gpio_config_output0
+0x6815 gpio_common
+0x681b gpio_check_active
+0x681d gpio_get_bit
+0x681e get_bit_common
+0x6823 gpio_get_bit_reverse
+0x6825 gpio_out_inactive
+0x6829 gpio_out_active
+0x682c gpio_out_flag
+0x682f gpio_out
+0x6830 gpio_set_bit
+0x6835 gpio_set_before_lpm_common
+0x6874 neglect2_from_6_pin
+0x6876 neglect4_from_9_pin
+0x6878 neglact4_from_23_pin
+0x687a neglact2_form_25_pin
+0x687c neglact2_form_30_pin
+0x687e neglact2_form_2_pin
+0x6880 neglact_1_pin
+0x6882 neglact_4_pin
+0x6884 neglect_2_pin
+0x6885 neglect_pin_loop
+0x6889 gpio_cfg_uart_tx_output
+0x688c gpio_pu_uart_tx
+0x688f gpio_rx_config_input_with_pu
+0x6895 gpio_uart2gpio
+0x6899 gpio_check_uart_state
+0x689c load_chip_option
+0x68a2 load_adc_init
+0x68a8 adc_init_data
+0x68af adc_init_data_vinlpm
+0x68b8 adc_check_data_vinlpm
+0x68bc adc_check_2v_vinlpm
+0x68c0 set_vdd_reference_voltage_1v
+0x68c3 adc_init_data_hvin
+0x68cc adc_check_data_hvin
+0x68d0 adc_check_1v_hvin
+0x68d4 set_vdd_reference_voltage_4v
+0x68d7 adc_init_data_io
+0x68e0 adc_check_data_io
+0x68e4 adc_check_0_5v_io
+0x68e8 set_vdd_reference_voltage_0_5v
+0x68eb adc_set_mode
+0x68f0 adc_check_vinlpm
+0x68f2 adc_check_hvin
+0x68f4 adc_check_gpio
+0x68f8 read_adc
+0x6908 vdd_calculate_by_mode
+0x690e vdd_calculate_vinlpm
+0x6912 vdd_calculate_hvin
+0x6916 vdd_calculate_io
+0x691a vdd_calculate
+0x6923 vdd_calculate2
+0x6927 vdd_calculate1
+0x6930 adc_bat_percent_lowpower_out
+0x6940 adc_set_low_power_flag
+0x6944 adc_set_no_power_flag
+0x6948 keyscan_key_init
+0x694a keyscan_key_init_next
+0x694f keyscan_key_init_lp1
+0x6953 keyscan_key_init_end
+0x6954 keyscan_scan_key
+0x6959 keyscan_scan_key_lp1
+0x6964 keyscan_scan_key_lp1_next
+0x696c keyscan_process_lpm_before
+0x696e keyscan_process_lpm_before_next
+0x6973 keyscan_process_lpm_before_lp1
+0x6977 keyscan_process_lpm_before_end
+0x6978 keyscan_key_process
+0x6983 keyscan_key_process_next
+0x698c keyscan_key_lp1
+0x6998 keyscan_key_lp1_next
+0x69a1 keyscan_send_key_data
+0x69a6 pwm_init
+0x69ae pwm_out_set
+0x69be pwm_duty_cycle_set
+0x69c4 pwm_pwm0_duty_set
+0x69c6 pwm_pwm1_duty_set
+0x69c8 pwm_pwm2_duty_set
+0x69ca pwm_pwm3_duty_set
+0x69cc pwm_pwm4_duty_set
+0x69ce pwm_pwm5_duty_set
+0x69d0 pwm_set_pncnt
+0x69d5 pwm_enable
+0x69d7 pwm_disable
+0x69d8 pwm_gpio_set
+0x69e3 pwm_gpio4_set
+0x69e5 pwm_gpio5_set
+0x69e7 pwm_gpio27_set
+0x69e9 pwm_gpio28_set
+0x69eb pwm_gpio3_set
+0x69ed pwm_gpio8_set
+0x69ef pwm_gpio20_set
+0x69f1 pwm_gpio21_set
+0x69f3 pwm_gpio22_set
+0x69f5 pwm_gpio23_set
+0x69f7 pwm_set_select
+0x69ff pwm_one_set_select
+0x6a01 pwm_tw0_set_select
+0x6a03 rfcomm_init
+0x6a0d rfcomm_init_spp
+0x6a16 rfcomm_init_spp_with_credit
+0x6a18 set_cr_bit
+0x6a1a rfcomm_calculate_fcs_sabm
+0x6a26 rfcomm_calculate_fcs_ua
+0x6a2f rfcomm_calculate_fcs_dlci0
+0x6a33 rfcomm_calculate_fcs_dlci0_res
+0x6a35 rfcomm_save_fcs_uih
+0x6a44 caculate_uihdata_fcs
+0x6a50 caculate_fcs
+0x6a5d mod2div
+0x6a61 mod2div_loop
+0x6a66 mod2div_not_enough_reduction
+0x6a70 mod2div_end
+0x6a72 get_rfcomm_snd_adss
+0x6a73 dlci_to_address_cmd
+0x6a79 channel_to_dlci
+0x6a7d rfcomm_rx_process_dlci0_sabm
+0x6a86 rfcomm_rx_process_dlci0_ua
+0x6a8a rfcomm_rx_process
+0x6a8e rfcomm_rx_process_remote_page
+0x6a94 parse_dlci0_rp
+0x6a9b parse_dlci0_rp_uih
+0x6aa5 parse_dlci0_rp_uih_pn_cmd
+0x6aa7 parse_dlci0_rp_uih_pn_cmd_spp
+0x6aad parse_dlci0_rp_uih_pn_res
+0x6aaf parse_dlci0_rp_uih_pn_res_common
+0x6ab1 get_rfcomm_param_modem_status
+0x6ab8 get_rfcomm_head_struct
+0x6abe get_rfcomm_current_length
+0x6ac3 get_rfcomm_uih_head_struct
+0x6acb get_param_payload_ptr
+0x6ace get_rfcomm_length_common
+0x6ad7 get_rfcomm_prarmer_negotiation
+0x6ae6 parse_dlci0_rp_uih_ms_cmd
+0x6ae8 parse_dlci0_rp_uih_ms_cmd_spp
+0x6af2 parse_dlci0_rp_uih_ms_res
+0x6af9 parse_dlci0_rp_uih_ms_res_spp
+0x6afd parse_dlci0_rp_uih_cmd_port
+0x6b18 parse_uih_rp
+0x6b19 parse_uih_rp_spp
+0x6b21 parse_uih_rp_spp_ua
+0x6b25 parse_uih_rp_spp_sabm
+0x6b37 parse_uih_spp_uih_credits
+0x6b3f parse_uih_spp_uih
+0x6b40 parse_uih_spp_uih_cont
+0x6b44 parse_uih_rp_spp_disconn_send_event
+0x6b46 parse_uih_rp_spp_disconn
+0x6b4c rfcomm_rx_process_reconn
+0x6b52 parse_dlci0_reconn
+0x6b58 parse_dlci0_reconn_uih
+0x6b61 parse_dlci0_reconn_uih_pn_cmd
+0x6b68 parse_dlci0_reconn_uih_pn_cmd_spp
+0x6b6c parse_dlci0_reconn_uih_ms_cmd
+0x6b73 parse_dlci0_reconn_uih_ms_cmd_spp
+0x6b7c parse_dlci0_reconn_uih_ms_res
+0x6b82 parse_dlci0_reconn_uih_ms_res_spp
+0x6b86 parse_uih_reconn
+0x6b8c parse_uih_reconn_spp
+0x6b91 parse_uih_reconn_spp_ua
+0x6b95 parse_uih_reconn_spp_sabm
+0x6b96 parse_uih_reconn_spp_disconn
+0x6b97 rfcomm_rx_process_end
+0x6b98 rfcomm_send_more_pkt
+0x6b9c rfcomm_send_more_pkt_msc_cmd_spp
+0x6ba1 rfcomm_send_more_pkt_msc_cmd_spp0
+0x6ba9 rfcomm_send_sabm
+0x6bb6 rfcomm_send_ua
+0x6bc4 rfcomm_send_param_neg_cmd
+0x6be0 rfcomm_send_param_neg_res
+0x6bfc rfcomm_send_modem_status_cmd
+0x6c11 rfcomm_send_modem_status_res
+0x6c28 rfcomm_send_uih_without_payload
+0x6c42 rfcomm_increase_credit_given
+0x6c4b spp_process_rx_data
+0x6c4d spp_tx_rfcomm_packet
+0x6c57 ssp_tx_rfcomm_from_uart
+0x6c5f ssp_tx_rfcomm_from_uart_without_credit
+0x6c64 ssp_tx_rfcomm_from_uart_common
+0x6c6b ssp_tx_rfcomm_from_uart_common0
+0x6c95 ssp_tx_write_length
+0x6c9d ssp_tx_write_long_packet
+0x6ca6 ssp_tx_write_given_credit
+0x6caa scheduler_process
+0x6cbb scheduler_process0
+0x6cbe scheduler_tx_disconnect_hid
+0x6cc2 scheduler_tx_l2cap_pkt
+0x6cdd scheduler_tx_l2cap_start_pkt
+0x6ce9 scheduler_tx_l2cap_last_pkt
+0x6ceb scheduler_tx_l2cap_pkt_end
+0x6cef scheduler_start_upper_sm
+0x6cf3 scheduler_start_upper_sm_hid
+0x6cf5 process_upper_sm
+0x6cf7 process_upper_sm_remote_page
+0x6cfa process_upper_sm_rp_wait
+0x6cfb process_upper_sm_reconn
+0x6d1a process_upper_sm_reconn_wait
+0x6d1b process_upper_sm_reconn_sdp_conn
+0x6d21 process_upper_sm_reconn_sdp_cfg
+0x6d2b process_upper_sm_reconn_ss_spp
+0x6d30 process_upper_sm_reconn_sdp_disconn
+0x6d33 process_upper_sm_reconn_hid_ctrl_conn
+0x6d39 process_upper_sm_reconn_hid_ctrl_cfg
+0x6d3f process_upper_sm_reconn_hid_int_conn
+0x6d45 process_upper_sm_reconn_hid_int_cfg
+0x6d4b process_upper_sm_reconn_rfcomm_conn
+0x6d51 process_upper_sm_reconn_rfcomm_cfg
+0x6d57 process_upper_sm_reconn_rfcomm_sabm
+0x6d5d process_upper_sm_reconn_spp_cmd_pn
+0x6d63 process_upper_sm_reconn_spp_sabm
+0x6d6e process_upper_sm_reconn_spp_cmd_ms
+0x6d74 process_upper_sm_reconn_sdp_conn_wait
+0x6d78 process_upper_sm_reconn_sdp_cfg_wait
+0x6d7b process_upper_sm_reconn_ss_spp_wait
+0x6d80 process_upper_sm_reconn_sdp_disconn_wait
+0x6d86 process_upper_sm_reconn_hid_ctrl_conn_wait
+0x6d8a process_upper_sm_reconn_hid_ctrl_cfg_wait
+0x6d8e process_upper_sm_reconn_hid_int_conn_wait
+0x6d92 process_upper_sm_reconn_hid_int_cfg_wait
+0x6d97 process_upper_sm_reconn_rfcomm_conn_wait
+0x6d9b process_upper_sm_reconn_rfcomm_cfg_wait
+0x6d9f process_upper_sm_reconn_rfcomm_sabm_wait
+0x6da4 process_upper_sm_reconn_spp_cmd_pn_wait
+0x6da8 process_upper_sm_reconn_spp_sabm_wait
+0x6dac process_upper_sm_reconn_spp_cmd_ms_wait
+0x6daf process_upper_sm_reconn_setup_hid
+0x6db1 process_upper_sm_reconn_setup_rfcomm
+0x6db3 process_upper_sm_reconn_setup_spp
+0x6db5 process_upper_sm_reconn_termination
+0x6db7 upper_sm_send_sdp_conn
+0x6dbe upper_sm_send_sdp_cfg
+0x6dc3 upper_sm_send_sdp_disconn
+0x6dcd upper_sm_send_ss_spp
+0x6dd1 upper_sm_send_rfcomm_conn
+0x6dd8 upper_sm_send_rfcomm_cfg
+0x6ddd upper_sm_send_hid_ctrl_conn
+0x6de4 upper_sm_send_hid_ctrl_cfg
+0x6de9 upper_sm_send_hid_int_conn
+0x6df0 upper_sm_send_hid_int_cfg
+0x6df5 upper_sm_send_rfcomm_sabm
+0x6dfc upper_sm_send_spp_cmd_pn
+0x6e02 upper_sm_send_spp_sabm
+0x6e0c upper_sm_send_spp_cmd_ms
+0x6e11 sdp_process
+0x6e2c sdp_process_ss_req
+0x6e4c ss_req_loop
+0x6e4f ss_req_blank
+0x6e54 sdp_process_sa_req
+0x6e5f sa_isnot_wholerange
+0x6e62 sa_judge_wholerange
+0x6e6b sa_judge_wholerange_false3
+0x6e6d sa_judge_wholerange_false2
+0x6e6f sa_judge_wholerange_false1
+0x6e71 sa_req_loop
+0x6e74 sa_req_range
+0x6e7a sa_req_range_id_increase
+0x6e83 sa_req_range_id_finish
+0x6e86 sa_req_one_id
+0x6e8b sa_req_check_next_id
+0x6e92 sa_req_handle_attributelist_next
+0x6ea2 sa_req_handle_attributelist_notfound
+0x6ea5 sa_req_handle_attributelist_end
+0x6eaa sdp_store_continue_common
+0x6eae sdp_store_continue_0byte
+0x6eb0 sdp_store_continue_1byte
+0x6eb3 sdp_store_continue_2byte
+0x6eb6 sdp_store_continue_end
+0x6eb8 sa_req_all
+0x6eda sa_req_all_fisrt_fragment
+0x6ede sa_req_all_parlength_continue_byte
+0x6ee1 sa_req_all_parlength_continue_byte_end
+0x6ee7 sa_req_all_fragment_sdp
+0x6ef5 sa_req_all_answer_attributelist_full_loop
+0x6efe sa_req_all_last_frag_continue
+0x6f00 sa_req_all_frag_end
+0x6f02 sdp_process_ssa_req
+0x6f0c ssa_req_loop
+0x6f1c ssa_req_attributelist_next
+0x6f27 ssa_req_attributelist_notfound
+0x6f29 ssa_req_attributelist_end
+0x6f2e sdp_store_maxbyte
+0x6f36 ssa_req_range
+0x6f47 ssa_req_range_find_handle
+0x6f4f ssa_req_range_later_freg_with_continue
+0x6f57 ssa_req_range_send_not_maxbyte
+0x6f5e ssa_req_range_maxbyte_with_continue
+0x6f61 ssa_req_range_maxbyte_with_continue_cpy
+0x6f67 ssa_req_range_next_handle
+0x6f6c ssa_req_range_get_length
+0x6f75 ssa_req_range_first_freg
+0x6f7f ssa_req_range_firstfreg_not_maxbyte_with_continue
+0x6f81 ssa_req_range_freg_no_continue
+0x6f83 ssa_req_range_lastfreg
+0x6f84 ssa_req_range_lastfreg_common
+0x6f8f ssa_req_range_firstfreg_maxbyte_with_continue
+0x6f94 ssa_req_range_attrbutes_length
+0x6f9a ssa_req_range_attrbutes_length_no_continue
+0x6fa0 ssa_req_range_freg_with_continue
+0x6fb0 ssa_req_range_common
+0x6fba sdp_process_error_res
+0x6fbb sdp_invalid_service_record_handle
+0x6fbe sdp_invalid_pdu_size
+0x6fc1 sdp_insufficient_resource
+0x6fc4 sdp_invalid_request_syntax
+0x6fc6 sdp_error_response
+0x6fd0 ask_serviceclassid
+0x6fd5 classidloop
+0x6fde skip2bytes
+0x6fe7 frstbwrong
+0x6fea scndbwrong
+0x6ff3 cmp032
+0x6ff6 cmp016
+0x6ff8 cmpuuid
+0x6ffe uuidsize
+0x7019 wrong12b
+0x701a wrong12b1
+0x701e chck12dn
+0x7020 loopornot
+0x7026 asksrv_error
+0x7028 dataelementtype6
+0x7037 dsize32
+0x7039 dsize16
+0x703c dsize
+0x703e dsize_error
+0x7040 ss_empty_rsp
+0x7043 sa_empty_rsp
+0x7046 ssa_empty_rsp
+0x7048 empty_response
+0x7057 fullsearch
+0x7059 outempty
+0x705b sdp_data_len
+0x7062 sdp_get_data
+0x7066 sdp_get_data_type0
+0x7069 sdp_get_data_type_not0_sizeindex01234
+0x706c sdp_get_data_type_not0
+0x7073 sdp_get_data_type_not0_sizeindex5
+0x7076 sdp_get_data_type_not0_sizeindex6
+0x707a sdp_get_data_type_not0_sizeindex7
+0x7082 search_all_uuid
+0x7086 search_all_uuid_llop
+0x708d search_uuid
+0x7090 search_uuid_next
+0x7096 search_uuid_loop
+0x709a search_uuid_not_found
+0x70a0 search_uuid_check_same_handle
+0x70a6 search_uuid_store_handle
+0x70ad search_uuid_nomatch
+0x70b1 search_handle
+0x70b4 search_handle_loop
+0x70c6 search_attrib
+0x70c9 search_attrib_next
+0x70cc search_attrib_loop
+0x70d4 search_attrib_found_uuid
+0x70da search_attrib_loop_attribs
+0x70e4 search_attrib_end
+0x70e7 search_handle_attrib
+0x70ea search_handle_attrib_next
+0x70f4 search_handl_attrib_found_handle
+0x70f6 search_handle_attrib_loop_attribs
+0x7100 search_handle_attrib_end
+0x7102 search_rfcomm_cn
+0x710d search_uuid_in_data
+0x7110 search_uuid_in_data_loop
+0x7120 search_uuid_in_data_found_element_index5
+0x7123 search_uuid_in_data_found_element_index6
+0x7126 search_uuid_in_data_found_element_index7
+0x7129 search_uuid_in_data_found_uuid
+0x712f search_uuid_in_data_type_uuid_128
+0x7130 search_uuid_in_data_type_uuid_32
+0x7132 search_uuid_in_data_type_uuid_16
+0x7138 sdp_send_spp_request
+0x714f function_g2
+0x7166 function_f6_eb
+0x7176 get_r
+0x717a function_f6_ea
+0x718d function_f5
+0x719f function_f5_common
+0x71b0 store_addr_common_b
+0x71b5 store_addr_common_a
+0x71ba function_f4_ca
+0x71c5 function_f4_cb
+0x71d0 function_aes_cmac
+0x71d4 function_ceil16
+0x71e2 function_aes_cmac_set_flag_0_balnk
+0x71e5 function_aes_cmac_set_flag_0
+0x71e6 function_aes_cmac_set_flag_0_common
+0x71f0 function_aes_cmac_aes
+0x71f3 function_aes_cmac_aes_loop
+0x71f9 function_aes_cmac_aes_loop_end
+0x7201 load_inverse_result
+0x7205 store_inverse_k
+0x7207 inverse_k
+0x720a inverse_memdat
+0x720e bn_lshift_0_inverse
+0x7218 function_aes_cmac_k1_inverse
+0x7219 function_aes_cmac_inverse_common
+0x721d function_aes_cmac_k2_inverse
+0x721f function_aes_cmac_generate_subkey
+0x7227 function_aes_cmac_k1
+0x7230 function_aes_cmac_k1_0
+0x7231 function_aes_cmac_k2
+0x723a function_aes_cmac_xor_rb
+0x723b function_aes_cmac_xor_rb_loop
+0x7241 function_aes_cmac_xor_loop_common
+0x7245 function_aes_cmac_padding
+0x7248 function_aes_cmac_padding_loop
+0x724d function_aes_cmac_padding_loop2
+0x7250 function_aes_cmac_padding_beq_length
+0x7251 function_aes_cmac_padding_common
+0x7253 function_aes_cmac_padding_big_length
+0x7255 generate_kinit
+0x7259 function_e21
+0x7268 function_e22
+0x726e function_e22_pin_init
+0x726f function_e22_genx_pin
+0x7272 function_e22_genx_loop
+0x727c function_e22_genx_end
+0x7288 function_e1
+0x728b function_e3
+0x7292 function_hash
+0x72a8 function_ar
+0x72b1 function_ar_loop
+0x72b9 function_ar_original
+0x72cf key_scheduling
+0x72d5 key_rotateloop
+0x72e0 key_select_octet_loop
+0x72e5 key_select_octet_nwrap
+0x72ef bias_round_key_loop
+0x72f6 key_sched_zero
+0x72f8 create_byte_16_loop
+0x7300 xor_mod32
+0x7301 xor_mod32_ar2
+0x7304 xor_mod32_loop
+0x730a xor_mod32_invert
+0x730d xor_even
+0x7313 el_boxes
+0x7316 el_box_loop
+0x731c e_boxes
+0x7322 pht
+0x7325 pht_loop
+0x7331 permute
+0x7340 permute_exchange
+0x7341 permute_loop
+0x7350 add16
+0x7352 xor16
+0x7353 xor_add16
+0x7354 xoradd_loop
+0x7359 xoradd_add
+0x735a xoradd_store
+0x735f function_expand
+0x7365 expand_12
+0x7366 expand_cont
+0x736a key_offset
+0x7379 key_addxor
+0x737a key_addxor_loop
+0x737e key_add
+0x7380 key_high
+0x7381 key_xor
+0x7382 key_store
+0x7386 copy_aco
+0x738b concatenate_temp24
+0x738c concatenate_temp16
+0x738f loop1
+0x7390 generate_stk
+0x7394 authenticate_rconfirm
+0x7397 authenticate_mconfirm
+0x739c generate_confirm
+0x739f generate_mrand
+0x73a2 generate_sk
+0x73ab first_block_counter
+0x73ad first_block_data
+0x73ae first_block
+0x73c1 generate_mic
+0x73d0 generate_mic_loop
+0x73d5 generate_mic_end
+0x73d9 aes_crypt_data
+0x73e3 le_encrypt
+0x73fb le_decrypt
+0x73ff le_dec_cont
+0x741d wait_aes
+0x741f do_aes_ocb
+0x7422 do_aes_cbc
+0x7425 do_aes_ctr
+0x7428 aes_init
+0x742b function_s1
+0x7440 function_c1
+0x7446 function_c1_master
+0x7456 function_c1_irat
+0x745b function_c1_loop1
+0x746e padding_data
+0x7473 padding_loop
+0x7478 aes_load_data
+0x7479 load_data_loop
+0x747d load_data_padding
+0x7482 aes_load_xor
+0x7484 load_key
+0x7486 load_data128
+0x7487 load_regext
+0x7488 load_regext_loop
+0x748d load_sk
+0x748f clear_hidata
+0x7491 aes_clear_data
+0x7492 aes_clear
+0x7493 clear_loop
+0x7494 clear_data_rest
+0x7497 store_aes_result
+0x7499 send_aes_result_loop
+0x749e store_enc_data
+0x74a4 store_enc_loop
+0x74ac store_enc_byte
+0x74b0 compare_res
+0x74b2 compare_res_loop
+0x74b9 enable_authrom
+0x74bd disable_authrom
+0x74c1 init_memp
+0x7518 init_memp_256
+0x756a publickey_init
+0x756d sp_calc_sequence_256_check
+0x757b stop_publickey_calc_256
+0x757d sp_initialize
+0x7583 sp_clear_flags
+0x7588 sp_generate_local_key
+0x758a sp_master_generate_local_key
+0x758d sp_generate_local_key0
+0x7590 sp_start_send_pubkey
+0x7595 sp_calc_check_publickey_256
+0x75b0 sp_calc_b256
+0x75c6 sp_calc_check_publickey
+0x75e1 sp_calc_b
+0x75f7 sp_calculate_commitment
+0x7602 master_sp_calculate_commitment
+0x7609 sp_calculate_commitment0
+0x760f master_sp_calculate_commitment0
+0x7612 sp_local_random_key_generator
+0x7615 sp_calculate_commitment_wait_dhkey_calc
+0x7617 sp_confirm_check
+0x7628 sp_confirm_check_success
+0x762e sp_confirm_check_success_master
+0x7631 sp_confirm_check_failed
+0x7637 sp_confirm_check_failed_master
+0x763a sp_confirm_calc
+0x763e sp_confirm_calc_ready
+0x764b sp_confirm_calc_master
+0x764e sp_master_key_prarm_push
+0x7658 sp_link_key_prarm_push
+0x7662 sp_link_key_calc
+0x766d sp_pubkey_calc
+0x7684 sp_pubkey_generated
+0x768a sp_dhkey_calc
+0x769b sp_dhkey_generated
+0x76a2 random_generator
+0x76a7 compare4
+0x76b1 compare4_failed
+0x76b3 compare4_success
+0x76b5 simple_pairing_sequence
+0x76c6 master_simple_paring_sequence
+0x76d8 master_set_mem_master_sp_flag
+0x76da master_clear_mem_master_sp_flag
+0x76dc sp_calc_sequence
+0x76e7 sp_calc_sequence_done
+0x76ec bn_testbit
+0x76f2 ec_copy
+0x76f5 bn_eq_zero
+0x76fb bn_eq_0
+0x7704 bn_bigeq
+0x7707 bn_bigeq_0
+0x7711 bn_add
+0x7713 bn_add_0
+0x771f bn_sub
+0x7721 bn_sub_0
+0x772d bn_rshift6
+0x772f bn_rshift
+0x7730 bn_rshift_0
+0x773b bn_lshift
+0x773d bn_lshift_0
+0x7748 bn_lshiftmod
+0x7749 bn_lshiftmod_ismod
+0x7751 bn_lshiftmod_0
+0x7755 bn_addmod
+0x7758 bn_submod
+0x775f bn_p192mod
+0x7780 bn_load
+0x7781 bn_load_0
+0x7786 bn_mulmod
+0x7790 bn_mulmod_1
+0x7792 bn_mulmod_0
+0x77a8 bn_sqrmod
+0x77aa bn_rshifteven
+0x77ab bn_rshifteven_1
+0x77ba bn_rshifteven_0
+0x77be bn_invmod
+0x77cd bn_invmod_2
+0x77e8 bn_invmod_1
+0x77f6 bn_invmod_0
+0x7803 ecdbl
+0x7854 ecadd
+0x78c0 eckp_0
+0x78ce eckp_1
+0x78d3 ecunmapz
+0x78e5 sha_endian_swap2
+0x78e8 sha_endian_loop
+0x78f0 sha_getw
+0x78f4 sha_r
+0x78f6 sha_r_loop
+0x790b sha_init
+0x790d sha_init_0
+0x7912 sha
+0x7916 sha_0
+0x791f sha_loop
+0x7948 sha_1
+0x794e sha_result
+0x7950 sha_regext_save
+0x7955 pad_xor
+0x7958 pad_xor_0
+0x795f pad_xor_1
+0x7962 g_noninit_number_confirm
+0x7965 g_noninit
+0x7967 g_noninit0
+0x7975 g_init
+0x7984 g_common
+0x798d g_common0
+0x799e function_f1_no_key
+0x79a0 function_f1
+0x79a2 function_f1_common
+0x79d7 function_f2
+0x7a0d function_f3a
+0x7a0f function_f3a_common
+0x7a1e function_f3a_no_pin
+0x7a21 function_f3b_no_pin
+0x7a24 function_f3b
+0x7a26 function_f3b_common
+0x7a33 function_f3_common
+0x7a5d eckp_calc_init
+0x7a5e eckp_calc_init_1
+0x7a68 eckp_calc
+0x7a70 memcpy_dword_swap4
+0x7a71 memcpy_dword_swap
+0x7a72 memcpy_dword_swap_loop
+0x7a77 sp_initialize_256
+0x7a7d sp_pubkey_calc_256
+0x7a93 sp_pubkey_generated_256
+0x7a99 sp_dhkey_calc_256
+0x7aa9 sp_dhkey_generated_256
+0x7aaf sp_calc_sequence_256
+0x7ab9 sp_calc_sequence_done_256
+0x7abf eckp_calc_256
+0x7ac7 eckp_calc_init_256
+0x7aca eckp_calc_init_256_1
+0x7ad4 ecunmapz_256
+0x7ae6 ecdbl_256
+0x7b37 ecadd_256
+0x7ba3 bn_invmod_256
+0x7bb1 bn_invmod_256_2
+0x7bcc bn_invmod_256_1
+0x7bda bn_invmod_256_0
+0x7be1 bn_mulmod_256
+0x7bef bn_mulmod_256_1
+0x7bf5 bn_mulmod_256_0
+0x7c0a bn_p256mod
+0x7c73 bn_load_mem
+0x7c77 bn_load_256
+0x7c79 bn_sqrmod_256
+0x7c7b bn_add_256
+0x7c7d bn_addmod_256
+0x7c80 bn_lshiftmod_256
+0x7c81 bn_lshiftmod_ismod_256
+0x7c8a bn_lshiftmod_p_256
+0x7c92 sub_p2_256
+0x7c96 bn_submod_256
+0x7ca0 bn_submod_256_np
+0x7ca9 bn_sub_256
+0x7cab bn_rshift_256
+0x7cae bn_lshift_256
+0x7cb1 bn_bigeq_256
+0x7cb5 bn_eq_zero_256
+0x7cb8 bn_rshifteven_256
+0x7cb9 bn_rshifteven_256_1
+0x7cc8 bn_rshifteven_256_0
+0x7ccc ui_init
+0x7cd1 ui_dispatch
+0x7cd3 ui_button_init
+0x7cdd ui_button_polling
+0x7ce3 ui_button_down
+0x7cef ui_button_up
+0x7cf9 ui_button_check_long_press
+0x7d00 lpm_button_get_wake_lock
+0x7d02 lpm_button_clean_wake_lock
+0x7d04 calc_curr_struct_prt
+0x7d08 ui_led_init_global
+0x7d0d ui_led_init_loop
+0x7d14 ui_led_on_global
+0x7d19 ui_led_off_global
+0x7d1e ui_led_blink_start_global
+0x7d24 ui_led_set_style_global
+0x7d29 ui_led_dispatch
+0x7d2c ui_led_blink_polling
+0x7d32 ui_led_off_static
+0x7d35 ui_led_on_static
+0x7d38 ui_led_change_style_by_type
+0x7d41 ui_led_blink_state_lighting
+0x7d4c ui_led_blink_state_darking
+0x7d58 ui_led_blink_infinite
+0x7d5c ui_led_blink_timer_start
+0x7d5e ui_led_stop_timer
+0x7d60 ui_timer_timeout
+0x7d64 ui_timer_check
+0x7d6b ui_timer_check_loop
+0x7d75 ui_timer_init
+0x7d78 ui_timer_check_end
+0x7d7f ui_timer_check_send_evt
+0x7d80 ui_ipc_get_lock
+0x7d81 ui_ipc_get_lock_wait
+0x7d84 ui_ipc_put_lock
+0x7d86 ui_ipc_send_event
+0x7d8f ui_ipc_send_cmd
+0x7d98 ui_ipc_clean_all_fifo
+0x7d9c check_51cmd
+0x7da7 check_51cmd_once
+0x7dc8 check_51cmd_once_continue
+0x7dd6 check_51cmd_check_idle
+0x7ddb check_51cmd_restore
+0x7ddd check_51cmd_start_discovery
+0x7de2 check_51cmd_stop_discovery
+0x7de8 check_51cmd_reconnect
+0x7dea check_51cmd_disconnect
+0x7ded check_51cmd_enter_sniff_subrating
+0x7dee check_51cmd_exit_sniff_subrating
+0x7def check_51cmd_sniff_test
+0x7df0 check_51cmd_pincode
+0x7df2 check_51cmd_inq
+0x7df3 check_51cmd_stop_inq
+0x7df4 check_51cmd_adv
+0x7dfa check_51cmd_stop_adv
+0x7dff check_51cmd_direct_adv
+0x7e05 check_51cmd_stop_direct_adv
+0x7e0a check_51cmd_le_disconnect
+0x7e0e check_51cmd_ble_update_connect_param
+0x7e0f check_51cmd_led_off
+0x7e11 check_51cmd_led_on
+0x7e13 check_51cmd_led_start_blink
+0x7e15 check_51cmd_le_start_con
+0x7e18 check_51cmd_start_scan
+0x7e1a check_51cmd_stop_scan
+0x7e1d check_51cmd_hibernate
+0x7e23 check_51cmd_hibernate_btn_disabled
+0x7e25 check_51cmd_le_smp_sec_req
+0x7e26 check_51cmd_role_switch
+0x7e2f check_51cmd_bb_reconn_cancel
+0x7e31 check_51cmd_dhkey_not_accept
+0x7e34 ui_check_paring_button
+0x7e38 queue_init
+0x7e3d queue_push
+0x7e4c calc_queue_next_ptr
+0x7e54 queue_pop
+0x7e65 queue_empty
+0x7e69 queue_full
+0x7e6d queue_get_size
+0x7e71 right_shift_n
+0x7e73 right_shift_n_loop
+0x7e76 left_shift_n
+0x7e79 left_shift_n_loop
+0x7e7c push_stack
+0x7e85 push_stack_rega_b_c
+0x7e8c pop_stack
+0x7e95 pop_stack_rega_b_c
+0x7e9c get_contw
+0x7e9f get_contr
+0x7ea2 store_contw
+0x7ea5 store_contr
+0x7ea8 save_cont_pointers
+0x7ead load_cont_pointers
+0x7eb2 memcpy96
+0x7eb3 memcpy64
+0x7eb5 memcpy12
+0x7eb6 memcpy4
+0x7eb9 memcpy8
+0x7ebc memcpy48
+0x7ebd memcpy32
+0x7ebe memcpy24
+0x7ebf memcpy16
+0x7ec1 delay_10ms
+0x7ec2 delay_ms_wait
+0x7ec5 bn_zero
+0x7ec6 memset0
+0x7ec7 memset8
+0x7eca memset0_8
+0x7ecd memset0_4
+0x7ed0 clear_mem_256
+0x7ed2 clear_mem_512
+0x7ed4 clear_mem
+0x7ed7 clear_mem_loop
+0x7eda clear_temp_block
+0x7edd xor_loop
+0x7ee5 inverse_data
+0x7eec inverse_loop
+0x7ef4 memcpy_fast
+0x7ef6 memcpy_fast_loop
+0x7efb memcpy_fast_loop_four
+0x7f01 memcpy
+0x7f03 memcpy_loop
+0x7f07 timer_stop
+0x7f08 timer_init
+0x7f11 timer_check_timeout
+0x7f15 timer_reinit
+0x7f16 timer_check
+0x7f21 timer_loop
+0x7f25 timer_counting
+0x7f2c clk_add
+0x7f37 clk_diff_rt
+0x7f39 clk_diff
+0x7f3e clk_diff_pos
+0x7f43 clk2rt
+0x7f49 clk2lpo
+0x7f50 clk2bt
+0x7f58 string2dec_from_uart
+0x7f59 string2dec_from_uart_done
+0x7f64 uchar2dialog
+0x7f6d uchar2dialog_number
+0x7f70 uchar2dialog_a2f
+0x7f73 pn9
+0x7f76 pn9_loop
+0x7f86 wait_div_end
+0x7f88 string_compare
+0x7f91 ceiling
+0x7f95 swap
+0x7f99 clean_mem
+0x7f9c callback_func
+0x7f9e wait_uarttx
+0x7fa1 ice_break
+0x7fa3 ice_setbp
+0x7fa8 ice_setbp2
+0x7fad ice_set_write_bp
+0x7fb0 test_enable_white
+0x7fb4 check_uart_tx_buff
+0x7fb6 pdata_sub_temp
+0x7fb8 fifo_in
+0x7fbe fifo_in_push
+0x7fc4 fifo_out
+0x7fc8 fifo_out_loop
+0x7fcd fifo_out_end
+0x7fd0 fifo_is_empty
+0x7fd2 fifo_is_full
+0x7fd4 fifo_is_near_full
+0x7fd6 fifo_content_count
+0x7fd7 fifo_content_count_loop
+0x7fdd not_greater_than
+0x7fe1 disable_positive
+0x7fe3 disable_zero
+0x7fe5 enable_zero
+0x7fe7 enable_user
+0x7fe9 disable_user
+0x7feb enable_user2
+0x7fed disable_user2
+0x7fef disable_blank
+0x7ff1 enable_blank
+0x7ff3 reverse_byte
+0x7ff9 reverse_loop
+
+
+
+
+/* Parse Command:
+TX: take bits from tx fifo, jam it into shift and a destination (rf,bucket)
+RX: take bits from demod,  jam it into shift and a destination (acl,sco,bucket) */
+
+/* Inject Command:
+TX: 0 into shift, send tail of shift into a destination (rf,bucket)
+RX: 0 into shift, send tail of shift into a destination (acl,sco,bucket) */
+
+format
+  ! 15 romdat
+  % d0
+  % d1
+  % d2
+  % d3
+  [8] d0
+  [8] d1
+  [8] d2
+  [8] d3
+end
+
+format
+  ! 15 enable   /* set flag to 1 */
+  % flag
+  [5] opcode
+  [6] 1
+  [6] flag
+  [6] null
+  [9] 0
+end
+ /* High 5 bytes of channel map */
+format
+  ! 15 pulse   /* set flag to 1 */
+  % flag
+  [5] opcode
+  [6] 1
+  [6] flag
+  [6] null
+  [9] 0
+end
+
+format
+  ! 15 disable   /* set flag to 0 */
+  % flag
+  [5] opcode
+  [6] 2
+  [6] flag
+  [6] null
+  [9] 0
+end
+
+format
+  ! 15 set0  /* set selected bit of reg to 0 */
+  % immediate
+  % reg
+  [5] opcode
+  [6] 9
+  [6] never
+  [6] reg
+  [9] immediate
+end
+
+format
+  ! 15 set1  /* set selected bit of reg to 1 */
+  % immediate
+  % reg
+  [5] opcode
+  [6] 9          /* alu op demux */
+  [6] always
+  [6] reg
+  [9] immediate
+end
+
+format
+  ! 15 setflag  /* set selected bit of the reg to the polarity of the flag */
+  % flag
+  % immediate
+  % reg
+  [5] opcode
+  [6] 9
+  [6] flag
+  [6] reg
+  [9] immediate
+end
+
+format
+  ! 15 nsetflag  /* set the selected bit of the reg to the opposite polarity of the flag */
+  % flag
+  % immediate
+  % reg
+  [5] opcode
+  [6] 0x29
+  [6] flag
+  [6] reg
+  [9] immediate
+end
+
+format
+  ! 15 setflip    /* invert the selected bit of the reg */
+  % immediate
+  % reg
+  [5] opcode
+  [6] 10            /* this is alu op */
+  [6] always
+  [6] reg
+  [9] immediate
+end
+
+format
+  ! 0x1f qset1      /* demux the lowest 4 bit of queue and OR it with regr into regw */
+  % reg             /* in short, set the bit in reg indexed by queue to 1 */
+  [5] opcode
+  [6] 9
+  [6] always
+  [6] reg
+  [9] 0
+end
+  
+format
+  ! 0x1f qset0      /* demux the lowest 4 bit of queue and AND it with regr into regw */
+  % reg             /* in short, set the bit in reg indexed by queue to 0 */
+  [5] opcode
+  [6] 9
+  [6] never
+  [6] reg
+  [9] 0
+end
+
+format 
+  ! 0x1f qsetflag   /* set the bit in reg index by queue to same as flag */
+  % flag
+  % reg
+  [5] opcode
+  [6] 9
+  [6] flag
+  [6] reg
+  [9] 0
+end
+
+format 
+  ! 0x1f nqsetflag   /* set the bit in the reg index by queue to opposite of flag */
+  % flag
+  % reg
+  [5] opcode
+  [6] 0x29
+  [6] flag
+  [6] reg
+  [9] 0
+end
+
+format
+  ! 0x1f qsetflip      /* flip the bit in reg index by queue */
+  % reg
+  [5] opcode
+  [6] 10
+  [6] always
+  [6] reg
+  [9] 0
+end
+
+format
+  ! 1 parse       /* take bits out of source (sco_tx,tx_buffer,rx-elas) into pdata and dest (sco_rx,rx_fifo,tx-elas) */
+  % source
+  % dest
+  % immediate
+  [5] opcode
+  [4] source      /* voice, data, demod */
+  [2] 0
+  [6] 0    
+  [2] 0           /* parse or inject */ 
+  [4] dest        /* acl, sco, mod, bucket */
+  [9] immediate   /* number of bits to parse off */
+end
+
+format
+  ! 1 inject      /* shift data from pdata into destination (tx-elas,rx_fifo,sco_rx) */
+  % destination
+  % immediate
+  [5] opcode
+  [4] 0
+  [2] 0
+  [6] 1
+  [2] 0
+  [4] destination /* acl,sco,mod,bucket */
+  [9] immediate   /* number of bits to be injected */
+end
+
+format
+  ! 1 iinject
+  % destination
+  % regr
+  [5] opcode
+  [6] regr       /* contain the number of bits to inject */
+  [6] 3
+  [2] 0
+  [4] destination /* acl,sco,mod,bucket */
+  [9] 0 
+end
+
+format
+  ! 1 stuff  /* automatic parse, stuff_counter decrement on every bit until hits zero */
+  % source
+  % destination
+  [5] opcode
+  [4] source
+  [2] 0
+  [6] 2
+  [2] 0
+  [4] destination
+  [9] 0
+end
+
+format    /* force immediate value into registers */
+  ! 3 force
+  % immediate
+  % regw
+  [5] opcode
+  [6] 0
+  [6] 0    /* alu operation force */
+  [6] regw  /* destination register */
+  [9] immediate
+end
+
+format    /* force whatever is on shift_reg to regsiters */
+  ! 0x13 iforce
+  % regw
+  [5] opcode
+  [6] 0
+  [6] 0    /* alu operation force */
+  [6] regw  /* destination register */
+  [9] 0
+end
+
+format    /* force immediate value into registers */
+  ! 3 increase
+  % immediate
+  % reg
+  [5] opcode
+  [6] reg
+  [6] 1    /* alu operation add */
+  [6] reg
+  [9] immediate
+end
+
+format
+  ! 3 pincrease
+  % immediate
+  [5] opcode
+  [6] -1  /* pdata */
+  [6] 1   /* alu add */
+  [6] -1  /* back to pdata */
+  [9] immediate
+end
+
+format    /* force immediate value into registers */
+  ! 3 and_into
+  % immediate
+  % reg
+  [5] opcode
+  [6] reg
+  [6] 2    /* alu operation and into */
+  [6] reg
+  [9] immediate
+end
+
+format
+  ! 3 and
+  % regr
+  % immediate
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 2    /* alu operation and into */
+  [6] regw
+  [9] immediate
+end
+  
+format
+  ! 0x13 iand    /* pdata & regr -> regw */
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 2    /* alu operation and into */
+  [6] regw
+  [9] 0
+end
+  
+
+format    /* and whatever is in shiftreg with reg */
+  ! 0x13 iand_into
+  % reg
+  [5] opcode
+  [6] reg
+  [6] 2    /* alu operation and into */
+  [6] reg
+  [9] 0
+end
+
+format
+  ! 3 or_into
+  % immediate
+  % reg
+  [5] opcode
+  [6] reg
+  [6] 3    /* alu operation or into */
+  [6] reg
+  [9] immediate
+end
+
+format
+  ! 3 or
+  % regr
+  % immediate
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 3    /* alu operation or into */
+  [6] regw
+  [9] immediate
+end
+
+format
+  ! 0x13 ior
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 3    /* alu operation or into */
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 0x13 ior_into
+  % reg
+  [5] opcode
+  [6] reg
+  [6] 3    /* alu operation or into */
+  [6] reg
+  [9] 0
+end
+
+format
+  ! 3 skip_to   /* jump to location stored in reg */
+  % reg
+  [5] opcode
+  [6] reg
+  [6] 4   /* alu operation copy */
+  [6] rom_addr
+  [9] 0
+end
+
+format
+  ! 3 copy
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 4   /* alu operation copy */
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 deposit   /* copy the register content thru alu to shift register, not prealigned like preload */
+  % reg
+  [5] opcode
+  [6] reg
+  [6] 4   /* alu operation copy */
+  [6] -1  /* pdata */
+  [9] 0
+end
+
+format
+  ! 3 icopy     /* copy the shift register lsb content directly to register, not aligned */
+  % regw
+  [5] opcode
+  [6] -1  /* pdata */
+  [6]  4  /* alu copy */
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 add
+  % regr
+  % immediate
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 1
+  [6] regw
+  [9] immediate
+end
+
+format
+  ! 0x13 iadd       /* regr + pdata -> regw */
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 1
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 sub          /* immediate - regr -> regw */
+  % regr
+  % immediate
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 12
+  [6] regw
+  [9] immediate
+end
+
+format
+  ! 0x13 isub       /* pdata - regr -> regw */
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 12
+  [6] regw
+  [9] 0
+end
+
+
+format
+  ! 3 flip
+  % immediate
+  % reg
+  [5] opcode
+  [6] reg
+  [6] 5
+  [6] reg
+  [9] immediate
+end
+  
+format
+  ! 0x13 iflip  /* use shift register as immediate to do xor */
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 5
+  [6] regw
+  [9] 0
+end
+  
+format
+  ! 3 xor
+  % regr
+  % immediate
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 5
+  [6] regw
+  [9] immediate
+end
+
+format
+  ! 3 xor_into
+  % immediate
+  % reg
+  [5] opcode
+  [6] reg
+  [6] 5
+  [6] reg
+  [9] immediate
+end
+  
+format
+  ! 0x13 ixor  /* pdata xor regr and store result in regw */
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 5
+  [6] regw
+  [9] 0
+end
+  
+format
+  ! 3 invert
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 8
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 pinvert    /* invert pdata into itself */
+  [5] opcode
+  [6] -1
+  [6] 8
+  [6] -1
+  [9] 0
+end
+
+format
+  ! 3 div                 /* regr div immediate div */
+  % reg
+  % immediate
+  [5] opcode
+  [6] reg
+  [6] 13                   /* generate diven pulse to div */
+  [6] null
+  [9] immediate
+end
+
+format
+  ! 0x13 idiv           /* pdata div regr data ready at most after 41 nops */
+  % reg
+  [5] opcode
+  [6] reg
+  [6] 13                   /* generate diven pulse to div */
+  [6] null
+  [9] 0
+end
+
+format
+  ! 3 remainder            /* harvest div remainder */
+  % regw
+  [5] opcode
+  [6] 0
+  [6] 14
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 quotient             /* harvest div quotient */
+  % regw
+  [5] opcode
+  [6] 0
+  [6] 15
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 rshift
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 6
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 rshift2
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 22
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 rshift3
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 18
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 rshift4
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 35
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 rshift8
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 25
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 rshift16
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 34
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 rshift32
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 30
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 lshift
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 7
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 lshift2
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 23
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 lshift8
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 26
+  [6] regw
+  [9] 0
+end
+
+  
+format
+  ! 3 lshift3
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 19
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 lshift4
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 36
+  [6] regw
+  [9] 0
+end
+  
+
+format
+  ! 3 lshift16
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 32
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 random               /* random number into regw */
+  % reg
+  [5] opcode
+  [6] 0
+  [6] 20
+  [6] reg
+  [9] 0
+end
+
+format                     /* bit reverse within a byte */
+  ! 3 reverse
+  % reg
+  % regw
+  [5] opcode
+  [6] reg
+  [6] 27
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 priority    /* priority encode reg into regw, lsb is the top priority, ie, priority(8'b00010000) = 4 */
+  % reg
+  % regw
+  [5] opcode
+  [6] reg
+  [6] 21
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 7 setsect   /* set a section of pdata */
+  % section    /* 0 sets 17:0 of pdata with set_data, 1 sets 35:18, 2 sets 53:36, 3 sets 71:54 */
+  % set_data
+  [5] opcode
+  [7] 0
+  [2] section
+  [18] set_data
+end
+
+format
+  ! 10 preload   /* load stuff into pdata according to fhs format, check us.v */
+  % reg
+  [5] opcode
+  [6] reg
+  [6] 0
+  [6] -1
+  [9] 0
+end
+
+format  /* load register with pdata content, according to fhs format, check us.v */
+  ! 10 ialigned   /* all bits are in position */
+  % regw
+  [5] opcode
+  [6] -1
+  [6] 0
+  [6] regw
+  [9] 0
+end
+
+format  /* load register to another according to fhs format */
+  ! 10 aligned
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 0
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 4 branch
+  % addr
+  % flag
+  [5] opcode
+  [6] 1
+  [6] flag
+  [15] addr
+end
+
+format
+  ! 4 call
+  % addr
+  % flag
+  [5] opcode
+  [6] 2
+  [6] flag
+  [15] addr
+end
+
+format
+  ! 4 rtn
+  % flag
+  [5] opcode
+  [6] 3
+  [6] flag
+  [15] 0
+end
+
+format
+  ! 0x0c store          /* write to memory, data from pdata, address from immediate then mem_ptr */
+  % num_bytes
+  % addr
+  [5] opcode
+  [6] 0               /* memory */
+  [1] 0
+  [1] 0
+  [4] num_bytes
+  [15] addr
+end
+
+format
+  ! 0x0c hstore          /* write to memory, data from pdata, address from immediate then mem_ptr */
+  % num_bytes
+  % addr
+  [5] opcode
+  [6] 0               /* memory */
+  [1] 1
+  [1] 0
+  [4] num_bytes
+  [15] addr
+end
+
+format
+  ! 0x1c istore        /* write to memory, data from pdata, address from regr then mem_ptr */
+  % num_bytes
+  % reg
+  [5] opcode
+  [6] reg            /* hold address */
+  [1] 0
+  [1] 0
+  [4] num_bytes
+  [15] 0
+end
+
+format
+  ! 0x0d fetch          /* read from memory, data into pdata, address from immediate then mem_ptr */
+  % num_bytes
+  % addr
+  [5] opcode
+  [6] 0               /* memory */
+  [1] 0
+  [1] 0
+  [4] num_bytes
+  [15] addr
+end
+
+format
+  ! 0x0d hfetch          /* read from memory, data into pdata, address from immediate then mem_ptr */
+  % num_bytes
+  % addr
+  [5] opcode
+  [6] 0               /* memory */
+  [1] 1
+  [1] 0
+  [4] num_bytes
+  [15] addr
+end
+
+format
+  ! 0x0d crc         /* read from memory, count from loopcnt, put crc result into pdata */
+  % addr
+  [5] opcode
+  [6] 0
+  [1] 0
+  [1] 0
+  [4] 0
+  [15] addr
+end
+
+format
+  ! 0x1d icrc         /* read from memory, address from reg, count from loopcnt, put crc result into pdata */
+  % reg
+  [5] opcode
+  [6] reg             /* hold address */
+  [1] 0
+  [1] 0
+  [4] 0
+  [15] 0
+end
+
+
+format
+  ! 0x1d ifetch         /* read from memory, data into pdata, address from regr then mem_ptr */
+  % num_bytes
+  % reg
+  [5] opcode
+  [6] reg             /* hold address */
+  [1] 0
+  [1] 0
+  [4] num_bytes
+  [15] 0
+end
+
+format
+  ! 0x0c storet          /* write to memory, data from temp, address from immediate won't increment */
+  % num_bytes
+  % addr
+  [5] opcode
+  [6] 0               /* memory */
+  [1] 0
+  [1] 1
+  [4] num_bytes
+  [15] addr
+end
+
+format
+  ! 0x0c hstoret          /* write to corereg, data from temp, address from immediate won't increment */
+  % num_bytes
+  % addr
+  [5] opcode
+  [6] 0               /* memory */
+  [1] 1
+  [1] 1
+  [4] num_bytes
+  [15] addr
+end
+
+format
+  ! 0x1c istoret        /* write to memory, data from temp, address from regr won't increment */
+  % num_bytes
+  % reg
+  [5] opcode
+  [6] reg            /* hold address */
+  [1] 0
+  [1] 1
+  [4] num_bytes
+  [15] 0
+end
+
+format
+  ! 0x0d fetcht          /* read from memory, data into temp, address from immediate won't increment */
+  % num_bytes
+  % addr
+  [5] opcode
+  [6] 0               /* memory */
+  [1] 0
+  [1] 1
+  [4] num_bytes
+  [15] addr
+end
+
+format
+  ! 0x0d hfetcht          /* read from corereg, data into temp, address from immediate won't increment */
+  % num_bytes
+  % addr
+  [5] opcode
+  [6] 0               /* memory */
+  [1] 1
+  [1] 1
+  [4] num_bytes
+  [15] addr
+end
+
+format
+  ! 0x1d ifetcht         /* read from memory, data into temp, address from regr won't increment */
+  % num_bytes
+  % reg
+  [5] opcode
+  [6] reg             /* hold address */
+  [1] 0
+  [1] 1
+  [4] num_bytes
+  [15] 0
+end
+
+format
+  ! 0x0e jam
+  % immediate
+  % addr
+  [5] opcode
+  [3] 0
+  [16] addr
+  [8] immediate
+end
+
+format			/* 0x242... */
+  ! 4 nbranch
+  % addr
+  % flag
+  [5] opcode
+  [1] 1
+  [5] 1
+  [6] flag
+  [15] addr
+end
+
+format
+  ! 4 ncall
+  % addr
+  % flag
+  [5] opcode
+  [1] 1
+  [5] 2
+  [6] flag
+  [15] addr
+end
+
+format
+  ! 4 nrtn
+  % flag
+  [5] opcode
+  [1] 1
+  [5] 3
+  [6] flag
+  [15] 0
+end
+
+format
+  ! 4 nop
+  % addr  /* no-op for addr+2 clocks */
+  [5] opcode
+  [6] 0     
+  [6] 0     /* always */ 
+  [15] addr
+end
+
+format
+  ! 4 clear_stack
+  [5] opcode
+  [6] 4
+  [6] 0    /* always */
+  [15] 0
+end
+
+format
+  ! 6 until
+  % reg
+  % flag
+  [5] opcode
+  [6] reg
+  [6] flag
+  [6] 1
+  [9] 0
+end
+  
+format
+  ! 6 correlate   /* quit if 1. flag is true 2, regr time up 3, found sync,(cond_true) */
+  % reg          /* expire counter to check against */
+  % flag
+  [5] opcode
+  [6] reg
+  [6] flag
+  [6] 2           /* correlate */
+  [9] 0           
+end
+
+format
+  ! 5 compare   /* sets cond flag,  if reg equals immediate */
+  % immediate
+  % reg
+  % mask
+  [5] opcode
+  [6] reg
+  [3] 0
+  [9] mask
+  [9] immediate
+end
+
+format
+  ! 0x15 icompare   /* sets cond flag,  if reg equals pdata */
+  % mask
+  % reg
+  [5] opcode
+  [6] reg
+  [3] 0
+  [9] mask
+  [9] 0
+end
+
+format   /* sets cond. flag, if reg equals LS half of shift reg with MS half of reg being mask */
+  ! 5 iverify
+  % reg
+  [5] opcode
+  [6] reg
+  [3] 2
+  [18] 0
+end
+
+format
+  ! 0x15 qisolate1
+  % reg
+  [5] opcode
+  [6] reg
+  [3] 3
+  [18] -1
+end
+
+format
+  ! 0x15 qisolate0
+  % reg
+  [5] opcode
+  [6] reg
+  [3] 3
+  [18] 0
+end
+
+	/* REVAB bug: cannot access bit above 35 */
+format
+  ! 5 isolate1
+  % addr
+  % reg
+  [5] opcode
+  [6] reg
+  [3] 3
+  [9] -1
+  [9] addr
+end
+
+format
+  ! 5 isolate0
+  % addr
+  % reg
+  [5] opcode
+  [6] reg
+  [3] 3
+  [9] 0
+  [9] addr
+end
+
+format
+  ! 11 setarg
+  % immediate
+  [5] opcode
+  [27] immediate
+end
+
+format
+  ! 0x1b arg
+  % immediate
+  % reg
+  [5] opcode
+  [6] reg
+  [21] immediate
+end
+
+  
+format
+  ! 0 sleep
+  [5] opcode
+  [27] 0
+end
+
+format
+  ! 0 snooze
+  [5] opcode
+  [6] -1
+  [21] 0
+end
+
+format
+  ! 0 revision
+  % rev_num
+  [5] opcode
+  [27] rev_num
+end
+
+format
+  ! 0x18 loop   /* branch when loopcnt is NOT zero, and decrease loopcnt */
+  % addr
+  [5] opcode
+  [4] 4
+  [8] 0
+  [15] addr
+end
+
+format
+  ! 0x18 beq   /* branch when pdata is equal to immediate */
+  % imme
+  % addr
+  [5] opcode
+  [4] 0
+  [8] imme
+  [15] addr
+end
+
+format
+  ! 0x18 bne   /* branch when pdata is NOT equal to immediate */
+  % imme
+  % addr
+  [5] opcode
+  [4] 1
+  [8] imme
+  [15] addr
+end
+
+format
+  ! 0x18 rtneq   /* return when pdata is equal to immediate */
+  % imme
+  [5] opcode
+  [4] 2
+  [8] imme
+  [15] 0
+end
+
+format
+  ! 0x18 rtnne   /* return when pdata is NOT equal to immediate */
+  % imme
+  [5] opcode
+  [4] 3
+  [8] imme
+  [15] 0
+end
+
+format
+  ! 0x18 bbit1   /* branch when pdata's imme bit is 1 */
+  % imme
+  % addr
+  [5] opcode
+  [4] 5
+  [8] imme
+  [15] addr
+end
+
+format
+  ! 0x18 bbit0   /* branch when pdata's imme bit is 0 */
+  % imme
+  % addr
+  [5] opcode
+  [4] 6
+  [8] imme
+  [15] addr
+end
+
+format
+  ! 0x18 rtnbit1   /* return when pdata's imme bit is 0 */
+  % imme
+  [5] opcode
+  [4] 7
+  [8] imme
+  [15] 0
+end
+
+format
+  ! 0x18 rtnbit0   /* return when pdata's imme bit is 0 */
+  % imme
+  [5] opcode
+  [4] 8
+  [8] imme
+  [15] 0
+end
+
+format
+  ! 8	bpatch
+  % imme
+  % addr
+  [5] opcode
+  [4] 9
+  [8] imme
+  [15] addr
+end
+
+format
+  ! 8	bpatchx
+  % imme
+  % addr
+  [5] opcode
+  [4] 14
+  [8] imme
+  [15] addr
+end
+
+format
+  ! 0x18 bmark1   /* branch when mark's imme bit is 1 */
+  % imme
+  % addr
+  [5] opcode
+  [4] 10
+  [8] imme
+  [15] addr
+end
+
+format
+  ! 0x18 bmark0   /* branch when mark's imme bit is 0 */
+  % imme
+  % addr
+  [5] opcode
+  [4] 11
+  [8] imme
+  [15] addr
+end
+
+format
+  ! 0x18 rtnmark1   /* return when mark's imme bit is 0 */
+  % imme
+  [5] opcode
+  [4] 12
+  [8] imme
+  [15] 0
+end
+
+format
+  ! 0x18 rtnmark0   /* return when mark's imme bit is 0 */
+  % imme
+  [5] opcode
+  [4] 13
+  [8] imme
+  [15] 0
+end
+
+
+format
+  ! 3 mult                  /* immediate mult regr */  /* the product will be ready 17 clks later */
+  % immediate                                   /* use "product" instruction to get the result */
+  % reg
+  [5] opcode
+  [6] reg
+  [6] 16                   /* generate diven pulse to div */
+  [6] null
+  [9] immediate
+end
+
+format
+  ! 0x13 imult           /* pdata mult regr */  /* the product will be ready after 15 nops */
+  % reg                                         /* use product opcode to get the result */
+  [5] opcode
+  [6] reg
+  [6] 16                   /* generate mult pulse to multiplier */
+  [6] null
+  [9] 0
+end
+
+format
+  ! 3 mul32                  /* immediate mult regr */ 
+  % regr
+  % immediate                                  
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 31           
+  [6] regw
+  [9] immediate
+end
+
+format
+  ! 0x13 imul32           /* pdata mult regr 32x32=64bit */  
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 31                   
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 product              /* harvest mult product */
+  % regw
+  [5] opcode
+  [6] 0
+  [6] 17
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 byteswap
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 33
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 shasx          /* SHA256 Sx operation, immediate is Sx */
+  % regr
+  % immediate
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 28
+  [6] regw
+  [9] immediate
+end
+
+
+format
+  ! 0x13 regexrot 	/* regext[0] <- regext[7], regext[1] <- regext[0], regext[2] <- regext[1] ... */
+  [5] opcode
+  [6] 0
+  [6] 29
+  [6] null
+  [9] 0
+end
+
Index: output/bt_program23.icode
===================================================================
--- /branch/mouse_project/ZhongXinSheng/ZXS_1062/MJ391_24G&BLE_PB/output/bt_program23.icode	(revision 0)
+++ /branch/mouse_project/ZhongXinSheng/ZXS_1062/MJ391_24G&BLE_PB/output/bt_program23.icode	(working copy)
@@ -0,0 +1,1848 @@
+ 00000000  0x0000001f bbit1  0x00000008 , 0x00000012 
+ 00000001  0x00000020 beq  0x00000000 , 0x00000029 
+ 00000002  0x00000021 beq  0x00000001 , 0x0000003b 
+ 00000003  0x00000022 beq  0x00000085 , 0x00000736 
+ 00000004  0x00000023 beq  0x00000089 , 0x00000709 
+ 00000005  0x00000024 beq  0x000000a1 , 0x00000044 
+ 00000006  0x00000025 beq  0x000000b1 , 0x00000049 
+ 00000007  0x00000026 beq  0x000000b2 , 0x0000005a 
+ 00000008  0x00000027 beq  0x000000c4 , 0x000002ce 
+ 00000009  0x00000028 beq  0x000000c9 , 0x0000035f 
+ 00000010  0x00000029 beq  0x000000ca , 0x00000363 
+ 00000011  0x0000002a beq  0x000000e3 , 0x000003c5 
+ 00000012  0x0000002b beq  0x000000e6 , 0x00000581 
+ 00000013  0x0000002c beq  0x000000e9 , 0x000005bc 
+ 00000014  0x0000002d beq  0x000000ea , 0x000005c6 
+ 00000015  0x0000002e beq  0x000000eb , 0x000005d6 
+ 00000016  0x0000002f beq  0x000000ec , 0x000005ff 
+ 00000017  0x00000030 branch  0x00002a8e 
+ 00000018  0x00000032 beq  0x00000039 , 0x00000605 
+ 00000019  0x00000033 beq  0x00000043 , 0x0000060d 
+ 00000020  0x00000034 beq  0x0000004a , 0x00000613 
+ 00000021  0x00000035 beq  0x00000057 , 0x00000616 
+ 00000022  0x00000036 beq  0x00000059 , 0x00000626 
+ 00000023  0x00000037 beq  0x00000063 , 0x00000633 
+ 00000024  0x00000038 beq  0x00000066 , 0x00000663 
+ 00000025  0x00000039 beq  0x00000067 , 0x0000067a 
+ 00000026  0x0000003a beq  0x0000006a , 0x000006a6 
+ 00000027  0x0000003b beq  0x00000077 , 0x000006b1 
+ 00000028  0x0000003c beq  0x000000fa , 0x000006c1 
+ 00000029  0x0000003d beq  0x0000008c , 0x000006ca 
+ 00000030  0x0000003e branch  0x00002a8e 
+ 00000031  0x00000042 copy  0x0000003f , 0x00000011 
+ 00000032  0x00000043 fetcht  0x00000001 , 0x00004c8e 
+ 00000033  0x00000044 setarg  0x00004c95 
+ 00000034  0x00000045 iadd  0x00000002 , 0x00000005 
+ 00000035  0x00000046 copy  0x00000011 , 0x0000003f 
+ 00000036  0x00000047 istore  0x00000001 , 0x00000005 
+ 00000037  0x00000048 increase  0x00000001 , 0x00000002 
+ 00000038  0x00000049 and_into  0x00000007 , 0x00000002 
+ 00000039  0x0000004a storet  0x00000001 , 0x00004c8e 
+ 00000040  0x0000004b rtn 
+ 00000041  0x0000004e call  0x0000002b 
+ 00000042  0x0000004f branch  0x00002002 
+ 00000043  0x00000052 jam  0x00000000 , 0x00004b3d 
+ 00000044  0x00000053 fetcht  0x00000001 , 0x000046ed 
+ 00000045  0x00000054 call  0x000067fb 
+ 00000046  0x00000055 fetcht  0x00000001 , 0x000046ed 
+ 00000047  0x00000056 call  0x0000681d 
+ 00000048  0x00000057 nrtn  0x00000001 
+ 00000049  0x00000058 call  0x00007ec1 
+ 00000050  0x00000059 fetcht  0x00000001 , 0x000046ed 
+ 00000051  0x0000005a call  0x0000681d 
+ 00000052  0x0000005b nrtn  0x00000001 
+ 00000053  0x0000005c jam  0x00000001 , 0x00004b3d 
+ 00000054  0x0000005d rtn 
+ 00000055  0x00000060 fetch  0x00000001 , 0x00004b3d 
+ 00000056  0x00000061 rtn  0x00000034 
+ 00000057  0x00000062 call  0x000004c6 
+ 00000058  0x00000063 branch  0x00000444 
+ 00000059  0x00000066 arg  0x000009ae , 0x00000005 
+ 00000060  0x00000067 arg  0x0000000c , 0x00000039 
+ 00000061  0x00000068 call  0x00007ed4 
+ 00000062  0x00000069 call  0x00000399 
+ 00000063  0x0000006a call  0x00006a03 
+ 00000064  0x0000006b call  0x00005cf6 
+ 00000065  0x0000006c ncall  0x00002c65 , 0x0000002b 
+ 00000066  0x0000006d call  0x00007ccd 
+ 00000067  0x0000006e branch  0x0000200c 
+ 00000068  0x00000071 setarg  0x00000a06 
+ 00000069  0x00000072 store  0x00000003 , 0x00004510 
+ 00000070  0x00000073 setarg  0x00001d87 
+ 00000071  0x00000074 store  0x00000002 , 0x00004513 
+ 00000072  0x00000075 branch  0x00002aa2 
+ 00000073  0x00000078 rtnmark1  0x00000026 
+ 00000074  0x00000079 call  0x00000054 
+ 00000075  0x0000007a fetch  0x00000001 , 0x00004b01 
+ 00000076  0x0000007b beq  0x00000001 , 0x00007fef 
+ 00000077  0x0000007c fetch  0x00000001 , 0x0000479c 
+ 00000078  0x0000007d beq  0x00000000 , 0x00007fef 
+ 00000079  0x0000007e fetch  0x00000001 , 0x000047c4 
+ 00000080  0x0000007f beq  0x00000001 , 0x00007fef 
+ 00000081  0x00000080 fetch  0x00000001 , 0x00004806 
+ 00000082  0x00000081 nbranch  0x00007fef , 0x00000034 
+ 00000083  0x00000082 branch  0x00007ff1 
+ 00000084  0x00000085 call  0x00007ff1 
+ 00000085  0x00000086 fetch  0x00000001 , 0x00004b01 
+ 00000086  0x00000087 ncall  0x00007fef , 0x00000034 
+ 00000087  0x00000088 fetch  0x00000001 , 0x00004b07 
+ 00000088  0x00000089 ncall  0x00007fef , 0x00000034 
+ 00000089  0x0000008a rtn 
+ 00000090  0x0000008d rtnmark0  0x00000026 
+ 00000091  0x0000008e fetch  0x00000001 , 0x00004d15 
+ 00000092  0x0000008f bbit1  0x00000001 , 0x00000071 
+ 00000093  0x00000090 bbit1  0x00000002 , 0x00000081 
+ 00000094  0x00000091 fetch  0x00000001 , 0x00004d13 
+ 00000095  0x00000092 beq  0x00000001 , 0x000000b2 
+ 00000096  0x00000094 call  0x00000131 
+ 00000097  0x00000095 nbranch  0x000000c9 , 0x00000028 
+ 00000098  0x00000096 call  0x00000118 
+ 00000099  0x00000098 call  0x00000154 
+ 00000100  0x00000099 fetch  0x00000001 , 0x00004be3 
+ 00000101  0x0000009a rtnne  0x000000ff 
+ 00000102  0x0000009b call  0x000006df 
+ 00000103  0x0000009c call  0x000000ae 
+ 00000104  0x0000009d fetch  0x00000001 , 0x00004d13 
+ 00000105  0x0000009e rtneq  0x00000001 
+ 00000106  0x0000009f fetch  0x00000001 , 0x00004b01 
+ 00000107  0x000000a0 beq  0x00000001 , 0x00000093 
+ 00000108  0x000000a2 call  0x000000d5 
+ 00000109  0x000000a3 nrtn  0x00000028 
+ 00000110  0x000000a4 call  0x000002bf 
+ 00000111  0x000000a5 setarg  0x0000ec54 
+ 00000112  0x000000a6 branch  0x00002b93 
+ 00000113  0x000000a9 fetch  0x00000001 , 0x00004b42 
+ 00000114  0x000000aa beq  0x00000001 , 0x00002dd4 
+ 00000115  0x000000ab call  0x000001e0 
+ 00000116  0x000000ac call  0x00000172 
+ 00000117  0x000000ad nbranch  0x00000098 , 0x00000018 
+ 00000118  0x000000ae nbranch  0x00000098 , 0x0000002f 
+ 00000119  0x000000af fetch  0x00000001 , 0x00004d15 
+ 00000120  0x000000b0 set0  0x00000001 , 0x0000003f 
+ 00000121  0x000000b1 store  0x00000001 , 0x00004d15 
+ 00000122  0x000000b2 call  0x0000019c 
+ 00000123  0x000000b3 call  0x000002ec 
+ 00000124  0x000000b4 fetch  0x00000004 , 0x00004bfb 
+ 00000125  0x000000b5 fetcht  0x00000004 , 0x00004bdf 
+ 00000126  0x000000b6 isub  0x00000002 , 0x0000003e 
+ 00000127  0x000000b7 branch  0x00000322 , 0x00000005 
+ 00000128  0x000000b8 branch  0x00000087 
+ 00000129  0x000000bb fetch  0x00000001 , 0x00004b42 
+ 00000130  0x000000bc beq  0x00000001 , 0x00002dd4 
+ 00000131  0x000000bd call  0x000001e0 
+ 00000132  0x000000be call  0x00000172 
+ 00000133  0x000000bf nbranch  0x000000aa , 0x00000018 
+ 00000134  0x000000c0 nbranch  0x000000aa , 0x0000002f 
+ 00000135  0x000000c2 set1  0x00000026 , 0x00000000 
+ 00000136  0x000000c3 fetch  0x00000001 , 0x00004d15 
+ 00000137  0x000000c4 set0  0x00000002 , 0x0000003f 
+ 00000138  0x000000c5 store  0x00000001 , 0x00004d15 
+ 00000139  0x000000c6 jam  0x00000000 , 0x00004b3a 
+ 00000140  0x000000c7 jam  0x0000003c , 0x00000a99 
+ 00000141  0x000000c8 call  0x00007d86 
+ 00000142  0x000000ca fetch  0x00000004 , 0x00004bfb 
+ 00000143  0x000000cb fetcht  0x00000004 , 0x00004c0a 
+ 00000144  0x000000cc isub  0x00000002 , 0x0000003e 
+ 00000145  0x000000cd call  0x00000096 , 0x00000005 
+ 00000146  0x000000cf call  0x0000016c 
+ 00000147  0x000000d2 jam  0x00000001 , 0x00004d13 
+ 00000148  0x000000d3 jam  0x00000000 , 0x00004d14 
+ 00000149  0x000000d4 rtn 
+ 00000150  0x000000d7 fetch  0x00000004 , 0x00004bb3 
+ 00000151  0x000000d8 branch  0x000001a7 
+ 00000152  0x000000db fetch  0x00000001 , 0x00004d11 
+ 00000153  0x000000dc increase  0x00000001 , 0x0000003f 
+ 00000154  0x000000dd and_into  0x00000003 , 0x0000003f 
+ 00000155  0x000000de store  0x00000001 , 0x00004d11 
+ 00000156  0x000000df beq  0x00000000 , 0x000000a1 
+ 00000157  0x000000e0 beq  0x00000001 , 0x000001a3 
+ 00000158  0x000000e1 beq  0x00000002 , 0x000001ed 
+ 00000159  0x000000e2 beq  0x00000003 , 0x000001a3 
+ 00000160  0x000000e3 rtn 
+ 00000161  0x000000e6 call  0x000002ec 
+ 00000162  0x000000e7 fetch  0x00000004 , 0x00004c0a 
+ 00000163  0x000000e8 store  0x00000004 , 0x00004bfb 
+ 00000164  0x000000e9 fetch  0x00000001 , 0x00004b45 
+ 00000165  0x000000ea store  0x00000001 , 0x00004bde 
+ 00000166  0x000000eb call  0x000000a9 
+ 00000167  0x000000ec storet  0x00000001 , 0x00004b45 
+ 00000168  0x000000ed rtn 
+ 00000169  0x000000f0 call  0x000001a8 
+ 00000170  0x000000f3 fetcht  0x00000001 , 0x00004bde 
+ 00000171  0x000000f4 call  0x0000021e 
+ 00000172  0x000000f5 storet  0x00000001 , 0x00004bde 
+ 00000173  0x000000f6 rtn 
+ 00000174  0x000000fb setarg  0x00017700 
+ 00000175  0x000000fc store  0x00000003 , 0x00004c02 
+ 00000176  0x000000fd jam  0x00000014 , 0x00004b3c 
+ 00000177  0x000000fe rtn 
+ 00000178  0x00000101 call  0x00000298 
+ 00000179  0x00000102 nrtn  0x00000028 
+ 00000180  0x00000103 call  0x000000c3 
+ 00000181  0x00000104 fetch  0x00000001 , 0x00004d14 
+ 00000182  0x00000105 increase  0x00000001 , 0x0000003f 
+ 00000183  0x00000106 store  0x00000001 , 0x00004d14 
+ 00000184  0x00000107 sub  0x0000003f , 0x00000019 , 0x0000003e 
+ 00000185  0x00000108 call  0x000000bb , 0x00000005 
+ 00000186  0x00000109 branch  0x00000060 
+ 00000187  0x0000010b jam  0x00000000 , 0x00004d13 
+ 00000188  0x0000010c jam  0x00000000 , 0x00004d14 
+ 00000189  0x0000010e jam  0x00000000 , 0x00004c0e 
+ 00000190  0x0000010f fetch  0x00000001 , 0x00004bf9 
+ 00000191  0x00000111 store  0x00000001 , 0x00004bf8 
+ 00000192  0x00000112 rtn 
+ 00000193  0x00000114 fetch  0x00000001 , 0x00004bfa 
+ 00000194  0x00000115 branch  0x000000bf 
+ 00000195  0x00000117 fetch  0x00000001 , 0x00004c0e 
+ 00000196  0x00000118 increase  0x00000001 , 0x0000003f 
+ 00000197  0x00000119 store  0x00000001 , 0x00004c0e 
+ 00000198  0x0000011a beq  0x00000004 , 0x000000c1 
+ 00000199  0x0000011b beq  0x00000005 , 0x000000bd 
+ 00000200  0x0000011c rtn 
+ 00000201  0x0000011f fetch  0x00000001 , 0x00004bff 
+ 00000202  0x00000120 call  0x000000e0 , 0x00000034 
+ 00000203  0x00000121 fetch  0x00000001 , 0x00004b06 
+ 00000204  0x00000122 nrtn  0x00000034 
+ 00000205  0x00000123 fetch  0x00000001 , 0x00004b01 
+ 00000206  0x00000124 rtneq  0x00000001 
+ 00000207  0x00000126 call  0x000000d5 
+ 00000208  0x00000127 nrtn  0x00000028 
+ 00000209  0x00000128 fetch  0x00000003 , 0x00004c02 
+ 00000210  0x00000129 call  0x00007f49 
+ 00000211  0x0000012a storet  0x00000004 , 0x0000415b 
+ 00000212  0x0000012b branch  0x00002b2a 
+ 00000213  0x0000012e enable  0x00000028 
+ 00000214  0x0000012f call  0x00002afa 
+ 00000215  0x00000130 fetch  0x00000003 , 0x0000416f 
+ 00000216  0x00000131 branch  0x00007fe9 , 0x00000034 
+ 00000217  0x00000132 fetch  0x00000001 , 0x00004091 
+ 00000218  0x00000133 branch  0x00007fe9 , 0x00000034 
+ 00000219  0x00000134 fetch  0x00000001 , 0x000045b1 
+ 00000220  0x00000135 branch  0x00007fe9 , 0x00000034 
+ 00000221  0x00000136 fetch  0x00000001 , 0x00004d13 
+ 00000222  0x00000137 beq  0x00000001 , 0x00007fe9 
+ 00000223  0x00000138 branch  0x000002c2 
+ 00000224  0x0000013b jam  0x00000001 , 0x00004bff 
+ 00000225  0x0000013c jam  0x00000000 , 0x00004d08 
+ 00000226  0x0000013d call  0x000000f0 
+ 00000227  0x0000013e store  0x00000001 , 0x00004b6f 
+ 00000228  0x0000013f setarg  0x00000000 
+ 00000229  0x00000140 store  0x00000007 , 0x00004b70 
+ 00000230  0x00000141 fetch  0x00000004 , 0x00004c0a 
+ 00000231  0x00000142 store  0x00000004 , 0x00004b77 
+ 00000232  0x00000143 jam  0x0000000c , 0x00004bd3 
+ 00000233  0x00000144 fetch  0x00000001 , 0x00004bd4 
+ 00000234  0x00000145 set1  0x00000003 , 0x0000003f 
+ 00000235  0x00000146 store  0x00000001 , 0x00004bd4 
+ 00000236  0x00000147 call  0x00000134 
+ 00000237  0x00000148 branch  0x00000063 
+ 00000238  0x00000154 jam  0x00000001 , 0x00004d09 
+ 00000239  0x00000155 jam  0x00000000 , 0x00004d0b 
+ 00000240  0x00000157 fetch  0x00000001 , 0x00004bd4 
+ 00000241  0x00000158 and_into  0x00000007 , 0x0000003f 
+ 00000242  0x00000159 store  0x00000001 , 0x00004bd4 
+ 00000243  0x0000015a rtn 
+ 00000244  0x0000015d fetch  0x00000001 , 0x00004bd4 
+ 00000245  0x0000015e set1  0x00000004 , 0x0000003f 
+ 00000246  0x0000015f store  0x00000001 , 0x00004bd4 
+ 00000247  0x00000161 store  0x00000001 , 0x00004b8f 
+ 00000248  0x00000162 rtn 
+ 00000249  0x00000164 fetch  0x00000001 , 0x00004bd4 
+ 00000250  0x00000165 set0  0x00000004 , 0x0000003f 
+ 00000251  0x00000166 store  0x00000001 , 0x00004bd4 
+ 00000252  0x00000167 store  0x00000001 , 0x00004b8f 
+ 00000253  0x00000168 call  0x00000648 
+ 00000254  0x00000169 branch  0x000000aa 
+ 00000255  0x00000186 fetch  0x00000001 , 0x00004d08 
+ 00000256  0x00000187 bne  0x00000001 , 0x000000f0 
+ 00000257  0x00000189 fetch  0x00000001 , 0x00004d06 
+ 00000258  0x0000018a increase  0x00000001 , 0x0000003f 
+ 00000259  0x0000018b store  0x00000001 , 0x00004d06 
+ 00000260  0x0000018c beq  0x00000004 , 0x00000108 
+ 00000261  0x0000018d call  0x000000aa 
+ 00000262  0x0000018e jam  0x00000002 , 0x00004c18 
+ 00000263  0x0000018f branch  0x00000154 
+ 00000264  0x00000192 call  0x00000648 
+ 00000265  0x00000193 jam  0x00000000 , 0x00004d06 
+ 00000266  0x00000194 branch  0x000000f0 
+ 00000267  0x00000197 jam  0x00000002 , 0x00004d0b 
+ 00000268  0x00000199 jam  0x00000001 , 0x00004d09 
+ 00000269  0x0000019a jam  0x00000000 , 0x00004d08 
+ 00000270  0x0000019b branch  0x000000f0 
+ 00000271  0x0000019e fetch  0x00000001 , 0x00004d0a 
+ 00000272  0x0000019f beq  0x00000003 , 0x0000010c 
+ 00000273  0x000001a0 fetch  0x00000001 , 0x00004bd4 
+ 00000274  0x000001a1 isolate0  0x00000004 , 0x0000003f 
+ 00000275  0x000001a2 branch  0x000000ee , 0x00000001 
+ 00000276  0x000001a3 fetch  0x00000001 , 0x00004d0a 
+ 00000277  0x000001a4 beq  0x00000001 , 0x0000010b 
+ 00000278  0x000001a5 beq  0x00000002 , 0x0000010c 
+ 00000279  0x000001a6 rtn 
+ 00000280  0x000001a9 fetch  0x00000001 , 0x00004be3 
+ 00000281  0x000001aa rtnne  0x000000ff 
+ 00000282  0x000001ab call  0x0000011d 
+ 00000283  0x000001ac ncall  0x00000125 , 0x0000002c 
+ 00000284  0x000001ad rtn 
+ 00000285  0x000001b0 disable  0x0000002c 
+ 00000286  0x000001b1 fetch  0x00000001 , 0x00004d09 
+ 00000287  0x000001b2 rtnne  0x00000001 
+ 00000288  0x000001b3 fetch  0x00000001 , 0x00004d0b 
+ 00000289  0x000001b4 rtnne  0x00000000 
+ 00000290  0x000001b5 jam  0x00000001 , 0x00004d0a 
+ 00000291  0x000001b6 jam  0x00000004 , 0x00004c18 
+ 00000292  0x000001b7 branch  0x00007feb 
+ 00000293  0x000001ba fetch  0x00000001 , 0x00004d0b 
+ 00000294  0x000001bb branch  0x0000012c , 0x00000034 
+ 00000295  0x000001bc increase  0xffffffff , 0x0000003f 
+ 00000296  0x000001bd store  0x00000001 , 0x00004d0b 
+ 00000297  0x000001be jam  0x00000002 , 0x00004d0a 
+ 00000298  0x000001bf jam  0x00000004 , 0x00004c18 
+ 00000299  0x000001c0 branch  0x000000aa 
+ 00000300  0x000001c3 jam  0x00000003 , 0x00004d0a 
+ 00000301  0x000001c4 fetch  0x00000001 , 0x00004d08 
+ 00000302  0x000001c5 nbranch  0x000000ff , 0x00000034 
+ 00000303  0x000001c6 jam  0x00000002 , 0x00004c18 
+ 00000304  0x000001c7 branch  0x000000aa 
+ 00000305  0x000001ca fetch  0x00000001 , 0x00004be3 
+ 00000306  0x000001cb bne  0x000000ff , 0x000001b5 
+ 00000307  0x000001cd call  0x00000137 
+ 00000308  0x000001cf call  0x0000020c 
+ 00000309  0x000001d0 jam  0x00000001 , 0x00004bd8 
+ 00000310  0x000001d1 rtn 
+ 00000311  0x000001d4 fetch  0x00000002 , 0x00004d04 
+ 00000312  0x000001d5 call  0x00007f9c 
+ 00000313  0x000001d6 branch  0x0000013d , 0x00000028 
+ 00000314  0x000001d7 fetch  0x00000007 , 0x00004b70 
+ 00000315  0x000001d8 rtn  0x00000034 
+ 00000316  0x000001d9 branch  0x00007fe7 
+ 00000317  0x000001db call  0x000003b9 
+ 00000318  0x000001dc jam  0x00000000 , 0x00004bff 
+ 00000319  0x000001dd add  0x00000011 , 0x00000001 , 0x0000003f 
+ 00000320  0x000001de store  0x00000001 , 0x00004bd3 
+ 00000321  0x000001df call  0x000000f0 
+ 00000322  0x000001e0 store  0x00000001 , 0x00004b6f 
+ 00000323  0x000001e1 ifetcht  0x00000001 , 0x00000005 
+ 00000324  0x000001e2 ifetch  0x00000001 , 0x00000012 
+ 00000325  0x000001e3 ior  0x00000002 , 0x0000003f 
+ 00000326  0x000001e4 istore  0x00000001 , 0x00000005 
+ 00000327  0x000001e5 increase  0x00000001 , 0x00000012 
+ 00000328  0x000001e6 ifetch  0x00000004 , 0x00000012 
+ 00000329  0x000001e7 istore  0x00000004 , 0x00000005 
+ 00000330  0x000001e8 increase  0x00000004 , 0x00000012 
+ 00000331  0x000001e9 arg  0x00004b75 , 0x00000005 
+ 00000332  0x000001ea arg  0x00000002 , 0x00000039 
+ 00000333  0x000001ec ifetch  0x00000001 , 0x00000012 
+ 00000334  0x000001ed ifetcht  0x00000001 , 0x00000005 
+ 00000335  0x000001ee iadd  0x00000002 , 0x0000003f 
+ 00000336  0x000001ef istore  0x00000001 , 0x00000005 
+ 00000337  0x000001f0 increase  0x00000001 , 0x00000012 
+ 00000338  0x000001f1 loop  0x0000014d 
+ 00000339  0x000001f2 rtn 
+ 00000340  0x000001f5 jam  0x00000000 , 0x00004bdc 
+ 00000341  0x000001f7 arg  0x00000d00 , 0x0000000b 
+ 00000342  0x000001f8 until  0x00000023 , 0x00000026 
+ 00000343  0x000001f9 call  0x00000172 
+ 00000344  0x000001fa fetch  0x00000001 , 0x00004c0f 
+ 00000345  0x000001fb rtneq  0x00000001 
+ 00000346  0x000001fc nbranch  0x00000181 , 0x00000018 
+ 00000347  0x000001fd nbranch  0x00000181 , 0x0000002f 
+ 00000348  0x000001fe call  0x0000016c 
+ 00000349  0x000001ff call  0x0000019c 
+ 00000350  0x00000200 call  0x000006d9 
+ 00000351  0x00000202 fetch  0x00000001 , 0x00004bd2 
+ 00000352  0x00000203 increase  0x00000001 , 0x0000003f 
+ 00000353  0x00000204 store  0x00000001 , 0x00004bd2 
+ 00000354  0x00000205 call  0x0000016f 
+ 00000355  0x00000206 fetch  0x00000001 , 0x00004be3 
+ 00000356  0x00000207 bne  0x000000ff , 0x000001cf 
+ 00000357  0x00000208 call  0x0000010f 
+ 00000358  0x0000020a setarg  0x00000000 
+ 00000359  0x0000020b store  0x00000002 , 0x00004bd9 
+ 00000360  0x0000020c store  0x00000001 , 0x00004bdb 
+ 00000361  0x0000020d store  0x00000001 , 0x00004d07 
+ 00000362  0x0000020e jam  0x00000000 , 0x00004bd8 
+ 00000363  0x0000020f rtn 
+ 00000364  0x00000212 arg  0x00000004 , 0x00000039 
+ 00000365  0x00000213 arg  0x00004b6f , 0x00000005 
+ 00000366  0x00000214 branch  0x00007ec6 
+ 00000367  0x00000217 fetch  0x00000001 , 0x00004bd4 
+ 00000368  0x00000218 bbit1  0x00000004 , 0x000000f9 
+ 00000369  0x00000219 rtn 
+ 00000370  0x0000021c disable  0x0000002f 
+ 00000371  0x0000021d call  0x00000277 
+ 00000372  0x00000220 fetch  0x00000001 , 0x00004c0f 
+ 00000373  0x00000221 beq  0x00000001 , 0x0000017f 
+ 00000374  0x00000222 force  0x00000000 , 0x00000015 
+ 00000375  0x00000223 fetch  0x00000004 , 0x00004bfb 
+ 00000376  0x00000224 iforce  0x00000009 
+ 00000377  0x00000225 fetcht  0x00000001 , 0x00000017 
+ 00000378  0x00000226 call  0x0000291f 
+ 00000379  0x00000227 call  0x00002924 
+ 00000380  0x00000228 call  0x00000234 
+ 00000381  0x00000229 call  0x00000270 , 0x0000002f 
+ 00000382  0x0000022a rtn 
+ 00000383  0x0000022c call  0x00000270 
+ 00000384  0x0000022d branch  0x0000015f 
+ 00000385  0x00000230 fetch  0x00000002 , 0x00004bd9 
+ 00000386  0x00000231 increase  0x00000001 , 0x0000003f 
+ 00000387  0x00000232 store  0x00000002 , 0x00004bd9 
+ 00000388  0x00000233 fetch  0x00000001 , 0x00004bda 
+ 00000389  0x00000234 bbit1  0x00000004 , 0x00002dd4 
+ 00000390  0x00000236 fetch  0x00000001 , 0x00004be3 
+ 00000391  0x00000237 bne  0x000000ff , 0x0000018a 
+ 00000392  0x00000239 call  0x00000192 
+ 00000393  0x0000023a branch  0x00000155 
+ 00000394  0x0000023d fetch  0x00000001 , 0x00004bd9 
+ 00000395  0x0000023e rtnne  0x000000ff 
+ 00000396  0x00000240 setarg  0x00000000 
+ 00000397  0x00000241 store  0x00000002 , 0x00004bd9 
+ 00000398  0x00000242 branch  0x00002dd4 
+ 00000399  0x00000245 call  0x00000700 
+ 00000400  0x00000246 call  0x00000648 
+ 00000401  0x00000247 branch  0x000000aa 
+ 00000402  0x0000024a fetch  0x00000001 , 0x00004bdc 
+ 00000403  0x0000024b sub  0x0000003f , 0x0000000b , 0x0000003e 
+ 00000404  0x0000024c nbranch  0x0000018f , 0x00000002 
+ 00000405  0x0000024d increase  0x00000001 , 0x0000003f 
+ 00000406  0x0000024e store  0x00000001 , 0x00004bdc 
+ 00000407  0x0000024f beq  0x00000002 , 0x000000f4 
+ 00000408  0x00000250 beq  0x00000006 , 0x000000f9 
+ 00000409  0x00000251 beq  0x00000008 , 0x000000f4 
+ 00000410  0x00000252 beq  0x0000000c , 0x000000f9 
+ 00000411  0x00000253 rtn 
+ 00000412  0x00000256 call  0x000001ff 
+ 00000413  0x00000257 fetch  0x00000001 , 0x00004bd1 
+ 00000414  0x00000258 rtn  0x00000034 
+ 00000415  0x00000259 iforce  0x00000039 
+ 00000416  0x0000025a arg  0x00004b4f , 0x00000006 
+ 00000417  0x0000025b arg  0x00004bb1 , 0x00000005 
+ 00000418  0x0000025c branch  0x00007f01 
+ 00000419  0x0000025f jam  0x00000020 , 0x000041de 
+ 00000420  0x00000260 jam  0x00000000 , 0x00004bd2 
+ 00000421  0x00000261 jam  0x0000004e , 0x00004bdd 
+ 00000422  0x00000262 fetch  0x00000004 , 0x00004bdf 
+ 00000423  0x00000265 store  0x00000004 , 0x00004bfb 
+ 00000424  0x00000268 arg  0x00000000 , 0x00000011 
+ 00000425  0x00000269 arg  0x00000004 , 0x00000039 
+ 00000426  0x0000026a arg  0x00004bfb , 0x00000006 
+ 00000427  0x0000026c ifetch  0x00000001 , 0x00000006 
+ 00000428  0x0000026d iadd  0x00000011 , 0x00000011 
+ 00000429  0x0000026e loop  0x000001ab 
+ 00000430  0x0000026f copy  0x00000011 , 0x0000003f 
+ 00000431  0x00000270 store  0x00000002 , 0x00004c84 
+ 00000432  0x00000271 fetch  0x00000001 , 0x00004c84 
+ 00000433  0x00000272 fetcht  0x00000001 , 0x00004c85 
+ 00000434  0x00000273 iadd  0x00000002 , 0x0000003f 
+ 00000435  0x00000274 store  0x00000001 , 0x00004c86 
+ 00000436  0x00000275 rtn 
+ 00000437  0x00000278 fetch  0x00000001 , 0x00004bd8 
+ 00000438  0x00000279 beq  0x00000001 , 0x00007fe7 
+ 00000439  0x0000027a fetch  0x00000001 , 0x00004be3 
+ 00000440  0x0000027b beq  0x00000001 , 0x000001bc 
+ 00000441  0x0000027c beq  0x00000002 , 0x000001bf 
+ 00000442  0x0000027d beq  0x00000003 , 0x000001c2 
+ 00000443  0x0000027e branch  0x00002a8c 
+ 00000444  0x00000281 jam  0x00000011 , 0x00004be3 
+ 00000445  0x00000282 jam  0x000000aa , 0x0000119e 
+ 00000446  0x00000283 branch  0x000001c4 
+ 00000447  0x00000285 jam  0x00000012 , 0x00004be3 
+ 00000448  0x00000286 jam  0x00000055 , 0x0000119e 
+ 00000449  0x00000287 branch  0x000001c4 
+ 00000450  0x00000289 jam  0x00000013 , 0x00004be3 
+ 00000451  0x0000028a jam  0x00000022 , 0x0000119e 
+ 00000452  0x0000028c fetch  0x00000001 , 0x00004bd4 
+ 00000453  0x0000028d and_into  0x00000007 , 0x0000003f 
+ 00000454  0x0000028e store  0x00000001 , 0x0000119f 
+ 00000455  0x0000028f fetch  0x00000004 , 0x00004c0a 
+ 00000456  0x00000290 store  0x00000004 , 0x000011a0 
+ 00000457  0x00000292 jam  0x00000000 , 0x000011a4 
+ 00000458  0x00000293 arg  0x0000119e , 0x00000011 
+ 00000459  0x00000294 arg  0x00000007 , 0x00000002 
+ 00000460  0x00000295 call  0x000001fa 
+ 00000461  0x00000296 call  0x00000134 
+ 00000462  0x00000297 branch  0x00007fe7 
+ 00000463  0x0000029a call  0x000006d6 
+ 00000464  0x0000029c fetch  0x00000001 , 0x00004be3 
+ 00000465  0x0000029d rtneq  0x000000ff 
+ 00000466  0x0000029e beq  0x00000011 , 0x000001d6 
+ 00000467  0x0000029f beq  0x00000012 , 0x000001d8 
+ 00000468  0x000002a0 beq  0x00000013 , 0x000001da 
+ 00000469  0x000002a1 rtn 
+ 00000470  0x000002a5 jam  0x00000002 , 0x00004be3 
+ 00000471  0x000002a6 branch  0x00000166 
+ 00000472  0x000002a8 jam  0x00000003 , 0x00004be3 
+ 00000473  0x000002a9 branch  0x00000166 
+ 00000474  0x000002ab jam  0x000000ff , 0x00004be3 
+ 00000475  0x000002ac jam  0x00000039 , 0x00000a99 
+ 00000476  0x000002ad call  0x00007d86 
+ 00000477  0x000002ae fetch  0x00000004 , 0x00004bb3 
+ 00000478  0x000002af call  0x000001a7 
+ 00000479  0x000002b0 branch  0x00000166 
+ 00000480  0x000002b3 jam  0x000000ff , 0x0000119e 
+ 00000481  0x000002b4 fetch  0x00000001 , 0x00004bd4 
+ 00000482  0x000002b5 store  0x00000001 , 0x0000119f 
+ 00000483  0x000002b6 fetch  0x00000004 , 0x00004c0a 
+ 00000484  0x000002b7 store  0x00000004 , 0x000011a0 
+ 00000485  0x000002b8 arg  0x00000006 , 0x00000002 
+ 00000486  0x000002b9 arg  0x0000119e , 0x00000011 
+ 00000487  0x000002ba call  0x000001fa 
+ 00000488  0x000002bb branch  0x0000020c 
+ 00000489  0x000002be setarg  0x00000000 
+ 00000490  0x000002bf store  0x00000002 , 0x00004b43 
+ 00000491  0x000002c0 jam  0x00000000 , 0x00004b42 
+ 00000492  0x000002c1 rtn 
+ 00000493  0x000002c4 jam  0x00000020 , 0x000041de 
+ 00000494  0x000002c5 setarg  0x00000f0f 
+ 00000495  0x000002c6 store  0x00000002 , 0x00004bfb 
+ 00000496  0x000002c7 istore  0x00000002 , 0x00000005 
+ 00000497  0x000002c8 fetch  0x00000001 , 0x00004b46 
+ 00000498  0x000002c9 store  0x00000001 , 0x00004bde 
+ 00000499  0x000002ca call  0x000000a9 
+ 00000500  0x000002cb storet  0x00000001 , 0x00004b46 
+ 00000501  0x000002cc rtn 
+ 00000502  0x000002cf set0  0x00000026 , 0x00000000 
+ 00000503  0x000002d0 call  0x000053ce 
+ 00000504  0x000002d2 arg  0x00000003 , 0x00000007 
+ 00000505  0x000002d3 branch  0x000043d2 
+ 00000506  0x000002d6 storet  0x00000001 , 0x00004bd3 
+ 00000507  0x000002d7 copy  0x00000002 , 0x00000039 
+ 00000508  0x000002d8 arg  0x00004b6f , 0x00000005 
+ 00000509  0x000002d9 copy  0x00000011 , 0x00000006 
+ 00000510  0x000002da branch  0x00007f01 
+ 00000511  0x000002de fetch  0x00000001 , 0x00004b4e 
+ 00000512  0x000002df rshift3  0x0000003f , 0x0000003f 
+ 00000513  0x000002e0 store  0x00000001 , 0x00004bd1 
+ 00000514  0x000002e2 increase  0x00000001 , 0x0000003f 
+ 00000515  0x000002e3 arg  0x00004b4e , 0x00000006 
+ 00000516  0x000002e4 iadd  0x00000006 , 0x00000006 
+ 00000517  0x000002e5 ifetch  0x00000003 , 0x00000006 
+ 00000518  0x000002e6 store  0x00000003 , 0x00004c10 
+ 00000519  0x000002e8 fetch  0x00000001 , 0x00004b4e 
+ 00000520  0x000002e9 rshift  0x0000003f , 0x0000003f 
+ 00000521  0x000002ea and  0x0000003f , 0x00000003 , 0x0000003f 
+ 00000522  0x000002eb store  0x00000001 , 0x00004c16 
+ 00000523  0x000002ec rtn 
+ 00000524  0x000002f1 fetch  0x00000001 , 0x00004bd3 
+ 00000525  0x000002f2 increase  0x00000002 , 0x0000003f 
+ 00000526  0x000002f3 store  0x00000001 , 0x00004bd5 
+ 00000527  0x000002f5 fetch  0x00000001 , 0x00004bd4 
+ 00000528  0x000002f6 store  0x00000001 , 0x00004b8f 
+ 00000529  0x000002f8 fetch  0x00000001 , 0x00004bd3 
+ 00000530  0x000002f9 lshift3  0x0000003f , 0x0000003f 
+ 00000531  0x000002fa fetcht  0x00000001 , 0x00004bd2 
+ 00000532  0x000002fb and  0x00000002 , 0x00000003 , 0x00000002 
+ 00000533  0x000002fc lshift  0x00000002 , 0x00000002 
+ 00000534  0x000002fd ior  0x00000002 , 0x0000003f 
+ 00000535  0x000002fe fetcht  0x00000001 , 0x00004c0f 
+ 00000536  0x000002ff iadd  0x00000002 , 0x0000003f 
+ 00000537  0x00000300 istore  0x00000001 , 0x00000005 
+ 00000538  0x00000302 fetch  0x00000001 , 0x00004bd3 
+ 00000539  0x00000303 iforce  0x00000039 
+ 00000540  0x00000304 arg  0x00004b6f , 0x00000006 
+ 00000541  0x00000305 branch  0x00007f01 
+ 00000542  0x00000308 call  0x00000222 
+ 00000543  0x00000309 increase  0x00000001 , 0x00000002 
+ 00000544  0x0000030a and_into  0x00000003 , 0x00000002 
+ 00000545  0x0000030b rtn 
+ 00000546  0x0000030e fetch  0x00000001 , 0x00004bfb 
+ 00000547  0x0000030f and_into  0x00000003 , 0x0000003f 
+ 00000548  0x00000310 mul32  0x0000003f , 0x00000004 , 0x00000011 
+ 00000549  0x00000311 setarg  0x00004be4 
+ 00000550  0x00000312 iadd  0x00000011 , 0x0000003f 
+ 00000551  0x00000313 iadd  0x00000002 , 0x00000006 
+ 00000552  0x00000314 ifetch  0x00000001 , 0x00000006 
+ 00000553  0x00000315 store  0x00000001 , 0x00004bdd 
+ 00000554  0x00000316 rtn 
+ 00000555  0x00000319 disable  0x00000009 
+ 00000556  0x0000031a disable  0x00000007 
+ 00000557  0x0000031b setarg  0x00555555 
+ 00000558  0x0000031c iforce  0x0000000f 
+ 00000559  0x0000031d fetch  0x00000001 , 0x00004bdd 
+ 00000560  0x0000031e reverse  0x0000003f , 0x00000002 
+ 00000561  0x0000031f set1  0x00000001 , 0x00000002 
+ 00000562  0x00000320 rshift  0x00000002 , 0x0000000e 
+ 00000563  0x00000321 rtn 
+ 00000564  0x00000330 call  0x0000022b 
+ 00000565  0x00000331 disable  0x0000002f 
+ 00000566  0x00000332 enable  0x0000000d 
+ 00000567  0x00000333 enable  0x00000021 
+ 00000568  0x00000334 disable  0x00000020 
+ 00000569  0x00000335 enable  0x00000010 
+ 00000570  0x00000336 fetch  0x00000002 , 0x00004bd6 
+ 00000571  0x00000337 iforce  0x0000001b 
+ 00000572  0x00000338 correlate  0x0000003e , 0x00000003 
+ 00000573  0x00000339 nbranch  0x00000270 , 0x00000018 
+ 00000574  0x0000033c disable  0x0000000d 
+ 00000575  0x0000033d enable  0x0000000b 
+ 00000576  0x0000033e enable  0x00000007 
+ 00000577  0x0000033f enable  0x00000009 
+ 00000578  0x00000340 call  0x0000026d 
+ 00000579  0x00000341 store  0x00000001 , 0x00004c87 
+ 00000580  0x00000342 fetcht  0x00000001 , 0x00004c86 
+ 00000581  0x00000343 isub  0x00000002 , 0x0000003e 
+ 00000582  0x00000344 nbranch  0x00000270 , 0x00000005 
+ 00000583  0x00000345 call  0x0000026d 
+ 00000584  0x00000346 store  0x00000001 , 0x00004b4d 
+ 00000585  0x00000347 fetch  0x00000001 , 0x00004c19 
+ 00000586  0x00000348 sub  0x0000003f , 0x00000002 , 0x0000003e 
+ 00000587  0x00000349 branch  0x00000250 , 0x00000005 
+ 00000588  0x0000034a fetch  0x00000001 , 0x00004b4d 
+ 00000589  0x0000034b fetcht  0x00000001 , 0x00004bd4 
+ 00000590  0x0000034c icompare  0x00000007 , 0x00000002 
+ 00000591  0x0000034d nbranch  0x00000270 , 0x00000001 
+ 00000592  0x0000034f call  0x0000026d 
+ 00000593  0x00000350 istore  0x00000001 , 0x00000005 
+ 00000594  0x00000351 rshift3  0x0000003f , 0x0000003f 
+ 00000595  0x00000352 and  0x0000003f , 0x0000001f , 0x00000039 
+ 00000596  0x00000353 branch  0x00000258 , 0x00000005 
+ 00000597  0x00000355 call  0x0000026d 
+ 00000598  0x00000356 istore  0x00000001 , 0x00000005 
+ 00000599  0x00000357 loop  0x00000255 
+ 00000600  0x0000035a copy  0x00000005 , 0x00000011 
+ 00000601  0x0000035b call  0x0000026d 
+ 00000602  0x0000035c store  0x00000001 , 0x00004d0e 
+ 00000603  0x0000035d copy  0x00000011 , 0x00000005 
+ 00000604  0x0000035e parse  0x00000003 , 0x00000000 , 0x00000018 
+ 00000605  0x0000035f enable  0x00000010 
+ 00000606  0x00000360 arg  0x00000664 , 0x0000001b 
+ 00000607  0x00000361 rshift32  0x0000003f , 0x0000003f 
+ 00000608  0x00000362 rshift16  0x0000003f , 0x0000003f 
+ 00000609  0x00000363 istore  0x00000003 , 0x00000005 
+ 00000610  0x00000364 disable  0x0000000b 
+ 00000611  0x00000365 branch  0x00000270 , 0x00000006 
+ 00000612  0x00000368 enable  0x0000002f 
+ 00000613  0x00000369 fetch  0x00000001 , 0x00000017 
+ 00000614  0x0000036a add  0x0000003f , 0x00000000 , 0x00000011 
+ 00000615  0x0000036b call  0x00002981 
+ 00000616  0x0000036c disable  0x0000000d 
+ 00000617  0x0000036d call  0x00002918 
+ 00000618  0x0000036e fetch  0x00000001 , 0x00004d0e 
+ 00000619  0x0000036f call  0x0000001f 
+ 00000620  0x00000370 rtn 
+ 00000621  0x00000373 parse  0x00000003 , 0x00000000 , 0x00000008 
+ 00000622  0x00000374 rshift3  0x0000000c , 0x0000003f 
+ 00000623  0x00000375 rtn 
+ 00000624  0x0000037c disable  0x0000001b 
+ 00000625  0x0000037d disable  0x0000000b 
+ 00000626  0x0000037e call  0x0000264d 
+ 00000627  0x0000037f rtn 
+ 00000628  0x00000382 call  0x00002918 
+ 00000629  0x00000383 fetcht  0x00000001 , 0x00004bdd 
+ 00000630  0x00000384 branch  0x00002933 
+ 00000631  0x00000387 call  0x000053c4 
+ 00000632  0x00000388 fetch  0x00000004 , 0x00004bfb 
+ 00000633  0x00000389 iforce  0x00000009 
+ 00000634  0x0000038a call  0x0000022b 
+ 00000635  0x0000038b call  0x00000274 
+ 00000636  0x0000038c set1  0x00000000 , 0x00000015 
+ 00000637  0x0000038d enable  0x0000001d 
+ 00000638  0x0000038e enable  0x00000020 
+ 00000639  0x0000038f disable  0x00000021 
+ 00000640  0x00000392 rshift16  0x00000009 , 0x0000003f 
+ 00000641  0x00000393 rshift8  0x0000003f , 0x0000003f 
+ 00000642  0x00000394 rshift4  0x0000003f , 0x0000003f 
+ 00000643  0x00000395 inject  0x00000003 , 0x00000028 
+ 00000644  0x00000396 disable  0x0000001d 
+ 00000645  0x00000397 enable  0x0000001b 
+ 00000646  0x00000398 enable  0x00000007 
+ 00000647  0x00000399 enable  0x00000009 
+ 00000648  0x0000039a fetch  0x00000001 , 0x00004c86 
+ 00000649  0x0000039b inject  0x00000003 , 0x00000008 
+ 00000650  0x0000039c fetch  0x00000001 , 0x00004bd5 
+ 00000651  0x0000039d iforce  0x00000039 
+ 00000652  0x0000039e arg  0x00004b8f , 0x00000006 
+ 00000653  0x000003a0 ifetch  0x00000001 , 0x00000006 
+ 00000654  0x000003a1 inject  0x00000003 , 0x00000008 
+ 00000655  0x000003a2 loop  0x0000028d 
+ 00000656  0x000003a5 enable  0x00000008 
+ 00000657  0x000003a6 inject  0x00000003 , 0x00000018 
+ 00000658  0x000003a7 disable  0x00000008 
+ 00000659  0x000003a8 until  0x0000003e , 0x00000027 
+ 00000660  0x000003a9 nop  0x00000064 
+ 00000661  0x000003aa disable  0x0000001d 
+ 00000662  0x000003ab disable  0x0000001b 
+ 00000663  0x000003ac rtn 
+ 00000664  0x000003af call  0x00007fe9 
+ 00000665  0x000003b0 fetcht  0x00000004 , 0x00004bf4 
+ 00000666  0x000003b1 copy  0x00000022 , 0x0000003f 
+ 00000667  0x000003b2 isub  0x00000002 , 0x0000003e 
+ 00000668  0x000003b3 ncall  0x00002d18 , 0x00000002 
+ 00000669  0x000003b4 copy  0x0000003f , 0x00000012 
+ 00000670  0x000003b5 fetch  0x00000004 , 0x00004bf4 
+ 00000671  0x000003b6 fetcht  0x00000001 , 0x00004bf8 
+ 00000672  0x000003b7 iadd  0x00000002 , 0x00000002 
+ 00000673  0x000003b8 copy  0x00000012 , 0x0000003f 
+ 00000674  0x000003b9 isub  0x00000002 , 0x0000003e 
+ 00000675  0x000003ba nrtn  0x00000002 
+ 00000676  0x000003bb set0  0x0000001c , 0x0000003f 
+ 00000677  0x000003bc store  0x00000004 , 0x00004bf4 
+ 00000678  0x000003bd branch  0x00007fe7 
+ 00000679  0x000003d6 arg  0x00000000 , 0x00000002 
+ 00000680  0x000003d7 arg  0x00000008 , 0x00000039 
+ 00000681  0x000003d8 copy  0x00000011 , 0x00000006 
+ 00000682  0x000003da ifetch  0x00000001 , 0x00000006 
+ 00000683  0x000003db iadd  0x00000002 , 0x00000002 
+ 00000684  0x000003dc loop  0x000002aa 
+ 00000685  0x000003dd rshift3  0x00000002 , 0x0000003f 
+ 00000686  0x000003de copy  0x0000003f , 0x00000002 
+ 00000687  0x000003df rtnmark0  0x00000026 
+ 00000688  0x000003e1 div  0x0000003f , 0x0000000a 
+ 00000689  0x000003e2 call  0x00007f86 
+ 00000690  0x000003e3 quotient  0x0000003f 
+ 00000691  0x000003e4 lshift4  0x0000003f , 0x0000003f 
+ 00000692  0x000003e5 remainder  0x00000002 
+ 00000693  0x000003e6 ior  0x00000002 , 0x00000002 
+ 00000694  0x000003e7 rtn 
+ 00000695  0x000003e8 rtn 
+ 00000696  0x000003ec rtnmark1  0x00000026 
+ 00000697  0x000003ed call  0x0000038f 
+ 00000698  0x000003ee call  0x000002c2 
+ 00000699  0x000003ef fetch  0x00000001 , 0x00004040 
+ 00000700  0x000003f0 bbit0  0x00000000 , 0x000002bf 
+ 00000701  0x000003f1 fetch  0x00000001 , 0x000000a0 
+ 00000702  0x000003f2 nrtn  0x00000034 
+ 00000703  0x000003f4 setarg  0x00000000 
+ 00000704  0x000003f5 store  0x00000008 , 0x000000a1 
+ 00000705  0x000003f6 rtn 
+ 00000706  0x000003f9 call  0x000002cb 
+ 00000707  0x000003fa call  0x000002bf 
+ 00000708  0x000003fb call  0x00003ebf 
+ 00000709  0x000003fc hfetch  0x00000004 , 0x00008070 
+ 00000710  0x000003fd hfetcht  0x00000004 , 0x00008078 
+ 00000711  0x000003fe ior  0x00000002 , 0x00000002 
+ 00000712  0x000003ff invert  0x00000002 , 0x00000002 
+ 00000713  0x00000400 hstoret  0x00000004 , 0x0000807c 
+ 00000714  0x00000401 rtn 
+ 00000715  0x00000405 fetch  0x00000001 , 0x00004b0c 
+ 00000716  0x00000406 rtn  0x00000034 
+ 00000717  0x00000407 branch  0x000003c5 
+ 00000718  0x0000040a call  0x00003416 
+ 00000719  0x0000040b branch  0x000002d9 , 0x0000002b 
+ 00000720  0x0000040c call  0x000003d2 
+ 00000721  0x0000040d fetch  0x00000001 , 0x000041de 
+ 00000722  0x0000040e store  0x00000001 , 0x00004c8a 
+ 00000723  0x0000040f call  0x000006d6 
+ 00000724  0x00000410 fetch  0x00000001 , 0x00004685 
+ 00000725  0x00000411 store  0x00000001 , 0x000046da 
+ 00000726  0x00000412 call  0x000043ca 
+ 00000727  0x00000413 fetch  0x00000003 , 0x000044a3 
+ 00000728  0x00000414 store  0x00000003 , 0x00004b48 
+ 00000729  0x00000416 call  0x000002db 
+ 00000730  0x00000417 branch  0x000074b9 
+ 00000731  0x0000041a ncall  0x0000033b , 0x0000002b 
+ 00000732  0x0000041b call  0x00000326 
+ 00000733  0x0000041c rtn  0x0000002b 
+ 00000734  0x0000041d call  0x0000037a 
+ 00000735  0x0000041e call  0x0000058f 
+ 00000736  0x0000041f beq  0x00000005 , 0x0000030f 
+ 00000737  0x00000420 call  0x0000036d 
+ 00000738  0x00000422 call  0x000002ec 
+ 00000739  0x00000423 fetch  0x00000001 , 0x00004720 
+ 00000740  0x00000424 beq  0x00000002 , 0x000002ef 
+ 00000741  0x00000425 beq  0x000000ff , 0x000002ef 
+ 00000742  0x00000427 call  0x00000526 
+ 00000743  0x00000428 fetch  0x00000001 , 0x00004210 
+ 00000744  0x00000429 beq  0x00000034 , 0x000002f9 
+ 00000745  0x0000042d jam  0x00000001 , 0x0000479d 
+ 00000746  0x0000042e jam  0x00000028 , 0x0000479e 
+ 00000747  0x0000042f rtn 
+ 00000748  0x00000432 fetch  0x00000001 , 0x00004c8a 
+ 00000749  0x00000433 store  0x00000001 , 0x000041de 
+ 00000750  0x00000434 rtn 
+ 00000751  0x00000437 call  0x00000526 
+ 00000752  0x00000438 call  0x00000443 
+ 00000753  0x0000043c call  0x00000371 
+ 00000754  0x0000043d branch  0x0000031a , 0x00000028 
+ 00000755  0x0000043f set1  0x00000026 , 0x00000000 
+ 00000756  0x00000440 fetch  0x00000001 , 0x00004d15 
+ 00000757  0x00000441 set1  0x00000002 , 0x0000003f 
+ 00000758  0x00000442 store  0x00000001 , 0x00004d15 
+ 00000759  0x00000443 call  0x000000a9 
+ 00000760  0x00000444 branch  0x0000031e 
+ 00000761  0x0000044b jam  0x00000001 , 0x00004b40 
+ 00000762  0x0000044c jam  0x00000001 , 0x0000479f 
+ 00000763  0x0000044d fetch  0x00000002 , 0x000046a8 
+ 00000764  0x0000044e fetcht  0x00000001 , 0x00004b1e 
+ 00000765  0x0000044f sub  0x00000002 , 0x000000ff , 0x0000003e 
+ 00000766  0x00000450 nbranch  0x00000300 , 0x00000005 
+ 00000767  0x00000451 setarg  0x00000258 
+ 00000768  0x00000453 store  0x00000002 , 0x000046ae 
+ 00000769  0x00000454 call  0x00003418 
+ 00000770  0x00000455 call  0x00000308 
+ 00000771  0x00000456 setarg  0x00000004 
+ 00000772  0x00000457 istore  0x00000001 , 0x00000006 
+ 00000773  0x00000459 arg  0x00004390 , 0x00000006 
+ 00000774  0x0000045a call  0x000005fb 
+ 00000775  0x0000045c branch  0x00007df4 
+ 00000776  0x0000045f arg  0x00004370 , 0x00000011 
+ 00000777  0x00000461 ifetch  0x00000001 , 0x00000011 
+ 00000778  0x00000462 rtn  0x00000034 
+ 00000779  0x00000463 iadd  0x00000006 , 0x00000011 
+ 00000780  0x00000464 ifetch  0x00000001 , 0x00000006 
+ 00000781  0x00000465 rtneq  0x00000001 
+ 00000782  0x00000466 branch  0x00000309 
+ 00000783  0x0000046d fetch  0x00000001 , 0x00004d15 
+ 00000784  0x0000046e bbit1  0x00000002 , 0x00000312 
+ 00000785  0x0000046f rtnmark1  0x00000026 
+ 00000786  0x00000472 arg  0x00000003 , 0x00000007 
+ 00000787  0x00000473 call  0x000043ce 
+ 00000788  0x00000474 setarg  0x00000000 
+ 00000789  0x00000475 store  0x00000002 , 0x000046ae 
+ 00000790  0x00000476 store  0x00000001 , 0x000046b4 
+ 00000791  0x00000477 store  0x00000002 , 0x00004c00 
+ 00000792  0x00000478 call  0x000042ca 
+ 00000793  0x00000479 jam  0x00000002 , 0x00004720 
+ 00000794  0x0000047c set1  0x00000026 , 0x00000000 
+ 00000795  0x0000047d fetch  0x00000001 , 0x00004d15 
+ 00000796  0x0000047e set1  0x00000001 , 0x0000003f 
+ 00000797  0x0000047f store  0x00000001 , 0x00004d15 
+ 00000798  0x00000481 setarg  0x00000032 
+ 00000799  0x00000482 store  0x00000002 , 0x00004b43 
+ 00000800  0x00000483 jam  0x00000000 , 0x00004b42 
+ 00000801  0x00000484 rtn 
+ 00000802  0x00000487 set1  0x00000026 , 0x00000000 
+ 00000803  0x00000488 call  0x000001a3 
+ 00000804  0x0000048a jam  0x00000001 , 0x00004be3 
+ 00000805  0x0000048b rtn 
+ 00000806  0x0000048e jam  0x00000076 , 0x00004212 
+ 00000807  0x0000048f branch  0x00003d36 
+ 00000808  0x00000492 call  0x00000326 
+ 00000809  0x00000493 call  0x000040c0 
+ 00000810  0x00000497 call  0x000040d9 
+ 00000811  0x00000498 beq  0x00000030 , 0x00000334 
+ 00000812  0x00000499 beq  0x00000031 , 0x00000336 
+ 00000813  0x0000049a call  0x000040d1 
+ 00000814  0x0000049b nop  0x000003e8 
+ 00000815  0x0000049c branch  0x0000032a 
+ 00000816  0x0000049f jam  0x00000001 , 0x00004b0c 
+ 00000817  0x000004a0 call  0x0000640f 
+ 00000818  0x000004a1 call  0x00000328 
+ 00000819  0x000004a2 branch  0x00006411 
+ 00000820  0x000004a5 call  0x000003be 
+ 00000821  0x000004a6 branch  0x000040e0 
+ 00000822  0x000004a9 call  0x000003be 
+ 00000823  0x000004aa fetch  0x00000001 , 0x000046de 
+ 00000824  0x000004ab beq  0x00000070 , 0x000040e8 
+ 00000825  0x000004ac jam  0x00000001 , 0x000046e0 
+ 00000826  0x000004ad rtn 
+ 00000827  0x000004b0 fetch  0x00000004 , 0x000040a0 
+ 00000828  0x000004b1 store  0x00000004 , 0x00004c0a 
+ 00000829  0x000004b6 call  0x00003e6e 
+ 00000830  0x000004b7 call  0x00003e1e 
+ 00000831  0x000004b8 setarg  0x00000000 
+ 00000832  0x000004b9 store  0x00000002 , 0x00004154 
+ 00000833  0x000004ba call  0x000068a8 
+ 00000834  0x000004bb call  0x00003e54 
+ 00000835  0x000004bc call  0x00005810 
+ 00000836  0x000004bd call  0x00005839 
+ 00000837  0x000004be call  0x0000582c 
+ 00000838  0x000004bf call  0x00005818 
+ 00000839  0x000004c5 call  0x0000659c 
+ 00000840  0x000004c8 call  0x000065c2 
+ 00000841  0x000004c9 call  0x0000443f 
+ 00000842  0x000004ca call  0x0000035b 
+ 00000843  0x000004cb call  0x00000431 
+ 00000844  0x000004cc call  0x000065df 
+ 00000845  0x000004cd arg  0x00000003 , 0x00000039 
+ 00000846  0x000004ce arg  0x00004722 , 0x00000006 
+ 00000847  0x000004cf call  0x00000373 
+ 00000848  0x000004d0 nbranch  0x00000353 , 0x00000028 
+ 00000849  0x000004d1 call  0x00000355 
+ 00000850  0x000004d2 rtn 
+ 00000851  0x000004d5 jam  0x0000005a , 0x00004b1e 
+ 00000852  0x000004d6 rtn 
+ 00000853  0x000004d9 jam  0x000000ff , 0x00004b1e 
+ 00000854  0x000004da jam  0x00000034 , 0x00004210 
+ 00000855  0x000004db setarg  0x000f0f0f 
+ 00000856  0x000004dc store  0x00000003 , 0x000044a0 
+ 00000857  0x000004dd store  0x00000003 , 0x000044a3 
+ 00000858  0x000004de rtn 
+ 00000859  0x000004e3 call  0x000033c4 
+ 00000860  0x000004e4 branch  0x00000367 , 0x00000005 
+ 00000861  0x000004e5 call  0x000005cb 
+ 00000862  0x000004e6 branch  0x00003dcb 
+ 00000863  0x000004e9 arg  0x00000002 , 0x00000002 
+ 00000864  0x000004ea arg  0x00000aaa , 0x00000011 
+ 00000865  0x000004eb arg  0x00000062 , 0x00000012 
+ 00000866  0x000004ec branch  0x000065d1 
+ 00000867  0x000004ef arg  0x00000002 , 0x00000002 
+ 00000868  0x000004f0 arg  0x00000a9a , 0x00000011 
+ 00000869  0x000004f1 arg  0x00000062 , 0x00000012 
+ 00000870  0x000004f2 branch  0x000033c8 
+ 00000871  0x000004f5 arg  0x00000058 , 0x00000002 
+ 00000872  0x000004f6 arg  0x00004720 , 0x00000011 
+ 00000873  0x000004f7 arg  0x00000000 , 0x00000012 
+ 00000874  0x000004f8 call  0x000065df 
+ 00000875  0x000004f9 call  0x00000037 
+ 00000876  0x000004fa branch  0x0000431a 
+ 00000877  0x00000502 call  0x00000328 
+ 00000878  0x00000503 call  0x00000455 
+ 00000879  0x00000506 jam  0x00000000 , 0x0000471e 
+ 00000880  0x00000507 rtn 
+ 00000881  0x0000050a arg  0x00000002 , 0x00000039 
+ 00000882  0x0000050b arg  0x00004bfb , 0x00000006 
+ 00000883  0x0000050d call  0x00007fe7 
+ 00000884  0x0000050e setarg  0x0000ffff 
+ 00000885  0x00000510 ifetcht  0x00000002 , 0x00000006 
+ 00000886  0x00000511 isub  0x00000002 , 0x0000003e 
+ 00000887  0x00000512 ncall  0x00007fe9 , 0x00000005 
+ 00000888  0x00000513 loop  0x00000375 
+ 00000889  0x00000514 rtn 
+ 00000890  0x00000517 setarg  0x0000038b 
+ 00000891  0x00000518 store  0x00000002 , 0x00004d04 
+ 00000892  0x00000519 setarg  0x000003a2 
+ 00000893  0x0000051a store  0x00000002 , 0x000041ef 
+ 00000894  0x0000051b setarg  0x000006bb 
+ 00000895  0x0000051c store  0x00000002 , 0x000041f9 
+ 00000896  0x0000051d setarg  0x000002b8 
+ 00000897  0x0000051e store  0x00000002 , 0x000041ed 
+ 00000898  0x0000051f setarg  0x000003f2 
+ 00000899  0x00000520 store  0x00000002 , 0x000041f5 
+ 00000900  0x00000521 setarg  0x000003f0 
+ 00000901  0x00000522 store  0x00000002 , 0x000041f3 
+ 00000902  0x00000523 setarg  0x00000448 
+ 00000903  0x00000524 store  0x00000002 , 0x000041eb 
+ 00000904  0x00000525 setarg  0x0000045b 
+ 00000905  0x00000526 store  0x00000002 , 0x000041fd 
+ 00000906  0x00000527 rtn 
+ 00000907  0x0000052a call  0x00004401 
+ 00000908  0x0000052b fetch  0x00000002 , 0x0000469f 
+ 00000909  0x0000052c rtn  0x00000034 
+ 00000910  0x0000052d branch  0x00000093 
+ 00000911  0x00000530 arg  0x00001800 , 0x00000006 
+ 00000912  0x00000531 arg  0x0000480a , 0x00000005 
+ 00000913  0x00000532 call  0x00000397 
+ 00000914  0x00000533 arg  0x00001900 , 0x00000006 
+ 00000915  0x00000534 call  0x00000397 
+ 00000916  0x00000535 arg  0x00001a00 , 0x00000006 
+ 00000917  0x00000536 call  0x00000397 
+ 00000918  0x00000537 arg  0x00001b00 , 0x00000006 
+ 00000919  0x00000539 arg  0x0000001b , 0x00000039 
+ 00000920  0x0000053a branch  0x00007f01 
+ 00000921  0x0000053d arg  0x0000480a , 0x00000006 
+ 00000922  0x0000053e arg  0x00001800 , 0x00000005 
+ 00000923  0x0000053f call  0x00000397 
+ 00000924  0x00000540 arg  0x00001900 , 0x00000005 
+ 00000925  0x00000541 call  0x00000397 
+ 00000926  0x00000542 arg  0x00001a00 , 0x00000005 
+ 00000927  0x00000543 call  0x00000397 
+ 00000928  0x00000544 arg  0x00001b00 , 0x00000005 
+ 00000929  0x00000545 branch  0x00000397 
+ 00000930  0x00000548 call  0x00005892 
+ 00000931  0x00000549 nrtn  0x00000034 
+ 00000932  0x0000054a fetch  0x00000001 , 0x00004b1e 
+ 00000933  0x0000054b beq  0x000000ff , 0x000003a9 
+ 00000934  0x0000054c fetch  0x00000001 , 0x000046c5 
+ 00000935  0x0000054d and  0x0000003f , 0x00000003 , 0x0000003f 
+ 00000936  0x0000054e rtnne  0x00000003 
+ 00000937  0x00000550 fetch  0x00000001 , 0x0000479c 
+ 00000938  0x00000551 call  0x000003ed , 0x00000034 
+ 00000939  0x00000552 fetch  0x00000004 , 0x000046d3 
+ 00000940  0x00000555 bbit1  0x00000005 , 0x00004179 
+ 00000941  0x00000556 call  0x00003f97 
+ 00000942  0x00000557 nrtn  0x00000028 
+ 00000943  0x00000558 call  0x000003b6 
+ 00000944  0x00000559 call  0x000003b9 
+ 00000945  0x0000055a call  0x000003e8 
+ 00000946  0x0000055c arg  0x0000469a , 0x00000011 
+ 00000947  0x0000055d call  0x00007e3d 
+ 00000948  0x0000055e call  0x000003d7 , 0x00000028 
+ 00000949  0x00000560 rtn 
+ 00000950  0x00000565 jam  0x00000000 , 0x00004172 
+ 00000951  0x00000566 jam  0x0000001e , 0x00004b3b 
+ 00000952  0x00000567 rtn 
+ 00000953  0x0000056c fetch  0x00000001 , 0x00004b3a 
+ 00000954  0x0000056d rtnne  0x00000001 
+ 00000955  0x0000056e setarg  0x00000000 
+ 00000956  0x0000056f store  0x00000001 , 0x00004b3a 
+ 00000957  0x00000570 store  0x00000004 , 0x0000469b 
+ 00000958  0x00000572 setarg  0x00008006 
+ 00000959  0x00000573 call  0x00006413 
+ 00000960  0x00000574 nop  0x00002ee0 
+ 00000961  0x00000576 fetch  0x00000001 , 0x0000477a 
+ 00000962  0x00000577 bne  0x000000ff , 0x000003c5 
+ 00000963  0x00000579 fetch  0x00000001 , 0x000046e1 
+ 00000964  0x0000057a store  0x00000001 , 0x0000477a 
+ 00000965  0x0000057e fetch  0x00000001 , 0x000046e0 
+ 00000966  0x0000057f beq  0x00000006 , 0x000003c8 
+ 00000967  0x00000580 branch  0x00003d81 
+ 00000968  0x00000583 fetch  0x00000001 , 0x0000477a 
+ 00000969  0x00000584 call  0x000003ce , 0x00000034 
+ 00000970  0x00000585 fetch  0x00000001 , 0x0000477a 
+ 00000971  0x00000586 beq  0x00000001 , 0x000003d0 
+ 00000972  0x00000587 beq  0x00000003 , 0x00003d8c 
+ 00000973  0x00000588 branch  0x00003d88 
+ 00000974  0x0000058a jam  0x00000001 , 0x0000477a 
+ 00000975  0x0000058b rtn 
+ 00000976  0x0000058d jam  0x00000000 , 0x000046b5 
+ 00000977  0x0000058e branch  0x00003dc1 
+ 00000978  0x00000591 jam  0x00000007 , 0x000047a0 
+ 00000979  0x00000592 jam  0x00000004 , 0x000047a1 
+ 00000980  0x00000593 setarg  0x000047a0 
+ 00000981  0x00000594 store  0x00000002 , 0x00004218 
+ 00000982  0x00000595 branch  0x00007e38 
+ 00000983  0x00000598 fetch  0x00000001 , 0x000047c1 
+ 00000984  0x00000599 increase  0x00000001 , 0x0000003f 
+ 00000985  0x0000059a store  0x00000001 , 0x000047c1 
+ 00000986  0x0000059b rtn 
+ 00000987  0x0000059e arg  0x0000469a , 0x00000011 
+ 00000988  0x0000059f call  0x00007e54 
+ 00000989  0x000005a0 branch  0x000003df , 0x00000028 
+ 00000990  0x000005a1 rtn 
+ 00000991  0x000005a4 call  0x00005652 
+ 00000992  0x000005a5 fetch  0x00000001 , 0x000047c1 
+ 00000993  0x000005a6 sub  0x0000003f , 0x00000001 , 0x0000003e 
+ 00000994  0x000005a7 ncall  0x00005650 , 0x00000002 
+ 00000995  0x000005a8 fetch  0x00000001 , 0x000047c1 
+ 00000996  0x000005a9 rtn  0x00000034 
+ 00000997  0x000005aa increase  0xffffffff , 0x0000003f 
+ 00000998  0x000005ab store  0x00000001 , 0x000047c1 
+ 00000999  0x000005ac branch  0x00003f90 
+ 00001000  0x000005af fetch  0x00000002 , 0x0000469f 
+ 00001001  0x000005b0 rtn  0x00000034 
+ 00001002  0x000005b1 jam  0x00000001 , 0x00004806 
+ 00001003  0x000005b2 jam  0x00000002 , 0x00004807 
+ 00001004  0x000005b3 rtn 
+ 00001005  0x000005b7 call  0x00005814 
+ 00001006  0x000005b8 jam  0x00000001 , 0x0000479c 
+ 00001007  0x000005b9 branch  0x000003be 
+ 00001008  0x000005bc call  0x00007e34 
+ 00001009  0x000005be branch  0x00003ee0 
+ 00001010  0x000005da copy  0x00000013 , 0x0000003f 
+ 00001011  0x000005db beq  0x00000014 , 0x000003fc 
+ 00001012  0x000005dc beq  0x00000015 , 0x00000404 
+ 00001013  0x000005dd beq  0x00000029 , 0x0000040e 
+ 00001014  0x000005de beq  0x00000032 , 0x00000410 
+ 00001015  0x000005df beq  0x00000040 , 0x00000417 
+ 00001016  0x000005e0 beq  0x00000039 , 0x00000423 
+ 00001017  0x000005e1 beq  0x0000003a , 0x00000435 
+ 00001018  0x000005e2 beq  0x0000003c , 0x0000043f 
+ 00001019  0x000005e3 branch  0x0000417d 
+ 00001020  0x000005e6 jam  0x00000001 , 0x00004b41 
+ 00001021  0x000005e7 fetch  0x00000001 , 0x0000479f 
+ 00001022  0x000005e8 nbranch  0x00000400 , 0x00000034 
+ 00001023  0x000005e9 jam  0x00000014 , 0x00004b3f 
+ 00001024  0x000005eb call  0x00000330 
+ 00001025  0x000005ec call  0x0000043c 
+ 00001026  0x000005ed call  0x000003d2 
+ 00001027  0x000005ee branch  0x000041c3 
+ 00001028  0x000005f1 jam  0x00000000 , 0x00004b41 
+ 00001029  0x000005f2 call  0x00000452 
+ 00001030  0x000005f3 setarg  0x00000007 
+ 00001031  0x000005f4 store  0x00000002 , 0x00004496 
+ 00001032  0x000005f5 store  0x00000002 , 0x00004498 
+ 00001033  0x000005f6 jam  0x00000000 , 0x000047c4 
+ 00001034  0x000005f7 jam  0x00000000 , 0x0000479c 
+ 00001035  0x000005f8 call  0x000003d2 
+ 00001036  0x000005f9 call  0x00005816 
+ 00001037  0x000005fa branch  0x000041d9 
+ 00001038  0x000005fe jam  0x00000012 , 0x00000a99 
+ 00001039  0x000005ff branch  0x00007d8f 
+ 00001040  0x00000602 fetch  0x00000001 , 0x0000479f 
+ 00001041  0x00000603 beq  0x00000001 , 0x00000413 
+ 00001042  0x00000604 branch  0x00000415 
+ 00001043  0x00000607 call  0x0000040e 
+ 00001044  0x00000608 jam  0x00000014 , 0x000046c6 
+ 00001045  0x0000060a arg  0x00000001 , 0x00000007 
+ 00001046  0x0000060b branch  0x000041b9 
+ 00001047  0x0000060e fetch  0x00000002 , 0x00004509 
+ 00001048  0x0000060f rtneq  0x00000000 
+ 00001049  0x00000610 fetch  0x00000001 , 0x00000441 
+ 00001050  0x00000611 rshift2  0x0000003f , 0x0000003f 
+ 00001051  0x00000612 sub  0x0000003f , 0x0000000c , 0x0000003e 
+ 00001052  0x00000613 rtn  0x00000002 
+ 00001053  0x00000614 setarg  0x00000009 
+ 00001054  0x00000615 store  0x00000002 , 0x00004496 
+ 00001055  0x00000616 store  0x00000002 , 0x00004498 
+ 00001056  0x00000617 call  0x0000040e 
+ 00001057  0x00000619 jam  0x00000001 , 0x000047c4 
+ 00001058  0x0000061a rtn 
+ 00001059  0x0000061f call  0x000001e9 
+ 00001060  0x00000620 call  0x00000330 
+ 00001061  0x00000621 jam  0x00000001 , 0x0000478b 
+ 00001062  0x00000622 arg  0x00000003 , 0x00000007 
+ 00001063  0x00000623 call  0x000043d2 
+ 00001064  0x00000624 setarg  0x00000000 
+ 00001065  0x00000625 store  0x00000002 , 0x00004707 
+ 00001066  0x00000626 jam  0x00000000 , 0x000046a7 
+ 00001067  0x00000628 call  0x0000405d 
+ 00001068  0x00000629 call  0x0000043c 
+ 00001069  0x0000062a call  0x00000443 
+ 00001070  0x0000062b call  0x000002ec 
+ 00001071  0x0000062d call  0x00000431 
+ 00001072  0x0000062e branch  0x000065d1 
+ 00001073  0x00000631 arg  0x00004bfb , 0x00000011 
+ 00001074  0x00000632 arg  0x0000005b , 0x00000012 
+ 00001075  0x00000633 arg  0x00000004 , 0x00000002 
+ 00001076  0x00000634 rtn 
+ 00001077  0x00000637 call  0x00000452 
+ 00001078  0x00000638 jam  0x00000000 , 0x00004d13 
+ 00001079  0x00000639 call  0x000002ec 
+ 00001080  0x0000063a call  0x000001f6 
+ 00001081  0x0000063c fetch  0x00000001 , 0x00004b09 
+ 00001082  0x0000063d nbranch  0x000002e9 , 0x00000034 
+ 00001083  0x0000063e branch  0x0000340a 
+ 00001084  0x00000641 jam  0x00000000 , 0x0000479d 
+ 00001085  0x00000642 jam  0x00000000 , 0x0000479e 
+ 00001086  0x00000643 rtn 
+ 00001087  0x00000646 call  0x000001e9 
+ 00001088  0x00000647 call  0x00000330 
+ 00001089  0x00000648 call  0x00003f8d 
+ 00001090  0x00000649 call  0x0000043c 
+ 00001091  0x0000064b call  0x00004366 
+ 00001092  0x0000064d arg  0x00000001 , 0x00000002 
+ 00001093  0x0000064e arg  0x00004720 , 0x00000011 
+ 00001094  0x0000064f arg  0x00000000 , 0x00000012 
+ 00001095  0x00000650 branch  0x000065d1 
+ 00001096  0x00000654 enable  0x00000028 
+ 00001097  0x00000655 hfetch  0x00000004 , 0x00008138 
+ 00001098  0x00000656 setflag  0x00000028 , 0x0000001a , 0x0000003f 
+ 00001099  0x00000657 hstore  0x00000004 , 0x0000804c 
+ 00001100  0x00000658 call  0x00002c21 
+ 00001101  0x00000659 call  0x00000452 
+ 00001102  0x0000065a call  0x000074bd 
+ 00001103  0x0000065b call  0x00004482 
+ 00001104  0x0000065c call  0x00003e9f 
+ 00001105  0x0000065d branch  0x00003ebf 
+ 00001106  0x00000660 fetch  0x00000001 , 0x00004b0c 
+ 00001107  0x00000661 rtn  0x00000034 
+ 00001108  0x00000662 jam  0x00000000 , 0x00004b0c 
+ 00001109  0x00000665 setarg  0x00000006 
+ 00001110  0x00000666 call  0x00006414 
+ 00001111  0x00000667 or  0x0000003f , 0x00000008 , 0x0000003f 
+ 00001112  0x00000668 lshift8  0x0000003f , 0x0000003f 
+ 00001113  0x00000669 add  0x0000003f , 0x00000006 , 0x0000003f 
+ 00001114  0x0000066a branch  0x00006413 
+ 00001115  0x0000066d call  0x00000537 
+ 00001116  0x0000066e call  0x00000572 
+ 00001117  0x0000066f call  0x00000489 
+ 00001118  0x00000670 call  0x000004a7 
+ 00001119  0x00000671 call  0x0000048e 
+ 00001120  0x00000672 call  0x000004b0 
+ 00001121  0x00000673 call  0x00004234 
+ 00001122  0x00000674 call  0x0000046a 
+ 00001123  0x00000675 call  0x00000471 
+ 00001124  0x00000676 call  0x00004237 
+ 00001125  0x00000677 call  0x00000478 
+ 00001126  0x00000678 call  0x0000047b 
+ 00001127  0x00000679 call  0x00000481 
+ 00001128  0x0000067a call  0x000004e6 
+ 00001129  0x0000067b branch  0x0000423a 
+ 00001130  0x0000067f arg  0x00004b3c , 0x00000013 
+ 00001131  0x00000680 arg  0x0000046d , 0x00000012 
+ 00001132  0x00000681 branch  0x0000336d 
+ 00001133  0x00000683 setarg  0x0036ee80 
+ 00001134  0x00000684 store  0x00000003 , 0x00004c02 
+ 00001135  0x00000686 jam  0x00000001 , 0x00004b3a 
+ 00001136  0x00000687 rtn 
+ 00001137  0x0000068a arg  0x00004b43 , 0x00000013 
+ 00001138  0x0000068b arg  0x00000474 , 0x00000012 
+ 00001139  0x0000068c branch  0x00003374 
+ 00001140  0x0000068e jam  0x00000001 , 0x00004b42 
+ 00001141  0x0000068f call  0x00000531 
+ 00001142  0x00000690 call  0x00000455 
+ 00001143  0x00000691 branch  0x000002e9 
+ 00001144  0x00000696 arg  0x000046c6 , 0x00000013 
+ 00001145  0x00000697 arg  0x00003d60 , 0x00000012 
+ 00001146  0x00000698 branch  0x0000336d 
+ 00001147  0x0000069b arg  0x00004b3b , 0x00000013 
+ 00001148  0x0000069c arg  0x0000047e , 0x00000012 
+ 00001149  0x0000069d branch  0x0000336d 
+ 00001150  0x0000069f fetch  0x00000001 , 0x000047c5 
+ 00001151  0x000006a0 store  0x00000001 , 0x00004172 
+ 00001152  0x000006a1 branch  0x0000046f 
+ 00001153  0x000006a4 fetch  0x00000001 , 0x00004b41 
+ 00001154  0x000006a5 rtn  0x00000034 
+ 00001155  0x000006a6 arg  0x00004b3f , 0x00000013 
+ 00001156  0x000006a7 arg  0x00000486 , 0x00000012 
+ 00001157  0x000006a8 branch  0x0000336d 
+ 00001158  0x000006ab fetch  0x00000001 , 0x00004b40 
+ 00001159  0x000006ac nrtn  0x00000034 
+ 00001160  0x000006ad branch  0x00005bf5 
+ 00001161  0x000006b0 arg  0x00004807 , 0x00000013 
+ 00001162  0x000006b1 arg  0x0000048c , 0x00000012 
+ 00001163  0x000006b2 branch  0x0000336d 
+ 00001164  0x000006b4 jam  0x00000000 , 0x00004806 
+ 00001165  0x000006b5 rtn 
+ 00001166  0x000006b9 fetcht  0x00000001 , 0x000046ec 
+ 00001167  0x000006ba call  0x0000681d 
+ 00001168  0x000006bb branch  0x00000494 , 0x00000001 
+ 00001169  0x000006bd call  0x000043a9 
+ 00001170  0x000006be arg  0x00000009 , 0x00000007 
+ 00001171  0x000006bf branch  0x000043d2 
+ 00001172  0x000006c2 jam  0x00000028 , 0x0000479e 
+ 00001173  0x000006c3 call  0x00000497 
+ 00001174  0x000006c4 branch  0x000043b0 
+ 00001175  0x000006c7 arg  0x000046da , 0x00000013 
+ 00001176  0x000006c8 arg  0x0000049a , 0x00000012 
+ 00001177  0x000006c9 branch  0x0000336d 
+ 00001178  0x000006cc fetch  0x00000004 , 0x000046d3 
+ 00001179  0x000006cd rtnbit1  0x00000009 
+ 00001180  0x000006ce jam  0x00000000 , 0x00004b0a 
+ 00001181  0x000006cf call  0x000004e2 
+ 00001182  0x000006d0 fetch  0x00000002 , 0x00004682 
+ 00001183  0x000006d1 isolate1  0x0000000b , 0x0000003f 
+ 00001184  0x000006d2 call  0x000042d4 , 0x00000001 
+ 00001185  0x000006d3 fetch  0x00000002 , 0x00004682 
+ 00001186  0x000006d4 isolate1  0x00000007 , 0x0000003f 
+ 00001187  0x000006d5 call  0x00004392 , 0x00000001 
+ 00001188  0x000006d6 arg  0x00000009 , 0x00000007 
+ 00001189  0x000006d7 call  0x000043ce 
+ 00001190  0x000006d8 branch  0x000043b8 
+ 00001191  0x000006db fetch  0x00000001 , 0x0000479d 
+ 00001192  0x000006dc rtn  0x00000034 
+ 00001193  0x000006dd fetch  0x00000001 , 0x00004b06 
+ 00001194  0x000006de nrtn  0x00000034 
+ 00001195  0x000006df arg  0x0000479e , 0x00000013 
+ 00001196  0x000006e0 arg  0x000004ae , 0x00000012 
+ 00001197  0x000006e1 branch  0x0000336d 
+ 00001198  0x000006e4 jam  0x00000000 , 0x0000479d 
+ 00001199  0x000006e5 branch  0x0000340a 
+ 00001200  0x000006e9 fetcht  0x00000001 , 0x000046ed 
+ 00001201  0x000006ea call  0x000005b7 
+ 00001202  0x000006eb fetcht  0x00000001 , 0x000046ed 
+ 00001203  0x000006ec call  0x0000681d 
+ 00001204  0x000006ed branch  0x000004cd , 0x00000001 
+ 00001205  0x000006f1 fetch  0x00000001 , 0x00004b3d 
+ 00001206  0x000006f2 nbranch  0x000004db , 0x00000034 
+ 00001207  0x000006f3 fetch  0x00000001 , 0x000046d9 
+ 00001208  0x000006f4 rtneq  0x00000001 
+ 00001209  0x000006f5 jam  0x00000001 , 0x000046d9 
+ 00001210  0x000006f6 jam  0x00000001 , 0x00004aff 
+ 00001211  0x000006f7 arg  0x00000001 , 0x00000002 
+ 00001212  0x000006f8 arg  0x00004b0a , 0x00000011 
+ 00001213  0x000006f9 arg  0x00000061 , 0x00000012 
+ 00001214  0x000006fa call  0x000065df 
+ 00001215  0x000006fb fetch  0x00000001 , 0x00004b0a 
+ 00001216  0x000006fc branch  0x000004e1 , 0x00000034 
+ 00001217  0x000006fe call  0x000004c6 
+ 00001218  0x000006ff jam  0x00000000 , 0x000041bd 
+ 00001219  0x00000700 call  0x00000444 
+ 00001220  0x00000701 call  0x000043c0 
+ 00001221  0x00000702 branch  0x0000437e 
+ 00001222  0x00000705 fetcht  0x00000001 , 0x00004720 
+ 00001223  0x00000706 increase  0x00000001 , 0x00000002 
+ 00001224  0x00000707 fetch  0x00000001 , 0x000046d2 
+ 00001225  0x00000708 isub  0x00000002 , 0x0000003e 
+ 00001226  0x00000709 ncall  0x000043cc , 0x00000002 
+ 00001227  0x0000070a storet  0x00000001 , 0x00004720 
+ 00001228  0x0000070b rtn 
+ 00001229  0x0000070e fetch  0x00000002 , 0x00004682 
+ 00001230  0x0000070f bbit1  0x0000000b , 0x000004d0 
+ 00001231  0x00000710 jam  0x00000000 , 0x00004aff 
+ 00001232  0x00000712 fetch  0x00000001 , 0x000046d9 
+ 00001233  0x00000713 rtneq  0x00000000 
+ 00001234  0x00000714 jam  0x00000000 , 0x000046d9 
+ 00001235  0x00000716 fetch  0x00000002 , 0x00004208 
+ 00001236  0x00000717 rtnbit1  0x0000000a 
+ 00001237  0x00000719 fetch  0x00000001 , 0x00004720 
+ 00001238  0x0000071a rtnne  0x00000001 
+ 00001239  0x0000071c fetch  0x00000002 , 0x0000420a 
+ 00001240  0x0000071d set1  0x0000000a , 0x0000003f 
+ 00001241  0x0000071e store  0x00000002 , 0x0000420a 
+ 00001242  0x0000071f branch  0x00004386 
+ 00001243  0x00000722 jam  0x00000000 , 0x00004b3d 
+ 00001244  0x00000723 fetch  0x00000001 , 0x000046d9 
+ 00001245  0x00000724 nbranch  0x000002e2 , 0x00000034 
+ 00001246  0x00000725 jam  0x00000001 , 0x000046d9 
+ 00001247  0x00000726 jam  0x00000001 , 0x00004aff 
+ 00001248  0x00000727 rtn 
+ 00001249  0x0000072a jam  0x000000ff , 0x00004b0a 
+ 00001250  0x0000072d arg  0x00000001 , 0x00000002 
+ 00001251  0x0000072e arg  0x00004b0a , 0x00000011 
+ 00001252  0x0000072f arg  0x00000061 , 0x00000012 
+ 00001253  0x00000730 branch  0x000065d1 
+ 00001254  0x00000733 fetch  0x00000001 , 0x00004aff 
+ 00001255  0x00000734 rtn  0x00000034 
+ 00001256  0x00000735 fetch  0x00000001 , 0x00004b02 
+ 00001257  0x00000736 beq  0x00000000 , 0x000004ec 
+ 00001258  0x00000737 beq  0x00000001 , 0x000004f6 
+ 00001259  0x00000738 rtn 
+ 00001260  0x0000073b call  0x00000500 
+ 00001261  0x0000073c fetch  0x00000001 , 0x00004b07 
+ 00001262  0x0000073d increase  0x00000001 , 0x0000003f 
+ 00001263  0x0000073e store  0x00000001 , 0x00004b07 
+ 00001264  0x0000073f fetcht  0x00000001 , 0x00004b03 
+ 00001265  0x00000740 isub  0x00000002 , 0x0000003e 
+ 00001266  0x00000741 call  0x000004f4 , 0x00000005 
+ 00001267  0x00000742 rtn 
+ 00001268  0x00000744 jam  0x00000000 , 0x00004b09 
+ 00001269  0x00000745 branch  0x00000514 
+ 00001270  0x00000748 fetch  0x00000001 , 0x00004b05 
+ 00001271  0x00000749 increase  0xffffffff , 0x0000003f 
+ 00001272  0x0000074a store  0x00000001 , 0x00004b05 
+ 00001273  0x0000074b nrtn  0x00000034 
+ 00001274  0x0000074c fetch  0x00000001 , 0x00004b04 
+ 00001275  0x0000074d store  0x00000001 , 0x00004b05 
+ 00001276  0x00000755 fetch  0x00000001 , 0x00004b01 
+ 00001277  0x00000756 beq  0x00000001 , 0x00000514 
+ 00001278  0x00000757 beq  0x00000000 , 0x00000500 
+ 00001279  0x00000758 rtn 
+ 00001280  0x0000075b jam  0x00000001 , 0x00004b01 
+ 00001281  0x0000075c fetch  0x00000001 , 0x00004720 
+ 00001282  0x0000075d beq  0x00000002 , 0x00000508 
+ 00001283  0x0000075f fetcht  0x00000001 , 0x00004b00 
+ 00001284  0x00000760 call  0x0000680e 
+ 00001285  0x00000761 fetcht  0x00000001 , 0x00004b00 
+ 00001286  0x00000762 call  0x00006825 
+ 00001287  0x00000763 branch  0x0000050c 
+ 00001288  0x00000765 fetcht  0x00000001 , 0x00004b4b 
+ 00001289  0x00000766 call  0x0000680e 
+ 00001290  0x00000767 fetcht  0x00000001 , 0x00004b4b 
+ 00001291  0x00000768 call  0x00006825 
+ 00001292  0x0000076a fetch  0x00000002 , 0x00004682 
+ 00001293  0x0000076b rtnbit1  0x0000000b 
+ 00001294  0x0000076d fetcht  0x00000001 , 0x00004b4c 
+ 00001295  0x0000076e call  0x0000680e 
+ 00001296  0x0000076f fetcht  0x00000001 , 0x00004b4c 
+ 00001297  0x00000770 branch  0x00006825 
+ 00001298  0x00000773 setarg  0x00000000 
+ 00001299  0x00000774 store  0x00000003 , 0x00004b05 
+ 00001300  0x00000776 fetch  0x00000001 , 0x00004b06 
+ 00001301  0x00000777 nbranch  0x00000518 , 0x00000034 
+ 00001302  0x00000778 jam  0x00000000 , 0x00004aff 
+ 00001303  0x00000779 jam  0x00000000 , 0x00004b02 
+ 00001304  0x0000077b jam  0x00000000 , 0x00004b07 
+ 00001305  0x0000077c jam  0x00000000 , 0x00004b01 
+ 00001306  0x0000077d fetcht  0x00000001 , 0x00004b00 
+ 00001307  0x0000077e call  0x0000680e 
+ 00001308  0x0000077f fetcht  0x00000001 , 0x00004b00 
+ 00001309  0x00000780 call  0x00006829 
+ 00001310  0x00000781 fetcht  0x00000001 , 0x00004b4b 
+ 00001311  0x00000782 call  0x0000680e 
+ 00001312  0x00000783 fetcht  0x00000001 , 0x00004b4b 
+ 00001313  0x00000784 call  0x00006829 
+ 00001314  0x00000785 fetcht  0x00000001 , 0x00004b4c 
+ 00001315  0x00000786 call  0x0000680e 
+ 00001316  0x00000787 fetcht  0x00000001 , 0x00004b4c 
+ 00001317  0x00000788 branch  0x00006829 
+ 00001318  0x0000078d jam  0x00000001 , 0x00004b09 
+ 00001319  0x0000078e jam  0x00000001 , 0x00004aff 
+ 00001320  0x0000078f jam  0x00000000 , 0x00004b02 
+ 00001321  0x00000790 jam  0x00000000 , 0x00004b07 
+ 00001322  0x00000791 rtn 
+ 00001323  0x0000079d jam  0x00000003 , 0x00004b04 
+ 00001324  0x000007a0 jam  0x00000001 , 0x00004b06 
+ 00001325  0x000007a2 jam  0x00000001 , 0x00004b05 
+ 00001326  0x000007a3 jam  0x00000001 , 0x00004aff 
+ 00001327  0x000007a4 jam  0x00000001 , 0x00004b02 
+ 00001328  0x000007a5 rtn 
+ 00001329  0x000007a8 jam  0x00000000 , 0x00004b06 
+ 00001330  0x000007a9 fetch  0x00000001 , 0x00004b07 
+ 00001331  0x000007aa nrtn  0x00000034 
+ 00001332  0x000007ab fetch  0x00000001 , 0x00004b09 
+ 00001333  0x000007ac nrtn  0x00000034 
+ 00001334  0x000007ad branch  0x00000512 
+ 00001335  0x000007b9 fetch  0x00000002 , 0x00004b06 
+ 00001336  0x000007ba nrtn  0x00000034 
+ 00001337  0x000007bc arg  0x000046ce , 0x00000013 
+ 00001338  0x000007bd arg  0x0000053c , 0x00000012 
+ 00001339  0x000007be branch  0x0000336d 
+ 00001340  0x000007c0 jam  0x0000000a , 0x000046ce 
+ 00001341  0x000007c1 call  0x00000559 
+ 00001342  0x000007c2 call  0x00006908 
+ 00001343  0x000007c6 mul32  0x0000003f , 0x00000002 , 0x0000003f 
+ 00001344  0x000007c7 arg  0x0000000e , 0x00000002 
+ 00001345  0x000007c8 isub  0x00000002 , 0x0000003f 
+ 00001346  0x000007c9 sub  0x0000003f , 0x00000078 , 0x0000003e 
+ 00001347  0x000007ca call  0x00000553 , 0x00000002 
+ 00001348  0x000007cc sub  0x0000003f , 0x00000064 , 0x0000003e 
+ 00001349  0x000007cd call  0x00000556 , 0x00000002 
+ 00001350  0x000007cf store  0x00000002 , 0x0000470f 
+ 00001351  0x000007d0 arg  0x00004709 , 0x00000011 
+ 00001352  0x000007d1 call  0x00000565 
+ 00001353  0x000007d2 fetch  0x00000001 , 0x00004231 
+ 00001354  0x000007d3 bbit1  0x00000001 , 0x0000340a 
+ 00001355  0x000007d4 bbit0  0x00000000 , 0x0000054e 
+ 00001356  0x000007d5 jam  0x00000001 , 0x00004b0b 
+ 00001357  0x000007d6 branch  0x000043e7 
+ 00001358  0x000007d8 call  0x000043e9 
+ 00001359  0x000007d9 fetch  0x00000001 , 0x00004b0b 
+ 00001360  0x000007da rtn  0x00000034 
+ 00001361  0x000007db jam  0x00000000 , 0x00004b0b 
+ 00001362  0x000007dc branch  0x00000514 
+ 00001363  0x000007df arg  0x00000008 , 0x00000002 
+ 00001364  0x000007e0 isub  0x00000002 , 0x0000003f 
+ 00001365  0x000007e1 rtn 
+ 00001366  0x000007e4 arg  0x00000006 , 0x00000002 
+ 00001367  0x000007e5 isub  0x00000002 , 0x0000003f 
+ 00001368  0x000007e6 rtn 
+ 00001369  0x000007ea fetch  0x00000001 , 0x0000422d 
+ 00001370  0x000007eb beq  0x00000002 , 0x0000055c 
+ 00001371  0x000007ec branch  0x000068ec 
+ 00001372  0x000007ee fetcht  0x00000001 , 0x000046f8 
+ 00001373  0x000007ef call  0x000067fb 
+ 00001374  0x000007f0 hfetch  0x00000001 , 0x0000807c 
+ 00001375  0x000007f1 set0  0x00000005 , 0x0000003f 
+ 00001376  0x000007f2 hstore  0x00000001 , 0x0000807c 
+ 00001377  0x000007f4 hfetch  0x00000001 , 0x00008078 
+ 00001378  0x000007f5 set0  0x00000005 , 0x0000003f 
+ 00001379  0x000007f6 hstore  0x00000001 , 0x00008078 
+ 00001380  0x000007f7 branch  0x000068f4 
+ 00001381  0x000007fa ifetch  0x00000008 , 0x00000011 
+ 00001382  0x000007fb store  0x00000008 , 0x00000a9a 
+ 00001383  0x000007fc fetcht  0x00000002 , 0x00000a9c 
+ 00001384  0x000007fd fetch  0x00000002 , 0x00000aa0 
+ 00001385  0x000007fe isub  0x00000002 , 0x0000003e 
+ 00001386  0x000007ff nbranch  0x00006944 , 0x00000002 
+ 00001387  0x00000800 fetcht  0x00000002 , 0x00000a9e 
+ 00001388  0x00000801 isub  0x00000002 , 0x0000003e 
+ 00001389  0x00000802 nbranch  0x00006940 , 0x00000002 
+ 00001390  0x00000804 fetch  0x00000001 , 0x00004231 
+ 00001391  0x00000805 set0  0x00000000 , 0x0000003f 
+ 00001392  0x00000806 store  0x00000001 , 0x00004231 
+ 00001393  0x00000807 rtn 
+ 00001394  0x0000080a fetch  0x00000004 , 0x000046d3 
+ 00001395  0x0000080b rtnbit0  0x00000004 
+ 00001396  0x0000080c fetch  0x00000002 , 0x00004682 
+ 00001397  0x0000080d rtnbit1  0x0000000b 
+ 00001398  0x0000080f fetch  0x00000002 , 0x00004b06 
+ 00001399  0x00000810 nrtn  0x00000034 
+ 00001400  0x00000812 fetch  0x00000001 , 0x000046cf 
+ 00001401  0x00000813 pincrease  0x00000001 
+ 00001402  0x00000814 store  0x00000001 , 0x000046cf 
+ 00001403  0x00000815 beq  0x00000005 , 0x0000050c 
+ 00001404  0x00000816 sub  0x0000003f , 0x0000000a , 0x0000003e 
+ 00001405  0x00000817 nbranch  0x0000057f , 0x00000002 
+ 00001406  0x00000818 rtn 
+ 00001407  0x0000081a jam  0x00000001 , 0x000046cf 
+ 00001408  0x0000081b branch  0x00000514 
+ 00001409  0x00000820 disable  0x00000028 
+ 00001410  0x00000821 setarg  0x00000000 
+ 00001411  0x00000822 store  0x00000006 , 0x0000469b 
+ 00001412  0x00000823 call  0x0000058a 
+ 00001413  0x00000824 call  0x00004079 
+ 00001414  0x00000825 call  0x0000407e 
+ 00001415  0x00000826 call  0x0000058d 
+ 00001416  0x00000827 nrtn  0x00000028 
+ 00001417  0x00000828 branch  0x00003fa0 
+ 00001418  0x00000830 call  0x00003fc0 
+ 00001419  0x00000831 disable  0x00000028 
+ 00001420  0x00000837 branch  0x00003fe7 
+ 00001421  0x00000842 call  0x0000058f 
+ 00001422  0x00000843 branch  0x0000409a 
+ 00001423  0x00000845 arg  0x00000000 , 0x00000011 
+ 00001424  0x00000846 call  0x00000595 
+ 00001425  0x00000849 call  0x00000593 
+ 00001426  0x0000084a branch  0x0000408e 
+ 00001427  0x0000084f call  0x000005a5 
+ 00001428  0x00000850 branch  0x000005ab 
+ 00001429  0x00000853 fetcht  0x00000001 , 0x000046e2 
+ 00001430  0x00000854 call  0x000005b7 
+ 00001431  0x00000855 fetcht  0x00000001 , 0x000046e2 
+ 00001432  0x00000856 call  0x0000681d 
+ 00001433  0x00000857 setflag  0x00000001 , 0x00000000 , 0x00000011 
+ 00001434  0x0000085a fetcht  0x00000001 , 0x000046e3 
+ 00001435  0x0000085b call  0x000005b7 
+ 00001436  0x0000085c fetcht  0x00000001 , 0x000046e3 
+ 00001437  0x0000085d call  0x0000681d 
+ 00001438  0x0000085e setflag  0x00000001 , 0x00000001 , 0x00000011 
+ 00001439  0x00000861 fetcht  0x00000001 , 0x000046e4 
+ 00001440  0x00000862 call  0x000005b7 
+ 00001441  0x00000863 fetcht  0x00000001 , 0x000046e4 
+ 00001442  0x00000864 call  0x0000681d 
+ 00001443  0x00000865 setflag  0x00000001 , 0x00000002 , 0x00000011 
+ 00001444  0x00000866 rtn 
+ 00001445  0x00000868 fetcht  0x00000001 , 0x000046e5 
+ 00001446  0x00000869 call  0x000005b1 
+ 00001447  0x0000086a fetcht  0x00000001 , 0x000046e5 
+ 00001448  0x0000086b call  0x0000681d 
+ 00001449  0x0000086c nsetflag  0x00000001 , 0x00000003 , 0x00000011 
+ 00001450  0x0000086d branch  0x000005b7 
+ 00001451  0x0000086f fetcht  0x00000001 , 0x000046e6 
+ 00001452  0x00000870 call  0x000005b1 
+ 00001453  0x00000871 fetcht  0x00000001 , 0x000046e6 
+ 00001454  0x00000872 call  0x0000681d 
+ 00001455  0x00000873 nsetflag  0x00000001 , 0x00000004 , 0x00000011 
+ 00001456  0x00000874 branch  0x000005b7 
+ 00001457  0x00000876 set0  0x00000007 , 0x00000002 
+ 00001458  0x00000877 arg  0x00008078 , 0x00000005 
+ 00001459  0x00000878 call  0x00006830 
+ 00001460  0x00000879 set1  0x00000007 , 0x00000002 
+ 00001461  0x0000087a arg  0x0000807c , 0x00000005 
+ 00001462  0x0000087b branch  0x0000680a 
+ 00001463  0x0000087d set1  0x00000007 , 0x00000002 
+ 00001464  0x0000087e arg  0x00008078 , 0x00000005 
+ 00001465  0x0000087f call  0x00006830 
+ 00001466  0x00000880 set0  0x00000007 , 0x00000002 
+ 00001467  0x00000881 branch  0x000005b5 
+ 00001468  0x00000884 jam  0x00000000 , 0x00004808 
+ 00001469  0x00000885 jam  0x0000000e , 0x000041e3 
+ 00001470  0x00000886 call  0x000041e7 
+ 00001471  0x00000887 fetch  0x00000002 , 0x00004208 
+ 00001472  0x00000888 bbit1  0x00000007 , 0x000005c2 
+ 00001473  0x00000889 branch  0x000041e2 
+ 00001474  0x0000088c call  0x000041c1 
+ 00001475  0x0000088d fetch  0x00000002 , 0x00004208 
+ 00001476  0x0000088e bbit1  0x0000000a , 0x000004b0 
+ 00001477  0x0000088f branch  0x000041f7 
+ 00001478  0x00000892 jam  0x00000000 , 0x0000479d 
+ 00001479  0x00000893 jam  0x00000000 , 0x0000479e 
+ 00001480  0x00000894 isolate1  0x00000026 , 0x00000000 
+ 00001481  0x00000895 call  0x000001f6 , 0x00000001 
+ 00001482  0x00000896 branch  0x0000426d 
+ 00001483  0x00000899 call  0x000068a2 
+ 00001484  0x0000089a fetch  0x00000002 , 0x0000421d 
+ 00001485  0x0000089c store  0x00000002 , 0x000047c2 
+ 00001486  0x0000089f arg  0x00000002 , 0x00000002 
+ 00001487  0x000008a0 arg  0x000047c2 , 0x00000011 
+ 00001488  0x000008a1 arg  0x0000005f , 0x00000012 
+ 00001489  0x000008a2 branch  0x000065d1 
+ 00001490  0x000008a4 arg  0x00000002 , 0x00000002 
+ 00001491  0x000008a5 arg  0x000047c2 , 0x00000011 
+ 00001492  0x000008a6 arg  0x0000005f , 0x00000012 
+ 00001493  0x000008a7 branch  0x000065df 
+ 00001494  0x000008b0 jam  0x00000000 , 0x00004b40 
+ 00001495  0x000008b1 call  0x000002ec 
+ 00001496  0x000008b2 jam  0x00000001 , 0x00004720 
+ 00001497  0x000008b3 jam  0x00000000 , 0x0000479c 
+ 00001498  0x000008b4 fetch  0x00000002 , 0x00004682 
+ 00001499  0x000008b5 bbit1  0x0000000b , 0x000005e4 
+ 00001500  0x000008b8 call  0x000005d2 
+ 00001501  0x000008b9 fetcht  0x00000002 , 0x000047c2 
+ 00001502  0x000008ba increase  0x00000001 , 0x00000002 
+ 00001503  0x000008bb storet  0x00000002 , 0x000047c2 
+ 00001504  0x000008bc storet  0x00000002 , 0x000044a1 
+ 00001505  0x000008bd call  0x000005ce 
+ 00001506  0x000008be random  0x0000003f 
+ 00001507  0x000008bf store  0x00000001 , 0x000044a0 
+ 00001508  0x000008c1 fetch  0x00000003 , 0x00004b48 
+ 00001509  0x000008c2 store  0x00000003 , 0x000044a3 
+ 00001510  0x000008c3 call  0x00000353 
+ 00001511  0x000008c4 call  0x00003418 
+ 00001512  0x000008c5 fetch  0x00000002 , 0x00004687 
+ 00001513  0x000008c6 store  0x00000002 , 0x000046ac 
+ 00001514  0x000008c7 jam  0x00000006 , 0x0000016d 
+ 00001515  0x000008c8 setarg  0x00000000 
+ 00001516  0x000008c9 store  0x00000002 , 0x000046b0 
+ 00001517  0x000008ca store  0x00000002 , 0x000046ae 
+ 00001518  0x000008cb arg  0x00000007 , 0x00000007 
+ 00001519  0x000008cc call  0x000043ce 
+ 00001520  0x000008cd call  0x000043ca 
+ 00001521  0x000008d0 call  0x000005f4 
+ 00001522  0x000008d1 call  0x000042c4 
+ 00001523  0x000008d2 branch  0x0000052b 
+ 00001524  0x000008d5 jam  0x00000000 , 0x0000479f 
+ 00001525  0x000008d6 call  0x00000308 
+ 00001526  0x000008d7 setarg  0x00000005 
+ 00001527  0x000008d8 istore  0x00000001 , 0x00000006 
+ 00001528  0x000008da arg  0x00004b1f , 0x00000006 
+ 00001529  0x000008db call  0x000005fb 
+ 00001530  0x000008dd branch  0x00007df4 
+ 00001531  0x000008e0 arg  0x0000437b , 0x00000005 
+ 00001532  0x000008e1 arg  0x00000013 , 0x00000039 
+ 00001533  0x000008e2 call  0x00007f01 
+ 00001534  0x000008e3 branch  0x000057b8 
+ 00001535  0x000008e6 jam  0x00000000 , 0x00004b06 
+ 00001536  0x000008e7 call  0x00000531 
+ 00001537  0x000008e8 setarg  0x00000000 
+ 00001538  0x000008e9 store  0x00000002 , 0x000046ac 
+ 00001539  0x000008ea call  0x000003be 
+ 00001540  0x000008eb branch  0x000042cb 
+ 00001541  0x000008ee fetch  0x00000001 , 0x0000450f 
+ 00001542  0x000008ef pincrease  0x00000001 
+ 00001543  0x000008f0 store  0x00000001 , 0x0000450f 
+ 00001544  0x000008f1 beq  0x0000000c , 0x00005395 
+ 00001545  0x000008f2 call  0x000055aa 
+ 00001546  0x000008f3 call  0x0000561e 
+ 00001547  0x000008f4 call  0x000006df 
+ 00001548  0x000008f5 branch  0x0000538f 
+ 00001549  0x000008f8 fetch  0x00000001 , 0x00000016 
+ 00001550  0x000008f9 increase  0x00000001 , 0x0000003f 
+ 00001551  0x000008fa store  0x00000001 , 0x00000016 
+ 00001552  0x000008fb rtnne  0x00000028 
+ 00001553  0x000008fc jam  0x00000025 , 0x00000016 
+ 00001554  0x000008fd rtn 
+ 00001555  0x00000900 call  0x000029bb 
+ 00001556  0x00000901 call  0x0000001f 
+ 00001557  0x00000902 branch  0x000054a3 
+ 00001558  0x00000905 call  0x0000061c 
+ 00001559  0x00000906 branch  0x0000557d 
+ 00001560  0x00000908 fetch  0x00000001 , 0x000047c5 
+ 00001561  0x00000909 store  0x00000001 , 0x00004172 
+ 00001562  0x0000090b jam  0x00000000 , 0x000047c4 
+ 00001563  0x0000090c rtn 
+ 00001564  0x0000090f fetch  0x00000001 , 0x000043d6 
+ 00001565  0x00000910 sub  0x0000003f , 0x0000000c , 0x0000003e 
+ 00001566  0x00000911 nbranch  0x00000421 , 0x00000002 
+ 00001567  0x00000912 fetch  0x00000001 , 0x000043d8 
+ 00001568  0x00000913 fetcht  0x00000001 , 0x000047c5 
+ 00001569  0x00000914 isub  0x00000002 , 0x0000003e 
+ 00001570  0x00000915 branch  0x00000618 , 0x00000002 
+ 00001571  0x00000916 fetch  0x00000001 , 0x000043d8 
+ 00001572  0x00000917 store  0x00000001 , 0x00004172 
+ 00001573  0x00000918 branch  0x0000061a 
+ 00001574  0x0000091b fetch  0x00000001 , 0x0000043f 
+ 00001575  0x0000091c rtnbit0  0x00000006 
+ 00001576  0x0000091d call  0x0000062b 
+ 00001577  0x0000091e nrtn  0x00000028 
+ 00001578  0x0000091f branch  0x000055a0 
+ 00001579  0x00000921 enable  0x00000028 
+ 00001580  0x00000922 fetch  0x00000001 , 0x0000045a 
+ 00001581  0x00000923 rshift4  0x0000003f , 0x0000003f 
+ 00001582  0x00000924 rtnne  0x0000000f 
+ 00001583  0x00000925 fetch  0x00000001 , 0x00000460 
+ 00001584  0x00000926 rshift4  0x0000003f , 0x0000003f 
+ 00001585  0x00000927 rtnne  0x00000000 
+ 00001586  0x00000928 branch  0x00007fe9 
+ 00001587  0x0000092b fetch  0x00000001 , 0x00000456 
+ 00001588  0x0000092c bbit1  0x00000005 , 0x00000647 
+ 00001589  0x0000092d call  0x000006d9 
+ 00001590  0x0000092e fetch  0x00000001 , 0x0000478e 
+ 00001591  0x0000092f nbranch  0x0000063d , 0x00000034 
+ 00001592  0x00000930 fetch  0x00000001 , 0x0000043f 
+ 00001593  0x00000931 bbit0  0x00000004 , 0x00000641 
+ 00001594  0x00000932 fetch  0x00000001 , 0x000002da 
+ 00001595  0x00000933 branch  0x00000641 , 0x00000034 
+ 00001596  0x00000934 branch  0x00005664 
+ 00001597  0x00000936 fetch  0x00000001 , 0x0000478e 
+ 00001598  0x00000937 increase  0xffffffff , 0x0000003f 
+ 00001599  0x00000938 store  0x00000001 , 0x0000478e 
+ 00001600  0x00000939 branch  0x00005664 
+ 00001601  0x0000093b fetch  0x00000001 , 0x000044c4 
+ 00001602  0x0000093c bne  0x00000005 , 0x00000644 
+ 00001603  0x0000093d jam  0x00000003 , 0x0000478e 
+ 00001604  0x0000093f call  0x00005892 
+ 00001605  0x00000940 call  0x000003db , 0x00000034 
+ 00001606  0x00000941 branch  0x00005622 
+ 00001607  0x00000944 call  0x00000650 
+ 00001608  0x00000949 fetch  0x00000001 , 0x00004d0c 
+ 00001609  0x0000094a sub  0x0000003f , 0x00000002 , 0x0000003e 
+ 00001610  0x0000094b ncall  0x000006dd , 0x00000002 
+ 00001611  0x0000094c fetch  0x00000001 , 0x00004d0c 
+ 00001612  0x0000094d rtneq  0x00000000 
+ 00001613  0x0000094e increase  0xffffffff , 0x0000003f 
+ 00001614  0x0000094f store  0x00000001 , 0x00004d0c 
+ 00001615  0x00000950 rtn 
+ 00001616  0x00000953 fetch  0x00000001 , 0x000046c5 
+ 00001617  0x00000954 and  0x0000003f , 0x00000003 , 0x0000003f 
+ 00001618  0x00000955 rtnne  0x00000003 
+ 00001619  0x00000956 fetch  0x00000001 , 0x000047c1 
+ 00001620  0x00000957 rtn  0x00000034 
+ 00001621  0x00000958 fetch  0x00000001 , 0x000043dd 
+ 00001622  0x00000959 rtn  0x00000034 
+ 00001623  0x0000095a fetch  0x00000001 , 0x000043dc 
+ 00001624  0x0000095b set1  0x00000004 , 0x0000003f 
+ 00001625  0x0000095c store  0x00000001 , 0x000043dc 
+ 00001626  0x0000095d call  0x00005650 
+ 00001627  0x0000095e rtn 
+ 00001628  0x00000961 fetch  0x00000001 , 0x0000479f 
+ 00001629  0x00000962 rtn  0x00000034 
+ 00001630  0x00000963 fetch  0x00000001 , 0x000046c5 
+ 00001631  0x00000964 and  0x0000003f , 0x00000003 , 0x0000003f 
+ 00001632  0x00000965 rtneq  0x00000003 
+ 00001633  0x00000966 jam  0x0000000a , 0x000046c6 
+ 00001634  0x00000967 rtn 
+ 00001635  0x0000096a rtnmark1  0x0000000f 
+ 00001636  0x0000096b call  0x00005890 
+ 00001637  0x0000096c nrtn  0x00000034 
+ 00001638  0x0000096d fetch  0x00000001 , 0x000002d9 
+ 00001639  0x0000096e and  0x0000003f , 0x00000003 , 0x0000003f 
+ 00001640  0x0000096f store  0x00000001 , 0x0000450c 
+ 00001641  0x00000970 ifetch  0x00000001 , 0x00000006 
+ 00001642  0x00000971 and  0x0000003f , 0x0000001f , 0x0000003f 
+ 00001643  0x00000972 store  0x00000001 , 0x0000450b 
+ 00001644  0x00000973 rtn  0x00000034 
+ 00001645  0x00000974 copy  0x00000006 , 0x0000003f 
+ 00001646  0x00000975 store  0x00000002 , 0x0000450d 
+ 00001647  0x00000976 fetch  0x00000001 , 0x0000450c 
+ 00001648  0x00000977 beq  0x00000003 , 0x00000672 
+ 00001649  0x00000978 branch  0x0000568d 
+ 00001650  0x0000097a fetch  0x00000001 , 0x000002db 
+ 00001651  0x0000097b beq  0x00000001 , 0x00000675 
+ 00001652  0x0000097c branch  0x00005c65 
+ 00001653  0x0000097e ifetch  0x00000005 , 0x00000006 
+ 00001654  0x0000097f store  0x00000005 , 0x000043ce 
+ 00001655  0x00000980 ifetch  0x00000002 , 0x00000006 
+ 00001656  0x00000981 store  0x00000002 , 0x0000045f 
+ 00001657  0x00000982 branch  0x00005c8a 
+ 00001658  0x00000985 ifetch  0x00000002 , 0x00000006 
+ 00001659  0x00000986 beq  0x00000004 , 0x0000067e 
+ 00001660  0x00000987 beq  0x00000006 , 0x0000069b 
+ 00001661  0x00000988 branch  0x00005698 
+ 00001662  0x0000098a call  0x00007ea5 
+ 00001663  0x0000098b call  0x0000065c 
+ 00001664  0x0000098c call  0x00007e9f 
+ 00001665  0x0000098d ifetch  0x00000003 , 0x00000006 
+ 00001666  0x0000098e store  0x00000003 , 0x00000477 
+ 00001667  0x0000098f beq  0x00000010 , 0x0000068d 
+ 00001668  0x00000991 rshift8  0x0000003f , 0x00000002 
+ 00001669  0x00000992 sub  0x00000002 , 0x00000024 , 0x0000003e 
+ 00001670  0x00000994 branch  0x000058ad , 0x00000002 
+ 00001671  0x00000995 arg  0x000047c6 , 0x00000002 
+ 00001672  0x00000996 storet  0x00000002 , 0x000044bc 
+ 00001673  0x00000997 call  0x000058ad 
+ 00001674  0x00000998 setarg  0x00008e7a 
+ 00001675  0x00000999 store  0x00000002 , 0x000044bc 
+ 00001676  0x0000099a rtn 
+ 00001677  0x0000099d call  0x000059fa 
+ 00001678  0x0000099e call  0x00005879 
+ 00001679  0x0000099f increase  0x00000007 , 0x00000006 
+ 00001680  0x000009a0 ifetch  0x00000001 , 0x00000006 
+ 00001681  0x000009a1 rtnne  0x00000011 
+ 00001682  0x000009a2 increase  0x00000005 , 0x00000006 
+ 00001683  0x000009a3 ifetch  0x00000002 , 0x00000006 
+ 00001684  0x000009a4 arg  0x00001812 , 0x00000002 
+ 00001685  0x000009a5 isub  0x00000002 , 0x0000003e 
+ 00001686  0x000009a6 nrtn  0x00000005 
+ 00001687  0x000009a7 increase  0xfffffffc , 0x00000006 
+ 00001688  0x000009a8 setarg  0x0000002b 
+ 00001689  0x000009a9 istore  0x00000002 , 0x00000006 
+ 00001690  0x000009aa rtn 
+ 00001691  0x000009d8 ifetch  0x00000001 , 0x00000006 
+ 00001692  0x000009d9 beq  0x00000001 , 0x0000069f 
+ 00001693  0x000009da beq  0x00000005 , 0x000006a1 
+ 00001694  0x000009db branch  0x00005af6 
+ 00001695  0x000009de jam  0x00000001 , 0x00004b40 
+ 00001696  0x000009df branch  0x00005b09 
+ 00001697  0x000009e2 call  0x00005b5a 
+ 00001698  0x000009e3 fetch  0x00000001 , 0x0000043f 
+ 00001699  0x000009e4 set0  0x00000005 , 0x0000003f 
+ 00001700  0x000009e5 store  0x00000001 , 0x0000043f 
+ 00001701  0x000009e6 branch  0x00005c8e 
+ 00001702  0x000009e9 fetch  0x00000001 , 0x00000016 
+ 00001703  0x000009ea bne  0x00000027 , 0x000056f2 
+ 00001704  0x000009eb call  0x000006ac 
+ 00001705  0x000009ec arg  0x00000000 , 0x00000007 
+ 00001706  0x000009ed fetch  0x00000002 , 0x00004482 
+ 00001707  0x000009ee branch  0x00007f08 
+ 00001708  0x000009f0 random  0x0000003f 
+ 00001709  0x000009f1 arg  0x000001ff , 0x00000002 
+ 00001710  0x000009f2 iand  0x00000002 , 0x0000003f 
+ 00001711  0x000009f3 add  0x0000003f , 0x000000fa , 0x0000003f 
+ 00001712  0x000009f4 branch  0x00003cbe 
+ 00001713  0x000009f7 disable  0x0000002b 
+ 00001714  0x000009f8 branch  0x000006b4 , 0x0000002e 
+ 00001715  0x000009f9 nbranch  0x00005806 , 0x0000002d 
+ 00001716  0x000009fb call  0x00002bcb 
+ 00001717  0x000009fc fetch  0x00000002 , 0x000040c1 
+ 00001718  0x000009fd store  0x00000002 , 0x0000044d 
+ 00001719  0x000009fe fetch  0x00000001 , 0x000046c5 
+ 00001720  0x000009ff compare  0x00000003 , 0x0000003f , 0x00000003 
+ 00001721  0x00000a00 nbranch  0x00002bde , 0x00000001 
+ 00001722  0x00000a01 branch  0x000057fb 
+ 00001723  0x00000a04 fetch  0x00000001 , 0x0000479f 
+ 00001724  0x00000a05 nrtn  0x00000034 
+ 00001725  0x00000a06 fetch  0x00000001 , 0x00000478 
+ 00001726  0x00000a07 sub  0x0000003f , 0x0000001a , 0x0000003f 
+ 00001727  0x00000a08 nrtn  0x00000005 
+ 00001728  0x00000a09 branch  0x00003d60 
+ 00001729  0x00000a0c call  0x000062bc 
+ 00001730  0x00000a0d nbranch  0x00007ddb , 0x00000034 
+ 00001731  0x00000a0e fetch  0x00000001 , 0x00000a99 
+ 00001732  0x00000a0f bmark0  0x00000009 , 0x00007dd6 
+ 00001733  0x00000a10 beq  0x00000012 , 0x000006c7 
+ 00001734  0x00000a11 branch  0x00007dca 
+ 00001735  0x00000a14 call  0x00005890 
+ 00001736  0x00000a15 nrtn  0x00000034 
+ 00001737  0x00000a16 branch  0x00005abf 
+ 00001738  0x00000a1a hfetch  0x00000001 , 0x00008077 
+ 00001739  0x00000a1b and_into  0x000000fd , 0x0000003f 
+ 00001740  0x00000a1c hstore  0x00000001 , 0x00008077 
+ 00001741  0x00000a1d hfetcht  0x00000001 , 0x00008073 
+ 00001742  0x00000a1e or_into  0x00000002 , 0x00000002 
+ 00001743  0x00000a1f hstoret  0x00000001 , 0x00008073 
+ 00001744  0x00000a20 call  0x000063ee 
+ 00001745  0x00000a21 and_into  0x000000fd , 0x00000002 
+ 00001746  0x00000a22 nop  0x0000000d 
+ 00001747  0x00000a23 call  0x000063f2 
+ 00001748  0x00000a24 hstoret  0x00000001 , 0x00008073 
+ 00001749  0x00000a25 rtn 
+ 00001750  0x00000a2c jam  0x00000001 , 0x00004d0f 
+ 00001751  0x00000a2d jam  0x00000000 , 0x00004d0c 
+ 00001752  0x00000a2e rtn 
+ 00001753  0x00000a30 fetch  0x00000001 , 0x00004d0c 
+ 00001754  0x00000a31 increase  0x00000001 , 0x0000003f 
+ 00001755  0x00000a32 store  0x00000001 , 0x00004d0c 
+ 00001756  0x00000a33 rtn 
+ 00001757  0x00000a36 jam  0x00000003 , 0x00004d0c 
+ 00001758  0x00000a37 rtn 
+ 00001759  0x00000a3a fetch  0x00000002 , 0x00004682 
+ 00001760  0x00000a3b rtnbit1  0x0000000b 
+ 00001761  0x00000a3f arg  0x00004c95 , 0x00000011 
+ 00001762  0x00000a40 call  0x000002a7 
+ 00001763  0x00000a41 storet  0x00000001 , 0x00004d0d 
+ 00001764  0x00000a43 setarg  0x00000082 
+ 00001765  0x00000a44 bmark1  0x00000026 , 0x000006e7 
+ 00001766  0x00000a45 setarg  0x00000080 
+ 00001767  0x00000a47 isub  0x00000002 , 0x0000003e 
+ 00001768  0x00000a48 nbranch  0x000006ff , 0x00000002 
+ 00001769  0x00000a4a fetch  0x00000001 , 0x00004d0c 
+ 00001770  0x00000a4b sub  0x0000003f , 0x00000002 , 0x0000003e 
+ 00001771  0x00000a4c nbranch  0x000006ef , 0x00000002 
+ 00001772  0x00000a4d fetch  0x00000001 , 0x00004d0c 
+ 00001773  0x00000a4e beq  0x00000000 , 0x00000700 
+ 00001774  0x00000a4f rtn 
+ 00001775  0x00000a52 fetch  0x00000001 , 0x00004d0c 
+ 00001776  0x00000a53 rtnne  0x00000020 
+ 00001777  0x00000a54 jam  0x00000000 , 0x00004d0c 
+ 00001778  0x00000a56 fetcht  0x00000001 , 0x00004d0d 
+ 00001779  0x00000a57 setarg  0x00000077 
+ 00001780  0x00000a58 bmark1  0x00000026 , 0x000006f6 
+ 00001781  0x00000a59 setarg  0x00000075 
+ 00001782  0x00000a5b isub  0x00000002 , 0x0000003e 
+ 00001783  0x00000a5c nrtn  0x00000002 
+ 00001784  0x00000a5d fetch  0x00000001 , 0x00004d0f 
+ 00001785  0x00000a5e beq  0x00000000 , 0x00000707 
+ 00001786  0x00000a5f increase  0xffffffff , 0x0000003f 
+ 00001787  0x00000a60 store  0x00000001 , 0x00004d0f 
+ 00001788  0x00000a61 beq  0x00000000 , 0x00000707 
+ 00001789  0x00000a64 jam  0x00000000 , 0x000041de 
+ 00001790  0x00000a65 rtn 
+ 00001791  0x00000a68 jam  0x00000000 , 0x00004d0c 
+ 00001792  0x00000a6a fetch  0x00000001 , 0x00004d0f 
+ 00001793  0x00000a6b beq  0x00000002 , 0x00000705 
+ 00001794  0x00000a6c increase  0x00000001 , 0x0000003f 
+ 00001795  0x00000a6d store  0x00000001 , 0x00004d0f 
+ 00001796  0x00000a6e beq  0x00000001 , 0x000006fd 
+ 00001797  0x00000a71 jam  0x00000002 , 0x000041de 
+ 00001798  0x00000a72 rtn 
+ 00001799  0x00000a75 jam  0x00000004 , 0x000041de 
+ 00001800  0x00000a76 rtn 
+ 00001801  0x00000a7a storet  0x00000001 , 0x00000017 
+ 00001802  0x00000a7b add  0x00000002 , 0x00000000 , 0x00000011 
+ 00001803  0x00000a7c call  0x00002981 
+ 00001804  0x00000a7d setarg  0x00000500 
+ 00001805  0x00000a7e call  0x00002a8f 
+ 00001806  0x00000a80 jam  0x00000001 , 0x00008906 
+ 00001807  0x00000a81 jam  0x0000003c , 0x00008900 
+ 00001808  0x00000a82 jam  0x000000e0 , 0x00008901 
+ 00001809  0x00000a83 nop  0x0000000a 
+ 00001810  0x00000a84 jam  0x00000001 , 0x00008902 
+ 00001811  0x00000a85 jam  0x0000003d , 0x00008902 
+ 00001812  0x00000a86 nop  0x0000000a 
+ 00001813  0x00000a87 jam  0x000000b7 , 0x00008903 
+ 00001814  0x00000a88 nop  0x0000000a 
+ 00001815  0x00000a89 jam  0x0000007d , 0x00008902 
+ 00001816  0x00000a8a fetch  0x00000001 , 0x000041de 
+ 00001817  0x00000a8d beq  0x00000002 , 0x00000721 
+ 00001818  0x00000a8f beq  0x00000004 , 0x00000729 
+ 00001819  0x00000a90 beq  0x00000020 , 0x00000733 
+ 00001820  0x00000a93 call  0x0000072e 
+ 00001821  0x00000a95 jam  0x000000d0 , 0x00008955 
+ 00001822  0x00000a96 jam  0x000000e0 , 0x00008956 
+ 00001823  0x00000a98 jam  0x0000006c , 0x00008958 
+ 00001824  0x00000a9a branch  0x0000294b 
+ 00001825  0x00000aa9 jam  0x000000fb , 0x0000894c 
+ 00001826  0x00000aaa jam  0x000000ef , 0x0000894d 
+ 00001827  0x00000aab jam  0x000000ec , 0x0000894e 
+ 00001828  0x00000aac jam  0x0000005e , 0x0000894f 
+ 00001829  0x00000aaf jam  0x000000d0 , 0x00008955 
+ 00001830  0x00000ab0 jam  0x000000e0 , 0x00008956 
+ 00001831  0x00000ab2 jam  0x0000003c , 0x00008958 
+ 00001832  0x00000ab4 branch  0x00002953 
+ 00001833  0x00000ac1 call  0x0000072e 
+ 00001834  0x00000ac3 jam  0x000000d0 , 0x00008955 
+ 00001835  0x00000ac4 jam  0x000000c0 , 0x00008956 
+ 00001836  0x00000ac6 jam  0x0000006c , 0x00008958 
+ 00001837  0x00000ac8 branch  0x0000295b 
+ 00001838  0x00000acb jam  0x0000005b , 0x0000894c 
+ 00001839  0x00000acc jam  0x00000096 , 0x0000894d 
+ 00001840  0x00000acd jam  0x0000002c , 0x0000894e 
+ 00001841  0x00000ace jam  0x00000046 , 0x0000894f 
+ 00001842  0x00000acf rtn 
+ 00001843  0x00000ad3 jam  0x000000c2 , 0x00008956 
+ 00001844  0x00000ad4 jam  0x000000d0 , 0x00008955 
+ 00001845  0x00000ad5 rtn 
+ 00001846  0x00000ad8 force  0x00000008 , 0x00000015 
+ 00001847  0x00000ad9 branch  0x000028fa 
Index: output/bt_program23.list
===================================================================
--- /branch/mouse_project/ZhongXinSheng/ZXS_1062/MJ391_24G&BLE_PB/output/bt_program23.list	(revision 0)
+++ /branch/mouse_project/ZhongXinSheng/ZXS_1062/MJ391_24G&BLE_PB/output/bt_program23.list	(working copy)
@@ -0,0 +1,2190 @@
+              include "bt_format "
+              org 0x0000
+0x0000 000031 bbit1 8 ,pf_patch_ext 
+0x0001 000032 beq patch00_0 ,p_soft_reset_0 
+0x0002 000033 beq patch00_1 ,p_soft_reset_1 
+0x0003 000034 beq patch10_5 ,p_shutdown_radio 
+0x0004 000035 beq patch11_1 ,p_set_freq_tx 
+0x0005 000036 beq patch14_1 ,p_init_param 
+0x0006 000037 beq patch16_1 ,p_lpm_check_wake_lock 
+0x0007 000038 beq patch16_2 ,p_g24_dispatch 
+0x0008 000039 beq patch18_4 ,p_device_init 
+0x0009 000040 beq patch19_1 ,p_app_flag_store 
+0x000a 000041 beq patch19_2 ,p_app_initflag_check 
+0x000b 000042 beq patch1c_3 ,p_mouse_seting_dpi 
+0x000c 000043 beq patch1c_6 ,p_mouse_motion 
+0x000d 000044 beq patch1d_1 ,p_mouse_bb_disconnected 
+0x000e 000045 beq patch1d_2 ,p_mouse_bb_event_discovery_btn 
+0x000f 000046 beq patch1d_3 ,p_mouse_start_discovery 
+0x0010 000047 beq patch1d_4 ,p_mouse_stop_discovery 
+0x0011 000048 branch loop 
+:      000049 pf_patch_ext:
+0x0012 000050 beq patch27_1 ,p_le_slave_match 
+0x0013 000051 beq patch28_3 ,p_le_next_adv_channel 
+0x0014 000052 beq patch29_2 ,p_le_receive_skip 
+0x0015 000053 beq patch2a_7 ,p_le_update_param 
+0x0016 000054 beq patch2b_1 ,p_le_update_channel_map 
+0x0017 000055 beq patch2c_3 ,p_le_prepare_tx 
+0x0018 000056 beq patch2c_6 ,p_le_parse 
+0x0019 000057 beq patch2c_7 ,p_le_parse_l2cap 
+0x001a 000058 beq patch2d_2 ,p_le_adv_not_match 
+0x001b 000059 beq patch2e_7 ,p_le_lpm_setmult 
+0x001c 000060 beq patch3f_2 ,p_check_51cmd_once_continue 
+0x001d 000061 beq patch31_4 ,p_twspi_reset 
+0x001e 000062 branch loop 
+:      000065 p_rssi_signal:
+0x001f 000066 copy pdata ,rega 
+0x0020 000067 fetcht 1 ,mem_rssi_signal_index 
+0x0021 000068 setarg mem_rssi_signal_buf 
+0x0022 000069 iadd temp ,contw 
+0x0023 000070 copy rega ,pdata 
+0x0024 000071 istore 1 ,contw 
+0x0025 000072 increase 1 ,temp 
+0x0026 000073 and_into rssi_buf_len_signal ,temp 
+0x0027 000074 storet 1 ,mem_rssi_signal_index 
+0x0028 000075 rtn 
+:      000077 p_soft_reset_0:
+0x0029 000078 call p_mouse_select_device_button_wakeup_check 
+0x002a 000079 branch soft_reset + 1 
+:      000081 p_mouse_select_device_button_wakeup_check:
+0x002b 000082 jam 0 ,mem_mouse_select_device_button_wakeup_flag 
+0x002c 000083 fetcht 1 ,mem_config_select_device_button_gpio 
+0x002d 000084 call gpio_config_input 
+0x002e 000085 fetcht 1 ,mem_config_select_device_button_gpio 
+0x002f 000086 call gpio_get_bit 
+0x0030 000087 nrtn true 
+0x0031 000088 call delay_10ms 
+0x0032 000089 fetcht 1 ,mem_config_select_device_button_gpio 
+0x0033 000090 call gpio_get_bit 
+0x0034 000091 nrtn true 
+0x0035 000092 jam 1 ,mem_mouse_select_device_button_wakeup_flag 
+0x0036 000093 rtn 
+:      000095 p_mouse_switch_hwakeup_bypb:
+0x0037 000096 fetch 1 ,mem_mouse_select_device_button_wakeup_flag 
+0x0038 000097 rtn blank 
+0x0039 000098 call p_mouse_switch_device_flag 
+0x003a 000099 branch p_mouse_store_device_number2eeprom 
+:      000101 p_soft_reset_1:
+0x003b 000102 arg mem_sp_state ,contw 
+0x003c 000103 arg 12 ,loopcnt 
+0x003d 000104 call clear_mem 
+0x003e 000105 call p_mouse_le_txbuff_load 
+0x003f 000106 call rfcomm_init 
+0x0040 000107 call init_lmp 
+0x0041 000108 ncall lpm_disable_exen_output ,wake 
+0x0042 000109 call ui_init + 1 
+0x0043 000110 branch soft_reset + 11 
+:      000112 p_init_param:
+0x0044 000113 setarg param_le_version 
+0x0045 000114 store 3 ,mem_lmp_version 
+0x0046 000115 setarg param_le_subversion 
+0x0047 000116 store 2 ,mem_lmp_version + 3 
+0x0048 000117 branch init_param + 12 
+:      000119 p_lpm_check_wake_lock:
+0x0049 000120 rtnmark1 mark_24g 
+0x004a 000121 call p_mouse_bt_multi_led_lpm_lock 
+0x004b 000122 fetch 1 ,mem_mouse_multi_led_state 
+0x004c 000123 beq on ,disable_blank 
+0x004d 000124 fetch 1 ,mem_mouse_clear_sensor_data_flag 
+0x004e 000125 beq 0 ,disable_blank 
+0x004f 000126 fetch 1 ,mem_mouse_le_conn_param_reject 
+0x0050 000127 beq le_lpm_disable ,disable_blank 
+0x0051 000128 fetch 1 ,mem_mouse_wheel_trigger 
+0x0052 000129 nbranch disable_blank ,blank 
+0x0053 000130 branch enable_blank 
+:      000132 p_mouse_bt_multi_led_lpm_lock:
+0x0054 000133 call enable_blank 
+0x0055 000134 fetch 1 ,mem_mouse_multi_led_state 
+0x0056 000135 ncall disable_blank ,blank 
+0x0057 000136 fetch 1 ,mem_mouse_multi_led_on_timer 
+0x0058 000137 ncall disable_blank ,blank 
+0x0059 000138 rtn 
+:      000140 p_g24_dispatch:
+0x005a 000141 rtnmark0 mark_24g 
+0x005b 000142 fetch 1 ,mem_g24_conn_sm 
+0x005c 000143 bbit1 state_24g_pair ,p_g24_pair_dispatch 
+0x005d 000144 bbit1 state_24g_reconn ,p_g24_reconn_dispatch 
+0x005e 000145 fetch 1 ,mem_24g_transmit_by_interrupt 
+0x005f 000146 beq g24_tx_timer_int_enable ,p_g24_transmit_by_interrupt 
+:      000147 p_g24_transmit_process:
+0x0060 000148 call p_g24_txdata_prep 
+0x0061 000149 nbranch p_g24_nodata_transmit ,user 
+0x0062 000150 call p_g24_rf_sta_check 
+:      000151 p_g24_transmit_start:
+0x0063 000152 call p_g24_transmit_packet 
+0x0064 000153 fetch 1 ,mem_24g_pairing_sm 
+0x0065 000154 rtnne state_24g_pairing_success 
+0x0066 000155 call power_ctrl_start 
+0x0067 000156 call g24_long_sleep_shorter_param_update 
+0x0068 000157 fetch 1 ,mem_24g_transmit_by_interrupt 
+0x0069 000158 rtneq g24_tx_timer_int_enable 
+0x006a 000159 fetch 1 ,mem_mouse_multi_led_state 
+0x006b 000160 beq on ,p_g24_transmit_by_interrupt_enable 
+:      000161 p_g24_short_sleep:
+0x006c 000162 call p_g24_lpm_wait 
+0x006d 000163 nrtn user 
+0x006e 000164 call p_clear_wake 
+0x006f 000165 setarg 60500 
+0x0070 000166 branch lpm_dispatch_sleep 
+:      000168 p_g24_pair_dispatch:
+0x0071 000169 fetch 1 ,mem_g24_stop_g24_mode 
+0x0072 000170 beq 1 ,g24_stop_24g_mode 
+0x0073 000171 call p_g24_tx_attemp_data_prep 
+0x0074 000172 call p_g24_transmit_receive_ack 
+0x0075 000173 nbranch p_g24_pair_txdata_switch ,sync 
+0x0076 000174 nbranch p_g24_pair_txdata_switch ,user3 
+0x0077 000175 fetch 1 ,mem_g24_conn_sm 
+0x0078 000176 set0 state_24g_pair ,pdata 
+0x0079 000177 store 1 ,mem_g24_conn_sm 
+0x007a 000178 call p_g24_ackpayload_parse 
+0x007b 000179 call p_mouse_tx_power_init 
+0x007c 000180 fetch 4 ,mem_24g_addr 
+0x007d 000181 fetcht 4 ,mem_24g_paring_addr 
+0x007e 000182 isub temp ,null 
+0x007f 000183 branch p_g24_start_pairing_sm1 ,zero 
+0x0080 000184 branch p_g24_tx_attemp_dongle_succ 
+:      000186 p_g24_reconn_dispatch:
+0x0081 000187 fetch 1 ,mem_g24_stop_g24_mode 
+0x0082 000188 beq 1 ,g24_stop_24g_mode 
+0x0083 000189 call p_g24_tx_attemp_data_prep 
+0x0084 000190 call p_g24_transmit_receive_ack 
+0x0085 000191 nbranch p_g24_ch ,sync 
+0x0086 000192 nbranch p_g24_ch ,user3 
+:      000193 p_g24_tx_attemp_dongle_succ:
+0x0087 000194 set1 mark_24g ,mark 
+0x0088 000195 fetch 1 ,mem_g24_conn_sm 
+0x0089 000196 set0 state_24g_reconn ,pdata 
+0x008a 000197 store 1 ,mem_g24_conn_sm 
+0x008b 000198 jam 0 ,mem_mouse_long_mult_flag 
+0x008c 000199 jam bt_evt_24g_attempt_success ,mem_fifo_temp 
+0x008d 000200 call ui_ipc_send_event 
+0x008e 000202 fetch 4 ,mem_24g_addr 
+0x008f 000203 fetcht 4 ,mem_24g_device_addr 
+0x0090 000204 isub temp ,null 
+0x0091 000205 call p_g24_store_dongle_addr ,zero 
+0x0092 000207 call p_g24_txbuf_clear 
+:      000209 p_g24_transmit_by_interrupt_enable:
+0x0093 000210 jam g24_tx_timer_int_enable ,mem_24g_transmit_by_interrupt 
+0x0094 000211 jam 0 ,mem_24g_transmit_by_interrupt_exit_count 
+0x0095 000212 rtn 
+:      000214 p_g24_store_dongle_addr:
+0x0096 000215 fetch 4 ,mem_24g_rxpayload + 2 
+0x0097 000216 branch p_g24_update_addr_and_synccrc8 
+:      000218 p_g24_pair_txdata_switch:
+0x0098 000219 fetch 1 ,mem_24g_auto_paring_switch 
+0x0099 000220 increase 1 ,pdata 
+0x009a 000221 and_into 3 ,pdata 
+0x009b 000222 store 1 ,mem_24g_auto_paring_switch 
+0x009c 000223 beq 0 ,p_g24_auto_pair_first_attemp 
+0x009d 000224 beq 1 ,p_g24_pair_init 
+0x009e 000225 beq 2 ,p_g24_auto_pair_all_powerful 
+0x009f 000226 beq 3 ,p_g24_pair_init 
+0x00a0 000227 rtn 
+:      000229 p_g24_auto_pair_first_attemp:
+0x00a1 000230 call p_mouse_tx_power_init 
+0x00a2 000231 fetch 4 ,mem_24g_device_addr 
+0x00a3 000232 store 4 ,mem_24g_addr 
+0x00a4 000233 fetch 1 ,mem_24g_pair_current_ch_num 
+0x00a5 000234 store 1 ,mem_24g_current_ch_number 
+0x00a6 000235 call p_g24_ch_syncword_crc8_init 
+0x00a7 000236 storet 1 ,mem_24g_pair_current_ch_num 
+0x00a8 000237 rtn 
+:      000239 p_g24_ch_syncword_crc8_init:
+0x00a9 000240 call p_g24_syncword_crc8 
+:      000242 p_g24_ch:
+0x00aa 000243 fetcht 1 ,mem_24g_current_ch_number 
+0x00ab 000244 call p_g24_ch_map_size 
+0x00ac 000245 storet 1 ,mem_24g_current_ch_number 
+0x00ad 000246 rtn 
+:      000248 g24_long_sleep_shorter_param_update:
+0x00ae 000251 setarg g24_long_sleep_step1 
+0x00af 000252 store 3 ,mem_24g_enter_hibernate 
+0x00b0 000253 jam 20 ,mem_24g_long_sleep_param_update_timer 
+0x00b1 000254 rtn 
+:      000256 p_g24_transmit_by_interrupt:
+0x00b2 000257 call p_g24_timer_check 
+0x00b3 000258 nrtn user 
+0x00b4 000259 call p_g24_interval_calibrate 
+0x00b5 000260 fetch 1 ,mem_24g_transmit_by_interrupt_exit_count 
+0x00b6 000261 increase 1 ,pdata 
+0x00b7 000262 store 1 ,mem_24g_transmit_by_interrupt_exit_count 
+0x00b8 000263 sub pdata ,25 ,null 
+0x00b9 000264 call p_g24_transmit_by_interrupt_exit ,zero 
+0x00ba 000265 branch p_g24_transmit_process 
+:      000266 p_g24_transmit_by_interrupt_exit:
+0x00bb 000267 jam g24_tx_timer_int_disable ,mem_24g_transmit_by_interrupt 
+0x00bc 000268 jam 0 ,mem_24g_transmit_by_interrupt_exit_count 
+:      000269 p_g24_interval_min:
+0x00bd 000270 jam 0 ,mem_24g_pac_index 
+0x00be 000271 fetch 1 ,mem_24g_interval_min 
+:      000272 p_g24_current_interval_store:
+0x00bf 000273 store 1 ,mem_24g_interval 
+0x00c0 000274 rtn 
+:      000275 p_g24_interval_max:
+0x00c1 000276 fetch 1 ,mem_24g_interval_max 
+0x00c2 000277 branch p_g24_current_interval_store 
+:      000278 p_g24_interval_calibrate:
+0x00c3 000279 fetch 1 ,mem_24g_pac_index 
+0x00c4 000280 increase 1 ,pdata 
+0x00c5 000281 store 1 ,mem_24g_pac_index 
+0x00c6 000282 beq 4 ,p_g24_interval_max 
+0x00c7 000283 beq 5 ,p_g24_interval_min 
+0x00c8 000284 rtn 
+:      000286 p_g24_nodata_transmit:
+0x00c9 000287 fetch 1 ,mem_24g_abort_pac 
+0x00ca 000288 call p_g24_send_abort_packet ,blank 
+0x00cb 000289 fetch 1 ,mem_mouse_multi_led_blink_count 
+0x00cc 000290 nrtn blank 
+0x00cd 000291 fetch 1 ,mem_mouse_multi_led_state 
+0x00ce 000292 rtneq on 
+:      000293 p_g24_long_sleep:
+0x00cf 000294 call p_g24_lpm_wait 
+0x00d0 000295 nrtn user 
+0x00d1 000296 fetch 3 ,mem_24g_enter_hibernate 
+0x00d2 000297 call clk2lpo 
+0x00d3 000298 storet 4 ,mem_sleep_counter 
+0x00d4 000299 branch lpm_sleep 
+:      000301 p_g24_lpm_wait:
+0x00d5 000302 enable user 
+0x00d6 000303 call lpo_calibration 
+0x00d7 000304 fetch 3 ,mem_clks_per_lpo 
+0x00d8 000305 branch disable_user ,blank 
+0x00d9 000306 fetch 1 ,mem_lpm_mode 
+0x00da 000307 branch disable_user ,blank 
+0x00db 000308 fetch 1 ,mem_sp_local_key_invalid 
+0x00dc 000309 branch disable_user ,blank 
+0x00dd 000310 fetch 1 ,mem_24g_transmit_by_interrupt 
+0x00de 000311 beq g24_tx_timer_int_enable ,disable_user 
+0x00df 000312 branch p_mouse_setgpio_lpm 
+:      000314 p_g24_send_abort_packet:
+0x00e0 000315 jam 1 ,mem_24g_abort_pac 
+0x00e1 000316 jam 0 ,mem_24g_rf_hop_ch 
+0x00e2 000317 call p_g24_transmit_rf_ctrl_clear 
+0x00e3 000318 store 1 ,mem_24g_txbuf 
+0x00e4 000319 setarg 0 
+0x00e5 000320 store 7 ,mem_24g_txbuf + 1 
+0x00e6 000321 fetch 4 ,mem_24g_device_addr 
+0x00e7 000322 store 4 ,mem_24g_txbuf + 8 
+0x00e8 000323 jam 12 ,mem_24g_datalen 
+0x00e9 000324 fetch 1 ,mem_24g_data_type 
+0x00ea 000325 set1 bit_abort ,pdata 
+0x00eb 000326 store 1 ,mem_24g_data_type 
+0x00ec 000327 call p_g24_txdata_enable_tx 
+0x00ed 000328 branch p_g24_transmit_start 
+:      000339 p_g24_transmit_rf_sta_init:
+0x00ee 000340 jam 1 ,mem_24g_rf_last_sta 
+0x00ef 000341 jam 0 ,mem_24g_sync_cnt 
+:      000342 p_g24_transmit_rf_ctrl_clear:
+0x00f0 000343 fetch 1 ,mem_24g_data_type 
+0x00f1 000344 and_into bits_data ,pdata 
+0x00f2 000345 store 1 ,mem_24g_data_type 
+0x00f3 000346 rtn 
+:      000348 p_g24_hop_ch_enable:
+0x00f4 000349 fetch 1 ,mem_24g_data_type 
+0x00f5 000350 set1 bit_hop ,pdata 
+0x00f6 000351 store 1 ,mem_24g_data_type 
+0x00f7 000353 store 1 ,mem_24g_txpayload 
+0x00f8 000354 rtn 
+:      000355 p_g24_hop_ch_disable:
+0x00f9 000356 fetch 1 ,mem_24g_data_type 
+0x00fa 000357 set0 bit_hop ,pdata 
+0x00fb 000358 store 1 ,mem_24g_data_type 
+0x00fc 000359 store 1 ,mem_24g_txpayload 
+0x00fd 000360 call power_ctrl_pac_succ_decrs 
+0x00fe 000361 branch p_g24_ch 
+:      000389 p_g24_rf_hop_attemp_again:
+0x00ff 000390 fetch 1 ,mem_24g_rf_hop_ch 
+0x0100 000391 bne 1 ,p_g24_transmit_rf_ctrl_clear 
+:      000392 p_g24_rf_hop_fastly:
+0x0101 000393 fetch 1 ,mem_24g_hop_fastly_cnt 
+0x0102 000394 increase 1 ,pdata 
+0x0103 000395 store 1 ,mem_24g_hop_fastly_cnt 
+0x0104 000396 beq 4 ,p_g24_rf_hop_fastly_exit 
+0x0105 000397 call p_g24_ch 
+0x0106 000398 jam 2 ,mem_24g_max_retry 
+0x0107 000399 branch p_g24_transmit_packet 
+:      000401 p_g24_rf_hop_fastly_exit:
+0x0108 000402 call power_ctrl_pac_succ_decrs 
+0x0109 000403 jam 0 ,mem_24g_hop_fastly_cnt 
+0x010a 000404 branch p_g24_transmit_rf_ctrl_clear 
+:      000406 p_g24_transmit_hop_pac_succ_wo_hop:
+0x010b 000407 jam 2 ,mem_24g_sync_cnt 
+:      000408 p_g24_transmit_hop_pac_succ:
+0x010c 000409 jam 1 ,mem_24g_rf_last_sta 
+0x010d 000410 jam 0 ,mem_24g_rf_hop_ch 
+0x010e 000411 branch p_g24_transmit_rf_ctrl_clear 
+:      000413 p_g24_transmit_succ_rf_config:
+0x010f 000414 fetch 1 ,mem_24g_rf_work_stage 
+0x0110 000415 beq 3 ,p_g24_transmit_hop_pac_succ 
+0x0111 000416 fetch 1 ,mem_24g_data_type 
+0x0112 000417 isolate0 bit_hop ,pdata 
+0x0113 000418 branch p_g24_transmit_rf_sta_init ,true 
+0x0114 000419 fetch 1 ,mem_24g_rf_work_stage 
+0x0115 000420 beq 1 ,p_g24_transmit_hop_pac_succ_wo_hop 
+0x0116 000421 beq 2 ,p_g24_transmit_hop_pac_succ 
+0x0117 000422 rtn 
+:      000424 p_g24_rf_sta_check:
+0x0118 000425 fetch 1 ,mem_24g_pairing_sm 
+0x0119 000426 rtnne state_24g_pairing_success 
+0x011a 000427 call p_g24_rf_laststa_synccnt_check 
+0x011b 000428 ncall p_g24_rf_sync_cnt_check ,user2 
+0x011c 000429 rtn 
+:      000431 p_g24_rf_laststa_synccnt_check:
+0x011d 000432 disable user2 
+0x011e 000433 fetch 1 ,mem_24g_rf_last_sta 
+0x011f 000434 rtnne 1 
+0x0120 000435 fetch 1 ,mem_24g_sync_cnt 
+0x0121 000436 rtnne 0 
+0x0122 000437 jam 1 ,mem_24g_rf_work_stage 
+0x0123 000438 jam 4 ,mem_24g_max_retry 
+0x0124 000439 branch enable_user2 
+:      000441 p_g24_rf_sync_cnt_check:
+0x0125 000442 fetch 1 ,mem_24g_sync_cnt 
+0x0126 000443 branch p_g24_rf_hop_attemp ,blank 
+0x0127 000444 increase -1 ,pdata 
+0x0128 000445 store 1 ,mem_24g_sync_cnt 
+0x0129 000446 jam 2 ,mem_24g_rf_work_stage 
+0x012a 000447 jam 4 ,mem_24g_max_retry 
+0x012b 000448 branch p_g24_ch 
+:      000450 p_g24_rf_hop_attemp:
+0x012c 000451 jam 3 ,mem_24g_rf_work_stage 
+0x012d 000452 fetch 1 ,mem_24g_rf_hop_ch 
+0x012e 000453 nbranch p_g24_rf_hop_attemp_again ,blank 
+0x012f 000454 jam 2 ,mem_24g_max_retry 
+0x0130 000455 branch p_g24_ch 
+:      000457 p_g24_txdata_prep:
+0x0131 000458 fetch 1 ,mem_24g_pairing_sm 
+0x0132 000459 bne state_24g_pairing_success ,p_g24_pairing_sm 
+:      000460 p_g24_txdata_prep_packeage_data:
+0x0133 000461 call p_g24_package_data 
+:      000462 p_g24_txdata_enable_tx:
+0x0134 000463 call p_g24_transmit_prep 
+0x0135 000464 jam ensure_on_24g ,mem_24g_ensure 
+0x0136 000465 rtn 
+:      000467 p_g24_package_data:
+0x0137 000468 fetch 2 ,mem_cb_24g_data 
+0x0138 000469 call callback_func 
+0x0139 000470 branch p_g24_accumulate_mouse_data ,user 
+0x013a 000471 fetch 7 ,mem_24g_txbuf + 1 
+0x013b 000472 rtn blank 
+0x013c 000473 branch enable_user 
+:      000474 p_g24_accumulate_mouse_data:
+0x013d 000475 call p_mouse_data_xy_release 
+0x013e 000476 jam 0 ,mem_24g_abort_pac 
+0x013f 000477 add rega ,1 ,pdata 
+0x0140 000478 store 1 ,mem_24g_datalen 
+0x0141 000479 call p_g24_transmit_rf_ctrl_clear 
+0x0142 000480 store 1 ,mem_24g_txbuf 
+0x0143 000481 ifetcht 1 ,contw 
+0x0144 000482 ifetch 1 ,regb 
+0x0145 000483 ior temp ,pdata 
+0x0146 000484 istore 1 ,contw 
+0x0147 000485 increase 1 ,regb 
+0x0148 000486 ifetch 4 ,regb 
+0x0149 000487 istore 4 ,contw 
+0x014a 000488 increase 4 ,regb 
+0x014b 000489 arg mem_24g_txbuf + 6 ,contw 
+0x014c 000490 arg 2 ,loopcnt 
+:      000491 p_g24_accumulation_loop:
+0x014d 000492 ifetch 1 ,regb 
+0x014e 000493 ifetcht 1 ,contw 
+0x014f 000494 iadd temp ,pdata 
+0x0150 000495 istore 1 ,contw 
+0x0151 000496 increase 1 ,regb 
+0x0152 000497 loop p_g24_accumulation_loop 
+0x0153 000498 rtn 
+:      000500 p_g24_transmit_packet:
+0x0154 000501 jam 0 ,mem_24g_retry 
+:      000502 p_g24_transmit_loop:
+0x0155 000503 arg param_rx_setup ,timeup 
+0x0156 000504 until clkn_rt ,meet 
+0x0157 000505 call p_g24_transmit_receive_ack 
+0x0158 000506 fetch 1 ,mem_24g_no_ack 
+0x0159 000507 rtneq no_ack_24g 
+0x015a 000508 nbranch p_g24_retransmit ,sync 
+0x015b 000509 nbranch p_g24_retransmit ,user3 
+0x015c 000510 call p_g24_txbuf_clear 
+0x015d 000511 call p_g24_ackpayload_parse 
+0x015e 000512 call power_ctrl_pac_succ_incrs 
+:      000513 p_g24_transmit_next_packet:
+0x015f 000514 fetch 1 ,mem_24g_pid 
+0x0160 000515 increase 1 ,pdata 
+0x0161 000516 store 1 ,mem_24g_pid 
+0x0162 000517 call p_g24_hop_enable_packet 
+0x0163 000518 fetch 1 ,mem_24g_pairing_sm 
+0x0164 000519 bne state_24g_pairing_success ,p_g24_paring_mode_start 
+0x0165 000520 call p_g24_transmit_succ_rf_config 
+:      000521 p_g24_transmit_abandon:
+0x0166 000522 setarg 0 
+0x0167 000523 store 2 ,mem_24g_txfail_cnt 
+0x0168 000524 store 1 ,mem_24g_get_ack_fail 
+0x0169 000525 store 1 ,mem_24g_hop_pac_retry 
+0x016a 000526 jam ensure_off_24g ,mem_24g_ensure 
+0x016b 000527 rtn 
+:      000529 p_g24_txbuf_clear:
+0x016c 000530 arg 4 ,loopcnt 
+0x016d 000531 arg mem_24g_txbuf ,contw 
+0x016e 000532 branch memset0 
+:      000534 p_g24_hop_enable_packet:
+0x016f 000535 fetch 1 ,mem_24g_data_type 
+0x0170 000536 bbit1 bit_hop ,p_g24_hop_ch_disable 
+0x0171 000537 rtn 
+:      000539 p_g24_transmit_receive_ack:
+0x0172 000540 disable user3 
+0x0173 000541 call p_g24_transmit 
+0x0174 000544 fetch 1 ,mem_24g_no_ack 
+0x0175 000545 beq no_ack_24g ,p_g24_transmit_no_ack 
+0x0176 000546 force 0 ,radio_ctrl 
+0x0177 000547 fetch 4 ,mem_24g_addr 
+0x0178 000548 iforce access 
+0x0179 000549 fetcht 1 ,mem_last_freq 
+0x017a 000550 call set_freq_rx 
+0x017b 000551 call rf_rx_enable 
+0x017c 000552 call p_g24_receive_rxon 
+0x017d 000553 call p_g24_end_of_packet ,user3 
+0x017e 000554 rtn 
+:      000555 p_g24_transmit_no_ack:
+0x017f 000556 call p_g24_end_of_packet 
+0x0180 000557 branch p_g24_transmit_next_packet 
+:      000559 p_g24_retransmit:
+0x0181 000560 fetch 2 ,mem_24g_txfail_cnt 
+0x0182 000561 increase 1 ,pdata 
+0x0183 000562 store 2 ,mem_24g_txfail_cnt 
+0x0184 000563 fetch 1 ,mem_24g_txfail_cnt + 1 
+0x0185 000564 bbit1 4 ,g24_stop_24g_mode 
+0x0186 000566 fetch 1 ,mem_24g_pairing_sm 
+0x0187 000567 bne state_24g_pairing_success ,p_g24_tx_paring_retry 
+0x0188 000569 call p_g24_tx_hop_ch_process 
+0x0189 000570 branch p_g24_transmit_loop 
+:      000572 p_g24_tx_paring_retry:
+0x018a 000573 fetch 1 ,mem_24g_txfail_cnt 
+0x018b 000574 rtnne 0xff 
+:      000575 p_g24_tx_attempt_fail:
+0x018c 000576 setarg 0 
+0x018d 000577 store 2 ,mem_24g_txfail_cnt 
+0x018e 000578 branch g24_stop_24g_mode 
+:      000580 p_g24_tx_fast_hop:
+0x018f 000581 call power_ctrl_txpower_incrs 
+0x0190 000582 call power_ctrl_pac_succ_decrs 
+0x0191 000583 branch p_g24_ch 
+:      000585 p_g24_tx_hop_ch_process:
+0x0192 000586 fetch 1 ,mem_24g_retry 
+0x0193 000587 sub pdata ,11 ,null 
+0x0194 000588 nbranch p_g24_tx_fast_hop ,positive 
+0x0195 000589 increase 1 ,pdata 
+0x0196 000590 store 1 ,mem_24g_retry 
+0x0197 000591 beq 2 ,p_g24_hop_ch_enable 
+0x0198 000592 beq 6 ,p_g24_hop_ch_disable 
+0x0199 000593 beq 8 ,p_g24_hop_ch_enable 
+0x019a 000594 beq 12 ,p_g24_hop_ch_disable 
+0x019b 000595 rtn 
+:      000597 p_g24_ackpayload_parse:
+0x019c 000598 call p_g24_read_len_pid_crc 
+0x019d 000599 fetch 1 ,mem_24g_rxdata_length 
+0x019e 000600 rtn blank 
+0x019f 000601 iforce loopcnt 
+0x01a0 000602 arg mem_24g_rxbuf + 2 ,contr 
+0x01a1 000603 arg mem_24g_rxpayload ,contw 
+0x01a2 000604 branch memcpy 
+:      000606 p_g24_pair_init:
+0x01a3 000607 jam tx_power_pair ,mem_tx_power 
+0x01a4 000608 jam 0 ,mem_24g_pid 
+0x01a5 000609 jam g24_pair_ch ,mem_24g_ch 
+0x01a6 000610 fetch 4 ,mem_24g_paring_addr 
+:      000612 p_g24_update_addr_and_synccrc8:
+0x01a7 000613 store 4 ,mem_24g_addr 
+:      000615 p_g24_syncword_crc8:
+0x01a8 000616 arg 0 ,rega 
+0x01a9 000617 arg 4 ,loopcnt 
+0x01aa 000618 arg mem_24g_addr ,contr 
+:      000619 p_g24_syncword_crc8_loop:
+0x01ab 000620 ifetch 1 ,contr 
+0x01ac 000621 iadd rega ,rega 
+0x01ad 000622 loop p_g24_syncword_crc8_loop 
+0x01ae 000623 copy rega ,pdata 
+0x01af 000624 store 2 ,mem_24g_syncword 
+0x01b0 000625 fetch 1 ,mem_24g_syncword 
+0x01b1 000626 fetcht 1 ,mem_24g_syncword + 1 
+0x01b2 000627 iadd temp ,pdata 
+0x01b3 000628 store 1 ,mem_24g_syncword_crc8 
+0x01b4 000629 rtn 
+:      000631 p_g24_pairing_sm:
+0x01b5 000632 fetch 1 ,mem_24g_ensure 
+0x01b6 000633 beq ensure_on_24g ,enable_user 
+0x01b7 000634 fetch 1 ,mem_24g_pairing_sm 
+0x01b8 000635 beq state_24g_pairing_1 ,p_g24_pairing_sm_1 
+0x01b9 000636 beq state_24g_pairing_2 ,p_g24_pairing_sm_2 
+0x01ba 000637 beq state_24g_pairing_3 ,p_g24_pairing_sm_3 
+0x01bb 000638 branch assert 
+:      000640 p_g24_pairing_sm_1:
+0x01bc 000641 jam state_24g_pairing_1_waiting_ack ,mem_24g_pairing_sm 
+0x01bd 000642 jam 0xaa ,mem_24g_common_temp 
+0x01be 000643 branch p_g24_pairing_sm_common 
+:      000644 p_g24_pairing_sm_2:
+0x01bf 000645 jam state_24g_pairing_2_waiting_ack ,mem_24g_pairing_sm 
+0x01c0 000646 jam 0x55 ,mem_24g_common_temp 
+0x01c1 000647 branch p_g24_pairing_sm_common 
+:      000648 p_g24_pairing_sm_3:
+0x01c2 000649 jam state_24g_pairing_3_waiting_ack ,mem_24g_pairing_sm 
+0x01c3 000650 jam 0x22 ,mem_24g_common_temp 
+:      000651 p_g24_pairing_sm_common:
+0x01c4 000652 fetch 1 ,mem_24g_data_type 
+0x01c5 000653 and_into bits_data ,pdata 
+0x01c6 000654 store 1 ,mem_24g_common_temp + 1 
+0x01c7 000655 fetch 4 ,mem_24g_device_addr 
+0x01c8 000656 store 4 ,mem_24g_common_temp + 2 
+:      000657 p_g24_put_pairing_data_in_buff:
+0x01c9 000658 jam 0 ,mem_24g_common_temp + 6 
+0x01ca 000659 arg mem_24g_common_temp ,rega 
+0x01cb 000660 arg 7 ,temp 
+0x01cc 000661 call p_g24_put_data_in_buff 
+0x01cd 000662 call p_g24_txdata_enable_tx 
+0x01ce 000663 branch enable_user 
+:      000665 p_g24_paring_mode_start:
+0x01cf 000666 call power_ctrl_pac_succ_cnt_init 
+:      000667 p_g24_paring_mode:
+0x01d0 000668 fetch 1 ,mem_24g_pairing_sm 
+0x01d1 000669 rtneq state_24g_pairing_success 
+0x01d2 000670 beq state_24g_pairing_1_waiting_ack ,p_g24_pairing_sm_1_waiting_ack 
+0x01d3 000671 beq state_24g_pairing_2_waiting_ack ,p_g24_pairing_sm_2_waiting_ack 
+0x01d4 000672 beq state_24g_pairing_3_waiting_ack ,p_g24_pairing_sm_3_waiting_ack 
+0x01d5 000673 rtn 
+:      000676 p_g24_pairing_sm_1_waiting_ack:
+0x01d6 000677 jam state_24g_pairing_2 ,mem_24g_pairing_sm 
+0x01d7 000678 branch p_g24_transmit_abandon 
+:      000679 p_g24_pairing_sm_2_waiting_ack:
+0x01d8 000680 jam state_24g_pairing_3 ,mem_24g_pairing_sm 
+0x01d9 000681 branch p_g24_transmit_abandon 
+:      000682 p_g24_pairing_sm_3_waiting_ack:
+0x01da 000683 jam state_24g_pairing_success ,mem_24g_pairing_sm 
+0x01db 000684 jam bt_evt_24g_pairing_complete ,mem_fifo_temp 
+0x01dc 000685 call ui_ipc_send_event 
+0x01dd 000686 fetch 4 ,mem_24g_rxpayload + 2 
+0x01de 000687 call p_g24_update_addr_and_synccrc8 
+0x01df 000688 branch p_g24_transmit_abandon 
+:      000690 p_g24_tx_attemp_data_prep:
+0x01e0 000691 jam 0xff ,mem_24g_common_temp 
+0x01e1 000692 fetch 1 ,mem_24g_data_type 
+0x01e2 000693 store 1 ,mem_24g_common_temp + 1 
+0x01e3 000694 fetch 4 ,mem_24g_device_addr 
+0x01e4 000695 store 4 ,mem_24g_common_temp + 2 
+0x01e5 000696 arg 6 ,temp 
+0x01e6 000697 arg mem_24g_common_temp ,rega 
+0x01e7 000698 call p_g24_put_data_in_buff 
+0x01e8 000699 branch p_g24_transmit_prep 
+:      000701 p_g24_auto_pair_timeout_clear:
+0x01e9 000702 setarg 0 
+0x01ea 000703 store 2 ,mem_g24_stop_g24_mode_timeout 
+0x01eb 000704 jam 0 ,mem_g24_stop_g24_mode 
+0x01ec 000705 rtn 
+:      000707 p_g24_auto_pair_all_powerful:
+0x01ed 000708 jam tx_power_pair ,mem_tx_power 
+0x01ee 000709 setarg 0x0f0f 
+0x01ef 000710 store 2 ,mem_24g_addr 
+0x01f0 000711 istore 2 ,contw 
+0x01f1 000712 fetch 1 ,mem_24g_powerful_current_ch_num 
+0x01f2 000713 store 1 ,mem_24g_current_ch_number 
+0x01f3 000714 call p_g24_ch_syncword_crc8_init 
+0x01f4 000715 storet 1 ,mem_24g_powerful_current_ch_num 
+0x01f5 000716 rtn 
+:      000718 p_g24_check_51cmd_stop_24g:
+0x01f6 000719 set0 mark_24g ,mark 
+0x01f7 000720 call le_disable 
+:      000721 p_mouse_disable_g24_pairing_flag:
+0x01f8 000722 arg mosue_24g_pairing_flag ,queue 
+0x01f9 000723 branch mouse_disable_function_flag 
+:      000725 p_g24_put_data_in_buff:
+0x01fa 000726 storet 1 ,mem_24g_datalen 
+0x01fb 000727 copy temp ,loopcnt 
+0x01fc 000728 arg mem_24g_txbuf ,contw 
+0x01fd 000729 copy rega ,contr 
+0x01fe 000730 branch memcpy 
+:      000732 p_g24_read_len_pid_crc:
+0x01ff 000734 fetch 1 ,mem_24g_rxbuf + 1 
+0x0200 000735 rshift3 pdata ,pdata 
+0x0201 000736 store 1 ,mem_24g_rxdata_length 
+0x0202 000738 increase 1 ,pdata 
+0x0203 000739 arg mem_24g_rxbuf + 1 ,contr 
+0x0204 000740 iadd contr ,contr 
+0x0205 000741 ifetch 3 ,contr 
+0x0206 000742 store 3 ,mem_24g_sta_crc 
+0x0207 000744 fetch 1 ,mem_24g_rxbuf + 1 
+0x0208 000745 rshift pdata ,pdata 
+0x0209 000746 and pdata ,0x03 ,pdata 
+0x020a 000747 store 1 ,mem_24g_sta_pid 
+0x020b 000748 rtn 
+:      000750 p_g24_transmit_prep:
+0x020c 000753 fetch 1 ,mem_24g_datalen 
+0x020d 000754 increase 2 ,pdata 
+0x020e 000755 store 1 ,mem_24g_txlen 
+0x020f 000757 fetch 1 ,mem_24g_data_type 
+0x0210 000758 store 1 ,mem_24g_txpayload 
+0x0211 000760 fetch 1 ,mem_24g_datalen 
+0x0212 000761 lshift3 pdata ,pdata 
+0x0213 000762 fetcht 1 ,mem_24g_pid 
+0x0214 000763 and temp ,0x03 ,temp 
+0x0215 000764 lshift temp ,temp 
+0x0216 000765 ior temp ,pdata 
+0x0217 000766 fetcht 1 ,mem_24g_no_ack 
+0x0218 000767 iadd temp ,pdata 
+0x0219 000768 istore 1 ,contw 
+0x021a 000770 fetch 1 ,mem_24g_datalen 
+0x021b 000771 iforce loopcnt 
+0x021c 000772 arg mem_24g_txbuf ,contr 
+0x021d 000773 branch memcpy 
+:      000775 p_g24_ch_map_size:
+0x021e 000776 call p_g24_ch_calc 
+0x021f 000777 increase 1 ,temp 
+0x0220 000778 and_into 3 ,temp 
+0x0221 000779 rtn 
+:      000781 p_g24_ch_calc:
+0x0222 000782 fetch 1 ,mem_24g_addr 
+0x0223 000783 and_into 0x03 ,pdata 
+0x0224 000784 mul32 pdata ,4 ,rega 
+0x0225 000785 setarg mem_24g_ch_map1 
+0x0226 000786 iadd rega ,pdata 
+0x0227 000787 iadd temp ,contr 
+0x0228 000788 ifetch 1 ,contr 
+0x0229 000789 store 1 ,mem_24g_ch 
+0x022a 000790 rtn 
+:      000792 p_g24_prep:
+0x022b 000793 disable enable_crc 
+0x022c 000794 disable enable_white 
+0x022d 000795 setarg 0x555555 
+0x022e 000796 iforce crc24_init 
+0x022f 000797 fetch 1 ,mem_24g_ch 
+0x0230 000798 reverse pdata ,temp 
+0x0231 000799 set1 1 ,temp 
+0x0232 000800 rshift temp ,white_init 
+0x0233 000801 rtn 
+:      000813 p_g24_receive_rxon:
+0x0234 000816 call p_g24_prep 
+0x0235 000817 disable user3 
+0x0236 000818 enable decode_fec0 
+0x0237 000819 enable is_rx 
+0x0238 000820 disable is_tx 
+0x0239 000821 enable swfine 
+0x023a 000822 fetch 2 ,mem_24g_rx_window 
+0x023b 000823 iforce stop_watch 
+0x023c 000824 correlate null ,timeout 
+0x023d 000825 nbranch p_g24_sync_timeout ,sync 
+0x023e 000828 disable decode_fec0 
+0x023f 000829 enable decode_fec1 
+0x0240 000830 enable enable_white 
+0x0241 000831 enable enable_crc 
+0x0242 000832 call p_g24_receive_byte 
+0x0243 000833 store 1 ,mem_24g_get_syncword_crc8 
+0x0244 000834 fetcht 1 ,mem_24g_syncword_crc8 
+0x0245 000835 isub temp ,null 
+0x0246 000836 nbranch p_g24_end_of_packet ,zero 
+0x0247 000837 call p_g24_receive_byte 
+0x0248 000838 store 1 ,mem_24g_rxbuf 
+0x0249 000839 fetch 1 ,mem_24g_mode 
+0x024a 000840 sub pdata ,rx_24g ,null 
+0x024b 000841 branch p_g24_receive_skip ,zero 
+0x024c 000842 fetch 1 ,mem_24g_rxbuf 
+0x024d 000843 fetcht 1 ,mem_24g_data_type 
+0x024e 000844 icompare bits_data ,temp 
+0x024f 000845 nbranch p_g24_end_of_packet ,true 
+:      000846 p_g24_receive_skip:
+0x0250 000847 call p_g24_receive_byte 
+0x0251 000848 istore 1 ,contw 
+0x0252 000849 rshift3 pdata ,pdata 
+0x0253 000850 and pdata ,0x1f ,loopcnt 
+0x0254 000851 branch p_g24rx_nopayload ,zero 
+:      000852 p_g24rx_loop:
+0x0255 000853 call p_g24_receive_byte 
+0x0256 000854 istore 1 ,contw 
+0x0257 000855 loop p_g24rx_loop 
+:      000856 p_g24rx_nopayload:
+0x0258 000858 copy contw ,rega 
+0x0259 000859 call p_g24_receive_byte 
+0x025a 000860 store 1 ,mem_rssi_hex_received 
+0x025b 000861 copy rega ,contw 
+0x025c 000862 parse demod ,bucket ,24 
+0x025d 000863 enable swfine 
+0x025e 000864 arg param_sifs ,stop_watch 
+0x025f 000865 rshift32 pdata ,pdata 
+0x0260 000866 rshift16 pdata ,pdata 
+0x0261 000867 istore 3 ,contw 
+0x0262 000868 disable decode_fec1 
+0x0263 000869 branch p_g24_end_of_packet ,crc_failed 
+0x0264 000872 enable user3 
+0x0265 000873 fetch 1 ,mem_last_freq 
+0x0266 000874 add pdata ,0 ,rega 
+0x0267 000875 call rf_write_freq 
+0x0268 000876 disable decode_fec0 
+0x0269 000877 call set_sync_on 
+0x026a 000878 fetch 1 ,mem_rssi_hex_received 
+0x026b 000879 call p_rssi_signal 
+0x026c 000880 rtn 
+:      000882 p_g24_receive_byte:
+0x026d 000883 parse demod ,bucket ,8 
+0x026e 000884 rshift3 pwindow ,pdata 
+0x026f 000885 rtn 
+:      000887 p_g24_sync_timeout:
+:      000891 p_g24_end_of_packet:
+0x0270 000892 disable encode_fec1 
+0x0271 000893 disable decode_fec1 
+0x0272 000894 call end_of_packet 
+0x0273 000895 rtn 
+:      000897 p_g24_set_freq_tx:
+0x0274 000898 call set_sync_on 
+0x0275 000899 fetcht 1 ,mem_24g_ch 
+0x0276 000900 branch set_freq_tx 
+:      000902 p_g24_transmit:
+0x0277 000903 call le_enable 
+0x0278 000904 fetch 4 ,mem_24g_addr 
+0x0279 000905 iforce access 
+0x027a 000906 call p_g24_prep 
+0x027b 000907 call p_g24_set_freq_tx 
+0x027c 000908 set1 txgfsk ,radio_ctrl 
+0x027d 000909 enable encode_fec0 
+0x027e 000910 enable is_tx 
+0x027f 000911 disable is_rx 
+0x0280 000914 rshift16 access ,pdata 
+0x0281 000915 rshift8 pdata ,pdata 
+0x0282 000916 rshift4 pdata ,pdata 
+0x0283 000917 inject mod ,40 
+0x0284 000918 disable encode_fec0 
+0x0285 000919 enable encode_fec1 
+0x0286 000920 enable enable_white 
+0x0287 000921 enable enable_crc 
+0x0288 000922 fetch 1 ,mem_24g_syncword_crc8 
+0x0289 000923 inject mod ,8 
+0x028a 000924 fetch 1 ,mem_24g_txlen 
+0x028b 000925 iforce loopcnt 
+0x028c 000926 arg mem_24g_txpayload ,contr 
+:      000927 p_g24tr_loop:
+0x028d 000928 ifetch 1 ,contr 
+0x028e 000929 inject mod ,8 
+0x028f 000930 loop p_g24tr_loop 
+0x0290 000933 enable enable_parity 
+0x0291 000934 inject mod ,24 
+0x0292 000935 disable enable_parity 
+0x0293 000936 until null ,tx_clear 
+0x0294 000937 nop 100 
+0x0295 000938 disable encode_fec0 
+0x0296 000939 disable encode_fec1 
+0x0297 000940 rtn 
+:      000942 p_g24_timer_check:
+0x0298 000943 call disable_user 
+0x0299 000944 fetcht 4 ,mem_24g_tx_btclk 
+0x029a 000945 copy clkn_bt ,pdata 
+0x029b 000946 isub temp ,null 
+0x029c 000947 ncall g24_timer_timeout ,positive 
+0x029d 000948 copy pdata ,regb 
+0x029e 000949 fetch 4 ,mem_24g_tx_btclk 
+0x029f 000950 fetcht 1 ,mem_24g_interval 
+0x02a0 000951 iadd temp ,temp 
+0x02a1 000952 copy regb ,pdata 
+0x02a2 000953 isub temp ,null 
+0x02a3 000954 nrtn positive 
+0x02a4 000955 set0 28 ,pdata 
+0x02a5 000956 store 4 ,mem_24g_tx_btclk 
+0x02a6 000957 branch enable_user 
+:      000981 p_rssi_average:
+0x02a7 000982 arg 0 ,temp 
+0x02a8 000983 arg rssi_buf_len_signal + 1 ,loopcnt 
+0x02a9 000984 copy rega ,contr 
+:      000985 p_rssi_average_loop:
+0x02aa 000986 ifetch 1 ,contr 
+0x02ab 000987 iadd temp ,temp 
+0x02ac 000988 loop p_rssi_average_loop 
+0x02ad 000989 rshift3 temp ,pdata 
+0x02ae 000990 copy pdata ,temp 
+0x02af 000991 rtnmark0 mark_24g 
+0x02b0 000993 div pdata ,10 
+0x02b1 000994 call wait_div_end 
+0x02b2 000995 quotient pdata 
+0x02b3 000996 lshift4 pdata ,pdata 
+0x02b4 000997 remainder temp 
+0x02b5 000998 ior temp ,temp 
+0x02b6 000999 rtn 
+0x02b7 001000 rtn 
+:      001003 p_mouse_before_lpm:
+0x02b8 001004 rtnmark1 mark_24g 
+0x02b9 001005 call p_mouse_le_txbuff_save 
+0x02ba 001006 call p_mouse_setgpio_lpm 
+0x02bb 001007 fetch 1 ,mem_context 
+0x02bc 001008 bbit0 state_inconn ,p_clear_wake 
+0x02bd 001009 fetch 1 ,mem_lpm_current_mult 
+0x02be 001010 nrtn blank 
+:      001011 p_clear_wake:
+0x02bf 001012 setarg 0 
+0x02c0 001013 store 8 ,mem_gpio_wakeup_low 
+0x02c1 001014 rtn 
+:      001016 p_mouse_setgpio_lpm:
+0x02c2 001017 call p_mouse_set_sdio_high 
+0x02c3 001018 call p_clear_wake 
+0x02c4 001019 call mouse_lpm_before_common 
+0x02c5 001020 hfetch 4 ,core_gpio_oe0 
+0x02c6 001021 hfetcht 4 ,core_gpio_pu0 
+0x02c7 001022 ior temp ,temp 
+0x02c8 001023 invert temp ,temp 
+0x02c9 001024 hstoret 4 ,core_gpio_pd0 
+0x02ca 001025 rtn 
+:      001028 p_mouse_set_sdio_high:
+0x02cb 001029 fetch 1 ,mem_mouse_init_sensor_reset_flag 
+0x02cc 001030 rtn blank 
+0x02cd 001031 branch p_mouse_seting_dpi_diff 
+:      001033 p_device_init:
+0x02ce 001034 call app_lpm_mult_enable 
+0x02cf 001035 branch p_device_init_common ,wake 
+0x02d0 001036 call p_mouse_data_init 
+0x02d1 001037 fetch 1 ,mem_tx_power 
+0x02d2 001038 store 1 ,mem_tx_power_temp 
+0x02d3 001039 call power_ctrl_pac_succ_cnt_init 
+0x02d4 001040 fetch 1 ,mem_ui_button_timeout 
+0x02d5 001041 store 1 ,mem_combination_ui_button_count 
+0x02d6 001042 call mouse_bt_discovery_button_down_disable 
+0x02d7 001043 fetch 3 ,mem_le_lap + 3 
+0x02d8 001044 store 3 ,mem_le_lap_high_3b 
+:      001045 p_device_init_common:
+0x02d9 001046 call p_mouse_init 
+0x02da 001047 branch enable_authrom 
+:      001049 p_mouse_init:
+0x02db 001050 ncall p_mouse_setting_config ,wake 
+0x02dc 001051 call p_mouse_spi_init 
+0x02dd 001052 rtn wake 
+0x02de 001053 call p_mouse_cb_fuction 
+0x02df 001054 call p_mouse_check_key_gpio 
+0x02e0 001055 beq mouse_lm_button ,p_mouse_24g_pairing_button 
+0x02e1 001056 call p_mouse_wakeup_from_power 
+:      001057 p_mouse_check_reconn_target:
+0x02e2 001058 call p_mouse_tx_power_init 
+0x02e3 001059 fetch 1 ,mem_device_flag 
+0x02e4 001060 beq mode_24g_device ,p_mouse_connect_24g_mode 
+0x02e5 001061 beq 0xff ,p_mouse_connect_24g_mode 
+:      001062 p_mouse_check_bt_reconn_target:
+0x02e6 001063 call p_mouse_mode_bt_device1_multi_led_on 
+0x02e7 001064 fetch 1 ,mem_xrecord_mode 
+0x02e8 001065 beq rec_4_mode ,p_mouse4_0_check_reconn_target 
+:      001068 p_mouse_null_enter_hibernate_enable:
+0x02e9 001069 jam 1 ,mem_mouse_null_enter_hibernate_flag 
+0x02ea 001070 jam 40 ,mem_mouse_null_enter_hibernate_timer 
+0x02eb 001071 rtn 
+:      001073 p_mouse_tx_power_init:
+0x02ec 001074 fetch 1 ,mem_tx_power_temp 
+0x02ed 001075 store 1 ,mem_tx_power 
+0x02ee 001076 rtn 
+:      001078 p_mouse_connect_24g_mode:
+0x02ef 001079 call p_mouse_mode_24g_device_multi_led_on 
+0x02f0 001080 call p_mouse_store_24g_device_2eeprom 
+:      001081 p_mouse_start_24g_mode:
+0x02f1 001084 call p_g24_factory_check 
+0x02f2 001085 branch p_g24_auto_pair_start ,user 
+:      001086 p_g24_start_24g_mode:
+0x02f3 001087 set1 mark_24g ,mark 
+0x02f4 001088 fetch 1 ,mem_g24_conn_sm 
+0x02f5 001089 set1 state_24g_reconn ,pdata 
+0x02f6 001090 store 1 ,mem_g24_conn_sm 
+0x02f7 001091 call p_g24_ch_syncword_crc8_init 
+0x02f8 001092 branch p_g24_auto_pair_timeout_init 
+:      001096 p_mouse4_0_check_reconn_target:
+0x02f9 001099 jam 1 ,mem_le_send_security_request_flag 
+0x02fa 001100 jam 1 ,mem_mouse_le_reconnect_flag 
+0x02fb 001101 fetch 2 ,mem_mouse_direct_timeout 
+0x02fc 001102 fetcht 1 ,mem_mouse_fast_conn_flag 
+0x02fd 001103 sub temp ,0xff ,null 
+0x02fe 001104 nbranch p_mouse4_0_check_reconn_target_next ,zero 
+0x02ff 001105 setarg 0x0258 
+:      001106 p_mouse4_0_check_reconn_target_next:
+0x0300 001107 store 2 ,mem_mouse_direct_timer 
+0x0301 001108 call app_lpm_mult_disable 
+0x0302 001109 call p_le_check_adv_flag 
+0x0303 001110 setarg adv_flag_bredr_not_supported 
+0x0304 001111 istore 1 ,contr 
+0x0305 001113 arg mem_le_scan_data ,contr 
+0x0306 001114 call p_le_adv_data_update 
+0x0307 001116 branch check_51cmd_adv 
+:      001118 p_le_check_adv_flag:
+0x0308 001119 arg mem_le_adv_data ,rega 
+:      001120 p_le_check_adv_flag_loop:
+0x0309 001121 ifetch 1 ,rega 
+0x030a 001122 rtn blank 
+0x030b 001123 iadd contr ,rega 
+0x030c 001124 ifetch 1 ,contr 
+0x030d 001125 rtneq 0x01 
+0x030e 001126 branch p_le_check_adv_flag_loop 
+:      001128 p_mouse_24g_pairing_button:
+0x030f 001133 fetch 1 ,mem_g24_conn_sm 
+0x0310 001134 bbit1 state_24g_reconn ,p_mouse_24g_pairing_button_next 
+0x0311 001135 rtnmark1 mark_24g 
+:      001136 p_mouse_24g_pairing_button_next:
+0x0312 001138 arg mosue_24g_pairing_flag ,queue 
+0x0313 001139 call mouse_enable_function_flag 
+0x0314 001140 setarg 0 
+0x0315 001141 store 2 ,mem_mouse_direct_timer 
+0x0316 001142 store 1 ,mem_mouse_send_blank_timer 
+0x0317 001143 store 2 ,mem_24g_check_dongle_times 
+0x0318 001144 call mouse_stop_discovery 
+0x0319 001145 jam mode_24g_device ,mem_device_flag 
+:      001147 p_g24_auto_pair_start:
+0x031a 001148 set1 mark_24g ,mark 
+0x031b 001149 fetch 1 ,mem_g24_conn_sm 
+0x031c 001150 set1 state_24g_pair ,pdata 
+0x031d 001151 store 1 ,mem_g24_conn_sm 
+:      001152 p_g24_auto_pair_timeout_init:
+0x031e 001153 setarg g24_disconn_nodata_timer 
+0x031f 001154 store 2 ,mem_g24_stop_g24_mode_timeout 
+0x0320 001155 jam 0 ,mem_g24_stop_g24_mode 
+0x0321 001156 rtn 
+:      001158 p_g24_start_pairing_sm1:
+0x0322 001159 set1 mark_24g ,mark 
+0x0323 001160 call p_g24_pair_init 
+:      001161 p_g24_set_pairing_sm_1:
+0x0324 001162 jam state_24g_pairing_1 ,mem_24g_pairing_sm 
+0x0325 001163 rtn 
+:      001165 p_mouse_spi_init:
+0x0326 001166 jam 0x76 ,mem_spi_init_clk 
+0x0327 001167 branch mouse_spi_init 
+:      001169 p_mouse_init_sunt:
+0x0328 001170 call p_mouse_spi_init 
+0x0329 001171 call mouse_spi_sdio_gpio_pollup 
+:      001174 p_mouse_init_sensor:
+0x032a 001175 call mouse_read_sensor_id 
+0x032b 001176 beq p32xx_id1 ,p_mouse_init_p32xx_id2_judge 
+0x032c 001177 beq p3065_id1 ,p_mouse_p3065_init_param 
+0x032d 001178 call mouse_twspi_reset 
+0x032e 001179 nop 1000 
+0x032f 001180 branch p_mouse_init_sensor 
+:      001182 p_mouse_init_sensor_reset:
+0x0330 001183 jam 1 ,mem_mouse_init_sensor_reset_flag 
+0x0331 001184 call spi_ncs_enable 
+0x0332 001185 call p_mouse_init_sunt 
+0x0333 001186 branch spi_ncs_disable 
+:      001188 p_mouse_init_p32xx_id2_judge:
+0x0334 001189 call p_mouse_sensor_poweron 
+0x0335 001190 branch mouse_init_p32xx_id2_judge 
+:      001192 p_mouse_p3065_init_param:
+0x0336 001193 call p_mouse_sensor_poweron 
+0x0337 001194 fetch 1 ,mem_sensor_id2 
+0x0338 001195 beq p3065_xy_id2 ,mouse_p3065xy_init_param 
+0x0339 001196 jam p3065 ,mem_config_sensor_type 
+0x033a 001197 rtn 
+:      001199 p_mouse_setting_config:
+0x033b 001200 fetch 4 ,mem_lap 
+0x033c 001201 store 4 ,mem_24g_device_addr 
+0x033d 001206 call mouse_gpio_init 
+0x033e 001207 call mouse_param_init 
+0x033f 001208 setarg 0 
+0x0340 001209 store 2 ,mem_lpm_interval 
+0x0341 001210 call adc_init_data 
+0x0342 001211 call mouse_adc_init 
+0x0343 001212 call le_set_config_fixed_ltk 
+0x0344 001213 call le_set_justwork 
+0x0345 001214 call le_set_fixed_ltk 
+0x0346 001215 call le_set_config_read_authentication 
+:      001220 p_mouse_init_iic:
+0x0347 001221 call iic_init_390k 
+0x0348 001224 call clear_eeprom_size_2k 
+0x0349 001225 call mouse_load_eeprom_dpi 
+0x034a 001226 call p_mouse_init_environment 
+0x034b 001227 call p_mouse_set_24g_addr_eeprom 
+0x034c 001228 call iicd_read_eep_data 
+0x034d 001229 arg 3 ,loopcnt 
+0x034e 001230 arg mem_device1_addr ,contr 
+0x034f 001231 call p_pdata_0xff_check 
+0x0350 001232 nbranch p_mouse_le_fast_conn_disable ,user 
+0x0351 001233 call p_mouse_fast_conn_init 
+0x0352 001234 rtn 
+:      001236 p_mouse_le_fast_conn_disable:
+0x0353 001237 jam 0x5a ,mem_mouse_fast_conn_flag 
+0x0354 001238 rtn 
+:      001240 p_mouse_fast_conn_init:
+0x0355 001241 jam 0xff ,mem_mouse_fast_conn_flag 
+0x0356 001242 jam 0x34 ,mem_xrecord_mode 
+0x0357 001243 setarg 0x0f0f0f 
+0x0358 001244 store 3 ,mem_le_lap 
+0x0359 001245 store 3 ,mem_le_lap + 3 
+0x035a 001246 rtn 
+:      001250 p_mouse_init_environment:
+0x035b 001251 call app_initflag_check 
+0x035c 001252 branch p_mouse_eeprom_load_recon_info ,zero 
+0x035d 001253 call p_le_addr_random_config 
+0x035e 001254 branch mouse_init_environment + 2 
+:      001256 p_app_flag_store:
+0x035f 001257 arg 2 ,temp 
+0x0360 001258 arg mem_timeup ,rega 
+0x0361 001259 arg mouse_eeprom_module_init_flag ,regb 
+0x0362 001260 branch iicd_write_protect_eep_data 
+:      001262 p_app_initflag_check:
+0x0363 001263 arg 2 ,temp 
+0x0364 001264 arg mem_pdatatemp ,rega 
+0x0365 001265 arg mouse_eeprom_module_init_flag ,regb 
+0x0366 001266 branch app_initflag_check + 4 
+:      001268 p_mouse_eeprom_load_recon_info:
+0x0367 001269 arg 88 ,temp 
+0x0368 001270 arg mem_device_flag ,rega 
+0x0369 001271 arg mouse_info_eeprom_offect ,regb 
+0x036a 001272 call iicd_read_eep_data 
+0x036b 001273 call p_mouse_switch_hwakeup_bypb 
+0x036c 001274 branch mouse_select_reconn_device 
+:      001276 p_mouse_wakeup_from_power:
+0x036d 001282 call p_mouse_init_sunt 
+0x036e 001283 call p_mouse_sensor_powerdown 
+:      001284 p_mouse_wakeup_no_from_power:
+0x036f 001286 jam 0 ,mem_reconn_times 
+0x0370 001287 rtn 
+:      001289 p_g24_factory_check:
+0x0371 001290 arg 2 ,loopcnt 
+0x0372 001291 arg mem_24g_addr ,contr 
+:      001292 p_pdata_0xff_check:
+0x0373 001293 call enable_user 
+0x0374 001294 setarg 0xffff 
+:      001295 p_pdata_0xff_check_loop:
+0x0375 001296 ifetcht 2 ,contr 
+0x0376 001297 isub temp ,null 
+0x0377 001298 ncall disable_user ,zero 
+0x0378 001299 loop p_pdata_0xff_check_loop 
+0x0379 001300 rtn 
+:      001302 p_mouse_cb_fuction:
+0x037a 001303 setarg p_mouse_g24_package_data 
+0x037b 001304 store 2 ,mem_cb_24g_data 
+0x037c 001305 setarg p_mouse_le 
+0x037d 001306 store 2 ,mem_cb_le_process 
+0x037e 001307 setarg p_le_mouse_bb_event_connect_complete 
+0x037f 001308 store 2 ,mem_cb_att_write 
+0x0380 001309 setarg p_mouse_before_lpm 
+0x0381 001310 store 2 ,mem_cb_before_lpm 
+0x0382 001311 setarg p_mouse_priority_bb_event 
+0x0383 001312 store 2 ,mem_cb_bb_event_process 
+0x0384 001313 setarg p_mouse_idle 
+0x0385 001314 store 2 ,mem_cb_idle_process 
+0x0386 001315 setarg p_mouse_before_hibernate 
+0x0387 001316 store 2 ,mem_cb_before_hibernate 
+0x0388 001317 setarg p_mouse_bb_event_timer 
+0x0389 001318 store 2 ,mem_cb_event_timer 
+0x038a 001319 rtn 
+:      001321 p_mouse_g24_package_data:
+0x038b 001322 call mouse_g24_package_data 
+0x038c 001323 fetch 2 ,mem_mouse_z 
+0x038d 001324 rtn blank 
+0x038e 001325 branch p_g24_transmit_by_interrupt_enable 
+:      001327 p_mouse_le_txbuff_save:
+0x038f 001328 arg mem_le_tx_buffer0 ,contr 
+0x0390 001329 arg mem_le_tx_buffer0_omemalloc ,contw 
+0x0391 001330 call p_mouse_le_txbuff_copy 
+0x0392 001331 arg mem_le_tx_buffer1 ,contr 
+0x0393 001332 call p_mouse_le_txbuff_copy 
+0x0394 001333 arg mem_le_tx_buffer2 ,contr 
+0x0395 001334 call p_mouse_le_txbuff_copy 
+0x0396 001335 arg mem_le_tx_buffer3 ,contr 
+:      001336 p_mouse_le_txbuff_copy:
+0x0397 001337 arg 27 ,loopcnt 
+0x0398 001338 branch memcpy 
+:      001340 p_mouse_le_txbuff_load:
+0x0399 001341 arg mem_le_tx_buffer0_omemalloc ,contr 
+0x039a 001342 arg mem_le_tx_buffer0 ,contw 
+0x039b 001343 call p_mouse_le_txbuff_copy 
+0x039c 001344 arg mem_le_tx_buffer1 ,contw 
+0x039d 001345 call p_mouse_le_txbuff_copy 
+0x039e 001346 arg mem_le_tx_buffer2 ,contw 
+0x039f 001347 call p_mouse_le_txbuff_copy 
+0x03a0 001348 arg mem_le_tx_buffer3 ,contw 
+0x03a1 001349 branch p_mouse_le_txbuff_copy 
+:      001351 p_mouse_le:
+0x03a2 001352 call le_fifo_check_nearly_full 
+0x03a3 001353 nrtn blank 
+0x03a4 001354 fetch 1 ,mem_mouse_fast_conn_flag 
+0x03a5 001355 beq 0xff ,p_mouse_le_next 
+0x03a6 001356 fetch 1 ,mem_le_connect_status_flag 
+0x03a7 001357 and pdata ,0x03 ,pdata 
+0x03a8 001358 rtnne 0x03 
+:      001359 p_mouse_le_next:
+0x03a9 001360 fetch 1 ,mem_mouse_clear_sensor_data_flag 
+0x03aa 001361 call p_mouse_clear_sensor_data ,blank 
+0x03ab 001362 fetch mouse_flag_len ,mem_mouse_flag 
+0x03ac 001365 bbit1 mouse_bt_discovery_button_down_flag ,mouse_le_send_empty_packet 
+0x03ad 001366 call mouse_motion 
+0x03ae 001367 nrtn user 
+0x03af 001368 call p_mouse_le_current_mult_update 
+0x03b0 001369 call p_mouse_data_xy_release 
+0x03b1 001370 call p_mouse_wheel_trigger 
+:      001371 p_mouse_data_push:
+0x03b2 001372 arg mem_mouse_key ,rega 
+0x03b3 001373 call queue_push 
+0x03b4 001374 call p_mouse_queue_increase ,user 
+0x03b5 001376 rtn 
+:      001378 p_mouse_le_current_mult_update:
+0x03b6 001381 jam 0 ,mem_lpm_mult 
+0x03b7 001382 jam 30 ,mem_mouse_le_current_mult_timer 
+0x03b8 001383 rtn 
+:      001385 p_mouse_data_xy_release:
+0x03b9 001388 fetch 1 ,mem_mouse_long_mult_flag 
+0x03ba 001389 rtnne 1 
+0x03bb 001390 setarg 0 
+0x03bc 001391 store 1 ,mem_mouse_long_mult_flag 
+0x03bd 001392 store 4 ,mem_mouse_x 
+:      001393 p_mouse_sensor_poweron:
+0x03be 001394 setarg 0x8006 
+0x03bf 001395 call twspi_write 
+0x03c0 001396 nop 12000 
+:      001397 p_mouse_dpi_config:
+0x03c1 001398 fetch 1 ,mem_mouse_dpi 
+0x03c2 001399 bne 0xff ,p_mouse_seting_dpi 
+:      001400 p_mouse_dpi_config_default:
+0x03c3 001401 fetch 1 ,mem_config_sensor_motion 
+0x03c4 001402 store 1 ,mem_mouse_dpi 
+:      001404 p_mouse_seting_dpi:
+:      001405 p_mouse_seting_dpi_diff:
+0x03c5 001406 fetch 1 ,mem_config_sensor_type 
+0x03c6 001407 beq p3065_xy ,p_mouse_seting_3065xy_dpi 
+0x03c7 001408 branch mouse_seting_dpi + 3 
+:      001410 p_mouse_seting_3065xy_dpi:
+0x03c8 001411 fetch 1 ,mem_mouse_dpi 
+0x03c9 001412 call p_mouse_3065xy_dpi_recount ,blank 
+0x03ca 001413 fetch 1 ,mem_mouse_dpi 
+0x03cb 001414 beq mouse_dpi_level2 ,p_mouse_3065_set_cpi1 
+0x03cc 001415 beq mouse_dpi_level4 ,mouse_set_cpi3 
+0x03cd 001416 branch mouse_set_cpi2 
+:      001417 p_mouse_3065xy_dpi_recount:
+0x03ce 001418 jam mouse_dpi_level2 ,mem_mouse_dpi 
+0x03cf 001419 rtn 
+:      001420 p_mouse_3065_set_cpi1:
+0x03d0 001421 jam 0 ,mem_mouse_cpi_count 
+0x03d1 001422 branch mouse_p3205_dpi + 3 
+:      001424 p_mouse_data_init:
+0x03d2 001425 jam 7 ,mem_mouse_data_queue 
+0x03d3 001426 jam 4 ,mem_mouse_data_queue + 1 
+0x03d4 001427 setarg mem_mouse_data_queue 
+0x03d5 001428 store 2 ,mem_queue_ptr 
+0x03d6 001429 branch queue_init 
+:      001431 p_mouse_queue_increase:
+0x03d7 001432 fetch 1 ,mem_mouse_data_queue_num 
+0x03d8 001433 increase 1 ,pdata 
+0x03d9 001434 store 1 ,mem_mouse_data_queue_num 
+0x03da 001435 rtn 
+:      001437 p_mouse_data_pull:
+0x03db 001438 arg mem_mouse_key ,rega 
+0x03dc 001439 call queue_pop 
+0x03dd 001440 branch p_mouse_fill_data_le ,user 
+0x03de 001441 rtn 
+:      001443 p_mouse_fill_data_le:
+0x03df 001444 call le_clear_md 
+0x03e0 001445 fetch 1 ,mem_mouse_data_queue_num 
+0x03e1 001446 sub pdata ,1 ,null 
+0x03e2 001447 ncall le_set_md ,positive 
+0x03e3 001448 fetch 1 ,mem_mouse_data_queue_num 
+0x03e4 001449 rtn blank 
+0x03e5 001450 increase -1 ,pdata 
+0x03e6 001451 store 1 ,mem_mouse_data_queue_num 
+0x03e7 001452 branch mouse_fill_data_le 
+:      001454 p_mouse_wheel_trigger:
+0x03e8 001455 fetch 2 ,mem_mouse_z 
+0x03e9 001456 rtn blank 
+0x03ea 001457 jam 1 ,mem_mouse_wheel_trigger 
+0x03eb 001458 jam 2 ,mem_mouse_wheel_trigger_timer 
+0x03ec 001459 rtn 
+:      001462 p_mouse_clear_sensor_data:
+0x03ed 001463 call le_set_config_more_data 
+0x03ee 001464 jam 1 ,mem_mouse_clear_sensor_data_flag 
+0x03ef 001465 branch p_mouse_sensor_poweron 
+:      001467 p_mouse_idle:
+0x03f0 001468 call ui_check_paring_button 
+0x03f1 001470 branch mouse_wheel_check 
+:      001497 p_mouse_priority_bb_event:
+0x03f2 001498 copy regc ,pdata 
+0x03f3 001499 beq bt_evt_le_connected ,p_mouse_le_bb_event_connected 
+0x03f4 001500 beq bt_evt_le_disconnected ,p_mouse_le_bb_disconnected 
+0x03f5 001501 beq bt_evt_le_enc_info ,p_mouse_le_enc_info 
+0x03f6 001502 beq bt_evt_le_start_enc ,p_mouse_le_ll_start_encryt 
+0x03f7 001503 beq bt_evt_le_parse_conn_papa_update_rsp ,p_mouse_le_conn_param_update_rsp_recieved 
+0x03f8 001504 beq bt_evt_24g_pairing_complete ,p_mouse_24g_pairing_complete 
+0x03f9 001505 beq bt_evt_24g_attempt_fail ,p_mouse_24g_attempt_fail 
+0x03fa 001506 beq bt_evt_24g_attempt_success ,p_mouse_24g_attempt_success 
+0x03fb 001507 branch mouse_priority_bb_event + 1 
+:      001509 p_mouse_le_bb_event_connected:
+0x03fc 001510 jam 1 ,mem_mouse_le_bb_connected_flag 
+0x03fd 001511 fetch 1 ,mem_mouse_le_reconnect_flag 
+0x03fe 001512 nbranch p_mouse_le_bb_event_connected_next ,blank 
+0x03ff 001513 jam 0x14 ,mem_mouse_send_secutiry_request_timer 
+:      001514 p_mouse_le_bb_event_connected_next:
+0x0400 001515 call p_mouse_init_sensor_reset 
+0x0401 001516 call p_mouse_null_enter_hibernate_disable 
+0x0402 001517 call p_mouse_data_init 
+0x0403 001518 branch mouse_le_bb_event_connected 
+:      001520 p_mouse_le_bb_disconnected:
+0x0404 001521 jam 0 ,mem_mouse_le_bb_connected_flag 
+0x0405 001522 call p_mouse_sensor_powerdown_check 
+0x0406 001523 setarg le_interval_8_75ms 
+0x0407 001524 store 2 ,mem_le_interval_min 
+0x0408 001525 store 2 ,mem_le_interval_min + 2 
+0x0409 001526 jam le_lpm_enable ,mem_mouse_le_conn_param_reject 
+0x040a 001527 jam 0 ,mem_mouse_clear_sensor_data_flag 
+0x040b 001528 call p_mouse_data_init 
+0x040c 001529 call le_clr_config_more_data 
+0x040d 001530 branch mouse_bb_disconnected 
+:      001532 p_mouse_le_enc_info:
+:      001533 p_app_updata_le_param:
+0x040e 001534 jam bt_cmd_le_update_conn ,mem_fifo_temp 
+0x040f 001535 branch ui_ipc_send_cmd 
+:      001537 p_mouse_le_ll_start_encryt:
+0x0410 001538 fetch 1 ,mem_mouse_le_reconnect_flag 
+0x0411 001539 beq 1 ,p_mouse_le_ll_reconn_start_encryt 
+0x0412 001540 branch p_mouse_le_ll_enable_start_enc_flag 
+:      001542 p_mouse_le_ll_reconn_start_encryt:
+0x0413 001543 call p_app_updata_le_param 
+0x0414 001544 jam 20 ,mem_le_start_encrypt_timer 
+:      001545 p_mouse_le_ll_enable_start_enc_flag:
+0x0415 001546 arg ll_start_enc_flag ,queue 
+0x0416 001547 branch mouse_le_enable_connect_flag 
+:      001549 p_mouse_le_conn_param_update_rsp_recieved:
+0x0417 001550 fetch 2 ,mem_le_l2cap_signaling_conn_param_update_rsp_result 
+0x0418 001551 rtneq ble_signaling_connect_parameter_update_accepted 
+0x0419 001552 fetch 1 ,mem_le_tsniff 
+0x041a 001553 rshift2 pdata ,pdata 
+0x041b 001554 sub pdata ,le_interval_15ms ,null 
+0x041c 001555 rtn positive 
+0x041d 001556 setarg le_interval_11_25ms 
+0x041e 001557 store 2 ,mem_le_interval_min 
+0x041f 001558 store 2 ,mem_le_interval_min + 2 
+0x0420 001559 call p_app_updata_le_param 
+:      001560 p_mouse_le_conn_param_lpm_disable:
+0x0421 001561 jam le_lpm_disable ,mem_mouse_le_conn_param_reject 
+0x0422 001562 rtn 
+:      001566 p_mouse_24g_pairing_complete:
+0x0423 001567 call p_g24_auto_pair_timeout_clear 
+0x0424 001568 call p_mouse_init_sensor_reset 
+0x0425 001569 jam 1 ,mem_mouse_24g_enter_lpm_enable 
+0x0426 001570 arg mosue_24g_pairing_flag ,queue 
+0x0427 001571 call mouse_disable_function_flag 
+0x0428 001572 setarg 0 
+0x0429 001573 store 2 ,mem_24g_pairing_timer_count 
+0x042a 001574 jam 0 ,mem_mouse_move_flag 
+0x042b 001576 call mouse_read_sensor_common 
+0x042c 001577 call p_mouse_null_enter_hibernate_disable 
+0x042d 001578 call p_mouse_store_24g_device_2eeprom 
+0x042e 001579 call p_mouse_tx_power_init 
+0x042f 001581 call p_mouse_set_24g_addr_eeprom 
+0x0430 001582 branch iicd_write_protect_eep_data 
+:      001584 p_mouse_set_24g_addr_eeprom:
+0x0431 001585 arg mem_24g_addr ,rega 
+0x0432 001586 arg mouse_g24_addr_eeprom_offect ,regb 
+0x0433 001587 arg 4 ,temp 
+0x0434 001588 rtn 
+:      001590 p_mouse_24g_attempt_fail:
+0x0435 001591 call p_mouse_sensor_powerdown_check 
+0x0436 001592 jam g24_tx_timer_int_disable ,mem_24g_transmit_by_interrupt 
+0x0437 001593 call p_mouse_tx_power_init 
+0x0438 001594 call p_g24_check_51cmd_stop_24g 
+:      001595 p_app_enter_hibernate_before_check:
+0x0439 001596 fetch 1 ,mem_mouse_multi_led_on_poweron2s_flag 
+0x043a 001597 nbranch p_mouse_null_enter_hibernate_enable ,blank 
+0x043b 001598 branch app_enter_hibernate 
+:      001600 p_mouse_null_enter_hibernate_disable:
+0x043c 001601 jam 0 ,mem_mouse_null_enter_hibernate_flag 
+0x043d 001602 jam 0 ,mem_mouse_null_enter_hibernate_timer 
+0x043e 001603 rtn 
+:      001605 p_mouse_24g_attempt_success:
+0x043f 001606 call p_g24_auto_pair_timeout_clear 
+0x0440 001607 call p_mouse_init_sensor_reset 
+0x0441 001608 call mouse_no_data_timer_init 
+0x0442 001609 call p_mouse_null_enter_hibernate_disable 
+:      001610 p_mouse_store_24g_device_2eeprom:
+0x0443 001611 call mouse_cheak_select_24gdevice 
+:      001612 p_mouse_store_device_number2eeprom:
+0x0444 001613 arg 1 ,temp 
+0x0445 001614 arg mem_device_flag ,rega 
+0x0446 001615 arg 0 ,regb 
+0x0447 001616 branch iicd_write_protect_eep_data 
+:      001619 p_mouse_before_hibernate:
+0x0448 001620 enable user 
+0x0449 001621 hfetch 4 ,0x8138 
+0x044a 001622 setflag user ,26 ,pdata 
+0x044b 001623 hstore 4 ,core_lpm_reg 
+0x044c 001624 call lpm_write_ctrl 
+0x044d 001625 call p_mouse_sensor_powerdown_check 
+0x044e 001626 call disable_authrom 
+0x044f 001627 call mouse_devce_led_off 
+0x0450 001628 call mouse_before_hibernate_wheel_gpio_set 
+0x0451 001629 branch mouse_lpm_before_common 
+:      001631 p_mouse_sensor_powerdown_check:
+0x0452 001632 fetch 1 ,mem_mouse_init_sensor_reset_flag 
+0x0453 001633 rtn blank 
+0x0454 001634 jam 0 ,mem_mouse_init_sensor_reset_flag 
+:      001636 p_mouse_sensor_powerdown:
+0x0455 001637 setarg 0x06 
+0x0456 001638 call twspi_read 
+0x0457 001639 or pdata ,0x08 ,pdata 
+0x0458 001640 lshift8 pdata ,pdata 
+0x0459 001641 add pdata ,0x06 ,pdata 
+0x045a 001642 branch twspi_write 
+:      001644 p_mouse_bb_event_timer:
+0x045b 001645 call p_mouse_adc_read 
+0x045c 001646 call p_mouse_low_voltage_led_timer 
+0x045d 001647 call p_mouse_wheel_trigger_timer 
+0x045e 001648 call p_mouse_null_enter_hibernate_timer 
+0x045f 001649 call p_mouse_bt_discovery_check 
+0x0460 001650 call p_mouse_select_device 
+0x0461 001651 call mouse_check_discovery_timeout_timer 
+0x0462 001652 call p_mouse_24g_long_sleep_param_update_timer 
+0x0463 001653 call p_mouse_g24_pair_timeout_timer 
+0x0464 001654 call mouse_check_direct_timeout_timer 
+0x0465 001655 call p_mouse_le_enable_att_list_timer 
+0x0466 001656 call p_mouse_le_current_mult_update_timer 
+0x0467 001657 call p_le_send_smp_security_request_timer 
+0x0468 001658 call p_mouse_multi_led_blink_timer 
+0x0469 001659 branch mouse_check_no_data_timeout_timer 
+:      001662 p_mouse_24g_long_sleep_param_update_timer:
+0x046a 001663 arg mem_24g_long_sleep_param_update_timer ,regc 
+0x046b 001664 arg p_mouse_24g_long_sleep_normal_param ,regb 
+0x046c 001665 branch timer_single_step 
+:      001666 p_mouse_24g_long_sleep_normal_param:
+0x046d 001667 setarg g24_long_sleep_step2 
+0x046e 001668 store 3 ,mem_24g_enter_hibernate 
+:      001669 p_mouse_long_mult_flag_enable:
+0x046f 001670 jam 1 ,mem_mouse_long_mult_flag 
+0x0470 001671 rtn 
+:      001673 p_mouse_g24_pair_timeout_timer:
+0x0471 001674 arg mem_g24_stop_g24_mode_timeout ,regc 
+0x0472 001675 arg p_mouse_g24_pair_timeout ,regb 
+0x0473 001676 branch timer_single_step_2b 
+:      001677 p_mouse_g24_pair_timeout:
+0x0474 001678 jam 1 ,mem_g24_stop_g24_mode 
+0x0475 001679 call p_mouse_discovey_led_blink_off 
+0x0476 001680 call p_mouse_sensor_powerdown 
+0x0477 001681 branch p_mouse_null_enter_hibernate_enable 
+:      001685 p_mouse_le_enable_att_list_timer:
+0x0478 001686 arg mem_le_start_encrypt_timer ,regc 
+0x0479 001687 arg mouse_le_write_enable ,regb 
+0x047a 001688 branch timer_single_step 
+:      001690 p_mouse_le_current_mult_update_timer:
+0x047b 001691 arg mem_mouse_le_current_mult_timer ,regc 
+0x047c 001692 arg p_mouse_le_current_mult_reinit ,regb 
+0x047d 001693 branch timer_single_step 
+:      001694 p_mouse_le_current_mult_reinit:
+0x047e 001695 fetch 1 ,mem_lpm_mult_init 
+0x047f 001696 store 1 ,mem_lpm_mult 
+0x0480 001697 branch p_mouse_long_mult_flag_enable 
+:      001699 p_le_send_smp_security_request_timer:
+0x0481 001700 fetch 1 ,mem_mouse_le_bb_connected_flag 
+0x0482 001701 rtn blank 
+0x0483 001702 arg mem_mouse_send_secutiry_request_timer ,regc 
+0x0484 001703 arg p_le_pairing_sm_start_check ,regb 
+0x0485 001704 branch timer_single_step 
+:      001706 p_le_pairing_sm_start_check:
+0x0486 001707 fetch 1 ,mem_le_send_security_request_flag 
+0x0487 001708 nrtn blank 
+0x0488 001709 branch le_pairing_sm_start 
+:      001711 p_mouse_wheel_trigger_timer:
+0x0489 001712 arg mem_mouse_wheel_trigger_timer ,regc 
+0x048a 001713 arg p_mouse_wheel_trigger_disable ,regb 
+0x048b 001714 branch timer_single_step 
+:      001715 p_mouse_wheel_trigger_disable:
+0x048c 001716 jam 0 ,mem_mouse_wheel_trigger 
+0x048d 001717 rtn 
+:      001719 p_mouse_bt_discovery_check:
+:      001720 p_mouse_bt_discovery_by_button:
+0x048e 001721 fetcht 1 ,mem_config_bt_button_gpio 
+0x048f 001722 call gpio_get_bit 
+0x0490 001723 branch p_mouse_bt_discovery_commbination_key_down ,true 
+:      001724 p_mouse_bt_discovery_commbination_key_up:
+0x0491 001725 call mouse_bt_discovery_commbination_key_up 
+0x0492 001726 arg mouse_bt_discovery_button_long_down_flag ,queue 
+0x0493 001727 branch mouse_disable_function_flag 
+:      001729 p_mouse_bt_discovery_commbination_key_down:
+0x0494 001730 jam 40 ,mem_mouse_null_enter_hibernate_timer 
+0x0495 001731 call p_mouse_bt_discovery_timer 
+0x0496 001732 branch mouse_bt_discovery_commbination_key_down + 1 
+:      001734 p_mouse_bt_discovery_timer:
+0x0497 001735 arg mem_combination_ui_button_count ,regc 
+0x0498 001736 arg p_mouse_long_button_bt_discovery ,regb 
+0x0499 001737 branch timer_single_step 
+:      001739 p_mouse_long_button_bt_discovery:
+0x049a 001740 fetch mouse_flag_len ,mem_mouse_flag 
+0x049b 001741 rtnbit1 mouse_bt_discovery_button_long_down_flag 
+0x049c 001742 jam 0 ,mem_mouse_long_button_select_device 
+0x049d 001743 call p_mouse_store_device_mode_2eeporm 
+0x049e 001744 fetch 2 ,mem_ui_state_map 
+0x049f 001745 isolate1 ui_state_ble_adv ,pdata 
+0x04a0 001746 call mouse_stop_le_adv ,true 
+0x04a1 001747 fetch 2 ,mem_ui_state_map 
+0x04a2 001748 isolate1 ui_state_bt_reconnect ,pdata 
+0x04a3 001749 call mouse_cancel_reconnect ,true 
+0x04a4 001750 arg mouse_bt_discovery_button_long_down_flag ,queue 
+0x04a5 001751 call mouse_enable_function_flag 
+0x04a6 001752 branch mouse_long_button_bt_discovry 
+:      001754 p_mouse_null_enter_hibernate_timer:
+0x04a7 001755 fetch 1 ,mem_mouse_null_enter_hibernate_flag 
+0x04a8 001756 rtn blank 
+0x04a9 001757 fetch 1 ,mem_mouse_multi_led_blink_count 
+0x04aa 001758 nrtn blank 
+0x04ab 001759 arg mem_mouse_null_enter_hibernate_timer ,regc 
+0x04ac 001760 arg p_mouse_null_enter_hibernate ,regb 
+0x04ad 001761 branch timer_single_step 
+:      001763 p_mouse_null_enter_hibernate:
+0x04ae 001764 jam 0 ,mem_mouse_null_enter_hibernate_flag 
+0x04af 001765 branch app_enter_hibernate 
+:      001767 p_mouse_select_device:
+:      001768 p_mouse_select_device_by_button:
+0x04b0 001769 fetcht 1 ,mem_config_select_device_button_gpio 
+0x04b1 001770 call p_gpio_set_input_pu 
+0x04b2 001771 fetcht 1 ,mem_config_select_device_button_gpio 
+0x04b3 001772 call gpio_get_bit 
+0x04b4 001773 branch p_mouse_select_device_button_down ,true 
+:      001774 p_mouse_select_device_button_up:
+0x04b5 001777 fetch 1 ,mem_mouse_select_device_button_wakeup_flag 
+0x04b6 001778 nbranch p_mouse_select_button_wakeup_firstup ,blank 
+0x04b7 001779 fetch 1 ,mem_select_device_button_statue 
+0x04b8 001780 rtneq dpi_button_state_up 
+0x04b9 001781 jam dpi_button_state_up ,mem_select_device_button_statue 
+0x04ba 001782 jam on ,mem_mouse_multi_led_blink_enable 
+0x04bb 001783 arg 1 ,temp 
+0x04bc 001784 arg mem_mouse_long_button_select_device ,rega 
+0x04bd 001785 arg mouse_device_mode_eeprom_offset ,regb 
+0x04be 001786 call iicd_read_eep_data 
+0x04bf 001787 fetch 1 ,mem_mouse_long_button_select_device 
+0x04c0 001788 branch p_mouse_select_device_and_reset ,blank 
+:      001789 p_mouse_ready_reconnection_by_button:
+0x04c1 001790 call p_mouse_switch_device_flag 
+0x04c2 001791 jam 0 ,mem_link_key_exists 
+0x04c3 001792 call p_mouse_store_device_number2eeprom 
+0x04c4 001793 call mouse_select_device_enable 
+0x04c5 001794 branch mouse_set_reconnection 
+:      001796 p_mouse_switch_device_flag:
+0x04c6 001797 fetcht 1 ,mem_device_flag 
+0x04c7 001798 increase 1 ,temp 
+0x04c8 001799 fetch 1 ,mem_device_number 
+0x04c9 001800 isub temp ,null 
+0x04ca 001801 ncall mouse_select_device_count_clean ,positive 
+0x04cb 001802 storet 1 ,mem_device_flag 
+0x04cc 001803 rtn 
+:      001805 p_mouse_select_device_button_down:
+0x04cd 001806 fetch 2 ,mem_ui_state_map 
+0x04ce 001807 bbit1 ui_state_ble_adv ,p_mouse_select_device_button_down_next 
+0x04cf 001808 jam off ,mem_mouse_multi_led_blink_enable 
+:      001809 p_mouse_select_device_button_down_next:
+0x04d0 001810 fetch 1 ,mem_select_device_button_statue 
+0x04d1 001811 rtneq dpi_button_state_down 
+0x04d2 001812 jam dpi_button_state_down ,mem_select_device_button_statue 
+0x04d3 001814 fetch app_disc_rsn_size ,mem_app_disconn_reason 
+0x04d4 001815 rtnbit1 app_disc_pb_button 
+0x04d5 001817 fetch 1 ,mem_device_flag 
+0x04d6 001818 rtnne mode_bt_device1 
+:      001819 p_mouse_pb_button_2ble_disconnect:
+0x04d7 001820 fetch app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x04d8 001821 set1 app_disc_pb_button ,pdata 
+0x04d9 001822 store app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x04da 001823 branch mouse_disconnect 
+:      001825 p_mouse_select_button_wakeup_firstup:
+0x04db 001826 jam 0 ,mem_mouse_select_device_button_wakeup_flag 
+0x04dc 001827 fetch 1 ,mem_select_device_button_statue 
+0x04dd 001828 nbranch p_mouse_check_reconn_target ,blank 
+0x04de 001829 jam dpi_button_state_up ,mem_select_device_button_statue 
+0x04df 001830 jam on ,mem_mouse_multi_led_blink_enable 
+0x04e0 001831 rtn 
+:      001833 p_mouse_select_device_and_reset:
+0x04e1 001834 jam 0xff ,mem_mouse_long_button_select_device 
+:      001836 p_mouse_store_device_mode_2eeporm:
+0x04e2 001837 arg 1 ,temp 
+0x04e3 001838 arg mem_mouse_long_button_select_device ,rega 
+0x04e4 001839 arg mouse_device_mode_eeprom_offset ,regb 
+0x04e5 001840 branch iicd_write_protect_eep_data 
+:      001842 p_mouse_multi_led_blink_timer:
+0x04e6 001843 fetch 1 ,mem_mouse_multi_led_blink_enable 
+0x04e7 001844 rtn blank 
+0x04e8 001845 fetch 1 ,mem_mouse_multi_led_type 
+0x04e9 001846 beq multi_led_on ,p_mouse_multi_led_type_on 
+0x04ea 001847 beq multi_led_blink ,p_mouse_multi_led_type_blink 
+0x04eb 001848 rtn 
+:      001850 p_mouse_multi_led_type_on:
+0x04ec 001851 call p_mouse_multi_led_on 
+0x04ed 001852 fetch 1 ,mem_mouse_multi_led_on_timer 
+0x04ee 001853 increase 1 ,pdata 
+0x04ef 001854 store 1 ,mem_mouse_multi_led_on_timer 
+0x04f0 001855 fetcht 1 ,mem_mouse_multi_led_on_timer_init 
+0x04f1 001856 isub temp ,null 
+0x04f2 001857 call p_mouse_multi_led_off_poweron2s ,zero 
+0x04f3 001858 rtn 
+:      001859 p_mouse_multi_led_off_poweron2s:
+0x04f4 001860 jam 0 ,mem_mouse_multi_led_on_poweron2s_flag 
+0x04f5 001861 branch p_mouse_multi_led_off 
+:      001863 p_mouse_multi_led_type_blink:
+0x04f6 001864 fetch 1 ,mem_mouse_multi_led_blink_timer 
+0x04f7 001865 increase -1 ,pdata 
+0x04f8 001866 store 1 ,mem_mouse_multi_led_blink_timer 
+0x04f9 001867 nrtn blank 
+0x04fa 001868 fetch 1 ,mem_mouse_multi_led_blink_timer_init 
+0x04fb 001869 store 1 ,mem_mouse_multi_led_blink_timer 
+:      001876 p_mouse_multi_led_blink_count_no_limited:
+0x04fc 001877 fetch 1 ,mem_mouse_multi_led_state 
+0x04fd 001878 beq on ,p_mouse_multi_led_off 
+0x04fe 001879 beq off ,p_mouse_multi_led_on 
+0x04ff 001880 rtn 
+:      001882 p_mouse_multi_led_on:
+0x0500 001883 jam on ,mem_mouse_multi_led_state 
+0x0501 001884 fetch 1 ,mem_device_flag 
+0x0502 001885 beq mode_24g_device ,p_mouse_multi_down_led_on 
+:      001886 p_mouse_multi_up_led_on:
+0x0503 001887 fetcht 1 ,mem_mouse_multi_led_gpio 
+0x0504 001888 call gpio_config_output 
+0x0505 001889 fetcht 1 ,mem_mouse_multi_led_gpio 
+0x0506 001890 call gpio_out_inactive 
+0x0507 001891 branch p_mouse_lvd_led_on 
+:      001892 p_mouse_multi_down_led_on:
+0x0508 001893 fetcht 1 ,mem_24g_led_gpio 
+0x0509 001894 call gpio_config_output 
+0x050a 001895 fetcht 1 ,mem_24g_led_gpio 
+0x050b 001896 call gpio_out_inactive 
+:      001897 p_mouse_lvd_led_on:
+0x050c 001898 fetch 2 ,mem_ui_state_map 
+0x050d 001899 rtnbit1 ui_state_ble_adv 
+0x050e 001901 fetcht 1 ,mem_lvd_led_gpio 
+0x050f 001902 call gpio_config_output 
+0x0510 001903 fetcht 1 ,mem_lvd_led_gpio 
+0x0511 001904 branch gpio_out_inactive 
+:      001906 p_mouse_multi_led_blink_off:
+0x0512 001907 setarg 0 
+0x0513 001908 store 3 ,mem_mouse_multi_led_blink_timer 
+:      001909 p_mouse_multi_led_off:
+0x0514 001910 fetch 1 ,mem_mouse_multi_led_blink_count 
+0x0515 001911 nbranch p_mouse_multi_led_off_wait_blink_over ,blank 
+0x0516 001912 jam 0 ,mem_mouse_multi_led_blink_enable 
+0x0517 001913 jam 0 ,mem_mouse_multi_led_type 
+:      001914 p_mouse_multi_led_off_wait_blink_over:
+0x0518 001915 jam 0 ,mem_mouse_multi_led_on_timer 
+0x0519 001916 jam off ,mem_mouse_multi_led_state 
+0x051a 001917 fetcht 1 ,mem_mouse_multi_led_gpio 
+0x051b 001918 call gpio_config_output 
+0x051c 001919 fetcht 1 ,mem_mouse_multi_led_gpio 
+0x051d 001920 call gpio_out_active 
+0x051e 001921 fetcht 1 ,mem_24g_led_gpio 
+0x051f 001922 call gpio_config_output 
+0x0520 001923 fetcht 1 ,mem_24g_led_gpio 
+0x0521 001924 call gpio_out_active 
+0x0522 001925 fetcht 1 ,mem_lvd_led_gpio 
+0x0523 001926 call gpio_config_output 
+0x0524 001927 fetcht 1 ,mem_lvd_led_gpio 
+0x0525 001928 branch gpio_out_active 
+:      001931 p_mouse_mode_bt_device1_multi_led_on:
+:      001932 p_mouse_mode_24g_device_multi_led_on:
+0x0526 001933 jam 1 ,mem_mouse_multi_led_on_poweron2s_flag 
+0x0527 001934 jam on ,mem_mouse_multi_led_blink_enable 
+0x0528 001935 jam multi_led_on ,mem_mouse_multi_led_type 
+0x0529 001936 jam 0 ,mem_mouse_multi_led_on_timer 
+0x052a 001937 rtn 
+:      001948 p_mouse_discovery_multi_led_blink:
+0x052b 001949 jam 3 ,mem_mouse_multi_led_blink_timer_init 
+:      001950 p_mouse_discovery_multi_led_blink2:
+0x052c 001952 jam 1 ,mem_mouse_multi_led_blink_count 
+:      001953 p_mouse_multi_led_blink_enable:
+0x052d 001954 jam 1 ,mem_mouse_multi_led_blink_timer 
+0x052e 001955 jam on ,mem_mouse_multi_led_blink_enable 
+0x052f 001956 jam multi_led_blink ,mem_mouse_multi_led_type 
+0x0530 001957 rtn 
+:      001959 p_mouse_discovey_led_blink_off:
+0x0531 001960 jam 0 ,mem_mouse_multi_led_blink_count 
+0x0532 001961 fetch 1 ,mem_mouse_multi_led_on_timer 
+0x0533 001962 nrtn blank 
+0x0534 001963 fetch 1 ,mem_mouse_multi_led_on_poweron2s_flag 
+0x0535 001964 nrtn blank 
+0x0536 001965 branch p_mouse_multi_led_blink_off 
+:      001974 p_mouse_adc_read:
+0x0537 001977 fetch 2 ,mem_mouse_multi_led_blink_count 
+0x0538 001978 nrtn blank 
+0x0539 001980 arg mem_adc_read_timer ,regc 
+0x053a 001981 arg p_mouse_adc_read_timeout ,regb 
+0x053b 001982 branch timer_single_step 
+:      001983 p_mouse_adc_read_timeout:
+0x053c 001984 jam 10 ,mem_adc_read_timer 
+0x053d 001985 call p_adc_set_mode 
+0x053e 001986 call vdd_calculate_by_mode 
+0x053f 001990 mul32 pdata ,2 ,pdata 
+0x0540 001991 arg 0x0e ,temp 
+0x0541 001992 isub temp ,pdata 
+0x0542 001993 sub pdata ,0x78 ,null 
+0x0543 001994 call p_mouse_voltage_sub1 ,positive 
+0x0544 001996 sub pdata ,0x64 ,null 
+0x0545 001997 call p_mouse_voltage_sub2 ,positive 
+0x0546 001999 store 2 ,mem_mouse_vdd_now_vol 
+0x0547 002000 arg mem_mouse_vdd_calculate_set ,rega 
+0x0548 002001 call p_adc_bat_percent_lowpower_out 
+0x0549 002002 fetch 1 ,mem_adc_power_flag 
+0x054a 002003 bbit1 1 ,app_enter_hibernate 
+0x054b 002004 bbit0 0 ,p_mouse_adc_no_low_voltage 
+0x054c 002005 jam 1 ,mem_mouse_adc_last_low_voltage_flag 
+0x054d 002006 branch mouse_adc_low_voltage 
+:      002007 p_mouse_adc_no_low_voltage:
+0x054e 002008 call mouse_adc_no_low_voltage 
+0x054f 002009 fetch 1 ,mem_mouse_adc_last_low_voltage_flag 
+0x0550 002010 rtn blank 
+0x0551 002011 jam 0 ,mem_mouse_adc_last_low_voltage_flag 
+0x0552 002012 branch p_mouse_multi_led_off 
+:      002014 p_mouse_voltage_sub1:
+0x0553 002015 arg 0x08 ,temp 
+0x0554 002016 isub temp ,pdata 
+0x0555 002017 rtn 
+:      002019 p_mouse_voltage_sub2:
+0x0556 002020 arg 0x06 ,temp 
+0x0557 002021 isub temp ,pdata 
+0x0558 002022 rtn 
+:      002025 p_adc_set_mode:
+0x0559 002026 fetch 1 ,mem_adc_config_flag 
+0x055a 002027 beq adc_config_gpio ,p_adc_check_gpio 
+0x055b 002028 branch adc_set_mode + 1 
+:      002029 p_adc_check_gpio:
+0x055c 002030 fetcht 1 ,mem_select_adc_gpio 
+0x055d 002031 call gpio_config_input 
+0x055e 002032 hfetch 1 ,core_gpio_pd0 
+0x055f 002033 set0 5 ,pdata 
+0x0560 002034 hstore 1 ,core_gpio_pd0 
+0x0561 002036 hfetch 1 ,core_gpio_pu0 
+0x0562 002037 set0 5 ,pdata 
+0x0563 002038 hstore 1 ,core_gpio_pu0 
+0x0564 002039 branch adc_check_gpio 
+:      002041 p_adc_bat_percent_lowpower_out:
+0x0565 002042 ifetch 8 ,rega 
+0x0566 002043 store 8 ,mem_pdatatemp 
+0x0567 002044 fetcht 2 ,mem_pdatatemp + 2 
+0x0568 002045 fetch 2 ,mem_pdatatemp + 6 
+0x0569 002046 isub temp ,null 
+0x056a 002047 nbranch adc_set_no_power_flag ,positive 
+0x056b 002048 fetcht 2 ,mem_pdatatemp + 4 
+0x056c 002049 isub temp ,null 
+0x056d 002050 nbranch adc_set_low_power_flag ,positive 
+:      002051 p_adc_clear_low_power_flag:
+0x056e 002052 fetch 1 ,mem_adc_power_flag 
+0x056f 002053 set0 0 ,pdata 
+0x0570 002054 store 1 ,mem_adc_power_flag 
+0x0571 002055 rtn 
+:      002057 p_mouse_low_voltage_led_timer:
+0x0572 002058 fetch mouse_flag_len ,mem_mouse_flag 
+0x0573 002059 rtnbit0 mouse_low_voltage_flag 
+0x0574 002060 fetch 2 ,mem_ui_state_map 
+0x0575 002061 rtnbit1 ui_state_ble_adv 
+0x0576 002063 fetch 2 ,mem_mouse_multi_led_blink_count 
+0x0577 002064 nrtn blank 
+0x0578 002066 fetch 1 ,mem_adc_low_volatage_led_timer_count 
+0x0579 002067 pincrease 1 
+0x057a 002068 store 1 ,mem_adc_low_volatage_led_timer_count 
+0x057b 002069 beq 5 ,p_mouse_lvd_led_on 
+0x057c 002070 sub pdata ,10 ,null 
+0x057d 002071 nbranch p_mouse_adc_low_volatage_led_timer_count_clean ,positive 
+0x057e 002072 rtn 
+:      002073 p_mouse_adc_low_volatage_led_timer_count_clean:
+0x057f 002074 jam 1 ,mem_adc_low_volatage_led_timer_count 
+0x0580 002075 branch p_mouse_multi_led_off 
+:      002079 p_mouse_motion:
+0x0581 002080 disable user 
+0x0582 002081 setarg 0 
+0x0583 002082 store 6 ,mem_mouse_x 
+0x0584 002083 call p_mouse_cheak_sensor_data 
+0x0585 002084 call mouse_zwheel 
+0x0586 002085 call mouse_t_zwheel 
+0x0587 002086 call p_mouse_key 
+0x0588 002087 nrtn user 
+0x0589 002088 branch mouse_motion + 9 
+:      002091 p_mouse_cheak_sensor_data:
+:      002095 p_mouse_p32xx_sensor_motion:
+0x058a 002096 call mouse_clear_sensor_data 
+0x058b 002097 disable user 
+0x058c 002103 branch mouse_p32xx_sensor_motion_2 
+:      002113 p_mouse_key:
+0x058d 002114 call p_mouse_check_key_gpio 
+0x058e 002115 branch mouse_key + 1 
+:      002116 p_mouse_check_key_gpio:
+0x058f 002117 arg 0 ,rega 
+0x0590 002118 call p_mouse_check_lkey_gpio 
+0x0591 002121 call p_mouse_check_skey_gpio 
+0x0592 002122 branch mouse_check_key_gpio + 11 
+:      002124 p_mouse_check_skey_gpio:
+0x0593 002127 call p_mouse_check_bk_key_gpio 
+0x0594 002128 branch p_mouse_check_fw_key_gpio 
+:      002130 p_mouse_check_lkey_gpio:
+0x0595 002131 fetcht 1 ,mem_lbutton_gpio 
+0x0596 002132 call p_gpio_set_input_pu 
+0x0597 002133 fetcht 1 ,mem_lbutton_gpio 
+0x0598 002134 call gpio_get_bit 
+0x0599 002135 setflag true ,0 ,rega 
+:      002137 p_mouse_check_rkey_gpio:
+0x059a 002138 fetcht 1 ,mem_rbutton_gpio 
+0x059b 002139 call p_gpio_set_input_pu 
+0x059c 002140 fetcht 1 ,mem_rbutton_gpio 
+0x059d 002141 call gpio_get_bit 
+0x059e 002142 setflag true ,1 ,rega 
+:      002144 p_mouse_check_mkey_gpio:
+0x059f 002145 fetcht 1 ,mem_mbutton_gpio 
+0x05a0 002146 call p_gpio_set_input_pu 
+0x05a1 002147 fetcht 1 ,mem_mbutton_gpio 
+0x05a2 002148 call gpio_get_bit 
+0x05a3 002149 setflag true ,2 ,rega 
+0x05a4 002150 rtn 
+:      002151 p_mouse_check_bk_key_gpio:
+0x05a5 002152 fetcht 1 ,mem_bk_button_gpio 
+0x05a6 002153 call p_gpio_set_input_pd 
+0x05a7 002154 fetcht 1 ,mem_bk_button_gpio 
+0x05a8 002155 call gpio_get_bit 
+0x05a9 002156 nsetflag true ,3 ,rega 
+0x05aa 002157 branch p_gpio_set_input_pu 
+:      002158 p_mouse_check_fw_key_gpio:
+0x05ab 002159 fetcht 1 ,mem_fw_button_gpio 
+0x05ac 002160 call p_gpio_set_input_pd 
+0x05ad 002161 fetcht 1 ,mem_fw_button_gpio 
+0x05ae 002162 call gpio_get_bit 
+0x05af 002163 nsetflag true ,4 ,rega 
+0x05b0 002164 branch p_gpio_set_input_pu 
+:      002165 p_gpio_set_input_pd:
+0x05b1 002166 set0 gpio_active_bit ,temp 
+0x05b2 002167 arg core_gpio_pu0 ,contw 
+0x05b3 002168 call gpio_set_bit 
+0x05b4 002169 set1 gpio_active_bit ,temp 
+0x05b5 002170 arg core_gpio_pd0 ,contw 
+0x05b6 002171 branch gpio_set_high_impedance + 4 
+:      002172 p_gpio_set_input_pu:
+0x05b7 002173 set1 gpio_active_bit ,temp 
+0x05b8 002174 arg core_gpio_pu0 ,contw 
+0x05b9 002175 call gpio_set_bit 
+0x05ba 002176 set0 gpio_active_bit ,temp 
+0x05bb 002177 branch p_gpio_set_input_pd + 4 
+:      002179 p_mouse_bb_disconnected:
+0x05bc 002180 jam 0 ,mem_mouse_enter_sniff_count 
+0x05bd 002181 jam 0x0e ,mem_sniff_param_interval 
+0x05be 002182 call mouse_bb_discon_clear_stack 
+0x05bf 002183 fetch app_disc_rsn_size ,mem_app_disconn_reason 
+0x05c0 002184 bbit1 app_disc_ble ,p_mouse4_0_event_bb_disconn 
+0x05c1 002185 branch mouse_bb_disconnected + 9 
+:      002187 p_mouse4_0_event_bb_disconn:
+0x05c2 002188 call mouse_le_clean_connect_flag 
+0x05c3 002189 fetch app_disc_rsn_size ,mem_app_disconn_reason 
+0x05c4 002190 bbit1 app_disc_pb_button ,p_mouse_select_device_by_button 
+0x05c5 002191 branch mouse4_0_event_bb_disconn + 2 
+:      002193 p_mouse_bb_event_discovery_btn:
+0x05c6 002194 jam 0 ,mem_mouse_null_enter_hibernate_flag 
+0x05c7 002195 jam 0 ,mem_mouse_null_enter_hibernate_timer 
+0x05c8 002196 isolate1 mark_24g ,mark 
+0x05c9 002197 call p_g24_check_51cmd_stop_24g ,true 
+0x05ca 002198 branch mouse_bb_event_discovery_btn + 1 
+:      002200 p_le_addr_random_config:
+0x05cb 002201 call load_adc_init 
+0x05cc 002202 fetch 2 ,mem_0_5_adc_io_data 
+0x05cd 002204 store 2 ,mem_random_addr_increase_count 
+:      002205 p_le_addr_random_store:
+:      002206 p_mouse_store_eerpom_random_addr_increase_count:
+0x05ce 002207 arg 2 ,temp 
+0x05cf 002208 arg mem_random_addr_increase_count ,rega 
+0x05d0 002209 arg mouse_random_addr_count_eeprom_offset ,regb 
+0x05d1 002210 branch iicd_write_protect_eep_data 
+:      002211 p_mouse_load_eeprom_random_addr_increase_count:
+0x05d2 002212 arg 2 ,temp 
+0x05d3 002213 arg mem_random_addr_increase_count ,rega 
+0x05d4 002214 arg mouse_random_addr_count_eeprom_offset ,regb 
+0x05d5 002215 branch iicd_read_eep_data 
+:      002223 p_mouse_start_discovery:
+0x05d6 002224 jam 0 ,mem_le_send_security_request_flag 
+0x05d7 002225 call p_mouse_tx_power_init 
+0x05d8 002226 jam 1 ,mem_device_flag 
+0x05d9 002227 jam 0 ,mem_mouse_clear_sensor_data_flag 
+0x05da 002228 fetch 2 ,mem_ui_state_map 
+0x05db 002229 bbit1 ui_state_ble_adv ,p_mouse_start_discovery_norandom 
+0x05dc 002232 call p_mouse_load_eeprom_random_addr_increase_count 
+0x05dd 002233 fetcht 2 ,mem_random_addr_increase_count 
+0x05de 002234 increase 1 ,temp 
+0x05df 002235 storet 2 ,mem_random_addr_increase_count 
+0x05e0 002236 storet 2 ,mem_le_lap + 1 
+0x05e1 002237 call p_mouse_store_eerpom_random_addr_increase_count 
+0x05e2 002238 random pdata 
+0x05e3 002239 store 1 ,mem_le_lap 
+:      002240 p_mouse_start_discovery_norandom:
+0x05e4 002241 fetch 3 ,mem_le_lap_high_3b 
+0x05e5 002242 store 3 ,mem_le_lap + 3 
+0x05e6 002243 call p_mouse_le_fast_conn_disable 
+0x05e7 002244 call app_lpm_mult_disable 
+0x05e8 002245 fetch 2 ,mem_discovery_timeout 
+0x05e9 002246 store 2 ,mem_mouse_discovery_timer 
+0x05ea 002247 jam 6 ,mem_connection_options 
+0x05eb 002248 setarg 0 
+0x05ec 002249 store 2 ,mem_mouse_no_data_timer 
+0x05ed 002250 store 2 ,mem_mouse_direct_timer 
+0x05ee 002251 arg mouse_store_eeprom_flag ,queue 
+0x05ef 002252 call mouse_enable_function_flag 
+0x05f0 002253 call mouse_bt_discovery_button_down_disable 
+0x05f1 002256 call p_check_51cmd_adv 
+0x05f2 002257 call mouse_start_discovery_norandom + 13 
+0x05f3 002258 branch p_mouse_discovery_multi_led_blink 
+:      002260 p_check_51cmd_adv:
+0x05f4 002261 jam 0 ,mem_mouse_le_reconnect_flag 
+0x05f5 002262 call p_le_check_adv_flag 
+0x05f6 002263 setarg adv_flag_bredr_not_supported | adv_flag_limited_discoverable 
+0x05f7 002264 istore 1 ,contr 
+0x05f8 002266 arg mem_le_adv_swift_pair ,contr 
+0x05f9 002267 call p_le_adv_data_update 
+0x05fa 002269 branch check_51cmd_adv 
+:      002271 p_le_adv_data_update:
+0x05fb 002272 arg mem_le_adv_data + 11 ,contw 
+0x05fc 002273 arg 19 ,loopcnt 
+0x05fd 002274 call memcpy 
+0x05fe 002275 branch le_modified_name_adv 
+:      002277 p_mouse_stop_discovery:
+0x05ff 002278 jam 0 ,mem_mouse_multi_led_blink_count 
+0x0600 002279 call p_mouse_discovey_led_blink_off 
+0x0601 002280 setarg 0 
+0x0602 002281 store 2 ,mem_mouse_discovery_timer 
+0x0603 002282 call p_mouse_sensor_poweron 
+0x0604 002283 branch mouse_stop_discovery + 1 
+:      002285 p_le_slave_match:
+0x0605 002286 fetch 1 ,mem_le_md_count 
+0x0606 002287 pincrease 1 
+0x0607 002288 store 1 ,mem_le_md_count 
+0x0608 002289 beq le_md_max_count ,le_slave_cont 
+0x0609 002290 call le_acknowledge 
+0x060a 002291 call le_prepare_tx 
+0x060b 002292 call power_ctrl_start 
+0x060c 002293 branch le_slave_match + 7 
+:      002295 p_le_next_adv_channel:
+0x060d 002296 fetch 1 ,mem_le_ch_mapped 
+0x060e 002297 increase 1 ,pdata 
+0x060f 002298 store 1 ,mem_le_ch_mapped 
+0x0610 002299 rtnne 40 
+0x0611 002300 jam 37 ,mem_le_ch_mapped 
+0x0612 002301 rtn 
+:      002303 p_le_receive_skip:
+0x0613 002304 call save_rssi 
+0x0614 002305 call p_rssi_signal 
+0x0615 002306 branch le_receive_skip + 2 
+:      002308 p_le_update_param:
+0x0616 002309 call p_mouse_le_conn_param_check 
+0x0617 002310 branch le_update_param + 8 
+:      002311 p_mouse_le_lpm_mult_reinit:
+0x0618 002312 fetch 1 ,mem_lpm_mult_init 
+0x0619 002313 store 1 ,mem_lpm_mult 
+:      002314 p_mouse_le_conn_param_lpm_enable:
+0x061a 002315 jam le_lpm_enable ,mem_mouse_le_conn_param_reject 
+0x061b 002316 rtn 
+:      002318 p_mouse_le_conn_param_check:
+0x061c 002319 fetch 1 ,mem_le_new_conninterval 
+0x061d 002320 sub pdata ,le_interval_15ms ,null 
+0x061e 002321 nbranch p_mouse_le_conn_param_lpm_disable ,positive 
+0x061f 002322 fetch 1 ,mem_le_new_connslavelatency 
+0x0620 002323 fetcht 1 ,mem_lpm_mult_init 
+0x0621 002324 isub temp ,null 
+0x0622 002325 branch p_mouse_le_lpm_mult_reinit ,positive 
+0x0623 002326 fetch 1 ,mem_le_new_connslavelatency 
+0x0624 002327 store 1 ,mem_lpm_mult 
+0x0625 002328 branch p_mouse_le_conn_param_lpm_enable 
+:      002330 p_le_update_channel_map:
+0x0626 002331 fetch 1 ,mem_le_state 
+0x0627 002332 rtnbit0 lestate_update_map 
+0x0628 002333 call p_le_channel_map_overflow_check 
+0x0629 002334 nrtn user 
+0x062a 002335 branch le_update_channel_map + 3 
+:      002336 p_le_channel_map_overflow_check:
+0x062b 002337 enable user 
+0x062c 002338 fetch 1 ,mem_le_event_count + 1 
+0x062d 002339 rshift4 pdata ,pdata 
+0x062e 002340 rtnne 0x0f 
+0x062f 002341 fetch 1 ,mem_le_instant + 1 
+0x0630 002342 rshift4 pdata ,pdata 
+0x0631 002343 rtnne 0x00 
+0x0632 002344 branch disable_user 
+:      002346 p_le_prepare_tx:
+0x0633 002347 fetch 1 ,mem_le_arq 
+0x0634 002348 bbit1 wak ,p_le_prepare_tx_wak 
+0x0635 002349 call power_ctrl_pac_succ_incrs 
+0x0636 002350 fetch 1 ,mem_empty_count 
+0x0637 002351 nbranch p_le_send_empyt ,blank 
+0x0638 002352 fetch 1 ,mem_le_state 
+0x0639 002353 bbit0 lestate_encryption ,p_le_tx_4 
+0x063a 002354 fetch 1 ,mem_le_rxbuf + 1 
+0x063b 002355 branch p_le_tx_4 ,blank 
+0x063c 002356 branch le_send_empty 
+:      002357 p_le_send_empyt:
+0x063d 002358 fetch 1 ,mem_empty_count 
+0x063e 002359 increase -1 ,pdata 
+0x063f 002360 store 1 ,mem_empty_count 
+0x0640 002361 branch le_send_empty 
+:      002362 p_le_tx_4:
+0x0641 002363 fetch 1 ,mem_le_pairing_state 
+0x0642 002364 bne flag_le_pairing_after_auth ,p_in_le_tx_4 
+0x0643 002365 jam 3 ,mem_empty_count 
+:      002366 p_in_le_tx_4:
+0x0644 002367 call le_fifo_check_nearly_full 
+0x0645 002368 call p_mouse_data_pull ,blank 
+0x0646 002369 branch le_prepare_tx + 4 
+:      002371 p_le_prepare_tx_wak:
+0x0647 002372 call p_le_check_tx_retransmit_setmd 
+:      002374 p_le_power_ctrl_pac_succ_decrs:
+:      002376 power_ctrl_pac_succ_decrs:
+0x0648 002377 fetch 1 ,mem_power_ctrl_pac_succ_cnt 
+0x0649 002378 sub pdata ,2 ,null 
+0x064a 002379 ncall power_ctrl_pac_succ_cnt_reinit ,positive 
+0x064b 002380 fetch 1 ,mem_power_ctrl_pac_succ_cnt 
+0x064c 002381 rtneq 0 
+0x064d 002382 increase -1 ,pdata 
+0x064e 002383 store 1 ,mem_power_ctrl_pac_succ_cnt 
+0x064f 002384 rtn 
+:      002386 p_le_check_tx_retransmit_setmd:
+0x0650 002387 fetch 1 ,mem_le_connect_status_flag 
+0x0651 002388 and pdata ,0x03 ,pdata 
+0x0652 002389 rtnne 0x03 
+0x0653 002390 fetch 1 ,mem_mouse_data_queue_num 
+0x0654 002391 rtn blank 
+0x0655 002392 fetch 1 ,mem_le_txlen 
+0x0656 002393 rtn blank 
+0x0657 002394 fetch 1 ,mem_le_txheader 
+0x0658 002395 set1 md ,pdata 
+0x0659 002396 store 1 ,mem_le_txheader 
+0x065a 002397 call le_set_md 
+0x065b 002398 rtn 
+:      002400 p_mouse_le_reconn_write_enable_timer_reinit:
+0x065c 002401 fetch 1 ,mem_mouse_le_reconnect_flag 
+0x065d 002402 rtn blank 
+0x065e 002403 fetch 1 ,mem_le_connect_status_flag 
+0x065f 002404 and pdata ,0x03 ,pdata 
+0x0660 002405 rtneq 0x03 
+0x0661 002406 jam 10 ,mem_le_start_encrypt_timer 
+0x0662 002407 rtn 
+:      002409 p_le_parse:
+0x0663 002410 rtnmark1 mark_old_packet 
+0x0664 002411 call le_fifo_check_full 
+0x0665 002412 nrtn blank 
+0x0666 002413 fetch 1 ,mem_le_rxbuf 
+0x0667 002414 and pdata ,0x3 ,pdata 
+0x0668 002415 store 1 ,mem_le_packet_llid 
+0x0669 002416 ifetch 1 ,contr 
+0x066a 002417 and pdata ,0x1f ,pdata 
+0x066b 002418 store 1 ,mem_le_packet_size 
+0x066c 002419 rtn blank 
+0x066d 002420 copy contr ,pdata 
+0x066e 002421 store 2 ,mem_le_payload_ptr 
+0x066f 002422 fetch 1 ,mem_le_packet_llid 
+0x0670 002423 beq llid_le_ll ,p_le_parse_ll 
+0x0671 002424 branch le_parse_l2cap 
+:      002425 p_le_parse_ll:
+0x0672 002426 fetch 1 ,mem_le_rxbuf + 2 
+0x0673 002427 beq ll_channel_map_req ,p_le_parse_channel_map_req 
+0x0674 002428 branch le_parse_ll + 1 
+:      002429 p_le_parse_channel_map_req:
+0x0675 002430 ifetch 5 ,contr 
+0x0676 002431 store 5 ,mem_le_new_map 
+0x0677 002432 ifetch 2 ,contr 
+0x0678 002433 store 2 ,mem_le_instant 
+0x0679 002434 branch le_parse_channel_map_req + 7 
+:      002436 p_le_parse_l2cap:
+0x067a 002437 ifetch 2 ,contr 
+0x067b 002438 beq le_l2cap_cid_att ,p_le_parse_att 
+0x067c 002439 beq le_l2cap_cid_smp ,p_le_parse_smp 
+0x067d 002440 branch le_parse_l2cap + 11 
+:      002441 p_le_parse_att:
+0x067e 002442 call store_contr 
+0x067f 002443 call p_mouse_le_reconn_write_enable_timer_reinit 
+0x0680 002444 call get_contr 
+0x0681 002445 ifetch 3 ,contr 
+0x0682 002446 store 3 ,mem_le_att_opcode 
+0x0683 002447 beq attop_read_by_group_type_request ,p_le_parse_att_read_by_group_type_request 
+0x0684 002449 rshift8 pdata ,temp 
+0x0685 002450 sub temp ,0x24 ,null 
+0x0686 002452 branch le_parse_att + 2 ,positive 
+0x0687 002453 arg mem_mouse_le_uuid_sup ,temp 
+0x0688 002454 storet 2 ,mem_ui_le_uuid_table 
+0x0689 002455 call le_parse_att + 2 
+0x068a 002456 setarg 0x8e7a 
+0x068b 002457 store 2 ,mem_ui_le_uuid_table 
+0x068c 002458 rtn 
+:      002460 p_le_parse_att_read_by_group_type_request:
+0x068d 002461 call le_parse_att_read_by_group_type_request 
+0x068e 002462 call le_fifo_get_last_tx_ptr 
+0x068f 002463 increase 7 ,contr 
+0x0690 002464 ifetch 1 ,contr 
+0x0691 002465 rtnne attop_read_by_group_type_response 
+0x0692 002466 increase 5 ,contr 
+0x0693 002467 ifetch 2 ,contr 
+0x0694 002468 arg uuid_service_hids ,temp 
+0x0695 002469 isub temp ,null 
+0x0696 002470 nrtn zero 
+0x0697 002471 increase -4 ,contr 
+0x0698 002472 setarg 0x2b 
+0x0699 002473 istore 2 ,contr 
+0x069a 002474 rtn 
+:      002519 p_le_parse_smp:
+0x069b 002520 ifetch 1 ,contr 
+0x069c 002521 beq smp_pairing_request ,p_le_parse_smp_pairing_request 
+0x069d 002522 beq smp_pairing_failed ,p_le_parse_smp_pairing_failed 
+0x069e 002523 branch le_parse_smp + 2 
+:      002525 p_le_parse_smp_pairing_request:
+0x069f 002526 jam 1 ,mem_le_send_security_request_flag 
+0x06a0 002527 branch le_parse_smp_pairing_request 
+:      002529 p_le_parse_smp_pairing_failed:
+0x06a1 002530 call le_parse_smp_pairing_failed 
+0x06a2 002531 fetch 1 ,mem_le_state 
+0x06a3 002532 set0 lestate_update_param ,pdata 
+0x06a4 002533 store 1 ,mem_le_state 
+0x06a5 002534 branch le_parse_terminate_ind 
+:      002536 p_le_adv_not_match:
+0x06a6 002537 fetch 1 ,mem_le_ch_mapped 
+0x06a7 002538 bne 39 ,le_adv_loop 
+0x06a8 002539 call p_le_adv_random_delay 
+0x06a9 002540 arg le_adv_interval_timer ,queue 
+0x06aa 002541 fetch 2 ,mem_le_adv_interval 
+0x06ab 002542 branch timer_init 
+:      002543 p_le_adv_random_delay:
+0x06ac 002544 random pdata 
+0x06ad 002545 arg 0x1ff ,temp 
+0x06ae 002546 iand temp ,pdata 
+0x06af 002547 add pdata ,250 ,pdata 
+0x06b0 002548 branch delay 
+:      002550 p_le_lpm_setmult:
+0x06b1 002551 disable wake 
+0x06b2 002552 branch p_le_lpm_set_mult_attempt ,attempt 
+0x06b3 002553 nbranch le_lpm_lost ,match 
+:      002554 p_le_lpm_set_mult_attempt:
+0x06b4 002555 call lpm_match 
+0x06b5 002556 fetch 2 ,mem_rx_window_sniff 
+0x06b6 002557 store 2 ,mem_le_receive_window 
+0x06b7 002558 fetch 1 ,mem_le_connect_status_flag 
+0x06b8 002559 compare 3 ,pdata ,3 
+0x06b9 002560 nbranch lpm_mult_short ,true 
+0x06ba 002561 branch le_lpm_set_mult_attempt + 3 
+:      002563 p_le_mouse_bb_event_connect_complete:
+0x06bb 002564 fetch 1 ,mem_mouse_le_reconnect_flag 
+0x06bc 002565 nrtn blank 
+0x06bd 002566 fetch 1 ,mem_le_att_handle 
+0x06be 002567 sub pdata ,26 ,pdata 
+0x06bf 002568 nrtn zero 
+0x06c0 002569 branch mouse_le_write_enable 
+:      002571 p_check_51cmd_once_continue:
+0x06c1 002572 call lmo_fifo_check 
+0x06c2 002573 nbranch check_51cmd_restore ,blank 
+0x06c3 002574 fetch 1 ,mem_fifo_temp 
+0x06c4 002575 bmark0 mark_context ,check_51cmd_check_idle 
+0x06c5 002576 beq bt_cmd_le_update_conn ,p_check_51cmd_ble_update_connect_param 
+0x06c6 002577 branch check_51cmd_once_continue + 2 
+:      002579 p_check_51cmd_ble_update_connect_param:
+0x06c7 002580 call le_fifo_check_full 
+0x06c8 002581 nrtn blank 
+0x06c9 002582 branch le_l2cap_tx_update_req 
+:      002585 p_twspi_reset:
+0x06ca 002586 hfetch 1 ,core_gpio_out3 
+0x06cb 002587 and_into 0xfd ,pdata 
+0x06cc 002588 hstore 1 ,core_gpio_out3 
+0x06cd 002589 hfetcht 1 ,core_gpio_oe3 
+0x06ce 002590 or_into 0x2 ,temp 
+0x06cf 002591 hstoret 1 ,core_gpio_oe3 
+0x06d0 002592 call twspi_disable 
+0x06d1 002593 and_into 0xfd ,temp 
+0x06d2 002594 nop 13 
+0x06d3 002595 call twspi_enable 
+0x06d4 002596 hstoret 1 ,core_gpio_oe3 
+0x06d5 002597 rtn 
+:      002603 power_ctrl_pac_succ_cnt_init:
+0x06d6 002604 jam 1 ,mem_power_ctrl_level 
+0x06d7 002605 jam 0 ,mem_power_ctrl_pac_succ_cnt 
+0x06d8 002606 rtn 
+:      002607 power_ctrl_pac_succ_incrs:
+0x06d9 002608 fetch 1 ,mem_power_ctrl_pac_succ_cnt 
+0x06da 002609 increase 1 ,pdata 
+0x06db 002610 store 1 ,mem_power_ctrl_pac_succ_cnt 
+0x06dc 002611 rtn 
+:      002613 power_ctrl_pac_succ_cnt_reinit:
+0x06dd 002614 jam 3 ,mem_power_ctrl_pac_succ_cnt 
+0x06de 002615 rtn 
+:      002617 power_ctrl_start:
+0x06df 002618 fetch 2 ,mem_ui_state_map 
+0x06e0 002619 rtnbit1 ui_state_ble_adv 
+0x06e1 002623 arg mem_rssi_signal_buf ,rega 
+0x06e2 002624 call p_rssi_average 
+0x06e3 002625 storet 1 ,mem_rssi_avg_received 
+0x06e4 002627 setarg rssi_dis_max_24g 
+0x06e5 002628 bmark1 mark_24g ,power_ctrl_start_next 
+0x06e6 002629 setarg rssi_dis_max_ble 
+:      002630 power_ctrl_start_next:
+0x06e7 002631 isub temp ,null 
+0x06e8 002632 nbranch power_ctrl_txpower_incrs_force ,positive 
+0x06e9 002634 fetch 1 ,mem_power_ctrl_pac_succ_cnt 
+0x06ea 002635 sub pdata ,2 ,null 
+0x06eb 002636 nbranch power_ctrl_txpower_decrs_check ,positive 
+0x06ec 002637 fetch 1 ,mem_power_ctrl_pac_succ_cnt 
+0x06ed 002638 beq 0 ,power_ctrl_txpower_incrs 
+0x06ee 002639 rtn 
+:      002641 power_ctrl_txpower_decrs_check:
+0x06ef 002642 fetch 1 ,mem_power_ctrl_pac_succ_cnt 
+0x06f0 002643 rtnne 32 
+0x06f1 002644 jam 0 ,mem_power_ctrl_pac_succ_cnt 
+:      002645 power_ctrl_txpower_decrs:
+0x06f2 002646 fetcht 1 ,mem_rssi_avg_received 
+0x06f3 002647 setarg rssi_dis_min_24g 
+0x06f4 002648 bmark1 mark_24g ,power_ctrl_txpower_decrs_next 
+0x06f5 002649 setarg rssi_dis_min_ble 
+:      002650 power_ctrl_txpower_decrs_next:
+0x06f6 002651 isub temp ,null 
+0x06f7 002652 nrtn positive 
+0x06f8 002653 fetch 1 ,mem_power_ctrl_level 
+0x06f9 002654 beq 0 ,power_ctrl_decrs_level0 
+0x06fa 002655 increase -1 ,pdata 
+0x06fb 002656 store 1 ,mem_power_ctrl_level 
+0x06fc 002657 beq 0 ,power_ctrl_decrs_level0 
+:      002658 power_ctrl_decrs_level1:
+:      002659 power_ctrl_incrs_level1:
+0x06fd 002660 jam tx_power_0db ,mem_tx_power 
+0x06fe 002661 rtn 
+:      002663 power_ctrl_txpower_incrs_force:
+0x06ff 002664 jam 0 ,mem_power_ctrl_pac_succ_cnt 
+:      002665 power_ctrl_txpower_incrs:
+0x0700 002666 fetch 1 ,mem_power_ctrl_level 
+0x0701 002667 beq 2 ,power_ctrl_incrs_level2 
+0x0702 002668 increase 1 ,pdata 
+0x0703 002669 store 1 ,mem_power_ctrl_level 
+0x0704 002670 beq 1 ,power_ctrl_incrs_level1 
+:      002671 power_ctrl_incrs_level2:
+0x0705 002673 jam tx_power_5db ,mem_tx_power 
+0x0706 002674 rtn 
+:      002676 power_ctrl_decrs_level0:
+0x0707 002677 jam tx_power_f5db ,mem_tx_power 
+0x0708 002678 rtn 
+:      002681 p_set_freq_tx:
+0x0709 002682 storet 1 ,mem_last_freq 
+0x070a 002683 add temp ,0 ,rega 
+0x070b 002684 call rf_write_freq 
+0x070c 002685 setarg param_pll_setup 
+0x070d 002686 call sleep 
+:      002687 p_rf_tx_enable:
+0x070e 002688 jam 0x1 ,rfen_adc 
+0x070f 002689 jam 0x3c ,rfen_rx 
+0x0710 002690 jam 0xe0 ,rfen_tx 
+0x0711 002691 nop 10 
+0x0712 002692 jam 0x01 ,rfen_mdm 
+0x0713 002693 jam 0x3d ,rfen_mdm 
+0x0714 002694 nop 10 
+0x0715 002695 jam 0xb7 ,rfen_sn 
+0x0716 002696 nop 10 
+0x0717 002697 jam 0x7d ,rfen_mdm 
+0x0718 002698 fetch 1 ,mem_tx_power 
+0x0719 002701 beq tx_power_5db ,p_set_tx_power_5db 
+0x071a 002703 beq tx_power_f5db ,p_set_tx_power_f5db 
+0x071b 002704 beq tx_power_pair ,p_set_tx_power_pair 
+:      002706 p_set_tx_power_0db:
+0x071c 002707 call p_rx_low_sens 
+0x071d 002709 jam 0xd0 ,0x8955 
+0x071e 002710 jam 0xe0 ,0x8956 
+0x071f 002712 jam 0x6c ,0x8958 
+0x0720 002714 branch set_tx_power_0db 
+:      002726 p_set_tx_power_5db:
+:      002728 p_rx_high_sens:
+0x0721 002729 jam 0xfb ,0x894c 
+0x0722 002730 jam 0xef ,0x894d 
+0x0723 002731 jam 0xec ,0x894e 
+0x0724 002732 jam 0x5e ,0x894f 
+0x0725 002735 jam 0xd0 ,0x8955 
+0x0726 002736 jam 0xe0 ,0x8956 
+0x0727 002738 jam 0x3c ,0x8958 
+0x0728 002740 branch set_tx_power_5db 
+:      002752 p_set_tx_power_f5db:
+0x0729 002753 call p_rx_low_sens 
+0x072a 002755 jam 0xd0 ,0x8955 
+0x072b 002756 jam 0xc0 ,0x8956 
+0x072c 002758 jam 0x6c ,0x8958 
+0x072d 002760 branch set_tx_power_f5db 
+:      002762 p_rx_low_sens:
+0x072e 002763 jam 0x5b ,0x894c 
+0x072f 002764 jam 0x96 ,0x894d 
+0x0730 002765 jam 0x2c ,0x894e 
+0x0731 002766 jam 0x46 ,0x894f 
+0x0732 002767 rtn 
+:      002769 p_set_tx_power_pair:
+0x0733 002771 jam 0xc2 ,0x8956 
+0x0734 002772 jam 0xd0 ,0x8955 
+0x0735 002773 rtn 
+:      002775 p_shutdown_radio:
+0x0736 002776 force 8 ,radio_ctrl 
+0x0737 002777 branch shutdown_radio + 1 
Index: output/bt_program23.meta
===================================================================
--- /branch/mouse_project/ZhongXinSheng/ZXS_1062/MJ391_24G&BLE_PB/output/bt_program23.meta	(revision 0)
+++ /branch/mouse_project/ZhongXinSheng/ZXS_1062/MJ391_24G&BLE_PB/output/bt_program23.meta	(working copy)
@@ -0,0 +1,2785 @@
+define REVD
+define ROMCODE
+define PATCH
+INCLUDE "bt_format"
+org 0x0000		// start from patch ram address start
+
+//define DONGLE
+define MOUSE
+define G24
+define BLE
+//define CLASSIC_BT
+//define MOUSE_SMOOTHER
+define ADC_ENABLE
+//define P24G_LOG
+//define RF_DEBUG
+define BLE_FAST_CONN_ENABLE
+define G24_NEW_RF_HOP
+define SIMPLE_PAIRING
+
+//define DEBUGLOG
+//define DEBUGLOG_CALLBACK
+//define DEBUGLOG_EVENT
+//define DEBUGLOG_CMD
+//define DEBUGLOG_MISC
+//define DEBUGLOG_STATUS
+//define DEBUGLOG_PARSE_LMP
+//define DEBUGLOG_SEND_LMP
+//define DEBUGLOG_CONN_SM
+//define DEBUGLOG_UPPER_SM
+
+	bbit1 8,pf_patch_ext
+	beq patch00_0,p_soft_reset_0 
+	beq patch00_1,p_soft_reset_1
+	beq patch10_5,p_shutdown_radio
+	beq patch11_1,p_set_freq_tx
+	beq patch14_1,p_init_param
+	beq patch16_1,p_lpm_check_wake_lock
+	beq patch16_2,p_g24_dispatch
+	beq patch18_4,p_device_init
+	beq patch19_1,p_app_flag_store
+	beq patch19_2,p_app_initflag_check
+	beq patch1c_3,p_mouse_seting_dpi
+	beq patch1c_6,p_mouse_motion
+	beq patch1d_1,p_mouse_bb_disconnected
+	beq patch1d_2,p_mouse_bb_event_discovery_btn
+	beq patch1d_3,p_mouse_start_discovery
+	beq patch1d_4,p_mouse_stop_discovery
+	branch loop
+pf_patch_ext:
+	beq patch27_1,p_le_slave_match
+	beq patch28_3,p_le_next_adv_channel
+	beq patch29_2,p_le_receive_skip
+	beq patch2a_7,p_le_update_param
+	beq patch2b_1,p_le_update_channel_map
+	beq patch2c_3,p_le_prepare_tx
+	beq patch2c_6,p_le_parse
+	beq patch2c_7,p_le_parse_l2cap
+	beq patch2d_2,p_le_adv_not_match
+	beq patch2e_7,p_le_lpm_setmult
+	beq patch3f_2,p_check_51cmd_once_continue
+	beq patch31_4,p_twspi_reset
+	branch loop
+	
+
+p_rssi_signal:
+	copy pdata,rega
+	fetcht 1,mem_rssi_signal_index
+	setarg mem_rssi_signal_buf
+	iadd temp,contw
+	copy rega,pdata
+	istore 1,contw
+	increase 1,temp
+	and_into RSSI_BUF_LEN_SIGNAL,temp
+	storet 1,mem_rssi_signal_index
+	rtn
+
+p_soft_reset_0:
+	call p_mouse_select_device_button_wakeup_check	//hibernate wakeup need 190ms
+	branch soft_reset+1
+
+p_mouse_select_device_button_wakeup_check:
+	jam 0,mem_mouse_select_device_button_wakeup_flag
+	fetcht 1,mem_config_select_device_button_gpio
+	call gpio_config_input
+	fetcht 1,mem_config_select_device_button_gpio
+	call gpio_get_bit
+	nrtn true
+	call delay_10ms
+	fetcht 1,mem_config_select_device_button_gpio
+	call gpio_get_bit
+	nrtn true
+	jam 1,mem_mouse_select_device_button_wakeup_flag
+	rtn
+
+p_mouse_switch_Hwakeup_byPB:
+	fetch 1,mem_mouse_select_device_button_wakeup_flag
+	rtn blank
+	call p_mouse_switch_device_flag
+	branch p_mouse_store_device_number2eeprom
+
+p_soft_reset_1:
+	arg mem_sp_state,contw
+	arg 12,loopcnt
+	call clear_mem
+	call p_mouse_le_txbuff_load
+	call rfcomm_init
+	call init_lmp
+	ncall lpm_disable_exen_output,wake
+	call ui_init+1
+	branch soft_reset+11
+
+p_init_param:
+	setarg param_le_version
+	store 3,mem_lmp_version
+	setarg param_le_subversion
+	store 2,mem_lmp_version+3
+	branch init_param+12
+
+p_lpm_check_wake_lock:
+	rtnmark1 mark_24g
+	call p_mouse_bt_multi_led_lpm_lock
+	fetch 1,mem_mouse_multi_led_state
+	beq ON,disable_blank
+	fetch 1,mem_mouse_clear_sensor_data_flag
+	beq 0,disable_blank
+	fetch 1,mem_mouse_le_conn_param_reject
+	beq LE_LPM_DISABLE,disable_blank
+	fetch 1,mem_mouse_wheel_trigger
+	nbranch disable_blank,blank
+	branch enable_blank
+
+p_mouse_bt_multi_led_lpm_lock:
+	call enable_blank
+	fetch 1,mem_mouse_multi_led_state
+	ncall disable_blank,blank
+	fetch 1,mem_mouse_multi_led_on_timer
+	ncall disable_blank,blank
+	rtn
+
+p_g24_dispatch:
+	rtnmark0 mark_24g
+	fetch 1,mem_g24_conn_sm
+	bbit1 STATE_24G_PAIR,p_g24_pair_dispatch
+	bbit1 STATE_24G_RECONN,p_g24_reconn_dispatch
+	fetch 1,mem_24g_transmit_by_interrupt
+	beq G24_TX_TIMER_INT_ENABLE,p_g24_transmit_by_interrupt
+p_g24_transmit_process:
+	call p_g24_txdata_prep
+	nbranch p_g24_nodata_transmit,user
+	call p_g24_rf_sta_check
+p_g24_transmit_start:
+	call p_g24_transmit_packet
+	fetch 1,mem_24g_pairing_sm
+	rtnne STATE_24G_PAIRING_SUCCESS
+	call power_ctrl_start
+	call g24_long_sleep_shorter_param_update
+	fetch 1,mem_24g_transmit_by_interrupt
+	rtneq G24_TX_TIMER_INT_ENABLE
+	fetch 1,mem_mouse_multi_led_state
+	beq ON,p_g24_transmit_by_interrupt_enable
+p_g24_short_sleep:	
+	call p_g24_lpm_wait
+	nrtn user
+	call p_clear_wake
+	setarg 60500
+	branch lpm_dispatch_sleep
+
+p_g24_pair_dispatch:
+	fetch 1,mem_g24_stop_g24_mode
+	beq 1,g24_stop_24g_mode
+	call p_g24_tx_attemp_data_prep
+	call p_g24_transmit_receive_ack
+	nbranch p_g24_pair_txdata_switch,sync
+	nbranch p_g24_pair_txdata_switch,user3
+	fetch 1,mem_g24_conn_sm
+	set0 STATE_24G_PAIR,pdata
+	store 1,mem_g24_conn_sm
+	call p_g24_ackpayload_parse
+	call p_mouse_tx_power_init
+	fetch 4,mem_24g_addr
+	fetcht 4,mem_24g_paring_addr
+	isub temp,null
+	branch p_g24_start_pairing_sm1,zero
+	branch p_g24_tx_attemp_dongle_succ
+
+p_g24_reconn_dispatch:
+	fetch 1,mem_g24_stop_g24_mode
+	beq 1,g24_stop_24g_mode
+	call p_g24_tx_attemp_data_prep
+	call p_g24_transmit_receive_ack
+	nbranch p_g24_ch,sync
+	nbranch p_g24_ch,user3
+p_g24_tx_attemp_dongle_succ:
+	set1 mark_24g,mark
+	fetch 1,mem_g24_conn_sm
+	set0 STATE_24G_RECONN,pdata
+	store 1,mem_g24_conn_sm
+	jam 0,mem_mouse_long_mult_flag
+	jam BT_EVT_24G_ATTEMPT_SUCCESS,mem_fifo_temp
+	call ui_ipc_send_event
+
+	fetch 4,mem_24g_addr
+	fetcht 4,mem_24g_device_addr
+	isub temp,null
+	call p_g24_store_dongle_addr,zero
+
+	call p_g24_txbuf_clear
+//	branch p_g24_transmit_by_interrupt_enable
+p_g24_transmit_by_interrupt_enable:
+	jam G24_TX_TIMER_INT_ENABLE,mem_24g_transmit_by_interrupt
+	jam 0,mem_24g_transmit_by_interrupt_exit_count
+	rtn
+
+p_g24_store_dongle_addr:
+	fetch 4,mem_24g_rxpayload+2
+	branch p_g24_update_addr_and_synccrc8
+
+p_g24_pair_txdata_switch:
+	fetch 1,mem_24g_auto_paring_switch
+	increase 1,pdata
+	and_into 3,pdata
+	store 1,mem_24g_auto_paring_switch
+	beq 0,p_g24_auto_pair_first_attemp
+	beq 1,p_g24_pair_init
+	beq 2,p_g24_auto_pair_all_powerful
+	beq 3,p_g24_pair_init
+	rtn
+
+p_g24_auto_pair_first_attemp:
+	call p_mouse_tx_power_init
+	fetch 4,mem_24g_device_addr
+	store 4,mem_24g_addr
+	fetch 1,mem_24g_pair_current_ch_num
+	store 1,mem_24g_current_ch_number
+	call p_g24_ch_syncword_crc8_init
+	storet 1,mem_24g_pair_current_ch_num
+	rtn
+
+p_g24_ch_syncword_crc8_init:	
+	call p_g24_syncword_crc8
+//	branch p_g24_ch
+p_g24_ch:
+	fetcht 1,mem_24g_current_ch_number
+	call p_g24_ch_map_size
+	storet 1,mem_24g_current_ch_number
+	rtn
+
+g24_long_sleep_shorter_param_update:
+//	fetch 1,mem_config_function_enable
+//	rtnbit1 ENABLE_SENSOR_MOTION_PIN
+	setarg G24_LONG_SLEEP_STEP1
+	store 3,mem_24g_enter_hibernate
+	jam 20,mem_24g_long_sleep_param_update_timer
+	rtn
+	
+p_g24_transmit_by_interrupt:
+	call p_g24_timer_check
+	nrtn user
+	call p_g24_interval_calibrate
+	fetch 1,mem_24g_transmit_by_interrupt_exit_count
+	increase 1,pdata
+	store 1,mem_24g_transmit_by_interrupt_exit_count
+	sub pdata,25,null	//200ms
+	call p_g24_transmit_by_interrupt_exit,zero
+	branch p_g24_transmit_process
+p_g24_transmit_by_interrupt_exit:
+	jam G24_TX_TIMER_INT_DISABLE,mem_24g_transmit_by_interrupt
+	jam 0,mem_24g_transmit_by_interrupt_exit_count
+p_g24_interval_min:
+	jam 0,mem_24g_pac_index
+	fetch 1,mem_24g_interval_min
+p_g24_current_interval_store:
+	store 1,mem_24g_interval
+	rtn
+p_g24_interval_max:
+	fetch 1,mem_24g_interval_max
+	branch p_g24_current_interval_store
+p_g24_interval_calibrate:
+	fetch 1,mem_24g_pac_index
+	increase 1,pdata
+	store 1,mem_24g_pac_index
+	beq 4,p_g24_interval_max
+	beq 5,p_g24_interval_min
+	rtn
+
+p_g24_nodata_transmit:
+	fetch 1,mem_24g_abort_pac
+	call p_g24_send_abort_packet,blank
+	fetch 1,mem_mouse_multi_led_blink_count
+	nrtn blank
+	fetch 1,mem_mouse_multi_led_state
+	rtneq ON
+p_g24_long_sleep:
+	call p_g24_lpm_wait
+	nrtn user
+	fetch 3,mem_24g_enter_hibernate
+	call clk2lpo
+	storet 4,mem_sleep_counter
+  	branch lpm_sleep
+
+p_g24_lpm_wait:
+	enable user
+	call lpo_calibration
+	fetch 3,mem_clks_per_lpo
+	branch disable_user,blank
+	fetch 1,mem_lpm_mode
+	branch disable_user,blank
+	fetch 1,mem_sp_local_key_invalid	// simple pairing is not ready
+	branch disable_user,blank
+	fetch 1,mem_24g_transmit_by_interrupt
+	beq G24_TX_TIMER_INT_ENABLE,disable_user
+	branch p_mouse_setgpio_lpm
+
+p_g24_send_abort_packet:
+	jam 1,mem_24g_abort_pac
+	jam 0,mem_24g_rf_hop_ch
+	call p_g24_transmit_rf_ctrl_clear
+	store 1,mem_24g_txbuf
+	setarg 0
+	store 7,mem_24g_txbuf+1
+	fetch 4,mem_24g_device_addr
+	store 4,mem_24g_txbuf+8
+	jam 12,mem_24g_datalen
+	fetch 1,mem_24g_data_type
+	set1 bit_abort,pdata
+	store 1,mem_24g_data_type
+	call p_g24_txdata_enable_tx
+	branch p_g24_transmit_start
+
+//p_g24_set_device_addr:
+//	call adc_init_data
+//	fetch 4,mem_2v_adc_vinlpm_data	//adc data from otp
+//	store 4,mem_24g_device_addr	
+//	nrtn blank
+//	fetch 4,mem_lap
+//	store 4,mem_24g_device_addr
+//	rtn
+
+p_g24_transmit_rf_sta_init:
+	jam 1,mem_24g_rf_last_sta
+	jam 0,mem_24g_sync_cnt
+p_g24_transmit_rf_ctrl_clear:	
+	fetch 1,mem_24g_data_type
+	and_into bits_data,pdata
+	store 1,mem_24g_data_type
+	rtn
+	
+p_g24_hop_ch_enable:
+	fetch 1,mem_24g_data_type
+	set1 bit_hop,pdata
+	store 1,mem_24g_data_type
+	//update txpayload
+	store 1,mem_24g_txpayload
+	rtn
+p_g24_hop_ch_disable:
+	fetch 1,mem_24g_data_type
+	set0 bit_hop,pdata
+	store 1,mem_24g_data_type
+	store 1,mem_24g_txpayload
+	call power_ctrl_pac_succ_decrs
+	branch p_g24_ch
+	
+//p_g24_transmit_hop_pac_fail:
+//	call power_ctrl_pac_succ_decrs
+//	fetch 1,mem_24g_rf_work_stage
+//	beq 1,p_g24_transmit_hop_pac_fail_wo_hop
+//	beq 2,p_g24_transmit_hop_pac_fail_hop_stage2
+//	rtn
+//p_g24_transmit_hop_pac_fail_wo_hop:
+//	jam 2,mem_24g_sync_cnt
+//p_g24_transmit_hop_pac_fail_stage1:	
+//	jam 0,mem_24g_hop_pac_retry
+//	jam 0,mem_24g_rf_last_sta
+//	branch p_g24_transmit_rf_ctrl_clear
+
+//p_g24_transmit_hop_pac_fail_hop_stage2:
+//	jam 0,mem_24g_rf_hop_ch
+//	branch p_g24_transmit_hop_pac_fail_stage1
+
+	
+//p_g24_transmit_pac_fail_hop_stage3:
+//	fetch 2,mem_24g_txfail_cnt
+//	increase 1,pdata
+//	store 2,mem_24g_txfail_cnt
+//	bbit1 10,p_g24_tx_attempt_fail	//1024ms * 8
+//	fetch 1,mem_24g_rf_hop_ch
+//	beq 1,p_g24_rf_hop_fastly
+//	jam 1,mem_24g_rf_hop_ch
+p_g24_rf_hop_attemp_again:
+	fetch 1,mem_24g_rf_hop_ch
+	bne 1,p_g24_transmit_rf_ctrl_clear
+p_g24_rf_hop_fastly:
+	fetch 1,mem_24g_hop_fastly_cnt
+	increase 1,pdata
+	store 1,mem_24g_hop_fastly_cnt
+	beq 4,p_g24_rf_hop_fastly_exit
+	call p_g24_ch
+	jam 2,mem_24g_max_retry
+	branch p_g24_transmit_packet
+
+p_g24_rf_hop_fastly_exit:
+	call power_ctrl_pac_succ_decrs
+	jam 0,mem_24g_hop_fastly_cnt
+	branch p_g24_transmit_rf_ctrl_clear
+
+p_g24_transmit_hop_pac_succ_wo_hop:
+	jam 2,mem_24g_sync_cnt
+p_g24_transmit_hop_pac_succ:
+	jam 1,mem_24g_rf_last_sta
+	jam 0,mem_24g_rf_hop_ch
+	branch p_g24_transmit_rf_ctrl_clear
+
+p_g24_transmit_succ_rf_config:
+	fetch 1,mem_24g_rf_work_stage
+	beq 3,p_g24_transmit_hop_pac_succ
+	fetch 1,mem_24g_data_type
+	isolate0 bit_hop,pdata
+	branch p_g24_transmit_rf_sta_init,true
+	fetch 1,mem_24g_rf_work_stage
+	beq 1,p_g24_transmit_hop_pac_succ_wo_hop
+	beq 2,p_g24_transmit_hop_pac_succ
+	rtn
+
+p_g24_rf_sta_check:
+	fetch 1,mem_24g_pairing_sm
+	rtnne STATE_24G_PAIRING_SUCCESS
+	call p_g24_rf_laststa_synccnt_check
+	ncall p_g24_rf_sync_cnt_check,user2
+	rtn
+
+p_g24_rf_laststa_synccnt_check:
+	disable user2
+	fetch 1,mem_24g_rf_last_sta
+	rtnne 1
+	fetch 1,mem_24g_sync_cnt
+	rtnne 0
+	jam 1,mem_24g_rf_work_stage
+	jam 4,mem_24g_max_retry
+	branch enable_user2
+
+p_g24_rf_sync_cnt_check:
+	fetch 1,mem_24g_sync_cnt
+	branch p_g24_rf_hop_attemp,blank
+	increase -1,pdata
+	store 1,mem_24g_sync_cnt
+	jam 2,mem_24g_rf_work_stage
+	jam 4,mem_24g_max_retry
+	branch p_g24_ch
+
+p_g24_rf_hop_attemp:
+	jam 3,mem_24g_rf_work_stage
+	fetch 1,mem_24g_rf_hop_ch
+	nbranch p_g24_rf_hop_attemp_again,blank
+	jam 2,mem_24g_max_retry
+	branch p_g24_ch
+
+p_g24_txdata_prep:
+	fetch 1,mem_24g_pairing_sm
+	bne STATE_24G_PAIRING_SUCCESS,p_g24_pairing_sm	
+p_g24_txdata_prep_packeage_data:
+	call p_g24_package_data
+p_g24_txdata_enable_tx:	
+	call p_g24_transmit_prep
+	jam ENSURE_ON_24G,mem_24g_ensure
+	rtn
+
+p_g24_package_data:
+	fetch 2,mem_cb_24g_data
+	call callback_func
+	branch p_g24_accumulate_mouse_data,user
+	fetch 7,mem_24g_txbuf+1	//mouse data
+	rtn blank
+	branch enable_user	// retransmit
+p_g24_accumulate_mouse_data:
+	call p_mouse_data_xy_release
+	jam 0,mem_24g_abort_pac
+	add rega,1,pdata
+	store 1,mem_24g_datalen
+	call p_g24_transmit_rf_ctrl_clear
+	store 1,mem_24g_txbuf
+	ifetcht 1,contw
+	ifetch 1,regb
+	ior temp,pdata
+	istore 1,contw	//key
+	increase 1,regb
+	ifetch 4,regb
+	istore 4,contw	//x,y
+	increase 4,regb
+	arg mem_24g_txbuf+6,contw
+	arg 2,loopcnt
+p_g24_accumulation_loop:
+	ifetch 1,regb
+	ifetcht 1,contw	//wheel,twheel
+	iadd temp,pdata
+	istore 1,contw
+	increase 1,regb
+	loop p_g24_accumulation_loop
+	rtn
+
+p_g24_transmit_packet:
+	jam 0,mem_24g_retry
+p_g24_transmit_loop:
+	arg param_rx_setup,timeup
+	until clkn_rt,meet
+	call p_g24_transmit_receive_ack
+	fetch 1,mem_24g_no_ack	//tx noack
+	rtneq no_ack_24g
+	nbranch p_g24_retransmit,sync
+	nbranch p_g24_retransmit,user3
+	call p_g24_txbuf_clear
+	call p_g24_ackpayload_parse
+	call power_ctrl_pac_succ_incrs
+p_g24_transmit_next_packet:
+	fetch 1,mem_24g_pid
+	increase 1,pdata
+	store 1,mem_24g_pid
+	call p_g24_hop_enable_packet	//mouse need to hop while dongle had hop
+	fetch 1,mem_24g_pairing_sm
+	bne STATE_24G_PAIRING_SUCCESS,p_g24_paring_mode_start
+	call p_g24_transmit_succ_rf_config
+p_g24_transmit_abandon:
+	setarg 0
+	store 2,mem_24g_txfail_cnt
+	store 1,mem_24g_get_ack_fail
+	store 1,mem_24g_hop_pac_retry
+	jam ENSURE_OFF_24G,mem_24g_ensure
+	rtn
+
+p_g24_txbuf_clear:
+	arg 4,loopcnt
+	arg mem_24g_txbuf,contw
+	branch memset0
+
+p_g24_hop_enable_packet:
+	fetch 1,mem_24g_data_type
+	bbit1 bit_hop,p_g24_hop_ch_disable
+	rtn
+
+p_g24_transmit_receive_ack:
+	disable user3
+	call p_g24_transmit
+	
+
+	fetch 1,mem_24g_no_ack
+	beq no_ack_24g,p_g24_transmit_no_ack	//tx no ack
+	force 0,radio_ctrl
+	fetch 4,mem_24g_addr
+	iforce access
+	fetcht 1,mem_last_freq
+	call set_freq_rx
+	call rf_rx_enable
+	call p_g24_receive_rxon
+	call p_g24_end_of_packet,user3
+	rtn
+p_g24_transmit_no_ack:
+	call p_g24_end_of_packet
+	branch p_g24_transmit_next_packet
+
+p_g24_retransmit:
+	fetch 2,mem_24g_txfail_cnt
+	increase 1,pdata
+	store 2,mem_24g_txfail_cnt	
+	fetch 1,mem_24g_txfail_cnt+1
+	bbit1 4,g24_stop_24g_mode
+
+	fetch 1,mem_24g_pairing_sm
+	bne STATE_24G_PAIRING_SUCCESS,p_g24_tx_paring_retry
+
+	call p_g24_tx_hop_ch_process
+	branch p_g24_transmit_loop
+
+p_g24_tx_paring_retry:
+	fetch 1,mem_24g_txfail_cnt
+	rtnne 0xff
+p_g24_tx_attempt_fail:
+	setarg 0
+	store 2,mem_24g_txfail_cnt
+	branch g24_stop_24g_mode
+
+p_g24_tx_fast_hop:
+	call power_ctrl_txpower_incrs
+	call power_ctrl_pac_succ_decrs
+	branch p_g24_ch
+
+p_g24_tx_hop_ch_process:
+	fetch 1,mem_24g_retry
+	sub pdata,11,null
+	nbranch  p_g24_tx_fast_hop,positive		// >= 6+6 hop fast    fail packet count >= 2
+	increase 1,pdata
+	store 1,mem_24g_retry
+	beq 2,p_g24_hop_ch_enable
+	beq 6,p_g24_hop_ch_disable
+	beq 8,p_g24_hop_ch_enable
+	beq 12,p_g24_hop_ch_disable
+	rtn
+
+p_g24_ackpayload_parse:
+	call p_g24_read_len_pid_crc
+	fetch 1,mem_24g_rxdata_length	//ack payload length 
+	rtn blank
+	iforce loopcnt
+	arg mem_24g_rxbuf+2,contr
+	arg mem_24g_rxpayload,contw	//ack payload buffer 
+	branch memcpy
+
+p_g24_pair_init:
+	jam TX_POWER_PAIR,mem_tx_power
+	jam 0,mem_24g_pid
+	jam G24_PAIR_CH,mem_24g_ch
+	fetch 4,mem_24g_paring_addr
+//	branch p_g24_update_addr_and_synccrc8
+p_g24_update_addr_and_synccrc8:	
+	store 4,mem_24g_addr
+//output: 1BYTE crc8
+p_g24_syncword_crc8:
+	arg 0,rega
+	arg 4,loopcnt
+	arg mem_24g_addr,contr
+p_g24_syncword_crc8_loop:
+	ifetch 1,contr
+	iadd rega,rega
+	loop p_g24_syncword_crc8_loop
+	copy rega,pdata
+	store 2,mem_24g_syncword
+	fetch 1,mem_24g_syncword
+	fetcht 1,mem_24g_syncword+1
+	iadd temp,pdata
+	store 1,mem_24g_syncword_crc8
+	rtn
+
+p_g24_pairing_sm:
+	fetch 1,mem_24g_ensure
+	beq ENSURE_ON_24G,enable_user
+	fetch 1,mem_24g_pairing_sm
+	beq STATE_24G_PAIRING_1,p_g24_pairing_sm_1
+	beq STATE_24G_PAIRING_2,p_g24_pairing_sm_2
+	beq STATE_24G_PAIRING_3,p_g24_pairing_sm_3
+	branch assert
+
+p_g24_pairing_sm_1:
+	jam STATE_24G_PAIRING_1_WAITING_ACK,mem_24g_pairing_sm
+	jam 0xaa,mem_24g_common_temp
+	branch p_g24_pairing_sm_common
+p_g24_pairing_sm_2:
+	jam STATE_24G_PAIRING_2_WAITING_ACK,mem_24g_pairing_sm
+	jam 0x55,mem_24g_common_temp
+	branch p_g24_pairing_sm_common
+p_g24_pairing_sm_3:
+	jam STATE_24G_PAIRING_3_WAITING_ACK,mem_24g_pairing_sm
+	jam 0x22,mem_24g_common_temp
+p_g24_pairing_sm_common:
+	fetch 1,mem_24g_data_type
+	and_into bits_data,pdata
+	store 1,mem_24g_common_temp+1
+	fetch 4,mem_24g_device_addr
+	store 4,mem_24g_common_temp+2
+p_g24_put_pairing_data_in_buff:
+	jam 0,mem_24g_common_temp+6
+	arg mem_24g_common_temp,rega
+	arg 7,temp
+	call p_g24_put_data_in_buff
+	call p_g24_txdata_enable_tx
+	branch enable_user
+
+p_g24_paring_mode_start:
+	call power_ctrl_pac_succ_cnt_init
+p_g24_paring_mode:
+	fetch 1,mem_24g_pairing_sm
+	rtneq STATE_24G_PAIRING_SUCCESS
+	beq STATE_24G_PAIRING_1_WAITING_ACK,p_g24_pairing_sm_1_waiting_ack
+	beq STATE_24G_PAIRING_2_WAITING_ACK,p_g24_pairing_sm_2_waiting_ack
+	beq STATE_24G_PAIRING_3_WAITING_ACK,p_g24_pairing_sm_3_waiting_ack
+	rtn
+
+
+p_g24_pairing_sm_1_waiting_ack:
+	jam STATE_24G_PAIRING_2,mem_24g_pairing_sm
+	branch p_g24_transmit_abandon
+p_g24_pairing_sm_2_waiting_ack:
+	jam STATE_24G_PAIRING_3,mem_24g_pairing_sm
+	branch p_g24_transmit_abandon
+p_g24_pairing_sm_3_waiting_ack:
+	jam STATE_24G_PAIRING_SUCCESS,mem_24g_pairing_sm
+	jam BT_EVT_24G_PAIRING_COMPLETE,mem_fifo_temp
+	call ui_ipc_send_event	
+	fetch 4,mem_24g_rxpayload+2
+	call p_g24_update_addr_and_synccrc8
+	branch p_g24_transmit_abandon
+
+p_g24_tx_attemp_data_prep:
+	jam 0xff,mem_24g_common_temp
+	fetch 1,mem_24g_data_type
+	store 1,mem_24g_common_temp+1
+	fetch 4,mem_24g_device_addr
+	store 4,mem_24g_common_temp+2
+	arg 6,temp
+	arg mem_24g_common_temp,rega
+	call p_g24_put_data_in_buff
+	branch p_g24_transmit_prep
+	
+p_g24_auto_pair_timeout_clear:
+	setarg 0
+	store 2,mem_g24_stop_g24_mode_timeout
+	jam 0,mem_g24_stop_g24_mode
+	rtn
+
+p_g24_auto_pair_all_powerful:
+	jam TX_POWER_PAIR,mem_tx_power
+	setarg 0x0f0f
+	store 2,mem_24g_addr
+	istore 2,contw
+	fetch 1,mem_24g_powerful_current_ch_num
+	store 1,mem_24g_current_ch_number
+	call p_g24_ch_syncword_crc8_init
+	storet 1,mem_24g_powerful_current_ch_num
+	rtn
+
+p_g24_check_51cmd_stop_24g:
+	set0 mark_24g,mark
+	call le_disable
+p_mouse_disable_g24_pairing_flag:
+	arg MOSUE_24G_PAIRING_FLAG,queue
+	branch mouse_disable_function_flag
+
+p_g24_put_data_in_buff:
+	storet 1,mem_24g_datalen
+	copy temp,loopcnt
+	arg mem_24g_txbuf,contw
+	copy rega,contr
+	branch memcpy
+
+p_g24_read_len_pid_crc:
+//read control
+	fetch 1,mem_24g_rxbuf+1
+	rshift3 pdata,pdata
+	store 1,mem_24g_rxdata_length
+//get crc
+	increase 1,pdata
+	arg mem_24g_rxbuf+1,contr
+	iadd contr,contr
+	ifetch 3,contr
+	store 3,mem_24g_sta_crc
+//read pid
+	fetch 1,mem_24g_rxbuf+1
+	rshift pdata,pdata
+	and pdata,0x03,pdata
+	store 1,mem_24g_sta_pid
+	rtn
+
+p_g24_transmit_prep:
+
+// total length
+	fetch 1,mem_24g_datalen
+	increase 2,pdata
+	store 1,mem_24g_txlen
+// data type
+	fetch 1,mem_24g_data_type
+	store 1,mem_24g_txpayload
+//prepare 5bit payload length, 2bit PID, 1bit NO_ACK
+	fetch 1,mem_24g_datalen
+	lshift3 pdata,pdata
+	fetcht 1,mem_24g_pid
+	and temp,0x03,temp
+	lshift temp,temp
+	ior temp,pdata
+	fetcht 1,mem_24g_no_ack
+	iadd temp,pdata
+	istore 1,contw
+//prepare payload data
+	fetch 1,mem_24g_datalen
+	iforce loopcnt
+	arg mem_24g_txbuf,contr
+	branch memcpy
+
+p_g24_ch_map_size:
+	call p_g24_ch_calc
+	increase 1,temp
+	and_into 3,temp //map size =4
+	rtn
+	
+p_g24_ch_calc:
+	fetch 1,mem_24g_addr	
+	and_into 0x03,pdata
+	mul32 pdata,4,rega			//24addr low bit0 bit1 ,00-map1,01-map2,10-map3,11-map4
+	setarg mem_24g_ch_map1
+	iadd rega,pdata
+	iadd temp,contr
+	ifetch 1,contr
+	store 1,mem_24g_ch
+	rtn
+
+p_g24_prep:
+	disable enable_crc
+	disable enable_white
+	setarg 0x555555
+	iforce crc24_init
+	fetch 1,mem_24g_ch
+	reverse pdata,temp
+	set1 1,temp
+	rshift temp,white_init
+	rtn
+
+//p_g24_receive_packet:
+//	call le_enable
+//	fetch 4,mem_24g_addr
+//	iforce access
+//	call set_sync_on
+//	fetcht 1,mem_24g_ch
+//	call set_freq_rx
+//	setarg param_pll_setup
+//	call sleep
+//	call rf_rx_enable
+p_g24_receive_rxon:
+
+
+	call p_g24_prep
+	disable user3
+	enable decode_fec0
+	enable is_rx
+	disable is_tx
+	enable swfine
+	fetch 2,mem_24g_rx_window
+	iforce stop_watch
+	correlate null,timeout
+	nbranch p_g24_sync_timeout,sync
+
+
+	disable decode_fec0
+	enable decode_fec1
+	enable enable_white
+	enable enable_crc
+	call p_g24_receive_byte
+	store 1,mem_24g_get_syncword_crc8
+	fetcht 1,mem_24g_syncword_crc8
+	isub temp,null
+	nbranch p_g24_end_of_packet,zero
+	call p_g24_receive_byte
+	store 1,mem_24g_rxbuf	//device id
+	fetch 1,mem_24g_mode
+	sub pdata,rx_24g,null
+	branch p_g24_receive_skip,zero
+	fetch 1,mem_24g_rxbuf
+	fetcht 1,mem_24g_data_type
+	icompare bits_data,temp
+	nbranch p_g24_end_of_packet,true
+p_g24_receive_skip:
+	call p_g24_receive_byte
+	istore 1,contw
+	rshift3 pdata,pdata
+	and pdata,0x1f,loopcnt	//max payload: 32bytes
+	branch p_g24rx_nopayload,zero
+p_g24rx_loop:
+	call p_g24_receive_byte
+	istore 1,contw
+	loop p_g24rx_loop
+p_g24rx_nopayload:
+	//receive rssi hex
+	copy contw,rega
+	call p_g24_receive_byte
+	store 1,mem_rssi_hex_received
+	copy rega,contw
+	parse demod,bucket,24
+	enable swfine
+	arg param_sifs,stop_watch	
+	rshift32 pdata,pdata
+	rshift16 pdata,pdata
+	istore 3,contw
+	disable decode_fec1
+	branch p_g24_end_of_packet,crc_failed
+
+
+	enable user3
+	fetch 1,mem_last_freq
+	add pdata,0,rega
+	call rf_write_freq
+	disable decode_fec0
+	call set_sync_on
+	fetch 1,mem_rssi_hex_received
+	call p_rssi_signal
+	rtn
+
+p_g24_receive_byte:
+	parse demod,bucket,8
+	rshift3 pwindow,pdata
+	rtn
+	
+p_g24_sync_timeout:
+//ifdef DONGLE
+//	call p_rssi_noise
+//endif
+p_g24_end_of_packet:
+	disable encode_fec1
+	disable decode_fec1
+	call end_of_packet
+	rtn
+
+p_g24_set_freq_tx:
+	call set_sync_on
+	fetcht 1,mem_24g_ch
+	branch set_freq_tx
+
+p_g24_transmit:
+	call le_enable
+	fetch 4,mem_24g_addr
+	iforce access
+	call p_g24_prep
+	call p_g24_set_freq_tx
+	set1 TXGFSK,radio_ctrl
+	enable encode_fec0
+	enable is_tx
+	disable is_rx
+
+	
+	rshift16 access,pdata
+	rshift8 pdata,pdata
+	rshift4 pdata,pdata
+	inject mod,40
+	disable encode_fec0
+	enable encode_fec1
+	enable enable_white
+	enable enable_crc
+	fetch 1,mem_24g_syncword_crc8
+	inject mod,8
+	fetch 1,mem_24g_txlen
+	iforce loopcnt
+	arg mem_24g_txpayload,contr
+p_g24tr_loop:
+	ifetch 1,contr
+	inject mod,8
+	loop p_g24tr_loop
+
+
+	enable enable_parity
+	inject mod,24	//crc
+	disable enable_parity
+	until null,tx_clear
+	nop 100
+	disable encode_fec0
+	disable encode_fec1
+	rtn
+
+p_g24_timer_check:
+	call disable_user
+	fetcht 4,mem_24g_tx_btclk
+	copy clkn_bt,pdata
+	isub temp,null
+	ncall g24_timer_timeout,positive
+	copy pdata,regb
+	fetch 4,mem_24g_tx_btclk
+	fetcht 1,mem_24g_interval
+	iadd temp,temp
+	copy regb,pdata
+	isub temp,null
+	nrtn positive
+	set0 28,pdata
+	store 4,mem_24g_tx_btclk
+	branch enable_user
+
+//p_rssi_noise:
+//	call save_rssi
+//	rtn blank
+//	fetcht 1,mem_rssi_noise_index
+//	arg mem_rssi_noise_buffer,rega
+//	call p_rssi_store
+//	storet 1,mem_rssi_noise_index
+//	rtn
+	
+//p_rssi_store:
+//	copy rega,pdata
+//	iadd temp,contw
+//	fetch 1,mem_rssi
+//	istore 1,contw
+//	increase 1,temp
+//ifdef DONGLE
+//	and_into RSSI_BUF_LEN_NOISE,temp
+//endif
+//ifdef MOUSE
+//	and_into RSSI_BUF_LEN_SIGNAL,temp
+//endif
+//	rtn
+p_rssi_average:
+	arg 0,temp
+	arg RSSI_BUF_LEN_SIGNAL+1,loopcnt
+	copy rega,contr
+p_rssi_average_loop:
+	ifetch 1,contr
+	iadd temp,temp
+	loop p_rssi_average_loop
+	rshift3 temp,pdata
+	copy pdata,temp
+	rtnmark0 mark_24g
+	//2BCD
+	div pdata,10
+	call wait_div_end
+	quotient pdata
+	lshift4 pdata,pdata
+	remainder temp
+	ior temp,temp
+	rtn
+	rtn
+
+
+p_mouse_before_lpm:
+	rtnmark1 mark_24g
+	call p_mouse_le_txbuff_save
+	call p_mouse_setgpio_lpm
+	fetch 1,mem_context
+	bbit0 state_inconn,p_clear_wake
+	fetch 1,mem_lpm_current_mult
+	nrtn blank
+p_clear_wake:
+	setarg 0
+	store 8,mem_gpio_wakeup_low
+	rtn
+
+p_mouse_setgpio_lpm:
+	call p_mouse_set_sdio_high
+	call p_clear_wake
+	call mouse_lpm_before_common
+	hfetch 4,core_gpio_oe0
+	hfetcht 4,core_gpio_pu0
+	ior temp,temp
+	invert temp,temp
+	hstoret 4,core_gpio_pd0
+	rtn
+	
+
+p_mouse_set_sdio_high:
+	fetch 1,mem_mouse_init_sensor_reset_flag
+	rtn blank
+	branch p_mouse_seting_dpi_diff// make sdio high to make 100uA less	
+
+p_device_init:
+	call app_lpm_mult_enable
+	branch p_device_init_common,wake
+	call p_mouse_data_init
+	fetch 1,mem_tx_power
+	store 1,mem_tx_power_temp
+	call power_ctrl_pac_succ_cnt_init
+	fetch 1,mem_ui_button_timeout
+	store 1,mem_combination_ui_button_count	//combination key timer init
+	call mouse_bt_discovery_button_down_disable
+	fetch 3,mem_le_lap+3
+	store 3,mem_le_lap_high_3B
+p_device_init_common:
+	call p_mouse_init
+	branch enable_authrom
+
+p_mouse_init:
+	ncall p_mouse_setting_config,wake
+	call p_mouse_spi_init
+	rtn wake
+	call p_mouse_cb_fuction
+	call p_mouse_check_key_gpio
+	beq MOUSE_LM_BUTTON,p_mouse_24g_pairing_button
+	call p_mouse_wakeup_from_power
+p_mouse_check_reconn_target:
+	call p_mouse_tx_power_init
+	fetch 1,mem_device_flag
+	beq MODE_24G_DEVICE,p_mouse_connect_24g_mode
+	beq 0xff,p_mouse_connect_24g_mode
+p_mouse_check_bt_reconn_target:
+	call p_mouse_mode_bt_device1_multi_led_on
+	fetch 1,mem_xrecord_mode
+	beq REC_4_MODE,p_mouse4_0_check_reconn_target
+
+	//enter hibernate if it is in its factory state
+p_mouse_null_enter_hibernate_enable:	//ble never connected
+	jam 1,mem_mouse_null_enter_hibernate_flag
+	jam 40,mem_mouse_null_enter_hibernate_timer	//lmr 3s
+	rtn
+
+p_mouse_tx_power_init:
+	fetch 1,mem_tx_power_temp
+	store 1,mem_tx_power
+	rtn
+
+p_mouse_connect_24g_mode:
+	call p_mouse_mode_24g_device_multi_led_on
+	call p_mouse_store_24g_device_2eeprom
+p_mouse_start_24g_mode:
+//	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+//	rtnbit0 MOUSE_ENABLE_24G
+	call p_g24_factory_check
+	branch p_g24_auto_pair_start,user
+p_g24_start_24g_mode:
+	set1 mark_24g,mark
+	fetch 1,mem_g24_conn_sm
+	set1 STATE_24G_RECONN,pdata
+	store 1,mem_g24_conn_sm
+	call p_g24_ch_syncword_crc8_init
+	branch p_g24_auto_pair_timeout_init
+
+
+
+p_mouse4_0_check_reconn_target:
+//	call p_mouse_mode_bt_device1_multi_led_on
+//	call p_mouse_mode_bt_device1_led_blink
+	jam 1,mem_le_send_security_request_flag
+	jam 1,mem_mouse_le_reconnect_flag
+	fetch 2,mem_mouse_direct_timeout
+	fetcht 1,mem_mouse_fast_conn_flag
+	sub temp,0xff,null
+	nbranch p_mouse4_0_check_reconn_target_next,zero
+	setarg 0x0258								//ble fast conn time 1min
+p_mouse4_0_check_reconn_target_next:
+	store 2,mem_mouse_direct_timer
+	call app_lpm_mult_disable
+	call p_le_check_adv_flag
+	setarg ADV_FLAG_BREDR_NOT_SUPPORTED
+	istore 1,contr
+
+	arg mem_le_scan_data,contr
+	call p_le_adv_data_update
+	
+	branch check_51cmd_adv
+
+p_le_check_adv_flag:
+	arg mem_le_adv_data,rega
+p_le_check_adv_flag_loop:
+	ifetch 1,rega	//length
+	rtn blank
+	iadd contr,rega
+	ifetch 1,contr	//type
+	rtneq 0x01
+	branch p_le_check_adv_flag_loop
+
+p_mouse_24g_pairing_button:
+//	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+//	rtnbit0 MOUSE_ENABLE_24G
+//	rtnbit1 MOSUE_24G_PAIRING_FLAG
+
+	fetch 1,mem_g24_conn_sm
+	bbit1 STATE_24G_RECONN,p_mouse_24g_pairing_button_next
+	rtnmark1 mark_24g
+p_mouse_24g_pairing_button_next:
+//	call mouse_devce_led_off
+	arg MOSUE_24G_PAIRING_FLAG,queue
+	call mouse_enable_function_flag
+	setarg 0
+	store 2,mem_mouse_direct_timer
+	store 1,mem_mouse_send_blank_timer
+	store 2,mem_24g_check_dongle_times
+	call mouse_stop_discovery
+	jam MODE_24G_DEVICE,mem_device_flag
+//	branch p_g24_auto_pair_start
+p_g24_auto_pair_start:
+	set1 mark_24g,mark
+	fetch 1,mem_g24_conn_sm
+	set1 STATE_24G_PAIR,pdata
+	store 1,mem_g24_conn_sm
+p_g24_auto_pair_timeout_init:
+	setarg G24_DISCONN_NODATA_TIMER
+	store 2,mem_g24_stop_g24_mode_timeout
+	jam 0,mem_g24_stop_g24_mode
+	rtn
+	
+p_g24_start_pairing_sm1:
+	set1 mark_24g,mark
+	call p_g24_pair_init
+p_g24_set_pairing_sm_1:
+	jam STATE_24G_PAIRING_1,mem_24g_pairing_sm
+	rtn
+
+p_mouse_spi_init:
+	jam 0x76,mem_spi_init_clk
+	branch mouse_spi_init
+	
+p_mouse_init_sunt:
+	call p_mouse_spi_init
+	call mouse_spi_sdio_gpio_pollup
+//	fetch 1,mem_config_sensor_type
+//	beq P3610,mouse_init_3610sensor
+p_mouse_init_sensor:
+	call mouse_read_sensor_id
+	beq P32XX_ID1,p_mouse_init_p32xx_id2_judge
+	beq P3065_ID1,p_mouse_p3065_init_param
+	call mouse_twspi_reset
+	nop 1000
+	branch p_mouse_init_sensor
+
+p_mouse_init_sensor_reset:
+	jam 1,mem_mouse_init_sensor_reset_flag
+	call spi_ncs_enable
+	call p_mouse_init_sunt
+	branch spi_ncs_disable
+
+p_mouse_init_p32xx_id2_judge:
+	call p_mouse_sensor_poweron
+	branch mouse_init_p32xx_id2_judge
+
+p_mouse_p3065_init_param:
+	call p_mouse_sensor_poweron
+	fetch 1,mem_sensor_id2
+	beq P3065_XY_ID2,mouse_p3065xy_init_param
+	jam P3065,mem_config_sensor_type
+	rtn
+
+p_mouse_setting_config:
+	fetch 4,mem_lap
+	store 4,mem_24g_device_addr
+	//disable usb function
+//	hfetch 1,core_usb_config
+//	set0 4,pdata
+//	hstore 1,core_usb_config
+	call mouse_gpio_init
+	call mouse_param_init
+	setarg 0
+	store 2,mem_lpm_interval
+	call adc_init_data
+	call mouse_adc_init
+	call le_set_config_fixed_ltk
+	call le_set_justwork
+	call le_set_fixed_ltk
+	call le_set_config_read_authentication
+//	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+//	bbit1 MOUSE_ENABLE_EEPROM,p_mouse_init_iic
+//	bbit1 MOUSE_ENABLE_FLASH,p_mouse_load_flash_info_cheak
+//	rtn
+p_mouse_init_iic:
+	call iic_init_390k
+//	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+//	isolate1 MOUSE_ENABLE_2K_EEPROM,pdata
+	call clear_eeprom_size_2k
+	call mouse_load_eeprom_dpi
+	call p_mouse_init_environment
+	call p_mouse_set_24g_addr_eeprom
+	call iicd_read_eep_data
+	arg 3,loopcnt
+	arg mem_device1_addr,contr
+	call p_pdata_0xff_check
+	nbranch p_mouse_le_fast_conn_disable,user
+	call p_mouse_fast_conn_init
+	rtn
+
+p_mouse_le_fast_conn_disable:
+	jam 0x5a,mem_mouse_fast_conn_flag
+	rtn
+
+p_mouse_fast_conn_init:
+	jam 0xff,mem_mouse_fast_conn_flag
+	jam 0x34,mem_xrecord_mode
+	setarg 0x0f0f0f
+	store 3,mem_le_lap
+	store 3,mem_le_lap+3
+	rtn	
+
+
+
+p_mouse_init_environment:
+	call app_initflag_check
+	branch p_mouse_eeprom_load_recon_info,zero
+	call p_le_addr_random_config
+	branch mouse_init_environment+2
+
+p_app_flag_store:
+	arg 2,temp
+	arg mem_timeup,rega
+	arg MOUSE_EEPROM_MODULE_INIT_FLAG,regb
+	branch iicd_write_protect_eep_data
+
+p_app_initflag_check:
+	arg 2,temp
+	arg mem_pdatatemp,rega
+	arg MOUSE_EEPROM_MODULE_INIT_FLAG,regb
+	branch app_initflag_check+4
+
+p_mouse_eeprom_load_recon_info:
+	arg 88,temp
+	arg mem_device_flag,rega
+	arg MOUSE_INFO_EEPROM_OFFECT,regb
+	call iicd_read_eep_data
+	call p_mouse_switch_Hwakeup_byPB
+	branch mouse_select_reconn_device
+
+p_mouse_wakeup_from_power:
+//	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+//	bbit0 MOUSE_ENABLE_WAKEUP_FROM_POWER,p_mouse_wakeup_no_from_power
+//	fetch 1,mem_wakup_from_power_flag
+//	isolate0 gpio_latch,pdata
+//	nbranch p_mouse_wakeup_no_from_power,true
+	call p_mouse_init_sunt
+	call p_mouse_sensor_powerdown
+p_mouse_wakeup_no_from_power:
+//	fetch 1,mem_reconn_times_init
+	jam 0,mem_reconn_times
+	rtn
+	
+p_g24_factory_check:
+	arg 2,loopcnt
+	arg mem_24g_addr,contr
+p_pdata_0xff_check:
+	call enable_user
+	setarg 0xffff
+p_pdata_0xff_check_loop:
+	ifetcht 2,contr
+	isub temp,null
+	ncall disable_user,zero
+	loop p_pdata_0xff_check_loop
+	rtn
+
+p_mouse_cb_fuction:
+	setarg p_mouse_g24_package_data
+	store 2,mem_cb_24g_data
+	setarg p_mouse_le
+	store 2,mem_cb_le_process
+	setarg p_le_mouse_bb_event_connect_complete
+	store 2,mem_cb_att_write
+	setarg p_mouse_before_lpm
+	store 2,mem_cb_before_lpm
+	setarg p_mouse_priority_bb_event
+	store 2,mem_cb_bb_event_process
+	setarg p_mouse_idle
+	store 2,mem_cb_idle_process
+	setarg p_mouse_before_hibernate
+	store 2,mem_cb_before_hibernate
+	setarg p_mouse_bb_event_timer
+	store 2,mem_cb_event_timer
+	rtn
+
+p_mouse_g24_package_data:
+	call mouse_g24_package_data
+	fetch 2,mem_mouse_z
+	rtn blank
+	branch p_g24_transmit_by_interrupt_enable
+	
+p_mouse_le_txbuff_save:
+	arg mem_le_tx_buffer0,contr
+	arg mem_le_tx_buffer0_omemalloc,contw
+	call p_mouse_le_txbuff_copy
+	arg mem_le_tx_buffer1,contr
+	call p_mouse_le_txbuff_copy
+	arg mem_le_tx_buffer2,contr
+	call p_mouse_le_txbuff_copy
+	arg mem_le_tx_buffer3,contr
+p_mouse_le_txbuff_copy:	
+	arg 27,loopcnt
+	branch memcpy
+
+p_mouse_le_txbuff_load:
+	arg mem_le_tx_buffer0_omemalloc,contr
+	arg mem_le_tx_buffer0,contw
+	call p_mouse_le_txbuff_copy
+	arg mem_le_tx_buffer1,contw
+	call p_mouse_le_txbuff_copy
+	arg mem_le_tx_buffer2,contw
+	call p_mouse_le_txbuff_copy
+	arg mem_le_tx_buffer3,contw
+	branch p_mouse_le_txbuff_copy
+
+p_mouse_le:
+	call le_fifo_check_nearly_full
+	nrtn blank
+	fetch 1,mem_mouse_fast_conn_flag
+	beq 0xff,p_mouse_le_next
+	fetch 1,mem_le_connect_status_flag
+	and pdata,0x03,pdata
+	rtnne 0x03
+p_mouse_le_next:	
+	fetch 1,mem_mouse_clear_sensor_data_flag
+	call p_mouse_clear_sensor_data,blank
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+//	bbit1 MOSUE_24G_PAIRING_FLAG,mouse_le_send_empty_packet
+//	bbit1 MOUSE_SELECT_DEVICE_FLAG,mouse_le_send_empty_packet
+	bbit1 MOUSE_BT_DISCOVERY_BUTTON_DOWN_FLAG,mouse_le_send_empty_packet
+	call mouse_motion
+	nrtn user
+	call p_mouse_le_current_mult_update
+	call p_mouse_data_xy_release
+	call p_mouse_wheel_trigger
+p_mouse_data_push:
+	arg mem_mouse_key,rega
+	call queue_push
+	call p_mouse_queue_increase,user
+	
+	rtn
+	
+p_mouse_le_current_mult_update:
+//	fetch 1,mem_config_function_enable
+//	rtnbit1 ENABLE_SENSOR_MOTION_PIN
+	jam 0,mem_lpm_mult
+	jam 30,mem_mouse_le_current_mult_timer
+	rtn	
+
+p_mouse_data_xy_release:
+//	fetch 1,mem_config_function_enable
+//	rtnbit1 ENABLE_SENSOR_MOTION_PIN
+	fetch 1,mem_mouse_long_mult_flag
+	rtnne 1
+	setarg 0
+	store 1,mem_mouse_long_mult_flag
+	store 4,mem_mouse_x
+p_mouse_sensor_poweron:
+	setarg 0x8006	// reset to factory settings
+	call twspi_write
+	nop 12000
+p_mouse_dpi_config:
+	fetch 1,mem_mouse_dpi
+	bne 0xff,p_mouse_seting_dpi
+p_mouse_dpi_config_default:
+	fetch 1,mem_config_sensor_motion
+	store 1,mem_mouse_dpi
+//	branch p_mouse_seting_dpi
+p_mouse_seting_dpi:
+p_mouse_seting_dpi_diff:
+	fetch 1,mem_config_sensor_type
+	beq P3065_XY,p_mouse_seting_3065XY_dpi
+	branch mouse_seting_dpi+3
+
+p_mouse_seting_3065XY_dpi:
+	fetch 1,mem_mouse_dpi
+	call p_mouse_3065xy_dpi_recount,blank
+	fetch 1,mem_mouse_dpi
+	beq MOUSE_DPI_LEVEL2,p_mouse_3065_set_cpi1			//800
+	beq MOUSE_DPI_LEVEL4,mouse_set_cpi3				//1600
+	branch mouse_set_cpi2								//1300
+p_mouse_3065xy_dpi_recount:
+	jam MOUSE_DPI_LEVEL2,mem_mouse_dpi
+	rtn
+p_mouse_3065_set_cpi1:	
+	jam 0,mem_mouse_cpi_count
+	branch mouse_p3205_dpi+3
+	
+p_mouse_data_init:
+	jam 7,mem_mouse_data_queue	//data length
+	jam 4,mem_mouse_data_queue+1	//fifo depth
+	setarg mem_mouse_data_queue
+	store 2,mem_queue_ptr
+	branch queue_init
+
+p_mouse_queue_increase:
+	fetch 1,mem_mouse_data_queue_num
+	increase 1,pdata
+	store 1, mem_mouse_data_queue_num
+	rtn
+	
+p_mouse_data_pull:
+	arg mem_mouse_key,rega
+	call queue_pop
+	branch p_mouse_fill_data_le,user
+	rtn
+
+p_mouse_fill_data_le:
+	call le_clear_md
+	fetch 1,mem_mouse_data_queue_num
+	sub pdata,1,null
+	ncall le_set_md,positive
+	fetch 1,mem_mouse_data_queue_num
+	rtn blank
+	increase -1,pdata
+	store 1, mem_mouse_data_queue_num
+	branch mouse_fill_data_le
+
+p_mouse_wheel_trigger:
+	fetch 2,mem_mouse_z
+	rtn blank
+	jam 1,mem_mouse_wheel_trigger
+	jam 2,mem_mouse_wheel_trigger_timer
+	rtn
+
+	
+p_mouse_clear_sensor_data:
+	call le_set_config_more_data
+	jam 1,mem_mouse_clear_sensor_data_flag
+	branch p_mouse_sensor_poweron
+
+p_mouse_idle:
+	call ui_check_paring_button
+//	call p_mouse_dpi_check
+	branch mouse_wheel_check
+
+//p_mouse_dpi_check:
+//	fetcht 1,mem_dpi_button_gpio
+//	call p_gpio_set_input_pd
+//	fetcht 1,mem_dpi_button_gpio
+//	call gpio_get_bit
+//	branch p_mouse_dpi_up,true
+//	call p_gpio_set_input_pu
+//	branch mouse_dpi_down
+//p_mouse_dpi_down:
+//	fetch 1,mem_mouse_dpi_button_state
+//	rtneq DPI_BUTTON_STATE_DOWN
+//	jam DPI_BUTTON_STATE_DOWN,mem_mouse_dpi_button_state
+//	fetch 1,mem_mouse_dpi
+//	increase 1,pdata
+//	and pdata,0x03,pdata
+//	store 1,mem_mouse_dpi
+//	increase 2,pdata
+//	store 1,mem_mouse_multi_led_blink_count
+//	call p_mouse_dpi_multi_led_blink
+//	branch mouse_dpi_down+7
+//p_mouse_dpi_up:
+//	call p_gpio_set_input_pu
+//	branch mouse_dpi_up
+
+
+p_mouse_priority_bb_event:
+	copy regc,pdata
+	beq BT_EVT_LE_CONNECTED,p_mouse_le_bb_event_connected
+	beq BT_EVT_LE_DISCONNECTED,p_mouse_le_bb_disconnected
+	beq BT_EVT_LE_ENC_INFO,p_mouse_le_enc_info
+	beq BT_EVT_LE_START_ENC,p_mouse_le_ll_start_encryt
+	beq BT_EVT_LE_PARSE_CONN_PAPA_UPDATE_RSP,p_mouse_le_conn_param_update_rsp_recieved
+	beq BT_EVT_24G_PAIRING_COMPLETE,p_mouse_24g_pairing_complete
+	beq BT_EVT_24G_ATTEMPT_FAIL,p_mouse_24g_attempt_fail
+	beq BT_EVT_24G_ATTEMPT_SUCCESS,p_mouse_24g_attempt_success
+	branch mouse_priority_bb_event+1
+
+p_mouse_le_bb_event_connected:
+	jam 1,mem_mouse_le_bb_connected_flag
+	fetch 1,mem_mouse_le_reconnect_flag
+	nbranch p_mouse_le_bb_event_connected_next,blank
+	jam 0x14,mem_mouse_send_secutiry_request_timer
+p_mouse_le_bb_event_connected_next:
+	call p_mouse_init_sensor_reset
+	call p_mouse_null_enter_hibernate_disable
+	call p_mouse_data_init
+	branch mouse_le_bb_event_connected
+
+p_mouse_le_bb_disconnected:
+	jam 0,mem_mouse_le_bb_connected_flag
+	call p_mouse_sensor_powerdown_check
+	setarg LE_INTERVAL_8_75MS
+	store 2,mem_le_interval_min
+	store 2,mem_le_interval_min+2
+	jam LE_LPM_ENABLE,mem_mouse_le_conn_param_reject
+	jam 0,mem_mouse_clear_sensor_data_flag
+	call p_mouse_data_init
+	call le_clr_config_more_data
+	branch mouse_bb_disconnected
+
+p_mouse_le_enc_info:
+p_app_updata_le_param:
+	jam BT_CMD_LE_UPDATE_CONN,mem_fifo_temp
+	branch ui_ipc_send_cmd
+
+p_mouse_le_ll_start_encryt:
+	fetch 1,mem_mouse_le_reconnect_flag
+	beq 1,p_mouse_le_ll_reconn_start_encryt
+	branch p_mouse_le_ll_enable_start_enc_flag
+
+p_mouse_le_ll_reconn_start_encryt:
+	call p_app_updata_le_param
+	jam 20,mem_le_start_encrypt_timer
+p_mouse_le_ll_enable_start_enc_flag:
+	arg LL_START_ENC_FLAG,queue
+	branch mouse_le_enable_connect_flag
+
+p_mouse_le_conn_param_update_rsp_recieved:
+	fetch 2,mem_le_l2cap_signaling_conn_param_update_rsp_result
+	rtneq BLE_SIGNALING_CONNECT_PARAMETER_UPDATE_ACCEPTED
+	fetch 1,mem_le_tsniff
+	rshift2 pdata,pdata
+	sub pdata,LE_INTERVAL_15MS,null
+	rtn positive
+	setarg LE_INTERVAL_11_25MS
+	store 2,mem_le_interval_min
+	store 2,mem_le_interval_min+2
+	call p_app_updata_le_param
+p_mouse_le_conn_param_lpm_disable:
+	jam LE_LPM_DISABLE,mem_mouse_le_conn_param_reject
+	rtn
+
+
+
+p_mouse_24g_pairing_complete:
+	call p_g24_auto_pair_timeout_clear
+	call p_mouse_init_sensor_reset
+	jam 1,mem_mouse_24g_enter_lpm_enable
+	arg MOSUE_24G_PAIRING_FLAG,queue
+	call mouse_disable_function_flag
+	setarg 0
+	store 2,mem_24g_pairing_timer_count
+	jam 0,mem_mouse_move_flag
+	
+	call mouse_read_sensor_common
+	call p_mouse_null_enter_hibernate_disable
+	call p_mouse_store_24g_device_2eeprom
+	call p_mouse_tx_power_init
+
+	call p_mouse_set_24g_addr_eeprom	//store rx dongle addr to eeprom
+	branch iicd_write_protect_eep_data
+
+p_mouse_set_24g_addr_eeprom:
+	arg mem_24g_addr,rega
+	arg MOUSE_G24_ADDR_EEPROM_OFFECT,regb
+	arg 4,temp
+	rtn
+
+p_mouse_24g_attempt_fail:
+	call p_mouse_sensor_powerdown_check
+	jam G24_TX_TIMER_INT_DISABLE,mem_24g_transmit_by_interrupt
+	call p_mouse_tx_power_init
+	call p_g24_check_51cmd_stop_24g
+p_app_enter_hibernate_before_check:
+	fetch 1,mem_mouse_multi_led_on_poweron2s_flag
+	nbranch p_mouse_null_enter_hibernate_enable,blank
+	branch app_enter_hibernate
+
+p_mouse_null_enter_hibernate_disable:	//ble never connected
+	jam 0,mem_mouse_null_enter_hibernate_flag
+	jam 0,mem_mouse_null_enter_hibernate_timer	//lmr 3s
+	rtn
+
+p_mouse_24g_attempt_success:
+	call p_g24_auto_pair_timeout_clear
+	call p_mouse_init_sensor_reset
+	call mouse_no_data_timer_init
+	call p_mouse_null_enter_hibernate_disable
+p_mouse_store_24g_device_2eeprom:
+	call mouse_cheak_select_24gdevice
+p_mouse_store_device_number2eeprom:
+	arg 1,temp
+	arg mem_device_flag,rega
+	arg 0,regb
+	branch iicd_write_protect_eep_data
+
+
+p_mouse_before_hibernate:
+	enable user
+	hfetch 4,0x8138
+	setflag user,26,pdata
+	hstore 4,core_lpm_reg
+	call lpm_write_ctrl
+	call p_mouse_sensor_powerdown_check
+	call disable_authrom
+	call mouse_devce_led_off
+	call mouse_before_hibernate_wheel_gpio_set
+	branch mouse_lpm_before_common
+	
+p_mouse_sensor_powerdown_check:
+	fetch 1,mem_mouse_init_sensor_reset_flag
+	rtn blank
+	jam 0,mem_mouse_init_sensor_reset_flag
+//	branch p_mouse_sensor_powerdown
+p_mouse_sensor_powerdown:
+	setarg 0x06
+	call twspi_read
+	or pdata,0x08,pdata
+	lshift8 pdata,pdata
+	add pdata,0x06,pdata
+	branch twspi_write	//make sdio high
+
+p_mouse_bb_event_timer:
+	call p_mouse_adc_read
+	call p_mouse_low_voltage_led_timer
+	call p_mouse_wheel_trigger_timer
+	call p_mouse_null_enter_hibernate_timer
+	call p_mouse_bt_discovery_check
+	call p_mouse_select_device
+	call mouse_check_discovery_timeout_timer
+	call p_mouse_24g_long_sleep_param_update_timer
+	call p_mouse_g24_pair_timeout_timer
+	call mouse_check_direct_timeout_timer
+	call p_mouse_le_enable_att_list_timer
+	call p_mouse_le_current_mult_update_timer
+	call p_le_send_smp_security_request_timer
+	call p_mouse_multi_led_blink_timer
+	branch mouse_check_no_data_timeout_timer
+
+
+p_mouse_24g_long_sleep_param_update_timer:
+	arg mem_24g_long_sleep_param_update_timer,regc
+	arg p_mouse_24g_long_sleep_normal_param,regb
+	branch timer_single_step
+p_mouse_24g_long_sleep_normal_param:
+	setarg G24_LONG_SLEEP_STEP2
+	store 3,mem_24g_enter_hibernate
+p_mouse_long_mult_flag_enable:	
+	jam 1,mem_mouse_long_mult_flag
+	rtn
+
+p_mouse_g24_pair_timeout_timer:
+	arg mem_g24_stop_g24_mode_timeout,regc
+	arg p_mouse_g24_pair_timeout,regb
+	branch timer_single_step_2B
+p_mouse_g24_pair_timeout:
+	jam 1,mem_g24_stop_g24_mode
+	call p_mouse_discovey_led_blink_off
+	call p_mouse_sensor_powerdown
+	branch p_mouse_null_enter_hibernate_enable
+	
+
+
+p_mouse_le_enable_att_list_timer:
+	arg mem_le_start_encrypt_timer,regc
+	arg mouse_le_write_enable,regb
+	branch timer_single_step
+
+p_mouse_le_current_mult_update_timer:
+	arg mem_mouse_le_current_mult_timer,regc
+	arg p_mouse_le_current_mult_reinit,regb
+	branch timer_single_step
+p_mouse_le_current_mult_reinit:
+	fetch 1,mem_lpm_mult_init
+	store 1,mem_lpm_mult
+	branch p_mouse_long_mult_flag_enable
+
+p_le_send_smp_security_request_timer:
+	fetch 1,mem_mouse_le_bb_connected_flag
+	rtn blank
+	arg mem_mouse_send_secutiry_request_timer,regc
+	arg p_le_pairing_sm_start_check,regb
+	branch timer_single_step
+
+p_le_pairing_sm_start_check:
+	fetch 1,mem_le_send_security_request_flag
+	nrtn blank
+	branch le_pairing_sm_start	
+
+p_mouse_wheel_trigger_timer:
+	arg mem_mouse_wheel_trigger_timer,regc
+	arg p_mouse_wheel_trigger_disable,regb
+	branch timer_single_step
+p_mouse_wheel_trigger_disable:
+	jam 0,mem_mouse_wheel_trigger
+	rtn
+
+p_mouse_bt_discovery_check:
+p_mouse_bt_discovery_by_button:
+	fetcht 1,mem_config_bt_button_gpio
+	call gpio_get_bit
+	branch p_mouse_bt_discovery_commbination_key_down,true
+p_mouse_bt_discovery_commbination_key_up:
+	call mouse_bt_discovery_commbination_key_up
+	arg MOUSE_BT_DISCOVERY_BUTTON_LONG_DOWN_FLAG,queue
+	branch mouse_disable_function_flag
+	
+p_mouse_bt_discovery_commbination_key_down:
+	jam 40,mem_mouse_null_enter_hibernate_timer
+	call p_mouse_bt_discovery_timer
+	branch mouse_bt_discovery_commbination_key_down+1
+
+p_mouse_bt_discovery_timer:
+	arg mem_combination_ui_button_count,regc
+	arg p_mouse_long_button_bt_discovery,regb
+	branch timer_single_step
+	
+p_mouse_long_button_bt_discovery:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit1 MOUSE_BT_DISCOVERY_BUTTON_LONG_DOWN_FLAG
+	jam 0,mem_mouse_long_button_select_device
+	call p_mouse_store_device_mode_2eeporm
+	fetch 2,mem_ui_state_map
+	isolate1 UI_STATE_BLE_ADV,pdata
+	call mouse_stop_le_adv,true		//reconnect adv
+	fetch 2,mem_ui_state_map
+	isolate1 UI_STATE_BT_RECONNECT,pdata
+	call mouse_cancel_reconnect,true
+	arg MOUSE_BT_DISCOVERY_BUTTON_LONG_DOWN_FLAG,queue
+	call mouse_enable_function_flag
+	branch mouse_long_button_bt_discovry
+
+p_mouse_null_enter_hibernate_timer:
+	fetch 1,mem_mouse_null_enter_hibernate_flag
+	rtn blank
+	fetch 1,mem_mouse_multi_led_blink_count
+	nrtn blank
+	arg mem_mouse_null_enter_hibernate_timer,regc
+	arg p_mouse_null_enter_hibernate,regb
+	branch timer_single_step	
+
+p_mouse_null_enter_hibernate:
+	jam 0,mem_mouse_null_enter_hibernate_flag
+	branch app_enter_hibernate
+
+p_mouse_select_device:
+p_mouse_select_device_by_button:
+	fetcht 1,mem_config_select_device_button_gpio
+	call p_gpio_set_input_pu
+	fetcht 1,mem_config_select_device_button_gpio
+	call gpio_get_bit	
+	branch p_mouse_select_device_button_down,true
+p_mouse_select_device_button_up:
+//	fetch 1,mem_mouse_button_select_device_timer_init
+//	store 1,mem_mouse_button_select_device_count
+	fetch 1,mem_mouse_select_device_button_wakeup_flag	
+	nbranch p_mouse_select_button_wakeup_firstUp,blank
+	fetch 1,mem_select_device_button_statue
+	rtneq DPI_BUTTON_STATE_UP
+	jam DPI_BUTTON_STATE_UP,mem_select_device_button_statue
+	jam ON,mem_mouse_multi_led_blink_enable
+	arg 1,temp
+	arg mem_mouse_long_button_select_device,rega
+	arg MOUSE_DEVICE_MODE_EEPROM_OFFSET,regb
+	call iicd_read_eep_data
+	fetch 1,mem_mouse_long_button_select_device
+	branch p_mouse_select_device_and_reset,blank//rtn blank
+p_mouse_ready_reconnection_by_button:
+	call p_mouse_switch_device_flag
+	jam 0,mem_link_key_exists
+	call p_mouse_store_device_number2eeprom
+	call mouse_select_device_enable
+	branch mouse_set_reconnection
+
+p_mouse_switch_device_flag:
+	fetcht 1,mem_device_flag
+	increase 1,temp
+	fetch 1,mem_device_number
+	isub temp,null
+	ncall mouse_select_device_count_clean,positive
+	storet 1,mem_device_flag
+	rtn
+
+p_mouse_select_device_button_down:
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BLE_ADV,p_mouse_select_device_button_down_next
+	jam OFF,mem_mouse_multi_led_blink_enable
+p_mouse_select_device_button_down_next:
+	fetch 1,mem_select_device_button_statue
+	rtneq DPI_BUTTON_STATE_DOWN
+	jam DPI_BUTTON_STATE_DOWN,mem_select_device_button_statue
+
+	fetch APP_DISC_RSN_SIZE,mem_app_disconn_reason
+	rtnbit1 APP_DISC_PB_BUTTON
+
+	fetch 1,mem_device_flag
+	rtnne MODE_BT_DEVICE1
+p_mouse_pb_button_2ble_disconnect:
+	fetch APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	set1 APP_DISC_PB_BUTTON,pdata
+	store APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	branch mouse_disconnect
+		
+p_mouse_select_button_wakeup_firstUp:
+	jam 0,mem_mouse_select_device_button_wakeup_flag	//when waked from hibernate by PB key ,first key up does not change mode 
+	fetch 1,mem_select_device_button_statue
+	nbranch p_mouse_check_reconn_target,blank
+	jam DPI_BUTTON_STATE_UP,mem_select_device_button_statue
+	jam ON,mem_mouse_multi_led_blink_enable
+	rtn
+
+p_mouse_select_device_and_reset:
+	jam 0xff,mem_mouse_long_button_select_device
+//	branch p_mouse_store_device_mode_2eeporm
+p_mouse_store_device_mode_2eeporm:
+	arg 1,temp
+	arg mem_mouse_long_button_select_device,rega
+	arg MOUSE_DEVICE_MODE_EEPROM_OFFSET,regb
+	branch iicd_write_protect_eep_data
+	
+p_mouse_multi_led_blink_timer:
+	fetch 1,mem_mouse_multi_led_blink_enable
+	rtn blank
+	fetch 1,mem_mouse_multi_led_type
+	beq MULTI_LED_ON,p_mouse_multi_led_type_on
+	beq MULTI_LED_BLINK,p_mouse_multi_led_type_blink
+	rtn
+
+p_mouse_multi_led_type_on:
+	call p_mouse_multi_led_on
+	fetch 1,mem_mouse_multi_led_on_timer
+	increase 1,pdata
+	store 1,mem_mouse_multi_led_on_timer
+	fetcht 1,mem_mouse_multi_led_on_timer_init
+	isub temp,null
+	call p_mouse_multi_led_off_poweron2s,zero
+	rtn
+p_mouse_multi_led_off_poweron2s:
+	jam 0,mem_mouse_multi_led_on_poweron2s_flag
+	branch p_mouse_multi_led_off
+
+p_mouse_multi_led_type_blink:
+	fetch 1,mem_mouse_multi_led_blink_timer
+	increase -1,pdata
+	store 1,mem_mouse_multi_led_blink_timer
+	nrtn blank
+	fetch 1,mem_mouse_multi_led_blink_timer_init
+	store 1,mem_mouse_multi_led_blink_timer
+//	fetch 1,mem_mouse_multi_led_blink_count_limited
+//	branch p_mouse_multi_led_blink_count_no_limited,blank
+//	fetch 1,mem_mouse_multi_led_blink_count
+//	branch p_mouse_multi_led_blink_off,blank
+//	increase -1,pdata
+//	store 1,mem_mouse_multi_led_blink_count
+p_mouse_multi_led_blink_count_no_limited:
+	fetch 1,mem_mouse_multi_led_state
+	beq ON,p_mouse_multi_led_off
+	beq OFF,p_mouse_multi_led_on
+	rtn
+
+p_mouse_multi_led_on:
+	jam ON,mem_mouse_multi_led_state
+	fetch 1,mem_device_flag
+	beq MODE_24G_DEVICE,p_mouse_multi_down_led_on
+p_mouse_multi_up_led_on:
+	fetcht 1,mem_mouse_multi_led_gpio
+	call gpio_config_output 
+	fetcht 1,mem_mouse_multi_led_gpio 
+	call gpio_out_inactive
+	branch p_mouse_lvd_led_on
+p_mouse_multi_down_led_on:
+	fetcht 1,mem_24g_led_gpio 
+	call gpio_config_output 
+	fetcht 1,mem_24g_led_gpio
+	call gpio_out_inactive
+p_mouse_lvd_led_on:
+	fetch 2,mem_ui_state_map
+	rtnbit1 UI_STATE_BLE_ADV
+
+	fetcht 1,mem_lvd_led_gpio 
+	call gpio_config_output 
+	fetcht 1,mem_lvd_led_gpio
+	branch gpio_out_inactive
+
+p_mouse_multi_led_blink_off:
+	setarg 0
+	store 3,mem_mouse_multi_led_blink_timer
+p_mouse_multi_led_off:
+	fetch 1,mem_mouse_multi_led_blink_count
+	nbranch p_mouse_multi_led_off_wait_blink_over,blank
+	jam 0,mem_mouse_multi_led_blink_enable
+	jam 0,mem_mouse_multi_led_type
+p_mouse_multi_led_off_wait_blink_over:
+	jam 0,mem_mouse_multi_led_on_timer
+	jam OFF,mem_mouse_multi_led_state
+	fetcht 1,mem_mouse_multi_led_gpio
+	call gpio_config_output 
+	fetcht 1,mem_mouse_multi_led_gpio 
+	call gpio_out_active
+	fetcht 1,mem_24g_led_gpio
+	call gpio_config_output 
+	fetcht 1,mem_24g_led_gpio 
+	call gpio_out_active
+	fetcht 1,mem_lvd_led_gpio
+	call gpio_config_output 
+	fetcht 1,mem_lvd_led_gpio 
+	branch gpio_out_active
+
+
+p_mouse_mode_bt_device1_multi_led_on:
+p_mouse_mode_24g_device_multi_led_on:
+	jam 1,mem_mouse_multi_led_on_poweron2s_flag
+	jam ON,mem_mouse_multi_led_blink_enable
+	jam MULTI_LED_ON,mem_mouse_multi_led_type
+	jam 0,mem_mouse_multi_led_on_timer
+	rtn
+
+//p_mouse_mode_bt_device_blink_5s:
+//p_mouse_mode_24g_device_blink_5s:
+//	jam 10,mem_mouse_multi_led_blink_count
+//	branch p_mouse_dpi_multi_led_blink
+//p_mouse_mode_bt_device1_led_blink:
+//	jam 5,mem_mouse_multi_led_blink_timer_init	//500ms
+//	branch p_mouse_discovery_multi_led_blink2
+
+
+p_mouse_discovery_multi_led_blink:
+	jam 3,mem_mouse_multi_led_blink_timer_init	//300ms
+p_mouse_discovery_multi_led_blink2:
+//	jam 0,mem_mouse_multi_led_blink_count_limited
+	jam 1,mem_mouse_multi_led_blink_count//0 will clear mem_mouse_multi_led_blink_enable/mem_mouse_multi_led_type
+p_mouse_multi_led_blink_enable:
+	jam 1,mem_mouse_multi_led_blink_timer
+	jam ON,mem_mouse_multi_led_blink_enable
+	jam MULTI_LED_BLINK,mem_mouse_multi_led_type
+	rtn
+
+p_mouse_discovey_led_blink_off:
+	jam 0,mem_mouse_multi_led_blink_count
+	fetch 1,mem_mouse_multi_led_on_timer
+	nrtn blank
+	fetch 1,mem_mouse_multi_led_on_poweron2s_flag
+	nrtn blank
+	branch p_mouse_multi_led_blink_off
+		
+//p_mouse_dpi_multi_led_blink:
+//	jam 5,mem_mouse_multi_led_blink_timer_init	//500ms
+//	jam 1,mem_mouse_multi_led_blink_count_limited
+//	branch p_mouse_multi_led_blink_enable
+
+	
+
+p_mouse_adc_read:
+//	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+//	rtnbit0 MOUSE_ENABLE_ADC
+	fetch 2,mem_mouse_multi_led_blink_count
+	nrtn blank
+
+	arg mem_adc_read_timer,regc	//1s read adc
+	arg p_mouse_adc_read_timeout,regb
+	branch timer_single_step
+p_mouse_adc_read_timeout:	
+	jam 10,mem_adc_read_timer
+	call p_adc_set_mode
+	call vdd_calculate_by_mode
+
+//	call ice_break
+
+	mul32 pdata,2,pdata
+	arg 0x0e,temp
+	isub temp,pdata
+	sub pdata,0x78,null
+	call p_mouse_voltage_sub1,positive
+
+	sub pdata,0x64,null
+	call p_mouse_voltage_sub2,positive
+
+	store 2,mem_mouse_vdd_now_vol
+	arg mem_mouse_vdd_calculate_set,rega
+	call p_adc_bat_percent_lowpower_out
+	fetch 1,mem_adc_power_flag
+	bbit1 1,app_enter_hibernate
+	bbit0 0,p_mouse_adc_no_low_voltage
+	jam 1,mem_mouse_adc_last_low_voltage_flag
+	branch mouse_adc_low_voltage
+p_mouse_adc_no_low_voltage:
+	call mouse_adc_no_low_voltage
+	fetch 1,mem_mouse_adc_last_low_voltage_flag
+	rtn blank
+	jam 0,mem_mouse_adc_last_low_voltage_flag
+	branch p_mouse_multi_led_off
+
+p_mouse_voltage_sub1:
+	arg 0x08,temp
+	isub temp,pdata
+	rtn
+
+p_mouse_voltage_sub2:
+	arg 0x06,temp
+	isub temp,pdata
+	rtn
+
+	
+p_adc_set_mode:
+	fetch 1,mem_adc_config_flag
+	beq ADC_CONFIG_GPIO,p_adc_check_gpio
+	branch adc_set_mode+1
+p_adc_check_gpio:
+	fetcht 1,mem_select_adc_gpio
+	call gpio_config_input
+	hfetch 1,core_gpio_pd0	//gpio5 pull down disable
+	set0 5,pdata
+	hstore 1,core_gpio_pd0
+	
+	hfetch 1,core_gpio_pu0	//gpio5 pull up disable
+	set0 5,pdata
+	hstore 1,core_gpio_pu0
+	branch adc_check_gpio
+
+p_adc_bat_percent_lowpower_out:
+	ifetch 8,rega
+	store 8,mem_pdatatemp
+	fetcht 2,mem_pdatatemp+2	//shutdown voltage 0.9v
+	fetch 2,mem_pdatatemp+6		//now voltage
+	isub temp,null
+	nbranch adc_set_no_power_flag,positive
+	fetcht 2,mem_pdatatemp+4	//low voltage 1.0v
+	isub temp,null
+	nbranch adc_set_low_power_flag,positive
+p_adc_clear_low_power_flag:
+	fetch 1,mem_adc_power_flag
+	set0 0,pdata
+	store 1,mem_adc_power_flag
+	rtn	
+	
+p_mouse_low_voltage_led_timer:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit0 MOUSE_LOW_VOLTAGE_FLAG
+	fetch 2,mem_ui_state_map
+	rtnbit1 UI_STATE_BLE_ADV
+	//rtnbit1 UI_STATE_BT_DISCOVERY
+	fetch 2,mem_mouse_multi_led_blink_count
+	nrtn blank
+	
+	fetch 1,mem_adc_low_volatage_led_timer_count
+	pincrease 1
+	store 1,mem_adc_low_volatage_led_timer_count
+	beq 5,p_mouse_lvd_led_on
+	sub pdata,10,null
+	nbranch p_mouse_adc_low_volatage_led_timer_count_clean,positive
+	rtn
+p_mouse_adc_low_volatage_led_timer_count_clean:
+	jam 1,mem_adc_low_volatage_led_timer_count
+	branch p_mouse_multi_led_off
+	
+
+
+p_mouse_motion:
+	disable user
+	setarg 0
+	store 6,mem_mouse_x
+	call p_mouse_cheak_sensor_data
+	call mouse_zwheel
+	call mouse_t_zwheel
+	call p_mouse_key
+	nrtn user
+	branch mouse_motion+9
+
+
+p_mouse_cheak_sensor_data:
+//	fetch 1,mem_config_sensor_type
+//	beq P3212,p_mouse_p3212_sensor_motion
+//	beq P3610,mouse_p3610_sensor_motion
+p_mouse_p32xx_sensor_motion:
+	call mouse_clear_sensor_data
+	disable user
+	//fetch 1,mem_config_function_enable
+	//bbit0 ENABLE_SENSOR_MOTION_PIN,mouse_p32xx_sensor_motion_2
+	//fetcht 1,mem_sensor_data_gpio
+	//call gpio_get_bit
+	//nrtn true
+	branch mouse_p32xx_sensor_motion_2
+//p_mouse_p3212_sensor_motion:
+//	call mouse_clear_sensor_data
+//	fetch 1,mem_config_function_enable
+//	bbit0 ENABLE_SENSOR_MOTION_PIN,mouse_p3212_sensor_motion_1
+//	fetcht 1,mem_sensor_data_gpio
+//	call gpio_get_bit
+//	nrtn true
+//	branch mouse_p3212_sensor_motion_1
+
+p_mouse_key:
+	call p_mouse_check_key_gpio
+	branch mouse_key+1
+p_mouse_check_key_gpio:
+	arg 0,rega
+	call p_mouse_check_lkey_gpio
+//	call p_mouse_check_rkey_gpio
+//	call p_mouse_check_mkey_gpio
+	call p_mouse_check_skey_gpio
+	branch mouse_check_key_gpio+11
+	
+p_mouse_check_skey_gpio:
+//	fetch 1,mem_bk_button_gpio
+//	rtneq GPIO_DISABLE
+	call p_mouse_check_bk_key_gpio
+	branch p_mouse_check_fw_key_gpio
+	
+p_mouse_check_lkey_gpio:
+	fetcht 1,mem_lbutton_gpio
+	call p_gpio_set_input_pu
+	fetcht 1,mem_lbutton_gpio
+	call gpio_get_bit
+	setflag true,0,rega			//true = 1,input low level
+//	rtn
+p_mouse_check_rkey_gpio:
+	fetcht 1,mem_rbutton_gpio
+	call p_gpio_set_input_pu
+	fetcht 1,mem_rbutton_gpio
+	call gpio_get_bit
+	setflag true,1,rega			//true = 1,input low level
+//	rtn
+p_mouse_check_mkey_gpio:
+	fetcht 1,mem_mbutton_gpio
+	call p_gpio_set_input_pu
+	fetcht 1,mem_mbutton_gpio
+	call gpio_get_bit
+	setflag true,2,rega			//true = 1,input low level
+	rtn
+p_mouse_check_bk_key_gpio:
+	fetcht 1,mem_bk_button_gpio
+	call p_gpio_set_input_pd
+	fetcht 1,mem_bk_button_gpio
+	call gpio_get_bit
+	nsetflag true,3,rega
+	branch p_gpio_set_input_pu
+p_mouse_check_fw_key_gpio:
+	fetcht 1,mem_fw_button_gpio
+	call p_gpio_set_input_pd
+	fetcht 1,mem_fw_button_gpio
+	call gpio_get_bit
+	nsetflag true,4,rega
+	branch p_gpio_set_input_pu
+p_gpio_set_input_pd:
+	set0 gpio_active_bit,temp
+	arg core_gpio_pu0,contw
+	call gpio_set_bit
+	set1 gpio_active_bit,temp
+	arg core_gpio_pd0,contw
+	branch gpio_set_high_impedance+4
+p_gpio_set_input_pu:
+	set1 gpio_active_bit,temp
+	arg core_gpio_pu0,contw
+	call gpio_set_bit
+	set0 gpio_active_bit,temp
+	branch p_gpio_set_input_pd+4
+
+p_mouse_bb_disconnected:
+	jam 0,mem_mouse_enter_sniff_count
+	jam 0x0e,mem_sniff_param_interval	//115Hz
+	call mouse_bb_discon_clear_stack
+	fetch APP_DISC_RSN_SIZE,mem_app_disconn_reason
+	bbit1 APP_DISC_BLE,p_mouse4_0_event_bb_disconn
+	branch mouse_bb_disconnected+9
+
+p_mouse4_0_event_bb_disconn:
+	call mouse_le_clean_connect_flag
+	fetch APP_DISC_RSN_SIZE,mem_app_disconn_reason
+	bbit1 APP_DISC_PB_BUTTON,p_mouse_select_device_by_button
+	branch mouse4_0_event_bb_disconn+2
+
+p_mouse_bb_event_discovery_btn:
+	jam 0,mem_mouse_null_enter_hibernate_flag
+	jam 0,mem_mouse_null_enter_hibernate_timer
+	isolate1 mark_24g,mark
+	call p_g24_check_51cmd_stop_24g,true
+	branch mouse_bb_event_discovery_btn+1
+
+p_le_addr_random_config:
+	call load_adc_init
+	fetch 2,mem_0_5_adc_io_data	//adc data from otp
+//	branch p_le_otp_adc_empty,blank
+	store 2,mem_random_addr_increase_count
+p_le_addr_random_store:
+p_mouse_store_eerpom_random_addr_increase_count:
+	arg 2,temp
+	arg mem_random_addr_increase_count,rega
+	arg MOUSE_RANDOM_ADDR_COUNT_EEPROM_OFFSET,regb
+	branch iicd_write_protect_eep_data
+p_mouse_load_eeprom_random_addr_increase_count:
+	arg 2,temp
+	arg mem_random_addr_increase_count,rega
+	arg MOUSE_RANDOM_ADDR_COUNT_EEPROM_OFFSET,regb
+	branch iicd_read_eep_data
+	
+//p_le_otp_adc_empty:
+//	setarg 0x1122
+//	store 2,mem_random_addr_increase_count
+//	branch p_le_addr_random_store
+
+
+p_mouse_start_discovery:
+	jam 0,mem_le_send_security_request_flag
+	call p_mouse_tx_power_init
+	jam 1,mem_device_flag
+	jam 0,mem_mouse_clear_sensor_data_flag	
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BLE_ADV,p_mouse_start_discovery_norandom
+//	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+//	bbit0 MOUSE_ENABLE_BLE_RANDOM_ADDRE,p_mouse_start_discovery_norandom
+	call p_mouse_load_eeprom_random_addr_increase_count
+	fetcht 2,mem_random_addr_increase_count
+	increase 1,temp
+	storet 2,mem_random_addr_increase_count
+	storet 2,mem_le_lap+1
+	call p_mouse_store_eerpom_random_addr_increase_count
+	random pdata
+	store 1,mem_le_lap
+p_mouse_start_discovery_norandom:
+	fetch 3,mem_le_lap_high_3B
+	store 3,mem_le_lap+3
+	call p_mouse_le_fast_conn_disable
+	call app_lpm_mult_disable
+	fetch 2,mem_discovery_timeout
+	store 2,mem_mouse_discovery_timer
+	jam 6,mem_connection_options
+	setarg 0
+	store 2,mem_mouse_no_data_timer
+	store 2,mem_mouse_direct_timer
+	arg MOUSE_STORE_EEPROM_FLAG,queue
+	call mouse_enable_function_flag
+	call mouse_bt_discovery_button_down_disable
+//	fetch 1,mem_device_option
+//	isolate1 MODE_4_MOUSE,pdata
+	call p_check_51cmd_adv
+	call mouse_start_discovery_norandom+13
+	branch p_mouse_discovery_multi_led_blink
+
+p_check_51cmd_adv:
+	jam 0,mem_mouse_le_reconnect_flag
+	call p_le_check_adv_flag
+	setarg ADV_FLAG_BREDR_NOT_SUPPORTED |ADV_FLAG_LIMITED_DISCOVERABLE
+	istore 1,contr
+
+	arg mem_le_adv_swift_pair,contr
+	call p_le_adv_data_update
+	
+	branch check_51cmd_adv
+
+p_le_adv_data_update:
+	arg mem_le_adv_data+11,contw
+	arg 19,loopcnt
+	call memcpy
+	branch le_modified_name_adv
+
+p_mouse_stop_discovery:
+	jam 0,mem_mouse_multi_led_blink_count
+	call p_mouse_discovey_led_blink_off
+	setarg 0
+	store 2,mem_mouse_discovery_timer
+	call p_mouse_sensor_poweron		//clear sensor data,confirm the motion pin high
+	branch mouse_stop_discovery+1
+
+p_le_slave_match:
+	fetch 1,mem_le_md_count
+	pincrease 1
+	store 1,mem_le_md_count
+	beq LE_MD_MAX_COUNT,le_slave_cont
+	call le_acknowledge
+	call le_prepare_tx
+	call power_ctrl_start
+	branch le_slave_match+7
+
+p_le_next_adv_channel:
+	fetch 1,mem_le_ch_mapped
+	increase 1,pdata
+	store 1,mem_le_ch_mapped
+	rtnne 40
+	jam 37,mem_le_ch_mapped
+	rtn
+
+p_le_receive_skip:
+	call save_rssi
+	call p_rssi_signal
+	branch le_receive_skip+2
+
+p_le_update_param:
+	call p_mouse_le_conn_param_check	
+	branch le_update_param+8
+p_mouse_le_lpm_mult_reinit:
+	fetch 1,mem_lpm_mult_init
+	store 1,mem_lpm_mult
+p_mouse_le_conn_param_lpm_enable:
+	jam LE_LPM_ENABLE,mem_mouse_le_conn_param_reject
+	rtn
+
+p_mouse_le_conn_param_check:
+	fetch 1,mem_le_new_conninterval
+	sub pdata,LE_INTERVAL_15MS,null
+	nbranch p_mouse_le_conn_param_lpm_disable,positive
+	fetch 1,mem_le_new_connslavelatency
+	fetcht 1,mem_lpm_mult_init
+	isub temp,null
+	branch p_mouse_le_lpm_mult_reinit,positive
+	fetch 1,mem_le_new_connslavelatency
+	store 1,mem_lpm_mult
+	branch p_mouse_le_conn_param_lpm_enable
+
+p_le_update_channel_map:
+	fetch 1,mem_le_state
+	rtnbit0 lestate_update_map
+	call p_le_channel_map_overflow_check
+	nrtn user
+	branch le_update_channel_map+3
+p_le_channel_map_overflow_check:
+	enable user
+	fetch 1,mem_le_event_count+1
+	rshift4 pdata,pdata
+	rtnne 0x0f
+	fetch 1,mem_le_instant+1
+	rshift4 pdata,pdata
+	rtnne 0x00
+	branch disable_user
+
+p_le_prepare_tx:
+	fetch 1,mem_le_arq
+	bbit1 wak,p_le_prepare_tx_wak
+	call power_ctrl_pac_succ_incrs	
+	fetch 1,mem_empty_count
+	nbranch p_le_send_empyt,blank
+	fetch 1,mem_le_state 
+	bbit0 lestate_encryption,p_le_tx_4
+	fetch 1,mem_le_rxbuf+1  
+	branch p_le_tx_4,blank  
+	branch le_send_empty      // send empty data when got non empty packet
+p_le_send_empyt:
+	fetch 1,mem_empty_count
+	increase -1,pdata
+	store 1,mem_empty_count
+	branch le_send_empty
+p_le_tx_4:	
+	fetch 1,mem_le_pairing_state
+	bne FLAG_LE_PAIRING_AFTER_AUTH,p_in_le_tx_4
+	jam 3,mem_empty_count
+p_in_le_tx_4:
+	call le_fifo_check_nearly_full
+	call p_mouse_data_pull,blank
+	branch le_prepare_tx+4
+
+p_le_prepare_tx_wak:
+	call p_le_check_tx_retransmit_setmd
+//	branch p_le_power_ctrl_pac_succ_decrs
+p_le_power_ctrl_pac_succ_decrs:
+//	branch power_ctrl_pac_succ_decrs
+power_ctrl_pac_succ_decrs:
+	fetch 1,mem_power_ctrl_pac_succ_cnt
+	sub pdata,2,null
+	ncall power_ctrl_pac_succ_cnt_reinit,positive
+	fetch 1,mem_power_ctrl_pac_succ_cnt
+	rtneq 0
+	increase -1,pdata
+	store 1,mem_power_ctrl_pac_succ_cnt
+	rtn
+
+p_le_check_tx_retransmit_setmd:
+	fetch 1,mem_le_connect_status_flag
+	and pdata,0x03,pdata
+	rtnne 0x03
+	fetch 1,mem_mouse_data_queue_num
+	rtn blank
+	fetch 1,mem_le_txlen
+	rtn blank
+	fetch 1,mem_le_txheader
+	set1 md,pdata
+	store 1,mem_le_txheader
+	call le_set_md
+	rtn
+
+p_mouse_le_reconn_write_enable_timer_reinit:
+	fetch 1,mem_mouse_le_reconnect_flag
+	rtn blank
+	fetch 1,mem_le_connect_status_flag
+	and pdata,0x03,pdata
+	rtneq 0x03
+	jam 10,mem_le_start_encrypt_timer
+	rtn
+
+p_le_parse:
+	rtnmark1 mark_old_packet
+	call le_fifo_check_full
+	nrtn blank
+	fetch 1,mem_le_rxbuf
+	and pdata,0x3,pdata
+	store 1,mem_le_packet_llid
+	ifetch 1,contr
+	and pdata,0x1f,pdata
+	store 1,mem_le_packet_size
+	rtn blank							//empty rtn
+	copy contr,pdata
+	store 2,mem_le_payload_ptr
+	fetch 1,mem_le_packet_llid
+	beq LLID_LE_LL,p_le_parse_ll
+	branch le_parse_l2cap
+p_le_parse_ll:
+	fetch 1,mem_le_rxbuf+2
+	beq LL_CHANNEL_MAP_REQ,p_le_parse_channel_map_req
+	branch le_parse_ll+1
+p_le_parse_channel_map_req:
+	ifetch 5,contr
+	store 5,mem_le_new_map
+	ifetch 2,contr
+	store 2,mem_le_instant
+	branch le_parse_channel_map_req+7	
+	
+p_le_parse_l2cap:
+	ifetch 2,contr
+	beq LE_L2CAP_CID_ATT,p_le_parse_att
+	beq LE_L2CAP_CID_SMP,p_le_parse_smp
+	branch le_parse_l2cap+11
+p_le_parse_att:
+	call store_contr
+	call p_mouse_le_reconn_write_enable_timer_reinit
+	call get_contr
+	ifetch 3,contr
+	store 3,mem_le_att_opcode
+	beq ATTOP_READ_BY_GROUP_TYPE_REQUEST,p_le_parse_att_read_by_group_type_request
+//	beq ATTOP_READ_REQUEST,p_le_parse_att_read_request
+	rshift8 pdata,temp
+	sub temp,0x24,null
+//	branch p_le_parse_att1,positive
+	branch le_parse_att+2,positive
+	arg mem_mouse_le_uuid_sup,temp
+	storet 2,mem_ui_le_uuid_table
+	call le_parse_att+2
+	setarg 0x8e7a
+	store 2,mem_ui_le_uuid_table
+	rtn
+
+p_le_parse_att_read_by_group_type_request:
+	call le_parse_att_read_by_group_type_request
+	call le_fifo_get_last_tx_ptr
+	increase 7,contr
+	ifetch 1,contr
+	rtnne ATTOP_READ_BY_GROUP_TYPE_RESPONSE
+	increase 5,contr
+	ifetch 2,contr
+	arg UUID_SERVICE_HIDS,temp
+	isub temp,null
+	nrtn zero
+	increase -4,contr
+	setarg 0x2b
+	istore 2,contr
+	rtn
+
+//p_le_parse_att1:
+//	beq ATTOP_READ_REQUEST,p_le_parse_att_read_request
+//	branch le_parse_att+2
+//p_le_parse_att_read_request:
+//	fetcht 2,mem_le_att_handle
+//	fetch 1,mem_le_configuration
+//	bbit1 BIT_BLE_READ_AUTH,p_le_send_att_read_response_check_auth
+//p_le_send_att_read_response:
+//	call le_att_get_handle_ptr
+//	branch le_send_att_error_response_notfound,blank
+//	increase -2,contr
+//	ifetch 2,contr
+//	arg UUID_CHRCTR_PNP_ID,temp
+//	isub temp,null
+//	branch p_le_send_att_pnp_id,zero	//modify VID/PID
+//	
+//	fetch 2,mem_le_att_handle
+//	beq 0x13,le_send_att_error_response_notfound	//delete battery
+
+//	fetcht 2,mem_le_att_handle
+//	branch le_send_att_read_response
+//p_le_send_att_pnp_id:
+//	call store_contr
+//	fetch 1,mem_le_att_pnp_id_len
+//	add pdata,1,rega
+//	call le_fifo_malloc_tx_l2cap_gatt
+//	setarg ATTOP_READ_RESPONSE
+//	istore 1,contw
+//	fetch 1,mem_le_att_pnp_id_len
+//	copy pdata,loopcnt
+//	arg mem_le_att_pnp_id,contr
+//	branch memcpy
+
+//p_le_send_att_read_response_check_auth:
+//	fetch 2,mem_le_pairing_handle
+//	isub temp,null
+//	nbranch p_le_send_att_read_response,zero
+//p_le_send_att_read_response_error_insufficient_auth:
+//	call le_check_encrypt_state
+//	nbranch p_le_send_att_read_response,user
+//	jam ATT_ERR_INSUFFICIENT_AUTHENTICATION,mem_le_err_code
+//	branch le_send_att_error_response
+
+p_le_parse_smp:
+	ifetch 1,contr
+	beq SMP_PAIRING_REQUEST,p_le_parse_smp_pairing_request
+	beq SMP_PAIRING_FAILED,p_le_parse_smp_pairing_failed
+	branch le_parse_smp+2
+
+p_le_parse_smp_pairing_request:
+	jam 1,mem_le_send_security_request_flag
+	branch le_parse_smp_pairing_request
+
+p_le_parse_smp_pairing_failed:
+	call le_parse_smp_pairing_failed
+	fetch 1,mem_le_state	//disable update conn param
+	set0 lestate_update_param,pdata
+	store 1,mem_le_state
+	branch le_parse_terminate_ind
+
+p_le_adv_not_match:
+	fetch 1,mem_le_ch_mapped
+	bne 39,le_adv_loop
+	call p_le_adv_random_delay
+	arg le_adv_interval_timer,queue
+	fetch 2,mem_le_adv_interval
+	branch timer_init
+p_le_adv_random_delay:
+	random pdata
+	arg 0x1ff,temp
+	iand temp,pdata
+	add pdata,250,pdata
+	branch delay
+
+p_le_lpm_setmult:
+	disable wake
+	branch p_le_lpm_set_mult_attempt,attempt
+	nbranch le_lpm_lost,match
+p_le_lpm_set_mult_attempt:
+	call lpm_match
+	fetch 2,mem_rx_window_sniff
+	store 2,mem_le_receive_window
+	fetch 1,mem_le_connect_status_flag
+	compare 3,pdata,3
+	nbranch lpm_mult_short,true
+	branch le_lpm_set_mult_attempt+3
+
+p_le_mouse_bb_event_connect_complete:
+	fetch 1,mem_mouse_le_reconnect_flag
+	nrtn blank
+	fetch 1,mem_le_att_handle
+	sub pdata,26,pdata
+	nrtn zero
+	branch mouse_le_write_enable
+
+p_check_51cmd_once_continue:
+	call lmo_fifo_check
+	nbranch check_51cmd_restore,blank  //process this cmd next time while lmo fifo is full
+	fetch 1,mem_fifo_temp
+	bmark0 mark_context,check_51cmd_check_idle
+	beq BT_CMD_LE_UPDATE_CONN,p_check_51cmd_ble_update_connect_param
+	branch check_51cmd_once_continue+2
+
+p_check_51cmd_ble_update_connect_param:
+	call le_fifo_check_full
+	nrtn blank
+	branch le_l2cap_tx_update_req
+	
+
+p_twspi_reset:
+	hfetch 1,core_gpio_out3
+	and_into 0xfd,pdata
+	hstore 1,core_gpio_out3
+	hfetcht 1,core_gpio_oe3
+	or_into 0x2,temp
+	hstoret 1,core_gpio_oe3
+	call twspi_disable
+	and_into 0xfd,temp
+	nop 13
+	call twspi_enable
+	hstoret 1,core_gpio_oe3
+	rtn
+
+
+
+	
+
+power_ctrl_pac_succ_cnt_init:
+	jam 1,mem_power_ctrl_level
+	jam 0,mem_power_ctrl_pac_succ_cnt
+	rtn
+power_ctrl_pac_succ_incrs:
+	fetch 1,mem_power_ctrl_pac_succ_cnt
+	increase 1,pdata
+	store 1,mem_power_ctrl_pac_succ_cnt
+	rtn
+
+power_ctrl_pac_succ_cnt_reinit:
+	jam 3,mem_power_ctrl_pac_succ_cnt
+	rtn
+
+power_ctrl_start:
+	fetch 2,mem_ui_state_map
+	rtnbit1 UI_STATE_BLE_ADV
+//	rtnbit1 UI_STATE_BT_RECONNECT
+//	rtnbit1 UI_STATE_BT_DISCOVERY
+	
+	arg mem_rssi_signal_buf,rega
+	call p_rssi_average
+	storet 1,mem_rssi_avg_received
+
+	setarg RSSI_DIS_MAX_24G
+	bmark1 mark_24g,power_ctrl_start_next
+	setarg RSSI_DIS_MAX_BLE
+power_ctrl_start_next:	
+	isub temp,null
+	nbranch power_ctrl_txpower_incrs_force,positive
+
+	fetch 1,mem_power_ctrl_pac_succ_cnt
+	sub pdata,2,null
+	nbranch power_ctrl_txpower_decrs_check,positive
+	fetch 1,mem_power_ctrl_pac_succ_cnt
+	beq 0,power_ctrl_txpower_incrs
+	rtn
+
+power_ctrl_txpower_decrs_check:
+	fetch 1,mem_power_ctrl_pac_succ_cnt
+	rtnne 32
+	jam 0,mem_power_ctrl_pac_succ_cnt
+power_ctrl_txpower_decrs:
+	fetcht 1,mem_rssi_avg_received
+	setarg RSSI_DIS_MIN_24G
+	bmark1 mark_24g,power_ctrl_txpower_decrs_next
+	setarg RSSI_DIS_MIN_BLE	
+power_ctrl_txpower_decrs_next:	
+	isub temp,null
+	nrtn positive
+	fetch 1,mem_power_ctrl_level
+	beq 0,power_ctrl_decrs_level0
+	increase -1,pdata
+	store 1,mem_power_ctrl_level
+	beq 0,power_ctrl_decrs_level0
+power_ctrl_decrs_level1:
+power_ctrl_incrs_level1:	//0dBm
+	jam TX_POWER_0DB,mem_tx_power
+	rtn
+
+power_ctrl_txpower_incrs_force:
+	jam 0,mem_power_ctrl_pac_succ_cnt
+power_ctrl_txpower_incrs:
+	fetch 1,mem_power_ctrl_level
+	beq 2,power_ctrl_incrs_level2
+	increase 1,pdata
+	store 1,mem_power_ctrl_level
+	beq 1,power_ctrl_incrs_level1
+power_ctrl_incrs_level2:	//+6dBm
+
+	jam TX_POWER_5DB,mem_tx_power
+	rtn
+	
+power_ctrl_decrs_level0: //-5dBm
+	jam TX_POWER_f5DB,mem_tx_power
+	rtn
+
+
+p_set_freq_tx:
+	storet 1,mem_last_freq
+	add temp,0,rega			/* index to frequency */
+	call rf_write_freq
+	setarg param_pll_setup	//128us
+	call sleep
+p_rf_tx_enable:
+	jam 0x1,rfen_adc
+	jam 0x3c,rfen_rx
+	jam 0xe0,rfen_tx
+	nop 10 /* wait LDOs to turn ON*/
+	jam 0x01, rfen_mdm
+	jam 0x3d, rfen_mdm
+	nop 10 /* wait tx blocks to turn ON*/
+	jam 0xb7,rfen_sn
+	nop 10 /* wait tx lo buffer to turn ON*/
+	jam 0x7d, rfen_mdm
+	fetch 1,mem_tx_power
+//	beq TX_POWER_0DB,p_set_tx_power_0db
+//	beq TX_POWER_3DB,p_set_tx_power_3db	
+	beq TX_POWER_5DB,p_set_tx_power_5db
+//	beq TX_POWER_f3DB,p_set_tx_power_f3db	
+	beq TX_POWER_f5DB,p_set_tx_power_f5db
+	beq TX_POWER_PAIR,p_set_tx_power_pair
+//	branch p_set_tx_power_0db
+p_set_tx_power_0db:
+	call p_rx_low_sens
+//	jam 0xba,0x894b
+	jam 0xd0,0x8955
+	jam 0xe0,0x8956
+//	jam 0x88,0x8957
+	jam 0x6c,0x8958
+//	jam 0x10,0x8959
+	branch set_tx_power_0db
+
+//p_set_tx_power_3db:
+//	call p_rx_high_sens
+//	jam 0xba,0x894b
+//	jam 0xd0,0x8955
+//	jam 0xe0,0x8956
+//	jam 0x88,0x8957
+//	jam 0x3c,0x8958
+//	jam 0x10,0x8959
+//	branch set_tx_power_3db
+	
+p_set_tx_power_5db:
+//	call p_rx_high_sens
+p_rx_high_sens:
+	jam 0xfb,0x894c 
+	jam 0xef,0x894d
+	jam 0xec,0x894e 
+	jam 0x5e,0x894f
+	
+//	jam 0xba,0x894b
+	jam 0xd0,0x8955
+	jam 0xe0,0x8956
+//	jam 0x88,0x8957
+	jam 0x3c,0x8958
+//	jam 0x10,0x8959
+	branch set_tx_power_5db
+
+//p_set_tx_power_f3db:
+//	call p_rx_low_sens
+//	jam 0xba,0x894b
+//	jam 0xd0,0x8955
+//	jam 0xc0,0x8956
+//	jam 0x88,0x8957
+//	jam 0x6c,0x8958
+//	jam 0x10,0x8959
+//	branch set_tx_power_f3db
+	
+p_set_tx_power_f5db:
+	call p_rx_low_sens
+//	jam 0xba,0x894b
+	jam 0xd0,0x8955
+	jam 0xc0,0x8956
+//	jam 0x88,0x8957
+	jam 0x6c,0x8958
+//	jam 0x10,0x8959
+	branch set_tx_power_f5db
+
+p_rx_low_sens:
+	jam 0x5b,0x894c
+	jam 0x96,0x894d
+	jam 0x2c,0x894e 
+	jam 0x46,0x894f
+	rtn
+		
+p_set_tx_power_pair:	//50-100cm distance
+//	jam 0xba,0x894b
+ 	jam 0xc2,0x8956
+ 	jam 0xd0,0x8955
+	rtn	
+
+p_shutdown_radio:
+	force 8,radio_ctrl
+	branch shutdown_radio+1
+
+
+
+
+
+
+
+
Index: output/bt_program23.rom
===================================================================
--- /branch/mouse_project/ZhongXinSheng/ZXS_1062/MJ391_24G&BLE_PB/output/bt_program23.rom	(revision 0)
+++ /branch/mouse_project/ZhongXinSheng/ZXS_1062/MJ391_24G&BLE_PB/output/bt_program23.rom	(working copy)
@@ -0,0 +1,1848 @@
+11000010100001000000000000010010
+11000000000000000000000000101001
+11000000000000001000000000111011
+11000000010000101000011100110110
+11000000010001001000011100001001
+11000000010100001000000001000100
+11000000010110001000000001001001
+11000000010110010000000001011010
+11000000011000100000001011001110
+11000000011001001000001101011111
+11000000011001010000001101100011
+11000000011100011000001111000101
+11000000011100110000010110000001
+11000000011101001000010110111100
+11000000011101010000010111000110
+11000000011101011000010111010110
+11000000011101100000010111111111
+00100000001000000010101010001110
+11000000000111001000011000000101
+11000000001000011000011000001101
+11000000001001010000011000010011
+11000000001010111000011000010110
+11000000001011001000011000100110
+11000000001100011000011000110011
+11000000001100110000011001100011
+11000000001100111000011001111010
+11000000001101010000011010100110
+11000000001110111000011010110001
+11000000011111010000011011000001
+11000000010001100000011011001010
+00100000001000000010101010001110
+00011111111000100010001000000000
+01101000000010001100110010001110
+01011000000000000100110010010101
+10011000010000001000101000000000
+00011010001000100111111000000000
+11100000101000001000000000000000
+00011000010000001000010000000001
+00011000010000010000010000000111
+01100000000010001100110010001110
+00100000011000000000000000000000
+00100000010000000000000000101011
+00100000001000000010000000000010
+01110000010010110011110100000000
+01101000000010001100011011101101
+00100000010000000110011111111011
+01101000000010001100011011101101
+00100000010000000110100000011101
+00100100011000001000000000000000
+00100000010000000111111011000001
+01101000000010001100011011101101
+00100000010000000110100000011101
+00100100011000001000000000000000
+01110000010010110011110100000001
+00100000011000000000000000000000
+01101000000000001100101100111101
+00100000011110100000000000000000
+00100000010000000000010011000110
+00100000001000000000010001000100
+11011000101000000000100110101110
+11011111001000000000000000001100
+00100000010000000111111011010100
+00100000010000000000001110011001
+00100000010000000110101000000011
+00100000010000000101110011110110
+00100100010101011010110001100101
+00100000010000000111110011001101
+00100000001000000010000000001100
+01011000000000000000101000000110
+01100000000000011100010100010000
+01011000000000000001110110000111
+01100000000000010100010100010011
+00100000001000000010101010100010
+11000110000100110000000000000000
+00100000010000000000000001010100
+01101000000000001100101100000001
+11000000000000001111111111101111
+01101000000000001100011110011100
+11000000000000000111111111101111
+01101000000000001100011111000100
+11000000000000001111111111101111
+01101000000000001100100000000110
+00100100001110100111111111101111
+00100000001000000111111111110001
+00100000010000000111111111110001
+01101000000000001100101100000001
+00100100010110100111111111101111
+01101000000000001100101100000111
+00100100010110100111111111101111
+00100000011000000000000000000000
+11000110100100110000000000000000
+01101000000000001100110100010101
+11000010100000001000000001110001
+11000010100000010000000010000001
+01101000000000001100110100010011
+11000000000000001000000010110010
+00100000010000000000000100110001
+00100100001101000000000011001001
+00100000010000000000000100011000
+00100000010000000000000101010100
+01101000000000001100101111100011
+11000001111111111000000000000000
+00100000010000000000011011011111
+00100000010000000000000010101110
+01101000000000001100110100010011
+11000001000000001000000000000000
+01101000000000001100101100000001
+11000000000000001000000010010011
+00100000010000000000000011010101
+00100100011101000000000000000000
+00100000010000000000001010111111
+01011000000000001110110001010100
+00100000001000000010101110010011
+01101000000000001100101101000010
+11000000000000001010110111010100
+00100000010000000000000111100000
+00100000010000000000000101110010
+00100100001011000000000010011000
+00100100001101111000000010011000
+01101000000000001100110100010101
+01111001001111111111111000000001
+01100000000000001100110100010101
+00100000010000000000000110011100
+00100000010000000000001011101100
+01101000000000100100101111111011
+01101000000010100100101111011111
+10011000010001100111110000000000
+00100000001000101000001100100010
+00100000001000000000000010000111
+01101000000000001100101101000010
+11000000000000001010110111010100
+00100000010000000000000111100000
+00100000010000000000000101110010
+00100100001011000000000010101010
+00100100001101111000000010101010
+01111001001000000000000000100110
+01101000000000001100110100010101
+01111001001111111111111000000010
+01100000000000001100110100010101
+01110000010010110011101000000000
+01110000000010101001100100111100
+00100000010000000111110110000110
+01101000000000100100101111111011
+01101000000010100100110000001010
+10011000010001100111110000000000
+00100000010000101000000010010110
+00100000010000000000000101101100
+01110000010011010001001100000001
+01110000010011010001010000000000
+00100000011000000000000000000000
+01101000000000100100101110110011
+00100000001000000000000110100111
+01101000000000001100110100010001
+00011111111000001111111000000001
+00011111111000010111111000000011
+01100000000000001100110100010001
+11000000000000000000000010100001
+11000000000000001000000110100011
+11000000000000010000000111101101
+11000000000000011000000110100011
+00100000011000000000000000000000
+00100000010000000000001011101100
+01101000000000100100110000001010
+01100000000000100100101111111011
+01101000000000001100101101000101
+01100000000000001100101111011110
+00100000010000000000000010101001
+01100000000010001100101101000101
+00100000011000000000000000000000
+00100000010000000000000110101000
+01101000000010001100101111011110
+00100000010000000000001000011110
+01100000000010001100101111011110
+00100000011000000000000000000000
+01011000000000010111011100000000
+01100000000000011100110000000010
+01110000010010110011110000010100
+00100000011000000000000000000000
+00100000010000000000001010011000
+00100100011101000000000000000000
+00100000010000000000000011000011
+01101000000000001100110100010100
+00011111111000001111111000000001
+01100000000000001100110100010100
+00011111111001100111110000011001
+00100000010000101000000010111011
+00100000001000000000000001100000
+01110000010011010001001100000000
+01110000010011010001010000000000
+01110000010011000000111000000000
+01101000000000001100101111111001
+01100000000000001100101111111000
+00100000011000000000000000000000
+01101000000000001100101111111010
+00100000001000000000000010111111
+01101000000000001100110000001110
+00011111111000001111111000000001
+01100000000000001100110000001110
+11000000000000100000000011000001
+11000000000000101000000010111101
+00100000011000000000000000000000
+01101000000000001100101111111111
+00100000010110100000000011100000
+01101000000000001100101100000110
+00100100011110100000000000000000
+01101000000000001100101100000001
+11000001000000001000000000000000
+00100000010000000000000011010101
+00100100011101000000000000000000
+01101000000000011100110000000010
+00100000010000000111111101001001
+01100000000010100100000101011011
+00100000001000000010101100101010
+01111000001101000111110000000000
+00100000010000000010101011111010
+01101000000000011100000101101111
+00100000001110100111111111101001
+01101000000000001100000010010001
+00100000001110100111111111101001
+01101000000000001100010110110001
+00100000001110100111111111101001
+01101000000000001100110100010011
+11000000000000001111111111101001
+00100000001000000000001011000010
+01110000010010111111111100000001
+01110000010011010000100000000000
+00100000010000000000000011110000
+01100000000000001100101101101111
+01011000000000000000000000000000
+01100000000000111100101101110000
+01101000000000100100110000001010
+01100000000000100100101101110111
+01110000010010111101001100001100
+01101000000000001100101111010100
+01111001001000000111111000000011
+01100000000000001100101111010100
+00100000010000000000000100110100
+00100000001000000000000001100011
+01110000010011010000100100000001
+01110000010011010000101100000000
+01101000000000001100101111010100
+00011111111000010111111000000111
+01100000000000001100101111010100
+00100000011000000000000000000000
+01101000000000001100101111010100
+01111001001000000111111000000100
+01100000000000001100101111010100
+01100000000000001100101110001111
+00100000011000000000000000000000
+01101000000000001100101111010100
+01111001001111111111111000000100
+01100000000000001100101111010100
+01100000000000001100101110001111
+00100000010000000000011001001000
+00100000001000000000000010101010
+01101000000000001100110100001000
+11000000100000001000000011110000
+01101000000000001100110100000110
+00011111111000001111111000000001
+01100000000000001100110100000110
+11000000000000100000000100001000
+00100000010000000000000010101010
+01110000010011000001100000000010
+00100000001000000000000101010100
+00100000010000000000011001001000
+01110000010011010000011000000000
+00100000001000000000000011110000
+01110000010011010000101100000010
+01110000010011010000100100000001
+01110000010011010000100000000000
+00100000001000000000000011110000
+01101000000000001100110100001010
+11000000000000011000000100001100
+01101000000000001100101111010100
+00101111111011000000000000000100
+00100000001000001000000011101110
+01101000000000001100110100001010
+11000000000000001000000100001011
+11000000000000010000000100001100
+00100000011000000000000000000000
+01101000000000001100101111100011
+11000001111111111000000000000000
+00100000010000000000000100011101
+00100100010101100000000100100101
+00100000011000000000000000000000
+01111000010101100111110000000000
+01101000000000001100110100001001
+11000001100000001000000000000000
+01101000000000001100110100001011
+11000001100000000000000000000000
+01110000010011010000101000000001
+01110000010011000001100000000100
+00100000001000000111111111101011
+01101000000000001100110100001011
+00100000001110100000000100101100
+00011111111000001111111111111111
+01100000000000001100110100001011
+01110000010011010000101000000010
+01110000010011000001100000000100
+00100000001000000000000010101010
+01110000010011010000101000000011
+01101000000000001100110100001000
+00100100001110100000000011111111
+01110000010011000001100000000010
+00100000001000000000000010101010
+01101000000000001100101111100011
+11000000111111111000000110110101
+00100000010000000000000100110111
+00100000010000000000001000001100
+01110000010010111101100000000001
+00100000011000000000000000000000
+01101000000000010100110100000100
+00100000010000000111111110011100
+00100000001101000000000100111101
+01101000000000111100101101110000
+00100000011110100000000000000000
+00100000001000000111111111100111
+00100000010000000000001110111001
+01110000010010111111111100000000
+00011010001000001111111000000001
+01100000000000001100101111010011
+00100000010000000000000011110000
+01100000000000001100101101101111
+11101000101010001000000000000000
+11101010010000001000000000000000
+10011000010000011111111000000000
+11100000101000001000000000000000
+00011010010000001010010000000001
+11101010010000100000000000000000
+11100000101000100000000000000000
+00011010010000001010010000000100
+11011000101000000100101101110101
+11011111001000000000000000000010
+11101010010000001000000000000000
+11101000101010001000000000000000
+10011000010000001111111000000000
+11100000101000001000000000000000
+00011010010000001010010000000001
+11000010000000000000000101001101
+00100000011000000000000000000000
+01110000010010111101110000000000
+11011001011000000000110100000000
+00110100011100110000001000000000
+00100000010000000000000101110010
+01101000000000001100110000001111
+11000001000000001000000000000000
+00100100001011000000000110000001
+00100100001101111000000110000001
+00100000010000000000000101101100
+00100000010000000000000110011100
+00100000010000000000011011011001
+01101000000000001100101111010010
+00011111111000001111111000000001
+01100000000000001100101111010010
+00100000010000000000000101101111
+01101000000000001100101111100011
+11000000111111111000000111001111
+00100000010000000000000100001111
+01011000000000000000000000000000
+01100000000000010100101111011001
+01100000000000001100101111011011
+01100000000000001100110100000111
+01110000010010111101100000000000
+00100000011000000000000000000000
+11011111001000000000000000000100
+11011000101000000100101101101111
+00100000001000000111111011000110
+01101000000000001100101111010100
+11000010100000100000000011111001
+00100000011000000000000000000000
+01111000010101111111110000000000
+00100000010000000000001001110111
+01101000000000001100110000001111
+11000000000000001000000101111111
+00011000000000000010101000000000
+01101000000000100100101111111011
+10011000000000000001001000000000
+01101000000010001000000000010111
+00100000010000000010100100011111
+00100000010000000010100100100100
+00100000010000000000001000110100
+00100000010101111000001001110000
+00100000011000000000000000000000
+00100000010000000000001001110000
+00100000001000000000000101011111
+01101000000000010100101111011001
+00011111111000001111111000000001
+01100000000000010100101111011001
+01101000000000001100101111011010
+11000010100000100010110111010100
+01101000000000001100101111100011
+11000000111111111000000110001010
+00100000010000000000000110010010
+00100000001000000000000101010101
+01101000000000001100101111011001
+11000001111111111000000000000000
+01011000000000000000000000000000
+01100000000000010100101111011001
+00100000001000000010110111010100
+00100000010000000000011100000000
+00100000010000000000011001001000
+00100000001000000000000010101010
+01101000000000001100101111011100
+00011111111001100111110000001011
+00100100001000010000000110001111
+00011111111000001111111000000001
+01100000000000001100101111011100
+11000000000000010000000011110100
+11000000000000110000000011111001
+11000000000001000000000011110100
+11000000000001100000000011111001
+00100000011000000000000000000000
+00100000010000000000000111111111
+01101000000000001100101111010001
+00100000011110100000000000000000
+10011000000000000111001000000000
+11011000110000000100101101001111
+11011000101000000100101110110001
+00100000001000000111111100000001
+01110000010000011101111000100000
+01110000010010111101001000000000
+01110000010010111101110101001110
+01101000000000100100101111011111
+01100000000000100100101111111011
+11011010001000000000000000000000
+11011111001000000000000000000100
+11011000110000000100101111111011
+11101000110000001000000000000000
+10011010001000001010001000000000
+11000010000000000000000110101011
+00011010001000100111111000000000
+01100000000000010100110010000100
+01101000000000001100110010000100
+01101000000010001100110010000101
+10011000010000001111111000000000
+01100000000000001100110010000110
+00100000011000000000000000000000
+01101000000000001100101111011000
+11000000000000001111111111100111
+01101000000000001100101111100011
+11000000000000001000000110111100
+11000000000000010000000110111111
+11000000000000011000000111000010
+00100000001000000010101010001100
+01110000010010111110001100010001
+01110000000100011001111010101010
+00100000001000000000000111000100
+01110000010010111110001100010010
+01110000000100011001111001010101
+00100000001000000000000111000100
+01110000010010111110001100010011
+01110000000100011001111000100010
+01101000000000001100101111010100
+00011111111000010111111000000111
+01100000000000001001000110011111
+01101000000000100100110000001010
+01100000000000100001000110100000
+01110000000100011010010000000000
+11011010001000000001000110011110
+11011000010000000000000000000111
+00100000010000000000000111111010
+00100000010000000000000100110100
+00100000001000000111111111100111
+00100000010000000000011011010110
+01101000000000001100101111100011
+11000001011111111000000000000000
+11000000000010001000000111010110
+11000000000010010000000111011000
+11000000000010011000000111011010
+00100000011000000000000000000000
+01110000010010111110001100000010
+00100000001000000000000101100110
+01110000010010111110001100000011
+00100000001000000000000101100110
+01110000010010111110001111111111
+01110000000010101001100100111001
+00100000010000000111110110000110
+01101000000000100100101110110011
+00100000010000000000000110100111
+00100000001000000000000101100110
+01110000000100011001111011111111
+01101000000000001100101111010100
+01100000000000001001000110011111
+01101000000000100100110000001010
+01100000000000100001000110100000
+11011000010000000000000000000110
+11011010001000000001000110011110
+00100000010000000000000111111010
+00100000001000000000001000001100
+01011000000000000000000000000000
+01100000000000010100101101000011
+01110000010010110100001000000000
+00100000011000000000000000000000
+01110000010000011101111000100000
+01011000000000000000111100001111
+01100000000000010100101111111011
+11100000101000010000000000000000
+01101000000000001100101101000110
+01100000000000001100101111011110
+00100000010000000000000010101001
+01100000000010001100101101000110
+00100000011000000000000000000000
+01111001001111111000000000100110
+00100000010000000101001111001110
+11011000111000000000000000000011
+00100000001000000100001111010010
+01100000000010001100101111010011
+00011000010000100111001000000000
+11011000101000000100101101101111
+00011010001000100000110000000000
+00100000001000000111111100000001
+01101000000000001100101101001110
+00011111111010010111111000000000
+01100000000000001100101111010001
+00011111111000001111111000000001
+11011000110000000100101101001110
+10011000110000001000110000000000
+11101000110000011000000000000000
+01100000000000011100110000010000
+01101000000000001100101101001110
+00011111111000110111111000000000
+00011111111000010111111000000011
+01100000000000001100110000010110
+00100000011000000000000000000000
+01101000000000001100101111010011
+00011111111000001111111000000010
+01100000000000001100101111010101
+01101000000000001100101111010100
+01100000000000001100101110001111
+01101000000000001100101111010011
+00011111111010011111111000000000
+01101000000010001100101111010010
+00011000010000010000010000000011
+00011000010000111000010000000000
+10011000010000011111111000000000
+01101000000010001100110000001111
+10011000010000001111111000000000
+11100000101000001000000000000000
+01101000000000001100101111010011
+10011000000000000111001000000000
+11011000110000000100101101101111
+00100000001000000111111100000001
+00100000010000000000001000100010
+00011000010000001000010000000001
+00011000010000010000010000000011
+00100000011000000000000000000000
+01101000000000001100101111111011
+00011111111000010111111000000011
+00011111111011111010001000000100
+01011000000000000100101111100100
+10011010001000001111111000000000
+10011000010000001000110000000000
+11101000110000001000000000000000
+01100000000000001100101111011101
+00100000011000000000000000000000
+01111000010001001111110000000000
+01111000010000111111110000000000
+01011000010101010101010101010101
+10011000000000000001111000000000
+01101000000000001100101111011101
+00011111111011011000010000000000
+01111001001000000000010000000001
+00011000010000110001110000000000
+00100000011000000000000000000000
+00100000010000000000001000101011
+01111000010101111111110000000000
+01111000001001101111110000000000
+01111000001100001111110000000000
+01111000010100000111110000000000
+01111000001010000111110000000000
+01101000000000010100101111010110
+10011000000000000011011000000000
+00110111110000011000010000000000
+00100100001011000000001001110000
+01111000010001101111110000000000
+01111000001001011111110000000000
+01111000001000111111110000000000
+01111000001001001111110000000000
+00100000010000000000001001101101
+01100000000000001100110010000111
+01101000000010001100110010000110
+10011000010001100111110000000000
+00100100001000101000001001110000
+00100000010000000000001001101101
+01100000000000001100101101001101
+01101000000000001100110000011001
+00011111111001100111110000000010
+00100000001000101000001001010000
+01101000000000001100101101001101
+01101000000010001100101111010100
+10101000010000000000111000000000
+00100100001000001000001001110000
+00100000010000000000001001101101
+11100000101000001000000000000000
+00011111111010010111111000000000
+00011111111000010111001000011111
+00100000001000101000001001011000
+00100000010000000000001001101101
+11100000101000001000000000000000
+11000010000000000000001001010101
+00011000101000100010001000000000
+00100000010000000000001001101101
+01100000000000001100110100001110
+00011010001000100000101000000000
+00001001100000000000000000011000
+01111000001010000111110000000000
+11011011011000000000011001100100
+00011111111011110111111000000000
+00011111111100010111111000000000
+11100000101000011000000000000000
+01111000010001011111110000000000
+00100000001000110000001001110000
+01111000001101111111110000000000
+01101000000000001000000000010111
+00011111111000001010001000000000
+00100000010000000010100110000001
+01111000010001101111110000000000
+00100000010000000010100100011000
+01101000000000001100110100001110
+00100000010000000000000000011111
+00100000011000000000000000000000
+00001001100000000000000000001000
+00011001100010010111111000000000
+00100000011000000000000000000000
+01111000010011011111110000000000
+01111000010001011111110000000000
+00100000010000000010011001001101
+00100000011000000000000000000000
+00100000010000000010100100011000
+01101000000010001100101111011101
+00100000001000000010100100110011
+00100000010000000101001111000100
+01101000000000100100101111111011
+10011000000000000001001000000000
+00100000010000000000001000101011
+00100000010000000000001001110100
+01111001001000000010101000000000
+01111000001011101111110000000000
+01111000001100000111110000000000
+01111000010100001111110000000000
+00011001001100010111111000000000
+00011111111011001111111000000000
+00011111111100011111111000000000
+00001000000000001000011000101000
+01111000010011101111110000000000
+01111000001011011111110000000000
+01111000001000111111110000000000
+01111000001001001111110000000000
+01101000000000001100110010000110
+00001000000000001000011000001000
+01101000000000001100101111010101
+10011000000000000111001000000000
+11011000110000000100101110001111
+11101000110000001000000000000000
+00001000000000001000011000001000
+11000010000000000000001010001101
+01111000001001000111110000000000
+00001000000000001000011000011000
+01111000010001000111110000000000
+00110111110100111000001000000000
+00100000000000000000000001100100
+01111000010011101111110000000000
+01111000010011011111110000000000
+00100000011000000000000000000000
+00100000010000000111111111101001
+01101000000010100100101111110100
+00011100010000100111111000000000
+10011000010001100111110000000000
+00100100010000010010110100011000
+00011111111000100010010000000000
+01101000000000100100101111110100
+01101000000010001100101111111000
+10011000010000001000010000000000
+00011010010000100111111000000000
+10011000010001100111110000000000
+00100100011000010000000000000000
+01111001001111111111111000011100
+01100000000000100100101111110100
+00100000001000000111111111100111
+11011000010000000000000000000000
+11011111001000000000000000001000
+00011010001000100000110000000000
+11101000110000001000000000000000
+10011000010000001000010000000000
+11000010000000000000001010101010
+00011000010010010111111000000000
+00011111111000100000010000000000
+11000110100100110000000000000000
+00011111111001101111110000001010
+00100000010000000111111110000110
+00011000000001111111111000000000
+00011111111100100111111000000000
+00011000000001110000010000000000
+10011000010000011000010000000000
+00100000011000000000000000000000
+00100000011000000000000000000000
+11000110000100110000000000000000
+00100000010000000000001110001111
+00100000010000000000001011000010
+01101000000000001100000001000000
+11000011000000000000001010111111
+01101000000000001000000010100000
+00100100011110100000000000000000
+01011000000000000000000000000000
+01100000000001000000000010100001
+00100000011000000000000000000000
+00100000010000000000001011001011
+00100000010000000000001010111111
+00100000010000000011111010111111
+01101000000100100000000001110000
+01101000000110100000000001111000
+10011000010000011000010000000000
+00011000010001000000010000000000
+01100000000110100000000001111100
+00100000011000000000000000000000
+01101000000000001100101100001100
+00100000011110100000000000000000
+00100000001000000000001111000101
+00100000010000000011010000010110
+00100000001101011000001011011001
+00100000010000000000001111010010
+01101000000000001100000111011110
+01100000000000001100110010001010
+00100000010000000000011011010110
+01101000000000001100011010000101
+01100000000000001100011011011010
+00100000010000000100001111001010
+01101000000000011100010010100011
+01100000000000011100101101001000
+00100000010000000000001011011011
+00100000001000000111010010111001
+00100100010101011000001100111011
+00100000010000000000001100100110
+00100000011101011000000000000000
+00100000010000000000001101111010
+00100000010000000000010110001111
+11000000000000101000001100001111
+00100000010000000000001101101101
+00100000010000000000001011101100
+01101000000000001100011100100000
+11000000000000010000001011101111
+11000000011111111000001011101111
+00100000010000000000010100100110
+01101000000000001100001000010000
+11000000000110100000001011111001
+01110000010001111001110100000001
+01110000010001111001111000101000
+00100000011000000000000000000000
+01101000000000001100110010001010
+01100000000000001100000111011110
+00100000011000000000000000000000
+00100000010000000000010100100110
+00100000010000000000010001000011
+00100000010000000000001101110001
+00100000001101000000001100011010
+01111001001000000000000000100110
+01101000000000001100110100010101
+01111001001000000111111000000010
+01100000000000001100110100010101
+00100000010000000000000010101001
+00100000001000000000001100011110
+01110000010010110100000000000001
+01110000010001111001111100000001
+01101000000000010100011010101000
+01101000000010001100101100011110
+00011000010001100111110011111111
+00100100001000101000001100000000
+01011000000000000000001001011000
+01100000000000010100011010101110
+00100000010000000011010000011000
+00100000010000000000001100001000
+01011000000000000000000000000100
+11100000110000001000000000000000
+11011000110000000100001110010000
+00100000010000000000010111111011
+00100000001000000111110111110100
+11011010001000000100001101110000
+11101010001000001000000000000000
+00100000011110100000000000000000
+10011000110000001010001000000000
+11101000110000001000000000000000
+11000001000000001000000000000000
+00100000001000000000001100001001
+01101000000000001100110100010101
+11000010100000010000001100010010
+11000110000100110000000000000000
+11011000111000000000000000000011
+00100000010000000100001111001110
+01011000000000000000000000000000
+01100000000000010100011010101110
+01100000000000001100011010110100
+01100000000000010100110000000000
+00100000010000000100001011001010
+01110000010001110010000000000010
+01111001001000000000000000100110
+01101000000000001100110100010101
+01111001001000000111111000000001
+01100000000000001100110100010101
+01011000000000000000000000110010
+01100000000000010100101101000011
+01110000010010110100001000000000
+00100000011000000000000000000000
+01111001001000000000000000100110
+00100000010000000000000110100011
+01110000010010111110001100000001
+00100000011000000000000000000000
+01110000010000100001001001110110
+00100000001000000011110100110110
+00100000010000000000001100100110
+00100000010000000100000011000000
+00100000010000000100000011011001
+11000000000110000000001100110100
+11000000000110001000001100110110
+00100000010000000100000011010001
+00100000000000000000001111101000
+00100000001000000000001100101010
+01110000010010110000110000000001
+00100000010000000110010000001111
+00100000010000000000001100101000
+00100000001000000110010000010001
+00100000010000000000001110111110
+00100000001000000100000011100000
+00100000010000000000001110111110
+01101000000000001100011011011110
+11000000001110000100000011101000
+01110000010001101110000000000001
+00100000011000000000000000000000
+01101000000000100100000010100000
+01100000000000100100110000001010
+00100000010000000011111001101110
+00100000010000000011111000011110
+01011000000000000000000000000000
+01100000000000010100000101010100
+00100000010000000110100010101000
+00100000010000000011111001010100
+00100000010000000101100000010000
+00100000010000000101100000111001
+00100000010000000101100000101100
+00100000010000000101100000011000
+00100000010000000110010110011100
+00100000010000000110010111000010
+00100000010000000100010000111111
+00100000010000000000001101011011
+00100000010000000000010000110001
+00100000010000000110010111011111
+11011111001000000000000000000011
+11011000110000000100011100100010
+00100000010000000000001101110011
+00100100001101000000001101010011
+00100000010000000000001101010101
+00100000011000000000000000000000
+01110000010010110001111001011010
+00100000011000000000000000000000
+01110000010010110001111011111111
+01110000010000100001000000110100
+01011000000011110000111100001111
+01100000000000011100010010100000
+01100000000000011100010010100011
+00100000011000000000000000000000
+00100000010000000011001111000100
+00100000001000101000001101100111
+00100000010000000000010111001011
+00100000001000000011110111001011
+11011000010000000000000000000010
+11011010001000000000101010101010
+11011010010000000000000001100010
+00100000001000000110010111010001
+11011000010000000000000000000010
+11011010001000000000101010011010
+11011010010000000000000001100010
+00100000001000000011001111001000
+11011000010000000000000001011000
+11011010001000000100011100100000
+11011010010000000000000000000000
+00100000010000000110010111011111
+00100000010000000000000000110111
+00100000001000000100001100011010
+00100000010000000000001100101000
+00100000010000000000010001010101
+01110000010001110001111000000000
+00100000011000000000000000000000
+11011111001000000000000000000010
+11011000110000000100101111111011
+00100000010000000111111111100111
+01011000000000001111111111111111
+11101000110010010000000000000000
+10011000010001100111110000000000
+00100100010000101111111111101001
+11000010000000000000001101110101
+00100000011000000000000000000000
+01011000000000000000001110001011
+01100000000000010100110100000100
+01011000000000000000001110100010
+01100000000000010100000111101111
+01011000000000000000011010111011
+01100000000000010100000111111001
+01011000000000000000001010111000
+01100000000000010100000111101101
+01011000000000000000001111110010
+01100000000000010100000111110101
+01011000000000000000001111110000
+01100000000000010100000111110011
+01011000000000000000010001001000
+01100000000000010100000111101011
+01011000000000000000010001011011
+01100000000000010100000111111101
+00100000011000000000000000000000
+00100000010000000100010000000001
+01101000000000010100011010011111
+00100000011110100000000000000000
+00100000001000000000000010010011
+11011000110000000001100000000000
+11011000101000000100100000001010
+00100000010000000000001110010111
+11011000110000000001100100000000
+00100000010000000000001110010111
+11011000110000000001101000000000
+00100000010000000000001110010111
+11011000110000000001101100000000
+11011111001000000000000000011011
+00100000001000000111111100000001
+11011000110000000100100000001010
+11011000101000000001100000000000
+00100000010000000000001110010111
+11011000101000000001100100000000
+00100000010000000000001110010111
+11011000101000000001101000000000
+00100000010000000000001110010111
+11011000101000000001101100000000
+00100000001000000000001110010111
+00100000010000000101100010010010
+00100100011110100000000000000000
+01101000000000001100101100011110
+11000000011111111000001110101001
+01101000000000001100011011000101
+00011111111000010111111000000011
+11000001100000011000000000000000
+01101000000000001100011110011100
+00100000010110100000001111101101
+01101000000000100100011011010011
+11000010100000101100000101111001
+00100000010000000011111110010111
+00100100011101000000000000000000
+00100000010000000000001110110110
+00100000010000000000001110111001
+00100000010000000000001111101000
+11011010001000000100011010011010
+00100000010000000111111000111101
+00100000010101000000001111010111
+00100000011000000000000000000000
+01110000010000010111001000000000
+01110000010010110011101100011110
+00100000011000000000000000000000
+01101000000000001100101100111010
+11000001100000001000000000000000
+01011000000000000000000000000000
+01100000000000001100101100111010
+01100000000000100100011010011011
+01011000000000001000000000000110
+00100000010000000110010000010011
+00100000000000000010111011100000
+01101000000000001100011101111010
+11000000111111111000001111000101
+01101000000000001100011011100001
+01100000000000001100011101111010
+01101000000000001100011011100000
+11000000000000110000001111001000
+00100000001000000011110110000001
+01101000000000001100011101111010
+00100000010110100000001111001110
+01101000000000001100011101111010
+11000000000000001000001111010000
+11000000000000011011110110001100
+00100000001000000011110110001000
+01110000010001110111101000000001
+00100000011000000000000000000000
+01110000010001101011010100000000
+00100000001000000011110111000001
+01110000010001111010000000000111
+01110000010001111010000100000100
+01011000000000000100011110100000
+01100000000000010100001000011000
+00100000001000000111111000111000
+01101000000000001100011111000001
+00011111111000001111111000000001
+01100000000000001100011111000001
+00100000011000000000000000000000
+11011010001000000100011010011010
+00100000010000000111111001010100
+00100000001101000000001111011111
+00100000011000000000000000000000
+00100000010000000101011001010010
+01101000000000001100011111000001
+00011111111001100111110000000001
+00100100010000010101011001010000
+01101000000000001100011111000001
+00100000011110100000000000000000
+00011111111000001111111111111111
+01100000000000001100011111000001
+00100000001000000011111110010000
+01101000000000010100011010011111
+00100000011110100000000000000000
+01110000010010000000011000000001
+01110000010010000000011100000010
+00100000011000000000000000000000
+00100000010000000101100000010100
+01110000010001111001110000000001
+00100000001000000000001110111110
+00100000010000000111111000110100
+00100000001000000011111011100000
+00011010011000100111111000000000
+11000000000010100000001111111100
+11000000000010101000010000000100
+11000000000101001000010000001110
+11000000000110010000010000010000
+11000000001000000000010000010111
+11000000000111001000010000100011
+11000000000111010000010000110101
+11000000000111100000010000111111
+00100000001000000100000101111101
+01110000010010110100000100000001
+01101000000000001100011110011111
+00100100001110100000010000000000
+01110000010010110011111100010100
+00100000010000000000001100110000
+00100000010000000000010000111100
+00100000010000000000001111010010
+00100000001000000100000111000011
+01110000010010110100000100000000
+00100000010000000000010001010010
+01011000000000000000000000000111
+01100000000000010100010010010110
+01100000000000010100010010011000
+01110000010001111100010000000000
+01110000010001111001110000000000
+00100000010000000000001111010010
+00100000010000000101100000010110
+00100000001000000100000111011001
+01110000000010101001100100010010
+00100000001000000111110110001111
+01101000000000001100011110011111
+11000000000000001000010000010011
+00100000001000000000010000010101
+00100000010000000000010000001110
+01110000010001101100011000010100
+11011000111000000000000000000001
+00100000001000000100000110111001
+01101000000000010100010100001001
+11000001000000000000000000000000
+01101000000000001000010001000001
+00011111111010110111111000000000
+00011111111001100111110000001100
+00100000011000010000000000000000
+01011000000000000000000000001001
+01100000000000010100010010010110
+01100000000000010100010010011000
+00100000010000000000010000001110
+01110000010001111100010000000001
+00100000011000000000000000000000
+00100000010000000000000111101001
+00100000010000000000001100110000
+01110000010001111000101100000001
+11011000111000000000000000000011
+00100000010000000100001111010010
+01011000000000000000000000000000
+01100000000000010100011100000111
+01110000010001101010011100000000
+00100000010000000100000001011101
+00100000010000000000010000111100
+00100000010000000000010001000011
+00100000010000000000001011101100
+00100000010000000000010000110001
+00100000001000000110010111010001
+11011010001000000100101111111011
+11011010010000000000000001011011
+11011000010000000000000000000100
+00100000011000000000000000000000
+00100000010000000000010001010010
+01110000010011010001001100000000
+00100000010000000000001011101100
+00100000010000000000000111110110
+01101000000000001100101100001001
+00100100001110100000001011101001
+00100000001000000011010000001010
+01110000010001111001110100000000
+01110000010001111001111000000000
+00100000011000000000000000000000
+00100000010000000000000111101001
+00100000010000000000001100110000
+00100000010000000011111110001101
+00100000010000000000010000111100
+00100000010000000100001101100110
+11011000010000000000000000000001
+11011010001000000100011100100000
+11011010010000000000000000000000
+00100000001000000110010111010001
+01111000001101000111110000000000
+01101000000100100000000100111000
+01111001001101000111111000011010
+01100000000100100000000001001100
+00100000010000000010110000100001
+00100000010000000000010001010010
+00100000010000000111010010111101
+00100000010000000100010010000010
+00100000010000000011111010011111
+00100000001000000011111010111111
+01101000000000001100101100001100
+00100000011110100000000000000000
+01110000010010110000110000000000
+01011000000000000000000000000110
+00100000010000000110010000010100
+00011111111000011111111000001000
+00011111111011010111111000000000
+00011111111000001111111000000110
+00100000001000000110010000010011
+00100000010000000000010100110111
+00100000010000000000010101110010
+00100000010000000000010010001001
+00100000010000000000010010100111
+00100000010000000000010010001110
+00100000010000000000010010110000
+00100000010000000100001000110100
+00100000010000000000010001101010
+00100000010000000000010001110001
+00100000010000000100001000110111
+00100000010000000000010001111000
+00100000010000000000010001111011
+00100000010000000000010010000001
+00100000010000000000010011100110
+00100000001000000100001000111010
+11011010011000000100101100111100
+11011010010000000000010001101101
+00100000001000000011001101101101
+01011000001101101110111010000000
+01100000000000011100110000000010
+01110000010010110011101000000001
+00100000011000000000000000000000
+11011010011000000100101101000011
+11011010010000000000010001110100
+00100000001000000011001101110100
+01110000010010110100001000000001
+00100000010000000000010100110001
+00100000010000000000010001010101
+00100000001000000000001011101001
+11011010011000000100011011000110
+11011010010000000011110101100000
+00100000001000000011001101101101
+11011010011000000100101100111011
+11011010010000000000010001111110
+00100000001000000011001101101101
+01101000000000001100011111000101
+01100000000000001100000101110010
+00100000001000000000010001101111
+01101000000000001100101101000001
+00100000011110100000000000000000
+11011010011000000100101100111111
+11011010010000000000010010000110
+00100000001000000011001101101101
+01101000000000001100101101000000
+00100100011110100000000000000000
+00100000001000000101101111110101
+11011010011000000100100000000111
+11011010010000000000010010001100
+00100000001000000011001101101101
+01110000010010000000011000000000
+00100000011000000000000000000000
+01101000000010001100011011101100
+00100000010000000110100000011101
+00100000001000001000010010010100
+00100000010000000100001110101001
+11011000111000000000000000001001
+00100000001000000100001111010010
+01110000010001111001111000101000
+00100000010000000000010010010111
+00100000001000000100001110110000
+11011010011000000100011011011010
+11011010010000000000010010011010
+00100000001000000011001101101101
+01101000000000100100011011010011
+11000011100001001000000000000000
+01110000010010110000101000000000
+00100000010000000000010011100010
+01101000000000010100011010000010
+00101111111011111111111000001011
+00100000010000001100001011010100
+01101000000000010100011010000010
+00101111111011111111111000000111
+00100000010000001100001110010010
+11011000111000000000000000001001
+00100000010000000100001111001110
+00100000001000000100001110111000
+01101000000000001100011110011101
+00100000011110100000000000000000
+01101000000000001100101100000110
+00100100011110100000000000000000
+11011010011000000100011110011110
+11011010010000000000010010101110
+00100000001000000011001101101101
+01110000010001111001110100000000
+00100000001000000011010000001010
+01101000000010001100011011101101
+00100000010000000000010110110111
+01101000000010001100011011101101
+00100000010000000110100000011101
+00100000001000001000010011001101
+01101000000000001100101100111101
+00100100001110100000010011011011
+01101000000000001100011011011001
+11000001000000001000000000000000
+01110000010001101101100100000001
+01110000010010101111111100000001
+11011000010000000000000000000001
+11011010001000000100101100001010
+11011010010000000000000001100001
+00100000010000000110010111011111
+01101000000000001100101100001010
+00100000001110100000010011100001
+00100000010000000000010011000110
+01110000010000011011110100000000
+00100000010000000000010001000100
+00100000010000000100001111000000
+00100000001000000100001101111110
+01101000000010001100011100100000
+00011000010000001000010000000001
+01101000000000001100011011010010
+10011000010001100111110000000000
+00100100010000010100001111001100
+01100000000010001100011100100000
+00100000011000000000000000000000
+01101000000000010100011010000010
+11000010100001011000010011010000
+01110000010010101111111100000000
+01101000000000001100011011011001
+11000001000000000000000000000000
+01110000010001101101100100000000
+01101000000000010100001000001000
+11000011100001010000000000000000
+01101000000000001100011100100000
+11000001100000001000000000000000
+01101000000000010100001000001010
+01111001001000000111111000001010
+01100000000000010100001000001010
+00100000001000000100001110000110
+01110000010010110011110100000000
+01101000000000001100011011011001
+00100100001110100000001011100010
+01110000010001101101100100000001
+01110000010010101111111100000001
+00100000011000000000000000000000
+01110000010010110000101011111111
+11011000010000000000000000000001
+11011010001000000100101100001010
+11011010010000000000000001100001
+00100000001000000110010111010001
+01101000000000001100101011111111
+00100000011110100000000000000000
+01101000000000001100101100000010
+11000000000000000000010011101100
+11000000000000001000010011110110
+00100000011000000000000000000000
+00100000010000000000010100000000
+01101000000000001100101100000111
+00011111111000001111111000000001
+01100000000000001100101100000111
+01101000000010001100101100000011
+10011000010001100111110000000000
+00100000010000101000010011110100
+00100000011000000000000000000000
+01110000010010110000100100000000
+00100000001000000000010100010100
+01101000000000001100101100000101
+00011111111000001111111111111111
+01100000000000001100101100000101
+00100100011110100000000000000000
+01101000000000001100101100000100
+01100000000000001100101100000101
+01101000000000001100101100000001
+11000000000000001000010100010100
+11000000000000000000010100000000
+00100000011000000000000000000000
+01110000010010110000000100000001
+01101000000000001100011100100000
+11000000000000010000010100001000
+01101000000010001100101100000000
+00100000010000000110100000001110
+01101000000010001100101100000000
+00100000010000000110100000100101
+00100000001000000000010100001100
+01101000000010001100101101001011
+00100000010000000110100000001110
+01101000000010001100101101001011
+00100000010000000110100000100101
+01101000000000010100011010000010
+11000011100001011000000000000000
+01101000000010001100101101001100
+00100000010000000110100000001110
+01101000000010001100101101001100
+00100000001000000110100000100101
+01011000000000000000000000000000
+01100000000000011100101100000101
+01101000000000001100101100000110
+00100100001110100000010100011000
+01110000010010101111111100000000
+01110000010010110000001000000000
+01110000010010110000011100000000
+01110000010010110000000100000000
+01101000000010001100101100000000
+00100000010000000110100000001110
+01101000000010001100101100000000
+00100000010000000110100000101001
+01101000000010001100101101001011
+00100000010000000110100000001110
+01101000000010001100101101001011
+00100000010000000110100000101001
+01101000000010001100101101001100
+00100000010000000110100000001110
+01101000000010001100101101001100
+00100000001000000110100000101001
+01110000010010110000100100000001
+01110000010010101111111100000001
+01110000010010110000001000000000
+01110000010010110000011100000000
+00100000011000000000000000000000
+01110000010010110000010000000011
+01110000010010110000011000000001
+01110000010010110000010100000001
+01110000010010101111111100000001
+01110000010010110000001000000001
+00100000011000000000000000000000
+01110000010010110000011000000000
+01101000000000001100101100000111
+00100100011110100000000000000000
+01101000000000001100101100001001
+00100100011110100000000000000000
+00100000001000000000010100010010
+01101000000000010100101100000110
+00100100011110100000000000000000
+11011010011000000100011011001110
+11011010010000000000010100111100
+00100000001000000011001101101101
+01110000010001101100111000001010
+00100000010000000000010101011001
+00100000010000000110100100001000
+00011111111011111111111000000010
+11011000010000000000000000001110
+10011000010001100111111000000000
+00011111111001100111110001111000
+00100000010000010000010101010011
+00011111111001100111110001100100
+00100000010000010000010101010110
+01100000000000010100011100001111
+11011010001000000100011100001001
+00100000010000000000010101100101
+01101000000000001100001000110001
+11000010100000001011010000001010
+11000011000000000000010101001110
+01110000010010110000101100000001
+00100000001000000100001111100111
+00100000010000000100001111101001
+01101000000000001100101100001011
+00100000011110100000000000000000
+01110000010010110000101100000000
+00100000001000000000010100010100
+11011000010000000000000000001000
+10011000010001100111111000000000
+00100000011000000000000000000000
+11011000010000000000000000000110
+10011000010001100111111000000000
+00100000011000000000000000000000
+01101000000000001100001000101101
+11000000000000010000010101011100
+00100000001000000110100011101100
+01101000000010001100011011111000
+00100000010000000110011111111011
+01101000000100001000000001111100
+01111001001111111111111000000101
+01100000000100001000000001111100
+01101000000100001000000001111000
+01111001001111111111111000000101
+01100000000100001000000001111000
+00100000001000000110100011110100
+11101010001001000000000000000000
+01100000000001000000101010011010
+01101000000010010000101010011100
+01101000000000010000101010100000
+10011000010001100111110000000000
+00100100001000010110100101000100
+01101000000010010000101010011110
+10011000010001100111110000000000
+00100100001000010110100101000000
+01101000000000001100001000110001
+01111001001111111111111000000000
+01100000000000001100001000110001
+00100000011000000000000000000000
+01101000000000100100011011010011
+11000100000000100000000000000000
+01101000000000010100011010000010
+11000011100001011000000000000000
+01101000000000010100101100000110
+00100100011110100000000000000000
+01101000000000001100011011001111
+00011111111000001111111000000001
+01100000000000001100011011001111
+11000000000000101000010100001100
+00011111111001100111110000001010
+00100100001000010000010101111111
+00100000011000000000000000000000
+01110000010001101100111100000001
+00100000001000000000010100010100
+01111000010101000111110000000000
+01011000000000000000000000000000
+01100000000000110100011010011011
+00100000010000000000010110001010
+00100000010000000100000001111001
+00100000010000000100000001111110
+00100000010000000000010110001101
+00100100011101000000000000000000
+00100000001000000011111110100000
+00100000010000000011111111000000
+01111000010101000111110000000000
+00100000001000000011111111100111
+00100000010000000000010110001111
+00100000001000000100000010011010
+11011010001000000000000000000000
+00100000010000000000010110010101
+00100000010000000000010110010011
+00100000001000000100000010001110
+00100000010000000000010110100101
+00100000001000000000010110101011
+01101000000010001100011011100010
+00100000010000000000010110110111
+01101000000010001100011011100010
+00100000010000000110100000011101
+01111001001000001010001000000000
+01101000000010001100011011100011
+00100000010000000000010110110111
+01101000000010001100011011100011
+00100000010000000110100000011101
+01111001001000001010001000000001
+01101000000010001100011011100100
+00100000010000000000010110110111
+01101000000010001100011011100100
+00100000010000000110100000011101
+01111001001000001010001000000010
+00100000011000000000000000000000
+01101000000010001100011011100101
+00100000010000000000010110110001
+01101000000010001100011011100101
+00100000010000000110100000011101
+01111101001000001010001000000011
+00100000001000000000010110110111
+01101000000010001100011011100110
+00100000010000000000010110110001
+01101000000010001100011011100110
+00100000010000000110100000011101
+01111101001000001010001000000100
+00100000001000000000010110110111
+01111001001111111000010000000111
+11011000101000001000000001111000
+00100000010000000110100000110000
+01111001001000000000010000000111
+11011000101000001000000001111100
+00100000001000000110100000001010
+01111001001000000000010000000111
+11011000101000001000000001111000
+00100000010000000110100000110000
+01111001001111111000010000000111
+00100000001000000000010110110101
+01110000010010000000100000000000
+01110000010000011110001100001110
+00100000010000000100000111100111
+01101000000000010100001000001000
+11000010100000111000010111000010
+00100000001000000100000111100010
+00100000010000000100000111000001
+01101000000000010100001000001000
+11000010100001010000010010110000
+00100000001000000100000111110111
+01110000010001111001110100000000
+01110000010001111001111000000000
+00101000000011111111111000100110
+00100000010000001000000111110110
+00100000001000000100001001101101
+00100000010000000110100010100010
+01101000000000010100001000011101
+01100000000000010100011111000010
+11011000010000000000000000000010
+11011010001000000100011111000010
+11011010010000000000000001011111
+00100000001000000110010111010001
+11011000010000000000000000000010
+11011010001000000100011111000010
+11011010010000000000000001011111
+00100000001000000110010111011111
+01110000010010110100000000000000
+00100000010000000000001011101100
+01110000010001110010000000000001
+01110000010001111001110000000000
+01101000000000010100011010000010
+11000010100001011000010111100100
+00100000010000000000010111010010
+01101000000010010100011111000010
+00011000010000001000010000000001
+01100000000010010100011111000010
+01100000000010010100010010100001
+00100000010000000000010111001110
+00011000000010100111111000000000
+01100000000000001100010010100000
+01101000000000011100101101001000
+01100000000000011100010010100011
+00100000010000000000001101010011
+00100000010000000011010000011000
+01101000000000010100011010000111
+01100000000000010100011010101100
+01110000000000010110110100000110
+01011000000000000000000000000000
+01100000000000010100011010110000
+01100000000000010100011010101110
+11011000111000000000000000000111
+00100000010000000100001111001110
+00100000010000000100001111001010
+00100000010000000000010111110100
+00100000010000000100001011000100
+00100000001000000000010100101011
+01110000010001111001111100000000
+00100000010000000000001100001000
+01011000000000000000000000000101
+11100000110000001000000000000000
+11011000110000000100101100011111
+00100000010000000000010111111011
+00100000001000000111110111110100
+11011000101000000100001101111011
+11011111001000000000000000010011
+00100000010000000111111100000001
+00100000001000000101011110111000
+01110000010010110000011000000000
+00100000010000000000010100110001
+01011000000000000000000000000000
+01100000000000010100011010101100
+00100000010000000000001110111110
+00100000001000000100001011001011
+01101000000000001100010100001111
+00011111111000001111111000000001
+01100000000000001100010100001111
+11000000000001100101001110010101
+00100000010000000101010110101010
+00100000010000000101011000011110
+00100000010000000000011011011111
+00100000001000000101001110001111
+01101000000000001000000000010110
+00011111111000001111111000000001
+01100000000000001000000000010110
+11000001100101000000000000000000
+01110000000000000001011000100101
+00100000011000000000000000000000
+00100000010000000010100110111011
+00100000010000000000000000011111
+00100000001000000101010010100011
+00100000010000000000011000011100
+00100000001000000101010101111101
+01101000000000001100011111000101
+01100000000000001100000101110010
+01110000010001111100010000000000
+00100000011000000000000000000000
+01101000000000001100001111010110
+00011111111001100111110000001100
+00100100001000010000010000100001
+01101000000000001100001111011000
+01101000000010001100011111000101
+10011000010001100111110000000000
+00100000001000010000011000011000
+01101000000000001100001111011000
+01100000000000001100000101110010
+00100000001000000000011000011010
+01101000000000001000010000111111
+11000100000000110000000000000000
+00100000010000000000011000101011
+00100100011101000000000000000000
+00100000001000000101010110100000
+01111000001101000111110000000000
+01101000000000001000010001011010
+00011111111100011111111000000000
+11000001100001111000000000000000
+01101000000000001000010001100000
+00011111111100011111111000000000
+11000001100000000000000000000000
+00100000001000000111111111101001
+01101000000000001000010001010110
+11000010100000101000011001000111
+00100000010000000000011011011001
+01101000000000001100011110001110
+00100100001110100000011000111101
+01101000000000001000010000111111
+11000011000000100000011001000001
+01101000000000001000001011011010
+00100000001110100000011001000001
+00100000001000000101011001100100
+01101000000000001100011110001110
+00011111111000001111111111111111
+01100000000000001100011110001110
+00100000001000000101011001100100
+01101000000000001100010011000100
+11000000100000101000011001000100
+01110000010001111000111000000011
+00100000010000000101100010010010
+00100000010110100000001111011011
+00100000001000000101011000100010
+00100000010000000000011001010000
+01101000000000001100110100001100
+00011111111001100111110000000010
+00100100010000010000011011011101
+01101000000000001100110100001100
+11000001000000000000000000000000
+00011111111000001111111111111111
+01100000000000001100110100001100
+00100000011000000000000000000000
+01101000000000001100011011000101
+00011111111000010111111000000011
+11000001100000011000000000000000
+01101000000000001100011111000001
+00100000011110100000000000000000
+01101000000000001100001111011101
+00100000011110100000000000000000
+01101000000000001100001111011100
+01111001001000000111111000000100
+01100000000000001100001111011100
+00100000010000000101011001010000
+00100000011000000000000000000000
+01101000000000001100011110011111
+00100000011110100000000000000000
+01101000000000001100011011000101
+00011111111000010111111000000011
+11000001000000011000000000000000
+01110000010001101100011000001010
+00100000011000000000000000000000
+11000110000001111000000000000000
+00100000010000000101100010010000
+00100100011110100000000000000000
+01101000000000001000001011011001
+00011111111000010111111000000011
+01100000000000001100010100001100
+11101000110000001000000000000000
+00011111111000010111111000011111
+01100000000000001100010100001011
+00100000011110100000000000000000
+00011000110000100111111000000000
+01100000000000010100010100001101
+01101000000000001100010100001100
+11000000000000011000011001110010
+00100000001000000101011010001101
+01101000000000001000001011011011
+11000000000000001000011001110101
+00100000001000000101110001100101
+11101000110000101000000000000000
+01100000000000101100001111001110
+11101000110000010000000000000000
+01100000000000010000010001011111
+00100000001000000101110010001010
+11101000110000010000000000000000
+11000000000000100000011001111110
+11000000000000110000011010011011
+00100000001000000101011010011000
+00100000010000000111111010100101
+00100000010000000000011001011100
+00100000010000000111111010011111
+11101000110000011000000000000000
+01100000000000011000010001110111
+11000000000010000000011010001101
+00011111111011001000010000000000
+00011000010001100111110000100100
+00100000001000010101100010101101
+11011000010000000100011111000110
+01100000000010010100010010111100
+00100000010000000101100010101101
+01011000000000001000111001111010
+01100000000000010100010010111100
+00100000011000000000000000000000
+00100000010000000101100111111010
+00100000010000000101100001111001
+00011000110000001000110000000111
+11101000110000001000000000000000
+11000001100010001000000000000000
+00011000110000001000110000000101
+11101000110000010000000000000000
+11011000010000000001100000010010
+10011000010001100111110000000000
+00100100011000101000000000000000
+00011000110000001000110111111100
+01011000000000000000000000101011
+11100000110000010000000000000000
+00100000011000000000000000000000
+11101000110000001000000000000000
+11000000000000001000011010011111
+11000000000000101000011010100001
+00100000001000000101101011110110
+01110000010010110100000000000001
+00100000001000000101101100001001
+00100000010000000101101101011010
+01101000000000001000010000111111
+01111001001111111111111000000101
+01100000000000001000010000111111
+00100000001000000101110010001110
+01101000000000001000000000010110
+11000000100100111101011011110010
+00100000010000000000011010101100
+11011000111000000000000000000000
+01101000000000010100010010000010
+00100000001000000111111100001000
+00011000000010100111111000000000
+11011000010000000000000111111111
+10011000010000010111111000000000
+00011111111000001111111011111010
+00100000001000000011110010111110
+01111000010101011111110000000000
+00100000001101110000011010110100
+00100100001101101101100000000110
+00100000010000000010101111001011
+01101000000000010100000011000001
+01100000000000010000010001001101
+01101000000000001100011011000101
+00101111111000000000011000000011
+00100100001000001010101111011110
+00100000001000000101011111111011
+01101000000000001100011110011111
+00100100011110100000000000000000
+01101000000000001000010001111000
+00011111111001100111111000011010
+00100100011000101000000000000000
+00100000001000000011110101100000
+00100000010000000110001010111100
+00100100001110100111110111011011
+01101000000000001000101010011001
+11000101100001001111110111010110
+11000000000010010000011011000111
+00100000001000000111110111001010
+00100000010000000101100010010000
+00100100011110100000000000000000
+00100000001000000101101010111111
+01101000000100001000000001110111
+00011111111000010111111011111101
+01100000000100001000000001110111
+01101000000110001000000001110011
+00011000010000011000010000000010
+01100000000110001000000001110011
+00100000010000000110001111101110
+00011000010000010000010011111101
+00100000000000000000000000001101
+00100000010000000110001111110010
+01100000000110001000000001110011
+00100000011000000000000000000000
+01110000010011010000111100000001
+01110000010011010000110000000000
+00100000011000000000000000000000
+01101000000000001100110100001100
+00011111111000001111111000000001
+01100000000000001100110100001100
+00100000011000000000000000000000
+01110000010011010000110000000011
+00100000011000000000000000000000
+01101000000000010100011010000010
+11000011100001011000000000000000
+11011010001000000100110010010101
+00100000010000000000001010100111
+01100000000010001100110100001101
+01011000000000000000000010000010
+11000101000100110000011011100111
+01011000000000000000000010000000
+10011000010001100111110000000000
+00100100001000010000011011111111
+01101000000000001100110100001100
+00011111111001100111110000000010
+00100100001000010000011011101111
+01101000000000001100110100001100
+11000000000000000000011100000000
+00100000011000000000000000000000
+01101000000000001100110100001100
+11000001100100000000000000000000
+01110000010011010000110000000000
+01101000000010001100110100001101
+01011000000000000000000001110111
+11000101000100110000011011110110
+01011000000000000000000001110101
+10011000010001100111110000000000
+00100100011000010000000000000000
+01101000000000001100110100001111
+11000000000000000000011100000111
+00011111111000001111111111111111
+01100000000000001100110100001111
+11000000000000000000011100000111
+01110000010000011101111000000000
+00100000011000000000000000000000
+01110000010011010000110000000000
+01101000000000001100110100001111
+11000000000000010000011100000101
+00011111111000001111111000000001
+01100000000000001100110100001111
+11000000000000001000011011111101
+01110000010000011101111000000010
+00100000011000000000000000000000
+01110000010000011101111000000100
+00100000011000000000000000000000
+01100000000010001000000000010111
+00011000010000001010001000000000
+00100000010000000010100110000001
+01011000000000000000010100000000
+00100000010000000010101010001111
+01110000100010010000011000000001
+01110000100010010000000000111100
+01110000100010010000000111100000
+00100000000000000000000000001010
+01110000100010010000001000000001
+01110000100010010000001000111101
+00100000000000000000000000001010
+01110000100010010000001110110111
+00100000000000000000000000001010
+01110000100010010000001001111101
+01101000000000001100000111011110
+11000000000000010000011100100001
+11000000000000100000011100101001
+11000000000100000000011100110011
+00100000010000000000011100101110
+01110000100010010101010111010000
+01110000100010010101011011100000
+01110000100010010101100001101100
+00100000001000000010100101001011
+01110000100010010100110011111011
+01110000100010010100110111101111
+01110000100010010100111011101100
+01110000100010010100111101011110
+01110000100010010101010111010000
+01110000100010010101011011100000
+01110000100010010101100000111100
+00100000001000000010100101010011
+00100000010000000000011100101110
+01110000100010010101010111010000
+01110000100010010101011011000000
+01110000100010010101100001101100
+00100000001000000010100101011011
+01110000100010010100110001011011
+01110000100010010100110110010110
+01110000100010010100111000101100
+01110000100010010100111101000110
+00100000011000000000000000000000
+01110000100010010101011011000010
+01110000100010010101010111010000
+00100000011000000000000000000000
+00011000000000000010101000001000
+00100000001000000010100011111010
Index: output/eeprom.dat
===================================================================
--- /branch/mouse_project/ZhongXinSheng/ZXS_1062/MJ391_24G&BLE_PB/output/eeprom.dat	(revision 0)
+++ /branch/mouse_project/ZhongXinSheng/ZXS_1062/MJ391_24G&BLE_PB/output/eeprom.dat	(working copy)
@@ -0,0 +1,8057 @@
+00
+02
+aa
+55
+e2
+1c
+c2
+84
+00
+12
+c0
+00
+00
+29
+c0
+00
+80
+3b
+c0
+42
+87
+36
+c0
+44
+87
+09
+c0
+50
+80
+44
+c0
+58
+80
+49
+c0
+59
+00
+5a
+c0
+62
+02
+ce
+c0
+64
+83
+5f
+c0
+65
+03
+63
+c0
+71
+83
+c5
+c0
+73
+05
+81
+c0
+74
+85
+bc
+c0
+75
+05
+c6
+c0
+75
+85
+d6
+c0
+76
+05
+ff
+20
+20
+2a
+8e
+c0
+1c
+86
+05
+c0
+21
+86
+0d
+c0
+25
+06
+13
+c0
+2b
+86
+16
+c0
+2c
+86
+26
+c0
+31
+86
+33
+c0
+33
+06
+63
+c0
+33
+86
+7a
+c0
+35
+06
+a6
+c0
+3b
+86
+b1
+c0
+7d
+06
+c1
+c0
+46
+06
+ca
+20
+20
+2a
+8e
+1f
+e2
+22
+00
+68
+08
+cc
+8e
+58
+00
+4c
+95
+98
+40
+8a
+00
+1a
+22
+7e
+00
+e0
+a0
+80
+00
+18
+40
+84
+01
+18
+41
+04
+07
+60
+08
+cc
+8e
+20
+60
+00
+00
+20
+40
+00
+2b
+20
+20
+20
+02
+70
+4b
+3d
+00
+68
+08
+c6
+ed
+20
+40
+67
+fb
+68
+08
+c6
+ed
+20
+40
+68
+1d
+24
+60
+80
+00
+20
+40
+7e
+c1
+68
+08
+c6
+ed
+20
+40
+68
+1d
+24
+60
+80
+00
+70
+4b
+3d
+01
+20
+60
+00
+00
+68
+00
+cb
+3d
+20
+7a
+00
+00
+20
+40
+04
+c6
+20
+20
+04
+44
+d8
+a0
+09
+ae
+df
+20
+00
+0c
+20
+40
+7e
+d4
+20
+40
+03
+99
+20
+40
+6a
+03
+20
+40
+5c
+f6
+24
+55
+ac
+65
+20
+40
+7c
+cd
+20
+20
+20
+0c
+58
+00
+0a
+06
+60
+01
+c5
+10
+58
+00
+1d
+87
+60
+01
+45
+13
+20
+20
+2a
+a2
+c6
+13
+00
+00
+20
+40
+00
+54
+68
+00
+cb
+01
+c0
+00
+ff
+ef
+68
+00
+c7
+9c
+c0
+00
+7f
+ef
+68
+00
+c7
+c4
+c0
+00
+ff
+ef
+68
+00
+c8
+06
+24
+3a
+7f
+ef
+20
+20
+7f
+f1
+20
+40
+7f
+f1
+68
+00
+cb
+01
+24
+5a
+7f
+ef
+68
+00
+cb
+07
+24
+5a
+7f
+ef
+20
+60
+00
+00
+c6
+93
+00
+00
+68
+00
+cd
+15
+c2
+80
+80
+71
+c2
+81
+00
+81
+68
+00
+cd
+13
+c0
+00
+80
+b2
+20
+40
+01
+31
+24
+34
+00
+c9
+20
+40
+01
+18
+20
+40
+01
+54
+68
+00
+cb
+e3
+c1
+ff
+80
+00
+20
+40
+06
+df
+20
+40
+00
+ae
+68
+00
+cd
+13
+c1
+00
+80
+00
+68
+00
+cb
+01
+c0
+00
+80
+93
+20
+40
+00
+d5
+24
+74
+00
+00
+20
+40
+02
+bf
+58
+00
+ec
+54
+20
+20
+2b
+93
+68
+00
+cb
+42
+c0
+00
+ad
+d4
+20
+40
+01
+e0
+20
+40
+01
+72
+24
+2c
+00
+98
+24
+37
+80
+98
+68
+00
+cd
+15
+79
+3f
+fe
+01
+60
+00
+cd
+15
+20
+40
+01
+9c
+20
+40
+02
+ec
+68
+02
+4b
+fb
+68
+0a
+4b
+df
+98
+46
+7c
+00
+20
+22
+83
+22
+20
+20
+00
+87
+68
+00
+cb
+42
+c0
+00
+ad
+d4
+20
+40
+01
+e0
+20
+40
+01
+72
+24
+2c
+00
+aa
+24
+37
+80
+aa
+79
+20
+00
+26
+68
+00
+cd
+15
+79
+3f
+fe
+02
+60
+00
+cd
+15
+70
+4b
+3a
+00
+70
+0a
+99
+3c
+20
+40
+7d
+86
+68
+02
+4b
+fb
+68
+0a
+4c
+0a
+98
+46
+7c
+00
+20
+42
+80
+96
+20
+40
+01
+6c
+70
+4d
+13
+01
+70
+4d
+14
+00
+20
+60
+00
+00
+68
+02
+4b
+b3
+20
+20
+01
+a7
+68
+00
+cd
+11
+1f
+e0
+fe
+01
+1f
+e1
+7e
+03
+60
+00
+cd
+11
+c0
+00
+00
+a1
+c0
+00
+81
+a3
+c0
+01
+01
+ed
+c0
+01
+81
+a3
+20
+60
+00
+00
+20
+40
+02
+ec
+68
+02
+4c
+0a
+60
+02
+4b
+fb
+68
+00
+cb
+45
+60
+00
+cb
+de
+20
+40
+00
+a9
+60
+08
+cb
+45
+20
+60
+00
+00
+20
+40
+01
+a8
+68
+08
+cb
+de
+20
+40
+02
+1e
+60
+08
+cb
+de
+20
+60
+00
+00
+58
+01
+77
+00
+60
+01
+cc
+02
+70
+4b
+3c
+14
+20
+60
+00
+00
+20
+40
+02
+98
+24
+74
+00
+00
+20
+40
+00
+c3
+68
+00
+cd
+14
+1f
+e0
+fe
+01
+60
+00
+cd
+14
+1f
+e6
+7c
+19
+20
+42
+80
+bb
+20
+20
+00
+60
+70
+4d
+13
+00
+70
+4d
+14
+00
+70
+4c
+0e
+00
+68
+00
+cb
+f9
+60
+00
+cb
+f8
+20
+60
+00
+00
+68
+00
+cb
+fa
+20
+20
+00
+bf
+68
+00
+cc
+0e
+1f
+e0
+fe
+01
+60
+00
+cc
+0e
+c0
+02
+00
+c1
+c0
+02
+80
+bd
+20
+60
+00
+00
+68
+00
+cb
+ff
+20
+5a
+00
+e0
+68
+00
+cb
+06
+24
+7a
+00
+00
+68
+00
+cb
+01
+c1
+00
+80
+00
+20
+40
+00
+d5
+24
+74
+00
+00
+68
+01
+cc
+02
+20
+40
+7f
+49
+60
+0a
+41
+5b
+20
+20
+2b
+2a
+78
+34
+7c
+00
+20
+40
+2a
+fa
+68
+01
+c1
+6f
+20
+3a
+7f
+e9
+68
+00
+c0
+91
+20
+3a
+7f
+e9
+68
+00
+c5
+b1
+20
+3a
+7f
+e9
+68
+00
+cd
+13
+c0
+00
+ff
+e9
+20
+20
+02
+c2
+70
+4b
+ff
+01
+70
+4d
+08
+00
+20
+40
+00
+f0
+60
+00
+cb
+6f
+58
+00
+00
+00
+60
+03
+cb
+70
+68
+02
+4c
+0a
+60
+02
+4b
+77
+70
+4b
+d3
+0c
+68
+00
+cb
+d4
+79
+20
+7e
+03
+60
+00
+cb
+d4
+20
+40
+01
+34
+20
+20
+00
+63
+70
+4d
+09
+01
+70
+4d
+0b
+00
+68
+00
+cb
+d4
+1f
+e1
+7e
+07
+60
+00
+cb
+d4
+20
+60
+00
+00
+68
+00
+cb
+d4
+79
+20
+7e
+04
+60
+00
+cb
+d4
+60
+00
+cb
+8f
+20
+60
+00
+00
+68
+00
+cb
+d4
+79
+3f
+fe
+04
+60
+00
+cb
+d4
+60
+00
+cb
+8f
+20
+40
+06
+48
+20
+20
+00
+aa
+68
+00
+cd
+08
+c0
+80
+80
+f0
+68
+00
+cd
+06
+1f
+e0
+fe
+01
+60
+00
+cd
+06
+c0
+02
+01
+08
+20
+40
+00
+aa
+70
+4c
+18
+02
+20
+20
+01
+54
+20
+40
+06
+48
+70
+4d
+06
+00
+20
+20
+00
+f0
+70
+4d
+0b
+02
+70
+4d
+09
+01
+70
+4d
+08
+00
+20
+20
+00
+f0
+68
+00
+cd
+0a
+c0
+01
+81
+0c
+68
+00
+cb
+d4
+2f
+ec
+00
+04
+20
+20
+80
+ee
+68
+00
+cd
+0a
+c0
+00
+81
+0b
+c0
+01
+01
+0c
+20
+60
+00
+00
+68
+00
+cb
+e3
+c1
+ff
+80
+00
+20
+40
+01
+1d
+24
+56
+01
+25
+20
+60
+00
+00
+78
+56
+7c
+00
+68
+00
+cd
+09
+c1
+80
+80
+00
+68
+00
+cd
+0b
+c1
+80
+00
+00
+70
+4d
+0a
+01
+70
+4c
+18
+04
+20
+20
+7f
+eb
+68
+00
+cd
+0b
+20
+3a
+01
+2c
+1f
+e0
+ff
+ff
+60
+00
+cd
+0b
+70
+4d
+0a
+02
+70
+4c
+18
+04
+20
+20
+00
+aa
+70
+4d
+0a
+03
+68
+00
+cd
+08
+24
+3a
+00
+ff
+70
+4c
+18
+02
+20
+20
+00
+aa
+68
+00
+cb
+e3
+c0
+ff
+81
+b5
+20
+40
+01
+37
+20
+40
+02
+0c
+70
+4b
+d8
+01
+20
+60
+00
+00
+68
+01
+4d
+04
+20
+40
+7f
+9c
+20
+34
+01
+3d
+68
+03
+cb
+70
+20
+7a
+00
+00
+20
+20
+7f
+e7
+20
+40
+03
+b9
+70
+4b
+ff
+00
+1a
+20
+fe
+01
+60
+00
+cb
+d3
+20
+40
+00
+f0
+60
+00
+cb
+6f
+e8
+a8
+80
+00
+ea
+40
+80
+00
+98
+41
+fe
+00
+e0
+a0
+80
+00
+1a
+40
+a4
+01
+ea
+42
+00
+00
+e0
+a2
+00
+00
+1a
+40
+a4
+04
+d8
+a0
+4b
+75
+df
+20
+00
+02
+ea
+40
+80
+00
+e8
+a8
+80
+00
+98
+40
+fe
+00
+e0
+a0
+80
+00
+1a
+40
+a4
+01
+c2
+00
+01
+4d
+20
+60
+00
+00
+70
+4b
+dc
+00
+d9
+60
+0d
+00
+34
+73
+02
+00
+20
+40
+01
+72
+68
+00
+cc
+0f
+c1
+00
+80
+00
+24
+2c
+01
+81
+24
+37
+81
+81
+20
+40
+01
+6c
+20
+40
+01
+9c
+20
+40
+06
+d9
+68
+00
+cb
+d2
+1f
+e0
+fe
+01
+60
+00
+cb
+d2
+20
+40
+01
+6f
+68
+00
+cb
+e3
+c0
+ff
+81
+cf
+20
+40
+01
+0f
+58
+00
+00
+00
+60
+01
+4b
+d9
+60
+00
+cb
+db
+60
+00
+cd
+07
+70
+4b
+d8
+00
+20
+60
+00
+00
+df
+20
+00
+04
+d8
+a0
+4b
+6f
+20
+20
+7e
+c6
+68
+00
+cb
+d4
+c2
+82
+00
+f9
+20
+60
+00
+00
+78
+57
+fc
+00
+20
+40
+02
+77
+68
+00
+cc
+0f
+c0
+00
+81
+7f
+18
+00
+2a
+00
+68
+02
+4b
+fb
+98
+00
+12
+00
+68
+08
+80
+17
+20
+40
+29
+1f
+20
+40
+29
+24
+20
+40
+02
+34
+20
+57
+82
+70
+20
+60
+00
+00
+20
+40
+02
+70
+20
+20
+01
+5f
+68
+01
+4b
+d9
+1f
+e0
+fe
+01
+60
+01
+4b
+d9
+68
+00
+cb
+da
+c2
+82
+2d
+d4
+68
+00
+cb
+e3
+c0
+ff
+81
+8a
+20
+40
+01
+92
+20
+20
+01
+55
+68
+00
+cb
+d9
+c1
+ff
+80
+00
+58
+00
+00
+00
+60
+01
+4b
+d9
+20
+20
+2d
+d4
+20
+40
+07
+00
+20
+40
+06
+48
+20
+20
+00
+aa
+68
+00
+cb
+dc
+1f
+e6
+7c
+0b
+24
+21
+01
+8f
+1f
+e0
+fe
+01
+60
+00
+cb
+dc
+c0
+01
+00
+f4
+c0
+03
+00
+f9
+c0
+04
+00
+f4
+c0
+06
+00
+f9
+20
+60
+00
+00
+20
+40
+01
+ff
+68
+00
+cb
+d1
+20
+7a
+00
+00
+98
+00
+72
+00
+d8
+c0
+4b
+4f
+d8
+a0
+4b
+b1
+20
+20
+7f
+01
+70
+41
+de
+20
+70
+4b
+d2
+00
+70
+4b
+dd
+4e
+68
+02
+4b
+df
+60
+02
+4b
+fb
+da
+20
+00
+00
+df
+20
+00
+04
+d8
+c0
+4b
+fb
+e8
+c0
+80
+00
+9a
+20
+a2
+00
+c2
+00
+01
+ab
+1a
+22
+7e
+00
+60
+01
+4c
+84
+68
+00
+cc
+84
+68
+08
+cc
+85
+98
+40
+fe
+00
+60
+00
+cc
+86
+20
+60
+00
+00
+68
+00
+cb
+d8
+c0
+00
+ff
+e7
+68
+00
+cb
+e3
+c0
+00
+81
+bc
+c0
+01
+01
+bf
+c0
+01
+81
+c2
+20
+20
+2a
+8c
+70
+4b
+e3
+11
+70
+11
+9e
+aa
+20
+20
+01
+c4
+70
+4b
+e3
+12
+70
+11
+9e
+55
+20
+20
+01
+c4
+70
+4b
+e3
+13
+70
+11
+9e
+22
+68
+00
+cb
+d4
+1f
+e1
+7e
+07
+60
+00
+91
+9f
+68
+02
+4c
+0a
+60
+02
+11
+a0
+70
+11
+a4
+00
+da
+20
+11
+9e
+d8
+40
+00
+07
+20
+40
+01
+fa
+20
+40
+01
+34
+20
+20
+7f
+e7
+20
+40
+06
+d6
+68
+00
+cb
+e3
+c1
+7f
+80
+00
+c0
+08
+81
+d6
+c0
+09
+01
+d8
+c0
+09
+81
+da
+20
+60
+00
+00
+70
+4b
+e3
+02
+20
+20
+01
+66
+70
+4b
+e3
+03
+20
+20
+01
+66
+70
+4b
+e3
+ff
+70
+0a
+99
+39
+20
+40
+7d
+86
+68
+02
+4b
+b3
+20
+40
+01
+a7
+20
+20
+01
+66
+70
+11
+9e
+ff
+68
+00
+cb
+d4
+60
+00
+91
+9f
+68
+02
+4c
+0a
+60
+02
+11
+a0
+d8
+40
+00
+06
+da
+20
+11
+9e
+20
+40
+01
+fa
+20
+20
+02
+0c
+58
+00
+00
+00
+60
+01
+4b
+43
+70
+4b
+42
+00
+20
+60
+00
+00
+70
+41
+de
+20
+58
+00
+0f
+0f
+60
+01
+4b
+fb
+e0
+a1
+00
+00
+68
+00
+cb
+46
+60
+00
+cb
+de
+20
+40
+00
+a9
+60
+08
+cb
+46
+20
+60
+00
+00
+79
+3f
+80
+26
+20
+40
+53
+ce
+d8
+e0
+00
+03
+20
+20
+43
+d2
+60
+08
+cb
+d3
+18
+42
+72
+00
+d8
+a0
+4b
+6f
+1a
+22
+0c
+00
+20
+20
+7f
+01
+68
+00
+cb
+4e
+1f
+e9
+7e
+00
+60
+00
+cb
+d1
+1f
+e0
+fe
+01
+d8
+c0
+4b
+4e
+98
+c0
+8c
+00
+e8
+c1
+80
+00
+60
+01
+cc
+10
+68
+00
+cb
+4e
+1f
+e3
+7e
+00
+1f
+e1
+7e
+03
+60
+00
+cc
+16
+20
+60
+00
+00
+68
+00
+cb
+d3
+1f
+e0
+fe
+02
+60
+00
+cb
+d5
+68
+00
+cb
+d4
+60
+00
+cb
+8f
+68
+00
+cb
+d3
+1f
+e9
+fe
+00
+68
+08
+cb
+d2
+18
+41
+04
+03
+18
+43
+84
+00
+98
+41
+fe
+00
+68
+08
+cc
+0f
+98
+40
+fe
+00
+e0
+a0
+80
+00
+68
+00
+cb
+d3
+98
+00
+72
+00
+d8
+c0
+4b
+6f
+20
+20
+7f
+01
+20
+40
+02
+22
+18
+40
+84
+01
+18
+41
+04
+03
+20
+60
+00
+00
+68
+00
+cb
+fb
+1f
+e1
+7e
+03
+1f
+ef
+a2
+04
+58
+00
+4b
+e4
+9a
+20
+fe
+00
+98
+40
+8c
+00
+e8
+c0
+80
+00
+60
+00
+cb
+dd
+20
+60
+00
+00
+78
+44
+fc
+00
+78
+43
+fc
+00
+58
+55
+55
+55
+98
+00
+1e
+00
+68
+00
+cb
+dd
+1f
+ed
+84
+00
+79
+20
+04
+01
+18
+43
+1c
+00
+20
+60
+00
+00
+20
+40
+02
+2b
+78
+57
+fc
+00
+78
+26
+fc
+00
+78
+30
+fc
+00
+78
+50
+7c
+00
+78
+28
+7c
+00
+68
+01
+4b
+d6
+98
+00
+36
+00
+37
+c1
+84
+00
+24
+2c
+02
+70
+78
+46
+fc
+00
+78
+25
+fc
+00
+78
+23
+fc
+00
+78
+24
+fc
+00
+20
+40
+02
+6d
+60
+00
+cc
+87
+68
+08
+cc
+86
+98
+46
+7c
+00
+24
+22
+82
+70
+20
+40
+02
+6d
+60
+00
+cb
+4d
+68
+00
+cc
+19
+1f
+e6
+7c
+02
+20
+22
+82
+50
+68
+00
+cb
+4d
+68
+08
+cb
+d4
+a8
+40
+0e
+00
+24
+20
+82
+70
+20
+40
+02
+6d
+e0
+a0
+80
+00
+1f
+e9
+7e
+00
+1f
+e1
+72
+1f
+20
+22
+82
+58
+20
+40
+02
+6d
+e0
+a0
+80
+00
+c2
+00
+02
+55
+18
+a2
+22
+00
+20
+40
+02
+6d
+60
+00
+cd
+0e
+1a
+22
+0a
+00
+09
+80
+00
+18
+78
+28
+7c
+00
+db
+60
+06
+64
+1f
+ef
+7e
+00
+1f
+f1
+7e
+00
+e0
+a1
+80
+00
+78
+45
+fc
+00
+20
+23
+02
+70
+78
+37
+fc
+00
+68
+00
+80
+17
+1f
+e0
+a2
+00
+20
+40
+29
+81
+78
+46
+fc
+00
+20
+40
+29
+18
+68
+00
+cd
+0e
+20
+40
+00
+1f
+20
+60
+00
+00
+09
+80
+00
+08
+19
+89
+7e
+00
+20
+60
+00
+00
+78
+4d
+fc
+00
+78
+45
+fc
+00
+20
+40
+26
+4d
+20
+60
+00
+00
+20
+40
+29
+18
+68
+08
+cb
+dd
+20
+20
+29
+33
+20
+40
+53
+c4
+68
+02
+4b
+fb
+98
+00
+12
+00
+20
+40
+02
+2b
+20
+40
+02
+74
+79
+20
+2a
+00
+78
+2e
+fc
+00
+78
+30
+7c
+00
+78
+50
+fc
+00
+19
+31
+7e
+00
+1f
+ec
+fe
+00
+1f
+f1
+fe
+00
+08
+00
+86
+28
+78
+4e
+fc
+00
+78
+2d
+fc
+00
+78
+23
+fc
+00
+78
+24
+fc
+00
+68
+00
+cc
+86
+08
+00
+86
+08
+68
+00
+cb
+d5
+98
+00
+72
+00
+d8
+c0
+4b
+8f
+e8
+c0
+80
+00
+08
+00
+86
+08
+c2
+00
+02
+8d
+78
+24
+7c
+00
+08
+00
+86
+18
+78
+44
+7c
+00
+37
+d3
+82
+00
+20
+00
+00
+64
+78
+4e
+fc
+00
+78
+4d
+fc
+00
+20
+60
+00
+00
+20
+40
+7f
+e9
+68
+0a
+4b
+f4
+1c
+42
+7e
+00
+98
+46
+7c
+00
+24
+41
+2d
+18
+1f
+e2
+24
+00
+68
+02
+4b
+f4
+68
+08
+cb
+f8
+98
+40
+84
+00
+1a
+42
+7e
+00
+98
+46
+7c
+00
+24
+61
+00
+00
+79
+3f
+fe
+1c
+60
+02
+4b
+f4
+20
+20
+7f
+e7
+d8
+40
+00
+00
+df
+20
+00
+08
+1a
+22
+0c
+00
+e8
+c0
+80
+00
+98
+40
+84
+00
+c2
+00
+02
+aa
+18
+49
+7e
+00
+1f
+e2
+04
+00
+c6
+93
+00
+00
+1f
+e6
+fc
+0a
+20
+40
+7f
+86
+18
+07
+fe
+00
+1f
+f2
+7e
+00
+18
+07
+04
+00
+98
+41
+84
+00
+20
+60
+00
+00
+20
+60
+00
+00
+c6
+13
+00
+00
+20
+40
+03
+8f
+20
+40
+02
+c2
+68
+00
+c0
+40
+c3
+00
+02
+bf
+68
+00
+80
+a0
+24
+7a
+00
+00
+58
+00
+00
+00
+60
+04
+00
+a1
+20
+60
+00
+00
+20
+40
+02
+cb
+20
+40
+02
+bf
+20
+40
+3e
+bf
+68
+12
+00
+70
+68
+1a
+00
+78
+98
+41
+84
+00
+18
+44
+04
+00
+60
+1a
+00
+7c
+20
+60
+00
+00
+68
+00
+cb
+0c
+20
+7a
+00
+00
+20
+20
+03
+c5
+20
+40
+34
+16
+20
+35
+82
+d9
+20
+40
+03
+d2
+68
+00
+c1
+de
+60
+00
+cc
+8a
+20
+40
+06
+d6
+68
+00
+c6
+85
+60
+00
+c6
+da
+20
+40
+43
+ca
+68
+01
+c4
+a3
+60
+01
+cb
+48
+20
+40
+02
+db
+20
+20
+74
+b9
+24
+55
+83
+3b
+20
+40
+03
+26
+20
+75
+80
+00
+20
+40
+03
+7a
+20
+40
+05
+8f
+c0
+02
+83
+0f
+20
+40
+03
+6d
+20
+40
+02
+ec
+68
+00
+c7
+20
+c0
+01
+02
+ef
+c0
+7f
+82
+ef
+20
+40
+05
+26
+68
+00
+c2
+10
+c0
+1a
+02
+f9
+70
+47
+9d
+01
+70
+47
+9e
+28
+20
+60
+00
+00
+68
+00
+cc
+8a
+60
+00
+c1
+de
+20
+60
+00
+00
+20
+40
+05
+26
+20
+40
+04
+43
+20
+40
+03
+71
+20
+34
+03
+1a
+79
+20
+00
+26
+68
+00
+cd
+15
+79
+20
+7e
+02
+60
+00
+cd
+15
+20
+40
+00
+a9
+20
+20
+03
+1e
+70
+4b
+40
+01
+70
+47
+9f
+01
+68
+01
+46
+a8
+68
+08
+cb
+1e
+18
+46
+7c
+ff
+24
+22
+83
+00
+58
+00
+02
+58
+60
+01
+46
+ae
+20
+40
+34
+18
+20
+40
+03
+08
+58
+00
+00
+04
+e0
+c0
+80
+00
+d8
+c0
+43
+90
+20
+40
+05
+fb
+20
+20
+7d
+f4
+da
+20
+43
+70
+ea
+20
+80
+00
+20
+7a
+00
+00
+98
+c0
+a2
+00
+e8
+c0
+80
+00
+c1
+00
+80
+00
+20
+20
+03
+09
+68
+00
+cd
+15
+c2
+81
+03
+12
+c6
+13
+00
+00
+d8
+e0
+00
+03
+20
+40
+43
+ce
+58
+00
+00
+00
+60
+01
+46
+ae
+60
+00
+c6
+b4
+60
+01
+4c
+00
+20
+40
+42
+ca
+70
+47
+20
+02
+79
+20
+00
+26
+68
+00
+cd
+15
+79
+20
+7e
+01
+60
+00
+cd
+15
+58
+00
+00
+32
+60
+01
+4b
+43
+70
+4b
+42
+00
+20
+60
+00
+00
+79
+20
+00
+26
+20
+40
+01
+a3
+70
+4b
+e3
+01
+20
+60
+00
+00
+70
+42
+12
+76
+20
+20
+3d
+36
+20
+40
+03
+26
+20
+40
+40
+c0
+20
+40
+40
+d9
+c0
+18
+03
+34
+c0
+18
+83
+36
+20
+40
+40
+d1
+20
+00
+03
+e8
+20
+20
+03
+2a
+70
+4b
+0c
+01
+20
+40
+64
+0f
+20
+40
+03
+28
+20
+20
+64
+11
+20
+40
+03
+be
+20
+20
+40
+e0
+20
+40
+03
+be
+68
+00
+c6
+de
+c0
+38
+40
+e8
+70
+46
+e0
+01
+20
+60
+00
+00
+68
+02
+40
+a0
+60
+02
+4c
+0a
+20
+40
+3e
+6e
+20
+40
+3e
+1e
+58
+00
+00
+00
+60
+01
+41
+54
+20
+40
+68
+a8
+20
+40
+3e
+54
+20
+40
+58
+10
+20
+40
+58
+39
+20
+40
+58
+2c
+20
+40
+58
+18
+20
+40
+65
+9c
+20
+40
+65
+c2
+20
+40
+44
+3f
+20
+40
+03
+5b
+20
+40
+04
+31
+20
+40
+65
+df
+df
+20
+00
+03
+d8
+c0
+47
+22
+20
+40
+03
+73
+24
+34
+03
+53
+20
+40
+03
+55
+20
+60
+00
+00
+70
+4b
+1e
+5a
+20
+60
+00
+00
+70
+4b
+1e
+ff
+70
+42
+10
+34
+58
+0f
+0f
+0f
+60
+01
+c4
+a0
+60
+01
+c4
+a3
+20
+60
+00
+00
+20
+40
+33
+c4
+20
+22
+83
+67
+20
+40
+05
+cb
+20
+20
+3d
+cb
+d8
+40
+00
+02
+da
+20
+0a
+aa
+da
+40
+00
+62
+20
+20
+65
+d1
+d8
+40
+00
+02
+da
+20
+0a
+9a
+da
+40
+00
+62
+20
+20
+33
+c8
+d8
+40
+00
+58
+da
+20
+47
+20
+da
+40
+00
+00
+20
+40
+65
+df
+20
+40
+00
+37
+20
+20
+43
+1a
+20
+40
+03
+28
+20
+40
+04
+55
+70
+47
+1e
+00
+20
+60
+00
+00
+df
+20
+00
+02
+d8
+c0
+4b
+fb
+20
+40
+7f
+e7
+58
+00
+ff
+ff
+e8
+c9
+00
+00
+98
+46
+7c
+00
+24
+42
+ff
+e9
+c2
+00
+03
+75
+20
+60
+00
+00
+58
+00
+03
+8b
+60
+01
+4d
+04
+58
+00
+03
+a2
+60
+01
+41
+ef
+58
+00
+06
+bb
+60
+01
+41
+f9
+58
+00
+02
+b8
+60
+01
+41
+ed
+58
+00
+03
+f2
+60
+01
+41
+f5
+58
+00
+03
+f0
+60
+01
+41
+f3
+58
+00
+04
+48
+60
+01
+41
+eb
+58
+00
+04
+5b
+60
+01
+41
+fd
+20
+60
+00
+00
+20
+40
+44
+01
+68
+01
+46
+9f
+20
+7a
+00
+00
+20
+20
+00
+93
+d8
+c0
+18
+00
+d8
+a0
+48
+0a
+20
+40
+03
+97
+d8
+c0
+19
+00
+20
+40
+03
+97
+d8
+c0
+1a
+00
+20
+40
+03
+97
+d8
+c0
+1b
+00
+df
+20
+00
+1b
+20
+20
+7f
+01
+d8
+c0
+48
+0a
+d8
+a0
+18
+00
+20
+40
+03
+97
+d8
+a0
+19
+00
+20
+40
+03
+97
+d8
+a0
+1a
+00
+20
+40
+03
+97
+d8
+a0
+1b
+00
+20
+20
+03
+97
+20
+40
+58
+92
+24
+7a
+00
+00
+68
+00
+cb
+1e
+c0
+7f
+83
+a9
+68
+00
+c6
+c5
+1f
+e1
+7e
+03
+c1
+81
+80
+00
+68
+00
+c7
+9c
+20
+5a
+03
+ed
+68
+02
+46
+d3
+c2
+82
+c1
+79
+20
+40
+3f
+97
+24
+74
+00
+00
+20
+40
+03
+b6
+20
+40
+03
+b9
+20
+40
+03
+e8
+da
+20
+46
+9a
+20
+40
+7e
+3d
+20
+54
+03
+d7
+20
+60
+00
+00
+70
+41
+72
+00
+70
+4b
+3b
+1e
+20
+60
+00
+00
+68
+00
+cb
+3a
+c1
+80
+80
+00
+58
+00
+00
+00
+60
+00
+cb
+3a
+60
+02
+46
+9b
+58
+00
+80
+06
+20
+40
+64
+13
+20
+00
+2e
+e0
+68
+00
+c7
+7a
+c0
+ff
+83
+c5
+68
+00
+c6
+e1
+60
+00
+c7
+7a
+68
+00
+c6
+e0
+c0
+03
+03
+c8
+20
+20
+3d
+81
+68
+00
+c7
+7a
+20
+5a
+03
+ce
+68
+00
+c7
+7a
+c0
+00
+83
+d0
+c0
+01
+bd
+8c
+20
+20
+3d
+88
+70
+47
+7a
+01
+20
+60
+00
+00
+70
+46
+b5
+00
+20
+20
+3d
+c1
+70
+47
+a0
+07
+70
+47
+a1
+04
+58
+00
+47
+a0
+60
+01
+42
+18
+20
+20
+7e
+38
+68
+00
+c7
+c1
+1f
+e0
+fe
+01
+60
+00
+c7
+c1
+20
+60
+00
+00
+da
+20
+46
+9a
+20
+40
+7e
+54
+20
+34
+03
+df
+20
+60
+00
+00
+20
+40
+56
+52
+68
+00
+c7
+c1
+1f
+e6
+7c
+01
+24
+41
+56
+50
+68
+00
+c7
+c1
+20
+7a
+00
+00
+1f
+e0
+ff
+ff
+60
+00
+c7
+c1
+20
+20
+3f
+90
+68
+01
+46
+9f
+20
+7a
+00
+00
+70
+48
+06
+01
+70
+48
+07
+02
+20
+60
+00
+00
+20
+40
+58
+14
+70
+47
+9c
+01
+20
+20
+03
+be
+20
+40
+7e
+34
+20
+20
+3e
+e0
+1a
+62
+7e
+00
+c0
+0a
+03
+fc
+c0
+0a
+84
+04
+c0
+14
+84
+0e
+c0
+19
+04
+10
+c0
+20
+04
+17
+c0
+1c
+84
+23
+c0
+1d
+04
+35
+c0
+1e
+04
+3f
+20
+20
+41
+7d
+70
+4b
+41
+01
+68
+00
+c7
+9f
+24
+3a
+04
+00
+70
+4b
+3f
+14
+20
+40
+03
+30
+20
+40
+04
+3c
+20
+40
+03
+d2
+20
+20
+41
+c3
+70
+4b
+41
+00
+20
+40
+04
+52
+58
+00
+00
+07
+60
+01
+44
+96
+60
+01
+44
+98
+70
+47
+c4
+00
+70
+47
+9c
+00
+20
+40
+03
+d2
+20
+40
+58
+16
+20
+20
+41
+d9
+70
+0a
+99
+12
+20
+20
+7d
+8f
+68
+00
+c7
+9f
+c0
+00
+84
+13
+20
+20
+04
+15
+20
+40
+04
+0e
+70
+46
+c6
+14
+d8
+e0
+00
+01
+20
+20
+41
+b9
+68
+01
+45
+09
+c1
+00
+00
+00
+68
+00
+84
+41
+1f
+eb
+7e
+00
+1f
+e6
+7c
+0c
+20
+61
+00
+00
+58
+00
+00
+09
+60
+01
+44
+96
+60
+01
+44
+98
+20
+40
+04
+0e
+70
+47
+c4
+01
+20
+60
+00
+00
+20
+40
+01
+e9
+20
+40
+03
+30
+70
+47
+8b
+01
+d8
+e0
+00
+03
+20
+40
+43
+d2
+58
+00
+00
+00
+60
+01
+47
+07
+70
+46
+a7
+00
+20
+40
+40
+5d
+20
+40
+04
+3c
+20
+40
+04
+43
+20
+40
+02
+ec
+20
+40
+04
+31
+20
+20
+65
+d1
+da
+20
+4b
+fb
+da
+40
+00
+5b
+d8
+40
+00
+04
+20
+60
+00
+00
+20
+40
+04
+52
+70
+4d
+13
+00
+20
+40
+02
+ec
+20
+40
+01
+f6
+68
+00
+cb
+09
+24
+3a
+02
+e9
+20
+20
+34
+0a
+70
+47
+9d
+00
+70
+47
+9e
+00
+20
+60
+00
+00
+20
+40
+01
+e9
+20
+40
+03
+30
+20
+40
+3f
+8d
+20
+40
+04
+3c
+20
+40
+43
+66
+d8
+40
+00
+01
+da
+20
+47
+20
+da
+40
+00
+00
+20
+20
+65
+d1
+78
+34
+7c
+00
+68
+12
+01
+38
+79
+34
+7e
+1a
+60
+12
+00
+4c
+20
+40
+2c
+21
+20
+40
+04
+52
+20
+40
+74
+bd
+20
+40
+44
+82
+20
+40
+3e
+9f
+20
+20
+3e
+bf
+68
+00
+cb
+0c
+20
+7a
+00
+00
+70
+4b
+0c
+00
+58
+00
+00
+06
+20
+40
+64
+14
+1f
+e1
+fe
+08
+1f
+ed
+7e
+00
+1f
+e0
+fe
+06
+20
+20
+64
+13
+20
+40
+05
+37
+20
+40
+05
+72
+20
+40
+04
+89
+20
+40
+04
+a7
+20
+40
+04
+8e
+20
+40
+04
+b0
+20
+40
+42
+34
+20
+40
+04
+6a
+20
+40
+04
+71
+20
+40
+42
+37
+20
+40
+04
+78
+20
+40
+04
+7b
+20
+40
+04
+81
+20
+40
+04
+e6
+20
+20
+42
+3a
+da
+60
+4b
+3c
+da
+40
+04
+6d
+20
+20
+33
+6d
+58
+36
+ee
+80
+60
+01
+cc
+02
+70
+4b
+3a
+01
+20
+60
+00
+00
+da
+60
+4b
+43
+da
+40
+04
+74
+20
+20
+33
+74
+70
+4b
+42
+01
+20
+40
+05
+31
+20
+40
+04
+55
+20
+20
+02
+e9
+da
+60
+46
+c6
+da
+40
+3d
+60
+20
+20
+33
+6d
+da
+60
+4b
+3b
+da
+40
+04
+7e
+20
+20
+33
+6d
+68
+00
+c7
+c5
+60
+00
+c1
+72
+20
+20
+04
+6f
+68
+00
+cb
+41
+20
+7a
+00
+00
+da
+60
+4b
+3f
+da
+40
+04
+86
+20
+20
+33
+6d
+68
+00
+cb
+40
+24
+7a
+00
+00
+20
+20
+5b
+f5
+da
+60
+48
+07
+da
+40
+04
+8c
+20
+20
+33
+6d
+70
+48
+06
+00
+20
+60
+00
+00
+68
+08
+c6
+ec
+20
+40
+68
+1d
+20
+20
+84
+94
+20
+40
+43
+a9
+d8
+e0
+00
+09
+20
+20
+43
+d2
+70
+47
+9e
+28
+20
+40
+04
+97
+20
+20
+43
+b0
+da
+60
+46
+da
+da
+40
+04
+9a
+20
+20
+33
+6d
+68
+02
+46
+d3
+c3
+84
+80
+00
+70
+4b
+0a
+00
+20
+40
+04
+e2
+68
+01
+46
+82
+2f
+ef
+fe
+0b
+20
+40
+c2
+d4
+68
+01
+46
+82
+2f
+ef
+fe
+07
+20
+40
+c3
+92
+d8
+e0
+00
+09
+20
+40
+43
+ce
+20
+20
+43
+b8
+68
+00
+c7
+9d
+20
+7a
+00
+00
+68
+00
+cb
+06
+24
+7a
+00
+00
+da
+60
+47
+9e
+da
+40
+04
+ae
+20
+20
+33
+6d
+70
+47
+9d
+00
+20
+20
+34
+0a
+68
+08
+c6
+ed
+20
+40
+05
+b7
+68
+08
+c6
+ed
+20
+40
+68
+1d
+20
+20
+84
+cd
+68
+00
+cb
+3d
+24
+3a
+04
+db
+68
+00
+c6
+d9
+c1
+00
+80
+00
+70
+46
+d9
+01
+70
+4a
+ff
+01
+d8
+40
+00
+01
+da
+20
+4b
+0a
+da
+40
+00
+61
+20
+40
+65
+df
+68
+00
+cb
+0a
+20
+3a
+04
+e1
+20
+40
+04
+c6
+70
+41
+bd
+00
+20
+40
+04
+44
+20
+40
+43
+c0
+20
+20
+43
+7e
+68
+08
+c7
+20
+18
+40
+84
+01
+68
+00
+c6
+d2
+98
+46
+7c
+00
+24
+41
+43
+cc
+60
+08
+c7
+20
+20
+60
+00
+00
+68
+01
+46
+82
+c2
+85
+84
+d0
+70
+4a
+ff
+00
+68
+00
+c6
+d9
+c1
+00
+00
+00
+70
+46
+d9
+00
+68
+01
+42
+08
+c3
+85
+00
+00
+68
+00
+c7
+20
+c1
+80
+80
+00
+68
+01
+42
+0a
+79
+20
+7e
+0a
+60
+01
+42
+0a
+20
+20
+43
+86
+70
+4b
+3d
+00
+68
+00
+c6
+d9
+24
+3a
+02
+e2
+70
+46
+d9
+01
+70
+4a
+ff
+01
+20
+60
+00
+00
+70
+4b
+0a
+ff
+d8
+40
+00
+01
+da
+20
+4b
+0a
+da
+40
+00
+61
+20
+20
+65
+d1
+68
+00
+ca
+ff
+20
+7a
+00
+00
+68
+00
+cb
+02
+c0
+00
+04
+ec
+c0
+00
+84
+f6
+20
+60
+00
+00
+20
+40
+05
+00
+68
+00
+cb
+07
+1f
+e0
+fe
+01
+60
+00
+cb
+07
+68
+08
+cb
+03
+98
+46
+7c
+00
+20
+42
+84
+f4
+20
+60
+00
+00
+70
+4b
+09
+00
+20
+20
+05
+14
+68
+00
+cb
+05
+1f
+e0
+ff
+ff
+60
+00
+cb
+05
+24
+7a
+00
+00
+68
+00
+cb
+04
+60
+00
+cb
+05
+68
+00
+cb
+01
+c0
+00
+85
+14
+c0
+00
+05
+00
+20
+60
+00
+00
+70
+4b
+01
+01
+68
+00
+c7
+20
+c0
+01
+05
+08
+68
+08
+cb
+00
+20
+40
+68
+0e
+68
+08
+cb
+00
+20
+40
+68
+25
+20
+20
+05
+0c
+68
+08
+cb
+4b
+20
+40
+68
+0e
+68
+08
+cb
+4b
+20
+40
+68
+25
+68
+01
+46
+82
+c3
+85
+80
+00
+68
+08
+cb
+4c
+20
+40
+68
+0e
+68
+08
+cb
+4c
+20
+20
+68
+25
+58
+00
+00
+00
+60
+01
+cb
+05
+68
+00
+cb
+06
+24
+3a
+05
+18
+70
+4a
+ff
+00
+70
+4b
+02
+00
+70
+4b
+07
+00
+70
+4b
+01
+00
+68
+08
+cb
+00
+20
+40
+68
+0e
+68
+08
+cb
+00
+20
+40
+68
+29
+68
+08
+cb
+4b
+20
+40
+68
+0e
+68
+08
+cb
+4b
+20
+40
+68
+29
+68
+08
+cb
+4c
+20
+40
+68
+0e
+68
+08
+cb
+4c
+20
+20
+68
+29
+70
+4b
+09
+01
+70
+4a
+ff
+01
+70
+4b
+02
+00
+70
+4b
+07
+00
+20
+60
+00
+00
+70
+4b
+04
+03
+70
+4b
+06
+01
+70
+4b
+05
+01
+70
+4a
+ff
+01
+70
+4b
+02
+01
+20
+60
+00
+00
+70
+4b
+06
+00
+68
+00
+cb
+07
+24
+7a
+00
+00
+68
+00
+cb
+09
+24
+7a
+00
+00
+20
+20
+05
+12
+68
+01
+4b
+06
+24
+7a
+00
+00
+da
+60
+46
+ce
+da
+40
+05
+3c
+20
+20
+33
+6d
+70
+46
+ce
+0a
+20
+40
+05
+59
+20
+40
+69
+08
+1f
+ef
+fe
+02
+d8
+40
+00
+0e
+98
+46
+7e
+00
+1f
+e6
+7c
+78
+20
+41
+05
+53
+1f
+e6
+7c
+64
+20
+41
+05
+56
+60
+01
+47
+0f
+da
+20
+47
+09
+20
+40
+05
+65
+68
+00
+c2
+31
+c2
+80
+b4
+0a
+c3
+00
+05
+4e
+70
+4b
+0b
+01
+20
+20
+43
+e7
+20
+40
+43
+e9
+68
+00
+cb
+0b
+20
+7a
+00
+00
+70
+4b
+0b
+00
+20
+20
+05
+14
+d8
+40
+00
+08
+98
+46
+7e
+00
+20
+60
+00
+00
+d8
+40
+00
+06
+98
+46
+7e
+00
+20
+60
+00
+00
+68
+00
+c2
+2d
+c0
+01
+05
+5c
+20
+20
+68
+ec
+68
+08
+c6
+f8
+20
+40
+67
+fb
+68
+10
+80
+7c
+79
+3f
+fe
+05
+60
+10
+80
+7c
+68
+10
+80
+78
+79
+3f
+fe
+05
+60
+10
+80
+78
+20
+20
+68
+f4
+ea
+24
+00
+00
+60
+04
+0a
+9a
+68
+09
+0a
+9c
+68
+01
+0a
+a0
+98
+46
+7c
+00
+24
+21
+69
+44
+68
+09
+0a
+9e
+98
+46
+7c
+00
+24
+21
+69
+40
+68
+00
+c2
+31
+79
+3f
+fe
+00
+60
+00
+c2
+31
+20
+60
+00
+00
+68
+02
+46
+d3
+c4
+02
+00
+00
+68
+01
+46
+82
+c3
+85
+80
+00
+68
+01
+4b
+06
+24
+7a
+00
+00
+68
+00
+c6
+cf
+1f
+e0
+fe
+01
+60
+00
+c6
+cf
+c0
+02
+85
+0c
+1f
+e6
+7c
+0a
+24
+21
+05
+7f
+20
+60
+00
+00
+70
+46
+cf
+01
+20
+20
+05
+14
+78
+54
+7c
+00
+58
+00
+00
+00
+60
+03
+46
+9b
+20
+40
+05
+8a
+20
+40
+40
+79
+20
+40
+40
+7e
+20
+40
+05
+8d
+24
+74
+00
+00
+20
+20
+3f
+a0
+20
+40
+3f
+c0
+78
+54
+7c
+00
+20
+20
+3f
+e7
+20
+40
+05
+8f
+20
+20
+40
+9a
+da
+20
+00
+00
+20
+40
+05
+95
+20
+40
+05
+93
+20
+20
+40
+8e
+20
+40
+05
+a5
+20
+20
+05
+ab
+68
+08
+c6
+e2
+20
+40
+05
+b7
+68
+08
+c6
+e2
+20
+40
+68
+1d
+79
+20
+a2
+00
+68
+08
+c6
+e3
+20
+40
+05
+b7
+68
+08
+c6
+e3
+20
+40
+68
+1d
+79
+20
+a2
+01
+68
+08
+c6
+e4
+20
+40
+05
+b7
+68
+08
+c6
+e4
+20
+40
+68
+1d
+79
+20
+a2
+02
+20
+60
+00
+00
+68
+08
+c6
+e5
+20
+40
+05
+b1
+68
+08
+c6
+e5
+20
+40
+68
+1d
+7d
+20
+a2
+03
+20
+20
+05
+b7
+68
+08
+c6
+e6
+20
+40
+05
+b1
+68
+08
+c6
+e6
+20
+40
+68
+1d
+7d
+20
+a2
+04
+20
+20
+05
+b7
+79
+3f
+84
+07
+d8
+a0
+80
+78
+20
+40
+68
+30
+79
+20
+04
+07
+d8
+a0
+80
+7c
+20
+20
+68
+0a
+79
+20
+04
+07
+d8
+a0
+80
+78
+20
+40
+68
+30
+79
+3f
+84
+07
+20
+20
+05
+b5
+70
+48
+08
+00
+70
+41
+e3
+0e
+20
+40
+41
+e7
+68
+01
+42
+08
+c2
+83
+85
+c2
+20
+20
+41
+e2
+20
+40
+41
+c1
+68
+01
+42
+08
+c2
+85
+04
+b0
+20
+20
+41
+f7
+70
+47
+9d
+00
+70
+47
+9e
+00
+28
+0f
+fe
+26
+20
+40
+81
+f6
+20
+20
+42
+6d
+20
+40
+68
+a2
+68
+01
+42
+1d
+60
+01
+47
+c2
+d8
+40
+00
+02
+da
+20
+47
+c2
+da
+40
+00
+5f
+20
+20
+65
+d1
+d8
+40
+00
+02
+da
+20
+47
+c2
+da
+40
+00
+5f
+20
+20
+65
+df
+70
+4b
+40
+00
+20
+40
+02
+ec
+70
+47
+20
+01
+70
+47
+9c
+00
+68
+01
+46
+82
+c2
+85
+85
+e4
+20
+40
+05
+d2
+68
+09
+47
+c2
+18
+40
+84
+01
+60
+09
+47
+c2
+60
+09
+44
+a1
+20
+40
+05
+ce
+18
+0a
+7e
+00
+60
+00
+c4
+a0
+68
+01
+cb
+48
+60
+01
+c4
+a3
+20
+40
+03
+53
+20
+40
+34
+18
+68
+01
+46
+87
+60
+01
+46
+ac
+70
+01
+6d
+06
+58
+00
+00
+00
+60
+01
+46
+b0
+60
+01
+46
+ae
+d8
+e0
+00
+07
+20
+40
+43
+ce
+20
+40
+43
+ca
+20
+40
+05
+f4
+20
+40
+42
+c4
+20
+20
+05
+2b
+70
+47
+9f
+00
+20
+40
+03
+08
+58
+00
+00
+05
+e0
+c0
+80
+00
+d8
+c0
+4b
+1f
+20
+40
+05
+fb
+20
+20
+7d
+f4
+d8
+a0
+43
+7b
+df
+20
+00
+13
+20
+40
+7f
+01
+20
+20
+57
+b8
+70
+4b
+06
+00
+20
+40
+05
+31
+58
+00
+00
+00
+60
+01
+46
+ac
+20
+40
+03
+be
+20
+20
+42
+cb
+68
+00
+c5
+0f
+1f
+e0
+fe
+01
+60
+00
+c5
+0f
+c0
+06
+53
+95
+20
+40
+55
+aa
+20
+40
+56
+1e
+20
+40
+06
+df
+20
+20
+53
+8f
+68
+00
+80
+16
+1f
+e0
+fe
+01
+60
+00
+80
+16
+c1
+94
+00
+00
+70
+00
+16
+25
+20
+60
+00
+00
+20
+40
+29
+bb
+20
+40
+00
+1f
+20
+20
+54
+a3
+20
+40
+06
+1c
+20
+20
+55
+7d
+68
+00
+c7
+c5
+60
+00
+c1
+72
+70
+47
+c4
+00
+20
+60
+00
+00
+68
+00
+c3
+d6
+1f
+e6
+7c
+0c
+24
+21
+04
+21
+68
+00
+c3
+d8
+68
+08
+c7
+c5
+98
+46
+7c
+00
+20
+21
+06
+18
+68
+00
+c3
+d8
+60
+00
+c1
+72
+20
+20
+06
+1a
+68
+00
+84
+3f
+c4
+03
+00
+00
+20
+40
+06
+2b
+24
+74
+00
+00
+20
+20
+55
+a0
+78
+34
+7c
+00
+68
+00
+84
+5a
+1f
+f1
+fe
+00
+c1
+87
+80
+00
+68
+00
+84
+60
+1f
+f1
+fe
+00
+c1
+80
+00
+00
+20
+20
+7f
+e9
+68
+00
+84
+56
+c2
+82
+86
+47
+20
+40
+06
+d9
+68
+00
+c7
+8e
+24
+3a
+06
+3d
+68
+00
+84
+3f
+c3
+02
+06
+41
+68
+00
+82
+da
+20
+3a
+06
+41
+20
+20
+56
+64
+68
+00
+c7
+8e
+1f
+e0
+ff
+ff
+60
+00
+c7
+8e
+20
+20
+56
+64
+68
+00
+c4
+c4
+c0
+82
+86
+44
+70
+47
+8e
+03
+20
+40
+58
+92
+20
+5a
+03
+db
+20
+20
+56
+22
+20
+40
+06
+50
+68
+00
+cd
+0c
+1f
+e6
+7c
+02
+24
+41
+06
+dd
+68
+00
+cd
+0c
+c1
+00
+00
+00
+1f
+e0
+ff
+ff
+60
+00
+cd
+0c
+20
+60
+00
+00
+68
+00
+c6
+c5
+1f
+e1
+7e
+03
+c1
+81
+80
+00
+68
+00
+c7
+c1
+20
+7a
+00
+00
+68
+00
+c3
+dd
+20
+7a
+00
+00
+68
+00
+c3
+dc
+79
+20
+7e
+04
+60
+00
+c3
+dc
+20
+40
+56
+50
+20
+60
+00
+00
+68
+00
+c7
+9f
+20
+7a
+00
+00
+68
+00
+c6
+c5
+1f
+e1
+7e
+03
+c1
+01
+80
+00
+70
+46
+c6
+0a
+20
+60
+00
+00
+c6
+07
+80
+00
+20
+40
+58
+90
+24
+7a
+00
+00
+68
+00
+82
+d9
+1f
+e1
+7e
+03
+60
+00
+c5
+0c
+e8
+c0
+80
+00
+1f
+e1
+7e
+1f
+60
+00
+c5
+0b
+20
+7a
+00
+00
+18
+c2
+7e
+00
+60
+01
+45
+0d
+68
+00
+c5
+0c
+c0
+01
+86
+72
+20
+20
+56
+8d
+68
+00
+82
+db
+c0
+00
+86
+75
+20
+20
+5c
+65
+e8
+c2
+80
+00
+60
+02
+c3
+ce
+e8
+c1
+00
+00
+60
+01
+04
+5f
+20
+20
+5c
+8a
+e8
+c1
+00
+00
+c0
+02
+06
+7e
+c0
+03
+06
+9b
+20
+20
+56
+98
+20
+40
+7e
+a5
+20
+40
+06
+5c
+20
+40
+7e
+9f
+e8
+c1
+80
+00
+60
+01
+84
+77
+c0
+08
+06
+8d
+1f
+ec
+84
+00
+18
+46
+7c
+24
+20
+21
+58
+ad
+d8
+40
+47
+c6
+60
+09
+44
+bc
+20
+40
+58
+ad
+58
+00
+8e
+7a
+60
+01
+44
+bc
+20
+60
+00
+00
+20
+40
+59
+fa
+20
+40
+58
+79
+18
+c0
+8c
+07
+e8
+c0
+80
+00
+c1
+88
+80
+00
+18
+c0
+8c
+05
+e8
+c1
+00
+00
+d8
+40
+18
+12
+98
+46
+7c
+00
+24
+62
+80
+00
+18
+c0
+8d
+fc
+58
+00
+00
+2b
+e0
+c1
+00
+00
+20
+60
+00
+00
+e8
+c0
+80
+00
+c0
+00
+86
+9f
+c0
+02
+86
+a1
+20
+20
+5a
+f6
+70
+4b
+40
+01
+20
+20
+5b
+09
+20
+40
+5b
+5a
+68
+00
+84
+3f
+79
+3f
+fe
+05
+60
+00
+84
+3f
+20
+20
+5c
+8e
+68
+00
+80
+16
+c0
+93
+d6
+f2
+20
+40
+06
+ac
+d8
+e0
+00
+00
+68
+01
+44
+82
+20
+20
+7f
+08
+18
+0a
+7e
+00
+d8
+40
+01
+ff
+98
+41
+7e
+00
+1f
+e0
+fe
+fa
+20
+20
+3c
+be
+78
+55
+fc
+00
+20
+37
+06
+b4
+24
+36
+d8
+06
+20
+40
+2b
+cb
+68
+01
+40
+c1
+60
+01
+04
+4d
+68
+00
+c6
+c5
+2f
+e0
+06
+03
+24
+20
+ab
+de
+20
+20
+57
+fb
+68
+00
+c7
+9f
+24
+7a
+00
+00
+68
+00
+84
+78
+1f
+e6
+7e
+1a
+24
+62
+80
+00
+20
+20
+3d
+60
+20
+40
+62
+bc
+24
+3a
+7d
+db
+68
+00
+8a
+99
+c5
+84
+fd
+d6
+c0
+09
+06
+c7
+20
+20
+7d
+ca
+20
+40
+58
+90
+24
+7a
+00
+00
+20
+20
+5a
+bf
+68
+10
+80
+77
+1f
+e1
+7e
+fd
+60
+10
+80
+77
+68
+18
+80
+73
+18
+41
+84
+02
+60
+18
+80
+73
+20
+40
+63
+ee
+18
+41
+04
+fd
+20
+00
+00
+0d
+20
+40
+63
+f2
+60
+18
+80
+73
+20
+60
+00
+00
+70
+4d
+0f
+01
+70
+4d
+0c
+00
+20
+60
+00
+00
+68
+00
+cd
+0c
+1f
+e0
+fe
+01
+60
+00
+cd
+0c
+20
+60
+00
+00
+70
+4d
+0c
+03
+20
+60
+00
+00
+68
+01
+46
+82
+c3
+85
+80
+00
+da
+20
+4c
+95
+20
+40
+02
+a7
+60
+08
+cd
+0d
+58
+00
+00
+82
+c5
+13
+06
+e7
+58
+00
+00
+80
+98
+46
+7c
+00
+24
+21
+06
+ff
+68
+00
+cd
+0c
+1f
+e6
+7c
+02
+24
+21
+06
+ef
+68
+00
+cd
+0c
+c0
+00
+07
+00
+20
+60
+00
+00
+68
+00
+cd
+0c
+c1
+90
+00
+00
+70
+4d
+0c
+00
+68
+08
+cd
+0d
+58
+00
+00
+77
+c5
+13
+06
+f6
+58
+00
+00
+75
+98
+46
+7c
+00
+24
+61
+00
+00
+68
+00
+cd
+0f
+c0
+00
+07
+07
+1f
+e0
+ff
+ff
+60
+00
+cd
+0f
+c0
+00
+07
+07
+70
+41
+de
+00
+20
+60
+00
+00
+70
+4d
+0c
+00
+68
+00
+cd
+0f
+c0
+01
+07
+05
+1f
+e0
+fe
+01
+60
+00
+cd
+0f
+c0
+00
+86
+fd
+70
+41
+de
+02
+20
+60
+00
+00
+70
+41
+de
+04
+20
+60
+00
+00
+60
+08
+80
+17
+18
+40
+a2
+00
+20
+40
+29
+81
+58
+00
+05
+00
+20
+40
+2a
+8f
+70
+89
+06
+01
+70
+89
+00
+3c
+70
+89
+01
+e0
+20
+00
+00
+0a
+70
+89
+02
+01
+70
+89
+02
+3d
+20
+00
+00
+0a
+70
+89
+03
+b7
+20
+00
+00
+0a
+70
+89
+02
+7d
+68
+00
+c1
+de
+c0
+01
+07
+21
+c0
+02
+07
+29
+c0
+10
+07
+33
+20
+40
+07
+2e
+70
+89
+55
+d0
+70
+89
+56
+e0
+70
+89
+58
+6c
+20
+20
+29
+4b
+70
+89
+4c
+fb
+70
+89
+4d
+ef
+70
+89
+4e
+ec
+70
+89
+4f
+5e
+70
+89
+55
+d0
+70
+89
+56
+e0
+70
+89
+58
+3c
+20
+20
+29
+53
+20
+40
+07
+2e
+70
+89
+55
+d0
+70
+89
+56
+c0
+70
+89
+58
+6c
+20
+20
+29
+5b
+70
+89
+4c
+5b
+70
+89
+4d
+96
+70
+89
+4e
+2c
+70
+89
+4f
+46
+20
+60
+00
+00
+70
+89
+56
+c2
+70
+89
+55
+d0
+20
+60
+00
+00
+18
+00
+2a
+08
+20
+20
+28
+fa
+78
+f9
+aa
+55
+08
+00
+a1
+00
+00
+00
+00
+00
+00
+00
+00
+00
+aa
+55
+01
+00
+6c
+0c
+ff
+aa
+55
+0a
+00
+9e
+11
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+aa
+55
+01
+00
+00
+40
+03
+aa
+55
+0e
+00
+10
+40
+20
+02
+00
+00
+02
+00
+06
+00
+10
+06
+00
+00
+48
+1e
+aa
+55
+0b
+00
+27
+40
+02
+08
+04
+80
+02
+c8
+04
+80
+00
+00
+10
+aa
+55
+01
+00
+3f
+40
+04
+aa
+55
+02
+00
+91
+40
+01
+42
+aa
+55
+06
+00
+a0
+40
+26
+10
+19
+20
+18
+10
+aa
+55
+06
+00
+bf
+40
+80
+04
+00
+08
+8f
+47
+aa
+55
+01
+00
+d1
+40
+01
+aa
+55
+0b
+00
+72
+41
+20
+00
+00
+8f
+1f
+ca
+00
+0a
+0b
+ef
+07
+aa
+55
+05
+00
+03
+42
+90
+1f
+00
+00
+06
+aa
+55
+04
+00
+11
+42
+80
+00
+00
+ff
+aa
+55
+03
+00
+1a
+42
+01
+13
+47
+aa
+55
+02
+00
+2d
+42
+02
+32
+aa
+55
+01
+00
+3a
+42
+14
+aa
+55
+02
+00
+41
+42
+00
+84
+aa
+55
+0c
+00
+6f
+43
+1f
+02
+01
+05
+03
+03
+12
+18
+03
+19
+c2
+03
+aa
+55
+0e
+00
+8f
+43
+1f
+0c
+09
+42
+54
+35
+2e
+30
+20
+4d
+6f
+75
+73
+65
+aa
+55
+0c
+00
+af
+43
+0b
+42
+54
+35
+2e
+30
+20
+4d
+6f
+75
+73
+65
+aa
+55
+02
+00
+6f
+44
+19
+00
+aa
+55
+01
+00
+8d
+44
+07
+aa
+55
+08
+00
+96
+44
+07
+00
+07
+00
+20
+00
+2c
+01
+aa
+55
+06
+00
+a0
+44
+8e
+b1
+3a
+0e
+8e
+ed
+aa
+55
+01
+00
+e5
+44
+50
+aa
+55
+02
+00
+fa
+44
+22
+00
+aa
+55
+01
+00
+5a
+45
+0a
+aa
+55
+04
+00
+5a
+46
+01
+03
+00
+04
+aa
+55
+01
+00
+62
+46
+03
+aa
+55
+05
+00
+84
+46
+01
+1e
+ff
+08
+07
+aa
+55
+07
+00
+a5
+46
+07
+00
+00
+50
+00
+70
+17
+aa
+55
+2b
+00
+ce
+46
+0a
+00
+00
+00
+02
+00
+00
+12
+45
+00
+00
+01
+00
+01
+ff
+00
+00
+00
+00
+02
+06
+03
+04
+06
+04
+03
+1b
+1c
+ff
+ff
+16
+16
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+30
+02
+ff
+05
+aa
+55
+01
+00
+03
+47
+02
+aa
+55
+06
+00
+09
+47
+96
+00
+5a
+00
+6e
+00
+aa
+55
+08
+00
+20
+47
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+aa
+55
+04
+00
+7f
+47
+01
+02
+03
+04
+aa
+55
+0e
+00
+8e
+47
+03
+4b
+ba
+55
+d0
+56
+e0
+57
+88
+58
+6c
+59
+10
+ff
+aa
+55
+41
+00
+c5
+47
+20
+25
+00
+02
+03
+28
+01
+12
+26
+00
+02
+4d
+2a
+07
+00
+00
+00
+00
+00
+00
+00
+27
+00
+02
+02
+29
+02
+00
+00
+28
+00
+02
+08
+29
+02
+11
+01
+29
+00
+02
+03
+28
+01
+0e
+2a
+00
+02
+4d
+2a
+07
+00
+00
+00
+00
+00
+00
+00
+2b
+00
+02
+08
+29
+02
+11
+02
+aa
+55
+08
+00
+fd
+4a
+19
+00
+00
+08
+00
+00
+14
+05
+aa
+55
+14
+00
+1f
+4b
+06
+ff
+06
+00
+03
+00
+80
+0c
+09
+42
+54
+35
+2e
+30
+20
+4d
+6f
+75
+73
+65
+aa
+55
+06
+00
+47
+4b
+0a
+00
+00
+00
+0a
+15
+aa
+55
+04
+00
+d4
+4b
+01
+00
+c0
+12
+aa
+55
+15
+00
+df
+4b
+20
+15
+10
+05
+ff
+00
+13
+2c
+42
+06
+15
+36
+48
+0f
+1a
+3a
+4c
+11
+23
+31
+4d
+aa
+55
+03
+00
+f8
+4b
+19
+19
+1c
+aa
+55
+03
+00
+02
+4c
+80
+ee
+36
+aa
+55
+02
+00
+18
+4c
+04
+01
+67
+5a
Index: output/memmap.format
===================================================================
--- /branch/mouse_project/ZhongXinSheng/ZXS_1062/MJ391_24G&BLE_PB/output/memmap.format	(revision 0)
+++ /branch/mouse_project/ZhongXinSheng/ZXS_1062/MJ391_24G&BLE_PB/output/memmap.format	(working copy)
@@ -0,0 +1,1919 @@
+0x0000 mem_le_adv_transmit
+0x0001 mem_le_adv_waitcnt
+0x0002 mem_le_adv_rcv
+0x0003 mem_le_req_rcv
+0x0004 mem_le_scanrsp_rcv
+0x0005 mem_le_conn_rcv
+0x0006 mem_inquiryscan_waitcnt
+0x0007 mem_inquiryscan_rcvcnt
+0x0008 mem_pagescan_waitcnt
+0x0009 mem_pagescan_rcvcnt
+0x000a mem_pagescan_rcvfhscnt
+0x000b mem_slave_rcvcnt
+0x000c mem_page_transmit
+0x000d mem_page_rcv
+0x000e mem_page_rcv_fhs
+0x000f mem_master_rcvcnt
+0x0010 mem_fhs_wait_counter
+0x0011 mem_newconnto_counter
+0x0012 mem_inquiry_transmit
+0x0013 mem_inquiry_rcv
+0x0014 mem_fw_ver
+0x0015 mem_current_context
+0x0016 mem_le_ch_mapped
+0x0017 mem_last_freq
+0x0018 mem_rssi
+0x0019 mem_rx_type
+0x001a mem_rx_hec_err
+0x001c mem_rx_crc_err
+0x001e mem_context_ptr
+0x0020 mem_display
+0x0028 mem_bcd
+0x0030 mem_state
+0x0031 mem_mode
+0x0032 mem_tsniff
+0x0034 mem_sniff_anchor
+0x0038 mem_clk_offset
+0x003e mem_rx_window
+0x0040 mem_plap
+0x0043 mem_puap
+0x0044 mem_pnap
+0x0046 mem_conn_handle
+0x0047 mem_arq
+0x0048 mem_lmp_to_send
+0x0049 mem_lmi_opcode
+0x004a mem_lmo_reason
+0x004b mem_op
+0x004c mem_state_map
+0x004d mem_supervision_timer
+0x0051 mem_supervision_to
+0x0053 mem_name_offset
+0x0054 mem_key_size
+0x0055 mem_conn_sm
+0x0056 mem_aco
+0x0062 mem_kc
+0x0072 mem_conn_timer
+0x0073 mem_sniff_attempt
+0x0074 mem_sniff_timeout
+0x0075 mem_dsniff
+0x0077 mem_amaddr
+0x0078 mem_lmo_opcode1
+0x0079 mem_lmi_opcode1
+0x007a mem_lmo_reason1
+0x007b mem_lmo_tid1
+0x007c mem_lmo_opcode2
+0x007d mem_lmi_opcode2
+0x007e mem_lmo_reason2
+0x007f mem_lmo_tid2
+0x0080 mem_hci_version
+0x0083 mem_acl_pktlen
+0x0085 mem_sco_pktlen
+0x0086 mem_acl_pktcnt
+0x0088 mem_sco_pktcnt
+0x008a mem_current_sniff_attempt
+0x008b mem_current_sniff_timeout
+0x008c mem_sniff_timeout_temp
+0x008d mem_nfreq_index_inq
+0x008e mem_nfreq_index_page
+0x008f mem_ninqy_index
+0x0090 mem_fhs_misc
+0x0091 mem_subsniff_instant
+0x0095 mem_subsniff_rate
+0x0096 mem_subsniff_tcmax
+0x0098 mem_subsniff_tsniff
+0x0099 mem_lpm_adjust
+0x009a mem_sync_clke
+0x00a0 mem_lpm_current_mult
+0x00a1 mem_gpio_wakeup_low
+0x00a5 mem_gpio_wakeup_high
+0x00a9 mem_air_mode
+0x00aa mem_sco_asso_handle
+0x00ab mem_sco_handle
+0x00ad mem_esco_desco
+0x00ae mem_esco_type
+0x00af mem_neogotiation_state
+0x00b0 mem_saved_amaddr
+0x00b1 mem_esco_arq
+0x00b2 mem_esco_saved_arq
+0x00b3 mem_sco_obuf
+0x00d1 mem_sco_ibuf
+0x00ef mem_sco_poll
+0x00f0 mem_npage_index
+0x00f1 mem_page_mode
+0x00f2 mem_page_clk
+0x00f6 mem_tst_pktcnt_sync
+0x00f8 mem_tst_pktcnt_hec
+0x00fa mem_tst_pktcnt_crc
+0x00fc mem_tst_pktcnt_dmh
+0x00fe mem_tmp_buffer_head
+0x0101 mem_tmp_buffer
+0x0151 mem_tester_emulate
+0x0152 mem_temp_payload
+0x0152 test_mode_scenario
+0x0153 test_mode_hopping_mode
+0x0154 test_mode_tx_freq
+0x0155 test_mode_rx_freq
+0x0156 test_mode_power_mode
+0x0157 test_mode_poll_period
+0x0158 test_mode_packet_type
+0x0159 test_mode_data_length
+0x015b mem_test_mode_old_debug_config
+0x015c mem_tester_cnt
+0x015d mem_temp_am_addr
+0x015e mem_temp_arq
+0x015f mem_len
+0x0161 mem_clkn_bt
+0x0165 mem_clke_bt
+0x0169 mem_dpll_clkn
+0x016d mem_connection_options
+0x016e mem_nameres_cnt
+0x016f mem_txptr
+0x0171 mem_slot_offset
+0x0173 extm_fhs_misc
+0x0174 extm_newconn_am_addr
+0x0175 extm_class
+0x0178 extm_lap
+0x017b extm_uap
+0x017c extm_nap
+0x017f mem_debug_config
+0x0180 mem_lch_code
+0x0181 mem_fhs_am_addr
+0x0182 mem_dpll_error
+0x0184 mem_select_list_item
+0x0185 mem_temp_reconn_record
+0x0185 mem_record_bt_mode
+0x0186 mem_temp_lap
+0x018c mem_list_item_ptr
+0x018e mem_eir
+0x01f2 mem_ucode_status
+0x01f3 mem_otp_ucode_flag
+0x01f5 mem_spid_tbuf/* spid buf: 03 addr[23:16] addr[15:8] addr[7:0] */
+0x01f6 mem_iicd_tbuf/* iicd buf: iic_adr addr[15:8] addr[7:0] iic_adr */
+0x01f6 mem_addr_hi
+0x01f7 mem_addr_mi
+0x01f8 mem_addr_lo
+0x01f9 mem_iicd_addr
+0x01fa mem_spid_rbuf
+0x01fe mem_ucode_buf
+0x0200 mem_ucode_len
+0x0202 mem_sched_addr
+0x0204 mem_ucode_ptr
+0x0206 mem_ucode_keybuf
+0x0216 mem_check_plap_temp
+0x0228 mem_reconnect_flag
+0x0229 mem_switch_fail_master_count
+0x022a mem_app_evt_timer_count
+0x022b mem_init_cnt
+0x022d mem_h5rx_ackcnt
+0x022e mem_check_err_acl_cont
+0x022f mem_rp_packets
+0x0230 mem_packet_type
+0x0232 mem_hci_sniff_conn_handle
+0x0234 mem_hci_sniff_max_interval
+0x0236 mem_hci_sniff_min_interval
+0x0238 mem_hci_sniff_attempt
+0x023a mem_hci_sniff_timeout
+0x023c mem_voice_setting
+0x023e mem_retransmission_effort
+0x023f mem_sco_ptype
+0x0241 mem_extm_uap_restore
+0x0244 mem_h5rx_rptr
+0x0246 mem_h5rx_ack
+0x0247 mem_h5tx_ack
+0x0248 mem_h5tx_rptr
+0x024a mem_h5tx_wptr
+0x024c mem_h5tx_free
+0x024e mem_h5rx_tmp
+0x024f mem_h5tx_seq
+0x0250 mem_hci_acl_queue_wptr
+0x0252 mem_hci_acl_queue_rptr
+0x0254 mem_hci_acl_queue_end
+0x0256 mem_hci_acl_queue_wcnt
+0x0257 mem_hci_acl_cnt
+0x0258 mem_hci_acl_tx_trigger_wptr//tx via uart
+0x025a mem_hci_curr_len
+0x025b mem_hci_curr_target
+0x025d mem_l2cap_mem_start
+0x025d mem_l2cap_rxbuff1_len
+0x025f mem_l2cap_rxbuff2_len
+0x0261 mem_l2cap_rxbuff_new
+0x0263 mem_l2cap_rxbuff_inuse
+0x0264 mem_l2cap_payload_ptr
+0x0266 mem_l2cap_rx_pkt_length
+0x0268 mem_l2cap_rx_cid
+0x026a mem_l2cap_rx_done
+0x026b mem_l2cap_signal_tx_buff_ptr
+0x026d mem_l2cap_signal_tx_payload_ptr
+0x026f mem_l2cap_signal_tx_length
+0x0271 mem_sdp_tx_buff_ptr
+0x0273 mem_sdp_tx_payload_ptr
+0x0275 mem_sdp_tx_pkt_length
+0x0277 mem_rfcomm_tx_buff_ptr
+0x0279 mem_rfcomm_tx_payload_ptr
+0x027b mem_rfcomm_tx_pkt_length
+0x027d memL2CAP_T1
+0x027f mem_CONTROL_tasks
+0x0280 mem_send_config_req
+0x0281 mem_config_identifier
+0x0282 mem_config_req_dest_CID
+0x0284 mem_rfcomm_malloc_fail_flag
+0x0285 mem_message_to_uppersm
+0x0286 mem_upper_sm_remote_page
+0x0287 mem_upper_sm_reconn
+0x0288 mem_upper_sm_ss
+0x0289 mem_tx_malloc_log
+0x02c9 mem_l2cap_mem_end
+0x02c9 mem_scid
+0x02cb mem_cmd_length
+0x02cd mem_tt2
+0x02cf mem_tt3
+0x02d1 mem_id
+0x02d3 mem_psm
+0x02d5 mem_l2cap_sdpres_delay_time
+0x02d9 mem_le_rxbuf
+0x0311 mem_le_l2capbuf
+0x0417 mem_le_mic
+0x041b mem_le_peer_mic
+0x041f mem_le_peer_ltk
+0x042f mem_le_mrand
+0x043f mem_le_state
+0x0440 mem_le_mode
+0x0441 mem_le_tsniff
+0x0443 mem_le_anchor
+0x0447 mem_le_clk_offset
+0x044d mem_le_receive_window
+0x044f mem_le_plap
+0x0455 mem_le_conn_handle
+0x0456 mem_le_arq
+0x0457 mem_le_ch
+0x0458 mem_le_hop
+0x0459 mem_le_event_count
+0x045b mem_le_supervision_timer
+0x045f mem_le_instant
+0x0461 mem_le_channels
+0x0462 mem_le_op
+0x0463 mem_le_access
+0x0467 mem_le_crcinit
+0x046a mem_le_window_size
+0x046b mem_le_slave_latency
+0x046d mem_le_superto
+0x046f mem_le_channel_map
+0x0474 mem_le_no_using
+0x0476 mem_le_peer_sca
+0x0477 mem_le_att_opcode
+0x0478 mem_le_att_handle
+0x047a mem_le_err_code
+0x047b mem_le_ll_pairing_fail_reason
+0x047c mem_le_sk
+0x048c mem_le_testtype
+0x048d mem_le_test_sync
+0x048f mem_le_test_pcnt
+0x0491 mem_le_rxon_ts
+0x0497 mem_le_rx_ll_opcode
+0x0498 mem_le_notify_attr_start
+0x049a mem_le_notify_len
+0x049b mem_cmd_le_create_conn
+0x049c mem_le_cur_attlist_start_ptr
+0x049e mem_le_cur_handle_start
+0x04a0 mem_le_cur_handle_end
+0x04a2 mem_le_cur_uuid_length
+0x04a3 mem_le_cur_uuid
+0x04b3 mem_le_curr_att_len
+0x04b4 mem_le_search_res
+0x04b5 mem_le_continue_type
+0x04b6 mem_lmo_header_length
+0x04b7 mem_lmo_header_opcode
+0x04b8 mem_lmo_payload
+0x04c9 mem_lmi_accepted_opcode
+0x04ca mem_disconn_reason_send
+0x04cb mem_tx_fixed_freq
+0x04cc mem_rx_fixed_freq
+0x04cd mem_ext_features_page
+0x04ce mem_lmpext_ssp_enable
+0x04d0 mem_remote_sppcap
+0x04d1 mem_lmp_conn_state
+0x04d2 mem_soft_timer
+0x04d4 mem_pincode_state
+0x04d5 mem_sres_tid
+0x04d6 mem_accptsco_tid
+0x04d7 mem_auth_enable
+0x04d8 mem_wait_encryption
+0x04d9 mem_sniff_payload
+0x04e9 mem_aurand_send_delay_time
+0x04ed memRemoteRPNBitRate
+0x04ee memRemotePRNDataBits
+0x04ef memRemotePRNStopBit
+0x04f0 memRemotePRNParity
+0x04f1 memRemotePRNFlowControl
+0x04f2 memRemotePRNXon
+0x04f3 memRemotePRNXoff
+0x04f4 mem_mod2div_temp
+0x04f7 mem_contw_temp
+0x04f9 mem_attrib_list
+0x04fb mem_current_adss
+0x04fc mem_current_channel
+0x04fd mem_current_frame_type
+0x04fe mem_current_fcs
+0x04ff mem_current_length
+0x0501 mem_rfcomm_uih_payload_ptr
+0x0503 mem_uih_cmd_type
+0x0504 mem_uih_length
+0x0506 mem_param_payload_ptr
+0x0508 mem_ms_param
+0x0509 mem_pn_credit_flow_type_info
+0x050a mem_pn_priority
+0x050b mem_pn_acknowledg_timer
+0x050c mem_pn_max_retrans
+0x050d mem_rfcomm_send_adss
+0x050e mem_rfcomm_send_frame_type
+0x050f mem_rfcomm_send_fcs
+0x0510 mem_rfcomm_send_offset
+0x0511 mem_sdp_mem_start
+0x0511 mem_sdp_uuid_search_ptr
+0x0519 mem_sdp_continue_byte
+0x051b mem_sdp_pduid
+0x051c mem_sdp_transactionid
+0x051e mem_sdp_transactionid_local
+0x0520 mem_sdp_attribute_maxbyte
+0x0522 mem_sdp_record_maxcnt
+0x0524 mem_sdp_record_handle
+0x0528 mem_sdp_LACAP_found
+0x0529 mem_sdp_RFCOMM_found
+0x052a mem_sdp_handle_list
+0x052a mem_sdp_attrib_list
+0x054a mem_sdp_error_code
+0x054c mem_sdp_all_length
+0x054e mem_handle_humber
+0x054f mem_search_uuid
+0x0551 mem_sdp_mem_end
+0x0551 mem_rxbuf
+0x0562 mem_random_number
+0x0572 mem_round_key
+0x0582 mem_kinit
+0x0592 mem_input_store
+0x05a2 mem_x
+0x05b2 mem_y
+0x05c1 mem_y15
+0x05c2 mem_key_store
+0x05d3 mem_key_store_end
+0x05d4 memp_ar_key
+0x05d6 memp_ar_input
+0x05d8 mem_ar_hround
+0x05e2 mem_ec_infinite
+0x05e3 mem_ec_loopc
+0x05e5 mem_aes_cmac_data_length
+0x05e6 memdat
+0x05e6 mem_ax
+0x05fe mem_ay
+0x0616 mem_az
+0x062e mem_bx
+0x0646 mem_ax_256//32 bytes
+0x0646 mem_by
+0x065e mem_bz
+0x0666 mem_ay_256// 32 bytes
+0x0676 mem_cx
+0x0686 mem_az_256// 32 bytes
+0x068e mem_cy
+0x06a5 mem_cy5
+0x06a6 mem_bx_256// 32 bytes
+0x06a6 mem_cz
+0x06be mem_k
+0x06c6 mem_by_256// 31 bytes
+0x06d6 mem_align
+0x06e6 mem_bz_256//32 bytes
+0x06e6 mem_tmp1
+0x06e6 memahbak
+0x06fe mem_tmp5
+0x0706 mem_cx_256//32 bytes
+0x0706 memahsave
+0x0716 mem_tmp2
+0x0726 mem_cy_256// 32 bytes
+0x0726 memahsave_end
+0x0726 mem_addr_padding
+0x0727 mem_addr_value/* 12 bytes     */ 
+0x072e mem_tmp3
+0x072e mem_t1
+0x0733 mem_addr_value_end
+0x0736 mem_addr_iocap_end
+0x0745 mem_cy5_256// 1 byte
+0x0746 mem_cz_256// 32 bytes
+0x0746 mem_tmp0
+0x0746 mem_t0
+0x074e mem_tmp0a
+0x075e mem_t2
+0x0766 mem_k_256//32 bytes
+0x0776 mem_t3
+0x0786 mem_tmp1_256//32 bytes
+0x078e mem_t7
+0x07a6 mem_tmp5_256
+0x07c6 mem_tmp2_256
+0x07e6 mem_tmp3_256
+0x07e6 mem_t1_256
+0x0806 mem_tmp0_256
+0x0806 mem_t0_256
+0x0826 mem_t2_256
+0x0846 mem_t3_256
+0x0866 mem_t7_256
+0x0886 mem_p
+0x089e mem_a
+0x08b6 mem_b
+0x08ce mem_gx
+0x08e6 mem_gy
+0x08fe memh0
+0x091e mem_p_256
+0x093e mem_a_256
+0x095e mem_gx_256
+0x097e mem_gy_256
+0x099e mem_le_slat
+0x09ae mem_sp_state_start
+0x09ae mem_sp_state
+0x09af mem_master_sp_state
+0x09b0 mem_sp_flag
+0x09b1 mem_master_sp_flag
+0x09b2 mem_sp_calc
+0x09b3 mem_sp_dh_ready
+0x09b4 mem_sp_localsm
+0x09b5 mem_pairing_auth
+0x09b6 mem_sp_flag_start
+0x09b6 mem_sp_local_key_send_count
+0x09b7 mem_sp_remote_key_recv_count
+0x09b8 mem_sp_remote_key_invalid
+0x09b9 mem_sp_dhkey_invalid
+0x09ba mem_gkey
+0x09be mem_le_pubkey_remote_x_256
+0x09c6 mem_sp_pubkey_remote
+0x09c6 mem_sp_pubkey_remote_x
+0x09de mem_sp_pubkey_remote_x_end
+0x09de mem_le_pubkey_remote_y_256
+0x09e6 mem_sp_pubkey_remote_y
+0x09fe mem_le_dhkey_256
+0x0a06 mem_sp_dhkey
+0x0a1e mem_sp_dhkey_end
+0x0a1e mem_sp_random_local
+0x0a2e mem_sp_random_local_end
+0x0a2e mem_sp_random_remote
+0x0a3e mem_sp_random_remote_end
+0x0a3e memresult
+0x0a3e mem_sp_calc_result
+0x0a3e memh
+0x0a42 memg
+0x0a46 memf
+0x0a4a meme
+0x0a4e mem_sp_calc_result_high
+0x0a4e memd
+0x0a52 memc
+0x0a56 memb
+0x0a5a mema
+0x0a5e mem_sp_check_result
+0x0a6e mem_sp_confirm_remote
+0x0a7e mem_sp_prarm_stack
+0x0a8e mem_UI_data_txbuff_length
+0x0a90 mem_ipc_skip_continue_proc
+0x0a91 mem_ui_timer_temp//length 4
+0x0a91 mem_ipc_rega_temp
+0x0a95 mem_hold_contr
+0x0a97 mem_hold_contw
+0x0a99 mem_fifo_temp
+0x0a9a mem_pdatatemp
+0x0aa2 mem_temp//8 bytes
+0x0aaa mem_timeup// 4 bytes
+0x0aae mem_rega//4 bytes
+0x0ab2 mem_regb//4 bytes
+0x0ab6 mem_regc//3 bytes
+0x0ab9 mem_contr//2 bytes
+0x0abb mem_contw//2 bytes
+0x0abd mem_wakup_from_power_flag
+0x0abe mem_saved_gpio_in
+0x0ac2 mem_shutter_random_mac_data_temp
+0x0ac2 mem_shutter_config_data_temp
+0x0ac2 mem_le_adv_channel_map_temp
+0x0ac2 mem_le_data_len_temp//1byte
+0x0ac2 mem_tx_fifo_map_temp
+0x0ac2 mem_rpn_dlci//1byte
+0x0ac2 mem_event_cmd_response_content//2byte
+0x0ac2 mem_le_prand//16byte
+0x0ac2 mem_AES_CMAC_k//16 bytes
+0x0ac2 mem_regext_index//1 bytes
+0x0ac2 mem_temp_block0
+0x0ac3 mem_le_data_temp//15bytes
+0x0ac3 mem_temp_block1
+0x0ad2 mem_le_aes_128//16byte
+0x0ad2 mem_regext//64 bytes
+0x0ad2 mem_AES_CMAC_k1//16 bytes
+0x0ad2 mem_temp_block2
+0x0ae2 mem_AES_CMAC_k2//16 bytes
+0x0ae2 mem_temp_block3
+0x0af2 mem_AES_CMAC_temp// 16 bytes
+0x0af2 mem_temp_block4
+0x0b02 mem_AES_CMAC_M_last// 16 bytes
+0x0b02 mem_module_uart_cmd
+0x0b03 mem_module_uart_opcode
+0x0b04 mem_module_uart_len
+0x0b05 mem_module_temp_nl_discard_packet
+0x0b06 mem_temp_block5
+0x0b12 mem_le_mackey//16 bytes
+0x0b12 mem_app_receive_temp
+0x0b12 mem_key_value_temp
+0x0b14 mem_key_value
+0x0b16 mem_key_value_temp1
+0x0b17 mem_key_value_temp2
+0x0b18 mem_key_value_temp3
+0x0b19 mem_key_value_temp4
+0x0b1a mem_key_value_temp5
+0x0b1b mem_key_value_temp6
+0x0b1c mem_temp_block6
+0x0b22 mem_usb_status
+0x0b23 mem_usb_fifo_empty
+0x0b24 mem_usb_read_len
+0x0b25 mem_usb_rxbuf
+0x0b65 mem_bufptr
+0x0b67 mem_remain
+0x0b68 mem_devicedesc
+0x0b7c mem_hidreportdesc_kb
+0x0b7e mem_hidreportdesc_m
+0x0b80 mem_confdesc
+0x0be4 mem_string0
+0x0be9 mem_string1
+0x0c07 mem_string2
+0x0c47 mem_string3
+0x0c65 mem_usb_zero_packet
+0x0c67 mem_usb_ones_packet
+0x0c69 mem_usb_two_packet
+0x0c6b mem_usb0_state
+0x0c6c mem_usb_offline_check_gpio
+0x0c6d mem_usb_tx_interval
+0x0c6e mem_usb_clear_mem_start
+0x0c6e mem_usb_setup
+0x0c6e mem_usb_setup_bmRequestType
+0x0c6f mem_usb_setup_bRequest
+0x0c70 mem_usb_setup_bValue
+0x0c71 mem_usb_setup_bValueH
+0x0c72 mem_usb_setup_wIndex
+0x0c74 mem_usb_setup_bLength
+0x0c75 mem_usb_setup_bLengthH
+0x0c76 mem_usb0_setup
+0x0cb6 mem_usb0_set_report_data
+0x0cf6 mem_usb0_get_report_data
+0x0d36 mem_usb_state
+0x0d37 mem_usb_tx_wait
+0x0d38 mem_usb_tx_enable
+0x0d39 mem_usb_remote_wakeup
+0x0d3a mem_usb_clear_remote_wakeup
+0x0d3b mem_usb_ep0_stall_status
+0x0d3c mem_usb_ep1_stall_status
+0x0d3d mem_usb_ep2_stall_status
+0x0d3e mem_usb_ep3_stall_status
+0x0d3f mem_dsc_info_data_pointer
+0x0d41 mem_dsc_info_len
+0x0d42 mem_usb0_data_ready_report
+0x0d43 mem_usb_tx_win_enable
+0x0d44 mem_usb_tx_mac_enable
+0x0d45 mem_usb_device_enumeration_endflag
+0x0d46 mem_usb_wakestate_onetime_flag
+0x0d47 mem_usb_mac_wakeup_trig
+0x0d48 mem_usb_set_high_addr_flag
+0x0d49 mem_usb_set_protocol_value
+0x0d4a mem_usb_set_protocol_status
+0x0d4b mem_usb_get_protocol_flag
+0x0d4c mem_usb_idle_flag
+0x0d4d mem_usb_idle_rate
+0x0d4e mem_usb_setup_bValue_temp
+0x0d50 mem_usb0_get_set_report
+0x0d51 mem_usb_ep1_data
+0x0d52 mem_usb_ep2_data
+0x0d53 mem_usb_clear_halt
+0x0d54 mem_usb_mouse_data
+0x0d64 mem_usb_kb_data
+0x0d74 mem_usb_kb_multikey
+0x0d84 mem_usb_kb_data_sta_data
+0x0d8c mem_usb_kb_data_last_data
+0x0d94 mem_usb_kb_multikey_sta_data
+0x0d97 mem_usb_kb_multikey_last_data
+0x0d9a mem_usb_kb_blank_data_enable
+0x0d9b mem_usb_kb_mul_blank_data_enable
+0x0d9c mem_usb_test_cnt
+0x0d9d mem_usb_clear_mem_end
+0x0d9d mem_usb_test_kb
+0x0d9e mem_rssi_noise_buffer
+0x0e9e mem_rssi_noise_dg_buffer
+0x0f9e mem_rssi_noise_ms_buffer
+0x109e mem_rssi_noise_kb_buffer
+0x119e mem_24g_common_temp
+0x11be mem_data_pre
+0x11c0 mem_data_current
+0x11c2 mem_data_sum
+0x4000 mem_patch00
+0x4001 mem_patch01
+0x4002 mem_patch02
+0x4003 mem_patch03
+0x4004 mem_patch04
+0x4005 mem_patch05
+0x4006 mem_patch06
+0x4007 mem_patch07
+0x4008 mem_patch08
+0x4009 mem_patch09
+0x400a mem_patch0a
+0x400b mem_patch0b
+0x400c mem_patch0c
+0x400d mem_patch0d
+0x400e mem_patch0e
+0x400f mem_patch0f
+0x4010 mem_patch10
+0x4011 mem_patch11
+0x4012 mem_patch12
+0x4013 mem_patch13
+0x4014 mem_patch14
+0x4015 mem_patch15
+0x4016 mem_patch16
+0x4017 mem_patch17
+0x4018 mem_patch18
+0x4019 mem_patch19
+0x401a mem_patch1a
+0x401b mem_patch1b
+0x401c mem_patch1c
+0x401d mem_patch1d
+0x401e mem_patch1e
+0x401f mem_patch1f
+0x4020 mem_patch20
+0x4021 mem_patch21
+0x4022 mem_patch22
+0x4023 mem_patch23
+0x4024 mem_patch24
+0x4025 mem_patch25
+0x4026 mem_patch26
+0x4027 mem_patch27
+0x4028 mem_patch28
+0x4029 mem_patch29
+0x402a mem_patch2a
+0x402b mem_patch2b
+0x402c mem_patch2c
+0x402d mem_patch2d
+0x402e mem_patch2e
+0x402f mem_patch2f
+0x4030 mem_patch30
+0x4031 mem_patch31
+0x4032 mem_patch32
+0x4033 mem_patch33
+0x4034 mem_patch34
+0x4035 mem_patch35
+0x4036 mem_patch36
+0x4037 mem_patch37
+0x4038 mem_patch38
+0x4039 mem_patch39
+0x403a mem_patch3a
+0x403b mem_patch3b
+0x403c mem_patch3c
+0x403d mem_patch3d
+0x403e mem_patch3e
+0x403f mem_patch3f
+0x4040 mem_context
+0x4090 mem_current_amaddr
+0x4091 mem_lpm_mode
+0x4092 mem_device_option
+0x4093 mem_scan_mode
+0x4094 mem_last_clkn
+0x4098 mem_features
+0x40a0 mem_lap
+0x40a3 mem_uap
+0x40a4 mem_nap
+0x40a6 mem_npage
+0x40a7 mem_glap
+0x40aa mem_class
+0x40ad mem_iscan_window
+0x40af mem_iscan_interval
+0x40b1 mem_pscan_window
+0x40b3 mem_pscan_interval
+0x40b5 mem_page_interval
+0x40b7 mem_page_window
+0x40b9 mem_page_to
+0x40bb mem_inq_window
+0x40bd mem_fcomp_mul
+0x40be mem_fcomp_div
+0x40bf mem_rx_window_init
+0x40c1 mem_rx_window_sniff
+0x40c3 mem_rf_init_ptr
+0x40c5 mem_last_type
+0x40c6 mem_last_type_esco
+0x40c7 mem_last_type_saved
+0x40c8 mem_retransmission_cnt
+0x40ca mem_next_btclk
+0x40ce mem_rf_rccal
+0x40cf mem_handle_num
+0x40d0 mem_max_slot
+0x40d1 mem_eir_enable
+0x40d2 mem_afh_instant
+0x40d6 mem_afh_error_total
+0x40d8 mem_afh_cfg
+0x40d9 mem_afh_new_mod
+0x40da mem_afh_map_lo
+0x40df mem_afh_map_hi
+0x40e4 mem_afh_used
+0x40e5 mem_afh_index
+0x40e7 mem_afh_map_new
+0x40f2 mem_afh_map
+0x4142 mem_afh_timer
+0x4146 mem_afh_classify_channel_map
+0x4150 mem_chip_functions
+0x4152 mem_lpm_wake_lock
+0x4154 mem_lpm_interval
+0x4156 mem_lpm_overhead
+0x4157 mem_lpm_hibernate_switch
+0x4158 mem_esco_addr
+0x4159 mem_sniff_unint_lost
+0x415a mem_ptt
+0x415b mem_sleep_counter//should be 0x41fc in REVC
+0x415f mem_sleep_counter_all
+0x4163 mem_sleep_clkn
+0x4169 mem_sniff_rcv
+0x416c mem_sniff_lost
+0x416f mem_clks_per_lpo
+0x4172 mem_lpm_mult
+0x4173 mem_lpm_mult_timeout
+0x4174 mem_lpm_mult_cnt
+0x4175 mem_lpm_config
+0x4178 mem_lpm_xtalcnt
+0x4179 mem_lpm_buckcnt
+0x417a mem_lpm_ldocnt
+0x417b mem_lpm_isogate
+0x417c mem_lpm_isogate_final
+0x417d mem_saved_gpio// should be 0x421e in REVC
+0x418d mem_saved_gsel
+0x4190 mem_saved_mark
+0x4198 mem_saved_spidctrl
+0x4199 mem_patch_ptr
+0x419b mem_patch_len
+0x419d mem_timers
+0x41bd mem_link_key_exists
+0x41be mem_link_key
+0x41ce mem_hci_cmd
+0x41cf mem_hci_conn_handle
+0x41d0 mem_hci_plap
+0x41d3 mem_hci_puap
+0x41d4 mem_hci_pnap
+0x41d6 mem_uartd_rxitems_got_data
+0x41d7 mem_uartd_rxitems_threshold
+0x41d8 mem_uartd_rx_timeout
+0x41da mem_loadcode_times
+0x41db mem_tx_lch
+0x41dc mem_tx_len
+0x41de mem_tx_power
+0x41df mem_context_number
+0x41e0 mem_250k_freq_enable
+0x41e1 mem_rf_init_data
+0x41e2 mem_app_handshake_flag
+0x41e3 mem_sniff_param_interval
+0x41e5 mem_sniff_param_attempt
+0x41e7 mem_sniff_param_timeout
+0x41e9 mem_cb_check_wakelock
+0x41eb mem_cb_before_hibernate
+0x41ed mem_cb_before_lpm
+0x41ef mem_cb_le_process
+0x41f1 mem_cb_bt_process
+0x41f3 mem_cb_idle_process
+0x41f5 mem_cb_bb_event_process
+0x41f7 mem_cb_discovry_timeout
+0x41f9 mem_cb_att_write
+0x41fb mem_cb_ble_transmit
+0x41fd mem_cb_event_timer
+0x41ff mem_cb_bt_set_mult
+0x4201 mem_cb_spi_flash_write_complate
+0x4203 mem_eeprom_base
+0x4205 mem_unsniff2sniff_timer_count
+0x4206 mem_wake_up_delay_timer
+0x4207 mem_app_connection_options
+0x4208 mem_app_disconn_reason
+0x420a mem_app_disconn_reason_flag
+0x420c mem_lpm_delay_after_sniff
+0x4210 mem_xrecord_mode
+0x4211 mem_eeprom_block_size
+0x4212 mem_spi_init_clk
+0x4213 mem_spi_init_delay_time
+0x4214 mem_spi_ncs_gpio
+0x4215 mem_nv_data_ptr
+0x4217 mem_nv_data_number
+0x4218 mem_queue_ptr
+0x421a mem_ui_led_struct_num
+0x421b mem_ui_led_struct_ptr
+0x421d mem_0_5_adc_io_data
+0x421f mem_1v_adc_hvin_data
+0x4221 mem_2v_adc_vinlpm_data
+0x4223 mem_1v_adc_io_data
+0x4225 mem_5v_adc_hvin_data
+0x4227 mem_3v_adc_vinlpm_data
+0x4229 mem_otp_adc_flag
+0x422b mem_reference_voltage
+0x422d mem_adc_config_flag
+0x422e mem_adc_channel
+0x422f mem_adc_current_value
+0x4231 mem_adc_power_flag//bit0:low power falg ; bit1:no power flag
+0x4232 mem_spi_write_addr
+0x4235 mem_spi_write_ptr
+0x4237 mem_spi_write_len
+0x4239 mem_spi_write_flash_sm
+0x423a mem_eeprom_wp_gpio
+0x423b mem_kscan_ptr
+0x423d mem_key_num_ptr
+0x423d mem_keyscan_ptr
+0x423f mem_power_param_ptr
+0x4241 mem_24g_head_ptr
+0x4243 mem_baud
+0x4245 mem_hci_lt_rx_state
+0x4246 mem_l2cap_xmem_start
+0x4246 mem_l2cap_tx_multi_offset//0 means single packet
+0x4248 mem_sdp_remote_cid
+0x424a mem_rfcomm_remote_cid
+0x424c mem_hid_ctrl_remote_cid
+0x424e mem_hid_int_remote_cid
+0x4250 mem_sdp_state
+0x4251 mem_rfcomm_state
+0x4252 mem_hid_control_state
+0x4253 mem_hid_interrupt_state
+0x4254 mem_spp_state
+0x4255 mem_ML2CAP_comm_id
+0x4256 mem_used_map
+0x4257 mem_tx_fifo0
+0x4257 mem_tx_fifo0_map
+0x4258 mem_tx_fifo0_ptr
+0x425a mem_tx_fifo1
+0x425a mem_tx_fifo1_map
+0x425b mem_tx_fifo1_ptr
+0x425d mem_tx_fifo2
+0x425d mem_tx_fifo2_map
+0x425e mem_tx_fifo2_ptr
+0x4260 mem_tx_fifo3
+0x4260 mem_tx_fifo3_map
+0x4261 mem_tx_fifo3_ptr
+0x4263 mem_tx_fifo_end
+0x4263 mem_l2cap_lpm_txbuf
+0x4363 mem_l2cap_flow_ctrl_flag
+0x4364 mem_l2cap_pending_item
+0x4365 mem_l2cap_xmem_end
+0x4365 mem_le_dsniff
+0x4367 mem_le_conn_interval
+0x4369 mem_le_scan_enable
+0x436a mem_le_scan_interval
+0x436c mem_le_scan_window
+0x436e mem_le_adv_enable
+0x436f mem_le_adv_data_len
+0x4370 mem_le_adv_data
+0x438f mem_le_scan_data_len
+0x4390 mem_le_scan_data
+0x43af mem_le_name_len
+0x43b0 mem_le_name
+0x43ce mem_le_new_map
+0x43d3 mem_le_new_param
+0x43d3 mem_le_new_transmitwindowsize
+0x43d4 mem_le_new_transmitwindowoffset
+0x43d6 mem_le_new_conninterval
+0x43d8 mem_le_new_connslavelatency
+0x43da mem_le_new_connsupervisiontimeout
+0x43dc mem_le_txheader
+0x43dd mem_le_txlen
+0x43de mem_le_txpayload
+0x43e0 mem_le_txcid
+0x43e2 mem_le_l2cap
+0x43e3 mem_le_l2cap_response
+0x43e4 mem_le_txbdy
+0x4403 mem_le_pcnt_tx
+0x4408 mem_le_pcnt_rx
+0x440d mem_le_last_mic
+0x4411 mem_le_ivm
+0x4415 mem_le_ivs
+0x4419 mem_le_ltk
+0x4429 mem_ltk_exists
+0x442a mem_le_rconfirm
+0x443a mem_le_srand
+0x444a mem_le_iat
+0x444b mem_le_rat
+0x444c mem_le_preq
+0x444d mem_le_preq_iocap
+0x444e mem_le_preq_oob
+0x444f mem_le_preq_auth
+0x4450 mem_le_preq_max_keysize
+0x4451 mem_le_preq_init_key_distribution
+0x4452 mem_le_preq_resp_key_distribution
+0x4453 mem_le_pres
+0x4454 mem_le_pres_iocap
+0x4455 mem_le_pres_oob
+0x4456 mem_le_pres_auth
+0x4457 mem_le_pres_max_keysize
+0x4458 mem_le_pres_init_key_distribution
+0x4459 mem_le_pres_resp_key_distribution
+0x445a mem_le_search_handle_start
+0x445c mem_le_search_handle_end
+0x445e mem_le_att_offset
+0x445e mem_le_search_att_type_length
+0x445f mem_le_search_att_type
+0x446f mem_le_notify_handle
+0x4471 mem_le_search_uuid_length
+0x4472 mem_le_search_uuid
+0x4482 mem_le_adv_param
+0x4482 mem_le_adv_interval
+0x4484 mem_le_adv_type
+0x4485 mem_le_adv_own_addr_type
+0x4486 mem_le_adv_direct_addr_type
+0x4487 mem_le_adv_direct_addr
+0x448d mem_le_adv_channel_map
+0x448e mem_le_conn_param
+0x448e mem_le_conn_peer_addr_type
+0x448f mem_le_conn_peer_addr
+0x4495 mem_le_conn_own_addr_type
+0x4496 mem_le_interval_min
+0x4498 mem_le_interval_max
+0x449a mem_le_latency
+0x449c mem_le_timeout
+0x449e mem_le_scan_params
+0x449e mem_le_scan_type
+0x449f mem_le_scan_own_addr_type
+0x44a0 mem_le_lap
+0x44a3 mem_le_uap
+0x44a4 mem_le_nap
+0x44a6 mem_le_local_mtu
+0x44a8 mem_le_remote_mtu
+0x44aa mem_le_skdm
+0x44b2 mem_le_skds
+0x44ba mem_le_init_superto
+0x44bc mem_ui_le_uuid_table
+0x44be mem_le_secure_connect_enable
+0x44bf mem_le_secure_connect_flag
+0x44c0 mem_le_sc_calc
+0x44c1 mem_le_secure_connect_state
+0x44c2 mem_le_sc_confirm_gkey_flag
+0x44c3 mem_le_sc_local_key_invalid
+0x44c4 mem_le_pairing_state
+0x44c5 mem_le_enc_state
+0x44c6 mem_le_pairing_mode
+0x44c7 mem_le_tk
+0x44cb mem_le_ediv
+0x44cd mem_le_rand
+0x44d5 mem_le_irk
+0x44e5 mem_le_transmit_window
+0x44e9 mem_le_configuration
+0x44ea mem_le_fixed_ltk
+0x44fa mem_le_pairing_handle
+0x44fc mem_le_l2cap_size
+0x44fe mem_le_packet_len_recved
+0x44ff mem_le_tx_buff_used
+0x4500 mem_le_tx_ptr0
+0x4502 mem_le_tx_ptr1
+0x4504 mem_le_tx_ptr2
+0x4506 mem_le_tx_ptr3
+0x4508 mem_le_signaling_identifier
+0x4509 mem_le_l2cap_signaling_conn_param_update_rsp_result
+0x450b mem_le_packet_size
+0x450c mem_le_packet_llid
+0x450d mem_le_payload_ptr
+0x450f mem_le_md_count
+0x4510 mem_lmp_version
+0x4513 mem_lmp_subversion
+0x4515 mem_local_name_length
+0x4516 mem_local_name
+0x4519 mem_local_name2
+0x4559 mem_local_name_end
+0x455a mem_unsniff2sniff_timer
+0x455b mem_switch_flag
+0x455c mem_classic_bt_flag
+0x455d mem_pn_dlci
+0x455e mem_pn_max_frame_size
+0x4560 memFCStemp1
+0x4561 memFCStemp2
+0x4562 memFCStemp3
+0x4563 mem_rfcomm_initiator
+0x4564 mem_remote_spp_channel
+0x4565 mem_HIUfcs_SPP
+0x4566 mem_HIUfcs_SPP_WCredits
+0x4567 mem_rfcomm_send_more_pkt
+0x4568 mem_remote_credits
+0x4569 mem_credit_given
+0x456a mem_ms_channel
+0x456b mem_credit_flag
+0x456c mem_rfcomm_max_frame_size
+0x456e mem_rfcomm_credit_init_data
+0x456f mem_cb_receive_spp_data
+0x4571 mem_nl_rx_data_src
+0x4573 mem_nl_rx_len_all
+0x4575 mem_ui_uuid_table
+0x4577 mem_all_uuid_16bits
+0x458d mem_all_uuid_128bits
+0x45af mem_sdp_l2capch_ptr
+0x45b1 mem_sp_local_key_invalid
+0x45b2 mem_le_private_key_256
+0x45d2 mem_le_pubkey_local_x_256
+0x45f2 mem_le_pubkey_local_y_256
+0x4612 mem_sp_private_key
+0x462a mem_sp_pubkey_local
+0x462a mem_sp_pubkey_local_x
+0x4642 mem_sp_pubkey_local_x_end
+0x4642 mem_sp_pubkey_local_y
+0x465a mem_ssp_enable
+0x465b mem_sp_iocap_local
+0x465e mem_sp_iocap_remote
+0x4661 mem_flag_mode_ssp_pin
+0x4662 mem_ssp_mode_flag
+0x4663 mem_authentication_passkey_times
+0x4664 mem_passkey_1bit
+0x4665 mem_flag_pairing_state
+0x4666 mem_ipc_lock_bt
+0x4667 mem_ipc_lock_c51
+0x4668 mem_ipc_fifo_bt2c51
+0x4670 mem_ipc_fifo_c512bt
+0x4678 mem_ui_button_timer
+0x4679 mem_ui_button_last_state
+0x467a mem_ui_timer_last_btclk
+0x467e mem_discovery_timeout_timer_count
+0x4680 mem_hid_handshake_timer_count
+0x4681 memui_reconnect_mode
+0x4682 mem_ui_state_map
+0x4684 mem_ui_profile_supported
+0x4685 mem_ui_button_timeout
+0x4686 mem_ui_button_gpio
+0x4687 mem_discovery_timeout
+0x4689 mem_pin_length
+0x468a mem_pin
+0x469a mem_antl_lpm_interval
+0x469c mem_antl_adv_interval
+0x469e mem_antl_slow_adv_lpm_interval
+0x46a0 mem_antl_slow_adv_adv_interval
+0x46a2 mem_antl_led_style
+0x46a2 mem_antl_led_type
+0x46a3 mem_antl_led_blink_count
+0x46a4 mem_antl_led_gpio
+0x46a5 mem_antl_led_on_time
+0x46a7 mem_antl_led_off_time
+0x46a9 mem_antl_led_cb_on
+0x46ab mem_antl_led_cb_off
+0x46ad mem_antl_buzzer_style
+0x46ad mem_antl_buzzer_type
+0x46ae mem_antl_buzzer_blink_count
+0x46af mem_antl_buzzer_gpio
+0x46b0 mem_antl_buzzer_on_time
+0x46b2 mem_antl_buzzer_off_time
+0x46b4 mem_antl_buzzer_cb_on
+0x46b6 mem_antl_buzzer_cb_off
+0x46b8 mem_antl_fast_adv_led_style
+0x46b8 mem_antl_fast_adv_led_type
+0x46b9 mem_antl_fast_adv_led_blink_count
+0x46ba mem_antl_fast_adv_led_gpio
+0x46bb mem_antl_fast_adv_led_on_time
+0x46bd mem_antl_fast_adv_led_off_time
+0x46bf mem_antl_slow_adv_led_style
+0x46bf mem_antl_slow_adv_led_type
+0x46c0 mem_antl_slow_adv_led_blink_count
+0x46c1 mem_antl_slow_adv_led_gpio
+0x46c2 mem_antl_slow_adv_led_on_time
+0x46c4 mem_antl_slow_adv_led_off_time
+0x46c6 mem_antl_power_starting_led_style
+0x46c6 mem_antl_power_starting_led_type
+0x46c7 mem_antl_power_starting_led_blink_count
+0x46c8 mem_antl_power_starting_led_gpio
+0x46c9 mem_antl_power_starting_led_on_time
+0x46cb mem_antl_power_starting_led_off_time
+0x46cd mem_antl_power_starting_buzzer_style
+0x46d4 mem_antl_power_off_led_style
+0x46d4 mem_antl_power_off_led_type
+0x46d5 mem_antl_power_off_led_link_count
+0x46d6 mem_antl_power_off_led_gpio
+0x46d7 mem_antl_power_off_led_on_time
+0x46d9 mem_antl_power_off_led_off_time
+0x46db mem_antl_power_off_buzzer_style
+0x46db mem_antl_power_off_buzzer_type
+0x46dc mem_antl_power_off_buzzer_link_count
+0x46dd mem_antl_power_off_buzzer_gpio
+0x46de mem_antl_power_off_buzzer_on_time
+0x46e0 mem_antl_power_off_buzzer_off_time
+0x46e2 mem_antl_alert_led_stlye
+0x46e9 mem_antl_alert_buzzer_stlye
+0x46e9 mem_antl_alert_buzzer_type
+0x46ea mem_antl_alert_buzzer_blink_count
+0x46eb mem_antl_alert_buzzer_gpio
+0x46ec mem_antl_alert_buzzer_on_time
+0x46ee mem_antl_alert_buzzer_off_time
+0x46f0 mem_antl_key_led_style
+0x46f0 mem_antl_key_led_type
+0x46f1 mem_antl_key_led_blink_count
+0x46f2 mem_antl_key_led_gpio
+0x46f3 mem_antl_key_led_on_time
+0x46f5 mem_antl_key_led_off_time
+0x46f7 mem_antl_key_buzzer_style
+0x46fe mem_antl_queue_width
+0x46ff mem_antl_queue_depth
+0x4700 mem_antl_queue_curr_num
+0x4701 mem_antl_queue_read_ptr
+0x4702 mem_antl_queue_write_ptr
+0x4703 mem_antl_queue_buff
+0x4753 mem_antl_key_scan_enable
+0x4754 mem_antl_led_num
+0x4755 mem_antl_led_gpio_map
+0x4759 mem_antl_power_param
+0x4759 mem_antl_power_state
+0x475a mem_antl_power_timer
+0x475b mem_antl_power_off_timeout
+0x475c mem_antl_power_starting_timeout
+0x475d mem_antl_power_off_cb
+0x475f mem_antl_power_starting_cb
+0x4761 mem_antl_power_standby_cb
+0x4763 mem_event_button_up_cb
+0x4765 mem_antl_key_num
+0x4766 mem_cb_antl_key
+0x4768 mem_antl_key_conf0
+0x476c mem_antl_key0_press
+0x477b mem_antl_key0_release
+0x478a mem_antl_conn_updata_procedure_state
+0x478b mem_client_characteristic_configuration_descriptor
+0x478d mem_adc_timer
+0x478f mem_antl_conn_update_timer
+0x4790 mem_antl_send_updata_le_param_timer
+0x4791 mem_antl_le_sleep_timer
+0x4793 mem_antl_fast_adv_timer
+0x4795 mem_antl_fast_adv_timeout
+0x4797 mem_antl_le_sleep_timeout
+0x4799 mem_double_click_timer
+0x479a mem_butten_click_cnt
+0x479b mem_antl_led_state
+0x479c mem_antl_buzzer_state
+0x479d mem_antl_key_state
+0x479e mem_antl_lost_mode
+0x479f mem_alarm_config
+0x47a0 mem_alarm_config_notfy_cnt
+0x47a1 mem_buzzer_pwm_conf
+0x47a7 mem_adc_timeout
+0x47a9 mem_voltage_remain_percent
+0x47aa mem_battery_calculate_set
+0x47aa mem_battery_full_voltage
+0x47ac mem_battery_empty_voltage
+0x47ae mem_battery_low_voltage
+0x47b0 mem_battery_current_voltage
+0x47b2 mem_rx_window_sniff_inc
+0x47b4 mem_interval_increment
+0x47b6 mem_antl_le_interval_min
+0x47b8 mem_antl_le_interval_max
+0x47ba mem_antl_le_latency
+0x47bc mem_antl_le_timeout
+0x47be mem_antl_le_unnormal_interval_min
+0x47c0 mem_antl_le_unnormal_interval_max
+0x47c2 mem_antl_le_unnormal_latency
+0x47c4 mem_antl_le_unnormal_timeout
+0x47c6 mem_AntiLost_le_att_list
+0x469a mem_car_hard_soft_switch
+0x469b mem_car_queue_each_size
+0x469c mem_car__queue_length
+0x469d mem_car_queue_curr_num
+0x469e mem_car_queue_read_ptr
+0x469f mem_car_queue_write_ptr
+0x46a0 mem_car_queue_ele
+0x4718 mem_car_pop_queue_buff
+0x472c mem_car_led_num
+0x472d mem_car_led_map
+0x4737 mem_car_style1_led_type
+0x4738 mem_car_style1_blink_count
+0x4739 mem_car_style1_struct_led_gpio
+0x473a mem_car_style1_on_time
+0x473c mem_car_style1_off_time
+0x473e mem_car_style1_cb_ledon
+0x4740 mem_car_style1_cb_ledoff
+0x4742 mem_car_style2_led_type
+0x4743 mem_car_style2_blink_count
+0x4744 mem_car_style2_struct_led_gpio
+0x4745 mem_car_style2_on_time
+0x4747 mem_car_style2_off_time
+0x4749 mem_car_style2_cb_ledon
+0x474b mem_car_style2_cb_ledoff
+0x474d mem_le_receive_data
+0x474d mem_le_receive_packet_head
+0x474f mem_le_receive_cmd
+0x4750 mem_le_receive_length
+0x4752 mem_le_receive_payload
+0x475c mem_le_receive_checksum
+0x475d mem_motor1_status
+0x475e mem_motor1_speed
+0x475f mem_motor2_status
+0x4760 mem_motor2_speed
+0x4761 mem_motor3_status
+0x4762 mem_motor3_speed
+0x4763 mem_motor1_pwm_set
+0x4763 mem_motor1_pwm_pin1_set
+0x4764 mem_motor1_pwm_pin2_set
+0x4765 mem_motor1_pwm_pin_set
+0x4766 mem_motor1_pwm_channel_set
+0x4767 mem_motor1_pwm_freq_set
+0x476a mem_motor1_pwm_dute_set
+0x476b mem_motor2_pwm_set
+0x476b mem_motor2_pwm_pin1_set
+0x476c mem_motor2_pwm_pin2_set
+0x476d mem_motor2_pwm_pin_set
+0x476e mem_motor2_pwm_channel_set
+0x476f mem_motor2_pwm_freq_set
+0x4772 mem_motor2_pwm_dute_set
+0x4773 mem_motor3_pwm_set
+0x4773 mem_motor3_pwm_pin1_set
+0x4774 mem_motor3_pwm_pin2_set
+0x4775 mem_motor3_pwm_pin_set
+0x4776 mem_motor3_pwm_channel_set
+0x4777 mem_motor3_pwm_freq_set
+0x477a mem_motor3_pwm_dute_set
+0x477b mem_motor_select_p_n
+0x477c mem_car_motor_status
+0x477d mem_car_motor_speed
+0x477e mem_motor_pwm_set
+0x477e mem_motor_pwm_pin1_set
+0x477f mem_motor_pwm_pin2_set
+0x4780 mem_motor_pwm_pin_set
+0x4781 mem_motor_pwm_channel_set
+0x4782 mem_motor_pwm_freq_set
+0x4785 mem_motor_pwm_dute_set
+0x4786 mem_ir_rx_gpio
+0x4787 mem_ir_data
+0x4789 mem_ir_rx_buf
+0x478b mem_ir_receive_clkn
+0x478f mem_ir_notify_data
+0x4792 mem_ir_notify_data_head
+0x4797 mem_ir_notify_data_payload
+0x4799 mem_ir_notify_data_check_sum
+0x479a mem_car_ir_breakdown_check_timer
+0x479b mem_car_ir_breakdown_flag
+0x479c mem_car_led_control
+0x479c mem_car_led1_status
+0x479d mem_car_led2_status
+0x479e mem_car_led3_status
+0x479f mem_car_led4_status
+0x47a0 mem_car_led5_status
+0x47a1 mem_car_led6_status
+0x47a2 mem_car_led7_status
+0x47a3 mem_car_led8_status
+0x47a4 mem_car_led_control_timer
+0x47a5 mem_car_led_blink_status
+0x47a6 mem_car_led_no
+0x47a7 mem_car_info_request
+0x47aa mem_car_info_request_head
+0x47af mem_car_info_request_payload
+0x47b7 mem_car_info_request_checksum
+0x47b8 mem_car_config_param
+0x47b8 mem_car_config_setting_flag
+0x47b9 mem_car_config_device_select
+0x47ba mem_car_config_motor_layout
+0x47bb mem_car_config_ir_enable
+0x47bc mem_car_config_ir_rx_gpio
+0x47bd mem_car_config_pairing_led_conn_status
+0x47be mem_car_config_pairing_led_gpio
+0x47bf mem_car_config_led_num
+0x47c0 mem_car_config_blood_led_gpio
+0x47c0 mem_car_config_blood_led1_gpio
+0x47c1 mem_car_config_blood_led2_gpio
+0x47c2 mem_car_config_blood_led3_gpio
+0x47c3 mem_car_config_blood_led4_gpio
+0x47c4 mem_car_config_blood_led5_gpio
+0x47c5 mem_car_config_blood_led6_gpio
+0x47c6 mem_car_config_blood_led7_gpio
+0x47c7 mem_car_config_blood_led8_gpio
+0x47c8 mem_car_config_bat_notify_enable
+0x47c9 mem_car_config_low_voltage_led_gpio
+0x47ca mem_car_config_low_voltage_percent
+0x47cb mem_car_config_soft_switch_enable
+0x47cc mem_car_config_soft_switch_gpio
+0x47cd mem_car_notify_vdd_count
+0x47ce mem_car_notify_vdd_timer
+0x47cf mem_car_notify_vdd_value_last
+0x47d0 mem_car_notify_vdd_percent
+0x47d1 mem_car_working_flag
+0x47d2 mem_low_bat_flag
+0x47d3 mem_notify_bat_packet
+0x47d6 mem_notify_bat_head
+0x47db mem_notify_bat_payload
+0x47dc mem_notify_bat_check_sum
+0x47dd mem_vdd_notify_flag
+0x47de mem_car_current_vdd_value_temp
+0x47e0 mem_car_last_vdd_value
+0x47e2 mem_vdd_calculate_set
+0x47e2 mem_vdd_full_vol
+0x47e4 mem_vdd_empty_vol
+0x47e6 mem_vdd_low_vol
+0x47e8 mem_vdd_now_vol
+0x47ea mem_car_24g_status
+0x47eb mem_car_24g_no_data_timeout_count
+0x47ed mem_car_24g_no_data_timeout_timer
+0x47ef mem_car_24g_ir_receive_attack_count
+0x47f0 mem_car_24g_go_die_flag
+0x47f1 mem_car_attack_shake_timer
+0x47f2 mem_car_attack_shake_flag
+0x47f3 mem_car_soft_power
+0x47f3 mem_car_power_state
+0x47f4 mem_car_power_timer
+0x47f5 mem_car_power_off_timeout
+0x47f6 mem_car_power_starting_timeout
+0x47f7 mem_car_power_off_cb
+0x47f9 mem_car_power_starting_cb
+0x47fb mem_car_power_standby_cb
+0x47fd mem_car_ui_button_up_cb
+0x47ff mem_car_le_att_list
+0x49f3 mem_car_moto1_blank_timer
+0x49f4 mem_car_moto2_blank_timer
+0x49f5 mem_car_moto3_blank_timer
+0x49f6 mem_car_24g_received_pac
+0x49f7 mem_24g_car_head_ptr
+0x469a mem_light_pwm0
+0x469b mem_light_pwm1
+0x469c mem_light_pwm2
+0x469d mem_light_pwm3
+0x469e mem_light_pwm4
+0x469f mem_light_pwm5
+0x46a0 mem_light_pairing_enable
+0x46a1 mem_light_pairing_timer
+0x46a3 mem_light_cnum
+0x46a4 mem_light_next_record
+0x46a5 mem_light_clist
+0x46f5 mem_light_crr_cmd_count
+0x46f6 mem_curr_packet_num
+0x469a mem_lightc_led_gpio
+0x469b mem_lightc_row
+0x46a1 mem_lightc_col
+0x46a7 mem_adv_time
+0x46a8 mem_cmd0_string
+0x46bc mem_cmd1_string
+0x46d0 mem_cmd2_string
+0x46e4 mem_cmd3_string
+0x46f8 mem_cmd4_string
+0x470c mem_cmd5_string
+0x4720 mem_cmd6_string
+0x4734 mem_cmd7_string
+0x4748 mem_cmd8_string
+0x475c mem_cmd9_string
+0x4770 mem_cmd10_string
+0x4784 mem_cmd11_string
+0x4798 mem_cmd12_string
+0x47ac mem_cmd13_string
+0x47c0 mem_cmd14_string
+0x47d4 mem_cmd15_string
+0x47e8 mem_cmd16_string
+0x47fc mem_cmd17_string
+0x4810 mem_cmd18_string
+0x4824 mem_cmd19_string
+0x4838 mem_cmd20_string
+0x469a mem_soft_version_num
+0x469c mem_module_wake_up_gpio
+0x469d mem_module_state_gpio
+0x469e mem_module_connect_state_gpio
+0x469f mem_current_packet_length
+0x46a1 mem_module_state
+0x46a2 mem_module_mcu_wake_pin
+0x46a3 mem_module_mcu_wake_delay_us
+0x46a7 mem_module_spp_lpm_mult
+0x46a8 mem_module_le_lpm_mult
+0x46a9 mem_module_bluetooth_stauts_by_command
+0x46aa mem_module_uart_rx_buffer
+0x46ac mem_module_uart_rx_buffer_end
+0x46ae mem_module_uart_tx_buffer
+0x46b0 mem_module_uart_tx_buffer_end
+0x46b2 mem_module_read_vdd_flag
+0x46b3 mem_module_read_vdd_count
+0x46b4 mem_module_vdd_quotient
+0x46b5 mem_module_vdd_remainder
+0x46b6 mem_module_le_rx_data_len
+0x46b7 mem_module_le_rx_data_address
+0x46b9 mem_module_le_rx_data_handle
+0x46bb mem_module_data_write_handle
+0x46bd mem_module_data_write_handle2
+0x46bf mem_module_flag
+0x46c0 mem_module_hci_notify_len
+0x46c1 mem_module_hci_notify_handle
+0x46c3 mem_module_hci_nofiy_addr
+0x46c5 mem_last_transmite_clock
+0x46c9 mem_module_uuid_list
+0x47f5 mem_module_uuid_list_end
+0x47f5 mem_module_le_att_list
+0x4a4d mem_module_le_att_list_end
+0x4a4d mem_module_nv_data
+0x4a4d mem_module_nv_data0
+0x4a6f mem_module_nv_data1
+0x4a91 mem_module_nv_data2
+0x4ab3 mem_module_nv_data3
+0x4ad5 mem_module_nv_data4
+0x469a mem_remote_car_hard_soft_switch
+0x469b mem_remote_car_queue_each_size
+0x469c mem_remote_car_queue_length
+0x469d mem_remote_car_queue_curr_num
+0x469e mem_remote_car_queue_read_ptr
+0x469f mem_remote_car_queue_write_ptr
+0x46a0 mem_remote_car_queue_ele
+0x46fa mem_remote_style_led_type
+0x46fb mem_remote_style_blink_count
+0x46fc mem_remote_style_struct_led_gpio
+0x46fd mem_remote_style_on_time
+0x46ff mem_remote_style_off_time
+0x4701 mem_remote_style_cb_ledon
+0x4703 mem_remote_style_cb_ledoff
+0x4705 mem_remote_car_led_num
+0x4706 mem_remote_car_led_map
+0x470e mem_remote_car_keyscan
+0x470e mem_remote_car_key_num
+0x470f mem_cb_remote_car_keyscan
+0x4711 mem_remote_car_key_conf0
+0x4711 mem_remote_car_key_conf0_pin
+0x4712 mem_remote_car_key_conf1
+0x4712 mem_remote_car_key_conf1_pin
+0x4713 mem_remote_car_key_conf2
+0x4713 mem_remote_car_key_conf2_pin
+0x4714 mem_remote_car_key_conf3
+0x4714 mem_remote_car_key_conf3_pin
+0x4715 mem_remote_car_key_conf4
+0x4715 mem_remote_car_key_conf4_pin
+0x4716 mem_remote_car_key_conf5
+0x4716 mem_remote_car_key_conf5_pin
+0x4717 mem_remote_car_key_conf6
+0x4717 mem_remote_car_key_conf6_pin
+0x4718 mem_rocker_negative_flag
+0x4719 mem_rocker_work_status
+0x471a mem_current_vdd_value_default_mid_x
+0x471c mem_current_vdd_value_default_mid_y
+0x471e mem_current_vdd_value_default_mid_temp
+0x4720 mem_current_vdd_default_range
+0x4722 mem_rocker_last_status
+0x4724 mem_rocker_status
+0x4724 mem_rocker_x_status
+0x4725 mem_rocker_y_status
+0x4726 mem_remote_car_config_param
+0x4726 mem_remote_car_config_setting_flag
+0x4727 mem_remote_car_config_key_map
+0x4728 mem_remote_car_config_layout
+0x4729 mem_remote_car_config_connect_led_gpio
+0x472a mem_remote_car_config_check_way
+0x472b mem_remote_car_config_soft_switch_enable
+0x472c mem_remote_car_config_soft_switch_gpio
+0x472d mem_remote_car_config_timeout_shutdown_enable
+0x472e mem_remote_car_24g_motor_packet
+0x472e mem_remote_car_24g_motor_packet_lenght
+0x472f mem_remote_car_24g_motor_send_packet_head
+0x4731 mem_remote_car_24g_motor_send_cmd
+0x4732 mem_remote_car_24g_motor_send_length
+0x4734 mem_remote_car_24g_motor_send_payload
+0x4734 mem_remote_car_24g_motor1_payload
+0x4736 mem_remote_car_24g_motor2_payload
+0x4738 mem_remote_car_24g_motor3_payload
+0x473a mem_remote_car_24g_motor_send_checksum
+0x473b mem_remote_car_24g_fire_packet
+0x473b mem_remote_car_24g_fire_packet_lenght
+0x473c mem_remote_car_24g_fire_send_packet_head
+0x473e mem_remote_car_24g_fire_send_cmd
+0x473f mem_remote_car_24g_fire_send_length
+0x4741 mem_remote_car_24g_fire_send_payload
+0x4743 mem_remote_car_24g_fire_send_checksum
+0x4744 mem_remote_car_24g_tx_temp
+0x4753 mem_remote_car_no_data_timeout
+0x4755 mem_remote_car_no_data_timer
+0x4757 mem_remote_car_soft_power
+0x4757 mem_remote_car_power_state
+0x4758 mem_remote_car_power_timer
+0x4759 mem_remote_car_power_off_timeout
+0x475a mem_remote_car_power_starting_timeout
+0x475b mem_remote_car_power_off_cb
+0x475d mem_remote_car_power_starting_cb
+0x475f mem_remote_car_power_standby_cb
+0x4761 mem_remote_key_status
+0x4762 mem_remote_car_24g_status
+0x4763 mem_remote_car_24g_auto_work_step
+0x4764 mem_remote_car_24g_pair_success_flag
+0x4765 mem_remote_car_24g_enter_lpm_enable
+0x4766 mem_remote_car_empty_packet
+0x4767 mem_24g_RC_head_ptr
+0x469a mem_shutter_bluetooth_type
+0x469b mem_shutter_config_enable
+0x469c mem_shutter_config_otp_base_address
+0x469e mem_shutter_config_size
+0x469f mem_shutter_config_select_gpio1
+0x46a0 mem_shutter_config_select_gpio2
+0x46a1 mem_shutter_config_select_gpio3
+0x46a2 mem_shutter_config_user_otp_address
+0x46a4 mem_shutter_config_eeprom_offset_addr
+0x46a6 mem_shutter_config_eeprom_start_flag
+0x46a8 mem_shutter_config_user_size
+0x46a9 mem_shutter_config_label
+0x46aa mem_shutter_config_otp_addr
+0x46ac mem_classic_shutter_cable_unplug_conut
+0x46ad mem_classic_shutter_hid_disconn_count
+0x46ae mem_classic_shutter_random_mac_offset_addr
+0x46b0 mem_ble_shutter_enable_notify
+0x46b1 mem_ble_shutter_reconn_dav_interval
+0x46b3 mem_ble_shutter_discovery_adv_interval
+0x46b5 mem_ble_shutter_reconn_timeout
+0x46b7 mem_ble_shutter_reconn_timer
+0x46b9 mem_ble_shutter_reconn_blink_on_time
+0x46bb mem_ble_shutter_reconn_blink_off_time
+0x46bd mem_ble_shutter_discovery_blink_on_time
+0x46bf mem_ble_shutter_discovery_blink_off_time
+0x46c1 mem_ble_shutter_interval_min
+0x46c3 mem_ble_shutter_interval_max
+0x46c5 mem_ble_shutter_latency
+0x46c7 mem_ble_shutter_timeout
+0x46c9 mem_ble_shutter_interval_min_new
+0x46cb mem_ble_shutter_interval_max_new
+0x46cd mem_ble_shutter_latency_new
+0x46cf mem_ble_shutter_timeout_new
+0x46d1 mem_classic_shutter_discovery_timeout
+0x46d3 mem_classic_shutter_connect_timeout
+0x46d5 mem_ble_shutter_discovery_timeout
+0x46d7 mem_ble_shutter_connect_timeout
+0x46d9 mem_shutter_sleep_timeout
+0x46db mem_shutter_sleep_timer
+0x46dd mem_shutter_hard_soft_switch_case
+0x46de mem_shutter_soft_switch_button_gpio
+0x46df mem_shutter_soft_switch_power_state
+0x46e0 mem_shutter_soft_switch_poweron_time
+0x46e1 mem_shutter_soft_switch_poweroff_time
+0x46e2 mem_shutter_soft_switch_poweron_callback_function
+0x46e4 mem_shutter_soft_switch_poweroff_callback_function
+0x46e6 mem_shutter_keyscan
+0x46e6 mem_shutter_key_num
+0x46e7 mem_cb_shutter_keycan
+0x46e9 mem_shutter_key_conf0
+0x46ea mem_shutter_key_conf1
+0x46eb mem_shutter_key_conf2
+0x46ec mem_shutter_key_conf3
+0x46ed mem_shutter_key_conf4
+0x46ee mem_shutter_key_conf5
+0x46ef mem_shutter_key_conf6
+0x46f0 mem_shutter_key_conf7
+0x46f1 mem_key0_press
+0x46f6 mem_key1_press
+0x46fb mem_key2_press
+0x4700 mem_key3_press
+0x4705 mem_key4_press
+0x470a mem_key5_press
+0x470f mem_key6_press
+0x4714 mem_key7_press
+0x4719 mem_key0_release
+0x471e mem_key1_release
+0x4723 mem_key2_release
+0x4728 mem_key3_release
+0x472d mem_key4_release
+0x4732 mem_key5_release
+0x4737 mem_key6_release
+0x473c mem_key7_release
+0x4741 mem_ble_data_buffer1
+0x4746 mem_ble_data_buffer2
+0x474b mem_ble_data_buffer3
+0x4750 mem_ble_data_buffer4
+0x4755 mem_ble_data_buffer5
+0x475a mem_ble_data_buffer6
+0x475f mem_ble_data_buffer7
+0x4764 mem_ble_data_buffer8
+0x4769 mem_ble_data_buffer9_58
+0x479b mem_classic_data_buffer
+0x47a0 mem_classic_data_buffer1
+0x47a5 mem_classic_data_buffer2
+0x47aa mem_classic_data_buffer3
+0x47af mem_classic_data_buffer4
+0x47b4 mem_classic_data_buffer5
+0x47b9 mem_classic_data_buffer6
+0x47be mem_classic_data_buffer7
+0x47c3 mem_classic_data_buffer8
+0x47c8 mem_classic_data_buffer9_58
+0x47fa mem_queue_each_size
+0x47fb mem_queue_length
+0x47fc mem_queue_curr_num
+0x47fd mem_queue_read_ptr
+0x47fe mem_queue_write_ptr
+0x47ff mem_queue_ele
+0x481f mem_shutter_nv_data
+0x48c9 mem_shutter_led_struct_app_led
+0x48c9 mem_shutter_led_struct_app_led_type
+0x48ca mem_shutter_led_struct_app_led_blink_count
+0x48cb mem_shutter_led_struct_app_led_gpio
+0x48cc mem_shutter_led_struct_app_led_on_time
+0x48ce mem_shutter_led_struct_app_led_off_time
+0x48d0 mem_shutter_led_struct_app_led_on_callback
+0x48d2 mem_shutter_led_struct_app_led_off_callback
+0x48d4 mem_shutter_power_off_led_style
+0x48d4 mem_shutter_power_off_led_style_type
+0x48d5 mem_shutter_power_off_led_style_blink_count
+0x48d6 mem_shutter_power_off_led_style_gpio
+0x48d7 mem_shutter_power_off_led_style_on_time
+0x48d9 mem_shutter_power_off_led_style_off_time
+0x48db mem_shutter_power_off_led_style_on_callback
+0x48dd mem_shutter_power_off_led_style_off_callback
+0x48df mem_shutter_soft_swtich_botton_down
+0x48e0 mem_shutter_soft_swtich_led_struct_temp
+0x48eb mem_shutter_power_off_timeout
+0x48ec mem_shutter_power_off_timer
+0x469a mem_mouse_key
+0x469b mem_mouse_x
+0x469d mem_mouse_y
+0x469f mem_mouse_z
+0x46a0 mem_mouse_tz
+0x46a1 mem_mouse_xy_h
+0x46a2 mem_sensor_shutter_hi
+0x46a3 mem_sensor_shutter_lo
+0x46a4 mem_sensor_smart_flag
+0x46a5 mem_sensor_squal_reg
+0x46a6 mem_sensor_iqc
+0x46a7 mem_mouse_move_flag
+0x46a8 mem_mouse_direct_timeout
+0x46aa mem_mouse_no_data_timeout
+0x46ac mem_mouse_discovery_timer
+0x46ae mem_mouse_direct_timer
+0x46b0 mem_mouse_no_data_timer
+0x46b2 mem_mouse_blank_data_timer
+0x46b4 mem_mouse_send_blank_timer
+0x46b5 mem_mouse_cpi_count
+0x46b6 mem_mouse_dpi_button_state
+0x46b7 mem_wheel_tb_old_pinlevel
+0x46b8 mem_wheel_tb_new_pinlevel
+0x46b9 mem_wheel_tog
+0x46ba mem_mouse_tz_data
+0x46bb mem_mouse_tz_data_count
+0x46bc mem_mouse_tz_data_count1
+0x46bd mem_mwheel_b_old_pinlevel
+0x46be mem_mwheel_b_new_pinlevel
+0x46bf mem_mwheel_tog
+0x46c0 mem_mouse_z_data
+0x46c1 mem_mouse_z_data_count
+0x46c2 mem_mouse_z_data_count1
+0x46c3 mem_reconn_mode
+0x46c4 mem_mouse_statue_led_timer
+0x46c5 mem_le_connect_status_flag
+0x46c6 mem_le_start_encrypt_timer
+0x46c7 mem_device_addr_temp
+0x46ce mem_adc_read_timer
+0x46cf mem_adc_low_volatage_led_timer_count
+0x46d0 mem_adc_reference_voltage
+0x46d2 mem_device_number
+0x46d3 mem_mouse_flag
+0x46d5 mem_mouse_function_enable
+0x46d7 mem_combination_select_device_timer_init
+0x46d8 mem_combination_select_device_count
+0x46d9 mem_select_device_button_statue
+0x46da mem_combination_ui_button_count
+0x46db mem_bt_discovey_button_statue
+0x46dc mem_sensor_reset_gpio
+0x46dd mem_sensor_id1
+0x46de mem_sensor_id2
+0x46df mem_mouse_dpi_led_delay_count
+0x46e0 mem_config_sensor_type
+0x46e1 mem_config_sensor_motion
+0x46e2 mem_lbutton_gpio
+0x46e3 mem_rbutton_gpio
+0x46e4 mem_mbutton_gpio
+0x46e5 mem_bk_button_gpio
+0x46e6 mem_fw_button_gpio
+0x46e7 mem_dpi_button_gpio
+0x46e8 mem_whee_a_data_gpio
+0x46e9 mem_whee_b_data_gpio
+0x46ea mem_whee_ta_data_gpio
+0x46eb mem_whee_tb_data_gpio
+0x46ec mem_config_bt_button_gpio
+0x46ed mem_config_select_device_button_gpio
+0x46ee mem_config_paraing_led_gpio
+0x46ef mem_config_low_voltage_alarm_gpio
+0x46f0 mem_config_device1_led_gpio
+0x46f1 mem_config_device2_led_gpio
+0x46f2 mem_config_device3_led_gpio
+0x46f3 mem_sensor_data_gpio
+0x46f4 mem_dpi_led_gpio
+0x46f5 mem_config_function_enable
+0x46f6 mem_config_sensor_angle
+0x46f7 mem_select_sensor_angle_gpio
+0x46f8 mem_select_adc_gpio
+0x46f9 mem_config_end
+0x46f9 mem_btclk_sensor
+0x46fd mem_wire_usb_interval
+0x46fe mem_mouse_mode_flag
+0x46ff mem_usb_addr
+0x4700 mem_flash_base
+0x4703 mem_24g_device_number
+0x4704 mem_24g_enter_lpm_timer
+0x4705 mem_mouse_1step_up_count
+0x4706 mem_mouse_2step_up_count
+0x4707 mem_24g_pairing_timer_count
+0x4709 mem_mouse_vdd_calculate_set
+0x4709 mem_mouse_vdd_full_vol
+0x470b mem_mouse_vdd_empty_vol
+0x470d mem_mouse_vdd_low_vol
+0x470f mem_mouse_vdd_now_vol
+0x4711 mem_mouse_sensor_timer_count
+0x4712 mem_sensor_led_style
+0x4713 mem_mouse_led_type
+0x4714 mem_mouse_blink_count
+0x4715 mem_mouse_struct_led_gpio
+0x4716 mem_mouse_on_time
+0x4718 mem_mouse_off_time
+0x471a mem_mouse_cb_ledon
+0x471c mem_mouse_cb_ledoff
+0x471e mem_reconn_times
+0x471f mem_reconn_times_init
+0x4720 mem_mouse_information_start
+0x4720 mem_device_flag
+0x4721 mem_device1_type
+0x4722 mem_device1_addr
+0x4728 mem_device1_link_key
+0x4738 mem_device1_locall_addr
+0x473e mem_device2_type
+0x473f mem_device2_addr
+0x4745 mem_device2_link_key
+0x4755 mem_device2_locall_addr
+0x475b mem_device3_type
+0x475c mem_device3_addr
+0x4762 mem_device3_link_key
+0x4772 mem_device3_locall_addr
+0x4778 mem_store_flag
+0x477a mem_mouse_dpi
+0x477b mem_mouse_24g_addr
+0x477f mem_mouse_information_end
+0x477f mem_mouse_dpi_seting
+0x477f mem_320x_dpi_1
+0x4780 mem_320x_dpi_2
+0x4781 mem_320x_dpi_3
+0x4782 mem_320x_dpi_4
+0x4783 mem_3212_dpi_1
+0x4784 mem_3212_dpi_2
+0x4785 mem_3212_dpi_3
+0x4786 mem_3212_dpi_4
+0x4787 mem_3610_dpi_1
+0x4788 mem_3610_dpi_2
+0x4789 mem_3610_dpi_3
+0x478a mem_3610_dpi_4
+0x478b mem_mouse_24g_enter_lpm_enable
+0x478c mem_le_rx_window_inc
+0x478e mem_empty_count
+0x478f mem_rf_init_data_new
+0x479c mem_mouse_clear_sensor_data_flag
+0x479d mem_mouse_null_enter_hibernate_flag
+0x479e mem_mouse_null_enter_hibernate_timer
+0x479f mem_mouse_le_reconnect_flag
+0x47a0 mem_mouse_data_queue
+0x47c1 mem_mouse_data_queue_num
+0x47c2 mem_random_addr_increase_count
+0x47c4 mem_mouse_le_conn_param_reject
+0x47c5 mem_lpm_mult_init
+0x47c6 mem_mouse_le_uuid_sup
+0x4806 mem_mouse_wheel_trigger
+0x4807 mem_mouse_wheel_trigger_timer
+0x4808 mem_mouse_enter_sniff_count
+0x4809 mem_mouse_send_switch_req_timer
+0x480a mem_le_tx_buffer0_omemalloc
+0x4825 mem_le_tx_buffer1_omemalloc
+0x4840 mem_le_tx_buffer2_omemalloc
+0x485b mem_le_tx_buffer3_omemalloc
+0x4876 mem_mouse_uuid_list
+0x4afc mem_lmi_opcode_temp
+0x4afd mem_mouse_button_select_device_timer_init
+0x4afe mem_mouse_button_select_device_count
+0x4aff mem_mouse_multi_led_blink_enable
+0x4b00 mem_mouse_multi_led_gpio
+0x4b01 mem_mouse_multi_led_state
+0x4b02 mem_mouse_multi_led_type
+0x4b03 mem_mouse_multi_led_on_timer_init
+0x4b04 mem_mouse_multi_led_blink_timer_init
+0x4b05 mem_mouse_multi_led_blink_timer
+0x4b06 mem_mouse_multi_led_blink_count
+0x4b07 mem_mouse_multi_led_on_timer
+0x4b08 mem_mouse_multi_led_blink_count_limited
+0x4b09 mem_mouse_multi_led_on_poweron2s_flag
+0x4b0a mem_mouse_long_button_select_device
+0x4b0b mem_mouse_adc_last_low_voltage_flag
+0x4b0c mem_mouse_init_sensor_reset_flag
+0x4b0d mem_bt_rcvd_switch_req_accept
+0x4b0e mem_bt_send_max_slot_req_accept_after_switch
+0x4b0f mem_bt_send_lmp_setup_complete
+0x4b10 mem_l2cap_rcv
+0x4b11 mem_mouse_bt_boot_mode
+0x4b12 mem_mouse_bt_boot_data
+0x4b17 mem_mouse_bt_send_first_package_timer
+0x4b18 mem_mouse_bt_send_first_package_flag
+0x4b19 mem_mouse_asm_flag
+0x4b1a mem_mouse_x_pre
+0x4b1c mem_mouse_y_pre
+0x4b1e mem_mouse_fast_conn_flag
+0x4b1f mem_le_adv_swift_pair
+0x4b32 mem_le_att_pnp_id_len
+0x4b33 mem_le_att_pnp_id
+0x4b3a mem_mouse_long_mult_flag
+0x4b3b mem_mouse_le_current_mult_timer
+0x4b3c mem_24g_long_sleep_param_update_timer
+0x4b3d mem_mouse_select_device_button_wakeup_flag
+0x4b3e mem_mouse_state_led_blink_flag
+0x4b3f mem_mouse_send_secutiry_request_timer
+0x4b40 mem_le_send_security_request_flag
+0x4b41 mem_mouse_le_bb_connected_flag
+0x4b42 mem_g24_stop_g24_mode
+0x4b43 mem_g24_stop_g24_mode_timeout
+0x4b45 mem_24g_pair_current_ch_num
+0x4b46 mem_24g_powerful_current_ch_num
+0x4b47 mem_24g_combination_ui_button_count
+0x4b48 mem_le_lap_high_3B
+0x4b4b mem_24g_led_gpio
+0x4b4c mem_lvd_led_gpio
+0x4b4d mem_24g_rxbuf
+0x4b6f mem_24g_txbuf
+0x4b8f mem_24g_txpayload
+0x4bb1 mem_24g_rxpayload
+0x4bd1 mem_24g_rxdata_length
+0x4bd2 mem_24g_pid
+0x4bd3 mem_24g_datalen
+0x4bd4 mem_24g_data_type
+0x4bd5 mem_24g_txlen
+0x4bd6 mem_24g_rx_window
+0x4bd8 mem_24g_ensure
+0x4bd9 mem_24g_txfail_cnt
+0x4bdb mem_24g_get_ack_fail
+0x4bdc mem_24g_retry
+0x4bdd mem_24g_ch
+0x4bde mem_24g_current_ch_number
+0x4bdf mem_24g_paring_addr
+0x4be3 mem_24g_pairing_sm
+0x4be4 mem_24g_ch_map1
+0x4be8 mem_24g_ch_map2
+0x4bec mem_24g_ch_map3
+0x4bf0 mem_24g_ch_map4
+0x4bf4 mem_24g_tx_btclk
+0x4bf8 mem_24g_interval
+0x4bf9 mem_24g_interval_min
+0x4bfa mem_24g_interval_max
+0x4bfb mem_24g_addr
+0x4bff mem_24g_abort_pac
+0x4c00 mem_24g_check_dongle_times
+0x4c02 mem_24g_enter_hibernate
+0x4c0a mem_24g_device_addr
+0x4c0e mem_24g_pac_index
+0x4c0f mem_24g_no_ack
+0x4c10 mem_24g_sta_crc
+0x4c13 mem_24g_last_crc
+0x4c16 mem_24g_sta_pid
+0x4c17 mem_24g_last_pid
+0x4c18 mem_24g_max_retry
+0x4c19 mem_24g_mode
+0x4c1a mem_24g_rxdata_temp
+0x4c3c mem_24g_rx_addr
+0x4c40 mem_dongle_mode_init
+0x4c41 mem_dongle_work_mode
+0x4c42 mem_dongle_ms_bind_step
+0x4c43 mem_dongle_kb_bind_step
+0x4c44 mem_dongle_bind_device_status
+0x4c45 mem_24g_bind_payload
+0x4c4d mem_24g_abort_packet
+0x4c4e mem_24g_rf_laststa
+0x4c4f mem_24g_hop_btclk
+0x4c53 mem_24g_hop_interval
+0x4c54 mem_24g_mode_switch
+0x4c55 mem_24g_ackpayload_enable
+0x4c56 mem_24g_hop_packet
+0x4c57 mem_24g_pair_mode
+0x4c58 mem_24g_nodata_timer_enable
+0x4c59 mem_24g_time_slice
+0x4c5a mem_24g_kb_data_sta_data
+0x4c62 mem_24g_kb_data_last_data
+0x4c6a mem_24g_kb_multikey_sta_data
+0x4c6d mem_24g_kb_multikey_last_data
+0x4c70 mem_24g_kb_blank_data_enable
+0x4c71 mem_24g_kb_mul_blank_data_enable
+0x4c72 mem_24g_ms_blank_data_enable
+0x4c73 mem_24g_kb_addr
+0x4c77 mem_24g_ms_addr
+0x4c7b mem_24g_dg_last_ch
+0x4c7c mem_24g_dg_ch_number
+0x4c7d mem_24g_dg_config_ch_once
+0x4c7e mem_24g_kb_last_ch
+0x4c7f mem_24g_kb_ch_number
+0x4c80 mem_24g_kb_config_ch_once
+0x4c81 mem_24g_ms_last_ch
+0x4c82 mem_24g_ms_ch_number
+0x4c83 mem_24g_ms_config_ch_once
+0x4c84 mem_24g_syncword
+0x4c86 mem_24g_syncword_crc8
+0x4c87 mem_24g_get_syncword_crc8
+0x4c88 mem_24g_ota_sta_pid
+0x4c8a mem_tx_power_temp
+0x4c8b mem_rssi_hex
+0x4c8c mem_rssi_noise_avg
+0x4c8d mem_rssi_noise_index
+0x4c8e mem_rssi_signal_index
+0x4c8f mem_rssi_noise_dg_avg
+0x4c90 mem_rssi_noise_kb_avg
+0x4c91 mem_rssi_noise_ms_avg
+0x4c92 mem_rssi_noise_dg_index
+0x4c93 mem_rssi_noise_kb_index
+0x4c94 mem_rssi_noise_ms_index
+0x4c95 mem_rssi_signal_buf
+0x4c9d mem_queue_ele_num
+0x4c9e mem_queue_read
+0x4ca0 mem_queue_write
+0x4ca2 mem_queue_start
+0x4ca2 mem_data_ele0
+0x4cc2 mem_data_ele1
+0x4ce2 mem_data_ele2
+0x4d02 mem_queue_end
+0x4d02 mem_queue_temp
+0x4d04 mem_cb_24g_data
+0x4d06 mem_24g_hop_fastly_cnt
+0x4d07 mem_24g_hop_pac_retry
+0x4d08 mem_24g_rf_hop_ch
+0x4d09 mem_24g_rf_last_sta
+0x4d0a mem_24g_rf_work_stage
+0x4d0b mem_24g_sync_cnt
+0x4d0c mem_power_ctrl_pac_succ_cnt
+0x4d0d mem_rssi_avg_received
+0x4d0e mem_rssi_hex_received
+0x4d0f mem_power_ctrl_level
+0x4d10 mem_seqi
+0x4d11 mem_24g_auto_paring_switch
+0x4d12 mem_24g_paccnt
+0x4d13 mem_24g_transmit_by_interrupt
+0x4d14 mem_24g_transmit_by_interrupt_exit_count
+0x4d15 mem_g24_conn_sm
Index: output/otp.dat
===================================================================
--- /branch/mouse_project/ZhongXinSheng/ZXS_1062/MJ391_24G&BLE_PB/output/otp.dat	(revision 0)
+++ /branch/mouse_project/ZhongXinSheng/ZXS_1062/MJ391_24G&BLE_PB/output/otp.dat	(working copy)
@@ -0,0 +1,8 @@
+00
+02
+aa
+55
+00
+00
+b3
+23
Index: output/program.lis
===================================================================
--- /branch/mouse_project/ZhongXinSheng/ZXS_1062/MJ391_24G&BLE_PB/output/program.lis	(revision 0)
+++ /branch/mouse_project/ZhongXinSheng/ZXS_1062/MJ391_24G&BLE_PB/output/program.lis	(working copy)
@@ -0,0 +1,2531 @@
+include "bt_format "
+org 0x0000
+0000 c2840012 bbit1 8 ,pf_patch_ext 
+0001 c0000029 beq patch00_0 ,p_soft_reset_0 
+0002 c000803b beq patch00_1 ,p_soft_reset_1 
+0003 c0428736 beq patch10_5 ,p_shutdown_radio 
+0004 c0448709 beq patch11_1 ,p_set_freq_tx 
+0005 c0508044 beq patch14_1 ,p_init_param 
+0006 c0588049 beq patch16_1 ,p_lpm_check_wake_lock 
+0007 c059005a beq patch16_2 ,p_g24_dispatch 
+0008 c06202ce beq patch18_4 ,p_device_init 
+0009 c064835f beq patch19_1 ,p_app_flag_store 
+000a c0650363 beq patch19_2 ,p_app_initflag_check 
+000b c07183c5 beq patch1c_3 ,p_mouse_seting_dpi 
+000c c0730581 beq patch1c_6 ,p_mouse_motion 
+000d c07485bc beq patch1d_1 ,p_mouse_bb_disconnected 
+000e c07505c6 beq patch1d_2 ,p_mouse_bb_event_discovery_btn 
+000f c07585d6 beq patch1d_3 ,p_mouse_start_discovery 
+0010 c07605ff beq patch1d_4 ,p_mouse_stop_discovery 
+0011 20202a8e branch loop 
+
+pf_patch_ext:
+0012 c01c8605 beq patch27_1 ,p_le_slave_match 
+0013 c021860d beq patch28_3 ,p_le_next_adv_channel 
+0014 c0250613 beq patch29_2 ,p_le_receive_skip 
+0015 c02b8616 beq patch2a_7 ,p_le_update_param 
+0016 c02c8626 beq patch2b_1 ,p_le_update_channel_map 
+0017 c0318633 beq patch2c_3 ,p_le_prepare_tx 
+0018 c0330663 beq patch2c_6 ,p_le_parse 
+0019 c033867a beq patch2c_7 ,p_le_parse_l2cap 
+001a c03506a6 beq patch2d_2 ,p_le_adv_not_match 
+001b c03b86b1 beq patch2e_7 ,p_le_lpm_setmult 
+001c c07d06c1 beq patch3f_2 ,p_check_51cmd_once_continue 
+001d c04606ca beq patch31_4 ,p_twspi_reset 
+001e 20202a8e branch loop 
+
+p_rssi_signal:
+001f 1fe22200 copy pdata ,rega 
+0020 6808cc8e fetcht 1 ,mem_rssi_signal_index 
+0021 58004c95 setarg mem_rssi_signal_buf 
+0022 98408a00 iadd temp ,contw 
+0023 1a227e00 copy rega ,pdata 
+0024 e0a08000 istore 1 ,contw 
+0025 18408401 increase 1 ,temp 
+0026 18410407 and_into rssi_buf_len_signal ,temp 
+0027 6008cc8e storet 1 ,mem_rssi_signal_index 
+0028 20600000 rtn 
+
+p_soft_reset_0:
+0029 2040002b call p_mouse_select_device_button_wakeup_check 
+002a 20202002 branch soft_reset + 1 
+
+p_mouse_select_device_button_wakeup_check:
+002b 704b3d00 jam 0 ,mem_mouse_select_device_button_wakeup_flag 
+002c 6808c6ed fetcht 1 ,mem_config_select_device_button_gpio 
+002d 204067fb call gpio_config_input 
+002e 6808c6ed fetcht 1 ,mem_config_select_device_button_gpio 
+002f 2040681d call gpio_get_bit 
+0030 24608000 nrtn true 
+0031 20407ec1 call delay_10ms 
+0032 6808c6ed fetcht 1 ,mem_config_select_device_button_gpio 
+0033 2040681d call gpio_get_bit 
+0034 24608000 nrtn true 
+0035 704b3d01 jam 1 ,mem_mouse_select_device_button_wakeup_flag 
+0036 20600000 rtn 
+
+p_mouse_switch_hwakeup_bypb:
+0037 6800cb3d fetch 1 ,mem_mouse_select_device_button_wakeup_flag 
+0038 207a0000 rtn blank 
+0039 204004c6 call p_mouse_switch_device_flag 
+003a 20200444 branch p_mouse_store_device_number2eeprom 
+
+p_soft_reset_1:
+003b d8a009ae arg mem_sp_state ,contw 
+003c df20000c arg 12 ,loopcnt 
+003d 20407ed4 call clear_mem 
+003e 20400399 call p_mouse_le_txbuff_load 
+003f 20406a03 call rfcomm_init 
+0040 20405cf6 call init_lmp 
+0041 2455ac65 ncall lpm_disable_exen_output ,wake 
+0042 20407ccd call ui_init + 1 
+0043 2020200c branch soft_reset + 11 
+
+p_init_param:
+0044 58000a06 setarg param_le_version 
+0045 6001c510 store 3 ,mem_lmp_version 
+0046 58001d87 setarg param_le_subversion 
+0047 60014513 store 2 ,mem_lmp_version + 3 
+0048 20202aa2 branch init_param + 12 
+
+p_lpm_check_wake_lock:
+0049 c6130000 rtnmark1 mark_24g 
+004a 20400054 call p_mouse_bt_multi_led_lpm_lock 
+004b 6800cb01 fetch 1 ,mem_mouse_multi_led_state 
+004c c000ffef beq on ,disable_blank 
+004d 6800c79c fetch 1 ,mem_mouse_clear_sensor_data_flag 
+004e c0007fef beq 0 ,disable_blank 
+004f 6800c7c4 fetch 1 ,mem_mouse_le_conn_param_reject 
+0050 c000ffef beq le_lpm_disable ,disable_blank 
+0051 6800c806 fetch 1 ,mem_mouse_wheel_trigger 
+0052 243a7fef nbranch disable_blank ,blank 
+0053 20207ff1 branch enable_blank 
+
+p_mouse_bt_multi_led_lpm_lock:
+0054 20407ff1 call enable_blank 
+0055 6800cb01 fetch 1 ,mem_mouse_multi_led_state 
+0056 245a7fef ncall disable_blank ,blank 
+0057 6800cb07 fetch 1 ,mem_mouse_multi_led_on_timer 
+0058 245a7fef ncall disable_blank ,blank 
+0059 20600000 rtn 
+
+p_g24_dispatch:
+005a c6930000 rtnmark0 mark_24g 
+005b 6800cd15 fetch 1 ,mem_g24_conn_sm 
+005c c2808071 bbit1 state_24g_pair ,p_g24_pair_dispatch 
+005d c2810081 bbit1 state_24g_reconn ,p_g24_reconn_dispatch 
+005e 6800cd13 fetch 1 ,mem_24g_transmit_by_interrupt 
+005f c00080b2 beq g24_tx_timer_int_enable ,p_g24_transmit_by_interrupt 
+
+p_g24_transmit_process:
+0060 20400131 call p_g24_txdata_prep 
+0061 243400c9 nbranch p_g24_nodata_transmit ,user 
+0062 20400118 call p_g24_rf_sta_check 
+
+p_g24_transmit_start:
+0063 20400154 call p_g24_transmit_packet 
+0064 6800cbe3 fetch 1 ,mem_24g_pairing_sm 
+0065 c1ff8000 rtnne state_24g_pairing_success 
+0066 204006df call power_ctrl_start 
+0067 204000ae call g24_long_sleep_shorter_param_update 
+0068 6800cd13 fetch 1 ,mem_24g_transmit_by_interrupt 
+0069 c1008000 rtneq g24_tx_timer_int_enable 
+006a 6800cb01 fetch 1 ,mem_mouse_multi_led_state 
+006b c0008093 beq on ,p_g24_transmit_by_interrupt_enable 
+
+p_g24_short_sleep:
+006c 204000d5 call p_g24_lpm_wait 
+006d 24740000 nrtn user 
+006e 204002bf call p_clear_wake 
+006f 5800ec54 setarg 60500 
+0070 20202b93 branch lpm_dispatch_sleep 
+
+p_g24_pair_dispatch:
+0071 6800cb42 fetch 1 ,mem_g24_stop_g24_mode 
+0072 c000add4 beq 1 ,g24_stop_24g_mode 
+0073 204001e0 call p_g24_tx_attemp_data_prep 
+0074 20400172 call p_g24_transmit_receive_ack 
+0075 242c0098 nbranch p_g24_pair_txdata_switch ,sync 
+0076 24378098 nbranch p_g24_pair_txdata_switch ,user3 
+0077 6800cd15 fetch 1 ,mem_g24_conn_sm 
+0078 793ffe01 set0 state_24g_pair ,pdata 
+0079 6000cd15 store 1 ,mem_g24_conn_sm 
+007a 2040019c call p_g24_ackpayload_parse 
+007b 204002ec call p_mouse_tx_power_init 
+007c 68024bfb fetch 4 ,mem_24g_addr 
+007d 680a4bdf fetcht 4 ,mem_24g_paring_addr 
+007e 98467c00 isub temp ,null 
+007f 20228322 branch p_g24_start_pairing_sm1 ,zero 
+0080 20200087 branch p_g24_tx_attemp_dongle_succ 
+
+p_g24_reconn_dispatch:
+0081 6800cb42 fetch 1 ,mem_g24_stop_g24_mode 
+0082 c000add4 beq 1 ,g24_stop_24g_mode 
+0083 204001e0 call p_g24_tx_attemp_data_prep 
+0084 20400172 call p_g24_transmit_receive_ack 
+0085 242c00aa nbranch p_g24_ch ,sync 
+0086 243780aa nbranch p_g24_ch ,user3 
+
+p_g24_tx_attemp_dongle_succ:
+0087 79200026 set1 mark_24g ,mark 
+0088 6800cd15 fetch 1 ,mem_g24_conn_sm 
+0089 793ffe02 set0 state_24g_reconn ,pdata 
+008a 6000cd15 store 1 ,mem_g24_conn_sm 
+008b 704b3a00 jam 0 ,mem_mouse_long_mult_flag 
+008c 700a993c jam bt_evt_24g_attempt_success ,mem_fifo_temp 
+008d 20407d86 call ui_ipc_send_event 
+008e 68024bfb fetch 4 ,mem_24g_addr 
+008f 680a4c0a fetcht 4 ,mem_24g_device_addr 
+0090 98467c00 isub temp ,null 
+0091 20428096 call p_g24_store_dongle_addr ,zero 
+0092 2040016c call p_g24_txbuf_clear 
+
+p_g24_transmit_by_interrupt_enable:
+0093 704d1301 jam g24_tx_timer_int_enable ,mem_24g_transmit_by_interrupt 
+0094 704d1400 jam 0 ,mem_24g_transmit_by_interrupt_exit_count 
+0095 20600000 rtn 
+
+p_g24_store_dongle_addr:
+0096 68024bb3 fetch 4 ,mem_24g_rxpayload + 2 
+0097 202001a7 branch p_g24_update_addr_and_synccrc8 
+
+p_g24_pair_txdata_switch:
+0098 6800cd11 fetch 1 ,mem_24g_auto_paring_switch 
+0099 1fe0fe01 increase 1 ,pdata 
+009a 1fe17e03 and_into 3 ,pdata 
+009b 6000cd11 store 1 ,mem_24g_auto_paring_switch 
+009c c00000a1 beq 0 ,p_g24_auto_pair_first_attemp 
+009d c00081a3 beq 1 ,p_g24_pair_init 
+009e c00101ed beq 2 ,p_g24_auto_pair_all_powerful 
+009f c00181a3 beq 3 ,p_g24_pair_init 
+00a0 20600000 rtn 
+
+p_g24_auto_pair_first_attemp:
+00a1 204002ec call p_mouse_tx_power_init 
+00a2 68024c0a fetch 4 ,mem_24g_device_addr 
+00a3 60024bfb store 4 ,mem_24g_addr 
+00a4 6800cb45 fetch 1 ,mem_24g_pair_current_ch_num 
+00a5 6000cbde store 1 ,mem_24g_current_ch_number 
+00a6 204000a9 call p_g24_ch_syncword_crc8_init 
+00a7 6008cb45 storet 1 ,mem_24g_pair_current_ch_num 
+00a8 20600000 rtn 
+
+p_g24_ch_syncword_crc8_init:
+00a9 204001a8 call p_g24_syncword_crc8 
+
+p_g24_ch:
+00aa 6808cbde fetcht 1 ,mem_24g_current_ch_number 
+00ab 2040021e call p_g24_ch_map_size 
+00ac 6008cbde storet 1 ,mem_24g_current_ch_number 
+00ad 20600000 rtn 
+
+g24_long_sleep_shorter_param_update:
+00ae 58017700 setarg g24_long_sleep_step1 
+00af 6001cc02 store 3 ,mem_24g_enter_hibernate 
+00b0 704b3c14 jam 20 ,mem_24g_long_sleep_param_update_timer 
+00b1 20600000 rtn 
+
+p_g24_transmit_by_interrupt:
+00b2 20400298 call p_g24_timer_check 
+00b3 24740000 nrtn user 
+00b4 204000c3 call p_g24_interval_calibrate 
+00b5 6800cd14 fetch 1 ,mem_24g_transmit_by_interrupt_exit_count 
+00b6 1fe0fe01 increase 1 ,pdata 
+00b7 6000cd14 store 1 ,mem_24g_transmit_by_interrupt_exit_count 
+00b8 1fe67c19 sub pdata ,25 ,null 
+00b9 204280bb call p_g24_transmit_by_interrupt_exit ,zero 
+00ba 20200060 branch p_g24_transmit_process 
+
+p_g24_transmit_by_interrupt_exit:
+00bb 704d1300 jam g24_tx_timer_int_disable ,mem_24g_transmit_by_interrupt 
+00bc 704d1400 jam 0 ,mem_24g_transmit_by_interrupt_exit_count 
+
+p_g24_interval_min:
+00bd 704c0e00 jam 0 ,mem_24g_pac_index 
+00be 6800cbf9 fetch 1 ,mem_24g_interval_min 
+
+p_g24_current_interval_store:
+00bf 6000cbf8 store 1 ,mem_24g_interval 
+00c0 20600000 rtn 
+
+p_g24_interval_max:
+00c1 6800cbfa fetch 1 ,mem_24g_interval_max 
+00c2 202000bf branch p_g24_current_interval_store 
+
+p_g24_interval_calibrate:
+00c3 6800cc0e fetch 1 ,mem_24g_pac_index 
+00c4 1fe0fe01 increase 1 ,pdata 
+00c5 6000cc0e store 1 ,mem_24g_pac_index 
+00c6 c00200c1 beq 4 ,p_g24_interval_max 
+00c7 c00280bd beq 5 ,p_g24_interval_min 
+00c8 20600000 rtn 
+
+p_g24_nodata_transmit:
+00c9 6800cbff fetch 1 ,mem_24g_abort_pac 
+00ca 205a00e0 call p_g24_send_abort_packet ,blank 
+00cb 6800cb06 fetch 1 ,mem_mouse_multi_led_blink_count 
+00cc 247a0000 nrtn blank 
+00cd 6800cb01 fetch 1 ,mem_mouse_multi_led_state 
+00ce c1008000 rtneq on 
+
+p_g24_long_sleep:
+00cf 204000d5 call p_g24_lpm_wait 
+00d0 24740000 nrtn user 
+00d1 6801cc02 fetch 3 ,mem_24g_enter_hibernate 
+00d2 20407f49 call clk2lpo 
+00d3 600a415b storet 4 ,mem_sleep_counter 
+00d4 20202b2a branch lpm_sleep 
+
+p_g24_lpm_wait:
+00d5 78347c00 enable user 
+00d6 20402afa call lpo_calibration 
+00d7 6801c16f fetch 3 ,mem_clks_per_lpo 
+00d8 203a7fe9 branch disable_user ,blank 
+00d9 6800c091 fetch 1 ,mem_lpm_mode 
+00da 203a7fe9 branch disable_user ,blank 
+00db 6800c5b1 fetch 1 ,mem_sp_local_key_invalid 
+00dc 203a7fe9 branch disable_user ,blank 
+00dd 6800cd13 fetch 1 ,mem_24g_transmit_by_interrupt 
+00de c000ffe9 beq g24_tx_timer_int_enable ,disable_user 
+00df 202002c2 branch p_mouse_setgpio_lpm 
+
+p_g24_send_abort_packet:
+00e0 704bff01 jam 1 ,mem_24g_abort_pac 
+00e1 704d0800 jam 0 ,mem_24g_rf_hop_ch 
+00e2 204000f0 call p_g24_transmit_rf_ctrl_clear 
+00e3 6000cb6f store 1 ,mem_24g_txbuf 
+00e4 58000000 setarg 0 
+00e5 6003cb70 store 7 ,mem_24g_txbuf + 1 
+00e6 68024c0a fetch 4 ,mem_24g_device_addr 
+00e7 60024b77 store 4 ,mem_24g_txbuf + 8 
+00e8 704bd30c jam 12 ,mem_24g_datalen 
+00e9 6800cbd4 fetch 1 ,mem_24g_data_type 
+00ea 79207e03 set1 bit_abort ,pdata 
+00eb 6000cbd4 store 1 ,mem_24g_data_type 
+00ec 20400134 call p_g24_txdata_enable_tx 
+00ed 20200063 branch p_g24_transmit_start 
+
+p_g24_transmit_rf_sta_init:
+00ee 704d0901 jam 1 ,mem_24g_rf_last_sta 
+00ef 704d0b00 jam 0 ,mem_24g_sync_cnt 
+
+p_g24_transmit_rf_ctrl_clear:
+00f0 6800cbd4 fetch 1 ,mem_24g_data_type 
+00f1 1fe17e07 and_into bits_data ,pdata 
+00f2 6000cbd4 store 1 ,mem_24g_data_type 
+00f3 20600000 rtn 
+
+p_g24_hop_ch_enable:
+00f4 6800cbd4 fetch 1 ,mem_24g_data_type 
+00f5 79207e04 set1 bit_hop ,pdata 
+00f6 6000cbd4 store 1 ,mem_24g_data_type 
+00f7 6000cb8f store 1 ,mem_24g_txpayload 
+00f8 20600000 rtn 
+
+p_g24_hop_ch_disable:
+00f9 6800cbd4 fetch 1 ,mem_24g_data_type 
+00fa 793ffe04 set0 bit_hop ,pdata 
+00fb 6000cbd4 store 1 ,mem_24g_data_type 
+00fc 6000cb8f store 1 ,mem_24g_txpayload 
+00fd 20400648 call power_ctrl_pac_succ_decrs 
+00fe 202000aa branch p_g24_ch 
+
+p_g24_rf_hop_attemp_again:
+00ff 6800cd08 fetch 1 ,mem_24g_rf_hop_ch 
+0100 c08080f0 bne 1 ,p_g24_transmit_rf_ctrl_clear 
+
+p_g24_rf_hop_fastly:
+0101 6800cd06 fetch 1 ,mem_24g_hop_fastly_cnt 
+0102 1fe0fe01 increase 1 ,pdata 
+0103 6000cd06 store 1 ,mem_24g_hop_fastly_cnt 
+0104 c0020108 beq 4 ,p_g24_rf_hop_fastly_exit 
+0105 204000aa call p_g24_ch 
+0106 704c1802 jam 2 ,mem_24g_max_retry 
+0107 20200154 branch p_g24_transmit_packet 
+
+p_g24_rf_hop_fastly_exit:
+0108 20400648 call power_ctrl_pac_succ_decrs 
+0109 704d0600 jam 0 ,mem_24g_hop_fastly_cnt 
+010a 202000f0 branch p_g24_transmit_rf_ctrl_clear 
+
+p_g24_transmit_hop_pac_succ_wo_hop:
+010b 704d0b02 jam 2 ,mem_24g_sync_cnt 
+
+p_g24_transmit_hop_pac_succ:
+010c 704d0901 jam 1 ,mem_24g_rf_last_sta 
+010d 704d0800 jam 0 ,mem_24g_rf_hop_ch 
+010e 202000f0 branch p_g24_transmit_rf_ctrl_clear 
+
+p_g24_transmit_succ_rf_config:
+010f 6800cd0a fetch 1 ,mem_24g_rf_work_stage 
+0110 c001810c beq 3 ,p_g24_transmit_hop_pac_succ 
+0111 6800cbd4 fetch 1 ,mem_24g_data_type 
+0112 2fec0004 isolate0 bit_hop ,pdata 
+0113 202080ee branch p_g24_transmit_rf_sta_init ,true 
+0114 6800cd0a fetch 1 ,mem_24g_rf_work_stage 
+0115 c000810b beq 1 ,p_g24_transmit_hop_pac_succ_wo_hop 
+0116 c001010c beq 2 ,p_g24_transmit_hop_pac_succ 
+0117 20600000 rtn 
+
+p_g24_rf_sta_check:
+0118 6800cbe3 fetch 1 ,mem_24g_pairing_sm 
+0119 c1ff8000 rtnne state_24g_pairing_success 
+011a 2040011d call p_g24_rf_laststa_synccnt_check 
+011b 24560125 ncall p_g24_rf_sync_cnt_check ,user2 
+011c 20600000 rtn 
+
+p_g24_rf_laststa_synccnt_check:
+011d 78567c00 disable user2 
+011e 6800cd09 fetch 1 ,mem_24g_rf_last_sta 
+011f c1808000 rtnne 1 
+0120 6800cd0b fetch 1 ,mem_24g_sync_cnt 
+0121 c1800000 rtnne 0 
+0122 704d0a01 jam 1 ,mem_24g_rf_work_stage 
+0123 704c1804 jam 4 ,mem_24g_max_retry 
+0124 20207feb branch enable_user2 
+
+p_g24_rf_sync_cnt_check:
+0125 6800cd0b fetch 1 ,mem_24g_sync_cnt 
+0126 203a012c branch p_g24_rf_hop_attemp ,blank 
+0127 1fe0ffff increase -1 ,pdata 
+0128 6000cd0b store 1 ,mem_24g_sync_cnt 
+0129 704d0a02 jam 2 ,mem_24g_rf_work_stage 
+012a 704c1804 jam 4 ,mem_24g_max_retry 
+012b 202000aa branch p_g24_ch 
+
+p_g24_rf_hop_attemp:
+012c 704d0a03 jam 3 ,mem_24g_rf_work_stage 
+012d 6800cd08 fetch 1 ,mem_24g_rf_hop_ch 
+012e 243a00ff nbranch p_g24_rf_hop_attemp_again ,blank 
+012f 704c1802 jam 2 ,mem_24g_max_retry 
+0130 202000aa branch p_g24_ch 
+
+p_g24_txdata_prep:
+0131 6800cbe3 fetch 1 ,mem_24g_pairing_sm 
+0132 c0ff81b5 bne state_24g_pairing_success ,p_g24_pairing_sm 
+
+p_g24_txdata_prep_packeage_data:
+0133 20400137 call p_g24_package_data 
+
+p_g24_txdata_enable_tx:
+0134 2040020c call p_g24_transmit_prep 
+0135 704bd801 jam ensure_on_24g ,mem_24g_ensure 
+0136 20600000 rtn 
+
+p_g24_package_data:
+0137 68014d04 fetch 2 ,mem_cb_24g_data 
+0138 20407f9c call callback_func 
+0139 2034013d branch p_g24_accumulate_mouse_data ,user 
+013a 6803cb70 fetch 7 ,mem_24g_txbuf + 1 
+013b 207a0000 rtn blank 
+013c 20207fe7 branch enable_user 
+
+p_g24_accumulate_mouse_data:
+013d 204003b9 call p_mouse_data_xy_release 
+013e 704bff00 jam 0 ,mem_24g_abort_pac 
+013f 1a20fe01 add rega ,1 ,pdata 
+0140 6000cbd3 store 1 ,mem_24g_datalen 
+0141 204000f0 call p_g24_transmit_rf_ctrl_clear 
+0142 6000cb6f store 1 ,mem_24g_txbuf 
+0143 e8a88000 ifetcht 1 ,contw 
+0144 ea408000 ifetch 1 ,regb 
+0145 9841fe00 ior temp ,pdata 
+0146 e0a08000 istore 1 ,contw 
+0147 1a40a401 increase 1 ,regb 
+0148 ea420000 ifetch 4 ,regb 
+0149 e0a20000 istore 4 ,contw 
+014a 1a40a404 increase 4 ,regb 
+014b d8a04b75 arg mem_24g_txbuf + 6 ,contw 
+014c df200002 arg 2 ,loopcnt 
+
+p_g24_accumulation_loop:
+014d ea408000 ifetch 1 ,regb 
+014e e8a88000 ifetcht 1 ,contw 
+014f 9840fe00 iadd temp ,pdata 
+0150 e0a08000 istore 1 ,contw 
+0151 1a40a401 increase 1 ,regb 
+0152 c200014d loop p_g24_accumulation_loop 
+0153 20600000 rtn 
+
+p_g24_transmit_packet:
+0154 704bdc00 jam 0 ,mem_24g_retry 
+
+p_g24_transmit_loop:
+0155 d9600d00 arg param_rx_setup ,timeup 
+0156 34730200 until clkn_rt ,meet 
+0157 20400172 call p_g24_transmit_receive_ack 
+0158 6800cc0f fetch 1 ,mem_24g_no_ack 
+0159 c1008000 rtneq no_ack_24g 
+015a 242c0181 nbranch p_g24_retransmit ,sync 
+015b 24378181 nbranch p_g24_retransmit ,user3 
+015c 2040016c call p_g24_txbuf_clear 
+015d 2040019c call p_g24_ackpayload_parse 
+015e 204006d9 call power_ctrl_pac_succ_incrs 
+
+p_g24_transmit_next_packet:
+015f 6800cbd2 fetch 1 ,mem_24g_pid 
+0160 1fe0fe01 increase 1 ,pdata 
+0161 6000cbd2 store 1 ,mem_24g_pid 
+0162 2040016f call p_g24_hop_enable_packet 
+0163 6800cbe3 fetch 1 ,mem_24g_pairing_sm 
+0164 c0ff81cf bne state_24g_pairing_success ,p_g24_paring_mode_start 
+0165 2040010f call p_g24_transmit_succ_rf_config 
+
+p_g24_transmit_abandon:
+0166 58000000 setarg 0 
+0167 60014bd9 store 2 ,mem_24g_txfail_cnt 
+0168 6000cbdb store 1 ,mem_24g_get_ack_fail 
+0169 6000cd07 store 1 ,mem_24g_hop_pac_retry 
+016a 704bd800 jam ensure_off_24g ,mem_24g_ensure 
+016b 20600000 rtn 
+
+p_g24_txbuf_clear:
+016c df200004 arg 4 ,loopcnt 
+016d d8a04b6f arg mem_24g_txbuf ,contw 
+016e 20207ec6 branch memset0 
+
+p_g24_hop_enable_packet:
+016f 6800cbd4 fetch 1 ,mem_24g_data_type 
+0170 c28200f9 bbit1 bit_hop ,p_g24_hop_ch_disable 
+0171 20600000 rtn 
+
+p_g24_transmit_receive_ack:
+0172 7857fc00 disable user3 
+0173 20400277 call p_g24_transmit 
+0174 6800cc0f fetch 1 ,mem_24g_no_ack 
+0175 c000817f beq no_ack_24g ,p_g24_transmit_no_ack 
+0176 18002a00 force 0 ,radio_ctrl 
+0177 68024bfb fetch 4 ,mem_24g_addr 
+0178 98001200 iforce access 
+0179 68088017 fetcht 1 ,mem_last_freq 
+017a 2040291f call set_freq_rx 
+017b 20402924 call rf_rx_enable 
+017c 20400234 call p_g24_receive_rxon 
+017d 20578270 call p_g24_end_of_packet ,user3 
+017e 20600000 rtn 
+
+p_g24_transmit_no_ack:
+017f 20400270 call p_g24_end_of_packet 
+0180 2020015f branch p_g24_transmit_next_packet 
+
+p_g24_retransmit:
+0181 68014bd9 fetch 2 ,mem_24g_txfail_cnt 
+0182 1fe0fe01 increase 1 ,pdata 
+0183 60014bd9 store 2 ,mem_24g_txfail_cnt 
+0184 6800cbda fetch 1 ,mem_24g_txfail_cnt + 1 
+0185 c2822dd4 bbit1 4 ,g24_stop_24g_mode 
+0186 6800cbe3 fetch 1 ,mem_24g_pairing_sm 
+0187 c0ff818a bne state_24g_pairing_success ,p_g24_tx_paring_retry 
+0188 20400192 call p_g24_tx_hop_ch_process 
+0189 20200155 branch p_g24_transmit_loop 
+
+p_g24_tx_paring_retry:
+018a 6800cbd9 fetch 1 ,mem_24g_txfail_cnt 
+018b c1ff8000 rtnne 0xff 
+
+p_g24_tx_attempt_fail:
+018c 58000000 setarg 0 
+018d 60014bd9 store 2 ,mem_24g_txfail_cnt 
+018e 20202dd4 branch g24_stop_24g_mode 
+
+p_g24_tx_fast_hop:
+018f 20400700 call power_ctrl_txpower_incrs 
+0190 20400648 call power_ctrl_pac_succ_decrs 
+0191 202000aa branch p_g24_ch 
+
+p_g24_tx_hop_ch_process:
+0192 6800cbdc fetch 1 ,mem_24g_retry 
+0193 1fe67c0b sub pdata ,11 ,null 
+0194 2421018f nbranch p_g24_tx_fast_hop ,positive 
+0195 1fe0fe01 increase 1 ,pdata 
+0196 6000cbdc store 1 ,mem_24g_retry 
+0197 c00100f4 beq 2 ,p_g24_hop_ch_enable 
+0198 c00300f9 beq 6 ,p_g24_hop_ch_disable 
+0199 c00400f4 beq 8 ,p_g24_hop_ch_enable 
+019a c00600f9 beq 12 ,p_g24_hop_ch_disable 
+019b 20600000 rtn 
+
+p_g24_ackpayload_parse:
+019c 204001ff call p_g24_read_len_pid_crc 
+019d 6800cbd1 fetch 1 ,mem_24g_rxdata_length 
+019e 207a0000 rtn blank 
+019f 98007200 iforce loopcnt 
+01a0 d8c04b4f arg mem_24g_rxbuf + 2 ,contr 
+01a1 d8a04bb1 arg mem_24g_rxpayload ,contw 
+01a2 20207f01 branch memcpy 
+
+p_g24_pair_init:
+01a3 7041de20 jam tx_power_pair ,mem_tx_power 
+01a4 704bd200 jam 0 ,mem_24g_pid 
+01a5 704bdd4e jam g24_pair_ch ,mem_24g_ch 
+01a6 68024bdf fetch 4 ,mem_24g_paring_addr 
+
+p_g24_update_addr_and_synccrc8:
+01a7 60024bfb store 4 ,mem_24g_addr 
+
+p_g24_syncword_crc8:
+01a8 da200000 arg 0 ,rega 
+01a9 df200004 arg 4 ,loopcnt 
+01aa d8c04bfb arg mem_24g_addr ,contr 
+
+p_g24_syncword_crc8_loop:
+01ab e8c08000 ifetch 1 ,contr 
+01ac 9a20a200 iadd rega ,rega 
+01ad c20001ab loop p_g24_syncword_crc8_loop 
+01ae 1a227e00 copy rega ,pdata 
+01af 60014c84 store 2 ,mem_24g_syncword 
+01b0 6800cc84 fetch 1 ,mem_24g_syncword 
+01b1 6808cc85 fetcht 1 ,mem_24g_syncword + 1 
+01b2 9840fe00 iadd temp ,pdata 
+01b3 6000cc86 store 1 ,mem_24g_syncword_crc8 
+01b4 20600000 rtn 
+
+p_g24_pairing_sm:
+01b5 6800cbd8 fetch 1 ,mem_24g_ensure 
+01b6 c000ffe7 beq ensure_on_24g ,enable_user 
+01b7 6800cbe3 fetch 1 ,mem_24g_pairing_sm 
+01b8 c00081bc beq state_24g_pairing_1 ,p_g24_pairing_sm_1 
+01b9 c00101bf beq state_24g_pairing_2 ,p_g24_pairing_sm_2 
+01ba c00181c2 beq state_24g_pairing_3 ,p_g24_pairing_sm_3 
+01bb 20202a8c branch assert 
+
+p_g24_pairing_sm_1:
+01bc 704be311 jam state_24g_pairing_1_waiting_ack ,mem_24g_pairing_sm 
+01bd 70119eaa jam 0xaa ,mem_24g_common_temp 
+01be 202001c4 branch p_g24_pairing_sm_common 
+
+p_g24_pairing_sm_2:
+01bf 704be312 jam state_24g_pairing_2_waiting_ack ,mem_24g_pairing_sm 
+01c0 70119e55 jam 0x55 ,mem_24g_common_temp 
+01c1 202001c4 branch p_g24_pairing_sm_common 
+
+p_g24_pairing_sm_3:
+01c2 704be313 jam state_24g_pairing_3_waiting_ack ,mem_24g_pairing_sm 
+01c3 70119e22 jam 0x22 ,mem_24g_common_temp 
+
+p_g24_pairing_sm_common:
+01c4 6800cbd4 fetch 1 ,mem_24g_data_type 
+01c5 1fe17e07 and_into bits_data ,pdata 
+01c6 6000919f store 1 ,mem_24g_common_temp + 1 
+01c7 68024c0a fetch 4 ,mem_24g_device_addr 
+01c8 600211a0 store 4 ,mem_24g_common_temp + 2 
+
+p_g24_put_pairing_data_in_buff:
+01c9 7011a400 jam 0 ,mem_24g_common_temp + 6 
+01ca da20119e arg mem_24g_common_temp ,rega 
+01cb d8400007 arg 7 ,temp 
+01cc 204001fa call p_g24_put_data_in_buff 
+01cd 20400134 call p_g24_txdata_enable_tx 
+01ce 20207fe7 branch enable_user 
+
+p_g24_paring_mode_start:
+01cf 204006d6 call power_ctrl_pac_succ_cnt_init 
+
+p_g24_paring_mode:
+01d0 6800cbe3 fetch 1 ,mem_24g_pairing_sm 
+01d1 c17f8000 rtneq state_24g_pairing_success 
+01d2 c00881d6 beq state_24g_pairing_1_waiting_ack ,p_g24_pairing_sm_1_waiting_ack 
+01d3 c00901d8 beq state_24g_pairing_2_waiting_ack ,p_g24_pairing_sm_2_waiting_ack 
+01d4 c00981da beq state_24g_pairing_3_waiting_ack ,p_g24_pairing_sm_3_waiting_ack 
+01d5 20600000 rtn 
+
+p_g24_pairing_sm_1_waiting_ack:
+01d6 704be302 jam state_24g_pairing_2 ,mem_24g_pairing_sm 
+01d7 20200166 branch p_g24_transmit_abandon 
+
+p_g24_pairing_sm_2_waiting_ack:
+01d8 704be303 jam state_24g_pairing_3 ,mem_24g_pairing_sm 
+01d9 20200166 branch p_g24_transmit_abandon 
+
+p_g24_pairing_sm_3_waiting_ack:
+01da 704be3ff jam state_24g_pairing_success ,mem_24g_pairing_sm 
+01db 700a9939 jam bt_evt_24g_pairing_complete ,mem_fifo_temp 
+01dc 20407d86 call ui_ipc_send_event 
+01dd 68024bb3 fetch 4 ,mem_24g_rxpayload + 2 
+01de 204001a7 call p_g24_update_addr_and_synccrc8 
+01df 20200166 branch p_g24_transmit_abandon 
+
+p_g24_tx_attemp_data_prep:
+01e0 70119eff jam 0xff ,mem_24g_common_temp 
+01e1 6800cbd4 fetch 1 ,mem_24g_data_type 
+01e2 6000919f store 1 ,mem_24g_common_temp + 1 
+01e3 68024c0a fetch 4 ,mem_24g_device_addr 
+01e4 600211a0 store 4 ,mem_24g_common_temp + 2 
+01e5 d8400006 arg 6 ,temp 
+01e6 da20119e arg mem_24g_common_temp ,rega 
+01e7 204001fa call p_g24_put_data_in_buff 
+01e8 2020020c branch p_g24_transmit_prep 
+
+p_g24_auto_pair_timeout_clear:
+01e9 58000000 setarg 0 
+01ea 60014b43 store 2 ,mem_g24_stop_g24_mode_timeout 
+01eb 704b4200 jam 0 ,mem_g24_stop_g24_mode 
+01ec 20600000 rtn 
+
+p_g24_auto_pair_all_powerful:
+01ed 7041de20 jam tx_power_pair ,mem_tx_power 
+01ee 58000f0f setarg 0x0f0f 
+01ef 60014bfb store 2 ,mem_24g_addr 
+01f0 e0a10000 istore 2 ,contw 
+01f1 6800cb46 fetch 1 ,mem_24g_powerful_current_ch_num 
+01f2 6000cbde store 1 ,mem_24g_current_ch_number 
+01f3 204000a9 call p_g24_ch_syncword_crc8_init 
+01f4 6008cb46 storet 1 ,mem_24g_powerful_current_ch_num 
+01f5 20600000 rtn 
+
+p_g24_check_51cmd_stop_24g:
+01f6 793f8026 set0 mark_24g ,mark 
+01f7 204053ce call le_disable 
+
+p_mouse_disable_g24_pairing_flag:
+01f8 d8e00003 arg mosue_24g_pairing_flag ,queue 
+01f9 202043d2 branch mouse_disable_function_flag 
+
+p_g24_put_data_in_buff:
+01fa 6008cbd3 storet 1 ,mem_24g_datalen 
+01fb 18427200 copy temp ,loopcnt 
+01fc d8a04b6f arg mem_24g_txbuf ,contw 
+01fd 1a220c00 copy rega ,contr 
+01fe 20207f01 branch memcpy 
+
+p_g24_read_len_pid_crc:
+01ff 6800cb4e fetch 1 ,mem_24g_rxbuf + 1 
+0200 1fe97e00 rshift3 pdata ,pdata 
+0201 6000cbd1 store 1 ,mem_24g_rxdata_length 
+0202 1fe0fe01 increase 1 ,pdata 
+0203 d8c04b4e arg mem_24g_rxbuf + 1 ,contr 
+0204 98c08c00 iadd contr ,contr 
+0205 e8c18000 ifetch 3 ,contr 
+0206 6001cc10 store 3 ,mem_24g_sta_crc 
+0207 6800cb4e fetch 1 ,mem_24g_rxbuf + 1 
+0208 1fe37e00 rshift pdata ,pdata 
+0209 1fe17e03 and pdata ,0x03 ,pdata 
+020a 6000cc16 store 1 ,mem_24g_sta_pid 
+020b 20600000 rtn 
+
+p_g24_transmit_prep:
+020c 6800cbd3 fetch 1 ,mem_24g_datalen 
+020d 1fe0fe02 increase 2 ,pdata 
+020e 6000cbd5 store 1 ,mem_24g_txlen 
+020f 6800cbd4 fetch 1 ,mem_24g_data_type 
+0210 6000cb8f store 1 ,mem_24g_txpayload 
+0211 6800cbd3 fetch 1 ,mem_24g_datalen 
+0212 1fe9fe00 lshift3 pdata ,pdata 
+0213 6808cbd2 fetcht 1 ,mem_24g_pid 
+0214 18410403 and temp ,0x03 ,temp 
+0215 18438400 lshift temp ,temp 
+0216 9841fe00 ior temp ,pdata 
+0217 6808cc0f fetcht 1 ,mem_24g_no_ack 
+0218 9840fe00 iadd temp ,pdata 
+0219 e0a08000 istore 1 ,contw 
+021a 6800cbd3 fetch 1 ,mem_24g_datalen 
+021b 98007200 iforce loopcnt 
+021c d8c04b6f arg mem_24g_txbuf ,contr 
+021d 20207f01 branch memcpy 
+
+p_g24_ch_map_size:
+021e 20400222 call p_g24_ch_calc 
+021f 18408401 increase 1 ,temp 
+0220 18410403 and_into 3 ,temp 
+0221 20600000 rtn 
+
+p_g24_ch_calc:
+0222 6800cbfb fetch 1 ,mem_24g_addr 
+0223 1fe17e03 and_into 0x03 ,pdata 
+0224 1fefa204 mul32 pdata ,4 ,rega 
+0225 58004be4 setarg mem_24g_ch_map1 
+0226 9a20fe00 iadd rega ,pdata 
+0227 98408c00 iadd temp ,contr 
+0228 e8c08000 ifetch 1 ,contr 
+0229 6000cbdd store 1 ,mem_24g_ch 
+022a 20600000 rtn 
+
+p_g24_prep:
+022b 7844fc00 disable enable_crc 
+022c 7843fc00 disable enable_white 
+022d 58555555 setarg 0x555555 
+022e 98001e00 iforce crc24_init 
+022f 6800cbdd fetch 1 ,mem_24g_ch 
+0230 1fed8400 reverse pdata ,temp 
+0231 79200401 set1 1 ,temp 
+0232 18431c00 rshift temp ,white_init 
+0233 20600000 rtn 
+
+p_g24_receive_rxon:
+0234 2040022b call p_g24_prep 
+0235 7857fc00 disable user3 
+0236 7826fc00 enable decode_fec0 
+0237 7830fc00 enable is_rx 
+0238 78507c00 disable is_tx 
+0239 78287c00 enable swfine 
+023a 68014bd6 fetch 2 ,mem_24g_rx_window 
+023b 98003600 iforce stop_watch 
+023c 37c18400 correlate null ,timeout 
+023d 242c0270 nbranch p_g24_sync_timeout ,sync 
+023e 7846fc00 disable decode_fec0 
+023f 7825fc00 enable decode_fec1 
+0240 7823fc00 enable enable_white 
+0241 7824fc00 enable enable_crc 
+0242 2040026d call p_g24_receive_byte 
+0243 6000cc87 store 1 ,mem_24g_get_syncword_crc8 
+0244 6808cc86 fetcht 1 ,mem_24g_syncword_crc8 
+0245 98467c00 isub temp ,null 
+0246 24228270 nbranch p_g24_end_of_packet ,zero 
+0247 2040026d call p_g24_receive_byte 
+0248 6000cb4d store 1 ,mem_24g_rxbuf 
+0249 6800cc19 fetch 1 ,mem_24g_mode 
+024a 1fe67c02 sub pdata ,rx_24g ,null 
+024b 20228250 branch p_g24_receive_skip ,zero 
+024c 6800cb4d fetch 1 ,mem_24g_rxbuf 
+024d 6808cbd4 fetcht 1 ,mem_24g_data_type 
+024e a8400e00 icompare bits_data ,temp 
+024f 24208270 nbranch p_g24_end_of_packet ,true 
+
+p_g24_receive_skip:
+0250 2040026d call p_g24_receive_byte 
+0251 e0a08000 istore 1 ,contw 
+0252 1fe97e00 rshift3 pdata ,pdata 
+0253 1fe1721f and pdata ,0x1f ,loopcnt 
+0254 20228258 branch p_g24rx_nopayload ,zero 
+
+p_g24rx_loop:
+0255 2040026d call p_g24_receive_byte 
+0256 e0a08000 istore 1 ,contw 
+0257 c2000255 loop p_g24rx_loop 
+
+p_g24rx_nopayload:
+0258 18a22200 copy contw ,rega 
+0259 2040026d call p_g24_receive_byte 
+025a 6000cd0e store 1 ,mem_rssi_hex_received 
+025b 1a220a00 copy rega ,contw 
+025c 09800018 parse demod ,bucket ,24 
+025d 78287c00 enable swfine 
+025e db600664 arg param_sifs ,stop_watch 
+025f 1fef7e00 rshift32 pdata ,pdata 
+0260 1ff17e00 rshift16 pdata ,pdata 
+0261 e0a18000 istore 3 ,contw 
+0262 7845fc00 disable decode_fec1 
+0263 20230270 branch p_g24_end_of_packet ,crc_failed 
+0264 7837fc00 enable user3 
+0265 68008017 fetch 1 ,mem_last_freq 
+0266 1fe0a200 add pdata ,0 ,rega 
+0267 20402981 call rf_write_freq 
+0268 7846fc00 disable decode_fec0 
+0269 20402918 call set_sync_on 
+026a 6800cd0e fetch 1 ,mem_rssi_hex_received 
+026b 2040001f call p_rssi_signal 
+026c 20600000 rtn 
+
+p_g24_receive_byte:
+026d 09800008 parse demod ,bucket ,8 
+026e 19897e00 rshift3 pwindow ,pdata 
+026f 20600000 rtn 
+
+p_g24_sync_timeout:
+
+p_g24_end_of_packet:
+0270 784dfc00 disable encode_fec1 
+0271 7845fc00 disable decode_fec1 
+0272 2040264d call end_of_packet 
+0273 20600000 rtn 
+
+p_g24_set_freq_tx:
+0274 20402918 call set_sync_on 
+0275 6808cbdd fetcht 1 ,mem_24g_ch 
+0276 20202933 branch set_freq_tx 
+
+p_g24_transmit:
+0277 204053c4 call le_enable 
+0278 68024bfb fetch 4 ,mem_24g_addr 
+0279 98001200 iforce access 
+027a 2040022b call p_g24_prep 
+027b 20400274 call p_g24_set_freq_tx 
+027c 79202a00 set1 txgfsk ,radio_ctrl 
+027d 782efc00 enable encode_fec0 
+027e 78307c00 enable is_tx 
+027f 7850fc00 disable is_rx 
+0280 19317e00 rshift16 access ,pdata 
+0281 1fecfe00 rshift8 pdata ,pdata 
+0282 1ff1fe00 rshift4 pdata ,pdata 
+0283 08008628 inject mod ,40 
+0284 784efc00 disable encode_fec0 
+0285 782dfc00 enable encode_fec1 
+0286 7823fc00 enable enable_white 
+0287 7824fc00 enable enable_crc 
+0288 6800cc86 fetch 1 ,mem_24g_syncword_crc8 
+0289 08008608 inject mod ,8 
+028a 6800cbd5 fetch 1 ,mem_24g_txlen 
+028b 98007200 iforce loopcnt 
+028c d8c04b8f arg mem_24g_txpayload ,contr 
+
+p_g24tr_loop:
+028d e8c08000 ifetch 1 ,contr 
+028e 08008608 inject mod ,8 
+028f c200028d loop p_g24tr_loop 
+0290 78247c00 enable enable_parity 
+0291 08008618 inject mod ,24 
+0292 78447c00 disable enable_parity 
+0293 37d38200 until null ,tx_clear 
+0294 20000064 nop 100 
+0295 784efc00 disable encode_fec0 
+0296 784dfc00 disable encode_fec1 
+0297 20600000 rtn 
+
+p_g24_timer_check:
+0298 20407fe9 call disable_user 
+0299 680a4bf4 fetcht 4 ,mem_24g_tx_btclk 
+029a 1c427e00 copy clkn_bt ,pdata 
+029b 98467c00 isub temp ,null 
+029c 24412d18 ncall g24_timer_timeout ,positive 
+029d 1fe22400 copy pdata ,regb 
+029e 68024bf4 fetch 4 ,mem_24g_tx_btclk 
+029f 6808cbf8 fetcht 1 ,mem_24g_interval 
+02a0 98408400 iadd temp ,temp 
+02a1 1a427e00 copy regb ,pdata 
+02a2 98467c00 isub temp ,null 
+02a3 24610000 nrtn positive 
+02a4 793ffe1c set0 28 ,pdata 
+02a5 60024bf4 store 4 ,mem_24g_tx_btclk 
+02a6 20207fe7 branch enable_user 
+
+p_rssi_average:
+02a7 d8400000 arg 0 ,temp 
+02a8 df200008 arg rssi_buf_len_signal + 1 ,loopcnt 
+02a9 1a220c00 copy rega ,contr 
+
+p_rssi_average_loop:
+02aa e8c08000 ifetch 1 ,contr 
+02ab 98408400 iadd temp ,temp 
+02ac c20002aa loop p_rssi_average_loop 
+02ad 18497e00 rshift3 temp ,pdata 
+02ae 1fe20400 copy pdata ,temp 
+02af c6930000 rtnmark0 mark_24g 
+02b0 1fe6fc0a div pdata ,10 
+02b1 20407f86 call wait_div_end 
+02b2 1807fe00 quotient pdata 
+02b3 1ff27e00 lshift4 pdata ,pdata 
+02b4 18070400 remainder temp 
+02b5 98418400 ior temp ,temp 
+02b6 20600000 rtn 
+02b7 20600000 rtn 
+
+p_mouse_before_lpm:
+02b8 c6130000 rtnmark1 mark_24g 
+02b9 2040038f call p_mouse_le_txbuff_save 
+02ba 204002c2 call p_mouse_setgpio_lpm 
+02bb 6800c040 fetch 1 ,mem_context 
+02bc c30002bf bbit0 state_inconn ,p_clear_wake 
+02bd 680080a0 fetch 1 ,mem_lpm_current_mult 
+02be 247a0000 nrtn blank 
+
+p_clear_wake:
+02bf 58000000 setarg 0 
+02c0 600400a1 store 8 ,mem_gpio_wakeup_low 
+02c1 20600000 rtn 
+
+p_mouse_setgpio_lpm:
+02c2 204002cb call p_mouse_set_sdio_high 
+02c3 204002bf call p_clear_wake 
+02c4 20403ebf call mouse_lpm_before_common 
+02c5 68120070 hfetch 4 ,core_gpio_oe0 
+02c6 681a0078 hfetcht 4 ,core_gpio_pu0 
+02c7 98418400 ior temp ,temp 
+02c8 18440400 invert temp ,temp 
+02c9 601a007c hstoret 4 ,core_gpio_pd0 
+02ca 20600000 rtn 
+
+p_mouse_set_sdio_high:
+02cb 6800cb0c fetch 1 ,mem_mouse_init_sensor_reset_flag 
+02cc 207a0000 rtn blank 
+02cd 202003c5 branch p_mouse_seting_dpi_diff 
+
+p_device_init:
+02ce 20403416 call app_lpm_mult_enable 
+02cf 203582d9 branch p_device_init_common ,wake 
+02d0 204003d2 call p_mouse_data_init 
+02d1 6800c1de fetch 1 ,mem_tx_power 
+02d2 6000cc8a store 1 ,mem_tx_power_temp 
+02d3 204006d6 call power_ctrl_pac_succ_cnt_init 
+02d4 6800c685 fetch 1 ,mem_ui_button_timeout 
+02d5 6000c6da store 1 ,mem_combination_ui_button_count 
+02d6 204043ca call mouse_bt_discovery_button_down_disable 
+02d7 6801c4a3 fetch 3 ,mem_le_lap + 3 
+02d8 6001cb48 store 3 ,mem_le_lap_high_3b 
+
+p_device_init_common:
+02d9 204002db call p_mouse_init 
+02da 202074b9 branch enable_authrom 
+
+p_mouse_init:
+02db 2455833b ncall p_mouse_setting_config ,wake 
+02dc 20400326 call p_mouse_spi_init 
+02dd 20758000 rtn wake 
+02de 2040037a call p_mouse_cb_fuction 
+02df 2040058f call p_mouse_check_key_gpio 
+02e0 c002830f beq mouse_lm_button ,p_mouse_24g_pairing_button 
+02e1 2040036d call p_mouse_wakeup_from_power 
+
+p_mouse_check_reconn_target:
+02e2 204002ec call p_mouse_tx_power_init 
+02e3 6800c720 fetch 1 ,mem_device_flag 
+02e4 c00102ef beq mode_24g_device ,p_mouse_connect_24g_mode 
+02e5 c07f82ef beq 0xff ,p_mouse_connect_24g_mode 
+
+p_mouse_check_bt_reconn_target:
+02e6 20400526 call p_mouse_mode_bt_device1_multi_led_on 
+02e7 6800c210 fetch 1 ,mem_xrecord_mode 
+02e8 c01a02f9 beq rec_4_mode ,p_mouse4_0_check_reconn_target 
+
+p_mouse_null_enter_hibernate_enable:
+02e9 70479d01 jam 1 ,mem_mouse_null_enter_hibernate_flag 
+02ea 70479e28 jam 40 ,mem_mouse_null_enter_hibernate_timer 
+02eb 20600000 rtn 
+
+p_mouse_tx_power_init:
+02ec 6800cc8a fetch 1 ,mem_tx_power_temp 
+02ed 6000c1de store 1 ,mem_tx_power 
+02ee 20600000 rtn 
+
+p_mouse_connect_24g_mode:
+02ef 20400526 call p_mouse_mode_24g_device_multi_led_on 
+02f0 20400443 call p_mouse_store_24g_device_2eeprom 
+
+p_mouse_start_24g_mode:
+02f1 20400371 call p_g24_factory_check 
+02f2 2034031a branch p_g24_auto_pair_start ,user 
+
+p_g24_start_24g_mode:
+02f3 79200026 set1 mark_24g ,mark 
+02f4 6800cd15 fetch 1 ,mem_g24_conn_sm 
+02f5 79207e02 set1 state_24g_reconn ,pdata 
+02f6 6000cd15 store 1 ,mem_g24_conn_sm 
+02f7 204000a9 call p_g24_ch_syncword_crc8_init 
+02f8 2020031e branch p_g24_auto_pair_timeout_init 
+
+p_mouse4_0_check_reconn_target:
+02f9 704b4001 jam 1 ,mem_le_send_security_request_flag 
+02fa 70479f01 jam 1 ,mem_mouse_le_reconnect_flag 
+02fb 680146a8 fetch 2 ,mem_mouse_direct_timeout 
+02fc 6808cb1e fetcht 1 ,mem_mouse_fast_conn_flag 
+02fd 18467cff sub temp ,0xff ,null 
+02fe 24228300 nbranch p_mouse4_0_check_reconn_target_next ,zero 
+02ff 58000258 setarg 0x0258 
+
+p_mouse4_0_check_reconn_target_next:
+0300 600146ae store 2 ,mem_mouse_direct_timer 
+0301 20403418 call app_lpm_mult_disable 
+0302 20400308 call p_le_check_adv_flag 
+0303 58000004 setarg adv_flag_bredr_not_supported 
+0304 e0c08000 istore 1 ,contr 
+0305 d8c04390 arg mem_le_scan_data ,contr 
+0306 204005fb call p_le_adv_data_update 
+0307 20207df4 branch check_51cmd_adv 
+
+p_le_check_adv_flag:
+0308 da204370 arg mem_le_adv_data ,rega 
+
+p_le_check_adv_flag_loop:
+0309 ea208000 ifetch 1 ,rega 
+030a 207a0000 rtn blank 
+030b 98c0a200 iadd contr ,rega 
+030c e8c08000 ifetch 1 ,contr 
+030d c1008000 rtneq 0x01 
+030e 20200309 branch p_le_check_adv_flag_loop 
+
+p_mouse_24g_pairing_button:
+030f 6800cd15 fetch 1 ,mem_g24_conn_sm 
+0310 c2810312 bbit1 state_24g_reconn ,p_mouse_24g_pairing_button_next 
+0311 c6130000 rtnmark1 mark_24g 
+
+p_mouse_24g_pairing_button_next:
+0312 d8e00003 arg mosue_24g_pairing_flag ,queue 
+0313 204043ce call mouse_enable_function_flag 
+0314 58000000 setarg 0 
+0315 600146ae store 2 ,mem_mouse_direct_timer 
+0316 6000c6b4 store 1 ,mem_mouse_send_blank_timer 
+0317 60014c00 store 2 ,mem_24g_check_dongle_times 
+0318 204042ca call mouse_stop_discovery 
+0319 70472002 jam mode_24g_device ,mem_device_flag 
+
+p_g24_auto_pair_start:
+031a 79200026 set1 mark_24g ,mark 
+031b 6800cd15 fetch 1 ,mem_g24_conn_sm 
+031c 79207e01 set1 state_24g_pair ,pdata 
+031d 6000cd15 store 1 ,mem_g24_conn_sm 
+
+p_g24_auto_pair_timeout_init:
+031e 58000032 setarg g24_disconn_nodata_timer 
+031f 60014b43 store 2 ,mem_g24_stop_g24_mode_timeout 
+0320 704b4200 jam 0 ,mem_g24_stop_g24_mode 
+0321 20600000 rtn 
+
+p_g24_start_pairing_sm1:
+0322 79200026 set1 mark_24g ,mark 
+0323 204001a3 call p_g24_pair_init 
+
+p_g24_set_pairing_sm_1:
+0324 704be301 jam state_24g_pairing_1 ,mem_24g_pairing_sm 
+0325 20600000 rtn 
+
+p_mouse_spi_init:
+0326 70421276 jam 0x76 ,mem_spi_init_clk 
+0327 20203d36 branch mouse_spi_init 
+
+p_mouse_init_sunt:
+0328 20400326 call p_mouse_spi_init 
+0329 204040c0 call mouse_spi_sdio_gpio_pollup 
+
+p_mouse_init_sensor:
+032a 204040d9 call mouse_read_sensor_id 
+032b c0180334 beq p32xx_id1 ,p_mouse_init_p32xx_id2_judge 
+032c c0188336 beq p3065_id1 ,p_mouse_p3065_init_param 
+032d 204040d1 call mouse_twspi_reset 
+032e 200003e8 nop 1000 
+032f 2020032a branch p_mouse_init_sensor 
+
+p_mouse_init_sensor_reset:
+0330 704b0c01 jam 1 ,mem_mouse_init_sensor_reset_flag 
+0331 2040640f call spi_ncs_enable 
+0332 20400328 call p_mouse_init_sunt 
+0333 20206411 branch spi_ncs_disable 
+
+p_mouse_init_p32xx_id2_judge:
+0334 204003be call p_mouse_sensor_poweron 
+0335 202040e0 branch mouse_init_p32xx_id2_judge 
+
+p_mouse_p3065_init_param:
+0336 204003be call p_mouse_sensor_poweron 
+0337 6800c6de fetch 1 ,mem_sensor_id2 
+0338 c03840e8 beq p3065_xy_id2 ,mouse_p3065xy_init_param 
+0339 7046e001 jam p3065 ,mem_config_sensor_type 
+033a 20600000 rtn 
+
+p_mouse_setting_config:
+033b 680240a0 fetch 4 ,mem_lap 
+033c 60024c0a store 4 ,mem_24g_device_addr 
+033d 20403e6e call mouse_gpio_init 
+033e 20403e1e call mouse_param_init 
+033f 58000000 setarg 0 
+0340 60014154 store 2 ,mem_lpm_interval 
+0341 204068a8 call adc_init_data 
+0342 20403e54 call mouse_adc_init 
+0343 20405810 call le_set_config_fixed_ltk 
+0344 20405839 call le_set_justwork 
+0345 2040582c call le_set_fixed_ltk 
+0346 20405818 call le_set_config_read_authentication 
+
+p_mouse_init_iic:
+0347 2040659c call iic_init_390k 
+0348 204065c2 call clear_eeprom_size_2k 
+0349 2040443f call mouse_load_eeprom_dpi 
+034a 2040035b call p_mouse_init_environment 
+034b 20400431 call p_mouse_set_24g_addr_eeprom 
+034c 204065df call iicd_read_eep_data 
+034d df200003 arg 3 ,loopcnt 
+034e d8c04722 arg mem_device1_addr ,contr 
+034f 20400373 call p_pdata_0xff_check 
+0350 24340353 nbranch p_mouse_le_fast_conn_disable ,user 
+0351 20400355 call p_mouse_fast_conn_init 
+0352 20600000 rtn 
+
+p_mouse_le_fast_conn_disable:
+0353 704b1e5a jam 0x5a ,mem_mouse_fast_conn_flag 
+0354 20600000 rtn 
+
+p_mouse_fast_conn_init:
+0355 704b1eff jam 0xff ,mem_mouse_fast_conn_flag 
+0356 70421034 jam 0x34 ,mem_xrecord_mode 
+0357 580f0f0f setarg 0x0f0f0f 
+0358 6001c4a0 store 3 ,mem_le_lap 
+0359 6001c4a3 store 3 ,mem_le_lap + 3 
+035a 20600000 rtn 
+
+p_mouse_init_environment:
+035b 204033c4 call app_initflag_check 
+035c 20228367 branch p_mouse_eeprom_load_recon_info ,zero 
+035d 204005cb call p_le_addr_random_config 
+035e 20203dcb branch mouse_init_environment + 2 
+
+p_app_flag_store:
+035f d8400002 arg 2 ,temp 
+0360 da200aaa arg mem_timeup ,rega 
+0361 da400062 arg mouse_eeprom_module_init_flag ,regb 
+0362 202065d1 branch iicd_write_protect_eep_data 
+
+p_app_initflag_check:
+0363 d8400002 arg 2 ,temp 
+0364 da200a9a arg mem_pdatatemp ,rega 
+0365 da400062 arg mouse_eeprom_module_init_flag ,regb 
+0366 202033c8 branch app_initflag_check + 4 
+
+p_mouse_eeprom_load_recon_info:
+0367 d8400058 arg 88 ,temp 
+0368 da204720 arg mem_device_flag ,rega 
+0369 da400000 arg mouse_info_eeprom_offect ,regb 
+036a 204065df call iicd_read_eep_data 
+036b 20400037 call p_mouse_switch_hwakeup_bypb 
+036c 2020431a branch mouse_select_reconn_device 
+
+p_mouse_wakeup_from_power:
+036d 20400328 call p_mouse_init_sunt 
+036e 20400455 call p_mouse_sensor_powerdown 
+
+p_mouse_wakeup_no_from_power:
+036f 70471e00 jam 0 ,mem_reconn_times 
+0370 20600000 rtn 
+
+p_g24_factory_check:
+0371 df200002 arg 2 ,loopcnt 
+0372 d8c04bfb arg mem_24g_addr ,contr 
+
+p_pdata_0xff_check:
+0373 20407fe7 call enable_user 
+0374 5800ffff setarg 0xffff 
+
+p_pdata_0xff_check_loop:
+0375 e8c90000 ifetcht 2 ,contr 
+0376 98467c00 isub temp ,null 
+0377 2442ffe9 ncall disable_user ,zero 
+0378 c2000375 loop p_pdata_0xff_check_loop 
+0379 20600000 rtn 
+
+p_mouse_cb_fuction:
+037a 5800038b setarg p_mouse_g24_package_data 
+037b 60014d04 store 2 ,mem_cb_24g_data 
+037c 580003a2 setarg p_mouse_le 
+037d 600141ef store 2 ,mem_cb_le_process 
+037e 580006bb setarg p_le_mouse_bb_event_connect_complete 
+037f 600141f9 store 2 ,mem_cb_att_write 
+0380 580002b8 setarg p_mouse_before_lpm 
+0381 600141ed store 2 ,mem_cb_before_lpm 
+0382 580003f2 setarg p_mouse_priority_bb_event 
+0383 600141f5 store 2 ,mem_cb_bb_event_process 
+0384 580003f0 setarg p_mouse_idle 
+0385 600141f3 store 2 ,mem_cb_idle_process 
+0386 58000448 setarg p_mouse_before_hibernate 
+0387 600141eb store 2 ,mem_cb_before_hibernate 
+0388 5800045b setarg p_mouse_bb_event_timer 
+0389 600141fd store 2 ,mem_cb_event_timer 
+038a 20600000 rtn 
+
+p_mouse_g24_package_data:
+038b 20404401 call mouse_g24_package_data 
+038c 6801469f fetch 2 ,mem_mouse_z 
+038d 207a0000 rtn blank 
+038e 20200093 branch p_g24_transmit_by_interrupt_enable 
+
+p_mouse_le_txbuff_save:
+038f d8c01800 arg mem_le_tx_buffer0 ,contr 
+0390 d8a0480a arg mem_le_tx_buffer0_omemalloc ,contw 
+0391 20400397 call p_mouse_le_txbuff_copy 
+0392 d8c01900 arg mem_le_tx_buffer1 ,contr 
+0393 20400397 call p_mouse_le_txbuff_copy 
+0394 d8c01a00 arg mem_le_tx_buffer2 ,contr 
+0395 20400397 call p_mouse_le_txbuff_copy 
+0396 d8c01b00 arg mem_le_tx_buffer3 ,contr 
+
+p_mouse_le_txbuff_copy:
+0397 df20001b arg 27 ,loopcnt 
+0398 20207f01 branch memcpy 
+
+p_mouse_le_txbuff_load:
+0399 d8c0480a arg mem_le_tx_buffer0_omemalloc ,contr 
+039a d8a01800 arg mem_le_tx_buffer0 ,contw 
+039b 20400397 call p_mouse_le_txbuff_copy 
+039c d8a01900 arg mem_le_tx_buffer1 ,contw 
+039d 20400397 call p_mouse_le_txbuff_copy 
+039e d8a01a00 arg mem_le_tx_buffer2 ,contw 
+039f 20400397 call p_mouse_le_txbuff_copy 
+03a0 d8a01b00 arg mem_le_tx_buffer3 ,contw 
+03a1 20200397 branch p_mouse_le_txbuff_copy 
+
+p_mouse_le:
+03a2 20405892 call le_fifo_check_nearly_full 
+03a3 247a0000 nrtn blank 
+03a4 6800cb1e fetch 1 ,mem_mouse_fast_conn_flag 
+03a5 c07f83a9 beq 0xff ,p_mouse_le_next 
+03a6 6800c6c5 fetch 1 ,mem_le_connect_status_flag 
+03a7 1fe17e03 and pdata ,0x03 ,pdata 
+03a8 c1818000 rtnne 0x03 
+
+p_mouse_le_next:
+03a9 6800c79c fetch 1 ,mem_mouse_clear_sensor_data_flag 
+03aa 205a03ed call p_mouse_clear_sensor_data ,blank 
+03ab 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+03ac c282c179 bbit1 mouse_bt_discovery_button_down_flag ,mouse_le_send_empty_packet 
+03ad 20403f97 call mouse_motion 
+03ae 24740000 nrtn user 
+03af 204003b6 call p_mouse_le_current_mult_update 
+03b0 204003b9 call p_mouse_data_xy_release 
+03b1 204003e8 call p_mouse_wheel_trigger 
+
+p_mouse_data_push:
+03b2 da20469a arg mem_mouse_key ,rega 
+03b3 20407e3d call queue_push 
+03b4 205403d7 call p_mouse_queue_increase ,user 
+03b5 20600000 rtn 
+
+p_mouse_le_current_mult_update:
+03b6 70417200 jam 0 ,mem_lpm_mult 
+03b7 704b3b1e jam 30 ,mem_mouse_le_current_mult_timer 
+03b8 20600000 rtn 
+
+p_mouse_data_xy_release:
+03b9 6800cb3a fetch 1 ,mem_mouse_long_mult_flag 
+03ba c1808000 rtnne 1 
+03bb 58000000 setarg 0 
+03bc 6000cb3a store 1 ,mem_mouse_long_mult_flag 
+03bd 6002469b store 4 ,mem_mouse_x 
+
+p_mouse_sensor_poweron:
+03be 58008006 setarg 0x8006 
+03bf 20406413 call twspi_write 
+03c0 20002ee0 nop 12000 
+
+p_mouse_dpi_config:
+03c1 6800c77a fetch 1 ,mem_mouse_dpi 
+03c2 c0ff83c5 bne 0xff ,p_mouse_seting_dpi 
+
+p_mouse_dpi_config_default:
+03c3 6800c6e1 fetch 1 ,mem_config_sensor_motion 
+03c4 6000c77a store 1 ,mem_mouse_dpi 
+
+p_mouse_seting_dpi:
+
+p_mouse_seting_dpi_diff:
+03c5 6800c6e0 fetch 1 ,mem_config_sensor_type 
+03c6 c00303c8 beq p3065_xy ,p_mouse_seting_3065xy_dpi 
+03c7 20203d81 branch mouse_seting_dpi + 3 
+
+p_mouse_seting_3065xy_dpi:
+03c8 6800c77a fetch 1 ,mem_mouse_dpi 
+03c9 205a03ce call p_mouse_3065xy_dpi_recount ,blank 
+03ca 6800c77a fetch 1 ,mem_mouse_dpi 
+03cb c00083d0 beq mouse_dpi_level2 ,p_mouse_3065_set_cpi1 
+03cc c001bd8c beq mouse_dpi_level4 ,mouse_set_cpi3 
+03cd 20203d88 branch mouse_set_cpi2 
+
+p_mouse_3065xy_dpi_recount:
+03ce 70477a01 jam mouse_dpi_level2 ,mem_mouse_dpi 
+03cf 20600000 rtn 
+
+p_mouse_3065_set_cpi1:
+03d0 7046b500 jam 0 ,mem_mouse_cpi_count 
+03d1 20203dc1 branch mouse_p3205_dpi + 3 
+
+p_mouse_data_init:
+03d2 7047a007 jam 7 ,mem_mouse_data_queue 
+03d3 7047a104 jam 4 ,mem_mouse_data_queue + 1 
+03d4 580047a0 setarg mem_mouse_data_queue 
+03d5 60014218 store 2 ,mem_queue_ptr 
+03d6 20207e38 branch queue_init 
+
+p_mouse_queue_increase:
+03d7 6800c7c1 fetch 1 ,mem_mouse_data_queue_num 
+03d8 1fe0fe01 increase 1 ,pdata 
+03d9 6000c7c1 store 1 ,mem_mouse_data_queue_num 
+03da 20600000 rtn 
+
+p_mouse_data_pull:
+03db da20469a arg mem_mouse_key ,rega 
+03dc 20407e54 call queue_pop 
+03dd 203403df branch p_mouse_fill_data_le ,user 
+03de 20600000 rtn 
+
+p_mouse_fill_data_le:
+03df 20405652 call le_clear_md 
+03e0 6800c7c1 fetch 1 ,mem_mouse_data_queue_num 
+03e1 1fe67c01 sub pdata ,1 ,null 
+03e2 24415650 ncall le_set_md ,positive 
+03e3 6800c7c1 fetch 1 ,mem_mouse_data_queue_num 
+03e4 207a0000 rtn blank 
+03e5 1fe0ffff increase -1 ,pdata 
+03e6 6000c7c1 store 1 ,mem_mouse_data_queue_num 
+03e7 20203f90 branch mouse_fill_data_le 
+
+p_mouse_wheel_trigger:
+03e8 6801469f fetch 2 ,mem_mouse_z 
+03e9 207a0000 rtn blank 
+03ea 70480601 jam 1 ,mem_mouse_wheel_trigger 
+03eb 70480702 jam 2 ,mem_mouse_wheel_trigger_timer 
+03ec 20600000 rtn 
+
+p_mouse_clear_sensor_data:
+03ed 20405814 call le_set_config_more_data 
+03ee 70479c01 jam 1 ,mem_mouse_clear_sensor_data_flag 
+03ef 202003be branch p_mouse_sensor_poweron 
+
+p_mouse_idle:
+03f0 20407e34 call ui_check_paring_button 
+03f1 20203ee0 branch mouse_wheel_check 
+
+p_mouse_priority_bb_event:
+03f2 1a627e00 copy regc ,pdata 
+03f3 c00a03fc beq bt_evt_le_connected ,p_mouse_le_bb_event_connected 
+03f4 c00a8404 beq bt_evt_le_disconnected ,p_mouse_le_bb_disconnected 
+03f5 c014840e beq bt_evt_le_enc_info ,p_mouse_le_enc_info 
+03f6 c0190410 beq bt_evt_le_start_enc ,p_mouse_le_ll_start_encryt 
+03f7 c0200417 beq bt_evt_le_parse_conn_papa_update_rsp ,p_mouse_le_conn_param_update_rsp_recieved 
+03f8 c01c8423 beq bt_evt_24g_pairing_complete ,p_mouse_24g_pairing_complete 
+03f9 c01d0435 beq bt_evt_24g_attempt_fail ,p_mouse_24g_attempt_fail 
+03fa c01e043f beq bt_evt_24g_attempt_success ,p_mouse_24g_attempt_success 
+03fb 2020417d branch mouse_priority_bb_event + 1 
+
+p_mouse_le_bb_event_connected:
+03fc 704b4101 jam 1 ,mem_mouse_le_bb_connected_flag 
+03fd 6800c79f fetch 1 ,mem_mouse_le_reconnect_flag 
+03fe 243a0400 nbranch p_mouse_le_bb_event_connected_next ,blank 
+03ff 704b3f14 jam 0x14 ,mem_mouse_send_secutiry_request_timer 
+
+p_mouse_le_bb_event_connected_next:
+0400 20400330 call p_mouse_init_sensor_reset 
+0401 2040043c call p_mouse_null_enter_hibernate_disable 
+0402 204003d2 call p_mouse_data_init 
+0403 202041c3 branch mouse_le_bb_event_connected 
+
+p_mouse_le_bb_disconnected:
+0404 704b4100 jam 0 ,mem_mouse_le_bb_connected_flag 
+0405 20400452 call p_mouse_sensor_powerdown_check 
+0406 58000007 setarg le_interval_8_75ms 
+0407 60014496 store 2 ,mem_le_interval_min 
+0408 60014498 store 2 ,mem_le_interval_min + 2 
+0409 7047c400 jam le_lpm_enable ,mem_mouse_le_conn_param_reject 
+040a 70479c00 jam 0 ,mem_mouse_clear_sensor_data_flag 
+040b 204003d2 call p_mouse_data_init 
+040c 20405816 call le_clr_config_more_data 
+040d 202041d9 branch mouse_bb_disconnected 
+
+p_mouse_le_enc_info:
+
+p_app_updata_le_param:
+040e 700a9912 jam bt_cmd_le_update_conn ,mem_fifo_temp 
+040f 20207d8f branch ui_ipc_send_cmd 
+
+p_mouse_le_ll_start_encryt:
+0410 6800c79f fetch 1 ,mem_mouse_le_reconnect_flag 
+0411 c0008413 beq 1 ,p_mouse_le_ll_reconn_start_encryt 
+0412 20200415 branch p_mouse_le_ll_enable_start_enc_flag 
+
+p_mouse_le_ll_reconn_start_encryt:
+0413 2040040e call p_app_updata_le_param 
+0414 7046c614 jam 20 ,mem_le_start_encrypt_timer 
+
+p_mouse_le_ll_enable_start_enc_flag:
+0415 d8e00001 arg ll_start_enc_flag ,queue 
+0416 202041b9 branch mouse_le_enable_connect_flag 
+
+p_mouse_le_conn_param_update_rsp_recieved:
+0417 68014509 fetch 2 ,mem_le_l2cap_signaling_conn_param_update_rsp_result 
+0418 c1000000 rtneq ble_signaling_connect_parameter_update_accepted 
+0419 68008441 fetch 1 ,mem_le_tsniff 
+041a 1feb7e00 rshift2 pdata ,pdata 
+041b 1fe67c0c sub pdata ,le_interval_15ms ,null 
+041c 20610000 rtn positive 
+041d 58000009 setarg le_interval_11_25ms 
+041e 60014496 store 2 ,mem_le_interval_min 
+041f 60014498 store 2 ,mem_le_interval_min + 2 
+0420 2040040e call p_app_updata_le_param 
+
+p_mouse_le_conn_param_lpm_disable:
+0421 7047c401 jam le_lpm_disable ,mem_mouse_le_conn_param_reject 
+0422 20600000 rtn 
+
+p_mouse_24g_pairing_complete:
+0423 204001e9 call p_g24_auto_pair_timeout_clear 
+0424 20400330 call p_mouse_init_sensor_reset 
+0425 70478b01 jam 1 ,mem_mouse_24g_enter_lpm_enable 
+0426 d8e00003 arg mosue_24g_pairing_flag ,queue 
+0427 204043d2 call mouse_disable_function_flag 
+0428 58000000 setarg 0 
+0429 60014707 store 2 ,mem_24g_pairing_timer_count 
+042a 7046a700 jam 0 ,mem_mouse_move_flag 
+042b 2040405d call mouse_read_sensor_common 
+042c 2040043c call p_mouse_null_enter_hibernate_disable 
+042d 20400443 call p_mouse_store_24g_device_2eeprom 
+042e 204002ec call p_mouse_tx_power_init 
+042f 20400431 call p_mouse_set_24g_addr_eeprom 
+0430 202065d1 branch iicd_write_protect_eep_data 
+
+p_mouse_set_24g_addr_eeprom:
+0431 da204bfb arg mem_24g_addr ,rega 
+0432 da40005b arg mouse_g24_addr_eeprom_offect ,regb 
+0433 d8400004 arg 4 ,temp 
+0434 20600000 rtn 
+
+p_mouse_24g_attempt_fail:
+0435 20400452 call p_mouse_sensor_powerdown_check 
+0436 704d1300 jam g24_tx_timer_int_disable ,mem_24g_transmit_by_interrupt 
+0437 204002ec call p_mouse_tx_power_init 
+0438 204001f6 call p_g24_check_51cmd_stop_24g 
+
+p_app_enter_hibernate_before_check:
+0439 6800cb09 fetch 1 ,mem_mouse_multi_led_on_poweron2s_flag 
+043a 243a02e9 nbranch p_mouse_null_enter_hibernate_enable ,blank 
+043b 2020340a branch app_enter_hibernate 
+
+p_mouse_null_enter_hibernate_disable:
+043c 70479d00 jam 0 ,mem_mouse_null_enter_hibernate_flag 
+043d 70479e00 jam 0 ,mem_mouse_null_enter_hibernate_timer 
+043e 20600000 rtn 
+
+p_mouse_24g_attempt_success:
+043f 204001e9 call p_g24_auto_pair_timeout_clear 
+0440 20400330 call p_mouse_init_sensor_reset 
+0441 20403f8d call mouse_no_data_timer_init 
+0442 2040043c call p_mouse_null_enter_hibernate_disable 
+
+p_mouse_store_24g_device_2eeprom:
+0443 20404366 call mouse_cheak_select_24gdevice 
+
+p_mouse_store_device_number2eeprom:
+0444 d8400001 arg 1 ,temp 
+0445 da204720 arg mem_device_flag ,rega 
+0446 da400000 arg 0 ,regb 
+0447 202065d1 branch iicd_write_protect_eep_data 
+
+p_mouse_before_hibernate:
+0448 78347c00 enable user 
+0449 68120138 hfetch 4 ,0x8138 
+044a 79347e1a setflag user ,26 ,pdata 
+044b 6012004c hstore 4 ,core_lpm_reg 
+044c 20402c21 call lpm_write_ctrl 
+044d 20400452 call p_mouse_sensor_powerdown_check 
+044e 204074bd call disable_authrom 
+044f 20404482 call mouse_devce_led_off 
+0450 20403e9f call mouse_before_hibernate_wheel_gpio_set 
+0451 20203ebf branch mouse_lpm_before_common 
+
+p_mouse_sensor_powerdown_check:
+0452 6800cb0c fetch 1 ,mem_mouse_init_sensor_reset_flag 
+0453 207a0000 rtn blank 
+0454 704b0c00 jam 0 ,mem_mouse_init_sensor_reset_flag 
+
+p_mouse_sensor_powerdown:
+0455 58000006 setarg 0x06 
+0456 20406414 call twspi_read 
+0457 1fe1fe08 or pdata ,0x08 ,pdata 
+0458 1fed7e00 lshift8 pdata ,pdata 
+0459 1fe0fe06 add pdata ,0x06 ,pdata 
+045a 20206413 branch twspi_write 
+
+p_mouse_bb_event_timer:
+045b 20400537 call p_mouse_adc_read 
+045c 20400572 call p_mouse_low_voltage_led_timer 
+045d 20400489 call p_mouse_wheel_trigger_timer 
+045e 204004a7 call p_mouse_null_enter_hibernate_timer 
+045f 2040048e call p_mouse_bt_discovery_check 
+0460 204004b0 call p_mouse_select_device 
+0461 20404234 call mouse_check_discovery_timeout_timer 
+0462 2040046a call p_mouse_24g_long_sleep_param_update_timer 
+0463 20400471 call p_mouse_g24_pair_timeout_timer 
+0464 20404237 call mouse_check_direct_timeout_timer 
+0465 20400478 call p_mouse_le_enable_att_list_timer 
+0466 2040047b call p_mouse_le_current_mult_update_timer 
+0467 20400481 call p_le_send_smp_security_request_timer 
+0468 204004e6 call p_mouse_multi_led_blink_timer 
+0469 2020423a branch mouse_check_no_data_timeout_timer 
+
+p_mouse_24g_long_sleep_param_update_timer:
+046a da604b3c arg mem_24g_long_sleep_param_update_timer ,regc 
+046b da40046d arg p_mouse_24g_long_sleep_normal_param ,regb 
+046c 2020336d branch timer_single_step 
+
+p_mouse_24g_long_sleep_normal_param:
+046d 5836ee80 setarg g24_long_sleep_step2 
+046e 6001cc02 store 3 ,mem_24g_enter_hibernate 
+
+p_mouse_long_mult_flag_enable:
+046f 704b3a01 jam 1 ,mem_mouse_long_mult_flag 
+0470 20600000 rtn 
+
+p_mouse_g24_pair_timeout_timer:
+0471 da604b43 arg mem_g24_stop_g24_mode_timeout ,regc 
+0472 da400474 arg p_mouse_g24_pair_timeout ,regb 
+0473 20203374 branch timer_single_step_2b 
+
+p_mouse_g24_pair_timeout:
+0474 704b4201 jam 1 ,mem_g24_stop_g24_mode 
+0475 20400531 call p_mouse_discovey_led_blink_off 
+0476 20400455 call p_mouse_sensor_powerdown 
+0477 202002e9 branch p_mouse_null_enter_hibernate_enable 
+
+p_mouse_le_enable_att_list_timer:
+0478 da6046c6 arg mem_le_start_encrypt_timer ,regc 
+0479 da403d60 arg mouse_le_write_enable ,regb 
+047a 2020336d branch timer_single_step 
+
+p_mouse_le_current_mult_update_timer:
+047b da604b3b arg mem_mouse_le_current_mult_timer ,regc 
+047c da40047e arg p_mouse_le_current_mult_reinit ,regb 
+047d 2020336d branch timer_single_step 
+
+p_mouse_le_current_mult_reinit:
+047e 6800c7c5 fetch 1 ,mem_lpm_mult_init 
+047f 6000c172 store 1 ,mem_lpm_mult 
+0480 2020046f branch p_mouse_long_mult_flag_enable 
+
+p_le_send_smp_security_request_timer:
+0481 6800cb41 fetch 1 ,mem_mouse_le_bb_connected_flag 
+0482 207a0000 rtn blank 
+0483 da604b3f arg mem_mouse_send_secutiry_request_timer ,regc 
+0484 da400486 arg p_le_pairing_sm_start_check ,regb 
+0485 2020336d branch timer_single_step 
+
+p_le_pairing_sm_start_check:
+0486 6800cb40 fetch 1 ,mem_le_send_security_request_flag 
+0487 247a0000 nrtn blank 
+0488 20205bf5 branch le_pairing_sm_start 
+
+p_mouse_wheel_trigger_timer:
+0489 da604807 arg mem_mouse_wheel_trigger_timer ,regc 
+048a da40048c arg p_mouse_wheel_trigger_disable ,regb 
+048b 2020336d branch timer_single_step 
+
+p_mouse_wheel_trigger_disable:
+048c 70480600 jam 0 ,mem_mouse_wheel_trigger 
+048d 20600000 rtn 
+
+p_mouse_bt_discovery_check:
+
+p_mouse_bt_discovery_by_button:
+048e 6808c6ec fetcht 1 ,mem_config_bt_button_gpio 
+048f 2040681d call gpio_get_bit 
+0490 20208494 branch p_mouse_bt_discovery_commbination_key_down ,true 
+
+p_mouse_bt_discovery_commbination_key_up:
+0491 204043a9 call mouse_bt_discovery_commbination_key_up 
+0492 d8e00009 arg mouse_bt_discovery_button_long_down_flag ,queue 
+0493 202043d2 branch mouse_disable_function_flag 
+
+p_mouse_bt_discovery_commbination_key_down:
+0494 70479e28 jam 40 ,mem_mouse_null_enter_hibernate_timer 
+0495 20400497 call p_mouse_bt_discovery_timer 
+0496 202043b0 branch mouse_bt_discovery_commbination_key_down + 1 
+
+p_mouse_bt_discovery_timer:
+0497 da6046da arg mem_combination_ui_button_count ,regc 
+0498 da40049a arg p_mouse_long_button_bt_discovery ,regb 
+0499 2020336d branch timer_single_step 
+
+p_mouse_long_button_bt_discovery:
+049a 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+049b c3848000 rtnbit1 mouse_bt_discovery_button_long_down_flag 
+049c 704b0a00 jam 0 ,mem_mouse_long_button_select_device 
+049d 204004e2 call p_mouse_store_device_mode_2eeporm 
+049e 68014682 fetch 2 ,mem_ui_state_map 
+049f 2feffe0b isolate1 ui_state_ble_adv ,pdata 
+04a0 2040c2d4 call mouse_stop_le_adv ,true 
+04a1 68014682 fetch 2 ,mem_ui_state_map 
+04a2 2feffe07 isolate1 ui_state_bt_reconnect ,pdata 
+04a3 2040c392 call mouse_cancel_reconnect ,true 
+04a4 d8e00009 arg mouse_bt_discovery_button_long_down_flag ,queue 
+04a5 204043ce call mouse_enable_function_flag 
+04a6 202043b8 branch mouse_long_button_bt_discovry 
+
+p_mouse_null_enter_hibernate_timer:
+04a7 6800c79d fetch 1 ,mem_mouse_null_enter_hibernate_flag 
+04a8 207a0000 rtn blank 
+04a9 6800cb06 fetch 1 ,mem_mouse_multi_led_blink_count 
+04aa 247a0000 nrtn blank 
+04ab da60479e arg mem_mouse_null_enter_hibernate_timer ,regc 
+04ac da4004ae arg p_mouse_null_enter_hibernate ,regb 
+04ad 2020336d branch timer_single_step 
+
+p_mouse_null_enter_hibernate:
+04ae 70479d00 jam 0 ,mem_mouse_null_enter_hibernate_flag 
+04af 2020340a branch app_enter_hibernate 
+
+p_mouse_select_device:
+
+p_mouse_select_device_by_button:
+04b0 6808c6ed fetcht 1 ,mem_config_select_device_button_gpio 
+04b1 204005b7 call p_gpio_set_input_pu 
+04b2 6808c6ed fetcht 1 ,mem_config_select_device_button_gpio 
+04b3 2040681d call gpio_get_bit 
+04b4 202084cd branch p_mouse_select_device_button_down ,true 
+
+p_mouse_select_device_button_up:
+04b5 6800cb3d fetch 1 ,mem_mouse_select_device_button_wakeup_flag 
+04b6 243a04db nbranch p_mouse_select_button_wakeup_firstup ,blank 
+04b7 6800c6d9 fetch 1 ,mem_select_device_button_statue 
+04b8 c1008000 rtneq dpi_button_state_up 
+04b9 7046d901 jam dpi_button_state_up ,mem_select_device_button_statue 
+04ba 704aff01 jam on ,mem_mouse_multi_led_blink_enable 
+04bb d8400001 arg 1 ,temp 
+04bc da204b0a arg mem_mouse_long_button_select_device ,rega 
+04bd da400061 arg mouse_device_mode_eeprom_offset ,regb 
+04be 204065df call iicd_read_eep_data 
+04bf 6800cb0a fetch 1 ,mem_mouse_long_button_select_device 
+04c0 203a04e1 branch p_mouse_select_device_and_reset ,blank 
+
+p_mouse_ready_reconnection_by_button:
+04c1 204004c6 call p_mouse_switch_device_flag 
+04c2 7041bd00 jam 0 ,mem_link_key_exists 
+04c3 20400444 call p_mouse_store_device_number2eeprom 
+04c4 204043c0 call mouse_select_device_enable 
+04c5 2020437e branch mouse_set_reconnection 
+
+p_mouse_switch_device_flag:
+04c6 6808c720 fetcht 1 ,mem_device_flag 
+04c7 18408401 increase 1 ,temp 
+04c8 6800c6d2 fetch 1 ,mem_device_number 
+04c9 98467c00 isub temp ,null 
+04ca 244143cc ncall mouse_select_device_count_clean ,positive 
+04cb 6008c720 storet 1 ,mem_device_flag 
+04cc 20600000 rtn 
+
+p_mouse_select_device_button_down:
+04cd 68014682 fetch 2 ,mem_ui_state_map 
+04ce c28584d0 bbit1 ui_state_ble_adv ,p_mouse_select_device_button_down_next 
+04cf 704aff00 jam off ,mem_mouse_multi_led_blink_enable 
+
+p_mouse_select_device_button_down_next:
+04d0 6800c6d9 fetch 1 ,mem_select_device_button_statue 
+04d1 c1000000 rtneq dpi_button_state_down 
+04d2 7046d900 jam dpi_button_state_down ,mem_select_device_button_statue 
+04d3 68014208 fetch app_disc_rsn_size ,mem_app_disconn_reason 
+04d4 c3850000 rtnbit1 app_disc_pb_button 
+04d5 6800c720 fetch 1 ,mem_device_flag 
+04d6 c1808000 rtnne mode_bt_device1 
+
+p_mouse_pb_button_2ble_disconnect:
+04d7 6801420a fetch app_disc_rsn_size ,mem_app_disconn_reason_flag 
+04d8 79207e0a set1 app_disc_pb_button ,pdata 
+04d9 6001420a store app_disc_rsn_size ,mem_app_disconn_reason_flag 
+04da 20204386 branch mouse_disconnect 
+
+p_mouse_select_button_wakeup_firstup:
+04db 704b3d00 jam 0 ,mem_mouse_select_device_button_wakeup_flag 
+04dc 6800c6d9 fetch 1 ,mem_select_device_button_statue 
+04dd 243a02e2 nbranch p_mouse_check_reconn_target ,blank 
+04de 7046d901 jam dpi_button_state_up ,mem_select_device_button_statue 
+04df 704aff01 jam on ,mem_mouse_multi_led_blink_enable 
+04e0 20600000 rtn 
+
+p_mouse_select_device_and_reset:
+04e1 704b0aff jam 0xff ,mem_mouse_long_button_select_device 
+
+p_mouse_store_device_mode_2eeporm:
+04e2 d8400001 arg 1 ,temp 
+04e3 da204b0a arg mem_mouse_long_button_select_device ,rega 
+04e4 da400061 arg mouse_device_mode_eeprom_offset ,regb 
+04e5 202065d1 branch iicd_write_protect_eep_data 
+
+p_mouse_multi_led_blink_timer:
+04e6 6800caff fetch 1 ,mem_mouse_multi_led_blink_enable 
+04e7 207a0000 rtn blank 
+04e8 6800cb02 fetch 1 ,mem_mouse_multi_led_type 
+04e9 c00004ec beq multi_led_on ,p_mouse_multi_led_type_on 
+04ea c00084f6 beq multi_led_blink ,p_mouse_multi_led_type_blink 
+04eb 20600000 rtn 
+
+p_mouse_multi_led_type_on:
+04ec 20400500 call p_mouse_multi_led_on 
+04ed 6800cb07 fetch 1 ,mem_mouse_multi_led_on_timer 
+04ee 1fe0fe01 increase 1 ,pdata 
+04ef 6000cb07 store 1 ,mem_mouse_multi_led_on_timer 
+04f0 6808cb03 fetcht 1 ,mem_mouse_multi_led_on_timer_init 
+04f1 98467c00 isub temp ,null 
+04f2 204284f4 call p_mouse_multi_led_off_poweron2s ,zero 
+04f3 20600000 rtn 
+
+p_mouse_multi_led_off_poweron2s:
+04f4 704b0900 jam 0 ,mem_mouse_multi_led_on_poweron2s_flag 
+04f5 20200514 branch p_mouse_multi_led_off 
+
+p_mouse_multi_led_type_blink:
+04f6 6800cb05 fetch 1 ,mem_mouse_multi_led_blink_timer 
+04f7 1fe0ffff increase -1 ,pdata 
+04f8 6000cb05 store 1 ,mem_mouse_multi_led_blink_timer 
+04f9 247a0000 nrtn blank 
+04fa 6800cb04 fetch 1 ,mem_mouse_multi_led_blink_timer_init 
+04fb 6000cb05 store 1 ,mem_mouse_multi_led_blink_timer 
+
+p_mouse_multi_led_blink_count_no_limited:
+04fc 6800cb01 fetch 1 ,mem_mouse_multi_led_state 
+04fd c0008514 beq on ,p_mouse_multi_led_off 
+04fe c0000500 beq off ,p_mouse_multi_led_on 
+04ff 20600000 rtn 
+
+p_mouse_multi_led_on:
+0500 704b0101 jam on ,mem_mouse_multi_led_state 
+0501 6800c720 fetch 1 ,mem_device_flag 
+0502 c0010508 beq mode_24g_device ,p_mouse_multi_down_led_on 
+
+p_mouse_multi_up_led_on:
+0503 6808cb00 fetcht 1 ,mem_mouse_multi_led_gpio 
+0504 2040680e call gpio_config_output 
+0505 6808cb00 fetcht 1 ,mem_mouse_multi_led_gpio 
+0506 20406825 call gpio_out_inactive 
+0507 2020050c branch p_mouse_lvd_led_on 
+
+p_mouse_multi_down_led_on:
+0508 6808cb4b fetcht 1 ,mem_24g_led_gpio 
+0509 2040680e call gpio_config_output 
+050a 6808cb4b fetcht 1 ,mem_24g_led_gpio 
+050b 20406825 call gpio_out_inactive 
+
+p_mouse_lvd_led_on:
+050c 68014682 fetch 2 ,mem_ui_state_map 
+050d c3858000 rtnbit1 ui_state_ble_adv 
+050e 6808cb4c fetcht 1 ,mem_lvd_led_gpio 
+050f 2040680e call gpio_config_output 
+0510 6808cb4c fetcht 1 ,mem_lvd_led_gpio 
+0511 20206825 branch gpio_out_inactive 
+
+p_mouse_multi_led_blink_off:
+0512 58000000 setarg 0 
+0513 6001cb05 store 3 ,mem_mouse_multi_led_blink_timer 
+
+p_mouse_multi_led_off:
+0514 6800cb06 fetch 1 ,mem_mouse_multi_led_blink_count 
+0515 243a0518 nbranch p_mouse_multi_led_off_wait_blink_over ,blank 
+0516 704aff00 jam 0 ,mem_mouse_multi_led_blink_enable 
+0517 704b0200 jam 0 ,mem_mouse_multi_led_type 
+
+p_mouse_multi_led_off_wait_blink_over:
+0518 704b0700 jam 0 ,mem_mouse_multi_led_on_timer 
+0519 704b0100 jam off ,mem_mouse_multi_led_state 
+051a 6808cb00 fetcht 1 ,mem_mouse_multi_led_gpio 
+051b 2040680e call gpio_config_output 
+051c 6808cb00 fetcht 1 ,mem_mouse_multi_led_gpio 
+051d 20406829 call gpio_out_active 
+051e 6808cb4b fetcht 1 ,mem_24g_led_gpio 
+051f 2040680e call gpio_config_output 
+0520 6808cb4b fetcht 1 ,mem_24g_led_gpio 
+0521 20406829 call gpio_out_active 
+0522 6808cb4c fetcht 1 ,mem_lvd_led_gpio 
+0523 2040680e call gpio_config_output 
+0524 6808cb4c fetcht 1 ,mem_lvd_led_gpio 
+0525 20206829 branch gpio_out_active 
+
+p_mouse_mode_bt_device1_multi_led_on:
+
+p_mouse_mode_24g_device_multi_led_on:
+0526 704b0901 jam 1 ,mem_mouse_multi_led_on_poweron2s_flag 
+0527 704aff01 jam on ,mem_mouse_multi_led_blink_enable 
+0528 704b0200 jam multi_led_on ,mem_mouse_multi_led_type 
+0529 704b0700 jam 0 ,mem_mouse_multi_led_on_timer 
+052a 20600000 rtn 
+
+p_mouse_discovery_multi_led_blink:
+052b 704b0403 jam 3 ,mem_mouse_multi_led_blink_timer_init 
+
+p_mouse_discovery_multi_led_blink2:
+052c 704b0601 jam 1 ,mem_mouse_multi_led_blink_count 
+
+p_mouse_multi_led_blink_enable:
+052d 704b0501 jam 1 ,mem_mouse_multi_led_blink_timer 
+052e 704aff01 jam on ,mem_mouse_multi_led_blink_enable 
+052f 704b0201 jam multi_led_blink ,mem_mouse_multi_led_type 
+0530 20600000 rtn 
+
+p_mouse_discovey_led_blink_off:
+0531 704b0600 jam 0 ,mem_mouse_multi_led_blink_count 
+0532 6800cb07 fetch 1 ,mem_mouse_multi_led_on_timer 
+0533 247a0000 nrtn blank 
+0534 6800cb09 fetch 1 ,mem_mouse_multi_led_on_poweron2s_flag 
+0535 247a0000 nrtn blank 
+0536 20200512 branch p_mouse_multi_led_blink_off 
+
+p_mouse_adc_read:
+0537 68014b06 fetch 2 ,mem_mouse_multi_led_blink_count 
+0538 247a0000 nrtn blank 
+0539 da6046ce arg mem_adc_read_timer ,regc 
+053a da40053c arg p_mouse_adc_read_timeout ,regb 
+053b 2020336d branch timer_single_step 
+
+p_mouse_adc_read_timeout:
+053c 7046ce0a jam 10 ,mem_adc_read_timer 
+053d 20400559 call p_adc_set_mode 
+053e 20406908 call vdd_calculate_by_mode 
+053f 1feffe02 mul32 pdata ,2 ,pdata 
+0540 d840000e arg 0x0e ,temp 
+0541 98467e00 isub temp ,pdata 
+0542 1fe67c78 sub pdata ,0x78 ,null 
+0543 20410553 call p_mouse_voltage_sub1 ,positive 
+0544 1fe67c64 sub pdata ,0x64 ,null 
+0545 20410556 call p_mouse_voltage_sub2 ,positive 
+0546 6001470f store 2 ,mem_mouse_vdd_now_vol 
+0547 da204709 arg mem_mouse_vdd_calculate_set ,rega 
+0548 20400565 call p_adc_bat_percent_lowpower_out 
+0549 6800c231 fetch 1 ,mem_adc_power_flag 
+054a c280b40a bbit1 1 ,app_enter_hibernate 
+054b c300054e bbit0 0 ,p_mouse_adc_no_low_voltage 
+054c 704b0b01 jam 1 ,mem_mouse_adc_last_low_voltage_flag 
+054d 202043e7 branch mouse_adc_low_voltage 
+
+p_mouse_adc_no_low_voltage:
+054e 204043e9 call mouse_adc_no_low_voltage 
+054f 6800cb0b fetch 1 ,mem_mouse_adc_last_low_voltage_flag 
+0550 207a0000 rtn blank 
+0551 704b0b00 jam 0 ,mem_mouse_adc_last_low_voltage_flag 
+0552 20200514 branch p_mouse_multi_led_off 
+
+p_mouse_voltage_sub1:
+0553 d8400008 arg 0x08 ,temp 
+0554 98467e00 isub temp ,pdata 
+0555 20600000 rtn 
+
+p_mouse_voltage_sub2:
+0556 d8400006 arg 0x06 ,temp 
+0557 98467e00 isub temp ,pdata 
+0558 20600000 rtn 
+
+p_adc_set_mode:
+0559 6800c22d fetch 1 ,mem_adc_config_flag 
+055a c001055c beq adc_config_gpio ,p_adc_check_gpio 
+055b 202068ec branch adc_set_mode + 1 
+
+p_adc_check_gpio:
+055c 6808c6f8 fetcht 1 ,mem_select_adc_gpio 
+055d 204067fb call gpio_config_input 
+055e 6810807c hfetch 1 ,core_gpio_pd0 
+055f 793ffe05 set0 5 ,pdata 
+0560 6010807c hstore 1 ,core_gpio_pd0 
+0561 68108078 hfetch 1 ,core_gpio_pu0 
+0562 793ffe05 set0 5 ,pdata 
+0563 60108078 hstore 1 ,core_gpio_pu0 
+0564 202068f4 branch adc_check_gpio 
+
+p_adc_bat_percent_lowpower_out:
+0565 ea240000 ifetch 8 ,rega 
+0566 60040a9a store 8 ,mem_pdatatemp 
+0567 68090a9c fetcht 2 ,mem_pdatatemp + 2 
+0568 68010aa0 fetch 2 ,mem_pdatatemp + 6 
+0569 98467c00 isub temp ,null 
+056a 24216944 nbranch adc_set_no_power_flag ,positive 
+056b 68090a9e fetcht 2 ,mem_pdatatemp + 4 
+056c 98467c00 isub temp ,null 
+056d 24216940 nbranch adc_set_low_power_flag ,positive 
+
+p_adc_clear_low_power_flag:
+056e 6800c231 fetch 1 ,mem_adc_power_flag 
+056f 793ffe00 set0 0 ,pdata 
+0570 6000c231 store 1 ,mem_adc_power_flag 
+0571 20600000 rtn 
+
+p_mouse_low_voltage_led_timer:
+0572 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+0573 c4020000 rtnbit0 mouse_low_voltage_flag 
+0574 68014682 fetch 2 ,mem_ui_state_map 
+0575 c3858000 rtnbit1 ui_state_ble_adv 
+0576 68014b06 fetch 2 ,mem_mouse_multi_led_blink_count 
+0577 247a0000 nrtn blank 
+0578 6800c6cf fetch 1 ,mem_adc_low_volatage_led_timer_count 
+0579 1fe0fe01 pincrease 1 
+057a 6000c6cf store 1 ,mem_adc_low_volatage_led_timer_count 
+057b c002850c beq 5 ,p_mouse_lvd_led_on 
+057c 1fe67c0a sub pdata ,10 ,null 
+057d 2421057f nbranch p_mouse_adc_low_volatage_led_timer_count_clean ,positive 
+057e 20600000 rtn 
+
+p_mouse_adc_low_volatage_led_timer_count_clean:
+057f 7046cf01 jam 1 ,mem_adc_low_volatage_led_timer_count 
+0580 20200514 branch p_mouse_multi_led_off 
+
+p_mouse_motion:
+0581 78547c00 disable user 
+0582 58000000 setarg 0 
+0583 6003469b store 6 ,mem_mouse_x 
+0584 2040058a call p_mouse_cheak_sensor_data 
+0585 20404079 call mouse_zwheel 
+0586 2040407e call mouse_t_zwheel 
+0587 2040058d call p_mouse_key 
+0588 24740000 nrtn user 
+0589 20203fa0 branch mouse_motion + 9 
+
+p_mouse_cheak_sensor_data:
+
+p_mouse_p32xx_sensor_motion:
+058a 20403fc0 call mouse_clear_sensor_data 
+058b 78547c00 disable user 
+058c 20203fe7 branch mouse_p32xx_sensor_motion_2 
+
+p_mouse_key:
+058d 2040058f call p_mouse_check_key_gpio 
+058e 2020409a branch mouse_key + 1 
+
+p_mouse_check_key_gpio:
+058f da200000 arg 0 ,rega 
+0590 20400595 call p_mouse_check_lkey_gpio 
+0591 20400593 call p_mouse_check_skey_gpio 
+0592 2020408e branch mouse_check_key_gpio + 11 
+
+p_mouse_check_skey_gpio:
+0593 204005a5 call p_mouse_check_bk_key_gpio 
+0594 202005ab branch p_mouse_check_fw_key_gpio 
+
+p_mouse_check_lkey_gpio:
+0595 6808c6e2 fetcht 1 ,mem_lbutton_gpio 
+0596 204005b7 call p_gpio_set_input_pu 
+0597 6808c6e2 fetcht 1 ,mem_lbutton_gpio 
+0598 2040681d call gpio_get_bit 
+0599 7920a200 setflag true ,0 ,rega 
+
+p_mouse_check_rkey_gpio:
+059a 6808c6e3 fetcht 1 ,mem_rbutton_gpio 
+059b 204005b7 call p_gpio_set_input_pu 
+059c 6808c6e3 fetcht 1 ,mem_rbutton_gpio 
+059d 2040681d call gpio_get_bit 
+059e 7920a201 setflag true ,1 ,rega 
+
+p_mouse_check_mkey_gpio:
+059f 6808c6e4 fetcht 1 ,mem_mbutton_gpio 
+05a0 204005b7 call p_gpio_set_input_pu 
+05a1 6808c6e4 fetcht 1 ,mem_mbutton_gpio 
+05a2 2040681d call gpio_get_bit 
+05a3 7920a202 setflag true ,2 ,rega 
+05a4 20600000 rtn 
+
+p_mouse_check_bk_key_gpio:
+05a5 6808c6e5 fetcht 1 ,mem_bk_button_gpio 
+05a6 204005b1 call p_gpio_set_input_pd 
+05a7 6808c6e5 fetcht 1 ,mem_bk_button_gpio 
+05a8 2040681d call gpio_get_bit 
+05a9 7d20a203 nsetflag true ,3 ,rega 
+05aa 202005b7 branch p_gpio_set_input_pu 
+
+p_mouse_check_fw_key_gpio:
+05ab 6808c6e6 fetcht 1 ,mem_fw_button_gpio 
+05ac 204005b1 call p_gpio_set_input_pd 
+05ad 6808c6e6 fetcht 1 ,mem_fw_button_gpio 
+05ae 2040681d call gpio_get_bit 
+05af 7d20a204 nsetflag true ,4 ,rega 
+05b0 202005b7 branch p_gpio_set_input_pu 
+
+p_gpio_set_input_pd:
+05b1 793f8407 set0 gpio_active_bit ,temp 
+05b2 d8a08078 arg core_gpio_pu0 ,contw 
+05b3 20406830 call gpio_set_bit 
+05b4 79200407 set1 gpio_active_bit ,temp 
+05b5 d8a0807c arg core_gpio_pd0 ,contw 
+05b6 2020680a branch gpio_set_high_impedance + 4 
+
+p_gpio_set_input_pu:
+05b7 79200407 set1 gpio_active_bit ,temp 
+05b8 d8a08078 arg core_gpio_pu0 ,contw 
+05b9 20406830 call gpio_set_bit 
+05ba 793f8407 set0 gpio_active_bit ,temp 
+05bb 202005b5 branch p_gpio_set_input_pd + 4 
+
+p_mouse_bb_disconnected:
+05bc 70480800 jam 0 ,mem_mouse_enter_sniff_count 
+05bd 7041e30e jam 0x0e ,mem_sniff_param_interval 
+05be 204041e7 call mouse_bb_discon_clear_stack 
+05bf 68014208 fetch app_disc_rsn_size ,mem_app_disconn_reason 
+05c0 c28385c2 bbit1 app_disc_ble ,p_mouse4_0_event_bb_disconn 
+05c1 202041e2 branch mouse_bb_disconnected + 9 
+
+p_mouse4_0_event_bb_disconn:
+05c2 204041c1 call mouse_le_clean_connect_flag 
+05c3 68014208 fetch app_disc_rsn_size ,mem_app_disconn_reason 
+05c4 c28504b0 bbit1 app_disc_pb_button ,p_mouse_select_device_by_button 
+05c5 202041f7 branch mouse4_0_event_bb_disconn + 2 
+
+p_mouse_bb_event_discovery_btn:
+05c6 70479d00 jam 0 ,mem_mouse_null_enter_hibernate_flag 
+05c7 70479e00 jam 0 ,mem_mouse_null_enter_hibernate_timer 
+05c8 280ffe26 isolate1 mark_24g ,mark 
+05c9 204081f6 call p_g24_check_51cmd_stop_24g ,true 
+05ca 2020426d branch mouse_bb_event_discovery_btn + 1 
+
+p_le_addr_random_config:
+05cb 204068a2 call load_adc_init 
+05cc 6801421d fetch 2 ,mem_0_5_adc_io_data 
+05cd 600147c2 store 2 ,mem_random_addr_increase_count 
+
+p_le_addr_random_store:
+
+p_mouse_store_eerpom_random_addr_increase_count:
+05ce d8400002 arg 2 ,temp 
+05cf da2047c2 arg mem_random_addr_increase_count ,rega 
+05d0 da40005f arg mouse_random_addr_count_eeprom_offset ,regb 
+05d1 202065d1 branch iicd_write_protect_eep_data 
+
+p_mouse_load_eeprom_random_addr_increase_count:
+05d2 d8400002 arg 2 ,temp 
+05d3 da2047c2 arg mem_random_addr_increase_count ,rega 
+05d4 da40005f arg mouse_random_addr_count_eeprom_offset ,regb 
+05d5 202065df branch iicd_read_eep_data 
+
+p_mouse_start_discovery:
+05d6 704b4000 jam 0 ,mem_le_send_security_request_flag 
+05d7 204002ec call p_mouse_tx_power_init 
+05d8 70472001 jam 1 ,mem_device_flag 
+05d9 70479c00 jam 0 ,mem_mouse_clear_sensor_data_flag 
+05da 68014682 fetch 2 ,mem_ui_state_map 
+05db c28585e4 bbit1 ui_state_ble_adv ,p_mouse_start_discovery_norandom 
+05dc 204005d2 call p_mouse_load_eeprom_random_addr_increase_count 
+05dd 680947c2 fetcht 2 ,mem_random_addr_increase_count 
+05de 18408401 increase 1 ,temp 
+05df 600947c2 storet 2 ,mem_random_addr_increase_count 
+05e0 600944a1 storet 2 ,mem_le_lap + 1 
+05e1 204005ce call p_mouse_store_eerpom_random_addr_increase_count 
+05e2 180a7e00 random pdata 
+05e3 6000c4a0 store 1 ,mem_le_lap 
+
+p_mouse_start_discovery_norandom:
+05e4 6801cb48 fetch 3 ,mem_le_lap_high_3b 
+05e5 6001c4a3 store 3 ,mem_le_lap + 3 
+05e6 20400353 call p_mouse_le_fast_conn_disable 
+05e7 20403418 call app_lpm_mult_disable 
+05e8 68014687 fetch 2 ,mem_discovery_timeout 
+05e9 600146ac store 2 ,mem_mouse_discovery_timer 
+05ea 70016d06 jam 6 ,mem_connection_options 
+05eb 58000000 setarg 0 
+05ec 600146b0 store 2 ,mem_mouse_no_data_timer 
+05ed 600146ae store 2 ,mem_mouse_direct_timer 
+05ee d8e00007 arg mouse_store_eeprom_flag ,queue 
+05ef 204043ce call mouse_enable_function_flag 
+05f0 204043ca call mouse_bt_discovery_button_down_disable 
+05f1 204005f4 call p_check_51cmd_adv 
+05f2 204042c4 call mouse_start_discovery_norandom + 13 
+05f3 2020052b branch p_mouse_discovery_multi_led_blink 
+
+p_check_51cmd_adv:
+05f4 70479f00 jam 0 ,mem_mouse_le_reconnect_flag 
+05f5 20400308 call p_le_check_adv_flag 
+05f6 58000005 setarg adv_flag_bredr_not_supported | adv_flag_limited_discoverable 
+05f7 e0c08000 istore 1 ,contr 
+05f8 d8c04b1f arg mem_le_adv_swift_pair ,contr 
+05f9 204005fb call p_le_adv_data_update 
+05fa 20207df4 branch check_51cmd_adv 
+
+p_le_adv_data_update:
+05fb d8a0437b arg mem_le_adv_data + 11 ,contw 
+05fc df200013 arg 19 ,loopcnt 
+05fd 20407f01 call memcpy 
+05fe 202057b8 branch le_modified_name_adv 
+
+p_mouse_stop_discovery:
+05ff 704b0600 jam 0 ,mem_mouse_multi_led_blink_count 
+0600 20400531 call p_mouse_discovey_led_blink_off 
+0601 58000000 setarg 0 
+0602 600146ac store 2 ,mem_mouse_discovery_timer 
+0603 204003be call p_mouse_sensor_poweron 
+0604 202042cb branch mouse_stop_discovery + 1 
+
+p_le_slave_match:
+0605 6800c50f fetch 1 ,mem_le_md_count 
+0606 1fe0fe01 pincrease 1 
+0607 6000c50f store 1 ,mem_le_md_count 
+0608 c0065395 beq le_md_max_count ,le_slave_cont 
+0609 204055aa call le_acknowledge 
+060a 2040561e call le_prepare_tx 
+060b 204006df call power_ctrl_start 
+060c 2020538f branch le_slave_match + 7 
+
+p_le_next_adv_channel:
+060d 68008016 fetch 1 ,mem_le_ch_mapped 
+060e 1fe0fe01 increase 1 ,pdata 
+060f 60008016 store 1 ,mem_le_ch_mapped 
+0610 c1940000 rtnne 40 
+0611 70001625 jam 37 ,mem_le_ch_mapped 
+0612 20600000 rtn 
+
+p_le_receive_skip:
+0613 204029bb call save_rssi 
+0614 2040001f call p_rssi_signal 
+0615 202054a3 branch le_receive_skip + 2 
+
+p_le_update_param:
+0616 2040061c call p_mouse_le_conn_param_check 
+0617 2020557d branch le_update_param + 8 
+
+p_mouse_le_lpm_mult_reinit:
+0618 6800c7c5 fetch 1 ,mem_lpm_mult_init 
+0619 6000c172 store 1 ,mem_lpm_mult 
+
+p_mouse_le_conn_param_lpm_enable:
+061a 7047c400 jam le_lpm_enable ,mem_mouse_le_conn_param_reject 
+061b 20600000 rtn 
+
+p_mouse_le_conn_param_check:
+061c 6800c3d6 fetch 1 ,mem_le_new_conninterval 
+061d 1fe67c0c sub pdata ,le_interval_15ms ,null 
+061e 24210421 nbranch p_mouse_le_conn_param_lpm_disable ,positive 
+061f 6800c3d8 fetch 1 ,mem_le_new_connslavelatency 
+0620 6808c7c5 fetcht 1 ,mem_lpm_mult_init 
+0621 98467c00 isub temp ,null 
+0622 20210618 branch p_mouse_le_lpm_mult_reinit ,positive 
+0623 6800c3d8 fetch 1 ,mem_le_new_connslavelatency 
+0624 6000c172 store 1 ,mem_lpm_mult 
+0625 2020061a branch p_mouse_le_conn_param_lpm_enable 
+
+p_le_update_channel_map:
+0626 6800843f fetch 1 ,mem_le_state 
+0627 c4030000 rtnbit0 lestate_update_map 
+0628 2040062b call p_le_channel_map_overflow_check 
+0629 24740000 nrtn user 
+062a 202055a0 branch le_update_channel_map + 3 
+
+p_le_channel_map_overflow_check:
+062b 78347c00 enable user 
+062c 6800845a fetch 1 ,mem_le_event_count + 1 
+062d 1ff1fe00 rshift4 pdata ,pdata 
+062e c1878000 rtnne 0x0f 
+062f 68008460 fetch 1 ,mem_le_instant + 1 
+0630 1ff1fe00 rshift4 pdata ,pdata 
+0631 c1800000 rtnne 0x00 
+0632 20207fe9 branch disable_user 
+
+p_le_prepare_tx:
+0633 68008456 fetch 1 ,mem_le_arq 
+0634 c2828647 bbit1 wak ,p_le_prepare_tx_wak 
+0635 204006d9 call power_ctrl_pac_succ_incrs 
+0636 6800c78e fetch 1 ,mem_empty_count 
+0637 243a063d nbranch p_le_send_empyt ,blank 
+0638 6800843f fetch 1 ,mem_le_state 
+0639 c3020641 bbit0 lestate_encryption ,p_le_tx_4 
+063a 680082da fetch 1 ,mem_le_rxbuf + 1 
+063b 203a0641 branch p_le_tx_4 ,blank 
+063c 20205664 branch le_send_empty 
+
+p_le_send_empyt:
+063d 6800c78e fetch 1 ,mem_empty_count 
+063e 1fe0ffff increase -1 ,pdata 
+063f 6000c78e store 1 ,mem_empty_count 
+0640 20205664 branch le_send_empty 
+
+p_le_tx_4:
+0641 6800c4c4 fetch 1 ,mem_le_pairing_state 
+0642 c0828644 bne flag_le_pairing_after_auth ,p_in_le_tx_4 
+0643 70478e03 jam 3 ,mem_empty_count 
+
+p_in_le_tx_4:
+0644 20405892 call le_fifo_check_nearly_full 
+0645 205a03db call p_mouse_data_pull ,blank 
+0646 20205622 branch le_prepare_tx + 4 
+
+p_le_prepare_tx_wak:
+0647 20400650 call p_le_check_tx_retransmit_setmd 
+
+p_le_power_ctrl_pac_succ_decrs:
+
+power_ctrl_pac_succ_decrs:
+0648 6800cd0c fetch 1 ,mem_power_ctrl_pac_succ_cnt 
+0649 1fe67c02 sub pdata ,2 ,null 
+064a 244106dd ncall power_ctrl_pac_succ_cnt_reinit ,positive 
+064b 6800cd0c fetch 1 ,mem_power_ctrl_pac_succ_cnt 
+064c c1000000 rtneq 0 
+064d 1fe0ffff increase -1 ,pdata 
+064e 6000cd0c store 1 ,mem_power_ctrl_pac_succ_cnt 
+064f 20600000 rtn 
+
+p_le_check_tx_retransmit_setmd:
+0650 6800c6c5 fetch 1 ,mem_le_connect_status_flag 
+0651 1fe17e03 and pdata ,0x03 ,pdata 
+0652 c1818000 rtnne 0x03 
+0653 6800c7c1 fetch 1 ,mem_mouse_data_queue_num 
+0654 207a0000 rtn blank 
+0655 6800c3dd fetch 1 ,mem_le_txlen 
+0656 207a0000 rtn blank 
+0657 6800c3dc fetch 1 ,mem_le_txheader 
+0658 79207e04 set1 md ,pdata 
+0659 6000c3dc store 1 ,mem_le_txheader 
+065a 20405650 call le_set_md 
+065b 20600000 rtn 
+
+p_mouse_le_reconn_write_enable_timer_reinit:
+065c 6800c79f fetch 1 ,mem_mouse_le_reconnect_flag 
+065d 207a0000 rtn blank 
+065e 6800c6c5 fetch 1 ,mem_le_connect_status_flag 
+065f 1fe17e03 and pdata ,0x03 ,pdata 
+0660 c1018000 rtneq 0x03 
+0661 7046c60a jam 10 ,mem_le_start_encrypt_timer 
+0662 20600000 rtn 
+
+p_le_parse:
+0663 c6078000 rtnmark1 mark_old_packet 
+0664 20405890 call le_fifo_check_full 
+0665 247a0000 nrtn blank 
+0666 680082d9 fetch 1 ,mem_le_rxbuf 
+0667 1fe17e03 and pdata ,0x3 ,pdata 
+0668 6000c50c store 1 ,mem_le_packet_llid 
+0669 e8c08000 ifetch 1 ,contr 
+066a 1fe17e1f and pdata ,0x1f ,pdata 
+066b 6000c50b store 1 ,mem_le_packet_size 
+066c 207a0000 rtn blank 
+066d 18c27e00 copy contr ,pdata 
+066e 6001450d store 2 ,mem_le_payload_ptr 
+066f 6800c50c fetch 1 ,mem_le_packet_llid 
+0670 c0018672 beq llid_le_ll ,p_le_parse_ll 
+0671 2020568d branch le_parse_l2cap 
+
+p_le_parse_ll:
+0672 680082db fetch 1 ,mem_le_rxbuf + 2 
+0673 c0008675 beq ll_channel_map_req ,p_le_parse_channel_map_req 
+0674 20205c65 branch le_parse_ll + 1 
+
+p_le_parse_channel_map_req:
+0675 e8c28000 ifetch 5 ,contr 
+0676 6002c3ce store 5 ,mem_le_new_map 
+0677 e8c10000 ifetch 2 ,contr 
+0678 6001045f store 2 ,mem_le_instant 
+0679 20205c8a branch le_parse_channel_map_req + 7 
+
+p_le_parse_l2cap:
+067a e8c10000 ifetch 2 ,contr 
+067b c002067e beq le_l2cap_cid_att ,p_le_parse_att 
+067c c003069b beq le_l2cap_cid_smp ,p_le_parse_smp 
+067d 20205698 branch le_parse_l2cap + 11 
+
+p_le_parse_att:
+067e 20407ea5 call store_contr 
+067f 2040065c call p_mouse_le_reconn_write_enable_timer_reinit 
+0680 20407e9f call get_contr 
+0681 e8c18000 ifetch 3 ,contr 
+0682 60018477 store 3 ,mem_le_att_opcode 
+0683 c008068d beq attop_read_by_group_type_request ,p_le_parse_att_read_by_group_type_request 
+0684 1fec8400 rshift8 pdata ,temp 
+0685 18467c24 sub temp ,0x24 ,null 
+0686 202158ad branch le_parse_att + 2 ,positive 
+0687 d84047c6 arg mem_mouse_le_uuid_sup ,temp 
+0688 600944bc storet 2 ,mem_ui_le_uuid_table 
+0689 204058ad call le_parse_att + 2 
+068a 58008e7a setarg 0x8e7a 
+068b 600144bc store 2 ,mem_ui_le_uuid_table 
+068c 20600000 rtn 
+
+p_le_parse_att_read_by_group_type_request:
+068d 204059fa call le_parse_att_read_by_group_type_request 
+068e 20405879 call le_fifo_get_last_tx_ptr 
+068f 18c08c07 increase 7 ,contr 
+0690 e8c08000 ifetch 1 ,contr 
+0691 c1888000 rtnne attop_read_by_group_type_response 
+0692 18c08c05 increase 5 ,contr 
+0693 e8c10000 ifetch 2 ,contr 
+0694 d8401812 arg uuid_service_hids ,temp 
+0695 98467c00 isub temp ,null 
+0696 24628000 nrtn zero 
+0697 18c08dfc increase -4 ,contr 
+0698 5800002b setarg 0x2b 
+0699 e0c10000 istore 2 ,contr 
+069a 20600000 rtn 
+
+p_le_parse_smp:
+069b e8c08000 ifetch 1 ,contr 
+069c c000869f beq smp_pairing_request ,p_le_parse_smp_pairing_request 
+069d c00286a1 beq smp_pairing_failed ,p_le_parse_smp_pairing_failed 
+069e 20205af6 branch le_parse_smp + 2 
+
+p_le_parse_smp_pairing_request:
+069f 704b4001 jam 1 ,mem_le_send_security_request_flag 
+06a0 20205b09 branch le_parse_smp_pairing_request 
+
+p_le_parse_smp_pairing_failed:
+06a1 20405b5a call le_parse_smp_pairing_failed 
+06a2 6800843f fetch 1 ,mem_le_state 
+06a3 793ffe05 set0 lestate_update_param ,pdata 
+06a4 6000843f store 1 ,mem_le_state 
+06a5 20205c8e branch le_parse_terminate_ind 
+
+p_le_adv_not_match:
+06a6 68008016 fetch 1 ,mem_le_ch_mapped 
+06a7 c093d6f2 bne 39 ,le_adv_loop 
+06a8 204006ac call p_le_adv_random_delay 
+06a9 d8e00000 arg le_adv_interval_timer ,queue 
+06aa 68014482 fetch 2 ,mem_le_adv_interval 
+06ab 20207f08 branch timer_init 
+
+p_le_adv_random_delay:
+06ac 180a7e00 random pdata 
+06ad d84001ff arg 0x1ff ,temp 
+06ae 98417e00 iand temp ,pdata 
+06af 1fe0fefa add pdata ,250 ,pdata 
+06b0 20203cbe branch delay 
+
+p_le_lpm_setmult:
+06b1 7855fc00 disable wake 
+06b2 203706b4 branch p_le_lpm_set_mult_attempt ,attempt 
+06b3 2436d806 nbranch le_lpm_lost ,match 
+
+p_le_lpm_set_mult_attempt:
+06b4 20402bcb call lpm_match 
+06b5 680140c1 fetch 2 ,mem_rx_window_sniff 
+06b6 6001044d store 2 ,mem_le_receive_window 
+06b7 6800c6c5 fetch 1 ,mem_le_connect_status_flag 
+06b8 2fe00603 compare 3 ,pdata ,3 
+06b9 2420abde nbranch lpm_mult_short ,true 
+06ba 202057fb branch le_lpm_set_mult_attempt + 3 
+
+p_le_mouse_bb_event_connect_complete:
+06bb 6800c79f fetch 1 ,mem_mouse_le_reconnect_flag 
+06bc 247a0000 nrtn blank 
+06bd 68008478 fetch 1 ,mem_le_att_handle 
+06be 1fe67e1a sub pdata ,26 ,pdata 
+06bf 24628000 nrtn zero 
+06c0 20203d60 branch mouse_le_write_enable 
+
+p_check_51cmd_once_continue:
+06c1 204062bc call lmo_fifo_check 
+06c2 243a7ddb nbranch check_51cmd_restore ,blank 
+06c3 68008a99 fetch 1 ,mem_fifo_temp 
+06c4 c584fdd6 bmark0 mark_context ,check_51cmd_check_idle 
+06c5 c00906c7 beq bt_cmd_le_update_conn ,p_check_51cmd_ble_update_connect_param 
+06c6 20207dca branch check_51cmd_once_continue + 2 
+
+p_check_51cmd_ble_update_connect_param:
+06c7 20405890 call le_fifo_check_full 
+06c8 247a0000 nrtn blank 
+06c9 20205abf branch le_l2cap_tx_update_req 
+
+p_twspi_reset:
+06ca 68108077 hfetch 1 ,core_gpio_out3 
+06cb 1fe17efd and_into 0xfd ,pdata 
+06cc 60108077 hstore 1 ,core_gpio_out3 
+06cd 68188073 hfetcht 1 ,core_gpio_oe3 
+06ce 18418402 or_into 0x2 ,temp 
+06cf 60188073 hstoret 1 ,core_gpio_oe3 
+06d0 204063ee call twspi_disable 
+06d1 184104fd and_into 0xfd ,temp 
+06d2 2000000d nop 13 
+06d3 204063f2 call twspi_enable 
+06d4 60188073 hstoret 1 ,core_gpio_oe3 
+06d5 20600000 rtn 
+
+power_ctrl_pac_succ_cnt_init:
+06d6 704d0f01 jam 1 ,mem_power_ctrl_level 
+06d7 704d0c00 jam 0 ,mem_power_ctrl_pac_succ_cnt 
+06d8 20600000 rtn 
+
+power_ctrl_pac_succ_incrs:
+06d9 6800cd0c fetch 1 ,mem_power_ctrl_pac_succ_cnt 
+06da 1fe0fe01 increase 1 ,pdata 
+06db 6000cd0c store 1 ,mem_power_ctrl_pac_succ_cnt 
+06dc 20600000 rtn 
+
+power_ctrl_pac_succ_cnt_reinit:
+06dd 704d0c03 jam 3 ,mem_power_ctrl_pac_succ_cnt 
+06de 20600000 rtn 
+
+power_ctrl_start:
+06df 68014682 fetch 2 ,mem_ui_state_map 
+06e0 c3858000 rtnbit1 ui_state_ble_adv 
+06e1 da204c95 arg mem_rssi_signal_buf ,rega 
+06e2 204002a7 call p_rssi_average 
+06e3 6008cd0d storet 1 ,mem_rssi_avg_received 
+06e4 58000082 setarg rssi_dis_max_24g 
+06e5 c51306e7 bmark1 mark_24g ,power_ctrl_start_next 
+06e6 58000080 setarg rssi_dis_max_ble 
+
+power_ctrl_start_next:
+06e7 98467c00 isub temp ,null 
+06e8 242106ff nbranch power_ctrl_txpower_incrs_force ,positive 
+06e9 6800cd0c fetch 1 ,mem_power_ctrl_pac_succ_cnt 
+06ea 1fe67c02 sub pdata ,2 ,null 
+06eb 242106ef nbranch power_ctrl_txpower_decrs_check ,positive 
+06ec 6800cd0c fetch 1 ,mem_power_ctrl_pac_succ_cnt 
+06ed c0000700 beq 0 ,power_ctrl_txpower_incrs 
+06ee 20600000 rtn 
+
+power_ctrl_txpower_decrs_check:
+06ef 6800cd0c fetch 1 ,mem_power_ctrl_pac_succ_cnt 
+06f0 c1900000 rtnne 32 
+06f1 704d0c00 jam 0 ,mem_power_ctrl_pac_succ_cnt 
+
+power_ctrl_txpower_decrs:
+06f2 6808cd0d fetcht 1 ,mem_rssi_avg_received 
+06f3 58000077 setarg rssi_dis_min_24g 
+06f4 c51306f6 bmark1 mark_24g ,power_ctrl_txpower_decrs_next 
+06f5 58000075 setarg rssi_dis_min_ble 
+
+power_ctrl_txpower_decrs_next:
+06f6 98467c00 isub temp ,null 
+06f7 24610000 nrtn positive 
+06f8 6800cd0f fetch 1 ,mem_power_ctrl_level 
+06f9 c0000707 beq 0 ,power_ctrl_decrs_level0 
+06fa 1fe0ffff increase -1 ,pdata 
+06fb 6000cd0f store 1 ,mem_power_ctrl_level 
+06fc c0000707 beq 0 ,power_ctrl_decrs_level0 
+
+power_ctrl_decrs_level1:
+
+power_ctrl_incrs_level1:
+06fd 7041de00 jam tx_power_0db ,mem_tx_power 
+06fe 20600000 rtn 
+
+power_ctrl_txpower_incrs_force:
+06ff 704d0c00 jam 0 ,mem_power_ctrl_pac_succ_cnt 
+
+power_ctrl_txpower_incrs:
+0700 6800cd0f fetch 1 ,mem_power_ctrl_level 
+0701 c0010705 beq 2 ,power_ctrl_incrs_level2 
+0702 1fe0fe01 increase 1 ,pdata 
+0703 6000cd0f store 1 ,mem_power_ctrl_level 
+0704 c00086fd beq 1 ,power_ctrl_incrs_level1 
+
+power_ctrl_incrs_level2:
+0705 7041de02 jam tx_power_5db ,mem_tx_power 
+0706 20600000 rtn 
+
+power_ctrl_decrs_level0:
+0707 7041de04 jam tx_power_f5db ,mem_tx_power 
+0708 20600000 rtn 
+
+p_set_freq_tx:
+0709 60088017 storet 1 ,mem_last_freq 
+070a 1840a200 add temp ,0 ,rega 
+070b 20402981 call rf_write_freq 
+070c 58000500 setarg param_pll_setup 
+070d 20402a8f call sleep 
+
+p_rf_tx_enable:
+070e 70890601 jam 0x1 ,rfen_adc 
+070f 7089003c jam 0x3c ,rfen_rx 
+0710 708901e0 jam 0xe0 ,rfen_tx 
+0711 2000000a nop 10 
+0712 70890201 jam 0x01 ,rfen_mdm 
+0713 7089023d jam 0x3d ,rfen_mdm 
+0714 2000000a nop 10 
+0715 708903b7 jam 0xb7 ,rfen_sn 
+0716 2000000a nop 10 
+0717 7089027d jam 0x7d ,rfen_mdm 
+0718 6800c1de fetch 1 ,mem_tx_power 
+0719 c0010721 beq tx_power_5db ,p_set_tx_power_5db 
+071a c0020729 beq tx_power_f5db ,p_set_tx_power_f5db 
+071b c0100733 beq tx_power_pair ,p_set_tx_power_pair 
+
+p_set_tx_power_0db:
+071c 2040072e call p_rx_low_sens 
+071d 708955d0 jam 0xd0 ,0x8955 
+071e 708956e0 jam 0xe0 ,0x8956 
+071f 7089586c jam 0x6c ,0x8958 
+0720 2020294b branch set_tx_power_0db 
+
+p_set_tx_power_5db:
+
+p_rx_high_sens:
+0721 70894cfb jam 0xfb ,0x894c 
+0722 70894def jam 0xef ,0x894d 
+0723 70894eec jam 0xec ,0x894e 
+0724 70894f5e jam 0x5e ,0x894f 
+0725 708955d0 jam 0xd0 ,0x8955 
+0726 708956e0 jam 0xe0 ,0x8956 
+0727 7089583c jam 0x3c ,0x8958 
+0728 20202953 branch set_tx_power_5db 
+
+p_set_tx_power_f5db:
+0729 2040072e call p_rx_low_sens 
+072a 708955d0 jam 0xd0 ,0x8955 
+072b 708956c0 jam 0xc0 ,0x8956 
+072c 7089586c jam 0x6c ,0x8958 
+072d 2020295b branch set_tx_power_f5db 
+
+p_rx_low_sens:
+072e 70894c5b jam 0x5b ,0x894c 
+072f 70894d96 jam 0x96 ,0x894d 
+0730 70894e2c jam 0x2c ,0x894e 
+0731 70894f46 jam 0x46 ,0x894f 
+0732 20600000 rtn 
+
+p_set_tx_power_pair:
+0733 708956c2 jam 0xc2 ,0x8956 
+0734 708955d0 jam 0xd0 ,0x8955 
+0735 20600000 rtn 
+
+p_shutdown_radio:
+0736 18002a08 force 8 ,radio_ctrl 
+0737 202028fa branch shutdown_radio + 1 
+branch shutdown_radio + 1 
Index: output/ramcode.rom
===================================================================
--- /branch/mouse_project/ZhongXinSheng/ZXS_1062/MJ391_24G&BLE_PB/output/ramcode.rom	(revision 0)
+++ /branch/mouse_project/ZhongXinSheng/ZXS_1062/MJ391_24G&BLE_PB/output/ramcode.rom	(working copy)
@@ -0,0 +1,1848 @@
+c2840012
+c0000029
+c000803b
+c0428736
+c0448709
+c0508044
+c0588049
+c059005a
+c06202ce
+c064835f
+c0650363
+c07183c5
+c0730581
+c07485bc
+c07505c6
+c07585d6
+c07605ff
+20202a8e
+c01c8605
+c021860d
+c0250613
+c02b8616
+c02c8626
+c0318633
+c0330663
+c033867a
+c03506a6
+c03b86b1
+c07d06c1
+c04606ca
+20202a8e
+1fe22200
+6808cc8e
+58004c95
+98408a00
+1a227e00
+e0a08000
+18408401
+18410407
+6008cc8e
+20600000
+2040002b
+20202002
+704b3d00
+6808c6ed
+204067fb
+6808c6ed
+2040681d
+24608000
+20407ec1
+6808c6ed
+2040681d
+24608000
+704b3d01
+20600000
+6800cb3d
+207a0000
+204004c6
+20200444
+d8a009ae
+df20000c
+20407ed4
+20400399
+20406a03
+20405cf6
+2455ac65
+20407ccd
+2020200c
+58000a06
+6001c510
+58001d87
+60014513
+20202aa2
+c6130000
+20400054
+6800cb01
+c000ffef
+6800c79c
+c0007fef
+6800c7c4
+c000ffef
+6800c806
+243a7fef
+20207ff1
+20407ff1
+6800cb01
+245a7fef
+6800cb07
+245a7fef
+20600000
+c6930000
+6800cd15
+c2808071
+c2810081
+6800cd13
+c00080b2
+20400131
+243400c9
+20400118
+20400154
+6800cbe3
+c1ff8000
+204006df
+204000ae
+6800cd13
+c1008000
+6800cb01
+c0008093
+204000d5
+24740000
+204002bf
+5800ec54
+20202b93
+6800cb42
+c000add4
+204001e0
+20400172
+242c0098
+24378098
+6800cd15
+793ffe01
+6000cd15
+2040019c
+204002ec
+68024bfb
+680a4bdf
+98467c00
+20228322
+20200087
+6800cb42
+c000add4
+204001e0
+20400172
+242c00aa
+243780aa
+79200026
+6800cd15
+793ffe02
+6000cd15
+704b3a00
+700a993c
+20407d86
+68024bfb
+680a4c0a
+98467c00
+20428096
+2040016c
+704d1301
+704d1400
+20600000
+68024bb3
+202001a7
+6800cd11
+1fe0fe01
+1fe17e03
+6000cd11
+c00000a1
+c00081a3
+c00101ed
+c00181a3
+20600000
+204002ec
+68024c0a
+60024bfb
+6800cb45
+6000cbde
+204000a9
+6008cb45
+20600000
+204001a8
+6808cbde
+2040021e
+6008cbde
+20600000
+58017700
+6001cc02
+704b3c14
+20600000
+20400298
+24740000
+204000c3
+6800cd14
+1fe0fe01
+6000cd14
+1fe67c19
+204280bb
+20200060
+704d1300
+704d1400
+704c0e00
+6800cbf9
+6000cbf8
+20600000
+6800cbfa
+202000bf
+6800cc0e
+1fe0fe01
+6000cc0e
+c00200c1
+c00280bd
+20600000
+6800cbff
+205a00e0
+6800cb06
+247a0000
+6800cb01
+c1008000
+204000d5
+24740000
+6801cc02
+20407f49
+600a415b
+20202b2a
+78347c00
+20402afa
+6801c16f
+203a7fe9
+6800c091
+203a7fe9
+6800c5b1
+203a7fe9
+6800cd13
+c000ffe9
+202002c2
+704bff01
+704d0800
+204000f0
+6000cb6f
+58000000
+6003cb70
+68024c0a
+60024b77
+704bd30c
+6800cbd4
+79207e03
+6000cbd4
+20400134
+20200063
+704d0901
+704d0b00
+6800cbd4
+1fe17e07
+6000cbd4
+20600000
+6800cbd4
+79207e04
+6000cbd4
+6000cb8f
+20600000
+6800cbd4
+793ffe04
+6000cbd4
+6000cb8f
+20400648
+202000aa
+6800cd08
+c08080f0
+6800cd06
+1fe0fe01
+6000cd06
+c0020108
+204000aa
+704c1802
+20200154
+20400648
+704d0600
+202000f0
+704d0b02
+704d0901
+704d0800
+202000f0
+6800cd0a
+c001810c
+6800cbd4
+2fec0004
+202080ee
+6800cd0a
+c000810b
+c001010c
+20600000
+6800cbe3
+c1ff8000
+2040011d
+24560125
+20600000
+78567c00
+6800cd09
+c1808000
+6800cd0b
+c1800000
+704d0a01
+704c1804
+20207feb
+6800cd0b
+203a012c
+1fe0ffff
+6000cd0b
+704d0a02
+704c1804
+202000aa
+704d0a03
+6800cd08
+243a00ff
+704c1802
+202000aa
+6800cbe3
+c0ff81b5
+20400137
+2040020c
+704bd801
+20600000
+68014d04
+20407f9c
+2034013d
+6803cb70
+207a0000
+20207fe7
+204003b9
+704bff00
+1a20fe01
+6000cbd3
+204000f0
+6000cb6f
+e8a88000
+ea408000
+9841fe00
+e0a08000
+1a40a401
+ea420000
+e0a20000
+1a40a404
+d8a04b75
+df200002
+ea408000
+e8a88000
+9840fe00
+e0a08000
+1a40a401
+c200014d
+20600000
+704bdc00
+d9600d00
+34730200
+20400172
+6800cc0f
+c1008000
+242c0181
+24378181
+2040016c
+2040019c
+204006d9
+6800cbd2
+1fe0fe01
+6000cbd2
+2040016f
+6800cbe3
+c0ff81cf
+2040010f
+58000000
+60014bd9
+6000cbdb
+6000cd07
+704bd800
+20600000
+df200004
+d8a04b6f
+20207ec6
+6800cbd4
+c28200f9
+20600000
+7857fc00
+20400277
+6800cc0f
+c000817f
+18002a00
+68024bfb
+98001200
+68088017
+2040291f
+20402924
+20400234
+20578270
+20600000
+20400270
+2020015f
+68014bd9
+1fe0fe01
+60014bd9
+6800cbda
+c2822dd4
+6800cbe3
+c0ff818a
+20400192
+20200155
+6800cbd9
+c1ff8000
+58000000
+60014bd9
+20202dd4
+20400700
+20400648
+202000aa
+6800cbdc
+1fe67c0b
+2421018f
+1fe0fe01
+6000cbdc
+c00100f4
+c00300f9
+c00400f4
+c00600f9
+20600000
+204001ff
+6800cbd1
+207a0000
+98007200
+d8c04b4f
+d8a04bb1
+20207f01
+7041de20
+704bd200
+704bdd4e
+68024bdf
+60024bfb
+da200000
+df200004
+d8c04bfb
+e8c08000
+9a20a200
+c20001ab
+1a227e00
+60014c84
+6800cc84
+6808cc85
+9840fe00
+6000cc86
+20600000
+6800cbd8
+c000ffe7
+6800cbe3
+c00081bc
+c00101bf
+c00181c2
+20202a8c
+704be311
+70119eaa
+202001c4
+704be312
+70119e55
+202001c4
+704be313
+70119e22
+6800cbd4
+1fe17e07
+6000919f
+68024c0a
+600211a0
+7011a400
+da20119e
+d8400007
+204001fa
+20400134
+20207fe7
+204006d6
+6800cbe3
+c17f8000
+c00881d6
+c00901d8
+c00981da
+20600000
+704be302
+20200166
+704be303
+20200166
+704be3ff
+700a9939
+20407d86
+68024bb3
+204001a7
+20200166
+70119eff
+6800cbd4
+6000919f
+68024c0a
+600211a0
+d8400006
+da20119e
+204001fa
+2020020c
+58000000
+60014b43
+704b4200
+20600000
+7041de20
+58000f0f
+60014bfb
+e0a10000
+6800cb46
+6000cbde
+204000a9
+6008cb46
+20600000
+793f8026
+204053ce
+d8e00003
+202043d2
+6008cbd3
+18427200
+d8a04b6f
+1a220c00
+20207f01
+6800cb4e
+1fe97e00
+6000cbd1
+1fe0fe01
+d8c04b4e
+98c08c00
+e8c18000
+6001cc10
+6800cb4e
+1fe37e00
+1fe17e03
+6000cc16
+20600000
+6800cbd3
+1fe0fe02
+6000cbd5
+6800cbd4
+6000cb8f
+6800cbd3
+1fe9fe00
+6808cbd2
+18410403
+18438400
+9841fe00
+6808cc0f
+9840fe00
+e0a08000
+6800cbd3
+98007200
+d8c04b6f
+20207f01
+20400222
+18408401
+18410403
+20600000
+6800cbfb
+1fe17e03
+1fefa204
+58004be4
+9a20fe00
+98408c00
+e8c08000
+6000cbdd
+20600000
+7844fc00
+7843fc00
+58555555
+98001e00
+6800cbdd
+1fed8400
+79200401
+18431c00
+20600000
+2040022b
+7857fc00
+7826fc00
+7830fc00
+78507c00
+78287c00
+68014bd6
+98003600
+37c18400
+242c0270
+7846fc00
+7825fc00
+7823fc00
+7824fc00
+2040026d
+6000cc87
+6808cc86
+98467c00
+24228270
+2040026d
+6000cb4d
+6800cc19
+1fe67c02
+20228250
+6800cb4d
+6808cbd4
+a8400e00
+24208270
+2040026d
+e0a08000
+1fe97e00
+1fe1721f
+20228258
+2040026d
+e0a08000
+c2000255
+18a22200
+2040026d
+6000cd0e
+1a220a00
+09800018
+78287c00
+db600664
+1fef7e00
+1ff17e00
+e0a18000
+7845fc00
+20230270
+7837fc00
+68008017
+1fe0a200
+20402981
+7846fc00
+20402918
+6800cd0e
+2040001f
+20600000
+09800008
+19897e00
+20600000
+784dfc00
+7845fc00
+2040264d
+20600000
+20402918
+6808cbdd
+20202933
+204053c4
+68024bfb
+98001200
+2040022b
+20400274
+79202a00
+782efc00
+78307c00
+7850fc00
+19317e00
+1fecfe00
+1ff1fe00
+08008628
+784efc00
+782dfc00
+7823fc00
+7824fc00
+6800cc86
+08008608
+6800cbd5
+98007200
+d8c04b8f
+e8c08000
+08008608
+c200028d
+78247c00
+08008618
+78447c00
+37d38200
+20000064
+784efc00
+784dfc00
+20600000
+20407fe9
+680a4bf4
+1c427e00
+98467c00
+24412d18
+1fe22400
+68024bf4
+6808cbf8
+98408400
+1a427e00
+98467c00
+24610000
+793ffe1c
+60024bf4
+20207fe7
+d8400000
+df200008
+1a220c00
+e8c08000
+98408400
+c20002aa
+18497e00
+1fe20400
+c6930000
+1fe6fc0a
+20407f86
+1807fe00
+1ff27e00
+18070400
+98418400
+20600000
+20600000
+c6130000
+2040038f
+204002c2
+6800c040
+c30002bf
+680080a0
+247a0000
+58000000
+600400a1
+20600000
+204002cb
+204002bf
+20403ebf
+68120070
+681a0078
+98418400
+18440400
+601a007c
+20600000
+6800cb0c
+207a0000
+202003c5
+20403416
+203582d9
+204003d2
+6800c1de
+6000cc8a
+204006d6
+6800c685
+6000c6da
+204043ca
+6801c4a3
+6001cb48
+204002db
+202074b9
+2455833b
+20400326
+20758000
+2040037a
+2040058f
+c002830f
+2040036d
+204002ec
+6800c720
+c00102ef
+c07f82ef
+20400526
+6800c210
+c01a02f9
+70479d01
+70479e28
+20600000
+6800cc8a
+6000c1de
+20600000
+20400526
+20400443
+20400371
+2034031a
+79200026
+6800cd15
+79207e02
+6000cd15
+204000a9
+2020031e
+704b4001
+70479f01
+680146a8
+6808cb1e
+18467cff
+24228300
+58000258
+600146ae
+20403418
+20400308
+58000004
+e0c08000
+d8c04390
+204005fb
+20207df4
+da204370
+ea208000
+207a0000
+98c0a200
+e8c08000
+c1008000
+20200309
+6800cd15
+c2810312
+c6130000
+d8e00003
+204043ce
+58000000
+600146ae
+6000c6b4
+60014c00
+204042ca
+70472002
+79200026
+6800cd15
+79207e01
+6000cd15
+58000032
+60014b43
+704b4200
+20600000
+79200026
+204001a3
+704be301
+20600000
+70421276
+20203d36
+20400326
+204040c0
+204040d9
+c0180334
+c0188336
+204040d1
+200003e8
+2020032a
+704b0c01
+2040640f
+20400328
+20206411
+204003be
+202040e0
+204003be
+6800c6de
+c03840e8
+7046e001
+20600000
+680240a0
+60024c0a
+20403e6e
+20403e1e
+58000000
+60014154
+204068a8
+20403e54
+20405810
+20405839
+2040582c
+20405818
+2040659c
+204065c2
+2040443f
+2040035b
+20400431
+204065df
+df200003
+d8c04722
+20400373
+24340353
+20400355
+20600000
+704b1e5a
+20600000
+704b1eff
+70421034
+580f0f0f
+6001c4a0
+6001c4a3
+20600000
+204033c4
+20228367
+204005cb
+20203dcb
+d8400002
+da200aaa
+da400062
+202065d1
+d8400002
+da200a9a
+da400062
+202033c8
+d8400058
+da204720
+da400000
+204065df
+20400037
+2020431a
+20400328
+20400455
+70471e00
+20600000
+df200002
+d8c04bfb
+20407fe7
+5800ffff
+e8c90000
+98467c00
+2442ffe9
+c2000375
+20600000
+5800038b
+60014d04
+580003a2
+600141ef
+580006bb
+600141f9
+580002b8
+600141ed
+580003f2
+600141f5
+580003f0
+600141f3
+58000448
+600141eb
+5800045b
+600141fd
+20600000
+20404401
+6801469f
+207a0000
+20200093
+d8c01800
+d8a0480a
+20400397
+d8c01900
+20400397
+d8c01a00
+20400397
+d8c01b00
+df20001b
+20207f01
+d8c0480a
+d8a01800
+20400397
+d8a01900
+20400397
+d8a01a00
+20400397
+d8a01b00
+20200397
+20405892
+247a0000
+6800cb1e
+c07f83a9
+6800c6c5
+1fe17e03
+c1818000
+6800c79c
+205a03ed
+680246d3
+c282c179
+20403f97
+24740000
+204003b6
+204003b9
+204003e8
+da20469a
+20407e3d
+205403d7
+20600000
+70417200
+704b3b1e
+20600000
+6800cb3a
+c1808000
+58000000
+6000cb3a
+6002469b
+58008006
+20406413
+20002ee0
+6800c77a
+c0ff83c5
+6800c6e1
+6000c77a
+6800c6e0
+c00303c8
+20203d81
+6800c77a
+205a03ce
+6800c77a
+c00083d0
+c001bd8c
+20203d88
+70477a01
+20600000
+7046b500
+20203dc1
+7047a007
+7047a104
+580047a0
+60014218
+20207e38
+6800c7c1
+1fe0fe01
+6000c7c1
+20600000
+da20469a
+20407e54
+203403df
+20600000
+20405652
+6800c7c1
+1fe67c01
+24415650
+6800c7c1
+207a0000
+1fe0ffff
+6000c7c1
+20203f90
+6801469f
+207a0000
+70480601
+70480702
+20600000
+20405814
+70479c01
+202003be
+20407e34
+20203ee0
+1a627e00
+c00a03fc
+c00a8404
+c014840e
+c0190410
+c0200417
+c01c8423
+c01d0435
+c01e043f
+2020417d
+704b4101
+6800c79f
+243a0400
+704b3f14
+20400330
+2040043c
+204003d2
+202041c3
+704b4100
+20400452
+58000007
+60014496
+60014498
+7047c400
+70479c00
+204003d2
+20405816
+202041d9
+700a9912
+20207d8f
+6800c79f
+c0008413
+20200415
+2040040e
+7046c614
+d8e00001
+202041b9
+68014509
+c1000000
+68008441
+1feb7e00
+1fe67c0c
+20610000
+58000009
+60014496
+60014498
+2040040e
+7047c401
+20600000
+204001e9
+20400330
+70478b01
+d8e00003
+204043d2
+58000000
+60014707
+7046a700
+2040405d
+2040043c
+20400443
+204002ec
+20400431
+202065d1
+da204bfb
+da40005b
+d8400004
+20600000
+20400452
+704d1300
+204002ec
+204001f6
+6800cb09
+243a02e9
+2020340a
+70479d00
+70479e00
+20600000
+204001e9
+20400330
+20403f8d
+2040043c
+20404366
+d8400001
+da204720
+da400000
+202065d1
+78347c00
+68120138
+79347e1a
+6012004c
+20402c21
+20400452
+204074bd
+20404482
+20403e9f
+20203ebf
+6800cb0c
+207a0000
+704b0c00
+58000006
+20406414
+1fe1fe08
+1fed7e00
+1fe0fe06
+20206413
+20400537
+20400572
+20400489
+204004a7
+2040048e
+204004b0
+20404234
+2040046a
+20400471
+20404237
+20400478
+2040047b
+20400481
+204004e6
+2020423a
+da604b3c
+da40046d
+2020336d
+5836ee80
+6001cc02
+704b3a01
+20600000
+da604b43
+da400474
+20203374
+704b4201
+20400531
+20400455
+202002e9
+da6046c6
+da403d60
+2020336d
+da604b3b
+da40047e
+2020336d
+6800c7c5
+6000c172
+2020046f
+6800cb41
+207a0000
+da604b3f
+da400486
+2020336d
+6800cb40
+247a0000
+20205bf5
+da604807
+da40048c
+2020336d
+70480600
+20600000
+6808c6ec
+2040681d
+20208494
+204043a9
+d8e00009
+202043d2
+70479e28
+20400497
+202043b0
+da6046da
+da40049a
+2020336d
+680246d3
+c3848000
+704b0a00
+204004e2
+68014682
+2feffe0b
+2040c2d4
+68014682
+2feffe07
+2040c392
+d8e00009
+204043ce
+202043b8
+6800c79d
+207a0000
+6800cb06
+247a0000
+da60479e
+da4004ae
+2020336d
+70479d00
+2020340a
+6808c6ed
+204005b7
+6808c6ed
+2040681d
+202084cd
+6800cb3d
+243a04db
+6800c6d9
+c1008000
+7046d901
+704aff01
+d8400001
+da204b0a
+da400061
+204065df
+6800cb0a
+203a04e1
+204004c6
+7041bd00
+20400444
+204043c0
+2020437e
+6808c720
+18408401
+6800c6d2
+98467c00
+244143cc
+6008c720
+20600000
+68014682
+c28584d0
+704aff00
+6800c6d9
+c1000000
+7046d900
+68014208
+c3850000
+6800c720
+c1808000
+6801420a
+79207e0a
+6001420a
+20204386
+704b3d00
+6800c6d9
+243a02e2
+7046d901
+704aff01
+20600000
+704b0aff
+d8400001
+da204b0a
+da400061
+202065d1
+6800caff
+207a0000
+6800cb02
+c00004ec
+c00084f6
+20600000
+20400500
+6800cb07
+1fe0fe01
+6000cb07
+6808cb03
+98467c00
+204284f4
+20600000
+704b0900
+20200514
+6800cb05
+1fe0ffff
+6000cb05
+247a0000
+6800cb04
+6000cb05
+6800cb01
+c0008514
+c0000500
+20600000
+704b0101
+6800c720
+c0010508
+6808cb00
+2040680e
+6808cb00
+20406825
+2020050c
+6808cb4b
+2040680e
+6808cb4b
+20406825
+68014682
+c3858000
+6808cb4c
+2040680e
+6808cb4c
+20206825
+58000000
+6001cb05
+6800cb06
+243a0518
+704aff00
+704b0200
+704b0700
+704b0100
+6808cb00
+2040680e
+6808cb00
+20406829
+6808cb4b
+2040680e
+6808cb4b
+20406829
+6808cb4c
+2040680e
+6808cb4c
+20206829
+704b0901
+704aff01
+704b0200
+704b0700
+20600000
+704b0403
+704b0601
+704b0501
+704aff01
+704b0201
+20600000
+704b0600
+6800cb07
+247a0000
+6800cb09
+247a0000
+20200512
+68014b06
+247a0000
+da6046ce
+da40053c
+2020336d
+7046ce0a
+20400559
+20406908
+1feffe02
+d840000e
+98467e00
+1fe67c78
+20410553
+1fe67c64
+20410556
+6001470f
+da204709
+20400565
+6800c231
+c280b40a
+c300054e
+704b0b01
+202043e7
+204043e9
+6800cb0b
+207a0000
+704b0b00
+20200514
+d8400008
+98467e00
+20600000
+d8400006
+98467e00
+20600000
+6800c22d
+c001055c
+202068ec
+6808c6f8
+204067fb
+6810807c
+793ffe05
+6010807c
+68108078
+793ffe05
+60108078
+202068f4
+ea240000
+60040a9a
+68090a9c
+68010aa0
+98467c00
+24216944
+68090a9e
+98467c00
+24216940
+6800c231
+793ffe00
+6000c231
+20600000
+680246d3
+c4020000
+68014682
+c3858000
+68014b06
+247a0000
+6800c6cf
+1fe0fe01
+6000c6cf
+c002850c
+1fe67c0a
+2421057f
+20600000
+7046cf01
+20200514
+78547c00
+58000000
+6003469b
+2040058a
+20404079
+2040407e
+2040058d
+24740000
+20203fa0
+20403fc0
+78547c00
+20203fe7
+2040058f
+2020409a
+da200000
+20400595
+20400593
+2020408e
+204005a5
+202005ab
+6808c6e2
+204005b7
+6808c6e2
+2040681d
+7920a200
+6808c6e3
+204005b7
+6808c6e3
+2040681d
+7920a201
+6808c6e4
+204005b7
+6808c6e4
+2040681d
+7920a202
+20600000
+6808c6e5
+204005b1
+6808c6e5
+2040681d
+7d20a203
+202005b7
+6808c6e6
+204005b1
+6808c6e6
+2040681d
+7d20a204
+202005b7
+793f8407
+d8a08078
+20406830
+79200407
+d8a0807c
+2020680a
+79200407
+d8a08078
+20406830
+793f8407
+202005b5
+70480800
+7041e30e
+204041e7
+68014208
+c28385c2
+202041e2
+204041c1
+68014208
+c28504b0
+202041f7
+70479d00
+70479e00
+280ffe26
+204081f6
+2020426d
+204068a2
+6801421d
+600147c2
+d8400002
+da2047c2
+da40005f
+202065d1
+d8400002
+da2047c2
+da40005f
+202065df
+704b4000
+204002ec
+70472001
+70479c00
+68014682
+c28585e4
+204005d2
+680947c2
+18408401
+600947c2
+600944a1
+204005ce
+180a7e00
+6000c4a0
+6801cb48
+6001c4a3
+20400353
+20403418
+68014687
+600146ac
+70016d06
+58000000
+600146b0
+600146ae
+d8e00007
+204043ce
+204043ca
+204005f4
+204042c4
+2020052b
+70479f00
+20400308
+58000005
+e0c08000
+d8c04b1f
+204005fb
+20207df4
+d8a0437b
+df200013
+20407f01
+202057b8
+704b0600
+20400531
+58000000
+600146ac
+204003be
+202042cb
+6800c50f
+1fe0fe01
+6000c50f
+c0065395
+204055aa
+2040561e
+204006df
+2020538f
+68008016
+1fe0fe01
+60008016
+c1940000
+70001625
+20600000
+204029bb
+2040001f
+202054a3
+2040061c
+2020557d
+6800c7c5
+6000c172
+7047c400
+20600000
+6800c3d6
+1fe67c0c
+24210421
+6800c3d8
+6808c7c5
+98467c00
+20210618
+6800c3d8
+6000c172
+2020061a
+6800843f
+c4030000
+2040062b
+24740000
+202055a0
+78347c00
+6800845a
+1ff1fe00
+c1878000
+68008460
+1ff1fe00
+c1800000
+20207fe9
+68008456
+c2828647
+204006d9
+6800c78e
+243a063d
+6800843f
+c3020641
+680082da
+203a0641
+20205664
+6800c78e
+1fe0ffff
+6000c78e
+20205664
+6800c4c4
+c0828644
+70478e03
+20405892
+205a03db
+20205622
+20400650
+6800cd0c
+1fe67c02
+244106dd
+6800cd0c
+c1000000
+1fe0ffff
+6000cd0c
+20600000
+6800c6c5
+1fe17e03
+c1818000
+6800c7c1
+207a0000
+6800c3dd
+207a0000
+6800c3dc
+79207e04
+6000c3dc
+20405650
+20600000
+6800c79f
+207a0000
+6800c6c5
+1fe17e03
+c1018000
+7046c60a
+20600000
+c6078000
+20405890
+247a0000
+680082d9
+1fe17e03
+6000c50c
+e8c08000
+1fe17e1f
+6000c50b
+207a0000
+18c27e00
+6001450d
+6800c50c
+c0018672
+2020568d
+680082db
+c0008675
+20205c65
+e8c28000
+6002c3ce
+e8c10000
+6001045f
+20205c8a
+e8c10000
+c002067e
+c003069b
+20205698
+20407ea5
+2040065c
+20407e9f
+e8c18000
+60018477
+c008068d
+1fec8400
+18467c24
+202158ad
+d84047c6
+600944bc
+204058ad
+58008e7a
+600144bc
+20600000
+204059fa
+20405879
+18c08c07
+e8c08000
+c1888000
+18c08c05
+e8c10000
+d8401812
+98467c00
+24628000
+18c08dfc
+5800002b
+e0c10000
+20600000
+e8c08000
+c000869f
+c00286a1
+20205af6
+704b4001
+20205b09
+20405b5a
+6800843f
+793ffe05
+6000843f
+20205c8e
+68008016
+c093d6f2
+204006ac
+d8e00000
+68014482
+20207f08
+180a7e00
+d84001ff
+98417e00
+1fe0fefa
+20203cbe
+7855fc00
+203706b4
+2436d806
+20402bcb
+680140c1
+6001044d
+6800c6c5
+2fe00603
+2420abde
+202057fb
+6800c79f
+247a0000
+68008478
+1fe67e1a
+24628000
+20203d60
+204062bc
+243a7ddb
+68008a99
+c584fdd6
+c00906c7
+20207dca
+20405890
+247a0000
+20205abf
+68108077
+1fe17efd
+60108077
+68188073
+18418402
+60188073
+204063ee
+184104fd
+2000000d
+204063f2
+60188073
+20600000
+704d0f01
+704d0c00
+20600000
+6800cd0c
+1fe0fe01
+6000cd0c
+20600000
+704d0c03
+20600000
+68014682
+c3858000
+da204c95
+204002a7
+6008cd0d
+58000082
+c51306e7
+58000080
+98467c00
+242106ff
+6800cd0c
+1fe67c02
+242106ef
+6800cd0c
+c0000700
+20600000
+6800cd0c
+c1900000
+704d0c00
+6808cd0d
+58000077
+c51306f6
+58000075
+98467c00
+24610000
+6800cd0f
+c0000707
+1fe0ffff
+6000cd0f
+c0000707
+7041de00
+20600000
+704d0c00
+6800cd0f
+c0010705
+1fe0fe01
+6000cd0f
+c00086fd
+7041de02
+20600000
+7041de04
+20600000
+60088017
+1840a200
+20402981
+58000500
+20402a8f
+70890601
+7089003c
+708901e0
+2000000a
+70890201
+7089023d
+2000000a
+708903b7
+2000000a
+7089027d
+6800c1de
+c0010721
+c0020729
+c0100733
+2040072e
+708955d0
+708956e0
+7089586c
+2020294b
+70894cfb
+70894def
+70894eec
+70894f5e
+708955d0
+708956e0
+7089583c
+20202953
+2040072e
+708955d0
+708956c0
+7089586c
+2020295b
+70894c5b
+70894d96
+70894e2c
+70894f46
+20600000
+708956c2
+708955d0
+20600000
+18002a08
+202028fa
Index: output/romcode.rom
===================================================================
--- /branch/mouse_project/ZhongXinSheng/ZXS_1062/MJ391_24G&BLE_PB/output/romcode.rom	(revision 0)
+++ /branch/mouse_project/ZhongXinSheng/ZXS_1062/MJ391_24G&BLE_PB/output/romcode.rom	(working copy)
@@ -0,0 +1,30920 @@
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+0000d2fa
Index: output/sched.rom
===================================================================
--- /branch/mouse_project/ZhongXinSheng/ZXS_1062/MJ391_24G&BLE_PB/output/sched.rom	(revision 0)
+++ /branch/mouse_project/ZhongXinSheng/ZXS_1062/MJ391_24G&BLE_PB/output/sched.rom	(working copy)
@@ -0,0 +1,983 @@
+
+00a1:00 00 00 00 00 00 00 00
+
+
+
+
+
+
+
+
+
+0c6c:ff
+
+
+
+
+
+
+
+
+
+
+
+
+
+119e:00 00 00 00 00 00 00 00 00 00
+4000:03
+
+
+
+
+
+4010:20
+02
+
+00 00 
+02
+00 
+06
+00 
+10
+
+06
+00 00 
+48
+
+1e
+
+4027:02
+08
+04
+80
+02
+c8
+04
+80
+
+
+00 00 
+10
+403f:04
+
+
+
+
+
+
+
+
+4091:01
+42
+40a0:26 10 19 20 18 10
+
+
+
+
+
+
+
+
+40bf:80 04
+00 08
+
+8f 47
+
+
+
+40d1:01
+
+4172:20
+00 00 
+8f 1f ca	
+00 0a 0b ef 07
+4203:90 1f
+00 00 
+06
+4211:80
+00 00 
+ff
+421a:01
+
+
+13 47
+422d:02 
+32 
+423a:14
+4241:00 84
+
+
+436f:1f
+
+
+02 01 05
+
+
+03 03 12 18
+
+
+03 19 c2 03
+
+438f:1f
+
+
+'\09BT5.0 Mouse
+
+
+
+43af:
+'BT5.0 Mouse
+
+
+446f:19 00
+448d:07 
+
+4496:
+07 00 
+07 00 
+20 00 
+2c 01 
+
+
+44a0:8e b1 3a 0e 8e ed
+
+44e5:50
+
+44fa:22 00
+
+
+455a:0a
+465a:01
+
+
+
+
+03 00 04
+4662:03
+4684:01
+1e
+
+ff
+08 07
+46a5:07
+00 00 
+50 00
+70 17 
+
+
+46ce:0a
+
+00 00 00 
+02 
+00 00 
+
+
+
+
+
+
+
+
+
+12
+
+
+
+
+
+
+
+
+45
+
+00 00 
+01
+00 
+01
+ff
+00 00 00 
+00
+02 
+06 
+03 
+04 
+06 
+04 
+03 
+1b 
+1c 
+ff 
+ff 
+16 
+16 
+ff 
+ff 
+ff 
+ff 
+ff 
+ff 
+ff 
+30 
+02 
+ff 
+05 
+
+4703:02 
+4709:96 00
+5a 00
+6e 00
+4720:
+ff
+ff
+ff ff ff ff ff ff
+
+
+
+
+
+
+
+
+
+477f:
+01
+02
+03
+04
+
+
+
+
+
+
+
+
+
+
+
+
+478e:03
+
+
+
+
+4b ba
+55 d0
+56 e0
+57 88
+58 6c
+59 10
+ff
+47c5:20
+
+
+
+25 00 02 03 28 01 12 
+26 00 02 4d 2a 07 00 00 00 00 00 00 00 
+27 00 02 02 29 02 00 00
+28 00 02 08 29 02 11 01
+29 00 02 03 28 01 0e 
+2a 00 02 4d 2a 07 00 00 00 00 00 00 00
+2b 00 02 08 29 02 11 02
+
+
+
+
+
+
+
+
+
+  
+
+4afd:19
+
+00 00 
+08
+00 00 
+14
+05
+4b1f:
+
+06 ff 06 00 03 00 80
+
+'\09BT5.0 Mouse
+
+4b47:0a
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+00 00 00 
+0a
+15
+
+
+4bd4:01        
+00 
+c0 12     
+4bdf:20 15 10 05
+ff
+00 13 2c 42
+06 15 36 48
+0f 1a 3a 4c
+11 23 31 4d
+4bf8:19
+19
+1c
+4c02:80 ee 36
+
+4c18:04
+01
Index: patch/patch.format
===================================================================
--- /branch/mouse_project/ZhongXinSheng/ZXS_1062/MJ391_24G&BLE_PB/patch/patch.format	(revision 0)
+++ /branch/mouse_project/ZhongXinSheng/ZXS_1062/MJ391_24G&BLE_PB/patch/patch.format	(working copy)
@@ -0,0 +1,3 @@
+
+
+
Index: patch/patch.prog
===================================================================
--- /branch/mouse_project/ZhongXinSheng/ZXS_1062/MJ391_24G&BLE_PB/patch/patch.prog	(revision 0)
+++ /branch/mouse_project/ZhongXinSheng/ZXS_1062/MJ391_24G&BLE_PB/patch/patch.prog	(working copy)
@@ -0,0 +1,3933 @@
+define REVD
+define ROMCODE
+define PATCH
+INCLUDE "bt_format"
+org 0x0000		// start from patch ram address start
+
+//define DONGLE
+define MOUSE
+define G24
+define BLE
+//define CLASSIC_BT
+//define MOUSE_SMOOTHER
+define ADC_ENABLE
+//define P24G_LOG
+//define RF_DEBUG
+define BLE_FAST_CONN_ENABLE
+define G24_NEW_RF_HOP
+define SIMPLE_PAIRING
+
+//define DEBUGLOG
+//define DEBUGLOG_CALLBACK
+//define DEBUGLOG_EVENT
+//define DEBUGLOG_CMD
+//define DEBUGLOG_MISC
+//define DEBUGLOG_STATUS
+//define DEBUGLOG_PARSE_LMP
+//define DEBUGLOG_SEND_LMP
+//define DEBUGLOG_CONN_SM
+//define DEBUGLOG_UPPER_SM
+
+ifdef PATCH
+	bbit1 8,pf_patch_ext
+	beq patch00_0,p_soft_reset_0 
+	beq patch00_1,p_soft_reset_1
+	beq patch10_5,p_shutdown_radio
+	beq patch11_1,p_set_freq_tx
+ifdef CLASSIC_BT
+	beq patch03_3,p_page_wait_fhs_reply_ok
+	beq patch04_6,p_role_switch_master
+	beq patch09_2,p_prepare_tx
+	beq patch0a_1,p_slave_conn_recv_packet
+ 	beq patch0b_1,p_process_dmh	
+	beq patch14_7,p_lpm_dispatch
+	beq patch19_3,p_app_bt_start_reconnect
+endif	
+	beq patch14_1,p_init_param
+	beq patch16_1,p_lpm_check_wake_lock
+	beq patch16_2,p_g24_dispatch
+	beq patch18_4,p_device_init
+	beq patch19_1,p_app_flag_store
+	beq patch19_2,p_app_initflag_check
+	beq patch1c_3,p_mouse_seting_dpi
+	beq patch1c_6,p_mouse_motion
+	beq patch1d_1,p_mouse_bb_disconnected
+	beq patch1d_2,p_mouse_bb_event_discovery_btn
+	beq patch1d_3,p_mouse_start_discovery
+	beq patch1d_4,p_mouse_stop_discovery
+	branch loop
+pf_patch_ext:
+ifdef BLE
+	beq patch27_1,p_le_slave_match
+	beq patch28_3,p_le_next_adv_channel
+	beq patch29_2,p_le_receive_skip
+	beq patch2a_7,p_le_update_param
+	beq patch2b_1,p_le_update_channel_map
+	beq patch2c_3,p_le_prepare_tx
+	beq patch2c_6,p_le_parse
+	beq patch2c_7,p_le_parse_l2cap
+	beq patch2d_2,p_le_adv_not_match
+	beq patch2e_7,p_le_lpm_setmult
+	beq patch3f_2,p_check_51cmd_once_continue
+endif	
+ifdef CLASSIC_BT
+	beq patch20_5,p_hid_rx_process
+	beq patch30_0,p_parse_lmp_accepted
+	beq patch30_2,p_send_lmp
+	beq patch31_0,p_process_conn_sm
+endif
+	beq patch31_4,p_twspi_reset
+ifdef DEBUGLOG
+	beq patch2f_6,p_parse_lmp_opcode
+	beq patch37_6,p_process_upper_sm_reconn
+	beq patch3e_6,p_ui_ipc_send_event
+	beq patch3e_7,p_ui_ipc_send_cmd
+endif
+	branch loop
+	
+
+ifdef MOUSE
+p_rssi_signal:
+	copy pdata,rega
+	fetcht 1,mem_rssi_signal_index
+	setarg mem_rssi_signal_buf
+	iadd temp,contw
+	copy rega,pdata
+	istore 1,contw
+	increase 1,temp
+	and_into RSSI_BUF_LEN_SIGNAL,temp
+	storet 1,mem_rssi_signal_index
+	rtn
+
+p_soft_reset_0:
+	call p_mouse_select_device_button_wakeup_check	//hibernate wakeup need 190ms
+	branch soft_reset+1
+
+p_mouse_select_device_button_wakeup_check:
+	jam 0,mem_mouse_select_device_button_wakeup_flag
+	fetcht 1,mem_config_select_device_button_gpio
+	call gpio_config_input
+	fetcht 1,mem_config_select_device_button_gpio
+	call gpio_get_bit
+	nrtn true
+	call delay_10ms
+	fetcht 1,mem_config_select_device_button_gpio
+	call gpio_get_bit
+	nrtn true
+	jam 1,mem_mouse_select_device_button_wakeup_flag
+	rtn
+
+p_mouse_switch_Hwakeup_byPB:
+	fetch 1,mem_mouse_select_device_button_wakeup_flag
+	rtn blank
+	call p_mouse_switch_device_flag
+	branch p_mouse_store_device_number2eeprom
+
+p_soft_reset_1:
+	arg mem_sp_state,contw
+	arg 12,loopcnt
+	call clear_mem
+ifdef BLE
+	call p_mouse_le_txbuff_load
+endif	
+	call rfcomm_init
+	call init_lmp
+	ncall lpm_disable_exen_output,wake
+	call ui_init+1
+	branch soft_reset+11
+
+p_init_param:
+	setarg param_le_version
+	store 3,mem_lmp_version
+	setarg param_le_subversion
+	store 2,mem_lmp_version+3
+	branch init_param+12
+
+p_lpm_check_wake_lock:
+	rtnmark1 mark_24g
+	call p_mouse_bt_multi_led_lpm_lock
+	fetch 1,mem_mouse_multi_led_state
+	beq ON,disable_blank
+	fetch 1,mem_mouse_clear_sensor_data_flag
+	beq 0,disable_blank
+	fetch 1,mem_mouse_le_conn_param_reject
+	beq LE_LPM_DISABLE,disable_blank
+ifdef CLASSIC_BT	
+	fetch 2,mem_sdp_remote_cid
+	nbranch disable_blank,blank
+endif	
+	fetch 1,mem_mouse_wheel_trigger
+	nbranch disable_blank,blank
+	branch enable_blank
+
+p_mouse_bt_multi_led_lpm_lock:
+	call enable_blank
+	fetch 1,mem_mouse_multi_led_state
+	ncall disable_blank,blank
+	fetch 1,mem_mouse_multi_led_on_timer
+	ncall disable_blank,blank
+	rtn
+
+ifdef G24
+p_g24_dispatch:
+	rtnmark0 mark_24g
+	fetch 1,mem_g24_conn_sm
+	bbit1 STATE_24G_PAIR,p_g24_pair_dispatch
+	bbit1 STATE_24G_RECONN,p_g24_reconn_dispatch
+	fetch 1,mem_24g_transmit_by_interrupt
+	beq G24_TX_TIMER_INT_ENABLE,p_g24_transmit_by_interrupt
+p_g24_transmit_process:
+	call p_g24_txdata_prep
+	nbranch p_g24_nodata_transmit,user
+	call p_g24_rf_sta_check
+p_g24_transmit_start:
+	call p_g24_transmit_packet
+	fetch 1,mem_24g_pairing_sm
+	rtnne STATE_24G_PAIRING_SUCCESS
+	call power_ctrl_start
+	call g24_long_sleep_shorter_param_update
+	fetch 1,mem_24g_transmit_by_interrupt
+	rtneq G24_TX_TIMER_INT_ENABLE
+	fetch 1,mem_mouse_multi_led_state
+	beq ON,p_g24_transmit_by_interrupt_enable
+p_g24_short_sleep:	
+	call p_g24_lpm_wait
+	nrtn user
+	call p_clear_wake
+	setarg 60500
+	branch lpm_dispatch_sleep
+
+p_g24_pair_dispatch:
+	fetch 1,mem_g24_stop_g24_mode
+	beq 1,g24_stop_24g_mode
+	call p_g24_tx_attemp_data_prep
+	call p_g24_transmit_receive_ack
+	nbranch p_g24_pair_txdata_switch,sync
+	nbranch p_g24_pair_txdata_switch,user3
+	fetch 1,mem_g24_conn_sm
+	set0 STATE_24G_PAIR,pdata
+	store 1,mem_g24_conn_sm
+	call p_g24_ackpayload_parse
+	call p_mouse_tx_power_init
+	fetch 4,mem_24g_addr
+	fetcht 4,mem_24g_paring_addr
+	isub temp,null
+	branch p_g24_start_pairing_sm1,zero
+	branch p_g24_tx_attemp_dongle_succ
+
+p_g24_reconn_dispatch:
+	fetch 1,mem_g24_stop_g24_mode
+	beq 1,g24_stop_24g_mode
+	call p_g24_tx_attemp_data_prep
+	call p_g24_transmit_receive_ack
+	nbranch p_g24_ch,sync
+	nbranch p_g24_ch,user3
+p_g24_tx_attemp_dongle_succ:
+	set1 mark_24g,mark
+	fetch 1,mem_g24_conn_sm
+	set0 STATE_24G_RECONN,pdata
+	store 1,mem_g24_conn_sm
+	jam 0,mem_mouse_long_mult_flag
+	jam BT_EVT_24G_ATTEMPT_SUCCESS,mem_fifo_temp
+	call ui_ipc_send_event
+
+	fetch 4,mem_24g_addr
+	fetcht 4,mem_24g_device_addr
+	isub temp,null
+	call p_g24_store_dongle_addr,zero
+
+	call p_g24_txbuf_clear
+//	branch p_g24_transmit_by_interrupt_enable
+p_g24_transmit_by_interrupt_enable:
+	jam G24_TX_TIMER_INT_ENABLE,mem_24g_transmit_by_interrupt
+	jam 0,mem_24g_transmit_by_interrupt_exit_count
+	rtn
+
+p_g24_store_dongle_addr:
+	fetch 4,mem_24g_rxpayload+2
+	branch p_g24_update_addr_and_synccrc8
+
+p_g24_pair_txdata_switch:
+	fetch 1,mem_24g_auto_paring_switch
+	increase 1,pdata
+	and_into 3,pdata
+	store 1,mem_24g_auto_paring_switch
+	beq 0,p_g24_auto_pair_first_attemp
+	beq 1,p_g24_pair_init
+	beq 2,p_g24_auto_pair_all_powerful
+	beq 3,p_g24_pair_init
+	rtn
+
+p_g24_auto_pair_first_attemp:
+	call p_mouse_tx_power_init
+	fetch 4,mem_24g_device_addr
+	store 4,mem_24g_addr
+	fetch 1,mem_24g_pair_current_ch_num
+	store 1,mem_24g_current_ch_number
+	call p_g24_ch_syncword_crc8_init
+	storet 1,mem_24g_pair_current_ch_num
+	rtn
+
+p_g24_ch_syncword_crc8_init:	
+	call p_g24_syncword_crc8
+//	branch p_g24_ch
+p_g24_ch:
+	fetcht 1,mem_24g_current_ch_number
+	call p_g24_ch_map_size
+	storet 1,mem_24g_current_ch_number
+	rtn
+
+g24_long_sleep_shorter_param_update:
+//	fetch 1,mem_config_function_enable
+//	rtnbit1 ENABLE_SENSOR_MOTION_PIN
+	setarg G24_LONG_SLEEP_STEP1
+	store 3,mem_24g_enter_hibernate
+	jam 20,mem_24g_long_sleep_param_update_timer
+	rtn
+	
+p_g24_transmit_by_interrupt:
+	call p_g24_timer_check
+	nrtn user
+	call p_g24_interval_calibrate
+	fetch 1,mem_24g_transmit_by_interrupt_exit_count
+	increase 1,pdata
+	store 1,mem_24g_transmit_by_interrupt_exit_count
+	sub pdata,25,null	//200ms
+	call p_g24_transmit_by_interrupt_exit,zero
+	branch p_g24_transmit_process
+p_g24_transmit_by_interrupt_exit:
+	jam G24_TX_TIMER_INT_DISABLE,mem_24g_transmit_by_interrupt
+	jam 0,mem_24g_transmit_by_interrupt_exit_count
+p_g24_interval_min:
+	jam 0,mem_24g_pac_index
+	fetch 1,mem_24g_interval_min
+p_g24_current_interval_store:
+	store 1,mem_24g_interval
+	rtn
+p_g24_interval_max:
+	fetch 1,mem_24g_interval_max
+	branch p_g24_current_interval_store
+p_g24_interval_calibrate:
+	fetch 1,mem_24g_pac_index
+	increase 1,pdata
+	store 1,mem_24g_pac_index
+	beq 4,p_g24_interval_max
+	beq 5,p_g24_interval_min
+	rtn
+
+p_g24_nodata_transmit:
+	fetch 1,mem_24g_abort_pac
+	call p_g24_send_abort_packet,blank
+	fetch 1,mem_mouse_multi_led_blink_count
+	nrtn blank
+	fetch 1,mem_mouse_multi_led_state
+	rtneq ON
+p_g24_long_sleep:
+	call p_g24_lpm_wait
+	nrtn user
+	fetch 3,mem_24g_enter_hibernate
+	call clk2lpo
+	storet 4,mem_sleep_counter
+  	branch lpm_sleep
+
+p_g24_lpm_wait:
+	enable user
+	call lpo_calibration
+	fetch 3,mem_clks_per_lpo
+	branch disable_user,blank
+	fetch 1,mem_lpm_mode
+	branch disable_user,blank
+	fetch 1,mem_sp_local_key_invalid	// simple pairing is not ready
+	branch disable_user,blank
+	fetch 1,mem_24g_transmit_by_interrupt
+	beq G24_TX_TIMER_INT_ENABLE,disable_user
+	branch p_mouse_setgpio_lpm
+
+p_g24_send_abort_packet:
+	jam 1,mem_24g_abort_pac
+	jam 0,mem_24g_rf_hop_ch
+	call p_g24_transmit_rf_ctrl_clear
+	store 1,mem_24g_txbuf
+	setarg 0
+	store 7,mem_24g_txbuf+1
+	fetch 4,mem_24g_device_addr
+	store 4,mem_24g_txbuf+8
+	jam 12,mem_24g_datalen
+	fetch 1,mem_24g_data_type
+	set1 bit_abort,pdata
+	store 1,mem_24g_data_type
+	call p_g24_txdata_enable_tx
+	branch p_g24_transmit_start
+
+//p_g24_set_device_addr:
+//	call adc_init_data
+//	fetch 4,mem_2v_adc_vinlpm_data	//adc data from otp
+//	store 4,mem_24g_device_addr	
+//	nrtn blank
+//	fetch 4,mem_lap
+//	store 4,mem_24g_device_addr
+//	rtn
+
+p_g24_transmit_rf_sta_init:
+	jam 1,mem_24g_rf_last_sta
+	jam 0,mem_24g_sync_cnt
+p_g24_transmit_rf_ctrl_clear:	
+	fetch 1,mem_24g_data_type
+	and_into bits_data,pdata
+	store 1,mem_24g_data_type
+	rtn
+	
+p_g24_hop_ch_enable:
+	fetch 1,mem_24g_data_type
+	set1 bit_hop,pdata
+	store 1,mem_24g_data_type
+	//update txpayload
+	store 1,mem_24g_txpayload
+	rtn
+p_g24_hop_ch_disable:
+	fetch 1,mem_24g_data_type
+	set0 bit_hop,pdata
+	store 1,mem_24g_data_type
+	store 1,mem_24g_txpayload
+	call power_ctrl_pac_succ_decrs
+	branch p_g24_ch
+	
+//p_g24_transmit_hop_pac_fail:
+//	call power_ctrl_pac_succ_decrs
+//	fetch 1,mem_24g_rf_work_stage
+//	beq 1,p_g24_transmit_hop_pac_fail_wo_hop
+//	beq 2,p_g24_transmit_hop_pac_fail_hop_stage2
+//	rtn
+//p_g24_transmit_hop_pac_fail_wo_hop:
+//	jam 2,mem_24g_sync_cnt
+//p_g24_transmit_hop_pac_fail_stage1:	
+//	jam 0,mem_24g_hop_pac_retry
+//	jam 0,mem_24g_rf_last_sta
+//	branch p_g24_transmit_rf_ctrl_clear
+
+//p_g24_transmit_hop_pac_fail_hop_stage2:
+//	jam 0,mem_24g_rf_hop_ch
+//	branch p_g24_transmit_hop_pac_fail_stage1
+
+	
+//p_g24_transmit_pac_fail_hop_stage3:
+//	fetch 2,mem_24g_txfail_cnt
+//	increase 1,pdata
+//	store 2,mem_24g_txfail_cnt
+//	bbit1 10,p_g24_tx_attempt_fail	//1024ms * 8
+//	fetch 1,mem_24g_rf_hop_ch
+//	beq 1,p_g24_rf_hop_fastly
+//	jam 1,mem_24g_rf_hop_ch
+p_g24_rf_hop_attemp_again:
+	fetch 1,mem_24g_rf_hop_ch
+	bne 1,p_g24_transmit_rf_ctrl_clear
+p_g24_rf_hop_fastly:
+	fetch 1,mem_24g_hop_fastly_cnt
+	increase 1,pdata
+	store 1,mem_24g_hop_fastly_cnt
+	beq 4,p_g24_rf_hop_fastly_exit
+	call p_g24_ch
+	jam 2,mem_24g_max_retry
+	branch p_g24_transmit_packet
+
+p_g24_rf_hop_fastly_exit:
+	call power_ctrl_pac_succ_decrs
+	jam 0,mem_24g_hop_fastly_cnt
+	branch p_g24_transmit_rf_ctrl_clear
+
+p_g24_transmit_hop_pac_succ_wo_hop:
+	jam 2,mem_24g_sync_cnt
+p_g24_transmit_hop_pac_succ:
+	jam 1,mem_24g_rf_last_sta
+	jam 0,mem_24g_rf_hop_ch
+	branch p_g24_transmit_rf_ctrl_clear
+
+p_g24_transmit_succ_rf_config:
+	fetch 1,mem_24g_rf_work_stage
+	beq 3,p_g24_transmit_hop_pac_succ
+	fetch 1,mem_24g_data_type
+	isolate0 bit_hop,pdata
+	branch p_g24_transmit_rf_sta_init,true
+	fetch 1,mem_24g_rf_work_stage
+	beq 1,p_g24_transmit_hop_pac_succ_wo_hop
+	beq 2,p_g24_transmit_hop_pac_succ
+	rtn
+
+p_g24_rf_sta_check:
+	fetch 1,mem_24g_pairing_sm
+	rtnne STATE_24G_PAIRING_SUCCESS
+	call p_g24_rf_laststa_synccnt_check
+	ncall p_g24_rf_sync_cnt_check,user2
+	rtn
+
+p_g24_rf_laststa_synccnt_check:
+	disable user2
+	fetch 1,mem_24g_rf_last_sta
+	rtnne 1
+	fetch 1,mem_24g_sync_cnt
+	rtnne 0
+	jam 1,mem_24g_rf_work_stage
+	jam 4,mem_24g_max_retry
+	branch enable_user2
+
+p_g24_rf_sync_cnt_check:
+	fetch 1,mem_24g_sync_cnt
+	branch p_g24_rf_hop_attemp,blank
+	increase -1,pdata
+	store 1,mem_24g_sync_cnt
+	jam 2,mem_24g_rf_work_stage
+	jam 4,mem_24g_max_retry
+	branch p_g24_ch
+
+p_g24_rf_hop_attemp:
+	jam 3,mem_24g_rf_work_stage
+	fetch 1,mem_24g_rf_hop_ch
+	nbranch p_g24_rf_hop_attemp_again,blank
+	jam 2,mem_24g_max_retry
+	branch p_g24_ch
+
+p_g24_txdata_prep:
+	fetch 1,mem_24g_pairing_sm
+	bne STATE_24G_PAIRING_SUCCESS,p_g24_pairing_sm	
+p_g24_txdata_prep_packeage_data:
+	call p_g24_package_data
+p_g24_txdata_enable_tx:	
+	call p_g24_transmit_prep
+	jam ENSURE_ON_24G,mem_24g_ensure
+	rtn
+
+p_g24_package_data:
+	fetch 2,mem_cb_24g_data
+	call callback_func
+	branch p_g24_accumulate_mouse_data,user
+	fetch 7,mem_24g_txbuf+1	//mouse data
+	rtn blank
+	branch enable_user	// retransmit
+p_g24_accumulate_mouse_data:
+	call p_mouse_data_xy_release
+	jam 0,mem_24g_abort_pac
+	add rega,1,pdata
+	store 1,mem_24g_datalen
+	call p_g24_transmit_rf_ctrl_clear
+	store 1,mem_24g_txbuf
+	ifetcht 1,contw
+	ifetch 1,regb
+	ior temp,pdata
+	istore 1,contw	//key
+	increase 1,regb
+	ifetch 4,regb
+	istore 4,contw	//x,y
+	increase 4,regb
+	arg mem_24g_txbuf+6,contw
+	arg 2,loopcnt
+p_g24_accumulation_loop:
+	ifetch 1,regb
+	ifetcht 1,contw	//wheel,twheel
+	iadd temp,pdata
+	istore 1,contw
+	increase 1,regb
+	loop p_g24_accumulation_loop
+	rtn
+
+p_g24_transmit_packet:
+	jam 0,mem_24g_retry
+p_g24_transmit_loop:
+	arg param_rx_setup,timeup
+	until clkn_rt,meet
+	call p_g24_transmit_receive_ack
+	fetch 1,mem_24g_no_ack	//tx noack
+	rtneq no_ack_24g
+	nbranch p_g24_retransmit,sync
+	nbranch p_g24_retransmit,user3
+	call p_g24_txbuf_clear
+	call p_g24_ackpayload_parse
+	call power_ctrl_pac_succ_incrs
+p_g24_transmit_next_packet:
+	fetch 1,mem_24g_pid
+	increase 1,pdata
+	store 1,mem_24g_pid
+	call p_g24_hop_enable_packet	//mouse need to hop while dongle had hop
+	fetch 1,mem_24g_pairing_sm
+	bne STATE_24G_PAIRING_SUCCESS,p_g24_paring_mode_start
+	call p_g24_transmit_succ_rf_config
+p_g24_transmit_abandon:
+	setarg 0
+	store 2,mem_24g_txfail_cnt
+	store 1,mem_24g_get_ack_fail
+	store 1,mem_24g_hop_pac_retry
+	jam ENSURE_OFF_24G,mem_24g_ensure
+	rtn
+
+p_g24_txbuf_clear:
+	arg 4,loopcnt
+	arg mem_24g_txbuf,contw
+	branch memset0
+
+p_g24_hop_enable_packet:
+	fetch 1,mem_24g_data_type
+	bbit1 bit_hop,p_g24_hop_ch_disable
+	rtn
+
+p_g24_transmit_receive_ack:
+	disable user3
+	call p_g24_transmit
+	
+ifdef RF_DEBUG
+	call test_gpio_low
+endif
+
+	fetch 1,mem_24g_no_ack
+	beq no_ack_24g,p_g24_transmit_no_ack	//tx no ack
+	force 0,radio_ctrl
+	fetch 4,mem_24g_addr
+	iforce access
+	fetcht 1,mem_last_freq
+	call set_freq_rx
+	call rf_rx_enable
+	call p_g24_receive_rxon
+	call p_g24_end_of_packet,user3
+	rtn
+p_g24_transmit_no_ack:
+	call p_g24_end_of_packet
+	branch p_g24_transmit_next_packet
+
+p_g24_retransmit:
+	fetch 2,mem_24g_txfail_cnt
+	increase 1,pdata
+	store 2,mem_24g_txfail_cnt	
+	fetch 1,mem_24g_txfail_cnt+1
+	bbit1 4,g24_stop_24g_mode
+
+	fetch 1,mem_24g_pairing_sm
+	bne STATE_24G_PAIRING_SUCCESS,p_g24_tx_paring_retry
+
+	call p_g24_tx_hop_ch_process
+	branch p_g24_transmit_loop
+
+p_g24_tx_paring_retry:
+	fetch 1,mem_24g_txfail_cnt
+	rtnne 0xff
+p_g24_tx_attempt_fail:
+	setarg 0
+	store 2,mem_24g_txfail_cnt
+	branch g24_stop_24g_mode
+
+ifdef G24_NEW_RF_HOP
+p_g24_tx_fast_hop:
+	call power_ctrl_txpower_incrs
+	call power_ctrl_pac_succ_decrs
+	branch p_g24_ch
+
+p_g24_tx_hop_ch_process:
+	fetch 1,mem_24g_retry
+	sub pdata,11,null
+	nbranch  p_g24_tx_fast_hop,positive		// >= 6+6 hop fast    fail packet count >= 2
+	increase 1,pdata
+	store 1,mem_24g_retry
+	beq 2,p_g24_hop_ch_enable
+	beq 6,p_g24_hop_ch_disable
+	beq 8,p_g24_hop_ch_enable
+	beq 12,p_g24_hop_ch_disable
+	rtn
+endif
+
+p_g24_ackpayload_parse:
+	call p_g24_read_len_pid_crc
+	fetch 1,mem_24g_rxdata_length	//ack payload length 
+	rtn blank
+	iforce loopcnt
+	arg mem_24g_rxbuf+2,contr
+	arg mem_24g_rxpayload,contw	//ack payload buffer 
+	branch memcpy
+
+p_g24_pair_init:
+	jam TX_POWER_PAIR,mem_tx_power
+	jam 0,mem_24g_pid
+	jam G24_PAIR_CH,mem_24g_ch
+	fetch 4,mem_24g_paring_addr
+//	branch p_g24_update_addr_and_synccrc8
+p_g24_update_addr_and_synccrc8:	
+	store 4,mem_24g_addr
+//output: 1BYTE crc8
+p_g24_syncword_crc8:
+	arg 0,rega
+	arg 4,loopcnt
+	arg mem_24g_addr,contr
+p_g24_syncword_crc8_loop:
+	ifetch 1,contr
+	iadd rega,rega
+	loop p_g24_syncword_crc8_loop
+	copy rega,pdata
+	store 2,mem_24g_syncword
+	fetch 1,mem_24g_syncword
+	fetcht 1,mem_24g_syncword+1
+	iadd temp,pdata
+	store 1,mem_24g_syncword_crc8
+	rtn
+
+p_g24_pairing_sm:
+	fetch 1,mem_24g_ensure
+	beq ENSURE_ON_24G,enable_user
+	fetch 1,mem_24g_pairing_sm
+	beq STATE_24G_PAIRING_1,p_g24_pairing_sm_1
+	beq STATE_24G_PAIRING_2,p_g24_pairing_sm_2
+	beq STATE_24G_PAIRING_3,p_g24_pairing_sm_3
+	branch assert
+
+p_g24_pairing_sm_1:
+	jam STATE_24G_PAIRING_1_WAITING_ACK,mem_24g_pairing_sm
+	jam 0xaa,mem_24g_common_temp
+	branch p_g24_pairing_sm_common
+p_g24_pairing_sm_2:
+	jam STATE_24G_PAIRING_2_WAITING_ACK,mem_24g_pairing_sm
+	jam 0x55,mem_24g_common_temp
+	branch p_g24_pairing_sm_common
+p_g24_pairing_sm_3:
+	jam STATE_24G_PAIRING_3_WAITING_ACK,mem_24g_pairing_sm
+	jam 0x22,mem_24g_common_temp
+p_g24_pairing_sm_common:
+	fetch 1,mem_24g_data_type
+	and_into bits_data,pdata
+	store 1,mem_24g_common_temp+1
+	fetch 4,mem_24g_device_addr
+	store 4,mem_24g_common_temp+2
+p_g24_put_pairing_data_in_buff:
+	jam 0,mem_24g_common_temp+6
+	arg mem_24g_common_temp,rega
+	arg 7,temp
+	call p_g24_put_data_in_buff
+	call p_g24_txdata_enable_tx
+	branch enable_user
+
+p_g24_paring_mode_start:
+	call power_ctrl_pac_succ_cnt_init
+p_g24_paring_mode:
+	fetch 1,mem_24g_pairing_sm
+	rtneq STATE_24G_PAIRING_SUCCESS
+	beq STATE_24G_PAIRING_1_WAITING_ACK,p_g24_pairing_sm_1_waiting_ack
+	beq STATE_24G_PAIRING_2_WAITING_ACK,p_g24_pairing_sm_2_waiting_ack
+	beq STATE_24G_PAIRING_3_WAITING_ACK,p_g24_pairing_sm_3_waiting_ack
+	rtn
+
+
+p_g24_pairing_sm_1_waiting_ack:
+	jam STATE_24G_PAIRING_2,mem_24g_pairing_sm
+	branch p_g24_transmit_abandon
+p_g24_pairing_sm_2_waiting_ack:
+	jam STATE_24G_PAIRING_3,mem_24g_pairing_sm
+	branch p_g24_transmit_abandon
+p_g24_pairing_sm_3_waiting_ack:
+	jam STATE_24G_PAIRING_SUCCESS,mem_24g_pairing_sm
+	jam BT_EVT_24G_PAIRING_COMPLETE,mem_fifo_temp
+	call ui_ipc_send_event	
+	fetch 4,mem_24g_rxpayload+2
+	call p_g24_update_addr_and_synccrc8
+	branch p_g24_transmit_abandon
+
+p_g24_tx_attemp_data_prep:
+	jam 0xff,mem_24g_common_temp
+	fetch 1,mem_24g_data_type
+	store 1,mem_24g_common_temp+1
+	fetch 4,mem_24g_device_addr
+	store 4,mem_24g_common_temp+2
+	arg 6,temp
+	arg mem_24g_common_temp,rega
+	call p_g24_put_data_in_buff
+	branch p_g24_transmit_prep
+	
+p_g24_auto_pair_timeout_clear:
+	setarg 0
+	store 2,mem_g24_stop_g24_mode_timeout
+	jam 0,mem_g24_stop_g24_mode
+	rtn
+
+p_g24_auto_pair_all_powerful:
+	jam TX_POWER_PAIR,mem_tx_power
+	setarg 0x0f0f
+	store 2,mem_24g_addr
+	istore 2,contw
+	fetch 1,mem_24g_powerful_current_ch_num
+	store 1,mem_24g_current_ch_number
+	call p_g24_ch_syncword_crc8_init
+	storet 1,mem_24g_powerful_current_ch_num
+	rtn
+
+p_g24_check_51cmd_stop_24g:
+	set0 mark_24g,mark
+	call le_disable
+p_mouse_disable_g24_pairing_flag:
+	arg MOSUE_24G_PAIRING_FLAG,queue
+	branch mouse_disable_function_flag
+
+p_g24_put_data_in_buff:
+	storet 1,mem_24g_datalen
+	copy temp,loopcnt
+	arg mem_24g_txbuf,contw
+	copy rega,contr
+	branch memcpy
+
+p_g24_read_len_pid_crc:
+//read control
+	fetch 1,mem_24g_rxbuf+1
+	rshift3 pdata,pdata
+	store 1,mem_24g_rxdata_length
+//get crc
+	increase 1,pdata
+	arg mem_24g_rxbuf+1,contr
+	iadd contr,contr
+	ifetch 3,contr
+	store 3,mem_24g_sta_crc
+//read pid
+	fetch 1,mem_24g_rxbuf+1
+	rshift pdata,pdata
+	and pdata,0x03,pdata
+	store 1,mem_24g_sta_pid
+	rtn
+
+p_g24_transmit_prep:
+ifdef P24G_LOG
+	fetch 1,mem_24g_paccnt
+	increase 1,pdata
+	store 1,mem_24g_paccnt
+endif
+
+// total length
+	fetch 1,mem_24g_datalen
+	increase 2,pdata
+	store 1,mem_24g_txlen
+// data type
+	fetch 1,mem_24g_data_type
+	store 1,mem_24g_txpayload
+//prepare 5bit payload length, 2bit PID, 1bit NO_ACK
+	fetch 1,mem_24g_datalen
+	lshift3 pdata,pdata
+	fetcht 1,mem_24g_pid
+	and temp,0x03,temp
+	lshift temp,temp
+	ior temp,pdata
+	fetcht 1,mem_24g_no_ack
+	iadd temp,pdata
+	istore 1,contw
+//prepare payload data
+	fetch 1,mem_24g_datalen
+	iforce loopcnt
+	arg mem_24g_txbuf,contr
+	branch memcpy
+
+p_g24_ch_map_size:
+	call p_g24_ch_calc
+	increase 1,temp
+	and_into 3,temp //map size =4
+	rtn
+	
+p_g24_ch_calc:
+	fetch 1,mem_24g_addr	
+	and_into 0x03,pdata
+	mul32 pdata,4,rega			//24addr low bit0 bit1 ,00-map1,01-map2,10-map3,11-map4
+	setarg mem_24g_ch_map1
+	iadd rega,pdata
+	iadd temp,contr
+	ifetch 1,contr
+	store 1,mem_24g_ch
+	rtn
+
+p_g24_prep:
+	disable enable_crc
+	disable enable_white
+	setarg 0x555555
+	iforce crc24_init
+	fetch 1,mem_24g_ch
+	reverse pdata,temp
+	set1 1,temp
+	rshift temp,white_init
+	rtn
+
+//p_g24_receive_packet:
+//	call le_enable
+//	fetch 4,mem_24g_addr
+//	iforce access
+//	call set_sync_on
+//	fetcht 1,mem_24g_ch
+//	call set_freq_rx
+//	setarg param_pll_setup
+//	call sleep
+//	call rf_rx_enable
+p_g24_receive_rxon:
+
+ifdef RF_DEBUG
+	call test_h_l_h
+endif
+
+	call p_g24_prep
+	disable user3
+	enable decode_fec0
+	enable is_rx
+	disable is_tx
+	enable swfine
+	fetch 2,mem_24g_rx_window
+	iforce stop_watch
+	correlate null,timeout
+	nbranch p_g24_sync_timeout,sync
+
+ifdef RF_DEBUG
+	call test_gpio_low
+	call test_gpio_high
+endif
+
+	disable decode_fec0
+	enable decode_fec1
+	enable enable_white
+	enable enable_crc
+	call p_g24_receive_byte
+	store 1,mem_24g_get_syncword_crc8
+	fetcht 1,mem_24g_syncword_crc8
+	isub temp,null
+	nbranch p_g24_end_of_packet,zero
+	call p_g24_receive_byte
+	store 1,mem_24g_rxbuf	//device id
+	fetch 1,mem_24g_mode
+	sub pdata,rx_24g,null
+	branch p_g24_receive_skip,zero
+	fetch 1,mem_24g_rxbuf
+	fetcht 1,mem_24g_data_type
+	icompare bits_data,temp
+	nbranch p_g24_end_of_packet,true
+p_g24_receive_skip:
+	call p_g24_receive_byte
+	istore 1,contw
+	rshift3 pdata,pdata
+	and pdata,0x1f,loopcnt	//max payload: 32bytes
+	branch p_g24rx_nopayload,zero
+p_g24rx_loop:
+	call p_g24_receive_byte
+	istore 1,contw
+	loop p_g24rx_loop
+p_g24rx_nopayload:
+ifdef MOUSE
+	//receive rssi hex
+	copy contw,rega
+	call p_g24_receive_byte
+	store 1,mem_rssi_hex_received
+	copy rega,contw
+endif
+	parse demod,bucket,24
+	enable swfine
+	arg param_sifs,stop_watch	
+	rshift32 pdata,pdata
+	rshift16 pdata,pdata
+	istore 3,contw
+	disable decode_fec1
+ifdef DONGLE
+	call save_rssi
+endif	
+	branch p_g24_end_of_packet,crc_failed
+
+ifdef RF_DEBUG
+	call test_gpio_low
+	call test_gpio_high
+endif
+
+	enable user3
+	fetch 1,mem_last_freq
+	add pdata,0,rega
+	call rf_write_freq
+	disable decode_fec0
+	call set_sync_on
+ifdef DONGLE
+	rtn
+endif
+ifdef MOUSE
+	fetch 1,mem_rssi_hex_received
+	call p_rssi_signal
+endif
+	rtn
+
+p_g24_receive_byte:
+	parse demod,bucket,8
+	rshift3 pwindow,pdata
+	rtn
+	
+p_g24_sync_timeout:
+//ifdef DONGLE
+//	call p_rssi_noise
+//endif
+p_g24_end_of_packet:
+	disable encode_fec1
+	disable decode_fec1
+	call end_of_packet
+ifdef RF_DEBUG
+	call test_gpio_low
+endif
+	rtn
+
+p_g24_set_freq_tx:
+	call set_sync_on
+	fetcht 1,mem_24g_ch
+	branch set_freq_tx
+
+p_g24_transmit:
+	call le_enable
+	fetch 4,mem_24g_addr
+	iforce access
+	call p_g24_prep
+	call p_g24_set_freq_tx
+	set1 TXGFSK,radio_ctrl
+	enable encode_fec0
+	enable is_tx
+	disable is_rx
+
+ifdef RF_DEBUG
+	call test_gpio_high
+endif
+	
+	rshift16 access,pdata
+	rshift8 pdata,pdata
+	rshift4 pdata,pdata
+	inject mod,40
+	disable encode_fec0
+	enable encode_fec1
+	enable enable_white
+	enable enable_crc
+	fetch 1,mem_24g_syncword_crc8
+	inject mod,8
+	fetch 1,mem_24g_txlen
+	iforce loopcnt
+	arg mem_24g_txpayload,contr
+p_g24tr_loop:
+	ifetch 1,contr
+	inject mod,8
+	loop p_g24tr_loop
+ifdef DONGLE
+	fetch 1,mem_rssi_hex
+	inject mod,8
+endif
+
+ifdef P24G_LOG	
+	fetch 1,mem_tx_power
+	inject mod,8
+	fetch 1,mem_rssi_avg_received
+	inject mod,8
+	fetch 1,mem_24g_paccnt
+	inject mod,8
+endif
+
+	enable enable_parity
+	inject mod,24	//crc
+	disable enable_parity
+	until null,tx_clear
+	nop 100
+	disable encode_fec0
+	disable encode_fec1
+	rtn
+
+p_g24_timer_check:
+	call disable_user
+	fetcht 4,mem_24g_tx_btclk
+	copy clkn_bt,pdata
+	isub temp,null
+	ncall g24_timer_timeout,positive
+	copy pdata,regb
+	fetch 4,mem_24g_tx_btclk
+	fetcht 1,mem_24g_interval
+	iadd temp,temp
+	copy regb,pdata
+	isub temp,null
+	nrtn positive
+	set0 28,pdata
+	store 4,mem_24g_tx_btclk
+	branch enable_user
+
+//p_rssi_noise:
+//	call save_rssi
+//	rtn blank
+//	fetcht 1,mem_rssi_noise_index
+//	arg mem_rssi_noise_buffer,rega
+//	call p_rssi_store
+//	storet 1,mem_rssi_noise_index
+//	rtn
+	
+//p_rssi_store:
+//	copy rega,pdata
+//	iadd temp,contw
+//	fetch 1,mem_rssi
+//	istore 1,contw
+//	increase 1,temp
+//ifdef DONGLE
+//	and_into RSSI_BUF_LEN_NOISE,temp
+//endif
+//ifdef MOUSE
+//	and_into RSSI_BUF_LEN_SIGNAL,temp
+//endif
+//	rtn
+p_rssi_average:
+	arg 0,temp
+ifdef DONGLE
+	arg RSSI_BUF_LEN_NOISE+1,loopcnt
+endif
+ifdef MOUSE
+	arg RSSI_BUF_LEN_SIGNAL+1,loopcnt
+endif
+	copy rega,contr
+ifdef DONGLE
+	branch rssi_average_loop
+endif
+ifdef MOUSE
+p_rssi_average_loop:
+	ifetch 1,contr
+	iadd temp,temp
+	loop p_rssi_average_loop
+	rshift3 temp,pdata
+	copy pdata,temp
+	rtnmark0 mark_24g
+	//2BCD
+	div pdata,10
+	call wait_div_end
+	quotient pdata
+	lshift4 pdata,pdata
+	remainder temp
+	ior temp,temp
+	rtn
+endif
+	rtn
+
+endif
+
+p_mouse_before_lpm:
+	rtnmark1 mark_24g
+	call p_mouse_le_txbuff_save
+	call p_mouse_setgpio_lpm
+	fetch 1,mem_context
+	bbit0 state_inconn,p_clear_wake
+	fetch 1,mem_lpm_current_mult
+	nrtn blank
+p_clear_wake:
+	setarg 0
+	store 8,mem_gpio_wakeup_low
+	rtn
+
+p_mouse_setgpio_lpm:
+	call p_mouse_set_sdio_high
+	call p_clear_wake
+	call mouse_lpm_before_common
+	hfetch 4,core_gpio_oe0
+	hfetcht 4,core_gpio_pu0
+	ior temp,temp
+	invert temp,temp
+	hstoret 4,core_gpio_pd0
+	rtn
+	
+
+p_mouse_set_sdio_high:
+	fetch 1,mem_mouse_init_sensor_reset_flag
+	rtn blank
+	branch p_mouse_seting_dpi_diff// make sdio high to make 100uA less	
+
+p_device_init:
+ifdef DEBUGLOG
+	call debuglog_init
+ifdef DEBUGLOG_STATUS
+	setarg DEBUGLOG_DTYPE_STATUS
+	store 2,mem_debuglog_datatype
+	setarg STATUS_LPM_WAKE
+	store 2,mem_debuglog_dataval
+	call debuglog_push
+endif
+endif
+	call app_lpm_mult_enable
+	branch p_device_init_common,wake
+ifdef DEBUGLOG
+ifdef DEBUGLOG_STATUS
+	setarg DEBUGLOG_DTYPE_STATUS
+	store 2,mem_debuglog_datatype
+	setarg STATUS_CODE_WAKE
+	store 2,mem_debuglog_dataval
+	call debuglog_push
+endif
+endif
+ifdef BLE
+	call p_mouse_data_init
+endif
+	fetch 1,mem_tx_power
+	store 1,mem_tx_power_temp
+	call power_ctrl_pac_succ_cnt_init
+	fetch 1,mem_ui_button_timeout
+	store 1,mem_combination_ui_button_count	//combination key timer init
+	call mouse_bt_discovery_button_down_disable
+ifdef BLE_FAST_CONN_ENABLE
+	fetch 3,mem_le_lap+3
+	store 3,mem_le_lap_high_3B
+endif
+p_device_init_common:
+	call p_mouse_init
+	branch enable_authrom
+
+p_mouse_init:
+	ncall p_mouse_setting_config,wake
+	call p_mouse_spi_init
+	rtn wake
+ifdef RF_DEBUG
+	call test_gpio_init
+endif
+ifdef MOUSE_SMOOTHER	
+	call p_drawing_optima_init
+endif
+	call p_mouse_cb_fuction
+ifdef G24
+	call p_mouse_check_key_gpio
+	beq MOUSE_LM_BUTTON,p_mouse_24g_pairing_button
+endif
+	call p_mouse_wakeup_from_power
+p_mouse_check_reconn_target:
+	call p_mouse_tx_power_init
+	fetch 1,mem_device_flag
+	beq MODE_24G_DEVICE,p_mouse_connect_24g_mode
+	beq 0xff,p_mouse_connect_24g_mode
+p_mouse_check_bt_reconn_target:
+	call p_mouse_mode_bt_device1_multi_led_on
+	fetch 1,mem_xrecord_mode
+ifdef CLASSIC_BT
+	beq REC_3_MODE,p_mouse3_0_check_reconn_target
+endif
+ifdef BLE
+	beq REC_4_MODE,p_mouse4_0_check_reconn_target
+endif
+
+	//enter hibernate if it is in its factory state
+p_mouse_null_enter_hibernate_enable:	//ble never connected
+	jam 1,mem_mouse_null_enter_hibernate_flag
+	jam 40,mem_mouse_null_enter_hibernate_timer	//lmr 3s
+	rtn
+
+p_mouse_tx_power_init:
+	fetch 1,mem_tx_power_temp
+	store 1,mem_tx_power
+	rtn
+
+p_mouse_connect_24g_mode:
+	call p_mouse_mode_24g_device_multi_led_on
+	call p_mouse_store_24g_device_2eeprom
+p_mouse_start_24g_mode:
+//	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+//	rtnbit0 MOUSE_ENABLE_24G
+	call p_g24_factory_check
+	branch p_g24_auto_pair_start,user
+p_g24_start_24g_mode:
+	set1 mark_24g,mark
+	fetch 1,mem_g24_conn_sm
+	set1 STATE_24G_RECONN,pdata
+	store 1,mem_g24_conn_sm
+	call p_g24_ch_syncword_crc8_init
+	branch p_g24_auto_pair_timeout_init
+
+
+ifdef CLASSIC_BT
+p_mouse3_0_check_reconn_target:
+//	call p_mouse_mode_bt_device1_multi_led_on
+//	call p_mouse_mode_bt_device1_led_blink
+	fetch 6,mem_hci_plap
+	branch app_bt_start_discovery_short,blank
+	branch mouse3_0_check_reconn_target+3
+endif	
+
+ifdef BLE
+p_mouse4_0_check_reconn_target:
+//	call p_mouse_mode_bt_device1_multi_led_on
+//	call p_mouse_mode_bt_device1_led_blink
+	jam 1,mem_le_send_security_request_flag
+	jam 1,mem_mouse_le_reconnect_flag
+	fetch 2,mem_mouse_direct_timeout
+ifdef BLE_FAST_CONN_ENABLE
+	fetcht 1,mem_mouse_fast_conn_flag
+	sub temp,0xff,null
+	nbranch p_mouse4_0_check_reconn_target_next,zero
+	setarg 0x0258								//ble fast conn time 1min
+endif
+p_mouse4_0_check_reconn_target_next:
+	store 2,mem_mouse_direct_timer
+	call app_lpm_mult_disable
+	call p_le_check_adv_flag
+	setarg ADV_FLAG_BREDR_NOT_SUPPORTED
+	istore 1,contr
+
+	arg mem_le_scan_data,contr
+	call p_le_adv_data_update
+	
+	branch check_51cmd_adv
+
+p_le_check_adv_flag:
+	arg mem_le_adv_data,rega
+p_le_check_adv_flag_loop:
+	ifetch 1,rega	//length
+	rtn blank
+	iadd contr,rega
+	ifetch 1,contr	//type
+	rtneq 0x01
+	branch p_le_check_adv_flag_loop
+endif
+
+ifdef G24
+p_mouse_24g_pairing_button:
+//	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+//	rtnbit0 MOUSE_ENABLE_24G
+//	rtnbit1 MOSUE_24G_PAIRING_FLAG
+
+	fetch 1,mem_g24_conn_sm
+	bbit1 STATE_24G_RECONN,p_mouse_24g_pairing_button_next
+	rtnmark1 mark_24g
+p_mouse_24g_pairing_button_next:
+//	call mouse_devce_led_off
+	arg MOSUE_24G_PAIRING_FLAG,queue
+	call mouse_enable_function_flag
+	setarg 0
+	store 2,mem_mouse_direct_timer
+	store 1,mem_mouse_send_blank_timer
+	store 2,mem_24g_check_dongle_times
+	call mouse_stop_discovery
+	jam MODE_24G_DEVICE,mem_device_flag
+//	branch p_g24_auto_pair_start
+p_g24_auto_pair_start:
+	set1 mark_24g,mark
+	fetch 1,mem_g24_conn_sm
+	set1 STATE_24G_PAIR,pdata
+	store 1,mem_g24_conn_sm
+p_g24_auto_pair_timeout_init:
+	setarg G24_DISCONN_NODATA_TIMER
+	store 2,mem_g24_stop_g24_mode_timeout
+	jam 0,mem_g24_stop_g24_mode
+	rtn
+	
+p_g24_start_pairing_sm1:
+	set1 mark_24g,mark
+	call p_g24_pair_init
+p_g24_set_pairing_sm_1:
+	jam STATE_24G_PAIRING_1,mem_24g_pairing_sm
+	rtn
+endif
+
+p_mouse_spi_init:
+	jam 0x76,mem_spi_init_clk
+	branch mouse_spi_init
+	
+p_mouse_init_sunt:
+	call p_mouse_spi_init
+	call mouse_spi_sdio_gpio_pollup
+//	fetch 1,mem_config_sensor_type
+//	beq P3610,mouse_init_3610sensor
+p_mouse_init_sensor:
+	call mouse_read_sensor_id
+	beq P32XX_ID1,p_mouse_init_p32xx_id2_judge
+	beq P3065_ID1,p_mouse_p3065_init_param
+	call mouse_twspi_reset
+	nop 1000
+	branch p_mouse_init_sensor
+
+p_mouse_init_sensor_reset:
+	jam 1,mem_mouse_init_sensor_reset_flag
+	call spi_ncs_enable
+	call p_mouse_init_sunt
+	branch spi_ncs_disable
+
+p_mouse_init_p32xx_id2_judge:
+	call p_mouse_sensor_poweron
+	branch mouse_init_p32xx_id2_judge
+
+p_mouse_p3065_init_param:
+	call p_mouse_sensor_poweron
+	fetch 1,mem_sensor_id2
+	beq P3065_XY_ID2,mouse_p3065xy_init_param
+	jam P3065,mem_config_sensor_type
+	rtn
+
+p_mouse_setting_config:
+ifdef G24
+	fetch 4,mem_lap
+	store 4,mem_24g_device_addr
+endif
+	//disable usb function
+//	hfetch 1,core_usb_config
+//	set0 4,pdata
+//	hstore 1,core_usb_config
+	call mouse_gpio_init
+	call mouse_param_init
+ifdef CLASSIC_BT	
+	call p_mouse_bt_sdp_update
+endif	
+	setarg 0
+	store 2,mem_lpm_interval
+ifdef ADC_ENABLE
+	call adc_init_data
+	call mouse_adc_init
+endif
+ifdef BLE	
+	call le_set_config_fixed_ltk
+	call le_set_justwork
+	call le_set_fixed_ltk
+	call le_set_config_read_authentication
+endif	
+//	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+//	bbit1 MOUSE_ENABLE_EEPROM,p_mouse_init_iic
+//	bbit1 MOUSE_ENABLE_FLASH,p_mouse_load_flash_info_cheak
+//	rtn
+p_mouse_init_iic:
+	call iic_init_390k
+//	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+//	isolate1 MOUSE_ENABLE_2K_EEPROM,pdata
+	call clear_eeprom_size_2k
+	call mouse_load_eeprom_dpi
+	call p_mouse_init_environment
+	call p_mouse_set_24g_addr_eeprom
+	call iicd_read_eep_data
+ifdef BLE_FAST_CONN_ENABLE
+	arg 3,loopcnt
+	arg mem_device1_addr,contr
+	call p_pdata_0xff_check
+	nbranch p_mouse_le_fast_conn_disable,user
+	call p_mouse_fast_conn_init
+endif
+	rtn
+
+ifdef BLE_FAST_CONN_ENABLE
+p_mouse_le_fast_conn_disable:
+	jam 0x5a,mem_mouse_fast_conn_flag
+	rtn
+
+p_mouse_fast_conn_init:
+	jam 0xff,mem_mouse_fast_conn_flag
+	jam 0x34,mem_xrecord_mode
+	setarg 0x0f0f0f
+	store 3,mem_le_lap
+	store 3,mem_le_lap+3
+	rtn	
+endif
+
+
+ifdef CLASSIC_BT
+p_mouse_bt_sdp_update:
+	call enable_authrom
+	arg 0x8c00,contr
+	arg mem_mouse_uuid_list,contw
+	arg 369,loopcnt
+	call memcpy
+	//Attribute: HID SSR Host Max Latency
+	setarg 0x0f0209
+	istore 3,contw
+	setarg 0x120009
+	istore 3,contw
+	//Attribute: HID SSR Host Min Timeout
+	setarg 0x100209
+	istore 3,contw
+	setarg 0x000009
+	istore 3,contw
+	arg 0x8d71,contr
+	arg 265,loopcnt
+	call memcpy
+	
+	jam 0,mem_mouse_uuid_list+23	//Service Record Handle: 0x 00 01 00 00
+	jam 0x6d,mem_mouse_uuid_list+15	//total length
+	setarg 0x401f
+	store 2,mem_mouse_uuid_list+357	//timeout
+	setarg 0x6d04
+	store 2,mem_mouse_uuid_list+462	//VID
+	setarg 0x16b0
+	store 2,mem_mouse_uuid_list+468	//PID
+
+	setarg mem_mouse_uuid_list				//bt sdp start address
+	store 2,mem_ui_uuid_table
+	rtn
+endif	
+
+p_mouse_init_environment:
+	call app_initflag_check
+	branch p_mouse_eeprom_load_recon_info,zero
+ifdef BLE
+	call p_le_addr_random_config
+endif
+	branch mouse_init_environment+2
+
+p_app_flag_store:
+	arg 2,temp
+	arg mem_timeup,rega
+	arg MOUSE_EEPROM_MODULE_INIT_FLAG,regb
+	branch iicd_write_protect_eep_data
+
+p_app_initflag_check:
+	arg 2,temp
+	arg mem_pdatatemp,rega
+	arg MOUSE_EEPROM_MODULE_INIT_FLAG,regb
+	branch app_initflag_check+4
+
+p_mouse_eeprom_load_recon_info:
+	arg 88,temp
+	arg mem_device_flag,rega
+	arg MOUSE_INFO_EEPROM_OFFECT,regb
+	call iicd_read_eep_data
+	call p_mouse_switch_Hwakeup_byPB
+	branch mouse_select_reconn_device
+
+p_mouse_wakeup_from_power:
+//	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+//	bbit0 MOUSE_ENABLE_WAKEUP_FROM_POWER,p_mouse_wakeup_no_from_power
+//	fetch 1,mem_wakup_from_power_flag
+//	isolate0 gpio_latch,pdata
+//	nbranch p_mouse_wakeup_no_from_power,true
+	call p_mouse_init_sunt
+	call p_mouse_sensor_powerdown
+p_mouse_wakeup_no_from_power:
+//	fetch 1,mem_reconn_times_init
+	jam 0,mem_reconn_times
+	rtn
+	
+p_g24_factory_check:
+	arg 2,loopcnt
+	arg mem_24g_addr,contr
+p_pdata_0xff_check:
+	call enable_user
+	setarg 0xffff
+p_pdata_0xff_check_loop:
+	ifetcht 2,contr
+	isub temp,null
+	ncall disable_user,zero
+	loop p_pdata_0xff_check_loop
+	rtn
+
+p_mouse_cb_fuction:
+ifdef G24
+	setarg p_mouse_g24_package_data
+	store 2,mem_cb_24g_data
+endif	
+ifdef BLE
+	setarg p_mouse_le
+	store 2,mem_cb_le_process
+	setarg p_le_mouse_bb_event_connect_complete
+	store 2,mem_cb_att_write
+endif
+ifdef CLASSIC_BT
+	setarg p_mouse_bt
+	store 2,mem_cb_bt_process
+endif	
+	setarg p_mouse_before_lpm
+	store 2,mem_cb_before_lpm
+	setarg p_mouse_priority_bb_event
+	store 2,mem_cb_bb_event_process
+	setarg p_mouse_idle
+	store 2,mem_cb_idle_process
+	setarg p_mouse_before_hibernate
+	store 2,mem_cb_before_hibernate
+	setarg p_mouse_bb_event_timer
+	store 2,mem_cb_event_timer
+	rtn
+
+ifdef G24
+p_mouse_g24_package_data:
+	call mouse_g24_package_data
+	fetch 2,mem_mouse_z
+	rtn blank
+	branch p_g24_transmit_by_interrupt_enable
+endif	
+	
+ifdef BLE
+p_mouse_le_txbuff_save:
+	arg mem_le_tx_buffer0,contr
+	arg mem_le_tx_buffer0_omemalloc,contw
+	call p_mouse_le_txbuff_copy
+	arg mem_le_tx_buffer1,contr
+	call p_mouse_le_txbuff_copy
+	arg mem_le_tx_buffer2,contr
+	call p_mouse_le_txbuff_copy
+	arg mem_le_tx_buffer3,contr
+p_mouse_le_txbuff_copy:	
+	arg 27,loopcnt
+	branch memcpy
+
+p_mouse_le_txbuff_load:
+	arg mem_le_tx_buffer0_omemalloc,contr
+	arg mem_le_tx_buffer0,contw
+	call p_mouse_le_txbuff_copy
+	arg mem_le_tx_buffer1,contw
+	call p_mouse_le_txbuff_copy
+	arg mem_le_tx_buffer2,contw
+	call p_mouse_le_txbuff_copy
+	arg mem_le_tx_buffer3,contw
+	branch p_mouse_le_txbuff_copy
+
+p_mouse_le:
+	call le_fifo_check_nearly_full
+	nrtn blank
+ifdef BLE_FAST_CONN_ENABLE
+	fetch 1,mem_mouse_fast_conn_flag
+	beq 0xff,p_mouse_le_next
+endif
+	fetch 1,mem_le_connect_status_flag
+	and pdata,0x03,pdata
+	rtnne 0x03
+p_mouse_le_next:	
+	fetch 1,mem_mouse_clear_sensor_data_flag
+	call p_mouse_clear_sensor_data,blank
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+//	bbit1 MOSUE_24G_PAIRING_FLAG,mouse_le_send_empty_packet
+//	bbit1 MOUSE_SELECT_DEVICE_FLAG,mouse_le_send_empty_packet
+	bbit1 MOUSE_BT_DISCOVERY_BUTTON_DOWN_FLAG,mouse_le_send_empty_packet
+	call mouse_motion
+	nrtn user
+	call p_mouse_le_current_mult_update
+	call p_mouse_data_xy_release
+	call p_mouse_wheel_trigger
+p_mouse_data_push:
+	arg mem_mouse_key,rega
+	call queue_push
+	call p_mouse_queue_increase,user
+	
+ifdef DEBUGLOG
+ifdef DEBUGLOG_MISC
+	setarg DEBUGLOG_DTYPE_MISC
+	store 2,mem_debuglog_datatype
+	setarg MISC_LOST_MOUSEDATA
+	store 2,mem_debuglog_dataval
+	nbranch debuglog_push,user
+
+	setarg MISC_PUSH_MOUSEDATA
+	store 2,mem_debuglog_dataval
+	call debuglog_push
+endif
+endif
+	rtn
+	
+p_mouse_le_current_mult_update:
+//	fetch 1,mem_config_function_enable
+//	rtnbit1 ENABLE_SENSOR_MOTION_PIN
+	jam 0,mem_lpm_mult
+	jam 30,mem_mouse_le_current_mult_timer
+	rtn	
+
+p_mouse_data_xy_release:
+//	fetch 1,mem_config_function_enable
+//	rtnbit1 ENABLE_SENSOR_MOTION_PIN
+	fetch 1,mem_mouse_long_mult_flag
+	rtnne 1
+	setarg 0
+	store 1,mem_mouse_long_mult_flag
+	store 4,mem_mouse_x
+p_mouse_sensor_poweron:
+	setarg 0x8006	// reset to factory settings
+	call twspi_write
+	nop 12000
+p_mouse_dpi_config:
+	fetch 1,mem_mouse_dpi
+	bne 0xff,p_mouse_seting_dpi
+p_mouse_dpi_config_default:
+	fetch 1,mem_config_sensor_motion
+	store 1,mem_mouse_dpi
+//	branch p_mouse_seting_dpi
+p_mouse_seting_dpi:
+p_mouse_seting_dpi_diff:
+	fetch 1,mem_config_sensor_type
+	beq P3065_XY,p_mouse_seting_3065XY_dpi
+	branch mouse_seting_dpi+3
+
+p_mouse_seting_3065XY_dpi:
+	fetch 1,mem_mouse_dpi
+	call p_mouse_3065xy_dpi_recount,blank
+	fetch 1,mem_mouse_dpi
+	beq MOUSE_DPI_LEVEL2,p_mouse_3065_set_cpi1			//800
+	beq MOUSE_DPI_LEVEL4,mouse_set_cpi3				//1600
+	branch mouse_set_cpi2								//1300
+p_mouse_3065xy_dpi_recount:
+	jam MOUSE_DPI_LEVEL2,mem_mouse_dpi
+	rtn
+p_mouse_3065_set_cpi1:	
+	jam 0,mem_mouse_cpi_count
+	branch mouse_p3205_dpi+3
+	
+p_mouse_data_init:
+	jam 7,mem_mouse_data_queue	//data length
+	jam 4,mem_mouse_data_queue+1	//fifo depth
+	setarg mem_mouse_data_queue
+	store 2,mem_queue_ptr
+	branch queue_init
+
+p_mouse_queue_increase:
+	fetch 1,mem_mouse_data_queue_num
+	increase 1,pdata
+	store 1, mem_mouse_data_queue_num
+	rtn
+	
+p_mouse_data_pull:
+	arg mem_mouse_key,rega
+	call queue_pop
+	branch p_mouse_fill_data_le,user
+	rtn
+
+p_mouse_fill_data_le:
+ifdef DEBUGLOG
+ifdef DEBUGLOG_MISC
+	setarg DEBUGLOG_DTYPE_MISC
+	store 2,mem_debuglog_datatype
+	setarg MISC_PULL_MOUSEDATA
+	store 2,mem_debuglog_dataval
+	call debuglog_push
+
+	setarg DEBUGLOG_DTYPE_MISC
+	store 2,mem_debuglog_datatype
+	fetch 1,mem_mouse_x
+	store 1,mem_debuglog_dataval
+	fetch 1,mem_mouse_y
+	store 1,mem_debuglog_dataval+1
+	call debuglog_push
+endif
+endif
+	call le_clear_md
+	fetch 1,mem_mouse_data_queue_num
+	sub pdata,1,null
+	ncall le_set_md,positive
+	fetch 1,mem_mouse_data_queue_num
+	rtn blank
+	increase -1,pdata
+	store 1, mem_mouse_data_queue_num
+	branch mouse_fill_data_le
+endif
+
+p_mouse_wheel_trigger:
+	fetch 2,mem_mouse_z
+	rtn blank
+	jam 1,mem_mouse_wheel_trigger
+	jam 2,mem_mouse_wheel_trigger_timer
+	rtn
+
+ifdef CLASSIC_BT
+p_mouse_bt:
+	rtn attempt
+	fetch 1,mem_app_handshake_flag
+	rtn blank
+	call l2cap_malloc_is_fifo_nearly_full
+	nrtn blank
+	fetch 1,mem_mouse_clear_sensor_data_flag
+	call p_mouse_clear_sensor_data,blank
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+//	bbit1 MOSUE_24G_PAIRING_FLAG,mouse_send_empty_data
+//	bbit1 MOUSE_SELECT_DEVICE_FLAG,mouse_send_empty_data
+	bbit1 MOUSE_BT_DISCOVERY_BUTTON_DOWN_FLAG,mouse_send_empty_data
+	bbit1 MOUSE_BT_DISCOVERY_BUTTON_LONG_DOWN_FLAG,mouse_send_empty_data
+	call mouse_motion
+	nrtn user
+	call p_mouse_wheel_trigger
+	fetch 1,mem_mouse_bt_boot_mode
+	beq 1,p_mouse_send_data_boot_mode	//boot
+	fetch 1,mem_mouse_bt_send_first_package_flag
+	rtn blank
+	branch mouse_send_data	//report
+
+p_mouse_send_data_boot_mode:
+	fetch 1,mem_mouse_key
+	store 1,mem_mouse_bt_boot_data
+	fetch 1,mem_mouse_x
+	istore 1,contw
+	fetch 1,mem_mouse_y
+	istore 1,contw
+	fetch 2,mem_mouse_z
+	istore 2,contw
+
+	arg 7,rega
+	call hid_malloc_tx_buff
+	fetch 2,mem_hid_int_remote_cid
+	istore 2,contw
+	setarg 0x02a1
+	istore 2,contw
+	fetch 5,mem_mouse_bt_boot_data
+	istore 5,contw
+	rtn
+endif
+	
+p_mouse_clear_sensor_data:
+	call le_set_config_more_data
+	jam 1,mem_mouse_clear_sensor_data_flag
+	branch p_mouse_sensor_poweron
+
+p_mouse_idle:
+	call ui_check_paring_button
+//	call p_mouse_dpi_check
+	branch mouse_wheel_check
+
+//p_mouse_dpi_check:
+//	fetcht 1,mem_dpi_button_gpio
+//	call p_gpio_set_input_pd
+//	fetcht 1,mem_dpi_button_gpio
+//	call gpio_get_bit
+//	branch p_mouse_dpi_up,true
+//	call p_gpio_set_input_pu
+//	branch mouse_dpi_down
+//p_mouse_dpi_down:
+//	fetch 1,mem_mouse_dpi_button_state
+//	rtneq DPI_BUTTON_STATE_DOWN
+//	jam DPI_BUTTON_STATE_DOWN,mem_mouse_dpi_button_state
+//	fetch 1,mem_mouse_dpi
+//	increase 1,pdata
+//	and pdata,0x03,pdata
+//	store 1,mem_mouse_dpi
+//	increase 2,pdata
+//	store 1,mem_mouse_multi_led_blink_count
+//	call p_mouse_dpi_multi_led_blink
+//	branch mouse_dpi_down+7
+//p_mouse_dpi_up:
+//	call p_gpio_set_input_pu
+//	branch mouse_dpi_up
+
+
+p_mouse_priority_bb_event:
+	copy regc,pdata
+ifdef BLE	
+	beq BT_EVT_LE_CONNECTED,p_mouse_le_bb_event_connected
+	beq BT_EVT_LE_DISCONNECTED,p_mouse_le_bb_disconnected
+	beq BT_EVT_LE_ENC_INFO,p_mouse_le_enc_info
+	beq BT_EVT_LE_START_ENC,p_mouse_le_ll_start_encryt
+	beq BT_EVT_LE_PARSE_CONN_PAPA_UPDATE_RSP,p_mouse_le_conn_param_update_rsp_recieved
+endif
+ifdef CLASSIC_BT
+	beq BT_EVT_RECONN_FAILED,p_mouse_bb_event_reconn_failed
+	beq BT_EVT_RECONN_PAGE_TIMEOUT,p_mouse_bb_event_reconn_timeout
+	beq BT_EVT_VIRTUAL_CABLE_UNPLUG,p_mouse_irtual_cable_unplug
+	beq BT_EVT_SWITCH_NOT_ACCEPT,app_bt_role_switch	
+	beq BT_EVT_SNIFF_NOT_ACCEPT,p_mouse_sniff_not_accept
+	beq BT_EVT_BB_CONNECTED,p_mouse_bb_event_connected
+	beq BT_EVT_BB_DISCONNECTED,p_mouse_bb_event_disconnected
+	beq BT_EVT_SWITCH_SUCCESS_MASTER,p_mouse_enter_sniff_check
+endif
+ifdef G24
+	beq BT_EVT_24G_PAIRING_COMPLETE,p_mouse_24g_pairing_complete
+	beq BT_EVT_24G_ATTEMPT_FAIL,p_mouse_24g_attempt_fail
+	beq BT_EVT_24G_ATTEMPT_SUCCESS,p_mouse_24g_attempt_success
+endif
+	branch mouse_priority_bb_event+1
+
+ifdef BLE
+p_mouse_le_bb_event_connected:
+	jam 1,mem_mouse_le_bb_connected_flag
+	fetch 1,mem_mouse_le_reconnect_flag
+	nbranch p_mouse_le_bb_event_connected_next,blank
+	jam 0x14,mem_mouse_send_secutiry_request_timer
+p_mouse_le_bb_event_connected_next:
+	call p_mouse_init_sensor_reset
+	call p_mouse_null_enter_hibernate_disable
+	call p_mouse_data_init
+	branch mouse_le_bb_event_connected
+
+p_mouse_le_bb_disconnected:
+	jam 0,mem_mouse_le_bb_connected_flag
+	call p_mouse_sensor_powerdown_check
+	setarg LE_INTERVAL_8_75MS
+	store 2,mem_le_interval_min
+	store 2,mem_le_interval_min+2
+	jam LE_LPM_ENABLE,mem_mouse_le_conn_param_reject
+	jam 0,mem_mouse_clear_sensor_data_flag
+	call p_mouse_data_init
+	call le_clr_config_more_data
+	branch mouse_bb_disconnected
+
+p_mouse_le_enc_info:
+p_app_updata_le_param:
+	jam BT_CMD_LE_UPDATE_CONN,mem_fifo_temp
+	branch ui_ipc_send_cmd
+
+p_mouse_le_ll_start_encryt:
+	fetch 1,mem_mouse_le_reconnect_flag
+	beq 1,p_mouse_le_ll_reconn_start_encryt
+	branch p_mouse_le_ll_enable_start_enc_flag
+
+p_mouse_le_ll_reconn_start_encryt:
+	call p_app_updata_le_param
+	jam 20,mem_le_start_encrypt_timer
+p_mouse_le_ll_enable_start_enc_flag:
+	arg LL_START_ENC_FLAG,queue
+	branch mouse_le_enable_connect_flag
+
+p_mouse_le_conn_param_update_rsp_recieved:
+	fetch 2,mem_le_l2cap_signaling_conn_param_update_rsp_result
+	rtneq BLE_SIGNALING_CONNECT_PARAMETER_UPDATE_ACCEPTED
+	fetch 1,mem_le_tsniff
+	rshift2 pdata,pdata
+	sub pdata,LE_INTERVAL_15MS,null
+	rtn positive
+	setarg LE_INTERVAL_11_25MS
+	store 2,mem_le_interval_min
+	store 2,mem_le_interval_min+2
+	call p_app_updata_le_param
+p_mouse_le_conn_param_lpm_disable:
+	jam LE_LPM_DISABLE,mem_mouse_le_conn_param_reject
+	rtn
+endif
+
+
+ifdef CLASSIC_BT
+p_mouse_bb_event_reconn_timeout:
+p_mouse_bb_event_reconn_failed:
+	fetch 2,mem_ui_state_map
+	rtnbit1 UI_STATE_BTN_DOWN
+	rtnbit1 UI_STATE_BT_DISCOVERY
+	rtnbit1 UI_STATE_BLE_ADV
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit1 MOUSE_BT_DISCOVERY_BUTTON_DOWN_FLAG
+//	bbit1 MOUSE_SELECT_DEVICE_FLAG,mouse_soft_reset
+//	bbit1 MOSUE_24G_PAIRING_FLAG,p_g24_start_pairing_sm1
+	branch app_bb_hibernate
+
+p_mouse_irtual_cable_unplug:
+	call mouse_irtual_cable_unplug
+	branch app_bb_hibernate
+
+p_mouse_sniff_not_accept:
+	fetch 1,mem_mouse_enter_sniff_count
+	rtneq 2
+	increase 1,pdata
+	store 1,mem_mouse_enter_sniff_count
+	jam 0x12,mem_sniff_param_interval	//89Hz
+	branch app_bt_enter_sniff
+
+p_mouse_bb_event_connected:
+	call p_mouse_null_enter_hibernate_disable
+	call p_mouse_discovey_led_blink_off
+	jam 0,mem_mouse_send_switch_req_timer
+	call p_mouse_init_sensor_reset
+	branch mouse_stop_discovery
+
+p_mouse_bb_event_disconnected:
+	jam 0,mem_bt_rcvd_switch_req_accept
+	jam 0,mem_bt_send_lmp_setup_complete
+	jam 0,mem_mouse_bt_send_first_package_flag
+	call p_mouse_sensor_powerdown_check
+	branch mouse_bb_disconnected
+
+p_mouse_enter_sniff_check:
+	fetch 1,mem_mouse_enter_sniff_count
+	rtnne 2
+	jam 0,mem_mouse_enter_sniff_count
+	jam 0x0e,mem_sniff_param_interval	//89Hz
+	branch app_bt_enter_sniff
+endif
+
+ifdef G24
+p_mouse_24g_pairing_complete:
+	call p_g24_auto_pair_timeout_clear
+	call p_mouse_init_sensor_reset
+	jam 1,mem_mouse_24g_enter_lpm_enable
+	arg MOSUE_24G_PAIRING_FLAG,queue
+	call mouse_disable_function_flag
+	setarg 0
+	store 2,mem_24g_pairing_timer_count
+	jam 0,mem_mouse_move_flag
+	
+	call mouse_read_sensor_common
+	call p_mouse_null_enter_hibernate_disable
+	call p_mouse_store_24g_device_2eeprom
+	call p_mouse_tx_power_init
+
+	call p_mouse_set_24g_addr_eeprom	//store rx dongle addr to eeprom
+	branch iicd_write_protect_eep_data
+
+p_mouse_set_24g_addr_eeprom:
+	arg mem_24g_addr,rega
+	arg MOUSE_G24_ADDR_EEPROM_OFFECT,regb
+	arg 4,temp
+	rtn
+
+p_mouse_24g_attempt_fail:
+	call p_mouse_sensor_powerdown_check
+	jam G24_TX_TIMER_INT_DISABLE,mem_24g_transmit_by_interrupt
+	call p_mouse_tx_power_init
+	call p_g24_check_51cmd_stop_24g
+p_app_enter_hibernate_before_check:
+	fetch 1,mem_mouse_multi_led_on_poweron2s_flag
+	nbranch p_mouse_null_enter_hibernate_enable,blank
+	branch app_enter_hibernate
+
+p_mouse_null_enter_hibernate_disable:	//ble never connected
+	jam 0,mem_mouse_null_enter_hibernate_flag
+	jam 0,mem_mouse_null_enter_hibernate_timer	//lmr 3s
+	rtn
+
+p_mouse_24g_attempt_success:
+	call p_g24_auto_pair_timeout_clear
+	call p_mouse_init_sensor_reset
+	call mouse_no_data_timer_init
+	call p_mouse_null_enter_hibernate_disable
+p_mouse_store_24g_device_2eeprom:
+	call mouse_cheak_select_24gdevice
+p_mouse_store_device_number2eeprom:
+	arg 1,temp
+	arg mem_device_flag,rega
+	arg 0,regb
+	branch iicd_write_protect_eep_data
+endif
+
+
+p_mouse_before_hibernate:
+	enable user
+	hfetch 4,0x8138
+	setflag user,26,pdata
+	hstore 4,core_lpm_reg
+	call lpm_write_ctrl
+	call p_mouse_sensor_powerdown_check
+	call disable_authrom
+	call mouse_devce_led_off
+	call mouse_before_hibernate_wheel_gpio_set
+	branch mouse_lpm_before_common
+	
+p_mouse_sensor_powerdown_check:
+	fetch 1,mem_mouse_init_sensor_reset_flag
+	rtn blank
+	jam 0,mem_mouse_init_sensor_reset_flag
+//	branch p_mouse_sensor_powerdown
+p_mouse_sensor_powerdown:
+	setarg 0x06
+	call twspi_read
+	or pdata,0x08,pdata
+	lshift8 pdata,pdata
+	add pdata,0x06,pdata
+	branch twspi_write	//make sdio high
+
+p_mouse_bb_event_timer:
+ifdef ADC_ENABLE
+	call p_mouse_adc_read
+	call p_mouse_low_voltage_led_timer
+endif
+	call p_mouse_wheel_trigger_timer
+	call p_mouse_null_enter_hibernate_timer
+	call p_mouse_bt_discovery_check
+	call p_mouse_select_device
+	call mouse_check_discovery_timeout_timer
+ifdef G24
+	call p_mouse_24g_long_sleep_param_update_timer
+	call p_mouse_g24_pair_timeout_timer
+endif
+ifdef BLE	
+	call mouse_check_direct_timeout_timer
+	call p_mouse_le_enable_att_list_timer
+	call p_mouse_le_current_mult_update_timer
+	call p_le_send_smp_security_request_timer
+endif
+ifdef CLASSIC_BT
+	call p_mouse_send_switch_req_timer
+	call mouse_check_hid_handshake_timer
+	call p_mouse_bt_check_sniff_req_timeout_timer
+endif
+	call p_mouse_multi_led_blink_timer
+	branch mouse_check_no_data_timeout_timer
+
+
+ifdef G24
+p_mouse_24g_long_sleep_param_update_timer:
+	arg mem_24g_long_sleep_param_update_timer,regc
+	arg p_mouse_24g_long_sleep_normal_param,regb
+	branch timer_single_step
+p_mouse_24g_long_sleep_normal_param:
+	setarg G24_LONG_SLEEP_STEP2
+	store 3,mem_24g_enter_hibernate
+p_mouse_long_mult_flag_enable:	
+	jam 1,mem_mouse_long_mult_flag
+	rtn
+
+p_mouse_g24_pair_timeout_timer:
+	arg mem_g24_stop_g24_mode_timeout,regc
+	arg p_mouse_g24_pair_timeout,regb
+	branch timer_single_step_2B
+p_mouse_g24_pair_timeout:
+	jam 1,mem_g24_stop_g24_mode
+	call p_mouse_discovey_led_blink_off
+	call p_mouse_sensor_powerdown
+	branch p_mouse_null_enter_hibernate_enable
+	
+endif
+
+ifdef CLASSIC_BT
+p_mouse_send_switch_req_timer:
+	arg mem_mouse_send_switch_req_timer,regc
+	arg host_create_conn_resend,regb
+	branch timer_single_step
+
+p_mouse_bt_check_sniff_req_timeout_timer:
+	arg mem_mouse_bt_send_first_package_timer,regc
+	arg p_mouse_bt_send_first_package,regb
+	branch timer_single_step
+p_mouse_bt_send_first_package:
+	jam 1,mem_mouse_bt_send_first_package_flag
+	rtn
+endif
+
+ifdef BLE
+p_mouse_le_enable_att_list_timer:
+	arg mem_le_start_encrypt_timer,regc
+	arg mouse_le_write_enable,regb
+	branch timer_single_step
+
+p_mouse_le_current_mult_update_timer:
+	arg mem_mouse_le_current_mult_timer,regc
+	arg p_mouse_le_current_mult_reinit,regb
+	branch timer_single_step
+p_mouse_le_current_mult_reinit:
+	fetch 1,mem_lpm_mult_init
+	store 1,mem_lpm_mult
+	branch p_mouse_long_mult_flag_enable
+
+p_le_send_smp_security_request_timer:
+	fetch 1,mem_mouse_le_bb_connected_flag
+	rtn blank
+	arg mem_mouse_send_secutiry_request_timer,regc
+	arg p_le_pairing_sm_start_check,regb
+	branch timer_single_step
+
+p_le_pairing_sm_start_check:
+	fetch 1,mem_le_send_security_request_flag
+	nrtn blank
+	branch le_pairing_sm_start	
+endif
+
+p_mouse_wheel_trigger_timer:
+	arg mem_mouse_wheel_trigger_timer,regc
+	arg p_mouse_wheel_trigger_disable,regb
+	branch timer_single_step
+p_mouse_wheel_trigger_disable:
+	jam 0,mem_mouse_wheel_trigger
+	rtn
+
+p_mouse_bt_discovery_check:
+p_mouse_bt_discovery_by_button:
+	fetcht 1,mem_config_bt_button_gpio
+	call gpio_get_bit
+	branch p_mouse_bt_discovery_commbination_key_down,true
+p_mouse_bt_discovery_commbination_key_up:
+	call mouse_bt_discovery_commbination_key_up
+	arg MOUSE_BT_DISCOVERY_BUTTON_LONG_DOWN_FLAG,queue
+	branch mouse_disable_function_flag
+	
+p_mouse_bt_discovery_commbination_key_down:
+	jam 40,mem_mouse_null_enter_hibernate_timer
+	call p_mouse_bt_discovery_timer
+	branch mouse_bt_discovery_commbination_key_down+1
+
+p_mouse_bt_discovery_timer:
+	arg mem_combination_ui_button_count,regc
+	arg p_mouse_long_button_bt_discovery,regb
+	branch timer_single_step
+	
+p_mouse_long_button_bt_discovery:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit1 MOUSE_BT_DISCOVERY_BUTTON_LONG_DOWN_FLAG
+	jam 0,mem_mouse_long_button_select_device
+	call p_mouse_store_device_mode_2eeporm
+	fetch 2,mem_ui_state_map
+	isolate1 UI_STATE_BLE_ADV,pdata
+	call mouse_stop_le_adv,true		//reconnect adv
+	fetch 2,mem_ui_state_map
+	isolate1 UI_STATE_BT_RECONNECT,pdata
+	call mouse_cancel_reconnect,true
+	arg MOUSE_BT_DISCOVERY_BUTTON_LONG_DOWN_FLAG,queue
+	call mouse_enable_function_flag
+	branch mouse_long_button_bt_discovry
+
+p_mouse_null_enter_hibernate_timer:
+	fetch 1,mem_mouse_null_enter_hibernate_flag
+	rtn blank
+	fetch 1,mem_mouse_multi_led_blink_count
+	nrtn blank
+	arg mem_mouse_null_enter_hibernate_timer,regc
+	arg p_mouse_null_enter_hibernate,regb
+	branch timer_single_step	
+
+p_mouse_null_enter_hibernate:
+	jam 0,mem_mouse_null_enter_hibernate_flag
+	branch app_enter_hibernate
+
+p_mouse_select_device:
+p_mouse_select_device_by_button:
+	fetcht 1,mem_config_select_device_button_gpio
+	call p_gpio_set_input_pu
+	fetcht 1,mem_config_select_device_button_gpio
+	call gpio_get_bit	
+	branch p_mouse_select_device_button_down,true
+p_mouse_select_device_button_up:
+//	fetch 1,mem_mouse_button_select_device_timer_init
+//	store 1,mem_mouse_button_select_device_count
+	fetch 1,mem_mouse_select_device_button_wakeup_flag	
+	nbranch p_mouse_select_button_wakeup_firstUp,blank
+	fetch 1,mem_select_device_button_statue
+	rtneq DPI_BUTTON_STATE_UP
+	jam DPI_BUTTON_STATE_UP,mem_select_device_button_statue
+	jam ON,mem_mouse_multi_led_blink_enable
+	arg 1,temp
+	arg mem_mouse_long_button_select_device,rega
+	arg MOUSE_DEVICE_MODE_EEPROM_OFFSET,regb
+	call iicd_read_eep_data
+	fetch 1,mem_mouse_long_button_select_device
+	branch p_mouse_select_device_and_reset,blank//rtn blank
+p_mouse_ready_reconnection_by_button:
+	call p_mouse_switch_device_flag
+	jam 0,mem_link_key_exists
+	call p_mouse_store_device_number2eeprom
+	call mouse_select_device_enable
+	branch mouse_set_reconnection
+
+p_mouse_switch_device_flag:
+	fetcht 1,mem_device_flag
+	increase 1,temp
+	fetch 1,mem_device_number
+	isub temp,null
+	ncall mouse_select_device_count_clean,positive
+	storet 1,mem_device_flag
+	rtn
+
+p_mouse_select_device_button_down:
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BLE_ADV,p_mouse_select_device_button_down_next
+	jam OFF,mem_mouse_multi_led_blink_enable
+p_mouse_select_device_button_down_next:
+	fetch 1,mem_select_device_button_statue
+	rtneq DPI_BUTTON_STATE_DOWN
+	jam DPI_BUTTON_STATE_DOWN,mem_select_device_button_statue
+
+	fetch APP_DISC_RSN_SIZE,mem_app_disconn_reason
+	rtnbit1 APP_DISC_PB_BUTTON
+
+	fetch 1,mem_device_flag
+	rtnne MODE_BT_DEVICE1
+p_mouse_pb_button_2ble_disconnect:
+	fetch APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	set1 APP_DISC_PB_BUTTON,pdata
+	store APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	branch mouse_disconnect
+		
+p_mouse_select_button_wakeup_firstUp:
+	jam 0,mem_mouse_select_device_button_wakeup_flag	//when waked from hibernate by PB key ,first key up does not change mode 
+	fetch 1,mem_select_device_button_statue
+	nbranch p_mouse_check_reconn_target,blank
+	jam DPI_BUTTON_STATE_UP,mem_select_device_button_statue
+	jam ON,mem_mouse_multi_led_blink_enable
+	rtn
+
+p_mouse_select_device_and_reset:
+	jam 0xff,mem_mouse_long_button_select_device
+//	branch p_mouse_store_device_mode_2eeporm
+p_mouse_store_device_mode_2eeporm:
+	arg 1,temp
+	arg mem_mouse_long_button_select_device,rega
+	arg MOUSE_DEVICE_MODE_EEPROM_OFFSET,regb
+	branch iicd_write_protect_eep_data
+	
+p_mouse_multi_led_blink_timer:
+	fetch 1,mem_mouse_multi_led_blink_enable
+	rtn blank
+	fetch 1,mem_mouse_multi_led_type
+	beq MULTI_LED_ON,p_mouse_multi_led_type_on
+	beq MULTI_LED_BLINK,p_mouse_multi_led_type_blink
+	rtn
+
+p_mouse_multi_led_type_on:
+	call p_mouse_multi_led_on
+	fetch 1,mem_mouse_multi_led_on_timer
+	increase 1,pdata
+	store 1,mem_mouse_multi_led_on_timer
+	fetcht 1,mem_mouse_multi_led_on_timer_init
+	isub temp,null
+	call p_mouse_multi_led_off_poweron2s,zero
+	rtn
+p_mouse_multi_led_off_poweron2s:
+	jam 0,mem_mouse_multi_led_on_poweron2s_flag
+	branch p_mouse_multi_led_off
+
+p_mouse_multi_led_type_blink:
+	fetch 1,mem_mouse_multi_led_blink_timer
+	increase -1,pdata
+	store 1,mem_mouse_multi_led_blink_timer
+	nrtn blank
+	fetch 1,mem_mouse_multi_led_blink_timer_init
+	store 1,mem_mouse_multi_led_blink_timer
+//	fetch 1,mem_mouse_multi_led_blink_count_limited
+//	branch p_mouse_multi_led_blink_count_no_limited,blank
+//	fetch 1,mem_mouse_multi_led_blink_count
+//	branch p_mouse_multi_led_blink_off,blank
+//	increase -1,pdata
+//	store 1,mem_mouse_multi_led_blink_count
+p_mouse_multi_led_blink_count_no_limited:
+	fetch 1,mem_mouse_multi_led_state
+	beq ON,p_mouse_multi_led_off
+	beq OFF,p_mouse_multi_led_on
+	rtn
+
+p_mouse_multi_led_on:
+	jam ON,mem_mouse_multi_led_state
+	fetch 1,mem_device_flag
+	beq MODE_24G_DEVICE,p_mouse_multi_down_led_on
+p_mouse_multi_up_led_on:
+	fetcht 1,mem_mouse_multi_led_gpio
+	call gpio_config_output 
+	fetcht 1,mem_mouse_multi_led_gpio 
+	call gpio_out_inactive
+	branch p_mouse_lvd_led_on
+p_mouse_multi_down_led_on:
+	fetcht 1,mem_24g_led_gpio 
+	call gpio_config_output 
+	fetcht 1,mem_24g_led_gpio
+	call gpio_out_inactive
+p_mouse_lvd_led_on:
+	fetch 2,mem_ui_state_map
+	rtnbit1 UI_STATE_BLE_ADV
+
+	fetcht 1,mem_lvd_led_gpio 
+	call gpio_config_output 
+	fetcht 1,mem_lvd_led_gpio
+	branch gpio_out_inactive
+
+p_mouse_multi_led_blink_off:
+	setarg 0
+	store 3,mem_mouse_multi_led_blink_timer
+p_mouse_multi_led_off:
+	fetch 1,mem_mouse_multi_led_blink_count
+	nbranch p_mouse_multi_led_off_wait_blink_over,blank
+	jam 0,mem_mouse_multi_led_blink_enable
+	jam 0,mem_mouse_multi_led_type
+p_mouse_multi_led_off_wait_blink_over:
+	jam 0,mem_mouse_multi_led_on_timer
+	jam OFF,mem_mouse_multi_led_state
+	fetcht 1,mem_mouse_multi_led_gpio
+	call gpio_config_output 
+	fetcht 1,mem_mouse_multi_led_gpio 
+	call gpio_out_active
+	fetcht 1,mem_24g_led_gpio
+	call gpio_config_output 
+	fetcht 1,mem_24g_led_gpio 
+	call gpio_out_active
+	fetcht 1,mem_lvd_led_gpio
+	call gpio_config_output 
+	fetcht 1,mem_lvd_led_gpio 
+	branch gpio_out_active
+
+
+p_mouse_mode_bt_device1_multi_led_on:
+p_mouse_mode_24g_device_multi_led_on:
+	jam 1,mem_mouse_multi_led_on_poweron2s_flag
+	jam ON,mem_mouse_multi_led_blink_enable
+	jam MULTI_LED_ON,mem_mouse_multi_led_type
+	jam 0,mem_mouse_multi_led_on_timer
+	rtn
+
+//p_mouse_mode_bt_device_blink_5s:
+//p_mouse_mode_24g_device_blink_5s:
+//	jam 10,mem_mouse_multi_led_blink_count
+//	branch p_mouse_dpi_multi_led_blink
+//p_mouse_mode_bt_device1_led_blink:
+//	jam 5,mem_mouse_multi_led_blink_timer_init	//500ms
+//	branch p_mouse_discovery_multi_led_blink2
+
+
+p_mouse_discovery_multi_led_blink:
+	jam 3,mem_mouse_multi_led_blink_timer_init	//300ms
+p_mouse_discovery_multi_led_blink2:
+//	jam 0,mem_mouse_multi_led_blink_count_limited
+	jam 1,mem_mouse_multi_led_blink_count//0 will clear mem_mouse_multi_led_blink_enable/mem_mouse_multi_led_type
+p_mouse_multi_led_blink_enable:
+	jam 1,mem_mouse_multi_led_blink_timer
+	jam ON,mem_mouse_multi_led_blink_enable
+	jam MULTI_LED_BLINK,mem_mouse_multi_led_type
+	rtn
+
+p_mouse_discovey_led_blink_off:
+	jam 0,mem_mouse_multi_led_blink_count
+	fetch 1,mem_mouse_multi_led_on_timer
+	nrtn blank
+	fetch 1,mem_mouse_multi_led_on_poweron2s_flag
+	nrtn blank
+	branch p_mouse_multi_led_blink_off
+		
+//p_mouse_dpi_multi_led_blink:
+//	jam 5,mem_mouse_multi_led_blink_timer_init	//500ms
+//	jam 1,mem_mouse_multi_led_blink_count_limited
+//	branch p_mouse_multi_led_blink_enable
+
+	
+
+ifdef ADC_ENABLE
+p_mouse_adc_read:
+//	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+//	rtnbit0 MOUSE_ENABLE_ADC
+	fetch 2,mem_mouse_multi_led_blink_count
+	nrtn blank
+
+	arg mem_adc_read_timer,regc	//1s read adc
+	arg p_mouse_adc_read_timeout,regb
+	branch timer_single_step
+p_mouse_adc_read_timeout:	
+	jam 10,mem_adc_read_timer
+	call p_adc_set_mode
+	call vdd_calculate_by_mode
+
+//	call ice_break
+
+	mul32 pdata,2,pdata
+	arg 0x0e,temp
+	isub temp,pdata
+	sub pdata,0x78,null
+	call p_mouse_voltage_sub1,positive
+
+	sub pdata,0x64,null
+	call p_mouse_voltage_sub2,positive
+
+	store 2,mem_mouse_vdd_now_vol
+	arg mem_mouse_vdd_calculate_set,rega
+	call p_adc_bat_percent_lowpower_out
+	fetch 1,mem_adc_power_flag
+	bbit1 1,app_enter_hibernate
+	bbit0 0,p_mouse_adc_no_low_voltage
+	jam 1,mem_mouse_adc_last_low_voltage_flag
+	branch mouse_adc_low_voltage
+p_mouse_adc_no_low_voltage:
+	call mouse_adc_no_low_voltage
+	fetch 1,mem_mouse_adc_last_low_voltage_flag
+	rtn blank
+	jam 0,mem_mouse_adc_last_low_voltage_flag
+	branch p_mouse_multi_led_off
+
+p_mouse_voltage_sub1:
+	arg 0x08,temp
+	isub temp,pdata
+	rtn
+
+p_mouse_voltage_sub2:
+	arg 0x06,temp
+	isub temp,pdata
+	rtn
+
+	
+p_adc_set_mode:
+	fetch 1,mem_adc_config_flag
+	beq ADC_CONFIG_GPIO,p_adc_check_gpio
+	branch adc_set_mode+1
+p_adc_check_gpio:
+	fetcht 1,mem_select_adc_gpio
+	call gpio_config_input
+	hfetch 1,core_gpio_pd0	//gpio5 pull down disable
+	set0 5,pdata
+	hstore 1,core_gpio_pd0
+	
+	hfetch 1,core_gpio_pu0	//gpio5 pull up disable
+	set0 5,pdata
+	hstore 1,core_gpio_pu0
+	branch adc_check_gpio
+
+p_adc_bat_percent_lowpower_out:
+	ifetch 8,rega
+	store 8,mem_pdatatemp
+	fetcht 2,mem_pdatatemp+2	//shutdown voltage 0.9v
+	fetch 2,mem_pdatatemp+6		//now voltage
+	isub temp,null
+	nbranch adc_set_no_power_flag,positive
+	fetcht 2,mem_pdatatemp+4	//low voltage 1.0v
+	isub temp,null
+	nbranch adc_set_low_power_flag,positive
+p_adc_clear_low_power_flag:
+	fetch 1,mem_adc_power_flag
+	set0 0,pdata
+	store 1,mem_adc_power_flag
+	rtn	
+	
+p_mouse_low_voltage_led_timer:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit0 MOUSE_LOW_VOLTAGE_FLAG
+	fetch 2,mem_ui_state_map
+	rtnbit1 UI_STATE_BLE_ADV
+	//rtnbit1 UI_STATE_BT_DISCOVERY
+	fetch 2,mem_mouse_multi_led_blink_count
+	nrtn blank
+	
+	fetch 1,mem_adc_low_volatage_led_timer_count
+	pincrease 1
+	store 1,mem_adc_low_volatage_led_timer_count
+	beq 5,p_mouse_lvd_led_on
+	sub pdata,10,null
+	nbranch p_mouse_adc_low_volatage_led_timer_count_clean,positive
+	rtn
+p_mouse_adc_low_volatage_led_timer_count_clean:
+	jam 1,mem_adc_low_volatage_led_timer_count
+	branch p_mouse_multi_led_off
+	
+
+endif
+
+p_mouse_motion:
+	disable user
+	setarg 0
+	store 6,mem_mouse_x
+	call p_mouse_cheak_sensor_data
+	call mouse_zwheel
+	call mouse_t_zwheel
+	call p_mouse_key
+ifdef MOUSE_SMOOTHER	
+	nbranch p_drawing_optima_init,user
+	call p_drawing_optima
+else
+	nrtn user
+endif
+	branch mouse_motion+9
+
+
+p_mouse_cheak_sensor_data:
+//	fetch 1,mem_config_sensor_type
+//	beq P3212,p_mouse_p3212_sensor_motion
+//	beq P3610,mouse_p3610_sensor_motion
+p_mouse_p32xx_sensor_motion:
+	call mouse_clear_sensor_data
+	disable user
+	//fetch 1,mem_config_function_enable
+	//bbit0 ENABLE_SENSOR_MOTION_PIN,mouse_p32xx_sensor_motion_2
+	//fetcht 1,mem_sensor_data_gpio
+	//call gpio_get_bit
+	//nrtn true
+	branch mouse_p32xx_sensor_motion_2
+//p_mouse_p3212_sensor_motion:
+//	call mouse_clear_sensor_data
+//	fetch 1,mem_config_function_enable
+//	bbit0 ENABLE_SENSOR_MOTION_PIN,mouse_p3212_sensor_motion_1
+//	fetcht 1,mem_sensor_data_gpio
+//	call gpio_get_bit
+//	nrtn true
+//	branch mouse_p3212_sensor_motion_1
+
+p_mouse_key:
+	call p_mouse_check_key_gpio
+	branch mouse_key+1
+p_mouse_check_key_gpio:
+	arg 0,rega
+	call p_mouse_check_lkey_gpio
+//	call p_mouse_check_rkey_gpio
+//	call p_mouse_check_mkey_gpio
+	call p_mouse_check_skey_gpio
+	branch mouse_check_key_gpio+11
+	
+p_mouse_check_skey_gpio:
+//	fetch 1,mem_bk_button_gpio
+//	rtneq GPIO_DISABLE
+	call p_mouse_check_bk_key_gpio
+	branch p_mouse_check_fw_key_gpio
+	
+p_mouse_check_lkey_gpio:
+	fetcht 1,mem_lbutton_gpio
+	call p_gpio_set_input_pu
+	fetcht 1,mem_lbutton_gpio
+	call gpio_get_bit
+	setflag true,0,rega			//true = 1,input low level
+//	rtn
+p_mouse_check_rkey_gpio:
+	fetcht 1,mem_rbutton_gpio
+	call p_gpio_set_input_pu
+	fetcht 1,mem_rbutton_gpio
+	call gpio_get_bit
+	setflag true,1,rega			//true = 1,input low level
+//	rtn
+p_mouse_check_mkey_gpio:
+	fetcht 1,mem_mbutton_gpio
+	call p_gpio_set_input_pu
+	fetcht 1,mem_mbutton_gpio
+	call gpio_get_bit
+	setflag true,2,rega			//true = 1,input low level
+	rtn
+p_mouse_check_bk_key_gpio:
+	fetcht 1,mem_bk_button_gpio
+	call p_gpio_set_input_pd
+	fetcht 1,mem_bk_button_gpio
+	call gpio_get_bit
+	nsetflag true,3,rega
+	branch p_gpio_set_input_pu
+p_mouse_check_fw_key_gpio:
+	fetcht 1,mem_fw_button_gpio
+	call p_gpio_set_input_pd
+	fetcht 1,mem_fw_button_gpio
+	call gpio_get_bit
+	nsetflag true,4,rega
+	branch p_gpio_set_input_pu
+p_gpio_set_input_pd:
+	set0 gpio_active_bit,temp
+	arg core_gpio_pu0,contw
+	call gpio_set_bit
+	set1 gpio_active_bit,temp
+	arg core_gpio_pd0,contw
+	branch gpio_set_high_impedance+4
+p_gpio_set_input_pu:
+	set1 gpio_active_bit,temp
+	arg core_gpio_pu0,contw
+	call gpio_set_bit
+	set0 gpio_active_bit,temp
+	branch p_gpio_set_input_pd+4
+
+p_mouse_bb_disconnected:
+	jam 0,mem_mouse_enter_sniff_count
+	jam 0x0e,mem_sniff_param_interval	//115Hz
+	call mouse_bb_discon_clear_stack
+	fetch APP_DISC_RSN_SIZE,mem_app_disconn_reason
+	bbit1 APP_DISC_BLE,p_mouse4_0_event_bb_disconn
+	branch mouse_bb_disconnected+9
+
+p_mouse4_0_event_bb_disconn:
+	call mouse_le_clean_connect_flag
+	fetch APP_DISC_RSN_SIZE,mem_app_disconn_reason
+	bbit1 APP_DISC_PB_BUTTON,p_mouse_select_device_by_button
+	branch mouse4_0_event_bb_disconn+2
+
+p_mouse_bb_event_discovery_btn:
+	jam 0,mem_mouse_null_enter_hibernate_flag
+	jam 0,mem_mouse_null_enter_hibernate_timer
+ifdef G24	
+	isolate1 mark_24g,mark
+	call p_g24_check_51cmd_stop_24g,true
+endif
+	branch mouse_bb_event_discovery_btn+1
+
+ifdef BLE
+p_le_addr_random_config:
+	call load_adc_init
+	fetch 2,mem_0_5_adc_io_data	//adc data from otp
+//	branch p_le_otp_adc_empty,blank
+	store 2,mem_random_addr_increase_count
+p_le_addr_random_store:
+p_mouse_store_eerpom_random_addr_increase_count:
+	arg 2,temp
+	arg mem_random_addr_increase_count,rega
+	arg MOUSE_RANDOM_ADDR_COUNT_EEPROM_OFFSET,regb
+	branch iicd_write_protect_eep_data
+p_mouse_load_eeprom_random_addr_increase_count:
+	arg 2,temp
+	arg mem_random_addr_increase_count,rega
+	arg MOUSE_RANDOM_ADDR_COUNT_EEPROM_OFFSET,regb
+	branch iicd_read_eep_data
+	
+//p_le_otp_adc_empty:
+//	setarg 0x1122
+//	store 2,mem_random_addr_increase_count
+//	branch p_le_addr_random_store
+
+endif
+
+p_mouse_start_discovery:
+	jam 0,mem_le_send_security_request_flag
+	call p_mouse_tx_power_init
+	jam 1,mem_device_flag
+	jam 0,mem_mouse_clear_sensor_data_flag	
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BLE_ADV,p_mouse_start_discovery_norandom
+//	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+//	bbit0 MOUSE_ENABLE_BLE_RANDOM_ADDRE,p_mouse_start_discovery_norandom
+ifdef BLE
+	call p_mouse_load_eeprom_random_addr_increase_count
+	fetcht 2,mem_random_addr_increase_count
+	increase 1,temp
+	storet 2,mem_random_addr_increase_count
+	storet 2,mem_le_lap+1
+	call p_mouse_store_eerpom_random_addr_increase_count
+	random pdata
+	store 1,mem_le_lap
+endif
+p_mouse_start_discovery_norandom:
+ifdef BLE_FAST_CONN_ENABLE
+	fetch 3,mem_le_lap_high_3B
+	store 3,mem_le_lap+3
+	call p_mouse_le_fast_conn_disable
+endif
+	call app_lpm_mult_disable
+	fetch 2,mem_discovery_timeout
+	store 2,mem_mouse_discovery_timer
+	jam 6,mem_connection_options
+	setarg 0
+	store 2,mem_mouse_no_data_timer
+	store 2,mem_mouse_direct_timer
+	arg MOUSE_STORE_EEPROM_FLAG,queue
+	call mouse_enable_function_flag
+	call mouse_bt_discovery_button_down_disable
+//	fetch 1,mem_device_option
+//	isolate1 MODE_4_MOUSE,pdata
+	call p_check_51cmd_adv
+	call mouse_start_discovery_norandom+13
+	branch p_mouse_discovery_multi_led_blink
+
+p_check_51cmd_adv:
+	jam 0,mem_mouse_le_reconnect_flag
+	call p_le_check_adv_flag
+	setarg ADV_FLAG_BREDR_NOT_SUPPORTED |ADV_FLAG_LIMITED_DISCOVERABLE
+	istore 1,contr
+
+	arg mem_le_adv_swift_pair,contr
+	call p_le_adv_data_update
+	
+	branch check_51cmd_adv
+
+p_le_adv_data_update:
+	arg mem_le_adv_data+11,contw
+	arg 19,loopcnt
+	call memcpy
+	branch le_modified_name_adv
+
+p_mouse_stop_discovery:
+	jam 0,mem_mouse_multi_led_blink_count
+	call p_mouse_discovey_led_blink_off
+	setarg 0
+	store 2,mem_mouse_discovery_timer
+	call p_mouse_sensor_poweron		//clear sensor data,confirm the motion pin high
+	branch mouse_stop_discovery+1
+
+ifdef BLE
+p_le_slave_match:
+	fetch 1,mem_le_md_count
+	pincrease 1
+	store 1,mem_le_md_count
+	beq LE_MD_MAX_COUNT,le_slave_cont
+	call le_acknowledge
+	call le_prepare_tx
+	call power_ctrl_start
+	branch le_slave_match+7
+
+p_le_next_adv_channel:
+	fetch 1,mem_le_ch_mapped
+	increase 1,pdata
+	store 1,mem_le_ch_mapped
+	rtnne 40
+	jam 37,mem_le_ch_mapped
+	rtn
+
+p_le_receive_skip:
+	call save_rssi
+	call p_rssi_signal
+	branch le_receive_skip+2
+
+p_le_update_param:
+	call p_mouse_le_conn_param_check	
+	branch le_update_param+8
+p_mouse_le_lpm_mult_reinit:
+	fetch 1,mem_lpm_mult_init
+	store 1,mem_lpm_mult
+p_mouse_le_conn_param_lpm_enable:
+	jam LE_LPM_ENABLE,mem_mouse_le_conn_param_reject
+	rtn
+
+p_mouse_le_conn_param_check:
+	fetch 1,mem_le_new_conninterval
+	sub pdata,LE_INTERVAL_15MS,null
+	nbranch p_mouse_le_conn_param_lpm_disable,positive
+	fetch 1,mem_le_new_connslavelatency
+	fetcht 1,mem_lpm_mult_init
+	isub temp,null
+	branch p_mouse_le_lpm_mult_reinit,positive
+	fetch 1,mem_le_new_connslavelatency
+	store 1,mem_lpm_mult
+	branch p_mouse_le_conn_param_lpm_enable
+
+p_le_update_channel_map:
+	fetch 1,mem_le_state
+	rtnbit0 lestate_update_map
+	call p_le_channel_map_overflow_check
+	nrtn user
+	branch le_update_channel_map+3
+p_le_channel_map_overflow_check:
+	enable user
+	fetch 1,mem_le_event_count+1
+	rshift4 pdata,pdata
+	rtnne 0x0f
+	fetch 1,mem_le_instant+1
+	rshift4 pdata,pdata
+	rtnne 0x00
+	branch disable_user
+
+p_le_prepare_tx:
+	fetch 1,mem_le_arq
+	bbit1 wak,p_le_prepare_tx_wak
+	call power_ctrl_pac_succ_incrs	
+	fetch 1,mem_empty_count
+	nbranch p_le_send_empyt,blank
+	fetch 1,mem_le_state 
+	bbit0 lestate_encryption,p_le_tx_4
+	fetch 1,mem_le_rxbuf+1  
+	branch p_le_tx_4,blank  
+	branch le_send_empty      // send empty data when got non empty packet
+p_le_send_empyt:
+	fetch 1,mem_empty_count
+	increase -1,pdata
+	store 1,mem_empty_count
+	branch le_send_empty
+p_le_tx_4:	
+	fetch 1,mem_le_pairing_state
+	bne FLAG_LE_PAIRING_AFTER_AUTH,p_in_le_tx_4
+	jam 3,mem_empty_count
+p_in_le_tx_4:
+	call le_fifo_check_nearly_full
+	call p_mouse_data_pull,blank
+	branch le_prepare_tx+4
+
+p_le_prepare_tx_wak:
+	call p_le_check_tx_retransmit_setmd
+//	branch p_le_power_ctrl_pac_succ_decrs
+p_le_power_ctrl_pac_succ_decrs:
+ifdef DEBUGLOG
+ifdef DEBUGLOG_MISC
+	setarg DEBUGLOG_DTYPE_MISC
+	store 2,mem_debuglog_datatype
+	setarg MISC_LE_RETRANSMIT
+	store 2,mem_debuglog_dataval
+	call debuglog_push	
+endif
+endif
+//	branch power_ctrl_pac_succ_decrs
+power_ctrl_pac_succ_decrs:
+	fetch 1,mem_power_ctrl_pac_succ_cnt
+	sub pdata,2,null
+	ncall power_ctrl_pac_succ_cnt_reinit,positive
+	fetch 1,mem_power_ctrl_pac_succ_cnt
+	rtneq 0
+	increase -1,pdata
+	store 1,mem_power_ctrl_pac_succ_cnt
+	rtn
+
+p_le_check_tx_retransmit_setmd:
+	fetch 1,mem_le_connect_status_flag
+	and pdata,0x03,pdata
+	rtnne 0x03
+	fetch 1,mem_mouse_data_queue_num
+	rtn blank
+	fetch 1,mem_le_txlen
+	rtn blank
+	fetch 1,mem_le_txheader
+	set1 md,pdata
+	store 1,mem_le_txheader
+	call le_set_md
+ifdef DEBUGLOG
+ifdef DEBUGLOG_MISC
+	setarg DEBUGLOG_DTYPE_MISC
+	store 2,mem_debuglog_datatype
+	setarg MISC_LE_RETRANSMIT_MD
+	store 2,mem_debuglog_dataval
+	call debuglog_push	
+endif
+endif
+	rtn
+
+p_mouse_le_reconn_write_enable_timer_reinit:
+	fetch 1,mem_mouse_le_reconnect_flag
+	rtn blank
+	fetch 1,mem_le_connect_status_flag
+	and pdata,0x03,pdata
+	rtneq 0x03
+	jam 10,mem_le_start_encrypt_timer
+	rtn
+
+p_le_parse:
+	rtnmark1 mark_old_packet
+	call le_fifo_check_full
+	nrtn blank
+	fetch 1,mem_le_rxbuf
+	and pdata,0x3,pdata
+	store 1,mem_le_packet_llid
+	ifetch 1,contr
+	and pdata,0x1f,pdata
+	store 1,mem_le_packet_size
+	rtn blank							//empty rtn
+	copy contr,pdata
+	store 2,mem_le_payload_ptr
+	fetch 1,mem_le_packet_llid
+	beq LLID_LE_LL,p_le_parse_ll
+	branch le_parse_l2cap
+p_le_parse_ll:
+	fetch 1,mem_le_rxbuf+2
+	beq LL_CHANNEL_MAP_REQ,p_le_parse_channel_map_req
+	branch le_parse_ll+1
+p_le_parse_channel_map_req:
+	ifetch 5,contr
+	store 5,mem_le_new_map
+	ifetch 2,contr
+	store 2,mem_le_instant
+	branch le_parse_channel_map_req+7	
+	
+p_le_parse_l2cap:
+	ifetch 2,contr
+	beq LE_L2CAP_CID_ATT,p_le_parse_att
+	beq LE_L2CAP_CID_SMP,p_le_parse_smp
+	branch le_parse_l2cap+11
+p_le_parse_att:
+	call store_contr
+	call p_mouse_le_reconn_write_enable_timer_reinit
+	call get_contr
+	ifetch 3,contr
+	store 3,mem_le_att_opcode
+	beq ATTOP_READ_BY_GROUP_TYPE_REQUEST,p_le_parse_att_read_by_group_type_request
+//	beq ATTOP_READ_REQUEST,p_le_parse_att_read_request
+	rshift8 pdata,temp
+	sub temp,0x24,null
+//	branch p_le_parse_att1,positive
+	branch le_parse_att+2,positive
+	arg mem_mouse_le_uuid_sup,temp
+	storet 2,mem_ui_le_uuid_table
+	call le_parse_att+2
+	setarg 0x8e7a
+	store 2,mem_ui_le_uuid_table
+	rtn
+
+p_le_parse_att_read_by_group_type_request:
+	call le_parse_att_read_by_group_type_request
+	call le_fifo_get_last_tx_ptr
+	increase 7,contr
+	ifetch 1,contr
+	rtnne ATTOP_READ_BY_GROUP_TYPE_RESPONSE
+	increase 5,contr
+	ifetch 2,contr
+	arg UUID_SERVICE_HIDS,temp
+	isub temp,null
+	nrtn zero
+	increase -4,contr
+	setarg 0x2b
+	istore 2,contr
+	rtn
+
+//p_le_parse_att1:
+//	beq ATTOP_READ_REQUEST,p_le_parse_att_read_request
+//	branch le_parse_att+2
+//p_le_parse_att_read_request:
+//	fetcht 2,mem_le_att_handle
+//	fetch 1,mem_le_configuration
+//	bbit1 BIT_BLE_READ_AUTH,p_le_send_att_read_response_check_auth
+//p_le_send_att_read_response:
+//	call le_att_get_handle_ptr
+//	branch le_send_att_error_response_notfound,blank
+//	increase -2,contr
+//	ifetch 2,contr
+//	arg UUID_CHRCTR_PNP_ID,temp
+//	isub temp,null
+//	branch p_le_send_att_pnp_id,zero	//modify VID/PID
+//	
+//	fetch 2,mem_le_att_handle
+//	beq 0x13,le_send_att_error_response_notfound	//delete battery
+
+//	fetcht 2,mem_le_att_handle
+//	branch le_send_att_read_response
+//p_le_send_att_pnp_id:
+//	call store_contr
+//	fetch 1,mem_le_att_pnp_id_len
+//	add pdata,1,rega
+//	call le_fifo_malloc_tx_l2cap_gatt
+//	setarg ATTOP_READ_RESPONSE
+//	istore 1,contw
+//	fetch 1,mem_le_att_pnp_id_len
+//	copy pdata,loopcnt
+//	arg mem_le_att_pnp_id,contr
+//	branch memcpy
+
+//p_le_send_att_read_response_check_auth:
+//	fetch 2,mem_le_pairing_handle
+//	isub temp,null
+//	nbranch p_le_send_att_read_response,zero
+//p_le_send_att_read_response_error_insufficient_auth:
+//	call le_check_encrypt_state
+//	nbranch p_le_send_att_read_response,user
+//	jam ATT_ERR_INSUFFICIENT_AUTHENTICATION,mem_le_err_code
+//	branch le_send_att_error_response
+
+p_le_parse_smp:
+	ifetch 1,contr
+	beq SMP_PAIRING_REQUEST,p_le_parse_smp_pairing_request
+	beq SMP_PAIRING_FAILED,p_le_parse_smp_pairing_failed
+	branch le_parse_smp+2
+
+p_le_parse_smp_pairing_request:
+	jam 1,mem_le_send_security_request_flag
+	branch le_parse_smp_pairing_request
+
+p_le_parse_smp_pairing_failed:
+	call le_parse_smp_pairing_failed
+	fetch 1,mem_le_state	//disable update conn param
+	set0 lestate_update_param,pdata
+	store 1,mem_le_state
+	branch le_parse_terminate_ind
+
+p_le_adv_not_match:
+	fetch 1,mem_le_ch_mapped
+	bne 39,le_adv_loop
+	call p_le_adv_random_delay
+	arg le_adv_interval_timer,queue
+	fetch 2,mem_le_adv_interval
+	branch timer_init
+p_le_adv_random_delay:
+	random pdata
+	arg 0x1ff,temp
+	iand temp,pdata
+	add pdata,250,pdata
+	branch delay
+
+p_le_lpm_setmult:
+	disable wake
+	branch p_le_lpm_set_mult_attempt,attempt
+	nbranch le_lpm_lost,match
+p_le_lpm_set_mult_attempt:
+	call lpm_match
+	fetch 2,mem_rx_window_sniff
+	store 2,mem_le_receive_window
+	fetch 1,mem_le_connect_status_flag
+	compare 3,pdata,3
+	nbranch lpm_mult_short,true
+	branch le_lpm_set_mult_attempt+3
+
+p_le_mouse_bb_event_connect_complete:
+	fetch 1,mem_mouse_le_reconnect_flag
+	nrtn blank
+	fetch 1,mem_le_att_handle
+	sub pdata,26,pdata
+	nrtn zero
+	branch mouse_le_write_enable
+
+p_check_51cmd_once_continue:
+	call lmo_fifo_check
+	nbranch check_51cmd_restore,blank  //process this cmd next time while lmo fifo is full
+	fetch 1,mem_fifo_temp
+	bmark0 mark_context,check_51cmd_check_idle
+	beq BT_CMD_LE_UPDATE_CONN,p_check_51cmd_ble_update_connect_param
+	branch check_51cmd_once_continue+2
+
+p_check_51cmd_ble_update_connect_param:
+	call le_fifo_check_full
+	nrtn blank
+	branch le_l2cap_tx_update_req
+	
+endif
+
+p_twspi_reset:
+	hfetch 1,core_gpio_out3
+	and_into 0xfd,pdata
+	hstore 1,core_gpio_out3
+	hfetcht 1,core_gpio_oe3
+	or_into 0x2,temp
+	hstoret 1,core_gpio_oe3
+	call twspi_disable
+	and_into 0xfd,temp
+	nop 13
+	call twspi_enable
+	hstoret 1,core_gpio_oe3
+	rtn
+
+
+
+ifdef CLASSIC_BT
+p_page_wait_fhs_reply_ok:
+ 	fetch 1, mem_page_rcv_fhs
+	increase 1,pdata
+	store 1, mem_page_rcv_fhs
+	call prepare_newconn
+p_master_newconn_loop:
+ 	set1 mark_first_packet,mark
+	call master_newconn_once
+	branch p_newconn_poll_responded,sync
+	set0 mark_first_packet,mark
+	call new_conn_timeout
+	nbranch p_master_newconn_loop,blank
+	branch page_restart	
+
+p_newconn_poll_responded:
+	set0 mark_first_packet,mark
+	branch newconn_poll_responded
+
+p_role_switch_master:
+	call role_switch_check
+	nrtn user
+p_wait_role_switch_anchor:
+	disable user
+	jam param_newconnto,mem_newconnto_counter
+	set0 mark_fhs_already_good,mark
+	set0 mark_role_switch_receive_fhs,mark
+p_roles_waitfhs_loop:
+	call rf_setup_time_master_slot
+	call master_recv_packet
+	bmark1 mark_fhs_already_good,p_roles_replyto_fhs
+	call new_conn_timeout
+	nbranch p_roles_waitfhs_loop,blank
+	bmark1 mark_role_switch_receive_fhs,p_roles_replyto_fhs1
+	branch role_switch_fail_master
+	
+p_roles_replyto_fhs:
+	call rf_setup_time_slave_slot
+	arg type_id,type
+	call master_send_packet
+	set1 mark_role_switch_receive_fhs,mark
+	set0 mark_fhs_already_good,mark
+	force 1,am_addr	/* process_fhs will update am_addr, so slave will not receive fhs succeffully sometimes */
+	jam 2,mem_newconnto_counter
+	branch p_roles_waitfhs_loop
+
+p_roles_replyto_fhs1:
+	fetch 4,mem_clke_bt		//wait for 2 fhs,need 2.5ms
+	pincrease 8
+	store 4,mem_clke_bt
+	branch roles_replyto_fhs+4
+
+p_process_dmh:
+	bmark1 mark_first_packet,end_of_packet
+	branch process_dmh+1
+
+p_prepare_tx:
+	fetch 1,mem_state
+	isolate1 state_inconn,pdata
+	call p_bt_power_ctrl,true
+	branch prepare_tx+1
+p_bt_power_ctrl:
+	fetch 1,mem_arq
+	isolate1 wack,pdata
+	call power_ctrl_pac_succ_decrs,true
+	ncall power_ctrl_pac_succ_incrs,true
+	branch power_ctrl_start
+
+p_slave_conn_recv_packet:
+	call slave_receive_master_slot
+	nbranch shutdown_radio,sync
+	call save_rssi
+	call p_rssi_signal
+	branch slave_conn_recv_packet+4
+
+p_lpm_dispatch:
+	rtnmark1 mark_24g
+	call lpo_calibration
+	fetch 3,mem_clks_per_lpo
+	rtn blank
+	fetch 1,mem_lpm_mode
+	rtn blank
+	fetch 1,mem_ssp_enable
+	branch p_lpm_dispatch_next,blank
+	fetch 1,mem_sp_local_key_invalid	// simple pairing is not ready
+	rtn blank
+p_lpm_dispatch_next:
+	fetch 1,mem_le_sc_calc
+	nrtn blank
+	call lpm_check_wake_lock
+	nrtn blank
+	fetch 1,mem_context
+	compare 3,pdata,0x7							//sco won't sleep 
+	nbranch lpm_dispatch_unconn,true
+	fetch 2,mem_context + coffset_tsniff	//role switch 
+	arg 0xffff,temp
+	isub temp,null
+	rtn zero
+	branch lpm_dispatch_next+9
+
+p_app_bt_start_reconnect:
+	branch app_bt_start_reconnect+3
+	
+p_mouse_event_light_state_pairing:
+	bbit1 APP_DISC_AFTER_HANDSHAKE,p_mouse_event_light_state_hibernate
+	bbit1 APP_DISC_AFTER_SNIFF,p_mouse_event_light_state_hibernate
+	branch mouse_start_discovery
+p_mouse_event_light_state_hibernate:
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BTN_DOWN,mouse_start_discovery
+	call app_disconn_reason_clear
+	call p_mouse_check_key_gpio
+	beq MOUSE_LMR_BUTTON,p_mouse_null_enter_hibernate_enable
+	branch app_bb_hibernate
+
+p_hid_rx_process:
+	fetch 2,mem_l2cap_payload_ptr
+	copy pdata,contr
+	ifetch 1,contr
+	store 1,mem_l2cap_rcv
+	and pdata,0x0f,temp
+	rshift4 pdata,pdata //hidtype
+	beq hid_type_set_protocol,p_hid_rx_set_protocol
+	branch hid_rx_process+6
+p_hid_rx_set_protocol:
+	call hid_rx_process_handshake
+	jam 0,mem_mouse_bt_boot_mode
+	fetch 1,mem_l2cap_rcv
+	isolate1 0,pdata
+	rtn true
+	jam 1,mem_mouse_bt_boot_mode	//boot mode
+	rtn
+
+p_parse_lmp_accepted:
+	fetch 1,mem_rxbuf+1
+	store 1,mem_lmi_accepted_opcode
+	beq LMP_SWITCH_REQ,p_parse_lmp_accepted_switch
+	branch parse_lmp_accepted+3
+p_parse_lmp_accepted_switch:
+	call parse_lmp_accepted_switch
+	jam 1,mem_bt_rcvd_switch_req_accept
+	fetch 1,mem_bt_send_lmp_setup_complete
+	rtn blank
+	jam 2,mem_bt_send_lmp_setup_complete
+	rtn
+
+
+p_send_lmp:
+	disable user
+	call lmo_fifo_process
+
+ifdef DEBUGLOG
+ifdef DEBUGLOG_SEND_LMP
+	setarg DEBUGLOG_DTYPE_SEND_LMP
+	store 2,mem_debuglog_datatype
+//	fetch 1,mem_lmi_opcode
+//	store 1,mem_debuglog_dataval+1
+//	fetch 1,mem_lmp_to_send
+//	store 1,mem_debuglog_dataval
+	fetch 1,mem_lmp_to_send
+	store 2,mem_debuglog_dataval
+	ncall debuglog_push,blank
+endif
+endif
+	
+	fetch 1,mem_lmp_to_send
+	rtn blank
+	bbit1 7,p_send_lmp_escape
+	beq LMP_ACCEPTED,p_send_lmp_accepted
+	beq LMP_SETUP_COMPLETE,p_send_lmp_setup_complete
+	beq LMP_SNIFF_REQ, p_send_lmp_sniff_req
+	branch send_lmp0
+p_send_lmp_escape:
+	beq LMP_EXT_FEATURES_RES,p_send_lmpext_features_res
+	beq LMP_EXT_FEATURES_REQ,p_send_lmpext_features_req	
+	branch send_lmp_escape
+p_send_lmpext_features_res:
+	call p_check_ssp_enable
+	fetch 1,mem_lmp_to_send
+	branch send_lmpext_features_res
+p_send_lmpext_features_req:
+	call p_check_ssp_enable
+	fetch 1,mem_lmp_to_send
+	branch send_lmpext_features_req
+p_check_ssp_enable:
+	fetch 1,mem_ssp_enable 
+	branch ssp_disable,blank
+	branch ssp_enable
+
+p_send_lmp_setup_complete:
+	jam 1,mem_bt_send_lmp_setup_complete
+	branch send_lmp_setup_complete
+
+p_send_lmp_sniff_req:
+	jam 4,mem_mouse_bt_send_first_package_timer
+	branch send_lmp_sniff_req
+	
+
+p_send_lmp_accepted:
+	force 2,pdata
+	call msg_send_lmp
+	fetch 1,mem_lmi_opcode
+	istore 1,contw
+	store 1,mem_lmi_opcode_temp
+	call send_lmp_follow
+ifdef DEBUGLOG
+ifdef DEBUGLOG_MISC
+	setarg DEBUGLOG_DTYPE_MISC
+	store 2,mem_debuglog_datatype
+	fetch 1,mem_lmi_opcode_temp
+	store 1,mem_debuglog_dataval
+	call debuglog_push	
+endif
+endif
+	fetch 1,mem_lmi_opcode_temp
+	beq LMP_MAX_SLOT_REQ,p_send_lmp_accepted_max_slot_req	//sumsung a5100 patch
+	branch send_lmp_accepted+7
+
+
+p_send_lmp_accepted_max_slot_req:
+	fetch 1,mem_bt_rcvd_switch_req_accept
+	rtn blank
+	jam 0,mem_bt_rcvd_switch_req_accept
+	fetch 1,mem_bt_send_lmp_setup_complete
+	rtnne 2
+	jam 1,mem_bt_send_max_slot_req_accept_after_switch
+	copy clkn_bt,pdata
+	store 4,mem_aurand_send_delay_time
+	rtn
+
+p_process_conn_sm:
+	call lmo_fifo_check
+	nrtn blank
+p_process_conn_sm_continue:
+	fetch 1,mem_conn_sm
+	rtn blank
+ifdef DEBUGLOG
+ifdef DEBUGLOG_CONN_SM
+	call pdata_push
+	setarg DEBUGLOG_DTYPE_CONN_SM
+	store 2,mem_debuglog_datatype
+	fetch 1,mem_conn_sm
+	store 2,mem_debuglog_dataval
+	call pdata_pull
+	call debuglog_push	
+endif
+endif
+	beq CONN_SM_SEND_CONN_REQ, p_host_create_conn_send_conn_req
+	beq CONN_SM_WAIT_SWITCH_AFTER_HOST_CONNECTION,p_host_creat_conn_wait_switch
+	branch process_conn_sm_continue+2
+
+
+p_host_creat_conn_wait_switch:
+	fetch 1,mem_switch_flag
+	rtneq SWITCH_FLAG_INIT
+	beq SWITCH_FLAG_ACCEPT,p_host_create_conn_switch_accept
+	branch host_creat_conn_wait_switch+3
+p_host_create_conn_switch_accept:
+	rtn master
+p_host_create_conn_auth_pair:
+	/* checking whether or not to do m/s switch */
+	fetch 1,mem_connection_options
+	bbit1 CONNECTION_AUTH,p_host_create_conn_auth_pair_true
+	branch host_create_conn_auth_pair+1
+p_host_create_conn_auth_pair_true:
+	fetch 1,mem_bt_send_lmp_setup_complete
+	beq 1,host_create_conn_auth_pair_true
+	//sumsung a5100 patch
+	fetch 1,mem_link_key_exists
+	branch host_create_conn_auth_pair_nokey,blank
+	fetch 1,mem_lmp_conn_state
+	rtnbit0 SENT_SETUP_COMPLETE
+	rtnbit0 RECEIVED_SETUP_COMPLETE
+	fetch 1,mem_bt_send_max_slot_req_accept_after_switch
+	rtn blank
+	jam 0,mem_bt_send_max_slot_req_accept_after_switch	
+	fetch 4,mem_aurand_send_delay_time
+	arg 20,temp
+	iadd temp,temp
+	copy clkn_bt,pdata
+	isub temp,null
+	nbranch p_bt_send_max_slot_req_accept_after_switch_wait,positive
+	branch host_create_conn_auth
+
+p_bt_send_max_slot_req_accept_after_switch_wait:
+	jam 1,mem_bt_send_max_slot_req_accept_after_switch
+	rtn
+
+p_host_create_conn_send_conn_req:
+	jam 20,mem_mouse_send_switch_req_timer
+	branch host_create_conn_send_conn_req
+
+	
+ifdef DEBUGLOG
+p_parse_lmp_opcode:
+ifdef DEBUGLOG
+ifdef DEBUGLOG_PARSE_LMP
+	setarg DEBUGLOG_DTYPE_PARSE_LMP
+	store 2,mem_debuglog_datatype
+//	fetch 1,mem_rxbuf+1
+//	store 1,mem_debuglog_dataval+1 
+//	fetch 1,mem_lmi_opcode2
+//	store 1,mem_debuglog_dataval
+	fetch 1,mem_lmi_opcode2
+	store 2,mem_debuglog_dataval
+	call debuglog_push 
+endif
+endif
+	branch parse_lmp+21
+
+p_process_upper_sm_reconn:
+	fetch 1,mem_upper_sm_reconn
+	rtn blank
+ifdef DEBUGLOG
+ifdef DEBUGLOG_UPPER_SM
+	call pdata_push
+	setarg DEBUGLOG_DTYPE_UPPER_SM
+	store 2,mem_debuglog_datatype
+	fetch 1,mem_upper_sm_reconn
+	store 2,mem_debuglog_dataval
+	call pdata_pull
+	call debuglog_push	
+endif
+endif
+	branch process_upper_sm_reconn+3
+
+endif	
+
+endif
+	
+ifdef DEBUGLOG
+p_ui_ipc_send_event:
+ifdef DEBUGLOG
+ifdef DEBUGLOG_EVENT
+	call pdata_push
+	setarg DEBUGLOG_DTYPE_EVENT
+	store 2,mem_debuglog_datatype
+	fetch 1,mem_fifo_temp
+	store 2,mem_debuglog_dataval
+	call pdata_pull
+	call debuglog_push	
+endif
+endif
+	branch ui_ipc_send_event+1
+
+p_ui_ipc_send_cmd:
+ifdef DEBUGLOG
+ifdef DEBUGLOG_CMD
+	call pdata_push
+	setarg DEBUGLOG_DTYPE_CMD
+	store 2,mem_debuglog_datatype
+	fetch 1,mem_fifo_temp
+	store 2,mem_debuglog_dataval
+	call pdata_pull
+	call debuglog_push
+endif
+endif
+	branch ui_ipc_send_cmd+1
+endif
+
+power_ctrl_pac_succ_cnt_init:
+	jam 1,mem_power_ctrl_level
+	jam 0,mem_power_ctrl_pac_succ_cnt
+	rtn
+power_ctrl_pac_succ_incrs:
+	fetch 1,mem_power_ctrl_pac_succ_cnt
+	increase 1,pdata
+	store 1,mem_power_ctrl_pac_succ_cnt
+	rtn
+
+power_ctrl_pac_succ_cnt_reinit:
+	jam 3,mem_power_ctrl_pac_succ_cnt
+	rtn
+
+power_ctrl_start:
+	fetch 2,mem_ui_state_map
+	rtnbit1 UI_STATE_BLE_ADV
+//	rtnbit1 UI_STATE_BT_RECONNECT
+//	rtnbit1 UI_STATE_BT_DISCOVERY
+	
+	arg mem_rssi_signal_buf,rega
+	call p_rssi_average
+	storet 1,mem_rssi_avg_received
+
+ifdef DEBUGLOG
+ifdef DEBUGLOG_MISC
+	setarg DEBUGLOG_DTYPE_MISC
+	store 2,mem_debuglog_datatype
+	fetch 1,mem_power_ctrl_pac_succ_cnt
+	store 1,mem_debuglog_dataval
+	fetch 1,mem_rssi_avg_received
+	store 1,mem_debuglog_dataval+1
+	call debuglog_push	
+endif
+endif
+	setarg RSSI_DIS_MAX_24G
+	bmark1 mark_24g,power_ctrl_start_next
+	setarg RSSI_DIS_MAX_BLE
+power_ctrl_start_next:	
+	isub temp,null
+	nbranch power_ctrl_txpower_incrs_force,positive
+
+	fetch 1,mem_power_ctrl_pac_succ_cnt
+	sub pdata,2,null
+	nbranch power_ctrl_txpower_decrs_check,positive
+	fetch 1,mem_power_ctrl_pac_succ_cnt
+	beq 0,power_ctrl_txpower_incrs
+	rtn
+
+power_ctrl_txpower_decrs_check:
+	fetch 1,mem_power_ctrl_pac_succ_cnt
+	rtnne 32
+	jam 0,mem_power_ctrl_pac_succ_cnt
+power_ctrl_txpower_decrs:
+	fetcht 1,mem_rssi_avg_received
+	setarg RSSI_DIS_MIN_24G
+	bmark1 mark_24g,power_ctrl_txpower_decrs_next
+	setarg RSSI_DIS_MIN_BLE	
+power_ctrl_txpower_decrs_next:	
+	isub temp,null
+	nrtn positive
+	fetch 1,mem_power_ctrl_level
+	beq 0,power_ctrl_decrs_level0
+	increase -1,pdata
+	store 1,mem_power_ctrl_level
+	beq 0,power_ctrl_decrs_level0
+power_ctrl_decrs_level1:
+power_ctrl_incrs_level1:	//0dBm
+ifdef DEBUGLOG
+ifdef DEBUGLOG_MISC
+	setarg DEBUGLOG_DTYPE_MISC
+	store 2,mem_debuglog_datatype
+	setarg MISC_TXPOWER_1
+	store 2,mem_debuglog_dataval
+	call debuglog_push
+endif
+endif
+	jam TX_POWER_0DB,mem_tx_power
+	rtn
+
+power_ctrl_txpower_incrs_force:
+	jam 0,mem_power_ctrl_pac_succ_cnt
+power_ctrl_txpower_incrs:
+	fetch 1,mem_power_ctrl_level
+	beq 2,power_ctrl_incrs_level2
+	increase 1,pdata
+	store 1,mem_power_ctrl_level
+	beq 1,power_ctrl_incrs_level1
+power_ctrl_incrs_level2:	//+6dBm
+ifdef DEBUGLOG
+ifdef DEBUGLOG_MISC
+	setarg DEBUGLOG_DTYPE_MISC
+	store 2,mem_debuglog_datatype
+	setarg MISC_TXPOWER_2
+	store 2,mem_debuglog_dataval
+	call debuglog_push
+endif
+endif
+
+	jam TX_POWER_5DB,mem_tx_power
+	rtn
+	
+power_ctrl_decrs_level0: //-5dBm
+ifdef DEBUGLOG
+ifdef DEBUGLOG_MISC
+	setarg DEBUGLOG_DTYPE_MISC
+	store 2,mem_debuglog_datatype
+	setarg MISC_TXPOWER_0
+	store 2,mem_debuglog_dataval
+	call debuglog_push
+endif
+endif
+	jam TX_POWER_f5DB,mem_tx_power
+	rtn
+
+endif
+
+p_set_freq_tx:
+	storet 1,mem_last_freq
+	add temp,0,rega			/* index to frequency */
+	call rf_write_freq
+	setarg param_pll_setup	//128us
+	call sleep
+p_rf_tx_enable:
+	jam 0x1,rfen_adc
+	jam 0x3c,rfen_rx
+	jam 0xe0,rfen_tx
+	nop 10 /* wait LDOs to turn ON*/
+	jam 0x01, rfen_mdm
+	jam 0x3d, rfen_mdm
+	nop 10 /* wait tx blocks to turn ON*/
+	jam 0xb7,rfen_sn
+	nop 10 /* wait tx lo buffer to turn ON*/
+	jam 0x7d, rfen_mdm
+	fetch 1,mem_tx_power
+//	beq TX_POWER_0DB,p_set_tx_power_0db
+//	beq TX_POWER_3DB,p_set_tx_power_3db	
+	beq TX_POWER_5DB,p_set_tx_power_5db
+//	beq TX_POWER_f3DB,p_set_tx_power_f3db	
+	beq TX_POWER_f5DB,p_set_tx_power_f5db
+	beq TX_POWER_PAIR,p_set_tx_power_pair
+//	branch p_set_tx_power_0db
+p_set_tx_power_0db:
+	call p_rx_low_sens
+//	jam 0xba,0x894b
+	jam 0xd0,0x8955
+	jam 0xe0,0x8956
+//	jam 0x88,0x8957
+	jam 0x6c,0x8958
+//	jam 0x10,0x8959
+	branch set_tx_power_0db
+
+//p_set_tx_power_3db:
+//	call p_rx_high_sens
+//	jam 0xba,0x894b
+//	jam 0xd0,0x8955
+//	jam 0xe0,0x8956
+//	jam 0x88,0x8957
+//	jam 0x3c,0x8958
+//	jam 0x10,0x8959
+//	branch set_tx_power_3db
+	
+p_set_tx_power_5db:
+//	call p_rx_high_sens
+p_rx_high_sens:
+	jam 0xfb,0x894c 
+	jam 0xef,0x894d
+	jam 0xec,0x894e 
+	jam 0x5e,0x894f
+	
+//	jam 0xba,0x894b
+	jam 0xd0,0x8955
+	jam 0xe0,0x8956
+//	jam 0x88,0x8957
+	jam 0x3c,0x8958
+//	jam 0x10,0x8959
+	branch set_tx_power_5db
+
+//p_set_tx_power_f3db:
+//	call p_rx_low_sens
+//	jam 0xba,0x894b
+//	jam 0xd0,0x8955
+//	jam 0xc0,0x8956
+//	jam 0x88,0x8957
+//	jam 0x6c,0x8958
+//	jam 0x10,0x8959
+//	branch set_tx_power_f3db
+	
+p_set_tx_power_f5db:
+	call p_rx_low_sens
+//	jam 0xba,0x894b
+	jam 0xd0,0x8955
+	jam 0xc0,0x8956
+//	jam 0x88,0x8957
+	jam 0x6c,0x8958
+//	jam 0x10,0x8959
+	branch set_tx_power_f5db
+
+p_rx_low_sens:
+	jam 0x5b,0x894c
+	jam 0x96,0x894d
+	jam 0x2c,0x894e 
+	jam 0x46,0x894f
+	rtn
+		
+p_set_tx_power_pair:	//50-100cm distance
+//	jam 0xba,0x894b
+ 	jam 0xc2,0x8956
+ 	jam 0xd0,0x8955
+	rtn	
+
+p_shutdown_radio:
+	force 8,radio_ctrl
+	branch shutdown_radio+1
+
+
+ifdef DEBUGLOG 
+pdata_push:
+	store 8,mem_debuglog_pdata
+	rtn
+
+pdata_pull:
+	fetch 8,mem_debuglog_pdata
+	rtn
+	
+debuglog_init:
+	call pdata_push
+	call debuglog_uart_init
+	call debuglog_mem_init
+	branch pdata_pull
+ 
+debuglog_uart_init:
+	/*step1:SET IO TX:GPIO6	RX:GPIO7*/
+	hfetch 1,core_gpio_sel1
+	set1 2,pdata
+	hstore 1,core_gpio_sel1 //Open UARTGPIO MUX
+	hfetch 4,core_gpio_pu0	 //RX pull up
+	set1 7,pdata
+	hstore 4,core_gpio_pu0
+	
+	/*step2:sel UARTclk bit0	=0:crystal	 =1:48M*/
+	hfetch 1,core_uart_clksel
+	set1 0,pdata
+	hstore 1,core_uart_clksel
+
+	/*step3:Enable uart clk
+	core_clkoff(0x8050)bit15 = 0,Enable uart clk*/
+	hfetch 2,core_clkoff
+	set0 0x0f,pdata
+	hstore 2,core_clkoff
+
+	/*step3:Set Ring Buffer*/
+	setarg mem_module_rx_buf		//RX buf Start Addr
+	hstore 2,core_uart_rsaddr
+
+	setarg mem_module_rx_buf_end	//RX buf End Addr
+	hstore 2,core_uart_readdr
+
+	setarg mem_module_tx_buf		//TX BUF Start Addr
+	hstore 2,core_uart_tsaddr
+
+	setarg mem_module_tx_buf_end	//TX buf End Addr
+	hstore 2,core_uart_teaddr
+	
+	setarg mem_module_rx_buf		//RX buf RPTR
+	hstore 2,core_uart_rrptr
+
+	setarg mem_module_tx_buf		//TX buf WPTR
+	hstore 2,core_uart_twptr
+
+	hstore 2,core_uart_trptrp		//TX buf RPTR
+
+	/*step4:SET baud*/
+	//hstore 2,mem_baud
+	setarg 0x34
+	hstore 2,core_uart_baud
+
+	/*step5:SET DataLen,parity bit,flow control and enable UART
+	RW	0	Enable UART
+	RW	1	1: odd parity; 0: even parity
+	RW	2	UART Data length 1: 9 bits; 0: 8 bits
+	RW	3	1: HCI uart SLIP protocol
+	RW	4	1: enable RTS/CTS flow control
+	RW	5	1: enable 7816 smart card protocol
+	RW	6	1: enable half duplex single line UART
+	RW	7	1: Use baud settings 0:auto detect baud rate*/
+	jam 0x00,core_uart_ctrl
+	jam 0x81,core_uart_ctrl
+	rtn 
+
+debuglog_mem_init:
+	jam DEBUGLOG_HEAD,mem_debuglog_temp
+	jam DEBUGLOG_TYPE,mem_debuglog_type
+	jam DEBUGLOG_LEN ,mem_debuglog_datalen
+	jam DEBUGLOG_TAIL,mem_debuglog_tail
+	rtn	
+
+debuglog_push:
+	call pdata_push
+	hfetch 1,core_uart_status
+	rtnbit1 uart_status_tx_fifo_full
+	call uartd_prepare_tx
+	fetch 8,mem_debuglog_temp
+	istore 8,contwu
+	call uartd_send
+	branch pdata_pull 
+endif
+
+ifdef RF_DEBUG
+test_gpio_init:
+	arg TEST_GPIO,temp
+	call gpio_config_output
+test_gpio_low:
+	arg TEST_GPIO,temp
+	call gpio_out_active
+	nop 10
+	rtn
+test_gpio_high:
+	arg TEST_GPIO,temp
+	call gpio_out_inactive
+	nop 10
+	rtn
+
+test_h_l:
+	call test_gpio_high
+	branch test_gpio_low
+test_h_l_h:
+	call test_gpio_high
+	call test_gpio_low	
+	branch test_gpio_high
+endif
+
+ifdef MOUSE_SMOOTHER
+//notice: need to call p_mouse_drawing_optima_init when waked from mult
+p_drawing_optima:
+	fetch 4,mem_mouse_x
+	rtn blank
+	call p_data_abs_check
+	setarg 0x06	//asm_flag enable condition
+	call p_data_greater_than_check
+	setarg 0x03	//asm_flag disable condition
+	call p_data_less_than_check
+	fetch 1,mem_mouse_asm_flag
+	beq 1,p_drawing_optima_modify
+//	branch p_drawing_optima_init
+p_drawing_optima_init:
+	arg 5,loopcnt
+	arg mem_mouse_asm_flag,contw
+	branch clear_mem
+
+p_drawing_optima_modify:
+	fetch 2,mem_mouse_x_pre
+	store 2,mem_data_pre
+	fetch 2,mem_mouse_x
+	store 2,mem_data_current
+	call p_drawing_optima_data
+	fetch 2,mem_data_pre
+	store 2,mem_mouse_x_pre
+	fetch 2,mem_data_current
+	store 2,mem_mouse_x
+
+	fetch 2,mem_mouse_y_pre
+	store 2,mem_data_pre
+	fetch 2,mem_mouse_y
+	store 2,mem_data_current
+	call p_drawing_optima_data
+	fetch 2,mem_data_pre
+	store 2,mem_mouse_y_pre
+	fetch 2,mem_data_current
+	store 2,mem_mouse_y
+	rtn
+
+/**********
+input:data_pre,data_current
+output:data_pre,data_current after optima
+***********/
+p_drawing_optima_data:
+	fetch 2,mem_data_pre
+	fetcht 2,mem_data_current
+	iadd temp,pdata
+	store 3,mem_data_sum
+	isolate1 16,pdata
+	branch p_data_sum_overflow,true
+	fetch 1,mem_data_sum+1
+	beq 0xff,p_data_sum_n
+	fetch 1,mem_data_sum
+p_data_store_pre:
+	rshift pdata,pdata
+	store 2,mem_data_pre
+	store 2,mem_data_current
+	rtn
+p_data_sum_overflow:
+	fetch 1,mem_data_sum+1	//sum positive
+	beq 0,p_data_sum_overflow_p
+	fetch 3,mem_data_sum	//鍏ㄨ礋鐩稿姞
+	branch p_data_store_pre
+p_data_sum_overflow_p:
+	jam 0,mem_data_sum+2
+	fetch 1,mem_data_sum
+	branch p_data_store_pre
+
+p_data_sum_n:
+	fetch 1,mem_data_sum	//sum negetive
+	call p_pdata_get_half
+	store 1,mem_data_pre
+	store 1,mem_data_current
+	branch p_data_zero,blank
+	setarg 0xff
+p_data_set_direction:	
+	store 1,mem_data_pre+1
+	store 1,mem_data_current+1
+	rtn
+p_data_zero:
+	setarg 0
+	branch p_data_set_direction
+
+p_pdata_get_half:
+	sub pdata,0,pdata
+	store 1,mem_rega
+	fetch 1,mem_rega
+	rshift pdata,pdata
+	store 1,mem_rega
+	fetch 1,mem_rega
+	sub pdata,0,pdata
+	rtn
+
+//rega mouse_x, regb mouse_y, pdata refer
+p_data_greater_than_check:
+	isub rega,null
+	nbranch p_enable_asm,positive
+	isub regb,null
+	nbranch p_enable_asm,positive
+p_disable_asm:
+	jam 0,mem_mouse_asm_flag
+	rtn
+p_data_less_than_check:
+	isub rega,null
+	nrtn positive
+	isub regb,null
+	nrtn positive
+	branch p_disable_asm
+p_enable_asm:
+	jam 1,mem_mouse_asm_flag
+	rtn
+
+p_data_abs_check:
+	fetch 2,mem_mouse_x
+	store 2,mem_data_current
+	call p_data_abs
+	copy pdata,rega
+	fetch 2,mem_mouse_y
+	store 2,mem_data_current
+	call p_data_abs
+	copy pdata,regb
+	rtn
+
+/***********
+input: data_current
+output:pdata,abs
+************/
+p_data_abs:
+	fetch 1,mem_data_current+1
+	beq 0xff,p_data_reversal
+	fetch 1,mem_data_current
+p_data_abs_store:
+	and_into 0xff,pdata
+	//output:pdata
+	rtn
+p_data_reversal:
+	fetch 2,mem_data_current
+	sub pdata,0,pdata
+	branch p_data_abs_store
+
+endif
+
+ifdef TESTDATA
+//1 mem_m_key
+//2 mem_m_x
+//2 mem_m_y
+//1 mem_m_z
+//1 mem_m_tz
+//1 mem_24g_test
+p_g24_test_data:
+	fetch 1,mem_24g_test
+	increase 1,pdata
+	store 1,mem_24g_test
+	sub pdata,50,null
+	branch p_ms_x_right,positive
+	sub pdata,100,null
+	branch p_ms_y_up,positive
+	sub pdata,150,null
+	branch p_ms_x_left,positive
+	sub pdata,200,null
+	branch p_ms_y_down,positive
+	rtn
+p_ms_x_right:
+	setarg 0x05
+	store 2,mem_m_x
+	setarg 0
+	store 2,mem_m_y
+	store 1,mem_m_z
+	store 1,mem_m_key
+	store 1,mem_m_tz
+p_data:	
+	enable user
+	fetch 7,mem_m_key
+	store 7,mem_mouse_key
+	rtn
+p_ms_y_up:
+	setarg 0x05
+	store 2,mem_m_y
+	setarg 0
+	store 2,mem_m_x
+	store 1,mem_m_z
+	store 1,mem_m_key
+	store 1,mem_m_tz
+	branch p_data
+p_ms_x_left:
+	setarg 0xfffb
+	store 2,mem_m_x
+	setarg 0
+	store 2,mem_m_y
+	store 1,mem_m_z
+	store 1,mem_m_key
+	store 1,mem_m_tz
+	branch p_data
+p_ms_y_down:
+	fetch 1,mem_24g_test
+	beq 200,p_mem_usb_data_square_cnt_set0
+	setarg 0xfffb
+	store 2,mem_m_y
+	setarg 0
+	store 2,mem_m_x
+	store 1,mem_m_z
+	store 1,mem_m_key
+	store 1,mem_m_tz
+	branch p_data
+p_mem_usb_data_square_cnt_set0:
+	jam 0,mem_24g_test
+	branch p_ms_y_down+2
+endif
+
+ifdef MEMLOG
+p_hci_log:
+	fetch 1,0x4d00
+	increase 1,pdata
+	sub pdata,50,null
+	branch p_hci_log_calc_ptr,positive
+	setarg 0
+p_hci_log_calc_ptr:
+	store 1,0x4d00
+	arg 8,temp
+	imul32 temp,pdata
+	arg 0x4d08,contw
+	iadd contw,contw
+p_hci_log_write_content:
+	fetch 1,0x4d00
+	istore 1,contw//counter
+	fetch 4,mem_le_supervision_timer
+	istore 4,contw
+	fetch 2,mem_le_superto
+	istore 2,contw	
+	rtn
+endif	
+
+endif
+
Index: rom/app.prog
===================================================================
--- /branch/mouse_project/ZhongXinSheng/ZXS_1062/MJ391_24G&BLE_PB/rom/app.prog	(revision 0)
+++ /branch/mouse_project/ZhongXinSheng/ZXS_1062/MJ391_24G&BLE_PB/rom/app.prog	(working copy)
@@ -0,0 +1,576 @@
+app_init:
+	bpatch patch18_4,mem_patch18
+	fetch 1,mem_device_option
+	branch app_init,blank				/* wait ram to be initialized */
+//	beq dvc_op_ukey,le_ukey_init
+	beq dvc_op_dongle,dongle_init
+	beq dvc_op_AntiLost,antilost_init
+	beq dvc_op_shutter,shutter_init
+	beq dvc_op_module,module_init
+	beq dvc_op_car,car_init
+	beq dvc_op_remote_car,remote_car_init
+	bbit1 dvc_op_mouse,mouse_init
+	rtn
+	
+app_lpm_init:
+	bpatch patch18_5,mem_patch18
+	jam 0,mem_tester_emulate
+	jam 0,mem_debug_config
+	jam 0, mem_lch_code
+	setarg 0
+	store 5,mem_sp_state_start
+	fetch 1,mem_device_option
+	branch app_lpm_init,blank				/* wait ram to be initialized */
+	beq dvc_op_module,module_lpm_init
+app_lpm_init0:
+	rtn
+
+	
+app_process_idle:
+	call ui_dispatch
+	call check_51cmd
+	call app_process_bb_event
+	fetch 2,mem_cb_idle_process
+	branch callback_func
+	
+app_process_bt:
+	fetch 2,mem_cb_bt_process
+	branch callback_func
+	
+app_process_ble:
+	fetch 2,mem_cb_le_process
+	branch callback_func
+
+app_process_bb_event:
+	bpatch patch18_6,mem_patch18
+	//return if c51 need to process bb event
+	arg mem_ipc_fifo_bt2c51,rega
+	call fifo_out
+	rtn blank
+	//reaching here mains c51 cannot get bb event.
+	copy pdata,regc
+	call app_event_normal_process
+	branch app_process_bb_event_priority
+	
+app_discard_event:
+	arg 0,regc
+	rtn
+
+//************************************************//
+//*APP BB EVENT NORMAL PROCESS**//
+//************************************************//
+app_event_normal_process:
+	beq BT_EVT_BB_CONNECTED,app_evt_bt_conn
+	beq BT_EVT_BUTTON_LONG_PRESSED,app_evt_button_long_pressed
+	beq BT_EVT_SETUP_COMPLETE,app_evt_setup_complete
+	beq BT_EVT_HID_HANDSHAKE,app_evt_hid_handshake
+	beq BT_EVT_HID_CONNECTED,app_bb_event_hid_connected
+	beq BT_EVT_RECONN_FAILED,app_bb_event_reconn_failed
+	beq BT_EVT_BB_DISCONNECTED,app_bb_event_bb_disconn
+	beq BT_EVT_RECONN_PAGE_TIMEOUT,app_bb_event_reconn_failed	
+	beq BT_EVT_LE_CONNECTED,app_le_event_bb_connected
+	beq BT_EVT_LE_DISCONNECTED,app_le_event_bb_disconn
+	beq BT_EVT_RECONN_STARTED,app_event_reconn_start
+	beq BT_EVT_ENTER_SNIFF,app_event_enter_sniff
+	beq BT_EVT_EXIT_SNIFF,app_event_exit_sniff
+	
+	beq BT_EVT_ML2CAP_CONN_REFUSED,app_event_ml2cap_conn_refused
+	beq BT_EVT_LINKKEY_GENERATE,app_event_linkkey_generate
+	beq BT_EVT_SWITCH_FAIL_MASTER,app_event_switch_fail_master
+	beq BT_EVT_SWITCH_SUCCESS_MASTER,app_event_switch_success
+	rtn
+
+
+app_evt_bt_conn:
+	fetch 2,mem_ui_state_map
+	set1 UI_STATE_BT_CONNECTED,pdata
+	store 2,mem_ui_state_map
+	fetch APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	set0 APP_DISC_BY_BUTTON ,pdata
+	store APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	rtn
+
+app_event_switch_success:
+	jam 0,mem_switch_fail_master_count
+	rtn	
+
+app_event_switch_fail_master:
+	fetch 1,mem_switch_fail_master_count
+	increase 1,pdata
+	store 1,mem_switch_fail_master_count
+	sub pdata,1,null
+	branch app_bt_role_switch,positive
+	jam 0,mem_switch_fail_master_count
+	fetch APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	set1 APP_DISC_SWITCH_FAIL,pdata
+	store APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	branch app_bt_disconnect
+	
+app_process_bb_event_priority:
+	fetch 2,mem_cb_bb_event_process
+	branch callback_func
+
+app_check_wake_lock:
+	fetch 2,mem_cb_check_wakelock
+	branch callback_func
+	
+app_will_enter_lpm:
+	fetch 2,mem_cb_before_lpm
+	branch callback_func
+
+app_event_linkkey_generate:
+	fetch APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	set1 APP_DISC_AFTER_PAIRING ,pdata
+	store APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	branch app_bt_store_reconn_info
+	
+app_event_reconn_start:
+	fetch 2,mem_ui_state_map
+	set1 UI_STATE_BT_RECONNECT,pdata
+	store 2,mem_ui_state_map
+	fetch APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	set1 APP_DISC_AFTER_RECONN,pdata
+	store APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	rtn
+
+app_evt_setup_complete:
+	fetch 2,mem_ui_state_map
+	set1 UI_STATE_BT_SETUP_COMPLETE,pdata
+	store 2,mem_ui_state_map
+	fetch APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	set1 APP_DISC_AFTER_SETUP_DONE,pdata
+	store APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	rtn
+
+app_evt_hid_handshake:
+	fetch 2,mem_ui_state_map
+	set1 UI_STATE_BT_HID_HANDSHAKE,pdata
+	store 2,mem_ui_state_map
+	rtn
+	
+app_event_enter_sniff:
+	fetch 2,mem_ui_state_map
+	set1 UI_STATE_BT_SNIFF,pdata
+	store 2,mem_ui_state_map
+	fetch APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	set1 APP_DISC_AFTER_SNIFF,pdata
+	store APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	rtn
+	
+app_event_exit_sniff:
+	fetch 2,mem_ui_state_map
+	set0 UI_STATE_BT_SNIFF,pdata
+	store 2,mem_ui_state_map
+	rtn
+
+app_le_event_bb_connected:
+	fetch 2,mem_ui_state_map
+	set1 UI_STATE_BLE_CONNECTED,pdata
+	store 2,mem_ui_state_map
+	rtn
+	
+app_le_event_bb_disconn:
+	fetch 2,mem_ui_state_map
+	set0 UI_STATE_BLE_CONNECTED,pdata
+	store 2,mem_ui_state_map
+	branch app_lpm_mult_disable
+	
+app_bb_event_hid_connected:
+	fetch 2,mem_ui_state_map
+	set1 UI_STATE_BT_HID_CONN,pdata
+	store 2,mem_ui_state_map
+	rtn
+
+app_evt_button_long_pressed:
+	fetch APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	set1 APP_DISC_BY_BUTTON,pdata
+	store APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	rtn
+	
+app_event_ml2cap_conn_refused:
+	fetch APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	set1 APP_DISC_L2CAP_REFUSED,pdata
+	store APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	branch  app_bt_disconnect
+
+
+app_evt_timer:
+	bpatch patch18_7,mem_patch18
+	store 1,mem_app_evt_timer_count
+app_evt_100ms_loop:
+	fetch 1,mem_app_evt_timer_count
+	rtn blank
+	increase -1,pdata
+	store 1,mem_app_evt_timer_count
+	call ui_button_polling
+	call app_lpm_wake_auto_lock_timer
+	call app_unsniff_delay_timer
+	call app_discovery_timer
+	call flash_write_spi_sm_timer
+	fetch 2,mem_cb_event_timer
+	call callback_func
+	branch app_evt_100ms_loop
+
+
+//regc:timer addr
+//regb:timer up call back fuction
+timer_single_step:
+	ifetch 1,regc
+	rtn blank
+	pincrease -1
+	istore 1,regc
+	nrtn blank
+	copy regb,pdata
+	branch callback_func
+
+//regc:timer addr
+//regb:timer up call back fuction
+timer_single_step_2B:
+	ifetch 2,regc
+	rtn blank
+	pincrease -1
+	istore 2,regc
+	nrtn blank
+	copy regb,pdata
+	branch callback_func
+	
+app_power_timer:
+	fetcht 2,mem_power_param_ptr
+	add temp,power_timer_offset,regc
+	arg app_power_timer_timeout,regb
+	branch timer_single_step
+	
+app_power_timer_timeout:
+	call app_got_power_state_common
+	beq POWER_STARTING,app_enter_power_stanby_state
+app_enter_power_off_state:
+	branch app_enter_hibernate
+app_enter_power_stanby_state:
+	setarg POWER_STANDBY
+	istore 1,regc
+	add temp,power_standby_cb_offset,regb
+app_power_cb_common:
+	ifetch 2,regb
+	branch callback_func
+
+app_unsniff_delay_timer:
+	arg mem_unsniff2sniff_timer_count,regc
+	arg app_unsniff_delay_timeout,regb
+	branch timer_single_step
+	
+app_unsniff_delay_timeout:
+	call context_check_idle
+	branch app_bt_enter_sniff,zero
+	rtn
+
+
+app_discovery_timer:
+	arg mem_discovery_timeout_timer_count,regc
+	arg app_discovery_timeout,regb
+	branch timer_single_step_2B
+	
+app_discovery_timeout:
+	call app_bt_stop_discovery
+	call app_led_off
+	fetch 2,mem_cb_discovry_timeout
+	branch callback_func
+
+	
+app_bb_event_reconn_failed:
+	call app_disconn_reason_flag_clear
+app_clear_reconnect_flag:
+	fetch 2,mem_ui_state_map
+	set0 UI_STATE_BT_RECONNECT,pdata
+	store 2,mem_ui_state_map
+	rtn
+
+app_bb_event_bb_disconn:
+	jam 0,mem_unsniff2sniff_timer_count
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BT_RECONNECT,app_bb_event_bb_reconn_disconn
+	isolate0 UI_STATE_BT_SETUP_COMPLETE,pdata
+ 	call app_discard_event,true
+app_bb_event_bb_reconn_disconn:
+	bpatch patch19_0,mem_patch19
+	fetch 2,mem_ui_state_map
+	set0 UI_STATE_BT_CONNECTED,pdata
+	set0 UI_STATE_BT_SETUP_COMPLETE,pdata
+	set0 UI_STATE_BT_HID_CONN,pdata
+	set0 UI_STATE_BT_HID_HANDSHAKE,pdata
+	set0 UI_STATE_BT_RECONNECT,pdata
+	store 2,mem_ui_state_map
+	branch app_lpm_mult_disable
+	
+app_bb_hibernate:
+	call app_disconn_reason_clear
+	branch app_enter_hibernate
+
+	
+app_disconn_reason_clear:
+	setarg 0
+	store APP_DISC_RSN_SIZE,mem_app_disconn_reason
+	rtn
+app_disconn_reason_flag_clear:
+	setarg 0
+	store APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	rtn
+
+app_disconn_reason_collect_bt:
+	fetch APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	store APP_DISC_RSN_SIZE,mem_app_disconn_reason
+	setarg 0
+	store APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	rtn
+	
+app_disconn_reason_collect_ble:
+	fetch APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	set1 APP_DISC_BLE,pdata
+	store APP_DISC_RSN_SIZE,mem_app_disconn_reason
+	setarg 0
+	store APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	rtn
+
+	
+//************************************************//
+//********APP SHARED FUNCSIONS*******//
+//************************************************//
+
+
+app_check_sniff:
+	fetch 1,mem_ui_state_map
+	isolate1 UI_STATE_BT_SNIFF,pdata
+	rtn
+
+//*****************************************//
+//*****************API********************//
+//*****************************************//
+//app_clearflag_store:
+//	setarg 0
+//	branch app_flag_store
+app_initflag_store:
+	setarg EEPROM_INIT_FLAG
+app_flag_store:
+	store 2,mem_timeup
+	bpatch patch19_1,mem_patch19
+	arg 2,temp
+	arg mem_timeup,rega
+	arg eeprom_module_init_flag,regb
+	branch iicd_write_eep_data
+
+//initflag is in eeprom to sure is eeprom nead to init
+app_initflag_check:
+	bpatch patch19_2,mem_patch19
+	arg 2,temp
+	arg mem_pdatatemp,rega
+	arg eeprom_module_init_flag,regb
+	call iicd_read_eep_data
+	fetch 2,mem_pdatatemp
+	arg EEPROM_INIT_FLAG,temp
+	isub  temp,null
+	rtn
+
+
+app_start_auto_sniff:
+	fetch 1,mem_unsniff2sniff_timer
+	store 1,mem_unsniff2sniff_timer_count
+	rtn	
+	
+app_get_lpm_wake_lock:
+	arg wake_lock_app,queue
+	branch lpm_get_wake_lock
+
+app_put_lpm_wake_lock:
+	arg wake_lock_app,queue
+	branch lpm_put_wake_lock
+	
+app_lpm_wake_auto_lock:
+	jam  LPM_WAKE_UP_DELAY_TIMER,mem_wake_up_delay_timer
+	branch app_get_lpm_wake_lock
+	
+app_lpm_wake_auto_lock_timer:
+	arg mem_wake_up_delay_timer,regc
+	arg app_put_lpm_wake_lock,regb
+	branch timer_single_step
+
+app_l2cap_flow_control_enable:
+	jam L2CAP_FLOW_CTRL_ENABLE,mem_l2cap_flow_ctrl_flag
+	rtn
+
+app_l2cap_flow_control_disable:
+	jam L2CAP_FLOW_CTRL_DISABLE,mem_l2cap_flow_ctrl_flag
+	rtn
+	
+app_bt_set_pincode:
+	jam BT_CMD_SET_PIN_CODE,mem_fifo_temp
+	branch ui_ipc_send_cmd
+
+app_bt_role_switch:
+	jam BT_CMD_ROLE_SWITCH,mem_fifo_temp
+	branch ui_ipc_send_cmd
+	
+app_bt_start_reconnect:
+	bpatch patch19_3,mem_patch19
+	fetch 1,mem_app_connection_options
+	store 1,mem_connection_options
+	jam APP_FLAG_RECONNECT,mem_reconnect_flag
+	jam BT_CMD_RECONNECT,mem_fifo_temp
+	branch ui_ipc_send_cmd	
+	
+app_bt_reconnect_cancel:
+	jam BT_CMD_BB_RECONN_CANCEL,mem_fifo_temp
+	branch ui_ipc_send_cmd
+	
+app_bt_disconnect:
+	jam BT_CMD_DISCONNECT,mem_fifo_temp
+	branch ui_ipc_send_cmd	
+
+app_bt_start_discovery_short:
+	fetch 2,mem_discovery_timeout
+	store 2,mem_discovery_timeout_timer_count
+app_bt_start_discovery_led_blink:
+	call app_led_start_blink
+app_bt_start_discovery:
+	jam BT_CMD_START_DISCOVERY,mem_fifo_temp
+	branch ui_ipc_send_cmd
+
+app_bt_stop_discovery:
+	setarg 0
+	store 2,mem_discovery_timeout_timer_count
+	jam BT_CMD_STOP_DISCOVERY,mem_fifo_temp
+	branch ui_ipc_send_cmd
+	
+app_ble_start_direct_adv:
+	jam BT_CMD_START_DIRECT_ADV,mem_fifo_temp
+	branch ui_ipc_send_cmd
+
+app_ble_stop_direct_adv:
+	jam BT_CMD_STOP_DIRECT_ADV,mem_fifo_temp
+	branch ui_ipc_send_cmd
+	
+app_ble_stop_adv:
+	jam BT_CMD_STOP_ADV,mem_fifo_temp
+	branch ui_ipc_send_cmd
+	
+app_ble_start_adv:	
+	jam BT_CMD_START_ADV,mem_fifo_temp
+	branch ui_ipc_send_cmd
+	
+app_ble_start_scan:
+	jam BT_CMD_LE_START_SCAN,mem_fifo_temp
+	branch ui_ipc_send_cmd
+	
+app_ble_stop_scan:
+	jam BT_CMD_LE_STOP_SCAN,mem_fifo_temp
+	branch ui_ipc_send_cmd
+	
+app_ble_start_conn:
+	jam BT_CMD_LE_START_CONN,mem_fifo_temp
+	branch ui_ipc_send_cmd
+	
+app_ble_disconnect:
+	jam BT_CMD_LE_DISCONNECT,mem_fifo_temp
+	branch ui_ipc_send_cmd
+	
+app_led_start_blink:	
+	jam BT_CMD_LED_BLINK,mem_fifo_temp
+	branch ui_ipc_send_cmd
+
+app_led_on:
+	jam BT_CMD_LED_ON,mem_fifo_temp
+	branch ui_ipc_send_cmd
+	
+app_led_stop_blink:
+app_led_off:
+	jam BT_CMD_LED_OFF,mem_fifo_temp
+	branch ui_ipc_send_cmd
+	
+app_enter_hibernate:
+	jam BT_CMD_ENTER_HIBERNATE,mem_fifo_temp 
+	branch ui_ipc_send_cmd
+	
+app_bt_sniff_exit:
+	jam BT_CMD_EXIT_SNIFF,mem_fifo_temp
+	branch  ui_ipc_send_cmd
+	
+app_bt_enter_sniff:
+	jam BT_CMD_ENTER_SNIFF,mem_fifo_temp
+	branch ui_ipc_send_cmd
+
+app_ble_store_reconn_info:
+	jam BT_CMD_STORE_RECONN_INFO_LE,mem_fifo_temp
+	branch ui_ipc_send_cmd
+
+app_bt_store_reconn_info:
+	jam BT_CMD_STORE_RECONN_INFO_BT,mem_fifo_temp
+	branch ui_ipc_send_cmd
+
+app_store_reconn_info:
+	jam BT_CMD_STORE_RECONN_INFO,mem_fifo_temp
+	branch ui_ipc_send_cmd
+
+app_lpm_mult_enable:
+	set1 mark_lpm_mult_enable,mark
+	rtn
+
+app_lpm_mult_disable:
+	set0 mark_lpm_mult_enable,mark
+	rtn
+
+
+/*
+
+mem_power_param struct
+{
+	usigned char     mem_power_state
+	usigned char     mem_power_timer
+	usigned char	 mem_power_off_timeout
+	usigned char	 mem_power_starting_timeout
+	usigned long	 mem_power_off_cb
+	usigned long	 mem_power_starting_cb
+	usigned long	 mem_power_standby_cb
+	usigned long 	 mem_ui_butten_up_cb
+}
+    	functions:power state switching by mem_app_power_timer timeout or by button_long_pressed event
+    	(power off -> power starting->power standby->power off) and power timer initialization 
+ input parameters:mem_power_param_ptr should be point to the variable(mem_power_param) address where the input parameters stored in with its format
+output parameters:switched power state will be stored in variable mem_power_state*/
+app_button_long_pressed:
+	call app_got_power_state_common
+	beq POWER_STANDBY,app_power_shutting_down
+app_power_starting:
+	setarg POWER_STARTING
+	istore 1,regc
+	add temp,power_starting_timeout_offset,rega
+	add temp,power_starting_cb_offset,regb
+app_power_common:
+	ifetcht 1,rega
+	increase 1,regc
+	istoret 1,regc
+	branch app_power_cb_common
+	
+app_power_shutting_down:
+	setarg POWER_OFF
+	istore 1,regc
+	fetch 2,mem_ui_state_map
+	bbit0 UI_STATE_BLE_CONNECTED,app_power_off_end
+	call app_ble_disconnect
+app_power_off_end:
+	fetcht 2,mem_power_param_ptr
+	add temp,power_off_timeout_offset,rega
+	add temp,power_off_cb_offset,regb
+	branch app_power_common
+	
+app_got_power_state_common:
+	fetcht 2,mem_power_param_ptr
+	add temp,power_state_offset,regc
+	ifetch 1,regc
+	rtn
+
+app_event_button_up:
+	call app_got_power_state_common
+	bne POWER_OFF,app_power_release
+	branch app_enter_hibernate
+app_power_release:
+	add temp,ui_butten_up_cb_offset,regb
+	branch app_power_cb_common
+
Index: rom/app_mouse.prog
===================================================================
--- /branch/mouse_project/ZhongXinSheng/ZXS_1062/MJ391_24G&BLE_PB/rom/app_mouse.prog	(revision 0)
+++ /branch/mouse_project/ZhongXinSheng/ZXS_1062/MJ391_24G&BLE_PB/rom/app_mouse.prog	(working copy)
@@ -0,0 +1,2660 @@
+
+
+//define FPGA_DEBUG
+
+
+ifdef COMPILE_MOUSE
+mouse_init:
+	call mouse_setting_config
+	call spi_ncs_enable
+	call mouse_init_sunt
+	call mouse_dpi_config
+	call spi_ncs_disable
+	rtn wake
+	call mouse_cheak_enable_usb
+	call mouse_cb_fuction
+//	fetch 1,mem_wakup_from_power_flag
+//	isolate0 gpio_latch,pdata
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit1 MOUSE_ENABLE_USB
+	call mouse_wakeup_from_power//,true	// enter 
+ifdef FPGA_DEBUG
+	arg MOUSE_FPGA_DEBUG_GPIO,temp
+	call gpio_config_output
+	arg MOUSE_FPGA_RF_WORK_DEBUG_GPIO,temp
+	call gpio_config_output
+	arg MOUSE_FPGA_DEBUG_GPIO,temp
+	call gpio_out_active
+endif
+	rtnmark1 mark_24g
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BTN_DOWN,mouse_start_discovery
+	branch mouse_check_reconn_target
+
+
+mouse_delay_4s:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit0 MOUSE_ENABLE_INIT_DELAY
+	arg 20,loopcnt
+mouse_delay_20ms:
+	setarg 200000
+	call sleep
+	loop delay_10ms
+	rtn
+
+	
+mouse_cheak_enable_usb:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit0 MOUSE_ENABLE_USB
+	branch usb_init
+	
+
+mouse_cb_fuction:
+	setarg mouse_le
+	store 2,mem_cb_le_process
+	setarg mouse_send_process
+	store 2,mem_cb_bt_process
+	setarg mouse_process_lpm_before
+	store 2,mem_cb_before_lpm
+	setarg mouse_priority_bb_event
+	store 2,mem_cb_bb_event_process
+	setarg mouse_idle
+	store 2,mem_cb_idle_process
+	setarg mouse_before_hibernate
+	store 2,mem_cb_before_hibernate
+	setarg le_mouse_bb_event_connect_complete
+	store 2,mem_cb_att_write
+
+	call g24_head_ptr2regc
+	setarg mouse_g24_package_data
+	add regc,offset_24g_cb_data,contw
+	istore 2,contw
+	setarg mouse_g24_enter_lpm
+	add regc,offset_24g_cb_lpm_prepare,contw
+	istore 2,contw
+	setarg mouse_lpm_before_common
+	add regc,offset_24g_cb_lpm_before,contw
+	istore 2,contw
+	
+	setarg mouse_bb_event_timer
+	store 2,mem_cb_event_timer
+	setarg mouse_spi_write_flash_cb
+	store 2,mem_cb_spi_flash_write_complate
+	rtn
+mouse_spi_write_flash_cb:
+mouse_spi_init:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit0 MOUSE_ENABLE_SPI2,spid_init
+	branch spid_init2
+
+mouse_setting_config:
+	rtn wake
+	call g24_set_device_addr
+	call mouse_gpio_init
+	call mouse_param_init
+	call mouse_adc_init
+	call le_set_config_fixed_ltk
+	call le_set_justwork
+	call le_set_fixed_ltk
+	call le_set_config_read_authentication
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit1 MOUSE_ENABLE_EEPROM,mouse_init_iic
+	bbit1 MOUSE_ENABLE_FLASH,mouse_load_flash_info_cheak
+	rtn
+
+mouse_init_iic:
+	call iic_init_390k
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	isolate1 MOUSE_ENABLE_2K_EEPROM,pdata
+	ncall clear_eeprom_size_2k,true
+	call mouse_load_eeprom_dpi
+	call mouse_init_environment
+	call mouse_set_24g_addr_eeprom
+	branch iicd_read_eep_data
+
+mouse_wakeup_from_power:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit0 MOUSE_ENABLE_WAKEUP_FROM_POWER,mouse_wakeup_no_from_power
+	fetch 1,mem_wakup_from_power_flag
+	isolate0 gpio_latch,pdata
+	nrtn true
+mouse_wakeup_no_from_power:
+	fetch 1,mem_reconn_times_init
+	store 1,mem_reconn_times
+	fetch 1,mem_config_function_enable
+	rtnbit1 ENABLE_SELECT_DEVICE_BY_SWITCH
+mouse_start_24g_mode:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit0 MOUSE_ENABLE_24G
+	bbit1 MOUSE_ENABLE_AUTO_24G_PARING,g24_auto_pair_start
+	branch g24_check_51cmd_start_24g
+le_mouse_bb_event_connect_complete:
+	fetch 1,mem_le_att_handle
+	sub pdata,26,pdata
+	nrtn zero
+	jam BT_CMD_LE_UPDATE_CONN,mem_fifo_temp
+	call ui_ipc_send_cmd
+mouse_le_write_enable:	
+	arg WRITE_REQ_ENABLE_FLAG,queue
+	branch mouse_le_enable_connect_flag
+
+mouse_dpi_up:
+	fetch 1,mem_mouse_dpi_button_state
+	rtneq DPI_BUTTON_STATE_UP
+	jam DPI_BUTTON_STATE_UP,mem_mouse_dpi_button_state
+	rtn
+mouse_dpi_config:
+	fetch 1,mem_config_sensor_motion
+	and pdata,0x0f,pdata
+	store 1,mem_mouse_dpi
+	branch mouse_seting_dpi+2
+
+
+mouse_dpi_cheak:
+	fetcht 1,mem_dpi_button_gpio
+	call gpio_get_bit
+	nbranch mouse_dpi_up,true
+mouse_dpi_down:
+	fetch 1,mem_mouse_dpi_button_state
+	rtneq DPI_BUTTON_STATE_DOWN
+	jam DPI_BUTTON_STATE_DOWN,mem_mouse_dpi_button_state
+	fetch 1,mem_mouse_dpi
+	increase 1,pdata
+	and pdata,0x03,pdata
+	store 1,mem_mouse_dpi
+	call mouse_seting_dpi
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit1 MOUSE_ENABLE_EEPROM,mouse_store_eerpom_dpi
+	bbit1 MOUSE_ENABLE_FLASH,mouse_before_store_flash_cpi
+	rtn
+mouse_before_store_flash_cpi:
+	arg MOUSE_SPI2_CLK_GPIO,temp
+	call gpio_config_output				//hold high
+	arg MOUSE_SPI2_SDIO_GPIO,temp
+	call gpio_config_output 			//hold high 
+	branch mouse_store_flash_device_info
+
+mouse_seting_dpi:
+	bpatch patch1c_3,mem_patch1c
+	call mosue_dpi_led_blink_init
+	fetch 1,mem_config_sensor_type
+	beq P3610,mouse_seting_3610_dpi
+	beq P3212,mouse_seting_3212_dpi
+	fetch 1,mem_mouse_dpi
+	beq MOUSE_DPI_LEVEL1,mouse_set_cpi1
+	beq MOUSE_DPI_LEVEL2,mouse_set_cpi2
+	beq MOUSE_DPI_LEVEL3,mouse_set_cpi3
+	beq MOUSE_DPI_LEVEL4,mouse_set_cpi4
+mouse_set_cpi2:
+	fetch 1,mem_320x_dpi_2
+	branch mouse_p3205_dpi
+mouse_set_cpi1:
+	fetch 1,mem_320x_dpi_1
+	branch mouse_p3205_dpi
+mouse_set_cpi3:
+	fetch 1,mem_320x_dpi_3
+	branch mouse_p3205_dpi
+mouse_set_cpi4:
+	fetch 1,mem_320x_dpi_4
+	branch mouse_p3205_dpi
+moue_seting_cpi_count:
+	fetch 1,mem_config_sensor_type
+	rtneq P3065_XY
+	fetch 1 ,mem_mouse_cpi_count
+	increase 1,pdata
+	store 1,mem_mouse_cpi_count
+	rtn
+
+mouse_seting_3212_dpi:
+	fetch 1,mem_mouse_dpi
+	beq MOUSE_DPI_LEVEL1,mouse_set_p3212_cpi1
+	beq MOUSE_DPI_LEVEL2,mouse_set_p3212_cpi2
+	beq MOUSE_DPI_LEVEL3,mouse_set_p3212_cpi3
+	beq MOUSE_DPI_LEVEL4,mouse_set_p3212_cpi4
+mouse_set_p3212_cpi2:
+	fetch 1,mem_3212_dpi_2
+	branch mouse_p3212_dpi
+mouse_set_p3212_cpi1:
+	fetch 1,mem_3212_dpi_1
+	branch mouse_p3212_dpi
+mouse_set_p3212_cpi3:
+	fetch 1,mem_3212_dpi_3
+	branch mouse_p3212_dpi
+mouse_set_p3212_cpi4:
+	fetch 1,mem_3212_dpi_4
+mouse_p3212_dpi:
+	store 1,mem_mouse_cpi_count
+	lshift8 pdata,pdata
+	copy pdata,rega
+	add pdata,MOUSE_P3212_DPI_XADDRESS,pdata
+  	call twspi_write
+ 	copy rega,pdata
+  	add pdata,MOUSE_P3212_DPI_YADDRESS,pdata
+	branch twspi_write
+	
+mouse_seting_3610_dpi:
+	fetch 1,mem_mouse_dpi
+	beq MOUSE_DPI_LEVEL1,mouse_set_p3610_cpi1
+	beq MOUSE_DPI_LEVEL2,mouse_set_p3610_cpi2
+	beq MOUSE_DPI_LEVEL3,mouse_set_p3610_cpi3
+	beq MOUSE_DPI_LEVEL4,mouse_set_p3610_cpi4
+mouse_set_p3610_cpi2:
+	fetch 1,mem_3610_dpi_2
+	branch mouse_p3610_dpi
+mouse_set_p3610_cpi1:
+	fetch 1,mem_3610_dpi_1
+	branch mouse_p3610_dpi
+mouse_set_p3610_cpi3:
+	fetch 1,mem_3610_dpi_3
+	branch mouse_p3610_dpi
+mouse_set_p3610_cpi4:
+	fetch 1,mem_3610_dpi_4
+mouse_p3610_dpi:
+	store 1,mem_mouse_cpi_count
+	call mouse_spi_sdio_gpio_pollup
+	fetch 1,mem_mouse_cpi_count
+mouse_reset_p3610_dpi:
+	add pdata,0x80,pdata
+	lshift8 pdata,pdata
+	add pdata,MOUSE_P3610_DPI_ADDRESS,pdata
+	copy pdata,rega
+	branch mouse_set_sensor_reg
+	
+mouse_p3205_dpi:
+	store 1,mem_mouse_cpi_count
+	call moue_seting_cpi_count
+	fetch 1,mem_mouse_cpi_count
+	setarg MOUSE_DPI_ADDRESS
+	call twspi_read
+	and pdata,0xf8,temp
+	fetch 1,mem_mouse_cpi_count
+	iadd temp,pdata
+	lshift8 pdata,pdata
+	add pdata,MOUSE_DPI_ADDRESS,pdata
+	branch twspi_write
+	
+
+mouse_init_environment:
+	call app_initflag_check
+	branch mouse_eeprom_load_recon_info,zero
+	call mouse_ble_init_address
+	call mouse_store_eeprom_device_info
+	branch app_initflag_store
+
+
+mouse_24g_pairing_button:
+	fetch 2,mem_24g_pairing_timer_count
+	rtn blank
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit0 MOUSE_ENABLE_24G
+	rtnbit1 MOSUE_24G_PAIRING_FLAG
+	rtnmark1 mark_24g
+	call mouse_check_key_gpio
+	rtnne MOUSE_LMR_BUTTON
+	call mouse_devce_led_off
+	arg MOSUE_24G_PAIRING_FLAG,queue
+	call mouse_enable_function_flag
+	setarg 0
+	store 2,mem_mouse_direct_timer
+	store 1,mem_mouse_send_blank_timer
+	call g24_set0_mem_check_dongle_times
+	
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BT_RECONNECT,mouse_cancel_reconnect
+	bbit1 UI_STATE_BLE_CONNECTED,app_ble_disconnect
+	bbit1 UI_STATE_BT_CONNECTED,app_bt_disconnect
+	call mouse_stop_discovery
+	branch g24_start_pairing_sm1
+	
+ifdef FPGA_DEBUG
+mouse_fpga_rf_working_normal:
+	fetch 1,mem_le_req_rcv
+	and pdata,0xfe,pdata
+	call mouse_fpga_working_fail,blank
+	fetch 1,mem_le_req_rcv
+	and pdata,0xfe,pdata
+	ncall mouse_fpga_working_normal,blank
+//	fetch 1,mem_inquiryscan_rcvcnt
+//	and pdata,0xfe,pdata
+//	call mouse_fpga_working_fail,blank
+//	fetch 1,mem_inquiryscan_rcvcnt
+//	and pdata,0xfe,pdata
+//	ncall mouse_fpga_working_normal,blank
+	rtn
+
+mouse_fpga_working_fail:
+	arg MOUSE_FPGA_RF_WORK_DEBUG_GPIO,temp
+	branch gpio_out_inactive
+
+mouse_fpga_working_normal:
+	arg MOUSE_FPGA_RF_WORK_DEBUG_GPIO,temp
+	branch gpio_out_active
+
+
+
+endif
+
+mouse_idle:
+ifdef FPGA_DEBUG
+	call mouse_fpga_rf_working_normal
+endif
+	call mouse_24g_pairing_button
+	call ui_check_paring_button
+	call mouse_dpi_cheak
+	call mouse_usb_isr
+	call mouse_wheel_check
+	branch mouse_usb_mode
+mouse_usb_isr:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit0 MOUSE_ENABLE_USB
+	call usb_isr	
+	branch usb_offline_state
+
+mouse_cheak_usb:
+	hfetch 1,core_usb_addr
+	bbit0 7,mouse_usb_no_exsit
+	bbit1 7,mouse_usb_exsit
+	rtn
+mouse_usb_no_exsit:
+	fetch 1,mem_usb_addr
+	rtnbit0 7
+	branch soft_reset_chip
+mouse_usb_exsit:
+	fetch 1,mem_usb_addr
+	rtnbit1 7
+	branch mouse_stop_bluetooth_mode
+	
+mouse_usb_mode:
+	call mouse_cheak_usb
+	hfetch 1,core_usb_addr
+	store 1,mem_usb_addr
+	rtnbit0 7
+	call mouse_clkn_check 
+	fetch 4,mem_btclk_sensor
+	fetcht 1,mem_wire_usb_interval
+	iadd temp,temp
+	copy clkn_bt,pdata
+	isub temp,null
+	nrtn positive
+	store 4,mem_btclk_sensor
+	call mouse_motion
+	nrtn user
+	jam 4,mem_usb_tx_enable
+	branch mouse_wired_to_usb
+
+mouse_clkn_check:
+	fetcht 4,mem_btclk_sensor
+	copy clkn_bt,pdata
+	isub temp,null
+	ncall mouse_clkn_timeout,positive
+	rtn
+mouse_clkn_timeout:
+	setarg 0
+	store 4,mem_btclk_sensor
+	rtn
+
+
+	
+mouse_wired_to_usb:
+	fetch 1,mem_usb_tx_enable
+	rtnbit0 2
+	branch mouse_data_push
+mouse_data_push:
+	hfetch 1,core_usb_addr
+	rtnbit0 7
+	jam USB_EP2_MS,mem_usb_ep2_data
+	setarg MS_REPORT_ID
+	store 1,mem_usb_mouse_data	
+	fetch 7,mem_mouse_key
+	istore 7,contw
+	rtn
+
+
+mouse_enable_clock_qdecoder:
+	hfetch 2,core_clkoff
+	set0 CLOCK_OFF_QDECODER,pdata
+	hstore 2,core_clkoff
+	rtn
+
+mouse_param_init:
+	setarg 0x8c00				//bt sdp start address
+	store 2,mem_ui_uuid_table
+	setarg 0x8e7a				//ble attlist start address
+	store 2,mem_ui_le_uuid_table
+	setarg 0x2402
+	store 2,mem_fcomp_mul
+	setarg 0x2580
+	store 3,mem_class
+	jam 3,mem_lpm_mult_timeout
+	jam 8,mem_lpm_overhead
+	jam DPI_BUTTON_STATE_UP,mem_select_device_button_statue
+	setarg 0x0200
+	store 2,mem_lpm_interval
+	jam 0x17,mem_le_local_mtu
+	jam 0x17,mem_le_remote_mtu
+//===========init spi param==============================
+	setarg 0x0a77
+	store 2,mem_spi_init_clk
+//===========default bt reconnect address===================	
+//	jam 1,mem_device_flag
+//	setarg 0x332211
+//	store 3,mem_device1_addr
+//	store 3,mem_device2_addr
+//	store 3,mem_device3_addr
+//	setarg 0x665544
+//	store 3,mem_device1_addr+3
+//	store 3,mem_device2_addr+3
+//	store 3,mem_device3_addr+3
+//	setarg 0x34
+//	store 1,mem_device1_type
+//	store 1,mem_device2_type
+//	store 1,mem_device3_type
+//===========all 16bit uuid==================================
+	setsect 0,0x306
+	setsect 1,0x4440
+	setsect 2,0x10000
+	setsect 3,0x4408
+	store 9,mem_all_uuid_16bits
+	setsect 0,0x1224
+	setsect 1,0x4000
+	setsect 2,0x0
+	istore 5,contw
+//===========features=====================================
+	setsect 0,0x3ffff
+	setsect 1,0x2fe23
+	setsect 2,0x199d9
+	setsect 3,0x20d
+	store 8,mem_features
+//======================================================	
+	setarg 0x012c  				//24g ban pairing timer init
+	store 2,mem_24g_pairing_timer_count
+	call le_modified_name
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag 
+	rtnbit0 MOUSE_ENABLE_GPIO_CONTROL_ADC_SENSOR
+	call mouse_sensor_set_angle
+	branch mouse_select_adc
+
+mouse_sensor_set_angle:
+	fetcht 1,mem_select_sensor_angle_gpio
+	call gpio_config_input
+	fetcht 1,mem_select_sensor_angle_gpio
+	call gpio_get_bit
+	jam MOUSE_3CLK_ANGLE,mem_config_sensor_angle
+	rtn true
+	jam MOUSE_12CLK_ANGLE,mem_config_sensor_angle
+	rtn
+
+mouse_select_adc:
+	fetcht 1,mem_select_adc_gpio
+	call gpio_config_input
+	fetcht 1,mem_select_adc_gpio
+	call gpio_get_bit
+	jam ADC_CONFIG_VINLPM,mem_adc_config_flag
+	rtn true
+	jam ADC_CONFIG_GPIO,mem_adc_config_flag
+	rtn
+	
+	
+mouse_adc_init:
+	fetch 1,mem_adc_config_flag
+	beq ADC_CONFIG_VINLPM,mouse_adc_init_data_vinlpm
+	beq ADC_CONFIG_HVIN,mouse_adc_init_data_hvin
+	beq ADC_CONFIG_GPIO,mouse_adc_init_data_io
+	branch mouse_adc_init_data_vinlpm
+	
+mouse_adc_init_data_vinlpm:
+	fetcht 2,mem_2v_adc_vinlpm_data
+	fetch 2,mem_3v_adc_vinlpm_data
+	isub temp,pdata
+	mul32 pdata,20,pdata 
+	div pdata,100
+	call wait_div_end
+	quotient pdata
+	store 2,mem_adc_reference_voltage //vinlpm :2v2 low alter
+	rtn
+mouse_adc_init_data_hvin:
+	fetcht 2,mem_1v_adc_hvin_data
+	fetch 2,mem_5v_adc_hvin_data
+	isub temp,pdata
+	mul32 pdata,230,pdata 
+	div pdata,400
+	call wait_div_end
+	quotient pdata
+	store 2,mem_adc_reference_voltage //hvin :3v3 low alter
+	rtn
+mouse_adc_init_data_io:
+	fetch 2,mem_1v_adc_io_data
+	store 2,mem_adc_reference_voltage  //vio :1v low alter
+	rtn
+mouse_gpio_init:
+	fetcht 1,mem_eeprom_wp_gpio
+	call gpio_config_output
+	call usb_offline_check_init
+	fetcht 1,mem_lbutton_gpio
+	call gpio_config_input
+	fetcht 1,mem_rbutton_gpio
+	call gpio_config_input
+	fetcht 1,mem_mbutton_gpio
+	call gpio_config_input
+	fetcht 1,mem_sensor_data_gpio
+	call gpio_config_input
+
+	fetcht 1,mem_sensor_reset_gpio
+	call gpio_config_output
+
+	fetcht 1,mem_whee_a_data_gpio
+	call gpio_config_input
+
+	fetcht 1,mem_whee_b_data_gpio
+	call gpio_config_input
+
+	fetcht 1,mem_whee_ta_data_gpio
+	call gpio_config_input
+	fetcht 1,mem_whee_tb_data_gpio
+	call gpio_config_input
+
+	fetcht 1,mem_bk_button_gpio
+	call gpio_config_input
+	fetcht 1,mem_fw_button_gpio
+	call gpio_config_input
+
+	fetcht 1,mem_config_low_voltage_alarm_gpio
+	call gpio_config_output
+
+	fetcht 1,mem_config_device1_led_gpio
+	call gpio_config_output
+
+	fetcht 1,mem_config_device2_led_gpio
+	call gpio_config_output
+	
+	fetcht 1,mem_config_device3_led_gpio
+	call gpio_config_output
+
+	fetcht 1,mem_dpi_led_gpio
+	call gpio_config_output
+
+	fetcht 1,mem_config_select_device_button_gpio
+	call gpio_config_input
+	
+	fetcht 1,mem_config_bt_button_gpio
+	call gpio_config_input	
+
+	fetcht 1,mem_dpi_button_gpio
+	branch gpio_config_input
+
+mouse_wheel_gpio_set_wake:
+	fetcht 1,mem_whee_a_data_gpio
+	call gpio_set_wake_by_current_state
+	fetcht 1,mem_whee_b_data_gpio
+	call gpio_set_wake_by_current_state
+	fetcht 1,mem_whee_ta_data_gpio
+	call gpio_set_wake_by_current_state
+	fetcht 1,mem_whee_tb_data_gpio
+	branch gpio_set_wake_by_current_state
+	
+mouse_before_hibernate_wheel_gpio_set:
+	fetcht 1,mem_whee_a_data_gpio
+	call mouse_gpio_set_pupd_by_input
+	fetcht 1,mem_whee_b_data_gpio
+	call mouse_gpio_set_pupd_by_input
+	fetcht 1,mem_whee_ta_data_gpio
+	call mouse_gpio_set_pupd_by_input
+	fetcht 1,mem_whee_tb_data_gpio
+	branch mouse_gpio_set_pupd_by_input
+
+mouse_gpio_set_pupd_by_input:
+	sub temp,UI_BUTTON_GPIO_DISABLE,null
+	rtn zero
+	and temp,0x7f,queue
+	hfetch 4,core_gpio_in
+	qisolate1 pdata
+	hfetch 4,core_gpio_pu0
+	qsetflag true,pdata
+	hstore 4,core_gpio_pu0
+	hfetch 4,core_gpio_pd0
+	nqsetflag true,pdata
+	hstore 4,core_gpio_pd0
+	rtn
+	
+mouse_before_hibernate:
+	enable user
+	hfetch 4,0x8138
+	setflag user,26,pdata
+	hstore 4,core_lpm_reg
+	call lpm_write_ctrl
+	call mouse_devce_led_off
+	call mouse_before_hibernate_wheel_gpio_set
+//	call gpio_set_before_lpm_common
+	branch mouse_lpm_before_common
+
+
+	
+mouse_process_lpm_before:
+	call mouse_lpm_before_common
+	fetch 1,mem_lpm_current_mult
+	nrtn blank					// 7.5ms, no gpio wakeup
+	branch gpio_clr_wake
+
+mouse_lpm_before_common:
+	call mouse_wheel_check
+	arg MOUSE_SPI1_CLK_GPIO,temp					// set sclk high
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	isolate1 MOUSE_ENABLE_SPI2,pdata
+	call mouse_spi_clk_gpio,true
+	call gpio_config_output
+	call twspi_disable
+
+
+
+	fetcht 1,mem_lbutton_gpio
+	call gpio_set_wake_by_current_state
+	fetcht 1,mem_rbutton_gpio
+	call gpio_set_wake_by_current_state
+	fetcht 1,mem_mbutton_gpio
+	call gpio_set_wake_by_current_state
+
+	fetcht 1,mem_bk_button_gpio
+	call gpio_set_wake_by_current_state
+	fetcht 1,mem_fw_button_gpio
+	call gpio_set_wake_by_current_state
+	fetcht 1,mem_dpi_button_gpio
+	call gpio_set_wake_by_current_state
+	fetcht 1,mem_config_select_device_button_gpio
+	call gpio_set_wake_by_current_state
+	fetcht 1,mem_whee_a_data_gpio
+	call gpio_set_wake_by_current_state
+	fetcht 1,mem_whee_b_data_gpio
+	call gpio_set_wake_by_current_state
+	fetcht 1,mem_whee_ta_data_gpio
+	call gpio_set_wake_by_current_state
+	fetcht 1,mem_whee_tb_data_gpio
+	call gpio_set_wake_by_current_state
+	fetcht 1,mem_sensor_data_gpio
+	branch gpio_set_wake
+	
+
+	
+mouse_spi_clk_gpio:
+	arg MOUSE_SPI2_CLK_GPIO,temp
+	rtn
+
+mouse_wheel_check:
+	bpatch patch1c_4,mem_patch1c
+	call mouse_t_wheel_scan
+	call mouse_wheel_scan
+	fetch 1,mem_wheel_tb_new_pinlevel
+	fetcht 1,mem_wheel_tb_old_pinlevel
+	store 1,mem_wheel_tb_old_pinlevel
+	isub temp,null
+	nbranch app_lpm_wake_auto_lock,zero
+	fetch 1,mem_mwheel_b_new_pinlevel
+	fetcht 1,mem_mwheel_b_old_pinlevel
+	store 1,mem_mwheel_b_old_pinlevel
+	isub temp,null
+	nbranch app_lpm_wake_auto_lock,zero
+	rtn
+mouse_t_wheel_scan:
+	fetch 1,mem_whee_ta_data_gpio
+	rtneq GPIO_DISABLE
+	arg 0,rega
+	fetcht 1,mem_whee_ta_data_gpio
+	call gpio_get_bit
+	setflag true,0,rega
+	fetcht 1,mem_whee_tb_data_gpio
+	call gpio_get_bit
+	setflag true,1,rega
+	copy rega,pdata
+	store 1,mem_wheel_tb_new_pinlevel
+	beq 0x01,mouse_t_wheel_scan_judge1
+	beq 0x02,mouse_t_wheel_scan_judge2
+	fetch 1,mem_wheel_tog
+	bbit1 7,mouse_t_wheel_scan_judge3
+	rtn
+
+mouse_t_wheel_scan_judge1:
+	fetch 1,mem_wheel_tb_old_pinlevel
+	beq 0,mouse_t_wheel_scan_judge11
+	beq 3,mouse_t_wheel_scan_judge12
+	rtn
+mouse_t_wheel_scan_judge2:
+	fetch 1,mem_wheel_tb_old_pinlevel
+	beq 0,mouse_t_wheel_scan_judge21
+	beq 3,mouse_t_wheel_scan_judge22
+	rtn
+mouse_t_wheel_scan_judge11:
+	jam 0x82,mem_wheel_tog
+	rtn
+mouse_t_wheel_scan_judge12:
+	jam 0x81,mem_wheel_tog
+	rtn
+mouse_t_wheel_scan_judge21:
+	jam 0x80,mem_wheel_tog
+	rtn
+mouse_t_wheel_scan_judge22:
+	jam 0x83,mem_wheel_tog
+	rtn
+mouse_t_wheel_scan_judge3:
+	fetch 1,mem_wheel_tog
+	set0 7,pdata
+	store 1,mem_wheel_tog
+	beq 0,mouse_t_wheel_scan_judge30
+	beq 1,mouse_t_wheel_scan_judge31
+	beq 2,mouse_t_wheel_scan_judge32
+	beq 3,mouse_t_wheel_scan_judge33
+	rtn
+mouse_t_wheel_scan_judge30:
+	fetch 1,mem_wheel_tb_new_pinlevel
+	beq 3,mouse_wheel_t_forward
+	rtn
+mouse_t_wheel_scan_judge31:
+	fetch 1,mem_wheel_tb_new_pinlevel
+	beq 0,mouse_wheel_t_forward
+	rtn
+mouse_t_wheel_scan_judge32:
+	fetch 1,mem_wheel_tb_new_pinlevel
+	beq 3,mouse_wheel_t_back
+	rtn
+mouse_t_wheel_scan_judge33:
+	fetch 1,mem_wheel_tb_new_pinlevel
+	beq 0,mouse_wheel_t_back
+	rtn
+mouse_wheel_t_forward:
+	fetch 1,mem_mouse_tz_data_count1
+	increase 1,pdata
+	store 1,mem_mouse_tz_data_count1
+	sub pdata,1,null
+	rtn positive
+	jam 0,mem_mouse_tz_data_count1
+	fetch 1,mem_mouse_tz_data
+	increase 1,pdata
+	store 1,mem_mouse_tz_data
+	rtn
+mouse_wheel_t_back:
+	fetch 1,mem_mouse_tz_data_count
+	increase 1,pdata
+	store 1,mem_mouse_tz_data_count
+	sub pdata,1,null
+	rtn positive
+	jam 0,mem_mouse_tz_data_count
+	fetch 1,mem_mouse_tz_data
+	increase -1,pdata
+	store 1,mem_mouse_tz_data
+	rtn
+
+
+mouse_wheel_scan:
+	fetch 1,mem_whee_a_data_gpio
+	rtneq GPIO_DISABLE
+	arg 0,rega
+	fetcht 1,mem_whee_a_data_gpio
+	call gpio_get_bit
+	setflag true,0,rega
+	fetcht 1,mem_whee_b_data_gpio
+	call gpio_get_bit
+	setflag true,1,rega
+	copy rega,pdata
+	store 1,mem_mwheel_b_new_pinlevel
+	beq 0x01,mouse_wheel_scan_judge1
+	beq 0x02,mouse_wheel_scan_judge2
+	fetch 1,mem_mwheel_tog
+	bbit1 7,mouse_wheel_scan_judge3
+	rtn
+
+mouse_wheel_scan_judge1:
+	fetch 1,mem_mwheel_b_old_pinlevel
+	beq 0,mouse_wheel_scan_judge11
+	beq 3,mouse_wheel_scan_judge12
+	rtn
+mouse_wheel_scan_judge2:
+	fetch 1,mem_mwheel_b_old_pinlevel
+	beq 0,mouse_wheel_scan_judge21
+	beq 3,mouse_wheel_scan_judge22
+	rtn
+mouse_wheel_scan_judge11:
+	jam 0x82,mem_mwheel_tog
+	rtn
+mouse_wheel_scan_judge12:
+	jam 0x81,mem_mwheel_tog
+	rtn
+mouse_wheel_scan_judge21:
+	jam 0x80,mem_mwheel_tog
+	rtn
+mouse_wheel_scan_judge22:
+	jam 0x83,mem_mwheel_tog
+	rtn
+mouse_wheel_scan_judge3:
+	fetch 1,mem_mwheel_tog
+	set0 7,pdata
+	store 1,mem_mwheel_tog
+	beq 0,mouse_wheel_scan_judge30
+	beq 1,mouse_wheel_scan_judge31
+	beq 2,mouse_wheel_scan_judge32
+	beq 3,mouse_wheel_scan_judge33
+	rtn
+mouse_wheel_scan_judge30:
+	fetch 1,mem_mwheel_b_new_pinlevel
+	beq 3,mouse_wheel_forward
+	rtn
+mouse_wheel_scan_judge31:
+	fetch 1,mem_mwheel_b_new_pinlevel
+	beq 0,mouse_wheel_forward
+	rtn
+mouse_wheel_scan_judge32:
+	fetch 1,mem_mwheel_b_new_pinlevel
+	beq 3,mouse_wheel_back
+	rtn
+mouse_wheel_scan_judge33:
+	fetch 1,mem_mwheel_b_new_pinlevel
+	beq 0,mouse_wheel_back
+	rtn
+mouse_wheel_forward:
+	jam 0,mem_mouse_z_data_count1
+	fetch 1,mem_mouse_z_data
+	increase 1,pdata
+	store 1,mem_mouse_z_data
+	rtn
+mouse_wheel_back:
+	jam 0,mem_mouse_z_data_count
+	fetch 1,mem_mouse_z_data
+	increase -1,pdata
+	store 1,mem_mouse_z_data
+	rtn
+	
+	
+mouse_hid_connected:
+	setarg HID_HANDSHAKE_TIMEOUT
+	store 1,mem_hid_handshake_timer_count
+	rtn
+	
+mouse_send_process:
+	fetch 1,mem_app_handshake_flag
+	rtn blank
+	call l2cap_malloc_is_fifo_nearly_full
+	nrtn blank
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit1 MOSUE_24G_PAIRING_FLAG,mouse_send_empty_data
+	bbit1 MOUSE_SELECT_DEVICE_FLAG,mouse_send_empty_data
+	bbit1 MOUSE_BT_DISCOVERY_BUTTON_DOWN_FLAG,mouse_send_empty_data
+	call mouse_motion
+	nrtn user
+mouse_send_data:
+	arg 9,rega
+	call hid_malloc_tx_buff
+	fetch 2,mem_hid_int_remote_cid
+	istore 2,contw
+	setarg 0x02a1
+	istore 2,contw
+	fetch 7,mem_mouse_key
+	istore 7,contw
+	rtn
+
+	
+mouse_send_empty_data:
+	setarg 0
+	store 7,mem_mouse_key
+	branch mouse_send_data
+
+
+mouse_no_data_timer_init:
+	fetch 2,mem_mouse_no_data_timeout
+	store 2,mem_mouse_no_data_timer
+	rtn
+
+	
+mouse_fill_data_le:
+	bpatch patch1c_5,mem_patch1c
+	arg 7,rega //len
+	fetcht 2,mem_le_notify_handle
+	call le_att_malloc_tx_notify
+	fetch 7,mem_mouse_key
+	istore 7,contw
+	rtn
+
+mouse_motion:
+	bpatch patch1c_6,mem_patch1c
+	disable user
+	setarg 0
+	store 6,mem_mouse_x
+	call mouse_cheak_sensor_data
+	call mouse_zwheel
+	call mouse_t_zwheel
+	call mouse_key
+	nrtn user
+	call mouse_no_data_timer_init
+	arg MOUSE_STATUE_UP_FLAG,queue
+	branch mouse_enable_function_flag
+	
+motion_6clk_direction_dispose:
+	fetch 2,mem_mouse_x
+	sub pdata,0,pdata
+	store 2,mem_mouse_x
+	branch enable_user
+motion_12clk_direction_dispose:
+	fetch 2,mem_mouse_y
+	sub pdata,0,pdata
+	store 2,mem_mouse_y
+	branch enable_user
+motion_9clk_direction_dispose:
+	fetch 2,mem_mouse_y
+	sub pdata,0,pdata
+	store 2,mem_mouse_y
+	fetch 2,mem_mouse_x
+	sub pdata,0,pdata
+	store 2,mem_mouse_x
+	call mouse_sensor_data_swap_places
+	branch enable_user
+motion_3clk_direction_dispose:
+	call mouse_sensor_data_swap_places
+	branch enable_user
+mouse_cheak_sensor_data:
+	fetch 1,mem_spi_write_flash_sm
+	rtnne FLASH_SM_NO_BUYS
+	fetch 1,mem_config_sensor_type
+	beq P3205,mouse_p32xx_sensor_motion
+	beq P3065,mouse_p32xx_sensor_motion
+	beq KA8,mouse_p32xx_sensor_motion
+	beq P3204,mouse_p32xx_sensor_motion
+	beq P3212,mouse_p3212_sensor_motion
+	beq P3610,mouse_p3610_sensor_motion
+	beq P3065_xy,mouse_p32xx_sensor_motion
+	branch mouse_p32xx_sensor_motion
+	
+mouse_clear_sensor_data:
+	fetch 1,mem_mouse_move_flag
+	call mouse_read_sensor_common,blank
+	jam 1,mem_mouse_move_flag
+	rtn
+
+
+mouse_p3212_sensor_motion:
+	call mouse_clear_sensor_data
+	fetcht 1,mem_sensor_data_gpio
+	call gpio_get_bit
+	nrtn true
+mouse_p3212_sensor_motion_1:	
+	setarg PAN_REG_PID_L
+	call twspi_read
+	bne P32XX_ID1,mouse_twspi_reset
+	setarg PAN_REG_MOTION_STAUS
+	call twspi_read
+	rtnbit0 7
+	call mouse_read_sensor_common
+	call mouse_read_3212sensor_xy_high
+	store 1,mem_mouse_xy_h
+	rshift4 pdata,pdata
+	call extsign_bit3
+	store 1,mem_mouse_x+1
+	fetch 1,mem_mouse_xy_h
+	and pdata,0x0f,pdata
+	call extsign_bit3
+	store 1,mem_mouse_y+1
+	fetch 1,mem_config_sensor_angle
+	beq MOUSE_6CLK_ANGLE,motion_6clk_direction_dispose
+	beq MOUSE_9CLK_ANGLE,motion_9clk_direction_dispose
+	beq MOUSE_12CLK_ANGLE,motion_12clk_direction_dispose
+	beq MOUSE_3CLK_ANGLE,motion_3clk_direction_dispose
+	rtn
+
+mouse_read_3212sensor_xy_high:
+	setarg 0x12
+	branch twspi_read
+	
+mouse_p3065_judge:
+	beq P3065_ID1,mouse_p32xx_sensor_motion_1
+	branch mouse_twspi_reset
+	
+mouse_p32xx_sensor_motion:
+	call mouse_clear_sensor_data
+	disable user
+	fetcht 1,mem_sensor_data_gpio
+	call gpio_get_bit
+	nrtn true
+mouse_p32xx_sensor_motion_2:	
+	setarg PAN_REG_PID_L
+	call twspi_read
+	bne P32XX_ID1,mouse_p3065_judge   
+mouse_p32xx_sensor_motion_1:
+	setarg PAN_REG_MOTION_STAUS
+	call twspi_read
+	rtnbit0 7
+	call mouse_read_sensor_common
+	fetch 1,mem_mouse_x
+	call extsign
+	store 2,mem_mouse_x
+	fetch 1,mem_mouse_y
+	call extsign
+	store 2,mem_mouse_y
+	fetch 1,mem_config_sensor_angle
+	beq MOUSE_6CLK_ANGLE,motion32xx_6clk_direction_selection
+	beq MOUSE_9CLK_ANGLE,motion32xx_9clk_direction_selection
+	beq MOUSE_12CLK_ANGLE,motion32xx_12clk_direction_selection
+	beq MOUSE_3CLK_ANGLE,motion32xx_3clk_direction_selection
+	rtn
+	
+motion32xx_6clk_direction_selection:
+	call motion_6clk_direction_dispose
+	branch mouse_sensor_sdio_low
+motion32xx_9clk_direction_selection:
+	call motion_9clk_direction_dispose
+	branch mouse_sensor_sdio_low
+motion32xx_12clk_direction_selection:
+	call motion_12clk_direction_dispose
+	branch mouse_sensor_sdio_low
+motion32xx_3clk_direction_selection:
+	call motion_3clk_direction_dispose
+	branch mouse_sensor_sdio_low
+	
+mouse_sensor_data_swap_places:
+	fetch 2, mem_mouse_y
+	fetcht 2,mem_mouse_x
+	store 2,mem_mouse_x
+	storet 2,mem_mouse_y
+	rtn
+//input regb  output:pdata
+mouse_p3610sensor_read:
+	call spi_ncs_enable
+	nop 100
+	copy regb,pdata
+	call twspi_read
+	copy pdata,regb
+	call spi_ncs_disable
+	nop 100
+	copy regb,pdata
+	rtn	
+mouse_p3610_sensor_motion:
+	disable user
+	fetcht 1,mem_sensor_data_gpio
+	call gpio_get_bit
+	nrtn true
+	arg PAN_REG_MOTION_STAUS,regb
+	call mouse_p3610sensor_read
+	rtnbit0 7
+	arg PAN_REG_PID_L,regb
+	call mouse_p3610sensor_read
+	store 1,mem_sensor_id1
+	bne P3610_ID1,mouse_init_3610sensor_reset
+	fetch 1,mem_mouse_move_flag
+	call mouse_read_sensor3610_data,blank
+	jam 1,mem_mouse_move_flag
+	call mouse_read_sensor3610_data
+	fetch 1,mem_mouse_xy_h
+	rshift4 pdata,pdata
+	call extsign_bit3
+	store 1,mem_mouse_x+1
+	fetch 1,mem_mouse_xy_h
+	and pdata,0x0f,pdata
+	call extsign_bit3
+	store 1,mem_mouse_y+1
+	fetch 1,mem_config_sensor_angle
+	beq 0,motion3610_6clk_direction_selection
+	beq 1,motion3610_9clk_direction_selection
+	beq 2,motion3610_12clk_direction_selection
+	beq 3,motion3610_3clk_direction_selection
+	rtn
+
+mouse_3610_smart_select:
+	fetch 1,mem_sensor_smart_flag
+	beq P3610_SMART_ENABLE,mouse_3610_smart_disable
+	beq P3610_SMART_DISABLE,mouse_3610_smart_enable
+	rtn
+
+
+motion3610_6clk_direction_selection:
+	call motion_6clk_direction_dispose
+	branch mouse_3610_smart_select
+	
+motion3610_12clk_direction_selection:
+	call motion_12clk_direction_dispose
+	branch mouse_3610_smart_select
+	
+motion3610_9clk_direction_selection:
+	call motion_9clk_direction_dispose
+	branch mouse_3610_smart_select
+	
+motion3610_3clk_direction_selection:
+	call motion_3clk_direction_dispose
+	branch mouse_3610_smart_select
+	
+mouse_read_sensor3610_data:
+	call spi_ncs_enable
+	call mouse_read_sensor_common
+	arg 5,pdata
+	call twspi_read
+	store 1,mem_mouse_xy_h
+	arg 7,pdata
+	call twspi_read
+	store 1,mem_sensor_shutter_hi
+	arg 8,pdata
+	call twspi_read
+	store 1,mem_sensor_shutter_lo
+	branch spi_ncs_disable
+
+
+mouse_3610_smart_enable:
+	fetch 1,mem_sensor_shutter_hi
+	rtnne 0
+	fetch 1,mem_sensor_shutter_lo
+	sub pdata,45,null
+	rtn positive
+	jam P3610_SMART_ENABLE,mem_sensor_smart_flag
+	setarg 0xba41
+	call sensor_write
+	setarg 0x0032
+	call sensor_write
+	setarg 0xb541
+	branch sensor_write
+mouse_3610_smart_disable:
+	fetch 1,mem_sensor_shutter_hi
+	rtnne 0
+	fetch 1,mem_sensor_shutter_lo
+	sub pdata,45,null
+	nrtn positive
+	jam P3610_SMART_DISABLE,mem_sensor_smart_flag
+	setarg 0xba41
+	call sensor_write
+	setarg 0x8032
+	call sensor_write
+	setarg 0xb541
+	branch sensor_write
+
+
+
+mouse_read_sensor_common:
+	arg PAN_REG_DELTA_X,pdata
+	call twspi_read
+	store 2,mem_mouse_x
+	arg PAN_REG_DELTA_Y,pdata
+	call twspi_read
+	store 2,mem_mouse_y
+	rtn
+
+mouse_set_qdecoder_x:
+	arg MOUSE_DEFAULT_XA_GPIO,temp
+	call gpio_config_input
+	arg MOUSE_DEFAULT_XA_GPIO,temp
+	call gpio_get_bit
+	rtn true
+	hfetch 1,core_qdec_cntx
+	set1 4,pdata
+	hstore 1,core_qdec_cntx
+	rtn
+
+mouse_hardware_zwheel:
+	fetcht 1,mem_mouse_z_data
+	hfetch 1,core_qdec_cntx
+	iadd temp,pdata
+	rtn blank
+	store 1,mem_mouse_z
+	jam 0,mem_mouse_z_data
+	branch enable_user
+mouse_hardware_zwheel_beforelpm:
+	fetcht 1,mem_mouse_z_data
+	hfetch 1,core_qdec_cntx
+	iadd temp,pdata
+	store 1,mem_mouse_z_data
+	rtn
+mouse_zwheel:
+	fetch 1,mem_mouse_z_data
+	rtn blank	
+	store 1,mem_mouse_z
+	jam 0,mem_mouse_z_data
+	branch enable_user
+	
+mouse_t_zwheel:
+	fetch 1,mem_mouse_tz_data
+	rtn blank	
+	store 1,mem_mouse_tz
+	jam 0,mem_mouse_tz_data
+	branch enable_user
+	
+mouse_check_key_gpio:
+	arg 0,rega
+	fetcht 1,mem_lbutton_gpio
+	call gpio_get_bit
+	setflag true,0,rega
+	fetcht 1,mem_rbutton_gpio
+	call gpio_get_bit
+	setflag true,1,rega
+	fetcht 1,mem_mbutton_gpio
+	call gpio_get_bit
+	setflag true,2,rega
+	call mouse_check_s_key_gpio
+	copy rega,pdata
+	rtn
+mouse_check_s_key_gpio:
+	fetch 1,mem_bk_button_gpio
+	rtneq GPIO_DISABLE
+	fetcht 1,mem_bk_button_gpio
+	call gpio_get_bit
+	setflag true,3,rega
+	fetcht 1,mem_fw_button_gpio
+	call gpio_get_bit
+	setflag true,4,rega
+	rtn
+
+mouse_key:
+	call mouse_check_key_gpio
+	call mouse_set_mult
+	call mouse_24g_key
+	copy rega,pdata
+	fetcht 1,mem_mouse_key
+	store 1,mem_mouse_key	
+	ixor temp,pdata
+	sub pdata,0,null
+	rtn zero
+	branch enable_user
+
+mouse_24g_key:
+	rtnmark0 mark_24g
+	copy rega,pdata
+	rtn blank
+	store 1,mem_mouse_key
+	branch enable_user
+
+//short mult: no key 
+mouse_set_mult:
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BLE_CONNECTED,mouse_set_ble_mult
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BT_CONNECTED,mouse_set_bt_mult
+	rtn
+mouse_set_ble_mult:
+	copy rega,pdata
+	nbranch le_set_config_short_mult,blank
+	branch le_clr_config_short_mult
+mouse_set_bt_mult:
+	copy rega,pdata
+	nbranch classic_bt_set_mult_short_flag,blank
+	branch classic_bt_clr_mult_short_flag
+	
+	/* sdio high will cost extra 9mA */
+mouse_sensor_sdio_low:
+	bpatch patch1c_7,mem_patch1c
+	arg MOUSE_SPI1_SDIO_GPIO,temp
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	isolate1 MOUSE_ENABLE_SPI2,pdata
+	call mouse_sensor_sdio_low2,true
+	call gpio_get_bit
+	rtn true
+	setarg 0x0a
+	call twspi_read
+	nop 1000
+	branch mouse_sensor_sdio_low
+mouse_sensor_sdio_low2:
+	arg MOUSE_SPI2_SDIO_GPIO,temp
+	rtn
+
+mouse_spi_sdio_gpio_pollup:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit1 MOUSE_ENABLE_SPI2,mouse_spi2_sdio_gpio_pollup
+mouse_spi1_sdio_gpio_pollup:
+	arg MOUSE_SPI1_SDIO_GPIO,temp
+	branch gpio_config_input_without_wake
+mouse_spi2_sdio_gpio_pollup:
+	arg MOUSE_SPI2_SDIO_GPIO,temp
+	branch gpio_config_input_without_wake
+
+	
+mouse_init_sunt:
+	call mouse_spi_init
+	rtn wake
+	call mouse_spi_sdio_gpio_pollup
+	fetch 1,mem_config_sensor_type
+	beq P3610,mouse_init_3610sensor
+mouse_init_sensor:
+	call mouse_read_sensor_id
+	beq P32XX_ID1,mouse_init_p32xx_id2_judge
+	beq P3065_ID1,mouse_p3065_init_param
+	call mouse_twspi_reset
+	nop 1000
+	branch mouse_init_sensor
+mouse_twspi_reset:
+	bpatch patch1d_0,mem_patch1d
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit1 MOUSE_ENABLE_SPI2,twspi_reset2
+	branch twspi_reset
+
+mouse_init_3610sensor:
+	call mouse_read_sensor_id
+	beq P3610_ID1,mouse_init_p3610
+	call mouse_init_3610sensor_reset
+	branch mouse_init_3610sensor
+	
+mouse_read_sensor_id:
+	setarg PAN_REG_PID_H
+	call twspi_read
+	store 1,mem_sensor_id2
+	setarg PAN_REG_PID_L
+	call twspi_read
+	store 1,mem_sensor_id1
+	rtn
+mouse_init_p32xx_id2_judge:
+	fetch 1,mem_sensor_id2
+	beq P3205_TJ3T_ID2,mouse_3205_3t_init_param
+	beq P3204_TJ3L_ID2,mouse_3204_3l_init_param
+	beq P3212_ID2,mouse_3212_init_param
+	beq PKA8_ID2,mouse_ka8_init_param
+	rtn
+mouse_ka8_init_param:
+	jam KA8,mem_config_sensor_type
+	rtn
+mouse_p3065xy_init_param:
+	jam P3065_XY,mem_config_sensor_type
+	rtn
+mouse_p3065_init_param:
+	fetch 1,mem_sensor_id2
+	beq P3065_XY_ID2,mouse_p3065xy_init_param
+	jam P3065,mem_config_sensor_type
+	rtn
+mouse_3212_init_param:
+	jam P3212,mem_config_sensor_type
+	call mouse_sensor_disable_wp
+	setarg 0x3426
+	call twspi_write
+	setarg 0x0419
+	call twspi_write
+mouse_sensor_enable_wp:
+	setarg 0x0009
+	branch twspi_write
+mouse_sensor_disable_wp:
+	setarg 0x5a09
+	branch twspi_write
+
+mouse_3204_3l_init_param:
+	jam P3204,mem_config_sensor_type
+	call mouse_sensor_disable_wp
+	setarg 0x0f0d//
+	call twspi_write
+	setarg 0xe31d//
+	call twspi_write
+	setarg 0xd27d
+	call twspi_write
+	call mouse_32xx_init_param
+	branch mouse_32xx_init_param_1
+	
+mouse_32xx_init_param:
+	setarg 0x351b
+	call twspi_write
+	setarg 0xb428
+	call twspi_write
+	setarg 0x4629
+	call twspi_write
+	setarg 0x962a
+	call twspi_write
+	setarg 0x8c2b
+	call twspi_write
+	setarg 0x6e2c
+	call twspi_write
+	setarg 0x642d
+	call twspi_write
+	setarg 0x5f38
+	call twspi_write
+	setarg 0x0f39
+	call twspi_write
+	setarg 0x323a
+	call twspi_write
+	setarg 0x473b
+	call twspi_write
+	setarg 0x1042
+	branch twspi_write
+mouse_32xx_init_param_1:	
+	setarg 0x2e54
+	call twspi_write
+	setarg 0xf255
+	call twspi_write
+	setarg 0xf461
+	call twspi_write
+	setarg 0x7063
+	call twspi_write
+	setarg 0x5275
+	call twspi_write
+	setarg 0x4176
+	call twspi_write
+	setarg 0xed77
+	call twspi_write
+	setarg 0x2378
+	call twspi_write
+	setarg 0x4679
+	call twspi_write
+	setarg 0xe57a
+	call twspi_write
+	setarg 0x487c
+	call twspi_write
+	setarg 0x777e
+	call twspi_write
+	setarg 0x017f
+	call twspi_write
+	setarg 0x000b
+	call twspi_write
+	setarg 0x007f
+	call twspi_write
+	branch mouse_sensor_enable_wp
+	
+
+mouse_3205_3t_init_param:
+	jam P3205,mem_config_sensor_type
+	call mouse_sensor_disable_wp
+	setarg 0x100d//
+	call twspi_write
+	setarg 0xed1d//
+	call twspi_write
+	setarg 0x807d
+	call twspi_write
+	call mouse_32xx_init_param
+	setarg 0x0943
+	call twspi_write
+	branch mouse_32xx_init_param_1
+	
+	
+mouse_init_3610sensor_reset:
+	fetcht 1,mem_sensor_reset_gpio
+	call gpio_out_active
+	call delay_10ms
+	fetcht 1,mem_sensor_reset_gpio
+	call gpio_out_inactive
+	branch delay_10ms
+
+mouse_init_p3610:
+	jam P3610,mem_config_sensor_type
+	setarg 0xba41
+	call sensor_write
+	setarg 0x0d11
+	call sensor_write
+	setarg 0x041b
+	call sensor_write
+	setarg 0x041c
+	call sensor_write
+	setarg 0x0f1d
+	call sensor_write
+	setarg 0x0032
+	call sensor_write
+	setarg 0xb541
+	branch sensor_write
+	
+	
+//input-rega
+mouse_set_sensor_reg:
+	setarg 0xba41
+	call sensor_write
+	nop 4000
+	setarg 0xff7f
+	call sensor_write
+	copy rega,pdata
+	call sensor_write
+	setarg 0x007f
+	call sensor_write
+	setarg 0xb541
+	branch sensor_write
+
+extsign:
+	rtnbit0 7
+	arg 0xff00,temp
+	ior temp,pdata
+	rtn
+
+extsign_bit3:
+	rtnbit0 3
+	arg 0xf0,temp
+	ior temp,pdata
+	rtn
+
+
+mouse_le:
+	call le_fifo_check_nearly_full
+	nrtn blank
+	fetch 1,mem_le_connect_status_flag
+	and pdata,0x03,pdata
+	rtnne 0x03
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit1 MOSUE_24G_PAIRING_FLAG,mouse_le_send_empty_packet
+	bbit1 MOUSE_SELECT_DEVICE_FLAG,mouse_le_send_empty_packet
+	bbit1 MOUSE_BT_DISCOVERY_BUTTON_DOWN_FLAG,mouse_le_send_empty_packet
+	call mouse_motion
+	nrtn user
+	branch mouse_fill_data_le
+
+mouse_le_send_empty_packet:
+	setarg 0
+	store 7,mem_mouse_key
+	branch mouse_fill_data_le
+
+mouse_priority_bb_event:	
+	copy regc,pdata
+	beq BT_EVT_LE_CONNECTED,mouse_le_bb_event_connected
+	beq BT_EVT_BB_CONNECTED,mouse_stop_discovery
+	beq BT_EVT_LE_DISCONNECTED,mouse_bb_disconnected
+	beq BT_EVT_BB_DISCONNECTED,mouse_bb_disconnected
+	beq BT_EVT_SETUP_COMPLETE,mouse_bt_event_setup_complete
+	beq BT_EVT_BUTTON_LONG_PRESSED,mouse_bb_event_discovery_btn
+	beq BT_EVT_HID_HANDSHAKE,mouse_bt_hid_handshake
+	beq BT_EVT_HID_CONNECTED,mouse_bt_hid_connected
+	beq BT_EVT_RECONN_FAILED,mouse_bb_event_reconn_failed
+	beq BT_EVT_RECONN_PAGE_TIMEOUT,mouse_bb_event_reconn_timeout
+	beq BT_EVT_PINCODE_REQ,mouse_bb_event_pincode
+	beq BT_EVT_REMOTE_UNSNIFF,app_start_auto_sniff
+	beq BT_EVT_LE_PAIRING_SUCCESS,mouse_le_pairing_success
+	beq BT_EVT_LE_START_ENC,mouse_le_ll_start_encryt
+	beq BT_EVT_LE_PAIRING_COMPLETE,mouse_le_pairing_complete
+	beq BT_EVT_VIRTUAL_CABLE_UNPLUG,mouse_irtual_cable_unplug
+	beq BT_EVT_24G_PAIRING_COMPLETE,mouse_24g_pairing_complete
+	beq BT_EVT_24G_ATTEMPT_FAIL,mouse_24g_attempt_fail
+	beq BT_EVT_24G_ATTEMPT_SUCCESS,mouse_24g_attempt_success
+	rtn
+
+
+mouse_le_pairing_complete:
+	branch app_ble_store_reconn_info
+
+mouse_24g_attempt_fail:
+	jam 1,mem_mouse_24g_enter_lpm_enable
+	fetch 1,mem_reconn_times
+	nbranch mouse_polling_device,blank
+	fetch 1,mem_device_flag
+	fetcht 1,mem_24g_device_number
+	isub temp,null
+	branch app_enter_hibernate,zero
+	rtn
+mouse_24g_attempt_success:
+	jam 1,mem_mouse_24g_enter_lpm_enable
+	rtn
+mouse_24g_pairing_complete:
+	jam 1,mem_mouse_24g_enter_lpm_enable
+	arg MOSUE_24G_PAIRING_FLAG,queue
+	call mouse_disable_function_flag
+	setarg 0
+	store 2,mem_24g_pairing_timer_count
+	jam 0,mem_mouse_move_flag
+	
+	fetch 1,mem_config_sensor_type
+	sub pdata,P3610,null
+	call mouse_read_sensor3610_data,zero
+	ncall mouse_read_sensor_common,zero
+
+	fetch 1,MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit1 MOUSE_ENABLE_FLASH,mouse_store_flash_24g_address
+	call mouse_set_24g_addr_eeprom	//store rx dongle addr to eeprom
+	branch iicd_write_protect_eep_data
+
+mouse_set_24g_addr_eeprom:
+	call g24_head_ptr2regc
+	add regc,offset_24g_addr,rega
+	arg MOUSE_G24_ADDR_EEPROM_OFFECT,regb
+	arg 4,temp
+	rtn
+
+mouse_store_flash_24g_address:
+	call g24_head_ptr2regc
+	add regc,offset_24g_addr,regb
+	ifetch 1,regb
+	store 1,mem_mouse_24g_addr
+	branch mouse_store_flash_device_info
+	
+
+mouse_le_pairing_success:
+	arg LL_PAIRING_SUCCESS_FLAG,queue
+	branch mouse_le_enable_connect_flag
+mouse_le_ll_start_encryt:
+	jam 2,mem_le_start_encrypt_timer
+	arg LL_START_ENC_FLAG,queue
+	branch mouse_le_enable_connect_flag
+
+	
+mouse_le_enable_connect_flag:
+	fetch 1,mem_le_connect_status_flag
+	qset1 pdata
+	store 1,mem_le_connect_status_flag
+	rtn
+
+mouse_le_disable_connect_flag:
+	fetch 1,mem_le_connect_status_flag
+	qset0 pdata
+	store 1,mem_le_connect_status_flag
+	rtn
+mouse_le_clean_connect_flag:
+	jam 0,mem_le_connect_status_flag
+	rtn
+
+mouse_le_bb_event_connected:
+	fetch APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	set0 APP_DISC_BY_BUTTON ,pdata
+	store APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	setarg 0
+	store 2,mem_mouse_direct_timer
+	call mouse_no_data_timer_init
+	branch mouse_stop_discovery
+
+mouse_bb_event_pincode:
+	call pincode_reinit
+	branch app_bt_set_pincode
+mouse_bb_event_reconn_timeout:
+ifdef FPGA_DEBUG
+	arg MOUSE_FPGA_DEBUG_GPIO,temp
+	call gpio_config_output
+	arg MOUSE_FPGA_DEBUG_GPIO,temp
+	call gpio_out_inactive
+endif
+mouse_bb_event_reconn_failed:
+	fetch 1,mem_reconn_times
+	nbranch mouse_polling_device,blank
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BTN_DOWN,mouse_start_discovery
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit1 MOUSE_SELECT_DEVICE_FLAG,mouse_soft_reset
+	bbit1 MOUSE_BT_DISCOVERY_BUTTON_DOWN_FLAG,mouse_start_discovery
+	bbit1 MOSUE_24G_PAIRING_FLAG,g24_start_pairing_sm1
+	branch app_bb_hibernate
+
+	
+mouse_bt_hid_connected:
+	branch mouse_hid_connected
+
+mouse_bt_event_setup_complete:
+	rtn
+
+mouse_soft_reset:
+	call mouse_select_device_enable
+	branch soft_reset_chip
+
+mouse_bb_disconnected:
+	bpatch patch1d_1,mem_patch1d
+	call mouse_bb_discon_clear_stack
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit1 MOUSE_SELECT_DEVICE_FLAG,mouse_soft_reset
+	bbit1 MOSUE_24G_PAIRING_FLAG,g24_start_pairing_sm1
+	fetch 1,mem_reconn_times
+	nbranch mouse_polling_device,blank
+	fetch APP_DISC_RSN_SIZE,mem_app_disconn_reason
+	bbit1 APP_DISC_BLE,mouse4_0_event_bb_disconn
+	bbit1 APP_DISC_BY_BUTTON,app_disconn_reason_clear
+	bbit1 APP_DISC_AFTER_PAIRING,mouse_event_light_state_pairing
+	bbit1 APP_DISC_AFTER_RECONN,mouse_event_light_state_hibernate
+	bbit1 APP_DISC_AFTER_SNIFF,mouse_event_light_state_hibernate
+	branch mouse_start_discovery
+mouse_bb_discon_clear_stack:
+	setarg 0
+	store 8,mem_wheel_tb_old_pinlevel
+	istore 4,contw             //clean wheel statue
+	jam 0,mem_mouse_send_blank_timer
+	jam 0,mem_mouse_move_flag
+	jam APP_HANDSHAKE_NULL,mem_app_handshake_flag
+	jam 0,mem_ltk_exists
+	rtn
+
+mouse_event_light_state_pairing:
+	bbit1 APP_DISC_AFTER_HANDSHAKE,mouse_event_light_state_hibernate
+	bbit1 APP_DISC_AFTER_SNIFF,mouse_event_light_state_hibernate
+	branch mouse_start_discovery
+mouse_event_light_state_hibernate:
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BTN_DOWN,mouse_start_discovery
+	branch app_bb_hibernate
+
+mouse4_0_event_bb_disconn:
+	call mouse_le_clean_connect_flag
+	fetch APP_DISC_RSN_SIZE,mem_app_disconn_reason
+	bbit1 APP_DISC_BY_BUTTON,app_disconn_reason_clear
+	branch app_bb_hibernate
+
+mouse_bb_event_timer:
+	call mouse_adc_read
+	call mouse_24g_delay_timer
+	call mouse_ban_24g_pairing_timer
+	call mouse_dpi_led_blink_delay_timer
+	call mouse_statue_up_timer
+	//poll
+	call mouse_statue_cheak_timer
+	call mouse_select_device
+	call mouse_bt_discovery_cheak
+	call mouse_low_voltage_led_timer
+	call mouse_sensor_led_contrl_timer
+	call mouse_check_hid_handshake_timer
+	call mouse_check_discovery_timeout_timer
+	call mouse_check_direct_timeout_timer
+	call mouse_check_no_data_timeout_timer
+	call mouse_check_mouse_state_timer
+	branch mouse_le_enable_att_list_timer
+
+
+
+mouse_sensor_led_contrl_timer:
+	fetch 1,mem_mouse_sensor_timer_count
+	rtn blank
+	increase -1,pdata
+	store 1,mem_mouse_sensor_timer_count
+	nrtn blank
+	branch mouse_sensor_led_contrl
+mouse_sensor_led_contrl:
+	fetch 1,mem_sensor_led_style
+	rtneq UI_LED_STATE_BLINK_STOP
+	beq UI_LED_STATE_BLINK_DARKING,mouse_sensor_led_blink_state_darking
+mouse_sensor_led_blink_state_lighting:
+	call mouse_sensor_led_on
+	jam UI_LED_STATE_BLINK_DARKING,mem_sensor_led_style
+	jam LED_SENSOR_BLINK_CNT,mem_mouse_sensor_timer_count
+	rtn
+mouse_sensor_led_blink_state_darking:
+	call mouse_sensor_led_off
+	jam UI_LED_STATE_BLINK_LIGHTING,mem_sensor_led_style
+	jam LED_SENSOR_BLINK_CNT,mem_mouse_sensor_timer_count
+	rtn
+	
+mouse_sensor_led_blink_stop:
+mouse_sensor_reset:
+	setarg 0x8006
+	call twspi_write
+    nop 1000
+	jam 0x00,mem_mouse_sensor_timer_count
+	jam UI_LED_STATE_BLINK_STOP,mem_sensor_led_style
+	branch mouse_init_p32xx_id2_judge
+	
+mouse_p3212sensor_led_on:
+	setarg 0xa006
+	call twspi_write
+	setarg 0xa005
+	branch twspi_write
+mouse_sensor_led_on_global:
+	jam 0,mem_mouse_sensor_timer_count
+mouse_sensor_led_on:
+	fetch 1,mem_config_sensor_type
+	beq P3212,mouse_p3212sensor_led_on
+	setarg 0x0106
+	call twspi_write
+	setarg 0xa105
+	branch twspi_write
+	
+mouse_sensor_led_off_global:
+	jam 0,mem_mouse_sensor_timer_count	
+mouse_sensor_led_off:
+	setarg 0x0906
+	branch twspi_write
+mouse_sensor_start_blink:
+	jam LED_SENSOR_BLINK_CNT,mem_mouse_sensor_timer_count
+	jam UI_LED_STATE_BLINK_START,mem_sensor_led_style
+	rtn
+	
+mouse_check_hid_handshake_timer:
+	arg mem_hid_handshake_timer_count,regc
+	arg mouse_bt_hid_handshake,regb
+	branch timer_single_step
+
+mouse_check_discovery_timeout_timer:	
+	arg mem_mouse_discovery_timer,regc
+	arg mouse_check_discovery_timeout,regb
+	branch timer_single_step_2B
+
+mouse_check_direct_timeout_timer:	
+	arg mem_mouse_direct_timer,regc
+	arg mouse_check_direct_timeout,regb
+	branch timer_single_step_2B
+	
+mouse_check_no_data_timeout_timer:	
+	arg mem_mouse_no_data_timer,regc
+	arg mouse_check_no_data_timeout,regb
+	branch timer_single_step_2B
+	
+mouse_check_mouse_state_timer:
+	arg mem_mouse_statue_led_timer,regc
+	arg mouse_statue_led_off,regb
+	branch timer_single_step
+
+
+
+mouse_le_enable_att_list_timer:
+	arg mem_le_start_encrypt_timer,regc
+	arg mouse_le_enable_att_list,regb
+	branch timer_single_step
+
+mouse_24g_delay_timer:
+	arg mem_24g_enter_lpm_timer,regc
+	arg mouse_24g_delay,regb
+	branch timer_single_step
+
+mouse_ban_24g_pairing_timer:
+	arg mem_24g_pairing_timer_count,regc
+	arg mouse_ban_24g_pairing,regb
+	branch timer_single_step_2B
+mouse_ban_24g_pairing:
+mouse_24g_delay:
+	rtn
+
+
+mosue_dpi_led_blink_init:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit0 MOUSE_ENABLE_DPI_LED_BLINK
+	jam 10,mem_mouse_dpi_led_delay_count  //delay 1s led blink
+	fetch 1,mem_dpi_led_gpio
+	store 1,mem_mouse_struct_led_gpio
+	rtn
+
+
+mouse_dpi_led_blink_delay_timer:
+	arg mem_mouse_dpi_led_delay_count,regc
+	arg mouse_dpi_led_setting,regb
+	branch timer_single_step	
+mouse_dpi_led_setting:
+	fetch 1,mem_dpi_led_gpio
+	store 1,mem_mouse_struct_led_gpio
+	setarg LED_DPI_BLINK
+	store 2,mem_mouse_on_time
+	store 2,mem_mouse_off_time
+	arg 0,rega
+	fetcht 1,mem_mouse_dpi
+	increase 1,temp
+	storet 1,mem_mouse_blink_count
+	jam UI_LED_STATE_BLINK_START,mem_mouse_led_type
+	rtn
+	
+mouse_le_enable_att_list:	
+	fetch 1,mem_le_connect_status_flag
+	rtnbit1 LL_PAIRING_SUCCESS_FLAG
+	jam BT_CMD_LE_UPDATE_CONN,mem_fifo_temp
+	call ui_ipc_send_cmd
+	arg WRITE_REQ_ENABLE_FLAG,queue
+	branch mouse_le_enable_connect_flag
+
+
+mouse_check_discovery_timeout:
+	call mouse_stop_discovery
+	branch app_enter_hibernate
+
+mouse_check_direct_timeout:
+	call app_ble_stop_direct_adv
+	fetch 1,mem_reconn_times
+	nbranch mouse_polling_device,blank
+	branch app_enter_hibernate
+
+mouse_check_no_data_timeout:
+	bmark1 mark_24g,check_51cmd_hibernate
+	branch mouse_disconnect
+
+	
+
+mouse_bb_event_discovery_btn:
+	bpatch patch1d_2,mem_patch1d
+	jam 0,mem_mouse_send_blank_timer
+	call mouse_disconnect
+	call mouse_le_clean_connect_flag
+	branch mouse_start_discovery
+
+
+
+mouse3_0_check_reconn_target:
+	fetch 6,mem_hci_plap
+	branch app_bt_start_discovery_short,blank
+	call mouse_reconn_setting_led_gpio
+	jam 0x17,mem_connection_options  //ssp
+	fetch 1,mem_ssp_enable
+	nbranch app_bt_start_reconnect,blank
+	jam 0x04,mem_connection_options  //no ssp
+	branch app_bt_start_reconnect
+	
+mouse4_0_check_reconn_target:
+	fetch 2,mem_mouse_direct_timeout
+	store 2,mem_mouse_direct_timer
+	call mouse_reconn_setting_led_gpio
+	call app_lpm_mult_disable
+	branch check_51cmd_adv
+
+mouse_reconn_setting_led_gpio:
+	setarg LED_RECONNECT_BLINK
+	store 2,mem_mouse_on_time
+	store 2,mem_mouse_off_time
+	branch mouse_setting_led_gpio_comman
+	
+mouse_discover_setting_led_gpio:
+	setarg LED_DISCOVERY_BLINK
+	store 2,mem_mouse_on_time
+	store 2,mem_mouse_off_time	
+mouse_setting_led_gpio_comman:
+	fetch 1,mem_device_flag
+	beq MODE_BT_DEVICE1,mouse_device_led1
+	beq MODE_BT_DEVICE2,mouse_device_led2
+	beq MODE_BT_DEVICE3,mouse_device_led3
+	rtn
+mouse_device_led1:
+	fetch 1,mem_config_device1_led_gpio
+	branch mouse_led_blink
+mouse_device_led2:
+	fetch 1,mem_config_device2_led_gpio
+	branch mouse_led_blink
+mouse_device_led3:
+	fetch 1,mem_config_device3_led_gpio
+mouse_led_blink:
+	store 1,mem_temp
+	call mouse_devce_led_off
+	fetch 1,mem_temp
+	store 1,mem_mouse_struct_led_gpio
+	arg 0,rega
+	jam UI_LED_STATE_BLINK_START,mem_mouse_led_type
+	branch ui_led_blink_start_global
+
+mouse_led_off:
+	arg 0,rega
+	branch ui_led_off_global
+mouse_led_on:
+	arg 0,rega
+	branch ui_led_on_global
+
+mouse4_0_bb_event_discovery_btn:
+	branch mouse_le_clean_connect_flag
+	
+mouse_bt_hid_handshake:
+	jam APP_HANDSHAKE_DONE,mem_app_handshake_flag
+	call app_lpm_mult_enable
+	call app_bt_store_reconn_info
+	setarg 0
+	store 2,mem_discovery_timeout_timer_count
+	store 1,mem_hid_handshake_timer_count
+	branch app_bt_enter_sniff
+
+mouse_check_reconn_target:
+	call mouse_cheak_select_device_by_switch
+	fetch 1,mem_device_flag
+	fetcht 1,mem_24g_device_number
+	isub temp,null
+	branch mouse_connect_24g_mode,zero
+	fetch 1,mem_xrecord_mode
+	beq REC_3_MODE,mouse3_0_check_reconn_target
+	beq REC_4_MODE,mouse4_0_check_reconn_target
+	branch mouse_start_discovery
+mouse_connect_24g_mode:
+	call mouse_start_24g_mode
+	rtnmark1 mark_24g
+	fetch 1,mem_reconn_times
+	nbranch mouse_polling_device,blank
+	rtn
+	
+mouse_start_discovery:
+	bpatch patch1d_3,mem_patch1d
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BLE_ADV,mouse_start_discovery_norandom
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit0 MOUSE_ENABLE_BLE_RANDOM_ADDRE,mouse_start_discovery_norandom
+	random pdata					//random ble addr
+	store 1,mem_le_lap+1
+mouse_start_discovery_norandom:
+	call app_lpm_mult_disable
+	fetch 2,mem_discovery_timeout
+	store 2,mem_mouse_discovery_timer
+	jam 6,mem_connection_options
+	setarg 0
+	store 2,mem_mouse_no_data_timer
+	store 2,mem_mouse_direct_timer
+	arg MOUSE_STORE_EEPROM_FLAG,queue
+	call mouse_enable_function_flag
+	call mouse_bt_discovery_button_down_disable
+	fetch 1,mem_device_option
+	isolate1 MODE_4_MOUSE,pdata
+	call check_51cmd_adv,true
+	fetch 1,mem_device_option
+	isolate1 MODE_3_MOUSE,pdata
+	call check_51cmd_start_discovery,true
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit1 MOUSE_ENABLE_DISCOVERY_SENSOR_LED,mouse_sensor_start_blink
+	branch mouse_discover_setting_led_gpio
+
+mouse_stop_discovery:
+	bpatch patch1d_4,mem_patch1d
+	fetch 1,mem_device_option
+	isolate1 MODE_4_MOUSE,pdata
+	call mouse_stop_le_adv,true
+	fetch 1,mem_device_option
+	isolate1 MODE_3_MOUSE,pdata
+	call mouse_stop_bt3_discovery,true
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit1 MOUSE_ENABLE_DISCOVERY_SENSOR_LED,mouse_sensor_led_blink_stop
+	branch mouse_devce_led_off
+mouse_stop_le_adv:
+	setarg 0
+	store 2,mem_mouse_direct_timer
+	branch check_51cmd_stop_adv
+mouse_stop_bt3_discovery:
+	setarg 0
+	store 2,mem_mouse_discovery_timer
+	branch check_51cmd_stop_discovery
+
+	
+
+
+
+mouse_store_remote_bdaddr:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit0 MOUSE_STORE_EEPROM_FLAG
+	arg MOUSE_STORE_EEPROM_FLAG,queue
+	call mouse_disable_function_flag
+	call mouse_check_device_addr
+mouse_unplug_clean_bdaddr:
+	call mouse_before_store_reconn_info
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit1 MOUSE_ENABLE_FLASH,mouse_store_flash_device_info
+	bbit1 MOUSE_ENABLE_EEPROM,mouse_store_eeprom_device_info	
+	rtn
+mouse_store_eeprom_device_info:
+	arg 88,temp
+	arg mem_device_flag,rega
+	arg MOUSE_INFO_EEPROM_OFFECT,regb
+	branch iicd_write_protect_eep_data
+
+mouse_check_device_addr:
+	fetch 1,mem_record_bt_mode
+	beq REC_4_MODE,mouse_check_le_device_addr
+	beq REC_3_MODE,mouse_check_bt_device_addr
+	rtn
+mouse_check_le_device_addr:
+	store 1,mem_device_addr_temp
+	fetch 6,mem_le_plap
+	branch mouse_check_bt_device_addr_common
+mouse_check_bt_device_addr:
+	store 1,mem_device_addr_temp
+	fetch 6,mem_plap
+mouse_check_bt_device_addr_common:
+	store 6,mem_device_addr_temp+1
+	fetch 7,mem_device_addr_temp
+	arg mem_device1_type,contr
+	arg 3,loopcnt
+mouse_check_device_addr_end:
+	ifetcht 7,contr
+	isub temp,null
+	branch mouse_clean_addr,zero
+	increase 22,contr
+	loop mouse_check_device_addr_end
+	rtn
+mouse_before_store_reconn_info:
+	arg mem_device1_type,rega
+	fetch 1,mem_device_flag
+	increase -1,pdata
+	mul32 pdata,29,pdata
+	iadd rega,rega
+	fetch 1,mem_record_bt_mode
+	istore 1,rega
+	beq REC_4_MODE,mouse_store_le_device
+	beq REC_3_MODE,mouse_store_bt_device
+	rtn
+	
+mouse_store_le_device:
+	fetch 6,mem_le_plap
+	istore 6,contw
+	arg mem_le_ltk,contr
+	call memcpy16
+	fetch 6,mem_le_lap
+	istore 6,contw
+	rtn
+mouse_store_bt_device:
+	fetch 6,mem_plap
+	istore 6,contw
+	arg mem_link_key,contr
+	branch memcpy16
+
+mouse_clean_addr:
+	increase -6,contr
+	copy contr,contw
+	fetcht 6,mem_device_addr_temp+1
+	increase 3,temp
+	istoret 6,contw
+	rtn
+
+
+
+mouse_eeprom_load_recon_info:
+	arg 88,temp
+	arg mem_device_flag,rega
+	arg MOUSE_INFO_EEPROM_OFFECT,regb
+	call iicd_read_eep_data
+mouse_select_reconn_device:
+	arg mem_device1_type,rega
+	fetch 1,mem_device_flag
+	fetcht 1,mem_24g_device_number
+	isub temp,null
+	rtn zero
+	increase -1,pdata
+	mul32 pdata,29,pdata
+	iadd rega,rega
+	ifetch 1,rega
+	store 1,mem_xrecord_mode
+	beq REC_3_MODE,mouse_load_bt_device
+	beq REC_4_MODE,mouse_load_le_device
+	rtn
+
+mouse_load_bt_device:
+	ifetch 6,contr
+mouse_load_bt_device_end:
+	store 6,mem_hci_plap
+	arg mem_link_key,contw
+	call memcpy16
+	branch check_link_key_load
+
+mouse_load_le_device:
+	ifetch 6,contr
+mouse_load_le_device_end:
+	store 6,mem_hci_plap
+	arg mem_le_ltk,contw
+	call memcpy16
+	ifetch 6,contr
+	store 6,mem_le_lap
+	rtn
+
+
+mouse_select_device:
+	fetch 1,mem_config_function_enable
+	bbit1 ENABLE_SELECT_DEVICE_BY_GPIO_BUTTON,mouse_select_device_by_button
+	bbit1 ENABLE_SELECT_DEVICE_BY_SWITCH,mouse_select_device_by_switch
+	branch mouse_select_device_by_combination_key
+
+mouse_select_device_by_combination_key:
+	call mouse_check_key_gpio
+	beq MOUSE_RM_BUTTON,mouse_select_device_commbination_key_down
+mouse_select_device_commbination_key_up:
+	jam 30,mem_combination_select_device_count	//combination key timer init 
+	fetch 1,mem_select_device_button_statue
+	rtneq DPI_BUTTON_STATE_UP
+	jam DPI_BUTTON_STATE_UP,mem_select_device_button_statue	
+	rtn
+	
+mouse_select_device_commbination_key_down:
+	call mouse_combination_select_device_timer
+	fetch 1,mem_select_device_button_statue
+	rtneq DPI_BUTTON_STATE_DOWN
+	jam DPI_BUTTON_STATE_DOWN,mem_select_device_button_statue
+	branch mouse_select_device_enable
+
+mouse_combination_select_device_timer:
+	fetch 1,mem_combination_select_device_count
+	rtn blank
+	pincrease -1
+	store 1,mem_combination_select_device_count
+	nrtn blank
+	branch mouse_ready_reconnection_by_button
+	
+mouse_select_device_by_button:
+	fetch 1,mem_config_select_device_button_gpio
+	rtneq GPIO_DISABLE
+	fetcht 1,mem_config_select_device_button_gpio
+	call gpio_get_bit
+	branch mouse_select_device_button_down,true
+mouse_select_device_button_up:
+	fetch 1,mem_select_device_button_statue
+	rtneq DPI_BUTTON_STATE_UP
+	jam DPI_BUTTON_STATE_UP,mem_select_device_button_statue	
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit1 MOUSE_LONG_BT_BUTTON_FLAG
+	branch mouse_ready_reconnection_by_button
+
+mouse_select_device_button_down:
+	fetch 1,mem_select_device_button_statue
+	rtneq DPI_BUTTON_STATE_DOWN
+	jam DPI_BUTTON_STATE_DOWN,mem_select_device_button_statue
+	arg MOUSE_LONG_BT_BUTTON_FLAG,queue
+	branch mouse_disable_function_flag
+
+
+
+mouse_select_device_by_switch:
+	fetch 1,MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit0 ENABLE_SELECT_DEVICE_BY_SWITCH
+	fetch 1,mem_device_flag
+	beq MODE_BT_DEVICE1,mouse_select1_device
+	beq MODE_24G_DEVICE,mouse_select2_device
+	rtn
+mouse_cheak_select_device_by_switch:
+	fetch 1,MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit0 ENABLE_SELECT_DEVICE_BY_SWITCH
+	fetcht 1,mem_config_select_device_button_gpio
+	call gpio_get_bit
+	branch mouse_cheak_select_24gdevice,true
+mouse_select_btdevice:
+	jam MODE_BT_DEVICE1,mem_device_flag
+	rtn
+mouse_cheak_select_24gdevice:
+	fetch 1,mem_24g_device_number
+	store 1,mem_device_flag
+	rtn
+mouse_select1_device:
+	fetcht 1,mem_config_select_device_button_gpio
+	nbranch mouse_ready_reconnection_by_button,true
+	rtn
+mouse_select2_device:
+	fetcht 1,mem_config_select_device_button_gpio
+	call gpio_get_bit
+	branch mouse_select_device_button_down,true
+	rtn
+
+
+	
+
+mouse_ready_reconnection_by_button:
+	fetcht 1,mem_device_flag
+	increase 1,temp
+	fetch 1,mem_device_number
+	isub temp,null
+	ncall mouse_select_device_count_clean,positive
+	storet 1,mem_device_flag
+	jam 0,mem_link_key_exists
+	call mouse_store_device_number2eeprom
+	call mouse_select_device_enable
+//	call p_select_reconn_device
+	branch mouse_set_reconnection
+
+mouse_store_device_number2eeprom:
+	arg 1,temp
+	arg mem_device_flag,rega
+	arg 0,regb
+	branch iicd_write_eep_data
+
+mouse_set_reconnection:
+	call mouse_stop_bluetooth_mode
+	call mouse_select_device_disable
+	branch mouse_soft_reset
+mouse_stop_bluetooth_mode:
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BT_RECONNECT,mouse_cancel_reconnect
+	bbit1 UI_STATE_BLE_CONNECTED,app_ble_disconnect
+	bbit1 UI_STATE_BT_CONNECTED,app_bt_disconnect
+	branch mouse_stop_discovery
+
+mouse_disconnect:
+	bpatch patch1d_5,mem_patch1d
+	setarg 0
+	store 2,mem_mouse_no_data_timer
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BLE_CONNECTED,app_ble_disconnect
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BT_CONNECTED,app_bt_disconnect
+	rtn
+
+mouse_irtual_cable_unplug:
+	setarg 0x01
+	store 6,mem_plap
+	jam REC_3_MODE,mem_record_bt_mode
+	branch mouse_unplug_clean_bdaddr
+
+	
+mouse_cancel_reconnect:
+	call mouse_bt_cannel_reconn_enable
+	branch check_51cmd_bb_reconn_cancel
+
+mouse_bt_discovery_by_button:
+	fetch 1,mem_config_bt_button_gpio
+	rtneq GPIO_DISABLE
+	fetcht 1,mem_config_bt_button_gpio
+	call gpio_get_bit
+	branch mouse_bt_discovery_button_down,true
+mouse_bt_discovery_button_up:
+	fetch 1,mem_ui_button_timeout
+	store 1,mem_combination_ui_button_count	//combination key timer init 	
+	fetch 1,mem_bt_discovey_button_statue
+	rtneq DPI_BUTTON_STATE_UP
+	jam DPI_BUTTON_STATE_UP,mem_bt_discovey_button_statue	
+	branch mouse_bt_discovery_button_down_disable
+mouse_bt_discovery_button_down:
+	call mouse_bt_discovry_timer
+	fetch 1,mem_bt_discovey_button_statue
+	rtneq DPI_BUTTON_STATE_DOWN
+	jam DPI_BUTTON_STATE_DOWN,mem_bt_discovey_button_statue
+	call check_51cmd_bb_reconn_cancel
+	branch mouse_bt_discovery_button_down_enable
+
+	
+mouse_bt_discovery_cheak:
+	fetch 1,mem_config_function_enable
+	bbit1 ENABLE_BT_BUTTON,mouse_bt_discovery_by_button
+mouse_bt_discovery_commbination_key:
+	call mouse_check_key_gpio
+	beq MOUSE_LMR_BUTTON,mouse_bt_discovery_commbination_key_down
+mouse_bt_discovery_commbination_key_up:
+	fetch 1,mem_ui_button_timeout
+	store 1,mem_combination_ui_button_count	//combination key timer init 
+	fetch 1,mem_bt_discovey_button_statue
+	rtneq DPI_BUTTON_STATE_UP
+	jam DPI_BUTTON_STATE_UP,mem_bt_discovey_button_statue	
+	branch mouse_bt_discovery_button_down_disable
+	
+	
+mouse_bt_discovery_commbination_key_down:
+	call mouse_bt_discovry_timer
+	fetch 1,mem_bt_discovey_button_statue
+	rtneq DPI_BUTTON_STATE_DOWN
+	jam DPI_BUTTON_STATE_DOWN,mem_bt_discovey_button_statue
+	call check_51cmd_bb_reconn_cancel
+	branch mouse_bt_discovery_button_down_enable
+
+mouse_bt_discovry_timer:
+	arg mem_combination_ui_button_count,regc
+	arg mouse_long_button_bt_discovry,regb
+	branch timer_single_step
+	
+mouse_long_button_bt_discovry:
+	arg MOUSE_LONG_BT_BUTTON_FLAG,queue
+	call mouse_enable_function_flag
+	call app_evt_button_long_pressed
+	branch mouse_bb_event_discovery_btn
+
+
+mouse_cpi_enable:
+	arg MOUSE_CPI_FLAG,queue
+	branch mouse_enable_function_flag
+mouse_cpi_disable:
+	arg MOUSE_CPI_FLAG,queue
+	branch mouse_disable_function_flag
+mouse_select_device_enable:
+	arg MOUSE_SELECT_DEVICE_FLAG,queue
+	branch mouse_enable_function_flag
+mouse_select_device_disable:
+	arg MOUSE_SELECT_DEVICE_FLAG,queue
+	branch mouse_disable_function_flag
+mouse_bt_cannel_reconn_enable:
+	arg MOUSE_BT_CANNEL_RECONN_FLAG,queue
+	branch mouse_enable_function_flag
+mouse_bt_cannel_reconn_disable:
+	arg MOUSE_BT_CANNEL_RECONN_FLAG,queue
+	branch mouse_disable_function_flag
+mouse_bt_discovery_button_down_enable:
+	arg MOUSE_BT_DISCOVERY_BUTTON_DOWN_FLAG,queue
+	branch mouse_enable_function_flag
+mouse_bt_discovery_button_down_disable:
+	arg MOUSE_BT_DISCOVERY_BUTTON_DOWN_FLAG,queue
+	branch mouse_disable_function_flag
+
+
+
+mouse_select_device_count_clean:
+	arg 1,temp
+	rtn
+
+mouse_enable_function_flag:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	qset1 pdata
+	store MOUSE_FLAG_LEN,mem_mouse_flag
+	rtn
+
+mouse_disable_function_flag:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	qset0 pdata
+	store MOUSE_FLAG_LEN,mem_mouse_flag
+	rtn
+	
+mouse_adc_read:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit0 MOUSE_ENABLE_ADC
+	fetch 1,mem_adc_read_timer
+	increase 1,pdata
+	store 1,mem_adc_read_timer
+	sub pdata,10,null              //1s read adc
+	rtn positive
+	jam 0,mem_adc_read_timer
+	call adc_set_mode
+	call vdd_calculate_by_mode
+	store 2,mem_mouse_vdd_now_vol
+	arg mem_mouse_vdd_calculate_set,rega
+	call adc_bat_percent_lowpower_out
+	fetch 1,mem_adc_power_flag
+	bbit1 1,mouse_power_down
+	bbit0 0,mouse_adc_no_low_voltage
+	branch mouse_adc_low_voltage
+mouse_adc_low_voltage:
+	arg MOUSE_LOW_VOLTAGE_FLAG,queue
+	branch mouse_enable_function_flag
+mouse_adc_no_low_voltage:
+	arg MOUSE_LOW_VOLTAGE_FLAG,queue
+	branch mouse_disable_function_flag
+
+mouse_low_voltage_led_timer:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit0 MOUSE_LOW_VOLTAGE_FLAG
+	fetch 1,mem_config_low_voltage_alarm_gpio
+	store 1,mem_mouse_struct_led_gpio
+	fetch 1,mem_adc_low_volatage_led_timer_count
+	pincrease 1
+	store 1,mem_adc_low_volatage_led_timer_count
+	sub pdata,20,null
+	ncall mouse_adc_low_volatage_led_timer_count_clean,positive
+	beq 2,mouse_low_voltage_led_on
+	beq 4,mouse_low_voltage_led_off
+	beq 6,mouse_low_voltage_led_on
+	beq 8,mouse_low_voltage_led_off
+	rtn
+mouse_adc_low_volatage_led_timer_count_clean:
+	jam 1,mem_adc_low_volatage_led_timer_count
+	branch mouse_low_voltage_led_off
+mouse_low_voltage_led_on:
+	arg 0,rega
+	jam UI_LED_STATE_LIGHTING,mem_mouse_led_type
+	branch ui_led_on_global
+mouse_low_voltage_led_off:
+	arg 0,rega
+	jam UI_LED_STATE_LIGHTING,mem_mouse_led_type
+	branch ui_led_off_global
+
+mouse_g24_package_data:
+	call mouse_motion
+	nrtn user
+	arg 7,rega	//length
+	arg mem_mouse_key,regb //tx buff
+	rtn
+	
+mouse_g24_enter_lpm:
+	fetch 1,mem_mouse_24g_enter_lpm_enable
+	rtn blank
+	//do not enter lpm when condition is unallowed
+	fetcht 1,mem_dpi_button_gpio
+	call gpio_get_bit
+	call mouse_24g_dpi_delay_init,true
+	fetch 1,mem_24g_enter_lpm_timer
+	nrtn blank
+	call mouse_check_key_gpio
+	nrtn blank
+	branch g24_lpm_long_sleep
+
+mouse_24g_dpi_delay_init:
+	fetch 1,mem_dpi_button_gpio
+	rtneq UI_BUTTON_GPIO_DISABLE
+	jam 10,mem_24g_enter_lpm_timer
+	rtn
+
+	
+mouse_load_flash_info_cheak:
+	call mouse_load_flash_flag
+	fetch 2,mem_store_flag
+	arg EEPROM_INIT_FLAG,temp
+	isub temp,null
+	branch mouse_load_flash_device_info,zero
+	storet 2,mem_store_flag
+	call mouse_ble_init_address
+	branch mouse_store_flash_device_info
+mouse_ble_init_address:
+	fetch 6,mem_le_lap
+	store 6,mem_device1_locall_addr
+	add pdata,0x0100,pdata
+	store 6,mem_device2_locall_addr
+	add pdata,0x0100,pdata
+	store 6,mem_device3_locall_addr
+	rtn
+	
+	
+mouse_load_flash_flag:
+	setarg mem_store_flag
+	arg mem_mouse_information_start,temp
+	isub temp,temp
+	fetch 3,mem_flash_base
+	iadd temp,pdata
+	arg 2,temp
+	arg mem_store_flag,rega
+	branch spid_read_flash
+
+	
+mouse_load_flash_device_info:
+	setarg mem_mouse_information_end
+	arg mem_mouse_information_start,temp
+	isub temp,temp
+	fetch 3,mem_flash_base
+	arg mem_mouse_information_start,rega
+	call spid_read_flash
+	call mouse_select_reconn_device
+	fetch 4,mem_mouse_24g_addr
+	call g24_head_ptr2regc
+	branch g24_store_mem_addr
+
+mouse_store_flash_device_info:	
+	setarg mem_mouse_information_end
+	arg mem_mouse_information_start,temp
+	isub temp,temp
+	arg mem_mouse_information_start,rega
+	fetch 3,mem_flash_base
+	branch flash_write
+
+mouse_store_eerpom_dpi:
+	arg 1,temp
+	arg mem_mouse_dpi,rega
+	arg MOUSE_DPI_EEPROM_OFFECT,regb
+	branch iicd_write_protect_eep_data
+
+mouse_load_eeprom_dpi:
+	arg 1,temp
+	arg mem_mouse_dpi,rega
+	arg MOUSE_DPI_EEPROM_OFFECT,regb
+	branch iicd_read_eep_data
+
+mouse_statue_cheak_timer:
+	rtnmark1 mark_24g
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit0 MOUSE_ENABLE_STATUE_UP
+	fetch 1,mem_mouse_1step_up_count
+	pincrease 1
+	and pdata,0x07,pdata
+	store 1,mem_mouse_1step_up_count
+	rtnne 0x07         //800ms read sensor
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BT_CONNECTED,mouse_check_statue_up
+	bbit1 UI_STATE_BLE_CONNECTED,mouse_check_statue_up
+	rtn
+
+
+
+//mosue 
+mouse_check_statue_up:
+	bpatch patch1d_6,mem_patch1d
+	fetch 1,mem_mouse_2step_up_count
+	nrtn blank
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit0 MOUSE_STATUE_UP_FLAG
+	fetch 1,mem_sensor_squal_reg
+	call sensor_read
+	store 1,mem_sensor_iqc
+	sub pdata,0x10,null
+	branch mouse_statue_up_timer_init,positive
+	jam 0,mem_mouse_2step_up_count
+	rtn
+
+mouse_statue_up_timer_init:
+	jam 30,mem_mouse_2step_up_count
+	rtn
+mouse_statue_up_timer:
+	arg mem_mouse_2step_up_count,regc
+	arg mouse_statue_up,regb
+	branch timer_single_step
+
+mouse_statue_up:
+	fetch 1,mem_sensor_squal_reg
+	call twspi_read
+	sub pdata,0x10,null
+	nrtn positive
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit0 MOUSE_STATUE_UP_FLAG
+	arg MOUSE_STATUE_UP_FLAG,queue
+	call mouse_disable_function_flag
+	jam 0,mem_lpm_mult
+	jam 30,mem_mouse_statue_led_timer         // led on3s
+	call mouse_devce_led_off
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit1 MOUSE_ENABLE_STATUE_UP_THREE_LED,mouse_three_device_statue_up
+mouse_two_device_statue_up:
+	fetch 1,mem_device_flag
+	beq MODE_BT_DEVICE1,mouse_device1_led_on  		//device_1
+	beq MODE_BT_DEVICE2,mouse_device_blink_led_init		//device_2
+	rtn
+mouse_three_device_statue_up:
+	fetch 1,mem_device_flag
+	beq MODE_BT_DEVICE1,mouse_device1_led_on  		//device_1
+	beq MODE_BT_DEVICE2,mouse_device2_led_on		//device_2
+	beq MODE_BT_DEVICE3,mouse_device3_led_on		//device_3
+	rtn
+	
+mouse_device_blink_led_init:
+	fetch 1,mem_config_device1_led_gpio
+	branch mouse_led_blink
+
+
+
+mouse_statue_led_off:
+	jam 0x20,mem_lpm_mult
+	branch mouse_devce_led_off
+
+
+
+mouse_devce1_led_off:
+	fetch 1,mem_config_device1_led_gpio
+	rtneq GPIO_DISABLE
+	store 1,mem_mouse_struct_led_gpio
+	branch mouse_led_off
+
+mouse_devce2_led_off:
+	fetch 1,mem_config_device2_led_gpio
+	rtneq GPIO_DISABLE
+	store 1,mem_mouse_struct_led_gpio
+	branch mouse_led_off
+	
+mouse_devce_led_off:
+	call mouse_led_off
+	call mouse_devce1_led_off
+	call mouse_devce2_led_off
+mouse_devce3_led_off:
+	fetch 1,mem_config_device3_led_gpio
+	rtneq GPIO_DISABLE
+	store 1,mem_mouse_struct_led_gpio
+	branch mouse_led_off
+
+mouse_device1_led_on:
+	fetch 1,mem_config_device1_led_gpio
+	store 1,mem_mouse_struct_led_gpio
+	branch mouse_led_on
+mouse_device2_led_on:
+	fetch 1,mem_config_device2_led_gpio
+	store 1,mem_mouse_struct_led_gpio
+	branch mouse_led_on
+mouse_device3_led_on:
+	fetch 1,mem_config_device3_led_gpio
+	store 1,mem_mouse_struct_led_gpio
+	branch mouse_led_on
+
+
+
+mouse_polling_device:
+	bpatch patch1d_7,mem_patch1d
+	fetch 1,mem_reconn_times
+	increase -1,pdata
+	store 1,mem_reconn_times
+	fetcht 1,mem_device_flag
+	increase 1,temp
+	fetch 1,mem_device_number
+	isub temp,null
+	ncall mouse_select_device_count_clean,positive
+	storet 1,mem_device_flag
+	jam 0,mem_link_key_exists
+	call mouse_store_device_number2eeprom
+	call mouse_before_store_reconn_info
+	branch mouse_check_reconn_target
+	
+mouse_power_down:
+	call mouse_devce_led_off
+	setarg 0
+	store 8,mem_gpio_wakeup_low
+	branch lpm_hibernate
+
+
+
+
+
+
+endif
+
+
+
Index: rom/command.format
===================================================================
--- /branch/mouse_project/ZhongXinSheng/ZXS_1062/MJ391_24G&BLE_PB/rom/command.format	(revision 0)
+++ /branch/mouse_project/ZhongXinSheng/ZXS_1062/MJ391_24G&BLE_PB/rom/command.format	(working copy)
@@ -0,0 +1,1384 @@
+
+/* Parse Command:
+TX: take bits from tx fifo, jam it into shift and a destination (rf,bucket)
+RX: take bits from demod,  jam it into shift and a destination (acl,sco,bucket) */
+
+/* Inject Command:
+TX: 0 into shift, send tail of shift into a destination (rf,bucket)
+RX: 0 into shift, send tail of shift into a destination (acl,sco,bucket) */
+
+format
+  ! 15 romdat
+  % d0
+  % d1
+  % d2
+  % d3
+  [8] d0
+  [8] d1
+  [8] d2
+  [8] d3
+end
+
+format
+  ! 15 enable   /* set flag to 1 */
+  % flag
+  [5] opcode
+  [6] 1
+  [6] flag
+  [6] null
+  [9] 0
+end
+ /* High 5 bytes of channel map */
+format
+  ! 15 pulse   /* set flag to 1 */
+  % flag
+  [5] opcode
+  [6] 1
+  [6] flag
+  [6] null
+  [9] 0
+end
+
+format
+  ! 15 disable   /* set flag to 0 */
+  % flag
+  [5] opcode
+  [6] 2
+  [6] flag
+  [6] null
+  [9] 0
+end
+
+format
+  ! 15 set0  /* set selected bit of reg to 0 */
+  % immediate
+  % reg
+  [5] opcode
+  [6] 9
+  [6] never
+  [6] reg
+  [9] immediate
+end
+
+format
+  ! 15 set1  /* set selected bit of reg to 1 */
+  % immediate
+  % reg
+  [5] opcode
+  [6] 9          /* alu op demux */
+  [6] always
+  [6] reg
+  [9] immediate
+end
+
+format
+  ! 15 setflag  /* set selected bit of the reg to the polarity of the flag */
+  % flag
+  % immediate
+  % reg
+  [5] opcode
+  [6] 9
+  [6] flag
+  [6] reg
+  [9] immediate
+end
+
+format
+  ! 15 nsetflag  /* set the selected bit of the reg to the opposite polarity of the flag */
+  % flag
+  % immediate
+  % reg
+  [5] opcode
+  [6] 0x29
+  [6] flag
+  [6] reg
+  [9] immediate
+end
+
+format
+  ! 15 setflip    /* invert the selected bit of the reg */
+  % immediate
+  % reg
+  [5] opcode
+  [6] 10            /* this is alu op */
+  [6] always
+  [6] reg
+  [9] immediate
+end
+
+format
+  ! 0x1f qset1      /* demux the lowest 4 bit of queue and OR it with regr into regw */
+  % reg             /* in short, set the bit in reg indexed by queue to 1 */
+  [5] opcode
+  [6] 9
+  [6] always
+  [6] reg
+  [9] 0
+end
+  
+format
+  ! 0x1f qset0      /* demux the lowest 4 bit of queue and AND it with regr into regw */
+  % reg             /* in short, set the bit in reg indexed by queue to 0 */
+  [5] opcode
+  [6] 9
+  [6] never
+  [6] reg
+  [9] 0
+end
+
+format 
+  ! 0x1f qsetflag   /* set the bit in reg index by queue to same as flag */
+  % flag
+  % reg
+  [5] opcode
+  [6] 9
+  [6] flag
+  [6] reg
+  [9] 0
+end
+
+format 
+  ! 0x1f nqsetflag   /* set the bit in the reg index by queue to opposite of flag */
+  % flag
+  % reg
+  [5] opcode
+  [6] 0x29
+  [6] flag
+  [6] reg
+  [9] 0
+end
+
+format
+  ! 0x1f qsetflip      /* flip the bit in reg index by queue */
+  % reg
+  [5] opcode
+  [6] 10
+  [6] always
+  [6] reg
+  [9] 0
+end
+
+format
+  ! 1 parse       /* take bits out of source (sco_tx,tx_buffer,rx-elas) into pdata and dest (sco_rx,rx_fifo,tx-elas) */
+  % source
+  % dest
+  % immediate
+  [5] opcode
+  [4] source      /* voice, data, demod */
+  [2] 0
+  [6] 0    
+  [2] 0           /* parse or inject */ 
+  [4] dest        /* acl, sco, mod, bucket */
+  [9] immediate   /* number of bits to parse off */
+end
+
+format
+  ! 1 inject      /* shift data from pdata into destination (tx-elas,rx_fifo,sco_rx) */
+  % destination
+  % immediate
+  [5] opcode
+  [4] 0
+  [2] 0
+  [6] 1
+  [2] 0
+  [4] destination /* acl,sco,mod,bucket */
+  [9] immediate   /* number of bits to be injected */
+end
+
+format
+  ! 1 iinject
+  % destination
+  % regr
+  [5] opcode
+  [6] regr       /* contain the number of bits to inject */
+  [6] 3
+  [2] 0
+  [4] destination /* acl,sco,mod,bucket */
+  [9] 0 
+end
+
+format
+  ! 1 stuff  /* automatic parse, stuff_counter decrement on every bit until hits zero */
+  % source
+  % destination
+  [5] opcode
+  [4] source
+  [2] 0
+  [6] 2
+  [2] 0
+  [4] destination
+  [9] 0
+end
+
+format    /* force immediate value into registers */
+  ! 3 force
+  % immediate
+  % regw
+  [5] opcode
+  [6] 0
+  [6] 0    /* alu operation force */
+  [6] regw  /* destination register */
+  [9] immediate
+end
+
+format    /* force whatever is on shift_reg to regsiters */
+  ! 0x13 iforce
+  % regw
+  [5] opcode
+  [6] 0
+  [6] 0    /* alu operation force */
+  [6] regw  /* destination register */
+  [9] 0
+end
+
+format    /* force immediate value into registers */
+  ! 3 increase
+  % immediate
+  % reg
+  [5] opcode
+  [6] reg
+  [6] 1    /* alu operation add */
+  [6] reg
+  [9] immediate
+end
+
+format
+  ! 3 pincrease
+  % immediate
+  [5] opcode
+  [6] -1  /* pdata */
+  [6] 1   /* alu add */
+  [6] -1  /* back to pdata */
+  [9] immediate
+end
+
+format    /* force immediate value into registers */
+  ! 3 and_into
+  % immediate
+  % reg
+  [5] opcode
+  [6] reg
+  [6] 2    /* alu operation and into */
+  [6] reg
+  [9] immediate
+end
+
+format
+  ! 3 and
+  % regr
+  % immediate
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 2    /* alu operation and into */
+  [6] regw
+  [9] immediate
+end
+  
+format
+  ! 0x13 iand    /* pdata & regr -> regw */
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 2    /* alu operation and into */
+  [6] regw
+  [9] 0
+end
+  
+
+format    /* and whatever is in shiftreg with reg */
+  ! 0x13 iand_into
+  % reg
+  [5] opcode
+  [6] reg
+  [6] 2    /* alu operation and into */
+  [6] reg
+  [9] 0
+end
+
+format
+  ! 3 or_into
+  % immediate
+  % reg
+  [5] opcode
+  [6] reg
+  [6] 3    /* alu operation or into */
+  [6] reg
+  [9] immediate
+end
+
+format
+  ! 3 or
+  % regr
+  % immediate
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 3    /* alu operation or into */
+  [6] regw
+  [9] immediate
+end
+
+format
+  ! 0x13 ior
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 3    /* alu operation or into */
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 0x13 ior_into
+  % reg
+  [5] opcode
+  [6] reg
+  [6] 3    /* alu operation or into */
+  [6] reg
+  [9] 0
+end
+
+format
+  ! 3 skip_to   /* jump to location stored in reg */
+  % reg
+  [5] opcode
+  [6] reg
+  [6] 4   /* alu operation copy */
+  [6] rom_addr
+  [9] 0
+end
+
+format
+  ! 3 copy
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 4   /* alu operation copy */
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 deposit   /* copy the register content thru alu to shift register, not prealigned like preload */
+  % reg
+  [5] opcode
+  [6] reg
+  [6] 4   /* alu operation copy */
+  [6] -1  /* pdata */
+  [9] 0
+end
+
+format
+  ! 3 icopy     /* copy the shift register lsb content directly to register, not aligned */
+  % regw
+  [5] opcode
+  [6] -1  /* pdata */
+  [6]  4  /* alu copy */
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 add
+  % regr
+  % immediate
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 1
+  [6] regw
+  [9] immediate
+end
+
+format
+  ! 0x13 iadd       /* regr + pdata -> regw */
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 1
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 sub          /* immediate - regr -> regw */
+  % regr
+  % immediate
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 12
+  [6] regw
+  [9] immediate
+end
+
+format
+  ! 0x13 isub       /* pdata - regr -> regw */
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 12
+  [6] regw
+  [9] 0
+end
+
+
+format
+  ! 3 flip
+  % immediate
+  % reg
+  [5] opcode
+  [6] reg
+  [6] 5
+  [6] reg
+  [9] immediate
+end
+  
+format
+  ! 0x13 iflip  /* use shift register as immediate to do xor */
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 5
+  [6] regw
+  [9] 0
+end
+  
+format
+  ! 3 xor
+  % regr
+  % immediate
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 5
+  [6] regw
+  [9] immediate
+end
+
+format
+  ! 3 xor_into
+  % immediate
+  % reg
+  [5] opcode
+  [6] reg
+  [6] 5
+  [6] reg
+  [9] immediate
+end
+  
+format
+  ! 0x13 ixor  /* pdata xor regr and store result in regw */
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 5
+  [6] regw
+  [9] 0
+end
+  
+format
+  ! 3 invert
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 8
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 pinvert    /* invert pdata into itself */
+  [5] opcode
+  [6] -1
+  [6] 8
+  [6] -1
+  [9] 0
+end
+
+format
+  ! 3 div                 /* regr div immediate div */
+  % reg
+  % immediate
+  [5] opcode
+  [6] reg
+  [6] 13                   /* generate diven pulse to div */
+  [6] null
+  [9] immediate
+end
+
+format
+  ! 0x13 idiv           /* pdata div regr data ready at most after 41 nops */
+  % reg
+  [5] opcode
+  [6] reg
+  [6] 13                   /* generate diven pulse to div */
+  [6] null
+  [9] 0
+end
+
+format
+  ! 3 remainder            /* harvest div remainder */
+  % regw
+  [5] opcode
+  [6] 0
+  [6] 14
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 quotient             /* harvest div quotient */
+  % regw
+  [5] opcode
+  [6] 0
+  [6] 15
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 rshift
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 6
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 rshift2
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 22
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 rshift3
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 18
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 rshift4
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 35
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 rshift8
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 25
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 rshift16
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 34
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 rshift32
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 30
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 lshift
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 7
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 lshift2
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 23
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 lshift8
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 26
+  [6] regw
+  [9] 0
+end
+
+  
+format
+  ! 3 lshift3
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 19
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 lshift4
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 36
+  [6] regw
+  [9] 0
+end
+  
+
+format
+  ! 3 lshift16
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 32
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 random               /* random number into regw */
+  % reg
+  [5] opcode
+  [6] 0
+  [6] 20
+  [6] reg
+  [9] 0
+end
+
+format                     /* bit reverse within a byte */
+  ! 3 reverse
+  % reg
+  % regw
+  [5] opcode
+  [6] reg
+  [6] 27
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 priority    /* priority encode reg into regw, lsb is the top priority, ie, priority(8'b00010000) = 4 */
+  % reg
+  % regw
+  [5] opcode
+  [6] reg
+  [6] 21
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 7 setsect   /* set a section of pdata */
+  % section    /* 0 sets 17:0 of pdata with set_data, 1 sets 35:18, 2 sets 53:36, 3 sets 71:54 */
+  % set_data
+  [5] opcode
+  [7] 0
+  [2] section
+  [18] set_data
+end
+
+format
+  ! 10 preload   /* load stuff into pdata according to fhs format, check us.v */
+  % reg
+  [5] opcode
+  [6] reg
+  [6] 0
+  [6] -1
+  [9] 0
+end
+
+format  /* load register with pdata content, according to fhs format, check us.v */
+  ! 10 ialigned   /* all bits are in position */
+  % regw
+  [5] opcode
+  [6] -1
+  [6] 0
+  [6] regw
+  [9] 0
+end
+
+format  /* load register to another according to fhs format */
+  ! 10 aligned
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 0
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 4 branch
+  % addr
+  % flag
+  [5] opcode
+  [6] 1
+  [6] flag
+  [15] addr
+end
+
+format
+  ! 4 call
+  % addr
+  % flag
+  [5] opcode
+  [6] 2
+  [6] flag
+  [15] addr
+end
+
+format
+  ! 4 rtn
+  % flag
+  [5] opcode
+  [6] 3
+  [6] flag
+  [15] 0
+end
+
+format
+  ! 0x0c store          /* write to memory, data from pdata, address from immediate then mem_ptr */
+  % num_bytes
+  % addr
+  [5] opcode
+  [6] 0               /* memory */
+  [1] 0
+  [1] 0
+  [4] num_bytes
+  [15] addr
+end
+
+format
+  ! 0x0c hstore          /* write to memory, data from pdata, address from immediate then mem_ptr */
+  % num_bytes
+  % addr
+  [5] opcode
+  [6] 0               /* memory */
+  [1] 1
+  [1] 0
+  [4] num_bytes
+  [15] addr
+end
+
+format
+  ! 0x1c istore        /* write to memory, data from pdata, address from regr then mem_ptr */
+  % num_bytes
+  % reg
+  [5] opcode
+  [6] reg            /* hold address */
+  [1] 0
+  [1] 0
+  [4] num_bytes
+  [15] 0
+end
+
+format
+  ! 0x0d fetch          /* read from memory, data into pdata, address from immediate then mem_ptr */
+  % num_bytes
+  % addr
+  [5] opcode
+  [6] 0               /* memory */
+  [1] 0
+  [1] 0
+  [4] num_bytes
+  [15] addr
+end
+
+format
+  ! 0x0d hfetch          /* read from memory, data into pdata, address from immediate then mem_ptr */
+  % num_bytes
+  % addr
+  [5] opcode
+  [6] 0               /* memory */
+  [1] 1
+  [1] 0
+  [4] num_bytes
+  [15] addr
+end
+
+format
+  ! 0x0d crc         /* read from memory, count from loopcnt, put crc result into pdata */
+  % addr
+  [5] opcode
+  [6] 0
+  [1] 0
+  [1] 0
+  [4] 0
+  [15] addr
+end
+
+format
+  ! 0x1d icrc         /* read from memory, address from reg, count from loopcnt, put crc result into pdata */
+  % reg
+  [5] opcode
+  [6] reg             /* hold address */
+  [1] 0
+  [1] 0
+  [4] 0
+  [15] 0
+end
+
+
+format
+  ! 0x1d ifetch         /* read from memory, data into pdata, address from regr then mem_ptr */
+  % num_bytes
+  % reg
+  [5] opcode
+  [6] reg             /* hold address */
+  [1] 0
+  [1] 0
+  [4] num_bytes
+  [15] 0
+end
+
+format
+  ! 0x0c storet          /* write to memory, data from temp, address from immediate won't increment */
+  % num_bytes
+  % addr
+  [5] opcode
+  [6] 0               /* memory */
+  [1] 0
+  [1] 1
+  [4] num_bytes
+  [15] addr
+end
+
+format
+  ! 0x0c hstoret          /* write to corereg, data from temp, address from immediate won't increment */
+  % num_bytes
+  % addr
+  [5] opcode
+  [6] 0               /* memory */
+  [1] 1
+  [1] 1
+  [4] num_bytes
+  [15] addr
+end
+
+format
+  ! 0x1c istoret        /* write to memory, data from temp, address from regr won't increment */
+  % num_bytes
+  % reg
+  [5] opcode
+  [6] reg            /* hold address */
+  [1] 0
+  [1] 1
+  [4] num_bytes
+  [15] 0
+end
+
+format
+  ! 0x0d fetcht          /* read from memory, data into temp, address from immediate won't increment */
+  % num_bytes
+  % addr
+  [5] opcode
+  [6] 0               /* memory */
+  [1] 0
+  [1] 1
+  [4] num_bytes
+  [15] addr
+end
+
+format
+  ! 0x0d hfetcht          /* read from corereg, data into temp, address from immediate won't increment */
+  % num_bytes
+  % addr
+  [5] opcode
+  [6] 0               /* memory */
+  [1] 1
+  [1] 1
+  [4] num_bytes
+  [15] addr
+end
+
+format
+  ! 0x1d ifetcht         /* read from memory, data into temp, address from regr won't increment */
+  % num_bytes
+  % reg
+  [5] opcode
+  [6] reg             /* hold address */
+  [1] 0
+  [1] 1
+  [4] num_bytes
+  [15] 0
+end
+
+format
+  ! 0x0e jam
+  % immediate
+  % addr
+  [5] opcode
+  [3] 0
+  [16] addr
+  [8] immediate
+end
+
+format			/* 0x242... */
+  ! 4 nbranch
+  % addr
+  % flag
+  [5] opcode
+  [1] 1
+  [5] 1
+  [6] flag
+  [15] addr
+end
+
+format
+  ! 4 ncall
+  % addr
+  % flag
+  [5] opcode
+  [1] 1
+  [5] 2
+  [6] flag
+  [15] addr
+end
+
+format
+  ! 4 nrtn
+  % flag
+  [5] opcode
+  [1] 1
+  [5] 3
+  [6] flag
+  [15] 0
+end
+
+format
+  ! 4 nop
+  % addr  /* no-op for addr+2 clocks */
+  [5] opcode
+  [6] 0     
+  [6] 0     /* always */ 
+  [15] addr
+end
+
+format
+  ! 4 clear_stack
+  [5] opcode
+  [6] 4
+  [6] 0    /* always */
+  [15] 0
+end
+
+format
+  ! 6 until
+  % reg
+  % flag
+  [5] opcode
+  [6] reg
+  [6] flag
+  [6] 1
+  [9] 0
+end
+  
+format
+  ! 6 correlate   /* quit if 1. flag is true 2, regr time up 3, found sync,(cond_true) */
+  % reg          /* expire counter to check against */
+  % flag
+  [5] opcode
+  [6] reg
+  [6] flag
+  [6] 2           /* correlate */
+  [9] 0           
+end
+
+format
+  ! 5 compare   /* sets cond flag,  if reg equals immediate */
+  % immediate
+  % reg
+  % mask
+  [5] opcode
+  [6] reg
+  [3] 0
+  [9] mask
+  [9] immediate
+end
+
+format
+  ! 0x15 icompare   /* sets cond flag,  if reg equals pdata */
+  % mask
+  % reg
+  [5] opcode
+  [6] reg
+  [3] 0
+  [9] mask
+  [9] 0
+end
+
+format   /* sets cond. flag, if reg equals LS half of shift reg with MS half of reg being mask */
+  ! 5 iverify
+  % reg
+  [5] opcode
+  [6] reg
+  [3] 2
+  [18] 0
+end
+
+format
+  ! 0x15 qisolate1
+  % reg
+  [5] opcode
+  [6] reg
+  [3] 3
+  [18] -1
+end
+
+format
+  ! 0x15 qisolate0
+  % reg
+  [5] opcode
+  [6] reg
+  [3] 3
+  [18] 0
+end
+
+	/* REVAB bug: cannot access bit above 35 */
+format
+  ! 5 isolate1
+  % addr
+  % reg
+  [5] opcode
+  [6] reg
+  [3] 3
+  [9] -1
+  [9] addr
+end
+
+format
+  ! 5 isolate0
+  % addr
+  % reg
+  [5] opcode
+  [6] reg
+  [3] 3
+  [9] 0
+  [9] addr
+end
+
+format
+  ! 11 setarg
+  % immediate
+  [5] opcode
+  [27] immediate
+end
+
+format
+  ! 0x1b arg
+  % immediate
+  % reg
+  [5] opcode
+  [6] reg
+  [21] immediate
+end
+
+  
+format
+  ! 0 sleep
+  [5] opcode
+  [27] 0
+end
+
+format
+  ! 0 snooze
+  [5] opcode
+  [6] -1
+  [21] 0
+end
+
+format
+  ! 0 revision
+  % rev_num
+  [5] opcode
+  [27] rev_num
+end
+
+format
+  ! 0x18 loop   /* branch when loopcnt is NOT zero, and decrease loopcnt */
+  % addr
+  [5] opcode
+  [4] 4
+  [8] 0
+  [15] addr
+end
+
+format
+  ! 0x18 beq   /* branch when pdata is equal to immediate */
+  % imme
+  % addr
+  [5] opcode
+  [4] 0
+  [8] imme
+  [15] addr
+end
+
+format
+  ! 0x18 bne   /* branch when pdata is NOT equal to immediate */
+  % imme
+  % addr
+  [5] opcode
+  [4] 1
+  [8] imme
+  [15] addr
+end
+
+format
+  ! 0x18 rtneq   /* return when pdata is equal to immediate */
+  % imme
+  [5] opcode
+  [4] 2
+  [8] imme
+  [15] 0
+end
+
+format
+  ! 0x18 rtnne   /* return when pdata is NOT equal to immediate */
+  % imme
+  [5] opcode
+  [4] 3
+  [8] imme
+  [15] 0
+end
+
+format
+  ! 0x18 bbit1   /* branch when pdata's imme bit is 1 */
+  % imme
+  % addr
+  [5] opcode
+  [4] 5
+  [8] imme
+  [15] addr
+end
+
+format
+  ! 0x18 bbit0   /* branch when pdata's imme bit is 0 */
+  % imme
+  % addr
+  [5] opcode
+  [4] 6
+  [8] imme
+  [15] addr
+end
+
+format
+  ! 0x18 rtnbit1   /* return when pdata's imme bit is 0 */
+  % imme
+  [5] opcode
+  [4] 7
+  [8] imme
+  [15] 0
+end
+
+format
+  ! 0x18 rtnbit0   /* return when pdata's imme bit is 0 */
+  % imme
+  [5] opcode
+  [4] 8
+  [8] imme
+  [15] 0
+end
+
+format
+  ! 8	bpatch
+  % imme
+  % addr
+  [5] opcode
+  [4] 9
+  [8] imme
+  [15] addr
+end
+
+format
+  ! 8	bpatchx
+  % imme
+  % addr
+  [5] opcode
+  [4] 14
+  [8] imme
+  [15] addr
+end
+
+format
+  ! 0x18 bmark1   /* branch when mark's imme bit is 1 */
+  % imme
+  % addr
+  [5] opcode
+  [4] 10
+  [8] imme
+  [15] addr
+end
+
+format
+  ! 0x18 bmark0   /* branch when mark's imme bit is 0 */
+  % imme
+  % addr
+  [5] opcode
+  [4] 11
+  [8] imme
+  [15] addr
+end
+
+format
+  ! 0x18 rtnmark1   /* return when mark's imme bit is 0 */
+  % imme
+  [5] opcode
+  [4] 12
+  [8] imme
+  [15] 0
+end
+
+format
+  ! 0x18 rtnmark0   /* return when mark's imme bit is 0 */
+  % imme
+  [5] opcode
+  [4] 13
+  [8] imme
+  [15] 0
+end
+
+
+format
+  ! 3 mult                  /* immediate mult regr */  /* the product will be ready 17 clks later */
+  % immediate                                   /* use "product" instruction to get the result */
+  % reg
+  [5] opcode
+  [6] reg
+  [6] 16                   /* generate diven pulse to div */
+  [6] null
+  [9] immediate
+end
+
+format
+  ! 0x13 imult           /* pdata mult regr */  /* the product will be ready after 15 nops */
+  % reg                                         /* use product opcode to get the result */
+  [5] opcode
+  [6] reg
+  [6] 16                   /* generate mult pulse to multiplier */
+  [6] null
+  [9] 0
+end
+
+format
+  ! 3 mul32                  /* immediate mult regr */ 
+  % regr
+  % immediate                                  
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 31           
+  [6] regw
+  [9] immediate
+end
+
+format
+  ! 0x13 imul32           /* pdata mult regr 32x32=64bit */  
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 31                   
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 product              /* harvest mult product */
+  % regw
+  [5] opcode
+  [6] 0
+  [6] 17
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 byteswap
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 33
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 shasx          /* SHA256 Sx operation, immediate is Sx */
+  % regr
+  % immediate
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 28
+  [6] regw
+  [9] immediate
+end
+
+
+format
+  ! 0x13 regexrot 	/* regext[0] <- regext[7], regext[1] <- regext[0], regext[2] <- regext[1] ... */
+  [5] opcode
+  [6] 0
+  [6] 29
+  [6] null
+  [9] 0
+end
+
Index: rom/label.format
===================================================================
--- /branch/mouse_project/ZhongXinSheng/ZXS_1062/MJ391_24G&BLE_PB/rom/label.format	(revision 0)
+++ /branch/mouse_project/ZhongXinSheng/ZXS_1062/MJ391_24G&BLE_PB/rom/label.format	(working copy)
@@ -0,0 +1,3947 @@
+0x2000 start
+0x2001 soft_reset
+0x2012 main_loop
+0x2021 connection_dispatch
+0x2026 connection_incontext
+0x202f connection_nosniff
+0x2038 idle_dispatch
+0x2043 idle_exit
+0x2045 idle_le_create_conn
+0x2048 idle_inquiry
+0x204d idle_inquiry_cancel
+0x2050 idle_remote_name_req
+0x2055 idle_create_conn
+0x2056 idle_create_conn_device
+0x205b idle_create_conn_cont
+0x205c idle_start_page
+0x2062 idle_page_mode_r0
+0x2083 idle_page_fail
+0x2089 idle_name_fail
+0x208f inquiry_dispatch
+0x2095 inquiry_start
+0x209c inquiry_restart
+0x209f inquiry_rx_restart
+0x20a4 inquiry_transmit
+0x20b1 inquiry_check_train
+0x20be inquiry_receive
+0x20c8 inquiry_sync
+0x20ce inquiry_receive_rtn
+0x20cf inquiry_receive_eir_rtn
+0x20d3 master_page
+0x20db master_page_no_interval
+0x20e6 master_npage_timeout
+0x20e9 master_page_timeout
+0x20f0 page_start
+0x20fc page_restart
+0x2101 page_rx_restart
+0x2114 page_exit
+0x211a page_check_train
+0x2128 page_receive
+0x2130 page_sync
+0x2136 page_send_fhs
+0x213a page_send_fhs_continue
+0x2146 page_wait_fhs_reply
+0x2155 page_wait_fhs_reply_ok
+0x215a master_newconn_loop
+0x215f newconn_poll_responded
+0x2166 master_dispatch
+0x2177 master_loop
+0x2180 master_notmatch
+0x2186 master_exit
+0x2188 master_attempt
+0x218b check_master_disconnect
+0x218e check_master_match
+0x219c master_disconnect
+0x21a2 master_name_disconnect
+0x21a4 master_name_error
+0x21a7 check_disconnect_timeout
+0x21ae conn_timer_expired
+0x21b2 linkkey_ready
+0x21bb linkkey_set
+0x21c3 linkkey_set_continue
+0x21c4 generate_linkkey_continue
+0x21c5 clear_linkstate
+0x21c9 role_switch_check
+0x21d3 role_switch_clkn
+0x21d4 role_switch_clke
+0x21d9 role_switch_prepare
+0x21dc role_switch_prepare0
+0x21e1 role_switch_master
+0x21e7 roles_waitfhs_loop
+0x21ec role_switch_fail_master
+0x21f4 roles_replyto_fhs
+0x21fc roles_newconns_loop
+0x2202 roles_newconns_responded
+0x220a context_load
+0x221c context_load_master
+0x2223 context_save
+0x222b context_get_next
+0x222d context_get_next_loop
+0x2231 context_get_next_cont
+0x2239 context_get_next_sniff
+0x223b context_new
+0x2243 context_check_all_wack
+0x224b context_check_esco_wack
+0x2250 context_esco_wack
+0x2252 context_check_idle
+0x2254 context_traverse_linkkey
+0x2257 context_search_conn_handle
+0x2258 context_search_conn_handle2
+0x225a context_search_plap
+0x225c context_search_plap2
+0x225e context_search_insniff
+0x2260 context_search_sniff_window
+0x2261 context_search
+0x2264 context_search_loop
+0x2266 context_search_next
+0x226a context_search_empty
+0x226e context_search_lap
+0x2270 context_search_lap_cont
+0x2275 context_search_handle
+0x227b context_search_sniff
+0x227c context_search_sniff_loop
+0x2289 context_search_sniff_sc
+0x228c context_search_meet1
+0x228d context_search_meet
+0x2291 context_search_sniff_miss
+0x2297 sign_pdata_temp
+0x22a1 sign_pdata_temp_p0
+0x22a7 context_check_inconn
+0x22aa context_check_a_wack
+0x22b3 context_get_anchor
+0x22bf context_next_anchor
+0x22c6 context_search_window
+0x22cf context_traverse_clearkey
+0x22da master_conn_send_packet
+0x22dc master_send_packet
+0x22e4 master_conn_recv_packet
+0x22e6 master_recv_packet
+0x22ee master_rx_conn_finish_packet
+0x22f2 master_newconn_once
+0x22f8 inquiry_scan_dispatch
+0x2308 inquiry_scan_start
+0x2332 send_eir
+0x2354 get_all_uuid
+0x2358 lshift_loop
+0x236a page_scan_dispatch
+0x237a page_scan_start
+0x239b page_scan_wait_fhs_restart
+0x23a4 page_scan_wait_fhs_again
+0x23ab page_scan_reply_to_fhs
+0x23b8 slave_apply_clke_bt
+0x23bc slave_apply_clke_bt_now
+0x23bf start_slave_connection
+0x23c3 slave_newconn_loop
+0x23c8 sconn_successful
+0x23cf slave_dispatch
+0x23d3 slave_loop
+0x23e2 slave_notmatch
+0x23eb slave_disconnect
+0x23f3 role_switch_slave
+0x23fb roles_sendfhs_loop
+0x240d roles_got_fhs_reply
+0x2410 roles_newconn_loop
+0x2419 roles_newconn_responded
+0x241f roles_newconn_nolmp
+0x242a init_rx_packet_flags
+0x2435 prepare_newconn
+0x2440 newconn_init
+0x244f clear_linkkey
+0x2455 new_conn_timeout
+0x2459 new_conn_handle
+0x245d quit_connection
+0x2462 quit_connection_name
+0x2466 quit_connection_cont
+0x2476 quit_connection_not_clear_mark
+0x2478 quit_connection_not_clear_tx
+0x247c slave_newconn_once
+0x2489 prepare_tx
+0x2495 prepare_tx_not_esco
+0x2496 prepare_tx_not_sco
+0x249b prepare_tx_retransmit
+0x24a5 prepare_tx_nomore_retransmit
+0x24a7 prepare_tx_no_retransmit
+0x24b0 prepare_tx_pollnull
+0x24b4 prepare_tx_loopback
+0x24ba prepare_tx_txpat
+0x24be prepare_tx_sendlmp
+0x24c0 prepare_tx_sendl2cap
+0x24c1 set_wait_ack
+0x24ca tx_l2cap_type
+0x24e0 tx_l2cap_type_edr
+0x24f0 slave_receive_master_slot
+0x24f5 slave_receive_notsniff
+0x24f6 slave_receive_access
+0x24f7 slave_receive_sniff
+0x2514 slave_conn_recv_packet
+0x251c receive_packet
+0x251e receive_packet_whitened
+0x2533 receive_packet_noedr
+0x253c receive_packet_amchk
+0x254b am_addr_match
+0x254c am_addr_ok
+0x255b arqn_bypass
+0x2568 failed_seqn
+0x2569 rx_type_dispatch
+0x2578 process_hev
+0x257e process_hev_loop
+0x2587 process_poll
+0x2588 process_dm5
+0x2589 process_dm1
+0x258b process_dh5
+0x258c process_3dh1
+0x258d process_dh1
+0x258e process_dmh
+0x259a process_dmh_noedr
+0x25a5 process_dmh_long
+0x25a8 process_dmh_common
+0x25ba process_lmp
+0x25bf process_dmh_data_l2cap_start_pkt
+0x25c9 process_dmh_data_into_buff1
+0x25ce process_dmh_data_into_buff2
+0x25d3 process_dmh_data_l2cap_continue_pkt
+0x25dd process_dmh_data_l2cap_continue_pkt1
+0x25e1 process_dmh_data_l2cap_continue_pkt2
+0x25e4 process_dmh_data
+0x25e8 process_dmh_data_end
+0x25f9 process_l2cap_pass_crc_buff1
+0x2603 process_l2cap_pass_crc_buff2
+0x260d process_dmh_cont
+0x2616 process_dmh_cont_rxbuf_not_use
+0x2620 ack_payload
+0x2631 error_header
+0x2637 error_payload_crc
+0x263d error_payload
+0x263e discard_pkt
+0x2642 discard_pkt_lmp
+0x2646 discard_pkt_l2cap
+0x264a redundant_payload
+0x264d end_of_packet
+0x2659 process_fhs
+0x266e fhs_parity_ok
+0x2687 clear_got_tx
+0x269c clear_got_txlmp
+0x26a8 clear_lmp_escape
+0x26ab clear_send_setup_complete
+0x26b0 sco_link_req_by_slave
+0x26b5 clean_mem_mode
+0x26b8 start_encryption
+0x26c0 stop_encryption
+0x26c6 sniff_init
+0x26cc sniff_init_master
+0x26d6 sniff_init_nowrap
+0x26e9 sniff_exit
+0x26f3 check_attempt
+0x26fe check_attempt_nomore
+0x2700 check_attempt_sniff
+0x2706 check_attempt_sniff_restore_sco
+0x2709 check_attempt_sco_master
+0x270f check_attempt_not_sco
+0x2718 check_attempt_notimeout
+0x271c sniff_check_window
+0x2725 check_esco_amaddr
+0x2728 parse_l2cap
+0x272a parse_l2cap_cont
+0x273b parse_l2cap_release_buff1
+0x2741 parse_l2cap_release_buff2
+0x2747 l2cap_buff1_inuse
+0x274b l2cap_buff2_inuse
+0x274f slave_send_access
+0x2757 slave_conn_send_packet
+0x2761 slave_conn_send_access
+0x2762 transmit_packet
+0x2766 transmit_packet_whitened
+0x278c transmit_hev
+0x2792 transmit_ev_loop
+0x2797 transmit_fhs
+0x27b4 transmit_lmp
+0x27bc transmit_lmp_loop
+0x27c2 transmit_lmp_finish
+0x27c5 transmit_dm1
+0x27c7 transmit_dm5
+0x27ca transmit_3dh1
+0x27cb transmit_dh1
+0x27cd transmit_dh5
+0x27d0 transmit_dmh
+0x27df transmit_edr3m
+0x27e3 transmit_edr_sync_end
+0x27e5 transmit_noedr
+0x27ef transmit_long
+0x27f0 transmit_stuff
+0x27f4 transmit_stuff_loop
+0x27f7 transmit_end
+0x2800 transmit_loopback
+0x2802 transmit_loopback_short
+0x2808 transmit_loopback_long
+0x280d transmit_loopback_cont
+0x280e transmit_loopback_loop
+0x2814 transmit_loopback_end
+0x2818 apply_switch_clke
+0x281e apply_switch_nozero
+0x2821 apply_switch_loop
+0x2825 apply_switch_bt
+0x2826 apply_switch_wait_loop
+0x282d calc_slot_offset
+0x2837 calc_bt_portion
+0x2839 calc_slot_offset_loop
+0x283b calc_skip_bt
+0x2841 calc_clke_offset
+0x284c calc_clke_pos
+0x2850 calc_clke
+0x2854 calc_clke2
+0x285c calc_clke_pos2
+0x285e calc_clke_pos_adj
+0x2860 calc_radio_freq
+0x2869 freq_not_connection
+0x286a do_hop_mod_now
+0x2872 odd_half
+0x2874 freq_result
+0x2877 afh_process_0
+0x2885 afh_process_con
+0x2892 afh_process_1
+0x289e afh_process_end
+0x28a1 afh_same_channel
+0x28a4 afh_clear
+0x28a9 afh_process_freq_map
+0x28b0 process_freq_3
+0x28b5 process_freq_1
+0x28b9 process_freq_0
+0x28c2 process_freq_2
+0x28cc rx_radio_freq
+0x28d1 rx_radio_freq_now
+0x28d2 tx_radio_freq
+0x28d7 tx_radio_freq_now
+0x28d8 fetch_giac
+0x28dc fetch_page_bt_adr
+0x28e2 fetch_self_bt_adr
+0x28ea fetch_extm_bt_adr
+0x28f2 fetch_diac
+0x28f5 fetch_diac_do
+0x28f9 shutdown_radio
+0x2908 shutdown_radio_0db
+0x290a shutdown_radio0
+0x2915 shutdown_radio_3db
+0x2918 set_sync_on
+0x291f set_freq_rx
+0x2924 rf_rx_enable
+0x292d set_freq_tx_offset
+0x292f set_freq_tx_0m_offset
+0x2931 set_freq_tx_2m_offset
+0x2933 set_freq_tx
+0x2939 txon
+0x2944 txon_power_select
+0x294b set_tx_power_0db
+0x294f set_tx_power_3db
+0x2953 set_tx_power_5db
+0x2957 set_tx_power_f3db
+0x295b set_tx_power_f5db
+0x295f set_tx_power_pair
+0x2965 txon_common
+0x296c initialize_radio
+0x296d initialize_radio_wait
+0x2971 initialize_radio_loop
+0x2977 initialize_radio_cont
+0x2981 rf_write_freq
+0x2998 do_rccal
+0x29a3 do_rccal_loop
+0x29a6 do_rccal_end
+0x29ab set_rccal
+0x29bb save_rssi
+0x29c0 bcd
+0x29c9 switchto_dpllclk
+0x29e7 xtal_fast_wake
+0x29e9 init_lpm_ctrl
+0x29eb start_receiver
+0x29f1 prep_crypt
+0x29ff wait_access_end
+0x2a07 wait_access_mhalfbnd
+0x2a08 wait_access_mhalfbnd_correlate
+0x2a0d wait_access_clkn_rt
+0x2a14 wait_access_forever
+0x2a1c reserve_slot
+0x2a24 ahead_window
+0x2a33 setup_clk
+0x2a36 skip_setup_clke
+0x2a38 setup_clkn
+0x2a3a skip_setup_clkn
+0x2a3b setup_clknbt
+0x2a3e setup_complete
+0x2a47 setup_clk11
+0x2a4a rf_setup_time
+0x2a4d rf_setup_time_slave_slot
+0x2a4f rf_setup_time_master_slot
+0x2a51 start_transmitter
+0x2a56 start_tx_native
+0x2a5b start_rx_native
+0x2a5f start_tx_external
+0x2a64 send_access_word
+0x2a6b scan_mode_whiten
+0x2a6f get_free_amaddr
+0x2a74 get_free_amaddr_cont
+0x2a77 get_clk
+0x2a7b get_clkbt
+0x2a7f supervision_update
+0x2a88 supervision_flush
+0x2a8c assert
+0x2a8e loop
+0x2a8f sleep
+0x2a92 sleep_loop
+0x2a96 init_param
+0x2abc lpmstate
+0x2acc lpmwake
+0x2adf lpm_load_context
+0x2aef lpm_save_context
+0x2afa lpo_calibration
+0x2b00 lpo_cal_inited
+0x2b05 lpm_adjust_clk
+0x2b15 lpm_adjust_positive
+0x2b18 lpm_clear_counter
+0x2b1b lpm_doze
+0x2b1f lpm_hibernate
+0x2b23 lpm_hibernate_normal
+0x2b2a lpm_sleep
+0x2b3c lpm_enter_sleep
+0x2b41 lpm_recover_clk
+0x2b4a lpm_recover_xtal
+0x2b4c lpm_recover_timeout
+0x2b6a lpm_dispatch
+0x2b74 lpm_dispatch_next
+0x2b7f lpm_dispatch_next2
+0x2b93 lpm_dispatch_sleep
+0x2b94 lpm_dispatch_lpo
+0x2b9d lpm_dispatch_unconn
+0x2ba5 lpm_unconn_nossp
+0x2baa lpm_unconn_cont
+0x2bac lpm_sleep_btclk
+0x2bb1 lpm_set_mult
+0x2bc0 lpm_mult_wait_timeout
+0x2bc7 classic_bt_set_mult_short_flag
+0x2bc9 classic_bt_clr_mult_short_flag
+0x2bcb lpm_match
+0x2bd0 lpm_not_match
+0x2bd6 lpm_lost
+0x2bde lpm_mult_short
+0x2be2 lpm_mult_long
+0x2be5 lpm_cal_xtal_startup
+0x2bfd lpm_cal_xtal_startup_by_snooze
+0x2c18 lpm_write_config
+0x2c21 lpm_write_ctrl
+0x2c23 lpm_write_ctrl2
+0x2c24 lpm_write
+0x2c29 lpm_write_gpio_wakeup
+0x2c32 lpm_get_wake_lock
+0x2c36 lpm_put_wake_lock
+0x2c3a lpm_check_wake_lock
+0x2c5b lpm_uart_wake_lock
+0x2c60 lpm_shut_down
+0x2c65 lpm_disable_exen_output
+0x2c69 check_bt_disabled
+0x2c6c check_ble_disabled
+0x2c6f check_module_disabled
+0x2c72 g24_dispatch
+0x2c7a g24_head_ptr2regc
+0x2c7d g24_receive_process_init
+0x2c7f g24_receive_process
+0x2c83 g24_pair_init
+0x2c8a g24_ch
+0x2c90 g24_ch_temp_incre_size4
+0x2c94 g24_ch_calc
+0x2c9d g24_set_device_addr
+0x2ca9 g24_transmit_rf_sta_init
+0x2cac g24_transmit_rf_ctrl_clear
+0x2caf g24_hop_ch_enable
+0x2cb3 g24_transmit_hop_pac_fail
+0x2cb7 g24_transmit_hop_pac_fail_wo_hop
+0x2cb8 g24_transmit_hop_pac_fail_stage1
+0x2cbc g24_transmit_hop_pac_fail_hop_stage2
+0x2cbe g24_transmit_pac_fail_hop_stage3
+0x2cc8 g24_rf_hop_attemp_again
+0x2cca g24_rf_hop_fastly
+0x2cd2 g24_rf_hop_fastly_exit
+0x2cd4 g24_set0_mem_hop_fastly_cnt
+0x2cd5 g24_store_mem_hop_fastly_cnt
+0x2cd7 g24_transmit_hop_pac_succ_wo_hop
+0x2cd8 g24_transmit_hop_pac_succ
+0x2cdb g24_transmit_succ_rf_config
+0x2ce4 g24_rf_sta_check
+0x2ce9 g24_rf_laststa_synccnt_check
+0x2cf4 g24_rf_sync_cnt_check
+0x2cfd g24_store_mem_rf_work_stage
+0x2cff g24_rf_hop_attemp
+0x2d04 g24_set2_mem_max_retry
+0x2d06 g24_transmit_process
+0x2d0f g24_transmit_without_int
+0x2d14 g24_transmit_start
+0x2d16 g24_transmit_exit
+0x2d18 g24_timer_timeout
+0x2d1b g24_interval_calibrate
+0x2d23 g24_interval_max
+0x2d25 g24_interval_update
+0x2d27 g24_interval_min
+0x2d2c g24_txdata_prep
+0x2d33 g24_txdata_enable_tx
+0x2d34 g24_store_mem_ensure
+0x2d36 g24_txdata_last_pac
+0x2d3a g24_package_data
+0x2d4c g24_put_data_in_buff
+0x2d53 g24_transmit_prep
+0x2d6b g24_send_abort_packet
+0x2d77 g24_put_data_in_buff_pre
+0x2d7d g24_enter_lpm
+0x2d80 g24_enter_lpm_prepare
+0x2d83 g24_lpm_long_sleep
+0x2d8f g24_transmit_packet
+0x2d92 g24_transmit_loop
+0x2d97 g24_transmit_next_packet
+0x2d9f g24_transmit_abandon
+0x2da4 g24_transmit_receive_ack
+0x2dac g24_transmit_no_ack
+0x2dae g24_retransmit
+0x2dcc g24_tx_paring_retry
+0x2dd2 g24_tx_attempt_fail
+0x2dd4 g24_stop_24g_mode
+0x2dd6 g24_ackpayload_parse
+0x2dde g24_read_len_pid_crc
+0x2dee g24_prep
+0x2df3 g24_set_freq_tx
+0x2df7 g24_transmit
+0x2e06 g24tr_loop
+0x2e11 g24_receive_packet
+0x2e17 g24_receive_rxon
+0x2e33 g24_receive_skip
+0x2e39 g24rx_loop
+0x2e3d g24rx_nopayload
+0x2e45 g24_end_of_packet
+0x2e4d g24_sync_timeout
+0x2e4f rssi_noise
+0x2e56 g24_contw_istoret_1byte
+0x2e58 rssi_noise_store
+0x2e5a rssi_store
+0x2e62 rssi_average
+0x2e64 rssi_average_loop
+0x2e69 g24_power_ctrl_init
+0x2e6d g24_power_ctrl_reinit
+0x2e71 g24_power_ctrl_pac_incrs
+0x2e73 g24_store_mem_power_ctrl_pac
+0x2e75 g24_power_ctrl_ack_incrs
+0x2e7a g24_power_ctrl
+0x2e8d g24_power_ctrl_incrs
+0x2e93 g24_power_ctrl_incrs_level2
+0x2e99 g24_power_ctrl_decrs
+0x2e9f g24_power_ctrl_incrs_level1
+0x2ea4 g24_iadd_offset_mem_txpower
+0x2ea5 g24_ifetch_rega_store_mem_txpower
+0x2ea7 g24_power_ctrl_decrs_level0
+0x2ead g24_start_pairing_sm1
+0x2eaf g24_set_pairing_sm_1
+0x2eb1 g24_pairing_sm
+0x2eb9 g24_pairing_sm_1
+0x2ebd g24_pairing_sm_2
+0x2ec1 g24_pairing_sm_3
+0x2ec4 g24_pairing_sm_common
+0x2ec9 g24_put_pairing_data_in_buff
+0x2ed0 g24_paring_mode
+0x2ed6 g24_pairing_sm_1_waiting_ack
+0x2ed9 g24_pairing_sm_2_waiting_ack
+0x2edc g24_pairing_sm_3_waiting_ack
+0x2ee4 g24_auto_pair_start
+0x2ee7 g24_auto_pair_restart
+0x2ee8 g24_auto_pair_start_loop
+0x2efa g24_auto_pair_retry
+0x2f04 g24_fetch_mem_auto_paring_switch
+0x2f06 g24_store_mem_auto_paring_switch
+0x2f08 g24_auto_pair_set_device_info
+0x2f0c g24_auto_pair_device_attemp
+0x2f0e g24_auto_pair_pair_attemp
+0x2f10 g24_start_24g_mode
+0x2f16 g24_tx_attemp_dongle_loop
+0x2f1c g24_tx_attemp_dongle_succ
+0x2f22 g24_tx_attemp_data_prep
+0x2f27 g24_attemp_txdata_retry
+0x2f2c g24_check_51cmd_start_24g
+0x2f30 dongle_init
+0x2f3d g24_receive_init
+0x2f41 dongle_all_powerful
+0x2f42 dongle_all_powerful_loop
+0x2f45 dongle_pc_bind
+0x2f47 dongle_pc_bind_loop
+0x2f4c dongle_check_mode
+0x2f4f g24_dongle_work_mode
+0x2f51 g24_dongle_work_mode_start
+0x2f55 g24_dongle_work_init
+0x2f5e g24_rx_interrupt_clear
+0x2f61 g24_dongle_init
+0x2f65 g24_ch_process
+0x2f81 g24_ch_update
+0x2f88 g24_ch_timer_reinit
+0x2f8d g24_noise_rssi
+0x2f94 g24_noise_rssi_average
+0x2f96 g24_blank_data_process
+0x2f99 g24_ms_blank_data
+0x2fa0 g24_ms_blank_data_2usb
+0x2fa5 g24_kb_blank_data
+0x2fac g24_kb_blank_data_2usb
+0x2fb1 g24_kb_mul_blank_data
+0x2fb8 g24_kb_mul_blank_data_2usb
+0x2fbd g24_dongle_bind_mode
+0x2fc1 g24_dongle_bind_init
+0x2fcb g24_dongle_bind_data_process
+0x2fd9 g24_dongle_bind_first_step
+0x2fdd g24_dongle_bind_first_step_mouse
+0x2fdf g24_dongle_bind_ms_payload_cfg
+0x2fe1 g24_dongle_bind_payload_cfg
+0x2fe8 g24_dongle_bind_first_step_keyboard
+0x2fea g24_dongle_bind_kb_payload_cfg
+0x2fed g24_dongle_bind_second_step
+0x2ff1 g24_dongle_bind_second_step_mouse
+0x2ff6 g24_dongle_ms_bind_step_set2
+0x2ff7 g24_store_mem_ms_bind_step
+0x2ff9 g24_dongle_bind_second_step_keyboard
+0x2ffe g24_dongle_kb_bind_step_set2
+0x2fff g24_store_mem_kb_bind_step
+0x3001 g24_dongle_bind_third_step
+0x3005 g24_dongle_bind_third_step_mouse
+0x3009 g24_dongle_ms_bind_step_success
+0x300c g24_dongle_bind_exit
+0x3011 g24_dongle_bind_third_step_keyboard
+0x3015 g24_dongle_kb_bind_step_success
+0x3019 dongle_usb_dispatch
+0x302a usb0_data_ready_report_set0
+0x302c dongle_dispose_cmd_bind
+0x3031 dongle_dispose_cmd_get_bind
+0x3034 dongle_dispose_cmd_exit_bind
+0x3039 dongle_dispose_in_bind_mode
+0x303b dongle_dispose_cmd_mode
+0x303e dongle_enter_bind_mode
+0x303f usb0_data_ready_report_set1
+0x3041 dongle_dispose_cmd_current_project
+0x3043 dongle_dispose_cmd_current_mode
+0x3047 dongle_dispose_in_work_mode
+0x3049 dongle_dispose_cmd_current_fw_version
+0x304d dongle_dispose_cmd_user_defined
+0x3055 dongle_auto_bind
+0x3057 dongle_auto_bind_loop
+0x305a g24_dongle_work_mode_auto
+0x305e g24_dongle_bind_mode_auto
+0x3067 g24_timer_init
+0x306a g24_timer_check
+0x307d g24_mode_switch_init
+0x3084 g24_mode_switch
+0x3090 g24_bind_mode_enable
+0x3093 g24_enable_nodata_timer
+0x3095 g24_enable_nodata_timer_init
+0x3098 g24_rx_nodata_process
+0x30a2 g24_dongle_search_mode_auto
+0x30bc g24_dongle_search_addr_check
+0x30be g24_fetch_mem_addr_isub_temp
+0x30c1 g24_dg_ch_num_reinit
+0x30c3 g24_current_ch_num_reinit
+0x30c5 g24_kb_ch_num_reinit
+0x30c8 g24_ms_ch_num_reinit
+0x30cb g24_dongle_search_mode_init
+0x30e0 g24_rx_auto_addr_ch_search
+0x30ea g24_rx_auto_bind_config_mouse
+0x3106 g24_store_mem_ms_last_ch
+0x3108 g24_ms_config_ch_once
+0x310e g24_rx_auto_bind_config_kb
+0x312a g24_store_mem_kb_last_ch
+0x312c g24_kb_config_ch_once
+0x3132 g24_rx_auto_bind_config_dongle
+0x314a g24_store_mem_dg_last_ch
+0x314c g24_dg_config_ch_once
+0x314f g24_dg_store_config_ch
+0x3152 g24_transmit_ack
+0x3159 g24tx_with_ack
+0x315c g24tx_no_ack
+0x315d g24_ackpayload_prep
+0x316b g24_receive_packet_start
+0x316e g24_receive_transmit_ack
+0x3172 g24_receive_packet_parse
+0x3188 g24_receive_packet_parse_pid_crc
+0x319e g24_data_type1
+0x31b0 dongle_rxdata_type1
+0x31b8 g24_data_type1_usbtx_enable
+0x31b9 g24_data_type1_usbtx_enable_ep2
+0x31bd g24_ms_enable_blank_data_forcibly
+0x31bf g24_ms_enable_blank_data_timer
+0x31c2 g24_ms_disable_blank_data_forcibly
+0x31c3 g24_ms_disable_blank_data_timer
+0x31c6 g24_data_type2
+0x31e0 g24_data_type2_reverse_data
+0x31e4 g24_kb_enable_blank_data_forcibly
+0x31e6 g24_kb_enable_blank_data_timer
+0x31e9 g24_kb_disable_blank_data_forcibly
+0x31ea g24_kb_disable_blank_data_timer
+0x31ed g24_kb_data_into_ep1_fifo
+0x31f2 g24_data_type3
+0x3207 g24_kb_mul_data_into_ep2_fifo
+0x3209 g24_kb_mul_enable_blank_data_forcibly
+0x320b g24_kb_mul_enable_blank_data_timer
+0x320e g24_kb_mul_disable_blank_data_forcibly
+0x320f g24_kb_mul_disable_blank_data_timer
+0x3212 g24_data_attemp
+0x3216 g24_data_attemp_mouse
+0x321b g24_data_attemp_kbd
+0x3220 g24_store_mem_24g_mode
+0x3224 g24_fetch_mem_device_addr
+0x3227 g24_store_mem_device_addr
+0x322a g24_fetch_mem_addr
+0x322c g24_store_mem_addr
+0x322d g24_contw_istore_4byte
+0x322f g24_store_mem_ch
+0x3231 g24_set0_mem_pid
+0x3232 g24_store_mem_pid
+0x3235 g24_store_mem_txpayload
+0x3237 g24_set4_mem_max_retry
+0x3238 g24_store_mem_max_retry
+0x323a g24_fetch_mem_data_type
+0x323c g24_store_mem_data_type
+0x323e g24_set2_mem_sync_cnt
+0x323f g24_store_mem_sync_cnt
+0x3241 g24_set1_mem_rf_last_sta
+0x3242 g24_store_mem_rf_last_sta
+0x3245 g24_fetch_mem_hop_pac
+0x3248 g24_set1_mem_hop_pac
+0x3249 g24_store_mem_hop_pac
+0x324c g24_fetch_mem_abort_pac
+0x324f g24_set1_mem_abort_pac
+0x3250 g24_store_mem_abort_pac
+0x3253 g24_fetch_mem_pairing_sm
+0x3256 g24_store_mem_pairing_sm
+0x3258 g24_fetch_mem_rf_hop_ch
+0x325a g24_set0_mem_rf_hop_ch
+0x325b g24_store_mem_rf_hop_ch
+0x325d g24_fetch_mem_rf_work_stage
+0x325f g24_fetch_mem_rxbuf_add1
+0x3261 g24_fetch_mem_check_dongle_times
+0x3263 g24_set0_mem_check_dongle_times
+0x3264 g24_store_mem_check_dongle_times
+0x3267 g24_store_mem_tx_power
+0x326a g24_store_mem_txpower
+0x326c g24_store_mem_tx_power_temp
+0x3270 g24_fetch_mem_power_ctrl_pac
+0x3272 g24_store_mem_power_ctrl_level
+0x3274 g24_fetcht_mem_rxdata_temp
+0x3275 g24_set_rega_ifetcht_1byte
+0x3278 g24_fetch_mem_rf_laststa
+0x327a g24_set0_mem_rf_laststa
+0x327b g24_store_mem_rf_laststa
+0x327d g24_fetch_mem_rx_addr
+0x327e g24_set_rega_ifetch_4byte
+0x327f g24_rega_ifetch_4byte
+0x3281 g24_fetch_mem_time_slice
+0x3283 g24_set0_mem_time_slice
+0x3284 g24_store_mem_time_slice
+0x3286 g24_set0_mem_mode_switch
+0x3287 g24_store_mem_mode_switch
+0x3289 g24_store_mem_bind_payload
+0x328b g24_fetch_mem_bind_device_status
+0x328d g24_store_mem_bind_device_status
+0x328f g24_fetch_mem_dongle_work_mode
+0x3291 g24_set_work_mem_dongle_work_mode
+0x3292 g24_store_mem_dongle_work_mode
+0x3294 g24_fetch_mem_dongle_mode_init
+0x3296 g24_set0_mem_dongle_mode_init
+0x3297 g24_store_mem_dongle_mode_init
+0x3299 g24_set0_mem_ackpayload_enable
+0x329a g24_store_mem_ackpayload_enable
+0x329c g24_set1_mem_ackpayload_enable
+0x329e g24_fetch_mem_rxdata_temp_add3_7byte
+0x32a2 g24_fetch_mem_nodata_timer_enable
+0x32a4 g24_set0_mem_nodata_timer_enable
+0x32a5 g24_store_mem_nodata_timer_enable
+0x32a7 g24_set0_mem_ms_blank_data_enable
+0x32a8 g24_store_mem_ms_blank_data_enable
+0x32aa g24_set0_mem_kb_blank_data_enable
+0x32ab g24_store_mem_kb_blank_data_enable
+0x32ad g24_set0_mem_kb_mul_blank_data_enable
+0x32ae g24_store_mem_kb_mul_blank_data_enable
+0x32b0 g24_store_mem_power_ctrl_threshold_up
+0x32b2 g24_store_mem_power_ctrl_threshold_down
+0x32b3 g24_set_contw_with_regb_store_1byte
+0x32b4 g24_contw_istore_1byte
+0x32b6 g24_fetch_mem_pair_mode
+0x32b8 g24_store_mem_pair_mode
+0x32ba g24_store_mem_pair_txpower
+0x32bd g24_fetch_mem_rxdata_temp_add3_1byte
+0x32bf g24_set_contw_with_temp
+0x32c4 g24_set_contw_with_temp_store_3byte
+0x32c5 g24_contw_istore_3byte
+0x32c7 g24_set_contw_with_regb
+0x32c8 g24_set_contw_with_regb2
+0x32cd g24_set_rega
+0x32d0 g24_set_rega_ifetch_1byte
+0x32d1 g24_rega_ifetch_1byte
+0x32d3 g24_set_rega_ifetcht_4byte
+0x32d6 g24_mem_set0
+0x32d8 app_init
+0x32e3 app_lpm_init
+0x32ec app_lpm_init0
+0x32ed app_process_idle
+0x32f2 app_process_bt
+0x32f4 app_process_ble
+0x32f6 app_process_bb_event
+0x32fd app_discard_event
+0x32ff app_event_normal_process
+0x3311 app_evt_bt_conn
+0x3318 app_event_switch_success
+0x331a app_event_switch_fail_master
+0x3324 app_process_bb_event_priority
+0x3326 app_check_wake_lock
+0x3328 app_will_enter_lpm
+0x332a app_event_linkkey_generate
+0x332e app_event_reconn_start
+0x3335 app_evt_setup_complete
+0x333c app_evt_hid_handshake
+0x3340 app_event_enter_sniff
+0x3347 app_event_exit_sniff
+0x334b app_le_event_bb_connected
+0x334f app_le_event_bb_disconn
+0x3353 app_bb_event_hid_connected
+0x3357 app_evt_button_long_pressed
+0x335b app_event_ml2cap_conn_refused
+0x335f app_evt_timer
+0x3361 app_evt_100ms_loop
+0x336d timer_single_step
+0x3374 timer_single_step_2b
+0x337b app_power_timer
+0x337f app_power_timer_timeout
+0x3381 app_enter_power_off_state
+0x3382 app_enter_power_stanby_state
+0x3385 app_power_cb_common
+0x3387 app_unsniff_delay_timer
+0x338a app_unsniff_delay_timeout
+0x338d app_discovery_timer
+0x3390 app_discovery_timeout
+0x3394 app_bb_event_reconn_failed
+0x3395 app_clear_reconnect_flag
+0x3399 app_bb_event_bb_disconn
+0x339e app_bb_event_bb_reconn_disconn
+0x33a7 app_bb_hibernate
+0x33a9 app_disconn_reason_clear
+0x33ac app_disconn_reason_flag_clear
+0x33af app_disconn_reason_collect_bt
+0x33b4 app_disconn_reason_collect_ble
+0x33ba app_check_sniff
+0x33bd app_initflag_store
+0x33be app_flag_store
+0x33c4 app_initflag_check
+0x33cd app_start_auto_sniff
+0x33d0 app_get_lpm_wake_lock
+0x33d2 app_put_lpm_wake_lock
+0x33d4 app_lpm_wake_auto_lock
+0x33d6 app_lpm_wake_auto_lock_timer
+0x33d9 app_l2cap_flow_control_enable
+0x33db app_l2cap_flow_control_disable
+0x33dd app_bt_set_pincode
+0x33df app_bt_role_switch
+0x33e1 app_bt_start_reconnect
+0x33e7 app_bt_reconnect_cancel
+0x33e9 app_bt_disconnect
+0x33eb app_bt_start_discovery_short
+0x33ed app_bt_start_discovery_led_blink
+0x33ee app_bt_start_discovery
+0x33f0 app_bt_stop_discovery
+0x33f4 app_ble_start_direct_adv
+0x33f6 app_ble_stop_direct_adv
+0x33f8 app_ble_stop_adv
+0x33fa app_ble_start_adv
+0x33fc app_ble_start_scan
+0x33fe app_ble_stop_scan
+0x3400 app_ble_start_conn
+0x3402 app_ble_disconnect
+0x3404 app_led_start_blink
+0x3406 app_led_on
+0x3408 app_led_off
+0x340a app_enter_hibernate
+0x340c app_bt_sniff_exit
+0x340e app_bt_enter_sniff
+0x3410 app_ble_store_reconn_info
+0x3412 app_bt_store_reconn_info
+0x3414 app_store_reconn_info
+0x3416 app_lpm_mult_enable
+0x3418 app_lpm_mult_disable
+0x341a app_button_long_pressed
+0x341c app_power_starting
+0x3420 app_power_common
+0x3424 app_power_shutting_down
+0x3429 app_power_off_end
+0x342d app_got_power_state_common
+0x3431 app_event_button_up
+0x3434 app_power_release
+0x3436 antilost_init
+0x3463 antilost_le_before_hibernate
+0x3465 antilost_le_notification
+0x346c antilost_power_standby_cb
+0x3470 antilost_lpm_lock_process
+0x3479 antilost_lpm_ctrl_for_led_buzzer
+0x347e antilost_bb_event_process
+0x3485 antilost_le_conn_param_update_rsp_recieved
+0x3487 antilost_le_conn_param_accepted
+0x3489 antilost_le_conn_param_updata_procedure_sucsess
+0x348c antilost_le_conn_param_rejected
+0x348e antilost_conn_param_retransimiting
+0x34a0 antilost_conn_param_updata_procedure_faild
+0x34a2 antilost_master_nonsupport_latency
+0x34b2 antilost_le_bb_event_timer
+0x34b9 antilost_double_click_timer
+0x34bc antilost_double_click_timeout
+0x34be antilost_le_fast_adv_timer
+0x34c1 antilost_le_fast_adv_timeout
+0x34c4 antilost_conn_update_timer
+0x34c7 antilost_conn_update_timer_time_out
+0x34ca antilost_app_updata_le_param_timer
+0x34cd antilost_app_updata_le_param_timeout
+0x34d3 antilost_wait_for_updata_param_instant_expire
+0x34d5 antilost_le_sleep_timer
+0x34d8 antilost_le_sleep_timer_timeout
+0x34d9 antilost_adc_check_timer
+0x34dc antilost_adc_check_timer_timeout
+0x34df antilost_le_process_conn
+0x34e8 antilost_le_process_discon
+0x34f4 antilost_le_conn_process
+0x34f5 antilost_idle_process
+0x34f8 antilost_power_starting_cb
+0x34fb antilost_power_common
+0x34fc antilost_power_off_cb
+0x3501 antilost_le_receive_data_process
+0x3504 antilost_le_parse_att_write_request
+0x3508 antilost_key_process
+0x350b antilost_key_up_down
+0x350d antilost_key_is_down
+0x3510 antilost_key_is_up
+0x3513 antilost_key0_down
+0x351b antilost_key0_up
+0x351d antilost_double_click_timer_init
+0x3521 antilost_butten_down_after_conn
+0x3527 antilost_click_once
+0x352b antilost_click_twice
+0x3532 antilost_butten_down_while_disconn
+0x3536 antilost_cmd_parse_for_application
+0x353c antilost_on_of_alram
+0x3540 antilost_configuration_for_alram
+0x3544 antilost_prepare_data_and_send
+0x3551 antilost_alert_on
+0x355c antilost_alert_off
+0x3564 antilost_set_start_alarm_after_disconn
+0x3569 antilost_set_no_alarm_after_disconn
+0x356e antilost_on_off_alarm_after_disconn
+0x3571 antilost_notify_alarm_config_first_time
+0x3582 antilost_buzzer_configuration
+0x3584 antilost_led_configuration
+0x3585 antilost_configuration_common
+0x3586 antilost_led_buzzer_stop_blink
+0x358c antilost_led_buzzer_style_configuration
+0x358f antilost_fast_adv_start
+0x3591 antilost_adv_start_common
+0x3596 antilost_adv_interval_lpm_interval_set
+0x359b antilost_buzzer_pwm_init
+0x35a2 antilost_led_on_cb
+0x35a4 antilost_led_off_cb
+0x35a6 antilost_buzzer_off
+0x35a9 antilost_buzzer_on
+0x35ad antilost_adc_init
+0x35af antilost_battery_process
+0x35b9 antilost_battery_calculate_end
+0x35bc antilost_full_battery
+0x35be antilost_low_battery
+0x35bf car_init
+0x35e6 car_soft_switch_power_on_init
+0x35ed car_power_off_signal
+0x35ee car_hard_switch_power_on_signal
+0x35ef car_soft_switch_power_on_signal
+0x35f5 car_le_modified_name_adv
+0x35f7 car_name_loop
+0x3604 car_le_modified_name_scan
+0x3609 car_hex_to_ascii
+0x360d car_hex_num
+0x360f car_ui_led_init
+0x3611 car_ui_led_init_1
+0x3613 car_ui_led_init_2
+0x3615 car_ui_led_init_3
+0x3619 car_in_lp1
+0x361f car_in_lp1_end
+0x3620 car_ui_led_init_end
+0x3621 car_blood_led_gpio_set
+0x3624 car_pairing_led_gpio_set
+0x3626 car_low_voltage_led_gpio_set
+0x3628 car_init_environment
+0x362d car_init_adc_hvin
+0x3631 car_le_before_hibernate
+0x3633 car_le_process_lpm_before
+0x3634 car_key_scan_process
+0x3635 car_scale_process_idle
+0x3639 car_g24_status_process
+0x363e car_g24_connected_event
+0x3642 car_le_send_packet
+0x364b car_scale_process_bb_event
+0x3651 car_scale_event_le_conn
+0x3654 car_g24_connected
+0x3656 car_scale_process_conn
+0x365c car_scale_process_conn_next
+0x365e car_pairing_led_conn_status_setting
+0x3660 car_scale_event_le_discon
+0x3662 car_g24_disconnect
+0x367a car_le_bb_event_timer
+0x3683 car_ir_breakdown_timer
+0x3686 car_ir_breakdown_timeout
+0x368a car_24g_no_data_timeout_timer
+0x368d car_24g_no_data_timer_timeout
+0x368f car_attack_shake_timer
+0x3692 car_attack_shake
+0x369a car_attack_shake_front_battle_car
+0x369b car_attack_shake_front_battle_tank
+0x369e car_attack_shake_stop
+0x36a1 car_notify_vdd_timer
+0x36a8 car_notify_vdd
+0x36ac car_read_hvin
+0x36b6 car_notify_vdd_next2
+0x36c1 car_enter_low_bat
+0x36c6 car_low_bat_led_off
+0x36c8 car_led_control_timer
+0x36cb car_led_control
+0x36d0 car_led_control_set
+0x36d3 car_led_control_timer_next
+0x36d9 car_led_control_timer_next_2
+0x36de car_led_switch
+0x36e3 car_led_control_off
+0x36e6 car_led_control_on
+0x36e9 car_led_control_blink
+0x36ec car_led_control_blink_on
+0x36ee car_led_control_blink_off
+0x36f0 calc_check_sum_start
+0x36f1 calc_check_sum_loop
+0x36f4 calc_check_sum_and
+0x36f6 car_le_receive_data
+0x36f9 car_le_parse_att_write_request
+0x36fc le_app_receive_data
+0x3710 car_control_le_receive
+0x3718 car_receive_cmd_select
+0x3722 car_24g_receive_data
+0x372e car_24g_receive_data_next
+0x3735 car_moto1_enable_blank_data_timer
+0x3737 car_moto2_enable_blank_data_timer
+0x3739 car_moto3_enable_blank_data_timer
+0x373b car_moto1_blank_data_timer
+0x373e car_moto2_blank_data_timer
+0x3741 car_moto3_blank_data_timer
+0x3744 car_moto1_blank_data
+0x3746 car_moto2_blank_data
+0x3748 car_moto3_blank_data
+0x374a car_drive_old
+0x374c car_left_right_control_old
+0x374f car_front_back_control_old
+0x3754 car_reset_old_speed
+0x3758 car_reset_old_speed2
+0x375a car_reset_old_speed3
+0x375c car_speed_set_old
+0x3762 car_motor_control
+0x3770 car_motor1_control
+0x3773 car_motor2_control
+0x3776 car_motor3_control
+0x3779 car_motor_working_flag
+0x377b car_motor_status_select
+0x3780 car_motor_positive
+0x3782 car_motor_negative
+0x3787 car_motor_stop
+0x378c car_motor_work
+0x3790 car_motor_select_negative
+0x3793 car_motor_work_next
+0x379a car_motor_select_positive
+0x379e car_motor_speed_duty_setting
+0x37a1 car_motor_speed_duty_transform
+0x37aa car_ir_init
+0x37b1 car_ir_data_rx_from_app
+0x37b9 car_ir_data_tx
+0x37c2 car_ir_send_loop
+0x37c9 car_ir_is_bit1
+0x37cc car_ir_wait_finish
+0x37d8 car_attack_shake_back_battle_car
+0x37d9 car_attack_shake_back_battle_tank
+0x37dc car_ir_enable
+0x37e0 car_ir_disable
+0x37e4 car_ir_rx_init
+0x37ee car_ir_receive_process
+0x37f6 car_ir_receive_process_next
+0x37fe car_ir_packet_head_wait_end
+0x3805 car_ir_receive_process_loop
+0x380d car_ir_get_bit0
+0x3812 car_ir_get_bit1
+0x3816 car_ir_get_bit1_wait_low_end
+0x381b car_ir_receive_process_end
+0x3821 car_ir_data_notify
+0x3827 car_ir_24g_receive_attack
+0x382f car_ir_24g_receive_attack_off
+0x3838 car_ir_24g_receive_attack_blink
+0x383d car_ir_24g_go_die
+0x383f car_ir_clk_get
+0x3842 car_ir_clk_check
+0x3847 car_ir_gpio_get_status
+0x3849 car_led_control_receive
+0x384c car_info_request
+0x3858 light_init
+0x3860 light_pairing_timer
+0x3867 light_init_crr_cmd_count
+0x386d light_load_controler_list
+0x3871 light_find_controler_pairing
+0x3876 light_find_controler_pairing_loop
+0x3879 light_find_single_pairing_diff
+0x387c light_compare_addr_record
+0x3881 light_compare_single_record
+0x388d light_find_controler_cmd
+0x3893 light_find_controler_cmd_loop
+0x3898 light_recv_adv
+0x389c light_anylize_command
+0x38a8 light_parse_cmd
+0x38b7 light_parse_cmd_loop
+0x38c2 light_parse_cmd_pwm0
+0x38c6 light_parse_cmd_pwm_common
+0x38cf light_parse_cmd_pwm1
+0x38d4 light_parse_cmd_pwm2
+0x38d9 light_parse_cmd_pwm3
+0x38de light_parse_cmd_pwm4
+0x38e3 light_parse_cmd_pwm5
+0x38e8 light_parse_auto_mode
+0x38ea light_parse_pairing
+0x38ee light_parse_pairing_abandon
+0x38f0 update_controler_list
+0x38fe update_conrtoler_list_found
+0x3903 update_conrtoler_store_list
+0x3907 lightc_init
+0x390a lightc_dispatch
+0x3918 lightc_adv
+0x391d lightc_start_adv
+0x392a module_init
+0x3945 module_lpm_uart_init
+0x3962 module_lpm_init
+0x3964 module_gpio_init
+0x3969 module_lpm_lock
+0x396d module_le_conn_process
+0x396e module_bt_conn_process
+0x3970 module_spp_enter_sniff
+0x397f module_spp_clear_last_transmite_clock
+0x3982 module_process_idle
+0x3986 module_process_bb_event
+0x39a3 module_process_bb_event_disconned
+0x39aa module_process_spp_connected
+0x39b1 module_spp_disconnected
+0x39b6 module_sniff_param_check
+0x39bd module_sniff_param_check_unsniff
+0x39c2 module_process_exit_sniff
+0x39c4 module_process_setup_complete
+0x39c6 module_process_bb_even_le_disconn
+0x39c9 module_process_evt_pincode_req
+0x39ca module_process_sniff_not_accept
+0x39cb module_process_unsniff_accept
+0x39ce module_process_unsniff_not_accept
+0x39cf module_process_le_conn
+0x39d4 module_process_bb_conn
+0x39d7 module_disconn_start
+0x39d9 module_process_ble_ltk_lost
+0x39db module_set_conn_pin_high
+0x39dd module_conn_start
+0x39df module_stop_adv_discovery
+0x39e6 module_set_conn_pin_low
+0x39e8 module_process_with_credit
+0x39eb module_process
+0x3a01 module_hci_in_excp
+0x3a04 module_hci_release_except
+0x3a12 module_hci_dicard_packet
+0x3a16 module_hci_dicard_bytes
+0x3a17 module_hci_cmd_control
+0x3a3f module_hci_cmd_set_bt_addr
+0x3a44 module_hci_cmd_set_le_addr
+0x3a49 module_hci_cmd_set_visibility
+0x3a52 module_start_adv_discovery_by_command
+0x3a58 moudle_start_adv_by_command
+0x3a5f module_hci_cmd_set_bt_name
+0x3a6b module_hci_cmd_set_le_name
+0x3a75 module_hci_cmd_receive_spp_data
+0x3a84 module_hci_cmd_pass_init_ng_rx_len_all
+0x3a86 module_hci_cmd_spp_exit_sniff
+0x3a88 module_hci_cmd_get_current_packet_len_and_remain_len
+0x3a8e module_hci_cmd_get_current_patcket_len
+0x3a97 module_hci_command_tx_spp_tx_complete
+0x3a9a module_hci_cmd_receive_le_data
+0x3ab4 module_hci_cmd_receive_le_data_finish
+0x3ab7 module_hci_cmd_transmit_le_notify
+0x3acf module_get_le_remote_mtu
+0x3ad4 module_check_ble_encrypt_state
+0x3ad7 module_hci_cmd_inquire_status
+0x3ad8 module_hci_cmd_set_pairing_mode
+0x3adf module_hci_pairing_pincode_mode
+0x3ae2 module_hci_pairing_just_work_mode
+0x3ae3 module_hci_sspairing_mode
+0x3ae8 module_hci_pairing_passkey
+0x3aea module_hci_pairing_numeric_comparison
+0x3aec module_hci_cmd_set_pincode
+0x3af4 module_hci_cmd_set_uart_control_mode
+0x3afa module_hci_cmd_set_uart_baud
+0x3b02 module_hci_cmd_set_uart_baud_ok
+0x3b06 module_hci_cmd_version_request
+0x3b0a module_hci_event_set_cmd_send_response
+0x3b0e module_hci_cmd_bt_disconnect
+0x3b10 module_hci_cmd_bt_disconnect_doing
+0x3b12 module_hci_cmd_ble_disconnect
+0x3b14 module_hci_cmd_ble_disconnect_doing
+0x3b16 module_hci_cmd_set_nvram
+0x3b1d module_hci_cmd_confirm_gkey
+0x3b28 dhkey_not_accept
+0x3b2b module_hci_cmd_spp_number_comparison_result_is1
+0x3b2d module_hci_cmd_set_credit_given
+0x3b36 module_hci_cmd_auto_adv
+0x3b3c module_hci_cmd_auto_adv_loop
+0x3b46 module_hci_cmd_auto_adv_store_adv
+0x3b50 module_hci_cmd_auto_adv_store_scan
+0x3b59 module_hci_cmd_auto_adv_store_common
+0x3b64 module_hci_cmd_auto_adv_adv_analys
+0x3b69 module_hci_cmd_power_request
+0x3b6f module_hci_cmd_power_set
+0x3b76 module_hci_cmd_passkey_entry
+0x3b7c module_hci_cmd_set_gpio
+0x3b82 module_set_gpio_input
+0x3b88 module_set_gpio_high_impedance
+0x3b8a module_set_gpio_output
+0x3b90 module_hci_cmd_read_gpio
+0x3b98 module_hci_cmd_le_set_pairing_mode
+0x3ba3 module_le_set_pairing_mode_secure_justwork
+0x3ba8 module_le_set_pairing_mode_secure_numeric
+0x3bae module_le_set_pairing_mode_secure_passkey
+0x3bb3 module_le_set_no_pairing
+0x3bb4 module_le_set_noinputnooutput
+0x3bb6 module_le_set_pairing_mode_lagacy_just_work
+0x3bb8 module_le_set_pairing_mode_lagacy_passkey
+0x3bb9 module_le_set_displayonly
+0x3bbb module_hci_cmd_le_set_adv_data
+0x3bc4 module_hci_cmd_le_set_scan_data
+0x3bcd module_hci_cmd_le_send_conn_update_req
+0x3bd7 module_hci_cmd_set_le_adv_parameter
+0x3bda module_hci_cmd_le_start_pairing
+0x3be2 module_hci_cmd_set_wake_gpio
+0x3bec module_hci_cmd_set_tx_power
+0x3bf1 module_hci_cmd_le_confirm_gkey
+0x3bf8 module_hci_cmd_le_confirm_gkey_ok
+0x3bfa module_hci_cmd_le_confirm_gkey_fail
+0x3bfc module_hci_cmd_set_reject_justwork_flag
+0x3c02 module_hci_cmd_reset_chip
+0x3c06 module_hci_cmd_le_set_fixed_passkey
+0x3c13 module_hci_cmd_le_set_random_passkey
+0x3c15 module_hci_test_cmde_close_lpm
+0x3c17 module_hci_event_receive_invalid_cmd
+0x3c1a module_hci_event_receive_valid_cmd
+0x3c1d module_hci_event_spp_connect
+0x3c1f module_hci_event_le_connect
+0x3c21 module_hci_event_spp_disconnect
+0x3c23 module_hci_event_le_disconnect
+0x3c25 module_hci_event_set_cmd
+0x3c32 module_hci_event_receive_spp_data
+0x3c3d module_hci_event_receive_le_data
+0x3c48 module_hci_event_enter_standby_mode
+0x3c49 module_hci_event_enter_standby_mode_len0
+0x3c4c module_hci_event_status_res
+0x3c5d module_hci_read_bt_status
+0x3c6a module_hci_event_store_device
+0x3c73 module_hci_event_gkey_generate
+0x3c79 module_hci_event_invalid_packet
+0x3c82 module_hci_event_passkey_entry_mode
+0x3c84 module_hci_event_le_tk
+0x3c8a module_hci_event_le_pairing_fail
+0x3c8c module_hci_event_le_pairing_success
+0x3c8e module_hci_event_bt_pairing_fail
+0x3c90 module_hci_event_bt_pairing_success
+0x3c91 module_hci_event_pairing_completed
+0x3c98 module_hci_event_pause_enc
+0x3c9a module_hci_event_start_enc
+0x3c9b module_hci_event_enc
+0x3ca1 module_hci_event_le_gkey
+0x3ca7 module_hci_prepare_tx
+0x3cb1 module_set_mcu_wake_pin_high_delay
+0x3cb3 module_set_mcu_wake_pin_h_delay
+0x3cb8 module_set_mcu_wake_pin_high
+0x3cba module_check_mcu_wake_pin_high
+0x3cbc module_set_mcu_wake_pin_low
+0x3cbe delay
+0x3cc2 module_le_receive_data
+0x3ccf module_le_receive_data_ok
+0x3cd1 module_exit_sniff
+0x3cd5 module_set_lpm_mult_2
+0x3cd7 module_bb_event_timer
+0x3cd8 module_read_vdd_timer
+0x3ce9 module_control_air_flow
+0x3cec module_set_sniff_task_flag
+0x3cee module_clear_sniff_task_flag
+0x3cf0 module_set_unsniff_task_flag
+0x3cf2 module_clear_unsniff_task_flag
+0x3cf4 module_set_le_tx_data_flag
+0x3cf6 module_clear_le_tx_data_flag
+0x3cf8 module_clr_state
+0x3cfc module_set_state
+0x3d00 mouse_init
+0x3d0f mouse_delay_4s
+0x3d12 mouse_delay_20ms
+0x3d16 mouse_cheak_enable_usb
+0x3d19 mouse_cb_fuction
+0x3d36 mouse_spi_init
+0x3d39 mouse_setting_config
+0x3d46 mouse_init_iic
+0x3d4e mouse_wakeup_from_power
+0x3d53 mouse_wakeup_no_from_power
+0x3d57 mouse_start_24g_mode
+0x3d5b le_mouse_bb_event_connect_complete
+0x3d60 mouse_le_write_enable
+0x3d62 mouse_dpi_up
+0x3d66 mouse_dpi_config
+0x3d6a mouse_dpi_cheak
+0x3d6d mouse_dpi_down
+0x3d79 mouse_before_store_flash_cpi
+0x3d7e mouse_seting_dpi
+0x3d88 mouse_set_cpi2
+0x3d8a mouse_set_cpi1
+0x3d8c mouse_set_cpi3
+0x3d8e mouse_set_cpi4
+0x3d90 moue_seting_cpi_count
+0x3d96 mouse_seting_3212_dpi
+0x3d9b mouse_set_p3212_cpi2
+0x3d9d mouse_set_p3212_cpi1
+0x3d9f mouse_set_p3212_cpi3
+0x3da1 mouse_set_p3212_cpi4
+0x3da2 mouse_p3212_dpi
+0x3daa mouse_seting_3610_dpi
+0x3daf mouse_set_p3610_cpi2
+0x3db1 mouse_set_p3610_cpi1
+0x3db3 mouse_set_p3610_cpi3
+0x3db5 mouse_set_p3610_cpi4
+0x3db6 mouse_p3610_dpi
+0x3db9 mouse_reset_p3610_dpi
+0x3dbe mouse_p3205_dpi
+0x3dc9 mouse_init_environment
+0x3dce mouse_24g_pairing_button
+0x3de3 mouse_idle
+0x3de9 mouse_usb_isr
+0x3ded mouse_cheak_usb
+0x3df1 mouse_usb_no_exsit
+0x3df4 mouse_usb_exsit
+0x3df7 mouse_usb_mode
+0x3e07 mouse_clkn_check
+0x3e0c mouse_clkn_timeout
+0x3e0f mouse_wired_to_usb
+0x3e12 mouse_data_push
+0x3e1a mouse_enable_clock_qdecoder
+0x3e1e mouse_param_init
+0x3e44 mouse_sensor_set_angle
+0x3e4c mouse_select_adc
+0x3e54 mouse_adc_init
+0x3e59 mouse_adc_init_data_vinlpm
+0x3e62 mouse_adc_init_data_hvin
+0x3e6b mouse_adc_init_data_io
+0x3e6e mouse_gpio_init
+0x3e97 mouse_wheel_gpio_set_wake
+0x3e9f mouse_before_hibernate_wheel_gpio_set
+0x3ea7 mouse_gpio_set_pupd_by_input
+0x3eb3 mouse_before_hibernate
+0x3ebb mouse_process_lpm_before
+0x3ebf mouse_lpm_before_common
+0x3ede mouse_spi_clk_gpio
+0x3ee0 mouse_wheel_check
+0x3eee mouse_t_wheel_scan
+0x3efe mouse_t_wheel_scan_judge1
+0x3f02 mouse_t_wheel_scan_judge2
+0x3f06 mouse_t_wheel_scan_judge11
+0x3f08 mouse_t_wheel_scan_judge12
+0x3f0a mouse_t_wheel_scan_judge21
+0x3f0c mouse_t_wheel_scan_judge22
+0x3f0e mouse_t_wheel_scan_judge3
+0x3f16 mouse_t_wheel_scan_judge30
+0x3f19 mouse_t_wheel_scan_judge31
+0x3f1c mouse_t_wheel_scan_judge32
+0x3f1f mouse_t_wheel_scan_judge33
+0x3f22 mouse_wheel_t_forward
+0x3f2c mouse_wheel_t_back
+0x3f36 mouse_wheel_scan
+0x3f46 mouse_wheel_scan_judge1
+0x3f4a mouse_wheel_scan_judge2
+0x3f4e mouse_wheel_scan_judge11
+0x3f50 mouse_wheel_scan_judge12
+0x3f52 mouse_wheel_scan_judge21
+0x3f54 mouse_wheel_scan_judge22
+0x3f56 mouse_wheel_scan_judge3
+0x3f5e mouse_wheel_scan_judge30
+0x3f61 mouse_wheel_scan_judge31
+0x3f64 mouse_wheel_scan_judge32
+0x3f67 mouse_wheel_scan_judge33
+0x3f6a mouse_wheel_forward
+0x3f6f mouse_wheel_back
+0x3f74 mouse_hid_connected
+0x3f77 mouse_send_process
+0x3f81 mouse_send_data
+0x3f8a mouse_send_empty_data
+0x3f8d mouse_no_data_timer_init
+0x3f90 mouse_fill_data_le
+0x3f97 mouse_motion
+0x3fa3 motion_6clk_direction_dispose
+0x3fa7 motion_12clk_direction_dispose
+0x3fab motion_9clk_direction_dispose
+0x3fb3 motion_3clk_direction_dispose
+0x3fb5 mouse_cheak_sensor_data
+0x3fc0 mouse_clear_sensor_data
+0x3fc4 mouse_p3212_sensor_motion
+0x3fc8 mouse_p3212_sensor_motion_1
+0x3fde mouse_read_3212sensor_xy_high
+0x3fe0 mouse_p3065_judge
+0x3fe2 mouse_p32xx_sensor_motion
+0x3fe7 mouse_p32xx_sensor_motion_2
+0x3fea mouse_p32xx_sensor_motion_1
+0x3ffa motion32xx_6clk_direction_selection
+0x3ffc motion32xx_9clk_direction_selection
+0x3ffe motion32xx_12clk_direction_selection
+0x4000 motion32xx_3clk_direction_selection
+0x4002 mouse_sensor_data_swap_places
+0x4007 mouse_p3610sensor_read
+0x4010 mouse_p3610_sensor_motion
+0x402d mouse_3610_smart_select
+0x4031 motion3610_6clk_direction_selection
+0x4033 motion3610_12clk_direction_selection
+0x4035 motion3610_9clk_direction_selection
+0x4037 motion3610_3clk_direction_selection
+0x4039 mouse_read_sensor3610_data
+0x4045 mouse_3610_smart_enable
+0x4051 mouse_3610_smart_disable
+0x405d mouse_read_sensor_common
+0x4064 mouse_set_qdecoder_x
+0x406d mouse_hardware_zwheel
+0x4074 mouse_hardware_zwheel_beforelpm
+0x4079 mouse_zwheel
+0x407e mouse_t_zwheel
+0x4083 mouse_check_key_gpio
+0x4090 mouse_check_s_key_gpio
+0x4099 mouse_key
+0x40a3 mouse_24g_key
+0x40a8 mouse_set_mult
+0x40ad mouse_set_ble_mult
+0x40b0 mouse_set_bt_mult
+0x40b3 mouse_sensor_sdio_low
+0x40be mouse_sensor_sdio_low2
+0x40c0 mouse_spi_sdio_gpio_pollup
+0x40c2 mouse_spi1_sdio_gpio_pollup
+0x40c4 mouse_spi2_sdio_gpio_pollup
+0x40c6 mouse_init_sunt
+0x40cb mouse_init_sensor
+0x40d1 mouse_twspi_reset
+0x40d5 mouse_init_3610sensor
+0x40d9 mouse_read_sensor_id
+0x40e0 mouse_init_p32xx_id2_judge
+0x40e6 mouse_ka8_init_param
+0x40e8 mouse_p3065xy_init_param
+0x40ea mouse_p3065_init_param
+0x40ee mouse_3212_init_param
+0x40f4 mouse_sensor_enable_wp
+0x40f6 mouse_sensor_disable_wp
+0x40f8 mouse_3204_3l_init_param
+0x4102 mouse_32xx_init_param
+0x411a mouse_32xx_init_param_1
+0x4139 mouse_3205_3t_init_param
+0x4145 mouse_init_3610sensor_reset
+0x414b mouse_init_p3610
+0x415a mouse_set_sensor_reg
+0x4165 extsign
+0x4169 extsign_bit3
+0x416d mouse_le
+0x4179 mouse_le_send_empty_packet
+0x417c mouse_priority_bb_event
+0x4191 mouse_le_pairing_complete
+0x4192 mouse_24g_attempt_fail
+0x419a mouse_24g_attempt_success
+0x419c mouse_24g_pairing_complete
+0x41aa mouse_set_24g_addr_eeprom
+0x41af mouse_store_flash_24g_address
+0x41b4 mouse_le_pairing_success
+0x41b6 mouse_le_ll_start_encryt
+0x41b9 mouse_le_enable_connect_flag
+0x41bd mouse_le_disable_connect_flag
+0x41c1 mouse_le_clean_connect_flag
+0x41c3 mouse_le_bb_event_connected
+0x41ca mouse_bb_event_pincode
+0x41cc mouse_bb_event_reconn_failed
+0x41d5 mouse_bt_hid_connected
+0x41d6 mouse_bt_event_setup_complete
+0x41d7 mouse_soft_reset
+0x41d9 mouse_bb_disconnected
+0x41e7 mouse_bb_discon_clear_stack
+0x41ef mouse_event_light_state_pairing
+0x41f2 mouse_event_light_state_hibernate
+0x41f5 mouse4_0_event_bb_disconn
+0x41f9 mouse_bb_event_timer
+0x4209 mouse_sensor_led_contrl_timer
+0x420f mouse_sensor_led_contrl
+0x4212 mouse_sensor_led_blink_state_lighting
+0x4216 mouse_sensor_led_blink_state_darking
+0x421a mouse_sensor_reset
+0x4220 mouse_p3212sensor_led_on
+0x4224 mouse_sensor_led_on_global
+0x4225 mouse_sensor_led_on
+0x422b mouse_sensor_led_off_global
+0x422c mouse_sensor_led_off
+0x422e mouse_sensor_start_blink
+0x4231 mouse_check_hid_handshake_timer
+0x4234 mouse_check_discovery_timeout_timer
+0x4237 mouse_check_direct_timeout_timer
+0x423a mouse_check_no_data_timeout_timer
+0x423d mouse_check_mouse_state_timer
+0x4240 mouse_le_enable_att_list_timer
+0x4243 mouse_24g_delay_timer
+0x4246 mouse_ban_24g_pairing_timer
+0x4249 mouse_24g_delay
+0x424a mosue_dpi_led_blink_init
+0x4250 mouse_dpi_led_blink_delay_timer
+0x4253 mouse_dpi_led_setting
+0x425e mouse_le_enable_att_list
+0x4264 mouse_check_discovery_timeout
+0x4266 mouse_check_direct_timeout
+0x426a mouse_check_no_data_timeout
+0x426c mouse_bb_event_discovery_btn
+0x4271 mouse3_0_check_reconn_target
+0x4279 mouse4_0_check_reconn_target
+0x427e mouse_reconn_setting_led_gpio
+0x4282 mouse_discover_setting_led_gpio
+0x4285 mouse_setting_led_gpio_comman
+0x428a mouse_device_led1
+0x428c mouse_device_led2
+0x428e mouse_device_led3
+0x428f mouse_led_blink
+0x4296 mouse_led_off
+0x4298 mouse_led_on
+0x429a mouse4_0_bb_event_discovery_btn
+0x429b mouse_bt_hid_handshake
+0x42a2 mouse_check_reconn_target
+0x42ab mouse_connect_24g_mode
+0x42b0 mouse_start_discovery
+0x42b7 mouse_start_discovery_norandom
+0x42ca mouse_stop_discovery
+0x42d4 mouse_stop_le_adv
+0x42d7 mouse_stop_bt3_discovery
+0x42da mouse_store_remote_bdaddr
+0x42df mouse_unplug_clean_bdaddr
+0x42e4 mouse_store_eeprom_device_info
+0x42e8 mouse_check_device_addr
+0x42ec mouse_check_le_device_addr
+0x42ef mouse_check_bt_device_addr
+0x42f1 mouse_check_bt_device_addr_common
+0x42f5 mouse_check_device_addr_end
+0x42fb mouse_before_store_reconn_info
+0x4305 mouse_store_le_device
+0x430c mouse_store_bt_device
+0x4310 mouse_clean_addr
+0x4316 mouse_eeprom_load_recon_info
+0x431a mouse_select_reconn_device
+0x4327 mouse_load_bt_device
+0x4328 mouse_load_bt_device_end
+0x432c mouse_load_le_device
+0x432d mouse_load_le_device_end
+0x4333 mouse_select_device
+0x4337 mouse_select_device_by_combination_key
+0x4339 mouse_select_device_commbination_key_up
+0x433e mouse_select_device_commbination_key_down
+0x4343 mouse_combination_select_device_timer
+0x4349 mouse_select_device_by_button
+0x434e mouse_select_device_button_up
+0x4354 mouse_select_device_button_down
+0x4359 mouse_select_device_by_switch
+0x435f mouse_cheak_select_device_by_switch
+0x4364 mouse_select_btdevice
+0x4366 mouse_cheak_select_24gdevice
+0x4369 mouse_select1_device
+0x436c mouse_select2_device
+0x4370 mouse_ready_reconnection_by_button
+0x437a mouse_store_device_number2eeprom
+0x437e mouse_set_reconnection
+0x4381 mouse_stop_bluetooth_mode
+0x4386 mouse_disconnect
+0x438e mouse_irtual_cable_unplug
+0x4392 mouse_cancel_reconnect
+0x4394 mouse_bt_discovery_by_button
+0x4399 mouse_bt_discovery_button_up
+0x439f mouse_bt_discovery_button_down
+0x43a5 mouse_bt_discovery_cheak
+0x43a7 mouse_bt_discovery_commbination_key
+0x43a9 mouse_bt_discovery_commbination_key_up
+0x43af mouse_bt_discovery_commbination_key_down
+0x43b5 mouse_bt_discovry_timer
+0x43b8 mouse_long_button_bt_discovry
+0x43bc mouse_cpi_enable
+0x43be mouse_cpi_disable
+0x43c0 mouse_select_device_enable
+0x43c2 mouse_select_device_disable
+0x43c4 mouse_bt_cannel_reconn_enable
+0x43c6 mouse_bt_cannel_reconn_disable
+0x43c8 mouse_bt_discovery_button_down_enable
+0x43ca mouse_bt_discovery_button_down_disable
+0x43cc mouse_select_device_count_clean
+0x43ce mouse_enable_function_flag
+0x43d2 mouse_disable_function_flag
+0x43d6 mouse_adc_read
+0x43e7 mouse_adc_low_voltage
+0x43e9 mouse_adc_no_low_voltage
+0x43eb mouse_low_voltage_led_timer
+0x43f9 mouse_adc_low_volatage_led_timer_count_clean
+0x43fb mouse_low_voltage_led_on
+0x43fe mouse_low_voltage_led_off
+0x4401 mouse_g24_package_data
+0x4406 mouse_g24_enter_lpm
+0x4410 mouse_24g_dpi_delay_init
+0x4414 mouse_load_flash_info_cheak
+0x441c mouse_ble_init_address
+0x4423 mouse_load_flash_flag
+0x442b mouse_load_flash_device_info
+0x4435 mouse_store_flash_device_info
+0x443b mouse_store_eerpom_dpi
+0x443f mouse_load_eeprom_dpi
+0x4443 mouse_statue_cheak_timer
+0x444f mouse_check_statue_up
+0x445b mouse_statue_up_timer_init
+0x445d mouse_statue_up_timer
+0x4460 mouse_statue_up
+0x446d mouse_two_device_statue_up
+0x4471 mouse_three_device_statue_up
+0x4476 mouse_device_blink_led_init
+0x4478 mouse_statue_led_off
+0x447a mouse_devce1_led_off
+0x447e mouse_devce2_led_off
+0x4482 mouse_devce_led_off
+0x4485 mouse_devce3_led_off
+0x4489 mouse_device1_led_on
+0x448c mouse_device2_led_on
+0x448f mouse_device3_led_on
+0x4492 mouse_polling_device
+0x44a0 mouse_power_down
+0x44a4 remote_car_init
+0x44ce remote_car_soft_switch_power_on_init
+0x44d5 remote_car_hard_switch_power_on_signal
+0x44d6 remote_car_soft_switch_power_on_signal
+0x44d9 remote_car_connect_24g_mode
+0x44da remote_car_power_off_signal
+0x44db remote_car_ui_led_init
+0x44de remote_car_ui_led_init_1
+0x44e0 remote_car_pairing_led_gpio_set
+0x44e2 remote_car_init_environment
+0x44e6 remote_car_in_enter_hibernate
+0x44e9 remote_car_process_lpm_before
+0x44ea remote_car_g24_enter_lpm
+0x44ed remote_car_process_auto_pair_exit
+0x44ee remote_car_key_scan_process
+0x44ef remote_car_scale_process_idle
+0x44f2 remote_car_scale_process_bb_event
+0x44f9 remote_car_24g_attempt_fail
+0x44fb remote_car_24g_pairing_complete
+0x44ff remote_car_24g_attempt_success
+0x4503 remote_car_24g_status_process
+0x4508 remote_car_scale_process_paired
+0x450a remote_car_scale_process_shutdown
+0x450e remote_car_event_timer
+0x4510 remote_car_no_data_timer
+0x4515 remote_car_get_adc_default_data
+0x451a remote_car_rocker_get_x
+0x451f remote_car_rocker_get_y
+0x4525 remote_car_rocker_get_value
+0x452e remote_car_rocker_mid_value_adjust
+0x4534 remote_car_rocker_mid_adjust_positive
+0x4537 remote_car_rocker_translate_key
+0x453a remote_car_rocker_positive_key
+0x453c remote_car_rocker_negative_key
+0x453e remote_car_rocker_middle_key
+0x4540 remote_car_get_adc_from_gpio6
+0x4542 remote_car_get_adc_from_gpio7
+0x4544 remote_car_rocker_process
+0x4546 remote_car_read_rocker_check_start
+0x4550 remote_car_rocker_x_to_key
+0x4554 remote_car_rocker_y_to_key
+0x4557 remote_car_rocker_to_key
+0x455a rocker_to_queue_set_0
+0x455d rocker_to_queue_set_2
+0x4560 remote_car_send_key_data
+0x4568 remote_car_key_is_press
+0x456b remote_car_attack_key_press
+0x456f remote_car_motor_key_press
+0x4574 remote_car_single_motor_key_is_press
+0x457a remote_car_double_motor_key_press
+0x4580 remote_car_key_is_release
+0x4583 remote_car_attack_key_release
+0x4586 remote_car_motor_key_release
+0x458b remote_car_device_layout_select
+0x458f remote_car_send_motor1_key0_press
+0x4591 remote_car_send_motor1_key1_press
+0x4593 remote_car_send_motor2_key2_press
+0x4595 remote_car_send_motor2_key3_press
+0x4597 remote_car_send_double_motor_key0_press
+0x459a remote_car_send_double_motor_key1_press
+0x459d remote_car_send_double_motor_key2_press
+0x45a0 remote_car_send_double_motor_key3_press
+0x45a3 remote_car_send_attack_key4_press
+0x45a5 remote_car_send_attack_key5_press
+0x45a7 remote_car_send_fire_key6_press
+0x45a9 remote_car_single_motor_key_rel
+0x45af remote_car_double_motor_key_rel
+0x45b5 remote_car_send_motor1_key1_rel
+0x45b7 remote_car_send_motor2_key3_rel
+0x45b9 remote_car_send_double_motor_key3_rel
+0x45bc remote_car_send_attack_key5_rel
+0x45be remote_car_send_key
+0x45c0 remote_car_send_attack
+0x45c2 remote_car_g24_package_data
+0x45c7 remote_car_g24_package_data_continue
+0x45cc remote_car_g24_send_empty
+0x45d1 remote_car_moto_data
+0x45d5 remote_car_moto_data_next
+0x45dc remote_car_moto_data_enable_user
+0x45de shutter_init
+0x4609 shutter_hart_swtich_power_on
+0x460c shutter_le_scale_lpm_lock
+0x4612 shutter_process_bb_event
+0x4626 classic_shutter_process_baseband_connect
+0x4629 classic_shutter_process_baseband_disconnect
+0x462b classic_shutter_disconnect_clear_flag
+0x4631 classic_shutter_process_reconnect_failed
+0x4633 classic_shutter_process_setup_complete
+0x4635 classic_shutter_process_hid_connect
+0x4638 classic_shutter_process_hid_disconnect
+0x463c classic_shutter_process_hid_handshake
+0x4644 classic_shutter_process_reconnect_page_timeout
+0x4645 classic_shutter_process_virtual_cable_unplug
+0x4648 classic_shutter_process_remote_unsniff
+0x4649 classic_shutter_process_store_reconnect_information
+0x464f classic_shutter_load_reconn_info
+0x4658 ble_shutter_process_baseband_connect
+0x465c ble_shutter_process_baseband_disconnect
+0x465f ble_shutter_process_reconnect_complete
+0x4665 ble_shutter_process_parse_connect_parameter_update_response
+0x466b shutter_process_soft_swtich_button_long_press
+0x466c shutter_process_soft_swtich_button_down
+0x4672 shutter_store_currenct_led_state
+0x4677 shutter_process_soft_swtich_button_up
+0x467c shutter_load_currenct_led_state
+0x4686 shutter_le_bb_event_timer
+0x468c shutter_check_sleep_timer
+0x468f shutter_sleep_timeout
+0x4693 shutter_check_power_off_timer
+0x4696 shutter_check_power_off_timeout
+0x469e classic_shutter_check_unplug_timer
+0x46a1 classic_shutter_unplug_timeout
+0x46a6 classic_shutter_hid_handshake_timer
+0x46a9 classic_shutter_hid_disconn_timer
+0x46ac ble_shutter_reconn_timer
+0x46b1 shutter_process_idle
+0x46b3 shutter_process_lpm_before
+0x46b4 shutter_le_before_hibernate
+0x46b6 shutter_stop_bluetooth_discovery
+0x46ba ble_shutter_stop_bluetooth_discovery
+0x46be classic_shutter_stop_bluetooth_discovery
+0x46c2 shutter_start_bluetooth_discovery
+0x46c8 classic_shutter_start_discovery
+0x46cc ble_shutter_start_discovery
+0x46d9 shutter_start_reconnect
+0x46df classic_shutter_start_reconnect
+0x46e4 ble_shutter_start_reconnect
+0x46f0 shutter_ble_adv_interval_set
+0x46f4 shutter_disconnect_current_connection
+0x46f8 app_check_reconn_target
+0x46fc app_check_reconn_target_loop
+0x4701 found_reconn_device
+0x4708 shutter_check_data_enable
+0x470d shutter_check_bt_data_enable
+0x4710 shutter_check_ble_data_enable
+0x4713 shutter_check_bluetooth_conn
+0x4718 shutter_change_bluetooth_status_bt_disconn
+0x471c classic_shutter_change_bluetooth_status_bt_disconn
+0x471f ble_shutter_change_bluetooth_status_bt_disconn
+0x4720 shutter_check_send_data
+0x4729 shutter_key_change
+0x472d shutter_key_press
+0x4730 shutter_key_release
+0x4732 push_queue_press_or_release
+0x4735 push_buffer_in_queue
+0x473a shutter_send_data_to_master
+0x473e pop_queue_to_ble_data
+0x4746 le_send_notify_from_list
+0x474e pop_queue_to_classic_data
+0x4758 classic_send_hid_data
+0x4762 queue_push_one_byte
+0x4765 queue_pop_one_byte
+0x476a ble_shutter_receive_data
+0x476d shutter_init_param
+0x477a shutter_load_buffer_config_form_datarom
+0x4782 shutter_load_ble_gatt_form_datarom
+0x4785 shutter_load_bt_sdp_form_datarom
+0x4788 shutter_init_bluetooth_config
+0x4790 shutter_init_bluetooth_config_gpio_input
+0x4793 shutter_load_bluetooth_config
+0x4797 shutter_load_bluetooth_config_label
+0x47a9 shutter_load_bluetooth_config_read_gpio_input
+0x47ae shutter_check_load_config_flag
+0x47b4 shutter_load_bluetooth_config_by_otp
+0x47ba shutter_load_bluetooth_config_store_name
+0x47c7 shutter_load_bluetooth_config_by_eeprom
+0x47da shutter_load_bluetooth_config_by_user_config
+0x47e8 shutter_store_config
+0x47e9 shutter_load_bluetooth_config_custom
+0x47f0 shutter_random_mac_addr
+0x47f9 shutter_write_random_mac_addr_to_eeprom
+0x4802 shutter_write_random_mac_addr
+0x4806 shutter_soft_swtich_power_on
+0x4807 shutter_soft_swtich_power_off
+0x480b shutter_wait_power_off
+0x480e ui_soft_swtich_init
+0x4816 ui_soft_swtich_init_power_on_time
+0x481b ui_soft_switch_botton_up
+0x481f ui_soft_switch_botton_long_press
+0x4822 ui_soft_switch_power_on
+0x482a ui_soft_switch_power_off
+0x4830 shutter_byteswap
+0x483f shutter_random_addr_by_otp
+0x4849 sim_iic_read_eep_data
+0x4856 sim_iic_read_eep_data_2k
+0x485a sim_iic_read_eep_data_loop
+0x4860 sim_iic_write_eep_data
+0x486b sim_iic_write_eep_data_loop
+0x4871 sim_iic_wait_ack
+0x4875 sim_iic_wait_ack_loop
+0x4879 sim_iic_ack_slave
+0x487f sim_iic_read_byte
+0x4882 sim_iic_read_byte_loop
+0x488d sim_iic_send_byte
+0x4890 sim_iic_send_byte_loop
+0x489b sim_iic_start
+0x48a1 sim_iic_stop
+0x48a6 sim_iic_scl_output_high
+0x48a9 sim_iic_scl_output_low
+0x48ac sim_iic_sda_output_high
+0x48af sim_iic_sda_output_low
+0x48b2 sim_iic_config_gpio
+0x48be sim_iic_release_sda
+0x48c7 sim_iic_read_sda_level
+0x48d2 sim_iic_delay
+0x48d3 usb_isr
+0x48ea usb_init
+0x48fb usb_offline_check_init
+0x48fd usb_offline_state
+0x4903 usb_nak_state
+0x490b usb_mem_devicedesc_init
+0x4919 usb_init_param
+0x492b usb_tx_interval_config
+0x492e usb_nak_state_judge
+0x4931 usb_nak_state_timer_init
+0x4936 usb0_attached_state_judge
+0x493b usb_clear_halt_dispose
+0x4941 usb0_fifo_empty
+0x4943 usb_rx_no_data
+0x4946 usb_rx_read
+0x494a usb_status1
+0x4955 usb_class_type
+0x495a usb_in_device
+0x4962 usb_out_device
+0x496a usb_in_standard_req
+0x4970 usb_in_class_req
+0x4975 usb_in_manufacturer_req
+0x4976 usb_out_standard_req
+0x497e usb_out_class_req
+0x4983 usb_out_manufacturer_req
+0x4984 usb0_force_stall
+0x4988 usb0_reply_zerolen
+0x498a usb0_request_get_configuration
+0x499c usb0_request_get_cfg_dev_cfg
+0x499e usb0_request_get_cfg_dev_addr
+0x49a0 usb0_request_get_descriptor
+0x49a9 dsc_hid_info
+0x49ae dsc_hid_info_interface0
+0x49b2 dsc_hid_info_interface1
+0x49b6 dsc_device_info
+0x49ba dsc_info_set_data_len
+0x49bf dsc_info_set_initial_data_len
+0x49c0 dsc_info_set_data_size_completed
+0x49c5 dsc_info_set_current_data_len
+0x49c7 usb_set_high_addr
+0x49cb usb0_set_addr
+0x49cf dsc_config_info
+0x49d2 dsc_string_info
+0x49e0 dsc_hid_report_info
+0x49e5 dsc_hid_report_info0
+0x49ea usb0_request_get_interface
+0x49fc usb0_request_get_status
+0x4a0d usb0_get_status_in_device
+0x4a12 usb_send_zero_packet
+0x4a14 usb_send_ones_packet
+0x4a16 usb_send_two_packet
+0x4a18 usb0_get_status_in_interface
+0x4a1c usb0_get_status_in_endpoint
+0x4a25 usb0_get_status_in_ep_in_ep0
+0x4a26 usb0_get_status_in_ep_in_ack
+0x4a29 usb0_get_status_in_ep_in_ep1
+0x4a2b usb0_get_status_in_ep_in_ep2
+0x4a2d usb0_get_status_in_ep_in_ep3
+0x4a2f usb_get_idle
+0x4a33 usb_get_report
+0x4a38 usb_get_report_dispose
+0x4a3b usb_get_report_send_data
+0x4a3f usb_get_report_data_release
+0x4a42 usb_get_report_data_success
+0x4a45 usb_get_protocol_req
+0x4a4d usb_get_report_protocol
+0x4a4e usb_get_boot_protocol
+0x4a4f usb0_request_clear_feature
+0x4a5e usb0_request_clear_feature_out_device
+0x4a66 usb0_request_clear_feature_out_interface
+0x4a67 usb0_request_clear_feature_out_endpoint
+0x4a70 usb0_force_stall_ep0_in_off
+0x4a72 usb0_force_stall_ep1_in_off
+0x4a73 usb0_force_stall_ep1_in_off_reply
+0x4a75 usb0_force_stall_ep2_in_off
+0x4a77 usb0_force_stall_ep3_in_off
+0x4a79 usb0_request_set_feature
+0x4a82 usb0_request_set_feature_out_device
+0x4a8b usb_wakeup_timer_reinit
+0x4a8f usb0_request_set_feature_out_interface
+0x4a90 usb0_request_set_feature_out_endpoint
+0x4a9b usb0_force_stall_ep0_in_on
+0x4a9d usb0_force_stall_ep1_in_on
+0x4a9f usb0_force_stall_ep2_in_on
+0x4aa1 usb0_force_stall_ep3_in_on
+0x4aa3 usb0_request_set_address
+0x4ab4 usb_usb0_state_set_dev_default
+0x4ab5 usb0_request_set_wait_address
+0x4aba usb_usb0_state_set_dev_addr
+0x4abc usb0_request_set_configuration
+0x4ad1 usb0_request_set_cfg_cfg_state
+0x4ad5 usb0_request_set_cfg_stay_addr_state
+0x4ad7 usb0_request_set_interface
+0x4ae8 usb_set_idle
+0x4af5 usb_clear_remote_wakeup_set0
+0x4af9 usb_set_report
+0x4b03 usb_set_report_resume_judge
+0x4b11 usb_set_protocol_req
+0x4b17 usb_set_boot_protocol
+0x4b1a usb_set_report_protocol
+0x4b1e usb0_respond_length
+0x4b21 usb0_respond
+0x4b2c usb0_respond0
+0x4b30 usb0_respond1
+0x4b35 usb_no_respond_data
+0x4b37 usb0_tx
+0x4b3e usb0_tx_info
+0x4b43 usb0_tx0
+0x4b47 usb0_tx1
+0x4b52 usb_tx_ep1
+0x4b54 usb_tx_loop
+0x4b57 usb_trig
+0x4b5e usb_tx_ep2
+0x4b61 usb_tx
+0x4b6f usb_tx_data_ep1
+0x4b7a usb_tx_data_ep2
+0x4b86 usb_tx_fifo_release
+0x4b89 usb_tx_ms_data
+0x4b91 usb_tx_ms_data_mac_boot_mode
+0x4b92 usb_tx_ms_data_mac_boot_regroup
+0x4ba0 usb_tx_ms_data_normal_mode
+0x4ba1 usb_tx_mac_boot_ms_regroup_r_or_lrkey
+0x4ba4 usb_tx_kb_multikey_data
+0x4ba8 usb_tx_kb_normal_data
+0x4bac usb_inwake_state_tx_dispose
+0x4bb0 usb_clear_tx_wait
+0x4bb2 usb_mac_wakeup_trig
+0x4bb7 usb_mac_wakeup_judge
+0x4bbb usb_mac_wakeup
+0x4bbf usb_windows_wakeup
+0x4bc2 usb_wakeup
+0x4bc8 hci_rx_h4
+0x4bcb hci_rx_h4_1
+0x4bce hci_h4_parse_packet
+0x4bd8 hci_h4_parse_packet_wait_len
+0x4bdf hci_h4_parse_packet_wait
+0x4be6 h4_rx_discard_packet
+0x4bee h4_get_rx_payload_len
+0x4bf3 h4_get_rx_payload_len_acl
+0x4bf5 h4_get_tx_ptr
+0x4bf9 h4_send_packet_event
+0x4bfb h4_send_packet_acl
+0x4bfc h4_send_packet
+0x4c0b h4_send_acl_trigger_clear
+0x4c0e hci_init
+0x4c13 hci_lpm_init
+0x4c1a hci_reinit
+0x4c21 hci_init_common
+0x4c28 hci_sel_init
+0x4c2e hci_rx_packet
+0x4c37 hci_rx_packet_cont
+0x4c3a uart_send_byte
+0x4c3f process_hci_cmd
+0x4c44 process_hci_cmd_cont
+0x4c4d phci_grp_vendor_specific
+0x4c5c phci_grp_vendor_enter_lpm
+0x4c5f hci_enter_lpm
+0x4c62 hci_exit_lpm
+0x4c66 phci_grp_vendor_chipid
+0x4c6b phci_grp_vendor_baud
+0x4c6f phci_grp_vendor_patch_common
+0x4c7a phci_grp_vendor_patch
+0x4c7c phci_grp_vendor_patch_loop
+0x4c80 phci_grp_vendor_patch_check_sum
+0x4c85 phci_grp_vendor_patch_sec
+0x4c88 phci_grp_vendor_patch_sec_loop
+0x4c9c load_ucode_only_loop
+0x4ca0 load_uart_sum_loop
+0x4ca5 phci_grp_vendor_patch_sec_init
+0x4cb3 phci_grp_vendor_done
+0x4cb6 phci_grp_vendor_done_loop
+0x4cc4 phci_grp_vendor_patch_bad
+0x4cc6 phci_grp_vendor_bdaddr
+0x4cc9 phci_grp_vendor_mem
+0x4cd1 phci_grp_vendor_eep
+0x4cdc hci_normal_reply
+0x4cdd hci_command_complete
+0x4ce3 hci_send_event
+0x4ce9 hci_send_event_raw
+0x4ceb hci_send_packet
+0x4cec hci_send_commu_ready_event
+0x4cf2 hci_get_cmd_complete_ptr
+0x4cf4 hci_get_payload_ptr
+0x4cf6 hci_get_packet_ptr
+0x4cf7 hci_get_tx_ptr
+0x4cf8 calc_tx_crc16
+0x4cfa crcloop
+0x4d04 cmd_exit
+0x4d06 cmd_check_plap
+0x4d0a cmd_pair
+0x4d0f cmd_pair_passive
+0x4d17 cmd_in_sniff
+0x4d26 cmd_exit_sniff
+0x4d28 hci_idle_dispatch
+0x4d2f uart_wake_up
+0x4d33 hid_rx_process
+0x4d3f hid_rx_process_hid_control
+0x4d43 hid_rx_process_virtual_cable_unplug
+0x4d4a hid_rx_process_suspend
+0x4d4b hid_rx_process_set_report
+0x4d53 hid_rx_process_handshake
+0x4d5f hid_rx_process_data
+0x4d62 hid_rx_process_data_hid_kb
+0x4d63 hid_malloc_tx_buff
+0x4d6a l2cap_init
+0x4d6b l2cap_init_work
+0x4d6f l2cap_init_wake
+0x4d79 process_rx_l2cap_pkt
+0x4d85 l2cap_rx_multiplexing
+0x4d8a l2cap_rx_multiplexing0
+0x4d8f l2cap_check_map
+0x4d9b set_pdata_0
+0x4d9d l2cap_call_proc_signal
+0x4d9f l2cap_call_proc_signal0
+0x4da9 l2cap_call_proc_sigal_pending
+0x4db7 l2cap_sdp_conn_succ
+0x4dc3 l2cap_reset_sdp_map
+0x4dd3 check_l2cap_map
+0x4dd5 check_l2cap_map_loop
+0x4dda check_l2cap_map_used
+0x4dde check_l2cap_map_used2
+0x4de0 l2cap_call_proc_sdp
+0x4de8 ml2cap_call_proc_sdp
+0x4dec l2cap_call_proc_sdp_common
+0x4df3 l2cap_call_proc_hid
+0x4df5 l2cap_call_proc_rfcomm
+0x4dfb l2cap_call_proc_no_reply
+0x4dfc l2cap_rx_reset_state
+0x4e01 l2cap_process_signal_pkt
+0x4e08 l2cap_process_signal_pkt_loop
+0x4e10 l2cap_process_one_signal
+0x4e1e l2cap_process_one_signal_rtn
+0x4e1f l2cap_proc_signal_info_req
+0x4e2a l2cap_proc_signal_info_req_reply
+0x4e2d l2cap_proc_signal_info_req_ext
+0x4e33 l2cap_proc_signal_info_req_fix
+0x4e38 l2cap_proc_signal_info_req_common
+0x4e3a ml2cap_proc_signal_info_req
+0x4e49 l2cap_proc_signal_cmd_reject
+0x4e50 l2cap_proc_signal_cmd_reject_rtn
+0x4e51 l2cap_proc_signal_connect_req
+0x4e64 l2cap_proc_signal_connect_req_sdp
+0x4e6e store_l2cap_req_param
+0x4e7a restore_l2cap_req_param
+0x4e86 l2cap_proc_signal_connect_req_rfcomm
+0x4e92 l2cap_proc_signal_connect_req_hid_ctrl
+0x4e9d l2cap_proc_signal_connect_req_hid_int
+0x4ea9 send_connection_pending
+0x4ead send_connection_sdp_res
+0x4eb1 send_connection_res
+0x4eb3 send_connection_res0
+0x4ec4 connect_suc
+0x4ec9 connect_pending
+0x4ece already_connected
+0x4ed0 connect_req_update_byte_counts
+0x4ed4 l2cap_proc_signal_connect_req_rtn
+0x4ed5 l2cap_proc_signal_connect_rsp
+0x4eed l2cap_proc_signal_connect_rsp_sdp
+0x4ef3 l2cap_proc_signal_connect_rsp_rfcomm
+0x4ef9 l2cap_proc_signal_connect_rsp_hid_int
+0x4eff l2cap_proc_signal_connect_rsp_hid_ctrl
+0x4f05 l2cap_proc_signal_config_req
+0x4f1c l2cap_proc_signal_config_req_sdp
+0x4f26 l2cap_proc_signal_config_req_hid_ctrl
+0x4f30 l2cap_proc_signal_config_req_hid_int
+0x4f3a l2cap_proc_signal_config_req_rfcomm
+0x4f43 l2cap_send_config_rsp
+0x4f59 l2cap_send_config_rsp_is_sdp
+0x4f5a l2cap_check_channel_state
+0x4f64 l2cap_send_config_req_sdp
+0x4f6b l2cap_send_config_req_rfcomm
+0x4f72 l2cap_send_config_req_hid_ctrl
+0x4f79 l2cap_send_config_req_hid_int
+0x4f7f l2cap_generate_config_req
+0x4f97 l2cap_generate_config_req_rfcomm
+0x4f99 l2cap_generate_config_req_done
+0x4fa1 l2cap_proc_signal_config_req_rtn
+0x4fa2 l2cap_proc_signal_config_rsp
+0x4fba l2cap_proc_signal_config_rsp_sdp
+0x4fbe l2cap_proc_signal_config_rsp_rfcomm
+0x4fc2 l2cap_proc_signal_config_rsp_hid_ctrl
+0x4fc6 l2cap_proc_signal_config_rsp_hid_int
+0x4fcb l2cap_proc_signal_disconnect_req
+0x4fe6 l2cap_proc_signal_disconnect_req_hid_ctrl
+0x4fec l2cap_proc_signal_disconnect_req_hid_int
+0x4ff2 l2cap_proc_signal_disconnect_req_sdp
+0x4ff8 l2cap_disconnect_hid_control_now
+0x4ffa l2cap_disconnect_hid_interrupt_now
+0x4ffe l2cap_disconnect_sdp_now
+0x5002 l2cap_proc_signal_disconnect_req_rfcomm
+0x5008 l2cap_disconnect_rfcomm_now
+0x500a l2cap_send_disconnect_rsp_pkt
+0x5017 l2cap_proc_signal_disconnect_req_err_rtn
+0x5019 l2cap_proc_signal_disconnect_req_rtn
+0x501b l2cap_proc_signal_disconnect_rsp
+0x5035 l2cap_proc_signal_disconnect_rsp_sdp
+0x503b l2cap_proc_signal_disconnect_rsp_rfcomm
+0x5041 l2cap_proc_signal_disconnect_rsp_hid_ctrl
+0x5047 l2cap_proc_signal_disconnect_rsp_hid_int
+0x504d l2cap_proc_signal_disconnect_rsp_rtn
+0x504f l2cap_proc_signal_disconnect_rsp_err_rtn
+0x5050 l2cap_proc_signal_echo_req
+0x5060 l2cap_proc_signal_echo_rsp
+0x5061 l2cap_proc_signal_info_rsp
+0x5062 l2cap_reject_command
+0x506f l2cap_reset_rfcomm_channel_state
+0x5074 l2cap_reset_sdp_channel_state
+0x5079 l2cap_reset_hid_ctrl_state
+0x507f l2cap_reset_hid_int_state
+0x5085 l2cap_reset_hid_disconnected
+0x5087 l2cap_disconnect_interrupt_req
+0x5091 l2cap_disconnect_control_req
+0x509a l2cap_generate_disconnect_req
+0x50a8 ml2cap_send_signal_connect_req
+0x50b7 ml2cap_send_signal_config_req
+0x50cc ml2cap_send_signal_disconn_req
+0x50de ml2cap_send_signal
+0x50e7 msdp_send_req_done
+0x50ef ml2cap_rx_multiplexing
+0x50f9 ml2cap_call_proc_signal
+0x5102 ml2cap_proc_one_comm_loop
+0x5108 ml2cap_proc_one_comm
+0x5113 ml2cap_proc_signal_connect_req
+0x5116 ml2cap_proc_signal_cmd_reject
+0x511c mvptr
+0x5120 ml2cap_proc_signal_connect_rsp
+0x512e ml2cap_proc_signal_connect_refused_result
+0x5130 ml2cap_proc_signal_connect_rsp_mnosucc
+0x5132 ml2cap_proc_signal_connect_rsp_sucessful
+0x5141 ml2cap_proc_signal_connect_rsp_sdp
+0x5147 ml2cap_proc_signal_connect_rsp_rfcomm
+0x514d ml2cap_proc_signal_connect_rsp_hid_ctrl
+0x5153 ml2cap_proc_signal_connect_rsp_hid_int
+0x5158 mnosucc1
+0x5159 mnosucc
+0x515c ml2cap_proc_signal_config_rsp
+0x5176 ml2cap_proc_signal_config_rsp_sdp
+0x517a ml2cap_proc_signal_config_rsp_rfcomm
+0x517e ml2cap_proc_signal_config_rsp_hid_ctrl
+0x5182 ml2cap_proc_signal_config_rsp_hid_int
+0x5187 mcfrsdone
+0x5188 mcrsdone1
+0x5189 mloop2
+0x518d mcrsdone
+0x518e ml2cap_proc_signal_config_req
+0x51ad ml2cap_proc_signal_config_req_sdp
+0x51bb ml2cap_proc_signal_config_req_sdp_nsndreq
+0x51be ml2cap_proc_signal_config_req_rfcomm
+0x51c4 ml2cap_proc_signal_config_req_hid_ctrl
+0x51ca ml2cap_proc_signal_config_req_hid_int
+0x51cf mcfgrq_done
+0x51da mloop1
+0x51e0 mcrqdone
+0x51e1 ml2cap_proc_signal_disconn_req
+0x51fa ml2cap_proc_signal_disconn_sdp
+0x51ff ml2cap_proc_signal_disconn_hid_ctrl
+0x5201 ml2cap_proc_signal_disconn_hid_int
+0x5203 mclsrfc
+0x5205 mclssdp
+0x5213 ml2cap_proc_signal_disconn_rsp
+0x5227 ml2cap_proc_signal_disconn_rsp_sdp
+0x522a mdisdone
+0x522e ml2cap_proc_send_reject
+0x523a l2cap_get_req_id
+0x523e l2cap_get_req_id_ok
+0x5240 l2cap_malloc
+0x5247 l2cap_malloc_loop
+0x524f l2cap_malloc_next
+0x5255 l2cap_malloc_rtn
+0x5258 l2cap_malloc_fifo_out
+0x525d l2cap_malloc_free
+0x5264 l2cap_malloc_discard
+0x526e l2cap_malloc_is_fifo_full
+0x5271 l2cap_malloc_is_fifo_nearly_full
+0x5274 l2cap_malloc_is_fifo_empty
+0x5277 l2cap_malloc_fifo_get_first_ptr
+0x527a l2cap_malloc_free_loop
+0x527e l2cap_malloc_get_full_map
+0x5282 l2cap_malloc_get_full_map_loop
+0x5288 l2cap_malloc_into_fifo
+0x5295 l2cap_malloc_into_fifo_no_push
+0x5298 l2cap_malloc_into_fifo_loop
+0x52a0 l2cap_malloc_enough
+0x52a5 l2cap_malloc_enough_loop
+0x52b0 l2cap_malloc_enough_end
+0x52b6 l2cap_malloc_enough_rtn
+0x52b8 l2cap_malloc_signal_channel
+0x52c1 l2cap_get_signal_tx_buff
+0x52c3 l2cap_get_signal_tx_payload
+0x52c5 l2cap_malloc_sdp_channel
+0x52ce l2cap_get_sdp_tx_buff
+0x52d0 l2cap_get_sdp_tx_payload
+0x52d2 l2cap_malloc_rfcomm_channel
+0x52e0 l2cap_get_rfcomm_tx_buff
+0x52e2 l2cap_util_pdata_to_contw
+0x52e5 l2cap_lpm_save_calc_len
+0x52e9 l2cap_lpm_save_calc_len_loop
+0x52f5 l2cap_lpm_save_calc_len_end
+0x52f7 l2cap_lpm_get_wake_lock
+0x52f9 l2cap_lpm_put_wake_lock
+0x52fb l2cap_lpm_save_txbuf
+0x5306 l2cap_lpm_save_txbuf_loop
+0x530f l2cap_lpm_save_txbuf_nempty
+0x5318 l2cap_lpm_load_txbuf
+0x531f l2cap_lpm_load_txbuf_loop
+0x532e le_init_conn
+0x5340 le_init_master
+0x534c le_init_slave
+0x535c le_dispatch
+0x5360 le_conn_dispatch
+0x5366 le_master_dispatch
+0x5377 le_master_disconn
+0x537a le_slave_dispatch
+0x5388 le_slave_match
+0x5395 le_slave_cont
+0x539b le_slave_unsync
+0x53a0 le_check_md
+0x53a4 le_slave_more_data
+0x53a9 le_disconnect
+0x53af le_clear_connection_info
+0x53b7 le_got_first_packet
+0x53c4 le_enable
+0x53ce le_disable
+0x53d5 le_prep
+0x53de lerx_setfreq
+0x53e3 letx_setfreq
+0x53e4 letx_setfreq0
+0x53e6 le_setfreq
+0x53f3 le_ctf_normal
+0x53f6 le_ctf_low
+0x53f9 le_ctf_test
+0x53fc le_sca_map
+0x540c le_adv_access
+0x5413 le_setup
+0x541c le_setup_master
+0x5422 le_next_adv_channel
+0x5428 le_next_adv_channel_curr_channel_37
+0x542e le_next_adv_channel_curr_channel_38
+0x5434 le_next_adv_channel_curr_channel_39
+0x543a set_le_next_adv_channel_37
+0x543f set_le_next_adv_channel_38
+0x5444 set_le_next_adv_channel_39
+0x5449 le_context_nexthop
+0x5459 le_nexthop_nowrap
+0x545b le_calc_channel_map
+0x545f le_count_channels_loop
+0x5461 le_count_channels_notused
+0x5466 le_map_channel
+0x546c le_map_channel_next
+0x5472 le_map_channel_cont
+0x5474 le_map_channel_loop
+0x5477 le_map_channel_skip
+0x547c le_map_channel_end
+0x547f le_wait_tx
+0x5482 le_wait_master
+0x5485 le_receive_adv
+0x5489 le_receive_slave
+0x548e le_receive_packet
+0x548f le_receive_rxon
+0x549a le_receive_on_attempt
+0x54a1 le_receive_skip
+0x54ad lerx_loop
+0x54b1 lerx_nopayload
+0x54bf le_transmit_receive_sifs
+0x54c1 le_transmit_receive_sifs_notx
+0x54c7 le_transmit_norx
+0x54c9 le_transmit
+0x54cd le_transmit0
+0x54df letr_loop
+0x54e2 letr_nopayload
+0x54e9 le_send_adv_ind
+0x54f9 le_send_adv_direct_ind
+0x5504 le_send_adv_transmit
+0x550b le_send_scan_request
+0x551c le_send_scan_response
+0x552b le_connect_request
+0x5535 le_con_req_hop_retry
+0x5572 le_init_adv
+0x5575 le_update_param
+0x559d le_update_channel_map
+0x55aa le_acknowledge
+0x55bc le_ack_unenc
+0x55c0 le_check_wak
+0x55d2 le_set_enc
+0x55d6 le_clear_enc
+0x55e1 le_wait_adv
+0x55e8 le_scan
+0x5608 le_create_conn
+0x5619 le_scan_check_sender_addr_type
+0x561e le_prepare_tx
+0x5642 le_check_tx_md
+0x5649 le_check_continue
+0x5650 le_set_md
+0x5652 le_clear_md
+0x5654 le_update_tx_type
+0x5658 le_att_check_notification_enable
+0x5664 le_send_empty
+0x5666 le_send_packet
+0x5676 le_send_no_txlen
+0x567a get_lpm_wake_ble_rx_lock
+0x567c put_lpm_wake_ble_rx_lock
+0x567e le_parse
+0x568d le_parse_l2cap
+0x569a le_check_l2cap_complete
+0x569e le_check_l2cap_cid_legal
+0x56a9 le_check_l2cap_llid_start
+0x56bd le_check_l2cap_continue_legal
+0x56c1 le_check_l2cap_llid_continue
+0x56d7 le_get_search_att_type
+0x56d9 le_get_search_common
+0x56db le_get_search_common2
+0x56df le_get_search_att_uuid
+0x56e2 le_writeatt_cb
+0x56e4 le_supervision_update
+0x56ed le_supervision_flush
+0x56f0 le_adv
+0x56f2 le_adv_loop
+0x56f9 le_adv_loop_tx
+0x5706 le_adv_not_match
+0x5713 le_receive_window_size
+0x5728 le_parse_connect_req
+0x5756 le_init_attlist_search
+0x575f le_att_handle_inrange
+0x5768 le_att_handle_blank
+0x576a le_att_get_handle_ptr
+0x576d le_att_get_handle_ptr2
+0x5770 le_att_get_handle_loop1
+0x5779 le_att_get_handle_ptr_found
+0x577c le_att_get_short_uuid_ptr
+0x577f le_att_get_short_uuid_loop
+0x578a le_att_get_handle_info_from_ptr
+0x578c le_att_get_handle_info
+0x578e le_att_get_handle_info_fast
+0x5790 le_att_get_handle_loop
+0x5799 le_att_unfind_handle
+0x579a le_att_finded_handle
+0x57a3 le_modified_name
+0x57a6 le_modified_name_att_list
+0x57b5 le_name_length_longer_than_att
+0x57b8 le_modified_name_adv
+0x57c5 le_modified_name_adv_and_scan
+0x57d7 le_modified_name_adv_and_scan_store_data
+0x57dd le_modified_name_adv_and_scan_name_overflow
+0x57df le_modified_name_adv_loop
+0x57ea le_modified_name_adv_loop2
+0x57ee le_modified_name_adv_found_name
+0x57f0 memcpy_empty
+0x57f4 le_lpm_set_mult
+0x57f8 le_lpm_set_mult_attempt
+0x5806 le_lpm_lost
+0x580c le_set_config_fixed_tk
+0x580e le_clr_config_fixed_tk
+0x5810 le_set_config_fixed_ltk
+0x5812 le_clr_config_fixed_ltk
+0x5814 le_set_config_more_data
+0x5816 le_clr_config_more_data
+0x5818 le_set_config_read_authentication
+0x581a le_clr_config_read_authentication
+0x581c le_set_config_write_authentication
+0x581e le_clr_config_write_authentication
+0x5820 le_set_config_short_mult
+0x5822 le_clr_config_short_mult
+0x5824 le_set_config
+0x5828 le_clr_config
+0x582c le_set_fixed_ltk
+0x5839 le_set_justwork
+0x583f le_fifo_malloc_tx_empty
+0x5842 le_fifo_malloc_tx_ll
+0x5847 le_fifo_malloc_tx_l2cap
+0x5850 le_fifo_malloc_tx
+0x5855 le_fifo_malloc_tx_loop
+0x585a le_fifo_malloc_tx_got_empty
+0x5861 le_fifo_tx_find_empty_ptr
+0x5863 le_fifo_tx_find_empty_ptr_loop
+0x5869 le_fifo_tx_found_empty_ptr
+0x5873 le_fifo_get_first_tx_ptr
+0x5876 le_fifo_get_second_tx_ptr
+0x5879 le_fifo_get_last_tx_ptr
+0x587c le_fifo_get_last_tx_ptr0
+0x5884 le_fifo_get_first_l2cap_ptr
+0x5887 le_fifo_get_first_att_ptr
+0x588a le_fifo_get_last_att_ptr
+0x588d le_fifo_get_last_l2cap_ptr
+0x5890 le_fifo_check_full
+0x5892 le_fifo_check_nearly_full
+0x5894 le_fifo_check_empty
+0x5896 le_fifo_release_first_node
+0x589f le_fifo_release_first_node_loop
+0x58ab le_parse_att
+0x58ba le_send_att_exchange_mtu_requset
+0x58c1 le_parse_att_exchange_mtu_request
+0x58c2 le_send_att_exchange_mtu_response
+0x58c9 le_parse_att_exchange_mtu_response
+0x58cc le_parse_att_find_information_request
+0x58cf le_send_att_find_information_response
+0x58d1 le_send_att_find_information_res_loop
+0x58e1 le_send_att_find_information_res_store_info
+0x58ea le_send_att_find_information_res_cont
+0x58ed le_send_att_find_information_res_next
+0x58f0 le_send_att_find_information_res_end
+0x58f2 le_parse_att_find_by_type_value_request
+0x58fb le_start_end_handle_check_1
+0x5902 le_start_end_handle_check_1_fail
+0x5905 le_send_att_find_by_type_value_response
+0x590c le_send_att_find_by_type_value_res_primary
+0x5911 le_send_att_find_primary_search_loop
+0x5921 le_send_att_find_primary_search_loop1
+0x5925 le_send_att_error_response_notfound2
+0x5928 le_send_att_find_primary_search_end_start_handle_found
+0x5930 le_send_att_find_primary_search_end_ending_handle_found
+0x5936 le_send_att_find_primary_search_end
+0x593f le_parse_att_read_by_type_request
+0x5942 le_send_att_read_by_type_response
+0x5951 le_send_att_read_by_type_response_loop
+0x596b le_send_att_read_by_type_response_next_handle
+0x596d le_send_att_read_by_type_response_end
+0x596f le_send_att_read_by_type_res_found_next
+0x597d le_send_att_read_by_type_write_properties
+0x5984 le_send_att_read_by_type_write_uuid
+0x5990 le_send_att_read_by_type_res_not_characteristic
+0x5992 le_send_att_read_by_type_res_not_char_loop
+0x5998 le_send_att_read_by_type_res_not_char_common
+0x59a6 le_send_att_read_by_type_res_not_char_next
+0x59a8 le_send_att_read_by_type_res_device_name
+0x59bc le_parse_att_read_request
+0x59bf le_send_att_read_response
+0x59ca le_send_att_read_response_less
+0x59d3 le_send_device_name
+0x59dd le_send_att_read_response_check_auth
+0x59e4 le_parse_att_read_blob_request
+0x59e6 le_send_att_read_blob_response
+0x59f5 le_send_att_read_blob_response_less
+0x59fa le_parse_att_read_by_group_type_request
+0x59fd le_send_att_read_by_group_type_response
+0x5a05 le_send_att_read_by_group_type_response_loop
+0x5a19 le_send_att_read_by_group_type_store_write_record
+0x5a1f le_send_att_read_by_group_type_store_record
+0x5a23 le_send_att_read_by_group_type_next_handle
+0x5a25 le_send_att_read_by_group_type_end0
+0x5a28 le_send_att_read_by_group_type_end1
+0x5a2c le_send_att_read_by_group_type_end_common
+0x5a2f le_parse_att_write_request
+0x5a33 le_send_att_write_response_check_auth
+0x5a3d le_send_att_write_response
+0x5a42 le_check_encrypt_state
+0x5a48 le_parse_att_prepare_write_request
+0x5a4d le_send_att_prepare_write_response
+0x5a5b le_send_att_execute_write_response
+0x5a60 le_parse_att_write_command
+0x5a64 le_att_malloc_tx_notify
+0x5a6d le_att_malloc_tx_indication
+0x5a76 le_send_att_error_response_notfound
+0x5a77 le_send_att_error_response
+0x5a82 le_fifo_malloc_tx_l2cap_gatt
+0x5a84 le_att_next_handle
+0x5a88 le_att_check_handle_end
+0x5a8c le_att_same_type
+0x5a8e le_att_check_same_common
+0x5a94 le_att_same_uuid
+0x5a97 le_store_att_record
+0x5a9c le_write_att_record
+0x5aa1 le_write_att_record_common
+0x5aa5 le_send_auto_len_by_mem
+0x5ab1 le_get_search_handle_start_end_common
+0x5ab6 le_parse_signaling
+0x5abb le_l2cap_parse_conn_parameter_update_rsp
+0x5abf le_l2cap_tx_update_req
+0x5ac7 le_fifo_malloc_tx_l2cap_signaling
+0x5acf le_l2cap_update_signaling_identifier
+0x5ad3 le_l2cap_reset_signaling_identifier
+0x5ad5 le_pairing_mode_init
+0x5add le_set_pairing_mode_secure_justwork
+0x5adf le_set_pairing_mode_secure_numeric
+0x5ae2 le_set_pairing_mode_secure_passkey
+0x5ae4 le_set_no_pairing
+0x5ae5 le_set_noinputnooutput
+0x5ae7 le_set_pairing_mode_lagacy_just_work
+0x5ae9 le_set_pairing_mode_lagacy_passkey
+0x5aea le_set_displayonly
+0x5aec le_secure_connection_enable
+0x5af0 le_secure_connection_disable
+0x5af4 le_parse_smp
+0x5b02 le_send_smp_security_request
+0x5b09 le_parse_smp_pairing_request
+0x5b18 le_set_tk_0
+0x5b1b le_parse_smp_pairing_req_passkey
+0x5b1d le_genernate_tk
+0x5b24 le_parse_smp_pairing_req_fixed_passkey
+0x5b26 le_check_master_support_secure_connect
+0x5b2b le_send_smp_pairing_response
+0x5b30 le_parse_smp_pairing_confirm
+0x5b37 le_parse_smp_pairing_confirm_secure_passkey
+0x5b3d le_send_smp_pairing_confirm
+0x5b45 le_send_smp_pairing_confirm_sc
+0x5b4d le_parse_smp_pairing_random
+0x5b53 le_send_pairing_confirm_value_failed
+0x5b54 le_send_pairing_failed
+0x5b5a le_parse_smp_pairing_failed
+0x5b5f le_smp_pairing_fail_reason_not_support_pairing
+0x5b61 le_parse_smp_pairing_random_sc
+0x5b6c le_parse_smp_pairing_random_sc_passkey
+0x5b75 le_parse_smp_pairing_random_success
+0x5b7a le_send_smp_pairing_random
+0x5b80 le_parse_smp_encryption_information
+0x5b82 le_send_smp_encryption_information
+0x5b8a le_send_fixed_ltk
+0x5b8c le_send_smp_master_identification
+0x5b98 le_send_smp_identity_information
+0x5ba0 le_send_smp_identity_address_information
+0x5ba9 le_send_pairing_fail_unspecified_reason
+0x5bab le_check_init_key_distribution
+0x5baf le_parse_smp_identity_information
+0x5bb9 le_check_master_addr_type
+0x5bc0 le_parse_smp_identity_address_information
+0x5bc4 le_parse_smp_security_request
+0x5bc5 le_parse_smp_public_key
+0x5bca le_parse_smp_dhkey_check
+0x5bcf le_send_smp_pairing_public_key
+0x5bd5 le_send_smp_pairing_dhkey_check
+0x5bdb le_check_paring_time
+0x5be4 le_pairing_sm
+0x5bef le_pairing_sm_send_sec_req
+0x5bf5 le_pairing_sm_start
+0x5bf7 le_pairing_sm_rcv_pairing_req
+0x5bfb le_pairing_sm_after_auth
+0x5bfe le_pairing_sm_after_auth_start_enc
+0x5c07 le_pairng_sm_send_enc_information
+0x5c09 le_pairng_sm_send_master_indentification
+0x5c10 le_pairng_sm_send_indentity_information
+0x5c12 le_parse_start_enc_rsp_after_auth_end
+0x5c18 le_secure_connect_sm
+0x5c26 le_sc_sm_passkey_wait_confirm
+0x5c30 le_sc_sm_wait_confirm_gkey
+0x5c35 le_sc_confirm_gkey_ok
+0x5c39 le_sc_sm_receive_dhkey
+0x5c3d le_dhkey_ready
+0x5c41 le_dhkey_ready_common
+0x5c47 le_dhkey_check_fail
+0x5c49 le_dhkey_check_ok
+0x5c52 le_sc_sm_send_public_key
+0x5c55 le_sc_sm_ready_send_pairing_confirm
+0x5c56 le_sc_sm_send_public_key_passkey
+0x5c58 le_sc_sm_receive_public_key
+0x5c5c le_public_key_ready
+0x5c5f le_sc_sm_wait_send_public_key
+0x5c62 le_fifo_malloc_tx_l2cap_smp
+0x5c64 le_parse_ll
+0x5c7b le_parse_connection_update_req
+0x5c83 le_parse_channel_map_req
+0x5c8e le_parse_terminate_ind
+0x5c92 le_send_terminate_ind_user_terminated
+0x5c93 le_send_terminate_ind
+0x5c99 le_send_feature_rsp
+0x5c9f le_parse_version_ind
+0x5ca0 le_send_version_ind
+0x5ca6 le_parse_ping_req
+0x5ca8 le_send_ll_one_lenth
+0x5caa le_parse_enc_req
+0x5cbc le_parse_enc_req_after_auth
+0x5cbf le_parse_enc_req_fixed_ltk
+0x5cc4 le_ltk_lost
+0x5cc9 le_send_reject_ind
+0x5ccf le_send_enc_rsp
+0x5cdd le_send_start_enc_req
+0x5cdf le_send_start_enc_rsp
+0x5ce1 le_parse_enc_rsp
+0x5ce6 le_parse_start_enc_req
+0x5cea le_parse_start_enc_rsp
+0x5cef le_parse_pause_enc_req
+0x5cf3 le_send_pause_enc_rsp
+0x5cf5 le_parse_ping_rsp
+0x5cf6 init_lmp
+0x5cf7 init_lmp_work
+0x5d04 init_lmp_reinit
+0x5d07 parse_rx_done
+0x5d08 parse_lmp
+0x5d52 reject_unknown_packet
+0x5d53 reject_lmp_packet
+0x5d55 parse_lmp_clkoffset_req
+0x5d57 parse_enc_key_size_mask_req
+0x5d59 parse_lmp_set_afh
+0x5d66 parse_lmp_escape
+0x5d77 reject_unknown_ext_packet
+0x5d7a parse_lmpext_chn_classification_req
+0x5d7d parse_lmpext_iocap_req
+0x5d80 parse_lmpext_iocap_res
+0x5d82 iocap_lmpext_load
+0x5d86 iocap_lmpext_common
+0x5d88 parse_lmpext_accepted
+0x5d8d parse_lmpext_not_accepted
+0x5d92 parse_lmpext_accepted_ptt
+0x5d96 parse_lmpext_not_accepted_ptt
+0x5d9e parse_lmpext_pause_encrypt
+0x5da1 parse_lmpext_pause_encrypt_slave
+0x5da3 parse_lmpext_resume_encrypt
+0x5da5 parse_lmpext_features_req
+0x5da7 parse_lmpext_features_res
+0x5dad parse_lmpext_features_res_not_hci
+0x5db1 parse_lmp_accepted
+0x5dc2 parse_lmp_not_accepted
+0x5dcf parse_lmp_accepted_switch
+0x5dd2 parse_lmp_not_accepted_switch
+0x5dd8 parse_lmp_accepted_hostconn
+0x5dde parse_lmp_accepted_hostconn_ctn
+0x5de2 parse_lmp_not_accepted_hostconn
+0x5de7 parse_lmp_accepted_inrand
+0x5dee parse_lmp_accepted_enc_mode
+0x5df4 parse_lmp_accepted_enc_keysize
+0x5df5 parse_lmp_accepted_start_enc
+0x5dfd parse_lmp_accepted_stop_enc
+0x5dfe parse_lmp_not_accepted_aurand_send_detach
+0x5e01 parse_lmp_not_accepted_inrand
+0x5e07 parse_lmp_inrand_key_missing
+0x5e0a parse_lmp_not_accepted_name_req
+0x5e0b parse_lmp_not_accepted_simple_pairing_number
+0x5e0e parse_lmp_not_accepted_dhkey_check
+0x5e11 parse_lmp_not_accepted_unsniff_req
+0x5e13 parse_lmp_accepted_unsniff_req
+0x5e16 parse_lmp_accepted_sniff_req
+0x5e22 parse_lmp_not_acdcept_sniff_req
+0x5e24 parse_lmp_crypt_key
+0x5e27 parse_lmp_setup_complete
+0x5e2d parse_lmp_max_slot
+0x5e2e parse_lmp_max_slot_req
+0x5e36 parse_lmp_detach
+0x5e38 accept_lmp_msg
+0x5e3a parse_lmp_incr_power
+0x5e3c parse_lmp_decr_power
+0x5e3e parse_lmp_version_res
+0x5e42 parse_lmp_auto_rate
+0x5e43 parse_lmp_in_rand
+0x5e4e parse_lmp_inrand_res
+0x5e52 pop_tid_follow
+0x5e56 push_tid_follow
+0x5e5a parse_lmp_au_rand_moudle
+0x5e5f parse_lmp_au_rand
+0x5e6a parse_lmp_sres
+0x5e73 authentication_ok
+0x5e77 authentication_ok_common
+0x5e81 authentication_ok_conn_sm
+0x5e86 parse_lmp_comb_key
+0x5e90 parse_lmp_name_res
+0x5ea0 parse_lmp_name_res_end
+0x5ea5 parse_lmp_name_req
+0x5ea9 parse_lmp_conn_req
+0x5eaa parse_lmp_timing_accuracy_req
+0x5eac parse_lmp_features_req
+0x5eae parse_lmp_version_req
+0x5eb0 parse_lmp_supervision_timeout
+0x5eb1 parse_lmp_sniff_subrating_req
+0x5ebf parse_lmpext_packet_type_table_req
+0x5eca parse_lmp_min_power
+0x5ecb parse_lmp_page_mode_req
+0x5ecc parse_lmp_page_scan_mode_req
+0x5ecd parse_lmp_slot_offset
+0x5ed0 parse_lmp_sniff_req_check_sniff_para
+0x5ed6 parse_lmp_sniff_req
+0x5eed set_big_value_to_attempt
+0x5ef0 lmp_reject_sniff
+0x5ef2 parse_lmp_start_encryption_req
+0x5ef6 parse_lmp_stop_encryption_req
+0x5ef8 parse_lmp_switch_req
+0x5efd parse_lmp_switch_req_not_accept
+0x5f01 parse_lmp_switch_req_clear_mark
+0x5f04 parse_lmp_switch_accept
+0x5f0a parse_lmp_use_semi_permanend_key
+0x5f0b parse_lmp_unsniff_req
+0x5f10 parse_lmp_encapsulated_header
+0x5f19 parse_lmp_encapsulated_header_master
+0x5f1c parse_lmp_encapsulated_header_reject
+0x5f1e parse_lmp_accepted_encapsulated_header
+0x5f20 parse_lmp_accepted_simple_pairing_number
+0x5f23 parse_lmp_accepted_simple_pairing_number_common
+0x5f27 parse_lmp_accepted_simple_pairing_number_ssp_pin
+0x5f2b parse_lmp_accepted_simple_pairing_number_passkey
+0x5f31 authentication_passkey
+0x5f3b authentication_passkey_end
+0x5f3d parse_lmp_accepted_dhkey_check
+0x5f3e pairing_success
+0x5f43 parse_lmp_accepted_dhkey_check_common
+0x5f4b parse_simple_pairing_confirm
+0x5f51 parse_lmp_encapsulated_payload
+0x5f55 parse_encapsulated_payload_master
+0x5f62 parse_lmp_encapsulated_payload_completed
+0x5f68 parse_lmp_encapsulated_payload_reject
+0x5f6a parse_lmp_accepted_encapsulated_payload
+0x5f6e parse_lmp_encapsulated_payload_all_accepted
+0x5f75 parse_lmp_encapsulated_payload_all_accepted_get_passkey
+0x5f77 parse_lmp_encapsulated_payload_all_accepted_master
+0x5f78 parse_lmp_simple_pairing_number
+0x5f7c parse_lmp_simple_pairing_number_master
+0x5f86 parse_lmp_simple_pairing_number_master0
+0x5f88 parse_lmp_simple_pairing_number_reject
+0x5f8a parse_dhkey_check
+0x5f8e parse_dhkey_check_master
+0x5f95 number_comparison_successed
+0x5f9a parse_dhkey_check_master0
+0x5f9d parse_lmp_dhkey_check_reject
+0x5f9f number_comparison_mode
+0x5fa4 comparison_result
+0x5fa7 parse_lmp_clkoffset_res
+0x5fa8 parse_lmp_encryption_mode_req
+0x5fb3 parse_lmp_features_res
+0x5fb4 parse_lmp_features_res_not_hci
+0x5fba parse_lmp_send_conn
+0x5fbc parse_lmp_test_activate
+0x5fc1 parse_lmp_test_control
+0x5fc6 parse_lmp_test_xor
+0x5fda parse_lmp_test_control_exit
+0x5fdf parse_lmp_test_control_pattern
+0x5fe6 parse_lmp_test_control_loopback_nowhite
+0x5fe7 parse_lmp_test_control_loopback
+0x5ff3 parse_lmp_test_control_pause
+0x5ff9 lmp_copy_rand
+0x5ffc lmp_generate_key
+0x5ffe lmp_start_encryption
+0x6001 lmp_accept_inrand
+0x6006 lmp_disconnect
+0x600a send_lmp
+0x6010 send_lmp0
+0x603d send_lmp_error
+0x603f send_lmp_escape
+0x604a send_lmp_accepted
+0x6059 send_create_conn_start_l2cap_timer_sm
+0x605f send_lmp_accept_sniff_req
+0x6060 send_lmp_not_accepted
+0x6068 send_not_accept_aurand
+0x606d send_lmpext_accepted
+0x6076 send_lmpext_not_accepted
+0x6080 send_lmp_accepted_inrand
+0x6084 send_lmp_accepted_enc_mode
+0x608b send_lmp_accepted_enc_start
+0x608d send_lmp_accepted_enc_exit
+0x608f send_lmp_accepted_enc_key
+0x6092 send_lmp_accepted_connection
+0x6098 send_lmp_accept_dhkey_check
+0x6099 send_lmpext_features_res
+0x60a4 send_lmpext_io_cap_res
+0x60af responder_iocap_keyboard_only
+0x60b5 responder_iocap_display_yesno
+0x60bb responder_iocap_no_input_no_output
+0x60c1 set_ssp_mode_justwork
+0x60c5 set_ssp_mode_numeric_comparison
+0x60c7 set_ssp_mode_passkey
+0x60c9 classic_bt_set_reject_justwork_flag
+0x60cb classic_bt_clr_reject_justwork_flag
+0x60cd classic_bluetooth_set_flag
+0x60d1 classic_bluetooth_clr_flag
+0x60d5 send_lmp_io_cap_req
+0x60da send_lmpext_sniff_subrating_req
+0x60db send_lmpext_sniff_subrating_res
+0x60e4 send_lmp_name_res
+0x60ec send_lmp_name_res_offset_ok
+0x60f4 send_lmp_timing_accuracy_res
+0x60f9 send_lmp_clkoffset_res
+0x60ff send_lmp_clkoffset_res_master
+0x6103 send_lmp_version_res
+0x6108 send_lmp_features_res
+0x610d send_lmpext_features_req
+0x6118 send_lmpext_packet_type_table_req
+0x6124 ssp_enable
+0x612b ssp_disable
+0x6132 afh_init
+0x613c afh_open_all_channels
+0x6140 afh_reset_map
+0x6147 afh_clear_error_counter
+0x614a afh_set_send_flag
+0x614e send_lmpext_pause_encryption_req
+0x6152 send_lmp_detach
+0x6157 prepare_disconnect
+0x615c send_lmp_no_payload
+0x615f send_lmp_nopayload_reply
+0x6162 send_lmp_encryption_mode_req
+0x616a send_lmp_superto
+0x616f send_lmp_name_req
+0x6175 send_lmp_test_control
+0x6179 send_lmp_test_control_loop
+0x617e send_lmp_quality_of_service_req
+0x617f send_lmp_unit_key
+0x6180 send_lmp_slot_offset
+0x6191 send_lmp_slot_offset_reply
+0x6195 send_lmp_switch_req
+0x6199 switch_on_native
+0x619a switch_slack
+0x61a4 send_lmp_sniff_req
+0x61aa send_lmp_timing_accuracy_req
+0x61af send_lmp_unsniff_req
+0x61b2 send_lmp_max_slot
+0x61b7 send_lmp_max_slot_req
+0x61bc send_lmp_inc_power
+0x61c1 send_lmp_setup_complete_by_module
+0x61c3 send_lmp_setup_complete
+0x61d4 send_lmp_setup_complete_has_sent
+0x61d6 send_lmp_version_req
+0x61db send_lmp_features_req
+0x61e0 sp_master_send_io_cap_get
+0x61e5 sp_master_send_io_cap_send
+0x61e9 sp_master_send_lmp_encapsulated_header
+0x61ed sp_master_commitment_compare
+0x61f7 sp_master_commitment_compare_success
+0x61fb sp_master_send_lmp_simple_pairing_number
+0x61fd sp_send_lmp_encapsulated_header
+0x61ff send_lmp_encapsulated_header
+0x620b send_lmp_encapsulated_payload
+0x621a sp_send_lmp_simple_pairing_comfirm
+0x621d send_lmp_simple_pairing_comfirm
+0x6225 sp_send_lmp_simple_pairing_number
+0x6227 send_lmp_simple_pairing_number
+0x6233 master_sp_sm_end
+0x6234 sp_aurand_send
+0x6239 master_sp_send_lmp_dhkey_check
+0x623a sp_send_lmp_dhkey_check
+0x623c send_lmp_dhkey_check
+0x6246 send_lmp_enc_key_size_mask_res
+0x624b send_lmp_auto_rate
+0x624c send_lmp_clkoffset_req
+0x624d send_lmp_quality_of_service
+0x624e send_lmp_test_activate
+0x624f send_lmp_comb_key
+0x6259 send_lmp_inrand
+0x625c send_lmp_rand
+0x6264 send_lmp_aurand
+0x626a send_lmp_aurand_notpairing
+0x626b send_lmp_aurand_common
+0x626d send_lmp_sres
+0x627c send_lmp_sres_master
+0x627e send_lmp_sres_startenc
+0x6284 send_lmp_sres_startenc_slave
+0x6288 send_lmp_start_encryption
+0x628f send_lmp_stop_encryption_req
+0x6292 send_lmp_encryption_key_size_req
+0x6298 msg_send_lmp
+0x62a0 send_lmpext
+0x62a7 send_lmp_follow
+0x62ad send_lmp_tid
+0x62b0 send_lmp_reply
+0x62b2 send_lmp_request
+0x62b3 send_lmp_end
+0x62b7 send_lmp_exit
+0x62bc lmo_fifo_check
+0x62c1 lmo_fifo_process
+0x62c7 lmo_fifo_process_lmo0empty
+0x62d1 lmo_fifo_process_lmo2to1
+0x62d7 lmo_fifo_process_lmo1_empty
+0x62e2 special_tid_store
+0x62eb tid_reply
+0x62ef tid_initiate
+0x62f3 tid_check
+0x62f8 tid_set_reply
+0x62fc check_localsm
+0x62ff setlocalsm_master
+0x6303 setlocalsm_slave
+0x6307 check_localsm_master
+0x630b generate_random_number
+0x630c generate_random
+0x630d generate_random_loop
+0x6311 generate_linkkey
+0x631b process_conn_sm
+0x631e process_conn_sm_continue
+0x633a host_create_conn_done
+0x6340 host_conn_judge_encrypt
+0x6344 host_create_conn_done_wait
+0x6349 host_create_conn_auth
+0x634f host_create_conn_auth_wait
+0x6350 host_create_conn_pairing
+0x6355 host_create_conn_pairing_wait
+0x6356 host_creat_conn_send_feat_ext
+0x6359 host_create_conn_send_version
+0x635c host_creat_conn_wait_switch
+0x6364 host_create_conn_switch_accept
+0x6366 host_create_conn_send_features
+0x6369 host_create_conn_send_switch
+0x636f host_create_conn_send_conn_req
+0x6374 host_create_conn_wait_accept
+0x637a host_create_conn_resend
+0x637c host_create_conn_waiting
+0x637d host_create_conn_switch
+0x6386 host_create_conn_send_setup_complete
+0x6389 host_create_conn_wait_setup_complete
+0x638d host_create_conn_wait_setup_complete_rtn
+0x638f host_create_conn_master_detach
+0x6394 host_create_conn_send_detach
+0x6398 host_create_conn_auth_pair
+0x639b host_create_conn_sm_done
+0x639d host_create_conn_auth_pair_true
+0x63a9 host_create_conn_auth_pair_nokey
+0x63b0 host_create_conn_auth_pair_wait
+0x63b1 host_create_conn_encrypt
+0x63b5 host_create_conn_encrypt_start
+0x63ba host_create_conn_encrypt_wait
+0x63be host_create_conn_encrypt_wait_clear
+0x63c0 host_auth
+0x63c5 remote_auth
+0x63cb pincode_reinit
+0x63d1 twspi_reset
+0x63e0 twspi_reset2
+0x63ee twspi_disable
+0x63f2 twspi_enable
+0x63f6 twspi_enable2
+0x63fb sensor_read
+0x6405 sensor_write
+0x640d spi_ncs_gpio_init
+0x640f spi_ncs_enable
+0x6411 spi_ncs_disable
+0x6413 twspi_write
+0x6414 twspi_read
+0x6415 read_function_aes
+0x6419 read_function
+0x641c read_fuction_zero
+0x641e get_block_header
+0x641f get_block_header0
+0x6429 read_first_block
+0x6430 get_iv
+0x643c load_storage
+0x6446 load_storage_loop
+0x644d reload_eeprom
+0x6452 reload_eeprom_loop
+0x645b loadcode
+0x646e loadcode_otp
+0x646f loadcode_otp_2
+0x647b loadcode_iic
+0x647d loadcode_iic_2
+0x6486 loadcode_iic_eeprom_2k
+0x648e loadcode_spi
+0x648f loadcode_spi_2
+0x649b loadcode_hci
+0x649d loadcode_hci_enc
+0x64a1 loadcode_hci_loop
+0x64a3 clear_key_buf
+0x64aa loadcode_iic_by_eeprom
+0x64b0 loadcode_check_times
+0x64b6 loadcode_error
+0x64b9 set_ucode_status
+0x64c0 decrypt_code
+0x64c3 decrypt_code_loop
+0x64c6 decrypt_code_skip
+0x64ca load_ucode
+0x64d2 load_ucode_loop
+0x64d7 spid_init
+0x64da spid_init2
+0x64dd spid_init_common
+0x64e6 spid_reset
+0x64ec spid_write_reg
+0x64f3 spid_read_reg
+0x64f4 spid_read_regs
+0x64fc wait_spid_done
+0x6502 spid_init_flash
+0x650b spid_unlock_flash
+0x6514 flash_write
+0x651b flash_write_spi_sm_timer
+0x6522 flash_write_start
+0x6528 flash_erase_sector
+0x6530 flash_wait_erase_sector
+0x6537 flash_write_data
+0x653d flash_wait_write_data
+0x6545 flash_data_recover
+0x654a flash_data_preserve
+0x6552 spid_write_flash
+0x6556 spid_write_flash_common
+0x6562 spid_read_flash
+0x6574 spi_read_flash_wait
+0x6578 spid_load_flash
+0x6585 spi_load_flash_wait
+0x659a soft_reset_chip
+0x659c iic_init_390k
+0x65a3 iicd_init_12m
+0x65a9 iicd_init_gpio
+0x65b0 wait_iicd_done
+0x65b3 iicd_read_data
+0x65bf set_eeprom_size_2k
+0x65c2 clear_eeprom_size_2k
+0x65c5 iicd_read_eep_data_size_2k
+0x65c9 iicd_read_eep_size_2k_lcadcode
+0x65cc iicd_read_eep_size_2k
+0x65d1 iicd_write_protect_eep_data
+0x65d6 iicd_eeprom_write_enable
+0x65db iicd_wp_gpio_output_low
+0x65dd iicd_eeprom_write_disable
+0x65df iicd_read_eep_data
+0x65e5 iicd_read_eep
+0x65eb iicd_read_eep_common
+0x6601 iicd_read_eep_load_code_size_2k
+0x6606 iicd_write_eep_data
+0x6608 iicd_write_ota_data
+0x660d iicd_write_eep_loop
+0x661d iicd_eep_transparency
+0x662f iicd_eep_deal_short_packet
+0x6634 iicd_write_eep_size_2k
+0x663d iicd_write_eep
+0x664a iicd_write_eep_common
+0x6653 iic_check_eeprom_standby
+0x6655 iic_check_eeprom_standby_wait
+0x666a otp_enable_chgpump
+0x666d otp_disable_chgpump
+0x666f otp_set_addr
+0x6673 otp_write
+0x6675 otp_program
+0x6678 otp_program_bit
+0x6697 otp_skip_0
+0x66a0 otp_ce
+0x66a6 otpd_read_init
+0x66b0 otpd_wait_end
+0x66b3 otpd_read_data
+0x66b8 otpd_read_code
+0x66c2 uartd_prepare_tx
+0x66c5 uartd_send
+0x66c8 uartd_rxdone
+0x66cb uartd_prepare_rx
+0x66ce uart_set_baud_by_mem
+0x66d1 uart_copy_tx_bytes_fast
+0x66d3 uart_copy_tx_bytes_fast_loop
+0x66d8 uart_copy_tx_bytes_fast_loop_four
+0x66de uart_tx_8_bytes
+0x66e1 uart_tx_4_bytes
+0x66e4 uart_copy_tx_bytes
+0x66e6 uart_copy_tx_bytes_loop
+0x66ea uart_copy_rx_bytes_fast
+0x66ec uart_copy_rx_bytes_fast_loop
+0x66f1 uart_copy_rx_bytes_fast_loop_four
+0x66f7 uart_rx_8_bytes
+0x66fa uart_rx_4_bytes
+0x66fd uart_copy_rx_bytes
+0x66ff uart_copy_rx_bytes_loop
+0x6703 uart_copy_rx2tx
+0x6705 uart_copy_rx2tx_loop
+0x6709 app_store_nvram_event
+0x670b check_51cmd_update_device_record
+0x6711 write_device_record
+0x6715 write_device_loop_find
+0x6721 write_device_loop_find0
+0x6725 set_index_finded_device
+0x672b set_index_find_device_master_addr
+0x6730 store_rec_data_common
+0x6733 set_index_finded_device_ble_mode
+0x6737 set_index_finded_device_irk
+0x6739 store_ble_rec_data_common
+0x673b set_index_finded_device_ediv
+0x673e nvram_find_addr_from_bd_list
+0x6743 find_addr_from_bd_list_ble_mode
+0x674d find_addr_from_bd_list_static_addr
+0x6750 find_addr_from_bd_list_random_non_resolvable_private_address
+0x6752 find_addr_from_bd_list_random_addr
+0x6754 find_addr_from_bd_list_spp_mode
+0x6757 find_addr_from_bd_list_common
+0x675f nvram_find_addr_from_list
+0x676f nvram_find_addr_from_list_compare
+0x6771 find_master_addr_from_list_compare
+0x6776 find_addr_from_list_compare_ble_mode
+0x6779 find_irk_form_list_compare
+0x678b genernate_master_macaddress
+0x6794 find_ediv_form_list_compare
+0x67a3 check_nvram
+0x67a9 init_device_list
+0x67ad init_device_list_loop
+0x67b2 load_device_list
+0x67bc clear_key_exists
+0x67be load_device_list_mode_4
+0x67ca clear_ltk_exists
+0x67cc eeprom_store_le_reconn_info
+0x67d0 eeprom_store_bd_reconn_info
+0x67d3 eeprom_store_reconn_info
+0x67d7 check_link_key_load
+0x67dd gpio_set_wake_by_current_state
+0x67e1 gpio_set_wake
+0x67ed gpio_clr_wake
+0x67f9 gpio_config_input_nowake
+0x67fb gpio_config_input
+0x67fe gpio_config_input_without_wake
+0x6806 gpio_set_high_impedance
+0x680e gpio_config_output
+0x6812 gpio_config_output0
+0x6815 gpio_common
+0x681b gpio_check_active
+0x681d gpio_get_bit
+0x681e get_bit_common
+0x6823 gpio_get_bit_reverse
+0x6825 gpio_out_inactive
+0x6829 gpio_out_active
+0x682c gpio_out_flag
+0x682f gpio_out
+0x6830 gpio_set_bit
+0x6835 gpio_set_before_lpm_common
+0x6874 neglect2_from_6_pin
+0x6876 neglect4_from_9_pin
+0x6878 neglact4_from_23_pin
+0x687a neglact2_form_25_pin
+0x687c neglact2_form_30_pin
+0x687e neglact2_form_2_pin
+0x6880 neglact_1_pin
+0x6882 neglact_4_pin
+0x6884 neglect_2_pin
+0x6885 neglect_pin_loop
+0x6889 gpio_cfg_uart_tx_output
+0x688c gpio_pu_uart_tx
+0x688f gpio_rx_config_input_with_pu
+0x6895 gpio_uart2gpio
+0x6899 gpio_check_uart_state
+0x689c load_chip_option
+0x68a2 load_adc_init
+0x68a8 adc_init_data
+0x68af adc_init_data_vinlpm
+0x68b8 adc_check_data_vinlpm
+0x68bc adc_check_2v_vinlpm
+0x68c0 set_vdd_reference_voltage_1v
+0x68c3 adc_init_data_hvin
+0x68cc adc_check_data_hvin
+0x68d0 adc_check_1v_hvin
+0x68d4 set_vdd_reference_voltage_4v
+0x68d7 adc_init_data_io
+0x68e0 adc_check_data_io
+0x68e4 adc_check_0_5v_io
+0x68e8 set_vdd_reference_voltage_0_5v
+0x68eb adc_set_mode
+0x68f0 adc_check_vinlpm
+0x68f2 adc_check_hvin
+0x68f4 adc_check_gpio
+0x68f8 read_adc
+0x6908 vdd_calculate_by_mode
+0x690e vdd_calculate_vinlpm
+0x6912 vdd_calculate_hvin
+0x6916 vdd_calculate_io
+0x691a vdd_calculate
+0x6923 vdd_calculate2
+0x6927 vdd_calculate1
+0x6930 adc_bat_percent_lowpower_out
+0x6940 adc_set_low_power_flag
+0x6944 adc_set_no_power_flag
+0x6948 keyscan_key_init
+0x694a keyscan_key_init_next
+0x694f keyscan_key_init_lp1
+0x6953 keyscan_key_init_end
+0x6954 keyscan_scan_key
+0x6959 keyscan_scan_key_lp1
+0x6964 keyscan_scan_key_lp1_next
+0x696c keyscan_process_lpm_before
+0x696e keyscan_process_lpm_before_next
+0x6973 keyscan_process_lpm_before_lp1
+0x6977 keyscan_process_lpm_before_end
+0x6978 keyscan_key_process
+0x6983 keyscan_key_process_next
+0x698c keyscan_key_lp1
+0x6998 keyscan_key_lp1_next
+0x69a1 keyscan_send_key_data
+0x69a6 pwm_init
+0x69ae pwm_out_set
+0x69be pwm_duty_cycle_set
+0x69c4 pwm_pwm0_duty_set
+0x69c6 pwm_pwm1_duty_set
+0x69c8 pwm_pwm2_duty_set
+0x69ca pwm_pwm3_duty_set
+0x69cc pwm_pwm4_duty_set
+0x69ce pwm_pwm5_duty_set
+0x69d0 pwm_set_pncnt
+0x69d5 pwm_enable
+0x69d7 pwm_disable
+0x69d8 pwm_gpio_set
+0x69e3 pwm_gpio4_set
+0x69e5 pwm_gpio5_set
+0x69e7 pwm_gpio27_set
+0x69e9 pwm_gpio28_set
+0x69eb pwm_gpio3_set
+0x69ed pwm_gpio8_set
+0x69ef pwm_gpio20_set
+0x69f1 pwm_gpio21_set
+0x69f3 pwm_gpio22_set
+0x69f5 pwm_gpio23_set
+0x69f7 pwm_set_select
+0x69ff pwm_one_set_select
+0x6a01 pwm_tw0_set_select
+0x6a03 rfcomm_init
+0x6a0d rfcomm_init_spp
+0x6a16 rfcomm_init_spp_with_credit
+0x6a18 set_cr_bit
+0x6a1a rfcomm_calculate_fcs_sabm
+0x6a26 rfcomm_calculate_fcs_ua
+0x6a2f rfcomm_calculate_fcs_dlci0
+0x6a33 rfcomm_calculate_fcs_dlci0_res
+0x6a35 rfcomm_save_fcs_uih
+0x6a44 caculate_uihdata_fcs
+0x6a50 caculate_fcs
+0x6a5d mod2div
+0x6a61 mod2div_loop
+0x6a66 mod2div_not_enough_reduction
+0x6a70 mod2div_end
+0x6a72 get_rfcomm_snd_adss
+0x6a73 dlci_to_address_cmd
+0x6a79 channel_to_dlci
+0x6a7d rfcomm_rx_process_dlci0_sabm
+0x6a86 rfcomm_rx_process_dlci0_ua
+0x6a8a rfcomm_rx_process
+0x6a8e rfcomm_rx_process_remote_page
+0x6a94 parse_dlci0_rp
+0x6a9b parse_dlci0_rp_uih
+0x6aa5 parse_dlci0_rp_uih_pn_cmd
+0x6aa7 parse_dlci0_rp_uih_pn_cmd_spp
+0x6aad parse_dlci0_rp_uih_pn_res
+0x6aaf parse_dlci0_rp_uih_pn_res_common
+0x6ab1 get_rfcomm_param_modem_status
+0x6ab8 get_rfcomm_head_struct
+0x6abe get_rfcomm_current_length
+0x6ac3 get_rfcomm_uih_head_struct
+0x6acb get_param_payload_ptr
+0x6ace get_rfcomm_length_common
+0x6ad7 get_rfcomm_prarmer_negotiation
+0x6ae6 parse_dlci0_rp_uih_ms_cmd
+0x6ae8 parse_dlci0_rp_uih_ms_cmd_spp
+0x6af2 parse_dlci0_rp_uih_ms_res
+0x6af9 parse_dlci0_rp_uih_ms_res_spp
+0x6afd parse_dlci0_rp_uih_cmd_port
+0x6b18 parse_uih_rp
+0x6b19 parse_uih_rp_spp
+0x6b21 parse_uih_rp_spp_ua
+0x6b25 parse_uih_rp_spp_sabm
+0x6b37 parse_uih_spp_uih_credits
+0x6b3f parse_uih_spp_uih
+0x6b40 parse_uih_spp_uih_cont
+0x6b44 parse_uih_rp_spp_disconn_send_event
+0x6b46 parse_uih_rp_spp_disconn
+0x6b4c rfcomm_rx_process_reconn
+0x6b52 parse_dlci0_reconn
+0x6b58 parse_dlci0_reconn_uih
+0x6b61 parse_dlci0_reconn_uih_pn_cmd
+0x6b68 parse_dlci0_reconn_uih_pn_cmd_spp
+0x6b6c parse_dlci0_reconn_uih_ms_cmd
+0x6b73 parse_dlci0_reconn_uih_ms_cmd_spp
+0x6b7c parse_dlci0_reconn_uih_ms_res
+0x6b82 parse_dlci0_reconn_uih_ms_res_spp
+0x6b86 parse_uih_reconn
+0x6b8c parse_uih_reconn_spp
+0x6b91 parse_uih_reconn_spp_ua
+0x6b95 parse_uih_reconn_spp_sabm
+0x6b96 parse_uih_reconn_spp_disconn
+0x6b97 rfcomm_rx_process_end
+0x6b98 rfcomm_send_more_pkt
+0x6b9c rfcomm_send_more_pkt_msc_cmd_spp
+0x6ba1 rfcomm_send_more_pkt_msc_cmd_spp0
+0x6ba9 rfcomm_send_sabm
+0x6bb6 rfcomm_send_ua
+0x6bc4 rfcomm_send_param_neg_cmd
+0x6be0 rfcomm_send_param_neg_res
+0x6bfc rfcomm_send_modem_status_cmd
+0x6c11 rfcomm_send_modem_status_res
+0x6c28 rfcomm_send_uih_without_payload
+0x6c42 rfcomm_increase_credit_given
+0x6c4b spp_process_rx_data
+0x6c4d spp_tx_rfcomm_packet
+0x6c57 ssp_tx_rfcomm_from_uart
+0x6c5f ssp_tx_rfcomm_from_uart_without_credit
+0x6c64 ssp_tx_rfcomm_from_uart_common
+0x6c6b ssp_tx_rfcomm_from_uart_common0
+0x6c95 ssp_tx_write_length
+0x6c9d ssp_tx_write_long_packet
+0x6ca6 ssp_tx_write_given_credit
+0x6caa scheduler_process
+0x6cbb scheduler_process0
+0x6cbe scheduler_tx_disconnect_hid
+0x6cc2 scheduler_tx_l2cap_pkt
+0x6cdd scheduler_tx_l2cap_start_pkt
+0x6ce9 scheduler_tx_l2cap_last_pkt
+0x6ceb scheduler_tx_l2cap_pkt_end
+0x6cef scheduler_start_upper_sm
+0x6cf3 scheduler_start_upper_sm_hid
+0x6cf5 process_upper_sm
+0x6cf7 process_upper_sm_remote_page
+0x6cfa process_upper_sm_rp_wait
+0x6cfb process_upper_sm_reconn
+0x6d1a process_upper_sm_reconn_wait
+0x6d1b process_upper_sm_reconn_sdp_conn
+0x6d21 process_upper_sm_reconn_sdp_cfg
+0x6d2b process_upper_sm_reconn_ss_spp
+0x6d30 process_upper_sm_reconn_sdp_disconn
+0x6d33 process_upper_sm_reconn_hid_ctrl_conn
+0x6d39 process_upper_sm_reconn_hid_ctrl_cfg
+0x6d3f process_upper_sm_reconn_hid_int_conn
+0x6d45 process_upper_sm_reconn_hid_int_cfg
+0x6d4b process_upper_sm_reconn_rfcomm_conn
+0x6d51 process_upper_sm_reconn_rfcomm_cfg
+0x6d57 process_upper_sm_reconn_rfcomm_sabm
+0x6d5d process_upper_sm_reconn_spp_cmd_pn
+0x6d63 process_upper_sm_reconn_spp_sabm
+0x6d6e process_upper_sm_reconn_spp_cmd_ms
+0x6d74 process_upper_sm_reconn_sdp_conn_wait
+0x6d78 process_upper_sm_reconn_sdp_cfg_wait
+0x6d7b process_upper_sm_reconn_ss_spp_wait
+0x6d80 process_upper_sm_reconn_sdp_disconn_wait
+0x6d86 process_upper_sm_reconn_hid_ctrl_conn_wait
+0x6d8a process_upper_sm_reconn_hid_ctrl_cfg_wait
+0x6d8e process_upper_sm_reconn_hid_int_conn_wait
+0x6d92 process_upper_sm_reconn_hid_int_cfg_wait
+0x6d97 process_upper_sm_reconn_rfcomm_conn_wait
+0x6d9b process_upper_sm_reconn_rfcomm_cfg_wait
+0x6d9f process_upper_sm_reconn_rfcomm_sabm_wait
+0x6da4 process_upper_sm_reconn_spp_cmd_pn_wait
+0x6da8 process_upper_sm_reconn_spp_sabm_wait
+0x6dac process_upper_sm_reconn_spp_cmd_ms_wait
+0x6daf process_upper_sm_reconn_setup_hid
+0x6db1 process_upper_sm_reconn_setup_rfcomm
+0x6db3 process_upper_sm_reconn_setup_spp
+0x6db5 process_upper_sm_reconn_termination
+0x6db7 upper_sm_send_sdp_conn
+0x6dbe upper_sm_send_sdp_cfg
+0x6dc3 upper_sm_send_sdp_disconn
+0x6dcd upper_sm_send_ss_spp
+0x6dd1 upper_sm_send_rfcomm_conn
+0x6dd8 upper_sm_send_rfcomm_cfg
+0x6ddd upper_sm_send_hid_ctrl_conn
+0x6de4 upper_sm_send_hid_ctrl_cfg
+0x6de9 upper_sm_send_hid_int_conn
+0x6df0 upper_sm_send_hid_int_cfg
+0x6df5 upper_sm_send_rfcomm_sabm
+0x6dfc upper_sm_send_spp_cmd_pn
+0x6e02 upper_sm_send_spp_sabm
+0x6e0c upper_sm_send_spp_cmd_ms
+0x6e11 sdp_process
+0x6e2c sdp_process_ss_req
+0x6e4c ss_req_loop
+0x6e4f ss_req_blank
+0x6e54 sdp_process_sa_req
+0x6e5f sa_isnot_wholerange
+0x6e62 sa_judge_wholerange
+0x6e6b sa_judge_wholerange_false3
+0x6e6d sa_judge_wholerange_false2
+0x6e6f sa_judge_wholerange_false1
+0x6e71 sa_req_loop
+0x6e74 sa_req_range
+0x6e7a sa_req_range_id_increase
+0x6e83 sa_req_range_id_finish
+0x6e86 sa_req_one_id
+0x6e8b sa_req_check_next_id
+0x6e92 sa_req_handle_attributelist_next
+0x6ea2 sa_req_handle_attributelist_notfound
+0x6ea5 sa_req_handle_attributelist_end
+0x6eaa sdp_store_continue_common
+0x6eae sdp_store_continue_0byte
+0x6eb0 sdp_store_continue_1byte
+0x6eb3 sdp_store_continue_2byte
+0x6eb6 sdp_store_continue_end
+0x6eb8 sa_req_all
+0x6eda sa_req_all_fisrt_fragment
+0x6ede sa_req_all_parlength_continue_byte
+0x6ee1 sa_req_all_parlength_continue_byte_end
+0x6ee7 sa_req_all_fragment_sdp
+0x6ef5 sa_req_all_answer_attributelist_full_loop
+0x6efe sa_req_all_last_frag_continue
+0x6f00 sa_req_all_frag_end
+0x6f02 sdp_process_ssa_req
+0x6f0c ssa_req_loop
+0x6f1c ssa_req_attributelist_next
+0x6f27 ssa_req_attributelist_notfound
+0x6f29 ssa_req_attributelist_end
+0x6f2e sdp_store_maxbyte
+0x6f36 ssa_req_range
+0x6f47 ssa_req_range_find_handle
+0x6f4f ssa_req_range_later_freg_with_continue
+0x6f57 ssa_req_range_send_not_maxbyte
+0x6f5e ssa_req_range_maxbyte_with_continue
+0x6f61 ssa_req_range_maxbyte_with_continue_cpy
+0x6f67 ssa_req_range_next_handle
+0x6f6c ssa_req_range_get_length
+0x6f75 ssa_req_range_first_freg
+0x6f7f ssa_req_range_firstfreg_not_maxbyte_with_continue
+0x6f81 ssa_req_range_freg_no_continue
+0x6f83 ssa_req_range_lastfreg
+0x6f84 ssa_req_range_lastfreg_common
+0x6f8f ssa_req_range_firstfreg_maxbyte_with_continue
+0x6f94 ssa_req_range_attrbutes_length
+0x6f9a ssa_req_range_attrbutes_length_no_continue
+0x6fa0 ssa_req_range_freg_with_continue
+0x6fb0 ssa_req_range_common
+0x6fba sdp_process_error_res
+0x6fbb sdp_invalid_service_record_handle
+0x6fbe sdp_invalid_pdu_size
+0x6fc1 sdp_insufficient_resource
+0x6fc4 sdp_invalid_request_syntax
+0x6fc6 sdp_error_response
+0x6fd0 ask_serviceclassid
+0x6fd5 classidloop
+0x6fde skip2bytes
+0x6fe7 frstbwrong
+0x6fea scndbwrong
+0x6ff3 cmp032
+0x6ff6 cmp016
+0x6ff8 cmpuuid
+0x6ffe uuidsize
+0x7019 wrong12b
+0x701a wrong12b1
+0x701e chck12dn
+0x7020 loopornot
+0x7026 asksrv_error
+0x7028 dataelementtype6
+0x7037 dsize32
+0x7039 dsize16
+0x703c dsize
+0x703e dsize_error
+0x7040 ss_empty_rsp
+0x7043 sa_empty_rsp
+0x7046 ssa_empty_rsp
+0x7048 empty_response
+0x7057 fullsearch
+0x7059 outempty
+0x705b sdp_data_len
+0x7062 sdp_get_data
+0x7066 sdp_get_data_type0
+0x7069 sdp_get_data_type_not0_sizeindex01234
+0x706c sdp_get_data_type_not0
+0x7073 sdp_get_data_type_not0_sizeindex5
+0x7076 sdp_get_data_type_not0_sizeindex6
+0x707a sdp_get_data_type_not0_sizeindex7
+0x7082 search_all_uuid
+0x7086 search_all_uuid_llop
+0x708d search_uuid
+0x7090 search_uuid_next
+0x7096 search_uuid_loop
+0x709a search_uuid_not_found
+0x70a0 search_uuid_check_same_handle
+0x70a6 search_uuid_store_handle
+0x70ad search_uuid_nomatch
+0x70b1 search_handle
+0x70b4 search_handle_loop
+0x70c6 search_attrib
+0x70c9 search_attrib_next
+0x70cc search_attrib_loop
+0x70d4 search_attrib_found_uuid
+0x70da search_attrib_loop_attribs
+0x70e4 search_attrib_end
+0x70e7 search_handle_attrib
+0x70ea search_handle_attrib_next
+0x70f4 search_handl_attrib_found_handle
+0x70f6 search_handle_attrib_loop_attribs
+0x7100 search_handle_attrib_end
+0x7102 search_rfcomm_cn
+0x710d search_uuid_in_data
+0x7110 search_uuid_in_data_loop
+0x7120 search_uuid_in_data_found_element_index5
+0x7123 search_uuid_in_data_found_element_index6
+0x7126 search_uuid_in_data_found_element_index7
+0x7129 search_uuid_in_data_found_uuid
+0x712f search_uuid_in_data_type_uuid_128
+0x7130 search_uuid_in_data_type_uuid_32
+0x7132 search_uuid_in_data_type_uuid_16
+0x7138 sdp_send_spp_request
+0x714f function_g2
+0x7166 function_f6_eb
+0x7176 get_r
+0x717a function_f6_ea
+0x718d function_f5
+0x719f function_f5_common
+0x71b0 store_addr_common_b
+0x71b5 store_addr_common_a
+0x71ba function_f4_ca
+0x71c5 function_f4_cb
+0x71d0 function_aes_cmac
+0x71d4 function_ceil16
+0x71e2 function_aes_cmac_set_flag_0_balnk
+0x71e5 function_aes_cmac_set_flag_0
+0x71e6 function_aes_cmac_set_flag_0_common
+0x71f0 function_aes_cmac_aes
+0x71f3 function_aes_cmac_aes_loop
+0x71f9 function_aes_cmac_aes_loop_end
+0x7201 load_inverse_result
+0x7205 store_inverse_k
+0x7207 inverse_k
+0x720a inverse_memdat
+0x720e bn_lshift_0_inverse
+0x7218 function_aes_cmac_k1_inverse
+0x7219 function_aes_cmac_inverse_common
+0x721d function_aes_cmac_k2_inverse
+0x721f function_aes_cmac_generate_subkey
+0x7227 function_aes_cmac_k1
+0x7230 function_aes_cmac_k1_0
+0x7231 function_aes_cmac_k2
+0x723a function_aes_cmac_xor_rb
+0x723b function_aes_cmac_xor_rb_loop
+0x7241 function_aes_cmac_xor_loop_common
+0x7245 function_aes_cmac_padding
+0x7248 function_aes_cmac_padding_loop
+0x724d function_aes_cmac_padding_loop2
+0x7250 function_aes_cmac_padding_beq_length
+0x7251 function_aes_cmac_padding_common
+0x7253 function_aes_cmac_padding_big_length
+0x7255 generate_kinit
+0x7259 function_e21
+0x7268 function_e22
+0x726e function_e22_pin_init
+0x726f function_e22_genx_pin
+0x7272 function_e22_genx_loop
+0x727c function_e22_genx_end
+0x7288 function_e1
+0x728b function_e3
+0x7292 function_hash
+0x72a8 function_ar
+0x72b1 function_ar_loop
+0x72b9 function_ar_original
+0x72cf key_scheduling
+0x72d5 key_rotateloop
+0x72e0 key_select_octet_loop
+0x72e5 key_select_octet_nwrap
+0x72ef bias_round_key_loop
+0x72f6 key_sched_zero
+0x72f8 create_byte_16_loop
+0x7300 xor_mod32
+0x7301 xor_mod32_ar2
+0x7304 xor_mod32_loop
+0x730a xor_mod32_invert
+0x730d xor_even
+0x7313 el_boxes
+0x7316 el_box_loop
+0x731c e_boxes
+0x7322 pht
+0x7325 pht_loop
+0x7331 permute
+0x7340 permute_exchange
+0x7341 permute_loop
+0x7350 add16
+0x7352 xor16
+0x7353 xor_add16
+0x7354 xoradd_loop
+0x7359 xoradd_add
+0x735a xoradd_store
+0x735f function_expand
+0x7365 expand_12
+0x7366 expand_cont
+0x736a key_offset
+0x7379 key_addxor
+0x737a key_addxor_loop
+0x737e key_add
+0x7380 key_high
+0x7381 key_xor
+0x7382 key_store
+0x7386 copy_aco
+0x738b concatenate_temp24
+0x738c concatenate_temp16
+0x738f loop1
+0x7390 generate_stk
+0x7394 authenticate_rconfirm
+0x7397 authenticate_mconfirm
+0x739c generate_confirm
+0x739f generate_mrand
+0x73a2 generate_sk
+0x73ab first_block_counter
+0x73ad first_block_data
+0x73ae first_block
+0x73c1 generate_mic
+0x73d0 generate_mic_loop
+0x73d5 generate_mic_end
+0x73d9 aes_crypt_data
+0x73e3 le_encrypt
+0x73fb le_decrypt
+0x73ff le_dec_cont
+0x741d wait_aes
+0x741f do_aes_ocb
+0x7422 do_aes_cbc
+0x7425 do_aes_ctr
+0x7428 aes_init
+0x742b function_s1
+0x7440 function_c1
+0x7446 function_c1_master
+0x7456 function_c1_irat
+0x745b function_c1_loop1
+0x746e padding_data
+0x7473 padding_loop
+0x7478 aes_load_data
+0x7479 load_data_loop
+0x747d load_data_padding
+0x7482 aes_load_xor
+0x7484 load_key
+0x7486 load_data128
+0x7487 load_regext
+0x7488 load_regext_loop
+0x748d load_sk
+0x748f clear_hidata
+0x7491 aes_clear_data
+0x7492 aes_clear
+0x7493 clear_loop
+0x7494 clear_data_rest
+0x7497 store_aes_result
+0x7499 send_aes_result_loop
+0x749e store_enc_data
+0x74a4 store_enc_loop
+0x74ac store_enc_byte
+0x74b0 compare_res
+0x74b2 compare_res_loop
+0x74b9 enable_authrom
+0x74bd disable_authrom
+0x74c1 init_memp
+0x7518 init_memp_256
+0x756a publickey_init
+0x756d sp_calc_sequence_256_check
+0x757b stop_publickey_calc_256
+0x757d sp_initialize
+0x7583 sp_clear_flags
+0x7588 sp_generate_local_key
+0x758a sp_master_generate_local_key
+0x758d sp_generate_local_key0
+0x7590 sp_start_send_pubkey
+0x7595 sp_calc_check_publickey_256
+0x75b0 sp_calc_b256
+0x75c6 sp_calc_check_publickey
+0x75e1 sp_calc_b
+0x75f7 sp_calculate_commitment
+0x7602 master_sp_calculate_commitment
+0x7609 sp_calculate_commitment0
+0x760f master_sp_calculate_commitment0
+0x7612 sp_local_random_key_generator
+0x7615 sp_calculate_commitment_wait_dhkey_calc
+0x7617 sp_confirm_check
+0x7628 sp_confirm_check_success
+0x762e sp_confirm_check_success_master
+0x7631 sp_confirm_check_failed
+0x7637 sp_confirm_check_failed_master
+0x763a sp_confirm_calc
+0x763e sp_confirm_calc_ready
+0x764b sp_confirm_calc_master
+0x764e sp_master_key_prarm_push
+0x7658 sp_link_key_prarm_push
+0x7662 sp_link_key_calc
+0x766d sp_pubkey_calc
+0x7684 sp_pubkey_generated
+0x768a sp_dhkey_calc
+0x769b sp_dhkey_generated
+0x76a2 random_generator
+0x76a7 compare4
+0x76b1 compare4_failed
+0x76b3 compare4_success
+0x76b5 simple_pairing_sequence
+0x76c6 master_simple_paring_sequence
+0x76d8 master_set_mem_master_sp_flag
+0x76da master_clear_mem_master_sp_flag
+0x76dc sp_calc_sequence
+0x76e7 sp_calc_sequence_done
+0x76ec bn_testbit
+0x76f2 ec_copy
+0x76f5 bn_eq_zero
+0x76fb bn_eq_0
+0x7704 bn_bigeq
+0x7707 bn_bigeq_0
+0x7711 bn_add
+0x7713 bn_add_0
+0x771f bn_sub
+0x7721 bn_sub_0
+0x772d bn_rshift6
+0x772f bn_rshift
+0x7730 bn_rshift_0
+0x773b bn_lshift
+0x773d bn_lshift_0
+0x7748 bn_lshiftmod
+0x7749 bn_lshiftmod_ismod
+0x7751 bn_lshiftmod_0
+0x7755 bn_addmod
+0x7758 bn_submod
+0x775f bn_p192mod
+0x7780 bn_load
+0x7781 bn_load_0
+0x7786 bn_mulmod
+0x7790 bn_mulmod_1
+0x7792 bn_mulmod_0
+0x77a8 bn_sqrmod
+0x77aa bn_rshifteven
+0x77ab bn_rshifteven_1
+0x77ba bn_rshifteven_0
+0x77be bn_invmod
+0x77cd bn_invmod_2
+0x77e8 bn_invmod_1
+0x77f6 bn_invmod_0
+0x7803 ecdbl
+0x7854 ecadd
+0x78c0 eckp_0
+0x78ce eckp_1
+0x78d3 ecunmapz
+0x78e5 sha_endian_swap2
+0x78e8 sha_endian_loop
+0x78f0 sha_getw
+0x78f4 sha_r
+0x78f6 sha_r_loop
+0x790b sha_init
+0x790d sha_init_0
+0x7912 sha
+0x7916 sha_0
+0x791f sha_loop
+0x7948 sha_1
+0x794e sha_result
+0x7950 sha_regext_save
+0x7955 pad_xor
+0x7958 pad_xor_0
+0x795f pad_xor_1
+0x7962 g_noninit_number_confirm
+0x7965 g_noninit
+0x7967 g_noninit0
+0x7975 g_init
+0x7984 g_common
+0x798d g_common0
+0x799e function_f1_no_key
+0x79a0 function_f1
+0x79a2 function_f1_common
+0x79d7 function_f2
+0x7a0d function_f3a
+0x7a0f function_f3a_common
+0x7a1e function_f3a_no_pin
+0x7a21 function_f3b_no_pin
+0x7a24 function_f3b
+0x7a26 function_f3b_common
+0x7a33 function_f3_common
+0x7a5d eckp_calc_init
+0x7a5e eckp_calc_init_1
+0x7a68 eckp_calc
+0x7a70 memcpy_dword_swap4
+0x7a71 memcpy_dword_swap
+0x7a72 memcpy_dword_swap_loop
+0x7a77 sp_initialize_256
+0x7a7d sp_pubkey_calc_256
+0x7a93 sp_pubkey_generated_256
+0x7a99 sp_dhkey_calc_256
+0x7aa9 sp_dhkey_generated_256
+0x7aaf sp_calc_sequence_256
+0x7ab9 sp_calc_sequence_done_256
+0x7abf eckp_calc_256
+0x7ac7 eckp_calc_init_256
+0x7aca eckp_calc_init_256_1
+0x7ad4 ecunmapz_256
+0x7ae6 ecdbl_256
+0x7b37 ecadd_256
+0x7ba3 bn_invmod_256
+0x7bb1 bn_invmod_256_2
+0x7bcc bn_invmod_256_1
+0x7bda bn_invmod_256_0
+0x7be1 bn_mulmod_256
+0x7bef bn_mulmod_256_1
+0x7bf5 bn_mulmod_256_0
+0x7c0a bn_p256mod
+0x7c73 bn_load_mem
+0x7c77 bn_load_256
+0x7c79 bn_sqrmod_256
+0x7c7b bn_add_256
+0x7c7d bn_addmod_256
+0x7c80 bn_lshiftmod_256
+0x7c81 bn_lshiftmod_ismod_256
+0x7c8a bn_lshiftmod_p_256
+0x7c92 sub_p2_256
+0x7c96 bn_submod_256
+0x7ca0 bn_submod_256_np
+0x7ca9 bn_sub_256
+0x7cab bn_rshift_256
+0x7cae bn_lshift_256
+0x7cb1 bn_bigeq_256
+0x7cb5 bn_eq_zero_256
+0x7cb8 bn_rshifteven_256
+0x7cb9 bn_rshifteven_256_1
+0x7cc8 bn_rshifteven_256_0
+0x7ccc ui_init
+0x7cd1 ui_dispatch
+0x7cd3 ui_button_init
+0x7cdd ui_button_polling
+0x7ce3 ui_button_down
+0x7cef ui_button_up
+0x7cf9 ui_button_check_long_press
+0x7d00 lpm_button_get_wake_lock
+0x7d02 lpm_button_clean_wake_lock
+0x7d04 calc_curr_struct_prt
+0x7d08 ui_led_init_global
+0x7d0d ui_led_init_loop
+0x7d14 ui_led_on_global
+0x7d19 ui_led_off_global
+0x7d1e ui_led_blink_start_global
+0x7d24 ui_led_set_style_global
+0x7d29 ui_led_dispatch
+0x7d2c ui_led_blink_polling
+0x7d32 ui_led_off_static
+0x7d35 ui_led_on_static
+0x7d38 ui_led_change_style_by_type
+0x7d41 ui_led_blink_state_lighting
+0x7d4c ui_led_blink_state_darking
+0x7d58 ui_led_blink_infinite
+0x7d5c ui_led_blink_timer_start
+0x7d5e ui_led_stop_timer
+0x7d60 ui_timer_timeout
+0x7d64 ui_timer_check
+0x7d6b ui_timer_check_loop
+0x7d75 ui_timer_init
+0x7d78 ui_timer_check_end
+0x7d7f ui_timer_check_send_evt
+0x7d80 ui_ipc_get_lock
+0x7d81 ui_ipc_get_lock_wait
+0x7d84 ui_ipc_put_lock
+0x7d86 ui_ipc_send_event
+0x7d8f ui_ipc_send_cmd
+0x7d98 ui_ipc_clean_all_fifo
+0x7d9c check_51cmd
+0x7da7 check_51cmd_once
+0x7dc8 check_51cmd_once_continue
+0x7dd6 check_51cmd_check_idle
+0x7ddb check_51cmd_restore
+0x7ddd check_51cmd_start_discovery
+0x7de2 check_51cmd_stop_discovery
+0x7de8 check_51cmd_reconnect
+0x7dea check_51cmd_disconnect
+0x7ded check_51cmd_enter_sniff_subrating
+0x7dee check_51cmd_exit_sniff_subrating
+0x7def check_51cmd_sniff_test
+0x7df0 check_51cmd_pincode
+0x7df2 check_51cmd_inq
+0x7df3 check_51cmd_stop_inq
+0x7df4 check_51cmd_adv
+0x7dfa check_51cmd_stop_adv
+0x7dff check_51cmd_direct_adv
+0x7e05 check_51cmd_stop_direct_adv
+0x7e0a check_51cmd_le_disconnect
+0x7e0e check_51cmd_ble_update_connect_param
+0x7e0f check_51cmd_led_off
+0x7e11 check_51cmd_led_on
+0x7e13 check_51cmd_led_start_blink
+0x7e15 check_51cmd_le_start_con
+0x7e18 check_51cmd_start_scan
+0x7e1a check_51cmd_stop_scan
+0x7e1d check_51cmd_hibernate
+0x7e23 check_51cmd_hibernate_btn_disabled
+0x7e25 check_51cmd_le_smp_sec_req
+0x7e26 check_51cmd_role_switch
+0x7e2f check_51cmd_bb_reconn_cancel
+0x7e31 check_51cmd_dhkey_not_accept
+0x7e34 ui_check_paring_button
+0x7e38 queue_init
+0x7e3d queue_push
+0x7e4c calc_queue_next_ptr
+0x7e54 queue_pop
+0x7e65 queue_empty
+0x7e69 queue_full
+0x7e6d queue_get_size
+0x7e71 right_shift_n
+0x7e73 right_shift_n_loop
+0x7e76 left_shift_n
+0x7e79 left_shift_n_loop
+0x7e7c push_stack
+0x7e85 push_stack_rega_b_c
+0x7e8c pop_stack
+0x7e95 pop_stack_rega_b_c
+0x7e9c get_contw
+0x7e9f get_contr
+0x7ea2 store_contw
+0x7ea5 store_contr
+0x7ea8 save_cont_pointers
+0x7ead load_cont_pointers
+0x7eb2 memcpy96
+0x7eb3 memcpy64
+0x7eb5 memcpy12
+0x7eb6 memcpy4
+0x7eb9 memcpy8
+0x7ebc memcpy48
+0x7ebd memcpy32
+0x7ebe memcpy24
+0x7ebf memcpy16
+0x7ec1 delay_10ms
+0x7ec2 delay_ms_wait
+0x7ec5 bn_zero
+0x7ec6 memset0
+0x7ec7 memset8
+0x7eca memset0_8
+0x7ecd memset0_4
+0x7ed0 clear_mem_256
+0x7ed2 clear_mem_512
+0x7ed4 clear_mem
+0x7ed7 clear_mem_loop
+0x7eda clear_temp_block
+0x7edd xor_loop
+0x7ee5 inverse_data
+0x7eec inverse_loop
+0x7ef4 memcpy_fast
+0x7ef6 memcpy_fast_loop
+0x7efb memcpy_fast_loop_four
+0x7f01 memcpy
+0x7f03 memcpy_loop
+0x7f07 timer_stop
+0x7f08 timer_init
+0x7f11 timer_check_timeout
+0x7f15 timer_reinit
+0x7f16 timer_check
+0x7f21 timer_loop
+0x7f25 timer_counting
+0x7f2c clk_add
+0x7f37 clk_diff_rt
+0x7f39 clk_diff
+0x7f3e clk_diff_pos
+0x7f43 clk2rt
+0x7f49 clk2lpo
+0x7f50 clk2bt
+0x7f58 string2dec_from_uart
+0x7f59 string2dec_from_uart_done
+0x7f64 uchar2dialog
+0x7f6d uchar2dialog_number
+0x7f70 uchar2dialog_a2f
+0x7f73 pn9
+0x7f76 pn9_loop
+0x7f86 wait_div_end
+0x7f88 string_compare
+0x7f91 ceiling
+0x7f95 swap
+0x7f99 clean_mem
+0x7f9c callback_func
+0x7f9e wait_uarttx
+0x7fa1 ice_break
+0x7fa3 ice_setbp
+0x7fa8 ice_setbp2
+0x7fad ice_set_write_bp
+0x7fb0 test_enable_white
+0x7fb4 check_uart_tx_buff
+0x7fb6 pdata_sub_temp
+0x7fb8 fifo_in
+0x7fbe fifo_in_push
+0x7fc4 fifo_out
+0x7fc8 fifo_out_loop
+0x7fcd fifo_out_end
+0x7fd0 fifo_is_empty
+0x7fd2 fifo_is_full
+0x7fd4 fifo_is_near_full
+0x7fd6 fifo_content_count
+0x7fd7 fifo_content_count_loop
+0x7fdd not_greater_than
+0x7fe1 disable_positive
+0x7fe3 disable_zero
+0x7fe5 enable_zero
+0x7fe7 enable_user
+0x7fe9 disable_user
+0x7feb enable_user2
+0x7fed disable_user2
+0x7fef disable_blank
+0x7ff1 enable_blank
+0x7ff3 reverse_byte
+0x7ff9 reverse_loop
Index: rom/peripherals.prog
===================================================================
--- /branch/mouse_project/ZhongXinSheng/ZXS_1062/MJ391_24G&BLE_PB/rom/peripherals.prog	(revision 0)
+++ /branch/mouse_project/ZhongXinSheng/ZXS_1062/MJ391_24G&BLE_PB/rom/peripherals.prog	(working copy)
@@ -0,0 +1,2440 @@
+
+/* ===================== two wire SPI gpio ======================= */
+
+twspi_reset:
+	bpatchx patch31_4,mem_patch31
+	hfetch 1,core_gpio_oe3
+	arg 0x06,temp
+	ior temp,pdata
+	hstore 1,core_gpio_oe3
+	hfetch 1,core_gpio_out3
+	ior temp,pdata
+	hstore 1,core_gpio_out3
+	call twspi_disable
+	hfetch 1,core_gpio_out3
+	set0 1,pdata
+	set0 2,pdata
+	hstore 1,core_gpio_out3	
+	nop 30  
+	branch twspi_enable
+
+twspi_reset2:
+	hfetch 1,core_gpio_oe3
+	arg 0xc0,temp
+	ior temp,pdata
+	hstore 1,core_gpio_oe3
+	hfetch 1,core_gpio_out3
+	ior temp,pdata
+	hstore 1,core_gpio_out3
+	call twspi_disable
+	hfetch 1,core_gpio_out3
+	set0 6,pdata
+	set0 7,pdata
+	hstore 1,core_gpio_out3	
+	nop 30  
+	branch twspi_enable2
+
+twspi_disable:
+	hfetch 1,core_gpio_sel1
+	and pdata,0xfc,pdata
+	hstore 1,core_gpio_sel1  //disable spi
+	rtn
+twspi_enable:
+	hfetch 1,core_gpio_sel1
+	or pdata,0x01,pdata
+	hstore 1,core_gpio_sel1  //enable spi
+	rtn
+twspi_enable2:
+	hfetch 1,core_gpio_sel1
+	or pdata,0x03,pdata
+	set0 4,pdata
+	hstore 1,core_gpio_sel1  //enable spi2
+	rtn
+
+// input read reg number: pdata 
+//output reg data: pdata
+sensor_read:
+	copy pdata,regb
+	call spi_ncs_enable
+	nop 100
+	copy regb,pdata
+	call twspi_read
+	copy pdata,regb
+	call spi_ncs_disable
+	nop 100
+	copy regb,pdata
+	rtn
+// input write reg number: pdata 
+sensor_write:
+	copy pdata,regb
+	call spi_ncs_enable
+	nop 100
+	copy regb,pdata
+	call twspi_write
+	call spi_ncs_disable
+	nop 100
+	rtn
+//spi gpio init .
+//0xff :disable spi ncs gpio init
+spi_ncs_gpio_init:
+	fetcht 1,mem_spi_ncs_gpio
+	branch gpio_config_output
+
+//nsc gpio ouput low
+spi_ncs_enable:
+	fetcht 1,mem_spi_ncs_gpio
+	branch gpio_out_active
+
+//ncs gpio output high
+spi_ncs_disable:
+	fetcht 1,mem_spi_ncs_gpio
+	branch gpio_out_inactive
+
+
+twspi_write:
+	branch spid_write_reg
+	
+twspi_read:
+	branch spid_read_reg
+
+
+
+/* ===================== code loading ======================= */
+
+
+read_function_aes:
+	nbranch read_function,user
+	hfetch 1,core_gpio_key2
+	or_into 0x2,pdata   	// enable aes 
+	hstore 1,core_gpio_key2
+read_function:
+	copy temp,null
+	branch read_fuction_zero,zero
+	copy regc,pc
+read_fuction_zero:
+	isolate0 0,null
+	branch set_ucode_status
+	
+/* return temp = block length */
+get_block_header:
+	force 4,temp
+get_block_header0:
+	arg mem_ucode_buf,rega
+	hfetch 1,core_gpio_key2
+	and_into 0xfd,pdata   	// disable aes for header
+	hstore 1,core_gpio_key2
+	call read_function
+	arg 0x55aa,rega
+	fetch 2,mem_ucode_buf
+	ifetcht 2,contr
+	isub rega,null
+	rtn	
+
+read_first_block:
+	arg 2,temp
+	arg mem_ucode_ptr,rega
+	call read_function
+	fetch 2,mem_ucode_ptr
+	store 2,mem_addr_mi
+	call get_iv,user
+	rtn
+	
+get_iv:
+	arg 16,temp
+	arg mem_ucode_keybuf,rega
+	hfetch 1,core_gpio_key2
+	and_into 0xfd,pdata   // disable aes for iv
+	hstore 1,core_gpio_key2
+	call read_function
+	arg mem_ucode_keybuf,contr
+	arg 16,loopcnt
+	call aes_load_data
+	call aes_init
+	call aes_clear_data
+	branch do_aes_cbc					/* generate first IV */
+
+load_storage:
+	disable match
+	call get_block_header
+	nrtn zero
+	enable match
+	jam 0x80, core_ucode_ctrl
+	jam 0,core_ucode_hi
+	jam 0,core_ucode_low
+	arg core_ucode_data,rega
+	call read_function_aes
+	jam 0x0, core_ucode_ctrl
+load_storage_loop:
+	arg 6,temp
+	call get_block_header0
+	nrtn zero
+	ifetch 2,contr
+	iforce rega
+	call read_function
+	branch load_storage_loop
+
+	
+	/* only load memory data from eeprom */
+reload_eeprom:
+	call clean_mem
+	setarg 0x1000
+	store 2,mem_addr_mi
+	arg iicd_read_eep,regc
+	arg 2,loopcnt
+reload_eeprom_loop:
+	call get_block_header
+	nrtn zero
+	fetch 2,mem_addr_mi
+	byteswap pdata,pdata
+	iadd temp,pdata
+	byteswap pdata,pdata
+	store 2,mem_addr_mi
+	loop reload_eeprom_loop
+	branch load_storage_loop
+	
+loadcode:
+	call clean_mem
+	disable user
+	call otp_enable_chgpump
+	setarg otp_ucode_flag
+	arg mem_otp_ucode_flag,rega
+	arg 2,temp
+	call otpd_read_data
+	fetch 2,mem_otp_ucode_flag
+	bbit0 otp_uflag_aes, loadcode_otp
+	jam 0x25,core_clkoff			// disable debug uart
+	setarg otp_ucode_aeskey
+	arg mem_ucode_keybuf,rega
+	arg 16,temp
+	call otpd_read_data
+	jam lock_otp,core_misc_ctrl	// disable further read/write of key
+	set1 mark_otp_encrypt,mark	
+	arg mem_ucode_keybuf,contr
+	call load_key
+	enable user					// set user for aes
+loadcode_otp:
+	jam 0,mem_loadcode_times
+loadcode_otp_2:
+	call loadcode_check_times
+	fetch 2,mem_otp_ucode_flag
+	byteswap pdata,pdata
+	arg 0x7ff,temp
+	iand temp,pdata
+	branch loadcode_iic, zero
+	call otp_set_addr
+	arg otpd_read_code,regc
+	call get_iv,user
+	call load_storage
+	fetch 1,mem_ucode_status
+	bbit0 0,loadcode_otp_2			// crc error, try again
+	
+loadcode_iic:
+	call otp_disable_chgpump
+	jam 0,mem_loadcode_times
+loadcode_iic_2:	
+	call loadcode_check_times
+	call clear_eeprom_size_2k
+	fetch 1,mem_otp_ucode_flag
+	bbit1 otp_uflag_skip_eep,loadcode_spi
+	call loadcode_iic_by_eeprom
+	nbranch loadcode_iic_eeprom_2k,match
+	fetch 1,mem_ucode_status
+	bbit0 0,loadcode_iic_2			// crc error, try again
+	branch loadcode_hci
+loadcode_iic_eeprom_2k:
+	call set_eeprom_size_2k
+	fetch 1,mem_otp_ucode_flag
+	bbit1 otp_uflag_skip_eep,loadcode_spi
+	call loadcode_iic_by_eeprom
+	nbranch loadcode_spi,match
+	fetch 1,mem_ucode_status
+	bbit0 0,loadcode_iic_2			// crc error, try again
+	branch loadcode_hci
+	
+loadcode_spi:
+	jam 0,mem_loadcode_times
+loadcode_spi_2:
+	call loadcode_check_times
+	fetch 1,mem_otp_ucode_flag
+	bbit1 otp_uflag_skip_flash, loadcode_hci
+	setarg 0x0
+	store 3,mem_addr_hi
+	call spid_init_flash
+	arg spid_load_flash,regc
+	call read_first_block
+	call load_storage
+	nbranch loadcode_hci,match
+	fetch 1,mem_ucode_status
+	bbit0 0,loadcode_spi_2			// crc error, try again
+
+loadcode_hci:
+	bmark1 mark_otp_encrypt,loadcode_hci_enc
+	call clear_key_buf
+loadcode_hci_enc:
+	fetch 1,mem_otp_ucode_flag
+	bbit0 otp_uflag_hci,clear_key_buf
+	jam 0x21,core_clkoff			// enable debug uart
+	call hci_init
+loadcode_hci_loop:
+	call hci_rx_packet
+	branch loadcode_hci_loop
+
+clear_key_buf:
+	setarg 0
+	store 8,mem_ucode_keybuf
+	store 8,mem_ucode_keybuf+8
+	force regidx_key,regext_index
+	call aes_clear
+	jam 0x21,core_clkoff		// enable debug uart
+	rtn
+	
+
+loadcode_iic_by_eeprom:
+	setarg 0x0
+	store 2,mem_addr_mi
+	arg iicd_read_eep,regc
+	call iicd_init_12m
+	call read_first_block
+	branch load_storage
+
+
+loadcode_check_times:
+	fetch 1,mem_loadcode_times
+	increase 1,pdata
+	sub pdata,3,null
+	nbranch loadcode_error,positive
+	store 1,mem_loadcode_times
+	rtn
+
+loadcode_error:
+	call clear_key_buf
+	call ice_break
+	rtn
+
+
+/* true flag is set into status */
+set_ucode_status:
+	fetch 1,mem_ucode_status
+	lshift pdata,pdata
+	setflag true,0,pdata
+	isolate0 15,rega
+	rtn true
+	store 1,mem_ucode_status
+	rtn
+
+	/* queue is bit position of hw done status */
+decrypt_code:
+	hfetch 1,core_gpio_key2
+	rtnbit0 1
+	branch decrypt_code_skip	/* skip to key generation at first for speed */
+decrypt_code_loop:
+	hfetch 1,core_dma_status
+	qisolate1 pdata
+	rtn true
+decrypt_code_skip:
+	hfetch 1,core_misc_status
+	bbit0 1,decrypt_code_loop
+	call do_aes_cbc
+	branch decrypt_code_loop
+
+
+
+load_ucode:
+	fetch 2,mem_patch_ptr
+	rtn blank
+	jam 0x80, core_ucode_ctrl
+	jam 0,core_ucode_hi
+	jam 0,core_ucode_low
+	fetcht 2,mem_patch_len
+	lshift2 temp,loopcnt
+	iforce contr
+load_ucode_loop:
+	ifetch 1,contr
+	hstore 1,core_ucode_data
+	loop load_ucode_loop
+	jam 0x0, core_ucode_ctrl
+	rtn
+
+
+/* ===================== SPI dma ======================= */
+
+spid_init:
+	bpatchx patch31_5,mem_patch31
+	call spid_init_common
+	branch twspi_enable
+
+spid_init2:
+	call spid_init_common
+	call twspi_disable
+	branch twspi_enable2
+	
+spid_init_common:
+	fetch 1,mem_spi_init_clk
+	hstore 1,core_spid_ctrl	// A7530 should at least 34, or write fail
+	fetch 1,mem_spi_init_delay_time
+	hstore 1,core_spid_delay	// 4us delay
+	setarg mem_spid_tbuf
+	hstore 2,core_spid_txaddr
+	setarg mem_spid_rbuf
+	hstore 2,core_spid_rxaddr
+	branch twspi_disable
+	
+spid_reset:
+	hfetch 1,core_spid_ctrl
+	set1 7,pdata
+	hstore 1,core_spid_ctrl
+	set0 7,pdata
+	hstore 1,core_spid_ctrl
+	rtn
+
+
+/* pdata 6:0 is reg address, 15:8 is data to write */
+spid_write_reg:
+	set1 7,pdata
+	store 2,mem_spid_tbuf
+	bpatchx patch31_6,mem_patch31
+	jam 2,core_spid_txlen
+	jam 0,core_spid_rxlen
+	jam spid_start,core_misc_ctrl
+	branch wait_spid_done
+
+/* pdata 6:0 is reg address */
+spid_read_reg:
+	force 1,temp
+/* pdata 6:0 is burst reg address, temp is bytes to read */
+spid_read_regs:
+//	nop 100
+	store 1,mem_spid_tbuf
+	bpatchx patch31_7,mem_patch31
+	jam 1,core_spid_txlen
+	hstoret 2,core_spid_rxlen
+	jam spid_start,core_misc_ctrl
+	call wait_spid_done
+	fetch 1,mem_spid_rbuf
+	rtn
+
+wait_spid_done:
+	fetch 2,mem_afh_error_total
+	increase 1,pdata
+	store 2,mem_afh_error_total
+	hfetch 1,core_dma_status
+	bbit0 spid_done,wait_spid_done
+	rtn
+
+spid_init_flash:
+	jam 0x40,core_spid_ctrl
+	jam 0x0,core_spid_delay
+	hfetch 1,core_gpio_sel1
+	set0 0,pdata
+	set1 1,pdata
+	hstore 1,core_gpio_sel1
+	setarg 0
+	store 4,mem_spid_tbuf
+	rtn
+
+
+spid_unlock_flash:
+	setarg 0
+	hstore 2,core_spid_rxlen
+	setarg 1
+	hstore 2,core_spid_txlen
+	setarg mem_spid_tbuf
+	hstore 2,core_spid_txaddr
+	jam 6,mem_spid_tbuf
+	jam spid_start,core_misc_ctrl
+	branch wait_spid_done
+
+
+/**
+ ******************************************************************************
+ ** \brief  write flash
+ **
+ ** \param [in]  rega: 2byte write ptr    
+ **			pdata:3byte flash address  
+ ** 			temp:2byte write data length
+ **
+ ** \retval user  0: flash buys 1:write flash setting complate
+ **
+ ******************************************************************************/
+
+flash_write:
+	disable user
+	copy pdata,regb
+	fetch 1,mem_spi_write_flash_sm
+	rtnne FLASH_SM_NO_BUYS
+	enable user
+	copy regb,pdata
+	branch flash_write_start
+
+
+flash_write_spi_sm_timer:
+	fetch 1,mem_spi_write_flash_sm 	
+	beq FLASH_SM_START,flash_write_start
+	beq FLASH_SM_ERASE_SECTOR,flash_erase_sector
+	beq FLASH_SM_WAIT_ERASE_SECTOR,flash_wait_erase_sector
+	beq FLASH_SM_WRITE_DATA,flash_write_data
+	beq FLASH_SM_WAIT_WRITE_DATA,flash_wait_write_data
+	rtn
+
+flash_write_start:
+	store 3,mem_spi_write_addr
+	copy rega,pdata
+	store 2,mem_spi_write_ptr
+	storet 2,mem_spi_write_len
+	jam FLASH_SM_ERASE_SECTOR,mem_spi_write_flash_sm
+	branch spid_init_flash
+flash_erase_sector:
+	call spid_init_flash
+	jam FLASH_SM_WAIT_ERASE_SECTOR,mem_spi_write_flash_sm
+	call spid_unlock_flash
+	arg mem_spid_tbuf,rega
+	fetch 3,mem_spi_write_addr
+	jam 4,core_spid_txlen
+	arg FLASH_COMMAND_SECTOR_ERASE,temp
+	branch spid_write_flash_common
+	
+flash_wait_erase_sector:
+	call spid_init_flash
+	call spid_unlock_flash
+	setarg FLASH_READ_SATUS
+	call spid_read_reg
+	rtnbit1 FLASH_STATUS_WIP
+	jam FLASH_SM_WRITE_DATA,mem_spi_write_flash_sm
+	rtn
+flash_write_data:
+	call spid_init_flash
+	jam FLASH_SM_WAIT_WRITE_DATA,mem_spi_write_flash_sm
+	call spid_unlock_flash
+	call flash_data_preserve
+	call spid_write_flash
+	branch flash_data_recover
+flash_wait_write_data:
+	call spid_init_flash
+	call spid_unlock_flash
+	setarg FLASH_READ_SATUS
+	call spid_read_reg
+	rtnbit1 FLASH_STATUS_WIP
+	jam FLASH_SM_NO_BUYS,mem_spi_write_flash_sm
+	fetch 2,mem_cb_spi_flash_write_complate
+	branch callback_func
+flash_data_recover:
+	fetch 4,mem_temp
+	fetcht 2,mem_spi_write_ptr
+	increase -4,temp
+	istore 4,temp
+	rtn
+flash_data_preserve:
+	fetcht 2,mem_spi_write_ptr
+	copy temp,rega
+	increase -4,temp
+	ifetch 4,temp
+	store 4,mem_temp
+	fetcht 2,mem_spi_write_len
+	fetch 3,mem_spi_write_addr
+	rtn
+
+
+/* pdata is flash address, rega pointers to txdata(4 ahead bytes should be left), temp is length */
+spid_write_flash:
+	increase 4,temp
+	hstoret 2,core_spid_txlen
+	arg FLASH_COMMAND_WRITE_DATA,temp
+	increase -4,rega
+spid_write_flash_common:
+
+	istoret 1,rega
+	rshift16 pdata,temp
+	istoret 1,contw
+	rshift8 pdata,temp
+	istoret 1,contw
+	istore 1,contw
+	deposit rega
+	hstore 2,core_spid_txaddr
+	setarg 0
+	hstore 2,core_spid_rxlen
+	jam spid_start,core_misc_ctrl
+	branch wait_spid_done
+
+
+/* temp is length, rega pointers to buf   */
+spid_read_flash:
+	hstoret 2,core_spid_rxlen
+	rshift16 pdata,temp
+	storet 1,mem_addr_hi
+	rshift8 pdata,temp
+	storet 1,mem_addr_mi
+	store 1,mem_addr_lo
+	setarg 4
+	hstore 2,core_spid_txlen
+	jam FLASH_COMMAND_READ_DATA,mem_spid_tbuf
+	setarg mem_spid_tbuf
+	hstore 2,core_spid_txaddr
+	deposit rega
+	hstore 2,core_spid_rxaddr
+	hfetch 1,core_spid_ctrl
+	isolate0 15,rega
+	setflag true,6,pdata
+	hstore 1,core_spid_ctrl
+	jam spid_start,core_misc_ctrl
+spi_read_flash_wait:
+	hfetch 1,core_dma_status
+	bbit1 7,spi_read_flash_wait			// waiting for spid write
+	arg spid_done,queue
+	branch wait_spid_done
+
+
+/* temp is length, rega pointers to buf  */
+spid_load_flash:
+	hstoret 2,core_spid_rxlen
+	setarg 4
+	hstore 2,core_spid_txlen
+	jam 3,mem_spid_tbuf
+	setarg mem_spid_tbuf
+	hstore 2,core_spid_txaddr
+	deposit rega
+	hstore 2,core_spid_rxaddr
+	hfetch 1,core_spid_ctrl
+	isolate0 15,rega
+	setflag true,6,pdata
+	hstore 1,core_spid_ctrl
+	jam spid_start,core_misc_ctrl
+spi_load_flash_wait:
+	hfetch 1,core_dma_status
+	bbit1 7,spi_load_flash_wait			// waiting for spid write
+	arg spid_done,queue
+	call decrypt_code
+	call wait_spid_done
+	isolate1 spid_crcok,pdata
+	call set_ucode_status
+	fetch 1,mem_addr_hi
+	lshift16 pdata,regb
+	fetch 1,mem_addr_mi
+	lshift8 pdata,pdata
+	ior regb,regb
+	fetch 1,mem_addr_lo
+	ior regb,pdata
+	iadd temp,pdata
+	store 1,mem_addr_lo
+	rshift8 pdata,pdata
+	store 1,mem_addr_mi
+	rshift8 pdata,pdata
+	store 1,mem_addr_hi
+	rtn
+
+/*****************************************************************************
+*soft reset chip
+*****************************************************************************/
+soft_reset_chip:
+	jam 1,core_reset
+	rtn
+
+
+
+/* ===================== I2C dma ======================= */
+
+iic_init_390k:	//390khz
+	jam 12,core_iicd_scl_low
+	jam 13,core_iicd_scl_high
+	jam 13,core_iicd_start_setup
+	jam 13,core_iicd_start_hold
+	jam 13,core_iicd_stop_setup
+	jam 12,core_iicd_data_setup
+  	branch iicd_init_gpio	
+
+
+iicd_init_12m:
+	jam 5,core_iicd_scl_low
+ 	jam 7,core_iicd_scl_high
+	jam 7,core_iicd_start_setup
+	jam 7,core_iicd_start_hold
+	jam 7,core_iicd_stop_setup
+	jam 5,core_iicd_data_setup
+iicd_init_gpio:	
+	hfetch 1,core_gpio_pu3
+	or_into 0xc0,pdata
+	hstore 1,core_gpio_pu3
+	hfetch 1,core_gpio_sel1
+	or_into 0x10,pdata
+	hstore 1,core_gpio_sel1
+	rtn
+
+
+
+wait_iicd_done:
+	hfetch 1,core_dma_status
+	bbit0 iicd_done,wait_iicd_done
+	rtn
+
+/*
+pdata is tx length
+rega is points to tx buffer
+regb is points to rx buffer
+temp is rx length
+*/
+iicd_read_data:
+	hstore 2,core_iicd_txlen
+	deposit rega
+	hstore 2,core_iicd_txaddr	
+	deposit regb
+	hstore 2,core_iicd_rxaddr
+	deposit temp	
+	hstore 2,core_iicd_rxlen
+	arg 1,temp
+	nsetflag blank,1,temp
+	hstore 1,core_iicd_ctrl
+	jam iicd_start,core_misc_ctrl
+	branch wait_iicd_done
+
+
+set_eeprom_size_2k:
+	set1 mark_eeprom_size,mark
+	jam 0x08,mem_eeprom_block_size
+	rtn
+
+clear_eeprom_size_2k:
+	set0 mark_eeprom_size,mark
+	jam 0x20,mem_eeprom_block_size
+	rtn
+
+
+iicd_read_eep_data_size_2k:
+ 	fetch 1,mem_eeprom_base
+	iadd regb,pdata
+	store 1,mem_addr_mi
+	branch iicd_read_eep_size_2k
+
+iicd_read_eep_size_2k_lcadcode:
+	fetch 2,mem_addr_mi
+	byteswap pdata,pdata
+	store 1,mem_addr_mi
+	
+//length:temp 
+//mem ptr:rega
+//eeprom addr:pdata
+iicd_read_eep_size_2k:
+ 	setarg 3
+	hstore 2,core_iicd_txlen
+	jam 0xa0,mem_iicd_tbuf
+	jam 0xa1,mem_iicd_tbuf+2
+	branch iicd_read_eep_common
+
+
+//length:temp 
+//mem ptr:rega
+//eeprom addr:regb
+iicd_write_protect_eep_data:
+	storet 2,mem_temp
+	call iicd_eeprom_write_enable
+	fetcht 2,mem_temp
+	call iicd_write_eep_data
+	branch iicd_eeprom_write_disable
+	
+iicd_eeprom_write_enable:
+	fetch 1,mem_eeprom_wp_gpio
+	rtneq GPIO_DISABLE
+	bbit0 6,iicd_wp_gpio_output_low
+	setarg 150000
+	call sleep
+iicd_wp_gpio_output_low:
+	fetcht 1,mem_eeprom_wp_gpio
+	branch gpio_out_active
+	
+iicd_eeprom_write_disable:
+	fetcht 1,mem_eeprom_wp_gpio
+	branch gpio_out_inactive
+	
+//length:temp 
+//mem ptr:rega
+//eeprom addr offset:regb
+iicd_read_eep_data:
+	bpatchx patch32_0,mem_patch32
+	bmark1 mark_eeprom_size,iicd_read_eep_data_size_2k
+	fetch 2,mem_eeprom_base
+	iadd regb,pdata
+	byteswap pdata,pdata
+	store 2,mem_addr_mi
+
+/* rega pointers to buf, temp is length  */
+iicd_read_eep:
+	bpatchx patch32_1,mem_patch32
+	bmark1 mark_eeprom_size,iicd_read_eep_size_2k_lcadcode
+	setarg 4
+	hstore 2,core_iicd_txlen
+	jam 0xa0,mem_iicd_tbuf
+	jam 0xa1,mem_iicd_tbuf+3
+iicd_read_eep_common:	
+	setarg mem_iicd_tbuf
+	hstore 2,core_iicd_txaddr
+	hstoret 2,core_iicd_rxlen
+	deposit rega
+	hstore 2,core_iicd_rxaddr
+	setarg 2
+	isolate0 15,rega
+	setflag true,0,pdata
+	hstore 1,core_iicd_ctrl
+	jam iicd_start,core_misc_ctrl
+	arg iicd_done,queue
+	call decrypt_code
+	call wait_iicd_done
+	isolate1 iicd_crcok,pdata
+	call set_ucode_status
+	bmark1 mark_eeprom_size,iicd_read_eep_load_code_size_2k
+	fetch 2,mem_addr_mi
+	byteswap pdata,pdata
+	iadd temp,pdata
+	byteswap pdata,pdata
+	store 2,mem_addr_mi
+	rtn
+
+iicd_read_eep_load_code_size_2k:
+	fetch 1,mem_addr_mi
+	iadd temp,pdata
+	byteswap pdata,pdata
+	store 2,mem_addr_mi
+	rtn
+	
+
+//length:temp 
+//mem ptr:rega
+//eeprom addr offset:regb
+iicd_write_eep_data:
+	fetch 2,mem_eeprom_base
+	iadd regb,pdata
+
+//cuur ptr:pdata length:temp buf:rega
+iicd_write_ota_data:
+	store 2,mem_pdatatemp //curr ptr
+	bpatchx patch32_2,mem_patch32
+	storet 2,mem_temp	//len
+	copy rega,pdata
+	store 2,mem_contr
+iicd_write_eep_loop:
+	call iicd_eep_transparency
+
+	fetcht 2,mem_regb
+	fetch 2,mem_contr
+	copy pdata,rega
+	fetch 2,mem_pdatatemp
+	
+	call iicd_write_eep
+	
+	fetch 2,mem_regb
+	fetcht 2,mem_contr
+	iadd temp,temp
+	storet 2,mem_contr
+	fetcht 2,mem_pdatatemp
+	iadd temp,temp
+	storet 2,mem_pdatatemp
+	fetch 2,mem_temp
+	nbranch iicd_write_eep_loop,blank
+	rtn
+	
+//in:
+//1.size 2.len 3.src 4.des
+//mem_regc page's area
+//mem_pdatatemp curr ptr
+//mem_temp all len      
+//mem_regb curr len
+iicd_eep_transparency:
+	bpatchx patch32_3,mem_patch32
+	fetch 1,mem_eeprom_block_size
+	increase -1,pdata
+	fetcht 2,mem_pdatatemp
+	ior temp,pdata
+	increase 1,pdata
+	store 3,mem_regc
+
+	fetch 2,mem_temp
+	iadd temp,pdata
+
+	fetcht 3,mem_regc
+	isub temp,pdata
+	nbranch iicd_eep_deal_short_packet,positive
+	store 2,mem_temp
+	fetch 3,mem_regc
+	fetcht 2,mem_pdatatemp
+	isub temp,pdata
+	store 2,mem_regb
+	rtn
+iicd_eep_deal_short_packet:
+	fetch 2,mem_temp
+	store 2,mem_regb
+	setarg 0
+	store 2,mem_temp
+	rtn
+
+iicd_write_eep_size_2k:
+	increase 2,temp
+	hstoret 2,core_iicd_txlen
+	increase -2,rega
+	ifetcht 3,rega
+	copy temp,regb
+	arg 0xa0,temp
+	istoret 1,rega
+//	byteswap pdata,pdata
+	istore 1,contw
+	branch iicd_write_eep_common
+
+	/* pdata is eeprom address, rega pointers to txdata(3 ahead bytes should be left), temp is length */
+iicd_write_eep:
+	copy pdata,regb
+	bpatchx patch32_4,mem_patch32
+	bmark1 mark_eeprom_size,iicd_write_eep_size_2k
+	copy regb,pdata
+	increase 3,temp
+	hstoret 2,core_iicd_txlen
+	increase -3,rega
+	ifetcht 3,rega
+	copy temp,regb
+	arg 0xa0,temp
+	istoret 1,rega
+	byteswap pdata,pdata
+	istore 2,contw
+iicd_write_eep_common:	
+	deposit rega
+	hstore 2,core_iicd_txaddr
+	setarg 0
+	hstore 2,core_iicd_rxlen
+	jam 1,core_iicd_ctrl
+	jam iicd_start,core_misc_ctrl
+	call wait_iicd_done
+	copy regb,pdata
+	istore 3,rega
+	
+iic_check_eeprom_standby:
+	bpatchx patch32_5,mem_patch32
+	jam 0,mem_iicd_tbuf+3
+iic_check_eeprom_standby_wait:
+	setarg 1
+	hstore 2,core_iicd_txlen
+	jam 0xa0,mem_iicd_tbuf
+	setarg mem_iicd_tbuf
+	hstore 2,core_iicd_txaddr
+	setarg 0
+	hstore 2,core_iicd_rxlen
+	hstore 2,core_iicd_rxaddr
+	setarg 3
+	hstore 1,core_iicd_ctrl
+	jam iicd_start,core_misc_ctrl
+	call wait_iicd_done
+	hfetch 1,core_dma_status
+	rtnbit0 iicd_ack
+	nop 1500
+	fetch 1,mem_iicd_tbuf+3
+	increase 1,pdata
+	store 1,mem_iicd_tbuf+3
+	sub pdata,40,null
+	nrtn positive//polling timeout 6ms
+	branch iic_check_eeprom_standby_wait
+
+/* ===================== OTP ======================= */
+
+otp_enable_chgpump:
+	jam 0x70,rfen_chgpump
+	nop param_chgpump_delay
+	rtn
+
+otp_disable_chgpump:
+	jam 0x30,rfen_chgpump
+	rtn
+	
+otp_set_addr:
+	lshift3 pdata,pdata
+	hstore 2,core_otp_addr
+	jam 0,core_otpd_ctrl
+	rtn	
+
+/* pdata = otp address, rega pointers data, loopcnt is count */
+otp_write:
+	call otp_set_addr
+	call otp_ce
+otp_program:
+	ifetcht 1,rega
+	increase 1,rega
+	force 0,queue
+otp_program_bit:
+	qisolate0 temp
+	branch otp_skip_0,true
+	hfetch 1,core_otp_din
+	set1 6,pdata				/* din */
+	set1 7,pdata				/* dle */
+	hstore 1,core_otp_din
+	jam 0x02,core_otp_ctrl	/* web */
+	jam 0x82,core_otp_ctrl
+	set0 7,pdata				/* dle */
+	hstore 1,core_otp_din
+	jam 0x8a,core_otp_ctrl	/* pgmen */
+	nop 11
+	jam 0xca,core_otp_ctrl	/* vppen */
+	nop 33
+	jam 0x4a,core_otp_ctrl	/* web 2nd */
+	nop 44
+	jam 0xca,core_otp_ctrl	/* release web */
+	nop 22
+	jam 0x8a,core_otp_ctrl	/* release vppen */
+	nop 33
+	jam 0x82,core_otp_ctrl	/* release pgmen */
+	nop 1
+	jam 0x92,core_otp_ctrl	/* pgmvfy */
+	nop 10
+	jam 0xb2,core_otp_ctrl	/* readen */
+	hfetch 1,core_otp_rdata
+	jam 0x92,core_otp_ctrl	/* release readen */
+	nop 1
+	jam 0x82,core_otp_ctrl	/* release pgmvfy */
+	qisolate0 pdata
+	branch otp_program_bit,true	/* program error */
+otp_skip_0:
+	hfetch 2,core_otp_addr
+	increase 1,pdata
+	hstore 2,core_otp_addr
+	increase 1,queue
+	compare 8,queue,0xf
+	nbranch otp_program_bit,true
+	loop otp_program
+	jam 0x83,core_otp_ctrl
+	rtn
+
+otp_ce:
+	jam 0x82,core_otp_ctrl	/* ceb */
+	nop 12
+	jam 0x80,core_otp_ctrl	/* rstn */
+	jam 0x82,core_otp_ctrl	/* release rstn */
+	nop 150					/* waiting for vdd25 stable */
+	rtn
+
+	/* rega points to data, temp is count */
+otpd_read_init:
+	call otp_ce
+	jam 0xa2,core_otp_ctrl	/* readen */
+	deposit rega
+	hstore 2,core_otpd_addr
+	set1 11,temp
+	isolate0 15,pdata
+	setflag true,15,temp
+	hstoret 2,core_otpd_len
+	jam otpd_start,core_misc_ctrl
+	rtn
+
+otpd_wait_end:
+	hfetch 1,core_dma_status
+	bbit0 otpd_done,otpd_wait_end
+	rtn
+	
+	/* pdata=otp address, rega points to data, temp is count */
+otpd_read_data:
+	call otp_set_addr
+	call otpd_read_init
+	call otpd_wait_end
+	jam 0x83,core_otp_ctrl	/* release ceb */
+	rtn
+
+
+
+/* rega pointers to buf, temp is length */
+otpd_read_code:	
+	hfetch 2,core_current_otp_addr
+	hstore 2,core_otp_addr
+	call otpd_read_init
+	arg otpd_done,queue
+	call decrypt_code
+	call otpd_wait_end
+	isolate1 otpd_crcok,pdata	
+	call set_ucode_status
+	jam 0x83,core_otp_ctrl	/* release ceb */
+	rtn
+
+/* ===================== uart dma ======================= */
+uartd_prepare_tx:
+	hfetch 2,core_uart_twptr
+	iforce contwu
+	rtn
+
+uartd_send:
+	deposit contwu
+	hstore 2,core_uart_twptr
+	rtn
+
+uartd_rxdone:
+	deposit contru
+	hstore 2,core_uart_rrptr
+	rtn
+
+uartd_prepare_rx:
+	hfetch 2,core_uart_rrptr
+	copy pdata,contru
+	rtn
+
+uart_set_baud_by_mem:
+	fetch uart_baud_len,mem_baud
+	hstore uart_baud_len,core_uart_baud
+	rtn
+
+uart_copy_tx_bytes_fast:
+	deposit loopcnt
+	rtn blank
+uart_copy_tx_bytes_fast_loop:
+	increase -8,loopcnt
+	call uart_tx_8_bytes,positive
+	rtn zero
+	branch uart_copy_tx_bytes_fast_loop,positive
+	increase 8,loopcnt
+uart_copy_tx_bytes_fast_loop_four:
+	increase -4,loopcnt
+	call uart_tx_4_bytes,positive
+	rtn zero
+	branch uart_copy_tx_bytes_fast_loop_four,positive
+	increase 4,loopcnt
+	branch uart_copy_tx_bytes
+
+uart_tx_8_bytes:
+	ifetch 8,contr
+	istore 8,contwu
+	rtn
+
+uart_tx_4_bytes:
+	ifetch 4,contr
+	istore 4,contwu
+	rtn
+
+uart_copy_tx_bytes:
+	deposit loopcnt
+	rtn blank
+uart_copy_tx_bytes_loop:
+	ifetch 1,contr
+	istore 1,contwu
+	loop uart_copy_tx_bytes_loop
+	rtn
+
+uart_copy_rx_bytes_fast:
+	deposit loopcnt
+	rtn blank
+uart_copy_rx_bytes_fast_loop:
+	increase -8,loopcnt
+	call uart_rx_8_bytes,positive
+	rtn zero
+	branch uart_copy_rx_bytes_fast_loop,positive
+	increase 8,loopcnt
+uart_copy_rx_bytes_fast_loop_four:
+	increase -4,loopcnt
+	call uart_rx_4_bytes,positive
+	rtn zero
+	branch uart_copy_rx_bytes_fast_loop_four,positive
+	increase 4,loopcnt
+	branch uart_copy_rx_bytes
+
+uart_rx_8_bytes:
+	ifetch 8,contru
+	istore 8,contw
+	rtn
+
+uart_rx_4_bytes:
+	ifetch 4,contru
+	istore 4,contw
+	rtn
+
+
+uart_copy_rx_bytes:
+	deposit loopcnt
+	rtn blank
+uart_copy_rx_bytes_loop:
+	ifetch 1,contru
+	istore 1,contw
+	loop uart_copy_rx_bytes_loop
+	rtn
+
+
+uart_copy_rx2tx:
+	deposit loopcnt
+	rtn blank
+uart_copy_rx2tx_loop:
+	ifetch 1,contru
+	istore 1,contwu
+	loop uart_copy_rx2tx_loop
+	rtn
+
+
+/* ===================== eeprom data ======================= */
+
+app_store_nvram_event:
+	jam BT_EVT_STORE_NVRAM,mem_fifo_temp
+	branch ui_ipc_send_event
+
+check_51cmd_store_reconn_info:
+check_51cmd_update_device_record:
+	bpatchx patch32_6,mem_patch32
+	fetch 1,mem_nv_data_number
+	rtn blank		// not nv data
+	call check_nvram
+	call init_device_list,zero
+	call nvram_find_addr_from_bd_list
+write_device_record:
+	fetch 1,mem_nv_data_number
+	icopy regc
+	fetcht 2,mem_nv_data_ptr
+	storet 2,mem_list_item_ptr
+write_device_loop_find:
+	copy regc,pdata
+	branch app_store_nvram_event,blank  //EEPROM
+	increase -1,regc
+	copy temp,rega
+	ifetch 1,rega
+	fetcht 1,mem_select_list_item
+	isub temp,null
+	call set_index_finded_device,zero
+	branch write_device_loop_find0,positive
+	ifetch 1,rega
+	increase 1,pdata
+	istore 1,rega
+write_device_loop_find0:
+	fetcht 2,mem_list_item_ptr
+	increase NV_DATA_LEN,temp
+	storet 2,mem_list_item_ptr
+	branch write_device_loop_find
+
+set_index_finded_device:
+	setarg 0
+	istore 1,rega
+	fetch 1,mem_temp_reconn_record
+	istore 1,contw	
+	bne REC_3_MODE,set_index_finded_device_ble_mode
+	arg mem_link_key,regb
+set_index_find_device_MASTER_ADDR:
+	ifetch 6,contr
+	istore 8,contw
+	setarg 0
+	istore 8,contw
+	copy regb,contr
+store_rec_data_common:
+	call memcpy16
+	force 1,null
+	rtn
+
+set_index_finded_device_ble_mode:
+	beq REC_4_MODE_RANDOM_RESOLVABLE_PRIVATE_ADDRESS,set_index_finded_device_IRK
+	beq REC_4_MODE_RANDOM_NON_RESOLVABLE_PRIVATE_ADDRESS,set_index_finded_device_EDIV
+	arg mem_le_ltk,regb
+	branch set_index_find_device_MASTER_ADDR
+
+set_index_finded_device_IRK:
+	arg mem_le_irk,contr
+	call memcpy16
+store_ble_rec_data_common:
+	arg mem_le_ltk,contr
+	branch store_rec_data_common
+
+set_index_finded_device_EDIV:
+	arg mem_le_rand,contr
+	call memcpy16
+	branch store_ble_rec_data_common
+
+
+nvram_find_addr_from_bd_list:
+	call disable_user
+	fetch 1,mem_nv_data_number
+	rtn blank		// not nv data
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BT_CONNECTED,find_addr_from_bd_list_SPP_mode
+find_addr_from_bd_list_ble_mode:
+	bpatchx patch32_7,mem_patch32
+	fetch 1,mem_le_conn_peer_addr_type
+	beq MASTER_PUBLIC_ADDR,find_addr_from_bd_list_static_addr
+	fetch 1,mem_le_plap+5
+	compare 0xc0,pdata,0xc0
+	branch find_addr_from_bd_list_static_addr,true
+	compare 0x40,pdata,0xc0
+	branch find_addr_from_bd_list_random_addr,true
+	compare 0x00,pdata,0xc0
+	branch find_addr_from_bd_list_random_non_resolvable_private_address,true
+find_addr_from_bd_list_static_addr:
+	jam REC_4_MODE_STATIC_ADDRESS,mem_temp_reconn_record
+	fetch 6,mem_le_plap
+	branch find_addr_from_bd_list_common
+	
+find_addr_from_bd_list_random_non_resolvable_private_address:	
+	jam REC_4_MODE_RANDOM_NON_RESOLVABLE_PRIVATE_ADDRESS,mem_temp_reconn_record
+	branch find_addr_from_bd_list_common
+
+//input :pdata EDIV and rands
+find_addr_from_bd_list_random_addr:
+	jam REC_4_MODE_RANDOM_RESOLVABLE_PRIVATE_ADDRESS,mem_temp_reconn_record
+	branch find_addr_from_bd_list_common
+	
+//input :pdata EDIV and rands
+find_addr_from_bd_list_SPP_mode:
+	bpatchx patch33_0,mem_patch33
+	jam REC_3_MODE,mem_temp_reconn_record
+	fetch 6,mem_plap
+find_addr_from_bd_list_common:
+	store 6,mem_temp_reconn_record+1
+	fetch 2,mem_nv_data_ptr
+	ifetcht 1,pdata
+	pincrease 1
+	store 2,mem_list_item_ptr
+	storet 1,mem_select_list_item
+	fetch 1,mem_nv_data_number
+	icopy regc
+nvram_find_addr_from_list:
+	fetch 2,mem_list_item_ptr
+	copy pdata,rega
+	call nvram_find_addr_from_list_compare
+	rtn user
+	fetcht 2,mem_list_item_ptr
+	increase NV_DATA_LEN,temp
+	storet 2,mem_list_item_ptr
+	increase -1,temp
+	ifetch 1,temp
+	store 1,mem_select_list_item
+	increase -1,regc
+	nbranch nvram_find_addr_from_list,zero
+	fetch 1,mem_nv_data_number
+	pincrease DECREASED_ONE
+	store 1,mem_select_list_item
+	rtn
+nvram_find_addr_from_list_compare:
+	fetch 1,mem_temp_reconn_record
+	bne REC_3_MODE,find_addr_from_list_compare_ble_mode
+find_master_addr_from_list_compare:
+	arg mem_temp_reconn_record,regb
+	arg 7,loopcnt
+	call string_compare
+	branch enable_user,zero
+	rtn
+
+find_addr_from_list_compare_ble_mode:
+	beq REC_4_MODE_RANDOM_RESOLVABLE_PRIVATE_ADDRESS,find_irk_form_list_compare
+	beq REC_4_MODE_RANDOM_NON_RESOLVABLE_PRIVATE_ADDRESS,find_ediv_form_list_compare
+	branch find_master_addr_from_list_compare
+
+find_irk_form_list_compare:
+	ifetcht 1,rega
+	isub temp,null
+	nrtn zero
+	arg mem_le_prand,contw
+	arg 16,loopcnt
+	call clear_mem
+	fetch 3,mem_le_plap+3
+	store 3,mem_le_prand
+	call genernate_master_MacAddress
+	fetch 2,mem_le_aes_128+13
+	byteswap pdata,pdata
+	lshift8 pdata,temp
+	ifetch 1,contr
+	iadd temp,pdata
+	fetcht 3,mem_le_plap
+	isub temp,null
+	branch enable_user,zero
+	rtn
+
+
+genernate_master_MacAddress:
+	arg mem_le_prand ,contr
+	call load_data128
+//	arg mem_le_irk,contr
+	ifetch 1,rega
+	call load_regext
+	force 0x38,aes_ctrl
+	force 0x0,aes_ctrl
+	call wait_aes
+	arg mem_le_aes_128,contw
+	branch store_aes_result
+
+find_ediv_form_list_compare:
+	ifetcht 1,rega
+	isub temp,null
+	nrtn zero
+	copy contr,rega
+	add contr,8,regc
+	arg mem_le_rand,regb
+	arg 8,loopcnt
+	call string_compare
+	branch enable_user,zero
+	copy regc,rega
+	arg mem_le_irk,regb
+	arg 8,loopcnt
+	call string_compare
+	branch enable_user,zero
+	rtn
+
+check_nvram:
+	fetch 2,mem_nv_data_ptr
+	ifetcht 1,pdata
+	pincrease NV_DATA_LEN
+	ifetch 1,pdata
+	isub temp,null
+	rtn
+
+init_device_list:
+	fetch 1,mem_nv_data_number
+	icopy loopcnt
+	fetcht 2,mem_nv_data_ptr
+	setarg 0
+init_device_list_loop:
+	istore 1,temp
+	increase NV_DATA_LEN,temp
+	pincrease 1
+	loop init_device_list_loop
+	rtn
+
+load_device_list:
+	bpatchx patch33_1,mem_patch33
+	call nvram_find_addr_from_bd_list
+	fetch 1,mem_state
+	setflag user,state_combkey,pdata	/* we have link key */
+	store 1,mem_state
+	nbranch clear_key_exists,user
+	add rega,10,contr
+//	copy rega,contr
+	arg mem_link_key,contw
+	call  memcpy16
+	branch check_link_key_load
+clear_key_exists:
+	jam 0,mem_link_key_exists
+	rtn
+
+load_device_list_mode_4:
+	fetch 9,mem_le_ediv
+	branch clear_ltk_exists,blank
+	call nvram_find_addr_from_bd_list
+	nbranch clear_ltk_exists,user
+	fetch 2,mem_list_item_ptr
+	add pdata,1,contr
+	arg mem_le_irk,contw
+	call  memcpy16
+	arg mem_le_ltk,contw
+	call  memcpy16
+	jam 1,mem_ltk_exists
+	rtn
+
+clear_ltk_exists:
+	jam 0,mem_ltk_exists
+	rtn
+
+
+eeprom_store_le_reconn_info:
+	fetch 6,mem_le_plap
+	store 6,mem_temp_lap
+	jam REC_4_MODE,mem_record_bt_mode
+	branch eeprom_store_reconn_info
+eeprom_store_bd_reconn_info:
+	fetch 6,mem_plap
+	store 6,mem_temp_lap
+	jam REC_3_MODE,mem_record_bt_mode
+eeprom_store_reconn_info:
+	fetch 1,mem_device_option
+	beq dvc_op_module,check_51cmd_update_device_record
+	bbit1 dvc_op_mouse,mouse_store_remote_bdaddr
+	rtn
+	
+
+check_link_key_load:
+	fetch 8,mem_link_key
+	fetcht 8,mem_link_key+8
+	ior temp,pdata
+	rtn blank
+	jam 1,mem_link_key_exists
+	rtn
+	
+
+/* =============== GPIO CONTROL ================= */
+
+
+	//temp [4:0]=GPIO number, 0-31, 
+gpio_set_wake_by_current_state:
+	bpatchx patch33_2,mem_patch33
+	set1 7,temp
+	call gpio_get_bit
+	nsetflag true,7,temp
+	//branch gpio_set_wake
+	//fall through
+	
+	//temp [4:0]=GPIO number, 0-31, [7]=0, low active
+gpio_set_wake:
+	bpatchx patch33_3,mem_patch33
+	sub temp,UI_BUTTON_GPIO_DISABLE,null
+	rtn zero
+	isolate0 7,temp
+	and temp,0x1f,queue
+	fetch 4,mem_gpio_wakeup_low
+	qsetflag true,pdata
+	store 4,mem_gpio_wakeup_low
+	fetch 4,mem_gpio_wakeup_high
+	nqsetflag true,pdata
+	store 4,mem_gpio_wakeup_high
+	rtn
+	
+	//temp [4:0]=GPIO number, 0-31, [7]=0, low active
+gpio_clr_wake:
+	bpatchx patch33_4,mem_patch33
+	sub temp,UI_BUTTON_GPIO_DISABLE,null
+	rtn zero
+	isolate0 7,temp
+	and temp,0x1f,queue
+	fetch 4,mem_gpio_wakeup_low
+	qset0 pdata
+	store 4,mem_gpio_wakeup_low
+	fetch 4,mem_gpio_wakeup_high
+	qset0 pdata
+	store 4,mem_gpio_wakeup_high
+	rtn
+
+
+gpio_config_input_nowake:
+	call gpio_clr_wake
+	branch gpio_config_input_without_wake
+
+	//temp [4:0]=GPIO number, 0-31, [7]=0, low active
+gpio_config_input:
+	sub temp,UI_BUTTON_GPIO_DISABLE,null
+	rtn zero
+	ncall gpio_set_wake,wake
+
+gpio_config_input_without_wake:
+	arg core_gpio_pd0,contw
+	call gpio_set_bit
+	setflip gpio_active_bit,temp
+	arg core_gpio_pu0,contw
+	call gpio_set_bit
+	set0 gpio_active_bit,temp
+	arg core_gpio_oe0,contw
+	branch gpio_set_bit
+
+
+gpio_set_high_impedance:
+	arg core_gpio_pd0,contw
+	call gpio_set_bit
+	set0 gpio_active_bit,temp
+	arg core_gpio_pu0,contw
+	call gpio_set_bit
+	set0 gpio_active_bit,temp
+	arg core_gpio_oe0,contw
+	branch gpio_set_bit
+
+
+	//temp [4:0]=GPIO number, 0-31, [7]=0, low active. set gpio to inactive state
+gpio_config_output:	
+	sub temp,UI_BUTTON_GPIO_DISABLE,null
+	rtn zero
+	setflip gpio_active_bit,temp
+	call gpio_out
+gpio_config_output0:
+	set1 gpio_active_bit,temp
+	arg core_gpio_oe0,contw
+	branch gpio_set_bit
+	
+gpio_common:
+	and temp,0x07,queue
+	rshift3 temp,pdata
+	and_into 3,pdata
+	iadd contw,contw
+	ifetch 1,contw
+	rtn
+
+gpio_check_active:
+	arg core_gpio_out0,contw
+	branch get_bit_common
+
+	
+	/* temp is gpio number, return true if gpio active */
+gpio_get_bit:
+	arg core_gpio_in,contw
+get_bit_common:
+	call gpio_common
+	isolate1 gpio_active_bit,temp
+	branch gpio_get_bit_reverse,true
+	qisolate0 pdata
+	rtn
+gpio_get_bit_reverse:
+	qisolate1 pdata
+	rtn
+
+gpio_out_inactive:
+	sub temp,UI_BUTTON_GPIO_DISABLE,null
+	rtn zero
+	isolate1 7,null
+	branch gpio_out_flag
+
+gpio_out_active:
+	sub temp,UI_BUTTON_GPIO_DISABLE,null
+	rtn zero
+	isolate0 7,null
+
+	/* temp is gpio number,  [7]=1,set out equa true flag if gpio active */
+gpio_out_flag:
+	setarg 0
+	nsetflag true,gpio_active_bit,pdata
+	ixor temp,temp
+	
+	/* temp is gpio number,0-31, [7]=out bit value */
+gpio_out:
+	arg core_gpio_out0,contw
+
+	//temp [4:0]=GPIO number, 0-31, [7]=bit value; contw is gpio reg base
+gpio_set_bit:
+	call gpio_common
+	isolate1 gpio_active_bit,temp
+	qsetflag true,pdata
+	istore 1,contw
+	rtn
+
+gpio_set_before_lpm_common:
+	arg -1,rega
+	hfetch 1,core_gpio_sel1
+	compare 0x02,pdata,0x03
+	call neglact4_from_23_pin,true	//spi
+
+	compare 0x01,pdata,0x03
+	call neglact2_form_25_pin,true	//two spi gpio25 26
+
+	compare 0x03,pdata,0x03
+	call neglact2_form_25_pin,true	//two spi gpio30 31
+	 	 
+	isolate1 2,pdata
+	call neglect2_from_6_pin,true	//uart
+	 
+	isolate1 3,pdata
+	call neglect4_from_9_pin,true	//spi
+
+	isolate1 4,pdata
+	call neglact2_form_30_pin,true	//IIC GPIO30 31
+
+	isolate1 6,pdata
+	nsetflag true,04,rega			//pwm0 gpio4
+
+	isolate1 7,pdata
+	nsetflag true,05,rega			//pwm1 gpio5
+
+	hfetch 1,core_gpio_sel2
+	isolate1 0,pdata
+	nsetflag true,27,rega			//pwm2 gpio27
+	isolate1 1,pdata
+	nsetflag true,28,rega			//pwm3 gpio28
+	isolate1 2,pdata
+	nsetflag true,03,rega			//pwm4 gpio03
+	isolate1 3,pdata
+	nsetflag true,08,rega			//pwm5 gpio08
+	isolate1 4,pdata
+	nsetflag true,20,rega			//pwm0 gpio20
+	isolate1 5,pdata
+	nsetflag true,21,rega			//pwm1 gpio21
+	isolate1 6,pdata
+	nsetflag true,22,rega			//pwm2 gpio22
+	isolate1 7,pdata
+	nsetflag true,23,rega			//pwm3 gpio23
+		
+	hfetch 1,core_gpio_sel
+	isolate1 0,pdata
+	nsetflag true,05,rega			//ADC GPIO05
+	isolate1 1,pdata
+	nsetflag true,06,rega			//ADC GPIO06
+	isolate1 2,pdata
+	nsetflag true,07,rega			//ADC GPIO07
+	isolate1 3,pdata
+	nsetflag true,18,rega			//ADC GPIO18
+	isolate1 4,pdata
+	nsetflag true,19,rega			//ADC GPIO19
+	isolate1 5,pdata
+	nsetflag true,20,rega			//ADC GPIO20
+	isolate1 6,pdata
+	nsetflag true,21,rega			//ADC GPIO21
+	isolate1 7,pdata
+	nsetflag true,22,rega			//ADC GPIO22
+	
+	hfetch 1,core_uart_ctrl
+	isolate1 4,pdata
+	call neglact2_form_2_pin,true
+	bpatchx patch33_5,mem_patch33
+
+	hfetch 4,core_gpio_pu0
+	hfetcht 4,core_gpio_pd0
+	ior temp,pdata
+	invert pdata,pdata
+	iand rega,pdata
+	//set0 4,pdata //revc
+	hstore 4,core_gpio_oe0
+	rtn
+	
+	
+neglect2_from_6_pin: //uart
+	 arg 6,queue
+	 branch neglect_2_pin
+neglect4_from_9_pin:
+	 arg 9,queue
+	 branch neglact_4_pin
+neglact4_from_23_pin:
+	 arg 23,queue
+	 branch neglact_4_pin
+neglact2_form_25_pin:
+	 arg 25,queue
+	 branch neglect_2_pin
+neglact2_form_30_pin:
+	 arg 30,queue
+	 branch neglect_2_pin
+neglact2_form_2_pin:
+	 arg 2,queue
+	 branch neglect_2_pin
+neglact_1_pin:
+	arg 1,loopcnt
+	branch neglect_pin_loop
+neglact_4_pin:
+	 arg 4,loopcnt
+	 branch neglect_pin_loop
+neglect_2_pin:
+	 arg 2,loopcnt
+neglect_pin_loop:
+	 qset0 rega
+	 increase 1,queue
+	 loop neglect_pin_loop
+	 rtn
+
+
+
+
+
+
+/* ===================== sniff GPIO CONTROL ======================= */
+gpio_cfg_uart_tx_output:
+	call gpio_uart2gpio
+	arg UART_WAKEUP_TX,temp
+	branch gpio_config_output
+
+gpio_pu_uart_tx:
+	call gpio_cfg_uart_tx_output
+	arg UART_WAKEUP_TX,temp
+	branch gpio_out_inactive
+
+
+
+gpio_rx_config_input_with_pu:
+	call gpio_uart2gpio
+	hfetch 1, core_gpio_pu0
+	set1 UART_WAKEUP_RX,pdata
+	hstore 1,core_gpio_pu0
+	arg UART_WAKEUP_RX,temp
+	branch gpio_config_input
+	
+gpio_uart2gpio:
+	hfetch 1,core_gpio_sel1
+	and_into 0xfb,pdata
+	hstore 1,core_gpio_sel1
+	rtn
+
+gpio_check_uart_state:
+	hfetch 1,core_gpio_sel1
+	isolate1 2,pdata
+	rtn
+
+load_chip_option:
+	call otp_enable_chgpump
+	setarg OTP_CHIP_FUNCTIONS
+	arg mem_chip_functions,rega
+	arg 0x02,temp
+	call otpd_read_data
+	branch otp_disable_chgpump
+
+
+load_adc_init:
+	call otp_enable_chgpump
+	setarg otp_adc_io_0_5V_addr
+	arg mem_0_5_adc_io_data,rega
+	arg 14,temp
+	call otpd_read_data
+	branch otp_disable_chgpump
+
+
+//mem_adc_config_flag 0:vinlpm 1:Hvin 2: GPIO
+adc_init_data:
+	bpatchx patch33_6,mem_patch33
+
+	call load_adc_init
+	
+	fetch 1,mem_adc_config_flag
+	beq ADC_CONFIG_VINLPM,adc_init_data_vinlpm
+	beq ADC_CONFIG_HVIN,adc_init_data_hvin
+	beq ADC_CONFIG_GPIO,adc_init_data_io
+	rtn	
+
+adc_init_data_vinlpm:
+	fetcht 2,mem_otp_adc_flag
+	setarg OTP_ADC_FLAG
+	isub temp,null
+	branch adc_check_data_vinlpm,zero
+	setarg 0x4dfa
+	store 2,mem_3v_adc_vinlpm_data	
+	setarg 0x4894
+	store 2,mem_2v_adc_vinlpm_data
+	branch set_vdd_reference_voltage_1v
+
+adc_check_data_vinlpm:
+	fetch 2,mem_3v_adc_vinlpm_data
+	nbranch adc_check_2v_vinlpm,blank
+	setarg 0x4dfa
+	store 2,mem_3v_adc_vinlpm_data
+adc_check_2v_vinlpm:	
+	fetch 2,mem_2v_adc_vinlpm_data
+	nbranch set_vdd_reference_voltage_1v,blank
+	setarg 0x4894
+	store 2,mem_2v_adc_vinlpm_data
+set_vdd_reference_voltage_1v:
+	setarg 100
+	store 2,mem_reference_voltage //set reference voltage = 1V
+	rtn		
+
+adc_init_data_hvin:
+	fetcht 2,mem_otp_adc_flag
+	setarg OTP_ADC_FLAG
+	isub temp,null
+	branch adc_check_data_hvin,zero
+	setarg 0x5932
+	store 2,mem_5v_adc_hvin_data	
+	setarg 0x4323
+	store 2,mem_1v_adc_hvin_data
+	branch set_vdd_reference_voltage_4v
+
+adc_check_data_hvin:
+	fetch 2,mem_5v_adc_hvin_data
+	nbranch adc_check_1v_hvin,blank
+	setarg 0x5932
+	store 2,mem_5v_adc_hvin_data
+adc_check_1v_hvin:	
+	fetch 2,mem_1v_adc_hvin_data
+	nbranch set_vdd_reference_voltage_4v,blank
+	setarg 0x4323
+	store 2,mem_1v_adc_hvin_data
+set_vdd_reference_voltage_4v:
+	setarg 400
+	store 2,mem_reference_voltage //set reference voltage = 4V
+	rtn 	
+
+adc_init_data_io:
+	fetcht 2,mem_otp_adc_flag
+	setarg OTP_ADC_FLAG
+	isub temp,null
+	branch adc_check_data_io,zero
+	setarg 0x6946
+	store 2,mem_1v_adc_io_data	
+	setarg 0x5377
+	store 2,mem_0_5_adc_io_data
+	branch set_vdd_reference_voltage_0_5v
+
+adc_check_data_io:
+	fetch 2,mem_1v_adc_io_data
+	nbranch adc_check_0_5v_io,blank
+	setarg 0x6946
+	store 2,mem_1v_adc_io_data
+adc_check_0_5v_io:
+	fetch 2,mem_0_5_adc_io_data
+	nbranch set_vdd_reference_voltage_0_5v,blank
+	setarg 0x5377
+	store 2,mem_0_5_adc_io_data
+set_vdd_reference_voltage_0_5v:
+	setarg 50
+	store 2,mem_reference_voltage //set reference voltage = 0.5V
+	rtn	
+
+
+adc_set_mode:
+	fetch 1,mem_adc_config_flag
+	beq ADC_CONFIG_VINLPM,adc_check_vinlpm
+	beq ADC_CONFIG_HVIN,adc_check_hvin
+	beq ADC_CONFIG_GPIO,adc_check_gpio
+	rtn
+adc_check_vinlpm:
+	jam 0xbf,rf_adc_mode	//read VINLPM voltage directly	
+	branch read_adc
+adc_check_hvin:
+	jam 0xaf,rf_adc_mode	//read HVIN voltage directly
+	branch read_adc
+adc_check_gpio:
+	jam 0x8f,rf_adc_mode
+	fetch 1,mem_adc_channel
+	hstore 1,rf_adc_ch
+	branch read_adc
+read_adc:
+	bpatchx patch33_7,mem_patch33
+	hfetch 1,core_uart_baud + 1
+	set1 7,pdata
+	hstore 1,core_uart_baud + 1 
+	hfetch 1,rf_adc_ch
+	or_into 0x30,pdata
+	hstore 1,rf_adc_ch
+	jam 0x7c,rfen_adc
+	jam 0xaa,rf_adc_gc
+	nop 5000
+	hfetcht 2,core_adc_sum
+	hfetch 1,core_uart_baud + 1
+	set0 7,pdata
+	hstore 1,core_uart_baud + 1
+	storet 2,mem_adc_current_value
+	rtn
+
+vdd_calculate_by_mode:
+	bpatchx patch34_0,mem_patch34
+	fetch 1,mem_adc_config_flag
+	beq ADC_CONFIG_VINLPM,vdd_calculate_vinlpm
+	beq ADC_CONFIG_HVIN,vdd_calculate_hvin
+	beq ADC_CONFIG_GPIO,vdd_calculate_io
+	rtn
+
+vdd_calculate_vinlpm:
+	fetch 2,mem_3v_adc_vinlpm_data
+	fetcht 2,mem_2v_adc_vinlpm_data
+	arg 200,regc
+	branch vdd_calculate
+
+vdd_calculate_hvin:
+	fetch 2,mem_5v_adc_hvin_data
+	fetcht 2,mem_1v_adc_hvin_data
+	arg 100,regc
+	branch vdd_calculate
+
+vdd_calculate_io:
+	fetch 2,mem_1v_adc_io_data
+	fetcht 2,mem_0_5_adc_io_data
+	arg 50,regc
+	branch vdd_calculate
+	
+vdd_calculate:
+	isub temp,rega
+	fetch 2,mem_adc_current_value
+	isub temp,pdata
+	nbranch vdd_calculate1,positive
+	fetcht 2,mem_reference_voltage
+	imul32 temp,regb
+	copy regc,pdata
+	imul32 rega,pdata
+	iadd regb,pdata
+vdd_calculate2:
+	idiv rega
+	call wait_div_end
+	quotient pdata	
+	rtn
+
+vdd_calculate1:
+	copy temp,pdata
+	fetcht 2,mem_adc_current_value
+	isub temp,pdata
+	fetcht 2,mem_reference_voltage
+	imul32 temp,regb
+	copy regc,pdata
+	imul32 rega,pdata
+	isub regb,pdata
+	branch vdd_calculate2
+
+/*	typedef struct
+*	{
+*		uint16 full_vol
+*		uint16 empty_vol
+*		uint16 low_vol
+*		uint16 now_vol
+*	}bat_calculate;
+*/
+//out:	pdata->bat percent
+adc_bat_percent_lowpower_out:
+	ifetch 8,rega
+	store 8,mem_pdatatemp
+	fetch 2,mem_pdatatemp
+	fetcht 2,mem_pdatatemp+2
+	isub temp,rega
+	fetch 2,mem_pdatatemp+6
+	isub temp,regb
+	fetcht 2,mem_pdatatemp+4
+	isub temp,null
+	ncall adc_set_low_power_flag,positive
+	mul32 regb,100,pdata
+	idiv rega
+	call wait_div_end
+	quotient pdata
+	call adc_set_no_power_flag,blank
+	rtn
+adc_set_low_power_flag:
+	fetch 1,mem_adc_power_flag
+	set1 0,pdata
+	store 1,mem_adc_power_flag
+	rtn
+adc_set_no_power_flag:
+	fetcht 1,mem_adc_power_flag
+	set1 1,temp
+	storet 1,mem_adc_power_flag
+	rtn
+
+ifdef SPI_SIMULATE
+/******************************simulate spi slave start**********************************/
+
+/*
+// Define SPI struct, gpio config
+mem_spi_simulate_struct:
+02	#cs
+03	#sclk
+04	#mosi
+05	#miso
+08	#motion
+*/
+
+/*
+Brief: spi_simulate_init_slave
+Input: None
+Output: None
+Return: None
+Brief: cs_gpio,sclk_gpio,mosi_gpio : input
+	miso_gpio : output
+*/
+spi_simulate_init_slave:
+	call spi_simulate_variable_release_slave
+	branch spi_simulate_gpio_config_slave
+
+spi_simulate_variable_release_slave:
+	arg mem_spi_simulate_read_byte_slave,contw
+	arg 53,loopcnt
+	call buffer_release
+	arg mem_spi_simulate_write_byte_slave,contw
+	arg 54,loopcnt
+	branch buffer_release
+
+buffer_release:
+	setarg 0
+buffer_release_loop:
+	istore 1,contw
+	loop buffer_release_loop
+	rtn
+	
+spi_simulate_gpio_config_slave:
+	fetcht 1,mem_spi_simulate_cs_gpio
+	call gpio_config_input
+	fetcht 1,mem_spi_simulate_sclk_gpio
+	call gpio_config_input
+	fetcht 1,mem_spi_simulate_mosi_gpio
+	call gpio_config_input
+	fetcht 1,mem_spi_simulate_miso_gpio
+	call gpio_config_output
+	fetcht 1,mem_spi_simulate_motion_gpio
+	call gpio_config_output
+	branch spi_simulate_motion_disable
+
+spi_simulate_motion_enable:
+	fetcht 1,mem_spi_simulate_motion_gpio
+	branch gpio_out_inactive
+spi_simulate_motion_disable:
+	fetcht 1,mem_spi_simulate_motion_gpio
+	branch gpio_out_active
+	
+/*
+Brief: spi_simulate_read_byte_slave
+Input: rega: read length
+Output: mem_spi_simulate_read_byte_slave: read buffer
+Return: None
+Brief: when the cs_gpio is low level,slave reads data from master at the rising edge of the sclk gpio
+*/
+spi_simulate_read_byte_slave:
+	copy rega,pdata
+	store 1,mem_spi_simulate_read_length_slave
+	fetcht 1,mem_spi_simulate_cs_gpio
+	call gpio_get_bit
+	nrtn true
+spi_simulate_read_byte_slave1:	
+	jam 0,mem_spi_simulate_read_byte_slave_temp
+	arg 8,loopcnt
+spi_simulate_read_byte_slave_loop:
+	fetcht 1,mem_spi_simulate_cs_gpio
+	call gpio_get_bit
+	nbranch spi_simulate_read_byte_slave_end,true
+	
+	fetcht 1, mem_spi_simulate_sclk_gpio
+	call gpio_get_bit
+	branch spi_simulate_read_byte_slave_loop,true	
+	fetch 1,mem_spi_simulate_read_byte_slave_temp
+	lshift pdata,pdata
+	store 1,mem_spi_simulate_read_byte_slave_temp
+	fetcht 1, mem_spi_simulate_mosi_gpio
+	call gpio_get_bit
+	ncall spi_simulate_read_byte_or_one,true
+spi_simulate_read_byte_slave_loop1:	
+	fetcht 1,mem_spi_simulate_cs_gpio
+	call gpio_get_bit
+	nbranch spi_simulate_read_byte_slave_end,true
+
+	fetcht 1, mem_spi_simulate_sclk_gpio
+	call gpio_get_bit
+	nbranch spi_simulate_read_byte_slave_loop1,true
+	loop spi_simulate_read_byte_slave_loop
+	
+	fetcht 1,mem_spi_simulate_read_length_slave_temp
+	setarg mem_spi_simulate_read_byte_slave
+	iadd temp,contw
+	copy contw,regb
+	increase 1,temp
+	storet 1,mem_spi_simulate_read_length_slave_temp
+	fetch 1,mem_spi_simulate_read_byte_slave_temp
+	copy regb,contw
+	istore 1,contw
+
+	fetch 1,mem_spi_simulate_read_length_slave
+	increase -1,pdata
+	store 1,mem_spi_simulate_read_length_slave
+	nbranch spi_simulate_read_byte_slave1,blank
+	
+spi_simulate_read_byte_slave_loop2:	
+	fetcht 1, mem_spi_simulate_cs_gpio
+	call gpio_get_bit
+	nbranch spi_simulate_read_byte_slave_loop2,true
+spi_simulate_read_byte_slave_end:	
+	jam 0,mem_spi_simulate_read_length_slave
+	jam 0,mem_spi_simulate_read_length_slave_temp
+	jam 0,mem_spi_simulate_read_byte_slave_temp
+	rtn
+
+spi_simulate_read_byte_or_one:
+	fetch 1,mem_spi_simulate_read_byte_slave_temp
+	or_into 1,pdata
+	store 1,mem_spi_simulate_read_byte_slave_temp
+	rtn
+
+
+/*
+Brief: spi_simulate_write_byte_slave
+Input: rega: write length;  write buffer:mem_spi_simulate_write_byte_slave;
+Output: None
+Return: None
+Brief: when the cs_gpio is low level,slave writes data to master at the falling edge of the sclk gpio
+*/
+spi_simulate_write_byte_slave:
+	copy rega,pdata
+	store 1,mem_spi_simulate_write_length_slave
+	jam 0,mem_spi_simulate_write_length_slave_temp
+	jam 0,mem_spi_simulate_write_byte_slave_temp
+	fetcht 1,mem_spi_simulate_cs_gpio
+	call gpio_get_bit
+	nrtn true
+spi_simulate_write_byte_slave1:
+	fetcht 1,mem_spi_simulate_write_length_slave_temp
+	setarg mem_spi_simulate_write_byte_slave
+	iadd temp,contr
+	copy contr,regb
+	increase 1,temp
+	storet 1,mem_spi_simulate_write_length_slave_temp
+	copy regb,contr
+	ifetch 1,contr
+	store 1,mem_spi_simulate_write_byte_slave_temp
+	
+	arg 8,loopcnt
+spi_simulate_write_byte_slave_loop:
+	fetcht 1,mem_spi_simulate_cs_gpio
+	call gpio_get_bit
+	nbranch spi_simulate_write_byte_slave_end,true
+	fetcht 1, mem_spi_simulate_sclk_gpio
+	call gpio_get_bit
+	branch spi_simulate_write_byte_slave_loop,true
+spi_simulate_write_byte_slave_loop1:
+	fetch 1,mem_spi_simulate_write_byte_slave_temp
+	store 1,mem_spi_simulate_write_byte_slave_temp_temp
+	and_into 0x80,pdata
+	beq 0x80,spi_simulate_set_miso_gpio_high
+	call spi_simulate_set_miso_gpio_low
+spi_simulate_write_byte_slave_loop2:
+	fetcht 1,mem_spi_simulate_cs_gpio
+	call gpio_get_bit
+	nbranch spi_simulate_write_byte_slave_end,true
+	fetcht 1, mem_spi_simulate_sclk_gpio
+	call gpio_get_bit
+	nbranch spi_simulate_write_byte_slave_loop2,true	
+	fetch 1,mem_spi_simulate_write_byte_slave_temp_temp
+	lshift pdata,pdata
+	store 1,mem_spi_simulate_write_byte_slave_temp
+	loop spi_simulate_write_byte_slave_loop
+
+	fetch 1,mem_spi_simulate_write_length_slave
+	increase -1,pdata
+	store 1,mem_spi_simulate_write_length_slave
+	nbranch spi_simulate_write_byte_slave1,blank
+	
+spi_simulate_write_byte_slave_loop3:
+	fetcht 1,mem_spi_simulate_cs_gpio
+	call gpio_get_bit
+	branch spi_simulate_write_byte_slave_loop3,true
+spi_simulate_write_byte_slave_end:	
+	jam 0,mem_spi_simulate_write_length_slave_temp
+	jam 0,mem_spi_simulate_write_byte_slave_temp
+	jam 0,mem_spi_simulate_write_byte_slave_temp_temp
+	rtn
+	
+spi_simulate_set_miso_gpio_high:
+	fetcht 1,mem_spi_simulate_miso_gpio
+	call gpio_out_inactive
+	branch spi_simulate_write_byte_slave_loop2
+spi_simulate_set_miso_gpio_low:
+	fetcht 1,mem_spi_simulate_miso_gpio
+	branch gpio_out_active	
+
+/******************************simulate spi slave end**********************************/
+
+endif  //SPI_SIMULATE
+
+
+/****************************************key scan***************************************/
+keyscan_key_init:
+	fetch 2,mem_key_num_ptr
+	ifetch 1,pdata
+keyscan_key_init_next:
+	rtn blank
+	copy pdata,loopcnt
+//	copy contr,rega
+	fetch 2,mem_keyscan_ptr
+	increase 3,pdata	//mem_key_conf0_pin
+	copy pdata,rega
+keyscan_key_init_lp1:
+	ifetcht 1, rega
+	call gpio_config_input
+	increase KEY_CONF_STRUCT_LEN,rega
+	loop keyscan_key_init_lp1
+keyscan_key_init_end:
+	rtn
+	
+keyscan_scan_key:
+	fetch 2,mem_keyscan_ptr
+	increase 3,pdata	//mem_key_conf0_pin
+	copy pdata,rega
+//	arg mem_key_conf0_pin,rega
+	force 0,regb
+	jam 0,mem_key_value_temp
+keyscan_scan_key_lp1:
+	ifetcht 1, rega
+	call gpio_get_bit
+	bpatchx patch34_1,mem_patch34
+	fetch 2, mem_key_value_temp
+	copy regb,queue
+	qsetflag true,pdata
+	store 2, mem_key_value_temp
+	increase KEY_CONF_STRUCT_LEN,rega
+	increase 1,regb
+	fetch 2,mem_key_num_ptr
+	ifetch 1,pdata
+keyscan_scan_key_lp1_next:
+	ixor regb,null
+	nbranch keyscan_scan_key_lp1,zero
+	fetch 2,mem_key_value_temp
+	fetcht 2,mem_key_value
+	ixor temp,null
+	rtn zero
+	enable user
+	rtn
+
+keyscan_process_lpm_before:
+	fetch 2,mem_key_num_ptr
+	ifetch 1,pdata
+keyscan_process_lpm_before_next:
+	rtn blank
+	copy pdata,loopcnt
+	fetch 2,mem_keyscan_ptr 
+	increase 3,pdata	//mem_key_conf0_pin
+	copy pdata,rega
+keyscan_process_lpm_before_lp1:
+	ifetcht 1, rega
+	call gpio_set_wake_by_current_state
+	increase KEY_CONF_STRUCT_LEN,rega
+	loop keyscan_process_lpm_before_lp1
+keyscan_process_lpm_before_end:
+	rtn
+
+keyscan_key_process:
+	arg key_scan_timer,queue
+	call timer_check
+	nrtn blank
+	setarg 0x20
+	arg key_scan_timer,queue
+	call timer_init
+	disable user
+	call keyscan_process_lpm_before
+	bpatchx patch34_2,mem_patch34
+	fetch 2,mem_key_num_ptr
+	ifetch 1,pdata
+keyscan_key_process_next:
+	rtn blank
+	call keyscan_scan_key
+	nbranch lpm_button_clean_wake_lock,user
+	call lpm_button_get_wake_lock
+	disable user
+	fetch 2, mem_key_value_temp
+	store 2,mem_key_value_temp4
+	jam 0,mem_key_value_temp6
+	force 0,queue
+keyscan_key_lp1:
+	fetch 2, mem_key_value
+	rshift pdata,temp
+	storet 2,mem_key_value
+	and pdata,0x01,pdata
+	fetcht 2, mem_key_value_temp4
+	and temp,0x01,rega
+	rshift temp,temp
+	storet 2,mem_key_value_temp4
+	ixor rega,null
+	ncall keyscan_send_key_data,zero
+	fetch 2,mem_key_num_ptr
+	ifetch 1,pdata
+keyscan_key_lp1_next:
+	fetcht 1, mem_key_value_temp6
+	increase 1,temp
+	storet 1, mem_key_value_temp6
+	copy temp,queue
+	ixor queue,null
+	nbranch keyscan_key_lp1,zero
+	fetch 2,mem_key_value_temp
+	store 2, mem_key_value
+	rtn
+keyscan_send_key_data:
+	bpatchx patch34_3,mem_patch34
+	fetch 2,mem_keyscan_ptr
+	increase 1,pdata
+	ifetch 2,pdata
+	branch callback_func
+
+
+/*************************************pwm*************************************/
+
+//rega:clk select(0:system clk; 1:system clk undivied; 2:lpo)
+/*rega:clk select
+			0x00:select system clock 12M;
+			0x40:select undivied system clock 24M/48M;
+			0x80:select lpo clock:33K
+*/
+pwm_init:
+	hfetch 1,core_clksel
+	ior rega,pdata
+	hstore 1,core_clksel
+	hfetch 2,core_clkoff
+	set0 CLOCK_OFF_PWM,pdata
+	hstore 2,core_clkoff
+	nop 100
+	rtn
+
+/*	typedef struct
+*	{
+*		uint8 gpio_num
+*		uint8 pwm_channel
+*		uint24 frequency
+*		uint8 duty_cycle   //0-100
+*	}PWM_Style;
+	addr: mem_pdatatemp
+*/
+pwm_out_set:
+	fetcht 3,mem_pdatatemp+2
+	setarg PWM_12MHZ
+	idiv temp
+	call wait_div_end
+	quotient temp
+	fetch 1,mem_pdatatemp+5
+	imul32 temp,pdata
+	div pdata,100
+	call wait_div_end
+	quotient rega
+	copy temp,pdata
+	isub rega,regb	
+	fetch 1,mem_pdatatemp+1
+	call pwm_duty_cycle_set
+	fetch 1,mem_pdatatemp
+	branch pwm_enable
+
+//rega:pcnt ;regb:ncnt ;pdata:pwm channel select
+pwm_duty_cycle_set:
+	beq 0,pwm_pwm0_duty_set
+	beq 1,pwm_pwm1_duty_set
+	beq 2,pwm_pwm2_duty_set
+	beq 3,pwm_pwm3_duty_set
+	beq 4,pwm_pwm4_duty_set
+	beq 5,pwm_pwm5_duty_set
+pwm_pwm0_duty_set:
+	arg core_pwm_pcnt0,contw
+	branch pwm_set_pncnt
+pwm_pwm1_duty_set:
+	arg core_pwm_pcnt1,contw
+	branch pwm_set_pncnt
+pwm_pwm2_duty_set:
+	arg core_pwm_pcnt2,contw
+	branch pwm_set_pncnt
+pwm_pwm3_duty_set:
+	arg core_pwm_pcnt3,contw
+	branch pwm_set_pncnt
+pwm_pwm4_duty_set:
+	arg core_pwm_pcnt4,contw
+	branch pwm_set_pncnt
+pwm_pwm5_duty_set:
+	arg core_pwm_pcnt5,contw
+	branch pwm_set_pncnt
+pwm_set_pncnt:
+	copy rega,pdata
+	istore 2,contw
+	copy regb,pdata
+	istore 2,contw
+	rtn
+
+
+//pdata:gpio select
+pwm_enable:
+	enable user
+	branch pwm_gpio_set
+pwm_disable:
+	disable user
+pwm_gpio_set:
+	beq 4,pwm_gpio4_set
+	beq 5,pwm_gpio5_set
+	beq 27,pwm_gpio27_set
+	beq 28,pwm_gpio28_set
+	beq 3,pwm_gpio3_set
+	beq 8,pwm_gpio8_set
+	beq 20,pwm_gpio20_set
+	beq 21,pwm_gpio21_set
+	beq 22,pwm_gpio22_set
+	beq 23,pwm_gpio23_set
+	rtn
+
+
+pwm_gpio4_set:	//pwm 0
+	arg 6,queue
+	branch pwm_one_set_select
+pwm_gpio5_set:	//pwm 1
+  	arg 7,queue
+	branch pwm_one_set_select
+pwm_gpio27_set:	//pwm 2
+  	arg 8,queue
+	branch pwm_one_set_select
+pwm_gpio28_set:	//pwm 3
+	arg 9,queue
+	branch pwm_one_set_select
+pwm_gpio3_set:	//pwm 4
+ 	arg 10,queue
+	branch pwm_one_set_select
+pwm_gpio8_set:	//pwm 5
+  	arg 11,queue
+	branch pwm_one_set_select
+pwm_gpio20_set:	//pwm 0
+  	arg 12,queue
+	branch pwm_tw0_set_select
+pwm_gpio21_set:	//pwm 1
+  	arg 13,queue
+	branch pwm_tw0_set_select
+pwm_gpio22_set:	//pwm 2
+   	arg 14,queue
+	branch pwm_tw0_set_select
+pwm_gpio23_set:	//pwm 3
+    	arg 15,queue
+	branch pwm_tw0_set_select
+
+pwm_set_select:
+	hfetch 2,core_gpio_sel1
+	qsetflag user,pdata
+	hstore 2,core_gpio_sel1
+	copy rega,queue
+	hfetch 1,core_gpio_key2
+   	qsetflag user,pdata
+   	hstore 1,core_gpio_key2
+	rtn
+
+pwm_one_set_select:
+	add queue,-4,rega
+	branch pwm_set_select
+
+pwm_tw0_set_select:
+	add queue,-10,rega
+	branch pwm_set_select
+
+
+	
Index: rom/rom.format
===================================================================
--- /branch/mouse_project/ZhongXinSheng/ZXS_1062/MJ391_24G&BLE_PB/rom/rom.format	(revision 0)
+++ /branch/mouse_project/ZhongXinSheng/ZXS_1062/MJ391_24G&BLE_PB/rom/rom.format	(working copy)
@@ -0,0 +1,8220 @@
+
+	width = 32
+	const length = 12000
+
+	/* ========= memory ============== */
+memalloc(
+/* 00-0f most frequently used area  */
+1 mem_le_adv_transmit
+1 mem_le_adv_waitcnt
+1 mem_le_adv_rcv
+1 mem_le_req_rcv
+1 mem_le_scanrsp_rcv
+1 mem_le_conn_rcv
+
+1 mem_inquiryscan_waitcnt
+1 mem_inquiryscan_rcvcnt
+1 mem_pagescan_waitcnt
+1 mem_pagescan_rcvcnt
+1 mem_pagescan_rcvfhscnt
+1 mem_slave_rcvcnt
+1 mem_page_transmit
+1 mem_page_rcv
+1 mem_page_rcv_fhs
+1 mem_master_rcvcnt
+
+/* 10-1f debug area */
+1 mem_fhs_wait_counter
+1 mem_newconnto_counter
+1 mem_inquiry_transmit
+1 mem_inquiry_rcv
+1 mem_fw_ver
+1 mem_current_context
+1 mem_le_ch_mapped
+1 mem_last_freq
+1 mem_rssi
+1 mem_rx_type
+2 mem_rx_hec_err
+2 mem_rx_crc_err
+2 mem_context_ptr
+8 mem_display
+8 mem_bcd
+
+		/* context swappable area */
+1 mem_state
+1 mem_mode
+2 mem_tsniff
+4 mem_sniff_anchor
+6 mem_clk_offset
+2 mem_rx_window
+3 mem_plap
+1 mem_puap
+2 mem_pnap
+1 mem_conn_handle
+1 mem_arq
+1 mem_lmp_to_send
+1 mem_lmi_opcode
+1 mem_lmo_reason
+1 mem_op
+1 mem_state_map
+4 mem_supervision_timer
+2 mem_supervision_to
+1 mem_name_offset
+1 mem_key_size
+1 mem_conn_sm
+12 mem_aco
+16 mem_kc
+1 mem_conn_timer
+1 mem_sniff_attempt
+1 mem_sniff_timeout
+2 mem_dsniff
+1 mem_amaddr
+1 mem_lmo_opcode1
+1 mem_lmi_opcode1
+1 mem_lmo_reason1
+1 mem_lmo_tid1
+1 mem_lmo_opcode2
+1 mem_lmi_opcode2
+1 mem_lmo_reason2
+1 mem_lmo_tid2
+
+3 mem_hci_version
+2 mem_acl_pktlen
+1 mem_sco_pktlen
+2 mem_acl_pktcnt
+2 mem_sco_pktcnt
+
+1 mem_current_sniff_attempt
+1 mem_current_sniff_timeout
+1 mem_sniff_timeout_temp
+1 mem_nfreq_index_inq
+1 mem_nfreq_index_page
+1 mem_ninqy_index
+1 mem_fhs_misc
+
+
+
+/* lpo related */
+4 mem_subsniff_instant
+1 mem_subsniff_rate
+2 mem_subsniff_tcmax
+1 mem_subsniff_tsniff
+1 mem_lpm_adjust
+6 mem_sync_clke
+1 mem_lpm_current_mult
+4 mem_gpio_wakeup_low
+4 mem_gpio_wakeup_high
+	
+
+/* sco & esco */
+1 mem_air_mode
+1 mem_sco_asso_handle
+2 mem_sco_handle
+1 mem_esco_desco
+1 mem_esco_type
+1 mem_neogotiation_state
+1 mem_saved_amaddr
+1 mem_esco_arq
+1 mem_esco_saved_arq
+30 mem_sco_obuf
+30 mem_sco_ibuf
+1 mem_sco_poll
+
+
+
+//page
+1 mem_npage_index
+1 mem_page_mode
+4 mem_page_clk
+
+
+/* test related */
+2 mem_tst_pktcnt_sync
+2 mem_tst_pktcnt_hec
+2 mem_tst_pktcnt_crc
+2 mem_tst_pktcnt_dmh
+3 mem_tmp_buffer_head
+80 mem_tmp_buffer
+
+
+1 mem_tester_emulate
+0 mem_temp_payload
+1 test_mode_scenario
+1 test_mode_hopping_mode
+1 test_mode_tx_freq
+1 test_mode_rx_freq
+1 test_mode_power_mode
+1 test_mode_poll_period
+1 test_mode_packet_type
+2 test_mode_data_length
+1 mem_test_mode_old_debug_config
+1 mem_tester_cnt
+
+
+/*temp mem*/
+1 mem_temp_am_addr
+1 mem_temp_arq
+
+//
+2 mem_len
+4 mem_clkn_bt
+4 mem_clke_bt
+4 mem_dpll_clkn
+1 mem_connection_options
+
+1 mem_nameres_cnt
+2 mem_txptr
+2 mem_slot_offset
+
+//extm
+1 extm_fhs_misc
+1 extm_newconn_am_addr
+3 extm_class
+3 extm_lap
+1 extm_uap
+3 extm_nap
+
+
+//debug
+1 mem_debug_config
+1 mem_lch_code
+1 mem_fhs_am_addr
+2 mem_dpll_error
+1 mem_select_list_item
+0 mem_temp_reconn_record
+1 mem_record_bt_mode
+6 mem_temp_lap
+2 mem_list_item_ptr
+
+100 mem_eir
+)
+
+memalloc(
+
+/* load code */
+1 mem_ucode_status
+2 mem_otp_ucode_flag
+1 mem_spid_tbuf				/* spid buf: 03 addr[23:16] addr[15:8] addr[7:0] */
+0 mem_iicd_tbuf				/* iicd buf: iic_adr addr[15:8] addr[7:0] iic_adr */
+1 mem_addr_hi
+1 mem_addr_mi
+1 mem_addr_lo
+1 mem_iicd_addr
+4 mem_spid_rbuf
+2 mem_ucode_buf
+2 mem_ucode_len
+2 mem_sched_addr
+2 mem_ucode_ptr
+16 mem_ucode_keybuf
+18 mem_check_plap_temp
+
+1 mem_reconnect_flag
+1 mem_switch_fail_master_count
+1 mem_app_evt_timer_count
+
+)
+
+memalloc(
+2 mem_init_cnt
+)
+
+xmemalloc(
+/* patch enable 0x4000-0x403f  */
+
+1 mem_patch00
+1 mem_patch01
+1 mem_patch02
+1 mem_patch03
+1 mem_patch04
+1 mem_patch05
+1 mem_patch06
+1 mem_patch07
+1 mem_patch08
+1 mem_patch09
+1 mem_patch0a
+1 mem_patch0b
+1 mem_patch0c
+1 mem_patch0d
+1 mem_patch0e
+1 mem_patch0f
+1 mem_patch10
+1 mem_patch11
+1 mem_patch12
+1 mem_patch13
+1 mem_patch14
+1 mem_patch15
+1 mem_patch16
+1 mem_patch17
+1 mem_patch18
+1 mem_patch19
+1 mem_patch1a
+1 mem_patch1b
+1 mem_patch1c
+1 mem_patch1d
+1 mem_patch1e
+1 mem_patch1f
+1 mem_patch20
+1 mem_patch21
+1 mem_patch22
+1 mem_patch23
+1 mem_patch24
+1 mem_patch25
+1 mem_patch26
+1 mem_patch27
+1 mem_patch28
+1 mem_patch29
+1 mem_patch2a
+1 mem_patch2b
+1 mem_patch2c
+1 mem_patch2d
+1 mem_patch2e
+1 mem_patch2f
+1 mem_patch30
+1 mem_patch31
+1 mem_patch32
+1 mem_patch33
+1 mem_patch34
+1 mem_patch35
+1 mem_patch36
+1 mem_patch37
+1 mem_patch38
+1 mem_patch39
+1 mem_patch3a
+1 mem_patch3b
+1 mem_patch3c
+1 mem_patch3d
+1 mem_patch3e
+1 mem_patch3f
+
+	/* 3 device contexts  */
+80 mem_context
+1 mem_current_amaddr
+1 mem_lpm_mode
+1 mem_device_option
+1 mem_scan_mode
+4 mem_last_clkn
+
+	/* parameters */
+8 mem_features
+3 mem_lap
+1 mem_uap
+2 mem_nap
+1 mem_npage
+3 mem_glap
+3 mem_class
+2 mem_iscan_window
+2 mem_iscan_interval
+2 mem_pscan_window
+2 mem_pscan_interval
+2 mem_page_interval
+2 mem_page_window
+2 mem_page_to
+2 mem_inq_window
+1 mem_fcomp_mul
+1 mem_fcomp_div
+2 mem_rx_window_init
+2 mem_rx_window_sniff
+2 mem_rf_init_ptr
+
+	/* connection related */
+1 mem_last_type
+1 mem_last_type_esco
+1 mem_last_type_saved
+2 mem_retransmission_cnt
+4 mem_next_btclk
+
+1 mem_rf_rccal
+1 mem_handle_num
+1 mem_max_slot
+1 mem_eir_enable
+
+/* AFH related */
+4 mem_afh_instant
+2 mem_afh_error_total
+1 mem_afh_cfg
+1 mem_afh_new_mod
+5 mem_afh_map_lo
+5 mem_afh_map_hi
+1 mem_afh_used
+2 mem_afh_index
+11 mem_afh_map_new
+80 mem_afh_map
+4 mem_afh_timer
+10 mem_afh_classify_channel_map
+
+
+	/* lpm related */
+2 mem_chip_functions
+2 mem_lpm_wake_lock
+2 mem_lpm_interval
+1 mem_lpm_overhead
+1 mem_lpm_hibernate_switch
+1 mem_esco_addr
+1 mem_sniff_unint_lost
+1 mem_ptt
+4 mem_sleep_counter   //should be 0x41fc in REVC
+4 mem_sleep_counter_all
+6 mem_sleep_clkn
+3 mem_sniff_rcv
+3 mem_sniff_lost
+3 mem_clks_per_lpo
+
+1 mem_lpm_mult
+1 mem_lpm_mult_timeout
+1 mem_lpm_mult_cnt
+
+/* 8139-813b lpm_ctrl[31:12] */
+3 mem_lpm_config				
+
+1 mem_lpm_xtalcnt
+1 mem_lpm_buckcnt
+1 mem_lpm_ldocnt
+1 mem_lpm_isogate
+1 mem_lpm_isogate_final
+16 mem_saved_gpio	// should be 0x421e in REVC
+3 mem_saved_gsel
+8 mem_saved_mark
+1 mem_saved_spidctrl
+2 mem_patch_ptr
+2 mem_patch_len
+
+32 mem_timers
+
+/*LINK KEY*/
+1 mem_link_key_exists
+16 mem_link_key
+
+
+/* HCI */
+1 mem_hci_cmd
+1 mem_hci_conn_handle
+3 mem_hci_plap
+1 mem_hci_puap
+2 mem_hci_pnap
+
+/*Peripherals*/
+1 mem_uartd_rxitems_got_data
+1 mem_uartd_rxitems_threshold
+2 mem_uartd_rx_timeout
+1 mem_loadcode_times
+
+1 mem_tx_lch
+2 mem_tx_len
+
+1 mem_tx_power
+
+1 mem_context_number
+1 mem_250k_freq_enable
+1 mem_rf_init_data
+)
+
+(//bluetooth tx power
+0 TX_POWER_0DB
+1 TX_POWER_3DB
+2 TX_POWER_5DB
+3 TX_POWER_f3DB
+4 TX_POWER_f5DB
+
+0x20 TX_POWER_PAIR
+)
+
+
+0x3b17 rom_lpm_sleep
+0x59e0 rom_save_ucode
+
+0x4219 rom_mem_lpm_xtalcnt
+0x423b rom_mem_patch_ptr
+0x423d rom_mem_patch_len
+
+0x5b1a rom_otpd_read_data
+0x5ada rom_otp_write
+	/* context */
+(
+0x01 coffset_mode
+0x02 coffset_tsniff
+0x04 coffset_sniff_anchor
+0x08 coffset_clk_offset
+0x0e coffset_rx_window
+0x10 coffset_plap
+0x16 coffset_conn_handle
+0x17 coffset_arq
+	/* 3.0 only */
+0x18 coffset_lmp_to_send
+0x1b coffset_op
+0x1c coffset_state_map
+	/* le only */
+0x18 coffset_le_ch
+0x19 coffset_le_hop
+0x1a coffset_le_event_cnt
+
+80 context_size
+3 context_num
+)
+
+(
+0 lpm_flag_wake
+1 lpm_flag_loadcode
+)
+
+/* ========= parameters ============== */
+(
+0x0050 param_newconn_arq
+0x0007 param_esco_addr
+0x0010 param_conn_handle
+0x01f0 param_conn_handle_comp
+0x0020 param_newconnto
+0x0008 param_pagerespto
+0x0a00 param_snooze_setup_orig
+0x5353 param_snooze_ahead_orig
+0x00ff param_ninquiry
+0x2000 param_page_to
+0x0005 param_max_slot
+0x0010 param_sco_poll
+
+/* 6Mhz clock setting */
+/* 12Mhz clock setting */
+0x0e43 param_tx_setup
+0x09d0 param_rx_setup_earlier
+0x0600 param_rf_setup
+0x03bb param_clke_cal
+0x0600 param_conn_access 
+0x0800 param_conn_access_wider
+0x0500 param_pll_setup		// 120 is minimum
+0x0d00 param_rx_setup	// 114us before sync
+2000 param_dpll_start_delay
+
+110 param_lpm_fix
+10 param_lpo_extra
+200 param_lpm_adjmax
+
+-1 param_hibernate_clks
+3000 param_chgpump_delay
+
+3 param_featrue_ssp
+0x0101 param_lmpext_ssp_enable
+339 param_acl_pktlen
+30   param_sco_pktlen
+1     param_acl_pktcnt		/*buffer acl pkt cnt*/
+7     param_sco_pktcnt
+
+
+0x8fffff param_features0
+0x9d83fe param_features1  // not support afh
+0x8359     param_features2
+0x000033 param_unap
+0x001177 param_lap
+0x9e8b33 param_glap
+0x002540 param_class//0x180208 //0x002580//402500//240404
+0x12e904 param_hci_version
+0x000a04 param_lmp_version//0x0a04
+0x000a06 param_lmp_version0
+0x12e9 param_lmp_subversion
+0x0012 param_tisw
+0x0012 param_tpsw
+0x1000 param_tisi
+0x0800 param_tpsi
+0x0020 param_page_window
+0x0020 param_inq_window
+0x1c80 param_supervision_to
+39 param_fcomp_div
+2 param_fcomp_mul
+6     param_name_len
+0x535442 param_name
+0x344950 param_name1
+
+
+)
+
+/* ======= packet types  ========= */
+(
+0x0      type_null    
+0x1      type_poll   
+0x2      type_fhs    
+0x3      type_dm1    
+0x4      type_dh1    
+0x5      type_hv1    
+0x6      type_hv2    
+0x7      type_hv3    
+0x8      type_3dh1     
+0x9      type_aux1   
+0xa      type_dm3    
+0xb      type_dh3    
+0xe      type_dm5    
+0xf      type_dh5    
+0x10     type_id
+0x11     type_shutdown
+0x13     type_lmp
+)
+
+/* ========== flag[6] =============== */
+(
+0        always        /* always 1 */
+1        true          /* set/rstn by verify,compare,icompare (true) */
+2        positive      /* set/rstn by all alu operations (opcode = 0x03,0x13,0x0f,0x1f), if alu output >= 0 */
+3        timeout       /* read only, the timeout from timers */
+5        zero          /* set/rstn by all alu operations (opcode = 0x03,0x13,0x0f,0x1f), if alu output == 0 */
+6        crc_failed    /* level, cleared by hop_start */
+7        enable_white  /* outside mux decide whether to load bt_clk or response_X */
+8        enable_parity /* level */
+9        enable_crc    /* level */
+10       enable_hec    /* level */
+11       decode_fec1   /* level */
+12       decode_fec2   /* level */
+13       decode_fec0   /* level */
+14       encrypt       /* level */
+15       crc16       /* for caculate ccitt crc16 */
+16       swfine	/* =0 stop_watch count based on oneslot =1 on 1 clock */
+20       rqst_freq    /* pulse, to start calculating frequency */
+21       recalc        /* pulse, to recalculate the fhs_parity */
+22       init_encrypt  /* pulse, issued to initialize encrption */
+23       mhalfbnd    /* half slot boundary of clke_rt, or when clke_bt[0] toggles */
+24       sync          /* sync found as a result of correlation,set/rstn by correlate opcode */
+25       user10    /* user10 */
+26       kc_p_activate  /* pulse to recalc the kc_p */
+27       encode_fec1   /* level */
+28       encode_fec2   /* level */
+29       encode_fec0   /* level */
+30       packet_end    /* pulse */
+32       is_tx         /* level */
+33       is_rx         /* level */
+34       halfslot     /* pulse, read only, when clkn_bt[0] toggles */
+35       oneslot      /* pulse, read only, when clkn_bt[1] toggles */
+36       mslotbnd     /* pulse, read only, when clke_bt[1] toggles */
+37       expire       /* level, read only, when selected clock source exceed timeup value */
+38       meet         /* level, read only, when selected clock source meet timeup value */
+39       tx_clear     /* level, read only, indicate tx pipe is cleared */
+40       user         /* user0 */
+41       master        /* user1 */
+42       slave2         /* user2 */
+43       wake           /* user3 */
+44       user2        /* user4 */
+45       match         /* user5 */
+46       attempt        /* user6 */
+47       user3          /* user7 */
+48       clknt         /* user8 */
+49	   user7 	/* user9 */
+50       synchronize   /* synchronize lpo and regular version of the clock */
+51       lpo_edge  /* read only, 3 clocks after risling edge of lpo clock */
+52       blank         /* C0 only, means pdata == 0 */
+53       modone          /* set divide operation is done */
+54       le		/* bluetooth 4.0 LE enable */
+55       aes_ready	/* set when aes is ok */
+63       never         /* read only, always 0 */
+)
+
+default flag = always
+
+/* ========== reg[6] =============== */
+(
+0        mark   /* for keeping strobes, more permanent */
+1        type   /* save and verify during rx */     /* rw */
+2        temp   /* general purpose register, 64 bits */
+3        contru  /* contr uart */
+4        am_addr      /* verify during rx, read and send during tx */ /* ro */
+5        contw        /* last mem_addr during write */
+6        contr        /* last mem_addr during read */
+7        queue    /* the index of qset*,qisolate* commands, ie, if queue = 3, qset/qisolate operate on bit3 */
+8        debug    /* can be wired out for observation */
+9        access   /* the 72 bit access word */
+10       contwu   /* contw uart */
+11       timeup        /* when does certain counter expire */
+12       pwindow       /* bit 71-61 of pdata; because on rx, bits shifts in from 71 down */
+13       fhs_parity    /* re-gernated based on bt_adr( {nap,uap,lap} ) when recalc flag is pulsed */
+14       white_init    /* init value of the whitening */
+15       crc24_init        /* init crc24 lfsr, 24 bits */
+16       interrupts    /* set interrupts, 40 bits */
+17       rega          /* general purpose register, 32 bits */
+18       regb          /* general purpose register, 32 bits */
+19       regc          /* general purpose register, 17 bits */
+20       regab         /* concat of {rega,regb}, thus 64 bits */
+21       radio_ctrl   /* radio i/f direct i/o ctrl, check following "radio_ctrl" section */
+21       ctrl_reg     /* 2023 and after */
+22       jtag_addr    /* load jtag address field, lsb */
+23       freq_index   /* 7 bit read only */
+24       jtag_data    /* wdata to and rdata from jtag */
+25       clkn              /* {clkn_bt, clkn_rt} */
+26       clke              /* {clke_bt, clke_rt} */
+27       stop_watch
+28       fhs_misc   /* SR, SP, pscan mode */
+29       fhs_class  /* class field in fhs */
+30       fhs0   /* read only, bit 0-71 of fhs word */
+31       fhs1   /* read only, bit 72-142 of fhs word */
+32       bt_adr /* r/w, the bt_addr to access gen and freq hopping, contain only lap and uap */
+33       bt_clk /* r/w, the bt_clk for freq hopping */
+34       clkn_bt  /* read only, native bluetooth clock, free running 3.2KHz  or controlled by RTHALFSLOT register */
+35       clkn_rt  /* read only, native realtime clock, free running 12MHz, count from 0-3749, or controlled by RTHALFSLOT register */
+36       freq_mode
+/* wire even_train    = freq_mode[4];    // odd even train                            */
+/* wire conn_mode     = 3;    // connection                                           */
+/* wire iqpgscan_mode = 2;    // slave in inquiry and page (not response)             */
+/* wire iqpgresp_mode = 1;    // slave in inquriy and page (response only)            */
+/* wire inqypage_mode = 0;    // master in inquiry and page(response or not response) */
+37       xin   /* x parameter, read only */
+38       N_tx_slot /* the N factor in equations for Xi,Xp,Xprm,Xprs */
+39 	   auxcnt
+40       clke_bt  /* r/w,  external bluetooth clock , free running 3.2KHz or controlled by RTHALFSLOT register */
+41       clke_rt  /* r/w,  external realtime clock, , free running 12MHz, count from 0-3749, or controlled by RTHALFSLOT register */
+43       host_mode         /* generic stuff for kick starts */
+44       lap
+45       uap
+46       nap         
+47       regext		/* r/w extended 12x32bit registers,  indexed by regext_index */
+48       alarm             /* r/w, lpo wake up time, this is also how lpo and current clock keep sync */
+49       lpo_time          /* read only, this is the value to be copied back to clkn/clke after wakeup */
+50       kc_ls             /* secret key,                71: 0 */
+51       kc_ms             /* secret key,               127:72 */
+52       g1l               /* encryption length                */
+53		mask3ff		/* for mask 0x3ff operation */
+54       aes_ctrl		
+56       regext_index   /* index of regext */
+57	     loopcnt
+58      stack			/* current return address */
+59       stack_ptr		/* stack depth */
+61         pc /* direct goto */
+62       null              /* to nowhere */
+63       pdata /* the shift register */
+)
+default reg = pdata
+
+/* regext_index */
+(
+0 regidx_data
+4 regidx_key
+8 regidx_xor
+12 regidx_result
+)
+/* ========== radio_ctrl========= */
+(
+0 TXGFSK
+1 PSK
+2 PSK3M
+3 RESET
+)
+/* assign BPWR = radio_ctrl[0]; */
+/* assign PARAMP = radio_ctrl[1]; */
+/* assign XTALPU = radio_ctrl[2]; */
+/* assign SYNTHPU = radio_ctrl[3]; */
+/* assign TXPU = radio_ctrl[4]; */
+/* assign RXPU = radio_ctrl[5]; */
+/* assign SLCTRL = radio_ctrl[6]; */
+/* assign XTALSEL_MUX_SEL = radio_ctrl[7] */
+
+
+/* =========== destination[4] ============== */
+(
+0 bucket
+1 rxf
+2 back
+3 mod
+)
+default dest = bucket
+
+/* =========== source[4] ============= */
+(
+1 txf
+3 demod
+)
+default source = 0
+
+
+/* ============== mark ============= *//*0 - 47 */
+(
+
+0  mark_fhs_eir  
+1  mark_rxbuf_inuse
+2  mark_tx_l2cap
+3  mark_switch_initiated
+4  mark_accept_switch
+5  mark_loopback
+7  mark_esco
+8  mark_esco_rxok
+9  mark_context
+10 mark_am_addr_broadcast
+11 mark_fhs_already_good
+12 mark_page_trainb
+13 mark_lpm_mult_enable
+14 mark_usb_flag
+15 mark_old_packet
+16 mark_longpacket
+17 mark_testmode
+18 mark_ar2
+19 mark_h5tx_rp
+20 mark_h5tx_crc	
+21 mark_h5tx_retransmit
+22 mark_h5rx_pstart
+23 mark_h5_sync
+24 mark_h5_reinit
+28 mark_inquiry_on
+29 mark_inquiry_state
+30 mark_inquiry_trainb
+31 mark_periodical_diac
+32 mark_all_diac
+33 mark_slave_in_rand_accepted
+34 mark_reconn_recieve_switch
+35 mark_isstr
+36 mark_loadcode
+37 mark_ext_patch
+38 mark_24g
+39 mark_24g_conext
+40 mark_eeprom_size
+// REVAB:max 35, REVC:max 63
+41 mark_ble_tx_md
+42 mark_ble_rx_md
+43 mark_otp_encrypt
+44 mark_first_packet
+45 mark_role_switch_receive_fhs
+
+)
+
+(
+1 reload_type_otp
+2 reload_type_spi
+3 reload_type_iic
+)
+
+
+/* ============== soft timers ============== */
+(
+0 le_adv_interval_timer
+1 inquiry_length_timer
+2 le_scan_interval_timer
+3 page_length_timer
+4 iscan_interval_timer
+5 pscan_interval_timer
+6 switch_wait_timer
+7 enpt_delay_timer
+8 page_interval_timer
+9 key_scan_timer
+10 smp_pairing_timer
+11  ui_led_blink   //led timer 可扩展
+12  ui_led_blink1
+13 ui_led_blink2
+
+)
+
+(
+1 hci_cmd_inquiry
+2 hci_cmd_inquiry_cancel
+3 hci_cmd_remote_name_req
+4 hci_cmd_remote_feature_req
+5 hci_cmd_create_conn
+6 hci_cmd_disconn
+7 hci_cmd_accept_conn
+8 hci_cmd_reject_conn
+9 hci_cmd_pair
+10 hci_cmd_nopair
+11 hci_cmd_linkkey
+12 hci_cmd_nokey
+13 hci_cmd_auth
+14 hci_cmd_stopencrypt
+15 hci_cmd_startencrypt
+16 hci_cmd_setup_sco
+17 hci_cmd_disconn_sco
+18 hci_cmd_in_sniff
+19 hci_cmd_exit_sniff
+20 hci_cmd_remote_version_req
+21 hci_cmd_remote_ext_features_req
+22 hci_cmd_io_cap
+23 hci_cmd_role_discovery
+24 hci_cmd_role_switch
+25 hci_cmd_accept_with_switch
+26 hci_cmd_detach
+27 hci_cmd_le_create_conn
+28 hci_cmd_accept_sco_conn
+80 hci_cmd_wait_remote_feature
+81 hci_cmd_wait_remote_ext_feature
+82 hci_cmd_wait_remote_name
+)
+
+
+
+/* ============== debug ============= */
+(
+0 debug_neg_skew
+1 debug_bitbucket
+2 debug_dont_clear_got_tx
+3 debug_scatter_enabled
+4 debug_tx_fixed_freq
+5 debug_rx_fixed_freq
+6 debug_tx_pattern
+)
+
+/* ============== tester_emulator ============= */
+(
+0 tester_fixed_flow
+1 tester_fixed_flow_polarity
+2 tester_change
+3 tester_exit
+4 tester_pattern_test
+5 tester_whitening_change
+6 tester_fixed_freq
+7 tester_no_whitening
+)
+
+/* ============== mode ==========*/
+(
+0 mode_le
+1 mode_master
+2 afh_enable
+3 afh_change
+4 send_sco_when_slave
+5 first_seqnx
+)
+
+/* ============== state_map ==========*/
+(
+0 smap_lmptidinit
+1 smap_lmptid
+2 smap_encryption
+3 smap_name_res
+4 smap_name_req
+5 smap_edr
+6 smap_rxlmp
+7 smap_rxl2cap
+)
+(
+0 state_inconn
+1 state_insniff
+2 state_insco 
+3 state_inpage
+4 state_conn_comp
+5 state_init_seq
+6 state_combkey
+7 state_linkkey
+)
+(
+0 op_send_sres
+1 op_auth_req
+2 op_inrand_req
+3 op_disconn
+4 op_stop_enc
+5 op_start_enc
+6 op_txl2cap
+7 op_pkt_comp
+)
+
+
+/* ============== arq [3] ================ */
+(
+0 flow
+1 arqn
+2 seqn
+3 wack
+4 flowx              /* out */  /* not really in memory */
+5 arqnx              /* out */
+6 seqnx              /* out */
+7 bcast1             /* first broadcast received */
+)
+
+/* arq          {flow,arqn,seqn}, read/write */
+/* [0] flow r/w  acl full status of the other, store during rx, checked during tx */
+/* [1] arqn r/w  ack of the other during rx (ack tx fifo),                        */
+/* [2] seqn r/w  seqn of the other, check during rx                               */ 
+/* arqx         {flowx,arqnx,seqnx} */
+/* [0] flowx r/o flow back to the other, 1 alow send, 0 not to send, read only tx */
+/* [1] arqnx r/w ack to the other, set by rx, send back on tx                     */
+/* [2] seqnx r/w toggled by arqn, to be send during tx                            */ 
+
+(
+0 llid0
+1 llid1
+2 nesn
+3 sn
+4 md
+5 wak
+)
+
+/* AFH flags */
+(
+0 AFH_CFG_ON
+1 AFH_CFG_TIMER
+2 send_lmp_set_afh
+3 AFH_CFG_REPORT_MODE
+4 AFH_CFG_MASTER_SENT_REQ
+)
+
+/* LLID CODE */
+(	
+1 LLID_L2CAP_CONT
+2 LLID_L2CAP_START
+3 LLID_LMP
+)
+
+/* ============== master_state ==========*/
+(
+0  master_in_idle
+1  master_in_inquiry
+2  master_in_page
+10 master_in_becoming_slave
+15 master_in_conn
+)
+(
+0 newrev_feature_bettx
+1 newrev_feature_betplltx
+2 newrev_feature_skip_retransmit
+3 newrev_feature_init_radio_after_sleep
+4 newrev_feature_no_lpolog
+)
+/*************mem_pincode_state****************/
+(
+0 pincode_state_ilde
+1 pincode_state_wait_pincode
+2 pincode_state_pincode_ready
+)
+
+
+// lpm_write
+(
+1 lpmreg_sel_ctrl
+2 lpmreg_sel_ctrl2
+4 lpmreg_sel_gpiolow
+8 lpmreg_sel_gpiohigh
+16 lpmreg_sel_counter
+)
+
+//scan_mode
+(
+0 inq_scan_mode
+1 page_scan_mode
+2 page_inq_enable
+)
+//mem_neogotiation_state
+(
+ 0 default_neogotiation_state
+ 1 prarm_neogotiation
+)
+
+//mem_lpm_wake_lock
+(
+0 wake_lock_ble_rx
+1 wake_lock_ble_tx
+
+3 wake_lock_key_press
+4 wake_lock_ble_tx_patch
+5 wake_lock_uart_tx
+6 wake_lock_uart_rx
+7 wake_lock_button
+8 wake_lock_cmd
+9 wake_lock_app
+10 wake_lock_lmp_tx
+11 wake_lock_lmp_rx
+12 wake_lock_l2cap_tx
+13 wake_lock_l2cap_rx
+14 wake_lock_ipc_c512bt
+15 wake_lock_ipc_bt2c51
+
+)
+
+(
+0 bt_disabled
+1 ble_disabled
+2 module_disable
+
+)
+
+(
+0x33  REC_3_MODE
+0x34  REC_4_MODE
+0x35  REC_4_MODE_STATIC_ADDRESS
+0x36  REC_4_MODE_RANDOM_RESOLVABLE_PRIVATE_ADDRESS
+0x37  REC_4_MODE_RANDOM_NON_RESOLVABLE_PRIVATE_ADDRESS
+)
+
+
+//sniff UART_TX UART_RX
+(
+6 UART_WAKEUP_TX
+7 UART_WAKEUP_RX
+)
+
+
+(
+0 P24G_SM_PAIRING_SUCC
+1 P24G_SM_PAIRING_REQUEST
+2 P24G_SM_PAIRING_WAIT_ADDR
+3 P24G_SM_PAIRING_COMPLETE
+4 P24G_SM_PAIRING_WAIT_SUCC
+)
+
+(
+0 P24G_PAIRING_REQ_HEAD
+1 P24G_PAIRING_COMPLETE_HEAD
+)
+
+/* 24g */
+(
+6 dlen_24g
+14 plen_24g
+90 blen_tx_24g
+106 blen_rx_24g
+42 blen_txack_24g
+58 blen_rxack_24g
+
+0xaaf08e acc_24g
+0x15c4 crc_data_3byte
+0xbb81 crc_data_6byte
+0x4160 crc_ack
+41390 crc_ack_4byte
+)
+
+
+
+
+
+xmemalloc(
+1 mem_app_handshake_flag
+2 mem_sniff_param_interval
+2 mem_sniff_param_attempt
+2 mem_sniff_param_timeout
+
+/*App Callback Functons*/
+2 mem_cb_check_wakelock
+2 mem_cb_before_hibernate
+2 mem_cb_before_lpm
+2 mem_cb_le_process
+2 mem_cb_bt_process
+2 mem_cb_idle_process
+2 mem_cb_bb_event_process
+2 mem_cb_discovry_timeout
+2 mem_cb_att_write
+2 mem_cb_ble_transmit
+2 mem_cb_event_timer
+2 mem_cb_bt_set_mult
+2 mem_cb_spi_flash_write_complate
+
+
+
+
+2 mem_eeprom_base
+
+1 mem_unsniff2sniff_timer_count
+//lpm mode
+1 mem_wake_up_delay_timer
+
+1 mem_app_connection_options
+
+//
+2 mem_app_disconn_reason
+2 mem_app_disconn_reason_flag
+4 mem_lpm_delay_after_sniff
+1 mem_xrecord_mode
+
+1 mem_eeprom_block_size
+1 mem_spi_init_clk
+1 mem_spi_init_delay_time
+1 mem_spi_ncs_gpio
+
+2 mem_nv_data_ptr
+1 mem_nv_data_number
+
+2 mem_queue_ptr
+
+1 mem_ui_led_struct_num
+2 mem_ui_led_struct_ptr
+
+//adc
+2 mem_0_5_adc_io_data
+2 mem_1v_adc_hvin_data
+2 mem_2v_adc_vinlpm_data
+2 mem_1v_adc_io_data
+2 mem_5v_adc_hvin_data
+2 mem_3v_adc_vinlpm_data
+2 mem_otp_adc_flag
+2 mem_reference_voltage
+1 mem_adc_config_flag
+1 mem_adc_channel
+2 mem_adc_current_value
+1 mem_adc_power_flag	//bit0:low power falg ; bit1:no power flag
+
+3 mem_spi_write_addr
+2 mem_spi_write_ptr
+2 mem_spi_write_len
+1 mem_spi_write_flash_sm
+1 mem_eeprom_wp_gpio
+2 mem_kscan_ptr
+ifdef SPI_SIMULATE
+//spi gpio config
+0 mem_spi_simulate_struct
+1 mem_spi_simulate_cs_gpio
+1 mem_spi_simulate_sclk_gpio
+1 mem_spi_simulate_mosi_gpio
+1 mem_spi_simulate_miso_gpio
+1 mem_spi_simulate_motion_gpio
+//spi slave read byte
+50 mem_spi_simulate_read_byte_slave
+1 mem_spi_simulate_read_byte_slave_temp
+1 mem_spi_simulate_read_length_slave
+1 mem_spi_simulate_read_length_slave_temp
+//spi slave write byte
+50 mem_spi_simulate_write_byte_slave
+1 mem_spi_simulate_write_byte_slave_temp
+1 mem_spi_simulate_write_byte_slave_temp_temp
+1 mem_spi_simulate_write_length_slave
+1 mem_spi_simulate_write_length_slave_temp
+endif
+
+0 mem_key_num_ptr
+2 mem_keyscan_ptr
+
+2 mem_power_param_ptr
+
+2 mem_24g_head_ptr
+)
+//adc read
+(
+0 ADC_CONFIG_VINLPM
+1 ADC_CONFIG_HVIN
+2 ADC_CONFIG_GPIO
+)
+
+(
+0 QUEUE_OFFSET_EACH_SIZE
+1 QUEUE_OFFSET_LENGTH
+2 QUEUE_OFFSET_CURR_NUM
+3 QUEUE_OFFSET_READ_PTR
+4 QUEUE_OFFSET_WRITE_PTR
+5 QUEUE_OFFSET_ELE_INIT_ADDR
+)
+
+(
+//Flash Register
+0x05 FLASH_READ_SATUS
+
+// Flash Status Register
+0x00 FLASH_STATUS_WIP
+0X01 FLASH_STATUS_WEL
+0X02 FLASH_STATUS_BP0
+0X03 FLASH_STATUS_BP1
+
+//Flash Write Sm
+0X00 FLASH_SM_NO_BUYS
+0X01 FLASH_SM_START
+0X02 FLASH_SM_ERASE_SECTOR
+0X03 FLASH_SM_WAIT_ERASE_SECTOR
+0X04 FLASH_SM_WRITE_DATA
+0X05 FLASH_SM_WAIT_WRITE_DATA
+
+
+//Flash Command
+0x02 FLASH_COMMAND_WRITE_DATA
+0x03 FLASH_COMMAND_READ_DATA
+0x20 FLASH_COMMAND_SECTOR_ERASE
+)
+
+0x0000 otp_ucode_flag
+0x07f0 otp_ucode_aeskey
+
+/* adc data addr and flag */
+(
+0x07e0 OTP_CHIP_FUNCTIONS
+0x07e2 otp_adc_io_0_5V_addr
+0x07e4 otp_adc_hvin_1V_addr
+0x07e6 otp_adc_vinlpm_2V_addr
+0x07e8 otp_adc_io_1V_addr
+0x07ea otp_adc_hvin_5V_addr
+0x07ec otp_adc_vinlpm_3V_addr
+0x07ee otp_adc_flag_addr
+0xaa55 OTP_ADC_FLAG
+)
+
+/* data stored in eeprom */
+(
+0	eeprom_bdaddr_list
+0	eeprom_nv_ram
+28	eeprom_last_record
+29	eeprom_le_reconn_local_addr
+35	eeprom_linkkey_list//64
+
+99	eeprom_module_bt_adss//6
+105	eeprom_module_le_adss//6
+111	eeprom_module_pincode_length//1
+112	eeprom_module_pincode//15
+127	eeprom_module_bt_name_length//1
+128	eeprom_module_bt_name//32
+160	eeprom_module_ble_name_length//1
+161	eeprom_module_ble_name//31
+192	eeprom_module_trans_baud//3
+195	eeprom_module_init_flag//2
+197	eeprom_module_uuid//6
+203 eeprom_module_ssp_enable//1
+204 eeprom_module_end//2
+
+//dpi eeprom addr
+198 eeprom_mouse_dpi
+)
+
+/*mem_app_handshake_flag*/
+(
+0 APP_HANDSHAKE_NULL
+1 APP_HANDSHAKE_DONE
+
+)
+/*mem_device_option*/
+(
+1 dvc_op_hci
+3 dvc_op_kb
+4 dvc_op_dongle
+5 dvc_op_spp
+6 dvc_op_ukey
+7 dvc_op_ir
+
+9 dvc_op_shutter
+10 dvc_op_module
+11 dvc_op_ble_mouse
+12 dvc_op_ble_kb
+13 dvc_op_ble_prcp
+255 dvc_op_test
+//device option hight 4
+6 dvc_op_mouse
+7 dvc_op_keyboard
+//device option low 2
+(
+0 MODE_3_MOUSE
+1 MODE_4_MOUSE
+)
+)
+
+(
+3 twspi_sclk
+4 twspi_sdio
+)
+
+(
+4 pan_clk_bit
+5 pan_dat_bit
+6 pan_mov_bit
+)
+
+(
+7 otp_uflag_aes
+6 otp_uflag_skip_eep
+5 otp_uflag_skip_flash
+4 otp_uflag_hci
+)
+
+/* ir command */
+(
+1 ircmd_record
+2 ircmd_play
+3 ircmd_write_pulse
+4 ircmd_write_seq
+5 ircmd_write_next
+
+8 ircmd_test_play
+9 ircmd_test_rec
+
+10 ircmd_report_pulse
+11 ircmd_report_seq
+12 ircmd_report_raw
+
+20 ircmd_screen_on
+21 ircmd_screen_off
+)
+
+(
+7 gpio_active_bit
+)
+(
+2 HID_HANDSHAKE_TIMEOUT
+
+)
+
+(
+1 APP_FLAG_RECONNECT
+)
+(
+5 LPM_WAKE_UP_DELAY_TIMER
+)
+
+
+//mem_app_disconn_reason
+//mem_app_disconn_reason_flag
+//bit map
+(
+2 APP_DISC_RSN_SIZE
+)
+(
+0 APP_DISC_BY_BUTTON
+1 APP_DISC_AFTER_PAIRING
+2 APP_DISC_AFTER_RECONN
+3 APP_DISC_AFTER_SNIFF
+4 APP_DISC_AFTER_SETUP_DONE
+5 APP_DISC_AFTER_HANDSHAKE
+6 APP_DISC_BT
+7 APP_DISC_BLE
+8 APP_DISC_L2CAP_REFUSED
+9 APP_DISC_SWITCH_FAIL
+10 APP_DISC_PB_BUTTON
+)
+//eeprom init flag
+(
+	0xaa55 EEPROM_INIT_FLAG
+)
+
+
+
+memalloc(
+1 mem_h5rx_ackcnt
+1 mem_check_err_acl_cont
+
+1 mem_rp_packets
+2 mem_packet_type
+
+2 mem_hci_sniff_conn_handle
+2 mem_hci_sniff_max_interval
+2 mem_hci_sniff_min_interval
+2 mem_hci_sniff_attempt
+2 mem_hci_sniff_timeout
+2 mem_voice_setting
+1 mem_retransmission_effort
+2 mem_sco_ptype
+3 mem_extm_uap_restore
+
+2 mem_h5rx_rptr
+1 mem_h5rx_ack
+1 mem_h5tx_ack
+2 mem_h5tx_rptr
+2 mem_h5tx_wptr
+2 mem_h5tx_free
+1 mem_h5rx_tmp
+1 mem_h5tx_seq
+
+2 mem_hci_acl_queue_wptr
+2 mem_hci_acl_queue_rptr
+2 mem_hci_acl_queue_end
+1 mem_hci_acl_queue_wcnt
+1 mem_hci_acl_cnt
+
+2 mem_hci_acl_tx_trigger_wptr //tx via uart
+
+1 mem_hci_curr_len
+2 mem_hci_curr_target 
+) 
+
+xmemalloc(
+
+2 mem_baud
+1 mem_hci_lt_rx_state
+)
+
+15 hci_flag_rp
+//mem_hci_options bit map
+(
+1 hci_option_h4
+2 hci_option_protocol2
+3 hci_option_protocol3
+4 hci_option_uart
+5 hci_option_usb
+6 hci_option_phy2
+7 hci_option_phy3
+)
+// UART baud rate @6MHz
+(
+0 uart_ctrl_bit_enable
+3 uart_ctrl_bit_slip_protocol
+
+)
+
+//bit map of core_uart_ctrl
+(
+
+)
+//bit map of core_uart_status
+(
+0 uart_status_tx_fifo_full
+1 uart_status_tx_fifo_empty
+2 uart_status_tx_busy
+3 uart_status_rx_fifo_empty
+
+)
+//HCI H4 LOG related
+(
+0x4850 mem_hci_log
+8 hci_log_size
+100 hci_log_cnt
+
+)
+//HCI H4 Packet TYPE
+(
+0x01 HCI_H4_TYPE_CMD
+0x02 HCI_H4_TYPE_ACL
+0x04 HCI_H4_TYPE_EVENT
+
+)
+// HCI command opcode group field values
+(
+0x01 HCI_OGF_LINK_CONTROL
+0x02 HCI_OGF_LINK_POLICY
+0x03 HCI_OGF_BASEBAND
+0x04 HCI_OGF_INFO
+0x05 HCI_OGF_STATUS
+0x06 HCI_OGF_TEST
+0x08 HCI_OGF_LOW_ENERGY
+0x3e HCI_OGF_LOGO_TESTING
+0x3f HCI_OGF_VENDOR_SPECIFIC
+)
+
+// HCI link control opcode command field values, OGF=1
+(
+0x01 HCI_INQUIRY 
+0x02 HCI_INQUIRY_CANCEL 
+0x03 HCI_PERIODIC_INQUIRY_MODE 
+0x04 HCI_EXIT_PERIODIC_INQUIRY_MODE 
+0x05 HCI_CREATE_CONNECTION 
+0x06 HCI_DISCONNECT 
+0x07 HCI_ADD_SCO_CONNECTION 
+0x08 HCI_CREATE_CONNECTION_CANCEL
+0x09 HCI_ACCEPT_CONNECTION 
+0x0A HCI_REJECT_CONNECTION 
+0x0B HCI_LINK_KEY_REQUEST_REPLY 
+0x0C HCI_LINK_KEY_REQUEST_NEGATIVE_REPLY 
+0x0D HCI_PIN_CODE_REQUEST_REPLY 
+0x0E HCI_PIN_CODE_REQUEST_NEGATIVE_REPLY 
+0x0F HCI_CHANGE_CONNECTION_PACKET_TYPE 
+0x11 HCI_AUTHENTICATION_REQUESTED 
+0x13 HCI_SET_CONNECTION_ENCRYPTION 
+0x15 HCI_CHANGE_CONNECTION_LINK_KEY 
+0x17 HCI_MASTER_LINK_KEY 
+0x19 HCI_REMOTE_NAME_REQUEST 
+0x1A HCI_REMOTE_NAME_REQUEST_CANCEL
+0x1B HCI_READ_REMOTE_SUPPORTED_FEATURES 
+0x1C HCI_READ_REMOTE_EXT_FEATURES 
+0x1D HCI_READ_REMOTE_VERSION_INFORMATION 
+0x1F HCI_READ_CLOCK_OFFSET 
+0x20 HCI_READ_LMP_HANDLE
+0x28 HCI_SETUP_SCO_CONNECTION
+0x29 HCI_ACCEPT_SCO_CONNECTION
+0x2A HCI_REJECT_SCO_CONNECTION
+0x2B HCI_IO_CAP_REQUEST_REPLY
+0x2C HCI_USER_CONFIRMATION_REQUEST_REPLY
+0x2D HCI_USER_CONFIRMATION_REQUEST_NEGATIVE_REPLY
+0x2E HCI_USER_PASSKEY_REQUEST_REPLY
+0x2F HCI_USER_PASSKEY_REQUEST_NEGATIVE_REPLY
+0x30 HCI_REMOTE_OOB_DATA_REQUEST_REPLY
+0x33 HCI_REMOTE_OOB_DATA_REQUEST_NEGATIVE_REPLY
+0x34 HCI_IO_CAPABILITY_REQUEST_NEGATIVE_REPLY
+0x35 HCI_CREATE_PHYSICAL_LINK
+0x36 HCI_ACCEPT_PHYSICAL_LINK
+0x37 HCI_DISCONNECT_PHYSICAL_LINK
+0x38 HCI_CREATE_LOGICAL_LINK
+0x39 HCI_ACCEPT_LOGICAL_LINK
+0x3A HCI_DISCONNECT_LOGICAL_LINK
+0x3B HCI_LOGICAL_LINK_CANCEL
+0x3C HCI_FLOW_SPEC_MODIFY
+0x3D HCI_ENHANCED_SETUP_SYNCHRONOUS_CONNECTION
+0x3E HCI_ENHANCED_ACCEPT_SYNCHRONOUS_CONNECTION_REQUEST
+0x3F HCI_TRUNCATED_PAGE
+0x40 HCI_TRUNCATED_PAGE_CANCEL
+0x41 HCI_SET_CONNECTIONLESS_SLAVE_BROADCAST
+0x42 HCI_SET_CONNECTIONLESS_SLAVE_BROADCAST_RECEIVE
+0x43 HCI_START_SYNCHRONIZATION_TRAIN
+0x44 HCI_RECEIVE_SYNCHRONIZATION_TRAIN
+0x45 HCI_REMOTE_OOB_EXTENDED_DATA_REQUEST_REPLY
+)
+
+
+// HCI link policy commands OCF value, OGF=2
+(
+0x01 HCI_HOLD_MODE 
+0x03 HCI_SNIFF_MODE 
+0x04 HCI_EXIT_SNIFF_MODE 
+0x05 HCI_PARK_MODE 
+0x06 HCI_EXIT_PARK_MODE 
+0x07 HCI_QOS_SETUP 
+0x09 HCI_ROLE_DISCOVERY 
+0x0B HCI_SWITCH_ROLE 
+0x0C HCI_READ_LINK_POLICY_SETTINGS 
+0x0D HCI_WRITE_LINK_POLICY_SETTINGS 
+0x0e HCI_READ_DEFAULT_LINK_POLICY_SETTINGS
+0x0f HCI_WRITE_DEFAULT_LINK_POLICY_SETTINGS
+0x10 HCI_FLOW_SPECIFICATION
+0x11 HCI_SNIFF_SUBRATING
+)
+
+// HCI host controller and baseband commands OCF values, OGF=3
+(
+0x01 HCI_SET_EVENT_MASK 
+0x03 HCI_RESET 
+0x05 HCI_SET_EVENT_FILTER 
+0x08 HCI_FLUSH 
+0x09 HCI_READ_PIN_TYPE 
+0x0A HCI_WRITE_PIN_TYPE 
+0x0B HCI_CREATE_NEW_UNIT_KEY 
+0x0D HCI_READ_STORED_LINK_KEY 
+0x11 HCI_WRITE_STORED_LINK_KEY 
+0x12 HCI_DELETE_STORED_LINK_KEY 
+0x13 HCI_WRITE_LOCAL_NAME 
+0x14 HCI_READ_LOCAL_NAME 
+0x15 HCI_READ_CONN_ACCEPT_TIMEOUT 
+0x16 HCI_WRITE_CONN_ACCEPT_TIMEOUT 
+0x17 HCI_READ_PAGE_TIMEOUT 
+0x18 HCI_WRITE_PAGE_TIMEOUT 
+0x19 HCI_READ_SCAN_ENABLE 
+0x1A HCI_WRITE_SCAN_ENABLE 
+0x1B HCI_READ_PAGE_SCAN_ACTIVITY 
+0x1C HCI_WRITE_PAGE_SCAN_ACTIVITY 
+0x1D HCI_READ_INQUIRY_SCAN_ACTIVITY 
+0x1E HCI_WRITE_INQUIRY_SCAN_ACTIVITY 
+0x1F HCI_READ_AUTHENTICATION_ENABLE 
+0x20 HCI_WRITE_AUTHENTICATION_ENABLE 
+0x21 HCI_READ_ENCRYPTION_MODE 
+0x22 HCI_WRITE_ENCRYPTION_MODE 
+0x23 HCI_READ_CLASS_OF_DEVICE 
+0x24 HCI_WRITE_CLASS_OF_DEVICE 
+0x25 HCI_READ_VOICE_SETTING 
+0x26 HCI_WRITE_VOICE_SETTING 
+0x27 HCI_READ_AUTOMATIC_FLUSH_TIMEOUT 
+0x28 HCI_WRITE_AUTOMATIC_FLUSH_TIMEOUT 
+0x29 HCI_READ_NUM_BROADCAST_RETRANSMISSIONS 
+0x2A HCI_WRITE_NUM_BROADCAST_RETRANSMISSIONS 
+0x2B HCI_READ_HOLD_MODE_ACTIVITY 
+0x2C HCI_WRITE_HOLD_MODE_ACTIVITY 
+0x2D HCI_READ_TRANSMIT_POWER_LEVEL 
+0x2E HCI_READ_SCO_FLOW_CONTROL_ENABLE 
+0x2F HCI_WRITE_SCO_FLOW_CONTROL_ENABLE 
+0x31 HCI_SET_CONTROLLER_TO_HOST_FLOW_CONTROL 
+0x33 HCI_HOST_BUFFER_SIZE 
+0x35 HCI_HOST_NUM_COMPLETED_PACKETS 
+0x36 HCI_READ_LINK_SUPERVISION_TIMEOUT 
+0x37 HCI_WRITE_LINK_SUPERVISION_TIMEOUT 
+0x38 HCI_READ_NUMBER_OF_SUPPORTED_IAC 
+0x39 HCI_READ_CURRENT_IAC_LAP 
+0x3A HCI_WRITE_CURRENT_IAC_LAP 
+0x3B HCI_READ_PAGE_SCAN_PERIOD_MODE 
+0x3C HCI_WRITE_PAGE_SCAN_PERIOD_MODE 
+0x3D HCI_READ_PAGE_SCAN_MODE 
+0x3E HCI_WRITE_PAGE_SCAN_MODE 
+0x3F HCI_SET_AFH_CHANNEL_CLASSIFICATION 
+
+
+0x42 HCI_READ_INQUIRY_SCAN_TYPE 
+0x43 HCI_WRITE_INQUIRY_SCAN_TYPE 
+0x44 HCI_READ_INQUIRY_MODE 
+0x45 HCI_WRITE_INQUIRY_MODE 
+0x46 HCI_READ_PAGE_SCAN_TYPE 
+0x47 HCI_WRITE_PAGE_SCAN_TYPE 
+
+0x48 HCI_READ_AFH_CHANNEL_ACCESSMENT_MODE 
+0x49 HCI_WRITE_AFH_CHANNEL_ACCESSMENT_MODE 
+0x51 HCI_READ_EXTENDED_INQUIRY_RESPONSE
+0x52 HCI_WRITE_EXTENDED_INQUIRY_RESPONSE
+0x53 HCI_REFRESH_ENCRYPTION_KEY
+0x55 HCI_READ_SIMPLE_PAIRING_MODE
+0x56 HCI_WRITE_SIMPLE_PAIRING_MODE
+0x57 HCI_READ_LOCAL_OOB_DATA
+0x58 HCI_READ_INQUIRY_RESPONSE_TRANSMIT_POWER_LEVEL
+0x59 HCI_WRITE_INQUIRY_TRANSMIT_POWER_LEVEL
+0x60 HCI_SEND_KEYPRESS_NOTIFICATION
+0x5A HCI_READ_DEFAULT_ERRONEOUS_DATA_REPORTING
+0x5B HCI_WRITE_DEFAULT_ERRONEOUS_DATA_REPORTING
+0x5F HCI_ENHANCED_FLUSH
+0x61 HCI_READ_LOGICAL_LINK_ACCEPT_TIMEOUT
+0x62 HCI_WRITE_LOGICAL_LINK_ACCEPT_TIMEOUT
+0x63 HCI_SET_EVENT_MASK_PAGE_2
+0x64 HCI_READ_LOCATION_DATA
+0x65 HCI_WRITE_LOCATION_DATA
+0x66 HCI_READ_FLOW_CONTROL_MODE
+0x67 HCI_WRITE_FLOW_CONTROL_MODE
+0x68 HCI_READ_ENHANCE_TRANSMIT_POWER_LEVEL
+0x69 HCI_READ_BEST_EFFORT_FLUSH_TIMEOUT
+0x6A HCI_WRITE_BEST_EFFORT_FLUSH_TIMEOUT
+0x6B HCI_SHORT_RANGE_MODE
+0x6C HCI_READ_LE_HOST_SUPPORT
+0x6D HCI_WRITE_LE_HOST_SUPPORT
+0x6E HCI_SET_MWS_CHANNEL_PARAMETERS
+0x6F HCI_SET_EXTERNAL_FRAME_CONFIGURATION
+0x70 HCI_SET_MWS_SIGNALING
+0x71 HCI_SET_MWS_TRANSPORT_LAYER
+0x72 HCI_SET_MWS_SCAN_FREQUENCY_TABLE
+0x73 HCI_SET_MWS_PATTERN_CONFIGURATION
+0x74 HCI_SET_RESERVED_LT_ADDR
+0x75 HCI_DELETE_RESERVED_LT_ADDR
+0x76 HCI_SET_CONNECTIONLESS_SLAVE_BROADCAST_DATA
+0x77 HCI_READ_SYNCHRONIZATION_TRAIN_PARAMETERS
+0x78 HCI_WRITE_SYNCHRONIZATION_TRAIN_PARAMETERS
+0x79 HCI_READ_SECURE_CONNECTIONS_HOST_SUPPORT
+0x7A HCI_WRITE_SECURE_CONNECTIONS_HOST_SUPPORT
+0x7B HCI_READ_AUTHENTICATED_PAYLOAD_TIMEOUT
+0x7C HCI_WRITE_AUTHENTICATED_PAYLOAD_TIMEOUT
+0x7D HCI_READ_LOCAL_OOB_EXTENDED_DATA
+0x7E HCI_READ_EXTENDED_PAGE_TIMEOUT
+0x7F HCI_WRITE_EXTENDED_PAGE_TIMEOUT
+0x80 HCI_READ_EXTENDED_INQUIRY_LENGTH
+0x81 HCI_WRITE_EXTENDED_INQUIRY_LENGTH
+)
+
+
+// HCI informational parameters OCF values, OGF=4
+(
+0x01 HCI_READ_LOCAL_VERSION_INFORMATION 
+0x02 HCI_READ_LOCAL_SUPPORTED_COMMANDS
+0x03 HCI_READ_LOCAL_SUPPORTED_FEATURES 
+0x04 HCI_READ_LOCAL_EXT_FEATURES 
+0x05 HCI_READ_BUFFER_SIZE 
+0x07 HCI_READ_COUNTRY_CODE 
+0x09 HCI_READ_BD_ADDR 
+0x0A HCI_REJECT_CONNECTION_REQUEST
+0x0B HCI_READ_LOCAL_SUPPORTED_CODECS
+)
+
+// HCI status parameters OCF values, OGF=5
+(
+0x01 HCI_READ_FAILED_CONTACT_COUNTER 
+0x02 HCI_RESET_FAILED_CONTACT_COUNTER 
+0x03 HCI_GET_LINK_QUALITY 
+0x05 HCI_READ_RSSI 
+0x06 HCI_READ_AFH_CHANNEL_MAP
+0x07 HCI_READ_BD_CLOCK
+0x08 HCI_READ_ENCRYPTION_KEY_SIZE
+0x09 HCI_READ_LOCAL_AMP_INFO
+0x0A HCI_READ_LOCAL_AMP_ASSOC
+0x0B HCI_WRITE_REMOTE_AMP_ASSOC
+0x0C HCI_GET_MWS_TRANSPORT_LAYER_CONFIGURATION
+0x0D HCI_SET_TRIGGERED_CLOCK_CAPTURE
+)
+
+// HCI testing command OCF values, OGF=6
+(
+0x01 HCI_READ_LOOPBACK_MODE 
+0x02 HCI_WRITE_LOOPBACK_MODE 
+0x03 HCI_ENABLE_DEVICE_UNDER_TEST_MODE 
+0x04 HCI_WRITE_SIMPLE_PAIRING_DEBUG_MODE
+0x07 HCI_ENABLE_AMP_RECEIVER_REPORTS
+0x08 HCI_AMP_TEST_END
+0x09 HCI_AMP_TEST
+0x0A HCI_WRITE_SECURE_CONNECTIONS_TEST_MODE
+)
+
+// HCI vendor specific command OCF values -OGF=3F
+(
+0x01 HCI_WRITE_BD_ADDR 
+0x02 HCI_READ_INQUIRY_RESPONSE_TIMEOUT 
+0x03 HCI_WRITE_INQUIRY_RESPONSE_TIMEOUT 
+0x04 HCI_READ_PAGE_SCAN_REPETITION_MODE 
+0x05 HCI_WRITE_PAGE_SCAN_REPETITION_MODE 
+0x06 HCI_READ_PAGE_RESPONSE_TIMEOUT 
+0x07 HCI_WRITE_PAGE_RESPONSE_TIMEOUT 
+0x08 HCI_READ_NEW_CONNECTION_TIMEOUT 
+0x09 HCI_WRITE_NEW_CONNECTION_TIMEOUT 
+0x0a HCI_INITIALIZE_BASEBAND 
+0x0b HCI_WRITE_LOCAL_SUPPORTED_FEATURES 
+0x0c HCI_WRITE_PARK_PARAMETERS 
+0x0d HCI_READ_PARK_PARAMETERS 
+0x0e HCI_WRITE_QUALITY_OF_SERVICE 
+0x0f HCI_NOT_USED 
+0x10 HCI_MODIFY_BEACON_PARAMETERS 
+0x11 HCI_UNPARK_USING_PM_ADDR 
+0x12 HCI_WRITE_HOPPING_CHANNELS 
+0x13 HCI_SLEEP_FOREVER_MODE 
+0x14 HCI_WRITE_AUTO_PAGE_SCAN_ENABLE 
+0x15 HCI_READ_AUTO_PAGE_SCAN_ENABLE 
+0x16 HCI_SET_ENCRYPTION_KEY_SIZE 
+0x17 HCI_INVALIDATE_FLASH_AND_REBOOT 
+0x18 HCI_UPDATE_UART_BAUD_RATE 
+0x19 HCI_WRITE_GPIO_1_4_AS_OUTPUT 
+0x1A HCI_WRITE_GPIO_2_LED 
+0x1B HCI_SET_TESTMODE_TYPE 
+0x1C HCI_WRITE_SCO_PCM_INT_PARAM 
+0x1D HCI_READ_SCO_PCM_INT_PARAM 
+0x1E HCI_WRITE_PCM_DATA_FORMAT_PARAM 
+0x1F HCI_READ_PCM_DATA_FORMAT_PARAM 
+0x20 HCI_WRITE_COMFORT_NOISE_PARAM 
+0x21 HCI_READ_COMFORT_NOISE_PARAM 
+0x22 HCI_WRITE_SCO_TS 
+0x23 HCI_READ_SCO_TS 
+0x24 HCI_WRITE_PCM_LOOPBACK_MODE 
+0x25 HCI_READ_PCM_LOOPBACK_MODE 
+0x26 HCI_SET_TRANSMIT_POWER 
+0x27 HCI_SET_SLEEPMODE_PARAM 
+0x28 HCI_READ_SLEEPMODE_PARAM 
+0x29 HCI_SLEEPMODE_CMD 
+0x2A HCI_DELAY_PERIPHERAL_SCO_STARTUP 
+0x2B HCI_WRITE_RECEIVE_ONLY 
+0x2C HCI_WRITE_RATE_CONTROL 
+0x2D HCI_TX_UNMOD_CARRIER 
+0x2E HCI_DOWNLOAD_MINIDRIVER 
+0x2F HCI_CRYSTAL_PPM 
+0x30 HCI_SET_POWER_AMP_BIAS 
+0x31 HCI_SET_HAM_BEHAVIOR 
+0x32 HCI_SET_AFH_BEHAVIOR 
+0x33 HCI_READ_USER_DEFINED_NVRAM 
+0x34 HCI_ENABLE_RADIO 
+0x35 HCI_READ_DIAGNOSTIC_INFO 
+0x36 HCI_GET_HID_DEVICE_LIST 
+0x37 HCI_ADD_HID_DEVICE 
+0x38 HCI_READ_APP_FW_CONFIG_VERSION 
+0x39 HCI_DELETE_HID_DEVICE 
+0x3B HCI_ENABLE_USB_HID_EMULATION 
+// 0x3A available
+// 0x3B available
+0x3C HCI_SEND_LMPDU 
+0x3D HCI_AUTO_PAIR_REQ 
+0x3E HCI_READ_VS_EXTENSION 
+0x3F HCI_WRITE_VS_EXTENSION 
+
+0x77 HCI_OPCODE_FC77
+0x79 HCI_OPCODE_FC79
+0xC4 HCI_DOWNLOAD_PATCH
+0xCC HCI_OPCODE_FCCC
+
+0x00 HCI_VENDOR_CMD_RESET
+0x01 HCI_VENDOR_CMD_CHIPID
+0x02 HCI_VENDOR_CMD_BAUD
+0x03 HCI_VENDOR_CMD_PATCH
+0x04 HCI_VENDOR_CMD_PATCH_DONE
+0x05 HCI_VENDOR_CMD_ECHO
+0x06 HCI_VENDOR_CMD_BDADDR
+
+0x07 HCI_VENDOR_CMD_ENTER_LPM
+0x08 HCI_VENDOR_CMD_COMMU_READY
+
+0x10 HCI_VENDOR_CMD_MEM
+0x11 HCI_VENDOR_CMD_EEP
+)
+
+//HCI LE controller command OCF values, OGF=8
+(
+0x01 HCI_LE_SET_EVENT_MASK
+0x02 HCI_LE_READ_BUFFER_SIZE
+0x03 HCI_LE_READ_LOCAL_SUPPORTED_FEATURES
+0x05 HCI_LE_SET_RANDOM_ADDRESS
+0x06 HCI_LE_SET_ADVERTISING_PARAMETERS
+0x07 HCI_LE_READ_ADVERTISING_CHANNEL_TX_POWER
+0x08 HCI_LE_SET_ADVERTISING_DATA
+0x09 HCI_LE_SET_SCAN_RESPONSE_DATA
+0x0A HCI_LE_SET_ADVERTISE_ENABLE
+0x0B HCI_LE_SET_SCAN_PARAMETERS
+0x0C HCI_LE_SET_SCAN_ENABLE
+0x0D HCI_LE_CREATE_CONNECTION
+0x0E HCI_LE_CREATE_CONNECTION_CANCEL
+0x0F HCI_LE_READ_WHITE_LIST_SIZE
+0x10 HCI_LE_CLEAR_WHITE_LIST
+0x11 HCI_LE_ADD_DEVICE_TO_WHITE_LIST
+0x12 HCI_LE_REMOVE_DEVICE_FROM_WHITE_LIST
+0x13 HCI_LE_CONNECTION_UPDATE
+0x14 HCI_LE_SET_HOST_CHANNEL_CLASSIFICATION
+0x15 HCI_LE_READ_CHANNEL_MAP
+0x16 HCI_LE_READ_REMOTE_USED_FEATURES
+0x17 HCI_LE_ENCRYPT
+0x18 HCI_LE_RAND
+0x19 HCI_LE_START_ENCRYPTION
+0x1A HCI_LE_LONG_TERM_KEY_REQUEST_REPLY
+0x1B HCI_LE_LONG_TERM_KEY_REQUEST_NEGATIVE_REPLY
+0x1C HCI_LE_READ_SUPPORTED_STATES
+0x1D HCI_LE_RECEIVER_TEST
+0x1E HCI_LE_TRANSMITTER_TEST
+0x1F HCI_LE_TEST_END
+0x20 HCI_LE_REMOTE_CONNECTION_PARAMETER_REQUEST_REPLY
+0x21 HCI_LE_REMOTE_CONNECTION_PARAMETER_REQUEST_NEGATIVE_REPLY
+)
+// HCI event code
+(
+0x01 HCI_EVENT_INQUIRY_COMPLETE
+0x02 HCI_EVENT_INQUIRY_RESULT
+0x03 HCI_EVENT_CONNECTION_COMPLETE
+0x04 HCI_EVENT_CONNECTION_REQUEST
+0x05 HCI_EVENT_DISCONNECTION_COMPLETE
+0x06 HCI_EVENT_AUTHENTICATION_COMPLETE
+0x07 HCI_EVENT_REMOTE_NAME_REQUEST_COMPLETE
+0x08 HCI_EVENT_ENCRYPTION_CHANGE_COMPLETE
+0x09 HCI_EVENT_CHANGE_CONNECTION_LINK_KEY_COMPLETE
+0x0A HCI_EVENT_MASTER_LINK_KEY_COMPLETE
+0x0B HCI_EVENT_READ_REMOTE_FEATURES_COMPLETE
+0x0C HCI_EVENT_READ_REMOTE_VERSION_INFORMATION_COMPLETE
+0x0D HCI_EVENT_QOS_SETUP_COMPLETE
+0x0E HCI_EVENT_COMMAND_COMPLETE
+0x0F HCI_EVENT_COMMAND_STATUS
+0x10 HCI_EVENT_HARDWARE_ERROR
+0x11 HCI_EVENT_FLUSH_OCCURRED
+0x12 HCI_EVENT_ROLE_CHANGE
+0x13 HCI_EVENT_NUM_COMPLETED_PACKETS
+0x14 HCI_EVENT_MODE_CHANGE
+0x15 HCI_EVENT_RETURN_LINK_KEYS
+0x16 HCI_EVENT_PIN_CODE_REQUEST
+0x17 HCI_EVENT_LINK_KEY_REQUEST
+0x18 HCI_EVENT_LINK_KEY_NOTIFICATION
+0x19 HCI_EVENT_LOOPBACK_COMMAND
+0x1A HCI_EVENT_DATA_BUFFER_OVERFLOW
+0x1B HCI_EVENT_MAX_SLOTS_CHANGE
+0x1C HCI_EVENT_READ_CLOCK_OFFSET_COMPLETE
+0x1D HCI_EVENT_CONNECTION_PACKET_TYPE_CHANGED
+0x1E HCI_EVENT_QOS_VIOLATION
+0x1F HCI_EVENT_PAGE_SCAN_MODE_CHANGE
+0x20 HCI_EVENT_PAGE_SCAN_REPETITION_MODE_CHANGE
+0x21 HCI_EVENT_FLOW_SPECIFICATION_COMPLETE
+0x22 HCI_EVENT_INQUIRY_RESULT_WITHRSSI
+0x23 HCI_EVENT_READ_REMOTE_EXT_FEATURES_COMPLETE
+0x2C HCI_EVENT_SCO_CONNECTION_COMPLETE
+0x2D HCI_EVENT_SCO_CONNECTION_CHANGED
+0x2E HCI_EVENT_SNIFF_SUBRATING
+0x2F HCI_EVENT_EXT_INQUIRY_RESULT
+0x30 HCI_EVENT_ENCRYPT_KEY_REFRESH_COMPLETE
+0x31 HCI_EVENT_IO_CAP_REQ
+0x32 HCI_EVENT_IO_CAP_RESPONSE
+0x33 HCI_EVENT_USER_CONFIRMATION_REQUEST
+0x34 HCI_EVENT_UESR_PASSKEY_REQUEST
+0x35 HCI_EVENT_REMOTE_OOB_DATA_REQUEST
+0x36 HCI_EVENT_SIMPLE_PAIRING_COMPLETE
+0x38 HCI_EVENT_LINK_SUPERVISION_TIMEOUT_CHANGED
+0x39 HCI_EVENT_ENHANCED_FLUSH_COMPLETE
+0x3B HCI_EVENT_USER_PASSKEY_NOTIFICATION
+0x3C HCI_EVENT_KEYPRESS_NOTIFICATION
+0x3D HCI_EVENT_REMOTE_HOST_SUPPORTED_FEATURES_NOTIFICATION 
+0x3E HCI_EVENT_LE_META_EVENT
+0x40 HCI_EVENT_PHYSICAL_LINK_COMPLETE
+0x41 HCI_EVENT_CHANNEL_SELECTED
+0x42 HCI_EVENT_DISCONNECTION_PHYSICAL_LINK_COMPLETE
+0x43 HCI_EVENT_PHYSICAL_LINK_LOSS_EARLY_WARNING
+0x44 HCI_EVENT_PHYSICAL_LINK_RECOVERY
+0x45 HCI_EVENT_LOGICAL_LINK_COMPLETE
+0x46 HCI_EVENT_DISCONNECTION_LOGICAL_LINK_COMPLETE
+0x47 HCI_EVENT_FLOW_SPEC_MODIFY_COMPLETE
+0x48 HCI_EVENT_NUMBER_OF_COMPLETED_DATA_BLOCKS
+0x49 HCI_EVENT_AMP_START_TEST
+0x4A HCI_EVENT_AMP_TEST_END
+0x4B HCI_EVENT_AMP_RECEIVER_REPORT
+0x4C HCI_EVENT_SHORT_RANGE_MODE_CHANGE_COMPLETE
+0x4D HCI_EVENT_AMP_STATUS_CHANGE
+0x4E HCI_EVENT_TRIGGERED_CLOCK_CAPTURE
+0x4F HCI_EVENT_SYNCHRONIZATION_TRAIN_COMPLETE
+0x50 HCI_EVENT_SYNCHRONIZATION_TRAIN_RECEIVED
+0x51 HCI_EVENT_CONNECTIONLESS_SLAVE_BROADCAST_RECEIVE
+0x52 HCI_EVENT_CONNECTIONLESS_SLAVE_BROADCAST_TIMEOUT
+0x53 HCI_EVENT_TRUNCATED_PAGE_COMPLETE
+0x54 HCI_EVENT_SLAVE_PAGE_RESPONSE_TIMEOUT
+0x55 HCI_EVENT_CONNECTIONLESS_SLAVE_BROADCAST_CHANNEL_MAP_CHANGE
+0x56 HCI_EVENT_INQUIRY_RESPONSE_NOTIFICATION
+0x57 HCI_EVENT_AUTHENTICATED_PAYLOAD_TIMEOUT_EXPIRED
+
+0xFE HCI_EVENT_LOGO_TESTING
+0xFF HCI_EVENT_VENDOR_SPECIFIC
+)
+(
+0x01 HCI_VENDOR_EVENT_COMMU_READY
+)
+//HCI LE SUBEVENT CODE
+(
+0x01 HCI_LE_SUBEVENT_CONN_COMPLETE
+0x02 HCI_LE_SUBEVENT_ADV_REPORT
+0x03 HCI_LE_SUBEVENT_CONN_UPDATE_COMPLETE
+0x04 HCI_LE_SUBEVENT_REMOTE_FEATURE_COMPLETE
+0x05 HCI_LE_SUBEVENT_LTK_REQUEST
+0x06 HCI_LE_SUBEVENT_REMOTE_CONN_PARAM_REQ
+)
+//HCI ErrorCodes
+(    
+0x00 HCI_SUCCESS
+0x01 HCI_ERROR_UNKNOWN_HCI_COMMAND
+0x02 HCI_ERROR_NO_CONNECTION
+0x03 HCI_ERROR_HARDWARE_FAILURE
+0x04 HCI_ERROR_PAGE_TIMEOUT
+0x05 HCI_ERROR_AUTHENTICATION_FAILURE
+0x06 HCI_ERROR_KEY_MISSING
+0x07 HCI_ERROR_MEMORY_FULL
+0x08 HCI_ERROR_CONNECTION_TIMEOUT
+0x09 HCI_ERROR_MAX_CONNECTIONS
+0x0A HCI_ERROR_MAX_SCO_CONNECTIONS
+0x0B HCI_ERROR_MAX_ACL_CONNECTIONS
+0x0C HCI_ERROR_COMMAND_DISALLOWED
+0x0D HCI_ERROR_HOST_REJECT_LIMITED_RESOURCES
+0x0E HCI_ERROR_HOST_REJECT_SECURITY_REASONS
+0x0F HCI_ERROR_HOST_REJECT_REMOTE_IS_ONLY_PERSONAL
+0x10 HCI_ERROR_HOST_TIMEOUT
+0x11 HCI_ERROR_UNSUPPORTED_FEATURE_OR_PARAMETER_VALUE
+0x12 HCI_ERROR_INVALID_HCI_COMMAND_PARAMETERS
+0x13 HCI_ERROR_REMOTE_USER_ENDED_CONNECTION
+0x14 HCI_ERROR_REMOTE_LOW_RESOURCES
+0x15 HCI_ERROR_REMOTE_POWERING_OFF
+0x16 HCI_ERROR_CONNECTION_TERMINATED_BY_LOCAL_HOST
+0x17 HCI_ERROR_REPEATED_ATTEMPTS
+0x18 HCI_ERROR_PAIRING_NOT_ALLOWED
+0x19 HCI_ERROR_UNKNOWN_LMP_PDU
+0x1A HCI_ERROR_UNSUPPORTED_REMOTE_FEATURE
+0x1B HCI_ERROR_SCO_OFFSET_REJECTED
+0x1C HCI_ERROR_SCO_INTERVAL_REJECTED
+0x1D HCI_ERROR_SCO_AIR_MODE_REJECTED
+0x1E HCI_ERROR_INVALID_LMP_PARAMETER
+0x1F HCI_ERROR_UNSPECIFIED_ERROR
+0x20 HCI_ERROR_UNSUPPORTED_LMP_PARAMETER_VALUE
+0x21 HCI_ERROR_ROLE_CHANGE_NOT_ALLOWD
+0x22 HCI_ERROR_LMP_RESPONSE_TIMEOUT
+0x23 HCI_ERROR_ERROR_TRANSACTION_COLLISION
+0x24 HCI_ERROR_LMP_PDU_NOT_ALLOWED
+0x25 HCI_ERROR_ENCRYPTION_MODE_NOT_ACCEPTABLE
+0x26 HCI_ERROR_UNIT_KEY_USED
+0x27 HCI_ERROR_QOS_NOT_SUPPORTED
+0x28 HCI_ERROR_INSTANT_PASSED
+0x29 HCI_ERROR_PAIRING_W_UNIT_KEY_NOT_SUPPORTED
+0x2a HCI_ERROR_DIFFERENT_TRANSACTION_COLLISION
+0x2c HCI_ERROR_QOS_UNACCEPTABLE_PARAMETER
+0x2d HIC_ERROR_QOS_REJECTED
+0x2e HIC_ERROR_CHANNEL_CLASSIFICATION_NOT_SUPPORTED
+0x2f HIC_ERROR_INSUFFICIENT_SECURITY
+0x30 HIC_ERROR_PARAMETER_OUT_OF_MANDATORY_PANGE
+0x32 HIC_ERROR_ROLE_SWITCH_PENDING
+0x34 HIC_ERROR_RESERVED_SLOT_VIOLATION
+0x35 HIC_ERROR_ROLE_SWITCH_FAILED
+0x36 HIC_ERROR_EXTENDED_INQUIRY_RESPONSE_TOO_LARGE
+0x37 HIC_ERROR_SIMPLE_PAIRING_NOT_SUPPORTED_BY_HOST
+0x38 HIC_ERROR_HOST_BUSY_PAIRING
+)
+
+(
+0x00 HCI_LPM_OFF
+0x01 HCI_LPM_ON
+)
+
+
+(
+33 HOST_WAKE_TIME
+)
+
+(
+1 HCI_RX_WAKE
+0 HCI_RX_READY
+)
+
+
+(
+/*HID TYPE*/
+0x01 HID_TYPE_CONTROL
+0x04 HID_TYPE_GET_REPORT
+0x05 HID_TYPE_SET_REPORT
+0x07 HID_TYPE_SET_PROTOCOL
+0x09 HID_TYPE_SET_IDLE
+0x0a HID_TYPE_DATA
+/*HID REPORT ID*/
+0x01 HID_REPORT_ID_KB
+
+0x00 HID_CONTROL_P_NOOPERATION
+0x01 HID_CONTROL_P_HARDRESET
+0x02 HID_CONTROL_P_SOFTRESET
+0x03 HID_CONTROL_P_SUSPEND
+0x04 HID_CONTROL_P_EXITSUSPEND
+0x05 HID_CONTROL_P_VIRTUALCABLEUNPLUG
+)
+
+
+8 KB_KSCAN_ROW 
+7 KB_KSCAN_ROW_1
+20 KB_KSCAN_COL
+19 KB_KSCAN_COL_1
+
+/* ks_ctrl */
+(
+0x01 KB_KSCAN_CTRL_ENABLE					
+0x02 KB_KSCAN_CTRL_FREEZE					
+0x04 KB_KSCAN_CTRL_GHOST					
+0x08 KB_KSCAN_CTRL_INT						
+0x10 KB_KSCAN_CTRL_CLKON					
+0x20 KB_KSCAN_CTRL_FIFO_CLR				
+                  
+0 KB_KSCAN_STAT_EMPTY
+1 KB_KSCAN_STAT_FULL 					
+2 KB_KSCAN_STAT_OVERFLOW				
+6 KB_KSCAN_STAT_GHOST 
+
+0 KB_KSCAN_KEY_EVENT_STAT
+0 KB_KSCAN_KEY_PRESS	
+1 KB_KSCAN_KEY_RELEASE
+
+)
+(
+0 CACEL_RECONN_FLAG
+1 KEY_EVENT_FLAG
+2 KEY_SEARCH_M_KEY_FLAG
+3 CHECK_VDD_LOW_FLAG
+)
+
+// MACRO for map2
+
+// MACRO for map2
+
+//map2 Functions definition
+ 0x00 KB_MAP2_FUNC_REPORT0
+ 0x01 KB_MAP2_FUNC_REPORT1
+ 0x02 KB_MAP2_FUNC_REPORT2
+ 0x80 KB_MAP2_FUNC_IGNORE
+ 0x81 KB_MAP2_FUNC_DISCOV
+ 0x82 KB_MAP2_FUNC_WIN
+ 0x83 KB_MAP2_FUNC_ANDROID
+ 0x84 KB_MAP2_FUNC_IOS
+ 0x85 KB_MAP2_FUNC_DEV1
+ 0x86 KB_MAP2_FUNC_DEV2
+ 0x87 KB_MAP2_FUNC_DEV3
+ 
+//map2 Status definition (bit map)
+ 0x01 KB_MAP2_STATUS_WIN
+ 0x02 KB_MAP2_STATUS_ANDROID
+ 0x04 KB_MAP2_STATUS_IOS
+ 0x10 KB_MAP2_STATUS_CONN
+ 0x20 KB_MAP2_STATUS_UNCONN
+ 
+ 0x00 KB_MAP2_STATUS_BIT_WIN
+ 0x01 KB_MAP2_STATUS_BIT_ANDROID
+ 0x02 KB_MAP2_STATUS_BIT_IOS
+ 0x04 KB_MAP2_STATUS_BIT_CONN
+ 0x05 KB_MAP2_STATUS_BIT_UNCONN
+
+// map2 report length
+8 KB_MAP2_REPORT_LENGTH
+0x08 KB_VK_MAX_LEN
+
+//map2 device button state
+0 KB_DEVICE_BUTTON_UP
+1 KB_DEVICE_BUTTON_DEVICE1
+2 KB_DEVICE_BUTTON_DEVICE2
+3 KB_DEVICE_BUTTON_DEVICE3
+0xff KB_DEVICE_BUTTON_ALREADY_LONG
+)
+
+//
+(
+0x01 REPORT_ID_1
+0x02 REPORT_ID_2
+0x03 REPORT_ID_3
+)
+
+(
+1 FLAG_VDD_LOW
+0 FLAG_VDD_NOT_LOW
+
+0x1fe9 EEPROM_ADDR_VDD_FLAG
+0x1fea EEPROM_ADDR_VDD_LOW_FLAG
+0x1fec EEPROM_SYSTEM_FALG
+
+)
+
+//Specil Function Key
+(
+0XFF SFK_ANDROID_MAP
+0XFE SFK_IOS_SCREENSHOT
+
+)
+0x39 CAPS_LOCK_DATA
+)
+
+(
+2 KB_TEST_MODE
+)
+/* special key codes */
+(
+0x1d KB_KCODE_1_M1
+0x27 KB_KCODE_0
+0x28 KB_KCODE_ENTER
+0x2a KB_KCODE_BKSP
+)
+
+/*DATA OUTPUT report id = 1*/
+0 KB_NUM_LOCK_SELECTED
+1 KB_CAPS_LOCK_SELECTED
+2 KB_SCROLL_LOCK_SELECTED
+
+
+0x1f  KB_UI_BUTTON_GPIO
+
+
+
+
+memalloc(
+0 mem_l2cap_mem_start
+// L2CAP RX 
+2 mem_l2cap_rxbuff1_len
+2 mem_l2cap_rxbuff2_len
+2 mem_l2cap_rxbuff_new
+1 mem_l2cap_rxbuff_inuse
+2 mem_l2cap_payload_ptr
+2 mem_l2cap_rx_pkt_length
+2 mem_l2cap_rx_cid
+1 mem_l2cap_rx_done
+
+
+
+// L2CAP TX Signal channel
+2 mem_l2cap_signal_tx_buff_ptr
+2 mem_l2cap_signal_tx_payload_ptr
+2 mem_l2cap_signal_tx_length
+// L2CAP TX SDP channel
+2 mem_sdp_tx_buff_ptr
+2 mem_sdp_tx_payload_ptr
+2 mem_sdp_tx_pkt_length
+// L2CAP TX RFCOMM channel
+2 mem_rfcomm_tx_buff_ptr
+2 mem_rfcomm_tx_payload_ptr
+2 mem_rfcomm_tx_pkt_length
+
+
+
+//L2CAP Util
+
+2 memL2CAP_T1
+
+1 mem_CONTROL_tasks
+1 mem_send_config_req
+
+
+1 mem_config_identifier
+2 mem_config_req_dest_CID
+1 mem_rfcomm_malloc_fail_flag
+
+//L2CAP STATE MACHINE
+1 mem_message_to_uppersm
+1 mem_upper_sm_remote_page
+1 mem_upper_sm_reconn
+1 mem_upper_sm_ss
+
+
+64 mem_tx_malloc_log
+0 mem_l2cap_mem_end
+
+
+2 mem_scid
+2 mem_cmd_length
+2 mem_tt2
+2 mem_tt3
+2 mem_id
+2 mem_psm
+
+
+4 mem_l2cap_sdpres_delay_time
+)
+
+xmemalloc(
+0 mem_l2cap_xmem_start
+//*******************L2CAP TX MULTI-PACKET*********************//
+2 mem_l2cap_tx_multi_offset //0 means single packet
+
+//*******************CHANNEL ID*********************//
+2 mem_sdp_remote_cid
+2 mem_rfcomm_remote_cid
+2 mem_hid_ctrl_remote_cid
+2 mem_hid_int_remote_cid
+//*******************CHANNEL STATE*********************//
+1 mem_sdp_state
+1 mem_rfcomm_state
+1 mem_hid_control_state
+1 mem_hid_interrupt_state
+1 mem_spp_state
+1 mem_ML2CAP_comm_id
+
+//*******************L2CAP malloc********************//
+1 mem_used_map
+0 mem_tx_fifo0
+1 mem_tx_fifo0_map
+2 mem_tx_fifo0_ptr
+0 mem_tx_fifo1
+1 mem_tx_fifo1_map
+2 mem_tx_fifo1_ptr
+0 mem_tx_fifo2
+1 mem_tx_fifo2_map
+2 mem_tx_fifo2_ptr
+0 mem_tx_fifo3
+1 mem_tx_fifo3_map
+2 mem_tx_fifo3_ptr
+0 mem_tx_fifo_end
+256 mem_l2cap_lpm_txbuf
+//*******************MISC*********************//
+1 mem_l2cap_flow_ctrl_flag
+1 mem_l2cap_pending_item
+0 mem_l2cap_xmem_end
+
+)
+
+
+//mem_l2cap_lpm_txbuf
+(
+256 l2cap_lpm_txbuf_len
+)
+
+(
+4 L2CAP_TX_FIFO_SIZE
+8 L2CAP_TX_BUFF_CNT
+
+)
+(
+0x0002 L2CAP_SIG_EXT_FEATRUE
+0x0003 L2CAP_SIG_FIX_FEATRUE
+)
+
+
+(
+0 HS_IDLE
+1 AG_INIT_CALL
+2 HS_INIT_CALL
+)
+(
+0 M_ACL_LINK_ABSENT
+1 M_ACL_LINK_EXIST
+)
+
+(
+0 L2CAP_INUSE_BUFF1
+1 L2CAP_INUSE_BUFF2
+)
+/* upper layer interface w/ lower layer */
+(
+1 MAX_NUM_LINKS_ALLOWED
+1 MAX_NUM_SCO_ALLOWED
+1 ACL_LINK_PRESENT
+0 ACL_LINK_ABSENT
+)
+(
+1 L2CAP_RX_DONE 
+0 L2CAP_RX_CLEAR
+)
+/* Scheduler */
+(
+0 L2CAP_DISCONNECT_INTERRUPT
+1 RFCOMM_wants_service
+2 L2CAP_sig_Tx_buff_full
+3 RFCOMM_Tx_buff_full
+4 SDP_Tx_buff_full
+5 got_complete_L2CAP_pkt	
+6 L2CAP_init_Config_Req
+7 L2CAP_DISCONNECT_CONTROL
+)
+
+/* mem_CONTROL_tasks2 */
+(
+0 UI_NEED_SERVICE
+)
+/* L2CAP logic channel identifiers (2 bytes) p.261 */
+(
+0x0001 L2CAP_signal_channel
+0x0050 L2CAP_SDP_channel
+0x0051 L2CAP_RFCOMM_channel
+0x0052 L2CAP_HID_Control_channel   
+0x0053 L2CAP_HID_Interrupt_channel
+0x0077 L2CAP_AVDTP_signal_channel		//------avdtp
+0x0078 L2CAP_AVDTP_media_channel
+0x0079 L2CAP_AVDTP_report_channel
+0x0080 L2CAP_AVDTP_recovery_channel
+0x00dd L2CAP_AVCTP_Control_channel
+)
+/* L2CAP signalling command codes (1 byte) p.284 */
+(
+0x00 reserved
+0x01 signal_cmd_reject
+0x02 signal_connect_req
+0x03 signal_connect_rsp
+0x04 signal_config_req
+0x05 signal_config_rsp
+0x06 signal_disconnect_req
+0x07 signal_disconnect_rsp
+0x08 signal_echo_req
+0x09 signal_echo_rsp
+0x0a signal_info_req
+0x0b signal_info_rsp
+)
+/* L2CAP signal_command_reject reason code (2 bytes), p.285 */
+(
+0x0000 cmd_not_understood
+0x0001 signalling_MTU_exceeded
+0x0002 invalid_CID_in_req
+)
+/* L2CAP PSM values used in signal_connect_req (2 bytes), p.286 */
+(
+0x0001 PSM_SDP
+0x0003 PSM_RFCOMM
+0x0005 PSM_TCS
+0x0011 PSM_HID_control
+0x0013 PSM_HID_interrupt
+0x0017 PSM_AVCTP
+0x0019 PSM_AVDTP
+)
+/* L2CAP connection response result code (2 bytes), p.288 */
+(
+0x0000 L2CAP_connect_successful
+0x0001 L2CAP_connect_pending
+0x0002 L2CAP_connect_refused_PSM_unsupported
+0x0003 L2CAP_connect_refused_security_block
+0x0004 L2CAP_connect_refused_no_resources
+)
+/* L2CAP connection status values (2 bytes), p.288 */
+(
+0x0000 L2CAP_no_info_available
+0x0001 L2CAP_authentication_pending
+0x0002 L2CAP_authorization_pending
+)
+/* L2CAP configuration response result code (2 bytes), p.292 */
+(
+0x0000 L2CAP_config_success
+0x0001 L2CAP_config_failure_bad_parameters
+0x0002 L2CAP_config_failure_no_reason
+0x0003 L2CAP_config_failure_unknown_options
+)
+/* L2CAP constant definitions */
+(
+128 L2CAP_Rx_buff_size
+48  L2CAP_signal_Tx_buff_size
+128 SDP_Tx_buff_size
+128 RFCOMM_Tx_buff_size
+1 AM_ADDRESS
+3 DM1TYPE
+4 DH1TYPE
+11 DH3TYPE
+8 DVTYPE
+0 channel_state_closed
+1 channel_state_config
+2 channel_state_open
+0x0030 L2CAP_config_MTU_SDP
+0xffff L2CAP_config_ftimeout_SDP
+0x03e3 L2CAP_config_MTU_RFCOMM
+0xffff L2CAP_config_ftimeout_RFCOMM
+260 l2cap_max_pkt_len
+)
+
+(
+0 FAILURE
+1 SUCCESS
+2 IN_PROGRESS
+)
+(
+0x00	IDLE
+0x01	WAIT_4_BB_PAGE
+0x02	WAIT_4_LMP_CONN
+0x03	WAIT_4_SCO_CONN
+0x04	WAIT_4_SCO_KILLED
+)
+
+/*mem_master_mss*/
+(
+0 STOP_ENC
+1 SEND_SWITCH_REQ
+)
+(
+0 HF_HS_READY
+1 HF_AG_READY
+)
+/* mem_hf_state */
+(
+0 HF_STATE_WAITING_RFCOMM_CONN
+1 HF_STATE_HF_SEND_FEATURE
+2 HF_STATE_WAITING_AG_FEATURE_OK
+3 HF_STATE_HF_SEND_INDICATORS
+4 HF_STATE_WAITING_AG_INDICATORS_OK
+5 HF_STATE_HF_SEND_CURR_STATUS
+6 HF_STATE_WAITING_AG_STATUS_OK
+7 HF_STATE_HF_SEND_UPDATE_STATUS
+8 HF_STATE_WAITING_AG_UPDATE_STATUS_OK
+9 HF_STATE_CONNECTED
+0x0a HF_STATE_HF_SEND_RECEIVE_INFO
+0x0b HF_STATE_WAITING_AG_INFO
+0x0c HF_STATE_HF_SEND_AT_CLIP
+0x0d HF_STATE_WAITING_AT_CLIP
+0x0e HF_STATE_HF_SEND_AT_CCWA
+0x0f HF_STATE_WAITING_AT_CCWA
+)
+/*mem_hf_call_state*/
+(
+0 HF_CALL_STATE_INACTIVE
+1 HF_CALL_STATE_SETUP
+2 HF_CALL_STATE_ACTIVE 
+)
+/* mem_pairing_state bit definition */
+(
+0 PAIR_INQUIRY_START
+1 PAIR_INQUIRY_TIME_OUT
+2 PAIR_INQUIRY_FAILED
+3 PAIR_INQUIRY_SUCCESS
+4 PAIR_READY_CONN
+5 PAIR_WAIT_CANCEL_RESPONSE
+6 PAIR_CONN_SUCCESS
+7 PAIR_WAIT_DETACH
+)  
+
+/* mem_pairing_mode bit definition */
+(
+0 FORCE_AUTHENTICATION
+)
+/* mem_hid_protecol_type */
+(
+0 PROTECOL_BOOT /*default*/
+1 PROTECOL_REPORT
+)
+
+/* mem_upper_sm_reconn */
+(
+1 UPPERSM_SEND_SDP_CONN_REQ
+2 UPPERSM_SEND_SDP_CFG_REQ
+3 UPPERSM_SEND_SDP_HF_SS
+4 UPPERSM_SEND_SDP_DISC_REQ
+5 UPPERSM_SEND_RFCOMM_CONN_REQ
+6 UPPERSM_SEND_RFCOMM_CFG_REQ
+7 UPPERSM_SEND_SABM_CMD
+8 UPPERSM_SEND_DISC
+9 UPPERSM_SEND_WAIT
+10 UPPERSM_SEND_HID_CONTROL_CONN_REQ
+11 UPPERSM_SEND_HID_CONTROL_CFG_REQ
+12 UPPERSM_SEND_HID_INTERRUPT_CONN_REQ
+13 UPPERSM_SEND_HID_INTERRUPT_CFG_REQ
+14 UPPERSM_SEND_SDP_HS_SS
+15 UPPERSM_SEND_SDP_PBAP_SS
+16 UPPERSM_SEND_SDP_AVTARG_SS
+)
+/* mem_upper_sm_remote_page */
+(
+1 UPPERSM_RP_SEND_SDP_CONN_REQ
+2 UPPERSM_RP_SEND_SDP_CFG_REQ
+3 UPPERSM_RP_SEND_SDP_HF_SS
+4 UPPERSM_RP_SEND_SDP_HS_SS
+5 UPPERSM_RP_SEND_SDP_PBAP_SS
+6 UPPERSM_RP_SEND_SDP_AVTARG_SS
+7 UPPERSM_RP_SEND_SDP_DISC_REQ
+8 UPPERSM_RP_SEND_AVCTP_CONN_REQ
+9 UPPERSM_RP_SEND_AVCTP_CFG_REQ
+)
+
+/* mem_ML2CAP_flag */
+(
+0 MSCHEDULER_HID_CONTROL_CONN_DONE
+1 MSCHEDULER_HID_INTERRUPT_CONN_DONE
+2 MSCHEDULER_HID_CONTROL_CFG_REQ_DONE
+3 MSCHEDULER_HID_CONTROL_CFG_RSP_DONE
+4 MSCHEDULER_HID_INTERRUPT_CFG_REQ_DONE
+5 MSCHEDULER_HID_INTERRUPT_CFG_RSP_DONE
+6 MSCHEDULER_HID_CONTROL_DISC_DONE
+7 MSCHEDULER_HID_INTERRUPT_DISC_DONE
+)
+/*    ui event    --add by lj*/
+(
+0x00 UI_DATA_EVNET_NONE
+0x01 UI_DATA_EVNET_HID
+0x02 UI_DATA_EVNET_AVDTP_S
+0x03 UI_DATA_EVNET_AVDTP_M
+0x04 UI_DATA_EVNET_AVCTP
+0x05 UI_DATA_EVNET_HS
+0x06 UI_DATA_EVNET_HF
+0x07 UI_DATA_EVNET_SPP
+0x08 UI_DATA_EVNET_OBEX
+)
+/*    ui ack --add by lj*/
+(
+0x00 UI_DATA_TX_NONE
+0x01 UI_DATA_TX_HID
+0x02 UI_DATA_TX_AVDTP_S
+0x03 UI_DATA_TX_AVDTP_M
+0x04 UI_DATA_TX_AVCTP
+0x05 UI_DATA_TX_HS
+0x06 UI_DATA_TX_HF
+0x07 UI_DATA_TX_SPP
+0x08 UI_DATA_TX_OBEX
+0x10 ACL_TX_L2CAP_SIGNAL
+0x11 ACL_TX_SDP
+0x12 ACL_TX_RFCOMM
+
+)
+
+(
+0 L2CAP_SDP_interface_conn
+1 L2CAP_SDP_interface_cfg
+)
+
+(                                   
+0 L2CAP_CHANNEL_STATE_CONN_REQ      
+1 L2CAP_CHANNEL_STATE_CONN_RES      
+2 L2CAP_CHANNEL_STATE_SND_CFG_REQ   
+3 L2CAP_CHANNEL_STATE_SND_CFG_RES   
+4 L2CAP_CHANNEL_STATE_RCV_CFG_REQ   
+5 L2CAP_CHANNEL_STATE_RCV_CFG_RES
+6 L2CAP_CHANNEL_RFCOMM_ONLY_SABM
+7 L2CAP_CHANNEL_RFCOMM_ONLY_UA
+6 L2CAP_CHANNEL_AVDTP_SIGNAL_INIT //set avdtp init complete
+6 L2CAP_CHANNEL_HID_HANDSHAKE_DONE
+0x3f L2CAP_CHANNEL_SETUP_COMPLETE
+0x7f L2CAP_CHANNEL_AVDTP_SIGNAL_COMPLETE
+0xff L2CAP_CHANNEL_RFCOMM_DLCI0_OPENED
+)                                     
+
+/*  AVDTP---lj*/
+(
+0 L2CAP_AVDTP_SIGNAL_CONNECT
+1 L2CAP_AVDTP_SIGNAL_CONFIG
+2 L2CAP_AVDTP_MEDIA_CONNECT
+3 L2CAP_AVDTP_MEDIA_CONFIG
+4 L2CAP_AVDTP_REPORT_CONNECT
+5 L2CAP_AVDTP_REPORT_CONFIG
+6 L2CAP_AVDTP_RECOVERY_CONNECT
+7 L2CAP_AVDTP_RECOVERY_CONFIG
+)
+/*  AVCTP---lj*/
+(
+0 L2CAP_AVCTP_SIGNAL_CONNECT
+1 L2CAP_AVCTP_SIGNAL_CONFIG
+)
+
+127 L2CAP_SIGNAL_MALLOC_SIZE
+
+//1 mem_rfcomm_malloc_fail_flag
+(
+0 RFCOMM_MALLOC_SUCCEED
+1 RFCOMM_MALLOC_FAIL
+)
+
+//mem_l2cap_flow_ctrl_flag
+(
+0 L2CAP_FLOW_CTRL_DISABLE
+1 L2CAP_FLOW_CTRL_ENABLE
+)
+
+
+memalloc(
+56 mem_le_rxbuf
+262 mem_le_l2capbuf
+
+/* security temp */
+4 mem_le_mic
+4 mem_le_peer_mic
+//8 mem_le_skdm
+//8 mem_le_skds
+16 mem_le_peer_ltk
+16 mem_le_mrand
+
+
+/* ========= le context =========== */
+1 mem_le_state
+1 mem_le_mode
+2 mem_le_tsniff
+4 mem_le_anchor
+6 mem_le_clk_offset
+2 mem_le_receive_window
+6 mem_le_plap
+1 mem_le_conn_handle
+1 mem_le_arq
+1 mem_le_ch
+1 mem_le_hop
+2 mem_le_event_count
+4 mem_le_supervision_timer
+2 mem_le_instant
+1 mem_le_channels
+1 mem_le_op
+
+	/* these 3 should NOT be seperated */
+4 mem_le_access
+3 mem_le_crcinit
+1 mem_le_window_size
+
+	/* these 3 should NOT be seperated */
+2 mem_le_slave_latency
+2 mem_le_superto
+5 mem_le_channel_map
+
+2 mem_le_no_using
+1 mem_le_peer_sca
+
+/* should be together */
+1 mem_le_att_opcode
+2 mem_le_att_handle
+
+1 mem_le_err_code
+1 mem_le_ll_pairing_fail_reason
+
+16 mem_le_sk
+
+/* test */
+1 mem_le_testtype
+2 mem_le_test_sync
+2 mem_le_test_pcnt
+
+6 mem_le_rxon_ts
+
+1 mem_le_rx_ll_opcode
+
+2 mem_le_notify_attr_start
+1 mem_le_notify_len
+
+1 mem_cmd_le_create_conn
+
+2 mem_le_cur_attlist_start_ptr
+2 mem_le_cur_handle_start
+2 mem_le_cur_handle_end
+1 mem_le_cur_uuid_length
+16 mem_le_cur_uuid
+
+1 mem_le_curr_att_len
+1 mem_le_search_res
+
+1 mem_le_continue_type
+)
+
+
+xmemalloc(
+2 mem_le_dsniff
+
+// parameters
+2 mem_le_conn_interval
+1 mem_le_scan_enable
+2 mem_le_scan_interval
+2 mem_le_scan_window
+
+1 mem_le_adv_enable
+1 mem_le_adv_data_len
+31 mem_le_adv_data
+1 mem_le_scan_data_len
+31 mem_le_scan_data
+
+//modified name
+1 mem_le_name_len
+30 mem_le_name
+
+//37 mem_le_chmap
+
+
+5 mem_le_new_map
+0 mem_le_new_param
+1 mem_le_new_transmitwindowsize
+2 mem_le_new_transmitwindowoffset
+2 mem_le_new_conninterval
+2 mem_le_new_connslavelatency
+2 mem_le_new_connsupervisiontimeout
+
+1 mem_le_txheader
+1 mem_le_txlen
+2 mem_le_txpayload
+2 mem_le_txcid
+1 mem_le_l2cap
+1 mem_le_l2cap_response
+31 mem_le_txbdy
+
+/* smp related */
+5 mem_le_pcnt_tx
+5 mem_le_pcnt_rx
+4 mem_le_last_mic
+4 mem_le_ivm
+4 mem_le_ivs
+16 mem_le_ltk
+1 mem_ltk_exists
+16 mem_le_rconfirm
+16 mem_le_srand
+1 mem_le_iat
+1 mem_le_rat
+1 mem_le_preq
+1 mem_le_preq_iocap
+1 mem_le_preq_oob
+1 mem_le_preq_auth
+1 mem_le_preq_max_keysize
+1 mem_le_preq_init_key_distribution
+1 mem_le_preq_resp_key_distribution
+1 mem_le_pres
+1 mem_le_pres_iocap
+1 mem_le_pres_oob
+1 mem_le_pres_auth
+1 mem_le_pres_max_keysize
+1 mem_le_pres_init_key_distribution
+1 mem_le_pres_resp_key_distribution
+
+/* att related */
+2 mem_le_search_handle_start
+2 mem_le_search_handle_end
+0 mem_le_att_offset
+1 mem_le_search_att_type_length
+16 mem_le_search_att_type
+2 mem_le_notify_handle
+1 mem_le_search_uuid_length
+16 mem_le_search_uuid
+
+
+//START of LE adv parameter structure
+0 mem_le_adv_param
+2 mem_le_adv_interval
+1 mem_le_adv_type
+1 mem_le_adv_own_addr_type
+1 mem_le_adv_direct_addr_type
+6 mem_le_adv_direct_addr
+1 mem_le_adv_channel_map
+//END of LE adv parameter structure
+
+//START of LE conn parameter structure
+0 mem_le_conn_param
+1 mem_le_conn_peer_addr_type
+6 mem_le_conn_peer_addr
+1 mem_le_conn_own_addr_type
+2 mem_le_interval_min
+2 mem_le_interval_max
+2 mem_le_latency
+2 mem_le_timeout
+//START of LE conn parameter structure
+
+//START of LE scan parameter structure
+0 mem_le_scan_params
+1 mem_le_scan_type
+1 mem_le_scan_own_addr_type
+//END of LE scan parameter structure
+
+3 mem_le_lap
+1 mem_le_uap
+2 mem_le_nap
+
+2 mem_le_local_mtu
+2 mem_le_remote_mtu
+
+8 mem_le_skdm
+8 mem_le_skds
+
+2 mem_le_init_superto
+2 mem_ui_le_uuid_table 
+
+1 mem_le_secure_connect_enable
+1 mem_le_secure_connect_flag
+1 mem_le_sc_calc
+1 mem_le_secure_connect_state
+1 mem_le_sc_confirm_gkey_flag
+1 mem_le_sc_local_key_invalid
+
+
+1 mem_le_pairing_state
+1 mem_le_enc_state
+1 mem_le_pairing_mode
+4 mem_le_tk
+2 mem_le_ediv
+8 mem_le_rand
+16 mem_le_irk
+
+//LE attribute list
+4 mem_le_transmit_window
+
+//ble General configuration 
+1 mem_le_configuration
+16 mem_le_fixed_ltk
+2 mem_le_pairing_handle
+
+//for continue
+2 mem_le_l2cap_size
+1 mem_le_packet_len_recved
+
+//for fifo
+1 mem_le_tx_buff_used
+2 mem_le_tx_ptr0
+2 mem_le_tx_ptr1
+2 mem_le_tx_ptr2
+2 mem_le_tx_ptr3
+
+//ble gatt signaling
+1 mem_le_signaling_identifier
+2 mem_le_l2cap_signaling_conn_param_update_rsp_result
+
+1 mem_le_packet_size
+1 mem_le_packet_llid
+2 mem_le_payload_ptr
+
+1 mem_le_md_count
+)
+
+(
+20 notify_handle
+2 param_max_slaves
+1636 param_sifs
+0x000a06 param_le_version
+0x1d87 param_le_subversion
+0x000001 param_le_features
+23 param_le_mtu
+16 param_le_scan_interval
+16 param_le_scan_window
+0x1e0 param_clke_cal_le
+0x1000302 param_smp_paring_response		/* for mouse, noinputnooutput */
+0x010410 param_smp_key_dist	
+0xa0 param_le_sca
+)
+
+(
+0 DEFAULT_STATES
+1 IPHONE_LOST_LTK
+2 MODULE_LOST_LTK
+3 LTK_NOT_LOST
+)
+
+(
+0 FLAG_BLE_INSUFFICIENT_AUTHENTICATION
+1 FLAG_BLE_COPY_MASTER_DATA_TO_ATT_LIST
+)
+
+/*LE MOUSE-KB*/
+(
+1 LE_CONTEXT_STATE_KB
+2 LE_CONTEXT_STATE_MOUSE
+
+3 USB_MOUSE_DATA_CMD
+
+1 SEND_MOUSE_DATA_CMD
+2 SEND_KB_DATA_CMD
+)
+
+
+  (
+  	0 LE_M_STATE_SLAVE1_STANDBY
+  	1 LE_M_STATE_SLAVE1_ADVERTISING
+  	2 LE_M_STATE_SLAVE1_SCANNING
+  	3 LE_M_STATE_SLAVE1_INITIATING
+  	4 LE_M_STATE_SLAVE1_CONNECTED
+  	5 LE_M_STATE_SLAVE1_RFU_1
+  	6 LE_M_STATE_SLAVE1_RFU_2
+  	7 LE_M_STATE_SLAVE1_RFU_3
+  )
+
+  (
+  	0 LE_M_STATE_SLAVE2_STANDBY
+  	1 LE_M_STATE_SLAVE2_ADVERTISING
+  	2 LE_M_STATE_SLAVE2_SCANNING
+  	3 LE_M_STATE_SLAVE2_INITIATING
+  	4 LE_M_STATE_SLAVE2_CONNECTED
+  	5 LE_M_STATE_SLAVE2_CONNECT_INIT
+  	6 LE_M_STATE_SLAVE2_RFU_2
+  	7 LE_M_STATE_SLAVE2_RFU_3
+  )
+
+  	(
+	0 LE_SM_IDLE
+	1 LE_SM_FBTV_1800
+	2 LE_SM_FBTV_1800_WAIT
+	3 LE_SM_RBT_DEVICE_NAME
+	4 LE_SM_RBT_DEVICE_NAME_WAIT
+	5 LE_SM_FBTV_1801
+	6 LE_SM_FBTV_1801_WAIT
+	7 LE_SM_RBT_DEVICE_CHARACTER
+	8 LE_SM_RBT_DEVICE_CHARACTER_WAIT
+	
+  	)
+
+/* advertising channel PDU type */
+(
+0 ADV_IND
+1 ADV_DIRECT_IND
+2 ADV_NONCONN_IND
+3 SCAN_REQ
+4 SCAN_RSP
+5 CONNECT_REQ
+6 ADV_SCAN_IND
+)
+
+	/* tx packet type */
+	(
+	0x20 XT_LL_CONNECTION_UPDATE_REQ
+	0x21 XT_LL_CHANNEL_MAP_REQ
+	0x22 XT_LL_TERMINATE_IND
+	0x23 XT_LL_ENC_REQ
+	0x24 XT_LL_ENC_RSP
+	0x25 XT_LL_START_ENC_REQ
+	0x26 XT_LL_START_ENC_RSP
+	0x27 XT_LL_UNKNOWN_RSP
+	0x28 XT_LL_FEATURE_REQ
+	0x29 XT_LL_FEATURE_RSP
+	0x2A XT_LL_PAUSE_ENC_REQ
+	0x2B XT_LL_PAUSE_ENC_RSP
+	0x2C XT_LL_VERSION_IND
+	0x2D XT_LL_REJECT_IND
+	0x2E XT_LL_SLAVE_FEATURE_REQ
+	0x2F XT_LL_CONNECTION_PARAM_REQ
+	0x30 XT_LL_CONNECTION_PARAM_RSP
+	0x31 XT_LL_REJECT_IND_EXT
+	0x32 XT_LL_PING_REQ
+	0x33 XT_LL_PING_RSP
+	0x41 XT_SMP_PAIRING_REQUEST
+	0x42 XT_SMP_PAIRING_RESPONSE
+	0x43 XT_SMP_PAIRING_CONFIRM
+	0x44 XT_SMP_PAIRING_RANDOM
+	0x45 XT_SMP_PAIRING_FAILED
+	0x46 XT_SMP_ENCRYPTION_INFORMATION
+	0x47 XT_SMP_MASTER_IDENTIFICATION
+	0x48 XT_SMP_IDENTITY_INFORMATION
+	0x49 XT_SMP_IDENTITY_ADDRESS_INFORMATION
+	0x4A XT_SMP_SIGNING_INFORMATION
+	0x4B XT_SMP_SECURITY_REQUEST
+	0x4c XT_SMP_PAIRING_PUBLIC_KEY
+	0x4d XT_SMP_PAIRING_DHKEY_CHECK
+	)
+
+
+	/* LE control packet type */
+	(
+	0x00 LL_CONNECTION_UPDATE_REQ
+	0x01 LL_CHANNEL_MAP_REQ
+	0x02 LL_TERMINATE_IND
+	0x03 LL_ENC_REQ
+	0x04 LL_ENC_RSP
+	0x05 LL_START_ENC_REQ
+	0x06 LL_START_ENC_RSP
+	0x07 LL_UNKNOWN_RSP
+	0x08 LL_FEATURE_REQ
+	0x09 LL_FEATURE_RSP
+	0x0A LL_PAUSE_ENC_REQ
+	0x0B LL_PAUSE_ENC_RSP
+	0x0C LL_VERSION_IND
+	0x0D LL_REJECT_IND
+	0x0E LL_SLAVE_FEATURE_REQ
+	0x0F LL_CONNECTION_PARAM_REQ
+	0x10 LL_CONNECTION_PARAM_RSP
+	0x11 LL_REJECT_IND_EXT
+	0x12 LL_PING_REQ
+	0x13 LL_PING_RSP
+	)
+
+	/* Security Manager Protocol Code */
+	(
+	0x01 SMP_PAIRING_REQUEST
+	0x02 SMP_PAIRING_RESPONSE
+	0x03 SMP_PAIRING_CONFIRM
+	0x04 SMP_PAIRING_RANDOM
+	0x05 SMP_PAIRING_FAILED
+	0x06 SMP_ENCRYPTION_INFORMATION
+	0x07 SMP_MASTER_IDENTIFICATION
+	0x08 SMP_IDENTITY_INFORMATION
+	0x09 SMP_IDENTITY_ADDRESS_INFORMATION
+	0x0A SMP_SIGNING_INFORMATION
+	0x0B SMP_SECURITY_REQUEST
+	0x0c SMP_PAIRING_PUBLIC_KEY
+	0x0d SMP_PAIRING_DHKEY_CHECK
+	)
+
+	/* ATT OPCODE */
+	(
+	0x01 ATTOP_ERROR_RESPONSE
+	0x02 ATTOP_EXCHANGE_MTU_REQUEST
+	0x03 ATTOP_EXCHANGE_MTU_RESPONSE
+	0x04 ATTOP_FIND_INFORMATION_REQUEST
+	0x05 ATTOP_FIND_INFORMATION_RESPONSE
+	0x06 ATTOP_FIND_BY_TYPE_VALUE_REQUEST
+	0x07 ATTOP_FIND_BY_TYPE_VALUE_RESPONSE
+	0x08 ATTOP_READ_BY_TYPE_REQUEST
+	0x09 ATTOP_READ_BY_TYPE_RESPONSE
+	0x0A ATTOP_READ_REQUEST
+	0x0B ATTOP_READ_RESPONSE
+	0x0C ATTOP_READ_BLOB_REQUEST
+	0x0D ATTOP_READ_BLOB_RESPONSE
+	0x0E ATTOP_READ_MULTIPLE_REQUEST
+	0x0F ATTOP_READ_MULTIPLE_RESPONSE
+	0x10 ATTOP_READ_BY_GROUP_TYPE_REQUEST
+	0x11 ATTOP_READ_BY_GROUP_TYPE_RESPONSE
+	0x12 ATTOP_WRITE_REQUEST
+	0x13 ATTOP_WRITE_RESPONSE
+	0x16 ATTOP_PREPARE_WRITE_REQUEST
+	0x17 ATTOP_PREPARE_WRITE_RESPONSE
+	0x18 ATTOP_EXECUTE_WRITE_REQUEST
+	0x19 ATTOP_EXECUTE_WRITE_RESPONSE
+	0x1B ATTOP_HANDLE_VALUE_NOTIFICATION
+	0x1D ATTOP_HANDLE_VALUE_INDICATION
+	0x1E ATTOP_HANDLE_VALUE_CONFIRMATION
+	0x52 ATTOP_WRITE_COMMAND
+	0xD2 ATTOP_SIGNED_WRITE_COMMAND
+	0x1f ATTOP_CONTINUE
+	0x9e EMPTY_LE_DATA_PRE
+	0x9f EMPTY_LE_DATA
+	)
+
+	/* ATT error code */
+	(
+	0x01 ATT_ERR_INVALID_HANDLE
+	0x02 ATT_ERR_READ_NOT_PERMITTED
+	0x03 ATT_ERR_WRITE_NOT_PERMITTED
+	0x04 ATT_ERR_INVALID_PDU
+	0x05 ATT_ERR_INSUFFICIENT_AUTHENTICATION
+	0x06 ATT_ERR_REQUEST_NOT_SUPPORTED
+	0x07 ATT_ERR_INVALID_OFFSET
+	0x08 ATT_ERR_INSUFFICIENT_AUTHORIZATION
+	0x09 ATT_ERR_PREPARE_QUEUE_FULL
+	0x0A ATT_ERR_ATTRIBUTE_NOT_FOUND
+	0x0B ATT_ERR_ATTRIBUTE_NOT_LONG
+	0x0C ATT_ERR_INSUFFICIENT_ENCRYPTION_KEY_SIZE
+	0x0D ATT_ERR_INVALID_ATTRIBUTE_VALUE_LENGTH
+	0x0E ATT_ERR_UNLIKELY_ERROR
+	0x0F ATT_ERR_INSUFFICIENT_ENCRYPTION
+	0x10 ATT_ERR_UNSUPPORTED_GROUP_TYPE
+	0x11 ATT_ERR_INSUFFICIENT_RESOURCES
+	)
+	/*	SERVICE UUID	*/
+	(
+	0x1800 UUID_SERVICE_GENERIC_ACC
+	0x1801 UUID_SERVICE_GENERIC_ATT
+	0x180a UUID_SERVICE_DEVICE_INFO
+	0x180f UUID_SERVICE_BATTERY
+	0x1812 UUID_SERVICE_HIDS
+	0x2800 UUID_GATT_PRIMARY_SERVICE
+	0x2801 UUID_GATT_SECONDARY_SERVICE
+	0X2802 UUID_GATT_INCLUDE
+	0X2803 UUID_GATT_CHARACTERISTIC
+	0X2A00 UUID_CHRCTR_DEVICE_NAME
+	0X2A19 UUID_CHRCTR_BATTERY_LEVEL
+	0X2A22 UUID_CHRCTR_KEYBOARD_INPUT
+	0X2A23 UUID_CHRCTR_SYSTEM_ID 
+	0X2A25 UUID_CHRCTR_SERIAL_NUMBER
+	0X2A26 UUID_CHRCTR_FIRMWARE
+	0X2A32 UUID_CHRCTR_KEYBOARD_OUTPUT
+	0X2A33 UUID_CHRCTR_MOUSE_INPUT
+	0X2A4A UUID_CHRCTR_HID_INFO
+	0X2A4B UUID_CHRCTR_REPORT_MAP
+	0X2A4C UUID_CHRCTR_HID_CTRL_POINT
+	0X2A4D UUID_CHRCTR_REPORT
+	0X2A4E UUID_CHRCTR_PROTOCOL_MODE
+	)
+
+	(// pairing failed reason
+	0x00 PAIRING_FAILED_RESERVED
+	0X01 PAIRING_FAILED_PASSKEY_ENTRY_FAILED
+	0X02 PAIRING_FAILED_OOB_NOT_AVAILABLE
+	0X03 PAIRING_FAILED_AUTHENTICATION_REQUIRE
+	0X04 PAIRING_FAILED_CONFIRM_VALUE_FAILED
+	0X05 PAIRING_FAILED_PAIRING_NOT_SUPPORTED
+	0X06 PAIRING_FAILED_ENCRYPTION_KEY_SIZE
+	0X07 PAIRING_FAILED_COMMAND_NOT_SUPPORTED
+	0X08 PAIRING_FAILED_UNSPECIFIED_REASON
+	0X09 PAIRING_FAILED_REPEATED_ATTEMPTS
+	0X0A PAIRING_FAILED_INVALID_PARAMETERS
+	0X0B PAIRING_FAILED_DHKEY_CHECK_FAILED
+	0X0C PAIRING_FAILED_NUMERIC_COMPARISON_FAILED
+	0X0D PAIRING_FAILED_BR_EDR_PAIRING_IN_PROGRESS
+	0X0E PAIRING_FAILED_KEY_DERIVATION_GENERATION_NOT_ALLOWED
+	)
+
+	//modified_name
+	(
+	0x14 MAX_NAME_LEN
+	0x16 ADV_DATA_NAME_LEN
+	0X20 SPACE
+	
+	)
+	/* GATT Specifications*/
+	(
+	0X2900 CHARACTERTIC_EXTENDED_PROPERTIES
+	0X2901 CHARACTERTIC_USER_DESCRIPTION
+	0X2902 CLIENT_CHARACTERTIC_CONFIGURATION
+	0X2903 SERVER_CHARACTERTIC_CONFIGURATION
+	0X2904 CHARACTERTIC_PRESENTATION_FORMAT
+	0X2905 CHARACTERTIC_AGGREGATE
+	0X2906 VALID_RANGE
+	0X2907 EXTERNAL_REPORT_REFERENCE
+	0X2908 REPORT_REFERENCE
+	0X290B ENVIR_SENSING_CONFIGURATION
+	0X290C ENVIR_SENSING_MEASUREMENT
+	0X290D ENVIR_SENSING_TRIGGER_SETTING
+	)
+	/* LE L2CAP CID */
+	(
+	0x04 LE_L2CAP_CID_ATT
+	0x05 LE_L2CAP_CID_SIGNAL
+	0x06 LE_L2CAP_CID_SMP
+	)
+
+	//LE address type
+	(
+	0 LE_ADDR_TYPE_PUBLIC
+	1 LE_ADDR_TYPE_RANDOM
+	)
+	//LE address type bitmap
+	(
+	7 LE_RECEIVER_ADDR_BIT
+	6 LE_SENDER_ADDR_BIT
+	)
+	//LE SCAN TYPE
+	(
+	0x00 LE_SCAN_TYPE_PASSIVE //no SCAN_REQ shall be sent
+	0x01 LE_SCAN_TYPE_ACTIVE
+	)
+
+	//LE SCAN ENABLE
+	(
+	0x00 LE_SCAN_DISABLE
+	0x01 LE_SCAN_ENABLE
+	0x0101 LE_ACTIVE_SCAN_ENABLE
+	)
+
+	//LE FIND INFORMATION RESPONSE
+	//THE FORMAT OF THE INFORMATION DATA
+	(
+	0x01 UUID_SIZE_16BIT
+	0x02 UUID_SIZE_128BIT
+	)
+
+	(
+	0x0000 BLE_SIGNALING_CONNECT_PARAMETER_UPDATE_ACCEPTED
+	0x0001 BLE_SIGNALING_CONNECT_PARAMETER_UPDATE_REJECTED
+	)
+
+
+//	le_state_map 0-2 is reserved for state_inconn,state_insniff and state_sco
+(
+3 lestate_got_first_packet
+4 lestate_encryption
+5 lestate_update_param
+6 lestate_update_map
+)
+
+// 	le mode
+(
+0 lemode_idle
+1 lemode_slave
+3 lemode_master
+)
+
+(
+0x01 LLID_CONTINUE
+0x02 LLID_START
+0x03 LLID_LE_LL
+0x01 LLID_EMPTY
+)
+
+(
+4 LE_TX_BUFF_COUNT
+3 LE_TX_BUFF_UPDATE_LOOPCNT //LE_TX_BUFF_COUNT-1
+
+12 LE_MD_MAX_COUNT
+)
+
+(
+0 LE_CONTINUE_TYPE_NULL
+1 LE_CONTINUE_TYPE_NOTIFICATION
+2 LE_CONTINUE_TYPE_PREPARE_WRITE_RESPONSE 
+)
+
+(
+0X00	LE_PAIRING_MODE_NONE
+0X01	LE_PAIRING_MODE_LAGACY_JUSTWORK
+0X02	LE_PAIRING_MODE_LAGACY_PASSKEY
+0x81	LE_PAIRING_MODE_SECURE_CONNECT_JUSTWORK
+0x82	LE_PAIRING_MODE_SECURE_CONNECT_NUMERIC
+0X83	LE_PAIRING_MODE_SECURE_CONNECT_PASSKEY
+
+7 LE_PAIRING_MODE_SECURE_CONNECT_BIT
+)
+
+
+(
+0 FLAG_IOCAP_DISPLAYONLY
+1 FLAG_IOCAP_DISPLAYYESNO
+2 FLAG_IOCAP_KEYBOARDONLY
+3 FLAG_IOCAP_NOINPUTNOOUTPUT
+4 FLAG_IOCAP_KEYBOARDDISPLAY
+
+0x00 FLAG_OOB_DATA_FLAG_NO
+)
+
+(
+0X00 FLAG_LE_NO_BONDING_NO_MITM
+0X01 FLAG_LE_BONDING_NO_MITM
+0X04 FLAG_LE_NO_BONDING_MITM
+0X05 FLAG_LE_BONDING_MITM
+0X09 FLAG_LE_BONDING_NO_MITM_SECURE
+0X0D FLAG_LE_BONDING_MITM_SECURE
+
+2 LE_AUTH_MITM_BIT
+3 LE_AUTH_SECURE_CONNECTION_PAIRING_BIT
+)
+
+(
+0  LE_FIND_BY_TYPE_VAL_RES_NOT_FOUND
+1  LE_FIND_BY_TYPE_VAL_RES_FOUND_STARTING_HANDLE
+2  LE_FIND_BY_TYPE_VAL_RES_FOUND_ENDING_HANDLE
+
+)
+
+(
+0 MASTER_PUBLIC_ADDR
+1 MASTER_RANDOM_ADDR
+)
+
+(
+0x06 LE_ERR_PIN_OR_KEY_MISSING
+)
+
+(
+96000 TIMER_SMP_PAIRING_TIMEOUT //30S
+)
+
+//mem_le_pairing_state
+(
+0 FLAG_LE_PAIRING_NULL
+1 FLAG_LE_PAIRING_START
+2 FLAG_LE_PAIRING_SEND_RECURITY_REQ
+3 FLAG_LE_PAIRING_RCV_PAIRING_REQ
+4 FLAG_LE_PAIRING_AUTH
+5 FLAG_LE_PAIRING_AFTER_AUTH
+6 FLAG_LE_PAIRING_SEND_START_ENC_RSP
+7 FLAG_LE_PARING_SEND_ENC_INFORMATION
+8 FLAG_LE_PARING_SEND_MASTER_IDENTIFICATION 
+9 FLAG_LE_PARING_SEND_INDENTITY_INFORMATION
+0xff FLAG_LE_PAIRING_END
+)
+
+/*LE secure connect state */
+(
+0x00 LE_SC_STAT_NULL
+0x01 LE_SC_STAT_RECEIVE_PUBLIC_KEY
+0x02 LE_SC_STAT_WAIT_SEND_PUBLIC_KEY
+0x03 LE_SC_STAT_SEND_PUBLIC_KEY
+0x04 LE_SC_STAT_RECEIVE_RANDOM
+0x05 LE_SC_STAT_SEND_RANDOM
+0x06 LE_SC_STAT_RECEIVE_DHKEY
+0x07 LE_SC_STAT_WAIT_CONFIRM_GKEY
+0x08 LE_SC_STAT_PASSKEY_WAIT_CONFIRM
+)
+
+(
+0 FLAG_LE_SC_CONFRIM_NULL
+1 FLAG_LE_SC_CONFRIM_GKEY_OK
+)
+
+//mem_le_enc_state
+(
+0 FLAG_LE_ENC_NULL
+1 FLAG_LE_RCV_ENC_START
+2 FLAG_LE_ENC_PAUSE
+3 FLAG_LE_RCV_START_ENC_RSP
+4 FLAG_LE_SEND_START_ENC_RSP
+0xff FLAG_LE_ENC_END
+)
+
+(//mem_le_configuration
+//bit0:use fixed key , ble passkey pairing
+0 BIT_BLE_PASSKEY_FIXED_KEY
+//bit1:ble pairing use fixed long term key
+1 BIT_BLE_PAIRING_FIXED_LTK
+//bit2:ble transmit packet will set more data flag
+2 BIT_BLE_TRANSMIT_PACKET_BY_MD
+//bit3:master read handle, with requires an authenticated link
+3 BIT_BLE_READ_AUTH
+//bit4:master write handle, with requires an authenticated link
+4 BIT_BLE_WRITE_AUTH
+//bit5:cannot enter long sleep
+5 BIT_BLE_SHORT_MULT
+
+)
+
+(
+0 BIT_ADV_CHANNEL_MAP_37
+1 BIT_ADV_CHANNEL_MAP_38
+2 BIT_ADV_CHANNEL_MAP_39
+)
+
+memalloc(
+
+1 mem_lmo_header_length
+1 mem_lmo_header_opcode
+17 mem_lmo_payload
+1 mem_lmi_accepted_opcode
+1 mem_disconn_reason_send
+1 mem_tx_fixed_freq
+1 mem_rx_fixed_freq
+1 mem_ext_features_page
+2 mem_lmpext_ssp_enable
+1 mem_remote_sppcap
+
+1 mem_lmp_conn_state
+2 mem_soft_timer
+1 mem_pincode_state
+
+1 mem_sres_tid
+1 mem_accptsco_tid
+
+1 mem_auth_enable
+1 mem_wait_encryption
+
+16 mem_sniff_payload
+4 mem_aurand_send_delay_time
+)
+
+xmemalloc(
+3 mem_lmp_version
+2 mem_lmp_subversion
+1 mem_local_name_length
+3 mem_local_name
+64 mem_local_name2
+1 mem_local_name_end
+1 mem_unsniff2sniff_timer
+1 mem_switch_flag
+1 mem_classic_bt_flag
+)
+	(
+	//bit map
+	0 pair_state_inrand
+	1 pair_state_inrand_acpt
+	2 pair_state_send_comb
+	3 pair_state_recv_comb
+	4 pair_state_send_aurand
+	5 pair_state_recv_sres
+	6 pair_state_recv_aurand
+	7 pair_state_send_sres	
+	)
+	/* LMP opcodes */
+	(
+	1 LMP_NAME_REQ 
+	2 LMP_NAME_RES 
+	3 LMP_ACCEPTED 
+	4 LMP_NOT_ACCEPTED 
+	5 LMP_CLKOFFSET_REQ 
+	6 LMP_CLKOFFSET_RES 
+	7 LMP_DETACH 
+	8 LMP_IN_RAND 
+	9 LMP_COMB_KEY 
+	10 LMP_UNIT_KEY 
+	11 LMP_AU_RAND 
+	12 LMP_SRES 
+	13 LMP_TEMP_RAND 
+	14 LMP_TEMP_KEY 
+	15 LMP_ENCRYPTION_MODE_REQ 
+	16 LMP_ENCRYPTION_KEY_SIZE_REQ 
+	17 LMP_START_ENCRYPTION_REQ 
+	18 LMP_STOP_ENCRYPTION_REQ 
+	19 LMP_SWITCH_REQ 
+	20 LMP_HOLD
+	21 LMP_HOLD_REQ
+	23 LMP_SNIFF_REQ 
+	24 LMP_UNSNIFF_REQ 
+	26 LMP_PARK_REQ 
+	27 LMP_SET_BROADCAST_SCAN_WINDOW 
+	28 LMP_MODIFY_BEACON 
+	29 LMP_UNPARK_BD_ADDR_REQ 
+	30 LMP_UNPARK_PM_ADDR_REQ 
+	31 LMP_INCR_POWER_REQ 
+	32 LMP_DECR_POWER_REQ 
+	33 LMP_MAX_POWER 
+	34 LMP_MIN_POWER 
+	35 LMP_AUTO_RATE 
+	36 LMP_PREFERRED_RATE 
+	37 LMP_VERSION_REQ 
+	38 LMP_VERSION_RES 
+	39 LMP_FEATURES_REQ 
+	40 LMP_FEATURES_RES 
+	41 LMP_QUALITY_OF_SERVICE 
+	42 LMP_QUALITY_OF_SERVICE_REQ 
+	43 LMP_SCO_LINK_REQ 
+	44 LMP_REMOVE_SCO_LINK_REQ 
+	45 LMP_MAX_SLOT 
+	46 LMP_MAX_SLOT_REQ 
+	47 LMP_TIMING_ACCURACY_REQ 
+	48 LMP_TIMING_ACCURACY_RES 
+	49 LMP_SETUP_COMPLETE 
+	50 LMP_USE_SEMI_PERMANENT_KEY 
+	51 LMP_HOST_CONNECTION_REQ 
+	52 LMP_SLOT_OFFSET 
+	53 LMP_PAGE_MODE_REQ 
+	54 LMP_PAGE_SCAN_MODE_REQ 
+	55 LMP_SUPERVISION_TIMEOUT 
+	56 LMP_TEST_ACTIVATE
+	57 LMP_TEST_CONTROL
+	58 LMP_ENC_KEY_SIZE_MASK_REQ
+	59 LMP_ENC_KEY_SIZE_MASK_RES
+	60 LMP_SET_AFH
+
+	/* simple pairing support */
+	61 LMP_ENCAPSULATED_HEADER
+	62 LMP_ENCAPSULATED_PAYLOAD
+	63 LMP_SIMPLE_PAIRING_CONFIRM
+	64 LMP_SIMPLE_PAIRING_NUMBER
+	65 LMP_DHKEY_CHECK
+	127 LMP_ESCAPE
+	127 LMP_ESCAPE_4   /* add 2bytes LMP header support  */   
+	)
+	/* LMP EXT opcodes, ORed with bit 7 to make difference to nonEXT */
+	(
+	129 LMP_EXT_ACCEPTED
+	130 LMP_NOT_ACCEPTED_EXT
+	131 LMP_EXT_FEATURES_REQ
+	132 LMP_EXT_FEATURES_RES
+	139 LMP_PACKET_TYPE_TABLE_REQ
+	140 LMP_EXT_ESCO_LINK_REQ
+	141 LMP_EXT_REMOVE_ESCO_REQ
+	144 LMP_EXT_CHN_CLASSIFICATION_REQ
+	145 LMP_EXT_CHN_CLASSIFICATION
+	149 LMP_SNIFF_SUBRATING_REQ
+	150 LMP_SNIFF_SUBRATING_RES
+	151 LMP_PAUSE_ENCRYPTION_REQ
+	152 LMP_RESUME_ENCRYPTION_REQ
+	153 LMP_IO_CAP_REQ
+	154 LMP_IO_CAP_RES
+	)
+	/* LMP reason codes */
+	(
+	0x05 AUTHENTICATION_FAILURE_ERROR
+	0x06 KEY_MISSING
+	0x0b ACL_CONNECTION_ALREADY_EXISTS
+	0x13 OTHER_END_TERMINATED
+	0x15 ABOUT_TO_POEWR_OFF
+	0x16 LOCAL_HOST
+	0x18 PAIRING_NOT_ALLOWED
+	0x19 UNKNOWN_LMP_PDU
+	0x1A UNSUPPORTED_LMP_FEATURE 
+	0x1F UNSPECIFIED_ERROR
+	0x20 UNSUPPORTED_PARAMETERS
+	0x21 SWITCH_NOT_ALLOWED
+	0x23 TRANSACTION_COLLISION
+	0x24 PDU_NOT_ALLOWED
+	0x25 ENCRYPTION_MODE_NOT_ACCEPTABLE
+	0x2e NOT_SUPPORT_CHN_CLASSIFICATION
+	0x37 NOT_SUPPORT_SSP
+	)
+
+	/* test mode scenarios */
+	(
+	0 PAUSE_TEST_MODE
+	1 ZERO_PATTERN
+	2 ONE_PATTERN
+	3 ALT_PATTERN
+	4 PSEUDORANDOM
+	5 CLOSED_LOOP_BACK_ACL
+	6 CLOSED_LOOP_BACK_SCO
+	7 ACL_WITHOUT_WHITENING
+	8 SCO_WITHOUT_WHITENING
+	9 ALT2_PATTERN
+	255 EXIT_TEST_MODE
+	)
+	/* test mode hoppig modes */
+	(
+	0 FIXED_FREQ
+	1 NORMAL_HOP
+	)
+
+	/* mem_lmp_tid indicates which type of LMP will be sent */
+	(
+	0 TID_NORM_REPLY
+	1 TID_NORM_SEND
+	2 TID_ONE
+	3 TID_ZERO
+	4 TID_PAIRING
+	5 TID_ENCRYPTION
+	6 TID_VARIABLE
+	7 TID_RX
+	)
+
+	/* ============== lmp status ==========*/
+	(
+	0 lmp_incoming
+	1 lmp_outgoing
+	2 lmp_reject_msg
+	3 lmp_clear_msg
+	4 upper_reject_msg
+	5 upper_clear_msg
+	)
+
+(
+0x2ee00 TIMER_ONE_MINUTE //96000*2
+80 TIMER_SWITCH_WAITE
+12 TIMER_ENPT_WAITE
+)
+
+(
+0 SWITCH_FLAG_INIT
+1 SWITCH_FLAG_ACCEPT
+2 SWITCH_FLAG_NOT_ACCEPT
+)
+(
+0 NULL_ENCRYP
+1 DONE_ENCRYP
+)
+
+//
+//
+//Large memory blocks defined in this file.
+//Blocks Shall be defined with absolute address.
+//Blocks' length Shall be specified in comment following Blocks' names.
+//Different blocks MAY be overlap.
+//Blocks defined in this file Shall NOT be overlap with variable in memmap.format.
+
+// USB C51 exchange area
+(
+0xff0 mem_mcmd
+0xff1 mem_mouse_data
+)
+
+//l2cap RX buffers
+(
+0x1000 mem_l2cap_rxbuff1		//0x400
+0x1400 mem_l2cap_rxbuff2		//0x400
+//end address:0x17ff
+)
+//l2cap TX buffers
+(
+0x1800 mem_tx_buff0		//128
+0x1880 mem_tx_buff1		//128
+0x1900 mem_tx_buff2		//128
+0x1980 mem_tx_buff3		//128
+0x1a00 mem_tx_buff4		//128
+0x1a80 mem_tx_buff5		//128
+0x1b00 mem_tx_buff6		//128
+0x1b80 mem_tx_buff7		//128
+//end address: 0x1bff
+)
+
+(
+0x1800 mem_le_tx_buffer0
+0x1900 mem_le_tx_buffer1
+0x1a00 mem_le_tx_buffer2
+0x1b00 mem_le_tx_buffer3
+//end addr:0x1dff
+)
+
+//uart buffer
+(
+0x1800 mem_h5rx_buf//0x400
+0x1bff mem_h5rx_buf_end
+0x1c00 mem_h5tx_buf
+0x1fff mem_h5tx_buf_end
+)
+
+(
+0x4c00 mem_module_rx_buf//0x400
+0x4c00 mem_module_rx_buf_little
+0x4fff mem_module_rx_buf_end
+0x1c00 mem_module_tx_buf
+0x1fff mem_module_tx_buf_end
+)
+
+(
+0x1800 mem_ir_record
+0x1c      mem_ir_record_max
+)
+
+
+(
+0 MODULE_FLAG_UART_FLOW_CONTROL
+1 MODULE_FLAG_BLE_RECEIVED_DATA
+2 MODULE_FLAG_BLE_SEND_MTU23
+3 MODULE_FLAG_BLE_SEND_DATA
+)
+
+
+
+
+(
+34 NV_DATA_LEN
+-1 DECREASED_ONE
+)
+
+
+
+(
+	10 FLAG_MODULE_READ_VDD_COUNT
+)
+
+	(
+		110  DM_REFCOM_BUFF_LEN
+		230  NL_RFCOMM_BUFF_LEN
+		220  NL_RFCOMM_BUFF_LEN_220
+		20 DM_LE_BUFF_LEN
+	)
+	(
+		0x200 UART_AIR_CONTROL_THRESHOLD
+		0x150 UART_RX_CONTROL_THRESHOLD
+	)
+	(
+		0 MODULE_LED_DISABLE
+		1 MODULE_LED_BLINK
+	)
+
+
+
+
+(
+0x01 HCI_DISCARD_PACKET
+0x00 HCI_NOT_DISCARD_PACKET
+
+
+)
+
+
+
+(//Command
+0x00 HCI_CMD_SET_BT_ADDR_REQ
+0x01 HCI_CMD_SET_LE_ADDR_REQ
+0x02 HCI_CMD_SET_VISIBILITY_REQ
+0x03 HCI_CMD_SET_BT_NAME_REQ
+0x04 HCI_CMD_SET_LE_NAME_REQ
+0x05 HCI_CMD_SPP_DATA_REQ
+0x09 HCI_CMD_LE_DATA_REQ
+0x0b HCI_CMD_STATUS_IRQ
+0x0c HCI_CMD_SET_PAIRING_REQ
+0x0d HCI_CMD_SET_PINCODE_REQ
+0x0e HCI_CMD_SET_UARTCONTROL_REQ
+0x0f HCI_CMD_SET_UART_BAUD_REQ
+0x10 HCI_CMD_VERSION_REQ
+0x11 HCI_CMD_BT_DISCONNECT
+0x12 HCI_CMD_BLE_DISCONNECT
+0x13 HCI_CMD_DELETE_DEVICE
+0x14 HCI_CMD_CREATE_CONNECT
+0x26 HCI_CMD_SET_NVRAM_REQ
+0x27 HCI_CMD_SLEEP
+0x28 HCI_CMD_CONFIRM_GKEY
+0x29 HCI_CMD_SET_CREDIT_GIVEN
+0x2a HCI_CMD_AUTO_ADV_SCAN
+0x2b HCI_CMD_POWER_REQ
+0x2c HCI_CMD_POWER_SET
+0x30 HCI_CMD_PASSKEY_ENTRY
+0x31 HCI_CMD_SET_GPIO
+0x32 HCI_CMD_READ_GPIO
+0x33 HCI_CMD_LE_SET_PAIRING
+0x34 HCI_CMD_LE_SET_ADV_DATA
+0x35 HCI_CMD_LE_SET_SCAN_DATA
+0x36 HCI_CMD_LE_SEND_CONN_UPDATE_REQ
+0x38 HCI_CMD_LE_START_PAIRING
+0x48 HCI_CMD_LE_CONFIRM_GKEY
+
+)
+
+(//event
+0x00 HCI_EVENT_SPP_CONN_REP
+0x01 HCI_EVENT_HID_CONN_REP
+0x02 HCI_EVENT_LE_CONN_REP
+0x03 HCI_EVENT_SPP_DIS_REP
+0x04 HCI_EVENT_HID_DIS_REP
+0x05 HCI_EVENT_LE_DIS_REP
+0x06 HCI_EVENT_CMD_RES
+0x07 HCI_EVENT_SPP_DATA_REP
+0x08 HCI_EVENT_LE_DATA_REP
+0x09 HCI_EVENT_STANDBY_REP
+0x0a HCI_EVENT_STATUS_RES
+0x0b HCI_EVENT_FINISH_PACK_NUM
+0X0C HCI_EVENT_SNIFF_MD_CHANGE
+0x0D HCI_EVENT_NVRAM_REP
+0x0e HCI_EVENT_GKEY
+0x0F HCI_EVENT_INVALID_PACKET
+0x10 HCI_EVENT_GET_PASSKEY
+0x11 HCI_EVENT_LE_TK
+0x12 HCI_EVENT_REMOTE_MTU
+0x14 HCI_EVENT_LE_PAIRING_STATE
+0X15 HCI_EVENT_LE_ENCRYPTION_STATE
+0x17 HCI_EVENT_LE_CONNECTION_UPDATE
+0x1d HCI_EVENT_LE_GKEY
+
+)
+
+
+
+
+(
+0x7e0 OTP_ADDR_RF_PARAM_FIX
+//struct of RF_PARAM_FIX
+// uint8       //length = param_pair_count * 2 
+// uint16     //param-pair-1
+// uint16     //param-pair-2
+// uint16     //param-pair-3
+// uint16     //param-pair-4
+// uint16     //param-pair-5
+// uint16     //param-pair-6
+// uint16     //param-pair-7
+)
+(
+0x0270 FW_VERSION_NUMBER
+)
+
+(
+0	PAIRING_PINCODE
+1	PAIRING_JUSTWORK
+2	PAIRING_PASSKEY
+3	PAIRING_CONFIRM
+)
+
+
+(
+0x0001	FLAG_BT_PAIRING_SUCCESS
+0x0101	FLAG_BT_PAIRING_FAIL
+0x0080	FLAG_BLE_PAIRING_SUCCESS
+0x0180	FLAG_BLE_PAIRING_FAIL
+)
+
+
+(
+1	FLAG_EVENT_START_ENC
+0	FLAG_EVENT_PAUSE_ENC
+)
+
+(
+	0 MOUDLE_STATE_BT_BIT
+	1 MOUDLE_STATE_BLE_BIT
+)
+
+(
+	0 MOUDLE_TASK_UNSINFF
+)
+
+
+//dpi eeprom addr
+198 mouse_dpi_eeprom_addr
+
+(
+1 ONE_TRADITION_MOUSE
+2 ONE_BLE_MOUSE
+)
+
+
+(
+1 SENSOR_TYPE_A7530
+2 SENSOR_TYPE_P3204
+)
+0x30 P3204_ID
+0x31 P3065_ID
+0x3e P3610_ID
+
+7 pan_bit_motion
+
+(
+1000      MOUSE_LPM_CLR_LOCK_TIME
+       2       MOUSE_DPI_MAX_DECR
+)
+(
+80 MOUSE_SEND_BLANK_TIMER
+)
+
+
+//mem_mouse_mode_state
+(
+0x00 MOUSE_MODE_STATE_IDLE
+0x01 MOUSE_MODE_STATE_BT
+0x02 MOUSE_MODE_STATE_BLE
+)
+
+
+(
+	  0 patch00_0
+	  1 patch00_1
+	  2 patch00_2
+	  3 patch00_3
+	  4 patch00_4
+	  5 patch00_5
+	  6 patch00_6
+	  7 patch00_7
+	  8 patch01_0
+	  9 patch01_1
+	 10 patch01_2
+	 11 patch01_3
+	 12 patch01_4
+	 13 patch01_5
+	 14 patch01_6
+	 15 patch01_7
+	 16 patch02_0
+	 17 patch02_1
+	 18 patch02_2
+	 19 patch02_3
+	 20 patch02_4
+	 21 patch02_5
+	 22 patch02_6
+	 23 patch02_7
+	 24 patch03_0
+	 25 patch03_1
+	 26 patch03_2
+	 27 patch03_3
+	 28 patch03_4
+	 29 patch03_5
+	 30 patch03_6
+	 31 patch03_7
+	 32 patch04_0
+	 33 patch04_1
+	 34 patch04_2
+	 35 patch04_3
+	 36 patch04_4
+	 37 patch04_5
+	 38 patch04_6
+	 39 patch04_7
+	 40 patch05_0
+	 41 patch05_1
+	 42 patch05_2
+	 43 patch05_3
+	 44 patch05_4
+	 45 patch05_5
+	 46 patch05_6
+	 47 patch05_7
+	 48 patch06_0
+	 49 patch06_1
+	 50 patch06_2
+	 51 patch06_3
+	 52 patch06_4
+	 53 patch06_5
+	 54 patch06_6
+	 55 patch06_7
+	 56 patch07_0
+	 57 patch07_1
+	 58 patch07_2
+	 59 patch07_3
+	 60 patch07_4
+	 61 patch07_5
+	 62 patch07_6
+	 63 patch07_7
+	 64 patch08_0
+	 65 patch08_1
+	 66 patch08_2
+	 67 patch08_3
+	 68 patch08_4
+	 69 patch08_5
+	 70 patch08_6
+	 71 patch08_7
+	 72 patch09_0
+	 73 patch09_1
+	 74 patch09_2
+	 75 patch09_3
+	 76 patch09_4
+	 77 patch09_5
+	 78 patch09_6
+	 79 patch09_7
+	 80 patch0a_0
+	 81 patch0a_1
+	 82 patch0a_2
+	 83 patch0a_3
+	 84 patch0a_4
+	 85 patch0a_5
+	 86 patch0a_6
+	 87 patch0a_7
+	 88 patch0b_0
+	 89 patch0b_1
+	 90 patch0b_2
+	 91 patch0b_3
+	 92 patch0b_4
+	 93 patch0b_5
+	 94 patch0b_6
+	 95 patch0b_7
+	 96 patch0c_0
+	 97 patch0c_1
+	 98 patch0c_2
+	 99 patch0c_3
+	100 patch0c_4
+	101 patch0c_5
+	102 patch0c_6
+	103 patch0c_7
+	104 patch0d_0
+	105 patch0d_1
+	106 patch0d_2
+	107 patch0d_3
+	108 patch0d_4
+	109 patch0d_5
+	110 patch0d_6
+	111 patch0d_7
+	112 patch0e_0
+	113 patch0e_1
+	114 patch0e_2
+	115 patch0e_3
+	116 patch0e_4
+	117 patch0e_5
+	118 patch0e_6
+	119 patch0e_7
+	120 patch0f_0
+	121 patch0f_1
+	122 patch0f_2
+	123 patch0f_3
+	124 patch0f_4
+	125 patch0f_5
+	126 patch0f_6
+	127 patch0f_7
+	128 patch10_0
+	129 patch10_1
+	130 patch10_2
+	131 patch10_3
+	132 patch10_4
+	133 patch10_5
+	134 patch10_6
+	135 patch10_7
+	136 patch11_0
+	137 patch11_1
+	138 patch11_2
+	139 patch11_3
+	140 patch11_4
+	141 patch11_5
+	142 patch11_6
+	143 patch11_7
+	144 patch12_0
+	145 patch12_1
+	146 patch12_2
+	147 patch12_3
+	148 patch12_4
+	149 patch12_5
+	150 patch12_6
+	151 patch12_7
+	152 patch13_0
+	153 patch13_1
+	154 patch13_2
+	155 patch13_3
+	156 patch13_4
+	157 patch13_5
+	158 patch13_6
+	159 patch13_7
+	160 patch14_0
+	161 patch14_1
+	162 patch14_2
+	163 patch14_3
+	164 patch14_4
+	165 patch14_5
+	166 patch14_6
+	167 patch14_7
+	168 patch15_0
+	169 patch15_1
+	170 patch15_2
+	171 patch15_3
+	172 patch15_4
+	173 patch15_5
+	174 patch15_6
+	175 patch15_7
+	176 patch16_0
+	177 patch16_1
+	178 patch16_2
+	179 patch16_3
+	180 patch16_4
+	181 patch16_5
+	182 patch16_6
+	183 patch16_7
+	184 patch17_0
+	185 patch17_1
+	186 patch17_2
+	187 patch17_3
+	188 patch17_4
+	189 patch17_5
+	190 patch17_6
+	191 patch17_7
+	192 patch18_0
+	193 patch18_1
+	194 patch18_2
+	195 patch18_3
+	196 patch18_4
+	197 patch18_5
+	198 patch18_6
+	199 patch18_7
+	200 patch19_0
+	201 patch19_1
+	202 patch19_2
+	203 patch19_3
+	204 patch19_4
+	205 patch19_5
+	206 patch19_6
+	207 patch19_7
+	208 patch1a_0
+	209 patch1a_1
+	210 patch1a_2
+	211 patch1a_3
+	212 patch1a_4
+	213 patch1a_5
+	214 patch1a_6
+	215 patch1a_7
+	216 patch1b_0
+	217 patch1b_1
+	218 patch1b_2
+	219 patch1b_3
+	220 patch1b_4
+	221 patch1b_5
+	222 patch1b_6
+	223 patch1b_7
+	224 patch1c_0
+	225 patch1c_1
+	226 patch1c_2
+	227 patch1c_3
+	228 patch1c_4
+	229 patch1c_5
+	230 patch1c_6
+	231 patch1c_7
+	232 patch1d_0
+	233 patch1d_1
+	234 patch1d_2
+	235 patch1d_3
+	236 patch1d_4
+	237 patch1d_5
+	238 patch1d_6
+	239 patch1d_7
+	240 patch1e_0
+	241 patch1e_1
+	242 patch1e_2
+	243 patch1e_3
+	244 patch1e_4
+	245 patch1e_5
+	246 patch1e_6
+	247 patch1e_7
+	248 patch1f_0
+	249 patch1f_1
+	250 patch1f_2
+	251 patch1f_3
+	252 patch1f_4
+	253 patch1f_5
+	254 patch1f_6
+	255 patch1f_7
+	  0 patch20_0
+	  1 patch20_1
+	  2 patch20_2
+	  3 patch20_3
+	  4 patch20_4
+	  5 patch20_5
+	  6 patch20_6
+	  7 patch20_7
+	  8 patch21_0
+	  9 patch21_1
+	 10 patch21_2
+	 11 patch21_3
+	 12 patch21_4
+	 13 patch21_5
+	 14 patch21_6
+	 15 patch21_7
+	 16 patch22_0
+	 17 patch22_1
+	 18 patch22_2
+	 19 patch22_3
+	 20 patch22_4
+	 21 patch22_5
+	 22 patch22_6
+	 23 patch22_7
+	 24 patch23_0
+	 25 patch23_1
+	 26 patch23_2
+	 27 patch23_3
+	 28 patch23_4
+	 29 patch23_5
+	 30 patch23_6
+	 31 patch23_7
+	 32 patch24_0
+	 33 patch24_1
+	 34 patch24_2
+	 35 patch24_3
+	 36 patch24_4
+	 37 patch24_5
+	 38 patch24_6
+	 39 patch24_7
+	 40 patch25_0
+	 41 patch25_1
+	 42 patch25_2
+	 43 patch25_3
+	 44 patch25_4
+	 45 patch25_5
+	 46 patch25_6
+	 47 patch25_7
+	 48 patch26_0
+	 49 patch26_1
+	 50 patch26_2
+	 51 patch26_3
+	 52 patch26_4
+	 53 patch26_5
+	 54 patch26_6
+	 55 patch26_7
+	 56 patch27_0
+	 57 patch27_1
+	 58 patch27_2
+	 59 patch27_3
+	 60 patch27_4
+	 61 patch27_5
+	 62 patch27_6
+	 63 patch27_7
+	 64 patch28_0
+	 65 patch28_1
+	 66 patch28_2
+	 67 patch28_3
+	 68 patch28_4
+	 69 patch28_5
+	 70 patch28_6
+	 71 patch28_7
+	 72 patch29_0
+	 73 patch29_1
+	 74 patch29_2
+	 75 patch29_3
+	 76 patch29_4
+	 77 patch29_5
+	 78 patch29_6
+	 79 patch29_7
+	 80 patch2a_0
+	 81 patch2a_1
+	 82 patch2a_2
+	 83 patch2a_3
+	 84 patch2a_4
+	 85 patch2a_5
+	 86 patch2a_6
+	 87 patch2a_7
+	 88 patch2b_0
+	 89 patch2b_1
+	 90 patch2b_2
+	 91 patch2b_3
+	 92 patch2b_4
+	 93 patch2b_5
+	 94 patch2b_6
+	 95 patch2b_7
+	 96 patch2c_0
+	 97 patch2c_1
+	 98 patch2c_2
+	 99 patch2c_3
+	100 patch2c_4
+	101 patch2c_5
+	102 patch2c_6
+	103 patch2c_7
+	104 patch2d_0
+	105 patch2d_1
+	106 patch2d_2
+	107 patch2d_3
+	108 patch2d_4
+	109 patch2d_5
+	110 patch2d_6
+	111 patch2d_7
+	112 patch2e_0
+	113 patch2e_1
+	114 patch2e_2
+	115 patch2e_3
+	116 patch2e_4
+	117 patch2e_5
+	118 patch2e_6
+	119 patch2e_7
+	120 patch2f_0
+	121 patch2f_1
+	122 patch2f_2
+	123 patch2f_3
+	124 patch2f_4
+	125 patch2f_5
+	126 patch2f_6
+	127 patch2f_7
+	128 patch30_0
+	129 patch30_1
+	130 patch30_2
+	131 patch30_3
+	132 patch30_4
+	133 patch30_5
+	134 patch30_6
+	135 patch30_7
+	136 patch31_0
+	137 patch31_1
+	138 patch31_2
+	139 patch31_3
+	140 patch31_4
+	141 patch31_5
+	142 patch31_6
+	143 patch31_7
+	144 patch32_0
+	145 patch32_1
+	146 patch32_2
+	147 patch32_3
+	148 patch32_4
+	149 patch32_5
+	150 patch32_6
+	151 patch32_7
+	152 patch33_0
+	153 patch33_1
+	154 patch33_2
+	155 patch33_3
+	156 patch33_4
+	157 patch33_5
+	158 patch33_6
+	159 patch33_7
+	160 patch34_0
+	161 patch34_1
+	162 patch34_2
+	163 patch34_3
+	164 patch34_4
+	165 patch34_5
+	166 patch34_6
+	167 patch34_7
+	168 patch35_0
+	169 patch35_1
+	170 patch35_2
+	171 patch35_3
+	172 patch35_4
+	173 patch35_5
+	174 patch35_6
+	175 patch35_7
+	176 patch36_0
+	177 patch36_1
+	178 patch36_2
+	179 patch36_3
+	180 patch36_4
+	181 patch36_5
+	182 patch36_6
+	183 patch36_7
+	184 patch37_0
+	185 patch37_1
+	186 patch37_2
+	187 patch37_3
+	188 patch37_4
+	189 patch37_5
+	190 patch37_6
+	191 patch37_7
+	192 patch38_0
+	193 patch38_1
+	194 patch38_2
+	195 patch38_3
+	196 patch38_4
+	197 patch38_5
+	198 patch38_6
+	199 patch38_7
+	200 patch39_0
+	201 patch39_1
+	202 patch39_2
+	203 patch39_3
+	204 patch39_4
+	205 patch39_5
+	206 patch39_6
+	207 patch39_7
+	208 patch3a_0
+	209 patch3a_1
+	210 patch3a_2
+	211 patch3a_3
+	212 patch3a_4
+	213 patch3a_5
+	214 patch3a_6
+	215 patch3a_7
+	216 patch3b_0
+	217 patch3b_1
+	218 patch3b_2
+	219 patch3b_3
+	220 patch3b_4
+	221 patch3b_5
+	222 patch3b_6
+	223 patch3b_7
+	224 patch3c_0
+	225 patch3c_1
+	226 patch3c_2
+	227 patch3c_3
+	228 patch3c_4
+	229 patch3c_5
+	230 patch3c_6
+	231 patch3c_7
+	232 patch3d_0
+	233 patch3d_1
+	234 patch3d_2
+	235 patch3d_3
+	236 patch3d_4
+	237 patch3d_5
+	238 patch3d_6
+	239 patch3d_7
+	240 patch3e_0
+	241 patch3e_1
+	242 patch3e_2
+	243 patch3e_3
+	244 patch3e_4
+	245 patch3e_5
+	246 patch3e_6
+	247 patch3e_7
+	248 patch3f_0
+	249 patch3f_1
+	250 patch3f_2
+	251 patch3f_3
+	252 patch3f_4
+	253 patch3f_5
+	254 patch3f_6
+	255 patch3f_7
+
+)
+(
+  0x8000 core_chipid
+  0x8003 core_kick
+  0x8005 core_lpm_wr
+  0x8006 core_misc_ctrl
+  0x8007 core_otp_rdata
+  0x8009 core_pcmoutfifo
+  0x8010 core_reset
+  0x8011 core_encrypt
+  0x8015 core_uart_txd
+  0x8022 core_ucode_hi
+  0x8023 core_ucode_ctrl
+  0x8024 core_ucode_low
+  0x8025 core_ucode_data
+  0x8040 core_halfslot
+  0x8042 core_clksel
+  0x8043 core_uart_clksel
+  0x8043 core_config 
+  0x8044 core_xtal_stable_time
+  0x8045 core_otp_addr
+  0x8046 core_otp_din
+  0x8047 core_otp_ctrl
+  0x8048 core_otpd_addr
+  0x804a core_otpd_len
+  0x804b core_otpd_ctrl
+  0x804c core_lpm_reg
+  0x804f core_lpm_isogate
+  0x8050 core_clkoff
+  0x8052 core_uart_baud
+  0x8054 core_uart_rsaddr
+  0x8056 core_uart_readdr
+  0x8058 core_uart_rrptr
+  0x805a core_uart_tsaddr
+  0x805c core_uart_teaddr
+  0x805e core_uart_twptr
+  0x8060 core_uart_trptrp
+  0x8062 core_uart_ctrl
+  0x8063 core_kscn_ksctrl
+  0x8064 core_kscn_rctc
+  0x8065 core_kscn_scancycle_timer_l
+  0x8066 core_kscn_scancycle_timer_h
+  0x8067 core_kscn_m_debounce          
+  0x8068 core_kscn_modkey
+  0x806f core_kscn_rowmask
+  0x8070 core_gpio_oe0
+  0x8071 core_gpio_oe1
+  0x8072 core_gpio_oe2
+  0x8073 core_gpio_oe3
+  0x8074 core_gpio_out0
+  0x8075 core_gpio_out1
+  0x8076 core_gpio_out2
+  0x8077 core_gpio_out3
+  0x8078 core_gpio_pu0
+  0x8079 core_gpio_pu1
+  0x807a core_gpio_pu2
+  0x807b core_gpio_pu3
+  0x807c core_gpio_pd0
+  0x807d core_gpio_pd1
+  0x807e core_gpio_pd2
+  0x807f core_gpio_pd3
+  0x8080 core_gpio_sel
+  0x8081 core_gpio_sel1
+  0x8082 core_gpio_sel2
+  0x8083 core_gpio_key0
+  0x8084 core_gpio_key1
+  0x8085 core_gpio_key2
+  0x8086 core_spid_ctrl
+  0x8087 core_spid_delay
+  0x8088 core_spid_txlen
+  0x808a core_spid_txaddr
+  0x808c core_spid_rxaddr
+  0x808e core_spid_rxlen
+  0x8090 core_iicd_ctrl
+  0x8091 core_iicd_scl_low
+  0x8092 core_iicd_scl_high
+  0x8093 core_iicd_start_setup
+  0x8094 core_iicd_start_hold
+  0x8095 core_iicd_stop_setup
+  0x8096 core_iicd_data_setup
+  0x8097 core_iicd_data_hold
+  0x8098 core_iicd_txlen
+  0x809a core_iicd_txaddr
+  0x809c core_iicd_rxaddr
+  0x809e core_iicd_rxlen
+  0x80a0 core_pwm_pcnt0
+  0x80a2 core_pwm_ncnt0
+  0x80a4 core_pwm_pcnt1
+  0x80a6 core_pwm_ncnt1
+  0x80b0 core_enc_ctrl
+  0x80b1 core_cvsd_ctrl
+  0x80b2 core_codec_ctrl
+  0x80b3 core_dec_ctrl
+  0x80b4 core_bist_ctrl
+
+
+
+  
+  0x8108 core_misc_status
+  0x8109 core_qdec_cntx
+  0x810a core_qdec_cnty
+  0x810b core_qdec_cntz
+  0x810c core_uart_status
+  0x810d core_uart_rbaud
+  0x810e core_uart_txitems
+  0x8110 core_uart_trptr
+  0x8112 core_uart_rxitems
+  0x8114 core_uart_rdptr
+  0x8116 core_uart_rwptr
+  0x8119 core_kscn_kstat
+  0x811a core_kscn_event
+  0x811b core_kscn_event_num
+  0x811c core_gpio_in
+  0x811d core_gpio_in1
+  0x8124 core_current_otp_addr
+  0x8126 core_otpd_remain
+  0x8128 core_spid_remain
+  0x812a core_iicd_remain
+  0x812c core_dma_status
+  0x812d core_perf_status
+  0x812e core_adc_in
+  0x8134 core_pcminfifo
+  0x8135 core_pcminfifo_remain
+  0x8136 core_pcmoutfifo_remain
+  0x8138 core_lpm_ctrl
+  0x813c core_lpm_xtalcnt
+  0x813d core_lpm_buckcnt
+  0x813e core_lpm_ldocnt
+  0x813f core_lpm_latch
+  0x8140 core_gpio_wakeup_low
+  0x8144 core_gpio_wakeup_high
+  0x8149 core_clk_counter
+  0x8150 core_adc_sum
+// dummy regs  
+
+  0x8203 core_ice_ctrl
+  0x8204 core_ice_status
+  0x8205 core_ice_break0
+  0x8207 core_ice_break1
+  
+  0x8280 core_docd_ctrl
+  0x8288 core_docd_paddr
+  0x828a core_docd_pdata
+
+  0x8300 iic_prer_low		
+  0x8301 iic_slave_addr	
+  0x8302 iic_ctr					
+  0x8303 iic_cr					
+  0x8304 iic_rxr					
+  0x8305 iic_txr					
+  0x8306 iic_sr					
+  0x8307 iic_fifo				
+
+  0x8400   mem_b_box          /* entire bank */
+  0x8500   mem_e_box          /* entire bank */
+  0x8600   mem_l_box          /* entire bank */
+
+  0x8700 memk
+
+  0x8900 rfen_rx
+  0x8901 rfen_tx
+  0x8902 rfen_mdm
+  0x8903 rfen_sn
+  0x8904 rfen_msc
+  0x8905 rfen_ck
+  0x8906 rfen_adc
+  0x8912 rf_agc_ctrl
+  0x8914 rfen_ulp
+  0x8973 rfen_chgpump
+  0x894b rf_rx_vctrl_reg1
+  0x894c rf_rx_vctrl_reg2
+  0x894d rf_rx_ib_lna
+  0x894e rf_rx_lna_ctrim
+
+  0x8950 rf_bpf_ctrim
+  0x8951 rf_bpf_ib
+  0x8952 rf_adc_rccal
+  0x8952 rf_rccal_ctrl
+  0x8953 rf_rccal_sel
+  0x8955 rf_tx_pa
+  0x895f rf_pll_rstn
+  0x8964 rf_sdm_en
+  0x8960 rf_pll_intg
+  0x8961 rf_pll_frac
+  0x8963 rf_pll_frachi
+  0x896c rf_afc_cap
+  0x8967 rf_clkpll_bias
+  0x896f rf_clkpll_en
+  0x8968 rf_clkpll_int
+  0x8969 rf_clkpll_frac
+  0x896d rf_balun_ctrim
+  0x8971 rf_adc_mode
+  0x8972 rf_adc_gc
+  0x8973 rf_adc_ch
+  0x8980 rf_rccal_result
+  0x8981 rf_afc_d2a
+  0x8982 rf_rssi
+
+
+0x8c00 core_usb_config		
+0x8c01 core_usb_int_mask	
+0x8c10 core_usb_trig	
+0x8c11 core_usb_stall		
+0x8c12 core_usb_clear		
+0x8c18 core_usb_ep
+0x8c18 core_usb_dfifo0 
+0x8c19 core_usb_dfifo1  
+0x8c1a core_usb_dfifo2 
+0x8c20 core_usb_ep_len
+0x8c26 core_usb_status		
+0x8c27 core_usb_fifo_empty
+0x8c28 core_usb_fifo_full
+
+
+4 rx_freq_offset
+2 tx_freq_offset
+
+/* bit difinitions */
+  4 whiteoff_bit
+  6 clksel_rc
+  5 clksel_dpll
+  4 clksel_xtal
+  5 adc_rccal
+  0 bpf_rccal
+  1 demod_clkoff
+
+(
+  7 cold_wake
+  3 gpio_latch
+  4 enable_retmem
+  0xef isogate_mask
+  0xe0 cs_mask
+)
+
+// misc ctrl
+(
+  0x01 otpd_start
+  0x02 spid_start
+  0x04 iicd_start
+  0x08 lock_otp
+  0x10 x_sethi
+  0x20 y_sethi
+  0x40 z_sethi
+  0x80 ccnt_start
+)
+// dma status bit
+(
+  0 otpd_crcok
+  1 otpd_done
+  2 spid_crcok
+  3 spid_done
+  4 iicd_crcok
+  5 iicd_done
+)
+
+0x8b uart_ctrl_default //BCSP
+0x81 uart_ctrl_h4 //H4
+0x81 uart_ctrl_normal
+0x91 uart_ctrl_5line
+0x81 uart_ctrl_57600
+2 uart_baud_len
+0x00 uartclk_crystal
+0x01 uartclk_dpll
+0x1a0 uart_baud_115200
+0xbb uart_baud_256000
+0x340 uart_baud_57600
+0x34 uart_baud_921600
+0x9c4 uart_baud_9600
+0x2dc6c00 uart_clk
+0x16E3600 uart_clk_24
+
+//core_clkoff
+(
+	0 CLOCK_OFF_AUTH_ROM
+	1 CLOCK_OFF_UC_ROM
+	2 CLOCK_OFF_DEBUG_UART
+	3 CLOCK_OFF_SCHED_RAM
+	4 CLOCK_OFF_TRANCE_FIFO
+	5 CLOCK_OFF_CORDIC
+	6 CLOCK_OFF_OTPD
+	7 CLOCK_OFF_I2C
+	8 CLICK_OFF_8051
+	9 CLOCK_OFF_KEYSCAN
+	0x0a CLOCK_OFF_USB
+	0x0b CLOCK_OFF_QDECODER
+	0x0c CLOCK_OFF_SPI
+	0x0d CLOCK_OFF_PWM
+	0x0e CLOCK_OFF_CODEC
+	0x0f CLOCK_OFF_UART
+)
+
+
+/*****************************************************************************/
+/* RCS HEADER -- DO NOT ERASE                                                */
+/* $Author: Administrator $                                                           */
+/* $Id: bt_rfcomm_format.upper,v 1.1 2009-09-28 04:06:17 Administrator Exp $ */
+/* Orisil Technology                                                      */
+/*****************************************************************************/
+
+/**********/
+/* memory */
+/**********/
+
+memalloc(
+1 memRemoteRPNBitRate
+1 memRemotePRNDataBits
+1 memRemotePRNStopBit
+1 memRemotePRNParity
+1 memRemotePRNFlowControl
+1 memRemotePRNXon
+1 memRemotePRNXoff
+
+
+3 mem_mod2div_temp
+2 mem_contw_temp
+2 mem_attrib_list
+
+//rfcomm head
+1 mem_current_adss
+1 mem_current_channel
+1 mem_current_frame_type
+1 mem_current_fcs
+2 mem_current_length
+2 mem_rfcomm_uih_payload_ptr
+
+//rfcomm uih
+1 mem_uih_cmd_type
+2 mem_uih_length
+2 mem_param_payload_ptr
+
+
+//rfcomm modem status
+1 mem_ms_param
+
+//rfcomm pn
+1 mem_pn_credit_flow_type_info
+1 mem_pn_priority
+1 mem_pn_acknowledg_timer
+1 mem_pn_max_retrans
+
+1 mem_rfcomm_send_adss
+1 mem_rfcomm_send_frame_type
+1 mem_rfcomm_send_fcs
+1 mem_rfcomm_send_offset
+
+)
+
+xmemalloc(
+1 mem_pn_dlci
+2 mem_pn_max_frame_size
+
+1 memFCStemp1
+1 memFCStemp2
+1 memFCStemp3
+
+1 mem_rfcomm_initiator
+
+1 mem_remote_spp_channel
+
+1 mem_HIUfcs_SPP
+1 mem_HIUfcs_SPP_WCredits
+
+1 mem_rfcomm_send_more_pkt
+
+1 mem_remote_credits
+1 mem_credit_given
+
+//rfcomm modem status
+1 mem_ms_channel
+
+1 mem_credit_flag
+
+2 mem_rfcomm_max_frame_size
+1 mem_rfcomm_credit_init_data
+
+2 mem_cb_receive_spp_data
+
+2 mem_nl_rx_data_src
+2 mem_nl_rx_len_all
+)
+
+
+(
+0 CREDIT_DISABLE
+1 CREDIT_ENABLE
+)
+
+
+/************************************************************************/
+  
+
+ 
+/************/
+/* constant */
+/************/
+
+/* RFCOMM state for Headset (memRFCOMM_State) */ 
+  (
+    0 RFCOMM_IDLE           /* before the responsor HS receive SABM            */
+    1 RFCOMM_W4_DLCI0_OPEN
+    2 RFCOMM_W4_DLCI0_CLOSE
+    3 RFCOMM_START_DLCI0    /* After respond SABM frame (DLCI=0)               */
+    4 RFCOMM_W4_DLCI_OPEN
+    5 RFCOMM_W4_DLCI_CLOSE
+    6 RFCOMM_DLCI_OPENED    
+   
+  )
+  
+/* RFCOMM timer constants   */
+  (
+    1000  RFCOMM_T1         /* Used by SABM and DISC frames,100*20ms = 20s     */     
+    1000  RFCOMM_T2         /* Used by commands send in UIH on DLCI0,          */
+    300   RFCOMM_T3_RINGON  /* 6s for ring fade time                           */
+  
+  )
+
+/* Command Type */
+  (
+    0x3F RSP_RX_SABM        /*responsor expect SABM from initiator             */
+    0x3F INI_TX_SABM
+	
+    0x73 RSP_TX_UA          /*responsor send out UA command                    */
+    0x73 UA_WFBIT_SET	    /* UA control field with F bit set                 */
+	
+    0xEF RSP_RX_UIH         /*responsor expect UIH from initiator              */
+
+    0xEF RSP_TX_UIH         /*responsor send UIH to initiator                  */
+     
+    0x1F RSP_TX_DM          /*responsor send DM to initiator                   */
+    0x1F DM_WFBIT_SET       /* DM control field with F bit set                 */
+    0x0F DM_WFBIT_CLEAR     /* DM control field with F bit clear               */
+
+    0x53 RSP_RX_DISC        /*responsor expect DISC from initiator             */
+    0x53 INI_TX_DISC	    /*initiator send DISC control type command         */
+     
+    0xFF RSP_RX_UIH_WDATA   /*UIH data with credit flow control info           */
+    
+    
+  )
+
+/* Multiplexor commands and responses frames */
+  (
+    0x83 PN_COMMAND           /* Bit 0 EA C/R Type = 000001         */
+    0x81 PN_RESPONSOR         /* Bit 0 EA C/R Type = 000001         */
+    
+    0xE3 MSC_COMMAND          /* Bit 0 EA C/R Type = 000111         */
+    0xE1 MSC_RESPONSOR
+ 
+    0x13 NSC_COMMAND          /* Bit 0 EA C/R Type = 001000         */
+    0x11 NSC_RESPONSOR        /* Bit 0 EA C/R Type = 001000         */
+
+    0x23 TEST_COMMAND         /* Bit 0 EA C/R Type = 000111         */
+    0x21 TEST_RESPONSOR 
+    
+    0x93 RPN_COMMAND          /* Bit 0 EA C/R Type = 001001         */
+    0x91 RPN_RESPONSOR 
+    
+    0x53 RLS_COMMAND          /* Bit 0 EA C/R Type = 001010         */
+    0x51 RLS_RESPONSOR 
+
+    0xA3 FCON_COMMAND         /* Bit 0 EA C/R Type = 000101         */
+    0xA1 FCON_RESPONSOR 
+    
+    0x63 FCOFF_COMMAND        /* Bit 0 EA C/R Type = 000110         */
+    0x61 FCOFF_RESPONSOR 
+    	
+    0x03 RLS_OVERRUN
+    0x05 RLS_PARITY_ERROR
+    0x09 RLS_FRAMING_ERROR
+  )
+
+/* memLocalCredit */
+  (
+    0x01 RFCOMM_CREDIT
+  )
+
+  (
+  	0x007f RFCOMM_MAX_FRAME_SIZE
+  )
+
+/* UIH received Data length */
+  (
+    0  LENGTH_ZERO
+    
+    6  LENGTH_OK
+    7  LENGTH_HOT
+    8  LENGTH_RING
+    9  LENGTH_ERROR
+    9  LENGTH_AGVOL_ONEBYTE
+    10 LENGTH_AGVOL_TWOBYTE
+    10 LENGTH_VOL_ONEBYTE
+    11 LENGTH_VOL_TWOBYTE
+    12 LENGTH_BRSF
+    13 LENGTH_PLUS_CIEV
+    15 LENGTH_INBANDRING
+    14 LENGTH_CIEV_CALL
+    17 LENGTH_CRING
+    20 LENGTH_BRSF_OK
+    24 LENGTH_CIND0
+    28 LENGTH_CIEV_TWO
+    32 LENGTH_CIND_OK
+    59 LENGTH_CIND_OK2
+    100 LENGTH_DISCARD
+  )
+  
+/************/
+/* flags    */
+/************/
+  
+/* memRFCOMM_L2CAP_Interface */
+  (
+    0 RFCOMM_TX_W4BUF_FLAG    /* Wait for Tx buffer empty flag */
+    1 RFCOMM_CLOSE_LINK_FLAG
+  )
+  
+
+    
+/* memRemoteMSC		*/
+  (
+    0 MSC_EA_BIT
+    1 MSC_FC_BIT
+    2 MSC_RTC_BIT
+    3 MSC_RTR_BIT
+    6 MSC_IC_BIT
+    7 MSC_DV_BIT
+  )
+
+/* memRemoteRLS         */
+  (
+    0x0C OVERRUN_ERROR
+    0x0A PARITY_ERROR
+    0x09 FRAMING_RERROR
+  )
+  
+/* memRemoteRPNBitRate  */
+  (
+    0x00 BITS2400
+    0x01 BITS4800
+    0x02 BITS7200
+    0x03 BITS9600
+    0x04 BITS19200
+    0x05 BITS38400
+    0x06 BITS57600
+    0x07 BITS115200
+    0x08 BITS230400
+  )
+  
+/* memRemotePRNDataBits	*/
+  (
+    0x00 DATABITS5
+    0x01 DATABITS6
+    0x02 DATABITS7
+    0x03 DATABITS8
+  )
+  
+/* memRemotePRNStopBit	*/
+  (
+    0    ONESTOP
+    1    ONEHALFSTOP
+  )
+  
+/* memRemotePRNParity   */
+  (
+    0    ODDPARITY
+    1    EVENPARITY
+    2    MARKPARITY
+    3    SPACEPARITY
+    
+    7    PARITY_ENABLE_BIT
+  )
+
+/* RPN bit mask(in)     */
+  (
+     0   BIT_RATE_MASK_BIT
+     1   DATA_BITS_MASK_BIT
+     2   STOP_BITS_MASK_BIT
+     3   PARITY_MASK_BIT
+     4   PARITY_TYPE_MASK_BIT
+     5   XON_CHAR_MASK_BIT
+     6   XOFF_CHAR_MASK_BIT
+  )
+  
+/* RPN bit mask(in) 2    */
+  (
+     0   XON_XOFF_INPUT_MASK_BIT
+     1   XON_XOFF_OUTPUT_MASK_BIT
+     2	 RTR_INPUT_MASK_BIT
+     3   RTR_OUTPUT_MASK_BIT
+     4   RTC_INPUT_MASK_BIT
+     5   RTC_OUTPUT_MASK_BIT
+
+  )
+
+/* memRFCOMM_Request	*/
+  (
+    0 SEND_MSC_CMD_REQ_FLAG
+    1 SEND_AT_CKPD_REQ_FLAG
+    2 SEND_RING_REQ_FLAG
+    3 SEND_SABM_CMD
+  )
+  
+/* memRFCOMM_Misc_Flag  */
+  (
+    0 MSC_CDM_ALREADY_SEND_FLAG
+    1 CREDIT_FLOW_USED_FLAG
+    2 DONT_EMBEDDED_CREDIT_FLAG 
+    3 MSC_EXCHANGE_DONE_FLAG
+    4 FLOW_CONTROL_FCOFF_BIT            /* set when receive FCoff, clear when FCon   */
+  )
+  
+/* memRemoteMSC		*/
+  (
+    1 FLOW_CONTROL_FC_BIT		/* received MSC FC bits                      */
+  
+  )
+/* Address filed        */
+  (
+    0 ADDR_EA_BIT
+    1 ADDR_CR_BIT
+    2 ADDR_D_BIT
+  )
+//should be same as descripted in SDP
+(
+    1 SPP_SLAVE_CHANNEL
+    7 OBEX_SERVER_CHANNEL
+    8 HF_SERVER_CHANNEL 
+    9 HS_SERVER_CHANNEL
+)
+/* memRFCOMM_Flag */
+(
+	0 USING_HF_PROFILE
+	1 USING_HS_PROFILE
+	2 USING_SPP_PROFILE
+)
+/*RFCOMM Frame Type*/
+(
+	0x3f RFCOMM_FRAME_TYPE_SABM
+	0x73 RFCOMM_FRAME_TYPE_UA
+	0xEF RFCOMM_FRAME_TYPE_UIH
+	0xFF RFCOMM_FRAME_TYPE_UIH_CREDITS
+	0x53 RFCOMM_FRAME_TYPE_DISCONN
+)
+/*RFCOMM UIH CMD TYPE*/
+(
+	0x41 UIH_PARAM_NEG_CMD
+	0x40 UIH_PARAM_NEG_RES
+	0x49 UIH_PARAM_CMD_REMOVE_PORT
+	0x71 UIH_MODEM_STATUS_CMD
+	0x70 UIH_MODEM_STATUS_RES
+)
+
+/*bits in rfcomm address*/
+(
+	0 RFCOMM_ADDRESS_EXT_LEN
+	1 RFCOMM_ADDRESS_CR
+	2 RFCOMM_ADDRESS_DERECTION
+
+
+)
+
+	(                                   
+	0 RFCOMM_CHANNEL_STATE_PN_CMD
+	1 RFCOMM_CHANNEL_STATE_PN_RES
+	2 RFCOMM_CHANNEL_STATE_SABM
+	3 RFCOMM_CHANNEL_STATE_UA
+	4 RFCOMM_CHANNEL_STATE_SND_MS_CMD
+	5 RFCOMM_CHANNEL_STATE_RCV_MS_CMD
+	6 RFCOMM_CHANNEL_STATE_SND_MS_RES
+	7 RFCOMM_CHANNEL_STATE_RCV_MS_RES
+	0xff RFCOMM_CHANNEL_SETUP_COMPLETE
+	) 
+
+	/*mem_rfcomm_send_more_pkt*/
+	(
+	1 MORE_PKT_MSC_CMD_HF
+	2 MORE_PKT_MSC_CMD_HS
+	3 MORE_PKT_MSC_CMD_SPP
+	4 MORE_PKT_MSC_CMD_OBEX
+	)
+
+	(
+	127 RFCOMM_MALLOC_SIZE
+	)
+memalloc(
+0 mem_sdp_mem_start
+8 mem_sdp_uuid_search_ptr
+2 mem_sdp_continue_byte
+1 mem_sdp_pduid
+2 mem_sdp_transactionid
+2 mem_sdp_transactionid_local
+2 mem_sdp_attribute_maxbyte
+2 mem_sdp_record_maxcnt
+4 mem_sdp_record_handle
+1 mem_sdp_LACAP_found
+1 mem_sdp_RFCOMM_found
+0 mem_sdp_handle_list
+32 mem_sdp_attrib_list
+2 mem_sdp_error_code
+2 mem_sdp_all_length
+1 mem_handle_humber
+2 mem_search_uuid
+0 mem_sdp_mem_end
+)
+xmemalloc(
+2 mem_ui_uuid_table
+22 mem_all_uuid_16bits
+34 mem_all_uuid_128bits
+2 mem_sdp_l2capch_ptr
+)
+(
+0 AGORHS_SERVICE
+1 GENAUDIO_SERVICE
+2 HANDSFREE_SERVICE
+)
+(
+0 ATTRIBUTEID_0000
+1 ATTRIBUTEID_0001
+2 ATTRIBUTEID_0004
+3 ATTRIBUTEID_0009
+4 ATTRIBUTEID_0100
+5 ATTRIBUTEID_0302
+6 ATTRIBUTEID_0006
+7 ATTRIBUTEID_0311
+)
+/* mem_sdp_search_profile */
+(
+1	SDP_SS_HEADSET
+2  	SDP_SS_HANDSFREE
+)
+(
+0x06 sdp_pduid_serviceSearchAttrib
+)
+0x2600 sdp_max_amount
+767 SDP_MALLOC_SIZE
+0x6e sdp_tid_spp //any number
+
+ 
+
+memalloc(
+/* moved from bt.format for 3dh5 1021bytes packet buffer */
+17 mem_rxbuf
+
+16 mem_random_number
+16 mem_round_key
+16 mem_kinit
+
+16 mem_input_store
+16 mem_x
+15 mem_y
+1 mem_y15
+17 mem_key_store
+1 mem_key_store_end
+2 memp_ar_key
+2 memp_ar_input
+10 mem_ar_hround
+
+
+1 mem_ec_infinite
+2 mem_ec_loopc
+1 mem_aes_cmac_data_length
+
+0 memdat
+/* ecc calculation */
+
+24 mem_ax
+24  mem_ay
+24  mem_az
+24 mem_bx
+0 mem_ax_256 //32 bytes
+24 mem_by
+8 mem_bz
+16 mem_ay_256 // 32 bytes
+16 mem_cx
+8 mem_az_256 // 32 bytes
+23 mem_cy
+1 mem_cy5
+0 mem_bx_256 // 32 bytes
+24 mem_cz
+8  mem_k
+16 mem_by_256 // 31 bytes
+16 mem_align
+
+0 mem_bz_256  //32 bytes
+0 mem_tmp1
+24 memahbak
+8 mem_tmp5
+0 mem_cx_256  //32 bytes
+16 memahsave
+16  mem_tmp2
+0 mem_cy_256  // 32 bytes
+0  memahsave_end 
+1  mem_addr_padding 
+7   mem_addr_value         /* 12 bytes     */ 
+0 mem_tmp3
+5 mem_t1
+3  mem_addr_value_end   
+15 mem_addr_iocap_end
+1 mem_cy5_256 // 1 byte
+0 mem_cz_256 // 32 bytes
+0 mem_tmp0
+8 mem_t0
+16 mem_tmp0a
+8  mem_t2
+16 mem_k_256 //32 bytes
+16 mem_t3
+8  mem_tmp1_256 //32 bytes
+24 mem_t7
+
+
+32 mem_tmp5_256
+32  mem_tmp2_256
+0 mem_tmp3_256
+32 mem_t1_256
+0 mem_tmp0_256
+32 mem_t0_256
+32 mem_t2_256
+32 mem_t3_256
+32 mem_t7_256
+
+24 mem_p		
+24 mem_a
+24 mem_b
+24 mem_gx
+24 mem_gy
+32 memh0
+
+//p256
+//2 mem_ec_loopc_256
+//32 mem_ax_256
+//32 mem_ay_256
+//32 mem_az_256
+//32 mem_bx_256
+//32 mem_by_256
+//32 mem_bz_256
+//32 mem_cx_256
+//31 mem_cy_256
+//1 mem_cy5_256
+//32 mem_cz_256
+//32 mem_k_256
+
+
+//32 mem_tmp1_256
+//32 mem_tmp5_256
+//32  mem_tmp2_256
+
+//0 mem_tmp3_256
+//32 mem_t1_256
+//0 mem_tmp0_256
+//32 mem_t0_256
+//32 mem_t2_256
+//32 mem_t3_256
+//32 mem_t7_256
+
+32 mem_p_256		
+32 mem_a_256
+32 mem_gx_256
+32 mem_gy_256
+//4 mem_le_keyid
+16 mem_le_slat
+
+
+//64 mem_regext
+//1 mem_regext_index
+
+//16 mem_le_mackey
+
+
+//1 mem_AES_CMAC_flag
+//16 mem_AES_CMAC_temp
+//16 mem_AES_CMAC_M_last
+
+//4 mem_le_gkey
+
+//16 mem_le_r
+
+)
+
+(
+0 PAIR_UNKNOWN
+1 PAIR_ING
+2 PAIR_DONE
+)
+
+(
+0x18 ATT_WRITE_REQUEST_HANDLE
+)
+
+(
+0x13	HANDLE_VOLUM_UP_KEY	
+0x17	HANDLE_ENTER_KEY
+)
+	
+(
+0x010210 param_smp_key_dist1
+0x010010 param_smp_key_dist2
+)
+
+(
+0 INITATOR_LTK
+1 INITATOR_IRK
+2 INITATOR_CSRK
+)
+
+(
+//100ms
+0x00a0	FAST_ADV_INTERVAL_VALUE
+//200ms
+0x0140	SLOW_ADV_INTERVAL_VALUE
+)
+
+(
+0x01	GAP_ADTYPE_FLAGS
+0x02	GAP_ADTYPE_16BIT_MORE
+0x03	GAP_ADTYPE_16BIT_COMPLETE
+0x04	GAP_ADTYPE_32BIT_MORE
+0x05	GAP_ADTYPE_32BIT_COMPLETE
+0x06	GAP_ADTYPE_128BIT_MORE
+0x07	GAP_ADTYPE_128BIT_COMPLETE
+0x08	GAP_ADTYPE_LOCAL_NAME_SHORT
+0x09	GAP_ADTYPE_LOCAL_NAME_COMPLETE
+0x0a	GAP_ADTYPE_POWER_LEVEL
+0xff	GAP_ADTYPE_MANUFACTURER_SPECIFIC
+)
+
+(
+0 ATT_BIT_NOTIFICATION
+1 ATT_BIT_INDICATION
+)
+///////////////////////////////////////////////////////////////////////////////////////
+(
+13 MAX_SHUTER_KEY_NUM
+4  MAX_SHUTTER_LED_NUM
+0xFF INVALID_PIN_NUM
+)
+(
+0 KEY_DEFAULT
+1 kEY_1
+2 kEY_2
+3 KEY_3
+4 KEY_4
+)
+(
+0 HARD_SWITCH
+1 SOFT_SWITCH
+)
+(
+0 LED_OFF
+1 LED_ON
+2 LED_BLINK
+0xFF LED_INVALID
+)
+
+/*struct led_style*/
+(
+7 LED_STYLE_STRUCT_LEN
+0 LED_TYPE_OFFSET
+1 LED_PIN_OFFSET
+2 LED_ON_TIME_OFFSET
+4 LED_OFF_TIME_OFFSET
+6 LED_BLINK_COUNT_OFFSET
+)
+
+/*struct key_conf*/
+(
+2 KEY_CONF_STRUCT_LEN
+0 KEY_PIN_OFFSET
+1 KEY_STYLE_IND_OFFSET
+)
+
+(
+0 SHUTTER_POWER_UP
+1 SHUTTER_POWER_ON
+2 SHUTTER_POWER_OFF
+)
+
+(
+0x5907 le_parse_att0
+0x5666 le_prepare_att0
+0x7c67 check_51cmd_once0
+)
+
+
+(
+0xf00 EEP_LAP_ADDR
+)
+
+(
+0x33 PAIRED_DEVICE_TYPE_BT
+0x44 PAIRED_DEVICE_TYPE_BLE
+5 PAIRED_DEVICE_DEFAULT_LEN
+0x5a5a PAIRED_DEVICE_MAGIC
+)
+
+(
+0 FLAG_SHUTTER_DEFAULT
+1 FLAG_SHUTTER_IPHONEKEY_SEND
+2 FLAG_SHUTTER_ANDROIDKEY_SEND
+)
+
+(
+0 FLAG_SHUTTER_IPHONEKEY_PRESS
+1 FLAG_SHUTTER_ANDROIDKEY_PRESS
+)
+
+(
+1  FLAG_SHUTTER_HID_DISCONN_TIMEOUT
+5 FLAG_SHUTTER_CABLE_UNPLUG_TIMEOUT
+)
+
+(
+1 FLAG_SHUTTER_1KEY
+2 FLAG_SHUTTER_2KEY
+)
+
+(
+0 FLAG_SHUTTER_1KEY_SEND_NULL
+1 FLAG_SHUTTER_1KEY_SEND_STEP1
+2 FLAG_SHUTTER_1KEY_SEND_STEP2
+3 FLAG_SHUTTER_1KEY_SEND_STEP3
+4 FLAG_SHUTTER_1KEY_SEND_STEP4
+)
+
+
+//mem_shutter_find_type_value_flag
+(
+0X00 LE_FIND_TYPE_VALUE_HID_BIT
+0X01 LE_FIND_TYPE_VALUE_BATTERY_BIT
+0X02 LE_FIND_TYPE_VALUE_DEVICE_INFO_BIT
+0x03 LE_FIND_TYPE_VALUE_GATT_BIT
+)
+
+(
+//20ms
+0x0020	FAST_ADV_INTERVAL_VALUE_PATCH
+)
+
+(
+50 TIMEOUT_DISCONNECT_TIMER
+)
+
+/* simple pairing page */
+
+memalloc(
+
+//4 mem_hci_ssp_mode
+0 mem_sp_state_start
+1 mem_sp_state
+1 mem_master_sp_state
+1 mem_sp_flag
+1 mem_master_sp_flag
+1 mem_sp_calc
+1 mem_sp_dh_ready
+1 mem_sp_localsm
+1 mem_pairing_auth
+
+0 mem_sp_flag_start
+1 mem_sp_local_key_send_count
+1 mem_sp_remote_key_recv_count
+1 mem_sp_remote_key_invalid
+1 mem_sp_dhkey_invalid
+
+
+4 mem_gkey
+
+
+8 mem_le_pubkey_remote_x_256
+0 mem_sp_pubkey_remote
+24 mem_sp_pubkey_remote_x
+0 mem_sp_pubkey_remote_x_end
+8 mem_le_pubkey_remote_y_256
+24 mem_sp_pubkey_remote_y
+
+8 mem_le_dhkey_256
+24 mem_sp_dhkey
+0 mem_sp_dhkey_end
+
+16 mem_sp_random_local
+0 mem_sp_random_local_end
+16 mem_sp_random_remote
+0 mem_sp_random_remote_end
+0 memresult
+0 mem_sp_calc_result
+4 memh
+4 memg
+4 memf
+4 meme
+0 mem_sp_calc_result_high
+4 memd
+4 memc
+4 memb
+4 mema
+16 mem_sp_check_result
+16 mem_sp_confirm_remote
+16 mem_sp_prarm_stack
+)
+
+xmemalloc(
+1 mem_sp_local_key_invalid
+
+
+32 mem_le_private_key_256
+32 mem_le_pubkey_local_x_256
+32 mem_le_pubkey_local_y_256
+
+24 mem_sp_private_key
+0 mem_sp_pubkey_local
+24 mem_sp_pubkey_local_x
+0 mem_sp_pubkey_local_x_end
+24 mem_sp_pubkey_local_y
+
+1 mem_ssp_enable
+3 mem_sp_iocap_local
+3 mem_sp_iocap_remote
+
+1 mem_flag_mode_ssp_pin
+1 mem_ssp_mode_flag
+1 mem_authentication_passkey_times
+1 mem_passkey_1bit
+1 mem_flag_pairing_state
+
+)
+/* simple pairing status flag */
+(
+  0x00   SP_FLAG_STANDBY
+  0x01   SP_FLAG_COMMIT
+  0x02   LE_SP_FLAG_COMMIT_256
+
+)
+
+/* simple pairing calc flag */
+(
+  0x00   SP_CALC_STANDBY
+  0x01   SP_CALC_PUBKEY
+  0x02   SP_CALC_DHKEY
+  0x03   SP_CALC_PUBKEY_256
+  0x04   SP_CALC_DHKEY_256
+)
+
+/* simple pairing state */
+(
+  0x00   SP_STAT_NULL
+  0x01   SP_STAT_KEY_RECV
+  0x02   SP_STAT_KEY_GENERATE
+  0x03   SP_STAT_KEY_SEND
+  0x04   SP_STAT_COMMIT_CALC
+  0x05   SP_STAT_COMMIT_SEND
+  0x06   SP_STAT_RANDOM_RECV
+  0x07   SP_STAT_RANDOM_SEND
+  0x08   SP_STAT_CONFIRM_RECV
+  0x09   SP_STAT_CONFIRM_CHECK
+  0x0A   SP_STAT_CONFIRM_CALC
+  0x0B   SP_STAT_CONFIRM_SEND
+  0x0C   SP_STAT_LINK_KEY_CALC
+  0x0F   SP_STAT_DONE
+  0x10   SP_STAT_FEATURE_EXT_SEND
+  0x11   SP_STAT_GKEY_CALC
+  /*simple pairing master only*/
+  0x12   SP_MASTER_STAT_START_SKIP
+  0x13   SP_MASTER_STAT_START_DONE
+  0x14   SP_STAT_COMMITMENT_COMPARE
+  0x15   SP_STATE_END
+)
+
+
+/* simple paring invalid flag */
+(
+  0x00   SP_KEY_INVALID
+  0x01   SP_KEY_VALID
+  0x03   SP_KEY_VALID_256
+
+)
+
+/* encapsulated defination for P-192 key */
+(
+  0x01  ENCAPSULATED_MAJOR_TYPE_P192
+  0x01  ENCAPSULATED_MINOR_TYPE_P192
+  0x30  ENCAPSULATED_LEN_P192
+)
+
+/* bluetooth 2.1 support flag */
+(
+  0x00  SIMPLE_PAIRING_ENABLE
+  0x01  ENCRYPTION_PAUSE_ENABLE
+  0x02  EXTENDED_INQUIRY_RESPOSE_ENABLE
+  0x03  SNIFF_SUBRATING_ENABLE
+)
+
+/*mem_sp_localsm*/
+(
+  0x00 DEFAULT_STATEMACHINE
+  0x01 LOCAL_STATEMACHINE
+)
+
+(
+ 0x00 DEFALT_PAIRING_AUTH
+ 0x01 PAIRING_AUTH
+)
+
+(
+1 SSP_MODE_SSP_PIN_FLAG
+2 SSP_MODE_PASSKEY_ENTRY_FLAG
+3 SSP_MODE_JUST_WORK_FLAG
+)
+
+(//ssp mode
+0x040003 SSP_MODE_JUST_WORK_IO_CAP_DATA
+0X040001 SSP_MODE_SSP_PIN_IO_CAP_DATA
+0X040002 SSP_MODE_PASSKEY_IO_CAP_DATA
+)
+
+(
+0x00 DISPLAY_ONLY
+0x01 DISPLAY_YESNO
+0x02 KEYBOARD_ONLY
+0x03 NO_INPUT_NO_OUTPUT
+)
+
+(
+7 FLAG_MODE_SSP_PIN_REVICEVE_COMPARISON_BIT
+6 FLAG_MODE_SSP_PIN_RECIEVE_DHKEY_BIT
+0 FLAG_MODE_SSP_PIN_COMPARISON_RESULT_BIT
+)
+(
+1 FLAG_PAIRING_STATE_PAIRING
+0 FLAG_PAIRING_STATE_NOT_PAIRING
+)
+
+  
+/*****************************************************************************/
+/* RCS HEADER -- DO NOT ERASE                                                */
+/* $Author: Administrator $                                                           */
+/* $Id: bt_ui_format.upper,v 1.1 2009-09-28 04:06:17 Administrator Exp $     */
+/************************************************************************/
+
+
+	/* ========= memory ============== */
+memalloc(
+2 mem_UI_data_txbuff_length
+
+1 mem_ipc_skip_continue_proc
+0 mem_ui_timer_temp  //length 4
+4 mem_ipc_rega_temp
+) 
+
+xmemalloc(
+//UI Work area
+1 mem_ipc_lock_bt
+1 mem_ipc_lock_c51
+8 mem_ipc_fifo_bt2c51
+8 mem_ipc_fifo_c512bt
+1 mem_ui_button_timer
+1 mem_ui_button_last_state
+4 mem_ui_timer_last_btclk
+2 mem_discovery_timeout_timer_count
+1 mem_hid_handshake_timer_count
+1 memui_reconnect_mode
+2 mem_ui_state_map
+
+//UI Config area
+1 mem_ui_profile_supported
+1 mem_ui_button_timeout
+1 mem_ui_button_gpio
+2 mem_discovery_timeout
+1 mem_pin_length
+16 mem_pin
+
+)
+/************/
+/* constant */
+/************/
+
+//mem_ui_state_map
+(
+0 UI_STATE_BT_CONNECTED
+1 UI_STATE_BT_SETUP_COMPLETE
+2 UI_STATE_BT_HID_CONN
+3 UI_STATE_BT_HID_HANDSHAKE
+4 UI_STATE_BT_SPP_CONN
+5 UI_STATE_BT_SNIFF
+6 UI_STATE_BT_DISCOVERY
+7 UI_STATE_BT_RECONNECT
+8 UI_STATE_BT_SLAVE_ROLE
+9 UI_STATE_BLE_CONNECTED
+10 UI_STATE_BLE_WRITE_RCV
+11 UI_STATE_BLE_ADV
+12 UI_STATE_BTN_DOWN
+13 UI_STATE_LED_BLINK
+14 UI_STATE_LED_ON
+)
+(
+0xFF LED_FLASH_INFINITE
+)
+
+(
+1 UI_STATE_SPP_NL_AUTO_DISCOVER
+
+)
+
+/* UI state for Headset (memui_HS_State) */ 
+   (
+    0 UI_HEADSET_DISCONNECT
+    1 UI_HEADSET_IDLE                   /* before the responsor HS receive SABM      */
+    2 UI_HEADSET_W4CONNECT
+    3 UI_HEADSET_RINGING
+    4 UI_HEADSET_CONNECTED
+    5 UI_HEADSET_PARING
+  )
+/* memui_BB_State */
+(
+  0 UI_BB_OFF
+  1 UI_BB_IDLE
+  2 UI_BB_DISCOVERY
+  3 UI_BB_CONNECTED_ACTIVE_NO_SCO
+  4 UI_BB_CONNECTED_ACTIVE_WITH_SCO
+  5 UI_BB_CONNECTED_ACTIVE_WAIT_SNIFF
+  6 UI_BB_CONNECTED_SNIFF
+  7 UI_BB_RECONNECT
+  8 UI_BB_CONNECTED_SNIFF_WITH_SCO
+)
+
+/************/
+/* flags    */
+/************/
+  
+/* memui_Misc_Flags */
+  (
+    5 NO_IDLE_TURN_OFF
+    7 ANSWER_RING_FLAG               /* 1 Answer,0 no*/
+  )
+
+/* mem_UI_SCH_Interface */
+  (
+    0  UI_HS_PAIRING 
+    2  UI_REQ_CLOSE_RFCOMM
+    3  UI_LINK_LOST
+    4  UI_REQ_OPEN_SCO
+    6  UI_REQ_CLOSE_SCO
+  )
+  
+/* memui_PassOverKey */
+  (
+    0  ANSWER_RING_BIT
+    0  AG_SEND_RING_BIT
+    1  VOL_UP_BIT
+    2  VOL_DOWN_BIT
+    3  INI_CALL_BIT
+    4  DAIL_LAST_CALL
+    5  END_CALL_BIT
+    6  NOKIA_VOICE_ACTIVE 
+    7  REJECT_CALL_BIT
+  )
+  
+/* memui_reconnect_mode */
+(
+  0 NO_RECONNECTION
+  1 RECONNECT_HID
+  2 RECONNECT_HF
+  3 RECONNECT_HS
+  4 RECONNECT_HID_HF
+  5 RECONNECT_HID_HS
+)
+/* memui_Commands */
+(
+0 BT_CMD_STANDBY
+1 BT_CMD_START_DISCOVERY
+2 BT_CMD_STOP_DISCOVERY
+3 BT_CMD_RECONNECT
+4 BT_CMD_DISCONNECT
+5 BT_CMD_ENTER_SNIFF
+6 BT_CMD_EXIT_SNIFF
+7 BT_CMD_ENTER_SNIFF_SUBRATING
+8 BT_CMD_EXIT_SNIFF_SUBRATING
+9 BT_CMD_SNIFF_TEST
+10 BT_CMD_SET_PIN_CODE
+11 BT_CMD_START_INQUIRY
+12 BT_CMD_STOP_INQUIRY
+13 BT_CMD_START_ADV
+14 BT_CMD_STOP_ADV
+15 BT_CMD_START_DIRECT_ADV
+16 BT_CMD_STOP_DIRECT_ADV
+17 BT_CMD_LE_DISCONNECT
+18 BT_CMD_LE_UPDATE_CONN
+19 BT_CMD_LED_OFF
+20 BT_CMD_LED_ON
+21 BT_CMD_LED_BLINK
+22 BT_CMD_LE_START_CONN
+23 BT_CMD_LE_START_SCAN
+24 BT_CMD_LE_STOP_SCAN
+25 BT_CMD_ENTER_HIBERNATE
+27 BT_CMD_LE_SMP_SECURITY_REQUEST
+28 BT_CMD_LE_START_WRITE
+29 BT_CMD_ROLE_SWITCH
+30 BT_CMD_BB_RECONN_CANCEL
+31 BT_CMD_STORE_RECONN_INFO_LE
+32 BT_CMD_STORE_RECONN_INFO_BT
+33 BT_CMD_DHKEY_NOT_ACCEPT
+34 BT_CMD_START_24G
+35 BT_CMD_STOP_24G
+36 BT_CMD_PAIR_24G
+)
+
+(
+0x00 BT_EVT_NULL
+0x01 BT_EVT_BB_CONNECTED
+0x02 BT_EVT_BB_DISCONNECTED
+0x03 BT_EVT_RECONN_STARTED
+0x04 BT_EVT_RECONN_FAILED
+0x05 BT_EVT_SETUP_COMPLETE
+0x06 BT_EVT_HID_CONNECTED
+0x07 BT_EVT_HID_DISCONNECTED
+0x08 BT_EVT_SPP_CONNECTED
+0x09 BT_EVT_SPP_DISCONNECTED
+0x0A BT_EVT_PINCODE_REQ
+0x0B BT_EVT_ENTER_SNIFF
+0x0C BT_EVT_EXIT_SNIFF
+0x0D BT_EVT_ENTER_SNIFF_SUB
+0x0E BT_EVT_EXIT_SNIFF_SUB
+0x0F BT_EVT_DISCOVERY_STOPED
+0x10 BT_EVT_BUTTON_LONG_PRESSED
+0x12 BT_EVT_HID_HANDSHAKE
+0X13 BT_EVT_RECONN_PAGE_TIMEOUT
+0x14 BT_EVT_LE_CONNECTED
+0X15 BT_EVT_LE_DISCONNECTED
+0x16 BT_EVT_ML2CAP_CONN_REFUSED
+0x17 BT_EVT_BUTTON_ENTER_HIBERNATE
+0x18 BT_EVT_LINKKEY_GENERATE
+0x19 BT_EVT_SWITCH_NOT_ACCEPT
+0x20 BT_EVT_SWITCH_ACCEPT
+0x21 BT_EVT_SNIFF_NOT_ACCEPT
+0x22 BT_EVT_SNIFF_ACCEPT
+0x23 BT_EVT_UNSNIFF_ACCEPT
+0x24 BT_EVT_UNSNIFF_NOT_ACCEPT
+0x25 BT_EVT_BUTTON_ADJUST_DPI
+0x26 BT_EVT_SEND_UNSNIFF_ACCEPT
+0x27 BT_EVT_VIRTUAL_CABLE_UNPLUG
+0x28 BT_EVT_LE_WRITE_REQUEST
+0x29 BT_EVT_LE_ENC_INFO
+0x2a BT_EVT_SWITCH_FAIL_MASTER
+0x2b BT_EVT_SWITCH_SUCCESS_MASTER
+0x2c BT_EVT_BUTTON_DOWN
+0x2d BT_EVT_BUTTON_UP
+0x2e BT_EVT_REMOTE_UNSNIFF
+0x30 BT_EVT_LE_PAIRING_FAIL
+0x31 BT_EVT_LE_PAIRING_SUCCESS
+0x32 BT_EVT_LE_START_ENC
+0X33 BT_EVT_LE_PAUSE_ENC
+0X34 BT_EVT_LE_TK_GENERATE
+0x35 BT_EVT_BT_GKEY_GENERATE
+0x36 BT_EVT_BT_GET_PASSKEY
+0x37 BT_EVT_BT_PAIRING_FAIL
+0x38 BT_EVT_BT_PAIRING_SUCCESS
+0x39 BT_EVT_24G_PAIRING_COMPLETE
+0x3a BT_EVT_24G_ATTEMPT_FAIL
+0x3b BT_EVT_LE_GKEY_GENERATE
+0x3c BT_EVT_24G_ATTEMPT_SUCCESS
+0x3d BT_EVT_STORE_NVRAM
+0x3e BT_EVT_LE_PAIRING_COMPLETE
+0x3F BT_EVT_LE_RECONNECT_COMPLETE
+0x40 BT_EVT_LE_PARSE_CONN_PAPA_UPDATE_RSP
+0x41 BT_EVT_LE_LTK_LOST
+
+0x50 BT_EVT_TIMER_INIT
+0xF0 BT_EVT_TIMER_MASK
+0x51 BT_EVT_TIMER_100MS
+0x52 BT_EVT_TIMER_200MS
+0x53 BT_EVT_TIMER_300MS
+0x54 BT_EVT_TIMER_400MS
+0x55 BT_EVT_TIMER_500MS
+0x56 BT_EVT_TIMER_600MS
+0x57 BT_EVT_TIMER_700MS
+0x58 BT_EVT_TIMER_800MS
+0x59 BT_EVT_TIMER_900MS
+0x5A BT_EVT_TIMER_1KMS
+0x5B BT_EVT_TIMER_1K1MS
+0x5C BT_EVT_TIMER_1K2MS
+0x5D BT_EVT_TIMER_1K3MS
+0x5E BT_EVT_TIMER_1K4MS
+0x5F BT_EVT_TIMER_1K5MS
+)
+//switch
+(
+0 OFF
+1 ON
+)
+/* memui_mem_lock */
+(
+    0 MEM_UNLOCK
+    1 MEM_LOCK
+)
+/* memui_flag0 */
+(
+    0 UI_USER_DATA_FLAG
+    1 UI_WII_WAITING_SLEEP
+    2 UI_KEYBOARD_SNIFF_SKIP
+)
+/* mem_master_type */
+(
+    0 MTYPE_HID_DEFAULT
+    1 MTYPE_HID_SSP
+    2 MTYPE_SPP
+)
+
+	(	
+	0x01 RECIEVE_SDP_CONN_RES
+	0x02 RECIEVE_SDP_CFG_REQ
+	0x03 RECIEVE_SDP_CFG_RES
+	0x04 RECIEVE_RFCOMM_CONN_RES
+	0x05 RECIEVE_RFCOMM_CFG_REQ
+	0x06 RECIEVE_RFCOMM_CFG_RES
+	0x07 RECIEVE_HID_CTRL_CONN_RES
+	0x08 RECIEVE_HID_CTRL_CFG_REQ
+	0x09 RECIEVE_HID_CTRL_CFG_RES
+	0x0A RECIEVE_HID_INT_CONN_RES
+	0x0B RECIEVE_HID_INT_CFG_REQ
+	0x0C RECIEVE_HID_INT_CFG_RES
+	0x0D RECIEVE_AVCTP_CONN_RES
+	0x0E RECIEVE_AVCTP_CFG_REQ
+	0x0F RECIEVE_AVCTP_CFG_RES
+	0x10 RECIEVE_AVDTP_SIGNAL_CONN_RES
+	0x11 RECIEVE_AVDTP_SIGNAL_CFG_REQ
+	0x12 RECIEVE_AVDTP_SIGNAL_CFG_RES
+	0x13 RECIEVE_AVDTP_MEDIA_CONN_RES
+	0x14 RECIEVE_AVDTP_MEDIA_CFG_REQ
+	0x15 RECIEVE_AVDTP_MEDIA_CFG_RES
+	0x16 RECIEVE_SS_REASULT_HS                  
+	0x17 RECIEVE_SS_REASULT_HF                  
+	0x18 RECIEVE_SS_REASULT_AVTARG		          
+	0x19 RECIEVE_SS_REASULT_OBEX		            
+	0x1A RECIEVE_DLCI0_UA
+	0x1B RECIEVE_HS_PARAM_NEG_RES
+	0x1C RECIEVE_HS_UA
+	0x1D RECIEVE_HS_MODEM_STATUS_RES
+	0x1E RECIEVE_HS_MODEm_STATUS_CMD
+	0x1F RECIEVE_HF_PARAM_NEG_RES   
+	0x20 RECIEVE_HF_UA              
+	0x21 RECIEVE_HF_MODEM_STATUS_RES
+	0x22 RECIEVE_HF_MODEm_STATUS_CMD 
+	0x23 RECIEVE_OBEX_PARAM_NEG_RES     
+	0x24 RECIEVE_OBEX_UA              
+	0x25 RECIEVE_OBEX_MODEM_STATUS_RES
+	0x26 RECIEVE_OBEX_MODEm_STATUS_CMD    
+	0x27 RECIEVE_SPP_PARAM_NEG_RES   
+	0x28 RECIEVE_SPP_UA              
+	0x29 RECIEVE_SPP_MODEM_STATUS_RES
+	0x2A RECIEVE_SPP_MODEm_STATUS_CMD
+	0x2b RECIEVE_SDP_DISCONN_RES
+	)
+
+
+
+	(
+	0 UPPERSM_RP_IDLE
+	1 UPPERSM_RP_SDP_CONN
+	2 UPPERSM_RP_SDP_CONN_WAIT
+	3 UPPERSM_RP_SDP_CFG
+	4 UPPERSM_RP_SDP_CFG_WAIT
+	5 UPPERSM_RP_SS_AVTARG
+	6 UPPERSM_RP_SS_AVTARG_WAIT
+	7 UPPERSM_RP_SS_OBEX
+	8 UPPERSM_RP_SS_OBEX_WAIT
+	9 UPPERSM_RP_SDP_DISCONN
+	10 UPPERSM_RP_SDP_DISCONN_WAIT
+	11 UPPERSM_RP_AVDTP_CONN_WAIT
+	12 UPPERSM_RP_AVCTP_CONN
+	13 UPPERSM_RP_AVCTP_CONN_WAIT
+	14 UPPERSM_RP_AVCTP_CFG
+	15 UPPERSM_RP_AVCTP_CFG_WAIT
+	16 UPPERSM_RP_OBEX_CMD_PN
+	17 UPPERSM_RP_OBEX_CMD_PN_WAIT
+	18 UPPERSM_RP_OBEX_SABM
+	19 UPPERSM_RP_OBEX_SABM_WAIT
+	20 UPPERSM_RP_OBEX_CMD_MS
+	21 UPPERSM_RP_OBEX_CMD_MS_WAIT
+	)
+	(		/*mem_upper_sm_reconn*/
+	0 UPPERSM_RECONN_IDLE		
+	1 UPPERSM_RECONN_SDP_CONN		
+	2 UPPERSM_RECONN_SDP_CONN_WAIT		
+	3 UPPERSM_RECONN_SDP_CFG		
+	4 UPPERSM_RECONN_SDP_CFG_WAIT		
+	5 UPPERSM_RECONN_SS_HS
+	6 UPPERSM_RECONN_SS_HS_WAIT
+	7 UPPERSM_RECONN_SS_HF
+	8 UPPERSM_RECONN_SS_HF_WAIT
+	9 UPPERSM_RECONN_SS_AVTARG		
+	10 UPPERSM_RECONN_SS_AVTARG_WAIT		    
+	11 UPPERSM_RECONN_SS_OBEX		            
+	12 UPPERSM_RECONN_SS_OBEX_WAIT		      
+	13 UPPERSM_RECONN_SDP_DISCONN		        
+	14 UPPERSM_RECONN_SDP_DISCONN_WAIT      
+	15 UPPERSM_RECONN_HID_CTRL_CONN		      
+	16 UPPERSM_RECONN_HID_CTRL_CONN_WAIT		
+	17 UPPERSM_RECONN_HID_CTRL_CFG		      
+	18 UPPERSM_RECONN_HID_CTRL_CFG_WAIT     
+	19 UPPERSM_RECONN_HID_INT_CONN		      
+	20 UPPERSM_RECONN_HID_INT_CONN_WAIT		  
+	21 UPPERSM_RECONN_HID_INT_CFG		        
+	22 UPPERSM_RECONN_HID_INT_CFG_WAIT      
+	23 UPPERSM_RECONN_RFCOMM_CONN		        
+	24 UPPERSM_RECONN_RFCOMM_CONN_WAIT		  
+	25 UPPERSM_RECONN_RFCOMM_CFG		        
+	26 UPPERSM_RECONN_RFCOMM_CFG_WAIT       
+	27 UPPERSM_RECONN_RFCOMM_SABM		        
+	28 UPPERSM_RECONN_RFCOMM_SABM_WAIT		  
+	29 UPPERSM_RECONN_SPP_CMD_PN		        
+	30 UPPERSM_RECONN_SPP_CMD_PN_WAIT		    
+	31 UPPERSM_RECONN_SPP_SABM		          
+	32 UPPERSM_RECONN_SPP_SABM_WAIT		      
+	33 UPPERSM_RECONN_SPP_CMD_MS		        
+	34 UPPERSM_RECONN_SPP_CMD_MS_WAIT       
+	35 UPPERSM_RECONN_HF_CMD_PN		          
+	36 UPPERSM_RECONN_HF_CMD_PN_WAIT		    
+	37 UPPERSM_RECONN_HF_SABM		            
+	38 UPPERSM_RECONN_HF_SABM_WAIT		      
+	39 UPPERSM_RECONN_HF_CMD_MS		          
+	40 UPPERSM_RECONN_HF_CMD_MS_WAIT        
+	41 UPPERSM_RECONN_AVDTPs_CONN		        
+	42 UPPERSM_RECONN_AVDTPs_CONN_WAIT		  
+	43 UPPERSM_RECONN_AVDTPs_CFG		        
+	44 UPPERSM_RECONN_AVDTPs_CFG_WAIT       
+	45 UPPERSM_RECONN_AVDTPm_CONN		        
+	46 UPPERSM_RECONN_AVDTPm_CONN_WAIT		  
+	47 UPPERSM_RECONN_AVDTPm_CFG		        
+	48 UPPERSM_RECONN_AVDTPm_CFG_WAIT       
+	49 UPPERSM_RECONN_AVCTP_CONN		        
+	50 UPPERSM_RECONN_AVCTP_CONN_WAIT		    
+	51 UPPERSM_RECONN_AVCTP_CFG		          
+	52 UPPERSM_RECONN_AVCTP_CFG_WAIT		    
+	53 UPPERSM_RECONN_OBEX_CMD_PN		        
+	54 UPPERSM_RECONN_OBEX_CMD_PN_WAIT		  
+	55 UPPERSM_RECONN_OBEX_SABM		          
+	56 UPPERSM_RECONN_OBEX_SABM_WAIT		    
+	57 UPPERSM_RECONN_OBEX_CMD_MS		        
+	58 UPPERSM_RECONN_OBEX_CMD_MS_WAIT     
+	59 UPPERSM_RECONN_SS_SPP
+	60 UPPERSM_RECONN_SS_SPP_WAIT
+	)
+	(/*mem_UI_profile_supported*/
+	0 support_HID
+	1 support_A2DP
+	2 support_AVRCP
+	3 support_HF
+	4 support_HS
+	5 support_PBAP
+	6 support_SPP
+	)
+	/*mem_upper_sm_ss*/
+	(
+	0 UPPERSM_SS_HS
+	1 UPPERSM_SS_HF
+	2 UPPERSM_SS_AVTARG
+	3 UPPERSM_SS_OBEX
+	)
+
+	(
+	160 UI_HUNDRED_MILLISECOND_TIME
+	0XFF UI_BUTTON_GPIO_DISABLE
+	)
+	(
+	0x01 UI_BB_INCONNECT
+	0x10 UI_BB_DISCONNECT
+	)
+(
+0x00 UI_BUTTON_STATE_DOWN
+0x01 UI_BUTTON_STATE_UP
+)
+
+//mem_ipc_skip_continue_proc
+(
+	0 IPC_CONTINUE_PROCESS
+	1 IPC_SKIP_CONTINUE_PROCESS
+)
+
+omemalloc(
+// memblock for cover the variables portion at shutter.format
+2 mem_antl_lpm_interval
+2 mem_antl_adv_interval
+2 mem_antl_slow_adv_lpm_interval
+2 mem_antl_slow_adv_adv_interval
+0 mem_antl_led_style
+1 mem_antl_led_type
+1 mem_antl_led_blink_count
+1 mem_antl_led_gpio
+2 mem_antl_led_on_time
+2 mem_antl_led_off_time
+2 mem_antl_led_cb_on
+2 mem_antl_led_cb_off
+
+0 mem_antl_buzzer_style
+1 mem_antl_buzzer_type
+1 mem_antl_buzzer_blink_count
+1 mem_antl_buzzer_gpio
+2 mem_antl_buzzer_on_time
+2 mem_antl_buzzer_off_time
+2 mem_antl_buzzer_cb_on
+2 mem_antl_buzzer_cb_off
+
+0 mem_antl_fast_adv_led_style
+1 mem_antl_fast_adv_led_type
+1 mem_antl_fast_adv_led_blink_count
+1 mem_antl_fast_adv_led_gpio
+2 mem_antl_fast_adv_led_on_time
+2 mem_antl_fast_adv_led_off_time
+
+0 mem_antl_slow_adv_led_style
+1 mem_antl_slow_adv_led_type
+1 mem_antl_slow_adv_led_blink_count
+1 mem_antl_slow_adv_led_gpio
+2 mem_antl_slow_adv_led_on_time
+2 mem_antl_slow_adv_led_off_time
+
+0 mem_antl_power_starting_led_style
+1 mem_antl_power_starting_led_type
+1 mem_antl_power_starting_led_blink_count
+1 mem_antl_power_starting_led_gpio
+2 mem_antl_power_starting_led_on_time
+2 mem_antl_power_starting_led_off_time
+
+7 mem_antl_power_starting_buzzer_style
+
+0 mem_antl_power_off_led_style
+1 mem_antl_power_off_led_type
+1 mem_antl_power_off_led_link_count
+1 mem_antl_power_off_led_gpio
+2 mem_antl_power_off_led_on_time
+2 mem_antl_power_off_led_off_time
+
+0 mem_antl_power_off_buzzer_style
+1 mem_antl_power_off_buzzer_type
+1 mem_antl_power_off_buzzer_link_count
+1 mem_antl_power_off_buzzer_gpio
+2 mem_antl_power_off_buzzer_on_time
+2 mem_antl_power_off_buzzer_off_time
+
+7 mem_antl_alert_led_stlye
+
+0 mem_antl_alert_buzzer_stlye
+1 mem_antl_alert_buzzer_type
+1 mem_antl_alert_buzzer_blink_count
+1 mem_antl_alert_buzzer_gpio
+2 mem_antl_alert_buzzer_on_time
+2 mem_antl_alert_buzzer_off_time
+
+0 mem_antl_key_led_style
+1 mem_antl_key_led_type
+1 mem_antl_key_led_blink_count
+1 mem_antl_key_led_gpio
+2 mem_antl_key_led_on_time
+2 mem_antl_key_led_off_time
+
+7 mem_antl_key_buzzer_style
+
+1 mem_antl_queue_width
+1 mem_antl_queue_depth
+1 mem_antl_queue_curr_num
+1 mem_antl_queue_read_ptr
+1 mem_antl_queue_write_ptr
+80 mem_antl_queue_buff
+
+1 mem_antl_key_scan_enable
+1 mem_antl_led_num
+4 mem_antl_led_gpio_map
+
+0 mem_antl_power_param
+1 mem_antl_power_state
+1 mem_antl_power_timer
+1 mem_antl_power_off_timeout
+1 mem_antl_power_starting_timeout
+2 mem_antl_power_off_cb
+2 mem_antl_power_starting_cb
+2 mem_antl_power_standby_cb
+2 mem_event_button_up_cb
+
+1 mem_antl_key_num
+2 mem_cb_antl_key
+4 mem_antl_key_conf0
+
+15 mem_antl_key0_press
+15 mem_antl_key0_release
+
+///////
+1 mem_antl_conn_updata_procedure_state
+2 mem_client_characteristic_configuration_descriptor
+///////
+
+
+//100ms timer
+2 mem_adc_timer
+1 mem_antl_conn_update_timer
+1 mem_antl_send_updata_le_param_timer
+////
+
+2 mem_antl_le_sleep_timer
+2 mem_antl_fast_adv_timer
+2 mem_antl_fast_adv_timeout
+2 mem_antl_le_sleep_timeout
+1 mem_double_click_timer
+1 mem_butten_click_cnt
+
+//1 mem_dvc_seq
+/////////anti lost alarm state/////
+1 mem_antl_led_state
+1 mem_antl_buzzer_state
+1 mem_antl_key_state
+1 mem_antl_lost_mode
+1 mem_alarm_config
+1 mem_alarm_config_notfy_cnt
+
+6 mem_buzzer_pwm_conf
+
+/////////anti lost battery adc read////////
+2 mem_adc_timeout
+1 mem_voltage_remain_percent
+
+0 mem_battery_calculate_set
+2 mem_battery_full_voltage
+2 mem_battery_empty_voltage
+2 mem_battery_low_voltage
+2 mem_battery_current_voltage
+
+
+2 mem_rx_window_sniff_inc
+2 mem_interval_increment
+
+2 mem_antl_le_interval_min
+2 mem_antl_le_interval_max
+2 mem_antl_le_latency
+2 mem_antl_le_timeout
+2 mem_antl_le_unnormal_interval_min
+2 mem_antl_le_unnormal_interval_max
+2 mem_antl_le_unnormal_latency
+2 mem_antl_le_unnormal_timeout
+
+400 mem_AntiLost_le_att_list
+)
+
+omemalloc(
+1 mem_car_hard_soft_switch
+1 mem_car_queue_each_size
+1 mem_car__queue_length
+
+1 mem_car_queue_curr_num
+1 mem_car_queue_read_ptr
+1 mem_car_queue_write_ptr
+120 mem_car_queue_ele
+
+20 mem_car_pop_queue_buff
+
+1 mem_car_led_num
+10 mem_car_led_map
+
+1 mem_car_style1_led_type
+1 mem_car_style1_blink_count
+1 mem_car_style1_struct_led_gpio
+2 mem_car_style1_on_time
+2 mem_car_style1_off_time
+2 mem_car_style1_cb_ledon
+2 mem_car_style1_cb_ledoff
+
+1 mem_car_style2_led_type
+1 mem_car_style2_blink_count
+1 mem_car_style2_struct_led_gpio
+2 mem_car_style2_on_time
+2 mem_car_style2_off_time
+2 mem_car_style2_cb_ledon
+2 mem_car_style2_cb_ledoff
+
+//////motor
+0 mem_le_receive_data
+2 mem_le_receive_packet_head
+1 mem_le_receive_cmd
+2 mem_le_receive_length
+10 mem_le_receive_payload
+1 mem_le_receive_checksum
+1 mem_motor1_status
+1 mem_motor1_speed
+1 mem_motor2_status
+1 mem_motor2_speed
+1 mem_motor3_status
+1 mem_motor3_speed
+
+0 mem_motor1_pwm_set
+1 mem_motor1_pwm_pin1_set
+1 mem_motor1_pwm_pin2_set
+1 mem_motor1_pwm_pin_set
+1 mem_motor1_pwm_channel_set
+3 mem_motor1_pwm_freq_set
+1 mem_motor1_pwm_dute_set
+0 mem_motor2_pwm_set
+1 mem_motor2_pwm_pin1_set
+1 mem_motor2_pwm_pin2_set
+1 mem_motor2_pwm_pin_set
+1 mem_motor2_pwm_channel_set
+3 mem_motor2_pwm_freq_set
+1 mem_motor2_pwm_dute_set
+0 mem_motor3_pwm_set
+1 mem_motor3_pwm_pin1_set
+1 mem_motor3_pwm_pin2_set
+1 mem_motor3_pwm_pin_set
+1 mem_motor3_pwm_channel_set
+3 mem_motor3_pwm_freq_set
+1 mem_motor3_pwm_dute_set
+
+1 mem_motor_select_p_n
+1 mem_car_motor_status
+1 mem_car_motor_speed
+0 mem_motor_pwm_set
+1 mem_motor_pwm_pin1_set
+1 mem_motor_pwm_pin2_set
+1 mem_motor_pwm_pin_set
+1 mem_motor_pwm_channel_set
+3 mem_motor_pwm_freq_set
+1 mem_motor_pwm_dute_set
+
+1 mem_ir_rx_gpio
+2 mem_ir_data
+2 mem_ir_rx_buf
+4 mem_ir_receive_clkn
+
+3 mem_ir_notify_data
+5 mem_ir_notify_data_head
+2 mem_ir_notify_data_payload
+1 mem_ir_notify_data_check_sum
+1 mem_car_ir_breakdown_check_timer
+1 mem_car_ir_breakdown_flag
+
+0 mem_car_led_control
+1 mem_car_led1_status
+1 mem_car_led2_status
+1 mem_car_led3_status
+1 mem_car_led4_status
+1 mem_car_led5_status
+1 mem_car_led6_status
+1 mem_car_led7_status
+1 mem_car_led8_status
+1 mem_car_led_control_timer
+1 mem_car_led_blink_status
+1 mem_car_led_no
+
+3 mem_car_info_request
+5 mem_car_info_request_head
+8 mem_car_info_request_payload
+1 mem_car_info_request_checksum
+
+0 mem_car_config_param
+1 mem_car_config_setting_flag
+1 mem_car_config_device_select
+1 mem_car_config_motor_layout
+1 mem_car_config_ir_enable
+1 mem_car_config_ir_rx_gpio
+1 mem_car_config_pairing_led_conn_status
+1 mem_car_config_pairing_led_gpio
+1 mem_car_config_led_num
+0 mem_car_config_blood_led_gpio
+1 mem_car_config_blood_led1_gpio
+1 mem_car_config_blood_led2_gpio
+1 mem_car_config_blood_led3_gpio
+1 mem_car_config_blood_led4_gpio
+1 mem_car_config_blood_led5_gpio
+1 mem_car_config_blood_led6_gpio
+1 mem_car_config_blood_led7_gpio
+1 mem_car_config_blood_led8_gpio
+1 mem_car_config_bat_notify_enable
+1 mem_car_config_low_voltage_led_gpio
+1 mem_car_config_low_voltage_percent
+1 mem_car_config_soft_switch_enable
+1 mem_car_config_soft_switch_gpio
+
+1 mem_car_notify_vdd_count
+1 mem_car_notify_vdd_timer
+1 mem_car_notify_vdd_value_last
+1 mem_car_notify_vdd_percent
+1 mem_car_working_flag
+1 mem_low_bat_flag
+
+3 mem_notify_bat_packet
+5 mem_notify_bat_head
+1 mem_notify_bat_payload
+1 mem_notify_bat_check_sum
+
+1 mem_vdd_notify_flag
+2 mem_car_current_vdd_value_temp
+2 mem_car_last_vdd_value
+
+0 mem_vdd_calculate_set
+2 mem_vdd_full_vol
+2 mem_vdd_empty_vol
+2 mem_vdd_low_vol
+2 mem_vdd_now_vol
+
+
+1 mem_car_24g_status
+2 mem_car_24g_no_data_timeout_count
+2 mem_car_24g_no_data_timeout_timer
+
+1 mem_car_24g_ir_receive_attack_count
+1 mem_car_24g_go_die_flag
+1 mem_car_attack_shake_timer
+1 mem_car_attack_shake_flag
+
+0 mem_car_soft_power
+1 mem_car_power_state
+1 mem_car_power_timer
+1 mem_car_power_off_timeout
+1 mem_car_power_starting_timeout
+2 mem_car_power_off_cb
+2 mem_car_power_starting_cb
+2 mem_car_power_standby_cb
+2 mem_car_ui_button_up_cb
+
+
+500 mem_car_le_att_list
+
+1 mem_car_moto1_blank_timer
+1 mem_car_moto2_blank_timer
+1 mem_car_moto3_blank_timer
+1 mem_car_24g_received_pac
+400 mem_24g_car_head_ptr
+)
+
+omemalloc(
+1 mem_light_pwm0
+1 mem_light_pwm1
+1 mem_light_pwm2
+1 mem_light_pwm3
+1 mem_light_pwm4
+1 mem_light_pwm5
+
+1 mem_light_pairing_enable
+2 mem_light_pairing_timer
+1 mem_light_cnum
+1 mem_light_next_record
+80 mem_light_clist
+
+
+1 mem_light_crr_cmd_count
+1 mem_curr_packet_num
+)
+
+omemalloc(
+1 mem_lightc_led_gpio
+6 mem_lightc_row
+6 mem_lightc_col
+
+1 mem_adv_time
+
+20 mem_cmd0_string
+20 mem_cmd1_string
+20 mem_cmd2_string
+20 mem_cmd3_string
+20 mem_cmd4_string
+20 mem_cmd5_string
+20 mem_cmd6_string
+20 mem_cmd7_string
+20 mem_cmd8_string
+20 mem_cmd9_string
+20 mem_cmd10_string
+20 mem_cmd11_string
+20 mem_cmd12_string
+20 mem_cmd13_string
+20 mem_cmd14_string
+20 mem_cmd15_string
+20 mem_cmd16_string
+20 mem_cmd17_string
+20 mem_cmd18_string
+20 mem_cmd19_string
+20 mem_cmd20_string
+)
+
+(
+0 LIGHT_GROUP0
+)
+
+(
+0 LIGHT_CMD_PWM0
+1 LIGHT_CMD_PWM1
+2 LIGHT_CMD_PWM2
+3 LIGHT_CMD_PWM3
+4 LIGHT_CMD_PWM4
+5 LIGHT_CMD_PWM5
+6 LIGHT_CMD_AUTO_MODE
+0xff LIGHT_CMD_PAIRING
+
+)
+
+omemalloc(	
+	2 mem_soft_version_num
+	1 mem_module_wake_up_gpio
+	1 mem_module_state_gpio
+	1 mem_module_connect_state_gpio
+
+	2 mem_current_packet_length
+	1 mem_module_state
+	
+	1 mem_module_mcu_wake_pin
+	4 mem_module_mcu_wake_delay_us
+
+	1 mem_module_spp_lpm_mult
+	1 mem_module_le_lpm_mult	
+	1 mem_module_bluetooth_stauts_by_command
+
+	//uart
+	2 mem_module_uart_rx_buffer
+	2 mem_module_uart_rx_buffer_end
+	2 mem_module_uart_tx_buffer
+	2 mem_module_uart_tx_buffer_end
+
+	//ADC
+	1 mem_module_read_vdd_flag
+	1 mem_module_read_vdd_count
+	1 mem_module_vdd_quotient
+	1 mem_module_vdd_remainder
+
+	//ble
+	1 mem_module_le_rx_data_len
+	2 mem_module_le_rx_data_address
+	2 mem_module_le_rx_data_handle
+	//ble write handle
+	2 mem_module_data_write_handle
+	2 mem_module_data_write_handle2
+	//flag
+	1 mem_module_flag
+
+	1 mem_module_hci_notify_len
+	2 mem_module_hci_notify_handle
+	2 mem_module_hci_nofiy_addr
+
+	4 mem_last_transmite_clock
+	
+	300 mem_module_uuid_list
+	0 mem_module_uuid_list_end
+	600 mem_module_le_att_list
+	0 mem_module_le_att_list_end
+	0 mem_module_nv_data
+	34 mem_module_nv_data0
+	34 mem_module_nv_data1
+	34 mem_module_nv_data2
+	34 mem_module_nv_data3
+	34 mem_module_nv_data4
+)
+
+omemalloc(
+1 mem_remote_car_hard_soft_switch
+
+1 mem_remote_car_queue_each_size
+1 mem_remote_car_queue_length
+
+1 mem_remote_car_queue_curr_num
+1 mem_remote_car_queue_read_ptr
+1 mem_remote_car_queue_write_ptr
+90 mem_remote_car_queue_ele
+
+1 mem_remote_style_led_type
+1 mem_remote_style_blink_count
+1 mem_remote_style_struct_led_gpio
+2 mem_remote_style_on_time
+2 mem_remote_style_off_time
+2 mem_remote_style_cb_ledon
+2 mem_remote_style_cb_ledoff
+
+
+1 mem_remote_car_led_num
+8 mem_remote_car_led_map
+
+0 mem_remote_car_keyscan
+1 mem_remote_car_key_num
+2 mem_cb_remote_car_keyscan
+
+0 mem_remote_car_key_conf0
+1 mem_remote_car_key_conf0_pin
+0 mem_remote_car_key_conf1
+1 mem_remote_car_key_conf1_pin
+0 mem_remote_car_key_conf2
+1 mem_remote_car_key_conf2_pin
+0 mem_remote_car_key_conf3
+1 mem_remote_car_key_conf3_pin
+0 mem_remote_car_key_conf4
+1 mem_remote_car_key_conf4_pin
+0 mem_remote_car_key_conf5
+1 mem_remote_car_key_conf5_pin
+0 mem_remote_car_key_conf6
+1 mem_remote_car_key_conf6_pin
+
+
+//rocker
+1 mem_rocker_negative_flag
+1 mem_rocker_work_status
+2 mem_current_vdd_value_default_mid_x
+2 mem_current_vdd_value_default_mid_y
+2 mem_current_vdd_value_default_mid_temp
+2 mem_current_vdd_default_range
+2 mem_rocker_last_status
+0 mem_rocker_status
+1 mem_rocker_x_status
+1 mem_rocker_y_status
+
+0 mem_remote_car_config_param
+1 mem_remote_car_config_setting_flag
+1 mem_remote_car_config_key_map
+1 mem_remote_car_config_layout
+1 mem_remote_car_config_connect_led_gpio
+1 mem_remote_car_config_check_way
+1 mem_remote_car_config_soft_switch_enable
+1 mem_remote_car_config_soft_switch_gpio
+1 mem_remote_car_config_timeout_shutdown_enable
+
+0 mem_remote_car_24g_motor_packet
+1 mem_remote_car_24g_motor_packet_lenght
+2 mem_remote_car_24g_motor_send_packet_head
+1 mem_remote_car_24g_motor_send_cmd
+2 mem_remote_car_24g_motor_send_length
+0 mem_remote_car_24g_motor_send_payload
+2 mem_remote_car_24g_motor1_payload
+2 mem_remote_car_24g_motor2_payload
+2 mem_remote_car_24g_motor3_payload
+1 mem_remote_car_24g_motor_send_checksum
+
+0 mem_remote_car_24g_fire_packet
+1 mem_remote_car_24g_fire_packet_lenght
+2 mem_remote_car_24g_fire_send_packet_head
+1 mem_remote_car_24g_fire_send_cmd
+2 mem_remote_car_24g_fire_send_length
+2 mem_remote_car_24g_fire_send_payload
+1 mem_remote_car_24g_fire_send_checksum
+
+15 mem_remote_car_24g_tx_temp
+
+2 mem_remote_car_no_data_timeout
+2 mem_remote_car_no_data_timer
+
+0 mem_remote_car_soft_power
+1 mem_remote_car_power_state
+1 mem_remote_car_power_timer
+1 mem_remote_car_power_off_timeout
+1 mem_remote_car_power_starting_timeout
+2 mem_remote_car_power_off_cb
+2 mem_remote_car_power_starting_cb
+2 mem_remote_car_power_standby_cb
+
+1 mem_remote_key_status
+1 mem_remote_car_24g_status
+
+1 mem_remote_car_24g_auto_work_step
+1 mem_remote_car_24g_pair_success_flag
+1 mem_remote_car_24g_enter_lpm_enable
+1 mem_remote_car_empty_packet
+400 mem_24g_RC_head_ptr
+)
+
+omemalloc(
+
+////////////////////////////////////
+//shutter common config
+1 mem_shutter_bluetooth_type
+////////////////////////////////////
+
+//shutter config name by GPIO
+1 mem_shutter_config_enable
+2 mem_shutter_config_otp_base_address
+1 mem_shutter_config_size
+1 mem_shutter_config_select_gpio1
+1 mem_shutter_config_select_gpio2
+1 mem_shutter_config_select_gpio3
+
+2 mem_shutter_config_user_otp_address
+2 mem_shutter_config_eeprom_offset_addr
+
+////////
+2 mem_shutter_config_eeprom_start_flag
+1 mem_shutter_config_user_size
+///////
+1 mem_shutter_config_label
+2 mem_shutter_config_otp_addr
+///////////////////////////////////
+
+////////////////////////////////////
+//classic shutter config
+1 mem_classic_shutter_cable_unplug_conut
+1 mem_classic_shutter_hid_disconn_count
+2 mem_classic_shutter_random_mac_offset_addr
+////////////////////////////////////
+
+////////////////////////////////////
+//ble shutter config
+1 mem_ble_shutter_enable_notify
+2 mem_ble_shutter_reconn_dav_interval
+2 mem_ble_shutter_discovery_adv_interval
+2 mem_ble_shutter_reconn_timeout
+2 mem_ble_shutter_reconn_timer
+2 mem_ble_shutter_reconn_blink_on_time
+2 mem_ble_shutter_reconn_blink_off_time
+2 mem_ble_shutter_discovery_blink_on_time
+2 mem_ble_shutter_discovery_blink_off_time
+
+2 mem_ble_shutter_interval_min
+2 mem_ble_shutter_interval_max
+2 mem_ble_shutter_latency
+2 mem_ble_shutter_timeout
+
+2 mem_ble_shutter_interval_min_new
+2 mem_ble_shutter_interval_max_new
+2 mem_ble_shutter_latency_new
+2 mem_ble_shutter_timeout_new
+
+//////////////////shutter sleep timeout//////////////////
+2 mem_classic_shutter_discovery_timeout
+2 mem_classic_shutter_connect_timeout
+2 mem_ble_shutter_discovery_timeout
+2 mem_ble_shutter_connect_timeout
+2 mem_shutter_sleep_timeout
+2 mem_shutter_sleep_timer
+
+/////////////////////////////////////////////////////////////////
+1 mem_shutter_hard_soft_switch_case
+1 mem_shutter_soft_switch_button_gpio
+1 mem_shutter_soft_switch_power_state
+1 mem_shutter_soft_switch_poweron_time
+1 mem_shutter_soft_switch_poweroff_time
+2 mem_shutter_soft_switch_poweron_callback_function
+2 mem_shutter_soft_switch_poweroff_callback_function
+
+
+0 mem_shutter_keyscan
+1 mem_shutter_key_num
+2 mem_cb_shutter_keycan
+1 mem_shutter_key_conf0
+1 mem_shutter_key_conf1
+1 mem_shutter_key_conf2
+1 mem_shutter_key_conf3
+1 mem_shutter_key_conf4
+1 mem_shutter_key_conf5
+1 mem_shutter_key_conf6
+1 mem_shutter_key_conf7
+
+
+5 mem_key0_press
+5 mem_key1_press
+5 mem_key2_press
+5 mem_key3_press
+5 mem_key4_press
+5 mem_key5_press
+5 mem_key6_press
+5 mem_key7_press
+
+5 mem_key0_release	
+5 mem_key1_release
+5 mem_key2_release
+5 mem_key3_release
+5 mem_key4_release
+5 mem_key5_release
+5 mem_key6_release
+5 mem_key7_release
+
+5 mem_ble_data_buffer1
+5 mem_ble_data_buffer2
+5 mem_ble_data_buffer3
+5 mem_ble_data_buffer4
+5 mem_ble_data_buffer5
+5 mem_ble_data_buffer6
+5 mem_ble_data_buffer7
+5 mem_ble_data_buffer8
+50 mem_ble_data_buffer9_58
+
+5 mem_classic_data_buffer
+
+5 mem_classic_data_buffer1
+5 mem_classic_data_buffer2
+5 mem_classic_data_buffer3
+5 mem_classic_data_buffer4
+5 mem_classic_data_buffer5
+5 mem_classic_data_buffer6
+5 mem_classic_data_buffer7
+5 mem_classic_data_buffer8
+50 mem_classic_data_buffer9_58
+
+1 mem_queue_each_size
+1 mem_queue_length
+1 mem_queue_curr_num
+1 mem_queue_read_ptr
+1 mem_queue_write_ptr
+32 mem_queue_ele
+
+
+170 mem_shutter_nv_data
+
+0 mem_shutter_led_struct_app_led
+1 mem_shutter_led_struct_app_led_type
+1 mem_shutter_led_struct_app_led_blink_count
+1 mem_shutter_led_struct_app_led_gpio
+2 mem_shutter_led_struct_app_led_on_time
+2 mem_shutter_led_struct_app_led_off_time
+2 mem_shutter_led_struct_app_led_on_callback
+2 mem_shutter_led_struct_app_led_off_callback
+
+0 mem_shutter_power_off_led_style
+1 mem_shutter_power_off_led_style_type
+1 mem_shutter_power_off_led_style_blink_count
+1 mem_shutter_power_off_led_style_gpio
+2 mem_shutter_power_off_led_style_on_time
+2 mem_shutter_power_off_led_style_off_time
+2 mem_shutter_power_off_led_style_on_callback
+2 mem_shutter_power_off_led_style_off_callback
+
+1 mem_shutter_soft_swtich_botton_down
+11 mem_shutter_soft_swtich_led_struct_temp
+1 mem_shutter_power_off_timeout
+1 mem_shutter_power_off_timer
+)
+
+omemalloc(
+// Mouse Work Area
+1 mem_mouse_key
+2 mem_mouse_x
+2 mem_mouse_y
+1 mem_mouse_z
+1 mem_mouse_tz
+1 mem_mouse_xy_h
+1 mem_sensor_shutter_hi
+1 mem_sensor_shutter_lo
+1 mem_sensor_smart_flag
+1 mem_sensor_squal_reg
+1 mem_sensor_iqc
+1 mem_mouse_move_flag
+2 mem_mouse_direct_timeout
+2 mem_mouse_no_data_timeout
+2 mem_mouse_discovery_timer
+2 mem_mouse_direct_timer
+2 mem_mouse_no_data_timer
+2 mem_mouse_blank_data_timer
+1 mem_mouse_send_blank_timer
+
+1 mem_mouse_cpi_count
+1 mem_mouse_dpi_button_state
+
+
+//mouse T wheel
+1 mem_wheel_tb_old_pinlevel
+1 mem_wheel_tb_new_pinlevel
+1 mem_wheel_tog 
+1 mem_mouse_tz_data
+1 mem_mouse_tz_data_count
+1 mem_mouse_tz_data_count1
+
+
+1 mem_mwheel_b_old_pinlevel
+1 mem_mwheel_b_new_pinlevel
+1 mem_mwheel_tog 
+1 mem_mouse_z_data
+1 mem_mouse_z_data_count
+1 mem_mouse_z_data_count1
+
+1 mem_reconn_mode
+1 mem_mouse_statue_led_timer  
+1 mem_le_connect_status_flag
+1 mem_le_start_encrypt_timer
+
+7 mem_device_addr_temp
+
+1 mem_adc_read_timer
+1 mem_adc_low_volatage_led_timer_count
+2 mem_adc_reference_voltage
+1 mem_device_number
+2 mem_mouse_flag
+2 mem_mouse_function_enable
+1 mem_combination_select_device_timer_init
+1 mem_combination_select_device_count
+1 mem_select_device_button_statue
+
+1 mem_combination_ui_button_count
+1 mem_bt_discovey_button_statue
+1 mem_sensor_reset_gpio	
+
+1 mem_sensor_id1
+1 mem_sensor_id2
+//eeprom config param
+1 mem_mouse_dpi_led_delay_count
+1 mem_config_sensor_type
+1 mem_config_sensor_motion
+1 mem_lbutton_gpio
+1 mem_rbutton_gpio
+1 mem_mbutton_gpio
+1 mem_bk_button_gpio
+1 mem_fw_button_gpio
+1 mem_dpi_button_gpio
+1 mem_whee_a_data_gpio
+1 mem_whee_b_data_gpio
+1 mem_whee_ta_data_gpio
+1 mem_whee_tb_data_gpio
+1 mem_config_bt_button_gpio
+1 mem_config_select_device_button_gpio
+1 mem_config_paraing_led_gpio
+1 mem_config_low_voltage_alarm_gpio
+1 mem_config_device1_led_gpio
+1 mem_config_device2_led_gpio
+1 mem_config_device3_led_gpio	
+1 mem_sensor_data_gpio
+1 mem_dpi_led_gpio
+1 mem_config_function_enable
+1 mem_config_sensor_angle
+1 mem_select_sensor_angle_gpio
+1 mem_select_adc_gpio
+0 mem_config_end
+//max length 1f								
+4 mem_btclk_sensor
+1 mem_wire_usb_interval
+1 mem_mouse_mode_flag
+1 mem_usb_addr
+3 mem_flash_base
+1 mem_24g_device_number
+1 mem_24g_enter_lpm_timer
+1 mem_mouse_1step_up_count
+1 mem_mouse_2step_up_count
+2 mem_24g_pairing_timer_count
+
+//adc struct
+0 mem_mouse_vdd_calculate_set
+2 mem_mouse_vdd_full_vol
+2 mem_mouse_vdd_empty_vol
+2 mem_mouse_vdd_low_vol
+2 mem_mouse_vdd_now_vol
+// sensor led 
+1 mem_mouse_sensor_timer_count
+1 mem_sensor_led_style
+
+//led struct
+1 mem_mouse_led_type
+1 mem_mouse_blink_count
+1 mem_mouse_struct_led_gpio
+2 mem_mouse_on_time
+2 mem_mouse_off_time
+2 mem_mouse_cb_ledon
+2 mem_mouse_cb_ledoff
+
+//three devices param
+1 mem_reconn_times
+1 mem_reconn_times_init
+0 mem_mouse_information_start
+1 mem_device_flag
+1 mem_device1_type
+6 mem_device1_addr
+16 mem_device1_link_key
+6 mem_device1_locall_addr
+
+1 mem_device2_type
+6 mem_device2_addr
+16 mem_device2_link_key
+6 mem_device2_locall_addr
+
+1 mem_device3_type
+6 mem_device3_addr
+16 mem_device3_link_key
+6 mem_device3_locall_addr
+2 mem_store_flag
+1 mem_mouse_dpi
+4 mem_mouse_24g_addr
+0 mem_mouse_information_end
+
+0 mem_mouse_dpi_seting
+1 mem_320x_dpi_1
+1 mem_320x_dpi_2
+1 mem_320x_dpi_3
+1 mem_320x_dpi_4
+
+1 mem_3212_dpi_1
+1 mem_3212_dpi_2
+1 mem_3212_dpi_3
+1 mem_3212_dpi_4
+
+1 mem_3610_dpi_1
+1 mem_3610_dpi_2
+1 mem_3610_dpi_3
+1 mem_3610_dpi_4
+
+1 mem_mouse_24g_enter_lpm_enable
+
+//-------------- patch variable ------------------
+2 mem_le_rx_window_inc
+1 mem_empty_count
+13 mem_rf_init_data_new
+
+1 mem_mouse_clear_sensor_data_flag
+1 mem_mouse_null_enter_hibernate_flag
+1 mem_mouse_null_enter_hibernate_timer
+1 mem_mouse_le_reconnect_flag
+
+33 mem_mouse_data_queue
+1 mem_mouse_data_queue_num
+
+2 mem_random_addr_increase_count
+1 mem_mouse_le_conn_param_reject
+1 mem_lpm_mult_init
+64 mem_mouse_le_uuid_sup
+
+1 mem_mouse_wheel_trigger
+1 mem_mouse_wheel_trigger_timer
+
+1 mem_mouse_enter_sniff_count
+1 mem_mouse_send_switch_req_timer
+
+27 mem_le_tx_buffer0_omemalloc
+27 mem_le_tx_buffer1_omemalloc
+27 mem_le_tx_buffer2_omemalloc
+27 mem_le_tx_buffer3_omemalloc
+
+
+646 mem_mouse_uuid_list
+1 mem_lmi_opcode_temp
+
+1 mem_mouse_button_select_device_timer_init
+1 mem_mouse_button_select_device_count
+
+1 mem_mouse_multi_led_blink_enable
+1 mem_mouse_multi_led_gpio
+1 mem_mouse_multi_led_state
+1 mem_mouse_multi_led_type
+1 mem_mouse_multi_led_on_timer_init
+1 mem_mouse_multi_led_blink_timer_init
+1 mem_mouse_multi_led_blink_timer
+1 mem_mouse_multi_led_blink_count
+1 mem_mouse_multi_led_on_timer
+1 mem_mouse_multi_led_blink_count_limited
+1 mem_mouse_multi_led_on_poweron2s_flag
+
+1 mem_mouse_long_button_select_device
+1 mem_mouse_adc_last_low_voltage_flag
+1 mem_mouse_init_sensor_reset_flag
+
+1 mem_bt_rcvd_switch_req_accept
+1 mem_bt_send_max_slot_req_accept_after_switch
+1 mem_bt_send_lmp_setup_complete
+
+1 mem_l2cap_rcv
+1 mem_mouse_bt_boot_mode
+5 mem_mouse_bt_boot_data
+
+1 mem_mouse_bt_send_first_package_timer
+1 mem_mouse_bt_send_first_package_flag
+
+1 mem_mouse_asm_flag
+2 mem_mouse_x_pre
+2 mem_mouse_y_pre
+
+1 mem_mouse_fast_conn_flag
+19 mem_le_adv_swift_pair
+
+//modified pnp id
+1 mem_le_att_pnp_id_len
+7 mem_le_att_pnp_id
+
+//no motion pin
+1 mem_mouse_long_mult_flag
+1 mem_mouse_le_current_mult_timer
+1 mem_24g_long_sleep_param_update_timer
+
+1 mem_mouse_select_device_button_wakeup_flag
+1 mem_mouse_state_led_blink_flag
+
+1 mem_mouse_send_secutiry_request_timer
+1 mem_le_send_security_request_flag
+1 mem_mouse_le_bb_connected_flag
+
+1 mem_g24_stop_g24_mode
+2 mem_g24_stop_g24_mode_timeout
+1 mem_24g_pair_current_ch_num
+1 mem_24g_powerful_current_ch_num
+
+1 mem_24g_combination_ui_button_count
+3 mem_le_lap_high_3B
+
+1 mem_24g_led_gpio
+1 mem_lvd_led_gpio
+
+
+
+//g24
+34 mem_24g_rxbuf
+32 mem_24g_txbuf
+34 mem_24g_txpayload
+32 mem_24g_rxpayload
+1 mem_24g_rxdata_length
+1 mem_24g_pid
+1 mem_24g_datalen
+1 mem_24g_data_type
+1 mem_24g_txlen
+2 mem_24g_rx_window
+1 mem_24g_ensure
+2 mem_24g_txfail_cnt
+1 mem_24g_get_ack_fail
+1 mem_24g_retry
+1 mem_24g_ch
+1 mem_24g_current_ch_number
+4 mem_24g_paring_addr
+1 mem_24g_pairing_sm
+4 mem_24g_ch_map1
+4 mem_24g_ch_map2
+4 mem_24g_ch_map3
+4 mem_24g_ch_map4
+4 mem_24g_tx_btclk
+1 mem_24g_interval
+1 mem_24g_interval_min
+1 mem_24g_interval_max
+4 mem_24g_addr
+1 mem_24g_abort_pac
+2 mem_24g_check_dongle_times
+
+8 mem_24g_enter_hibernate
+4 mem_24g_device_addr
+1 mem_24g_pac_index
+1 mem_24g_no_ack
+3 mem_24g_sta_crc
+3 mem_24g_last_crc
+1 mem_24g_sta_pid
+1 mem_24g_last_pid
+1 mem_24g_max_retry
+1 mem_24g_mode
+
+34 mem_24g_rxdata_temp
+4 mem_24g_rx_addr
+1 mem_dongle_mode_init
+1 mem_dongle_work_mode
+1 mem_dongle_ms_bind_step
+1 mem_dongle_kb_bind_step
+1 mem_dongle_bind_device_status
+8 mem_24g_bind_payload
+1 mem_24g_abort_packet
+1 mem_24g_rf_laststa
+4 mem_24g_hop_btclk
+1 mem_24g_hop_interval
+1 mem_24g_mode_switch
+1 mem_24g_ackpayload_enable
+1 mem_24g_hop_packet
+1 mem_24g_pair_mode
+1 mem_24g_nodata_timer_enable
+1 mem_24g_time_slice
+8 mem_24g_kb_data_sta_data
+8 mem_24g_kb_data_last_data
+3 mem_24g_kb_multikey_sta_data
+3 mem_24g_kb_multikey_last_data
+1 mem_24g_kb_blank_data_enable
+1 mem_24g_kb_mul_blank_data_enable
+1 mem_24g_ms_blank_data_enable
+4 mem_24g_kb_addr
+4 mem_24g_ms_addr
+
+1 mem_24g_dg_last_ch
+1 mem_24g_dg_ch_number
+1 mem_24g_dg_config_ch_once
+1 mem_24g_kb_last_ch
+1 mem_24g_kb_ch_number
+1 mem_24g_kb_config_ch_once
+1 mem_24g_ms_last_ch
+1 mem_24g_ms_ch_number
+1 mem_24g_ms_config_ch_once
+
+2 mem_24g_syncword
+1 mem_24g_syncword_crc8
+1 mem_24g_get_syncword_crc8
+2 mem_24g_ota_sta_pid
+
+1 mem_tx_power_temp
+
+1 mem_rssi_hex
+1 mem_rssi_noise_avg
+1 mem_rssi_noise_index
+1 mem_rssi_signal_index
+1 mem_rssi_noise_dg_avg
+1 mem_rssi_noise_kb_avg
+1 mem_rssi_noise_ms_avg
+1 mem_rssi_noise_dg_index
+1 mem_rssi_noise_kb_index
+1 mem_rssi_noise_ms_index
+8 mem_rssi_signal_buf
+
+1 mem_queue_ele_num
+2 mem_queue_read
+2 mem_queue_write
+0 mem_queue_start
+32 mem_data_ele0
+32 mem_data_ele1
+32 mem_data_ele2
+0 mem_queue_end
+2 mem_queue_temp
+
+2 mem_cb_24g_data
+1 mem_24g_hop_fastly_cnt
+1 mem_24g_hop_pac_retry
+1 mem_24g_rf_hop_ch
+1 mem_24g_rf_last_sta
+1 mem_24g_rf_work_stage
+1 mem_24g_sync_cnt
+1 mem_power_ctrl_pac_succ_cnt
+1 mem_rssi_avg_received
+1 mem_rssi_hex_received
+1 mem_power_ctrl_level
+
+1 mem_seqi
+1 mem_24g_auto_paring_switch
+1 mem_24g_paccnt
+1 mem_24g_transmit_by_interrupt
+1 mem_24g_transmit_by_interrupt_exit_count
+1 mem_g24_conn_sm
+)
+
+//******mouse.format******//
+(
+//SPI GPIO 
+0x19 MOUSE_SPI1_CLK_GPIO
+0x1A MOUSE_SPI1_SDIO_GPIO
+0X1E MOUSE_SPI2_CLK_GPIO
+0X1F MOUSE_SPI2_SDIO_GPIO
+//combination
+0x01 MOUSE_L_BUTTON
+0X02 MOUSE_R_BUTTON
+0X04 MOUSE_M_BUTTON
+0X05 MOUSE_LM_BUTTON
+0X06 MOUSE_RM_BUTTON
+0X07 MOUSE_LMR_BUTTON
+//mouse default gpio
+0x1B MOUSE_DEFAULT_XA_GPIO
+0x1C MOUSE_DEFAULT_XB_GPIO
+
+//ui led blink
+0X00C8  LED_RECONNECT_BLINK //200
+0X0190  LED_DPI_BLINK //400
+0X03E8  LED_DPI_BLINK_FIXED    //1000
+0X03E8  LED_DISCOVERY_BLINK    //1000
+0XFF    LED_LONG_BLINK
+0x05	LED_SENSOR_BLINK_CNT
+//bt mode device number
+0x01 MODE_BT_DEVICE1
+0x02 MODE_BT_DEVICE2
+0x03 MODE_BT_DEVICE3
+0x02 MODE_24G_DEVICE
+//mouse  flag
+0X00 WRITE_REQ_ENABLE_FLAG
+0X01 LL_START_ENC_FLAG
+0X02 LL_PAIRING_SUCCESS_FLAG
+
+
+//mouse_function_flag
+0X04 MOUSE_FLAG_LEN
+//1byte
+0X00 MOUSE_SELECT_DEVICE_FLAG
+0X01 MOUSE_CPI_FLAG
+0X02 MOUSE_BT_CANNEL_RECONN_FLAG
+0X03 MOSUE_24G_PAIRING_FLAG
+0X04 MOUSE_LOW_VOLTAGE_FLAG
+0X05 MOUSE_BT_DISCOVERY_BUTTON_DOWN_FLAG
+0X06 MOUSE_LONG_BT_BUTTON_FLAG
+0X07 MOUSE_STORE_EEPROM_FLAG
+0x08 MOUSE_STATUE_UP_FLAG
+0X09 MOUSE_BT_DISCOVERY_BUTTON_LONG_DOWN_FLAG
+
+
+//3byte
+0X10 MOUSE_ENABLE_USB
+0X11 MOUSE_ENABLE_24G
+0X12 MOUSE_ENABLE_SPI2
+0X13 MOUSE_ENABLE_FLASH
+0X14 MOUSE_ENABLE_EEPROM
+0X15 MOUSE_ENABLE_STATUE_UP_THREE_LED
+0X16 MOUSE_ENABLE_STATUE_UP
+0X17 MOUSE_ENABLE_DPI_LED_BLINK
+//4byte
+0X18 MOUSE_ENABLE_BLE_RANDOM_ADDRE
+0X19 MOUSE_ENABLE_2K_EEPROM
+0X1A MOUSE_ENABLE_ADC
+0X1B MOUSE_ENABLE_INIT_DELAY
+0X1C MOUSE_ENABLE_DISCOVERY_SENSOR_LED
+0X1D MOUSE_ENABLE_AUTO_24G_PARING
+0X1E MOUSE_ENABLE_WAKEUP_FROM_POWER
+0X1F MOUSE_ENABLE_GPIO_CONTROL_ADC_SENSOR
+
+
+
+//mouse dpi level
+0x00 MOUSE_DPI_LEVEL1
+0x01 MOUSE_DPI_LEVEL2
+0x02 MOUSE_DPI_LEVEL3
+0x03 MOUSE_DPI_LEVEL4
+
+
+//mouse sensor angle
+0x00 MOUSE_6CLK_ANGLE
+0X01 MOUSE_9CLK_ANGLE
+0X02 MOUSE_12CLK_ANGLE
+0X03 MOUSE_3CLK_ANGLE
+
+
+//mem_config_function_enable
+0 ENABLE_BT_DISCOVERY_BY_GPIO_LED
+1 ENABLE_MODE_LED
+2 ENABLE_LOW_VOLTAGE_LED
+3 ENABLE_DEVICE_LED
+4 ENABLE_BT_BUTTON
+5 ENABLE_SELECT_DEVICE_BY_GPIO_BUTTON
+6 ENABLE_SELECT_DEVICE_BY_SWITCH
+7 ENABLE_SENSOR_MOTION_PIN
+
+
+0xFF GPIO_DISABLE
+
+
+//DPI button state 
+0x00 DPI_BUTTON_STATE_DOWN
+0x01 DPI_BUTTON_STATE_UP
+
+
+//eeprom address offect
+0X00 MOUSE_INFO_EEPROM_OFFECT
+0X5A MOUSE_DPI_EEPROM_OFFECT	//1byte
+0X5B MOUSE_G24_ADDR_EEPROM_OFFECT	//4bytes
+0X5F MOUSE_RANDOM_ADDR_COUNT_EEPROM_OFFSET	//2bytes
+0X61 MOUSE_DEVICE_MODE_EEPROM_OFFSET	//1byte	
+0X62 MOUSE_EEPROM_MODULE_INIT_FLAG		//eeprom_module_init_flag 2bytes
+0X64 MOUSE_FAST_CONN_FLAG_OFFSET	//1byte
+
+
+// Sensor id number
+0x30 P32XX_ID1
+0x31 P3065_ID1
+0x3E P3610_ID1
+0x02 P3212_ID2
+0xD1 P3205_TJ3T_ID2
+0XD2 P3204_TJ3L_ID2
+0x54 PKA8_ID2
+0x70 P3065_XY_ID2
+0x5a FD3180_ID2
+
+
+//Sensor type
+0X00 P3205
+0X01 P3065
+0X02 KA8
+0X03 P3204
+0X04 P3212
+0X05 P3610
+0X06 P3065_XY
+0X07 FD3180
+
+
+//p3610 smart enable flag
+0X00 P3610_SMART_ENABLE
+0X01 P3610_SMART_DISABLE
+
+
+//SENSOR REG
+0x00 PAN_REG_PID_L
+0x01 PAN_REG_PID_H
+0x02 PAN_REG_MOTION_STAUS
+0x03 PAN_REG_DELTA_X
+0x04 PAN_REG_DELTA_Y
+0x05 PAN_REG_OPRATION_MODE
+0x06 PAN_REG_CONFIG
+0x07 PAN_REG_IMAGE_QUALITY
+0x08 PAN_REG_OPRATION_STATE
+0x09 PAN_REG_WRITE_PROTECT
+0x0A PAN_REG_SLEEP_1
+0x0B PAN_REG_ENTER_TIME
+0x0C PAN_REG_SLEEP_2
+0x0D PAN_REG_IMAGE_THRESHOLD
+0x0E PAN_REG_IMAGE_RECGNITION
+
+
+0x06 MOUSE_DPI_ADDRESS
+0x05 MOUSE_P3610_DPI_ADDRESS
+0x0D MOUSE_P3212_DPI_XADDRESS
+0x0E MOUSE_P3212_DPI_YADDRESS
+
+
+0x06 MOUSE_FPGA_RF_WORK_DEBUG_GPIO
+0x02 MOUSE_FPGA_DEBUG_GPIO
+
+)
+
+(
+0x01 ADV_FLAG_LIMITED_DISCOVERABLE
+0x04 ADV_FLAG_BREDR_NOT_SUPPORTED
+)
+
+(
+4 TEST_GPIO
+)
+
+(
+1 LE_LPM_DISABLE
+0 LE_LPM_ENABLE
+
+12 LE_INTERVAL_15MS
+9 LE_INTERVAL_11_25MS//11.25ms
+7 LE_INTERVAL_8_75MS//8.75ms
+)
+
+(
+0xb9 FLASH_COMMAND_DEEP_POWER_DOWN
+0xab FLASH_COMMAND_RELEASE_DEEP_POWER_DOWN
+)
+
+(
+0 MULTI_LED_ON
+1 MULTI_LED_BLINK
+)
+
+(
+0 DIS_BUTTON_UP
+1 DIS_BT_BUTTON
+2 DIS_COMM_BUTTON
+)
+
+(
+0x017700 G24_LONG_SLEEP_STEP1	//8ms
+0x36ee80 G24_LONG_SLEEP_STEP2	//200ms
+0x604800 G24_LONG_SLEEP_STEP3	//500ms
+)
+
+(
+8 LOW_VOLTAGE_LED_COUNT
+)
+
+(
+0x0708 BLE_DIRECT_ADV_TIMEOUT
+0x0a BLE_POWERON_RECONN_TIMER
+)
+
+//******g24.format******//
+(
+3 QUEUE_ELE_COUNT
+32 QUEUE_ELE_LENGTH
+)
+
+(
+3 retry_24g
+1 NO_ACK_24G
+0 WITH_ACK_24G
+
+0 ENSURE_OFF_24G
+1 ENSURE_ON_24G
+
+0x10 ABORT_DATA
+0x40 RSSI_SENSITIVITY
+
+0x4e G24_PAIR_CH
+)
+
+(
+0 disable_24g
+1 tx_24g
+2 rx_24g
+
+0 bit_ack_24g
+)
+
+//mem_24g_interrupt
+(
+0 rx_dr
+1 rx_sync
+4 tx_ds
+5 tx_fail
+)
+
+//mem_24g_data_type
+(
+0x07 bits_data
+//0-2 data type
+3 bit_abort
+4 bit_hop
+5 bit_sync
+//6-7 channel offset
+)
+
+(
+0 STATE_24G_STOP
+0 STATE_24G_START
+1 STATE_24G_PAIR
+2 STATE_24G_RECONN
+)
+
+//mem_24g_pairing_sm
+(
+0 STATE_24G_PAIRING_NULL
+1 STATE_24G_PAIRING_1
+2 STATE_24G_PAIRING_2
+3 STATE_24G_PAIRING_3
+0X11 STATE_24G_PAIRING_1_WAITING_ACK
+0X12 STATE_24G_PAIRING_2_WAITING_ACK
+0X13 STATE_24G_PAIRING_3_WAITING_ACK
+0XFF STATE_24G_PAIRING_SUCCESS
+)
+
+(
+0 DONGLE_WORK	   		//connect mode normal
+1 DONGLE_BIND			//code pair mode
+2 DONGLE_TEST			//test mode
+3 DONGLE_CODE			//PC_application
+4 DONGLE_PCBA			//PCBA_TEST
+5 DONGLE_DEBUG
+6 DONGLE_MODE_MAX
+7 DONGLE_SEARCH
+0 CLEAR_INIT
+)
+
+(
+0x01 DATATYPE_MOUSE	//mouse
+0x02 DATATYPE_KEYBOARD	//keyboard
+0xAA DATATYPE_BIND		//bind step 1
+0x55 DATATYPE_CONFIG	//bind step 2
+0x22 DATATYPE_OK	//bind step 3
+
+0x01 BIND_MOUSE
+0x02 BIND_KEYBOARD
+)
+
+(
+112 G24_DONGLE_ADDR
+)
+
+(
+0xa0 COMMAND_MODE     //BYTE 0
+0X81 COM_MODE_BIND	//BYTE 1
+0X82 COM_MODE_TEST	//BYTE 1
+)
+(
+0xa1 COMMAND_BIND		//BYTE 0
+0X01 COM_BIND_GET		//1
+0X84 COM_BIND_EXIT		//1
+0XA7 COM_READ_MODE	//1
+)
+(
+0xa2 COMMAND_TEST	//BYTE 0
+0X81 COM_TEST_SC		//	进入单载波
+0x82 COM_TEST_CD		// fcc测试
+0x83 COM_TEST_DAT		// 数据测试
+0X84 COM_TEST_LOW_CH  //低频点
+0X85 COM_TEST_MID_CH	//中频点
+0X86 COM_TEST_HIG_CH	//高频点
+0X87 COM_TEST_SW_HIG	//自动切换频点为高 1mhz
+0X88 COIM_TEST_SW_LOW	//自动切换频点为低 1mhz
+0X89 COM_TEST_SW_STOP	//停止自动切换频点
+0X8A COM_TEST_POW_5		//设置输出功率5dbm
+0X8B COM_TEST_POW_0		//0dbm
+0X8C COM_TEST_POW_N5		//-5dbm
+0X8D COM_TEST_POW_N10		//-10dbm
+0X8E COM_TEST_EXIT			//退出测试模式
+)
+(
+0xa6 COMMAND_CURRENT_PROJECT
+0xa7 COMMAND_CURRENT_MODE
+0xa9 COMMAND_CURRENT_FW_VERSION
+)
+
+//user defined cmd
+(
+0xb0 COMMAND_USER_DEFINED
+)
+
+(
+0x15 PRODUCT_ID
+0 FW_VERSION0
+0 FW_VERSION1
+1 FW_VERSION2
+7 FW_VERSION3
+)
+
+(
+8 TIMER_NODATA
+640 TIMER_NODATA_DELAY	//200ms
+
+11 TIMER_MS_BLANK
+320 TIMER_MS_BLANK_DELAY
+
+12 TIMER_KB_MUL_BLANK
+320 TIMER_KB_MUL_BLANK_DELAY
+
+14 TIMER_KB_BLANK
+320 TIMER_KB_BLANK_DELAY
+)
+
+(
+0 KB_NORMAL_REPORT_ID
+1 MS_REPORT_ID
+3 KB_MULTIKEY_REPORT_ID
+)
+
+(
+7 RSSI_BUF_LEN_SIGNAL
+255 RSSI_BUF_LEN_NOISE
+0x50 RSSI_THRESH_NOISE
+
+0x77 RSSI_DIS_MIN_24G
+0x82 RSSI_DIS_MAX_24G
+
+0x75 RSSI_DIS_MIN_BLE
+0x80 RSSI_DIS_MAX_BLE
+)
+
+(
+//power control
+0x01 TXPWR_0DB
+0x02 TXPWR_3DB
+0x04 TXPWR_5DB
+0x10 TXPWR_f5DB
+
+124 POWER_CTRL_MAX_PACKET_CNT
+
+2 POWER_CTRL_LOSSPAC_THRESH_UP0
+0 POWER_CTRL_LOSSPAC_THRESH_DOWN0
+0x20 POWER_CTRL_RSSI_THRESH_DOWN0
+
+5 POWER_CTRL_LOSSPAC_THRESH_UP1
+0 POWER_CTRL_LOSSPAC_THRESH_DOWN1
+0x60 POWER_CTRL_RSSI_THRESH_DOWN1
+
+10 POWER_CTRL_LOSSPAC_THRESH_UP2
+0 POWER_CTRL_LOSSPAC_THRESH_DOWN2
+0x80 POWER_CTRL_RSSI_THRESH_DOWN2
+)
+
+//mem_send_data_24g_short_lpm
+(
+0 SHORT_LPM_STATE_POLLING 	
+1 SHORT_LPM_STATE_DATA
+2 SHORT_LPM_STATE_NODATA
+3 SHORT_LPM_STATE_BUTTON_WHEEL
+)
+
+(
+81000 G24_8125_INTERVAL_PARAM
+78000 G24_78125_INTERVAL_PARAM
+)
+
+(
+1 G24_TX_TIMER_INT_ENABLE
+0 G24_TX_TIMER_INT_DISABLE
+)
+
+(
+0 G24_DISCONN_STATE
+1 G24_CONN_STATE
+
+
+4 G24_CH_NUMBER
+8 G24_CH_POLL_COUNT
+0x32 G24_DISCONN_NODATA_TIMER
+)
+
+
+/**
+*  @file:bt_utility_format.upper
+*  @author: lei.zhu
+*  utility header file. inlcude timer
+*  Copyright:  (C)Hanlynn Technology    
+*/
+
+memalloc(
+
+/*
+    temp parameter
+*/
+2 mem_hold_contr
+2 mem_hold_contw
+1 mem_fifo_temp
+
+8 mem_pdatatemp
+8 mem_temp //8 bytes
+4 mem_timeup // 4 bytes
+4 mem_rega //4 bytes
+4 mem_regb //4 bytes
+3 mem_regc //3 bytes
+2 mem_contr //2 bytes
+2 mem_contw //2 bytes
+
+1 mem_wakup_from_power_flag
+4 mem_saved_gpio_in
+
+0 mem_shutter_random_mac_data_temp
+0 mem_shutter_config_data_temp
+0 mem_le_adv_channel_map_temp
+
+0 mem_le_data_len_temp	//1byte
+0 mem_tx_fifo_map_temp
+0 mem_rpn_dlci		//1byte
+0 mem_event_cmd_response_content	//2byte
+0 mem_le_prand		//16byte
+0 mem_AES_CMAC_k	 //16 bytes
+0 mem_regext_index 	//1 bytes
+1 mem_temp_block0
+0 mem_le_data_temp	//15bytes
+15 mem_temp_block1
+0 mem_le_aes_128	//16byte
+0 mem_regext   //64 bytes
+0 mem_AES_CMAC_k1  //16 bytes
+16 mem_temp_block2
+0 mem_AES_CMAC_k2  //16 bytes
+16 mem_temp_block3
+0 mem_AES_CMAC_temp  // 16 bytes
+16 mem_temp_block4
+0 mem_AES_CMAC_M_last // 16 bytes
+1 mem_module_uart_cmd
+1 mem_module_uart_opcode
+1 mem_module_uart_len
+1 mem_module_temp_nl_discard_packet
+12 mem_temp_block5
+0 mem_le_mackey //16 bytes
+0 mem_app_receive_temp
+2 mem_key_value_temp
+2 mem_key_value
+1 mem_key_value_temp1
+1 mem_key_value_temp2
+1 mem_key_value_temp3
+1 mem_key_value_temp4
+1 mem_key_value_temp5
+1 mem_key_value_temp6
+6 mem_temp_block6
+
+1 mem_usb_status
+1 mem_usb_fifo_empty
+1 mem_usb_read_len
+64 mem_usb_rxbuf
+2 mem_bufptr
+1 mem_remain
+20 mem_devicedesc
+2 mem_hidreportdesc_kb
+2 mem_hidreportdesc_m
+100 mem_confdesc
+5 mem_string0
+30 mem_string1
+64 mem_string2
+30 mem_string3
+2 mem_usb_zero_packet
+2 mem_usb_ones_packet
+2 mem_usb_two_packet
+1 mem_usb0_state
+
+1 mem_usb_offline_check_gpio
+1 mem_usb_tx_interval
+
+0 mem_usb_clear_mem_start
+0 mem_usb_setup
+1 mem_usb_setup_bmRequestType
+1 mem_usb_setup_bRequest
+1 mem_usb_setup_bValue
+1 mem_usb_setup_bValueH
+2 mem_usb_setup_wIndex
+1 mem_usb_setup_bLength
+1 mem_usb_setup_bLengthH
+64 mem_usb0_setup
+64 mem_usb0_set_report_data
+64 mem_usb0_get_report_data
+1 mem_usb_state
+1 mem_usb_tx_wait
+1 mem_usb_tx_enable
+1 mem_usb_remote_wakeup
+1 mem_usb_clear_remote_wakeup
+1 mem_usb_ep0_stall_status
+1 mem_usb_ep1_stall_status
+1 mem_usb_ep2_stall_status
+1 mem_usb_ep3_stall_status
+2 mem_dsc_info_data_pointer
+1 mem_dsc_info_len
+1 mem_usb0_data_ready_report
+1 mem_usb_tx_win_enable
+1 mem_usb_tx_mac_enable
+1 mem_usb_device_enumeration_endflag
+1 mem_usb_wakestate_onetime_flag
+1 mem_usb_mac_wakeup_trig
+1 mem_usb_set_high_addr_flag
+1 mem_usb_set_protocol_value
+1 mem_usb_set_protocol_status
+1 mem_usb_get_protocol_flag
+1 mem_usb_idle_flag
+1 mem_usb_idle_rate
+2 mem_usb_setup_bValue_temp
+1 mem_usb0_get_set_report
+1 mem_usb_ep1_data
+1 mem_usb_ep2_data
+1 mem_usb_clear_halt
+16 mem_usb_mouse_data
+16 mem_usb_kb_data
+16 mem_usb_kb_multikey
+8 mem_usb_kb_data_sta_data
+8 mem_usb_kb_data_last_data
+3 mem_usb_kb_multikey_sta_data
+3 mem_usb_kb_multikey_last_data
+1 mem_usb_kb_blank_data_enable
+1 mem_usb_kb_mul_blank_data_enable
+1 mem_usb_test_cnt
+0 mem_usb_clear_mem_end
+1 mem_usb_test_kb
+
+256 mem_rssi_noise_buffer
+256 mem_rssi_noise_dg_buffer
+256 mem_rssi_noise_ms_buffer
+256 mem_rssi_noise_kb_buffer
+32 mem_24g_common_temp
+
+2 mem_data_pre
+2 mem_data_current
+3 mem_data_sum
+
+ifdef DEBUGLOG
+1   mem_debuglog_temp
+1   mem_debuglog_type
+1	mem_debuglog_datalen
+2	mem_debuglog_dataval
+2	mem_debuglog_datatype
+1	mem_debuglog_tail
+8	mem_debuglog_pdata
+endif
+
+)
+
+
+(
+/*mem_util_timer_flag0_7*/
+    0   UTIL_TIMER_0_USED
+    1   UTIL_TIMER_1_USED
+    2   UTIL_TIMER_2_USED
+    3   UTIL_TIMER_3_USED
+    4   UTIL_TIMER_4_USED
+    5   UTIL_TIMER_5_USED
+    6   UTIL_TIMER_6_USED
+    7   UTIL_TIMER_7_USED
+/*mem_util_timer_flag8_15*/
+    0   UTIL_TIMER_8_USED
+    1   UTIL_TIMER_9_USED
+    2   UTIL_TIMER_10_USED
+    3   UTIL_TIMER_11_USED
+    4   UTIL_TIMER_12_USED
+    5   UTIL_TIMER_13_USED
+    6   UTIL_TIMER_14_USED
+    7   UTIL_TIMER_15_USED
+)
+
+//util fifo param
+(
+
+8 UTIL_FIFO_LEN
+-1 UTIL_FIFO_OFFSET
+)
+
+(
+	0xAA DEBUGLOG_HEAD
+	0x00 DEBUGLOG_TYPE
+	0x04 DEBUGLOG_LEN
+	0xBB DEBUGLOG_TAIL
+)
+
+(
+	0x1000 DEBUGLOG_DTYPE_CALLBACK
+	0x1001 DEBUGLOG_DTYPE_EVENT
+	0x1002 DEBUGLOG_DTYPE_CMD
+	0x1003 DEBUGLOG_DTYPE_STATUS
+	0x1004 DEBUGLOG_DTYPE_MISC
+	0x1005 DEBUGLOG_DTYPE_CONN_SM
+	0x1006 DEBUGLOG_DTYPE_UPPER_SM
+	0x1007 DEBUGLOG_DTYPE_PARSE_LMP
+	0x1008 DEBUGLOG_DTYPE_SEND_LMP
+)
+
+//DEBUGLOG_DTYPE_CALLBACK
+(
+	0x0000 CALLBACK_24G_DATA
+	0x0001 CALLBACK_LE_PROCESS
+	0x0002 CALLBACK_BT_PROCESS
+	0x0003 CALLBACK_BEFORE_LPM
+	0x0004 CALLBACK_BB_EVENT_PROCESS
+	0x0005 CALLBACK_IDLE_PROCESS
+	0x0006 CALLBACK_BEFORE_HIBERNATE
+	0x0007 CALLBACK_ATT_WRITE
+	0x0008 CALLBACK_EVENT_TIMER
+)
+
+//DEBUGLOG_DTYPE_EVENT
+//(
+
+//)
+
+//DEBUGLOG_DTYPE_CMD
+//(
+
+//)
+
+//DEBUGLOG_DTYPE_STATUS
+(
+	0x0000 STATUS_CODE_WAKE
+	0x0001 STATUS_LPM_WAKE
+	0x0004 STATUS_24G_START 
+)
+//DEBUG_DTYPE_MISC
+(
+	0x0000 MISC_LE_RETRANSMIT
+	0x0001 MISC_LOST_MOUSEDATA
+	0x0002 MISC_TXPOWER_0
+	0x0003 MISC_TXPOWER_1
+	0x0004 MISC_TXPOWER_2
+	0x0006 MISC_PULL_MOUSEDATA
+	0x0007 MISC_PUSH_MOUSEDATA
+	0x0008 MISC_LE_RETRANSMIT_MD
+
+
+)
+
+
+/************************************************************************/
+/* RCS HEADER -- DO NOT ERASE                                           */
+/* $Author: Administrator $                                                     */
+/* $Id: bt_var.osi,v 1.1 2009-09-28 04:06:18 Administrator Exp $   */
+/* Orisil Technology                                                 */
+/************************************************************************/
+
+
+/* packet types */
+(
+  0x02 FHS_PACKET 
+  0x03 DM1_PACKET 
+  0x03 DM1_LMP_PACKET 
+  0x04 DH1_PACKET 
+  0x05 HV1_PACKET 
+  0x06 HV2_PACKET 
+  0x07 HV3_PACKET 
+  0x08 DV_PACKET 
+  0x09 AUX1_PACKET 
+  0x0a DM3_PACKET 
+  0x0b DH3_PACKET 
+  0x0e DM5_PACKET 
+  0x0f DH5_PACKET 
+)
+
+
+/* mem_lmp_respond */
+(
+  0 RESPOND_TO_ALL
+  1 PASS_EVERYTHING
+  2 PASS_ONLY_UNKNOWNS
+  3 RESPOND_TO_LMPS
+)
+/* SCO algorithm defines */
+(
+  0 ULAW
+  1 ALAW
+  2 CVSD
+)
+/* encryption modes */
+(
+  0 NO_ENCRYPTION
+  1 PT_PT_ENCRYPTION
+  2 PT_BROADCAST_ENCRYPTION
+)
+
+/* bits used in mem_lmp_state1 variable */
+(
+  0 LMP_STATE_DETACH
+  1 LMP_STATE_HOLD
+  2 LMP_STATE_SNIFF
+  3 LMP_STATE_PARK
+  4 LMP_STATE_WAIT_SCO_CREATE
+  5 LMP_STATE_WAIT_SCO_KILL
+  6 LMP_STATE_SCO3
+  7 LMP_STATE_WAIT_SCO_START
+)
+/* mem_lmp_state2 */
+(
+  0 LMP_WAIT_FOR_SNIFF_ACCEPT
+  1 LMP_WAIT_FOR_PARK_ACCEPT
+  2 LMP_SEND_UNPARK_ACCEPTED
+  3 LMP_SEND_ENCRYPTION_START
+  4 LMP_SEND_ENCRYPTION_STOP
+  5 MESSAGE_QUEUE
+  7 LMP_STATE_WAIT_BEACON
+)
+/* mem_lmp_state3 */
+(
+ 0 INQUIRY_STATE_CHECK
+ 1 HOST_DELAY_MESSAGE
+ 2 VARIABLE_DELAY
+ 3 TEST_MODE_START_LOOPBACK
+ 4 TEST_MODE_START_PATTERN
+ 5 PARSE_TEST_CONTROL_MESSAGE
+ 6 H_AUTH_SEND_COMB_KEY
+)
+/* mem_rx_status */
+(
+  0 FROM_MASTER
+)
+/* mem_ms_flag */
+(
+  0 MS_RECEIVE_SWITCH_REQ
+  1 MS_SEND_SETUP_COMPLATE
+)
+/* mem_conn_sm */
+(
+  0 CONN_SM_STANDBY
+  1 CONN_SM_WAIT_PAGE
+  2 CONN_SM_SEND_FEATURES
+  3 CONN_SM_WAIT_FEATURES_RES
+  4 CONN_SM_SEND_CONN_REQ
+  5 CONN_SM_WAIT_CONN_ACCEPT
+  6 CONN_SM_AUTH_PAIR
+  7 CONN_SM_AUTH_PAIR_WAIT
+  8 CONN_SM_WAIT_MUTAL_AUTH
+  9 CONN_SM_ENCRYPT
+  0xa CONN_SM_ENCRYPT_WAIT
+  0xb CONN_SM_ENCRYPT_WAIT_CLEAR
+  0xc CONN_SM_SEND_SETUP_COMPLETE
+  0xd CONN_SM_WAIT_SETUP_COMPLETE 
+  0xe CONN_SM_SEND_SWITCH
+  0xf CONN_SM_DETACH_DELAY
+  0x10 CONN_SM_WAIT_SWITCH_AFTER_HOST_CONNECTION
+  0x11 CONN_SM_DELAY_RESTART_CONNECTION
+  0x12 CONN_SM_SEND_VERSION
+  0X13 CONN_SM_WAIT_VERSION
+  0x14 CONN_SM_SEND_FEATURES_EXT
+  0x15 CONN_SM_WAIT_FEATURES_EXT
+  0x16 CONN_SM_PAIRING
+  0x17 CONN_SM_AUTH
+  0x18 CONN_SM_PAIRING_WAIT
+  0x19 CONN_SM_AUTH_WAIT
+  0x1a CONN_SM_DONE
+  0x1b CONN_SM_WAIT_DONE
+)
+
+/* btStateConn1 */
+(
+  0 CONN_STANDBY
+  1 CONN_MASTER_SEND_CONN_REQ
+  2 CONN_MASTER_WAIT_FOR_CONN_ACCEPTED
+  3 CONN_MASTER_AUTH
+  4 CONN_MASTER_WAIT_FOR_FEATURES
+  5 CONN_MASTER_WAIT_FOR_SETUP_COMPLETE
+  6 CONN_MASTER_WAIT_FOR_MAX_SLOT
+  7 CONN_SLAVE_CONN_REQUESTED
+  8 CONN_SLAVE_WAIT_FOR_SETUP_COMPLETE
+  9 CONN_SLAVE_AUTH
+  10 CONN_USING_HOST_OPCODE
+  11 CONN_SLAVE_AUTH_WAIT
+  12 CONN_SLAVE_ENCRYPT_WAIT
+)
+
+/* mem_lmp_conn_state */
+(
+  0 RECEIVED_CONN_REQ
+  1 SENT_CONN_REQ
+  2 RECEIVED_SETUP_COMPLETE
+  3 SENT_SETUP_COMPLETE
+  4 HOST_CONNECTION_MADE
+  6 INIT_COMPLETE
+  7 SNIFF_NEGOTIATE
+)
+/* btStateAuth1 */
+(
+  0 WAIT_FOR_KINIT
+  1 WAIT_FOR_LKA
+  2 WAIT_FOR_LKB
+  3 WAIT_FOR_SRES
+  4 EXAMINE_RECEIVED_SRES
+  5 SEND_AU_RAND
+  6 WAIT_FOR_KC
+  7 DELAYED_ENCRYPT_RESPONSE
+)
+/* btStateAuth2 */
+(
+  0 SENT_SRES
+  1 RECEIVED_IN_RAND
+  2 SENT_AU_RAND
+  3 AUTHENTICATION_FAILED
+  4 AUTHENTICATION_PASSED
+  5 STARTED_AUTH
+  6 SENT_COMB_KEY
+  7 SENT_IN_RAND
+)
+/* btStateAuth3 */
+(
+  0 RECEIVED_AU_RAND
+  1 RECEIVED_SRES
+  2 MUTUALLY_AUTHENTICATE
+)
+/* btStateHost */
+(
+  0 H_AUTH_STARTED
+  2 H_ENCRYPTION_MODE_REQ_PT
+  3 H_ENCRYPTION_KEY_SIZE
+  4 H_ENCRYPTION_START
+  5 H_ENCRYPTION_STOP
+  6 H_AUTH_SECOND_TRY
+)
+/* btStateEncrypt2 */
+(
+  0 RECEIVED_ENCRYPT_MODE_REQ_PT
+  1 RECEIVED_ENCRYPT_KEY_SIZE
+  2 RECEIVED_ENCRYPT_START
+  3 RECEIVED_ENCRYPT_STOP
+  4 STARTED_ENCRYPT_START
+)
+/* mem_ms_state */
+(
+  0x00 MS_STANDBY
+  0x11 M_MINIT_1
+  0x12 M_MINIT_2
+  0x20 M_SINIT_0
+  0x30 S_MINIT_0
+  0x31 S_MINIT_1
+  0x32 S_MINIT_2
+  0x41 S_SINIT_1
+  0x42 S_SINIT_2
+  0x43 S_SINIT_3
+)
+/* mem_test_mode */
+(
+  0 TEST_MODE_ALLOWED
+  1 TEST_MODE_ACTIVE
+)
+/* values for mem_tester_emulate */
+(
+  0x00 NO_TEST_MODE
+  0x00 CONTINUOUS_TRANSMIT
+  0x10 TRANSMIT_TEST
+  0x08 LOOPBACK
+)
+
+/* mem_tx_misc */
+(
+  1 SEND_TX_ADDR
+)
+/* BBHWREG_page_stat */
+(
+  5 PAGE_MODE_END
+)
+/* host_return_parameters_status codes */
+(
+  0x00 HOST_RETURN_SUCCESS
+  0x01 HOST_RETURN_SLAVE_CANT_ISSUE
+  0x02 HOST_RETURN_NO_CONNECTION
+  0x04 HOST_RETURN_PAGE_TIMEOUT
+  0x05 HOST_RETURN_INQUIRY_TIMEOUT
+  0x08 HOST_RETURN_CONNECTION_TIMEOUT
+  0x09 HOST_RETURN_MAX_NUM_CONNECTIONS
+  0x0a HOST_RETURN_MAX_NUM_SCO
+  0x0b HOST_RETURN_MAX_NUM_ACL
+  0x0c HOST_RETURN_SECURITY_REASONS
+  0x10 HOST_RETURN_HOST_TIMEOUT
+  0x11 HOST_RETURN_UNSUPPORTED_FEATURE_PARAMETER
+  0x13 HOST_RETURN_OTHER_END_USER
+  0x14 HOST_RETURN_OTHER_END_LOW_RESOURCE
+  0x15 HOST_RETURN_OTHER_END_POWER_OFF
+  0x16 HOST_RETURN_LOCAL_HOST
+  0x18 HOST_RETURN_PAIRING_NOT_ALLOWED
+  0x19 HOST_RETURN_UNKNOWN_PDU
+  0x1a HOST_RETURN_UNSUPPORTED_REMOTE_FEATURE
+  0x1d HOST_RETURN_SCO_AIR_MODE_REJECTED
+  0x20 HOST_RETURN_UNSUPPORTED_LMP_VALUE
+  0x21 HOST_RETURN_AUTHENTICATION_FAILURE
+  0x22 HOST_RETURN_CHANGED_EXISTING_SCO
+  0x23 HOST_RETURN_HOST_REJECTED
+  0x24 HOST_RETURN_UNSPECIFIED_ERROR
+  0x25 HOST_RESET
+  0x26 HOST_RETURN_BAD_HANDLE
+
+  0x00 HOST_RETURN_ACCEPT_COMMAND
+  0x01 HOST_RETURN_REJECT_COMMAND
+)
+/* host_present */
+(
+  0 HOST_IS_PRESENT
+  1 BCI_IS_PRESENT
+  2 DONT_INIT_RADIO
+)
+/* mem_master_state */
+(
+  0 MASTER_STATE_STANDBY
+  1 MASTER_INQUIRY
+)
+/* misc */
+(
+  92 SECOND_SWITCH_REQ
+  93 SLAVE_DELAY_DETACH
+  94 MASTER_DELAY_DETACH
+  95 UNSNIFF_DELAY_DETACH
+  0 WE_STARTED_AS_MASTER
+  1 WE_STARTED_AS_SLAVE
+)
+/* mem_host_commands */
+(
+  0x01 HOST_INQUIRY
+  0x02 HOST_INQUIRY_CANCEL
+  0x03 HOST_CREATE_CONNECTION
+  0x04 HOST_DISCONNECT_CONNECTION
+  0x05 HOST_ADD_SCO_REQUEST
+  0x06 HOST_REMOTE_NAME_REQUEST
+  0x07 HOST_WRITE_SUPPORTED_FEATURES
+  0x08 HOST_SET_TX_LEVEL
+  0x09 HOST_SET_RX_LEVEL
+  0x0a HOST_SNIFF_REQUEST
+  0x0b HOST_UNSNIFF_REQUEST
+  0x0c HOST_WRITE_LINK_SUPERVISION_TIMEOUT
+  0x0e HOST_WRITE_SCAN_ENABLE
+  0x0f HOST_READ_AUDIO_QUALITY
+  0x10 HOST_ENABLE_DEVICE_UNDER_TEST
+  0x14 HOST_BUTTON_CONFIGURE
+  0x15 HOST_SET_LOW_BATTERY_LEVEL
+  0x16 HOST_WRITE_LOCAL_NAME
+  0x17 HOST_WRITE_LOCAL_PIN
+  0x18 HOST_KILL_SCO_REQUEST
+  0x19 HOST_QOS_REQ
+
+  0x1a HOST_FEATURES_REQUEST
+  0x1b HOST_VERSION_REQUEST
+  0x1c HOST_TIMING_REQUEST
+  0x1d HOST_CLK_OFFSET_REQUEST
+  0x1e HOST_AUTHENTICATE
+  0x1f HOST_START_ENCRYPTION
+  0x20 HOST_STOP_ENCRYPTION
+  0x21 HOST_HOLD_REQUEST
+  0x22 HOST_HOLD_FORCE
+  0x23 HOST_PARK_REQUEST
+  0x24 HOST_MOD_BEACON
+  0x25 HOST_SET_BROADCAST_SCAN_WINDOW
+  0x26 HOST_UNPARK_PM_REQUEST
+  0x27 HOST_UNPARK_BD_REQUEST
+  0x28 HOST_SLAVE_REQUEST_UNPARK
+  0x29 HOST_DECREASE_POWER_REQUEST
+  0x2a HOST_INCREASE_POWER_REQUEST
+  0x2b HOST_SEND_PREFERRED_RATE
+  0x2c HOST_MAX_SLOT_REQ
+  0x2d HOST_MAX_SLOT_FORCE
+  0x2e HOST_PAGE_MODE_REQUEST
+  0x2f HOST_PAGE_SCAN_MODE_REQUEST
+  0x30 HOST_MASTER_SLAVE_SWITCH
+  0x31 HOST_SEND_AUTO_RATE
+  0x32 HOST_PAGE_CANCEL
+  0x33 HOST_CHANGE_LINK_KEY
+  0x34 HOST_RADIO_READ
+  0x35 HOST_RADIO_WRITE
+  0x36 HOST_REMOTE_SLAVE_INIT_UNPARK_REQUESTED
+
+  0x40 HOST_REMOTE_CONNECTION_REQUESTED
+  0x41 HOST_REMOTE_DETACH
+  0x42 HOST_REMOTE_SCO_CREATE_REQUESTED
+  0x43 HOST_REMOTE_SCO_KILL_REQUESTED
+  0x44 HOST_REMOTE_PARK_REQUESTED
+  0x45 HOST_REMOTE_UNPARK_REQUESTED
+  0x46 HOST_REMOTE_SNIFF_REQUESTED
+  0x47 HOST_REMOTE_UNSNIFF_REQUESTED
+  0x48 HOST_REMOTE_HOLD_REQUESTED
+  0x49 HOST_REMOTE_AUTHENTICATION
+  0x4a HOST_REMOTE_START_ENCRYPTION_REQUESTED
+  0x4b HOST_REMOTE_STOP_ENCRYPTION_REQUESTED
+  0x4c HOST_MODE_CHANGE_EVENT
+  0x4d HOST_REMOTE_TEST_ACTIVATE
+  0x4e HOST_REMOTE_TEST_CONTROL
+  0x4f HOST_REMOTE_TIMING_REQUEST
+)
+/* BCI interface (not used if not compiled in ) */
+(
+  0x01 BCI_INQUIRY
+  0x02 BCI_INQUIRY_CANCEL
+  0x03 BCI_CREATE_CONNECTION
+  0x04 BCI_DISCONNECT
+  0x05 BCI_ADD_SCO_CONNECTION
+  0x06 BCI_REMOTE_NAME_REQUEST
+  0x07 BCI_WRITE_SUPPORTED_FEATURES
+  0x08 BCI_SET_TX_POWER_LEVEL
+  0x09 BCI_SET_RX_POWER_LEVEL
+  0x0a BCI_SNIFF_MODE
+  0x0b BCI_EXIT_SNIFF_MODE
+  0x0c BCI_WRITE_LINK_SUPERVISION_TIMEOUT
+  0x0d BCI_WRITE_PAGE_TIMEOUT
+  0x0e BCI_WRITE_SCAN_ENABLE
+  0x0f BCI_GET_AUDIO_QUALITY
+  0x10 BCI_ENABLE_DEVICE_UNDER_TEST
+  0x11 BCI_SEND_DATA
+  0x12 BCI_REGISTER_SERVICE_RECORD
+  0x13 BCI_SERVICE_SEARCH_ATTRIB_REQ
+  0x14 BCI_BUTTON_CONFIGURE
+  0x15 BCI_SET_LOW_BATTERY_LEVEL
+  0x16 BCI_WRITE_LOCAL_NAME
+  0x17 BCI_WRITE_LOCAL_PIN
+  0x18 BCI_REMOVE_SCO_CONNECTION
+  0x19 BCI_QUALITY_OF_SERVICE
+  0x40 BCI_REMOTE_CONNECTION_REQUEST
+  0x41 BCI_REMOTE_DETACH
+  0x42 BCI_REMOTE_ADD_SCO_REQUEST
+  0x43 BCI_REMOTE_REMOVE_SCO_REQUEST
+  0x44 BCI_REMOTE_PARK_REQUEST
+  0x45 BCI_REMOTE_UNPARK_REQUEST
+  0x46 BCI_REMOTE_SNIFF_REQUEST
+  0x47 BCI_REMOTE_UNSNIFF_REQUEST
+  0x48 BCI_REMOTE_HOLD_REQUEST
+  0x49 BCI_REMOTE_AUTHENTICATION_PAIRING_REQUEST
+  0x4a BCI_REMOTE_START_ENCRYPTION_REQUEST
+  0x4b BCI_REMOTE_STOP_ENCRYPTION_REQUEST
+  0x4c BCI_MODE_CHANGE_EVENT
+)
+/* mode changes */
+(
+  0 MODE_CHANGE_ACTIVE
+  1 MODE_CHANGE_SNIFFING
+  2 MODE_CHANGE_PARKED
+  3 MODE_CHANGE_HOLDING
+  4 MODE_CHANGE_SCO_ADDED
+  5 MODE_CHANGE_SCO_REMOVED
+  6 MODE_CHANGE_ACL_CONNECTION
+  7 MODE_CHANGE_DISCONNECT
+  8 MODE_CHANGE_SCO_CHANGED
+  9 MODE_CHANGE_ENCRYPTING
+  10 MODE_CHANGE_NOT_ENCRYPTING
+  11 MODE_CHANGE_BUTTON_UP
+  12 MODE_CHANGE_BUTTON_DOWN
+  13 MODE_CHANGE_BATTERY_LOW
+  14 MODE_CHANGE_RESET
+  15 MODE_CHANGE_INQUIRY_CANCELED_RMTCMD
+  16 MODE_ACTIVE_MSSWITCH_PASSED
+  17 MODE_ACTIVE_MSSWITCH_FAILED
+)
+/* mem_battery - low nibble is level information, upper nibble is status info */
+(
+  6 BATTERY_CHECK_LEVEL
+  7 BATTERY_SENT_STATUS
+)
+/* mem_radio_version */
+(
+  0x02 RADIO_2001
+  0x12 RADIO_2002
+  0x32 RADIO_2002_DDM
+  0x42 RADIO_1008A1
+  0x52 RADIO_1018A0
+)
+/* mem_slave_initiated_conn */
+(
+  0 SLAVE_INIT_AUTHENTICATION
+  1 SLAVE_INIT_ENCRYPTION
+  2 SLAVE_INIT_MASTER_SLAVE_SWITCH
+)
+/* connection_options */
+(
+  0 CONNECTION_AUTH
+  1 CONNECTION_ENCRYPT
+  2 CONNECTION_SWITCH
+  3 CONNECTION_ACL
+  4 CONNECTION_FEATURE_EXT
+)
+/* mem_debug_config */
+(
+  7 AA_INSERTION
+)
Index: rom/ui.prog
===================================================================
--- /branch/mouse_project/ZhongXinSheng/ZXS_1062/MJ391_24G&BLE_PB/rom/ui.prog	(revision 0)
+++ /branch/mouse_project/ZhongXinSheng/ZXS_1062/MJ391_24G&BLE_PB/rom/ui.prog	(working copy)
@@ -0,0 +1,701 @@
+ui_init:
+	call lpm_disable_exen_output
+	rtn wake
+	call ui_button_init
+	call ui_timer_init
+	branch ui_led_init_global
+
+ui_dispatch:
+	call ui_led_dispatch
+	
+	branch ui_timer_check
+	
+ui_button_init:
+	fetch 1,mem_ui_button_gpio
+	rtneq UI_BUTTON_GPIO_DISABLE
+	iforce temp
+	call gpio_config_output
+	fetcht 1,mem_ui_button_gpio
+	call gpio_out_inactive
+	nop 100
+	fetcht 1,mem_ui_button_gpio
+	call gpio_config_input
+	branch ui_button_polling
+
+
+	
+ui_button_polling:
+	bpatchx patch3e_3,mem_patch3e
+	fetch 1,mem_ui_button_gpio
+	rtneq UI_BUTTON_GPIO_DISABLE
+	copy pdata,temp
+	call gpio_get_bit
+	nbranch ui_button_up,true
+	//fall through
+ui_button_down:
+	call ui_button_check_long_press
+	fetch 2,mem_ui_state_map
+	set1 UI_STATE_BTN_DOWN
+	store 2,mem_ui_state_map
+	fetch 1,mem_ui_button_last_state
+	rtneq UI_BUTTON_STATE_DOWN
+	jam UI_BUTTON_STATE_DOWN,mem_ui_button_last_state
+	//Down Edge
+	fetch 1,mem_ui_button_timeout
+	store 1,mem_ui_button_timer //start long press timer
+	call lpm_button_get_wake_lock
+	jam BT_EVT_BUTTON_DOWN,mem_fifo_temp
+	branch ui_ipc_send_event
+ui_button_up:
+	fetch 2,mem_ui_state_map
+	set0 UI_STATE_BTN_DOWN
+	store 2,mem_ui_state_map
+	fetch 1,mem_ui_button_last_state
+	rtneq UI_BUTTON_STATE_UP
+	jam UI_BUTTON_STATE_UP,mem_ui_button_last_state
+	//Up Edge
+	jam 0,mem_ui_button_timer//stop long press timer
+	call lpm_button_clean_wake_lock
+	jam BT_EVT_BUTTON_UP,mem_fifo_temp
+	branch ui_ipc_send_event
+
+ui_button_check_long_press:
+	fetch 1,mem_ui_button_timer
+	rtn blank
+	increase -1,pdata
+	store 1,mem_ui_button_timer
+	nrtn blank
+	//Long Press
+	jam BT_EVT_BUTTON_LONG_PRESSED,mem_fifo_temp
+	branch ui_ipc_send_event
+
+lpm_button_get_wake_lock:
+	arg wake_lock_button,queue
+	branch lpm_get_wake_lock
+	
+lpm_button_clean_wake_lock:
+	arg wake_lock_button,queue
+	branch lpm_put_wake_lock
+
+
+
+/***********************ui led function****************************/
+/******************
+led function
+
+ui_led_init_global
+ui_led_on_global
+
+ui_led_off_global
+//input:rega :struct number
+ui_led_blink_start_global
+
+//input:rega :struct number
+//contr: the point that want to set led style address
+ui_led_set_style_global
+
+******************/
+//input:rega :struct number
+//output:regb :current strutct starting pointer
+calc_curr_struct_prt:
+	fetch 2,mem_ui_led_struct_ptr
+	mul32 rega,LED_OFFSET_LENGTH,regb
+	iadd regb,regb
+	rtn
+
+
+ui_led_init_global:
+	fetch 1,mem_ui_led_struct_num
+	rtn blank
+	copy pdata,loopcnt
+	fetch 2,mem_ui_led_struct_ptr
+	copy pdata,regb
+ui_led_init_loop:
+	add regb,LED_OFFSET_LED_GPIO,regc
+	ifetcht 1,regc
+	call gpio_config_output
+	call ui_led_off_static
+	increase LED_OFFSET_LENGTH,regb
+	loop ui_led_init_loop
+	rtn
+
+	
+//input:rega :struct number
+ui_led_on_global:
+	call calc_curr_struct_prt
+	setarg UI_LED_STATE_LIGHTING
+	istore 1,regb
+	call ui_led_stop_timer
+	branch ui_led_on_static
+
+	
+//input:rega :struct number
+ui_led_blink_stop_global:
+ui_led_off_global:
+	call calc_curr_struct_prt
+	setarg UI_LED_STATE_DARKING
+	istore 1,regb
+	call ui_led_stop_timer
+	branch ui_led_off_static
+
+
+//input:rega :struct number
+ui_led_blink_start_global:
+	call calc_curr_struct_prt
+	setarg UI_LED_STATE_BLINK_START
+	istore 1,regb
+	setarg LED_INFINITE_FLASH_NUM
+	istore 1,contw
+	branch ui_led_off_static
+
+
+//input:rega :struct number
+//REGC: the point that want to set led style address
+ui_led_set_style_global:
+	call calc_curr_struct_prt
+	arg LED_OFFSET_LENGTH,loopcnt
+	copy regc,contr
+	copy regb,contw
+	branch memcpy_fast
+
+
+
+ui_led_dispatch:
+	fetch 1,mem_ui_led_struct_num
+	rtn blank
+	arg 0,rega
+ui_led_blink_polling:
+	call ui_led_change_style_by_type
+	increase 1,rega
+	fetch 1,mem_ui_led_struct_num
+	isub rega,null
+	rtn zero
+	branch ui_led_blink_polling
+
+
+ui_led_off_static:
+	add regb,LED_OFFSET_LED_GPIO,regc
+	ifetcht 1,regc
+	branch gpio_out_inactive
+
+
+ui_led_on_static:
+	add regb,LED_OFFSET_LED_GPIO,regc
+	ifetcht 1,regc
+	branch gpio_out_active
+
+
+//input:rega :struct number
+ui_led_change_style_by_type:
+	add rega,ui_led_blink,queue
+	call timer_check
+	nrtn blank			//timer out
+	
+	call calc_curr_struct_prt
+
+	ifetch 1,regb			//led type
+
+	beq UI_LED_STATE_LIGHTING,ui_led_on_static
+	beq UI_LED_STATE_DARKING,ui_led_off_static
+	beq UI_LED_STATE_BLINK_STOP,ui_led_off_static
+	beq UI_LED_STATE_BLINK_DARKING,ui_led_blink_state_darking
+ui_led_blink_state_lighting:
+	call ui_led_on_static
+	add regb,LED_OFFSET_CB_LEDON,regc
+	call push_stack
+	ifetch 2,regc
+	call callback_func
+	call pop_stack
+	setarg UI_LED_STATE_BLINK_DARKING
+	istore 1,regb
+	add regb,LED_OFFSET_ON_TIME,regc
+	ifetch 2,regc
+	branch ui_led_blink_timer_start
+	
+
+ui_led_blink_state_darking:
+	call ui_led_off_static
+	add regb,LED_OFFSET_CB_LEDOFF,regc
+	call push_stack
+	ifetch 2,regc
+	call callback_func
+	call pop_stack
+	
+	add regb,LED_OFFSET_BLINK_COUNT,regc
+	ifetch 1,regc
+	beq LED_INFINITE_FLASH_NUM,ui_led_blink_infinite
+	increase -1,pdata
+	istore 1,regc
+	branch ui_led_blink_stop_global,blank		//End of flicker
+ui_led_blink_infinite:
+	setarg UI_LED_STATE_BLINK_LIGHTING
+	istore 1,regb
+	add regb,LED_OFFSET_OFF_TIME,regc
+	ifetch 2,regc
+ui_led_blink_timer_start:
+	add rega,ui_led_blink,queue
+	branch timer_init
+
+ui_led_stop_timer:
+	setarg 0
+	branch ui_led_blink_timer_start
+
+/***********************ui led function ending****************************/
+
+
+
+ui_timer_timeout:
+	setarg 0x1000
+	lshift16 pdata,pdata
+	iadd regb,regb
+	rtn
+	
+ui_timer_check:
+	bpatchx patch3e_4,mem_patch3e
+	arg 0,rega
+	fetcht 4,mem_ui_timer_last_btclk
+	copy clkn_bt,regb
+	copy regb,pdata
+	isub temp,null
+	ncall ui_timer_timeout,positive
+	//call ice_break
+ui_timer_check_loop:
+	copy regb,pdata
+	increase 160,temp    //320btclk = 100ms
+	increase 160,temp
+	isub temp,null
+	nbranch ui_timer_check_end,positive
+	increase 1,rega   //increase 1 every 100ms count
+	and rega,0x0f,pdata
+	nbranch ui_timer_check_loop,blank
+	arg 0,rega  //reset timer if it's longer than 1.5s between 2 checks
+	call ui_timer_check_send_evt
+ui_timer_init:
+	copy clkn_bt,pdata
+	store 4,mem_ui_timer_last_btclk
+	rtn
+ui_timer_check_end:
+	bpatchx patch3e_5,mem_patch3e
+	copy rega,pdata
+	rtn blank
+	increase -160,temp    //320btclk = 100ms
+	increase -160,temp
+	set0 28,temp
+	storet 4,mem_ui_timer_last_btclk
+ui_timer_check_send_evt:
+	branch app_evt_timer
+
+	
+
+//**********************************************************//
+//************UI Inter-Processor Communication*******//
+//**********************************************************//
+ui_ipc_get_lock:
+	jam 1,mem_ipc_lock_bt
+ui_ipc_get_lock_wait:
+	fetch 1,mem_ipc_lock_c51
+	nbranch ui_ipc_get_lock_wait,blank
+	rtn
+	
+ui_ipc_put_lock:
+	jam 0,mem_ipc_lock_bt
+	rtn
+	
+
+	
+ui_ipc_send_event:
+	bpatchx patch3e_6,mem_patch3e
+	call ui_ipc_get_lock
+	copy rega,pdata
+	store 4,mem_ipc_rega_temp
+	arg mem_ipc_fifo_bt2c51,rega
+	call fifo_in
+	fetch 4,mem_ipc_rega_temp
+	copy pdata,rega
+	branch ui_ipc_put_lock
+
+ui_ipc_send_cmd:
+	bpatchx patch3e_7,mem_patch3e
+	call ui_ipc_get_lock
+	copy rega,pdata
+	store 4,mem_ipc_rega_temp	
+	arg mem_ipc_fifo_c512bt,rega
+	call fifo_in
+	fetch 4,mem_ipc_rega_temp
+	copy pdata,rega	
+	branch ui_ipc_put_lock
+
+ui_ipc_clean_all_fifo:
+	setarg 0
+	store UTIL_FIFO_LEN,mem_ipc_fifo_c512bt
+	store UTIL_FIFO_LEN,mem_ipc_fifo_bt2c51
+	rtn
+	
+check_51cmd:
+	bpatchx patch3f_0,mem_patch3f
+	fetch 1,mem_hci_cmd
+	nrtn blank
+	arg mem_ipc_fifo_c512bt,rega
+	call fifo_is_empty
+	rtn blank
+	jam IPC_CONTINUE_PROCESS,mem_ipc_skip_continue_proc
+	call check_51cmd_once
+	fetch 1,mem_ipc_skip_continue_proc
+	branch check_51cmd,blank
+	rtn
+
+check_51cmd_once:
+	call ui_ipc_get_lock
+	arg mem_ipc_fifo_c512bt,rega
+	call fifo_out
+	copy pdata,temp
+	call ui_ipc_put_lock
+	bpatchx patch3f_1,mem_patch3f
+	copy temp,pdata
+	rtn blank
+ 	beq BT_CMD_START_DISCOVERY,check_51cmd_start_discovery
+  	beq BT_CMD_STOP_DISCOVERY,check_51cmd_stop_discovery
+  	beq BT_CMD_RECONNECT,check_51cmd_reconnect
+  	beq BT_CMD_ENTER_SNIFF_SUBRATING,check_51cmd_enter_sniff_subrating
+  	beq BT_CMD_EXIT_SNIFF_SUBRATING,check_51cmd_exit_sniff_subrating
+  	beq BT_CMD_SNIFF_TEST,check_51cmd_sniff_test
+	beq BT_CMD_START_INQUIRY,check_51cmd_inq
+	beq BT_CMD_STOP_INQUIRY,check_51cmd_stop_inq
+	beq BT_CMD_START_ADV,check_51cmd_adv
+	beq BT_CMD_STOP_ADV,check_51cmd_stop_adv
+	beq BT_CMD_START_DIRECT_ADV,check_51cmd_direct_adv
+	beq BT_CMD_STOP_DIRECT_ADV,check_51cmd_stop_direct_adv
+	beq BT_CMD_LED_OFF,check_51cmd_led_off
+	beq BT_CMD_LED_ON,check_51cmd_led_on
+	beq BT_CMD_LED_BLINK,check_51cmd_led_start_blink
+	beq BT_CMD_LE_START_CONN,check_51cmd_le_start_con
+	beq BT_CMD_LE_START_SCAN,check_51cmd_start_scan
+	beq BT_CMD_LE_STOP_SCAN,check_51cmd_stop_scan
+	beq BT_CMD_ENTER_HIBERNATE,check_51cmd_hibernate
+	beq BT_CMD_LE_SMP_SECURITY_REQUEST,check_51cmd_le_smp_sec_req
+	beq BT_CMD_BB_RECONN_CANCEL,check_51cmd_bb_reconn_cancel
+	//context related, process in context
+	store 1,mem_fifo_temp
+	bpatchx patch3f_2,mem_patch3f
+	call lmo_fifo_check
+	nbranch check_51cmd_restore,blank  //process this cmd next time while lmo fifo is full
+check_51cmd_once_continue:
+	fetch 1,mem_fifo_temp
+	bmark0 mark_context,check_51cmd_check_idle
+	beq BT_CMD_DISCONNECT,check_51cmd_disconnect
+  	beq BT_CMD_ENTER_SNIFF,cmd_in_sniff
+  	beq BT_CMD_EXIT_SNIFF,cmd_exit_sniff
+  	beq BT_CMD_SET_PIN_CODE,check_51cmd_pincode
+	beq BT_CMD_LE_DISCONNECT,check_51cmd_le_disconnect
+	beq BT_CMD_LE_UPDATE_CONN,check_51cmd_ble_update_connect_param
+	beq BT_CMD_ROLE_SWITCH,check_51cmd_role_switch
+	beq BT_CMD_STORE_RECONN_INFO_LE,eeprom_store_le_reconn_info
+	beq BT_CMD_STORE_RECONN_INFO_BT,eeprom_store_bd_reconn_info
+	beq BT_CMD_DHKEY_NOT_ACCEPT,check_51cmd_dhkey_not_accept
+	beq BT_CMD_STORE_RECONN_INFO,check_51cmd_store_reconn_info
+	rtn
+
+check_51cmd_check_idle:
+	store 1,mem_fifo_temp
+  	call context_check_idle
+	branch check_51cmd_restore,zero
+	call context_search_plap
+	nrtn zero
+check_51cmd_restore:
+	jam IPC_SKIP_CONTINUE_PROCESS,mem_ipc_skip_continue_proc
+	branch ui_ipc_send_cmd
+  
+ /******************** 51COMMAND*********************/
+
+//command opcode 0x01	
+check_51cmd_start_discovery:
+	fetch 2,mem_ui_state_map
+	set1 UI_STATE_BT_DISCOVERY
+	store 2,mem_ui_state_map
+	jam 3,mem_scan_mode
+	rtn
+
+
+//command opcode 0x02	
+check_51cmd_stop_discovery:
+	jam 0,mem_hid_handshake_timer_count
+	jam 0,mem_scan_mode
+	fetch 2,mem_ui_state_map
+	set0 UI_STATE_BT_DISCOVERY
+	store 2,mem_ui_state_map
+	rtn	
+
+
+//command opcode 0x03	
+check_51cmd_reconnect:	
+	jam hci_cmd_create_conn,mem_hci_cmd
+	rtn	
+
+
+//command opcode 0x04
+check_51cmd_disconnect:
+	jam LMP_DETACH,mem_lmo_opcode2
+	jam OTHER_END_TERMINATED,mem_disconn_reason_send
+	rtn
+
+	
+//command opcode 0x07
+check_51cmd_enter_sniff_subrating:
+	rtn
+
+
+//command opcode 0x08
+check_51cmd_exit_sniff_subrating:
+	rtn	
+
+
+//command opcode 0x09
+check_51cmd_sniff_test:
+	rtn	
+
+
+//command opcode 0x10
+check_51cmd_pincode:
+	jam pincode_state_pincode_ready,mem_pincode_state
+	branch cmd_pair
+
+
+//command opcode 0x11
+check_51cmd_inq:
+	rtn
+
+
+//command opcode 0x12
+check_51cmd_stop_inq:
+	rtn
+
+
+//command opcode 0x13
+check_51cmd_adv:
+	jam ON,mem_le_adv_enable
+	jam ADV_IND,mem_le_adv_type
+	fetch 2,mem_ui_state_map
+	set1 UI_STATE_BLE_ADV,pdata
+	store 2,mem_ui_state_map
+	rtn
+
+
+//command opcode 0x14
+check_51cmd_stop_adv:
+	fetch 2,mem_ui_state_map
+	set0 UI_STATE_BLE_ADV,pdata
+	store 2,mem_ui_state_map
+	jam OFF,mem_le_adv_enable
+	rtn
+
+
+//command opcode 0x15
+check_51cmd_direct_adv:
+	jam ON,mem_le_adv_enable
+	jam ADV_DIRECT_IND,mem_le_adv_type
+	fetch 2,mem_ui_state_map
+	set1 UI_STATE_BLE_ADV,pdata
+	store 2,mem_ui_state_map
+	rtn
+
+
+//command opcode 0x16
+check_51cmd_stop_direct_adv:
+	fetch 2,mem_ui_state_map
+	set0 UI_STATE_BLE_ADV,pdata
+	store 2,mem_ui_state_map
+	jam OFF,mem_le_adv_enable
+	rtn
+
+
+//command opcode 0x17
+check_51cmd_le_disconnect:
+	setarg 20 // 100ms
+	store 2,mem_le_superto
+	store 2,mem_le_init_superto
+	branch le_send_terminate_ind_user_terminated
+
+
+//command opcode 0x18
+check_51cmd_ble_update_connect_param:
+	branch le_l2cap_tx_update_req
+
+
+//command opcode 19
+check_51cmd_led_off:
+	arg 0,rega
+	branch ui_led_off_global
+
+
+//command opcode 20
+check_51cmd_led_on:
+	arg 0,rega
+	branch ui_led_on_global
+
+
+//command opcode 21
+check_51cmd_led_start_blink:
+	arg 0,rega
+	branch ui_led_blink_start_global
+
+
+//command opcode 0x22
+check_51cmd_le_start_con:
+	jam ON,mem_le_scan_enable
+	jam hci_cmd_le_create_conn,mem_hci_cmd
+//	fetch 6,mem_app_peer_addr
+//	store 6,mem_le_conn_peer_addr
+	rtn
+
+
+//command opcode 0x23
+check_51cmd_start_scan:
+	jam ON,mem_le_scan_enable
+	rtn
+
+
+//command opcode 0x24
+check_51cmd_stop_scan:
+	jam OFF,mem_le_scan_enable
+	jam 0,mem_hci_cmd
+	rtn
+
+
+//command opcode 0x25
+check_51cmd_hibernate:
+	fetch 2,mem_cb_before_hibernate
+	call callback_func
+	fetch 1,mem_ui_button_gpio
+	beq UI_BUTTON_GPIO_DISABLE,check_51cmd_hibernate_btn_disabled
+	copy pdata,temp
+	call gpio_config_input
+check_51cmd_hibernate_btn_disabled:
+	call ui_ipc_clean_all_fifo
+	branch lpm_hibernate	
+
+
+//command opcode 0x27
+check_51cmd_le_smp_sec_req:
+	branch le_send_smp_security_request
+
+
+//command opcode 0x29
+check_51cmd_role_switch:
+  	jam LMP_SLOT_OFFSET,mem_lmo_opcode2
+	set1 mark_switch_initiated,mark
+	nrtn master
+	jam SWITCH_FLAG_INIT,mem_switch_flag
+	jam LMP_SWITCH_REQ ,mem_lmo_opcode2
+	fetch 1,mem_connection_options
+	set0 CONNECTION_SWITCH,pdata
+	store 1,mem_connection_options
+	rtn
+
+
+//command opcode 0x30
+check_51cmd_bb_reconn_cancel:
+	force page_length_timer,queue
+	branch timer_stop
+
+
+//command opcode 0x33
+check_51cmd_dhkey_not_accept:
+	call tid_set_reply
+	jam LMP_DHKey_Check,mem_lmi_opcode2
+	branch parse_lmp_dhkey_check_reject	
+
+
+ui_check_paring_button:
+	fetch 1,mem_ui_state_map
+	rtnbit0 UI_STATE_BTN_DOWN
+	rtnbit0 UI_STATE_BT_RECONNECT
+	branch check_51cmd_bb_reconn_cancel
+
+
+
+///////////queue function////////////
+queue_init:
+	fetch 2,mem_queue_ptr
+	add pdata,QUEUE_OFFSET_CURR_NUM,contw
+	setarg 0
+	istore 3,contw
+	rtn
+	
+//input:rega:the address of the data to which you want to input queue
+//output:if user is disable,mean queue no have space
+queue_push:
+	call disable_user
+	call queue_full
+	rtn blank
+	fetch 2,mem_queue_ptr
+	add pdata,QUEUE_OFFSET_CURR_NUM,regb
+	ifetcht 1,regb
+	increase 1,temp
+	istoret 1,regb	//number add 
+	
+	ifetcht 1,pdata	//temp:each length
+	copy temp,loopcnt
+	add pdata,QUEUE_OFFSET_WRITE_PTR,regb
+	ifetch 1,regb
+	imul32 temp,pdata	//offset
+	iadd contr,contw
+	copy rega,contr
+calc_queue_next_ptr:
+	call memcpy
+	call queue_get_size
+	pincrease -1
+	ifetcht 1,regb
+	increase 1,temp
+	iand temp,temp
+	istoret 1,regb
+	branch enable_user
+
+
+//input:rega:the address of the data to which you want to output queue
+//output:if user is disable,mean queue no have data
+queue_pop:
+	call disable_user
+	call queue_empty
+	rtn blank
+	fetch 2,mem_queue_ptr
+	add pdata,QUEUE_OFFSET_CURR_NUM,regb
+	ifetcht 1,regb
+	increase -1,temp
+	istoret 1,regb
+	ifetcht 1,pdata		//each size
+	copy temp,loopcnt
+	add pdata,QUEUE_OFFSET_READ_PTR,regb
+	ifetch 1,regb
+	imul32 temp,pdata	//offset
+	iadd contr,contr
+	increase 1,contr
+	copy rega,contw
+	branch calc_queue_next_ptr
+
+
+//output:if blank is 1,mean queue is empty
+queue_empty:
+	fetch 2,mem_queue_ptr
+	add pdata,QUEUE_OFFSET_CURR_NUM,contr
+	ifetch 1,contr
+	rtn
+
+//output:if blank is 1,mean queue is full
+queue_full:
+	call queue_get_size
+	ifetcht 1,contr
+	isub temp,pdata
+	rtn
+
+//output:pdata is queue size
+queue_get_size:
+	fetch 2,mem_queue_ptr
+	add pdata,QUEUE_OFFSET_LENGTH,contr
+	ifetch 1,contr
+	rtn
+
+///////////queue function end////////////
+
+
+
+
Index: rom/utility.prog
===================================================================
--- /branch/mouse_project/ZhongXinSheng/ZXS_1062/MJ391_24G&BLE_PB/rom/utility.prog	(revision 0)
+++ /branch/mouse_project/ZhongXinSheng/ZXS_1062/MJ391_24G&BLE_PB/rom/utility.prog	(working copy)
@@ -0,0 +1,614 @@
+
+right_shift_n: //rshiftN pdata,pdata
+	sub loopcnt,0,null
+	rtn zero
+right_shift_n_loop: 
+	rshift pdata,pdata
+	loop right_shift_n_loop
+	rtn
+
+/* lshift. 0:1 byte; 1:2byte; 2:4byte; 3:8byte; 4:16byte*/
+left_shift_n:
+	force 1,pdata
+	sub loopcnt,0,null
+	rtn zero
+left_shift_n_loop:
+	lshift pdata,pdata
+	loop left_shift_n_loop
+	rtn
+push_stack:
+	deposit contw
+	store 2, mem_contw
+	storet 8,mem_temp
+	deposit timeup
+	store 4,mem_timeup
+	call push_stack_rega_b_c
+	deposit contr
+	store 2, mem_contr
+	rtn
+
+push_stack_rega_b_c:
+	deposit rega
+	store 4, mem_rega
+	deposit regb
+	store 4, mem_regb
+	deposit regc
+	store 3, mem_regc
+	rtn
+
+pop_stack:
+	fetcht 8,mem_temp
+	fetch 4,mem_timeup
+	iforce timeup
+	call pop_stack_rega_b_c
+	fetch 2, mem_contw
+	iforce contw
+	fetch 2, mem_contr
+	iforce contr
+	rtn
+
+pop_stack_rega_b_c:
+	fetch 4, mem_rega
+	iforce rega
+	fetch 4, mem_regb
+	iforce regb
+	fetch 3,mem_regc
+	iforce regc
+	rtn
+
+get_contw:
+	fetch 2,mem_contw
+	copy pdata,contw
+	rtn
+get_contr:
+	fetch 2,mem_contr
+	copy pdata,contr
+	rtn
+store_contw:
+	copy contw,pdata
+	store 2,mem_contw
+	rtn
+store_contr:
+	copy contr,pdata
+	store 2,mem_contr
+	rtn	
+	
+
+//
+save_cont_pointers:
+	copy contw,pdata
+	store 2,mem_hold_contw
+	copy contr,pdata
+	store 2,mem_hold_contr
+	rtn
+load_cont_pointers:
+	fetch 2,mem_hold_contw
+	copy pdata,contw
+	fetch 2,mem_hold_contr
+	copy pdata,contr
+	rtn
+
+memcpy96:
+	call memcpy32
+memcpy64:
+	call memcpy32
+	branch memcpy32
+memcpy12:
+	call memcpy8
+memcpy4:
+	ifetch 4,contr
+	istore 4,contw
+	rtn	
+memcpy8:
+	ifetch 8,contr
+	istore 8,contw
+	rtn	
+
+memcpy48:
+	call memcpy16
+memcpy32:
+	call memcpy8
+memcpy24:
+	call memcpy8
+memcpy16:
+	call memcpy8
+	branch memcpy8
+
+
+
+delay_10ms:
+	arg 10,loopcnt
+delay_ms_wait:
+	nop 12000
+	loop delay_ms_wait
+	rtn
+
+bn_zero:
+	force 3,loopcnt
+memset0:
+	force 0,pdata
+memset8:
+	istore   8,contw
+	loop   memset8
+	rtn
+
+memset0_8:
+	force 0,pdata
+	istore 8,contw
+	rtn
+memset0_4:
+	force 0,pdata
+	istore 4,contw
+	rtn	
+	
+clear_mem_256:
+	force 4,loopcnt
+	branch memset0 
+clear_mem_512:
+	force 8,loopcnt
+	branch memset0 
+
+clear_mem:
+	deposit loopcnt
+	rtn blank
+	setarg 0
+clear_mem_loop:
+	istore 1,contw
+	loop clear_mem_loop
+	rtn
+	
+
+clear_temp_block:
+	arg 32,loopcnt
+	arg mem_temp_block0,contw
+	branch clear_mem
+	
+xor_loop:
+	ifetch   4,regc
+	ifetcht 4,rega
+	ixor     temp,pdata
+	istore   4,contw	
+	increase 4,rega
+	increase 4,regc
+	loop  xor_loop
+	rtn
+	
+// 11 22 -> 22 11; 11 22 33 -> 33 22 11 
+// rega:data addr ;loopnct:length
+inverse_data:
+	bpatchx patch3f_3,mem_patch3f
+	copy loopcnt,pdata
+	sub pdata,1,null
+	rtn positive
+	iadd rega,regb	
+	increase -1,regb
+	rshift loopcnt,loopcnt
+inverse_loop:
+	ifetcht 1,rega
+	ifetch 1,regb
+	istore 1,rega
+	istoret 1,regb
+	increase -1,regb
+	increase 1,rega
+	loop inverse_loop
+	rtn
+
+
+memcpy_fast:
+	deposit loopcnt
+	rtn blank
+memcpy_fast_loop:
+	increase -8,loopcnt
+	call memcpy8,positive
+	rtn zero
+	branch memcpy_fast_loop,positive
+	increase 8,loopcnt
+memcpy_fast_loop_four:
+	increase -4,loopcnt
+	call memcpy4,positive
+	rtn zero
+	branch memcpy_fast_loop_four,positive
+	increase 4,loopcnt
+	branch memcpy
+ 
+memcpy:
+	deposit loopcnt
+	rtn blank
+memcpy_loop:
+	ifetch 1,contr
+	istore 1,contw
+	loop memcpy_loop
+	rtn
+
+timer_stop:
+	setarg 0
+timer_init:
+	rshift clkn_bt,temp
+	storet 4,mem_last_clkn
+	arg mem_timers,contw
+	iforce temp
+	lshift queue,pdata
+	iadd contw,contw
+	istoret 2,contw
+	bpatchx patch3f_4,mem_patch3f
+	rtn
+
+timer_check_timeout:
+	arg 0x800,timeup
+	lshift16 timeup,timeup
+	iadd timeup,pdata
+	rtn
+
+
+timer_reinit:
+	arg 0,queue
+timer_check:
+	bpatchx patch3f_5,mem_patch3f
+	fetcht 4,mem_last_clkn
+	rshift clkn_bt,pdata
+	store 4,mem_last_clkn	
+	isub temp,null
+	ncall timer_check_timeout,positive	
+	isub temp,timeup
+	copy timeup,temp
+	arg mem_timers,contr
+	copy contr,contw
+	arg 16,loopcnt
+timer_loop:
+	ifetch 2,contr
+	isub temp,pdata
+	branch timer_counting,positive
+	force 0,pdata
+timer_counting:
+	istore 2,contw
+	loop timer_loop	
+	arg mem_timers,contr
+	lshift queue,pdata
+	iadd contr,contr
+	ifetch 2,contr
+	rtn
+
+
+
+	/* pdata 28+16 bit add temp 26+16 bit, result in temp */
+clk_add:
+	iadd temp,temp
+	copy temp, loopcnt
+	setarg 3750
+	isub loopcnt,pdata
+	rtn positive
+	sub pdata,0,pdata
+	rshift16 temp,temp
+	increase 1,temp
+	lshift16 temp,temp
+	ior temp,temp
+	rtn
+
+clk_diff_rt:
+	call clk_diff
+	branch clk2rt
+
+/* pdata -temp -> pdata, all are 28+16 bits, set user if negative */
+clk_diff:
+	disable user
+	isub temp,pdata
+	branch clk_diff_pos,positive
+	enable user
+	sub pdata,0,pdata
+clk_diff_pos:
+	rtnbit0 15
+	arg -61786,temp
+	iadd temp,pdata
+	set0 64,pdata
+	rtn
+
+clk2rt:
+	iforce contr
+	rshift16 pdata,pdata
+	arg 3750,temp
+	imul32 temp,pdata
+	iadd contr,pdata
+	rtn
+
+	/* pdata = clks in, temp = lpo out */
+clk2lpo:
+	lshift8 pdata,pdata
+	lshift4 pdata,pdata
+	fetcht 3,mem_clks_per_lpo
+	idiv temp
+	call wait_div_end
+	quotient temp
+	rtn
+
+	/* rt clk -> bt+rt clk */
+clk2bt:
+	arg 3750,temp
+	idiv temp
+	call wait_div_end
+	quotient pdata
+	lshift16 pdata,pdata
+	remainder temp
+	ior temp,temp
+	rtn
+
+
+
+//input:contru 
+//output:temp
+//used register: temp regc
+string2dec_from_uart:
+	arg 0,temp
+string2dec_from_uart_done:
+         copy temp,regc
+	ifetch 1,contru
+	call uchar2dialog	
+	copy regc,temp
+	call swap
+	arg 10,regb
+	imul32 regb,pdata
+	iadd temp,pdata
+	copy pdata,temp
+	loop string2dec_from_uart_done
+	rtn
+	
+
+
+uchar2dialog:
+	arg 0x3a,temp
+	isub temp,null
+	nbranch uchar2dialog_number,positive
+	arg 0x61,temp
+	isub temp,null
+	branch uchar2dialog_a2f,positive
+	arg 0x37,temp
+	isub temp,pdata
+	rtn
+uchar2dialog_number:
+	arg 0x30,temp
+	isub temp,pdata
+	rtn
+uchar2dialog_a2f:
+	arg 0x57,temp
+	isub temp,pdata
+	rtn
+
+pn9:
+	copy temp,alarm
+	setarg 0x1ff
+	force 0,regb
+pn9_loop:	
+	rshift3 pdata,rega
+	rshift rega,rega
+	ixor rega,rega
+	isolate1 0,rega
+	setflag true,9,pdata
+	rshift temp,temp
+	isolate1 0,pdata
+	setflag true,7,temp
+	rshift pdata,pdata
+	increase 1,regb
+	compare 0,regb,0x7
+	nbranch pn9_loop,true
+	istoret 1,contw
+	loop pn9_loop
+	copy alarm,temp
+	rtn
+
+
+wait_div_end:	
+	rtn modone
+	branch wait_div_end
+
+
+
+//input:
+//	count:loopcnt str1:rega str2:regb
+//output:
+//	same:set falg true ,diff set falg false
+// using:
+//	reg:temp null flag:zero
+compare_loop:
+string_compare:
+	ifetch 1,rega
+	ifetcht 1,regb
+	isub temp,null
+	nrtn zero
+	increase 1,rega
+	increase 1,regb
+	loop string_compare
+	force 0,null
+	rtn
+
+	/* pdata = temp if pdata > temp */
+ceiling:
+	isub temp,null
+	nrtn positive
+	deposit temp
+	rtn
+	
+swap:
+	iadd temp,pdata
+	isub temp,temp
+	isub temp,pdata
+	rtn
+
+clean_mem:
+	arg 0x200,loopcnt
+	arg 0x4000,contw
+	branch memset0				// clear xram at boot
+
+	//cb function ptr in pdata
+callback_func:
+	rtn blank
+	copy pdata,pc	//rtn through cb functon.
+	//branch assert
+
+wait_uarttx:
+	hfetch 2,core_uart_txitems
+	nbranch wait_uarttx,blank
+	rtn
+
+ice_break:
+	jam 0x1,core_ice_ctrl
+	rtn
+
+ice_setbp:
+	hstore 2,core_ice_break0
+	hfetch 1,core_ice_ctrl
+	set1 4,pdata
+	hstore 1,core_ice_ctrl
+	rtn
+ice_setbp2:
+	hstore 2,core_ice_break1
+	hfetch 1,core_ice_ctrl
+	set1 6,pdata
+	hstore 1,core_ice_ctrl
+	rtn
+	
+ice_set_write_bp:
+	hstore 2,core_ice_break0
+	jam 0x30,core_ice_ctrl
+	rtn
+	
+
+
+test_enable_white:
+	hfetch 1,core_config
+	set0 whiteoff_bit,pdata
+	hstore 1,core_config			/* whitening on */
+	rtn
+
+check_uart_tx_buff:
+	hfetch 2,core_uart_txitems
+	arg UART_AIR_CONTROL_THRESHOLD,temp
+pdata_sub_temp:
+	isub temp,null
+	rtn
+
+	//fuction fifo_in
+	//rega pointer to fifo memory , *(rega+len) is the end of fifo
+	//mem_fifo_temp data into fifo
+	//assert if fifo was full
+fifo_in:
+	bpatchx patch3f_6,mem_patch3f
+	ifetcht UTIL_FIFO_LEN,rega
+	and temp,0xff,pdata
+	nbranch fifo_in_push,blank
+	rshift8 temp,pdata
+	istore UTIL_FIFO_LEN,rega
+fifo_in_push:
+	increase UTIL_FIFO_LEN+UTIL_FIFO_OFFSET,rega
+	ifetch 1,rega
+	nbranch assert,blank //fifo full
+	fetch 1,mem_fifo_temp
+	istore 1,rega
+	rtn
+	
+	//fuction fifo_out
+	//rega pointer to fifo memory
+	//pdata  data from fifo, blank mains fifo empty
+fifo_out:
+	bpatchx patch3f_7,mem_patch3f
+	arg UTIL_FIFO_LEN,loopcnt
+	ifetch UTIL_FIFO_LEN,rega
+	rtn blank
+fifo_out_loop:
+	ifetch 1,rega
+	nbranch fifo_out_end,blank
+	increase 1,rega
+	loop fifo_out_loop
+	branch assert
+fifo_out_end:
+	arg 0,temp
+	istoret 1,rega
+	rtn
+
+	//fuction fifo_is_empty
+	//rega pointer to fifo memory
+	//blank--- fifo is empty
+fifo_is_empty:
+	ifetch UTIL_FIFO_LEN,rega
+	rtn
+
+	//fuction fifo_is_full
+	//rega pointer to fifo memory
+	//blank--- fifo is NOT full
+fifo_is_full:
+	ifetch 1,rega
+	rtn
+	//rega pointer to fifo memory
+	//blank--- fifo is NOT near full
+fifo_is_near_full:
+	ifetch 2,rega
+	rtn
+
+	//rega pointer to fifo memory
+	//count output via pdata
+fifo_content_count:
+	arg 0,temp
+fifo_content_count_loop:
+	fetch 1,contr
+	loop fifo_content_count_loop,blank
+	increase 1,temp
+	loop fifo_content_count_loop
+	copy temp,pdata
+	rtn
+	
+not_greater_than:
+	isub temp,null
+	nrtn positive
+	copy temp,pdata
+	rtn
+
+
+disable_positive:
+	force -1,null
+	rtn
+enable_positive:
+disable_zero:
+	force 1,null
+	rtn
+enable_zero:
+	force 0,null
+	rtn
+
+enable_user:
+	enable user
+	rtn
+	
+disable_user:
+	disable user
+	rtn
+	
+enable_user2:
+	enable user2
+	rtn
+	
+disable_user2:
+	disable user2
+	rtn
+
+disable_blank:
+	setarg 1
+	rtn
+
+enable_blank:
+	setarg 0
+	rtn
+
+
+reverse_byte:
+	copy loopcnt,pdata
+	rtn blank
+	copy contr,pdata
+	iadd loopcnt,pdata
+	increase -1,pdata
+	copy pdata,contr	
+reverse_loop:
+	ifetch 1,contr
+	increase -2,contr
+	istore 1,contw
+	loop reverse_loop
+	rtn
+
+
Index: sched/109x.dat
===================================================================
--- /branch/mouse_project/ZhongXinSheng/ZXS_1062/MJ391_24G&BLE_PB/sched/109x.dat	(revision 0)
+++ /branch/mouse_project/ZhongXinSheng/ZXS_1062/MJ391_24G&BLE_PB/sched/109x.dat	(working copy)
@@ -0,0 +1,37 @@
+
+mem_lpm_config:8f 1f ca	#4khz
+mem_lpm_xtalcnt:00 0a 0b ef 07
+mem_lpm_hibernate_switch:00
+mem_gpio_wakeup_low:00 00 00 00 00 00 00 00
+#mem_fcomp_mul:02
+#mem_fcomp_div:24
+#mem_iscan_window:12 00
+#mem_iscan_interval:00 02
+#mem_pscan_window:12 00
+#mem_pscan_interval:00 02
+#mem_inq_window:20 00
+#mem_page_window:20 00
+#mem_page_to:00 40
+mem_rx_window_init:80 04
+mem_rx_window_sniff:00 08
+
+mem_seqi:00
+
+#write to null
+mem_24g_head_ptr:00 84
+
+
+mem_tx_power:00#0dbm
+mem_rf_init_data_new:
+# tx power
+4b ba
+55 d0
+56 e0
+57 88
+58 6c
+59 10
+ff
+mem_rf_init_ptr:mem_rf_init_data_new
+
+
+
Index: sched/mouse.dat
===================================================================
--- /branch/mouse_project/ZhongXinSheng/ZXS_1062/MJ391_24G&BLE_PB/sched/mouse.dat	(revision 0)
+++ /branch/mouse_project/ZhongXinSheng/ZXS_1062/MJ391_24G&BLE_PB/sched/mouse.dat	(working copy)
@@ -0,0 +1,942 @@
+mem_patch00:03
+#mem_patch03:08
+#mem_patch04:40
+#mem_patch09:04
+#mem_patch0a:02
+#mem_patch0b:02
+mem_patch10:20
+mem_patch11:02
+#mem_patch14:82
+mem_patch14:02
+mem_patch16:06
+mem_patch18:10
+#mem_patch19:0e
+mem_patch19:06
+mem_patch1c:48
+#mem_patch1d:1e
+mem_patch1d:1e
+#mem_patch20:20
+mem_patch27:02
+mem_patch28:08
+mem_patch29:04
+mem_patch2a:80
+mem_patch2b:02
+mem_patch2c:c8
+mem_patch2d:04
+mem_patch2e:80
+#mem_patch30:05
+#mem_patch31:11
+mem_patch31:10
+mem_patch3f:04
+
+
+#debug
+#mem_patch2f:40
+#mem_patch37:40
+#mem_patch3e:c0
+
+
+mem_device_option:42
+mem_lpm_mode:01
+mem_lpm_mult:20
+mem_lpm_mult_init:20
+#mem_lpm_interval:00 00
+
+mem_mouse_function_enable:
+#bit0 MOUSE_ENABLE_USB
+#bit1 MOUSE_ENABLE_24G
+#bit2 MOUSE_ENABLE_SPI2
+#bit3 MOUSE_ENABLE_FLASH
+#bit4 MOUSE_ENABLE_EEPROM
+#bit5 MOUSE_ENABLE_STATUE_UP_THREE_LED
+#bit6 MOUSE_ENABLE_STATUE_UP
+#bit7 MOUSE_ENABLE_DPI_LED_BLINK
+12
+#bit0 MOUSE_ENABLE_BLE_RANDOM_ADDRE
+#bit1 MOUSE_ENABLE_2K_EEPROM
+#bit2 MOUSE_ENABLE_ADC
+#bit3 MOUSE_ENABLE_INIT_DELAY
+#bit4 MOUSE_ENABLE_DISCOVERY_SENSOR_LED
+#bit5 MOUSE_ENABLE_AUTO_24G_PARING
+#bit6 MOUSE_ENABLE_WAKEUP_FROM_POWER
+#bit7 MOUSE_ENABLE_GPIO_CONTROL_ADC_SENSOR
+45
+
+mem_app_connection_options:06
+mem_lap:26 10 19 20 18 10
+#mem_local_name_length:
+#'BT3.0 Mouse
+#mem_sniff_param_interval:
+#0e 00 
+#01 00 ##mem_sniff_param_attempt:01 00
+#02##mem_sniff_param_timeout:00 00
+
+
+mem_unsniff2sniff_timer:0a
+mem_ssp_mode_flag:03
+mem_ssp_enable:01
+##mem_all_uuid_16bits:
+##06
+##03#Type: Complete list of 16-bit UUIDs
+##0011 0100 1002 1124  1200  0001
+mem_all_uuid_128bits:00
+mem_ptt:00
+
+
+mem_sp_iocap_local:03 00 04
+mem_ui_profile_supported:01
+mem_eir_enable:01
+
+mem_le_adv_data_len:1f
+mem_le_adv_data:
+#flag 
+02 01 05
+
+#uuid
+03 03 12 18
+
+#appearance
+03 19 c2 03
+
+mem_le_adv_swift_pair:
+#microsoft swift pair
+06 ff 06 00 03 00 80
+#name
+'\09BT5.0 Mouse
+
+mem_le_scan_data_len:1f
+mem_le_scan_data:
+#name
+'\09BT5.0 Mouse
+
+
+#max 20bytes, att list data rom limits
+mem_le_name_len:
+'BT5.0 Mouse
+
+
+mem_le_interval_min:
+07 00 #min interval
+07 00 #max interval
+20 00 #latency
+2c 01 #timeout
+
+
+mem_le_adv_interval:00 00
+mem_le_adv_type:00 
+mem_le_adv_own_addr_type:00
+mem_le_adv_channel_map:07 
+
+mem_le_lap:8e b1 3a 0e 8e ed
+
+mem_le_transmit_window:50
+
+mem_le_notify_handle:19 00
+mem_le_pairing_handle:22 00
+
+
+mem_discovery_timeout:08 07#3min
+mem_mouse_direct_timeout:50 00#8s
+mem_mouse_no_data_timeout:70 17 #10min
+
+
+mem_spi_ncs_gpio:ff
+mem_ui_button_gpio:ff
+mem_ui_button_timeout:1e
+
+mem_device_number:02 #max device number
+mem_24g_device_number:02 #devie 2 :24g mode
+mem_adc_config_flag:02 #0 vinlpm 1 hvin 2 gpio
+mem_adc_channel:32 #gpio5
+mem_mouse_vdd_full_vol:96 00#1.5v
+5a 00#mem_mouse_vdd_empty_vol:5a 00#0.9v
+6e 00#mem_mouse_vdd_low_vol:64 00  #1.1v
+mem_adc_read_timer:0a
+
+mem_config_sensor_type:00
+02 #mem_config_sensor_motion:01
+06 #mem_lbutton_gpio:16
+03 #mem_rbutton_gpio:14
+04 #mem_mbutton_gpio:15
+06 #mem_bk_button_gpio:ff
+04 #mem_fw_button_gpio:ff
+03 #mem_dpi_button_gpio:05
+1b #mem_whee_a_data_gpio:0b
+1c #mem_whee_b_data_gpio:07
+ff #mem_whee_ta_data_gpio:ff
+ff #mem_whee_tb_data_gpio:ff
+16 #mem_config_bt_button_gpio:18
+16 #mem_config_select_device_button_gpio:ff
+ff #mem_config_paraing_led_gpio:ff
+ff #mem_config_low_voltage_alarm_gpio:01
+ff #mem_config_device1_led_gpio:01
+ff #mem_config_device2_led_gpio:ff
+ff #mem_config_device3_led_gpio:ff
+ff #mem_sensor_data_gpio:0c
+ff #mem_dpi_led_gpio:01
+30 #mem_config_function_enable
+02 #mem_config_sensor_angle
+ff #mem_select_sensor_angle_gpio
+05 #mem_select_adc_gpio
+
+mem_eeprom_wp_gpio:14
+mem_sensor_reset_gpio:ff
+mem_sensor_squal_reg:07# 07:3205         	06:3610
+mem_usb_offline_check_gpio:ff
+#mem_wire_usb_interval:19 #128
+
+#mem_config_function_enable:
+#bit0 ENABLE_BT_DISCOVERY_BY_GPIO_LED
+#bit1 ENABLE_MODE_LED
+#bit2 ENABLE_LOW_VOLTAGE_LED
+#bit3 ENABLE_DEVICE_LED
+#bit4 ENABLE_BT_BUTTON
+#bit5 ENABLE_SELECT_DEVICE_BY_GPIO_BUTTON
+#bit6 ENABLE_SELECT_DEVICE_BY_SWITCH
+#bit7 ENABLE_SENSOR_MOTION_PIN
+#30
+
+mem_mouse_dpi_seting:
+01##mem_320x_dpi_1
+02##mem_320x_dpi_2
+03##mem_320x_dpi_3
+04##mem_320x_dpi_4
+
+#15##mem_3212_dpi_1
+#1a##mem_3212_dpi_2
+#22##mem_3212_dpi_3
+#2a##mem_3212_dpi_4
+
+#04##mem_3610_dpi_1
+#05##mem_3610_dpi_2
+#07##mem_3610_dpi_3
+#08##mem_3610_dpi_4
+
+
+mem_ui_led_struct_ptr:mem_mouse_led_type
+mem_ui_led_struct_num:01
+
+
+mem_mouse_le_uuid_sup:
+25 00 02 03 28 01 12 
+26 00 02 4d 2a 07 00 00 00 00 00 00 00 
+27 00 02 02 29 02 00 00
+28 00 02 08 29 02 11 01
+29 00 02 03 28 01 0e 
+2a 00 02 4d 2a 07 00 00 00 00 00 00 00
+2b 00 02 08 29 02 11 02
+
+
+#mem_le_att_pnp_id_len:07
+#mem_le_att_pnp_id:
+#02		#verdor ID source
+#35 12	#usb verdor ID
+#22 aa	#product ID
+#01 00	#product version
+
+  
+#24g init
+mem_24g_mode:01#tx
+mem_24g_data_type:01        #mouse 1,kb 2
+mem_24g_max_retry:04#max tx retry
+mem_24g_no_ack:00#with ack
+mem_24g_rx_window:c0 12     #400us
+mem_24g_interval:19
+mem_24g_interval_min:19
+mem_24g_interval_max:1c
+mem_24g_ch_map1:00 13 2c 42
+mem_24g_ch_map2:06 15 36 48
+mem_24g_ch_map3:0f 1a 3a 4c
+mem_24g_ch_map4:11 23 31 4d
+mem_24g_pairing_sm:ff
+mem_24g_paring_addr:20 15 10 05
+mem_24g_common_temp:00 00 00 00 00 00 00 00 00 00
+mem_24g_enter_hibernate:80 ee 36
+
+mem_device_flag:
+ff
+ff
+ff ff ff ff ff ff
+#mem_device2_type:
+#34
+#11 22 33 44 55 66
+#mem_device3_type:
+#34
+#11 22 33 44 55 66
+
+
+#mem_flash_base:00 70 00
+mem_eeprom_base:90 1f
+mem_eeprom_block_size:80
+mem_reconn_times_init:00
+mem_bt_discovey_button_statue:01#default: button up
+mem_empty_count:03
+
+#select device timer init 2.5s
+mem_mouse_button_select_device_timer_init:19
+
+mem_mouse_multi_led_gpio:08
+mem_mouse_multi_led_on_timer_init:14
+mem_mouse_multi_led_blink_timer_init:05
+mem_24g_led_gpio:0a
+mem_lvd_led_gpio:15
+
+#mem_mouse_dpi_button_state:01
+mem_select_device_button_statue:01
+mem_24g_combination_ui_button_count:0a
+
+
+#yichip sdp
+#04 0011 0100 1002 1124
+#00 01 00 00
+#36 01 6d
+#09
+#00
+#00
+#0a
+#00
+#01
+#00
+#00
+#09
+#00
+#01
+#35
+#03
+#19
+#11
+#24
+#09
+#00
+#04
+#35
+#0d
+#35
+#06
+#19
+#01
+#00
+#09
+#00
+#11
+#35
+#03
+#19
+#00
+#11
+#09
+#00
+#05
+#35
+#03
+#19
+#10
+#02
+#09
+#00
+#06
+#35
+#09
+#09
+#65
+#6e
+#09
+#00
+#6a
+#09
+#01
+#00
+#09
+#00
+#09
+#35
+#08
+#35
+#06
+#19
+#11
+#24
+#09
+#01
+#00
+#09
+#00
+#0d
+#35
+#0f
+#35
+#0d
+#35
+#06
+#19
+#01
+#00
+#09
+#00
+#13
+#35
+#03
+#19
+#00
+#11
+#09
+#01
+#00
+#25
+#16
+#59
+#69
+#43
+#68
+#69
+#70
+#20
+#42
+#6c
+#75
+#65
+#74
+#6f
+#6f
+#74
+#68
+#20
+#4d
+#6f
+#75
+#73
+#65
+#09
+#01
+#01
+#25
+#05
+#4d
+#6f
+#75
+#73
+#65
+#09
+#01
+#02
+#25
+#06
+#59
+#69
+#43
+#68
+#69
+#70
+#09
+#02
+#00
+#09
+#01
+#00
+#09
+#02
+#01
+#09
+#01
+#11
+#09
+#02
+#02
+#08
+#80
+#09
+#02
+#03
+#08
+#21
+#09
+#02
+#04
+#28
+#01
+#09
+#02
+#05
+#28
+#01
+#09
+#02
+#06
+#35
+#81
+#35
+#7f
+#08
+#22
+#25
+#7b
+#05
+#01
+#09
+#02
+#a1
+#01
+#85
+#02
+#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
+#f8
+#26
+#ff
+#07
+#75
+#10
+#95
+#02
+#81
+#06
+#09
+#38
+#15
+#81
+#25
+#7f
+#75
+#08
+#95
+#01
+#81
+#06
+#05
+#0c
+#0a
+#38
+#02
+#75
+#08
+#95
+#01
+#81
+#06
+#c0
+#c0
+#05
+#0c
+#09
+#01
+#a1
+#01
+#85
+#03
+#75
+#10
+#95
+#02
+#15
+#01
+#26
+#8c
+#02
+#19
+#01
+#2a
+#8c
+#02
+#81
+#60
+#c0
+#06
+#00
+#ff
+#09
+#01
+#a1
+#01
+#85
+#10
+#75
+#08
+#95
+#06
+#15
+#00
+#26
+#ff
+#00
+#09
+#01
+#81
+#00
+#09
+#01
+#91
+#00
+#c0
+#09
+#02
+#07
+#35
+#08
+#35
+#06
+#09
+#04
+#09
+#09
+#01
+#00
+#09
+#02
+#08
+#28
+#00
+#09
+#02
+#09
+#28
+#01
+#09
+#02
+#0a
+#28
+#01
+#09
+#02
+#0b
+#09
+#01
+#00
+#09
+#02
+#0c
+#09
+#1f
+#40
+#09
+#02
+#0d
+#28
+#00
+#09
+#02
+#0e
+#28
+#01
+#09
+#02
+#0f
+#09
+#00
+#12
+#09
+#02
+#10
+#09
+#00
+#00
+#
+#04 1002 1200 0100 0001
+#00 01 00 01
+#36 00 5a
+#09
+#00
+#00
+#0a
+#00
+#01
+#00
+#01
+#09
+#00
+#01
+#35
+#03
+#19
+#12
+#00
+#09
+#00
+#04
+#35
+#0d
+#35
+#06
+#19
+#01
+#00
+#09
+#00
+#01
+#35
+#03
+#19
+#00
+#01
+#09
+#00
+#05
+#35
+#03
+#19
+#10
+#02
+#09
+#00
+#09
+#35
+#08
+#35
+#06
+#19
+#12
+#00
+#09
+#01
+#00
+#09
+#02
+#00
+#09
+#01
+#03
+#09
+#02
+#01
+#09
+#04
+#6d
+#09
+#02
+#02
+#09
+#b0
+#16
+#09
+#02
+#03
+#09
+#01
+#29
+#09
+#02
+#04
+#28
+#01
+#09
+#02
+#05
+#09
+#00
+#02
+#00
+#00
+#
+#01 0001
+#00 01 00 01
+#36 00 5a
+#09
+#00
+#00
+#0a
+#00
+#01
+#00
+#01
+#09
+#00
+#01
+#35
+#03
+#19
+#12
+#00
+#09
+#00
+#04
+#35
+#0d
+#35
+#06
+#19
+#01
+#00
+#09
+#00
+#01
+#35
+#03
+#19
+#00
+#01
+#09
+#00
+#05
+#35
+#03
+#19
+#10
+#02
+#09
+#00
+#09
+#35
+#08
+#35
+#06
+#19
+#12
+#00
+#09
+#01
+#00
+#09
+#02
+#00
+#09
+#01
+#00
+#09
+#02
+#01
+#09
+#05
+#ac
+#09
+#02
+#02
+#09
+#02
+#39
+#09
+#02
+#03
+#09
+#00
+#44
+#09
+#02
+#04
+#28
+#01
+#09
+#02
+#05
+#09
+#00
+#02
+#
+#03 1101 0003 0100
+#00 01 00 02
+#36 00 2f
+#09
+#00
+#00
+#0a
+#00
+#01
+#00
+#02
+#09
+#00
+#01
+#35
+#03
+#19
+#11
+#01
+#09
+#00
+#04
+#35
+#0c
+#35
+#03
+#19
+#01
+#00
+#35
+#05
+#19
+#00
+#03
+#08
+#01
+#09
+#01
+#00
+#25
+#09
+#53
+#50
+#50
+#20
+#73
+
+
+
+#logi sdp
+#04 1000 0100 0001 1002
+#00 00 00 00
+#36 00 92 
+#09 00 00 0a 00 00 00 00 09 00 01 35 03 19 10 00 09 00 04 35 0d 35 06 
+#19 01 00 09 00 01 35 03 19 00 01 09 00 05 35 03 19 10 02 09 00 06 35 
+#09 09 65 6e 09 00 6a 09 01 00 09 00 09 35 08 35 06 19 01 00 09 01 00 
+#09 01 00 25 2c 4c 6f 67 69 74 65 63 68 20 42 6c 75 65 74 6f 6f 74 68 20 
+#57 69 72 65 6c 65 73 73 20 4d 6f 75 73 65 20 53 44 50 20 53 65 72 76 65 
+#72 09 01 01 25 0f 42 6c 75 65 74 6f 6f 74 68 20 4d 6f 75 73 65 09 02 00 35 03 09 01 00
+
+#04 1124 0100 0011 1002
+#00 01 00 00
+#36 01 ee 
+#09 00 00 0a 00 01 00 00 09 00 01 35 03 19 11 24 09 00 04 35 
+#0d 35 06 19 01 00 09 00 11 35 03 19 00 11 09 00 05 35 03 19 10 02 
+#09 00 06 35 09 09 65 6e 09 00 6a 09 01 00 09 00 09 35 08 35 06 19 11 24 
+#09 01 01 09 00 0d 35 0f 35 0d 35 06 19 01 00 09 00 13 35 03 19 00 11 09 01 
+#00 25 21 4c 6f 67 69 74 65 63 68 20 42 6c 75 65 74 6f 6f 74 68 20 57 69 72 65 6c 
+#65 73 73 20 4d 6f 75 73 65 09 01 01 25 0f 42 6c 75 65 74 6f 6f 74 68 20 4d 6f 75 
+#73 65 09 01 02 25 08 4c 6f 67 69 74 65 63 68 09 02 01 09 01 11 09 02 02 08 80 09 02 
+#03 08 21 09 02 04 28 01 09 02 05 28 01 09 02 06 35 fc 35 fa 08 22 25 f6 05 01 09 02 a1 01 
+#85 02 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 
+#f8 26 ff 07 75 0c 95 02 81 06 09 38 15 81 25 7f 75 08 95 01 81 06 05 0c 0a 38 02 75 08 95 01 81 
+#06 c0 c0 05 0c 09 01 a1 01 85 03 05 06 09 20 15 00 26 64 00 75 08 95 01 81 02 c0 06 00 ff 09 01 
+#a1 01 85 10 75 08 95 06 15 00 26 ff 00 09 01 81 00 09 01 91 00 c0 06 00 ff 09 02 a1 01 85 11 75 
+#08 95 13 15 00 26 ff 00 09 02 81 00 09 02 91 00 c0 05 01 09 06 a1 01 85 04 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 05 
+#15 00 25 01 75 01 95 02 0a 25 02 0a 24 02 81 02 95 01 75 06 81 03 c0 09 02 07 35 08 35 
+#06 09 04 09 09 01 00 09 02 09 28 01 09 02 0a 28 01 09 02 0c 09 1f 40 09 02 0d 28 00 09 
+#02 0e 28 01 09 02 0f 09 00 12 09 02 10 09 00 00
+
+#04 1200 0100 0001 1002
+#00 01 00 01
+#36 00 ad 
+#09 00 00 0a 00 01 00 01 09 00 01 35 03 19 12 00 09 00 04 35 0d 35 06 19 01 
+#00 09 00 01 35 03 19 00 01 09 00 05 35 03 19 10 02 09 00 06 35 09 09 65 
+#6e 09 00 6a 09 01 00 09 00 09 35 08 35 06 19 12 00 09 01 00 09 01 00 
+#25 2c 4c 6f 67 69 74 65 63 68 20 42 6c 75 65 74 6f 6f 74 68 20 57 69 72 
+#65 6c 65 73 73 20 4d 6f 75 73 65 20 50 6e 50 20 53 65 72 76 65 72 09 01 
+#01 25 0f 42 6c 75 65 74 6f 6f 74 68 20 4d 6f 75 73 65 09 02 00 09 01 03 09 
+#02 01 09 04 6d 09 02 02 09 b0 16 09 02 03 09 12 03 09 02 04 28 01 09 02 05 09 00 02 00
+
+
Index: util/DeleteNote.pl
===================================================================
--- /branch/mouse_project/ZhongXinSheng/ZXS_1062/MJ391_24G&BLE_PB/util/DeleteNote.pl	(revision 0)
+++ /branch/mouse_project/ZhongXinSheng/ZXS_1062/MJ391_24G&BLE_PB/util/DeleteNote.pl	(working copy)
@@ -0,0 +1,27 @@
+
+#print "输入注释的标志:";
+
+#chomp ($text = <STDIN>);
+
+#print $text;
+
+###########################
+#该脚本的功能为删除，#为注释的注释代码。
+
+$Sched_path=$ARGV[0];
+
+open(Sched,$Sched_path)||die("Cannot open files\n");
+@sched=<Sched>;
+close(Sched);
+
+foreach $sched(@sched)
+{
+	$sched_begin = $sched;
+	@Sched = split(/[#]+/, $sched);
+	chomp @Sched[0];
+	$sched = @Sched[0]."\n";
+}
+
+open(Sched,">$Sched_path")||die("Cannot open files\n");
+print Sched @sched;
+close(Sched);
Index: util/geneep.exe
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: util/geneep.exe
===================================================================
--- /branch/mouse_project/ZhongXinSheng/ZXS_1062/MJ391_24G&BLE_PB/util/geneep.exe	(revision 0)
+++ /branch/mouse_project/ZhongXinSheng/ZXS_1062/MJ391_24G&BLE_PB/util/geneep.exe	(working copy)

Property changes on: util/geneep.exe
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: util/memalloc.pl
===================================================================
--- /branch/mouse_project/ZhongXinSheng/ZXS_1062/MJ391_24G&BLE_PB/util/memalloc.pl	(revision 0)
+++ /branch/mouse_project/ZhongXinSheng/ZXS_1062/MJ391_24G&BLE_PB/util/memalloc.pl	(working copy)
@@ -0,0 +1,74 @@
+#!/usr/bin/perl
+$path="output/bt_format.meta";
+open file, $path;
+@f = <file>;
+close file;
+open file, ">$path";
+$path =~ s/\/.*//;
+open file1, ">output/memmap.format";
+$xaddr = 0x4000;
+$addr = 0;
+if($#ARGV == 1) {
+	$addr = hex($ARGV[0]);
+	$xaddr = hex($ARGV[1]);
+}
+for($i = 0;$i < @f;$i++) { $cmalloc[$i] = (); }
+for($i = 0;$i < @f;$i++) { 
+	$_ = $f[$i];
+	$start = 1 if(/^\s*memalloc\s*\(\s*$/);
+	$start = 2 if(/^\s*xmemalloc\s*\(\s*$/);
+	$start = 3 if(/^\s*omemalloc\s*\(\s*$/);
+	$start = 10 + $1 if(/^\s*cmemalloc\s+([0-9])\s*\(\s*$/);
+	if($start) {
+		if(/^\s*([0-9]+)\s+([a-zA-Z0-9_]+)\s*(.*)$/) {
+			if($start == 1) {
+				$str = sprintf "0x%04x %s%s\n", $addr, $2, $3;
+				$addr += $1;
+				$bstr .= $str;
+				$sstr .= $str;
+			} elsif($start == 2) {
+				$str = sprintf "0x%04x %s%s\n", $xaddr, $2, $3;
+				$xaddr += $1;
+				$xstr .= $str;
+			} else {
+				push @ostr, $_;
+			}
+		}
+		if(/^\s*\)\s*$/) {
+			if(@ostr > 0) {
+				if($start == 3) {
+					push @omalloc,[@ostr];
+				} elsif($start > 9) {
+					$j = $start - 10;
+					push @{$cmalloc[$j]},@ostr;
+				} 
+			}
+			$start = 0;
+			@ostr = ();
+		}
+	} else {
+		$sstr .= $_;
+	}
+}
+for($i = 0;$i <= $#cmalloc;$i++) {
+	push @omalloc,$cmalloc[$i];
+#	for($j = 0;$j <= $#{$cmalloc[$i]};$j++) {		print $cmalloc[$i][$j];	}
+}
+
+$xend = $xaddr;
+for($i = 0;$i <= $#omalloc;$i++) {
+	for($j = 0, $oaddr = $xaddr;$j <= $#{$omalloc[$i]};$j++) {
+		if($omalloc[$i][$j] =~ /^\s*([0-9]+)\s+([a-zA-Z0-9_]+)\s*(.*)$/) {
+			$str = sprintf "0x%04x %s%s\n", $oaddr, $2, $3;
+			$oaddr += $1;
+			$xstr .= $str;
+		}
+	}
+}
+$xend = $oaddr if($oaddr > $xend);
+print file $xstr, $sstr;
+print file1 $bstr, $xstr;
+close file;
+close file1;
+printf "\nLast allocated address is %04x\n", $addr;
+printf "\nLast allocated xmem address is %04x\n", $xend;
\ No newline at end of file
Index: util/mergepatch.pl
===================================================================
--- /branch/mouse_project/ZhongXinSheng/ZXS_1062/MJ391_24G&BLE_PB/util/mergepatch.pl	(revision 0)
+++ /branch/mouse_project/ZhongXinSheng/ZXS_1062/MJ391_24G&BLE_PB/util/mergepatch.pl	(working copy)
@@ -0,0 +1,44 @@
+#!/usr/bin/perl
+$defs = "";
+$fmt = 0;
+
+
+sub parseif {
+	my($fname) = @_;
+	open file, $fname;
+	@f = <file>;
+	close file;
+	open file, ">$fname";
+	@valid = (1);
+	for($i = 0;$i < @f;$i++) { 
+		$_ = $f[$i];
+		$defs .= $1 . " " if(/^define\s+(\w+)\s*/);
+		if(/^ifdef\s+(\w+)\s*/) {
+			push @valid, ($defs =~ /(^|\s)$1(\s|$)/ ? 1 : 0) & $valid[$#valid];
+		} elsif(/^ifndef\s+(\w+)\s*/) {
+			push @valid, ($defs =~ /(^|\s)$1(\s|$)/ ? 0 : 1) & $valid[$#valid];
+		} elsif(/^else/) {
+			printf "%s\nelse without if at line %d\n", $f[$i - 3], $i if($#valid == 0);
+			$valid[$#valid] = (1 - $valid[$#valid]) & $valid[$#valid - 1];
+		} elsif(/^endif/) {
+			printf "%s\nendif without if at line %d\n", $_, $i if($#valid == 0);
+			pop @valid;
+		} elsif($valid[$#valid]) {
+			if(/^include\s+(.+)\s*/) {
+				open file2, "program/$1";
+				@f2 = <file2>;
+				close file2;
+				splice(@f, $i + 1, 0, @f2);
+			} else {
+				print file $_;
+			}
+		}
+	}
+	close file;
+}
+
+parseif("output/bt_program23.meta");
+$fmt = 1;
+parseif("output/bt_format.meta");
+
+
Index: util/sortsched.pl
===================================================================
--- /branch/mouse_project/ZhongXinSheng/ZXS_1062/MJ391_24G&BLE_PB/util/sortsched.pl	(revision 0)
+++ /branch/mouse_project/ZhongXinSheng/ZXS_1062/MJ391_24G&BLE_PB/util/sortsched.pl	(working copy)
@@ -0,0 +1,163 @@
+
+
+$Sched_path=$ARGV[0];
+$Sched_test_path=$ARGV[1];
+
+open(Sched,"$Sched_path")||die("Cannot open files1\n");
+@sched=<Sched>;
+@sched[-1] = "";
+close(Sched);
+#open(Sched_test,">ResultsFile.rom")||die("Cannot open files2\n");
+#print Sched_test ("");
+#close (Sched_test);
+#open(Sched_test,">ResultsFile.rom")||die("Cannot open file3s\n");
+open(Sched_test1,">$Sched_test_path")||die("Cannot open files4\n");
+#@Sched_test=<Sched_test>;
+@Data[0]="";
+$Data_num=0;
+@Address_num;
+@OriginalRecord;
+foreach $sched (@sched)
+{
+	if($sched=~/[0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F]:/)
+	{
+		#$lap_flag = 0;
+		#$le_lap_flag = 0;
+		#if($sched=~/40a0:/)
+		#{
+		#	$lap_data = $sched;
+		#	$lap_flag = 1;
+		#}
+		#elsif($sched =~ /44a0:/)
+		#{
+		#	$le_lap_data = $sched;
+		#	$le_lap_flag = 1;
+		#}
+		#else
+		#{
+			$Data_num++;
+			@OriginalRecord[$Data_num]=$sched;
+			@snap_variable=split(/[#\n]/,$sched);
+			@Data[$Data_num]=@snap_variable[0]."\n";
+		#}
+	}
+	else
+	{
+		#if($lap_flag == 1)
+		#{
+		#	$lap_data .= $sched;
+		#}
+		#elsif($le_lap_flag == 1)
+		#{
+		#	$le_lap_data .= $sched;
+		#}
+		#else
+		#{
+			@OriginalRecord[$Data_num].=$sched;
+			@snap_variable=split(/[#\n]/,$sched);
+			@Data[$Data_num].=@snap_variable[0]."\n";
+		#}
+	}
+}
+@sort_Data = sort(@Data);
+@OriginalRecord=sort(@OriginalRecord);
+$PreviousADDR=0;
+$CurrentADDR=0;
+$PreviousData="";
+$CurrentData="";
+$I=0;
+$len_sort_Data=@sort_Data;
+$NextADDR="";
+for($i=0;$i<$len_sort_Data;$i++)
+{
+	$sort_Data=@sort_Data[$i];
+	@snap_variable=split(/:/,$sort_Data);
+	$WData=@snap_variable[1];
+	
+	if($WData =~ /[1-9a-fA-F]/ && hex(@snap_variable[0]) >= 16384){
+	$WADDR=@snap_variable[0];
+	@sort_Data[$i]=@OriginalRecord[$i];
+	@LLL[$i]=0;
+	if($NextADDR eq $WADDR){
+		@snap_variable=split(/[0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F]:/,@OriginalRecord[$i]);
+		@sort_Data[$i]=@snap_variable[1];
+		@LLL[$i]=1;
+	}
+	if(@LLL[$i]==0 && hex($PreviousADDR)+6>hex($WADDR)){
+		$LEN=hex($WADDR) - hex($NextADDR);
+		#print $LEN;
+		for($j=0;$j<$LEN;$j++)
+		{
+			@sort_Data[$i-1].="00 "
+		}
+		@sort_Data[$i-1].="\n";
+		@snap_variable=split(/[0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F]:/,@OriginalRecord[$i]);
+		@sort_Data[$i]=@snap_variable[1];
+		@LLL[$i]=1;
+	}
+	if($PreviousADDR eq $WADDR){
+		@sort_Data[$i-1]="";
+		if(@LLL[$i-1]==1){
+			@snap_variable=split(/[0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F]:/,@OriginalRecord[$i]);
+			@sort_Data[$i]=@snap_variable[1];
+			@LLL[$i]=1;
+		}
+	}
+	else{
+		@DataNum=split(/[0-9a-fA-F][0-9a-fA-F]/,$WData);
+		$DataNum=@DataNum;
+		$PreviousADDR=$WADDR;
+		#@sort_Data[$i].="      ".$DataNum."\n";
+		$NextADDR = &hex_add($WADDR,$DataNum);
+	}
+	}
+	else{
+		if(hex(@snap_variable[0]) >= 16384)
+		{
+			@sort_Data[$i]="";
+		}
+	}
+	#@sort_Data[$i].="      ".$NextADDR."\n";
+	#$sort_Data =~ s/\n//;
+	#$sort_Data.="\n";
+}
+#print Sched_test @OriginalRecord;
+#print Sched_test1 $lap_data;
+#print Sched_test1 $le_lap_data;
+print Sched_test1 @sort_Data;
+#print  $lap_data;
+#print  $le_lap_data;
+#for($i=0;$i<$len_sort_Data;$i++)
+#foreach $sort_Data (@sort_Data)
+#{	
+	#$sort_Data=@sort_Data[$i];
+	#print Sched_test $PreviousData;
+	#@snap_variable=split(/:/,$sort_Data);
+	#$CurrentADDR=@snap_variable[0];
+	#$CurrentData=$sort_Data;
+	#print ($CurrentADDR);
+	#if($CurrentADDR-$PreviousADDR==1)
+	#{
+	#	$CurrentVal=@snap_variable[1];
+	#	@snap_variable=split(/\n/,$PreviousData);
+		
+	#	$PreviousData.=" ".$CurrentVal;
+	#	$CurrentData=$PreviousData;
+	#	@sort_Data[$i]="";
+	#	@sort_Data[$i-1]=$CurrentData;
+		#print ($CurrentData."\n");
+	#}
+	#$PreviousADDR=$CurrentADDR;
+	#$PreviousData=$CurrentData;
+	#print Sched_test $CurrentData;
+#}
+#print Sched_test @sort_Data;
+#close(Sched_test);
+close(Sched_test1);
+
+sub hex_add{
+	my($ADDR,$Len)=@_;
+	$data=hex($ADDR);
+	$data=$data+$Len-1;
+	return(sprintf("%04x",$data));
+}
\ No newline at end of file
Index: util/transform_name2addr.pl
===================================================================
--- /branch/mouse_project/ZhongXinSheng/ZXS_1062/MJ391_24G&BLE_PB/util/transform_name2addr.pl	(revision 0)
+++ /branch/mouse_project/ZhongXinSheng/ZXS_1062/MJ391_24G&BLE_PB/util/transform_name2addr.pl	(working copy)
@@ -0,0 +1,107 @@
+###########################
+#该脚本的功能为：将文件中的寄存器名字改成寄存器地址
+#两者之间的映射关系为$Memmap_path文件中的映射表
+
+$Sched_path=$ARGV[0];
+$Sched_test_path=$ARGV[1];
+$Memmap_path=$ARGV[2];
+open(Sched,$Sched_path)||die("Cannot open files\n");
+@sched=<Sched>;
+close(Sched);
+open(Sched_test,">$Sched_test_path");
+print Sched_test ("");
+close(Sched_test);
+open(Sched_test,">$Sched_test_path");
+open(Memmap,$Memmap_path)||die("Cannot open files\n");
+@memmap=<Memmap>;
+close(Memmap);
+$type_add=0;
+$type_exchange=0;
+foreach $sched(@sched)
+{
+	$sched_begin = $sched;
+	@Sched = split(/[#]+/, $sched);
+	$sched = @Sched[0];
+	@Sched[0] = "";
+	if($sched =~ /mem[\w]+/)
+	{
+		@memmap_name = split(/[\W]+/, $sched);
+		foreach $memmap_name(@memmap_name)
+		{
+			if($memmap_name =~ /mem[\w]+/)
+			{
+				$Memmap_name=$memmap_name;
+				$type_add = 0;
+				$type_exchange = 0;
+				if($sched =~ /$Memmap_name[+]/)
+				{
+					$type_add = 1;#修改的类型第一种，加
+					@ADD_Num=split(/[^0-9\+xa-fA-F]/,$sched);
+					foreach $ADD_Num(@ADD_Num)
+					{
+						if($ADD_Num =~ /\+/)
+						{
+							if($ADD_Num =~ /0x/)
+							{
+								@add_num = split(/\+0x/,$ADD_Num);
+								$add_num1 =@add_num[1];
+								$add_num_begin = "0x".$add_num1;
+								$add_num = hex($add_num1);
+							}
+							else
+							{
+								@add_num = split(/\+/,$ADD_Num);
+								$add_num1 =@add_num[1];
+								$add_num_begin = $add_num1;
+								$add_num = int($add_num1);
+							}
+						}#$add_num是匹配出的需要加的数值，字符串形式
+					}
+				}
+				if($sched =~ /[:] *\t*$Memmap_name/)
+				{
+					$type_exchange = 1;#修改的类型第二种，高低位交换
+				}
+				foreach $memmap(@memmap)
+				{
+					if($memmap =~ /$Memmap_name/ && $memmap !~ /$Memmap_name[\w]+/)
+					{
+						@Memmap=split(/[ \t\n]/,$memmap);
+						$memmap_address=@Memmap[0];
+						$memmap_address =~ s/0x//;
+						if($type_add==1)
+						{
+							$memmap_address_D = hex($memmap_address);
+							$memmap_address_D = $memmap_address_D+$add_num;
+							$memmap_address_H = sprintf("%x", $memmap_address_D);
+							$memmap_address = $memmap_address_H;
+							$memmap_address_add_finish = $memmap_address;
+							$sched_begin =~ s/$Memmap_name\+$add_num_begin/$memmap_address/;
+						}
+						if($type_exchange==1)
+						{
+							$memmap_address_High = substr($memmap_address,0,2);
+							$memmap_address_Low = substr($memmap_address,2,2);
+							$memmap_address = $memmap_address_Low." ".$memmap_address_High;
+							if($type_add==0)
+							{
+								$sched_begin =~ s/$Memmap_name/$memmap_address/;
+							}
+							else
+							{
+								$sched_begin =~ s/$memmap_address_add_finish/$memmap_address/;
+							}
+						}
+					}
+				}
+				$sched_begin =~ s/$Memmap_name/$memmap_address/;
+			}
+		}
+		printf Sched_test ("%s",$sched_begin);
+	}
+	else
+	{
+		printf Sched_test ("%s",$sched_begin);
+	}	
+}
+close(Sched_test);
