Index: empty.dat
===================================================================
--- /1121s/branch/mouse/AI_Project/mouse_public_ai_2mode/empty.dat	(nonexistent)
+++ /1121s/branch/mouse/AI_Project/mouse_public_ai_2mode/empty.dat	(working copy)
@@ -0,0 +1,12288 @@
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+FF
+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: ep.bat
===================================================================
--- /1121s/branch/mouse/AI_Project/mouse_public_ai_2mode/ep.bat	(revision 4836)
+++ /1121s/branch/mouse/AI_Project/mouse_public_ai_2mode/ep.bat	(working copy)
@@ -6,6 +6,7 @@
 e er 0 10
 e ew 0 112233
 e er 0 10
-e ep
+e ep .\output\eeprom.dat
+e er 0 10
 e ku
 e au
Index: ep_empty.bat
===================================================================
--- /1121s/branch/mouse/AI_Project/mouse_public_ai_2mode/ep_empty.bat	(nonexistent)
+++ /1121s/branch/mouse/AI_Project/mouse_public_ai_2mode/ep_empty.bat	(working copy)
@@ -0,0 +1,12 @@
+e pu
+e 8043 0
+e 807d 3e
+e 80da 6d
+e 80db 6c
+e er 0 10
+e ew 0 112233
+e er 0 10
+e ep empty.dat
+e er 0 10
+e ku
+e au
Index: format/app_mouse.format
===================================================================
--- /1121s/branch/mouse/AI_Project/mouse_public_ai_2mode/format/app_mouse.format	(revision 4836)
+++ /1121s/branch/mouse/AI_Project/mouse_public_ai_2mode/format/app_mouse.format	(working copy)
@@ -446,6 +446,40 @@
 1 mem_mouse_delay_send_info_timer
 1 mem_mouse_m_key_press_flag
 1 mem_mouse_m_key_press_count
+
+2 mem_le_dpi_handle
+2 mem_le_app_handle
+2 mem_le_device_info_handle
+800 mem_mouse_ble_att_list
+
+//WEBSITE
+1 mem_mouse_website_control_mode
+1 mem_mouse_website_step
+2 mem_mouse_website_ptr
+40 mem_mouse_website_info
+22 mem_mouse_website_info_sign
+1 mem_mouse_website_wait_count
+
+3 mem_usb_win_cmd
+3 mem_usb_mac_cmd
+3 mem_usb_kb_enter
+1 mem_mouse_website_shift_flag
+1 mem_mouse_website_release_flag
+
+
+
+// 1 mem_le_start_auto_reco_timer
+1 mem_computer_system
+// 1 mem_le_connect_ios_mac_flag
+
+// //SYSTEM AUTO RECO
+// 9 mem_le_search_mac_manu_name
+// 2 mem_le_search_mac_uuid
+// 16 mem_le_search_service_uuid
+
+
+// 2 mem_mouse_le_map_len
+// 200 mem_mouse_ble_hid_map
 )
 
 (
@@ -884,3 +918,18 @@
 6 DATA_DEVICE_INFO
 7 DATA_BATTERY
 )
+
+(
+0 WEBSITE_DONE
+0 RELEASE_MS_DATA
+1 WEBSITE_WIN
+2 WEBSITE_WIN_RELEASE
+3 WEBSITE_WAIT
+4 WEBSITE_DATA
+5 WEBSITE_ENTER_1
+6 WEBSITE_ENTER_RELEASE_1
+7 WEBSITE_ENTER_2
+8 WEBSITE_ENTER_RELEASE_2
+
+30 WEBSITE_WAIT_COUNT
+)
\ No newline at end of file
Index: output/eeprom.dat
===================================================================
--- /1121s/branch/mouse/AI_Project/mouse_public_ai_2mode/output/eeprom.dat	(revision 4836)
+++ /1121s/branch/mouse/AI_Project/mouse_public_ai_2mode/output/eeprom.dat	(working copy)
@@ -18,16 +18,16 @@
 1e
 aa
 55
-80
-18
+20
+1b
 24
 e6
 00
 2c
 6d
 0c
-50
-6e
+57
+c7
 49
 7e
 21
@@ -67,31 +67,31 @@
 7f
 55
 2b
-f8
+13
 ab
 84
 48
 89
 d6
 cc
-10
-f6
+17
+5d
 8b
 23
-f3
-1c
+f4
+45
 f0
 f7
-3a
-5a
+3d
+f3
 7c
 6b
-f9
-c2
+fe
+6b
 41
 76
-25
-de
+24
+67
 f1
 04
 31
@@ -99,47 +99,47 @@
 27
 30
 11
-75
+ab
 5d
 0d
 74
-cd
+36
 7c
 58
-9d
-76
+9e
+18
 b8
 76
-3a
-00
+39
+aa
 eb
 19
-1d
-2b
+1e
+f5
 52
 f6
-dd
-97
+de
+6d
 e3
 6e
-8d
-d3
+8e
+29
 5d
 5c
 db
-a2
+74
 ba
 0b
-1a
-3f
+19
+91
 e5
 98
-b7
-e7
+b0
+8e
 15
 bc
-e0
-38
+e1
+6f
 1c
 84
 c1
@@ -147,51 +147,51 @@
 9c
 52
 df
-8a
+71
 f1
 b7
 90
-2f
+86
 46
 76
-0d
-cf
+0a
+96
 4b
 f0
-1f
-22
+1e
+55
 91
 bc
-52
-9e
+51
+f4
 50
 77
-20
-92
+23
+c8
 6e
 15
 9e
-0c
+f6
 f7
 b8
 27
-5b
+ed
 04
 e6
 9c
 d8
 4b
 48
-4e
-5b
+49
+02
 e3
 aa
 0b
-1a
+c1
 1e
 b4
 6e
-8d
+24
 ab
 2c
 4d
@@ -238,12 +238,12 @@
 04
 55
 b2
-e5
-97
+e2
+fc
 3b
 75
-25
-87
+22
+ec
 53
 47
 25
@@ -251,7 +251,7 @@
 6b
 96
 6d
-64
+8e
 68
 3b
 28
@@ -262,8 +262,8 @@
 3d
 5f
 8f
-57
-38
+50
+91
 4d
 f0
 8a
@@ -2010,8 +2010,8 @@
 82
 c0
 1a
-ad
-94
+ac
+ee
 d3
 88
 9b
@@ -2054,8 +2054,8 @@
 be
 62
 dd
-b1
-74
+b6
+a3
 48
 44
 7f
@@ -2430,8 +2430,8 @@
 d8
 9b
 eb
-18
-e7
+1b
+6a
 7d
 82
 cd
@@ -2454,28 +2454,28 @@
 1d
 29
 7d
-a6
-9d
+a5
+12
 bf
 84
 05
 06
 52
 b1
-d6
-f4
+d5
+79
 d0
 d3
 a8
 1c
 9c
 b6
-8b
-39
+88
+b6
 9a
 13
-87
-82
+84
+0f
 4b
 cd
 29
@@ -2498,8 +2498,8 @@
 6d
 b1
 b3
-36
-93
+35
+18
 8f
 8f
 fa
@@ -2509,16 +2509,16 @@
 07
 4d
 8e
-f5
-cb
+f6
+46
 6b
 51
 13
 d7
 aa
 3f
-20
-de
+23
+6b
 c0
 70
 2e
@@ -2550,8 +2550,8 @@
 0f
 00
 77
-8e
-b9
+8d
+32
 34
 b3
 37
@@ -2562,8 +2562,8 @@
 eb
 56
 9e
-c7
-03
+c4
+88
 c4
 2a
 38
@@ -2586,16 +2586,16 @@
 e7
 2c
 ab
-44
-7f
+47
+f2
 20
 94
 ac
 75
 43
 fc
-69
-d3
+6a
+5e
 1e
 2f
 76
@@ -3114,16 +3114,16 @@
 66
 d4
 e5
-8f
-26
+8c
+ab
 38
 63
 81
 e8
 90
 48
-fd
-f2
+fe
+47
 bd
 c9
 ad
@@ -3162,5031 +3162,5891 @@
 85
 37
 b3
-22
-b3
-f5
-ca
-18
-13
-41
-e7
-01
-c0
+7d
+ef
+f1
+fe
+42
+a1
+45
+d3
+5b
+7c
 4e
 39
-be
-0b
+e1
+e3
 36
-a0
-dd
-3a
-06
-f9
-d0
-90
-24
-9d
-37
+c0
+83
+f3
+71
+5f
+67
+4b
+74
+b4
+93
 19
-5e
-62
-29
-2f
-64
-94
-d3
-eb
-07
-43
-7e
-4c
-cf
+45
+e0
+2a
+0c
+8e
+5a
+ae
 56
-d1
-33
-49
-da
-32
-a0
-30
-c2
-a4
-d0
-53
-a7
-6a
-38
+e5
+e0
+93
+6e
+d4
+d4
+52
+9a
+ab
+79
+df
+af
+08
+a4
+83
+18
+ab
+25
+ea
+34
 0f
 99
-e1
-6c
-bd
-d1
-cb
+f3
+65
+b9
+8b
+48
+0c
+1e
+89
 2f
-a8
-69
-e1
-12
+7b
 db
-91
-e5
-d1
-0b
-60
-c9
-b1
-b3
+8b
+88
+48
+5b
+6b
+d6
 3a
+b2
+da
 c0
-65
-9a
-55
-f2
-a5
-e0
-45
-7b
-67
-50
-78
-2e
+6f
 e2
-80
-b5
+75
+9c
+0c
+98
+65
+07
+96
+6f
 88
-be
-89
-a1
-8d
-3a
-45
-5f
-b2
-06
-be
+af
+a3
+c7
 71
-0e
-aa
-ba
-13
-23
-2b
-f0
-72
-4f
-2f
-d2
-7d
-05
-21
-1b
-b9
-b7
-d8
-34
-d3
-4b
-e4
-64
-40
-92
-a9
-c9
-49
-5f
-e5
-b3
+ad
+2c
+c6
+01
+46
 79
-5c
-de
-b1
-e7
-de
-73
-5d
+f5
+14
+ae
+32
+16
+39
+4b
+c8
+5a
+52
+4e
 91
-f0
-37
-59
-41
-b9
-25
-e5
-a1
-ea
+58
+3b
+0a
+e3
+32
+3f
+68
 b5
-6e
-2d
-6d
-8d
-ad
+fb
+fb
+61
+94
+d4
+90
+1c
+4d
+cc
+0b
+d7
+a0
+29
+0d
+33
+a1
+fb
+51
+9a
+95
+e1
+89
+db
+7d
+12
 53
-ab
+eb
+c1
+b1
+4f
+2d
+27
+5d
+a3
 e4
+76
+29
+8c
+20
+a0
 e2
-5e
-50
-d4
+f3
+66
+11
 4d
-ba
-48
-2f
-32
-85
-91
-a4
-88
-58
+bf
+13
+21
+5b
+7b
+f8
+87
+75
+24
+34
+35
+8c
 2d
-f7
+d5
+78
+c0
+a0
+88
+05
+93
+e1
+01
 98
+50
+34
+f6
+93
+d3
+b0
+60
+9b
+b7
+f8
 98
-c4
-aa
-ef
-22
-f9
+c5
+8a
+72
+69
+07
+97
+79
+2c
+ad
+77
+13
+37
+6e
+fa
+93
+06
+c6
+d7
+d7
+ff
+5e
+41
+f9
+9e
+ed
+14
+71
+25
 e8
-17
+c7
+95
+e7
+94
+1d
+9b
 f7
-ed
-66
-83
-de
-2e
-b6
-f8
-38
-50
-9e
+90
+7f
 da
-06
-00
+9a
+f5
+fc
+3f
+df
+17
+76
+69
+32
+0e
+ce
+63
+73
+05
+08
+d3
 29
-a0
-98
-e2
-9f
-30
-d2
-b2
-39
-ba
-b7
-1d
-65
-60
-f7
-b1
-98
-59
-59
+29
+dd
+7a
+49
+8b
+cf
+64
 5d
-6f
-f4
-31
-5a
-33
-3f
-35
-67
+d8
 40
-4d
-95
-e1
-19
-30
-0a
-19
-3b
 eb
-91
-75
-fb
-1e
-65
-a0
-0e
-31
-63
+e0
+ca
+41
+15
+37
 28
-44
-a2
-bd
-43
-38
-27
 3a
-cb
-88
-88
-f3
-b5
-dd
-8f
-6b
-60
-db
-71
-15
-f9
-55
-cd
-e7
+41
+27
+e3
 95
-8e
-2d
-89
-a6
-ec
-2b
-b4
-d0
-02
-3f
+eb
+a1
+b5
+a3
+b5
 1e
-14
+7a
+90
+81
+ea
 02
-a1
-2a
-f2
-3d
-ed
-a5
-df
-07
-6f
-ef
+9b
+28
+d3
+6e
+d7
+85
+7a
+62
+8d
+af
 bf
-48
-a6
-a7
-ec
-2b
-b7
-9d
+90
+d3
+05
+26
+9e
+f0
+1d
+a8
 2e
-5e
-db
-f6
-30
-81
-f3
-51
-68
-66
-38
-81
-27
+99
+96
+dd
+c9
+bc
+f0
+4d
+78
+07
+41
 b2
-52
+8b
+5a
 6f
-a4
-1c
-cb
-fa
-ea
-4d
-6b
-89
-29
-15
-69
-42
-8d
-f6
-bd
-39
-36
-20
+af
+97
+63
+f4
+5d
+b4
+d3
+e8
+0c
+51
+21
+31
 c0
-9e
-45
-ac
-3c
-3a
-a5
-7e
-9e
-d9
-b7
-08
-51
-be
-0b
-1e
+fb
+72
+f9
+83
+43
+ff
+38
+0c
+a9
+38
+5b
+90
+44
+60
+b5
+82
+ef
+ef
+cf
+9c
+98
 3d
-ce
-8d
-2c
-da
+af
+b8
+c7
+5a
 7b
-da
-91
-c6
-10
-c6
-62
-75
-73
-4f
-32
-20
-f1
-25
-50
-94
+9f
+ee
+f9
+cc
+b9
+d0
+3e
+b0
+09
+8a
+92
+fb
+60
+ee
+96
 ea
-de
+80
 da
 db
-32
-61
-c2
-04
-6f
-8b
-21
-f2
-8b
-64
-32
-a7
+31
+e1
+37
+fe
+0f
+be
+7f
+07
+29
 01
-db
-b4
-12
-79
-ef
-71
-1c
-42
-24
-19
+21
+45
+bb
 38
-f7
-32
-09
-e4
-15
-df
-83
+73
+2d
+bf
+a6
+02
+53
+80
+62
+87
+07
+2b
+7c
+04
+ab
+d6
+19
+1c
 88
+8f
+74
+e1
+2d
+6b
+c7
+4e
+80
+b6
+9d
+cb
+32
 89
-f6
+2b
+eb
+03
+3b
+26
+68
+e2
 ce
-6a
-a8
-01
-2f
-b0
-bf
-1f
-ef
-7d
-4b
-6d
-8a
-e3
-59
-a5
+1e
+d9
+b9
+fc
+86
+d0
+ab
+50
+d7
+be
 16
+cd
+dc
+6b
+d0
+a1
+f7
+26
+eb
+f4
+04
+77
+0e
+de
+68
 18
-ce
-2b
+f8
+76
+11
+d0
+d2
+9a
+01
+64
 67
-b9
-bc
-33
-99
-51
+86
+63
+29
+4c
+03
+3e
+fb
+a8
+9a
+ce
+4a
 50
+4e
+8a
+2c
+0e
 e5
-1a
-16
-ed
-88
-50
-7a
-ca
-b7
+5b
 11
+05
+ac
+70
+82
+f6
+96
+e2
 93
-94
-4e
-68
+53
+c4
+09
+cc
+69
+7a
+c6
 b3
-1f
-2b
-0a
-80
+26
+7f
+fc
 16
-11
-f0
 af
-5b
-e0
-21
-67
-a6
-37
-65
-39
-c7
+ad
+07
+77
+50
+12
+0c
+c1
+3c
+88
+12
+4e
+28
+2b
+06
+12
+83
+9e
+4d
+94
+dc
+36
+40
+e4
 db
-f6
+e8
+06
+fa
+07
+b3
+af
+02
+e2
+22
+e6
 4b
-70
-4e
-4a
-3a
-29
-95
-f4
-0e
-e5
-5b
+61
+79
+22
+51
+ed
 11
-1a
-00
-80
-66
-f1
-3d
-e9
+b8
+a1
+cd
+6b
+5c
 77
-24
-62
-f5
-f3
-91
-98
-0b
-48
 21
-d5
-77
-dc
-97
-95
-75
-77
-98
-72
+0e
+f9
 8f
-aa
-cb
-2e
-aa
-79
-2c
-73
+ce
+99
+93
+57
+21
+49
+0e
+94
+e1
+c3
+5c
+b4
+5c
+be
+75
+f8
 85
-84
-2e
-7f
-0a
-ec
-3f
-d3
-c0
-e4
-c1
+05
+2c
+b9
 87
+33
+8e
 f6
-08
-07
-93
-9a
-b6
+aa
+83
+81
+b1
+67
 ed
+4e
+a5
+fa
+3d
+1d
+8d
+f3
 8a
-ee
-c4
-11
-79
+ce
+14
+c7
+a5
+8a
+7b
 1a
-79
-4f
+27
+6f
+6d
+f2
+be
+5a
+0c
+b4
+db
 e2
-75
-96
-63
-04
-9a
-5b
-c9
-06
-2e
-8f
-9a
-f6
-fa
-e5
-6e
-c9
+34
+ac
+88
+b1
+05
+ea
+1f
+84
+7c
 c8
-b2
-8e
-62
-94
-b8
-08
-99
-06
-5d
-9a
-e3
-9b
-93
-28
-d0
-c6
-69
-ed
-00
-87
 c3
-67
-ec
-c3
-a5
-f5
-94
-dd
+0c
+57
 d2
-04
-2d
-f9
-3a
-84
-26
-4f
-58
-02
-28
+ee
+da
+23
+e1
+7d
+e4
+bb
+88
+51
+a8
+32
 02
-2a
-ba
-d6
-c7
-6e
-ab
-7c
-90
-18
-19
-9d
-c2
-aa
-f5
-f9
-33
-55
-3f
+42
+b7
+ea
+e2
 65
-b6
-c7
-91
-6f
-5c
-51
-fe
-9b
-51
-9e
-20
-18
-d4
-64
-3d
-82
-13
-53
-f5
-c2
-7d
-ec
-eb
-ee
-92
-8f
-6d
-4c
+0f
+cd
+5b
+e9
 e1
+32
+dd
+4a
+27
+db
 d2
-9d
-86
-0a
-42
-97
-26
+46
+fa
+ea
+80
+80
+fd
+13
+2a
+4c
+d5
+21
+91
+ae
+87
 5d
-61
-35
-aa
-60
-04
-39
-e6
-4f
-a3
-90
-ba
-0e
 af
-46
-fe
-e9
-98
-c9
-bd
-17
-be
+7a
+ab
 e8
-90
-5f
-ee
-89
-3b
+51
+59
+9b
+bf
+79
+bb
 d0
-0e
+bd
+58
+97
+2d
+51
+91
+33
+da
+4e
 95
-cc
-ea
-94
-ce
-1b
-03
-12
+8c
+b1
+d2
+a6
+1c
+3e
+ee
 75
-e4
-6d
+e6
+ed
 73
-c7
+46
 9b
-28
-72
-c4
-42
-90
-79
-34
-15
-39
-01
-21
-79
-7b
-09
+4a
+43
+8b
+ec
+2b
+86
+4c
+35
+b5
+97
+9f
+98
+3e
+f0
 3f
 b1
-b3
-13
-4b
-01
-a0
-8d
-28
-42
-dc
+8e
+5d
+77
+72
+7c
+70
+3f
+f9
+de
 8b
-e3
-1d
-fa
-2f
+f4
+84
+16
+c9
 8b
-3d
-f3
-db
-f1
-a3
-51
-8a
+9d
+70
+17
+58
+23
+d1
+fa
 d2
+b0
+80
+d7
+21
+a0
 c5
-6d
-a7
-71
-cb
-fa
-5e
-69
-99
-b5
-04
+5c
+90
+d9
+b6
+24
 a9
-21
-4e
-13
-6a
-43
-2f
-6f
-c3
+41
+78
+71
+12
+63
+4f
+7b
+d4
+3e
+95
 85
-36
-c4
-7c
-04
-b2
-c9
-48
-21
-83
-11
-14
-fa
-07
-66
-3d
-93
-55
-0b
-f2
+2c
+6f
 b4
-0e
-f6
-50
-99
-43
+7e
+07
+82
+c4
+19
+03
+52
+53
+4e
+3a
+3f
 d4
+4c
+fd
+1b
+9e
+17
+18
+91
+5a
+88
 a4
-a2
-e8
-41
+c2
+d2
+be
 8e
 03
-37
-95
+66
+7c
 c6
 f4
-c8
-22
-98
-f4
-cf
-8c
-63
-8a
-9b
-88
-a1
-9a
-70
-42
-d4
-7b
-86
-68
-a4
-ee
-77
-3a
-96
-d3
-51
-fe
-eb
+9f
+3f
+d0
+fc
+0a
+2d
 2c
-ab
-35
-38
-e1
-ba
-0f
+2b
 b2
-68
-96
-52
-55
-85
-4f
-d9
-d6
-98
-16
-a7
-21
-f7
-4a
-55
+09
+11
+92
+1c
+5c
+6c
 1d
-cc
+95
+67
+eb
+2e
+b4
+67
+6e
+da
+e9
+70
+ac
+8e
+b7
+04
+77
+41
+70
+41
+f5
+c8
+53
+df
+1a
 45
-b9
-87
-57
-cc
-0f
-0a
 d3
-bb
-a4
-ef
-71
-bc
-86
+9e
+8f
+f8
+04
+1f
+6e
+53
+2e
+a7
+16
+76
+18
+7b
+94
+ce
+a2
+cb
+31
+b1
+29
+65
+a8
+d2
+a1
+51
 6a
 a6
-36
-34
+4e
+9f
 b2
 a3
-7a
-f5
-7b
-fa
-16
-0e
-17
-bd
+77
+8c
+44
+26
+69
+c2
+6f
+dc
 7c
-f0
-61
-04
-a1
-87
-ce
-b7
-0f
-2d
-b1
-08
-1d
-71
-76
-3a
-a7
-30
+70
+31
+62
+c4
+57
+8e
+d3
+4f
+ca
+49
+88
+9e
+f5
+8e
+ba
+bb
+6c
 eb
 f0
+8d
+cd
+05
+4b
+ce
+ee
+06
 f2
-b6
-fd
-ab
-14
-a6
-49
+2a
+16
+69
 52
-90
-f9
-c7
-a2
-7a
-4f
-43
-5c
-ad
-71
-da
-30
-d6
-ba
-bd
-5a
+fa
+cf
+e4
+bc
+ee
+67
+02
+73
+f1
+44
+42
+1a
 1e
-dd
-5a
-3d
-17
-1b
-65
-97
-2c
-4b
-73
-01
-c4
-d2
-a1
-61
-69
-de
-c1
-83
-a7
-f2
-94
-88
-30
-e3
-62
-16
-72
-ee
-0c
-b8
-42
-38
-f6
-fb
-2c
-ad
-6f
-d9
+d1
+ef
 fe
-da
-9d
-99
-40
-01
-1b
-53
-f0
-76
-7d
-e4
-35
-f9
-bf
-5d
-1b
-68
-dc
-f1
-da
-c2
-15
-e2
-5c
-bb
-25
-a9
-18
+51
+65
+d8
+14
+ec
+10
 2b
-0c
-83
-f0
-40
-be
-12
-90
+3b
+00
 bc
+29
+62
+ab
+14
+09
+a3
+27
+e1
 63
+2d
+0a
+96
+25
+d7
+b7
+fa
+84
 bb
-ae
-4d
+84
+50
+e1
 02
-6c
-b8
-2c
-23
-76
-9a
+ad
+51
+1a
+1d
 1b
+c8
+43
+f8
 e6
-5b
-27
-6d
-0d
-a0
-bf
-6a
-f1
-14
-d7
-0e
-75
-49
-d2
-e2
-62
-eb
-80
-f1
-b4
-68
-2c
-f1
-f2
-8f
-6e
-a0
-30
-71
+00
 01
-99
-d4
+b3
+f3
+88
+47
+e6
+6e
+fd
 bf
-38
-05
-3f
-96
-90
-3f
-16
-40
-b6
+7d
+1f
+61
 dc
-53
-9c
-53
-3b
-3b
-6b
-17
-e8
-68
-ff
-72
-9b
-60
-32
-11
-97
-60
-54
-06
-4f
+f1
+b5
 ef
-76
-1e
-c3
-f0
-ad
-99
-3e
-3a
+15
+82
+6b
+6d
 6a
-27
-d2
-33
-5d
-aa
-4c
-0f
-90
-06
-b8
-2e
-f0
-e7
-92
-bb
-41
-60
-ae
-fe
+69
 f3
-c0
-97
-80
-27
-97
-9f
-74
-58
-9c
+21
+a2
+f8
+b5
+a0
+01
 b2
-3d
-5c
-02
-bc
-29
-39
-1e
-58
-5f
-fc
-87
-49
 58
-e7
-29
-ce
-b9
-88
-bf
-01
-6b
-09
-4f
+1e
+94
+19
+d1
+35
+45
+b5
+f5
 78
-39
-8f
-9e
-ad
-07
-34
-c1
-7c
+6c
+b5
+66
+20
+1e
 db
+54
+75
+f2
 c0
-f1
-0a
-31
-fb
-28
-a3
-7a
-db
-36
-bd
-4f
-24
-0f
-45
-39
-67
-d2
-ae
-b6
-a2
-49
-ec
-fd
-ab
-71
-ac
-c8
-04
-cd
-bb
-70
-a8
-de
-29
-6e
-96
+89
+38
 3d
-be
-7e
-0c
-d9
+7b
+62
+8e
+c9
+38
+1b
+64
+62
+89
+6a
+f6
+c3
+48
+65
+8b
+10
+b5
+6e
+85
+7f
+f3
+44
+55
 66
-15
-bc
-08
-99
-2e
-09
-92
-ef
-53
 d5
-09
-e4
-dc
-c1
-ff
-1f
-3d
-d2
-78
-08
-25
-0a
-90
-ef
-8f
-79
-4f
+3b
+ed
+c8
+30
+2a
+59
 29
-46
-98
-b7
-c5
-cd
-55
-48
-dd
+82
 cd
-5d
-bb
-51
-78
-bb
-9e
-9e
-72
-4e
-31
-d9
-de
-db
-73
+38
+6c
+53
+98
+58
+ce
+af
+f2
+fb
 c5
-59
-35
-88
-73
-1c
-49
-eb
-46
+87
+92
+e7
+a7
+f2
+a4
+cf
+ce
+2e
+c3
 ac
-dc
-88
-22
-ad
-d8
-11
-b8
-79
-de
-d6
-ec
-c4
-21
-55
-f5
-20
-29
-37
-1b
-41
-1f
+a0
+ac
+ea
+87
+5f
+4c
+58
+fd
 e5
-a6
-1a
-dc
-c2
-3a
-af
-3a
-ab
-7e
-85
-34
-02
+8b
+dd
+fb
 74
-3e
-a9
-75
-1a
-c4
-19
-c6
-59
-4b
-77
-33
-aa
+dc
+ef
+ac
+4f
+9c
+f9
+c9
+26
+f3
 64
-39
-6e
-dd
-1f
-dd
+18
 14
-ec
-c0
+a0
+a6
+52
 b9
-36
-c6
-8b
-82
-ff
-ac
-d4
-6b
-87
-6a
-23
-64
-62
-31
-d2
-89
-40
-22
-fd
+30
 b3
-f8
-fb
-1c
-7b
-e5
-9a
-0e
-37
-89
-5a
-e9
-48
-79
-d4
-dd
-d1
-fe
-dc
-c1
-70
-6a
-8e
-76
-ef
-d5
-4e
-7b
+74
+80
+67
+22
 d6
+3b
+9b
+af
+56
 7a
-20
-fd
-96
-b2
-9c
-18
+ff
+10
+f2
+36
+91
+1c
+83
+60
+1f
+8b
+2d
+1f
+66
+6a
+f1
+c1
+c8
+bb
+74
+2c
+a8
 6d
-23
-d2
-97
-c9
-09
+74
+39
+8f
+9f
 dc
+48
+90
+e7
+7f
+38
+0a
+10
+bb
+61
+fc
+f4
+42
+7a
+fb
+04
+33
+00
+86
+7f
+90
+71
+6d
+c8
+fc
+0e
 a4
+31
+a9
+fd
+c9
+f1
+f2
 87
-6d
-8e
+a6
+8c
+b4
+70
+92
 85
-11
-40
+b2
+6e
+f6
+62
+03
 31
-1f
-a0
-6d
+ac
+46
+9f
+11
 86
-45
-98
-63
-78
-c7
-9e
-30
-34
-44
-7c
-27
-f7
-1d
-39
+53
+4a
+61
+a8
+8d
+e7
+b0
+10
+d2
+0a
+96
+a0
+e1
+0b
+3d
+d2
+16
+47
+65
+02
+52
+93
+c0
 d9
-af
-f1
-7a
-c6
-d0
-81
 df
-25
+b6
+a3
+cb
+ef
+8e
+82
 95
-4e
-70
-2f
-c4
-31
-ac
-aa
-0d
-60
-70
-77
-74
-ae
+d2
+f4
+8f
+7b
+8c
+11
 86
-68
-72
-ac
-7d
-52
-6a
-54
-40
-9f
-0e
-dd
-0f
-dd
-fb
-9f
-26
-4d
-41
-48
-15
-3e
-40
-54
-4b
-19
-ff
-a0
-f3
-b1
-84
-dc
-22
 da
-b8
-26
-26
-51
-53
-d1
-7e
-06
-5f
-9b
+9a
+46
+3d
 8e
-2e
-e5
-29
-44
-4e
-c5
-16
-4d
-90
-24
-2d
-6f
-f4
-54
-2d
-36
-a1
-25
-1c
-0f
-0d
-f9
-b9
-53
-45
-73
-6b
-28
-8a
-42
-fa
-e2
-26
-1b
-9e
-40
-6b
-a0
 b5
-51
-9b
-df
-ef
-d4
-e8
+1f
+ae
+dd
+c7
 bd
+bc
+94
+0c
+3e
 a9
-70
-d8
-28
-f3
+c9
+64
+1d
+b6
+9c
+88
+0f
+ad
+98
+53
+58
+66
+76
+6b
+cb
+dc
+22
+b6
+2d
+98
+4f
+4b
+8b
+0a
+9d
 ae
-56
-f8
-11
-c1
-41
-f0
-a4
-a7
+e7
+4a
+e0
+e4
+3a
+1d
+12
+26
+18
+30
+94
+c4
+d6
+db
+9a
+33
+ac
+71
+99
+4a
+77
 09
-ca
+71
 15
-97
-07
-9b
-ed
-de
-2d
-81
-f0
-e9
-0b
-6c
-8d
-38
-d4
-96
-69
-a4
-41
-a0
-53
-f4
-7a
-6d
-ac
-e0
+45
+60
+78
 2c
-6d
-64
-c7
-5a
-80
-f8
-9c
-86
+3d
 aa
-f0
-f0
-6e
-c4
+5d
+95
+b7
+da
+f9
+05
+88
+b4
+42
+42
+b3
+dc
+6b
+88
+24
+84
+85
+a6
+99
+62
+ce
+8a
+2a
+fd
+f3
+cf
+ee
+76
+5f
 bd
-86
-94
-5c
+9a
 a1
-2b
+f7
 4b
-b9
-91
-06
+0a
+e9
+43
+79
+c8
 02
-d8
-13
-e1
-f0
-f1
-72
-2b
-7e
-eb
-b9
-15
-ce
-6b
-7c
-7e
-ee
-9e
-d5
-ef
-c6
-fc
+28
+04
+b1
+66
+8e
+a8
+3c
 76
-4f
-2d
-39
-0f
-a0
-5f
+f3
+e6
 ed
-9b
-31
-ff
-62
-50
-3f
-85
-92
-d4
+7b
+ca
 7a
-08
-e2
-b2
+e6
+4d
+dd
+f7
+f1
+18
+2d
+79
+11
+bf
 88
-17
-ae
-5f
-09
-25
-09
-35
-ac
-2a
-20
-ff
+48
+df
+e3
+05
+21
+93
+ad
 5a
-ac
-69
-49
-37
-51
-1c
-03
+62
+0e
+58
+61
 72
-9e
-f8
-84
-7b
-5f
-38
-29
-d6
-09
-d8
-19
-5f
-9f
-8b
-a9
-35
-18
+ae
+72
+78
+c6
+c6
+60
 7f
-6c
-d2
-fa
-2b
-9c
-8f
-35
-49
+f1
+be
 14
-34
-e4
-54
+14
+30
+10
+19
+2c
+7d
+df
+e6
+e3
 1e
+3f
 c6
-e0
-ed
-2a
-0f
-8b
-92
-74
-2d
-fc
-e7
-53
-cd
-d2
-7f
-52
-b6
-00
-d9
-2a
-39
+4e
+e3
+90
+01
+10
+e3
+d8
+26
+cc
+e6
+63
+60
+05
+a9
+f4
+e1
+46
+82
+75
+a8
+47
+51
 a5
-fc
-fc
-1f
+04
+4a
+c3
+d0
+8d
+65
+b8
+e1
+cf
+0d
+6f
+41
+60
+5e
+1b
+15
+5c
 48
+91
 20
-ba
-f2
-35
-2a
-05
-1b
-40
-1e
+a0
+f0
+30
+a9
+eb
+c6
+9d
 ab
-0a
-7e
-bb
-2c
-a5
-84
-26
-da
-b1
+6e
+28
+e8
+85
+81
+79
+4d
+57
+63
+ee
+7a
+cf
+66
+e0
+0c
+5b
+f4
 80
-19
-db
-5a
+10
+2d
+d5
+6f
+f0
+c7
+22
+9e
+a5
+78
+a4
+06
+e5
+79
+51
+52
+fb
+73
+3b
 43
-8d
-3e
+58
+db
+ba
+eb
+49
+5e
+9e
+40
+6c
+47
+b5
+50
+11
+91
+4a
+b7
+aa
+55
+4b
+d0
+c6
+58
+f3
+ce
+66
+5e
+11
+c4
+45
+0c
+49
+c8
+b5
+3f
+5e
+37
+23
+1c
 d2
 7f
-51
-78
-86
-fe
-fa
+bf
+43
+f0
+e9
+0d
+2b
 6d
-fd
+99
+5c
 bf
-2c
-ce
-d6
-31
-98
-de
-90
-aa
-b3
+69
+a4
+4b
+e6
+68
+28
+52
+c7
+ac
+a1
+78
+a0
+7b
 63
-c5
-64
-08
-0a
-41
-53
 79
-32
-01
-8e
-16
-51
-29
-1c
-8a
-d9
-d7
+0f
+bf
+1e
+c3
+42
+b7
+52
+2c
+c8
+bd
+e6
+fd
+96
+a1
+2b
+13
 2f
-fc
-df
-65
+91
+66
+39
+ca
+5c
+41
+6c
+e4
+c3
+6c
+03
+eb
+09
+50
+b6
+c9
+cc
+3a
 08
-98
-8e
+39
+85
+c4
+86
+f6
+76
 4e
-c0
-31
-22
-f7
-bf
+2e
+b9
+00
+09
+5b
+1f
+6c
+94
+c5
+0c
+17
+be
+47
+49
+d4
+5a
+0c
 49
+fd
+4b
+31
+99
+18
+aa
+60
+b4
+2a
+04
+2c
+51
+ff
+5a
+c8
+48
 49
-cf
-9f
-56
-a6
-b0
-9a
-92
-46
-b7
-34
-1d
+33
+dc
 08
-02
+a0
+93
+5f
+b9
+7c
+bb
+3f
+2c
+29
+d6
+52
+77
+56
+ff
+53
+43
+48
+75
 9c
+bf
+23
+12
+60
+88
+d7
+55
+ea
+89
+ba
+4e
+21
+b6
 b9
-34
+24
+ad
+77
+85
+ec
+0e
+52
+d3
+cf
+31
+7b
+1c
+0e
+7b
+70
+e5
+92
+01
+ad
+37
+86
+a1
+43
+d6
+c4
+cc
+9a
+02
+94
+29
+48
+4a
 d8
-e6
-d5
-03
-68
-5e
-5d
-87
-ba
-8f
-0d
-36
-7d
-78
-5b
-51
-e8
-42
-af
+d9
 a1
-2d
+d4
+2b
+b7
+62
 9e
-0d
-0e
-8c
-9a
-35
-f4
+e0
+62
 99
-4f
-64
-37
-05
-59
-92
+da
 f1
-e4
-5e
-43
-41
-a4
-ed
-e7
-62
-f5
-c8
-c4
-30
-46
-96
+b5
+2d
+6e
+9e
+42
+f9
 92
-6f
-63
-7b
-06
-b3
-3a
-48
-a7
-19
-af
+2d
+d9
+6e
 08
-72
-f7
+86
 c6
-f0
-50
-ed
-9c
-d7
-16
-71
-e4
-95
-a2
-68
-9f
-62
-7c
-e3
-41
-da
-29
-bd
-74
-13
-0c
-91
-4d
-13
-c1
 1e
-6f
-b5
-5f
-b9
-66
-23
-c8
-80
-03
-62
-77
-5f
-c7
-fe
-20
-f8
-a2
-24
-a6
-06
-3d
+b2
+12
+a1
+78
 74
-08
 b6
-8b
+f3
+80
+c1
+36
+4c
+80
+a4
+05
+b0
 88
-08
-58
-56
-c7
-13
-ad
+a4
+3f
+14
+6a
 9e
-b9
-6b
-8c
-41
-38
-e0
-61
-0d
+fe
+28
 29
-70
-b4
-47
-92
-03
-ec
-24
-9b
-2b
-07
-1a
-5e
+53
 a0
-1c
-23
-4d
-70
-39
-56
-68
-3f
-c0
-bf
-5e
-44
-7a
-ce
-76
-f5
-9d
-48
+78
 1f
-55
+db
+5f
+4b
+74
+df
+25
+0c
+24
+8e
+49
+86
+5a
+87
+8b
+fd
+f0
+49
+cc
+1b
+eb
+01
+53
+d8
+20
+46
+f7
+60
+8c
+47
+a1
+c9
 6d
-b4
-de
+73
+0f
+a4
+78
+1c
+cd
 7a
+86
+8f
+b8
+8e
+57
 71
-14
-11
-aa
-23
-24
-54
-6f
-2a
-74
+fc
+3d
 85
-0f
-45
-3b
-d4
-88
-75
-d6
-d2
-07
-21
-e0
-4b
+01
+ed
+a4
 50
-d0
-18
-c2
-6b
-79
-19
-ea
-22
-7c
-3f
-5c
-7c
-f4
-a6
-77
-7c
-2a
-19
-3a
-e1
-62
-5d
-25
-7f
-40
-4a
 a1
-33
-7b
+4d
+ca
+74
+41
+2c
+09
+6e
+14
+d9
 4e
-6f
-b9
-9b
-82
-73
-fb
-08
+13
+37
 05
+62
+8b
+f1
+84
+3b
+99
+0e
+00
 98
-e0
-c7
-fa
-83
-96
-15
-6e
-10
-a4
-26
-68
-44
-b4
-54
-76
+7a
+81
+bd
+1d
+df
+30
+46
+a8
+da
+6f
+63
 2b
-1b
-b0
+44
+b3
+4e
 2c
-98
+31
+56
 0b
-e6
-e5
-f8
-b0
-c9
-82
-a5
-6f
-7f
-5e
-a4
-d2
-9c
-f9
-54
-81
+4b
+98
+15
+1e
+af
+18
+ed
+fc
+ec
+9e
 3e
-4a
-6a
 44
+0f
+2d
+2f
+3f
+f3
+a8
+e3
+61
+81
+c8
+bd
+74
+2a
+ec
+91
+4d
+30
+8f
+1e
+6f
+ea
+4a
+e9
 6d
+04
+c8
+80
+63
+6a
+a0
+10
+63
+e5
+3d
+1c
+96
+78
+a3
+b3
 bd
-70
-d0
-46
-a7
+f9
+01
+ad
+b4
+08
+8f
+a2
+56
+85
+f3
+b2
+37
+06
+14
+25
+89
+7e
+a9
+9b
+2d
+65
+01
+09
+e7
+5f
+81
+a3
+e4
+1f
+9f
+b7
+2d
+a0
+a8
+4c
+28
+30
+50
+03
+54
+16
 af
+6d
+dd
 43
-58
-d2
+e5
+7a
+f4
 72
-f7
-d5
-d6
-00
-57
-62
-54
-e7
-35
-59
-d5
-c1
-68
+0a
+28
 c8
-f5
-52
-9b
-31
-10
-fb
-03
-cc
-47
-b2
-6f
-1f
-08
-52
-3b
-07
-c6
-0b
+9c
+6d
+76
+f4
+de
+f0
+21
+7c
+29
+4a
+d9
+64
+48
+80
+9f
+d4
+17
+9a
 a4
-3b
-6e
-ec
-2a
-b1
 9b
-d5
+96
+68
+c0
+56
+5e
+5c
+3b
 df
-75
-88
-35
-b1
-95
+cb
+53
+30
+6d
+85
+8e
+36
+99
+23
+49
+6b
+94
+b9
+e9
+a4
+c1
+0a
 f2
-e8
+7a
+32
+1f
 0f
-53
+58
+1f
+5b
+ef
 e8
-f8
-e0
-43
-36
-dc
-72
-93
+22
+62
+64
+9b
+04
+bf
 2f
-07
-c2
-c8
-0c
-9d
-52
-34
-bc
-03
-75
-61
-2c
-08
-84
-3a
-fe
+7b
+bb
+72
+16
 a7
+ff
+da
+b3
+c5
+73
+d0
+19
+ba
+93
+dc
+87
+f9
+80
 67
-45
-6c
-f1
-df
-31
+a5
+1b
+b6
 b7
-79
-44
-09
-04
+8c
+28
+53
+1d
+18
+a1
+27
+e1
+ec
+d6
 29
-ee
-a4
-92
-7e
-c6
-f1
-2d
-7e
-1c
-3b
+23
+2c
+7f
+3e
+a7
+44
+9b
+51
+55
+5d
+de
+6a
+ea
+4a
+07
+97
+4a
+c4
+01
+67
 63
-df
-80
-68
+20
+67
+71
+d6
+18
+ba
 7c
-3f
-df
-9c
-38
-f5
-0c
+60
+52
+15
+f6
+0e
 a4
-d2
-cc
-a1
-11
-e8
-e4
-7c
-7e
+1e
 75
-7f
-92
-a3
-c6
-11
-d1
-47
+60
+0d
+f2
+b7
+0c
+6d
+7e
+b0
+64
+b6
+f2
 5f
-63
+b6
+6f
+4f
+02
+38
 dc
-9e
-8a
-36
-68
-de
-d0
-b2
+0a
+ac
+aa
+ba
+3b
+4e
+b5
+17
 c9
-d8
-5f
-3f
+bb
+8c
+f6
+32
+28
+c9
+01
+d6
+66
+22
+0a
+2b
+a8
+ce
+5e
+04
 97
-78
-56
-c0
+9e
+9b
+c3
+48
+a5
+d9
+48
+4c
+9d
+54
+3c
+bc
+44
 70
-35
-1d
-76
-31
-8f
-b8
-58
-08
-e9
+c4
+43
+8d
+b7
+c2
+de
+a7
+60
+55
+63
+b3
+0c
+3e
+1e
+fd
+69
+00
+7c
+15
+ee
+b3
+3b
+ee
+3e
+f1
+2d
+61
+90
+44
 dc
-25
-4d
-3c
-2b
-5b
-e7
-16
-86
 7b
-aa
-f3
-66
-7a
-f9
-1e
-e4
-c4
+04
+60
 7f
-26
+39
 9f
-46
-d0
-7d
-97
-3d
-a4
+06
+bb
+70
+3b
+01
 b1
-3f
-57
+46
+1b
+56
+28
+7e
+64
+61
+d3
 03
-f5
-0c
-ec
-d2
-a0
-ab
-70
-99
-88
-f4
-b8
+7c
+41
+06
+0a
 c0
-30
-6c
-25
-63
+08
+9f
+c9
+b4
+a1
+2b
+12
+f9
+de
+d0
+ec
+c1
+38
+9e
+bd
+97
+78
+56
+c9
+a8
+31
+67
+7b
+db
+c7
+d0
+ca
+9f
+a6
+7e
+35
+69
+7b
+89
+7f
+15
+51
+24
+3e
+12
+f3
+06
+1b
+41
+51
+44
+53
+50
+26
+a5
+27
+5e
+7d
+f7
+1a
+6d
+07
+eb
 2a
-25
-e7
-fe
-ad
-96
-3d
+03
+a5
+09
+46
+d3
+f0
 ae
-e1
-63
-42
-17
+97
+dd
+dc
+cb
+f8
+ca
+30
+6e
+a7
+f7
+32
+28
+de
+1a
+11
+8a
+44
+f3
 ae
-7e
+e5
+85
+04
+4d
+35
 71
-87
-40
-9e
-1b
-f0
-79
-e9
-e8
-ac
-f5
-6b
-e8
-ee
+81
+0f
+5e
+b2
+de
+7d
+93
+8d
+4e
+a5
+60
+ad
+b0
 90
 7d
 8d
-05
+23
 27
 0d
-20
-8f
-72
-32
-75
-25
-95
-80
-e8
-78
+2c
+d1
+d4
+2d
+34
+64
+da
+40
+4f
+13
 ca
-d2
-7a
-38
-27
-c7
-b2
-5e
-88
-ed
-f1
-15
-d0
-dc
-bd
+e8
+7f
+6c
 57
-3a
-ad
-c8
-06
-62
-2f
-ef
-13
-20
-9a
-1c
-18
-2b
-f4
-61
-cd
-91
-6d
-9d
-e2
-aa
-ad
-15
-c6
-7c
+c7
+85
 db
-a9
-d4
-15
-c3
-96
-a1
-10
-fd
-e5
-e3
-6e
+2e
+0d
+b6
+68
+e7
 3c
+7b
+57
+79
+75
+df
 b3
-77
-e2
-7d
-98
-5c
-7d
-90
-ca
-94
-85
-24
-b9
-02
-80
-b7
-51
-69
-19
-af
-bb
-7e
-4c
+2d
+ef
+70
+82
+c0
+d8
 99
-ad
-3f
-af
-2b
-bc
-8c
+f6
+cb
+b4
+e1
+85
+71
+4c
+1b
+dd
+e5
+69
+32
+80
+d7
+2a
+ee
+c7
+14
+43
+16
+a9
 f2
-95
-39
+25
+e5
+e9
 6e
+5c
+d6
+7c
+e5
+d4
+1b
+d0
+3a
+31
+e1
+b9
+9d
+29
+9d
+5d
+80
+b7
+31
+e8
+1e
+03
+3a
+37
+af
+c6
+a3
+80
+e4
+eb
+a5
+55
+12
+b5
+87
+89
 c2
 60
-ad
+c8
+63
+ae
+a5
+5c
+55
+e7
+9f
+09
+04
+1b
+f2
+da
+d1
+59
+c4
 1e
-fe
-a3
-64
+d9
+90
 ef
-af
-f7
-9b
-cf
-54
-56
-f3
+53
+a6
 35
-f2
-93
-b8
-da
-72
-46
-e6
-4e
-98
-e7
-52
-4a
+8e
+fb
+9f
 26
+dd
+82
+1e
+c5
+34
 87
-87
-7b
-b5
-32
-e2
-10
-12
-ac
-50
-56
-50
-b8
-8b
+03
+cf
+d5
+29
+27
+1b
 79
-94
-fe
-05
-63
-92
-67
-87
-de
-02
-76
-4d
-3d
-df
-80
-d7
-ab
-96
-59
-15
+18
 c2
-04
-61
+74
+be
+55
+30
+92
+07
+86
+a1
+38
+14
+1d
+91
+e7
+f4
+56
+2b
+86
+57
+b4
+65
+b3
+20
 2a
-a5
-17
+2d
+50
+3f
+5e
+42
+0e
+2c
+9b
+ad
+e2
+4d
 9e
-4e
-4f
-1e
-21
-ba
-c5
-1a
-cd
+22
+ef
+b1
+66
 e8
-7d
-a0
-71
-f5
-5d
-1f
-de
-0f
-a5
-a6
-2f
-21
-43
-c0
-bb
-24
-23
-20
-72
-0d
-81
+ff
+9e
+36
+9a
 46
-df
-4d
-e4
-00
-7c
-e0
-70
-ad
-9b
-53
-6e
-62
-e4
-dc
-0f
-1a
-1d
-55
-56
-29
-35
+77
+7e
 64
-7b
-fb
-fa
-72
-85
-4a
-25
-d7
-76
+20
+83
+f8
+88
+8f
+ba
+4f
+15
+a5
+f7
+f4
 9c
-ec
-50
+00
+7c
+d8
+02
+e2
+3b
+cf
+98
+82
+fb
+39
+fb
+b5
+d5
+97
 c9
-df
+cb
 8d
-fb
-99
-20
-c7
-10
-53
-52
-8c
-cc
-a8
+38
+58
+ab
+93
+45
+ad
+ff
+a5
+5c
+3c
+db
+2c
+c3
+5b
+90
+0d
+33
+c3
+1f
+66
+6d
+bd
+b2
+ac
+ab
+30
 e1
-9e
-c4
-80
-9c
-84
-51
-76
-c6
-56
-2b
-27
+fe
+e5
+75
+cc
+8d
+03
+e3
+6c
+7d
+45
+07
 ec
 36
-cb
-8e
-05
-36
-43
-b2
-8f
-37
-2d
+cc
+7a
+32
+d2
+04
+e8
+6b
+63
+44
+ae
 4b
-e4
-60
-d7
-65
-3d
-91
-54
-d7
-f5
-57
-75
-13
-67
-fb
-79
-2f
-da
-64
+d0
+c8
+40
+dc
 ce
-0a
-12
-b2
-5b
-86
-16
-e8
-d3
-8e
+8d
+1a
+0f
+37
+22
+3b
+37
+c6
+0e
+2a
+dd
+cc
+c1
+14
+f2
+f4
+db
+af
+51
+28
+4c
+00
 ea
 60
 6f
-b6
-2e
-8a
-c8
-35
-6c
-80
+72
 f1
+15
 b3
-8d
-1f
-f8
-6e
-06
-8a
-90
-7f
-2f
-2e
-72
-67
-75
-5a
-34
-f4
-81
-77
-bb
-a8
-8a
-ff
-31
-7d
-d8
-ff
-09
-41
-05
-a9
-a4
-cf
-14
-85
+87
+53
 26
-f8
-f5
-eb
-5b
-e9
-c5
-b2
+d5
+68
+b3
 7c
-22
-56
-7e
+fb
+a4
+e4
+28
+11
+9e
+60
+8e
+be
+99
+db
 bc
-22
-1a
-a6
-cb
-1e
+7c
 8e
-6d
-55
-d5
+81
+76
+3b
+a8
 da
-a6
-53
-2c
-ff
-07
+97
+1c
 43
-86
-ed
-a3
-d1
-52
-ec
-76
-f7
+d8
+9f
 5a
-ad
-bc
-4a
-33
-9e
-39
-0b
-5e
-12
-ea
-77
-7b
-25
-97
-6c
-72
+0f
+1a
+02
+49
+1f
+f5
+45
+26
 75
-27
-a3
-10
-ff
-c7
-18
-b4
-3d
+ba
+4b
+f1
+f6
+6a
 2d
-fe
-bb
+30
+c4
+56
+2d
+6e
+08
+fa
+c0
+ce
+ae
+de
+06
+27
+c9
+95
+66
+95
+31
+4f
+4c
+31
+07
+0d
+83
+06
+b0
+44
+3f
+66
+68
+ad
 dc
-93
-92
-9d
-39
-77
-f1
-89
-9b
-69
+48
 e9
-a6
-11
 d1
-36
+f9
+ca
+dc
+bc
+8e
 30
-0d
-c4
-37
-53
+68
+88
+e2
+73
+fb
+da
+c2
+ef
+de
+c0
+05
+67
+4c
+72
+8d
+62
+82
+73
+0c
+d1
 79
-59
+d9
+28
+22
+87
+9c
+c1
+e9
+b6
+11
+d1
+01
+90
+41
+ec
+71
+1a
+01
+79
+19
+11
+07
+ef
+11
+9a
+40
+79
+61
+19
+3f
+d8
+83
 1c
-d0
-3d
-cd
-06
-7f
-e7
-35
-f1
-34
 00
-1b
-27
-33
-67
-92
-1d
+24
+45
 0d
-68
-49
-df
-61
-9c
-ae
-e6
-50
-d3
-23
-89
+1f
+eb
+3f
+99
+7f
+6e
+88
+a7
+91
+41
+8d
 be
-0d
-e3
+4a
+40
+c2
+c3
+9f
+2e
+b8
 df
-35
-a5
-0c
-b9
-6a
-f7
-4f
-bc
-a4
-b1
-37
-22
-20
+8f
+0f
+d2
+cb
+ec
+57
+ef
+c4
 a6
 e4
-6f
-c8
+61
+b2
 51
-e6
-27
-7a
+86
+28
+41
 7a
 f0
-51
-33
+31
+90
+bf
+0b
+93
+42
+1a
+56
 bb
-3f
-96
-9e
-55
-f6
-45
-b6
-25
-f8
-97
-ac
-07
-27
-43
-be
-4b
+4e
+1a
+59
+ec
+60
+40
+e7
+bd
+e3
+37
+99
+69
+1c
 ad
+d1
+94
+4d
+32
 6c
-cb
-ba
-7e
-b7
-5a
-75
-ce
-0c
-9b
+53
+a3
 21
-88
-a9
-66
+c8
+f5
+6d
 10
-99
-d4
+94
+f7
 7d
-4c
-40
-c4
-a1
-25
-3d
-6f
-08
-d2
-67
-de
-05
-4b
-6a
-c6
-53
-ba
-f0
-cf
-6a
-85
-90
-12
-5c
-4b
-43
-39
-28
-5b
-23
-56
-04
-5e
-df
-a1
-9c
+03
+80
+5d
+6e
+33
+e2
 58
-35
+5f
+74
+82
+98
+fd
+4b
+0a
+af
+33
+c5
+4f
+68
+d9
+8d
+92
+9e
+74
+37
+79
+61
 48
-f3
+53
+20
+57
+c0
+1d
+05
+3f
+c1
+08
+32
+2f
+7a
 16
 1c
-5d
-b7
+01
+bf
 b2
-a2
-ce
-33
+c2
+a9
+e8
 b0
-b5
-2f
-b7
-0f
-6b
-e1
-ea
-ad
-cb
-92
-0f
+d5
+22
+88
+35
+09
+9a
+39
+4f
+0a
+c1
+4a
 d2
 21
+8b
 86
-8a
 93
-90
-37
-24
-38
-ed
-1c
-18
-7a
-7b
-0a
-12
+aa
+6e
+67
+20
+ee
+9b
+42
+2a
+70
+1d
+a7
 60
-56
+76
+39
+75
+9c
+8c
+45
+12
 58
-6f
-d3
-2c
-8d
-81
-5c
-ee
-61
-07
-bb
-d3
-c3
-00
+b4
+35
+e5
+a4
+78
+49
+25
 a7
-00
+1a
 44
 68
-d5
-d6
-96
-ba
-a0
-98
 85
+bf
+92
+00
+16
+42
+ff
 9e
-46
-a3
-e6
-37
-f3
-b6
-40
-a5
-34
-63
-c9
-3d
+16
+aa
+cb
+36
+cc
+14
+61
+4b
+78
+5f
+0f
+79
 96
 c3
-4c
-0a
-f3
-1f
-94
-8a
-34
-b2
-a4
-61
-83
-8c
-28
-fa
-96
-ea
-8b
+4d
 31
-11
-41
-1e
-d2
-a5
-fa
-43
-57
+1b
 1e
-b8
-6a
+94
+8a
+30
+ca
 24
-e6
-c7
-f9
-89
-04
-9f
-de
-78
-b8
-16
-eb
-6d
-0e
-b5
-86
-20
+64
+83
+88
+a9
+a1
+cd
+a7
+f2
+cd
+5e
+83
+51
+b6
+e9
+88
+e5
+a4
+51
+18
+a9
+9d
+5e
+a1
+e5
+2b
+4b
+5d
+9e
+30
+59
+a9
+3c
+96
+41
+15
+47
+4b
 d0
-3f
-1c
-b0
-4a
-2e
-40
-8c
-c5
+65
+4b
+55
+3d
+86
+79
+36
+cd
 b0
-01
-0c
-d9
-f7
-25
+00
+39
+19
+b1
+59
 b3
-64
-44
-a2
-e8
+23
+84
+3d
+79
 72
-34
-27
-fc
+54
+2a
+60
 69
-fe
-5b
-75
+9e
+5d
+e0
+ac
+df
+bf
+95
+2e
+c9
+40
+95
+f7
 e4
-d7
-7c
-03
-61
-09
-85
-2a
-00
-46
-aa
-3e
+91
+2d
+6b
+20
+c8
+8d
+d4
+62
 8f
-17
-4e
-83
-37
-3d
-0f
-09
+06
 a6
-4d
+2d
 16
-65
+7c
 79
 47
 c2
-51
-e3
-c1
-9d
-11
+5a
+ab
+c9
+5d
+5f
 c5
-74
 14
-8f
-66
-d6
-fa
-46
+2d
+99
+2e
+de
+3a
+08
 93
+9c
+af
+40
+fa
+62
+f6
+fb
+b6
+52
 fc
-fc
-ef
-b2
-0a
-67
-44
-8c
-53
-ec
-87
-3c
+73
+38
 57
-de
-ba
-18
-44
-5d
-d0
+57
+8b
+22
+25
+7d
+64
 74
-75
+15
+e1
+3a
+f0
+f0
+bf
+6a
+30
 b0
-c3
-ca
-f1
-9f
-c0
-78
+db
+68
+e7
+0b
+bd
+74
+c7
+29
+5e
+89
+11
+e2
+39
 d8
-4a
+41
 cb
-dd
-0a
-ad
-91
-8f
-41
-cf
-2c
 e7
-37
-6c
-69
-2e
-2b
-2e
-8b
-3d
-52
+07
+1d
+28
 71
 05
-a4
-8b
-00
+bb
+69
+22
 71
-aa
-55
-40
-00
-00
-40
-05
-00
-73
-07
-a0
-00
-00
-00
-00
-00
-00
-00
-00
-d7
-18
-be
-f2
-4c
-e9
-00
-00
-00
-00
-00
-20
-00
-60
-04
-00
-00
-00
-00
-00
-00
-10
-04
-70
-00
-00
-06
-00
+4d
+7a
+e0
+d1
+bc
+ea
+76
 30
-00
-00
-00
-00
-00
-00
-00
-00
-65
-a4
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-aa
-55
-08
-00
+8f
+bb
+3c
+2d
+3b
+b0
+dd
+dd
 13
-47
-04
-49
+6d
+61
+6f
+6b
+92
+9e
+6e
+d6
+06
+dc
+d2
+88
+5a
+63
+ac
 4a
-00
-02
-22
-c1
-1b
-aa
-55
-1e
-00
-44
-46
-07
-01
-02
-07
-01
-02
-0a
-0b
-14
-15
-ff
-00
-00
-00
-ff
-ff
-08
-0c
-ff
-ff
-ff
-ff
-ff
-05
-ff
-ff
-ff
-ff
+09
+3e
+7d
+79
+68
+38
+a2
+9a
+bb
+f5
+7d
+34
+3b
 86
-ff
-aa
-55
-02
-00
-26
-4b
-01
-00
-aa
-55
-01
-00
-42
-4b
-1e
-aa
-55
-01
-00
-29
-47
+ec
+f3
+f4
+08
+d2
 01
+41
 aa
-55
-02
-00
-ff
-46
-00
-14
-aa
-55
-03
-00
-02
-47
-05
-02
-05
-aa
-55
-01
+c8
+5b
+10
+c0
+96
+7f
+d9
+86
+3f
+1b
+8e
+8d
+3f
+ba
+7f
+de
+1f
+e9
+a2
+f1
+f1
+5a
 00
-07
-47
-14
-aa
-55
-01
-00
-05
-47
-02
-aa
-55
-02
-00
-0a
-47
-02
-06
-aa
-55
-01
-00
-0d
-47
-0a
-aa
-55
-01
-00
-12
-47
-0a
+20
 aa
+59
+7e
+dd
+13
+c3
+db
+8e
+77
+87
+6c
+15
+f9
+25
+bb
+3c
+51
+20
+3a
+5e
+31
+21
+f1
+69
+99
+69
+97
+5a
+a1
+e6
+d8
+cf
+8c
+3d
+18
+1c
+d7
+16
+2d
+25
+d5
+ae
+26
+80
+27
+1d
+6f
+a6
+8a
 55
-02
-00
-0f
-47
+ca
+16
+10
 58
-02
-aa
-55
-02
-00
+c4
+31
+92
+d8
+8b
+a2
+5c
+cc
+10
+9b
+74
+2f
+80
+74
+6e
+16
+5d
+75
+d0
+a4
+a6
+ef
+73
+4d
+28
+ee
+54
+d6
+99
+90
+f5
+e8
+2a
+79
+60
 3a
-46
-58
-02
-aa
-55
-01
-00
+d1
 3d
-46
-64
-aa
-55
-02
-00
-21
-47
-05
-00
 aa
-55
-01
+8d
+85
+2d
+d9
+bc
+b2
+19
+84
+be
+c6
+23
+67
+7e
+5c
+35
+ae
+88
+bb
+6f
+9e
+1f
+bb
+9c
+42
+2c
+e5
+3e
+f1
+94
+0d
+4f
+63
+f6
+db
+12
 00
-3c
-46
+18
+df
+16
+ab
+72
+a1
+23
+cc
+40
+ce
+ef
+b7
+87
+a3
+4c
+04
+c4
+86
+37
+cd
+bf
+1d
+6a
+a6
+4f
+48
 64
-aa
+a5
+89
+10
+ca
+a1
+22
+49
+66
+96
+92
+fb
+0f
+bd
+3a
+06
+ab
+ff
+a7
+73
+74
+39
+c5
+4a
+0a
+a3
 55
-02
-00
+c6
+eb
+c2
+93
 38
-46
-b0
-04
-aa
-55
-01
-00
-1e
-47
-0a
-aa
+1a
+fb
+92
+7e
+e0
+0e
+4d
 55
-02
-00
-25
-47
-70
-17
-aa
-55
-01
-00
-cb
-43
-08
-aa
-55
-01
-00
-1b
-47
-03
-aa
-55
-01
-00
-94
-40
-01
-aa
-55
-01
-00
-c0
+d3
+9e
+28
+cf
+fb
+3d
+d4
+13
+80
+36
+61
+f7
+c7
+8c
+71
+ec
+6d
+b9
+29
+bb
+f1
 40
-20
-aa
-55
-01
-00
-6b
-49
-20
-aa
-55
-03
-00
-3c
-47
-00
-00
-00
-aa
-55
-08
-00
+70
+c6
+a6
+16
+6d
+86
+86
+a9
+c4
+a6
+70
+8b
 66
-46
-00
-34
-ff
-ff
-ff
-ff
-ff
-ff
-aa
-55
-07
-00
-74
-46
-34
-ff
-ff
-ff
-ff
-ff
-ff
-aa
-55
-07
-00
-81
-46
-34
-ff
-ff
-ff
-ff
-ff
-ff
-aa
-55
-01
-00
-28
-47
-03
-aa
-55
-01
-00
-27
-47
-07
-aa
-55
-01
-00
-21
+4f
 4b
-ff
-aa
+98
+ec
+0d
+b2
+8c
+9a
+50
+0d
+37
+9f
+6f
+35
+f7
+1c
+e5
+a5
+4e
+57
+ee
 55
-06
-00
-e6
-46
-ff
-ff
-ff
-ff
-ff
+83
+df
+bd
+22
+74
+50
+95
+4d
+d4
+3c
+b4
+ca
+18
+fa
+a6
+0b
+44
+cd
+8f
+a9
+a6
+8d
+c7
+f0
+33
+25
 ff
-aa
-55
-06
+e8
+5d
+c1
 00
-f1
-44
-02
+60
+45
+78
+ed
+8e
+70
+be
 21
+1e
+5a
+b5
+8b
+b3
+7f
+22
+7c
+0e
+be
+9c
+b1
+22
+25
+de
+a4
+cf
+ea
+a0
+90
+cc
+b5
+bb
+d4
+2b
+68
+2d
+14
+1c
+3c
+0d
+c9
+48
+8e
+cf
+fa
+1d
+c1
+b2
+9d
+7c
+94
+b4
+6f
 26
-55
-51
-61
-aa
-55
-01
-00
-89
-45
-01
-aa
-55
-05
-00
-e3
-45
-01
-0f
-0f
-0f
+e1
+76
+68
+5b
+ad
+a7
+8e
+d3
+c9
+81
+31
+32
+24
+ad
+84
+ae
+8b
 0f
-aa
-55
-01
-00
+f6
+f9
+86
+32
+3b
+0c
+db
 b9
-45
-00
-aa
-55
-01
-00
-40
-47
-02
-aa
-55
-01
-00
-ca
-45
-00
-aa
-55
-01
-00
-7b
-47
-00
-aa
-55
-02
-00
-8b
-45
+97
+5a
+f1
 c0
+c5
+96
+1c
+39
+76
+42
 12
-aa
-55
+22
 07
-00
+96
+e1
+45
+89
+ba
+b1
+db
+ea
+d6
+db
+f2
+4b
+9c
+54
+1d
+89
+8f
+19
+d5
 43
-47
-d0
-52
-00
-80
-bb
-00
-05
-aa
-55
-04
-00
-55
-47
+7a
+be
+c8
+32
 80
-bb
-00
-00
-aa
-55
-07
-00
-4a
-47
-70
-11
-01
-00
-77
-01
-0b
-aa
-55
-04
-00
-59
-47
-00
-77
-01
-00
-aa
-55
-03
-00
+44
+d8
+72
+17
+8e
+b7
+0a
+8d
+f4
+6b
+56
+ad
+7e
+92
 af
+9f
+33
+6f
+7b
+ec
+6a
 45
-00
-48
-60
-aa
-55
-02
-00
-1d
-46
-2c
-01
-aa
-55
-02
-00
-1b
-46
-50
-00
-aa
-55
-02
-00
-23
-47
-64
-00
-aa
-55
-01
-00
-f4
-46
-01
-aa
-55
-06
-00
-db
-42
-51
-81
-91
-a1
-b3
-c1
-aa
-55
-01
-00
-93
-43
+a9
+3f
+58
+75
 07
-aa
-55
+9c
+c7
 08
-00
-c0
+31
+0c
+69
 43
-fb
-00
-48
-08
-fb
-00
-48
-08
+b6
+44
+98
+90
+cc
+6d
 aa
-55
-02
-00
-be
-47
+7b
+cf
+a4
+49
+e5
+fd
+e4
+40
+a2
+b4
+0c
+61
+68
+9f
+3d
+91
+cd
+49
+67
+b6
+41
+40
+81
+f7
+ee
+14
 96
+e7
+0b
+d4
+ae
+a2
+17
+e3
+3f
+44
+51
+e1
+3a
+d3
+dc
+ba
+17
+7f
+f7
+a5
+c9
+db
 00
-aa
-55
-02
+2d
+c0
+9c
+5f
+bd
+13
+c0
+d8
+5f
+ed
+f3
+50
+63
+b0
+71
+e5
+51
+98
+71
+53
+81
+a7
+84
+99
+9d
+be
+76
+90
+9d
+07
+bf
+2f
+c0
+8d
+cf
+3f
+6a
+a1
+a8
+38
+7f
+6b
+e8
+fc
+9d
+87
+93
+b4
+45
+c4
+14
+81
+3f
 00
+64
+3d
+86
+13
+01
+a7
+85
+fb
+b9
+cb
+8b
+51
+d7
+9c
+27
+59
+c0
+38
+08
+d6
+77
+33
+97
+ef
+fd
+64
+69
 b5
-47
+c3
 15
-00
+88
+8b
+c9
+5e
+b6
+21
+e4
+e4
+43
+59
+7c
+73
+bf
+47
+cd
+3c
+89
+2a
+b1
 aa
 55
-02
+40
 00
-9b
-43
-19
 00
-aa
-55
+40
+05
+00
+73
+07
+a0
+00
+00
+00
+00
+00
+00
+00
+00
+d7
+18
+be
+f2
+4c
+e9
+00
+00
+00
+00
+00
+20
+00
+60
 04
 00
-b7
-47
-1d
 00
-21
 00
-aa
-55
-02
 00
-32
-43
-2d
+00
+00
+10
+04
+70
+00
+00
+06
+00
+30
+00
+00
+00
+00
+00
+00
+00
+00
+65
+a4
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
 00
 aa
 55
-02
+08
 00
-bb
+13
 47
-30
+04
+49
+4a
 00
+02
+22
+c1
+1b
 aa
 55
-0c
+1e
 00
-48
-43
-1f
+44
+46
+07
+01
 02
+07
 01
-05
-03
-03
-12
-18
-03
-19
-c2
-03
-aa
-55
+02
+0a
+0b
 14
-00
-a0
-47
-06
+15
 ff
-06
 00
-03
 00
-80
-0c
-09
-42
-54
-35
-2e
-32
-20
-4d
-6f
-75
-73
-65
-aa
-55
-0e
 00
-68
-43
-1f
+ff
+ff
+08
 0c
-09
-42
-54
-35
-2e
-32
-20
-4d
-6f
-75
-73
-65
+ff
+ff
+ff
+ff
+ff
+05
+ff
+ff
+ff
+ff
+86
+ff
 aa
 55
-0c
+02
+00
+26
+4b
+01
 00
-6b
-42
-0b
-42
-54
-35
-2e
-32
-20
-4d
-6f
-75
-73
-65
 aa
 55
-0c
+01
 00
-8c
-49
-0b
 42
-54
-35
-2e
-32
-20
-4d
-6f
-75
-73
-65
+4b
+1e
 aa
 55
-08
-00
-d3
-42
-06
-00
-09
-00
-20
+01
 00
-2c
+29
+47
 01
 aa
 55
-06
+02
 00
-9a
-47
-03
-12
-18
 ff
+46
 00
-00
+14
 aa
 55
 03
 00
-ec
-46
-00
-50
-00
+02
+47
+05
+02
+05
 aa
 55
-02
+01
 00
-eb
-43
-80
-1f
+07
+47
+14
 aa
 55
 01
 00
-f4
-43
-80
+05
+47
+02
 aa
 55
-01
+02
 00
-ec
-44
-ff
+0a
+47
+02
+06
 aa
 55
 01
 00
-eb
-44
-1e
+0d
+47
+0a
 aa
 55
 01
 00
-ee
-44
-00
+12
+47
+0a
 aa
 55
-01
+02
 00
-41
-41
-03
+0f
+47
+58
+02
 aa
 55
-01
+02
 00
-3e
+3a
 46
-94
+58
+02
 aa
 55
 01
 00
-d2
-45
-07
+3d
+46
+64
 aa
 55
 02
 00
-f0
-45
-83
+21
 47
+05
+00
 aa
 55
-02
+01
 00
-3f
+3c
 46
-85
-90
+64
 aa
 55
 02
 00
-42
+38
 46
-75
-80
+b0
+04
 aa
 55
 01
 00
-41
-46
-63
+1e
+47
+0a
 aa
 55
-01
+02
 00
-27
-46
-7d
+25
+47
+70
+17
 aa
 55
 01
 00
-37
-44
-00
+cb
+43
+08
 aa
 55
-03
-00
-08
-4a
+01
 00
+1b
+47
 03
-25
 aa
 55
 01
 00
-6c
-08
-ff
+94
+40
+01
 aa
 55
-11
-00
-68
-48
-03
-04
 01
-02
-20
-2a
-3f
-15
-14
-1b
-11
-0e
-8a
-8b
-83
-84
-88
+00
+c0
+40
+20
 aa
 55
-08
+01
 00
-4e
+6b
 49
-09
-a5
-0b
-f3
-09
+20
+aa
+55
+03
+00
+3c
+47
+00
+00
 00
-ff
-ff
 aa
 55
 08
 00
+66
 46
-49
-09
-5a
-0b
-f3
-09
 00
+34
+ff
+ff
+ff
+ff
 ff
 ff
 aa
 55
-0c
+07
 00
-21
-4c
-09
-a5
+74
 46
 34
-6a
-c0
-69
-24
-09
-00
+ff
+ff
+ff
+ff
 ff
 ff
 aa
 55
-14
+07
 00
-0b
-4a
-09
-a5
+81
 46
 34
-19
-04
-60
-07
-69
-04
-68
-c3
-7d
-20
-7e
-00
-09
-00
+ff
+ff
+ff
+ff
 ff
 ff
 aa
 55
-0a
+01
 00
-7c
-48
-09
-5a
-26
-34
-19
-04
-09
+28
+47
+03
+aa
+55
+01
 00
-ff
-ff
+27
+47
+07
 aa
 55
-0a
+01
 00
-90
-48
-09
-5a
-0d
-10
-1d
-ed
-7d
-80
-ff
+21
+4b
 ff
 aa
 55
-54
+06
 00
-d6
-48
-09
-5a
-ff
-27
-ab
-40
-b3
-56
-9b
-e6
-a8
-12
-a9
-c0
-be
 e6
-a5
-af
-a0
-21
-a1
-02
-b8
-10
-b9
-0b
-a7
+46
 ff
-b5
-d0
-b6
-00
 ff
-00
-09
-00
 ff
 ff
-09
-5a
-0d
-10
-0e
-c5
-5b
-9a
-10
-38
-11
-42
-28
-28
-41
-23
-49
-39
-4a
-b0
-4b
-a0
-4c
-90
-4d
-70
-09
-00
 ff
 ff
-09
-5a
+aa
+55
 06
-02
-09
-69
-0d
-48
-0e
-9f
-0f
-ba
-09
 00
-ff
-ff
+f1
+44
+02
+21
+26
+55
+51
+61
 aa
 55
 01
 00
-07
-44
+89
+45
 01
 aa
 55
-01
+05
 00
-09
-44
-0a
+e3
+45
+01
+0f
+0f
+0f
+0f
 aa
 55
 01
 00
-08
-44
+b9
+45
 00
 aa
 55
 01
 00
-48
-41
-0c
+40
+47
+02
 aa
 55
-06
+01
+00
+ca
+45
 00
-c3
-40
-35
-3f
-64
-db
-7b
-3b
 aa
 55
 01
 00
-a7
-40
-20
-aa
-55
-03
-00
-c9
-40
+7b
+47
 00
-08
-b4
 aa
 55
-01
+02
 00
-99
-40
-18
+8b
+45
+c0
+12
 aa
 55
-01
+07
 00
-1c
-41
-3e
+43
+47
+d0
+52
+00
+80
+bb
+00
+05
 aa
 55
-0c
+04
 00
-16
+55
+47
+80
+bb
 00
 00
+aa
+55
+07
 00
-20
+4a
+47
+70
+11
+01
 00
+77
+01
+0b
+aa
+55
+04
 00
+59
+47
 00
+77
+01
 00
+aa
+55
+03
 00
+af
+45
 00
+48
+60
+aa
+55
+02
 00
+1d
+46
+2c
+01
+aa
+55
+02
 00
+1b
+46
+50
 00
 aa
 55
-05
+02
 00
-5e
-41
-08
-0e
-05
-03
+23
+47
+64
 00
 aa
 55
 01
 00
-68
-41
-20
+f4
+46
+01
 aa
 55
-02
+06
 00
-9a
-40
+db
+42
+51
+81
+91
+a1
+b3
+c1
+aa
+55
+01
 00
-0c
+93
+43
+07
 aa
 55
-05
+08
 00
+c0
 43
-41
-ff
-04
+fb
 00
+48
+08
+fb
 00
+48
 08
 aa
 55
-01
-00
-1c
 02
-5a
-aa
-55
-01
 00
-38
-44
-a0
+be
+47
+96
+00
 aa
 55
 02
 00
-3b
-44
-bc
-02
+b5
+47
+15
+00
 aa
 55
 02
 00
-39
-44
-90
-01
+9b
+43
+19
+00
 aa
 55
-02
+04
+00
+b7
+47
+1d
+00
+21
 00
-3d
-44
-03
-09
 aa
 55
-01
+02
+00
+32
+43
+2d
 00
-49
-41
-ff
 aa
 55
 02
 00
-9c
-40
-49
-41
+bb
+47
+30
+00
+aa
 55
+06
+00
+43
+4b
+36
+00
+39
+00
+3c
+00
 aa
+55
+09
+00
+ac
+4e
+08
+00
+15
+08
+00
+2c
+00
+00
+28
 aa
 55
-e3
-65
+1c
+00
+6d
+4e
+1b
+68
 74
-06
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
+74
+70
+3a
+2f
+2f
+79
+6c
+62
+2e
+71
+64
+2d
+64
+61
+74
+61
+2e
+63
+6f
+6d
+2f
+67
+7a
+67
+61
+aa
+55
+16
+00
+95
+4e
+15
+7e
+21
+40
+23
+24
+25
+5e
+26
+2a
+28
+29
+5f
+2b
+7b
+7d
+7c
+22
+3a
+3e
+3f
+3c
+aa
+55
+0c
+00
+48
+43
+1f
+02
+01
+05
+03
+03
+12
+18
+03
+19
+c2
+03
+aa
+55
+14
+00
+a0
+47
+06
 ff
+06
+00
+03
+00
+80
+0c
+09
+42
+54
+35
+2e
+32
+20
+4d
+6f
+75
+73
+65
+aa
+55
+0e
+00
+68
+43
+1f
+0c
+09
+42
+54
+35
+2e
+32
+20
+4d
+6f
+75
+73
+65
+aa
+55
+0c
+00
+6b
+42
+0b
+42
+54
+35
+2e
+32
+20
+4d
+6f
+75
+73
+65
+aa
+55
+0c
+00
+8c
+49
+0b
+42
+54
+35
+2e
+32
+20
+4d
+6f
+75
+73
+65
+aa
+55
+08
+00
+d3
+42
+06
+00
+09
+00
+20
+00
+2c
+01
+aa
+55
+06
+00
+9a
+47
+03
+12
+18
 ff
+00
+00
+aa
+55
+03
+00
+ec
+46
+00
+50
+00
+aa
+55
+02
+00
+eb
+43
+00
+25
+aa
+55
+01
+00
+f4
+43
+80
+aa
+55
+01
+00
+ec
+44
 ff
+aa
+55
+01
+00
+eb
+44
+1e
+aa
+55
+01
+00
+ee
+44
+00
+aa
+55
+01
+00
+41
+41
+03
+aa
+55
+01
+00
+3e
+46
+94
+aa
+55
+01
+00
+d2
+45
+07
+aa
+55
+02
+00
+f0
+45
+83
+47
+aa
+55
+02
+00
+3f
+46
+85
+90
+aa
+55
+02
+00
+42
+46
+75
+80
+aa
+55
+01
+00
+41
+46
+63
+aa
+55
+01
+00
+27
+46
+7d
+aa
+55
+01
+00
+37
+44
+00
+aa
+55
+03
+00
+08
+4a
+00
+03
+25
+aa
+55
+01
+00
+6c
+08
 ff
+aa
+55
+11
+00
+68
+48
+03
+04
+01
+02
+20
+2a
+3f
+15
+14
+1b
+11
+0e
+8a
+8b
+83
+84
+88
+aa
+55
+08
+00
+4e
+49
+09
+a5
+0b
+f3
+09
+00
 ff
 ff
+aa
+55
+08
+00
+46
+49
+09
+5a
+0b
+f3
+09
+00
 ff
 ff
+aa
+55
+0c
+00
+96
+4f
+09
+a5
+46
+34
+6a
+c0
+69
+24
+09
+00
 ff
 ff
+aa
+55
+14
+00
+0b
+4a
+09
+a5
+46
+34
+19
+04
+60
+07
+69
+04
+68
+c3
+7d
+20
+7e
+00
+09
+00
 ff
 ff
+aa
+55
+0a
+00
+7c
+48
+09
+5a
+26
+34
+19
+04
+09
+00
 ff
 ff
+aa
+55
+0a
+00
+90
+48
+09
+5a
+0d
+10
+1d
+ed
+7d
+80
 ff
 ff
+aa
+55
+54
+00
+d6
+48
+09
+5a
 ff
+27
+ab
+40
+b3
+56
+9b
+e6
+a8
+12
+a9
+c0
+be
+e6
+a5
+af
+a0
+21
+a1
+02
+b8
+10
+b9
+0b
+a7
 ff
+b5
+d0
+b6
+00
 ff
+00
+09
+00
 ff
 ff
+09
+5a
+0d
+10
+0e
+c5
+5b
+9a
+10
+38
+11
+42
+28
+28
+41
+23
+49
+39
+4a
+b0
+4b
+a0
+4c
+90
+4d
+70
+09
+00
 ff
 ff
+09
+5a
+06
+02
+09
+69
+0d
+48
+0e
+9f
+0f
+ba
+09
+00
 ff
 ff
+aa
+55
+01
+00
+07
+44
+01
+aa
+55
+01
+00
+09
+44
+0a
+aa
+55
+01
+00
+08
+44
+00
+aa
+55
+02
+00
+f7
+42
+49
+4b
+aa
+55
+cc
+02
+49
+4b
+01
+00
+02
+00
+28
+02
+00
+18
+02
+00
+02
+03
+28
+01
+0a
+03
+00
+02
+00
+2a
+14
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+04
+00
+02
+03
+28
+01
+02
+05
+00
+02
+01
+2a
+02
+c2
+03
+06
+00
+02
+03
+28
+01
+02
+07
+00
+02
+04
+2a
+08
+06
+00
+06
+00
+64
+00
+2c
+01
+08
+00
+02
+00
+28
+02
+01
+18
+09
+00
+02
+03
+28
+01
+20
+0a
+00
+02
+05
+2a
+00
+0b
+00
+02
+02
+29
+02
+00
+00
+0c
+00
+02
+00
+28
+02
+0a
+18
+0d
+00
+02
+03
+28
+01
+02
+0e
+00
+02
+29
+2a
+06
+59
+69
+43
+68
+69
+70
+0f
+00
+02
+03
+28
+01
+02
+10
+00
+02
+50
+2a
+07
+02
+35
+12
+22
+aa
+01
+00
+11
+00
+02
+00
+28
+02
+12
+18
+12
+00
+02
+03
+28
+01
+06
+13
+00
+02
+4e
+2a
+01
+01
+14
+00
+02
+03
+28
+01
+12
+15
+00
+02
+4d
+2a
+08
+00
+00
+00
+00
+00
+00
+00
+16
+00
+02
+02
+29
+02
+00
+00
+17
+00
+02
+08
+29
+02
+02
+01
+18
+00
+02
+03
+28
+01
+1a
+19
+00
+02
+4d
+2a
+07
+00
+00
+00
+00
+00
+00
+00
+1a
+00
+02
+02
+29
+02
+00
+00
+1b
+00
+02
+08
+29
+02
+01
+01
+1c
+00
+02
+03
+28
+01
+12
+1d
+00
+02
+4d
+2a
+02
+00
+00
+1e
+00
+02
+02
+29
+02
+00
+00
+1f
+00
+02
+08
+29
+02
+03
+01
+20
+00
+02
+03
+28
+01
+12
+21
+00
+02
+4d
+2a
+02
+00
+00
+22
+00
+02
+02
+29
+02
+00
+00
+23
+00
+02
+08
+29
+02
+04
+01
+24
+00
+02
+03
+28
+01
+0e
+25
+00
+02
+4d
+2a
+02
+00
+00
+26
+00
+02
+08
+29
+02
+02
+02
+27
+00
+02
+03
+28
+01
+02
+28
+00
+02
+4b
+2a
+bd
+05
+01
+09
+02
+a1
+01
+85
+01
+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
+95
+01
+81
+06
+c0
+c0
+05
+01
+09
+06
+a1
+01
+85
+02
+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
+03
+19
+00
+2a
 ff
+03
+15
+00
+26
 ff
+03
+95
+01
+75
+10
+81
+00
+c0
+05
+01
+09
+80
+a1
+01
+85
+04
+15
+00
+25
+01
+75
+01
+95
+03
+19
+81
+29
+83
+81
+02
+95
+01
+75
+05
+81
+03
+c0
+29
+00
+02
+03
+28
+01
+1a
+2a
+00
+02
+00
+2a
+08
+00
+00
+00
+00
+00
+00
+00
+00
+2b
+00
+02
+02
+29
+02
+01
+00
+2c
+00
+02
+03
+28
+01
+02
+2d
+00
+02
+4a
+2a
+04
+01
+01
+00
+03
+2e
+00
+02
+00
+28
+02
+0f
+18
+2f
+00
+02
+03
+28
+01
+12
+30
+00
+02
+19
+2a
+01
+64
+31
+00
+02
+02
+29
+02
+00
+00
+32
+00
+02
+03
+28
+01
+04
+33
+00
+02
+4c
+2a
+00
+00
+00
+34
+00
+02
+00
+28
+02
+00
 ff
+35
+00
+02
+03
+28
+01
+12
+36
+00
+02
+01
 ff
+04
+02
+02
+01
+00
+37
+00
+02
+02
+29
+02
+00
+00
+38
+00
+02
+03
+28
+01
+12
+39
+00
+02
+02
 ff
+02
+08
+00
+3a
+00
+02
+02
+29
+02
+00
+00
+3b
+00
+02
+03
+28
+01
+12
+3c
+00
+02
+03
 ff
+0e
+01
+0c
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+3d
+00
+02
+02
+29
+02
+00
+00
+aa
+55
+01
+00
+48
+41
+0c
+aa
+55
+06
+00
+c3
+40
+35
+3f
+64
+db
+7b
+3b
+aa
+55
+01
+00
+a7
+40
+20
+aa
+55
+03
+00
+c9
+40
+00
+08
+b4
+aa
+55
+01
+00
+99
+40
+18
+aa
+55
+01
+00
+1c
+41
+3e
+aa
+55
+0c
+00
+16
+00
+00
+00
+20
+00
+00
+00
+00
+00
+00
+00
+00
+00
+aa
+55
+05
+00
+5e
+41
+08
+0e
+05
+03
+00
+aa
+55
+01
+00
+68
+41
+20
+aa
+55
+02
+00
+9a
+40
+00
+0c
+aa
+55
+05
+00
+43
+41
 ff
+04
+00
+00
+08
+aa
+55
+01
+00
+1c
+02
+5a
+aa
+55
+01
+00
+38
+44
+a0
+aa
+55
+02
+00
+3b
+44
+bc
+02
+aa
+55
+02
+00
+39
+44
+90
+01
+aa
+55
+02
+00
+3d
+44
+03
+09
+aa
+55
+01
+00
+49
+41
 ff
+aa
+55
+02
+00
+9c
+40
+49
+41
+55
+aa
+aa
+55
+f0
+ce
+89
+ce
 ff
-9b
-3b
+1e
+f0
Index: output/memmap.format
===================================================================
--- /1121s/branch/mouse/AI_Project/mouse_public_ai_2mode/output/memmap.format	(revision 4836)
+++ /1121s/branch/mouse/AI_Project/mouse_public_ai_2mode/output/memmap.format	(working copy)
@@ -1983,91 +1983,107 @@
 0x4b40 mem_mouse_delay_send_info_timer
 0x4b41 mem_mouse_m_key_press_flag
 0x4b42 mem_mouse_m_key_press_count
-0x4b43 mem_24g_txpayload_buf
-0x4b53 mem_release_data_from_receiver_enable
-0x4b54 mem_release_data_from_transmiter_enable
-0x4b55 mem_flippen_key0_gpio
-0x4b56 mem_flippen_key1_gpio
-0x4b57 mem_flippen_key2_gpio
-0x4b58 mem_flippen_key3_gpio
-0x4b59 mem_flippen_key4_gpio
-0x4b5a mem_flippen_key5_gpio
-0x4b5b mem_flippen_key6_gpio
-0x4b5c mem_flippen_key7_gpio
-0x4b5d mem_flippen_key0_press_status
-0x4b5e mem_flippen_key1_press_status
-0x4b5f mem_flippen_key2_press_status
-0x4b60 mem_flippen_key3_press_status
-0x4b61 mem_flippen_key4_press_status
-0x4b62 mem_flippen_key5_press_status
-0x4b63 mem_flippen_key6_press_status
-0x4b64 mem_flippen_key7_press_status
-0x4b65 mem_key_press_data
-0x4b65 mem_key_pageup_data
-0x4b6e mem_key_pagedown_data
-0x4b77 mem_key_shift_f5_data
-0x4b80 mem_key_esc_data
-0x4b89 mem_key_b_data
-0x4b92 mem_key_tab
-0x4b9b mem_key_enter
-0x4ba4 mem_key_alt_tab
-0x4bad mem_key_alt_f4
-0x4bb6 mem_key_play_pause
-0x4bbf mem_key_vol_up
-0x4bc8 mem_key_vol_down
-0x4bd1 mem_standard_key_release
-0x4bda mem_system_ctrl_key_release
-0x4be3 mem_media_key_release
-0x4bec mem_key0_long_press_flag
-0x4bed mem_key1_long_press_flag
-0x4bee mem_key2_long_press_flag
-0x4bef mem_key3_long_press_flag
-0x4bf0 mem_key4_long_press_flag
-0x4bf1 mem_key0_long_press_event
-0x4bf2 mem_key1_long_press_event
-0x4bf3 mem_key2_long_press_event
-0x4bf4 mem_key3_long_press_event
-0x4bf5 mem_key4_long_press_event
-0x4bf6 mem_key0_short_press_flag
-0x4bf7 mem_key1_short_press_flag
-0x4bf8 mem_key2_short_press_flag
-0x4bf9 mem_key3_short_press_flag
-0x4bfa mem_key4_short_press_flag
-0x4bfb mem_key0_press_timer_count
-0x4bfc mem_key1_press_timer_count
-0x4bfd mem_key2_press_timer_count
-0x4bfe mem_key3_press_timer_count
-0x4bff mem_key4_press_timer_count
-0x4c00 mem_combination_key_down_flag
-0x4c01 mem_combination_key_longpress_flag
-0x4c02 mem_key_disable_timer
-0x4c03 mem_24g_calculate_package_id_disable
-0x4c04 mem_24g_package_id_abandon_flag
-0x4c05 mem_24g_package_id
-0x4c06 mem_key_state
-0x4c07 mem_key_press_state
-0x4c08 mem_poweron_first_blank_data_enable
-0x4c09 mem_flippen_no_data_timeout
-0x4c0b mem_flippen_start_pair_no_data_timeout
-0x4c0d mem_key_longpress_timer_init
-0x4c0f mem_key_longpress_timer
-0x4c11 mem_low_voltage_led_blink_flag
-0x4c12 mem_low_voltage_led_blink_start_timer
-0x4c13 mem_poweron_led_blink_flag
-0x4c14 mem_24g_pair_enable_flag
-0x4c15 mem_24g_ch_work
-0x4c16 mem_24g_pair_key_down_flag
-0x4c17 mem_24g_pairing_stop_flag
-0x4c18 mem_longpress_24g_enter_hibernate_flag
-0x4c19 mem_g24_connected_state
-0x4c1a mem_g24_pairing_stop_flag
-0x4c1b mem_send_package_before_check
-0x4c1c mem_le_conn_rcv_new
-0x4c1d mem_le_conn_first_rcv
-0x4c1e mem_le_check_retransmit_flag
-0x4c1f mem_le_retransmit_cnt
-0x4c20 mem_le_check_retransmit_discon_flag
-0x4c21 mem_sensor_ka5857_init
+0x4b43 mem_le_dpi_handle
+0x4b45 mem_le_app_handle
+0x4b47 mem_le_device_info_handle
+0x4b49 mem_mouse_ble_att_list
+0x4e69 mem_mouse_website_control_mode
+0x4e6a mem_mouse_website_step
+0x4e6b mem_mouse_website_ptr
+0x4e6d mem_mouse_website_info
+0x4e95 mem_mouse_website_info_sign
+0x4eab mem_mouse_website_wait_count
+0x4eac mem_usb_win_cmd
+0x4eaf mem_usb_mac_cmd
+0x4eb2 mem_usb_kb_enter
+0x4eb5 mem_mouse_website_shift_flag
+0x4eb6 mem_mouse_website_release_flag
+0x4eb7 mem_computer_system
+0x4eb8 mem_24g_txpayload_buf
+0x4ec8 mem_release_data_from_receiver_enable
+0x4ec9 mem_release_data_from_transmiter_enable
+0x4eca mem_flippen_key0_gpio
+0x4ecb mem_flippen_key1_gpio
+0x4ecc mem_flippen_key2_gpio
+0x4ecd mem_flippen_key3_gpio
+0x4ece mem_flippen_key4_gpio
+0x4ecf mem_flippen_key5_gpio
+0x4ed0 mem_flippen_key6_gpio
+0x4ed1 mem_flippen_key7_gpio
+0x4ed2 mem_flippen_key0_press_status
+0x4ed3 mem_flippen_key1_press_status
+0x4ed4 mem_flippen_key2_press_status
+0x4ed5 mem_flippen_key3_press_status
+0x4ed6 mem_flippen_key4_press_status
+0x4ed7 mem_flippen_key5_press_status
+0x4ed8 mem_flippen_key6_press_status
+0x4ed9 mem_flippen_key7_press_status
+0x4eda mem_key_press_data
+0x4eda mem_key_pageup_data
+0x4ee3 mem_key_pagedown_data
+0x4eec mem_key_shift_f5_data
+0x4ef5 mem_key_esc_data
+0x4efe mem_key_b_data
+0x4f07 mem_key_tab
+0x4f10 mem_key_enter
+0x4f19 mem_key_alt_tab
+0x4f22 mem_key_alt_f4
+0x4f2b mem_key_play_pause
+0x4f34 mem_key_vol_up
+0x4f3d mem_key_vol_down
+0x4f46 mem_standard_key_release
+0x4f4f mem_system_ctrl_key_release
+0x4f58 mem_media_key_release
+0x4f61 mem_key0_long_press_flag
+0x4f62 mem_key1_long_press_flag
+0x4f63 mem_key2_long_press_flag
+0x4f64 mem_key3_long_press_flag
+0x4f65 mem_key4_long_press_flag
+0x4f66 mem_key0_long_press_event
+0x4f67 mem_key1_long_press_event
+0x4f68 mem_key2_long_press_event
+0x4f69 mem_key3_long_press_event
+0x4f6a mem_key4_long_press_event
+0x4f6b mem_key0_short_press_flag
+0x4f6c mem_key1_short_press_flag
+0x4f6d mem_key2_short_press_flag
+0x4f6e mem_key3_short_press_flag
+0x4f6f mem_key4_short_press_flag
+0x4f70 mem_key0_press_timer_count
+0x4f71 mem_key1_press_timer_count
+0x4f72 mem_key2_press_timer_count
+0x4f73 mem_key3_press_timer_count
+0x4f74 mem_key4_press_timer_count
+0x4f75 mem_combination_key_down_flag
+0x4f76 mem_combination_key_longpress_flag
+0x4f77 mem_key_disable_timer
+0x4f78 mem_24g_calculate_package_id_disable
+0x4f79 mem_24g_package_id_abandon_flag
+0x4f7a mem_24g_package_id
+0x4f7b mem_key_state
+0x4f7c mem_key_press_state
+0x4f7d mem_poweron_first_blank_data_enable
+0x4f7e mem_flippen_no_data_timeout
+0x4f80 mem_flippen_start_pair_no_data_timeout
+0x4f82 mem_key_longpress_timer_init
+0x4f84 mem_key_longpress_timer
+0x4f86 mem_low_voltage_led_blink_flag
+0x4f87 mem_low_voltage_led_blink_start_timer
+0x4f88 mem_poweron_led_blink_flag
+0x4f89 mem_24g_pair_enable_flag
+0x4f8a mem_24g_ch_work
+0x4f8b mem_24g_pair_key_down_flag
+0x4f8c mem_24g_pairing_stop_flag
+0x4f8d mem_longpress_24g_enter_hibernate_flag
+0x4f8e mem_g24_connected_state
+0x4f8f mem_g24_pairing_stop_flag
+0x4f90 mem_send_package_before_check
+0x4f91 mem_le_conn_rcv_new
+0x4f92 mem_le_conn_first_rcv
+0x4f93 mem_le_check_retransmit_flag
+0x4f94 mem_le_retransmit_cnt
+0x4f95 mem_le_check_retransmit_discon_flag
+0x4f96 mem_sensor_ka5857_init
 0x462d mem_remote_car_hard_soft_switch
 0x462e mem_remote_car_queue_each_size
 0x462f mem_remote_car_queue_length
Index: output/program.lis
===================================================================
--- /1121s/branch/mouse/AI_Project/mouse_public_ai_2mode/output/program.lis	(revision 4836)
+++ /1121s/branch/mouse/AI_Project/mouse_public_ai_2mode/output/program.lis	(working copy)
@@ -1,7 +1,7 @@
               include "bt_format "
               org 0x0000
 0000 c284002d bbit1 8 ,pf_patch_ext 
-0001 c00003c6 beq patch00_0 ,p_soft_reset 
+0001 c000046f beq patch00_0 ,p_soft_reset 
 0002 c0010120 beq patch00_2 ,p_main_loop 
 0003 c0080129 beq patch02_0 ,p_shutdown_radio 
 0004 c008812b beq patch02_1 ,p_set_sync_on 
@@ -11,38 +11,38 @@
 0008 c00c01fe beq patch03_0 ,p_txon 
 0009 c00c8205 beq patch03_1 ,p_set_tx_power 
 000a c00d0143 beq patch03_2 ,p_initialize_radio_cont 
-000b c0128335 beq patch04_5 ,p_lpm_sleep 
+000b c01283de beq patch04_5 ,p_lpm_sleep 
 000c c01382c9 beq patch04_7 ,p_lpm_adjust_clk 
-000d c03403c1 beq patch0d_0 ,p_mouse_cb_fuction 
-000e c03483d8 beq patch0d_1 ,p_mouse_load_device_info_check 
-000f c03503d0 beq patch0d_2 ,p_mouse_default_init 
-0010 c0360380 beq patch0d_4 ,p_mouse_param_init 
-0011 c03704cc beq patch0d_6 ,p_mouse_start_work 
+000d c034046a beq patch0d_0 ,p_mouse_cb_fuction 
+000e c0348481 beq patch0d_1 ,p_mouse_load_device_info_check 
+000f c0350479 beq patch0d_2 ,p_mouse_default_init 
+0010 c0360429 beq patch0d_4 ,p_mouse_param_init 
+0011 c0370575 beq patch0d_6 ,p_mouse_start_work 
 0012 c037d4b6 beq patch0d_7 ,mouse4_0_check_reconn_target 
-0013 c039853a beq patch0e_3 ,p_mouse_setgpio_hibernate 
-0014 c03a0329 beq patch0e_4 ,p_mouse_lpm_before_common 
-0015 c03c8573 beq patch0f_1 ,p_mouse_le_name_modify 
-0016 c03d05c4 beq patch0f_2 ,p_mouse_motion 
-0017 c03d859a beq patch0f_3 ,p_mouse_dpi_process 
-0018 c03e05a8 beq patch0f_4 ,p_mouse_setting_dpi 
-0019 c03e85ac beq patch0f_5 ,p_mouse_setting_sensor_type 
-001a c03f8517 beq patch0f_7 ,p_mouse_3io6key_check 
-001b c0408582 beq patch10_1 ,p_mouse_init_sensor 
-001c c04203f2 beq patch10_4 ,p_mouse_buletooth_fast_conn_end 
-001d c042845f beq patch10_5 ,p_mouse_priority_bb_event 
+0013 c03985e4 beq patch0e_3 ,p_mouse_setgpio_hibernate 
+0014 c03a03d2 beq patch0e_4 ,p_mouse_lpm_before_common 
+0015 c03c861d beq patch0f_1 ,p_mouse_le_name_modify 
+0016 c03d066e beq patch0f_2 ,p_mouse_motion 
+0017 c03d8644 beq patch0f_3 ,p_mouse_dpi_process 
+0018 c03e0652 beq patch0f_4 ,p_mouse_setting_dpi 
+0019 c03e8656 beq patch0f_5 ,p_mouse_setting_sensor_type 
+001a c03f85c1 beq patch0f_7 ,p_mouse_3io6key_check 
+001b c040862c beq patch10_1 ,p_mouse_init_sensor 
+001c c042049b beq patch10_4 ,p_mouse_buletooth_fast_conn_end 
+001d c0428508 beq patch10_5 ,p_mouse_priority_bb_event 
 001e c04302fe beq patch10_6 ,p_mouse_le 
-001f c043842d beq patch10_7 ,p_mouse_bb_event_timer 
-0020 c0450402 beq patch11_2 ,p_mouse_store_remote_bdaddr 
-0021 c04583da beq patch11_3 ,p_mouse_app_initflag_check 
-0022 c04704e7 beq patch11_6 ,p_mouse_idle 
-0023 c0480560 beq patch12_0 ,p_mouse_check_select_device_by_switch 
-0024 c04985d9 beq patch12_3 ,p_mouse_drawing_optima 
-0025 c04a852d beq patch12_5 ,p_mouse_24g_hibernate_set 
-0026 c04b0547 beq patch12_6 ,p_mouse_24g_package_data 
+001f c04384d6 beq patch10_7 ,p_mouse_bb_event_timer 
+0020 c04504ab beq patch11_2 ,p_mouse_store_remote_bdaddr 
+0021 c0458483 beq patch11_3 ,p_mouse_app_initflag_check 
+0022 c0470590 beq patch11_6 ,p_mouse_idle 
+0023 c048060a beq patch12_0 ,p_mouse_check_select_device_by_switch 
+0024 c0498683 beq patch12_3 ,p_mouse_drawing_optima 
+0025 c04a85d7 beq patch12_5 ,p_mouse_24g_hibernate_set 
+0026 c04b05f1 beq patch12_6 ,p_mouse_24g_package_data 
 0027 c04b803f beq patch12_7 ,p_mouse_24g_search_dongle_loop 
-0028 c062835e beq patch18_5 ,p_otp_read_data 
-0029 c06a831d beq patch1a_5 ,p_gpio_set_wake_by_current_state 
-002a c06b0316 beq patch1a_6 ,p_gpio_set_wake 
+0028 c0628407 beq patch18_5 ,p_otp_read_data 
+0029 c06a83c6 beq patch1a_5 ,p_gpio_set_wake_by_current_state 
+002a c06b03bf beq patch1a_6 ,p_gpio_set_wake 
 002b c06d016c beq patch1b_2 ,p_sadc_calibration 
 002c 2020235a branch assert 
 
@@ -56,13 +56,13 @@
 0033 c01d02d8 beq patch27_2 ,p_le_parse_l2cap 
 0034 c02602d4 beq patch29_4 ,p_le_adv_not_match 
 0035 c02682a0 beq patch29_5 ,p_le_init_adv 
-0036 c0480361 beq patch32_0 ,p_g24_reconn_dispatch 
-0037 c0490375 beq patch32_2 ,p_g24_reconn_device_fail 
+0036 c048040a beq patch32_0 ,p_g24_reconn_dispatch 
+0037 c049041e beq patch32_2 ,p_g24_reconn_device_fail 
 0038 c04a804d beq patch32_5 ,p_g24_transmit_no_interrupt 
-0039 c04b0524 beq patch32_6 ,p_g24_short_sleep 
+0039 c04b05ce beq patch32_6 ,p_g24_short_sleep 
 003a c04d01db beq patch33_2 ,p_mouse_g24_retransmit 
 003b c04e81f3 beq patch33_5 ,p_g24_transmit_hop_process 
-003c c04f8392 beq patch33_7 ,p_power_ctrl_start 
+003c c04f843b beq patch33_7 ,p_power_ctrl_start 
 003d c17f8000 rtneq patch3f_7 
 003e 2020235a branch assert 
 
@@ -171,12 +171,12 @@
 0088 79207e06 set1 data_device_info ,pdata 
 0089 2020011e branch p_g24_store_device_tx_flag 
 
-p_g24_send_http_info_enable:
+p_mouse_send_http_info_enable:
 008a 6fe0cb24 fetch 1 ,mem_device_tx_device_info_flag 
 008b 79207e04 set1 data_http ,pdata 
 008c 2020011e branch p_g24_store_device_tx_flag 
 
-p_g24_send_dpi_info_enable:
+p_mouse_send_dpi_info_enable:
 008d 6fe0cb24 fetch 1 ,mem_device_tx_device_info_flag 
 008e 79207e05 set1 data_dpi ,pdata 
 008f 2020011e branch p_g24_store_device_tx_flag 
@@ -347,22 +347,24 @@
 010c 20600000 rtn 
 
 p_g24_receive_no_ack_data:
+
+p_mouse_le_clr_info_flag:
 010d 6fe0cb24 fetch 1 ,mem_device_tx_device_info_flag 
 010e 2feffe06 isolate1 data_device_info ,pdata 
 010f 20408117 call p_g24_clr_device_info_flag ,true 
 0110 2feffe04 isolate1 data_http ,pdata 
-0111 20408119 call p_g24_clr_http_info_flag ,true 
+0111 20408119 call p_mouse_clr_http_info_flag ,true 
 0112 2feffe05 isolate1 data_dpi ,pdata 
 0113 2040811b call p_g24_clr_dpi_info_flag ,true 
 0114 2feffe03 isolate1 data_app ,pdata 
-0115 2040811d call p_g24_clr_app_info_flag ,true 
+0115 2040811d call p_mouse_clr_app_info_flag ,true 
 0116 20600000 rtn 
 
 p_g24_clr_device_info_flag:
 0117 793ffe06 set0 data_device_info ,pdata 
 0118 2020011e branch p_g24_store_device_tx_flag 
 
-p_g24_clr_http_info_flag:
+p_mouse_clr_http_info_flag:
 0119 793ffe04 set0 data_http ,pdata 
 011a 2020011e branch p_g24_store_device_tx_flag 
 
@@ -370,7 +372,7 @@
 011b 793ffe05 set0 data_dpi ,pdata 
 011c 2020011e branch p_g24_store_device_tx_flag 
 
-p_g24_clr_app_info_flag:
+p_mouse_clr_app_info_flag:
 011d 793ffe03 set0 data_app ,pdata 
 
 p_g24_store_device_tx_flag:
@@ -631,7 +633,7 @@
 01ee d8e0000c arg 12 ,queue 
 01ef 20407cef call timer_check 
 01f0 247a0000 nrtn blank 
-01f1 204004ec call p_mouse_dpi_check_retransmit 
+01f1 20400596 call p_mouse_dpi_check_retransmit 
 01f2 20206102 branch mouse_g24_retransmit_event_set 
 
 p_g24_transmit_hop_process:
@@ -646,7 +648,7 @@
 01f9 684a45e4 fetcht 4 ,mem_24g_fast_conn_addr 
 01fa 98467c00 isub temp ,null 
 01fb 2022b222 branch g24_ch ,zero 
-01fc 204003b7 call p_power_ctrl_txpower_incrs 
+01fc 20400460 call p_power_ctrl_txpower_incrs 
 01fd 2020369b branch g24_tx_fast_hop + 1 
 
 p_txon:
@@ -770,7 +772,7 @@
 0259 20200245 branch p_set_lemode_2m 
 
 p_le_check_retransmit_timesout:
-025a 6fe0cc1c fetch 1 ,mem_le_conn_rcv_new 
+025a 6fe0cf91 fetch 1 ,mem_le_conn_rcv_new 
 025b da600100 arg 256 ,regc 
 025c 9a60fe00 iadd regc ,pdata 
 025d 20600000 rtn 
@@ -780,25 +782,25 @@
 025f 20202563 branch le_slave_match + 1 
 
 p_le_check_retransmit:
-0260 6fe0cc1d fetch 1 ,mem_le_conn_first_rcv 
+0260 6fe0cf92 fetch 1 ,mem_le_conn_first_rcv 
 0261 207a0000 rtn blank 
-0262 6fe0cc1e fetch 1 ,mem_le_check_retransmit_flag 
+0262 6fe0cf93 fetch 1 ,mem_le_check_retransmit_flag 
 0263 247a0000 nrtn blank 
-0264 6848cc1d fetcht 1 ,mem_le_conn_first_rcv 
-0265 6fe0cc1c fetch 1 ,mem_le_conn_rcv_new 
+0264 6848cf92 fetcht 1 ,mem_le_conn_first_rcv 
+0265 6fe0cf91 fetch 1 ,mem_le_conn_rcv_new 
 0266 98467c00 isub temp ,null 
 0267 2441025a ncall p_le_check_retransmit_timesout ,positive 
 0268 98467e00 isub temp ,pdata 
 0269 1fe67c64 sub pdata ,100 ,null 
 026a 20210272 branch p_le_check_retransmit_count ,positive 
-026b 6fe0cc1f fetch 1 ,mem_le_retransmit_cnt 
+026b 6fe0cf94 fetch 1 ,mem_le_retransmit_cnt 
 026c 1fe67c14 sub pdata ,20 ,null 
 026d 24410270 ncall p_app_ble_disconnect ,positive 
-026e 704c1e01 jam 1 ,mem_le_check_retransmit_flag 
+026e 704f9301 jam 1 ,mem_le_check_retransmit_flag 
 026f 20600000 rtn 
 
 p_app_ble_disconnect:
-0270 704c2001 jam 1 ,mem_le_check_retransmit_discon_flag 
+0270 704f9501 jam 1 ,mem_le_check_retransmit_discon_flag 
 0271 2020431f branch app_ble_disconnect 
 
 p_le_check_retransmit_count:
@@ -808,10 +810,10 @@
 0275 9842fe00 ixor temp ,pdata 
 0276 2feffe02 isolate1 nesn ,pdata 
 0277 58000000 setarg 0 
-0278 6848cc1f fetcht 1 ,mem_le_retransmit_cnt 
+0278 6848cf94 fetcht 1 ,mem_le_retransmit_cnt 
 0279 7920fe00 setflag true ,0 ,pdata 
 027a 98408400 iadd temp ,temp 
-027b 6048cc1f storet 1 ,mem_le_retransmit_cnt 
+027b 6048cf94 storet 1 ,mem_le_retransmit_cnt 
 027c 20600000 rtn 
 
 p_le_got_first_packet_new:
@@ -819,9 +821,9 @@
 027e 1fe0fe01 increase 1 ,pdata 
 027f 67e08005 store 1 ,mem_le_conn_rcv 
 0280 24368284 nbranch p_le_got_first_packet_new + 7 ,match 
-0281 6fe0cc1c fetch 1 ,mem_le_conn_rcv_new 
+0281 6fe0cf91 fetch 1 ,mem_le_conn_rcv_new 
 0282 1fe0fe01 increase 1 ,pdata 
-0283 67e0cc1c store 1 ,mem_le_conn_rcv_new 
+0283 67e0cf91 store 1 ,mem_le_conn_rcv_new 
 0284 2020259b branch le_got_first_packet + 4 
 
 p_le_rx_dec:
@@ -985,9 +987,9 @@
 0302 6fe0c843 fetch 1 ,mem_le_connect_status_flag 
 0303 1fe17e03 and pdata ,0x03 ,pdata 
 0304 c1818000 rtnne 0x03 
-0305 6fe0cc1e fetch 1 ,mem_le_check_retransmit_flag 
+0305 6fe0cf93 fetch 1 ,mem_le_check_retransmit_flag 
 0306 207a0000 rtn blank 
-0307 6fe0cc20 fetch 1 ,mem_le_check_retransmit_discon_flag 
+0307 6fe0cf95 fetch 1 ,mem_le_check_retransmit_discon_flag 
 0308 247a0000 nrtn blank 
 
 p_mouse_le_next:
@@ -999,1091 +1001,1331 @@
 030e c282db5b bbit1 mouse_bt_discovery_button_down_flag ,mouse_le_send_empty_packet 
 030f c2835b5b bbit1 mouse_bt_discovery_button_long_down_flag ,mouse_le_send_empty_packet 
 0310 20405601 call mouse_motion 
-0311 20405ab2 call mouse_check_125hz 
-0312 24740000 nrtn user 
-0313 20405abc call mouse_current_mult_update 
-0314 20400554 call p_mouse_data_xy_release 
-0315 20205b37 branch mouse_le_next + 12 
+0311 204005ee call p_mouse_tx_device_info_check 
+0312 20405ab2 call mouse_check_125hz 
+0313 24740000 nrtn user 
+0314 20405abc call mouse_current_mult_update 
+0315 204005fe call p_mouse_data_xy_release 
+0316 6fe0cb24 fetch 1 ,mem_device_tx_device_info_flag 
+0317 704b2400 jam 0 ,mem_device_tx_device_info_flag 
+0318 c2820327 bbit1 data_http ,p_mouse_send_website_data 
+0319 c28183ba bbit1 data_app ,p_le_send_app_info_check 
+031a c283039f bbit1 data_device_info ,p_mouse_send_device_info_check 
+031b c28283aa bbit1 data_dpi ,p_le_send_dpi_info_data 
+031c c28383b2 bbit1 data_battery ,p_le_send_battery_info_check 
+031d 20205b37 branch mouse_le_next + 12 
+
+p_mouse_send_http_data_timer:
+031e d8e0000c arg 12 ,queue 
+031f 20407cef call timer_check 
+0320 247a0000 nrtn blank 
+0321 6fe0ce6a fetch 1 ,mem_mouse_website_step 
+0322 203a0324 branch p_mouse_send_http_timer_init ,blank 
+0323 2040008a call p_mouse_send_http_info_enable 
+
+p_mouse_send_http_timer_init:
+0324 d8e0000c arg 12 ,queue 
+0325 58000014 setarg 20 
+0326 20207ce1 branch timer_init 
+
+p_mouse_send_website_data:
+0327 58000000 setarg 0 
+0328 67e40670 store 8 ,mem_pdatatemp 
+0329 6fe0ce6a fetch 1 ,mem_mouse_website_step 
+032a c0000334 beq release_ms_data ,p_mouse_le_send_empty_packet 
+032b c0008336 beq website_win ,p_mouse_website_winr_data 
+032c c001034d beq website_win_release ,p_mouse_website_win_release_data 
+032d c0018398 beq website_wait ,p_mouse_website_wait_tx_data 
+032e c0020347 beq website_data ,p_mouse_website_data 
+032f c0028341 beq website_enter_1 ,p_mouse_website_enter_data1 
+0330 c0030350 beq website_enter_release_1 ,p_mouse_webstie_release_data1 
+0331 c0038343 beq website_enter_2 ,p_mouse_website_enter_data2 
+0332 c004034b beq website_enter_release_2 ,p_mouse_website_enter_release_data 
+0333 20600000 rtn 
+
+p_mouse_le_send_empty_packet:
+0334 704e6a01 jam website_win ,mem_mouse_website_step 
+0335 20205b5b branch mouse_le_send_empty_packet 
+
+p_mouse_website_winr_data:
+0336 704e6a02 jam website_win_release ,mem_mouse_website_step 
+0337 dfe04e6e arg mem_mouse_website_info + 1 ,pdata 
+0338 67e14e6b store 2 ,mem_mouse_website_ptr 
+0339 6fe0ceb7 fetch 1 ,mem_computer_system 
+033a c001833e beq system_os_mac ,p_mouse_macos_winr_data 
+
+p_mouse_winos_winr_data:
+033b 6fe1ceac fetch 3 ,mem_usb_win_cmd 
+033c 67e18670 store 3 ,mem_pdatatemp 
+033d 20205b44 branch mouse_le_send_keyboard_package_data_next 
+
+p_mouse_macos_winr_data:
+033e 6fe1ceaf fetch 3 ,mem_usb_mac_cmd 
+033f 67e18670 store 3 ,mem_pdatatemp 
+0340 20205b44 branch mouse_le_send_keyboard_package_data_next 
+
+p_mouse_website_enter_data1:
+0341 704e6a06 jam website_enter_release_1 ,mem_mouse_website_step 
+0342 20200344 branch p_mouse_website_enter_data 
+
+p_mouse_website_enter_data2:
+0343 704e6a08 jam website_enter_release_2 ,mem_mouse_website_step 
+
+p_mouse_website_enter_data:
+0344 6fe1ceb2 fetch 3 ,mem_usb_kb_enter 
+0345 67e18670 store 3 ,mem_pdatatemp 
+0346 20205b44 branch mouse_le_send_keyboard_package_data_next 
+
+p_mouse_website_data:
+0347 6fe0ceb6 fetch 1 ,mem_mouse_website_release_flag 
+0348 c000834e beq 1 ,p_mouse_website_release_data 
+0349 c0000354 beq 0 ,p_mouse_website_info_data 
+034a 20600000 rtn 
+
+p_mouse_website_enter_release_data:
+034b 704e6a00 jam website_done ,mem_mouse_website_step 
+034c 2020034e branch p_mouse_website_release_data 
+
+p_mouse_website_win_release_data:
+034d 704e6a03 jam website_wait ,mem_mouse_website_step 
+
+p_mouse_website_release_data:
+034e 704eb600 jam 0 ,mem_mouse_website_release_flag 
+034f 20205b4d branch mouse_le_release_keyboard_data 
+
+p_mouse_webstie_release_data1:
+0350 704e6a07 jam website_enter_2 ,mem_mouse_website_step 
+0351 2020034e branch p_mouse_website_release_data 
+
+p_usb_webstie_info_data_done:
+0352 704e6a05 jam website_enter_1 ,mem_mouse_website_step 
+0353 20600000 rtn 
+
+p_mouse_website_info_data:
+0354 d8404e6e arg mem_mouse_website_info + 1 ,temp 
+0355 6fe0ce6d fetch 1 ,mem_mouse_website_info 
+0356 98408400 iadd temp ,temp 
+0357 6fe14e6b fetch 2 ,mem_mouse_website_ptr 
+0358 98467c00 isub temp ,null 
+0359 20228352 branch p_usb_webstie_info_data_done ,zero 
+035a 20400364 call p_mouse_website_acii2hidkey 
+035b 2040038b call p_mouse_website_need_shift 
+035c 6fe0ceb5 fetch 1 ,mem_mouse_website_shift_flag 
+035d 67e08670 store 1 ,mem_pdatatemp 
+035e 62208672 storer rega ,1 ,mem_pdatatemp + 2 
+035f 6fe14e6b fetch 2 ,mem_mouse_website_ptr 
+0360 1fe0fe01 increase 1 ,pdata 
+0361 67e14e6b store 2 ,mem_mouse_website_ptr 
+0362 704eb601 jam 1 ,mem_mouse_website_release_flag 
+0363 20205b44 branch mouse_le_send_keyboard_package_data_next 
+
+p_mouse_website_acii2hidkey:
+0364 68494e6b fetcht 2 ,mem_mouse_website_ptr 
+0365 efe08002 ifetch 1 ,temp 
+0366 1fe67c7a sub pdata ,0x7a ,null 
+0367 2421036b nbranch p_mouse_website_acii2hidkey1 ,positive 
+0368 da400061 arg 0x61 ,regb 
+0369 9a462200 isub regb ,rega 
+036a 20210385 branch p_mouse_website_acii2keycode_a2z ,positive 
+
+p_mouse_website_acii2hidkey1:
+036b efe08002 ifetch 1 ,temp 
+036c 1fe67c39 sub pdata ,0x39 ,null 
+036d 24210374 nbranch p_mouse_website_acii2keycode_sign ,positive 
+036e da400031 arg 0x31 ,regb 
+036f 9a462200 isub regb ,rega 
+0370 20210387 branch p_mouse_website_acii2keycode_1to9 ,positive 
+0371 da400030 arg 0x30 ,regb 
+0372 9a462200 isub regb ,rega 
+0373 20228389 branch p_mouse_website_acii2keycode_0 ,zero 
+
+p_mouse_website_acii2keycode_sign:
+0374 1fe67c3a sub pdata ,0x3a ,null 
+0375 2022837d branch p_mouse_website_acii2keycode_sign_3a ,zero 
+0376 1fe67c2f sub pdata ,0x2f ,null 
+0377 2022837f branch p_mouse_website_acii2keycode_sign_2f ,zero 
+0378 1fe67c2e sub pdata ,0x2e ,null 
+0379 20228381 branch p_mouse_website_acii2keycode_sign_2e ,zero 
+037a 1fe67c2d sub pdata ,0x2d ,null 
+037b 20228383 branch p_mouse_website_acii2keycode_sign_2d ,zero 
+037c 20600000 rtn 
+
+p_mouse_website_acii2keycode_sign_3a:
+037d da200033 arg 0x33 ,rega 
+037e 20600000 rtn 
+
+p_mouse_website_acii2keycode_sign_2f:
+037f da200038 arg 0x38 ,rega 
+0380 20600000 rtn 
+
+p_mouse_website_acii2keycode_sign_2e:
+0381 da200037 arg 0x37 ,rega 
+0382 20600000 rtn 
+
+p_mouse_website_acii2keycode_sign_2d:
+0383 da20002d arg 0x2d ,rega 
+0384 20600000 rtn 
+
+p_mouse_website_acii2keycode_a2z:
+0385 1a20a204 add rega ,4 ,rega 
+0386 20600000 rtn 
+
+p_mouse_website_acii2keycode_1to9:
+0387 1a20a21e add rega ,0x1e ,rega 
+0388 20600000 rtn 
+
+p_mouse_website_acii2keycode_0:
+0389 1a20a227 add rega ,0x27 ,rega 
+038a 20600000 rtn 
+
+p_mouse_website_need_shift:
+038b 704eb500 jam 0 ,mem_mouse_website_shift_flag 
+038c 6fe14e6b fetch 2 ,mem_mouse_website_ptr 
+038d efe0803f ifetch 1 ,pdata 
+038e d8c04e96 arg mem_mouse_website_info_sign + 1 ,contr 
+038f 6848ce95 fetcht 1 ,mem_mouse_website_info_sign 
+0390 18427200 copy temp ,loopcnt 
+
+p_mouse_website_need_shift_check_loop:
+0391 e8408006 ifetcht 1 ,contr 
+0392 98467c00 isub temp ,null 
+0393 20228396 branch p_mouse_website_need_shift_setflag ,zero 
+0394 c2000391 loop p_mouse_website_need_shift_check_loop 
+0395 20600000 rtn 
+
+p_mouse_website_need_shift_setflag:
+0396 704eb502 jam 2 ,mem_mouse_website_shift_flag 
+0397 20600000 rtn 
+
+p_mouse_website_wait_tx_data:
+0398 6fe0ceab fetch 1 ,mem_mouse_website_wait_count 
+0399 1fe0fe01 increase 1 ,pdata 
+039a 67e0ceab store 1 ,mem_mouse_website_wait_count 
+039b c18f0000 rtnne website_wait_count 
+039c 704eab00 jam 0 ,mem_mouse_website_wait_count 
+039d 704e6a04 jam website_data ,mem_mouse_website_step 
+039e 20600000 rtn 
+
+p_mouse_send_device_info_check:
+039f 7047b40e jam 0x0e ,mem_le_data_len 
+03a0 70067001 jam 0x01 ,mem_pdatatemp 
+03a1 7006710c jam 0x0c ,mem_pdatatemp + 1 
+03a2 6fe34b28 fetch 6 ,mem_mouse_sn_mac 
+03a3 67e30672 store 6 ,mem_pdatatemp + 2 
+03a4 6fe14b26 fetch 2 ,mem_mouse_version 
+03a5 67e10678 store 2 ,mem_pdatatemp + 8 
+03a6 6fe14b2e fetch 2 ,mem_mouse_code 
+03a7 67e14523 store 2 ,mem_24g_txbuf + 10 
+03a8 68494b47 fetcht 2 ,mem_le_device_info_handle 
+03a9 20205b46 branch mouse_fill_data_le 
+
+p_le_send_dpi_info_data:
+03aa 7047b404 jam 4 ,mem_le_data_len 
+03ab 70067002 jam 0x02 ,mem_pdatatemp 
+03ac 70067102 jam 0x02 ,mem_pdatatemp + 1 
+03ad 6fe0c690 fetch 1 ,mem_mouse_dpi 
+03ae 67e08672 store 1 ,mem_pdatatemp + 2 
+03af 70067300 jam 0x00 ,mem_pdatatemp + 3 
+03b0 68494b43 fetcht 2 ,mem_le_dpi_handle 
+03b1 20205b46 branch mouse_fill_data_le 
+
+p_le_send_battery_info_check:
+03b2 7047b404 jam 4 ,mem_le_data_len 
+03b3 70067002 jam 0x02 ,mem_pdatatemp 
+03b4 70067102 jam 0x02 ,mem_pdatatemp + 1 
+03b5 6fe0c7bd fetch 1 ,mem_le_battery_level_percentage 
+03b6 67e08672 store 1 ,mem_pdatatemp + 2 
+03b7 70067300 jam 0x00 ,mem_pdatatemp + 3 
+03b8 68494b43 fetcht 2 ,mem_le_dpi_handle 
+03b9 20205b46 branch mouse_fill_data_le 
+
+p_le_send_app_info_check:
+03ba 7047b402 jam 2 ,mem_le_data_len 
+03bb 70067008 jam 0x08 ,mem_pdatatemp 
+03bc 70067100 jam 0x00 ,mem_pdatatemp + 1 
+03bd 68494b45 fetcht 2 ,mem_le_app_handle 
+03be 20205b46 branch mouse_fill_data_le 
 
 p_gpio_set_wake:
-0316 18467cff sub temp ,ui_button_gpio_disable ,null 
-0317 20628000 rtn zero 
-0318 d9000004 arg 4 ,debug 
-0319 284ffe07 isolate1 gpio_active_bit ,temp 
-031a 2020eebd branch gpio_set_wake_high ,true 
-031b d9000003 arg 3 ,debug 
-031c 20206ebd branch gpio_set_wake_high 
+03bf 18467cff sub temp ,ui_button_gpio_disable ,null 
+03c0 20628000 rtn zero 
+03c1 d9000004 arg 4 ,debug 
+03c2 284ffe07 isolate1 gpio_active_bit ,temp 
+03c3 2020eebd branch gpio_set_wake_high ,true 
+03c4 d9000003 arg 3 ,debug 
+03c5 20206ebd branch gpio_set_wake_high 
 
 p_gpio_set_wake_by_current_state:
-031d 18467cff sub temp ,gpio_disable ,null 
-031e 20628000 rtn zero 
-031f 20406ee6 call gpio_get_bit 
-0320 20208323 branch p_gpio_set_qdec_mode ,true 
+03c6 18467cff sub temp ,gpio_disable ,null 
+03c7 20628000 rtn zero 
+03c8 20406ee6 call gpio_get_bit 
+03c9 202083cc branch p_gpio_set_qdec_mode ,true 
 
 p_gpio_set_low_wake:
-0321 d9000003 arg 3 ,debug 
-0322 20206ebd branch gpio_set_wake_high 
+03ca d9000003 arg 3 ,debug 
+03cb 20206ebd branch gpio_set_wake_high 
 
 p_gpio_set_qdec_mode:
-0323 704b1f01 jam 1 ,mem_mouse_qdec_set_flag 
+03cc 704b1f01 jam 1 ,mem_mouse_qdec_set_flag 
 
 p_mouse_qdec_lpm_cfg:
-0324 d9000006 arg 6 ,debug 
-0325 20206ebd branch gpio_set_wake_high 
+03cd d9000006 arg 6 ,debug 
+03ce 20206ebd branch gpio_set_wake_high 
 
 p_mouse_puchk_disable:
-0326 58000010 setarg 0x10 
+03cf 58000010 setarg 0x10 
 
 p_mouse_puchk_set:
-0327 67f08141 store 1 ,core_puwakeup 
-0328 202023e2 branch lpm_write_wait 
+03d0 67f08141 store 1 ,core_puwakeup 
+03d1 202023e2 branch lpm_write_wait 
 
 p_mouse_lpm_before_common:
-0329 20400529 call p_clear_wake 
-032a 704b1f00 jam 0 ,mem_mouse_qdec_set_flag 
-032b 6848c654 fetcht 1 ,mem_matrix_public_gpio 
-032c 20406ef7 call gpio_out_active 
-032d 6848c654 fetcht 1 ,mem_matrix_public_gpio 
-032e 20406ed3 call gpio_clr_wake 
-032f 2040550d call mouse_lpm_before_common + 1 
-0330 204054f9 call mouse_gpio_pd_idle 
+03d2 204005d3 call p_clear_wake 
+03d3 704b1f00 jam 0 ,mem_mouse_qdec_set_flag 
+03d4 6848c654 fetcht 1 ,mem_matrix_public_gpio 
+03d5 20406ef7 call gpio_out_active 
+03d6 6848c654 fetcht 1 ,mem_matrix_public_gpio 
+03d7 20406ed3 call gpio_clr_wake 
+03d8 2040550d call mouse_lpm_before_common + 1 
+03d9 204054f9 call mouse_gpio_pd_idle 
 
 p_mouse_wheel_set_impedance:
-0331 6848c64a fetcht 1 ,mem_whee_a_data_gpio 
-0332 20406f0f call gpio_set_high_impedance 
-0333 6848c64b fetcht 1 ,mem_whee_b_data_gpio 
-0334 20206f0f branch gpio_set_high_impedance 
+03da 6848c64a fetcht 1 ,mem_whee_a_data_gpio 
+03db 20406f0f call gpio_set_high_impedance 
+03dc 6848c64b fetcht 1 ,mem_whee_b_data_gpio 
+03dd 20206f0f branch gpio_set_high_impedance 
 
 p_lpm_sleep:
 
 p_lpm_sleep_skip_cb_function:
-0335 6fe240ad fetch 4 ,mem_sleep_counter_all 
-0336 9840fe00 iadd temp ,pdata 
-0337 67e240ad store 4 ,mem_sleep_counter_all 
-0338 20400346 call p_lpm_save_context 
-0339 20400342 call p_mouse_puchk_set_check 
-033a 6fe0c0cb fetch 1 ,mem_lpm_hv_sel 
-033b 79207e04 set1 lpm_doze_en_bit ,pdata 
-033c 204023e1 call lpm_write_sel_hv 
-033d 2455a3cb ncall lpm_preon_counter ,wake 
-033e 37d98200 until null ,lpo_edge 
-033f 1b227e00 copy clkn ,pdata 
-0340 67e340b1 store 6 ,mem_sleep_clkn 
-0341 2020242b branch lpm_sleep_skip_cb_function + 10 
+03de 6fe240ad fetch 4 ,mem_sleep_counter_all 
+03df 9840fe00 iadd temp ,pdata 
+03e0 67e240ad store 4 ,mem_sleep_counter_all 
+03e1 204003ef call p_lpm_save_context 
+03e2 204003eb call p_mouse_puchk_set_check 
+03e3 6fe0c0cb fetch 1 ,mem_lpm_hv_sel 
+03e4 79207e04 set1 lpm_doze_en_bit ,pdata 
+03e5 204023e1 call lpm_write_sel_hv 
+03e6 2455a3cb ncall lpm_preon_counter ,wake 
+03e7 37d98200 until null ,lpo_edge 
+03e8 1b227e00 copy clkn ,pdata 
+03e9 67e340b1 store 6 ,mem_sleep_clkn 
+03ea 2020242b branch lpm_sleep_skip_cb_function + 10 
 
 p_mouse_puchk_set_check:
-0342 6fe0cb1f fetch 1 ,mem_mouse_qdec_set_flag 
-0343 203a0326 branch p_mouse_puchk_disable ,blank 
+03eb 6fe0cb1f fetch 1 ,mem_mouse_qdec_set_flag 
+03ec 203a03cf branch p_mouse_puchk_disable ,blank 
 
 p_mouse_puchk_enable:
-0344 58000080 setarg 0x80 
-0345 20200327 branch p_mouse_puchk_set 
+03ed 58000080 setarg 0x80 
+03ee 202003d0 branch p_mouse_puchk_set 
 
 p_lpm_save_context:
-0346 600440e7 storer mark ,8 ,mem_saved_mark 
-0347 d8c08070 arg core_gpio_conf ,contr 
-0348 d8a040cc arg mem_saved_gpio ,contw 
-0349 20407c8f call memcpy16 
-034a d8c080d4 arg core_gpio_conf_hi ,contr 
-034b 20407c89 call memcpy8 
-034c 6ff08080 fetch 1 ,core_spid_ctrl 
-034d 67e0c0ef store 1 ,mem_saved_spidctrl 
-034e 18422400 copy temp ,regb 
+03ef 600440e7 storer mark ,8 ,mem_saved_mark 
+03f0 d8c08070 arg core_gpio_conf ,contr 
+03f1 d8a040cc arg mem_saved_gpio ,contw 
+03f2 20407c8f call memcpy16 
+03f3 d8c080d4 arg core_gpio_conf_hi ,contr 
+03f4 20407c89 call memcpy8 
+03f5 6ff08080 fetch 1 ,core_spid_ctrl 
+03f6 67e0c0ef store 1 ,mem_saved_spidctrl 
+03f7 18422400 copy temp ,regb 
 
 p_lpm_write_gpio_wakeup:
-034f df20000c arg 12 ,loopcnt 
-0350 da200016 arg mem_gpio_wakeup_cfg ,rega 
-0351 da60814d arg core_gpio_wakeup_cfg ,regc 
-0352 37d98200 until null ,lpo_edge 
+03f8 df20000c arg 12 ,loopcnt 
+03f9 da200016 arg mem_gpio_wakeup_cfg ,rega 
+03fa da60814d arg core_gpio_wakeup_cfg ,regc 
+03fb 37d98200 until null ,lpo_edge 
 
 p_lpm_write_gpio_loop:
-0353 efe08011 ifetch 1 ,rega 
-0354 e8408013 ifetcht 1 ,regc 
-0355 98467c00 isub temp ,null 
-0356 20228359 branch p_lpm_write_gpio_loop_next ,zero 
-0357 e7e08013 istore 1 ,regc 
-0358 37d98200 until null ,lpo_edge 
+03fc efe08011 ifetch 1 ,rega 
+03fd e8408013 ifetcht 1 ,regc 
+03fe 98467c00 isub temp ,null 
+03ff 20228402 branch p_lpm_write_gpio_loop_next ,zero 
+0400 e7e08013 istore 1 ,regc 
+0401 37d98200 until null ,lpo_edge 
 
 p_lpm_write_gpio_loop_next:
-0359 1a20a201 increase 1 ,rega 
-035a 1a60a601 increase 1 ,regc 
-035b c2000353 loop p_lpm_write_gpio_loop 
-035c 1a420400 copy regb ,temp 
-035d 20600000 rtn 
+0402 1a20a201 increase 1 ,rega 
+0403 1a60a601 increase 1 ,regc 
+0404 c20003fc loop p_lpm_write_gpio_loop 
+0405 1a420400 copy regb ,temp 
+0406 20600000 rtn 
 
 p_otp_read_data:
-035e 20406b3a call enable_otp_read 
-035f 20406b75 call otp_read_data + 1 
-0360 20206b38 branch otp_disable_chgpump 
+0407 20406b3a call enable_otp_read 
+0408 20406b75 call otp_read_data + 1 
+0409 20206b38 branch otp_disable_chgpump 
 
 p_g24_reconn_dispatch:
-0361 6fe145e0 fetch 2 ,mem_24g_reconn_count 
-0362 d84001f8 arg 0x01f8 ,temp 
-0363 98417e00 iand temp ,pdata 
-0364 203a0366 branch p_g24_reconn_dispatch_next ,blank 
-0365 20203561 branch g24_reconn_dispatch + 5 
+040a 6fe145e0 fetch 2 ,mem_24g_reconn_count 
+040b d84001f8 arg 0x01f8 ,temp 
+040c 98417e00 iand temp ,pdata 
+040d 203a040f branch p_g24_reconn_dispatch_next ,blank 
+040e 20203561 branch g24_reconn_dispatch + 5 
 
 p_g24_reconn_dispatch_next:
-0366 2040357f call g24_reconn_data_prep 
-0367 20403651 call g24_transmit_receive_ack 
-0368 242c3586 nbranch g24_reconn_device_fail ,sync 
-0369 2437b586 nbranch g24_reconn_device_fail ,user3 
-036a 2040366e call g24_ackpayload_parse 
-036b 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
-036c 203a038b branch p_recv_addr_zero_skip ,blank 
+040f 2040357f call g24_reconn_data_prep 
+0410 20403651 call g24_transmit_receive_ack 
+0411 242c3586 nbranch g24_reconn_device_fail ,sync 
+0412 2437b586 nbranch g24_reconn_device_fail ,user3 
+0413 2040366e call g24_ackpayload_parse 
+0414 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
+0415 203a0434 branch p_recv_addr_zero_skip ,blank 
 
 p_g24_reconn_dispatch_next_2:
-036d 6fe245cc fetch 4 ,mem_24g_pair_addr 
-036e 684a458f fetcht 4 ,mem_24g_addr 
-036f 98467c00 isub temp ,null 
-0370 20228372 branch p_g24_reconn_mode_judge ,zero 
-0371 2020356e branch g24_reconn_dispatch_next + 9 
+0416 6fe245cc fetch 4 ,mem_24g_pair_addr 
+0417 684a458f fetcht 4 ,mem_24g_addr 
+0418 98467c00 isub temp ,null 
+0419 2022841b branch p_g24_reconn_mode_judge ,zero 
+041a 2020356e branch g24_reconn_dispatch_next + 9 
 
 p_g24_reconn_mode_judge:
-0372 6fe44713 fetch mouse_flag_len ,mem_mouse_flag 
-0373 c298604e bbit1 mouse_enable_auto_24g_paring ,mouse_24g_pair_mode_check 
-0374 20203549 branch g24_reconn_receiver_addr 
+041b 6fe44713 fetch mouse_flag_len ,mem_mouse_flag 
+041c c298604e bbit1 mouse_enable_auto_24g_paring ,mouse_24g_pair_mode_check 
+041d 20203549 branch g24_reconn_receiver_addr 
 
 p_g24_reconn_device_fail:
-0375 6fe0c5e3 fetch 1 ,mem_24g_fast_conn_enable 
-0376 203a3222 branch g24_ch ,blank 
-0377 6fe145e0 fetch 2 ,mem_24g_reconn_count 
-0378 1fe0fe01 increase 1 ,pdata 
-0379 67e145e0 store 2 ,mem_24g_reconn_count 
-037a 2feffe09 isolate1 9 ,pdata 
-037b 6fe0c5e2 fetch 1 ,mem_24g_reconn_type 
-037c c002837e beq pair_and_receiver ,p_g24_reconn_pair_and_receiver 
-037d 2020358d branch g24_reconn_device_fail + 7 
+041e 6fe0c5e3 fetch 1 ,mem_24g_fast_conn_enable 
+041f 203a3222 branch g24_ch ,blank 
+0420 6fe145e0 fetch 2 ,mem_24g_reconn_count 
+0421 1fe0fe01 increase 1 ,pdata 
+0422 67e145e0 store 2 ,mem_24g_reconn_count 
+0423 2feffe09 isolate1 9 ,pdata 
+0424 6fe0c5e2 fetch 1 ,mem_24g_reconn_type 
+0425 c0028427 beq pair_and_receiver ,p_g24_reconn_pair_and_receiver 
+0426 2020358d branch g24_reconn_device_fail + 7 
 
 p_g24_reconn_pair_and_receiver:
-037e 2020b549 branch g24_reconn_receiver_addr ,true 
-037f 2020329c branch g24_pair_init_param 
+0427 2020b549 branch g24_reconn_receiver_addr ,true 
+0428 2020329c branch g24_pair_init_param 
 
 p_mouse_param_init:
-0380 2040543b call mouse_param_common_init 
-0381 704b4000 jam 0 ,mem_mouse_delay_send_info_timer 
-0382 58004a1f setarg mem_le_tx_buffer0_omemalloc_new 
-0383 67e1433f store 2 ,mem_ble_l2cap_tx_buff0_ptr 
-0384 58000020 setarg mouse_ble_l2cap_txbuff_size_new 
-0385 67e14341 store 2 ,mem_ble_l2cap_tx_buff_size_ptr 
-0386 2040544c call mouse_param_init + 2 
-0387 6fe44713 fetch mouse_flag_len ,mem_mouse_flag 
-0388 c38a8000 rtnbit1 mouse_enable_adc 
-0389 7047bdff jam 0xff ,mem_le_battery_level_percentage 
-038a 20600000 rtn 
+0429 2040543b call mouse_param_common_init 
+042a 704b4000 jam 0 ,mem_mouse_delay_send_info_timer 
+042b 58004a1f setarg mem_le_tx_buffer0_omemalloc_new 
+042c 67e1433f store 2 ,mem_ble_l2cap_tx_buff0_ptr 
+042d 58000020 setarg mouse_ble_l2cap_txbuff_size_new 
+042e 67e14341 store 2 ,mem_ble_l2cap_tx_buff_size_ptr 
+042f 2040544c call mouse_param_init + 2 
+0430 6fe44713 fetch mouse_flag_len ,mem_mouse_flag 
+0431 c38a8000 rtnbit1 mouse_enable_adc 
+0432 7047bdff jam 0xff ,mem_le_battery_level_percentage 
+0433 20600000 rtn 
 
 p_recv_addr_zero_skip:
-038b 6fe245e4 fetch 4 ,mem_24g_fast_conn_addr 
-038c 684a458f fetcht 4 ,mem_24g_addr 
-038d 98467c00 isub temp ,null 
-038e 2022836d branch p_g24_reconn_dispatch_next_2 ,zero 
-038f 6fe2455f fetch 4 ,mem_24g_rxpayload + 2 
-0390 207a0000 rtn blank 
-0391 2020036d branch p_g24_reconn_dispatch_next_2 
+0434 6fe245e4 fetch 4 ,mem_24g_fast_conn_addr 
+0435 684a458f fetcht 4 ,mem_24g_addr 
+0436 98467c00 isub temp ,null 
+0437 20228416 branch p_g24_reconn_dispatch_next_2 ,zero 
+0438 6fe2455f fetch 4 ,mem_24g_rxpayload + 2 
+0439 207a0000 rtn blank 
+043a 20200416 branch p_g24_reconn_dispatch_next_2 
 
 p_power_ctrl_start:
-0392 6fe0c437 fetch 1 ,mem_power_ctrl_disable 
-0393 247a0000 nrtn blank 
-0394 6fe144e9 fetch 2 ,mem_ui_state_map 
-0395 c3858000 rtnbit1 ui_state_ble_adv 
-0396 6a2145f0 fetchr rega ,2 ,mem_rssi_signal_buf_ptr 
-0397 204035b4 call rssi_average 
-0398 6048c624 storet 1 ,mem_rssi_avg_received 
-0399 6fe0c629 fetch 1 ,mem_rssi_dis_max_24g 
-039a c513039c bmark1 mark_24g ,p_power_ctrl_start_next 
-039b 6fe0c62c fetch 1 ,mem_rssi_dis_max_ble 
+043b 6fe0c437 fetch 1 ,mem_power_ctrl_disable 
+043c 247a0000 nrtn blank 
+043d 6fe144e9 fetch 2 ,mem_ui_state_map 
+043e c3858000 rtnbit1 ui_state_ble_adv 
+043f 6a2145f0 fetchr rega ,2 ,mem_rssi_signal_buf_ptr 
+0440 204035b4 call rssi_average 
+0441 6048c624 storet 1 ,mem_rssi_avg_received 
+0442 6fe0c629 fetch 1 ,mem_rssi_dis_max_24g 
+0443 c5130445 bmark1 mark_24g ,p_power_ctrl_start_next 
+0444 6fe0c62c fetch 1 ,mem_rssi_dis_max_ble 
 
 p_power_ctrl_start_next:
-039c 98467c00 isub temp ,null 
-039d 242103b6 nbranch p_power_ctrl_txpower_incrs_force ,positive 
-039e 6fe0c626 fetch 1 ,mem_power_ctrl_pac_succ_cnt 
-039f 1fe67c02 sub pdata ,2 ,null 
-03a0 242103a4 nbranch p_power_ctrl_txpower_decrs_check ,positive 
-03a1 6fe0c626 fetch 1 ,mem_power_ctrl_pac_succ_cnt 
-03a2 c00003b7 beq 0 ,p_power_ctrl_txpower_incrs 
-03a3 20600000 rtn 
+0445 98467c00 isub temp ,null 
+0446 2421045f nbranch p_power_ctrl_txpower_incrs_force ,positive 
+0447 6fe0c626 fetch 1 ,mem_power_ctrl_pac_succ_cnt 
+0448 1fe67c02 sub pdata ,2 ,null 
+0449 2421044d nbranch p_power_ctrl_txpower_decrs_check ,positive 
+044a 6fe0c626 fetch 1 ,mem_power_ctrl_pac_succ_cnt 
+044b c0000460 beq 0 ,p_power_ctrl_txpower_incrs 
+044c 20600000 rtn 
 
 p_power_ctrl_txpower_decrs_check:
-03a4 6fe0c626 fetch 1 ,mem_power_ctrl_pac_succ_cnt 
-03a5 6848c627 fetcht 1 ,mem_power_ctrl_pac_succ_cnt_init 
-03a6 98467c00 isub temp ,null 
-03a7 24628000 nrtn zero 
-03a8 70462600 jam 0 ,mem_power_ctrl_pac_succ_cnt 
+044d 6fe0c626 fetch 1 ,mem_power_ctrl_pac_succ_cnt 
+044e 6848c627 fetcht 1 ,mem_power_ctrl_pac_succ_cnt_init 
+044f 98467c00 isub temp ,null 
+0450 24628000 nrtn zero 
+0451 70462600 jam 0 ,mem_power_ctrl_pac_succ_cnt 
 
 p_power_ctrl_txpower_decrs:
-03a9 6848c624 fetcht 1 ,mem_rssi_avg_received 
-03aa 6fe0c628 fetch 1 ,mem_rssi_dis_min_24g 
-03ab c51303ad bmark1 mark_24g ,p_power_ctrl_txpower_decrs_next 
-03ac 6fe0c62b fetch 1 ,mem_rssi_dis_min_ble 
+0452 6848c624 fetcht 1 ,mem_rssi_avg_received 
+0453 6fe0c628 fetch 1 ,mem_rssi_dis_min_24g 
+0454 c5130456 bmark1 mark_24g ,p_power_ctrl_txpower_decrs_next 
+0455 6fe0c62b fetch 1 ,mem_rssi_dis_min_ble 
 
 p_power_ctrl_txpower_decrs_next:
-03ad 98467c00 isub temp ,null 
-03ae 24610000 nrtn positive 
-03af 6fe0c625 fetch 1 ,mem_power_ctrl_level 
-03b0 c0003715 beq 0 ,power_ctrl_decrs_level0 
-03b1 1fe0ffff increase -1 ,pdata 
-03b2 67e0c625 store 1 ,mem_power_ctrl_level 
-03b3 c00103bf beq 2 ,p_power_ctrl_decrs_level2 
-03b4 c000b70b beq 1 ,power_ctrl_decrs_level1 
-03b5 20203715 branch power_ctrl_decrs_level0 
+0456 98467c00 isub temp ,null 
+0457 24610000 nrtn positive 
+0458 6fe0c625 fetch 1 ,mem_power_ctrl_level 
+0459 c0003715 beq 0 ,power_ctrl_decrs_level0 
+045a 1fe0ffff increase -1 ,pdata 
+045b 67e0c625 store 1 ,mem_power_ctrl_level 
+045c c0010468 beq 2 ,p_power_ctrl_decrs_level2 
+045d c000b70b beq 1 ,power_ctrl_decrs_level1 
+045e 20203715 branch power_ctrl_decrs_level0 
 
 p_power_ctrl_txpower_incrs_force:
-03b6 70462600 jam 0 ,mem_power_ctrl_pac_succ_cnt 
+045f 70462600 jam 0 ,mem_power_ctrl_pac_succ_cnt 
 
 p_power_ctrl_txpower_incrs:
-03b7 6fe0c625 fetch 1 ,mem_power_ctrl_level 
-03b8 c00183bd beq 3 ,p_power_ctrl_incrs_level3 
-03b9 1fe0fe01 increase 1 ,pdata 
-03ba 67e0c625 store 1 ,mem_power_ctrl_level 
-03bb c000b70b beq 1 ,power_ctrl_incrs_level1 
-03bc c00103bf beq 2 ,p_power_ctrl_incrs_level2 
+0460 6fe0c625 fetch 1 ,mem_power_ctrl_level 
+0461 c0018466 beq 3 ,p_power_ctrl_incrs_level3 
+0462 1fe0fe01 increase 1 ,pdata 
+0463 67e0c625 store 1 ,mem_power_ctrl_level 
+0464 c000b70b beq 1 ,power_ctrl_incrs_level1 
+0465 c0010468 beq 2 ,p_power_ctrl_incrs_level2 
 
 p_power_ctrl_incrs_level3:
-03bd 70414105 jam tx_power_5db ,mem_tx_power 
-03be 20600000 rtn 
+0466 70414105 jam tx_power_5db ,mem_tx_power 
+0467 20600000 rtn 
 
 p_power_ctrl_decrs_level2:
 
 p_power_ctrl_incrs_level2:
-03bf 70414103 jam tx_power_3db ,mem_tx_power 
-03c0 20600000 rtn 
+0468 70414103 jam tx_power_3db ,mem_tx_power 
+0469 20600000 rtn 
 
 p_mouse_cb_fuction:
-03c1 58006235 setarg mouse_24g_short_sleep 
-03c2 67e145f8 store 2 ,mem_cb_24g_transmit_short_sleep 
-03c3 5800622b setarg mouse_24g_long_sleep 
-03c4 67e145fa store 2 ,mem_cb_24g_transmit_long_sleep 
-03c5 202053f3 branch mouse_cb_fuction + 7 
+046a 58006235 setarg mouse_24g_short_sleep 
+046b 67e145f8 store 2 ,mem_cb_24g_transmit_short_sleep 
+046c 5800622b setarg mouse_24g_long_sleep 
+046d 67e145fa store 2 ,mem_cb_24g_transmit_long_sleep 
+046e 202053f3 branch mouse_cb_fuction + 7 
 
 p_soft_reset:
-03c6 2435a002 nbranch soft_reset + 1 ,wake 
-03c7 37d98200 until null ,lpo_edge 
-03c8 37d98200 until null ,lpo_edge 
-03c9 20800000 clear_stack 
-03ca 70808073 jam 0x73 ,core_spid_ctrl 
-03cb 205583cd call p_mouse_wheel_init_set ,wake 
-03cc 20202003 branch soft_reset + 2 
+046f 2435a002 nbranch soft_reset + 1 ,wake 
+0470 37d98200 until null ,lpo_edge 
+0471 37d98200 until null ,lpo_edge 
+0472 20800000 clear_stack 
+0473 70808073 jam 0x73 ,core_spid_ctrl 
+0474 20558476 call p_mouse_wheel_init_set ,wake 
+0475 20202003 branch soft_reset + 2 
 
 p_mouse_wheel_init_set:
-03cd 20400326 call p_mouse_puchk_disable 
-03ce 204058df call mouse_matrix_public_gpio_reset 
-03cf 20206004 branch mouse_wheel_gpio_init 
+0476 204003cf call p_mouse_puchk_disable 
+0477 204058df call mouse_matrix_public_gpio_reset 
+0478 20206004 branch mouse_wheel_gpio_init 
 
 p_mouse_default_init:
-03d0 704b2200 jam 0 ,mem_mouse_switch_flag 
-03d1 704b2555 jam release ,mem_mouse_tx_dpi_state 
-03d2 6fe342db fetch 6 ,mem_le_lap 
-03d3 67e34b28 store 6 ,mem_mouse_sn_mac 
-03d4 6fe44713 fetch mouse_flag_len ,mem_mouse_flag 
-03d5 2feffe16 isolate1 mouse_enable_keyboard ,pdata 
-03d6 2040df08 call mouse_customer_key_enable ,true 
-03d7 2020542c branch mouse_default_parm_init 
+0479 704b2200 jam 0 ,mem_mouse_switch_flag 
+047a 704b2555 jam release ,mem_mouse_tx_dpi_state 
+047b 6fe342db fetch 6 ,mem_le_lap 
+047c 67e34b28 store 6 ,mem_mouse_sn_mac 
+047d 6fe44713 fetch mouse_flag_len ,mem_mouse_flag 
+047e 2feffe16 isolate1 mouse_enable_keyboard ,pdata 
+047f 2040df08 call mouse_customer_key_enable ,true 
+0480 2020542c branch mouse_default_parm_init 
 
 p_mouse_load_device_info_check:
-03d8 204004e4 call p_mouse_store_normal_tx_power 
-03d9 204003e4 call p_mouse_load_eeprom_info_check 
+0481 2040058d call p_mouse_store_normal_tx_power 
+0482 2040048d call p_mouse_load_eeprom_info_check 
 
 p_mouse_app_initflag_check:
-03da 204003eb call p_mouse_load_device_flag_check 
-03db 6fe1468e fetch 2 ,mem_store_flag 
-03dc d840aa55 arg eeprom_init_flag ,temp 
-03dd 98467c00 isub temp ,null 
-03de 202283f0 branch p_mouse_load_device_info ,zero 
-03df 6049468e storet 2 ,mem_store_flag 
-03e0 20405c9c call mouse_ble_init_address 
-03e1 6fe0c9a1 fetch 1 ,mem_device_flag_temp 
-03e2 67e0c666 store 1 ,mem_device_flag 
-03e3 20205c8c branch mouse_load_default_dpi 
+0483 20400494 call p_mouse_load_device_flag_check 
+0484 6fe1468e fetch 2 ,mem_store_flag 
+0485 d840aa55 arg eeprom_init_flag ,temp 
+0486 98467c00 isub temp ,null 
+0487 20228499 branch p_mouse_load_device_info ,zero 
+0488 6049468e storet 2 ,mem_store_flag 
+0489 20405c9c call mouse_ble_init_address 
+048a 6fe0c9a1 fetch 1 ,mem_device_flag_temp 
+048b 67e0c666 store 1 ,mem_device_flag 
+048c 20205c8c branch mouse_load_default_dpi 
 
 p_mouse_load_eeprom_info_check:
-03e4 20406cbc call iicd_read_init_pin 
-03e5 6fe44713 fetch mouse_flag_len ,mem_mouse_flag 
-03e6 2feffe09 isolate1 mouse_enable_2k_eeprom ,pdata 
-03e7 2440ecc4 ncall clear_eeprom_size_2k ,true 
-03e8 2040ecc1 call set_eeprom_size_2k ,true 
-03e9 20405d66 call mouse_eeprom_load_recon_info 
-03ea 20205c80 branch mouse_app_initflag_check 
+048d 20406cbc call iicd_read_init_pin 
+048e 6fe44713 fetch mouse_flag_len ,mem_mouse_flag 
+048f 2feffe09 isolate1 mouse_enable_2k_eeprom ,pdata 
+0490 2440ecc4 ncall clear_eeprom_size_2k ,true 
+0491 2040ecc1 call set_eeprom_size_2k ,true 
+0492 20405d66 call mouse_eeprom_load_recon_info 
+0493 20205c80 branch mouse_app_initflag_check 
 
 p_mouse_load_device_flag_check:
-03eb 6fe0c666 fetch 1 ,mem_device_flag 
-03ec 1fe67c03 sub pdata ,3 ,null 
-03ed 20610000 rtn positive 
-03ee 70466600 jam mode_24g_device ,mem_device_flag 
-03ef 20600000 rtn 
+0494 6fe0c666 fetch 1 ,mem_device_flag 
+0495 1fe67c03 sub pdata ,3 ,null 
+0496 20610000 rtn positive 
+0497 70466600 jam mode_24g_device ,mem_device_flag 
+0498 20600000 rtn 
 
 p_mouse_load_device_info:
-03f0 204003f4 call p_mouse_select_reconn_device 
-03f1 20205c90 branch mouse_load_device_info + 1 
+0499 2040049d call p_mouse_select_reconn_device 
+049a 20205c90 branch mouse_load_device_info + 1 
 
 p_mouse_buletooth_fast_conn_end:
-03f2 204003f4 call p_mouse_select_reconn_device 
-03f3 20205a9c branch mouse_buletooth_fast_conn_end + 2 
+049b 2040049d call p_mouse_select_reconn_device 
+049c 20205a9c branch mouse_buletooth_fast_conn_end + 2 
 
 p_mouse_select_reconn_device:
-03f4 6fe0c666 fetch 1 ,mem_device_flag 
-03f5 c1000000 rtneq mode_24g_device 
-03f6 c00083f9 beq mode_bt_device1 ,p_mouse_load_le_device1 
-03f7 c00103fe beq mode_bt_device2 ,p_mouse_load_le_device2 
-03f8 20600000 rtn 
+049d 6fe0c666 fetch 1 ,mem_device_flag 
+049e c1000000 rtneq mode_24g_device 
+049f c00084a2 beq mode_bt_device1 ,p_mouse_load_le_device1 
+04a0 c00104a7 beq mode_bt_device2 ,p_mouse_load_le_device2 
+04a1 20600000 rtn 
 
 p_mouse_load_le_device1:
-03f9 6fe34668 fetch 6 ,mem_device1_addr 
-03fa 67e34116 store 6 ,mem_hci_plap 
-03fb 6fe3466e fetch 6 ,mem_device1_locall_addr 
+04a2 6fe34668 fetch 6 ,mem_device1_addr 
+04a3 67e34116 store 6 ,mem_hci_plap 
+04a4 6fe3466e fetch 6 ,mem_device1_locall_addr 
 
 p_mouse_le_lap_store:
-03fc 67e342db store 6 ,mem_le_lap 
-03fd 20600000 rtn 
+04a5 67e342db store 6 ,mem_le_lap 
+04a6 20600000 rtn 
 
 p_mouse_load_le_device2:
-03fe 6fe34675 fetch 6 ,mem_device2_addr 
-03ff 67e34116 store 6 ,mem_hci_plap 
-0400 6fe3467b fetch 6 ,mem_device2_locall_addr 
-0401 202003fc branch p_mouse_le_lap_store 
+04a7 6fe34675 fetch 6 ,mem_device2_addr 
+04a8 67e34116 store 6 ,mem_hci_plap 
+04a9 6fe3467b fetch 6 ,mem_device2_locall_addr 
+04aa 202004a5 branch p_mouse_le_lap_store 
 
 p_mouse_store_remote_bdaddr:
-0402 6fe44713 fetch mouse_flag_len ,mem_mouse_flag 
-0403 c4010000 rtnbit0 mouse_store_eeprom_flag 
-0404 d8e00002 arg mouse_store_eeprom_flag ,queue 
-0405 20405f04 call mouse_disable_function_flag 
-0406 20400409 call p_mouse_check_device_addr 
-0407 20400417 call p_mouse_before_store_reconn_info 
-0408 20205ca3 branch mouse_store_device_info_delay 
+04ab 6fe44713 fetch mouse_flag_len ,mem_mouse_flag 
+04ac c4010000 rtnbit0 mouse_store_eeprom_flag 
+04ad d8e00002 arg mouse_store_eeprom_flag ,queue 
+04ae 20405f04 call mouse_disable_function_flag 
+04af 204004b2 call p_mouse_check_device_addr 
+04b0 204004c0 call p_mouse_before_store_reconn_info 
+04b1 20205ca3 branch mouse_store_device_info_delay 
 
 p_mouse_check_device_addr:
-0409 6fe08032 fetch 1 ,mem_record_bt_mode 
-040a c19a0000 rtnne rec_4_mode 
-040b 67e0c95a store 1 ,mem_device_addr_temp 
-040c 6fe30178 fetch 6 ,mem_le_plap 
-040d 67e3495b store 6 ,mem_device_addr_temp + 1 
-040e 6fe3c95a fetch 7 ,mem_device_addr_temp 
-040f d8c04667 arg mem_device1_type ,contr 
-0410 df200003 arg 3 ,loopcnt 
+04b2 6fe08032 fetch 1 ,mem_record_bt_mode 
+04b3 c19a0000 rtnne rec_4_mode 
+04b4 67e0c95a store 1 ,mem_device_addr_temp 
+04b5 6fe30178 fetch 6 ,mem_le_plap 
+04b6 67e3495b store 6 ,mem_device_addr_temp + 1 
+04b7 6fe3c95a fetch 7 ,mem_device_addr_temp 
+04b8 d8c04667 arg mem_device1_type ,contr 
+04b9 df200003 arg 3 ,loopcnt 
 
 p_mouse_check_device_addr_end:
-0411 e8438006 ifetcht 7 ,contr 
-0412 98467c00 isub temp ,null 
-0413 2022dc69 branch mouse_clean_addr ,zero 
-0414 18c08c07 increase 7 ,contr 
-0415 c2000411 loop p_mouse_check_device_addr_end 
-0416 20600000 rtn 
+04ba e8438006 ifetcht 7 ,contr 
+04bb 98467c00 isub temp ,null 
+04bc 2022dc69 branch mouse_clean_addr ,zero 
+04bd 18c08c07 increase 7 ,contr 
+04be c20004ba loop p_mouse_check_device_addr_end 
+04bf 20600000 rtn 
 
 p_mouse_before_store_reconn_info:
-0417 da204667 arg mem_device1_type ,rega 
-0418 6fe0c666 fetch 1 ,mem_device_flag 
-0419 1fe0ffff increase -1 ,pdata 
-041a 1feffe0d mul32 pdata ,13 ,pdata 
-041b 9a20a200 iadd rega ,rega 
-041c 6fe08032 fetch 1 ,mem_record_bt_mode 
-041d e7e08011 istore 1 ,rega 
-041e c19a0000 rtnne rec_4_mode 
-041f 6fe0c666 fetch 1 ,mem_device_flag 
-0420 c0008423 beq mode_bt_device1 ,p_mouse_store_le_device1 
-0421 c0010428 beq mode_bt_device2 ,p_mouse_store_le_device2 
-0422 20600000 rtn 
+04c0 da204667 arg mem_device1_type ,rega 
+04c1 6fe0c666 fetch 1 ,mem_device_flag 
+04c2 1fe0ffff increase -1 ,pdata 
+04c3 1feffe0d mul32 pdata ,13 ,pdata 
+04c4 9a20a200 iadd rega ,rega 
+04c5 6fe08032 fetch 1 ,mem_record_bt_mode 
+04c6 e7e08011 istore 1 ,rega 
+04c7 c19a0000 rtnne rec_4_mode 
+04c8 6fe0c666 fetch 1 ,mem_device_flag 
+04c9 c00084cc beq mode_bt_device1 ,p_mouse_store_le_device1 
+04ca c00104d1 beq mode_bt_device2 ,p_mouse_store_le_device2 
+04cb 20600000 rtn 
 
 p_mouse_store_le_device1:
-0423 6fe30178 fetch 6 ,mem_le_plap 
-0424 67e34668 store 6 ,mem_device1_addr 
-0425 6fe342db fetch 6 ,mem_le_lap 
-0426 67e3466e store 6 ,mem_device1_locall_addr 
-0427 20600000 rtn 
+04cc 6fe30178 fetch 6 ,mem_le_plap 
+04cd 67e34668 store 6 ,mem_device1_addr 
+04ce 6fe342db fetch 6 ,mem_le_lap 
+04cf 67e3466e store 6 ,mem_device1_locall_addr 
+04d0 20600000 rtn 
 
 p_mouse_store_le_device2:
-0428 6fe30178 fetch 6 ,mem_le_plap 
-0429 67e34675 store 6 ,mem_device2_addr 
-042a 6fe342db fetch 6 ,mem_le_lap 
-042b 67e3467b store 6 ,mem_device2_locall_addr 
-042c 20600000 rtn 
+04d1 6fe30178 fetch 6 ,mem_le_plap 
+04d2 67e34675 store 6 ,mem_device2_addr 
+04d3 6fe342db fetch 6 ,mem_le_lap 
+04d4 67e3467b store 6 ,mem_device2_locall_addr 
+04d5 20600000 rtn 
 
 p_mouse_bb_event_timer:
-042d 20400455 call p_mouse_le_send_conn_param_update_timer 
-042e 2040614d call mouse_low_voltage_led_timer 
-042f 2040553d call mouse_adc_read 
-0430 20406110 call mouse_logo_led_on_timer 
-0431 204061b1 call mouse_led_multi_timer 
-0432 2040611e call mouse_dpi_led_blink_delay_timer 
-0433 2040328e call g24_pair_timeout_timer 
-0434 20403531 call g24_reconn_timeout_timer 
-0435 20405fdd call mouse_24g_long_sleep_param_update_timer 
-0436 20400445 call p_mouse_send_device_info_timer 
-0437 20400448 call p_mouse_dpi_key_check_long_press 
-0438 20400450 call p_mouse_m_key_long_press_timer 
-0439 20405b9b call mouse_bt_discovery_check 
-043a 20405bab call mouse_commbination_key_process 
-043b 20405bce call mouse_check_discovery_timeout_timer 
-043c 20405bd3 call mouse_check_direct_timeout_timer 
-043d 20405be1 call mouse_le_enable_att_list_timer 
-043e 20405bee call mouse_le_battery_updata_timer 
-043f 20405be4 call mouse_le_send_smp_security_request_timer 
-0440 20405bfb call mouse_check_reconnect_delay_long_sleep 
-0441 20400458 call p_mouse_current_mult_update_timer 
-0442 204056b6 call mouse_wheel_trigger_timer 
-0443 20405c0e call mouse_store_information_delay_timer 
-0444 20205c05 branch mouse_check_no_data_timeout_timer 
+04d6 204004fe call p_mouse_le_send_conn_param_update_timer 
+04d7 2040614d call mouse_low_voltage_led_timer 
+04d8 2040553d call mouse_adc_read 
+04d9 20406110 call mouse_logo_led_on_timer 
+04da 204061b1 call mouse_led_multi_timer 
+04db 2040611e call mouse_dpi_led_blink_delay_timer 
+04dc 2040328e call g24_pair_timeout_timer 
+04dd 20403531 call g24_reconn_timeout_timer 
+04de 20405fdd call mouse_24g_long_sleep_param_update_timer 
+04df 204004ee call p_mouse_send_device_info_timer 
+04e0 204004f1 call p_mouse_dpi_key_check_long_press 
+04e1 204004f9 call p_mouse_m_key_long_press_timer 
+04e2 20405b9b call mouse_bt_discovery_check 
+04e3 20405bab call mouse_commbination_key_process 
+04e4 20405bce call mouse_check_discovery_timeout_timer 
+04e5 20405bd3 call mouse_check_direct_timeout_timer 
+04e6 20405be1 call mouse_le_enable_att_list_timer 
+04e7 20405bee call mouse_le_battery_updata_timer 
+04e8 20405be4 call mouse_le_send_smp_security_request_timer 
+04e9 20405bfb call mouse_check_reconnect_delay_long_sleep 
+04ea 20400501 call p_mouse_current_mult_update_timer 
+04eb 204056b6 call mouse_wheel_trigger_timer 
+04ec 20405c0e call mouse_store_information_delay_timer 
+04ed 20205c05 branch mouse_check_no_data_timeout_timer 
 
 p_mouse_send_device_info_timer:
-0445 da604b40 arg mem_mouse_delay_send_info_timer ,regc 
-0446 da400087 arg p_g24_send_device_info_enable ,regb 
-0447 202042e0 branch timer_single_step 
+04ee da604b40 arg mem_mouse_delay_send_info_timer ,regc 
+04ef da400087 arg p_g24_send_device_info_enable ,regb 
+04f0 202042e0 branch timer_single_step 
 
 p_mouse_dpi_key_check_long_press:
-0448 6fe0c87a fetch 1 ,mem_mouse_dpi_button_state 
-0449 c1808000 rtnne dpi_button_state_down 
-044a da60497d arg mem_select_device_count ,regc 
-044b da40044d arg p_mouse_dpi_long_press_set ,regb 
-044c 202042e0 branch timer_single_step 
+04f1 6fe0c87a fetch 1 ,mem_mouse_dpi_button_state 
+04f2 c1808000 rtnne dpi_button_state_down 
+04f3 da60497d arg mem_select_device_count ,regc 
+04f4 da4004f6 arg p_mouse_dpi_long_press_set ,regb 
+04f5 202042e0 branch timer_single_step 
 
 p_mouse_dpi_long_press_set:
-044d 70487b01 jam 1 ,mem_mouse_dpi_long_press_flag 
-044e 704b25ff jam long_press ,mem_mouse_tx_dpi_state 
-044f 20200090 branch p_g24_send_app_info_enable 
+04f6 70487b01 jam 1 ,mem_mouse_dpi_long_press_flag 
+04f7 704b25ff jam long_press ,mem_mouse_tx_dpi_state 
+04f8 20200090 branch p_g24_send_app_info_enable 
 
 p_mouse_m_key_long_press_timer:
-0450 6fe0cb41 fetch 1 ,mem_mouse_m_key_press_flag 
-0451 207a0000 rtn blank 
-0452 da604b42 arg mem_mouse_m_key_press_count ,regc 
-0453 da40008a arg p_g24_send_http_info_enable ,regb 
-0454 202042e0 branch timer_single_step 
+04f9 6fe0cb41 fetch 1 ,mem_mouse_m_key_press_flag 
+04fa 207a0000 rtn blank 
+04fb da604b42 arg mem_mouse_m_key_press_count ,regc 
+04fc da40008a arg p_mouse_send_http_info_enable ,regb 
+04fd 202042e0 branch timer_single_step 
 
 p_mouse_le_send_conn_param_update_timer:
-0455 da604a05 arg mem_mouse_le_send_conn_param_update_timer ,regc 
-0456 da405aef arg mouse_updata_le_param ,regb 
-0457 202042e0 branch timer_single_step 
+04fe da604a05 arg mem_mouse_le_send_conn_param_update_timer ,regc 
+04ff da405aef arg mouse_updata_le_param ,regb 
+0500 202042e0 branch timer_single_step 
 
 p_mouse_current_mult_update_timer:
-0458 da60477e arg mem_mouse_current_mult_timer ,regc 
-0459 da40045b arg p_mouse_current_mult_reinit ,regb 
-045a 202042e0 branch timer_single_step 
+0501 da60477e arg mem_mouse_current_mult_timer ,regc 
+0502 da400504 arg p_mouse_current_mult_reinit ,regb 
+0503 202042e0 branch timer_single_step 
 
 p_mouse_current_mult_reinit:
-045b 6fe0c96b fetch 1 ,mem_lpm_mult_init 
-045c 67e0c0c0 store 1 ,mem_lpm_mult 
-045d 70477d03 jam 3 ,mem_mouse_long_mult_flag 
-045e 20600000 rtn 
+0504 6fe0c96b fetch 1 ,mem_lpm_mult_init 
+0505 67e0c0c0 store 1 ,mem_lpm_mult 
+0506 70477d03 jam 3 ,mem_mouse_long_mult_flag 
+0507 20600000 rtn 
 
 p_mouse_priority_bb_event:
-045f 1a627e00 copy regc ,pdata 
-0460 c0200475 beq bt_evt_le_parse_conn_papa_update_rsp ,p_mouse_le_conn_param_update_rsp_recieved 
-0461 c00a847a beq bt_evt_le_disconnected ,p_mouse_le_bb_disconnected 
-0462 c019046c beq bt_evt_le_start_enc ,p_mouse_le_ll_start_encryt 
-0463 c01e0497 beq bt_evt_24g_attempt_success ,p_mouse_24g_attempt_success 
-0464 c01c84a8 beq bt_evt_24g_pairing_complete ,p_mouse_24g_pairing_complete 
-0465 c01d04ae beq bt_evt_24g_attempt_fail ,p_mouse_24g_attempt_fail 
-0466 c00a0468 beq bt_evt_le_connected ,p_mouse_le_bb_event_connected 
-0467 20205ac3 branch mouse_priority_bb_event + 2 
+0508 1a627e00 copy regc ,pdata 
+0509 c020051e beq bt_evt_le_parse_conn_papa_update_rsp ,p_mouse_le_conn_param_update_rsp_recieved 
+050a c00a8523 beq bt_evt_le_disconnected ,p_mouse_le_bb_disconnected 
+050b c0190515 beq bt_evt_le_start_enc ,p_mouse_le_ll_start_encryt 
+050c c01e0540 beq bt_evt_24g_attempt_success ,p_mouse_24g_attempt_success 
+050d c01c8551 beq bt_evt_24g_pairing_complete ,p_mouse_24g_pairing_complete 
+050e c01d0557 beq bt_evt_24g_attempt_fail ,p_mouse_24g_attempt_fail 
+050f c00a0511 beq bt_evt_le_connected ,p_mouse_le_bb_event_connected 
+0510 20205ac3 branch mouse_priority_bb_event + 2 
 
 p_mouse_le_bb_event_connected:
-0468 58000000 setarg 0 
-0469 67e24c1d store 4 ,mem_le_conn_first_rcv 
-046a 704b400a jam 10 ,mem_mouse_delay_send_info_timer 
-046b 20205ad0 branch mouse_le_bb_event_connected 
+0511 58000000 setarg 0 
+0512 67e24f92 store 4 ,mem_le_conn_first_rcv 
+0513 704b400a jam 10 ,mem_mouse_delay_send_info_timer 
+0514 20205ad0 branch mouse_le_bb_event_connected 
 
 p_mouse_le_ll_start_encryt:
-046c 6fe0c795 fetch 1 ,mem_mouse_le_reconnect_flag 
-046d c0008470 beq 1 ,p_mouse_le_ll_reconn_start_encryt 
-046e 70484414 jam 20 ,mem_le_start_encrypt_timer 
-046f 20200472 branch p_mouse_le_ll_reconn_start_encryt_new 
+0515 6fe0c795 fetch 1 ,mem_mouse_le_reconnect_flag 
+0516 c0008519 beq 1 ,p_mouse_le_ll_reconn_start_encryt 
+0517 70484414 jam 20 ,mem_le_start_encrypt_timer 
+0518 2020051b branch p_mouse_le_ll_reconn_start_encryt_new 
 
 p_mouse_le_ll_reconn_start_encryt:
-0470 20405aef call mouse_updata_le_param 
-0471 70484405 jam 5 ,mem_le_start_encrypt_timer 
+0519 20405aef call mouse_updata_le_param 
+051a 70484405 jam 5 ,mem_le_start_encrypt_timer 
 
 p_mouse_le_ll_reconn_start_encryt_new:
-0472 6fe0cc1c fetch 1 ,mem_le_conn_rcv_new 
-0473 67e0cc1d store 1 ,mem_le_conn_first_rcv 
-0474 20205af6 branch mouse_le_ll_enable_start_enc_flag 
+051b 6fe0cf91 fetch 1 ,mem_le_conn_rcv_new 
+051c 67e0cf92 store 1 ,mem_le_conn_first_rcv 
+051d 20205af6 branch mouse_le_ll_enable_start_enc_flag 
 
 p_mouse_le_conn_param_update_rsp_recieved:
-0475 6fe0ca04 fetch 1 ,mem_mouse_le_send_conn_param_update 
-0476 247a0000 nrtn blank 
-0477 704a0401 jam 1 ,mem_mouse_le_send_conn_param_update 
-0478 704a051e jam 30 ,mem_mouse_le_send_conn_param_update_timer 
-0479 20600000 rtn 
+051e 6fe0ca04 fetch 1 ,mem_mouse_le_send_conn_param_update 
+051f 247a0000 nrtn blank 
+0520 704a0401 jam 1 ,mem_mouse_le_send_conn_param_update 
+0521 704a051e jam 30 ,mem_mouse_le_send_conn_param_update_timer 
+0522 20600000 rtn 
 
 p_mouse_le_bb_disconnected:
-047a 58000000 setarg 0 
-047b 67e0ca04 store 1 ,mem_mouse_le_send_conn_param_update 
-047c 67e0ca05 store 1 ,mem_mouse_le_send_conn_param_update_timer 
-047d 58000000 setarg 0 
-047e 67e147c0 store 2 ,mem_le_battery_level_updata_timer 
-047f 70479400 jam 0 ,mem_mouse_le_bb_connected_flag 
-0480 d8400006 arg le_interval_7_5ms ,temp 
-0481 6fe44713 fetch mouse_flag_len ,mem_mouse_flag 
-0482 c28d8484 bbit1 mouse_enable_bt_125hz ,p_mouse_le_bb_disconnected_next 
-0483 d8400007 arg le_interval_8_75ms ,temp 
+0523 58000000 setarg 0 
+0524 67e0ca04 store 1 ,mem_mouse_le_send_conn_param_update 
+0525 67e0ca05 store 1 ,mem_mouse_le_send_conn_param_update_timer 
+0526 58000000 setarg 0 
+0527 67e147c0 store 2 ,mem_le_battery_level_updata_timer 
+0528 70479400 jam 0 ,mem_mouse_le_bb_connected_flag 
+0529 d8400006 arg le_interval_7_5ms ,temp 
+052a 6fe44713 fetch mouse_flag_len ,mem_mouse_flag 
+052b c28d852d bbit1 mouse_enable_bt_125hz ,p_mouse_le_bb_disconnected_next 
+052c d8400007 arg le_interval_8_75ms ,temp 
 
 p_mouse_le_bb_disconnected_next:
-0484 604942d3 storet 2 ,mem_le_interval_min 
-0485 604942d5 storet 2 ,mem_le_interval_min + 2 
-0486 7047c200 jam le_lpm_enable ,mem_mouse_le_conn_param_reject 
-0487 70495600 jam 0 ,mem_mouse_clear_sensor_data_flag 
-0488 204029cb call le_clr_config_more_data 
+052d 604942d3 storet 2 ,mem_le_interval_min 
+052e 604942d5 storet 2 ,mem_le_interval_min + 2 
+052f 7047c200 jam le_lpm_enable ,mem_mouse_le_conn_param_reject 
+0530 70495600 jam 0 ,mem_mouse_clear_sensor_data_flag 
+0531 204029cb call le_clr_config_more_data 
 
 p_mouse_bb_disconnected:
-0489 20405b7b call mouse_bb_discon_clear_stack 
-048a 6fe143ef fetch app_disc_rsn_size ,mem_app_disconn_reason 
-048b c283848e bbit1 app_disc_ble ,p_mouse4_0_event_bb_disconn 
-048c c28042fc bbit1 app_disc_by_button ,app_disconn_reason_clear 
-048d 20205c1a branch mouse_start_discovery 
+0532 20405b7b call mouse_bb_discon_clear_stack 
+0533 6fe143ef fetch app_disc_rsn_size ,mem_app_disconn_reason 
+0534 c2838537 bbit1 app_disc_ble ,p_mouse4_0_event_bb_disconn 
+0535 c28042fc bbit1 app_disc_by_button ,app_disconn_reason_clear 
+0536 20205c1a branch mouse_start_discovery 
 
 p_mouse4_0_event_bb_disconn:
-048e 6fe143ef fetch app_disc_rsn_size ,mem_app_disconn_reason 
-048f c28042fc bbit1 app_disc_by_button ,app_disconn_reason_clear 
-0490 6fe0c843 fetch 1 ,mem_le_connect_status_flag 
-0491 1fe17e03 and pdata ,0x03 ,pdata 
-0492 20405b21 call mouse_le_clean_connect_flag 
-0493 c081d4a9 bne 0x03 ,mouse_start_reconnect 
-0494 6fe0cc20 fetch 1 ,mem_le_check_retransmit_discon_flag 
-0495 243a54a9 nbranch mouse_start_reconnect ,blank 
-0496 202054cd branch mouse_app_enter_hibernate 
+0537 6fe143ef fetch app_disc_rsn_size ,mem_app_disconn_reason 
+0538 c28042fc bbit1 app_disc_by_button ,app_disconn_reason_clear 
+0539 6fe0c843 fetch 1 ,mem_le_connect_status_flag 
+053a 1fe17e03 and pdata ,0x03 ,pdata 
+053b 20405b21 call mouse_le_clean_connect_flag 
+053c c081d4a9 bne 0x03 ,mouse_start_reconnect 
+053d 6fe0cf95 fetch 1 ,mem_le_check_retransmit_discon_flag 
+053e 243a54a9 nbranch mouse_start_reconnect ,blank 
+053f 202054cd branch mouse_app_enter_hibernate 
 
 p_mouse_24g_attempt_success:
-0497 6fe2458f fetch 4 ,mem_24g_addr 
-0498 67e245e8 store 4 ,mem_24g_receiver_addr 
-0499 67e24691 store 4 ,mem_mouse_24g_addr 
-049a 2040355a call g24_ch_syncword_crc8_init 
-049b 20405c0b call mouse_no_data_timer_init 
-049c 2040618e call mouse_device_poweron_led_config 
-049d 20405a73 call mouse_init_sensor_reset 
-049e 70477d00 jam 0 ,mem_mouse_long_mult_flag 
-049f 7045fc00 jam 0 ,mem_24g_conn_sm 
-04a0 7045e200 jam 0 ,mem_24g_reconn_type 
-04a1 704b400a jam 10 ,mem_mouse_delay_send_info_timer 
-04a2 6fe245e8 fetch 4 ,mem_24g_receiver_addr 
-04a3 684a45e4 fetcht 4 ,mem_24g_fast_conn_addr 
-04a4 98467c00 isub temp ,null 
-04a5 20628000 rtn zero 
-04a6 204004ab call p_mouse_fetch_normal_tx_power 
-04a7 20206042 branch mouse_24g_first_store_reconn_info 
+0540 6fe2458f fetch 4 ,mem_24g_addr 
+0541 67e245e8 store 4 ,mem_24g_receiver_addr 
+0542 67e24691 store 4 ,mem_mouse_24g_addr 
+0543 2040355a call g24_ch_syncword_crc8_init 
+0544 20405c0b call mouse_no_data_timer_init 
+0545 2040618e call mouse_device_poweron_led_config 
+0546 20405a73 call mouse_init_sensor_reset 
+0547 70477d00 jam 0 ,mem_mouse_long_mult_flag 
+0548 7045fc00 jam 0 ,mem_24g_conn_sm 
+0549 7045e200 jam 0 ,mem_24g_reconn_type 
+054a 704b400a jam 10 ,mem_mouse_delay_send_info_timer 
+054b 6fe245e8 fetch 4 ,mem_24g_receiver_addr 
+054c 684a45e4 fetcht 4 ,mem_24g_fast_conn_addr 
+054d 98467c00 isub temp ,null 
+054e 20628000 rtn zero 
+054f 20400554 call p_mouse_fetch_normal_tx_power 
+0550 20206042 branch mouse_24g_first_store_reconn_info 
 
 p_mouse_24g_pairing_complete:
-04a8 204004ab call p_mouse_fetch_normal_tx_power 
-04a9 704b400a jam 10 ,mem_mouse_delay_send_info_timer 
-04aa 20206084 branch mouse_24g_pairing_complete 
+0551 20400554 call p_mouse_fetch_normal_tx_power 
+0552 704b400a jam 10 ,mem_mouse_delay_send_info_timer 
+0553 20206084 branch mouse_24g_pairing_complete 
 
 p_mouse_fetch_normal_tx_power:
-04ab 6fe0ca07 fetch 1 ,mem_normal_tx_power 
-04ac 67e0c141 store 1 ,mem_tx_power 
-04ad 20206016 branch mouse_soft_agc_disable 
+0554 6fe0ca07 fetch 1 ,mem_normal_tx_power 
+0555 67e0c141 store 1 ,mem_tx_power 
+0556 20206016 branch mouse_soft_agc_disable 
 
 p_mouse_24g_attempt_fail:
-04ae 204004ab call p_mouse_fetch_normal_tx_power 
-04af 6fe0c87a fetch 1 ,mem_mouse_dpi_button_state 
-04b0 c1008000 rtneq dpi_button_state_down 
-04b1 6fe0c600 fetch 1 ,mem_24g_attempt_fail_flag 
-04b2 243a5ff2 nbranch mouse_24g_hibernate_set ,blank 
-04b3 6fe0c5e2 fetch 1 ,mem_24g_reconn_type 
-04b4 c00284c0 beq pair_and_receiver ,p_mouse_24g_auto_pair_attempt_fail 
-04b5 c00084b8 beq fast_conn_and_receiver ,p_mouse_24g_fast_conn_attempt_fail 
-04b6 c00184c7 beq receiver_and_3_0_addr ,p_mouse_reconn_dongle_attempt_fail 
-04b7 20206055 branch mouse_24g_attempt_fail + 2 
+0557 20400554 call p_mouse_fetch_normal_tx_power 
+0558 6fe0c87a fetch 1 ,mem_mouse_dpi_button_state 
+0559 c1008000 rtneq dpi_button_state_down 
+055a 6fe0c600 fetch 1 ,mem_24g_attempt_fail_flag 
+055b 243a5ff2 nbranch mouse_24g_hibernate_set ,blank 
+055c 6fe0c5e2 fetch 1 ,mem_24g_reconn_type 
+055d c0028569 beq pair_and_receiver ,p_mouse_24g_auto_pair_attempt_fail 
+055e c0008561 beq fast_conn_and_receiver ,p_mouse_24g_fast_conn_attempt_fail 
+055f c0018570 beq receiver_and_3_0_addr ,p_mouse_reconn_dongle_attempt_fail 
+0560 20206055 branch mouse_24g_attempt_fail + 2 
 
 p_mouse_24g_fast_conn_attempt_fail:
-04b8 6fe44713 fetch mouse_flag_len ,mem_mouse_flag 
-04b9 c29f04bc bbit1 mouse_enable_24g_first_auto_pairing ,p_mouse_24g_start_auto_pair 
-04ba c29804bc bbit1 mouse_enable_auto_24g_paring ,p_mouse_24g_start_auto_pair 
-04bb 20206062 branch mouse_24g_fast_conn_attempt_fail + 3 
+0561 6fe44713 fetch mouse_flag_len ,mem_mouse_flag 
+0562 c29f0565 bbit1 mouse_enable_24g_first_auto_pairing ,p_mouse_24g_start_auto_pair 
+0563 c2980565 bbit1 mouse_enable_auto_24g_paring ,p_mouse_24g_start_auto_pair 
+0564 20206062 branch mouse_24g_fast_conn_attempt_fail + 3 
 
 p_mouse_24g_start_auto_pair:
-04bc 6fe145d6 fetch 2 ,mem_24g_pair_timeout_init 
-04bd 67e145de store 2 ,mem_24g_reconn_timeout 
-04be 7045e205 jam pair_and_receiver ,mem_24g_reconn_type 
-04bf 20203534 branch g24_reconn_start 
+0565 6fe145d6 fetch 2 ,mem_24g_pair_timeout_init 
+0566 67e145de store 2 ,mem_24g_reconn_timeout 
+0567 7045e205 jam pair_and_receiver ,mem_24g_reconn_type 
+0568 20203534 branch g24_reconn_start 
 
 p_mouse_24g_auto_pair_attempt_fail:
-04c0 6fe44713 fetch mouse_flag_len ,mem_mouse_flag 
-04c1 c31f6059 bbit0 mouse_enable_24g_first_auto_pairing ,mouse_24g_attempt_fail_enter_hibernate 
-04c2 6fe0c71b fetch 1 ,mem_device_number 
-04c3 c000e059 beq 1 ,mouse_24g_attempt_fail_enter_hibernate 
+0569 6fe44713 fetch mouse_flag_len ,mem_mouse_flag 
+056a c31f6059 bbit0 mouse_enable_24g_first_auto_pairing ,mouse_24g_attempt_fail_enter_hibernate 
+056b 6fe0c71b fetch 1 ,mem_device_number 
+056c c000e059 beq 1 ,mouse_24g_attempt_fail_enter_hibernate 
 
 p_mouse_24g_first_bluetooth_reconnect:
-04c4 20406018 call mouse_24g_stop 
-04c5 70466601 jam mode_bt_device1 ,mem_device_flag 
-04c6 20205491 branch mouse_le_fast_conn_judge 
+056d 20406018 call mouse_24g_stop 
+056e 70466601 jam mode_bt_device1 ,mem_device_flag 
+056f 20205491 branch mouse_le_fast_conn_judge 
 
 p_mouse_reconn_dongle_attempt_fail:
-04c7 6fe44713 fetch mouse_flag_len ,mem_mouse_flag 
-04c8 c31f6059 bbit0 mouse_enable_24g_first_auto_pairing ,mouse_24g_attempt_fail_enter_hibernate 
-04c9 c289e059 bbit1 mouse_enable_eeprom ,mouse_24g_attempt_fail_enter_hibernate 
-04ca c2896059 bbit1 mouse_enable_flash ,mouse_24g_attempt_fail_enter_hibernate 
-04cb 202004bc branch p_mouse_24g_start_auto_pair 
+0570 6fe44713 fetch mouse_flag_len ,mem_mouse_flag 
+0571 c31f6059 bbit0 mouse_enable_24g_first_auto_pairing ,mouse_24g_attempt_fail_enter_hibernate 
+0572 c289e059 bbit1 mouse_enable_eeprom ,mouse_24g_attempt_fail_enter_hibernate 
+0573 c2896059 bbit1 mouse_enable_flash ,mouse_24g_attempt_fail_enter_hibernate 
+0574 20200565 branch p_mouse_24g_start_auto_pair 
 
 p_mouse_start_work:
-04cc 6fe44713 fetch mouse_flag_len ,mem_mouse_flag 
-04cd c29f04d1 bbit1 mouse_enable_24g_first_auto_pairing ,p_mouse_24g_first_start_auto_pair_mode 
-04ce 6fe0c666 fetch 1 ,mem_device_flag 
-04cf c00004dc beq mode_24g_device ,p_mouse_24g_start_mode 
-04d0 20205491 branch mouse_le_fast_conn_judge 
+0575 6fe44713 fetch mouse_flag_len ,mem_mouse_flag 
+0576 c29f057a bbit1 mouse_enable_24g_first_auto_pairing ,p_mouse_24g_first_start_auto_pair_mode 
+0577 6fe0c666 fetch 1 ,mem_device_flag 
+0578 c0000585 beq mode_24g_device ,p_mouse_24g_start_mode 
+0579 20205491 branch mouse_le_fast_conn_judge 
 
 p_mouse_24g_first_start_auto_pair_mode:
-04d1 204054ac call mouse_wakeup_from_power_check 
-04d2 203404d8 branch p_mouse_24g_first_start_reconn ,user 
+057a 204054ac call mouse_wakeup_from_power_check 
+057b 20340581 branch p_mouse_24g_first_start_reconn ,user 
 
 p_mouse_24g_reconn_general_dongle:
-04d3 70466600 jam mode_24g_device ,mem_device_flag 
-04d4 6fe14721 fetch 2 ,mem_mouse_24g_power_on_fast_conn_timer 
-04d5 67e145de store 2 ,mem_24g_reconn_timeout 
-04d6 7045e201 jam fast_conn_and_receiver ,mem_24g_reconn_type 
-04d7 20203534 branch g24_reconn_start 
+057c 70466600 jam mode_24g_device ,mem_device_flag 
+057d 6fe14721 fetch 2 ,mem_mouse_24g_power_on_fast_conn_timer 
+057e 67e145de store 2 ,mem_24g_reconn_timeout 
+057f 7045e201 jam fast_conn_and_receiver ,mem_24g_reconn_type 
+0580 20203534 branch g24_reconn_start 
 
 p_mouse_24g_first_start_reconn:
-04d8 6fe0c666 fetch 1 ,mem_device_flag 
-04d9 c0006067 beq mode_24g_device ,mouse_24g_reconn_dongle_start 
-04da 20405aa8 call mouse_bluetooth_fast_conn_disable 
-04db 202004c4 branch p_mouse_24g_first_bluetooth_reconnect 
+0581 6fe0c666 fetch 1 ,mem_device_flag 
+0582 c0006067 beq mode_24g_device ,mouse_24g_reconn_dongle_start 
+0583 20405aa8 call mouse_bluetooth_fast_conn_disable 
+0584 2020056d branch p_mouse_24g_first_bluetooth_reconnect 
 
 p_mouse_24g_start_mode:
-04dc 6fe44713 fetch mouse_flag_len ,mem_mouse_flag 
-04dd c308e02a bbit0 mouse_enable_24g ,mouse_24g_mode_setup_error 
-04de 20406195 call mouse_device_24g_pair_led_config 
-04df 204054ac call mouse_wakeup_from_power_check 
-04e0 20346067 branch mouse_24g_reconn_dongle_start ,user 
-04e1 6fe44713 fetch mouse_flag_len ,mem_mouse_flag 
-04e2 c29804d3 bbit1 mouse_enable_auto_24g_paring ,p_mouse_24g_reconn_general_dongle 
-04e3 20206023 branch mouse_24g_start_mode + 7 
+0585 6fe44713 fetch mouse_flag_len ,mem_mouse_flag 
+0586 c308e02a bbit0 mouse_enable_24g ,mouse_24g_mode_setup_error 
+0587 20406195 call mouse_device_24g_pair_led_config 
+0588 204054ac call mouse_wakeup_from_power_check 
+0589 20346067 branch mouse_24g_reconn_dongle_start ,user 
+058a 6fe44713 fetch mouse_flag_len ,mem_mouse_flag 
+058b c298057c bbit1 mouse_enable_auto_24g_paring ,p_mouse_24g_reconn_general_dongle 
+058c 20206023 branch mouse_24g_start_mode + 7 
 
 p_mouse_store_normal_tx_power:
-04e4 6fe0c141 fetch 1 ,mem_tx_power 
-04e5 67e0ca07 store 1 ,mem_normal_tx_power 
-04e6 20600000 rtn 
+058d 6fe0c141 fetch 1 ,mem_tx_power 
+058e 67e0ca07 store 1 ,mem_normal_tx_power 
+058f 20600000 rtn 
 
 p_mouse_idle:
-04e7 2040620e call mouse_low_voltage_led_no_enter_lpm 
-04e8 204078aa call ui_check_paring_button 
-04e9 204004ee call p_mouse_dpi_check 
-04ea 704b2201 jam 1 ,mem_mouse_switch_flag 
-04eb 20205e61 branch mouse_idle + 4 
+0590 2040031e call p_mouse_send_http_data_timer 
+0591 2040620e call mouse_low_voltage_led_no_enter_lpm 
+0592 204078aa call ui_check_paring_button 
+0593 20400598 call p_mouse_dpi_check 
+0594 704b2201 jam 1 ,mem_mouse_switch_flag 
+0595 20205e61 branch mouse_idle + 4 
 
 p_mouse_dpi_check_retransmit:
-04ec 6fe44713 fetch mouse_flag_len ,mem_mouse_flag 
-04ed c4140000 rtnbit0 mouse_enable_select_device_by_dpi_button 
+0596 6fe44713 fetch mouse_flag_len ,mem_mouse_flag 
+0597 c4140000 rtnbit0 mouse_enable_select_device_by_dpi_button 
 
 p_mouse_dpi_check:
-04ee 6fe0c649 fetch 1 ,mem_dpi_button_gpio 
-04ef c17f8000 rtneq gpio_disable 
-04f0 da200000 arg 0 ,rega 
-04f1 70497705 jam mouse_dpi_key ,mem_mouse_key_temp 
-04f2 6848c649 fetcht 1 ,mem_dpi_button_gpio 
-04f3 2040050c call p_mouse_dpi_key_check 
-04f4 67e0c974 store 1 ,mem_mouse_dpikey_press_status 
-04f5 6fe0c654 fetch 1 ,mem_matrix_public_gpio 
-04f6 c07f8509 beq gpio_disable ,p_mouse_3io6key_dpi_check_end 
-04f7 204058df call mouse_matrix_public_gpio_reset 
+0598 6fe0c649 fetch 1 ,mem_dpi_button_gpio 
+0599 c17f8000 rtneq gpio_disable 
+059a da200000 arg 0 ,rega 
+059b 70497705 jam mouse_dpi_key ,mem_mouse_key_temp 
+059c 6848c649 fetcht 1 ,mem_dpi_button_gpio 
+059d 204005b6 call p_mouse_dpi_key_check 
+059e 67e0c974 store 1 ,mem_mouse_dpikey_press_status 
+059f 6fe0c654 fetch 1 ,mem_matrix_public_gpio 
+05a0 c07f85b3 beq gpio_disable ,p_mouse_3io6key_dpi_check_end 
+05a1 204058df call mouse_matrix_public_gpio_reset 
 
 p_mouse_dpi_check_exit:
-04f8 1a227e00 copy rega ,pdata 
-04f9 c282d6e0 bbit1 mouse_dpi_key ,mouse_dpi_down 
+05a2 1a227e00 copy rega ,pdata 
+05a3 c282d6e0 bbit1 mouse_dpi_key ,mouse_dpi_down 
 
 p_mouse_dpi_up:
-04fa 204004ff call p_mouse_dpi_state_check 
-04fb 6fe0c87a fetch 1 ,mem_mouse_dpi_button_state 
-04fc c1000000 rtneq dpi_button_state_up 
-04fd 70487a00 jam dpi_button_state_up ,mem_mouse_dpi_button_state 
-04fe 202056ea branch mouse_dpi_up + 3 
+05a4 204005a9 call p_mouse_dpi_state_check 
+05a5 6fe0c87a fetch 1 ,mem_mouse_dpi_button_state 
+05a6 c1000000 rtneq dpi_button_state_up 
+05a7 70487a00 jam dpi_button_state_up ,mem_mouse_dpi_button_state 
+05a8 202056ea branch mouse_dpi_up + 3 
 
 p_mouse_dpi_state_check:
-04ff 6fe0c87a fetch 1 ,mem_mouse_dpi_button_state 
-0500 c1800000 rtnne dpi_button_state_up 
-0501 6fe0cb25 fetch 1 ,mem_mouse_tx_dpi_state 
-0502 c07f8507 beq long_press ,p_g24_send_dpi_long_release_info 
-0503 c0550505 beq press ,p_g24_send_dpi_release_info 
-0504 20600000 rtn 
+05a9 6fe0c87a fetch 1 ,mem_mouse_dpi_button_state 
+05aa c1800000 rtnne dpi_button_state_up 
+05ab 6fe0cb25 fetch 1 ,mem_mouse_tx_dpi_state 
+05ac c07f85b1 beq long_press ,p_g24_send_dpi_long_release_info 
+05ad c05505af beq press ,p_g24_send_dpi_release_info 
+05ae 20600000 rtn 
 
 p_g24_send_dpi_release_info:
-0505 704b2555 jam release ,mem_mouse_tx_dpi_state 
-0506 2020008d branch p_g24_send_dpi_info_enable 
+05af 704b2555 jam release ,mem_mouse_tx_dpi_state 
+05b0 2020008d branch p_mouse_send_dpi_info_enable 
 
 p_g24_send_dpi_long_release_info:
-0507 704b25ee jam long_release ,mem_mouse_tx_dpi_state 
-0508 20200090 branch p_g24_send_app_info_enable 
+05b1 704b25ee jam long_release ,mem_mouse_tx_dpi_state 
+05b2 20200090 branch p_g24_send_app_info_enable 
 
 p_mouse_3io6key_dpi_check_end:
-0509 6848c649 fetcht 1 ,mem_dpi_button_gpio 
-050a 204055b5 call mouse_gpio_config_input_pu 
-050b 202004f8 branch p_mouse_dpi_check_exit 
+05b3 6848c649 fetcht 1 ,mem_dpi_button_gpio 
+05b4 204055b5 call mouse_gpio_config_input_pu 
+05b5 202005a2 branch p_mouse_dpi_check_exit 
 
 p_mouse_dpi_key_check:
-050c 6fe44713 fetch mouse_flag_len ,mem_mouse_flag 
-050d c295d6de bbit1 mouse_enable_dpi_key_connect_gnd ,mouse_dpi_key_connect_gnd 
-050e 6fe0c974 fetch 1 ,mem_mouse_dpikey_press_status 
-050f 1fe22600 copy pdata ,regc 
-0510 6fe0c654 fetch 1 ,mem_matrix_public_gpio 
-0511 c07f8513 beq gpio_disable ,p_mouse_3io6key_dpi_check 
-0512 202056ce branch mouse_dpi_key_check_next 
+05b6 6fe44713 fetch mouse_flag_len ,mem_mouse_flag 
+05b7 c295d6de bbit1 mouse_enable_dpi_key_connect_gnd ,mouse_dpi_key_connect_gnd 
+05b8 6fe0c974 fetch 1 ,mem_mouse_dpikey_press_status 
+05b9 1fe22600 copy pdata ,regc 
+05ba 6fe0c654 fetch 1 ,mem_matrix_public_gpio 
+05bb c07f85bd beq gpio_disable ,p_mouse_3io6key_dpi_check 
+05bc 202056ce branch mouse_dpi_key_check_next 
 
 p_mouse_3io6key_dpi_check:
-0513 6fe0c649 fetch 1 ,mem_dpi_button_gpio 
-0514 20405946 call mouse_gpio_config_output_low 
-0515 6848c649 fetcht 1 ,mem_dpi_button_gpio 
-0516 20200517 branch p_mouse_3io6key_check 
+05bd 6fe0c649 fetch 1 ,mem_dpi_button_gpio 
+05be 20405946 call mouse_gpio_config_output_low 
+05bf 6848c649 fetcht 1 ,mem_dpi_button_gpio 
+05c0 202005c1 branch p_mouse_3io6key_check 
 
 p_mouse_3io6key_check:
-0517 1a627e00 copy regc ,pdata 
-0518 67e0c978 store 1 ,mem_mouse_key_status 
-0519 1fe3fe00 lshift pdata ,pdata 
-051a 1fe22400 copy pdata ,regb 
-051b 18422600 copy temp ,regc 
-051c 20406ef7 call gpio_out_active 
-051d 1a620400 copy regc ,temp 
-051e 204055b1 call mouse_gpio_config_input_pd 
-051f 1a620400 copy regc ,temp 
-0520 20406ee6 call gpio_get_bit 
-0521 7d20a400 nsetflag true ,0 ,regb 
-0522 2040593d call mouse_check_press 
-0523 20205929 branch mouse_check_key_connect_gnd_1 
+05c1 1a627e00 copy regc ,pdata 
+05c2 67e0c978 store 1 ,mem_mouse_key_status 
+05c3 1fe3fe00 lshift pdata ,pdata 
+05c4 1fe22400 copy pdata ,regb 
+05c5 18422600 copy temp ,regc 
+05c6 20406ef7 call gpio_out_active 
+05c7 1a620400 copy regc ,temp 
+05c8 204055b1 call mouse_gpio_config_input_pd 
+05c9 1a620400 copy regc ,temp 
+05ca 20406ee6 call gpio_get_bit 
+05cb 7d20a400 nsetflag true ,0 ,regb 
+05cc 2040593d call mouse_check_press 
+05cd 20205929 branch mouse_check_key_connect_gnd_1 
 
 p_g24_short_sleep:
-0524 204036b4 call g24_lpm_wait 
-0525 24740000 nrtn user 
-0526 204036be call g24_setgpio_lpm_before 
-0527 20400529 call p_clear_wake 
-0528 2020361b branch g24_short_sleep_next 
+05ce 204036b4 call g24_lpm_wait 
+05cf 24740000 nrtn user 
+05d0 204036be call g24_setgpio_lpm_before 
+05d1 204005d3 call p_clear_wake 
+05d2 2020361b branch g24_short_sleep_next 
 
 p_clear_wake:
-0529 58000000 setarg 0 
-052a 67e40016 store 8 ,mem_gpio_wakeup_cfg 
-052b 67e2001e store 4 ,mem_gpio_wakeup_cfg + 8 
-052c 20600000 rtn 
+05d3 58000000 setarg 0 
+05d4 67e40016 store 8 ,mem_gpio_wakeup_cfg 
+05d5 67e2001e store 4 ,mem_gpio_wakeup_cfg + 8 
+05d6 20600000 rtn 
 
 p_mouse_24g_hibernate_set:
-052d 70460000 jam 0 ,mem_24g_attempt_fail_flag 
-052e 6fe0c6f8 fetch 1 ,mem_mouse_search_dongle_action 
-052f 793ffe00 set0 g24_disconn_state ,pdata 
-0530 67e0c6f8 store 1 ,mem_mouse_search_dongle_action 
-0531 20403647 call g24_transmit_next_packet 
-0532 5fffffff setarg -1 
-0533 67e245af store 4 ,mem_24g_enter_hibernate 
-0534 58000000 setarg 0 
-0535 67e3c846 store 7 ,mem_mouse_key 
-0536 67e0c602 store 1 ,mem_24g_abort_pac 
-0537 70473f01 jam 1 ,mem_sensor_shutdown_flag 
-0538 204059ed call mouse_sensor_powerdown 
-0539 2020622b branch mouse_24g_long_sleep 
+05d7 70460000 jam 0 ,mem_24g_attempt_fail_flag 
+05d8 6fe0c6f8 fetch 1 ,mem_mouse_search_dongle_action 
+05d9 793ffe00 set0 g24_disconn_state ,pdata 
+05da 67e0c6f8 store 1 ,mem_mouse_search_dongle_action 
+05db 20403647 call g24_transmit_next_packet 
+05dc 5fffffff setarg -1 
+05dd 67e245af store 4 ,mem_24g_enter_hibernate 
+05de 58000000 setarg 0 
+05df 67e3c846 store 7 ,mem_mouse_key 
+05e0 67e0c602 store 1 ,mem_24g_abort_pac 
+05e1 70473f01 jam 1 ,mem_sensor_shutdown_flag 
+05e2 204059ed call mouse_sensor_powerdown 
+05e3 2020622b branch mouse_24g_long_sleep 
 
 p_mouse_setgpio_hibernate:
-053a 20405a92 call mouse_set_sdio_high 
-053b 20400529 call p_clear_wake 
-053c 204056a9 call mouse_before_hibernate_wheel_gpio_set 
-053d 6fe0c64d fetch 1 ,mem_mouse_sensor_sdio_gpio 
-053e 20405943 call mouse_gpio_config_output_high 
-053f 6848c65a fetcht 1 ,mem_device_switch_gpio 
-0540 204055ab call mouse_gpio_set_pupd_by_input 
-0541 2040611a call mouse_logo_led_off 
-0542 20400329 call p_mouse_lpm_before_common 
-0543 202054e2 branch mouse_setgpio_hibernate_next 
+05e4 20405a92 call mouse_set_sdio_high 
+05e5 204005d3 call p_clear_wake 
+05e6 204056a9 call mouse_before_hibernate_wheel_gpio_set 
+05e7 6fe0c64d fetch 1 ,mem_mouse_sensor_sdio_gpio 
+05e8 20405943 call mouse_gpio_config_output_high 
+05e9 6848c65a fetcht 1 ,mem_device_switch_gpio 
+05ea 204055ab call mouse_gpio_set_pupd_by_input 
+05eb 2040611a call mouse_logo_led_off 
+05ec 204003d2 call p_mouse_lpm_before_common 
+05ed 202054e2 branch mouse_setgpio_hibernate_next 
 
 p_mouse_tx_device_info_check:
-0544 6fe0cb24 fetch 1 ,mem_device_tx_device_info_flag 
-0545 207a0000 rtn blank 
-0546 20207dba branch enable_user 
+05ee 6fe0cb24 fetch 1 ,mem_device_tx_device_info_flag 
+05ef 207a0000 rtn blank 
+05f0 20207dba branch enable_user 
 
 p_mouse_24g_package_data:
-0547 c6930000 rtnmark0 mark_24g 
-0548 20405601 call mouse_motion 
-0549 20400544 call p_mouse_tx_device_info_check 
-054a 24740000 nrtn user 
-054b 6fe0c77c fetch 1 ,mem_mouse_24g_long_sleep_flag 
-054c 70477c00 jam 0 ,mem_mouse_24g_long_sleep_flag 
-054d 245a055d ncall p_mouse_24g_short_sleep_clear_wake ,blank 
-054e 6fe44713 fetch mouse_flag_len ,mem_mouse_flag 
-054f c30b0552 bbit0 mouse_enable_keyboard ,p_mouse_24g_mouse_package_data 
-0550 6fe0c96c fetch 1 ,mem_customer_key 
-0551 243a60b6 nbranch mouse_24g_keyboard_package_data ,blank 
+05f1 c6930000 rtnmark0 mark_24g 
+05f2 20405601 call mouse_motion 
+05f3 204005ee call p_mouse_tx_device_info_check 
+05f4 24740000 nrtn user 
+05f5 6fe0c77c fetch 1 ,mem_mouse_24g_long_sleep_flag 
+05f6 70477c00 jam 0 ,mem_mouse_24g_long_sleep_flag 
+05f7 245a0607 ncall p_mouse_24g_short_sleep_clear_wake ,blank 
+05f8 6fe44713 fetch mouse_flag_len ,mem_mouse_flag 
+05f9 c30b05fc bbit0 mouse_enable_keyboard ,p_mouse_24g_mouse_package_data 
+05fa 6fe0c96c fetch 1 ,mem_customer_key 
+05fb 243a60b6 nbranch mouse_24g_keyboard_package_data ,blank 
 
 p_mouse_24g_mouse_package_data:
-0552 20400554 call p_mouse_data_xy_release 
-0553 202060a2 branch mouse_24g_mouse_package_data + 1 
+05fc 204005fe call p_mouse_data_xy_release 
+05fd 202060a2 branch mouse_24g_mouse_package_data + 1 
 
 p_mouse_data_xy_release:
-0554 6fe0c659 fetch 1 ,mem_sensor_motion_gpio 
-0555 c1ff8000 rtnne gpio_disable 
-0556 6fe0c77d fetch 1 ,mem_mouse_long_mult_flag 
-0557 207a0000 rtn blank 
-0558 1fe0ffff increase -1 ,pdata 
-0559 67e0c77d store 1 ,mem_mouse_long_mult_flag 
-055a 58000000 setarg 0 
-055b 67e24847 store 4 ,mem_mouse_x 
-055c 20205a73 branch mouse_init_sensor_reset 
+05fe 6fe0c659 fetch 1 ,mem_sensor_motion_gpio 
+05ff c1ff8000 rtnne gpio_disable 
+0600 6fe0c77d fetch 1 ,mem_mouse_long_mult_flag 
+0601 207a0000 rtn blank 
+0602 1fe0ffff increase -1 ,pdata 
+0603 67e0c77d store 1 ,mem_mouse_long_mult_flag 
+0604 58000000 setarg 0 
+0605 67e24847 store 4 ,mem_mouse_x 
+0606 20205a73 branch mouse_init_sensor_reset 
 
 p_mouse_24g_short_sleep_clear_wake:
-055d 20400087 call p_g24_send_device_info_enable 
-055e 20400529 call p_clear_wake 
-055f 2020034f branch p_lpm_write_gpio_wakeup 
+0607 20400087 call p_g24_send_device_info_enable 
+0608 204005d3 call p_clear_wake 
+0609 202003f8 branch p_lpm_write_gpio_wakeup 
 
 p_mouse_check_select_device_by_switch:
-0560 6fe44713 fetch mouse_flag_len ,mem_mouse_flag 
-0561 c4150000 rtnbit0 mouse_enable_select_device_by_switch_gpio 
-0562 c31f856d bbit0 mouse_enable_switch_gpio_connect_vin ,p_mouse_switch_gpio_connect_gnd 
+060a 6fe44713 fetch mouse_flag_len ,mem_mouse_flag 
+060b c4150000 rtnbit0 mouse_enable_select_device_by_switch_gpio 
+060c c31f8617 bbit0 mouse_enable_switch_gpio_connect_vin ,p_mouse_switch_gpio_connect_gnd 
 
 p_mouse_switch_gpio_connect_vin_check:
-0563 2040056f call p_mouse_switch_gpio_pd_set 
-0564 20400569 call p_mouse_switch_gpio_connect_vin 
+060d 20400619 call p_mouse_switch_gpio_pd_set 
+060e 20400613 call p_mouse_switch_gpio_connect_vin 
 
 p_mouse_switch_gpio_pu_set:
-0565 6848c65a fetcht 1 ,mem_device_switch_gpio 
-0566 20406ef3 call gpio_out_inactive 
-0567 6848c65a fetcht 1 ,mem_device_switch_gpio 
-0568 202055b5 branch mouse_gpio_config_input_pu 
+060f 6848c65a fetcht 1 ,mem_device_switch_gpio 
+0610 20406ef3 call gpio_out_inactive 
+0611 6848c65a fetcht 1 ,mem_device_switch_gpio 
+0612 202055b5 branch mouse_gpio_config_input_pu 
 
 p_mouse_switch_gpio_connect_vin:
-0569 6848c65a fetcht 1 ,mem_device_switch_gpio 
-056a 20406ee6 call gpio_get_bit 
-056b 2420dec2 nbranch mouse_check_select_24g_device ,true 
-056c 20205ebe branch mouse_select_btdevice 
+0613 6848c65a fetcht 1 ,mem_device_switch_gpio 
+0614 20406ee6 call gpio_get_bit 
+0615 2420dec2 nbranch mouse_check_select_24g_device ,true 
+0616 20205ebe branch mouse_select_btdevice 
 
 p_mouse_switch_gpio_connect_gnd:
-056d 20400565 call p_mouse_switch_gpio_pu_set 
-056e 20405ebb call mouse_switch_gpio_connect_gnd 
+0617 2040060f call p_mouse_switch_gpio_pu_set 
+0618 20405ebb call mouse_switch_gpio_connect_gnd 
 
 p_mouse_switch_gpio_pd_set:
-056f 6848c65a fetcht 1 ,mem_device_switch_gpio 
-0570 20406ef7 call gpio_out_active 
-0571 6848c65a fetcht 1 ,mem_device_switch_gpio 
-0572 202055b1 branch mouse_gpio_config_input_pd 
+0619 6848c65a fetcht 1 ,mem_device_switch_gpio 
+061a 20406ef7 call gpio_out_active 
+061b 6848c65a fetcht 1 ,mem_device_switch_gpio 
+061c 202055b1 branch mouse_gpio_config_input_pd 
 
 p_mouse_le_name_modify:
-0573 6fe0c98c fetch 1 ,mem_le_name_patch_len 
-0574 207a0000 rtn blank 
-0575 1fe22200 copy pdata ,rega 
-0576 1fe67c0b sub pdata ,11 ,null 
-0577 242155dd nbranch mouse_le_name_patch_len_overflow ,positive 
-0578 204055d6 call mouse_le_name_clear 
-0579 204055ee call mouse_le_name_patch_len_next 
-057a 1a220400 copy rega ,temp 
-057b 18408401 increase 1 ,temp 
-057c 6048c7a7 storet 1 ,mem_le_adv_swift_pair + 7 
-057d d8a047a9 arg mem_le_adv_swift_pair + 9 ,contw 
-057e 204055d3 call mouse_le_name_modify_next 
-057f 6048c369 storet 1 ,mem_le_scan_data 
-0580 d8a0436b arg mem_le_scan_data + 2 ,contw 
-0581 202055d3 branch mouse_le_name_modify_next 
+061d 6fe0c98c fetch 1 ,mem_le_name_patch_len 
+061e 207a0000 rtn blank 
+061f 1fe22200 copy pdata ,rega 
+0620 1fe67c0b sub pdata ,11 ,null 
+0621 242155dd nbranch mouse_le_name_patch_len_overflow ,positive 
+0622 204055d6 call mouse_le_name_clear 
+0623 204055ee call mouse_le_name_patch_len_next 
+0624 1a220400 copy rega ,temp 
+0625 18408401 increase 1 ,temp 
+0626 6048c7a7 storet 1 ,mem_le_adv_swift_pair + 7 
+0627 d8a047a9 arg mem_le_adv_swift_pair + 9 ,contw 
+0628 204055d3 call mouse_le_name_modify_next 
+0629 6048c369 storet 1 ,mem_le_scan_data 
+062a d8a0436b arg mem_le_scan_data + 2 ,contw 
+062b 202055d3 branch mouse_le_name_modify_next 
 
 p_mouse_init_sensor:
-0582 20405958 call mouse_read_sensor_id 
-0583 c018058f beq p32xx_id1 ,p_mouse_init_p32xx_id2_judge 
-0584 c018d9c6 beq p3065_id1 ,mouse_init_p3065 
-0585 c02c0587 beq pka8g2_id1 ,p_mouse_ka8g2_id2_judge 
-0586 20205952 branch mouse_init_sensor + 5 
+062c 20405958 call mouse_read_sensor_id 
+062d c0180639 beq p32xx_id1 ,p_mouse_init_p32xx_id2_judge 
+062e c018d9c6 beq p3065_id1 ,mouse_init_p3065 
+062f c02c0631 beq pka8g2_id1 ,p_mouse_ka8g2_id2_judge 
+0630 20205952 branch mouse_init_sensor + 5 
 
 p_mouse_ka8g2_id2_judge:
-0587 204059e7 call mouse_sensor_poweron 
-0588 6fe0c85a fetch 1 ,mem_sensor_id2 
-0589 c02b8593 beq ka5857_id2 ,p_mouse_ka5857_init_param 
-058a c02c858c beq pka8g2_id2 ,p_mouse_ka8g2_init_param 
-058b 2020595f branch mouse_init_p32xx_id2_judge 
+0631 204059e7 call mouse_sensor_poweron 
+0632 6fe0c85a fetch 1 ,mem_sensor_id2 
+0633 c02b863d beq ka5857_id2 ,p_mouse_ka5857_init_param 
+0634 c02c8636 beq pka8g2_id2 ,p_mouse_ka8g2_init_param 
+0635 2020595f branch mouse_init_p32xx_id2_judge 
 
 p_mouse_ka8g2_init_param:
-058c 7049570b jam ka8g2 ,mem_config_sensor_type 
-058d da604a0b arg mem_sensor_ka8g2_init_new ,regc 
-058e 20205995 branch mouse_sensor_wr_seq 
+0636 7049570b jam ka8g2 ,mem_config_sensor_type 
+0637 da604a0b arg mem_sensor_ka8g2_init_new ,regc 
+0638 20205995 branch mouse_sensor_wr_seq 
 
 p_mouse_init_p32xx_id2_judge:
-058f 6fe0c85a fetch 1 ,mem_sensor_id2 
-0590 1fe17ef0 and_into 0xf0 ,pdata 
-0591 c0600596 beq p3204_tjdm_id2 ,p_mouse_p3204_tjdm_init_param 
-0592 2020595f branch mouse_init_p32xx_id2_judge 
+0639 6fe0c85a fetch 1 ,mem_sensor_id2 
+063a 1fe17ef0 and_into 0xf0 ,pdata 
+063b c0600640 beq p3204_tjdm_id2 ,p_mouse_p3204_tjdm_init_param 
+063c 2020595f branch mouse_init_p32xx_id2_judge 
 
 p_mouse_ka5857_init_param:
-0593 7049570d jam ka5857 ,mem_config_sensor_type 
-0594 da604c21 arg mem_sensor_ka5857_init ,regc 
-0595 20205995 branch mouse_sensor_wr_seq 
+063d 7049570d jam ka5857 ,mem_config_sensor_type 
+063e da604f96 arg mem_sensor_ka5857_init ,regc 
+063f 20205995 branch mouse_sensor_wr_seq 
 
 p_mouse_p3204_tjdm_init_param:
-0596 58000049 setarg 0x49 
-0597 204069e5 call twspi_read 
-0598 c050d96c beq 0xa1 ,mouse_s201x_init_param 
-0599 202059cd branch mouse_p3065xy_init_param 
+0640 58000049 setarg 0x49 
+0641 204069e5 call twspi_read 
+0642 c050d96c beq 0xa1 ,mouse_s201x_init_param 
+0643 202059cd branch mouse_p3065xy_init_param 
 
 p_mouse_dpi_process:
-059a 20405728 call mouse_dpi_ghost_check 
-059b 20740000 rtn user 
-059c 6fe0c957 fetch 1 ,mem_config_sensor_type 
-059d c006859f beq ka5857 ,p_mouse_dpi_process_5_level 
-059e 202056fa branch mouse_dpi_process + 3 
+0644 20405728 call mouse_dpi_ghost_check 
+0645 20740000 rtn user 
+0646 6fe0c957 fetch 1 ,mem_config_sensor_type 
+0647 c0068649 beq ka5857 ,p_mouse_dpi_process_5_level 
+0648 202056fa branch mouse_dpi_process + 3 
 
 p_mouse_dpi_process_5_level:
-059f 6fe0c690 fetch 1 ,mem_mouse_dpi 
-05a0 1fe0fe01 increase 1 ,pdata 
-05a1 1fe67c04 sub pdata ,4 ,null 
-05a2 24417dca ncall set_pdata_0 ,positive 
-05a3 20205701 branch mouse_dpi_level_store 
+0649 6fe0c690 fetch 1 ,mem_mouse_dpi 
+064a 1fe0fe01 increase 1 ,pdata 
+064b 1fe67c04 sub pdata ,4 ,null 
+064c 24417dca ncall set_pdata_0 ,positive 
+064d 20205701 branch mouse_dpi_level_store 
 
 p_mouse_setting_dpi_4_level:
-05a4 6fe0c957 fetch 1 ,mem_config_sensor_type 
-05a5 c1068000 rtneq ka5857 
-05a6 c1018000 rtneq p3212 
-05a7 2020573e branch mouse_setting_dpi_4_level 
+064e 6fe0c957 fetch 1 ,mem_config_sensor_type 
+064f c1068000 rtneq ka5857 
+0650 c1018000 rtneq p3212 
+0651 2020573e branch mouse_setting_dpi_4_level 
 
 p_mouse_setting_dpi:
-05a8 204005a4 call p_mouse_setting_dpi_4_level 
-05a9 704b25aa jam press ,mem_mouse_tx_dpi_state 
-05aa 2040008d call p_g24_send_dpi_info_enable 
-05ab 2040613a call mouse_dpi_led_blink_delay 
+0652 2040064e call p_mouse_setting_dpi_4_level 
+0653 704b25aa jam press ,mem_mouse_tx_dpi_state 
+0654 2040008d call p_mouse_send_dpi_info_enable 
+0655 2040613a call mouse_dpi_led_blink_delay 
 
 p_mouse_setting_sensor_type:
-05ac 6fe0c957 fetch 1 ,mem_config_sensor_type 
-05ad c006d785 beq ka5857 ,mouse_seting_3212_dpi 
-05ae c00605b0 beq s201x ,p_mouse_seting_s201_dpi 
-05af 20205749 branch mouse_setting_sensor_type + 2 
+0656 6fe0c957 fetch 1 ,mem_config_sensor_type 
+0657 c006d785 beq ka5857 ,mouse_seting_3212_dpi 
+0658 c006065a beq s201x ,p_mouse_seting_s201_dpi 
+0659 20205749 branch mouse_setting_sensor_type + 2 
 
 p_mouse_seting_s201_dpi:
-05b0 6fe0c690 fetch 1 ,mem_mouse_dpi 
-05b1 c000576f beq mouse_dpi_level1 ,mouse_set_s201_dpi_0 
-05b2 c000d772 beq mouse_dpi_level2 ,mouse_set_s201_dpi_1 
-05b3 c001577b beq mouse_dpi_level3 ,mouse_set_s201_dpi_4 
-05b4 2020576f branch mouse_set_s201_dpi_0 
+065a 6fe0c690 fetch 1 ,mem_mouse_dpi 
+065b c000576f beq mouse_dpi_level1 ,mouse_set_s201_dpi_0 
+065c c000d772 beq mouse_dpi_level2 ,mouse_set_s201_dpi_1 
+065d c001577b beq mouse_dpi_level3 ,mouse_set_s201_dpi_4 
+065e 2020576f branch mouse_set_s201_dpi_0 
 
 p_mouse_check_sensor_data:
-05b5 6fe0c420 fetch 1 ,mem_spi_write_flash_sm 
-05b6 c1800000 rtnne flash_sm_no_buys 
-05b7 6fe0c957 fetch 1 ,mem_config_sensor_type 
-05b8 c00585ba beq ka8g2 ,p_mouse_pka8g2_sensor_motion 
-05b9 202059f8 branch mouse_check_sensor_data + 2 
+065f 6fe0c420 fetch 1 ,mem_spi_write_flash_sm 
+0660 c1800000 rtnne flash_sm_no_buys 
+0661 6fe0c957 fetch 1 ,mem_config_sensor_type 
+0662 c0058664 beq ka8g2 ,p_mouse_pka8g2_sensor_motion 
+0663 202059f8 branch mouse_check_sensor_data + 2 
 
 p_mouse_pka8g2_sensor_motion:
-05ba 20405a6d call mouse_clear_sensor_data 
-05bb 6fe0c659 fetch 1 ,mem_sensor_motion_gpio 
-05bc c07f85c0 beq gpio_disable ,p_mouse_pka8g2_sensor_motion_1 
-05bd 6848c659 fetcht 1 ,mem_sensor_motion_gpio 
-05be 20406ee6 call gpio_get_bit 
-05bf 24608000 nrtn true 
+0664 20405a6d call mouse_clear_sensor_data 
+0665 6fe0c659 fetch 1 ,mem_sensor_motion_gpio 
+0666 c07f866a beq gpio_disable ,p_mouse_pka8g2_sensor_motion_1 
+0667 6848c659 fetcht 1 ,mem_sensor_motion_gpio 
+0668 20406ee6 call gpio_get_bit 
+0669 24608000 nrtn true 
 
 p_mouse_pka8g2_sensor_motion_1:
-05c0 58000000 setarg pan_reg_pid_l 
-05c1 204069e5 call twspi_read 
-05c2 c0ac5955 bne pka8g2_id1 ,mouse_twspi_reset 
-05c3 20205a2f branch mouse_p3212_sensor_motion_2 
+066a 58000000 setarg pan_reg_pid_l 
+066b 204069e5 call twspi_read 
+066c c0ac5955 bne pka8g2_id1 ,mouse_twspi_reset 
+066d 20205a2f branch mouse_p3212_sensor_motion_2 
 
 p_mouse_motion:
-05c4 78547c00 disable user 
-05c5 6fe0c6f8 fetch 1 ,mem_mouse_search_dongle_action 
-05c6 c3800000 rtnbit1 g24_disconn_state 
-05c7 58000000 setarg 0 
-05c8 67e34847 store 6 ,mem_mouse_x 
-05c9 204005b5 call p_mouse_check_sensor_data 
-05ca 58000089 setarg 0x0089 
-05cb 204069e4 call twspi_write 
-05cc 20405747 call mouse_setting_sensor_type 
-05cd 20405612 call mouse_zwheel 
-05ce 20405617 call mouse_t_zwheel 
-05cf 204005dc call p_mouse_key 
-05d0 6fe0c846 fetch 1 ,mem_mouse_key 
-05d1 1fe17e1f and_into 0x1f ,pdata 
-05d2 67e0c846 store 1 ,mem_mouse_key 
-05d3 243405d7 nbranch p_mouse_drawing_optima_init ,user 
-05d4 704b2301 jam 1 ,mem_24g_rf_data_flag 
-05d5 20405f26 call mouse_drawing_optima 
-05d6 20205c0b branch mouse_no_data_timer_init 
+066e 78547c00 disable user 
+066f 6fe0c6f8 fetch 1 ,mem_mouse_search_dongle_action 
+0670 c3800000 rtnbit1 g24_disconn_state 
+0671 58000000 setarg 0 
+0672 67e34847 store 6 ,mem_mouse_x 
+0673 2040065f call p_mouse_check_sensor_data 
+0674 58000089 setarg 0x0089 
+0675 204069e4 call twspi_write 
+0676 20405747 call mouse_setting_sensor_type 
+0677 20405612 call mouse_zwheel 
+0678 20405617 call mouse_t_zwheel 
+0679 20400686 call p_mouse_key 
+067a 6fe0c846 fetch 1 ,mem_mouse_key 
+067b 1fe17e1f and_into 0x1f ,pdata 
+067c 67e0c846 store 1 ,mem_mouse_key 
+067d 24340681 nbranch p_mouse_drawing_optima_init ,user 
+067e 704b2301 jam 1 ,mem_24g_rf_data_flag 
+067f 20405f26 call mouse_drawing_optima 
+0680 20205c0b branch mouse_no_data_timer_init 
 
 p_mouse_drawing_optima_init:
-05d7 704b2300 jam 0 ,mem_24g_rf_data_flag 
-05d8 20205f37 branch mouse_drawing_optima_init 
+0681 704b2300 jam 0 ,mem_24g_rf_data_flag 
+0682 20205f37 branch mouse_drawing_optima_init 
 
 p_mouse_drawing_optima:
-05d9 6fe0c957 fetch 1 ,mem_config_sensor_type 
-05da c1058000 rtneq ka8g2 
-05db 20205f27 branch mouse_drawing_optima + 1 
+0683 6fe0c957 fetch 1 ,mem_config_sensor_type 
+0684 c1058000 rtneq ka8g2 
+0685 20205f27 branch mouse_drawing_optima + 1 
 
 p_mouse_key:
-05dc 2040584c call mouse_check_firekey_gpio 
-05dd 6fe0c987 fetch 1 ,mem_fire_key_flag 
-05de 243a5860 nbranch fire_key_press ,blank 
-05df 6fe0c982 fetch 1 ,mem_fire_key_status 
-05e0 243a585f nbranch fire_key_process ,blank 
-05e1 20405888 call mouse_check_key_gpio 
-05e2 204005e5 call p_mouse_m_key_press_check 
-05e3 204005f0 call p_mouse_ghost_key_check 
-05e4 202057ad branch mouse_key + 7 
+0686 2040584c call mouse_check_firekey_gpio 
+0687 6fe0c987 fetch 1 ,mem_fire_key_flag 
+0688 243a5860 nbranch fire_key_press ,blank 
+0689 6fe0c982 fetch 1 ,mem_fire_key_status 
+068a 243a585f nbranch fire_key_process ,blank 
+068b 20405888 call mouse_check_key_gpio 
+068c 2040068f call p_mouse_m_key_press_check 
+068d 2040069a call p_mouse_ghost_key_check 
+068e 202057ad branch mouse_key + 7 
 
 p_mouse_m_key_press_check:
-05e5 1a227e00 copy rega ,pdata 
-05e6 c28105ec bbit1 mouse_m_key ,p_mouse_m_key_press 
+068f 1a227e00 copy rega ,pdata 
+0690 c2810696 bbit1 mouse_m_key ,p_mouse_m_key_press 
 
 p_mouse_m_key_release:
-05e7 6fe0cb41 fetch 1 ,mem_mouse_m_key_press_flag 
-05e8 207a0000 rtn blank 
-05e9 704b4100 jam 0 ,mem_mouse_m_key_press_flag 
-05ea 704b421e jam 30 ,mem_mouse_m_key_press_count 
-05eb 20600000 rtn 
+0691 6fe0cb41 fetch 1 ,mem_mouse_m_key_press_flag 
+0692 207a0000 rtn blank 
+0693 704b4100 jam 0 ,mem_mouse_m_key_press_flag 
+0694 704b421e jam 30 ,mem_mouse_m_key_press_count 
+0695 20600000 rtn 
 
 p_mouse_m_key_press:
-05ec 6fe0cb41 fetch 1 ,mem_mouse_m_key_press_flag 
-05ed 247a0000 nrtn blank 
-05ee 704b4101 jam 1 ,mem_mouse_m_key_press_flag 
-05ef 20600000 rtn 
+0696 6fe0cb41 fetch 1 ,mem_mouse_m_key_press_flag 
+0697 247a0000 nrtn blank 
+0698 704b4101 jam 1 ,mem_mouse_m_key_press_flag 
+0699 20600000 rtn 
 
 p_mouse_ghost_key_check:
-05f0 70497900 jam 0 ,mem_mouse_matrix_key_cow_count 
-05f1 70497a00 jam 0 ,mem_mouse_matrix_key_row_count 
-05f2 70497b00 jam 0 ,mem_mouse_ghost_flag 
-05f3 1fe22400 copy pdata ,regb 
-05f4 6848c644 fetcht 1 ,mem_lbutton_gpio 
-05f5 6fe0c647 fetch 1 ,mem_bk_button_gpio 
-05f6 98467c00 isub temp ,null 
-05f7 20228602 branch p_mouse_matrix_ghost_key_l_bk ,zero 
-05f8 6fe0c648 fetch 1 ,mem_fw_button_gpio 
-05f9 98467c00 isub temp ,null 
-05fa 20228608 branch p_mouse_matrix_ghost_key_l_fw ,zero 
-05fb 6848c645 fetcht 1 ,mem_mbutton_gpio 
-05fc 6fe0c647 fetch 1 ,mem_bk_button_gpio 
-05fd 98467c00 isub temp ,null 
-05fe 20228611 branch p_mouse_ghost_key_mbk_rfw ,zero 
+069a 70497900 jam 0 ,mem_mouse_matrix_key_cow_count 
+069b 70497a00 jam 0 ,mem_mouse_matrix_key_row_count 
+069c 70497b00 jam 0 ,mem_mouse_ghost_flag 
+069d 1fe22400 copy pdata ,regb 
+069e 6848c644 fetcht 1 ,mem_lbutton_gpio 
+069f 6fe0c647 fetch 1 ,mem_bk_button_gpio 
+06a0 98467c00 isub temp ,null 
+06a1 202286ac branch p_mouse_matrix_ghost_key_l_bk ,zero 
+06a2 6fe0c648 fetch 1 ,mem_fw_button_gpio 
+06a3 98467c00 isub temp ,null 
+06a4 202286b2 branch p_mouse_matrix_ghost_key_l_fw ,zero 
+06a5 6848c645 fetcht 1 ,mem_mbutton_gpio 
+06a6 6fe0c647 fetch 1 ,mem_bk_button_gpio 
+06a7 98467c00 isub temp ,null 
+06a8 202286bb branch p_mouse_ghost_key_mbk_rfw ,zero 
 
 p_mouse_ghost_key_mfw_rbk:
-05ff 204057fb call mouse_ghost_key_check_m_fw 
+06a9 204057fb call mouse_ghost_key_check_m_fw 
 
 p_mouse_ghost_key_rbk:
-0600 20400616 call p_mouse_ghost_key_check_r_bk 
-0601 202057e5 branch mouse_ghost_key_check_next 
+06aa 204006c0 call p_mouse_ghost_key_check_r_bk 
+06ab 202057e5 branch mouse_ghost_key_check_next 
 
 p_mouse_matrix_ghost_key_l_bk:
-0602 6848c645 fetcht 1 ,mem_mbutton_gpio 
-0603 6fe0c648 fetch 1 ,mem_fw_button_gpio 
-0604 98467c00 isub temp ,null 
-0605 2022d7d6 branch mouse_ghost_key_lbk_mfw ,zero 
+06ac 6848c645 fetcht 1 ,mem_mbutton_gpio 
+06ad 6fe0c648 fetch 1 ,mem_fw_button_gpio 
+06ae 98467c00 isub temp ,null 
+06af 2022d7d6 branch mouse_ghost_key_lbk_mfw ,zero 
 
 p_mouse_ghost_key_lbk_rfw:
-0606 204057ef call mouse_ghost_key_check_l_bk 
-0607 20200612 branch p_mouse_ghost_key_rfw 
+06b0 204057ef call mouse_ghost_key_check_l_bk 
+06b1 202006bc branch p_mouse_ghost_key_rfw 
 
 p_mouse_matrix_ghost_key_l_fw:
-0608 6848c645 fetcht 1 ,mem_mbutton_gpio 
-0609 6fe0c647 fetch 1 ,mem_bk_button_gpio 
-060a 98467c00 isub temp ,null 
-060b 2022860e branch p_mouse_ghost_key_lfw_mbk ,zero 
+06b2 6848c645 fetcht 1 ,mem_mbutton_gpio 
+06b3 6fe0c647 fetch 1 ,mem_bk_button_gpio 
+06b4 98467c00 isub temp ,null 
+06b5 202286b8 branch p_mouse_ghost_key_lfw_mbk ,zero 
 
 p_mouse_ghost_key_lfw_rbk:
-060c 20400618 call p_mouse_ghost_key_check_l_fw 
-060d 20200600 branch p_mouse_ghost_key_rbk 
+06b6 204006c2 call p_mouse_ghost_key_check_l_fw 
+06b7 202006aa branch p_mouse_ghost_key_rbk 
 
 p_mouse_ghost_key_lfw_mbk:
-060e 20400618 call p_mouse_ghost_key_check_l_fw 
-060f 20400614 call p_mouse_ghost_key_check_m_bk 
-0610 202057e5 branch mouse_ghost_key_check_next 
+06b8 204006c2 call p_mouse_ghost_key_check_l_fw 
+06b9 204006be call p_mouse_ghost_key_check_m_bk 
+06ba 202057e5 branch mouse_ghost_key_check_next 
 
 p_mouse_ghost_key_mbk_rfw:
-0611 20400614 call p_mouse_ghost_key_check_m_bk 
+06bb 204006be call p_mouse_ghost_key_check_m_bk 
 
 p_mouse_ghost_key_rfw:
-0612 2040061a call p_mouse_ghost_key_check_r_fw 
-0613 202057e5 branch mouse_ghost_key_check_next 
+06bc 204006c4 call p_mouse_ghost_key_check_r_fw 
+06bd 202057e5 branch mouse_ghost_key_check_next 
 
 p_mouse_ghost_key_check_m_bk:
-0614 1a417e12 and regb ,mouse_m_bk_button ,pdata 
-0615 202057f3 branch mouse_ghost_key_check_m_bk + 1 
+06be 1a417e12 and regb ,mouse_m_bk_button ,pdata 
+06bf 202057f3 branch mouse_ghost_key_check_m_bk + 1 
 
 p_mouse_ghost_key_check_r_bk:
-0616 1a417e0a and regb ,mouse_r_bk_button ,pdata 
-0617 202057f6 branch mouse_ghost_key_check_r_bk + 1 
+06c0 1a417e0a and regb ,mouse_r_bk_button ,pdata 
+06c1 202057f6 branch mouse_ghost_key_check_r_bk + 1 
 
 p_mouse_ghost_key_check_l_fw:
-0618 1a417e11 and regb ,mouse_l_fw_button ,pdata 
-0619 202057f9 branch mouse_ghost_key_check_l_fw + 1 
+06c2 1a417e11 and regb ,mouse_l_fw_button ,pdata 
+06c3 202057f9 branch mouse_ghost_key_check_l_fw + 1 
 
 p_mouse_ghost_key_check_r_fw:
-061a 1a417e12 and regb ,mouse_r_fw_button ,pdata 
-061b 202057ff branch mouse_ghost_key_check_r_fw + 1 
+06c4 1a417e12 and regb ,mouse_r_fw_button ,pdata 
+06c5 202057ff branch mouse_ghost_key_check_r_fw + 1 
               org 0x2000
 
 start:
@@ -22347,6 +22589,8 @@
 5b41 6fe0c72a fetch 1 ,mem_customer_key_press 
 5b42 c001db4f beq kb_multikey_report_id ,mouse_fill_multimedia_key_data_le 
 5b43 c0015b52 beq kb_system_conctrl_report_id ,mouse_fill_systemctrl_key_data_le 
+
+mouse_le_send_keyboard_package_data_next:
 5b44 7047b408 jam 8 ,mem_le_data_len 
 5b45 684947b5 fetcht 2 ,mem_le_keyboard_handle 
 
Index: program/app_mouse.prog
===================================================================
--- /1121s/branch/mouse/AI_Project/mouse_public_ai_2mode/program/app_mouse.prog	(revision 4836)
+++ /1121s/branch/mouse/AI_Project/mouse_public_ai_2mode/program/app_mouse.prog	(working copy)
@@ -2643,6 +2643,7 @@
 	fetch 1,mem_customer_key_press
 	beq KB_MULTIKEY_REPORT_ID,mouse_fill_multimedia_key_data_le
 	beq KB_SYSTEM_CONCTRL_REPORT_ID,mouse_fill_systemctrl_key_data_le
+mouse_le_send_keyboard_package_data_next:
 	jam 8,mem_le_data_len
 	fetcht 2,mem_le_keyboard_handle
 mouse_fill_data_le:
Index: program/patch.prog
===================================================================
--- /1121s/branch/mouse/AI_Project/mouse_public_ai_2mode/program/patch.prog	(revision 4836)
+++ /1121s/branch/mouse/AI_Project/mouse_public_ai_2mode/program/patch.prog	(working copy)
@@ -191,12 +191,12 @@
 	set1 DATA_DEVICE_INFO,pdata
 	branch p_g24_store_device_tx_flag
 
-p_g24_send_http_info_enable:
+p_mouse_send_http_info_enable:
 	fetch 1,mem_device_tx_device_info_flag
 	set1 DATA_HTTP,pdata
 	branch p_g24_store_device_tx_flag
 
-p_g24_send_dpi_info_enable:
+p_mouse_send_dpi_info_enable:
 	fetch 1,mem_device_tx_device_info_flag
 	set1 DATA_DPI,pdata
 	branch p_g24_store_device_tx_flag
@@ -376,27 +376,28 @@
 	rtn
 
 p_g24_receive_no_ack_data:
+p_mouse_le_clr_info_flag:
 	fetch 1,mem_device_tx_device_info_flag
 	isolate1 DATA_DEVICE_INFO,pdata
 	call p_g24_clr_device_info_flag,true
 	isolate1 DATA_HTTP,pdata
-	call p_g24_clr_http_info_flag,true
+	call p_mouse_clr_http_info_flag,true
 	isolate1 DATA_DPI,pdata
 	call p_g24_clr_dpi_info_flag,true
 	isolate1 DATA_APP,pdata
-	call p_g24_clr_app_info_flag,true
+	call p_mouse_clr_app_info_flag,true
 	rtn
 
 p_g24_clr_device_info_flag:
 	set0 DATA_DEVICE_INFO,pdata
 	branch p_g24_store_device_tx_flag
-p_g24_clr_http_info_flag:
+p_mouse_clr_http_info_flag:
 	set0 DATA_HTTP,pdata
 	branch p_g24_store_device_tx_flag
 p_g24_clr_dpi_info_flag:
 	set0 DATA_DPI,pdata
 	branch p_g24_store_device_tx_flag
-p_g24_clr_app_info_flag:
+p_mouse_clr_app_info_flag:
 	set0 DATA_APP,pdata
 p_g24_store_device_tx_flag:
 	store 1,mem_device_tx_device_info_flag
@@ -1014,8 +1015,31 @@
 	ifetch 3,contr
 	store 3,mem_le_att_opcode
 	beq ATTOP_READ_REQUEST,p_le_parse_att_read_request
-	beq ATTOP_WRITE_REQUEST,p_le_parse_att_write_request	
-	branch le_parse_att2	
+	beq ATTOP_WRITE_REQUEST,p_le_parse_att_write_request
+	// beq ATTOP_READ_BLOB_REQUEST,p_le_parse_att_read_blob_request
+	branch le_parse_att2
+
+// p_le_parse_att_read_blob_request:
+// 	ifetch 2,contr
+// 	store 2,mem_le_att_offset
+// 	iforce rega
+// 	fetcht 2,mem_le_att_handle
+// 	fetch 2,mem_le_pairing_handle
+// 	isub temp,null
+// 	nbranch le_send_att_read_blob_response,zero
+// p_le_parse_att_read_blob_request2:
+// 	fetcht 2,mem_mouse_le_map_len
+// 	arg mem_mouse_ble_hid_map,contr
+// 	call store_contr
+// 	copy temp,pdata
+// 	isub rega,pdata
+// 	nbranch le_send_att_error_response_notfound,positive
+// 	increase 1,pdata
+// 	sub pdata,23,null
+// 	branch le_send_att_read_blob_response_less,positive
+// 	force 23,pdata
+// 	branch le_send_att_read_blob_response_less
+
 
 p_le_parse_att_read_request:
 	fetch MOUSE_FLAG_LEN,mem_mouse_flag
@@ -1036,8 +1060,16 @@
 	isub temp,null
 	nbranch p_le_send_att_read_response,zero
 	nbranch p_le_send_att_read_response,user
+	// nbranch p_le_send_att_hid_map_read_response,user
 	branch le_send_att_read_response_error_insufficient_auth
 
+// p_le_send_att_hid_map_read_response:
+// 	// fetch 2,mem_le_att_handle
+// 	// beq 0x30,le_send_att_error_response_notfound
+// 	arg mem_mouse_ble_hid_map,contr
+// 	force 23,pdata
+// 	branch le_send_att_read_response_less
+
 p_le_parse_att_write_request:		// mac os 10.9.5 reconnect can't move
 	copy contr,rega
 	fetch 2,mem_le_l2cap_size
@@ -1077,12 +1109,239 @@
 	bbit1 MOUSE_BT_DISCOVERY_BUTTON_DOWN_FLAG,mouse_le_send_empty_packet
 	bbit1 MOUSE_BT_DISCOVERY_BUTTON_LONG_DOWN_FLAG,mouse_le_send_empty_packet
 	call mouse_motion
+	call p_mouse_tx_device_info_check
 	call mouse_check_125Hz
 	nrtn user
 	call mouse_current_mult_update
 	call p_mouse_data_xy_release
+
+	fetch 1,mem_device_tx_device_info_flag
+	jam 0,mem_device_tx_device_info_flag
+	// call p_mouse_le_clr_info_flag
+	bbit1 DATA_HTTP,p_mouse_send_website_data
+	bbit1 DATA_APP,p_le_send_app_info_check
+	bbit1 DATA_DEVICE_INFO,p_mouse_send_device_info_check
+	bbit1 DATA_DPI,p_le_send_dpi_info_data
+	bbit1 DATA_BATTERY,p_le_send_battery_info_check
+
 	branch mouse_le_next+12
 
+//--------------ble http send-------------//
+p_mouse_send_http_data_timer:
+	arg 12,queue
+	call timer_check
+	nrtn blank
+	fetch 1,mem_mouse_website_step
+	branch p_mouse_send_http_timer_init,blank
+	call p_mouse_send_http_info_enable
+p_mouse_send_http_timer_init:
+	arg 12,queue
+	setarg 20
+	branch timer_init
+
+p_mouse_send_website_data:
+	setarg  0
+	store 8,mem_pdatatemp
+	fetch 1,mem_mouse_website_step
+	beq RELEASE_MS_DATA,p_mouse_le_send_empty_packet
+	beq WEBSITE_WIN,p_mouse_website_winr_data
+	beq WEBSITE_WIN_RELEASE,p_mouse_website_win_release_data
+	beq WEBSITE_WAIT,p_mouse_website_wait_tx_data
+	beq WEBSITE_DATA,p_mouse_website_data
+	beq WEBSITE_ENTER_1,p_mouse_website_enter_data1
+	beq WEBSITE_ENTER_RELEASE_1,p_mouse_webstie_release_data1
+	beq WEBSITE_ENTER_2,p_mouse_website_enter_data2
+	beq WEBSITE_ENTER_RELEASE_2,p_mouse_website_enter_release_data
+	rtn
+p_mouse_le_send_empty_packet:
+	jam WEBSITE_WIN,mem_mouse_website_step
+	branch mouse_le_send_empty_packet
+
+p_mouse_website_winr_data:
+	jam WEBSITE_WIN_RELEASE,mem_mouse_website_step
+	arg mem_mouse_website_info+1,pdata
+	store 2,mem_mouse_website_ptr
+
+	fetch 1,mem_computer_system
+	beq SYSTEM_OS_MAC,p_mouse_macos_winr_data		//command+spaced
+p_mouse_winos_winr_data:
+	fetch 3,mem_usb_win_cmd
+	store 3,mem_pdatatemp
+	branch mouse_le_send_keyboard_package_data_next
+p_mouse_macos_winr_data:
+	fetch 3,mem_usb_mac_cmd
+	store 3,mem_pdatatemp
+	branch mouse_le_send_keyboard_package_data_next
+p_mouse_website_enter_data1:
+	jam WEBSITE_ENTER_RELEASE_1,mem_mouse_website_step
+	branch p_mouse_website_enter_data
+p_mouse_website_enter_data2:
+	jam WEBSITE_ENTER_RELEASE_2,mem_mouse_website_step
+p_mouse_website_enter_data:	
+	fetch 3,mem_usb_kb_enter
+	store 3,mem_pdatatemp
+	branch mouse_le_send_keyboard_package_data_next
+p_mouse_website_data:
+	fetch 1,mem_mouse_website_release_flag
+	beq 1,p_mouse_website_release_data
+	beq 0,p_mouse_website_info_data
+	rtn	
+
+p_mouse_website_enter_release_data:
+	jam WEBSITE_DONE,mem_mouse_website_step
+	branch p_mouse_website_release_data
+p_mouse_website_win_release_data:
+	jam WEBSITE_WAIT,mem_mouse_website_step
+p_mouse_website_release_data:
+	jam 0,mem_mouse_website_release_flag
+	branch mouse_le_release_keyboard_data
+	
+p_mouse_webstie_release_data1:
+	jam WEBSITE_ENTER_2,mem_mouse_website_step
+	branch p_mouse_website_release_data
+
+p_usb_webstie_info_data_done:
+	jam WEBSITE_ENTER_1,mem_mouse_website_step
+	rtn
+p_mouse_website_info_data:
+	arg mem_mouse_website_info+1,temp
+	fetch 1,mem_mouse_website_info
+	iadd temp,temp
+	fetch 2,mem_mouse_website_ptr
+	isub temp,null
+	branch p_usb_webstie_info_data_done,zero
+	call p_mouse_website_acii2hidkey
+	call p_mouse_website_need_shift
+	fetch 1,mem_mouse_website_shift_flag
+	store 1,mem_pdatatemp
+	storer rega,1,mem_pdatatemp+2
+	fetch 2,mem_mouse_website_ptr
+	increase 1,pdata
+	store 2,mem_mouse_website_ptr
+	
+	jam 1,mem_mouse_website_release_flag
+	branch mouse_le_send_keyboard_package_data_next
+
+p_mouse_website_acii2hidkey:
+	fetcht 2,mem_mouse_website_ptr
+	ifetch 1,temp
+	sub pdata,0x7a,null//'z'  ascii
+	nbranch p_mouse_website_acii2hidkey1,positive
+	arg 0x61,regb	//'a' ascii
+	isub regb,rega
+	branch p_mouse_website_acii2keycode_a2z,positive
+p_mouse_website_acii2hidkey1:
+	ifetch 1,temp
+	sub pdata,0x39,null
+	nbranch p_mouse_website_acii2keycode_sign,positive
+	arg 0x31,regb ////'1' ascii
+	isub regb,rega
+	branch p_mouse_website_acii2keycode_1to9,positive
+	arg 0x30,regb  //'0' ascii
+	isub regb,rega
+	branch p_mouse_website_acii2keycode_0,zero
+p_mouse_website_acii2keycode_sign:
+	sub pdata,0x3a,null
+	branch p_mouse_website_acii2keycode_sign_3a,zero
+	sub pdata,0x2f,null
+	branch p_mouse_website_acii2keycode_sign_2f,zero
+	sub pdata,0x2e,null
+	branch p_mouse_website_acii2keycode_sign_2e,zero
+	sub pdata,0x2d,null
+	branch p_mouse_website_acii2keycode_sign_2d,zero
+	rtn
+p_mouse_website_acii2keycode_sign_3a:	//':'
+	arg 0x33,rega
+	rtn
+p_mouse_website_acii2keycode_sign_2f:	//'/'
+	arg 0x38,rega
+	rtn
+p_mouse_website_acii2keycode_sign_2e:	//'.'
+	arg 0x37,rega
+	rtn
+p_mouse_website_acii2keycode_sign_2d:	//'-'
+	arg 0x2d,rega
+	rtn
+
+p_mouse_website_acii2keycode_a2z:
+	add rega,4,rega		//'a'
+	rtn
+p_mouse_website_acii2keycode_1to9:
+	add rega,0x1e,rega 	//'1'
+	rtn
+p_mouse_website_acii2keycode_0:
+	add rega,0x27,rega  //'0
+	rtn
+
+p_mouse_website_need_shift:
+	jam 0,mem_mouse_website_shift_flag
+	fetch 2,mem_mouse_website_ptr
+	ifetch 1,pdata
+	arg mem_mouse_website_info_sign+1,contr
+	fetcht 1,mem_mouse_website_info_sign
+	copy temp,loopcnt
+p_mouse_website_need_shift_check_loop:
+	ifetcht 1,contr
+	isub temp,null
+	branch p_mouse_website_need_shift_setflag,zero
+	loop p_mouse_website_need_shift_check_loop
+	rtn
+p_mouse_website_need_shift_setflag:
+	jam 2,mem_mouse_website_shift_flag
+	rtn
+p_mouse_website_wait_tx_data:
+	fetch 1,mem_mouse_website_wait_count
+	increase 1,pdata
+	store 1,mem_mouse_website_wait_count
+	rtnne WEBSITE_WAIT_COUNT
+	jam 0,mem_mouse_website_wait_count
+	jam WEBSITE_DATA,mem_mouse_website_step
+	rtn
+
+p_mouse_send_device_info_check:
+	jam 0x0e,mem_le_data_len
+	jam 0x01,mem_pdatatemp					//Opcode
+	jam 0x0c,mem_pdatatemp+1				//length
+	fetch 6,mem_mouse_sn_mac
+	store 6,mem_pdatatemp+2
+
+	fetch 2,mem_mouse_version
+	store 2,mem_pdatatemp+8
+	fetch 2,mem_mouse_code
+	store 2,mem_24g_txbuf+10
+
+	fetcht 2,mem_le_device_info_handle
+	branch mouse_fill_data_le
+
+//------------------ble dpi info------------------//
+p_le_send_dpi_info_data:
+	jam 4,mem_le_data_len
+	jam 0x02,mem_pdatatemp					//Opcode
+	jam 0x02,mem_pdatatemp+1				//length
+	fetch 1,mem_mouse_dpi					//battery data
+	store 1,mem_pdatatemp+2
+	jam 0x00,mem_pdatatemp+3				//00\01
+	fetcht 2,mem_le_dpi_handle
+	branch mouse_fill_data_le
+//------------------ble battery info------------------//
+p_le_send_battery_info_check:
+	jam 4,mem_le_data_len
+	jam 0x02,mem_pdatatemp					//Opcode
+	jam 0x02,mem_pdatatemp+1				//length
+	fetch 1,mem_le_battery_level_percentage	//battery data
+	store 1,mem_pdatatemp+2					
+	jam 0x00,mem_pdatatemp+3				//00\01
+	fetcht 2,mem_le_dpi_handle
+	branch mouse_fill_data_le
+	
+p_le_send_app_info_check:
+	jam 2,mem_le_data_len
+	jam 0x08,mem_pdatatemp					//Opcode
+	jam 0x00,mem_pdatatemp+1				//length
+	fetcht 2,mem_le_app_handle
+	branch mouse_fill_data_le
+
+
 p_gpio_set_wake:
 	sub temp,UI_BUTTON_GPIO_DISABLE,null
 	rtn zero
@@ -1541,7 +1800,7 @@
 	fetch 1,mem_mouse_m_key_press_flag
 	rtn blank
 	arg mem_mouse_m_key_press_count,regc
-	arg p_g24_send_http_info_enable,regb
+	arg p_mouse_send_http_info_enable,regb
 	branch timer_single_step
 
 ifdef COMMBINATION_DPI
@@ -1775,6 +2034,7 @@
 	rtn
 	
 p_mouse_idle:
+	call p_mouse_send_http_data_timer
 	call mouse_low_voltage_led_no_enter_lpm
 	call ui_check_paring_button
 	call p_mouse_dpi_check
@@ -1816,7 +2076,7 @@
 	rtn
 p_g24_send_dpi_release_info:
 	jam RELEASE,mem_mouse_tx_dpi_state
-	branch p_g24_send_dpi_info_enable
+	branch p_mouse_send_dpi_info_enable
 
 p_g24_send_dpi_long_release_info:
 	jam LONG_RELEASE,mem_mouse_tx_dpi_state
@@ -2063,7 +2323,7 @@
 p_mouse_setting_dpi:
 	call p_mouse_setting_dpi_4_level
 	jam PRESS,mem_mouse_tx_dpi_state
-	call p_g24_send_dpi_info_enable
+	call p_mouse_send_dpi_info_enable
 	call mouse_dpi_led_blink_delay
 p_mouse_setting_sensor_type:
 	fetch 1,mem_config_sensor_type
Index: sched/mouse.dat
===================================================================
--- /1121s/branch/mouse/AI_Project/mouse_public_ai_2mode/sched/mouse.dat	(revision 4836)
+++ /1121s/branch/mouse/AI_Project/mouse_public_ai_2mode/sched/mouse.dat	(working copy)
@@ -222,6 +222,23 @@
 mem_le_pairing_handle:2d 00
 mem_le_battery_level_handle:30 00
 
+mem_le_dpi_handle:36 00
+mem_le_app_handle:39 00
+mem_le_device_info_handle:3c 00
+
+
+mem_usb_win_cmd:08 00 15 	#win+r
+mem_usb_mac_cmd:08 00 2c 	#command+space
+mem_usb_kb_enter:00 00 28	#shift
+
+mem_mouse_website_info:
+'http://ylb.qd-data.com/gzga
+# '1234567890
+
+mem_mouse_website_info_sign:
+'~!@#$%^&*()_+{}|":>?<
+
+
 mem_le_adv_data_len:1f
 mem_le_adv_data:
 #flag
@@ -259,7 +276,7 @@
 mem_le_adv_direct_ind:ff 00 00
 
 mem_flash_base:00 50 00
-mem_eeprom_base:80 1f
+mem_eeprom_base:00 25
 mem_eeprom_block_size:80
 
 #ui
@@ -441,3 +458,226 @@
 #mem_rf_debug_rx_gpio:87
 #mem_rf_debug_tx_gpio:88
 
+
+
+mem_ui_le_uuid_table:mem_mouse_ble_att_list
+mem_mouse_ble_att_list:
+#-----------------------------------GAP-----------------------------------
+# GAP（Generic Access Profile） （通用访问规范）
+#Primary service GAP ------
+01 00 02 00 28 02 00 18
+
+# 类型：0x2A00（Device Name UUID）
+02 00 02 03 28 01 0a
+03 00 02 00 2a 14 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+
+# 类型:0x2A01（Appearance UUID）
+04 00 02 03 28 01 02
+05 00 02 01 2a 02 c2 03#值：0x03C2 鼠标图标
+
+# 类型:0x2A04（Peripheral Preferred Connection Parameters UUID）(连接参数)
+06 00 02 03 28 01 02
+07 00 02 04 2a 08 06 00 06 00 64 00 2c 01
+
+#-----------------------------------GATT-----------------------------------
+#Primary Service: GATT----- （Generic Attribute Profile） （通用属性配置文件）
+08 00 02 00 28 02 01 18
+#Service changed
+09 00 02 03 28 01 20
+0a 00 02 05 2a 00  #0x2A05（Service Changed UUID）
+0b 00 02 02 29 02 00 00
+
+#-----------------------------------Device Information-----------------------------------
+#Device Information（设备信息服务）
+0c 00 02 00 28 02 0a 18
+0d 00 02 03 28 01 02
+0e 00 02 29 2a 06 59 69 43 68 69 70
+0f 00 02 03 28 01 02
+10 00 02 50 2a 07 02 35 12 22 aa 01 00
+
+#-----------------------------------HID-----------------------------------
+#HID（Human Interface Device）服务
+#Primary service hid ------
+11 00 02 00 28 02 12 18  
+
+#Protocol mode  
+12 00 02 03 28 01 06
+13 00 02 4e 2a 01 01
+
+#Hid report（Report ID=2，Input类型）
+14 00 02 03 28 01 12
+15 00 02 4d 2a 08 00 00 00 00 00 00 00
+16 00 02 02 29 02 00 00
+17 00 02 08 29 02 02 01
+
+#Hid report（Report ID=1，Input类型）
+18 00 02 03 28 01 1a
+19 00 02 4d 2a 07 00 00 00 00 00 00 00
+1a 00 02 02 29 02 00 00
+1b 00 02 08 29 02 01 01
+
+#Hid report（Report ID=3，Input类型）  
+1c 00 02 03 28 01 12  
+1d 00 02 4d 2a 02 00 00  
+1e 00 02 02 29 02 00 00  
+1f 00 02 08 29 02 03 01  
+
+#Hid report（Report ID=4，Input类型）  
+20 00 02 03 28 01 12   
+21 00 02 4d 2a 02 00 00
+22 00 02 02 29 02 00 00
+23 00 02 08 29 02 04 01
+
+# #Hid report（Report ID=5，Input类型）  
+# 20 00 02 03 28 01 12
+# 21 00 02 4d 2a 02 00 00
+# 22 00 02 02 29 02 00 00
+# 23 00 02 08 29 02 05 01
+
+#Hid report（Report ID=2，Output类型）
+24 00 02 03 28 01 0e  
+25 00 02 4d 2a 02 00 00  
+26 00 02 08 29 02 02 02  
+
+#Report Map
+27 00 02 03 28 01 02  
+28 00 02 4b 2a bd 05 01 09 02 a1 01 85 01 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 95 01 81 06 c0 c0 05 01 09 06 a1 01 85 02 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 03 19 00 2a ff 03 15 00 26 ff 03 95 01 75 10 81 00 c0 05 01 09 80 a1 01 85 04 15 00 25 01 75 01 95 03 19 81 29 83 81 02 95 01 75 05 81 03 c0
+# - 类型：0x2A4B（Report Map HID Report Descriptor）  
+# - 值：包含HID设备详细配置（鼠标8按键、16位坐标，键盘按键映射等），定义Report ID=1（鼠标）、ID=2（键盘）等报告格式  
+
+#电量特征
+#0x2803（Characteristic Declaration）   
+29 00 02 03 28 01 1a   
+2a 00 02 00 2a 08 00 00 00 00 00 00 00 00   # - 类型：0x2A00（Battery Level）  
+2b 00 02 02 29 02 01 00         # - 类型：0x2902（Client Characteristic Configuration）  
+2c 00 02 03 28 01 02            #0x2803（Characteristic Declaration）  
+2d 00 02 4a 2a 04 01 01 00 03   #0x2A4A（HID Information）  
+
+# 0x180f（电池服务UUID）
+2e 00 02 00 28 02 0f 18    
+2f 00 02 03 28 01 12  # - 类型：0x2803（Characteristic Declaration）  
+30 00 02 19 2a 01 64  # - 类型：0x2A19（Battery Level）   
+31 00 02 02 29 02 00 00  # - 类型：0x2902（Client Characteristic Configuration）  
+32 00 02 03 28 01 04  # - 类型：0x2803（Characteristic Declaration）  
+33 00 02 4c 2a 00 00 00   # - 类型：0x2A4C（Report Map）
+
+
+#驱动协议数据
+#自定义服务UUID：0xff00  
+34 00 02 00 28 02 00 ff
+
+35 00 02 03 28 01 12            #dpi/battery
+36 00 02 01 ff 04 02 02 01 00   #opcode + len + dpi/battery + 00/01(主动发/主机请求 应答)
+37 00 02 02 29 02 00 00
+
+38 00 02 03 28 01 12            #app
+39 00 02 02 ff 02 08 00         #opcode + len
+3a 00 02 02 29 02 00 00
+
+3b 00 02 03 28 01 12            #device info
+3c 00 02 03 ff 0e 01 0c 00 00 00 00 00 00 00 00 00 00 00 00         #opcode + len
+3d 00 02 02 29 02 00 00
+
+
+# mem_mouse_le_map_len:bc 00
+# mem_mouse_ble_hid_map:
+# 05 01   # Usage Page (Generic Desktop)          - 通用桌面设备
+# 09 02   # Usage (Mouse)                         - 鼠标设备
+# A1 01   # Collection (Application)              - 应用级集合开始
+# 85 01   # Report ID (1)                         - 报告ID设为1（鼠标基础报告）
+# 09 01   # Usage (Pointer)                       - 指针设备
+# A1 00   # Collection (Physical)                 - 物理集合开始
+# 05 09   # Usage Page (Button)                   - 按钮用途页
+# 19 01   # Usage Minimum (1)                     - 最小按钮编号
+# 29 08   # Usage Maximum (8)                     - 最大按钮编号（支持8个按钮）
+# 15 00   # Logical Minimum (0)                   - 逻辑最小值
+# 25 01   # Logical Maximum (1)                   - 逻辑最大值（0/1状态）
+# 75 01   # Report Size (1)                       - 每个字段占1位
+# 95 08   # Report Count (8)                      - 8个字段（对应8个按钮）
+# 81 02   # Input (Data,Var,Abs)                  - 输入数据（按钮状态）
+
+# 05 01   # Usage Page (Generic Desktop)          - 切回通用桌面
+# 09 30   # Usage (X)                            - X轴
+# 09 31   # Usage (Y)                            - Y轴
+# 16 01 F8 # Logical Minimum (-2047)             - X/Y轴最小值
+# 26 FF 07 # Logical Maximum (2047)              - X/Y轴最大值
+# 75 10   # Report Size (16)                     - 16位存储坐标
+# 95 02   # Report Count (2)                     - 两个轴（X和Y）
+# 81 06   # Input (Data,Var,Rel)                 - 相对坐标输入
+
+# 09 38   # Usage (Wheel)                        - 滚轮
+# 15 81   # Logical Minimum (-127)               - 最小值
+# 25 7F   # Logical Maximum (127)               - 最大值
+# 75 08   # Report Size (8)                     - 8位存储
+# 95 01   # Report Count (1)                    - 单个滚轮
+# 81 06   # Input (Data,Var,Rel)                - 相对值输入
+
+# 05 0C   # Usage Page (Consumer)               - 消费者控制页
+# 0A 38 02 # Usage (AC Pan)                     - 水平滚动
+# 95 01   # Report Count (1)                    - 单个滚轮
+# 81 06   # Input (Data,Var,Rel)                - 相对值输入
+# C0      # End Collection                      - 结束物理集合
+# C0      # End Collection                      - 结束应用集合
+
+# 05 01   # Usage Page (Generic Desktop)
+# 09 06   # Usage (Keyboard)
+# A1 01   # Collection (Application)
+# 85 02   # Report ID (2) - 键盘报告
+# 75 01   # Report Size (1)
+# 95 08   # Report Count (8)
+# 05 07   # Usage Page (Key Codes)
+# 19 E0   # Usage Minimum (224) - 左Ctrl
+# 29 E7   # Usage Maximum (231) - 右GUI
+# 15 00   # Logical Minimum (0)
+# 25 01   # Logical Maximum (1)
+# 81 02   # Input (Data,Var,Abs)
+# 95 01   # Report Count (1)
+# 75 08   # Report Size (8) - 修饰键
+# 81 03   # Input (Const,Var,Abs) - 保留位
+# 95 05   # Report Count (5)
+# 75 01   # Report Size (1)
+# 05 08   # Usage Page (LEDs)
+# 19 01   # Usage Minimum (1) - Num Lock
+# 29 05   # Usage Maximum (5) - Kana
+# 91 02   # Output (Data,Var,Abs) - LED状态
+# 95 01   # Report Count (1)
+# 75 03   # Report Size (3)
+# 91 03   # Output (Const,Var,Abs)
+# 95 06   # Report Count (6)
+# 75 08   # Report Size (8)
+# 15 00   # Logical Minimum (0)
+# 26 FF 00 # Logical Maximum (255)
+# 05 07   # Usage Page (Key Codes)
+# 19 00   # Usage Minimum (0)
+# 29 FF   # Usage Maximum (255)
+# 81 00   # Input (Data,Arr,Abs) - 普通按键
+# C0      # End Collection
+
+# 05 0C   # Usage Page (Consumer)          - 消费者控制页（多媒体控制）
+# 09 01   # Usage (Consumer Control)       - 消费者控制设备（如音量/播放控制）
+# A1 01   # Collection (Application)       - 应用级集合开始
+# 85 03   # Report ID (3)                 - 报告ID设为3（多媒体控制报告）
+# 19 00   # Usage Minimum (0)             - 最小控制项编号
+# 2A FF 03 # Usage Maximum (0x03FF)       - 最大控制项编号（支持1023种控制）
+# 15 00   # Logical Minimum (0)           - 逻辑最小值
+# 26 FF 03 # Logical Maximum (1023)       - 逻辑最大值（10位分辨率）
+# 95 01   # Report Count (1)              - 1个字段
+# 75 10   # Report Size (16)              - 每个字段占16位
+# 81 02   # Input (Data,Var,Abs)          - 输入数据（绝对数值）
+# C0      # End Collection                - 结束应用集合
+
+# 05 01   # Usage Page (Generic Desktop)  - 切回通用桌面页
+# 09 80   # Usage (0x80)                  - 自定义功能（厂商特定用途）
+# A1 01   # Collection (Application)      - 应用级集合开始
+# 85 04   # Report ID (4)                - 报告ID设为4（自定义功能报告）
+# 15 00   # Logical Minimum (0)          - 逻辑最小值
+# 25 01   # Logical Maximum (1)          - 逻辑最大值（0/1状态）
+# 75 01   # Report Size (1)              - 每个字段占1位
+# 95 03   # Report Count (3)             - 3个字段（3个自定义按钮）
+# 19 81   # Usage Minimum (0x81)         - 自定义按钮1
+# 29 83   # Usage Maximum (0x83)         - 自定义按钮3
+# 81 02   # Input (Data,Var,Abs)         - 输入数据（按钮状态）
+# 95 01   # Report Count (1)             - 1个字段
+# 75 05   # Report Size (5)              - 5位填充（补齐字节边界）
+# 81 03   # Input (Const,Var,Abs)        - 常量填充位
+# C0      # End Collection              - 结束应用集合
\ No newline at end of file
