From 649b33d7783cf3021928534b7ae127e0a89e8807 Mon Sep 17 00:00:00 2001 From: Jack Humbert Date: Tue, 21 Jun 2016 22:39:54 -0400 Subject: Renames keyboard folder to keyboards, adds couple of tmk's fixes (#432) * fixes from tmk's repo * rename keyboard to keyboards --- keyboards/arrow_pad/keymaps/default/compiled.hex | 1490 ++++++++++++++++++++++ keyboards/arrow_pad/keymaps/default/keymap.c | 163 +++ keyboards/arrow_pad/keymaps/pad_21/Makefile | 17 + keyboards/arrow_pad/keymaps/pad_21/compiled.hex | 893 +++++++++++++ keyboards/arrow_pad/keymaps/pad_21/config.h | 158 +++ keyboards/arrow_pad/keymaps/pad_21/keymap.c | 160 +++ keyboards/arrow_pad/keymaps/pad_24/Makefile | 17 + keyboards/arrow_pad/keymaps/pad_24/compiled.hex | 935 ++++++++++++++ keyboards/arrow_pad/keymaps/pad_24/config.h | 158 +++ keyboards/arrow_pad/keymaps/pad_24/keymap.c | 163 +++ 10 files changed, 4154 insertions(+) create mode 100644 keyboards/arrow_pad/keymaps/default/compiled.hex create mode 100644 keyboards/arrow_pad/keymaps/default/keymap.c create mode 100644 keyboards/arrow_pad/keymaps/pad_21/Makefile create mode 100644 keyboards/arrow_pad/keymaps/pad_21/compiled.hex create mode 100644 keyboards/arrow_pad/keymaps/pad_21/config.h create mode 100644 keyboards/arrow_pad/keymaps/pad_21/keymap.c create mode 100644 keyboards/arrow_pad/keymaps/pad_24/Makefile create mode 100644 keyboards/arrow_pad/keymaps/pad_24/compiled.hex create mode 100644 keyboards/arrow_pad/keymaps/pad_24/config.h create mode 100644 keyboards/arrow_pad/keymaps/pad_24/keymap.c (limited to 'keyboards/arrow_pad/keymaps') diff --git a/keyboards/arrow_pad/keymaps/default/compiled.hex b/keyboards/arrow_pad/keymaps/default/compiled.hex new file mode 100644 index 0000000000..789eb4c3fc --- /dev/null +++ b/keyboards/arrow_pad/keymaps/default/compiled.hex @@ -0,0 +1,1490 @@ +:100000000C94E8060C942C070C942C070C942C07E9 +:100010000C942C070C942C070C942C070C942C0794 +:100020000C942C070C942C070C94DE120C94B01337 +:100030000C9458210C942C070C942C070C942C072E +:100040000C942C070C942C070C942C070C942C0764 +:100050000C942C070C94C0210C942C070C942C07A6 +:100060000C942C070C942C070C942C070C942C0744 +:100070000C942C070C942C070C942C070C942C0734 +:100080000C942C070C942C070C942C070C942C0724 +:100090000C942C070C942C070C942C070C942C0714 +:1000A0000C942C070C942C070C942C071D143F1453 +:1000B0002D153F142D158414A7142D15FC140F15A0 +:1000C000E817E8171718171856187618CC19CC190E +:1000D0008118CC19311931199819A119CC19C619DF +:1000E0003E193E193E193E193E193E193E193E1958 +:1000F0003E193E193E193E193E193E193E193E1948 +:100100004E195C1963196A197419F1A2028A00D296 +:1001100000D000D100C801C802C829002B0031005E +:10012000C00053005400550056005F00600061009D +:1001300067005C005D005E00570059005A005B00DC +:100140000000620000006300580029002B002C0012 +:100150000100C10019011C011D014A0052004B00A1 +:10016000E2005000C5004F00E0004D0051004E007D +:1001700000002A0000004C00C600C200C300C400FA +:100180000100C100010001000100010001000100A7 +:100190000100010001000100010001000100010057 +:1001A000000000500000010001000A44454255478C +:1001B0003A20656E61626C65642E0A005374617446 +:1001C00065206F6620726F772025583A20253031E0 +:1001D00036620A0048756D616E2D726561646162F8 +:1001E0006C65206D61747269782073746174653A0E +:1001F0000D0A004465626F756E63696E6720646501 +:100200006C61792072656D61696E696E673A20254F +:10021000580A005B735D004B6579626F6172642000 +:1002200073746172742E0A005B575D005B535D004E +:100230005B525D005B445D005B435D001003470063 +:100240006F006C00640050006100640000000E0349 +:100250004E006F0062006F0064007900000004032C +:10026000090409028D00050100A0FA09040000013B +:1002700003010100092111010001223F000705814E +:100280000308000A09040100010301020009211109 +:10029000010001224D000705820308000A0904023B +:1002A00000010300000009211101000122360007AE +:1002B00005830308000A0904030002030000000983 +:1002C00021110100012220000705840320000107FD +:1002D00005040320000109040400010300000009D3 +:1002E00021110100012239000705850310000112C8 +:1002F00001100100000008EDFE964001000102001F +:100300000105010906A101050719E029E7150025E6 +:1003100001950875018102050819012905950575E2 +:1003200001910295017503910105071900297715BF +:10033000002501957875018102C00631FF0974A17D +:10034000010975150025FF952075088102097615AC +:100350000025FF952075089102C005010980A101C3 +:10036000850216010026B7001A01002AB700751091 +:1003700095018100C0050C0901A10185031601004A +:10038000269C021A01002A9C02751095018100C06A +:1003900005010902A1010901A100050919012905A9 +:1003A00015002501950575018102950175038101EF +:1003B0000501093009311581257F950275088106EF +:1003C00009381581257F950175088106050C0A38C5 +:1003D000021581257F950175088106C0C0050109B8 +:1003E00006A101050719E029E71500250195087503 +:1003F00001810295017508810105081901290595FA +:1004000005750191029501750391010507190029F0 +:10041000FF150025FF950675088100C00A002530EC +:10042000325820006B6579626F6172645F7265702B +:100430006F72743A20004B6579626F617264204C70 +:100440004544732073746174653A2025780A00640A +:10045000656C5F6B65795F6269743A2063616E27D2 +:10046000742064656C3A20253032580A0061646457 +:100470005F6B65795F6269743A2063616E277420EF +:100480006164643A20253032580A00646F6E652E2C +:100490000A00626F6F676D61676963207363616EE5 +:1004A0003A202E2E2E2000290A002575002F002527 +:1004B00075005D28002564002000256400200025CB +:1004C000640020002564007C0025303258006D6FE8 +:1004D0007573656B6579205B62746E7C782079201A +:1004E0007620685D287265702F61636C293A205B05 +:1004F000006D6B5F776865656C5F74696D655F74CF +:100500006F5F6D6178203D2025640A006D6B5F7719 +:100510006865656C5F6D61785F7370656564203DCB +:100520002025640A006D6B5F74696D655F746F5F91 +:100530006D6178203D2025640A006D6B5F6D6178E8 +:100540005F7370656564203D2025640A006D6B5FF4 +:10055000696E74657276616C203D2025640A006DB9 +:100560006B5F64656C6179203D2025640A006D6BCA +:100570005F776865656C5F74696D655F746F5F6DEB +:100580006178203D2025640A006D6B5F77686565A2 +:100590006C5F6D61785F7370656564203D202564D4 +:1005A0000A006D6B5F74696D655F746F5F6D617874 +:1005B000203D2025640A006D6B5F6D61785F73706C +:1005C000656564203D2025640A006D6B5F696E746B +:1005D000657276616C203D2025640A006D6B5F6456 +:1005E000656C6179203D2025640A000A00257500AC +:1005F000363A20776865656C5F74696D655F746F06 +:100600005F6D61783A20000A00257500353A207741 +:100610006865656C5F6D61785F73706565643A20CD +:10062000000A00257500343A2074696D655F746FA7 +:100630005F6D61783A20000A00257500333A206D1D +:1006400061785F73706565643A20000A0025750063 +:10065000323A20696E74657276616C286D73293A3E +:1006600020000A00257500313A2064656C61792804 +:100670002A31306D73293A20000A092D2056616C09 +:10068000756573202D0A004D3E004D25643E200007 +:100690003F007365742064656661756C740A00437D +:1006A0003E200077686572652064656C74613A204D +:1006B000637572736F723D25642C20776865656C75 +:1006C0003D25640A53656520687474703A2F2F6560 +:1006D0006E2E77696B6970656469612E6F72672F22 +:1006E00077696B692F4D6F7573655F6B6579730AF9 +:1006F000000A092D204D6F7573656B6579202D0AF1 +:100700004553432F713A09717569740A313A096486 +:10071000656C6179282A31306D73290A323A09698A +:100720006E74657276616C286D73290A333A096DAF +:1007300061785F73706565640A343A0974696D6540 +:100740005F746F5F6D61780A353A09776865656C2B +:100750005F6D61785F73706565640A363A09776822 +:1007600065656C5F74696D655F746F5F6D61780A54 +:100770000A703A097072696E742076616C756573DF +:100780000A643A097365742064656661756C7473F4 +:100790000A75703A092B310A646F776E3A092D3168 +:1007A0000A706775703A092B31300A7067646F7789 +:1007B0006E3A092D31300A0A7370656564203D2058 +:1007C00064656C7461202A206D61785F7370656563 +:1007D00064202A2028726570656174202F20746956 +:1007E0006D655F746F5F6D6178290A003F004D3E53 +:1007F0002000433E20004C25640A0074696D657238 +:100800005F636F756E743A202530346C580A006B44 +:100810006579626F6172645F6E6B726F3A20255802 +:100820000A006B6579626F6172645F69646C653A36 +:100830002025580A006B6579626F6172645F70727F +:100840006F746F636F6C3A2025580A00686F737479 +:100850005F6B6579626F6172645F6C656473282990 +:100860003A2025580A000A092D20537461747573C3 +:10087000202D0A004743433A20342E392E3220419E +:1008800056522D4C4942433A20312E382E312041C8 +:1008900056525F415243483A20617672350A004F02 +:1008A0005054494F4E533A204C55464120424F4FE9 +:1008B000544D41474943204D4F5553454B455920D1 +:1008C00045585452414B455920434F4E534F4C4588 +:1008D00020434F4D4D414E44204E4B524F20353119 +:1008E000320A004255494C443A2031363731386596 +:1008F000662D6469727479202832333A30373A327F +:1009000039204A756E2020392032303136290A00CC +:100910005649443A20307846454544284E6F626F28 +:10092000647929205049443A2030783430393628C7 +:10093000476F6C6450616429205645523A203078E4 +:10094000303030310A00444553433A20412063752A +:1009500073746F6D206B6579626F6172640A000A4F +:10096000092D2056657273696F6E202D0A000A09E1 +:100970002D20436F6E736F6C65202D0A4553432FF6 +:10098000713A09717569740A6D3A096D6F7573650D +:100990006B65790A000A092D204D61676963202D76 +:1009A0000A443A094465627567204D65737361674F +:1009B0006520546F67676C650A583A094D61747217 +:1009C0006978204465627567204D6F646520546FB7 +:1009D00067676C65202D2053686F77206B65797091 +:1009E00072657373657320696E206D6174726978C6 +:1009F00020677269640A4B3A094B6579626F6172CC +:100A00006420446562756720546F67676C65202DAC +:100A10002053686F77206B657970726573732072ED +:100A200065706F72740A4D3A094465627567204DAE +:100A30006F75736520546F67676C650A563A09567F +:100A4000657273696F6E0A533A09537461747573F2 +:100A50000A433A09416374697661746520436F6E95 +:100A6000736F6C65204D6F64650A46312D463130D9 +:100A70003A0953776974636820746F204C61796513 +:100A80007220302D392028463130203D204C30292D +:100A90000A302D393A0953776974636820746F20DE +:100AA0004C6179657220302D390A4553433A095318 +:100AB000776974636820746F204C617965722030A7 +:100AC0002028616C7465726E617465206B65792095 +:100AD00031290A47524156453A0953776974636888 +:100AE00020746F204C6179657220302028616C740D +:100AF00065726E617465206B65792032290A5041F8 +:100B00005553453A094A756D7020746F20426F6FD6 +:100B1000746C6F6164657220285265736574290A6C +:100B2000453A095072696E7420454550524F4D2028 +:100B300053657474696E67730A4E3A094E4B524F8F +:100B400020546F67676C650A000A002575002E6CDB +:100B50006576656C3A20000A002575002E656E6189 +:100B6000626C653A20000A002530325800626163E9 +:100B70006B6C696768745F636F6E6669672E72611C +:100B8000773A20000A002575002E6E6B726F3A20AE +:100B9000000A002575002E737761705F6261636BD8 +:100BA000736C6173685F6261636B73706163653AF4 +:100BB00020000A002575002E737761705F677261EF +:100BC00076655F6573633A20000A002575002E6E16 +:100BD0006F5F6775693A20000A002575002E7377EC +:100BE00061705F72616C745F726775693A20000AA8 +:100BF000002575002E737761705F6C616C745F6C9B +:100C00006775693A20000A002575002E63617073CC +:100C10006C6F636B5F746F5F636F6E74726F6C3A4F +:100C200020000A002575002E737761705F636F6E78 +:100C300074726F6C5F636170736C6F636B3A2000EA +:100C40000A0025303258006B65796D61705F636F03 +:100C50006E6669672E7261773A20000A002575007A +:100C60002E6D6F7573653A20000A002575002E6B96 +:100C70006579626F6172643A20000A002575002E62 +:100C80006D61747269783A20000A002575002E653E +:100C90006E61626C653A20000A00253032580064AB +:100CA000656275675F636F6E6669672E7261773A1A +:100CB00020000A0025750064656661756C745F6CC0 +:100CC000617965723A20003F004E4B524F3A206FD7 +:100CD00066660A004E4B524F3A206F6E0A000A6D4C +:100CE0006F7573653A206F66660A000A6D6F7573DB +:100CF000653A206F6E0A000A6B6579626F617264F3 +:100D00003A206F66660A000A6B6579626F617264E9 +:100D10003A206F6E0A000A6D61747269783A206F2A +:100D200066660A000A6D61747269783A206F6E0A0D +:100D3000000A64656275673A206F66660A000A6495 +:100D4000656275673A206F6E0A000A0A4A756D700F +:100D5000696E6720746F20626F6F746C6F61646579 +:100D6000722E2E2E2000433E20006565636F6E6656 +:100D700069673A0A006261636B6C69676874207323 +:100D80007465703A2025750A006261636B6C69674F +:100D9000687420746F67676C653A2025750A006275 +:100DA00061636B6C69676874206465637265617305 +:100DB000653A2025750A006261636B6C6967687427 +:100DC00020696E6372656173653A2025750A0000BB +:100DD00011241FBECFEFDAE0DEBFCDBF04B603FEA5 +:100DE00024C08091EF019091F001A091F101B091A8 +:100DF000F2018730904BA740B04BB9F41092EF014D +:100E00001092F0011092F1011092F20114BE84B719 +:100E1000877F84BF88E10FB6F894809360001092BA +:100E200060000FBEE0E0FFE3099511E0A0E0B1E053 +:100E3000E2EBFCE502C005900D92A234B107D9F7B0 +:100E400011E0A2E4B1E001C01D92AF3EB107E1F7AD +:100E50000E9418100C94572E0C940000FF93EF93EF +:100E6000E0914201F0914301309709F00995EF912B +:100E7000FF910895FC018591803011F0EFDFFBCFE9 +:100E80000895FF27E0E230E247FF0CC0419597FF4D +:100E900009C0EDE26095709580959095611D711D7A +:100EA000811D911D27FF02C0219530E350E2AA2742 +:100EB000660F771F881F991FAA1FA41710F0A41B85 +:100EC00063955A95A9F7AA3008F0A95FA05DAF9382 +:100ED000F395611571058105910541F7ED3211F426 +:100EE000EF93F395F21718F43F93F395FBCF8F919F +:100EF000B5DFFA95E1F70895E991F9918591803090 +:100F000021F0853219F0AADFF9CF089520E0E894A6 +:100F100055915532C1F3503311F4689455915A33B9 +:100F200048F4505390F3220F022E220F220F200D6F +:100F3000250FF4CF0EF4219589919991533619F329 +:100F4000533729F1533559F1BC0188279927E89483 +:100F50005C3621F48991999168945591543639F40D +:100F600046EF7EF077FF0DC08FEF9FEF0AC0553739 +:100F70004AE039F0583540E121F0523642E009F0BC +:100F80000895FF93EF937DDFEF91FF91B7CFFF932C +:100F9000EF93FC0181918030B9F360DFFBCFFF93C9 +:100FA000EF9368DFF1CFDF93CF93CDB7DEB7259610 +:100FB000A3DFCF91DF9108950895089581E008950A +:100FC0000C94DD070C94DE070C948B08279A2F985D +:100FD0008FEF9FEF90938700809386008AE0809345 +:100FE000800089E1809381000C94E22B0E94E60747 +:100FF0000C94DC07282F81110BC080918000877F23 +:101000008093800010928D0010928C002F9808958C +:101010002F9880918000886080938000233019F49D +:101020008FEF9FEF0FC083E090E0821B9109880F44 +:10103000991F2FEF3FEFA90102C0569547958A955A +:10104000E2F7CA0190938D0080938C000895089573 +:10105000CF93DF93EC016130F1F018F06230E9F1E9 +:1010600055C08A81882309F451C080EE0E94DC16A5 +:101070008D81807F803129F486E00E94DC1686E035 +:1010800006C0803231F48BE10E94DC168BE10E94B5 +:101090007B1780EE1FC08A818823C1F08D818295E5 +:1010A0008F7090E003971CF482E00E94A3178D815B +:1010B000807F803219F481E00E94A3178D81807FA8 +:1010C000803321F588E50E94DC1620C083E00E9471 +:1010D000AA1788E50E947B1719C08A81882399F096 +:1010E0008D8182958F7090E002971CF481E00E94C0 +:1010F000A3178D8182958F7090E002973CF084E079 +:101100000E94A31703C085E00E94AA1780E090E028 +:10111000DF91CF91089581FF03C0569A5E9A02C075 +:1011200056985E9880FF05C03F9A88B18F6788B94E +:1011300008953F984798089581E008950C949C087D +:1011400008950F931F93CF93DF938C01FC01C0810F +:10115000D181CE010E94301FBE010E944D09EC01D9 +:10116000B8010E949E08882309F48DC0F80182818D +:10117000882309F44AC080914F0181111FC0C431F6 +:10118000F0E5DF0709F051C00E94A00881E08093DC +:101190004F010E948A2190934E0180934D0110923D +:1011A0004601109248011092470110924A01109294 +:1011B000490110924C0110924B0165C080914D0184 +:1011C00090914E010E949621883C910570F4809187 +:1011D0004601E82FF0E0EE0FFF1FE95BFE4FD183E1 +:1011E000C0838F5F809346014EC0C43880E5D80726 +:1011F00021F0C538D04501F13AC0F8018281882339 +:1012000041F01092440182E01EC0C438E0E5DE07E0 +:1012100059F580914401811106C086E20E94DC16D6 +:1012200086E20E947B1782E01CC0C438F0E5DF072D +:1012300041F3C538D045D9F4F8018281882331F0D3 +:101240001092450180E20E94A3171DC080914501C4 +:10125000811106C087E20E94DC1687E20E947B179C +:1012600080E20E94AA170FC0C538D04529F381E05B +:101270008093440180934501C801DF91CF911F9174 +:101280000F910C94E20780E0DF91CF911F910F91B5 +:1012900008950C94F6070C94E007E72FF0E096E031 +:1012A000899FE00DF11D1124EE0FFF1FEE0FFF1FB0 +:1012B000E60FF11DEE0FFF1FE65EFE4F8591949144 +:1012C0000895880F991FFC01E657F040859194918D +:1012D0000895880F991FFC01E65FFE4F8591949158 +:1012E00008950F931F93CF93DF93EC01811521E3B2 +:1012F0009207A0F5C11580E3D80708F0D7C0C83E13 +:10130000D105D8F4C03ED10508F007C2C83AD105CE +:1013100078F4C53AD10508F06AC0C130D10509F4A6 +:1013200063C008F4F7C1C430D10508F0F6C1F2C1BA +:10133000CB3BD10508F466C0EDC1C11590E2D907D9 +:1013400008F0AFC0C11521E0D20708F0E6C1C03FE8 +:10135000D10508F4DFC18E0110651FC2C03880E5D9 +:10136000D80700F5C03790E5D90708F0A3C0C1152C +:1013700020E5D20709F4ACC050F4CE01905480317E +:101380009F4008F0C7C1DF708E01106A06C2C130ED +:1013900080E5D80709F4AAC0C43190E5D90708F45C +:1013A000AFC0B8C1C33820E5D20709F48EC050F4ED +:1013B000C13890E5D90709F482C008F083C000E085 +:1013C00011EDEBC1C03181E5D80708F4A3C1C11507 +:1013D00097E5D90708F436C1CE01905781159041A1 +:1013E00008F098C1DF7093C101E010E0D6C1C53AA2 +:1013F000D10509F494C1C63AD10509F093C102E8B8 +:1014000010E4CBC1C83AD10509F48FC1C93AD1055E +:1014100009F48EC1CA3AD10509F48DC1CB3AD10580 +:1014200009F48CC1CC3AD10509F48BC1CD3AD10570 +:1014300009F48AC1C03BD10509F489C1CE3AD1056E +:1014400009F488C1CF3AD10509F487C1C13BD10560 +:1014500009F486C1C23BD10509F485C1C33BD1055E +:1014600009F484C1C43BD10509F483C1C53BD1054E +:1014700009F482C1C63BD10509F481C1C73BD1053E +:1014800009F480C1C83BD10509F47FC1C93BD1052E +:1014900009F47EC1CA3BD10509F47DC100E014E422 +:1014A0007CC1CE019F700E94690978C1DD278E0141 +:1014B000106C73C1CF70DD278E01146D6EC100E01A +:1014C00010ED6BC100E012ED68C100E013ED65C1E5 +:1014D0000E94371A8FEF94E32CE081509040204017 +:1014E000E1F700C000000E94E52157C18AEA91E0BF +:1014F0000E943A078091CF0181608093CF014DC156 +:101500000E949723811102C00E9478230E94B42375 +:1015100090E09093EE018093ED01C23080E5D80712 +:1015200021F48091ED01816086C0C43090E5D90737 +:1015300021F48091ED0182607EC0C63020E5D207A3 +:1015400021F48091ED01846076C0C83080E5D80731 +:1015500019F48091ED0127C0CA3090E5D90721F434 +:101560008091ED01806167C0CC3020E5D20721F485 +:101570008091ED0180625FC0CE3080E5D80721F414 +:101580008091ED01806457C0C03190E5D90721F406 +:101590008091ED0180684FC0C23120E5D20729F467 +:1015A0008091ED018460886046C0C33080E5D80733 +:1015B00021F48091ED018E7F3EC0C53090E5D907C2 +:1015C00021F48091ED018D7F36C0C73020E5D20730 +:1015D00021F48091ED018B7F2EC0C93080E5D807C2 +:1015E00019F48091ED0126C0CB3090E5D90721F4A4 +:1015F0008091ED018F7E1FC0CD3020E5D20721F410 +:101600008091ED018F7D17C0CF3080E5D80721F4A0 +:101610008091ED018F7B0FC0C13190E5D90721F496 +:101620008091ED018F7707C0C331D04531F48091AF +:10163000ED018B7F877F8093ED018091ED010E940A +:10164000B823ABC08D2F99278F70992781309105D2 +:10165000D9F49E012370332702C0880F991F2A9561 +:10166000E2F79C688E0144E0000F111F4A95E1F7F4 +:1016700000271370802B912B53E0CC0FDD1F5A9560 +:10168000E1F7C076DD272FC08230910531F4DC2FE1 +:10169000CC278E01016F106A80C08330910569F4F8 +:1016A000CE018370992701E010E002C0000F111FE6 +:1016B0008A95E2F7C8019C680FC084309105B9F49F +:1016C000CE018370992701E010E002C0000F111FC6 +:1016D0008A95E2F7C8019A6823E0CC0FDD1F2A95AE +:1016E000E1F7C07ED7708C010C2B1D2B56C08530C6 +:1016F000910531F4DC2FCC278E01046F106A4DC0A8 +:10170000069709F04AC0CF71DD27DC2FCC278E0168 +:10171000106243C000E010E040C08E013EC001E80E +:1017200010E43BC003E810E438C002EE14E435C016 +:1017300009EE14E432C00AEE14E42FC005EB14E401 +:101740002CC006EB14E429C007EB14E426C00CEC13 +:1017500014E423C00DEC14E420C003E815E41DC01C +:101760000AE815E41AC002E915E417C004E915E413 +:1017700014C001E216E411C003E216E40EC004E254 +:1017800016E40BC005E216E408C006E216E405C044 +:1017900007E216E402C00AE216E4C801DF91CF9125 +:1017A0001F910F910895E72FF0E096E0899FE00DDB +:1017B000F11D1124EE0FFF1FEE0FFF1FE60FF11DAD +:1017C000EE0FFF1FE65EFE4F85919491803E9105DE +:1017D000E0F4803C910558F58133910509F46FC020 +:1017E00048F48932910509F463C08A32910509F4FD +:1017F0006DC072C089339105E9F082389105D1F04E +:101800008533910509F44DC067C0833E910581F190 +:1018100038F4803E9105B9F0823E9105D9F05CC064 +:10182000863E910561F1873E9105A1F155C00E9468 +:10183000610908952091ED0120FD02C021FF4CC0F7 +:1018400080EE90E049C08091ED0180FFF9CF89E3FF +:1018500090E042C08091ED0182FF0EC08091ED01C9 +:1018600084FF03C080E090E037C083EE90E034C096 +:101870008091ED0182FFF2CF82EE90E02DC0809149 +:10188000ED0183FF0BC08091ED0184FDEBCF87EE6E +:1018900090E022C08091ED0183FFF5CF86EE90E0CD +:1018A0001BC08091ED0185FF07C089E290E014C064 +:1018B0008091ED0185FFF9CF85E390E00DC0809127 +:1018C000ED0186FF07C08AE290E006C08091ED013D +:1018D00086FFF9CF81E390E00E94710908950C948E +:1018E000E407E82FF0E0EB5EFE4F8081E82FEF7019 +:1018F000F0E082958F7021E030E0A90102C0440F32 +:10190000551F8A95E2F740A308950F931F93CF9335 +:10191000DF9385B7806885BF85B7806885BFC3E0E2 +:10192000D0E001E010E0FE01EB5EFE4F8081E82F89 +:10193000EF70F0E021A182958F70A80102C0440FE2 +:10194000551F8A95E2F7CA01822B81A38C2F0E9432 +:10195000710C219740F785E090E061E070E0FC01B8 +:10196000E75EFE4F2081E22FEF70F0E042A122956A +:101970002F70DB0102C0AA0FBB1F2A95E2F79D0161 +:10198000242B22A3019758F7DF91CF911F910F913C +:101990000C944909EF92FF920F931F93CF93DF931B +:1019A00004E511E0C3E0EE24E394F12CD5E08C2FA4 +:1019B0000E94710C85E090E040E0FC01E75EFE4F84 +:1019C0005081E52FEF70F0E020A130E052955F707C +:1019D00002C0359527955A95E2F720FD07C097017B +:1019E000082E01C0220F0A94EAF7422B019728F72C +:1019F000F80182918F01841719F04083D093000180 +:101A00008C2F0E94710CC15090F68091000187FDCF +:101A100032C09091CF0190FF10C0282F332727FDAF +:101A200030953F938F9383EF91E09F938F930E9424 +:101A3000D3070F900F900F900F908091000181506D +:101A40008093000187FD07C08FE99FE00197F1F7C0 +:101A500000C0000010C08091530180935701809115 +:101A600052018093560180915101809355018091DC +:101A70005001809354010E944B0981E0DF91CF9186 +:101A80001F910F91FF90EF90089591E001C0990F81 +:101A90008A95EAF723E030E080E061E070E0F90148 +:101AA000EC5AFE4F4081492339F0AB01022E01C0B0 +:101AB000440F0A94EAF7842B2150310980F70895E6 +:101AC0000F931F93CF93DF938091CF0180FF04C0CA +:101AD00084ED91E00E943A07C0E0D0E00CEB11E009 +:101AE0008091CF0180FF14C08C2F0E94450D90E0A3 +:101AF0000E94F4209F938F93DF93CF931F930F93B4 +:101B00000E94D3070F900F900F900F900F900F909F +:101B10002196C630D10521F7DF91CF911F910F910A +:101B20000895CF93DF93C5E0D0E08C2F0E94450D40 +:101B300090E00E94D220D80FC150B8F78D2FDF91CE +:101B4000CF91089580916B0108959FB7F8941092FA +:101B50005A019FBF9091E401943009F057C09091D1 +:101B6000E9009F703091EC00232F217030FD20E8B8 +:101B7000922B24E02093E9002091EB0020FF43C04A +:101B80002091EE0027FF3FC020915801222321F031 +:101B90002091E80025FF37C01092580126E03091CF +:101BA000E80035FD15C03091E401343061F5309125 +:101BB000EB0035FD28C0215021F481E080935801CD +:101BC00022C0EFE9FFE03197F1F700C00000E7CF56 +:101BD0008093F1008091E80085FD0AC08091E800C3 +:101BE00080FFFCCF8091E8008E778093E80006C0EC +:101BF0008FB7F89421E020935A018FBF9F70909384 +:101C0000E90080E008959F709093E9008FEF0895B8 +:101C1000CF93DF9300D01F92CDB7DEB79C018091A8 +:101C2000E401843019F593E099833B832A839093F0 +:101C3000E9008FEF9091E800815095FD06C095ED89 +:101C40009A95F1F700008111F5CF8091E80085FFAA +:101C50000DC040E050E063E070E0CE0101960E94CC +:101C6000CE108091E8008E778093E8000F900F905F +:101C70000F90DF91CF910895CF93DF9300D01F9203 +:101C8000CDB7DEB72091E401243021F522E029838D +:101C90009B838A8383E08093E9008FEF9091E80033 +:101CA000815095FD06C095ED9A95F1F700008111E0 +:101CB000F5CF8091E80085FF0DC040E050E063E083 +:101CC00070E0CE0101960E94CE108091E8008E77E0 +:101CD0008093E8000F900F900F90DF91CF910895BF +:101CE0002091E4012430F1F422E02093E9002FEF69 +:101CF0003091E800215035FD06C035ED3A95F1F7F9 +:101D000000002111F5CF2091E80025FF0BC040E035 +:101D100050E065E070E00E94CE108091E8008E7780 +:101D20008093E8000895CF93DF932091E40124305D +:101D300009F048C0EC0180910B018823E1F080910B +:101D40000C018823C1F085E08093E9008FEF90912A +:101D5000E800815095FD06C095E19A95F1F70000E5 +:101D60008111F5CF8091E80085FF2CC040E050E064 +:101D700060E170E017C081E08093E9008FEF9091FF +:101D8000E800815095FD06C095ED9A95F1F70000A9 +:101D90008111F5CF8091E80085FF14C040E050E04C +:101DA00068E070E0CE010E94CE108091E8008E774E +:101DB0008093E80080E1FE01ABE5B1E001900D9277 +:101DC0008A95E1F7DF91CF91089588E392E00E9430 +:101DD0003A078091E301811109C00E9463120E94B9 +:101DE000C0128091E20084608093E200089584E351 +:101DF00092E00E943A071092E301089580E392E096 +:101E00000C943A078CE292E00C943A0788E292E054 +:101E10000E943A070C944D21209159012F5F822F87 +:101E200062E30E94E72D992319F020935901089548 +:101E30001092590180915A01882371F18091E40137 +:101E4000843041F58091E9008F702091EC00922F51 +:101E5000917020FD90E8892B94E09093E900909197 +:101E6000EB0090FF14C09091EE0097FF10C090918E +:101E7000E80095FF03C01092F100F9CF9091E800BF +:101E800090FF05C09091E8009E779093E8008F70D6 +:101E90008093E90010925A01089542E061EC81E0DC +:101EA0000E94DD1142E061EC82E00E94DD1142E01F +:101EB00061EC83E00E94DD1142E261EC84E00E946B +:101EC000DD1142E161EC85E00C94DD118091E601C9 +:101ED000833009F455C030F4813071F0823009F458 +:101EE0008EC008958A3009F47AC08B3009F460C03E +:101EF000893009F09CC020C08091E501813A09F049 +:101F000096C08091E800877F8093E8008091E90186 +:101F10009091EA01892B21F460E18BE591E003C007 +:101F200060E080E090E070E00E9419118091E8008C +:101F30008B778093E80008958091E501813209F064 +:101F400076C08091E9019091EA01009719F0049719 +:101F500009F06DC08091E800877F8093E800809150 +:101F6000E80082FD05C08091E4018111F8CF5FC0D7 +:101F70008091F10080936B018091E8008B7753C0D2 +:101F80008091E501813A09F052C08091E901909178 +:101F9000EA01892B09F04BC08091E800877F80938C +:101FA000E8008091E80080FFFCCF80910B0136C0F3 +:101FB0008091E5018132D9F58091E9019091EA01A2 +:101FC000892BA9F58091E800877F8093E8000E9423 +:101FD00012128091E70180930B010C94371A8091C3 +:101FE000E501813221F58091E800877F8093E80048 +:101FF0000E9412128091E80180936C0108958091F3 +:10200000E501813AA1F48091E800877F8093E800A0 +:102010008091E80080FFFCCF80916C018093F100FB +:102020008091E8008E778093E8000C941212089556 +:1020300084B7877F84BF88E10FB6F89480936000EF +:10204000109260000FBE90E080E80FB6F894809385 +:102050006100909361000FBE0E94F2150E9463120E +:102060000E94C0128091E20084608093E20085EAC1 +:102070009DE00E94CD2078940E9445150E94F415A1 +:1020800081E091E00E94601587E192E00E943A07AA +:102090008091E401853089F483E192E00E943A075F +:1020A0000E940E218091E201882391F30E943C213D +:1020B000882371F30E94B810EBCF0E941E16E8CF60 +:1020C000292F332723303105C9F064F4213031053D +:1020D00081F02230310509F043C08DE890E022E61E +:1020E00032E042C021323105F1F02232310541F1B6 +:1020F00037C082E190E02FEE32E036C09927813080 +:10210000910541F08230910541F0892B49F5EEE5CA +:10211000F2E005C0EEE4F2E002C0ECE3F2E084910C +:1021200090E09F0121C06530D8F4E62FF0E0EE0F7B +:10213000FF1FE25DFE4F2081318189E090E014C0F5 +:10214000653070F470E0FB01EE0FFF1FEC5DFE4F99 +:1021500020813181FB01E15EFE4F808190E004C06F +:1021600080E090E020E030E0FA01318320830895A0 +:1021700080E189BD82E189BD09B400FEFDCF809177 +:10218000D8008F7D8093D8008091E000826080939A +:10219000E0008091E00081FDFCCF0895CF92DF92B6 +:1021A000EF92FF920F931F93CF93DF93EC018B017C +:1021B0006A010E943112811133C0C114D10439F077 +:1021C000F60180819181081B190BC80FD91FE12CE2 +:1021D000F12C0115110519F18091E80085FD16C05B +:1021E0008091E8008E778093E800C114D10449F013 +:1021F000F60180819181E80EF91EF182E08285E08E +:102200000FC00E943112882321F30AC08991809364 +:10221000F10001501109FFEFEF1AFF0ADACF80E059 +:10222000DF91CF911F910F91FF90EF90DF90CF90B2 +:1022300008952091EB013091EC012617370748F003 +:102240006115710539F42091E8002E772093E8009C +:1022500001C0B90140E061157105A9F12091E401C7 +:10226000222309F443C0253009F442C02091E8003C +:1022700023FD40C02091E80022FD32C02091E800FB +:1022800020FFE9CF4091F3002091F20030E0342BA1 +:10229000FC01CF016115710559F02830310540F47A +:1022A00081918093F100615071092F5F3F4FF1CF11 +:1022B00041E02830310509F040E02091E8002E7718 +:1022C0002093E800C8CF4111C9CF0AC08091E40132 +:1022D000882361F0853061F08091E80083FD0AC0B9 +:1022E0008091E80082FFF2CF80E0089582E00895B7 +:1022F00083E0089581E008952091EB013091EC0195 +:102300002617370748F06115710539F42091E80068 +:102310002E772093E80001C0B901FC0120E061158F +:10232000710591F18091E401882309F440C0853062 +:1023300009F43FC08091E80083FD3DC08091E80032 +:1023400082FD2FC08091E80080FFE9CF2091F3004B +:102350008091F20090E0922B6115710559F0883060 +:10236000910540F424912093F10031966150710958 +:102370000196F2CF21E0089709F020E08091E80073 +:102380008E778093E800CBCF2111CCCF0AC080910B +:10239000E401882361F0853061F08091E80083FDDD +:1023A0000AC08091E80082FFF2CF80E0089582E0C9 +:1023B000089583E0089581E00895982F973058F5A7 +:1023C0009093E900981739F07091EC002091ED009E +:1023D0005091F00003C0242F762F50E021FF19C048 +:1023E0003091EB003E7F3093EB003091ED003D7F6C +:1023F0003093ED003091EB0031603093EB0070933F +:10240000EC002093ED005093F0002091EE0027FFA8 +:1024100007C09F5FD3CF8F708093E90081E008955C +:1024200080E008958091E50187FF11C08091E80068 +:1024300082FD05C08091E4018111F8CF11C0809127 +:10244000E8008B770BC08091E401882349F08091EC +:10245000E80080FFF8CF8091E8008E778093E80055 +:1024600008952091E4003091E50095E64091EC005C +:10247000842F817040FF22C08091E80080FD1CC045 +:102480008091E401882391F0853091F08091EB00F8 +:1024900085FD10C04091E4005091E50042175307BC +:1024A00029F39A01915011F784E0089582E008958C +:1024B00083E0089581E0089580E008954091E80068 +:1024C00042FFDECF08950E94D1120E94D912E0EEA1 +:1024D000F0E0808181608083E8EDF0E080818F779B +:1024E000808319BCA7EDB0E08C918E7F8C938081A6 +:1024F0008F7E80831092E30108950F931F93CF93F3 +:10250000DF930E94D1120E94D912C8EDD0E08881D9 +:102510008F77888388818068888388818F7D88838E +:1025200019BC1092E4011092E0011092E2011092A5 +:10253000E10100EE10E0F80180818B7F80838881CB +:102540008160888342E060E080E00E94DD11E1EE7E +:10255000F0E080818E7F8083E2EEF0E08081816018 +:102560008083808188608083F80180818E7F808372 +:10257000888180618883DF91CF911F910F910895A9 +:10258000E8EDF0E080818F7E8083E7EDF0E08081F0 +:102590008160808384E082BF81E08093E3010C94BA +:1025A0007D12E8EDF0E080818E7F80831092E20062 +:1025B00008951092DA001092E10008951F920F9290 +:1025C0000FB60F9211242F933F934F935F936F9306 +:1025D0007F938F939F93AF93BF93EF93FF938091DC +:1025E000E10082FF0BC08091E20082FF07C0809172 +:1025F000E1008B7F8093E1000E940C0F8091DA0054 +:1026000080FF1FC08091D80080FF1BC08091DA003E +:102610008E7F8093DA008091D90080FF0DC080E129 +:1026200089BD82E189BD09B400FEFDCF81E08093C0 +:10263000E4010E94E50E05C019BC1092E4010E945D +:10264000F70E8091E10080FF19C08091E20080FFC9 +:1026500015C08091E2008E7F8093E2008091E200BD +:1026600080618093E2008091D80080628093D800DE +:1026700019BC85E08093E4010E94020F8091E10083 +:1026800084FF30C08091E20084FF2CC080E189BDCE +:1026900082E189BD09B400FEFDCF8091D8008F7D15 +:1026A0008093D8008091E1008F7E8093E10080913B +:1026B000E2008F7E8093E2008091E200816080934F +:1026C000E2008091E001882311F084E007C080914E +:1026D000E30087FD02C081E001C083E08093E40154 +:1026E0000E94060F8091E10083FF29C08091E200E3 +:1026F00083FF25C08091E100877F8093E10082E025 +:102700008093E4011092E0018091E1008E7F80933C +:10271000E1008091E2008E7F8093E2008091E200F0 +:1027200080618093E20042E060E080E00E94DD1181 +:102730008091F00088608093F0000E94FE0EFF916F +:10274000EF91BF91AF919F918F917F916F915F9129 +:102750004F913F912F910F900FBE0F901F901895A2 +:102760001F920F920FB60F9211242F933F934F9306 +:102770005F936F937F938F939F93AF93BF93CF9309 +:10278000DF93EF93FF93C091E900CF708091EC004D +:10279000D82FD17080FDD0E81092E9008091F00030 +:1027A000877F8093F00078940E94F4131092E900E0 +:1027B0008091F00088608093F000CD2BCF70C093A3 +:1027C000E900FF91EF91DF91CF91BF91AF919F9180 +:1027D0008F917F916F915F914F913F912F910F90CA +:1027E0000FBE0F901F9018951F93CF93DF93CDB717 +:1027F000DEB7AA970FB6F894DEBF0FBECDBFE5EEE9 +:10280000F1E088E08E0F9091F10091938E13FBCF51 +:102810000E94660F8091E80083FF1FC18091E5014F +:102820009091E601492F50E04A30510508F015C15A +:10283000FA01EA5AFF4F0C94072E803881F0823853 +:1028400009F00BC18091E9018F708093E9008091BC +:10285000EB0085FB882780F91092E90006C0809183 +:10286000E1019091E201911182609091E800977FDF +:102870009093E8008093F1001092F100C8C0282FD7 +:102880002D7F09F0EAC0882319F0823061F0E5C09D +:102890008091E701813009F0E0C0933009F080E0D9 +:1028A0008093E2012BC08091E701811127C08091C4 +:1028B000E9018F7009F4D1C08093E9002091EB0009 +:1028C00020FF1CC0933021F48091EB00806214C083 +:1028D0009091EB0090619093EB0021E030E0A90132 +:1028E00002C0440F551F8A95E2F74093EA00109208 +:1028F000EA008091EB0088608093EB001092E90081 +:102900008091E800877F86C08111A7C01091E70100 +:102910001F778091E3008078812B8093E300809182 +:10292000E800877F8093E8000E9412128091E800FF +:1029300080FFFCCF8091E30080688093E300111159 +:1029400002C082E001C083E08093E40186C0805829 +:10295000823008F082C08091E7019091E8018C3DBF +:1029600053E0950779F583E08A838AE289834FB73C +:10297000F894DE01139620E03EE051E2E32FF0E010 +:1029800050935700E49120FF03C0E295EF703F5F42 +:10299000EF708E2F90E0EA3010F0C79601C0C0961D +:1029A0008D939D932F5F243149F74FBF8091E800AD +:1029B000877F8093E8006AE270E0CE0101960E9472 +:1029C000191114C0AE014F5F5F4F6091E9010E9481 +:1029D0006010BC01009709F440C09091E800977F17 +:1029E0009093E80089819A810E947C118091E8008F +:1029F0008B778093E80031C0803879F58091E800CA +:102A0000877F8093E8008091E0018093F1008091BE +:102A1000E8008E778093E8000E9412121EC0811198 +:102A20001CC09091E7019230C0F48091E800877F4C +:102A30008093E8009093E0010E9412128091E001DF +:102A4000811106C08091E30087FD02C081E001C0D2 +:102A500084E08093E4010E944D0F8091E80083FFA1 +:102A60000AC08091E800877F8093E8008091EB00A6 +:102A700080628093EB00AA960FB6F894DEBF0FBE7B +:102A8000CDBFDF91CF911F910895CF938091E40145 +:102A90008823A1F0C091E900CF709091EC00892FBC +:102AA000817090FD80E8C82B1092E9008091E800C9 +:102AB00083FD0E94F413CF70C093E900CF91089575 +:102AC00090937201809371010895E0917101F091EA +:102AD0007201309721F00190F081E02D099480E09F +:102AE0000895EF92FF920F931F93CF93DF93E0919E +:102AF0007101F09172013097B1F18C010280F38184 +:102B0000E02D09958091CF0182FF2DC080FF04C088 +:102B100084E294E00E943A07E80110E18EE1E82E99 +:102B200084E0F82E8091CF0180FF0BC088811F9236 +:102B30008F93FF92EF920E94D3070F900F900F9008 +:102B40000F90115021961111EDCF8091CF0180FF90 +:102B50000AC08CE194E0DF91CF911F910F91FF901B +:102B6000EF900C943A07DF91CF911F910F91FF9056 +:102B7000EF900895E0917101F0917201309721F08A +:102B80000480F581E02D0994089520916F01309122 +:102B900070018217930771F09093700180936F0119 +:102BA000E0917101F0917201309721F00680F78178 +:102BB000E02D0994089520916D0130916E018217E6 +:102BC000930771F090936E0180936D01E091710114 +:102BD000F0917201309721F00084F185E02D099485 +:102BE000089508950C94F1150E9481210E94850C8E +:102BF0000E9443220E94E22B81E080930C01089501 +:102C0000CF93DF931F92CDB7DEB79091CF0192FFA4 +:102C100010C090FF0EC01F928F9326E334E03F93C5 +:102C20002F9389830E94D3070F900F900F900F90DE +:102C300089810F90DF91CF910C946F0CCF92DF922E +:102C4000EF92FF920F931F93CF93DF9300D000D0AA +:102C500000D0CDB7DEB70E94CA0C85E0E82EF12C7B +:102C60000E2D8E2D0E94450D97012C583E4F690167 +:102C7000F90110811827A9F4F1E0EF1AF10880F7A3 +:102C80008FEF89838A831B820E948A218160782F3B +:102C90009D838C8349815A816B818D810E94AE1600 +:102CA00032C09091CF0191FF04C08E830E94600DCD +:102CB0008E8113FD09C012FD0AC011FD0BC010FF6B +:102CC000DBCF90E011E008C093E018E005C092E08F +:102CD00014E002C091E012E099830A83812391E01D +:102CE00009F490E09B830E948A218160782F9D8364 +:102CF0008C8349815A816B818D810E94AE16F601C9 +:102D00008081182710830E94C225109173010E94B0 +:102D100065151817A1F00E9465158093730126961A +:102D20000FB6F894DEBF0FBECDBFDF91CF911F91DC +:102D30000F91FF90EF90DF90CF900C9400162696A5 +:102D40000FB6F894DEBF0FBECDBFDF91CF911F91BC +:102D50000F91FF90EF90DF90CF900895CF93DF9386 +:102D6000CDB7DEB72B970FB6F894DEBF0FBECDBF41 +:102D70004F83588769877A878B87DE01119686E0B3 +:102D8000FD0111928A95E9F785E0FE0137960190E1 +:102D90000D928A95E1F749815A816B817C818D8101 +:102DA0009E810E94D51C2B960FB6F894DEBF0FBEF5 +:102DB000CDBFDF91CF910895CF93882309F499C0B7 +:102DC000C82F8CEF8C0F813A48F48C2F0E948D2AEB +:102DD00081118FC08C2F0E94AF1F0CC080E28C0F1E +:102DE000883058F4C77081E001C0880FCA95EAF7AF +:102DF0000E945720CF910C949E208BE58C0F83303E +:102E000078F4C53A29F0C63A31F083E890E005C07D +:102E100081E890E002C082E890E0CF910C94C51563 +:102E200088E58C0F833108F064C0C83A39F1C93A9B +:102E300041F1CA3A49F1CB3A51F1CC3A59F1CD3A84 +:102E400061F1C03B69F1CE3A71F1CF3A79F1C13B02 +:102E500081F1C23B89F1C33B91F1C43B99F1C53B80 +:102E6000A1F1C63BA9F1C73BB1F1C83BB9F1C93BE0 +:102E7000C1F1CA3BC9F180E090E038C082EE90E039 +:102E800035C089EE90E032C08AEE90E02FC085EB2D +:102E900090E02CC086EB90E029C087EB90E026C044 +:102EA0008CEC90E023C08DEC90E020C083E891E0B2 +:102EB0001DC08AE891E01AC082E991E017C084E958 +:102EC00091E014C081E292E011C083E292E00EC072 +:102ED00084E292E00BC085E292E008C086E292E0D4 +:102EE00005C087E292E002C08AE292E0CF910C94A2 +:102EF000DB15CF910895882329F19CEF980F913A23 +:102F000018F40E9402200DC090E2980F983058F4F7 +:102F1000877091E001C0990F8A95EAF7892F0E9486 +:102F20005D200C949E209BE5980F933020F480E068 +:102F300090E00C94C515885A833120F480E090E02D +:102F40000C94DB150895882321F00E9457200C94DF +:102F50009E200895882321F00E945D200C949E20DD +:102F600008957F928F929F92AF92BF92CF92DF92FD +:102F7000EF92FF920F931F93CF93DF931F92CDB7E2 +:102F8000DEB77C01C62E772EFC01058102950F70FD +:102F9000128111110E9474200E94A81F882379F0C9 +:102FA000112369F080E28C0D883048F082E00E94A5 +:102FB000911F0E94A81F91E0D82ED92601C0D12CC4 +:102FC000E72DE295EF70F0E0E05AFF4F0C94072EEA +:102FD000872D807F072D0F70882311F00295007FC9 +:102FE000112389F0002309F499C180E28C0D883007 +:102FF00020F4802F0E94572003C0802F0E9467205A +:103000000E949E208BC18C2D0E947B17002309F407 +:10301000C3C180E28C0D883020F4802F0E945D2097 +:1030200003C0802F0E946D200E949E20B5C1872D75 +:10303000807F972D9F70803211F4892F03C0892FD4 +:103040008295807FCC2021F0F1E0CF16A1F01DC049 +:10305000112339F0002319F1013009F50E9487206E +:103060009BC1002319F0013009F496C189830E94A5 +:103070008A20898110C1112321F0063008F08CC10B +:103080000EC0053008F088C106C1112359F0002395 +:1030900031F0F701958190FF41C19F7095830E94A7 +:1030A000A3177AC1002309F4F6C03EC1872D869587 +:1030B0008695837090E0009719F0019761F06CC1DC +:1030C000112321F08C2D972D937002C080E090E0A9 +:1030D0000E94C51561C1112321F08C2D972D93708D +:1030E00002C080E090E00E94DB1556C18C2D1123B8 +:1030F00019F00E94482402C00E94B0240E94352585 +:103100004BC1872D837009F052C0111145C18C2D20 +:10311000829586958770880F880F9C2D9F70892EC9 +:10312000912CA12CB12C082E04C0880C991CAA1C2F +:10313000BB1C0A94D2F7C4FE14C00FE010E020E0DC +:1031400030E0B901A80104C0440F551F661F771F66 +:103150008A95D2F7CB01BA016095709580959095CC +:1031600003C060E070E0CB01272D269526952370E3 +:1031700030E02230310569F02330310589F06829CB +:1031800079298A299B292130310571F00E941D1E61 +:1031900003C1682979298A299B290E94391EFCC00C +:1031A0000E941D1EC501B4010E94011EF5C011231D +:1031B00019F0872D817001C08695882309F4ECC031 +:1031C0008C2D829586958770880F880F9C2D9F7017 +:1031D000892E912CA12CB12C082E04C0880C991C8E +:1031E000AA1CBB1C0A94D2F7C4FE14C00FE010E066 +:1031F00020E030E0B901A80104C0440F551F661F4C +:10320000771F8A95D2F7CB01BA01609570958095AA +:10321000909503C060E070E0CB01272D26952695A0 +:103220002370422F50E04230510569F04330510580 +:1032300089F0682979298A299B294130510571F043 +:103240000E94F71EA9C0682979298A299B290E9412 +:10325000131FA2C00E94F71EC501B4010E94DB1E0D +:103260009BC08C2D90E0FC01E05EF109E531F10599 +:1032700008F050C0E059FF4F0C94072E0C2D0F7032 +:10328000872D8F71112321F00E94741E802F07CF8C +:103290000E94951E802F0E94AA177EC0112341F024 +:1032A000053008F079C0872D8F710E94BA1E74C056 +:1032B000063008F071C0F7CF112339F0872D8F71D8 +:1032C0000E94741E69C01123C9F3872D8F710E945B +:1032D000951E62C0112329F0872D8F710E945F1EF9 +:1032E0005BC00E94551E58C0112351F0172D1F714D +:1032F000812F0E94741E63E0812F0E94881F4CC0A2 +:1033000081E00E94911F023008F446C082E00E94D2 +:10331000911F42C0112331F0002381F28C2D0E94B5 +:10332000DC163AC0002389F28C2D0E947B1734C032 +:10333000472D4F706C2DC7010E9428080E94791DEF +:103340002BC0111129C0472D4F7050E0423051055C +:10335000B9F04CF44115510581F041305105E1F4CB +:103360000E941D2C19C04330510569F044305105AD +:1033700099F48C2D0E94A82C0FC00E94F32B0CC036 +:103380000E944C2C09C00E94722C06C0472D4F7021 +:103390006C2DC7010E942708DD20F9F00E94841FD0 +:1033A00080FD1BC0F70112820E947E1F0E94741EC6 +:1033B000C7010E94FC190E947E1F0F90DF91CF91E0 +:1033C0001F910F91FF90EF90DF90CF90BF90AF9043 +:1033D0009F908F907F900C94951E0F90DF91CF91CE +:1033E0001F910F91FF90EF90DF90CF90BF90AF9023 +:1033F0009F908F907F9008950F931F93CF93DF93AB +:10340000EC01888199812B813C81232BB9F09F3F6E +:1034100011F48F3F99F0CE010E94A108882371F02A +:10342000688179818A810E947A1F8C010E942F1FF6 +:103430000E94F61DB801CE010E94B117DF91CF9115 +:103440001F910F9108950E9474200E9484200E9471 +:1034500049200E949E200E9468260E94352580E017 +:1034600090E00E94C51580E090E00C94DB150E946E +:1034700064200C94231A0E946F1F292F22952F700D +:1034800030E02C3031054CF42A3031056CF42250F8 +:10349000310922303105A8F407C02C30310569F01C +:1034A0002F30310551F00DC0803F69F018F4803E97 +:1034B00040F409C0843F29F406C093FB882780F9B3 +:1034C000089580E0089581E00895CF93DF9300D0C0 +:1034D00000D01F92CDB7DEB70F900F900F900F90D6 +:1034E0000F90DF91CF910895CF93DF9300D000D05C +:1034F00000D0CDB7DEB726960FB6F894DEBF0FBE6C +:10350000CDBFDF91CF9108951F93CF93DF93C091EB +:103510007A0116E080917B01C81799F0D0E01C9FDA +:10352000F0011D9FF00D1124E458FE4F40815181A0 +:1035300062817381848195810E94741A2196C7707B +:10354000E9CFDF91CF911F9108954091AC01509147 +:10355000AD016091AE017091AF018091B001909189 +:10356000B1010C94741A8091B10182958F7009F0A9 +:1035700054C08091AE01882309F44FC080917A0134 +:10358000A0917B016091AC017091AD014091AF01C0 +:103590005091B001B6E08A1709F43FC090E04115A0 +:1035A0005105C1F17F3F11F46F3FA1F1B89FF001C8 +:1035B000B99FF00D1124E458FE4F218172132AC0E7 +:1035C0002081621327C02281211124C023813481EC +:1035D0002417350710F421503109241B350B283CE2 +:1035E0003105C0F42091B1012F7020612093B10109 +:1035F00026E0289FF001299FF00D1124EF57FE4F80 +:1036000080818F70806180838CEA91E00E94FC1938 +:103610000C94841A01968770BECF0895CF92DF92E2 +:10362000EF92FF920F931F93CF93DF93CDB7DEB747 +:1036300062970FB6F894DEBF0FBECDBF8C0185E058 +:10364000F801DE011D9601900D928A95E1F7D801EF +:103650004C9111965C91119712966C91129713965A +:10366000CD90DC9014973091AC017091AD018091B8 +:10367000AF019091B001009709F46BC17F3F19F43D +:103680003F3F09F466C1E090AE01EE2009F4C0C0EE +:103690002091B101C816D90628F0F601E81BF90BF4 +:1036A000CF0104C0809590958C0D9D1DFF24F3944F +:1036B000883C910578F0F12C207F09F0C6C07C2D64 +:1036C000D98AC88A89890E94651A8CEA91E00E9489 +:1036D000FC19B1C0822F807F09F046C0751314C059 +:1036E000341312C0611110C02F7020612093B101FA +:1036F0000E94A51A8CEA91E00E94FC198091B10108 +:10370000D80115968C932EC0CD2819F15F3F11F486 +:103710004F3FF9F0F62E61111CC080917A01209183 +:103720007B0136E0821709F45AC090E0389FF0011F +:10373000399FF00D1124E458FE4F7181571306C0D4 +:103740007081471303C07281711103C001968770A5 +:10375000E9CFF62E662309F418C18091B10181608A +:103760008093B101F12C11C1751308C0341306C048 +:10377000611104C08091B101D801C3C04D875E873B +:103780008D859E856A8B0E943B1A6A898823E1F1A8 +:103790006623D1F12091B101822F82958F7090E044 +:1037A000029774F08091AC019091AD0198878F835E +:1037B0001986DB86CA862C87CE0107960E94FC19E3 +:1037C00086E0F801ACEAB1E001900D928A95E1F74C +:1037D0000E94B31A0E94A51AFF24F394D6C04D8705 +:1037E0005E878D859E850E946F1F292F22952F70E1 +:1037F00030E0223031050CF0BCC09F7009F0B6C03B +:10380000805E883008F4C1C0C8010E94FC19E4CF72 +:10381000C816D90608F453C0F601E81BF90BCF010E +:10382000883C910508F450C0F12C7C2DD98AC88AB7 +:1038300089890E94651AECEAF1E086E0DF011D92B9 +:103840008A95E9F70E94A51AA0C0751314C0341315 +:1038500012C0611110C08091B101F8018583C801C7 +:103860000E94FC1986E0ECEAF1E0DF011D928A95E6 +:10387000E9F7FE2C8AC04D875E878D859E856A8B11 +:103880000E943B1A6A89882309F4BECF662309F493 +:10389000BBCF2091B101822F82958F7090E002976B +:1038A0000CF48ECF8091AC019091AD019A83898305 +:1038B0001B82DD82CC822E83CE0101967FCF809544 +:1038C00090958C0D9D1DACCFF62E662309F49CCFF0 +:1038D00075132EC034132CC02091B10120FD1FC0E0 +:1038E000822F82958F70D9F0D80115962C93159759 +:1038F0008F3049F08F5F982F9295907F822F8F7035 +:10390000892B15968C93C8010E94FC1986E0F8015A +:10391000ACEAB1E001900D928A95E1F793CF86E091 +:10392000F801ACEAB1E001900D928A95E1F72DC063 +:103930004D875E878D859E850E943B1A811140CF01 +:103940008091B10181608093B101C8010E94FC198E +:103950001CC0662309F458CF4D875E878D859E85F0 +:103960000E943B1A882309F44FCF2ACF811148CFF8 +:103970000CC0243031050CF047CF9F7009F440CFC4 +:10398000F8019581907F09F03BCF8F2D62960FB69D +:10399000F894DEBF0FBECDBFDF91CF911F910F9185 +:1039A000FF90EF90DF90CF9008951F93CF93DF9318 +:1039B000CDB7DEB72C970FB6F894DEBF0FBECDBFE4 +:1039C0004F83588769877A878B879C87CE010796B4 +:1039D0000E940E1B882369F08F8198852A853B857C +:1039E000232BF1F19F3F09F063C08F3F09F060C0C6 +:1039F00037C086E0FE013796DE01119601900D92E8 +:103A00008A95E1F76F817885EA85FB85309741F1EA +:103A10007F3F11F46F3F21F120917B0130E0C9011C +:103A200001968770992740917A0150E08417950795 +:103A300009F447C069837A83FD83EC8396E0929F03 +:103A4000D001939FB00D1124A458BE4FFE013196B2 +:103A500001900D929A95E1F780937B010E94841A60 +:103A600016E080917A0190917B018917C1F1189F2E +:103A7000C001112484589E4F0E940E1B882379F1A7 +:103A8000E0917A011E9FF0011124E458FE4F40811D +:103A9000518162817381848195810E94741A809121 +:103AA0007A0190E001968770992780937A01D9CFA7 +:103AB0004F81588569857A858B859C850E94741A0B +:103AC000CFCF0E94371A10927B0110927A01ECEA54 +:103AD000F1E086E0DF011D928A95E9F7C1CF2C96CF +:103AE0000FB6F894DEBF0FBECDBFDF91CF911F910F +:103AF0000895EF92FF920F931F93CF93DF938C0162 +:103B0000009709F46CC0F12CEE24E394E8012196AF +:103B1000F8018491843740F4843008F051C081303A +:103B200081F0823019F15BC0853709F444C0A8F1F7 +:103B30009CE7980F903708F052C08F770E947B1750 +:103B400041C00E5F1F4FFE01C49180E28C0F883090 +:103B500048F4C7708E2D01C0880FCA95EAF70E94FD +:103B6000772014C08C2F0E94DC162DC00E5F1F4FD3 +:103B7000FE01C49180E28C0F883058F4C7708E2DFE +:103B800001C0880FCA95EAF70E947D200E949E20FE +:103B90001AC08C2F0E947B1716C00E5F1F4FFE01AC +:103BA000C491CC2381F08FE99FE00197F1F700C029 +:103BB0000000C150F6CF0E5F1F4FFE01F49003C00E +:103BC0000E94DC168E018F2D882309F49FCFEFE928 +:103BD000FFE03197F1F700C000008150F5CFDF9191 +:103BE000CF911F910F91FF90EF90089508956093EA +:103BF000B6017093B7018093B8019093B9010C940A +:103C0000231A0F931F930091B6011091B7012091D1 +:103C1000B8013091B901DC01CB01802B912BA22B93 +:103C2000B32B8093B6019093B701A093B801B093E2 +:103C3000B9011F910F910C94231A0F931F930091B8 +:103C4000B6011091B7012091B8013091B901DC01A2 +:103C5000CB0180239123A223B3238093B6019093B9 +:103C6000B701A093B801B093B9011F910F910C94C3 +:103C7000231A0F931F930091B6011091B701209161 +:103C8000B8013091B901DC01CB0180279127A2272F +:103C9000B3278093B6019093B701A093B801B09376 +:103CA000B9011F910F910C94231A1092B201109236 +:103CB000B3011092B4011092B5010C94231A41E0A3 +:103CC00050E060E070E004C0440F551F661F771F8E +:103CD0008A95D2F74093B2015093B3016093B40137 +:103CE0007093B5010C94231A41E050E060E070E05D +:103CF00004C0440F551F661F771F8A95D2F7809125 +:103D0000B2019091B301A091B401B091B501482BDB +:103D1000592B6A2B7B2B4093B2015093B3016093D4 +:103D2000B4017093B5010C94231A41E050E060E0B7 +:103D300070E004C0440F551F661F771F8A95D2F7A5 +:103D400040955095609570958091B2019091B30126 +:103D5000A091B401B091B501482359236A237B2374 +:103D60004093B2015093B3016093B4017093B501D5 +:103D70000C94231A41E050E060E070E004C0440F6E +:103D8000551F661F771F8A95D2F78091B2019091D7 +:103D9000B301A091B401B091B501482759276A2712 +:103DA0007B274093B2015093B3016093B4017093A9 +:103DB000B5010C94231A0F931F930091B201109137 +:103DC000B3012091B4013091B501DC01CB01802B0E +:103DD000912BA22BB32B8093B2019093B301A093AC +:103DE000B401B093B5011F910F910C94231A0F9356 +:103DF0001F930091B2011091B3012091B401309151 +:103E0000B501DC01CB0180239123A223B32380934E +:103E1000B2019093B301A093B401B093B5011F9187 +:103E20000F910C94231A0F931F930091B2011091DC +:103E3000B3012091B4013091B501DC01CB018027A1 +:103E40009127A227B3278093B2019093B301A09347 +:103E5000B401B093B5011F910F910C94231A0895EA +:103E6000CF92DF92EF92FF920F931F93CF93DF9346 +:103E70008C01C090B601D090B701E090B801F090ED +:103E8000B9018091B2019091B301A091B401B091B8 +:103E9000B501C82AD92AEA2AFB2ACFE1D0E0D70106 +:103EA000C6010C2E04C0B695A795979587950A94E0 +:103EB000D2F780FF06C0B8018C2F0E94D30B019768 +:103EC00021F4219760F780E001C08C2FDF91CF9122 +:103ED0001F910F91FF90EF90DF90CF900895CF93B7 +:103EE000DF93EC010E94301FBE010E94D30BDF91D3 +:103EF000CF910895CB010E946F1F08958091BA0160 +:103F000085958595859508958091BA018770089566 +:103F100098E0899F90011124262B2093BA010C94DC +:103F2000741E2091BA01809582238093BA01982F44 +:103F3000977069F430E0482F552747FD50952417B6 +:103F4000350729F08595859585950C94951E0895DE +:103F50009091BA01977081E009F480E00895909102 +:103F60000B01992321F090910C01911109C020912E +:103F70000D0130910E01F90132969FEF40E030C003 +:103F8000982F9695969596959F30A0F4E0910D0107 +:103F9000F0910E01E90FF11D877021E030E0A901D9 +:103FA00002C0440F551F8A95E2F7CA019181892BFF +:103FB000818308959091CF0190FF23C01F928F932A +:103FC0008DE694E09F938F930E94D3070F900F90FC +:103FD0000F900F9008959F3F39F04F5F4E3041F0A2 +:103FE00051915813F8CF0DC05111F7CF942FF5CF41 +:103FF0009F3F39F0F901E90FF11D97FDFA95828392 +:104000000895089590910B01992321F090910C014E +:10401000911109C020910D0130910E01F9013296E4 +:10402000205F3F4F30C0982F9695969596959F307C +:10403000A8F4E0910D01F0910E01E90FF11D8770D8 +:1040400021E030E0A90102C0440F551F8A95E2F734 +:10405000CA01809591818923818308959091CF0130 +:1040600090FF16C01F928F938FE494E09F938F93DD +:104070000E94D3070F900F900F900F9008953196E4 +:10408000E217F30729F090819813F9CF1082F7CF48 +:10409000089581E090E0E0910D01F0910E01E80FAC +:1040A000F91F1082019680319105A9F7089590912A +:1040B000CE01892B8093CE01089580959091CE01F9 +:1040C00089238093CE0108951092CE010895909196 +:1040D000CD01892B8093CD01089580959091CD01DC +:1040E00089238093CD0108951092CD010895909178 +:1040F000CC01892B8093CC01089580959091CC01BF +:1041000089238093CC0108951092CC010895809367 +:10411000BB0108951092BB01089580910D0190910B +:104120000E01FC0131969C01205F3F4F80E0919190 +:1041300091118F5FE217F307D1F70895E0910D0118 +:10414000F0910E018091CE018083E0910D01F091FC +:104150000E0190818091CD01892B8083E0910D012A +:10416000F0910E0190818091CC01892B8083809108 +:10417000BB01882361F0E0910D01F0910E01908167 +:10418000892B80830E948D2081111092BB01809128 +:104190000D0190910E010C94711590934301809341 +:1041A0004201089520E0009739F0AC0141505109D7 +:1041B000842395232F5FF7CF822F08958295982F20 +:1041C0009C7C392F36953695282F237344E0249F05 +:1041D000C0011124932F982B292F2A7A2695892FF5 +:1041E0008575880F822B08951F93CF93DF931F92BD +:1041F000CDB7DEB799830E94DE20182F9981892FD1 +:104200000E94DE20212F30E0322F2227A901482BE7 +:10421000CA010F90DF91CF911F9108958091E40121 +:10422000843039F11092D00120E488E190E00FB69B +:10423000F894A895809360000FBE2093600080E002 +:104240000E94FA0780E00E946F0C83B7817F846030 +:1042500083BF83B7816083BF7894889583B78E7F4F +:1042600083BF88E10FB6F8948093600010926000DD +:104270000FBE08950895089580E00E94FA070E94F5 +:104280003A210E94CA0C0E943B210E94910D91E0AC +:10429000811101C090E0892F08950E94371A80E0B3 +:1042A0000E94FA070E94E22B0E9465150C946F0C85 +:1042B0001F920F920FB60F9211248F939F93AF937B +:1042C000BF938091D001811113C08091D101909151 +:1042D000D201A091D301B091D4014196A11DB11D8D +:1042E0008093D1019093D201A093D301B093D401D4 +:1042F000BF91AF919F918F910F900FBE0F901F9024 +:10430000189582E084BD93E095BD9AEF97BD8093A8 +:104310006E0008952FB7F8948091D1019091D20149 +:10432000A091D301B091D4012FBF0895CF92DF9215 +:10433000EF92FF920F931F932FB7F8944091D10102 +:104340005091D2016091D3017091D4012FBF6A01C5 +:104350007B01EE24FF248C0120E030E0C016D10662 +:10436000E206F30610F4415051099A01281B390B5B +:10437000C9011F910F91FF90EF90DF90CF900895AA +:104380001F920F920FB60F9211248F939F93AF93AA +:10439000BF938091D1019091D201A091D301B091AE +:1043A000D4010196A11DB11D8093D1019093D2013A +:1043B000A093D301B093D401BF91AF919F918F91FE +:1043C0000F900FBE0F901F9018950E946312F894E3 +:1043D0002FEF87EA91E6215080409040E1F700C03E +:1043E000000087E090EBDC018093EF019093F001F7 +:1043F000A093F101B093F2019CE088E10FB6F8942C +:10440000A895809360000FBE90936000FFCFEF925D +:10441000FF920F931F93CF93DF93D82FC5E08C2F7C +:104420000E94450D03E010E0E82EF12CC701002E9C +:1044300002C0959587950A94E2F780FF09C0602F26 +:104440007C2F80E00E944D09D81302C081E006C095 +:104450000150110958F7C15010F780E0DF91CF915A +:104460001F910F91FF90EF900895CF93C82F8CE28A +:104470000E940722882321F08C2FCF910C940722D1 +:1044800080E0CF910895CF930E949723811102C0BD +:104490000E94782382E994E00E943A07C5E6C15061 +:1044A00049F00E94CA0C8FE39CE90197F1F700C024 +:1044B0000000F5CF8BE894E00E943A0789E20E9461 +:1044C0003522811113C18AE20E94352281110E9496 +:1044D000782385E00E94352281110E94E5210E9407 +:1044E000A2238093CF0187E00E9435228823A9F17F +:1044F0008BE10E943522882351F08091CF0181FB0E +:10450000222720F991E0922790FB81F90EC08EE0DE +:104510000E943522882361F08091CF0182FB2227FF +:1045200020F991E0922790FB82F98093CF0115C08A +:1045300080E10E9435229091CF01882341F093FBC6 +:10454000222720F981E0822780FB93F904C0892F7C +:10455000809580FB90F99093CF018091CF010E94CC +:10456000A6230E94B4238093ED0180EE0E943522A1 +:10457000882341F08091ED01982F909590FB80F970 +:104580008093ED0189E30E943522882359F08091C0 +:10459000ED0181FB222720F991E0922790FB81F920 +:1045A0008093ED0182EE0E943522882359F080919C +:1045B000ED0182FB222720F991E0922790FB82F9FE +:1045C0008093ED0186EE0E943522882359F0809178 +:1045D000ED0183FB222720F991E0922790FB83F9DC +:1045E0008093ED0183EE0E943522882359F080915B +:1045F000ED0184FB222720F991E0922790FB84F9BA +:104600008093ED0185E30E943522882359F0809143 +:10461000ED0185FB222720F991E0922790FB85F997 +:104620008093ED0181E30E943522882359F0809127 +:10463000ED0186FB222720F991E0922790FB86F975 +:104640008093ED0181E10E943522882359F0809109 +:10465000ED0187FB222720F991E0922790FB87F953 +:104660008093ED018091ED010E94B8238091ED01CE +:1046700087FB882780F980930C0187E20E9435220E +:10468000C82F8EE10E9435228111C2608FE10E9405 +:1046900035228111C46080E20E9435228111C860F8 +:1046A00081E20E9435228111C06182E20E9435229E +:1046B0008111C06283E20E9435228111C06484E2CC +:1046C0000E943522882311F0C06802C0CC2329F053 +:1046D0008C2F0E94AF236C2F03C00E94AB23682F46 +:1046E00070E080E090E0CF910C94F71DCF91089599 +:1046F0006DEE7EEF80E090E00E94412E60E082E06F +:1047000090E00E942F2E60E083E090E00E942F2E28 +:1047100060E084E090E00E942F2E60E085E090E071 +:104720000E942F2E60E086E090E00C942F2E80E017 +:1047300090E00E94292E21E08D3E9E4F09F020E05E +:10474000822F089582E090E00C94212E682F82E061 +:1047500090E00C942F2E83E090E00C94212E682F93 +:1047600083E090E00C942F2E84E090E00C94212EB6 +:10477000682F84E090E00C942F2E86E090E00C945B +:10478000212E682F86E090E00C942F2E8091D70187 +:1047900080FF0BC06091120185E0689FB001112479 +:1047A00075956795759567952BC081FF09C06091D8 +:1047B000120185E0689FB00111247595679520C0AE +:1047C00082FF07C06091120185E0689FB00111244B +:1047D00017C09091D8019923D1F0609111019617DB +:1047E00088F72091120185E0289F90011124929F63 +:1047F000A001939F500D112470E0CA010E94F32D77 +:104800006038710540F46115710539F002C065E04A +:1048100070E0862F08958FE7089581E008958091D4 +:10482000D70180FF08C06091100170E07595679511 +:104830007595679521C081FF06C06091100170E0F9 +:104840007595679519C082FF04C06091100170E0F2 +:1048500010C09091D8019923C1F060910F01961773 +:10486000A0F780911001899FC001112470E00E947F +:10487000F32D6038710528F46115710521F0862F3C +:1048800008958FE7089581E0089561E070E0F4CF26 +:10489000803F21F40E94C623819504C0813F29F402 +:1048A0000E94C6238093DB010895823F21F40E9479 +:1048B000C623819504C0833F29F40E94C6238093B8 +:1048C000DA010895893F19F40E940F2405C08A3F38 +:1048D00031F40E940F2481958093DC0108958B3F71 +:1048E00021F40E940F24819504C08C3F29F40E947A +:1048F0000F248093DD010895843F21F48091D90134 +:10490000816017C0853F21F48091D901826011C078 +:10491000863F21F48091D90184600BC0873F21F448 +:104920008091D901886005C0883F31F48091D90118 +:1049300080618093D90108958D3F21F48091D70142 +:1049400081600BC08E3F21F48091D701826005C049 +:104950008F3F29F48091D70184608093D701089517 +:10496000803F39F48091DB0187FF6CC01092DB013E +:1049700069C0813F29F48091DB011816BCF362C045 +:104980009091DA01823F29F497FF5CC01092DA011E +:1049900059C0833F19F41916CCF354C0893F41F430 +:1049A0008091DC0118160CF04DC01092DC014AC059 +:1049B0008A3F29F48091DC0187FF44C0F6CF8B3F0A +:1049C00039F48091DD0187FF3DC01092DD013AC0CE +:1049D0008C3F29F48091DD011816BCF333C0843F6D +:1049E00021F48091D9018E7F17C0853F21F48091F9 +:1049F000D9018D7F11C0863F21F48091D9018B7F31 +:104A00000BC0873F21F48091D901877F05C0883F83 +:104A100031F48091D9018F7E8093D90113C08D3FED +:104A200021F48091D7018E7F0BC08E3F21F48091BD +:104A3000D7018D7F05C08F3F29F48091D7018B7FEF +:104A40008093D7018091DA0181110EC08091DB0142 +:104A500081110AC08091DC01811106C08091DD01C5 +:104A6000811102C01092D80108958091CF0183FF77 +:104A70007EC08EEC94E00E943A078091D9011F928B +:104A80008F9389EC94E09F938F930E94D30787ECD8 +:104A900094E00E943A078091DA01282F332727FDFE +:104AA00030953F938F9384EC94E09F938F930E9473 +:104AB000D30782EC94E00E943A078091DB01282F13 +:104AC000332727FD30953F938F938FEB94E09F938F +:104AD0008F930E94D3078DEB94E00E943A07809158 +:104AE000DC01282F332727FD30953F938F938AEBE6 +:104AF00094E09F938F930E94D30788EB94E00E94E9 +:104B00003A078091DD01282F332727FD30953F9309 +:104B10008F9385EB94E09F938F930E94D30782EB52 +:104B200094E00E943A078091D8011F928F938FEAF8 +:104B300094E09F938F930E94D3078DEA94E00E94A4 +:104B40003A078091D7011F928F938AEA94E09F934E +:104B50008F930E94D30787EA94E00E943A078DB7AB +:104B60009EB74C960FB6F8949EBF0FBE8DBF89EDD1 +:104B700091E00E94BA150E948A219093D6018093F9 +:104B8000D50108951F93CF93DF938091D501909124 +:104B9000D6010E949621AC019091D801992321F071 +:104BA0002091130130E006C0209114018AE0289F73 +:104BB000900111244217530708F486C08091DA014E +:104BC000C091DB01D091DC011091DD01811107C0A2 +:104BD000C11176C0D11174C0111172C075C09F3F50 +:104BE00019F09F5F9093D801181624F40E94C623F1 +:104BF0008093DA018091DA0187FF05C00E94C62305 +:104C000081958093DA011C1624F40E94C6238093B8 +:104C1000DB018091DB0187FF05C00E94C6238195DF +:104C20008093DB016091DA01662339F1C091DB01E9 +:104C3000CC2319F1772767FD7095872F972F0E9456 +:104C4000F82C23E333E343E35FE30E945C2D0E94EF +:104C5000C52C6093DA016C2F772767FD7095872F3D +:104C6000972F0E94F82C23E333E343E35FE30E9492 +:104C70005C2D0E94C52C6093DB011D1624F40E945C +:104C80000F248093DC018091DC0187FF05C00E9426 +:104C90000F2481958093DC01111624F40E940F24C7 +:104CA0008093DD018091DD0187FF05C00E940F2404 +:104CB00081958093DD01DF91CF911F910C94352573 +:104CC0009F3F09F08ECF96CFDF91CF911F9108952E +:104CD000E9EDF1E085E0DF011D928A95E9F7109298 +:104CE000D8011092D701089581EF96E00E943A070B +:104CF0001F9281E08F931F9285E08F9383EA96E065 +:104D00009F938F930E94D3070F900F900F900F9057 +:104D10000F900F9008958330E9F128F4813061F00D +:104D2000823009F10895853009F462C008F449C061 +:104D3000863009F474C0089580911401262F30E064 +:104D4000280F311D2F3F310524F4680F60931401A3 +:104D500003C08FEF80931401809114011F928F93F1 +:104D60008CED95E072C080911301262F30E0280F62 +:104D7000311D2F3F310524F4680F6093130103C0E8 +:104D80008FEF80931301809113011F928F938AEC10 +:104D900095E05BC080911201262F30E0280F311D75 +:104DA0002F3F310524F4680F6093120103C08FEF89 +:104DB00080931201809112011F928F9387EB95E0EF +:104DC00044C080911101262F30E0280F311D2F3F64 +:104DD000310524F4680F6093110103C08FEF8093B5 +:104DE0001101809111011F928F9382EA95E02DC0ED +:104DF00080911001262F30E0280F311D2F3F310503 +:104E000024F4680F6093100103C08FEF80931001AA +:104E1000809110011F928F9389E895E016C08091D0 +:104E20000F01262F30E0280F311D2F3F310524F4CC +:104E3000680F60930F0103C08FEF80930F01809183 +:104E40000F011F928F938EE695E09F938F930E94A0 +:104E5000D3070F900F900F900F900895833081F13A +:104E600028F4813059F08230D1F00895853009F46A +:104E700049C0B8F1863009F456C0089580911401F4 +:104E8000681720F4861B8093140102C0109214014D +:104E9000809114011F928F938FE595E054C080910B +:104EA0001301681720F4861B8093130102C010922F +:104EB0001301809113011F928F938DE495E043C0FD +:104EC00080911201681720F4861B8093120102C0A2 +:104ED00010921201809112011F928F938AE395E044 +:104EE00032C080911101681720F4861B8093110154 +:104EF00002C010921101809111011F928F9385E2DF +:104F000095E021C080911001681720F4861B8093E2 +:104F1000100102C010921001809110011F928F9316 +:104F20008CE095E010C080910F01681720F4861B7B +:104F300080930F0102C010920F0180910F011F9208 +:104F40008F9381EF94E09F938F930E94D3070F90EC +:104F50000F900F900F900895CF93C82F1F928F93AB +:104F600086EF97E09F938F930E94D30781E090E0B4 +:104F7000A0E0B0E0BC01CD0104C0660F771F881F20 +:104F8000991FCA95D2F70E94F71D0F900F900F90AE +:104F90000F90CF910C94371ACF938B3109F40FC235 +:104FA00008F049C08E3009F41EC200F5873009F4BC +:104FB000E7C1A8F4863009F0A4C28091CF01817FB7 +:104FC0008E7F8093CF018EE699E00E943A0786E6B5 +:104FD0009DE00E943A0781E08093DF01CFC18830D5 +:104FE00009F45BC08B3009F4C5C18BC2813109F46F +:104FF00070C220F4803109F40AC283C2863109F4F8 +:1050000021C2893109F07DC28FE599E00E943A07FB +:1050100086E499E00E943A0780E199E00E943A070D +:1050200083EE98E00E943A078FE998E00E943A07E1 +:1050300084E798E0A1C1853309F45FC268F4873240 +:1050400009F45BC228F48E3108F45BC28D5156C25C +:10505000893209F452C255C2833438F48A3308F0D5 +:105060004AC2883309F486C14CC2833409F445C26C +:10507000883409F046C20E94371A8AE49DE00E94F3 +:105080003A079FEF23ED80E3915020408040E1F705 +:1050900000C000000E94E52171C18AE69DE00E94E7 +:1050A0003A0787EB9CE00E943A070E94AB231F92CD +:1050B0008F9384EB9CE09F938F930E94D30782EBA6 +:1050C0009CE00E943A070E94A223C82F8FE99CE02F +:1050D0000E943A071F92CF938AE99CE09F938F9397 +:1050E0000E94D30788E99CE00E943A078EE89CE082 +:1050F0000E943A078C2F81701F928F938BE89CE05F +:105100009F938F930E94D30789E89CE00E943A07FF +:105110008FE79CE00E943A07C1FB882780F91F9225 +:105120008F938CE79CE09F938F930E94D3078AE72D +:105130009CE00E943A078EE69CE00E943A07C2FB80 +:10514000882780F91F928F938BE69CE09F938F9323 +:105150000E94D30789E69CE00E943A0780E69CE023 +:105160000E943A07C3FBCC27C0F91F92CF938DE56D +:105170009CE09F938F930E94D3078BE59CE00E9455 +:105180003A070E94B423C82F87E49CE00E943A07A4 +:105190001F92CF9382E49CE09F938F930E94D3074A +:1051A00080E49CE00E943A0787E29CE00E943A0774 +:1051B0008C2F81701F928F9384E29CE09F938F933A +:1051C0000E94D3078DB79EB780960FB6F8949EBF06 +:1051D0000FBE8DBF82E29CE00E943A078BE09CE00C +:1051E0000E943A07C1FB882780F91F928F9388E0BD +:1051F0009CE09F938F930E94D30786E09CE00E94DF +:105200003A0784EF9BE00E943A07C2FB882780F9A7 +:105210001F928F9381EF9BE09F938F930E94D30700 +:105220008FEE9BE00E943A078DED9BE00E943A07CB +:10523000C3FB882780F91F928F938AED9BE09F9391 +:105240008F930E94D30788ED9BE00E943A078EEC73 +:105250009BE00E943A07C4FB882780F91F928F9336 +:105260008BEC9BE09F938F930E94D30789EC9BE08C +:105270000E943A0787EB9BE00E943A07C5FB88270C +:1052800080F91F928F9384EB9BE09F938F930E94F2 +:10529000D30782EB9BE00E943A0786E99BE00E94DD +:1052A0003A07C6FB882780F91F928F9383E99BE01A +:1052B0009F938F930E94D30781E99BE00E943A0756 +:1052C00089E89BE00E943A07C7FBCC27C0F91F92F0 +:1052D000CF9386E89BE09F938F930E94D30784E847 +:1052E0009BE00E943A070E94BD23C82F8DE69BE0F9 +:1052F0000E943A071F92CF9388E69BE09F938F937B +:105300000E94D3078DB79EB780960FB6F8949EBFC4 +:105310000FBE8DBF86E69BE00E943A078CE59BE0BE +:105320000E943A078C2F81701F928F9389E59BE032 +:105330009F938F930E94D30787E59BE00E943A07D3 +:105340008EE49BE00E943A07C6951F92CF938BE4B0 +:105350009BE09F938F930E94D30789E49BE00E9478 +:105360003A078DB79EB708960FB6F8949EBF0FBE4A +:105370008DBF04C085E999E00E943A07C1E0C6C02C +:105380008091CF01C82FC095C170C0FB80F9809378 +:10539000CF01CC2349F08EE39DE00E943A07809133 +:1053A000CF018660886048C081E39DE00E943A0793 +:1053B0008091CF01897F877F8093CF01DFCF90914C +:1053C000CF0191FBCC27C0F981E0C827892FC0FB12 +:1053D00081F98093CF01CC2319F084E29DE027C0AE +:1053E00086E19DE0C9CF9091CF0192FBCC27C0F917 +:1053F00081E0C827892FC0FB82F98093CF01CC239D +:1054000019F087E09DE013C087EF9CE0B5CF909145 +:10541000CF0193FBCC27C0F981E0C827892FC0FBBF +:1054200083F98093CF01CC2351F08BEE9CE00E9456 +:105430003A078091CF0181608093CF0167C08EEDE4 +:105440009CE09ACF86E698E00E943A070E94651594 +:105450001F928F938CE498E09F938F930E94D307C1 +:1054600080910B011F928F9385E398E09F938F9318 +:105470000E94D30780916C011F928F9382E298E083 +:105480009F938F930E94D30780910C011F928F935B +:105490008FE098E09F938F930E94D3078091D10172 +:1054A0009091D201A091D301B091D401BF93AF9359 +:1054B0009F938F938BEF97E09F938F930E94D307D7 +:1054C0008DB79EB746960FB6F8949EBF0FBE8DBFA0 +:1054D00055CF0E94371AC0910C0181E0C827C093B4 +:1054E0000C01CC2329F084ED9CE00E943A070EC009 +:1054F00089EC9CE041CF895301C080E00E94AC2739 +:105500003DCF87EC9CE00E943A07C0E08C2FCF9102 +:10551000089580E0089580E00895CF93C82F80918A +:10552000DF01813071F020F0823009F44BC042C1BC +:10553000E0910D01F0910E018081823209F03CC1B1 +:1055400007C0E0910D01F0910E018081823261F47B +:105550008C2F0E94892A811104C08C2F0E94CC2795 +:105560002FC081E090E02CC08C2F0E948B2A8111EB +:1055700026C0C431E1F070F4CB3081F0C031D1F4F9 +:105580000E9474268EEE97E00E943A0782E0809394 +:10559000DF0115C0C93259F0C83361F48EE699E0D5 +:1055A0000E943A0782EF97E00E943A0708C01092E3 +:1055B000DF0104C18CEE97E00E943A07FFC081E052 +:1055C0008170FEC0C43228F5CE3108F0C1C0CB30A6 +:1055D000A1F1D0F4C73009F0D3C08EE1809314015B +:1055E00082E3809313018AE08093120184E1809327 +:1055F000110188E08093100188E280930F0182E915 +:1056000096E00E943A07BFC0C33149F1C431C1F0EE +:10561000B7C0CB3409F4A9C028F4C93289F0C83323 +:1056200061F0AEC0C13509F49EC0C23509F499C01D +:10563000CE3409F0A5C06AE09EC00E947426A3C0C3 +:105640008091DE01882319F01092DE019CC08FE961 +:1056500096E00E943A0781E08093DF01B1C089E7BC +:1056600096E00E943A0787E696E00E943A0780910A +:1056700014011F928F9384E696E09F938F930E946C +:10568000D30782E696E00E943A0780E596E00E9402 +:105690003A07809113011F928F938DE496E09F93B8 +:1056A0008F930E94D3078BE496E00E943A078CE325 +:1056B00096E00E943A07809112011F928F9389E32E +:1056C00096E09F938F930E94D30787E396E00E9412 +:1056D0003A0786E296E00E943A07809111011F92F4 +:1056E0008F9383E296E09F938F930E94D30781E28A +:1056F00096E00E943A078CE096E00E943A0780917B +:1057000010011F928F9389E096E09F938F930E94E0 +:10571000D30787E096E00E943A0780EF95E00E9469 +:105720003A0780910F011F928F938DEE95E09F9322 +:105730008F930E94D3078BEE95E00E943A078DB7B6 +:105740009EB748960FB6F8949EBF0FBE8DBF1BC084 +:10575000CE51EC2FF0E0E85CFE4F80818093DE01BB +:1057600012C061E003C061E006C06AE08091DE0122 +:105770000E948B2608C08091DE010E942E2703C064 +:1057800080E996E013C08091DE01882369F01F92C2 +:105790008F938AE896E09F938F930E94D3070F9090 +:1057A0000F900F900F9004C087E896E00E943A0790 +:1057B00081E006C01092DF0180E002C080E000CFEF +:1057C000CF9108950E949723811102C00E947823EF +:1057D0000E94BD238093EE0180FF02C0869501C028 +:1057E00080E00C94FA078091EE01982F9695292F6E +:1057F00030E0233031054CF49F5F990F8170892B85 +:1058000081608093EE010E94C1238091CF0180FFCF +:105810000FC08091EE0186951F928F9387EB9DE0DC +:105820009F938F930E94D3070F900F900F900F902C +:105830008091EE0186950C94FA078091EE01982FE5 +:10584000969591F09158990F8170892B8093EE0174 +:105850008E7F91E009F490E08091EE0190FB80F959 +:105860008093EE010E94C1238091CF0180FF0FC081 +:105870008091EE0186951F928F938FE99DE09F9313 +:105880008F930E94D3070F900F900F900F908091ED +:10589000EE0186950C94FA078091EE01982F909571 +:1058A00090FB80F98093EE010E94C1238091CF018B +:1058B00080FF0FC08091EE0181701F928F9389E865 +:1058C0009DE09F938F930E94D3070F900F900F90AE +:1058D0000F908091EE0180FF02C0869501C080E0AC +:1058E0000C94FA079091EE01892F86958F5F8F7740 +:1058F0009170843028F4880F892B8093EE0102C0C8 +:105900009093EE018091EE018E7F91E009F490E09A +:105910008091EE0190FB80F98093EE010E94C123FB +:105920008091CF0180FF0FC08091EE0186951F927C +:105930008F9385E79DE09F938F930E94D3070F90ED +:105940000F900F900F908091EE0186950C94FA07BE +:105950002091EE01922F96958927982F990F822FEB +:105960008170892B8093EE018E7F91E009F490E0A5 +:105970008091EE0190FB80F98093EE010E94C1239B +:105980008091EE0186950C94FA0704D06894B111C9 +:105990008DC0089570D088F09F5790F0B92F992747 +:1059A000B751A0F0D1F0660F771F881F991F1AF02A +:1059B000BA95C9F712C0B13081F077D0B1E008953F +:1059C00074C0672F782F8827B85F39F0B93FCCF3C0 +:1059D000869577956795B395D9F73EF49095809520 +:1059E000709561957F4F8F4F9F4F0895E89409C040 +:1059F00097FB3EF490958095709561957F4F8F4F02 +:105A00009F4F9923A9F0F92F96E9BB279395F69517 +:105A1000879577956795B795F111F8CFFAF4BB0F95 +:105A200011F460FF1BC06F5F7F4F8F4F9F4F16C0F9 +:105A3000882311F096E911C0772321F09EE8872F83 +:105A4000762F05C0662371F096E8862F70E060E03F +:105A50002AF09A95660F771F881FDAF7880F9695B8 +:105A6000879597F9089557FD9058440F551F59F0A1 +:105A70005F3F71F04795880F97FB991F61F09F3F3B +:105A800079F087950895121613061406551FF2CF64 +:105A90004695F1DF08C0161617061806991FF1CFB4 +:105AA00086957105610508940895E894BB276627DB +:105AB0007727CB0197F908950BD078C069D028F0EB +:105AC0006ED018F0952309F05AC05FC01124EECFB4 +:105AD000CADFA0F3959FD1F3950F50E0551F629F49 +:105AE000F001729FBB27F00DB11D639FAA27F00D37 +:105AF000B11DAA1F649F6627B00DA11D661F829F5E +:105B00002227B00DA11D621F739FB00DA11D621F42 +:105B1000839FA00D611D221F749F3327A00D611D5F +:105B2000231F849F600D211D822F762F6A2F112441 +:105B30009F5750408AF0E1F088234AF0EE0FFF1F94 +:105B4000BB1F661F771F881F91505040A9F79E3FCB +:105B5000510570F014C0AACF5F3FECF3983EDCF320 +:105B6000869577956795B795F795E7959F5FC1F708 +:105B7000FE2B880F911D9695879597F9089597F9B3 +:105B80009F6780E870E060E008959FEF80EC0895E3 +:105B900000240A941616170618060906089500240C +:105BA0000A9412161306140605060895092E039486 +:105BB000000C11F4882352F0BB0F40F4BF2B11F4FA +:105BC00060FF04C06F5F7F4F8F4F9F4F0895991BF9 +:105BD00079E004C0991F961708F0961B881F7A95E4 +:105BE000C9F78095089597FB072E16F4009407D007 +:105BF00077FD09D00E940D2E07FC05D03EF490954C +:105C000081959F4F0895709561957F4F0895EE0F90 +:105C1000FF1F0590F491E02D0994AA1BBB1B51E1D5 +:105C200007C0AA1FBB1FA617B70710F0A61BB70B0C +:105C3000881F991F5A95A9F780959095BC01CD01B1 +:105C40000895F999FECF92BD81BDF89A992780B544 +:105C50000895A8E1B0E042E050E00C94492E262FD0 +:105C6000F999FECF92BD81BDF89A019700B4021652 +:105C700039F01FBA20BD0FB6F894FA9AF99A0FBE00 +:105C800008950196272F0E94302E0C942F2EDC01B0 +:105C9000CB01FC01F999FECF06C0F2BDE1BDF89A37 +:105CA000319600B40D9241505040B8F70895F894E1 +:025CB000FFCF24 +:105CB200FFA20D930E700E3C0E080E0101BC0128CE +:105CC20008140A321E031323330F1F4F5F6F7F3FE7 +:105CD2004D362039DD0390035A033A03010374025F +:105CE2008D02A602BF02DF020102030405060708B5 +:025CF2000900A7 +:00000001FF diff --git a/keyboards/arrow_pad/keymaps/default/keymap.c b/keyboards/arrow_pad/keymaps/default/keymap.c new file mode 100644 index 0000000000..5647f75afe --- /dev/null +++ b/keyboards/arrow_pad/keymaps/default/keymap.c @@ -0,0 +1,163 @@ +// 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, KM_EQU, \ + 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_NUM, KM_FSL, KM_AST, KM_MIN }, \ + { KM___7, KM___8, KM___9, KM_EQU }, \ + { KM___4, KM___5, KM___6, KM_PLS }, \ + { KM___1, KM___2, KM___3, KC_NO }, \ + { KM___0, KC_NO, KM_DOT, KM_ENT } \ +} + +#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, KC_PEQL, \ + KC_P4, KC_P5, KC_P6, KC_PPLS, \ + KC_P1, KC_P2, KC_P3, XXXXXXX, \ + KC_P0, KC_PCMM, 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, KC_LALT, \ + KC_LEFT, M_COPY, KC_RGHT, KC_LCTL, \ + KC_END, KC_DOWN, KC_PGDN, XXXXXXX, \ + KC_BSPC, KC_PENT, KC_DEL, M_SHFCT), + +[LAYER_FUNCTION] = KEYMAP( \ + KC_FN2, KC_FN3, KC_FN4, _______, \ + KC_FN1, _______, _______, _______, \ + _______, _______, _______, _______, \ + _______, _______, _______, _______, \ + _______, _______, _______, XXXXXXX, \ + RESET, _______, _______, _______ ), + +}; + + +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< + +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 . +*/ + +#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/keyboards/arrow_pad/keymaps/pad_21/keymap.c b/keyboards/arrow_pad/keymaps/pad_21/keymap.c new file mode 100644 index 0000000000..28917a5d9e --- /dev/null +++ b/keyboards/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< + +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 . +*/ + +#ifndef CONFIG_H +#define CONFIG_H + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0xFEED +#define PRODUCT_ID 0x4096 +#define DEVICE_VER 0x0001 +#define MANUFACTURER Nobody +#define PRODUCT Arrow Pad 24 +#define DESCRIPTION 24-Key QMK Assistant + +/* key matrix size */ +#define MATRIX_ROWS 6 +#define MATRIX_COLS 4 + +/* + * 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 { F0, F1, F4, F5, F6, F7 } +#define MATRIX_COL_PINS { B0, B1, B2, B3 } +#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/keyboards/arrow_pad/keymaps/pad_24/keymap.c b/keyboards/arrow_pad/keymaps/pad_24/keymap.c new file mode 100644 index 0000000000..5647f75afe --- /dev/null +++ b/keyboards/arrow_pad/keymaps/pad_24/keymap.c @@ -0,0 +1,163 @@ +// 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, KM_EQU, \ + 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_NUM, KM_FSL, KM_AST, KM_MIN }, \ + { KM___7, KM___8, KM___9, KM_EQU }, \ + { KM___4, KM___5, KM___6, KM_PLS }, \ + { KM___1, KM___2, KM___3, KC_NO }, \ + { KM___0, KC_NO, KM_DOT, KM_ENT } \ +} + +#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, KC_PEQL, \ + KC_P4, KC_P5, KC_P6, KC_PPLS, \ + KC_P1, KC_P2, KC_P3, XXXXXXX, \ + KC_P0, KC_PCMM, 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, KC_LALT, \ + KC_LEFT, M_COPY, KC_RGHT, KC_LCTL, \ + KC_END, KC_DOWN, KC_PGDN, XXXXXXX, \ + KC_BSPC, KC_PENT, KC_DEL, M_SHFCT), + +[LAYER_FUNCTION] = KEYMAP( \ + KC_FN2, KC_FN3, KC_FN4, _______, \ + KC_FN1, _______, _______, _______, \ + _______, _______, _______, _______, \ + _______, _______, _______, _______, \ + _______, _______, _______, XXXXXXX, \ + RESET, _______, _______, _______ ), + +}; + + +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<