diff --git a/keyboards/kbdfans/kbd67/rev2/README.md b/keyboards/kbdfans/kbd67/rev2/README.md new file mode 100644 index 00000000..396d5717 --- /dev/null +++ b/keyboards/kbdfans/kbd67/rev2/README.md @@ -0,0 +1,5 @@ +# kbd67 rev2 + +The information, keymaps, firmware and keyboard layout for KemoNine's setup on the kbdfans kbd67 rev2 keyboard. + +Layout files were generated by [www.keyboard-layout-editor.com](http://www.keyboard-layout-editor.com/) diff --git a/keyboards/kbdfans/kbd67/rev2/config.h b/keyboards/kbdfans/kbd67/rev2/config.h new file mode 100644 index 00000000..d2a0d357 --- /dev/null +++ b/keyboards/kbdfans/kbd67/rev2/config.h @@ -0,0 +1,2 @@ +#define TAPPING_TERM 200 +#undef RGBLIGHT_ANIMATIONS \ No newline at end of file diff --git a/keyboards/kbdfans/kbd67/rev2/kbdfans_kbd67_rev2_kemonine.hex b/keyboards/kbdfans/kbd67/rev2/kbdfans_kbd67_rev2_kemonine.hex new file mode 100644 index 00000000..c4463281 --- /dev/null +++ b/keyboards/kbdfans/kbd67/rev2/kbdfans_kbd67_rev2_kemonine.hex @@ -0,0 +1,1507 @@ +:100000000C94F5040C943C050C943C050C943C05B4 +:100010000C943C050C943C050C943C050C943C055C +:100020000C943C050C943C050C941E2B0C94F22B68 +:100030000C9434220C943C050C943C050C943C0527 +:100040000C943C050C943C050C943C050C943C052C +:100050000C943C050C947F220C943C050C943C05BC +:100060000C943C050C943C050C943C050C943C050C +:100070000C943C050C943C050C943C050C943C05FC +:100080000C943C050C943C050C943C050C943C05EC +:100090000C943C050C943C050C943C050C943C05DC +:1000A0000C943C050C943C050C943C05165C1E001D +:1000B0001F0020002100220023002400250026002C +:1000C00027002D002E0000002A004A002B0000000F +:1000D00014001A000800150017001C0018000C007E +:1000E000120013002F00300031004B0014590000A3 +:1000F00004001600070009000A000B000D000E00A6 +:100100000F0033003400280000004E00E100000022 +:100110001D001B000600190005001100100036002C +:10012000370038000000E50052004D00E000E30019 +:100130000000E200000000002C00000000000000B1 +:100140000057E4000000500051004F0035003A0015 +:100150003B003C003D003E003F00400041004200AB +:1001600043004400450000004C004C00010000002A +:100170000100010001000100010001000100520026 +:100180000100010001000100005C490001000000C5 +:100190000100010001000100010001000100010057 +:1001A0000100010001000100000046000100000004 +:1001B0000100010001000100010001000100010037 +:1001C0000100AE000000E500A900A8000100010048 +:1001D000000001000000000001000000000000001D +:1001E0000100E6000000CA5CAA00C95C290000000A +:1001F00000000000000000000000000000000000FF +:1002000000000000000000000000000000000000EE +:1002100000000000F000000000000000F9000000F5 +:1002200000000000000000000000000000000000CE +:100230000000F200F100F30000000000F400F500FF +:10024000000000000000000000000000E1000000CD +:1002500000001B000600190000000000FA0000006A +:10026000000000000000000000000000E0000000AE +:100270000000025300000000000000000000000029 +:1002800002530000000000000000000044454255F9 +:10029000473A2064697361626C65642E0A004445C4 +:1002A0004255473A20656E61626C65642E0A000A09 +:1002B000002530313662003A200025303258000ADD +:1002C000722F63203031323334353637383941427A +:1002D000434445460A007267626C6967687420731C +:1002E000657420687376205B4E4F454550524F4DE4 +:1002F0005D3A2025752C25752C25750A00726762DC +:100300006C696768742073657420687376205B4538 +:100310004550524F4D5D3A2025752C25752C25757D +:100320000A007267626C696768742064697361624D +:100330006C65205B4E4F454550524F4D5D3A2072E3 +:1003400067626C696768745F636F6E6669672E6564 +:100350006E61626C65203D2025750A007267626CD3 +:10036000696768742064697361626C65205B4545E8 +:1003700050524F4D5D3A207267626C696768745FD6 +:10038000636F6E6669672E656E61626C65203D20E5 +:1003900025750A007267626C6967687420656E6112 +:1003A000626C65205B4E4F454550524F4D5D3A2083 +:1003B0007267626C696768745F636F6E6669672EE7 +:1003C000656E61626C65203D2025750A007267626A +:1003D0006C6967687420656E61626C65205B454579 +:1003E00050524F4D5D3A207267626C696768745F66 +:1003F000636F6E6669672E656E61626C65203D2075 +:1004000025750A007267626C6967687420746F678B +:10041000676C65205B454550524F4D5D3A207267D1 +:10042000626C696768745F636F6E6669672E656E7C +:1004300061626C65203D2025750A007267626C69F7 +:10044000676874206D6F6465205B4E4F4545505260 +:100450004F4D5D3A2025750A007267626C696768C6 +:1004600074206D6F6465205B454550524F4D5D3A79 +:100470002025750A007267626C696768745F696E2F +:100480006974207267626C696768745F636F6E6617 +:1004900069672E6D6F6465203D20302E205772698C +:1004A00074652064656661756C742076616C756531 +:1004B0007320746F20454550524F4D2E0A007267CD +:1004C000626C696768745F696E6974206565636FE3 +:1004D0006E666967206973206E6F7420656E616255 +:1004E0006C65642E0A007267626C696768745F6984 +:1004F0006E6974207374617274210A007267626C91 +:10050000696768745F696E69742063616C6C6564A7 +:100510002E0A007267626C696768745F636F6E664B +:1005200069672E7370656564203D2025640A00723A +:1005300067626C696768745F636F6E6669672E7661 +:10054000616C203D2025640A007267626C696768EF +:10055000745F636F6E6669672E736174203D20253A +:10056000640A007267626C696768745F636F6E66C5 +:1005700069672E687565203D2025640A00726768EA +:100580006C696768745F636F6E6669672E6D6F6410 +:1005900065203D2025640A007267626C6967687493 +:1005A0005F636F6E6669672E656E61626C65203D84 +:1005B0002025640A007267626C696768745F636F04 +:1005C0006E66696720454550524F4D3A0A00626198 +:1005D000636B6C6967687420737465703A20257565 +:1005E0000A006261636B6C69676874206469736197 +:1005F000626C650A006261636B6C69676874206590 +:100600006E61626C650A006261636B6C6967687435 +:1006100020746F67676C653A2025750A0062616314 +:100620006B6C696768742064656372656173653AB1 +:100630002025750A006261636B6C696768742069C4 +:100640006E6372656173653A2025750A00000101C9 +:100650000101010101010102020202020202020281 +:100660000303030303030303040404040404040551 +:100670000505050506060606060707070707080815 +:100680000808090909090A0A0A0B0B0B0C0C0C0DC6 +:100690000D0D0E0E0E0F0F0F10101111111212135F +:1006A000131414151516161717181819191A1A1BDA +:1006B0001B1C1D1D1E1E1F20202122222324242539 +:1006C0002626272829292A2B2C2D2D2E2F30313272 +:1006D00032333435363738393A3B3C3D3E3F404182 +:1006E00042434445464748494A4C4D4E4F5051536A +:1006F00054555658595A5B5D5E5F61626465666821 +:10070000696B6C6D6F7072737577787A7B7D7E80A4 +:1007100082838587888A8C8E8F91939596989A9CF0 +:100720009EA0A2A3A5A7A9ABADAFB1B3B5B7BABC04 +:10073000BEC0C2C4C6C9CBCDCFD1D4D6D8DBDDDFD5 +:10074000E2E4E7E9EBEEF0F3F5F8FAFDFF0A002545 +:1007500030325820006B6579626F6172645F726538 +:10076000706F72743A20000A0025303258006B65B1 +:1007700079626F6172645F7365745F6C65643A205F +:100780000064656C5F6B65795F6269743A206361D0 +:100790006E27742064656C3A20253032580A006157 +:1007A00064645F6B65795F6269743A2063616E2788 +:1007B00074206164643A20253032580A00290A0006 +:1007C0002575002F002575005D2800256400200098 +:1007D000256400200025640020002564007C00259D +:1007E000303258006D6F7573656B6579205B62748C +:1007F0006E7C782079207620685D287265702F6184 +:10080000636C293A205B005B735D004B6579626F16 +:100810006172642073746172742E0A005B575D000C +:100820005B535D005B525D005B445D005B435D00BC +:1008300004033000000010034B0042004400360067 +:10084000370076003200000010034B0042004400E5 +:10085000460061006E0073000000040309040902F1 +:100860005B00030100A0FA0904000001030101007C +:100870000921110100012240000705810308000A37 +:1008800009040100010300000009211101000122F7 +:10089000BC000705820320000A09040200020300CD +:1008A0000000092111010001222200070583032015 +:1008B00000010705030320000112011001000000E0 +:1008C00008424B67600200010203010631FF097410 +:1008D000A1010975150026FF009520750881020900 +:1008E00076150026FF00952075089102C0050109C4 +:1008F00002A10185020901A10005091901290515B7 +:100900000025019505750181029501750381010599 +:1009100001093009311581257F9502750881060985 +:10092000381581257F950175088106050C0A380266 +:100930001581257F950175088106C0C005010980D4 +:10094000A101850319012AB700150126B7009501F9 +:1009500075108100C0050C0901A101850419012A47 +:10096000A002150126A002950175108100C00501A5 +:100970000906A1018505050719E029E715002501EC +:100980009508750181020507190029EF1500250159 +:1009900095F0750181020508190129059505750174 +:1009A0009102950175039101C005010906A1010598 +:1009B0000719E029E71500250195087501810295C1 +:1009C00001750881010507190029FF150026FF00A0 +:1009D0009506750881000508190129059505750119 +:1009E0009102950175039101C00011241FBECFEF44 +:1009F000DAE0DEBFCDBF04B603FE27C0809112034C +:100A000090911303A0911403B09115038730904B7C +:100A1000A740B04BD1F4109212031092130310921E +:100A200014031092150314BE84B7877F84BF0FB6DA +:100A3000F894A8958091600088618093600010927E +:100A400060000FBEE0E0F8E3099511E0A0E0B1E03E +:100A5000EEE5FDE502C005900D92AC3BB107D9F77C +:100A600023E0ACEBB1E001C01D92A231B207E1F787 +:100A70000E9453280C94712E0C940000FF93EF9366 +:100A8000E091BC01F091BD01309709F00995EF911B +:100A9000FF910895FC018591803011F0EFDFFBCFCD +:100AA0000895FF27E0E230E247FF0CC0419597FF31 +:100AB00009C0EDE26095709580959095611D711D5E +:100AC000811D911D27FF02C0219530E350E2AA2726 +:100AD000660F771F881F991FAA1FA41710F0A41B69 +:100AE00063955A95A9F7AA3008F0A95FA05DAF9366 +:100AF000F395611571058105910541F7ED3211F40A +:100B0000EF93F395F21718F43F93F395FBCF8F9182 +:100B1000B5DFFA95E1F70895E991F9918591803073 +:100B200021F0853219F0AADFF9CF089520E0E8948A +:100B300055915532C1F3503311F4689455915A339D +:100B400048F4505390F3220F022E220F220F200D53 +:100B5000250FF4CF0EF4219589919991533619F30D +:100B6000533729F1533559F1BC0188279927E89467 +:100B70005C3621F48991999168945591543639F4F1 +:100B800046EF7EF077FF0DC08FEF9FEF0AC055371D +:100B90004AE039F0583540E121F0523642E009F0A0 +:100BA0000895FF93EF937DDFEF91FF91B7CFFF9310 +:100BB000EF93FC0181918030B9F360DFFBCFFF93AD +:100BC000EF9368DFF1CFDF93CF93CDB7DEB72596F4 +:100BD000A3DFCF91DF910895549A0C940606CF932A +:100BE000C82F0E949306882319F0C1FD03C05C9AA8 +:100BF000CF9108955C98FCCF80910101823019F467 +:100C000081E00E94F41D1092010108950895089555 +:100C1000FC018081813029F49285992339F082E0AA +:100C20000895823011F088E0089583E008950E94CD +:100C3000080680930101882391F0833018F08330F7 +:100C400021F0089581E00C94D31D82E00E94B31D31 +:100C5000882319F082E00C94F41D82E0F4CF08950B +:100C600081E0089581E008950C94320608950C9473 +:100C700036061F93CF93DF9300D000D00F92CDB7ED +:100C8000DEB749835A836B833091DB0189819A8176 +:100C900031111DC06623B9F02223A9F00E94C21EA3 +:100CA000182F682F89819A810E946F1E69817A812D +:100CB000812F0F900F900F900F900F90DF91CF9199 +:100CC0001F910C9419070E949B1E182FEFCF0E94B2 +:100CD000C21E69817A81EDCFFC01262F40815181AE +:100CE0006281738184810C943906CF93DF93EC0188 +:100CF00060E00E946C06BE01DF91CF910C94370634 +:100D00000E94C9220E943920811102C00E94DF2066 +:100D10000E94B2100C94EC050E9418140C94250942 +:100D200008950C94900681E00895CF93C82F0E94F7 +:100D300091068C2FCF910C94EF0508950E94B6195F +:100D40000E949D062FEF84E39CE02150804090405C +:100D5000E1F700C000000C94A3220F931F93CF93E0 +:100D6000DF93EC0161E00E946C068C01BE010E94E1 +:100D70007813BE01C8010E9434068823A1F1BE0188 +:100D8000C8010E941E10882371F1BE01C8010E9493 +:100D9000BE13882341F1BE01C8010E947911882346 +:100DA00011F1BE01C8010E94CB118823E1F0BE0100 +:100DB000C8010E94EE128823B1F0BE01C8010E9452 +:100DC000910E882381F08A81882341F101308CE5DE +:100DD000180779F00E3D8CE51807E9F001151C4560 +:100DE000E9F40E949E0680E0DF91CF911F910F9160 +:100DF000089590917302892F8E7F90FF8160809378 +:100E0000730280FF05C08EE992E00E944A05EBCF95 +:100E10008CE892E0FACF0E94DF20E5CFCE01DF918F +:100E2000CF911F910F910C94300690E080E00895CF +:100E30000895E72FF0E095E0899FE00DF11D112462 +:100E400084E0EE0FFF1F8A95E1F7E60FF11DEE0F2C +:100E5000FF1FE455FF4F859194910895FC01EE0F1B +:100E6000FF1FE155FD4F859194910895CF93DF9336 +:100E70000E9419070E944B08EC01811520E592079A +:100E800008F042C0811530E4930708F0BDC0883EE9 +:100E9000910528F5803E910508F09DC0883A91059E +:100EA00088F4853A910508F08FC08130910509F4E6 +:100EB00092C0009709F48FC0049708F08CC0D0E06E +:100EC000C0E089C08F3B910508F489C0805C91091E +:100ED000C03CD105A0F30E942E07EC017CC0811517 +:100EE000904250F4C11581E0D80708F074C0C03FAB +:100EF000D10528F3D0656FC0C11590E3D90708F07C +:100F000079C0CE019F70E7CF811525E5920758F58E +:100F1000811534E5930708F0A6C0811542E59407D2 +:100F200050F4C11581E5D80708F471C0DC2FCC2737 +:100F3000C16FD06A50C0982F969596959E012370E8 +:100F40003327C115D34508F07FC0C1E0D0E002C00F +:100F5000CC0FDD1F2A95E2F720E2929FC0011124F9 +:100F6000C82BD92B6FC0C11589E5D807A8F4C115C6 +:100F700098E5D90708F07CC0C11526E5D20708F02E +:100F80009ECF8C2F0E94E208C82FD0E0DC2FCC2708 +:100F9000CC27DF71D0621FC0C1153AE5D30708F432 +:100FA0006CC0CE0190568115904208F088CF8D2FED +:100FB0008F710E94E20890E0982F882788279F7100 +:100FC0009C012C2BE901E6CFC55AD0E0CF59DE4F6A +:100FD000C881D0E0D064CE01DF91CF910895C85A86 +:100FE000D0E0CC0FDD1FCD5CDE4F0990D881C02D45 +:100FF000D464F1CFCE019927D3FF03C0EC01D86CA4 +:10100000EACFEC01D06CE7CFDF70D06AE4CFCE013D +:10101000E4E096958795EA95E1F783702C2F269565 +:101020002695237090E2299F90011124382B8C2F54 +:101030008370C1E0D0E002C0CC0FDD1F8A95E2F7DB +:10104000C22BD32BDC68C7CFC1E0D0E002C0CC0FED +:10105000DD1F2A95E2F730E2939FC0011124C82BCF +:10106000D92BDA68B8CFD82FCC27C46FD06AB3CFCA +:10107000DC2FCC27C06FD06AAECF8C2F8F700E9430 +:10108000E20834E0D695C7953A95E1F7CF709C2FEA +:10109000EC01D069A0CF82389105B1F1B0F4813371 +:1010A000910509F475C048F48932910509F469C0C5 +:1010B0008A32910509F473C008958533910509F4C6 +:1010C00059C08933910501F10895833E9105A9F135 +:1010D00038F4803E9105F9F0823E910549F108957A +:1010E000863E9105A9F1873E9105C9F1843E91059F +:1010F00019F52091AA0221FF1FC08091A90284FD49 +:1011000014C087EE90E008952091A9022370A1F009 +:1011100080EE90E008952091A90220FD47C0309113 +:10112000AA0230FF09C024FF44C090E080E004C060 +:101130002091A90222FDF7CF08952091A90222FD56 +:101140003BC03091AA0230FDE3CF24FFF5CFEDCFB5 +:101150002091A90223FFF0CF24FDE7CFD2CF209129 +:10116000A90223FD2CC03091AA0231FFEECF84EEFC +:1011700090E008952091A90225FFDECF89E290E05A +:1011800008952091A90225FFD7CF85E390E0089527 +:101190002091A90226FFD0CF8AE290E00895209105 +:1011A000A90226FFC9CF81E390E0089589E390E08A +:1011B000089583EE90E0089582EE90E0089586EE23 +:1011C00090E008959091A90292FF06C0282F2871FF +:1011D0002830F9F4877F846093FF06C0282F287198 +:1011E0002831F1F4877E84612091AA0220FF06C095 +:1011F000382F38713830D9F4877F816021FF06C0DD +:10120000282F28712831D1F4877E816194FD877E53 +:101210000895282F24712430F9F68B7F8860DCCF65 +:10122000282F2471243101F78B7E8861DDCF382F80 +:101230003171313019F78E7F8860E0CF282F21710E +:10124000213121F78E7E8861E1CF0C940706E82FCB +:10125000F0E0EE0FFF1FEB54FD4F80819181089568 +:10126000CF92DF92EF92FF920F931F93CF93DF9372 +:101270008FEB92E00E944A0585EBE82E82E0F82E83 +:10128000D0E0C0E09AEBC92E92E0D92E01EB12E03B +:10129000DF93CF93DF92CF920E94E30587EB92E03A +:1012A0000E944A05F701819191917F010E942620B9 +:1012B0009F938F931F930F930E94E3058FEA92E011 +:1012C0000E944A0521968DB79EB708960FB6F894EE +:1012D0009EBF0FBE8DBFC530D105D1F6DF91CF9136 +:1012E0001F910F91FF90EF90DF90CF90089580EACB +:1012F0008A95F1F70895CF93DF93A4E7B1E049E72A +:1013000051E0C1E0D0E08D91E82FE295EF70F0E080 +:1013100061A18F709E0101C0220F8A95EAF7922F7A +:101320009095962391A382A1822B82A34A175B07F3 +:1013300051F7A4E6B1E061E070E08D91E82FE2950D +:10134000EF70F0E041A18F709B0101C0220F8A95E0 +:10135000EAF7922F9095942391A382A1822B82A3E6 +:1013600081E0A437B80749F71092AC021092AB02A3 +:101370001092B6021092B5021092AE021092AD0217 +:101380001092B8021092B7021092B0021092AF02FF +:101390001092BA021092B9021092B2021092B102E7 +:1013A0001092BC021092BB021092B4021092B302CF +:1013B0001092BE021092BD0285E00E946A0ADF917F +:1013C000CF910C9480068F929F92AF92BF92CF9252 +:1013D000DF92EF92FF920F931F93CF93DF9384E7F7 +:1013E000E82E81E0F82E0BEA12E0912CAA24A394B7 +:1013F000B12CF70181917F01C82FC295CF70D0E049 +:1014000099A18F70650101C0CC0C8A95EAF7892FEC +:101410008C2989A38AA18C2C809488218AA30E947C +:101420007709E4E6F1E050E040E030E020E061914F +:10143000A62FA295AF70B0E090968C9190E06F705F +:1014400002C0959587956A95E2F780FD3EC0C5017B +:10145000042E02C0880F991F0A94E2F7282B392B1B +:101460004F5F5F4F4031510511F789A1882289A252 +:101470008AA1C82ACAA2F801808191812817390758 +:1014800039F13183208381E0982A0E5F1F4FF9E7FD +:10149000EF16F1E0FF0609F0ACCF292D45E065EB32 +:1014A00072E08BEA92E00E946B0A0E948C06892D02 +:1014B000DF91CF911F910F91FF90EF90DF90CF9030 +:1014C000BF90AF909F908F90089590E080E0C6CF3E +:1014D00080E0DACF0895FF920F931F93CF93DF93AD +:1014E000F82E092F162FD72FC42F222349F081E081 +:1014F0008093C0010E9464229093BF018093BE013B +:101500008091C0018823A1F08091BE019091BF011C +:101510000E947022069760F0EF2DF02FA12FBD2FB3 +:1015200090E080E0D0E08C179D0744F01092C0015D +:10153000DF91CF911F910F91FF90089521913191EB +:101540002D933D930196EFCFEF92FF920F931F9350 +:10155000CF93DF93EB01E82FD11110C0442321F08A +:10156000F0E0E35BF94FE4916E2F7E2F8E2FDF9139 +:10157000CF911F910F91FF90EF9008950D2F10E0E4 +:10158000282F30E0442329F0235B394FF9012491BF +:1015900030E0F6E0CF9FC0011124EFEFF0E0BF0193 +:1015A0000E94BF2DAB018C2F90E0880F991FA5E5FD +:1015B000A49FB001A59F700D1124861B970B982F37 +:1015C000990F980FBF01601B710B629FD001639F41 +:1015D000B00D729FB00D11248B2F9D9FB00111246F +:1015E000672F7727EF01C61BD70BBE01629FE00173 +:1015F000639FD00D729FD00D11247F01E91AF1086D +:10160000E09EB001E19E700DF09E700D1124672FD9 +:101610007727E61BF70BE29F8001E39F100DF29FF7 +:10162000100D1124E12F722F4230510599F048F42A +:101630004115510569F04130510581F0EB2F8D2F97 +:1016400007C04430510569F080F046305105B1F7CC +:101650006E2F8DCFE22F7B2F812FFACFE22F7D2FA0 +:10166000F7CFEB2F822F712FF3CF7B2F822FED2F10 +:10167000EFCF41E00C94A40ACF93DF93762FE901DA +:10168000682F842F0E94390B798368838A83DF91C6 +:10169000CF910895413F08F040EF0C943C0B8091AE +:1016A000BF02982F9E7F71F48091BF02817082608B +:1016B0008093BF028091C202813F18F080EF809337 +:1016C000C2020895843080F7F5CF88E090E00C9452 +:1016D000312ECF92DF92EF92FF926B017C010E943C +:1016E0004F0BB701A60188E090E0FF90EF90DF90EC +:1016F000CF900C944F2EEFEBF2E083E080831182C9 +:101700008FEF828380EF8383148260817181828175 +:1017100093810C94690B8091730280FF76C085EBF6 +:1017200095E09F938F930E94E305809173020F9041 +:101730000F9080FF6AC08091BF0281701F928F93CB +:1017400088E995E09F938F930E94E305809173024F +:101750000F900F900F900F9080FF57C08091BF02A5 +:1017600086951F928F938DE795E09F938F930E94AC +:10177000E305809173020F900F900F900F9080FF00 +:1017800044C08091C0021F928F9383E695E09F939F +:101790008F930E94E305809173020F900F900F903A +:1017A0000F9080FF32C08091C1021F928F9389E415 +:1017B00095E09F938F930E94E305809173020F90B1 +:1017C0000F900F900F9080FF20C08091C2021F9257 +:1017D0008F938FE295E09F938F930E94E305809112 +:1017E00073020F900F900F900F9080FF0EC08091AA +:1017F000C3021F928F9383E195E09F938F930E9482 +:10180000E3050F900F900F900F9008959091C302F1 +:10181000933018F49F5F9093C302882351F0609136 +:10182000BF027091C0028091C1029091C2020C94DB +:10183000690B089581E00C94060C9091C3029923E2 +:1018400019F091509093C302882351F06091BF0228 +:101850007091C0028091C1029091C2020C94690BF8 +:10186000089581E00C941D0C70E00C94C2106091FE +:1018700019018091BF0280FF0AC08091180123E006 +:10188000829FC00111248C539D4F0C94340C809185 +:101890001A0190911B0123E0829FF0011124EC5367 +:1018A000FD4F891750F71182108212828F5F339695 +:1018B000F8CF8091BF028E7F8093BF026091BF02FC +:1018C0007091C0028091C1029091C2020E94690B86 +:1018D0008091730280FF0FC08091BF0281701F92C0 +:1018E0008F938CE593E09F938F930E94E3050F9075 +:1018F0000F900F900F902FEF80E792E021508040E3 +:101900009040E1F700C000000C94370C8091BF02BA +:101910008E7F8093BF028091730280FF0CC01F9264 +:101920001F9282E293E09F938F930E94E3050F90B2 +:101930000F900F900F902FEF80E792E021508040A2 +:101940009040E1F700C000000C94370C9091BF026A +:1019500090FF14C090911A0120911B0133E0939FD6 +:10196000F0011124EC53FD4F921710F00C94370C3A +:101970008183608342839F5F3396F6CF0895EF9211 +:10198000FF920F931F93CF93DF9300D00F92CDB7A9 +:10199000DEB7182F062FF42EE22E8091BF0280FFB3 +:1019A00043C0E82FE695F0E0E758FE4F9081909312 +:1019B000C2018E7F823059F49E012F5F3F4F812FED +:1019C0000E944A0B4B8169818A810E94A60C109368 +:1019D000C0020093C102F092C202EE2079F1609140 +:1019E000BF027091C0028091C1029091C2020E9418 +:1019F000690B8091730280FF17C08091C2021F9211 +:101A00008F938091C1021F928F938091C0021F9289 +:101A10008F938DEF92E09F938F930E94E3050FB613 +:101A2000F894DEBF0FBECDBF0F900F900F90DF91E7 +:101A3000CF911F910F91FF90EF90089580917302C5 +:101A400080FFF2CF1F92FF921F920F931F921F935E +:101A500086ED92E0E0CFEFEBF2E09181282F438119 +:101A6000628188E0890F0C94BF0C81E00C942B0DEF +:101A7000EFEBF2E09181282F4381628188EF890F9B +:101A80000C94BF0C81E00C94380DEFEBF2E0628116 +:101A900028E0620F08F46FEF282F438181810C94B6 +:101AA000BF0C81E00C94450DEFEBF2E0628128E081 +:101AB000621B08F460E0282F438181810C94BF0CE5 +:101AC00081E00C94540DEFEBF2E0438128E0420FEB +:101AD00008F44FEF282F628181810C94BF0C81E0C4 +:101AE0000C94630DEFEBF2E0438128E0421B08F415 +:101AF00040E0282F628181810C94BF0C81E00C941E +:101B0000720D20E00C94BF0C8091BF0280FF35C0A5 +:101B1000817082608093BF02662329F16091BF02C9 +:101B20007091C0028091C1029091C2020E94690B23 +:101B30008091730280FF0FC08091BF0286951F9233 +:101B40008F9389E594E09F938F930E94E3050F9014 +:101B50000F900F900F904091C2026091C10280914E +:101B6000C0020C94810D8091730280FFF4CF1F920C +:101B700081E08F938BE394E0E6CF0895682F81E0B6 +:101B80000C94840D81E00C94BE0D682F9091BF02DF +:101B900096958FEF890F09F481E00C94840D81E014 +:101BA0000C94C50D61E00C94840D8091BF0281609E +:101BB0008093BF028091730280FF0DC01F9281E06D +:101BC0008F938DEC93E09F938F930E94E3050F908A +:101BD0000F900F900F908091BF0286950C94D20DBC +:101BE0008091730280FF10C08091BF028095817048 +:101BF0001F928F9384E094E09F938F930E94E3055C +:101C00000F900F900F900F908091BF0280FD0C9469 +:101C1000590C0C94D50D60E00C94840D8091C10199 +:101C200081115EC08091730280FF14C08CEF94E03C +:101C30009F938F930E94E305809173020F900F9002 +:101C400080FF08C086EE94E09F938F930E94E30587 +:101C50000F900F900E943920811110C08091730263 +:101C600080FF08C08EEB94E09F938F930E94E30562 +:101C70000F900F900E94DF200E947B0B0E94650B4B +:101C80006093BF027093C0028093C1029093C2021E +:101C90006E7FC1F48091730280FF08C085E794E0F5 +:101CA0009F938F930E94E3050F900F900E947B0BF0 +:101CB0000E94650B6093BF027093C0028093C102C3 +:101CC0009093C2020E944F0B0E948B0B8091BF0227 +:101CD00080FF03C086950E940B0E81E08093C101B6 +:101CE00008958091BF0281608093BF02809173024A +:101CF00080FF0DC01F9281E08F9384E993E09F9352 +:101D00008F930E94E3050F900F900F900F9080919A +:101D1000BF0286950C940B0EFA01811101C0FB01E4 +:101D200009940F931F93CF938C01FB01C281CC23A5 +:101D300009F44DC00E94571F8272F801E25CFC4515 +:101D4000E431F10538F4ED58F14D0C94092E0E9460 +:101D5000F00DC0E08C2FCF911F910F9108954FECA3 +:101D60005DE062EC7DE00E948C0EF3CF42EC5DE022 +:101D70006FEC7DE0F8CF42E45DE065E37DE0F3CF1A +:101D800045E35DE062E47DE0EECF40E65DE061E5E5 +:101D90007DE0E9CF41E55DE060E67DE0E4CF4EE740 +:101DA0005DE06FE67DE0DFCF4FE65DE06EE77DE072 +:101DB000DACF41E35CE06AE17CE0D5CF4AE15CE068 +:101DC00061E37CE0D0CF81E00E94D20DC2CFC1E0C0 +:101DD000C1CF0E943920811102C00E94DF200E94E1 +:101DE000672080930003803220F0877088618093A1 +:101DF000000390910003892F817090FF04C0892F08 +:101E00008695869586950C94531080910003982FA3 +:101E1000969596959695933040F49F5F990F990FFC +:101E2000990F8770892B8093000380910003816054 +:101E3000809300030E946B208091730280FF11C089 +:101E4000809100038695869586951F928F9385E3F2 +:101E500096E09F938F930E94E3050F900F900F9051 +:101E60000F90809100038695869586950C9453106B +:101E700080910003982F987F79F088508093000319 +:101E8000887F91E009F490E08091000390FB80F955 +:101E9000809300030E946B208091730280FF11C029 +:101EA000809100038695869586951F928F938DE18C +:101EB00096E09F938F930E94E3050F900F900F90F1 +:101EC0000F90809100038695869586950C9453100B +:101ED0008091000380FD1FC08160809300038130EA +:101EE00019F489E080930003809100030E946B2025 +:101EF0008091730280FF08C085EF95E09F938F93D8 +:101F00000E94E3050F900F908091000386958695BF +:101F100086950C94531008958091000380FF14C09F +:101F20008E7F809300030E946B208091730280FF5C +:101F300008C082EE95E09F938F930E94E3050F9077 +:101F40000F9080E00C9453100895CF93C09100033C +:101F5000C1708091730280FF0CC01F92CF9387E005 +:101F600096E09F938F930E94E3050F900F900F9040 +:101F70000F90CC2319F0CF910C948C0FCF910C942F +:101F8000680F90910003892F8695869586958F5FBF +:101F90008F719770843080F5880F880F880F892B98 +:101FA0008093000380910003887F91E009F490E022 +:101FB0008091000390FB80F9809300030E946B20C6 +:101FC0008091730280FF11C08091000386958695F1 +:101FD00086951F928F938EEC95E09F938F930E942E +:101FE000E3050F900F900F900F908091000386955E +:101FF000869586950C94531090930003D3CF84302C +:1020000008F083E0909100039770282F220F220F91 +:10201000220F922B90930003987F21E009F420E097 +:102020009091000320FB90F9909300030C945310BF +:102030000E94FF0F809100030C946B209C01FB0118 +:102040008281882349F12D3BFCE53F07C9F040F42C +:102050002B3BECE53E0769F02C3B3C4579F00895BD +:102060002F3B9CE5390791F070F0203C3C4589F00E +:10207000089583E00E94181080E0089580E0FACF70 +:102080000E94380FF9CF0E94050FF6CF0E94A50FCE +:10209000F3CF0E94C10FF0CF81E00895259A2D98CB +:1020A00008952D980895CF92DF92EF92FF92CF93EB +:1020B000C82F843040F5811127C0809180008F7730 +:1020C000809380000E9451102C2F30E0AFEFBFEFC3 +:1020D0000E940F2E23E030E040E050E00E94E72D08 +:1020E000C9012C3764E13607A8F469E070E00E946A +:1020F000BF2D7093890060938800CF91FF90EF907F +:10210000DF90CF900895C3E0809180008068809335 +:102110008000DACF2A50374D4F4F5F4F942F832FD7 +:10212000722F662725EF38E241E050E00E94E72D4C +:1021300069017A01CA01B9010E94A32D9B01AC017A +:10214000C701B6010E94A32D672F782F892F9927E9 +:102150006115710521E08207910559F66FEF7FEF58 +:10216000C8CF08950E944E1082E88093800089E1D4 +:10217000809381008FEF9FEF90938700809386007C +:102180000C94E90E6A9A4EB14B7F5EB15460EFB782 +:10219000F8949B01220F331F260F371F280F391F7A +:1021A0002817390741F4EFBF8FE594E00197F1F765 +:1021B00000C000000895DC016D91CD0178E05EB9AA +:1021C000000000C067FF4EB9660F000000C000C0ED +:1021D00000C04EB900C07A9591F7E2CFAF92BF929E +:1021E000CF92DF92EF92FF920F931F93CF93DF93E3 +:1021F0007C015B01C42FD22FFC0182818823F9F07E +:102200004093C6010E9464229093C5018093C4014B +:1022100080E28C0F883008F061C0C77081E001C097 +:10222000880FCA95EAF7DF91CF911F910F91FF9028 +:10223000EF90DF90CF90BF90AF900C943A17109131 +:10224000C601141340C08091C4019091C5010E9441 +:1022500070226C01B701C5010E942C1CC816D9065A +:1022600090F5C0E2CD0F1D17B9F080E2810F8830E4 +:1022700040F4177081E001C0880F1A95EAF70E94B8 +:102280004117C83048F481E09D2F977001C0880F36 +:102290009A95EAF70E943A17802F0E942717C830B4 +:1022A000E8F4D77081E001C0880FDA95EAF7DF9192 +:1022B000CF911F910F91FF90EF90DF90CF90BF9043 +:1022C000AF900C94411780E28C0F883038F4C770BF +:1022D00081E001C0880FCA95EAF7E9CFDF91CF917D +:1022E0001F910F91FF90EF90DF90CF90BF90AF9034 +:1022F00008950F939C01CB01233F4CE5340759F11E +:10230000A8F4283DFCE53F0701F1293D4CE53407E1 +:10231000D1F1273D3C4591F406E221EE41EE67ED17 +:102320007CE50E94EE1080E00F910895253FFCE5CA +:102330003F07E9F0B0F0263F3C45F9F0FC0182810F +:10234000882339F11092C601EFCF07E225EE45EE62 +:1023500068ED7CE5E6CF06E221EE40EE63EF7CE53A +:10236000E0CF07E225EE44EE64EF7CE5DACF06E24B +:1023700021EE42EE65EF7CE5D4CF07E225EE46EE96 +:1023800066EF7CE5CECF08E221E045EE69ED7CE525 +:10239000C8CF81E0C9CFCF93DF93EC01FB018281ED +:1023A000882309F419C1C230FCE5DF07C0F1C6314A +:1023B0009CE5D90730F09E012A5F3C452930310564 +:1023C00070F50E944C209093AA028093A902C0311C +:1023D000ECE5DE0709F4CFC008F05BC0C8308CE53F +:1023E000D80709F4B6C088F5C430ECE5DE0709F477 +:1023F000A8C0C0F4C2308CE5D80709F49CC0809115 +:10240000A9028260C330DC4509F498C08091A9021A +:102410009091AA020E945A200E94B61980E0DF9192 +:10242000CF9108958091A9028061C630ECE5DE0766 +:1024300009F484C08091A9028860C730DC4508F4A3 +:102440007DC08091A902806279C0CC308CE5D8072C +:1024500009F489C070F48091A9028C60CA30ECE55F +:10246000DE0709F46BC008F478C08091A9028E7F62 +:1024700065C0CE308CE5D80709F479C08091A902F7 +:102480008B7FCF30DC4508F459C08091A9028F7E44 +:1024900055C0CB3FECE5DE0709F457C030F5C3313A +:1024A0008CE5D80709F46FC078F4C131ECE5DE079C +:1024B00009F465C0C231DC4509F0A8CF0E94B61905 +:1024C0008091A9028F773AC0C5318CE5D80709F40D +:1024D00062C008F476C08091AA028160CA3FDC45E0 +:1024E00009F094CF8093AA0291CFCF3FFCE5DF079C +:1024F00009F44DC088F48091AA028D7FCD3F9CE500 +:10250000D90781F38091AA028E7FCE3FDC4550F33C +:102510008091AA028360E6CFC130FDE5DF0709F4B0 +:1025200059C008F444C080E0C230DD4509F06ECFE8 +:102530000E94E1206BCF8091A90281608093A90263 +:1025400065CF8091A9028460F9CF8091AA02826050 +:10255000C9CF8091A9028064F1CF0E94B619809101 +:10256000A9028068EBCF8091A9028D7FE7CF80918F +:10257000A902877FE3CF8091A9028F7DDFCF809171 +:10258000A9028F7BDBCF8091A902837FD7CF809177 +:10259000AA028C7FA7CF8091A90282FB992790F98C +:1025A00021E0922790FB82F990FB83F9C7CF8091BD +:1025B000AA02982F909591708E7F892B90FB81F9BC +:1025C00091CF0E94B6199091A902892F97FB87F9A4 +:1025D0008058B4CF81E0ACCF81E021CFCF93DF939F +:1025E000EB0186319C4511F50E94571F9A81992372 +:1025F00099F08A7A91E009F490E09093C7018111F3 +:1026000009C089E20E94321F0E94A61F80E0DF916C +:10261000CF91089585E3F6CF8091C701811104C061 +:1026200089E20E94391FF0CF85E3FBCF81E0EFCF35 +:10263000CF93DF93EC0181E0898B8F810E945A1F39 +:1026400088850E946D1F0E94A61FEA81FB8130973A +:1026500039F06C897D89CE010696DF91CF9109947E +:10266000DF91CF910895EF92FF920F931F93CF9335 +:10267000DF93EC018A85811134C0EB80FC8087E513 +:10268000F81A26E12E9DC0012F9D900D1124DC012A +:10269000AE5FBE4F1496ED91FC911597309731F0D7 +:1026A00054966D917C91885F9E4F099586E18E9D31 +:1026B00080018F9D100D11240E5F1E4FF801878140 +:1026C0000E94601FF80180850E94731F0E94A61F50 +:1026D000188219861B861E821D821092C9011092D3 +:1026E000C801DF91CF911F910F91FF90EF90089556 +:1026F000DF92EF92FF920F931F93CF93DF937C01B2 +:10270000FB018281882391F080911D018F3F71F040 +:10271000C2E0D1E010E000E0DD24D39480911D01FF +:10272000082E000C990B8017910744F4DF91CF918C +:102730001F910F91FF90EF90DF9008958E81882375 +:10274000C9F089859A858E159F0539F48091C80155 +:102750009091C9018E159F0569F0DF86FC86EB8696 +:102760008989811103C0CE010E941813CE010696FB +:102770000E9433130F5F1F4F6696D0CFEF92FF92E8 +:102780000F931F93CF93DF937C0197558F3F910554 +:1027900009F0D8F520911D01022E000C330B2817EB +:1027A000390714F480931D01FB01228136E1389F23 +:1027B0008001399F100D1124E801CE5FDE4F288B78 +:1027C00092818E81992349F1FA86E9868F5F8E8303 +:1027D0000E9464229E878D870E948D1F8F830E9496 +:1027E000571F88870E946A1F9885892B8887E881F0 +:1027F000F981309731F06C897D89C801885F9E4FDF +:102800000995F092C901E092C80181E0DF91CF9172 +:102810001F910F91FF90EF9008958823B1F389895C +:10282000882399F3C801885F9E4F0E943313EDCF30 +:10283000CF92DF92EF92FF920F931F93CF93DF938C +:1028400080911D0110E006E18F3FF1F5DF91CF91FE +:102850001F910F91FF90EF90DF90CF9008950E9D04 +:10286000F0010F9DF00D1124EE5FFE4FC288D3885A +:10287000C114D10439F470E060E0818592850E9432 +:102880002C1C6C010E9DE0010F9DD00D1124CE5F1C +:10289000DE4F8E818823B9F08D859E850E9470223F +:1028A000C816D90680F4109F7001112489898111FE +:1028B00005C0C7018E5F9E4F0E941813C701885F35 +:1028C0009E4F0E9433131F5FE12EF12C80911D015A +:1028D000082E000C990B8E159F050CF6B7CF909320 +:1028E000CF018093CE010895E091CE01F091CF0108 +:1028F000309721F00190F081E02D099480E0089557 +:10290000EF92FF920F931F93CF93DF93EC01E0912F +:10291000CE01F091CF01309709F446C08091320189 +:10292000882341F08091A90287FF04C088818983B0 +:1029300085E088830280F381E02DCE0109958091A6 +:10294000730282FF31C080FF04C085E597E00E94DA +:102950004A0510E000E08FE4E82E87E0F82E809131 +:10296000730280FF0EC0FE01E00FF11F80811F92F5 +:102970008F93FF92EF920E94E3050F900F900F90BC +:102980000F900F5F1F4F0830110549F780917302B8 +:1029900080FF0AC08DE497E0DF91CF911F910F91E6 +:1029A000FF90EF900C944A05DF91CF911F910F910A +:1029B000FF90EF900895E091CE01F091CF01309714 +:1029C00039F022E0DC012C930480F581E02D09949C +:1029D00008952091CC013091CD012817390771F06D +:1029E0009093CD018093CC01E091CE01F091CF0185 +:1029F000309721F00680F781E02D09940895209109 +:102A0000CA013091CB012817390771F09093CB019F +:102A10008093CA01E091CE01F091CF01309721F06F +:102A20000084F185E02D0994089585B7806885BFFD +:102A300085B7806885BF0895089508950C941C1586 +:102A400008950C9420150E9415150E941D150C94D4 +:102A50001E1581E008950C9429150E945B220E94A6 +:102A60007B090E94DD220E94E90E0E940E0E0C944A +:102A70002115CF93C82F8091730282FF1EC080FF63 +:102A80001CC08EE697E00E944A058091730280FF89 +:102A900014C01F92CF9389E697E09F938F930E9473 +:102AA000E305809173020F900F900F900F9080FFBD +:102AB00004C087E697E00E944A058C2FCF910C94C2 +:102AC00095069F92AF92BF92CF92DF92EF92FF92C4 +:102AD0000F931F93CF93DF93CDB7DEB72A970FB62F +:102AE000F894DEBF0FBECDBF0E94E3090E942B15F4 +:102AF000882309F472C051EDA52E51E0B52E10E0E7 +:102B000000E0902E802F0E9427096C01F501E190D2 +:102B1000F1905F01E816F90609F459C0809173023B +:102B200081FD0E94300997012C253D2580E0EE248F +:102B3000E394F12CA9014E215F21452B09F441C0FA +:102B40008E839F82CE20DF2081E0CD2809F480E0B3 +:102B500088870E9464228160782F9A8789874E81B6 +:102B60005F8168858A850E941016000F111FF80189 +:102B7000EF52FE4F80819181E826F926F182E082B2 +:102B80000E94B1100E940A250E9474149091D001F5 +:102B90008917A1F10E9474148093D0012A960FB670 +:102BA000F894DEBF0FBECDBFDF91CF911F910F9183 +:102BB000FF90EF90DF90CF90BF90AF909F900C94DC +:102BC00039158F5FEE0CFF1C803109F0B3CF0F5F1A +:102BD0001F4F0530110509F094CF8FEF89838A8349 +:102BE0001B820E9464228160782F9D838C8349819F +:102BF0005A816B818D810E941016C2CF2A960FB622 +:102C0000F894DEBF0FBECDBFDF91CF911F910F9122 +:102C1000FF90EF90DF90CF90BF90AF909F9008957E +:102C2000CF93DF93CDB7DEB72B970FB6F894DEBF07 +:102C30000FBECDBF4F83588769877A878B871E82E7 +:102C40001D8285E0FE013796DE01119601900D92FE +:102C50008A95E1F749815A816B817C818D819E81C2 +:102C60002B960FB6F894DEBF0FBECDBFDF91CF918C +:102C70000C942F1CFC01808191810C94041FCF9334 +:102C8000C82F882309F48BC08238C1F40E947414C1 +:102C900081FD85C089E30E94321F0E94A61F2FEF8D +:102CA00081EE94E0215080409040E1F700C00000A8 +:102CB00089E30E94391FCF910C94A61F8338A1F499 +:102CC0000E94741480FD6BC083E50E94321F0E9435 +:102CD000A61F2FEF81EE94E0215080409040E1F755 +:102CE00000C0000083E5E5CF8438A1F40E9474148D +:102CF00082FD55C087E40E94321F0E94A61F2FEF5D +:102D000081EE94E0215080409040E1F700C0000047 +:102D100087E4CFCF8CEF8C0F813A90F46C2F8091A9 +:102D20001E0190911F010E94FA20882329F08C2F08 +:102D30000E94391F0E94A61F8C2F0E94321FBBCFFA +:102D400080E28C0F883048F4C77081E001C0880FA2 +:102D5000CA95EAF70E945A1FAECFEBE5EC0FE330BD +:102D600040F4F0E0E755FE4F808190E0CF910C9465 +:102D7000E914E8E5EC0FE73150F4F0E0EE0FFF1F47 +:102D8000E558FE4F80819181CF910C94FF14C03F94 +:102D900030F08C2F0E948223CF910C946D24CF9120 +:102DA0000895882309F452C0823871F40E94741483 +:102DB00081FF4CC089E30E94321F0E94A61F89E355 +:102DC0000E94391F0C94A61F833859F40E94741472 +:102DD00080FF3CC083E50E94321F0E94A61F83E54E +:102DE000EFCF843859F40E94741482FF2FC087E417 +:102DF0000E94321F0E94A61F87E4E2CF9CEF980F2B +:102E0000913AF0F290E2980F983050F4877091E088 +:102E100001C0990F8A95EAF7892F0E94601FD2CFCF +:102E20009BE5980F933020F490E080E00C94E91437 +:102E300098E5980F973120F490E080E00C94FF140F +:102E4000803F20F00E94EA230C946D240895CF93D4 +:102E5000C82F0E943F16C93349F42FEF87EE93E045 +:102E6000215080409040E1F700C000008C2FCF91AE +:102E70000C94D116882321F00E945A1F0C94A61F8F +:102E80000895882321F00E94601F0C94A61F0895C6 +:102E9000BF92CF92DF92EF92FF920F931F93CF9347 +:102EA000DF936C01D62FC72FFC01058102950F70AF +:102EB000128111110E947A1F0E94501FE82E882350 +:102EC00091F01123D1F08C2F807F803421F080E2AB +:102ED0008D0F883090F082E00E94F11F0E94501FF9 +:102EE00091E0E82EE926BC2EB2949FE0B922EB2DAA +:102EF000F0E0E957F14D0C94092EE12CF4CF0C2FA2 +:102F00000F70C07F11F00295007F1123A9F00023FC +:102F100059F080E28D0F883010F0D11109C0802F58 +:102F20000E945A1F0E94A61F8D2F0E943F1614C098 +:102F3000802F0E946D1FF6CF8D2F0E94D116002387 +:102F400059F080E28D0F883010F0D1112CC0802F05 +:102F50000E94601F0E94A61F2B2D2850330B243087 +:102F6000310520F40E9474140E949506EE2009F4A5 +:102F70009EC10E944C1F80FD9AC1F60112820E94E0 +:102F8000461F0E94D31DC6010E9478190E94461F49 +:102F9000DF91CF911F910F91FF90EF90DF90CF9035 +:102FA000BF900C94F41D802F0E94731FD3CFFC2F71 +:102FB000FF70FF2EC07FC03219F0F29480EFF8222C +:102FC000DD2369F0D13049F1112391F1002351F152 +:102FD000F601858180FFA8CF8F70858323C01123E0 +:102FE00081F0011106C00E948D1F8F290E943A179F +:102FF000B3CF0130C1F70E948D1F8F290E94931F0C +:10300000ABCF011106C00E949C1F8F2D0E9441175B +:10301000A3CF013009F4A0CFF6CF112329F0063059 +:1030200008F09ACF8F2DE2CF053008F095CFEDCF85 +:10303000002359F3D93349F4FFEF27EE33E0F15081 +:1030400020403040E1F700C000008D2F0E94D116D3 +:1030500083CF8C2F86958695837069F0813009F037 +:103060007BCF8D2F9C2F9370111102C090E080E0D8 +:103070000E94FF1471CF8D2F9C2F9370111102C0ED +:1030800090E080E00E94E91467CF8D2F112329F092 +:103090000E9482230E946D245FCF0E94EA23FACF10 +:1030A0008C2F837009F041C0111156CF4D2F4295DE +:1030B00046954770440F440F0D2F0F7010E030E01D +:1030C00020E0042E04C0000F111F221F331F0A949A +:1030D000D2F760E070E0CB01D4FF0FC06FE070E08A +:1030E00080E090E004C0660F771F881F991F4A9503 +:1030F000D2F76095709580959095C695C695C370EA +:10310000602B712B822B932BC23049F058F4C130C5 +:1031100019F00E94651D20CF0E94531D1DCF0E94F3 +:10312000771D1ACF0E94511D17CF8695112311F0DC +:103130008C2F8170882309F40FCF4D2F429546952F +:103140004770440F440F0D2F0F7010E030E020E067 +:10315000042E04C0000F111F221F331F0A94D2F740 +:1031600060E070E0CB01D4FF0FC06FE070E080E062 +:1031700090E004C0660F771F881F991F4A95D2F709 +:103180006095709580959095C695C695C370602B97 +:10319000712B822B932BC23049F058F4C13019F0B7 +:1031A0000E944A1ED9CE0E94381ED6CE0E945C1EB6 +:1031B000D3CE0E948D1DD0CECF70112329F08C2F3D +:1031C0000E94D31D8D2F12CF8D2F0E9441178C2F5F +:1031D0000E94F41DC1CED23F89F160F4D03FC9F006 +:1031E000D13F29F1112309F442C001119DCE8C2F4A +:1031F0008F7121C0D33F39F1D43FA1F7112369F179 +:10320000CF718C2F0E94D31D63E08C2F0E94DC1F96 +:10321000A3CE112341F0053008F09ECE8C2F8F7184 +:103220000E94171E99CE063008F096CEF7CF8C2F4D +:103230008F71112369F20E94D31D8ECE8C2F8F7156 +:103240001123C9F3C5CF112329F08C2F8F710E9450 +:10325000BE1D82CE0E94991D7FCE81E00E94F11F8B +:10326000023008F479CE82E00E94F11F75CE00236F +:1032700059F0D93309F0E9CE8FEF97EEE3E08150B2 +:103280009040E040E1F7DFCE8C2F8F71A1CF4C2F23 +:103290004F706D2FC6010E9415070E94C91C5CCE9D +:1032A0004C2F4F706D2FC6010E94180755CEDF912D +:1032B000CF911F910F91FF90EF90DF90CF90BF9033 +:1032C00008950F931F93CF93DF93EC016881798169 +:1032D0008A810E940E1F8C010E946E1E0E94501D4A +:1032E000B801CE01DF91CF911F910F910C94481737 +:1032F000CF93DF93EC018B819C81892B29F088810E +:10330000998189238F3F59F4DF91CF910895CE01A0 +:103310000E946119CE01DF91CF910C947506CE0108 +:103320000E94AD068111F3CF0E94501F882361F3E4 +:103330008A81882349F382E0DF91CF910C94F11FB9 +:103340000E947A1F0E948A1F0E94A61F0E941626B2 +:103350000E946D2490E080E00E94E91490E080E0FB +:103360000C94FF140E94401F0C94A0190E94671F28 +:103370000C94B219E92FE295EF70E250EE3070F440 +:10338000F0E0E956F14D0C94092E803F19F020F43D +:10339000883E20F481E00895843FE1F380E00895C1 +:1033A000883EC0F3813FD1F7F5CF93FB882780F9A2 +:1033B00008950E94041F0C94BA19CF93DF9300D094 +:1033C00000D00F92CDB7DEB70F900F900F900F90F7 +:1033D0000F90DF91CF910895CF93DF9300D000D06D +:1033E00000D0CDB7DEB726960FB6F894DEBF0FBE7D +:1033F000CDBFDF91CF9108951F93CF93DF93C091FD +:10340000DC0116E08091DD018C1304C0DF91CF91C7 +:103410001F910895D0E01C9FF0011D9FF00D112415 +:10342000E252FE4F40815181628173818481958196 +:103430000E94EC192196C770E5CF40910E02509181 +:103440000F0260911002709111028091120290910E +:1034500013020C94EC191F93CF93DF938091130206 +:10346000807FA9F480911002882389F08091DC018B +:10347000C091DD0160910E0270910F02A0911102C6 +:10348000B0911202D62FD72316E0C81304C0DF91E3 +:10349000CF911F91089590E0109711F0DF3F19F43C +:1034A00001968770F2CF189F9001199F300D11245B +:1034B000F901E252FE4F41814713F2CF408146139A +:1034C000EFCF42814111ECCF438154814A1B5B0B0A +:1034D000483C510528F7809113028F7080618093DA +:1034E0001302F901ED51FE4F80818F70806180835E +:1034F0008EE092E00E947819DF91CF911F910C9499 +:10350000FC19AF92BF92CF92DF92EF92FF920F938E +:103510001F93CF93DF93CDB7DEB761970FB6F894C3 +:10352000DEBF0FBECDBF8C0185E0F801DE011D9628 +:1035300001900D928A95E1F7F80140815181E28076 +:103540008EE0C82E82E0D82E609111027091120296 +:103550006115710509F461C190910E0220910F026D +:10356000892F82238F3F09F458C1A380B480F09043 +:103570001002F501E61BF70BFF2009F4FCC0809157 +:103580001302382F307FE83CF10508F0B2C031114A +:1035900079C0FE2C251323C0941321C0E1101FC055 +:1035A0008F708061809313020E941D1AC6010E94D1 +:1035B000781980911302F80185838F2D61960FB6DB +:1035C000F894DEBF0FBECDBFDF91CF911F910F9159 +:1035D000FF90EF90DF90CF90BF90AF900895AB2811 +:1035E00029F0842F85238F3F09F033C180E0F82F25 +:1035F000F170DF2E80FF3CC08091DC012091DD0165 +:1036000036E0821315C04D875E878D859E850E94AA +:10361000041F292F22952F702230F0F0243018F546 +:103620009F70F1F0F8019581907FD1F4D12C1EC0EC +:1036300090E0389FF001399FF00D1124E252FE4FC7 +:103640006181651306C06081641303C062816E11DD +:103650000FC001968770D5CF9F7011F0882331F38A +:10366000805E883018F3C8010E947819FD2CA5CF20 +:10367000EE2009F4A2CF809113028160809313029F +:10368000F12C9BCF251306C0941304C0F801EE2043 +:1036900009F48DC04D875E878D859E850E94D9195E +:1036A000882319F1EE2009F180911302803270F025 +:1036B00020910E0230910F0238872F831986BB8626 +:1036C000AA868C87CE0107960E94781986E0F801B9 +:1036D000AEE0B2E001900D928A95E1F70E942B1ABC +:1036E0000E941D1AFF24F39468CFC8010E94781924 +:1036F000F9CF311113C07A2DB98AA88A6E2D898924 +:103700000E94DD198EE092E00E94781986E0F601B1 +:1037100011928A95E9F70E941D1AB2CF25130FC0A6 +:1037200094130DC0E1100BC0F8018583C8010E94FD +:10373000781986E0F60111928A95E9F73ECF4D8718 +:103740005E878D859E850E94D919882371F2EE20AF +:1037500061F280911302803208F4B8CF20910E02FA +:1037600030910F023A8329831B82BD82AC828E8303 +:10377000CE010196A9CFE83CF10508F041C0FE2C2E +:10378000EE2009F4B2CF25132AC0941328C08091EB +:10379000130280FD1BC0982F907FC1F0F801858334 +:1037A000903F31F0982F907F905F8F70892B8583A9 +:1037B000C8010E94781986E0F801AEE0B2E00190FD +:1037C0000D928A95E1F70E941D1AF7CE86E0F80166 +:1037D000AEE0B2E001900D928A95E1F7EECE4D8712 +:1037E0005E878D859E850E94D91981116FCF80914A +:1037F0001302816080931302C8010E947819DDCE04 +:103800007A2DB98AA88A6E2D89890E94DD1986E0F1 +:10381000F60111928A95E9F7D6CFEE2009F465CF2B +:103820004D875E878D859E850E94D919F82E882345 +:1038300009F45BCF86E0F801AEE0B2E001900D92B2 +:103840008A95E1F78EE092E00E943A160E942B1AC8 +:10385000BACF81E08E25CBCE88EC90E008951F93FF +:10386000CF93DF93CDB7DEB72C970FB6F894DEBFBA +:103870000FBECDBF4F83588769877A878B879C8718 +:10388000CE0107960E94811A882369F08A859B855C +:10389000892B39F04F815885842F85238F3F09F07C +:1038A00071C016E05FC086E0FE013796DE0111961A +:1038B00001900D928A95E1F78A859B85892B89F382 +:1038C0008F81988589238F3F61F32091DD0130E05E +:1038D000C9010196877099274091DC0148171906A4 +:1038E00071F40E94B6191092DD011092DC0186E09D +:1038F000EEE0F2E0DF011D928A95E9F7D2CF96E083 +:10390000929FD001939FB00D1124A252BE4FFE0191 +:10391000319601900D929A95E1F78093DD010E9416 +:10392000FC19BFCF819FC001112482529E4F0E947B +:10393000811A8823E9F0E091DC011E9FF001112437 +:10394000E252FE4F40815181628173818481958171 +:103950000E94EC198091DC0190E001968770992714 +:103960008093DC018091DC019091DD018913DACF35 +:103970002C960FB6F894DEBF0FBECDBFDF91CF916E +:103980001F91089569857A858B859C850E94EC1925 +:1039900088CFEF92FF920F931F93CF93DF938C0109 +:1039A000892B81F0F12CEE24E394E8012196F801B3 +:1039B0008491843770F4843008F05FC08130B1F0B6 +:1039C0008230A1F1DF91CF911F910F91FF90EF9085 +:1039D0000895853709F44CC008F43DC09CE7980F62 +:1039E000903780F78F770E94D11649C00E5F1F4F26 +:1039F000FE01849190E2980F983060F48770FE2D5C +:103A000001C0FF0F8A95EAF78F2F0E947D1F0E9449 +:103A1000A61F02C00E943F168F2D815030F2EFE9A1 +:103A2000FFE03197F1F700C00000F7CF0E5F1F4FA6 +:103A3000FE01849190E2980F983050F48770FE2D2B +:103A400001C0FF0F8A95EAF78F2F0E94831FDFCFF7 +:103A50000E94D116E1CF0E5F1F4FFE01C491C150ED +:103A6000D8F28FE99FE00197F1F700C00000F7CF8F +:103A70000E5F1F4FFE01F490CFCF0E943F168E01C4 +:103A8000CBCF08950C94411D0E94421D60934A02C1 +:103A900070934B0280934C0290934D020C94A019AA +:103AA00008950C94441D0F931F9300914A021091A6 +:103AB0004B0220914C0230914D02602B712B822BD6 +:103AC000932B1F910F910C94441D0F931F93009102 +:103AD0004A0210914B0220914C0230914D0260231A +:103AE0007123822393231F910F910C94441D0F93F4 +:103AF0001F9300914A0210914B0220914C02309189 +:103B00004D0260277127822793271F910F910C94F4 +:103B1000441D0C94411D0C94891D0E948B1D6093C3 +:103B200046027093470280934802909349020C9496 +:103B3000A01960E070E0CB010C948D1D611571053A +:103B40008105910529F481E0442361F080E0089526 +:103B5000DC01CB0104C0B695A795979587954A954A +:103B6000D2F781700895482F609146027091470204 +:103B700080914802909149020C949E1D0F931F93CF +:103B800041E050E060E070E08A019B0104C0000F5A +:103B9000111F221F331F8A95D2F7C901B8011F9147 +:103BA0000F910C948D1D0F931F9341E050E060E046 +:103BB00070E004C0440F551F661F771F8A95D2F727 +:103BC0008091460290914702A0914802B09149022B +:103BD0008A019B01082B192B2A2B3B2BC901B80109 +:103BE0001F910F910C948D1D0F931F9341E050E096 +:103BF00060E070E004C0440F551F661F771F8A9570 +:103C0000D2F7CB01BA01609570958095909500919F +:103C100046021091470220914802309149026023E8 +:103C20007123822393231F910F910C948D1D0F9369 +:103C30001F9341E050E060E070E004C0440F551F66 +:103C4000661F771F8A95D2F78091460290914702AE +:103C5000A0914802B09149028A019B0108271927C7 +:103C60002A273B27C901B8011F910F910C948D1D84 +:103C70000F931F9300914602109147022091480232 +:103C800030914902602B712B822B932B1F910F9146 +:103C90000C948D1D0F931F930091460210914702C3 +:103CA000209148023091490260237123822393239B +:103CB0001F910F910C948D1D0F931F93009146023D +:103CC00010914702209148023091490260277127E4 +:103CD000822793271F910F910C948D1D0895929523 +:103CE000907F890F982F977041E001C0440F9A95FB +:103CF000EAF786958695869595E0899FF0011124CF +:103D0000EC5EFD4F30E020E070E05191DF01119753 +:103D1000CB01022E02C0969587950A94E2F7817036 +:103D200081958527842385278C932F5F3F4F2530EE +:103D3000310559F708959295907F890F982F9770C4 +:103D400086958695869525E0829FF0011124EC5E8C +:103D5000FD4F50E040E080E0219130E0092E02C0AC +:103D6000369527950A94E2F721703327042E01C077 +:103D7000220F0A94EAF7822B4F5F5F4F45305105BF +:103D800059F70895BF92CF92DF92EF92FF920F936F +:103D90001F93CF93DF938C01C0904602D0904702CF +:103DA000E0904802F090490280914A0290914B02C3 +:103DB000A0914C02B0914D02C82AD92AEA2AFB2AC6 +:103DC000CFE1D0E0BC2ED701C6010C2E04C0B695C1 +:103DD000A795979587950A94D2F780FD0EC02197F5 +:103DE00088F7B12C8B2DDF91CF911F910F91FF9010 +:103DF000EF90DF90CF90BF900895B8018C2F0E9474 +:103E00003607019761F3EECFCF93DF93EC010E9469 +:103E1000C21EBE01DF91CF910C9436071F93CF9342 +:103E2000DF93EB019091DB01992331F0CB01DF911E +:103E3000CF911F910C94041F882379F0CB010E942D +:103E4000C21E182F682FCE010E946F1EBE01812F47 +:103E5000DF91CF911F910C943607CB010E949B1EDE +:103E6000182FF4CF682F80911E0190911F010C94A0 +:103E70009C21682F80911E0190911F010C94A72115 +:103E800080911E0190911F010C94B22180914E02ED +:103E9000859585958595089580914E028770089542 +:103EA00090914E02977081E009F480E0089580912E +:103EB0007202089590917202892B80937202089584 +:103EC00080959091720298239093720208951092B7 +:103ED0007202089580917102089590917102892B68 +:103EE0008093710208958095909171029823909328 +:103EF0007102089510927102089590917002892BB9 +:103F00008093700208958095909170029823909309 +:103F10007002089510927002089580914F020895E2 +:103F200008950C94901F90914F02981721F0809360 +:103F30004F020C94911F089580914F02882329F01D +:103F400010924F0280E00C94911F0895E0911E01A1 +:103F5000F0911F01809172028083E0911E01F09127 +:103F60001F01808190917102892B8083E0911E0155 +:103F7000F0911F01808190917002892B8083909134 +:103F80004F02992381F0E0911E01F0911F01808181 +:103F9000892B808380911E0190911F010E94E62051 +:103FA00081110E949C1F80911E0190911F010C9411 +:103FB000801408950C94D91F98E0899F90011124D2 +:103FC000622B60934E020E94D31D80914E02859514 +:103FD000859585950C94DA1F10924E0280E00C9422 +:103FE000DA1F90914E028095892380934E02282FEC +:103FF000277071F4282F082E000C330B921713062C +:1040000039F08595859585950E94F41D0C94EC1FDB +:1040100008959093BD018093BC010895829590E02E +:104020009C01220F331F220F331F2C7C95958795FF +:10403000959587958373282B30E0C901880F991FC8 +:104040008A7A359527952575822B0895CF93DF932E +:10405000D92F0E940E20C82F8D2F0E940E209C2F3A +:10406000DF91CF9108956FEF7FEF90E080E00C94A7 +:104070005B2E90E080E00E94372E21E08C3E9E4F28 +:1040800009F020E0822F089582E090E00C94292E20 +:1040900083E090E00C94292ECF9384E090E00E947E +:1040A000292EC82F81E290E00E94292E982F8C2F74 +:1040B000CF910895CF93C92F682F84E090E00E949C +:1040C0003D2E6C2F81E290E0CF910C943D2E86E046 +:1040D00090E00C94292E682F86E090E00C943D2E01 +:1040E000AB01BC018FE090E00C944F2EAB01BC0102 +:1040F00083E190E00C944F2E60E070E0CB010C94D3 +:10410000762060E070E0CB010E9470200C947C204F +:104110006CEE7EEF90E080E00E945B2E60E082E03B +:1041200090E00E943D2E60E083E090E00E943D2EF2 +:1041300010924A0210924B0210924C0210924D02C1 +:1041400060E084E090E00E943D2E60E081E290E03B +:104150000E943D2E60E085E090E00E943D2E60E0F0 +:1041600086E090E00E943D2E6FEF87E090E00E9495 +:104170003D2E40E050E0BA0188E090E00E944F2ED2 +:1041800060E08DE090E00E943D2E40E050E0BA01FA +:1041900088E190E00E944F2E60E087E190E00E946D +:1041A0003D2E40E050E0BA018CE190E00E944F2E9D +:1041B00060E080E290E00E943D2E0C9481200C94FF +:1041C0008820682F8EE090E00C943D2EFC01329602 +:1041D00080913201882321F08091A9029EE187FF1E +:1041E00096E080E0915008F4089521912223D1F3C4 +:1041F0008F5FF8CF662301F1209132012223F1F085 +:104200002091A90227FF1AC0462F4695469546954C +:104210004E3190F4677021E030E002C0220F331F6E +:104220006A95E2F7840F911DFC01828190E02823BA +:10423000392381E0232B69F480E00895FC01329654 +:1042400008962191261721F0E817F907D1F7F4CF46 +:1042500081E008959C01FC0132969FEF80E041913E +:10426000461751F09F3F19F4411101C0982F8F5FFD +:104270008630A9F79F3F09F40895290F311D97FD56 +:104280003A95F90162830895FC01329608962191CE +:10429000261303C0DF0111971C92E817F907B9F73D +:1042A0000895E62FE695E695E695EE3170F4E80F71 +:1042B000F92FF11D677021E030E001C0220F6A95EF +:1042C000EAF78281822B828308958091730280FFB6 +:1042D0000CC01F926F938FE997E09F938F930E947A +:1042E000E3050F900F900F900F900895E62FE6953D +:1042F000E695E695EE3178F4E80FF92FF11D677039 +:1043000021E030E001C0220F6A95EAF72095828112 +:104310002823228308958091730280FF0CC01F928E +:104320006F9381E897E09F938F930E94E3050F902E +:104330000F900F900F90089520913201222329F0C1 +:104340002091A90227FD0C9451210C942A2120913F +:104350003201222329F02091A90227FD0C94762115 +:104360000C944421FC01329680913201882351F053 +:104370008091A90287FF06C08EE1DF011D928A9518 +:10438000E9F7089586E0F9CF089508950C94C521C2 +:104390000E94C62180910903843009F43AC010922A +:1043A000740288E190E020E40FB6F894A895809319 +:1043B00060000FBE2093600080E00E94531080E0F8 +:1043C0000E9495068091750281110AC081E0809358 +:1043D00075028091BF028170809376020E94860CE4 +:1043E0000E94C62183B7817F846083BF83B78160C9 +:1043F00083BF7894889583B78E7F83BF0FB6F89478 +:10440000A8958091600088618093600010926000A0 +:104410000FBE08950895CF930E94C4210E94E3091E +:104420000E940A22C0E08C2F0E942709892B31F4B8 +:10443000CF5FC530C1F780E0CF91089581E0FCCF18 +:1044400008950C9420220E94B6190E94E90E0E9441 +:1044500074140E9495061092750280917602811163 +:104460000E94710E0C9421221F921FB61F921124DC +:104470008F939F93AF93BF9380917402811113C068 +:104480008091010390910203A0910303B091040372 +:104490004196A11DB11D8093010390930203A09347 +:1044A0000303B0930403BF91AF919F918F911F902D +:1044B0001FBE1F90189582E084BD93E095BD9AEFD2 +:1044C00097BD80936E0008952FB7F89480910103F3 +:1044D00090910203A0910303B09104032FBF0895AC +:1044E0009C014FB7F8948091010390910203A09131 +:1044F0000303B09104034FBF821B930B089578947C +:104500001F921FB61F9211248F939F93AF93BF9357 +:104510008091010390910203A0910303B0910403E1 +:104520000196A11DB11D8093010390930203A093F6 +:104530000303B0930403BF91AF919F918F911F909C +:104540001FBE1F90189581E08093E00080E2809369 +:10455000D8001092C9008FE19EE40197F1F700C0E6 +:10456000000087E090EBDC0180931203909313032B +:10457000A0931403B093150388E19CE00FB6F89460 +:10458000A895809360000FBE90936000FFCF0C94BD +:1045900033200E94E3098FE39CE90197F1F700C003 +:1045A00000000E94E30980E00E94270980FF04C008 +:1045B0000E94C7220C94A32208950E9439208111E1 +:1045C00002C00E94DF200E944420809373020E9458 +:1045D0004C209093AA028093A9020E944820682F41 +:1045E00070E090E080E00E94511D60914602709161 +:1045F000470280914802909149020C948B1D809152 +:104600007D0280FF12C06091250185E0689FB001A6 +:104610001124759567957595679560387105A8F5AE +:1046200061157105A1F1862F089581FF09C0609180 +:10463000250185E0689FB001112475956795EDCF40 +:104640006091250182FD0AC080917C028823D1F00F +:104650009091240160912501891728F085E0689FD9 +:10466000B0011124DACF869FB001112485E0869F26 +:104670009001879F300D1124692F70E0C9010E94BD +:10468000D32DCBCF65E070E0CECF8FE7089581E0EA +:10469000089580917D0280FF0CC06091210170E03F +:1046A00075956795759567956115710549F1862F23 +:1046B000089581FF06C06091210170E075956795AE +:1046C000F3CF6091210182FD0BC090917B02992371 +:1046D000A1F06091200180912101961738F0682F98 +:1046E00070E06038710500F38FE70895899FC0017D +:1046F000112470E00E94D32DF4CF61E070E0D7CF99 +:1047000081E00895803F31F40E94FF2281958093DB +:1047100081020895813F19F40E94FF22F8CF823F61 +:1047200031F40E94FF228195809380020895833F97 +:1047300019F40E94FF22F8CF893F29F40E944923EF +:104740008093820208958A3F21F40E944923819533 +:10475000F7CF8B3F31F40E944923819580938302E8 +:1047600008958C3F19F40E944923F8CF843F31F417 +:1047700080917F02816080937F020895853F21F4BC +:1047800080917F028260F7CF863F21F480917F0283 +:104790008460F1CF873F21F480917F028860EBCF66 +:1047A000883F21F480917F028061E5CF8D3F31F415 +:1047B00080917D02816080937D0208958E3F21F477 +:1047C00080917D028260F7CF8F3FB9F780917D02A3 +:1047D0008460F1CF90918002803F59F480918102F2 +:1047E00087FF0DC01092810291110BC010927C02C4 +:1047F00008C0813F81F48091810218169CF39923AF +:1048000081F08091820290918302892B09F064C02B +:1048100010927B020895823F49F497FFF0CF1092E7 +:104820008002809181028111ECCFE0CF833F19F4A7 +:104830001916ACF3E4CF20918202893F29F41216B5 +:10484000F4F610928202DBCF8A3F19F427FFD7CF0C +:10485000F8CF209183028B3F29F427FFD0CF10920D +:104860008302CDCF8C3F19F41216CCF3C8CF843F0E +:1048700031F480917F028E7F80937F02C0CF853F8D +:1048800021F480917F028D7FF7CF863F21F48091C4 +:104890007F028B7FF1CF873F21F480917F02877F5A +:1048A000EBCF883F21F480917F028F7EE5CF8D3F53 +:1048B00031F480917D028E7F80937D02A0CF8E3F68 +:1048C00021F480917D028D7FF7CF8F3F09F097CF44 +:1048D00080917D028B7FF0CF08958091730283FFDA +:1048E0007EC084EE97E00E944A0580917F021F926D +:1048F0008F938FED97E09F938F930E94E3058DED4B +:1049000097E00E944A0580918002282F082E000C13 +:10491000330B3F938F938AED97E09F938F930E9481 +:10492000E30588ED97E00E944A0580918102282FD7 +:10493000082E000C330B3F938F9385ED97E09F93E8 +:104940008F930E94E30583ED97E00E944A058091D2 +:104950008202282F082E000C330B3F938F9380ED9B +:1049600097E09F938F930E94E3058EEC97E00E945F +:104970004A0580918302282F082E000C330B3F93A9 +:104980008F938BEC97E09F938F930E94E30588ECC5 +:1049900097E00E944A0580917C021F928F9385ECDC +:1049A00097E09F938F930E94E30583EC97E00E942A +:1049B0004A0580917D021F928F9380EC97E09F9330 +:1049C0008F930E94E3058DEB97E00E944A058DB717 +:1049D0009EB74C960FB6F8949EBF0FBE8DBF0E9437 +:1049E00064229C019091800280918102982B21F099 +:1049F00030937A022093790290918202809183020F +:104A0000982B21F030937802209377028EE792E082 +:104A10000C94DB14EF92FF920F931F93CF93DF93CD +:104A200000D000D000D0CDB7DEB786E0EEE7F2E0F0 +:104A3000DE01119601900D928A95E1F7E0908002D7 +:104A4000F090810200918202109183021092800204 +:104A50001092810210928202109283028E2D8F2971 +:104A600091F08091790290917A020E947022AC01BB +:104A700090917C02992309F43FC08091260184170C +:104A8000150608F447C0802F812B91F080917702A2 +:104A9000909178020E947022AC0190917B02992340 +:104AA00009F477C0809122018417150608F47FC0AD +:104AB0008091800290918102892B90918202892BB2 +:104AC00090918302892B11F00E946D2486E0FE01F3 +:104AD0003196AEE7B2E001900D928A95E1F7269605 +:104AE0000FB6F894DEBF0FBECDBFDF91CF911F91FF +:104AF0000F91FF90EF900895209127018AE0289F61 +:104B0000900111242417350708F0BDCF9F5F9093C3 +:104B10007C0202C09F3FD1F7EE2059F00E94FF2295 +:104B20009FEF1E140CF491E0899F802D1124809337 +:104B30008002FF2059F00E94FF229FEF1F140CF407 +:104B400091E0899F802D1124809381023091800211 +:104B5000332309F498CF20918102222309F493CFC3 +:104B600045EB3403C0011124992359F0909380023E +:104B700045EB240390011124332339F03093810253 +:104B800082CF81E080938002F3CF81E08093810225 +:104B90007ACF209123018AE0289F900111242417C5 +:104BA000350708F085CF9F5F90937B0202C09F3F3F +:104BB000D1F7002359F00E9449239FEF10160CF4FF +:104BC00091E0899F802D112480938202112359F056 +:104BD0000E9449239FEF11160CF491E0899F802DCC +:104BE00011248093830230918202332309F460CF31 +:104BF00020918302222309F45BCF45EB3403C001EB +:104C00001124992359F09093820245EB24039001DB +:104C10001124332339F0309383024ACF81E080930B +:104C20008202F3CF81E08093830242CF86E0EEE7F9 +:104C3000F2E0DF011D928A95E9F710927C02109252 +:104C40007B0210927D0208958091A70208959FB77C +:104C5000F894109286029FBF90910903943009F056 +:104C600048C02091E9002F703091EC00932F917093 +:104C700030FD90E8922B23E02093E9002091EB0097 +:104C800020FF34C02091EE0027FF30C02091840225 +:104C9000222321F02091E80025FF28C010928402F1 +:104CA00026E03091E80035FF14C08093F100809138 +:104CB000E80085FD27C08091E80080FFFCCF80914F +:104CC000E8008E778093E8009F709093E90080E081 +:104CD000089530910903343049F43091EB0035FDEB +:104CE00005C0215041F481E0809384029F7090932D +:104CF000E9008FEF0895EFE9FFE03197F1F700C089 +:104D00000000CFCF8FB7F89421E0209386028FBFA9 +:104D1000DBCFCF93DF9300D00F92CDB7DEB790916A +:104D20000903943019F589837B836A8382E0809339 +:104D3000E9008FEF9091E800815095FD06C095ED58 +:104D40009A95F1F700008111F5CF8091E80085FF79 +:104D50000DC050E040E063E070E0CE0101960E949B +:104D600013298091E8008E778093E8000F900F90D0 +:104D70000F90DF91CF910895BC0184E00C948926B7 +:104D8000BC0183E00C9489269C0182E08093E900B9 +:104D90009FEF8091E800915085FD06C085ED8A95D2 +:104DA000F1F700009111F5CF8091E80085FF0CC06C +:104DB00050E040E066E070E0C9010E941329809154 +:104DC000E8008E778093E8000895CF93DF93EC019D +:104DD000809132018823B1F18091A90287FF32C00E +:104DE00060E282E08093E9008FEF9091E8008150CB +:104DF00095FD06C095ED9A95F1F700008111F5CF6C +:104E00008091E80085FF1BC08091320170E050E086 +:104E100040E0811104C050E040E068E070E0CE0165 +:104E20000E9413298091E8008E778093E80080E249 +:104E3000FE01A7E8B2E001900D928A95E1F7DF91BB +:104E4000CF91089568E081E0CDCF8CE298E00E9498 +:104E50004A0580910803811109C00E94A32A0E947B +:104E6000002B8091E20084608093E200089588E244 +:104E700098E00E944A0510920803089584E298E0A1 +:104E80000C944A0580E298E00C944A058CE198E085 +:104E90000E944A050C942322209185022F5F822FC5 +:104EA00062E30E94B32D992319F02093850208959F +:104EB00010928502809186028823F1F08091090387 +:104EC0008430C1F49091E9009F702091EC00822F12 +:104ED000817020FD80E8892B93E09093E900909108 +:104EE000EB0090FF04C09091EE0097FD08C08F701A +:104EF0008093E9001092860208951092F10090913B +:104F0000E80095FDFACF9091E80090FFF0CF9091E6 +:104F1000E8009E779093E800EACF42E061EC81E000 +:104F20000E941F2A42E261EC82E00E941F2A42E2B4 +:104F300061EC83E00C941F2A80910B03833009F409 +:104F40005FC030F48130C1F1823009F49BC0089514 +:104F50008A3009F487C08B3009F46DC0893009F0BC +:104F60004EC080910A03813209F049C080910E033E +:104F700090910F03029708F042C08091E800877F6C +:104F80008093E8008091E80082FF35C09091F300A3 +:104F90008091F200029729F48091F1008B7F81309B +:104FA00021F48091F1008093A7028091E8008B7733 +:104FB0008093E8000C94532A80910A03813AF9F413 +:104FC0008091E800877F8093E80080910E039091A4 +:104FD0000F03892B61F460E287E892E070E00E94A1 +:104FE00062298091E8008B778093E800089560E063 +:104FF00090E080E0F3CF809109038111C3CF089541 +:1050000080910A03813AD9F780910E0390910F03A2 +:10501000892BA9F78091E800877F8093E800809131 +:10502000E80080FFFCCF809132018093F1008091F5 +:10503000E8008E77BDCF80910A03813201F780911D +:105040000E0390910F03892BD1F68091E800877FA2 +:105050008093E8000E94532A80910C0380933201D0 +:105060000C94B61980910A03813249F68091E800C8 +:10507000877F8093E8000E94532A80910D038093DC +:10508000A802089580910A03813A09F0B8CF80916F +:10509000E800877F8093E8008091E80080FFFCCFE4 +:1050A0008091A802C2CF84B7877F84BF0FB6F894DF +:1050B000A8958091600088618093600010926000E4 +:1050C0000FBE80E890E00FB6F89480936100909353 +:1050D00061000FBE0E9423150E94A32A0E94002B8C +:1050E0008091E20084608093E20087E296E20E9471 +:1050F000092078940E94882D0E942D1588E291E065 +:105100000E946F148BE098E00E944A058091090389 +:10511000853019F00E946115F9CF87E098E00E9470 +:105120004A050E94C82180910703882379F30E94D1 +:105130000B22882359F30E94FD28E8CF0C94A02865 +:10514000292F33272330310521F168F4213031052F +:1051500009F449C02230310509F44AC090E080E0EA +:1051600030E020E029C02132310581F122323105C1 +:10517000A9F76330710590F7FB01EE0FFF1FE155B2 +:10518000FE4F2081318164557E4FFB01808190E08C +:1051900013C099278130910599F0009741F0823032 +:1051A000910589F00397D1F6E0E3F8E002C0EAE563 +:1051B000F8E0849190E09F01FA0131832083089503 +:1051C000E8E4F8E0F6CFE6E3F8E0F3CF633071050A +:1051D00028F6660F771FFB01EB54FE4F20813181CB +:1051E00089E090E0E9CF82E190E029EB38E0E4CF7C +:1051F0008BE590E02EE538E0DFCF80E189BD82E1EC +:1052000089BD09B400FEFDCF8091D8008F7D8093C9 +:10521000D8008091E00082608093E0008091E000FF +:1052200081FDFCCF0895AF92BF92CF92DF92FF92A3 +:105230000F931F93CF93DF936C01EB018A010E94C0 +:10524000722AF82E811123C00115110539F0F801D9 +:1052500080819181C81BD90BC80ED91EB12CA12CFD +:105260002097A9F08091E80085FD22C08091E80098 +:105270008E778093E80001151105A1F0F801808177 +:105280009181A80EB91EB182A08285E0F82E8F2DE3 +:10529000DF91CF911F910F91FF90DF90CF90BF9042 +:1052A000AF9008950E94722A8823D1F2F82EEFCF92 +:1052B000F60181916F018093F1002197FFEFAF1A02 +:1052C000BF0ACECFFC018091100390911103861785 +:1052D0009707A0F06115710529F49091E8009E7779 +:1052E0009093E80090E06115710551F4911108C0A8 +:1052F0008091E80082FF34C080E00895BC01F2CFC5 +:10530000809109038823C1F18530C1F18091E800C3 +:1053100083FD30C08091E80082FDEACF8091E800F3 +:1053200080FFE1CF8091F3002091F200382F6115CA +:10533000710519F02830310558F091E02830310519 +:1053400009F090E02091E8002E772093E800CBCF81 +:1053500081918093F100615071092F5F3F4FE7CF3A +:1053600080910903882341F0853041F08091E80065 +:1053700083FFBECF81E0089582E0089583E0089521 +:10538000FC01809110039091110386179707A0F0FC +:105390006115710529F48091E8008E778093E8000B +:1053A00090E06115710551F4911108C08091E800F9 +:1053B00082FF35C080E00895BC01F2CF80910903DF +:1053C0008823C9F18530C9F18091E80083FD31C09F +:1053D0008091E80082FDEACF8091E80080FFE1CF74 +:1053E0008091F3002091F200382F6115710519F0BA +:1053F0002830310558F091E02830310509F090E06F +:105400008091E8008E778093E800CBCF84918093E1 +:10541000F1003196615071092F5F3F4FE6CF8091C7 +:105420000903882341F0853041F08091E80083FF33 +:10543000BDCF81E0089582E0089583E00895982F1C +:10544000973028F08F708093E90081E00895909361 +:10545000E900242F762F50E0981731F07091EC007E +:105460002091ED005091F00021FD02C09F5FE8CF38 +:105470003091EB003E7F3093EB003091ED003D7FAB +:105480003093ED003091EB0031603093EB0070937E +:10549000EC002093ED005093F0002091EE0027FDEA +:1054A000E5CF80E0089580910A0387FF13C08091C3 +:1054B000E80082FF06C08091E8008B778093E800C7 +:1054C00004C0809109038111F2CF089580910903EE +:1054D0008823D9F38091E80080FFF8CF8091E8001D +:1054E0008E77ECCF2091E4003091E50095E6A9019C +:1054F0002091EC00822F817020FF06C08091E8008F +:1055000080FF06C080E008952091E80022FD1AC0C7 +:1055100080910903882389F0853089F08091EB0020 +:1055200085FD0FC02091E4003091E500421753073C +:10553000F9F29150E1F684E0089582E0089583E065 +:10554000089581E008950E94112B0E94192BE0EE2E +:10555000F0E0808181608083E8EDF0E080818F77EA +:10556000808319BCA7EDB0E08C918E7F8C938081F5 +:105570008F7E80831092080308950F931F93CF931B +:10558000DF930E94112B0E94192BC8EDD0E0888177 +:105590008F77888388818068888388818F7D8883DE +:1055A00019BC109209031092050310920703109280 +:1055B000060300EE10E0F80180818B7F80838881F4 +:1055C0008160888342E060E080E00E941F2AE1EE73 +:1055D000F0E080818E7F8083E2EEF0E08081816068 +:1055E0008083808188608083F80180818E7F8083C2 +:1055F000888180618883DF91CF911F910F910895F9 +:10560000E8EDF0E080818F7E8083E7EDF0E080813F +:105610008160808384E082BF81E0809308030C94E2 +:10562000BD2AE8EDF0E080818E7F80831092E20059 +:1056300008951092DA001092E10008951F920F92DF +:105640000FB60F9211242F933F934F935F936F9355 +:105650007F938F939F93AF93BF93EF93FF9380912B +:10566000E10082FF0BC08091E20082FF07C08091C1 +:10567000E1008B7F8093E1000E944C278091DA004B +:1056800080FF19C08091D80080FF15C08091DA009A +:105690008E7F8093DA008091D90080FF96C080E1F0 +:1056A00089BD82E189BD09B400FEFDCF81E0809310 +:1056B00009030E9425278091E10080FF19C0809195 +:1056C000E20080FF15C08091E2008E7F8093E200AF +:1056D0008091E20080618093E2008091D800806236 +:1056E0008093D80019BC85E0809309030E9442276B +:1056F0008091E10084FF2BC08091E20084FF27C0ED +:1057000080E189BD82E189BD89B5982F917080FFC4 +:10571000FBCF8091D8008F7D8093D8008091E100ED +:105720008F7E8093E1008091E2008F7E8093E20083 +:105730008091E20081608093E200809105038823DC +:1057400009F449C084E0809309030E9446278091B0 +:10575000E10083FF29C08091E20083FF25C0809192 +:10576000E100877F8093E10082E08093090310923B +:1057700005038091E1008E7F8093E1008091E2003B +:105780008E7F8093E2008091E20080618093E2004E +:1057900042E060E080E00E941F2A8091F000886073 +:1057A0008093F0000E943E27FF91EF91BF91AF914F +:1057B0009F918F917F916F915F914F913F912F9129 +:1057C0000F900FBE0F901F90189519BC10920903EF +:1057D0000E94372770CF8091E30087FD93E090937C +:1057E0000903B3CF1F920F920FB60F9211242F937C +:1057F0003F934F935F936F937F938F939F93AF9359 +:10580000BF93CF93DF93EF93FF93D091E900DF70C5 +:105810008091EC00C82FC17080FDC0E81092E900B3 +:105820008091F000877F8093F00078940E94362C5E +:105830001092E9008091F00088608093F000CD2BF9 +:10584000CF70C093E900FF91EF91DF91CF91BF91AD +:10585000AF919F918F917F916F915F914F913F9108 +:105860002F910F900FBE0F901F9018951F93CF93FD +:10587000DF93CDB7DEB7AA970FB6F894DEBF0FBEA1 +:10588000CDBF8AE093E02091F100FC012193CF018C +:10589000F3E082319F07B9F70E949C278091E800CE +:1058A00083FF1EC180910A0390910B039A3008F088 +:1058B00017C1E92FF0E0EB55F14D0C94092E80381B +:1058C00099F0823809F00CC180910E038F708730F7 +:1058D00008F006C18093E9008091EB0085FB8827E2 +:1058E00080F91092E90006C08091060390910703A9 +:1058F000911182609091E800977F9093E8008093E7 +:10590000F1001092F1008091E8008E77E5C08823C5 +:1059100009F4D3C0823009F0E3C080910C038111F7 +:10592000D6C080910E038F702FEF280F263008F01D +:10593000D7C08093E9002091EB0020FFC8C09330CE +:1059400031F48091EB0080628093EB00C0C09091B5 +:10595000EB0090619093EB0021E030E001C0220F5A +:105960008A95EAF72093EA001092EA008091EB0012 +:105970008860EACF8111B4C010910C031F77809129 +:10598000E3008078812B8093E3008091E800877F9B +:105990008093E8000E94532A8091E80080FFFCCFAA +:1059A0008091E30080688093E30082E0111183E03E +:1059B0008093090395C08058823008F091C080918F +:1059C0000C0390910D038C3D23E09207A1F583E039 +:1059D0008A838AE289834FB7F894DE01139620E028 +:1059E0003EE051E2E32FF0E050935700E49120FFB6 +:1059F00003C0E295EF703F5FEF708E2F90E0EA30CA +:105A0000C0F0C7968D939D932F5F243159F74FBFF8 +:105A10008091E800877F8093E8006AE270E0CE0121 +:105A200001960E9462298091E8008B778093E800BC +:105A300057C0C096E7CF60910E0370910F03AE017F +:105A40004F5F5F4F0E949E28BC01892B09F448C01C +:105A50009091E800977F9093E80089819A810E9455 +:105A6000C029E1CF8038E1F58091E800877F8093FD +:105A7000E800809105038093F10045CF811130C08B +:105A800090910C03923060F58091E800877F8093BD +:105A9000E800909305030E94532A80910503882310 +:105AA00011F084E005C08091E30087FDFACF81E02A +:105AB000809309030E948D2713C080910C038130CD +:105AC00079F481E0933009F080E08093070310922D +:105AD000E9008091E800877F8093E8000E94532AC4 +:105AE0008091E80083FF0AC08091E800877F80935F +:105AF000E8008091EB0080628093EB00AA960FB6DD +:105B0000F894DEBF0FBECDBFDF91CF911F910895F6 +:105B1000CF93809109038823A1F0C091E900CF7051 +:105B20009091EC00892F817090FD80E8C82B109235 +:105B3000E9008091E80083FD0E94362CCF70C0936D +:105B4000E900CF910895DB018F939F930E941E2E51 +:105B5000BF91AF91A29F800D911DA39F900DB29F09 +:105B6000900D11240895991B79E004C0991F961790 +:105B700008F0961B881F7A95C9F780950895AA1B8F +:105B8000BB1B51E107C0AA1FBB1FA617B70710F028 +:105B9000A61BB70B881F991F5A95A9F7809590955A +:105BA000BC01CD01089597FB072E16F4009407D091 +:105BB00077FD09D00E94BF2D07FC05D03EF49095DB +:105BC00081959F4F0895709561957F4F0895A1E24B +:105BD0001A2EAA1BBB1BFD010DC0AA1FBB1FEE1F67 +:105BE000FF1FA217B307E407F50720F0A21BB30BB2 +:105BF000E40BF50B661F771F881F991F1A9469F72E +:105C000060957095809590959B01AC01BD01CF0189 +:105C10000895EE0FFF1F0590F491E02D0994A29FC7 +:105C2000B001B39FC001A39F700D811D1124911D70 +:105C3000B29F700D811D1124911D08950E940F2E99 +:105C4000A59F900DB49F900DA49F800D911D1124D0 +:105C50000895F999FECF92BD81BDF89A992780B534 +:105C60000895A6E1B0E044E050E00C94632EA8E172 +:105C7000B0E042E050E00C94632E262FF999FECF5D +:105C800092BD81BDF89A019700B4021639F01FBA8F +:105C900020BD0FB6F894FA9AF99A0FBE08950396AC +:105CA000272F0E943E2E0E943D2E252F0E943E2E21 +:105CB000242F0C943E2E0196272F0E943E2E0C94EA +:105CC0003D2EDC01CB01FC01F999FECF06C0F2BDEF +:105CD000E1BDF89A319600B40D9241505040B8F7AA +:105CE0000895F894FFCFA70EAF0EB60EBB0EC00EF0 +:105CF000C50ECA0ECF0ED40ED90EDE0EE30EA90EBF +:105D0000A90EA90EA90EA90EA90EA90EA90E7F17FC +:105D10007F17D717D71729184518AC17AC17501885 +:105D2000DC18EB18EB184719AC17AC175019C5194C +:105D3000C519CE19CE19D019CE19CE19CE19C5193B +:105D4000C519D519CE19CE19D5195F2C872C702DF0 +:0E5D5000872C702DBA2CDB2C702D322D3E2DA1 +:105D5E00010000001706FC05000000000000000016 +:105D6E0000000000000000000014001414FF500298 +:105D7E002808641E140A321E2426E526C426C026D0 +:105D8E00BC2601E200E900EA00B500B600B700CD7E +:105D9E00008301CC008A0192019401210223022486 +:105DAE00022502260227022A02B300B4006F0070F9 +:105DBE0000818283303132339192939697343666D6 +:105DCE0067F7F6F53790F0F1F40001E200E900EA2A +:105DDE0000B500B600B700CD008301CC008A019259 +:105DEE000194012102230224022502260227022AFF +:105DFE0002B300B4006F00700081828340BC22A900 +:0C5E0E0009ED08CB0870088908A2080004 +:00000001FF diff --git a/keyboards/kbdfans/kbd67/rev2/keymap.c b/keyboards/kbdfans/kbd67/rev2/keymap.c new file mode 100644 index 00000000..f9491744 --- /dev/null +++ b/keyboards/kbdfans/kbd67/rev2/keymap.c @@ -0,0 +1,123 @@ +#include "debug.h" +#include "action_layer.h" +#include "version.h" + +#include QMK_KEYBOARD_H + +#define HSV_KMN_ORANGE 10,255, 95 +#define HSV_KMN_CYAN 128, 255, 95 +#define HSV_KMN_PURPLE 191, 255, 95 + +keymap_config_t keymap_config; + +uint8_t cur_dance(qk_tap_dance_state_t *state); +void al_finished(qk_tap_dance_state_t *state, void *user_data); +void al_reset(qk_tap_dance_state_t *state, void *user_data); + +typedef struct { + bool is_press_action; + uint8_t state; +} tap; + +enum { + SINGLE_TAP = 1, + SINGLE_HOLD, + DOUBLE_TAP +}; + +enum td_keycodes { + LAYERS // Our example key: `MOD(1)` when held, `TG(2)` when tapped. Add additional keycodes for each tapdance. +}; + +qk_tap_dance_action_t tap_dance_actions[] = { + [LAYERS] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, al_finished, al_reset) +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_65_ansi_blocker(KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_HOME, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP, + LM(1, MOD_LALT), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, TD(LAYERS), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), + [1] = LAYOUT_65_ansi_blocker(KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_DEL, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_INS, + 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_PSCR, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MEDIA_PLAY_PAUSE, KC_RSFT, KC_VOLU, KC_MUTE, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_RALT, RGB_VAD, KC_VOLD, RGB_VAI), + [2] = LAYOUT_65_ansi_blocker(KC_ESC, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, KC_NO, KC_MS_UP, KC_NO, KC_NO, KC_NO, KC_MS_WH_UP, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, KC_MS_LEFT, KC_MS_DOWN, KC_MS_RIGHT, KC_NO, KC_NO, KC_MS_BTN1, KC_MS_BTN2, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_LSFT, KC_NO, KC_X, KC_C, KC_V, KC_NO, KC_NO, KC_MS_WH_DOWN, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_LCTL, KC_NO, TG(2), KC_NO, TG(2), KC_NO, KC_NO, KC_NO, KC_NO), +}; + +// 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) { +}; + +// Override standard rgb colorization stuff +void rgb_matrix_indicators_user(void) { + // assign colors if the matrix is on and the current mode + // is SOLID COLORS => No animations running + uint8_t layer = biton32(layer_state); + switch (layer) { + case 0: + rgblight_sethsv(HSV_KMN_ORANGE); + break; + case 1: + rgblight_sethsv(HSV_KMN_CYAN); + break; + case 2: + rgblight_sethsv(HSV_KMN_PURPLE); + break; + } +} + +uint8_t cur_dance(qk_tap_dance_state_t *state) { + if (state->count == 1) { + if (!state->pressed) return SINGLE_TAP; + else return SINGLE_HOLD; + } else if (state->count == 2) return DOUBLE_TAP; + else return 8; +} + +// Initialize tap structure associated with example tap dance key +static tap al_tap_state = { + .is_press_action = true, + .state = 0 +}; + +// Functions that control what our tap dance key does +void al_finished(qk_tap_dance_state_t *state, void *user_data) { + al_tap_state.state = cur_dance(state); + switch (al_tap_state.state) { + case SINGLE_TAP: + layer_on(1); // Activate layer 1 immediately since we probably are holding this down ; if released it'll go away fast and shouldn't be an issue + break; + case SINGLE_HOLD: + layer_on(1); // Activate layer 1 since that's what the intent is + break; + case DOUBLE_TAP: + // Check to see if the layer is already set + if (layer_state_is(2)) { + // If already set, then switch it off + layer_off(2); + } else { + // If not already set, then switch the layer on + layer_on(2); + } + break; + } +} + +void al_reset(qk_tap_dance_state_t *state, void *user_data) { + // If the key was held down and now is released then switch off the layer + if (al_tap_state.state == SINGLE_HOLD) { + layer_off(1); // Reset state appropriately + } + al_tap_state.state = 0; +} diff --git a/keyboards/kbdfans/kbd67/rev2/layer-1.json b/keyboards/kbdfans/kbd67/rev2/layer-1.json new file mode 100644 index 00000000..cdcd3c91 --- /dev/null +++ b/keyboards/kbdfans/kbd67/rev2/layer-1.json @@ -0,0 +1,149 @@ +[ + { + "backcolor": "#ffa100", + "name": "Layer 1", + "author": "KemoNine" + }, + [ + "~\nEsc", + "!\n1", + "@\n2", + "#\n3", + "$\n4", + "%\n5", + "^\n6", + "&\n7", + "*\n8", + "(\n9", + ")\n0", + "_\n-", + "+\n=", + { + "a": 6, + "w": 2 + }, + "Backspace", + "Home" + ], + [ + { + "a": 4, + "w": 1.5 + }, + "Tab", + "Q", + "W", + "E", + "R", + "T", + "Y", + "U", + "I", + "O", + "P", + "{\n[", + "}\n]", + { + "w": 1.5 + }, + "|\n\\", + { + "a": 6 + }, + "Page Up" + ], + [ + { + "w": 1.75 + }, + "Alt + Fn", + { + "a": 4 + }, + "A", + "S", + "D", + "F", + "G", + "H", + "J", + "K", + "L", + ":\n;", + "\"\n'", + { + "a": 6, + "w": 2.25 + }, + "Enter", + "Page Down" + ], + [ + { + "w": 2.25 + }, + "Shift", + { + "a": 4 + }, + "Z", + "X", + "C", + "V", + "B", + "N", + "M", + "<\n,", + ">\n.", + "?\n/", + { + "a": 6, + "w": 1.75 + }, + "Shift", + { + "a": 7 + }, + "↑", + { + "a": 6 + }, + "End" + ], + [ + { + "w": 1.25 + }, + "Ctrl", + { + "w": 1.25 + }, + "Win", + { + "w": 1.25 + }, + "Alt", + { + "a": 7, + "w": 6.25 + }, + "", + { + "a": 4, + "w": 1.25 + }, + "Mouse\nFn", + { + "a": 6, + "w": 1.25 + }, + "Ctrl", + { + "x": 0.5, + "a": 7 + }, + "←", + "↓", + "→" + ] +] \ No newline at end of file diff --git a/keyboards/kbdfans/kbd67/rev2/layer-1.png b/keyboards/kbdfans/kbd67/rev2/layer-1.png new file mode 100644 index 00000000..7177c4bb Binary files /dev/null and b/keyboards/kbdfans/kbd67/rev2/layer-1.png differ diff --git a/keyboards/kbdfans/kbd67/rev2/layer-2.json b/keyboards/kbdfans/kbd67/rev2/layer-2.json new file mode 100644 index 00000000..e3867000 --- /dev/null +++ b/keyboards/kbdfans/kbd67/rev2/layer-2.json @@ -0,0 +1,147 @@ +[ + { + "backcolor": "#00f3ff", + "name": "Layer 2", + "author": "KemoNine" + }, + [ + "~\n`", + { + "a": 6 + }, + "F1", + "F2", + "F3", + "F4", + "F5", + "F6", + "F7", + "F8", + "F9", + "F10", + "F11", + "F12", + { + "w": 2 + }, + "Del", + "Del" + ], + [ + { + "w": 1.5 + }, + "Caps", + { + "a": 7 + }, + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + { + "a": 6, + "w": 1.5 + }, + "DL Mode", + "Ins" + ], + [ + { + "a": 7, + "w": 1.75 + }, + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + { + "w": 2.25 + }, + "", + { + "a": 6 + }, + "Prnt Scn" + ], + [ + { + "a": 7, + "w": 2.25 + }, + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + { + "a": 6 + }, + "Play Pause", + { + "a": 7, + "w": 1.75 + }, + "", + { + "a": 6 + }, + "Vol Up", + "Mute" + ], + [ + { + "a": 7, + "w": 1.25 + }, + "", + { + "w": 1.25 + }, + "", + { + "w": 1.25 + }, + "", + { + "w": 6.25 + }, + "", + { + "w": 1.25 + }, + "", + { + "a": 6, + "w": 1.25 + }, + "Alt", + { + "x": 0.5 + }, + "BL+", + "Vol Dn", + "BL-" + ] +] \ No newline at end of file diff --git a/keyboards/kbdfans/kbd67/rev2/layer-2.png b/keyboards/kbdfans/kbd67/rev2/layer-2.png new file mode 100644 index 00000000..43df9cfc Binary files /dev/null and b/keyboards/kbdfans/kbd67/rev2/layer-2.png differ diff --git a/keyboards/kbdfans/kbd67/rev2/layer-3.json b/keyboards/kbdfans/kbd67/rev2/layer-3.json new file mode 100644 index 00000000..8e297bdf --- /dev/null +++ b/keyboards/kbdfans/kbd67/rev2/layer-3.json @@ -0,0 +1,167 @@ +[ + { + "backcolor": "#ba00ff", + "name": "Layer 3", + "author": "KemoNine" + }, + [ + { + "a": 7 + }, + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + { + "w": 2 + }, + "", + "" + ], + [ + { + "w": 1.5 + }, + "", + "", + "", + { + "a": 6 + }, + "Up", + { + "a": 7 + }, + "", + "", + "", + { + "a": 6 + }, + "Wheel Up", + { + "a": 7 + }, + "", + "", + "", + "", + "", + { + "w": 1.5 + }, + "", + "" + ], + [ + { + "w": 1.75 + }, + "", + "", + { + "a": 6 + }, + "Left", + "Down", + "Right", + { + "a": 7 + }, + "", + "", + { + "a": 6 + }, + "Left Click", + "Right Click", + { + "a": 7 + }, + "", + "", + "", + { + "w": 2.25 + }, + "", + "" + ], + [ + { + "a": 6, + "w": 2.25 + }, + "Shift", + { + "a": 7 + }, + "", + "", + "", + "", + "", + "", + { + "a": 6 + }, + "Wheel Down", + { + "a": 7 + }, + "", + "", + "", + { + "w": 1.75 + }, + "", + "", + "" + ], + [ + { + "a": 6, + "w": 1.25 + }, + "Ctrl", + { + "a": 7, + "w": 1.25 + }, + "", + { + "a": 6, + "w": 1.25 + }, + "Alt", + { + "a": 7, + "w": 6.25 + }, + "", + { + "w": 1.25 + }, + "", + { + "w": 1.25 + }, + "", + { + "x": 0.5 + }, + "", + "", + "" + ] +] \ No newline at end of file diff --git a/keyboards/kbdfans/kbd67/rev2/layer-3.png b/keyboards/kbdfans/kbd67/rev2/layer-3.png new file mode 100644 index 00000000..f17d9118 Binary files /dev/null and b/keyboards/kbdfans/kbd67/rev2/layer-3.png differ diff --git a/keyboards/kbdfans/kbd67/rev2/rules.mk b/keyboards/kbdfans/kbd67/rev2/rules.mk new file mode 100644 index 00000000..d6c1de32 --- /dev/null +++ b/keyboards/kbdfans/kbd67/rev2/rules.mk @@ -0,0 +1,2 @@ +MOUSEKEY_ENABLE = yes +TAP_DANCE_ENABLE = yes \ No newline at end of file diff --git a/qmk/keyboards/kbdfans/kbd67/rev2/keymaps/kemonine/config.h b/qmk/keyboards/kbdfans/kbd67/rev2/keymaps/kemonine/config.h new file mode 100644 index 00000000..95b152bd --- /dev/null +++ b/qmk/keyboards/kbdfans/kbd67/rev2/keymaps/kemonine/config.h @@ -0,0 +1,2 @@ +#define TAPPING_TERM 200 +#undef RGBLIGHT_ANIMATIONS \ No newline at end of file diff --git a/qmk/keyboards/kbdfans/kbd67/rev2/keymaps/kemonine/keymap.c b/qmk/keyboards/kbdfans/kbd67/rev2/keymaps/kemonine/keymap.c new file mode 100644 index 00000000..f9491744 --- /dev/null +++ b/qmk/keyboards/kbdfans/kbd67/rev2/keymaps/kemonine/keymap.c @@ -0,0 +1,123 @@ +#include "debug.h" +#include "action_layer.h" +#include "version.h" + +#include QMK_KEYBOARD_H + +#define HSV_KMN_ORANGE 10,255, 95 +#define HSV_KMN_CYAN 128, 255, 95 +#define HSV_KMN_PURPLE 191, 255, 95 + +keymap_config_t keymap_config; + +uint8_t cur_dance(qk_tap_dance_state_t *state); +void al_finished(qk_tap_dance_state_t *state, void *user_data); +void al_reset(qk_tap_dance_state_t *state, void *user_data); + +typedef struct { + bool is_press_action; + uint8_t state; +} tap; + +enum { + SINGLE_TAP = 1, + SINGLE_HOLD, + DOUBLE_TAP +}; + +enum td_keycodes { + LAYERS // Our example key: `MOD(1)` when held, `TG(2)` when tapped. Add additional keycodes for each tapdance. +}; + +qk_tap_dance_action_t tap_dance_actions[] = { + [LAYERS] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, al_finished, al_reset) +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_65_ansi_blocker(KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_HOME, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP, + LM(1, MOD_LALT), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, TD(LAYERS), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), + [1] = LAYOUT_65_ansi_blocker(KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_DEL, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_INS, + 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_PSCR, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MEDIA_PLAY_PAUSE, KC_RSFT, KC_VOLU, KC_MUTE, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_RALT, RGB_VAD, KC_VOLD, RGB_VAI), + [2] = LAYOUT_65_ansi_blocker(KC_ESC, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, KC_NO, KC_MS_UP, KC_NO, KC_NO, KC_NO, KC_MS_WH_UP, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, KC_MS_LEFT, KC_MS_DOWN, KC_MS_RIGHT, KC_NO, KC_NO, KC_MS_BTN1, KC_MS_BTN2, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_LSFT, KC_NO, KC_X, KC_C, KC_V, KC_NO, KC_NO, KC_MS_WH_DOWN, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_LCTL, KC_NO, TG(2), KC_NO, TG(2), KC_NO, KC_NO, KC_NO, KC_NO), +}; + +// 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) { +}; + +// Override standard rgb colorization stuff +void rgb_matrix_indicators_user(void) { + // assign colors if the matrix is on and the current mode + // is SOLID COLORS => No animations running + uint8_t layer = biton32(layer_state); + switch (layer) { + case 0: + rgblight_sethsv(HSV_KMN_ORANGE); + break; + case 1: + rgblight_sethsv(HSV_KMN_CYAN); + break; + case 2: + rgblight_sethsv(HSV_KMN_PURPLE); + break; + } +} + +uint8_t cur_dance(qk_tap_dance_state_t *state) { + if (state->count == 1) { + if (!state->pressed) return SINGLE_TAP; + else return SINGLE_HOLD; + } else if (state->count == 2) return DOUBLE_TAP; + else return 8; +} + +// Initialize tap structure associated with example tap dance key +static tap al_tap_state = { + .is_press_action = true, + .state = 0 +}; + +// Functions that control what our tap dance key does +void al_finished(qk_tap_dance_state_t *state, void *user_data) { + al_tap_state.state = cur_dance(state); + switch (al_tap_state.state) { + case SINGLE_TAP: + layer_on(1); // Activate layer 1 immediately since we probably are holding this down ; if released it'll go away fast and shouldn't be an issue + break; + case SINGLE_HOLD: + layer_on(1); // Activate layer 1 since that's what the intent is + break; + case DOUBLE_TAP: + // Check to see if the layer is already set + if (layer_state_is(2)) { + // If already set, then switch it off + layer_off(2); + } else { + // If not already set, then switch the layer on + layer_on(2); + } + break; + } +} + +void al_reset(qk_tap_dance_state_t *state, void *user_data) { + // If the key was held down and now is released then switch off the layer + if (al_tap_state.state == SINGLE_HOLD) { + layer_off(1); // Reset state appropriately + } + al_tap_state.state = 0; +} diff --git a/qmk/keyboards/kbdfans/kbd67/rev2/keymaps/kemonine/rules.mk b/qmk/keyboards/kbdfans/kbd67/rev2/keymaps/kemonine/rules.mk new file mode 100644 index 00000000..d6c1de32 --- /dev/null +++ b/qmk/keyboards/kbdfans/kbd67/rev2/keymaps/kemonine/rules.mk @@ -0,0 +1,2 @@ +MOUSEKEY_ENABLE = yes +TAP_DANCE_ENABLE = yes \ No newline at end of file