From d9e4dad0a828a8a904f44dda090a4d6d08fe2948 Mon Sep 17 00:00:00 2001 From: Jack Humbert Date: Sat, 11 Jun 2016 13:31:31 -0400 Subject: 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 --- keyboard/preonic/Makefile | 94 +- keyboard/preonic/keymaps/default/Makefile | 63 + keyboard/preonic/keymaps/default/compiled.hex | 1590 +++++++++++++++++++++++++ keyboard/preonic/keymaps/default/makefile.mk | 1 - keyboard/preonic/keymaps/lock/README.md | 3 - keyboard/preonic/keymaps/lock/keymap.c | 105 -- keyboard/preonic/keymaps/nerdgasm/README.md | 34 - keyboard/preonic/keymaps/nerdgasm/keymap.c | 117 -- 8 files changed, 1669 insertions(+), 338 deletions(-) create mode 100644 keyboard/preonic/keymaps/default/Makefile create mode 100644 keyboard/preonic/keymaps/default/compiled.hex delete mode 100644 keyboard/preonic/keymaps/default/makefile.mk delete mode 100644 keyboard/preonic/keymaps/lock/README.md delete mode 100644 keyboard/preonic/keymaps/lock/keymap.c delete mode 100644 keyboard/preonic/keymaps/nerdgasm/README.md delete mode 100644 keyboard/preonic/keymaps/nerdgasm/keymap.c (limited to 'keyboard/preonic') diff --git a/keyboard/preonic/Makefile b/keyboard/preonic/Makefile index 259dd6686..0940d8f27 100644 --- a/keyboard/preonic/Makefile +++ b/keyboard/preonic/Makefile @@ -38,45 +38,6 @@ # To rebuild project do "make clean" then "make all". #---------------------------------------------------------------------------- -# Target file name (without extension). -TARGET = preonic - - -# Directory common source filess exist -TOP_DIR = ../.. -TMK_DIR = ../../tmk_core - -# Directory keyboard dependent files exist -TARGET_DIR = . - -# # project specific files -SRC = preonic.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 -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 -endif -SRC := $(KEYMAP_FILE) $(SRC) - -CONFIG_H = config.h - # MCU name #MCU = at90usb1287 MCU = atmega32u4 @@ -94,7 +55,6 @@ MCU = atmega32u4 # software delays. F_CPU = 16000000 - # # LUFA specific # @@ -130,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 = 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. +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 \ No newline at end of file diff --git a/keyboard/preonic/keymaps/default/Makefile b/keyboard/preonic/keymaps/default/Makefile new file mode 100644 index 000000000..4fbe3b661 --- /dev/null +++ b/keyboard/preonic/keymaps/default/Makefile @@ -0,0 +1,63 @@ +#---------------------------------------------------------------------------- +# 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 +# +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 = 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 + +ifndef QUANTUM_DIR + include ../../../../Makefile +endif \ No newline at end of file diff --git a/keyboard/preonic/keymaps/default/compiled.hex b/keyboard/preonic/keymaps/default/compiled.hex new file mode 100644 index 000000000..dfadd031e --- /dev/null +++ b/keyboard/preonic/keymaps/default/compiled.hex @@ -0,0 +1,1590 @@ +:100000000C94AE050C94F2050C94F2050C94F205D8 +:100010000C94F2050C94F2050C94F2050C94F20584 +:100020000C94F2050C94F2050C9483180C94551959 +:100030000C94B7260C94F2050C94F2050C94F2057E +:100040000C94F2050C94F2050C94F2050C94F20554 +:100050000C94F2050C941F270C94F2050C94F205F5 +:100060000C94F2050C94F2050C94F2050C94F20534 +:100070000C94F2050C94F2050C94F2050C94F20524 +:100080000C94650E0C94F2050C94F2050C94F20598 +:100090000C94F2050C94F2050C94F2050C94F20504 +:1000A0000C94F2050C94F2050C94F205C219E419B3 +:1000B000D21AE419D21A291A4C1AD21AA11AB41A4D +:1000C0009E1D9E1DCD1DCD1D0C1E2C1E821F821F30 +:1000D000371E821FE71EE71E4E1F571F821F7C1F01 +:1000E000F41EF41EF41EF41EF41EF41EF41EF41E80 +:1000F000F41EF41EF41EF41EF41EF41EF41EF41E70 +:10010000041F121F191F201F2A1F07634236B79BA7 +:10011000D8A71A39685618AEBAAB558C1D3CB7CC67 +:100120005763BD6DEDFD753EF6177231BF000000DF +:10013000803F08000000BE922449123EABAAAA2AC2 +:10014000BECDCCCC4C3E00000080BEABAAAAAA3EDD +:1001500000000000BF000000803F00000000000819 +:100160004178D3BB4387D1133D190E3CC3BD4282B6 +:10017000AD2B3E68EC8276BED98FE1A93E4C80EF74 +:10018000FFBE01C4FF7F3F000000000035001E00DD +:100190001F0020002100220023002400250026004B +:1001A00027002A002B0014001A0008001500170071 +:1001B0001C0018000C00120013004C002900040061 +:1001C0001600070009000A000B000D000E000F00CA +:1001D00033003400E1001D001B000600190005007B +:1001E0001100100036003700380028000530E0000C +:1001F000E200E30003302C002C00043050005100DA +:1002000052004F0035001E001F0020002100220078 +:10021000230024002500260027002A002B001400BC +:100220001A00090013000A000D000F0018001C003E +:1002300033004C00290004001500160017000700C9 +:100240000B00110008000C0012003400E1001D003A +:100250001B000600190005000E00100036003700D4 +:10026000380028000530E000E200E30003302C00F5 +:100270002C0004305000510052004F0035001E0089 +:100280001F0020002100220023002400250026005A +:1002900027002A002B0034003600370013001C0012 +:1002A00009000A00060015000F004C002900040098 +:1002B0001200080018000C0007000B0017001100C6 +:1002C00016003800E100330014000D000E001B0082 +:1002D000050010001A0019001D0028000530E0007C +:1002E000E200E30003302C002C00043050005100E9 +:1002F00052004F0035021E021F022002210222027C +:10030000230224022502260227022A0035021E02A9 +:100310001F022002210222022302240225022602B9 +:1003200027024C004C003A003B003C003D003E00E0 +:100330003F002D022E022F02300231020100400048 +:1003400041004200430044004500320264020100C3 +:100350000100010001000100010001000100010095 +:1003600001000100AB00AA00A900AE0035001E008C +:100370001F00200021002200230024002500260069 +:1003800027002A0035001E001F0020002100220047 +:10039000230024002500260027004C004C003A00D2 +:1003A0003B003C003D003E003F002D002E002F0092 +:1003B0003000310001004000410042004300440091 +:1003C000450032006400010001000100010001004D +:1003D000010001000100010001000100AB00AA00C2 +:1003E000A900AE00000000000000000000000000B6 +:1003F00000000000000000000000000000000000FD +:1004000000000000000000000000000000000000EC +:1004100000000000000000000000000000000000DC +:1004200000000000000000000000000000000000CC +:1004300000000000000000000000000000000000BC +:1004400000000000000000000000000000000000AC +:10045000000000000000000000000000000000009C +:10046000000000000000000000000000000000008C +:10047000000000000000000000000000000000007C +:10048000000000000000000000000000000000006C +:10049000000000000000000000000000000000005C +:1004A000000000000000000000000000000000004C +:1004B000000000000000000000000000000000003C +:1004C000000000000000000000000000000000002C +:1004D000000000000000000000000000000000001C +:1004E000000000000000000000000000000000000C +:1004F00000000000000000000000000000000000FC +:1005000000000000000000000000000000000000EB +:1005100000000000000000000000000000000000DB +:1005200000000000000000000000000000000000CB +:1005300000000000000000000000000000000000BB +:1005400000000000000000000000000000000000AB +:10055000000000000000000000000000000000009B +:10056000000000000000000000000000000000008B +:10057000000000000000000000000000000000007B +:10058000000000000000000000000000000000006B +:10059000000000000000000000000000000000005B +:1005A000000000000000000000000000000000004B +:1005B000000000000000000000000000000000003B +:1005C000000000000000000000000000000000002B +:1005D000000000000000000000000000000000001B +:1005E000000000000000000000000000000000000B +:1005F00000000000000000000000000000000000FB +:1006000000000000000000000000000000000000EA +:1006100000000000000000000000000000000000DA +:1006200000000000000000000000000000000000CA +:1006300000000000000000000000000000000000BA +:1006400000000000000000000000000000000000AA +:10065000000000000000000000000000000000009A +:10066000000000000000000000000000000000008A +:10067000000000000000000000000000000000007A +:10068000000000000000000000000000000000006A +:10069000000000000000000000000000000000005A +:1006A000000000000000000000000000000000004A +:1006B000000000000000000000000000000000003A +:1006C000000000000000000000000000000000002A +:1006D000000000000000000000000000000000001A +:1006E000000000000000000000000000000000000A +:1006F00000000000000000000000000000000000FA +:1007000000000000000000000000000000000000E9 +:1007100000000000000000000000000000000000D9 +:1007200000000000000000000000000000000000C9 +:1007300000000000000000000000000000000000B9 +:1007400000000000000000000000000000000000A9 +:100750000000000000000000000000000000000099 +:100760000000000000000000000000000000000089 +:100770000000000000000000000000000000000079 +:100780000000000000000000000000000000000069 +:100790000000000000000000000000000000000059 +:1007A0000000000000000000000000000000000049 +:1007B0000000000000000000000000000000000039 +:1007C0000000000000000000000000000000000029 +:1007D0000000000000000000000000000000000019 +:1007E0000000000000000000000000000000000009 +:1007F00000000000000000000000000000000000F9 +:1008000000000000000000000000000000000000E8 +:1008100000000000000000000000000000000000D8 +:1008200000000000000000000000000000000000C8 +:1008300000000000000000000000000000000000B8 +:1008400000000000000000000000000000000000A8 +:100850000000000000000000000000000000000098 +:100860000000000000000000000000000000000088 +:100870000000000000000000000000000000000078 +:100880000000000000000000000000000000000068 +:100890000000000000000000000000000000000058 +:1008A0000000000000000000000000000000000048 +:1008B0000000000000000000000000000000000038 +:1008C0000000000000000000000000000000000028 +:1008D0000000000000000000000000000000000018 +:1008E0000000000000000000000000000000000008 +:1008F00000000000000000000000000000000000F8 +:100900000000000000000000000000003A003B0072 +:100910003C003D003E003F004000410042004300DB +:1009200044004500010000500100010001000100E9 +:10093000010001000100010001004C000100010064 +:10094000010020502150135012500030013002306D +:100950000100010001002750265023502450285048 +:100960002950010001000100010001000100010007 +:10097000010001000100010001000100010001006F +:10098000010001002A0354006800650020005000A7 +:10099000720065006F006E006900630020004B006C +:1009A0006500790062006F00610072006400000061 +:1009B0002C034F007200740068006F006C00690027 +:1009C0006E0065006100720020004B006500790038 +:1009D00062006F0061007200640073000000040395 +:1009E000090409026D00040100A0FA0904000001D5 +:1009F00003010100092111010001223F00070581C7 +:100A00000308000A09040100010301020009211181 +:100A1000010001224D000705820308000A090402B3 +:100A20000001030000000921110100012236000726 +:100A300005830308000A09040300010300000009FC +:100A40002111010001223900070584031000011261 +:100A500001100100000008EDFE61600100010200CC +:100A60000105010906A101050719E029E71500257F +:100A7000019508750181020508190129059505757B +:100A80000191029501750391010507190029771558 +:100A9000002501957875018102C005010980A10139 +:100AA000850216010026B7001A01002AB70075104A +:100AB00095018100C0050C0901A101850316010003 +:100AC000269C021A01002A9C02751095018100C023 +:100AD00005010902A1010901A10005091901290562 +:100AE00015002501950575018102950175038101A8 +:100AF0000501093009311581257F950275088106A8 +:100B000009381581257F950175088106050C0A387D +:100B1000021581257F950175088106C0C005010970 +:100B200006A101050719E029E715002501950875BB +:100B300001810295017508810105081901290595B2 +:100B400005750191029501750391010507190029A9 +:100B5000FF150025FF950675088100C011241FBEF2 +:100B6000CFEFDAE0DEBFCDBF04B603FE24C0809134 +:100B7000D1039091D203A091D303B091D4038730D5 +:100B8000904BA740B04BB9F41092D1031092D2030E +:100B90001092D3031092D40314BE84B7877F84BF0E +:100BA00088E10FB6F89480936000109260000FBE49 +:100BB000E0E0F8E3099512E0A0E0B1E0EAECF1E64C +:100BC00002C005900D92A237B107D9F713E0A2E752 +:100BD000B2E001C01D92A13DB107E1F70E94C91525 +:100BE0000C94E3300C940000089581E008950C9477 +:100BF000F4050C94F505279A2F988FEF9FEF9093AB +:100C00008700809386008AE08093800089E180934A +:100C100081000C941A2C0E94FB056E9A769A0C9413 +:100C2000B906282F81110BC080918000877F8093A7 +:100C3000800010928D0010928C002F9808952F98AC +:100C400080918000886080938000233019F48FEFBA +:100C50009FEF0FC083E090E0821B9109880F991FDE +:100C60002FEF3FEFA90102C0569547958A95E2F70D +:100C7000CA0190938D0080938C000895CF93DF93E9 +:100C8000EC010E94B827BE0180E090E0DF91CF9197 +:100C90000C94AD230F931F93FC01623091F128F463 +:100CA000662359F06130D1F05FC0643009F440C070 +:100CB000C0F1653009F44CC057C08281882309F423 +:100CC00053C000E010E0980140E064E070E080E78D +:100CD00091E00E94E31181E090E010C082818823BE +:100CE00009F442C000E010E0980140E066E070E0E6 +:100CF00080E091E00E94E31182E090E00E943E06D5 +:100D000033C08281882381F100E010E0980140E047 +:100D100068E070E080E391E00E94E31184E090E0FD +:100D2000EDCF8281882311F083E006C083E00DC0FF +:100D30008281882349F084E00E942A2440E164E013 +:100D400083E00E94540C10C084E00E944B24F6CF34 +:100D50008281882331F085EE0E94421C0E94712C12 +:100D600003C085EE0E940A1D80E090E01F910F9164 +:100D700008950F931F932FEF89EF90E0215080404B +:100D80009040E1F700C0000000E010E0980140E072 +:100D900064E070E080E991E00E94E3111F910F91FF +:100DA000089581E008950C94D10608950C940B06E3 +:100DB0008091C202882309F448C080917E029091FC +:100DC0007F02009779F40E94E92690937F02809336 +:100DD0007E028091800290E0009771F48091810200 +:100DE00090E00AC00E94F5262091B0013091B10137 +:100DF0002817390740F329C00197880F991F880FDA +:100E0000991FFC01EE57FD4F6081718182819381B2 +:100E10000E94CB0DE091800284E0E89FF001112454 +:100E2000EE57FD4F60817181828193814FE050E0E8 +:100E30000E9483118091800290E00196609181026E +:100E400070E00E949330809380020C94F70510921A +:100E5000C4020C94980D0895089581E08093C40213 +:100E60000C942C07089508958F929F92AF92BF9291 +:100E7000EF92FF920F931F93CF93DF93CDB7DEB71F +:100E8000A3970FB6F894DEBF0FBECDBF7C01FC0167 +:100E900000811181C8010E94E624B8010E94360930 +:100EA0008C01B7010E94D306882309F4CCC100321B +:100EB000F0E51F0741F4F7018281882309F458C047 +:100EC0000E947A12C0C10132F0E51F0741F4F70118 +:100ED0008281882309F44CC00E948312B4C102327B +:100EE000F0E51F0751F4F7018281882309F440C01F +:100EF0000E9476128111F0CFE3CF0332F0E51F0795 +:100F000039F4F7018281882399F10E942D079BC152 +:100F10000432F0E51F0739F4F7018281882341F19B +:100F20000E94270790C10532F0E51F0749F4F70139 +:100F300082818823E9F08091C4028111F1CFE5CF4D +:100F40000632F0E51F0739F4F7018281882381F02A +:100F50000E948A120AC00732F0E51F0749F4F70120 +:100F60008281882329F00E9495120E9433076BC169 +:100F70008091C402811105C0F70182818111CFC027 +:100F800018C1003E110579F4F7018281882309F424 +:100F90004DC00E94980D81E08093C3021092C2025E +:100FA0001092810250C1023E110559F4F70182816D +:100FB0008823E1F10E94980D1092C3021092C202A0 +:100FC00042C1033E110591F4F7018281882371F13A +:100FD0000E94980D1092C30281E08093C202109289 +:100FE000800210927F0210927E022DC102351105FF +:100FF00059F4F7018281882309F425C18091B00159 +:101000009091B1010A970DC00135110579F4F701EE +:101010008281882309F417C18091B0019091B101B8 +:101020000A969093B1018093B0010DC14091B40133 +:1010300083E2EFECF1E0DE01119601900D928A95CA +:10104000E1F7F701808121E030E02C0F3D1F280FF0 +:10105000311DC9012091B2013091B301FC01E20FB1 +:10106000F31F6081772767FD7095640F711D8827D6 +:1010700077FD8095982F0E94B52D20E030E040E468 +:1010800051E40E941A2D4B015C01F701218185E09A +:1010900090E0821B9109BC01882777FD8095982FED +:1010A0000E94B52D9B01AC01C501B4010E94B22C78 +:1010B0009B01AC0160E070E080E090E40E94282F8A +:1010C00020E030E04CED50E40E94C52E4B015C0165 +:1010D000F70182818823D1F04FE050E0C501B401CF +:1010E0000E9483118091C3028823A1F08091810224 +:1010F00024E0829FF0011124EE57FD4F80829182FF +:10110000A282B3828F5F8093810204C0C501B401C3 +:101110000E94CB0D0F3F110508F02ECF94C0809197 +:101120007D0281111FC0043130E5130709F051C061 +:101130000E94D50681E080937D020E94E92690936B +:101140007C0280937B0210927402109276021092BD +:101150007502109278021092770210927A02109221 +:10116000790271C080917B0290917C020E94F526E9 +:10117000883C910570F480917402E82FF0E0EE0F46 +:10118000FF1FEB58FD4F118300838F5F8093740224 +:101190005AC0043880E5180721F00538104501F1E0 +:1011A0003AC0F7018281882341F01092720282E0F6 +:1011B0001EC0043830E5130759F580917202811181 +:1011C00006C086E20E94421C86E20E940A1D82E05E +:1011D0001CC00438F0E51F0741F305381045D9F469 +:1011E000F7018281882331F01092730280E20E941D +:1011F000591D29C080917302811106C087E20E94A7 +:10120000421C87E20E940A1D80E20E94601D1BC0F2 +:101210000538104529F381E08093720280937302B0 +:10122000C701A3960FB6F894DEBF0FBECDBFDF9106 +:10123000CF911F910F91FF90EF90BF90AF909F9033 +:101240008F900C94F90580E0A3960FB6F894DEBF5A +:101250000FBECDBFDF91CF911F910F91FF90EF9007 +:10126000BF90AF909F908F90089508959CE0799FD4 +:10127000F00111249CE3899FE00DF11D1124E60F7C +:10128000F11DEE0FFF1FE457FE4F859194910895D5 +:10129000880F991FFC01E45FFF4F85919491089599 +:1012A000880F991FFC01E457FE4F85919491089592 +:1012B0000F931F93CF93DF93EC01811521E39207E6 +:1012C000A0F5C11580E3D80708F0D7C0C83ED10506 +:1012D000D8F4C03ED10508F007C2C83AD10578F469 +:1012E000C53AD10508F06AC0C130D10509F463C020 +:1012F00008F4F7C1C430D10508F0F6C1F2C1CB3B08 +:10130000D10508F466C0EDC1C11590E2D90708F017 +:10131000AFC0C11521E0D20708F0E6C1C03FD1053A +:1013200008F4DFC18E0110651FC2C03880E5D80700 +:1013300000F5C03790E5D90708F0A3C0C11520E536 +:10134000D20709F4ACC050F4CE01905480319F40D4 +:1013500008F0C7C1DF708E01106A06C2C13080E597 +:10136000D80709F4AEC0C43190E5D90708F4AFC07E +:10137000B8C1C33820E5D20709F48EC050F4C13893 +:1013800090E5D90709F482C008F083C000E011EDB0 +:10139000EBC1C03181E5D80708F4A3C1C11597E5B9 +:1013A000D90708F436C1CE0190578115904108F055 +:1013B00098C1DF7093C101E010E0D6C1C53AD105F4 +:1013C00009F494C1C63AD10509F093C102E810E4CA +:1013D000CBC1C83AD10509F48FC1C93AD10509F486 +:1013E0008EC1CA3AD10509F48DC1CB3AD10509F4B1 +:1013F0008CC1CC3AD10509F48BC1CD3AD10509F4A1 +:101400008AC1C03BD10509F489C1CE3AD10509F49E +:1014100088C1CF3AD10509F487C1C13BD10509F490 +:1014200086C1C23BD10509F485C1C33BD10509F48E +:1014300084C1C43BD10509F483C1C53BD10509F47E +:1014400082C1C63BD10509F481C1C73BD10509F46E +:1014500080C1C83BD10509F47FC1C93BD10509F45E +:101460007EC1CA3BD10509F47DC100E014E47CC112 +:10147000CE019F700E94500978C1DD278E01106C4B +:1014800073C1CF70DD278E01146D6EC100E010EDC9 +:101490006BC100E012ED68C100E013ED65C10E9470 +:1014A000ED1F0E94980D0E942B078FEF94E32CE014 +:1014B000815090402040E1F700C000000E94442786 +:1014C00053C18091A50381608093A5034DC10E9403 +:1014D000A527811102C00E9481270E94BD2790E0AC +:1014E0009093D0038093CF03C23080E5D80721F4D6 +:1014F0008091CF03816086C0C43090E5D90721F484 +:101500008091CF0382607EC0C63020E5D20721F4EF +:101510008091CF03846076C0C83080E5D80719F485 +:101520008091CF0327C0CA3090E5D90721F480917C +:10153000CF03806167C0CC3020E5D20721F48091D1 +:10154000CF0380625FC0CE3080E5D80721F4809160 +:10155000CF03806457C0C03190E5D90721F4809152 +:10156000CF0380684FC0C23120E5D20729F48091B3 +:10157000CF038460886046C0C33080E5D80721F47B +:101580008091CF038E7F3EC0C53090E5D90721F40E +:101590008091CF038D7F36C0C73020E5D20721F47C +:1015A0008091CF038B7F2EC0C93080E5D80719F416 +:1015B0008091CF0326C0CB3090E5D90721F48091EC +:1015C000CF038F7E1FC0CD3020E5D20721F480915C +:1015D000CF038F7D17C0CF3080E5D80721F48091ED +:1015E000CF038F7B0FC0C13190E5D90721F48091E3 +:1015F000CF038F7707C0C331D04531F48091CF033B +:101600008B7F877F8093CF038091CF030E94C12778 +:10161000ABC08D2F99278F70992781309105D9F410 +:101620009E012370332702C0880F991F2A95E2F785 +:101630009C688E0144E0000F111F4A95E1F70027D6 +:101640001370802B912B53E0CC0FDD1F5A95E1F7DF +:10165000C076DD272FC08230910531F4DC2FCC27F6 +:101660008E01016F106A80C08330910569F4CE014C +:101670008370992701E010E002C0000F111F8A95C6 +:10168000E2F7C8019C680FC084309105B9F4CE011F +:101690008370992701E010E002C0000F111F8A95A6 +:1016A000E2F7C8019A6823E0CC0FDD1F2A95E1F725 +:1016B000C07ED7708C010C2B1D2B56C08530910538 +:1016C00031F4DC2FCC278E01046F106A4DC00697D1 +:1016D00009F04AC0CF71DD27DC2FCC278E011062C4 +:1016E00043C000E010E040C08E013EC001E810E4BD +:1016F0003BC003E810E438C002EE14E435C009EE44 +:1017000014E432C00AEE14E42FC005EB14E42CC03C +:1017100006EB14E429C007EB14E426C00CEC14E437 +:1017200023C00DEC14E420C003E815E41DC00AE852 +:1017300015E41AC002E915E417C004E915E414C061 +:1017400001E216E411C003E216E40EC004E216E45E +:101750000BC005E216E408C006E216E405C007E285 +:1017600016E402C00AE216E4C801DF91CF911F918E +:101770000F9108959CE0799FF00111249CE3899FCB +:10178000E00DF11D1124E60FF11DEE0FFF1FE457D0 +:10179000FE4F85919491803E9105E0F4803C910547 +:1017A00058F58133910509F46FC048F489329105E9 +:1017B00009F463C08A32910509F46DC072C089339F +:1017C0009105E9F082389105D1F08533910509F44E +:1017D0004DC067C0833E910581F138F4803E91058C +:1017E000B9F0823E9105D9F05CC0863E910561F169 +:1017F000873E9105A1F155C00E94480908952091A6 +:10180000CF0320FD02C021FF4CC080EE90E049C014 +:101810008091CF0380FFF9CF89E390E042C08091AF +:10182000CF0382FF0EC08091CF0384FF03C080E00E +:1018300090E037C083EE90E034C08091CF0382FF08 +:10184000F2CF82EE90E02DC08091CF0383FF0BC0DA +:101850008091CF0384FDEBCF87EE90E022C0809192 +:10186000CF0383FFF5CF86EE90E01BC08091CF03BE +:1018700085FF07C089E290E014C08091CF0385FF07 +:10188000F9CF85E390E00DC08091CF0386FF07C0BC +:101890008AE290E006C08091CF0386FFF9CF81E312 +:1018A00090E00E9458090895CF92DF92EF92FF9244 +:1018B0000F931F9301E010E020E030E06801790110 +:1018C00004C0CC0CDD1CEE1CFF1C8A95D2F704C0B2 +:1018D000000F111F221F331F6A95D2F70C291D29F3 +:1018E0002E293F29C0908803D0908903E0908A0375 +:1018F000F0908B03C022D122E222F322842FC01663 +:10190000D106E206F30641F41F910F91FF90EF908C +:10191000DF90CF900C942A241F910F91FF90EF90AD +:10192000DF90CF900C944B2408950C94940CE82FE6 +:10193000F0E0E250FE4F8081E82FEF70F0E08295FA +:101940008F7021E030E0A90102C0440F551F8A9535 +:10195000E2F740A308950F931F93CF93DF9385B7CA +:10196000806885BF85B7806885BFC4E0D0E001E0AE +:1019700010E0FE01E250FE4F8081E82FEF70F0E0B2 +:1019800021A182958F70A80102C0440F551F8A952E +:10199000E2F7CA01822B81A38C2F0E94970C21971A +:1019A00040F78BE090E061E070E0FC01EE50FE4F0C +:1019B0002081E22FEF70F0E042A122952F70DB0131 +:1019C00002C0AA0FBB1F2A95E2F79D01242B22A378 +:1019D000019758F7DF91CF911F910F910C94D60684 +:1019E000EF92FF920F931F93CF93DF930FEC12E0D0 +:1019F000C4E0EE24E394F12CD5E08C2F0E94970CE8 +:101A00008BE090E040E050E0FC01EE50FE4F608142 +:101A1000E62FEF70F0E020A130E062956F7002C019 +:101A2000359527956A95E2F720FD09C09701082EA4 +:101A300002C0220F331F0A94E2F7422B532B019767 +:101A400018F7F801929182918F018417950721F080 +:101A500051834083D093B5018C2F0E94970CC150C5 +:101A600060F68091B50187FD1FC081508093B5015C +:101A70008F3F39F08FE99FE00197F1F700C0000038 +:101A800013C080E090E0FC01E153FD4FDC01AB535B +:101A9000BD4F18962D913C91199731872087029759 +:101AA000863FEFEF9E0779F70E94D80681E0DF912D +:101AB000CF911F910F91FF90EF900895E82FF0E0E4 +:101AC000EE0FFF1FE153FD4F80819181089508952E +:101AD0000F931F93CF9309ED12E0C0E0F8019291AC +:101AE00082918F010E946126C80FF2E00F3C1F0710 +:101AF000A9F78C2FCF911F910F9108950E94A527D0 +:101B0000811102C00E9481270E94CF278093BA03CF +:101B10003E9A809171008D7F8093710082E0809366 +:101B200090008AE18093910081E08093DB02089528 +:101B30008091DB02811102C00E947E0D10922B0366 +:101B400010922A03809171008D7F809371008091A3 +:101B500090008F73809390001092ED021092EC022F +:101B6000109224031092250310922603109227034B +:101B70001092230310922203E2E0F3E0A2EFB2E01E +:101B800011921192119211921D921D9283E0E232F4 +:101B9000F807B1F70895CF92DF92EF92FF920F937B +:101BA0001F93CF93DF932091EC02222309F484C08A +:101BB0006B017C018091DB02811102C00E947E0DCD +:101BC00002E213E0C7E0D0E0A7019601F80192918C +:101BD0008291729162918F010E94162D811131C004 +:101BE000FE01EE0FFF1FEE0FFF1FEE5FFC4F108296 +:101BF000118212821382DE01AA0FBB1FAE50BD4FAD +:101C000011961C921E92C730D105E9F021964481AD +:101C10005581668177814083518362837383148207 +:101C200015821682178212968D919C9113971196A8 +:101C30009C938E9313961C921E9212973496129632 +:101C4000E2CF219708F680912A0390912B03019708 +:101C500097FD05C090932B0380932A0304C0109234 +:101C60002B0310922A0380912A0390912B03209139 +:101C70002803309129032817390724F010922903EB +:101C800010922803892BC1F4809171008D7F80937D +:101C90007100809190008F738093900010922403C4 +:101CA000109225031092260310922703109223030B +:101CB000109222031092EC02DF91CF911F910F91AD +:101CC000FF90EF90DF90CF9008951F920F920FB684 +:101CD0000F9211244F925F926F927F928F929F92F8 +:101CE000AF92BF92CF92DF92EF92FF922F933F93EA +:101CF0004F935F936F937F938F939F93AF93BF9314 +:101D0000CF93DF93EF93FF938091EC02882309F444 +:101D10009BC1C0912A03D0912B031C161D060CF009 +:101D200093C14090DC025090DD026090DE02709022 +:101D3000DF0220E030E0A901C301B2010E94C12E00 +:101D400018160CF065C0C130D10509F452C080915D +:101D5000280390912903BE010E9493307C01909347 +:101D60002903809328038090EE029090EF02A090C8 +:101D7000F002B090F10220E030E040E85FE3C501FE +:101D8000B4010E94B22C6093EE027093EF02809334 +:101D9000F0029093F102F701EE0FFF1FEE0FFF1F0D +:101DA000EE5FFC4FA301920160817181828193817A +:101DB0000E941A2D20E030E040E05EE30E94C52E34 +:101DC0009B01AC01C501B4010E94C12E18168CF410 +:101DD000C7010196BE010E9493309093290380931E +:101DE00028031092EE021092EF021092F00210926D +:101DF000F102E0912803F0912903EE0FFF1FEE0F8F +:101E0000FF1FEE5FFC4F6081718182819381D0C0A2 +:101E1000C0902403D0902503E0902603F090270380 +:101E200020E030E0A901C701B6010E94162D2197DC +:101E3000882309F4A2C0FE01EE0FFF1FEE0FFF1F63 +:101E4000EE5FFC4F80809180A280B380A501940159 +:101E5000C701B6010E94162D87FF31C0A50194016C +:101E600060E070E08CED93EC0E941A2D20E030E0F1 +:101E700040E451E40E941A2D20E030E040E05FE3AE +:101E80000E94C52E9B01AC0160E070E080E090E410 +:101E90000E94282F9B01AC01C501B4010E94C52EF0 +:101EA0009B01AC01C701B6010E94162D87FF07C038 +:101EB000A701960160E070E08CED93E439C0A501C4 +:101EC0009401C701B6010E94C12E18160CF055C02E +:101ED000A501940160E070E08CED93E40E941A2D5E +:101EE00020E030E040E451E40E941A2D20E030E090 +:101EF00040E05FE30E94C52E9B01AC0160E070E012 +:101F000080E090E40E94282F9B01AC01C501B40140 +:101F10000E94C52E9B01AC01C701B6010E94C12ED3 +:101F200018165CF5A701960160E070E08CED93EC6B +:101F30000E941A2D20E030E040E451E40E941A2D66 +:101F400020E030E040E05FE30E94C52E9B01AC0141 +:101F500060E070E080E090E40E94282F9B01AC01DB +:101F6000C701B6010E94C52E609324037093250318 +:101F7000809326039093270313C0FE01EE0FFF1FEB +:101F8000EE0FFF1FEE5FFC4F80819181A281B38134 +:101F90008093240390932503A0932603B0932703F3 +:101FA000609124037091250380912603909127036B +:101FB0002091D9023091DA022F3F4FEF340731F0F0 +:101FC0002F5F3F4F3093DA022093D9020E94A01274 +:101FD0006B017C0120E034E244EF51E40E94162DB5 +:101FE00087FF08C086EFC82E88E2D82E84EFE82E3F +:101FF00081E4F82E20E030E040E051E4C701B60172 +:102000000E94C52E9B01AC0160E074E284E79BE472 +:102010000E941A2D6B017C010E94872D70939700FE +:10202000609396002091B6013091B7014091B801BC +:102030005091B901C701B6010E94C52E0E94872D9B +:1020400070939900609398008091ED02882309F4C1 +:1020500033C1C090E802D090E902E090EA02F0902B +:10206000EB0220E030E0A901C701B6010E94C12EB9 +:102070001816D4F58091D9029091DA028F3F2FEF94 +:10208000920729F001969093DA028093D902C70152 +:10209000B6010E94A01220E030E040E051E40E942E +:1020A000C52E9B01AC0160E074E284E79BE40E94D2 +:1020B0001A2D6B017C010E94872D7093970060930D +:1020C00096002091B6013091B7014091B80150912E +:1020D000B901C701B6010E94C52E0E94872D7093D9 +:1020E00099006093980008C0109297001092960093 +:1020F00010929900109298006091E2027091E302B0 +:102100006F5F7F4F7093E3026093E202209196002D +:102110003091970080E090E0232BF1F0C091960081 +:10212000D09197000E94B32D6B017C01BE0180E02D +:1021300090E00E94B32D9B01AC016091E40270918C +:10214000E5028091E6029091E7020E941A2D20E0BC +:102150003FEF4FE757E410C00E94B32D6B017C01A5 +:1021600020E030EE4FEF54E46091E4027091E5021C +:102170008091E6029091E7020E94C52E9B01AC017E +:10218000C701B6010E94C12E87FD96C08091E00272 +:102190008F5F8093E00290E02091B6033091B70307 +:1021A00082179307A0F08091C103882319F0109241 +:1021B000E0020DC0809171008D7F8093710080914D +:1021C00090008F73809390001092ED027DC08091FB +:1021D000E102C091E002811128C0C090BB03D09001 +:1021E000BC03E090BD03F090BE0320E030E0A90105 +:1021F000C701B6010E94C12E1816BCF481E080937D +:10220000E1021092E8021092E9021092EA021092A2 +:10221000EB02C092E402D092E502E092E602F09274 +:10222000E702C150C093E00243C01092E102109255 +:10223000DA021092D902E091B803F091B90348E0B4 +:10224000C49FE00DF11D112480819181A281B38191 +:102250008093E8029093E902A093EA02B093EB0224 +:1022600020E030E040E85EE36481758186819781FB +:102270000E94C52E6B017C018091BA01682F70E02D +:1022800080E090E00E94B32D20E030E048EC52E482 +:102290000E941A2D9B01AC01C701B6010E94C52EF8 +:1022A0006093E4027093E5028093E6029093E70264 +:1022B0001092E3021092E2028091BA0380FD04C002 +:1022C0001092ED021092EC02FF91EF91DF91CF910D +:1022D000BF91AF919F918F917F916F915F914F913E +:1022E0003F912F91FF90EF90DF90CF90BF90AF90F4 +:1022F0009F908F907F906F905F904F900F900FBE48 +:102300000F901F901895CF92DF92EF92FF92CF938C +:10231000DF936B017C01EA018091DB02811102C035 +:102320000E947E0D8091BA0380FF46C080912A03EF +:1023300090912B0308970CF03FC0809171008D7F26 +:10234000809371008091ED0281110E94980D81E0CF +:102350008093EC021092DA021092D90220E030E071 +:10236000A901C701B6010E94C12E1816DCF48091A4 +:102370002A0390912B03FC01EE0FFF1FEE0FFF1FAE +:10238000EE5FFC4FC082D182E282F382FC01EE0F4D +:10239000FF1FEE50FD4FD183C083019690932B0316 +:1023A00080932A03809171008260809371008091F4 +:1023B0009000806880939000DF91CF91FF90EF9024 +:1023C000DF90CF9008958F929F92AF92BF92CF925D +:1023D000DF92EF92FF920F931F93CF93DF93EC0165 +:1023E0007B01D42E480159018091DB02811102C08A +:1023F0000E947E0D8091BA0380FF6BC080917100B6 +:102400008D7F809371008091EC0281110E94980D64 +:1024100081E08093ED02D093B903C093B803F092AA +:10242000B703E092B603D092C1038092BB039092AF +:10243000BC03A092BD03B092BE031092EE021092B4 +:10244000EF021092F0021092F1021092E0028881E5 +:102450009981AA81BB818093E8029093E902A093BD +:10246000EA02B093EB0220E030E040E85EE36C81EA +:102470007D818E819F810E94C52E6B017C018091A0 +:10248000BA01682F70E080E090E00E94B32D20E058 +:1024900030E048EC52E40E941A2D9B01AC01C701C8 +:1024A000B6010E94C52E6093E4027093E50280930A +:1024B000E6029093E7021092E3021092E20280910A +:1024C0007100826080937100809190008068809399 +:1024D0009000DF91CF911F910F91FF90EF90DF90CF +:1024E000CF90BF90AF909F908F9008958091BA0346 +:1024F000817008958091BA0381608093BA030E942D +:10250000D3270C9432078091BA038E7F8093BA034D +:102510000C94D32780912C0390E0019666E070E044 +:102520000E94933080932C03089580912C0390E0B7 +:10253000019766E070E00E94933080932C03089529 +:102540008F929F92AF92BF92CF92DF92EF92FF92C3 +:102550000F931F93CF93DF936B017C01C091D9023E +:10256000D091DA02BE0180E090E00E94B32D4B01D1 +:102570005C01A701960160E070E08CE594E40E94A4 +:102580001A2D9B01AC01C501B4010E94C52E0E9409 +:10259000872D20912C03233009F473C028F42223C3 +:1025A00051F02130E9F02CC1243009F4A0C02530CD +:1025B00009F4E0C025C180E090E0A0E0BFE3809393 +:1025C000B6019093B701A093B801B093B9011092EE +:1025D000DC021092DD021092DE021092DF0210C1C6 +:1025E0001092DC021092DD021092DE021092DF02E5 +:1025F0006431710540F46A30710560F520E030E027 +:1026000040E85EE32BC0693C710508F0AAC080E099 +:1026100090E00E94B32D20E030E040EA51E40E94B7 +:10262000B12C20E030E044E353E40E941A2D9B01DA +:10263000AC010E94C52E20E030E040E05EE30E9445 +:10264000C52E9B01AC0160E070E080E09EE30E943B +:10265000B12C44C020E030E040E05FE3C701B601A8 +:102660000E94C52E6B017C0180E090E0A0E0BEE3FB +:102670008093B6019093B701A093B801B093B901CC +:10268000BFC01092DC021092DD021092DE021092A6 +:10269000DF024AE0469F9001479F300D1124C90197 +:1026A00068EB7BE00E947F30BC016C5D754077FF7A +:1026B00003C0719561957109882777FD8095982FE2 +:1026C0000E94B52D2EE333EC4EE259E30E94C52E55 +:1026D00020E030E040EC5EE30E94B22C6093B60153 +:1026E0007093B7018093B8019093B90189C010929B +:1026F000DC021092DD021092DE021092DF02CE01A7 +:1027000083709927892BE1F0BE016170772780E003 +:1027100090E00E94B32D20E030E040E05EE30E94B4 +:10272000C52E20E030E040E45FE30E94B22C6093CD +:10273000B6017093B7018093B8019093B9010CC0B2 +:1027400080E090E0A0E0BFE38093B6019093B701F2 +:10275000A093B801B093B901C770DD27CD2B09F064 +:102760004FC01092B6011092B7011092B8011092AA +:10277000B90146C01092DC021092DD021092DE0216 +:102780001092DF0200E010E020E03FE30093B6018A +:102790001093B7012093B8013093B90167397105DF +:1027A00078F180E090E00E94B32D20E030E047E136 +:1027B00053E40E94B12C20E030E04AE754E40E9448 +:1027C0001A2D20E030E048E452E40E94C52E20E0BB +:1027D00030E040EA51E40E94F72D0E94822D660FFE +:1027E000771F660F771FFB01ED5FFD4F2081318161 +:1027F00042815381C701B6010E94C52E6B017C0145 +:10280000C701B601DF91CF911F910F91FF90EF901B +:10281000DF90CF90BF90AF909F908F900895809160 +:102820003D030895CF93DF9300D01F92CDB7DEB75D +:102830009C018091C603843019F593E099833B8312 +:102840002A839093E9008FEF9091E800815095FDE5 +:1028500006C095ED9A95F1F700008111F5CF8091B2 +:10286000E80085FF0DC040E050E063E070E0CE017D +:1028700001960E9473168091E8008E778093E8009D +:102880000F900F900F90DF91CF910895CF93DF932A +:1028900000D01F92CDB7DEB72091C603243021F5BA +:1028A00022E029839B838A8383E08093E9008FEF72 +:1028B0009091E800815095FD06C095ED9A95F1F74D +:1028C00000008111F5CF8091E80085FF0DC040E048 +:1028D00050E063E070E0CE0101960E947316809193 +:1028E000E8008E778093E8000F900F900F90DF91B3 +:1028F000CF9108952091C6032430F1F422E0209373 +:10290000E9002FEF3091E800215035FD06C035ED8C +:102910003A95F1F700002111F5CF2091E80025FF4D +:102920000BC040E050E065E070E00E9473168091BB +:10293000E8008E778093E8000895CF93DF93EC0151 +:102940009091C603943009F046C08091C501882358 +:10295000D9F08091C6018823B9F09093E9008FEFF8 +:102960009091E800815095FD06C095E19A95F1F7A8 +:1029700000008111F5CF8091E80085FF2CC040E078 +:1029800050E060E170E017C081E08093E9008FEFD4 +:102990009091E800815095FD06C095ED9A95F1F76C +:1029A00000008111F5CF8091E80085FF14C040E060 +:1029B00050E068E070E0CE010E9473168091E8005C +:1029C0008E778093E80080E1FE01ADE2B3E00190F4 +:1029D0000D928A95E1F7DF91CF9108958091C5031B +:1029E000811109C00E9408180E9465188091E200B8 +:1029F00084608093E20008951092C50308950895BD +:102A000008950C94AC2642E061EC81E00E948217AC +:102A100042E061EC82E00E94821742E061EC83E0D8 +:102A20000E94821742E161EC84E00C94821780914D +:102A3000C803833009F455C030F4813071F082301E +:102A400009F48EC008958A3009F47AC08B3009F4F5 +:102A500060C0893009F09CC020C08091C703813AD2 +:102A600009F096C08091E800877F8093E80080910C +:102A7000CB039091CC03892B21F460E18DE293E0AC +:102A800003C060E080E090E070E00E94BE1680919C +:102A9000E8008B778093E80008958091C703813226 +:102AA00009F076C08091CB039091CC03009719F088 +:102AB000039709F06DC08091E800877F8093E8005C +:102AC0008091E80082FD05C08091C6038111F8CF96 +:102AD0005FC08091F10080933D038091E8008B7787 +:102AE00053C08091C703813A09F052C08091CB0353 +:102AF0009091CC03892B09F04BC08091E800877F2F +:102B00008093E8008091E80080FFFCCF8091C501B0 +:102B100036C08091C7038132D9F58091CB03909163 +:102B2000CC03892BA9F58091E800877F8093E8008A +:102B30000E94B7178091C9038093C5010C94ED1FC3 +:102B40008091C703813221F58091E800877F8093CF +:102B5000E8000E94B7178091CA0380933E0308954E +:102B60008091C703813AA1F48091E800877F809328 +:102B7000E8008091E80080FFFCCF80913E038093C5 +:102B8000F1008091E8008E778093E8000C94B717ED +:102B9000089584B7877F84BF88E10FB6F894809347 +:102BA0006000109260000FBE90E080E80FB6F894CD +:102BB00080936100909361000FBE0E945A1B0E9497 +:102BC00008180E9465188091E20084608093E200FA +:102BD00078940E94EB1A0E945C1B8BEB91E00E94A0 +:102BE000061B8091C603853069F40E946D26809192 +:102BF000C4038823B1F30E949B26882391F30E948B +:102C00005D16EFCF0E94641BECCF292F33272330B2 +:102C10003105C9F064F42130310581F022303105ED +:102C200009F043C08DE690E022EE39E042C0213247 +:102C30003105F1F02232310541F137C082E190E0F7 +:102C40002FE43AE036C099278130910541F0823077 +:102C5000910541F0892B49F5EEEDF9E005C0E0EB77 +:102C6000F9E002C0E4E8F9E0849190E09F0121C01E +:102C70006430D8F4E62FF0E0EE0FFF1FE15AFD4F6D +:102C80002081318189E090E014C0643070F470E0FC +:102C9000FB01EE0FFF1FE95AFD4F20813181FB013F +:102CA000ED5AFD4F808190E004C080E090E020E08C +:102CB00030E0FA0131832083089580E189BD82E10B +:102CC00089BD09B400FEFDCF8091D8008F7D80932F +:102CD000D8008091E00082608093E0008091E00065 +:102CE00081FDFCCF0895CF92DF92EF92FF920F9378 +:102CF0001F93CF93DF93EC018B016A010E94D617DB +:102D0000811133C0C114D10439F0F6018081918161 +:102D1000081B190BC80FD91FE12CF12C0115110547 +:102D200019F18091E80085FD16C08091E8008E774A +:102D30008093E800C114D10449F0F60180819181AB +:102D4000E80EF91EF182E08285E00FC00E94D617DE +:102D5000882321F30AC089918093F1000150110961 +:102D6000FFEFEF1AFF0ADACF80E0DF91CF911F91DA +:102D70000F91FF90EF90DF90CF9008952091CD03B9 +:102D80003091CE032617370748F06115710539F4E5 +:102D90002091E8002E772093E80001C0B90140E0BF +:102DA00061157105A9F12091C603222309F443C0DE +:102DB000253009F442C02091E80023FD40C0209155 +:102DC000E80022FD32C02091E80020FFE9CF4091C9 +:102DD000F3002091F20030E0342BFC01CF016115AB +:102DE000710559F02830310540F481918093F1004C +:102DF000615071092F5F3F4FF1CF41E0283031051D +:102E000009F040E02091E8002E772093E800C8CF39 +:102E10004111C9CF0AC08091C603882361F0853073 +:102E200061F08091E80083FD0AC08091E80082FF94 +:102E3000F2CF80E0089582E0089583E0089581E074 +:102E400008952091CD033091CE032617370748F01F +:102E50006115710539F42091E8002E772093E80080 +:102E600001C0B901FC0120E06115710591F180916B +:102E7000C603882309F440C0853009F43FC080911F +:102E8000E80083FD3DC08091E80082FD2FC0809165 +:102E9000E80080FFE9CF2091F3008091F20090E0FC +:102EA000922B6115710559F08830910540F42491F9 +:102EB0002093F1003196615071090196F2CF21E023 +:102EC000089709F020E08091E8008E778093E80071 +:102ED000CBCF2111CCCF0AC08091C603882361F0EB +:102EE000853061F08091E80083FD0AC08091E800A0 +:102EF00082FFF2CF80E0089582E0089583E0089594 +:102F000081E00895982F973058F59093E90098172D +:102F100039F07091EC002091ED005091F00003C069 +:102F2000242F762F50E021FF19C03091EB003E7F17 +:102F30003093EB003091ED003D7F3093ED00309108 +:102F4000EB0031603093EB007093EC002093ED00C8 +:102F50005093F0002091EE0027FF07C09F5FD3CF72 +:102F60008F708093E90081E0089580E0089580915A +:102F7000C70387FF11C08091E80082FD05C08091E2 +:102F8000C6038111F8CF11C08091E8008B770BC088 +:102F90008091C603882349F08091E80080FFF8CF34 +:102FA0008091E8008E778093E80008952091E400F6 +:102FB0003091E50095E64091EC00842F817040FF50 +:102FC00022C08091E80080FD1CC08091C603882348 +:102FD00091F0853091F08091EB0085FD10C040911B +:102FE000E4005091E5004217530729F39A019150EC +:102FF00011F784E0089582E0089583E0089581E068 +:10300000089580E008954091E80042FFDECF0895E2 +:103010000E9476180E947E18E0EEF0E080818160C8 +:103020008083E8EDF0E080818F77808319BCA7ED85 +:10303000B0E08C918E7F8C9380818F7E8083109204 +:10304000C50308950F931F93CF93DF930E947618C3 +:103050000E947E18C8EDD0E088818F7788838881B0 +:103060008068888388818F7D888319BC1092C6030D +:103070001092C2031092C4031092C30300EE10E03A +:10308000F80180818B7F808388818160888342E022 +:1030900060E080E00E948217E1EEF0E080818E7FA8 +:1030A0008083E2EEF0E080818160808380818860AF +:1030B0008083F80180818E7F80838881806188830E +:1030C000DF91CF911F910F910895E8EDF0E080819D +:1030D0008F7E8083E7EDF0E080818160808384E0F3 +:1030E00082BF81E08093C5030C942218E8EDF0E0E4 +:1030F00080818E7F80831092E20008951092DA0022 +:103100001092E10008951F920F920FB60F921124B2 +:103110002F933F934F935F936F937F938F939F93DF +:10312000AF93BF93EF93FF938091E10082FF0BC0B9 +:103130008091E20082FF07C08091E1008B7F809345 +:10314000E1000E94EA1A8091DA0080FF1FC080919E +:10315000D80080FF1BC08091DA008E7F8093DA0058 +:103160008091D90080FF0DC080E189BD82E189BDD9 +:1031700009B400FEFDCF81E08093C6030E94EE14E7 +:1031800005C019BC1092C6030E94FC148091E10096 +:1031900080FF19C08091E20080FF15C08091E2009D +:1031A0008E7F8093E2008091E20080618093E20054 +:1031B0008091D80080628093D80019BC85E080930C +:1031C000C6030E9400158091E10084FF30C0809109 +:1031D000E20084FF2CC080E189BD82E189BD09B491 +:1031E00000FEFDCF8091D8008F7D8093D800809124 +:1031F000E1008F7E8093E1008091E2008F7E8093DA +:10320000E2008091E20081608093E2008091C2033D +:10321000882311F084E007C08091E30087FD02C09D +:1032200081E001C083E08093C6030E940115809174 +:10323000E10083FF29C08091E20083FF25C08091D7 +:10324000E100877F8093E10082E08093C6031092C3 +:10325000C2038091E1008E7F8093E1008091E200C3 +:103260008E7F8093E2008091E20080618093E20093 +:1032700042E060E080E00E9482178091F000886068 +:103280008093F0000E94FF14FF91EF91BF91AF91E6 +:103290009F918F917F916F915F914F913F912F916E +:1032A0000F900FBE0F901F9018951F920F920FB6A0 +:1032B0000F9211242F933F934F935F936F937F93BC +:1032C0008F939F93AF93BF93CF93DF93EF93FF932E +:1032D000C091E900CF708091EC00D82FD17080FDB3 +:1032E000D0E81092E9008091F000877F8093F00091 +:1032F00078940E9499191092E9008091F0008860FA +:103300008093F000CD2BCF70C093E900FF91EF9137 +:10331000DF91CF91BF91AF919F918F917F916F91ED +:103320005F914F913F912F910F900FBE0F901F9083 +:1033300018951F93CF93DF93CDB7DEB7AA970FB63B +:10334000F894DEBF0FBECDBFE7ECF3E088E08E0F50 +:103350009091F10091938E13FBCF0E9417158091ED +:10336000E80083FF1FC18091C7039091C803492FD4 +:1033700050E04A30510508F015C1FA01EA5AFF4FF2 +:103380000C94A730803881F0823809F00BC180910D +:10339000CB038F708093E9008091EB0085FB882739 +:1033A00080F91092E90006C08091C3039091C40394 +:1033B000911182609091E800977F9093E80080934C +:1033C000F1001092F100C8C0282F2D7F09F0EAC04B +:1033D000882319F0823061F0E5C08091C903813003 +:1033E00009F0E0C0933009F080E08093C4032BC063 +:1033F0008091C903811127C08091CB038F7009F49C +:10340000D1C08093E9002091EB0020FF1CC09330D5 +:1034100021F48091EB00806214C09091EB009061E8 +:103420009093EB0021E030E0A90102C0440F551F4A +:103430008A95E2F74093EA001092EA008091EB004F +:1034400088608093EB001092E9008091E800877F0C +:1034500086C08111A7C01091C9031F778091E30036 +:103460008078812B8093E3008091E800877F8093B0 +:10347000E8000E94B7178091E80080FFFCCF8091A0 +:10348000E30080688093E300111102C082E001C074 +:1034900083E08093C60386C08058823008F082C0E3 +:1034A0008091C9039091CA038C3D53E0950779F54B +:1034B00083E08A838AE289834FB7F894DE0113960A +:1034C00020E03EE051E2E32FF0E050935700E4911A +:1034D00020FF03C0E295EF703F5FEF708E2F90E00A +:1034E000EA3010F0C79601C0C0968D939D932F5F70 +:1034F000243149F74FBF8091E800877F8093E8002F +:103500006AE270E0CE0101960E94BE1614C0AE01C0 +:103510004F5F5F4F6091CB030E940516BC0100977F +:1035200009F440C09091E800977F9093E80089816A +:103530009A810E9421178091E8008B778093E800A0 +:1035400031C0803879F58091E800877F8093E8006A +:103550008091C2038093F1008091E8008E77809380 +:10356000E8000E94B7171EC081111CC09091C903CA +:103570009230C0F48091E800877F8093E8009093B8 +:10358000C2030E94B7178091C203811106C08091C7 +:10359000E30087FD02C081E001C084E08093C603A0 +:1035A0000E9403158091E80083FF0AC08091E80023 +:1035B000877F8093E8008091EB0080628093EB002E +:1035C000AA960FB6F894DEBF0FBECDBFDF91CF91A4 +:1035D0001F9108950895CF938091C6038823A1F089 +:1035E000C091E900CF709091EC00892F817090FD1F +:1035F00080E8C82B1092E9008091E80083FD0E94CA +:103600009919CF70C093E900CF9108959093440326 +:10361000809343030895E0914303F091440330976E +:1036200021F00190F081E02D099480E00895E0916F +:103630004303F0914403309721F00280F381E02DA1 +:1036400009940895E0914303F0914403309721F0E9 +:103650000480F581E02D0994089520914103309173 +:1036600042038217930771F09093420380934103C2 +:10367000E0914303F0914403309721F00680F781F5 +:10368000E02D0994089520913F0330914003821763 +:10369000930771F09093400380933F03E0914303BD +:1036A000F0914403309721F00084F185E02D0994D6 +:1036B000089508950C94591B0E94E0260E94AB0CBB +:1036C0000E9466270C941A2C5F926F927F928F92C1 +:1036D0009F92AF92BF92CF92DF92EF92FF920F93A1 +:1036E0001F93CF93DF9300D000D01F92CDB7DEB7EA +:1036F0000E94F00C90E5C92E93E0D92E04E010E072 +:10370000AA24A394B12C502E802F0E945E0D4C0150 +:10371000F601729062906F01682679266114710437 +:10372000A1F40150110978F78FEF89838A831B82F6 +:103730000E94E9268160782F9D838C8349815A817C +:103740006B818D810E94141C38C08091A50381FD7E +:103750000E94670D2BE030E07501022E02C0EE0CD6 +:10376000FF1C0A94E2F7C70186219721892B09F1F2 +:1037700029835A828E209F2091E0892809F490E0C5 +:103780009B830E94E9268160782F9D838C834981E9 +:103790005A816B818D810E94141C000F111FF8014A +:1037A000EA5BFC4F80819181E826F926F182E08274 +:1037B00004C02150310980F6B4CF0E9452291091E3 +:1037C00045030E940B1B1817D1F00E940B1B80931E +:1037D00045030F900F900F900F900F90DF91CF91B6 +:1037E0001F910F91FF90EF90DF90CF90BF90AF901F +:1037F0009F908F907F906F905F900C94950C0F909E +:103800000F900F900F900F90DF91CF911F910F911C +:10381000FF90EF90DF90CF90BF90AF909F908F90F0 +:103820007F906F905F900895CF93DF93CDB7DEB711 +:103830002B970FB6F894DEBF0FBECDBF4F835887CE +:1038400069877A878B87DE01119686E0FD011192E8 +:103850008A95E9F785E0FE01379601900D928A95E9 +:10386000E1F749815A816B817C818D819E810E9423 +:103870008B222B960FB6F894DEBF0FBECDBFDF9123 +:10388000CF910895CF93882309F4C2C0C82F8238FE +:1038900059F40E940B1B81FDBBC089E30E94652582 +:1038A0000E94322689E30CC0833879F40E940B1BF6 +:1038B00080FDAEC083E50E9465250E94322683E527 +:1038C0000E94A725CF910C943226843859F40E9487 +:1038D0000B1B82FD9DC087E40E9465250E94322655 +:1038E00087E4EECF8CEF8C0F813A48F48C2F0E9446 +:1038F000822B81118DC08C2F0E946525E3CF80E241 +:103900008C0F883048F4C77081E001C0880FCA95D9 +:10391000EAF70E94EB25D6CF8BE58C0F833078F445 +:10392000C53A29F0C63A31F083E890E005C081E855 +:1039300090E002C082E890E0CF910C942D1B88E5C6 +:103940008C0F833108F064C0C83A39F1C93A41F1AB +:10395000CA3A49F1CB3A51F1CC3A59F1CD3A61F139 +:10396000C03B69F1CE3A71F1CF3A79F1C13B81F1B7 +:10397000C23B89F1C33B91F1C43B99F1C53BA1F135 +:10398000C63BA9F1C73BB1F1C83BB9F1C93BC1F195 +:10399000CA3BC9F180E090E038C082EE90E035C0CB +:1039A00089EE90E032C08AEE90E02FC085EB90E087 +:1039B0002CC086EB90E029C087EB90E026C08CEC11 +:1039C00090E023C08DEC90E020C083E891E01DC022 +:1039D0008AE891E01AC082E991E017C084E991E099 +:1039E00014C081E292E011C083E292E00EC084E252 +:1039F00092E00BC085E292E008C086E292E005C04A +:103A000087E292E002C08AE292E0CF910C94431BDD +:103A1000CF910895882309F44BC0823859F40E944D +:103A20000B1B81FF45C089E30E9465250E94322659 +:103A300089E30CC0833871F40E940B1B80FF38C0EF +:103A400083E50E9465250E94322683E50E94A72512 +:103A50000C943226843859F40E940B1B82FF28C034 +:103A600087E40E9465250E94322687E4EFCF9CEF11 +:103A7000980F913A58F390E2980F983050F487706D +:103A800091E001C0990F8A95EAF7892F0E94F125EC +:103A9000DFCF9BE5980F933020F480E090E00C940A +:103AA0002D1B885A833120F480E090E00C94431B56 +:103AB0000895882321F00E94EB250C943226089566 +:103AC000882321F00E94F1250C94322608957F92DC +:103AD0008F929F92AF92BF92CF92DF92EF92FF921E +:103AE0000F931F93CF93DF931F92CDB7DEB77C0167 +:103AF000C62E772EFC01058102950F7012811111DF +:103B00000E9408260E945E25882379F0112369F01F +:103B100080E28C0D883048F082E00E9447250E94A8 +:103B20005E2591E0D82ED92601C0D12CE72DE29553 +:103B3000EF70F0E0E05AFF4F0C94A730872D807FA4 +:103B4000072D0F70882311F00295007F112389F053 +:103B5000002309F499C180E28C0D883020F4802F75 +:103B60000E94EB2503C0802F0E94FB250E94322675 +:103B70008BC18C2D0E940A1D002309F4C3C180E271 +:103B80008C0D883020F4802F0E94F12503C0802FF7 +:103B90000E9401260E943226B5C1872D807F972D75 +:103BA0009F70803211F4892F03C0892F8295807F06 +:103BB000CC2021F0F1E0CF16A1F01DC0112339F087 +:103BC000002319F1013009F50E941B269BC1002337 +:103BD00019F0013009F496C189830E941E2689815B +:103BE00010C1112321F0063008F08CC10EC0053041 +:103BF00008F088C106C1112359F0002331F0F70104 +:103C0000958190FF41C19F7095830E94591D7AC193 +:103C1000002309F4F6C03EC1872D869586958370F2 +:103C200090E0009719F0019761F06CC1112321F029 +:103C30008C2D972D937002C080E090E00E942D1B88 +:103C400061C1112321F08C2D972D937002C080E06B +:103C500090E00E94431B56C18C2D112319F00E9445 +:103C60005A2802C00E94C2280E9447294BC1872DB2 +:103C7000837009F052C0111145C18C2D8295869533 +:103C80008770880F880F9C2D9F70892E912CA12CF6 +:103C9000B12C082E04C0880C991CAA1CBB1C0A94C9 +:103CA000D2F7C4FE14C00FE010E020E030E0B9010C +:103CB000A80104C0440F551F661F771F8A95D2F7CD +:103CC000CB01BA01609570958095909503C060E036 +:103CD00070E0CB01272D26952695237030E0223009 +:103CE000310569F02330310589F0682979298A295D +:103CF0009B292130310571F00E94D32303C168292B +:103D000079298A299B290E94EF23FCC00E94D32392 +:103D1000C501B4010E94B723F5C0112319F0872D06 +:103D2000817001C08695882309F4ECC08C2D8295A2 +:103D300086958770880F880F9C2D9F70892E912CF7 +:103D4000A12CB12C082E04C0880C991CAA1CBB1CE9 +:103D50000A94D2F7C4FE14C00FE010E020E030E077 +:103D6000B901A80104C0440F551F661F771F8A952B +:103D7000D2F7CB01BA01609570958095909503C0FC +:103D800060E070E0CB01272D269526952370422F09 +:103D900050E04230510569F04330510589F06829FF +:103DA00079298A299B294130510571F00E94AD245F +:103DB000A9C0682979298A299B290E94C924A2C0FF +:103DC0000E94AD24C501B4010E9491249BC08C2D9A +:103DD00090E0FC01E05EF109E531F10508F050C02A +:103DE000E059FF4F0C94A7300C2D0F70872D8F7169 +:103DF000112321F00E942A24802F07CF0E944B24F8 +:103E0000802F0E94601D7EC0112341F0053008F014 +:103E100079C0872D8F710E94702474C0063008F01D +:103E200071C0F7CF112339F0872D8F710E942A249A +:103E300069C01123C9F3872D8F710E944B2462C082 +:103E4000112329F0872D8F710E9415245BC00E94D9 +:103E50000B2458C0112351F0172D1F71812F0E9480 +:103E60002A2463E0812F0E943E254CC081E00E94FD +:103E70004725023008F446C082E00E94472542C030 +:103E8000112331F0002381F28C2D0E94421C3AC094 +:103E9000002389F28C2D0E940A1D34C0472D4F70DB +:103EA0006C2DC7010E944A060E942F232BC01111BE +:103EB00029C0472D4F7050E042305105B9F04CF405 +:103EC0004115510581F041305105E1F40E94422C29 +:103ED00019C04330510569F04430510599F48C2DD7 +:103EE0000E94942C0FC00E942B2C0CC00E945E2CB0 +:103EF00009C00E94712C06C0472D4F706C2DC70160 +:103F00000E943509DD20F9F00E943A2580FD1BC092 +:103F1000F70112820E9434250E942A24C7010E94C0 +:103F2000B21F0E9434250F90DF91CF911F910F9106 +:103F3000FF90EF90DF90CF90BF90AF909F908F90C9 +:103F40007F900C944B240F90DF91CF911F910F9194 +:103F5000FF90EF90DF90CF90BF90AF909F908F90A9 +:103F60007F9008950F931F93CF93DF93EC01888187 +:103F700099812B813C81232BB9F09F3F11F48F3F16 +:103F800099F0CE010E943407882371F0688179810D +:103F90008A810E9430258C010E94E5240E94AC2376 +:103FA000B801CE010E94671DDF91CF911F910F9143 +:103FB00008950E9408260E9418260E94DD250E946E +:103FC00032260E94F8290E94472980E090E00E9452 +:103FD0002D1B80E090E00C94431B0E94F8250C946C +:103FE000D91F0E942525292F22952F7030E02C30D3 +:103FF00031054CF42A3031056CF42250310922305D +:104000003105A8F407C02C30310569F02F30310597 +:1040100051F00DC0803F69F018F4803E40F409C0B3 +:10402000843F29F406C093FB882780F9089580E037 +:10403000089581E00895CF93DF9300D000D01F92C0 +:10404000CDB7DEB70F900F900F900F900F90DF91CC +:10405000CF910895CF93DF9300D000D000D0CDB79B +:10406000DEB726960FB6F894DEBF0FBECDBFDF9148 +:10407000CF9108951F93CF93DF93C091500316E023 +:1040800080915103C81799F0D0E01C9FF0011D9F4B +:10409000F00D1124EE5AFC4F4081518162817381F1 +:1040A000848195810E942A202196C770E9CFDF91F3 +:1040B000CF911F91089540918203509183036091A5 +:1040C00084037091850380918603909187030C94FB +:1040D0002A208091870382958F7009F054C08091C7 +:1040E0008403882309F44FC080915003A0915103A9 +:1040F0006091820370918303409185035091860300 +:10410000B6E08A1709F43FC090E041155105C1F1AE +:104110007F3F11F46F3FA1F1B89FF001B99FF00DFF +:104120001124EE5AFC4F218172132AC020816213A0 +:1041300027C02281211124C023813481241735070F +:1041400010F421503109241B350B283C3105C0F4F3 +:10415000209187032F7020612093870326E0289FFA +:10416000F001299FF00D1124E95AFC4F80818F70D6 +:104170008061808382E893E00E94B21F0C943A2011 +:1041800001968770BECF0895CF92DF92EF92FF9293 +:104190000F931F93CF93DF93CDB7DEB762970FB620 +:1041A000F894DEBF0FBECDBF8C0185E0F801DE01C3 +:1041B0001D9601900D928A95E1F7D8014C911196C8 +:1041C0005C91119712966C9112971396CD90DC909A +:1041D00014973091820370918303809185039091AD +:1041E0008603009709F46BC17F3F19F43F3F09F440 +:1041F00066C1E0908403EE2009F4C0C020918703DB +:10420000C816D90628F0F601E81BF90BCF0104C047 +:10421000809590958C0D9D1DFF24F394883C91050D +:1042200078F0F12C207F09F0C6C07C2DD98AC88A8D +:1042300089890E941B2082E893E00E94B21FB1C0CE +:10424000822F807F09F046C0751314C0341312C04A +:10425000611110C02F702061209387030E945B20A2 +:1042600082E893E00E94B21F80918703D8011596DF +:104270008C932EC0CD2819F15F3F11F44F3FF9F018 +:10428000F62E61111CC0809150032091510336E03D +:10429000821709F45AC090E0389FF001399FF00D61 +:1042A0001124EE5AFC4F7181571306C070814713D9 +:1042B00003C07281711103C001968770E9CFF62E99 +:1042C000662309F418C18091870381608093870376 +:1042D000F12C11C1751308C0341306C0611104C05C +:1042E00080918703D801C3C04D875E878D859E85E9 +:1042F0006A8B0E94F11F6A898823E1F16623D1F15C +:1043000020918703822F82958F7090E0029774F03E +:10431000809182039091830398878F831986DB862F +:10432000CA862C87CE0107960E94B21F86E0F8014C +:10433000A2E8B3E001900D928A95E1F70E9469200E +:104340000E945B20FF24F394D6C04D875E878D8545 +:104350009E850E942525292F22952F7030E022303E +:1043600031050CF0BCC09F7009F0B6C0805E88308B +:1043700008F4C1C0C8010E94B21FE4CFC816D90614 +:1043800008F453C0F601E81BF90BCF01883C9105F6 +:1043900008F450C0F12C7C2DD98AC88A89890E94E2 +:1043A0001B20E2E8F3E086E0DF011D928A95E9F741 +:1043B0000E945B20A0C0751314C0341312C0611199 +:1043C00010C080918703F8018583C8010E94B21F45 +:1043D00086E0E2E8F3E0DF011D928A95E9F7FE2C22 +:1043E0008AC04D875E878D859E856A8B0E94F11FEE +:1043F0006A89882309F4BECF662309F4BBCF2091D4 +:104400008703822F82958F7090E002970CF48ECFF5 +:1044100080918203909183039A8389831B82DD823A +:10442000CC822E83CE0101967FCF809590958C0D06 +:104430009D1DACCFF62E662309F49CCF75132EC0BC +:1044400034132CC02091870320FD1FC0822F82953A +:104450008F70D9F0D80115962C9315978F3049F0AD +:104460008F5F982F9295907F822F8F70892B159652 +:104470008C93C8010E94B21F86E0F801A2E8B3E065 +:1044800001900D928A95E1F793CF86E0F801A2E8BA +:10449000B3E001900D928A95E1F72DC04D875E87BC +:1044A0008D859E850E94F11F811140CF80918703E9 +:1044B000816080938703C8010E94B21F1CC06623DD +:1044C00009F458CF4D875E878D859E850E94F11F28 +:1044D000882309F44FCF2ACF811148CF0CC0243054 +:1044E00031050CF047CF9F7009F440CFF80195815A +:1044F000907F09F03BCF8F2D62960FB6F894DEBF08 +:104500000FBECDBFDF91CF911F910F91FF90EF9024 +:10451000DF90CF9008951F93CF93DF93CDB7DEB791 +:104520002C970FB6F894DEBF0FBECDBF4F835887D0 +:1045300069877A878B879C87CE0107960E94C42063 +:10454000882369F08F8198852A853B85232BF1F19B +:104550009F3F09F063C08F3F09F060C037C086E01D +:10456000FE013796DE01119601900D928A95E1F7D2 +:104570006F817885EA85FB85309741F17F3F11F4A3 +:104580006F3F21F12091510330E0C90101968770FE +:1045900099274091500350E08417950709F447C0CC +:1045A00069837A83FD83EC8396E0929FD001939F89 +:1045B000B00D1124AE5ABC4FFE01319601900D9200 +:1045C0009A95E1F7809351030E943A2016E080917A +:1045D0005003909151038917C1F1189FC001112414 +:1045E0008E5A9C4F0E94C420882379F1E091500399 +:1045F0001E9FF0011124EE5AFC4F408151816281CF +:104600007381848195810E942A208091500390E0DB +:1046100001968770992780935003D9CF4F81588591 +:1046200069857A858B859C850E942A20CFCF0E9440 +:10463000ED1F1092510310925003E2E8F3E086E080 +:10464000DF011D928A95E9F7C1CF2C960FB6F89439 +:10465000DEBF0FBECDBFDF91CF911F910895EF92C6 +:10466000FF920F931F93CF93DF938C01009709F470 +:104670006CC0F12CEE24E394E8012196F8018491BA +:10468000843740F4843008F051C0813081F08230AA +:1046900019F15BC0853709F444C0A8F19CE7980F75 +:1046A000903708F052C08F770E940A1D41C00E5FFC +:1046B0001F4FFE01C49180E28C0F883048F4C77010 +:1046C0008E2D01C0880FCA95EAF70E940B2614C0F0 +:1046D0008C2F0E94421C2DC00E5F1F4FFE01C49103 +:1046E00080E28C0F883058F4C7708E2D01C0880F7F +:1046F000CA95EAF70E9411260E9432261AC08C2F12 +:104700000E940A1D16C00E5F1F4FFE01C491CC23EC +:1047100081F08FE99FE00197F1F700C00000C150E0 +:10472000F6CF0E5F1F4FFE01F49003C00E94421CA3 +:104730008E018F2D882309F49FCFEFE9FFE0319799 +:10474000F1F700C000008150F5CFDF91CF911F91AC +:104750000F91FF90EF900895089560938C037093EC +:104760008D0380938E0390938F030C94D91F0F9326 +:104770001F9300918C0310918D0320918E03309133 +:104780008F03DC01CB01802B912BA22BB32B8093C9 +:104790008C0390938D03A0938E03B0938F031F918E +:1047A0000F910C94D91F0F931F9300918C031091BC +:1047B0008D0320918E0330918F03DC01CB01802388 +:1047C0009123A223B32380938C0390938D03A09312 +:1047D0008E03B0938F031F910F910C94D91F0F93E9 +:1047E0001F9300918C0310918D0320918E033091C3 +:1047F0008F03DC01CB0180279127A227B327809369 +:104800008C0390938D03A0938E03B0938F031F911D +:104810000F910C94D91F1092880310928903109263 +:104820008A0310928B030C94D91F41E050E060E0A2 +:1048300070E004C0440F551F661F771F8A95D2F79A +:10484000409388035093890360938A0370938B038A +:104850000C94D91F41E050E060E070E004C0440FC8 +:10486000551F661F771F8A95D2F780918803909114 +:104870008903A0918A03B0918B03482B592B6A2B93 +:104880007B2B409388035093890360938A03709332 +:104890008B030C94D91F41E050E060E070E004C04D +:1048A000440F551F661F771F8A95D2F74095509584 +:1048B000609570958091880390918903A0918A03F7 +:1048C000B0918B03482359236A237B2340938803A9 +:1048D0005093890360938A0370938B030C94D91FC0 +:1048E00041E050E060E070E004C0440F551F661FD7 +:1048F000771F8A95D2F78091880390918903A091C0 +:104900008A03B0918B03482759276A277B27409356 +:1049100088035093890360938A0370938B030C94EC +:10492000D91F0F931F930091880310918903209141 +:104930008A0330918B03DC01CB01802B912BA22BBE +:10494000B32B8093880390938903A0938A03B09339 +:104950008B031F910F910C94D91F0F931F930091FC +:1049600088031091890320918A0330918B03DC0125 +:10497000CB0180239123A223B323809388039093B8 +:104980008903A0938A03B0938B031F910F910C941A +:10499000D91F0F931F9300918803109189032091D1 +:1049A0008A0330918B03DC01CB0180279127A2275A +:1049B000B3278093880390938903A0938A03B093CD +:1049C0008B031F910F910C94D91F0895CF92DF9202 +:1049D000EF92FF920F931F93CF93DF938C01C090C0 +:1049E0008C03D0908D03E0908E03F0908F03809124 +:1049F000880390918903A0918A03B0918B03C82A00 +:104A0000D92AEA2AFB2ACFE1D0E0D701C6010C2E31 +:104A100004C0B695A795979587950A94D2F780FF1D +:104A200006C0B8018C2F0E94BA0B019721F4219780 +:104A300060F780E001C08C2FDF91CF911F910F9123 +:104A4000FF90EF90DF90CF900895CF93DF93EC012C +:104A50000E94E624BE010E94BA0BDF91CF91089517 +:104A6000CB010E9425250895809190038595859519 +:104A700085950895809190038770089598E0899FA7 +:104A800090011124262B209390030C942A2420912A +:104A900090038095822380939003982F977069F4F8 +:104AA00030E0482F552747FD50952417350729F04A +:104AB0008595859585950C944B2408959091900348 +:104AC000977081E009F480E008959091C5019923E1 +:104AD00021F09091C601911109C02091C701309138 +:104AE000C801F90132969FEF40E01FC0982F9695BC +:104AF000969596959F3050F5E091C701F091C801C9 +:104B0000E90FF11D877021E030E0A90102C0440FD8 +:104B1000551F8A95E2F7CA019181892B81830895F7 +:104B20009F3F39F04F5F4E3041F051915813F8CF0D +:104B30000DC05111F7CF942FF5CF9F3F39F0F901F8 +:104B4000E90FF11D97FDFA958283089508959091DC +:104B5000C501992321F09091C601911109C02091BE +:104B6000C7013091C801F9013296205F3F4F1FC045 +:104B7000982F9695969596959F30F0F4E091C70101 +:104B8000F091C801E90FF11D877021E030E0A90123 +:104B900002C0440F551F8A95E2F7CA0180959181A2 +:104BA0008923818308953196E217F30729F09081D4 +:104BB0009813F9CF1082F7CF089581E090E0E0914B +:104BC000C701F091C801E80FF91F108201968031EA +:104BD0009105A9F708959091A403892B8093A403CC +:104BE000089580959091A40389238093A403089548 +:104BF0001092A40308959091A303892B8093A3039B +:104C0000089580959091A30389238093A303089529 +:104C10001092A30308959091A203892B8093A2037D +:104C2000089580959091A20389238093A20308950B +:104C30001092A20308958093910308951092910316 +:104C400008958091C7019091C801FC0131969C01A3 +:104C5000205F3F4F80E0919191118F5FE217F30742 +:104C6000D1F70895E091C701F091C8018091A403A4 +:104C70008083E091C701F091C80190818091A303E6 +:104C8000892B8083E091C701F091C80190818091C8 +:104C9000A203892B808380919103882361F0E091A6 +:104CA000C701F091C8019081892B80830E94212641 +:104CB0008111109291038091C7019091C8010C94C9 +:104CC000171B20E0009739F0AC01415051098423B3 +:104CD00095232F5FF7CF822F08958091C6038430EC +:104CE00039F11092A60320E488E190E00FB6F89421 +:104CF000A895809360000FBE2093600080E00E9422 +:104D0000110680E00E94950C83B7817F846083BF89 +:104D100083B7816083BF7894889583B78E7F83BF84 +:104D200088E10FB6F89480936000109260000FBE87 +:104D300008950895089580E00E9411060E94992622 +:104D40000E94F00C0E949A260E94680D91E0811149 +:104D500001C090E0892F08950E94ED1F80E00E941D +:104D600011060E941A2C0E940B1B0C94950C1F928A +:104D70000F920FB60F9211248F939F93AF93BF930F +:104D80008091A603811113C08091A7039091A8037D +:104D9000A091A903B091AA034196A11DB11D8093D2 +:104DA000A7039093A803A093A903B093AA03BF916C +:104DB000AF919F918F910F900FBE0F901F901895FC +:104DC00082E084BD93E095BD9AEF97BD80936E001D +:104DD00008952FB7F8948091A7039091A803A0910C +:104DE000A903B091AA032FBF0895CF92DF92EF924B +:104DF000FF920F931F932FB7F8944091A703509100 +:104E0000A8036091A9037091AA032FBF6A017B01D7 +:104E1000EE24FF248C0120E030E0C016D106E2062B +:104E2000F30610F4415051099A01281B390BC901AE +:104E30001F910F91FF90EF90DF90CF9008951F92F8 +:104E40000F920FB60F9211248F939F93AF93BF933E +:104E50008091A7039091A803A091A903B091AA0300 +:104E60000196A11DB11D8093A7039093A803A09361 +:104E7000A903B093AA03BF91AF919F918F910F9017 +:104E80000FBE0F901F9018950E940818F8942FEFEE +:104E900087EA91E6215080409040E1F700C0000091 +:104EA00087E090EBDC018093D1039093D203A09331 +:104EB000D303B093D4039CE088E10FB6F894A8958F +:104EC000809360000FBE90936000FFCF0E94A527E3 +:104ED000811102C00E9481270E94B0278093A50300 +:104EE0000E94BD278093CF0387FB882780F980939A +:104EF000C6010E94B427682F70E080E090E00C9417 +:104F0000AD236DEE7EEF80E090E00E94CD3060E05A +:104F100082E090E00E94BB3060E083E090E00E947D +:104F2000BB3060E084E090E00E94BB3060E085E050 +:104F300090E00E94BB3060E086E090E00E94BB30D1 +:104F40006FEF87E090E00C94BB3080E090E00E942F +:104F5000B53021E08D3E9E4F09F020E0822F08956C +:104F600082E090E00C94AD3083E090E00C94AD30A2 +:104F7000682F83E090E00C94BB3084E090E00C94C8 +:104F8000AD30682F84E090E00C94BB3086E090E078 +:104F90000C94AD30682F86E090E00C94BB3087E035 +:104FA00090E00C94AD30682F87E090E00C94BB301B +:104FB0008091AD0380FF0BC06091CC0185E0689FBC +:104FC000B001112475956795759567952BC081FF84 +:104FD00009C06091CC0185E0689FB00111247595EE +:104FE000679520C082FF07C06091CC0185E0689F73 +:104FF000B001112417C09091AE039923D1F06091B4 +:10500000CB01961788F72091CC0185E0289F90016D +:105010001124929FA001939F500D112470E0CA01AA +:105020000E9493306038710540F46115710539F0C4 +:1050300002C065E070E0862F08958FE7089581E053 +:1050400008958091AD0380FF08C06091CA0170E0AF +:10505000759567957595679521C081FF06C060912C +:10506000CA0170E07595679519C082FF04C0609110 +:10507000CA0170E010C09091AE039923C1F0609115 +:10508000C9019617A0F78091CA01899FC001112418 +:1050900070E00E9493306038710528F46115710545 +:1050A00021F0862F08958FE7089581E0089561E04B +:1050B00070E0F4CF803F21F40E94D827819504C08E +:1050C000813F29F40E94D8278093B1030895823F3D +:1050D00021F40E94D827819504C0833F29F40E94BF +:1050E000D8278093B0030895893F19F40E9421289E +:1050F00005C08A3F31F40E94212881958093B20334 +:1051000008958B3F21F40E942128819504C08C3F93 +:1051100029F40E9421288093B3030895843F21F449 +:105120008091AF03816017C0853F21F48091AF0368 +:10513000826011C0863F21F48091AF0384600BC070 +:10514000873F21F48091AF03886005C0883F31F428 +:105150008091AF0380618093AF0308958D3F21F468 +:105160008091AD0381600BC08E3F21F48091AD032F +:10517000826005C08F3F29F48091AD0384608093E5 +:10518000AD030895803F39F48091B10387FF6CC06F +:105190001092B10369C0813F29F48091B1031816C0 +:1051A000BCF362C09091B003823F29F497FF5CC0CA +:1051B0001092B00359C0833F19F41916CCF354C0B0 +:1051C000893F41F48091B20318160CF04DC0109243 +:1051D000B2034AC08A3F29F48091B20387FF44C0DA +:1051E000F6CF8B3F39F48091B30387FF3DC0109217 +:1051F000B3033AC08C3F29F48091B3031816BCF373 +:1052000033C0843F21F48091AF038E7F17C0853F68 +:1052100021F48091AF038D7F11C0863F21F48091EE +:10522000AF038B7F0BC0873F21F48091AF03877F53 +:1052300005C0883F31F48091AF038F7E8093AF0328 +:1052400013C08D3F21F48091AD038E7F0BC08E3F44 +:1052500021F48091AD038D7F05C08F3F29F48091AB +:10526000AD038B7F8093AD038091B00381110EC09D +:105270008091B10381110AC08091B203811106C0EF +:105280008091B303811102C01092AE0308958FEA9A +:1052900093E00E94221B0E94E9269093AC03809326 +:1052A000AB0308951F93CF93DF938091AB0390914D +:1052B000AC030E94F526AC019091AE03992321F036 +:1052C0002091CD0130E006C02091CE018AE0289FD8 +:1052D000900111244217530708F486C08091B0034F +:1052E000C091B103D091B2031091B303811107C0F3 +:1052F000C11176C0D11174C0111172C075C09F3F29 +:1053000019F09F5F9093AE03181624F40E94D827DB +:105310008093B0038091B00387FF05C00E94D82717 +:1053200081958093B0031C1624F40E94D8278093A3 +:10533000B1038091B10387FF05C00E94D8278195F2 +:105340008093B1036091B003662339F1C091B1033A +:10535000CC2319F1772767FD7095872F972F0E942F +:10536000B52D23E333E343E35FE30E94C52E0E94A0 +:10537000822D6093B0036C2F772767FD7095872F80 +:10538000972F0E94B52D23E333E343E35FE30E94AD +:10539000C52E0E94822D6093B1031D1624F40E9435 +:1053A00021288093B2038091B20387FF05C00E9439 +:1053B000212881958093B203111624F40E9421289C +:1053C0008093B3038091B30387FF05C00E94212817 +:1053D00081958093B303DF91CF911F910C9447295E +:1053E0009F3F09F08ECF96CFDF91CF911F91089507 +:1053F000EFEAF3E085E0DF011D928A95E9F710926C +:10540000AE031092AD030895833081F128F481300A +:1054100059F08230D1F00895853009F449C0B8F1CF +:10542000863009F456C008958091CE01262F30E0D1 +:10543000280F311D2F3F310524F4680F6093CE01F2 +:1054400008958FEF8093CE0108958091CD01262F8E +:1054500030E0280F311D2F3F310524F4680F609391 +:10546000CD0108958FEF8093CD0108958091CC01F7 +:10547000262F30E0280F311D2F3F310524F4680F0F +:105480006093CC0108958FEF8093CC0108958091B3 +:10549000CB01262F30E0280F311D2F3F310524F49A +:1054A000680F6093CB0108958FEF8093CB0108952F +:1054B0008091CA01262F30E0280F311D2F3F310582 +:1054C00024F4680F6093CA0108958FEF8093CA0196 +:1054D00008958091C901262F30E0280F311D2F3FFC +:1054E000310524F4680F6093C90108958FEF80930C +:1054F000C9010895833011F128F4813049F08230D8 +:1055000091F00895853081F120F18630C1F1089540 +:105510008091CE01681720F4861B8093CE010895F8 +:105520001092CE0108958091CD01681720F4861B5A +:105530008093CD0108951092CD0108958091CC0102 +:10554000681720F4861B8093CC0108951092CC013B +:1055500008958091CB01681720F4861B8093CB01BE +:1055600008951092CB0108958091CA01681720F424 +:10557000861B8093CA0108951092CA0108958091F4 +:10558000C901681720F4861B8093C9010895109201 +:10559000C90108950F931F93873208F048C08E31D8 +:1055A00008F08DC0803109F477C008F5873009F420 +:1055B00061C068F4863009F09DC08091A503817FA9 +:1055C0008E7F8093A50381E08093B50394C08B30D8 +:1055D00009F489C08E3009F08DC08091A50382FB4B +:1055E000222720F991E0922790FB82F95EC0863154 +:1055F00009F479C060F4813109F07CC00E94ED1F8C +:105600009091C60181E089278093C6016CC08931E1 +:1056100009F469C08B3109F06DC08091A50381FB4D +:10562000222720F991E0922790FB81F93EC0883330 +:1056300009F459C050F4893209F457C0853309F48C +:1056400054C0873209F451C055C0833409F44DC0A9 +:1056500028F48A3308F44EC0895332C0883409F0E4 +:1056600049C00E94ED1F0E94980D0E942B070E94C6 +:10567000442739C09091A503892F8095817080FBC4 +:1056800090F929F0966098609093A50334C0997FB3 +:10569000977F9093A50327C08091A50383FB2227C2 +:1056A00020F991E0922790FB83F98093A503992339 +:1056B000D1F08091A50381608093A50314C08D5122 +:1056C00041E050E060E070E08A019B0104C0000FFF +:1056D000111F221F331F8A95D2F7C901B8010E94FA +:1056E000AD230E94ED1F81E006C061E070E080E024 +:1056F00090E0F5CF80E01F910F91089580E008952C +:1057000080E00895CF93C82F8091B503813069F070 +:1057100018F08230C9F184C0E091C701F091C8014E +:105720008081823209F07EC007C0E091C701F0910C +:10573000C8018081823261F48C2F0E947E2B8111FE +:1057400004C08C2F0E94CA2A1DC081E090E01AC0BC +:105750008C2F0E94802B811114C0C43179F048F441 +:10576000CB3079F0C03109F061C082E08093B5039D +:1057700008C0C93219F0C83321F058C01092B503DF +:1057800055C081E0817054C0C93291F120F5C43117 +:1057900079F1B0F4C73009F047C08EE18093CE01B3 +:1057A00082E38093CD018AE08093CC0184E18093F1 +:1057B000CB0188E08093CA0188E28093C90134C09C +:1057C000CE51C63088F5EC2FF0E0E959FD4F8081CD +:1057D0008093B40329C0CE34E9F020F4CB3421F512 +:1057E0006AE013C0C13579F0C235F1F461E00DC053 +:1057F0008091B403882319F01092B40315C081E09E +:105800008093B50315C061E006C08091B4030E9487 +:10581000042A0AC06AE08091B4030E947A2A04C074 +:105820001092B50380E004C081E002C080E0AACFFE +:10583000CF9108950E94A527811102C00E9481275F +:105840000E94C6278093D00380FF02C0869501C0C6 +:1058500080E00C9411068091D003982F9695292F03 +:1058600030E0233031054CF49F5F990F8170892B14 +:1058700081608093D0030E94CA278091D0038695CF +:105880000C9411068091D003982F969591F0915821 +:10589000990F8170892B8093D0038E7F91E009F45A +:1058A00090E08091D00390FB80F98093D0030E9418 +:1058B000CA278091D00386950C9411068091D0035D +:1058C000982F909590FB80F98093D0030E94CA276F +:1058D0008091D00380FF02C0869501C080E00C94C7 +:1058E00011069091D003892F86958F5F8F779170E5 +:1058F000843028F4880F892B8093D00302C09093C2 +:10590000D0038091D0038E7F91E009F490E08091E4 +:10591000D00390FB80F98093D0030E94CA27809126 +:10592000D00386950C9411062091D003922F969562 +:105930008927982F990F822F8170892B8093D0030C +:105940008E7F91E009F490E08091D00390FB80F984 +:105950008093D0030E94CA278091D00386950C942F +:1059600011065058BB27AA270ED0D1C1C2D130F0A2 +:10597000C7D120F031F49F3F11F41EF4B7C10EF4EB +:10598000E095E7FB9FC1E92FD3D180F3BA176207F7 +:1059900073078407950718F071F49EF5EBC10EF4B8 +:1059A000E0950B2EBA2FA02D0B01B90190010C012F +:1059B000CA01A0011124FF27591B99F0593F50F447 +:1059C000503E68F11A16F040A22F232F342F44279F +:1059D000585FF3CF469537952795A795F040539597 +:1059E000C9F77EF41F16BA0B620B730B840BBAF067 +:1059F0009150A1F0FF0FBB1F661F771F881FC2F7D2 +:105A00000EC0BA0F621F731F841F48F487957795E5 +:105A10006795B795F7959E3F08F0B3CF9395880F9C +:105A200008F09927EE0F97958795089527D108F4E8 +:105A300081E008950CD06BC163D140F05AD130F0B1 +:105A400021F45F3F19F03EC1511195C14FC170D192 +:105A500098F39923C9F35523B1F3951B550BBB2735 +:105A6000AA2762177307840738F09F5F5F4F220FE2 +:105A7000331F441FAA1FA9F333D00E2E3AF0E0E8DB +:105A800030D091505040E695001CCAF729D0FE2F27 +:105A900027D0660F771F881FBB1F261737074807B9 +:105AA000AB07B0E809F0BB0B802DBF01FF2793586F +:105AB0005F4F2AF09E3F510568F004C15CC15F3F13 +:105AC000ECF3983EDCF3869577956795B795F79557 +:105AD0009F5FC9F7880F911D9695879597F908954F +:105AE000E1E0660F771F881FBB1F621773078407EB +:105AF000BA0720F0621B730B840BBA0BEE1F88F7FA +:105B0000E095089504D06894B11135C1089518D175 +:105B100088F09F5790F0B92F9927B751A0F0D1F096 +:105B2000660F771F881F991F1AF0BA95C9F712C020 +:105B3000B13081F01FD1B1E008951CC1672F782FDB +:105B40008827B85F39F0B93FCCF38695779567958C +:105B5000B395D9F73EF490958095709561957F4FF8 +:105B60008F4F9F4F0895E89409C097FB3EF490959E +:105B70008095709561957F4F8F4F9F4F9923A9F026 +:105B8000F92F96E9BB279395F695879577956795B5 +:105B9000B795F111F8CFFAF4BB0F11F460FF1BC0F9 +:105BA0006F5F7F4F8F4F9F4F16C0882311F096E98C +:105BB00011C0772321F09EE8872F762F05C066233A +:105BC00071F096E8862F70E060E02AF09A95660FF3 +:105BD000771F881FDAF7880F9695879597F90895AC +:105BE00088D018F011F08CD038F480C0C4C0E92FF0 +:105BF0009FD0B0F35523C9F3E7FB621773078407FF +:105C00009507A8F199F3E92FFF2788232AF0319708 +:105C1000660F771F881FDAF7952F5527442332F038 +:105C200091505040220F331F441FD2F7BB27E91B6E +:105C3000F50B621B730B840BB109C1F222F4620FE6 +:105C4000731F841FB11D31972AF0660F771F881FBD +:105C5000BB1FEFCF915050405AF041F0882332F0F3 +:105C6000660F771F881F91505040C1F7939530C041 +:105C70008695779567959F5FD9F7F8CF990F0008BC +:105C8000550FAA0BE0E8FEEF16161706E807F9070E +:105C9000C0F012161306E407F50798F0621B730BA9 +:105CA000840B950B39F40A2661F0232B242B252B2A +:105CB00021F408950A2609F4A140A6958FEF811DCD +:105CC000811D089597F99F6780E870E060E008956E +:105CD0009F3F31F0915020F4879577956795B79560 +:105CE000880F911D9695879597F908959FEF80EC01 +:105CF000089500240A941616170618060906089532 +:105D000000240A9412161306140605060895092E97 +:105D10000394000C11F4882352F0BB0F40F4BF2B06 +:105D200011F460FF04C06F5F7F4F8F4F9F4F089546 +:105D300057FD9058440F551F59F05F3F71F047953C +:105D4000880F97FB991F61F09F3F79F08795089521 +:105D5000121613061406551FF2CF4695F1DF08C040 +:105D6000161617061806991FF1CF8695710561055D +:105D700008940895E894BB2766277727CB0197F905 +:105D800008957CDF08F48FEF08950BD0C0CFB1DF0A +:105D900028F0B6DF18F0952309F094CFA7CF11248F +:105DA000EACFC6DFA0F3959FD1F3950F50E0551FC2 +:105DB000629FF001729FBB27F00DB11D639FAA2760 +:105DC000F00DB11DAA1F649F6627B00DA11D661FAF +:105DD000829F2227B00DA11D621F739FB00DA11DD0 +:105DE000621F839FA00D611D221F749F3327A00D8A +:105DF000611D231F849F600D211D822F762F6A2F26 +:105E000011249F5750408AF0E1F088234AF0EE0FAA +:105E1000FF1FBB1F661F771F881F91505040A9F7B7 +:105E20009E3F510570F04ECFA6CF5F3FECF3983EFA +:105E3000DCF3869577956795B795F795E7959F5F1E +:105E4000C1F7FE2B880F911D9695879597F90895B8 +:105E5000FA01EE0FFF1F30962105310599F161150A +:105E6000710561F48038BFE39B0749F1689490386D +:105E7000810561F08038BFEF9B0741F0992342F51F +:105E8000FF3FE1053105210511F1E8940894E795FC +:105E9000D901AA2329F4AB2FBE2FF85FD0F310C08D +:105EA000FF5F70F4A695E0F7F73950F019F0FF3A6C +:105EB00038F49F779F930CD00F9007FC905808956B +:105EC0003EF014CF60E070E080E89FE308954FE774 +:105ED0009F775F934F933F932F939ED02F913F9146 +:105EE0004F915F9152DF05C019F40EF0EBCE42CF17 +:105EF000FDCE26DFC8F39638C0F707F80F92E89476 +:105F00002BE33AEA48EB5FE74EDF0F920F920F92D6 +:105F10004DB75EB70F92C0D0EAE0F1E016D04F91D6 +:105F20005F91EF91FF91E595EE1FFF1F49F0FE573E +:105F3000E0684427EE0F441FFA95E1F74195550BB1 +:105F400032D00F9007FE26C00895DF93CF931F93A2 +:105F50000F93FF92EF92DF927B018C01689405C052 +:105F6000DA2EEF011EDFFE01E894A591259135910F +:105F700045915591AEF3EF0106DDFE019701A801B1 +:105F8000DA9479F7DF90EF90FF900F911F91CF9106 +:105F9000DF9108959B01AC0160E070E080E89FE331 +:105FA00049CD90CE95CECCDEE8F39923D9F3940F6A +:105FB000511DBBF39150504094F059F0882332F0BA +:105FC000660F771F881F91505040C1F79E3F5105C3 +:105FD00044F7880F911D9695879597F908955F3F2F +:105FE000ACF0983E9CF0BB27869577956795B79562 +:105FF00008F4B1609395C1F7BB0F58F711F460FF37 +:10600000E8CF6F5F7F4F8F4F9F4FE3CFB4CE0EF03F +:106010005FCE6CCE689456CE93DEC8F39923D1F34D +:10602000C6F3DF93CF931F930F93FF92C92FDD2702 +:1060300088232AF02197660F771F881FDAF720E060 +:1060400030E040E85FEB9FE3883920F0803E30F09D +:1060500021968F7787DCE2E3F1E003C083DCEFE594 +:10606000F1E073DF8B01BE01EC01FB2E6F5771096C +:106070007595771F880B990B78DD28E132E741E3AE +:106080005FE38FDEAF2D9801AE01FF900F911F915E +:10609000CF91DF9178DC3BCEFA01DC01AA0FBB1F68 +:1060A0009B01AC01BF5728F422273327442750789F +:1060B0001FC0B75188F4AB2F00244695379527951C +:1060C000011CA395D2F3002069F0220F331F441F57 +:1060D000B395DAF30DD045CC61307105A0E88A079D +:1060E000B94630F49B01AC01662777278827907862 +:1060F000309621F020833183428353830895AA1B75 +:10610000BB1B51E107C0AA1FBB1FA617B70710F0A2 +:10611000A61BB70B881F991F5A95A9F780959095D4 +:10612000BC01CD01089597FB072E16F4009407D00B +:1061300077FD09D00E947F3007FC05D03EF4909592 +:1061400081959F4F0895709561957F4F0895EE0F4B +:10615000FF1F0590F491E02D0994F999FECF92BDAF +:1061600081BDF89A992780B50895A8E1B0E042E092 +:1061700050E00C94D530262FF999FECF92BD81BD09 +:10618000F89A019700B4021639F01FBA20BD0FB675 +:10619000F894FA9AF99A0FBE08950196272F0E9453 +:1061A000BC300C94BB30DC01CB01FC01F999FECF73 +:1061B00006C0F2BDE1BDF89A319600B40D9241508F +:0A61C0005040B8F70895F894FFCF9F +:1061CA000AA7CF44000000410000DC44000000415F +:1061DA00000000000000804052D0244500004041E9 +:1061EA0000000000000080400AA74F45000040411F +:1061FA000AA7CF44000000410000DC44000000412F +:10620A00000000000000804052D0244500000041F8 +:10621A0000000000000080405CFF3845000000419B +:10622A00000000000000804052D0244500000041D8 +:10623A000AA7CF44000000410000DC4400000041EE +:10624A00000000000000804052D024450000804138 +:10625A0010F176440000A04112F1F644000000411A +:10626A0041909B440000A04112F1F6440000004115 +:10627A00640007000CFF0000003F640F149D147AAD +:10628A001446141214010192032808140A321E003B +:10629A0002040507090B0C0E1011131517181A1C06 +:1062AA001D1F2123242628292B2D2F303234353740 +:1062BA00393B1F0F03764F5F6F7F4969437929592D +:1062CA005363393149803F5D8B803FF8BF803FCAB5 +:1062DA00E1803F73ED803FCAE1803FF8BF803F5DB8 +:1062EA008B803F3149803F0000803FF16D7F3F75D1 +:1062FA00EA7E3F4C827E3F833F7E3F84287E3F83F7 +:10630A003F7E3F4C827E3F75EA7E3FF16D7F3F00C4 +:10631A0000803F3F4D36391D0BD00A9A0A610AF4B4 +:10632A00090D0A260A3F0A0102030405060708099D +:02633A00000061 +:00000001FF diff --git a/keyboard/preonic/keymaps/default/makefile.mk b/keyboard/preonic/keymaps/default/makefile.mk deleted file mode 100644 index 628167ff6..000000000 --- a/keyboard/preonic/keymaps/default/makefile.mk +++ /dev/null @@ -1 +0,0 @@ -AUDIO_ENABLE = yes \ No newline at end of file diff --git a/keyboard/preonic/keymaps/lock/README.md b/keyboard/preonic/keymaps/lock/README.md deleted file mode 100644 index d21cb990b..000000000 --- a/keyboard/preonic/keymaps/lock/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# Lock layout - -This layout is designed for having a lock switch in the lower-left-hand corner, and for experimenting with MIDI/audio features. It's constantly in development, so don't expect anything to work/be documented correctly! \ No newline at end of file diff --git a/keyboard/preonic/keymaps/lock/keymap.c b/keyboard/preonic/keymaps/lock/keymap.c deleted file mode 100644 index cfb7f0803..000000000 --- a/keyboard/preonic/keymaps/lock/keymap.c +++ /dev/null @@ -1,105 +0,0 @@ -// This is the canonical layout file for the Quantum project. If you want to add another keyboard, -// this is the style you want to emulate. - -#include "preonic.h" -#ifdef BACKLIGHT_ENABLE - #include "backlight.h" -#endif -#include "action_layer.h" - -// Each layer gets a name for readability, which is then used in the keymap matrix below. -// The underscores don't mean anything - you can have a layer called STUFF or any other name. -// Layer names don't all need to be of the same length, obviously, and you can also skip them -// entirely and just use numbers. -#define _QW 0 -#define _CM 1 -#define _DV 2 -#define _LW 3 -#define _RS 4 -#define _MI 5 - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -[_QW] = { /* Qwerty */ - {KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC}, - {KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC}, - {KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT}, - {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT }, - {M(0), KC_LCTL, KC_LALT, KC_LGUI, MO(_LW), KC_SPC, KC_SPC, MO(_RS), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT} -}, -[_CM] = { /* Colemak */ - {KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC}, - {KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC}, - {KC_ESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT}, - {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT }, - {M(0), KC_LCTL, KC_LALT, KC_LGUI, MO(_LW), KC_SPC, KC_SPC, MO(_RS), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT} -}, -[_DV] = { /* Dvorak */ - {KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC}, - {KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSPC}, - {KC_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_SLSH}, - {KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_ENT }, - {M(0), KC_LCTL, KC_LALT, KC_LGUI, MO(_LW), KC_SPC, KC_SPC, MO(_RS), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT} -}, -[_RS] = { /* RAISE */ - {KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC}, - {KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC}, - {KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS}, - {KC_TRNS, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, DF(_QW), DF(_CM), DF(_DV), RESET, KC_TRNS}, - {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY} -}, -[_LW] = { /* LOWER */ - {KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC}, - {KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC}, - {KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE}, - {KC_TRNS, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, DF(_QW), DF(_CM), DF(_DV), RESET, KC_TRNS}, - {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY} -}, -[_MI] = { /* MIDI */ - {MIDI12}, - {MIDI12}, - {MIDI12}, - {MIDI12}, - {M(0), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MIDI, MIDI, MIDI, MIDI} -} -}; - -const uint16_t PROGMEM fn_actions[] = { - -}; - -float start_up[][2] = { - {440.0*pow(2.0,(67)/12.0), 600}, - {0, 50}, - {440.0*pow(2.0,(64)/12.0), 400}, - {0, 50}, - {440.0*pow(2.0,(55)/12.0), 400}, - {0, 50}, - {440.0*pow(2.0,(60)/12.0), 400}, - {0, 50}, - {440.0*pow(2.0,(64)/12.0), 1000}, -}; - -const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) -{ - // MACRODOWN only works in this function - switch(id) { - case 0: - if (record->event.pressed) { - register_code(KC_RSFT); - #ifdef BACKLIGHT_ENABLE - backlight_step(); - #endif - default_layer_state = 1<<5; - } else { - unregister_code(KC_RSFT); - default_layer_state = 1<<0; - } - break; - } - return MACRO_NONE; -}; - -void matrix_init_user(void) { - init_notes(); - play_notes(&start_up, 9, false); -} diff --git a/keyboard/preonic/keymaps/nerdgasm/README.md b/keyboard/preonic/keymaps/nerdgasm/README.md deleted file mode 100644 index d2f43bbdb..000000000 --- a/keyboard/preonic/keymaps/nerdgasm/README.md +++ /dev/null @@ -1,34 +0,0 @@ -# The Default Planck Layout - - const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QW] = { /* Qwerty */ - {KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC}, - {KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT}, - {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT }, - {M(0), KC_LCTL, KC_LALT, KC_LGUI, MO(_LW), KC_SPC, KC_SPC, MO(_RS), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT} - }, - [_CM] = { /* Colemak */ - {KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC}, - {KC_ESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT}, - {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT }, - {M(0), KC_LCTL, KC_LALT, KC_LGUI, MO(_LW), KC_SPC, KC_SPC, MO(_RS), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT} - }, - [_DV] = { /* Dvorak */ - {KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSPC}, - {KC_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_SLSH}, - {KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_ENT }, - {M(0), KC_LCTL, KC_LALT, KC_LGUI, MO(_LW), KC_SPC, KC_SPC, MO(_RS), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT} - }, - [_RS] = { /* RAISE */ - {KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC}, - {KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS}, - {KC_TRNS, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, DF(_QW), DF(_CM), DF(_DV), RESET, KC_TRNS}, - {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY} - }, - [_LW] = { /* LOWER */ - {KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC}, - {KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE}, - {KC_TRNS, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, DF(_QW), DF(_CM), DF(_DV), RESET, KC_TRNS}, - {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY} - } - }; \ No newline at end of file diff --git a/keyboard/preonic/keymaps/nerdgasm/keymap.c b/keyboard/preonic/keymaps/nerdgasm/keymap.c deleted file mode 100644 index 818102fbd..000000000 --- a/keyboard/preonic/keymaps/nerdgasm/keymap.c +++ /dev/null @@ -1,117 +0,0 @@ -// This is the canonical layout file for the Quantum project. If you want to add another keyboard, -// this is the style you want to emulate. - -#include "preonic.h" -#ifdef BACKLIGHT_ENABLE - #include "backlight.h" -#endif - -// Each layer gets a name for readability, which is then used in the keymap matrix below. -// The underscores don't mean anything - you can have a layer called STUFF or any other name. -// Layer names don't all need to be of the same length, obviously, and you can also skip them -// entirely and just use numbers. -#define _QW 0 -#define _CM 1 -#define _DV 2 -#define _LW 3 -#define _RS 4 - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -[_QW] = { /* Qwerty */ - {KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC}, - {KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC}, - {KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT}, - {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT }, - {M(0), KC_LCTL, KC_LALT, KC_LGUI, MO(_LW), KC_SPC, KC_SPC, MO(_RS), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT} -}, -[_CM] = { /* Colemak */ - {KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC}, - {KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC}, - {KC_ESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT}, - {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT }, - {M(0), KC_LCTL, KC_LALT, KC_LGUI, MO(_LW), KC_SPC, KC_SPC, MO(_RS), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT} -}, -[_DV] = { /* Dvorak */ - {KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC}, - {KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSPC}, - {KC_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_SLSH}, - {KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_ENT }, - {M(0), KC_LCTL, KC_LALT, KC_LGUI, MO(_LW), KC_SPC, KC_SPC, MO(_RS), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT} -}, -[_RS] = { /* RAISE */ - {KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC}, - {KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC}, - {KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS}, - {KC_TRNS, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, DF(_QW), DF(_CM), DF(_DV), RESET, KC_TRNS}, - {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY} -}, -[_LW] = { /* LOWER */ - {KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC}, - {KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC}, - {KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE}, - {KC_TRNS, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, DF(_QW), DF(_CM), DF(_DV), RESET, KC_TRNS}, - {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY} -} -}; - -const uint16_t PROGMEM fn_actions[] = { - -}; - -// Guitar Notes -#define N_E 13180.5 -#define N_B 9870.8 -#define N_G 15680.0 -#define N_D 11740.7 -#define N_E 13180.5 - -float start_up[][2] = { - { N_E, 500 }, - { 0, 50 }, - { N_E, 500 }, - { 0, 50 }, - { N_E, 500 }, - { 0, 50 }, - { N_B, 500 }, - { 0, 50 }, - { N_E, 1000 }, - { 0, 50 }, - { N_G, 1500 }, - { 0, 50 }, -}; - -const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) -{ - // MACRODOWN only works in this function - switch(id) { - case 0: - if (record->event.pressed) { - register_code(KC_RSFT); - #ifdef BACKLIGHT_ENABLE - backlight_step(); - #endif - } else { - unregister_code(KC_RSFT); - } - break; - } - return MACRO_NONE; -}; - -void matrix_init_user(void) { -#ifdef AUDIO_ENABLE - init_notes(); - play_notes(&start_up, 12, false); -#endif -} - -void process_action_user(keyrecord_t *record) { -#ifdef AUDIO_ENABLE - if (record->event.pressed) { - float keypress[][2] = { - {440.0*pow(2.0,(record->event.key.col*7)/12.0), 600} - }; - play_notes(&keypress, 1, false); - } -#endif -} -- cgit v1.2.3