example_keyboards
Christopher Browne 9 years ago
commit 10fe3f001b

@ -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 = no # Commands for debug and configuration
NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
MIDI_ENABLE = no # MIDI controls
AUDIO_ENABLE = no # Audio output on port C6
UNICODE_ENABLE = no # Unicode
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time.
# 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

@ -0,0 +1,2 @@
# A more basic Planck Layout for copying

@ -0,0 +1,970 @@
:100000000C9401020C9445020C9445020C94450298
:100010000C9445020C9445020C9445020C94450244
:100020000C9445020C9445020C94780B0C944A0CE9
:100030000C946E190C9445020C9445020C944502E4
:100040000C9445020C9445020C9445020C94450214
:100050000C9445020C94D6190C9445020C9445025C
:100060000C9445020C9445020C9445020C944502F4
:100070000C9445020C9445020C9445020C944502E4
:100080000C9445020C9445020C9445020C944502D4
:100090000C9445020C9445020C9445020C944502C4
:1000A0000C9445020C9445020C944502B70CD90CF3
:1000B000C70DD90CC70D1E0D410DC70D960DA90D0D
:1000C00086108610B510B510F410141144124412A5
:1000D0001F114412CF11CF113512441244123E1297
:1000E000DC11DC11DC11DC11DC11DC11DC11DC11A8
:1000F000DC11DC11DC11DC11DC11DC11DC11DC1198
:10010000EC11FA110112081212122B0014001A003D
:100110000800150017001C0018000C001200130046
:100120002A00290004001600070009000A000B003D
:100130000D000E000F0033003400E1001D001B0015
:1001400006001900050011001000360037003800C5
:100150002800E500E000E200E30001302C002C0064
:1001600002305000510052004F0035021E021F02A3
:100170002002210222022302240225022602270253
:100180002A004C003A003B003C003D003E003F008E
:100190002D022E022F0230023102010040004100E8
:1001A00042004300440045003202640201000100A5
:1001B00001000050010001000100010001000100E8
:1001C0000100AB00AA00A900AE0035001E001F0010
:1001D0002000210022002300240025002600270003
:1001E0002A004C003A003B003C003D003E003F002E
:1001F0002D002E002F003000310001004000410092
:100200004200430044004500320064000100010048
:100210000100005001000100010001000100010087
:100220000100AB00AA00A900AE002803540068003A
:100230006500200050006C0061006E0063006B00E0
:1002400020004B006500790062006F0061007200C1
:10025000640000002C034F007200740068006F00FF
:100260006C0069006E0065006100720020004B00A8
:100270006500790062006F00610072006400730025
:1002800000000403090409026D00040100A0FA093A
:1002900004000001030101000921110100012240B5
:1002A000000705810308000A090401000103010297
:1002B00000092111010001224D00070582030800F9
:1002C0000A090402000103000000092111010001D4
:1002D0002236000705830308000A0904030001030E
:1002E00000000009211101000122390007058403E3
:1002F0001000011201100100000008EDFE60600115
:10030000000102000105010906A101050719E02904
:10031000E7150025019508750181020508190129D5
:100320000595057501910295017503910105071960
:1003300000297715002501957875018102C0050116
:100340000980A101850216010026B7001A01002AC2
:10035000B700751095018100C0050C0901A1018548
:1003600003160100269C021A01002A9C02751095B2
:10037000018100C005010902A1010901A1000509CF
:1003800019012905150025019505750181029501C1
:10039000750381010501093009311581257F950219
:1003A0007508810609381581257F95017508810634
:1003B000050C0A38021581257F950175088106C054
:1003C000C005010906A101050719E029E715002567
:1003D00001950875018102950175088101050819CB
:1003E0000129059505750191029501750391010596
:1003F00007190029FF150026FF00950675088100E2
:10040000C00011241FBECFEFDAE0DEBFCDBF04B6BF
:1004100003FE24C08091E9019091EA01A091EB01D3
:10042000B091EC018730904BA740B04BB9F41092DB
:10043000E9011092EA011092EB011092EC0114BE56
:1004400084B7877F84BF88E10FB6F89480936000FB
:10045000109260000FBEE0E0F8E3099511E0A0E023
:10046000B1E0E4E4FCE302C005900D92AA33B107C9
:10047000D9F711E0AAE3B1E001C01D92A93EB1078E
:10048000E1F70E94C2080C94201E0C94000008950D
:10049000089581E0089508956E9A769A0C94470223
:1004A0000C9448020C9449020C944B02613019F0F0
:1004B000623049F013C0FC018281882311F081E091
:1004C00007C081E009C0FC018281882321F082E01D
:1004D0000E94EC1603C082E00E940D1780E090E0BD
:1004E000089581E008950C94710208950F931F936D
:1004F000CF93DF938C01FC01C081D181CE010E949A
:10050000A817BE010E942303EC01B8010E947302E8
:10051000882309F48DC0F8018281882309F44AC038
:100520008091450181111FC0C431F0E5DF0709F05A
:1005300051C00E94750281E0809345010E94A0197C
:10054000909344018093430110923C0110923E012C
:1005500010923D011092400110923F011092420111
:100560001092410165C080914301909144010E9425
:10057000AC19883C910570F480913C01E82FF0E0C3
:10058000EE0FFF1FE35CFE4FD183C0838F5F80932C
:100590003C014EC0C43880E5D80721F0C538D045AD
:1005A00001F13AC0F8018281882341F010923A01AA
:1005B00082E01EC0C438E0E5DE0759F580913A01BB
:1005C000811106C086E20E94350F86E20E94F20F7A
:1005D00082E01CC0C438F0E5DF0741F3C538D045E0
:1005E000D9F4F8018281882331F010923B0180E236
:1005F0000E9441101DC080913B01811106C087E21D
:100600000E94350F87E20E94F20F80E20E9448109C
:100610000FC0C538D04529F381E080933A0180931B
:100620003B01C801DF91CF911F910F910C945202B1
:1006300080E0DF91CF911F910F9108950C944C02AF
:100640000C94500208959CE0799FF001112490E3EE
:10065000899FE00DF11D1124E60FF11DEE0FFF1F24
:10066000E65FFE4F859194910895880F991FFC01D4
:10067000E657F040859194910895880F991FFC01E9
:10068000E65FFE4F8591949108950F931F93CF934A
:10069000DF93EC01811520E3920750F5C11580E24C
:1006A000D80708F0C3C0CB3BD10590F4C83AD105B8
:1006B00008F06AC0C53AD10508F05BC0C430D10566
:1006C00008F0D0C1219709F0CAC101E010E00AC2C8
:1006D000CF3FD10511F008F0C5C1C03FD10508F0EA
:1006E000A2C0CE01805E9109089708F4BBC1B7C1D2
:1006F000C13090E5D90709F4A2C020F5C0318FE4DC
:10070000D80770F4C11590E4D90708F094C0C1155A
:1007100021E3D20708F0A3C1DD278E01106CE2C1EE
:10072000C115D04509F09BC10E94AF128FEF94E331
:100730002CE0815090402040E1F700C000000E9472
:10074000FB19D0C1C11597E5D90758F4C03121E58F
:10075000D20708F01CC1C43180E5D80708F475C081
:100760007EC1CE0190578115904108F078C1DF70AD
:1007700073C1C53AD10509F477C1C63AD10509F06C
:1007800076C102E810E4AEC1C83AD10509F472C1DD
:10079000C93AD10509F471C1CA3AD10509F470C149
:1007A000CB3AD10509F46FC1CC3AD10509F46EC139
:1007B000CD3AD10509F46DC1C03BD10509F46CC136
:1007C000CE3AD10509F46BC1CF3AD10509F46AC11B
:1007D000C13BD10509F469C1C23BD10509F468C127
:1007E000C33BD10509F467C1C43BD10509F466C117
:1007F000C53BD10509F465C1C63BD10509F464C107
:10080000C73BD10509F463C1C83BD10509F462C1F6
:10081000C93BD10509F461C1CA3BD10509F460C1E6
:1008200000E014E45FC18E0110655CC1CE019F70D1
:100830000E943D0358C1DF708E01106A53C1809140
:10084000CC0181608093CC014DC10E94521A81116C
:1008500002C00E94381A0E94651A90E09093E90144
:100860008093E801C23080E5D80721F48091E80147
:10087000816086C0C43090E5D90721F48091E801F9
:1008800082607EC0C63020E5D20721F48091E80165
:10089000846076C0C83080E5D80719F48091E801FB
:1008A00027C0CA3090E5D90721F48091E801806122
:1008B00067C0CC3020E5D20721F48091E801806246
:1008C0005FC0CE3080E5D80721F48091E8018064D4
:1008D00057C0C03190E5D90721F48091E8018068C4
:1008E0004FC0C23120E5D20729F48091E80184602D
:1008F000886046C0C33080E5D80721F48091E801C4
:100900008E7F3EC0C53090E5D90721F48091E80183
:100910008D7F36C0C73020E5D20721F48091E801F1
:100920008B7F2EC0C93080E5D80719F48091E8018B
:1009300026C0CB3090E5D90721F48091E8018F7E65
:100940001FC0CD3020E5D20721F48091E8018F7DD2
:1009500017C0CF3080E5D80721F48091E8018F7B64
:100960000FC0C13190E5D90721F48091E8018F775C
:1009700007C0C331D04531F48091E8018B7F877F78
:100980008093E8018091E8010E94691AABC08D2F25
:1009900099278F70992781309105D9F49E01237092
:1009A000332702C0880F991F2A95E2F79C688E01B1
:1009B00044E0000F111F4A95E1F700271370802BC8
:1009C000912B53E0CC0FDD1F5A95E1F7C076DD2760
:1009D0002FC08230910531F4DC2FCC278E01016FBE
:1009E000106A80C08330910569F4CE018370992725
:1009F00001E010E002C0000F111F8A95E2F7C80164
:100A00009C680FC084309105B9F4CE01837099279A
:100A100001E010E002C0000F111F8A95E2F7C80143
:100A20009A6823E0CC0FDD1F2A95E1F7C07ED770CE
:100A30008C010C2B1D2B56C08530910531F4DC2F19
:100A4000CC278E01046F106A4DC0069709F04AC08A
:100A5000CF71DD27DC2FCC278E01106243C000E070
:100A600010E040C08E013EC001E810E43BC003E846
:100A700010E438C002EE14E435C009EE14E432C0CC
:100A80000AEE14E42FC005EB14E42CC006EB14E4CA
:100A900029C007EB14E426C00CEC14E423C00DECD1
:100AA00014E420C003E815E41DC00AE815E41AC0E8
:100AB00002E915E417C004E915E414C001E216E4E4
:100AC00011C003E216E40EC004E216E40BC005E216
:100AD00016E408C006E216E405C007E216E402C008
:100AE0000AE216E4C801DF91CF911F910F9108959A
:100AF0009CE0799FF001112490E3899FE00DF11DA6
:100B00001124E60FF11DEE0FFF1FE65FFE4F8591EA
:100B10009491803E9105E0F4803C910558F5813335
:100B2000910509F46FC048F48932910509F463C056
:100B30008A32910509F46DC072C089339105E9F0DC
:100B400082389105D1F08533910509F44DC067C015
:100B5000833E910581F138F4803E9105B9F0823EE3
:100B60009105D9F05CC0863E910561F1873E910503
:100B7000A1F155C00E94350308952091E80120FDA0
:100B800002C021FF4CC080EE90E049C08091E80196
:100B900080FFF9CF89E390E042C08091E80182FFB5
:100BA0000EC08091E80184FF03C080E090E037C070
:100BB00083EE90E034C08091E80182FFF2CF82EEB4
:100BC00090E02DC08091E80183FF0BC08091E80187
:100BD00084FDEBCF87EE90E022C08091E80183FF97
:100BE000F5CF86EE90E01BC08091E80185FF07C03D
:100BF00089E290E014C08091E80185FFF9CF85E398
:100C000090E00DC08091E80186FF07C08AE290E085
:100C100006C08091E80186FFF9CF81E390E00E9451
:100C2000450308950C945402E82FF0E0EF5DFE4F69
:100C30008081E82FEF70F0E082958F7021E030E046
:100C4000A90102C0440F551F8A95E2F740A30895F9
:100C50000F931F93CF93DF9385B7806885BF85B7C8
:100C6000806885BFC3E0D0E001E010E0FE01EF5DE9
:100C7000FE4F8081E82FEF70F0E021A182958F7008
:100C8000A80102C0440F551F8A95E2F7CA01822BC2
:100C900081A38C2F0E941406219740F78BE090E0EF
:100CA00061E070E0FC01EB5EFE4F2081E22FEF700F
:100CB000F0E042A122952F70DB0102C0AA0FBB1FFA
:100CC0002A95E2F79D01242B22A3019758F7DF9183
:100CD000CF911F910F910C941E03EF92FF920F93EF
:100CE0001F93CF93DF930EE411E0C3E0EE24E3946F
:100CF000F12CD5E08C2F0E9414068BE090E040E0B0
:100D000050E0FC01EB5EFE4F6081E62FEF70F0E0FB
:100D100020A130E062956F7002C0359527956A95E5
:100D2000E2F720FD09C09701082E02C0220F331FF1
:100D30000A94E2F7422B532B019718F7F80192918E
:100D400082918F018417950721F051834083D093BE
:100D500000018C2F0E941406C15060F680910001A2
:100D600087FD2CC08150809300018F3F39F08FE9BF
:100D70009FE00197F1F700C0000020C080914C0176
:100D800090914D01909355018093540180914A01B7
:100D900090914B01909353018093520180914801AF
:100DA00090914901909351018093500180914601A7
:100DB0009091470190934F0180934E010E94200330
:100DC00081E0DF91CF911F910F91FF90EF900895F7
:100DD000E82FF0E0EE0FFF1FE25BFE4F8081918174
:100DE000089508950F931F93CF9306E511E0C0E097
:100DF000F801929182918F010E942319C80FF1E0AE
:100E00000E341F07A9F78C2FCF911F910F910895D2
:100E1000809166010895CF93DF9300D01F92CDB7E4
:100E2000DEB79C018091DF01843019F593E099834E
:100E30003B832A839093E9008FEF9091E8008150E3
:100E400095FD06C095ED9A95F1F700008111F5CF5B
:100E50008091E80085FF0DC040E050E063E070E065
:100E6000CE0101960E9468098091E8008E778093F8
:100E7000E8000F900F900F90DF91CF910895CF93DE
:100E8000DF9300D01F92CDB7DEB72091DF01243071
:100E900021F522E029839B838A8383E08093E90004
:100EA0008FEF9091E800815095FD06C095ED9A95E1
:100EB000F1F700008111F5CF8091E80085FF0DC0AA
:100EC00040E050E063E070E0CE0101960E946809C6
:100ED0008091E8008E778093E8000F900F900F903C
:100EE000DF91CF9108952091DF012430F1F422E0C9
:100EF0002093E9002FEF3091E800215035FD06C026
:100F000035ED3A95F1F700002111F5CF2091E80079
:100F100025FF0BC040E050E065E070E00E946809EA
:100F20008091E8008E778093E8000895CF93DF9357
:100F3000EC019091DF01943009F046C080910B01E3
:100F40008823D9F080910C018823B9F09093E900AF
:100F50008FEF9091E800815095FD06C095E19A953C
:100F6000F1F700008111F5CF8091E80085FF2CC0DA
:100F700040E050E060E170E017C081E08093E9005C
:100F80008FEF9091E800815095FD06C095ED9A9500
:100F9000F1F700008111F5CF8091E80085FF14C0C2
:100FA00040E050E068E070E0CE010E946809809166
:100FB000E8008E778093E80080E1FE01A6E5B1E0CD
:100FC00001900D928A95E1F7DF91CF91089580917C
:100FD000DE01811109C00E94FD0A0E945A0B809116
:100FE000E20084608093E20008951092DE0108958B
:100FF000089508950C94681942E061EC81E00E9424
:10100000770A42E061EC82E00E94770A42E061ECFC
:1010100083E00E94770A42E161EC84E00C94770A55
:101020008091E101833009F455C030F4813071F0D2
:10103000823009F48EC008958A3009F47AC08B306A
:1010400009F460C0893009F09CC020C08091E001A3
:10105000813A09F096C08091E800877F8093E8008C
:101060008091E4019091E501892B21F460E186E50E
:1010700091E003C060E080E090E070E00E94B3097E
:101080008091E8008B778093E80008958091E001DB
:10109000813209F076C08091E4019091E5010097DA
:1010A00019F0039709F06DC08091E800877F809365
:1010B000E8008091E80082FD05C08091DF01811188
:1010C000F8CF5FC08091F100809366018091E800C5
:1010D0008B7753C08091E001813A09F052C0809132
:1010E000E4019091E501892B09F04BC08091E80063
:1010F000877F8093E8008091E80080FFFCCF80919B
:101100000B0136C08091E0018132D9F58091E40174
:101110009091E501892BA9F58091E800877F809364
:10112000E8000E94AC0A8091E20180930B010C94CC
:10113000AF128091E001813221F58091E800877F34
:101140008093E8000E94AC0A8091E30180936701DC
:1011500008958091E001813AA1F48091E800877FB1
:101160008093E8008091E80080FFFCCF80916701C8
:101170008093F1008091E8008E778093E8000C94D2
:10118000AC0A089584B7877F84BF88E10FB6F894CE
:1011900080936000109260000FBE80E88093610031
:1011A000109261000E944F0E0E94FD0A0E945A0B8D
:1011B0008091E20084608093E20078940E94E00DC8
:1011C0000E94510E81E091E00E94FB0D8091DF01B1
:1011D000853069F40E942F198091DD018823B1F3D5
:1011E0000E945A19882391F30E945209EFCF0E945E
:1011F000570EECCF292F332723303105C9F064F483
:101200002130310581F02230310509F043C08DE6EF
:1012100090E026E832E042C021323105F1F022327E
:10122000310541F137C082E190E023EF32E036C072
:1012300099278130910541F08230910541F0892B49
:1012400049F5E2E8F2E005C0E4E5F2E002C0EAE2D6
:10125000F2E0849190E09F0121C06430D8F4E62F41
:10126000F0E0EE0FFF1FEF5CFE4F2081318189E03F
:1012700090E014C0643070F470E0FB01EE0FFF1FCB
:10128000E75DFE4F20813181FB01EB5DFE4F8081E8
:1012900090E004C080E090E020E030E0FA0131838B
:1012A0002083089580E189BD82E189BD09B400FEF3
:1012B000FDCF8091D8008F7D8093D8008091E00091
:1012C00082608093E0008091E00081FDFCCF089572
:1012D000CF92DF92EF92FF920F931F93CF93DF9302
:1012E000EC018B016A010E94CB0A811133C0C11449
:1012F000D10439F0F60180819181081B190BC80FC8
:10130000D91FE12CF12C0115110519F18091E8008C
:1013100085FD16C08091E8008E778093E800C114A7
:10132000D10449F0F60180819181E80EF91EF18225
:10133000E08285E00FC00E94CB0A882321F30AC017
:1013400089918093F10001501109FFEFEF1AFF0A14
:10135000DACF80E0DF91CF911F910F91FF90EF9056
:10136000DF90CF9008952091E6013091E701261794
:10137000370748F06115710539F42091E8002E77A0
:101380002093E80001C0B90140E061157105A9F1A1
:101390002091DF01222309F443C0253009F442C023
:1013A0002091E80023FD40C02091E80022FD32C0DA
:1013B0002091E80020FFE9CF4091F3002091F20056
:1013C00030E0342BFC01CF016115710559F0283054
:1013D000310540F481918093F100615071092F5FD4
:1013E0003F4FF1CF41E02830310509F040E0209136
:1013F000E8002E772093E800C8CF4111C9CF0AC07A
:101400008091DF01882361F0853061F08091E800F0
:1014100083FD0AC08091E80082FFF2CF80E008954A
:1014200082E0089583E0089581E008952091E60127
:101430003091E7012617370748F06115710539F437
:101440002091E8002E772093E80001C0B901FC014B
:1014500020E06115710591F18091DF01882309F485
:1014600040C0853009F43FC08091E80083FD3DC055
:101470008091E80082FD2FC08091E80080FFE9CFD5
:101480002091F3008091F20090E0922B611571059C
:1014900059F08830910540F424912093F100319661
:1014A000615071090196F2CF21E0089709F020E020
:1014B0008091E8008E778093E800CBCF2111CCCFCC
:1014C0000AC08091DF01882361F0853061F080914E
:1014D000E80083FD0AC08091E80082FFF2CF80E03F
:1014E000089582E0089583E0089581E00895982F9B
:1014F000973058F59093E900981739F07091EC0007
:101500002091ED005091F00003C0242F762F50E081
:1015100021FF19C03091EB003E7F3093EB003091FA
:10152000ED003D7F3093ED003091EB003160309362
:10153000EB007093EC002093ED005093F0002091AD
:10154000EE0027FF07C09F5FD3CF8F708093E90025
:1015500081E0089580E008958091E00187FF11C047
:101560008091E80082FD05C08091DF018111F8CFF4
:1015700011C08091E8008B770BC08091DF01882338
:1015800049F08091E80080FFF8CF8091E8008E77E5
:101590008093E80008952091E4003091E50095E6FD
:1015A0004091EC00842F817040FF22C08091E800C0
:1015B00080FD1CC08091DF01882391F0853091F07F
:1015C0008091EB0085FD10C04091E4005091E50052
:1015D0004217530729F39A01915011F784E00895B7
:1015E00082E0089583E0089581E0089580E0089501
:1015F0004091E80042FFDECF08950E946B0B0E94ED
:10160000730BE0EEF0E0808181608083E8EDF0E034
:1016100080818F77808319BCA7EDB0E08C918E7F9D
:101620008C9380818F7E80831092DE0108950F93CA
:101630001F93CF93DF930E946B0B0E94730BC8ED37
:10164000D0E088818F7788838881806888838881CB
:101650008F7D888319BC1092DF011092DB011092FC
:10166000DD011092DC0100EE10E0F80180818B7F3B
:10167000808388818160888342E060E080E00E940E
:10168000770AE1EEF0E080818E7F8083E2EEF0E089
:10169000808181608083808188608083F80180817F
:1016A0008E7F8083888180618883DF91CF911F91B5
:1016B0000F910895E8EDF0E080818F7E8083E7ED63
:1016C000F0E080818160808384E082BF81E080934C
:1016D000DE010C94170BE8EDF0E080818E7F8083B3
:1016E0001092E20008951092DA001092E10008953D
:1016F0001F920F920FB60F9211242F933F934F9387
:101700005F936F937F938F939F93AF93BF93EF9369
:10171000FF938091E10082FF0BC08091E20082FF85
:1017200007C08091E1008B7F8093E1000E94DF0D74
:101730008091DA0080FF1FC08091D80080FF1BC01D
:101740008091DA008E7F8093DA008091D90080FF4B
:101750000DC080E189BD82E189BD09B400FEFDCFE5
:1017600081E08093DF010E94E70705C019BC109259
:10177000DF010E94F5078091E10080FF19C0809190
:10178000E20080FF15C08091E2008E7F8093E2002E
:101790008091E20080618093E2008091D8008062B5
:1017A0008093D80019BC85E08093DF010E94F9077F
:1017B0008091E10084FF30C08091E20084FF2CC062
:1017C00080E189BD82E189BD09B400FEFDCF809131
:1017D000D8008F7D8093D8008091E1008F7E809328
:1017E000E1008091E2008F7E8093E2008091E20030
:1017F00081608093E2008091DB01882311F084E016
:1018000007C08091E30087FD02C081E001C083E052
:101810008093DF010E94FA078091E10083FF29C0D5
:101820008091E20083FF25C08091E100877F809353
:10183000E10082E08093DF011092DB018091E10002
:101840008E7F8093E1008091E2008E7F8093E200A2
:101850008091E20080618093E20042E060E080E0FD
:101860000E94770A8091F00088608093F0000E94C7
:10187000F807FF91EF91BF91AF919F918F917F9169
:101880006F915F914F913F912F910F900FBE0F90ED
:101890001F9018951F920F920FB60F9211242F933D
:1018A0003F934F935F936F937F938F939F93AF93E8
:1018B000BF93CF93DF93EF93FF93C091E900CF7075
:1018C0008091EC00D82FD17080FDD0E81092E90013
:1018D0008091F000877F8093F00078940E948E0CB6
:1018E0001092E9008091F00088608093F000CD2B89
:1018F000CF70C093E900FF91EF91DF91CF91BF913D
:10190000AF919F918F917F916F915F914F913F9197
:101910002F910F900FBE0F901F9018951F93CF938C
:10192000DF93CDB7DEB7AA970FB6F894DEBF0FBE30
:10193000CDBFE0EEF1E088E08E0F9091F100919341
:101940008E13FBCF0E9410088091E80083FF1FC117
:101950008091E0019091E101492F50E04A3051051A
:1019600008F015C1FA01EA5AFF4F0C94D01D8038D7
:1019700081F0823809F00BC18091E4018F7080936F
:10198000E9008091EB0085FB882780F91092E9003F
:1019900006C08091DC019091DD01911182609091EF
:1019A000E800977F9093E8008093F1001092F10097
:1019B000C8C0282F2D7F09F0EAC0882319F0823093
:1019C00061F0E5C08091E201813009F0E0C0933020
:1019D00009F080E08093DD012BC08091E20181114C
:1019E00027C08091E4018F7009F4D1C08093E90091
:1019F0002091EB0020FF1CC0933021F48091EB007C
:101A0000806214C09091EB0090619093EB0021E014
:101A100030E0A90102C0440F551F8A95E2F74093B8
:101A2000EA001092EA008091EB0088608093EB005E
:101A30001092E9008091E800877F86C08111A7C0DD
:101A40001091E2011F778091E3008078812B8093D1
:101A5000E3008091E800877F8093E8000E94AC0A51
:101A60008091E80080FFFCCF8091E3008068809344
:101A7000E300111102C082E001C083E08093DF0126
:101A800086C08058823008F082C08091E201909137
:101A9000E3018C3D53E0950779F583E08A838AE280
:101AA00089834FB7F894DE01139620E03EE051E2BF
:101AB000E32FF0E050935700E49120FF03C0E2953C
:101AC000EF703F5FEF708E2F90E0EA3010F0C79616
:101AD00001C0C0968D939D932F5F243149F74FBF6E
:101AE0008091E800877F8093E8006AE270E0CE0191
:101AF00001960E94B30914C0AE014F5F5F4F609121
:101B0000E4010E94FA08BC01009709F440C09091DA
:101B1000E800977F9093E80089819A810E94160AD5
:101B20008091E8008B778093E80031C0803879F5A8
:101B30008091E800877F8093E8008091DB018093AB
:101B4000F1008091E8008E778093E8000E94AC0A53
:101B50001EC081111CC09091E2019230C0F48091AE
:101B6000E800877F8093E8009093DB010E94AC0A35
:101B70008091DB01811106C08091E30087FD02C0E6
:101B800081E001C084E08093DF010E94FC07809126
:101B9000E80083FF0AC08091E800877F8093E80017
:101BA0008091EB0080628093EB00AA960FB6F894C8
:101BB000DEBF0FBECDBFDF91CF911F910895089575
:101BC000CF938091DF018823A1F0C091E900CF700D
:101BD0009091EC00892F817090FD80E8C82B1092C5
:101BE000E9008091E80083FD0E948E0CCF70C093C5
:101BF000E900CF91089590936D0180936C01089551
:101C0000E0916C01F0916D01309721F00190F0812D
:101C1000E02D099480E00895E0916C01F0916D0150
:101C2000309721F00280F381E02D09940895E0912E
:101C30006C01F0916D01309721F00480F581E02D69
:101C40000994089520916A0130916B0182179307DE
:101C500071F090936B0180936A01E0916C01F091B7
:101C60006D01309721F00680F781E02D09940895E9
:101C700020916801309169018217930771F0909368
:101C8000690180936801E0916C01F0916D013097DA
:101C900021F00084F185E02D0994089508950C94B5
:101CA0004E0E0E9497190E9428060C941D1A5F92EE
:101CB0006F927F928F929F92AF92BF92CF92DF925C
:101CC000EF92FF920F931F93CF93DF9300D000D03A
:101CD0001F92CDB7DEB70E946D0697E7C92E91E03F
:101CE000D92E03E010E0AA24A394B12C502E802F0B
:101CF0000E94E8064C01F601729062906F0168261E
:101D0000792661147104A1F40150110978F78FEF5D
:101D100089838A831B820E94A0198160782F9D830A
:101D20008C8349815A816B818D810E94070F38C055
:101D30008091CC0181FD0E94F1062BE030E075011D
:101D4000022E02C0EE0CFF1C0A94E2F7C7018621A6
:101D50009721892B09F129835A828E209F2091E0B7
:101D6000892809F490E09B830E94A0198160782F54
:101D70009D838C8349815A816B818D810E94070FDD
:101D8000000F111FF801E159FE4F80819181E82673
:101D9000F926F182E08204C02150310980F6B4CFE7
:101DA0000E94E81B10916E010E94000E1817D1F0DE
:101DB0000E94000E80936E010F900F900F900F9075
:101DC0000F90DF91CF911F910F91FF90EF90DF90D7
:101DD000CF90BF90AF909F908F907F906F905F90CB
:101DE0000C9412060F900F900F900F900F90DF91B0
:101DF000CF911F910F91FF90EF90DF90CF90BF9008
:101E0000AF909F908F907F906F905F900895CF9349
:101E1000DF93CDB7DEB72B970FB6F894DEBF0FBEBA
:101E2000CDBF4F83588769877A878B87DE011196EC
:101E300086E0FD0111928A95E9F785E0FE0137966B
:101E400001900D928A95E1F749815A816B817C81DD
:101E50008D819E810E944D152B960FB6F894DEBFA2
:101E60000FBECDBFDF91CF910895882309F4B9C08B
:101E7000823859F40E94000E81FDB3C089E30E94AC
:101E800027180E94F41889E30CC0833871F40E946B
:101E9000000E80FDA6C083E50E9427180E94F4185A
:101EA00083E50E9469180C94F418843859F40E9450
:101EB000000E82FD96C087E40E9427180E94F41845
:101EC00087E4EFCF9CEF980F913A18F40E942718FF
:101ED000EACF90E2980F983050F4877091E001C0FB
:101EE000990F8A95EAF7892F0E94AD18DCCF9BE500
:101EF000980F933070F4853A29F0863A31F083E8F0
:101F000090E005C081E890E002C082E890E00C9487
:101F1000220E98E5980F933108F063C0883A39F1A2
:101F2000893A41F18A3A49F18B3A51F18C3A59F1A7
:101F30008D3A61F1803B69F18E3A71F18F3A79F116
:101F4000813B81F1823B89F1833B91F1843B99F1A3
:101F5000853BA1F1863BA9F1873BB1F1883BB9F103
:101F6000893BC1F18A3BC9F180E090E038C082EE44
:101F700090E035C089EE90E032C08AEE90E02FC04C
:101F800085EB90E02CC086EB90E029C087EB90E0D9
:101F900026C08CEC90E023C08DEC90E020C083E85C
:101FA00091E01DC08AE891E01AC082E991E017C073
:101FB00084E991E014C081E292E011C083E292E0F2
:101FC0000EC084E292E00BC085E292E008C086E297
:101FD00092E005C087E292E002C08AE292E00C94AF
:101FE000380E0895882309F44BC0823859F40E94B2
:101FF000000E81FF45C089E30E9427180E94F41853
:1020000089E30CC0833871F40E94000E80FF38C051
:1020100083E50E9427180E94F41883E50E9469183E
:102020000C94F418843859F40E94000E82FF28C0E2
:1020300087E40E9427180E94F41887E4EFCF9CEFF2
:10204000980F913A58F390E2980F983050F48770B7
:1020500091E001C0990F8A95EAF7892F0E94B31881
:10206000DFCF9BE5980F933020F480E090E00C9454
:10207000220E885A833120F480E090E00C94380ED0
:102080000895882321F00E94AD180C94F418089547
:10209000882321F00E94B3180C94F41808957F92BD
:1020A0008F929F92AF92BF92CF92DF92EF92FF9268
:1020B0000F931F93CF93DF931F92CDB7DEB77C01B1
:1020C000C62E772EFC01058102950F701281111129
:1020D0000E94CA180E942018882379F0112369F001
:1020E00080E28C0D883048F082E00E9409180E943E
:1020F000201891E0D82ED92601C0D12CE72DE295E9
:10210000EF70F0E0E05AFF4F0C94D01D872D807FD8
:10211000072D0F70882311F00295007F112389F09D
:10212000002309F498C180E28C0D883020F4802FC0
:102130000E94AD1803C0802F0E94BD180E94F418A1
:102140008AC18C2D0E94F20F002309F49DC180E208
:102150008C0D883020F4802F0E94B31803C0802F8C
:102160000E94C3180E94F4188FC1872D807F972D7D
:102170009F70803211F4892F03C0892F8295807F50
:10218000CC2021F0F1E0CF16A1F01DC0112339F0D1
:10219000002319F1013009F50E94DD1875C10023F3
:1021A00019F0013009F470C189830E94E018898117
:1021B00010C1112321F0063008F066C10EC00530B1
:1021C00008F062C106C1112359F0002331F0F70174
:1021D000958190FF40C19F7095830E94411054C12A
:1021E000002309F4F6C03DC1872D8695869583703E
:1021F00090E0009719F0019761F046C1112321F09A
:102200008C2D972D937002C080E090E00E94220EEA
:102210003BC1112321F08C2D972D937002C080E0DB
:1022200090E00E94380E30C18C2D112319F00E94CD
:10223000F01A02C00E94581B0E94DD1B25C1872D89
:10224000837009F052C011111FC18C2D82958695A3
:102250008770880F880F9C2D9F70892E912CA12C40
:10226000B12C082E04C0880C991CAA1CBB1C0A9413
:10227000D2F7C4FE14C00FE010E020E030E0B90156
:10228000A80104C0440F551F661F771F8A95D2F717
:10229000CB01BA01609570958095909503C060E080
:1022A00070E0CB01272D26952695237030E0223053
:1022B000310569F02330310589F0682979298A29A7
:1022C0009B292130310571F00E949516DDC06829E7
:1022D00079298A299B290E94B116D6C00E94951699
:1022E000C501B4010E947916CFC0112319F0872DC2
:1022F000817001C08695882309F4C6C08C2D829513
:1023000086958770880F880F9C2D9F70892E912C41
:10231000A12CB12C082E04C0880C991CAA1CBB1C33
:102320000A94D2F7C4FE14C00FE010E020E030E0C1
:10233000B901A80104C0440F551F661F771F8A9575
:10234000D2F7CB01BA01609570958095909503C046
:1023500060E070E0CB01272D269526952370422F53
:1023600050E04230510569F04330510589F0682949
:1023700079298A299B294130510571F00E946F17F4
:1023800083C0682979298A299B290E948B177CC0E0
:102390000E946F17C501B4010E94531775C08C2DA0
:1023A00090E0FC01E05EF109E531F10508F04FC075
:1023B000E059FF4F0C94D01D0C2D0F70872D8F719D
:1023C000112321F00E94EC16802F07CF0E940D17D9
:1023D000802F0E94481058C0112341F0053008F0AA
:1023E00053C0872D8F710E9432174EC0063008F0FF
:1023F0004BC0F7CF112339F0872D8F710E94EC1657
:1024000043C01123C9F3872D8F710E940D173CC063
:10241000112329F0872D8F710E94D71635C00E9495
:10242000CD1632C0112351F0172D1F71812F0E943C
:10243000EC1663E0812F0E94001826C081E00E9404
:102440000918023008F182E00E9409181DC011230A
:1024500031F0002389F28C2D0E94350F15C0002326
:1024600091F28C2D0E94F20F0FC0472D4F706C2DF2
:10247000C7010E9456020E94F11506C0472D4F70F9
:102480006C2DC7010E942203DD20F9F00E94FC1789
:1024900080FD1BC0F70112820E94F6170E94EC1605
:1024A000C7010E9474120E94F6170F90DF91CF911E
:1024B0001F910F91FF90EF90DF90CF90BF90AF9062
:1024C0009F908F907F900C940D170F90DF91CF917C
:1024D0001F910F91FF90EF90DF90CF90BF90AF9042
:1024E0009F908F907F9008950F931F93CF93DF93CA
:1024F000EC01888199812B813C81232BB9F09F3F8E
:1025000011F48F3F99F0CE010E947602882371F07A
:10251000688179818A810E94F2178C010E94A71735
:102520000E946E16B801CE010E944F10DF91CF912C
:102530001F910F9108950E94CA180E94DA180E94F4
:102540009F180E94F4180E948E1C0E94DD1B80E0E0
:1025500090E00E94220E80E090E00C94380E0E94E1
:10256000BA180C949B120E94E717292F22952F70FE
:1025700030E02C3031054CF42A3031056CF4225017
:10258000310922303105A8F407C02C30310569F03B
:102590002F30310551F00DC0803F69F018F4803EB6
:1025A00040F409C0843F29F406C093FB882780F9D2
:1025B000089580E0089581E00895CF93DF9300D0DF
:1025C00000D01F92CDB7DEB70F900F900F900F90F5
:1025D0000F90DF91CF910895CF93DF9300D000D07B
:1025E00000D0CDB7DEB726960FB6F894DEBF0FBE8B
:1025F000CDBFDF91CF9108951F93CF93DF93C0910B
:10260000770116E080917801C81799F0D0E01C9FFF
:10261000F0011D9FF00D1124E758FE4F40815181BC
:1026200062817381848195810E94EC122196C7702A
:10263000E9CFDF91CF911F9108954091A901509169
:10264000AA016091AB017091AC018091AD019091B4
:10265000AE010C94EC128091AE0182958F7009F05E
:1026600054C08091AB01882309F44FC08091770159
:10267000A09178016091A9017091AA014091AC01EB
:102680005091AD01B6E08A1709F43FC090E04115C2
:102690005105C1F17F3F11F46F3FA1F1B89FF001E7
:1026A000B99FF00D1124E758FE4F218172132AC003
:1026B0002081621327C02281211124C0238134810B
:1026C0002417350710F421503109241B350B283C01
:1026D0003105C0F42091AE012F7020612093AE012E
:1026E00026E0289FF001299FF00D1124E258FE4FAB
:1026F00080818F708061808389EA91E00E947412EA
:102700000C94FC1201968770BECF0895CF92DF9291
:10271000EF92FF920F931F93CF93DF93CDB7DEB766
:1027200062970FB6F894DEBF0FBECDBF8C0185E077
:10273000F801DE011D9601900D928A95E1F7D8010E
:102740004C9111965C91119712966C911297139679
:10275000CD90DC9014973091A9017091AA018091DD
:10276000AC019091AD01009709F46BC17F3F19F462
:102770003F3F09F466C1E090AB01EE2009F4C0C010
:102780002091AE01C816D90628F0F601E81BF90B16
:10279000CF0104C0809590958C0D9D1DFF24F3946E
:1027A000883C910578F0F12C207F09F0C6C07C2D83
:1027B000D98AC88A89890E94DD1289EA91E00E943B
:1027C0007412B1C0822F807F09F046C0751314C007
:1027D000341312C0611110C02F7020612093AE011C
:1027E0000E941D1389EA91E00E9474128091AE014B
:1027F000D80115968C932EC0CD2819F15F3F11F4A6
:102800004F3FF9F0F62E61111CC0809177012091A5
:10281000780136E0821709F45AC090E0389FF00141
:10282000399FF00D1124E758FE4F7181571306C0F0
:102830007081471303C07281711103C001968770C4
:10284000E9CFF62E662309F418C18091AE018160AC
:102850008093AE01F12C11C1751308C0341306C06A
:10286000611104C08091AE01D801C3C04D875E875D
:102870008D859E856A8B0E94B3126A898823E1F157
:102880006623D1F12091AE01822F82958F7090E066
:10289000029774F08091A9019091AA0198878F8383
:1028A0001986DB86CA862C87CE0107960E94741291
:1028B00086E0F801A9EAB1E001900D928A95E1F76E
:1028C0000E942B130E941D13FF24F394D6C04D8742
:1028D0005E878D859E850E94E717292F22952F7090
:1028E00030E0223031050CF0BCC09F7009F0B6C05A
:1028F000805E883008F4C1C0C8010E947412E4CF21
:10290000C816D90608F453C0F601E81BF90BCF012D
:10291000883C910508F450C0F12C7C2DD98AC88AD6
:1029200089890E94DD12E9EAF1E086E0DF011D926B
:102930008A95E9F70E941D13A0C0751314C03413C3
:1029400012C0611110C08091AE01F8018583C801E9
:102950000E94741286E0E9EAF1E0DF011D928A9597
:10296000E9F7FE2C8AC04D875E878D859E856A8B30
:102970000E94B3126A89882309F4BECF662309F442
:10298000BBCF2091AE01822F82958F7090E002978D
:102990000CF48ECF8091A9019091AA019A8389832A
:1029A0001B82DD82CC822E83CE0101967FCF809563
:1029B00090958C0D9D1DACCFF62E662309F49CCF0F
:1029C00075132EC034132CC02091AE0120FD1FC002
:1029D000822F82958F70D9F0D80115962C93159778
:1029E0008F3049F08F5F982F9295907F822F8F7054
:1029F000892B15968C93C8010E94741286E0F80109
:102A0000A9EAB1E001900D928A95E1F793CF86E0B3
:102A1000F801A9EAB1E001900D928A95E1F72DC085
:102A20004D875E878D859E850E94B312811140CFB0
:102A30008091AE0181608093AE01C8010E94741242
:102A40001CC0662309F458CF4D875E878D859E850F
:102A50000E94B312882309F44FCF2ACF811148CFA7
:102A60000CC0243031050CF047CF9F7009F440CFE3
:102A7000F8019581907F09F03BCF8F2D62960FB6BC
:102A8000F894DEBF0FBECDBFDF91CF911F910F91A4
:102A9000FF90EF90DF90CF9008951F93CF93DF9337
:102AA000CDB7DEB72C970FB6F894DEBF0FBECDBF03
:102AB0004F83588769877A878B879C87CE010796D3
:102AC0000E948613882369F08F8198852A853B852B
:102AD000232BF1F19F3F09F063C08F3F09F060C0E5
:102AE00037C086E0FE013796DE01119601900D9207
:102AF0008A95E1F76F817885EA85FB85309741F10A
:102B00007F3F11F46F3F21F12091780130E0C9013E
:102B10000196877099274091770150E084179507B7
:102B200009F447C069837A83FD83EC8396E0929F22
:102B3000D001939FB00D1124A758BE4FFE013196CE
:102B400001900D929A95E1F7809378010E94FC1212
:102B500016E080917701909178018917C1F1189F53
:102B6000C001112487589E4F0E948613882379F153
:102B7000E09177011E9FF0011124E758FE4F40813C
:102B8000518162817381848195810E94EC128091D0
:102B9000770190E001968770992780937701D9CFCC
:102BA0004F81588569857A858B859C850E94EC12BA
:102BB000CFCF0E94AF121092780110927701E9EA0C
:102BC000F1E086E0DF011D928A95E9F7C1CF2C96EE
:102BD0000FB6F894DEBF0FBECDBFDF91CF911F912E
:102BE0000895EF92FF920F931F93CF93DF938C0181
:102BF000009709F46CC0F12CEE24E394E8012196CF
:102C0000F8018491843740F4843008F051C0813059
:102C100081F0823019F15BC0853709F444C0A8F116
:102C20009CE7980F903708F052C08F770E94F20F00
:102C300041C00E5F1F4FFE01C49180E28C0F8830AF
:102C400048F4C7708E2D01C0880FCA95EAF70E941C
:102C5000CD1814C08C2F0E94350F2DC00E5F1F4F52
:102C6000FE01C49180E28C0F883058F4C7708E2D1D
:102C700001C0880FCA95EAF70E94D3180E94F41881
:102C80001AC08C2F0E94F20F16C00E5F1F4FFE015C
:102C9000C491CC2381F08FE99FE00197F1F700C048
:102CA0000000C150F6CF0E5F1F4FFE01F49003C02D
:102CB0000E94350F8E018F2D882309F49FCFEFE9F5
:102CC000FFE03197F1F700C000008150F5CFDF91B0
:102CD000CF911F910F91FF90EF9008950895609309
:102CE000B3017093B4018093B5019093B6010C9435
:102CF0009B120F931F930091B3011091B401209187
:102D0000B5013091B601DC01CB01802B912BA22BB8
:102D1000B32B8093B3019093B401A093B501B0930A
:102D2000B6011F910F910C949B120F931F9300916A
:102D3000B3011091B4012091B5013091B601DC01CD
:102D4000CB0180239123A223B3238093B3019093DB
:102D5000B401A093B501B093B6011F910F910C94EB
:102D60009B120F931F930091B3011091B401209116
:102D7000B5013091B601DC01CB0180279127A22754
:102D8000B3278093B3019093B401A093B501B0939E
:102D9000B6011F910F910C949B121092AF011092EB
:102DA000B0011092B1011092B2010C949B1241E05B
:102DB00050E060E070E004C0440F551F661F771FAD
:102DC0008A95D2F74093AF015093B0016093B1015F
:102DD0007093B2010C949B1241E050E060E070E00F
:102DE00004C0440F551F661F771F8A95D2F7809144
:102DF000AF019091B001A091B101B091B201482B07
:102E0000592B6A2B7B2B4093AF015093B0016093F9
:102E1000B1017093B2010C949B1241E050E060E06C
:102E200070E004C0440F551F661F771F8A95D2F7C4
:102E300040955095609570958091AF019091B0014B
:102E4000A091B101B091B201482359236A237B2399
:102E50004093AF015093B0016093B1017093B20100
:102E60000C949B1241E050E060E070E004C0440F1D
:102E7000551F661F771F8A95D2F78091AF019091F9
:102E8000B001A091B101B091B201482759276A273A
:102E90007B274093AF015093B0016093B1017093D1
:102EA000B2010C949B120F931F930091AF011091EC
:102EB000B0012091B1013091B201DC01CB01802B36
:102EC000912BA22BB32B8093AF019093B001A093D1
:102ED000B101B093B2011F910F910C949B120F930B
:102EE0001F930091AF011091B0012091B101309179
:102EF000B201DC01CB0180239123A223B323809371
:102F0000AF019093B001A093B101B093B2011F91B2
:102F10000F910C949B120F931F930091AF0110918E
:102F2000B0012091B1013091B201DC01CB018027C9
:102F30009127A227B3278093AF019093B001A0936C
:102F4000B101B093B2011F910F910C949B1208959F
:102F5000CF92DF92EF92FF920F931F93CF93DF9365
:102F60008C01C090B301D090B401E090B501F09015
:102F7000B6018091AF019091B001A091B101B091E3
:102F8000B201C82AD92AEA2AFB2ACFE1D0E0D70128
:102F9000C6010C2E04C0B695A795979587950A94FF
:102FA000D2F780FF06C0B8018C2F0E9478050197E8
:102FB00021F4219760F780E001C08C2FDF91CF9141
:102FC0001F910F91FF90EF90DF90CF900895CF93D6
:102FD000DF93EC010E94A817BE010E947805DF91E3
:102FE000CF910895CB010E94E71708958091B70112
:102FF00085958595859508958091B7018770089589
:1030000098E0899F90011124262B2093B7010C94FE
:10301000EC162091B701809582238093B701982FF9
:10302000977069F430E0482F552747FD50952417D5
:10303000350729F08595859585950C940D1708958C
:103040009091B701977081E009F480E00895909124
:103050000B01992321F090910C01911109C020914D
:103060000D0130910E01F90132969FEF40E01FC033
:10307000982F9695969596959F3050F5E0910D0175
:10308000F0910E01E90FF11D877021E030E0A901F8
:1030900002C0440F551F8A95E2F7CA019181892B1E
:1030A000818308959F3F39F04F5F4E3041F0519139
:1030B0005813F8CF0DC05111F7CF942FF5CF9F3F84
:1030C00039F0F901E90FF11D97FDFA958283089512
:1030D000089590910B01992321F090910C01911189
:1030E00009C020910D0130910E01F9013296205F47
:1030F0003F4F1FC0982F9695969596959F30F0F468
:10310000E0910D01F0910E01E90FF11D877021E0B2
:1031100030E0A90102C0440F551F8A95E2F7CA01A9
:10312000809591818923818308953196E217F30771
:1031300029F090819813F9CF1082F7CF089581E09C
:1031400090E0E0910D01F0910E01E80FF91F10825F
:10315000019680319105A9F708959091CB01892BB3
:103160008093CB01089580959091CB018923809322
:10317000CB0108951092CB0108959091CA01892B3B
:103180008093CA01089580959091CA018923809304
:10319000CA0108951092CA0108959091C901892B1E
:1031A0008093C901089580959091C90189238093E6
:1031B000C90108951092C90108958093B801089536
:1031C0001092B801089580910D0190910E01FC01BB
:1031D00031969C01205F3F4F80E0919191118F5F6C
:1031E000E217F307D1F70895E0910D01F0910E0178
:1031F0008091CB018083E0910D01F0910E019081CF
:103200008091CA01892B8083E0910D01F0910E011C
:1032100090818091C901892B80838091B801882396
:1032200061F0E0910D01F0910E019081892B808376
:103230000E94E31881111092B80180910D019091C4
:103240000E010C940C0E20E0009739F0AC014150B7
:103250005109842395232F5FF7CF822F0895809102
:10326000DF01843021F11092CD0120E488E190E06B
:103270000FB6F894A895809360000FBE209360006D
:1032800080E00E94120683B7817F846083BF83B78A
:10329000816083BF7894889583B78E7F83BF88E1F0
:1032A0000FB6F89480936000109260000FBE0895EE
:1032B000089508950E9458190E946D060E94591998
:1032C0000E94F20691E0811101C090E0892F0895DB
:1032D0000E94AF120E94000E0C9412061F920F92D1
:1032E0000FB60F9211248F939F93AF93BF9380914A
:1032F000CD01811113C08091CE019091CF01A09199
:10330000D001B091D1014196A11DB11D8093CE0194
:103310009093CF01A093D001B093D101BF91AF9111
:103320009F918F910F900FBE0F901F90189582E084
:1033300084BD93E095BD9AEF97BD80936E0008958C
:103340002FB7F8948091CE019091CF01A091D00138
:10335000B091D1012FBF0895CF92DF92EF92FF92EB
:103360000F931F932FB7F8944091CE015091CF0146
:103370006091D0017091D1012FBF6A017B01EE24D1
:10338000FF248C0120E030E0C016D106E206F306EF
:1033900010F4415051099A01281B390BC9011F91A2
:1033A0000F91FF90EF90DF90CF9008951F920F92B2
:1033B0000FB60F9211248F939F93AF93BF93809179
:1033C000CE019091CF01A091D001B091D101019691
:1033D000A11DB11D8093CE019093CF01A093D00188
:1033E000B093D101BF91AF919F918F910F900FBE7C
:1033F0000F901F9018950E94FD0AF8942FEF87EA0E
:1034000091E6215080409040E1F700C0000087E045
:1034100090EBDC018093E9019093EA01A093EB012A
:10342000B093EC019CE088E10FB6F894A8958093E6
:1034300060000FBE90936000FFCF0E94521A81116E
:1034400002C00E94381A0E945D1A8093CC010E942B
:10345000651A8093E80187FB882780F980930C0127
:103460000E94611A682F70E080E090E00C946F1663
:103470006DEE7EEF80E090E00E940A1E60E082E048
:1034800090E00E94F81D60E083E090E00E94F81D4B
:1034900060E084E090E00E94F81D60E085E090E04C
:1034A0000C94F81D80E090E00E94F21D21E08D3E1A
:1034B0009E4F09F020E0822F089582E090E00C9466
:1034C000EA1D83E090E00C94EA1D84E090E00C9407
:1034D000EA1D682F84E090E00C94F81D8091D401DF
:1034E00080FF0BC06091120185E0689FB00111243C
:1034F00075956795759567952BC081FF09C060919B
:10350000120185E0689FB00111247595679520C070
:1035100082FF07C06091120185E0689FB00111240D
:1035200017C09091D5019923D1F0609111019617A0
:1035300088F72091120185E0289F90011124929F25
:10354000A001939F500D112470E0CA010E94BC1D80
:103550006038710540F46115710539F002C065E00D
:1035600070E0862F08958FE7089581E00895809197
:10357000D40180FF08C06091100170E075956795D7
:103580007595679521C081FF06C06091100170E0BC
:103590007595679519C082FF04C06091100170E0B5
:1035A00010C09091D5019923C1F060910F01961739
:1035B000A0F780911001899FC001112470E00E9442
:1035C000BC1D6038710528F46115710521F0862F46
:1035D00008958FE7089581E0089561E070E0F4CFE9
:1035E000803F21F40E946E1A819504C0813F29F426
:1035F0000E946E1A8093D8010895823F21F40E94A0
:103600006E1A819504C0833F29F40E946E1A80933C
:10361000D7010895893F19F40E94B71A05C08A3F5F
:1036200031F40E94B71A81958093D90108958B3F98
:1036300021F40E94B71A819504C08C3F29F40E949E
:10364000B71A8093DA010895843F21F48091D6015E
:10365000816017C0853F21F48091D601826011C03E
:10366000863F21F48091D60184600BC0873F21F40E
:103670008091D601886005C0883F31F48091D601E1
:1036800080618093D60108958D3F21F48091D4010B
:1036900081600BC08E3F21F48091D401826005C00F
:1036A0008F3F29F48091D40184608093D4010895E0
:1036B000803F39F48091D80187FF6CC01092D80107
:1036C00069C0813F29F48091D8011816BCF362C00B
:1036D0009091D701823F29F497FF5CC01092D701E7
:1036E00059C0833F19F41916CCF354C0893F41F4F3
:1036F0008091D90118160CF04DC01092D9014AC022
:103700008A3F29F48091D90187FF44C0F6CF8B3FCF
:1037100039F48091DA0187FF3DC01092DA013AC096
:103720008C3F29F48091DA011816BCF333C0843F32
:1037300021F48091D6018E7F17C0853F21F48091BE
:10374000D6018D7F11C0863F21F48091D6018B7FF9
:103750000BC0873F21F48091D601877F05C0883F49
:1037600031F48091D6018F7E8093D60113C08D3FB6
:1037700021F48091D4018E7F0BC08E3F21F4809183
:10378000D4018D7F05C08F3F29F48091D4018B7FB8
:103790008093D4018091D70181110EC08091D8010E
:1037A00081110AC08091D901811106C08091DA018E
:1037B000811102C01092D501089586ED91E00E941A
:1037C000170E0E94A0199093D3018093D2010895FF
:1037D0001F93CF93DF938091D2019091D3010E94E8
:1037E000AC19AC019091D501992321F020911301DE
:1037F00030E006C0209114018AE0289F9001112436
:103800004217530708F486C08091D701C091D801B0
:10381000D091D9011091DA01811107C0C11176C090
:10382000D11174C0111172C075C09F3F19F09F5F14
:103830009093D501181624F40E946E1A8093D70134
:103840008091D70187FF05C00E946E1A81958093F1
:10385000D7011C1624F40E946E1A8093D80180911F
:10386000D80187FF05C00E946E1A81958093D80108
:103870006091D701662339F1C091D801CC2319F1A9
:10388000772767FD7095872F972F0E94CD1C23E324
:1038900033E343E35FE30E94311D0E949A1C60936F
:1038A000D7016C2F772767FD7095872F972F0E9480
:1038B000CD1C23E333E343E35FE30E94311D0E9409
:1038C0009A1C6093D8011D1624F40E94B71A8093A5
:1038D000D9018091D90187FF05C00E94B71A81954F
:1038E0008093D901111624F40E94B71A8093DA014B
:1038F0008091DA0187FF05C00E94B71A81958093F5
:10390000DA01DF91CF911F910C94DD1B9F3F09F0ED
:103910008ECF96CFDF91CF911F910895E6EDF1E024
:1039200085E0DF011D928A95E9F71092D50110928A
:10393000D401089504D06894B1118DC0089570D059
:1039400088F09F5790F0B92F9927B751A0F0D1F088
:10395000660F771F881F991F1AF0BA95C9F712C012
:10396000B13081F077D0B1E0089574C0672F782F1F
:103970008827B85F39F0B93FCCF38695779567957E
:10398000B395D9F73EF490958095709561957F4FEA
:103990008F4F9F4F0895E89409C097FB3EF4909590
:1039A0008095709561957F4F8F4F9F4F9923A9F018
:1039B000F92F96E9BB279395F695879577956795A7
:1039C000B795F111F8CFFAF4BB0F11F460FF1BC0EB
:1039D0006F5F7F4F8F4F9F4F16C0882311F096E97E
:1039E00011C0772321F09EE8872F762F05C066232C
:1039F00071F096E8862F70E060E02AF09A95660FE5
:103A0000771F881FDAF7880F9695879597F908959D
:103A100057FD9058440F551F59F05F3F71F047957F
:103A2000880F97FB991F61F09F3F79F08795089564
:103A3000121613061406551FF2CF4695F1DF08C083
:103A4000161617061806991FF1CF869571056105A0
:103A500008940895E894BB2766277727CB0197F948
:103A600008950BD078C069D028F06ED018F0952357
:103A700009F05AC05FC01124EECFCADFA0F3959FB2
:103A8000D1F3950F50E0551F629FF001729FBB2745
:103A9000F00DB11D639FAA27F00DB11DAA1F649FF1
:103AA0006627B00DA11D661F829F2227B00DA11DA4
:103AB000621F739FB00DA11D621F839FA00D611D2A
:103AC000221F749F3327A00D611D231F849F600D4B
:103AD000211D822F762F6A2F11249F5750408AF084
:103AE000E1F088234AF0EE0FFF1FBB1F661F771F10
:103AF000881F91505040A9F79E3F510570F014C0A7
:103B0000AACF5F3FECF3983EDCF3869577956795F7
:103B1000B795F795E7959F5FC1F7FE2B880F911D2D
:103B20009695879597F9089597F99F6780E870E0D3
:103B300060E008959FEF80EC089500240A94161623
:103B4000170618060906089500240A94121613068B
:103B5000140605060895092E0394000C11F4882319
:103B600052F0BB0F40F4BF2B11F460FF04C06F5F35
:103B70007F4F8F4F9F4F089597FB072E16F40094A9
:103B800007D077FD09D00E94D61D07FC05D03EF472
:103B9000909581959F4F0895709561957F4F0895F9
:103BA000EE0FFF1F0590F491E02D0994AA1BBB1B9B
:103BB00051E107C0AA1FBB1FA617B70710F0A61B2D
:103BC000B70B881F991F5A95A9F780959095BC014E
:103BD000CD010895F999FECF92BD81BDF89A99273C
:103BE00080B50895A8E1B0E042E050E00C94121EC8
:103BF000262FF999FECF92BD81BDF89A019700B4A6
:103C0000021639F01FBA20BD0FB6F894FA9AF99A45
:103C10000FBE08950196272F0E94F91D0C94F81DE0
:103C2000DC01CB01FC01F999FECF06C0F2BDE1BD7C
:103C3000F89A319600B40D9241505040B8F708956B
:043C4000F894FFCF26
:103C4400FF0807960773073F070B070101B901280F
:103C540008140A321E1F0F03764F5F6F7F496943B2
:103C64007909595363404D3639C10374033E030542
:0A3C7400039802B102CA02E3020045
:00000001FF

@ -0,0 +1,94 @@
#include "planck.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.
// Fillers to make layering more clear
#define _______ KC_TRNS
#define XXXXXXX KC_NO
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Qwerty
* ,-----------------------------------------------------------------------------------.
* | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp |
* |------+------+------+------+------+-------------+------+------+------+------+------|
* | Esc | A | S | D | F | G | H | J | K | L | ; | " |
* |------+------+------+------+------+------|------+------+------+------+------+------|
* | Shift| Z | X | C | V | B | N | M | , | . | / |Enter |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right |
* `-----------------------------------------------------------------------------------'
*/
[0] = {
{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 },
{KC_RSFT, KC_LCTL, KC_LALT, KC_LGUI, M(1), KC_SPC, KC_SPC, M(2), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
},
/* Lower
* ,-----------------------------------------------------------------------------------.
* | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp |
* |------+------+------+------+------+-------------+------+------+------+------+------|
* | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | |
* |------+------+------+------+------+------|------+------+------+------+------+------|
* | | F7 | F8 | F9 | F10 | F11 | F12 |ISO ~ |ISO | | | |Enter |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* |Reset | | | | | | | Next | Vol- | Vol+ | Play |
* `-----------------------------------------------------------------------------------'
*/
[1] = {
{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_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE},
{_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,S(KC_NUHS),S(KC_NUBS),_______, _______, _______},
{RESET, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY}
},
/* Raise
* ,-----------------------------------------------------------------------------------.
* | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
* |------+------+------+------+------+-------------+------+------+------+------+------|
* | Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ |
* |------+------+------+------+------+------|------+------+------+------+------+------|
* | | F7 | F8 | F9 | F10 | F11 | F12 |ISO # |ISO / | | |Enter |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* |Reset | | | | | | | Next | Vol- | Vol+ | Play |
* `-----------------------------------------------------------------------------------'
*/
[2] = {
{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_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS},
{_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, _______, _______, _______},
{RESET, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY}
},
};
const uint16_t PROGMEM fn_actions[] = {
};
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
{
switch(id) {
case 1:
if (record->event.pressed) {
layer_on(1);
} else {
layer_off(1);
}
break;
case 2:
if (record->event.pressed) {
layer_on(2);
} else {
layer_off(2);
}
break;
}
return MACRO_NONE;
};

@ -174,24 +174,20 @@ const uint16_t PROGMEM fn_actions[] = {
}; };
#ifdef AUDIO_ENABLE #ifdef AUDIO_ENABLE
float tone_startup[][2] = {
{440.0*pow(2.0,(31)/12.0), 12},
{440.0*pow(2.0,(28)/12.0), 8},
{440.0*pow(2.0,(19)/12.0), 8},
{440.0*pow(2.0,(24)/12.0), 8},
{440.0*pow(2.0,(28)/12.0), 20}
};
float tone_startup[][2] = SONG(STARTUP_SOUND);
float tone_qwerty[][2] = SONG(QWERTY_SOUND); float tone_qwerty[][2] = SONG(QWERTY_SOUND);
float tone_dvorak[][2] = SONG(DVORAK_SOUND); float tone_dvorak[][2] = SONG(DVORAK_SOUND);
float tone_colemak[][2] = SONG(COLEMAK_SOUND); float tone_colemak[][2] = SONG(COLEMAK_SOUND);
float tone_plover[][2] = SONG(PLOVER_SOUND); float tone_plover[][2] = SONG(PLOVER_SOUND);
float tone_plover_gb[][2] = SONG(PLOVER_GOODBYE_SOUND); float tone_plover_gb[][2] = SONG(PLOVER_GOODBYE_SOUND);
float music_scale[][2] = SONG(MUSIC_SCALE_SOUND);
float goodbye[][2] = SONG(GOODBYE_SOUND); float tone_goodbye[][2] = SONG(GOODBYE_SOUND);
#endif #endif
void persistant_default_layer_set(uint16_t default_layer) { void persistant_default_layer_set(uint16_t default_layer) {
eeconfig_update_default_layer(default_layer); eeconfig_update_default_layer(default_layer);
default_layer_set(default_layer); default_layer_set(default_layer);
@ -293,17 +289,34 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
void matrix_init_user(void) { void matrix_init_user(void) {
#ifdef AUDIO_ENABLE #ifdef AUDIO_ENABLE
_delay_ms(20); // stops the tick startup_user();
PLAY_NOTE_ARRAY(tone_startup, false, 0);
#endif #endif
} }
#ifdef AUDIO_ENABLE #ifdef AUDIO_ENABLE
void play_goodbye_tone(void) void startup_user()
{
_delay_ms(20); // gets rid of tick
PLAY_NOTE_ARRAY(tone_startup, false, 0);
}
void shutdown_user()
{ {
PLAY_NOTE_ARRAY(goodbye, false, 0); PLAY_NOTE_ARRAY(tone_goodbye, false, 0);
_delay_ms(150); _delay_ms(150);
stop_all_notes();
} }
void music_on_user(void)
{
music_scale_user();
}
void music_scale_user(void)
{
PLAY_NOTE_ARRAY(music_scale, false, 0);
}
#endif #endif
LEADER_EXTERNS(); LEADER_EXTERNS();
@ -315,6 +328,9 @@ void matrix_scan_user(void) {
leading = false; leading = false;
leader_end(); leader_end();
SEQ_ONE_KEY (KC_V) {
SEND_STRING (QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION);
}
SEQ_ONE_KEY(KC_F) { SEQ_ONE_KEY(KC_F) {
SEND_STRING("if yes\n\tpeanut butter\nelse\n\trice snacks"); SEND_STRING("if yes\n\tpeanut butter\nelse\n\trice snacks");
} }

Loading…
Cancel
Save