summaryrefslogtreecommitdiff
path: root/keyboard/ergodox_ez/keymaps
diff options
context:
space:
mode:
Diffstat (limited to 'keyboard/ergodox_ez/keymaps')
-rw-r--r--keyboard/ergodox_ez/keymaps/colemak/colemak.hex1471
-rw-r--r--keyboard/ergodox_ez/keymaps/colemak/keymap.c184
-rw-r--r--keyboard/ergodox_ez/keymaps/colemak/readme.md4
-rw-r--r--keyboard/ergodox_ez/keymaps/jack/keymap.c69
-rw-r--r--keyboard/ergodox_ez/keymaps/osx_de/keymap.c299
-rw-r--r--keyboard/ergodox_ez/keymaps/osx_de/osx_de.hex44
-rw-r--r--keyboard/ergodox_ez/keymaps/osx_de_adnw_koy/keymap.c126
-rw-r--r--keyboard/ergodox_ez/keymaps/tm2030/README.md136
-rw-r--r--keyboard/ergodox_ez/keymaps/tm2030/keymap.c258
-rw-r--r--keyboard/ergodox_ez/keymaps/tm2030/keymap.hex1544
-rw-r--r--keyboard/ergodox_ez/keymaps/tonyabra_osx/keymap.c184
-rw-r--r--keyboard/ergodox_ez/keymaps/tonyabra_osx/readme.md5
-rw-r--r--keyboard/ergodox_ez/keymaps/tonyabra_osx/tonyabra_osx.hex1471
13 files changed, 5643 insertions, 152 deletions
diff --git a/keyboard/ergodox_ez/keymaps/colemak/colemak.hex b/keyboard/ergodox_ez/keymaps/colemak/colemak.hex
new file mode 100644
index 0000000000..cd3bf781af
--- /dev/null
+++ b/keyboard/ergodox_ez/keymaps/colemak/colemak.hex
@@ -0,0 +1,1471 @@
+:100000000C9400070C9444070C9444070C94440788
+:100010000C9444070C9444070C9444070C94440734
+:100020000C9444070C9444070C9458120C942A1313
+:100030000C9444070C9444070C9444070C94440714
+:100040000C9444070C94002C0C9444070C94440723
+:100050000C9444070C94F8210C9444070C94440726
+:100060000C9444070C9444070C9444070C944407E4
+:100070000C9444070C9444070C9444070C944407D4
+:100080000C9444070C9444070C9444070C944407C4
+:100090000C9444070C9444070C9444070C944407B4
+:1000A0000C9444070C9444070C9444079713B91319
+:1000B000A714B913A714FE132114A71476148914D6
+:1000C000D017D017FF17FF1742188018991A991ADE
+:1000D0009918991A9A199A196D1A991A991A841ACB
+:1000E0000000F0A12E004C002A00E1003581000044
+:1000F0001E00140004001D7134004D001F001A0082
+:1001000015001B00E1042A0020000900160006006B
+:1001100050002C0021001300170019004F004A0066
+:1001200022000A0007000500000065745000015419
+:100130000000007F0000E3004F0001540000007742
+:100140000000E20023000D000B000E0000002971EA
+:1001500024000F001100100052004B002500180071
+:10016000080036005100280026001C000C00370053
+:100170002F002B00270033001282387130004E0010
+:100180002D0031003400E500C10000000100010035
+:1001900001000100010000003A001E0220022202BC
+:1001A000010001003B001F022102230201000100A7
+:1001B0003C002F0226022F00010001003D0030020A
+:1001C00027023000010001003E00310235003502F7
+:1001D000000001000100010000000100000001001A
+:1001E0000100010000000100000001003F0052007A
+:1001F00051002402000001004000240021001E00E4
+:10020000010001004100250022001F00370001000D
+:1002100042002600230020002700010043002502A1
+:100220002E0231002E0001004400450001000100B3
+:1002300001000000010001000100010001000000B8
+:1002400001000100010001000100010001000100A6
+:10025000F2000100010001000100F000F1000100C6
+:10026000F400010001000100F3000100F5000100AD
+:100270000100010001000100000001000100010077
+:100280000000010000000100010001000000010069
+:100290000000010001000100010001000000010058
+:1002A0000100010001000100A9000100010001009E
+:1002B0000100AC00AA00B600010001000100AB0083
+:1002C000A80001000100010001000100010001007F
+:1002D00001000100AE000100010000000A0025300D
+:1002E000313662003A200025303258000A722F63FE
+:1002F0002030313233343536373839414243444582
+:10030000460A000A002530325800626F756E636538
+:10031000213A20006C6566742073696465206174FD
+:100320007461636865640A006C656674207369644F
+:1003300065206E6F7420726573706F6E64696E678E
+:100340000A00747279696E6720746F207265736534
+:1003500074206D637032333031380A000A444542EC
+:1003600055473A20656E61626C65642E0A005B73C6
+:100370005D004B6579626F617264207374617274A1
+:100380002E0A005B575D005B535D005B525D005BB6
+:10039000445D005B435D0016034500720067006F1B
+:1003A0000044006F007800200045005A000000164D
+:1003B000034500720067006F0044006F0078002062
+:1003C0000045005A0000000403090409028D0005DD
+:1003D0000100A0FA09040000010301010009211134
+:1003E000010001223F000705810308000A090401FA
+:1003F000000103010200092111010001224D000743
+:1004000005820308000A0904020001030000000934
+:1004100021110100012236000705830308000A09A3
+:100420000403000203000000092111010001222041
+:1004300000070584032000010705040320000109CB
+:100440000404000103000000092111010001223908
+:1004500000070585031000011201100100000008CB
+:10046000EDFE071301000102000105010906A101CB
+:10047000050719E029E71500250195087501810296
+:100480000508190129059505750191029501750366
+:100490009101050719002977150025019578750147
+:1004A0008102C00631FF0974A1010975150025FFFD
+:1004B0009520750881020976150025FF952075089D
+:1004C0009102C005010980A101850216010026B72D
+:1004D000001A01002AB700751095018100C0050CB3
+:1004E0000901A1018503160100269C021A01002AB8
+:1004F0009C02751095018100C005010902A1010946
+:1005000001A10005091901290515002501950575A9
+:100510000181029501750381010501093009311539
+:1005200081257F95027508810609381581257F95FB
+:100530000175088106050C0A38021581257F950191
+:1005400075088106C0C005010906A101050719E06B
+:1005500029E71500250195087501810295017508A7
+:10056000810105081901290595057501910295017B
+:10057000750391010507190029FF150025FF950650
+:1005800075088100C00A002530325820006B65795B
+:10059000626F6172645F7265706F72743A20000AF4
+:1005A0000025303258006B6579626F6172645F7349
+:1005B00065745F6C65643A200064656C5F6B657997
+:1005C0005F6269743A2063616E27742064656C3AD7
+:1005D00020253032580A006164645F6B65795F6280
+:1005E00069743A2063616E2774206164643A20253F
+:1005F0003032580A00646F6E652E0A00626F6F67B2
+:100600006D61676963207363616E3A202E2E2E2020
+:1006100000290A002575002F002575005D2800259A
+:10062000640020002564002000256400200025646B
+:10063000007C0025303258006D6F7573656B6579ED
+:10064000205B62746E7C782079207620685D287249
+:1006500065702F61636C293A205B006D6B5F776872
+:1006600065656C5F74696D655F746F5F6D6178203F
+:100670003D2025640A006D6B5F776865656C5F6D72
+:1006800061785F7370656564203D2025640A006DA4
+:100690006B5F74696D655F746F5F6D6178203D207D
+:1006A00025640A006D6B5F6D61785F7370656564CA
+:1006B000203D2025640A006D6B5F696E746572765B
+:1006C000616C203D2025640A006D6B5F64656C6180
+:1006D00079203D2025640A006D6B5F776865656C45
+:1006E0005F74696D655F746F5F6D6178203D202573
+:1006F000640A006D6B5F776865656C5F6D61785F3C
+:100700007370656564203D2025640A006D6B5F741D
+:10071000696D655F746F5F6D6178203D2025640AA7
+:10072000006D6B5F6D61785F7370656564203D205F
+:1007300025640A006D6B5F696E74657276616C206A
+:100740003D2025640A006D6B5F64656C6179203D16
+:100750002025640A000A00257500363A207768656E
+:10076000656C5F74696D655F746F5F6D61783A2069
+:10077000000A00257500353A20776865656C5F6D65
+:1007800061785F73706565643A20000A0025750022
+:10079000343A2074696D655F746F5F6D61783A20DB
+:1007A000000A00257500333A206D61785F7370652B
+:1007B00065643A20000A00257500323A20696E749B
+:1007C000657276616C286D73293A20000A002575E0
+:1007D00000313A2064656C6179282A31306D7329C3
+:1007E0003A20000A092D2056616C756573202D0A88
+:1007F000004D3E004D25643E20003F00736574208F
+:1008000064656661756C740A00433E200077686514
+:1008100072652064656C74613A20637572736F72DF
+:100820003D25642C20776865656C3D25640A536519
+:100830006520687474703A2F2F656E2E77696B6926
+:1008400070656469612E6F72672F77696B692F4DD0
+:100850006F7573655F6B6579730A000A092D204D0A
+:100860006F7573656B6579202D0A4553432F713A77
+:1008700009717569740A313A0964656C6179282ACD
+:1008800031306D73290A323A09696E746572766186
+:100890006C286D73290A333A096D61785F7370654E
+:1008A00065640A343A0974696D655F746F5F6D61E0
+:1008B000780A353A09776865656C5F6D61785F73B2
+:1008C000706565640A363A09776865656C5F7469B6
+:1008D0006D655F746F5F6D61780A0A703A097072B6
+:1008E000696E742076616C7565730A643A09736584
+:1008F000742064656661756C74730A75703A092BAF
+:10090000310A646F776E3A092D310A706775703A53
+:10091000092B31300A7067646F776E3A092D3130D8
+:100920000A0A7370656564203D2064656C746120FB
+:100930002A206D61785F7370656564202A202872B3
+:100940006570656174202F2074696D655F746F5FD9
+:100950006D6178290A003F004D3E2000433E200093
+:100960004C25640A000A092D20436F6E736F6C6575
+:10097000202D0A4553432F713A09717569740A6D28
+:100980003A096D6F7573656B65790A000A092D2048
+:100990004D61676963202D0A643A09646562756771
+:1009A0000A783A096465627567206D6174726978C6
+:1009B0000A6B3A096465627567206B6579626F61DD
+:1009C00072640A6D3A096465627567206D6F7573AC
+:1009D000650A763A0976657273696F6E0A733A0929
+:1009E0007374617475730A633A09636F6E736F6C25
+:1009F00065206D6F64650A302D343A096C61796544
+:100A000072302D34284631302D4634290A50617514
+:100A1000733A09626F6F746C6F616465720A653A4C
+:100A200009656570726F6D0A6E3A094E4B524F0A36
+:100A30007A3A09736C656570204C4544207465737F
+:100A4000740A000A002575002E6E6B726F3A200042
+:100A50000A002575002E737761705F6261636B73A6
+:100A60006C6173685F6261636B73706163653A2088
+:100A7000000A002575002E737761705F67726176DA
+:100A8000655F6573633A20000A002575002E6E6F5E
+:100A90005F6775693A20000A002575002E7377613B
+:100AA000705F72616C745F726775693A20000A004A
+:100AB0002575002E737761705F6C616C745F6C6775
+:100AC00075693A20000A002575002E636170736C09
+:100AD0006F636B5F746F5F636F6E74726F6C3A20DD
+:100AE000000A002575002E737761705F636F6E7466
+:100AF000726F6C5F636170736C6F636B3A20000A96
+:100B00000025303258006B65796D61705F636F6EE0
+:100B10006669672E7261773A20000A002575002EFB
+:100B20006D6F7573653A20000A002575002E6B65A0
+:100B300079626F6172643A20000A002575002E6D9B
+:100B400061747269783A20000A002575002E656E7E
+:100B500061626C653A20000A0025303258006465F5
+:100B60006275675F636F6E6669672E7261773A20A0
+:100B7000000A0025750064656661756C745F6C61C0
+:100B80007965723A20003F004E4B524F3A206F6613
+:100B9000660A004E4B524F3A206F6E0A0074696D20
+:100BA00065725F636F756E743A202530346C580A35
+:100BB000006B6579626F6172645F6E6B726F3A2071
+:100BC00025580A006B6579626F6172645F69646CB5
+:100BD000653A2025580A006B6579626F6172645F1F
+:100BE00070726F746F636F6C3A2025580A00686FDB
+:100BF00073745F6B6579626F6172645F6C65647357
+:100C000028293A2025580A000A092D2053746174B6
+:100C10007573202D0A004743433A20342E392E3273
+:100C2000204156522D4C4942433A20312E382E3124
+:100C3000204156525F415243483A20617672350A4C
+:100C4000004F5054494F4E533A204C554641204294
+:100C50004F4F544D41474943204D4F5553454B4508
+:100C6000592045585452414B455920434F4E534FFC
+:100C70004C4520434F4D4D414E44204E4B524F204A
+:100C80003531320A004255494C443A2061313864CA
+:100C9000636330202831343A30353A3534204A61A4
+:100CA0006E2032332032303136290A005649443A18
+:100CB00020307846454544284572676F446F782058
+:100CC000455A29205049443A20307831333037286A
+:100CD0004572676F446F7820455A29205645523A2D
+:100CE000203078303030310A00444553433A207484
+:100CF0002E6D2E6B2E206B6579626F61726420669B
+:100D000069726D7761726520666F72204572676FD8
+:100D1000646F780A000A092D2056657273696F6E38
+:100D2000202D0A000A6D6F7573653A206F66660A9A
+:100D3000000A6D6F7573653A206F6E0A000A6B6565
+:100D400079626F6172643A206F66660A000A6B65A9
+:100D500079626F6172643A206F6E0A000A6D617485
+:100D60007269783A206F66660A000A6D617472696A
+:100D7000783A206F6E0A000A64656275673A206FE0
+:100D80006E0A000A64656275673A206F66660A003B
+:100D90000A0A626F6F746C6F616465722E2E2E206A
+:100DA00000433E20006565636F6E6669673A0A001E
+:100DB000536C656570204C454420746573740A005B
+:100DC0000000000000000000000000010204060A0C
+:100DD0000F17202C3A4A5D71879DB3C7DAE9F5FCFD
+:100DE000FFFCF5E9DAC7B39D87715D4A3A2C2017FD
+:100DF0000F0A0604020100000000000000000000CD
+:100E000011241FBECFEFDAE0DEBFCDBF04B603FE74
+:100E100024C08091F9019091FA01A091FB01B09159
+:100E2000FC018730904BA740B04BB9F41092F90108
+:100E30001092FA011092FB011092FC0114BE84B7CB
+:100E4000877F84BF88E10FB6F8948093600010928A
+:100E500060000FBEE0E0FFE3099511E0A0E0B1E023
+:100E6000ECE9FBE502C005900D92AA33B107D9F772
+:100E700011E0AAE3B1E001C01D92A93FB107E1F77B
+:100E80000E94900F0C94CC2D0C940000FF93EF93D4
+:100E9000E0913A01F0913B01309709F00995EF910B
+:100EA000FF910895FC018591803011F0EFDFFBCFB9
+:100EB0000895FF27E0E230E247FF0CC0419597FF1D
+:100EC00009C0EDE26095709580959095611D711D4A
+:100ED000811D911D27FF02C0219530E350E2AA2712
+:100EE000660F771F881F991FAA1FA41710F0A41B55
+:100EF00063955A95A9F7AA3008F0A95FA05DAF9352
+:100F0000F395611571058105910541F7ED3211F4F5
+:100F1000EF93F395F21718F43F93F395FBCF8F916E
+:100F2000B5DFFA95E1F70895E991F991859180305F
+:100F300021F0853219F0AADFF9CF089520E0E89476
+:100F400055915532C1F3503311F4689455915A3389
+:100F500048F4505390F3220F022E220F220F200D3F
+:100F6000250FF4CF0EF4219589919991533619F3F9
+:100F7000533729F1533559F1BC0188279927E89453
+:100F80005C3621F48991999168945591543639F4DD
+:100F900046EF7EF077FF0DC08FEF9FEF0AC0553709
+:100FA0004AE039F0583540E121F0523642E009F08C
+:100FB0000895FF93EF937DDFEF91FF91B7CFFF93FC
+:100FC000EF93FC0181918030B9F360DFFBCFFF9399
+:100FD000EF9368DFF1CFDF93CF93CDB7DEB72596E0
+:100FE000A3DFCF91DF91089561110BC0FC018281D5
+:100FF000882321F085EE0E946D1603C085EE0E94C5
+:10100000351780E090E0089508956091BC017091DB
+:10101000BD018091BE019091BF010E94FB205698B6
+:101020005E9825982D9826982E9827982F9881308D
+:1010300019F0823021F00895259A2D9A0895269A64
+:101040002E9A089585E098E0892B11F00E940508FA
+:1010500080E090E0089556985E9825982D982698FF
+:101060002E9827982F988FEF90E090938900809387
+:10107000880090938B0080938A0090938D008093DA
+:101080008C00259A2D9A2FEF80E792E02150804026
+:101090009040E1F700C00000269A2E9A2FEF80E7DB
+:1010A00092E0215080409040E1F700C00000279A74
+:1010B0002F9A2FEF80E792E0215080409040E1F797
+:1010C00000C0000025982D982FEF80E792E0215076
+:1010D00080409040E1F700C0000026982E982FEF46
+:1010E00080E792E0215080409040E1F700C000008E
+:1010F00027982F9856985E9825982D9826982E9880
+:1011000027982F98089589EA8093800089E080933A
+:10111000810024982C983F988AB18F748AB96E9870
+:10112000479A8BB1806B8BB9769A0E942B0884E02A
+:1011300098E0892B11F00E94040880E090E0089567
+:1011400080E28093000180913C0181110EC00E94D9
+:10115000EF0881E080933C012FEF83ED90E3215075
+:1011600080409040E1F700C0000080E40E94F50854
+:101170008093000181112EC00E941F0980930001FD
+:10118000811128C00E941F0980930001811122C093
+:101190008FE30E941F098093000181111BC00E94F0
+:1011A000170980E40E94F50880930001811112C0A4
+:1011B0008CE00E941F098093000181110BC00E94E6
+:1011C0001F0980930001811105C08FE30E941F0950
+:1011D000809300010E9417098091000108951092E8
+:1011E000B9008AE08093B800089594EA9093BC0017
+:1011F0009091BC0097FFFCCF9091B900987F9830F8
+:1012000021F0903111F081E008958093BB0084E8D3
+:101210008093BC008091BC0087FFFCCF8091B90017
+:10122000887F883111F0803471F780E0089584E977
+:101230008093BC008091BC0084FDFCCF0895809316
+:10124000BB0084E88093BC008091BC0087FFFCCF8A
+:101250009091B900987F81E0983209F480E0089578
+:1012600084E88093BC008091BC0087FFFCCF809114
+:10127000BB00089580910001811115C080E40E9497
+:10128000F5088093000181110CC082E10E941F09C2
+:1012900080930001811105C08FEF0E941F09809388
+:1012A00000010E94170984B1807F84B985B1807FD5
+:1012B00085B98AB1837F8AB98BB1837F8BB93E9818
+:1012C000469808950E94A008809300010E943A0960
+:1012D00080B38C7080BB81B3836F81BBAEE3B1E020
+:1012E000ECE4F1E08EE08E0F11921D928E13FCCF94
+:1012F00083E898E0892B11F00C94830808959F925D
+:10130000AF92BF92CF92DF92EF92FF920F931F9313
+:10131000CF93DF93809100018823E1F080913D011C
+:101320008F5F80933D01811115C082E493E00E949C
+:1013300052070E94A00880930001882329F088E2C8
+:1013400093E00E94520706C084E193E00E94520796
+:101350000E942B080EE311E0C0E0D0E0BB24B39460
+:1013600082E0A82ECC24C394D12C25E0E22E23E0E9
+:10137000F22EC730D10500F580910001811164C0C3
+:1013800080E40E94F50880930001811112C082E17F
+:101390000E941F098093000181110BC0C6010C2E11
+:1013A00001C0880F0A94EAF780950E941F09809374
+:1013B00000010E94170948C0CA30A1F028F4C830C3
+:1013C00059F0C93061F005C0CC3089F070F0CD30F3
+:1013D00089F0209A289810C0219A29980DC0229A45
+:1013E0002A980AC0239A2B9807C0529A01C0539A90
+:1013F0005B9802C03E9A469890EA9A95F1F79FB1A1
+:10140000799902C082E001C080E091709B25982B01
+:101410007C9902C084E001C080E0892B7D9902C0E4
+:1014200038E001C030E0832B7E9902C020E101C08A
+:1014300020E0822B9FB19095991F9927991F929533
+:10144000990F907E892B10C080910001811174C08A
+:1014500080E40E94F50880930001882309F459C0B4
+:10146000912C0E941709892DF8019081981739F164
+:10147000808380910101882301F18091D70180FF51
+:1014800004C08AE093E00E9452078091D70180FF58
+:101490000CC0809101011F928F93FF92EF920E94E6
+:1014A000EB070F900F900F900F908091D70180FF66
+:1014B00004C083E093E00E945207A09201010E94C1
+:1014C0003A0921960F5F1F4FCE30D10509F051CF59
+:1014D000809101018823B1F081508093010188231C
+:1014E00039F08FE99FE00197F1F700C000000AC0D2
+:1014F000ACE4B1E0EEE3F1E0CF01825F91919D9326
+:101500008E13FCCF82E298E0892BC1F00E94220862
+:1015100015C083E10E941F09809300018111A0CFB3
+:1015200081E40E94F50880930001811199CF0E9407
+:101530003009982E909495CF80E096CF81E0DF918E
+:10154000CF911F910F91FF90EF90DF90CF90BF90C0
+:10155000AF909F900895E82FF0E0E45BFE4F80810C
+:101560000895CF92DF92EF92FF920F931F93CF9344
+:10157000DF938CEE92E00E9452078CE4E82E81E02B
+:10158000F82EC0E0D0E097EEC92E92E0D92E0EEDF5
+:1015900012E0DF93CF93DF92CF920E94EB0784EEAD
+:1015A00092E00E945207F70181917F0190E00E9432
+:1015B00061219F938F931F930F930E94EB078CEDF4
+:1015C00092E00E94520721968DB79EB708960FB6FB
+:1015D000F8949EBF0FBE8DBFCE30D105D1F6DF91FE
+:1015E000CF911F910F91FF90EF90DF90CF900895D2
+:1015F0008B3B910578F4883A910540F5853A910541
+:10160000D0F48430910508F0B1C08130910509F41F
+:10161000ADC06BC0803E910508F467C0883E91055F
+:1016200008F4A4C09C01205F31092031310508F085
+:101630005CC090650895853A910509F459C0863AD1
+:10164000910509F058C082E890E40895883A910520
+:1016500009F454C0893A910509F453C08A3A9105B6
+:1016600009F452C08B3A910509F451C08C3A9105A6
+:1016700009F450C08D3A910509F44FC0803B9105A3
+:1016800009F44EC08E3A910509F44DC08F3A910588
+:1016900009F44CC0813B910509F44BC0823B910594
+:1016A00009F44AC0833B910509F449C0843B910584
+:1016B00009F448C0853B910509F447C0863B910574
+:1016C00009F446C0873B910509F445C0883B910564
+:1016D00009F444C0893B910509F443C08A3B910554
+:1016E00009F442C080E094E4089580E090E0089519
+:1016F00081E890E4089583E890E4089582EE94E40C
+:10170000089589EE94E408958AEE94E4089585EBB3
+:1017100094E4089586EB94E4089587EB94E40895A7
+:101720008CEC94E408958DEC94E4089583E895E4BA
+:1017300008958AE895E4089582E995E4089584E996
+:1017400095E4089581E296E4089583E296E408958D
+:1017500084E296E4089585E296E4089586E296E4AC
+:10176000089587E296E408958AE296E4089508953C
+:1017700096E0799FF001112494E5899FE00DF11D19
+:101780001124E60FF11DEE0FFF1FEC51FF4F859165
+:1017900094910895880F991FFC01E05AF0408591BB
+:1017A00094910895880F991FFC01E052FF4F859195
+:1017B0009491089526E0729FF001112444E5849FDE
+:1017C000E00DF11D1124E60FF11DEE0FFF1FEC518E
+:1017D000FF4F859194919C013A9521154FE1340773
+:1017E00008F41EC13F512115304120F49F700E9422
+:1017F000D20B08959C0130532115304118F49927DC
+:10180000906C0895811520E5920769F40E94BB1A37
+:101810004FEF84E39CE0415080409040E1F700C0EE
+:1018200000000C941D22813020E5920751F48CE5D4
+:1018300093E00E9452078091D70181608093D70185
+:1018400008959C0130552115304108F051C0292FD1
+:1018500033272F70332721303105D9F4AC01437081
+:10186000552702C0220F331F4A95E2F73C68AC01AE
+:1018700064E0440F551F6A95E1F744275370242B09
+:10188000352B73E0880F991F7A95E1F780769927B9
+:101890001DC02230310529F4982F8827816F906A66
+:1018A000089523303105A9F4AC014370552721E098
+:1018B00030E002C0220F331F4A95E2F73C6843E054
+:1018C000880F991F4A95E1F7807E9770822B932BA2
+:1018D000089524303105E1F4AC014370552721E02F
+:1018E00030E002C0220F331F4A95E2F73A68E7CF93
+:1018F0009C0130572115304118F49F709062089573
+:101900009C0130582115304118F49F70906A089559
+:10191000803E9105E0F4803C910558F581339105B6
+:1019200009F46FC048F48932910509F463C08A3222
+:10193000910509F46DC072C089339105E9F08238D0
+:101940009105D1F08533910509F44DC067C0833E00
+:10195000910581F138F4803E9105B9F0823E910500
+:10196000D9F05CC0863E910561F1873E9105A1F1F9
+:1019700055C00E94CA0B08952091EA0120FD02C0C3
+:1019800021FF4CC080EE90E049C08091EA0180FFC9
+:10199000F9CF89E390E042C08091EA0182FF0EC056
+:1019A0008091EA0184FF03C080E090E037C083EEBD
+:1019B00090E034C08091EA0182FFF2CF82EE90E0A5
+:1019C0002DC08091EA0183FF0BC08091EA0184FD64
+:1019D000EBCF87EE90E022C08091EA0183FFF5CF44
+:1019E00086EE90E01BC08091EA0185FF07C089E286
+:1019F00090E014C08091EA0185FFF9CF85E390E083
+:101A00000DC08091EA0186FF07C08AE290E006C01F
+:101A10008091EA0186FFF9CF81E390E00E94F80A05
+:101A20000895089580916D0108959FB7F8941092DC
+:101A30005C019FBF9091F001943009F057C09091E4
+:101A4000E9009F703091EC00232F217030FD20E8D9
+:101A5000922B24E02093E9002091EB0020FF43C06B
+:101A60002091EE0027FF3FC020915A01222321F050
+:101A70002091E80025FF37C010925A0126E03091EE
+:101A8000E80035FD15C03091F001343061F530913A
+:101A9000EB0035FD28C0215021F481E080935A01EC
+:101AA00022C0EFE9FFE03197F1F700C00000E7CF77
+:101AB0008093F1008091E80085FD0AC08091E800E4
+:101AC00080FFFCCF8091E8008E778093E80006C00D
+:101AD0008FB7F89421E020935C018FBF9F709093A3
+:101AE000E90080E008959F709093E9008FEF0895DA
+:101AF000CF93DF9300D01F92CDB7DEB79C018091CA
+:101B0000F001843019F593E099833B832A83909305
+:101B1000E9008FEF9091E800815095FD06C095EDAA
+:101B20009A95F1F700008111F5CF8091E80085FFCB
+:101B30000DC040E050E063E070E0CE0101960E94ED
+:101B400048108091E8008E778093E8000F900F9006
+:101B50000F90DF91CF910895CF93DF9300D01F9224
+:101B6000CDB7DEB72091F001243021F522E02983A2
+:101B70009B838A8383E08093E9008FEF9091E80054
+:101B8000815095FD06C095ED9A95F1F70000811101
+:101B9000F5CF8091E80085FF0DC040E050E063E0A4
+:101BA00070E0CE0101960E9448108091E8008E7787
+:101BB0008093E8000F900F900F90DF91CF910895E0
+:101BC0002091F0012430F1F422E02093E9002FEF7E
+:101BD0003091E800215035FD06C035ED3A95F1F71A
+:101BE00000002111F5CF2091E80025FF0BC040E057
+:101BF00050E065E070E00E9448108091E8008E7728
+:101C00008093E8000895CF93DF932091F001243072
+:101C100009F048C0EC0180910C018823E1F080912B
+:101C20000D018823C1F085E08093E9008FEF90914A
+:101C3000E800815095FD06C095E19A95F1F7000006
+:101C40008111F5CF8091E80085FF2CC040E050E085
+:101C500060E170E017C081E08093E9008FEF909120
+:101C6000E800815095FD06C095ED9A95F1F70000CA
+:101C70008111F5CF8091E80085FF14C040E050E06D
+:101C800068E070E0CE010E9448108091E8008E77F5
+:101C90008093E80080E1FE01ADE5B1E001900D9296
+:101CA0008A95E1F7DF91CF91089583E993E00E944F
+:101CB00052078091EF01811109C00E94DD110E943D
+:101CC0003A128091E20084608093E20008958FE8E8
+:101CD00093E00E9452071092EF0108958BE893E081
+:101CE0000C94520787E893E00E9452070C94ED2B66
+:101CF00083E893E00E9452070E94B7210E94F32BD1
+:101D00000E94DF140C94110D20915B012F5F822F34
+:101D100062E30E94612D992319F020935B010895DD
+:101D200010925B0180915C01882371F18091F00138
+:101D3000843041F58091E9008F702091EC00922F62
+:101D4000917020FD90E8892B94E09093E9009091A8
+:101D5000EB0090FF14C09091EE0097FF10C090919F
+:101D6000E80095FF03C01092F100F9CF9091E800D0
+:101D700090FF05C09091E8009E779093E8008F70E7
+:101D80008093E90010925C01089542E061EC81E0EB
+:101D90000E94571142E061EC82E00E94571142E03C
+:101DA00061EC83E00E94571142E261EC84E00E9402
+:101DB000571142E161EC85E00C9457118091F201DA
+:101DC000833009F455C030F4813071F0823009F469
+:101DD0008EC008958A3009F47AC08B3009F460C04F
+:101DE000893009F09CC020C08091F101813A09F04E
+:101DF00096C08091E800877F8093E8008091F5018C
+:101E00009091F601892B21F460E18DE591E003C00A
+:101E100060E080E090E070E00E9493108091E80024
+:101E20008B778093E80008958091F101813209F069
+:101E300076C08091F5019091F601009719F0049712
+:101E400009F06DC08091E800877F8093E800809161
+:101E5000E80082FD05C08091F0018111F8CF5FC0DC
+:101E60008091F10080936D018091E8008B7753C0E1
+:101E70008091F101813A09F052C08091F501909171
+:101E8000F601892B09F04BC08091E800877F809391
+:101E9000E8008091E80080FFFCCF80910C0136C003
+:101EA0008091F1018132D9F58091F5019091F6018F
+:101EB000892BA9F58091E800877F8093E8000E9434
+:101EC0008C118091F30180930C010C94BB1A8091CA
+:101ED000F101813221F58091E800877F8093E8004D
+:101EE0000E948C118091F40180936E01089580917D
+:101EF000F101813AA1F48091E800877F8093E800A6
+:101F00008091E80080FFFCCF80916E018093F1000A
+:101F10008091E8008E778093E8000C948C110895EE
+:101F200084B7877F84BF88E10FB6F8948093600000
+:101F3000109260000FBE90E080E80FB6F894809396
+:101F40006100909361000FBE0E946C150E94DD112C
+:101F50000E943A128091E20084608093E20085E161
+:101F60009DE00E94F62078940E94BF140E946E1596
+:101F700082E091E00E94DA140E94DB2B82E793E07A
+:101F80000E9452078091F001853089F48EE693E03B
+:101F90000E9452070E947B218091EE01882391F3D9
+:101FA0000E94A321882371F30E943210EBCF0E947C
+:101FB0009C15E8CF292F332723303105C9F064F46D
+:101FC0002130310581F02230310509F043C08DE820
+:101FD00090E02BEC33E042C021323105F1F02232A7
+:101FE000310541F137C082E190E028E534E036C0A8
+:101FF00099278130910541F08230910541F0892B7C
+:1020000049F5E7ECF3E005C0EFEAF3E002C0E7E9E9
+:10201000F3E0849190E09F0121C06530D8F4E62F71
+:10202000F0E0EE0FFF1FEB5DFE4F2081318189E074
+:1020300090E014C0653070F470E0FB01EE0FFF1FFC
+:10204000E55EFE4F20813181FB01EA5EFE4F80811B
+:1020500090E004C080E090E020E030E0FA013183BD
+:102060002083089580E189BD82E189BD09B400FE25
+:10207000FDCF8091D8008F7D8093D8008091E000C3
+:1020800082608093E0008091E00081FDFCCF0895A4
+:10209000CF92DF92EF92FF920F931F93CF93DF9334
+:1020A000EC018B016A010E94AB11811133C0C11494
+:1020B000D10439F0F60180819181081B190BC80FFA
+:1020C000D91FE12CF12C0115110519F18091E800BF
+:1020D00085FD16C08091E8008E778093E800C114DA
+:1020E000D10449F0F60180819181E80EF91EF18258
+:1020F000E08285E00FC00E94AB11882321F30AC063
+:1021000089918093F10001501109FFEFEF1AFF0A46
+:10211000DACF80E0DF91CF911F910F91FF90EF9088
+:10212000DF90CF9008952091F7013091F8012617A4
+:10213000370748F06115710539F42091E8002E77D2
+:102140002093E80001C0B90140E061157105A9F1D3
+:102150002091F001222309F443C0253009F442C044
+:102160002091E80023FD40C02091E80022FD32C00C
+:102170002091E80020FFE9CF4091F3002091F20088
+:1021800030E0342BFC01CF016115710559F0283086
+:10219000310540F481918093F100615071092F5F06
+:1021A0003F4FF1CF41E02830310509F040E0209168
+:1021B000E8002E772093E800C8CF4111C9CF0AC0AC
+:1021C0008091F001882361F0853061F08091E80012
+:1021D00083FD0AC08091E80082FFF2CF80E008957D
+:1021E00082E0089583E0089581E008952091F70149
+:1021F0003091F8012617370748F06115710539F459
+:102200002091E8002E772093E80001C0B901FC017D
+:1022100020E06115710591F18091F001882309F4A6
+:1022200040C0853009F43FC08091E80083FD3DC087
+:102230008091E80082FD2FC08091E80080FFE9CF07
+:102240002091F3008091F20090E0922B61157105CE
+:1022500059F08830910540F424912093F100319693
+:10226000615071090196F2CF21E0089709F020E052
+:102270008091E8008E778093E800CBCF2111CCCFFE
+:102280000AC08091F001882361F0853061F080916F
+:10229000E80083FD0AC08091E80082FFF2CF80E071
+:1022A000089582E0089583E0089581E00895982FCD
+:1022B000973058F59093E900981739F07091EC0039
+:1022C0002091ED005091F00003C0242F762F50E0B4
+:1022D00021FF19C03091EB003E7F3093EB0030912D
+:1022E000ED003D7F3093ED003091EB003160309395
+:1022F000EB007093EC002093ED005093F0002091E0
+:10230000EE0027FF07C09F5FD3CF8F708093E90057
+:1023100081E0089580E008958091F10187FF11C068
+:102320008091E80082FD05C08091F0018111F8CF15
+:1023300011C08091E8008B770BC08091F001882359
+:1023400049F08091E80080FFF8CF8091E8008E7717
+:102350008093E80008952091E4003091E50095E62F
+:102360004091EC00842F817040FF22C08091E800F2
+:1023700080FD1CC08091F001882391F0853091F0A0
+:102380008091EB0085FD10C04091E4005091E50084
+:102390004217530729F39A01915011F784E00895E9
+:1023A00082E0089583E0089581E0089580E0089533
+:1023B0004091E80042FFDECF08950E944B120E9438
+:1023C0005312E0EEF0E0808181608083E8EDF0E080
+:1023D00080818F77808319BCA7EDB0E08C918E7FD0
+:1023E0008C9380818F7E80831092EF0108950F93EC
+:1023F0001F93CF93DF930E944B120E945312C8ED9C
+:10240000D0E088818F7788838881806888838881FD
+:102410008F7D888319BC1092F0011092EC0110920C
+:10242000EE011092ED0100EE10E0F80180818B7F4B
+:10243000808388818160888342E060E080E00E9440
+:102440005711E1EEF0E080818E7F8083E2EEF0E0D4
+:10245000808181608083808188608083F8018081B1
+:102460008E7F8083888180618883DF91CF911F91E7
+:102470000F910895E8EDF0E080818F7E8083E7ED95
+:10248000F0E080818160808384E082BF81E080937E
+:10249000EF010C94F711E8EDF0E080818E7F8083EE
+:1024A0001092E20008951092DA001092E10008956F
+:1024B0001F920F920FB60F9211242F933F934F93B9
+:1024C0005F936F937F938F939F93AF93BF93EF939C
+:1024D000FF938091E10082FF0BC08091E20082FFB8
+:1024E00007C08091E1008B7F8093E1000E94840E01
+:1024F0008091DA0080FF1FC08091D80080FF1BC050
+:102500008091DA008E7F8093DA008091D90080FF7D
+:102510000DC080E189BD82E189BD09B400FEFDCF17
+:1025200081E08093F0010E94550E05C019BC109205
+:10253000F0010E94670E8091E10080FF19C0809138
+:10254000E20080FF15C08091E2008E7F8093E20060
+:102550008091E20080618093E2008091D8008062E7
+:102560008093D80019BC85E08093F0010E94720E20
+:102570008091E10084FF30C08091E20084FF2CC094
+:1025800080E189BD82E189BD09B400FEFDCF809163
+:10259000D8008F7D8093D8008091E1008F7E80935A
+:1025A000E1008091E2008F7E8093E2008091E20062
+:1025B00081608093E2008091EC01882311F084E037
+:1025C00007C08091E30087FD02C081E001C083E085
+:1025D0008093F0010E94780E8091E10083FF29C072
+:1025E0008091E20083FF25C08091E100877F809386
+:1025F000E10082E08093F0011092EC018091E10013
+:102600008E7F8093E1008091E2008E7F8093E200D4
+:102610008091E20080618093E20042E060E080E02F
+:102620000E9457118091F00088608093F0000E9412
+:102630006E0EFF91EF91BF91AF919F918F917F911E
+:102640006F915F914F913F912F910F900FBE0F901F
+:102650001F9018951F920F920FB60F9211242F936F
+:102660003F934F935F936F937F938F939F93AF931A
+:10267000BF93CF93DF93EF93FF93C091E900CF70A7
+:102680008091EC00D82FD17080FDD0E81092E90045
+:102690008091F000877F8093F00078940E946E1301
+:1026A0001092E9008091F00088608093F000CD2BBB
+:1026B000CF70C093E900FF91EF91DF91CF91BF916F
+:1026C000AF919F918F917F916F915F914F913F91CA
+:1026D0002F910F900FBE0F901F9018951F93CF93BF
+:1026E000DF93CDB7DEB7AA970FB6F894DEBF0FBE63
+:1026F000CDBFE1EFF1E088E08E0F9091F100919372
+:102700008E13FBCF0E94DE0E8091E80083FF1FC175
+:102710008091F1019091F201492F50E04A3051052A
+:1027200008F015C1FA01EA5AFF4F0C94812D803848
+:1027300081F0823809F00BC18091F5018F70809390
+:10274000E9008091EB0085FB882780F91092E90071
+:1027500006C08091ED019091EE01911182609091FF
+:10276000E800977F9093E8008093F1001092F100C9
+:10277000C8C0282F2D7F09F0EAC0882319F08230C5
+:1027800061F0E5C08091F301813009F0E0C0933041
+:1027900009F080E08093EE012BC08091F30181115C
+:1027A00027C08091F5018F7009F4D1C08093E900B2
+:1027B0002091EB0020FF1CC0933021F48091EB00AE
+:1027C000806214C09091EB0090619093EB0021E047
+:1027D00030E0A90102C0440F551F8A95E2F74093EB
+:1027E000EA001092EA008091EB0088608093EB0091
+:1027F0001092E9008091E800877F86C08111A7C010
+:102800001091F3011F778091E3008078812B8093F2
+:10281000E3008091E800877F8093E8000E948C119C
+:102820008091E80080FFFCCF8091E3008068809376
+:10283000E300111102C082E001C083E08093F00147
+:1028400086C08058823008F082C08091F301909158
+:10285000F4018C3D53E0950779F583E08A838AE2A1
+:1028600089834FB7F894DE01139620E03EE051E2F1
+:10287000E32FF0E050935700E49120FF03C0E2956E
+:10288000EF703F5FEF708E2F90E0EA3010F0C79648
+:1028900001C0C0968D939D932F5F243149F74FBFA0
+:1028A0008091E800877F8093E8006AE270E0CE01C3
+:1028B00001960E94931014C0AE014F5F5F4F60916C
+:1028C000F5010E94DA0FBC01009709F440C0909115
+:1028D000E800977F9093E80089819A810E94F61022
+:1028E0008091E8008B778093E80031C0803879F5DB
+:1028F0008091E800877F8093E8008091EC018093CD
+:10290000F1008091E8008E778093E8000E948C119E
+:102910001EC081111CC09091F3019230C0F48091CF
+:10292000E800877F8093E8009093EC010E948C116F
+:102930008091EC01811106C08091E30087FD02C007
+:1029400081E001C084E08093F0010E94C50E809177
+:10295000E80083FF0AC08091E800877F8093E80049
+:102960008091EB0080628093EB00AA960FB6F894FA
+:10297000DEBF0FBECDBFDF91CF911F910895CF93E2
+:102980008091F0018823A1F0C091E900CF7090916F
+:10299000EC00892F817090FD80E8C82B1092E9002F
+:1029A0008091E80083FD0E946E13CF70C093E90010
+:1029B000CF91089590937401809373010895E091ED
+:1029C0007301F0917401309721F00190F081E02DB6
+:1029D000099480E00895EF92FF920F931F93CF9395
+:1029E000DF93E0917301F09174013097B1F18C01A4
+:1029F0000280F381E02D09958091D70182FF2DC0DF
+:102A000080FF04C08DE895E00E945207E80110E1C4
+:102A100087E8E82E85E0F82E8091D70180FF0BC073
+:102A200088811F928F93FF92EF920E94EB070F9085
+:102A30000F900F900F90115021961111EDCF8091B2
+:102A4000D70180FF0AC085E895E0DF91CF911F9103
+:102A50000F91FF90EF900C945207DF91CF911F914F
+:102A60000F91FF90EF900895E0917301F091740140
+:102A7000309721F00480F581E02D0994089520918C
+:102A80007101309172018217930771F09093720176
+:102A900080937101E0917301F0917401309721F0FE
+:102AA0000680F781E02D0994089520916F013091FF
+:102AB00070018217930771F09093700180936F01FA
+:102AC000E0917301F0917401309721F00084F18559
+:102AD000E02D0994089508950C946B150E94B92176
+:102AE0000E9462090C947F22CF93C82F8091D70156
+:102AF00082FF1EC080FF04C086EA95E00E94520754
+:102B00008091D70180FF0CC01F92CF9381EA95E09E
+:102B10009F938F930E94EB070F900F900F900F9051
+:102B20008091D70180FF04C08FE995E00E94520791
+:102B30008C2FCF910C94110DCF92DF92EF92FF92D8
+:102B40000F931F93CF93DF93CDB7DEB72B970FB6BD
+:102B5000F894DEBF0FBECDBF0E947F0986E7C82E66
+:102B600081E0D82E00E010E0E02E802F0E94AB0A1A
+:102B7000F60141916F01F42EF826B1F40F5F1F4F5B
+:102B80000E30110589F78FEF89838A831B820E949B
+:102B9000C2218160782F9D838C8349815A816B810A
+:102BA0008D810E943F1640C09091D70191FF04C0D3
+:102BB0008B870E94B10A8B8520E030E04F2D50E0DA
+:102BC000922FBA01022E02C0759567950A94E2F71A
+:102BD00060FF24C02E83EF8221E030E0690102C053
+:102BE000CC0CDD1C9A95E2F790E08C219D21892B7D
+:102BF00009F420E028870E94C2218160782F9A87FB
+:102C000089874E815F8168858A850E943F16F80119
+:102C1000EA58FE4F8081C826C08206C02F5F3F4F12
+:102C20002630310569F6AACF0E94F0251091750172
+:102C30000E94DF141817A1F00E94DF148093750121
+:102C40002B960FB6F894DEBF0FBECDBFDF91CF91AC
+:102C50001F910F91FF90EF90DF90CF900C9474151F
+:102C60002B960FB6F894DEBF0FBECDBFDF91CF918C
+:102C70001F910F91FF90EF90DF90CF900895CF9329
+:102C8000DF93CDB7DEB72B970FB6F894DEBF0FBE3C
+:102C9000CDBF4F83588769877A878B87DE0111966E
+:102CA00086E0FD0111928A95E9F785E0FE013796ED
+:102CB00001900D928A95E1F749815A816B817C815F
+:102CC0008D819E810E94551D2B960FB6F894DEBF14
+:102CD0000FBECDBFDF91CF910895CF93882309F424
+:102CE000C2C0C82F823859F40E94DF1481FDBBC0D6
+:102CF00089E30E94F11F0E94D02089E30CC0833831
+:102D000079F40E94DF1480FDAEC083E50E94F11FBC
+:102D10000E94D02083E50E944420CF910C94D020C3
+:102D2000843859F40E94DF1482FD9DC087E40E941C
+:102D3000F11F0E94D02087E4EECF8CEF8C0F813AF8
+:102D400048F48C2F0E94832A81118DC08C2F0E9401
+:102D5000F11FE3CF80E28C0F883048F4C77081E028
+:102D600001C0880FCA95EAF70E949920D6CF8BE55B
+:102D70008C0F833078F4C53A29F0C63A31F083E8F5
+:102D800090E005C081E890E002C082E890E0CF9139
+:102D90000C943F1588E58C0F833108F064C0C83A65
+:102DA00039F1C93A41F1CA3A49F1CB3A51F1CC3A39
+:102DB00059F1CD3A61F1C03B69F1CE3A71F1CF3AA8
+:102DC00079F1C13B81F1C23B89F1C33B91F1C43B35
+:102DD00099F1C53BA1F1C63BA9F1C73BB1F1C83B95
+:102DE000B9F1C93BC1F1CA3BC9F180E090E038C0FC
+:102DF00082EE90E035C089EE90E032C08AEE90E03D
+:102E00002FC085EB90E02CC086EB90E029C087EBCB
+:102E100090E026C08CEC90E023C08DEC90E020C0C8
+:102E200083E891E01DC08AE891E01AC082E991E050
+:102E300017C084E991E014C081E292E011C083E2FE
+:102E400092E00EC084E292E00BC085E292E008C0FE
+:102E500086E292E005C087E292E002C08AE292E058
+:102E6000CF910C945515CF910895882309F44BC048
+:102E7000823859F40E94DF1481FF45C089E30E9423
+:102E8000F11F0E94D02089E30CC0833871F40E94A6
+:102E9000DF1480FF38C083E50E94F11F0E94D0201C
+:102EA00083E50E9444200C94D020843859F40E9479
+:102EB000DF1482FF28C087E40E94F11F0E94D02007
+:102EC00087E4EFCF9CEF980F913A58F390E2980F78
+:102ED000983050F4877091E001C0990F8A95EAF715
+:102EE000892F0E949F20DFCF9BE5980F933020F41D
+:102EF00080E090E00C943F15885A833120F480E004
+:102F000090E00C9455150895882321F00E94992093
+:102F10000C94D0200895882321F00E949F200C94C7
+:102F2000D0200895BF92CF92DF92EF92FF920F933D
+:102F30001F93CF93DF9300D000D000D0CDB7DEB782
+:102F400025E0FC01DE01119601900D922A95E1F732
+:102F5000FC01408131810281258122952F7063819E
+:102F60007481672B09F4E5C23F3F19F44F3F09F420
+:102F7000E0C27C0149833A8389819A812E830E9431
+:102F8000B01F182FB92E0E94AF1F0E94761EEB2D86
+:102F9000E295EF70F0E0E05AFF4F2E810C94812D06
+:102FA0008B2D807F9B2D9F70F92E882319F0F29432
+:102FB00080EFF822002349F0FF2009F467C28F2D2B
+:102FC0000E94A9200E94D02061C2812F0E94351743
+:102FD000FF2009F4AEC28F2D0E94AF2026960FB6B7
+:102FE000F894DEBF0FBECDBFDF91CF911F910F913F
+:102FF000FF90EF90DF90CF90BF900C94D0203B2DAE
+:10300000307F8B2D8F70303211F08295807F1123AD
+:1030100019F0113021F12CC00023B9F0222309F45A
+:10302000A0C1213009F09DC126960FB6F894DEBFED
+:103030000FBECDBFDF91CF911F910F91FF90EF9009
+:10304000DF90CF90BF900C94B920222319F021304B
+:1030500009F46FC28E830E94BC208E8196C100232A
+:1030600021F0223008F065C27CC1211162C28DC1FD
+:10307000002321F0222309F474C108C2222309F499
+:1030800084C119C22B2D26952695237030E0211579
+:10309000310521F021303105D1F04BC2002321F060
+:1030A000812F9B2D937002C080E090E026960FB692
+:1030B000F894DEBF0FBECDBFDF91CF911F910F916E
+:1030C000FF90EF90DF90CF90BF900C943F150023BE
+:1030D00021F0812F9B2D937002C080E090E0269616
+:1030E0000FB6F894DEBF0FBECDBFDF91CF911F9119
+:1030F0000F91FF90EF90DF90CF90BF900C945515FB
+:10310000812F002319F00E94762402C00E94DE2441
+:1031100026960FB6F894DEBF0FBECDBFDF91CF91DC
+:103120001F910F91FF90EF90DF90CF90BF900C9484
+:1031300063258B2D837009F07BC00111FAC1812FAB
+:10314000829586958770880F880F912F9F70C92E62
+:10315000D12CE12CF12C082E04C0CC0CDD1CEE1C73
+:10316000FF1C0A94D2F714FF12C04FE050E060E059
+:1031700070E004C0440F551F661F771F8A95D2F771
+:10318000CB01BA01609570958095909503C060E081
+:1031900070E0CB012B2D269526952370422F50E011
+:1031A00042305105D9F04330510569F16C297D2930
+:1031B0008E299F294130510551F126960FB6F8947A
+:1031C000DEBF0FBECDBFDF91CF911F910F91FF905A
+:1031D000EF90DF90CF90BF900C949D1E6C297D29BD
+:1031E0008E299F2926960FB6F894DEBF0FBECDBF5D
+:1031F000DF91CF911F910F91FF90EF90DF90CF90D3
+:10320000BF900C94B91E0E949D1EC701B601269660
+:103210000FB6F894DEBF0FBECDBFDF91CF911F91E7
+:103220000F91FF90EF90DF90CF90BF900C94811E94
+:10323000002319F08B2D817001C08695882309F435
+:1032400078C1812F829586958770880F880F912F7E
+:103250009F70C92ED12CE12CF12C082E04C0CC0C6F
+:10326000DD1CEE1CFF1C0A94D2F714FF12C04FE0C5
+:1032700050E060E070E004C0440F551F661F771FE8
+:103280008A95D2F7CB01BA0160957095809590959B
+:1032900003C060E070E0CB012B2D269526952370AE
+:1032A000422F50E042305105D9F04330510569F1C9
+:1032B0006C297D298E299F294130510551F126968F
+:1032C0000FB6F894DEBF0FBECDBFDF91CF911F9137
+:1032D0000F91FF90EF90DF90CF90BF900C94771FED
+:1032E0006C297D298E299F2926960FB6F894DEBF7A
+:1032F0000FBECDBFDF91CF911F910F91FF90EF9047
+:10330000DF90CF90BF900C94931F0E94771FC7014E
+:10331000B60126960FB6F894DEBF0FBECDBFDF9183
+:10332000CF911F910F91FF90EF90DF90CF90BF90C2
+:103330000C945B1F103FD1F118F4103E50F4A1C063
+:10334000123F09F463C008F44CC0133F09F473C082
+:1033500098C01F708B2D8F710023A1F00E94F41E66
+:10336000812F26960FB6F894DEBF0FBECDBFDF913A
+:10337000CF911F910F91FF90EF90DF90CF90BF9072
+:103380000C9484170E94151F812F26960FB6F8946F
+:10339000DEBF0FBECDBFDF91CF911F910F91FF9088
+:1033A000EF90DF90CF90BF900C948B170023A9F083
+:1033B0002111BFC08B2D8F7126960FB6F894DEBFFA
+:1033C0000FBECDBFDF91CF911F910F91FF90EF9076
+:1033D000DF90CF90BF900C943A1F223008F0A9C024
+:1033E000E9CF0023A9F08B2D8F7126960FB6F894A4
+:1033F000DEBF0FBECDBFDF91CF911F910F91FF9028
+:10340000EF90DF90CF90BF900C94F41E002359F3FF
+:103410008B2D8F7126960FB6F894DEBF0FBECDBFF1
+:10342000DF91CF911F910F91FF90EF90DF90CF90A0
+:10343000BF900C94151F002399F08B2D8F71269649
+:103440000FB6F894DEBF0FBECDBFDF91CF911F91B5
+:103450000F91FF90EF90DF90CF90BF900C94DF1E04
+:1034600026960FB6F894DEBF0FBECDBFDF91CF9189
+:103470001F910F91FF90EF90DF90CF90BF900C9431
+:10348000D51E0023A9F0222309F4ADCF812F269663
+:103490000FB6F894DEBF0FBECDBFDF91CF911F9165
+:1034A0000F91FF90EF90DF90CF90BF900C946D162E
+:1034B000222309F4ADCF812F26960FB6F894DEBFF4
+:1034C0000FBECDBFDF91CF911F910F91FF90EF9075
+:1034D000DF90CF90BF900C9435174B2D4F70612F1C
+:1034E000C7010E94F40726960FB6F894DEBF0FBE00
+:1034F000CDBFDF91CF911F910F91FF90EF90DF90A3
+:10350000CF90BF900C94F91D4B2D4F70612FC701C8
+:1035100026960FB6F894DEBF0FBECDBFDF91CF91D8
+:103520001F910F91FF90EF90DF90CF90BF900C9480
+:10353000B70B26960FB6F894DEBF0FBECDBFDF9156
+:10354000CF911F910F91FF90EF90DF90CF90BF90A0
+:1035500008950E94B6200E948B200E94D0200E94D5
+:1035600096260E94632580E090E00E943F1580E04F
+:1035700090E00C9455150E94A6200C94A91A0E9464
+:10358000B01F292F22952F7030E02C3031054CF4DC
+:103590002A3031056CF4225031092230310588F48B
+:1035A00007C02C30310549F02F30310531F009C00A
+:1035B000803E48F0803F29F406C093FB882780F9BD
+:1035C000089580E0089581E00895CF93DF9300D0BF
+:1035D00000D01F92CDB7DEB70F900F900F900F90D5
+:1035E0000F90DF91CF910895CF93DF9300D000D05B
+:1035F00000D0CDB7DEB726960FB6F894DEBF0FBE6B
+:10360000CDBFDF91CF9108951F93CF93DF93C091EA
+:10361000840116E080918501C81799F0D0E01C9FC5
+:10362000F0011D9FF00D1124EA57FE4F408151819A
+:1036300062817381848195810E94F41A2196C770FA
+:10364000E9CFDF91CF911F9108954091B60150913C
+:10365000B7016091B8017091B9018091BA01909160
+:10366000BB010C94F41A8091BB0182958F7009F014
+:1036700054C08091B801882309F44FC0809184011F
+:10368000A09185016091B6017091B7014091B90197
+:103690005091BA01B6E08A1709F43FC090E0411595
+:1036A0005105C1F17F3F11F46F3FA1F1B89FF001C7
+:1036B000B99FF00D1124EA57FE4F218172132AC0E1
+:1036C0002081621327C02281211124C023813481EB
+:1036D0002417350710F421503109241B350B283CE1
+:1036E0003105C0F42091BB012F7020612093BB01F4
+:1036F00026E0289FF001299FF00D1124E557FE4F89
+:1037000080818F708061808386EB91E00E949217A8
+:103710000C94041B01968770BECF0895CF92DF9260
+:10372000EF92FF920F931F93CF93DF93CDB7DEB746
+:1037300062970FB6F894DEBF0FBECDBF8C0185E057
+:10374000F801DE011D9601900D928A95E1F7D801EE
+:103750004C9111965C91119712966C911297139659
+:10376000CD90DC9014973091B6017091B7018091A3
+:10377000B9019091BA01009709F46BC17F3F19F428
+:103780003F3F09F466C1E090B801EE2009F4C0C0E3
+:103790002091BB01C816D90628F0F601E81BF90BE9
+:1037A000CF0104C0809590958C0D9D1DFF24F3944E
+:1037B000883C910578F0F12C207F09F0C6C07C2D63
+:1037C000D98AC88A89890E94E51A86EB91E00E940D
+:1037D0009217B1C0822F807F09F046C0751314C0C4
+:1037E000341312C0611110C02F7020612093BB01EF
+:1037F0000E94251B86EB91E00E9492178091BB01ED
+:10380000D80115968C932EC0CD2819F15F3F11F485
+:103810004F3FF9F0F62E61111CC080918401209178
+:10382000850136E0821709F45AC090E0389FF00114
+:10383000399FF00D1124EA57FE4F7181571306C0CE
+:103840007081471303C07281711103C001968770A4
+:10385000E9CFF62E662309F418C18091BB0181607F
+:103860008093BB01F12C11C1751308C0341306C03D
+:10387000611104C08091BB01D801C3C04D875E8730
+:103880008D859E856A8B0E94BF1A6A898823E1F123
+:103890006623D1F12091BB01822F82958F7090E039
+:1038A000029774F08091B6019091B70198878F8349
+:1038B0001986DB86CA862C87CE0107960E9492174E
+:1038C00086E0F801A6EBB1E001900D928A95E1F750
+:1038D0000E94331B0E94251BFF24F394D6C04D8702
+:1038E0005E878D859E850E94B01F292F22952F709F
+:1038F00030E0223031050CF0BCC09F7009F0B6C03A
+:10390000805E883008F4C1C0C8010E949217E4CFDD
+:10391000C816D90608F453C0F601E81BF90BCF010D
+:10392000883C910508F450C0F12C7C2DD98AC88AB6
+:1039300089890E94E51AE6EBF1E086E0DF011D923D
+:103940008A95E9F70E94251BA0C0751314C0341393
+:1039500012C0611110C08091BB01F8018583C801BC
+:103960000E94921786E0E6EBF1E0DF011D928A9556
+:10397000E9F7FE2C8AC04D875E878D859E856A8B10
+:103980000E94BF1A6A89882309F4BECF662309F40E
+:10399000BBCF2091BB01822F82958F7090E0029760
+:1039A0000CF48ECF8091B6019091B7019A838983F0
+:1039B0001B82DD82CC822E83CE0101967FCF809543
+:1039C00090958C0D9D1DACCFF62E662309F49CCFEF
+:1039D00075132EC034132CC02091BB0120FD1FC0D5
+:1039E000822F82958F70D9F0D80115962C93159758
+:1039F0008F3049F08F5F982F9295907F822F8F7034
+:103A0000892B15968C93C8010E94921786E0F801C5
+:103A1000A6EBB1E001900D928A95E1F793CF86E095
+:103A2000F801A6EBB1E001900D928A95E1F72DC067
+:103A30004D875E878D859E850E94BF1A811140CF7C
+:103A40008091BB0181608093BB01C8010E949217E5
+:103A50001CC0662309F458CF4D875E878D859E85EF
+:103A60000E94BF1A882309F44FCF2ACF811148CF73
+:103A70000CC0243031050CF047CF9F7009F440CFC3
+:103A8000F8019581907F09F03BCF8F2D62960FB69C
+:103A9000F894DEBF0FBECDBFDF91CF911F910F9184
+:103AA000FF90EF90DF90CF9008951F93CF93DF9317
+:103AB000CDB7DEB72C970FB6F894DEBF0FBECDBFE3
+:103AC0004F83588769877A878B879C87CE010796B3
+:103AD0000E948E1B882369F08F8198852A853B85FB
+:103AE000232BF1F19F3F09F063C08F3F09F060C0C5
+:103AF00037C086E0FE013796DE01119601900D92E7
+:103B00008A95E1F76F817885EA85FB85309741F1E9
+:103B10007F3F11F46F3F21F12091850130E0C90111
+:103B20000196877099274091840150E0841795078A
+:103B300009F447C069837A83FD83EC8396E0929F02
+:103B4000D001939FB00D1124AA57BE4FFE013196AC
+:103B500001900D929A95E1F7809385010E94041BD4
+:103B600016E080918401909185018917C1F1189F19
+:103B7000C00111248A579E4F0E948E1B882379F121
+:103B8000E09184011E9FF0011124EA57FE4F40810D
+:103B9000518162817381848195810E94F41A8091A0
+:103BA000840190E001968770992780938401D9CF92
+:103BB0004F81588569857A858B859C850E94F41A8A
+:103BC000CFCF0E94BB1A1092850110928401E6EBC0
+:103BD000F1E086E0DF011D928A95E9F7C1CF2C96CE
+:103BE0000FB6F894DEBF0FBECDBFDF91CF911F910E
+:103BF0000895EF92FF920F931F93CF93DF938C0161
+:103C0000009709F46CC0F12CEE24E394E8012196AE
+:103C1000F8018491843740F4843008F051C0813039
+:103C200081F0823019F15BC0853709F444C0A8F1F6
+:103C30009CE7980F903708F052C08F770E94351795
+:103C400041C00E5F1F4FFE01C49180E28C0F88308F
+:103C500048F4C7708E2D01C0880FCA95EAF70E94FC
+:103C6000A92014C08C2F0E946D162DC00E5F1F4F0F
+:103C7000FE01C49180E28C0F883058F4C7708E2DFD
+:103C800001C0880FCA95EAF70E94AF200E94D02099
+:103C90001AC08C2F0E94351716C00E5F1F4FFE01F1
+:103CA000C491CC2381F08FE99FE00197F1F700C028
+:103CB0000000C150F6CF0E5F1F4FFE01F49003C00D
+:103CC0000E946D168E018F2D882309F49FCFEFE996
+:103CD000FFE03197F1F700C000008150F5CFDF9190
+:103CE000CF911F910F91FF90EF90089508956093E9
+:103CF000C0017093C1018093C2019093C3010C94E1
+:103D0000A91A0F931F930091C0011091C101209136
+:103D1000C2013091C301DC01CB01802B912BA22B7E
+:103D2000B32B8093C0019093C101A093C201B093C3
+:103D3000C3011F910F910C94A91A0F931F93009127
+:103D4000C0011091C1012091C2013091C301DC0179
+:103D5000CB0180239123A223B3238093C0019093AE
+:103D6000C101A093C201B093C3011F910F910C94A4
+:103D7000A91A0F931F930091C0011091C1012091C6
+:103D8000C2013091C301DC01CB0180279127A2271A
+:103D9000B3278093C0019093C101A093C201B09357
+:103DA000C3011F910F910C94A91A1092BC0110929B
+:103DB000BD011092BE011092BF010C94A91A41E0FE
+:103DC00050E060E070E004C0440F551F661F771F8D
+:103DD0008A95D2F74093BC015093BD016093BE0118
+:103DE0007093BF010C94A91A41E050E060E070E0CC
+:103DF00004C0440F551F661F771F8A95D2F7809124
+:103E0000BC019091BD01A091BE01B091BF01482BB2
+:103E1000592B6A2B7B2B4093BC015093BD016093BF
+:103E2000BE017093BF010C94A91A41E050E060E01C
+:103E300070E004C0440F551F661F771F8A95D2F7A4
+:103E400040955095609570958091BC019091BD0111
+:103E5000A091BE01B091BF01482359236A237B235F
+:103E60004093BC015093BD016093BE017093BF01AC
+:103E70000C94A91A41E050E060E070E004C0440FE7
+:103E8000551F661F771F8A95D2F78091BC019091CC
+:103E9000BD01A091BE01B091BF01482759276A27F3
+:103EA0007B274093BC015093BD016093BE0170938A
+:103EB000BF010C94A91A0F931F930091BC0110919C
+:103EC000BD012091BE013091BF01DC01CB01802BEF
+:103ED000912BA22BB32B8093BC019093BD01A09397
+:103EE000BE01B093BF011F910F910C94A91A0F93BB
+:103EF0001F930091BC011091BD012091BE01309132
+:103F0000BF01DC01CB0180239123A223B323809343
+:103F1000BC019093BD01A093BE01B093BF011F915E
+:103F20000F910C94A91A0F931F930091BC0110914B
+:103F3000BD012091BE013091BF01DC01CB01802782
+:103F40009127A227B3278093BC019093BD01A09332
+:103F5000BE01B093BF011F910F910C94A91A08954F
+:103F6000CF92DF92EF92FF920F931F93CF93DF9345
+:103F70008C01C090C001D090C101E090C201F090CE
+:103F8000C3014091BC015091BD016091BE0170918F
+:103F9000BF01C42AD52AE62AF72ACFE1D0E0D7010B
+:103FA000C6010C2E04C0B695A795979587950A94DF
+:103FB000D2F780FF07C0B8018C2F0E94DA0B813046
+:103FC000910531F4219758F7B80180E00E94DA0B8F
+:103FD000DF91CF911F910F91FF90EF90DF90CF90E5
+:103FE000089590910C01992321F090910D01911168
+:103FF00009C020910E0130910F01F90132969FEF17
+:1040000040E030C0982F9695969596959F30A0F4F5
+:10401000E0910E01F0910F01E90FF11D877021E091
+:1040200030E0A90102C0440F551F8A95E2F7CA018A
+:104030009181892B818308959091D70190FF23C0AE
+:104040001F928F9387ED95E09F938F930E94EB07CC
+:104050000F900F900F900F9008959F3F39F04F5F92
+:104060004E3041F051915813F8CF0DC05111F7CF98
+:10407000942FF5CF9F3F39F0F901E90FF11D97FD1E
+:10408000FA9582830895089590910C01992321F067
+:1040900090910D01911109C020910E0130910F01F5
+:1040A000F9013296205F3F4F30C0982F9695969534
+:1040B00096959F30A8F4E0910E01F0910F01E90F61
+:1040C000F11D877021E030E0A90102C0440F551FA7
+:1040D0008A95E2F7CA0180959181892381830895A9
+:1040E0009091D70190FF16C01F928F9389EB95E0B6
+:1040F0009F938F930E94EB070F900F900F900F905C
+:1041000008953196E217F30729F090819813F9CFBB
+:104110001082F7CF089581E090E0E0910E01F091D8
+:104120000F01E80FF91F1082019680319105A9F760
+:1041300008959091D601892B8093D601089580959A
+:104140009091D60189238093D60108951092D601CB
+:1041500008959091D501892B8093D501089580957C
+:104160009091D50189238093D50108951092D501AE
+:1041700008958093C40108951092C4010895809118
+:104180000E0190910F01FC0131969C01205F3F4F81
+:1041900080E0919191118F5FE217F307D1F70895B5
+:1041A000E0910E01F0910F018091D6018083E091A2
+:1041B0000E01F0910F0190818091D501892B8083B0
+:1041C0008091C401882361F0E0910E01F0910F010C
+:1041D0009081892B80830E94BF2081111092C4019D
+:1041E00080910E0190910F010C94EB1490933B0180
+:1041F00080933A010895CF92DF92EF92FF926C0183
+:10420000EE24FF24C114D104E104F10421F0C7011C
+:10421000B60120E101C020E0C72ED82EE92EFF24F0
+:10422000C114D104E104F10419F0285FC701B601FB
+:104230006B017C0154E0F694E794D794C7945A95A7
+:10424000D1F7C114D104E104F10419F02C5FC701C6
+:10425000B6016B017C0142E0F694E794D794C794D1
+:104260004A95D1F7C114D104E104F10419F02E5F8D
+:10427000C701B601DC01CB01B695A7959795879547
+:10428000892B8A2B8B2B09F02F5F822FFF90EF90C9
+:10429000DF90CF9008958295982F9C7C392F36958A
+:1042A0003695282F237344E0249FC0011124932FB7
+:1042B000982B292F2A7A2695892F8575880F822B8E
+:1042C00008951F93CF93DF931F92CDB7DEB79983E5
+:1042D0000E944B21182F9981892F0E944B21212F59
+:1042E00030E0322F2227A901482BCA010F90DF911D
+:1042F000CF911F9108958091F001843009F11092BF
+:10430000D80120E488E190E00FB6F894A895809356
+:1043100060000FBE2093600083B7817F846083BFFD
+:1043200083B7816083BF7894889583B78E7F83BF7E
+:1043300088E10FB6F89480936000109260000FBE81
+:10434000089508950895CF930E94A1210E947F09A6
+:104350000E94A221C0E08C2F0E94AB0A811104C0F0
+:10436000CF5FCE30C1F701C081E0CF9108950C94AA
+:10437000BB1A82E084BD93E095BD9AEF97BD809310
+:104380006E0008952FB7F8948091D9019091DA01C9
+:10439000A091DB01B091DC012FBF0895CF92DF9295
+:1043A000EF92FF920F931F932FB7F8944091D9018A
+:1043B0005091DA016091DB017091DC012FBF6A013D
+:1043C0007B01EE24FF248C0120E030E0C016D106F2
+:1043D000E206F30610F4415051099A01281B390BEB
+:1043E000C9011F910F91FF90EF90DF90CF9008953A
+:1043F0001F920F920FB60F9211248F939F93AF933A
+:10440000BF938091D9019091DA01A091DB01B09125
+:10441000DC010196A11DB11D8093D9019093DA01B1
+:10442000A093DB01B093DC01BF91AF919F918F917D
+:104430000F900FBE0F901F9018950E94DD11F894F9
+:104440002FEF87EA91E6215080409040E1F700C0CD
+:10445000000087E090EBDC018093F9019093FA0172
+:10446000A093FB01B093FC019CE088E10FB6F894A7
+:10447000A895809360000FBE90936000FFCFEF92ED
+:10448000FF920F931F93CF93DF93D82FC0E08C2F11
+:104490000E94AB0A00E010E0E82EF12CC701002ECC
+:1044A00002C0959587950A94E2F780FD06C00F5FDC
+:1044B0001F4F0630110591F709C0602F7C2F80E057
+:1044C0000E94B80BD813F3CF81E004C0CF5FCE3089
+:1044D000F1F680E0DF91CF911F910F91FF90EF9067
+:1044E0000895CF93C82F8CE20E943F22882321F0A9
+:1044F0008C2FCF910C943F2280E0CF910895CF93E1
+:104500000E94CE23811102C00E94B4238CEF95E05B
+:104510000E945207C5E6C15049F00E947F098FE30F
+:104520009CE90197F1F700C00000F5CF85EF95E019
+:104530000E94520789E20E947122811113C18AE20E
+:104540000E94712281110E94B42385E00E94712291
+:1045500081110E941D220E94D9238093D70187E0F8
+:104560000E9471228823A9F18BE10E947122882385
+:1045700051F08091D70181FB222720F991E0922709
+:1045800090FB81F90EC08EE00E947122882361F0B9
+:104590008091D70182FB222720F991E0922790FB9E
+:1045A00082F98093D70115C080E10E947122909119
+:1045B000D701882341F093FB222720F981E082274D
+:1045C00080FB93F904C0892F809580FB90F990932C
+:1045D000D7018091D7010E94DD230E94EB238093B5
+:1045E000EA0180EE0E947122882341F08091EA0165
+:1045F000982F909590FB80F98093EA0189E30E94BF
+:104600007122882359F08091EA0181FB222720F949
+:1046100091E0922790FB81F98093EA0182EE0E945B
+:104620007122882359F08091EA0182FB222720F928
+:1046300091E0922790FB82F98093EA0186EE0E9436
+:104640007122882359F08091EA0183FB222720F907
+:1046500091E0922790FB83F98093EA0183EE0E9418
+:104660007122882359F08091EA0184FB222720F9E6
+:1046700091E0922790FB84F98093EA0185E30E9400
+:104680007122882359F08091EA0185FB222720F9C5
+:1046900091E0922790FB85F98093EA0181E30E94E3
+:1046A0007122882359F08091EA0186FB222720F9A4
+:1046B00091E0922790FB86F98093EA0181E10E94C4
+:1046C0007122882359F08091EA0187FB222720F983
+:1046D00091E0922790FB87F98093EA018091EA01AB
+:1046E0000E94EF238091EA0187FB882780F980935D
+:1046F0000D0187E20E947122C82F8EE10E94712273
+:104700008111C2608FE10E9471228111C46080E238
+:104710000E9471228111C86081E20E947122811180
+:10472000C06182E20E9471228111C06283E20E9414
+:1047300071228111C06484E20E947122882311F0E9
+:10474000C06802C0CC2329F08C2F0E94E6236C2F76
+:1047500003C00E94E223682F70E080E090E0CF91D8
+:104760000C94771ECF9108956DEE7EEF80E090E07F
+:104770000E94B72D60E082E090E00E94A92D60E0E9
+:1047800083E090E00E94A92D60E084E090E00E9428
+:10479000A92D60E085E090E00C94A92D80E090E0E8
+:1047A0000E94A32D21E08D3E9E4F09F020E0822F34
+:1047B000089582E090E00C949B2D682F82E090E0B9
+:1047C0000C94A92D83E090E00C949B2D682F83E03E
+:1047D00090E00C94A92D84E090E00C949B2D682F20
+:1047E00084E090E00C94A92D8091DF0180FF0BC044
+:1047F0006091130185E0689FB0011124759567955C
+:10480000759567952BC081FF09C06091130185E004
+:10481000689FB00111247595679520C082FF07C07D
+:104820006091130185E0689FB001112417C0909139
+:10483000E0019923D1F060911201961788F7209139
+:10484000130185E0289F90011124929FA001939F5E
+:10485000500D112470E0CA010E946D2D6038710561
+:1048600040F46115710539F002C065E070E0862FF3
+:1048700008958FE7089581E008958091DF0180FF1A
+:1048800008C06091110170E0759567957595679501
+:1048900021C081FF06C06091110170E07595679598
+:1048A00019C082FF04C06091110170E010C09091A6
+:1048B000E0019923C1F0609110019617A0F7809153
+:1048C0001101899FC001112470E00E946D2D603894
+:1048D000710528F46115710521F0862F08958FE781
+:1048E000089581E0089561E070E0F4CF803F21F405
+:1048F0000E94F423819504C0813F29F40E94F4238F
+:104900008093E3010895823F21F40E94F42381956E
+:1049100004C0833F29F40E94F4238093E2010895A8
+:10492000893F19F40E943D2405C08A3F31F40E945A
+:104930003D2481958093E40108958B3F21F40E94EA
+:104940003D24819504C08C3F29F40E943D2480932E
+:10495000E5010895843F21F48091E101816017C051
+:10496000853F21F48091E101826011C0863F21F4EE
+:104970008091E10184600BC0873F21F48091E101C7
+:10498000886005C0883F31F48091E10180618093A7
+:10499000E10108958D3F21F48091DF0181600BC01A
+:1049A0008E3F21F48091DF01826005C08F3F29F4A2
+:1049B0008091DF0184608093DF010895803F39F4A6
+:1049C0008091E30187FF6CC01092E30169C0813FD1
+:1049D00029F48091E3011816BCF362C09091E201C2
+:1049E000823F29F497FF5CC01092E20159C0833FD7
+:1049F00019F41916CCF354C0893F41F48091E401B5
+:104A000018160CF04DC01092E4014AC08A3F29F4F8
+:104A10008091E40187FF44C0F6CF8B3F39F4809149
+:104A2000E50187FF3DC01092E5013AC08C3F29F4B3
+:104A30008091E5011816BCF333C0843F21F48091C6
+:104A4000E1018E7F17C0853F21F48091E1018D7FC8
+:104A500011C0863F21F48091E1018B7F0BC0873F1D
+:104A600021F48091E101877F05C0883F31F4809176
+:104A7000E1018F7E8093E10113C08D3F21F480918D
+:104A8000DF018E7F0BC08E3F21F48091DF018D7F8F
+:104A900005C08F3F29F48091DF018B7F8093DF0178
+:104AA0008091E20181110EC08091E30181110AC061
+:104AB0008091E401811106C08091E501811102C05D
+:104AC0001092E00108958091D70183FF7EC088E3B2
+:104AD00096E00E9452078091E1011F928F9383E339
+:104AE00096E09F938F930E94EB0781E396E00E94EC
+:104AF00052078091E201282F332727FD30953F93FD
+:104B00008F938EE296E09F938F930E94EB078CE247
+:104B100096E00E9452078091E301282F332727FD5A
+:104B200030953F938F9389E296E09F938F930E94F5
+:104B3000EB0787E296E00E9452078091E401282F5C
+:104B4000332727FD30953F938F9384E296E09F9320
+:104B50008F930E94EB0782E296E00E9452078091B9
+:104B6000E501282F332727FD30953F938F938FE161
+:104B700096E09F938F930E94EB078CE196E00E9452
+:104B800052078091E0011F928F9389E196E09F93F5
+:104B90008F930E94EB0787E196E00E945207809175
+:104BA000DF011F928F9384E196E09F938F930E9481
+:104BB000EB0781E196E00E9452078DB79EB74C96B5
+:104BC0000FB6F8949EBF0FBE8DBF81EE91E00E949C
+:104BD00034150E94C2219093DE018093DD01089577
+:104BE0001F93CF93DF938091DD019091DE010E94AE
+:104BF000CE21AC019091E001992321F02091140184
+:104C000030E006C0209115018AE0289F9001112410
+:104C10004217530708F486C08091E201C091E30176
+:104C2000D091E4011091E501811107C0C11176C056
+:104C3000D11174C0111172C075C09F3F19F09F5FF0
+:104C40009093E001181624F40E94F4238093E2016B
+:104C50008091E20187FF05C00E94F4238195809333
+:104C6000E2011C1624F40E94F4238093E301809156
+:104C7000E30187FF05C00E94F42381958093E3013F
+:104C80006091E201662339F1C091E301CC2319F16F
+:104C9000772767FD7095872F972F0E94722C23E34B
+:104CA00033E343E35FE30E94D62C0E943F2C6093E2
+:104CB000E2016C2F772767FD7095872F972F0E9451
+:104CC000722C23E333E343E35FE30E94D62C0E947C
+:104CD0003F2C6093E3011D1624F40E943D24809331
+:104CE000E4018091E40187FF05C00E943D24819585
+:104CF0008093E401111624F40E943D248093E50181
+:104D00008091E50187FF05C00E943D248195809335
+:104D1000E501DF91CF911F910C9463259F3F09F02E
+:104D20008ECF96CFDF91CF911F910895E1EEF1E004
+:104D300085E0DF011D928A95E9F71092E00110925B
+:104D4000DF0108958BE598E00E9452071F9281E0F1
+:104D50008F931F9285E08F938DE098E09F938F93C0
+:104D60000E94EB070F900F900F900F900F900F90F5
+:104D700008958330E9F128F4813061F0823009F13F
+:104D80000895853009F462C008F449C0863009F4FA
+:104D900074C0089580911501262F30E0280F311D31
+:104DA0002F3F310524F4680F6093150103C08FEF86
+:104DB00080931501809115011F928F9386E497E0EF
+:104DC00072C080911401262F30E0280F311D2F3F33
+:104DD000310524F4680F6093140103C08FEF8093B2
+:104DE0001401809114011F928F9384E397E05BC0BC
+:104DF00080911301262F30E0280F311D2F3F310500
+:104E000024F4680F6093130103C08FEF80931301A4
+:104E1000809113011F928F9381E297E044C08091AB
+:104E20001201262F30E0280F311D2F3F310524F4C9
+:104E3000680F6093120103C08FEF8093120180917D
+:104E400012011F928F938CE097E02DC08091110189
+:104E5000262F30E0280F311D2F3F310524F4680F35
+:104E60006093110103C08FEF8093110180911101B4
+:104E70001F928F9383EF96E016C080911001262F2A
+:104E800030E0280F311D2F3F310524F4680F609367
+:104E9000100103C08FEF80931001809110011F92C9
+:104EA0008F9388ED96E09F938F930E94EB070F906E
+:104EB0000F900F900F900895833081F128F4813086
+:104EC00059F08230D1F00895853009F449C0B8F125
+:104ED000863009F456C0089580911501681720F4B2
+:104EE000861B8093150102C0109215018091150157
+:104EF0001F928F9389EC96E054C08091140168173B
+:104F000020F4861B8093140102C01092140180913A
+:104F100014011F928F9387EB96E043C08091130199
+:104F2000681720F4861B8093130102C010921301AE
+:104F3000809113011F928F9384EA96E032C0809192
+:104F40001201681720F4861B8093120102C0109290
+:104F50001201809112011F928F938FE896E021C079
+:104F600080911101681720F4861B8093110102C003
+:104F700010921101809111011F928F9386E796E0A4
+:104F800010C080911001681720F4861B80931001D7
+:104F900002C010921001809110011F928F938BE537
+:104FA00096E09F938F930E94EB070F900F900F90C6
+:104FB0000F900895CF93C82F1F928F9380E699E0AA
+:104FC0009F938F930E94EB0781E090E0A0E0B0E018
+:104FD000BC01CD0104C0660F771F881F991FCA95B9
+:104FE000D2F70E94771E0F900F900F900F90CF91E5
+:104FF0000C94BB1ACF938D3109F465C0B0F58E3097
+:1050000009F4CCC100F5873009F49BC1A8F48630BF
+:1050100009F06DC28091D701817F8E7F8093D70187
+:1050200085E699E00E94520781EA9DE00E945207BE
+:1050300081E08093E70180C1883009F44FC08B3054
+:1050400009F47CC154C2863109F4F0C138F48031CE
+:1050500009F4B8C1813109F430C249C2893109F477
+:10506000CEC18B3109F486C142C2853309F437C2FF
+:1050700048F4873209F433C208F433C2893209F4A0
+:105080002EC235C2833438F48A3308F02CC28833F8
+:1050900009F454C12CC2833409F421C2883409F0C4
+:1050A00026C20E94BB1A80E99DE00E9452079FEF32
+:1050B00023ED80E3915020408040E1F700C00000E4
+:1050C0000E941D2239C180EB9DE00E9452070E9480
+:1050D000F92B0E94DF140E94110D2EC185EA9DE07C
+:1050E0000E94520786E79BE00E9452070E94E2233B
+:1050F0001F928F9383E79BE09F938F930E94EB0710
+:1051000081E79BE00E9452070E94D923C82F8EE5B9
+:105110009BE00E9452071F92CF9389E59BE09F93EB
+:105120008F930E94EB0787E59BE00E9452078DE476
+:105130009BE00E9452078C2F81701F928F938AE40C
+:105140009BE09F938F930E94EB0788E49BE00E9473
+:1051500052078EE39BE00E945207C1FB882780F92B
+:105160001F928F938BE39BE09F938F930E94EB079B
+:1051700089E39BE00E9452078DE29BE00E94520768
+:10518000C2FB882780F91F928F938AE29BE09F934E
+:105190008F930E94EB0788E29BE00E9452078FE109
+:1051A0009BE00E945207C3FBCC27C0F91F92CF930C
+:1051B0008CE19BE09F938F930E94EB078AE19BE039
+:1051C0000E9452070E94EB23C82F86E09BE00E94BA
+:1051D00052071F92CF9381E09BE09F938F930E9491
+:1051E000EB078FEF9AE00E94520786EE9AE00E944A
+:1051F00052078C2F81701F928F9383EE9AE09F93BA
+:105200008F930E94EB078DB79EB780960FB6F894E8
+:105210009EBF0FBE8DBF81EE9AE00E9452078AECBE
+:105220009AE00E945207C1FB882780F91F928F9352
+:1052300087EC9AE09F938F930E94EB0785EC9AE0AE
+:105240000E94520783EB9AE00E945207C2FB882714
+:1052500080F91F928F9380EB9AE09F938F930E9427
+:10526000EB078EEA9AE00E9452078CE99AE00E94CE
+:105270005207C3FB882780F91F928F9389E99AE030
+:105280009F938F930E94EB0787E99AE00E94520751
+:105290008DE89AE00E945207C4FB882780F91F928C
+:1052A0008F938AE89AE09F938F930E94EB0788E898
+:1052B0009AE00E94520786E79AE00E945207C5FBD7
+:1052C000882780F91F928F9383E79AE09F938F93AB
+:1052D0000E94EB0781E79AE00E94520785E59AE079
+:1052E0000E945207C6FB882780F91F928F9382E5A0
+:1052F0009AE09F938F930E94EB0780E59AE00E94CB
+:10530000520788E49AE00E945207C7FBCC27C0F9F5
+:105310001F92CF9385E49AE09F938F930E94EB07AF
+:1053200083E49AE00E9452078DB79EB74C960FB661
+:10533000F8949EBF0FBE8DBFC1E0DEC08CE899E03F
+:105340005BC08091D701C82FC17080FF09C083E87E
+:105350009DE00E9452078091D701817F8E7F47C0D8
+:1053600087E79DE00E9452078091D701816080937A
+:10537000D701E2CF9091D70191FBCC27C0F981E012
+:10538000C827892FC0FB81F98093D701CC2319F05E
+:105390008AE69DE027C08CE59DE02EC09091D70164
+:1053A00092FBCC27C0F981E0C827892FC0FB82F986
+:1053B0008093D701CC2319F08DE49DE013C08DE3D9
+:1053C0009DE01AC09091D70193FBCC27C0F981E0F2
+:1053D000C827892FC0FB83F98093D701CC2351F0D4
+:1053E00081E39DE00E9452078091D7018160809304
+:1053F000D70182C084E29DE00E9452079DCF85E1E3
+:105400009DE00E94520789EE9CE00E9452078CEAC0
+:105410009CE00E94520785E89CE00E94520781E4CC
+:105420009CE00E94520786E19CE0E6CF88E09CE089
+:105430000E9452070E94DF141F928F938EEE9BE012
+:105440009F938F930E94EB0780910C011F928F9383
+:1054500087ED9BE09F938F930E94EB0780916E01F5
+:105460001F928F9384EC9BE09F938F930E94EB0796
+:1054700080910D011F928F9381EB9BE09F938F93FF
+:105480000E94EB078091D9019091DA01A091DB0194
+:10549000B091DC01BF93AF939F938F938DE99BE015
+:1054A0009F938F930E94EB078DB79EB746960FB6DA
+:1054B000F8949EBF0FBE8DBF3FCF0E94BB1AC09114
+:1054C0000D0181E0C827C0930D01CC2329F083E9A9
+:1054D0009BE00E94520710C088E89BE08DCF80E0DF
+:1054E00003C08D5101C089530E94DA2725CF86E879
+:1054F0009BE00E945207C0E08C2FCF91089580E07E
+:10550000089580E00895CF93C82F8091E7018130FE
+:1055100081F020F0823009F44FC045C1E0910E01C6
+:10552000F0910F018081813169F0823209F03DC133
+:1055300009C0E0910E01F0910F018081813111F0DD
+:10554000823261F48C2F0E947F2A811104C08C2F3B
+:105550000E94FA272FC081E090E02CC08C2F0E947F
+:10556000812A811126C0C431E1F070F4CB3081F082
+:10557000C031D1F40E94A22688E599E00E9452072A
+:1055800082E08093E70115C0C93259F0C83361F455
+:1055900085E699E00E9452078CE599E00E94520747
+:1055A00008C01092E70103C186E599E00E94520706
+:1055B000FEC081E08170FDC0C43220F5CE3108F01C
+:1055C000C0C0CB3099F1C8F4C73009F0D2C08AE02E
+:1055D0008093150194E19093140193E0909313014B
+:1055E0008093120188E08093110188E2809310017A
+:1055F0008CEF97E00E945207BFC0C33149F1C4311C
+:10560000C1F0B7C0CB3409F4A9C028F4C93289F07D
+:10561000C83361F0AEC0C13509F49EC0C23509F48B
+:1056200099C0CE3409F0A5C06AE09EC00E94A226AF
+:10563000A3C08091E601882319F01092E6019CC076
+:1056400089E098E00E94520781E08093E701B1C0B1
+:1056500083EE97E00E94520781ED97E00E94520787
+:10566000809115011F928F938EEC97E09F938F93FB
+:105670000E94EB078CEC97E00E9452078AEB97E0C0
+:105680000E945207809114011F928F9387EB97E03D
+:105690009F938F930E94EB0785EB97E00E94520740
+:1056A00086EA97E00E945207809113011F928F9320
+:1056B00083EA97E09F938F930E94EB0781EA97E03C
+:1056C0000E94520780E997E00E94520780911201E0
+:1056D0001F928F938DE897E09F938F930E94EB0723
+:1056E0008BE897E00E94520786E797E00E945207F6
+:1056F000809111011F928F9383E797E09F938F937F
+:105700000E94EB0781E797E00E9452078AE597E045
+:105710000E945207809110011F928F9387E597E0B6
+:105720009F938F930E94EB0785E597E00E945207B5
+:105730008DB79EB748960FB6F8949EBF0FBE8DBF2B
+:105740001BC0CE51EC2FF0E0E15DFE4F80818093D5
+:10575000E60112C061E003C061E006C06AE080912A
+:10576000E6010E94B92608C08091E6010E945C27EC
+:1057700003C08AEF97E013C08091E601882369F0A7
+:105780001F928F9384EF97E09F938F930E94EB0774
+:105790000F900F900F900F9004C081EF97E00E9440
+:1057A000520781E006C01092E70180E002C080E06D
+:1057B00001CFCF910895E1E8F0E080818860808397
+:1057C0008081816080838FB7F89493E09093890003
+:1057D00090ED909388008FBF0895EFE6F0E0808110
+:1057E000826080830895EFE6F0E080818D7F808382
+:1057F0000895EFE6F0E0908182E0892780830895A4
+:105800001F920F920FB60F9211242F933F934F9335
+:105810005F936F937F938F939F93AF93BF93EF9318
+:10582000FF938091E8019091E90101969093E9013D
+:105830008093E801811103C082E00E94110DE09184
+:10584000E901E695E695F0E0E054F24FE4918091AD
+:10585000E8018E1303C080E00E94110DFF91EF91CB
+:10586000BF91AF919F918F917F916F915F914F9178
+:105870003F912F910F900FBE0F901F90189504D05D
+:105880006894B1118DC0089570D088F09F5790F042
+:10589000B92F9927B751A0F0D1F0660F771F881F55
+:1058A000991F1AF0BA95C9F712C0B13081F077D0BC
+:1058B000B1E0089574C0672F782F8827B85F39F05A
+:1058C000B93FCCF3869577956795B395D9F73EF4B4
+:1058D00090958095709561957F4F8F4F9F4F08955C
+:1058E000E89409C097FB3EF490958095709561957A
+:1058F0007F4F8F4F9F4F9923A9F0F92F96E9BB2730
+:105900009395F695879577956795B795F111F8CFAB
+:10591000FAF4BB0F11F460FF1BC06F5F7F4F8F4F16
+:105920009F4F16C0882311F096E911C0772321F00C
+:105930009EE8872F762F05C0662371F096E8862FA4
+:1059400070E060E02AF09A95660F771F881FDAF7FB
+:10595000880F9695879597F9089557FD9058440FAD
+:10596000551F59F05F3F71F04795880F97FB991FBE
+:1059700061F09F3F79F0879508951216130614067B
+:10598000551FF2CF4695F1DF08C016161706180608
+:10599000991FF1CF86957105610508940895E894E3
+:1059A000BB2766277727CB0197F908950BD078C0DE
+:1059B00069D028F06ED018F0952309F05AC05FC066
+:1059C0001124EECFCADFA0F3959FD1F3950F50E0DD
+:1059D000551F629FF001729FBB27F00DB11D639FA1
+:1059E000AA27F00DB11DAA1F649F6627B00DA11D47
+:1059F000661F829F2227B00DA11D621F739FB00DED
+:105A0000A11D621F839FA00D611D221F749F33275C
+:105A1000A00D611D231F849F600D211D822F762FF5
+:105A20006A2F11249F5750408AF0E1F088234AF0F2
+:105A3000EE0FFF1FBB1F661F771F881F915050403E
+:105A4000A9F79E3F510570F014C0AACF5F3FECF359
+:105A5000983EDCF3869577956795B795F795E7952A
+:105A60009F5FC1F7FE2B880F911D9695879597F93B
+:105A7000089597F99F6780E870E060E008959FEFD0
+:105A800080EC089500240A941616170618060906D5
+:105A9000089500240A9412161306140605060895A4
+:105AA000092E0394000C11F4882352F0BB0F40F42C
+:105AB000BF2B11F460FF04C06F5F7F4F8F4F9F4F6C
+:105AC0000895991B79E004C0991F961708F0961B5A
+:105AD000881F7A95C9F78095089597FB072E16F4CD
+:105AE000009407D077FD09D00E94872D07FC05D0D0
+:105AF0003EF4909581959F4F0895709561957F4FE5
+:105B00000895EE0FFF1F0590F491E02D0994AA1B54
+:105B1000BB1B51E107C0AA1FBB1FA617B70710F098
+:105B2000A61BB70B881F991F5A95A9F780959095CA
+:105B3000BC01CD010895F999FECF92BD81BDF89ABF
+:105B4000992780B50895A8E1B0E042E050E00C94B8
+:105B5000BE2D262FF999FECF1FBA92BD81BD20BD63
+:105B60000FB6F894FA9AF99A0FBE019608950E941A
+:105B7000A92D272F0C94AA2DDC01CB01FC01F9994A
+:105B8000FECF06C0F2BDE1BDF89A319600B40D9289
+:0C5B900041505040B8F70895F894FFCF42
+:105B9C002002120D030EE00DAC0D780D0101C501B4
+:105BAC0028080A03140A3F4D3620394605F904C368
+:105BBC0004A3046A04DD03F6030F0428044804015B
+:0A5BCC0002030405060708090000A3
+:00000001FF
diff --git a/keyboard/ergodox_ez/keymaps/colemak/keymap.c b/keyboard/ergodox_ez/keymaps/colemak/keymap.c
new file mode 100644
index 0000000000..ee72c42635
--- /dev/null
+++ b/keyboard/ergodox_ez/keymaps/colemak/keymap.c
@@ -0,0 +1,184 @@
+#include "ergodox_ez.h"
+#include "debug.h"
+#include "action_layer.h"
+
+#define BASE 0 // default layer
+#define SYMB 1 // symbols
+#define MDIA 2 // media keys
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+/* Keymap 0: Basic layer
+ *
+ * ,--------------------------------------------------. ,--------------------------------------------------.
+ * | = | 1 | 2 | 3 | 4 | 5 | LEFT | | RIGHT| 6 | 7 | 8 | 9 | 0 | - |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | Del | Q | W | F | P | G | L1 | | L1 | J | L | U | Y | ; | \ |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | BkSp | A | R | S | T | D |------| |------| H | N | E | I |O / L2| ' |
+ * |--------+------+------+------+------+------| Hyper| | Meh |------+------+------+------+------+--------|
+ * | LShift |Z/Ctrl| X | C | V | B | | | | K | M | , | . |//Ctrl| RShift |
+ * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
+ * |Grv/L1| '" |AltShf| Left | Right| | Up | Down | [ | ] | ~L1 |
+ * `----------------------------------' `----------------------------------'
+ * ,-------------. ,-------------.
+ * | App | LGui | | Alt |Ctrl/Esc|
+ * ,------|------|------| |------+--------+------.
+ * | | | Home | | PgUp | | |
+ * | Space|Backsp|------| |------| Tab |Enter |
+ * | |ace | End | | PgDn | | |
+ * `--------------------' `----------------------'
+ */
+// If it accepts an argument (i.e, is a function), it doesn't need KC_.
+// Otherwise, it needs KC_*
+[BASE] = KEYMAP( // layer 0 : default
+ // left hand
+ KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_LEFT,
+ KC_DELT, KC_Q, KC_W, KC_F, KC_P, KC_G, TG(SYMB),
+ KC_BSPC, KC_A, KC_R, KC_S, KC_T, KC_D,
+ KC_LSFT, CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, ALL_T(KC_NO),
+ LT(SYMB,KC_GRV),KC_QUOT, LALT(KC_LSFT), KC_LEFT,KC_RGHT,
+ ALT_T(KC_APP), KC_LGUI,
+ KC_HOME,
+ KC_SPC,KC_BSPC,KC_END,
+ // right hand
+ KC_RGHT, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
+ TG(SYMB), KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSLS,
+ KC_H, KC_N, KC_E, KC_I, LT(MDIA, KC_O), KC_QUOT,
+ MEH_T(KC_NO),KC_K, KC_M, KC_COMM,KC_DOT, CTL_T(KC_SLSH), KC_RSFT,
+ KC_UP, KC_DOWN,KC_LBRC,KC_RBRC, KC_FN1,
+ KC_LALT, CTL_T(KC_ESC),
+ KC_PGUP,
+ KC_PGDN,KC_TAB, KC_ENT
+ ),
+/* Keymap 1: Symbol Layer
+ *
+ * ,--------------------------------------------------. ,--------------------------------------------------.
+ * | | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F11 |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | | ! | @ | { | } | | | | | | Up | 7 | 8 | 9 | * | F12 |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | # | $ | ( | ) | ` |------| |------| Down | 4 | 5 | 6 | + | |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | % | ^ | [ | ] | ~ | | | | & | 1 | 2 | 3 | \ | |
+ * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
+ * | | | | | | | | . | 0 | = | |
+ * `----------------------------------' `----------------------------------'
+ * ,-------------. ,-------------.
+ * | | | | | |
+ * ,------|------|------| |------+------+------.
+ * | | | | | | | |
+ * | | |------| |------| | |
+ * | | | | | | | |
+ * `--------------------' `--------------------'
+ */
+// SYMBOLS
+[SYMB] = KEYMAP(
+ // left hand
+ KC_TRNS,KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS,
+ KC_TRNS,KC_EXLM,KC_AT, KC_LCBR,KC_RCBR,KC_PIPE,KC_TRNS,
+ KC_TRNS,KC_HASH,KC_DLR, KC_LPRN,KC_RPRN,KC_GRV,
+ KC_TRNS,KC_PERC,KC_CIRC,KC_LBRC,KC_RBRC,KC_TILD,KC_TRNS,
+ KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
+ KC_TRNS,KC_TRNS,
+ KC_TRNS,
+ KC_TRNS,KC_TRNS,KC_TRNS,
+ // right hand
+ KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
+ KC_TRNS, KC_UP, KC_7, KC_8, KC_9, KC_ASTR, KC_F12,
+ KC_DOWN, KC_4, KC_5, KC_6, KC_PLUS, KC_TRNS,
+ KC_TRNS, KC_AMPR, KC_1, KC_2, KC_3, KC_BSLS, KC_TRNS,
+ KC_TRNS,KC_DOT, KC_0, KC_EQL, KC_TRNS,
+ KC_TRNS, KC_TRNS,
+ KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS
+),
+/* Keymap 2: Media and mouse keys
+ *
+ * ,--------------------------------------------------. ,--------------------------------------------------.
+ * | | | | | | | | | | | | | | | |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | | | | MsUp | | | | | | | | | | | |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | |MsLeft|MsDown|MsRght| |------| |------| | | | | | Play |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | | | | | | | | | | | Prev | Next | | |
+ * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
+ * | | | | Lclk | Rclk | |VolUp |VolDn | Mute | | |
+ * `----------------------------------' `----------------------------------'
+ * ,-------------. ,-------------.
+ * | | | | | |
+ * ,------|------|------| |------+------+------.
+ * | | | | | | |Brwser|
+ * | | |------| |------| |Back |
+ * | | | | | | | |
+ * `--------------------' `--------------------'
+ */
+// MEDIA AND MOUSE
+[MDIA] = KEYMAP(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_U, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN1, KC_BTN2,
+ KC_TRNS, KC_TRNS,
+ KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS,
+ // right hand
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_MNXT, KC_TRNS, KC_TRNS,
+ KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS,
+ KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_WBAK
+),
+};
+
+const uint16_t PROGMEM fn_actions[] = {
+ [1] = ACTION_LAYER_TAP_TOGGLE(SYMB) // FN1 - Momentary Layer 1 (Symbols)
+};
+
+const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
+{
+ // MACRODOWN only works in this function
+ switch(id) {
+ case 0:
+ if (record->event.pressed) {
+ register_code(KC_RSFT);
+ } else {
+ unregister_code(KC_RSFT);
+ }
+ break;
+ }
+ return MACRO_NONE;
+};
+
+// Runs just one time when the keyboard initializes.
+void * matrix_init_user(void) {
+
+};
+
+// Runs constantly in the background, in a loop.
+void * matrix_scan_user(void) {
+
+ uint8_t layer = biton32(layer_state);
+
+ ergodox_board_led_off();
+ ergodox_right_led_1_off();
+ ergodox_right_led_2_off();
+ ergodox_right_led_3_off();
+ switch (layer) {
+ // TODO: Make this relevant to the ErgoDox EZ.
+ case 1:
+ ergodox_right_led_1_on();
+ break;
+ case 2:
+ ergodox_right_led_2_on();
+ break;
+ default:
+ // none
+ break;
+ }
+
+};
diff --git a/keyboard/ergodox_ez/keymaps/colemak/readme.md b/keyboard/ergodox_ez/keymaps/colemak/readme.md
new file mode 100644
index 0000000000..e28b2f0856
--- /dev/null
+++ b/keyboard/ergodox_ez/keymaps/colemak/readme.md
@@ -0,0 +1,4 @@
+# ErgoDox EZ Colemak Configuration
+
+Colemak layout with same layers as default ergodox ez keymap.
+
diff --git a/keyboard/ergodox_ez/keymaps/jack/keymap.c b/keyboard/ergodox_ez/keymaps/jack/keymap.c
index 2677a3d8fa..f8f73a1afd 100644
--- a/keyboard/ergodox_ez/keymaps/jack/keymap.c
+++ b/keyboard/ergodox_ez/keymaps/jack/keymap.c
@@ -8,29 +8,6 @@
#define MDIA 2 // media keys
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-/* Keymap 0: Basic layer
- *
- * ,--------------------------------------------------. ,--------------------------------------------------.
- * | = | 1 | 2 | 3 | 4 | 5 | LEFT | | RIGHT| 6 | 7 | 8 | 9 | 0 | - |
- * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
- * | Del | Q | W | E | R | T | L1 | | L1 | Y | U | I | O | P | \ |
- * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
- * | BkSp | A | S | D | F | G |------| |------| H | J | K | L |; / L2| ' |
- * |--------+------+------+------+------+------| Hyper| | Meh |------+------+------+------+------+--------|
- * | LShift |Z/Ctrl| X | C | V | B | | | | N | M | , | . |//Ctrl| RShift |
- * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
- * |Grv/L1| '" |AltShf| Left | Right| | Up | Down | [ | ] | ~L1 |
- * `----------------------------------' `----------------------------------'
- * ,-------------. ,-------------.
- * | App | LGui | | Alt |Ctrl/Esc|
- * ,------|------|------| |------+--------+------.
- * | | | Home | | PgUp | | |
- * | Space|Backsp|------| |------| Tab |Enter |
- * | |ace | End | | PgDn | | |
- * `--------------------' `----------------------'
- */
-// If it accepts an argument (i.e, is a function), it doesn't need KC_.
-// Otherwise, it needs KC_*
[BASE] = KEYMAP( // layer 0 : default
// left hand
KC_NO, KC_1, KC_2, KC_3, KC_4, KC_5, KC_NO,
@@ -51,28 +28,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_PGUP,
KC_PGDN, KC_SPC,KC_SPC
),
-/* Keymap 1: Symbol Layer
- *
- * ,--------------------------------------------------. ,--------------------------------------------------.
- * | | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F11 |
- * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
- * | | ! | @ | { | } | | | | | | Up | 7 | 8 | 9 | * | F12 |
- * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
- * | | # | $ | ( | ) | ` |------| |------| Down | 4 | 5 | 6 | + | |
- * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
- * | | % | ^ | [ | ] | ~ | | | | & | 1 | 2 | 3 | \ | |
- * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
- * | | | | | | | | . | 0 | = | |
- * `----------------------------------' `----------------------------------'
- * ,-------------. ,-------------.
- * | | | | | |
- * ,------|------|------| |------+------+------.
- * | | | | | | | |
- * | | |------| |------| | |
- * | | | | | | | |
- * `--------------------' `--------------------'
- */
-// SYMBOLS
[SYMB] = KEYMAP(
// left hand
KC_TRNS,KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS,
@@ -93,29 +48,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS
),
-/* Keymap 2: Media and mouse keys
- *
- * ,--------------------------------------------------. ,--------------------------------------------------.
- * | | | | | | | | | | | | | | | |
- * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
- * | | | | MsUp | | | | | | | | | | | |
- * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
- * | | |MsLeft|MsDown|MsRght| |------| |------| | | | | | Play |
- * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
- * | | | | | | | | | | | | Prev | Next | | |
- * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
- * | | | | Lclk | Rclk | |VolUp |VolDn | Mute | | |
- * `----------------------------------' `----------------------------------'
- * ,-------------. ,-------------.
- * | | | | | |
- * ,------|------|------| |------+------+------.
- * | | | | | | |Brwser|
- * | | |------| |------| |Back |
- * | | | | | | | |
- * `--------------------' `--------------------'
- */
-// MEDIA AND MOUSE
-KEYMAP(
+[MDIA] = KEYMAP(
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_TRNS,
KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5,
diff --git a/keyboard/ergodox_ez/keymaps/osx_de/keymap.c b/keyboard/ergodox_ez/keymaps/osx_de/keymap.c
new file mode 100644
index 0000000000..69acd9b951
--- /dev/null
+++ b/keyboard/ergodox_ez/keymaps/osx_de/keymap.c
@@ -0,0 +1,299 @@
+#include "ergodox_ez.h"
+#include "debug.h"
+#include "action_layer.h"
+#include "keymap_extras/keymap_german_osx.h"
+
+#define BASE 0 // default layer
+#define SYMB 1 // symbols
+#define MDIA 2 // media keys
+#define CRSR 3 // media keys
+#define NUMB 4 // number keys
+
+#define M_CTRL_CMDV 1
+#define M_CTRL_CMDC 2
+#define M_MEH_SH_ACUT 3
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+/* Keymap 0: Basic layer
+ *
+ * ,--------------------------------------------------. ,--------------------------------------------------.
+ * | ESC | 1 | 2 | 3 | 4 | 5 |CMD-V | |CMD-C | 6 | 7 | 8 | 9 | 0 | ß |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | TAB | Q | W | E | R | T | CMD | | CMD | Z | U | I | O | P | ü |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | LALT | A | S | D | F | G |------| |------| H | J | K | L | ö | ä/RALT|
+ * |--------+------+------+------+------+------| LALT | | RALT |------+------+------+------+------+--------|
+ * | LShift |Y/Ctrl| X | C | V | B | | | | N | M | , | . |-/Ctrl| RShift |
+ * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
+ * |</L1| ^° |AltShf| Left | Right| | Up | Down | CMD-SHIFT | + | #/L1 |
+ * `----------------------------------' `----------------------------------'
+ * ,-------------. ,---------------.
+ * | MDIA | Meh | | Hyper| NUM |
+ * ,------|------|------| |------+--------+------.
+ * | | | Home | | PgUp | | |
+ * | Back-| Del |------| |------| Enter | Space|
+ * | Space| | End | | PgDn | | |
+ * `--------------------' `----------------------'
+ */
+// If it accepts an argument (i.e, is a function), it doesn't need KC_.
+// Otherwise, it needs KC_*
+[BASE] = KEYMAP( // layer 0 : default
+ // left hand
+ KC_ESC, DE_1, DE_2, DE_3, DE_4, DE_5, M(M_CTRL_CMDV),
+ KC_TAB, DE_Q, DE_W, DE_E, DE_R, DE_T, KC_LGUI,
+ KC_LALT, DE_A, DE_S, DE_D, DE_F, DE_G,
+ KC_LSFT, CTL_T(DE_Y), DE_X, DE_C, DE_V, DE_B, KC_LALT,
+ LT(SYMB,KC_GRV), DE_LESS, LALT(KC_LSFT), KC_LEFT,KC_RGHT,
+ M(M_MEH_SH_ACUT), TG(2),
+ KC_HOME,
+ KC_BSPC,KC_DEL, KC_END,
+ // right hand
+ M(M_CTRL_CMDC), DE_6, DE_7, DE_8, DE_9, DE_0, DE_SS,
+ KC_RGUI, DE_Z, DE_U, DE_I, DE_O, DE_P, DE_UE,
+ DE_H, DE_J, DE_K, DE_L, DE_OE, ALT_T(DE_AE),
+ KC_RALT, DE_N, DE_M, DE_COMM,DE_DOT, CTL_T(DE_MINS), KC_RSFT,
+ KC_UP, KC_DOWN,LGUI(KC_LSFT),DE_PLUS, LT(SYMB,DE_HASH),
+ TG(4), ALL_T(DE_ACUT),
+ KC_PGUP,
+ KC_PGDN,KC_ENT, KC_SPC
+ ),
+/* Keymap 1: Symbol Layer
+ *
+ * ,--------------------------------------------------. ,--------------------------------------------------.
+ * | | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F11 |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | | < | > | ! | ? | | | | | \ | [ | ] | | | # | F12 |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | # | $ | \ | / | . |------| |------| / | ( | ) | { | } | |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | | ^ | % | | | ~ | | | | & | < | > | " | ' | ? |
+ * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
+ * | | | | | | | | | . | ! | |
+ * `----------------------------------' `----------------------------------'
+ * ,-------------. ,-------------.
+ * | | | | | |
+ * ,------|------|------| |------+------+------.
+ * | | | | | | | |
+ * | | |------| |------| | |
+ * | | | | | | | |
+ * `--------------------' `--------------------'
+ */
+// SYMBOLS
+[SYMB] = KEYMAP(
+ // left hand
+ KC_TRNS,KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS,
+ KC_TRNS,DE_LESS,DE_MORE,DE_EXLM,DE_QST, KC_TRNS,KC_TRNS,
+ KC_TRNS,DE_HASH,DE_DLR, DE_BSLS,DE_SLSH,KC_DOT,
+ KC_TRNS,KC_TRNS,DE_LESS,DE_PERC,DE_PIPE,DE_TILD,KC_TRNS,
+ KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
+ KC_TRNS,KC_TRNS,
+ KC_TRNS,
+ KC_TRNS,KC_DEL,KC_TRNS,
+ // right hand
+ KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
+ KC_TRNS, LALT(LSFT(KC_7)), LALT(KC_5), LALT(KC_6), LALT(KC_7), DE_HASH, KC_F12,
+ DE_SLSH, DE_LPRN, DE_RPRN, LALT(KC_8), LALT(KC_9), KC_TRNS,
+ KC_TRNS, DE_AMPR, KC_GRV, LSFT(KC_GRV), DE_DQOT, DE_QUOT, DE_QST,
+ KC_TRNS,KC_DOT, KC_EXLM, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS,
+ KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS
+),
+/* Keymap 2: Media and mouse keys
+ *
+ * ,--------------------------------------------------. ,--------------------------------------------------.
+ * | | | | | | | | | Mute | | | | | | Play |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | | | Lclk | MsUp | Rclk | WlUp | | | | | | | | | |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | |MsLeft|MsDown|MsRght| WlDw |------| |------|VolUp | | | | | |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | | | | | MClk | | | |VolDn | | Prev | Next | Up | |
+ * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
+ * | | | | | | | | | Left | Down | Right |
+ * `----------------------------------' `----------------------------------'
+ * ,-------------. ,-------------.
+ * | | | | | |
+ * ,------|------|------| |------+------+------.
+ * | | | | | | |Brwser|
+ * | | |------| |------| |Back |
+ * | | | | | | | |
+ * `--------------------' `--------------------'
+ */
+// MEDIA AND MOUSE
+KEYMAP(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_BTN1, KC_MS_U, KC_BTN2, KC_WH_U, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D,
+ KC_TRNS, KC_TRNS, KC_WH_L, KC_WH_D, KC_WH_R, KC_BTN3, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS,
+ KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS,
+ // right hand
+ KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_VOLD, KC_TRNS, KC_MPRV, KC_MNXT, KC_UP, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT,
+ KC_TRNS, KC_TRNS,
+ KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_WBAK
+),
+// ADNW-KOY layer
+/* Keymap 3: ADNW-Koy layer
+ * ADNW-Koy is a special layout designed to be ergonomic. Was created using software to determine the most ergonomic way to type German and English texts.
+ *
+ * ,--------------------------------------------------. ,--------------------------------------------------.
+ * | | | | | | | | | | | | | | | - |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | | K | . | O | , | Y | | | | V | G | C | L | ß | Z |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | H | A | E | I | U |------| |------| D | T | R | N | S | F/L2 |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | |X/Ctrl| Q | Ä | Ü | Ö | | | | B | P | W | M |J/Ctrl| RShift |
+ * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
+ * |</L1| ^ |AltShf| Left | Right| | Up | Down | CMD-SHIFT | ´ | //L1 |
+ * `----------------------------------' `----------------------------------'
+ * ,-------------. ,-------------.
+ * | | | | | |
+ * ,------|------|------| |------+--------+------.
+ * | | | | | | | |
+ * | | |------| |------| | |
+ * | | | | | | | |
+ * `--------------------' `----------------------'
+ */
+KEYMAP(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_K, KC_DOT, KC_O, KC_COMM, KC_Z, KC_TRNS,
+ KC_TRNS, KC_H, KC_A, KC_E, KC_I, KC_U,
+ KC_TRNS, CTL_T(KC_X),KC_Q, DE_AE, DE_UE, DE_OE, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS,
+ KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS,
+ // right hand
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_SLSH,
+ KC_TRNS, KC_V, KC_G, KC_C, KC_L, KC_MINS, KC_Y,
+ KC_D, KC_T, KC_R, KC_N, KC_S, LT(MDIA,KC_F),
+ KC_TRNS, KC_B, KC_P, KC_W, KC_M, CTL_T(KC_J), KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS,
+ KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS
+),
+//number pad
+KEYMAP(
+ KC_TRNS, KC_TRNS, 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, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS,
+ KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS,
+ // right hand
+ KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
+ KC_TRNS, KC_UP, KC_7, KC_8, KC_9, LSFT(KC_RBRC), KC_F12,
+ KC_DOWN, KC_4, KC_5, KC_6, KC_RBRC, KC_TRNS,
+ KC_TRNS, LSFT(KC_6), KC_1, KC_2, KC_3, LSFT(KC_7), KC_TRNS,
+ KC_0,KC_DOT, KC_0, KC_EQL, KC_TRNS,
+ KC_TRNS, KC_TRNS,
+ KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS
+),
+};
+
+const uint16_t PROGMEM fn_actions[] = {
+ [1] = ACTION_LAYER_TAP_TOGGLE(SYMB), // FN1 - Momentary Layer 1 (Symbols)
+ [2] = ACTION_LAYER_TAP_TOGGLE(CRSR) // FN2 - Momentary Layer 2 (Cursors)
+};
+
+const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
+{
+ static uint16_t start;
+ // MACRODOWN only works in this function
+ switch(id) {
+ case 0:
+ if (record->event.pressed) {
+ register_code(KC_RSFT);
+ } else {
+ unregister_code(KC_RSFT);
+ }
+ break;
+ case 1:
+ if (record->event.pressed) {
+ start = timer_read();
+ return MACRO(D(LCTRL), END);
+ } else {
+ if (timer_elapsed(start) > 150) {
+ return MACRO(U(LCTRL), END);
+ } else {
+ return MACRO(U(LCTRL), D(LGUI), T(V), U(LGUI), END);
+ }
+ }
+ break;
+ case 2:
+ if (record->event.pressed) {
+ start = timer_read();
+ return MACRO(D(LCTRL),END);
+ } else {
+ if (timer_elapsed(start) > 150){
+ return MACRO(U(LCTRL),END);
+ } else {
+ return MACRO(U(LCTRL),D(LGUI),T(C),U(LGUI),END);
+ }
+ }
+ break;
+ case 3:
+ if (record->event.pressed) {
+ start = timer_read();
+ return MACRO(D(LCTRL),D(LSFT),D(LALT),END);
+ } else {
+ if (timer_elapsed(start) > 150){
+ return MACRO(U(LCTRL),U(LSFT),U(LALT),END);
+ } else {
+ return MACRO(U(LCTRL),U(LALT),T(EQL),U(LSFT),END); //cannot use DE_ACUT here, as macro needs KC_ prefix
+ }
+ }
+ break;
+ }
+ return MACRO_NONE;
+};
+
+// Runs just one time when the keyboard initializes.
+void * matrix_init_user(void) {
+
+};
+
+// Runs constantly in the background, in a loop.
+void * matrix_scan_user(void) {
+
+ uint8_t layer = biton32(layer_state);
+
+ ergodox_board_led_off();
+ ergodox_right_led_1_off();
+ ergodox_right_led_2_off();
+ ergodox_right_led_3_off();
+ switch (layer) {
+ // TODO: Make this relevant to the ErgoDox EZ.
+ case 1:
+ ergodox_right_led_1_on();
+ break;
+ case 2:
+ ergodox_right_led_2_on();
+ break;
+ case 3:
+ ergodox_right_led_3_on();
+ break;
+ case 4:
+ ergodox_right_led_1_on();
+ ergodox_right_led_3_on();
+ //ergodox_board_led_on();
+ break;
+ default:
+ // none
+ break;
+ }
+
+};
diff --git a/keyboard/ergodox_ez/keymaps/osx_de/osx_de.hex b/keyboard/ergodox_ez/keymaps/osx_de/osx_de.hex
index eb82384d54..2c83055b0d 100644
--- a/keyboard/ergodox_ez/keymaps/osx_de/osx_de.hex
+++ b/keyboard/ergodox_ez/keymaps/osx_de/osx_de.hex
@@ -16,17 +16,17 @@
:1000F000E20001E001E101E20002E001E3010602A9
:100100000602E30002E00001E00002E001E3011961
:10011000021902E30002E00001E0000000F0A1F09B
-:10012000A329002B000354E100358100001E0014B8
+:10012000A329002B00E200E100358100001E00142D
:100130000004001D7135004D001F001A0016001B41
:1001400000E1044C00200008000700060050002ACF
:100150000021001500090019004F004A0022001775
-:10016000000A000500000002540130E3000000E234
-:1001700000000003300230E7000000E60000002E1F
-:100180007F23001C000B0011000000045424001801
+:10016000000A000500000003300130E3000000E257
+:1001700000000002540230E7000000E60000000426
+:100180005423001C000B00110000002E7F240018D7
:10019000000D00100052004B0025000C000E003630
:1001A0000051002C00260012000F003700E1082843
:1001B00000270013003300387130004E002D002F4F
-:1001C000003482E5003181000001000100010001DE
+:1001C000003474E5003181000001000100010001EC
:1001D00000010000003A003500310001000100017B
:1001E000003B0035022102350001004C003C001E9E
:1001F0000224062202010001003D002D02240224F7
@@ -38,26 +38,26 @@
:100250000425041F021E0201004300310026043160
:1002600002010001004400450001002D02010000D0
:100270000001000100010001000100000001000177
-:10028000000100FB000100010001000100F200F983
-:1002900000010001000100F000F100FA00F400018B
-:1002A0000001000100F300FC00F500010001000165
-:1002B000000100F600000001000100010000000143
-:1002C0000000000100010001000000010000000129
-:1002D0000001000100010001000000010001000117
-:1002E000000100A800A9000100010001000100AC0C
-:1002F00000AA00B600010001000100AB005000019F
+:100280000001000100010001000100F400F200FB88
+:1002900000010001000100F000F100FA000100017E
+:1002A000000100F500F300FC00010001000100F96D
+:1002B00000FA00F60000000100010001000000014A
+:1002C0000000000100A80001000000010000000182
+:1002D0000001000100A900AA0000000100010001C6
+:1002E000000100010001000100010001000100AC5B
+:1002F000000100B600010001000100AB0050000148
:1003000000010001000100520051000100AE000197
:1003100000010001004F0000000100010001000188
-:1003200000010000000100010001000100010001C6
-:1003300000010001000100010001000100010001B5
-:1003400000010001000100010001000100010001A5
-:100350000001000100010001000100010000000196
+:10032000000100000001000E000B001B7101000124
+:100330000001003700040014000100010001001258
+:10034000000800340001000100010036000C002FFD
+:10035000000100010001001D001800330000000131
:100360000001000100000001000000010001000187
-:100370000000000100000001000100010001000177
-:100380000000000100010001000100010001000166
-:100390000001000100010001000100010001000155
-:1003A00000010001005000010001000100010052A5
-:1003B000005100010001000100010001004F000098
+:100370000000000100000001000100190007000555
+:10038000000000010001000A001700130001000135
+:10039000000100060015001A000100010001000F15
+:1003A00000110010000100010001002D0016000DD9
+:1003B000710100010038001C0009820100010000E9
:1003C0000001000100010001000100000001000126
:1003D00000010001000100010001000100500001C6
:1003E0000001000100010052005100010001000164
diff --git a/keyboard/ergodox_ez/keymaps/osx_de_adnw_koy/keymap.c b/keyboard/ergodox_ez/keymaps/osx_de_adnw_koy/keymap.c
index 7e9defafa7..fb8635118b 100644
--- a/keyboard/ergodox_ez/keymaps/osx_de_adnw_koy/keymap.c
+++ b/keyboard/ergodox_ez/keymaps/osx_de_adnw_koy/keymap.c
@@ -15,49 +15,50 @@
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-/* Keymap 0: Basic layer
+// If it accepts an argument (i.e, is a function), it doesn't need KC_.
+// Otherwise, it needs KC_*
+
+/* Keymap 0: ADNW-Koy layer
+ * ADNW-Koy is a special layout designed to be ergonomic. Was created using software to determine the most ergonomic way to type German and English texts.
*
* ,--------------------------------------------------. ,--------------------------------------------------.
- * | ESC | 1 | 2 | 3 | 4 | 5 |CMD-V | |CMD-C | 6 | 7 | 8 | 9 | 0 | ß |
+ * | ESC | 1 | 2 | 3 | 4 | 5 |Lctrl | |Rctrl | 6 | 7 | 8 | 9 | 0 | - |
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
- * | TAB | Q | W | E | R | T | CMD | | CMD | Z | U | I | O | P | ü |
+ * | TAB | K | . | O | , | Y | CMD | | CMD | V | G | C | L | ß | Z |
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
- * | ADNW | A | S | D | F | G |------| |------| H | J | K | L | ö | ä/L2 |
+ * | ADNW | H | A | E | I | U |------| |------| D | T | R | N | S | F/L2 |
* |--------+------+------+------+------+------| LALT | | RALT |------+------+------+------+------+--------|
- * | LShift |Y/Ctrl| X | C | V | B | | | | N | M | , | . |-/Ctrl| RShift |
+ * | LShift |X/Ctrl| Q | Ä | Ü | Ö | | | | B | P | W | M |J/Ctrl| RShift |
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
- * |</L1| ^° |AltShf| Left | Right| | Up | Down | CMD-SHIFT | + | #/L1 |
+ * |</L1| ^ |AltShf| Left | Right| | Up | Down | CMD-SHIFT | ´ | //L1 |
* `----------------------------------' `----------------------------------'
- * ,-------------. ,---------------.
- * | MDIA | Meh | | Hyper| NUM |
+ * ,-------------. ,-------------.
+ * | L1 | LGui | | Alt |Ctrl/Esc|
* ,------|------|------| |------+--------+------.
* | | | Home | | PgUp | | |
- * | Back-| Del |------| |------| Enter | Space|
- * | Space| | End | | PgDn | | |
+ * | Space|Backsp|------| |------| Enter | Space|
+ * | |ace | End | | PgDn | | |
* `--------------------' `----------------------'
*/
-// If it accepts an argument (i.e, is a function), it doesn't need KC_.
-// Otherwise, it needs KC_*
-[BASE] = KEYMAP( // layer 0 : default
- // left hand
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, LGUI(KC_V),
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LGUI,
- TG(3), KC_A, KC_S, KC_D, KC_F, KC_G,
- KC_LSFT, CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, KC_LALT,
- LT(SYMB,KC_GRV), DE_LESS, LALT(KC_LSFT), KC_LEFT,KC_RGHT,
- TG(2), MEH_T(LSFT(DE_ACUT)),
- KC_HOME,
- KC_BSPC,KC_DEL,KC_END,
- // right hand
- LGUI(KC_C), KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
- KC_RGUI, KC_Y, KC_U, KC_I, KC_O, KC_P, DE_UE,
- KC_H, KC_J, KC_K, KC_L, KC_SCLN,LT(MDIA,DE_AE),
- KC_RALT,KC_N, KC_M, KC_COMM,KC_DOT, CTL_T(KC_SLSH), KC_RSFT,
- KC_UP, KC_DOWN,LGUI(KC_LSFT),KC_RBRC, LT(SYMB,KC_BSLS),
- ALL_T(DE_ACUT), TG(4),
- KC_PGUP,
- KC_PGDN,KC_ENT, KC_SPC
- ),
+KEYMAP(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_K, KC_DOT, KC_O, KC_COMM, KC_Z, KC_TRNS,
+ KC_TRNS, KC_H, KC_A, KC_E, KC_I, KC_U,
+ KC_TRNS, CTL_T(KC_X),KC_Q, DE_AE, DE_UE, DE_OE, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS,
+ KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS,
+ // right hand
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_SLSH,
+ KC_TRNS, KC_V, KC_G, KC_C, KC_L, KC_MINS, KC_Y,
+ KC_D, KC_T, KC_R, KC_N, KC_S, LT(MDIA,KC_F),
+ KC_TRNS, KC_B, KC_P, KC_W, KC_M, CTL_T(KC_J), KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS,
+ KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS
+),
/* Keymap 1: Symbol Layer
*
* ,--------------------------------------------------. ,--------------------------------------------------.
@@ -141,48 +142,49 @@ KEYMAP(
KC_TRNS,
KC_TRNS, KC_TRNS, KC_WBAK
),
-/* Keymap 3: ADNW-Koy layer
- * ADNW-Koy is a special layout designed to be ergonomic. Was created using software to determine the most ergonomic way to type German and English texts.
+/* Keymap 3: qwertz layer
*
* ,--------------------------------------------------. ,--------------------------------------------------.
- * | ESC | 1 | 2 | 3 | 4 | 5 |Lctrl | |Rctrl | 6 | 7 | 8 | 9 | 0 | - |
+ * | ESC | 1 | 2 | 3 | 4 | 5 |CMD-V | |CMD-C | 6 | 7 | 8 | 9 | 0 | ß |
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
- * | TAB | K | . | O | , | Y | CMD | | CMD | V | G | C | L | ß | Z |
+ * | TAB | Q | W | E | R | T | CMD | | CMD | Z | U | I | O | P | ü |
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
- * | ADNW | H | A | E | I | U |------| |------| D | T | R | N | S | F/L2 |
+ * | ADNW | A | S | D | F | G |------| |------| H | J | K | L | ö | ä/L2 |
* |--------+------+------+------+------+------| LALT | | RALT |------+------+------+------+------+--------|
- * | LShift |X/Ctrl| Q | Ä | Ü | Ö | | | | B | P | W | M |J/Ctrl| RShift |
+ * | LShift |Y/Ctrl| X | C | V | B | | | | N | M | , | . |-/Ctrl| RShift |
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
- * |</L1| ^ |AltShf| Left | Right| | Up | Down | CMD-SHIFT | ´ | //L1 |
+ * |</L1| ^° |AltShf| Left | Right| | Up | Down | CMD-SHIFT | + | #/L1 |
* `----------------------------------' `----------------------------------'
- * ,-------------. ,-------------.
- * | L1 | LGui | | Alt |Ctrl/Esc|
+ * ,-------------. ,---------------.
+ * | MDIA | Meh | | Hyper| NUM |
* ,------|------|------| |------+--------+------.
* | | | Home | | PgUp | | |
- * | Space|Backsp|------| |------| Enter | Space|
- * | |ace | End | | PgDn | | |
+ * | Back-| Del |------| |------| Enter | Space|
+ * | Space| | End | | PgDn | | |
* `--------------------' `----------------------'
*/
-KEYMAP(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_K, KC_DOT, KC_O, KC_COMM, KC_Z, KC_TRNS,
- KC_TRNS, KC_H, KC_A, KC_E, KC_I, KC_U,
- KC_TRNS, CTL_T(KC_X),KC_Q, DE_AE, DE_UE, DE_OE, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS,
- KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS,
- // right hand
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_SLSH,
- KC_TRNS, KC_V, KC_G, KC_C, KC_L, KC_MINS, KC_Y,
- KC_D, KC_T, KC_R, KC_N, KC_S, LT(MDIA,KC_F),
- KC_TRNS, KC_B, KC_P, KC_W, KC_M, CTL_T(KC_J), KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS,
- KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS
-),
+[BASE] = KEYMAP( // layer 3 : default qwertz layout
+ // left hand
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, LGUI(KC_V),
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LGUI,
+ TG(3), KC_A, KC_S, KC_D, KC_F, KC_G,
+ KC_LSFT, CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, KC_LALT,
+ LT(SYMB,KC_GRV), DE_LESS, LALT(KC_LSFT), KC_LEFT,KC_RGHT,
+ TG(2), MEH_T(LSFT(DE_ACUT)),
+ KC_HOME,
+ KC_BSPC,KC_DEL,KC_END,
+ // right hand
+ LGUI(KC_C), KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
+ KC_RGUI, KC_Y, KC_U, KC_I, KC_O, KC_P, DE_UE,
+ KC_H, KC_J, KC_K, KC_L, KC_SCLN,LT(MDIA,DE_AE),
+ KC_RALT,KC_N, KC_M, KC_COMM,KC_DOT, CTL_T(KC_SLSH), KC_RSFT,
+ KC_UP, KC_DOWN,LGUI(KC_LSFT),KC_RBRC, LT(SYMB,KC_BSLS),
+ ALL_T(DE_ACUT), TG(4),
+ KC_PGUP,
+ KC_PGDN,KC_ENT, KC_SPC
+ ),
+//numblock
KEYMAP(
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS,
diff --git a/keyboard/ergodox_ez/keymaps/tm2030/README.md b/keyboard/ergodox_ez/keymaps/tm2030/README.md
new file mode 100644
index 0000000000..096939dc28
--- /dev/null
+++ b/keyboard/ergodox_ez/keymaps/tm2030/README.md
@@ -0,0 +1,136 @@
+# TypeMatrixâ„¢ 2030 inspired layout
+
+This is a [TypeMatrixâ„¢ 2030](http://typematrix.com/2030/features.php) inspired layout for the ErgoDox EZ. The _TypeMatrix_ is a nice small ergonomic keyboard with a matrix layout, and it provides several nice features like `enter`, `backspace` and `delete` at the center, bigger `shift` keys and international `cut`, `copy` and `paste` keys.
+
+The idea in this ErgoDox layout is to make it is as close as possible to the TM2030, such that it would be easy to switch between the TM and the ErgoDox. No _fancy_ features have been implemented, as this is intended to be a base for further customization if desired. Some keys have been duplicated in order to accomodate for most people.
+
+Most of the TM2030 features are supported except
+* automatic window switching (alt-tab key, at the left of the space key)
+* show desktop key (at the right of the space key)
+* 102/106 modes
+
+Dvorak mode is even supported by pressing [`Magic`](/TMK_README.md#magic-commands)+`1` (`Magic` is by default `LShift`+`RShift`)
+
+Some keys had to be moved around to fit into the ErgoDox, especially the `F1`-`F12` keys and the arrow keys.
+
+## Base Layer
+This is the default layer, close to the TM with the following differences:
+
+ - Top row (with the `F`-keys) and rightmost column (with application shortcuts) are removed, the corresponding keys are displaced elsewhere.
+ - Bottom-left keys are reorganized on a single row as: `Ctrl`, `fn`, `Gui`, `Play`, `App`/`Alt`.
+ - `shuffle` and `desktop` are not supported.
+ - `right-shift` is moved on `'`, `\` and on the right thumb (the latter is actually the only _true_ `right-shift`, and must be used in the `Magic` key combination).
+ - `right-ctrl` is moved on `End`.
+ - `]` is moved in place of the dash (`-`).
+ - Dash (`-`) and `=` are moved on bottom right row.
+ - Arrows and `PgUp`/`PgDn` are moved on the thumbs.
+
+```
+,--------------------------------------------------. ,--------------------------------------------------.
+| ` | 1 | 2 | 3 | 4 | 5 | Del | | Del | 6 | 7 | 8 | 9 | 0 | ] |
+|--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+| Tab | Q | W | E | R | T |Backsp| |Backsp| Y | U | I | O | P | [ |
+|--------+------+------+------+------+------|ace | |ace |------+------+------+------+------+--------|
+| LShift | A | S | D | F | G |------| |------| H | J | K | L | ; | '/Shift|
+|--------+------+------+------+------+------|Enter | |Enter |------+------+------+------+------+--------|
+| LShift | Z | X | C | V | B | | | | N | M | , | . | / | \/Shift|
+`--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
+ |LCtrl | fn | LGui | Play |App/Alt| | RAlt | - | Home | = |End/Ctl|
+ `-----------------------------------' `-----------------------------------'
+ ,--------------. ,-------------.
+ |Esc/Alt| num | | Left |Right |
+ ,------+-------+------| |------+------+------.
+ | | | PgUp | | Up | | |
+ |Space |LShift |------| |------|RShift|Space |
+ | | | PgDn | | Down | | |
+ `---------------------' `--------------------'
+```
+
+### Layer Switching
+- Use `num` to toggle the Numeric Layer.
+- Hold `fn` to temporarily activate the Numeric & Fn Layers.
+
+As on the original TM 2030, when `num` layer is activated, holding `fn` disables it but enables the other `fn` keys.
+
+## Dvorak Layer
+Same as Layer 0 but with _Dvorak_ layout, to use with QWERTY OS layout.
+
+Enable Dvorak layout with [`Magic`](/TMK_README.md#magic-commands+`1` (`LShift`+`RShift`+`1`), disable with `Magic`-`0`.
+
+The middle (green) led indicates when the Dvorak layer is activated.
+
+ ,--------------------------------------------------. ,--------------------------------------------------.
+ | ` | 1 | 2 | 3 | 4 | 5 | Del | | Del | 6 | 7 | 8 | 9 | 0 | = |
+ |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ | Tab | ' | , | . | P | Y |Backsp| |Backsp| F | G | C | R | L | / |
+ |--------+------+------+------+------+------|ace | |ace |------+------+------+------+------+--------|
+ | LShift | A | O | E | U | I |------| |------| D | H | T | N | S | -/Shift|
+ |--------+------+------+------+------+------|Enter | |Enter |------+------+------+------+------+--------|
+ | LShift | ; | Q | J | K | X | | | | B | M | W | V | Z | \/Shift|
+ `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
+ |LCtrl | fn | LGui | Play |App/Alt| | RAlt | [ | Home | ] |End/Ctl|
+ `-----------------------------------' `-----------------------------------'
+ ,--------------. ,-------------.
+ |Esc/Alt| num | | Left |Right |
+ ,------+-------+------| |------+------+------.
+ | | | PgUp | | Up | | |
+ |Space |LShift |------| |------|RShift|Space |
+ | | | PgDn | | Down | | |
+ `---------------------' `--------------------'
+
+## Numeric Layer
+Numeric layer close to the TM when toggling `num`, with the following differences:
+
+- Numpad is displaced by 1 to the top left.
+- Arrows are displaced by 1 to the left.
+- Provides access to `F1`-`F12`, `caps-lock` and `num-lock`.
+
+The numeric layer is indicated with the left (red) led. Caps-lock is indicated with the right (blue) led.
+
+ ,--------------------------------------------------. ,--------------------------------------------------.
+ | | F1 | F2 | F3 | F4 | F5 | | | | | | Tab | / | * | - |
+ |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ | | F6 | F7 | F8 | F9 | F10 | | | | | Home | 7 | 8 | 9 | + |
+ |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ | | F11 | F12 | | | |------| |------| Up | End | 4 | 5 | 6 | + |
+ |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ | | | | | | | | | Left | Down | Right| 1 | 2 | 3 |KpEnter |
+ `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
+ | | | | | | | | 0 | 00 | . |Etr/Ctl|
+ `----------------------------------' `-----------------------------------'
+ ,-------------. ,-------------.
+ | | | |n.lock|c.lock|
+ ,------|------|------| |------+------+------.
+ | | | | | | | |
+ | | |------| |------| | |
+ | | | | | | | |
+ `--------------------' `--------------------'
+
+## Fn Layer
+Activated simultaneously with the Numeric layer when holding the `fn` key. As on the TM, it provides access to the following features:
+- `cut`, `copy` and `paste`
+- `volume up`, `volume down` and `mute` — as opposed to the TM, these are only on left hand
+- `previous track` and `next track`
+- `calculator`, `mail` and `browser home`
+- `insert`, `power`, `sleep`, `wake`, `print screen`, `scroll-lock` and `pause`
+
+Note: the `eject` key does not work due to jackhumbert/qmk_firmware#82
+
+ ,--------------------------------------------------. ,--------------------------------------------------.
+ | | | | | | |Insert| |Insert|Eject |Power |Sleep | Wake |PrtScr|ScrollLk|
+ |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ | | | | | | |VolUp | | | | | | | | Pause |
+ |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ | | | | Calc | Mail |Browsr|------| |------| | | | | | |
+ |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ | | | cut | copy |paste | Mute |VolDn | | | | | | | | |
+ `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
+ | | | | | | | | | | | |
+ `----------------------------------' `----------------------------------'
+ ,-------------. ,-------------.
+ | | | | | |
+ ,------|------|------| |------+------+------.
+ | | | | | Next | | |
+ | Mute | |------| |------| | |
+ | | | | | Prev | | |
+ `--------------------' `--------------------'
diff --git a/keyboard/ergodox_ez/keymaps/tm2030/keymap.c b/keyboard/ergodox_ez/keymaps/tm2030/keymap.c
new file mode 100644
index 0000000000..cbdf0ae00e
--- /dev/null
+++ b/keyboard/ergodox_ez/keymaps/tm2030/keymap.c
@@ -0,0 +1,258 @@
+/* TypeMatrix-2030-like keymap */
+#include "ergodox_ez.h"
+#include "debug.h"
+#include "action_layer.h"
+#include "led.h"
+
+#define BASE 0 // default layer
+#define DVRK 1 // Dvorak layer
+#define NUMR 8 // numeric layer
+#define FNLR 9 // fn layer
+
+#define MDBL0 1
+#define MFNLR 2
+#define MCUT 3
+#define MCOPY 4
+#define MPSTE 5
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+/* Basic layer
+ *
+ * ,--------------------------------------------------. ,--------------------------------------------------.
+ * | ` | 1 | 2 | 3 | 4 | 5 | Del | | Del | 6 | 7 | 8 | 9 | 0 | ] |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | Tab | Q | W | E | R | T |Backsp| |Backsp| Y | U | I | O | P | [ |
+ * |--------+------+------+------+------+------|ace | |ace |------+------+------+------+------+--------|
+ * | LShift | A | S | D | F | G |------| |------| H | J | K | L | ; | '/Shift|
+ * |--------+------+------+------+------+------|Enter | |Enter |------+------+------+------+------+--------|
+ * | LShift | Z | X | C | V | B | | | | N | M | , | . | / | \/Shift|
+ * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
+ * |LCtrl | fn | LGui | Play |App/Alt| | RAlt | - | Home | = |End/Ctl|
+ * `-----------------------------------' `-----------------------------------'
+ * ,--------------. ,-------------.
+ * |Esc/Alt| num | | Left |Right |
+ * ,------+-------+------| |------+------+------.
+ * | | | PgUp | | Up | | |
+ * |Space |LShift |------| |------|RShift|Space |
+ * | | | PgDn | | Down | | |
+ * `---------------------' `--------------------'
+ */
+// If it accepts an argument (i.e, is a function), it doesn't need KC_.
+// Otherwise, it needs KC_*
+[BASE] = KEYMAP( // layer 0 : default
+ // left hand
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_DELT,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_BSPC,
+ KC_LSFT, KC_A, KC_S, KC_D, KC_F, KC_G,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_ENT,
+ KC_LCTL, M(MFNLR), KC_LGUI,KC_MPLY,ALT_T(KC_APP),
+
+ ALT_T(KC_ESC), TG(NUMR),
+ KC_PGUP,
+ KC_SPC, KC_LSFT, KC_PGDN,
+
+ // right hand
+ KC_DELT, KC_6, KC_7, KC_8, KC_9, KC_0, KC_RBRC,
+ KC_BSPC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC,
+ KC_H, KC_J, KC_K, KC_L, KC_SCLN, SFT_T(KC_QUOT),
+ KC_ENT, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SFT_T(KC_BSLS),
+ KC_RALT, KC_MINS, KC_HOME, KC_EQL, CTL_T(KC_END),
+
+ KC_LEFT, KC_RGHT,
+ KC_UP,
+ KC_DOWN, KC_RSFT, KC_SPC
+ ),
+/* Dvorak layer
+ *
+ * ,--------------------------------------------------. ,--------------------------------------------------.
+ * | ` | 1 | 2 | 3 | 4 | 5 | Del | | Del | 6 | 7 | 8 | 9 | 0 | = |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | Tab | ' | , | . | P | Y |Backsp| |Backsp| F | G | C | R | L | / |
+ * |--------+------+------+------+------+------|ace | |ace |------+------+------+------+------+--------|
+ * | LShift | A | O | E | U | I |------| |------| D | H | T | N | S | -/Shift|
+ * |--------+------+------+------+------+------|Enter | |Enter |------+------+------+------+------+--------|
+ * | LShift | ; | Q | J | K | X | | | | B | M | W | V | Z | \/Shift|
+ * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
+ * |LCtrl | fn | LGui | Play |App/Alt| | RAlt | [ | Home | ] |End/Ctl|
+ * `-----------------------------------' `-----------------------------------'
+ * ,--------------. ,-------------.
+ * |Esc/Alt| num | | Left |Right |
+ * ,------+-------+------| |------+------+------.
+ * | | | PgUp | | Up | | |
+ * |Space |LShift |------| |------|RShift|Space |
+ * | | | PgDn | | Down | | |
+ * `---------------------' `--------------------'
+ */
+// If it accepts an argument (i.e, is a function), it doesn't need KC_.
+// Otherwise, it needs KC_*
+[DVRK] = KEYMAP( // layer 0 : default
+ // left hand
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_DELT,
+ KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_BSPC,
+ KC_LSFT, KC_A, KC_O, KC_E, KC_U, KC_I,
+ KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_ENT,
+ KC_LCTL, M(MFNLR), KC_LGUI, KC_MPLY, ALT_T(KC_APP),
+
+ ALT_T(KC_ESC), TG(NUMR),
+ KC_PGUP,
+ KC_SPC, KC_LSFT, KC_PGDN,
+
+ // right hand
+ KC_DELT, KC_6, KC_7, KC_8, KC_9, KC_0, KC_EQL,
+ KC_BSPC, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH,
+ KC_D, KC_H, KC_T, KC_N, KC_S, SFT_T(KC_MINS),
+ KC_ENT, KC_B, KC_M, KC_W, KC_V, KC_Z, SFT_T(KC_BSLS),
+ KC_RALT, KC_LBRC, KC_HOME, KC_RBRC, CTL_T(KC_END),
+
+ KC_LEFT, KC_RGHT,
+ KC_UP,
+ KC_DOWN, KC_RSFT, KC_SPC
+ ),
+/* Numeric Layer
+ *
+ * ,--------------------------------------------------. ,--------------------------------------------------.
+ * | | F1 | F2 | F3 | F4 | F5 | | | | | | Tab | / | * | - |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | | F6 | F7 | F8 | F9 | F10 | | | | | Home | 7 | 8 | 9 | + |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | F11 | F12 | | | |------| |------| Up | End | 4 | 5 | 6 | + |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | | | | | | | | Left | Down | Right| 1 | 2 | 3 |KpEnter |
+ * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
+ * | | | | | | | | 0 | 00 | . |Etr/Ctl|
+ * `----------------------------------' `-----------------------------------'
+ * ,-------------. ,-------------.
+ * | | | |n.lock|c.lock|
+ * ,------|------|------| |------+------+------.
+ * | | | | | | | |
+ * | | |------| |------| | |
+ * | | | | | | | |
+ * `--------------------' `--------------------'
+ */
+// SYMBOLS
+[NUMR] = KEYMAP(
+ // left hand
+ KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS,
+ KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_TRNS,
+ KC_TRNS, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+
+ KC_TRNS,KC_TRNS,
+ KC_TRNS,
+ KC_TRNS, KC_TRNS,KC_TRNS,
+ // right hand
+ KC_INS, KC_F6, KC_F7, KC_TAB, KC_PSLS, KC_PAST, KC_PMNS,
+ KC_TRNS, KC_TRNS, KC_HOME, KC_P7, KC_P8, KC_P9, KC_PPLS,
+ KC_UP, KC_END, KC_P4, KC_P5, KC_P6, KC_PPLS,
+ KC_LEFT, KC_DOWN, KC_RGHT, KC_P1, KC_P2, KC_P3, KC_PENT,
+ KC_TRNS, KC_P0, M(MDBL0),KC_PDOT, CTL_T(KC_PENT),
+
+ KC_NLCK, KC_CAPS,
+ KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS
+),
+/* fn layer
+ *
+ * ,--------------------------------------------------. ,--------------------------------------------------.
+ * | | | | | | |Insert| |Insert|Eject |Power |Sleep | Wake |PrtScr|ScrollLk|
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | | | | | | |VolUp | | | | | | | | Pause |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | | | Calc | Mail |Browsr|------| |------| | | | | | |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | | cut | copy |paste | Mute |VolDn | | | | | | | | |
+ * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
+ * | | | | | | | | | | | |
+ * `----------------------------------' `----------------------------------'
+ * ,-------------. ,-------------.
+ * | | | | | |
+ * ,------|------|------| |------+------+------.
+ * | | | | | Next | | |
+ * | Mute | |------| |------| | |
+ * | | | | | Prev | | |
+ * `--------------------' `--------------------'
+ */
+// MEDIA AND MOUSE
+[FNLR] = KEYMAP(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_CALC, KC_MAIL, KC_WHOM,
+ KC_TRNS, KC_TRNS, M(MCUT), M(MCOPY), M(MPSTE), KC_MUTE, KC_VOLD,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+
+ KC_TRNS, KC_TRNS,
+ KC_TRNS,
+ KC_MUTE, KC_TRNS, KC_TRNS,
+ // right hand
+ KC_INS, KC_EJCT, KC_PWR, KC_SLEP, KC_WAKE, KC_PSCR, KC_SLCK,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PAUS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+
+ KC_TRNS, KC_TRNS,
+ KC_MPRV,
+ KC_MNXT, KC_TRNS, KC_TRNS
+),
+};
+
+const uint16_t PROGMEM fn_actions[] = {
+};
+
+const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
+{
+ // MACRODOWN only works in this function
+ switch(id) {
+ case MDBL0:
+ if (record->event.pressed) {
+ return MACRO( I(25), T(P0), T(P0), END );
+ }
+ break;
+ case MFNLR:
+ layer_state ^= (1 << NUMR) | (1 << FNLR);
+ break;
+ case MCUT:
+ if (record->event.pressed) {
+ return MACRO(D(LSFT), T(DELT), U(LSFT), END);
+ }
+ break;
+ case MCOPY:
+ if (record->event.pressed) {
+ return MACRO(D(LCTL), T(INS), U(LCTL), END);
+ }
+ break;
+ case MPSTE:
+ if (record->event.pressed) {
+ return MACRO(D(LSFT), T(INS), U(LSFT), END);
+ }
+ 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) {
+
+ ergodox_board_led_off();
+ ergodox_right_led_1_off();
+ ergodox_right_led_2_off();
+ ergodox_right_led_3_off();
+ // led 1: numeric layer
+ if (layer_state & (1 << NUMR)) {
+ ergodox_right_led_1_on();
+ }
+ // led 2: Dvorak layer
+ if (default_layer_state == 1 << DVRK) {
+ ergodox_right_led_2_on();
+ }
+ // led 3: caps lock
+ if (host_keyboard_leds() & (1<<USB_LED_CAPS_LOCK)) {
+ ergodox_right_led_3_on();
+ }
+};
diff --git a/keyboard/ergodox_ez/keymaps/tm2030/keymap.hex b/keyboard/ergodox_ez/keymaps/tm2030/keymap.hex
new file mode 100644
index 0000000000..7e1118e3b2
--- /dev/null
+++ b/keyboard/ergodox_ez/keymaps/tm2030/keymap.hex
@@ -0,0 +1,1544 @@
+:100000000C9462090C94A6090C94A6090C94A609F8
+:100010000C94A6090C94A6090C94A6090C94A609A4
+:100020000C94A6090C94A6090C94F4140C94C6150F
+:100030000C94A6090C94A6090C94A6090C94A60984
+:100040000C94A6090C94472E0C94A6090C94A609AE
+:100050000C94A6090C944E240C94A6090C94A609A1
+:100060000C94A6090C94A6090C94A6090C94A60954
+:100070000C94A6090C94A6090C94A6090C94A60944
+:100080000C94A6090C94A6090C94A6090C94A60934
+:100090000C94A6090C94A6090C94A6090C94A60924
+:1000A0000C94A6090C94A6090C94A6092B164D16BF
+:1000B00038174D1638178F16B216381707171A1734
+:1000C000681A681A961A961AD81A141B141D141D49
+:1000D0002C1B141D231C231CEE1C141D141D021D9F
+:1000E00001E10149024902E10001E001490249023E
+:1000F000E00001E1014C024C02E1007519016202CD
+:1001000062016202620035002B00E100E100E000C4
+:1001100000001E00140004001D0002304E001F00ED
+:100120001A0016001B00E300E10020000800070091
+:100130000600AE002C0021001500090019006574AE
+:100140004B00220017000A000500000029744C0033
+:100150002A0000002800000008544C002A0000007B
+:1001600028000000500023001C000B0011000000BC
+:100170004F00240018000D001000E600520025007A
+:100180000C000E0036002D002C00260012000F007F
+:1001900037004A00E50027001300330038002E0026
+:1001A000510030002F00347231724D710000350063
+:1001B0002B00E100E100E00000001E00340004001C
+:1001C000330002304E001F00360012001400E3001E
+:1001D000E1002000370008000D00AE002C002100D7
+:1001E000130018000E0065744B0022001C000C0068
+:1001F0001B00000029744C002A00000028000000A9
+:1002000008544C002A000000280000005000230081
+:1002100009000700050000004F0024000A000B0041
+:100220001000E60052002500060017001A002F00FB
+:100230002C0026001500110019004A00E5002700D7
+:100240000F0016001D00300051002E0038002D72E6
+:1002500031724D710000000000000000000000003D
+:10026000000000000000000000000000000000008E
+:10027000000000000000000000000000000000007E
+:10028000000000000000000000000000000000006E
+:10029000000000000000000000000000000000005E
+:1002A000000000000000000000000000000000004E
+:1002B000000000000000000000000000000000003E
+:1002C000000000000000000000000000000000002E
+:1002D000000000000000000000000000000000001E
+:1002E000000000000000000000000000000000000E
+:1002F00000000000000000000000000000000000FE
+:1003000000000000000000000000000000000000ED
+:1003100000000000000000000000000000000000DD
+:1003200000000000000000000000000000000000CD
+:1003300000000000000000000000000000000000BD
+:1003400000000000000000000000000000000000AD
+:10035000000000000000000000000000000000009D
+:10036000000000000000000000000000000000008D
+:10037000000000000000000000000000000000007D
+:10038000000000000000000000000000000000006D
+:10039000000000000000000000000000000000005D
+:1003A000000000000000000000000000000000004D
+:1003B000000000000000000000000000000000003D
+:1003C000000000000000000000000000000000002D
+:1003D000000000000000000000000000000000001D
+:1003E000000000000000000000000000000000000D
+:1003F00000000000000000000000000000000000FD
+:1004000000000000000000000000000000000000EC
+:1004100000000000000000000000000000000000DC
+:1004200000000000000000000000000000000000CC
+:1004300000000000000000000000000000000000BC
+:1004400000000000000000000000000000000000AC
+:10045000000000000000000000000000000000009C
+:10046000000000000000000000000000000000008C
+:10047000000000000000000000000000000000007C
+:10048000000000000000000000000000000000006C
+:10049000000000000000000000000000000000005C
+:1004A000000000000000000000000000000000004C
+:1004B000000000000000000000000000000000003C
+:1004C000000000000000000000000000000000002C
+:1004D000000000000000000000000000000000001C
+:1004E000000000000000000000000000000000000C
+:1004F00000000000000000000000000000000000FC
+:1005000000000000000000000000000000000000EB
+:1005100000000000000000000000000000000000DB
+:1005200000000000000000000000000000000000CB
+:1005300000000000000000000000000000000000BB
+:1005400000000000000000000000000000000000AB
+:10055000000000000000000000000000000000009B
+:10056000000000000000000000000000000000008B
+:10057000000000000000000000000000000000007B
+:10058000000000000000000000000000000000006B
+:10059000000000000000000000000000000000005B
+:1005A000000000000000000000000000000000004B
+:1005B000000000000000000000000000000000003B
+:1005C000000000000000000000000000000000002B
+:1005D000000000000000000000000000000000001B
+:1005E000000000000000000000000000000000000B
+:1005F00000000000000000000000000000000000FB
+:1006000000000000000000000000000000000000EA
+:1006100000000000000000000000000000000000DA
+:1006200000000000000000000000000000000000CA
+:1006300000000000000000000000000000000000BA
+:1006400000000000000001000100010001000100A5
+:1006500000003A003F0044000100010001003B009F
+:10066000400045000100010001003C004100010084
+:100670000100010001003D004200010001000100F5
+:1006800001003E00430001000100000001000100E4
+:10069000010000000100000001004900010000000D
+:1006A0005000000053003F000100520051000000C4
+:1006B000390040004A004D004F00010001002B00AE
+:1006C0005F005C00590062000100540060005D00A2
+:1006D0005A0001300100550061005E005B006300BC
+:1006E00001005600570057005800587100000100E3
+:1006F00001000100010001000000010001000100F3
+:1007000001000100010001000100010003300100AF
+:10071000010001000100B20004300100A800010046
+:100720000100B10005300100010001000100B50029
+:10073000A800000001004900A9000000AA00000074
+:100740000100490001000000010000000100B000AC
+:1007500001000100010000000100A50001000100EE
+:1007600001000100AC00A600010001000100010031
+:100770000100A70001000100010001000100460086
+:100780000100010001000100AB004700480001002A
+:100790000100010000000A002530313662003A20D5
+:1007A0000025303258000A722F6320303132333442
+:1007B00035363738394142434445460A000A002558
+:1007C00030325800626F756E6365213A20006C65A7
+:1007D000667420736964652061747461636865641C
+:1007E0000A006C6566742073696465206E6F7420FE
+:1007F000726573706F6E64696E670A0074727969EE
+:100800006E6720746F207265736574206D6370323B
+:10081000333031380A000A44454255473A20656E64
+:1008200061626C65642E0A005B735D004B657962E2
+:100830006F6172642073746172742E0A005B575D7D
+:10084000005B535D005B525D005B445D005B435D9C
+:100850000016034500720067006F0044006F0078C7
+:1008600000200045005A0000001603450072006792
+:10087000006F0044006F007800200045005A00001F
+:10088000000403090409028D00050100A0FA09040F
+:1008900000000103010100092111010001223F00B4
+:1008A0000705810308000A09040100010301020091
+:1008B000092111010001224D000705820308000AE9
+:1008C00009040200010300000009211101000122B6
+:1008D00036000705830308000A0904030002030029
+:1008E00000000921110100012220000705840320D6
+:1008F00000010705040320000109040400010300AE
+:1009000000000921110100012239000705850310AB
+:1009100000011201100100000008EDFE07130100A4
+:100920000102000105010906A101050719E029E7F7
+:100930001500250195087501810205081901290591
+:10094000950575019102950175039101050719003F
+:10095000297715002501957875018102C00631FFC0
+:100960000974A1010975150025FF952075088102FC
+:100970000976150025FF952075089102C00501092B
+:1009800080A101850216010026B7001A01002AB7CE
+:1009900000751095018100C0050C0901A1018503B6
+:1009A000160100269C021A01002A9C02751095016E
+:1009B0008100C005010902A1010901A10005091971
+:1009C000012905150025019505750181029501751F
+:1009D0000381010501093009311581257F950275D3
+:1009E00008810609381581257F950175088106055E
+:1009F0000C0A38021581257F950175088106C0C053
+:100A000005010906A101050719E029E715002501DF
+:100A10009508750181029501750881010508190184
+:100A20002905950575019102950175039101050749
+:100A3000190029FF150025FF950675088100C00AD9
+:100A4000002530325820006B6579626F6172645FF7
+:100A50007265706F72743A20000A002530325800B7
+:100A60006B6579626F6172645F7365745F6C6564F6
+:100A70003A200064656C5F6B65795F6269743A2047
+:100A800063616E27742064656C3A20253032580A01
+:100A9000006164645F6B65795F6269743A206361C9
+:100AA0006E2774206164643A20253032580A00644D
+:100AB0006F6E652E0A00626F6F676D6167696320F4
+:100AC0007363616E3A202E2E2E2000290A002575B0
+:100AD000002F002575005D28002564002000256496
+:100AE00000200025640020002564007C00253032B1
+:100AF00058006D6F7573656B6579205B62746E7CF1
+:100B0000782079207620685D287265702F61636C8B
+:100B1000293A205B006D6B5F776865656C5F74696F
+:100B20006D655F746F5F6D6178203D2025640A00FC
+:100B30006D6B5F776865656C5F6D61785F7370651D
+:100B40006564203D2025640A006D6B5F74696D65E6
+:100B50005F746F5F6D6178203D2025640A006D6BC6
+:100B60005F6D61785F7370656564203D2025640A60
+:100B7000006D6B5F696E74657276616C203D202537
+:100B8000640A006D6B5F64656C6179203D202564AB
+:100B90000A006D6B5F776865656C5F74696D655F92
+:100BA000746F5F6D6178203D2025640A006D6B5F76
+:100BB000776865656C5F6D61785F737065656420EB
+:100BC0003D2025640A006D6B5F74696D655F746F0D
+:100BD0005F6D6178203D2025640A006D6B5F6D615B
+:100BE000785F7370656564203D2025640A006D6B35
+:100BF0005F696E74657276616C203D2025640A0021
+:100C00006D6B5F64656C6179203D2025640A000A84
+:100C100000257500363A20776865656C5F74696DEC
+:100C2000655F746F5F6D61783A20000A002575007A
+:100C3000353A20776865656C5F6D61785F737065C4
+:100C400065643A20000A00257500343A2074696D05
+:100C5000655F746F5F6D61783A20000A002575004A
+:100C6000333A206D61785F73706565643A20000ADD
+:100C700000257500323A20696E74657276616C28C1
+:100C80006D73293A20000A00257500313A20646509
+:100C90006C6179282A31306D73293A20000A092DB8
+:100CA0002056616C756573202D0A004D3E004D2560
+:100CB000643E20003F007365742064656661756C56
+:100CC000740A00433E200077686572652064656C95
+:100CD00074613A20637572736F723D25642C2077BE
+:100CE0006865656C3D25640A536565206874747099
+:100CF0003A2F2F656E2E77696B6970656469612E76
+:100D00006F72672F77696B692F4D6F7573655F6BB6
+:100D10006579730A000A092D204D6F7573656B653F
+:100D200079202D0A4553432F713A09717569740A68
+:100D3000313A0964656C6179282A31306D73290A6A
+:100D4000323A09696E74657276616C286D73290A8E
+:100D5000333A096D61785F73706565640A343A09E6
+:100D600074696D655F746F5F6D61780A353A0977F4
+:100D70006865656C5F6D61785F73706565640A3680
+:100D80003A09776865656C5F74696D655F746F5F5C
+:100D90006D61780A0A703A097072696E7420766122
+:100DA0006C7565730A643A097365742064656661DD
+:100DB000756C74730A75703A092B310A646F776E1B
+:100DC0003A092D310A706775703A092B31300A7073
+:100DD00067646F776E3A092D31300A0A7370656562
+:100DE00064203D2064656C7461202A206D61785F09
+:100DF0007370656564202A202872657065617420AF
+:100E00002F2074696D655F746F5F6D6178290A00CA
+:100E10003F004D3E2000433E20004C25640A000A5E
+:100E2000092D20436F6E736F6C65202D0A45534367
+:100E30002F713A09717569740A6D3A096D6F75738E
+:100E4000656B65790A000A092D204D616769632089
+:100E50002D0A643A0964656275670A783A0964651F
+:100E6000627567206D61747269780A6B3A0964650E
+:100E7000627567206B6579626F6172640A6D3A0909
+:100E80006465627567206D6F7573650A763A0976D9
+:100E9000657273696F6E0A733A097374617475735E
+:100EA0000A633A09636F6E736F6C65206D6F6465DA
+:100EB0000A302D343A096C61796572302D34284638
+:100EC00031302D4634290A506175733A09626F6FCB
+:100ED000746C6F616465720A653A09656570726F5A
+:100EE0006D0A6E3A094E4B524F0A7A3A09736C6595
+:100EF0006570204C454420746573740A000A00250F
+:100F000075002E6E6B726F3A20000A002575002E58
+:100F1000737761705F6261636B736C6173685F624A
+:100F200061636B73706163653A20000A0025750088
+:100F30002E737761705F67726176655F6573633A80
+:100F400020000A002575002E6E6F5F6775693A20D4
+:100F5000000A002575002E737761705F72616C74F2
+:100F60005F726775693A20000A002575002E737755
+:100F700061705F6C616C745F6C6775693A20000A20
+:100F8000002575002E636170736C6F636B5F746F07
+:100F90005F636F6E74726F6C3A20000A00257500F3
+:100FA0002E737761705F636F6E74726F6C5F6361D5
+:100FB00070736C6F636B3A20000A00253032580062
+:100FC0006B65796D61705F636F6E6669672E7261C4
+:100FD000773A20000A002575002E6D6F7573653A0B
+:100FE00020000A002575002E6B6579626F617264BE
+:100FF0003A20000A002575002E6D61747269783AF6
+:1010000020000A002575002E656E61626C653A202D
+:10101000000A00253032580064656275675F636FAF
+:101020006E6669672E7261773A20000A00257500A6
+:1010300064656661756C745F6C617965723A2000F5
+:101040003F004E4B524F3A206F66660A004E4B529D
+:101050004F3A206F6E0A0074696D65725F636F7539
+:101060006E743A202530346C580A006B6579626FD3
+:101070006172645F6E6B726F3A2025580A006B656F
+:1010800079626F6172645F69646C653A2025580A01
+:10109000006B6579626F6172645F70726F746F6309
+:1010A0006F6C3A2025580A00686F73745F6B65791E
+:1010B000626F6172645F6C65647328293A202558F9
+:1010C0000A000A092D20537461747573202D0A00DB
+:1010D0004743433A20342E382E31204156522D4C6E
+:1010E0004942433A20312E382E3073766E204156D5
+:1010F000525F415243483A20617672350A004F50A0
+:1011000054494F4E533A204C55464120424F4F547C
+:101110004D41474943204D4F5553454B4559204577
+:10112000585452414B455920434F4E534F4C452044
+:10113000434F4D4D414E44204E4B524F203531329E
+:101140000A004255494C443A2065356638343035FA
+:101150002D6469727479202831373A34363A33393C
+:10116000204A616E2032332032303136290A00564F
+:1011700049443A20307846454544284572676F44D3
+:101180006F7820455A29205049443A20307831332D
+:101190003037284572676F446F7820455A292056AA
+:1011A00045523A203078303030310A0044455343BC
+:1011B0003A20742E6D2E6B2E206B6579626F6172F2
+:1011C00064206669726D7761726520666F72204572
+:1011D00072676F646F780A000A092D205665727372
+:1011E000696F6E202D0A000A6D6F7573653A206F66
+:1011F00066660A000A6D6F7573653A206F6E0A00A5
+:101200000A6B6579626F6172643A206F66660A00E4
+:101210000A6B6579626F6172643A206F6E0A000A28
+:101220006D61747269783A206F66660A000A6D61B2
+:10123000747269783A206F6E0A000A646562756795
+:101240003A206F6E0A000A64656275673A206F661D
+:10125000660A000A0A626F6F746C6F616465722EB1
+:101260002E2E2000433E20006565636F6E66696721
+:101270003A0A00536C656570204C454420746573D0
+:10128000740A0000000000000000000000000102DD
+:1012900004060A0F17202C3A4A5D71879DB3C7DAFE
+:1012A000E9F5FCFFFCF5E9DAC7B39D87715D4A3AC1
+:1012B0002C20170F0A0604020100000000000000A5
+:1012C0000000000011241FBECFEFDAE0DEBFCDBF6B
+:1012D00004B603FE24C08091F9019091FA01A09117
+:1012E000FB01B091FC018730904BA740B04BB9F4A3
+:1012F0001092F9011092FA011092FB011092FC0178
+:1013000014BE84B7877F84BF88E10FB6F8948093BA
+:101310006000109260000FBEE0E0FFE3099511E06D
+:10132000A0E0B1E0EAE2F0E602C005900D92AA3337
+:10133000B107D9F721E0AAE3B1E001C01D92A93FAE
+:10134000B207E1F70E942E120C9413300C940000A7
+:10135000FF93EF93E0913A01F0913B01309709F050
+:101360000995EF91FF910895FC018591803011F06E
+:10137000EFDFFBCF0895FF27E0E230E247FF0CC02C
+:10138000419597FF09C0EDE2609570958095909525
+:10139000611D711D811D911D27FF02C0219530E344
+:1013A00050E2AA27660F771F881F991FAA1FA4174C
+:1013B00010F0A41B63955A95A9F7AA3008F0A95F0D
+:1013C000A05DAF93F395611571058105910541F716
+:1013D000ED3211F4EF93F395F21718F43F93F39570
+:1013E000FBCF8F91B5DFFA95E1F70895E991F99177
+:1013F0008591803021F0853219F0AADFF9CF089568
+:1014000020E0E89455915532C1F3503311F46894BB
+:1014100055915A3348F4505390F3220F022E220F65
+:10142000220F200D250FF4CF0EF42195899199916B
+:10143000533619F3533729F1533559F1BC01882735
+:101440009927E8945C3621F4899199916894559193
+:10145000543639F446EF7EF077FF0DC08FEF9FEFE3
+:101460000AC055374AE039F0583540E121F052368C
+:1014700042E009F00895FF93EF937DDFEF91FF9134
+:10148000B7CFFF93EF93FC0181918030B9F360DF18
+:10149000FBCFFF93EF9368DFF1CFDF93CF93CDB70F
+:1014A000DEB72596A3DFCF91DF910895FC0163306D
+:1014B00019F1B8F46130D1F0623081F58091BC014E
+:1014C0009091BD01A091BE01B091BF0123E0922790
+:1014D0008093BC019093BD01A093BE01B093BF0166
+:1014E0001DC0643079F0653099F018C0828188237E
+:1014F000A9F08BEF90E008958281882379F082EF44
+:1015000090E008958281882349F089EE90E0089563
+:101510008281882319F080EE90E0089580E090E0C9
+:101520000895089556985E9825982D9826982E9897
+:1015300027982F988091BC019091BD01A091BE0188
+:10154000B091BF0190FF02C0259A2D9A8091C001F1
+:101550009091C101A091C201B091C3010297A10570
+:10156000B10511F4269A2E9A0E94721781FF02C0CB
+:10157000279A2F9A089582E99AE0892B11F00E9408
+:10158000920A80E090E0089556985E9825982D98EC
+:1015900026982E9827982F988FEF90E090938900A7
+:1015A0008093880090938B0080938A0090938D00A5
+:1015B00080938C00259A2D9A2FEF80E792E021509E
+:1015C00080409040E1F700C00000269A2E9A2FEF4D
+:1015D00080E792E0215080409040E1F700C0000099
+:1015E000279A2F9A2FEF80E792E021508040904079
+:1015F000E1F700C0000025982D982FEF80E792E0DA
+:10160000215080409040E1F700C0000026982E98BD
+:101610002FEF80E792E0215080409040E1F700C03A
+:10162000000027982F9856985E9825982D98269810
+:101630002E9827982F98089589EA8093800089E052
+:101640008093810024982C983F988AB18F748AB92E
+:101650006E98479A8BB1806B8BB9769A0E94C40AB8
+:1016600081E99AE0892B11F00E94910A80E090E0D4
+:10167000089580E28093000180913C0181110EC0A9
+:101680000E94880B81E080933C012FEF83ED90E373
+:10169000215080409040E1F700C0000080E40E94AB
+:1016A0008E0B8093000181112EC00E94B80B809395
+:1016B0000001811128C00E94B80B809300018111A4
+:1016C00022C08FE30E94B80B8093000181111BC0E0
+:1016D0000E94B00B80E40E948E0B80930001811168
+:1016E00012C08CE00E94B80B8093000181110BC0E6
+:1016F0000E94B80B80930001811105C08FE30E9406
+:10170000B80B809300010E94B00B809100010895F6
+:101710001092B9008AE08093B800089594EA9093FB
+:10172000BC009091BC0097FFFCCF9091B900987FCE
+:10173000983021F0903111F081E008958093BB0042
+:1017400084E88093BC008091BC0087FFFCCF80912F
+:10175000B900887F883111F0803471F780E00895F6
+:1017600084E98093BC008091BC0084FDFCCF089587
+:101770008093BB0084E88093BC008091BC0087FF0D
+:10178000FCCF9091B900987F81E0983209F480E015
+:10179000089584E88093BC008091BC0087FFFCCF53
+:1017A0008091BB00089580910001811115C080E4F3
+:1017B0000E948E0B8093000181110CC082E10E9477
+:1017C000B80B80930001811105C08FEF0E94B80B08
+:1017D000809300010E94B00B84B1807F84B985B1F1
+:1017E000807F85B98AB1837F8AB98BB1837F8BB9BA
+:1017F0003E98469808950E94390B809300010E94FC
+:10180000D30B80B38C7080BB81B3836F81BBECE45E
+:10181000F1E0AEE3B1E011921D9281E0EA35F80704
+:10182000D1F78CE19BE0892B11F00C941C0B0895EF
+:101830009F92AF92BF92CF92DF92EF92FF920F935F
+:101840001F93CF93DF93809100018823E1F0809173
+:101850003D018F5F80933D01811115C08CEF97E0B2
+:101860000E94B4090E94390B80930001882329F05B
+:1018700082EE97E00E94B40906C08EEC97E00E94C9
+:10188000B4090E94C40A0EE311E0C0E0D0E0BB241A
+:10189000B39482E0A82ECC24C394D12C2FEBE22E5B
+:1018A00027E0F22EC73000F580910001811162C05F
+:1018B00080E40E948E0B80930001811112C082E1AE
+:1018C0000E94B80B8093000181110BC0C6010C2E41
+:1018D00001C0880F0A94EAF780950E94B80B8093A4
+:1018E00000010E94B00B46C0CA30A1F028F4C830F5
+:1018F00059F0C93061F005C0CC3089F070F0CD30BE
+:1019000089F0209A289810C0219A29980DC0229A0F
+:101910002A980AC0239A2B9807C0529A01C0539A5A
+:101920005B9802C03E9A4698E0EAEA95F1F78FB1DB
+:10193000799985C092E081708B25892B7C9B02C0B0
+:1019400090E001C094E0892B7D9B02C090E001C033
+:1019500098E0892B7E9B02C090E001C090E1892B2A
+:101960009FB19095991F9927991F9295990F907EF5
+:10197000892B10C080910001811176C080E40E9403
+:101980008E0B80930001882309F45BC0912C0E9488
+:10199000B00B892DF8019081981739F180838091DF
+:1019A0000101882301F18091D70180FF04C084ECFC
+:1019B00097E00E94B4098091D70180FF0CC080910C
+:1019C00001011F928F93FF92EF920E944D0A0F9098
+:1019D0000F900F900F908091D70180FF04C08DEB86
+:1019E00097E00E94B409A09201010E94D30B2196B6
+:1019F0000F5F1F4FCE30D10509F054CF8091010108
+:101A00008823B1F0815080930101882339F08FE958
+:101A10009FE00197F1F700C000000AC0ACE4B1E01C
+:101A2000EEE3F1E081918D9391E0EC34F907D1F789
+:101A30008BEB9AE0892BD1F00E94BB0A17C090E093
+:101A40007ACF83E10E94B80B8093000181119ECF71
+:101A500081E40E948E0B80930001811197CF0E9438
+:101A6000C90B982E909493CF80E094CF81E0DF91C2
+:101A7000CF911F910F91FF90EF90DF90CF90BF908B
+:101A8000AF909F900895E82FF0E0E45BFE4F8081D7
+:101A90000895CF92DF92EF92FF920F931F93CF930F
+:101AA000DF9386EA97E00E94B4093CE4E32E31E03C
+:101AB000F32EC0E0D0E041EAC42E47E0D42E08E97E
+:101AC00017E0DF93CF93DF92CF920E944D0A8EE909
+:101AD00097E00E94B409F70181917F0190E00E9494
+:101AE000B7239F938F931F930F930E944D0A86E90C
+:101AF00097E00E94B40921968DB79EB708960FB65D
+:101B0000F8949EBF0FBE8DBFCE30D105D1F6DF91C8
+:101B1000CF911F910F91FF90EF90DF90CF9008959C
+:101B20008B3B910578F4883A910540F5853A91050B
+:101B3000D0F48430910508F0B1C08130910509F4EA
+:101B4000ADC06BC0803E910508F467C0883E91052A
+:101B500008F4A4C09C01205F31092031310508F050
+:101B60005CC090650895853A910509F459C0863A9C
+:101B7000910509F458C083E890E40895883A9105E6
+:101B800009F454C0893A910509F453C08A3A910581
+:101B900009F452C08B3A910509F451C08C3A910571
+:101BA00009F450C08D3A910509F44FC0803B91056E
+:101BB00009F44EC08E3A910509F44DC08F3A910553
+:101BC00009F44CC0813B910509F44BC0823B91055F
+:101BD00009F44AC0833B910509F449C0843B91054F
+:101BE00009F448C0853B910509F447C0863B91053F
+:101BF00009F446C0873B910509F445C0883B91052F
+:101C000009F444C0893B910509F443C08A3B91051E
+:101C100009F042C08AE296E4089580E090E00895D9
+:101C200081E890E4089582E890E4089582EE94E4D7
+:101C3000089589EE94E408958AEE94E4089585EB7E
+:101C400094E4089586EB94E4089587EB94E4089572
+:101C50008CEC94E408958DEC94E4089583E895E485
+:101C600008958AE895E4089582E995E4089584E961
+:101C700095E4089581E296E4089583E296E4089558
+:101C800084E296E4089585E296E4089586E296E477
+:101C9000089587E296E4089580E094E40895089515
+:101CA00096E0799FF001112494E5899FE00DF11DE4
+:101CB0001124E60FF11DEE0FFF1FEA5FFE4F859125
+:101CC00094910895880F991F8A579040FC0185913F
+:101CD00094910895880F991F8A5F9E4FFC0185910A
+:101CE0009491089526E0729FF001112444E5849FA9
+:101CF000E00DF11D1124E60FF11DEE0FFF1FEA5F4D
+:101D0000FE4F25913491C9019A9581159F4110F498
+:101D1000C9010895C90190528115904128F4C90163
+:101D20009F700E946A0E0895C901905381159041D9
+:101D300020F4C9019927906C0895211580E5380792
+:101D400069F40E94351D9FEF24E34CE09150204040
+:101D50004040E1F700C000000C947324213080E57E
+:101D6000380751F486E198E00E94B4098091D701C8
+:101D700081608093D7010895C901905581159041E4
+:101D800008F050C0832F99278F70992781309105D3
+:101D9000D9F4A9014370552702C0880F991F4A95AD
+:101DA000E2F79C68A90164E0440F551F6A95E1F7CA
+:101DB00044275370842B952B73E0220F331F7A95A1
+:101DC000E1F7207633271DC08230910529F4922F48
+:101DD0008827816F906A089583309105A9F4A9013D
+:101DE0004370552781E090E002C0880F991F4A9503
+:101DF000E2F79C6843E0220F331F4A95E1F7207E0B
+:101E00003770822B932B08950497F1F4A901437046
+:101E1000552781E090E002C0880F991F4A95E2F7AC
+:101E20009A68E8CFC90190578115904120F4C90103
+:101E30009F7090620895C90190588115904120F4D7
+:101E4000C9019F70906A0895203E3105E0F4203C5E
+:101E5000310558F52133310509F470C048F42932B1
+:101E6000310509F464C02A32310509F46EC074C02A
+:101E700029333105F1F022383105D9F02533310508
+:101E800009F44EC069C0233E310589F138F4203E83
+:101E90003105C1F0223E3105E1F05EC0263E31053C
+:101EA00069F1273E3105A9F157C0C9010E94620EB0
+:101EB00008958091EA0180FD02C081FF4DC080EE4F
+:101EC00090E04BC08091EA0180FFF9CF89E390E078
+:101ED00044C08091EA0182FF0EC08091EA0184FF34
+:101EE00003C080E090E039C083EE90E036C080917E
+:101EF000EA0182FFF2CF82EE90E02FC08091EA01EA
+:101F000083FF0BC08091EA0184FDEBCF87EE90E068
+:101F100024C08091EA0183FFF5CF86EE90E01DC0DA
+:101F20008091EA0185FF07C089E290E016C08091A8
+:101F3000EA0185FFF9CF85E390E00FC08091EA01C7
+:101F400086FF07C08AE290E008C08091EA0186FF20
+:101F5000F9CF81E390E001C0C9010E94900D08957E
+:101F6000089580916D0108959FB7F89410925C01D7
+:101F70009FBF9091F001943009F058C09091E90012
+:101F80009F702091EC0020FF02C020E801C020E0FB
+:101F9000292B94E09093E9009091EB0090FF43C0CF
+:101FA0009091EE0097FF3FC090915A01992321F044
+:101FB0009091E80095FF37C010925A0196E0309159
+:101FC000E80035FD15C03091F001343061F53091F5
+:101FD000EB0035FD28C0915021F481E080935A0137
+:101FE00022C0EFE9FFE03197F1F700C00000E7CF32
+:101FF0008093F1008091E80085FD0AC08091E8009F
+:1020000080FFFCCF8091E8008E778093E80006C0C7
+:102010008FB7F89491E090935C018FBF2F7020935D
+:10202000E90080E008952F702093E9008FEF089574
+:10203000CF93DF9300D01F92CDB7DEB72091F00190
+:10204000243019F523E029839B838A832093E900B8
+:102050008FEF9091E800815095FD06C095ED9A951F
+:10206000F1F700008111F5CF8091E80085FF0DC0E8
+:1020700040E050E063E070E0CE0101960E94E7127C
+:102080008091E8008E778093E8000F900F900F907A
+:10209000DF91CF910895CF93DF9300D01F92CDB7FA
+:1020A000DEB72091F001243021F522E029839B83C3
+:1020B0008A8383E08093E9008FEF9091E80081505C
+:1020C00095FD06C095ED9A95F1F700008111F5CFC9
+:1020D0008091E80085FF0DC040E050E063E070E0D3
+:1020E000CE0101960E94E7128091E8008E778093DE
+:1020F000E8000F900F900F90DF91CF9108952091FD
+:10210000F0012430F1F422E02093E9002FEF309128
+:10211000E800215035FD06C035ED3A95F1F7000095
+:102120002111F5CF2091E80025FF0BC040E050E0E1
+:1021300065E070E00E94E7128091E8008E7780935E
+:10214000E8000895CF93DF93EC018091F001843093
+:1021500009F047C080910C018823E1F080910D01C6
+:102160008823C1F085E08093E9008FEF9091E8002B
+:10217000815095FD06C095E19A95F1F70000811117
+:10218000F5CF8091E80085FF2CC040E050E060E191
+:1021900070E017C081E08093E9008FEF9091E80034
+:1021A000815095FD06C095ED9A95F1F700008111DB
+:1021B000F5CF8091E80085FF14C040E050E068E072
+:1021C00070E0CE010E94E7128091E8008E77809344
+:1021D000E80080E1FE01ADE5B1E001900D928A9545
+:1021E000E1F7DF91CF9108958DE498E00E94B40962
+:1021F0008091EF01811109C00E9479140E94D614C8
+:102200008091E20084608093E200089589E498E080
+:102210000E94B4091092EF01089585E498E00C94AF
+:10222000B40981E498E00E94B4090C94342E8DE343
+:1022300098E00E94B4090E940E240E943A2E0E9447
+:1022400072170C94B00F80915B018F5F80935B01DC
+:1022500062E30E94A82F911135C010925B0180911A
+:102260005C01882379F18091F001843049F58091F7
+:10227000E9008F709091EC0090FF02C090E801C0DF
+:1022800090E0982B84E08093E9008091EB0080FF40
+:1022900014C08091EE0087FF10C08091E80085FF98
+:1022A00003C01092F100F9CF8091E80080FF05C0D3
+:1022B0008091E8008E778093E8009F709093E9000A
+:1022C00010925C01089542E061EC81E00E94F313FA
+:1022D00042E061EC82E00E94F31342E061EC83E0B3
+:1022E0000E94F31342E261EC84E00E94F31342E1A6
+:1022F00061EC85E00C94F3138091F201833009F4D2
+:1023000055C030F4813071F0823009F48EC00895E8
+:102310008A3009F47AC08B3009F460C0893009F042
+:102320009CC020C08091F101813A09F096C0809153
+:10233000E800877F8093E8008091F5019091F60195
+:10234000892B21F060E080E090E003C060E18DE542
+:1023500091E070E00E9430138091E8008B778093C9
+:10236000E80008958091F101813209F076C08091F2
+:10237000F5019091F601009719F0049709F06DC0EE
+:102380008091E800877F8093E8008091E80082FDDB
+:1023900005C08091F0018111F8CF5FC08091F100FC
+:1023A00080936D018091E8008B7753C08091F1019B
+:1023B000813A09F052C08091F5019091F601892B84
+:1023C00009F04BC08091E800877F8093E8008091FE
+:1023D000E80080FFFCCF80910C0136C08091F101B4
+:1023E0008132D9F58091F5019091F601892BA9F5FB
+:1023F0008091E800877F8093E8000E9428148091F4
+:10240000F30180930C010C94351D8091F101813210
+:1024100021F58091E800877F8093E8000E942814CE
+:102420008091F40180936E0108958091F101813AC9
+:10243000A1F48091E800877F8093E8008091E80014
+:1024400080FFFCCF80916E018093F1008091E800C5
+:102450008E778093E8000C942814089584B7877FC2
+:1024600084BF88E10FB6F8948093600010926000FA
+:102470000FBE90E080E80FB6F894809361009093CF
+:1024800061000FBE0E94FB170E9479140E94D614AF
+:102490008091E20084608093E20084EB9FE00E94E0
+:1024A000A02378940E9450170E94FD1782E091E0CB
+:1024B0000E946D170E94222E8CE298E00E94B409BF
+:1024C0008091F001853089F488E298E00E94B40997
+:1024D0000E94D1238091EE01882391F30E94F92379
+:1024E000882371F30E94D112EBCF0E942B18E8CF02
+:1024F000292F332723303105A9F06CF42130310521
+:1025000009F442C02230310509F043C08DE890E063
+:1025100025E838E042C021323105C9F022323105C8
+:1025200019F137C099278130910541F0823091052A
+:1025300041F0892B71F5E1E8F8E005C0E9E6F8E043
+:1025400002C0E1E5F8E0849190E09F0126C065308B
+:1025500000F5E62FF0E0EE0FFF1FEB5DFE4F208150
+:10256000318189E090E019C0653098F4E62FF0E001
+:10257000DF01AA0FBB1FA55EBE4F2D913C91EA5E05
+:10258000FE4F808190E009C082E190E022E139E0D5
+:1025900004C080E090E020E030E0FA013183208345
+:1025A000089580E189BD82E189BD09B400FEFDCFB7
+:1025B0008091D8008F7D8093D8008091E000826068
+:1025C0008093E0008091E00081FDFCCF0895CF92E0
+:1025D000DF92EF92FF920F931F93CF93DF937C01D3
+:1025E0008B01EA010E944914811131C0209731F01A
+:1025F00088819981081B190BE80EF91EC12CD12C7A
+:102600000115110519F18091E80085FD14C0809134
+:10261000E8008E778093E800209741F088819981C7
+:102620008C0D9D1D9983888385E011C00E944914FB
+:10263000882331F30CC0F70181917F018093F10071
+:1026400001501109FFEFCF1ADF0ADACF80E0DF91E6
+:10265000CF911F910F91FF90EF90DF90CF90089551
+:102660002091F7013091F8012617370748F06115DE
+:10267000710539F42091E8002E772093E80001C01D
+:10268000B901FC0120E061157105B9F18091F001FB
+:10269000882309F440C0853009F43FC08091E800E8
+:1026A00083FD3DC08091E80082FF06C08091E80074
+:1026B00082FF26C080E008958091E80080FFE3CF8C
+:1026C0002091F3008091F20090E0922B611571054A
+:1026D00051F08830910538F421912093F100615038
+:1026E00071090196F3CF21E0089709F020E080916D
+:1026F000E8008E778093E800C6CF2111C7CFD6CFF0
+:102700008091F001882339F0853039F08091E8001C
+:1027100083FFCCCF04C082E0089583E0089581E078
+:1027200008952091F7013091F8012617370748F0F6
+:102730006115710539F42091E8002E772093E800A7
+:1027400001C0B901FC0120E061157105C1F1809162
+:10275000F001882309F441C0853009F440C080911C
+:10276000E80083FD3EC08091E80082FF06C08091B2
+:10277000E80082FF27C080E008958091E80080FF94
+:10278000E3CF2091F3008091F20090E0922B61154D
+:10279000710559F08830910540F424912093F1009F
+:1027A0003196615071090196F2CF21E0089709F046
+:1027B00020E08091E8008E778093E800C5CF21115A
+:1027C000C6CFD5CF8091F001882339F0853039F01C
+:1027D0008091E80083FFCBCF04C082E0089583E0BE
+:1027E000089581E00895982F973058F59093E90067
+:1027F000981739F07091EC002091ED005091F000A5
+:1028000003C0242F762F50E021FF19C03091EB0038
+:102810003E7F3093EB003091ED003D7F3093ED0033
+:102820003091EB0031603093EB007093EC0020931B
+:10283000ED005093F0002091EE0027FF07C09F5F4E
+:10284000D3CF8F708093E90081E0089580E00895F0
+:102850008091F10187FD05C08091E80080FF0EC0E6
+:1028600012C08091E80082FD05C08091F0018111C5
+:10287000F8CF08958091E8008B7708C08091F0012F
+:102880008111EACF08958091E8008E778093E80067
+:1028900008958091E4009091E50045E62091EC00D8
+:1028A00020FF21C02091E80020FD21C02091F001EF
+:1028B000222389F0253089F02091EB0025FD0FC0FF
+:1028C0002091E4003091E5002817390739F3415091
+:1028D00041F0C901E3CF82E0089583E0089581E0EB
+:1028E000089584E008952091E80022FFDFCF80E082
+:1028F00008950E94E7140E94EF14E0EEF0E080815A
+:1029000081608083E8EDF0E080818F77808319BC5F
+:10291000A7EDB0E08C918E7F8C9380818F7E808339
+:102920001092EF0108950F931F93CF93DF930E94AE
+:10293000E7140E94EF14C8EDD0E088818F77888378
+:1029400088818068888388818F7D888319BC1092F4
+:10295000F0011092EC011092EE011092ED0100EEE8
+:1029600010E0F80180818B7F80838881816088837B
+:1029700042E060E080E00E94F313E1EEF0E080814D
+:102980008E7F8083E2EEF0E08081816080838081B1
+:1029900088608083F80180818E7F80838881806158
+:1029A0008883DF91CF911F910F910895E8EDF0E0BA
+:1029B00080818F7E8083E7EDF0E08081816080837D
+:1029C00084E082BF81E08093EF010C949314E8EDE2
+:1029D000F0E080818E7F80831092E2000895109253
+:1029E000DA001092E10008951F920F920FB60F9235
+:1029F00011242F933F934F935F936F937F938F9304
+:102A00009F93AF93BF93EF93FF938091E10082FF79
+:102A10000BC08091E20082FF07C08091E1008B7FB4
+:102A20008093E1000E9423118091DA0080FF1FC093
+:102A30008091D80080FF1BC08091DA008E7F809348
+:102A4000DA008091D90080FF0DC080E189BD82E16C
+:102A500089BD09B400FEFDCF81E08093F0010E94A2
+:102A6000F41005C019BC1092F0010E94061180916B
+:102A7000E10080FF19C08091E20080FF15C08091C5
+:102A8000E2008E7F8093E2008091E200806180937B
+:102A9000E2008091D80080628093D80019BC85E064
+:102AA0008093F0010E9411118091E10084FF30C0F9
+:102AB0008091E20084FF2CC080E189BD82E189BD64
+:102AC00009B400FEFDCF8091D8008F7D8093D8009F
+:102AD0008091E1008F7E8093E1008091E2008F7E03
+:102AE0008093E2008091E20081608093E200809117
+:102AF000EC01882311F084E007C08091E30087FF98
+:102B000002C083E001C081E08093F0010E941711B0
+:102B10008091E10083FF29C08091E20083FF25C0FE
+:102B20008091E100877F8093E10082E08093F00153
+:102B30001092EC018091E1008E7F8093E100809102
+:102B4000E2008E7F8093E2008091E20080618093BA
+:102B5000E20042E060E080E00E94F3138091F00028
+:102B600088608093F0000E940D11FF91EF91BF915A
+:102B7000AF919F918F917F916F915F914F913F9115
+:102B80002F910F900FBE0F901F9018951F920F92CC
+:102B90000FB60F9211242F933F934F935F936F9330
+:102BA0007F938F939F93AF93BF93CF93EF93FF93B5
+:102BB000C091E900CF708091EC001092E900809103
+:102BC000F000877F8093F00078940E9402161092A4
+:102BD000E9008091F00088608093F000C093E900E4
+:102BE000FF91EF91CF91BF91AF919F918F917F9185
+:102BF0006F915F914F913F912F910F900FBE0F906A
+:102C00001F9018951F93CF93DF93CDB7DEB7AA9788
+:102C10000FB6F894DEBF0FBECDBFE1EFF1E08091BB
+:102C2000F100819321E0E93FF207C9F70E947C118E
+:102C30008091E80083FF1CC12091F1013091F201E5
+:102C4000832F90E08A30910508F012C1FC01EA5A06
+:102C5000FF4F0C94C82F203881F0223809F008C1AA
+:102C60008091F5018F708093E9008091EB0085FBE6
+:102C7000882780F91092E90006C08091ED019091BB
+:102C8000EE01911182609091E800977F9093E800A7
+:102C90008093F1001092F100C5C0822F8D7F09F062
+:102CA000E7C0222319F0223061F0E2C08091F301E5
+:102CB000813009F0DDC0333009F080E08093EE010F
+:102CC00028C08091F301811124C02091F5012F705B
+:102CD00009F4CEC02093E9008091EB0080FF19C079
+:102CE0008091EB00333011F4806211C080618093D9
+:102CF000EB0081E090E0022E01C0880F0A94EAF711
+:102D00008093EA001092EA008091EB008860809343
+:102D1000EB001092E9008091E800877F86C02111C6
+:102D2000A7C01091F3011F778091E3008078812B79
+:102D30008093E3008091E800877F8093E8000E9401
+:102D400028148091E80080FFFCCF8091E300806828
+:102D50008093E300112311F083E001C082E08093AF
+:102D6000F00186C02058223008F082C08091F30123
+:102D70009091F4018C3D23E0920779F583E08A83FA
+:102D80008AE289834FB7F894DE01139620E03EE093
+:102D900051E2E32FF0E050935700E49120FF03C08D
+:102DA000E295EF703F5FEF708E2F90E0EA3010F009
+:102DB000C79601C0C0968D939D932F5F243149F72C
+:102DC0004FBF8091E800877F8093E8006AE270E05F
+:102DD000CE0101960E94301314C0AE014F5F5F4FC9
+:102DE0006091F5010E947812009709F441C020918A
+:102DF000E800277F2093E800BC0189819A810E9426
+:102E000091138091E8008B778093E80031C02038DF
+:102E100079F58091E800877F8093E8008091EC014C
+:102E20008093F1008091E8008E778093E8000E9403
+:102E300028141EC021111CC09091F3019230C0F4DF
+:102E40008091E800877F8093E8009093EC010E94D6
+:102E500028148091EC01811104C08091E30087FF68
+:102E600002C084E001C081E08093F0010E94631100
+:102E70008091E80083FF0AC08091E800877F8093FB
+:102E8000E8008091EB0080628093EB00AA960FB679
+:102E9000F894DEBF0FBECDBFDF91CF911F91089593
+:102EA000CF938091F0018823B1F08091E9008F7079
+:102EB0009091EC0090FF02C090E801C090E0C92F13
+:102EC000C82B1092E9008091E80083FD0E94021651
+:102ED000CF70C093E900CF910895909374018093CF
+:102EE00073010895E0917301F0917401309721F01E
+:102EF0000190F081E02D099480E00895FF920F93F6
+:102F00001F93CF93DF938C01E0917301F0917401D3
+:102F1000309799F10280F381E02D09958091D701D6
+:102F200082FF2BC080FF04C087E49AE00E94B409AE
+:102F3000E80180E1F82E01E41AE08091D70180FFDA
+:102F40000BC088811F928F931F930F930E944D0A8D
+:102F50000F900F900F900F90FA942196F110EDCFF3
+:102F60008091D70180FF09C08FE39AE0DF91CF9174
+:102F70001F910F91FF900C94B409DF91CF911F9195
+:102F80000F91FF900895E0917301F09174013097D3
+:102F900021F00480F581E02D0994089520917101BC
+:102FA000309172018217930771F0909372018093B0
+:102FB0007101E0917301F0917401309721F0068066
+:102FC000F781E02D0994089520916F0130917001EF
+:102FD0008217930771F09093700180936F01E091D5
+:102FE0007301F0917401309721F00084F185E02D98
+:102FF0000994089508950C94FA170E9410240E94D1
+:10300000FB0B0C94D624CF93C82F8091D70182FF5D
+:103010001EC080FF04C080E69AE00E94B40980913F
+:10302000D70180FF0CC01F92CF932BE53AE03F936E
+:103030002F930E944D0A0F900F900F900F90809148
+:10304000D70180FF04C089E59AE00E94B4098C2F63
+:10305000CF910C94B00FCF92DF92EF92FF920F932B
+:103060001F93CF93DF93CDB7DEB72B970FB6F894AE
+:10307000DEBF0FBECDBF0E94180C36E7E32E31E055
+:10308000F32E00E010E0C02E802F0E94430DF701C8
+:10309000D1907F01D826B1F40F5F1F4F0E3011057C
+:1030A00091F78FEF89838A831B820E9419248160A4
+:1030B000782F9D838C8349815A816B818D810E94F9
+:1030C000CE1841C09091D70191FF04C08B870E9418
+:1030D000490D8B8520E030E04D2D50E0922FBA0154
+:1030E000022E02C0759567950A94E2F760FF25C02D
+:1030F0002E83CF82EE24E394F12C02C0EE0CFF1C51
+:103100009A95E2F790E08E219F2121E0892B09F426
+:1031100020E028870E9419248160782F9A87898768
+:103120004E815F8168858A850E94CE18F801EA5831
+:10313000FE4F80818E25808306C02F5F3F4F263053
+:10314000310561F6A9CF0E944428109175010E94B3
+:1031500072171817A1F00E947217809375012B96B1
+:103160000FB6F894DEBF0FBECDBFDF91CF911F9198
+:103170000F91FF90EF90DF90CF900C9403182B9657
+:103180000FB6F894DEBF0FBECDBFDF91CF911F9178
+:103190000F91FF90EF90DF90CF900895CF93DF9342
+:1031A000CDB7DEB72B970FB6F894DEBF0FBECDBFFD
+:1031B0004F83588769877A878B87DE01119686E06F
+:1031C000FD0111928A95E9F785E0FE01379601909D
+:1031D0000D928A95E1F749815A816B817C818D81BD
+:1031E0009E810E9401202B960FB6F894DEBF0FBE81
+:1031F000CDBFDF91CF910895CF93C82F882309F4D5
+:10320000C1C0823859F40E94721781FDBBC089E3A6
+:103210000E949E220E947A2389E30CC0833879F4AD
+:103220000E94721780FDAEC083E50E949E220E941C
+:103230007A2383E50E94EF22CF910C947A2384387D
+:1032400059F40E94721782FD9DC087E40E949E225D
+:103250000E947A2387E4EECF8CEF8C0F813A48F4FA
+:103260008C2F0E94CD2C81118DC08C2F0E949E220C
+:10327000E3CF80E28C0F883048F4C77081E001C052
+:10328000880FCA95EAF70E944123D6CF8BE58C0FB1
+:10329000833078F4C53A29F0C63A31F482E890E0F8
+:1032A00005C081E890E002C083E890E0CF910C94E3
+:1032B000CE1788E58C0F833108F064C0C83A39F125
+:1032C000C93A41F1CA3A49F1CB3A51F1CC3A59F1F4
+:1032D000CD3A61F1C03B69F1CE3A71F1CF3A79F163
+:1032E000C13B81F1C23B89F1C33B91F1C43B99F1F0
+:1032F000C53BA1F1C63BA9F1C73BB1F1C83BB9F150
+:10330000C93BC1F1CA3BC9F58AE292E038C082EEFE
+:1033100090E035C089EE90E032C08AEE90E02FC098
+:1033200085EB90E02CC086EB90E029C087EB90E025
+:1033300026C08CEC90E023C08DEC90E020C083E8A8
+:1033400091E01DC08AE891E01AC082E991E017C0BF
+:1033500084E991E014C081E292E011C083E292E03E
+:103360000EC084E292E00BC085E292E008C086E2E3
+:1033700092E005C087E292E002C080E090E0CF9149
+:103380000C94E417CF910895882309F44BC0823838
+:1033900059F40E94721781FF45C089E30E949E2262
+:1033A0000E947A2389E30CC0833871F40E9472175B
+:1033B00080FF38C083E50E949E220E947A2383E525
+:1033C0000E94EF220C947A23843859F40E947217D9
+:1033D00082FF28C087E40E949E220E947A2387E40D
+:1033E000EFCF9CEF980F913A58F390E2980F9830F6
+:1033F00050F4877091E001C0990F8A95EAF7892F00
+:103400000E944723DFCF9BE5980F933020F480E0A4
+:1034100090E00C94CE17885A833120F480E090E03D
+:103420000C94E4170895882321F00E9441230C9402
+:103430007A230895882321F00E9447230C947A234D
+:103440000895CF92DF92EF92FF920F931F93CF9345
+:10345000DF93CDB7DEB728970FB6F894DEBF0FBE67
+:10346000CDBF8C0185E0F801DE01119601900D922F
+:103470008A95E1F7F80140813181F280258122951A
+:103480002F7083819481892B31F03F3F31F481E0AB
+:103490004F3F19F403C081E001C080E080FDC4C249
+:1034A00049833A8389819A812F830E945C229E837B
+:1034B00088870E945B220E942E214E81E42FE29594
+:1034C000EF70F0E0E05AFF4F2F8168850C94C82F11
+:1034D000842F807F142F1F70882311F01295107F86
+:1034E000FF2059F0112309F454C2812F68870E94EC
+:1034F00051230E947A2368854CC2862F0E94C419EA
+:10350000112309F491C2812F0E94572328960FB6E8
+:10351000F894DEBF0FBECDBFDF91CF911F910F9109
+:10352000FF90EF90DF90CF900C947A23342F307F70
+:10353000842F8F70303211F08295807F662319F0CE
+:10354000613019F12BC0FF20B1F0222309F493C19F
+:10355000213009F090C128960FB6F894DEBF0FBE57
+:10356000CDBFDF91CF911F910F91FF90EF90DF9032
+:10357000CF900C946123222319F0213009F454C216
+:103580008E830E9464238E8189C1FF2021F0223026
+:1035900008F04AC270C1211147C280C1FF2021F04A
+:1035A000222309F468C1F5C1222309F477C105C2B9
+:1035B000242F26952695237030E02115310521F022
+:1035C00021303105C9F030C2FF2021F0862F942F21
+:1035D000937002C080E090E028960FB6F894DEBFAA
+:1035E0000FBECDBFDF91CF911F910F91FF90EF9054
+:1035F000DF90CF900C94CE17FF2021F0862F942FD0
+:10360000937002C080E090E028960FB6F894DEBF79
+:103610000FBECDBFDF91CF911F910F91FF90EF9023
+:10362000DF90CF900C94E417862FFF2019F00E94B2
+:10363000CA2602C00E94322728960FB6F894DEBF31
+:103640000FBECDBFDF91CF911F910F91FF90EF90F3
+:10365000DF90CF900C94B727842F837009F076C049
+:10366000F110E2C1262F229526952770220F220FF6
+:10367000862F8F70C82ED12CE12CF12C022E04C085
+:10368000CC0CDD1CEE1CFF1C0A94D2F764FF10C0AA
+:103690006FE070E080E090E004C0660F771F881F45
+:1036A000991F2A95D2F7609570958095909503C0E3
+:1036B00060E070E0CB01242F269526952370422FE1
+:1036C00050E042305105D1F04330510559F16C2999
+:1036D0007D298E299F294130510541F128960FB649
+:1036E000F894DEBF0FBECDBFDF91CF911F910F9138
+:1036F000FF90EF90DF90CF900C9453216C297D299F
+:103700008E299F2928960FB6F894DEBF0FBECDBF35
+:10371000DF91CF911F910F91FF90EF90DF90CF90AD
+:103720000C946D210E945321C701B60128960FB653
+:10373000F894DEBF0FBECDBFDF91CF911F910F91E7
+:10374000FF90EF90DF90CF900C943921FF2019F07B
+:10375000842F817001C08695882309F465C1262FC6
+:10376000229526952770220F220F862F8F70C82E44
+:10377000D12CE12CF12C022E04C0CC0CDD1CEE1C53
+:10378000FF1C0A94D2F764FF10C06FE070E080E085
+:1037900090E004C0660F771F881F991F2A95D2F703
+:1037A000609570958095909503C060E070E0CB01C6
+:1037B000242F269526952370422F50E04230510544
+:1037C000D1F04330510559F16C297D298E299F296B
+:1037D0004130510541F128960FB6F894DEBF0FBE77
+:1037E000CDBFDF91CF911F910F91FF90EF90DF90B0
+:1037F000CF900C9427226C297D298E299F29289609
+:103800000FB6F894DEBF0FBECDBFDF91CF911F91F1
+:103810000F91FF90EF90DF90CF900C9441220E9487
+:103820002722C701B60128960FB6F894DEBF0FBE57
+:10383000CDBFDF91CF911F910F91FF90EF90DF905F
+:10384000CF900C940D22603FC9F118F4603E50F403
+:103850009BC0623F09F460C008F44AC0633F09F4AA
+:103860006FC092C0162F1F70842F8F71FF2099F0A8
+:103870000E94A621812F28960FB6F894DEBF0FBEB6
+:10388000CDBFDF91CF911F910F91FF90EF90DF900F
+:10389000CF900C94131A0E94C721812F28960FB63F
+:1038A000F894DEBF0FBECDBFDF91CF911F910F9176
+:1038B000FF90EF90DF90CF900C941A1AFF20A1F0A8
+:1038C0002111B2C0842F8F7128960FB6F894DEBFF5
+:1038D0000FBECDBFDF91CF911F910F91FF90EF9061
+:1038E000DF90CF900C94EC21223008F09DC0EACFFD
+:1038F000FF20A1F0842F8F7128960FB6F894DEBFB9
+:103900000FBECDBFDF91CF911F910F91FF90EF9030
+:10391000DF90CF900C94A621FF2061F3842F8F714C
+:1039200028960FB6F894DEBF0FBECDBFDF91CF91C2
+:103930001F910F91FF90EF90DF90CF900C94C721D3
+:10394000FF2091F0842F8F7128960FB6F894DEBF78
+:103950000FBECDBFDF91CF911F910F91FF90EF90E0
+:10396000DF90CF900C94912128960FB6F894DEBF8B
+:103970000FBECDBFDF91CF911F910F91FF90EF90C0
+:10398000DF90CF900C948721FF20A1F0222309F42F
+:10399000B1CF862F28960FB6F894DEBF0FBECDBFED
+:1039A000DF91CF911F910F91FF90EF90DF90CF901B
+:1039B0000C94FC18222309F4B1CF862F28960FB659
+:1039C000F894DEBF0FBECDBFDF91CF911F910F9155
+:1039D000FF90EF90DF90CF900C94C4194F70C80106
+:1039E0000E94560A28960FB6F894DEBF0FBECDBFD0
+:1039F000DF91CF911F910F91FF90EF90DF90CF90CB
+:103A00000C94AE204F70C80128960FB6F894DEBF14
+:103A10000FBECDBFDF91CF911F910F91FF90EF901F
+:103A2000DF90CF900C944F0E28960FB6F894DEBF1F
+:103A30000FBECDBFDF91CF911F910F91FF90EF90FF
+:103A4000DF90CF9008950E945E230E9433230E944E
+:103A50007A230E94E5280E94B72780E090E00E9428
+:103A6000CE1780E090E00C94E4170E944E230C9453
+:103A7000231D0E945C22292F22952F7030E02C30CC
+:103A800031054CF42A3031056CF4225031092230D2
+:103A9000310590F407C02C30310551F02F3031053D
+:103AA00039F00AC0803E10F0803F31F481E0089583
+:103AB00093FB882780F9089580E00895CF93DF93E2
+:103AC00000D000D01F92CDB7DEB70F900F900F90AF
+:103AD0000F900F90DF91CF910895CF93DF9300D097
+:103AE00000D000D0CDB7DEB726960FB6F894DEBF73
+:103AF0000FBECDBFDF91CF9108951F93CF93DF937A
+:103B0000C091840116E080918501C81799F0D0E03A
+:103B10001C9FF0011D9FF00D1124EA57FE4F4081BC
+:103B2000518162817381848195810E946D1D2196EE
+:103B3000C770E9CFDF91CF911F9108954091B601F1
+:103B40005091B7016091B8017091B9018091BA01AB
+:103B50009091BB010C946D1DCF938091BB01829518
+:103B60008F7009F05FC08091B801882309F45AC0B2
+:103B700020918401A09185016091B6017091B701F7
+:103B80008091B9019091BA0131E06F3F09F030E0C6
+:103B9000B32FC6E02A1709F445C0009721F07F3FF4
+:103BA00021F44B2F03C041E001C040E030E040FD74
+:103BB00035C0C29FF001C39FF00D1124EA57FE4F9C
+:103BC000418174132BC04081641328C0428141118C
+:103BD00025C0438154814817590710F441505109B9
+:103BE000481B590B483C5105C8F48091BB018F70AC
+:103BF00080618093BB0186E0829FF001839FF00D7E
+:103C00001124E557FE4F80818F708061808386EBA1
+:103C100091E00E94211ACF910C947D1D2F5F3F4FA0
+:103C20002770B8CFCF910895CF92DF92EF92FF9295
+:103C30000F931F93CF93DF93CDB7DEB762970FB685
+:103C4000F894DEBF0FBECDBF8C0185E0F801DE0128
+:103C50001D9601900D928A95E1F7D8014C9111962D
+:103C60005C91119712966C9112971396ED90FC90BF
+:103C700014977091B601E091B7012091B90130918C
+:103C8000BA012115310531F0EF3F31F481E07F3F7A
+:103C900019F403C081E001C080E0B82FB170CB2ED1
+:103CA00080FD6CC1D090B801DD2009F4F5C0F09121
+:103CB000BB01E216F30638F0C701821B930B883C68
+:103CC000910548F09BC0209530952E0D3F1D283C56
+:103CD000310508F093C08F2F807F09F052C0E513A3
+:103CE00014C0741312C0D62E61110FC0FF70F061A2
+:103CF000F093BB010E949E1D86EB91E00E94211A69
+:103D00008091BB01F80185836CC1EF2831F05F3FE2
+:103D100031F481E04F3F19F403C081E001C080E03D
+:103D200080FD03C081E0862701C080E0F82FF1709C
+:103D3000FF2E80FF1CC0809184012091850136E018
+:103D4000821709F428C190E0389FF001399FF00DE7
+:103D50001124EA57FE4F7181571306C07081471333
+:103D600003C07281671303C001968770E9CFD62E16
+:103D7000662309F436C18091BB0181608093BB0149
+:103D800053C0E51308C0741306C0611104C0D80104
+:103D90001596FC93AEC04D875E878D859E856A8B98
+:103DA0000E94391D6A89882329F1D62E662311F1D4
+:103DB0002091BB01822F82958F7090E002970CF4C6
+:103DC00060C08091B6019091B70198878F83198662
+:103DD000FB86EA862C87CE01079651C0E51731F1A4
+:103DE0004D875E878D859E856A8B0E94391D6A8905
+:103DF00081112EC0C8010E94211AA4C08F2F807F7C
+:103E000069F77E2DF98AE88A89890E945E1D86EB12
+:103E100091E00E94211AE6EBF1E086E0DF011D92BD
+:103E20008A95E9F70E949E1DD12CDBC07413D8CF70
+:103E30006111D6CFD8011596FC93C8010E94211AB2
+:103E4000E6EBF1E086E0DF011D928A95E9F7C9C053
+:103E5000D62E662379F22091BB01822F82958F7036
+:103E600090E0029774F08091B6019091B7019A8327
+:103E700089831B82FD82EC822E83CE0101960E94F3
+:103E8000211A86E0F801A6EBB1E001900D928A9527
+:103E9000E1F70E94AC1D6FC0E216F30628F0C701DF
+:103EA000821B930B9C0104C0209530952E0D3F1D65
+:103EB000283C310508F052C0D62E662309F49ACF6B
+:103EC000E5132CC074132AC08091BB0180FD1DC076
+:103ED000982F92959F70C9F0D80115968C931597DD
+:103EE0009F3039F09F5F9295907F8F70892B159648
+:103EF0008C93C8010E94211A86E0F801A6EBB1E07C
+:103F000001900D928A95E1F736C086E0F801A6EBA4
+:103F1000B1E001900D928A95E1F763C04D875E870D
+:103F20008D859E850E94391D882379F086E0F801F1
+:103F3000A6EBB1E001900D928A95E1F70E94AC1DCD
+:103F40000E949E1DDD24D3944CC08091BB018160F2
+:103F50008093BB01C8010E94211A43C07E2DF98ABB
+:103F6000E88A89890E945E1DE6EBF1E086E0DF01C8
+:103F70001D928A95E9F70E949E1D33C0662309F4BD
+:103F800039CF4D875E878D859E850E94391D882398
+:103F900009F430CFCBCF4D875E878D859E850E94FB
+:103FA0005C22292F22952F7030E0223031052CF42D
+:103FB0009F7041F0811106C00CC0243031052CF4F3
+:103FC0009F7049F4805E883020F0C8010E94211A59
+:103FD000CF2CDC2C06C0D80115969C91907F91F7D0
+:103FE000F8CF8D2D62960FB6F894DEBF0FBECDBF11
+:103FF000DF91CF911F910F91FF90EF90DF90CF90C5
+:1040000008951F93CF93DF93CDB7DEB72C970FB6EC
+:10401000F894DEBF0FBECDBF4F83588769877A877C
+:104020008B879C87CE0107960E94141E8823C1F0BF
+:104030002F8138858A859B85892B31F03F3F11F090
+:1040400080E003C02F3FE1F781E0811147C04F813D
+:10405000588569857A858B859C850E946D1D3EC03B
+:1040600086E0FE013796DE01119601900D928A9549
+:10407000E1F7FF81E8854A855B854115510531F0FF
+:10408000EF3F31F481E0FF3F19F403C081E001C04C
+:1040900080E080FD23C02091850130E0C9010196B8
+:1040A000877099276091840170E086179707F1F176
+:1040B000F983EA835D834C8396E0929FD001939FBE
+:1040C000B00D1124AA57BE4FFE01319601900D92FA
+:1040D0009A95E1F7809385010E947D1D16E08091FD
+:1040E000840190918501891779F1189FC0011124ED
+:1040F0008A579E4F0E94141E882331F1E09184015B
+:104100001E9FF0011124EA57FE4F408151816281C8
+:104110007381848195810E946D1D8091840190E05E
+:1041200001968770992780938401D9CF0E94351D0D
+:104130001092850110928401E6EBF1E086E0DF0148
+:104140001D928A95E9F7CACF2C960FB6F894DEBF78
+:104150000FBECDBFDF91CF911F910895EF92FF92D7
+:104160000F931F93CF93DF93FC01009709F46FC067
+:10417000F12CEE24E394EF0121968491843740F4EE
+:10418000843008F055C0813081F0823021F15FC069
+:10419000853709F447C0C0F19CE7980F903708F0C5
+:1041A00056C08F770E94C41945C08F010E5F1F4F04
+:1041B000FE01849190E2980F983050F48770FE2DA4
+:1041C00001C0FF0F8A95EAF78F2F0E94512315C077
+:1041D0000E94FC1814C08F010E5F1F4FFE018491D6
+:1041E00090E2980F983068F48770FE2D01C0FF0FA1
+:1041F0008A95EAF78F2F0E9457230E947A23E801BD
+:1042000019C00E94C419FBCFCF010296FE01C491D0
+:10421000CC2361F0EFE9FFE03197F1F700C0000037
+:10422000C150F6CFCF010296FE01F490EC0102C01E
+:104230000E94FC188F2D882341F0EFE9FFE03197B1
+:10424000F1F700C000008150F6CFFE0194CFDF915E
+:10425000CF911F910F91FF90EF9008950895609373
+:10426000C0017093C1018093C2019093C3010C946B
+:10427000231D0F931F930091C0011091C101209144
+:10428000C2013091C301062B172B282B392B009329
+:10429000C0011093C1012093C2013093C3011F914B
+:1042A0000F910C94231D0F931F930091C001109147
+:1042B000C1012091C2013091C30106231723282395
+:1042C00039230093C0011093C1012093C2013093A0
+:1042D000C3011F910F910C94231D0F931F93009105
+:1042E000C0011091C1012091C2013091C301062784
+:1042F0001727282739270093C0011093C101209365
+:10430000C2013093C3011F910F910C94231D109291
+:10431000BC011092BD011092BE011092BF010C941D
+:10432000231D41E050E060E070E004C0440F551FE1
+:10433000661F771F8A95D2F74093BC015093BD0149
+:104340006093BE017093BF010C94231D41E050E0C7
+:1043500060E070E004C0440F551F661F771F8A9508
+:10436000D2F78091BC019091BD01A091BE01B091A6
+:10437000BF01842B952BA62BB72B8093BC01909368
+:10438000BD01A093BE01B093BF010C94231D41E079
+:1043900050E060E070E004C0440F551F661F771FB7
+:1043A0008A95D2F740955095609570958091BC01A3
+:1043B0009091BD01A091BE01B091BF0184239523CE
+:1043C000A623B7238093BC019093BD01A093BE01A7
+:1043D000B093BF010C94231D41E050E060E070E019
+:1043E00004C0440F551F661F771F8A95D2F780912E
+:1043F000BC019091BD01A091BE01B091BF01842785
+:104400009527A627B7278093BC019093BD01A09361
+:10441000BE01B093BF010C94231D0F931F93009115
+:10442000BC011091BD012091BE013091BF01062B4E
+:10443000172B282B392B0093BC011093BD0120931F
+:10444000BE013093BF011F910F910C94231D0F9358
+:104450001F930091BC011091BD012091BE013091CC
+:10446000BF0106231723282339230093BC0110938F
+:10447000BD012093BE013093BF011F910F910C9499
+:10448000231D0F931F930091BC011091BD0120913A
+:10449000BE013091BF01062717272827392700932F
+:1044A000BC011093BD012093BE013093BF011F9149
+:1044B0000F910C94231D0895CF92DF92EF92FF92FB
+:1044C0000F931F93CF93DF93EC01C090C001D09066
+:1044D000C101E090C201F090C3018091BC019091B4
+:1044E000BD01A091BE01B091BF01C82AD92AEA2A14
+:1044F000FB2A0FE110E0B701A601002E04C076955B
+:104500006795579547950A94D2F740FF07C0BE01BB
+:10451000802F0E94720E8130910539F401501109EB
+:1045200050F7BE0180E00E94720EDF91CF911F9183
+:104530000F91FF90EF90DF90CF90089590910C0134
+:10454000992361F190910D01992341F1982F96954E
+:10455000969596959F3088F4E0910E01F0910F01A9
+:10456000E90FF11D877021E030E001C0220F8A952C
+:10457000EAF78181822B818308959091D70190FF82
+:104580002DC01F928F9381E99AE09F938F930E9491
+:104590004D0A0F900F900F900F90089540910E01CB
+:1045A00050910F0120E030E09FEFFA01E20FF31F7E
+:1045B0006281681799F09F3F19F4611101C0922F31
+:1045C0002F5F3F4F2E30310581F79F3F39F0FA01C1
+:1045D000E90FF11D97FDFA95828308950895909152
+:1045E0000C01992369F190910D01992349F1982FBC
+:1045F0009695969596959F3090F4E0910E01F091E6
+:104600000F01E90FF11D877021E030E001C0220F9A
+:104610008A95EAF720958181282321830895909136
+:10462000D70190FF1FC01F928F9383E79AE09F935B
+:104630008F930E944D0A0F900F900F900F90089546
+:1046400040910E0150910F0120E030E0FA01E20F9D
+:10465000F31F9281981301C012822F5F3F4F2E30BB
+:104660003105A1F7089581E090E0E0910E01F0910D
+:104670000F01E80FF91F1082019680319105A9F70B
+:1046800008959091D601982B9093D6010895809526
+:104690009091D60198239093D60108951092D60157
+:1046A00008959091D501982B9093D5010895809508
+:1046B0009091D50198239093D50108951092D5013A
+:1046C00008958093C40108951092C4010895409103
+:1046D0000E0150910F0120E030E080E0FA01E20F7E
+:1046E000F31F918191118F5F2F5F3F4F2F30310565
+:1046F000A9F70895E0910E01F0910F018091D60184
+:104700008083E0910E01F0910F0180819091D5019D
+:10471000892B80839091C401992361F0E0910E016F
+:10472000F0910F018081892B80830E946723811182
+:104730001092C40180910E0190910F010C947E178C
+:1047400090933B0180933A0108958295982F9C7C29
+:1047500096959695837344E0849F90011124922B43
+:10476000892F8A7A86959575990F892B08951F93BD
+:10477000CF93DF931F92CDB7DEB799830E94A52315
+:10478000182F9981892F0E94A523212F30E0322FE5
+:104790002227A901482BCA010F90DF91CF911F91C9
+:1047A00008958091F001843009F11092D80120E43D
+:1047B00088E190E00FB6F894A895809360000FBE52
+:1047C0002093600083B7817F846083BF83B781605B
+:1047D00083BF7894889583B78E7F83BF88E10FB6B7
+:1047E000F89480936000109260000FBE08950895C1
+:1047F0000895CF930E94F7230E94180C0E94F8237B
+:10480000C0E08C2F0E94430D811105C0CF5FCE30D8
+:10481000C1F780E001C081E0CF9108950C94351D6F
+:1048200082E084BD93E095BD9AEF97BD80936E00C2
+:1048300008952FB7F8948091D9019091DA01A09151
+:10484000DB01B091DC012FBF0895CF92DF92EF9290
+:10485000FF920F931F932FB7F8944091D901509175
+:10486000DA016091DB017091DC012FBF6A017B01ED
+:10487000EE24FF248C0120E030E0C016D106E206D1
+:10488000F30610F441505109481B590BCA011F91FE
+:104890000F91FF90EF90DF90CF9008951F920F92AD
+:1048A0000FB60F9211248F939F93AF93BF93809174
+:1048B000D9019091DA01A091DB01B091DC01019660
+:1048C000A11DB11D8093D9019093DA01A093DB0162
+:1048D000B093DC01BF91AF919F918F910F900FBE6C
+:1048E0000F901F9018950E947914F8942FEF87EA83
+:1048F00091E6215080409040E1F700C0000087E041
+:1049000090EBDC018093F9019093FA01A093FB01F5
+:10491000B093FC012CE088E190E00FB6F894A895E4
+:10492000809360000FBE20936000FFCFEF92FF9254
+:104930000F931F93CF93DF93E82EF12C8F2D0E94BE
+:10494000430DC0E0D0E0082F10E098010C2E02C00B
+:10495000359527950A94E2F720FD05C02196C630CB
+:10496000D10599F709C06C2F7F2D80E00E94500E71
+:10497000E812F4CF81E005C0F3948EE0F812DECFA8
+:1049800080E0DF91CF911F910F91FF90EF900895FC
+:10499000CF93C82F8CE20E949624882321F08C2F7D
+:1049A000CF910C94962480E0CF910895CF930E94EC
+:1049B0002326811102C00E94092686EB9AE00E94FC
+:1049C000B409C5E6C15049F00E94180C8FE39CE978
+:1049D0000197F1F700C00000F5CF8FEA9AE00E943E
+:1049E000B40989E20E94C824811111C18AE20E949F
+:1049F000C82481110E94092685E00E94C8248111E3
+:104A00000E9473240E942E268093D70187E00E9483
+:104A1000C824882399F18BE10E94C824882351F08F
+:104A20009091D70191FB882780F921E0822780FBB4
+:104A300091F922C08EE00E94C824882351F0909101
+:104A4000D70192FB882780F921E0822780FB92F929
+:104A500013C080E10E94C8249091D701882341F0BF
+:104A600093FB882780F921E0822780FB93F904C01B
+:104A7000892F809580FB90F99093D7018091D70181
+:104A80000E9432260E9440268093EA0180EE0E9416
+:104A9000C824882341F08091EA01982F909590FBDB
+:104AA00080F98093EA0189E30E94C824882359F0A1
+:104AB0009091EA0191FB882780F921E0822780FB11
+:104AC00091F99093EA0182EE0E94C824882359F05C
+:104AD0009091EA0192FB882780F921E0822780FBF0
+:104AE00092F99093EA0186EE0E94C824882359F037
+:104AF0009091EA0193FB882780F921E0822780FBCF
+:104B000093F99093EA0183EE0E94C824882359F018
+:104B10009091EA0194FB882780F921E0822780FBAD
+:104B200094F99093EA0185E30E94C824882359F000
+:104B30009091EA0195FB882780F921E0822780FB8C
+:104B400095F99093EA0181E30E94C824882359F0E3
+:104B50009091EA0196FB882780F921E0822780FB6B
+:104B600096F99093EA0181E10E94C824882359F0C4
+:104B70009091EA0197FB882780F921E0822780FB4A
+:104B800097F99093EA018091EA010E94442680916E
+:104B9000EA0187FB882780F980930D0187E20E9454
+:104BA000C824C82F8EE10E94C8248111C2608FE101
+:104BB0000E94C8248111C46080E20E94C82481112F
+:104BC000C86081E20E94C8248111C06182E20E9413
+:104BD000C8248111C06283E20E94C8248111C0648C
+:104BE00084E20E94C824882311F0C06802C0CC234C
+:104BF00029F08C2F0E943B266C2F03C00E94372681
+:104C0000682F70E080E090E0CF910C942F21CF913D
+:104C100008956DEE7EEF80E090E00E94FE2F60E050
+:104C200082E090E00E94F02F60E083E090E00E943C
+:104C3000F02F60E084E090E00E94F02F60E085E0DB
+:104C400090E00C94F02F80E090E00E94EA2F21E0A9
+:104C50008D3E9E4F09F020E0822F089582E090E083
+:104C60000C94E22F682F82E090E00C94F02F83E008
+:104C700090E00C94E22F682F83E090E00C94F02FEA
+:104C800084E090E00C94E22F682F84E090E00C9494
+:104C9000F02F8091DF0180FF0BC06091130185E050
+:104CA000689FB001112475956795759567952AC021
+:104CB00081FF09C06091130185E0689FB001112454
+:104CC000759567951FC082FF07C06091130185E04D
+:104CD000689FB001112416C04091E0014423C9F03F
+:104CE00060911201461788F72091130185E0289FF3
+:104CF00090011124429FC001439F900D112470E048
+:104D00000E94B42F6038710540F46115710539F0C7
+:104D100002C065E070E0862F08958FE7089581E076
+:104D200008958091DF0180FF08C06091110170E05B
+:104D3000759567957595679521C081FF06C060914F
+:104D4000110170E07595679519C082FF04C06091EC
+:104D5000110170E010C08091E0018823C1F06091E2
+:104D600010018617A0F790911101989FC00111249E
+:104D700070E00E94B42F6038710528F46115710548
+:104D800021F0862F08958FE7089581E0089561E06E
+:104D900070E0F4CF803F21F40E944926819504C041
+:104DA000813F29F40E9449268093E3010895823FC0
+:104DB00021F40E944926819504C0833F29F40E9472
+:104DC00049268093E2010895893F19F40E949126B3
+:104DD00005C08A3F31F40E94912681958093E401B9
+:104DE00008958B3F21F40E949126819504C08C3F49
+:104DF00029F40E9491268093E5010895843F21F4CF
+:104E00008091E101816017C0853F21F48091E1012B
+:104E1000826011C0863F21F48091E10184600BC063
+:104E2000873F21F48091E101886005C0883F31F41B
+:104E30008091E10180618093E10108958D3F21F42B
+:104E40008091DF0181600BC08E3F21F48091DF01F2
+:104E5000826005C08F3F29F48091DF0184608093D8
+:104E6000DF010895803F39F48091E30187FF6CC032
+:104E70001092E30169C0813F29F48091E301181683
+:104E8000BCF362C09091E201823F29F497FF5CC0BD
+:104E90001092E20159C0833F19F41916CCF354C0A3
+:104EA000893F41F48091E40118160CF04DC0109236
+:104EB000E4014AC08A3F29F48091E40187FF44C09D
+:104EC000F6CF8B3F39F48091E50187FF3DC010920A
+:104ED000E5013AC08C3F29F48091E5011816BCF336
+:104EE00033C0843F21F48091E1018E7F17C0853F5C
+:104EF00021F48091E1018D7F11C0863F21F48091E2
+:104F0000E1018B7F0BC0873F21F48091E101877F16
+:104F100005C0883F31F48091E1018F7E8093E101EB
+:104F200013C08D3F21F48091DF018E7F0BC08E3F37
+:104F300021F48091DF018D7F05C08F3F29F480919E
+:104F4000DF018B7F8093DF018091E20181110EC030
+:104F50008091E30181110AC08091E401811106C0B2
+:104F60008091E501811102C01092E00108958091C5
+:104F7000D70183FF7EC082EF9AE00E94B40980913E
+:104F8000E1011F928F938DEE9AE09F938F930E9481
+:104F90004D0A8BEE9AE00E94B4092091E201822F23
+:104FA000992787FD90959F932F9388EE9AE09F9382
+:104FB0008F930E944D0A86EE9AE00E94B4092091D8
+:104FC000E301822F992787FD90959F932F9383EE7E
+:104FD0009AE09F938F930E944D0A81EE9AE00E947F
+:104FE000B4092091E401822F992787FD90959F9322
+:104FF0002F938EED9AE09F938F930E944D0A8CED34
+:105000009AE00E94B4092091E501822F992787FD3B
+:1050100090959F932F9389ED9AE09F938F930E9491
+:105020004D0A86ED9AE00E94B4098091E0011F923A
+:105030008F9383ED9AE09F938F930E944D0A81EDA9
+:105040009AE00E94B4098091DF011F928F938EEC49
+:105050009AE09F938F930E944D0A8BEC9AE00E94F6
+:10506000B4098DB79EB74C960FB6F8949EBF0FBE8D
+:105070008DBF81EE91E00E94C3170E941924909386
+:10508000DE018093DD0108951F93CF93DF9380911C
+:10509000DD019091DE010E9425244091E00144232E
+:1050A00021F02091140130E006C0209115015AE052
+:1050B000259F900111248217930708F482C08091E4
+:1050C000E2011091E301D091E401C091E501811169
+:1050D00007C0111105C0D11103C0CC2309F471C060
+:1050E0004F3F19F04F5F4093E001181624F40E94DF
+:1050F00049268093E2018091E20187FF05C00E946A
+:10510000492681958093E201111624F40E944926D4
+:105110008093E3018091E30187FF05C00E94492647
+:1051200081958093E3016091E201662339F110914A
+:10513000E301112319F1772767FD7095872F972FCA
+:105140000E94B92E23E333E343E35FE30E941D2F64
+:105150000E94862E6093E201612F772767FD70958C
+:10516000872F972F0E94B92E23E333E343E35FE3B6
+:105170000E941D2F0E94862E6093E3011D1624F4C9
+:105180000E9491268093E4018091E40187FF05C08D
+:105190000E94912681958093E4011C1624F40E94BC
+:1051A00091268093E5018091E50187FF05C00E946B
+:1051B000912681958093E501DF91CF911F910C9409
+:1051C000B727DF91CF911F910895E1EEF1E085E0DF
+:1051D000DF011D928A95E9F71092E0011092DF013C
+:1051E000089585E19DE00E94B4091F9281E08F93AC
+:1051F0001F9285E08F9387EC9CE09F938F930E9492
+:105200004D0A0F900F900F900F900F900F900895F0
+:105210008330E9F128F4813061F0823009F108959A
+:10522000853009F462C008F449C0863009F474C0BE
+:10523000089520911501862F90E0820F911D8F3FD8
+:10524000910520F4620F6093150103C08FEF8093E6
+:105250001501809115011F928F9380E09CE072C030
+:1052600020911401862F90E0820F911D8F3F9105B0
+:1052700020F4620F6093140103C08FEF8093140138
+:10528000809114011F928F938EEE9BE05BC0209162
+:105290001301862F90E0820F911D8F3F910520F41E
+:1052A000620F6093130103C08FEF8093130180910D
+:1052B00013011F928F938BED9BE044C0209112014C
+:1052C000862F90E0820F911D8F3F910520F4620F91
+:1052D0006093120103C08FEF80931201809112013D
+:1052E0001F928F9386EC9BE02DC020911101862F99
+:1052F00090E0820F911D8F3F910520F4620F609323
+:10530000110103C08FEF80931101809111011F9251
+:105310008F938DEA9BE016C020911001862F90E0BC
+:10532000820F911D8F3F910520F4620F6093100151
+:1053300003C08FEF80931001809110011F928F9313
+:1053400082E99BE09F938F930E944D0A0F900F90EC
+:105350000F900F900895833081F128F4813059F037
+:105360008230D1F00895853009F449C0B8F1863013
+:1053700009F456C0089580911501681720F4861B22
+:105380008093150102C010921501809115011F92A2
+:105390008F9383E89BE054C080911401681720F438
+:1053A000861B8093140102C0109214018091140195
+:1053B0001F928F9381E79BE043C080911301681790
+:1053C00020F4861B8093130102C010921301809178
+:1053D00013011F928F938EE59BE032C080911201E2
+:1053E000681720F4861B8093120102C010921201EC
+:1053F000809112011F928F9389E49BE021C08091DC
+:105400001101681720F4861B8093110102C01092CD
+:105410001101809111011F928F9380E39BE010C0D6
+:1054200080911001681720F4861B8093100102C040
+:1054300010921001809110011F928F9385E19BE0E3
+:105440009F938F930E944D0A0F900F900F900F9093
+:105450000895CF93C82F1F928F932AE13EE03F9388
+:105460002F930E944D0A61E070E080E090E004C05C
+:10547000660F771F881F991FCA95D2F70E942F21A8
+:105480000F900F900F900F90CF910C94351DCF93EC
+:105490008D3109F465C0B0F58E3009F4CBC100F54B
+:1054A000873009F49BC1A8F4863009F06AC2809164
+:1054B000D701817F8E7F8093D7018FE19EE00E948C
+:1054C000B40984E692E10E94B40981E08093E70187
+:1054D00080C1883009F44FC08B3009F47CC151C2BF
+:1054E000863109F4EDC138F4803109F4B6C1813157
+:1054F00009F42DC246C2893109F4CBC18B3109F4BC
+:1055000086C13FC2853309F434C248F4873209F4B6
+:1055100030C208F430C2893209F42BC232C283345B
+:1055200038F48A3308F029C2883309F454C129C2F7
+:10553000833409F41EC2883409F023C20E94351D49
+:1055400083E592E10E94B4099FEF23ED80E391503F
+:1055500020408040E1F700C000000E94732439C160
+:1055600083E792E10E94B4090E94402E0E947217C4
+:105570000E94B00F2EC188E692E10E94B40980E338
+:1055800090E10E94B4090E9437261F928F938DE20A
+:1055900090E19F938F930E944D0A8BE290E10E94CD
+:1055A000B4090E942E26C82F88E190E10E94B40918
+:1055B0001F92CF9323E130E13F932F930E944D0A36
+:1055C00081E190E10E94B40987E090E10E94B40972
+:1055D0008C2F81701F928F9324E030E13F932F93A3
+:1055E0000E944D0A82E090E10E94B40988EF9FE09A
+:1055F0000E94B409C1FB882780F91F928F9325EF81
+:105600003FE03F932F930E944D0A83EF9FE00E945B
+:10561000B40987EE9FE00E94B409C2FB882780F995
+:105620001F928F9324EE3FE03F932F930E944D0AE9
+:1056300082EE9FE00E94B40989ED9FE00E94B409C8
+:10564000C3FBCC27C0F91F92CF9386ED9FE09F93B9
+:105650008F930E944D0A84ED9FE00E94B4090E943E
+:105660004026C82F80EC9FE00E94B4091F92CF9380
+:105670002BEB3FE03F932F930E944D0A89EB9FE075
+:105680000E94B40980EA9FE00E94B4098C2F8170C7
+:105690001F928F932DE93FE03F932F930E944D0A75
+:1056A0008DB79EB780960FB6F8949EBF0FBE8DBF84
+:1056B0008BE99FE00E94B40984E89FE00E94B4094E
+:1056C000C1FB882780F91F928F9321E83FE03F9329
+:1056D0002F930E944D0A8FE79FE00E94B4098DE648
+:1056E0009FE00E94B409C2FB882780F91F928F9324
+:1056F0002AE63FE03F932F930E944D0A88E69FE001
+:105700000E94B40986E59FE00E94B409C3FB882784
+:1057100080F91F928F9323E53FE03F932F930E94E0
+:105720004D0A81E59FE00E94B40987E49FE00E9452
+:10573000B409C4FB882780F91F928F9324E43FE0CB
+:105740003F932F930E944D0A82E49FE00E94B40988
+:1057500080E39FE00E94B409C5FB882780F91F926F
+:105760008F932DE23FE03F932F930E944D0A8BE2EF
+:105770009FE00E94B4098FE09FE00E94B409C6FB3D
+:10578000882780F91F928F932CE03FE03F932F935F
+:105790000E944D0A8AE09FE00E94B40982E09FE0E7
+:1057A0000E94B409C7FBCC27C0F91F92CF938FEF9B
+:1057B0009EE09F938F930E944D0A8DEF9EE00E9482
+:1057C000B4098DB79EB74C960FB6F8949EBF0FBE26
+:1057D0008DBFC1E0DBC086E49EE058C08091D70158
+:1057E000C82FC17080FF09C086E492E10E94B4090D
+:1057F0008091D701817F8E7F44C08AE392E10E942D
+:10580000B4098091D70181608093D701E2CF809164
+:10581000D70181FBCC27C0F991E0C927C0FB81F9F2
+:105820008093D701CC2319F08DE292E125C08FE15E
+:1058300092E12CC08091D70182FBCC27C0F991E086
+:10584000C927C0FB82F98093D701CC2319F080E1EE
+:1058500092E112C080E092E119C08091D70183FBF0
+:10586000CC27C0F991E0C927C0FB83F98093D70109
+:10587000CC2351F084EF91E10E94B4098091D701CB
+:1058800081608093D70182C087EE91E10E94B409C4
+:10589000A0CF88ED91E10E94B4098CEA91E10E94C9
+:1058A000B4098FE691E10E94B40982E491E10E947B
+:1058B000B4098EEF90E10E94B40980ED90E1E6CF4B
+:1058C00082EC90E10E94B4090E9472171F928F939C
+:1058D00088EA90E19F938F930E944D0A80910C017A
+:1058E0001F928F9381E990E19F938F930E944D0ABD
+:1058F00080916E011F928F938EE790E19F938F931B
+:105900000E944D0A80910D011F928F938BE690E1CA
+:105910009F938F930E944D0A8091D9019091DA0153
+:10592000A091DB01B091DC01BF93AF939F938F9364
+:1059300087E590E19F938F930E944D0A8DB79EB7A4
+:1059400046960FB6F8949EBF0FBE8DBF42CF0E9401
+:10595000351DC0910D0181E0C827C0930D01CC23F6
+:1059600029F08DE490E10E94B40910C082E490E136
+:105970008DCF80E003C08D5101C089530E94292A38
+:1059800028CF80E490E10E94B409C0E08C2FCF9131
+:10599000089580E0089580E00895CF93C82F809106
+:1059A000E701813081F020F0823009F44CC042C11F
+:1059B000A0910E01B0910F018C91813169F082327A
+:1059C00009F03AC109C0A0910E01B0910F018C916C
+:1059D000813111F0823249F48C2F0E94C92C81113F
+:1059E0002FC08C2F0E94472A2CC08C2F0E94CB2CBA
+:1059F000811126C0C431E1F070F4CB3081F0C031A8
+:105A0000D1F40E94F12882E19EE00E94B40982E074
+:105A10008093E70115C0C93259F0C83361F48FE1B2
+:105A20009EE00E94B40986E19EE00E94B40908C08D
+:105A30001092E70103C180E19EE00E94B409FEC01C
+:105A400081E08170FDC0C43220F5CE3108F0C0C0C5
+:105A5000CB3099F1C8F4C73009F0D2C08AE0809306
+:105A6000150194E19093140193E0909313018093B6
+:105A7000120188E08093110188E28093100186EB87
+:105A80009CE00E94B409BFC0C33149F1C431C1F0E8
+:105A9000B7C0CB3409F4A9C028F4C93289F0C8339F
+:105AA00061F0AEC0C13509F49EC0C23509F499C099
+:105AB000CE3409F0A5C06AE09EC00E94F128A3C0C0
+:105AC0008091E601882319F01092E6019CC083ECD6
+:105AD0009CE00E94B40981E08093E701B1C08DE9A8
+:105AE0009CE00E94B4098BE89CE00E94B40980917C
+:105AF00015011F928F9388E89CE09F938F930E94DB
+:105B00004D0A86E89CE00E94B40984E79CE00E946C
+:105B1000B409809114011F928F9381E79CE09F93B9
+:105B20008F930E944D0A8FE69CE00E94B40980E6A4
+:105B30009CE00E94B409809113011F928F938DE520
+:105B40009CE09F938F930E944D0A8BE59CE00E94FE
+:105B5000B4098AE49CE00E94B409809112011F926A
+:105B60008F9387E49CE09F938F930E944D0A85E476
+:105B70009CE00E94B40980E39CE00E94B4098091FB
+:105B800011011F928F938DE29CE09F938F930E944F
+:105B90004D0A8BE29CE00E94B40984E19CE00E94E3
+:105BA000B409809110011F928F9381E19CE09F9333
+:105BB0008F930E944D0A8FE09CE00E94B4098DB73C
+:105BC0009EB748960FB6F8949EBF0FBE8DBF1BC000
+:105BD000CE51EC2FF0E0E15DFE4F80818093E60135
+:105BE00012C061E003C061E006C06AE08091E60196
+:105BF0000E94082908C08091E6010E94AB2903C0D9
+:105C000084EB9CE013C08091E601882369F01F9229
+:105C10008F938EEA9CE09F938F930E944D0A0F9082
+:105C20000F900F900F9004C08BEA9CE00E94B40983
+:105C300081E006C01092E70180E002C080E001CF61
+:105C4000CF910895E1E8F0E08081886080838081D1
+:105C5000816080838FB7F89493E09093890090EDF2
+:105C6000909388008FBF0895EFE6F0E08081826016
+:105C700080830895EFE6F0E080818D7F8083089532
+:105C8000EFE6F0E0808192E08927808308951F92FB
+:105C90000F920FB60F9211242F933F934F935F9360
+:105CA0006F937F938F939F93AF93BF93EF93FF93E4
+:105CB0008091E8019091E90101969093E901809328
+:105CC000E801811103C082E00E94B00FE091E90178
+:105CD000E695E695F0E0ED57FD4EE4918091E80100
+:105CE0008E1303C080E00E94B00FFF91EF91BF912F
+:105CF000AF919F918F917F916F915F914F913F9164
+:105D00002F910F900FBE0F901F90189504D068949C
+:105D1000B1118DC0089570D088F09F5790F0B92FC1
+:105D20009927B751A0F0D1F0660F771F881F991FF0
+:105D30001AF0BA95C9F712C0B13081F077D0B1E04E
+:105D4000089574C0672F782F8827B85F39F0B93F5E
+:105D5000CCF3869577956795B395D9F73EF49095F2
+:105D60008095709561957F4F8F4F9F4F0895E89470
+:105D700009C097FB3EF490958095709561957F4F93
+:105D80008F4F9F4F9923A9F0F92F96E9BB27939541
+:105D9000F695879577956795B795F111F8CFFAF451
+:105DA000BB0F11F460FF1BC06F5F7F4F8F4F9F4F82
+:105DB00016C0882311F096E911C0772321F09EE8E0
+:105DC000872F762F05C0662371F096E8862F70E046
+:105DD00060E02AF09A95660F771F881FDAF7880F20
+:105DE0009695879597F9089557FD9058440F551F3C
+:105DF00059F05F3F71F04795880F97FB991F61F04D
+:105E00009F3F79F087950895121613061406551FC3
+:105E1000F2CF4695F1DF08C0161617061806991F2F
+:105E2000F1CF86957105610508940895E894BB2724
+:105E300066277727CB0197F908950BD078C069D0F2
+:105E400028F06ED018F0952309F05AC05FC01124D5
+:105E5000EECFCADFA0F3959FD1F3950F50E0551F09
+:105E6000629FF001729FBB27F00DB11D639FAA27AF
+:105E7000F00DB11DAA1F649F6627B00DA11D661FFE
+:105E8000829F2227B00DA11D621F739FB00DA11D1F
+:105E9000621F839FA00D611D221F749F3327A00DD9
+:105EA000611D231F849F600D211D822F762F6A2F75
+:105EB00011249F5750408AF0E1F088234AF0EE0FFA
+:105EC000FF1FBB1F661F771F881F91505040A9F707
+:105ED0009E3F510570F014C0AACF5F3FECF3983E8F
+:105EE000DCF3869577956795B795F795E7959F5F6E
+:105EF000C1F7FE2B880F911D9695879597F9089508
+:105F000097F99F6780E870E060E008959FEF80EC6C
+:105F1000089500240A94161617061806090608950F
+:105F200000240A9412161306140605060895092E75
+:105F30000394000C11F4882352F0BB0F40F4BF2BE4
+:105F400011F460FF04C06F5F7F4F8F4F9F4F089524
+:105F5000991B79E004C0991F961708F0961B881FBB
+:105F60007A95C9F78095089597FB072E16F400944B
+:105F700007D077FD09D00E94CE2F07FC05D03EF454
+:105F8000909581959F4F0895709561957F4F0895E5
+:105F9000EE0FFF1F0590F491E02D0994AA1BBB1B87
+:105FA00051E107C0AA1FBB1FA617B70710F0A61B19
+:105FB000B70B881F991F5A95A9F780959095BC013A
+:105FC000CD010895F999FECF92BD81BDF89A992728
+:105FD00080B50895A8E1B0E042E050E00C940530AF
+:105FE000262FF999FECF1FBA92BD81BD20BD0FB6F5
+:105FF000F894FA9AF99A0FBE019608950E94F02F2C
+:10600000272F0C94F12FDC01CB01FC01F999FECF75
+:1060100006C0F2BDE1BDF89A319600B40D92415030
+:0A6020005040B8F70895F894FFCF40
+:10602A002002B10FA2107F104B1018100101C501F8
+:10603A0028080A03140A3F4D362039000AB3097D9D
+:10604A00095D0924099708B008C908E2080209018C
+:0A605A000203040506070809000010
+:00000001FF
diff --git a/keyboard/ergodox_ez/keymaps/tonyabra_osx/keymap.c b/keyboard/ergodox_ez/keymaps/tonyabra_osx/keymap.c
new file mode 100644
index 0000000000..fb7c00983e
--- /dev/null
+++ b/keyboard/ergodox_ez/keymaps/tonyabra_osx/keymap.c
@@ -0,0 +1,184 @@
+#include "ergodox_ez.h"
+#include "debug.h"
+#include "action_layer.h"
+
+#define BASE 0 // default layer
+#define SYMB 1 // symbols
+#define MDIA 2 // media keys
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+/* Keymap 0: Basic layer
+ *
+ * ,--------------------------------------------------. ,--------------------------------------------------.
+ * | Esc | 1 | 2 | 3 | 4 | 5 | = | | - | 6 | 7 | 8 | 9 | 0 | Enter |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | Tab | Q | W | E | R | T | L1 | | L1 | Y | U | I | O | P | \ |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | BkSp | A | S | D | F | G |------| |------| H | J | K | L | ; | '" |
+ * |--------+------+------+------+------+------| LGui | | LGui |------+------+------+------+------+--------|
+ * | LShift | Z | X | C | V | B | | | | N | M | , | . | / | RShift |
+ * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
+ * | L1 | ` | { | } | '" | | Left | Up | Down | Right| L2 |
+ * `----------------------------------' `----------------------------------'
+ * ,-------------. ,-------------.
+ * | Del | Alt | | Alt | Ctrl |
+ * ,------|------|------| |------+--------+------.
+ * | | | Home | | PgUp | | |
+ * | Space|Backsp|------| |------| Tab |Enter |
+ * | |ace | End | | PgDn | | |
+ * `--------------------' `----------------------'
+ */
+// If it accepts an argument (i.e, is a function), it doesn't need KC_.
+// Otherwise, it needs KC_*
+[BASE] = KEYMAP( // layer 0 : default
+ // left hand
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_EQL,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, TG(SYMB),
+ KC_BSPC, KC_A, KC_S, KC_D, KC_F, KC_G,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LGUI,
+ TG(SYMB), KC_GRV, KC_LBRC, KC_RBRC,KC_QUOT,
+ KC_DELT,KC_LALT,
+ KC_HOME,
+ KC_SPC,KC_BSPC,KC_END,
+ // right hand
+ KC_MINS, KC_6, KC_7, KC_8, KC_9, KC_0, KC_ENT,
+ TG(SYMB), KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
+ KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
+ KC_LGUI, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_RSFT,
+ KC_LEFT,KC_UP, KC_DOWN,KC_RIGHT, TG(MDIA),
+ KC_RALT, KC_RCTL,
+ KC_PGUP,
+ KC_PGDN,KC_TAB, KC_ENT
+ ),
+/* Keymap 1: Symbol Layer
+ *
+ * ,--------------------------------------------------. ,--------------------------------------------------.
+ * | | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F11 |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | | ! | @ | { | } | | | | | | Up | 7 | 8 | 9 | * | F12 |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | # | $ | ( | ) | ` |------| |------| Down | 4 | 5 | 6 | + | |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | % | ^ | [ | ] | ~ | | | | & | 1 | 2 | 3 | \ | |
+ * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
+ * | | | | | | | | . | 0 | = | |
+ * `----------------------------------' `----------------------------------'
+ * ,-------------. ,-------------.
+ * | | | | | |
+ * ,------|------|------| |------+------+------.
+ * | | | | | | | |
+ * | | |------| |------| | |
+ * | | | | | | | |
+ * `--------------------' `--------------------'
+ */
+// SYMBOLS
+[SYMB] = KEYMAP(
+ // left hand
+ KC_TRNS,KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS,
+ KC_TRNS,KC_EXLM,KC_AT, KC_LCBR,KC_RCBR,KC_PIPE,KC_TRNS,
+ KC_TRNS,KC_HASH,KC_DLR, KC_LPRN,KC_RPRN,KC_GRV,
+ KC_TRNS,KC_PERC,KC_CIRC,KC_LBRC,KC_RBRC,KC_TILD,KC_TRNS,
+ KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
+ KC_TRNS,KC_TRNS,
+ KC_TRNS,
+ KC_TRNS,KC_TRNS,KC_TRNS,
+ // right hand
+ KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
+ KC_TRNS, KC_UP, KC_7, KC_8, KC_9, KC_ASTR, KC_F12,
+ KC_DOWN, KC_4, KC_5, KC_6, KC_PLUS, KC_TRNS,
+ KC_TRNS, KC_AMPR, KC_1, KC_2, KC_3, KC_BSLS, KC_TRNS,
+ KC_TRNS,KC_DOT, KC_0, KC_EQL, KC_TRNS,
+ KC_TRNS, KC_TRNS,
+ KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS
+),
+/* Keymap 2: Media and mouse keys
+ *
+ * ,--------------------------------------------------. ,--------------------------------------------------.
+ * | | | | | | | | | | | | | | | |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | | | | MsUp | | | | | | | | | | | |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | |MsLeft|MsDown|MsRght| |------| |------| | | | | | Play |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | | | | | | | | | | | Prev | Next | | |
+ * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
+ * | | | | Lclk | Rclk | |VolUp |VolDn | Mute | | |
+ * `----------------------------------' `----------------------------------'
+ * ,-------------. ,-------------.
+ * | | | | | |
+ * ,------|------|------| |------+------+------.
+ * | | | | | | |Brwser|
+ * | | |------| |------| |Back |
+ * | | | | | | | |
+ * `--------------------' `--------------------'
+ */
+// MEDIA AND MOUSE
+[MDIA] = KEYMAP(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_U, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN1, KC_BTN2,
+ KC_TRNS, KC_TRNS,
+ KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS,
+ // right hand
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_MNXT, KC_TRNS, KC_TRNS,
+ KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS,
+ KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_WBAK
+),
+};
+
+const uint16_t PROGMEM fn_actions[] = {
+ [1] = ACTION_LAYER_TAP_TOGGLE(SYMB) // FN1 - Momentary Layer 1 (Symbols)
+};
+
+const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
+{
+ // MACRODOWN only works in this function
+ switch(id) {
+ case 0:
+ if (record->event.pressed) {
+ register_code(KC_RSFT);
+ } else {
+ unregister_code(KC_RSFT);
+ }
+ break;
+ }
+ return MACRO_NONE;
+};
+
+// Runs just one time when the keyboard initializes.
+void * matrix_init_user(void) {
+
+};
+
+// Runs constantly in the background, in a loop.
+void * matrix_scan_user(void) {
+
+ uint8_t layer = biton32(layer_state);
+
+ ergodox_board_led_off();
+ ergodox_right_led_1_off();
+ ergodox_right_led_2_off();
+ ergodox_right_led_3_off();
+ switch (layer) {
+ // TODO: Make this relevant to the ErgoDox EZ.
+ case 1:
+ ergodox_right_led_1_on();
+ break;
+ case 2:
+ ergodox_right_led_2_on();
+ break;
+ default:
+ // none
+ break;
+ }
+
+};
diff --git a/keyboard/ergodox_ez/keymaps/tonyabra_osx/readme.md b/keyboard/ergodox_ez/keymaps/tonyabra_osx/readme.md
new file mode 100644
index 0000000000..f9d76efc23
--- /dev/null
+++ b/keyboard/ergodox_ez/keymaps/tonyabra_osx/readme.md
@@ -0,0 +1,5 @@
+# ErgoDox EZ OS X Simplified Configuration
+
+This keyboard configuration replaces the hyper and meh keys with the command key. It also removes all of the meta keys that require a "hold" because I found that I hesitate when I type, which can accidentally fire those combinations. On the upper left of the left hand, I mimicked the Mac placement of tab and escape, and on the upper right of the right hand, I placed an additional enter key for convenience when breezing through prompts.
+
+This is my standard working configuration for now, but I can see myself tweaking it as I use it more. I highly recommend you do the same. \ No newline at end of file
diff --git a/keyboard/ergodox_ez/keymaps/tonyabra_osx/tonyabra_osx.hex b/keyboard/ergodox_ez/keymaps/tonyabra_osx/tonyabra_osx.hex
new file mode 100644
index 0000000000..c3481dccbe
--- /dev/null
+++ b/keyboard/ergodox_ez/keymaps/tonyabra_osx/tonyabra_osx.hex
@@ -0,0 +1,1471 @@
+:100000000C9400070C9444070C9444070C94440788
+:100010000C9444070C9444070C9444070C94440734
+:100020000C9444070C9444070C9458120C942A1313
+:100030000C9444070C9444070C9444070C94440714
+:100040000C9444070C94002C0C9444070C94440723
+:100050000C9444070C94F8210C9444070C94440726
+:100060000C9444070C9444070C9444070C944407E4
+:100070000C9444070C9444070C9444070C944407D4
+:100080000C9444070C9444070C9444070C944407C4
+:100090000C9444070C9444070C9444070C944407B4
+:1000A0000C9444070C9444070C9444079713B91319
+:1000B000A714B913A714FE132114A71476148914D6
+:1000C000D017D017FF17FF1742188018991A991ADE
+:1000D0009918991A9A199A196D1A991A991A841ACB
+:1000E0000000F0A129002B002A00E10001540000CB
+:1000F0001E00140004001D0035004D001F001A00F2
+:1001000016001B002F002A00200008000700060030
+:1001100030002C00210015000900190034004A00AD
+:10012000220017000A00050000004C002E000154B8
+:100130000000E3000000E2002D0001540000E30095
+:100140000000E60023001C000B0011000000E4008A
+:10015000240018000D00100050004B0025000C007A
+:100160000E00360052002800260012000F00370053
+:1001700051002B0027001300330038004F004E00C1
+:10018000280031003400E5000254000001000100A5
+:1001900001000100010000003A001E0220022202BC
+:1001A000010001003B001F022102230201000100A7
+:1001B0003C002F0226022F00010001003D0030020A
+:1001C00027023000010001003E00310235003502F7
+:1001D000000001000100010000000100000001001A
+:1001E0000100010000000100000001003F0052007A
+:1001F00051002402000001004000240021001E00E4
+:10020000010001004100250022001F00370001000D
+:1002100042002600230020002700010043002502A1
+:100220002E0231002E0001004400450001000100B3
+:1002300001000000010001000100010001000000B8
+:1002400001000100010001000100010001000100A6
+:10025000F2000100010001000100F000F1000100C6
+:10026000F400010001000100F3000100F5000100AD
+:100270000100010001000100000001000100010077
+:100280000000010000000100010001000000010069
+:100290000000010001000100010001000000010058
+:1002A0000100010001000100A9000100010001009E
+:1002B0000100AC00AA00B600010001000100AB0083
+:1002C000A80001000100010001000100010001007F
+:1002D00001000100AE000100010000000A0025300D
+:1002E000313662003A200025303258000A722F63FE
+:1002F0002030313233343536373839414243444582
+:10030000460A000A002530325800626F756E636538
+:10031000213A20006C6566742073696465206174FD
+:100320007461636865640A006C656674207369644F
+:1003300065206E6F7420726573706F6E64696E678E
+:100340000A00747279696E6720746F207265736534
+:1003500074206D637032333031380A000A444542EC
+:1003600055473A20656E61626C65642E0A005B73C6
+:100370005D004B6579626F617264207374617274A1
+:100380002E0A005B575D005B535D005B525D005BB6
+:10039000445D005B435D0016034500720067006F1B
+:1003A0000044006F007800200045005A000000164D
+:1003B000034500720067006F0044006F0078002062
+:1003C0000045005A0000000403090409028D0005DD
+:1003D0000100A0FA09040000010301010009211134
+:1003E000010001223F000705810308000A090401FA
+:1003F000000103010200092111010001224D000743
+:1004000005820308000A0904020001030000000934
+:1004100021110100012236000705830308000A09A3
+:100420000403000203000000092111010001222041
+:1004300000070584032000010705040320000109CB
+:100440000404000103000000092111010001223908
+:1004500000070585031000011201100100000008CB
+:10046000EDFE071301000102000105010906A101CB
+:10047000050719E029E71500250195087501810296
+:100480000508190129059505750191029501750366
+:100490009101050719002977150025019578750147
+:1004A0008102C00631FF0974A1010975150025FFFD
+:1004B0009520750881020976150025FF952075089D
+:1004C0009102C005010980A101850216010026B72D
+:1004D000001A01002AB700751095018100C0050CB3
+:1004E0000901A1018503160100269C021A01002AB8
+:1004F0009C02751095018100C005010902A1010946
+:1005000001A10005091901290515002501950575A9
+:100510000181029501750381010501093009311539
+:1005200081257F95027508810609381581257F95FB
+:100530000175088106050C0A38021581257F950191
+:1005400075088106C0C005010906A101050719E06B
+:1005500029E71500250195087501810295017508A7
+:10056000810105081901290595057501910295017B
+:10057000750391010507190029FF150025FF950650
+:1005800075088100C00A002530325820006B65795B
+:10059000626F6172645F7265706F72743A20000AF4
+:1005A0000025303258006B6579626F6172645F7349
+:1005B00065745F6C65643A200064656C5F6B657997
+:1005C0005F6269743A2063616E27742064656C3AD7
+:1005D00020253032580A006164645F6B65795F6280
+:1005E00069743A2063616E2774206164643A20253F
+:1005F0003032580A00646F6E652E0A00626F6F67B2
+:100600006D61676963207363616E3A202E2E2E2020
+:1006100000290A002575002F002575005D2800259A
+:10062000640020002564002000256400200025646B
+:10063000007C0025303258006D6F7573656B6579ED
+:10064000205B62746E7C782079207620685D287249
+:1006500065702F61636C293A205B006D6B5F776872
+:1006600065656C5F74696D655F746F5F6D6178203F
+:100670003D2025640A006D6B5F776865656C5F6D72
+:1006800061785F7370656564203D2025640A006DA4
+:100690006B5F74696D655F746F5F6D6178203D207D
+:1006A00025640A006D6B5F6D61785F7370656564CA
+:1006B000203D2025640A006D6B5F696E746572765B
+:1006C000616C203D2025640A006D6B5F64656C6180
+:1006D00079203D2025640A006D6B5F776865656C45
+:1006E0005F74696D655F746F5F6D6178203D202573
+:1006F000640A006D6B5F776865656C5F6D61785F3C
+:100700007370656564203D2025640A006D6B5F741D
+:10071000696D655F746F5F6D6178203D2025640AA7
+:10072000006D6B5F6D61785F7370656564203D205F
+:1007300025640A006D6B5F696E74657276616C206A
+:100740003D2025640A006D6B5F64656C6179203D16
+:100750002025640A000A00257500363A207768656E
+:10076000656C5F74696D655F746F5F6D61783A2069
+:10077000000A00257500353A20776865656C5F6D65
+:1007800061785F73706565643A20000A0025750022
+:10079000343A2074696D655F746F5F6D61783A20DB
+:1007A000000A00257500333A206D61785F7370652B
+:1007B00065643A20000A00257500323A20696E749B
+:1007C000657276616C286D73293A20000A002575E0
+:1007D00000313A2064656C6179282A31306D7329C3
+:1007E0003A20000A092D2056616C756573202D0A88
+:1007F000004D3E004D25643E20003F00736574208F
+:1008000064656661756C740A00433E200077686514
+:1008100072652064656C74613A20637572736F72DF
+:100820003D25642C20776865656C3D25640A536519
+:100830006520687474703A2F2F656E2E77696B6926
+:1008400070656469612E6F72672F77696B692F4DD0
+:100850006F7573655F6B6579730A000A092D204D0A
+:100860006F7573656B6579202D0A4553432F713A77
+:1008700009717569740A313A0964656C6179282ACD
+:1008800031306D73290A323A09696E746572766186
+:100890006C286D73290A333A096D61785F7370654E
+:1008A00065640A343A0974696D655F746F5F6D61E0
+:1008B000780A353A09776865656C5F6D61785F73B2
+:1008C000706565640A363A09776865656C5F7469B6
+:1008D0006D655F746F5F6D61780A0A703A097072B6
+:1008E000696E742076616C7565730A643A09736584
+:1008F000742064656661756C74730A75703A092BAF
+:10090000310A646F776E3A092D310A706775703A53
+:10091000092B31300A7067646F776E3A092D3130D8
+:100920000A0A7370656564203D2064656C746120FB
+:100930002A206D61785F7370656564202A202872B3
+:100940006570656174202F2074696D655F746F5FD9
+:100950006D6178290A003F004D3E2000433E200093
+:100960004C25640A000A092D20436F6E736F6C6575
+:10097000202D0A4553432F713A09717569740A6D28
+:100980003A096D6F7573656B65790A000A092D2048
+:100990004D61676963202D0A643A09646562756771
+:1009A0000A783A096465627567206D6174726978C6
+:1009B0000A6B3A096465627567206B6579626F61DD
+:1009C00072640A6D3A096465627567206D6F7573AC
+:1009D000650A763A0976657273696F6E0A733A0929
+:1009E0007374617475730A633A09636F6E736F6C25
+:1009F00065206D6F64650A302D343A096C61796544
+:100A000072302D34284631302D4634290A50617514
+:100A1000733A09626F6F746C6F616465720A653A4C
+:100A200009656570726F6D0A6E3A094E4B524F0A36
+:100A30007A3A09736C656570204C4544207465737F
+:100A4000740A000A002575002E6E6B726F3A200042
+:100A50000A002575002E737761705F6261636B73A6
+:100A60006C6173685F6261636B73706163653A2088
+:100A7000000A002575002E737761705F67726176DA
+:100A8000655F6573633A20000A002575002E6E6F5E
+:100A90005F6775693A20000A002575002E7377613B
+:100AA000705F72616C745F726775693A20000A004A
+:100AB0002575002E737761705F6C616C745F6C6775
+:100AC00075693A20000A002575002E636170736C09
+:100AD0006F636B5F746F5F636F6E74726F6C3A20DD
+:100AE000000A002575002E737761705F636F6E7466
+:100AF000726F6C5F636170736C6F636B3A20000A96
+:100B00000025303258006B65796D61705F636F6EE0
+:100B10006669672E7261773A20000A002575002EFB
+:100B20006D6F7573653A20000A002575002E6B65A0
+:100B300079626F6172643A20000A002575002E6D9B
+:100B400061747269783A20000A002575002E656E7E
+:100B500061626C653A20000A0025303258006465F5
+:100B60006275675F636F6E6669672E7261773A20A0
+:100B7000000A0025750064656661756C745F6C61C0
+:100B80007965723A20003F004E4B524F3A206F6613
+:100B9000660A004E4B524F3A206F6E0A0074696D20
+:100BA00065725F636F756E743A202530346C580A35
+:100BB000006B6579626F6172645F6E6B726F3A2071
+:100BC00025580A006B6579626F6172645F69646CB5
+:100BD000653A2025580A006B6579626F6172645F1F
+:100BE00070726F746F636F6C3A2025580A00686FDB
+:100BF00073745F6B6579626F6172645F6C65647357
+:100C000028293A2025580A000A092D2053746174B6
+:100C10007573202D0A004743433A20342E392E3372
+:100C2000204156522D4C4942433A20312E382E3124
+:100C3000204156525F415243483A20617672350A4C
+:100C4000004F5054494F4E533A204C554641204294
+:100C50004F4F544D41474943204D4F5553454B4508
+:100C6000592045585452414B455920434F4E534FFC
+:100C70004C4520434F4D4D414E44204E4B524F204A
+:100C80003531320A004255494C443A2066643732C5
+:100C9000613436202832323A35363A3234204A61CD
+:100CA0006E2032342032303136290A005649443A17
+:100CB00020307846454544284572676F446F782058
+:100CC000455A29205049443A20307831333037286A
+:100CD0004572676F446F7820455A29205645523A2D
+:100CE000203078303030310A00444553433A207484
+:100CF0002E6D2E6B2E206B6579626F61726420669B
+:100D000069726D7761726520666F72204572676FD8
+:100D1000646F780A000A092D2056657273696F6E38
+:100D2000202D0A000A6D6F7573653A206F66660A9A
+:100D3000000A6D6F7573653A206F6E0A000A6B6565
+:100D400079626F6172643A206F66660A000A6B65A9
+:100D500079626F6172643A206F6E0A000A6D617485
+:100D60007269783A206F66660A000A6D617472696A
+:100D7000783A206F6E0A000A64656275673A206FE0
+:100D80006E0A000A64656275673A206F66660A003B
+:100D90000A0A626F6F746C6F616465722E2E2E206A
+:100DA00000433E20006565636F6E6669673A0A001E
+:100DB000536C656570204C454420746573740A005B
+:100DC0000000000000000000000000010204060A0C
+:100DD0000F17202C3A4A5D71879DB3C7DAE9F5FCFD
+:100DE000FFFCF5E9DAC7B39D87715D4A3A2C2017FD
+:100DF0000F0A0604020100000000000000000000CD
+:100E000011241FBECFEFDAE0DEBFCDBF04B603FE74
+:100E100024C08091F9019091FA01A091FB01B09159
+:100E2000FC018730904BA740B04BB9F41092F90108
+:100E30001092FA011092FB011092FC0114BE84B7CB
+:100E4000877F84BF88E10FB6F8948093600010928A
+:100E500060000FBEE0E0FFE3099511E0A0E0B1E023
+:100E6000ECE9FBE502C005900D92AA33B107D9F772
+:100E700011E0AAE3B1E001C01D92A93FB107E1F77B
+:100E80000E94900F0C94CC2D0C940000FF93EF93D4
+:100E9000E0913A01F0913B01309709F00995EF910B
+:100EA000FF910895FC018591803011F0EFDFFBCFB9
+:100EB0000895FF27E0E230E247FF0CC0419597FF1D
+:100EC00009C0EDE26095709580959095611D711D4A
+:100ED000811D911D27FF02C0219530E350E2AA2712
+:100EE000660F771F881F991FAA1FA41710F0A41B55
+:100EF00063955A95A9F7AA3008F0A95FA05DAF9352
+:100F0000F395611571058105910541F7ED3211F4F5
+:100F1000EF93F395F21718F43F93F395FBCF8F916E
+:100F2000B5DFFA95E1F70895E991F991859180305F
+:100F300021F0853219F0AADFF9CF089520E0E89476
+:100F400055915532C1F3503311F4689455915A3389
+:100F500048F4505390F3220F022E220F220F200D3F
+:100F6000250FF4CF0EF4219589919991533619F3F9
+:100F7000533729F1533559F1BC0188279927E89453
+:100F80005C3621F48991999168945591543639F4DD
+:100F900046EF7EF077FF0DC08FEF9FEF0AC0553709
+:100FA0004AE039F0583540E121F0523642E009F08C
+:100FB0000895FF93EF937DDFEF91FF91B7CFFF93FC
+:100FC000EF93FC0181918030B9F360DFFBCFFF9399
+:100FD000EF9368DFF1CFDF93CF93CDB7DEB72596E0
+:100FE000A3DFCF91DF91089561110BC0FC018281D5
+:100FF000882321F085EE0E946D1603C085EE0E94C5
+:10100000351780E090E0089508956091BC017091DB
+:10101000BD018091BE019091BF010E94FB205698B6
+:101020005E9825982D9826982E9827982F9881308D
+:1010300019F0823021F00895259A2D9A0895269A64
+:101040002E9A089585E098E0892B11F00E940508FA
+:1010500080E090E0089556985E9825982D982698FF
+:101060002E9827982F988FEF90E090938900809387
+:10107000880090938B0080938A0090938D008093DA
+:101080008C00259A2D9A2FEF80E792E02150804026
+:101090009040E1F700C00000269A2E9A2FEF80E7DB
+:1010A00092E0215080409040E1F700C00000279A74
+:1010B0002F9A2FEF80E792E0215080409040E1F797
+:1010C00000C0000025982D982FEF80E792E0215076
+:1010D00080409040E1F700C0000026982E982FEF46
+:1010E00080E792E0215080409040E1F700C000008E
+:1010F00027982F9856985E9825982D9826982E9880
+:1011000027982F98089589EA8093800089E080933A
+:10111000810024982C983F988AB18F748AB96E9870
+:10112000479A8BB1806B8BB9769A0E942B0884E02A
+:1011300098E0892B11F00E94040880E090E0089567
+:1011400080E28093000180913C0181110EC00E94D9
+:10115000EF0881E080933C012FEF83ED90E3215075
+:1011600080409040E1F700C0000080E40E94F50854
+:101170008093000181112EC00E941F0980930001FD
+:10118000811128C00E941F0980930001811122C093
+:101190008FE30E941F098093000181111BC00E94F0
+:1011A000170980E40E94F50880930001811112C0A4
+:1011B0008CE00E941F098093000181110BC00E94E6
+:1011C0001F0980930001811105C08FE30E941F0950
+:1011D000809300010E9417098091000108951092E8
+:1011E000B9008AE08093B800089594EA9093BC0017
+:1011F0009091BC0097FFFCCF9091B900987F9830F8
+:1012000021F0903111F081E008958093BB0084E8D3
+:101210008093BC008091BC0087FFFCCF8091B90017
+:10122000887F883111F0803471F780E0089584E977
+:101230008093BC008091BC0084FDFCCF0895809316
+:10124000BB0084E88093BC008091BC0087FFFCCF8A
+:101250009091B900987F81E0983209F480E0089578
+:1012600084E88093BC008091BC0087FFFCCF809114
+:10127000BB00089580910001811115C080E40E9497
+:10128000F5088093000181110CC082E10E941F09C2
+:1012900080930001811105C08FEF0E941F09809388
+:1012A00000010E94170984B1807F84B985B1807FD5
+:1012B00085B98AB1837F8AB98BB1837F8BB93E9818
+:1012C000469808950E94A008809300010E943A0960
+:1012D00080B38C7080BB81B3836F81BBAEE3B1E020
+:1012E000ECE4F1E08EE08E0F11921D928E13FCCF94
+:1012F00083E898E0892B11F00C94830808959F925D
+:10130000AF92BF92CF92DF92EF92FF920F931F9313
+:10131000CF93DF93809100018823E1F080913D011C
+:101320008F5F80933D01811115C082E493E00E949C
+:1013300052070E94A00880930001882329F088E2C8
+:1013400093E00E94520706C084E193E00E94520796
+:101350000E942B080EE311E0C0E0D0E0BB24B39460
+:1013600082E0A82ECC24C394D12C25E0E22E23E0E9
+:10137000F22EC730D10500F580910001811164C0C3
+:1013800080E40E94F50880930001811112C082E17F
+:101390000E941F098093000181110BC0C6010C2E11
+:1013A00001C0880F0A94EAF780950E941F09809374
+:1013B00000010E94170948C0CA30A1F028F4C830C3
+:1013C00059F0C93061F005C0CC3089F070F0CD30F3
+:1013D00089F0209A289810C0219A29980DC0229A45
+:1013E0002A980AC0239A2B9807C0529A01C0539A90
+:1013F0005B9802C03E9A469890EA9A95F1F79FB1A1
+:10140000799902C082E001C080E091709B25982B01
+:101410007C9902C084E001C080E0892B7D9902C0E4
+:1014200038E001C030E0832B7E9902C020E101C08A
+:1014300020E0822B9FB19095991F9927991F929533
+:10144000990F907E892B10C080910001811174C08A
+:1014500080E40E94F50880930001882309F459C0B4
+:10146000912C0E941709892DF8019081981739F164
+:10147000808380910101882301F18091D70180FF51
+:1014800004C08AE093E00E9452078091D70180FF58
+:101490000CC0809101011F928F93FF92EF920E94E6
+:1014A000EB070F900F900F900F908091D70180FF66
+:1014B00004C083E093E00E945207A09201010E94C1
+:1014C0003A0921960F5F1F4FCE30D10509F051CF59
+:1014D000809101018823B1F081508093010188231C
+:1014E00039F08FE99FE00197F1F700C000000AC0D2
+:1014F000ACE4B1E0EEE3F1E0CF01825F91919D9326
+:101500008E13FCCF82E298E0892BC1F00E94220862
+:1015100015C083E10E941F09809300018111A0CFB3
+:1015200081E40E94F50880930001811199CF0E9407
+:101530003009982E909495CF80E096CF81E0DF918E
+:10154000CF911F910F91FF90EF90DF90CF90BF90C0
+:10155000AF909F900895E82FF0E0E45BFE4F80810C
+:101560000895CF92DF92EF92FF920F931F93CF9344
+:10157000DF938CEE92E00E9452078CE4E82E81E02B
+:10158000F82EC0E0D0E097EEC92E92E0D92E0EEDF5
+:1015900012E0DF93CF93DF92CF920E94EB0784EEAD
+:1015A00092E00E945207F70181917F0190E00E9432
+:1015B00061219F938F931F930F930E94EB078CEDF4
+:1015C00092E00E94520721968DB79EB708960FB6FB
+:1015D000F8949EBF0FBE8DBFCE30D105D1F6DF91FE
+:1015E000CF911F910F91FF90EF90DF90CF900895D2
+:1015F0008B3B910578F4883A910540F5853A910541
+:10160000D0F48430910508F0B1C08130910509F41F
+:10161000ADC06BC0803E910508F467C0883E91055F
+:1016200008F4A4C09C01205F31092031310508F085
+:101630005CC090650895853A910509F459C0863AD1
+:10164000910509F058C082E890E40895883A910520
+:1016500009F454C0893A910509F453C08A3A9105B6
+:1016600009F452C08B3A910509F451C08C3A9105A6
+:1016700009F450C08D3A910509F44FC0803B9105A3
+:1016800009F44EC08E3A910509F44DC08F3A910588
+:1016900009F44CC0813B910509F44BC0823B910594
+:1016A00009F44AC0833B910509F449C0843B910584
+:1016B00009F448C0853B910509F447C0863B910574
+:1016C00009F446C0873B910509F445C0883B910564
+:1016D00009F444C0893B910509F443C08A3B910554
+:1016E00009F442C080E094E4089580E090E0089519
+:1016F00081E890E4089583E890E4089582EE94E40C
+:10170000089589EE94E408958AEE94E4089585EBB3
+:1017100094E4089586EB94E4089587EB94E40895A7
+:101720008CEC94E408958DEC94E4089583E895E4BA
+:1017300008958AE895E4089582E995E4089584E996
+:1017400095E4089581E296E4089583E296E408958D
+:1017500084E296E4089585E296E4089586E296E4AC
+:10176000089587E296E408958AE296E4089508953C
+:1017700096E0799FF001112494E5899FE00DF11D19
+:101780001124E60FF11DEE0FFF1FEC51FF4F859165
+:1017900094910895880F991FFC01E05AF0408591BB
+:1017A00094910895880F991FFC01E052FF4F859195
+:1017B0009491089526E0729FF001112444E5849FDE
+:1017C000E00DF11D1124E60FF11DEE0FFF1FEC518E
+:1017D000FF4F859194919C013A9521154FE1340773
+:1017E00008F41EC13F512115304120F49F700E9422
+:1017F000D20B08959C0130532115304118F49927DC
+:10180000906C0895811520E5920769F40E94BB1A37
+:101810004FEF84E39CE0415080409040E1F700C0EE
+:1018200000000C941D22813020E5920751F48CE5D4
+:1018300093E00E9452078091D70181608093D70185
+:1018400008959C0130552115304108F051C0292FD1
+:1018500033272F70332721303105D9F4AC01437081
+:10186000552702C0220F331F4A95E2F73C68AC01AE
+:1018700064E0440F551F6A95E1F744275370242B09
+:10188000352B73E0880F991F7A95E1F780769927B9
+:101890001DC02230310529F4982F8827816F906A66
+:1018A000089523303105A9F4AC014370552721E098
+:1018B00030E002C0220F331F4A95E2F73C6843E054
+:1018C000880F991F4A95E1F7807E9770822B932BA2
+:1018D000089524303105E1F4AC014370552721E02F
+:1018E00030E002C0220F331F4A95E2F73A68E7CF93
+:1018F0009C0130572115304118F49F709062089573
+:101900009C0130582115304118F49F70906A089559
+:10191000803E9105E0F4803C910558F581339105B6
+:1019200009F46FC048F48932910509F463C08A3222
+:10193000910509F46DC072C089339105E9F08238D0
+:101940009105D1F08533910509F44DC067C0833E00
+:10195000910581F138F4803E9105B9F0823E910500
+:10196000D9F05CC0863E910561F1873E9105A1F1F9
+:1019700055C00E94CA0B08952091EA0120FD02C0C3
+:1019800021FF4CC080EE90E049C08091EA0180FFC9
+:10199000F9CF89E390E042C08091EA0182FF0EC056
+:1019A0008091EA0184FF03C080E090E037C083EEBD
+:1019B00090E034C08091EA0182FFF2CF82EE90E0A5
+:1019C0002DC08091EA0183FF0BC08091EA0184FD64
+:1019D000EBCF87EE90E022C08091EA0183FFF5CF44
+:1019E00086EE90E01BC08091EA0185FF07C089E286
+:1019F00090E014C08091EA0185FFF9CF85E390E083
+:101A00000DC08091EA0186FF07C08AE290E006C01F
+:101A10008091EA0186FFF9CF81E390E00E94F80A05
+:101A20000895089580916D0108959FB7F8941092DC
+:101A30005C019FBF9091F001943009F057C09091E4
+:101A4000E9009F703091EC00232F217030FD20E8D9
+:101A5000922B24E02093E9002091EB0020FF43C06B
+:101A60002091EE0027FF3FC020915A01222321F050
+:101A70002091E80025FF37C010925A0126E03091EE
+:101A8000E80035FD15C03091F001343061F530913A
+:101A9000EB0035FD28C0215021F481E080935A01EC
+:101AA00022C0EFE9FFE03197F1F700C00000E7CF77
+:101AB0008093F1008091E80085FD0AC08091E800E4
+:101AC00080FFFCCF8091E8008E778093E80006C00D
+:101AD0008FB7F89421E020935C018FBF9F709093A3
+:101AE000E90080E008959F709093E9008FEF0895DA
+:101AF000CF93DF9300D01F92CDB7DEB79C018091CA
+:101B0000F001843019F593E099833B832A83909305
+:101B1000E9008FEF9091E800815095FD06C095EDAA
+:101B20009A95F1F700008111F5CF8091E80085FFCB
+:101B30000DC040E050E063E070E0CE0101960E94ED
+:101B400048108091E8008E778093E8000F900F9006
+:101B50000F90DF91CF910895CF93DF9300D01F9224
+:101B6000CDB7DEB72091F001243021F522E02983A2
+:101B70009B838A8383E08093E9008FEF9091E80054
+:101B8000815095FD06C095ED9A95F1F70000811101
+:101B9000F5CF8091E80085FF0DC040E050E063E0A4
+:101BA00070E0CE0101960E9448108091E8008E7787
+:101BB0008093E8000F900F900F90DF91CF910895E0
+:101BC0002091F0012430F1F422E02093E9002FEF7E
+:101BD0003091E800215035FD06C035ED3A95F1F71A
+:101BE00000002111F5CF2091E80025FF0BC040E057
+:101BF00050E065E070E00E9448108091E8008E7728
+:101C00008093E8000895CF93DF932091F001243072
+:101C100009F048C0EC0180910C018823E1F080912B
+:101C20000D018823C1F085E08093E9008FEF90914A
+:101C3000E800815095FD06C095E19A95F1F7000006
+:101C40008111F5CF8091E80085FF2CC040E050E085
+:101C500060E170E017C081E08093E9008FEF909120
+:101C6000E800815095FD06C095ED9A95F1F70000CA
+:101C70008111F5CF8091E80085FF14C040E050E06D
+:101C800068E070E0CE010E9448108091E8008E77F5
+:101C90008093E80080E1FE01ADE5B1E001900D9296
+:101CA0008A95E1F7DF91CF91089583E993E00E944F
+:101CB00052078091EF01811109C00E94DD110E943D
+:101CC0003A128091E20084608093E20008958FE8E8
+:101CD00093E00E9452071092EF0108958BE893E081
+:101CE0000C94520787E893E00E9452070C94ED2B66
+:101CF00083E893E00E9452070E94B7210E94F32BD1
+:101D00000E94DF140C94110D20915B012F5F822F34
+:101D100062E30E94612D992319F020935B010895DD
+:101D200010925B0180915C01882371F18091F00138
+:101D3000843041F58091E9008F702091EC00922F62
+:101D4000917020FD90E8892B94E09093E9009091A8
+:101D5000EB0090FF14C09091EE0097FF10C090919F
+:101D6000E80095FF03C01092F100F9CF9091E800D0
+:101D700090FF05C09091E8009E779093E8008F70E7
+:101D80008093E90010925C01089542E061EC81E0EB
+:101D90000E94571142E061EC82E00E94571142E03C
+:101DA00061EC83E00E94571142E261EC84E00E9402
+:101DB000571142E161EC85E00C9457118091F201DA
+:101DC000833009F455C030F4813071F0823009F469
+:101DD0008EC008958A3009F47AC08B3009F460C04F
+:101DE000893009F09CC020C08091F101813A09F04E
+:101DF00096C08091E800877F8093E8008091F5018C
+:101E00009091F601892B21F460E18DE591E003C00A
+:101E100060E080E090E070E00E9493108091E80024
+:101E20008B778093E80008958091F101813209F069
+:101E300076C08091F5019091F601009719F0049712
+:101E400009F06DC08091E800877F8093E800809161
+:101E5000E80082FD05C08091F0018111F8CF5FC0DC
+:101E60008091F10080936D018091E8008B7753C0E1
+:101E70008091F101813A09F052C08091F501909171
+:101E8000F601892B09F04BC08091E800877F809391
+:101E9000E8008091E80080FFFCCF80910C0136C003
+:101EA0008091F1018132D9F58091F5019091F6018F
+:101EB000892BA9F58091E800877F8093E8000E9434
+:101EC0008C118091F30180930C010C94BB1A8091CA
+:101ED000F101813221F58091E800877F8093E8004D
+:101EE0000E948C118091F40180936E01089580917D
+:101EF000F101813AA1F48091E800877F8093E800A6
+:101F00008091E80080FFFCCF80916E018093F1000A
+:101F10008091E8008E778093E8000C948C110895EE
+:101F200084B7877F84BF88E10FB6F8948093600000
+:101F3000109260000FBE90E080E80FB6F894809396
+:101F40006100909361000FBE0E946C150E94DD112C
+:101F50000E943A128091E20084608093E20085E161
+:101F60009DE00E94F62078940E94BF140E946E1596
+:101F700082E091E00E94DA140E94DB2B82E793E07A
+:101F80000E9452078091F001853089F48EE693E03B
+:101F90000E9452070E947B218091EE01882391F3D9
+:101FA0000E94A321882371F30E943210EBCF0E947C
+:101FB0009C15E8CF292F332723303105C9F064F46D
+:101FC0002130310581F02230310509F043C08DE820
+:101FD00090E02BEC33E042C021323105F1F02232A7
+:101FE000310541F137C082E190E028E534E036C0A8
+:101FF00099278130910541F08230910541F0892B7C
+:1020000049F5E7ECF3E005C0EFEAF3E002C0E7E9E9
+:10201000F3E0849190E09F0121C06530D8F4E62F71
+:10202000F0E0EE0FFF1FEB5DFE4F2081318189E074
+:1020300090E014C0653070F470E0FB01EE0FFF1FFC
+:10204000E55EFE4F20813181FB01EA5EFE4F80811B
+:1020500090E004C080E090E020E030E0FA013183BD
+:102060002083089580E189BD82E189BD09B400FE25
+:10207000FDCF8091D8008F7D8093D8008091E000C3
+:1020800082608093E0008091E00081FDFCCF0895A4
+:10209000CF92DF92EF92FF920F931F93CF93DF9334
+:1020A000EC018B016A010E94AB11811133C0C11494
+:1020B000D10439F0F60180819181081B190BC80FFA
+:1020C000D91FE12CF12C0115110519F18091E800BF
+:1020D00085FD16C08091E8008E778093E800C114DA
+:1020E000D10449F0F60180819181E80EF91EF18258
+:1020F000E08285E00FC00E94AB11882321F30AC063
+:1021000089918093F10001501109FFEFEF1AFF0A46
+:10211000DACF80E0DF91CF911F910F91FF90EF9088
+:10212000DF90CF9008952091F7013091F8012617A4
+:10213000370748F06115710539F42091E8002E77D2
+:102140002093E80001C0B90140E061157105A9F1D3
+:102150002091F001222309F443C0253009F442C044
+:102160002091E80023FD40C02091E80022FD32C00C
+:102170002091E80020FFE9CF4091F3002091F20088
+:1021800030E0342BFC01CF016115710559F0283086
+:10219000310540F481918093F100615071092F5F06
+:1021A0003F4FF1CF41E02830310509F040E0209168
+:1021B000E8002E772093E800C8CF4111C9CF0AC0AC
+:1021C0008091F001882361F0853061F08091E80012
+:1021D00083FD0AC08091E80082FFF2CF80E008957D
+:1021E00082E0089583E0089581E008952091F70149
+:1021F0003091F8012617370748F06115710539F459
+:102200002091E8002E772093E80001C0B901FC017D
+:1022100020E06115710591F18091F001882309F4A6
+:1022200040C0853009F43FC08091E80083FD3DC087
+:102230008091E80082FD2FC08091E80080FFE9CF07
+:102240002091F3008091F20090E0922B61157105CE
+:1022500059F08830910540F424912093F100319693
+:10226000615071090196F2CF21E0089709F020E052
+:102270008091E8008E778093E800CBCF2111CCCFFE
+:102280000AC08091F001882361F0853061F080916F
+:10229000E80083FD0AC08091E80082FFF2CF80E071
+:1022A000089582E0089583E0089581E00895982FCD
+:1022B000973058F59093E900981739F07091EC0039
+:1022C0002091ED005091F00003C0242F762F50E0B4
+:1022D00021FF19C03091EB003E7F3093EB0030912D
+:1022E000ED003D7F3093ED003091EB003160309395
+:1022F000EB007093EC002093ED005093F0002091E0
+:10230000EE0027FF07C09F5FD3CF8F708093E90057
+:1023100081E0089580E008958091F10187FF11C068
+:102320008091E80082FD05C08091F0018111F8CF15
+:1023300011C08091E8008B770BC08091F001882359
+:1023400049F08091E80080FFF8CF8091E8008E7717
+:102350008093E80008952091E4003091E50095E62F
+:102360004091EC00842F817040FF22C08091E800F2
+:1023700080FD1CC08091F001882391F0853091F0A0
+:102380008091EB0085FD10C04091E4005091E50084
+:102390004217530729F39A01915011F784E00895E9
+:1023A00082E0089583E0089581E0089580E0089533
+:1023B0004091E80042FFDECF08950E944B120E9438
+:1023C0005312E0EEF0E0808181608083E8EDF0E080
+:1023D00080818F77808319BCA7EDB0E08C918E7FD0
+:1023E0008C9380818F7E80831092EF0108950F93EC
+:1023F0001F93CF93DF930E944B120E945312C8ED9C
+:10240000D0E088818F7788838881806888838881FD
+:102410008F7D888319BC1092F0011092EC0110920C
+:10242000EE011092ED0100EE10E0F80180818B7F4B
+:10243000808388818160888342E060E080E00E9440
+:102440005711E1EEF0E080818E7F8083E2EEF0E0D4
+:10245000808181608083808188608083F8018081B1
+:102460008E7F8083888180618883DF91CF911F91E7
+:102470000F910895E8EDF0E080818F7E8083E7ED95
+:10248000F0E080818160808384E082BF81E080937E
+:10249000EF010C94F711E8EDF0E080818E7F8083EE
+:1024A0001092E20008951092DA001092E10008956F
+:1024B0001F920F920FB60F9211242F933F934F93B9
+:1024C0005F936F937F938F939F93AF93BF93EF939C
+:1024D000FF938091E10082FF0BC08091E20082FFB8
+:1024E00007C08091E1008B7F8093E1000E94840E01
+:1024F0008091DA0080FF1FC08091D80080FF1BC050
+:102500008091DA008E7F8093DA008091D90080FF7D
+:102510000DC080E189BD82E189BD09B400FEFDCF17
+:1025200081E08093F0010E94550E05C019BC109205
+:10253000F0010E94670E8091E10080FF19C0809138
+:10254000E20080FF15C08091E2008E7F8093E20060
+:102550008091E20080618093E2008091D8008062E7
+:102560008093D80019BC85E08093F0010E94720E20
+:102570008091E10084FF30C08091E20084FF2CC094
+:1025800080E189BD82E189BD09B400FEFDCF809163
+:10259000D8008F7D8093D8008091E1008F7E80935A
+:1025A000E1008091E2008F7E8093E2008091E20062
+:1025B00081608093E2008091EC01882311F084E037
+:1025C00007C08091E30087FD02C081E001C083E085
+:1025D0008093F0010E94780E8091E10083FF29C072
+:1025E0008091E20083FF25C08091E100877F809386
+:1025F000E10082E08093F0011092EC018091E10013
+:102600008E7F8093E1008091E2008E7F8093E200D4
+:102610008091E20080618093E20042E060E080E02F
+:102620000E9457118091F00088608093F0000E9412
+:102630006E0EFF91EF91BF91AF919F918F917F911E
+:102640006F915F914F913F912F910F900FBE0F901F
+:102650001F9018951F920F920FB60F9211242F936F
+:102660003F934F935F936F937F938F939F93AF931A
+:10267000BF93CF93DF93EF93FF93C091E900CF70A7
+:102680008091EC00D82FD17080FDD0E81092E90045
+:102690008091F000877F8093F00078940E946E1301
+:1026A0001092E9008091F00088608093F000CD2BBB
+:1026B000CF70C093E900FF91EF91DF91CF91BF916F
+:1026C000AF919F918F917F916F915F914F913F91CA
+:1026D0002F910F900FBE0F901F9018951F93CF93BF
+:1026E000DF93CDB7DEB7AA970FB6F894DEBF0FBE63
+:1026F000CDBFE1EFF1E088E08E0F9091F100919372
+:102700008E13FBCF0E94DE0E8091E80083FF1FC175
+:102710008091F1019091F201492F50E04A3051052A
+:1027200008F015C1FA01EA5AFF4F0C94812D803848
+:1027300081F0823809F00BC18091F5018F70809390
+:10274000E9008091EB0085FB882780F91092E90071
+:1027500006C08091ED019091EE01911182609091FF
+:10276000E800977F9093E8008093F1001092F100C9
+:10277000C8C0282F2D7F09F0EAC0882319F08230C5
+:1027800061F0E5C08091F301813009F0E0C0933041
+:1027900009F080E08093EE012BC08091F30181115C
+:1027A00027C08091F5018F7009F4D1C08093E900B2
+:1027B0002091EB0020FF1CC0933021F48091EB00AE
+:1027C000806214C09091EB0090619093EB0021E047
+:1027D00030E0A90102C0440F551F8A95E2F74093EB
+:1027E000EA001092EA008091EB0088608093EB0091
+:1027F0001092E9008091E800877F86C08111A7C010
+:102800001091F3011F778091E3008078812B8093F2
+:10281000E3008091E800877F8093E8000E948C119C
+:102820008091E80080FFFCCF8091E3008068809376
+:10283000E300111102C082E001C083E08093F00147
+:1028400086C08058823008F082C08091F301909158
+:10285000F4018C3D53E0950779F583E08A838AE2A1
+:1028600089834FB7F894DE01139620E03EE051E2F1
+:10287000E32FF0E050935700E49120FF03C0E2956E
+:10288000EF703F5FEF708E2F90E0EA3010F0C79648
+:1028900001C0C0968D939D932F5F243149F74FBFA0
+:1028A0008091E800877F8093E8006AE270E0CE01C3
+:1028B00001960E94931014C0AE014F5F5F4F60916C
+:1028C000F5010E94DA0FBC01892B09F440C09091F8
+:1028D000E800977F9093E80089819A810E94F61022
+:1028E0008091E8008B778093E80031C0803879F5DB
+:1028F0008091E800877F8093E8008091EC018093CD
+:10290000F1008091E8008E778093E8000E948C119E
+:102910001EC081111CC09091F3019230C0F48091CF
+:10292000E800877F8093E8009093EC010E948C116F
+:102930008091EC01811106C08091E30087FD02C007
+:1029400081E001C084E08093F0010E94C50E809177
+:10295000E80083FF0AC08091E800877F8093E80049
+:102960008091EB0080628093EB00AA960FB6F894FA
+:10297000DEBF0FBECDBFDF91CF911F910895CF93E2
+:102980008091F0018823A1F0C091E900CF7090916F
+:10299000EC00892F817090FD80E8C82B1092E9002F
+:1029A0008091E80083FD0E946E13CF70C093E90010
+:1029B000CF91089590937401809373010895E091ED
+:1029C0007301F0917401309721F00190F081E02DB6
+:1029D000099480E00895EF92FF920F931F93CF9395
+:1029E000DF93E0917301F09174013097B1F18C01A4
+:1029F0000280F381E02D09958091D70182FF2DC0DF
+:102A000080FF04C08DE895E00E945207E80110E1C4
+:102A100087E8E82E85E0F82E8091D70180FF0BC073
+:102A200088811F928F93FF92EF920E94EB070F9085
+:102A30000F900F900F90115021961111EDCF8091B2
+:102A4000D70180FF0AC085E895E0DF91CF911F9103
+:102A50000F91FF90EF900C945207DF91CF911F914F
+:102A60000F91FF90EF900895E0917301F091740140
+:102A7000309721F00480F581E02D0994089520918C
+:102A80007101309172018217930771F09093720176
+:102A900080937101E0917301F0917401309721F0FE
+:102AA0000680F781E02D0994089520916F013091FF
+:102AB00070018217930771F09093700180936F01FA
+:102AC000E0917301F0917401309721F00084F18559
+:102AD000E02D0994089508950C946B150E94B92176
+:102AE0000E9462090C947F22CF93C82F8091D70156
+:102AF00082FF1EC080FF04C086EA95E00E94520754
+:102B00008091D70180FF0CC01F92CF9381EA95E09E
+:102B10009F938F930E94EB070F900F900F900F9051
+:102B20008091D70180FF04C08FE995E00E94520791
+:102B30008C2FCF910C94110DCF92DF92EF92FF92D8
+:102B40000F931F93CF93DF93CDB7DEB72B970FB6BD
+:102B5000F894DEBF0FBECDBF0E947F0986E7C82E66
+:102B600081E0D82E00E010E0E02E802F0E94AB0A1A
+:102B7000F60141916F01F42EF826B1F40F5F1F4F5B
+:102B80000E30110589F78FEF89838A831B820E949B
+:102B9000C2218160782F9D838C8349815A816B810A
+:102BA0008D810E943F1640C09091D70191FF04C0D3
+:102BB0008B870E94B10A8B8520E030E04F2D50E0DA
+:102BC000922FBA01022E02C0759567950A94E2F71A
+:102BD00060FF24C02E83EF8221E030E0690102C053
+:102BE000CC0CDD1C9A95E2F790E08C219D21892B7D
+:102BF00009F420E028870E94C2218160782F9A87FB
+:102C000089874E815F8168858A850E943F16F80119
+:102C1000EA58FE4F8081C826C08206C02F5F3F4F12
+:102C20002630310569F6AACF0E94F0251091750172
+:102C30000E94DF141817A1F00E94DF148093750121
+:102C40002B960FB6F894DEBF0FBECDBFDF91CF91AC
+:102C50001F910F91FF90EF90DF90CF900C9474151F
+:102C60002B960FB6F894DEBF0FBECDBFDF91CF918C
+:102C70001F910F91FF90EF90DF90CF900895CF9329
+:102C8000DF93CDB7DEB72B970FB6F894DEBF0FBE3C
+:102C9000CDBF4F83588769877A878B87DE0111966E
+:102CA00086E0FD0111928A95E9F785E0FE013796ED
+:102CB00001900D928A95E1F749815A816B817C815F
+:102CC0008D819E810E94551D2B960FB6F894DEBF14
+:102CD0000FBECDBFDF91CF910895CF93882309F424
+:102CE000C2C0C82F823859F40E94DF1481FDBBC0D6
+:102CF00089E30E94F11F0E94D02089E30CC0833831
+:102D000079F40E94DF1480FDAEC083E50E94F11FBC
+:102D10000E94D02083E50E944420CF910C94D020C3
+:102D2000843859F40E94DF1482FD9DC087E40E941C
+:102D3000F11F0E94D02087E4EECF8CEF8C0F813AF8
+:102D400048F48C2F0E94832A81118DC08C2F0E9401
+:102D5000F11FE3CF80E28C0F883048F4C77081E028
+:102D600001C0880FCA95EAF70E949920D6CF8BE55B
+:102D70008C0F833078F4C53A29F0C63A31F083E8F5
+:102D800090E005C081E890E002C082E890E0CF9139
+:102D90000C943F1588E58C0F833108F064C0C83A65
+:102DA00039F1C93A41F1CA3A49F1CB3A51F1CC3A39
+:102DB00059F1CD3A61F1C03B69F1CE3A71F1CF3AA8
+:102DC00079F1C13B81F1C23B89F1C33B91F1C43B35
+:102DD00099F1C53BA1F1C63BA9F1C73BB1F1C83B95
+:102DE000B9F1C93BC1F1CA3BC9F180E090E038C0FC
+:102DF00082EE90E035C089EE90E032C08AEE90E03D
+:102E00002FC085EB90E02CC086EB90E029C087EBCB
+:102E100090E026C08CEC90E023C08DEC90E020C0C8
+:102E200083E891E01DC08AE891E01AC082E991E050
+:102E300017C084E991E014C081E292E011C083E2FE
+:102E400092E00EC084E292E00BC085E292E008C0FE
+:102E500086E292E005C087E292E002C08AE292E058
+:102E6000CF910C945515CF910895882309F44BC048
+:102E7000823859F40E94DF1481FF45C089E30E9423
+:102E8000F11F0E94D02089E30CC0833871F40E94A6
+:102E9000DF1480FF38C083E50E94F11F0E94D0201C
+:102EA00083E50E9444200C94D020843859F40E9479
+:102EB000DF1482FF28C087E40E94F11F0E94D02007
+:102EC00087E4EFCF9CEF980F913A58F390E2980F78
+:102ED000983050F4877091E001C0990F8A95EAF715
+:102EE000892F0E949F20DFCF9BE5980F933020F41D
+:102EF00080E090E00C943F15885A833120F480E004
+:102F000090E00C9455150895882321F00E94992093
+:102F10000C94D0200895882321F00E949F200C94C7
+:102F2000D0200895BF92CF92DF92EF92FF920F933D
+:102F30001F93CF93DF9300D000D000D0CDB7DEB782
+:102F400025E0FC01DE01119601900D922A95E1F732
+:102F5000FC01408131810281258122952F7063819E
+:102F60007481672B09F4E5C23F3F19F44F3F09F420
+:102F7000E0C27C0149833A8389819A812E830E9431
+:102F8000B01F182FB92E0E94AF1F0E94761EEB2D86
+:102F9000E295EF70F0E0E05AFF4F2E810C94812D06
+:102FA0008B2D807F9B2D9F70F92E882319F0F29432
+:102FB00080EFF822002349F0FF2009F467C28F2D2B
+:102FC0000E94A9200E94D02061C2812F0E94351743
+:102FD000FF2009F4AEC28F2D0E94AF2026960FB6B7
+:102FE000F894DEBF0FBECDBFDF91CF911F910F913F
+:102FF000FF90EF90DF90CF90BF900C94D0203B2DAE
+:10300000307F8B2D8F70303211F08295807F1123AD
+:1030100019F0113021F12CC00023B9F0222309F45A
+:10302000A0C1213009F09DC126960FB6F894DEBFED
+:103030000FBECDBFDF91CF911F910F91FF90EF9009
+:10304000DF90CF90BF900C94B920222319F021304B
+:1030500009F46FC28E830E94BC208E8196C100232A
+:1030600021F0223008F065C27CC1211162C28DC1FD
+:10307000002321F0222309F474C108C2222309F499
+:1030800084C119C22B2D26952695237030E0211579
+:10309000310521F021303105D1F04BC2002321F060
+:1030A000812F9B2D937002C080E090E026960FB692
+:1030B000F894DEBF0FBECDBFDF91CF911F910F916E
+:1030C000FF90EF90DF90CF90BF900C943F150023BE
+:1030D00021F0812F9B2D937002C080E090E0269616
+:1030E0000FB6F894DEBF0FBECDBFDF91CF911F9119
+:1030F0000F91FF90EF90DF90CF90BF900C945515FB
+:10310000812F002319F00E94762402C00E94DE2441
+:1031100026960FB6F894DEBF0FBECDBFDF91CF91DC
+:103120001F910F91FF90EF90DF90CF90BF900C9484
+:1031300063258B2D837009F07BC00111FAC1812FAB
+:10314000829586958770880F880F912F9F70C92E62
+:10315000D12CE12CF12C082E04C0CC0CDD1CEE1C73
+:10316000FF1C0A94D2F714FF12C04FE050E060E059
+:1031700070E004C0440F551F661F771F8A95D2F771
+:10318000CB01BA01609570958095909503C060E081
+:1031900070E0CB012B2D269526952370422F50E011
+:1031A00042305105D9F04330510569F16C297D2930
+:1031B0008E299F294130510551F126960FB6F8947A
+:1031C000DEBF0FBECDBFDF91CF911F910F91FF905A
+:1031D000EF90DF90CF90BF900C949D1E6C297D29BD
+:1031E0008E299F2926960FB6F894DEBF0FBECDBF5D
+:1031F000DF91CF911F910F91FF90EF90DF90CF90D3
+:10320000BF900C94B91E0E949D1EC701B601269660
+:103210000FB6F894DEBF0FBECDBFDF91CF911F91E7
+:103220000F91FF90EF90DF90CF90BF900C94811E94
+:10323000002319F08B2D817001C08695882309F435
+:1032400078C1812F829586958770880F880F912F7E
+:103250009F70C92ED12CE12CF12C082E04C0CC0C6F
+:10326000DD1CEE1CFF1C0A94D2F714FF12C04FE0C5
+:1032700050E060E070E004C0440F551F661F771FE8
+:103280008A95D2F7CB01BA0160957095809590959B
+:1032900003C060E070E0CB012B2D269526952370AE
+:1032A000422F50E042305105D9F04330510569F1C9
+:1032B0006C297D298E299F294130510551F126968F
+:1032C0000FB6F894DEBF0FBECDBFDF91CF911F9137
+:1032D0000F91FF90EF90DF90CF90BF900C94771FED
+:1032E0006C297D298E299F2926960FB6F894DEBF7A
+:1032F0000FBECDBFDF91CF911F910F91FF90EF9047
+:10330000DF90CF90BF900C94931F0E94771FC7014E
+:10331000B60126960FB6F894DEBF0FBECDBFDF9183
+:10332000CF911F910F91FF90EF90DF90CF90BF90C2
+:103330000C945B1F103FD1F118F4103E50F4A1C063
+:10334000123F09F463C008F44CC0133F09F473C082
+:1033500098C01F708B2D8F710023A1F00E94F41E66
+:10336000812F26960FB6F894DEBF0FBECDBFDF913A
+:10337000CF911F910F91FF90EF90DF90CF90BF9072
+:103380000C9484170E94151F812F26960FB6F8946F
+:10339000DEBF0FBECDBFDF91CF911F910F91FF9088
+:1033A000EF90DF90CF90BF900C948B170023A9F083
+:1033B0002111BFC08B2D8F7126960FB6F894DEBFFA
+:1033C0000FBECDBFDF91CF911F910F91FF90EF9076
+:1033D000DF90CF90BF900C943A1F223008F0A9C024
+:1033E000E9CF0023A9F08B2D8F7126960FB6F894A4
+:1033F000DEBF0FBECDBFDF91CF911F910F91FF9028
+:10340000EF90DF90CF90BF900C94F41E002359F3FF
+:103410008B2D8F7126960FB6F894DEBF0FBECDBFF1
+:10342000DF91CF911F910F91FF90EF90DF90CF90A0
+:10343000BF900C94151F002399F08B2D8F71269649
+:103440000FB6F894DEBF0FBECDBFDF91CF911F91B5
+:103450000F91FF90EF90DF90CF90BF900C94DF1E04
+:1034600026960FB6F894DEBF0FBECDBFDF91CF9189
+:103470001F910F91FF90EF90DF90CF90BF900C9431
+:10348000D51E0023A9F0222309F4ADCF812F269663
+:103490000FB6F894DEBF0FBECDBFDF91CF911F9165
+:1034A0000F91FF90EF90DF90CF90BF900C946D162E
+:1034B000222309F4ADCF812F26960FB6F894DEBFF4
+:1034C0000FBECDBFDF91CF911F910F91FF90EF9075
+:1034D000DF90CF90BF900C9435174B2D4F70612F1C
+:1034E000C7010E94F40726960FB6F894DEBF0FBE00
+:1034F000CDBFDF91CF911F910F91FF90EF90DF90A3
+:10350000CF90BF900C94F91D4B2D4F70612FC701C8
+:1035100026960FB6F894DEBF0FBECDBFDF91CF91D8
+:103520001F910F91FF90EF90DF90CF90BF900C9480
+:10353000B70B26960FB6F894DEBF0FBECDBFDF9156
+:10354000CF911F910F91FF90EF90DF90CF90BF90A0
+:1035500008950E94B6200E948B200E94D0200E94D5
+:1035600096260E94632580E090E00E943F1580E04F
+:1035700090E00C9455150E94A6200C94A91A0E9464
+:10358000B01F292F22952F7030E02C3031054CF4DC
+:103590002A3031056CF4225031092230310588F48B
+:1035A00007C02C30310549F02F30310531F009C00A
+:1035B000803E48F0803F29F406C093FB882780F9BD
+:1035C000089580E0089581E00895CF93DF9300D0BF
+:1035D00000D01F92CDB7DEB70F900F900F900F90D5
+:1035E0000F90DF91CF910895CF93DF9300D000D05B
+:1035F00000D0CDB7DEB726960FB6F894DEBF0FBE6B
+:10360000CDBFDF91CF9108951F93CF93DF93C091EA
+:10361000840116E080918501C81799F0D0E01C9FC5
+:10362000F0011D9FF00D1124EA57FE4F408151819A
+:1036300062817381848195810E94F41A2196C770FA
+:10364000E9CFDF91CF911F9108954091B60150913C
+:10365000B7016091B8017091B9018091BA01909160
+:10366000BB010C94F41A8091BB0182958F7009F014
+:1036700054C08091B801882309F44FC0809184011F
+:10368000A09185016091B6017091B7014091B90197
+:103690005091BA01B6E08A1709F43FC090E0411595
+:1036A0005105C1F17F3F11F46F3FA1F1B89FF001C7
+:1036B000B99FF00D1124EA57FE4F218172132AC0E1
+:1036C0002081621327C02281211124C023813481EB
+:1036D0002417350710F421503109241B350B283CE1
+:1036E0003105C0F42091BB012F7020612093BB01F4
+:1036F00026E0289FF001299FF00D1124E557FE4F89
+:1037000080818F708061808386EB91E00E949217A8
+:103710000C94041B01968770BECF0895CF92DF9260
+:10372000EF92FF920F931F93CF93DF93CDB7DEB746
+:1037300062970FB6F894DEBF0FBECDBF8C0185E057
+:10374000F801DE011D9601900D928A95E1F7D801EE
+:103750004C9111965C91119712966C911297139659
+:10376000CD90DC9014973091B6017091B7018091A3
+:10377000B9019091BA01009709F46BC17F3F19F428
+:103780003F3F09F466C1E090B801EE2009F4C0C0E3
+:103790002091BB01C816D90628F0F601E81BF90BE9
+:1037A000CF0104C0809590958C0D9D1DFF24F3944E
+:1037B000883C910578F0F12C207F09F0C6C07C2D63
+:1037C000D98AC88A89890E94E51A86EB91E00E940D
+:1037D0009217B1C0822F807F09F046C0751314C0C4
+:1037E000341312C0611110C02F7020612093BB01EF
+:1037F0000E94251B86EB91E00E9492178091BB01ED
+:10380000D80115968C932EC0CD2819F15F3F11F485
+:103810004F3FF9F0F62E61111CC080918401209178
+:10382000850136E0821709F45AC090E0389FF00114
+:10383000399FF00D1124EA57FE4F7181571306C0CE
+:103840007081471303C07281711103C001968770A4
+:10385000E9CFF62E662309F418C18091BB0181607F
+:103860008093BB01F12C11C1751308C0341306C03D
+:10387000611104C08091BB01D801C3C04D875E8730
+:103880008D859E856A8B0E94BF1A6A898823E1F123
+:103890006623D1F12091BB01822F82958F7090E039
+:1038A000029774F08091B6019091B70198878F8349
+:1038B0001986DB86CA862C87CE0107960E9492174E
+:1038C00086E0F801A6EBB1E001900D928A95E1F750
+:1038D0000E94331B0E94251BFF24F394D6C04D8702
+:1038E0005E878D859E850E94B01F292F22952F709F
+:1038F00030E0223031050CF0BCC09F7009F0B6C03A
+:10390000805E883008F4C1C0C8010E949217E4CFDD
+:10391000C816D90608F453C0F601E81BF90BCF010D
+:10392000883C910508F450C0F12C7C2DD98AC88AB6
+:1039300089890E94E51AE6EBF1E086E0DF011D923D
+:103940008A95E9F70E94251BA0C0751314C0341393
+:1039500012C0611110C08091BB01F8018583C801BC
+:103960000E94921786E0E6EBF1E0DF011D928A9556
+:10397000E9F7FE2C8AC04D875E878D859E856A8B10
+:103980000E94BF1A6A89882309F4BECF662309F40E
+:10399000BBCF2091BB01822F82958F7090E0029760
+:1039A0000CF48ECF8091B6019091B7019A838983F0
+:1039B0001B82DD82CC822E83CE0101967FCF809543
+:1039C00090958C0D9D1DACCFF62E662309F49CCFEF
+:1039D00075132EC034132CC02091BB0120FD1FC0D5
+:1039E000822F82958F70D9F0D80115962C93159758
+:1039F0008F3049F08F5F982F9295907F822F8F7034
+:103A0000892B15968C93C8010E94921786E0F801C5
+:103A1000A6EBB1E001900D928A95E1F793CF86E095
+:103A2000F801A6EBB1E001900D928A95E1F72DC067
+:103A30004D875E878D859E850E94BF1A811140CF7C
+:103A40008091BB0181608093BB01C8010E949217E5
+:103A50001CC0662309F458CF4D875E878D859E85EF
+:103A60000E94BF1A882309F44FCF2ACF811148CF73
+:103A70000CC0243031050CF047CF9F7009F440CFC3
+:103A8000F8019581907F09F03BCF8F2D62960FB69C
+:103A9000F894DEBF0FBECDBFDF91CF911F910F9184
+:103AA000FF90EF90DF90CF9008951F93CF93DF9317
+:103AB000CDB7DEB72C970FB6F894DEBF0FBECDBFE3
+:103AC0004F83588769877A878B879C87CE010796B3
+:103AD0000E948E1B882369F08F8198852A853B85FB
+:103AE000232BF1F19F3F09F063C08F3F09F060C0C5
+:103AF00037C086E0FE013796DE01119601900D92E7
+:103B00008A95E1F76F817885EA85FB85309741F1E9
+:103B10007F3F11F46F3F21F12091850130E0C90111
+:103B20000196877099274091840150E0841795078A
+:103B300009F447C069837A83FD83EC8396E0929F02
+:103B4000D001939FB00D1124AA57BE4FFE013196AC
+:103B500001900D929A95E1F7809385010E94041BD4
+:103B600016E080918401909185018917C1F1189F19
+:103B7000C00111248A579E4F0E948E1B882379F121
+:103B8000E09184011E9FF0011124EA57FE4F40810D
+:103B9000518162817381848195810E94F41A8091A0
+:103BA000840190E001968770992780938401D9CF92
+:103BB0004F81588569857A858B859C850E94F41A8A
+:103BC000CFCF0E94BB1A1092850110928401E6EBC0
+:103BD000F1E086E0DF011D928A95E9F7C1CF2C96CE
+:103BE0000FB6F894DEBF0FBECDBFDF91CF911F910E
+:103BF0000895EF92FF920F931F93CF93DF938C0161
+:103C0000892B09F46CC0F12CEE24E394E801219691
+:103C1000F8018491843740F4843008F051C0813039
+:103C200081F0823019F15BC0853709F444C0A8F1F6
+:103C30009CE7980F903708F052C08F770E94351795
+:103C400041C00E5F1F4FFE01C49180E28C0F88308F
+:103C500048F4C7708E2D01C0880FCA95EAF70E94FC
+:103C6000A92014C08C2F0E946D162DC00E5F1F4F0F
+:103C7000FE01C49180E28C0F883058F4C7708E2DFD
+:103C800001C0880FCA95EAF70E94AF200E94D02099
+:103C90001AC08C2F0E94351716C00E5F1F4FFE01F1
+:103CA000C491CC2381F08FE99FE00197F1F700C028
+:103CB0000000C150F6CF0E5F1F4FFE01F49003C00D
+:103CC0000E946D168E018F2D882309F49FCFEFE996
+:103CD000FFE03197F1F700C000008150F5CFDF9190
+:103CE000CF911F910F91FF90EF90089508956093E9
+:103CF000C0017093C1018093C2019093C3010C94E1
+:103D0000A91A0F931F930091C0011091C101209136
+:103D1000C2013091C301DC01CB01802B912BA22B7E
+:103D2000B32B8093C0019093C101A093C201B093C3
+:103D3000C3011F910F910C94A91A0F931F93009127
+:103D4000C0011091C1012091C2013091C301DC0179
+:103D5000CB0180239123A223B3238093C0019093AE
+:103D6000C101A093C201B093C3011F910F910C94A4
+:103D7000A91A0F931F930091C0011091C1012091C6
+:103D8000C2013091C301DC01CB0180279127A2271A
+:103D9000B3278093C0019093C101A093C201B09357
+:103DA000C3011F910F910C94A91A1092BC0110929B
+:103DB000BD011092BE011092BF010C94A91A41E0FE
+:103DC00050E060E070E004C0440F551F661F771F8D
+:103DD0008A95D2F74093BC015093BD016093BE0118
+:103DE0007093BF010C94A91A41E050E060E070E0CC
+:103DF00004C0440F551F661F771F8A95D2F7809124
+:103E0000BC019091BD01A091BE01B091BF01482BB2
+:103E1000592B6A2B7B2B4093BC015093BD016093BF
+:103E2000BE017093BF010C94A91A41E050E060E01C
+:103E300070E004C0440F551F661F771F8A95D2F7A4
+:103E400040955095609570958091BC019091BD0111
+:103E5000A091BE01B091BF01482359236A237B235F
+:103E60004093BC015093BD016093BE017093BF01AC
+:103E70000C94A91A41E050E060E070E004C0440FE7
+:103E8000551F661F771F8A95D2F78091BC019091CC
+:103E9000BD01A091BE01B091BF01482759276A27F3
+:103EA0007B274093BC015093BD016093BE0170938A
+:103EB000BF010C94A91A0F931F930091BC0110919C
+:103EC000BD012091BE013091BF01DC01CB01802BEF
+:103ED000912BA22BB32B8093BC019093BD01A09397
+:103EE000BE01B093BF011F910F910C94A91A0F93BB
+:103EF0001F930091BC011091BD012091BE01309132
+:103F0000BF01DC01CB0180239123A223B323809343
+:103F1000BC019093BD01A093BE01B093BF011F915E
+:103F20000F910C94A91A0F931F930091BC0110914B
+:103F3000BD012091BE013091BF01DC01CB01802782
+:103F40009127A227B3278093BC019093BD01A09332
+:103F5000BE01B093BF011F910F910C94A91A08954F
+:103F6000CF92DF92EF92FF920F931F93CF93DF9345
+:103F70008C01C090C001D090C101E090C201F090CE
+:103F8000C3014091BC015091BD016091BE0170918F
+:103F9000BF01C42AD52AE62AF72ACFE1D0E0D7010B
+:103FA000C6010C2E04C0B695A795979587950A94DF
+:103FB000D2F780FF07C0B8018C2F0E94DA0B813046
+:103FC000910531F4219758F7B80180E00E94DA0B8F
+:103FD000DF91CF911F910F91FF90EF90DF90CF90E5
+:103FE000089590910C01992321F090910D01911168
+:103FF00009C020910E0130910F01F90132969FEF17
+:1040000040E030C0982F9695969596959F30A0F4F5
+:10401000E0910E01F0910F01E90FF11D877021E091
+:1040200030E0A90102C0440F551F8A95E2F7CA018A
+:104030009181892B818308959091D70190FF23C0AE
+:104040001F928F9387ED95E09F938F930E94EB07CC
+:104050000F900F900F900F9008959F3F39F04F5F92
+:104060004E3041F051915813F8CF0DC05111F7CF98
+:10407000942FF5CF9F3F39F0F901E90FF11D97FD1E
+:10408000FA9582830895089590910C01992321F067
+:1040900090910D01911109C020910E0130910F01F5
+:1040A000F9013296205F3F4F30C0982F9695969534
+:1040B00096959F30A8F4E0910E01F0910F01E90F61
+:1040C000F11D877021E030E0A90102C0440F551FA7
+:1040D0008A95E2F7CA0180959181892381830895A9
+:1040E0009091D70190FF16C01F928F9389EB95E0B6
+:1040F0009F938F930E94EB070F900F900F900F905C
+:1041000008953196E217F30729F090819813F9CFBB
+:104110001082F7CF089581E090E0E0910E01F091D8
+:104120000F01E80FF91F1082019680319105A9F760
+:1041300008959091D601892B8093D601089580959A
+:104140009091D60189238093D60108951092D601CB
+:1041500008959091D501892B8093D501089580957C
+:104160009091D50189238093D50108951092D501AE
+:1041700008958093C40108951092C4010895809118
+:104180000E0190910F01FC0131969C01205F3F4F81
+:1041900080E0919191118F5FE217F307D1F70895B5
+:1041A000E0910E01F0910F018091D6018083E091A2
+:1041B0000E01F0910F0190818091D501892B8083B0
+:1041C0008091C401882361F0E0910E01F0910F010C
+:1041D0009081892B80830E94BF2081111092C4019D
+:1041E00080910E0190910F010C94EB1490933B0180
+:1041F00080933A010895CF92DF92EF92FF926C0183
+:10420000EE24FF24C114D104E104F10421F0C7011C
+:10421000B60120E101C020E0C72ED82EE92EFF24F0
+:10422000C114D104E104F10419F0285FC701B601FB
+:104230006B017C0154E0F694E794D794C7945A95A7
+:10424000D1F7C114D104E104F10419F02C5FC701C6
+:10425000B6016B017C0142E0F694E794D794C794D1
+:104260004A95D1F7C114D104E104F10419F02E5F8D
+:10427000C701B601DC01CB01B695A7959795879547
+:10428000892B8A2B8B2B09F02F5F822FFF90EF90C9
+:10429000DF90CF9008958295982F9C7C392F36958A
+:1042A0003695282F237344E0249FC0011124932FB7
+:1042B000982B292F2A7A2695892F8575880F822B8E
+:1042C00008951F93CF93DF931F92CDB7DEB79983E5
+:1042D0000E944B21182F9981892F0E944B21212F59
+:1042E00030E0322F2227A901482BCA010F90DF911D
+:1042F000CF911F9108958091F001843009F11092BF
+:10430000D80120E488E190E00FB6F894A895809356
+:1043100060000FBE2093600083B7817F846083BFFD
+:1043200083B7816083BF7894889583B78E7F83BF7E
+:1043300088E10FB6F89480936000109260000FBE81
+:10434000089508950895CF930E94A1210E947F09A6
+:104350000E94A221C0E08C2F0E94AB0A811104C0F0
+:10436000CF5FCE30C1F701C081E0CF9108950C94AA
+:10437000BB1A82E084BD93E095BD9AEF97BD809310
+:104380006E0008952FB7F8948091D9019091DA01C9
+:10439000A091DB01B091DC012FBF0895CF92DF9295
+:1043A000EF92FF920F931F932FB7F8944091D9018A
+:1043B0005091DA016091DB017091DC012FBF6A013D
+:1043C0007B01EE24FF248C0120E030E0C016D106F2
+:1043D000E206F30610F4415051099A01281B390BEB
+:1043E000C9011F910F91FF90EF90DF90CF9008953A
+:1043F0001F920F920FB60F9211248F939F93AF933A
+:10440000BF938091D9019091DA01A091DB01B09125
+:10441000DC010196A11DB11D8093D9019093DA01B1
+:10442000A093DB01B093DC01BF91AF919F918F917D
+:104430000F900FBE0F901F9018950E94DD11F894F9
+:104440002FEF87EA91E6215080409040E1F700C0CD
+:10445000000087E090EBDC018093F9019093FA0172
+:10446000A093FB01B093FC019CE088E10FB6F894A7
+:10447000A895809360000FBE90936000FFCFEF92ED
+:10448000FF920F931F93CF93DF93D82FC0E08C2F11
+:104490000E94AB0A00E010E0E82EF12CC701002ECC
+:1044A00002C0959587950A94E2F780FD06C00F5FDC
+:1044B0001F4F0630110591F709C0602F7C2F80E057
+:1044C0000E94B80BD813F3CF81E004C0CF5FCE3089
+:1044D000F1F680E0DF91CF911F910F91FF90EF9067
+:1044E0000895CF93C82F8CE20E943F22882321F0A9
+:1044F0008C2FCF910C943F2280E0CF910895CF93E1
+:104500000E94CE23811102C00E94B4238CEF95E05B
+:104510000E945207C5E6C15049F00E947F098FE30F
+:104520009CE90197F1F700C00000F5CF85EF95E019
+:104530000E94520789E20E947122811113C18AE20E
+:104540000E94712281110E94B42385E00E94712291
+:1045500081110E941D220E94D9238093D70187E0F8
+:104560000E9471228823A9F18BE10E947122882385
+:1045700051F08091D70181FB222720F991E0922709
+:1045800090FB81F90EC08EE00E947122882361F0B9
+:104590008091D70182FB222720F991E0922790FB9E
+:1045A00082F98093D70115C080E10E947122909119
+:1045B000D701882341F093FB222720F981E082274D
+:1045C00080FB93F904C0892F809580FB90F990932C
+:1045D000D7018091D7010E94DD230E94EB238093B5
+:1045E000EA0180EE0E947122882341F08091EA0165
+:1045F000982F909590FB80F98093EA0189E30E94BF
+:104600007122882359F08091EA0181FB222720F949
+:1046100091E0922790FB81F98093EA0182EE0E945B
+:104620007122882359F08091EA0182FB222720F928
+:1046300091E0922790FB82F98093EA0186EE0E9436
+:104640007122882359F08091EA0183FB222720F907
+:1046500091E0922790FB83F98093EA0183EE0E9418
+:104660007122882359F08091EA0184FB222720F9E6
+:1046700091E0922790FB84F98093EA0185E30E9400
+:104680007122882359F08091EA0185FB222720F9C5
+:1046900091E0922790FB85F98093EA0181E30E94E3
+:1046A0007122882359F08091EA0186FB222720F9A4
+:1046B00091E0922790FB86F98093EA0181E10E94C4
+:1046C0007122882359F08091EA0187FB222720F983
+:1046D00091E0922790FB87F98093EA018091EA01AB
+:1046E0000E94EF238091EA0187FB882780F980935D
+:1046F0000D0187E20E947122C82F8EE10E94712273
+:104700008111C2608FE10E9471228111C46080E238
+:104710000E9471228111C86081E20E947122811180
+:10472000C06182E20E9471228111C06283E20E9414
+:1047300071228111C06484E20E947122882311F0E9
+:10474000C06802C0CC2329F08C2F0E94E6236C2F76
+:1047500003C00E94E223682F70E080E090E0CF91D8
+:104760000C94771ECF9108956DEE7EEF80E090E07F
+:104770000E94B72D60E082E090E00E94A92D60E0E9
+:1047800083E090E00E94A92D60E084E090E00E9428
+:10479000A92D60E085E090E00C94A92D80E090E0E8
+:1047A0000E94A32D21E08D3E9E4F09F020E0822F34
+:1047B000089582E090E00C949B2D682F82E090E0B9
+:1047C0000C94A92D83E090E00C949B2D682F83E03E
+:1047D00090E00C94A92D84E090E00C949B2D682F20
+:1047E00084E090E00C94A92D8091DF0180FF0BC044
+:1047F0006091130185E0689FB0011124759567955C
+:10480000759567952BC081FF09C06091130185E004
+:10481000689FB00111247595679520C082FF07C07D
+:104820006091130185E0689FB001112417C0909139
+:10483000E0019923D1F060911201961788F7209139
+:10484000130185E0289F90011124929FA001939F5E
+:10485000500D112470E0CA010E946D2D6038710561
+:1048600040F46115710539F002C065E070E0862FF3
+:1048700008958FE7089581E008958091DF0180FF1A
+:1048800008C06091110170E0759567957595679501
+:1048900021C081FF06C06091110170E07595679598
+:1048A00019C082FF04C06091110170E010C09091A6
+:1048B000E0019923C1F0609110019617A0F7809153
+:1048C0001101899FC001112470E00E946D2D603894
+:1048D000710528F46115710521F0862F08958FE781
+:1048E000089581E0089561E070E0F4CF803F21F405
+:1048F0000E94F423819504C0813F29F40E94F4238F
+:104900008093E3010895823F21F40E94F42381956E
+:1049100004C0833F29F40E94F4238093E2010895A8
+:10492000893F19F40E943D2405C08A3F31F40E945A
+:104930003D2481958093E40108958B3F21F40E94EA
+:104940003D24819504C08C3F29F40E943D2480932E
+:10495000E5010895843F21F48091E101816017C051
+:10496000853F21F48091E101826011C0863F21F4EE
+:104970008091E10184600BC0873F21F48091E101C7
+:10498000886005C0883F31F48091E10180618093A7
+:10499000E10108958D3F21F48091DF0181600BC01A
+:1049A0008E3F21F48091DF01826005C08F3F29F4A2
+:1049B0008091DF0184608093DF010895803F39F4A6
+:1049C0008091E30187FF6CC01092E30169C0813FD1
+:1049D00029F48091E3011816BCF362C09091E201C2
+:1049E000823F29F497FF5CC01092E20159C0833FD7
+:1049F00019F41916CCF354C0893F41F48091E401B5
+:104A000018160CF04DC01092E4014AC08A3F29F4F8
+:104A10008091E40187FF44C0F6CF8B3F39F4809149
+:104A2000E50187FF3DC01092E5013AC08C3F29F4B3
+:104A30008091E5011816BCF333C0843F21F48091C6
+:104A4000E1018E7F17C0853F21F48091E1018D7FC8
+:104A500011C0863F21F48091E1018B7F0BC0873F1D
+:104A600021F48091E101877F05C0883F31F4809176
+:104A7000E1018F7E8093E10113C08D3F21F480918D
+:104A8000DF018E7F0BC08E3F21F48091DF018D7F8F
+:104A900005C08F3F29F48091DF018B7F8093DF0178
+:104AA0008091E20181110EC08091E30181110AC061
+:104AB0008091E401811106C08091E501811102C05D
+:104AC0001092E00108958091D70183FF7EC088E3B2
+:104AD00096E00E9452078091E1011F928F9383E339
+:104AE00096E09F938F930E94EB0781E396E00E94EC
+:104AF00052078091E201282F332727FD30953F93FD
+:104B00008F938EE296E09F938F930E94EB078CE247
+:104B100096E00E9452078091E301282F332727FD5A
+:104B200030953F938F9389E296E09F938F930E94F5
+:104B3000EB0787E296E00E9452078091E401282F5C
+:104B4000332727FD30953F938F9384E296E09F9320
+:104B50008F930E94EB0782E296E00E9452078091B9
+:104B6000E501282F332727FD30953F938F938FE161
+:104B700096E09F938F930E94EB078CE196E00E9452
+:104B800052078091E0011F928F9389E196E09F93F5
+:104B90008F930E94EB0787E196E00E945207809175
+:104BA000DF011F928F9384E196E09F938F930E9481
+:104BB000EB0781E196E00E9452078DB79EB74C96B5
+:104BC0000FB6F8949EBF0FBE8DBF81EE91E00E949C
+:104BD00034150E94C2219093DE018093DD01089577
+:104BE0001F93CF93DF938091DD019091DE010E94AE
+:104BF000CE21AC019091E001992321F02091140184
+:104C000030E006C0209115018AE0289F9001112410
+:104C10004217530708F486C08091E201C091E30176
+:104C2000D091E4011091E501811107C0C11176C056
+:104C3000D11174C0111172C075C09F3F19F09F5FF0
+:104C40009093E001181624F40E94F4238093E2016B
+:104C50008091E20187FF05C00E94F4238195809333
+:104C6000E2011C1624F40E94F4238093E301809156
+:104C7000E30187FF05C00E94F42381958093E3013F
+:104C80006091E201662339F1C091E301CC2319F16F
+:104C9000772767FD7095872F972F0E94722C23E34B
+:104CA00033E343E35FE30E94D62C0E943F2C6093E2
+:104CB000E2016C2F772767FD7095872F972F0E9451
+:104CC000722C23E333E343E35FE30E94D62C0E947C
+:104CD0003F2C6093E3011D1624F40E943D24809331
+:104CE000E4018091E40187FF05C00E943D24819585
+:104CF0008093E401111624F40E943D248093E50181
+:104D00008091E50187FF05C00E943D248195809335
+:104D1000E501DF91CF911F910C9463259F3F09F02E
+:104D20008ECF96CFDF91CF911F910895E1EEF1E004
+:104D300085E0DF011D928A95E9F71092E00110925B
+:104D4000DF0108958BE598E00E9452071F9281E0F1
+:104D50008F931F9285E08F938DE098E09F938F93C0
+:104D60000E94EB070F900F900F900F900F900F90F5
+:104D700008958330E9F128F4813061F0823009F13F
+:104D80000895853009F462C008F449C0863009F4FA
+:104D900074C0089580911501262F30E0280F311D31
+:104DA0002F3F310524F4680F6093150103C08FEF86
+:104DB00080931501809115011F928F9386E497E0EF
+:104DC00072C080911401262F30E0280F311D2F3F33
+:104DD000310524F4680F6093140103C08FEF8093B2
+:104DE0001401809114011F928F9384E397E05BC0BC
+:104DF00080911301262F30E0280F311D2F3F310500
+:104E000024F4680F6093130103C08FEF80931301A4
+:104E1000809113011F928F9381E297E044C08091AB
+:104E20001201262F30E0280F311D2F3F310524F4C9
+:104E3000680F6093120103C08FEF8093120180917D
+:104E400012011F928F938CE097E02DC08091110189
+:104E5000262F30E0280F311D2F3F310524F4680F35
+:104E60006093110103C08FEF8093110180911101B4
+:104E70001F928F9383EF96E016C080911001262F2A
+:104E800030E0280F311D2F3F310524F4680F609367
+:104E9000100103C08FEF80931001809110011F92C9
+:104EA0008F9388ED96E09F938F930E94EB070F906E
+:104EB0000F900F900F900895833081F128F4813086
+:104EC00059F08230D1F00895853009F449C0B8F125
+:104ED000863009F456C0089580911501681720F4B2
+:104EE000861B8093150102C0109215018091150157
+:104EF0001F928F9389EC96E054C08091140168173B
+:104F000020F4861B8093140102C01092140180913A
+:104F100014011F928F9387EB96E043C08091130199
+:104F2000681720F4861B8093130102C010921301AE
+:104F3000809113011F928F9384EA96E032C0809192
+:104F40001201681720F4861B8093120102C0109290
+:104F50001201809112011F928F938FE896E021C079
+:104F600080911101681720F4861B8093110102C003
+:104F700010921101809111011F928F9386E796E0A4
+:104F800010C080911001681720F4861B80931001D7
+:104F900002C010921001809110011F928F938BE537
+:104FA00096E09F938F930E94EB070F900F900F90C6
+:104FB0000F900895CF93C82F1F928F9380E699E0AA
+:104FC0009F938F930E94EB0781E090E0A0E0B0E018
+:104FD000BC01CD0104C0660F771F881F991FCA95B9
+:104FE000D2F70E94771E0F900F900F900F90CF91E5
+:104FF0000C94BB1ACF938D3109F465C0B0F58E3097
+:1050000009F4CCC100F5873009F49BC1A8F48630BF
+:1050100009F06DC28091D701817F8E7F8093D70187
+:1050200085E699E00E94520781EA9DE00E945207BE
+:1050300081E08093E70180C1883009F44FC08B3054
+:1050400009F47CC154C2863109F4F0C138F48031CE
+:1050500009F4B8C1813109F430C249C2893109F477
+:10506000CEC18B3109F486C142C2853309F437C2FF
+:1050700048F4873209F433C208F433C2893209F4A0
+:105080002EC235C2833438F48A3308F02CC28833F8
+:1050900009F454C12CC2833409F421C2883409F0C4
+:1050A00026C20E94BB1A80E99DE00E9452079FEF32
+:1050B00023ED80E3915020408040E1F700C00000E4
+:1050C0000E941D2239C180EB9DE00E9452070E9480
+:1050D000F92B0E94DF140E94110D2EC185EA9DE07C
+:1050E0000E94520786E79BE00E9452070E94E2233B
+:1050F0001F928F9383E79BE09F938F930E94EB0710
+:1051000081E79BE00E9452070E94D923C82F8EE5B9
+:105110009BE00E9452071F92CF9389E59BE09F93EB
+:105120008F930E94EB0787E59BE00E9452078DE476
+:105130009BE00E9452078C2F81701F928F938AE40C
+:105140009BE09F938F930E94EB0788E49BE00E9473
+:1051500052078EE39BE00E945207C1FB882780F92B
+:105160001F928F938BE39BE09F938F930E94EB079B
+:1051700089E39BE00E9452078DE29BE00E94520768
+:10518000C2FB882780F91F928F938AE29BE09F934E
+:105190008F930E94EB0788E29BE00E9452078FE109
+:1051A0009BE00E945207C3FBCC27C0F91F92CF930C
+:1051B0008CE19BE09F938F930E94EB078AE19BE039
+:1051C0000E9452070E94EB23C82F86E09BE00E94BA
+:1051D00052071F92CF9381E09BE09F938F930E9491
+:1051E000EB078FEF9AE00E94520786EE9AE00E944A
+:1051F00052078C2F81701F928F9383EE9AE09F93BA
+:105200008F930E94EB078DB79EB780960FB6F894E8
+:105210009EBF0FBE8DBF81EE9AE00E9452078AECBE
+:105220009AE00E945207C1FB882780F91F928F9352
+:1052300087EC9AE09F938F930E94EB0785EC9AE0AE
+:105240000E94520783EB9AE00E945207C2FB882714
+:1052500080F91F928F9380EB9AE09F938F930E9427
+:10526000EB078EEA9AE00E9452078CE99AE00E94CE
+:105270005207C3FB882780F91F928F9389E99AE030
+:105280009F938F930E94EB0787E99AE00E94520751
+:105290008DE89AE00E945207C4FB882780F91F928C
+:1052A0008F938AE89AE09F938F930E94EB0788E898
+:1052B0009AE00E94520786E79AE00E945207C5FBD7
+:1052C000882780F91F928F9383E79AE09F938F93AB
+:1052D0000E94EB0781E79AE00E94520785E59AE079
+:1052E0000E945207C6FB882780F91F928F9382E5A0
+:1052F0009AE09F938F930E94EB0780E59AE00E94CB
+:10530000520788E49AE00E945207C7FBCC27C0F9F5
+:105310001F92CF9385E49AE09F938F930E94EB07AF
+:1053200083E49AE00E9452078DB79EB74C960FB661
+:10533000F8949EBF0FBE8DBFC1E0DEC08CE899E03F
+:105340005BC08091D701C82FC17080FF09C083E87E
+:105350009DE00E9452078091D701817F8E7F47C0D8
+:1053600087E79DE00E9452078091D701816080937A
+:10537000D701E2CF9091D70191FBCC27C0F981E012
+:10538000C827892FC0FB81F98093D701CC2319F05E
+:105390008AE69DE027C08CE59DE02EC09091D70164
+:1053A00092FBCC27C0F981E0C827892FC0FB82F986
+:1053B0008093D701CC2319F08DE49DE013C08DE3D9
+:1053C0009DE01AC09091D70193FBCC27C0F981E0F2
+:1053D000C827892FC0FB83F98093D701CC2351F0D4
+:1053E00081E39DE00E9452078091D7018160809304
+:1053F000D70182C084E29DE00E9452079DCF85E1E3
+:105400009DE00E94520789EE9CE00E9452078CEAC0
+:105410009CE00E94520785E89CE00E94520781E4CC
+:105420009CE00E94520786E19CE0E6CF88E09CE089
+:105430000E9452070E94DF141F928F938EEE9BE012
+:105440009F938F930E94EB0780910C011F928F9383
+:1054500087ED9BE09F938F930E94EB0780916E01F5
+:105460001F928F9384EC9BE09F938F930E94EB0796
+:1054700080910D011F928F9381EB9BE09F938F93FF
+:105480000E94EB078091D9019091DA01A091DB0194
+:10549000B091DC01BF93AF939F938F938DE99BE015
+:1054A0009F938F930E94EB078DB79EB746960FB6DA
+:1054B000F8949EBF0FBE8DBF3FCF0E94BB1AC09114
+:1054C0000D0181E0C827C0930D01CC2329F083E9A9
+:1054D0009BE00E94520710C088E89BE08DCF80E0DF
+:1054E00003C08D5101C089530E94DA2725CF86E879
+:1054F0009BE00E945207C0E08C2FCF91089580E07E
+:10550000089580E00895CF93C82F8091E7018130FE
+:1055100081F020F0823009F44FC045C1E0910E01C6
+:10552000F0910F018081813169F0823209F03DC133
+:1055300009C0E0910E01F0910F018081813111F0DD
+:10554000823261F48C2F0E947F2A811104C08C2F3B
+:105550000E94FA272FC081E090E02CC08C2F0E947F
+:10556000812A811126C0C431E1F070F4CB3081F082
+:10557000C031D1F40E94A22688E599E00E9452072A
+:1055800082E08093E70115C0C93259F0C83361F455
+:1055900085E699E00E9452078CE599E00E94520747
+:1055A00008C01092E70103C186E599E00E94520706
+:1055B000FEC081E08170FDC0C43220F5CE3108F01C
+:1055C000C0C0CB3099F1C8F4C73009F0D2C08AE02E
+:1055D0008093150194E19093140193E0909313014B
+:1055E0008093120188E08093110188E2809310017A
+:1055F0008CEF97E00E945207BFC0C33149F1C4311C
+:10560000C1F0B7C0CB3409F4A9C028F4C93289F07D
+:10561000C83361F0AEC0C13509F49EC0C23509F48B
+:1056200099C0CE3409F0A5C06AE09EC00E94A226AF
+:10563000A3C08091E601882319F01092E6019CC076
+:1056400089E098E00E94520781E08093E701B1C0B1
+:1056500083EE97E00E94520781ED97E00E94520787
+:10566000809115011F928F938EEC97E09F938F93FB
+:105670000E94EB078CEC97E00E9452078AEB97E0C0
+:105680000E945207809114011F928F9387EB97E03D
+:105690009F938F930E94EB0785EB97E00E94520740
+:1056A00086EA97E00E945207809113011F928F9320
+:1056B00083EA97E09F938F930E94EB0781EA97E03C
+:1056C0000E94520780E997E00E94520780911201E0
+:1056D0001F928F938DE897E09F938F930E94EB0723
+:1056E0008BE897E00E94520786E797E00E945207F6
+:1056F000809111011F928F9383E797E09F938F937F
+:105700000E94EB0781E797E00E9452078AE597E045
+:105710000E945207809110011F928F9387E597E0B6
+:105720009F938F930E94EB0785E597E00E945207B5
+:105730008DB79EB748960FB6F8949EBF0FBE8DBF2B
+:105740001BC0CE51EC2FF0E0E15DFE4F80818093D5
+:10575000E60112C061E003C061E006C06AE080912A
+:10576000E6010E94B92608C08091E6010E945C27EC
+:1057700003C08AEF97E013C08091E601882369F0A7
+:105780001F928F9384EF97E09F938F930E94EB0774
+:105790000F900F900F900F9004C081EF97E00E9440
+:1057A000520781E006C01092E70180E002C080E06D
+:1057B00001CFCF910895E1E8F0E080818860808397
+:1057C0008081816080838FB7F89493E09093890003
+:1057D00090ED909388008FBF0895EFE6F0E0808110
+:1057E000826080830895EFE6F0E080818D7F808382
+:1057F0000895EFE6F0E0908182E0892780830895A4
+:105800001F920F920FB60F9211242F933F934F9335
+:105810005F936F937F938F939F93AF93BF93EF9318
+:10582000FF938091E8019091E90101969093E9013D
+:105830008093E801811103C082E00E94110DE09184
+:10584000E901E695E695F0E0E054F24FE4918091AD
+:10585000E8018E1303C080E00E94110DFF91EF91CB
+:10586000BF91AF919F918F917F916F915F914F9178
+:105870003F912F910F900FBE0F901F90189504D05D
+:105880006894B1118DC0089570D088F09F5790F042
+:10589000B92F9927B751A0F0D1F0660F771F881F55
+:1058A000991F1AF0BA95C9F712C0B13081F077D0BC
+:1058B000B1E0089574C0672F782F8827B85F39F05A
+:1058C000B93FCCF3869577956795B395D9F73EF4B4
+:1058D00090958095709561957F4F8F4F9F4F08955C
+:1058E000E89409C097FB3EF490958095709561957A
+:1058F0007F4F8F4F9F4F9923A9F0F92F96E9BB2730
+:105900009395F695879577956795B795F111F8CFAB
+:10591000FAF4BB0F11F460FF1BC06F5F7F4F8F4F16
+:105920009F4F16C0882311F096E911C0772321F00C
+:105930009EE8872F762F05C0662371F096E8862FA4
+:1059400070E060E02AF09A95660F771F881FDAF7FB
+:10595000880F9695879597F9089557FD9058440FAD
+:10596000551F59F05F3F71F04795880F97FB991FBE
+:1059700061F09F3F79F0879508951216130614067B
+:10598000551FF2CF4695F1DF08C016161706180608
+:10599000991FF1CF86957105610508940895E894E3
+:1059A000BB2766277727CB0197F908950BD078C0DE
+:1059B00069D028F06ED018F0952309F05AC05FC066
+:1059C0001124EECFCADFA0F3959FD1F3950F50E0DD
+:1059D000551F629FF001729FBB27F00DB11D639FA1
+:1059E000AA27F00DB11DAA1F649F6627B00DA11D47
+:1059F000661F829F2227B00DA11D621F739FB00DED
+:105A0000A11D621F839FA00D611D221F749F33275C
+:105A1000A00D611D231F849F600D211D822F762FF5
+:105A20006A2F11249F5750408AF0E1F088234AF0F2
+:105A3000EE0FFF1FBB1F661F771F881F915050403E
+:105A4000A9F79E3F510570F014C0AACF5F3FECF359
+:105A5000983EDCF3869577956795B795F795E7952A
+:105A60009F5FC1F7FE2B880F911D9695879597F93B
+:105A7000089597F99F6780E870E060E008959FEFD0
+:105A800080EC089500240A941616170618060906D5
+:105A9000089500240A9412161306140605060895A4
+:105AA000092E0394000C11F4882352F0BB0F40F42C
+:105AB000BF2B11F460FF04C06F5F7F4F8F4F9F4F6C
+:105AC0000895991B79E004C0991F961708F0961B5A
+:105AD000881F7A95C9F78095089597FB072E16F4CD
+:105AE000009407D077FD09D00E94872D07FC05D0D0
+:105AF0003EF4909581959F4F0895709561957F4FE5
+:105B00000895EE0FFF1F0590F491E02D0994AA1B54
+:105B1000BB1B51E107C0AA1FBB1FA617B70710F098
+:105B2000A61BB70B881F991F5A95A9F780959095CA
+:105B3000BC01CD010895F999FECF92BD81BDF89ABF
+:105B4000992780B50895A8E1B0E042E050E00C94B8
+:105B5000BE2D262FF999FECF1FBA92BD81BD20BD63
+:105B60000FB6F894FA9AF99A0FBE019608950E941A
+:105B7000A92D272F0C94AA2DDC01CB01FC01F9994A
+:105B8000FECF06C0F2BDE1BDF89A319600B40D9289
+:0C5B900041505040B8F70895F894FFCF42
+:105B9C002002120D030EE00DAC0D780D0101C501B4
+:105BAC0028080A03140A3F4D3620394605F904C368
+:105BBC0004A3046A04DD03F6030F0428044804015B
+:0A5BCC0002030405060708090000A3
+:00000001FF