From 649b33d7783cf3021928534b7ae127e0a89e8807 Mon Sep 17 00:00:00 2001 From: Jack Humbert Date: Tue, 21 Jun 2016 22:39:54 -0400 Subject: Renames keyboard folder to keyboards, adds couple of tmk's fixes (#432) * fixes from tmk's repo * rename keyboard to keyboards --- .../ergodox_ez/keymaps/dvorak_spanish/README.md | 99 ++ .../ergodox_ez/keymaps/dvorak_spanish/compiled.hex | 1149 ++++++++++++++++++++ .../ergodox_ez/keymaps/dvorak_spanish/keymap.c | 284 +++++ 3 files changed, 1532 insertions(+) create mode 100644 keyboards/ergodox_ez/keymaps/dvorak_spanish/README.md create mode 100644 keyboards/ergodox_ez/keymaps/dvorak_spanish/compiled.hex create mode 100755 keyboards/ergodox_ez/keymaps/dvorak_spanish/keymap.c (limited to 'keyboards/ergodox_ez/keymaps/dvorak_spanish') diff --git a/keyboards/ergodox_ez/keymaps/dvorak_spanish/README.md b/keyboards/ergodox_ez/keymaps/dvorak_spanish/README.md new file mode 100644 index 0000000000..e075e3cd7d --- /dev/null +++ b/keyboards/ergodox_ez/keymaps/dvorak_spanish/README.md @@ -0,0 +1,99 @@ +# Ergodox Spanish Dvorak Layout + * See spanish dvorak layout [here](http://djelibeibi.unex.es/dvorak/) + * Software layout must be set to SPANISH QWERTY to work properly + +## Keymap Layers + - L0: spanish dvorak with some customizations (see layout below) + - L1: auxiliary keys (includes qwerty shortcuts, numpad...) + - L2: qwerty layout with customizations + + +### Keymap 0: Base layer +Keys with double values (like Esc/Ctrl) correspond to the 'tapped' key and the 'held' key, respectively + +

+
+,--------------------------------------------------.           ,--------------------------------------------------.
+|   \    |   1  |   2  |   3  |   4  |   5  |  <>  |           |   ¡  |   6  |   7  |   8  |   9  |   0  |   '    |
+|--------+------+------+------+------+-------------|           |------+------+------+------+------+------+--------|
+| F1/~L1 |   .  |   ,  |   Ñ  |   P  |   Y  |MEH_T |           |  L1  |   F  |   G  |   C  |   H  |   L  |ALL_T/+ |
+|--------+------+------+------+------+------| DEL  |           | ~L1  |------+------+------+------+------+--------|
+|Esc/Ctrl|   A  |   O  |   E  |   U  |   I  |------|           |------|   D  |   R  |   T  |   N  |   S  |'/RCtrl |
+|--------+------+------+------+------+------| LGUI |           | RALT |------+------+------+------+------+--------|
+| {/LSft |   -  |   Q  |   J  |   K  |   X  |      |           |      |   B  |   M  |   W  |   V  |   Z  | }/RSft |
+'--------+------+------+------+------+-------------'           '-------------+------+------+------+------+--------'
+  |[/LALT| HOME |PGDOWN| PGUP | END  |                                       | LEFT | DOWN |  UP  |RIGHT |]/LALT|
+  '----------------------------------'                                       '----------------------------------'
+                                       ,-------------.       ,-------------.
+                                       |F5/CAG|F6/~L1|       |F7/~L1|F8/CAG|
+                                ,------|------|------|       |------+--------+------.
+                                |      |      |F4/CA |       |F11/CA|        |      |
+                                | ENTER| TAB  |------|       |------|  BSPC  | SPACE|
+                                |      |      |F3/SA |       |F12/SA|        |      |
+                                '--------------------'       '----------------------'
+ CAG = CTRL-ALT-GUI
+  CA = CTRL-ALT
+  SA = SHIFT-ALT
+
+
+ +### Keymap 1: Aux layer + +

+
+,--------------------------------------------------.           ,--------------------------------------------------.
+|        |  F1  |  F2  |  F3  |  F4  |  F5  | SLEEP|           | PWR  |  F6  |  F7  |  F8  |  F9  |  F10 |   F11  |
+|--------+------+------+------+------+-------------|           |------+------+------+------+------+------+--------|
+|        |  <   |  >   | MsUp |      |      |      |           | ~L0  |      |   7  |   8  |   9  |   *  |  '^    |
+|--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
+|        |      |MsLeft|MsDown|MsRght|      |------|           |------|      |   4  |   5  |   6  |   +  |   Ç    |
+|--------+------+------+------+------+------|      |           |PSCR  |------+------+------+------+------+--------|
+|CAPSLOCK|      |      |      |      |      |      |           |      |      |   1  |   2  |   3  |   /  |        |
+'--------+------+------+------+------+-------------'           '-------------+------+------+------+------+--------'
+  |CTRL-S|CTRL-Z|CTRL-X|CTRL-C|CTRL-V|                                       |      |    . |   0  |   =  |      |
+  '----------------------------------'                                       '----------------------------------'
+                                       ,-------------.       ,-------------.
+                                       |      |      |       |      | Play |
+                                ,------|------|------|       |------+------+------.
+                                |      |      |      |       | VolUp|      |      |
+                                | Lclk | Rclk |------|       |------| Prev | Next |
+                                |      |      |  L2  |       | VolDn|      |      |
+                                '--------------------'       '--------------------'
+
+
+ +### Keymap 2: QWERTY layer + +

+
+,--------------------------------------------------.           ,--------------------------------------------------.
+|   \    |   1  |   2  |   3  |   4  |   5  |  <>  |           |   ¡  |   6  |   7  |   8  |   9  |   0  |   '    |
+|--------+------+------+------+------+-------------|           |------+------+------+------+------+------+--------|
+|  TRANS |   Q  |   W  |   E  |   R  |   T  |MEH_T |           | TRANS|   Y  |   U  |   I  |   O  |   P  |ALL_T/+ |
+|--------+------+------+------+------+------| DEL  |           |      |------+------+------+------+------+--------|
+|Esc/Ctrl|   A  |   S  |   D  |   F  |   G  |------|           |------|   H  |   J  |   K  |   L  |   Ñ  |'/RCtrl |
+|--------+------+------+------+------+------| LGUI |           | RALT |------+------+------+------+------+--------|
+| {/LSft |   Z  |   X  |   C  |   V  |   B  |      |           |      |   N  |   M  |   ,  |   .  |   -  | }/RSft |
+'--------+------+------+------+------+-------------'           '-------------+------+------+------+------+--------'
+  |[/LALT| HOME |PGDOWN| PGUP | END  |                                       | LEFT | DOWN |  UP  |RIGHT |]/LALT|
+  '----------------------------------'                                       '----------------------------------'
+                                       ,-------------.       ,-------------.
+                                       |F5/CAG| TRANS|       | TRANS|F8/CAG|
+                                ,------|------|------|       |------+--------+------.
+                                |      |      |F4/CA |       |F11/CA|        |      |
+                                | ENTER| TAB  |------|       |------|  BSPC  | SPACE|
+                                |      |      | TRANS|       |F12/SA|        |      |
+                                '--------------------'       '----------------------'
+ CAG = CTRL-ALT-GUI
+  CA = CTRL-ALT
+  SA = SHIFT-ALT
+
+
+ + +## Generation of .hex file +> [Download scripts from here](https://github.com/johgh/keyboard/tree/master/ergodox) + +> Execute install.sh and generate.sh scripts. + +> Flash with `teensy_loader` binary (should be installed from previous step) diff --git a/keyboards/ergodox_ez/keymaps/dvorak_spanish/compiled.hex b/keyboards/ergodox_ez/keymaps/dvorak_spanish/compiled.hex new file mode 100644 index 0000000000..dcac1fe29d --- /dev/null +++ b/keyboards/ergodox_ez/keymaps/dvorak_spanish/compiled.hex @@ -0,0 +1,1149 @@ +:100000000C947B020C94BF020C94BF020C94BF02B0 +:100010000C94BF020C94BF020C94BF020C94BF025C +:100020000C94BF020C94BF020C946D0E0C943F0F05 +:100030000C94BF020C94BF020C94BF020C94BF023C +:100040000C94BF020C94F9210C94BF020C94BF02D3 +:100050000C94BF020C94DB1C0C94BF020C94BF02E6 +:100060000C94BF020C94BF020C94BF020C94BF020C +:100070000C94BF020C94BF020C94BF020C94BF02FC +:100080000C94BF020C94BF020C94BF020C94BF02EC +:100090000C94BF020C94BF020C94BF020C94BF02DC +:1000A0000C94BF020C94BF020C94BF02AC0FCE0F95 +:1000B000BC10CE0FBC1013103610BC108B109E104D +:1000C0006D136D139C139C13D213F2132315231578 +:1000D000FD132315AD14AD141415231523151D158B +:1000E000BA14BA14BA14BA14BA14BA14BA14BA14A0 +:1000F000BA14BA14BA14BA14BA14BA14BA14BA1490 +:10010000CC14D914E014E714F1140000F0A1350068 +:100110003A4129610030023000001E00370004001F +:1001200038004A003C661F003600120014004E00E2 +:100130002B002000330008000D004B002800210098 +:10014000130018000E004D003D6522001C000C003D +:100150001B0000003E6D64004C670000E3000000DF +:100160003F412E00C1000000E60000004041230096 +:100170000900070005000000416D24000A00150079 +:100180001000500044652500060017001A005100B9 +:100190002C0026000B001100190052002A00270035 +:1001A0000F0016001D004F0045662D00306F3461B2 +:1001B000013003300000000001000000043016018F +:1001C00000003A006400000000001D0102533B00E3 +:1001D0006402F20000001B01F5003C00F000F10099 +:1001E00000000601F4003D000000F30000001901CA +:1001F00000003E0000000000000000000000A6001B +:1002000000000000000000000100A5000100000047 +:100210004600000001003F00000000000000000058 +:10022000AE004000240021001E000000A900410093 +:10023000250022001F003700AB00420026002300EB +:1002400020002700AC004300550057005400670011 +:10025000AA0044002F00310000000000000035001B +:10026000010029610030023000001E00140004006B +:100270001D004A0001001F001A0016001B004E005E +:100280002B0020000800070006004B00280021007A +:100290001500090019004D003D65220017000A00F5 +:1002A000050000003E6D64004C670000E3000000A4 +:1002B00001002E0001000000E60000000100230004 +:1002C0001C000B0011000000416D240018000D00FF +:1002D00010005000446525000C000E00360051004F +:1002E0002C00260012000F00370052002A002700C1 +:1002F0001300330038004F0045662D00306F346125 +:1003000001300330000016034500720067006F00E3 +:1003100044006F007800200045005A0000001603DA +:100320004500720067006F0044006F0078002000F5 +:1003300045005A0000000403090409026D0004018D +:1003400000A0FA09040000010301010009211101C4 +:1003500000012240000705810308000A090401008A +:100360000103010200092111010001224D000705CE +:10037000820308000A0904020001030000000921A9 +:10038000110100012236000705830308000A090451 +:1003900003000103000000092111010001223900BE +:1003A000070584031000011201100100000008ED90 +:1003B000FE071301000102000105010906A1010564 +:1003C0000719E029E7150025019508750181020547 +:1003D000081901290595057501910295017503918B +:1003E0000105071900297715002501957875018108 +:1003F00002C005010980A101850216010026B7008F +:100400001A01002AB700751095018100C0050C097A +:1004100001A1018503160100269C021A01002A9CF5 +:1004200002751095018100C005010902A1010901B1 +:10043000A10005091901290515002501950575017A +:10044000810295017503810105010930093115818A +:10045000257F95027508810609381581257F95014C +:1004600075088106050C0A38021581257F950175EE +:10047000088106C0C005010906A101050719E02988 +:10048000E715002501950875018102950175088120 +:100490000105081901290595057501910295017558 +:1004A0000391010507190029FF150026FF00950695 +:1004B00075088100C000000000000000000000007E +:1004C000010204060A0F17202C3A4A5D71879DB37A +:1004D000C7DAE9F5FCFFFCF5E9DAC7B39D87715D82 +:1004E0004A3A2C20170F0A060402010000000000FF +:1004F00000000000000011241FBECFEFDAE0DEBFD5 +:10050000CDBF04B603FE24C08091FF01909100028C +:10051000A0910102B09102028730904BA740B04BEE +:10052000B9F41092FF011092000210920102109291 +:10053000020214BE84B7877F84BF88E10FB6F894A7 +:1005400080936000109260000FBEE0E0FFE3099529 +:1005500011E0A0E0B1E0E0E8F7E402C005900D9200 +:10056000A433B107D9F711E0A4E3B1E001C01D92B3 +:10057000AF3FB107E1F70E94B50B0C94BE230C947A +:1005800000001092B9008AE08093B800089594EAC0 +:100590009093BC009091BC0097FFFCCF9091B90064 +:1005A000987F983021F0903111F081E00895809388 +:1005B000BB0084E88093BC008091BC0087FFFCCF27 +:1005C0008091B900887F883111F0803471F780E024 +:1005D000089584E98093BC008091BC0084FDFCCF29 +:1005E00008958093BB0084E88093BC008091BC0098 +:1005F00087FFFCCF9091B900987F81E0983209F491 +:1006000080E0089584E88093BC008091BC0087FF5F +:10061000FCCF8091BB00089580B38C7080BB81B308 +:10062000836F81BB089580910101811115C080E421 +:100630000E94C7028093010181110CC082E10E94D7 +:10064000F10280930101811105C08FEF0E94F10238 +:10065000809301010E94E90284B1807F84B985B151 +:10066000807F85B98AB1837F8AB98BB1837F8BB94B +:100670003E98469808950E94DD04809301010E94EF +:1006800013030E940C03A5E3B1E0E3E4F1E08EE084 +:100690008E0F11921D928E13FCCF0C94C7040E94F2 +:1006A000DD04809301010E9413030E940C03A5E363 +:1006B000B1E0E3E4F1E08EE08E0F11921D928E1313 +:1006C000FCCF0895BF92CF92DF92EF92FF920F93EB +:1006D0001F93CF93DF9380910101882379F080915C +:1006E00034018F5F80933401811108C00E94DD04C2 +:1006F00080930101811102C00E946F0405E311E0A3 +:10070000C0E0D0E0DD24D39482E0C82EEE24E39450 +:10071000F12CC730D10500F580910101811164C031 +:1007200080E40E94C70280930101811112C082E11E +:100730000E94F1028093010181110BC0C7010C2EB0 +:1007400001C0880F0A94EAF780950E94F102809315 +:1007500001010E94E90248C0CA30A1F028F4C83063 +:1007600059F0C93061F005C0CC3089F070F0CD305F +:1007700089F0209A289810C0219A29980DC0229AB1 +:100780002A980AC0239A2B9807C0529A01C0539AFC +:100790005B9802C03E9A469890EA9A95F1F79FB10D +:1007A000799902C082E001C080E091709D25982B6C +:1007B0007C9902C084E001C080E0892B7D9902C051 +:1007C00038E001C030E0832B7E9902C020E101C0F7 +:1007D00020E0822B9FB19095991F9927991F9295A0 +:1007E000990F907E892B0FC080910101811149C022 +:1007F00080E40E94C70280930101882379F1B12C23 +:100800000E94E9028B2DF8019081981719F08083DE +:10081000C09200010E94130321960F5F1F4FCE303C +:10082000D10509F076CF80910001882361F18150D4 +:1008300080930001882339F08FE99FE00197F1F759 +:1008400000C0000020C0A3E4B1E0E5E3F1E0CF0187 +:10085000825F91919D938E13FCCF15C083E10E941E +:10086000F102809301018111CACF81E40E94C70285 +:10087000809301018111C3CF0E940203B82EB0946E +:10088000BFCF80E0C0CF0E946D0481E0DF91CF91A7 +:100890001F910F91FF90EF90DF90CF90BF90089540 +:1008A000E82FF0E0ED5BFE4F8081089508950F93EF +:1008B0001F93CF93DF93C3E4D1E010E00C2F025FCE +:1008C000899190E00E94021C180F0C13F9CF812F20 +:1008D000DF91CF911F910F9108950C94BC0556980C +:1008E0005E9825982D9826982E9827982F988FEF08 +:1008F00090E0909389008093880090938B00809380 +:100900008A0090938D0080938C00259A2D9A2FEF6A +:1009100080E792E0215080409040E1F700C0000065 +:10092000269A2E9A2FEF80E792E021508040904047 +:10093000E1F700C00000279A2F9A2FEF80E792E09E +:10094000215080409040E1F700C0000025982D988C +:100950002FEF80E792E0215080409040E1F700C007 +:10096000000026982E982FEF80E792E021508040DB +:100970009040E1F700C0000027982F9856985E98A5 +:1009800025982D9826982E9827982F98089589EACB +:100990008093800089E08093810024982C983F9870 +:1009A0008AB18F748AB96E98479A8BB1806B8BB974 +:1009B000769A0E946F040C94BB0580E2809301013B +:1009C0008091510181110EC00E94C10281E080938B +:1009D00051012FEF83ED90E3215080409040E1F7EB +:1009E00000C0000080E40E94C702809301018111D1 +:1009F0002EC00E94F10280930101811128C00E9443 +:100A0000F10280930101811122C08FE30E94F10263 +:100A10008093010181111BC00E94E90280E40E94C1 +:100A2000C70280930101811112C08CE00E94F10283 +:100A30008093010181110BC00E94F102809301019A +:100A4000811105C08FE30E94F102809301010E9491 +:100A5000E902809101010895FC01623009F445C06A +:100A600028F4662351F0613041F182C0633009F40B +:100A70005BC0643009F472C07BC08281882341F07E +:100A80000E94A51C909353018093520185EE6AC089 +:100A900085EE0E94D91280915201909153010E94DB +:100AA000B11C8F35910508F063C086EE0E941112CB +:100AB00084E30E94111284E34DC082818111E0CF52 +:100AC00085EE0E94D91280915201909153010E94AB +:100AD000B11C8F35910508F04BC086EE0E941112B3 +:100AE00081E30E94111281E335C08281882341F0A5 +:100AF0000E94A51C909353018093520182EE32C054 +:100B000082EE0E94D91280915201909153010E946D +:100B1000B11C8F35910560F586EE0E9411128FE2AF +:100B20000E9411128FE216C082818111E1CF82EE04 +:100B30000E94D91280915201909153010E94B11CE0 +:100B40008F359105A8F486EE0E94111280E30E9471 +:100B5000111280E30E94D91286EE08C08281882398 +:100B600021F089E30E94111203C089E30E94D91287 +:100B700080E090E0089508956091C0017091C101F6 +:100B80008091C2019091C3010E940E1C56985E98FC +:100B900025982D9826982E9827982F98813029F0FF +:100BA000823029F4269A2E9A02C0279A2F9A0E9400 +:100BB000F51081FF02C0259A2D9A089581E00895CD +:100BC00081E008950C94E0050895282F882339F0DA +:100BD00090E02A3010F44D9608950697089587E224 +:100BE00090E00895AF92BF92DF92EF92FF920F9341 +:100BF0001F93CF93DF938C01FC01C081D181CE0183 +:100C00000E94871ABE010E946209EC01B8010E948D +:100C1000E205882309F4C9C1F8018281882309F417 +:100C2000BEC08091600181111FC0C431F0E7DF07B1 +:100C300009F0B5C10E94E40581E0809360010E9443 +:100C4000A51C90935F0180935E0110925701109252 +:100C500059011092580110925B0110925A011092A2 +:100C60005D0110925C01A1C180915E0190915F01D4 +:100C70000E94B11C883C910570F480915701E82FC7 +:100C8000F0E0EE0FFF1FE85AFE4FD183C0838F5F65 +:100C9000809357018AC1C13020E8D20708F451C0BF +:100CA000F8018281882309F47EC05E01E894B7F8D8 +:100CB00080915601813079F050F08230C1F482EE9B +:100CC0000E94111287E50E94111287E50EC082EE84 +:100CD0000E9411120CC080EE0E94111281EE0E943F +:100CE000111288E10E94111288E10E94D9128CE051 +:100CF000E82EF12CC5010E2C02C0969587950A941A +:100D0000E2F78F700E94E505D82E0E9411128D2DFA +:100D10000E94D912F4E0EF1AF1082CEFE2162FEF3F +:100D2000F20641F780915601813029F010F08230AF +:100D300041F482EE04C080EE0E94D91281EE0E943E +:100D4000D912C43180E7D80768F4C23090E7D907D8 +:100D500008F046C0C115E0E7DE0771F0C130D047AA +:100D6000A1F10CC1C33320E7D20709F4D8C0C433C2 +:100D7000D04709F4EBC002C1F8018281882309F44D +:100D800002C10E948E15FFEF24E38CE0F150204059 +:100D90008040E1F700C000000E94001D06C1C13084 +:100DA00080E8D80770F2C43120E7D20708F0B3C05A +:100DB000C23080E7D807A0F4C11590E7D90709F43D +:100DC000E2C0C130D04709F0D9C0F8018281882340 +:100DD00009F4D9C08091DD0181608093DD01E5C017 +:100DE000F8018281882309F4CEC00E945A1D811126 +:100DF00002C00E94401D0E946D1D90E09093F10181 +:100E00008093F001C230F0E7DF0721F48091F00118 +:100E100081607AC0C33020E7D20721F48091F001CD +:100E2000826072C0C43080E7D80721F48091F0015D +:100E300084606AC0C53090E7D90719F48091F00149 +:100E400027C0C630E0E7DE0721F48091F001806121 +:100E50005BC0C730F0E7DF0721F48091F0018062CA +:100E600053C0C83020E7D20721F48091F00180649C +:100E70004BC0C93080E7D80721F48091F001806829 +:100E800043C0CA3090E7D90729F48091F00184600B +:100E900088603AC0CB30E0E7DE0721F48091F001B2 +:100EA0008E7F32C0CC30F0E7DF0721F48091F00173 +:100EB0008D7F2AC0CD3020E7D20721F48091F00148 +:100EC0008B7F22C0CE3080E7D80719F48091F001E3 +:100ED0001AC08091F001CF3090E7D90711F48F7ECE +:100EE00013C0C031E0E7DE0711F48F7D0DC0C131C2 +:100EF000F0E7DF0711F48F7B07C0C231D04711F450 +:100F00008F7702C08B7F877F8093F0018091F00103 +:100F10000E94711D4AC0C333F0E7DF07A1F4F80156 +:100F20008281882321F01092540182E016C08091C2 +:100F30005401811106C086E20E94111286E20E94CD +:100F4000D91282E018C0C433D047C1F4F8018281BD +:100F5000882331F01092550180E20E94281325C0A9 +:100F600080915501811106C087E20E94111287E22B +:100F70000E94D91280E20E942F1317C081E0809353 +:100F8000540180935501C801DF91CF911F910F91BA +:100F9000FF90EF90DF90BF90AF900C94DE05C130D2 +:100FA000F0E8DF0708F081CECCCE80E0DF91CF9172 +:100FB0001F910F91FF90EF90DF90BF90AF90089539 +:100FC00026E0729FF001112444E5849FE00DF11D9D +:100FD0001124E60FF11DEE0FFF1FE25FFE4F85911A +:100FE00094910E947409811560E49607B0F581150B +:100FF00070E3970708F0DEC0803E9105D8F4803C8E +:10100000910508F06CC0883A910578F4853A91050D +:1010100008F06BC08130910509F452C108F40FC18A +:101020008430910508F04CC10AC18B3B910508F44E +:1010300067C005C18F3F910509F048F4803F9105D5 +:1010400008F0ADC0883E910508F43AC1F8C081159A +:1010500020E2920708F0A5C00895811543E59407A2 +:1010600090F4811562E5960708F0C8C0811571E516 +:10107000970708F0BEC0811520E5920708F09DC0D3 +:101080009F70906A0895811545E59407D8F48115FD +:1010900064E5960708F0C8C0482F4695469570E26B +:1010A000479FA00111248370992721E030E0B90106 +:1010B00002C0660F771F8A95E2F7CB01842B952B30 +:1010C0009A680895811576E5970708F4B2C09C01E7 +:1010D00030562115304108F0B2C09F70AEC0FC01FF +:1010E000EE0FFF1FE657F04062C0853A910509F404 +:1010F000A9C0863A910509F0A8C082E890E4089555 +:10110000883A910509F4A4C0893A910509F4A3C06D +:101110008A3A910509F4A2C08B3A910509F4A1C05D +:101120008C3A910509F4A0C08D3A910509F49FC04D +:10113000803B910509F49EC08E3A910509F49DC04B +:101140008F3A910509F49CC0813B910509F49BC03D +:10115000823B910509F49AC0833B910509F499C03B +:10116000843B910509F498C0853B910509F497C02B +:10117000863B910509F496C0873B910509F495C01B +:10118000883B910509F494C0893B910509F493C00B +:101190008A3B910509F492C080E094E4089590653B +:1011A0000895FC01FF70EE0FFF1FE65FFE4F859173 +:1011B000949108959927906C0895482F437021E0E9 +:1011C00030E002C0220F331F4A95E2F73C68AC01C1 +:1011D00064E0569547956A95E1F74370342B8F701C +:1011E0008695869560E2869FC0011124822B932B01 +:1011F0000895982F8827816F906A0895482F469503 +:10120000469570E2479FA00111248370992721E041 +:1012100030E0B90102C0660F771F8A95E2F7CB0173 +:10122000842B952B9C680895982F8827846F906A4B +:1012300008958F719927982F88279062089580E0EC +:1012400090E0089581E890E4089583E890E408959B +:1012500082EE94E4089589EE94E408958AEE94E48D +:10126000089585EB94E4089586EB94E4089587EB64 +:1012700094E408958CEC94E408958DEC94E408953E +:1012800083E895E408958AE895E4089582E995E471 +:10129000089584E995E4089581E296E4089583E24F +:1012A00096E4089584E296E4089585E296E408952C +:1012B00086E296E4089587E296E408958AE296E449 +:1012C0000895089596E0799FF001112494E5899F8F +:1012D000E00DF11D1124E60FF11DEE0FFF1FE25F7F +:1012E000FE4F8591949108958238910549F1B0F4AB +:1012F0008133910509F458C048F48932910509F405 +:101300004EC08A32910509F454C008958533910581 +:1013100009F440C08933910599F00895833E910501 +:1013200029F138F4803E910591F0823E9105A1F0BB +:101330000895863E9105F9F0873E910531F10895B3 +:101340002091F00120FD3AC021FD38C00895809120 +:10135000F00180FD35C032C08091F00182FF32C0C3 +:101360008091F00184FD30C083EE39C08091F0019E +:1013700082FD28C0F5CF8091F00183FF27C08091C6 +:10138000F00184FD21C087EE2AC08091F00183FD29 +:101390001DC0F5CF8091F00185FD1AC01BC0809162 +:1013A000F00185FD17C014C08091F00186FD14C0C6 +:1013B00015C08091F00186FD11C00EC080EE0FC0F7 +:1013C00089E30DC082EE0BC080E009C086EE07C045 +:1013D00089E205C085E303C08AE201C081E390E0B1 +:1013E000089508950C94F109809171010895CF93A7 +:1013F000DF9300D01F92CDB7DEB79C018091F6013C +:10140000843019F593E099833B832A839093E90014 +:101410008FEF9091E800815095FD06C095ED9A956B +:10142000F1F700008111F5CF8091E80085FF0DC034 +:1014300040E050E063E070E0CE0101960E945D0C58 +:101440008091E8008E778093E8000F900F900F90C6 +:10145000DF91CF910895CF93DF9300D01F92CDB746 +:10146000DEB72091F601243021F522E029839B8309 +:101470008A8383E08093E9008FEF9091E8008150A8 +:1014800095FD06C095ED9A95F1F700008111F5CF15 +:101490008091E80085FF0DC040E050E063E070E01F +:1014A000CE0101960E945D0C8091E8008E778093BA +:1014B000E8000F900F900F90DF91CF910895209149 +:1014C000F6012430F1F422E02093E9002FEF30916F +:1014D000E800215035FD06C035ED3A95F1F70000E2 +:1014E0002111F5CF2091E80025FF0BC040E050E02E +:1014F00065E070E00E945D0C8091E8008E7780933B +:10150000E8000895CF93DF93EC019091F6019430B9 +:1015100009F046C080910C018823D9F080910D011B +:101520008823B9F09093E9008FEF9091E800815003 +:1015300095FD06C095E19A95F1F700008111F5CF70 +:101540008091E80085FF2CC040E050E060E170E051 +:1015500017C081E08093E9008FEF9091E8008150FF +:1015600095FD06C095ED9A95F1F700008111F5CF34 +:101570008091E80085FF14C040E050E068E070E032 +:10158000CE010E945D0C8091E8008E778093E80088 +:1015900080E1FE01A1E6B1E001900D928A95E1F7AC +:1015A000DF91CF9108958091F501811109C00E94CA +:1015B000F20D0E944F0E8091E20084608093E20061 +:1015C00008951092F501089508950C94E6210E9463 +:1015D000961C0E94EC210E94F5100C94F20942E046 +:1015E00061EC81E00E946C0D42E061EC82E00E94BF +:1015F0006C0D42E061EC83E00E946C0D42E161EC15 +:1016000084E00C946C0D8091F801833009F455C08E +:1016100030F4813071F0823009F48EC008958A3040 +:1016200009F47AC08B3009F460C0893009F09CC09D +:1016300020C08091F701813A09F096C08091E800BE +:10164000877F8093E8008091FB019091FC01892BBA +:1016500021F460E181E691E003C060E080E090E089 +:1016600070E00E94A80C8091E8008B778093E800DE +:1016700008958091F701813209F076C08091FB01D5 +:101680009091FC01009719F0039709F06DC08091CB +:10169000E800877F8093E8008091E80082FD05C024 +:1016A0008091F6018111F8CF5FC08091F1008093A5 +:1016B00071018091E8008B7753C08091F701813AE6 +:1016C00009F052C08091FB019091FC01892B09F037 +:1016D0004BC08091E800877F8093E8008091E8000C +:1016E00080FFFCCF80910C0136C08091F7018132E0 +:1016F000D9F58091FB019091FC01892BA9F580918E +:10170000E800877F8093E8000E94A10D8091F90195 +:1017100080930C010C948E158091F701813221F594 +:101720008091E800877F8093E8000E94A10D80915E +:10173000FA018093720108958091F701813AA1F432 +:101740008091E800877F8093E8008091E80080FF27 +:10175000FCCF809172018093F1008091E8008E7738 +:101760008093E8000C94A10D089584B7877F84BF0F +:1017700088E10FB6F89480936000109260000FBE6D +:1017800080E880936100109261000E9444110E94E1 +:10179000F20D0E944F0E8091E20084608093E2007F +:1017A00078940E94D5100E94461182E091E00E9438 +:1017B000F0100E94D4218091F601853069F40E94D6 +:1017C0005E1C8091F4018823B1F30E94881C882359 +:1017D00091F30E94470CEFCF0E944C11ECCF292FC0 +:1017E000332723303105C9F064F42130310581F00D +:1017F0002230310509F043C08DE690E02AE333E062 +:1018000042C021323105F1F02232310541F137C0B9 +:1018100082E190E027EA33E036C0992781309105D4 +:1018200041F08230910541F0892B49F5E6E3F3E080 +:1018300005C0EEE1F3E002C0E6E0F3E0849190E061 +:101840009F0121C06430D8F4E62FF0E0EE0FFF1FB7 +:10185000EE5DFE4F2081318189E090E014C064305C +:1018600070F470E0FB01EE0FFF1FE65EFE4F20817B +:101870003181FB01EA5EFE4F808190E004C080E090 +:1018800090E020E030E0FA0131832083089580E188 +:1018900089BD82E189BD09B400FEFDCF8091D800E9 +:1018A0008F7D8093D8008091E00082608093E0007B +:1018B0008091E00081FDFCCF0895CF92DF92EF92FE +:1018C000FF920F931F93CF93DF93EC018B016A017B +:1018D0000E94C00D811133C0C114D10439F0F6014A +:1018E00080819181081B190BC80FD91FE12CF12CA5 +:1018F0000115110519F18091E80085FD16C0809150 +:10190000E8008E778093E800C114D10449F0F60115 +:1019100080819181E80EF91EF182E08285E00FC09E +:101920000E94C00D882321F30AC089918093F100A1 +:1019300001501109FFEFEF1AFF0ADACF80E0DF91C3 +:10194000CF911F910F91FF90EF90DF90CF9008956E +:101950002091FD013091FE012617370748F06115EF +:10196000710539F42091E8002E772093E80001C03A +:10197000B90140E061157105A9F12091F60122231A +:1019800009F443C0253009F442C02091E80023FD4A +:1019900040C02091E80022FD32C02091E80020FFE5 +:1019A000E9CF4091F3002091F20030E0342BFC01AC +:1019B000CF016115710559F02830310540F481914E +:1019C0008093F100615071092F5F3F4FF1CF41E0EB +:1019D0002830310509F040E02091E8002E7720936F +:1019E000E800C8CF4111C9CF0AC08091F601882311 +:1019F00061F0853061F08091E80083FD0AC080913C +:101A0000E80082FFF2CF80E0089582E0089583E04D +:101A1000089581E008952091FD013091FE0126177F +:101A2000370748F06115710539F42091E8002E77E9 +:101A30002093E80001C0B901FC0120E061157105A7 +:101A400091F18091F601882309F440C0853009F4B2 +:101A50003FC08091E80083FD3DC08091E80082FD99 +:101A60002FC08091E80080FFE9CF2091F3008091A2 +:101A7000F20090E0922B6115710559F088309105C4 +:101A800040F424912093F100319661507109019640 +:101A9000F2CF21E0089709F020E08091E8008E77EE +:101AA0008093E800CBCF2111CCCF0AC08091F60102 +:101AB000882361F0853061F08091E80083FD0AC0E1 +:101AC0008091E80082FFF2CF80E0089582E00895DF +:101AD00083E0089581E00895982F973058F590930A +:101AE000E900981739F07091EC002091ED005091C9 +:101AF000F00003C0242F762F50E021FF19C0309151 +:101B0000EB003E7F3093EB003091ED003D7F309352 +:101B1000ED003091EB0031603093EB007093EC00FE +:101B20002093ED005093F0002091EE0027FF07C0B6 +:101B30009F5FD3CF8F708093E90081E0089580E0AC +:101B400008958091F70187FF11C08091E80082FD20 +:101B500005C08091F6018111F8CF11C08091E80095 +:101B60008B770BC08091F601882349F08091E800C3 +:101B700080FFF8CF8091E8008E778093E800089589 +:101B80002091E4003091E50095E64091EC00842F2F +:101B9000817040FF22C08091E80080FD1CC08091D0 +:101BA000F601882391F0853091F08091EB0085FD5E +:101BB00010C04091E4005091E5004217530729F30B +:101BC0009A01915011F784E0089582E0089583E02E +:101BD000089581E0089580E008954091E80042FF73 +:101BE000DECF08950E94600E0E94680EE0EEF0E0E5 +:101BF000808181608083E8EDF0E080818F77808351 +:101C000019BCA7EDB0E08C918E7F8C9380818F7E84 +:101C100080831092F50108950F931F93CF93DF9364 +:101C20000E94600E0E94680EC8EDD0E088818F7718 +:101C3000888388818068888388818F7D888319BCA8 +:101C40001092F6011092F2011092F4011092F30139 +:101C500000EE10E0F80180818B7F808388818160B5 +:101C6000888342E060E080E00E946C0DE1EEF0E0ED +:101C700080818E7F8083E2EEF0E0808181608083CE +:101C8000808188608083F80180818E7F8083888155 +:101C900080618883DF91CF911F910F910895E8EDC6 +:101CA000F0E080818F7E8083E7EDF0E080818160CD +:101CB000808384E082BF81E08093F5010C940C0E58 +:101CC000E8EDF0E080818E7F80831092E20008953D +:101CD0001092DA001092E10008951F920F920FB651 +:101CE0000F9211242F933F934F935F936F937F93A2 +:101CF0008F939F93AF93BF93EF93FF938091E100F6 +:101D000082FF0BC08091E20082FF07C08091E1005A +:101D10008B7F8093E1000E94D4108091DA0080FFD5 +:101D20001FC08091D80080FF1BC08091DA008E7F99 +:101D30008093DA008091D90080FF0DC080E189BDD9 +:101D400082E189BD09B400FEFDCF81E08093F601F8 +:101D50000E94D30A05C019BC1092F6010E94E10A44 +:101D60008091E10080FF19C08091E20080FF15C0E2 +:101D70008091E2008E7F8093E2008091E20080619A +:101D80008093E2008091D80080628093D80019BCD3 +:101D900085E08093F6010E94E50A8091E10084FFCE +:101DA00030C08091E20084FF2CC080E189BD82E1D7 +:101DB00089BD09B400FEFDCF8091D8008F7D80934E +:101DC000D8008091E1008F7E8093E1008091E20055 +:101DD0008F7E8093E2008091E20081608093E20038 +:101DE0008091F201882311F084E007C08091E30024 +:101DF00087FD02C081E001C083E08093F6010E946C +:101E0000E70A8091E10083FF29C08091E20083FF0F +:101E100025C08091E100877F8093E10082E080937C +:101E2000F6011092F2018091E1008E7F8093E10033 +:101E30008091E2008E7F8093E2008091E2008061D9 +:101E40008093E20042E060E080E00E946C0D8091AF +:101E5000F00088608093F0000E94E40AFF91EF9107 +:101E6000BF91AF919F918F917F916F915F914F91B2 +:101E70003F912F910F900FBE0F901F9018951F92BA +:101E80000F920FB60F9211242F933F934F935F93AE +:101E90006F937F938F939F93AF93BF93CF93DF9372 +:101EA000EF93FF93C091E900CF708091EC00D82FA1 +:101EB000D17080FDD0E81092E9008091F000877F1A +:101EC0008093F00078940E94830F1092E900809133 +:101ED000F00088608093F000CD2BCF70C093E900B4 +:101EE000FF91EF91DF91CF91BF91AF919F918F9132 +:101EF0007F916F915F914F913F912F910F900FBE06 +:101F00000F901F9018951F93CF93DF93CDB7DEB737 +:101F1000AA970FB6F894DEBF0FBECDBFE7EFF1E092 +:101F200088E08E0F9091F10091938E13FBCF0E9469 +:101F3000030B8091E80083FF1FC18091F70190910E +:101F4000F801492F50E04A30510508F015C1FA0157 +:101F5000EA5AFF4F0C946E23803881F0823809F0E2 +:101F60000BC18091FB018F708093E9008091EB00A1 +:101F700085FB882780F91092E90006C08091F30163 +:101F80009091F401911182609091E800977F909375 +:101F9000E8008093F1001092F100C8C0282F2D7F37 +:101FA00009F0EAC0882319F0823061F0E5C0809121 +:101FB000F901813009F0E0C0933009F080E08093AE +:101FC000F4012BC08091F901811127C08091FB01A0 +:101FD0008F7009F4D1C08093E9002091EB0020FFBD +:101FE0001CC0933021F48091EB00806214C090916A +:101FF000EB0090619093EB0021E030E0A90102C07A +:10200000440F551F8A95E2F74093EA001092EA00C8 +:102010008091EB0088608093EB001092E900809142 +:10202000E800877F86C08111A7C01091F9011F7752 +:102030008091E3008078812B8093E3008091E80019 +:10204000877F8093E8000E94A10D8091E80080FFC7 +:10205000FCCF8091E30080688093E300111102C0FF +:1020600082E001C083E08093F60186C08058823010 +:1020700008F082C08091F9019091FA018C3D53E003 +:10208000950779F583E08A838AE289834FB7F894CC +:10209000DE01139620E03EE051E2E32FF0E05093A2 +:1020A0005700E49120FF03C0E295EF703F5FEF70AF +:1020B0008E2F90E0EA3010F0C79601C0C0968D9345 +:1020C0009D932F5F243149F74FBF8091E800877FB0 +:1020D0008093E8006AE270E0CE0101960E94A80CAD +:1020E00014C0AE014F5F5F4F6091FB010E94EF0B88 +:1020F000BC01009709F440C09091E800977F90934D +:10210000E80089819A810E940B0D8091E8008B770D +:102110008093E80031C0803879F58091E800877FAE +:102120008093E8008091F2018093F1008091E800B3 +:102130008E778093E8000E94A10D1EC081111CC003 +:102140009091F9019230C0F48091E800877F8093EC +:10215000E8009093F2010E94A10D8091F20181119B +:1021600006C08091E30087FD02C081E001C084E0E9 +:102170008093F6010E94EF0A8091E80083FF0AC075 +:102180008091E800877F8093E8008091EB00806277 +:102190008093EB00AA960FB6F894DEBF0FBECDBFBA +:1021A000DF91CF911F9108950895CF938091F6010B +:1021B0008823A1F0C091E900CF709091EC00892FA5 +:1021C000817090FD80E8C82B1092E9008091E800B2 +:1021D00083FD0E94830FCF70C093E900CF910895D3 +:1021E00090937801809377010895E0917701F091C1 +:1021F0007801309721F00190F081E02D099480E082 +:102200000895E0917701F0917801309721F00280F4 +:10221000F381E02D09940895E0917701F091780120 +:10222000309721F00480F581E02D099408952091E4 +:102230007501309176018217930771F090937601C2 +:1022400080937501E0917701F0917801309721F04A +:102250000680F781E02D0994089520917301309153 +:1022600074018217930771F0909374018093730146 +:10227000E0917701F0917801309721F00084F185A9 +:10228000E02D0994089508950C9443110E949C1C1C +:102290000E943B030C94221D9F92AF92BF92CF925B +:1022A000DF92EF92FF920F931F93CF93DF9300D0B3 +:1022B00000D000D0CDB7DEB70E9462030DE010E081 +:1022C000AA24A394B12C902E802F0E945004980130 +:1022D00026583E4F6901F901F080F826A1F401501B +:1022E000110988F78FEF89838A831B820E94A51CBE +:1022F0008160782F9D838C8349815A816B818D8188 +:102300000E94E3112FC09091DD0191FF04C08E83E4 +:102310000E9456048E8125E030E0A501022E01C006 +:10232000440F0A94EAF7E42E4F21C1F029839A82E0 +:102330008E2191E009F490E09B830E94A51C8160AE +:10234000782F9D838C8349815A816B818D810E9476 +:10235000E311F6018081E826E08204C021503109B2 +:10236000E0F6BDCF0E94F01E109179010E94F51099 +:102370001817B9F00E94F5108093790126960FB6D0 +:10238000F894DEBF0FBECDBFDF91CF911F910F91AB +:10239000FF90EF90DF90CF90BF90AF909F900C9404 +:1023A000F20926960FB6F894DEBF0FBECDBFDF91BF +:1023B000CF911F910F91FF90EF90DF90CF90BF9042 +:1023C000AF909F900895CF93DF93CDB7DEB72B9753 +:1023D0000FB6F894DEBF0FBECDBF4F835887698715 +:1023E0007A878B87DE01119686E0FD0111928A952E +:1023F000E9F785E0FE01379601900D928A95E1F7A5 +:1024000049815A816B817C818D819E810E942C182B +:102410002B960FB6F894DEBF0FBECDBFDF91CF91E4 +:102420000895CF93882309F4C2C0C82F823859F485 +:102430000E94F51081FDBBC089E30E94061B0E942B +:10244000D31B89E30CC0833879F40E94F51080FD1A +:10245000AEC083E50E94061B0E94D31B83E50E9449 +:10246000481BCF910C94D31B843859F40E94F5106B +:1024700082FD9DC087E40E94061B0E94D31B87E457 +:10248000EECF8CEF8C0F813A48F48C2F0E943A21CA +:1024900081118DC08C2F0E94061BE3CF80E28C0F30 +:1024A000883048F4C77081E001C0880FCA95EAF708 +:1024B0000E948C1BD6CF8BE58C0F833078F4C53A05 +:1024C00029F0C63A31F083E890E005C081E890E059 +:1024D00002C082E890E0CF910C94171188E58C0F30 +:1024E000833108F064C0C83A39F1C93A41F1CA3AB7 +:1024F00049F1CB3A51F1CC3A59F1CD3A61F1C03BB7 +:1025000069F1CE3A71F1CF3A79F1C13B81F1C23B29 +:1025100089F1C33B91F1C43B99F1C53BA1F1C63BA5 +:10252000A9F1C73BB1F1C83BB9F1C93BC1F1CA3B05 +:10253000C9F180E090E038C082EE90E035C089EECD +:1025400090E032C08AEE90E02FC085EB90E02CC086 +:1025500086EB90E029C087EB90E026C08CEC90E001 +:1025600023C08DEC90E020C083E891E01DC08AE894 +:1025700091E01AC082E991E017C084E991E014C0AB +:1025800081E292E011C083E292E00EC084E292E028 +:102590000BC085E292E008C086E292E005C087E2C7 +:1025A00092E002C08AE292E0CF910C942D11CF917B +:1025B0000895882309F44BC0823859F40E94F5101D +:1025C00081FF45C089E30E94061B0E94D31B89E35B +:1025D0000CC0833871F40E94F51080FF38C083E589 +:1025E0000E94061B0E94D31B83E50E94481B0C948B +:1025F000D31B843859F40E94F51082FF28C087E469 +:102600000E94061B0E94D31B87E4EFCF9CEF980F1C +:10261000913A58F390E2980F983050F4877091E017 +:1026200001C0990F8A95EAF7892F0E94921BDFCF8C +:102630009BE5980F933020F480E090E00C94171104 +:10264000885A833120F480E090E00C942D11089595 +:10265000882321F00E948C1B0C94D31B089588239F +:1026600021F00E94921B0C94D31B08957F928F92AD +:102670009F92AF92BF92CF92DF92EF92FF920F9311 +:102680001F93CF93DF931F92CDB7DEB77C01C62E89 +:10269000772EFC01058102950F70128111110E94A5 +:1026A000A91B0E94FF1A882379F0112369F080E2A8 +:1026B0008C0D883048F082E00E94E81A0E94FF1AD0 +:1026C00091E0D82ED92601C0D12CE72DE295EF70EC +:1026D000F0E0E05AFF4F0C946E23872D807F072D8A +:1026E0000F70882311F00295007F112389F00023D9 +:1026F00009F490C180E28C0D883020F4802F0E9474 +:102700008C1B03C0802F0E949C1B0E94D31B82C184 +:102710008C2D0E94D912002309F495C180E28C0D02 +:10272000883020F4802F0E94921B03C0802F0E94CB +:10273000A21B0E94D31B87C1972D907F872D8F707E +:10274000903211F08295807FCC2021F0F1E0CF16FD +:10275000B1F01EC0112349F0002309F414C1013067 +:1027600009F011C10E94BC1B6EC1002319F0013099 +:1027700009F469C189830E94BF1B89810AC11123A1 +:1027800021F0023008F05FC1FEC001115CC101C13F +:10279000112321F0002309F4F6C03CC1002309F401 +:1027A000F8C03EC1872D86958695837090E000978E +:1027B00019F0019761F047C1112321F08C2D972D5D +:1027C000937002C080E090E00E9417113CC1112379 +:1027D00021F08C2D972D937002C080E090E00E9434 +:1027E0002D1131C18C2D112319F00E94F81D02C04A +:1027F0000E94601E0E94E51E26C1872D837009F08D +:1028000052C0111120C18C2D829586958770880F3A +:10281000880F9C2D9F70892E912CA12CB12C082EF5 +:1028200004C0880C991CAA1CBB1C0A94D2F7C4FED5 +:1028300014C00FE010E020E030E0B901A80104C0AE +:10284000440F551F661F771F8A95D2F7CB01BA0137 +:10285000609570958095909503C060E070E0CB0125 +:10286000272D26952695237030E02230310569F01A +:102870002330310589F0682979298A299B2921305B +:10288000310571F00E947419DEC0682979298A29FE +:102890009B290E949019D7C00E947419C501B401E8 +:1028A0000E945819D0C0112319F0872D817001C0E2 +:1028B0008695882309F4C7C08C2D829586958770EC +:1028C000880F880F9C2D9F70892E912CA12CB12CE4 +:1028D000082E04C0880C991CAA1CBB1C0A94D2F7B1 +:1028E000C4FE14C00FE010E020E030E0B901A80100 +:1028F00004C0440F551F661F771F8A95D2F7CB017E +:10290000BA01609570958095909503C060E070E085 +:10291000CB01272D269526952370422F50E042307B +:10292000510569F04330510589F0682979298A29D0 +:102930009B294130510571F00E944E1A84C06829CC +:1029400079298A299B290E946A1A7DC00E944E1A01 +:10295000C501B4010E94321A76C08C2D90E0FC01B2 +:10296000E05EF109E531F10508F050C0E059FF4F94 +:102970000C946E230C2D0F70872D8F71112331F065 +:102980000E94CB19802F0E9428135DC00E94EC1971 +:10299000802F0E942F1357C0112339F0011153C00B +:1029A000872D8F710E94111A4EC0023008F04BC063 +:1029B000F7CF112339F0872D8F710E94CB1943C0B7 +:1029C0001123C9F3872D8F710E94EC193CC011238C +:1029D00029F0872D8F710E94B61935C00E94AC195D +:1029E00032C0112351F0172D1F71812F0E94CB1976 +:1029F00063E0812F0E94DF1A26C081E00E94E81A5E +:102A0000023008F182E00E94E81A1DC0112331F063 +:102A1000002389F28C2D0E94111215C0002391F21F +:102A20008C2D0E94D9120FC0472D4F706C2DC701FD +:102A30000E942C050E94D01806C0472D4F706C2DA7 +:102A4000C7010E946109DD20F9F00E94DB1A80FDB8 +:102A50001BC0F70112820E94D51A0E94CB19C70130 +:102A60000E9453150E94D51A0F90DF91CF911F91AC +:102A70000F91FF90EF90DF90CF90BF90AF909F901D +:102A80008F907F900C94EC190F90DF91CF911F9154 +:102A90000F91FF90EF90DF90CF90BF90AF909F90FD +:102AA0008F907F9008950F931F93CF93DF93EC0146 +:102AB000888199812B813C81232BB9F09F3F11F4B0 +:102AC0008F3F99F0CE010E94F205882371F0688152 +:102AD00079818A810E94D11A8C010E94861A0E94F3 +:102AE0004D19B801CE010E943613DF91CF911F918D +:102AF0000F9108950E94A91B0E94B91B0E947E1B82 +:102B00000E94D31B0E94961F0E94E51E80E090E069 +:102B10000E94171180E090E00C942D110E94991BE7 +:102B20000C947A150E94C61A292F22952F7030E036 +:102B30002C3031054CF42A3031056CF42250310927 +:102B400022303105A8F407C02C30310569F02F3050 +:102B5000310551F00DC0803F69F018F4803E40F41B +:102B600009C0843F29F406C093FB882780F90895A3 +:102B700080E0089581E00895CF93DF9300D000D0E6 +:102B80001F92CDB7DEB70F900F900F900F900F9060 +:102B9000DF91CF910895CF93DF9300D000D000D084 +:102BA000CDB7DEB726960FB6F894DEBF0FBECDBF09 +:102BB000DF91CF9108951F93CF93DF93C091880148 +:102BC00016E080918901C81799F0D0E01C9FF001B0 +:102BD0001D9FF00D1124E657FE4F40815181628107 +:102BE0007381848195810E94CB152196C770E9CFAE +:102BF000DF91CF911F9108954091BA015091BB018F +:102C00006091BC017091BD018091BE019091BF01A6 +:102C10000C94CB158091BF0182958F7009F054C040 +:102C20008091BC01882309F44FC080918801A09154 +:102C300089016091BA017091BB014091BD01509131 +:102C4000BE01B6E08A1709F43FC090E04115510576 +:102C5000C1F17F3F11F46F3FA1F1B89FF001B99F1F +:102C6000F00D1124E657FE4F218172132AC02081F6 +:102C7000621327C02281211124C0238134812417AB +:102C8000350710F421503109241B350B283C310540 +:102C9000C0F42091BF012F7020612093BF0126E076 +:102CA000289FF001299FF00D1124E157FE4F8081EC +:102CB0008F70806180838AEB91E00E9453150C94A1 +:102CC000DB1501968770BECF0895CF92DF92EF9209 +:102CD000FF920F931F93CF93DF93CDB7DEB7629729 +:102CE0000FB6F894DEBF0FBECDBF8C0185E0F801B2 +:102CF000DE011D9601900D928A95E1F7D8014C9165 +:102D000011965C91119712966C9112971396CD9033 +:102D1000DC9014973091BA017091BB018091BD0194 +:102D20009091BE01009709F46BC17F3F19F43F3FBA +:102D300009F466C1E090BC01EE2009F4C0C0209106 +:102D4000BF01C816D90628F0F601E81BF90BCF0120 +:102D500004C0809590958C0D9D1DFF24F394883CB4 +:102D6000910578F0F12C207F09F0C6C07C2DD98A1E +:102D7000C88A89890E94BC158AEB91E00E9453158C +:102D8000B1C0822F807F09F046C0751314C0341380 +:102D900012C0611110C02F7020612093BF010E94EA +:102DA000FC158AEB91E00E9453158091BF01D80178 +:102DB00015968C932EC0CD2819F15F3F11F44F3F2B +:102DC000F9F0F62E61111CC08091880120918901D3 +:102DD00036E0821709F45AC090E0389FF001399F1D +:102DE000F00D1124E657FE4F7181571306C0708114 +:102DF000471303C07281711103C001968770E9CF38 +:102E0000F62E662309F418C18091BF01816080937A +:102E1000BF01F12C11C1751308C0341306C0611134 +:102E200004C08091BF01D801C3C04D875E878D85E6 +:102E30009E856A8B0E9492156A898823E1F1662338 +:102E4000D1F12091BF01822F82958F7090E002977F +:102E500074F08091BA019091BB0198878F83198695 +:102E6000DB86CA862C87CE0107960E94531586E022 +:102E7000F801AAEBB1E001900D928A95E1F70E946A +:102E80000A160E94FC15FF24F394D6C04D875E8776 +:102E90008D859E850E94C61A292F22952F7030E0BD +:102EA000223031050CF0BCC09F7009F0B6C0805EC6 +:102EB000883008F4C1C0C8010E945315E4CFC81679 +:102EC000D90608F453C0F601E81BF90BCF01883C82 +:102ED000910508F450C0F12C7C2DD98AC88A8989C3 +:102EE0000E94BC15EAEBF1E086E0DF011D928A95B5 +:102EF000E9F70E94FC15A0C0751314C0341312C06A +:102F0000611110C08091BF01F8018583C8010E9442 +:102F1000531586E0EAEBF1E0DF011D928A95E9F7AF +:102F2000FE2C8AC04D875E878D859E856A8B0E94A8 +:102F300092156A89882309F4BECF662309F4BBCFB2 +:102F40002091BF01822F82958F7090E002970CF440 +:102F50008ECF8091BA019091BB019A8389831B82A5 +:102F6000DD82CC822E83CE0101967FCF8095909515 +:102F70008C0D9D1DACCFF62E662309F49CCF7513E6 +:102F80002EC034132CC02091BF0120FD1FC0822F02 +:102F900082958F70D9F0D80115962C9315978F30A4 +:102FA00049F08F5F982F9295907F822F8F70892B99 +:102FB00015968C93C8010E94531586E0F801AAEB80 +:102FC000B1E001900D928A95E1F793CF86E0F80188 +:102FD000AAEBB1E001900D928A95E1F72DC04D87E3 +:102FE0005E878D859E850E949215811140CF8091CC +:102FF000BF0181608093BF01C8010E9453151CC0AE +:10300000662309F458CF4D875E878D859E850E9483 +:103010009215882309F44FCF2ACF811148CF0CC0D5 +:10302000243031050CF047CF9F7009F440CFF801F0 +:103030009581907F09F03BCF8F2D62960FB6F89463 +:10304000DEBF0FBECDBFDF91CF911F910F91FF90DB +:10305000EF90DF90CF9008951F93CF93DF93CDB77C +:10306000DEB72C970FB6F894DEBF0FBECDBF4F83EF +:10307000588769877A878B879C87CE0107960E943D +:103080006516882369F08F8198852A853B85232BD7 +:10309000F1F19F3F09F063C08F3F09F060C037C076 +:1030A00086E0FE013796DE01119601900D928A9519 +:1030B000E1F76F817885EA85FB85309741F17F3FA5 +:1030C00011F46F3F21F12091890130E0C90101968F +:1030D000877099274091880150E08417950709F47B +:1030E00047C069837A83FD83EC8396E0929FD00189 +:1030F000939FB00D1124A657BE4FFE01319601904B +:103100000D929A95E1F7809389010E94DB1516E0F4 +:1031100080918801909189018917C1F1189FC001A0 +:10312000112486579E4F0E946516882379F1E091FD +:1031300088011E9FF0011124E657FE4F4081518106 +:1031400062817381848195810E94CB158091880171 +:1031500090E001968770992780938801D9CF4F819D +:10316000588569857A858B859C850E94CB15CFCF44 +:103170000E948E151092890110928801EAEBF1E00D +:1031800086E0DF011D928A95E9F7C1CF2C960FB634 +:10319000F894DEBF0FBECDBFDF91CF911F91089590 +:1031A000EF92FF920F931F93CF93DF938C010097C1 +:1031B00009F46CC0F12CEE24E394E8012196F801A7 +:1031C0008491843740F4843008F051C0813081F01C +:1031D000823019F15BC0853709F444C0A8F19CE73F +:1031E000980F903708F052C08F770E94D91241C0D3 +:1031F0000E5F1F4FFE01C49180E28C0F883048F4AF +:10320000C7708E2D01C0880FCA95EAF70E94AC1BCB +:1032100014C08C2F0E9411122DC00E5F1F4FFE0193 +:10322000C49180E28C0F883058F4C7708E2D01C095 +:10323000880FCA95EAF70E94B21B0E94D31B1AC0DE +:103240008C2F0E94D91216C00E5F1F4FFE01C49131 +:10325000CC2381F08FE99FE00197F1F700C00000D7 +:10326000C150F6CF0E5F1F4FFE01F49003C00E94C5 +:1032700011128E018F2D882309F49FCFEFE9FFE013 +:103280003197F1F700C000008150F5CFDF91CF9169 +:103290001F910F91FF90EF90089508956093C401DE +:1032A0007093C5018093C6019093C7010C947A1561 +:1032B0000F931F930091C4011091C5012091C60185 +:1032C0003091C701DC01CB01802B912BA22BB32BBA +:1032D0008093C4019093C501A093C601B093C70128 +:1032E0001F910F910C947A150F931F930091C401B5 +:1032F0001091C5012091C6013091C701DC01CB01BD +:1033000080239123A223B3238093C4019093C5010A +:10331000A093C601B093C7011F910F910C947A1529 +:103320000F931F930091C4011091C5012091C60114 +:103330003091C701DC01CB0180279127A227B32759 +:103340008093C4019093C501A093C601B093C701B7 +:103350001F910F910C947A151092C0011092C10127 +:103360001092C2011092C3010C947A1541E050E012 +:1033700060E070E004C0440F551F661F771F8A95F8 +:10338000D2F74093C0015093C1016093C201709382 +:10339000C3010C947A1541E050E060E070E004C095 +:1033A000440F551F661F771F8A95D2F78091C00181 +:1033B0009091C101A091C201B091C301482B592B3A +:1033C0006A2B7B2B4093C0015093C1016093C201D3 +:1033D0007093C3010C947A1541E050E060E070E016 +:1033E00004C0440F551F661F771F8A95D2F740957A +:1033F0005095609570958091C0019091C101A09108 +:10340000C201B091C301482359236A237B2340930F +:10341000C0015093C1016093C2017093C3010C9429 +:103420007A1541E050E060E070E004C0440F551FA1 +:10343000661F771F8A95D2F78091C0019091C101D4 +:10344000A091C201B091C301482759276A277B2761 +:103450004093C0015093C1016093C2017093C301B6 +:103460000C947A150F931F930091C0011091C10124 +:103470002091C2013091C301DC01CB01802B912B43 +:10348000A22BB32B8093C0019093C101A093C201E2 +:10349000B093C3011F910F910C947A150F931F9352 +:1034A0000091C0011091C1012091C2013091C3016E +:1034B000DC01CB0180239123A223B3238093C0019D +:1034C0009093C101A093C201B093C3011F910F91CA +:1034D0000C947A150F931F930091C0011091C101B4 +:1034E0002091C2013091C301DC01CB0180279127DB +:1034F000A227B3278093C0019093C101A093C2017A +:10350000B093C3011F910F910C947A150895CF9237 +:10351000DF92EF92FF920F931F93CF93DF938C0173 +:10352000C090C401D090C501E090C601F090C701E1 +:103530008091C0019091C101A091C201B091C301DD +:10354000C82AD92AEA2AFB2ACFE1D0E0D701C6014E +:103550000C2E04C0B695A795979587950A94D2F737 +:1035600080FF06C0B8018C2F0E94E007019721F46C +:10357000219760F780E001C08C2FDF91CF911F91E0 +:103580000F91FF90EF90DF90CF900895CF93DF934E +:10359000EC010E94871ABE010E94E007DF91CF91E3 +:1035A0000895CB010E94C61A08958091C80185959F +:1035B0008595859508958091C8018770089598E054 +:1035C000899F90011124262B2093C8010C94CB19BC +:1035D0002091C801809582238093C801982F97700D +:1035E00069F430E0482F552747FD509524173507DB +:1035F00029F08595859585950C94EC190895909101 +:10360000C801977081E009F480E0089590910C0161 +:10361000992321F090910D01911109C020910E0183 +:1036200030910F01F90132969FEF40E01FC0982FB3 +:103630009695969596959F3050F5E0910E01F091F4 +:103640000F01E90FF11D877021E030E0A90102C0F0 +:10365000440F551F8A95E2F7CA019181892B818316 +:1036600008959F3F39F04F5F4E3041F0519158130C +:10367000F8CF0DC05111F7CF942FF5CF9F3F39F000 +:10368000F901E90FF11D97FDFA95828308950895D8 +:1036900090910C01992321F090910D01911109C095 +:1036A00020910E0130910F01F9013296205F3F4FBA +:1036B0001FC0982F9695969596959F30F0F4E091BF +:1036C0000E01F0910F01E90FF11D877021E030E04C +:1036D000A90102C0440F551F8A95E2F7CA018095DF +:1036E00091818923818308953196E217F30729F0A8 +:1036F00090819813F9CF1082F7CF089581E090E080 +:10370000E0910E01F0910F01E80FF91F1082019670 +:1037100080319105A9F708959091DC01892B809360 +:10372000DC01089580959091DC0189238093DC0170 +:1037300008951092DC0108959091DB01892B80930C +:10374000DB01089580959091DB0189238093DB0153 +:1037500008951092DB0108959091DA01892B8093EE +:10376000DA01089580959091DA0189238093DA0136 +:1037700008951092DA0108958093C9010895109276 +:10378000C901089580910E0190910F01FC013196BD +:103790009C01205F3F4F80E0919191118F5FE21774 +:1037A000F307D1F70895E0910E01F0910F01809198 +:1037B000DC018083E0910E01F0910F0190818091F6 +:1037C000DB01892B8083E0910E01F0910F01908144 +:1037D0008091DA01892B80838091C901882361F06F +:1037E000E0910E01F0910F019081892B80830E945E +:1037F000C21B81111092C90180910E0190910F019D +:103800000C94011120E0009739F0AC0141505109AE +:10381000842395232F5FF7CF822F0895CF92DF92D5 +:10382000EF92FF926C01EE24FF24C114D104E10455 +:10383000F10421F0C701B60120E101C020E0C72E4C +:10384000D82EE92EFF24C114D104E104F10419F0AB +:10385000285FC701B6016B017C0154E0F694E79440 +:10386000D794C7945A95D1F7C114D104E104F10457 +:1038700019F02C5FC701B6016B017C0142E0F694A0 +:10388000E794D794C7944A95D1F7C114D104E104C1 +:10389000F10419F02E5FC701B601DC01CB01B6952A +:1038A000A79597958795892B8A2B8B2B09F02F5FEE +:1038B000822FFF90EF90DF90CF9008958091F601D6 +:1038C000843021F11092DE0120E488E190E00FB60F +:1038D000F894A895809360000FBE2093600080E06C +:1038E0000E94F20983B7817F846083BF83B78160C0 +:1038F00083BF7894889583B78E7F83BF88E10FB6A6 +:10390000F89480936000109260000FBE08950895AF +:103910000E944F030E9462030E94871C0E9457046A +:1039200091E0811101C090E0892F08950E948E15C9 +:103930000E94F5100C94F20982E084BD93E095BDDD +:103940009AEF97BD80936E0008952FB7F8948091F9 +:10395000DF019091E001A091E101B091E2012FBF60 +:103960000895CF92DF92EF92FF920F931F932FB79C +:10397000F8944091DF015091E0016091E101709174 +:10398000E2012FBF6A017B01EE24FF248C0120E0BD +:1039900030E0C016D106E206F30610F4415051099A +:1039A0009A01281B390BC9011F910F91FF90EF90CD +:1039B000DF90CF9008951F920F920FB60F921124AF +:1039C0008F939F93AF93BF938091DF019091E0011C +:1039D000A091E101B091E2010196A11DB11D80937A +:1039E000DF019093E001A093E101B093E201BF9168 +:1039F000AF919F918F910F900FBE0F901F901895D0 +:103A00000E94F20DF8942FEF87EA91E62150804052 +:103A10009040E1F700C0000087E090EBDC0180936C +:103A2000FF0190930002A0930102B09302029CE078 +:103A300088E10FB6F894A895809360000FBE90932C +:103A40006000FFCF0E945A1D811102C00E94401DDC +:103A50000E94651D8093DD010E946D1D90E0909392 +:103A6000F1018093F00187FB882780F980930D0195 +:103A70000E94691D682F70E080E090E00C944E1960 +:103A80006DEE7EEF80E090E00E94A82360E082E08F +:103A900090E00E94962360E083E090E00E949623ED +:103AA00060E084E090E00E94962360E085E090E092 +:103AB0000C94962380E090E00E94902321E08D3EBC +:103AC0009E4F09F020E0822F089582E090E00C9450 +:103AD000882383E090E00C94882384E090E00C94A9 +:103AE0008823682F84E090E00C9496238091E50170 +:103AF00080FF0BC06091130185E0689FB001112425 +:103B000075956795759567952BC081FF09C0609184 +:103B1000130185E0689FB00111247595679520C059 +:103B200082FF07C06091130185E0689FB0011124F6 +:103B300017C09091E6019923D1F060911201961778 +:103B400088F72091130185E0289F90011124929F0E +:103B5000A001939F500D112470E0CA010E945A23C6 +:103B60006038710540F46115710539F002C065E0F7 +:103B700070E0862F08958FE7089581E00895809181 +:103B8000E50180FF08C06091110170E075956795AF +:103B90007595679521C081FF06C06091110170E0A5 +:103BA0007595679519C082FF04C06091110170E09E +:103BB00010C09091E6019923C1F060911001961711 +:103BC000A0F780911101899FC001112470E00E942B +:103BD0005A236038710528F46115710521F0862F8C +:103BE00008958FE7089581E0089561E070E0F4CFD3 +:103BF000803F21F40E94761D819504C0813F29F405 +:103C00000E94761D8093E9010895823F21F40E946D +:103C1000761D819504C0833F29F40E94761D809310 +:103C2000E8010895893F19F40E94BF1D05C08A3F2D +:103C300031F40E94BF1D81958093EA0108958B3F66 +:103C400021F40E94BF1D819504C08C3F29F40E947D +:103C5000BF1D8093EB010895843F21F48091E7011B +:103C6000816017C0853F21F48091E701826011C017 +:103C7000863F21F48091E70184600BC0873F21F4E7 +:103C80008091E701886005C0883F31F48091E701A9 +:103C900080618093E70108958D3F21F48091E501D3 +:103CA00081600BC08E3F21F48091E501826005C0E8 +:103CB0008F3F29F48091E50184608093E5010895A8 +:103CC000803F39F48091E90187FF6CC01092E901CF +:103CD00069C0813F29F48091E9011816BCF362C0E4 +:103CE0009091E801823F29F497FF5CC01092E801AF +:103CF00059C0833F19F41916CCF354C0893F41F4DD +:103D00008091EA0118160CF04DC01092EA014AC0E9 +:103D10008A3F29F48091EA0187FF44C0F6CF8B3FA8 +:103D200039F48091EB0187FF3DC01092EB013AC05E +:103D30008C3F29F48091EB011816BCF333C0843F0B +:103D400021F48091E7018E7F17C0853F21F4809197 +:103D5000E7018D7F11C0863F21F48091E7018B7FC1 +:103D60000BC0873F21F48091E701877F05C0883F22 +:103D700031F48091E7018F7E8093E70113C08D3F7E +:103D800021F48091E5018E7F0BC08E3F21F480915C +:103D9000E5018D7F05C08F3F29F48091E5018B7F80 +:103DA0008093E5018091E80181110EC08091E901C5 +:103DB00081110AC08091EA01811106C08091EB0156 +:103DC000811102C01092E601089587EE91E00E94F1 +:103DD0000C110E94A51C9093E4018093E3010895C7 +:103DE0001F93CF93DF938091E3019091E4010E94B0 +:103DF000B11CAC019091E601992321F020911401AE +:103E000030E006C0209115018AE0289F900111241E +:103E10004217530708F486C08091E801C091E90178 +:103E2000D091EA011091EB01811107C0C11176C058 +:103E3000D11174C0111172C075C09F3F19F09F5FFE +:103E40009093E601181624F40E94761D8093E801F1 +:103E50008091E80187FF05C00E94761D81958093BF +:103E6000E8011C1624F40E94761D8093E9018091DC +:103E7000E90187FF05C00E94761D81958093E901C5 +:103E80006091E801662339F1C091E901CC2319F171 +:103E9000772767FD7095872F972F0E946B2223E36A +:103EA00033E343E35FE30E94CF220E943822609312 +:103EB000E8016C2F772767FD7095872F972F0E9459 +:103EC0006B2223E333E343E35FE30E94CF220E94AC +:103ED00038226093E9011D1624F40E94BF1D8093CF +:103EE000EA018091EA0187FF05C00E94BF1D81950C +:103EF0008093EA01111624F40E94BF1D8093EB0108 +:103F00008091EB0187FF05C00E94BF1D81958093C2 +:103F1000EB01DF91CF911F910C94E51E9F3F09F0BB +:103F20008ECF96CFDF91CF911F910895E7EEF1E00C +:103F300085E0DF011D928A95E9F71092E601109263 +:103F4000E5010895833081F128F4813059F0823001 +:103F5000D1F00895853009F449C0B8F1863009F4EC +:103F600056C0089580911501262F30E0280F311D8D +:103F70002F3F310524F4680F6093150108958FEFEA +:103F800080931501089580911401262F30E0280FA9 +:103F9000311D2F3F310524F4680F609314010895FB +:103FA0008FEF80931401089580911301262F30E044 +:103FB000280F311D2F3F310524F4680F6093130142 +:103FC00008958FEF80931301089580911201262F99 +:103FD00030E0280F311D2F3F310524F4680F609326 +:103FE000120108958FEF80931201089580911101BD +:103FF000262F30E0280F311D2F3F310524F4680FA4 +:104000006093110108958FEF8093110108958091BD +:104010001001262F30E0280F311D2F3F310524F4E9 +:10402000680F6093100108958FEF80931001089539 +:10403000833011F128F4813049F0823091F00895F5 +:10404000853081F120F18630C1F10895809115010C +:10405000681720F4861B80931501089510921501AE +:10406000089580911401681720F4861B8093140131 +:10407000089510921401089580911301681720F497 +:10408000861B809313010895109213010895809167 +:104090001201681720F4861B809312010895109274 +:1040A0001201089580911101681720F4861B8093F6 +:1040B000110108951092110108958091100168175F +:1040C00020F4861B8093100108951092100108952A +:1040D0000F931F938D3109F471C008F045C08031F2 +:1040E00009F485C008F5873009F46FC068F486309C +:1040F00009F0ADC08091DD01817F8E7F8093DD016D +:1041000081E08093ED01A4C08B3009F49EC08E3015 +:1041100009F09DC08091DD0182FB222720F991E00A +:10412000922790FB82F96CC0863109F48EC060F44E +:10413000813109F08CC00E948E1590910D0181E0B3 +:10414000892780930D0181C0893109F47EC08B31AC +:1041500009F07DC08091DD0181FB222720F991E0EB +:10416000922790FB81F94CC0853309F466C048F46E +:10417000873209F462C008F44FC0893209F45DC087 +:1041800066C0833438F48A3308F044C0883309F4B5 +:104190005CC05DC0833409F450C0883409F057C056 +:1041A0000E948E150FEF13ED20E3015010402040C8 +:1041B000E1F700C000000E94001D47C00E94F221EC +:1041C0000E94F5100E94F20940C09091DD01892FF4 +:1041D0008095817080FB90F929F0966098609093AB +:1041E000DD0136C0997F977F9093DD012EC08091CD +:1041F000DD0183FB222720F991E0922790FB83F9D0 +:104200008093DD01992309F18091DD018160809324 +:10421000DD011BC0895301C08D5141E050E060E0D9 +:1042200070E08A019B0104C0000F111F221F331F81 +:104230008A95D2F7C901B80104C061E070E080E05E +:1042400090E00E944E190E948E1581E001C080E02E +:104250001F910F91089580E0089580E008958E5198 +:104260008A3030F4E82FF0E0E65DFE4F808108955B +:1042700080E00895CF93C82F8091ED01813079F0CF +:1042800018F08230E9F186C0E0910E01F0910F0143 +:104290008081813169F0823209F07EC009C0E091ED +:1042A0000E01F0910F018081813111F0823261F4B1 +:1042B0008C2F0E942B21811104C08C2F0E9468201A +:1042C0001DC081E090E01AC08C2F0E942D21811129 +:1042D00014C0C43179F048F4CB3079F0C03109F022 +:1042E0005FC082E08093ED0108C0C93219F0C83385 +:1042F00021F056C01092ED0153C081E0817052C090 +:10430000C93281F110F5C43169F1A8F4C73009F060 +:1043100045C08AE08093150194E19093140193E0E5 +:10432000909313018093120188E08093110188E239 +:104330008093100133C082EE8C0F863078F58C2F7D +:104340000E942F218093EC0129C0CE34E9F020F4A3 +:10435000CB3421F56AE013C0C13579F0C235F1F4F0 +:1043600061E00DC08091EC01882319F01092EC01FE +:1043700015C081E08093ED0115C061E006C0809119 +:10438000EC010E94A21F0AC06AE08091EC010E9429 +:10439000182004C01092ED0180E004C081E002C04A +:1043A00080E0ACCFCF910895E1E8F0E080818860B3 +:1043B00080838081816080838FB7F89493E09093AD +:1043C000890090ED909388008FBF0895EFE6F0E0AC +:1043D0008081826080830895EFE6F0E080818D7FA8 +:1043E00080830895EFE6F0E0908182E08927808362 +:1043F00008951F920F920FB60F9211242F933F939F +:104400004F935F936F937F938F939F93AF93BF93DC +:10441000EF93FF938091EE019091EF0101969093BD +:10442000EF018093EE01811103C082E00E94F20946 +:10443000E091EF01E695E695F0E0EB54FB4FE49157 +:104440008091EE018E1303C080E00E94F209FF917B +:10445000EF91BF91AF919F918F917F916F915F91FC +:104460004F913F912F910F900FBE0F901F90189575 +:1044700004D06894B1118DC0089570D088F09F5712 +:1044800090F0B92F9927B751A0F0D1F0660F771FA0 +:10449000881F991F1AF0BA95C9F712C0B13081F080 +:1044A00077D0B1E0089574C0672F782F8827B85F60 +:1044B00039F0B93FCCF3869577956795B395D9F7E1 +:1044C0003EF490958095709561957F4F8F4F9F4FEB +:1044D0000895E89409C097FB3EF4909580957095F7 +:1044E00061957F4F8F4F9F4F9923A9F0F92F96E940 +:1044F000BB279395F695879577956795B795F111B5 +:10450000F8CFFAF4BB0F11F460FF1BC06F5F7F4F51 +:104510008F4F9F4F16C0882311F096E911C0772363 +:1045200021F09EE8872F762F05C0662371F096E86C +:10453000862F70E060E02AF09A95660F771F881F3B +:10454000DAF7880F9695879597F9089557FD905853 +:10455000440F551F59F05F3F71F04795880F97FB47 +:10456000991F61F09F3F79F0879508951216130601 +:104570001406551FF2CF4695F1DF08C01616170630 +:104580001806991FF1CF8695710561050894089565 +:10459000E894BB2766277727CB0197F908950BD0BE +:1045A00078C069D028F06ED018F0952309F05AC071 +:1045B0005FC01124EECFCADFA0F3959FD1F3950F12 +:1045C00050E0551F629FF001729FBB27F00DB11D97 +:1045D000639FAA27F00DB11DAA1F649F6627B00D27 +:1045E000A11D661F829F2227B00DA11D621F739F10 +:1045F000B00DA11D621F839FA00D611D221F749F1E +:104600003327A00D611D231F849F600D211D822F64 +:10461000762F6A2F11249F5750408AF0E1F08823AB +:104620004AF0EE0FFF1FBB1F661F771F881F9150B8 +:104630005040A9F79E3F510570F014C0AACF5F3FCC +:10464000ECF3983EDCF3869577956795B795F795EB +:10465000E7959F5FC1F7FE2B880F911D9695879573 +:1046600097F9089597F99F6780E870E060E00895F2 +:104670009FEF80EC089500240A941616170618067A +:104680000906089500240A94121613061406050656 +:104690000895092E0394000C11F4882352F0BB0FE7 +:1046A00040F4BF2B11F460FF04C06F5F7F4F8F4F4A +:1046B0009F4F089597FB072E16F4009407D077FDBF +:1046C00009D00E94742307FC05D03EF49095819593 +:1046D0009F4F0895709561957F4F0895EE0FFF1FCE +:1046E0000590F491E02D0994AA1BBB1B51E107C072 +:1046F000AA1FBB1FA617B70710F0A61BB70B881F72 +:10470000991F5A95A9F780959095BC01CD01089500 +:10471000F999FECF92BD81BDF89A992780B5089589 +:10472000A8E1B0E042E050E00C94B023262FF999C4 +:10473000FECF92BD81BDF89A019700B4021639F000 +:104740001FBA20BD0FB6F894FA9AF99A0FBE0895D1 +:104750000196272F0E9497230C949623DC01CB010E +:10476000FC01F999FECF06C0F2BDE1BDF89A319681 +:1047700000B40D9241505040B8F70895F894FFCF1F +:104780000220F409820A5F0A2B0AF7090101CA0113 +:1047900028080A03140A404D363975042804F20328 +:1047A000B9034C0365037E03970301020304050666 +:0447B00007080900ED +:00000001FF diff --git a/keyboards/ergodox_ez/keymaps/dvorak_spanish/keymap.c b/keyboards/ergodox_ez/keymaps/dvorak_spanish/keymap.c new file mode 100755 index 0000000000..6eb864b447 --- /dev/null +++ b/keyboards/ergodox_ez/keymaps/dvorak_spanish/keymap.c @@ -0,0 +1,284 @@ +#include "ergodox_ez.h" +#include "debug.h" +#include "action_layer.h" + +/****************************************************************************************** + * SPANISH DVORAK LAYOUT (see http://djelibeibi.unex.es/dvorak/) + * Layer 1: auxiliary keys + * Layer 2: full qwerty layout + ****************************************************************************************** + * IMPORTANT: Software layout must be set to SPANISH QWERTY to work properly + *****************************************************************************************/ + +// LAYERS +#define BASE 0 // dvorak layout (default) +#define AUX 1 // auxiliary keys +#define QWERTY 2 // qwerty layout + +// MACROS +#define OBRACE 0 // key { or shift +#define CBRACE 1 // key } or shift +#define OBRACK 2 // key [ or left alt +#define CBRACK 3 // key ] or left alt +#define CAPS 4 // caps lock + +// LEDS +#define USB_LED_NUM_LOCK 0 +#define USB_LED_CAPS_LOCK 1 +#define USB_LED_SCROLL_LOCK 2 +#define USB_LED_COMPOSE 3 +#define USB_LED_KANA 4 + +// TIMERS +#define KEY_TAP_FAST 85 +#define KEY_TAP_SLOW 95 + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +/* Keymap 0: Base layer + * Keys with double values (like Esc/Ctrl) correspond to the 'tapped' key and the 'held' key, respectively + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | \ | 1 | 2 | 3 | 4 | 5 | <> | | ¡ | 6 | 7 | 8 | 9 | 0 | ' | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | F1/~L1 | . | , | Ñ | P | Y |MEH_T | | L1 | F | G | C | H | L |ALL_T/+ | + * |--------+------+------+------+------+------| DEL | | ~L1 |------+------+------+------+------+--------| + * |Esc/Ctrl| A | O | E | U | I |------| |------| D | R | T | N | S |'/RCtrl | + * |--------+------+------+------+------+------| LGUI | | RALT |------+------+------+------+------+--------| + * | {/LSft | - | Q | J | K | X | | | | B | M | W | V | Z | }/RSft | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * |[/LALT| HOME |PGDOWN| PGUP | END | | LEFT | DOWN | UP |RIGHT |]/LALT| + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * |F5/CAG|F6/~L1| |F7/~L1|F8/CAG| + * ,------|------|------| |------+--------+------. + * | | |F4/CA | |F11/CA| | | + * | ENTER| TAB |------| |------| BSPC | SPACE| + * | | |F3/SA | |F12/SA| | | + * `--------------------' `----------------------' + * CAG = CTRL-ALT-GUI + * CA = CTRL-ALT + * SA = SHIFT-ALT + * + */ +[BASE] = KEYMAP( + // left hand + KC_GRAVE, KC_1, KC_2, KC_3, KC_4, KC_5, KC_NONUS_BSLASH, + LT(AUX, KC_F1), KC_DOT, KC_COMM,KC_SCLN,KC_P, KC_Y, MEH_T(KC_DEL), + CTL_T(KC_ESC), KC_A, KC_O, KC_E, KC_U, KC_I, + M(OBRACE), KC_SLSH,KC_Q, KC_J, KC_K, KC_X, KC_LGUI, + M(OBRACK), KC_HOME,KC_PGDN,KC_PGUP,KC_END, + LCAG_T(KC_F5), LT(AUX, KC_F6), + MT((MOD_LALT | MOD_LCTL), KC_F4), + KC_ENT,KC_TAB,MT((MOD_LALT | MOD_LSFT), KC_F3), + // right hand + KC_EQL, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINUS, + KC_FN1, KC_F, KC_G, KC_C, KC_H, KC_L, ALL_T(KC_RBRACKET), + KC_D, KC_R, KC_T, KC_N, KC_S, CTL_T(KC_QUOTE), + KC_RALT, KC_B, KC_M, KC_W, KC_V, KC_Z, M(CBRACE), + KC_LEFT,KC_DOWN,KC_UP, KC_RGHT,M(CBRACK), + LT(AUX, KC_F7), LCAG_T(KC_F8), + MT((MOD_LALT | MOD_LCTL), KC_F11), + MT((MOD_LALT | MOD_LSFT), KC_F12),KC_BSPC, KC_SPC + ), +/* Keymap 1: Aux layer + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | | F1 | F2 | F3 | F4 | F5 | SLEEP | PWR | F6 | F7 | F8 | F9 | F10 | F11 | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | | < | > | MsUp | | | | | ~L0 | | 7 | 8 | 9 | * | `^ | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | |MsLeft|MsDown|MsRght| |------| |------| | 4 | 5 | 6 | + | Ç | + * |--------+------+------+------+------+------| | |PSCR |------+------+------+------+------+--------| + * |CAPSLOCK| | | | | | | | | | 1 | 2 | 3 | / | | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * |CTRL-S|CTRL-Z|CTRL-X|CTRL-C|CTRL-V| | | . | 0 | = | | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | | | | | Play | + * ,------|------|------| |------+------+------. + * | | | | | VolUp| | | + * | Lclk | Rclk |------| |------| Prev | Next | + * | | | L2 | | VolDn| | | + * `--------------------' `--------------------' + */ +[AUX] = KEYMAP( + // left hand + KC_NO , KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_SLEP, + KC_TRNS, KC_NONUS_BSLASH, LSFT(KC_NONUS_BSLASH), KC_MS_U, KC_NO, KC_NO, KC_NO, + KC_NO , KC_NO, KC_MS_L, KC_MS_D, KC_MS_R, KC_NO , + M(CAPS), KC_NO, KC_NO , KC_NO , KC_NO , KC_NO , KC_NO, + LCTL(KC_S), LCTL(KC_Z), LCTL(KC_X), LCTL(KC_C), LCTL(KC_V), + KC_NO , KC_TRNS, + KC_NO, + KC_BTN1, KC_BTN2, TG(QWERTY), + // right hand + KC_PWR, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, + KC_TRNS, KC_NO, KC_7, KC_8, KC_9, KC_PAST, KC_LBRACKET, + KC_NO, KC_4, KC_5, KC_6, KC_PPLS, KC_BSLASH, + KC_PSCR, KC_NO, KC_1, KC_2, KC_3, KC_PSLS, KC_NO, + KC_NO ,KC_DOT, KC_0, KC_PEQL, KC_NO, + KC_TRNS, KC_MPLY, + KC_VOLU, + KC_VOLD, KC_MPRV, KC_MNXT +), +/* Keymap 2: QWERTY layer + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | \ | 1 | 2 | 3 | 4 | 5 | <> | | ¡ | 6 | 7 | 8 | 9 | 0 | ' | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | TRANS | Q | W | E | R | T |MEH_T | | TRANS| Y | U | I | O | P |ALL_T/+ | + * |--------+------+------+------+------+------| DEL | | |------+------+------+------+------+--------| + * |Esc/Ctrl| A | S | D | F | G |------| |------| H | J | K | L | Ñ |'/RCtrl | + * |--------+------+------+------+------+------| LGUI | | RALT |------+------+------+------+------+--------| + * | {/LSft | Z | X | C | V | B | | | | N | M | , | . | - | }/RSft | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * |[/LALT| HOME |PGDOWN| PGUP | END | | LEFT | DOWN | UP |RIGHT |]/LALT| + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * |F5/CAG| TRANS| | TRANS|F8/CAG| + * ,------|------|------| |------+--------+------. + * | | |F4/CA | |F11/CA| | | + * | ENTER| TAB |------| |------| BSPC | SPACE| + * | | | TRANS| |F12/SA| | | + * `--------------------' `----------------------' + * CAG = CTRL-ALT-GUI + * CA = CTRL-ALT + * SA = SHIFT-ALT + * + */ +[QWERTY] = KEYMAP( + // left hand + KC_GRAVE, KC_1, KC_2, KC_3, KC_4, KC_5, KC_NONUS_BSLASH, + KC_TRNS, KC_Q, KC_W, KC_E, KC_R, KC_T, MEH_T(KC_DEL), + CTL_T(KC_ESC), KC_A, KC_S, KC_D, KC_F, KC_G, + M(OBRACE), KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LGUI, + M(OBRACK), KC_HOME,KC_PGDN,KC_PGUP,KC_END, + LCAG_T(KC_F5), KC_TRNS, + MT((MOD_LALT | MOD_LCTL), KC_F4), + KC_ENT,KC_TAB,KC_TRNS, + // right hand + KC_EQL, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINUS, + KC_TRNS, KC_Y, KC_U, KC_I, KC_O, KC_P, ALL_T(KC_RBRACKET), + KC_H, KC_J, KC_K, KC_L, KC_SCLN,CTL_T(KC_QUOTE), + KC_RALT, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH,M(CBRACE), + KC_LEFT,KC_DOWN,KC_UP, KC_RGHT,M(CBRACK), + KC_TRNS, LCAG_T(KC_F8), + MT((MOD_LALT | MOD_LCTL), KC_F11), + MT((MOD_LALT | MOD_LSFT), KC_F12),KC_BSPC, KC_SPC +), +}; + +const uint16_t PROGMEM fn_actions[] = { + [1] = ACTION_LAYER_TAP_TOGGLE(AUX) // FN1 - Momentary Layer 1 (Aux) +}; + +static uint16_t key_timer; + +const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) +{ + switch(id) { + case OBRACE: { + if (record->event.pressed) { + key_timer = timer_read(); + register_code(KC_RSFT); + } else { + unregister_code(KC_RSFT); + if (timer_elapsed(key_timer) < KEY_TAP_SLOW) { + register_code(KC_RALT); + register_code(KC_QUOTE); + unregister_code(KC_QUOTE); + unregister_code(KC_RALT); + } + } + break; + } + case CBRACE: { + if (record->event.pressed) { + key_timer = timer_read(); + register_code(KC_RSFT); + } else { + unregister_code(KC_RSFT); + if (timer_elapsed(key_timer) < KEY_TAP_SLOW) { + register_code(KC_RALT); + register_code(KC_BSLS); + unregister_code(KC_BSLS); + unregister_code(KC_RALT); + } + } + break; + } + case OBRACK: { + if (record->event.pressed) { + key_timer = timer_read(); + register_code(KC_LALT); + } else { + unregister_code(KC_LALT); + if (timer_elapsed(key_timer) < KEY_TAP_SLOW) { + register_code(KC_RALT); + register_code(KC_LBRACKET); + unregister_code(KC_LBRACKET); + unregister_code(KC_RALT); + } + } + break; + } + case CBRACK: { + if (record->event.pressed) { + key_timer = timer_read(); + register_code(KC_LALT); + } else { + unregister_code(KC_LALT); + if (timer_elapsed(key_timer) < KEY_TAP_SLOW) { + register_code(KC_RALT); + register_code(KC_RBRACKET); + unregister_code(KC_RBRACKET); + unregister_code(KC_RALT); + } + } + break; + } + case CAPS: { + if (record->event.pressed) { + register_code(KC_CAPSLOCK); + } else { + unregister_code(KC_CAPSLOCK); + } + break; + } + } + return MACRO_NONE; +}; + +// Runs just one time when the keyboard initializes. +void matrix_init_user(void) { + +}; + +// Runs constantly in the background, in a loop. +void matrix_scan_user(void) { + + uint8_t layer = biton32(layer_state); + + ergodox_board_led_off(); + ergodox_right_led_1_off(); + ergodox_right_led_2_off(); + ergodox_right_led_3_off(); + switch (layer) { + case 1: + ergodox_right_led_3_on(); + break; + case 2: + ergodox_right_led_2_on(); + break; + default: + // none + break; + } + + // Turn the caps lock led on + if (host_keyboard_leds() & (1<