diff options
-rw-r--r-- | keyboard/ergodox_ez/keymaps/naps62/README.md | 29 | ||||
-rw-r--r-- | keyboard/ergodox_ez/keymaps/naps62/ergodox_ez.hex | 1474 | ||||
-rw-r--r-- | keyboard/ergodox_ez/keymaps/naps62/keymap.c | 187 |
3 files changed, 1690 insertions, 0 deletions
diff --git a/keyboard/ergodox_ez/keymaps/naps62/README.md b/keyboard/ergodox_ez/keymaps/naps62/README.md new file mode 100644 index 000000000..14728e4cc --- /dev/null +++ b/keyboard/ergodox_ez/keymaps/naps62/README.md @@ -0,0 +1,29 @@ +# ErgoDox EZ naps62 Configuration + +## Motivation + +I wanted a layout that suited my Linux & Vim usage. I also didn't like the lack of efficient access to some of the more common special characters used in programming. + +## Key features / changes + +### Base Layer (L1) + +* **No `MT(mod, kc)` keys (modifier when pressed, key when tapped).** Those keys work with a global timeout. When a key press is shorter than the timeout, it's considered a tap, otherwise it's a hold. I couldn't find any particular timeout that would work for me. I need to use mods extremely fast, but also want the confort of using them more slowly in other occasions. So I gave up on this feature altogether. +* **Direct access to `{}[]`.** When programming, these are used extremely often. I was still getting used to the coder layer, and I prefer the arrows on the home row, so I used the bottom-right keys for this. +* **Layer keys everywhere.** I either use my little finger or my index finger to go to L1, whichever is more confortable in any given situation. L2 is not used while coding/writing, so I don't need an extremely-optimized access to it. +* **Lang key.** This is nothing more than `Super-Space` combo, which in my systems (both Linux & Windows) is the shortcut to change the keyboard language. I'm Portuguese, so I often cycle between US layout for coding, and PT layout for writing. +* **Special chars on the right-most column.** I only use Ctrl & Shift keys on the left side, so I used the right keys to include some of the more useful special characters as well. + +### Coder Layer (L2) + +* The `=` and `-` signs where nowhere to be found. `-` was already on the base layer, but it's still useful to have a fully-featured NumPad on the coder layer. + +### Media Layer (L3) + +* **Better media keys**. Why was Play/Pause so far away? And where was Mute? I put all my media keys close to each other, including the missing ones +* **Arrow keys on home row.** I use vim, so I'm always on my home row. I use this sometimes to get around, but not as often as to need them on the base row. I'm fine with them here +* I don't use mouse keys. They're still set up, and I made some changes as an experiment, but I mostly forgot they exist by now. + +## Author + +[Miguel Palhas](https://github.com/naps62) diff --git a/keyboard/ergodox_ez/keymaps/naps62/ergodox_ez.hex b/keyboard/ergodox_ez/keymaps/naps62/ergodox_ez.hex new file mode 100644 index 000000000..e5f213ba8 --- /dev/null +++ b/keyboard/ergodox_ez/keymaps/naps62/ergodox_ez.hex @@ -0,0 +1,1474 @@ +:100000000C9402070C9449070C9449070C94490777
+:100010000C9449070C9449070C9449070C94490720
+:100020000C9449070C9449070C9472120C944413D5
+:100030000C9449070C9449070C9449070C94490700
+:100040000C9449070C94082C0C9449070C9449070C
+:100050000C9449070C9401220C9449070C9449070D
+:100060000C9449070C9449070C9449070C944907D0
+:100070000C9449070C9449070C9449070C944907C0
+:100080000C9449070C9449070C9449070C944907B0
+:100090000C9449070C9449070C9449070C944907A0
+:1000A0000C9449070C9449070C944907B113D313D6
+:1000B000C614D313C61418143B14C6149014A314F6
+:1000C000F117F1172018201863189D18AA1AAA1AF8
+:1000D000B618AA1AAB19AB197E1AAA1AAA1A951A37
+:1000E0000000F0A12D002B002971E100C1000000EB
+:1000F0001E00140004001D003500E2001F001A005D
+:1001000016001B003400E000200008000700060075
+:1001100050002C0021001500090019004F82E30057
+:10012000220017000A00050000004A812C08015433
+:100130000000007F00004D8249000254000000775B
+:1001400000004B8223001C000B00110000004E81B8
+:10015000240018000D0010002F024C0025000C0098
+:100160000E00360030022C00260012000F0037006F
+:100170002F002800270013003300380030002A0029
+:100180002D00310034712D72C1000000010001000A
+:1001900001000100010000003A001E0220022202BC
+:1001A000010001003B001F022102230201000100A7
+:1001B0003C002F0226022F00010001003D0030020A
+:1001C00027023000010001003E00310235003502F7
+:1001D000000001000100010000000100000001001A
+:1001E0000100010000000100000001003F0052007A
+:1001F00051002402000001004000240021001E00E4
+:100200002E0001004100250022001F0037000100E0
+:1002100042002600230020002700010043002502A1
+:100220002E0231002D0001004400450001000100B4
+:100230000100000000500100010001000100000069
+:1002400001000100040801000100010001001A087A
+:10025000160801000100F500010008080708010068
+:100260000100F4000100F400F100010001000100B0
+:1002700001001708F3000100000001000100010067
+:100280000000010000000100010001000000010069
+:100290000000010001000100F20001000000010067
+:1002A0000100F400F100AA00AE0001000100F50019
+:1002B000F000A900AC00B70001000100F300A800A5
+:1002C000AB00B600010001000100010001000100C7
+:1002D0000100010001000100010000000A002530BA
+:1002E000313662003A200025303258000A722F63FE
+:1002F0002030313233343536373839414243444582
+:10030000460A000A002530325800626F756E636538
+:10031000213A20006C6566742073696465206174FD
+:100320007461636865640A006C656674207369644F
+:1003300065206E6F7420726573706F6E64696E678E
+:100340000A00747279696E6720746F207265736534
+:1003500074206D637032333031380A000A444542EC
+:1003600055473A20656E61626C65642E0A005B73C6
+:100370005D004B6579626F617264207374617274A1
+:100380002E0A005B575D005B535D005B525D005BB6
+:10039000445D005B435D0016034500720067006F1B
+:1003A0000044006F007800200045005A000000164D
+:1003B000034500720067006F0044006F0078002062
+:1003C0000045005A0000000403090409028D0005DD
+:1003D0000100A0FA09040000010301010009211134
+:1003E000010001223F000705810308000A090401FA
+:1003F000000103010200092111010001224D000743
+:1004000005820308000A0904020001030000000934
+:1004100021110100012236000705830308000A09A3
+:100420000403000203000000092111010001222041
+:1004300000070584032000010705040320000109CB
+:100440000404000103000000092111010001223908
+:1004500000070585031000011201100100000008CB
+:10046000EDFE071301000102000105010906A101CB
+:10047000050719E029E71500250195087501810296
+:100480000508190129059505750191029501750366
+:100490009101050719002977150025019578750147
+:1004A0008102C00631FF0974A1010975150025FFFD
+:1004B0009520750881020976150025FF952075089D
+:1004C0009102C005010980A101850216010026B72D
+:1004D000001A01002AB700751095018100C0050CB3
+:1004E0000901A1018503160100269C021A01002AB8
+:1004F0009C02751095018100C005010902A1010946
+:1005000001A10005091901290515002501950575A9
+:100510000181029501750381010501093009311539
+:1005200081257F95027508810609381581257F95FB
+:100530000175088106050C0A38021581257F950191
+:1005400075088106C0C005010906A101050719E06B
+:1005500029E71500250195087501810295017508A7
+:10056000810105081901290595057501910295017B
+:10057000750391010507190029FF150025FF950650
+:1005800075088100C00A002530325820006B65795B
+:10059000626F6172645F7265706F72743A20000AF4
+:1005A0000025303258006B6579626F6172645F7349
+:1005B00065745F6C65643A200064656C5F6B657997
+:1005C0005F6269743A2063616E27742064656C3AD7
+:1005D00020253032580A006164645F6B65795F6280
+:1005E00069743A2063616E2774206164643A20253F
+:1005F0003032580A00646F6E652E0A00626F6F67B2
+:100600006D61676963207363616E3A202E2E2E2020
+:1006100000290A002575002F002575005D2800259A
+:10062000640020002564002000256400200025646B
+:10063000007C0025303258006D6F7573656B6579ED
+:10064000205B62746E7C782079207620685D287249
+:1006500065702F61636C293A205B006D6B5F776872
+:1006600065656C5F74696D655F746F5F6D6178203F
+:100670003D2025640A006D6B5F776865656C5F6D72
+:1006800061785F7370656564203D2025640A006DA4
+:100690006B5F74696D655F746F5F6D6178203D207D
+:1006A00025640A006D6B5F6D61785F7370656564CA
+:1006B000203D2025640A006D6B5F696E746572765B
+:1006C000616C203D2025640A006D6B5F64656C6180
+:1006D00079203D2025640A006D6B5F776865656C45
+:1006E0005F74696D655F746F5F6D6178203D202573
+:1006F000640A006D6B5F776865656C5F6D61785F3C
+:100700007370656564203D2025640A006D6B5F741D
+:10071000696D655F746F5F6D6178203D2025640AA7
+:10072000006D6B5F6D61785F7370656564203D205F
+:1007300025640A006D6B5F696E74657276616C206A
+:100740003D2025640A006D6B5F64656C6179203D16
+:100750002025640A000A00257500363A207768656E
+:10076000656C5F74696D655F746F5F6D61783A2069
+:10077000000A00257500353A20776865656C5F6D65
+:1007800061785F73706565643A20000A0025750022
+:10079000343A2074696D655F746F5F6D61783A20DB
+:1007A000000A00257500333A206D61785F7370652B
+:1007B00065643A20000A00257500323A20696E749B
+:1007C000657276616C286D73293A20000A002575E0
+:1007D00000313A2064656C6179282A31306D7329C3
+:1007E0003A20000A092D2056616C756573202D0A88
+:1007F000004D3E004D25643E20003F00736574208F
+:1008000064656661756C740A00433E200077686514
+:1008100072652064656C74613A20637572736F72DF
+:100820003D25642C20776865656C3D25640A536519
+:100830006520687474703A2F2F656E2E77696B6926
+:1008400070656469612E6F72672F77696B692F4DD0
+:100850006F7573655F6B6579730A000A092D204D0A
+:100860006F7573656B6579202D0A4553432F713A77
+:1008700009717569740A313A0964656C6179282ACD
+:1008800031306D73290A323A09696E746572766186
+:100890006C286D73290A333A096D61785F7370654E
+:1008A00065640A343A0974696D655F746F5F6D61E0
+:1008B000780A353A09776865656C5F6D61785F73B2
+:1008C000706565640A363A09776865656C5F7469B6
+:1008D0006D655F746F5F6D61780A0A703A097072B6
+:1008E000696E742076616C7565730A643A09736584
+:1008F000742064656661756C74730A75703A092BAF
+:10090000310A646F776E3A092D310A706775703A53
+:10091000092B31300A7067646F776E3A092D3130D8
+:100920000A0A7370656564203D2064656C746120FB
+:100930002A206D61785F7370656564202A202872B3
+:100940006570656174202F2074696D655F746F5FD9
+:100950006D6178290A003F004D3E2000433E200093
+:100960004C25640A000A092D20436F6E736F6C6575
+:10097000202D0A4553432F713A09717569740A6D28
+:100980003A096D6F7573656B65790A000A092D2048
+:100990004D61676963202D0A643A09646562756771
+:1009A0000A783A096465627567206D6174726978C6
+:1009B0000A6B3A096465627567206B6579626F61DD
+:1009C00072640A6D3A096465627567206D6F7573AC
+:1009D000650A763A0976657273696F6E0A733A0929
+:1009E0007374617475730A633A09636F6E736F6C25
+:1009F00065206D6F64650A302D343A096C61796544
+:100A000072302D34284631302D4634290A50617514
+:100A1000733A09626F6F746C6F616465720A653A4C
+:100A200009656570726F6D0A6E3A094E4B524F0A36
+:100A30007A3A09736C656570204C4544207465737F
+:100A4000740A000A002575002E6E6B726F3A200042
+:100A50000A002575002E737761705F6261636B73A6
+:100A60006C6173685F6261636B73706163653A2088
+:100A7000000A002575002E737761705F67726176DA
+:100A8000655F6573633A20000A002575002E6E6F5E
+:100A90005F6775693A20000A002575002E7377613B
+:100AA000705F72616C745F726775693A20000A004A
+:100AB0002575002E737761705F6C616C745F6C6775
+:100AC00075693A20000A002575002E636170736C09
+:100AD0006F636B5F746F5F636F6E74726F6C3A20DD
+:100AE000000A002575002E737761705F636F6E7466
+:100AF000726F6C5F636170736C6F636B3A20000A96
+:100B00000025303258006B65796D61705F636F6EE0
+:100B10006669672E7261773A20000A002575002EFB
+:100B20006D6F7573653A20000A002575002E6B65A0
+:100B300079626F6172643A20000A002575002E6D9B
+:100B400061747269783A20000A002575002E656E7E
+:100B500061626C653A20000A0025303258006465F5
+:100B60006275675F636F6E6669672E7261773A20A0
+:100B7000000A0025750064656661756C745F6C61C0
+:100B80007965723A20003F004E4B524F3A206F6613
+:100B9000660A004E4B524F3A206F6E0A0074696D20
+:100BA00065725F636F756E743A202530346C580A35
+:100BB000006B6579626F6172645F6E6B726F3A2071
+:100BC00025580A006B6579626F6172645F69646CB5
+:100BD000653A2025580A006B6579626F6172645F1F
+:100BE00070726F746F636F6C3A2025580A00686FDB
+:100BF00073745F6B6579626F6172645F6C65647357
+:100C000028293A2025580A000A092D2053746174B6
+:100C10007573202D0A004743433A20352E332E307A
+:100C2000204156522D4C4942433A20312E382E3124
+:100C300073766E204156525F415243483A206176A6
+:100C400072350A004F5054494F4E533A204C554686
+:100C50004120424F4F544D41474943204D4F55533A
+:100C6000454B45592045585452414B455920434F17
+:100C70004E534F4C4520434F4D4D414E44204E4B1B
+:100C8000524F203531320A004255494C443A203601
+:100C9000386366663764202832323A33323A303568
+:100CA000204A616E2033302032303136290A005616
+:100CB00049443A20307846454544284572676F4498
+:100CC0006F7820455A29205049443A2030783133F2
+:100CD0003037284572676F446F7820455A2920566F
+:100CE00045523A203078303030310A004445534381
+:100CF0003A20742E6D2E6B2E206B6579626F6172B7
+:100D000064206669726D7761726520666F72204536
+:100D100072676F646F780A000A092D205665727336
+:100D2000696F6E202D0A000A6D6F7573653A206F2A
+:100D300066660A000A6D6F7573653A206F6E0A0069
+:100D40000A6B6579626F6172643A206F66660A00A9
+:100D50000A6B6579626F6172643A206F6E0A000AED
+:100D60006D61747269783A206F66660A000A6D6177
+:100D7000747269783A206F6E0A000A64656275675A
+:100D80003A206F6E0A000A64656275673A206F66E2
+:100D9000660A000A0A626F6F746C6F616465722E76
+:100DA0002E2E2000433E20006565636F6E666967E6
+:100DB0003A0A00536C656570204C45442074657395
+:100DC000740A0000000000000000000000000102A2
+:100DD00004060A0F17202C3A4A5D71879DB3C7DAC3
+:100DE000E9F5FCFFFCF5E9DAC7B39D87715D4A3A86
+:100DF0002C20170F0A06040201000000000000006A
+:100E00000000000011241FBECFEFDAE0DEBFCDBF2F
+:100E100004B603FE27C08091F8019091F901A091DA
+:100E2000FA01B091FB018730904BA740B04BD1F451
+:100E30001092F8011092F9011092FA011092FB0140
+:100E400014BE84B7877F84BF0FB6F894A8958091AD
+:100E50006000886180936000109260000FBEE0E047
+:100E6000FFE3099511E0A0E0B1E0EAECFBE502C088
+:100E700005900D92AA33B107D9F721E0AAE3B1E0BA
+:100E800001C01D92A83FB207E1F70E94AD0F0C947C
+:100E9000E32D0C940000FF93EF93E0913A01F09161
+:100EA0003B01309709F00995EF91FF910895FC01FE
+:100EB0008591803011F0EFDFFBCF0895FF27E0E24E
+:100EC00030E247FF0CC0419597FF09C0EDE2609505
+:100ED000709580959095611D711D811D911D27FF55
+:100EE00002C0219530E350E2AA27660F771F881FC2
+:100EF000991FAA1FA41710F0A41B63955A95A9F770
+:100F0000AA3008F0A95FA05DAF93F3956115710554
+:100F10008105910541F7ED3211F4EF93F395F21746
+:100F200018F43F93F395FBCF8F91B5DFFA95E1F776
+:100F30000895E991F9918591803021F0853219F079
+:100F4000AADFF9CF089520E0E89455915532C1F316
+:100F5000503311F4689455915A3348F4505390F338
+:100F6000220F022E220F220F200D250FF4CF0EF498
+:100F7000219589919991533619F3533729F15335B6
+:100F800059F1BC0188279927E8945C3621F48991AE
+:100F9000999168945591543639F446EF7EF077FF75
+:100FA0000DC08FEF9FEF0AC055374AE039F0583532
+:100FB00040E121F0523642E009F00895FF93EF93AB
+:100FC0007DDFEF91FF91B7CFFF93EF93FC0181910C
+:100FD0008030B9F360DFFBCFFF93EF9368DFF1CF91
+:100FE000DF93CF93CDB7DEB72596A3DFCF91DF9107
+:100FF000089561110BC0FC018281882321F085EEE8
+:101000000E948B1603C085EE0E94531780E090E08B
+:10101000089508956091BC017091BD018091BE0159
+:101020009091BF010E94022156985E9825982D98B4
+:1010300026982E9827982F98813019F0823021F029
+:101040000895259A2D9A0895269A2E9A08958AE051
+:1010500098E0892B11F00E940A0880E090E0089542
+:1010600056985E9825982D9826982E9827982F9810
+:101070008FEF90E0909389008093880090938B008D
+:1010800080938A0090938D0080938C00259A2D9AEE
+:101090002FEF80E792E0215080409040E1F700C0C0
+:1010A0000000269A2E9A2FEF80E792E02150804090
+:1010B0009040E1F700C00000279A2F9A2FEF80E7B9
+:1010C00092E0215080409040E1F700C00000259858
+:1010D0002D982FEF80E792E0215080409040E1F77B
+:1010E00000C0000026982E982FEF80E792E0215054
+:1010F00080409040E1F700C0000027982F98569854
+:101100005E9825982D9826982E9827982F980895C0
+:1011100089EA8093800089E08093810024982C984C
+:101120003F988AB18F748AB96E98479A8BB1806B59
+:101130008BB9769A0E94300889E098E0892B11F0EB
+:101140000E94090880E090E0089580E28093000109
+:1011500080913C0181110EC00E94F40881E08093CF
+:101160003C012FEF83ED90E3215080409040E1F768
+:1011700000C0000080E40E94FA0880930001811101
+:101180002EC00E94240980930001811128C00E9472
+:10119000240980930001811122C08FE30E94240959
+:1011A0008093000181111BC00E941C0980E40E94F1
+:1011B000FA0880930001811112C08CE00E9424097A
+:1011C0008093000181110BC00E94240980930001CB
+:1011D000811105C08FE30E942409809300010E94C1
+:1011E0001C098091000108951092B9008AE0809353
+:1011F000B800089594EA9093BC009091BC0097FFCA
+:10120000FCCF9091B900987F983021F0903111F087
+:1012100081E008958093BB0084E88093BC008091B6
+:10122000BC0087FFFCCF8091B900887F883111F026
+:10123000803471F780E0089584E98093BC00809148
+:10124000BC0084FDFCCF08958093BB0084E88093AC
+:10125000BC008091BC0087FFFCCF9091B900987FC3
+:1012600081E0983209F480E0089584E88093BC001E
+:101270008091BC0087FFFCCF8091BB0008958091D6
+:101280000001811115C080E40E94FA0880930001DA
+:1012900081110CC082E10E94240980930001811118
+:1012A00005C08FEF0E942409809300010E941C0951
+:1012B00084B1807F84B985B1807F85B98AB1837F0D
+:1012C0008AB98BB1837F8BB93E98469808950E9466
+:1012D000A508809300010E943F0980B38C7080BBF9
+:1012E00081B3836F81BBECE4F1E0AEE3B1E0119236
+:1012F0001D9281E0EA35F807D1F788E898E0892B5C
+:1013000011F00C94880808957F928F929F92AF926B
+:10131000BF92CF92DF92EF92FF920F931F93CF93E2
+:10132000DF93809100018823E1F080913D018F5F80
+:1013300080933D01811115C082E493E00E9457071C
+:101340000E94A50880930001882329F088E293E099
+:101350000E94570706C084E193E00E9457070E944D
+:1013600030088EE3E82E81E0F82E8701C0E0D0E05F
+:101370009924939492E0892EAA24A394B12C35E069
+:10138000C32E33E0D32EC730D10500F58091000184
+:10139000811164C080E40E94FA08809300018111E9
+:1013A00012C082E10E9424098093000181110BC0C8
+:1013B000C5010C2E01C0880F0A94EAF780950E949F
+:1013C0002409809300010E941C0948C0CA30A1F082
+:1013D00028F4C83059F0C93061F005C0CC3089F02C
+:1013E00070F0CD3089F0209A289810C0219A299861
+:1013F0000DC0229A2A980AC0239A2B9807C0529AA5
+:1014000001C0539A5B9802C03E9A4698E0EAEA957A
+:10141000F1F78FB181708925799902C032E001C05E
+:1014200030E0832B7C9902C034E001C030E0832B94
+:101430007D9902C028E001C020E0822B7E9902C085
+:1014400090E101C090E0892B9FB19095991F992759
+:10145000991F9295990F907E892B10C08091000161
+:10146000811175C080E40E94FA08809300018823EE
+:1014700009F45AC0712C0E941C09872DD8019C9137
+:10148000981739F18C9380910101882301F18091A3
+:10149000D70180FF04C08AE093E00E945707809143
+:1014A000D70180FF0CC0809101011F928F93DF92C2
+:1014B000CF920E94F0070F900F900F900F908091A5
+:1014C000D70180FF04C083E093E00E945707809219
+:1014D00001010E943F0921960F5F1F4FCE30D105B9
+:1014E00009F051CF809101018823B9F08150809398
+:1014F0000101882339F0EFE9FFE03197F1F700C0EF
+:1015000000000BC0ECE4F1E0D7018D917D018193E7
+:10151000BCE4EB16B1E0FB06B9F787E298E0892B53
+:10152000C1F00E94270815C083E10E94240980931E
+:10153000000181119FCF81E40E94FA08809300018D
+:10154000811198CF0E943509782E709494CF80E055
+:1015500095CF81E0DF91CF911F910F91FF90EF9098
+:10156000DF90CF90BF90AF909F908F907F90089525
+:10157000E82FF0E0E45BFE4F80810895CF92DF9288
+:10158000EF92FF920F931F93CF93DF938CEE92E035
+:101590000E9457078CE4E82E81E0F82EC0E0D0E0EE
+:1015A00097EEC92E92E0D92E0EED12E0DF93CF9385
+:1015B000DF92CF920E94F00784EE92E00E945707DC
+:1015C000F70181917F0190E00E9464219F938F93A6
+:1015D0001F930F930E94F0078CED92E00E94570733
+:1015E00021968DB79EB708960FB6F8949EBF0FBE92
+:1015F0008DBFCE30D105D1F6DF91CF911F910F91E4
+:10160000FF90EF90DF90CF9008958B3B910580F491
+:10161000883A910548F5853A9105D8F484309105CA
+:1016200008F0B2C0019709F06EC081E090E0089523
+:10163000803E910508F467C0883E910508F4A4C077
+:101640009C01205F31092031310508F05CC09065B4
+:101650000895853A910509F459C0863A910509F033
+:1016600058C082E890E40895883A910509F454C07E
+:10167000893A910509F453C08A3A910509F452C098
+:101680008B3A910509F451C08C3A910509F450C088
+:101690008D3A910509F44FC0803B910509F44EC085
+:1016A0008E3A910509F44DC08F3A910509F44CC06A
+:1016B000813B910509F44BC0823B910509F44AC076
+:1016C000833B910509F449C0843B910509F448C066
+:1016D000853B910509F447C0863B910509F446C056
+:1016E000873B910509F445C0883B910509F444C046
+:1016F000893B910509F443C08A3B910509F442C036
+:1017000080E094E4089580E090E0089581E890E41A
+:10171000089583E890E4089582EE94E4089589EEB4
+:1017200094E408958AEE94E4089585EB94E4089592
+:1017300086EB94E4089587EB94E408958CEC94E4AC
+:1017400008958DEC94E4089583E895E408958AE87B
+:1017500095E4089582E995E4089584E995E408956F
+:1017600081E296E4089583E296E4089584E296E4A3
+:10177000089585E296E4089586E296E4089587E266
+:1017800096E408958AE296E40895089524E5829FF8
+:10179000C0011124FC0126E0729FE00DF11D11240F
+:1017A000E60FF11DEE0FFF1FEC51FF4F8591949155
+:1017B0000895880F991FFC01E05AF040859194919B
+:1017C0000895880F991FFC01E052FF4F8591949175
+:1017D000089524E5829FC0011124FC0146E0749F16
+:1017E000E00DF11D1124E60FF11DEE0FFF1FEC516E
+:1017F000FF4F859194919C013A9521154FE1340753
+:1018000008F429C13F512115304120F49F700E94F6
+:10181000E10B08959C0130532115304118F49927AC
+:10182000906C0895811520E5920769F40E94CC1A06
+:101830004FEF84E39CE0415080409040E1F700C0CE
+:1018400000000C942622813020E5920751F48CE5AB
+:1018500093E00E9457078091D70181608093D70160
+:1018600008959C0130552115304108F05CC0292FA6
+:1018700033272F70332721303105E9F4AC0164E0C0
+:10188000440F551F6A95E1F744275370BC016370FC
+:10189000772702C0220F331F6A95E2F73C68242B9A
+:1018A000352B73E0880F991F7A95E1F78076992799
+:1018B000822B932B08952230310529F4982F882705
+:1018C000816F906A089523303105A1F4AC0133E0B3
+:1018D000440F551F3A95E1F7407E57708370992762
+:1018E00021E030E002C0220F331F8A95E2F7C901E0
+:1018F0009C6816C02430310531F5AC0123E0440F5B
+:10190000551F2A95E1F7407E57708370992721E093
+:1019100030E002C0220F331F8A95E2F7C9019A68AE
+:10192000842B952B08959C0130572115304118F4D4
+:101930009F70906208959C0130582115304118F431
+:101940009F70906A0895803E9105E0F4803C910577
+:1019500058F58133910509F46FC048F48932910537
+:1019600009F463C08A32910509F46DC072C08933ED
+:101970009105E9F082389105D1F08533910509F49C
+:101980004DC067C0833E910581F138F4803E9105DA
+:10199000B9F0823E9105D9F05CC0863E910561F1B7
+:1019A000873E9105A1F155C00E94D90B0895209161
+:1019B000E90120FD02C021FF4CC080EE90E049C04B
+:1019C0008091E90180FFF9CF89E390E042C08091E6
+:1019D000E90182FF0EC08091E90184FF03C080E02D
+:1019E00090E037C083EE90E034C08091E90182FF3F
+:1019F000F2CF82EE90E02DC08091E90183FF0BC011
+:101A00008091E90184FDEBCF87EE90E022C08091C8
+:101A1000E90183FFF5CF86EE90E01BC08091E901DC
+:101A200085FF07C089E290E014C08091E90185FF3D
+:101A3000F9CF85E390E00DC08091E90186FF07C0F2
+:101A40008AE290E006C08091E90186FFF9CF81E348
+:101A500090E00E94050B0895089580916D0108950E
+:101A60009FB7F89410925C019FBF9091EF01943062
+:101A700009F057C09091E9009F703091EC00232F3E
+:101A8000217030FD20E8922B24E02093E900209182
+:101A9000EB0020FF43C02091EE0027FF3FC02091C4
+:101AA0005A01222321F02091E80025FF37C010922F
+:101AB0005A0126E03091E80035FD15C03091EF0164
+:101AC000343061F53091EB0035FD28C0215021F410
+:101AD00081E080935A0122C0EFE9FFE03197F1F7EE
+:101AE00000C00000E7CF8093F1008091E80085FD01
+:101AF0000AC08091E80080FFFCCF8091E8008E77DB
+:101B00008093E80006C08FB7F89421E020935C0131
+:101B10008FBF9F709093E90080E008959F7090932D
+:101B2000E9008FEF0895CF93DF9300D01F92CDB7D8
+:101B3000DEB79C018091EF01843019F593E0998321
+:101B40003B832A839093E9008FEF9091E8008150C6
+:101B500095FD06C095ED9A95F1F700008111F5CF3E
+:101B60008091E80085FF0DC040E050E063E070E048
+:101B7000CE0101960E9466108091E8008E778093D6
+:101B8000E8000F900F900F90DF91CF910895CF93C1
+:101B9000DF9300D01F92CDB7DEB72091EF01243044
+:101BA00021F522E029839B838A8383E08093E900E7
+:101BB0008FEF9091E800815095FD06C095ED9A95C4
+:101BC000F1F700008111F5CF8091E80085FF0DC08D
+:101BD00040E050E063E070E0CE0101960E946610A4
+:101BE0008091E8008E778093E8000F900F900F901F
+:101BF000DF91CF9108959C018091EF018430F9F439
+:101C000082E08093E9009FEF8091E800915085FD8C
+:101C100006C085ED8A95F1F700009111F5CF80910E
+:101C2000E80085FF0CC040E050E065E070E0C901CD
+:101C30000E9466108091E8008E778093E8000895F6
+:101C4000CF93DF93EC018091EF01843009F047C01E
+:101C500080910C018823E1F080910D018823C1F06F
+:101C600085E08093E9008FEF9091E800815095FD29
+:101C700006C095E19A95F1F700008111F5CF8091AA
+:101C8000E80085FF2CC040E050E060E170E017C044
+:101C900081E08093E9008FEF9091E800815095FDFD
+:101CA00006C095ED9A95F1F700008111F5CF80916E
+:101CB000E80085FF14C040E050E068E070E0CE012D
+:101CC0000E9466108091E8008E778093E80080E1A2
+:101CD000FE01ADE5B1E001900D928A95E1F7DF914B
+:101CE000CF91089583E993E00E9457078091EE0118
+:101CF000811109C00E94F7110E9454128091E200E4
+:101D000084608093E20008958FE893E00E94570773
+:101D10001092EE0108958BE893E00C94570787E842
+:101D200093E00E9457070C94F52B83E893E00E9400
+:101D300057070E94BC210E94FB2B0E94FE140C94AA
+:101D40002C0D20915B012F5F822F62E30E94782D82
+:101D5000992319F020935B01089510925B01809103
+:101D60005C01882371F18091EF01843041F580910D
+:101D7000E9008F702091EC00922F917020FD90E887
+:101D8000892B94E09093E9009091EB0090FF14C0B0
+:101D90009091EE0097FF10C09091E80095FF03C06E
+:101DA0001092F100F9CF9091E80090FF05C090915A
+:101DB000E8009E779093E8008F708093E90010927E
+:101DC0005C01089542E061EC81E00E94701142E004
+:101DD00061EC82E00E94701142E061EC83E00E94BD
+:101DE000701142E261EC84E00E94701142E161EC0A
+:101DF00085E00C9470118091F101833009F455C095
+:101E000030F4813071F0823009F48EC008958A3048
+:101E100009F47AC08B3009F460C0893009F09CC0A5
+:101E200020C08091F001813A09F096C08091E800CD
+:101E3000877F8093E8008091F4019091F501892BD0
+:101E400021F460E18DE591E003C060E080E090E086
+:101E500070E00E94B1108091E8008B778093E800D9
+:101E600008958091F001813209F076C08091F401EB
+:101E70009091F501009719F0049709F06DC08091D9
+:101E8000E800877F8093E8008091E80082FD05C02C
+:101E90008091EF018111F8CF5FC08091F1008093B4
+:101EA0006D018091E8008B7753C08091F001813AF9
+:101EB00009F052C08091F4019091F501892B09F04D
+:101EC0004BC08091E800877F8093E8008091E80014
+:101ED00080FFFCCF80910C0136C08091F0018132EF
+:101EE000D9F58091F4019091F501892BA9F58091A4
+:101EF000E800877F8093E8000E94A5118091F2019D
+:101F000080930C010C94CC1A8091F001813221F560
+:101F10008091E800877F8093E8000E94A51180915E
+:101F2000F30180936E0108958091F001813AA1F44C
+:101F30008091E800877F8093E8008091E80080FF2F
+:101F4000FCCF80916E018093F1008091E8008E7744
+:101F50008093E8000C94A511089584B7877F84BF0F
+:101F60000FB6F894A8958091600088618093600016
+:101F7000109260000FBE90E080E80FB6F894809356
+:101F80006100909361000FBE0E948A150E94F711B4
+:101F90000E9454128091E20084608093E20080E30A
+:101FA0009DE00E94FD2078940E94DE140E948C1512
+:101FB00082E091E00E94F9140E94E32B82E793E013
+:101FC0000E9457078091EF01853089F48EE693E0F7
+:101FD0000E9457070E947E218091ED01882391F392
+:101FE0000E94A821882371F30E945010EBCF0E9419
+:101FF000BA15E8CF292F332723303105C9F060F413
+:102000002130310581F02230310509F041C08DE8E1
+:1020100090E02BEC33E040C021323105E1F0223278
+:10202000310531F135C082E190E028E534E034C07B
+:1020300099278130910549F028F0029749F5E7E9A1
+:10204000F3E005C0E7ECF3E002C0EFEAF3E08491CF
+:1020500090E09F0121C06530D8F4E62FF0E0EE0F4C
+:10206000FF1FEB5DFE4F2081318189E090E014C0BD
+:10207000653070F470E0FB01EE0FFF1FE55EFE4F70
+:1020800020813181FB01EA5EFE4F808190E004C037
+:1020900080E090E020E030E0FA0131832083089571
+:1020A00080E189BD82E189BD09B400FEFDCF809148
+:1020B000D8008F7D8093D8008091E000826080936B
+:1020C000E0008091E00081FDFCCF0895CF92DF9287
+:1020D000EF92FF920F931F93CF93DF93EC018B014D
+:1020E0006A010E94C411811133C0C114D10439F0B6
+:1020F000F60180819181081B190BC80FD91FE12CB3
+:10210000F12C0115110519F18091E80085FD16C02B
+:102110008091E8008E778093E800C114D10449F0E3
+:10212000F60180819181E80EF91EF182E08285E05E
+:102130000FC00E94C411882321F30AC089918093A3
+:10214000F10001501109FFEFEF1AFF0ADACF80E02A
+:10215000DF91CF911F910F91FF90EF90DF90CF9083
+:1021600008952091F6013091F7012617370748F0BE
+:102170006115710539F42091E8002E772093E8006D
+:1021800001C0B901FC0120E06115710579F1809170
+:10219000EF018823F1F18530F1F18091E80083FDB2
+:1021A0003CC08091E80082FD2EC08091E80080FF55
+:1021B000EBCF2091F3008091F20090E0922B61151B
+:1021C000710551F08830910538F421912093F10088
+:1021D000615071090196F3CF21E0089709F020E0E2
+:1021E0008091E8008E778093E800CECF2111CFCF89
+:1021F0000AC08091EF01882361F0853061F0809101
+:10220000E80083FD0AC08091E80082FFF2CF80E001
+:10221000089582E0089583E0089581E00895209173
+:10222000F6013091F7012617370748F0611571055F
+:1022300039F42091E8002E772093E80001C0B9011D
+:10224000FC0120E06115710591F18091EF01882377
+:1022500009F440C0853009F43FC08091E80083FD57
+:102260003DC08091E80082FD2FC08091E80080FF92
+:10227000E9CF2091F3008091F20090E0922B61155C
+:10228000710559F08830910540F424912093F100B4
+:102290003196615071090196F2CF21E0089709F05B
+:1022A00020E08091E8008E778093E800CBCF211169
+:1022B000CCCF0AC08091EF01882361F0853061F0B6
+:1022C0008091E80083FD0AC08091E80082FFF2CF90
+:1022D00080E0089582E0089583E0089581E0089504
+:1022E000982F973068F59093E900981739F070911E
+:1022F000EC002091ED005091F00003C0242F762FC8
+:1023000050E021FD02C09F5FECCF3091EB003E7F9B
+:102310003093EB003091ED003D7F3093ED00309134
+:10232000EB0031603093EB007093EC002093ED00F4
+:102330005093F0002091EE0027FDE5CF80E0089556
+:102340008F708093E90081E008958091F00187FF0C
+:1023500011C08091E80082FD05C08091EF018111DC
+:10236000F8CF11C08091E8008B770BC08091EF010E
+:10237000882349F08091E80080FFF8CF8091E80041
+:102380008E778093E80008952091E4003091E50075
+:1023900095E64091EC00842F817040FF23C080912E
+:1023A000E80080FD1DC08091EF01882399F0853001
+:1023B00099F08091EB0085FD11C04091E4005091AF
+:1023C000E5002417350729F3915011F09A01E1CF68
+:1023D00084E0089582E0089583E0089581E00895FF
+:1023E00080E008954091E80042FFDDCF08950E940B
+:1023F00065120E946D12E0EEF0E0808181608083C2
+:10240000E8EDF0E080818F77808319BCA7EDB0E024
+:102410008C918E7F8C9380818F7E80831092EE01D1
+:1024200008950F931F93CF93DF930E9465120E942C
+:102430006D12C8EDD0E088818F77888388818068AD
+:10244000888388818F7D888319BC1092EF01109258
+:10245000EB011092ED011092EC0100EE10E0F8019A
+:1024600080818B7F808388818160888342E060E007
+:1024700080E00E947011E1EEF0E080818E7F808329
+:10248000E2EEF0E0808181608083808188608083DB
+:10249000F80180818E7F8083888180618883DF91CD
+:1024A000CF911F910F910895E8EDF0E080818F7E2C
+:1024B0008083E7EDF0E080818160808384E082BFEB
+:1024C00081E08093EE010C941112E8EDF0E0808140
+:1024D0008E7F80831092E20008951092DA001092AD
+:1024E000E10008951F920F920FB60F9211242F93BF
+:1024F0003F934F935F936F937F938F939F93AF938C
+:10250000BF93EF93FF938091E10082FF0BC0809116
+:10251000E20082FF07C08091E1008B7F8093E100A1
+:102520000E94A10E8091DA0080FF1FC08091D80028
+:1025300080FF1BC08091DA008E7F8093DA0080914B
+:10254000D90080FF0DC080E189BD82E189BD09B459
+:1025500000FEFDCF81E08093EF010E94720E05C066
+:1025600019BC1092EF010E94840E8091E10080FF5F
+:1025700019C08091E20080FF15C08091E2008E7F3B
+:102580008093E2008091E20080618093E20080917C
+:10259000D80080628093D80019BC85E08093EF0159
+:1025A0000E948F0E8091E10084FF30C08091E20094
+:1025B00084FF2CC080E189BD82E189BD09B400FEA1
+:1025C000FDCF8091D8008F7D8093D8008091E1006D
+:1025D0008F7E8093E1008091E2008F7E8093E20005
+:1025E0008091E20081608093E2008091EB0188237A
+:1025F00011F084E007C08091E30087FD02C081E014
+:1026000001C083E08093EF010E94950E8091E1006C
+:1026100083FF29C08091E20083FF25C08091E10003
+:10262000877F8093E10082E08093EF011092EB01BD
+:102630008091E1008E7F8093E1008091E2008E7FA7
+:102640008093E2008091E20080618093E20042E0AA
+:1026500060E080E00E9470118091F00088608093BB
+:10266000F0000E948B0EFF91EF91BF91AF919F916F
+:102670008F917F916F915F914F913F912F910F902B
+:102680000FBE0F901F9018951F920F920FB60F92CA
+:1026900011242F933F934F935F936F937F938F9367
+:1026A0009F93AF93BF93CF93DF93EF93FF93C0912B
+:1026B000E900CF708091EC00D82FD17080FDD0E878
+:1026C0001092E9008091F000877F8093F000789469
+:1026D0000E9488131092E9008091F0008860809336
+:1026E000F000CD2BCF70C093E900FF91EF91DF9107
+:1026F000CF91BF91AF919F918F917F916F915F919A
+:102700004F913F912F910F900FBE0F901F901895F2
+:102710001F93CF93DF93CDB7DEB7AA970FB6F89488
+:10272000DEBF0FBECDBFE0EFF1E08091F1008193FD
+:1027300021E0E83FF207C9F70E94FB0E8091E80014
+:1027400083FF24C18091F0019091F101492F50E065
+:102750004A30510508F01AC1FA01EA5AFF4F0C94A9
+:10276000982D803881F0823809F010C18091F401F1
+:102770008F708093E9008091EB0085FB882780F9BA
+:102780001092E90006C08091EC019091ED01911149
+:1027900082609091E800977F9093E8008093F10029
+:1027A0001092F100C8C0282F2D7F09F0EFC08823B8
+:1027B00019F0823061F0EAC08091F201813009F0B5
+:1027C000E5C0933009F080E08093ED012BC080914B
+:1027D000F201811127C08091F4018F7009F4D6C0F5
+:1027E0008093E9002091EB0020FF1CC0933021F47E
+:1027F0008091EB00806214C09091EB009061909307
+:10280000EB0021E030E0A90102C0440F551F8A957A
+:10281000E2F74093EA001092EA008091EB008860B2
+:102820008093EB001092E9008091E800877F86C0DA
+:102830008111ACC01091F2011F778091E300807884
+:10284000812B8093E3008091E800877F8093E800EC
+:102850000E94A5118091E80080FFFCCF8091E300E9
+:1028600080688093E300111102C082E001C083E020
+:102870008093EF018BC08058823008F087C0809130
+:10288000F2019091F3018C3D53E0950779F583E0D7
+:102890008A838AE289834FB7F894DE01139620E099
+:1028A0003EE051E2E32FF0E050935700E49120FF27
+:1028B00003C0E295EF703F5FEF708E2F90E0EA303B
+:1028C00010F0C79601C0C0968D939D932F5F243161
+:1028D00049F74FBF8091E800877F8093E8006AE264
+:1028E00070E0CE0101960E94B11014C0AE014F5F9E
+:1028F0005F4F6091F4010E94FA0FBC01892B09F42B
+:1029000045C09091E800977F9093E80089819A8173
+:102910000E940F118091E8008B778093E80036C009
+:102920008038A1F58091E800877F8093E80080914E
+:10293000EB018093F1008091E8008E778093E800AE
+:102940000E94A51123C0811121C08091F2019091B4
+:10295000F30199270297D4F48091E800877F809350
+:10296000E8008091F2018093EB010E94A511809113
+:10297000EB01811106C08091E30087FD02C081E078
+:1029800001C084E08093EF010E94E20E8091E80094
+:1029900083FF0AC08091E800877F8093E8008091E0
+:1029A000EB0080628093EB00AA960FB6F894DEBF2E
+:1029B0000FBECDBFDF91CF911F910895CF9380912E
+:1029C000EF018823A1F0C091E900CF709091EC0055
+:1029D000892F817090FD80E8C82B1092E9008091CA
+:1029E000E80083FD0E948813CF70C093E900CF9167
+:1029F000089590937401809373010895E091730199
+:102A0000F0917401309721F00190F081E02D09944C
+:102A100080E00895EF92FF921F93CF93DF93F82EFB
+:102A2000192FE0917301F09174013097A9F10280A0
+:102A3000F381E02D09958091D70182FF2DC080FFA1
+:102A400004C08DE895E00E945707CF2DD12F10E1EB
+:102A500087E8E82E85E0F82E8091D70180FF0BC033
+:102A600088811F928F93FF92EF920E94F0070F9040
+:102A70000F900F900F90115021961111EDCF809172
+:102A8000D70180FF09C085E895E0DF91CF911F91C4
+:102A9000FF90EF900C945707DF91CF911F91FF901B
+:102AA000EF900895E0917301F0917401309721F057
+:102AB0000480F581E02D09940895209171013091F1
+:102AC00072012817390771F0909372018093710198
+:102AD000E0917301F0917401309721F00680F78145
+:102AE000E02D0994089520916F013091700128170D
+:102AF000390771F09093700180936F01E091730139
+:102B0000F0917401309721F00084F185E02D099453
+:102B1000089508950C9489150E94C2210E946709A6
+:102B20000C948822CF93C82F8091D70182FF1EC0BA
+:102B300080FF04C086EA95E00E9457078091D70184
+:102B400080FF0CC01F92CF9381EA95E09F938F93F3
+:102B50000E94F0070F900F900F900F908091D70177
+:102B600080FF04C08FE995E00E9457078C2FCF911A
+:102B70000C942C0DCF92DF92EF92FF920F931F9344
+:102B8000CF93DF93CDB7DEB72B970FB6F894DEBFA8
+:102B90000FBECDBF0E94840986E7C82E81E0D82EE3
+:102BA00000E010E0E02E802F0E94B80AF60141916B
+:102BB0006F01F82EF426B1F40F5F1F4F0E30110590
+:102BC00089F78FEF89838A831B820E94CB218160E2
+:102BD000782F9D838C8349815A816B818D810E94DE
+:102BE0005D1640C09091D70191FF04C08B870E9471
+:102BF000BE0A8B8520E030E04F2D50E0922FBA01C5
+:102C0000022E02C0759567950A94E2F760FF24C012
+:102C10002E83EF8221E030E0690102C0CC0CDD1C84
+:102C20009A95E2F790E08C219D21892B09F420E010
+:102C300028870E94CB218160782F9A8789874E81CF
+:102C40005F8168858A850E945D16F801EA58FE4F0B
+:102C50008081C826C08206C02F5F3F4F26303105D5
+:102C600069F6AACF0E94F9250E94FE149091750181
+:102C70008917A1F00E94FE14809375012B960FB660
+:102C8000F894DEBF0FBECDBFDF91CF911F910F91A2
+:102C9000FF90EF90DF90CF900C9492152B960FB68B
+:102CA000F894DEBF0FBECDBFDF91CF911F910F9182
+:102CB000FF90EF90DF90CF900895CF93DF93CDB743
+:102CC000DEB72B970FB6F894DEBF0FBECDBF4F8394
+:102CD000588769877A878B87DE01119686E0FD0128
+:102CE00011928A95E9F785E0FE01379601900D92E1
+:102CF0008A95E1F749815A816B817C818D819E8122
+:102D00000E94601D2B960FB6F894DEBF0FBECDBF9C
+:102D1000DF91CF910895CF93C82F882309F4C1C0C4
+:102D2000823859F40E94FE1481FDBBC089E30E94E1
+:102D3000FD1F0E94D72089E30CC0833879F40E94DC
+:102D4000FE1480FDAEC083E50E94FD1F0E94D720C7
+:102D500083E50E944D20CF910C94D720843859F4FC
+:102D60000E94FE1482FD9DC087E40E94FD1F0E9408
+:102D7000D72087E4EECF8CEF8C0F813A48F48C2F6C
+:102D80000E948B2A81118DC08C2F0E94FD1FE3CFE2
+:102D900080E28C0F883048F4C77081E001C0880F52
+:102DA000CA95EAF70E94A020D6CF8BE58C0F83301E
+:102DB00078F4C53A29F0C63A31F083E890E005C0CE
+:102DC00081E890E002C082E890E0CF910C945D151C
+:102DD00088E58C0F833108F064C0C83A39F1C93AEC
+:102DE00041F1CA3A49F1CB3A51F1CC3A59F1CD3AD5
+:102DF00061F1C03B69F1CE3A71F1CF3A79F1C13B53
+:102E000081F1C23B89F1C33B91F1C43B99F1C53BD0
+:102E1000A1F1C63BA9F1C73BB1F1C83BB9F1C93B30
+:102E2000C1F1CA3BC9F180E090E038C082EE90E089
+:102E300035C089EE90E032C08AEE90E02FC085EB7D
+:102E400090E02CC086EB90E029C087EB90E026C094
+:102E50008CEC90E023C08DEC90E020C083E891E002
+:102E60001DC08AE891E01AC082E991E017C084E9A8
+:102E700091E014C081E292E011C083E292E00EC0C2
+:102E800084E292E00BC085E292E008C086E292E024
+:102E900005C087E292E002C08AE292E0CF910C94F2
+:102EA0007315CF910895882309F44BC0823859F4E3
+:102EB0000E94FE1481FF45C089E30E94FD1F0E940D
+:102EC000D72089E30CC0833871F40E94FE1480FF80
+:102ED00038C083E50E94FD1F0E94D72083E50E9431
+:102EE0004D200C94D720843859F40E94FE1482FFA0
+:102EF00028C087E40E94FD1F0E94D72087E4EFCFFF
+:102F00009CEF980F913A58F390E2980F983050F454
+:102F1000877091E001C0990F8A95EAF7892F0E9486
+:102F2000A620DFCF9BE5980F933020F480E090E05F
+:102F30000C945D15885A833120F480E090E00C9465
+:102F400073150895882321F00E94A0200C94D720A7
+:102F50000895882321F00E94A6200C94D72008957C
+:102F6000BF92CF92DF92EF92FF920F931F93CF9376
+:102F7000DF9300D000D000D0CDB7DEB77C0185E074
+:102F8000F701DE01119601900D928A95E1F7F701A4
+:102F900083819481892B09F4DDC2908181818F3FE7
+:102FA00019F49F3F09F4D6C2F701028125812295C9
+:102FB0002F7099838A8389819A812E830E94BC1FF6
+:102FC000182FB92E0E94BB1F0E94821EEB2DE29586
+:102FD000EF704E2F50E0FA01E05AFF4F2E810C9413
+:102FE000982D8B2D807F9B2D9F70F92E882319F0B3
+:102FF000F29480EFF822002349F0FF2009F457C231
+:103000008F2D0E94B0200E94D72051C2812F0E9494
+:103010005317FF2009F49EC28F2D0E94B6202696DA
+:103020000FB6F894DEBF0FBECDBFDF91CF911F91D9
+:103030000F91FF90EF90DF90CF90BF900C94D7202E
+:103040003B2D307F8B2D8F70303211F08295807F39
+:10305000112319F0113021F12CC00023B9F02223E3
+:1030600009F490C1213009F08DC126960FB6F8946D
+:10307000DEBF0FBECDBFDF91CF911F910F91FF90AB
+:10308000EF90DF90CF90BF900C94C020222319F0D6
+:10309000213009F45FC28E830E94C3208E8186C1D5
+:1030A000002321F0223008F055C26CC1211152C218
+:1030B0007DC1002321F0222309F464C1F8C1222339
+:1030C00009F474C109C28B2D86958695837019F019
+:1030D0008130D1F03FC2002321F0812F9B2D9370CE
+:1030E00002C080E090E026960FB6F894DEBF0FBED7
+:1030F000CDBFDF91CF911F910F91FF90EF90DF90A7
+:10310000CF90BF900C945D15002321F0812F9B2D53
+:10311000937002C080E090E026960FB6F894DEBF70
+:103120000FBECDBFDF91CF911F910F91FF90EF9018
+:10313000DF90CF90BF900C947315812F002319F06E
+:103140000E947F2402C00E94E72426960FB6F894BE
+:10315000DEBF0FBECDBFDF91CF911F910F91FF90CA
+:10316000EF90DF90CF90BF900C946C258B2D8370E7
+:1031700009F075C00111EEC1812F82958695877087
+:10318000880F880F912F9F70C92ED12CE12CF12C24
+:10319000082E04C0CC0CDD1CEE1CFF1C0A94D2F7D8
+:1031A00014FF12C00FE010E020E030E004C0000F78
+:1031B000111F221F331F8A95D2F7C901B8016095EC
+:1031C00070958095909503C060E070E0CB014B2D29
+:1031D0004695469543704230C1F060F56C297D29D3
+:1031E0008E299F29413051F126960FB6F894DEBF03
+:1031F0000FBECDBFDF91CF911F910F91FF90EF9048
+:10320000DF90CF90BF900C94A91E6C297D298E2948
+:103210009F2926960FB6F894DEBF0FBECDBFDF9173
+:10322000CF911F910F91FF90EF90DF90CF90BF90C3
+:103230000C94C51E0E94A91EC701B60126960FB6A2
+:10324000F894DEBF0FBECDBFDF91CF911F910F91DC
+:10325000FF90EF90DF90CF90BF900C948D1E0023D5
+:1032600019F08B2D817001C08695882309F472C1F5
+:10327000812F829586958770880F880F912F9F7078
+:10328000C92ED12CE12CF12C082E04C0CC0CDD1C55
+:10329000EE1CFF1C0A94D2F714FF12C00FE010E0DE
+:1032A00020E030E004C0000F111F221F331F8A9559
+:1032B000D2F7C901B801609570958095909503C0CB
+:1032C00060E070E0CB014B2D46954695437042304F
+:1032D000C1F060F56C297D298E299F29413051F17B
+:1032E00026960FB6F894DEBF0FBECDBFDF91CF910B
+:1032F0001F910F91FF90EF90DF90CF90BF900C94B3
+:10330000831F6C297D298E299F2926960FB6F89454
+:10331000DEBF0FBECDBFDF91CF911F910F91FF9008
+:10332000EF90DF90CF90BF900C949F1F0E94831F5F
+:10333000C701B60126960FB6F894DEBF0FBECDBF0B
+:10334000DF91CF911F910F91FF90EF90DF90CF9081
+:10335000BF900C94671F103FD1F118F4103E50F449
+:10336000A1C0123F09F463C008F44CC0133F09F434
+:1033700073C098C01F708B2D8F710023A1F00E9425
+:10338000001F812F26960FB6F894DEBF0FBECDBF6B
+:10339000DF91CF911F910F91FF90EF90DF90CF9031
+:1033A000BF900C94A2170E94211F812F26960FB662
+:1033B000F894DEBF0FBECDBFDF91CF911F910F916B
+:1033C000FF90EF90DF90CF90BF900C94A91700234F
+:1033D000A9F02111BFC08B2D8F7126960FB6F894DE
+:1033E000DEBF0FBECDBFDF91CF911F910F91FF9038
+:1033F000EF90DF90CF90BF900C94461F223008F0E2
+:10340000A9C0E9CF0023A9F08B2D8F7126960FB6A6
+:10341000F894DEBF0FBECDBFDF91CF911F910F910A
+:10342000FF90EF90DF90CF90BF900C94001F00238F
+:1034300059F38B2D8F7126960FB6F894DEBF0FBE11
+:10344000CDBFDF91CF911F910F91FF90EF90DF9053
+:10345000CF90BF900C94211F002399F08B2D8F717A
+:1034600026960FB6F894DEBF0FBECDBFDF91CF9189
+:103470001F910F91FF90EF90DF90CF90BF900C9431
+:10348000EB1E26960FB6F894DEBF0FBECDBFDF91C0
+:10349000CF911F910F91FF90EF90DF90CF90BF9051
+:1034A0000C94E11E0023A9F0222309F4ADCF812F53
+:1034B00026960FB6F894DEBF0FBECDBFDF91CF9139
+:1034C0001F910F91FF90EF90DF90CF90BF900C94E1
+:1034D0008B16222309F4ADCF812F26960FB6F894D0
+:1034E000DEBF0FBECDBFDF91CF911F910F91FF9037
+:1034F000EF90DF90CF90BF900C9453174B2D4F70EF
+:10350000612FC7010E94F90726960FB6F894DEBF17
+:103510000FBECDBFDF91CF911F910F91FF90EF9024
+:10352000DF90CF90BF900C94051E4B2D4F70612FF4
+:10353000C70126960FB6F894DEBF0FBECDBFDF9150
+:10354000CF911F910F91FF90EF90DF90CF90BF90A0
+:103550000C94C50B26960FB6F894DEBF0FBECDBFF8
+:10356000DF91CF911F910F91FF90EF90DF90CF905F
+:10357000BF9008950E94BD200E9492200E94D720F3
+:103580000E949E260E946C2580E090E00E945D15BE
+:1035900080E090E00C9473150E94AD200C94BA1A50
+:1035A0000E94BC1F292F22952F702C3030F42A3016
+:1035B00048F42250223078F405C02C3041F02F30EE
+:1035C00031F009C0803E48F0803F29F406C093FBEB
+:1035D000882780F9089580E0089581E00895CF93C9
+:1035E000DF9300D000D01F92CDB7DEB70F900F90C1
+:1035F0000F900F900F90DF91CF910895CF93DF93AD
+:1036000000D000D000D0CDB7DEB726960FB6F89424
+:10361000DEBF0FBECDBFDF91CF9108951F93CF9333
+:10362000DF93C091840116E080918501C81799F05D
+:10363000D0E01C9FF0011D9FF00D1124EA57FE4FB2
+:103640004081518162817381848195810E94FE1A3B
+:103650002196C770E9CFDF91CF911F9108954091D6
+:10366000B6015091B7016091B8017091B901809194
+:10367000BA019091BB010C94FE1A8091BB01829516
+:103680008F7009F054C08091B801882309F44FC0AD
+:1036900080918401A09185014091B9015091BA01B6
+:1036A0006091B6017091B701B6E08A1709F43FC086
+:1036B00090E041155105C1F17F3F11F46F3FA1F139
+:1036C000B89FF001B99FF00D1124EA57FE4F2181F8
+:1036D00027132AC02081261327C02281211124C04C
+:1036E000238134812417350710F421503109241B1C
+:1036F000350B283C3105C0F42091BB012F702061AF
+:103700002093BB0126E0289FF001299FF00D112492
+:10371000E557FE4F80818F708061808386EB91E05A
+:103720000E94B0170C940E1B01968770BECF0895AF
+:10373000CF92DF92EF92FF920F931F93CF93DF937D
+:10374000CDB7DEB762970FB6F894DEBF0FBECDBF20
+:103750008C0185E0F801DE011D9601900D928A959D
+:10376000E1F7D8014C9111965C91119712966C91EA
+:103770008091B9019091BA01009709F475C1309117
+:10378000B6017091B7017F3F19F43F3F09F46CC156
+:10379000F801C380D480E090B801EE2009F4BEC0E7
+:1037A0002091BB01C816D90628F0D601A81BB90B79
+:1037B000CD0104C0809590958C0D9D1DFF24F39440
+:1037C000883C910578F0F12C207F09F0C4C07C2D55
+:1037D000D98AC88A89890E94EF1A86EB91E00E94F3
+:1037E000B017AFC0822F807F09F045C0571313C0B8
+:1037F000431311C061110FC02F7020612093BB01D2
+:103800000E942F1B86EB91E00E94B0178091BB01B4
+:10381000F80185832EC0CD2819F15F3F11F44F3F89
+:10382000F9F0F62E61111CC0809184012091850170
+:1038300036E0821709F45BC090E0389FF001399FB1
+:10384000F00D1124EA57FE4F7181571306C07081A5
+:10385000471303C07281711103C001968770E9CFCD
+:10386000F62E662309F41CC18091BB018160809310
+:10387000BB01F12C15C1571309C0431307C06111D7
+:1038800005C08091BB01F8018583C8C04D875E8764
+:103890008D859E856A8B0E94D01A6A898823D1F112
+:1038A0006623C1F12091BB01822F82958F7090E039
+:1038B000029774F08091B6019091B70198878F8339
+:1038C0001986DB86CA862C87CE0107960E94B01720
+:1038D00086E0F801A6EBB1E001900D928A95E1F740
+:1038E0000E943D1B0E942F1BFF24F394D9C04D87DB
+:1038F0005E878D859E850E94BC1F292F22952F7083
+:10390000223008F0C1C09F7009F0BBC0805E8830D3
+:1039100008F4C6C0C8010E94B017E6CFC816D90681
+:1039200008F453C0F601E81BF90BCF01883C910560
+:1039300008F450C0F12C7C2DD98AC88A89890E944C
+:10394000EF1AE6EBF1E086E0DF011D928A95E9F7D8
+:103950000E942F1BA5C0571314C0431312C061113E
+:1039600010C08091BB01F8018583C8010E94B01787
+:1039700086E0E6EBF1E0DF011D928A95E9F7FE2C87
+:103980008FC04D875E878D859E856A8B0E94D01A79
+:103990006A89882309F4BECF662309F4BBCF20913E
+:1039A000BB01822F82958F7090E002970CF490CF2C
+:1039B0008091B6019091B7019A8389831B82DD8241
+:1039C000CC822E83CE01019681CF809590958C0D6F
+:1039D0009D1DACCFF62E662309F49CCF571333C040
+:1039E000431331C02091BB0120FD24C0822F82955A
+:1039F0008F70482F50E041155105E1F0D801159620
+:103A00002C9315974F30510549F08F5F982F929561
+:103A1000907F822F8F70892B15968C93C8010E94FE
+:103A2000B01786E0F801A6EBB1E001900D928A95FF
+:103A3000E1F78ECF86E0F801A6EBB1E001900D92A0
+:103A40008A95E1F72DC04D875E878D859E850E9402
+:103A5000D01A81113DCF8091BB0181608093BB0161
+:103A6000C8010E94B0171CC0662309F453CF4D87CC
+:103A70005E878D859E850E94D01A882309F44ACFDF
+:103A800027CF811143CF0CC0243008F043CF9F7063
+:103A900009F43CCFD80115969C91907F09F036CF60
+:103AA0008F2D62960FB6F894DEBF0FBECDBFDF91AB
+:103AB000CF911F910F91FF90EF90DF90CF900895DD
+:103AC0001F93CF93DF93CDB7DEB72C970FB6F89443
+:103AD000DEBF0FBECDBF4F83588769877A878B873C
+:103AE0009C87CE0107960E94981B882371F08A85D7
+:103AF0009B85892B09F441C088858F3F09F065C0FB
+:103B00008F818F3F09F061C038C086E0FE01379693
+:103B1000DE01119601900D928A95E1F76A857B8509
+:103B20006115710551F1FF81E885EF3F11F4FF3F09
+:103B300021F12091850130E0C90101968770992714
+:103B40004091840150E08417950709F447C0F98338
+:103B5000EA837D836C8396E0929FD001939FB00DA2
+:103B60001124AA57BE4FFE01319601900D929A95ED
+:103B7000E1F7809385010E940E1B16E0809184017D
+:103B8000909185018917B9F1189FC00111248A57B6
+:103B90009E4F0E94981B882371F1E09184011E9F23
+:103BA000F0011124EA57FE4F4081518162817381F7
+:103BB000848195810E94FE1A8091840190E0019693
+:103BC0008770992780938401D9CF4F815885698563
+:103BD0007A858B859C850E94FE1ACFCF0E94CC1AD5
+:103BE0001092850110928401E6EBF1E086E0DF019E
+:103BF0001D928A95E9F72C960FB6F894DEBF0FBE9A
+:103C0000CDBFDF91CF911F910895EF92FF920F9357
+:103C10001F93CF93DF938C01892B09F46CC0F12C97
+:103C2000EE24E394E8012196F8018491843740F46E
+:103C3000843008F051C0813081F0823019F15BC0CE
+:103C4000853709F444C0A8F19CE7980F903708F035
+:103C500052C08F770E94531741C00E5F1F4FFE0165
+:103C6000849190E2980F983050F48770FE2D01C037
+:103C7000FF0F8A95EAF78F2F0E94B02014C00E9490
+:103C80008B162DC00E5F1F4FFE01849190E2980F9E
+:103C9000983060F48770FE2D01C0FF0F8A95EAF717
+:103CA0008F2F0E94B6200E94D72019C00E94531760
+:103CB00016C00E5F1F4FFE01C491CC2381F08FE927
+:103CC0009FE00197F1F700C00000C150F6CF0E5FF2
+:103CD0001F4FFE01F49003C00E948B168E018F2DA2
+:103CE000882309F49FCFEFE9FFE03197F1F700C097
+:103CF00000008150F5CFDF91CF911F910F91FF9080
+:103D0000EF90089508956093C0017093C10180936E
+:103D1000C2019093C3010C94BA1A0F931F930091A0
+:103D2000C0011091C1012091C2013091C301DC0199
+:103D3000CB01802B912BA22BB32B8093C0019093AE
+:103D4000C101A093C201B093C3011F910F910C94C4
+:103D5000BA1A0F931F930091C0011091C1012091D5
+:103D6000C2013091C301DC01CB0180239123A22346
+:103D7000B3238093C0019093C101A093C201B0937B
+:103D8000C3011F910F910C94BA1A0F931F930091C6
+:103D9000C0011091C1012091C2013091C301DC0129
+:103DA000CB0180279127A227B3278093C00190934E
+:103DB000C101A093C201B093C3011F910F910C9454
+:103DC000BA1A1092BC011092BD011092BE0110925D
+:103DD000BF010C94BA1A41E050E060E070E004C00A
+:103DE000440F551F661F771F8A95D2F74093BC0179
+:103DF0005093BD016093BE017093BF010C94BA1A39
+:103E000041E050E060E070E004C0440F551F661FC1
+:103E1000771F8A95D2F78091BC019091BD01A09146
+:103E2000BE01B091BF01482B592B6A2B7B2B4093CD
+:103E3000BC015093BD016093BE017093BF010C940F
+:103E4000BA1A41E050E060E070E004C0440F551F32
+:103E5000661F771F8A95D2F74095509560957095AB
+:103E60008091BC019091BD01A091BE01B091BF01B4
+:103E7000482359236A237B234093BC015093BD01FF
+:103E80006093BE017093BF010C94BA1A41E050E0F8
+:103E900060E070E004C0440F551F661F771F8A95CD
+:103EA000D2F78091BC019091BD01A091BE01B0916B
+:103EB000BF01482759276A277B274093BC015093AD
+:103EC000BD016093BE017093BF010C94BA1A0F93A9
+:103ED0001F930091BC011091BD012091BE01309152
+:103EE000BF01DC01CB01802B912BA22BB32B809344
+:103EF000BC019093BD01A093BE01B093BF011F917F
+:103F00000F910C94BA1A0F931F930091BC0110915A
+:103F1000BD012091BE013091BF01DC01CB018023A6
+:103F20009123A223B3238093BC019093BD01A0935E
+:103F3000BE01B093BF011F910F910C94BA1A0F9359
+:103F40001F930091BC011091BD012091BE013091E1
+:103F5000BF01DC01CB0180279127A227B3278093E3
+:103F6000BC019093BD01A093BE01B093BF011F910E
+:103F70000F910C94BA1A0895CF92DF92EF92FF92AC
+:103F80000F931F93CF93DF938C01C090BC01D0900F
+:103F9000BD01E090BE01F090BF018091C001909101
+:103FA000C101A091C201B091C301C82AD92AEA2A4D
+:103FB000FB2ACFE1D0E0D701C6010C2E04C0B69594
+:103FC000A795979587950A94D2F780FF07C0B80107
+:103FD0008C2F0E94E90B8130910531F4219758F71D
+:103FE000B80180E00E94E90BDF91CF911F910F9102
+:103FF000FF90EF90DF90CF90089590910C0199235E
+:1040000079F190910D01992359F1982F96959695F4
+:1040100096959F30A0F4E0910E01F0910F01E90F09
+:10402000F11D877021E030E0A90102C0440F551F47
+:104030008A95E2F7CA019181892B81830895909135
+:10404000D70190FF29C01F928F9387ED95E09F9332
+:104050008F930E94F0070F900F900F900F9008958C
+:1040600020910E0130910F01F90132969FEF40E04F
+:104070005191851789F09F3F19F4511101C0942F78
+:104080004F5F4E30A9F79F3F39F0F901E90FF11D5D
+:1040900097FDFA9582830895089590910C019923D4
+:1040A00081F190910D01992361F1982F9695969544
+:1040B00096959F30A8F4E0910E01F0910F01E90F61
+:1040C000F11D877021E030E0A90102C0440F551FA7
+:1040D0008A95E2F7CA0180959181892381830895A9
+:1040E0009091D70190FF1DC01F928F9389EB95E0AF
+:1040F0009F938F930E94F0070F900F900F900F9057
+:10410000089520910E0130910F01F9013296205F40
+:104110003F4F9081891301C010823196E217F30757
+:10412000C1F7089581E090E0E0910E01F0910F0158
+:10413000E80FF91F1082019680319105A9F70895C3
+:104140009091D601892B8093D60108958095909106
+:10415000D60189238093D60108951092D60108953F
+:104160009091D501892B8093D501089580959091E8
+:10417000D50189238093D50108951092D501089522
+:104180008093C40108951092C401089580910E0196
+:1041900090910F01FC0131969C01205F3F4F80E020
+:1041A000919191118F5FE217F307D1F70895E09194
+:1041B0000E01F0910F018091D6018083E0910E01F4
+:1041C000F0910F0190818091D501892B808380919E
+:1041D000C401882361F0E0910E01F0910F019081FC
+:1041E000892B80830E94C62081111092C401809186
+:1041F0000E0190910F010C940A1590933B0180934E
+:104200003A010895CF92DF92EF92FF926C01EE2473
+:10421000FF24C114D104E104F10421F0C701B60167
+:1042200020E101C020E0C72ED82EE92EFF24C114C2
+:10423000D104E104F10419F0285FC701B6016B0154
+:104240007C0154E0F694E794D794C7945A95D1F73B
+:10425000C114D104E104F10419F02C5FC701B601C7
+:104260006B017C0142E0F694E794D794C7944A9599
+:10427000D1F7C114D104E104F10419F02E5FC70194
+:10428000B601DC01CB01B695A79597958795892B4B
+:104290008A2B8B2B09F02F5F822FFF90EF90DF90FE
+:1042A000CF9008958295982F937344E0949F900146
+:1042B00011248C7C86958695282B822F8575880FF6
+:1042C0002A7A2695822B08951F93CF93DF931F920E
+:1042D000CDB7DEB799830E945221182F9981892F7B
+:1042E0000E945221212F30E0322F2227A901482B92
+:1042F000CA010F90DF91CF911F9108958091EF0136
+:10430000843011F120E488E190E00FB6F894A8958C
+:10431000809360000FBE2093600083B7817F84602C
+:1043200083BF83B7816083BF7894889583B78E7F7E
+:1043300083BF0FB6F894A895809160008861809340
+:104340006000109260000FBE089508950C94A5219E
+:10435000CF930E94A6210E9484090E94A521C0E05B
+:104360008C2F0E94B80A811104C0CF5FCE30C1F7F4
+:1043700001C081E0CF9108950E94CC1A0E94FE14E2
+:104380000C942C0D82E084BD93E095BD9AEF97BD0F
+:1043900080936E0008952FB7F8948091D801909182
+:1043A000D901A091DA01B091DB012FBF0895CF921E
+:1043B000DF92EF92FF920F931F932FB7F8944091E3
+:1043C000D8015091D9016091DA017091DB012FBFC2
+:1043D0006A017B01EE24FF248C0120E030E0C0164E
+:1043E000D106E206F30610F4415051099A01281B48
+:1043F000390BC9011F910F91FF90EF90DF90CF9083
+:1044000008951F920F920FB60F9211248F939F93CE
+:10441000AF93BF938091D8019091D901A091DA0117
+:10442000B091DB010196A11DB11D8093D80190933D
+:10443000D901A093DA01B093DB01BF91AF919F91B5
+:104440008F910F900FBE0F901F9018950E94F7113B
+:10445000F8942FEF87EA91E6215080409040E1F7F1
+:1044600000C0000087E090EBDC018093F80190939E
+:10447000F901A093FA01B093FB019CE088E10FB62B
+:10448000F894A895809360000FBE90936000FFCFD2
+:10449000EF92FF920F931F93CF93DF93D82FC0E03B
+:1044A0008C2F0E94B80A00E010E0E82EF12CC70122
+:1044B000002E02C0959587950A94E2F780FD06C00C
+:1044C0000F5F1F4F0630110591F709C0602F7C2F39
+:1044D00080E00E94C60B8D13F3CF81E004C0CF5F54
+:1044E000CE30F1F680E0DF91CF911F910F91FF90D8
+:1044F000EF900895CF93C82F8CE20E944822882322
+:1045000021F08C2FCF910C94482280E0CF91089518
+:10451000CF930E94D723811102C00E94BD238CEF4C
+:1045200095E00E945707C5E6C15049F00E948409F2
+:104530008FE39CE90197F1F700C00000F5CF85EF0C
+:1045400095E00E94570789E20E947A22811113C1E7
+:104550008AE20E947A2281110E94BD2385E00E9496
+:104560007A2281110E9426220E94E2238093D701A1
+:1045700087E00E947A228823A9F18BE10E947A22A7
+:10458000882351F08091D70181FB222720F991E007
+:10459000922790FB81F90EC08EE00E947A22882338
+:1045A00061F08091D70182FB222720F991E09227C8
+:1045B00090FB82F98093D70115C080E10E947A2296
+:1045C0009091D701882341F093FB222720F981E0C5
+:1045D000822780FB93F904C0892F809580FB90F996
+:1045E0009093D7018091D7010E94E6230E94F42383
+:1045F0008093E90180EE0E947A22882341F0809125
+:10460000E901982F909590FB80F98093E90189E367
+:104610000E947A22882359F08091E90181FB2227A8
+:1046200020F991E0922790FB81F98093E90182EED5
+:104630000E947A22882359F08091E90182FB222787
+:1046400020F991E0922790FB82F98093E90186EEB0
+:104650000E947A22882359F08091E90183FB222766
+:1046600020F991E0922790FB83F98093E90183EE92
+:104670000E947A22882359F08091E90184FB222745
+:1046800020F991E0922790FB84F98093E90185E37A
+:104690000E947A22882359F08091E90185FB222724
+:1046A00020F991E0922790FB85F98093E90181E35D
+:1046B0000E947A22882359F08091E90186FB222703
+:1046C00020F991E0922790FB86F98093E90181E13E
+:1046D0000E947A22882359F08091E90187FB2227E2
+:1046E00020F991E0922790FB87F98093E90180916E
+:1046F000E9010E94F8238091E90187FB882780F96E
+:1047000080930D0187E20E947A22C82F8EE10E94D9
+:104710007A228111C2608FE10E947A228111C460E5
+:1047200080E20E947A228111C86081E20E947A228E
+:104730008111C06182E20E947A228111C06283E20B
+:104740000E947A228111C06484E20E947A22882326
+:1047500011F0C06802C0CC2329F08C2F0E94EF23F7
+:104760006C2F03C00E94EB23682F70E080E090E084
+:10477000CF910C94831ECF9108956DEE7EEF80E073
+:1047800090E00E94CE2D60E082E090E00E94C02D7B
+:1047900060E083E090E00E94C02D60E084E090E063
+:1047A0000E94C02D60E085E090E00C94C02D80E078
+:1047B00090E00E94BA2D21E08D3E9E4F09F020E04E
+:1047C000822F089582E090E00C94B22D682F82E051
+:1047D00090E00C94C02D83E090E00C94B22D682FF3
+:1047E00083E090E00C94C02D84E090E00C94B22D16
+:1047F000682F84E090E00C94C02D8091DE0180FF52
+:104800000BC06091130185E0689FB001112475957C
+:104810006795759567952BC081FF09C0609113015D
+:1048200085E0689FB00111247595679520C082FFCF
+:1048300007C06091130185E0689FB001112417C083
+:104840009091DF019923D1F060911201961788F7BA
+:104850002091130185E0289F90011124929FA001CF
+:10486000939F500D112470E0CA010E94842D60387E
+:10487000710540F46115710519F406C065E070E03A
+:10488000862F08958FE7089581E008958091DE01D5
+:1048900080FF08C06091110170E07595679575956E
+:1048A000679521C081FF06C06091110170E0759588
+:1048B000679519C082FF04C06091110170E010C0BB
+:1048C0009091DF01992399F0609110019617A0F75C
+:1048D00080911101899FC001112470E00E94842DF4
+:1048E0006038710540F46115710519F406C061E086
+:1048F00070E0862F08958FE7089581E00895803F46
+:1049000021F40E94FD23819504C0813F29F40E9477
+:10491000FD238093E2010895823F21F40E94FD234C
+:10492000819504C0833F29F40E94FD238093E10117
+:104930000895893F19F40E94462405C08A3F31F446
+:104940000E94462481958093E30108958B3F21F4D2
+:104950000E944624819504C08C3F29F40E9446247D
+:104960008093E4010895843F21F48091E001816007
+:1049700017C0853F21F48091E001826011C0863F1D
+:1049800021F48091E00184600BC0873F21F4809185
+:10499000E001886005C0883F31F48091E0018061CA
+:1049A0008093E00108958D3F21F48091DE018160C4
+:1049B0000BC08E3F21F48091DE01826005C08F3FE5
+:1049C00029F48091DE0184608093DE010895803FA8
+:1049D00039F48091E20187FF6CC01092E20169C056
+:1049E000813F29F48091E2011816BCF362C09091D6
+:1049F000E101823F29F497FF5CC01092E10159C0A8
+:104A0000833F19F41916CCF354C0893F41F48091C7
+:104A1000E30118160CF04DC01092E3014AC08A3F22
+:104A200029F48091E30187FF44C0F6CF8B3F39F42E
+:104A30008091E40187FF3DC01092E4013AC08C3FB1
+:104A400029F48091E4011816BCF333C0843F21F4AB
+:104A50008091E0018E7F17C0853F21F48091E001B5
+:104A60008D7F11C0863F21F48091E0018B7F0BC0C8
+:104A7000873F21F48091E001877F05C0883F31F4B2
+:104A80008091E0018F7E8093E00113C08D3F21F47F
+:104A90008091DE018E7F0BC08E3F21F48091DE017C
+:104AA0008D7F05C08F3F29F48091DE018B7F80933D
+:104AB000DE018091E10181110EC08091E20181113E
+:104AC0000AC08091E301811106C08091E401811147
+:104AD00002C01092DF0108958091D70183FF7EC04C
+:104AE00088E396E00E9457078091E0011F928F9320
+:104AF00083E396E09F938F930E94F00781E396E013
+:104B00000E9457078091E101282F082E000C330BDB
+:104B10003F938F938EE296E09F938F930E94F007CE
+:104B20008CE296E00E9457078091E201282F082E20
+:104B3000000C330B3F938F9389E296E09F938F9302
+:104B40000E94F00787E296E00E9457078091E301F8
+:104B5000282F082E000C330B3F938F9384E296E0AE
+:104B60009F938F930E94F00782E296E00E9457077E
+:104B70008091E401282F082E000C330B3F938F9374
+:104B80008FE196E09F938F930E94F0078CE196E06F
+:104B90000E9457078091DF011F928F9389E196E071
+:104BA0009F938F930E94F00787E196E00E9457073A
+:104BB0008091DE011F928F9384E196E09F938F9303
+:104BC0000E94F00781E196E00E9457078DB79EB7DB
+:104BD0004C960FB6F8949EBF0FBE8DBF80EE91E04D
+:104BE0000E9452150E94CB219093DD018093DC013D
+:104BF00008951F93CF93DF938091DC019091DD01A5
+:104C00000E94D721AC019091DF01992321F02091DE
+:104C1000140130E006C0209115018AE0289F900120
+:104C200011244217530708F485C08091E101C09117
+:104C3000E201D091E3011091E401811107C0C1119B
+:104C400075C0D11173C0111171C074C09F3F19F0AC
+:104C50009F5F9093DF01181624F40E94FD23809338
+:104C6000E1018091E10187FF05C00E94FD2381954C
+:104C70008093E1011C1624F40E94FD238093E2013D
+:104C80008091E20187FF05C00E94FD2381958093FA
+:104C9000E2016091E101662331F1C091E201CC2390
+:104CA00011F1062E000C770B880B990B0E947F2CBC
+:104CB00023E333E343E35FE30E94E32C0E94472CAA
+:104CC0006093E1016C2FCC0F770B880B990B0E943E
+:104CD0007F2C23E333E343E35FE30E94E32C0E9452
+:104CE000472C6093E2011D1624F40E944624809311
+:104CF000E3018091E30187FF05C00E94462481956E
+:104D00008093E301111624F40E9446248093E40169
+:104D10008091E40187FF05C00E944624819580931D
+:104D2000E401DF91CF911F910C946C259F3F09F016
+:104D30008FCFA0CFDF91CF911F910895E0EEF1E0EA
+:104D400085E0DF011D928A95E9F71092DF0110924C
+:104D5000DE0108958BE598E00E9457071F9281E0DD
+:104D60008F931F9285E08F938DE098E09F938F93B0
+:104D70000E94F0070F900F900F900F900F900F90E0
+:104D800008958330E9F128F4813061F0823009F12F
+:104D90000895853009F462C008F449C0863009F4EA
+:104DA00074C0089580911501262F30E0280F311D21
+:104DB0002F3F310524F4680F6093150103C08FEF76
+:104DC00080931501809115011F928F9386E497E0DF
+:104DD00072C080911401262F30E0280F311D2F3F23
+:104DE000310524F4680F6093140103C08FEF8093A2
+:104DF0001401809114011F928F9384E397E05BC0AC
+:104E000080911301262F30E0280F311D2F3F3105EF
+:104E100024F4680F6093130103C08FEF8093130194
+:104E2000809113011F928F9381E297E044C080919B
+:104E30001201262F30E0280F311D2F3F310524F4B9
+:104E4000680F6093120103C08FEF8093120180916D
+:104E500012011F928F938CE097E02DC08091110179
+:104E6000262F30E0280F311D2F3F310524F4680F25
+:104E70006093110103C08FEF8093110180911101A4
+:104E80001F928F9383EF96E016C080911001262F1A
+:104E900030E0280F311D2F3F310524F4680F609357
+:104EA000100103C08FEF80931001809110011F92B9
+:104EB0008F9388ED96E09F938F930E94F0070F9059
+:104EC0000F900F900F900895833081F128F4813076
+:104ED00059F08230D1F00895853009F449C0B8F115
+:104EE000863009F456C0089580911501681720F4A2
+:104EF000861B8093150102C0109215018091150147
+:104F00001F928F9389EC96E054C08091140168172A
+:104F100020F4861B8093140102C01092140180912A
+:104F200014011F928F9387EB96E043C08091130189
+:104F3000681720F4861B8093130102C0109213019E
+:104F4000809113011F928F9384EA96E032C0809182
+:104F50001201681720F4861B8093120102C0109280
+:104F60001201809112011F928F938FE896E021C069
+:104F700080911101681720F4861B8093110102C0F3
+:104F800010921101809111011F928F9386E796E094
+:104F900010C080911001681720F4861B80931001C7
+:104FA00002C010921001809110011F928F938BE527
+:104FB00096E09F938F930E94F0070F900F900F90B1
+:104FC0000F900895CF93C82F1F928F9380E699E09A
+:104FD0009F938F930E94F00781E090E0A0E0B0E003
+:104FE000BC01CD0104C0660F771F881F991FCA95A9
+:104FF000D2F70E94831E0F900F900F900F90CF91C9
+:105000000C94CC1ACF938D3109F465C0B0F58E3075
+:1050100009F4CCC100F5873009F49BC1A8F48630AF
+:1050200009F06DC28091D701817F8E7F8093D70177
+:1050300085E699E00E94570784EA9DE00E945707A1
+:1050400081E08093E60180C1883009F44FC08B3045
+:1050500009F47CC154C2863109F4F0C138F48031BE
+:1050600009F4B8C1813109F430C249C2893109F467
+:10507000CEC18B3109F486C142C2853309F437C2EF
+:1050800048F4873209F433C208F433C2893209F490
+:105090002EC235C2833438F48A3308F02CC28833E8
+:1050A00009F454C12CC2833409F421C2883409F0B4
+:1050B00026C20E94CC1A83E99DE00E9457079FEF09
+:1050C00023ED80E3915020408040E1F700C00000D4
+:1050D0000E94262239C183EB9DE00E9457070E945F
+:1050E000012C0E94FE140E942C0D2EC188EA9DE026
+:1050F0000E94570786E79BE00E9457070E94EB2318
+:105100001F928F9383E79BE09F938F930E94F007FA
+:1051100081E79BE00E9457070E94E223C82F8EE59B
+:105120009BE00E9457071F92CF9389E59BE09F93D6
+:105130008F930E94F00787E59BE00E9457078DE45C
+:105140009BE00E9457078C2F81701F928F938AE4F7
+:105150009BE09F938F930E94F00788E49BE00E945E
+:1051600057078EE39BE00E945707C1FB882780F911
+:105170001F928F938BE39BE09F938F930E94F00786
+:1051800089E39BE00E9457078DE29BE00E9457074E
+:10519000C2FB882780F91F928F938AE29BE09F933E
+:1051A0008F930E94F00788E29BE00E9457078FE1EF
+:1051B0009BE00E945707C3FBCC27C0F91F92CF93F7
+:1051C0008CE19BE09F938F930E94F0078AE19BE024
+:1051D0000E9457070E94F423C82F86E09BE00E949C
+:1051E00057071F92CF9381E09BE09F938F930E947C
+:1051F000F0078FEF9AE00E94570786EE9AE00E9430
+:1052000057078C2F81701F928F9383EE9AE09F93A4
+:105210008F930E94F0078DB79EB780960FB6F894D3
+:105220009EBF0FBE8DBF81EE9AE00E9457078AECA9
+:105230009AE00E945707C1FB882780F91F928F933D
+:1052400087EC9AE09F938F930E94F00785EC9AE099
+:105250000E94570783EB9AE00E945707C2FB8827FA
+:1052600080F91F928F9380EB9AE09F938F930E9417
+:10527000F0078EEA9AE00E9457078CE99AE00E94B4
+:105280005707C3FB882780F91F928F9389E99AE01B
+:105290009F938F930E94F00787E99AE00E94570737
+:1052A0008DE89AE00E945707C4FB882780F91F9277
+:1052B0008F938AE89AE09F938F930E94F00788E883
+:1052C0009AE00E94570786E79AE00E945707C5FBBD
+:1052D000882780F91F928F9383E79AE09F938F939B
+:1052E0000E94F00781E79AE00E94570785E59AE05F
+:1052F0000E945707C6FB882780F91F928F9382E58B
+:105300009AE09F938F930E94F00780E59AE00E94B5
+:10531000570788E49AE00E945707C7FBCC27C0F9DB
+:105320001F92CF9385E49AE09F938F930E94F0079A
+:1053300083E49AE00E9457078DB79EB74C960FB64C
+:10534000F8949EBF0FBE8DBFC1E0DEC08CE899E02F
+:105350005BC08091D701C82FC17080FF09C086E86B
+:105360009DE00E9457078091D701817F8E7F47C0C3
+:105370008AE79DE00E9457078091D7018160809362
+:10538000D701E2CF9091D70191FBCC27C0F981E002
+:10539000C827892FC0FB81F98093D701CC2319F04E
+:1053A0008DE69DE027C08FE59DE02EC09091D7014E
+:1053B00092FBCC27C0F981E0C827892FC0FB82F976
+:1053C0008093D701CC2319F080E59DE013C080E4E1
+:1053D0009DE01AC09091D70193FBCC27C0F981E0E2
+:1053E000C827892FC0FB83F98093D701CC2351F0C4
+:1053F00084E39DE00E9457078091D70181608093EC
+:10540000D70182C087E29DE00E9457079DCF88E1C7
+:105410009DE00E9457078CEE9CE00E9457078FEAA0
+:105420009CE00E94570788E89CE00E94570784E4AC
+:105430009CE00E94570786E19CE0E6CF88E09CE074
+:105440000E9457070E94FE141F928F938EEE9BE0DE
+:105450009F938F930E94F00780910C011F928F936E
+:1054600087ED9BE09F938F930E94F00780916E01E0
+:105470001F928F9384EC9BE09F938F930E94F00781
+:1054800080910D011F928F9381EB9BE09F938F93EF
+:105490000E94F0078091D8019091D901A091DA0182
+:1054A000B091DB01BF93AF939F938F938DE99BE006
+:1054B0009F938F930E94F0078DB79EB746960FB6C5
+:1054C000F8949EBF0FBE8DBF3FCF0E94CC1AC091F3
+:1054D0000D0181E0C827C0930D01CC2329F083E999
+:1054E0009BE00E94570710C088E89BE08DCF80E0CA
+:1054F00003C08D5101C089530E94E22725CF86E861
+:105500009BE00E945707C0E08C2FCF91089580E068
+:1055100008950C94872ACF93C82F8091E60181309B
+:1055200081F020F0823009F44FC045C1E0910E01B6
+:10553000F0910F018081813169F0823209F03DC123
+:1055400009C0E0910E01F0910F018081813111F0CD
+:10555000823261F48C2F0E94892A811104C08C2F21
+:105560000E9402282FC081E090E02CC08C2F0E9466
+:10557000872A811126C0C431E1F070F4CB3081F06C
+:10558000C031D1F40E94AA2688E599E00E9457070D
+:1055900082E08093E60115C0C93259F0C83361F446
+:1055A00085E699E00E9457078CE599E00E9457072D
+:1055B00008C01092E60103C186E599E00E945707F2
+:1055C000FEC081E08170FDC0C43220F5CE3108F00C
+:1055D000C0C0CB3099F1C8F4C73009F0D2C08AE01E
+:1055E0008093150194E19093140193E0909313013B
+:1055F0008093120188E08093110188E2809310016A
+:105600008CEF97E00E945707BFC0C33149F1C43106
+:10561000C1F0B7C0CB3409F4A9C028F4C93289F06D
+:10562000C83361F0AEC0C13509F49EC0C23509F47B
+:1056300099C0CE3409F0A5C06AE09EC00E94AA2697
+:10564000A3C08091E501882319F01092E5019CC068
+:1056500089E098E00E94570781E08093E601B1C09D
+:1056600083EE97E00E94570781ED97E00E9457076D
+:10567000809115011F928F938EEC97E09F938F93EB
+:105680000E94F0078CEC97E00E9457078AEB97E0A6
+:105690000E945707809114011F928F9387EB97E028
+:1056A0009F938F930E94F00785EB97E00E94570726
+:1056B00086EA97E00E945707809113011F928F930B
+:1056C00083EA97E09F938F930E94F00781EA97E027
+:1056D0000E94570780E997E00E94570780911201C6
+:1056E0001F928F938DE897E09F938F930E94F0070E
+:1056F0008BE897E00E94570786E797E00E945707DC
+:10570000809111011F928F9383E797E09F938F936E
+:105710000E94F00781E797E00E9457078AE597E02B
+:105720000E945707809110011F928F9387E597E0A1
+:105730009F938F930E94F00785E597E00E9457079B
+:105740008DB79EB748960FB6F8949EBF0FBE8DBF1B
+:105750001BC0CE51EC2FF0E0E15DFE4F80818093C5
+:10576000E50112C061E003C061E006C06AE080911B
+:10577000E5010E94C12608C08091E5010E946427CE
+:1057800003C08AEF97E013C08091E501882369F098
+:105790001F928F9384EF97E09F938F930E94F0075F
+:1057A0000F900F900F900F9004C081EF97E00E9430
+:1057B000570781E006C01092E60180E002C080E059
+:1057C00001CFCF910895E1E8F0E080818860808387
+:1057D0008081816080838FB7F89493E090938900F3
+:1057E00090ED909388008FBF0895EFE6F0E0808100
+:1057F000826080830895EFE6F0E080818D7F808372
+:105800000895EFE6F0E0908182E089278083089593
+:105810001F920F920FB60F9211242F933F934F9325
+:105820005F936F937F938F939F93AF93BF93EF9308
+:10583000FF938091E7019091E80101969093E80130
+:105840008093E701811103C082E00E942C0DE0915A
+:10585000E801E695E695F0E0ED53F24FE491809192
+:10586000E7018E1303C080E00E942C0DFF91EF91A1
+:10587000BF91AF919F918F917F916F915F914F9168
+:105880003F912F910F900FBE0F901F9018950E947F
+:105890004E2C6894B1110C94DD2C08950E94C22CFA
+:1058A00088F09F5798F0B92F9927B751B0F0E1F0E1
+:1058B000660F771F881F991F1AF0BA95C9F714C091
+:1058C000B13091F00E94DC2CB1E008950C94DC2CF6
+:1058D000672F782F8827B85F39F0B93FCCF38695CA
+:1058E00077956795B395D9F73EF490958095709527
+:1058F00061957F4F8F4F9F4F0895E89409C097FBA4
+:105900003EF490958095709561957F4F8F4F9F4F96
+:105910009923A9F0F92F96E9BB279395F6958795DA
+:1059200077956795B795F111F8CFFAF4BB0F11F49D
+:1059300060FF1BC06F5F7F4F8F4F9F4F16C0882344
+:1059400011F096E911C0772321F09EE8872F762F7A
+:1059500005C0662371F096E8862F70E060E02AF0BB
+:105960009A95660F771F881FDAF7880F96958795A7
+:1059700097F9089557FD9058440F551F59F05F3F10
+:1059800071F04795880F97FB991F61F09F3F79F061
+:1059900087950895121613061406551FF2CF4695E3
+:1059A000F1DF08C0161617061806991FF1CF869565
+:1059B0007105610508940895E894BB276627772749
+:1059C000CB0197F908950E94F62C0C94672D0E9444
+:1059D000592D38F00E94602D20F0952311F00C9481
+:1059E000502D0C94562D11240C94DD2C0E94BA2CB1
+:1059F00070F3959FC1F3950F50E0551F629FF00122
+:105A0000729FBB27F00DB11D639FAA27F00DB11D3A
+:105A1000AA1F649F6627B00DA11D661F829F2227C3
+:105A2000B00DA11D621F739FB00DA11D621F839F4A
+:105A3000A00D611D221F749F3327A00D611D231F20
+:105A4000849F600D211D822F762F6A2F11249F576E
+:105A500050409AF0F1F088234AF0EE0FFF1FBB1F71
+:105A6000661F771F881F91505040A9F79E3F510530
+:105A700080F00C94502D0C94DD2C5F3FE4F3983EA5
+:105A8000D4F3869577956795B795F795E7959F5FDA
+:105A9000C1F7FE2B880F911D9695879597F908956C
+:105AA00097F99F6780E870E060E008959FEF80ECD1
+:105AB000089500240A941616170618060906089574
+:105AC00000240A9412161306140605060895092EDA
+:105AD0000394000C11F4882352F0BB0F40F4BF2B49
+:105AE00011F460FF04C06F5F7F4F8F4F9F4F089589
+:105AF000991B79E004C0991F961708F0961B881F20
+:105B00007A95C9F78095089597FB072E16F40094AF
+:105B100007D077FD09D00E949E2D07FC05D03EF4EA
+:105B2000909581959F4F0895709561957F4F089549
+:105B3000EE0FFF1F0590F491E02D0994AA1BBB1BEB
+:105B400051E107C0AA1FBB1FA617B70710F0A61B7D
+:105B5000B70B881F991F5A95A9F780959095BC019E
+:105B6000CD010895F999FECF92BD81BDF89A99278C
+:105B700080B50895A8E1B0E042E050E00C94D52D46
+:105B8000262FF999FECF1FBA92BD81BD20BD0FB659
+:105B9000F894FA9AF99A0FBE019608950E94C02DC2
+:105BA000272F0C94C12DDC01CB01FC01F999FECF0C
+:105BB00006C0F2BDE1BDF89A319600B40D92415095
+:0A5BC0005040B8F70895F894FFCFA5
+:105BCA0020022D0D200EFB0DC70D930D0101C501FD
+:105BDA0028080A03140A3F4D3620394605F904C33A
+:105BEA0004A3046A04DD03F6030F0428044804012D
+:0A5BFA000203040506070809000075
+:00000001FF
diff --git a/keyboard/ergodox_ez/keymaps/naps62/keymap.c b/keyboard/ergodox_ez/keymaps/naps62/keymap.c new file mode 100644 index 000000000..b954a311e --- /dev/null +++ b/keyboard/ergodox_ez/keymaps/naps62/keymap.c @@ -0,0 +1,187 @@ +#include "ergodox_ez.h" +#include "debug.h" +#include "action_layer.h" + +#define BASE 0 // default layer +#define SYMB 1 // symbols +#define MDIA 2 // media keys + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +/* Keymap 0: Basic layer + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | Esc | 1 ! | 2 @ | 3 # | 4 $ | 5 % | Lang | | Esc | 6 ^ | 7 & | 8 * | 9 ( | 0 ) | Bckspc | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | Tab | Q | W | E | R | T | L2 | | L2 | Y | U | I | O | P | \ | | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | Ctrl | A | S | D | F | G |------| |------| H | J | K | L | ; : | ' " | + * |--------+------+------+------+------+------| L1 | | L1 |------+------+------+------+------+--------| + * | LShift | Z | X | C | V | B | | | | N | M | , < | . > | / ? | - _ | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * | L1 | ` ~ | ' " | \ | | L2 | | { | } | [ { | ] } | L1 | + * `----------------------------------' `----------------------------------' + * ,--------------. ,---------------. + * | Home | End | | PgUp |Insert | + * ,------|-------|------| |-------+-------+------. + * | | | LGui | | Del | | | + * | Space| Alt |------| |-------| Enter |Space | + * | | | LGui | | Bcsp | | | + * `---------------------' `----------------------' + */ +// If it accepts an argument (i.e, is a function), it doesn't need KC_. +// Otherwise, it needs KC_* +[BASE] = KEYMAP( // layer 0 : default + // left hand + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, LGUI(KC_SPC), + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, MO(2), + KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, MO(1), + MO(1), KC_GRV, KC_QUOT, KC_BSLS, MO(2), + + KC_HOME, KC_END, + KC_LGUI, + KC_SPC, KC_LALT, KC_LGUI, + + // right hand + KC_ESC, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, + MO(2), KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, + KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, + MO(1), KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_MINS, + KC_LCBR, KC_RCBR, KC_LBRC, KC_RBRC, MO(1), + + KC_PGUP, KC_INS, + KC_DEL, + KC_BSPC, KC_ENT, KC_SPC +), +/* Keymap 1: Symbol Layer + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F11 | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | | ! | @ | { | } | | | | | | Up | 7 | 8 | 9 | * | F12 | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | # | $ | ( | ) | ` |------| |------| Down | 4 | 5 | 6 | + | | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | % | ^ | [ | ] | ~ | | | | & | 1 | 2 | 3 | \ | | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * | | | | | | | = | . | 0 | - | | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | | | | | | + * ,------|------|------| |------+------+------. + * | | | | | | | | + * | | |------| |------| | | + * | | | | | | | | + * `--------------------' `--------------------' + */ +// SYMBOLS +[SYMB] = KEYMAP( + // left hand + KC_TRNS,KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS, + KC_TRNS,KC_EXLM,KC_AT, KC_LCBR,KC_RCBR,KC_PIPE,KC_TRNS, + KC_TRNS,KC_HASH,KC_DLR, KC_LPRN,KC_RPRN,KC_GRV, + KC_TRNS,KC_PERC,KC_CIRC,KC_LBRC,KC_RBRC,KC_TILD,KC_TRNS, + KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, + KC_TRNS,KC_TRNS, + KC_TRNS, + KC_TRNS,KC_TRNS,KC_TRNS, + // right hand + KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, + KC_TRNS, KC_UP, KC_7, KC_8, KC_9, KC_ASTR, KC_F12, + KC_DOWN, KC_4, KC_5, KC_6, KC_PLUS, KC_TRNS, + KC_TRNS, KC_AMPR, KC_1, KC_2, KC_3, KC_BSLS, KC_TRNS, + KC_EQL,KC_DOT, KC_0, KC_MINS, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS +), +/* Keymap 2: Media and mouse keys + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | | | | | | | | | | | | | | | | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | | |GuiUp | Expl | | Term | | | | | | | | | | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | |GuiLft|GuiDwn|GuiRgt| | |------| |------| Left | Down | Up |Right | | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | | | | |Browsr| | | | |VolDwn|VolUp | Mute | | | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * | | | | Lclk | Rclk | | Play | Prev | Next | | | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | | | | | | + * ,------|------|------| |------+------+------. + * | | | | | |Brwser|Brwser| + * | Lclk | Rclk |------| |------|Fwd |Back | + * | | | | | | | | + * `--------------------' `--------------------' + */ +// MEDIA AND MOUSE +KEYMAP( + RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, LGUI(KC_W), LGUI(KC_E), KC_BTN1, LGUI(KC_T), KC_TRNS, + KC_TRNS, LGUI(KC_A), LGUI(KC_S), LGUI(KC_D), KC_MS_D, KC_MS_R, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_BTN1, KC_BTN2, KC_TRNS, + // right hand + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_TRNS, KC_TRNS, + KC_MPLY, KC_MPRV, KC_MNXT, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_WBAK, KC_WFWD +), +}; + +const uint16_t PROGMEM fn_actions[] = { + [1] = ACTION_LAYER_TAP_TOGGLE(SYMB) // FN1 - Momentary Layer 1 (Symbols) +}; + +const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) +{ + // MACRODOWN only works in this function + switch(id) { + case 0: + if (record->event.pressed) { + register_code(KC_RSFT); + } else { + unregister_code(KC_RSFT); + } + break; + } + return MACRO_NONE; +}; + +// Runs just one time when the keyboard initializes. +void * matrix_init_user(void) { + +}; + +// Runs constantly in the background, in a loop. +void * matrix_scan_user(void) { + + uint8_t layer = biton32(layer_state); + + ergodox_board_led_off(); + ergodox_right_led_1_off(); + ergodox_right_led_2_off(); + ergodox_right_led_3_off(); + switch (layer) { + // TODO: Make this relevant to the ErgoDox EZ. + case 1: + ergodox_right_led_1_on(); + break; + case 2: + ergodox_right_led_2_on(); + break; + default: + // none + break; + } + +}; |