]> git.friedersdorff.com Git - max/tmk_keyboard.git/commitdiff
hhkb: Add unimap for hhkb
authortmk <hasu@tmk-kbd.com>
Tue, 30 Aug 2016 03:48:12 +0000 (12:48 +0900)
committertmk <hasu@tmk-kbd.com>
Tue, 30 Aug 2016 03:49:27 +0000 (12:49 +0900)
keyboard/hhkb/Makefile.unimap [new file with mode: 0644]
keyboard/hhkb/binary/hhkb_unimap.hex [new file with mode: 0644]
keyboard/hhkb/unimap_common.h
keyboard/hhkb/unimap_hhkb.c [new file with mode: 0644]

diff --git a/keyboard/hhkb/Makefile.unimap b/keyboard/hhkb/Makefile.unimap
new file mode 100644 (file)
index 0000000..6e402c0
--- /dev/null
@@ -0,0 +1,4 @@
+TARGET = hhkb_unimap
+UNIMAP_ENABLE = yes
+KEYMAP_SECTION_ENABLE = yes
+include Makefile
diff --git a/keyboard/hhkb/binary/hhkb_unimap.hex b/keyboard/hhkb/binary/hhkb_unimap.hex
new file mode 100644 (file)
index 0000000..c4125d1
--- /dev/null
@@ -0,0 +1,1329 @@
+:100000000C94C4050C940B060C940B060C940B0674\r
+:100010000C940B060C940B060C940B060C940B061C\r
+:100020000C940B060C940B060C943F0D0C940B06D1\r
+:100030000C94EC1B0C940B060C940B060C940B0606\r
+:100040000C940B060C940B060C940B060C940B06EC\r
+:100050000C940B060C948C1C0C940B060C940B0645\r
+:100060000C940B060C940B060C940B060C940B06CC\r
+:100070000C940B060C940B060C940B060C940B06BC\r
+:100080000C940B060C940B060C940B060C940B06AC\r
+:100090000C940B060C940B060C940B060C940B069C\r
+:1000A0000C940B060C940B060C940B06350E570E95\r
+:1000B000450F570E450F9C0EBF0E450F140F270F0F\r
+:1000C0002E122E125B125B12B612F212EA14EA140E\r
+:1000D0000A13EA1405140514C014EA14EA14D61419\r
+:1000E0001F141A16041D1B062021150807091905DF\r
+:1000F00022231C170A0B11801E352B39797B7A2C91\r
+:100100002425180C0E0D1080742A31287C7D7F7EEA\r
+:1001100026271213330F36802D2E302F3438378098\r
+:10012000253032583A20253038620A000A722F638F\r
+:100130002030313233343536370A005B735D004B83\r
+:100140006579626F6172642073746172742E0A0043\r
+:1001500055534220636F6E666967757265642E0A37\r
+:10016000005B575D005B535D005B525D005B445D6F\r
+:10017000005B435D001203480048004B0042002032\r
+:10018000006D006F00640000000E0374002E006D0F\r
+:10019000002E006B002E0000000403090409028DEC\r
+:1001A00000050100A032090400000103010100095B\r
+:1001B00021110100012240000705810308000A09FE\r
+:1001C0000401000103010200092111010001224D77\r
+:1001D000000705820308000A090402000103000069\r
+:1001E00000092111010001223600070583030800E0\r
+:1001F0000A090403000203000000092111010001A3\r
+:1002000022220007058403200001070504032000C3\r
+:10021000010904040001030000000921110100018B\r
+:1002200022390007058503100001120110010000AA\r
+:100230000008EDFEFECA04010102000105010906E5\r
+:10024000A101050719E029E71500250195087501A9\r
+:10025000810205081901290595057501910295018D\r
+:100260007503910105071900297715002501957877\r
+:1002700075018102C00631FF0974A10109751500DD\r
+:1002800026FF009520750881020976150026FF00DB\r
+:10029000952075089102C005010980A1018502160B\r
+:1002A000010026B7001A01002AB7007510950181D8\r
+:1002B00000C0050C0901A1018503160100269C025E\r
+:1002C0001A01002A9C02751095018100C0050109E0\r
+:1002D00002A1010901A1000509190129051500253F\r
+:1002E00001950575018102950175038101050109DB\r
+:1002F0003009311581257F95027508810609381569\r
+:1003000081257F950175088106050C0A3802158143\r
+:10031000257F950175088106C0C005010906A10168\r
+:10032000050719E029E715002501950875018102E7\r
+:1003300095017508810105081901290595057501C3\r
+:1003400091029501750391010507190029FF150018\r
+:1003500026FF00950675088100C00A002530325836\r
+:1003600020006B6579626F6172645F7265706F7295\r
+:10037000743A20004C45443A20253032580A006433\r
+:10038000656C5F6B65795F6269743A2063616E27A3\r
+:10039000742064656C3A20253032580A0061646428\r
+:1003A0005F6B65795F6269743A2063616E277420C0\r
+:1003B0006164643A20253032580A004F6E657368D4\r
+:1003C0006F743A2074696D656F75740A00646F6E9E\r
+:1003D000652E0A00626F6F746D61676963207363D5\r
+:1003E000616E3A202E2E2E2000290A002575002F3E\r
+:1003F000002575005D28002564002000256400208C\r
+:100400000025640020002564007C0025303258005F\r
+:100410006D6F7573656B6579205B62746E7C782097\r
+:1004200079207620685D287265702F61636C293AA7\r
+:10043000205B006D6B5F776865656C5F74696D65E7\r
+:100440005F746F5F6D6178203D2025640A006D6BDD\r
+:100450005F776865656C5F6D61785F737065656413\r
+:10046000203D2025640A006D6B5F74696D655F74C3\r
+:100470006F5F6D6178203D2025640A006D6B5F6DB4\r
+:1004800061785F7370656564203D2025640A006DA6\r
+:100490006B5F696E74657276616C203D2025640A1D\r
+:1004A000006D6B5F64656C6179203D2025640A00F6\r
+:1004B0006D6B5F776865656C5F74696D655F746FA0\r
+:1004C0005F6D6178203D2025640A006D6B5F776861\r
+:1004D00065656C5F6D61785F7370656564203D2054\r
+:1004E00025640A006D6B5F74696D655F746F5F6D85\r
+:1004F0006178203D2025640A006D6B5F6D61785F37\r
+:100500007370656564203D2025640A006D6B5F692A\r
+:100510006E74657276616C203D2025640A006D6BF7\r
+:100520005F64656C6179203D2025640A000A00251E\r
+:100530007500363A20776865656C5F74696D655F34\r
+:10054000746F5F6D61783A20000A00257500353AB6\r
+:1005500020776865656C5F6D61785F737065656451\r
+:100560003A20000A00257500343A2074696D655FF1\r
+:10057000746F5F6D61783A20000A00257500333A88\r
+:10058000206D61785F73706565643A20000A00250C\r
+:100590007500323A20696E74657276616C286D73ED\r
+:1005A000293A20000A00257500313A2064656C6103\r
+:1005B00079282A31306D73293A20000A092D2056F6\r
+:1005C000616C756573202D0A004D3E004D25643E1B\r
+:1005D00020003F007365742064656661756C740A61\r
+:1005E00000433E200077686572652064656C746125\r
+:1005F0003A20637572736F723D25642C20776865AD\r
+:10060000656C3D25640A53656520687474703A2FE3\r
+:100610002F656E2E77696B6970656469612E6F72E4\r
+:10062000672F77696B692F4D6F7573655F6B6579A0\r
+:10063000730A000A092D204D6F7573656B6579206B\r
+:100640002D0A4553432F713A09717569740A313A7D\r
+:100650000964656C6179282A31306D73290A323A50\r
+:1006600009696E74657276616C286D73290A333A74\r
+:10067000096D61785F73706565640A343A0974695D\r
+:100680006D655F746F5F6D61780A353A09776865EB\r
+:10069000656C5F6D61785F73706565640A363A09F1\r
+:1006A000776865656C5F74696D655F746F5F6D61B8\r
+:1006B000780A0A703A097072696E742076616C75F6\r
+:1006C00065730A643A097365742064656661756CC4\r
+:1006D00074730A75703A092B310A646F776E3A09A0\r
+:1006E0002D310A706775703A092B31300A706764D2\r
+:1006F0006F776E3A092D31300A0A73706565642090\r
+:100700003D2064656C7461202A206D61785F737090\r
+:10071000656564202A2028726570656174202F2029\r
+:1007200074696D655F746F5F6D6178290A003F00C1\r
+:100730004D3E2000433E20004C25640A000A092D4E\r
+:1007400020436F6E736F6C65202D0A4553432F71E4\r
+:100750003A09717569740A6D3A096D6F7573656B45\r
+:1007600065790A000A092D204D61676963202D0A09\r
+:10077000643A0964656275670A783A096465627566\r
+:1007800067206D61747269780A6B3A0964656275F5\r
+:1007900067206B6579626F6172640A6D3A096465FE\r
+:1007A000627567206D6F7573650A763A09766572B2\r
+:1007B00073696F6E0A733A097374617475730A63AF\r
+:1007C0003A09636F6E736F6C65206D6F64650A30F4\r
+:1007D0002D343A096C61796572302D3428463130F8\r
+:1007E0002D4634290A506175733A09626F6F746C33\r
+:1007F0006F616465720A653A09656570726F6D0AAA\r
+:100800006E3A094E4B524F0A000A002575002E6EB3\r
+:100810006B726F3A20000A002575002E73776170A5\r
+:100820005F6261636B736C6173685F6261636B735A\r
+:10083000706163653A20000A002575002E737761A8\r
+:10084000705F67726176655F6573633A20000A00C6\r
+:100850002575002E6E6F5F6775693A20000A0025C6\r
+:1008600075002E737761705F72616C745F7267756B\r
+:10087000693A20000A002575002E737761705F6C5D\r
+:10088000616C745F6C6775693A20000A0025750019\r
+:100890002E636170736C6F636B5F746F5F636F6EF9\r
+:1008A00074726F6C3A20000A002575002E73776110\r
+:1008B000705F636F6E74726F6C5F636170736C6F87\r
+:1008C000636B3A20000A0025303258006B65796D61\r
+:1008D00061705F636F6E6669672E7261773A2000A0\r
+:1008E0000A002575002E6D6F7573653A20000A00A9\r
+:1008F0002575002E6B6579626F6172643A20000A7B\r
+:10090000002575002E6D61747269783A20000A0026\r
+:100910002575002E656E61626C653A20000A00251F\r
+:100920003032580064656275675F636F6E66696731\r
+:100930002E7261773A20000A0025750064656661B1\r
+:10094000756C745F6C617965723A20003F004E4BA4\r
+:10095000524F3A206F66660A004E4B524F3A206F54\r
+:100960006E0A0074696D65725F7265616433322866\r
+:10097000293A202530346C580A006B6579626F6122\r
+:1009800072645F6E6B726F3A2025580A006B65794E\r
+:10099000626F6172645F69646C653A2025580A0071\r
+:1009A0006B6579626F6172645F70726F746F636F91\r
+:1009B0006C3A2025580A00686F73745F6B65796222\r
+:1009C0006F6172645F6C65647328293A2025580A48\r
+:1009D000000A092D20537461747573202D0A004795\r
+:1009E00043433A20342E392E32204156522D4C4961\r
+:1009F00042433A20312E382E3073766E20415652C3\r
+:100A00005F415243483A20617672350A004F505494\r
+:100A1000494F4E533A204C55464120424F4F544D7A\r
+:100A200041474943204D4F5553454B455920455863\r
+:100A30005452414B455920434F4E534F4C45204350\r
+:100A40004F4D4D414E44204E4B524F204B45594D3A\r
+:100A500041505F53454354494F4E20343039360A94\r
+:100A6000004255494C443A203831613064393420D1\r
+:100A70002831313A34343A323220417567203330EC\r
+:100A80002032303136290A005649443A203078461F\r
+:100A900045454428742E6D2E6B2E29205049443A2A\r
+:100AA000203078434146452848484B42206D6F64CA\r
+:100AB00029205645523A203078303130340A0044EB\r
+:100AC0004553433A20742E6D2E6B2E206B65796250\r
+:100AD0006F617264206669726D7761726520666FFE\r
+:100AE000722048484B42206D6F640A000A092D208D\r
+:100AF00056657273696F6E202D0A000A6D6F7573EB\r
+:100B0000653A206F66660A000A6D6F7573653A2054\r
+:100B10006F6E0A000A6B6579626F6172643A206FCA\r
+:100B200066660A000A6B6579626F6172643A206FCB\r
+:100B30006E0A000A6D61747269783A206F66660AFF\r
+:100B4000000A6D61747269783A206F6E0A000A6457\r
+:100B5000656275673A206F6E0A000A6465627567A0\r
+:100B60003A206F66660A000A0A626F6F746C6F61E2\r
+:100B70006465722E2E2E2000433E20006565636F53\r
+:100B80006E6669673A0A000011241FBECFEFDAE0F3\r
+:100B9000DEBFCDBF04B603FE27C08091EA0190916D\r
+:100BA000EB01A091EC01B091ED018730904BA74093\r
+:100BB000B04BD1F41092EA011092EB011092EC01CB\r
+:100BC0001092ED0114BE84B7877F84BF0FB6F894EE\r
+:100BD000A895809160008861809360001092600009\r
+:100BE0000FBEE0E0F8E3099511E0A0E0B1E0E0EC31\r
+:100BF000F0E502C005900D92A833B107D9F721E0C6\r
+:100C0000A8E3B1E001C01D92AA3EB207E1F70E943D\r
+:100C1000670A0C945E280C940000FF93EF93E09118\r
+:100C20003801F0913901309709F00995EF91FF9162\r
+:100C30000895FC018591803011F0EFDFFBCF08951E\r
+:100C4000FF27E0E230E247FF0CC0419597FF09C063\r
+:100C5000EDE26095709580959095611D711D811DE7\r
+:100C6000911D27FF02C0219530E350E2AA27660FAD\r
+:100C7000771F881F991FAA1FA41710F0A41B639544\r
+:100C80005A95A9F7AA3008F0A95FA05DAF93F39534\r
+:100C9000611571058105910541F7ED3211F4EF936E\r
+:100CA000F395F21718F43F93F395FBCF8F91B5DFCF\r
+:100CB000FA95E1F70895E991F9918591803021F055\r
+:100CC000853219F0AADFF9CF089520E0E894559114\r
+:100CD0005532C1F3503311F4689455915A3348F4A6\r
+:100CE000505390F3220F022E220F220F200D250FBA\r
+:100CF000F4CF0EF4219589919991533619F3533716\r
+:100D000029F1533559F1BC0188279927E8945C36BD\r
+:100D100021F48991999168945591543639F446EFAC\r
+:100D20007EF077FF0DC08FEF9FEF0AC055374AE086\r
+:100D300039F0583540E121F0523642E009F008958B\r
+:100D4000FF93EF937DDFEF91FF91B7CFFF93EF9389\r
+:100D5000FC0181918030B9F360DFFBCFFF93EF930B\r
+:100D600068DFF1CFDF93CF93CDB7DEB72596A3DF52\r
+:100D7000CF91DF9108958FEF84B980E485B95798BA\r
+:100D80005F9A2E9A2F98E2E4F1E088E08E0F11929C\r
+:100D90008E13FDCFEAE3F1E088E08E0F11928E13FF\r
+:100DA000FDCF82E491E090934D0180934C018AE362\r
+:100DB00091E090934B0180934A0108950F931F9304\r
+:100DC000CF93DF9380914A0190914B0120914C0188\r
+:100DD00030914D0130934B0120934A0190934D0186\r
+:100DE00080934C01C0E0D0E001E010E080E090E0B2\r
+:100DF00025B1207C2C2BAC0133E0440F551F3A95D4\r
+:100E0000E1F7242B25B9EAE1EA95F1F700C0E0917A\r
+:100E10004A01F0914B01EC0FFD1F208130E0082EBC\r
+:100E200002C0359527950A94E2F720FD2F9AF5E345\r
+:100E3000FA95F1F70000E6B52E982AE12A95F1F728\r
+:100E400000C040914C0150914D01DA01AC0FBD1F23\r
+:100E50004F9B0AC09801082E01C0220F0A94EAF79E\r
+:100E600020953C91232308C06C919801082E01C065\r
+:100E7000220F0A94EAF7262B2C9326B56E2F70E0EA\r
+:100E80002E1718F026B530E004C026B530E021500A\r
+:100E90003F4F261B370B2630310558F0E0914A01B1\r
+:100EA000F0914B01EC0FFD1F2081FA01EC0FFD1FAB\r
+:100EB00020833AE13A95F1F700C02F982E9AEBE2A1\r
+:100EC000F1E03197F1F700C00000019688309105FC\r
+:100ED00009F08ECFA0914C01B0914D01AC0FBD1F18\r
+:100EE000E0914A01F0914B01EC0FFD1F9C91808134\r
+:100EF000981751F00E942A1C60934E0170934F0185\r
+:100F000080935001909351012196C830D10509F08A\r
+:100F10006DCF8091E001853021F08091E001811159\r
+:100F200011C060914E0170914F01809150019091DC\r
+:100F300051010E94601C613177428105910510F0DA\r
+:100F40000E94AD1B81E0DF91CF911F910F91089519\r
+:100F500020914C0130914D01F901E80FF11D808184\r
+:100F600008950F931F93CF93DF938CE291E00E943B\r
+:100F70001906C0E0D0E000E211E0E0914C01F091F0\r
+:100F80004D01EC0FFD1F80810E94821B1F928F93E9\r
+:100F9000DF93CF931F930F930E94B20621960F9079\r
+:100FA0000F900F900F900F900F90C830D10529F738\r
+:100FB000DF91CF911F910F91089508950895569A4A\r
+:100FC00081FF02C05E9A08955E9808958091650140\r
+:100FD00008959FB7F894109254019FBF9091E0013B\r
+:100FE000943009F057C09091E9009F703091EC0067\r
+:100FF000232F217030FD20E8922B24E02093E9007C\r
+:101000002091EB0020FF43C02091EE0027FF3FC05E\r
+:1010100020915201222321F02091E80025FF37C0C2\r
+:101020001092520126E03091E80035FD15C0309154\r
+:10103000E001343061F53091EB0035FD28C02150DE\r
+:1010400021F481E08093520122C0EFE9FFE0319763\r
+:10105000F1F700C00000E7CF8093F1008091E80035\r
+:1010600085FD0AC08091E80080FFFCCF8091E800F8\r
+:101070008E778093E80006C08FB7F89421E0209324\r
+:1010800054018FBF9F709093E90080E008959F7096\r
+:101090009093E9008FEF0895CF93DF9300D01F92D4\r
+:1010A000CDB7DEB79C018091E001843019F593E063\r
+:1010B00099833B832A839093E9008FEF9091E80016\r
+:1010C000815095FD06C095ED9A95F1F700008111CC\r
+:1010D000F5CF8091E80085FF0DC040E050E063E06F\r
+:1010E00070E0CE0101960E942D0B8091E8008E7772\r
+:1010F0008093E8000F900F900F90DF91CF910895AB\r
+:10110000CF93DF9300D01F92CDB7DEB72091E001DF\r
+:10111000243021F522E029839B838A8383E0809316\r
+:10112000E9008FEF9091E800815095FD06C095EDA4\r
+:101130009A95F1F700008111F5CF8091E80085FFC5\r
+:101140000DC040E050E063E070E0CE0101960E94E7\r
+:101150002D0B8091E8008E778093E8000F900F9020\r
+:101160000F90DF91CF9108952091E0012430F1F4A8\r
+:1011700022E02093E9002FEF3091E800215035FD67\r
+:1011800006C035ED3A95F1F700002111F5CF209119\r
+:10119000E80025FF0BC040E050E065E070E00E94F1\r
+:1011A0002D0B8091E8008E778093E8000895CF930F\r
+:1011B000DF932091E001243009F048C0EC018091D8\r
+:1011C0000A018823E1F080910B018823C1F085E0BA\r
+:1011D0008093E9008FEF9091E800815095FD06C063\r
+:1011E00095E19A95F1F700008111F5CF8091E80023\r
+:1011F00085FF2CC040E050E060E170E017C081E066\r
+:101200008093E9008FEF9091E800815095FD06C032\r
+:1012100095ED9A95F1F700008111F5CF8091E800E6\r
+:1012200085FF14C040E050E068E070E0CE010E940D\r
+:101230002D0B8091E8008E778093E80080E1FE011D\r
+:10124000A5E5B1E001900D928A95E1F7DF91CF918C\r
+:10125000089581E791E00E9419068091DF018111D4\r
+:1012600009C00E94C40C0E94210D8091E20084609C\r
+:101270008093E20008958DE691E00E941906109295\r
+:10128000DF01089589E691E00C941906209153013D\r
+:101290002F5F822F62E30E94F327992319F0209396\r
+:1012A000530108951092530180915401882371F1E4\r
+:1012B0008091E001843041F58091E9008F702091A8\r
+:1012C000EC00922F917020FD90E8892B94E0909390\r
+:1012D000E9009091EB0090FF14C09091EE0097FF11\r
+:1012E00010C09091E80095FF03C01092F100F9CF73\r
+:1012F0009091E80090FF05C09091E8009E77909350\r
+:10130000E8008F708093E90010925401089542E044\r
+:1013100061EC81E00E943E0C42E061EC82E00E94C0\r
+:101320003E0C42E061EC83E00E943E0C42E261EC44\r
+:1013300084E00E943E0C42E161EC85E00C943E0C9E\r
+:101340008091E201833009F455C030F4813071F0AE\r
+:10135000823009F48EC008958A3009F47AC08B3047\r
+:1013600009F460C0893009F09CC020C08091E1017F\r
+:10137000813A09F096C08091E800877F8093E80069\r
+:101380008091E5019091E601892B21F460E185E5EA\r
+:1013900091E003C060E080E090E070E00E947A0B92\r
+:1013A0008091E8008B778093E80008958091E101B7\r
+:1013B000813209F076C08091E5019091E6010097B5\r
+:1013C00019F0049709F06DC08091E800877F809341\r
+:1013D000E8008091E80082FD05C08091E001811164\r
+:1013E000F8CF5FC08091F100809365018091E800A3\r
+:1013F0008B7753C08091E101813A09F052C080910E\r
+:10140000E5019091E601892B09F04BC08091E8003D\r
+:10141000877F8093E8008091E80080FFFCCF809177\r
+:101420000A0136C08091E1018132D9F58091E50150\r
+:101430009091E601892BA9F58091E800877F809340\r
+:10144000E8000E94730C8091E30180930A010C94E0\r
+:101450000B158091E101813221F58091E800877FB1\r
+:101460008093E8000E94730C8091E40180936601F0\r
+:1014700008958091E101813AA1F48091E800877F8D\r
+:101480008093E8008091E80080FFFCCF80916601A6\r
+:101490008093F1008091E8008E778093E8000C94AF\r
+:1014A000730C089508950895089585E691E00E94CB\r
+:1014B00019060C94540A0E94AD1B8091DE0188230A\r
+:1014C00029F00E94D61B81110C94170B089584B744\r
+:1014D000877F84BF0FB6F894A895809160008861DB\r
+:1014E00080936000109260000FBE90E080E80FB61D\r
+:1014F000F89480936100909361000FBE0E94520A9D\r
+:101500000E940A100E94C40C0E94210D8091E200EA\r
+:1015100084608093E20089EE97E00E947D1B7894BE\r
+:101520008091E001843019F00E945D0FF9CF80E5D1\r
+:1015300091E00E9419060E940C1080E091E00E9448\r
+:10154000780F8FE391E00E9419060E94530A809160\r
+:10155000E001853039F48BE391E00E9419060E9486\r
+:101560005B0AF5CF0E9412100E945D0FF0CF0C9421\r
+:10157000EA1B81E691E00E9419060C94B70A292F14\r
+:10158000332723303105C9F064F42130310581F06F\r
+:101590002230310509F043C08DE890E02DE931E0BB\r
+:1015A00042C021323105F1F02232310541F137C01C\r
+:1015B00082E190E02AE232E036C09927813091053D\r
+:1015C00041F08230910541F0892B49F5E9E9F1E0DC\r
+:1015D00005C0E9E8F1E002C0E5E7F1E0849190E0C0\r
+:1015E0009F0121C06530D8F4E62FF0E0EE0FFF1F19\r
+:1015F000ED5DFE4F2081318189E090E014C06530BF\r
+:1016000070F470E0FB01EE0FFF1FE75EFE4F2081DC\r
+:101610003181FB01EC5EFE4F808190E004C080E0F0\r
+:1016200090E020E030E0FA0131832083089580E1EA\r
+:1016300089BD82E189BD09B400FEFDCF8091D8004B\r
+:101640008F7D8093D8008091E00082608093E000DD\r
+:101650008091E00081FDFCCF0895CF92DF92EF9260\r
+:10166000FF920F931F93CF93DF93EC018B017A01CD\r
+:101670000E94920C811135C0E114F10439F0F70198\r
+:1016800080819181081B190BC80FD91FC12CD12C47\r
+:101690000115110529F18091E80085FD18C08091A0\r
+:1016A000E8008E778093E8000E945D0FE114F1045A\r
+:1016B00049F0F70180819181C80ED91ED182C08284\r
+:1016C00085E00FC00E94920C882311F30AC0899113\r
+:1016D0008093F10001501109FFEFCF1ADF0AD8CF34\r
+:1016E00080E0DF91CF911F910F91FF90EF90DF90FD\r
+:1016F000CF9008952091E7013091E8012617370730\r
+:1017000048F06115710539F42091E8002E77209397\r
+:10171000E80001C0B90140E061157105A9F120910F\r
+:10172000E001222309F443C0253009F442C020918E\r
+:10173000E80023FD40C02091E80022FD32C0209146\r
+:10174000E80020FFE9CF4091F3002091F20030E063\r
+:10175000342BFC01CF016115710559F0283031059A\r
+:1017600040F481918093F100615071092F5F3F4FE8\r
+:10177000F1CF41E02830310509F040E02091E80048\r
+:101780002E772093E800C8CF4111C9CF0AC08091BD\r
+:10179000E001882361F0853061F08091E80083FDED\r
+:1017A0000AC08091E80082FFF2CF80E0089582E0D5\r
+:1017B000089583E0089581E008952091E701309134\r
+:1017C000E8012617370748F06115710539F42091B3\r
+:1017D000E8002E772093E80001C0B901FC0120E069\r
+:1017E0006115710591F18091E001882309F440C0F1\r
+:1017F000853009F43FC08091E80083FD3DC08091B1\r
+:10180000E80082FD2FC08091E80080FFE9CF2091A1\r
+:10181000F3008091F20090E0922B6115710559F070\r
+:101820008830910540F424912093F1003196615065\r
+:1018300071090196F2CF21E0089709F020E080912C\r
+:10184000E8008E778093E800CBCF2111CCCF0AC07F\r
+:101850008091E001882361F0853061F08091E8009B\r
+:1018600083FD0AC08091E80082FFF2CF80E00895F6\r
+:1018700082E0089583E0089581E00895982F9730DD\r
+:1018800058F59093E900981739F07091EC00209189\r
+:10189000ED005091F00003C0242F762F50E021FF7F\r
+:1018A00019C03091EB003E7F3093EB003091ED009A\r
+:1018B0003D7F3093ED003091EB0031603093EB00D1\r
+:1018C0007093EC002093ED005093F0002091EE0017\r
+:1018D00027FF07C09F5FD3CF8F708093E90081E01F\r
+:1018E000089580E008958091E10187FF11C0809103\r
+:1018F000E80082FD05C08091E0018111F8CF11C0A0\r
+:101900008091E8008B770BC08091E001882349F03B\r
+:101910008091E80080FFF8CF8091E8008E77809377\r
+:10192000E80008952091E4003091E50095E64091AB\r
+:10193000EC00842F817040FF22C08091E80080FD80\r
+:101940001CC08091E001882391F0853091F0809156\r
+:10195000EB0085FD10C04091E4005091E500421776\r
+:10196000530729F39A01915011F784E0089582E01A\r
+:10197000089583E0089581E0089580E008954091FE\r
+:10198000E80042FFDECF08950E94320D0E943A0D1A\r
+:10199000E0EEF0E0808181608083E8EDF0E080811E\r
+:1019A0008F77808319BCA7EDB0E08C918E7F8C93EC\r
+:1019B00080818F7E80831092DF0108950F931F93A3\r
+:1019C000CF93DF930E94320D0E943A0DC8EDD0E014\r
+:1019D00088818F77888388818068888388818F7DDC\r
+:1019E000888319BC1092E0011092DC011092DE0194\r
+:1019F0001092DD0100EE10E0F80180818B7F808382\r
+:101A000088818160888342E060E080E00E943E0C33\r
+:101A1000E1EEF0E080818E7F8083E2EEF0E0808175\r
+:101A200081608083808188608083F80180818E7FDF\r
+:101A30008083888180618883DF91CF911F910F918E\r
+:101A40000895E8EDF0E080818F7E8083E7EDF0E09F\r
+:101A500080818160808384E082BF81E08093DF01A8\r
+:101A60000C94DE0CE8EDF0E080818E7F8083109294\r
+:101A7000E20008951092DA001092E10008951F929A\r
+:101A80000F920FB60F9211242F933F934F935F93B2\r
+:101A90006F937F938F939F93AF93BF93EF93FF9336\r
+:101AA0008091E10082FF0BC08091E20082FF07C0BD\r
+:101AB0008091E1008B7F8093E1000E944609809134\r
+:101AC000DA0080FF1FC08091D80080FF1BC080918A\r
+:101AD000DA008E7F8093DA008091D90080FF0DC0FC\r
+:101AE00080E189BD82E189BD09B400FEFDCF81E0BE\r
+:101AF0008093E0010E94290905C019BC1092E00101\r
+:101B00000E943B098091E10080FF19C08091E200B2\r
+:101B100080FF15C08091E2008E7F8093E20080916B\r
+:101B2000E20080618093E2008091D800806280931F\r
+:101B3000D80019BC85E08093E0010E94550A80918D\r
+:101B4000E10084FF30C08091E20084FF2CC080E17E\r
+:101B500089BD82E189BD09B400FEFDCF8091D80026\r
+:101B60008F7D8093D8008091E1008F7E8093E1008B\r
+:101B70008091E2008F7E8093E2008091E20081609C\r
+:101B80008093E2008091DC01882311F084E007C09B\r
+:101B90008091E30087FD02C081E001C083E0809373\r
+:101BA000E0010E94B90A8091E10083FF24C0809186\r
+:101BB000E20083FF20C08091E100877F8093E100F5\r
+:101BC00082E08093E0011092DC018091E1008E7F41\r
+:101BD0008093E1008091E2008E7F8093E20080910B\r
+:101BE000E20080618093E20042E060E080E00E94D9\r
+:101BF0003E0C0E944209FF91EF91BF91AF919F91DE\r
+:101C00008F917F916F915F914F913F912F910F90A5\r
+:101C10000FBE0F901F9018951F93CF93DF93CDB7F2\r
+:101C2000DEB7AA970FB6F894DEBF0FBECDBFE1EEC8\r
+:101C3000F1E088E08E0F9091F10091938E13FBCF2D\r
+:101C40000E94A0098091E80083FF1FC18091E101FB\r
+:101C50009091E201492F50E04A30510508F015C13A\r
+:101C6000FA01EA5AFF4F0C941328803881F0823829\r
+:101C700009F00BC18091E5018F708093E90080919C\r
+:101C8000EB0085FB882780F91092E90006C080915F\r
+:101C9000DD019091DE01911182609091E800977FC3\r
+:101CA0009093E8008093F1001092F100C8C0282FB3\r
+:101CB0002D7F09F0EAC0882319F0823061F0E5C079\r
+:101CC0008091E301813009F0E0C0933009F080E0B9\r
+:101CD0008093DE012BC08091E301811127C08091A8\r
+:101CE000E5018F7009F4D1C08093E9002091EB00E9\r
+:101CF00020FF1CC0933021F48091EB00806214C05F\r
+:101D00009091EB0090619093EB0021E030E0A9010D\r
+:101D100002C0440F551F8A95E2F74093EA001092E3\r
+:101D2000EA008091EB0088608093EB001092E9005C\r
+:101D30008091E800877F86C08111A7C01091E301E0\r
+:101D40001F778091E3008078812B8093E30080915E\r
+:101D5000E800877F8093E8000E94730C8091E80080\r
+:101D600080FFFCCF8091E30080688093E300111135\r
+:101D700002C082E001C083E08093E00186C0805809\r
+:101D8000823008F082C08091E3019091E4018C3DA3\r
+:101D900053E0950779F583E08A838AE289834FB718\r
+:101DA000F894DE01139620E03EE051E2E32FF0E0EC\r
+:101DB00050935700E49120FF03C0E295EF703F5F1E\r
+:101DC000EF708E2F90E0EA3010F0C79601C0C096F9\r
+:101DD0008D939D932F5F243149F74FBF8091E80089\r
+:101DE000877F8093E8006AE270E0CE0101960E944E\r
+:101DF0007A0B14C0AE014F5F5F4F6091E5010E9406\r
+:101E0000BF0ABC01892B09F440C09091E800977F7C\r
+:101E10009093E80089819A810E94DD0B8091E8000F\r
+:101E20008B778093E80031C0803879F58091E800A5\r
+:101E3000877F8093E8008091DC018093F10080919E\r
+:101E4000E8008E778093E8000E94730C1EC0811119\r
+:101E50001CC09091E3019230C0F48091E800877F2C\r
+:101E60008093E8009093DC010E94730C8091DC0168\r
+:101E7000811106C08091E30087FD02C081E001C0AE\r
+:101E800084E08093E0010E9487098091E80083FF4D\r
+:101E90000AC08091E800877F8093E8008091EB0082\r
+:101EA00080628093EB00AA960FB6F894DEBF0FBE57\r
+:101EB000CDBFDF91CF911F910895CF938091E00125\r
+:101EC0008823A1F0C091E900CF709091EC00892F98\r
+:101ED000817090FD80E8C82B1092E9008091E800A5\r
+:101EE00083FD0E940C0ECF70C093E900CF9108953E\r
+:101EF00090936C0180936B010895E0916B01F091D8\r
+:101F00006C01309721F00190F081E02D099480E080\r
+:101F10000895EF92FF920F931F93CF93DF93E09179\r
+:101F20006B01F0916C013097B1F18C010280F3816B\r
+:101F3000E02D09958091CB0182FF2DC080FF04C068\r
+:101F400082E693E00E941906E80110E18CE5E82E94\r
+:101F500083E0F82E8091CB0180FF0BC088811F9217\r
+:101F60008F93FF92EF920E94B2060F900F900F9006\r
+:101F70000F90115021961111EDCF8091CB0180FF70\r
+:101F80000AC08AE593E0DF91CF911F910F91FF90F6\r
+:101F9000EF900C941906DF91CF911F910F91FF9054\r
+:101FA000EF900895E0916B01F0916C01309721F072\r
+:101FB0000480F581E02D0994089520916901309104\r
+:101FC0006A018217930771F090936A018093690107\r
+:101FD000E0916B01F0916C01309721F00680F78160\r
+:101FE000E02D0994089520916701309168018217CE\r
+:101FF000930771F09093680180936701E0916B0102\r
+:10200000F0916C01309721F00084F185E02D099466\r
+:10201000089508950C9409100E94151C0E94BB0697\r
+:102020000C94631DCF92DF92EF92FF920F931F9358\r
+:10203000CF93DF9300D000D000D0CDB7DEB70E94A1\r
+:10204000DE068EE6C82E81E0D82E00E010E0E02EFD\r
+:10205000802F0E94A807F60141916F01F42EF82607\r
+:10206000B1F40F5F1F4F0830110589F78FEF898397\r
+:102070008A831B820E941E1C8160782F9D838C8323\r
+:1020800049815A816B818D810E94D11047C0909106\r
+:10209000CB0191FF04C08E830E94B1078E8120E0A6\r
+:1020A00030E04F2D50E0922FBA01022E02C07595FC\r
+:1020B00067950A94E2F760FF2BC02983EA8221E04A\r
+:1020C00030E0690102C0CC0CDD1C9A95E2F790E08B\r
+:1020D0008C219D21892B09F420E02B830E941E1C5A\r
+:1020E0008160782F9D838C8349815A816B818D819A\r
+:1020F0000E94D11049815A816B817C818D810E941F\r
+:10210000991BF801E259FE4F8081C826C08206C0A3\r
+:102110002F5F3F4F2830310531F6A3CF0E94981B27\r
+:102120000E94ED2010916D010E947D0F181741F162\r
+:102130000E947D0F80936D019091CB0192FF0EC0A4\r
+:1021400090FF0CC01F928F9384E793E09F938F932F\r
+:102150000E94B2060F900F900F900F9080916D012A\r
+:1021600026960FB6F894DEBF0FBECDBFDF91CF919C\r
+:102170001F910F91FF90EF90DF90CF900C94AA1BCE\r
+:1021800026960FB6F894DEBF0FBECDBFDF91CF917C\r
+:102190001F910F91FF90EF90DF90CF9008950C94D6\r
+:1021A000DF07CF93DF93CDB7DEB72B970FB6F89449\r
+:1021B000DEBF0FBECDBF942F4F83252F5887698771\r
+:1021C0007A878B874A855B85452B21F02F3F09F560\r
+:1021D0009F3FF9F4DE01119686E0FD0111928A9588\r
+:1021E000E9F785E0FE01379601900D928A95E1F7B7\r
+:1021F00049815A816B817C818D819E810E94AE17BD\r
+:102200002B960FB6F894DEBF0FBECDBFDF91CF91F6\r
+:1022100008954F81588569857A858B850E94991B21\r
+:10222000D9CFCF93882309F4A4C0C82F8CEF8C0F8B\r
+:10223000813A48F48C2F0E946D2581119AC08C2F11\r
+:102240000E94391A0CC080E28C0F883058F4C77095\r
+:1022500081E001C0880FCA95EAF70E94E41ACF9185\r
+:102260000C94281B8BE58C0F833078F4C53A29F049\r
+:10227000C63A31F083E890E005C081E890E002C002\r
+:1022800082E890E0CF910C94DD0F88E58C0F8531CA\r
+:1022900008F06FC0C83A61F1C93A69F1CA3A71F100\r
+:1022A000CB3A79F1CC3A81F1CD3A89F1CE3A91F13C\r
+:1022B000CF3A99F1C13BA1F1C03BA9F1C23BB1F1C9\r
+:1022C000C33BB9F1C43BC1F1C53BC9F1C63BD1F138\r
+:1022D000C73BD9F1C83BE1F1C93BE9F1CA3BF1F198\r
+:1022E000CB3BF9F1CC3B09F43FC080E090E03EC02D\r
+:1022F00082EE90E03BC089EE90E038C08AEE90E03C\r
+:1023000035C085EB90E032C086EB90E02FC083EBC8\r
+:1023100090E02CC084EB90E029C087EB90E026C0D1\r
+:102320008CEC90E023C08DEC90E020C083E891E03D\r
+:102330001DC08AE891E01AC082E991E017C084E9E3\r
+:1023400091E014C081E292E011C083E292E00EC0FD\r
+:1023500084E292E00BC085E292E008C086E292E05F\r
+:1023600005C087E292E002C08AE292E0CF910C942D\r
+:10237000F30FCF910895882329F19CEF980F913A9C\r
+:1023800018F40E948C1A0DC090E2980F983058F4FF\r
+:10239000877091E001C0990F8A95EAF7892F0E9412\r
+:1023A000EA1A0C94281B9BE5980F933020F480E0E8\r
+:1023B00090E00C94DD0F885A853120F480E090E0A5\r
+:1023C0000C94F30F0895882321F00E94E41A0C94D2\r
+:1023D000281B0895882321F00E94EA1A0C94281BD8\r
+:1023E0000895CF92DF92EF92FF920F931F93CF93B6\r
+:1023F000DF9300D000D000D0CDB7DEB725E0FC01E0\r
+:10240000DE01119601900D922A95E1F7FC014081C1\r
+:102410003181F280258122952F7063817481672B31\r
+:1024200009F4D8C23F3F19F44F3F09F4D3C26C01FD\r
+:1024300049833A8389819A812E830E94F819182F43\r
+:10244000092F0E94F7190E940719E02FE295EF70FB\r
+:10245000F0E0E05AFF4F2E810C941328802F807FEC\r
+:10246000902F9F70092F882311F00295007FFF2085\r
+:1024700049F0002309F45FC2802F0E94F71A0E94DE\r
+:10248000281B59C2812F0E94BB11002309F4A2C24C\r
+:10249000802F0E94FD1A26960FB6F894DEBF0FBE5D\r
+:1024A000CDBFDF91CF911F910F91FF90EF90DF9003\r
+:1024B000CF900C94281B802F807F902F9F70092F26\r
+:1024C000803211F00295007F112319F0113001F1D3\r
+:1024D00029C0FF20A9F0802F222349F1213039F5AE\r
+:1024E00026960FB6F894DEBF0FBECDBFDF91CF9119\r
+:1024F0001F910F91FF90EF90DF90CF900C94071BEE\r
+:10250000222319F0213009F465C20E94101B2CC04F\r
+:10251000FF20E9F0263008F05DC20E94E11A802316\r
+:1025200029F022C0FF20F1F0211115C0802F26963E\r
+:102530000FB6F894DEBF0FBECDBFDF91CF911F91D4\r
+:102540000F91FF90EF90DF90CF900C94E311253026\r
+:1025500008F040C209C0F601858180FFECC18F7090\r
+:102560008583E4CF2111FBC1802F69C1202F2695DF\r
+:102570002695237030E02115310521F021303105F9\r
+:10258000C9F028C2FF2021F0812F902F937002C044\r
+:1025900080E090E026960FB6F894DEBF0FBECDBF68\r
+:1025A000DF91CF911F910F91FF90EF90DF90CF902F\r
+:1025B0000C94DD0FFF2021F0812F902F937002C02B\r
+:1025C00080E090E026960FB6F894DEBF0FBECDBF38\r
+:1025D000DF91CF911F910F91FF90EF90DF90CF90FF\r
+:1025E0000C94F30F812FFF2019F00E94731F02C07B\r
+:1025F0000E94DB1F26960FB6F894DEBF0FBECDBF3C\r
+:10260000DF91CF911F910F91FF90EF90DF90CF90CE\r
+:102610000C946020802F837009F078C0F110DAC12B\r
+:10262000812F829586958770880F880F912F9F70D4\r
+:10263000C92ED12CE12CF12C082E04C0CC0CDD1CB1\r
+:10264000EE1CFF1C0A94D2F714FF12C04FE050E0BA\r
+:1026500060E070E004C0440F551F661F771F8A9525\r
+:10266000D2F7CB01BA01609570958095909503C023\r
+:1026700060E070E0CB01202F269526952370422F35\r
+:1026800050E042305105D1F04330510559F16C29E9\r
+:102690007D298E299F294130510541F126960FB69B\r
+:1026A000F894DEBF0FBECDBFDF91CF911F910F9188\r
+:1026B000FF90EF90DF90CF900C941C196C297D292E\r
+:1026C0008E299F2926960FB6F894DEBF0FBECDBF88\r
+:1026D000DF91CF911F910F91FF90EF90DF90CF90FE\r
+:1026E0000C942E190E941C19C701B60126960FB62C\r
+:1026F000F894DEBF0FBECDBFDF91CF911F910F9138\r
+:10270000FF90EF90DF90CF900C940A19FF2019F002\r
+:10271000802F817001C08695882309F45BC1812FC9\r
+:10272000829586958770880F880F912F9F70C92E8C\r
+:10273000D12CE12CF12C082E04C0CC0CDD1CEE1C9D\r
+:10274000FF1C0A94D2F714FF12C04FE050E060E083\r
+:1027500070E004C0440F551F661F771F8A95D2F79B\r
+:10276000CB01BA01609570958095909503C060E0AB\r
+:1027700070E0CB01202F269526952370422F50E044\r
+:1027800042305105D1F04330510559F16C297D2972\r
+:102790008E299F294130510541F126960FB6F894B4\r
+:1027A000DEBF0FBECDBFDF91CF911F910F91FF9084\r
+:1027B000EF90DF90CF900C94D3196C297D298E294E\r
+:1027C0009F2926960FB6F894DEBF0FBECDBFDF91CE\r
+:1027D000CF911F910F91FF90EF90DF90CF900C94CD\r
+:1027E000E5190E94D319C701B60126960FB6F894D1\r
+:1027F000DEBF0FBECDBFDF91CF911F910F91FF9034\r
+:10280000EF90DF90CF900C94C119103F41F118F474\r
+:10281000103E48F48BC0123F09F450C0D8F1133F6A\r
+:1028200009F460C083C01F70802F8F71FF2021F0DA\r
+:102830000E945A19812F7BCE0E947B19812F2696E8\r
+:102840000FB6F894DEBF0FBECDBFDF91CF911F91C1\r
+:102850000F91FF90EF90DF90CF900C94EA11FF2042\r
+:10286000A9F0253008F0B6C0802F8F7126960FB6DC\r
+:10287000F894DEBF0FBECDBFDF91CF911F910F91B6\r
+:10288000FF90EF90DF90CF900C94A019263008F0C5\r
+:10289000A1C0EACFFF20A1F0802F8F7126960FB63E\r
+:1028A000F894DEBF0FBECDBFDF91CF911F910F9186\r
+:1028B000FF90EF90DF90CF900C945A19FF2061F3B6\r
+:1028C000802F8F7126960FB6F894DEBF0FBECDBF56\r
+:1028D000DF91CF911F910F91FF90EF90DF90CF90FC\r
+:1028E0000C947B19FF2091F0802F8F7126960FB6E4\r
+:1028F000F894DEBF0FBECDBFDF91CF911F910F9136\r
+:10290000FF90EF90DF90CF900C94451926960FB66C\r
+:10291000F894DEBF0FBECDBFDF91CF911F910F9115\r
+:10292000FF90EF90DF90CF900C944019FF20A1F022\r
+:10293000222309F4B1CF812F26960FB6F894DEBF7B\r
+:102940000FBECDBFDF91CF911F910F91FF90EF9000\r
+:10295000DF90CF900C941111222309F4B1CF812F75\r
+:1029600026960FB6F894DEBF0FBECDBFDF91CF9194\r
+:102970001F910F91FF90EF90DF90CF900C94BB11BF\r
+:10298000402F4F70612FC6010E940D1D26960FB675\r
+:10299000F894DEBF0FBECDBFDF91CF911F910F9195\r
+:1029A000FF90EF90DF90CF900C945218402F4F7013\r
+:1029B000612FC60126960FB6F894DEBF0FBECDBFBD\r
+:1029C000DF91CF911F910F91FF90EF90DF90CF900B\r
+:1029D0000C94101D26960FB6F894DEBF0FBECDBF27\r
+:1029E000DF91CF911F910F91FF90EF90DF90CF90EB\r
+:1029F00008950E94041B0E94D31A0E94281B0E9463\r
+:102A000092210E94602080E090E00E94DD0F80E033\r
+:102A100090E00C94F30F0E94F41A0C94F9140E94A5\r
+:102A2000F819292F22952F7030E02C3031054CF405\r
+:102A30002A3031056CF4225031092230310588F4F6\r
+:102A400007C02C30310549F02F30310531F009C075\r
+:102A5000803E48F0803F29F406C093FB882780F928\r
+:102A6000089580E0089581E00895CF93DF9300D02A\r
+:102A700000D01F92CDB7DEB70F900F900F900F9040\r
+:102A80000F90DF91CF910895CF93DF9300D000D0C6\r
+:102A900000D0CDB7DEB726960FB6F894DEBF0FBED6\r
+:102AA000CDBFDF91CF9108951F93CF93DF93C09156\r
+:102AB000760116E080917701C81799F0D0E01C9F4D\r
+:102AC000F0011D9FF00D1124E858FE4F4081518107\r
+:102AD00062817381848195810E9444152196C7701B\r
+:102AE000E9CFDF91CF911F9108954091A8015091B6\r
+:102AF000A9016091AA017091AB018091AC01909104\r
+:102B0000AD010C9444158091AD0182958F7009F050\r
+:102B100054C08091AA01882309F44FC080917601A6\r
+:102B2000A09177016091A8017091A9014091AB013A\r
+:102B30005091AC01B6E08A1709F43FC090E041150E\r
+:102B40005105C1F17F3F11F46F3FA1F1B89FF00132\r
+:102B5000B99FF00D1124E858FE4F218172132AC04D\r
+:102B60002081621327C02281211124C02381348156\r
+:102B70002417350710F421503109241B350B2C3252\r
+:102B80003140C0F42091AD012F7020612093AD0140\r
+:102B900026E0289FF001299FF00D1124E358FE4FF5\r
+:102BA00080818F708061808388EA91E00E94F111BA\r
+:102BB0000C94541501968770BECF0895CF92DF9282\r
+:102BC000EF92FF920F931F93CF93DF93CDB7DEB7B2\r
+:102BD00062970FB6F894DEBF0FBECDBF8C0185E0C3\r
+:102BE000F801DE011D9601900D928A95E1F7D8015A\r
+:102BF0004C9111965C91119712966C9112971396C5\r
+:102C0000CD90DC9014973091A8017091A90180912A\r
+:102C1000AB019091AC01009709F473C17F3F19F4A7\r
+:102C20003F3F09F46EC1E090AA01EE2009F4C5C04F\r
+:102C30002091AD01C816D90650F0F601E81BF90B3A\r
+:102C4000CF01FF24F3948C329140C8F009C08095E5\r
+:102C500090958C0D9D1DFF24F3948C32914078F05B\r
+:102C6000F12C207F09F0C6C07C2DD98AC88A8989B9\r
+:102C70000E94351588EA91E00E94F111B1C0822FBF\r
+:102C8000807F09F045C0751313C0341311C0611162\r
+:102C90000FC02F7020612093AD010E94751588EA46\r
+:102CA00091E00E94F1118091AD01F80185832EC061\r
+:102CB000CD2819F15F3F11F44F3FF9F0F62E611165\r
+:102CC0001CC0809176012091770136E0821709F4CB\r
+:102CD0005BC090E0389FF001399FF00D1124E85857\r
+:102CE000FE4F7181571306C07081471303C0728174\r
+:102CF000711103C001968770E9CFF62E662309F49F\r
+:102D00001DC18091AD0181608093AD01F12C16C190\r
+:102D1000751309C0341307C0611105C08091AD015E\r
+:102D2000F8018583C8C04D875E878D859E856A8B37\r
+:102D30000E940F156A898823E1F16623D1F1209161\r
+:102D4000AD01822F82958F7090E0029774F0809190\r
+:102D5000A8019091A90198878F831986DB86CA867E\r
+:102D60002C87CE0107960E94F11186E0F801A8EAAF\r
+:102D7000B1E001900D928A95E1F70E9483150E94BF\r
+:102D80007515FF24F394DAC04D875E878D859E8587\r
+:102D90000E94F819292F22952F7030E0223031053A\r
+:102DA0000CF0BFC09F7009F0B9C0805E883008F495\r
+:102DB000C5C0C8010E94F111E4CFC816D90608F4B5\r
+:102DC00053C0F601E81BF90BCF018C32914008F497\r
+:102DD00053C0F12C7C2DD98AC88A89890E94351567\r
+:102DE000E8EAF1E086E0DF011D928A95E9F70E94AA\r
+:102DF0007515A4C0751314C0341312C0611110C02E\r
+:102E00008091AD01F8018583C8010E94F11186E02F\r
+:102E1000E8EAF1E0DF011D928A95E9F7FE2C8EC009\r
+:102E20004D875E878D859E856A8B0E940F156A8906\r
+:102E3000882309F4BECF662309F4BBCF2091AD01EE\r
+:102E4000822F82958F7090E002970CF48ECF809144\r
+:102E5000A8019091A9019A8389831B82DD82CC828B\r
+:102E60002E83CE0101967FCF809590958C0D9D1D70\r
+:102E70008C32914008F0ADCFF62E662309F499CF3D\r
+:102E800075132EC034132CC02091AD0120FD1FC03E\r
+:102E9000822F82958F70D9F0D80115962C931597B3\r
+:102EA0008F3049F08F5F982F9295907F822F8F708F\r
+:102EB000892B15968C93C8010E94F11186E0F801C8\r
+:102EC000A8EAB1E001900D928A95E1F790CF86E0F3\r
+:102ED000F801A8EAB1E001900D928A95E1F72EC0C1\r
+:102EE0004D875E878D859E850E940F1581113DCF90\r
+:102EF0008091AD0181608093AD01C8010E94F11104\r
+:102F00001DC0662309F455CF4D875E878D859E854C\r
+:102F10000E940F15882309F44CCF27CF811145CF8C\r
+:102F20000DC0243031050CF044CF9F7009F43DCF23\r
+:102F3000D80115969C91907F09F037CF8F2D62961E\r
+:102F40000FB6F894DEBF0FBECDBFDF91CF911F91BA\r
+:102F50000F91FF90EF90DF90CF9008951F93CF9344\r
+:102F6000DF93CDB7DEB72C970FB6F894DEBF0FBE58\r
+:102F7000CDBF4F83588769877A878B879C87CE011F\r
+:102F800007960E94DE15882369F08F8198852A852F\r
+:102F90003B85232BF1F19F3F09F063C08F3F09F080\r
+:102FA00060C037C086E0FE013796DE0111960190C1\r
+:102FB0000D928A95E1F76F817885EA85FB853097D8\r
+:102FC00041F17F3F11F46F3F21F12091770130E013\r
+:102FD000C9010196877099274091760150E08417C6\r
+:102FE000950709F447C069837A83FD83EC8396E0F3\r
+:102FF000929FD001939FB00D1124A858BE4FFE019F\r
+:10300000319601900D929A95E1F7809377010E9495\r
+:10301000541516E080917601909177018917C1F1DE\r
+:10302000189FC001112488589E4F0E94DE158823E6\r
+:1030300079F1E09176011E9FF0011124E858FE4FCE\r
+:103040004081518162817381848195810E94441500\r
+:103050008091760190E001968770992780937601A0\r
+:10306000D9CF4F81588569857A858B859C850E944B\r
+:103070004415CFCF0E940B15109277011092760164\r
+:10308000E8EAF1E086E0DF011D928A95E9F7C1CF19\r
+:103090002C960FB6F894DEBF0FBECDBFDF91CF9157\r
+:1030A0001F910895DF92EF92FF920F931F93CF939A\r
+:1030B000DF93FC01892B09F48AC0E12CF12CDD247B\r
+:1030C000D394EF0121968491853709F461C058F4B7\r
+:1030D000843708F04EC0843008F06AC08130D1F0E7\r
+:1030E000823071F174C0883709F45DC050F48637BE\r
+:1030F00009F455C0873709F06AC08E2D0E94F11A75\r
+:1031000054C09CE7980F903708F061C08F770E94F9\r
+:10311000BB1150C08F010E5F1F4FFE01849190E2E2\r
+:10312000980F983050F48770FD2D01C0FF0F8A95DD\r
+:10313000EAF78F2F0E94F71A14C00E94111113C0D2\r
+:103140008F010E5F1F4FFE01C49180E28C0F88300B\r
+:1031500060F4C7708D2D01C0880FCA95EAF70E94F0\r
+:10316000FD1A0E94281BE80125C08C2F0E94BB116C\r
+:10317000FACF9F012E5F3F4FFE01C491CC2369F02F\r
+:103180008FE99FE00197F1F700C00000C150F6CF32\r
+:103190009F012E5F3F4FFE01F490E9010BC00E949A\r
+:1031A000E11AE82E07C00E94F41A0E94281B02C0F0\r
+:1031B0000E9411118F2D882341F0EFE9FFE0319734\r
+:1031C000F1F700C000008150F6CFFE017ACFDF9109\r
+:1031D000CF911F910F91FF90EF90DF900895609332\r
+:1031E000B2017093B3018093B4019093B5010E9432\r
+:1031F000A81B0C94F9146093AE017093AF018093F7\r
+:10320000B0019093B1010E94A91B0C94F914089588\r
+:103210000C94EF180F931F930091B2011091B3011A\r
+:103220002091B4013091B501602B712B822B932B2F\r
+:103230001F910F910C94EF180F931F930091B201FF\r
+:103240001091B3012091B4013091B5016023712335\r
+:10325000822393231F910F910C94EF180F931F93C8\r
+:103260000091B2011091B3012091B4013091B501E8\r
+:1032700060277127822793271F910F910C94EF18D5\r
+:1032800060E070E0CB010C94FB180F931F9341E0BA\r
+:1032900050E060E070E08A019B0104C0000F111F44\r
+:1032A000221F331F8A95D2F7C901B8011F910F91D0\r
+:1032B0000C94FB180F931F9341E050E060E070E026\r
+:1032C00004C0440F551F661F771F8A95D2F780915F\r
+:1032D000AE019091AF01A091B001B091B1018A010E\r
+:1032E0009B01082B192B2A2B3B2BC901B8011F91DD\r
+:1032F0000F910C94FB180F931F9341E050E060E096\r
+:1033000070E004C0440F551F661F771F8A95D2F7DF\r
+:1033100040955095609570958091AE019091AF0168\r
+:10332000A091B001B091B1018A019B01082319233A\r
+:103330002A233B23C901B8011F910F910C94FB185C\r
+:103340000F931F9341E050E060E070E004C0440F31\r
+:10335000551F661F771F8A95D2F78091AE01909115\r
+:10336000AF01A091B001B091B1018A019B01082782\r
+:1033700019272A273B27C901B8011F910F910C94E7\r
+:10338000FB180F931F930091AE011091AF01209194\r
+:10339000B0013091B101602B712B822B932B1F91C7\r
+:1033A0000F910C94FB180F931F930091AE01109195\r
+:1033B000AF012091B0013091B101602371238223CC\r
+:1033C00093231F910F910C94FB180F931F9300915F\r
+:1033D000AE011091AF012091B0013091B101602791\r
+:1033E0007127822793271F910F910C94FB18089542\r
+:1033F000CF92DF92EF92FF920F931F93CF93DF93C1\r
+:103400008C01C090B201D090B301E090B401F09073\r
+:10341000B5014091AE015091AF016091B001709142\r
+:10342000B101C42AD52AE62AF72ACFE1D0E0D70194\r
+:10343000C6010C2E04C0B695A795979587950A945A\r
+:10344000D2F780FF07C0B8018C2F0E94E21C8130A8\r
+:10345000910531F4219758F7B80180E00E94E21CF1\r
+:10346000DF91CF911F910F91FF90EF90DF90CF9060\r
+:10347000089590910A01992321F090910B019111E7\r
+:1034800009C020910C0130910D01F90132969FEF96\r
+:1034900040E030C0982F9695969596959F30A0F471\r
+:1034A000E0910C01F0910D01E90FF11D877021E011\r
+:1034B00030E0A90102C0440F551F8A95E2F7CA0106\r
+:1034C0009181892B818308959091CB0190FF23C036\r
+:1034D0001F928F938DE993E09F938F930E94B20682\r
+:1034E0000F900F900F900F9008959F3F39F04F5F0E\r
+:1034F0004E3041F051915813F8CF0DC05111F7CF14\r
+:10350000942FF5CF9F3F39F0F901E90FF11D97FD99\r
+:10351000FA9582830895089590910A01992321F0E4\r
+:1035200090910B01911109C020910C0130910D0176\r
+:10353000F9013296205F3F4F30C0982F96959695AF\r
+:1035400096959F30A8F4E0910C01F0910D01E90FE0\r
+:10355000F11D877021E030E0A90102C0440F551F22\r
+:103560008A95E2F7CA018095918189238183089524\r
+:103570009091CB0190FF16C01F928F938FE793E03D\r
+:103580009F938F930E94B2060F900F900F900F9011\r
+:1035900008953196E217F30729F090819813F9CF37\r
+:1035A0001082F7CF089581E090E0E0910C01F09156\r
+:1035B0000D01E80FF91F1082019680319105A9F7DE\r
+:1035C00008958091CA0108959091CA01892B809332\r
+:1035D000CA01089580959091CA0189238093CA01F8\r
+:1035E00008958093CA0108951092CA010895909198\r
+:1035F000C901892B8093C901089580959091C901D3\r
+:1036000089238093C90108951092C9010895809378\r
+:10361000B8010E941E1C9093B7018093B6010895D3\r
+:103620001092B8011092B7011092B60108958091DE\r
+:103630000C0190910D01FC0131969C01205F3F4FE0\r
+:1036400080E0919191118F5FE217F307D1F7089510\r
+:10365000E0910C01F0910D018091CA018083E0910D\r
+:103660000C01F0910D0190818091C901892B80831B\r
+:103670008091B8018823D9F10E941E1C2091B601C7\r
+:103680003091B7018217930748F00E941E1C2091C9\r
+:10369000B6013091B701821B930B0AC00E941E1C19\r
+:1036A0002091B6013091B70120953095820F931F7C\r
+:1036B0008C32914070F08091CB0180FF08C08BEB81\r
+:1036C00093E09F938F930E94B2060F900F900E94F9\r
+:1036D000101BE0910C01F0910D0190818091B801D7\r
+:1036E000892B80830E94171B81110E94101B8091DF\r
+:1036F0000C0190910D010C94890F909339018093E6\r
+:10370000380108958295982F9C7C392F36953695EF\r
+:10371000282F237344E0249FC0011124932F982B5A\r
+:10372000292F2A7A2695892F8575880F822B08954F\r
+:103730000895CF93DF9300D000D01F92CDB7DEB7AE\r
+:103740000F900F900F900F900F90DF91CF910895F1\r
+:10375000089508950C94CF1008958091E00184306D\r
+:1037600021F11092CC0120E488E190E00FB6F894AA\r
+:10377000A895809360000FBE2093600083B7817F7F\r
+:10378000846083BF83B7816083BF7894889583B753\r
+:103790008E7F83BF0FB6F894A895809160008861F2\r
+:1037A00080936000109260000FBE0895CF930E9436\r
+:1037B000DD070E94DE060E94DE07C0E08C2F0E941B\r
+:1037C000A807811104C0CF5FC830C1F701C081E0F4\r
+:1037D000CF9108950C940B151F920F920FB60F9274\r
+:1037E00011248F939F93AF93BF938091CC0181114C\r
+:1037F00013C08091CD019091CE01A091CF01B091E5\r
+:10380000D0014196A11DB11D8093CD019093CE01B1\r
+:10381000A093CF01B093D001BF91AF919F918F91B1\r
+:103820000F900FBE0F901F90189582E084BD93E01B\r
+:1038300095BD9AEF97BD80936E0008952FB7F894C9\r
+:103840008091CD019091CE01A091CF01B091D00196\r
+:103850002FBF08952FB7F8946091CD017091CE01DC\r
+:103860008091CF019091D0012FBF0895CF92DF9228\r
+:10387000EF92FF920F931F932FB7F8944091CD01D1\r
+:103880005091CE016091CF017091D0012FBF6A019C\r
+:103890007B01EE24FF248C0120E030E0C016D1062D\r
+:1038A000E206F30610F4415051099A01281B390B26\r
+:1038B000C9011F910F91FF90EF90DF90CF90089575\r
+:1038C000CF92DF92EF92FF920F931F932FB7F8944E\r
+:1038D000C090CD01D090CE01E090CF01F090D0010A\r
+:1038E0002FBF97018601061B170B280B390BC61635\r
+:1038F000D706E806F90618F0C901B80106C0C901E3\r
+:10390000B80161507109810991091F910F91FF90D0\r
+:10391000EF90DF90CF9008951F920F920FB60F9205\r
+:1039200011248F939F93AF93BF938091CD0190917A\r
+:10393000CE01A091CF01B091D0010196A11DB11D82\r
+:103940008093CD019093CE01A093CF01B093D0018D\r
+:10395000BF91AF919F918F910F900FBE0F901F90CD\r
+:1039600018950E94C40CF8942FEF87EA91E6215035\r
+:1039700080409040E1F700C0000087E090EBDC0160\r
+:103980008093EA019093EB01A093EC01B093ED01D9\r
+:103990009CE088E10FB6F894A895809360000FBE74\r
+:1039A00090936000FFCF28E0929FF0011124E80F70\r
+:1039B000F11DE052FF4F8491982F90778F70929570\r
+:1039C0009F700895CF93C82FCB010E94D31C292F3D\r
+:1039D00030E0E82FF0E0A90164E0440F551F6A953C\r
+:1039E000E1F74E2B5F2B4038510519F480E090E051\r
+:1039F00012C088E0C89F200D311D112484E0220FE1\r
+:103A0000331F8A95E1F7E20FF31FEE0FFF1FE0501F\r
+:103A1000F84985919491CF91089580E090E00895C0\r
+:103A20000895CF92DF92EF92FF920F931F93CF935F\r
+:103A30006C01C0E08C2F0E94A80700E010E0E82E87\r
+:103A4000F12CC701002E02C0959587950A94E2F7E4\r
+:103A500080FF16C0602F7C2F80E00E94E21C9C013A\r
+:103A60008C159D0559F0832F807E932F907C11F04B\r
+:103A7000803A31F430E02C153D0511F481E009C0A5\r
+:103A80000F5F1F4F08301105E1F6CF5FC83091F688\r
+:103A900080E0CF911F910F91FF90EF90DF90CF903A\r
+:103AA0000895CF93DF93EC018CE290E00E94111D0A\r
+:103AB000882329F0CE01DF91CF910C94111D80E075\r
+:103AC000DF91CF910895CF930E94CB1E811102C048\r
+:103AD0000E94B11E84ED93E00E941906C5E6C15014\r
+:103AE00049F00E94DE068FE39CE90197F1F700C0E0\r
+:103AF0000000F5CF8DEC93E00E94190689E290E07A\r
+:103B00000E94511D81112BC18AE290E00E94511D3B\r
+:103B100081110E94B11E85E090E00E94511D81112B\r
+:103B20000E94B11C0E94AC1B0E94D61E8093CB0148\r
+:103B300087E090E00E94511D8823C1F18BE190E065\r
+:103B40000E94511D882351F08091CB0181FB2227D7\r
+:103B500020F991E0922790FB81F90FC08EE090E070\r
+:103B60000E94511D882361F08091CB0182FB2227A6\r
+:103B700020F991E0922790FB82F98093CB0116C047\r
+:103B800080E190E00E94511D9091CB01882341F08B\r
+:103B900093FB222720F981E0822780FB93F904C060\r
+:103BA000892F809580FB90F99093CB018091CB0178\r
+:103BB0000E94DA1E0E94E81E8093E90180EE90E0E8\r
+:103BC0000E94511D882341F08091E901982F909522\r
+:103BD00090FB80F98093E90189E390E00E94511DF8\r
+:103BE000882359F08091E90181FB222720F991E097\r
+:103BF000922790FB81F98093E90182EE90E00E9488\r
+:103C0000511D882359F08091E90182FB222720F978\r
+:103C100091E0922790FB82F98093E90186EE90E093\r
+:103C20000E94511D882359F08091E90183FB2227CE\r
+:103C300020F991E0922790FB83F98093E90183EECC\r
+:103C400090E00E94511D882359F08091E90184FB86\r
+:103C5000222720F991E0922790FB84F98093E901D3\r
+:103C600085E390E00E94511D882359F08091E9017D\r
+:103C700085FB222720F991E0922790FB85F980931C\r
+:103C8000E90181E390E00E94511D882359F0809161\r
+:103C9000E90186FB222720F991E0922790FB86F923\r
+:103CA0008093E90181E190E00E94511D882359F041\r
+:103CB0008091E90187FB222720F991E0922790FB70\r
+:103CC00087F98093E9018091E9010E94EC1E8091BF\r
+:103CD000E90187FB882780F980930B0187E290E058\r
+:103CE0000E94511DC82F8EE190E00E94511D81114C\r
+:103CF000C2608FE190E00E94511D8111C46080E29A\r
+:103D000090E00E94511D8111C86081E290E00E9404\r
+:103D1000511D8111C06182E290E00E94511D81110C\r
+:103D2000C06283E290E00E94511D8111C06484E270\r
+:103D300090E00E94511D882311F0C06802C0CC237E\r
+:103D400029F08C2F0E94E31E6C2F03C00E94DF1EFF\r
+:103D5000682F70E080E090E0CF910C940819CF912B\r
+:103D600008956DEE7EEF80E090E00E94492860E0CB\r
+:103D700082E090E00E943B2860E083E090E00E94B7\r
+:103D80003B2860E084E090E00E943B2860E085E012\r
+:103D900090E00C943B2880E090E00E94352821E0E0\r
+:103DA0008D3E9E4F09F020E0822F089582E090E042\r
+:103DB0000C942D28682F82E090E00C943B2883E03F\r
+:103DC00090E00C942D28682F83E090E00C943B2821\r
+:103DD00084E090E00C942D28682F84E090E00C940F\r
+:103DE0003B288091D30180FF0BC06091110185E0D9\r
+:103DF000689FB001112475956795759567952BC0DF\r
+:103E000081FF09C06091110185E0689FB001112414\r
+:103E10007595679520C082FF07C06091110185E00C\r
+:103E2000689FB001112417C09091D4019923D1F05B\r
+:103E300060911001961788F72091110185E0289F65\r
+:103E400090011124929FA001939F500D112470E0C6\r
+:103E5000CA010E94FF276038710540F461157105A1\r
+:103E600039F002C065E070E0862F08958FE708956D\r
+:103E700081E008958091D30180FF08C060910F0117\r
+:103E800070E0759567957595679521C081FF06C0AF\r
+:103E900060910F0170E07595679519C082FF04C0AD\r
+:103EA00060910F0170E010C09091D4019923C1F08E\r
+:103EB00060910E019617A0F780910F01899FC001B4\r
+:103EC000112470E00E94FF276038710528F4611505\r
+:103ED000710521F0862F08958FE7089581E00895F8\r
+:103EE00061E070E0F4CF803F21F40E94F11E8195E3\r
+:103EF00004C0813F29F40E94F11E8093D7010895E8\r
+:103F0000823F21F40E94F11E819504C0833F29F471\r
+:103F10000E94F11E8093D6010895893F19F40E94F2\r
+:103F20003A1F05C08A3F31F40E943A1F8195809361\r
+:103F3000D80108958B3F21F40E943A1F819504C057\r
+:103F40008C3F29F40E943A1F8093D9010895843F41\r
+:103F500021F48091D501816017C0853F21F48091C3\r
+:103F6000D501826011C0863F21F48091D501846023\r
+:103F70000BC0873F21F48091D501886005C0883F40\r
+:103F800031F48091D50180618093D50108958D3FF2\r
+:103F900021F48091D30181600BC08E3F21F4809188\r
+:103FA000D301826005C08F3F29F48091D3018460E2\r
+:103FB0008093D3010895803F39F48091D70187FF22\r
+:103FC0006CC01092D70169C0813F29F48091D7015C\r
+:103FD0001816BCF362C09091D601823F29F497FF76\r
+:103FE0005CC01092D60159C0833F19F41916CCF366\r
+:103FF00054C0893F41F48091D80118160CF04DC08F\r
+:104000001092D8014AC08A3F29F48091D80187FFD5\r
+:1040100044C0F6CF8B3F39F48091D90187FF3DC072\r
+:104020001092D9013AC08C3F29F48091D901181619\r
+:10403000BCF333C0843F21F48091D5018E7F17C03B\r
+:10404000853F21F48091D5018D7F11C0863F21F4F9\r
+:104050008091D5018B7F0BC0873F21F48091D501E2\r
+:10406000877F05C0883F31F48091D5018F7E809392\r
+:10407000D50113C08D3F21F48091D3018E7F0BC0F9\r
+:104080008E3F21F48091D3018D7F05C08F3F29F4AD\r
+:104090008091D3018B7F8093D3018091D6018111D0\r
+:1040A0000EC08091D70181110AC08091D801811181\r
+:1040B00006C08091D901811102C01092D4010895E7\r
+:1040C0008091CB0183FF7EC080E194E00E941906BD\r
+:1040D0008091D5011F928F938BE094E09F938F93F3\r
+:1040E0000E94B20689E094E00E9419068091D601F0\r
+:1040F000282F082E000C330B3F938F9386E094E01B\r
+:104100009F938F930E94B20684E094E00E94190668\r
+:104110008091D701282F082E000C330B3F938F93EB\r
+:1041200081E094E09F938F930E94B2068FEF93E01B\r
+:104130000E9419068091D801282F082E000C330BFD\r
+:104140003F938F938CEF93E09F938F930E94B206DF\r
+:104150008AEF93E00E9419068091D901282F082E3A\r
+:10416000000C330B3F938F9387EF93E09F938F93D4\r
+:104170000E94B20684EF93E00E9419068091D40158\r
+:104180001F928F9381EF93E09F938F930E94B206CB\r
+:104190008FEE93E00E9419068091D3011F928F93B6\r
+:1041A0008CEE93E09F938F930E94B20689EE93E08A\r
+:1041B0000E9419068DB79EB74C960FB6F8949EBF15\r
+:1041C0000FBE8DBF85ED91E00E94D20F0E941E1C94\r
+:1041D0009093D2018093D10108951F93CF93DF93E1\r
+:1041E0008091D1019091D2010E94361CAC01909136\r
+:1041F000D401992321F02091120130E006C02091D2\r
+:1042000013018AE0289F900111244217530708F4F4\r
+:1042100085C08091D601C091D701D091D80110916D\r
+:10422000D901811107C0C11175C0D11173C011111D\r
+:1042300071C074C09F3F19F09F5F9093D40118160E\r
+:1042400024F40E94F11E8093D6018091D60187FF4D\r
+:1042500005C00E94F11E81958093D6011C1624F49E\r
+:104260000E94F11E8093D7018091D70187FF05C07E\r
+:104270000E94F11E81958093D7016091D60166233B\r
+:1042800031F1C091D701CC2311F1062E000C770B30\r
+:10429000880B990B0E94FA2623E333E343E35FE3A1\r
+:1042A0000E945E270E94C2266093D6016C2FCC0F1D\r
+:1042B000770B880B990B0E94FA2623E333E343E341\r
+:1042C0005FE30E945E270E94C2266093D7011D16FD\r
+:1042D00024F40E943A1F8093D8018091D80187FF6F\r
+:1042E00005C00E943A1F81958093D801111624F4CD\r
+:1042F0000E943A1F8093D9018091D90187FF05C0A0\r
+:104300000E943A1F81958093D901DF91CF911F912F\r
+:104310000C9460209F3F09F08FCF97CFDF91CF9112\r
+:104320001F910895E5EDF1E085E0DF011D928A958A\r
+:10433000E9F71092D4011092D301089583E396E037\r
+:104340000E9419061F9281E08F931F9285E08F9340\r
+:1043500085EE95E09F938F930E94B2060F900F9089\r
+:104360000F900F900F900F9008958330E9F128F48B\r
+:10437000813061F0823009F10895853009F462C01E\r
+:1043800008F449C0863009F474C00895809113017F\r
+:10439000262F30E0280F311D2F3F310524F4680F00\r
+:1043A0006093130103C08FEF809313018091130179\r
+:1043B0001F928F938EE195E072C080911201262F9B\r
+:1043C00030E0280F311D2F3F310524F4680F609332\r
+:1043D000120103C08FEF80931201809112011F928E\r
+:1043E0008F938CE095E05BC080911101262F30E027\r
+:1043F000280F311D2F3F310524F4680F6093110100\r
+:1044000003C08FEF80931101809111011F928F9350\r
+:1044100089EF94E044C080911001262F30E0280FEE\r
+:10442000311D2F3F310524F4680F6093100103C044\r
+:104430008FEF80931001809110011F928F9384EE73\r
+:1044400094E02DC080910F01262F30E0280F311D00\r
+:104450002F3F310524F4680F60930F0103C08FEFE5\r
+:1044600080930F0180910F011F928F938BEC94E04A\r
+:1044700016C080910E01262F30E0280F311D2F3FEE\r
+:10448000310524F4680F60930E0103C08FEF809311\r
+:104490000E0180910E011F928F9380EB94E09F9309\r
+:1044A0008F930E94B2060F900F900F900F90089577\r
+:1044B000833081F128F4813059F08230D1F00895B1\r
+:1044C000853009F449C0B8F1863009F456C0089522\r
+:1044D00080911301681720F4861B8093130102C09A\r
+:1044E00010921301809113011F928F9381EA94E03F\r
+:1044F00054C080911201681720F4861B809312012A\r
+:1045000002C010921201809112011F928F938FE8C6\r
+:1045100094E043C080911101681720F4861B8093BA\r
+:10452000110102C010921101809111011F928F930D\r
+:104530008CE794E032C080911001681720F4861B4C\r
+:104540008093100102C010921001809110011F92FF\r
+:104550008F9387E694E021C080910F01681720F4C3\r
+:10456000861B80930F0102C010920F0180910F01F2\r
+:104570001F928F938EE494E010C080910E01681713\r
+:1045800020F4861B80930E0102C010920E018091D0\r
+:104590000E011F928F9383E394E09F938F930E9469\r
+:1045A000B2060F900F900F900F900895CF93C82FE1\r
+:1045B0001F928F9388E397E09F938F930E94B20698\r
+:1045C00081E090E0A0E0B0E0BC01CD0104C0660F46\r
+:1045D000771F881F991FCA95D2F70E9408190F905C\r
+:1045E0000F900F900F90CF910C940B15CF938B31B0\r
+:1045F00009F4CBC108F049C08E3009F4DAC100F5E6\r
+:10460000873009F4A9C1A8F4863009F05AC2809114\r
+:10461000CB01817F8E7F8093CB018DE397E00E9459\r
+:10462000190688E79BE00E94190681E08093DB0170\r
+:1046300091C1883009F45BC08B3009F487C141C255\r
+:10464000813109F426C220F4803109F4C6C139C28F\r
+:10465000863109F4DDC1893109F033C28CEE9AE06C\r
+:104660000E9419068FEB9AE00E94190688E89AE0EA\r
+:104670000E94190681E69AE00E9419068DE09AE0F0\r
+:104680000E9419068FED99E063C1853309F413C2C6\r
+:1046900068F4873209F40FC228F48E3108F411C28D\r
+:1046A0008D510CC2893209F406C20BC2833438F42E\r
+:1046B0008A3308F002C2883309F448C102C2833445\r
+:1046C00009F4F9C1883409F0FCC10E940B1587E692\r
+:1046D0009BE00E9419069FEF23ED80E3915020405C\r
+:1046E0008040E1F700C000000E94B11C33C18CE79C\r
+:1046F0009BE00E9419068CE399E00E9419060E9433\r
+:10470000DF1E1F928F9389E399E09F938F930E94FE\r
+:10471000B20687E399E00E9419060E94D61EC82FB0\r
+:1047200084E299E00E9419061F92CF938FE199E0ED\r
+:104730009F938F930E94B2068DE199E00E94190623\r
+:1047400083E199E00E9419068C2F81701F928F934C\r
+:1047500080E199E09F938F930E94B2068EE099E0EA\r
+:104760000E94190684E099E00E941906C1FB88277F\r
+:1047700080F91F928F9381E099E09F938F930E941D\r
+:10478000B2068FEF98E00E94190683EF98E00E942E\r
+:104790001906C2FB882780F91F928F9380EF98E05B\r
+:1047A0009F938F930E94B2068EEE98E00E941906A6\r
+:1047B00085EE98E00E941906C3FBCC27C0F91F9232\r
+:1047C000CF9382EE98E09F938F930E94B20680EE83\r
+:1047D00098E00E9419060E94E81EC82F8CEC98E011\r
+:1047E0000E9419061F92CF9387EC98E09F938F93B6\r
+:1047F0000E94B20685EC98E00E9419068CEA98E0C7\r
+:104800000E9419068C2F81701F928F9389EA98E07D\r
+:104810009F938F930E94B2068DB79EB780960FB676\r
+:10482000F8949EBF0FBE8DBF87EA98E00E941906DC\r
+:1048300080E998E00E941906C1FB882780F91F9241\r
+:104840008F938DE898E09F938F930E94B2068BE838\r
+:1048500098E00E94190689E798E00E941906C2FBB9\r
+:10486000882780F91F928F9386E798E09F938F9314\r
+:104870000E94B20684E798E00E94190682E698E05A\r
+:104880000E941906C3FB882780F91F928F938FE53A\r
+:1048900098E09F938F930E94B2068DE598E00E9466\r
+:1048A000190683E598E00E941906C4FB882780F961\r
+:1048B0001F928F9380E598E09F938F930E94B2069A\r
+:1048C0008EE498E00E9419068CE398E00E94190695\r
+:1048D000C5FB882780F91F928F9389E398E09F9307\r
+:1048E0008F930E94B20687E398E00E9419068BE13D\r
+:1048F00098E00E941906C6FB882780F91F928F93C3\r
+:1049000088E198E09F938F930E94B20686E198E039\r
+:104910000E9419068EE098E00E941906C7FBCC277A\r
+:10492000C0F91F92CF938BE098E09F938F930E94E2\r
+:10493000B20689E098E00E9419068DB79EB74C96A2\r
+:104940000FB6F8949EBF0FBE8DBF04C084E697E0FB\r
+:104950000E941906C1E0BAC08091CB01C82FC17076\r
+:1049600080FF09C08AE59BE00E9419068091CB0177\r
+:10497000817F8E7F47C08EE49BE00E941906809164\r
+:10498000CB0181608093CB01E5CF9091CB0191FB6E\r
+:10499000CC27C0F981E0C827892FC0FB81F980931B\r
+:1049A000CB01CC2319F081E49BE027C083E39BE09B\r
+:1049B000CFCF9091CB0192FBCC27C0F981E0C827E3\r
+:1049C000892FC0FB82F98093CB01CC2319F084E2BC\r
+:1049D0009BE013C084E19BE0BBCF9091CB0193FBA4\r
+:1049E000CC27C0F981E0C827892FC0FB83F98093C9\r
+:1049F000CB01CC2351F088E09BE00E941906809106\r
+:104A0000CB0181608093CB0161C08BEF9AE0A0CF96\r
+:104A100081ED99E00E9419060E947D0F1F928F93ED\r
+:104A200087EB99E09F938F930E94B20680910A01D1\r
+:104A30001F928F9380EA99E09F938F930E94B20612\r
+:104A4000809166011F928F938DE899E09F938F93D9\r
+:104A50000E94B20680910B011F928F938AE799E022\r
+:104A60009F938F930E94B2060E942A1C9F938F935C\r
+:104A70007F936F9383E699E09F938F930E94B20692\r
+:104A80008DB79EB746960FB6F8949EBF0FBE8DBFEA\r
+:104A900061CF0E940B15C0910B0181E0C827C09324\r
+:104AA0000B01CC2329F089E599E00E9419060EC07C\r
+:104AB0008EE499E04DCF80E001C089530E94D62258\r
+:104AC00049CF8CE499E00E941906C0E08C2FCF9169\r
+:104AD000089580E0089580E00895CF93C82F8091D5\r
+:104AE000DB01813071F020F0823009F44BC042C10B\r
+:104AF000E0910C01F0910D018081823209F03CC1FE\r
+:104B000007C0E0910C01F0910D018081823261F4C7\r
+:104B10008C2F0E946925811104C08C2F0E94F622DF\r
+:104B20002FC081E090E02CC08C2F0E946B2581115A\r
+:104B300026C0C431E1F070F4CB3081F0C031D1F443\r
+:104B40000E949E2180E397E00E94190682E08093F4\r
+:104B5000DB0115C0C93259F0C83361F48DE397E029\r
+:104B60000E94190684E397E00E94190608C010927B\r
+:104B7000DB0104C18EE297E00E941906FFC081E0CC\r
+:104B80008170FEC0C43228F5CE3108F0C1C0CB30F0\r
+:104B9000A1F1D0F4C73009F0D3C08EE180931301A6\r
+:104BA00082E3809312018AE08093110184E1809373\r
+:104BB000100188E080930F0188E280930E0184ED5C\r
+:104BC00095E00E941906BFC0C33149F1C431C1F05C\r
+:104BD000B7C0CB3409F4A9C028F4C93289F0C8336E\r
+:104BE00061F0AEC0C13509F49EC0C23509F499C068\r
+:104BF000CE3409F0A5C06AE09EC00E949E21A3C0E9\r
+:104C00008091DA01882319F01092DA019CC081EEBC\r
+:104C100095E00E94190681E08093DB01B1C08BEB27\r
+:104C200095E00E94190689EA95E00E941906809194\r
+:104C300013011F928F9386EA95E09F938F930E94B2\r
+:104C4000B20684EA95E00E94190682E995E00E9486\r
+:104C50001906809112011F928F938FE895E09F9320\r
+:104C60008F930E94B2068DE895E00E9419068EE7A8\r
+:104C700095E00E941906809111011F928F938BE796\r
+:104C800095E09F938F930E94B20689E795E00E947A\r
+:104C9000190688E695E00E941906809110011F927E\r
+:104CA0008F9385E695E09F938F930E94B20683E6EB\r
+:104CB00095E00E9419068EE495E00E941906809105\r
+:104CC0000F011F928F938BE495E09F938F930E9427\r
+:104CD000B20689E495E00E94190682E395E00E94FD\r
+:104CE000190680910E011F928F938FE295E09F939A\r
+:104CF0008F930E94B2068DE295E00E9419068DB74F\r
+:104D00009EB748960FB6F8949EBF0FBE8DBF1BC0CE\r
+:104D1000CE51EC2FF0E0E35DFE4F80818093DA010D\r
+:104D200012C061E003C061E006C06AE08091DA0170\r
+:104D30000E94B52108C08091DA010E94582203C068\r
+:104D400082ED95E013C08091DA01882369F01F920B\r
+:104D50008F938CEC95E09F938F930E94B2060F90F7\r
+:104D60000F900F900F9004C089EC95E00E941906F7\r
+:104D700081E006C01092DB0180E002C080E000CF3D\r
+:104D8000CF9108950E94C9266894B1110C945827B8\r
+:104D900008950E943D2788F09F5798F0B92F9927D2\r
+:104DA000B751B0F0E1F0660F771F881F991F1AF016\r
+:104DB000BA95C9F714C0B13091F00E945727B1E0FD\r
+:104DC00008950C945727672F782F8827B85F39F0FC\r
+:104DD000B93FCCF3869577956795B395D9F73EF4AF\r
+:104DE00090958095709561957F4F8F4F9F4F089557\r
+:104DF000E89409C097FB3EF4909580957095619575\r
+:104E00007F4F8F4F9F4F9923A9F0F92F96E9BB272A\r
+:104E10009395F695879577956795B795F111F8CFA6\r
+:104E2000FAF4BB0F11F460FF1BC06F5F7F4F8F4F11\r
+:104E30009F4F16C0882311F096E911C0772321F007\r
+:104E40009EE8872F762F05C0662371F096E8862F9F\r
+:104E500070E060E02AF09A95660F771F881FDAF7F6\r
+:104E6000880F9695879597F9089557FD9058440FA8\r
+:104E7000551F59F05F3F71F04795880F97FB991FB9\r
+:104E800061F09F3F79F08795089512161306140676\r
+:104E9000551FF2CF4695F1DF08C016161706180603\r
+:104EA000991FF1CF86957105610508940895E894DE\r
+:104EB000BB2766277727CB0197F908950E947127B2\r
+:104EC0000C94E2270E94D42738F00E94DB2720F0C0\r
+:104ED000952311F00C94CB270C94D12711240C941A\r
+:104EE00058270E94352770F3959FC1F3950F50E026\r
+:104EF000551F629FF001729FBB27F00DB11D639F8C\r
+:104F0000AA27F00DB11DAA1F649F6627B00DA11D31\r
+:104F1000661F829F2227B00DA11D621F739FB00DD7\r
+:104F2000A11D621F839FA00D611D221F749F332747\r
+:104F3000A00D611D231F849F600D211D822F762FE0\r
+:104F40006A2F11249F5750409AF0F1F088234AF0BD\r
+:104F5000EE0FFF1FBB1F661F771F881F9150504029\r
+:104F6000A9F79E3F510580F00C94CB270C9458274D\r
+:104F70005F3FE4F3983ED4F3869577956795B795B0\r
+:104F8000F795E7959F5FC1F7FE2B880F911D9695CA\r
+:104F9000879597F9089597F99F6780E870E060E03A\r
+:104FA00008959FEF80EC089500240A9416161706C2\r
+:104FB00018060906089500240A941216130614060A\r
+:104FC00005060895092E0394000C11F4882352F06D\r
+:104FD000BB0F40F4BF2B11F460FF04C06F5F7F4F25\r
+:104FE0008F4F9F4F0895991B79E004C0991F961722\r
+:104FF00008F0961B881F7A95C9F78095089597FB4E\r
+:10500000072E16F4009407D077FD09D00E941928C6\r
+:1050100007FC05D03EF4909581959F4F08957095BB\r
+:1050200061957F4F0895EE0FFF1F0590F491E02DDD\r
+:105030000994AA1BBB1B51E107C0AA1FBB1FA617DF\r
+:10504000B70710F0A61BB70B881F991F5A95A9F731\r
+:1050500080959095BC01CD010895F999FECF92BD40\r
+:1050600081BDF89A992780B50895A8E1B0E042E0A3\r
+:1050700050E00C945028262FF999FECF1FBA92BD0C\r
+:1050800081BD20BD0FB6F894FA9AF99A0FBE019629\r
+:1050900008950E943B28272F0C943C28DC01CB016B\r
+:1050A000FC01F999FECF06C0F2BDE1BDF89A319638\r
+:1050B00000B40D9241505040B8F70895F894FFCFD6\r
+:1050C000E607D708B40880084C080101B901280890\r
+:1050D000140A321E404D3622391A03CD029702754A\r
+:1050E000023C02AF01C801E101FA011A0201020308\r
+:0850F000040506070809000091\r
+:10680000E70000000000000004000500060007008B\r
+:10681000080009000A000B000C000D000E000F001C\r
+:1068200010001100120013001400150016001700CC\r
+:10683000180019001A001B001C001D001E001F007C\r
+:10684000200021002200230024002500260027002C\r
+:106850002800000035002B002C002D002E002F00FA\r
+:1068600030002A00000033003400290036003700D1\r
+:106870003800E00000000000000000000000000000\r
+:106880000000000000000000000000000000000008\r
+:1068900000000000000000000000000000000000F8\r
+:1068A00000000000000000000000000000000000E8\r
+:1068B00000000000000000000000000000000000D8\r
+:1068C00000000000000000000000000000000000C8\r
+:1068D00000000000000000000000000000000000B8\r
+:1068E0000000000000000000310000000000000077\r
+:1068F0000000E100E300E200F1A1E500E600000095\r
+:106900000100010001000100EA4401000100E2442D\r
+:106910000100010001005500460054004A004B00F0\r
+:10692000560057004700480001000100E9440100FB\r
+:106930000100010001000100010001003A003B00DC\r
+:106940003C003D003E003F0040004100420043004B\r
+:10695000580001004C00390001004400450052007D\r
+:1069600001000100010050004F0081404D004E0029\r
+:1069700051000100010001000100010001000100BF\r
+:1069800001000100010001000100010001000100FF\r
+:1069900001000100010001000100010001000100EF\r
+:1069A00001000100010001000100010001000100DF\r
+:1069B00001000100010001000100010001000100CF\r
+:1069C00001000100010001000100010001000100BF\r
+:1069D00001000100010001000100010001000100AF\r
+:1069E0000100010001000100490001000100010057\r
+:1069F000010001000100010001000100010001008F\r
+:00000001FF\r
index 905c116f4dab2456fb6a598c87474e00377f7011..bceeb80d332e903e07383bca0b4539a18ef74f21 100644 (file)
@@ -22,201 +22,111 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #include "unimap.h"
 
 
+/* Mapping to Universal keyboard layout
+ *
+ * Universal keyboard layout
+ *         ,-----------------------------------------------.
+ *         |F13|F14|F15|F16|F17|F18|F19|F20|F21|F22|F23|F24|
+ * ,---.   |-----------------------------------------------|     ,-----------.     ,-----------.
+ * |Esc|   |F1 |F2 |F3 |F4 |F5 |F6 |F7 |F8 |F9 |F10|F11|F12|     |PrS|ScL|Pau|     |VDn|VUp|Mut|
+ * `---'   `-----------------------------------------------'     `-----------'     `-----------'
+ * ,-----------------------------------------------------------. ,-----------. ,---------------.
+ * |  `|  1|  2|  3|  4|  5|  6|  7|  8|  9|  0|  -|  =|JPY|Bsp| |Ins|Hom|PgU| |NmL|  /|  *|  -|
+ * |-----------------------------------------------------------| |-----------| |---------------|
+ * |Tab  |  Q|  W|  E|  R|  T|  Y|  U|  I|  O|  P|  [|  ]|  \  | |Del|End|PgD| |  7|  8|  9|  +|
+ * |-----------------------------------------------------------| `-----------' |---------------|
+ * |CapsL |  A|  S|  D|  F|  G|  H|  J|  K|  L|  ;|  '|  #|Retn|               |  4|  5|  6|KP,|
+ * |-----------------------------------------------------------|     ,---.     |---------------|
+ * |Shft|  <|  Z|  X|  C|  V|  B|  N|  M|  ,|  .|  /| RO|Shift |     |Up |     |  1|  2|  3|KP=|
+ * |-----------------------------------------------------------| ,-----------. |---------------|
+ * |Ctl|Gui|Alt|MHEN|     Space      |HENK|KANA|Alt|Gui|App|Ctl| |Lef|Dow|Rig| |  0    |  .|Ent|
+ * `-----------------------------------------------------------' `-----------' `---------------'
+ */
+
+#ifndef HHKB_JP
+/* HHKB
+ * ,-----------------------------------------------------------.
+ * |  `|  1|  2|  3|  4|  5|  6|  7|  8|  9|  0|  -|  =|JPY|BS |
+ * |-----------------------------------------------------------|
+ * |Tab  |  Q|  W|  E|  R|  T|  Y|  U|  I|  O|  P|  [|  ]|   \ |
+ * |-----------------------------------------------------------|
+ * |CapsL |  A|  S|  D|  F|  G|  H|  J|  K|  L|  ;|  '|Enter   |
+ * |-----------------------------------------------------------|
+ * |Shift   |  Z|  X|  C|  V|  B|  N|  M|  ,|  .|  /|Shift |Ctl|
+ * `-----------------------------------------------------------'
+ *       |Gui|Alt  |         Space         |Alt  |Gui|
+ *       `-------------------------------------------'
+ *
+ * Matrix - row:8 x col:8
+ * ,-----------------------------------------------------------.
+ * |31 |30 |00 |10 |11 |20 |21 |40 |41 |60 |61 |70 |71 |50 |51 |
+ * |-----------------------------------------------------------|
+ * |32   |01 |02 |13 |12 |23 |22 |42 |43 |62 |63 |73 |72 |52   |
+ * |-----------------------------------------------------------|
+ * |33    |04 |03 |14 |15 |24 |25 |45 |44 |65 |64 |74 |     53 |
+ * |-----------------------------------------------------------|
+ * |34      |05 |06 |07 |16 |17 |26 |46 |66 |76 |75 |55    |54 |
+ * `-----------------------------------------------------------'
+ *       |35 |36   |          37           |57   |56 |
+ *       `-------------------------------------------'
+ */
+
+const uint8_t PROGMEM unimap_trans[MATRIX_ROWS][MATRIX_COLS] = {
+    { UNIMAP_2, UNIMAP_Q, UNIMAP_W, UNIMAP_S, UNIMAP_A, UNIMAP_Z, UNIMAP_X, UNIMAP_C, },
+    { UNIMAP_3, UNIMAP_4, UNIMAP_R, UNIMAP_E, UNIMAP_D, UNIMAP_F, UNIMAP_V, UNIMAP_B, },
+    { UNIMAP_5, UNIMAP_6, UNIMAP_Y, UNIMAP_T, UNIMAP_G, UNIMAP_H, UNIMAP_N, UNIMAP_NO, },
+    { UNIMAP_1, UNIMAP_GRAVE, UNIMAP_TAB, UNIMAP_CAPSLOCK, UNIMAP_LSHIFT, UNIMAP_LGUI, UNIMAP_LALT, UNIMAP_SPACE, },
+    { UNIMAP_7, UNIMAP_8, UNIMAP_U, UNIMAP_I, UNIMAP_K, UNIMAP_J, UNIMAP_M, UNIMAP_NO, },
+    { UNIMAP_JYEN, UNIMAP_BSPACE, UNIMAP_BSLASH, UNIMAP_ENTER, UNIMAP_RCTRL, UNIMAP_RSHIFT, UNIMAP_RGUI, UNIMAP_RALT, },
+    { UNIMAP_9, UNIMAP_0, UNIMAP_O, UNIMAP_P, UNIMAP_SCOLON, UNIMAP_L, UNIMAP_COMMA, UNIMAP_NO, },
+    { UNIMAP_MINUS, UNIMAP_EQUAL, UNIMAP_RBRACKET, UNIMAP_LBRACKET, UNIMAP_QUOTE, UNIMAP_SLASH, UNIMAP_DOT, UNIMAP_NO, },
+};
+
+#else
 /* HHKB JP
  * ,-----------------------------------------------------------.
  * |`  |1  |2  |3  |4  |5  |6  |7  |8  |9  |0  |-  |=  |JPY|BS |
  * |-----------------------------------------------------------|
- * |Tab  |Q  |W  |E  |R  |T  |Y  |U  |I  |O  |P  |[  |]  |Enter|
+ * |Tab  |Q  |W  |E  |R  |T  |Y  |U  |I  |O  |P  |[  |]  |     |
+ * |------------------------------------------------------`    |
+ * |CapsL |A  |S  |D  |F  |G  |H  |J  |K  |L  |;  |'  |#  |Entr|
+ * |-----------------------------------------------------------|
+ * |Shift  |Z  |X  |C  |V  |B  |N  |M  |,  |.  |/  |RO |Up |Shi|
+ * |-----------------------------------------------------------|
+ * |Ctl||Esc|Gui|Alt|MHE|         |HEN|KAN|Alt|Ctl||Lef|Dow|Rig|
+ * `-----------------------------------------------------------'
+ *
+ * Matrix -  row:16 x col:8
+ * ,-----------------------------------------------------------.
+ * |02 |32 |62 |22 |12 |52 |72 |A2 |92 |82 |B2 |E2 |F2 |D2 |C2 |
+ * |-----------------------------------------------------------|
+ * |03   |63 |23 |13 |53 |73 |A3 |93 |83 |B3 |E3 |F3 |D3 |     |
  * |------------------------------------------------------`    |
- * |Caps  |A  |S  |D  |F  |G  |H  |J  |K  |L  |;  |'  |#  |    |
+ * |06    |66 |26 |16 |56 |76 |A6 |96 |86 |B6 |E6 |F6 |D6 | C6 |
  * |-----------------------------------------------------------|
- * |Shift  |Z  |X  |C  |V  |B  |N  |M  |,  |.  |/  |Ro |Up |Shi|
+ * |05     |65 |25 |15 |55 |75 |A5 |95 |85 |B5 |E5 |F5 |D5 |C5 |
  * |-----------------------------------------------------------|
- * |Ctl||Esc|Gui|Alt|Mhn|         |Hen|Kan|Alt|Ctl||Lef|Dow|Rig|
+ * |04 ||34 |64 |24 |14 |     74  |94 |84 |B4 |E4 ||F4 |D4 |C4 |
  * `-----------------------------------------------------------'
- * Esc          = Grave(`)
- * Control      = Caps Lock
- * Left Fn      = Left Control
- * Right Fn     = Right Control
  */
-// row:16 x col:8
 const uint8_t PROGMEM unimap_trans[MATRIX_ROWS][MATRIX_COLS] = {
-    // 0
-    {
-        UNIMAP_NO,
-        UNIMAP_NO,
-        UNIMAP_GRAVE,
-        UNIMAP_TAB,
-        UNIMAP_LCTRL,
-        UNIMAP_LSHIFT,
-        UNIMAP_CAPSLOCK,
-        UNIMAP_NO,
-    },
-    // 1
-    {
-        UNIMAP_NO,
-        UNIMAP_NO,
-        UNIMAP_4,
-        UNIMAP_E,
-        UNIMAP_MHEN,
-        UNIMAP_C,
-        UNIMAP_D,
-        UNIMAP_NO,
-    },
-    // 2
-    {
-        UNIMAP_NO,
-        UNIMAP_NO,
-        UNIMAP_3,
-        UNIMAP_W,
-        UNIMAP_LALT,
-        UNIMAP_X,
-        UNIMAP_S,
-        UNIMAP_NO,
-    },
-    // 3
-    {
-        UNIMAP_NO,
-        UNIMAP_NO,
-        UNIMAP_1,
-        UNIMAP_NO,
-        UNIMAP_ESCAPE,
-        UNIMAP_NO,
-        UNIMAP_NO,
-        UNIMAP_NO,
-    },
-    // 4
-    {
-        UNIMAP_NO,
-        UNIMAP_NO,
-        UNIMAP_NO,
-        UNIMAP_NO,
-        UNIMAP_NO,
-        UNIMAP_NO,
-        UNIMAP_NO,
-        UNIMAP_NO,
-    },
-    // 5
-    {
-        UNIMAP_NO,
-        UNIMAP_NO,
-        UNIMAP_5,
-        UNIMAP_R,
-        UNIMAP_NO,
-        UNIMAP_V,
-        UNIMAP_F,
-        UNIMAP_NO,
-    },
-    // 6
-    {
-        UNIMAP_NO,
-        UNIMAP_NO,
-        UNIMAP_2,
-        UNIMAP_Q,
-        UNIMAP_LGUI,
-        UNIMAP_Z,
-        UNIMAP_A,
-        UNIMAP_NO,
-    },
-    // 7
-    {
-        UNIMAP_NO,
-        UNIMAP_NO,
-        UNIMAP_6,
-        UNIMAP_T,
-        UNIMAP_SPACE,
-        UNIMAP_B,
-        UNIMAP_G,
-        UNIMAP_NO,
-    },
-    // 8
-    {
-        UNIMAP_NO,
-        UNIMAP_NO,
-        UNIMAP_9,
-        UNIMAP_I,
-        UNIMAP_KANA,
-        UNIMAP_COMMA,
-        UNIMAP_K,
-        UNIMAP_NO,
-    },
-    // 9
-    {
-        UNIMAP_NO,
-        UNIMAP_NO,
-        UNIMAP_8,
-        UNIMAP_U,
-        UNIMAP_HENK,
-        UNIMAP_M,
-        UNIMAP_J,
-        UNIMAP_NO,
-    },
-    // A
-    {
-        UNIMAP_NO,
-        UNIMAP_NO,
-        UNIMAP_7,
-        UNIMAP_Y,
-        UNIMAP_NO,
-        UNIMAP_N,
-        UNIMAP_H,
-        UNIMAP_NO,
-    },
-    // B
-    {
-        UNIMAP_NO,
-        UNIMAP_NO,
-        UNIMAP_0,
-        UNIMAP_O,
-        UNIMAP_RALT,
-        UNIMAP_DOT,
-        UNIMAP_L,
-        UNIMAP_NO,
-    },
-    // C
-    {
-        UNIMAP_NO,
-        UNIMAP_NO,
-        UNIMAP_BSPACE,
-        UNIMAP_NO,
-        UNIMAP_RIGHT,
-        UNIMAP_RSHIFT,
-        UNIMAP_ENTER,
-        UNIMAP_NO,
-    },
-    // D
-    {
-        UNIMAP_NO,
-        UNIMAP_NO,
-        UNIMAP_JYEN,
-        UNIMAP_RBRACKET,
-        UNIMAP_DOWN,
-        UNIMAP_UP,
-        UNIMAP_NONUS_HASH,
-        UNIMAP_NO,
-    },
-    // E
-    {
-        UNIMAP_NO,
-        UNIMAP_NO,
-        UNIMAP_MINUS,
-        UNIMAP_P,
-        UNIMAP_RCTRL,
-        UNIMAP_SLASH,
-        UNIMAP_SCOLON,
-        UNIMAP_NO,
-    },
-    // F
-    {
-        UNIMAP_NO,
-        UNIMAP_NO,
-        UNIMAP_EQUAL,
-        UNIMAP_LBRACKET,
-        UNIMAP_LEFT,
-        UNIMAP_RO,
-        UNIMAP_QUOTE,
-        UNIMAP_NO,
-    },
+    { UNIMAP_NO, UNIMAP_NO, UNIMAP_GRAVE, UNIMAP_TAB, UNIMAP_LCTRL, UNIMAP_LSHIFT, UNIMAP_CAPSLOCK, UNIMAP_NO, },
+    { UNIMAP_NO, UNIMAP_NO, UNIMAP_4, UNIMAP_E, UNIMAP_MHEN, UNIMAP_C, UNIMAP_D, UNIMAP_NO, },
+    { UNIMAP_NO, UNIMAP_NO, UNIMAP_3, UNIMAP_W, UNIMAP_LALT, UNIMAP_X, UNIMAP_S, UNIMAP_NO, },
+    { UNIMAP_NO, UNIMAP_NO, UNIMAP_1, UNIMAP_NO, UNIMAP_ESCAPE, UNIMAP_NO, UNIMAP_NO, UNIMAP_NO, },
+    { UNIMAP_NO, UNIMAP_NO, UNIMAP_NO, UNIMAP_NO, UNIMAP_NO, UNIMAP_NO, UNIMAP_NO, UNIMAP_NO, },
+    { UNIMAP_NO, UNIMAP_NO, UNIMAP_5, UNIMAP_R, UNIMAP_NO, UNIMAP_V, UNIMAP_F, UNIMAP_NO, },
+    { UNIMAP_NO, UNIMAP_NO, UNIMAP_2, UNIMAP_Q, UNIMAP_LGUI, UNIMAP_Z, UNIMAP_A, UNIMAP_NO, },
+    { UNIMAP_NO, UNIMAP_NO, UNIMAP_6, UNIMAP_T, UNIMAP_SPACE, UNIMAP_B, UNIMAP_G, UNIMAP_NO, },
+    { UNIMAP_NO, UNIMAP_NO, UNIMAP_9, UNIMAP_I, UNIMAP_KANA, UNIMAP_COMMA, UNIMAP_K, UNIMAP_NO, },
+    { UNIMAP_NO, UNIMAP_NO, UNIMAP_8, UNIMAP_U, UNIMAP_HENK, UNIMAP_M, UNIMAP_J, UNIMAP_NO, },
+    { UNIMAP_NO, UNIMAP_NO, UNIMAP_7, UNIMAP_Y, UNIMAP_NO, UNIMAP_N, UNIMAP_H, UNIMAP_NO, },
+    { UNIMAP_NO, UNIMAP_NO, UNIMAP_0, UNIMAP_O, UNIMAP_RALT, UNIMAP_DOT, UNIMAP_L, UNIMAP_NO, },
+    { UNIMAP_NO, UNIMAP_NO, UNIMAP_BSPACE, UNIMAP_NO, UNIMAP_RIGHT, UNIMAP_RSHIFT, UNIMAP_ENTER, UNIMAP_NO, },
+    { UNIMAP_NO, UNIMAP_NO, UNIMAP_JYEN, UNIMAP_RBRACKET, UNIMAP_DOWN, UNIMAP_UP, UNIMAP_NONUS_HASH, UNIMAP_NO, },
+    { UNIMAP_NO, UNIMAP_NO, UNIMAP_MINUS, UNIMAP_P, UNIMAP_RCTRL, UNIMAP_SLASH, UNIMAP_SCOLON, UNIMAP_NO, },
+    { UNIMAP_NO, UNIMAP_NO, UNIMAP_EQUAL, UNIMAP_LBRACKET, UNIMAP_LEFT, UNIMAP_RO, UNIMAP_QUOTE, UNIMAP_NO, },
 };
+#endif
 
 #endif
diff --git a/keyboard/hhkb/unimap_hhkb.c b/keyboard/hhkb/unimap_hhkb.c
new file mode 100644 (file)
index 0000000..f06cfbb
--- /dev/null
@@ -0,0 +1,45 @@
+/*
+Copyright 2016 Jun Wako <wakojun@gmail.com>
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program.  If not, see <http://www.gnu.org/licenses/>.
+*/
+#include "unimap_common.h"
+
+
+#define AC_FN0     ACTION_LAYER_MOMENTARY(1)
+
+#ifdef KEYMAP_SECTION_ENABLE
+const action_t actionmaps[][UNIMAP_ROWS][UNIMAP_COLS] __attribute__ ((section (".keymap.keymaps"))) = {
+#else
+const action_t actionmaps[][UNIMAP_ROWS][UNIMAP_COLS] PROGMEM = {
+#endif
+    UNIMAP(
+              NO,  NO,  NO,  NO,  NO,  NO,  NO,  NO,  NO,  NO,  NO,  NO, 
+    NO,       NO,  NO,  NO,  NO,  NO,  NO,  NO,  NO,  NO,  NO,  NO,  NO,            NO,  NO,  NO,           NO,  NO,  NO,
+    ESC, 1,   2,   3,   4,   5,   6,   7,   8,   9,   0,   MINS,EQL, BSLS,GRV,      NO,  NO,  NO,      NO,  NO,  NO,  NO,
+    TAB, Q,   W,   E,   R,   T,   Y,   U,   I,   O,   P,   LBRC,RBRC,     BSPC,     NO,  NO,  NO,      NO,  NO,  NO,  NO,
+    LCTL,A,   S,   D,   F,   G,   H,   J,   K,   L,   SCLN,QUOT,     NO,  ENT,                         NO,  NO,  NO,  NO,
+    LSFT,NO,  Z,   X,   C,   V,   B,   N,   M,   COMM,DOT, SLSH,     NO,  RSFT,          NO,           NO,  NO,  NO,  NO,
+    NO,  LALT,LGUI,NO,            SPC,           NO,  RGUI,RALT,NO,  NO,  FN0,      NO,  NO,  NO,      NO,       NO,  NO
+    ),
+    UNIMAP(
+              TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,
+    TRNS,     TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,          TRNS,TRNS,TRNS,         TRNS,TRNS,TRNS,
+    PWR, F1,  F2,  F3,  F4,  F5,  F6,  F7,  F8,  F9,  F10, F11, F12, INS, DEL,      TRNS,TRNS,TRNS,    TRNS,TRNS,TRNS,TRNS,
+    CAPS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,PSCR,SLCK,PAUS,UP,  TRNS,     TRNS,     TRNS,TRNS,TRNS,    TRNS,TRNS,TRNS,TRNS,
+    TRNS,VOLD,VOLU,MUTE,TRNS,TRNS,PAST,PSLS,HOME,PGUP,LEFT,RGHT,     TRNS,PENT,                        TRNS,TRNS,TRNS,TRNS,
+    TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,PPLS,PMNS,END, PGDN,DOWN,     TRNS,TRNS,          TRNS,         TRNS,TRNS,TRNS,TRNS,
+    TRNS,TRNS,TRNS,TRNS,          TRNS,          TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,     TRNS,TRNS,TRNS,    TRNS,     TRNS,TRNS
+    ),
+};