diff options
Diffstat (limited to 'keyboard/arrow_pad/keymaps/pad_21')
-rw-r--r-- | keyboard/arrow_pad/keymaps/pad_21/Makefile | 17 | ||||
-rw-r--r-- | keyboard/arrow_pad/keymaps/pad_21/compiled.hex | 893 | ||||
-rw-r--r-- | keyboard/arrow_pad/keymaps/pad_21/config.h | 158 | ||||
-rw-r--r-- | keyboard/arrow_pad/keymaps/pad_21/keymap.c | 160 |
4 files changed, 1228 insertions, 0 deletions
diff --git a/keyboard/arrow_pad/keymaps/pad_21/Makefile b/keyboard/arrow_pad/keymaps/pad_21/Makefile new file mode 100644 index 0000000000..af51976a89 --- /dev/null +++ b/keyboard/arrow_pad/keymaps/pad_21/Makefile @@ -0,0 +1,17 @@ +BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000) +MOUSEKEY_ENABLE = no # Mouse keys(+4700) +EXTRAKEY_ENABLE = no # Audio control and System control(+450) +CONSOLE_ENABLE = no # Console for debug(+400) +COMMAND_ENABLE = yes # Commands for debug and configuration +NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +MIDI_ENABLE = no # MIDI controls +AUDIO_ENABLE = no # Audio output on port C6 +UNICODE_ENABLE = no # Unicode +BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID +RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time. + +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend + +CONFIG_H = keymaps/$(KEYMAP)/config.h
\ No newline at end of file diff --git a/keyboard/arrow_pad/keymaps/pad_21/compiled.hex b/keyboard/arrow_pad/keymaps/pad_21/compiled.hex new file mode 100644 index 0000000000..642c9e40c8 --- /dev/null +++ b/keyboard/arrow_pad/keymaps/pad_21/compiled.hex @@ -0,0 +1,893 @@ +:100000000C944A010C948E010C948E010C948E0178
+:100010000C948E010C948E010C948E010C948E0124
+:100020000C948E010C948E010C94B10A0C94830BE9
+:100030000C9424180C948E010C948E010C948E0157
+:100040000C948E010C948E010C948E010C948E01F4
+:100050000C948E010C948C180C948E010C948E01CF
+:100060000C948E010C948E010C948E010C948E01D4
+:100070000C948E010C948E010C948E010C948E01C4
+:100080000C948E010C948E010C948E010C948E01B4
+:100090000C948E010C948E010C948E010C948E01A4
+:1000A0000C948E010C948E010C948E01F00B120CAA
+:1000B000000D120C000D570C7A0C000DCF0CE20C49
+:1000C000730F730FA20FA20F06110611061106116E
+:1000D000E10F061191109110F71006110611001191
+:1000E0009E109E109E109E109E109E109E109E10A0
+:1000F0009E109E109E109E109E109E109E109E1090
+:10010000AE10BC10C310CA10D410F1A2028A00D2E3
+:1001100000D000D100C801C802C829002B0031005E
+:10012000C0005F0060006100570059005A005B008A
+:1001300053005400550056005C005D005E005800FE
+:1001400000006200630029002B002C0001004A001F
+:1001500052004B00C7004D0051004E00C100190174
+:100160001C011D015000C5004F00C60000002A0000
+:100170004C00C200C300C4000100010001000100E6
+:100180000100010001000100C100010001000100A7
+:1001900001000100010001000000005001001A03ED
+:1001A0004100720072006F00770020005000610073
+:1001B000640020003200310000000E034E006F008A
+:1001C00062006F0064007900000004030904090262
+:1001D0003B00020100A0FA09040000010301010034
+:1001E000092111010001223F000705810308000ACF
+:1001F000090401000103000000092111010001228E
+:1002000039000705820310000112011001000000EF
+:1002100008EDFE974001000102000105010906A159
+:1002200001050719E029E7150025019508750181E9
+:1002300002050819012905950575019102950175B9
+:100240000391010507190029771500250195787597
+:10025000018102C005010906A101050719E029E78E
+:100260001500250195087501810295017508810128
+:100270000508190129059505750191029501750378
+:1002800091010507190029FF150025FF950675083E
+:100290008100C00011241FBECFEFDAE0DEBFCDBF6A
+:1002A00004B603FE24C08091C3019091C401A091C3
+:1002B000C501B091C6018730904BA740B04BB9F44F
+:1002C0001092C3011092C4011092C5011092C60190
+:1002D00014BE84B7877F84BF88E10FB6F8948093FB
+:1002E0006000109260000FBEE0E0FFE3099511E0AE
+:1002F000A0E0B1E0E4E9F7E302C005900D92AA3175
+:10030000B107D9F711E0AAE1B1E001C01D92A33C09
+:10031000B107E1F70E94F8070C94C81B0C94000089
+:100320000895089581E008950C9490010C94910132
+:100330000C9492010C9400020895CF93DF93EC018A
+:100340006130F1F018F06230E9F155C08A818823FC
+:1003500009F451C080EE0E94670E8D81807F80314C
+:1003600029F486E00E94670E86E006C0803231F4F0
+:100370008BE10E94670E8BE10E94060F80EE1FC08A
+:100380008A818823C1F08D8182958F7090E00397D8
+:100390001CF482E00E942E0F8D81807F803219F440
+:1003A00081E00E942E0F8D81807F803321F588E5CA
+:1003B0000E94670E20C083E00E94350F88E50E94EE
+:1003C000060F19C08A81882399F08D8182958F70DC
+:1003D00090E002971CF481E00E942E0F8D8182959F
+:1003E0008F7090E002973CF084E00E942E0F03C0D3
+:1003F00085E00E94350F80E090E0DF91CF91089575
+:1004000081FF03C0569A5E9A02C056985E9880FF9C
+:1004100005C03F9A88B18F6788B908953F9847987B
+:10042000089581E008950C94110208950F931F938D
+:10043000CF93DF938C01FC01C081D181CE010E945A
+:100440005E16BE010E94C202EC01B8010E941302B6
+:10045000882309F48DC0F8018281882309F44AC0F9
+:100460008091250181111FC0C431F0E5DF0709F03B
+:1004700051C00E94150281E0809325010E94561808
+:10048000909324018093230110921C0110921E016D
+:1004900010921D011092200110921F011092220152
+:1004A0001092210165C080912301909124010E9446
+:1004B0006218883C910570F480911C01E82FF0E0EF
+:1004C000EE0FFF1FE35EFE4FD183C0838F5F8093EB
+:1004D0001C014EC0C43880E5D80721F0C538D0458E
+:1004E00001F13AC0F8018281882341F010921A018B
+:1004F00082E01EC0C438E0E5DE0759F580911A019C
+:10050000811106C086E20E94670E86E20E94060FF5
+:1005100082E01CC0C438F0E5DF0741F3C538D045A0
+:10052000D9F4F8018281882331F010921B0180E216
+:100530000E942E0F1DC080911B01811106C087E211
+:100540000E94670E87E20E94060F80E20E94350F2C
+:100550000FC0C538D04529F381E080931A018093FC
+:100560001B01C801DF91CF911F910F910C9498014D
+:1005700080E0DF91CF911F910F9108950C94940129
+:100580000C9496019BE0799FF001112496E1899FDC
+:10059000E00DF11D1124E60FF11DEE0FFF1FE65EC9
+:1005A000FE4F859194910895880F991FFC01E6579D
+:1005B000F040859194910895880F991FFC01E65FA2
+:1005C000FE4F8591949108950F931F93CF93DF93DE
+:1005D000EC01811520E3920750F5C11580E2D807A0
+:1005E00008F0C3C0CB3BD10590F4C83AD10508F060
+:1005F0006AC0C53AD10508F05BC0C430D10508F027
+:10060000D0C1219709F0CAC101E010E00AC2CF3F72
+:10061000D10511F008F0C5C1C03FD10508F0A2C056
+:10062000CE01805E9109089708F4BBC1B7C1C13003
+:1006300090E5D90709F4A2C020F5C0318FE4D807AE
+:1006400070F4C11590E4D90708F094C0C11521E3F6
+:10065000D20708F0A3C1DD278E01106CE2C1C115DD
+:10066000D04509F09BC10E9465118FEF94E32CE007
+:10067000815090402040E1F700C000000E94B11876
+:10068000D0C1C11597E5D90758F4C03121E5D2078B
+:1006900008F01CC1C43180E5D80708F475C07EC1DC
+:1006A000CE0190578115904108F078C1DF7073C179
+:1006B000C53AD10509F477C1C63AD10509F076C12A
+:1006C00002E810E4AEC1C83AD10509F472C1C93AD2
+:1006D000D10509F471C1CA3AD10509F470C1CB3A08
+:1006E000D10509F46FC1CC3AD10509F46EC1CD3AF8
+:1006F000D10509F46DC1C03BD10509F46CC1CE3AF6
+:10070000D10509F46BC1CF3AD10509F46AC1C13BE7
+:10071000D10509F469C1C23BD10509F468C1C33BE5
+:10072000D10509F467C1C43BD10509F466C1C53BD5
+:10073000D10509F465C1C63BD10509F464C1C73BC5
+:10074000D10509F463C1C83BD10509F462C1C93BB5
+:10075000D10509F461C1CA3BD10509F460C100E0CB
+:1007600014E45FC18E0110655CC1CE019F700E94D0
+:10077000DC0258C1DF708E01106A53C18091AE0156
+:1007800081608093AE014DC10E94611A811102C047
+:100790000E94471A0E947E1A90E09093C3018093B2
+:1007A000C201C23080E5D80721F48091C201816086
+:1007B00086C0C43090E5D90721F48091C2018260DF
+:1007C0007EC0C63020E5D20721F48091C20184604A
+:1007D00076C0C83080E5D80719F48091C20127C0DF
+:1007E000CA3090E5D90721F48091C201806167C0C9
+:1007F000CC3020E5D20721F48091C20180625FC035
+:10080000CE3080E5D80721F48091C201806457C0C2
+:10081000C03190E5D90721F48091C20180684FC0B2
+:10082000C23120E5D20729F48091C201846088603A
+:1008300046C0C33080E5D80721F48091C2018E7F85
+:100840003EC0C53090E5D90721F48091C2018D7F6B
+:1008500036C0C73020E5D20721F48091C2018B7FDA
+:100860002EC0C93080E5D80719F48091C20126C096
+:10087000CB3090E5D90721F48091C2018F7E1FC053
+:10088000CD3020E5D20721F48091C2018F7D17C0C1
+:10089000CF3080E5D80721F48091C2018F7B0FC053
+:1008A000C13190E5D90721F48091C2018F7707C04B
+:1008B000C331D04531F48091C2018B7F877F809313
+:1008C000C2018091C2010E94821AABC08D2F99276C
+:1008D0008F70992781309105D9F49E0123703327B9
+:1008E00002C0880F991F2A95E2F79C688E0144E0A8
+:1008F000000F111F4A95E1F700271370802B912BF1
+:1009000053E0CC0FDD1F5A95E1F7C076DD272FC0ED
+:100910008230910531F4DC2FCC278E01016F106AF3
+:1009200080C08330910569F4CE018370992701E07E
+:1009300010E002C0000F111F8A95E2F7C8019C6801
+:100940000FC084309105B9F4CE018370992701E07E
+:1009500010E002C0000F111F8A95E2F7C8019A68E3
+:1009600023E0CC0FDD1F2A95E1F7C07ED7708C0104
+:100970000C2B1D2B56C08530910531F4DC2FCC2774
+:100980008E01046F106A4DC0069709F04AC0CF71FE
+:10099000DD27DC2FCC278E01106243C000E010E081
+:1009A00040C08E013EC001E810E43BC003E810E403
+:1009B00038C002EE14E435C009EE14E432C00AEE89
+:1009C00014E42FC005EB14E42CC006EB14E429C09A
+:1009D00007EB14E426C00CEC14E423C00DEC14E483
+:1009E00020C003E815E41DC00AE815E41AC002E9B6
+:1009F00015E417C004E915E414C001E216E411C0BF
+:100A000003E216E40EC004E216E40BC005E216E4AD
+:100A100008C006E216E405C007E216E402C00AE2D6
+:100A200016E4C801DF91CF911F910F9108959BE0CB
+:100A3000799FF001112496E1899FE00DF11D1124A9
+:100A4000E60FF11DEE0FFF1FE65EFE4F85919491BC
+:100A5000803E9105E0F4803C910558F58133910585
+:100A600009F46FC048F48932910509F463C08A32F1
+:100A7000910509F46DC072C089339105E9F082389F
+:100A80009105D1F08533910509F44DC067C0833ECF
+:100A9000910581F138F4803E9105B9F0823E9105CF
+:100AA000D9F05CC0863E910561F1873E9105A1F1C8
+:100AB00055C00E94D40208952091C20120FD02C0B9
+:100AC00021FF4CC080EE90E049C08091C20180FFC0
+:100AD000F9CF89E390E042C08091C20182FF0EC04D
+:100AE0008091C20184FF03C080E090E037C083EEB4
+:100AF00090E034C08091C20182FFF2CF82EE90E09C
+:100B00002DC08091C20183FF0BC08091C20184FD82
+:100B1000EBCF87EE90E022C08091C20183FFF5CF3A
+:100B200086EE90E01BC08091C20185FF07C089E27C
+:100B300090E014C08091C20185FFF9CF85E390E079
+:100B40000DC08091C20186FF07C08AE290E006C016
+:100B50008091C20186FFF9CF81E390E00E94E40218
+:100B600008950C949A01E82FF0E0E15FFE4F808138
+:100B7000E82FEF70F0E082958F7021E030E0A9015E
+:100B800002C0440F551F8A95E2F740A308950F93C2
+:100B90001F93CF93DF9385B7806885BF85B7806843
+:100BA00085BFCAE0D0E001E010E0FE01E15FFE4F4A
+:100BB0008081E82FEF70F0E021A182958F70A8016D
+:100BC00002C0440F551F8A95E2F7CA01822B81A308
+:100BD0008C2F0E94B305219740F75D9A5B9ADF91B5
+:100BE000CF911F910F910C94BE020F931F93CF933F
+:100BF000DF9301E311E0CAE0D5E08C2F0E94B3053A
+:100C00004D9902C082E001C080E04B9B8160F801F9
+:100C100092918F01981719F08083D09300018C2F47
+:100C20000E94B305C15048F78091000187FD1CC0A8
+:100C30008150809300018F3F39F08FE99FE0019749
+:100C4000F1F700C0000010C080E090E0FC01EF5C14
+:100C5000FE4FDC01AA5DBE4F1A962C9122870197A8
+:100C6000853FEFEF9E0791F70E94C00281E0DF9180
+:100C7000CF911F910F91089591E001C0990F8A952E
+:100C8000EAF72AE030E040E050E061E070E0F9018E
+:100C9000EF5CFE4F8081892349F0FB01022E02C0E8
+:100CA000EE0FFF1F0A94E2F74E2B5F2B2150310904
+:100CB00070F7CA0108950895CF9381E00E943C0621
+:100CC0000E94D917C82F80E00E943C060E94D917C5
+:100CD0008C0FCF91089580914C0108950895CF9382
+:100CE000DF9300D01F92CDB7DEB72091B901243039
+:100CF00021F523E029839B838A8381E08093E900A7
+:100D00008FEF9091E800815095FD06C095ED9A9582
+:100D1000F1F700008111F5CF8091E80085FF0DC04B
+:100D200040E050E063E070E0CE0101960E94A1082F
+:100D30008091E8008E778093E8000F900F900F90DD
+:100D4000DF91CF910895CF93DF9300D01F92CDB75D
+:100D5000DEB72091B901243021F522E029839B835D
+:100D60008A8381E08093E9008FEF9091E8008150C1
+:100D700095FD06C095ED9A95F1F700008111F5CF2C
+:100D80008091E80085FF0DC040E050E063E070E036
+:100D9000CE0101960E94A1088091E8008E77809391
+:100DA000E8000F900F900F90DF91CF910895CF93AF
+:100DB000DF932091B901243009F048C0EC01809103
+:100DC0000B018823E1F080910C018823C1F082E0BF
+:100DD0008093E9008FEF9091E800815095FD06C067
+:100DE00095E19A95F1F700008111F5CF8091E80027
+:100DF00085FF2CC040E050E060E170E017C081E06A
+:100E00008093E9008FEF9091E800815095FD06C036
+:100E100095ED9A95F1F700008111F5CF8091E800EA
+:100E200085FF14C040E050E068E070E0CE010E9411
+:100E3000A1088091E8008E778093E80080E1FE01B0
+:100E4000ACE3B1E001900D928A95E1F7DF91CF918B
+:100E500008958091B801811109C00E94360A0E944C
+:100E6000930A8091E20084608093E20008951092DA
+:100E7000B8010895089508950C941E1842E061EC9D
+:100E800081E00E94B00942E161EC82E00C94B0097B
+:100E90008091BB01833009F453C030F4813071F08C
+:100EA000823009F48CC008958A3009F478C08B3000
+:100EB00009F45EC0893009F09AC020C08091BA015F
+:100EC000813A09F094C08091E800877F8093E80020
+:100ED0008091BE019091BF01892B21F460E18CE3E8
+:100EE00091E003C060E080E090E070E00E94EC08D8
+:100EF0008091E8008B778093E80008958091BA0193
+:100F0000813209F074C08091BE019091BF010297B7
+:100F100008F06DC08091E800877F8093E8008091A1
+:100F2000E80082FD05C08091B9018111F8CF5FC052
+:100F30008091F10080934C018091E8008B7753C041
+:100F40008091BA01813A09F052C08091BE0190911E
+:100F5000BF01892B09F04BC08091E800877F809307
+:100F6000E8008091E80080FFFCCF80910B0136C043
+:100F70008091BA018132D9F58091BE019091BF0173
+:100F8000892BA9F58091E800877F8093E8000E9473
+:100F9000E5098091BC0180930B010C94651180914F
+:100FA000BA01813221F58091E800877F8093E800C3
+:100FB0000E94E5098091BD0180934D0108958091C3
+:100FC000BA01813AA1F48091E800877F8093E8001C
+:100FD0008091E80080FFFCCF80914D018093F1006B
+:100FE0008091E8008E778093E8000C94E5090895DD
+:100FF00084B7877F84BF88E10FB6F8948093600040
+:10100000109260000FBE90E080E80FB6F8948093D5
+:101010006100909361000FBE0E947D0D0E94360A10
+:101020000E94930A8091E20084608093E2007894A9
+:101030000E94190D0E947F0D81E091E00E94340D05
+:101040008091B901853069F40E94E5178091B7015C
+:101050008823B1F30E941018882391F30E948B0813
+:10106000EFCF0E94890DECCF292F33272330310594
+:10107000C9F064F42130310581F02230310509F0E6
+:1010800042C08BE390E02EEC31E041C021323105CB
+:10109000F1F02232310549F136C082E190E029E0D9
+:1010A00032E035C099278130910541F082309105B9
+:1010B00041F0892B41F5EAECF1E005C0EAEBF1E003
+:1010C00002C0EEE9F1E0849190E09F0120C0662328
+:1010D00039F06130C1F489E090E029EF31E017C0C8
+:1010E00089E090E020EE31E012C0662339F06130F3
+:1010F00051F489E390E02BE132E009C08FE390E006
+:1011000024E532E004C080E090E020E030E0FA0125
+:1011100031832083089580E189BD82E189BD09B4CE
+:1011200000FEFDCF8091D8008F7D8093D800809104
+:10113000E00082608093E0008091E00081FDFCCFC0
+:101140000895CF92DF92EF92FF920F931F93CF9368
+:10115000DF93EC018B016A010E94040A811133C004
+:10116000C114D10439F0F60180819181081B190B5B
+:10117000C80FD91FE12CF12C0115110519F180912F
+:10118000E80085FD16C08091E8008E778093E80026
+:10119000C114D10449F0F60180819181E80EF91E55
+:1011A000F182E08285E00FC00E94040A882321F3C7
+:1011B0000AC089918093F10001501109FFEFEF1AE5
+:1011C000FF0ADACF80E0DF91CF911F910F91FF905E
+:1011D000EF90DF90CF9008952091C0013091C10130
+:1011E0002617370748F06115710539F42091E8009A
+:1011F0002E772093E80001C0B90140E06115710528
+:10120000A9F12091B901222309F443C0253009F442
+:1012100042C02091E80023FD40C02091E80022FD5B
+:1012200032C02091E80020FFE9CF4091F3002091E7
+:10123000F20030E0342BFC01CF016115710559F04B
+:101240002830310540F481918093F100615071099B
+:101250002F5F3F4FF1CF41E02830310509F040E0EA
+:101260002091E8002E772093E800C8CF4111C9CF24
+:101270000AC08091B901882361F0853061F08091C6
+:10128000E80083FD0AC08091E80082FFF2CF80E091
+:10129000089582E0089583E0089581E00895209103
+:1012A000C0013091C1012617370748F0611571055B
+:1012B00039F42091E8002E772093E80001C0B901AD
+:1012C000FC0120E06115710591F18091B90188233D
+:1012D00009F440C0853009F43FC08091E80083FDE7
+:1012E0003DC08091E80082FD2FC08091E80080FF22
+:1012F000E9CF2091F3008091F20090E0922B6115EC
+:10130000710559F08830910540F424912093F10043
+:101310003196615071090196F2CF21E0089709F0EA
+:1013200020E08091E8008E778093E800CBCF2111F8
+:10133000CCCF0AC08091B901882361F0853061F07B
+:101340008091E80083FD0AC08091E80082FFF2CF1F
+:1013500080E0089582E0089583E0089581E0089593
+:10136000982F973058F59093E900981739F07091BD
+:10137000EC002091ED005091F00003C0242F762F57
+:1013800050E021FF19C03091EB003E7F3093EB001D
+:101390003091ED003D7F3093ED003091EB003160F6
+:1013A0003093EB007093EC002093ED005093F0002D
+:1013B0002091EE0027FF07C09F5FD3CF8F708093EF
+:1013C000E90081E0089580E008958091BA0187FFE7
+:1013D00011C08091E80082FD05C08091B9018111A2
+:1013E000F8CF11C08091E8008B770BC08091B901D4
+:1013F000882349F08091E80080FFF8CF8091E800D1
+:101400008E778093E80008952091E4003091E50004
+:1014100095E64091EC00842F817040FF22C08091BE
+:10142000E80080FD1CC08091B901882391F08530CF
+:1014300091F08091EB0085FD10C04091E400509147
+:10144000E5004217530729F39A01915011F784E000
+:10145000089582E0089583E0089581E0089580E092
+:1014600008954091E80042FFDECF08950E94A40A4B
+:101470000E94AC0AE0EEF0E0808181608083E8EDBC
+:10148000F0E080818F77808319BCA7EDB0E08C916C
+:101490008E7F8C9380818F7E80831092B801089517
+:1014A0000F931F93CF93DF930E94A40A0E94AC0A6C
+:1014B000C8EDD0E088818F778883888180688883B1
+:1014C00088818F7D888319BC1092B9011092B50173
+:1014D0001092B7011092B60100EE10E0F801808181
+:1014E0008B7F808388818160888342E060E080E038
+:1014F0000E94B009E1EEF0E080818E7F8083E2EE11
+:10150000F0E0808181608083808188608083F80141
+:1015100080818E7F8083888180618883DF91CF91F5
+:101520001F910F910895E8EDF0E080818F7E808318
+:10153000E7EDF0E080818160808384E082BF81E01C
+:101540008093B8010C94500AE8EDF0E080818E7F22
+:1015500080831092E20008951092DA001092E10068
+:1015600008951F920F920FB60F9211242F933F935D
+:101570004F935F936F937F938F939F93AF93BF939B
+:10158000EF93FF938091E10082FF0BC08091E20016
+:1015900082FF07C08091E1008B7F8093E1000E9471
+:1015A000180D8091DA0080FF1FC08091D80080FF65
+:1015B0001BC08091DA008E7F8093DA008091D90081
+:1015C00080FF0DC080E189BD82E189BD09B400FEC4
+:1015D000FDCF81E08093B9010E94290705C019BCA5
+:1015E0001092B9010E9437078091E10080FF19C075
+:1015F0008091E20080FF15C08091E2008E7F809391
+:10160000E2008091E20080618093E2008091D80046
+:1016100080628093D80019BC85E08093B9010E9454
+:101620003B078091E10084FF30C08091E20084FF9D
+:101630002CC080E189BD82E189BD09B400FEFDCFE7
+:101640008091D8008F7D8093D8008091E1008F7EBB
+:101650008093E1008091E2008F7E8093E200809190
+:10166000E20081608093E2008091B501882311F04F
+:1016700084E007C08091E30087FD02C081E001C0E3
+:1016800083E08093B9010E943C078091E10083FFD1
+:1016900029C08091E20083FF25C08091E100877F0F
+:1016A0008093E10082E08093B9011092B5018091AE
+:1016B000E1008E7F8093E1008091E2008E7F809335
+:1016C000E2008091E20080618093E20042E060E00D
+:1016D00080E00E94B0098091F00088608093F00063
+:1016E0000E943A07FF91EF91BF91AF919F918F9127
+:1016F0007F916F915F914F913F912F910F900FBE0E
+:101700000F901F9018951F920F920FB60F921124F1
+:101710002F933F934F935F936F937F938F939F93F9
+:10172000AF93BF93CF93DF93EF93FF93C091E90003
+:10173000CF708091EC00D82FD17080FDD0E810924E
+:10174000E9008091F000877F8093F00078940E94F8
+:10175000C70B1092E9008091F00088608093F00040
+:10176000CD2BCF70C093E900FF91EF91DF91CF9126
+:10177000BF91AF919F918F917F916F915F914F91A9
+:101780003F912F910F900FBE0F901F9018951F93B0
+:10179000CF93DF93CDB7DEB7AA970FB6F894DEBF2D
+:1017A0000FBECDBFEAEBF1E088E08E0F9091F10023
+:1017B00091938E13FBCF0E9448078091E80083FF2E
+:1017C0001FC18091BA019091BB01492F50E04A306E
+:1017D000510508F015C1FA01EA5AFF4F0C948C1B11
+:1017E000803881F0823809F00BC18091BE018F7082
+:1017F0008093E9008091EB0085FB882780F91092A7
+:10180000E90006C08091B6019091B7019111826004
+:101810009091E800977F9093E8008093F1001092F8
+:10182000F100C8C0282F2D7F09F0EAC0882319F0E5
+:10183000823061F0E5C08091BC01813009F0E0C0E8
+:10184000933009F080E08093B7012BC08091BC01F8
+:10185000811127C08091BE018F7009F4D1C080939F
+:10186000E9002091EB0020FF1CC0933021F480910F
+:10187000EB00806214C09091EB0090619093EB00BC
+:1018800021E030E0A90102C0440F551F8A95E2F71C
+:101890004093EA001092EA008091EB008860809308
+:1018A000EB001092E9008091E800877F86C08111EB
+:1018B000A7C01091BC011F778091E3008078812B35
+:1018C0008093E3008091E800877F8093E8000E9486
+:1018D000E5098091E80080FFFCCF8091E3008068FB
+:1018E0008093E300111102C082E001C083E0809385
+:1018F000B90186C08058823008F082C08091BC0156
+:101900009091BD018C3D53E0950779F583E08A8382
+:101910008AE289834FB7F894DE01139620E03EE017
+:1019200051E2E32FF0E050935700E49120FF03C011
+:10193000E295EF703F5FEF708E2F90E0EA3010F08D
+:10194000C79601C0C0968D939D932F5F243149F7B0
+:101950004FBF8091E800877F8093E8006AE270E0E3
+:10196000CE0101960E94EC0814C0AE014F5F5F4F9C
+:101970006091BE010E943408BC01009709F440C088
+:101980009091E800977F9093E80089819A810E9466
+:101990004F098091E8008B778093E80031C0803850
+:1019A00079F58091E800877F8093E8008091B50108
+:1019B0008093F1008091E8008E778093E8000E9488
+:1019C000E5091EC081111CC09091BC019230C0F489
+:1019D0008091E800877F8093E8009093B5010E9492
+:1019E000E5098091B501811106C08091E30087FD72
+:1019F00002C081E001C084E08093B9010E943E07EB
+:101A00008091E80083FF0AC08091E800877F80937F
+:101A1000E8008091EB0080628093EB00AA960FB6FD
+:101A2000F894DEBF0FBECDBFDF91CF911F91089517
+:101A30000895CF938091B9018823A1F0C091E90066
+:101A4000CF709091EC00892F817090FD80E8C82BB9
+:101A50001092E9008091E80083FD0E94C70BCF70CF
+:101A6000C093E900CF910895909353018093520160
+:101A70000895E0915201F0915301309721F00190C7
+:101A8000F081E02D099480E00895E0915201F091F9
+:101A90005301309721F00280F381E02D09940895DD
+:101AA00020915001309151018217930771F090936A
+:101AB000510180935001E0915201F0915301309710
+:101AC00021F00680F781E02D0994089520914E01C0
+:101AD00030914F018217930771F090934F018093DB
+:101AE0004E01E0915201F0915301309721F00084B2
+:101AF000F185E02D0994089508950C947C0D0E94C1
+:101B00004D180E94C7050E941A1981E080930C01AC
+:101B100008955F926F927F928F929F92AF92BF9241
+:101B2000CF92DF92EF92FF920F931F93CF93DF93A9
+:101B300000D000D01F92CDB7DEB70E94F50599E521
+:101B4000C92E91E0D92E01E010E0AA24A394B12C73
+:101B5000502E802F0E943C064C01F601729062903C
+:101B60006F01682679266114710431F4012B09F4A0
+:101B70003BC000E010E0ECCF8091AE0181FD0E94FF
+:101B80005B062AE030E07501022E02C0EE0CFF1C5D
+:101B90000A94E2F7C70186219721892B09F129834D
+:101BA0005A828E209F2091E0892809F490E09B833F
+:101BB0000E9456188160782F9D838C8349815A81B9
+:101BC0006B818D810E94390E000F111FF801EB5AB5
+:101BD000FE4F80819181E826F926F182E08214C0CF
+:101BE0002150310980F6C2CF8FEF89838A831B820F
+:101BF0000E9456188160782F9D838C8349815A8179
+:101C00006B818D810E94390E109154010E94390D13
+:101C10001817D1F00E94390D809354010F900F9046
+:101C20000F900F900F90DF91CF911F910F91FF9028
+:101C3000EF90DF90CF90BF90AF909F908F907F906C
+:101C40006F905F900C94B1050F900F900F900F90D4
+:101C50000F90DF91CF911F910F91FF90EF90DF9048
+:101C6000CF90BF90AF909F908F907F906F905F903C
+:101C70000895CF93DF93CDB7DEB72B970FB6F894C7
+:101C8000DEBF0FBECDBF4F83588769877A878B87AA
+:101C9000DE01119686E0FD0111928A95E9F785E053
+:101CA000FE01379601900D928A95E1F749815A819C
+:101CB0006B817C818D819E810E9403142B960FB6CF
+:101CC000F894DEBF0FBECDBFDF91CF910895CF93C3
+:101CD000882309F499C0C82F8CEF8C0F813A48F4FF
+:101CE0008C2F0E944A1B81118FC08C2F0E94DD1601
+:101CF0000CC080E28C0F883058F4C77081E001C0BE
+:101D0000880FCA95EAF70E946317CF910C94AA171F
+:101D10008BE58C0F833078F4C53A29F0C63A31F060
+:101D200083E890E005C081E890E002C082E890E09E
+:101D3000CF910C94500D88E58C0F833108F064C06E
+:101D4000C83A39F1C93A41F1CA3A49F1CB3A51F1AD
+:101D5000CC3A59F1CD3A61F1C03B69F1CE3A71F11B
+:101D6000CF3A79F1C13B81F1C23B89F1C33B91F19B
+:101D7000C43B99F1C53BA1F1C63BA9F1C73BB1F109
+:101D8000C83BB9F1C93BC1F1CA3BC9F180E090E061
+:101D900038C082EE90E035C089EE90E032C08AEE25
+:101DA00090E02FC085EB90E02CC086EB90E029C03E
+:101DB00087EB90E026C08CEC90E023C08DEC90E0A7
+:101DC00020C083E891E01DC08AE891E01AC082E952
+:101DD00091E017C084E991E014C081E292E011C063
+:101DE00083E292E00EC084E292E00BC085E292E0D2
+:101DF00008C086E292E005C087E292E002C08AE273
+:101E000092E0CF910C94660DCF910895882329F12B
+:101E10009CEF980F913A18F40E941F170DC090E2A2
+:101E2000980F983058F4877091E001C0990F8A9507
+:101E3000EAF7892F0E9469170C94AA179BE5980F5F
+:101E4000933020F480E090E00C94500D885A833158
+:101E500020F480E090E00C94660D0895882321F032
+:101E60000E9463170C94AA170895882321F00E94FA
+:101E700069170C94AA1708957F928F929F92AF9240
+:101E8000BF92CF92DF92EF92FF920F931F93CF9367
+:101E9000DF931F92CDB7DEB77C01C62E772EFC01F3
+:101EA000158112951F70028101110E9480170E94F6
+:101EB000D616882379F0002369F080E28C0D8830F3
+:101EC00048F082E00E94BF160E94D61691E0D82EFC
+:101ED000D92601C0D12CE72DE295EF70F0E0E05A51
+:101EE000FF4F0C948C1B872D807F172D1F7088232C
+:101EF00011F01295107F002389F0112309F46DC1B0
+:101F000080E28C0D883020F4812F0E94631703C07B
+:101F1000812F0E9473170E94AA175FC18C2D0E9407
+:101F2000060F112309F472C180E28C0D883020F471
+:101F3000812F0E94691703C0812F0E9479170E9488
+:101F4000AA1764C1872D807F972D9F70803211F46E
+:101F5000892F03C0892F8295807FCC2021F0F1E06A
+:101F6000CF16A1F01DC0002339F0112319F1113053
+:101F700009F50E9493174AC1112319F0113009F491
+:101F800045C189830E9496178981E5C0002321F00D
+:101F9000163008F03BC10EC0153008F037C1DBC069
+:101FA000002359F0112331F0F701958190FF15C1FD
+:101FB0009F7095830E942E0F29C1112309F4CBC075
+:101FC00012C1872D837009F052C001111FC18C2DE1
+:101FD000829586958770880F880F9C2D9F70892E1B
+:101FE000912CA12CB12C082E04C0880C991CAA1C81
+:101FF000BB1C0A94D2F7C4FE14C00FE010E020E02E
+:1020000030E0B901A80104C0440F551F661F771FB7
+:102010008A95D2F7CB01BA0160957095809590951D
+:1020200003C060E070E0CB01272D26952695237034
+:1020300030E02230310569F02330310589F068291C
+:1020400079298A299B292130310571F00E944B158D
+:10205000DDC0682979298A299B290E946715D6C085
+:102060000E944B15C501B4010E942F15CFC000235B
+:1020700019F0872D817001C08695882309F4C6C0A8
+:102080008C2D829586958770880F880F9C2D9F7068
+:10209000892E912CA12CB12C082E04C0880C991CDF
+:1020A000AA1CBB1C0A94D2F7C4FE14C00FE010E0B7
+:1020B00020E030E0B901A80104C0440F551F661F9D
+:1020C000771F8A95D2F7CB01BA01609570958095FC
+:1020D000909503C060E070E0CB01272D26952695F2
+:1020E0002370422F50E04230510569F043305105D2
+:1020F00089F0682979298A299B294130510571F095
+:102100000E94251683C0682979298A299B290E9463
+:1021100041167CC00E942516C501B4010E94091613
+:1021200075C08C2D90E0FC01E05EF109E531F10510
+:1021300008F04FC0E059FF4F0C948C1B1C2D1F70F2
+:10214000872D8F71002321F00E94A215812F32CF9D
+:102150000E94C315812F0E94350F58C0002341F003
+:10216000153008F053C0872D8F710E94E8154EC0BE
+:10217000163008F04BC0F7CF002339F0872D8F7150
+:102180000E94A21543C00023C9F3872D8F710E94BE
+:10219000C3153CC0002329F0872D8F710E948D1537
+:1021A00035C00E94831532C0002351F0172D1F71D6
+:1021B000812F0E94A21563E0812F0E94B61626C0CF
+:1021C00081E00E94BF16123008F182E00E94BF1623
+:1021D0001DC0002331F0112389F28C2D0E94670E5F
+:1021E00015C0112391F28C2D0E94060F0FC0472DB0
+:1021F0004F706C2DC7010E949D010E94A71406C05C
+:10220000472D4F706C2DC7010E949C01DD20F9F015
+:102210000E94B21680FD1BC0F70112820E94AC160C
+:102220000E94A215C7010E9436110E94AC160F90A1
+:10223000DF91CF911F910F91FF90EF90DF90CF90A2
+:10224000BF90AF909F908F907F900C94C3150F908C
+:10225000DF91CF911F910F91FF90EF90DF90CF9082
+:10226000BF90AF909F908F907F9008950F931F9392
+:10227000CF93DF93EC01888199812B813C81232BC3
+:10228000B9F09F3F11F48F3F99F0CE010E941602E2
+:10229000882371F0688179818A810E94A8168C0157
+:1022A0000E945D160E942415B801CE010E943C0FC9
+:1022B000DF91CF911F910F9108950E9480170E9486
+:1022C00090170E9455170C94AA170E9470170C942F
+:1022D0005D110E949D16292F22952F7030E02C3021
+:1022E00031054CF42A3031056CF42250310922308A
+:1022F0003105A8F407C02C30310569F02F303105C5
+:1023000051F00DC0803F69F018F4803E40F409C0E0
+:10231000843F29F406C093FB882780F9089580E064
+:10232000089581E00895CF93DF9300D000D01F92ED
+:10233000CDB7DEB70F900F900F900F900F90DF91F9
+:10234000CF910895CF93DF9300D000D000D0CDB7C8
+:10235000DEB726960FB6F894DEBF0FBECDBFDF9175
+:10236000CF9108951F93CF93DF93C091590116E049
+:1023700080915A01C81799F0D0E01C9FF0011D9F71
+:10238000F00D1124E55AFE4F408151816281738125
+:10239000848195810E94A2112196C770E9CFDF91B7
+:1023A000CF911F91089540918B0150918C016091C4
+:1023B0008D0170918E0180918F01909190010C940C
+:1023C000A2118091900182958F7009F054C0809184
+:1023D0008D01882309F44FC080915901A0915A01C1
+:1023E00060918B0170918C0140918E0150918F0111
+:1023F000B6E08A1709F43FC090E041155105C1F1DC
+:102400007F3F11F46F3FA1F1B89FF001B99FF00D2C
+:102410001124E55AFE4F218172132AC020816213D4
+:1024200027C02281211124C023813481241735073C
+:1024300010F421503109241B350B283C3105C0F420
+:10244000209190012F7020612093900126E0289F19
+:10245000F001299FF00D1124E05AFE4F80818F700A
+:10246000806180838BE891E00E9436110C94B21158
+:1024700001968770BECF0895CF92DF92EF92FF92C0
+:102480000F931F93CF93DF93CDB7DEB762970FB64D
+:10249000F894DEBF0FBECDBF8C0185E0F801DE01F0
+:1024A0001D9601900D928A95E1F7D8014C911196F5
+:1024B0005C91119712966C9112971396CD90DC90C7
+:1024C000149730918B0170918C0180918E019091C5
+:1024D0008F01009709F46BC17F3F19F43F3F09F466
+:1024E00066C1E0908D01EE2009F4C0C020919001FA
+:1024F000C816D90628F0F601E81BF90BCF0104C075
+:10250000809590958C0D9D1DFF24F394883C91053A
+:1025100078F0F12C207F09F0C6C07C2DD98AC88ABA
+:1025200089890E9493118BE891E00E943611B1C015
+:10253000822F807F09F046C0751314C0341312C077
+:10254000611110C02F702061209390010E94D3115F
+:102550008BE891E00E94361180919001D801159688
+:102560008C932EC0CD2819F15F3F11F44F3FF9F045
+:10257000F62E61111CC08091590120915A0136E05C
+:10258000821709F45AC090E0389FF001399FF00D8E
+:102590001124E55AFE4F7181571306C0708147130D
+:1025A00003C07281711103C001968770E9CFF62EC6
+:1025B000662309F418C18091900181608093900195
+:1025C000F12C11C1751308C0341306C0611104C089
+:1025D00080919001D801C3C04D875E878D859E850F
+:1025E0006A8B0E9469116A898823E1F16623D1F11F
+:1025F00020919001822F82958F7090E0029774F065
+:1026000080918B0190918C0198878F831986DB864E
+:10261000CA862C87CE0107960E94361186E0F80103
+:10262000ABE8B1E001900D928A95E1F70E94E111CB
+:102630000E94D311FF24F394D6C04D875E878D8509
+:102640009E850E949D16292F22952F7030E0223002
+:1026500031050CF0BCC09F7009F0B6C0805E8830B8
+:1026600008F4C1C0C8010E943611E4CFC816D906CB
+:1026700008F453C0F601E81BF90BCF01883C910523
+:1026800008F450C0F12C7C2DD98AC88A89890E940F
+:102690009311EBE8F1E086E0DF011D928A95E9F7FE
+:1026A0000E94D311A0C0751314C0341312C061115D
+:1026B00010C080919001F8018583C8010E943611F5
+:1026C00086E0EBE8F1E0DF011D928A95E9F7FE2C48
+:1026D0008AC04D875E878D859E856A8B0E946911B1
+:1026E0006A89882309F4BECF662309F4BBCF209101
+:1026F0009001822F82958F7090E002970CF48ECF1C
+:1027000080918B0190918C019A8389831B82DD8259
+:10271000CC822E83CE0101967FCF809590958C0D33
+:102720009D1DACCFF62E662309F49CCF75132EC0E9
+:1027300034132CC02091900120FD1FC0822F829560
+:102740008F70D9F0D80115962C9315978F3049F0DA
+:102750008F5F982F9295907F822F8F70892B15967F
+:102760008C93C8010E94361186E0F801ABE8B1E015
+:1027700001900D928A95E1F793CF86E0F801ABE8DE
+:10278000B1E001900D928A95E1F72DC04D875E87EB
+:102790008D859E850E946911811140CF80919001A5
+:1027A000816080939001C8010E9436111CC066238D
+:1027B00009F458CF4D875E878D859E850E946911EB
+:1027C000882309F44FCF2ACF811148CF0CC0243081
+:1027D00031050CF047CF9F7009F440CFF801958187
+:1027E000907F09F03BCF8F2D62960FB6F894DEBF35
+:1027F0000FBECDBFDF91CF911F910F91FF90EF9052
+:10280000DF90CF9008951F93CF93DF93CDB7DEB7BE
+:102810002C970FB6F894DEBF0FBECDBF4F835887FD
+:1028200069877A878B879C87CE0107960E943C1226
+:10283000882369F08F8198852A853B85232BF1F1C8
+:102840009F3F09F063C08F3F09F060C037C086E04A
+:10285000FE013796DE01119601900D928A95E1F7FF
+:102860006F817885EA85FB85309741F17F3F11F4D0
+:102870006F3F21F120915A0130E0C9010196877024
+:1028800099274091590150E08417950709F447C0F2
+:1028900069837A83FD83EC8396E0929FD001939FB6
+:1028A000B00D1124A55ABE4FFE01319601900D9234
+:1028B0009A95E1F780935A010E94B21116E0809137
+:1028C000590190915A018917C1F1189FC001112433
+:1028D000855A9E4F0E943C12882379F1E09159015C
+:1028E0001E9FF0011124E55AFE4F40815181628103
+:1028F0007381848195810E94A2118091590190E099
+:1029000001968770992780935901D9CF4F815885B7
+:1029100069857A858B859C850E94A211CFCF0E9404
+:10292000651110925A0110925901EBE8F1E086E02E
+:10293000DF011D928A95E9F7C1CF2C960FB6F89466
+:10294000DEBF0FBECDBFDF91CF911F910895EF92F3
+:10295000FF920F931F93CF93DF938C01009709F49D
+:102960006CC0F12CEE24E394E8012196F8018491E7
+:10297000843740F4843008F051C0813081F08230D7
+:1029800019F15BC0853709F444C0A8F19CE7980FA2
+:10299000903708F052C08F770E94060F41C00E5F3B
+:1029A0001F4FFE01C49180E28C0F883048F4C7703D
+:1029B0008E2D01C0880FCA95EAF70E94831714C0B4
+:1029C0008C2F0E94670E2DC00E5F1F4FFE01C49119
+:1029D00080E28C0F883058F4C7708E2D01C0880FAC
+:1029E000CA95EAF70E9489170E94AA171AC08C2F6D
+:1029F0000E94060F16C00E5F1F4FFE01C491CC232C
+:102A000081F08FE99FE00197F1F700C00000C1500D
+:102A1000F6CF0E5F1F4FFE01F49003C00E94670EB9
+:102A20008E018F2D882309F49FCFEFE9FFE03197C6
+:102A3000F1F700C000008150F5CFDF91CF911F91D9
+:102A40000F91FF90EF900895089560939501709312
+:102A5000960180939701909398010C945D110F93C8
+:102A60001F9300919501109196012091970130914B
+:102A70009801DC01CB01802B912BA22BB32B8093EF
+:102A8000950190939601A0939701B09398011F919F
+:102A90000F910C945D110F931F930091950110916C
+:102AA00096012091970130919801DC01CB018023A0
+:102AB0009123A223B3238093950190939601A09331
+:102AC0009701B09398011F910F910C945D110F9392
+:102AD0001F930091950110919601209197013091DB
+:102AE0009801DC01CB0180279127A227B32780938F
+:102AF000950190939601A0939701B09398011F912F
+:102B00000F910C945D11109291011092920110920C
+:102B10009301109294010C945D1141E050E060E04B
+:102B200070E004C0440F551F661F771F8A95D2F7C7
+:102B3000409391015093920160939301709394019B
+:102B40000C945D1141E050E060E070E004C0440F7F
+:102B5000551F661F771F8A95D2F78091910190913A
+:102B60009201A0919301B0919401482B592B6A2BAB
+:102B70007B2B40939101509392016093930170934A
+:102B800094010C945D1141E050E060E070E004C0FD
+:102B9000440F551F661F771F8A95D2F740955095B1
+:102BA000609570958091910190919201A09193010F
+:102BB000B0919401482359236A237B2340939101C8
+:102BC0005093920160939301709394010C945D1162
+:102BD00041E050E060E070E004C0440F551F661F04
+:102BE000771F8A95D2F78091910190919201A091DF
+:102BF0009301B0919401482759276A277B27409376
+:102C000091015093920160939301709394010C94FD
+:102C10005D110F931F9300919101109192012091EA
+:102C2000930130919401DC01CB01802B912BA22BDD
+:102C3000B32B8093910190939201A0939301B09351
+:102C400094011F910F910C945D110F931F930091AC
+:102C50009101109192012091930130919401DC0136
+:102C6000CB0180239123A223B323809391019093DE
+:102C70009201A0939301B09394011F910F910C9432
+:102C80005D110F931F93009191011091920120917A
+:102C9000930130919401DC01CB0180279127A22779
+:102CA000B3278093910190939201A0939301B093E5
+:102CB00094011F910F910C945D110895CF92DF92B2
+:102CC000EF92FF920F931F93CF93DF938C01C090ED
+:102CD0009501D0909601E0909701F0909801809135
+:102CE000910190919201A0919301B0919401C82A11
+:102CF000D92AEA2AFB2ACFE1D0E0D701C6010C2E5F
+:102D000004C0B695A795979587950A94D2F780FF4A
+:102D100006C0B8018C2F0E941705019721F4219756
+:102D200060F780E001C08C2FDF91CF911F910F9150
+:102D3000FF90EF90DF90CF900895CF93DF93EC0159
+:102D40000E945E16BE010E941705DF91CF91089583
+:102D5000CB010E949D1608958091990185958595D6
+:102D600085950895809199018770089598E0899FCD
+:102D700090011124262B209399010C94A2152091E7
+:102D800099018095822380939901982F977069F417
+:102D900030E0482F552747FD50952417350729F077
+:102DA0008595859585950C94C31508959091990105
+:102DB000977081E009F480E0089590910B019923C8
+:102DC00021F090910C01911109C020910D013091D9
+:102DD0000E01F90132969FEF40E01FC0982F9695A3
+:102DE000969596959F3050F5E0910D01F0910E016A
+:102DF000E90FF11D877021E030E0A90102C0440F06
+:102E0000551F8A95E2F7CA019181892B8183089524
+:102E10009F3F39F04F5F4E3041F051915813F8CF3A
+:102E20000DC05111F7CF942FF5CF9F3F39F0F90125
+:102E3000E90FF11D97FDFA95828308950895909109
+:102E40000B01992321F090910C01911109C020915F
+:102E50000D0130910E01F9013296205F3F4F1FC0E6
+:102E6000982F9695969596959F30F0F4E0910D01E8
+:102E7000F0910E01E90FF11D877021E030E0A9010A
+:102E800002C0440F551F8A95E2F7CA0180959181CF
+:102E90008923818308953196E217F30729F0908101
+:102EA0009813F9CF1082F7CF089581E090E0E09178
+:102EB0000D01F0910E01E80FF91F1082019680318B
+:102EC0009105A9F708959091AD01892B8093AD01EB
+:102ED000089580959091AD0189238093AD01089567
+:102EE0001092AD0108959091AC01892B8093AC01B3
+:102EF000089580959091AC0189238093AC01089549
+:102F00001092AC0108959091AB01892B8093AB0195
+:102F1000089580959091AB0189238093AB0108952A
+:102F20001092AB01089580939A01089510929A012E
+:102F3000089580910D0190910E01FC0131969C0144
+:102F4000205F3F4F80E0919191118F5FE217F3076F
+:102F5000D1F70895E0910D01F0910E018091AD013E
+:102F60008083E0910D01F0910E0190818091AC0180
+:102F7000892B8083E0910D01F0910E019081809169
+:102F8000AB01892B808380919A01882361F0E091C5
+:102F90000D01F0910E019081892B80830E94991779
+:102FA000811110929A0180910D0190910E010C9463
+:102FB000450D20E0009739F0AC01415051098423C0
+:102FC00095232F5FF7CF822F08958091B901843028
+:102FD00021F11092AF0120E488E190E00FB6F8945F
+:102FE000A895809360000FBE2093600080E00E944F
+:102FF000B10583B7817F846083BF83B7816083BF5E
+:103000007894889583B78E7F83BF88E10FB6F89454
+:1030100080936000109260000FBE08950895089597
+:103020000E940E180E94F5050E940F180E945C066F
+:1030300091E0811101C090E0892F08950E946511EF
+:103040000E94390D0C94B1051F920F920FB60F928A
+:1030500011248F939F93AF93BF938091AF01811100
+:1030600013C08091B0019091B101A091B201B091D3
+:10307000B3014196A11DB11D8093B0019093B101A0
+:10308000A093B201B093B301BF91AF919F918F9183
+:103090000F900FBE0F901F90189582E084BD93E0B3
+:1030A00095BD9AEF97BD80936E0008952FB7F89461
+:1030B0008091B0019091B101A091B201B091B301A2
+:1030C0002FBF0895CF92DF92EF92FF920F931F933D
+:1030D0002FB7F8944091B0015091B1016091B201C5
+:1030E0007091B3012FBF6A017B01EE24FF248C0194
+:1030F00020E030E0C016D106E206F30610F441509D
+:1031000051099A01281B390BC9011F910F91FF909A
+:10311000EF90DF90CF9008951F920F920FB60F920D
+:1031200011248F939F93AF93BF938091B00190919F
+:10313000B101A091B201B091B3010196A11DB11DE1
+:103140008093B0019093B101A093B201B093B30109
+:10315000BF91AF919F918F910F900FBE0F901F90D5
+:1031600018950E94360AF8942FEF87EA91E62150CD
+:1031700080409040E1F700C0000087E090EBDC0168
+:103180008093C3019093C401A093C501B093C6017D
+:103190009CE088E10FB6F894A895809360000FBE7C
+:1031A00090936000FFCFBF92CF92DF92EF92FF9299
+:1031B0000F931F93CF93DF93B82E11E0EE24E39487
+:1031C000F12C012F812F0E943C066C01CAE0D0E057
+:1031D00097010C2E02C0220F331F0A94E2F72C2114
+:1031E0003D21232B49F06C2F712F80E00E94C202F9
+:1031F000B81202C081E006C0219750F710E001111B
+:10320000E0CF80E0DF91CF911F910F91FF90EF9081
+:10321000DF90CF90BF900895CF93C82F8CE20E948B
+:10322000D318882321F08C2FCF910C94D31880E0F1
+:10323000CF910895CF930E94611A811102C00E941C
+:10324000471AC5E6C15049F00E94F5058FE39CE995
+:103250000197F1F700C00000F5CF89E20E940C1938
+:10326000811113C18AE20E940C1981110E94471A30
+:1032700085E00E940C1981110E94B1180E946C1AFD
+:103280008093AE0187E00E940C198823A9F18BE19D
+:103290000E940C19882351F08091AE0181FB2227F6
+:1032A00020F991E0922790FB81F90EC08EE00E94F8
+:1032B0000C19882361F08091AE0182FB222720F94E
+:1032C00091E0922790FB82F98093AE0115C080E1D6
+:1032D0000E940C199091AE01882341F093FB2227A4
+:1032E00020F981E0822780FB93F904C0892F809523
+:1032F00080FB90F99093AE018091AE010E94701A0C
+:103300000E947E1A8093C20180EE0E940C198823CD
+:1033100041F08091C201982F909590FB80F98093A5
+:10332000C20189E30E940C19882359F08091C201DF
+:1033300081FB222720F991E0922790FB81F980936D
+:10334000C20182EE0E940C19882359F08091C201BB
+:1033500082FB222720F991E0922790FB82F980934B
+:10336000C20186EE0E940C19882359F08091C20197
+:1033700083FB222720F991E0922790FB83F9809329
+:10338000C20183EE0E940C19882359F08091C2017A
+:1033900084FB222720F991E0922790FB84F9809307
+:1033A000C20185E30E940C19882359F08091C20163
+:1033B00085FB222720F991E0922790FB85F98093E5
+:1033C000C20181E30E940C19882359F08091C20147
+:1033D00086FB222720F991E0922790FB86F98093C3
+:1033E000C20181E10E940C19882359F08091C20129
+:1033F00087FB222720F991E0922790FB87F98093A1
+:10340000C2018091C2010E94821A8091C20187FB91
+:10341000882780F980930C0187E20E940C19C82F3D
+:103420008EE10E940C198111C2608FE10E940C197B
+:103430008111C46080E20E940C198111C86081E290
+:103440000E940C198111C06182E20E940C19811145
+:10345000C06283E20E940C198111C06484E20E9460
+:103460000C19882311F0C06802C0CC2329F08C2FDE
+:103470000E94791A6C2F03C00E94751A682F70E0A1
+:1034800080E090E0CF910C942515CF9108956DEEDA
+:103490007EEF80E090E00E94B21B60E082E090E06E
+:1034A0000E94A01B60E083E090E00E94A01B60E00F
+:1034B00084E090E00E94A01B60E085E090E00C9426
+:1034C000A01B80E090E00E949A1B21E08D3E9E4F61
+:1034D00009F020E0822F089582E090E00C94921B86
+:1034E000682F82E090E00C94A01B83E090E00C94A5
+:1034F000921B682F83E090E00C94A01B84E090E086
+:103500000C94921B682F84E090E00C94A01B0F9306
+:103510001F938B3109F475C0A0F58E3009F484C077
+:10352000C0F4873009F45BC068F4863009F0AAC0A3
+:103530008091AE01817F8E7F8093AE0181E0809388
+:10354000B401A1C0883009F496C08B3009F493C04F
+:1035500099C0813109F472C068F4803109F092C0D9
+:103560008091AE0183FB222720F991E0922790FB06
+:1035700083F950C0863109F47EC0893109F47BC0DB
+:1035800081C0853309F479C068F4873209F475C0C5
+:1035900028F48E3108F476C08D515AC0893209F46E
+:1035A0006CC070C0833438F48A3308F050C088335C
+:1035B00009F461C067C0833409F45FC0883409F03E
+:1035C00061C00E9465110FEF13ED20E30150104020
+:1035D0002040E1F700C000000E94B1184CC090915B
+:1035E000AE01892F8095817080FB90F929F096605B
+:1035F00098609093AE0147C0997F977F9093AE01FA
+:103600003AC08091AE0181FB222720F991E09227F8
+:1036100090FB81F98093AE01992369F18091AE010D
+:1036200081608093AE0127C08091AE0182FB22278A
+:1036300020F991E0922790FB82F9ECCF0E9465116E
+:1036400090910C0181E0892780930C0114C089536B
+:1036500041E050E060E070E08A019B0104C0000F8F
+:10366000111F221F331F8A95D2F7C901B8010E948A
+:1036700025150E94651181E006C061E070E080E0E0
+:1036800090E0F5CF80E01F910F91089580E00895BC
+:1036900080E00895CF93C82F8091B401882319F05A
+:1036A000813049F031C0E0910D01F0910E0180812F
+:1036B000823261F507C0E0910D01F0910E01808129
+:1036C000823261F48C2F0E94461B811104C08C2F22
+:1036D0000E94871A17C081E090E014C08C2F0E94CE
+:1036E000481B81110EC0C43149F018F4CB3049F0A9
+:1036F0000FC0C93219F0C83321F00AC01092B401CA
+:1037000007C081E0817006C01092B40180E002C061
+:1037100080E0F8CFCF910895EE0FFF1F0590F49150
+:10372000E02D0994F999FECF92BD81BDF89A9927B1
+:1037300080B50895A8E1B0E042E050E00C94BA1BD7
+:10374000262FF999FECF92BD81BDF89A019700B45A
+:10375000021639F01FBA20BD0FB6F894FA9AF99AFA
+:103760000FBE08950196272F0E94A11B0C94A01B49
+:10377000DC01CB01FC01F999FECF06C0F2BDE1BD31
+:10378000F89A319600B40D9241505040B8F7089520
+:04379000F894FFCFDB
+:10379400FF6B06D7066E06A3066F0601019B010F99
+:0A37A4001F4F5F6F7F6353437949A5
+:00000001FF
diff --git a/keyboard/arrow_pad/keymaps/pad_21/config.h b/keyboard/arrow_pad/keymaps/pad_21/config.h new file mode 100644 index 0000000000..a095e87374 --- /dev/null +++ b/keyboard/arrow_pad/keymaps/pad_21/config.h @@ -0,0 +1,158 @@ +/* +Copyright 2012 Jun Wako <wakojun@gmail.com> + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +#ifndef CONFIG_H +#define CONFIG_H + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0xFEED +#define PRODUCT_ID 0x4097 +#define DEVICE_VER 0x0001 +#define MANUFACTURER Nobody +#define PRODUCT Arrow Pad 21 +#define DESCRIPTION 21-Key QMK Assistant + +/* key matrix size */ +#define MATRIX_ROWS 2 +#define MATRIX_COLS 11 + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * +*/ +#define MATRIX_ROW_PINS { D3, D5 } +#define MATRIX_COL_PINS { F0, F1, F4, F5, F6, F7, B6, B5, B4, D7, D4 } +#define UNUSED_PINS + +/* COL2ROW or ROW2COL */ +#define DIODE_DIRECTION ROW2COL + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCING_DELAY 5 + +/* define if matrix has ghost (lacks anti-ghosting diodes) */ +//#define MATRIX_HAS_GHOST + +/* number of backlight levels */ +#define BACKLIGHT_LEVELS 3 + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +//#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +//#define LOCKING_RESYNC_ENABLE + +/* + * Force NKRO + * + * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved + * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the + * makefile for this to work.) + * + * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N) + * until the next keyboard reset. + * + * NKRO may prevent your keystrokes from being detected in the BIOS, but it is + * fully operational during normal computer usage. + * + * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N) + * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by + * bootmagic, NKRO mode will always be enabled until it is toggled again during a + * power-up. + * + */ +#define FORCE_NKRO + +/* + * Magic Key Options + * + * Magic keys are hotkey commands that allow control over firmware functions of + * the keyboard. They are best used in combination with the HID Listen program, + * found here: https://www.pjrc.com/teensy/hid_listen.html + * + * The options below allow the magic key functionality to be changed. This is + * useful if your keyboard/keypad is missing keys and you want magic key support. + * + */ + +/* key combination for magic key command */ +#define IS_COMMAND() ( \ + keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \ +) + +/* control how magic key switches layers */ +//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true +//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true +//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM false + +/* override magic key keymap */ +//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS +//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS +//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM +//#define MAGIC_KEY_HELP1 H +//#define MAGIC_KEY_HELP2 SLASH +//#define MAGIC_KEY_DEBUG D +//#define MAGIC_KEY_DEBUG_MATRIX X +//#define MAGIC_KEY_DEBUG_KBD K +//#define MAGIC_KEY_DEBUG_MOUSE M +//#define MAGIC_KEY_VERSION V +//#define MAGIC_KEY_STATUS S +//#define MAGIC_KEY_CONSOLE C +//#define MAGIC_KEY_LAYER0_ALT1 ESC +//#define MAGIC_KEY_LAYER0_ALT2 GRAVE +//#define MAGIC_KEY_LAYER0 0 +//#define MAGIC_KEY_LAYER1 1 +//#define MAGIC_KEY_LAYER2 2 +//#define MAGIC_KEY_LAYER3 3 +//#define MAGIC_KEY_LAYER4 4 +//#define MAGIC_KEY_LAYER5 5 +//#define MAGIC_KEY_LAYER6 6 +//#define MAGIC_KEY_LAYER7 7 +//#define MAGIC_KEY_LAYER8 8 +//#define MAGIC_KEY_LAYER9 9 +//#define MAGIC_KEY_BOOTLOADER PAUSE +//#define MAGIC_KEY_LOCK CAPS +//#define MAGIC_KEY_EEPROM E +//#define MAGIC_KEY_NKRO N +//#define MAGIC_KEY_SLEEP_LED Z + +/* + * Feature disable options + * These options are also useful to firmware size reduction. + */ + +/* disable debug print */ +//#define NO_DEBUG + +/* disable print */ +//#define NO_PRINT + +/* disable action features */ +//#define NO_ACTION_LAYER +//#define NO_ACTION_TAPPING +//#define NO_ACTION_ONESHOT +//#define NO_ACTION_MACRO +//#define NO_ACTION_FUNCTION + +#endif diff --git a/keyboard/arrow_pad/keymaps/pad_21/keymap.c b/keyboard/arrow_pad/keymaps/pad_21/keymap.c new file mode 100644 index 0000000000..28917a5d9e --- /dev/null +++ b/keyboard/arrow_pad/keymaps/pad_21/keymap.c @@ -0,0 +1,160 @@ +// 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 "arrow_pad.h" +#include "led.h" + +// This is the 21-key keypad to 2x11 element matrix mapping +#define KEYMAP( \ + KM_ESC, KM_TAB, KM_BSL, KM_ARR, \ + KM_NUM, KM_FSL, KM_AST, KM_MIN, \ + KM___7, KM___8, KM___9, ___PLS, \ + KM___4, KM___5, KM___6, KM_PLS, \ + KM___1, KM___2, KM___3, ___ENT, \ + KM___0, _____0, KM_DOT, KM_ENT \ +) { \ + { KM_ESC, KM_TAB, KM_BSL, KM_ARR, KM___7, KM___8, KM___9, KM_PLS, KM___1, KM___2, KM___3, }, \ + { KM_NUM, KM_FSL, KM_AST, KM_MIN, KM___4, KM___5, KM___6, KM_ENT, KC_NO, KM___0, KM_DOT, }, \ +} + + +#define LAYER_BASE 0 +#define LAYER_EDIT 1 +#define LAYER_FUNCTION 2 + +#define MACRO_COPY_CUT 0 +#define MACRO_SHIFT_CONTROL 1 +#define MACRO_CONTROL_ALT 2 + +#define M_COPY KC_FN5 +#define M_SHFCT KC_FN6 +#define M_CTALT KC_FN7 + +#define SC_UNDO LCTL(KC_Z) +#define SC_REDO LCTL(KC_Y) +#define SC_CUT LCTL(KC_X) +#define SC_COPY LCTL(KC_C) +#define SC_PSTE LCTL(KC_V) +#define SC_SELA LCTL(KC_A) +#define SC_SAVE LCTL(KC_S) +#define SC_OPEN LCTL(KC_O) +#define SC_ACLS LALT(KC_F4) +#define SC_CCLS LCTL(KC_F4) + +#define _______ KC_TRNS +#define XXXXXXX KC_NO + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +[LAYER_BASE] = KEYMAP( \ + KC_ESC, KC_TAB, KC_BSLS, KC_FN0, \ + KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, \ + KC_P7, KC_P8, KC_P9, XXXXXXX, \ + KC_P4, KC_P5, KC_P6, KC_PPLS, \ + KC_P1, KC_P2, KC_P3, XXXXXXX, \ + KC_P0, XXXXXXX, KC_PDOT, KC_PENT ), + +[LAYER_EDIT] = KEYMAP( \ + KC_ESC, KC_TAB, KC_SPC, _______, \ + KC_FN1, SC_PSTE, SC_REDO, SC_UNDO, \ + KC_HOME, KC_UP, KC_PGUP, XXXXXXX, \ + KC_LEFT, M_COPY, KC_RGHT, M_CTALT, \ + KC_END, KC_DOWN, KC_PGDN, XXXXXXX, \ + KC_BSPC, XXXXXXX, KC_DEL, M_SHFCT), + +[LAYER_FUNCTION] = KEYMAP( \ + KC_FN2, KC_FN3, KC_FN4, _______, \ + KC_FN1, _______, _______, _______, \ + _______, _______, _______, XXXXXXX, \ + _______, _______, _______, _______, \ + _______, _______, _______, XXXXXXX, \ + RESET, XXXXXXX, _______, _______ ), + +}; + + +const uint16_t PROGMEM fn_actions[] = { + [0] = ACTION_LAYER_MOMENTARY(LAYER_FUNCTION), + [1] = ACTION_LAYER_TOGGLE(LAYER_EDIT), + [2] = ACTION_BACKLIGHT_TOGGLE(), + [3] = ACTION_BACKLIGHT_INCREASE(), + [4] = ACTION_BACKLIGHT_DECREASE(), + [5] = ACTION_MACRO_TAP(MACRO_COPY_CUT), + [6] = ACTION_MACRO_TAP(MACRO_SHIFT_CONTROL), + [7] = ACTION_MACRO_TAP(MACRO_CONTROL_ALT), + +}; + + +void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) +{ +} + + +const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) +{ + // MACRODOWN only works in this function + switch (id) { + + case MACRO_COPY_CUT: + if (record->event.pressed) { + register_code(KC_LCTL); + if (record->tap.count == 1) { + register_code(KC_C); + unregister_code(KC_C); + } + else if (record->tap.count == 2) { + register_code(KC_X); + unregister_code(KC_X); + } + unregister_code(KC_LCTL); + } + break; + + case MACRO_SHIFT_CONTROL: + if (record->event.pressed) { + if (record->tap.count <= 2) register_mods(MOD_BIT(KC_LSFT)); + if (record->tap.count == 2) register_mods(MOD_BIT(KC_LCTL)); + if (record->tap.count == 3) register_code(KC_PENT);; + } + else { + unregister_mods(MOD_BIT(KC_LSFT) | MOD_BIT(KC_LCTL)); + unregister_code(KC_PENT); + } + break; + + case MACRO_CONTROL_ALT: + if (record->event.pressed) { + if (record->tap.count < 2) register_mods(MOD_BIT(KC_LCTL)); + if (record->tap.count >= 2) register_mods(MOD_BIT(KC_LALT)); + } + else { + unregister_mods(MOD_BIT(KC_LCTL) | MOD_BIT(KC_LALT)); + } + break; + } + + return MACRO_NONE; +} + +void led_set_user(uint8_t usb_led) +{ + if (usb_led & (1<<USB_LED_CAPS_LOCK)) { + // output high + DDRD |= (1<<6); + PORTD |= (1<<6); + } else { + // Hi-Z + DDRD &= ~(1<<6); + PORTD &= ~(1<<6); + } + if (usb_led & (1<<USB_LED_NUM_LOCK)) { + // output low + DDRC |= (1<<7); + PORTC |= ~(1<<7); + } else { + // Hi-Z + DDRC &= ~(1<<7); + PORTC &= ~(1<<7); + } +}
\ No newline at end of file |