2
0
Просмотр исходного кода

Makefile redo & other features (#395)

* .build containment implemented

* no destructive variable setting - builds in either folder

* make from 3 places

* cleans before each build
* make from root with keyboard=keyboard, keymap=keymap
* make from keyboard/keyboard with keymap=keymap
* make from keymaps/keymap
* only implemented on planck

* adds color diag to avr-gcc

* makefiles for all plancks, clean-up

* quick build-all makefile for plancks

* reformatting of make output (colors)

* color toggle, tmk path corrections

* correct if statement for color

* move config.h to main makefile, updates preonic, atomic

* format update, all keyboards targets

* makefile optional for build all target, alps and arrow_pad updated

* alps updated

* make planck default, trying out travis recipe for all-keyboards

* all-keymaps target, different travis recipe

* updates alps64

* updates keyboards to new format

* updates clue* projects

* all projects updated, specialise EZ .hex, let .hex through

* updates travis

* automatically find root, keyboard, keymap

* silent echo, cleaned-up mass make output

* updates all keyboards' .hex files except EZ

* Rename Bantam44.c to bantam44.c

* Rename Bantam44.h to bantam44.h

* nananana

* adds six key keyboard

* does same to ez as rest

* updates send_string example

* brings ergodox_ez up to date

* updates template/new project script

* adds sixkeyboard

* adds readme for sixkeyboard

* adds sixkeyboard to travis

* filenames, gitignore mess

* define clock prescaler stuff manually

* make quick, size test example

* documentation and dfu-no-build
Jack Humbert 9 лет назад
Родитель
Сommit
d9e4dad0a8
100 измененных файлов с 45290 добавлено и 30096 удалено
  1. 5 1
      .gitignore
  2. 3 3
      .travis.yml
  3. 112 0
      Makefile
  4. 54 8
      doc/BUILD_GUIDE.md
  5. 21 0
      doc/keymap_makefile_example.mk
  6. 9 34
      keyboard/alps64/Makefile
  7. 0 15
      keyboard/alps64/alps64.h
  8. 1373 0
      keyboard/alps64/keymaps/default/compiled.hex
  9. 0 0
      keyboard/alps64/keymaps/default/keymap.c
  10. 0 151
      keyboard/alps64/keymaps/hasu.c
  11. 17 63
      keyboard/arrow_pad/Makefile
  12. 1490 0
      keyboard/arrow_pad/keymaps/default/compiled.hex
  13. 0 0
      keyboard/arrow_pad/keymaps/default/keymap.c
  14. 0 0
      keyboard/arrow_pad/keymaps/pad_21/Makefile
  15. 893 0
      keyboard/arrow_pad/keymaps/pad_21/compiled.hex
  16. 0 0
      keyboard/arrow_pad/keymaps/pad_24/Makefile
  17. 935 0
      keyboard/arrow_pad/keymaps/pad_24/compiled.hex
  18. 16 87
      keyboard/atomic/Makefile
  19. 1098 0
      keyboard/atomic/keymaps/default/compiled.hex
  20. 0 0
      keyboard/atomic/keymaps/default/keymap.c
  21. 1 3
      keyboard/planck/keymaps/pvc/makefile.mk
  22. 1700 0
      keyboard/atomic/keymaps/pvc/compiled.hex
  23. 0 17
      keyboard/atomic/keymaps/pvc/makefile.mk
  24. 14 41
      keyboard/atreus/Makefile
  25. 1328 0
      keyboard/atreus/keymaps/default/compiled.hex
  26. 0 0
      keyboard/atreus/keymaps/default/keymap.c
  27. 1339 0
      keyboard/atreus/keymaps/gerb/compiled.hex
  28. 0 0
      keyboard/atreus/keymaps/gerb/keymap.c
  29. 15 44
      keyboard/bantam44/Makefile
  30. 2 2
      keyboard/bantam44/Bantam44.c
  31. 0 0
      keyboard/bantam44/bantam44.h
  32. 1398 0
      keyboard/bantam44/keymaps/default/compiled.hex
  33. 1 1
      keyboard/bantam44/keymaps/default.c
  34. 16 43
      keyboard/clueboard1/Makefile
  35. 1183 0
      keyboard/clueboard1/keymaps/default/compiled.hex
  36. 0 0
      keyboard/clueboard1/keymaps/default/keymap.c
  37. 16 42
      keyboard/clueboard2/Makefile
  38. 1246 0
      keyboard/clueboard2/keymaps/default/compiled.hex
  39. 0 0
      keyboard/clueboard2/keymaps/default/keymap.c
  40. 49 0
      keyboard/clueboard2/keymaps/max/Makefile
  41. 1536 0
      keyboard/clueboard2/keymaps/max/compiled.hex
  42. 0 0
      keyboard/clueboard2/keymaps/max/keymap.c
  43. 1246 0
      keyboard/clueboard2/keymaps/skully/compiled.hex
  44. 0 0
      keyboard/clueboard2/keymaps/skully/keymap.c
  45. 17 41
      keyboard/cluepad/Makefile
  46. 1123 0
      keyboard/cluepad/keymaps/default/compiled.hex
  47. 0 0
      keyboard/cluepad/keymaps/default/keymap.c
  48. 15 59
      keyboard/ergodox_ez/Makefile
  49. 0 1146
      keyboard/ergodox_ez/keymaps/ab/ab.hex
  50. 1147 0
      keyboard/ergodox_ez/keymaps/ab/compiled.hex
  51. 0 1152
      keyboard/ergodox_ez/keymaps/adnw/k_o_y/k_o_y.hex
  52. 1158 0
      keyboard/ergodox_ez/keymaps/adnw_k_o_y/compiled.hex
  53. 0 0
      keyboard/ergodox_ez/keymaps/adnw_k_o_y/keymap.c
  54. 0 0
      keyboard/ergodox_ez/keymaps/adnw_k_o_y/readme.md
  55. 1172 0
      keyboard/ergodox_ez/keymaps/alexjj/compiled.hex
  56. 0 1141
      keyboard/ergodox_ez/keymaps/alexjj/keymap.hex
  57. 0 0
      keyboard/ergodox_ez/keymaps/algernon/Makefile
  58. 0 1259
      keyboard/ergodox_ez/keymaps/algernon/algernon.hex
  59. 1257 0
      keyboard/ergodox_ez/keymaps/algernon/compiled.hex
  60. 1 1
      keyboard/ergodox_ez/keymaps/algernon/config_user.h
  61. 0 1121
      keyboard/ergodox_ez/keymaps/andrew_osx/andrew_osx.hex
  62. 1158 0
      keyboard/ergodox_ez/keymaps/andrew_osx/compiled.hex
  63. 0 1193
      keyboard/ergodox_ez/keymaps/bepo/bepo.hex
  64. 1190 0
      keyboard/ergodox_ez/keymaps/bepo/compiled.hex
  65. 1 0
      keyboard/ergodox_ez/keymaps/coderkun_neo2/Makefile
  66. 0 1143
      keyboard/ergodox_ez/keymaps/coderkun_neo2/coderkun_neo2.hex
  67. 1195 0
      keyboard/ergodox_ez/keymaps/coderkun_neo2/compiled.hex
  68. 1 1
      keyboard/ergodox_ez/keymaps/coderkun_neo2/keymap.c
  69. 0 1121
      keyboard/ergodox_ez/keymaps/colemak/colemak.hex
  70. 1158 0
      keyboard/ergodox_ez/keymaps/colemak/compiled.hex
  71. 0 1142
      keyboard/ergodox_ez/keymaps/colemak_osx_pc_no/colemak_osx_pc_no.hex
  72. 1179 0
      keyboard/ergodox_ez/keymaps/colemak_osx_pc_no/compiled.hex
  73. 1184 0
      keyboard/ergodox_ez/keymaps/csharp_dev/compiled.hex
  74. 0 1147
      keyboard/ergodox_ez/keymaps/csharp_dev/csharp_dev.hex
  75. 1169 0
      keyboard/ergodox_ez/keymaps/dave/compiled.hex
  76. 0 1172
      keyboard/ergodox_ez/keymaps/dave/dave.hex
  77. 1158 0
      keyboard/ergodox_ez/keymaps/default/compiled.hex
  78. 0 1121
      keyboard/ergodox_ez/keymaps/default/default.hex
  79. 1158 0
      keyboard/ergodox_ez/keymaps/default_osx/compiled.hex
  80. 0 1121
      keyboard/ergodox_ez/keymaps/default_osx/default_osx.hex
  81. 1169 0
      keyboard/ergodox_ez/keymaps/dragon788/compiled.hex
  82. 0 1131
      keyboard/ergodox_ez/keymaps/dragon788/dragon788.hex
  83. 1158 0
      keyboard/ergodox_ez/keymaps/dvorak/compiled.hex
  84. 0 1121
      keyboard/ergodox_ez/keymaps/dvorak/dvorak.hex
  85. 1158 0
      keyboard/ergodox_ez/keymaps/dvorak_intl_squisher/compiled.hex
  86. 0 1127
      keyboard/ergodox_ez/keymaps/dvorak_intl_squisher/dvorak_intl_squisher.hex
  87. 1175 0
      keyboard/ergodox_ez/keymaps/dvorak_spanish/compiled.hex
  88. 0 5371
      keyboard/ergodox_ez/keymaps/dvorak_spanish/dvorak_spanish.hex
  89. 1158 0
      keyboard/ergodox_ez/keymaps/emacs_osx_dk/compiled.hex
  90. 0 1121
      keyboard/ergodox_ez/keymaps/emacs_osx_dk/emacs_osx_dk.hex
  91. 1167 0
      keyboard/ergodox_ez/keymaps/erez_experimental/compiled.hex
  92. 0 1107
      keyboard/ergodox_ez/keymaps/erez_experimental/erez_experimental.hex
  93. 1158 0
      keyboard/ergodox_ez/keymaps/german-kinergo/compiled.hex
  94. 0 1121
      keyboard/ergodox_ez/keymaps/german-kinergo/german-kinergo.hex
  95. 1274 0
      keyboard/ergodox_ez/keymaps/german-manuneo/compiled.hex
  96. 0 1240
      keyboard/ergodox_ez/keymaps/german-manuneo/german-manuneo.hex
  97. 1158 0
      keyboard/ergodox_ez/keymaps/german/compiled.hex
  98. 0 1121
      keyboard/ergodox_ez/keymaps/german/german.hex
  99. 1158 0
      keyboard/ergodox_ez/keymaps/j3rn/compiled.hex
  100. 0 0
      keyboard/ergodox_ez/keymaps/j3rn/j3rn.hex

+ 5 - 1
.gitignore

@@ -3,7 +3,10 @@ keyboard/planck/dfu-programmer.exe
 *.o
 *.eep
 *.elf
-*.hex
+/*.hex
+/keyboard/**/*.hex
+/keyboard/**/keymaps/**/*.hex
+!/keyboard/**/keymaps/**/compiled.hex
 *.log
 *.lss
 *.lst
@@ -13,6 +16,7 @@ keyboard/planck/dfu-programmer.exe
 tags
 *~
 build/
+.build/
 *.bak
 .vagrant/
 .idea/

+ 3 - 3
.travis.yml

@@ -18,16 +18,16 @@ env:
   - KEYBOARD=cluepad
   - KEYBOARD=ergodox_ez
   - KEYBOARD=gh60
-  - KEYBOARD=gh60_rev_c
   - KEYBOARD=hhkb
   - KEYBOARD=jd45
-  - KEYBOARD=kc60_v2
+  - KEYBOARD=kc60
   - KEYBOARD=planck
   - KEYBOARD=preonic
   - KEYBOARD=retro_refit
+  - KEYBOARD=sixkeyboard
 
 script:
-  - cd keyboard/$KEYBOARD && make
+  - cd keyboard/$KEYBOARD && make all-keymaps
 
 addons:
   apt:

+ 112 - 0
Makefile

@@ -0,0 +1,112 @@
+ifndef VERBOSE
+.SILENT:
+endif
+
+starting_makefile := $(abspath $(firstword $(MAKEFILE_LIST)))
+mkfile_path := $(abspath $(lastword $(MAKEFILE_LIST)))
+tmk_root := $(patsubst %/,%,$(dir $(mkfile_path)))
+
+ifneq (,$(findstring /keyboard/,$(starting_makefile)))
+	possible_keyboard:=$(patsubst %/,%,$(dir $(patsubst $(tmk_root)/keyboard/%,%,$(starting_makefile))))
+	ifneq (,$(findstring /keymaps/,$(possible_keyboard)))
+		KEYBOARD_DIR:=$(firstword $(subst /keymaps/, ,$(possible_keyboard)))
+		KEYMAP_DIR:=$(lastword $(subst /keymaps/, ,$(possible_keyboard)))
+	else
+		KEYBOARD_DIR:=$(possible_keyboard)
+		KEYMAP_DIR:=default
+	endif
+endif
+
+# $(info $(KEYBOARD_DIR))
+# $(info $(KEYMAP_DIR))
+
+# Directory common source filess exist
+TOP_DIR = $(tmk_root)
+TMK_DIR = tmk_core
+TMK_PATH = $(TOP_DIR)/$(TMK_DIR)
+
+QUANTUM_DIR = quantum
+QUANTUM_PATH = $(TOP_DIR)/$(QUANTUM_DIR)
+
+ifdef keyboard
+	KEYBOARD ?= $(keyboard)
+endif
+ifdef KEYBOARD_DIR
+	KEYBOARD ?= $(KEYBOARD_DIR)
+endif
+ifndef KEYBOARD
+	KEYBOARD=planck
+endif
+KEYBOARD_PATH = $(TOP_DIR)/keyboard/$(KEYBOARD)
+ifneq ("$(wildcard $(KEYBOARD_PATH)/$(KEYBOARD).c)","")
+	KEYBOARD_FILE = keyboard/$(KEYBOARD)/$(KEYBOARD).c
+	ifndef ARCH
+		include $(KEYBOARD_PATH)/Makefile
+	endif
+else 
+$(error "$(KEYBOARD_PATH)/$(KEYBOARD).c" does not exist)
+endif
+
+ifdef keymap
+	KEYMAP ?= $(keymap)
+endif
+ifdef KEYMAP_DIR
+	KEYMAP ?= $(KEYMAP_DIR)
+endif
+ifndef KEYMAP
+	KEYMAP = default
+endif
+KEYMAP_PATH = $(KEYBOARD_PATH)/keymaps/$(KEYMAP)
+ifneq ("$(wildcard $(KEYMAP_PATH)/keymap.c)","")
+	KEYMAP_FILE = keyboard/$(KEYBOARD)/keymaps/$(KEYMAP)/keymap.c
+	-include $(KEYMAP_PATH)/Makefile
+else 
+$(error "$(KEYMAP_PATH)/keymap.c" does not exist)
+endif
+
+TARGET = $(KEYBOARD)_$(KEYMAP)
+
+ifneq ("$(wildcard $(KEYMAP_PATH)/config.h)","")
+	CONFIG_H = $(KEYMAP_PATH)/config.h
+else
+	CONFIG_H = $(KEYBOARD_PATH)/config.h
+endif
+
+# # project specific files
+SRC += $(KEYBOARD_FILE) \
+	$(KEYMAP_FILE) \
+	$(QUANTUM_DIR)/quantum.c \
+	$(QUANTUM_DIR)/keymap_common.c \
+	$(QUANTUM_DIR)/led.c
+
+ifndef CUSTOM_MATRIX
+	SRC += $(QUANTUM_DIR)/matrix.c
+endif
+
+ifeq ($(strip $(AUDIO_ENABLE)), yes)
+	SRC += $(QUANTUM_DIR)/audio/audio.c
+	SRC += $(QUANTUM_DIR)/audio/voices.c
+	SRC += $(QUANTUM_DIR)/audio/luts.c
+endif
+
+ifeq ($(strip $(RGBLIGHT_ENABLE)), yes)
+	SRC += $(QUANTUM_DIR)/light_ws2812.c
+	SRC += $(QUANTUM_DIR)/rgblight.c
+	OPT_DEFS += -DRGBLIGHT_ENABLE
+endif
+
+# Optimize size but this may cause error "relocation truncated to fit"
+#EXTRALDFLAGS = -Wl,--relax
+
+# Search Path
+VPATH += $(KEYMAP_PATH)
+VPATH += $(KEYBOARD_PATH)
+VPATH += $(TOP_DIR)
+VPATH += $(TMK_PATH)
+VPATH += $(QUANTUM_PATH)
+VPATH += $(QUANTUM_PATH)/keymap_extras
+VPATH += $(QUANTUM_PATH)/audio
+
+include $(TMK_PATH)/protocol/lufa.mk
+include $(TMK_PATH)/common.mk
+include $(TMK_PATH)/rules.mk

Разница между файлами не показана из-за своего большого размера
+ 54 - 8
doc/BUILD_GUIDE.md


+ 21 - 0
doc/keymap_makefile_example.mk

@@ -0,0 +1,21 @@
+# Build Options
+#   change to "no" to disable the options, or define them in the makefile.mk in 
+#   the appropriate keymap folder that will get included automatically
+#
+BOOTMAGIC_ENABLE = no       # Virtual DIP switch configuration(+1000)
+MOUSEKEY_ENABLE = yes       # Mouse keys(+4700)
+EXTRAKEY_ENABLE = yes       # Audio control and System control(+450)
+CONSOLE_ENABLE = no         # Console for debug(+400)
+COMMAND_ENABLE = yes        # Commands for debug and configuration
+NKRO_ENABLE = yes           # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
+MIDI_ENABLE = no            # MIDI controls
+AUDIO_ENABLE = no           # Audio output on port C6
+UNICODE_ENABLE = no         # Unicode
+BLUETOOTH_ENABLE = no       # Enable Bluetooth with the Adafruit EZ-Key HID
+RGBLIGHT_ENABLE = no        # Enable WS2812 RGB underlight.  Do not enable this with audio at the same time.
+SLEEP_LED_ENABLE = no       # Breathing sleep LED during USB suspend
+
+ifndef QUANTUM_DIR
+	include ../../../../Makefile
+endif

+ 9 - 34
keyboard/alps64/Makefile

@@ -39,27 +39,9 @@
 #----------------------------------------------------------------------------
 
 # Target file name (without extension).
-TARGET = alps64
-
-# Directory common source filess exist
-TOP_DIR = ../..
-TMK_DIR = ../../tmk_core
-
-# Directory keyboard dependent files exist
-TARGET_DIR = .
 
 # project specific files
-SRC =	alps64.c \
-	led.c
-
-ifdef KEYMAP
-    SRC := keymaps/$(KEYMAP).c $(SRC)
-else
-    SRC := keymaps/default.c $(SRC)
-endif
-
-CONFIG_H = config.h
-
+SRC = led.c
 
 # MCU name
 MCU = atmega32u2
@@ -113,21 +95,14 @@ OPT_DEFS += -DBOOTLOADER_SIZE=4096
 # Build Options
 #   comment out to disable the options.
 #
-BOOTMAGIC_ENABLE = yes	# Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE = yes	# Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes	# Audio control and System control(+450)
-CONSOLE_ENABLE = yes	# Console for debug(+400)
-COMMAND_ENABLE = yes    # Commands for debug and configuration
+BOOTMAGIC_ENABLE ?= yes	# Virtual DIP switch configuration(+1000)
+MOUSEKEY_ENABLE ?= yes	# Mouse keys(+4700)
+EXTRAKEY_ENABLE ?= yes	# Audio control and System control(+450)
+CONSOLE_ENABLE ?= yes	# Console for debug(+400)
+COMMAND_ENABLE ?= yes    # Commands for debug and configuration
 #SLEEP_LED_ENABLE = yes  # Breathing sleep LED during USB suspend
 #NKRO_ENABLE = yes	# USB Nkey Rollover - not yet supported in LUFA
 
-
-# Optimize size but this may cause error "relocation truncated to fit"
-#EXTRALDFLAGS = -Wl,--relax
-
-# Search Path
-VPATH += $(TARGET_DIR)
-VPATH += $(TOP_DIR)
-VPATH += $(TMK_DIR)
-
-include $(TOP_DIR)/quantum/quantum.mk
+ifndef QUANTUM_DIR
+	include ../../Makefile
+endif

+ 0 - 15
keyboard/alps64/alps64.h

@@ -37,19 +37,4 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
     { KC_##K70, KC_##K71, KC_##K72, KC_##K73, KC_##K74, KC_##K75, KC_##K76, KC_##K77 } \
 }
 
-/* AEK US */
-#define KEYMAP_AEK( \
-    K36, K37, K46, K47, K56, K57, K66, K67, K76, K77, K06, K07, K17, K27, \
-    K34, K35, K44, K45, K54, K55, K64, K65, K75, K05, K15, K16, K25, K24, \
-    K32, K33, K43, K52, K53, K63, K73, K74, K03, K04, K13, K14, K23, \
-    K31, K42, K51, K61, K62, K71, K72, K01, K02, K11, K12, K21, \
-    K30, K40, K50,           K60,                          K00, K10, K20  \
-) KEYMAP( \
-    K36, K37, K46, K47, K56, K57, K66, K67, K76, K77, K06, K07, K17, NUHS,K27, \
-    K34, K35, K44, K45, K54, K55, K64, K65, K75, K05, K15, K16, K25, K24, \
-    K32, K33, K43, K52, K53, K63, K73, K74, K03, K04, K13, K14, K23, \
-    K31, NUBS,K42, K51, K61, K62, K71, K72, K01, K02, K11, K12, K21, ESC, \
-    K30, K40, K50,           K60,                     APP, K00, K10, K20  \
-)
-
 #endif

Разница между файлами не показана из-за своего большого размера
+ 1373 - 0
keyboard/alps64/keymaps/default/compiled.hex


keyboard/alps64/keymaps/default.c → keyboard/alps64/keymaps/default/keymap.c


+ 0 - 151
keyboard/alps64/keymaps/hasu.c

@@ -1,151 +0,0 @@
-#include "alps64.h"
-
-/*
- * Hasu
- */
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-    /* Default Layer
-     * ,-----------------------------------------------------------.
-     * |Esc|  1|  2|  3|  4|  5|  6|  7|  8|  9|  0|  -|  =|   \   |
-     * |-----------------------------------------------------------|
-     * |Tab  |  Q|  W|  E|  R|  T|  Y|  U|  I|  O|  P|  [|  ]|Bspc |
-     * |-----------------------------------------------------------|
-     * |Ctrl  |  A|  S|  D|  F|  G|  H|  J|  K|  L|Fn3|  '|FN1     |
-     * |-----------------------------------------------------------|
-     * |Shift   |  Z|  X|  C|  V|  B|  N|  M|  ,|  .|Fn2|Shift     |
-     * |-----------------------------------------------------------|
-     * |Ctrl |Gui |Alt  |       Space            |Alt   |Fn5 |Ctrl |
-     * `-----------------------------------------------------------'
-     */
-    [0] = KEYMAP_AEK( \
-        ESC, 1,   2,   3,   4,   5,   6,   7,   8,   9,   0,   MINS,EQL, BSLS, \
-        TAB, Q,   W,   E,   R,   T,   Y,   U,   I,   O,   P,   LBRC,RBRC,BSPC, \
-        LCTL,A,   S,   D,   F,   G,   H,   J,   K,   L,   FN3, QUOT,FN1, \
-        LSFT,Z,   X,   C,   V,   B,   N,   M,   COMM,DOT, FN2, RSFT, \
-        LCTL,LGUI,LALT,          FN4,                          RALT,FN5, FN0),
-
-    /* HHKB mode[HHKB Fn]
-     * ,-----------------------------------------------------------.
-     * |Esc| F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12|   `   |
-     * |-----------------------------------------------------------|
-     * |Caps |   |   |   |   |   |   |   |Psc|Slk|Pus|Up |   |Del  |
-     * |-----------------------------------------------------------|
-     * |Contro|VoD|VoU|Mut|   |   |  *|  /|Hom|PgU|Lef|Rig|Enter   |
-     * |-----------------------------------------------------------|
-     * |Shift   |   |   |   |   |   |  +|  -|End|PgD|Dow|Shift     |
-     * |-----------------------------------------------------------|
-     * |Ctrl |Gui |Alt  |       Space            |Alt   |Fn5 |Ctrl |
-     * `-----------------------------------------------------------'
-     */ 
-    [1] = KEYMAP_AEK( \
-        GRV, F1,  F2,  F3,  F4,  F5,  F6,  F7,  F8,  F9,  F10, F11, F12, GRV, \
-        CAPS,NO,  NO,  NO,  NO,  NO,  NO,  NO,  PSCR,SLCK,PAUS,UP,  NO,  DEL, \
-        LCTL,VOLD,VOLU,MUTE,NO,  NO,  PAST,PSLS,HOME,PGUP,LEFT,RGHT,TRNS, \
-        LSFT,NO,  NO,  NO,  NO,  NO,  PPLS,PMNS,END, PGDN,DOWN,RSFT, \
-        LCTL,LGUI,LALT,          TRNS,                         RALT,RGUI,TRNS),
-
-    /* Vi mode[Slash]
-     * ,-----------------------------------------------------------.
-     * |Esc| F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12|Del    |
-     * |-----------------------------------------------------------|
-     * |Tab  |Hom|PgD|Up |PgU|End|Hom|PgD|PgUlEnd|   |   |   |Backs|
-     * |-----------------------------------------------------------|
-     * |Contro|   |Lef|Dow|Rig|   |Lef|Dow|Up |Rig|   |   |Return  |
-     * |-----------------------------------------------------------|
-     * |Shift   |   |   |   |   |   |Hom|PgD|PgUlEnd|Fn0|Shift     |
-     * |-----------------------------------------------------------|
-     * |Ctrl |Gui |Alt  |       Space            |Alt   |Fn5 |Ctrl |
-     * `-----------------------------------------------------------'
-     */
-    [2] = KEYMAP_AEK( \
-        GRV, F1,  F2,  F3,  F4,  F5,  F6,  F7,  F8,  F9,  F10, F11, F12, GRV, \
-        TAB, HOME,PGDN,UP,  PGUP,END, HOME,PGDN,PGUP,END, NO,  NO,  NO,  DEL, \
-        LCTL,NO,  LEFT,DOWN,RGHT,NO,  LEFT,DOWN,UP,  RGHT,NO,  NO,  ENT, \
-        LSFT,NO,  NO,  NO,  NO,  NO,  HOME,PGDN,PGUP,END, FN2, RSFT, \
-        LCTL,LGUI,LALT,          SPC,                          RALT,RGUI,RCTL),
-
-    /* Mouse mode(IJKL)[Semicolon]
-     * ,-----------------------------------------------------------.
-     * |Esc| F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12|Ins|Del|
-     * |-----------------------------------------------------------|
-     * |Tab  |   |   |   |   |   |MwL|MwD|McU|MwU|MwR|Wbk|Wfr|Alt-T|
-     * |-----------------------------------------------------------|
-     * |Contro|   |   |   |   |   |Mb2|McL|McD|McR|Fn |   |Return  |
-     * |-----------------------------------------------------------|
-     * |Shift   |   |   |   |   |Mb3|Mb2|Mb1|Mb4|Mb5|   |Shift |   |
-     * |-----------------------------------------------------------|
-     * |Ctrl |Gui |Alt  |       Space            |Alt   |Fn5 |Ctrl |
-     * `-----------------------------------------------------------'
-     * Mc: Mouse Cursor / Mb: Mouse Button / Mw: Mouse Wheel
-     */
-    [3] = KEYMAP_AEK( \
-        GRV, F1,  F2,  F3,  F4,  F5,  F6,  F7,  F8,  F9,  F10, F11, F12, GRV, \
-        FN8, NO,  NO,  NO,  NO,  NO,  NO,  WH_D,MS_U,WH_U,RGHT,FN9, FN10,FN8, \
-        LCTL,ACL0,ACL1,ACL2,ACL2,NO,  NO,  MS_L,MS_D,MS_R,TRNS,NO,  ENT, \
-        LSFT,NO,  NO,  NO,  NO,  BTN3,BTN2,BTN1,FN9, FN10,NO,  RSFT, \
-        LCTL,LGUI,LALT,          BTN1,                         TRNS,TRNS,TRNS),
-
-    /* Layer 4: Mouse mode(IJKL)[Space]
-     * ,-----------------------------------------------------------.
-     * |Esc| F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12|Ins|Del|
-     * |-----------------------------------------------------------|
-     * |Tab  |   |   |   |   |   |MwL|MwD|McU|MwU|MwR|Wbk|Wfr|Alt-T|
-     * |-----------------------------------------------------------|
-     * |Contro|   |   |   |   |   |Mb2|McL|McD|McR|Mb1|   |Return  |
-     * |-----------------------------------------------------------|
-     * |Shift   |   |   |   |   |Mb3|Mb2|Mb1|Mb4|Mb5|   |Shift |   |
-     * |-----------------------------------------------------------|
-     * |Ctrl |Gui |Alt  |       Space            |Alt   |Fn5 |Ctrl |
-     * `-----------------------------------------------------------'
-     * Mc: Mouse Cursor / Mb: Mouse Button / Mw: Mouse Wheel
-     */
-    [4] = KEYMAP_AEK( \
-        GRV, F1,  F2,  F3,  F4,  F5,  F6,  F7,  F8,  F9,  F10, F11, F12, GRV, \
-        FN8, NO,  NO,  NO,  NO,  NO,  NO,  WH_D,MS_U,WH_U,RGHT,FN9, FN10,FN8, \
-        LCTL,VOLD,VOLU,MUTE,NO,  NO,  NO,  MS_L,MS_D,MS_R,BTN1,NO,  ENT, \
-        LSFT,NO,  NO,  NO,  NO,  BTN3,BTN2,BTN1,FN9, FN10,NO,  RSFT, \
-        LCTL,LGUI,LALT,          TRNS,                         TRNS,TRNS,TRNS),
-};
-
-
-/* id for user defined function/macro */
-enum function_id {
-    NONE,
-};
-
-enum macro_id {
-    ALT_TAB,
-};
-
-
-/*
- * Fn action definition
- */
-const uint16_t PROGMEM fn_actions[] = {
-    [0] = ACTION_LAYER_MOMENTARY(1),                  // HHKB layer
-    [1] = ACTION_LAYER_TAP_KEY(1, KC_ENTER),          // HHKB layer
-    [2] = ACTION_LAYER_TAP_KEY(2, KC_SLASH),          // Cursor layer with Slash*
-    [3] = ACTION_LAYER_TAP_KEY(3, KC_SCLN),           // Mousekey layer with Semicolon*
-    [4] = ACTION_LAYER_TAP_KEY(4, KC_SPC),            // Mousekey layer with Space
-    [5] = ACTION_LAYER_MOMENTARY(3),                  // Mousekey layer(IJKL)
-    [6] = ACTION_LAYER_TAP_KEY(MOD_RCTL, KC_ENT),      // RControl with tap Enter
-    [7] = ACTION_MODS_ONESHOT(MOD_LSFT),              // Oneshot Shift
-    [8] = ACTION_MACRO(ALT_TAB),                      // Application switching
-    [9] = ACTION_MODS_KEY(MOD_LALT, KC_LEFT),
-   [10] = ACTION_MODS_KEY(MOD_LALT, KC_RIGHT),
-};
-
-
-/*
- * Macro definition
- */
-const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
-{
-    switch (id) {
-        case ALT_TAB:
-            return (record->event.pressed ?
-                    MACRO( D(LALT), D(TAB), END ) :
-                    MACRO( U(TAB), END ));
-    }
-    return MACRO_NONE;
-}

+ 17 - 63
keyboard/arrow_pad/Makefile

@@ -38,28 +38,6 @@
 # To rebuild project do "make clean" then "make all".
 #----------------------------------------------------------------------------
 
-# Target file name (without extension).
-TARGET = arrow_pad
-
-
-# Directory common source filess exist
-TOP_DIR = ../..
-TMK_DIR = ../../tmk_core
-
-# Directory keyboard dependent files exist
-TARGET_DIR = .
-
-# # project specific files
-SRC = arrow_pad.c
-
-ifdef KEYMAP
-    SRC := keymaps/$(KEYMAP).c $(SRC)
-else
-    SRC := keymaps/default.c $(SRC)
-endif
-
-CONFIG_H = config.h
-
 # MCU name
 #MCU = at90usb1287
 MCU = atmega32u4
@@ -113,46 +91,22 @@ OPT_DEFS += -DBOOTLOADER_SIZE=512
 # Build Options
 #   change yes to no to disable
 #
-BOOTMAGIC_ENABLE = yes      # Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE = yes       # Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes       # Audio control and System control(+450)
-CONSOLE_ENABLE = yes        # Console for debug(+400)
-COMMAND_ENABLE = yes        # Commands for debug and configuration
-KEYBOARD_LOCK_ENABLE = yes  # Allow locking of keyboard via magic key
+BOOTMAGIC_ENABLE ?= yes      # Virtual DIP switch configuration(+1000)
+MOUSEKEY_ENABLE ?= yes       # Mouse keys(+4700)
+EXTRAKEY_ENABLE ?= yes       # Audio control and System control(+450)
+CONSOLE_ENABLE ?= yes        # Console for debug(+400)
+COMMAND_ENABLE ?= yes        # Commands for debug and configuration
+KEYBOARD_LOCK_ENABLE ?= yes  # Allow locking of keyboard via magic key
 # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no       # Breathing sleep LED during USB suspend
+SLEEP_LED_ENABLE ?= no       # Breathing sleep LED during USB suspend
 # if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = yes           # USB Nkey Rollover
-BACKLIGHT_ENABLE = yes      # Enable keyboard backlight functionality
-MIDI_ENABLE = no            # MIDI controls
-UNICODE_ENABLE = no         # Unicode
-BLUETOOTH_ENABLE = no       # Enable Bluetooth with the Adafruit EZ-Key HID
-AUDIO_ENABLE = no           # Audio output on port C6
-
-
-ifdef KEYMAP
-
-ifeq ("$(wildcard keymaps/$(KEYMAP).c)","")
-ifneq ("$(wildcard keymaps/$(KEYMAP)/makefile.mk)","")
-    include keymaps/$(KEYMAP)/makefile.mk
-endif 
-endif
-
-else
-
-ifneq ("$(wildcard keymaps/default/makefile.mk)","")
-    include keymaps/default/makefile.mk
-endif
-
-endif
-
-# Optimize size but this may cause error "relocation truncated to fit"
-#EXTRALDFLAGS = -Wl,--relax
-
-# Search Path
-VPATH += $(TARGET_DIR)
-VPATH += $(TOP_DIR)
-VPATH += $(TMK_DIR)
-
-include $(TOP_DIR)/quantum/quantum.mk
-
+NKRO_ENABLE ?= yes           # USB Nkey Rollover
+BACKLIGHT_ENABLE ?= yes      # Enable keyboard backlight functionality
+MIDI_ENABLE ?= no            # MIDI controls
+UNICODE_ENABLE ?= no         # Unicode
+BLUETOOTH_ENABLE ?= no       # Enable Bluetooth with the Adafruit EZ-Key HID
+AUDIO_ENABLE ?= no           # Audio output on port C6
+
+ifndef QUANTUM_DIR
+	include ../../Makefile
+endif

Разница между файлами не показана из-за своего большого размера
+ 1490 - 0
keyboard/arrow_pad/keymaps/default/compiled.hex


keyboard/arrow_pad/keymaps/default.c → keyboard/arrow_pad/keymaps/default/keymap.c


keyboard/arrow_pad/keymaps/pad_21/makefile.mk → keyboard/arrow_pad/keymaps/pad_21/Makefile


+ 893 - 0
keyboard/arrow_pad/keymaps/pad_21/compiled.hex

@@ -0,0 +1,893 @@
+:100000000C944A010C948E010C948E010C948E0178
+:100010000C948E010C948E010C948E010C948E0124
+:100020000C948E010C948E010C94B10A0C94830BE9
+:100030000C9424180C948E010C948E010C948E0157
+:100040000C948E010C948E010C948E010C948E01F4
+:100050000C948E010C948C180C948E010C948E01CF
+:100060000C948E010C948E010C948E010C948E01D4
+:100070000C948E010C948E010C948E010C948E01C4
+:100080000C948E010C948E010C948E010C948E01B4
+:100090000C948E010C948E010C948E010C948E01A4
+:1000A0000C948E010C948E010C948E01F00B120CAA
+:1000B000000D120C000D570C7A0C000DCF0CE20C49
+:1000C000730F730FA20FA20F06110611061106116E
+:1000D000E10F061191109110F71006110611001191
+:1000E0009E109E109E109E109E109E109E109E10A0
+:1000F0009E109E109E109E109E109E109E109E1090
+:10010000AE10BC10C310CA10D410F1A2028A00D2E3
+:1001100000D000D100C801C802C829002B0031005E
+:10012000C0005F0060006100570059005A005B008A
+:1001300053005400550056005C005D005E005800FE
+:1001400000006200630029002B002C0001004A001F
+:1001500052004B00C7004D0051004E00C100190174
+:100160001C011D015000C5004F00C60000002A0000
+:100170004C00C200C300C4000100010001000100E6
+:100180000100010001000100C100010001000100A7
+:1001900001000100010001000000005001001A03ED
+:1001A0004100720072006F00770020005000610073
+:1001B000640020003200310000000E034E006F008A
+:1001C00062006F0064007900000004030904090262
+:1001D0003B00020100A0FA09040000010301010034
+:1001E000092111010001223F000705810308000ACF
+:1001F000090401000103000000092111010001228E
+:1002000039000705820310000112011001000000EF
+:1002100008EDFE974001000102000105010906A159
+:1002200001050719E029E7150025019508750181E9
+:1002300002050819012905950575019102950175B9
+:100240000391010507190029771500250195787597
+:10025000018102C005010906A101050719E029E78E
+:100260001500250195087501810295017508810128
+:100270000508190129059505750191029501750378
+:1002800091010507190029FF150025FF950675083E
+:100290008100C00011241FBECFEFDAE0DEBFCDBF6A
+:1002A00004B603FE24C08091C3019091C401A091C3
+:1002B000C501B091C6018730904BA740B04BB9F44F
+:1002C0001092C3011092C4011092C5011092C60190
+:1002D00014BE84B7877F84BF88E10FB6F8948093FB
+:1002E0006000109260000FBEE0E0FFE3099511E0AE
+:1002F000A0E0B1E0E4E9F7E302C005900D92AA3175
+:10030000B107D9F711E0AAE1B1E001C01D92A33C09
+:10031000B107E1F70E94F8070C94C81B0C94000089
+:100320000895089581E008950C9490010C94910132
+:100330000C9492010C9400020895CF93DF93EC018A
+:100340006130F1F018F06230E9F155C08A818823FC
+:1003500009F451C080EE0E94670E8D81807F80314C
+:1003600029F486E00E94670E86E006C0803231F4F0
+:100370008BE10E94670E8BE10E94060F80EE1FC08A
+:100380008A818823C1F08D8182958F7090E00397D8
+:100390001CF482E00E942E0F8D81807F803219F440
+:1003A00081E00E942E0F8D81807F803321F588E5CA
+:1003B0000E94670E20C083E00E94350F88E50E94EE
+:1003C000060F19C08A81882399F08D8182958F70DC
+:1003D00090E002971CF481E00E942E0F8D8182959F
+:1003E0008F7090E002973CF084E00E942E0F03C0D3
+:1003F00085E00E94350F80E090E0DF91CF91089575
+:1004000081FF03C0569A5E9A02C056985E9880FF9C
+:1004100005C03F9A88B18F6788B908953F9847987B
+:10042000089581E008950C94110208950F931F938D
+:10043000CF93DF938C01FC01C081D181CE010E945A
+:100440005E16BE010E94C202EC01B8010E941302B6
+:10045000882309F48DC0F8018281882309F44AC0F9
+:100460008091250181111FC0C431F0E5DF0709F03B
+:1004700051C00E94150281E0809325010E94561808
+:10048000909324018093230110921C0110921E016D
+:1004900010921D011092200110921F011092220152
+:1004A0001092210165C080912301909124010E9446
+:1004B0006218883C910570F480911C01E82FF0E0EF
+:1004C000EE0FFF1FE35EFE4FD183C0838F5F8093EB
+:1004D0001C014EC0C43880E5D80721F0C538D0458E
+:1004E00001F13AC0F8018281882341F010921A018B
+:1004F00082E01EC0C438E0E5DE0759F580911A019C
+:10050000811106C086E20E94670E86E20E94060FF5
+:1005100082E01CC0C438F0E5DF0741F3C538D045A0
+:10052000D9F4F8018281882331F010921B0180E216
+:100530000E942E0F1DC080911B01811106C087E211
+:100540000E94670E87E20E94060F80E20E94350F2C
+:100550000FC0C538D04529F381E080931A018093FC
+:100560001B01C801DF91CF911F910F910C9498014D
+:1005700080E0DF91CF911F910F9108950C94940129
+:100580000C9496019BE0799FF001112496E1899FDC
+:10059000E00DF11D1124E60FF11DEE0FFF1FE65EC9
+:1005A000FE4F859194910895880F991FFC01E6579D
+:1005B000F040859194910895880F991FFC01E65FA2
+:1005C000FE4F8591949108950F931F93CF93DF93DE
+:1005D000EC01811520E3920750F5C11580E2D807A0
+:1005E00008F0C3C0CB3BD10590F4C83AD10508F060
+:1005F0006AC0C53AD10508F05BC0C430D10508F027
+:10060000D0C1219709F0CAC101E010E00AC2CF3F72
+:10061000D10511F008F0C5C1C03FD10508F0A2C056
+:10062000CE01805E9109089708F4BBC1B7C1C13003
+:1006300090E5D90709F4A2C020F5C0318FE4D807AE
+:1006400070F4C11590E4D90708F094C0C11521E3F6
+:10065000D20708F0A3C1DD278E01106CE2C1C115DD
+:10066000D04509F09BC10E9465118FEF94E32CE007
+:10067000815090402040E1F700C000000E94B11876
+:10068000D0C1C11597E5D90758F4C03121E5D2078B
+:1006900008F01CC1C43180E5D80708F475C07EC1DC
+:1006A000CE0190578115904108F078C1DF7073C179
+:1006B000C53AD10509F477C1C63AD10509F076C12A
+:1006C00002E810E4AEC1C83AD10509F472C1C93AD2
+:1006D000D10509F471C1CA3AD10509F470C1CB3A08
+:1006E000D10509F46FC1CC3AD10509F46EC1CD3AF8
+:1006F000D10509F46DC1C03BD10509F46CC1CE3AF6
+:10070000D10509F46BC1CF3AD10509F46AC1C13BE7
+:10071000D10509F469C1C23BD10509F468C1C33BE5
+:10072000D10509F467C1C43BD10509F466C1C53BD5
+:10073000D10509F465C1C63BD10509F464C1C73BC5
+:10074000D10509F463C1C83BD10509F462C1C93BB5
+:10075000D10509F461C1CA3BD10509F460C100E0CB
+:1007600014E45FC18E0110655CC1CE019F700E94D0
+:10077000DC0258C1DF708E01106A53C18091AE0156
+:1007800081608093AE014DC10E94611A811102C047
+:100790000E94471A0E947E1A90E09093C3018093B2
+:1007A000C201C23080E5D80721F48091C201816086
+:1007B00086C0C43090E5D90721F48091C2018260DF
+:1007C0007EC0C63020E5D20721F48091C20184604A
+:1007D00076C0C83080E5D80719F48091C20127C0DF
+:1007E000CA3090E5D90721F48091C201806167C0C9
+:1007F000CC3020E5D20721F48091C20180625FC035
+:10080000CE3080E5D80721F48091C201806457C0C2
+:10081000C03190E5D90721F48091C20180684FC0B2
+:10082000C23120E5D20729F48091C201846088603A
+:1008300046C0C33080E5D80721F48091C2018E7F85
+:100840003EC0C53090E5D90721F48091C2018D7F6B
+:1008500036C0C73020E5D20721F48091C2018B7FDA
+:100860002EC0C93080E5D80719F48091C20126C096
+:10087000CB3090E5D90721F48091C2018F7E1FC053
+:10088000CD3020E5D20721F48091C2018F7D17C0C1
+:10089000CF3080E5D80721F48091C2018F7B0FC053
+:1008A000C13190E5D90721F48091C2018F7707C04B
+:1008B000C331D04531F48091C2018B7F877F809313
+:1008C000C2018091C2010E94821AABC08D2F99276C
+:1008D0008F70992781309105D9F49E0123703327B9
+:1008E00002C0880F991F2A95E2F79C688E0144E0A8
+:1008F000000F111F4A95E1F700271370802B912BF1
+:1009000053E0CC0FDD1F5A95E1F7C076DD272FC0ED
+:100910008230910531F4DC2FCC278E01016F106AF3
+:1009200080C08330910569F4CE018370992701E07E
+:1009300010E002C0000F111F8A95E2F7C8019C6801
+:100940000FC084309105B9F4CE018370992701E07E
+:1009500010E002C0000F111F8A95E2F7C8019A68E3
+:1009600023E0CC0FDD1F2A95E1F7C07ED7708C0104
+:100970000C2B1D2B56C08530910531F4DC2FCC2774
+:100980008E01046F106A4DC0069709F04AC0CF71FE
+:10099000DD27DC2FCC278E01106243C000E010E081
+:1009A00040C08E013EC001E810E43BC003E810E403
+:1009B00038C002EE14E435C009EE14E432C00AEE89
+:1009C00014E42FC005EB14E42CC006EB14E429C09A
+:1009D00007EB14E426C00CEC14E423C00DEC14E483
+:1009E00020C003E815E41DC00AE815E41AC002E9B6
+:1009F00015E417C004E915E414C001E216E411C0BF
+:100A000003E216E40EC004E216E40BC005E216E4AD
+:100A100008C006E216E405C007E216E402C00AE2D6
+:100A200016E4C801DF91CF911F910F9108959BE0CB
+:100A3000799FF001112496E1899FE00DF11D1124A9
+:100A4000E60FF11DEE0FFF1FE65EFE4F85919491BC
+:100A5000803E9105E0F4803C910558F58133910585
+:100A600009F46FC048F48932910509F463C08A32F1
+:100A7000910509F46DC072C089339105E9F082389F
+:100A80009105D1F08533910509F44DC067C0833ECF
+:100A9000910581F138F4803E9105B9F0823E9105CF
+:100AA000D9F05CC0863E910561F1873E9105A1F1C8
+:100AB00055C00E94D40208952091C20120FD02C0B9
+:100AC00021FF4CC080EE90E049C08091C20180FFC0
+:100AD000F9CF89E390E042C08091C20182FF0EC04D
+:100AE0008091C20184FF03C080E090E037C083EEB4
+:100AF00090E034C08091C20182FFF2CF82EE90E09C
+:100B00002DC08091C20183FF0BC08091C20184FD82
+:100B1000EBCF87EE90E022C08091C20183FFF5CF3A
+:100B200086EE90E01BC08091C20185FF07C089E27C
+:100B300090E014C08091C20185FFF9CF85E390E079
+:100B40000DC08091C20186FF07C08AE290E006C016
+:100B50008091C20186FFF9CF81E390E00E94E40218
+:100B600008950C949A01E82FF0E0E15FFE4F808138
+:100B7000E82FEF70F0E082958F7021E030E0A9015E
+:100B800002C0440F551F8A95E2F740A308950F93C2
+:100B90001F93CF93DF9385B7806885BF85B7806843
+:100BA00085BFCAE0D0E001E010E0FE01E15FFE4F4A
+:100BB0008081E82FEF70F0E021A182958F70A8016D
+:100BC00002C0440F551F8A95E2F7CA01822B81A308
+:100BD0008C2F0E94B305219740F75D9A5B9ADF91B5
+:100BE000CF911F910F910C94BE020F931F93CF933F
+:100BF000DF9301E311E0CAE0D5E08C2F0E94B3053A
+:100C00004D9902C082E001C080E04B9B8160F801F9
+:100C100092918F01981719F08083D09300018C2F47
+:100C20000E94B305C15048F78091000187FD1CC0A8
+:100C30008150809300018F3F39F08FE99FE0019749
+:100C4000F1F700C0000010C080E090E0FC01EF5C14
+:100C5000FE4FDC01AA5DBE4F1A962C9122870197A8
+:100C6000853FEFEF9E0791F70E94C00281E0DF9180
+:100C7000CF911F910F91089591E001C0990F8A952E
+:100C8000EAF72AE030E040E050E061E070E0F9018E
+:100C9000EF5CFE4F8081892349F0FB01022E02C0E8
+:100CA000EE0FFF1F0A94E2F74E2B5F2B2150310904
+:100CB00070F7CA0108950895CF9381E00E943C0621
+:100CC0000E94D917C82F80E00E943C060E94D917C5
+:100CD0008C0FCF91089580914C0108950895CF9382
+:100CE000DF9300D01F92CDB7DEB72091B901243039
+:100CF00021F523E029839B838A8381E08093E900A7
+:100D00008FEF9091E800815095FD06C095ED9A9582
+:100D1000F1F700008111F5CF8091E80085FF0DC04B
+:100D200040E050E063E070E0CE0101960E94A1082F
+:100D30008091E8008E778093E8000F900F900F90DD
+:100D4000DF91CF910895CF93DF9300D01F92CDB75D
+:100D5000DEB72091B901243021F522E029839B835D
+:100D60008A8381E08093E9008FEF9091E8008150C1
+:100D700095FD06C095ED9A95F1F700008111F5CF2C
+:100D80008091E80085FF0DC040E050E063E070E036
+:100D9000CE0101960E94A1088091E8008E77809391
+:100DA000E8000F900F900F90DF91CF910895CF93AF
+:100DB000DF932091B901243009F048C0EC01809103
+:100DC0000B018823E1F080910C018823C1F082E0BF
+:100DD0008093E9008FEF9091E800815095FD06C067
+:100DE00095E19A95F1F700008111F5CF8091E80027
+:100DF00085FF2CC040E050E060E170E017C081E06A
+:100E00008093E9008FEF9091E800815095FD06C036
+:100E100095ED9A95F1F700008111F5CF8091E800EA
+:100E200085FF14C040E050E068E070E0CE010E9411
+:100E3000A1088091E8008E778093E80080E1FE01B0
+:100E4000ACE3B1E001900D928A95E1F7DF91CF918B
+:100E500008958091B801811109C00E94360A0E944C
+:100E6000930A8091E20084608093E20008951092DA
+:100E7000B8010895089508950C941E1842E061EC9D
+:100E800081E00E94B00942E161EC82E00C94B0097B
+:100E90008091BB01833009F453C030F4813071F08C
+:100EA000823009F48CC008958A3009F478C08B3000
+:100EB00009F45EC0893009F09AC020C08091BA015F
+:100EC000813A09F094C08091E800877F8093E80020
+:100ED0008091BE019091BF01892B21F460E18CE3E8
+:100EE00091E003C060E080E090E070E00E94EC08D8
+:100EF0008091E8008B778093E80008958091BA0193
+:100F0000813209F074C08091BE019091BF010297B7
+:100F100008F06DC08091E800877F8093E8008091A1
+:100F2000E80082FD05C08091B9018111F8CF5FC052
+:100F30008091F10080934C018091E8008B7753C041
+:100F40008091BA01813A09F052C08091BE0190911E
+:100F5000BF01892B09F04BC08091E800877F809307
+:100F6000E8008091E80080FFFCCF80910B0136C043
+:100F70008091BA018132D9F58091BE019091BF0173
+:100F8000892BA9F58091E800877F8093E8000E9473
+:100F9000E5098091BC0180930B010C94651180914F
+:100FA000BA01813221F58091E800877F8093E800C3
+:100FB0000E94E5098091BD0180934D0108958091C3
+:100FC000BA01813AA1F48091E800877F8093E8001C
+:100FD0008091E80080FFFCCF80914D018093F1006B
+:100FE0008091E8008E778093E8000C94E5090895DD
+:100FF00084B7877F84BF88E10FB6F8948093600040
+:10100000109260000FBE90E080E80FB6F8948093D5
+:101010006100909361000FBE0E947D0D0E94360A10
+:101020000E94930A8091E20084608093E2007894A9
+:101030000E94190D0E947F0D81E091E00E94340D05
+:101040008091B901853069F40E94E5178091B7015C
+:101050008823B1F30E941018882391F30E948B0813
+:10106000EFCF0E94890DECCF292F33272330310594
+:10107000C9F064F42130310581F02230310509F0E6
+:1010800042C08BE390E02EEC31E041C021323105CB
+:10109000F1F02232310549F136C082E190E029E0D9
+:1010A00032E035C099278130910541F082309105B9
+:1010B00041F0892B41F5EAECF1E005C0EAEBF1E003
+:1010C00002C0EEE9F1E0849190E09F0120C0662328
+:1010D00039F06130C1F489E090E029EF31E017C0C8
+:1010E00089E090E020EE31E012C0662339F06130F3
+:1010F00051F489E390E02BE132E009C08FE390E006
+:1011000024E532E004C080E090E020E030E0FA0125
+:1011100031832083089580E189BD82E189BD09B4CE
+:1011200000FEFDCF8091D8008F7D8093D800809104
+:10113000E00082608093E0008091E00081FDFCCFC0
+:101140000895CF92DF92EF92FF920F931F93CF9368
+:10115000DF93EC018B016A010E94040A811133C004
+:10116000C114D10439F0F60180819181081B190B5B
+:10117000C80FD91FE12CF12C0115110519F180912F
+:10118000E80085FD16C08091E8008E778093E80026
+:10119000C114D10449F0F60180819181E80EF91E55
+:1011A000F182E08285E00FC00E94040A882321F3C7
+:1011B0000AC089918093F10001501109FFEFEF1AE5
+:1011C000FF0ADACF80E0DF91CF911F910F91FF905E
+:1011D000EF90DF90CF9008952091C0013091C10130
+:1011E0002617370748F06115710539F42091E8009A
+:1011F0002E772093E80001C0B90140E06115710528
+:10120000A9F12091B901222309F443C0253009F442
+:1012100042C02091E80023FD40C02091E80022FD5B
+:1012200032C02091E80020FFE9CF4091F3002091E7
+:10123000F20030E0342BFC01CF016115710559F04B
+:101240002830310540F481918093F100615071099B
+:101250002F5F3F4FF1CF41E02830310509F040E0EA
+:101260002091E8002E772093E800C8CF4111C9CF24
+:101270000AC08091B901882361F0853061F08091C6
+:10128000E80083FD0AC08091E80082FFF2CF80E091
+:10129000089582E0089583E0089581E00895209103
+:1012A000C0013091C1012617370748F0611571055B
+:1012B00039F42091E8002E772093E80001C0B901AD
+:1012C000FC0120E06115710591F18091B90188233D
+:1012D00009F440C0853009F43FC08091E80083FDE7
+:1012E0003DC08091E80082FD2FC08091E80080FF22
+:1012F000E9CF2091F3008091F20090E0922B6115EC
+:10130000710559F08830910540F424912093F10043
+:101310003196615071090196F2CF21E0089709F0EA
+:1013200020E08091E8008E778093E800CBCF2111F8
+:10133000CCCF0AC08091B901882361F0853061F07B
+:101340008091E80083FD0AC08091E80082FFF2CF1F
+:1013500080E0089582E0089583E0089581E0089593
+:10136000982F973058F59093E900981739F07091BD
+:10137000EC002091ED005091F00003C0242F762F57
+:1013800050E021FF19C03091EB003E7F3093EB001D
+:101390003091ED003D7F3093ED003091EB003160F6
+:1013A0003093EB007093EC002093ED005093F0002D
+:1013B0002091EE0027FF07C09F5FD3CF8F708093EF
+:1013C000E90081E0089580E008958091BA0187FFE7
+:1013D00011C08091E80082FD05C08091B9018111A2
+:1013E000F8CF11C08091E8008B770BC08091B901D4
+:1013F000882349F08091E80080FFF8CF8091E800D1
+:101400008E778093E80008952091E4003091E50004
+:1014100095E64091EC00842F817040FF22C08091BE
+:10142000E80080FD1CC08091B901882391F08530CF
+:1014300091F08091EB0085FD10C04091E400509147
+:10144000E5004217530729F39A01915011F784E000
+:10145000089582E0089583E0089581E0089580E092
+:1014600008954091E80042FFDECF08950E94A40A4B
+:101470000E94AC0AE0EEF0E0808181608083E8EDBC
+:10148000F0E080818F77808319BCA7EDB0E08C916C
+:101490008E7F8C9380818F7E80831092B801089517
+:1014A0000F931F93CF93DF930E94A40A0E94AC0A6C
+:1014B000C8EDD0E088818F778883888180688883B1
+:1014C00088818F7D888319BC1092B9011092B50173
+:1014D0001092B7011092B60100EE10E0F801808181
+:1014E0008B7F808388818160888342E060E080E038
+:1014F0000E94B009E1EEF0E080818E7F8083E2EE11
+:10150000F0E0808181608083808188608083F80141
+:1015100080818E7F8083888180618883DF91CF91F5
+:101520001F910F910895E8EDF0E080818F7E808318
+:10153000E7EDF0E080818160808384E082BF81E01C
+:101540008093B8010C94500AE8EDF0E080818E7F22
+:1015500080831092E20008951092DA001092E10068
+:1015600008951F920F920FB60F9211242F933F935D
+:101570004F935F936F937F938F939F93AF93BF939B
+:10158000EF93FF938091E10082FF0BC08091E20016
+:1015900082FF07C08091E1008B7F8093E1000E9471
+:1015A000180D8091DA0080FF1FC08091D80080FF65
+:1015B0001BC08091DA008E7F8093DA008091D90081
+:1015C00080FF0DC080E189BD82E189BD09B400FEC4
+:1015D000FDCF81E08093B9010E94290705C019BCA5
+:1015E0001092B9010E9437078091E10080FF19C075
+:1015F0008091E20080FF15C08091E2008E7F809391
+:10160000E2008091E20080618093E2008091D80046
+:1016100080628093D80019BC85E08093B9010E9454
+:101620003B078091E10084FF30C08091E20084FF9D
+:101630002CC080E189BD82E189BD09B400FEFDCFE7
+:101640008091D8008F7D8093D8008091E1008F7EBB
+:101650008093E1008091E2008F7E8093E200809190
+:10166000E20081608093E2008091B501882311F04F
+:1016700084E007C08091E30087FD02C081E001C0E3
+:1016800083E08093B9010E943C078091E10083FFD1
+:1016900029C08091E20083FF25C08091E100877F0F
+:1016A0008093E10082E08093B9011092B5018091AE
+:1016B000E1008E7F8093E1008091E2008E7F809335
+:1016C000E2008091E20080618093E20042E060E00D
+:1016D00080E00E94B0098091F00088608093F00063
+:1016E0000E943A07FF91EF91BF91AF919F918F9127
+:1016F0007F916F915F914F913F912F910F900FBE0E
+:101700000F901F9018951F920F920FB60F921124F1
+:101710002F933F934F935F936F937F938F939F93F9
+:10172000AF93BF93CF93DF93EF93FF93C091E90003
+:10173000CF708091EC00D82FD17080FDD0E810924E
+:10174000E9008091F000877F8093F00078940E94F8
+:10175000C70B1092E9008091F00088608093F00040
+:10176000CD2BCF70C093E900FF91EF91DF91CF9126
+:10177000BF91AF919F918F917F916F915F914F91A9
+:101780003F912F910F900FBE0F901F9018951F93B0
+:10179000CF93DF93CDB7DEB7AA970FB6F894DEBF2D
+:1017A0000FBECDBFEAEBF1E088E08E0F9091F10023
+:1017B00091938E13FBCF0E9448078091E80083FF2E
+:1017C0001FC18091BA019091BB01492F50E04A306E
+:1017D000510508F015C1FA01EA5AFF4F0C948C1B11
+:1017E000803881F0823809F00BC18091BE018F7082
+:1017F0008093E9008091EB0085FB882780F91092A7
+:10180000E90006C08091B6019091B7019111826004
+:101810009091E800977F9093E8008093F1001092F8
+:10182000F100C8C0282F2D7F09F0EAC0882319F0E5
+:10183000823061F0E5C08091BC01813009F0E0C0E8
+:10184000933009F080E08093B7012BC08091BC01F8
+:10185000811127C08091BE018F7009F4D1C080939F
+:10186000E9002091EB0020FF1CC0933021F480910F
+:10187000EB00806214C09091EB0090619093EB00BC
+:1018800021E030E0A90102C0440F551F8A95E2F71C
+:101890004093EA001092EA008091EB008860809308
+:1018A000EB001092E9008091E800877F86C08111EB
+:1018B000A7C01091BC011F778091E3008078812B35
+:1018C0008093E3008091E800877F8093E8000E9486
+:1018D000E5098091E80080FFFCCF8091E3008068FB
+:1018E0008093E300111102C082E001C083E0809385
+:1018F000B90186C08058823008F082C08091BC0156
+:101900009091BD018C3D53E0950779F583E08A8382
+:101910008AE289834FB7F894DE01139620E03EE017
+:1019200051E2E32FF0E050935700E49120FF03C011
+:10193000E295EF703F5FEF708E2F90E0EA3010F08D
+:10194000C79601C0C0968D939D932F5F243149F7B0
+:101950004FBF8091E800877F8093E8006AE270E0E3
+:10196000CE0101960E94EC0814C0AE014F5F5F4F9C
+:101970006091BE010E943408BC01009709F440C088
+:101980009091E800977F9093E80089819A810E9466
+:101990004F098091E8008B778093E80031C0803850
+:1019A00079F58091E800877F8093E8008091B50108
+:1019B0008093F1008091E8008E778093E8000E9488
+:1019C000E5091EC081111CC09091BC019230C0F489
+:1019D0008091E800877F8093E8009093B5010E9492
+:1019E000E5098091B501811106C08091E30087FD72
+:1019F00002C081E001C084E08093B9010E943E07EB
+:101A00008091E80083FF0AC08091E800877F80937F
+:101A1000E8008091EB0080628093EB00AA960FB6FD
+:101A2000F894DEBF0FBECDBFDF91CF911F91089517
+:101A30000895CF938091B9018823A1F0C091E90066
+:101A4000CF709091EC00892F817090FD80E8C82BB9
+:101A50001092E9008091E80083FD0E94C70BCF70CF
+:101A6000C093E900CF910895909353018093520160
+:101A70000895E0915201F0915301309721F00190C7
+:101A8000F081E02D099480E00895E0915201F091F9
+:101A90005301309721F00280F381E02D09940895DD
+:101AA00020915001309151018217930771F090936A
+:101AB000510180935001E0915201F0915301309710
+:101AC00021F00680F781E02D0994089520914E01C0
+:101AD00030914F018217930771F090934F018093DB
+:101AE0004E01E0915201F0915301309721F00084B2
+:101AF000F185E02D0994089508950C947C0D0E94C1
+:101B00004D180E94C7050E941A1981E080930C01AC
+:101B100008955F926F927F928F929F92AF92BF9241
+:101B2000CF92DF92EF92FF920F931F93CF93DF93A9
+:101B300000D000D01F92CDB7DEB70E94F50599E521
+:101B4000C92E91E0D92E01E010E0AA24A394B12C73
+:101B5000502E802F0E943C064C01F601729062903C
+:101B60006F01682679266114710431F4012B09F4A0
+:101B70003BC000E010E0ECCF8091AE0181FD0E94FF
+:101B80005B062AE030E07501022E02C0EE0CFF1C5D
+:101B90000A94E2F7C70186219721892B09F129834D
+:101BA0005A828E209F2091E0892809F490E09B833F
+:101BB0000E9456188160782F9D838C8349815A81B9
+:101BC0006B818D810E94390E000F111FF801EB5AB5
+:101BD000FE4F80819181E826F926F182E08214C0CF
+:101BE0002150310980F6C2CF8FEF89838A831B820F
+:101BF0000E9456188160782F9D838C8349815A8179
+:101C00006B818D810E94390E109154010E94390D13
+:101C10001817D1F00E94390D809354010F900F9046
+:101C20000F900F900F90DF91CF911F910F91FF9028
+:101C3000EF90DF90CF90BF90AF909F908F907F906C
+:101C40006F905F900C94B1050F900F900F900F90D4
+:101C50000F90DF91CF911F910F91FF90EF90DF9048
+:101C6000CF90BF90AF909F908F907F906F905F903C
+:101C70000895CF93DF93CDB7DEB72B970FB6F894C7
+:101C8000DEBF0FBECDBF4F83588769877A878B87AA
+:101C9000DE01119686E0FD0111928A95E9F785E053
+:101CA000FE01379601900D928A95E1F749815A819C
+:101CB0006B817C818D819E810E9403142B960FB6CF
+:101CC000F894DEBF0FBECDBFDF91CF910895CF93C3
+:101CD000882309F499C0C82F8CEF8C0F813A48F4FF
+:101CE0008C2F0E944A1B81118FC08C2F0E94DD1601
+:101CF0000CC080E28C0F883058F4C77081E001C0BE
+:101D0000880FCA95EAF70E946317CF910C94AA171F
+:101D10008BE58C0F833078F4C53A29F0C63A31F060
+:101D200083E890E005C081E890E002C082E890E09E
+:101D3000CF910C94500D88E58C0F833108F064C06E
+:101D4000C83A39F1C93A41F1CA3A49F1CB3A51F1AD
+:101D5000CC3A59F1CD3A61F1C03B69F1CE3A71F11B
+:101D6000CF3A79F1C13B81F1C23B89F1C33B91F19B
+:101D7000C43B99F1C53BA1F1C63BA9F1C73BB1F109
+:101D8000C83BB9F1C93BC1F1CA3BC9F180E090E061
+:101D900038C082EE90E035C089EE90E032C08AEE25
+:101DA00090E02FC085EB90E02CC086EB90E029C03E
+:101DB00087EB90E026C08CEC90E023C08DEC90E0A7
+:101DC00020C083E891E01DC08AE891E01AC082E952
+:101DD00091E017C084E991E014C081E292E011C063
+:101DE00083E292E00EC084E292E00BC085E292E0D2
+:101DF00008C086E292E005C087E292E002C08AE273
+:101E000092E0CF910C94660DCF910895882329F12B
+:101E10009CEF980F913A18F40E941F170DC090E2A2
+:101E2000980F983058F4877091E001C0990F8A9507
+:101E3000EAF7892F0E9469170C94AA179BE5980F5F
+:101E4000933020F480E090E00C94500D885A833158
+:101E500020F480E090E00C94660D0895882321F032
+:101E60000E9463170C94AA170895882321F00E94FA
+:101E700069170C94AA1708957F928F929F92AF9240
+:101E8000BF92CF92DF92EF92FF920F931F93CF9367
+:101E9000DF931F92CDB7DEB77C01C62E772EFC01F3
+:101EA000158112951F70028101110E9480170E94F6
+:101EB000D616882379F0002369F080E28C0D8830F3
+:101EC00048F082E00E94BF160E94D61691E0D82EFC
+:101ED000D92601C0D12CE72DE295EF70F0E0E05A51
+:101EE000FF4F0C948C1B872D807F172D1F7088232C
+:101EF00011F01295107F002389F0112309F46DC1B0
+:101F000080E28C0D883020F4812F0E94631703C07B
+:101F1000812F0E9473170E94AA175FC18C2D0E9407
+:101F2000060F112309F472C180E28C0D883020F471
+:101F3000812F0E94691703C0812F0E9479170E9488
+:101F4000AA1764C1872D807F972D9F70803211F46E
+:101F5000892F03C0892F8295807FCC2021F0F1E06A
+:101F6000CF16A1F01DC0002339F0112319F1113053
+:101F700009F50E9493174AC1112319F0113009F491
+:101F800045C189830E9496178981E5C0002321F00D
+:101F9000163008F03BC10EC0153008F037C1DBC069
+:101FA000002359F0112331F0F701958190FF15C1FD
+:101FB0009F7095830E942E0F29C1112309F4CBC075
+:101FC00012C1872D837009F052C001111FC18C2DE1
+:101FD000829586958770880F880F9C2D9F70892E1B
+:101FE000912CA12CB12C082E04C0880C991CAA1C81
+:101FF000BB1C0A94D2F7C4FE14C00FE010E020E02E
+:1020000030E0B901A80104C0440F551F661F771FB7
+:102010008A95D2F7CB01BA0160957095809590951D
+:1020200003C060E070E0CB01272D26952695237034
+:1020300030E02230310569F02330310589F068291C
+:1020400079298A299B292130310571F00E944B158D
+:10205000DDC0682979298A299B290E946715D6C085
+:102060000E944B15C501B4010E942F15CFC000235B
+:1020700019F0872D817001C08695882309F4C6C0A8
+:102080008C2D829586958770880F880F9C2D9F7068
+:10209000892E912CA12CB12C082E04C0880C991CDF
+:1020A000AA1CBB1C0A94D2F7C4FE14C00FE010E0B7
+:1020B00020E030E0B901A80104C0440F551F661F9D
+:1020C000771F8A95D2F7CB01BA01609570958095FC
+:1020D000909503C060E070E0CB01272D26952695F2
+:1020E0002370422F50E04230510569F043305105D2
+:1020F00089F0682979298A299B294130510571F095
+:102100000E94251683C0682979298A299B290E9463
+:1021100041167CC00E942516C501B4010E94091613
+:1021200075C08C2D90E0FC01E05EF109E531F10510
+:1021300008F04FC0E059FF4F0C948C1B1C2D1F70F2
+:10214000872D8F71002321F00E94A215812F32CF9D
+:102150000E94C315812F0E94350F58C0002341F003
+:10216000153008F053C0872D8F710E94E8154EC0BE
+:10217000163008F04BC0F7CF002339F0872D8F7150
+:102180000E94A21543C00023C9F3872D8F710E94BE
+:10219000C3153CC0002329F0872D8F710E948D1537
+:1021A00035C00E94831532C0002351F0172D1F71D6
+:1021B000812F0E94A21563E0812F0E94B61626C0CF
+:1021C00081E00E94BF16123008F182E00E94BF1623
+:1021D0001DC0002331F0112389F28C2D0E94670E5F
+:1021E00015C0112391F28C2D0E94060F0FC0472DB0
+:1021F0004F706C2DC7010E949D010E94A71406C05C
+:10220000472D4F706C2DC7010E949C01DD20F9F015
+:102210000E94B21680FD1BC0F70112820E94AC160C
+:102220000E94A215C7010E9436110E94AC160F90A1
+:10223000DF91CF911F910F91FF90EF90DF90CF90A2
+:10224000BF90AF909F908F907F900C94C3150F908C
+:10225000DF91CF911F910F91FF90EF90DF90CF9082
+:10226000BF90AF909F908F907F9008950F931F9392
+:10227000CF93DF93EC01888199812B813C81232BC3
+:10228000B9F09F3F11F48F3F99F0CE010E941602E2
+:10229000882371F0688179818A810E94A8168C0157
+:1022A0000E945D160E942415B801CE010E943C0FC9
+:1022B000DF91CF911F910F9108950E9480170E9486
+:1022C00090170E9455170C94AA170E9470170C942F
+:1022D0005D110E949D16292F22952F7030E02C3021
+:1022E00031054CF42A3031056CF42250310922308A
+:1022F0003105A8F407C02C30310569F02F303105C5
+:1023000051F00DC0803F69F018F4803E40F409C0E0
+:10231000843F29F406C093FB882780F9089580E064
+:10232000089581E00895CF93DF9300D000D01F92ED
+:10233000CDB7DEB70F900F900F900F900F90DF91F9
+:10234000CF910895CF93DF9300D000D000D0CDB7C8
+:10235000DEB726960FB6F894DEBF0FBECDBFDF9175
+:10236000CF9108951F93CF93DF93C091590116E049
+:1023700080915A01C81799F0D0E01C9FF0011D9F71
+:10238000F00D1124E55AFE4F408151816281738125
+:10239000848195810E94A2112196C770E9CFDF91B7
+:1023A000CF911F91089540918B0150918C016091C4
+:1023B0008D0170918E0180918F01909190010C940C
+:1023C000A2118091900182958F7009F054C0809184
+:1023D0008D01882309F44FC080915901A0915A01C1
+:1023E00060918B0170918C0140918E0150918F0111
+:1023F000B6E08A1709F43FC090E041155105C1F1DC
+:102400007F3F11F46F3FA1F1B89FF001B99FF00D2C
+:102410001124E55AFE4F218172132AC020816213D4
+:1024200027C02281211124C023813481241735073C
+:1024300010F421503109241B350B283C3105C0F420
+:10244000209190012F7020612093900126E0289F19
+:10245000F001299FF00D1124E05AFE4F80818F700A
+:10246000806180838BE891E00E9436110C94B21158
+:1024700001968770BECF0895CF92DF92EF92FF92C0
+:102480000F931F93CF93DF93CDB7DEB762970FB64D
+:10249000F894DEBF0FBECDBF8C0185E0F801DE01F0
+:1024A0001D9601900D928A95E1F7D8014C911196F5
+:1024B0005C91119712966C9112971396CD90DC90C7
+:1024C000149730918B0170918C0180918E019091C5
+:1024D0008F01009709F46BC17F3F19F43F3F09F466
+:1024E00066C1E0908D01EE2009F4C0C020919001FA
+:1024F000C816D90628F0F601E81BF90BCF0104C075
+:10250000809590958C0D9D1DFF24F394883C91053A
+:1025100078F0F12C207F09F0C6C07C2DD98AC88ABA
+:1025200089890E9493118BE891E00E943611B1C015
+:10253000822F807F09F046C0751314C0341312C077
+:10254000611110C02F702061209390010E94D3115F
+:102550008BE891E00E94361180919001D801159688
+:102560008C932EC0CD2819F15F3F11F44F3FF9F045
+:10257000F62E61111CC08091590120915A0136E05C
+:10258000821709F45AC090E0389FF001399FF00D8E
+:102590001124E55AFE4F7181571306C0708147130D
+:1025A00003C07281711103C001968770E9CFF62EC6
+:1025B000662309F418C18091900181608093900195
+:1025C000F12C11C1751308C0341306C0611104C089
+:1025D00080919001D801C3C04D875E878D859E850F
+:1025E0006A8B0E9469116A898823E1F16623D1F11F
+:1025F00020919001822F82958F7090E0029774F065
+:1026000080918B0190918C0198878F831986DB864E
+:10261000CA862C87CE0107960E94361186E0F80103
+:10262000ABE8B1E001900D928A95E1F70E94E111CB
+:102630000E94D311FF24F394D6C04D875E878D8509
+:102640009E850E949D16292F22952F7030E0223002
+:1026500031050CF0BCC09F7009F0B6C0805E8830B8
+:1026600008F4C1C0C8010E943611E4CFC816D906CB
+:1026700008F453C0F601E81BF90BCF01883C910523
+:1026800008F450C0F12C7C2DD98AC88A89890E940F
+:102690009311EBE8F1E086E0DF011D928A95E9F7FE
+:1026A0000E94D311A0C0751314C0341312C061115D
+:1026B00010C080919001F8018583C8010E943611F5
+:1026C00086E0EBE8F1E0DF011D928A95E9F7FE2C48
+:1026D0008AC04D875E878D859E856A8B0E946911B1
+:1026E0006A89882309F4BECF662309F4BBCF209101
+:1026F0009001822F82958F7090E002970CF48ECF1C
+:1027000080918B0190918C019A8389831B82DD8259
+:10271000CC822E83CE0101967FCF809590958C0D33
+:102720009D1DACCFF62E662309F49CCF75132EC0E9
+:1027300034132CC02091900120FD1FC0822F829560
+:102740008F70D9F0D80115962C9315978F3049F0DA
+:102750008F5F982F9295907F822F8F70892B15967F
+:102760008C93C8010E94361186E0F801ABE8B1E015
+:1027700001900D928A95E1F793CF86E0F801ABE8DE
+:10278000B1E001900D928A95E1F72DC04D875E87EB
+:102790008D859E850E946911811140CF80919001A5
+:1027A000816080939001C8010E9436111CC066238D
+:1027B00009F458CF4D875E878D859E850E946911EB
+:1027C000882309F44FCF2ACF811148CF0CC0243081
+:1027D00031050CF047CF9F7009F440CFF801958187
+:1027E000907F09F03BCF8F2D62960FB6F894DEBF35
+:1027F0000FBECDBFDF91CF911F910F91FF90EF9052
+:10280000DF90CF9008951F93CF93DF93CDB7DEB7BE
+:102810002C970FB6F894DEBF0FBECDBF4F835887FD
+:1028200069877A878B879C87CE0107960E943C1226
+:10283000882369F08F8198852A853B85232BF1F1C8
+:102840009F3F09F063C08F3F09F060C037C086E04A
+:10285000FE013796DE01119601900D928A95E1F7FF
+:102860006F817885EA85FB85309741F17F3F11F4D0
+:102870006F3F21F120915A0130E0C9010196877024
+:1028800099274091590150E08417950709F447C0F2
+:1028900069837A83FD83EC8396E0929FD001939FB6
+:1028A000B00D1124A55ABE4FFE01319601900D9234
+:1028B0009A95E1F780935A010E94B21116E0809137
+:1028C000590190915A018917C1F1189FC001112433
+:1028D000855A9E4F0E943C12882379F1E09159015C
+:1028E0001E9FF0011124E55AFE4F40815181628103
+:1028F0007381848195810E94A2118091590190E099
+:1029000001968770992780935901D9CF4F815885B7
+:1029100069857A858B859C850E94A211CFCF0E9404
+:10292000651110925A0110925901EBE8F1E086E02E
+:10293000DF011D928A95E9F7C1CF2C960FB6F89466
+:10294000DEBF0FBECDBFDF91CF911F910895EF92F3
+:10295000FF920F931F93CF93DF938C01009709F49D
+:102960006CC0F12CEE24E394E8012196F8018491E7
+:10297000843740F4843008F051C0813081F08230D7
+:1029800019F15BC0853709F444C0A8F19CE7980FA2
+:10299000903708F052C08F770E94060F41C00E5F3B
+:1029A0001F4FFE01C49180E28C0F883048F4C7703D
+:1029B0008E2D01C0880FCA95EAF70E94831714C0B4
+:1029C0008C2F0E94670E2DC00E5F1F4FFE01C49119
+:1029D00080E28C0F883058F4C7708E2D01C0880FAC
+:1029E000CA95EAF70E9489170E94AA171AC08C2F6D
+:1029F0000E94060F16C00E5F1F4FFE01C491CC232C
+:102A000081F08FE99FE00197F1F700C00000C1500D
+:102A1000F6CF0E5F1F4FFE01F49003C00E94670EB9
+:102A20008E018F2D882309F49FCFEFE9FFE03197C6
+:102A3000F1F700C000008150F5CFDF91CF911F91D9
+:102A40000F91FF90EF900895089560939501709312
+:102A5000960180939701909398010C945D110F93C8
+:102A60001F9300919501109196012091970130914B
+:102A70009801DC01CB01802B912BA22BB32B8093EF
+:102A8000950190939601A0939701B09398011F919F
+:102A90000F910C945D110F931F930091950110916C
+:102AA00096012091970130919801DC01CB018023A0
+:102AB0009123A223B3238093950190939601A09331
+:102AC0009701B09398011F910F910C945D110F9392
+:102AD0001F930091950110919601209197013091DB
+:102AE0009801DC01CB0180279127A227B32780938F
+:102AF000950190939601A0939701B09398011F912F
+:102B00000F910C945D11109291011092920110920C
+:102B10009301109294010C945D1141E050E060E04B
+:102B200070E004C0440F551F661F771F8A95D2F7C7
+:102B3000409391015093920160939301709394019B
+:102B40000C945D1141E050E060E070E004C0440F7F
+:102B5000551F661F771F8A95D2F78091910190913A
+:102B60009201A0919301B0919401482B592B6A2BAB
+:102B70007B2B40939101509392016093930170934A
+:102B800094010C945D1141E050E060E070E004C0FD
+:102B9000440F551F661F771F8A95D2F740955095B1
+:102BA000609570958091910190919201A09193010F
+:102BB000B0919401482359236A237B2340939101C8
+:102BC0005093920160939301709394010C945D1162
+:102BD00041E050E060E070E004C0440F551F661F04
+:102BE000771F8A95D2F78091910190919201A091DF
+:102BF0009301B0919401482759276A277B27409376
+:102C000091015093920160939301709394010C94FD
+:102C10005D110F931F9300919101109192012091EA
+:102C2000930130919401DC01CB01802B912BA22BDD
+:102C3000B32B8093910190939201A0939301B09351
+:102C400094011F910F910C945D110F931F930091AC
+:102C50009101109192012091930130919401DC0136
+:102C6000CB0180239123A223B323809391019093DE
+:102C70009201A0939301B09394011F910F910C9432
+:102C80005D110F931F93009191011091920120917A
+:102C9000930130919401DC01CB0180279127A22779
+:102CA000B3278093910190939201A0939301B093E5
+:102CB00094011F910F910C945D110895CF92DF92B2
+:102CC000EF92FF920F931F93CF93DF938C01C090ED
+:102CD0009501D0909601E0909701F0909801809135
+:102CE000910190919201A0919301B0919401C82A11
+:102CF000D92AEA2AFB2ACFE1D0E0D701C6010C2E5F
+:102D000004C0B695A795979587950A94D2F780FF4A
+:102D100006C0B8018C2F0E941705019721F4219756
+:102D200060F780E001C08C2FDF91CF911F910F9150
+:102D3000FF90EF90DF90CF900895CF93DF93EC0159
+:102D40000E945E16BE010E941705DF91CF91089583
+:102D5000CB010E949D1608958091990185958595D6
+:102D600085950895809199018770089598E0899FCD
+:102D700090011124262B209399010C94A2152091E7
+:102D800099018095822380939901982F977069F417
+:102D900030E0482F552747FD50952417350729F077
+:102DA0008595859585950C94C31508959091990105
+:102DB000977081E009F480E0089590910B019923C8
+:102DC00021F090910C01911109C020910D013091D9
+:102DD0000E01F90132969FEF40E01FC0982F9695A3
+:102DE000969596959F3050F5E0910D01F0910E016A
+:102DF000E90FF11D877021E030E0A90102C0440F06
+:102E0000551F8A95E2F7CA019181892B8183089524
+:102E10009F3F39F04F5F4E3041F051915813F8CF3A
+:102E20000DC05111F7CF942FF5CF9F3F39F0F90125
+:102E3000E90FF11D97FDFA95828308950895909109
+:102E40000B01992321F090910C01911109C020915F
+:102E50000D0130910E01F9013296205F3F4F1FC0E6
+:102E6000982F9695969596959F30F0F4E0910D01E8
+:102E7000F0910E01E90FF11D877021E030E0A9010A
+:102E800002C0440F551F8A95E2F7CA0180959181CF
+:102E90008923818308953196E217F30729F0908101
+:102EA0009813F9CF1082F7CF089581E090E0E09178
+:102EB0000D01F0910E01E80FF91F1082019680318B
+:102EC0009105A9F708959091AD01892B8093AD01EB
+:102ED000089580959091AD0189238093AD01089567
+:102EE0001092AD0108959091AC01892B8093AC01B3
+:102EF000089580959091AC0189238093AC01089549
+:102F00001092AC0108959091AB01892B8093AB0195
+:102F1000089580959091AB0189238093AB0108952A
+:102F20001092AB01089580939A01089510929A012E
+:102F3000089580910D0190910E01FC0131969C0144
+:102F4000205F3F4F80E0919191118F5FE217F3076F
+:102F5000D1F70895E0910D01F0910E018091AD013E
+:102F60008083E0910D01F0910E0190818091AC0180
+:102F7000892B8083E0910D01F0910E019081809169
+:102F8000AB01892B808380919A01882361F0E091C5
+:102F90000D01F0910E019081892B80830E94991779
+:102FA000811110929A0180910D0190910E010C9463
+:102FB000450D20E0009739F0AC01415051098423C0
+:102FC00095232F5FF7CF822F08958091B901843028
+:102FD00021F11092AF0120E488E190E00FB6F8945F
+:102FE000A895809360000FBE2093600080E00E944F
+:102FF000B10583B7817F846083BF83B7816083BF5E
+:103000007894889583B78E7F83BF88E10FB6F89454
+:1030100080936000109260000FBE08950895089597
+:103020000E940E180E94F5050E940F180E945C066F
+:1030300091E0811101C090E0892F08950E946511EF
+:103040000E94390D0C94B1051F920F920FB60F928A
+:1030500011248F939F93AF93BF938091AF01811100
+:1030600013C08091B0019091B101A091B201B091D3
+:10307000B3014196A11DB11D8093B0019093B101A0
+:10308000A093B201B093B301BF91AF919F918F9183
+:103090000F900FBE0F901F90189582E084BD93E0B3
+:1030A00095BD9AEF97BD80936E0008952FB7F89461
+:1030B0008091B0019091B101A091B201B091B301A2
+:1030C0002FBF0895CF92DF92EF92FF920F931F933D
+:1030D0002FB7F8944091B0015091B1016091B201C5
+:1030E0007091B3012FBF6A017B01EE24FF248C0194
+:1030F00020E030E0C016D106E206F30610F441509D
+:1031000051099A01281B390BC9011F910F91FF909A
+:10311000EF90DF90CF9008951F920F920FB60F920D
+:1031200011248F939F93AF93BF938091B00190919F
+:10313000B101A091B201B091B3010196A11DB11DE1
+:103140008093B0019093B101A093B201B093B30109
+:10315000BF91AF919F918F910F900FBE0F901F90D5
+:1031600018950E94360AF8942FEF87EA91E62150CD
+:1031700080409040E1F700C0000087E090EBDC0168
+:103180008093C3019093C401A093C501B093C6017D
+:103190009CE088E10FB6F894A895809360000FBE7C
+:1031A00090936000FFCFBF92CF92DF92EF92FF9299
+:1031B0000F931F93CF93DF93B82E11E0EE24E39487
+:1031C000F12C012F812F0E943C066C01CAE0D0E057
+:1031D00097010C2E02C0220F331F0A94E2F72C2114
+:1031E0003D21232B49F06C2F712F80E00E94C202F9
+:1031F000B81202C081E006C0219750F710E001111B
+:10320000E0CF80E0DF91CF911F910F91FF90EF9081
+:10321000DF90CF90BF900895CF93C82F8CE20E948B
+:10322000D318882321F08C2FCF910C94D31880E0F1
+:10323000CF910895CF930E94611A811102C00E941C
+:10324000471AC5E6C15049F00E94F5058FE39CE995
+:103250000197F1F700C00000F5CF89E20E940C1938
+:10326000811113C18AE20E940C1981110E94471A30
+:1032700085E00E940C1981110E94B1180E946C1AFD
+:103280008093AE0187E00E940C198823A9F18BE19D
+:103290000E940C19882351F08091AE0181FB2227F6
+:1032A00020F991E0922790FB81F90EC08EE00E94F8
+:1032B0000C19882361F08091AE0182FB222720F94E
+:1032C00091E0922790FB82F98093AE0115C080E1D6
+:1032D0000E940C199091AE01882341F093FB2227A4
+:1032E00020F981E0822780FB93F904C0892F809523
+:1032F00080FB90F99093AE018091AE010E94701A0C
+:103300000E947E1A8093C20180EE0E940C198823CD
+:1033100041F08091C201982F909590FB80F98093A5
+:10332000C20189E30E940C19882359F08091C201DF
+:1033300081FB222720F991E0922790FB81F980936D
+:10334000C20182EE0E940C19882359F08091C201BB
+:1033500082FB222720F991E0922790FB82F980934B
+:10336000C20186EE0E940C19882359F08091C20197
+:1033700083FB222720F991E0922790FB83F9809329
+:10338000C20183EE0E940C19882359F08091C2017A
+:1033900084FB222720F991E0922790FB84F9809307
+:1033A000C20185E30E940C19882359F08091C20163
+:1033B00085FB222720F991E0922790FB85F98093E5
+:1033C000C20181E30E940C19882359F08091C20147
+:1033D00086FB222720F991E0922790FB86F98093C3
+:1033E000C20181E10E940C19882359F08091C20129
+:1033F00087FB222720F991E0922790FB87F98093A1
+:10340000C2018091C2010E94821A8091C20187FB91
+:10341000882780F980930C0187E20E940C19C82F3D
+:103420008EE10E940C198111C2608FE10E940C197B
+:103430008111C46080E20E940C198111C86081E290
+:103440000E940C198111C06182E20E940C19811145
+:10345000C06283E20E940C198111C06484E20E9460
+:103460000C19882311F0C06802C0CC2329F08C2FDE
+:103470000E94791A6C2F03C00E94751A682F70E0A1
+:1034800080E090E0CF910C942515CF9108956DEEDA
+:103490007EEF80E090E00E94B21B60E082E090E06E
+:1034A0000E94A01B60E083E090E00E94A01B60E00F
+:1034B00084E090E00E94A01B60E085E090E00C9426
+:1034C000A01B80E090E00E949A1B21E08D3E9E4F61
+:1034D00009F020E0822F089582E090E00C94921B86
+:1034E000682F82E090E00C94A01B83E090E00C94A5
+:1034F000921B682F83E090E00C94A01B84E090E086
+:103500000C94921B682F84E090E00C94A01B0F9306
+:103510001F938B3109F475C0A0F58E3009F484C077
+:10352000C0F4873009F45BC068F4863009F0AAC0A3
+:103530008091AE01817F8E7F8093AE0181E0809388
+:10354000B401A1C0883009F496C08B3009F493C04F
+:1035500099C0813109F472C068F4803109F092C0D9
+:103560008091AE0183FB222720F991E0922790FB06
+:1035700083F950C0863109F47EC0893109F47BC0DB
+:1035800081C0853309F479C068F4873209F475C0C5
+:1035900028F48E3108F476C08D515AC0893209F46E
+:1035A0006CC070C0833438F48A3308F050C088335C
+:1035B00009F461C067C0833409F45FC0883409F03E
+:1035C00061C00E9465110FEF13ED20E30150104020
+:1035D0002040E1F700C000000E94B1184CC090915B
+:1035E000AE01892F8095817080FB90F929F096605B
+:1035F00098609093AE0147C0997F977F9093AE01FA
+:103600003AC08091AE0181FB222720F991E09227F8
+:1036100090FB81F98093AE01992369F18091AE010D
+:1036200081608093AE0127C08091AE0182FB22278A
+:1036300020F991E0922790FB82F9ECCF0E9465116E
+:1036400090910C0181E0892780930C0114C089536B
+:1036500041E050E060E070E08A019B0104C0000F8F
+:10366000111F221F331F8A95D2F7C901B8010E948A
+:1036700025150E94651181E006C061E070E080E0E0
+:1036800090E0F5CF80E01F910F91089580E00895BC
+:1036900080E00895CF93C82F8091B401882319F05A
+:1036A000813049F031C0E0910D01F0910E0180812F
+:1036B000823261F507C0E0910D01F0910E01808129
+:1036C000823261F48C2F0E94461B811104C08C2F22
+:1036D0000E94871A17C081E090E014C08C2F0E94CE
+:1036E000481B81110EC0C43149F018F4CB3049F0A9
+:1036F0000FC0C93219F0C83321F00AC01092B401CA
+:1037000007C081E0817006C01092B40180E002C061
+:1037100080E0F8CFCF910895EE0FFF1F0590F49150
+:10372000E02D0994F999FECF92BD81BDF89A9927B1
+:1037300080B50895A8E1B0E042E050E00C94BA1BD7
+:10374000262FF999FECF92BD81BDF89A019700B45A
+:10375000021639F01FBA20BD0FB6F894FA9AF99AFA
+:103760000FBE08950196272F0E94A11B0C94A01B49
+:10377000DC01CB01FC01F999FECF06C0F2BDE1BD31
+:10378000F89A319600B40D9241505040B8F7089520
+:04379000F894FFCFDB
+:10379400FF6B06D7066E06A3066F0601019B010F99
+:0A37A4001F4F5F6F7F6353437949A5
+:00000001FF

keyboard/arrow_pad/keymaps/pad_24/makefile.mk → keyboard/arrow_pad/keymaps/pad_24/Makefile


+ 935 - 0
keyboard/arrow_pad/keymaps/pad_24/compiled.hex

@@ -0,0 +1,935 @@
+:100000000C9450010C9494010C9494010C94940160
+:100010000C9494010C9494010C9494010C9494010C
+:100020000C9494010C9494010C94580B0C942A0C8D
+:100030000C94DC180C9494010C9494010C9494018D
+:100040000C9494010C9494010C9494010C949401DC
+:100050000C9494010C9444190C9494010C94940104
+:100060000C9494010C9494010C9494010C949401BC
+:100070000C9494010C9494010C9494010C949401AC
+:100080000C9494010C9494010C9494010C9494019C
+:100090000C9494010C9494010C9494010C9494018C
+:1000A0000C9494010C9494010C949401970CB90C49
+:1000B000A70DB90CA70DFE0C210DA70D760D890D0E
+:1000C000FA0FFA0F29102910B311B311B311B3119C
+:1000D0006810B311181118117F118811B311AD11E7
+:1000E0002511251125112511251125112511251160
+:1000F0002511251125112511251125112511251150
+:10010000351143114A1151115B11F1A2028A00D23B
+:1001100000D000D100C801C802C829002B0031005E
+:10012000C00053005400550056005F00600061009D
+:1001300067005C005D005E00570059005A005B00DC
+:100140000000620000006300580029002B002C0012
+:100150000100C10019011C011D014A0052004B00A1
+:10016000E2005000C5004F00E0004D0051004E007D
+:1001700000002A0000004C00C600C200C300C400FA
+:100180000100C100010001000100010001000100A7
+:100190000100010001000100010001000100010057
+:1001A000000000500000010001001A03410072002D
+:1001B00072006F0077002000500061006400200092
+:1001C0003200340000000E034E006F0062006F002A
+:1001D0006400790000000403090409023B000201E5
+:1001E00000A0FA0904000001030101000921110126
+:1001F0000001223F000705810308000A09040100ED
+:100200000103000000092111010001223900070546
+:1002100082031000011201100100000008EDFE969B
+:100220004001000102000105010906A101050719AD
+:10023000E029E715002501950875018102050819D7
+:100240000129059505750191029501750391010537
+:10025000071900297715002501957875018102C0DD
+:1002600005010906A101050719E029E71500250187
+:10027000950875018102950175088101050819012C
+:1002800029059505750191029501750391010507F1
+:10029000190029FF150025FF950675088100C0008B
+:1002A00011241FBECFEFDAE0DEBFCDBF04B603FEE0
+:1002B00024C08091B8019091B901A091BA01B09188
+:1002C000BB018730904BA740B04BB9F41092B801F6
+:1002D0001092B9011092BA011092BB0114BE84B7FA
+:1002E000877F84BF88E10FB6F894809360001092F6
+:1002F00060000FBEE0E0FFE3099511E0A0E0B1E08F
+:10030000E8E3FAE302C005900D92AA31B107D9F7EC
+:1003100011E0AAE1B1E001C01D92A83BB107E1F7ED
+:100320000E949F080C941A1D0C94000008950895D3
+:1003300081E008950C9497010C9498010C94450267
+:10034000279A2F988FEF9FEF9093870080938600D6
+:100350008AE08093800089E1809381000C94471C9F
+:100360000E94A0010C949601282F81110BC080914E
+:100370008000877F8093800010928D0010928C0007
+:100380002F9808952F988091800088608093800036
+:10039000233019F48FEF9FEF0FC083E090E0821BB2
+:1003A0009109880F991F2FEF3FEFA90102C05695C1
+:1003B00047958A95E2F7CA0190938D0080938C004F
+:1003C00008950895CF93DF93EC016130F1F018F0B8
+:1003D0006230E9F155C08A81882309F451C080EE6A
+:1003E0000E94EE0E8D81807F803129F486E00E948C
+:1003F000EE0E86E006C0803231F48BE10E94EE0EF4
+:100400008BE10E948D0F80EE1FC08A818823C1F08E
+:100410008D8182958F7090E003971CF482E00E949A
+:10042000B50F8D81807F803219F481E00E94B50F75
+:100430008D81807F803321F588E50E94EE0E20C0FB
+:1004400083E00E94BC0F88E50E948D0F19C08A814D
+:10045000882399F08D8182958F7090E002971CF42B
+:1004600081E00E94B50F8D8182958F7090E0029798
+:100470003CF084E00E94B50F03C085E00E94BC0FF1
+:1004800080E090E0DF91CF91089581FF03C0569AFC
+:100490005E9A02C056985E9880FF05C03F9A88B168
+:1004A0008F6788B908953F984798089581E0089527
+:1004B0000C94560208950F931F93CF93DF938C01F2
+:1004C000FC01C081D181CE010E940B17BE010E94A8
+:1004D0000703EC01B8010E945802882309F48DC07B
+:1004E000F8018281882309F44AC080912501811195
+:1004F0001FC0C431F0E5DF0709F051C00E945A0265
+:1005000081E0809325010E940E199093240180932D
+:10051000230110921C0110921E0110921D011092D5
+:10052000200110921F01109222011092210165C03A
+:1005300080912301909124010E941A19883C910511
+:1005400070F480911C01E82FF0E0EE0FFF1FE35ED6
+:10055000FE4FD183C0838F5F80931C014EC0C4388F
+:1005600080E5D80721F0C538D04501F13AC0F8013F
+:100570008281882341F010921A0182E01EC0C438A3
+:10058000E0E5DE0759F580911A01811106C086E287
+:100590000E94EE0E86E20E948D0F82E01CC0C438DD
+:1005A000F0E5DF0741F3C538D045D9F4F801828181
+:1005B000882331F010921B0180E20E94B50F1DC00C
+:1005C00080911B01811106C087E20E94EE0E87E236
+:1005D0000E948D0F80E20E94BC0F0FC0C538D0452D
+:1005E00029F381E080931A0180931B01C801DF91F8
+:1005F000CF911F910F910C949C0180E0DF91CF91DE
+:100600001F910F9108950C94B0010C949A01E72F5B
+:10061000F0E096E0899FE00DF11D1124EE0FFF1F21
+:10062000EE0FFF1FE60FF11DEE0FFF1FE65EFE4F00
+:10063000859194910895880F991FFC01E657F04029
+:10064000859194910895880F991FFC01E65FFE4FF4
+:100650008591949108950F931F93CF93DF93EC01AD
+:10066000811521E39207A0F5C11580E3D80708F0B2
+:10067000D7C0C83ED105D8F4C03ED10508F003C2AA
+:10068000C83AD10578F4C53AD10508F06AC0C1303E
+:10069000D10509F463C008F4F3C1C430D10508F0F2
+:1006A000F2C1EEC1CB3BD10508F466C0E9C1C1156A
+:1006B00090E2D90708F0AFC0C11521E0D20708F0D9
+:1006C000E2C1C03FD10508F4DBC18E0110651BC239
+:1006D000C03880E5D80700F5C03790E5D90708F0A5
+:1006E000A3C0C11520E5D20709F4ACC050F4CE0177
+:1006F000905480319F4008F0C3C1DF708E01106AB2
+:1007000002C2C13080E5D80709F4AAC0C43190E51F
+:10071000D90708F4ABC0B4C1C33820E5D20709F447
+:100720008EC050F4C13890E5D90709F482C008F0B2
+:1007300083C000E011EDE7C1C03181E5D80708F4BE
+:100740009FC1C11597E5D90708F432C1CE01905772
+:100750008115904108F094C1DF708FC101E010E075
+:10076000D2C1C53AD10509F490C1C63AD10509F004
+:100770008FC102E810E4C7C1C83AD10509F48BC1A2
+:10078000C93AD10509F48AC1CA3AD10509F489C127
+:10079000CB3AD10509F488C1CC3AD10509F487C117
+:1007A000CD3AD10509F486C1C03BD10509F485C114
+:1007B000CE3AD10509F484C1CF3AD10509F483C1F9
+:1007C000C13BD10509F482C1C23BD10509F481C105
+:1007D000C33BD10509F480C1C43BD10509F47FC1F5
+:1007E000C53BD10509F47EC1C63BD10509F47DC1E5
+:1007F000C73BD10509F47CC1C83BD10509F47BC1D5
+:10080000C93BD10509F47AC1CA3BD10509F479C1C4
+:1008100000E014E478C1CE019F700E94230374C1EC
+:10082000DD278E01106C6FC1CF70DD278E01146D36
+:100830006AC100E010ED67C100E012ED64C100E0A4
+:1008400013ED61C10E9412128FEF94E32CE08150EE
+:1008500090402040E1F700C000000E94691953C198
+:100860008091A20181608093A2014DC10E94131B5F
+:10087000811102C00E94F41A0E94301B90E09093F4
+:10088000B7018093B601C23080E5D80721F480918A
+:10089000B601816086C0C43090E5D90721F480910B
+:1008A000B60182607EC0C63020E5D20721F4809177
+:1008B000B601846076C0C83080E5D80719F480910D
+:1008C000B60127C0CA3090E5D90721F48091B6015E
+:1008D000806167C0CC3020E5D20721F48091B60159
+:1008E00080625FC0CE3080E5D80721F48091B601E8
+:1008F000806457C0C03190E5D90721F48091B601DA
+:1009000080684FC0C23120E5D20729F48091B6013A
+:100910008460886046C0C33080E5D80721F48091A8
+:10092000B6018E7F3EC0C53090E5D90721F4809195
+:10093000B6018D7F36C0C73020E5D20721F4809103
+:10094000B6018B7F2EC0C93080E5D80719F480919D
+:10095000B60126C0CB3090E5D90721F48091B601CD
+:100960008F7E1FC0CD3020E5D20721F48091B601E3
+:100970008F7D17C0CF3080E5D80721F48091B60174
+:100980008F7B0FC0C13190E5D90721F48091B6016A
+:100990008F7707C0C331D04531F48091B6018B7F8A
+:1009A000877F8093B6018091B6010E94341BABC053
+:1009B0008D2F99278F70992781309105D9F49E0149
+:1009C0002370332702C0880F991F2A95E2F79C688D
+:1009D0008E0144E0000F111F4A95E1F700271370C4
+:1009E000802B912B53E0CC0FDD1F5A95E1F7C07699
+:1009F000DD272FC08230910531F4DC2FCC278E010A
+:100A0000016F106A80C08330910569F4CE01837054
+:100A1000992701E010E002C0000F111F8A95E2F74C
+:100A2000C8019C680FC084309105B9F4CE01837071
+:100A3000992701E010E002C0000F111F8A95E2F72C
+:100A4000C8019A6823E0CC0FDD1F2A95E1F7C07E2C
+:100A5000D7708C010C2B1D2B56C08530910531F4BD
+:100A6000DC2FCC278E01046F106A4DC0069709F069
+:100A70004AC0CF71DD27DC2FCC278E01106243C026
+:100A800000E010E040C08E013EC001E810E43BC031
+:100A900003E810E438C002EE14E435C009EE14E4B3
+:100AA00032C00AEE14E42FC005EB14E42CC006EBB0
+:100AB00014E429C007EB14E426C00CEC14E423C0B2
+:100AC0000DEC14E420C003E815E41DC00AE815E4A9
+:100AD0001AC002E915E417C004E915E414C001E2E4
+:100AE00016E411C003E216E40EC004E216E40BC0E3
+:100AF00005E216E408C006E216E405C007E216E4C3
+:100B000002C00AE216E4C801DF91CF911F910F9154
+:100B10000895E72FF0E096E0899FE00DF11D112484
+:100B2000EE0FFF1FEE0FFF1FE60FF11DEE0FFF1F71
+:100B3000E65EFE4F85919491803E9105E0F4803C05
+:100B4000910558F58133910509F46FC048F4893255
+:100B5000910509F463C08A32910509F46DC072C031
+:100B600089339105E9F082389105D1F085339105FB
+:100B700009F44DC067C0833E910581F138F4803E91
+:100B80009105B9F0823E9105D9F05CC0863E910591
+:100B900061F1873E9105A1F155C00E941B030895A4
+:100BA0002091B60120FD02C021FF4CC080EE90E0F4
+:100BB00049C08091B60180FFF9CF89E390E042C03F
+:100BC0008091B60182FF0EC08091B60184FF03C000
+:100BD00080E090E037C083EE90E034C08091B601B1
+:100BE00082FFF2CF82EE90E02DC08091B60183FFAC
+:100BF0000BC08091B60184FDEBCF87EE90E022C060
+:100C00008091B60183FFF5CF86EE90E01BC0809106
+:100C1000B60185FF07C089E290E014C08091B6015B
+:100C200085FFF9CF85E390E00DC08091B60186FF86
+:100C300007C08AE290E006C08091B60186FFF9CF36
+:100C400081E390E00E942B0308950C949E01E82F0D
+:100C5000F0E0E15FFE4F8081E82FEF70F0E08295D9
+:100C60008F7021E030E0A90102C0440F551F8A9522
+:100C7000E2F740A308950F931F93CF93DF9385B7B7
+:100C8000806885BF85B7806885BFC3E0D0E001E09C
+:100C900010E0FE01E15FFE4F8081E82FEF70F0E091
+:100CA00021A182958F70A80102C0440F551F8A951B
+:100CB000E2F7CA01822B81A38C2F0E94270621977D
+:100CC00040F785E090E061E070E0FC01ED5EFE4FF2
+:100CD0002081E22FEF70F0E042A122952F70DB011E
+:100CE00002C0AA0FBB1F2A95E2F79D01242B22A365
+:100CF000019758F7DF91CF911F910F910C94030347
+:100D0000EF92FF920F931F93CF93DF930AE211E0CC
+:100D1000C3E0EE24E394F12CD5E08C2F0E9427064B
+:100D200085E090E040E0FC01ED5EFE4F5081E52F54
+:100D3000EF70F0E020A130E052955F7002C0359571
+:100D400027955A95E2F720FD07C09701082E01C0AC
+:100D5000220F0A94EAF7422B019728F7F8018291B3
+:100D60008F01841719F04083D09300018C2F0E94CB
+:100D70002706C15090F68091000187FD1CC081506C
+:100D8000809300018F3F39F08FE99FE00197F1F7E1
+:100D900000C0000010C08091290180932D01809136
+:100DA000280180932C018091270180932B01809151
+:100DB000260180932A010E94050381E0DF91CF91F3
+:100DC0001F910F91FF90EF90089591E001C0990F4E
+:100DD0008A95EAF723E030E080E061E070E0F90115
+:100DE000E65DFE4F4081492339F0AB01022E01C080
+:100DF000440F0A94EAF7842B2150310980F70895B3
+:100E00000895CF93DF93C5E0D0E08C2F0E94E506D4
+:100E100090E00E948618D80FC150B8F78D2FDF914F
+:100E2000CF91089580913E0108950895CF93DF9367
+:100E300000D01F92CDB7DEB72091AD01243021F54F
+:100E400023E029839B838A8381E08093E9008FEFED
+:100E50009091E800815095FD06C095ED9A95F1F7C7
+:100E600000008111F5CF8091E80085FF0DC040E0C2
+:100E700050E063E070E0CE0101960E944809809145
+:100E8000E8008E778093E8000F900F900F90DF912D
+:100E9000CF910895CF93DF9300D01F92CDB7DEB7E7
+:100EA0002091AD01243021F522E029839B838A83A0
+:100EB00081E08093E9008FEF9091E800815095FDEB
+:100EC00006C095ED9A95F1F700008111F5CF80915C
+:100ED000E80085FF0DC040E050E063E070E0CE0127
+:100EE00001960E9448098091E8008E778093E8007F
+:100EF0000F900F900F90DF91CF910895CF93DF93D4
+:100F00002091AD01243009F048C0EC0180910B0123
+:100F10008823E1F080910C018823C1F082E0809366
+:100F2000E9008FEF9091E800815095FD06C095E1B2
+:100F30009A95F1F700008111F5CF8091E80085FFC7
+:100F40002CC040E050E060E170E017C081E0809389
+:100F5000E9008FEF9091E800815095FD06C095ED76
+:100F60009A95F1F700008111F5CF8091E80085FF97
+:100F700014C040E050E068E070E0CE010E944809F3
+:100F80008091E8008E778093E80080E1FE01AEE278
+:100F9000B1E001900D928A95E1F7DF91CF9108952C
+:100FA0008091AC01811109C00E94DD0A0E943A0BB8
+:100FB0008091E20084608093E20008951092AC0179
+:100FC0000895089508950C94D11842E061EC81E0F1
+:100FD0000E94570A42E161EC82E00C94570A80912A
+:100FE000AF01833009F453C030F4813071F08230A6
+:100FF00009F48CC008958A3009F478C08B3009F464
+:101000005EC0893009F09AC020C08091AE01813A5B
+:1010100009F094C08091E800877F8093E800809178
+:10102000B2019091B301892B21F460E18EE291E04D
+:1010300003C060E080E090E070E00E94930980913E
+:10104000E8008B778093E80008958091AE018132AB
+:1010500009F074C08091B2019091B301029708F039
+:101060006DC08091E800877F8093E8008091E80060
+:1010700082FD05C08091AD018111F8CF5FC08091E4
+:10108000F10080933E018091E8008B7753C08091FE
+:10109000AE01813A09F052C08091B2019091B30142
+:1010A000892B09F04BC08091E800877F8093E8008E
+:1010B0008091E80080FFFCCF80910B0136C08091C9
+:1010C000AE018132D9F58091B2019091B301892BA3
+:1010D000A9F58091E800877F8093E8000E948C0A40
+:1010E0008091B00180930B010C9412128091AE019B
+:1010F000813221F58091E800877F8093E8000E948B
+:101100008C0A8091B10180933F0108958091AE01D6
+:10111000813AA1F48091E800877F8093E800809174
+:10112000E80080FFFCCF80913F018093F100809127
+:10113000E8008E778093E8000C948C0A089584B7B9
+:10114000877F84BF88E10FB6F89480936000109287
+:1011500060000FBE90E080E80FB6F89480936100C5
+:10116000909361000FBE0E94240E0E94DD0A0E942F
+:101170003A0B8091E20084608093E20078940E94B0
+:10118000C00D0E94260E81E091E00E94DB0D80914F
+:10119000AD01853069F40E9492188091AB018823DB
+:1011A000B1F30E94C018882391F30E943209EFCF57
+:1011B0000E94320EECCF292F332723303105C9F09E
+:1011C00064F42130310581F02230310509F042C04C
+:1011D0008BE390E02AED31E041C021323105F1F09E
+:1011E0002232310549F136C082E190E025E132E05A
+:1011F00035C099278130910541F08230910541F049
+:10120000892B41F5E6EDF1E005C0E6ECF1E002C026
+:10121000EAEAF1E0849190E09F0120C0662339F072
+:101220006130C1F489E090E025E032E017C089E048
+:1012300090E02CEE31E012C0662339F0613051F4B9
+:1012400089E390E027E232E009C08FE390E020E6F6
+:1012500032E004C080E090E020E030E0FA01318329
+:101260002083089580E189BD82E189BD09B400FE33
+:10127000FDCF8091D8008F7D8093D8008091E000D1
+:1012800082608093E0008091E00081FDFCCF0895B2
+:10129000CF92DF92EF92FF920F931F93CF93DF9342
+:1012A000EC018B016A010E94AB0A811133C0C114A9
+:1012B000D10439F0F60180819181081B190BC80F08
+:1012C000D91FE12CF12C0115110519F18091E800CD
+:1012D00085FD16C08091E8008E778093E800C114E8
+:1012E000D10449F0F60180819181E80EF91EF18266
+:1012F000E08285E00FC00E94AB0A882321F30AC078
+:1013000089918093F10001501109FFEFEF1AFF0A54
+:10131000DACF80E0DF91CF911F910F91FF90EF9096
+:10132000DF90CF9008952091B4013091B501261738
+:10133000370748F06115710539F42091E8002E77E0
+:101340002093E80001C0B90140E061157105A9F1E1
+:101350002091AD01222309F443C0253009F442C095
+:101360002091E80023FD40C02091E80022FD32C01A
+:101370002091E80020FFE9CF4091F3002091F20096
+:1013800030E0342BFC01CF016115710559F0283094
+:10139000310540F481918093F100615071092F5F14
+:1013A0003F4FF1CF41E02830310509F040E0209176
+:1013B000E8002E772093E800C8CF4111C9CF0AC0BA
+:1013C0008091AD01882361F0853061F08091E80063
+:1013D00083FD0AC08091E80082FFF2CF80E008958B
+:1013E00082E0089583E0089581E008952091B4019A
+:1013F0003091B5012617370748F06115710539F4AA
+:101400002091E8002E772093E80001C0B901FC018B
+:1014100020E06115710591F18091AD01882309F4F7
+:1014200040C0853009F43FC08091E80083FD3DC095
+:101430008091E80082FD2FC08091E80080FFE9CF15
+:101440002091F3008091F20090E0922B61157105DC
+:1014500059F08830910540F424912093F1003196A1
+:10146000615071090196F2CF21E0089709F020E060
+:101470008091E8008E778093E800CBCF2111CCCF0C
+:101480000AC08091AD01882361F0853061F08091C0
+:10149000E80083FD0AC08091E80082FFF2CF80E07F
+:1014A000089582E0089583E0089581E00895982FDB
+:1014B000973058F59093E900981739F07091EC0047
+:1014C0002091ED005091F00003C0242F762F50E0C2
+:1014D00021FF19C03091EB003E7F3093EB0030913B
+:1014E000ED003D7F3093ED003091EB0031603093A3
+:1014F000EB007093EC002093ED005093F0002091EE
+:10150000EE0027FF07C09F5FD3CF8F708093E90065
+:1015100081E0089580E008958091AE0187FF11C0B9
+:101520008091E80082FD05C08091AD018111F8CF66
+:1015300011C08091E8008B770BC08091AD018823AA
+:1015400049F08091E80080FFF8CF8091E8008E7725
+:101550008093E80008952091E4003091E50095E63D
+:101560004091EC00842F817040FF22C08091E80000
+:1015700080FD1CC08091AD01882391F0853091F0F1
+:101580008091EB0085FD10C04091E4005091E50092
+:101590004217530729F39A01915011F784E00895F7
+:1015A00082E0089583E0089581E0089580E0089541
+:1015B0004091E80042FFDECF08950E944B0B0E944D
+:1015C000530BE0EEF0E0808181608083E8EDF0E095
+:1015D00080818F77808319BCA7EDB0E08C918E7FDE
+:1015E0008C9380818F7E80831092AC0108950F933D
+:1015F0001F93CF93DF930E944B0B0E94530BC8EDB8
+:10160000D0E088818F77888388818068888388810B
+:101610008F7D888319BC1092AD011092A9011092A0
+:10162000AB011092AA0100EE10E0F80180818B7FDF
+:10163000808388818160888342E060E080E00E944E
+:10164000570AE1EEF0E080818E7F8083E2EEF0E0E9
+:10165000808181608083808188608083F8018081BF
+:101660008E7F8083888180618883DF91CF911F91F5
+:101670000F910895E8EDF0E080818F7E8083E7EDA3
+:10168000F0E080818160808384E082BF81E080938C
+:10169000AC010C94F70AE8EDF0E080818E7F808346
+:1016A0001092E20008951092DA001092E10008957D
+:1016B0001F920F920FB60F9211242F933F934F93C7
+:1016C0005F936F937F938F939F93AF93BF93EF93AA
+:1016D000FF938091E10082FF0BC08091E20082FFC6
+:1016E00007C08091E1008B7F8093E1000E94BF0DD5
+:1016F0008091DA0080FF1FC08091D80080FF1BC05E
+:101700008091DA008E7F8093DA008091D90080FF8B
+:101710000DC080E189BD82E189BD09B400FEFDCF25
+:1017200081E08093AD010E94D00705C019BC1092E2
+:10173000AD010E94DE078091E10080FF19C0809119
+:10174000E20080FF15C08091E2008E7F8093E2006E
+:101750008091E20080618093E2008091D8008062F5
+:101760008093D80019BC85E08093AD010E94E20708
+:101770008091E10084FF30C08091E20084FF2CC0A2
+:1017800080E189BD82E189BD09B400FEFDCF809171
+:10179000D8008F7D8093D8008091E1008F7E809368
+:1017A000E1008091E2008F7E8093E2008091E20070
+:1017B00081608093E2008091A901882311F084E088
+:1017C00007C08091E30087FD02C081E001C083E093
+:1017D0008093AD010E94E3078091E10083FF29C05F
+:1017E0008091E20083FF25C08091E100877F809394
+:1017F000E10082E08093AD011092A9018091E100A7
+:101800008E7F8093E1008091E2008E7F8093E200E2
+:101810008091E20080618093E20042E060E080E03D
+:101820000E94570A8091F00088608093F0000E9427
+:10183000E107FF91EF91BF91AF919F918F917F91C0
+:101840006F915F914F913F912F910F900FBE0F902D
+:101850001F9018951F920F920FB60F9211242F937D
+:101860003F934F935F936F937F938F939F93AF9328
+:10187000BF93CF93DF93EF93FF93C091E900CF70B5
+:101880008091EC00D82FD17080FDD0E81092E90053
+:101890008091F000877F8093F00078940E946E0C16
+:1018A0001092E9008091F00088608093F000CD2BC9
+:1018B000CF70C093E900FF91EF91DF91CF91BF917D
+:1018C000AF919F918F917F916F915F914F913F91D8
+:1018D0002F910F900FBE0F901F9018951F93CF93CD
+:1018E000DF93CDB7DEB7AA970FB6F894DEBF0FBE71
+:1018F000CDBFEEEAF1E088E08E0F9091F100919378
+:101900008E13FBCF0E94EF078091E80083FF1FC179
+:101910008091AE019091AF01492F50E04A305105BE
+:1019200008F015C1FA01EA5AFF4F0C94DE1C80380A
+:1019300081F0823809F00BC18091B2018F708093E1
+:10194000E9008091EB0085FB882780F91092E9007F
+:1019500006C08091AA019091AB0191118260909193
+:10196000E800977F9093E8008093F1001092F100D7
+:10197000C8C0282F2D7F09F0EAC0882319F08230D3
+:1019800061F0E5C08091B001813009F0E0C0933092
+:1019900009F080E08093AB012BC08091B0018111F0
+:1019A00027C08091B2018F7009F4D1C08093E90003
+:1019B0002091EB0020FF1CC0933021F48091EB00BC
+:1019C000806214C09091EB0090619093EB0021E055
+:1019D00030E0A90102C0440F551F8A95E2F74093F9
+:1019E000EA001092EA008091EB0088608093EB009F
+:1019F0001092E9008091E800877F86C08111A7C01E
+:101A00001091B0011F778091E3008078812B809343
+:101A1000E3008091E800877F8093E8000E948C0AB1
+:101A20008091E80080FFFCCF8091E3008068809384
+:101A3000E300111102C082E001C083E08093AD0198
+:101A400086C08058823008F082C08091B0019091A9
+:101A5000B1018C3D53E0950779F583E08A838AE2F2
+:101A600089834FB7F894DE01139620E03EE051E2FF
+:101A7000E32FF0E050935700E49120FF03C0E2957C
+:101A8000EF703F5FEF708E2F90E0EA3010F0C79656
+:101A900001C0C0968D939D932F5F243149F74FBFAE
+:101AA0008091E800877F8093E8006AE270E0CE01D1
+:101AB00001960E94930914C0AE014F5F5F4F609181
+:101AC000B2010E94DB08BC01009709F440C090916C
+:101AD000E800977F9093E80089819A810E94F60937
+:101AE0008091E8008B778093E80031C0803879F5E9
+:101AF0008091E800877F8093E8008091A90180931E
+:101B0000F1008091E8008E778093E8000E948C0AB3
+:101B10001EC081111CC09091B0019230C0F4809120
+:101B2000E800877F8093E8009093A9010E948C0AC7
+:101B30008091A901811106C08091E30087FD02C058
+:101B400081E001C084E08093AD010E94E5078091AF
+:101B5000E80083FF0AC08091E800877F8093E80057
+:101B60008091EB0080628093EB00AA960FB6F89408
+:101B7000DEBF0FBECDBFDF91CF911F9108950895B5
+:101B8000CF938091AD018823A1F0C091E900CF707F
+:101B90009091EC00892F817090FD80E8C82B109205
+:101BA000E9008091E80083FD0E946E0CCF70C09325
+:101BB000E900CF91089590934501809344010895E1
+:101BC000E0914401F0914501309721F00190F081BE
+:101BD000E02D099480E00895E0914401F0914501E1
+:101BE000309721F00280F381E02D0994089520912F
+:101BF0004201309143018217930771F090934301A2
+:101C000080934201E0914401F0914501309721F029
+:101C10000680F781E02D09940895209140013091CC
+:101C200041018217930771F0909341018093400125
+:101C3000E0914401F0914501309721F00084F18555
+:101C4000E02D0994089508950C94230E0E9405191F
+:101C50000E943B060E94C7190E94471C81E08093A6
+:101C60000C010895CF92DF92EF92FF920F931F9392
+:101C7000CF93DF9300D000D000D0CDB7DEB70E9465
+:101C8000800685E0E82EF12C0E2D8E2D0E94E506B3
+:101C90009701295B3E4F6901F90110811827A9F4CA
+:101CA000F1E0EF1AF10880F78FEF89838A831B82B6
+:101CB0000E940E198160782F9D838C8349815A81FF
+:101CC0006B818D810E94C00E32C09091A20191FF64
+:101CD00004C08E830E9400078E8113FD09C012FD8F
+:101CE0000AC011FD0BC010FFDBCF90E011E008C06F
+:101CF00093E018E005C092E014E002C091E012E029
+:101D000099830A83812391E009F490E09B830E94E8
+:101D10000E198160782F9D838C8349815A816B8154
+:101D20008D810E94C00EF6018081182710831091CA
+:101D300046010E94E00D1817A1F00E94E00D80936B
+:101D4000460126960FB6F894DEBF0FBECDBFDF91D9
+:101D5000CF911F910F91FF90EF90DF90CF900C9457
+:101D6000250626960FB6F894DEBF0FBECDBFDF91D5
+:101D7000CF911F910F91FF90EF90DF90CF9008953A
+:101D8000CF93DF93CDB7DEB72B970FB6F894DEBFB6
+:101D90000FBECDBF4F83588769877A878B87DE0157
+:101DA000119686E0FD0111928A95E9F785E0FE0122
+:101DB000379601900D928A95E1F749815A816B819E
+:101DC0007C818D819E810E94B0142B960FB6F89471
+:101DD000DEBF0FBECDBFDF91CF910895CF93882393
+:101DE00009F499C0C82F8CEF8C0F813A48F48C2FDE
+:101DF0000E94051C81118FC08C2F0E948A170CC075
+:101E000080E28C0F883058F4C77081E001C0880FE1
+:101E1000CA95EAF70E941018CF910C9457188BE5D9
+:101E20008C0F833078F4C53A29F0C63A31F083E854
+:101E300090E005C081E890E002C082E890E0CF9198
+:101E40000C94F70D88E58C0F833108F064C0C83A14
+:101E500039F1C93A41F1CA3A49F1CB3A51F1CC3A98
+:101E600059F1CD3A61F1C03B69F1CE3A71F1CF3A07
+:101E700079F1C13B81F1C23B89F1C33B91F1C43B94
+:101E800099F1C53BA1F1C63BA9F1C73BB1F1C83BF4
+:101E9000B9F1C93BC1F1CA3BC9F180E090E038C05B
+:101EA00082EE90E035C089EE90E032C08AEE90E09C
+:101EB0002FC085EB90E02CC086EB90E029C087EB2B
+:101EC00090E026C08CEC90E023C08DEC90E020C028
+:101ED00083E891E01DC08AE891E01AC082E991E0B0
+:101EE00017C084E991E014C081E292E011C083E25E
+:101EF00092E00EC084E292E00BC085E292E008C05E
+:101F000086E292E005C087E292E002C08AE292E0B7
+:101F1000CF910C940D0ECF910895882329F19CEF59
+:101F2000980F913A18F40E94CC170DC090E2980FC8
+:101F3000983058F4877091E001C0990F8A95EAF7BC
+:101F4000892F0E9416180C9457189BE5980F933010
+:101F500020F480E090E00C94F70D885A833120F44F
+:101F600080E090E00C940D0E0895882321F00E94EB
+:101F700010180C9457180895882321F00E94161801
+:101F80000C94571808957F928F929F92AF92BF92B0
+:101F9000CF92DF92EF92FF920F931F93CF93DF9335
+:101FA0001F92CDB7DEB77C01C62E772EFC010581CE
+:101FB00002950F70128111110E942D180E94831733
+:101FC000882379F0112369F080E28C0D883048F085
+:101FD00082E00E946C170E94831791E0D82ED926C8
+:101FE00001C0D12CE72DE295EF70F0E0E05AFF4FF1
+:101FF0000C94DE1C872D807F072D0F70882311F035
+:102000000295007F112389F0002309F46EC180E25C
+:102010008C0D883020F4802F0E94101803C0802F70
+:102020000E9420180E94571860C18C2D0E948D0FAD
+:10203000002309F498C180E28C0D883020F4802FB1
+:102040000E94161803C0802F0E9426180E9457185D
+:102050008AC1872D807F972D9F70803211F4892F40
+:1020600003C0892F8295807FCC2021F0F1E0CF162C
+:10207000A1F01DC0112339F0002319F1013009F539
+:102080000E94401870C1002319F0013009F46BC19F
+:1020900089830E9443188981E5C0112321F006300D
+:1020A00008F061C10EC0053008F05DC1DBC011232E
+:1020B00059F0002331F0F701958190FF16C19F7010
+:1020C00095830E94B50F4FC1002309F4CBC013C103
+:1020D000872D837009F052C0111145C18C2D829556
+:1020E00086958770880F880F9C2D9F70892E912C64
+:1020F000A12CB12C082E04C0880C991CAA1CBB1C56
+:102100000A94D2F7C4FE14C00FE010E020E030E0E3
+:10211000B901A80104C0440F551F661F771F8A9597
+:10212000D2F7CB01BA01609570958095909503C068
+:1021300060E070E0CB01272D26952695237030E0D6
+:102140002230310569F02330310589F06829792979
+:102150008A299B292130310571F00E94F81503C1AD
+:10216000682979298A299B290E941416FCC00E949B
+:10217000F815C501B4010E94DC15F5C0112319F052
+:10218000872D817001C08695882309F4ECC08C2DC1
+:10219000829586958770880F880F9C2D9F70892E59
+:1021A000912CA12CB12C082E04C0880C991CAA1CBF
+:1021B000BB1C0A94D2F7C4FE14C00FE010E020E06C
+:1021C00030E0B901A80104C0440F551F661F771FF6
+:1021D0008A95D2F7CB01BA0160957095809590955C
+:1021E00003C060E070E0CB01272D26952695237073
+:1021F000422F50E04230510569F04330510589F0DB
+:10220000682979298A299B294130510571F00E945A
+:10221000D216A9C0682979298A299B290E94EE161D
+:10222000A2C00E94D216C501B4010E94B6169BC07E
+:102230008C2D90E0FC01E05EF109E531F10508F03C
+:1022400050C0E059FF4F0C94DE1C0C2D0F70872DF1
+:102250008F71112321F00E944F16802F32CF0E94E0
+:102260007016802F0E94BC0F7EC0112341F00530F4
+:1022700008F079C0872D8F710E94951674C00630C2
+:1022800008F071C0F7CF112339F0872D8F710E94AC
+:102290004F1669C01123C9F3872D8F710E947016E4
+:1022A00062C0112329F0872D8F710E943A165BC0FE
+:1022B0000E94301658C0112351F0172D1F71812F25
+:1022C0000E944F1663E0812F0E9463174CC081E08B
+:1022D0000E946C17023008F446C082E00E946C171E
+:1022E00042C0112331F0002381F28C2D0E94EE0EAA
+:1022F0003AC0002389F28C2D0E948D0F34C0472DE7
+:102300004F706C2DC7010E94E2010E9454152BC032
+:10231000111129C0472D4F7050E042305105B9F0DE
+:102320004CF44115510581F041305105E1F40E9412
+:102330006F1C19C04330510569F04430510599F4C0
+:102340008C2D0E94C11C0FC00E94581C0CC00E9402
+:102350008B1C09C00E949E1C06C0472D4F706C2D1F
+:10236000C7010E94E101DD20F9F00E945F1780FDA6
+:102370001BC0F70112820E9459170E944F16C70115
+:102380000E94E3110E9459170F90DF91CF911F9186
+:102390000F91FF90EF90DF90CF90BF90AF909F9004
+:1023A0008F907F900C9470160F90DF91CF911F91BA
+:1023B0000F91FF90EF90DF90CF90BF90AF909F90E4
+:1023C0008F907F9008950F931F93CF93DF93EC012D
+:1023D000888199812B813C81232BB9F09F3F11F497
+:1023E0008F3F99F0CE010E945B02882371F06881D3
+:1023F00079818A810E9455178C010E940A170E94D8
+:10240000D115B801CE010E94C30FDF91CF911F916A
+:102410000F9108950E942D180E943D180E940218E5
+:102420000C9457180E941D180C940A120E944A1707
+:10243000292F22952F7030E02C3031054CF42A30B2
+:1024400031056CF42250310922303105A8F407C05F
+:102450002C30310569F02F30310551F00DC0803F2F
+:1024600069F018F4803E40F409C0843F29F406C0A6
+:1024700093FB882780F9089580E0089581E008950E
+:10248000CF93DF9300D000D01F92CDB7DEB70F906F
+:102490000F900F900F900F90DF91CF910895CF93F1
+:1024A000DF9300D000D000D0CDB7DEB726960FB6B0
+:1024B000F894DEBF0FBECDBFDF91CF9108951F937B
+:1024C000CF93DF93C0914D0116E080914E01C81764
+:1024D00099F0D0E01C9FF0011D9FF00D1124E15BED
+:1024E000FE4F4081518162817381848195810E9478
+:1024F0004F122196C770E9CFDF91CF911F910895B8
+:1025000040917F0150918001609181017091820121
+:1025100080918301909184010C944F1280918401E9
+:1025200082958F7009F054C080918101882309F44D
+:102530004FC080914D01A0914E0160917F0170913B
+:1025400080014091820150918301B6E08A1709F41D
+:102550003FC090E041155105C1F17F3F11F46F3F3D
+:10256000A1F1B89FF001B99FF00D1124E15BFE4F7E
+:10257000218172132AC02081621327C02281211178
+:1025800024C0238134812417350710F421503109E8
+:10259000241B350B283C3105C0F4209184012F7099
+:1025A00020612093840126E0289FF001299FF00DEF
+:1025B0001124EC5AFE4F80818F70806180838FE7F9
+:1025C00091E00E94E3110C945F1201968770BECFD8
+:1025D0000895CF92DF92EF92FF920F931F93CF93C4
+:1025E000DF93CDB7DEB762970FB6F894DEBF0FBEAC
+:1025F000CDBF8C0185E0F801DE011D9601900D92A2
+:102600008A95E1F7D8014C9111965C911197129639
+:102610006C9112971396CD90DC90149730917F01B6
+:10262000709180018091820190918301009709F45B
+:102630006BC17F3F19F43F3F09F466C1E09081010F
+:10264000EE2009F4C0C020918401C816D90628F0F4
+:10265000F601E81BF90BCF0104C0809590958C0D15
+:102660009D1DFF24F394883C910578F0F12C207F88
+:1026700009F0C6C07C2DD98AC88A89890E94401277
+:102680008FE791E00E94E311B1C0822F807F09F0B3
+:1026900046C0751314C0341312C0611110C02F70DE
+:1026A0002061209384010E9480128FE791E00E94B4
+:1026B000E31180918401D80115968C932EC0CD280A
+:1026C00019F15F3F11F44F3FF9F0F62E61111CC074
+:1026D00080914D0120914E0136E0821709F45AC0D5
+:1026E00090E0389FF001399FF00D1124E15BFE4F1F
+:1026F0007181571306C07081471303C07281711135
+:1027000003C001968770E9CFF62E662309F418C13D
+:1027100080918401816080938401F12C11C1751333
+:1027200008C0341306C0611104C080918401D8012F
+:10273000C3C04D875E878D859E856A8B0E94161269
+:102740006A898823E1F16623D1F120918401822FE7
+:1027500082958F7090E0029774F080917F01909144
+:10276000800198878F831986DB86CA862C87CE01E5
+:1027700007960E94E31186E0F801AFE7B1E001900F
+:102780000D928A95E1F70E948E120E948012FF241A
+:10279000F394D6C04D875E878D859E850E944A172B
+:1027A000292F22952F7030E0223031050CF0BCC06B
+:1027B0009F7009F0B6C0805E883008F4C1C0C801BF
+:1027C0000E94E311E4CFC816D90608F453C0F601FD
+:1027D000E81BF90BCF01883C910508F450C0F12C9F
+:1027E0007C2DD98AC88A89890E944012EFE7F1E0DE
+:1027F00086E0DF011D928A95E9F70E948012A0C051
+:10280000751314C0341312C0611110C0809184017B
+:10281000F8018583C8010E94E31186E0EFE7F1E04B
+:10282000DF011D928A95E9F7FE2C8AC04D875E87ED
+:102830008D859E856A8B0E9416126A89882309F409
+:10284000BECF662309F4BBCF20918401822F8295ED
+:102850008F7090E002970CF48ECF80917F01909161
+:1028600080019A8389831B82DD82CC822E83CE01F4
+:1028700001967FCF809590958C0D9D1DACCFF62E47
+:10288000662309F49CCF75132EC034132CC02091FD
+:10289000840120FD1FC0822F82958F70D9F0D8014E
+:1028A00015962C9315978F3049F08F5F982F92953E
+:1028B000907F822F8F70892B15968C93C8010E9470
+:1028C000E31186E0F801AFE7B1E001900D928A953F
+:1028D000E1F793CF86E0F801AFE7B1E001900D9208
+:1028E0008A95E1F72DC04D875E878D859E850E9474
+:1028F0001612811140CF8091840181608093840100
+:10290000C8010E94E3111CC0662309F458CF4D870B
+:102910005E878D859E850E941612882309F44FCF0D
+:102920002ACF811148CF0CC0243031050CF047CF9D
+:102930009F7009F440CFF8019581907F09F03BCF5B
+:102940008F2D62960FB6F894DEBF0FBECDBFDF911C
+:10295000CF911F910F91FF90EF90DF90CF9008954E
+:102960001F93CF93DF93CDB7DEB72C970FB6F894B4
+:10297000DEBF0FBECDBF4F83588769877A878B87AD
+:102980009C87CE0107960E94E912882369F08F8107
+:1029900098852A853B85232BF1F19F3F09F063C081
+:1029A0008F3F09F060C037C086E0FE013796DE0138
+:1029B000119601900D928A95E1F76F817885EA85ED
+:1029C000FB85309741F17F3F11F46F3F21F120915A
+:1029D0004E0130E0C90101968770992740914D0161
+:1029E00050E08417950709F447C069837A83FD8313
+:1029F000EC8396E0929FD001939FB00D1124A15BD0
+:102A0000BE4FFE01319601900D929A95E1F78093A9
+:102A10004E010E945F1216E080914D0190914E018F
+:102A20008917C1F1189FC0011124815B9E4F0E943C
+:102A3000E912882379F1E0914D011E9FF0011124E4
+:102A4000E15BFE4F40815181628173818481958178
+:102A50000E944F1280914D0190E001968770992756
+:102A600080934D01D9CF4F81588569857A858B85B3
+:102A70009C850E944F12CFCF0E94121210924E01DD
+:102A800010924D01EFE7F1E086E0DF011D928A959B
+:102A9000E9F7C1CF2C960FB6F894DEBF0FBECDBFBD
+:102AA000DF91CF911F910895EF92FF920F931F93A3
+:102AB000CF93DF938C01009709F46CC0F12CEE24C6
+:102AC000E394E8012196F8018491843740F484303E
+:102AD00008F051C0813081F0823019F15BC0853738
+:102AE00009F444C0A8F19CE7980F903708F052C051
+:102AF0008F770E948D0F41C00E5F1F4FFE01C49162
+:102B000080E28C0F883048F4C7708E2D01C0880F8A
+:102B1000CA95EAF70E94301814C08C2F0E94EE0E5E
+:102B20002DC00E5F1F4FFE01C49180E28C0F8830D4
+:102B300058F4C7708E2D01C0880FCA95EAF70E941D
+:102B400036180E9457181AC08C2F0E948D0F16C07D
+:102B50000E5F1F4FFE01C491CC2381F08FE99FE0EF
+:102B60000197F1F700C00000C150F6CF0E5F1F4F74
+:102B7000FE01F49003C00E94EE0E8E018F2D88237B
+:102B800009F49FCFEFE9FFE03197F1F700C00000B3
+:102B90008150F5CFDF91CF911F910F91FF90EF9072
+:102BA000089508956093890170938A0180938B0141
+:102BB00090938C010C940A120F931F93009189013A
+:102BC00010918A0120918B0130918C01DC01CB01A5
+:102BD000802B912BA22BB32B8093890190938A0198
+:102BE000A0938B01B0938C011F910F910C940A124A
+:102BF0000F931F930091890110918A0120918B01FD
+:102C000030918C01DC01CB0180239123A223B323DB
+:102C10008093890190938A01A0938B01B0938C01DA
+:102C20001F910F910C940A120F931F930091890129
+:102C300010918A0120918B0130918C01DC01CB0134
+:102C400080279127A227B3278093890190938A0137
+:102C5000A0938B01B0938C011F910F910C940A12D9
+:102C600010928501109286011092870110928801BE
+:102C70000C940A1241E050E060E070E004C0440FA0
+:102C8000551F661F771F8A95D2F740938501509391
+:102C9000860160938701709388010C940A1241E0C9
+:102CA00050E060E070E004C0440F551F661F771FBE
+:102CB0008A95D2F78091850190918601A091870134
+:102CC000B0918801482B592B6A2B7B2B40938501AF
+:102CD0005093860160938701709388010C940A12C7
+:102CE00041E050E060E070E004C0440F551F661FF3
+:102CF000771F8A95D2F74095509560957095809191
+:102D0000850190918601A0918701B09188014823A7
+:102D100059236A237B234093850150938601609356
+:102D20008701709388010C940A1241E050E060E042
+:102D300070E004C0440F551F661F771F8A95D2F7B5
+:102D40008091850190918601A0918701B0918801C1
+:102D5000482759276A277B2740938501509386018E
+:102D600060938701709388010C940A120F931F934C
+:102D70000091850110918601209187013091880191
+:102D8000DC01CB01802B912BA22BB32B80938501EF
+:102D900090938601A0938701B09388011F910F91B2
+:102DA0000C940A120F931F930091850110918601D4
+:102DB0002091870130918801DC01CB018023912390
+:102DC000A223B3238093850190938601A09387016A
+:102DD000B09388011F910F910C940A120F931F93C7
+:102DE0000091850110918601209187013091880121
+:102DF000DC01CB0180279127A227B327809385018F
+:102E000090938601A0938701B09388011F910F9141
+:102E10000C940A120895CF92DF92EF92FF920F93D3
+:102E20001F93CF93DF938C01C0908901D0908A01CA
+:102E3000E0908B01F0908C0180918501909186014A
+:102E4000A0918701B0918801C82AD92AEA2AFB2AD1
+:102E5000CFE1D0E0D701C6010C2E04C0B695A795EE
+:102E6000979587950A94D2F780FF06C0B8018C2FFA
+:102E70000E948905019721F4219760F780E001C045
+:102E80008C2FDF91CF911F910F91FF90EF90DF90EA
+:102E9000CF900895CF93DF93EC010E940B17BE01F2
+:102EA0000E948905DF91CF910895CB010E944A17B6
+:102EB000089580918D0185958595859508958091DA
+:102EC0008D018770089598E0899F90011124262B29
+:102ED00020938D010C944F1620918D0180958223B3
+:102EE00080938D01982F977069F430E0482F552713
+:102EF00047FD50952417350729F0859585958595CB
+:102F00000C947016089590918D01977081E009F4EA
+:102F100080E0089590910B01992321F090910C018C
+:102F2000911109C020910D0130910E01F9013296E5
+:102F30009FEF40E01FC0982F9695969596959F30ED
+:102F400050F5E0910D01F0910E01E90FF11D877030
+:102F500021E030E0A90102C0440F551F8A95E2F735
+:102F6000CA019181892B818308959F3F39F04F5F7A
+:102F70004E3041F051915813F8CF0DC05111F7CF99
+:102F8000942FF5CF9F3F39F0F901E90FF11D97FD1F
+:102F9000FA9582830895089590910B01992321F069
+:102FA00090910C01911109C020910D0130910E01F9
+:102FB000F9013296205F3F4F1FC0982F9695969546
+:102FC00096959F30F0F4E0910D01F0910E01E90F1C
+:102FD000F11D877021E030E0A90102C0440F551FA8
+:102FE0008A95E2F7CA0180959181892381830895AA
+:102FF0003196E217F30729F090819813F9CF1082E8
+:10300000F7CF089581E090E0E0910D01F0910E017D
+:10301000E80FF91F1082019680319105A9F70895F4
+:103020009091A101892B8093A101089580959091A1
+:10303000A10189238093A10108951092A10108950F
+:103040009091A001892B8093A00108958095909183
+:10305000A00189238093A00108951092A0010895F2
+:1030600090919F01892B80939F0108958095909165
+:103070009F01892380939F01089510929F010895D5
+:1030800080938E01089510928E01089580910D0114
+:1030900090910E01FC0131969C01205F3F4F80E032
+:1030A000919191118F5FE217F307D1F70895E091A5
+:1030B0000D01F0910E018091A1018083E0910D013D
+:1030C000F0910E0190818091A001892B8083E09185
+:1030D0000D01F0910E01908180919F01892B8083D9
+:1030E00080918E01882361F0E0910D01F0910E0135
+:1030F0009081892B80830E944618811110928E0145
+:1031000080910D0190910E010C94EC0D20E0009740
+:1031100039F0AC0141505109842395232F5FF7CF3B
+:10312000822F08958091AD01843039F11092A3016E
+:1031300020E488E190E00FB6F894A89580936000B1
+:103140000FBE2093600080E00E94B40180E00E94E6
+:10315000250683B7817F846083BF83B7816083BF87
+:103160007894889583B78E7F83BF88E10FB6F894F3
+:1031700080936000109260000FBE08950895089536
+:1031800080E00E94B4010E94BE180E9480060E9446
+:10319000BF180E94010791E0811101C090E0892FC2
+:1031A00008950E94121280E00E94B4010E94471C00
+:1031B0000E94E00D0C9425061F920F920FB60F92FD
+:1031C00011248F939F93AF93BF938091A30181119B
+:1031D00013C08091A4019091A501A091A601B09186
+:1031E000A7014196A11DB11D8093A4019093A50153
+:1031F000A093A601B093A701BF91AF919F918F912A
+:103200000F900FBE0F901F90189582E084BD93E041
+:1032100095BD9AEF97BD80936E0008952FB7F894EF
+:103220008091A4019091A501A091A601B091A70160
+:103230002FBF0895CF92DF92EF92FF920F931F93CB
+:103240002FB7F8944091A4015091A5016091A60177
+:103250007091A7012FBF6A017B01EE24FF248C012E
+:1032600020E030E0C016D106E206F30610F441502B
+:1032700051099A01281B390BC9011F910F91FF9029
+:10328000EF90DF90CF9008951F920F920FB60F929C
+:1032900011248F939F93AF93BF938091A40190913A
+:1032A000A501A091A601B091A7010196A11DB11D94
+:1032B0008093A4019093A501A093A601B093A701C8
+:1032C000BF91AF919F918F910F900FBE0F901F9064
+:1032D00018950E94DD0AF8942FEF87EA91E62150B5
+:1032E00080409040E1F700C0000087E090EBDC01F7
+:1032F0008093B8019093B901A093BA01B093BB0138
+:103300009CE088E10FB6F894A895809360000FBE0A
+:1033100090936000FFCFEF92FF920F931F93CF9394
+:10332000DF93D82FC5E08C2F0E94E50603E010E064
+:10333000E82EF12CC701002E02C0959587950A94BE
+:10334000E2F780FF09C0602F7C2F80E00E94070316
+:10335000D81302C081E006C00150110958F7C150CE
+:1033600010F780E0DF91CF911F910F91FF90EF90C8
+:103370000895CF93C82F8CE20E948B19882321F0E7
+:103380008C2FCF910C948B1980E0CF910895CF931F
+:103390000E94131B811102C00E94F41AC5E6C1509D
+:1033A00049F00E9480068FE39CE90197F1F700C085
+:1033B0000000F5CF89E20E94B919811113C18AE298
+:1033C0000E94B91981110E94F41A85E00E94B9196E
+:1033D00081110E9469190E941E1B8093A20187E03F
+:1033E0000E94B9198823A9F18BE10E94B919882399
+:1033F00051F08091A20181FB222720F991E09227D0
+:1034000090FB81F90EC08EE00E94B919882361F00B
+:103410008091A20182FB222720F991E0922790FB64
+:1034200082F98093A20115C080E10E94B9199091A0
+:10343000A201882341F093FB222720F981E0822713
+:1034400080FB93F904C0892F809580FB90F99093BD
+:10345000A2018091A2010E94221B0E94301B809336
+:10346000B60180EE0E94B919882341F08091B6011F
+:10347000982F909590FB80F98093B60189E30E9484
+:10348000B919882359F08091B60181FB222720F9D0
+:1034900091E0922790FB81F98093B60182EE0E9421
+:1034A000B919882359F08091B60182FB222720F9AF
+:1034B00091E0922790FB82F98093B60186EE0E94FC
+:1034C000B919882359F08091B60183FB222720F98E
+:1034D00091E0922790FB83F98093B60183EE0E94DE
+:1034E000B919882359F08091B60184FB222720F96D
+:1034F00091E0922790FB84F98093B60185E30E94C6
+:10350000B919882359F08091B60185FB222720F94B
+:1035100091E0922790FB85F98093B60181E30E94A8
+:10352000B919882359F08091B60186FB222720F92A
+:1035300091E0922790FB86F98093B60181E10E9489
+:10354000B919882359F08091B60187FB222720F909
+:1035500091E0922790FB87F98093B6018091B601A4
+:103560000E94341B8091B60187FB882780F98093E5
+:103570000C0187E20E94B919C82F8EE10E94B91987
+:103580008111C2608FE10E94B9198111C46080E28B
+:103590000E94B9198111C86081E20E94B919811194
+:1035A000C06182E20E94B9198111C06283E20E9467
+:1035B000B9198111C06484E20E94B919882311F0FD
+:1035C000C06802C0CC2329F08C2F0E942B1B6C2FCB
+:1035D00003C00E94271B682F70E080E090E0CF912D
+:1035E0000C94D215CF9108956DEE7EEF80E090E0BF
+:1035F0000E94041D60E082E090E00E94F21C60E006
+:1036000083E090E00E94F21C60E084E090E00E9481
+:10361000F21C60E085E090E00E94F21C60E086E031
+:1036200090E00C94F21C80E090E00E94EC1C21E001
+:103630008D3E9E4F09F020E0822F089582E090E0B9
+:103640000C94E41C682F82E090E00C94F21C83E060
+:1036500090E00C94E41C682F83E090E00C94F21C42
+:1036600084E090E00C94E41C682F84E090E00C94DB
+:10367000F21C86E090E00C94E41C682F86E090E059
+:103680000C94F21C0F931F938B3109F475C0A0F5B5
+:103690008E3009F484C0C0F4873009F45BC068F44C
+:1036A000863009F0AAC08091A201817F8E7F80932D
+:1036B000A20181E08093A801A1C0883009F496C0DE
+:1036C0008B3009F493C099C0813109F472C068F459
+:1036D000803109F092C08091A20183FB222720F95A
+:1036E00091E0922790FB83F950C0863109F47EC0A7
+:1036F000893109F47BC081C0853309F479C068F44D
+:10370000873209F475C028F48E3108F476C08D51E3
+:103710005AC0893209F46CC070C0833438F48A33DB
+:1037200008F050C0883309F461C067C0833409F4DD
+:103730005FC0883409F061C00E9412120FEF13EDD0
+:1037400020E3015010402040E1F700C000000E943B
+:1037500069194CC09091A201892F8095817080FBDE
+:1037600090F929F0966098609093A20147C0997FE4
+:10377000977F9093A2013AC08091A20181FB2227FA
+:1037800020F991E0922790FB81F98093A20199237F
+:1037900069F18091A20181608093A20127C080918C
+:1037A000A20182FB222720F991E0922790FB82F967
+:1037B000ECCF0E94121290910C0181E08927809336
+:1037C0000C0114C0895341E050E060E070E08A01D0
+:1037D0009B0104C0000F111F221F331F8A95D2F7CF
+:1037E000C901B8010E94D2150E94121281E006C0E0
+:1037F00061E070E080E090E0F5CF80E01F910F91F4
+:10380000089580E0089580E00895CF93C82F8091B7
+:10381000A801882319F0813049F031C0E0910D01F1
+:10382000F0910E018081823261F507C0E0910D01B7
+:10383000F0910E018081823261F48C2F0E94011C74
+:10384000811104C08C2F0E94421B17C081E090E0C0
+:1038500014C08C2F0E94031C81110EC0C43149F08A
+:1038600018F4CB3049F00FC0C93219F0C83321F039
+:103870000AC01092A80107C081E0817006C01092B2
+:10388000A80180E002C080E0F8CFCF9108950E94A7
+:10389000131B811102C00E94F41A0E94391B8093ED
+:1038A000B70180FF02C0869501C080E00C94B4018E
+:1038B0008091B701982F9695292F30E0233031055C
+:1038C0004CF49F5F990F8170892B81608093B701C1
+:1038D0000E943D1B8091B70186950C94B4018091A4
+:1038E000B701982F969591F09158990F8170892B77
+:1038F0008093B7018E7F91E009F490E08091B70149
+:1039000090FB80F98093B7010E943D1B8091B70125
+:1039100086950C94B4018091B701982F909590FBF7
+:1039200080F98093B7010E943D1B8091B70180FF11
+:1039300002C0869501C080E00C94B4019091B7015B
+:10394000892F86958F5F8F779170843028F4880F48
+:10395000892B8093B70102C09093B7018091B70182
+:103960008E7F91E009F490E08091B70190FB80F99F
+:103970008093B7010E943D1B8091B70186950C94FE
+:10398000B4012091B701922F96958927982F990F0E
+:10399000822F8170892B8093B7018E7F91E009F48B
+:1039A00090E08091B70190FB80F98093B7010E946D
+:1039B0003D1B8091B70186950C94B401EE0FFF1F5B
+:1039C0000590F491E02D0994F999FECF92BD81BD47
+:1039D000F89A992780B50895A8E1B0E042E050E058
+:1039E0000C940C1D262FF999FECF92BD81BDF89A3B
+:1039F000019700B4021639F01FBA20BD0FB6F89433
+:103A0000FA9AF99A0FBE08950196272F0E94F31C87
+:103A10000C94F21CDC01CB01FC01F999FECF06C02D
+:103A2000F2BDE1BDF89A319600B40D92415050407C
+:083A3000B8F70895F894FFCFE8
+:103A3800FF12077E0715074A07160701018F0103C2
+:0A3A48001323330F1F4F5F6F7F0041
+:00000001FF

+ 16 - 87
keyboard/atomic/Makefile

@@ -38,55 +38,6 @@
 # To rebuild project do "make clean" then "make all".
 #----------------------------------------------------------------------------
 
-# Target file name (without extension).
-TARGET = atomic
-
-# Directory common source filess exist
-TOP_DIR = ../..
-TMK_DIR = ../../tmk_core
-
-# Directory keyboard dependent files exist
-TARGET_DIR = .
-
-# # project specific files
-SRC = atomic.c
-
-ifdef keymap
-	KEYMAP = $(keymap)
-endif
-
-ifdef KEYMAP
-ifneq ("$(wildcard keymaps/$(KEYMAP).c)","")
-	KEYMAP_FILE = keymaps/$(KEYMAP).c
-else
-ifneq ("$(wildcard keymaps/$(KEYMAP)/keymap.c)","")
-	KEYMAP_FILE = keymaps/$(KEYMAP)/keymap.c
-ifneq ("$(wildcard keymaps/$(KEYMAP)/makefile.mk)","")
-	include keymaps/$(KEYMAP)/makefile.mk
-endif
-else
-$(error Keymap file does not exist)
-endif 
-endif
-
-else
-
-ifneq ("$(wildcard keymaps/default.c)","")
-	KEYMAP_FILE = keymaps/default.c
-else
-	KEYMAP_FILE = keymaps/default/keymap.c
-endif
-
-ifneq ("$(wildcard keymaps/default/makefile.mk)","")
-	include keymaps/default/makefile.mk
-endif
-
-endif
-
-SRC := $(KEYMAP_FILE) $(SRC)
-
-CONFIG_H = config.h
-
 # MCU name
 #MCU = at90usb1287
 MCU = atmega32u4
@@ -139,44 +90,22 @@ OPT_DEFS += -DBOOTLOADER_SIZE=4096
 #   change to "no" to disable the options, or define them in the makefile.mk in 
 #   the appropriate keymap folder that will get included automatically
 #
-BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE  = yes # Mouse keys(+4700)
-EXTRAKEY_ENABLE  = yes # Audio control and System control(+450)
-CONSOLE_ENABLE   = no # Console for debug(+400)
-COMMAND_ENABLE   = yes # Commands for debug and configuration
-NKRO_ENABLE      = no  # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
-MIDI_ENABLE      = no  # MIDI controls
-AUDIO_ENABLE     = no  # Audio output on port C6
-UNICODE_ENABLE   = no  # Unicode
-BLUETOOTH_ENABLE = no  # Enable Bluetooth with the Adafruit EZ-Key HID
-RGBLIGHT_ENABLE  = no  # Enable WS2812 RGB underlight.  Do not enable this with audio at the same time.
+BOOTMAGIC_ENABLE ?= no       # Virtual DIP switch configuration(+1000)
+MOUSEKEY_ENABLE ?= yes       # Mouse keys(+4700)
+EXTRAKEY_ENABLE ?= yes       # Audio control and System control(+450)
+CONSOLE_ENABLE ?= no         # Console for debug(+400)
+COMMAND_ENABLE ?= yes        # Commands for debug and configuration
+NKRO_ENABLE ?= no            # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+BACKLIGHT_ENABLE ?= yes      # Enable keyboard backlight functionality
+MIDI_ENABLE ?= no            # MIDI controls
+AUDIO_ENABLE ?= no           # Audio output on port C6
+UNICODE_ENABLE ?= no         # Unicode
+BLUETOOTH_ENABLE ?= no       # Enable Bluetooth with the Adafruit EZ-Key HID
+RGBLIGHT_ENABLE ?= no        # Enable WS2812 RGB underlight.  Do not enable this with audio at the same time.
 
 # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no  # Breathing sleep LED during USB suspend
-
-ifdef KEYMAP
-
-ifeq ("$(wildcard keymaps/$(KEYMAP).c)","")
-ifneq ("$(wildcard keymaps/$(KEYMAP)/makefile.mk)","")
-	include keymaps/$(KEYMAP)/makefile.mk
-endif 
-endif
-
-else
-
-ifneq ("$(wildcard keymaps/default/makefile.mk)","")
-	include keymaps/default/makefile.mk
-endif
-
-endif
-
-# Optimize size but this may cause error "relocation truncated to fit"
-#EXTRALDFLAGS = -Wl,--relax
-
-# Search Path
-VPATH += $(TARGET_DIR)
-VPATH += $(TOP_DIR)
-VPATH += $(TMK_DIR)
+SLEEP_LED_ENABLE ?= no    # Breathing sleep LED during USB suspend
 
-include $(TOP_DIR)/quantum/quantum.mk
+ifndef QUANTUM_DIR
+	include ../../Makefile
+endif

Разница между файлами не показана из-за своего большого размера
+ 1098 - 0
keyboard/atomic/keymaps/default/compiled.hex


keyboard/atomic/keymaps/default.c → keyboard/atomic/keymaps/default/keymap.c


+ 1 - 3
keyboard/planck/keymaps/pvc/makefile.mk

@@ -12,6 +12,4 @@ BLUETOOTH_ENABLE = no  # Enable Bluetooth with the Adafruit EZ-Key HID
 RGBLIGHT_ENABLE  = no  # Enable WS2812 RGB underlight.  Do not enable this with audio at the same time.
 
 # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no  # Breathing sleep LED during USB suspend
-
-CONFIG_H = keymaps/$(KEYMAP)/config.h
+SLEEP_LED_ENABLE = no  # Breathing sleep LED during USB suspend

Разница между файлами не показана из-за своего большого размера
+ 1700 - 0
keyboard/atomic/keymaps/pvc/compiled.hex


+ 0 - 17
keyboard/atomic/keymaps/pvc/makefile.mk

@@ -1,17 +0,0 @@
-BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE  = yes # Mouse keys(+4700)
-EXTRAKEY_ENABLE  = yes # Audio control and System control(+450)
-CONSOLE_ENABLE   = no  # Console for debug(+400)
-COMMAND_ENABLE   = yes # Commands for debug and configuration
-NKRO_ENABLE      = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
-MIDI_ENABLE      = no  # MIDI controls
-AUDIO_ENABLE     = yes # Audio output on port C6
-UNICODE_ENABLE   = no  # Unicode
-BLUETOOTH_ENABLE = no  # Enable Bluetooth with the Adafruit EZ-Key HID
-RGBLIGHT_ENABLE  = no  # Enable WS2812 RGB underlight.  Do not enable this with audio at the same time.
-
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no  # Breathing sleep LED during USB suspend
-
-CONFIG_H = keymaps/$(KEYMAP)/config.h

+ 14 - 41
keyboard/atreus/Makefile

@@ -38,26 +38,6 @@
 # To rebuild project do "make clean" then "make all".
 #----------------------------------------------------------------------------
 
-# Target file name (without extension).
-TARGET = atreus
-
-
-# Directory common source filess exist
-TOP_DIR = ../..
-TMK_DIR = ../../tmk_core
-
-# Directory keyboard dependent files exist
-TARGET_DIR = .
-
-# # project specific files
-SRC = atreus.c
-
-ifdef KEYMAP
-    SRC := keymaps/$(KEYMAP).c $(SRC)
-else
-    SRC := keymaps/default.c $(SRC)
-endif
-
 ifdef TEENSY2
     OPT_DEFS += -DATREUS_TEENSY2
     ATRUES_UPLOAD_COMMAND = teensy_loader_cli -w -mmcu=$(MCU) $(TARGET).hex
@@ -67,8 +47,6 @@ else
                             avrdude -p $(MCU) -c avr109 -U flash:w:$(TARGET).hex -P $(USB)
 endif
 
-CONFIG_H = config.h
-
 # MCU name
 #MCU = at90usb1287
 MCU = atmega32u4
@@ -123,30 +101,25 @@ OPT_DEFS += -DBOOTLOADER_SIZE=4096
 #   comment out to disable the options.
 #
 #BOOTMAGIC_ENABLE = yes	# Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE = yes	# Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes	# Audio control and System control(+450)
-CONSOLE_ENABLE = yes	# Console for debug(+400)
-COMMAND_ENABLE = yes    # Commands for debug and configuration
+MOUSEKEY_ENABLE ?= yes	# Mouse keys(+4700)
+EXTRAKEY_ENABLE ?= yes	# Audio control and System control(+450)
+CONSOLE_ENABLE ?= yes	# Console for debug(+400)
+COMMAND_ENABLE ?= yes    # Commands for debug and configuration
 # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-# SLEEP_LED_ENABLE = yes  # Breathing sleep LED during USB suspend
-NKRO_ENABLE = yes		# USB Nkey Rollover - not yet supported in LUFA
-# BACKLIGHT_ENABLE = yes  # Enable keyboard backlight functionality
-# MIDI_ENABLE = YES 		# MIDI controls
-UNICODE_ENABLE = YES 		# Unicode
-# BLUETOOTH_ENABLE = yes # Enable Bluetooth with the Adafruit EZ-Key HID
+# SLEEP_LED_ENABLE ?= yes  # Breathing sleep LED during USB suspend
+NKRO_ENABLE ?= yes		# USB Nkey Rollover - not yet supported in LUFA
+# BACKLIGHT_ENABLE ?= yes  # Enable keyboard backlight functionality
+# MIDI_ENABLE ?= YES 		# MIDI controls
+UNICODE_ENABLE ?= YES 		# Unicode
+# BLUETOOTH_ENABLE ?= yes # Enable Bluetooth with the Adafruit EZ-Key HID
 
 
-# Optimize size but this may cause error "relocation truncated to fit"
-#EXTRALDFLAGS = -Wl,--relax
-
-# Search Path
-VPATH += $(TARGET_DIR)
-VPATH += $(TOP_DIR)
-VPATH += $(TMK_DIR)
-
-include $(TOP_DIR)/quantum/quantum.mk
+ifndef QUANTUM_DIR
+	include ../../Makefile
+endif
 
 USB ?= /dev/cu.usbmodem1411
 
 upload: build
 	$(ATRUES_UPLOAD_COMMAND)
+	

Разница между файлами не показана из-за своего большого размера
+ 1328 - 0
keyboard/atreus/keymaps/default/compiled.hex


keyboard/atreus/keymaps/default.c → keyboard/atreus/keymaps/default/keymap.c


Разница между файлами не показана из-за своего большого размера
+ 1339 - 0
keyboard/atreus/keymaps/gerb/compiled.hex


keyboard/atreus/keymaps/gerb.c → keyboard/atreus/keymaps/gerb/keymap.c


+ 15 - 44
keyboard/bantam44/Makefile

@@ -38,28 +38,6 @@
 # To rebuild project do "make clean" then "make all".
 #----------------------------------------------------------------------------
 
-# Target file name (without extension).
-TARGET = Bantam44
-
-
-# Directory common source filess exist
-TOP_DIR = ../..
-TMK_DIR = ../../tmk_core
-
-# Directory keyboard dependent files exist
-TARGET_DIR = .
-
-# # project specific files
-SRC = Bantam44.c
-
-ifdef KEYMAP
-    SRC := keymaps/$(KEYMAP).c $(SRC)
-else
-    SRC := keymaps/default.c $(SRC)
-endif
-
-CONFIG_H = config.h
-
 # MCU name
 #MCU = at90usb1287
 MCU = atmega32u4
@@ -113,27 +91,20 @@ OPT_DEFS += -DBOOTLOADER_SIZE=512
 # Build Options
 #   comment out to disable the options.
 #
-BOOTMAGIC_ENABLE = yes	# Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE = yes	# Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes	# Audio control and System control(+450)
-CONSOLE_ENABLE = yes	# Console for debug(+400)
-COMMAND_ENABLE = yes    # Commands for debug and configuration
+BOOTMAGIC_ENABLE ?= yes	# Virtual DIP switch configuration(+1000)
+MOUSEKEY_ENABLE ?= yes	# Mouse keys(+4700)
+EXTRAKEY_ENABLE ?= yes	# Audio control and System control(+450)
+CONSOLE_ENABLE ?= yes	# Console for debug(+400)
+COMMAND_ENABLE ?= yes    # Commands for debug and configuration
 # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-# SLEEP_LED_ENABLE = yes  # Breathing sleep LED during USB suspend
-# NKRO_ENABLE = yes		# USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-# BACKLIGHT_ENABLE = yes  # Enable keyboard backlight functionality
-# MIDI_ENABLE = YES 		# MIDI controls
-# UNICODE_ENABLE = YES 		# Unicode
-# BLUETOOTH_ENABLE = yes # Enable Bluetooth with the Adafruit EZ-Key HID
-
-
-# Optimize size but this may cause error "relocation truncated to fit"
-#EXTRALDFLAGS = -Wl,--relax
-
-# Search Path
-VPATH += $(TARGET_DIR)
-VPATH += $(TOP_DIR)
-VPATH += $(TMK_DIR)
-
-include $(TOP_DIR)/quantum/quantum.mk
+# SLEEP_LED_ENABLE ?= yes  # Breathing sleep LED during USB suspend
+# NKRO_ENABLE ?= yes		# USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+# BACKLIGHT_ENABLE ?= yes  # Enable keyboard backlight functionality
+# MIDI_ENABLE ?= YES 		# MIDI controls
+# UNICODE_ENABLE ?= YES 		# Unicode
+# BLUETOOTH_ENABLE ?= yes # Enable Bluetooth with the Adafruit EZ-Key HID
+
+ifndef QUANTUM_DIR
+	include ../../Makefile
+endif
 

+ 2 - 2
keyboard/bantam44/Bantam44.c

@@ -1,4 +1,4 @@
-#include "Bantam44.h"
+#include "bantam44.h"
 
 __attribute__ ((weak))
 void matrix_init_user(void) {
@@ -22,4 +22,4 @@ void matrix_scan_kb(void) {
 	// runs every cycle (a lot)
 
 	matrix_scan_user();
-}
+}

keyboard/bantam44/Bantam44.h → keyboard/bantam44/bantam44.h


Разница между файлами не показана из-за своего большого размера
+ 1398 - 0
keyboard/bantam44/keymaps/default/compiled.hex


+ 1 - 1
keyboard/bantam44/keymaps/default.c

@@ -1,4 +1,4 @@
-#include "Bantam44.h"
+#include "bantam44.h"
  
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
     [0] = { /* Base */

+ 16 - 43
keyboard/clueboard1/Makefile

@@ -38,28 +38,8 @@
 # To rebuild project do "make clean" then "make all".
 #----------------------------------------------------------------------------
 
-# Target file name (without extension).
-TARGET = clueboard1
-
-
-# Directory common source filess exist
-TOP_DIR = ../..
-TMK_DIR = ../../tmk_core
-
-# Directory keyboard dependent files exist
-TARGET_DIR = .
-
 # # project specific files
-SRC = clueboard1.c \
-			led.c
-
-ifdef KEYMAP
-    SRC := keymaps/keymap_$(KEYMAP).c $(SRC)
-else
-    SRC := keymaps/keymap_default.c $(SRC)
-endif
-
-CONFIG_H = config.h
+SRC = led.c
 
 # MCU name
 MCU = atmega32u4
@@ -113,25 +93,18 @@ OPT_DEFS += -DBOOTLOADER_SIZE=4096
 # Build Options
 #   comment out to disable the options.
 #
-BOOTMAGIC_ENABLE = yes	# Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE = no	# Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes	# Audio control and System control(+450)
-CONSOLE_ENABLE = yes	# Console for debug(+400)
-COMMAND_ENABLE = yes    # Commands for debug and configuration
-NKRO_ENABLE = yes		# USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-AUDIO_ENABLE = no
-RGBLIGHT_ENABLE = no   # Enable keyboard underlight functionality
-MIDI_ENABLE = no 		# MIDI controls
-UNICODE_ENABLE = no 		# Unicode
-BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
-
-
-# Optimize size but this may cause error "relocation truncated to fit"
-#EXTRALDFLAGS = -Wl,--relax
-
-# Search Path
-VPATH += $(TARGET_DIR)
-VPATH += $(TOP_DIR)
-VPATH += $(TMK_DIR)
-
-include $(TOP_DIR)/quantum/quantum.mk
+BOOTMAGIC_ENABLE ?= yes	# Virtual DIP switch configuration(+1000)
+MOUSEKEY_ENABLE ?= no	# Mouse keys(+4700)
+EXTRAKEY_ENABLE ?= yes	# Audio control and System control(+450)
+CONSOLE_ENABLE ?= yes	# Console for debug(+400)
+COMMAND_ENABLE ?= yes    # Commands for debug and configuration
+NKRO_ENABLE ?= yes		# USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+AUDIO_ENABLE ?= no
+RGBLIGHT_ENABLE ?= no   # Enable keyboard underlight functionality
+MIDI_ENABLE ?= no 		# MIDI controls
+UNICODE_ENABLE ?= no 		# Unicode
+BLUETOOTH_ENABLE ?= no # Enable Bluetooth with the Adafruit EZ-Key HID
+
+ifndef QUANTUM_DIR
+	include ../../Makefile
+endif

Разница между файлами не показана из-за своего большого размера
+ 1183 - 0
keyboard/clueboard1/keymaps/default/compiled.hex


keyboard/clueboard1/keymaps/keymap_default.c → keyboard/clueboard1/keymaps/default/keymap.c


+ 16 - 42
keyboard/clueboard2/Makefile

@@ -38,27 +38,7 @@
 # To rebuild project do "make clean" then "make all".
 #----------------------------------------------------------------------------
 
-# Target file name (without extension).
-TARGET = clueboard2
-
-
-# Directory common source filess exist
-TOP_DIR = ../..
-TMK_DIR = ../../tmk_core
-
-# Directory keyboard dependent files exist
-TARGET_DIR = .
-
-# # project specific files
-SRC = clueboard2.c led.c
-
-ifdef KEYMAP
-    SRC := keymaps/keymap_$(KEYMAP).c $(SRC)
-else
-    SRC := keymaps/keymap_default.c $(SRC)
-endif
-
-CONFIG_H = config.h
+SRC = led.c
 
 # MCU name
 #MCU = at90usb1287
@@ -113,29 +93,23 @@ OPT_DEFS += -DBOOTLOADER_SIZE=4096
 # Build Options
 #   comment out to disable the options.
 #
-BOOTMAGIC_ENABLE = yes	# Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE = no	# Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes	# Audio control and System control(+450)
-CONSOLE_ENABLE = yes	# Console for debug(+400)
-COMMAND_ENABLE = yes    # Commands for debug and configuration
-NKRO_ENABLE = yes		# USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-RGBLIGHT_ENABLE = no   # Enable keyboard underlight functionality (+4870)
-BACKLIGHT_ENABLE = yes  # Enable keyboard backlight functionality (+1150)
-MIDI_ENABLE = no 		# MIDI controls
-AUDIO_ENABLE = no
-UNICODE_ENABLE = no 		# Unicode
-BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
+BOOTMAGIC_ENABLE ?= yes	# Virtual DIP switch configuration(+1000)
+MOUSEKEY_ENABLE ?= no	# Mouse keys(+4700)
+EXTRAKEY_ENABLE ?= yes	# Audio control and System control(+450)
+CONSOLE_ENABLE ?= yes	# Console for debug(+400)
+COMMAND_ENABLE ?= yes    # Commands for debug and configuration
+NKRO_ENABLE ?= yes		# USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+RGBLIGHT_ENABLE ?= no   # Enable keyboard underlight functionality (+4870)
+BACKLIGHT_ENABLE ?= yes  # Enable keyboard backlight functionality (+1150)
+MIDI_ENABLE ?= no 		# MIDI controls
+AUDIO_ENABLE ?= no
+UNICODE_ENABLE ?= no 		# Unicode
+BLUETOOTH_ENABLE ?= no # Enable Bluetooth with the Adafruit EZ-Key HID
 
 #ifdef BACKLIGHT_ENABLE
     SRC := backlight.c $(SRC)
 #endif
 
-# Optimize size but this may cause error "relocation truncated to fit"
-#EXTRALDFLAGS = -Wl,--relax
-
-# Search Path
-VPATH += $(TARGET_DIR)
-VPATH += $(TOP_DIR)
-VPATH += $(TMK_DIR)
-
-include $(TOP_DIR)/quantum/quantum.mk
+ifndef QUANTUM_DIR
+	include ../../Makefile
+endif

Разница между файлами не показана из-за своего большого размера
+ 1246 - 0
keyboard/clueboard2/keymaps/default/compiled.hex


keyboard/clueboard2/keymaps/keymap_default.c → keyboard/clueboard2/keymaps/default/keymap.c


+ 49 - 0
keyboard/clueboard2/keymaps/max/Makefile

@@ -0,0 +1,49 @@
+#----------------------------------------------------------------------------
+# On command line:
+#
+# make all = Make software.
+#
+# make clean = Clean out built project files.
+#
+# make coff = Convert ELF to AVR COFF.
+#
+# make extcoff = Convert ELF to AVR Extended COFF.
+#
+# make program = Download the hex file to the device.
+#                Please customize your programmer settings(PROGRAM_CMD)
+#
+# make teensy = Download the hex file to the device, using teensy_loader_cli.
+#               (must have teensy_loader_cli installed).
+#
+# make dfu = Download the hex file to the device, using dfu-programmer (must
+#            have dfu-programmer installed).
+#
+# make flip = Download the hex file to the device, using Atmel FLIP (must
+#             have Atmel FLIP installed).
+#
+# make dfu-ee = Download the eeprom file to the device, using dfu-programmer
+#               (must have dfu-programmer installed).
+#
+# make flip-ee = Download the eeprom file to the device, using Atmel FLIP
+#                (must have Atmel FLIP installed).
+#
+# make debug = Start either simulavr or avarice as specified for debugging,
+#              with avr-gdb or avr-insight as the front end for debugging.
+#
+# make filename.s = Just compile filename.c into the assembler code only.
+#
+# make filename.i = Create a preprocessed source file for use in submitting
+#                   bug reports to the GCC project.
+#
+# To rebuild project do "make clean" then "make all".
+#----------------------------------------------------------------------------
+
+# Build Options
+#   change to "no" to disable the options, or define them in the makefile.mk in 
+#   the appropriate keymap folder that will get included automatically
+#
+RGBLIGHT_ENABLE = yes        # Enable WS2812 RGB underlight.  Do not enable this with audio at the same time.
+
+ifndef QUANTUM_DIR
+	include ../../../../Makefile
+endif

Разница между файлами не показана из-за своего большого размера
+ 1536 - 0
keyboard/clueboard2/keymaps/max/compiled.hex


keyboard/clueboard2/keymaps/keymap_max.c → keyboard/clueboard2/keymaps/max/keymap.c


Разница между файлами не показана из-за своего большого размера
+ 1246 - 0
keyboard/clueboard2/keymaps/skully/compiled.hex


keyboard/clueboard2/keymaps/keymap_skully.c → keyboard/clueboard2/keymaps/skully/keymap.c


+ 17 - 41
keyboard/cluepad/Makefile

@@ -38,27 +38,8 @@
 # To rebuild project do "make clean" then "make all".
 #----------------------------------------------------------------------------
 
-# Target file name (without extension).
-TARGET = cluepad
-
-
-# Directory common source filess exist
-TOP_DIR = ../..
-TMK_DIR = ../../tmk_core
-
-# Directory keyboard dependent files exist
-TARGET_DIR = .
-
 # # project specific files
-SRC = cluepad.c backlight.c
-
-ifdef KEYMAP
-    SRC := keymaps/keymap_$(KEYMAP).c $(SRC)
-else
-    SRC := keymaps/keymap_default.c $(SRC)
-endif
-
-CONFIG_H = config.h
+SRC = backlight.c
 
 # MCU name
 #MCU = at90usb1287
@@ -113,24 +94,19 @@ OPT_DEFS += -DBOOTLOADER_SIZE=4096
 # Build Options
 #   comment out to disable the options.
 #
-BOOTMAGIC_ENABLE = yes	# Virtual DIP switch configuration(+1000)
-# MOUSEKEY_ENABLE = yes	# Mouse keys(+4700)
-# EXTRAKEY_ENABLE = yes	# Audio control and System control(+450)
-# CONSOLE_ENABLE = yes	# Console for debug(+400)
-# COMMAND_ENABLE = yes    # Commands for debug and configuration
-NKRO_ENABLE = yes		# USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-BACKLIGHT_ENABLE = yes  # Enable numpad's backlight functionality
-RGBLIGHT_ENABLE = yes
-# MIDI_ENABLE = YES 		# MIDI controls
-# UNICODE_ENABLE = YES 		# Unicode
-# BLUETOOTH_ENABLE = yes # Enable Bluetooth with the Adafruit EZ-Key HID
-
-# Optimize size but this may cause error "relocation truncated to fit"
-#EXTRALDFLAGS = -Wl,--relax
-
-# Search Path
-VPATH += $(TARGET_DIR)
-VPATH += $(TOP_DIR)
-VPATH += $(TMK_DIR)
-
-include $(TOP_DIR)/quantum/quantum.mk
+BOOTMAGIC_ENABLE ?= yes	# Virtual DIP switch configuration(+1000)
+# MOUSEKEY_ENABLE ?= yes	# Mouse keys(+4700)
+# EXTRAKEY_ENABLE ?= yes	# Audio control and System control(+450)
+# CONSOLE_ENABLE ?= yes	# Console for debug(+400)
+# COMMAND_ENABLE ?= yes    # Commands for debug and configuration
+NKRO_ENABLE ?= yes		# USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+BACKLIGHT_ENABLE ?= yes  # Enable numpad's backlight functionality
+RGBLIGHT_ENABLE ?= yes
+# MIDI_ENABLE ?= YES 		# MIDI controls
+# UNICODE_ENABLE ?= YES 		# Unicode
+# BLUETOOTH_ENABLE ?= yes # Enable Bluetooth with the Adafruit EZ-Key HID
+
+
+ifndef QUANTUM_DIR
+	include ../../Makefile
+endif

Разница между файлами не показана из-за своего большого размера
+ 1123 - 0
keyboard/cluepad/keymaps/default/compiled.hex


keyboard/cluepad/keymaps/keymap_default.c → keyboard/cluepad/keymaps/default/keymap.c


+ 15 - 59
keyboard/ergodox_ez/Makefile

@@ -14,30 +14,10 @@
 #
 #----------------------------------------------------------------------------
 
-# Target file name (without extension).
-TARGET = ergodox_ez
-
-
-# Directory common source filess exist
-TOP_DIR = ../..
-TMK_DIR = ../../tmk_core
-
-# Directory keyboard dependent files exist
-TARGET_DIR = .
-
 # # project specific files
-SRC = ergodox_ez.c \
-	  twimaster.c \
+SRC = twimaster.c \
 	  matrix.c
 
-ifdef KEYMAP
-    SRC := keymaps/$(KEYMAP)/keymap.c $(SRC)
-else
-    SRC := keymaps/default/keymap.c $(SRC)
-endif
-
-CONFIG_H = config.h
-
 # MCU name
 MCU = atmega32u4
 
@@ -90,41 +70,17 @@ OPT_DEFS += -DBOOTLOADER_SIZE=512
 # Build Options
 #   comment out to disable the options.
 #
-BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE  = yes # Mouse keys(+4700)
-EXTRAKEY_ENABLE  = yes # Audio control and System control(+450)
-# CONSOLE_ENABLE   = yes # Console for debug(+400)
-COMMAND_ENABLE   = yes # Commands for debug and configuration
-CUSTOM_MATRIX    = yes # Custom matrix file for the ErgoDox EZ
-SLEEP_LED_ENABLE = yes  # Breathing sleep LED during USB suspend
-NKRO_ENABLE      = yes		# USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-# MIDI_ENABLE    = yes 		# MIDI controls
-# UNICODE_ENABLE = yes 		# Unicode
-
-# If you want to have your own config_user.h, you can just put it in
-# your keymap directory. Anything you set there will take precedence
-# over the global config.h.
-ifneq ("$(wildcard keymaps/$(KEYMAP)/config_user.h)","")
-CONFIG_USER_H = keymaps/$(KEYMAP)/config_user.h
-endif
-
-ifdef KEYMAP
-
-ifeq ("$(wildcard keymaps/$(KEYMAP).c)","")
-ifneq ("$(wildcard keymaps/$(KEYMAP)/makefile.mk)","")
-	include keymaps/$(KEYMAP)/makefile.mk
-endif
-endif
-endif
-
-
-# Optimize size but this may cause error "relocation truncated to fit"
-#EXTRALDFLAGS = -Wl,--relax
-
-# Search Path
-VPATH += $(TARGET_DIR)
-VPATH += $(TOP_DIR)
-VPATH += $(TMK_DIR)
-
-include $(TOP_DIR)/quantum/quantum.mk
-
+BOOTMAGIC_ENABLE ?= yes # Virtual DIP switch configuration(+1000)
+MOUSEKEY_ENABLE  ?= yes # Mouse keys(+4700)
+EXTRAKEY_ENABLE  ?= yes # Audio control and System control(+450)
+# CONSOLE_ENABLE   ?= yes # Console for debug(+400)
+COMMAND_ENABLE   ?= yes # Commands for debug and configuration
+CUSTOM_MATRIX    ?= yes # Custom matrix file for the ErgoDox EZ
+SLEEP_LED_ENABLE ?= yes  # Breathing sleep LED during USB suspend
+NKRO_ENABLE      ?= yes		# USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+# MIDI_ENABLE    ?= yes 		# MIDI controls
+# UNICODE_ENABLE ?= yes 		# Unicode
+
+ifndef QUANTUM_DIR
+	include ../../Makefile
+endif

Разница между файлами не показана из-за своего большого размера
+ 0 - 1146
keyboard/ergodox_ez/keymaps/ab/ab.hex


Разница между файлами не показана из-за своего большого размера
+ 1147 - 0
keyboard/ergodox_ez/keymaps/ab/compiled.hex


Разница между файлами не показана из-за своего большого размера
+ 0 - 1152
keyboard/ergodox_ez/keymaps/adnw/k_o_y/k_o_y.hex


Разница между файлами не показана из-за своего большого размера
+ 1158 - 0
keyboard/ergodox_ez/keymaps/adnw_k_o_y/compiled.hex


keyboard/ergodox_ez/keymaps/adnw/k_o_y/keymap.c → keyboard/ergodox_ez/keymaps/adnw_k_o_y/keymap.c


keyboard/ergodox_ez/keymaps/adnw/k_o_y/readme.md → keyboard/ergodox_ez/keymaps/adnw_k_o_y/readme.md


Разница между файлами не показана из-за своего большого размера
+ 1172 - 0
keyboard/ergodox_ez/keymaps/alexjj/compiled.hex


Разница между файлами не показана из-за своего большого размера
+ 0 - 1141
keyboard/ergodox_ez/keymaps/alexjj/keymap.hex


keyboard/ergodox_ez/keymaps/algernon/makefile.mk → keyboard/ergodox_ez/keymaps/algernon/Makefile


Разница между файлами не показана из-за своего большого размера
+ 0 - 1259
keyboard/ergodox_ez/keymaps/algernon/algernon.hex


Разница между файлами не показана из-за своего большого размера
+ 1257 - 0
keyboard/ergodox_ez/keymaps/algernon/compiled.hex


+ 1 - 1
keyboard/ergodox_ez/keymaps/algernon/config_user.h

@@ -1,7 +1,7 @@
 #ifndef CONFIG_USER_H
 #define CONFIG_USER_H 1
 
-#include "config.h"
+#include "../../config.h"
 
 #undef MOUSEKEY_TIME_TO_MAX
 #undef MOUSEKEY_MAX_SPEED

Разница между файлами не показана из-за своего большого размера
+ 0 - 1121
keyboard/ergodox_ez/keymaps/andrew_osx/andrew_osx.hex


Разница между файлами не показана из-за своего большого размера
+ 1158 - 0
keyboard/ergodox_ez/keymaps/andrew_osx/compiled.hex


Разница между файлами не показана из-за своего большого размера
+ 0 - 1193
keyboard/ergodox_ez/keymaps/bepo/bepo.hex


Разница между файлами не показана из-за своего большого размера
+ 1190 - 0
keyboard/ergodox_ez/keymaps/bepo/compiled.hex


+ 1 - 0
keyboard/ergodox_ez/keymaps/coderkun_neo2/Makefile

@@ -0,0 +1 @@
+UNICODE_ENABLE = yes

Разница между файлами не показана из-за своего большого размера
+ 0 - 1143
keyboard/ergodox_ez/keymaps/coderkun_neo2/coderkun_neo2.hex


Разница между файлами не показана из-за своего большого размера
+ 1195 - 0
keyboard/ergodox_ez/keymaps/coderkun_neo2/compiled.hex


+ 1 - 1
keyboard/ergodox_ez/keymaps/coderkun_neo2/keymap.c

@@ -1,7 +1,7 @@
 #include "ergodox_ez.h"
 #include "debug.h"
 #include "action_layer.h"
-#include "keymap_extras/keymap_neo2.h"
+#include "keymap_neo2.h"
 
 // Layer names
 #define BASE 0      // default layer

Разница между файлами не показана из-за своего большого размера
+ 0 - 1121
keyboard/ergodox_ez/keymaps/colemak/colemak.hex


Разница между файлами не показана из-за своего большого размера
+ 1158 - 0
keyboard/ergodox_ez/keymaps/colemak/compiled.hex


Разница между файлами не показана из-за своего большого размера
+ 0 - 1142
keyboard/ergodox_ez/keymaps/colemak_osx_pc_no/colemak_osx_pc_no.hex


Разница между файлами не показана из-за своего большого размера
+ 1179 - 0
keyboard/ergodox_ez/keymaps/colemak_osx_pc_no/compiled.hex


Разница между файлами не показана из-за своего большого размера
+ 1184 - 0
keyboard/ergodox_ez/keymaps/csharp_dev/compiled.hex


Разница между файлами не показана из-за своего большого размера
+ 0 - 1147
keyboard/ergodox_ez/keymaps/csharp_dev/csharp_dev.hex


Разница между файлами не показана из-за своего большого размера
+ 1169 - 0
keyboard/ergodox_ez/keymaps/dave/compiled.hex


Разница между файлами не показана из-за своего большого размера
+ 0 - 1172
keyboard/ergodox_ez/keymaps/dave/dave.hex


Разница между файлами не показана из-за своего большого размера
+ 1158 - 0
keyboard/ergodox_ez/keymaps/default/compiled.hex


Разница между файлами не показана из-за своего большого размера
+ 0 - 1121
keyboard/ergodox_ez/keymaps/default/default.hex


Разница между файлами не показана из-за своего большого размера
+ 1158 - 0
keyboard/ergodox_ez/keymaps/default_osx/compiled.hex


Разница между файлами не показана из-за своего большого размера
+ 0 - 1121
keyboard/ergodox_ez/keymaps/default_osx/default_osx.hex


Разница между файлами не показана из-за своего большого размера
+ 1169 - 0
keyboard/ergodox_ez/keymaps/dragon788/compiled.hex


Разница между файлами не показана из-за своего большого размера
+ 0 - 1131
keyboard/ergodox_ez/keymaps/dragon788/dragon788.hex


Разница между файлами не показана из-за своего большого размера
+ 1158 - 0
keyboard/ergodox_ez/keymaps/dvorak/compiled.hex


Разница между файлами не показана из-за своего большого размера
+ 0 - 1121
keyboard/ergodox_ez/keymaps/dvorak/dvorak.hex


Разница между файлами не показана из-за своего большого размера
+ 1158 - 0
keyboard/ergodox_ez/keymaps/dvorak_intl_squisher/compiled.hex


Разница между файлами не показана из-за своего большого размера
+ 0 - 1127
keyboard/ergodox_ez/keymaps/dvorak_intl_squisher/dvorak_intl_squisher.hex


Разница между файлами не показана из-за своего большого размера
+ 1175 - 0
keyboard/ergodox_ez/keymaps/dvorak_spanish/compiled.hex


Разница между файлами не показана из-за своего большого размера
+ 0 - 5371
keyboard/ergodox_ez/keymaps/dvorak_spanish/dvorak_spanish.hex


Разница между файлами не показана из-за своего большого размера
+ 1158 - 0
keyboard/ergodox_ez/keymaps/emacs_osx_dk/compiled.hex


Разница между файлами не показана из-за своего большого размера
+ 0 - 1121
keyboard/ergodox_ez/keymaps/emacs_osx_dk/emacs_osx_dk.hex


Разница между файлами не показана из-за своего большого размера
+ 1167 - 0
keyboard/ergodox_ez/keymaps/erez_experimental/compiled.hex


Разница между файлами не показана из-за своего большого размера
+ 0 - 1107
keyboard/ergodox_ez/keymaps/erez_experimental/erez_experimental.hex


Разница между файлами не показана из-за своего большого размера
+ 1158 - 0
keyboard/ergodox_ez/keymaps/german-kinergo/compiled.hex


Разница между файлами не показана из-за своего большого размера
+ 0 - 1121
keyboard/ergodox_ez/keymaps/german-kinergo/german-kinergo.hex


Разница между файлами не показана из-за своего большого размера
+ 1274 - 0
keyboard/ergodox_ez/keymaps/german-manuneo/compiled.hex


Разница между файлами не показана из-за своего большого размера
+ 0 - 1240
keyboard/ergodox_ez/keymaps/german-manuneo/german-manuneo.hex


Разница между файлами не показана из-за своего большого размера
+ 1158 - 0
keyboard/ergodox_ez/keymaps/german/compiled.hex


Разница между файлами не показана из-за своего большого размера
+ 0 - 1121
keyboard/ergodox_ez/keymaps/german/german.hex


Разница между файлами не показана из-за своего большого размера
+ 1158 - 0
keyboard/ergodox_ez/keymaps/j3rn/compiled.hex


+ 0 - 0
keyboard/ergodox_ez/keymaps/j3rn/j3rn.hex


Некоторые файлы не были показаны из-за большого количества измененных файлов