diff options
| -rw-r--r-- | keyboard/ergodox_ez/Makefile | 4 | ||||
| -rw-r--r-- | keyboard/ergodox_ez/keymaps/keymap_default.hex | 2443 | ||||
| -rw-r--r-- | keyboard/ergodox_ez/keymaps/keymap_default_osx.png | bin | 185123 -> 0 bytes | |||
| -rw-r--r-- | keyboard/ergodox_ez/keymaps/keymap_osx_de.c | 25 | ||||
| -rw-r--r-- | keyboard/ergodox_ez/keymaps/keymap_osx_de.hex | 2456 | ||||
| -rw-r--r-- | keyboard/ergodox_ez/keymaps/keymap_osx_de_adnw_koy.c | 262 | ||||
| -rw-r--r-- | keyboard/ergodox_ez/keymaps/keymap_osx_de_highres.png | bin | 755855 -> 756294 bytes | |||
| -rw-r--r-- | keyboard/hhkb_qmk/Makefile | 149 | ||||
| -rw-r--r-- | keyboard/hhkb_qmk/README.md | 180 | ||||
| -rw-r--r-- | keyboard/hhkb_qmk/config.h | 71 | ||||
| -rw-r--r-- | keyboard/hhkb_qmk/hhkb_avr.h | 167 | ||||
| -rw-r--r-- | keyboard/hhkb_qmk/hhkb_qmk.c | 29 | ||||
| -rw-r--r-- | keyboard/hhkb_qmk/hhkb_qmk.h | 30 | ||||
| -rw-r--r-- | keyboard/hhkb_qmk/keymaps/keymap_default.c | 78 | ||||
| -rw-r--r-- | keyboard/hhkb_qmk/keymaps/keymap_lxol.c | 208 | ||||
| -rw-r--r-- | keyboard/hhkb_qmk/matrix.c | 196 | 
16 files changed, 3838 insertions, 2460 deletions
| diff --git a/keyboard/ergodox_ez/Makefile b/keyboard/ergodox_ez/Makefile index df7ce2ce04..03c806131d 100644 --- a/keyboard/ergodox_ez/Makefile +++ b/keyboard/ergodox_ez/Makefile @@ -94,13 +94,13 @@ OPT_DEFS += -DBOOTLOADER_SIZE=512  BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000)  MOUSEKEY_ENABLE  = yes # Mouse keys(+4700)  EXTRAKEY_ENABLE  = yes # Audio control and System control(+450) -CONSOLE_ENABLE   = yes # Console for debug(+400) +CONSOLE_ENABLE   = no # Console for debug(+400)  COMMAND_ENABLE   = yes # Commands for debug and configuration  CUSTOM_MATRIX    = yes # Custom matrix file for the ErgoDox EZ  SLEEP_LED_ENABLE = yes  # Breathing sleep LED during USB suspend  NKRO_ENABLE      = yes		# USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work  # MIDI_ENABLE    = yes 		# MIDI controls -UNICODE_ENABLE   = yes 		# Unicode +# UNICODE_ENABLE = yes 		# Unicode  # Optimize size but this may cause error "relocation truncated to fit" diff --git a/keyboard/ergodox_ez/keymaps/keymap_default.hex b/keyboard/ergodox_ez/keymaps/keymap_default.hex index 72e7da00cc..eedabc2db5 100644 --- a/keyboard/ergodox_ez/keymaps/keymap_default.hex +++ b/keyboard/ergodox_ez/keymaps/keymap_default.hex @@ -1,17 +1,17 @@  :100000000C9403070C9447070C9447070C9447077C
  :100010000C9447070C9447070C9447070C94470728
 -:100020000C9447070C9447070C9432120C94041359
 +:100020000C9447070C9447070C945E120C94301301
  :100030000C9447070C9447070C9447070C94470708
 -:100040000C9447070C94DC2B0C9447070C9447073F
 -:100050000C9447070C94E3210C9447070C94470732
 +:100040000C9447070C94082C0C9447070C94470712
 +:100050000C9447070C940F220C9447070C94470705
  :100060000C9447070C9447070C9447070C944707D8
  :100070000C9447070C9447070C9447070C944707C8
  :100080000C9447070C9447070C9447070C944707B8
  :100090000C9447070C9447070C9447070C944707A8
 -:1000A0000C9447070C9447070C94470769138B136C
 -:1000B00076148B137614CD13F0137614451458145C
 -:1000C000A617A617D417D41717185318541A541A6A
 -:1000D0006B18541A621962192E1A541A541A421AB9
 +:1000A0000C9447070C9447070C9447079513B71314
 +:1000B000A214B713A214F9131C14A21471148414FB
 +:1000C000D217D2170018001843187F18801A801A08
 +:1000D0009718801A8E198E195A1A801A801A6E1A59
  :1000E0000000F0A12E004C002A00E1003581000044
  :1000F0001E00140004001D7134004D001F001A0082
  :1001000016001B00E1042A0020000800070006007A
 @@ -198,9 +198,9 @@  :100C50004F4F544D41474943204D4F5553454B4508
  :100C6000592045585452414B455920434F4E534FFC
  :100C70004C4520434F4D4D414E44204E4B524F204A
 -:100C80003531320A004255494C443A2034663435F5
 -:100C90003533632D6469727479202830333A3430E7
 -:100CA0003A353320446563203138203230313529DC
 +:100C80003531320A004255494C443A2035653337F4
 +:100C90003663622D6469727479202832323A3239AF
 +:100CA0003A3538204A616E203132203230313629CF
  :100CB0000A005649443A2030784645454428457252
  :100CC000676F446F7820455A29205049443A2030B4
  :100CD0007831333037284572676F446F7820455A32
 @@ -228,9 +228,9 @@  :100E3000B9F41092F9011092FA011092FB0110928C
  :100E4000FC0114BE84B7877F84BF88E10FB6F89495
  :100E500080936000109260000FBEE0E0FFE3099510
 -:100E600011E0A0E0B1E0E4E5FBE502C005900D92E1
 +:100E600011E0A0E0B1E0ECEAFBE502C005900D92D4
  :100E7000AA33B107D9F711E0AAE3B1E001C01D928E
 -:100E8000A93FB107E1F70E946C0F0C94A82D0C94B8
 +:100E8000A93FB107E1F70E94980F0C94D42D0C9460
  :100E90000000FF93EF93E0913A01F0913B0130970E
  :100EA00009F00995EF91FF910895FC01859180303B
  :100EB00011F0EFDFFBCF0895FF27E0E230E247FFBC
 @@ -253,1215 +253,1220 @@  :100FC000FF91B7CFFF93EF93FC0181918030B9F38C
  :100FD00060DFFBCFFF93EF9368DFF1CFDF93CF9319
  :100FE000CDB7DEB72596A3DFCF91DF9108956111CC
 -:100FF0000BC0FC018281882321F085EE0E943A1605
 -:1010000003C085EE0E94021780E090E008950895E5
 +:100FF0000BC0FC018281882321F085EE0E946616D9
 +:1010000003C085EE0E942E1780E090E008950895B9
  :101010006091BC017091BD018091BE019091BF01B2
 -:101020000E94E72056985E9825982D9826982E982D
 +:101020000E94132156985E9825982D9826982E9800
  :1010300027982F98813019F0823021F00895259A51
  :101040002D9A0895269A2E9A089588E098E0892B83
 -:1010500011F00C940808089556985E9825982D98DC
 -:1010600026982E9827982F988FEF90E090938900DC
 -:101070008093880090938B0080938A0090938D00DA
 -:1010800080938C00569A5E9A259A2D9A269A2E9ACB
 -:10109000279A2F9A2FE782E490E1215080409040D8
 -:1010A000E1F700C0000056985E9825982D98269884
 -:1010B0002E9827982F98089589EA8093800089E0D8
 -:1010C0008093810024982C983F988AB18F748AB9B4
 -:1010D0006E98479A8BB1806B8BB9769A0E942C08D8
 -:1010E00087E098E0892B11F00C940708089580E2BE
 -:1010F0008093000180913C0181110EC00E94C608BE
 -:1011000081E080933C012FEF83ED90E321508040FC
 -:101110009040E1F700C0000080E40E94CC0880937A
 -:10112000000181112EC00E94F608809300018111F8
 -:1011300028C00E94F60880930001811122C08FE32D
 -:101140000E94F6088093000181111BC00E94EE08E6
 -:1011500080E40E94CC0880930001811112C08CE0D1
 -:101160000E94F6088093000181110BC00E94F608CE
 -:1011700080930001811105C08FE30E94F6088093DF
 -:1011800000010E94EE088091000108951092B900BC
 -:101190008AE08093B800089594EA9093BC009091FF
 -:1011A000BC0097FFFCCF9091B900987F983021F058
 -:1011B000903111F081E008958093BB0084E8809322
 -:1011C000BC008091BC0087FFFCCF8091B900887F74
 -:1011D000883111F0803471F780E0089584E98093BC
 -:1011E000BC008091BC0084FDFCCF08958093BB00BF
 -:1011F00084E88093BC008091BC0087FFFCCF909175
 -:10120000B900987F81E0983209F480E0089584E87D
 -:101210008093BC008091BC0087FFFCCF8091BB0015
 -:10122000089580910001811115C080E40E94CC08CE
 -:101230008093000181110CC082E10E94F608809326
 -:101240000001811105C08FEF0E94F6088093000114
 -:101250000E94EE0884B1807F84B985B1807F85B912
 -:101260008AB1837F8AB98BB1837F8BB93E984698C8
 -:1012700008950E947708809300010E94110980B3AD
 -:101280008C7080BB81B3836F81BBECE4F1E0AEE393
 -:10129000B1E011921D9281E0EA35F807D1F78CE5B3
 -:1012A00098E0892B11F00C945C0808959F92AF92FE
 -:1012B000BF92CF92DF92EF92FF920F931F93CF9343
 -:1012C000DF93809100018823E1F080913D018F5FE1
 -:1012D00080933D01811115C082E493E00E9455077F
 -:1012E0000E94770880930001882329F088E293E028
 -:1012F0000E94550706C084E193E00E9455070E94B2
 -:101300002C080EE311E0C0E0D0E0BB24B39482E0EF
 -:10131000A82ECC24C394D12C25E0E22E23E0F22E7B
 -:10132000C73000F580910001811162C080E40E9405
 -:10133000CC0880930001811112C082E10E94F6085E
 -:101340008093000181110BC0C6010C2E01C0880FD3
 -:101350000A94EAF780950E94F608809300010E94A3
 -:10136000EE0846C0CA30A1F028F4C83059F0C930A0
 -:1013700061F005C0CC3089F070F0CD3089F0209A52
 -:10138000289810C0219A29980DC0229A2A980AC03C
 -:10139000239A2B9807C0529A01C0539A5B9802C0B7
 -:1013A0003E9A4698E0EAEA95F1F78FB1799985C0BF
 -:1013B00092E081708B25892B7C9B02C090E001C05C
 -:1013C00094E0892B7D9B02C090E001C098E0892BBE
 -:1013D0007E9B02C090E001C090E1892B9FB1909567
 -:1013E000991F9927991F9295990F907E892B10C06C
 -:1013F00080910001811176C080E40E94CC08809326
 -:101400000001882309F45BC0912C0E94EE08892D0D
 -:10141000F8019081981739F1808380910101882328
 -:1014200001F18091D70180FF04C08AE093E00E941F
 -:1014300055078091D70180FF0CC0809101011F9258
 -:101440008F93FF92EF920E94EE070F900F900F90F4
 -:101450000F908091D70180FF04C083E093E00E9449
 -:101460005507A09201010E94110921960F5F1F4F9D
 -:10147000CE30D10509F054CF809101018823B1F01D
 -:10148000815080930101882339F08FE99FE0019713
 -:10149000F1F700C000000AC0ACE4B1E0EEE3F1E017
 -:1014A00081918D9391E0EC34F907D1F785E298E0D2
 -:1014B000892BD1F00E94250817C090E07ACF83E1F4
 -:1014C0000E94F6088093000181119ECF81E40E9462
 -:1014D000CC0880930001811197CF0E940709982EB4
 -:1014E000909493CF80E094CF81E0DF91CF911F91D2
 -:1014F0000F91FF90EF90DF90CF90BF90AF909F90B3
 -:101500000895E82FF0E0E45BFE4F80810895CF92CC
 -:10151000DF92EF92FF920F931F93CF93DF938CEEA6
 -:1015200092E00E9455073CE4E32E31E0F32EC0E048
 -:10153000D0E047EEC42E42E0D42E0EED12E0DF9351
 -:10154000CF93DF92CF920E94EE0784EE92E00E944A
 -:101550005507F70181917F0190E00E944C219F93F4
 -:101560008F931F930F930E94EE078CED92E00E94E1
 -:10157000550721968DB79EB708960FB6F8949EBF73
 -:101580000FBE8DBFCE30D105D1F6DF91CF911F9127
 -:101590000F91FF90EF90DF90CF9008958B3B9105D6
 -:1015A00078F4883A910540F5853A9105D0F4843075
 -:1015B000910508F0B1C08130910509F4ADC06BC050
 -:1015C000803E910508F467C0883E910508F4A4C0E8
 -:1015D0009C01205F31092031310508F05CC0906525
 -:1015E0000895853A910509F459C0863A910509F4A0
 -:1015F00058C083E890E40895883A910509F454C0EE
 -:10160000893A910509F453C08A3A910509F452C008
 -:101610008B3A910509F451C08C3A910509F450C0F8
 -:101620008D3A910509F44FC0803B910509F44EC0F5
 -:101630008E3A910509F44DC08F3A910509F44CC0DA
 -:10164000813B910509F44BC0823B910509F44AC0E6
 -:10165000833B910509F449C0843B910509F448C0D6
 -:10166000853B910509F447C0863B910509F446C0C6
 -:10167000873B910509F445C0883B910509F444C0B6
 -:10168000893B910509F443C08A3B910509F042C0AA
 -:101690008AE296E4089580E090E0089581E890E47D
 -:1016A000089582E890E4089582EE94E4089589EE26
 -:1016B00094E408958AEE94E4089585EB94E4089503
 -:1016C00086EB94E4089587EB94E408958CEC94E41D
 -:1016D00008958DEC94E4089583E895E408958AE8EC
 -:1016E00095E4089582E995E4089584E995E40895E0
 -:1016F00081E296E4089583E296E4089584E296E414
 -:10170000089585E296E4089586E296E4089587E2D6
 -:1017100096E4089580E094E40895089596E0799F12
 -:10172000F001112494E5899FE00DF11D1124E60FCD
 -:10173000F11DEE0FFF1FEC51FF4F8591949108951D
 -:10174000880F991F805A9040FC01859194910895CB
 -:10175000880F991F80529F4FFC01859194910895A5
 -:1017600026E0729FF001112444E5849FE00DF11DF5
 -:101770001124E60FF11DEE0FFF1FEC51FF4F2591D5
 -:101780003491C9019A9581159F4110F4C9010895BA
 -:10179000C90190528115904128F4C9019F700E949F
 -:1017A000A80B0895C90190538115904120F4C901F7
 -:1017B0009927906C0895211580E5380769F40E94F7
 -:1017C000751A9FEF24E34CE0915020404040E1F730
 -:1017D00000C000000C940822213080E5380751F445
 -:1017E0008CE593E00E9455078091D701816080933A
 -:1017F000D7010895C90190558115904108F050C056
 -:10180000832F99278F70992781309105D9F4A901E9
 -:101810004370552702C0880F991F4A95E2F79C68CC
 -:10182000A90164E0440F551F6A95E1F744275370FE
 -:10183000842B952B73E0220F331F7A95E1F72076E6
 -:1018400033271DC08230910529F4922F8827816F9C
 -:10185000906A089583309105A9F4A9014370552732
 -:1018600081E090E002C0880F991F4A95E2F79C68DA
 -:1018700043E0220F331F4A95E1F7207E3770822B19
 -:10188000932B08950497F1F4A9014370552781E043
 -:1018900090E002C0880F991F4A95E2F79A68E8CF56
 -:1018A000C90190578115904120F4C9019F70906241
 -:1018B0000895C90190588115904120F4C9019F7085
 -:1018C000906A0895203E3105E0F4203C310558F53A
 -:1018D0002133310509F470C048F42932310509F487
 -:1018E00064C02A32310509F46EC074C02933310551
 -:1018F000F1F022383105D9F02533310509F44EC015
 -:1019000069C0233E310589F138F4203E3105C1F02C
 -:10191000223E3105E1F05EC0263E310569F1273EE9
 -:101920003105A9F157C0C9010E94A00B089580910B
 -:10193000EA0180FD02C081FF4DC080EE90E04BC007
 -:101940008091EA0180FFF9CF89E390E044C0809163
 -:10195000EA0182FF0EC08091EA0184FF03C080E0AB
 -:1019600090E039C083EE90E036C08091EA0182FFBA
 -:10197000F2CF82EE90E02FC08091EA0183FF0BC08E
 -:101980008091EA0184FDEBCF87EE90E024C0809146
 -:10199000EA0183FFF5CF86EE90E01DC08091EA0159
 -:1019A00085FF07C089E290E016C08091EA0185FFBB
 -:1019B000F9CF85E390E00FC08091EA0186FF07C070
 -:1019C0008AE290E008C08091EA0186FFF9CF81E3C6
 -:1019D00090E001C0C9010E94CE0A08950895809147
 -:1019E0006D0108959FB7F89410925C019FBF90918C
 -:1019F000F001943009F058C09091E9009F70209157
 -:101A0000EC0020FF02C020E801C020E0292B94E078
 -:101A10009093E9009091EB0090FF43C09091EE000D
 -:101A200097FF3FC090915A01992321F09091E800CF
 -:101A300095FF37C010925A0196E03091E80035FDCD
 -:101A400015C03091F001343061F53091EB0035FD77
 -:101A500028C0915021F481E080935A0122C0EFE91F
 -:101A6000FFE03197F1F700C00000E7CF8093F1006D
 -:101A70008091E80085FD0AC08091E80080FFFCCFDE
 -:101A80008091E8008E778093E80006C08FB7F894C5
 -:101A900091E090935C018FBF2F702093E90080E06C
 -:101AA00008952F702093E9008FEF0895CF93DF936F
 -:101AB00000D01F92CDB7DEB72091F001243019F588
 -:101AC00023E029839B838A832093E9008FEF909101
 -:101AD000E800815095FD06C095ED9A95F1F700005C
 -:101AE0008111F5CF8091E80085FF0DC040E050E006
 -:101AF00063E070E0CE0101960E9425108091E8001D
 -:101B00008E778093E8000F900F900F90DF91CF9128
 -:101B10000895CF93DF9300D01F92CDB7DEB7209109
 -:101B2000F001243021F522E029839B838A8383E01E
 -:101B30008093E9008FEF9091E800815095FD06C0F9
 -:101B400095ED9A95F1F700008111F5CF8091E800AD
 -:101B500085FF0DC040E050E063E070E0CE010196EB
 -:101B60000E9425108091E8008E778093E8000F9006
 -:101B70000F900F90DF91CF9108952091F0012430C4
 -:101B8000F1F422E02093E9002FEF3091E80021509A
 -:101B900035FD06C035ED3A95F1F700002111F5CF7E
 -:101BA0002091E80025FF0BC040E050E065E070E0C8
 -:101BB0000E9425108091E8008E778093E8000895B8
 -:101BC000CF93DF93EC018091F001843009F047C09E
 -:101BD00080910C018823E1F080910D018823C1F0F0
 -:101BE00085E08093E9008FEF9091E800815095FDAA
 -:101BF00006C095E19A95F1F700008111F5CF80912B
 -:101C0000E80085FF2CC040E050E060E170E017C0C4
 -:101C100081E08093E9008FEF9091E800815095FD7D
 -:101C200006C095ED9A95F1F700008111F5CF8091EE
 -:101C3000E80085FF14C040E050E068E070E0CE01AD
 -:101C40000E9425108091E8008E778093E80080E163
 -:101C5000FE01ADE5B1E001900D928A95E1F7DF91CB
 -:101C6000CF91089583E993E00E9455078091EF0199
 -:101C7000811109C00E94B7110E9414128091E200E4
 -:101C800084608093E20008958FE893E00E945507F6
 -:101C90001092EF0108958BE893E00C94550787E8C4
 -:101CA00093E00E9455070C94C92B83E893E00E94AF
 -:101CB00055070E94A3210E94CF2B0E94B0140C94C0
 -:101CC000EE0C80915B018F5F80935B0162E30E9469
 -:101CD0003D2D911135C010925B0180915C018823EC
 -:101CE00079F18091F001843049F58091E9008F709D
 -:101CF0009091EC0090FF02C090E801C090E0982B1A
 -:101D000084E08093E9008091EB0080FF14C0809113
 -:101D1000EE0087FF10C08091E80085FF03C010929D
 -:101D2000F100F9CF8091E80080FF05C08091E800C4
 -:101D30008E778093E8009F709093E90010925C0189
 -:101D4000089542E061EC81E00E94311142E061ECD3
 -:101D500082E00E94311142E061EC83E00E94311187
 -:101D600042E261EC84E00E94311142E161EC85E0E5
 -:101D70000C9431118091F201833009F455C030F494
 -:101D8000813071F0823009F48EC008958A3009F4F0
 -:101D90007AC08B3009F460C0893009F09CC020C043
 -:101DA0008091F101813A09F096C08091E800877F27
 -:101DB0008093E8008091F5019091F601892B21F044
 -:101DC00060E080E090E003C060E18DE591E070E0CC
 -:101DD0000E946E108091E8008B778093E800089550
 -:101DE0008091F101813209F076C08091F5019091E6
 -:101DF000F601009719F0049709F06DC08091E80092
 -:101E0000877F8093E8008091E80082FD05C0809183
 -:101E1000F0018111F8CF5FC08091F10080936D01D6
 -:101E20008091E8008B7753C08091F101813A09F0ED
 -:101E300052C08091F5019091F601892B09F04BC0B9
 -:101E40008091E800877F8093E8008091E80080FF20
 -:101E5000FCCF80910C0136C08091F1018132D9F51F
 -:101E60008091F5019091F601892BA9F58091E80008
 -:101E7000877F8093E8000E9466118091F301809330
 -:101E80000C010C94751A8091F101813221F5809139
 -:101E9000E800877F8093E8000E9466118091F4013A
 -:101EA00080936E0108958091F101813AA1F48091AF
 -:101EB000E800877F8093E8008091E80080FFFCCFF6
 -:101EC00080916E018093F1008091E8008E7780937D
 -:101ED000E8000C946611089584B7877F84BF88E179
 -:101EE0000FB6F89480936000109260000FBE90E0EF
 -:101EF00080E80FB6F89480936100909361000FBE64
 -:101F00000E9439150E94B7110E9414128091E200BC
 -:101F100084608093E20082EF9CE00E94E22078944B
 -:101F20000E948E140E943B1582E091E00E94AB1447
 -:101F30000E94B72B82E793E00E9455078091F00141
 -:101F4000853089F48EE693E00E9455070E94662151
 -:101F50008091EE01882391F30E948E21882371F3F2
 -:101F60000E940F10EBCF0E946915E8CF292F33276D
 -:101F700023303105A9F06CF42130310509F442C059
 -:101F80002230310509F043C08DE890E02BEC33E0BE
 -:101F900042C021323105C9F02232310519F137C072
 -:101FA00099278130910541F08230910541F0892BCC
 -:101FB00071F5E7ECF3E005C0EFEAF3E002C0E7E912
 -:101FC000F3E0849190E09F0126C0653000F5E62F94
 -:101FD000F0E0EE0FFF1FEB5DFE4F2081318189E0C5
 -:101FE00090E019C0653098F4E62FF0E0DF01AA0F09
 -:101FF000BB1FA55EBE4F2D913C91EA5EFE4F8081D6
 -:1020000090E009C082E190E028E534E004C080E07F
 -:1020100090E020E030E0FA0131832083089580E1F0
 -:1020200089BD82E189BD09B400FEFDCF8091D80051
 -:102030008F7D8093D8008091E00082608093E000E3
 -:102040008091E00081FDFCCF0895CF92DF92EF9266
 -:10205000FF920F931F93CF93DF937C018B01EA01D3
 -:102060000E948711811131C0209731F088819981B8
 -:10207000081B190BE80EF91EC12CD12C01151105F6
 -:1020800019F18091E80085FD14C08091E8008E77F9
 -:102090008093E800209741F0888199818C0D9D1DE7
 -:1020A0009983888385E011C00E948711882331F3CA
 -:1020B0000CC0F70181917F018093F100015011095B
 -:1020C000FFEFCF1ADF0ADACF80E0DF91CF911F91C7
 -:1020D0000F91FF90EF90DF90CF9008952091F7013E
 -:1020E0003091F8012617370748F06115710539F46A
 -:1020F0002091E8002E772093E80001C0B901FC018F
 -:1021000020E061157105B9F18091F001882309F48F
 -:1021100040C0853009F43FC08091E80083FD3DC098
 -:102120008091E80082FF06C08091E80082FF26C00F
 -:1021300080E008958091E80080FFE3CF2091F300D4
 -:102140008091F20090E0922B6115710551F088307A
 -:10215000910538F421912093F100615071090196A5
 -:10216000F3CF21E0089709F020E08091E8008E7716
 -:102170008093E800C6CF2111C7CFD6CF8091F00160
 -:10218000882339F0853039F08091E80083FFCCCF87
 -:1021900004C082E0089583E0089581E008952091CD
 -:1021A000F7013091F8012617370748F061157105DE
 -:1021B00039F42091E8002E772093E80001C0B9019E
 -:1021C000FC0120E061157105C1F18091F0018823C7
 -:1021D00009F441C0853009F440C08091E80083FDD6
 -:1021E0003EC08091E80082FF06C08091E80082FF37
 -:1021F00027C080E008958091E80080FFE3CF209120
 -:10220000F3008091F20090E0922B6115710559F076
 -:102210008830910540F424912093F100319661506B
 -:1022200071090196F2CF21E0089709F020E0809132
 -:10223000E8008E778093E800C5CF2111C6CFD5CFB7
 -:102240008091F001882339F0853039F08091E800E1
 -:1022500083FFCBCF04C082E0089583E0089581E03E
 -:102260000895982F973058F59093E900981739F012
 -:102270007091EC002091ED005091F00003C0242FEC
 -:10228000762F50E021FF19C03091EB003E7F309354
 -:10229000EB003091ED003D7F3093ED003091EB008D
 -:1022A00031603093EB007093EC002093ED0050937D
 -:1022B000F0002091EE0027FF07C09F5FD3CF8F7003
 -:1022C0008093E90081E0089580E008958091F10114
 -:1022D00087FD05C08091E80080FF0EC012C080918C
 -:1022E000E80082FD05C08091F0018111F8CF0895CA
 -:1022F0008091E8008B7708C08091F0018111EACFCE
 -:1023000008958091E8008E778093E8000895809189
 -:10231000E4009091E50045E62091EC0020FF21C00B
 -:102320002091E80020FD21C02091F001222389F0B6
 -:10233000253089F02091EB0025FD0FC02091E400AD
 -:102340003091E5002817390739F3415041F0C901B0
 -:10235000E3CF82E0089583E0089581E0089584E06A
 -:1023600008952091E80022FFDFCF80E008950E94C9
 -:1023700025120E942D12E0EEF0E0808181608083C2
 -:10238000E8EDF0E080818F77808319BCA7EDB0E0A5
 -:102390008C918E7F8C9380818F7E80831092EF0151
 -:1023A00008950F931F93CF93DF930E9425120E94ED
 -:1023B0002D12C8EDD0E088818F778883888180686E
 -:1023C000888388818F7D888319BC1092F0011092D8
 -:1023D000EC011092EE011092ED0100EE10E0F80118
 -:1023E00080818B7F808388818160888342E060E088
 -:1023F00080E00E943111E1EEF0E080818E7F8083E9
 -:10240000E2EEF0E08081816080838081886080835B
 -:10241000F80180818E7F8083888180618883DF914D
 -:10242000CF911F910F910895E8EDF0E080818F7EAC
 -:102430008083E7EDF0E080818160808384E082BF6B
 -:1024400081E08093EF010C94D111E8EDF0E0808100
 -:102450008E7F80831092E20008951092DA0010922D
 -:10246000E10008951F920F920FB60F9211242F933F
 -:102470003F934F935F936F937F938F939F93AF930C
 -:10248000BF93EF93FF938091E10082FF0BC0809197
 -:10249000E20082FF07C08091E1008B7F8093E10022
 -:1024A0000E94610E8091DA0080FF1FC08091D800E9
 -:1024B00080FF1BC08091DA008E7F8093DA008091CC
 -:1024C000D90080FF0DC080E189BD82E189BD09B4DA
 -:1024D00000FEFDCF81E08093F0010E94320E05C026
 -:1024E00019BC1092F0010E94440E8091E10080FF1F
 -:1024F00019C08091E20080FF15C08091E2008E7FBC
 -:102500008093E2008091E20080618093E2008091FC
 -:10251000D80080628093D80019BC85E08093F001D8
 -:102520000E944F0E8091E10084FF30C08091E20054
 -:1025300084FF2CC080E189BD82E189BD09B400FE21
 -:10254000FDCF8091D8008F7D8093D8008091E100ED
 -:102550008F7E8093E1008091E2008F7E8093E20085
 -:102560008091E20081608093E2008091EC018823F9
 -:1025700011F084E007C08091E30087FF02C083E090
 -:1025800001C081E08093F0010E94550E8091E1002E
 -:1025900083FF29C08091E20083FF25C08091E10084
 -:1025A000877F8093E10082E08093F0011092EC013C
 -:1025B0008091E1008E7F8093E1008091E2008E7F28
 -:1025C0008093E2008091E20080618093E20042E02B
 -:1025D00060E080E00E9431118091F000886080937B
 -:1025E000F0000E944B0EFF91EF91BF91AF919F9130
 -:1025F0008F917F916F915F914F913F912F910F90AC
 -:102600000FBE0F901F9018951F920F920FB60F924A
 -:1026100011242F933F934F935F936F937F938F93E7
 -:102620009F93AF93BF93CF93EF93FF93C091E90034
 -:10263000CF708091EC001092E9008091F000877FCC
 -:102640008093F00078940E9440131092E9008091EA
 -:10265000F00088608093F000C093E900FF91EF9153
 -:10266000CF91BF91AF919F918F917F916F915F912A
 -:102670004F913F912F910F900FBE0F901F90189583
 -:102680001F93CF93DF93CDB7DEB7AA970FB6F89419
 -:10269000DEBF0FBECDBFE1EFF1E08091F10081938D
 -:1026A00021E0E93FF207C9F70E94BA0E8091E800E5
 -:1026B00083FF1CC12091F1013091F201832F90E042
 -:1026C0008A30910508F012C1FC01EA5AFF4F0C94C0
 -:1026D0005D2D203881F0223809F008C18091F50184
 -:1026E0008F708093E9008091EB0085FB882780F94B
 -:1026F0001092E90006C08091ED019091EE019111D8
 -:1027000082609091E800977F9093E8008093F100B9
 -:102710001092F100C5C0822F8D7F09F0E7C02223FF
 -:1027200019F0223061F0E2C08091F301813009F0AC
 -:10273000DDC0333009F080E08093EE0128C0809145
 -:10274000F301811124C02091F5012F7009F4CEC04E
 -:102750002093E9008091EB0080FF19C08091EB008D
 -:10276000333011F4806211C080618093EB0081E00E
 -:1027700090E0022E01C0880F0A94EAF78093EA00E5
 -:102780001092EA008091EB0088608093EB00109239
 -:10279000E9008091E800877F86C02111A7C01091D1
 -:1027A000F3011F778091E3008078812B8093E30011
 -:1027B0008091E800877F8093E8000E9466118091F5
 -:1027C000E80080FFFCCF8091E30080688093E30005
 -:1027D000112311F083E001C082E08093F00186C0F4
 -:1027E0002058223008F082C08091F3019091F401CA
 -:1027F0008C3D23E0920779F583E08A838AE289831E
 -:102800004FB7F894DE01139620E03EE051E2E32F4B
 -:10281000F0E050935700E49120FF03C0E295EF7081
 -:102820003F5FEF708E2F90E0EA3010F0C79601C046
 -:10283000C0968D939D932F5F243149F74FBF8091B0
 -:10284000E800877F8093E8006AE270E0CE0101969D
 -:102850000E946E1014C0AE014F5F5F4F6091F50192
 -:102860000E94B60F009709F441C02091E800277F2D
 -:102870002093E800BC0189819A810E94CF10809149
 -:10288000E8008B778093E80031C0203879F580919B
 -:10289000E800877F8093E8008091EC018093F1004D
 -:1028A0008091E8008E778093E8000E9466111EC038
 -:1028B00021111CC09091F3019230C0F48091E80086
 -:1028C000877F8093E8009093EC010E9466118091CD
 -:1028D000EC01811104C08091E30087FF02C084E015
 -:1028E00001C081E08093F0010E94A10E8091E80078
 -:1028F00083FF0AC08091E800877F8093E800809181
 -:10290000EB0080628093EB00AA960FB6F894DEBFCE
 -:102910000FBECDBFDF91CF911F910895CF938091CE
 -:10292000F0018823B1F08091E9008F709091EC0064
 -:1029300090FF02C090E801C090E0C92FC82B109210
 -:10294000E9008091E80083FD0E944013CF70C0939E
 -:10295000E900CF91089590937401809373010895D5
 -:10296000E0917301F0917401309721F00190F081B2
 -:10297000E02D099480E00895FF920F931F93CF9369
 -:10298000DF938C01E0917301F0917401309799F11C
 -:102990000280F381E02D09958091D70182FF2BC041
 -:1029A00080FF04C08DE895E00E945507E80180E1B2
 -:1029B000F82E07E815E08091D70180FF0BC08881D1
 -:1029C0001F928F931F930F930E94EE070F900F900B
 -:1029D0000F900F90FA942196F110EDCF8091D701CE
 -:1029E00080FF09C085E895E0DF91CF911F910F919D
 -:1029F000FF900C945507DF91CF911F910F91FF909D
 -:102A00000895E0917301F0917401309721F00480F2
 -:102A1000F581E02D099408952091710130917201A2
 -:102A20008217930771F09093720180937101E09186
 -:102A30007301F0917401309721F00680F781E02D49
 -:102A40000994089520916F013091700182179307C6
 -:102A500071F09093700180936F01E0917301F09198
 -:102A60007401309721F00084F185E02D09940895D8
 -:102A700008950C9438150E94A5210E9439090C94E0
 -:102A80006B22CF93C82F8091D70182FF1EC080FF99
 -:102A900004C086EA95E00E9455078091D70180FF27
 -:102AA0000CC01F92CF9321EA35E03F932F930E94F1
 -:102AB000EE070F900F900F900F908091D70180FF3D
 -:102AC00004C08FE995E00E9455078C2FCF910C949C
 -:102AD000EE0CCF92DF92EF92FF920F931F93CF9362
 -:102AE000DF93CDB7DEB72B970FB6F894DEBF0FBEDE
 -:102AF000CDBF0E94560936E7E32E31E0F32E00E009
 -:102B000010E0C02E802F0E94810AF701D1907F0132
 -:102B1000D826B1F40F5F1F4F0E30110591F78FEFDC
 -:102B200089838A831B820E94AE218160782F9D83D6
 -:102B30008C8349815A816B818D810E940C1641C022
 -:102B40009091D70191FF04C08B870E94870A8B85E3
 -:102B500020E030E04D2D50E0922FBA01022E02C04D
 -:102B6000759567950A94E2F760FF25C02E83CF82A2
 -:102B7000EE24E394F12C02C0EE0CFF1C9A95E2F7D0
 -:102B800090E08E219F2121E0892B09F420E0288705
 -:102B90000E94AE218160782F9A8789874E815F815C
 -:102BA00068858A850E940C16F801EA58FE4F8081DC
 -:102BB0008E25808306C02F5F3F4F2630310561F69A
 -:102BC000A9CF0E94D925109175010E94B014181741
 -:102BD000A1F00E94B014809375012B960FB6F89463
 -:102BE000DEBF0FBECDBFDF91CF911F910F91FF9040
 -:102BF000EF90DF90CF900C9441152B960FB6F89480
 -:102C0000DEBF0FBECDBFDF91CF911F910F91FF901F
 -:102C1000EF90DF90CF900895CF93DF93CDB7DEB7DD
 -:102C20002B970FB6F894DEBF0FBECDBF4F835887EA
 -:102C300069877A878B87DE01119686E0FD01119204
 -:102C40008A95E9F785E0FE01379601900D928A9505
 -:102C5000E1F749815A816B817C818D819E810E943F
 -:102C6000411D2B960FB6F894DEBF0FBECDBFDF918E
 -:102C7000CF910895CF93C82F882309F4C1C082381B
 -:102C800059F40E94B01481FDBBC089E30E94E01F8B
 -:102C90000E94BC2089E30CC0833879F40E94B014F0
 -:102CA00080FDAEC083E50E94E01F0E94BC2083E54A
 -:102CB0000E943120CF910C94BC20843859F40E949A
 -:102CC000B01482FD9DC087E40E94E01F0E94BC20DA
 -:102CD00087E4EECF8CEF8C0F813A48F48C2F0E9462
 -:102CE000622A81118DC08C2F0E94E01FE3CF80E209
 -:102CF0008C0F883048F4C77081E001C0880FCA95F6
 -:102D0000EAF70E948320D6CF8BE58C0F833078F4CE
 -:102D1000C53A29F0C63A31F482E890E005C081E86E
 -:102D200090E002C083E890E0CF910C940C1588E508
 -:102D30008C0F833108F064C0C83A39F1C93A41F1C7
 -:102D4000CA3A49F1CB3A51F1CC3A59F1CD3A61F155
 -:102D5000C03B69F1CE3A71F1CF3A79F1C13B81F1D3
 -:102D6000C23B89F1C33B91F1C43B99F1C53BA1F151
 -:102D7000C63BA9F1C73BB1F1C83BB9F1C93BC1F1B1
 -:102D8000CA3BC9F58AE292E038C082EE90E035C0D5
 -:102D900089EE90E032C08AEE90E02FC085EB90E0A3
 -:102DA0002CC086EB90E029C087EB90E026C08CEC2D
 -:102DB00090E023C08DEC90E020C083E891E01DC03E
 -:102DC0008AE891E01AC082E991E017C084E991E0B5
 -:102DD00014C081E292E011C083E292E00EC084E26E
 -:102DE00092E00BC085E292E008C086E292E005C066
 -:102DF00087E292E002C080E090E0CF910C9422152F
 -:102E0000CF910895882309F44BC0823859F40E9469
 -:102E1000B01481FF45C089E30E94E01F0E94BC20DE
 -:102E200089E30CC0833871F40E94B01480FF38C06D
 -:102E300083E50E94E01F0E94BC2083E50E943120B0
 -:102E40000C94BC20843859F40E94B01482FF28C02E
 -:102E500087E40E94E01F0E94BC2087E4EFCF9CEF34
 -:102E6000980F913A58F390E2980F983050F4877089
 -:102E700091E001C0990F8A95EAF7892F0E94892075
 -:102E8000DFCF9BE5980F933020F480E090E00C9426
 -:102E90000C15885A833120F480E090E00C942215C0
 -:102EA0000895882321F00E9483200C94BC2008956B
 -:102EB000882321F00E9489200C94BC200895CF9291
 -:102EC000DF92EF92FF920F931F93CF93DF93CDB7D3
 -:102ED000DEB728970FB6F894DEBF0FBECDBF8C01CA
 -:102EE00085E0F801DE01119601900D928A95E1F7D7
 -:102EF000F80140813181F280258122952F708381F4
 -:102F00009481892B31F03F3F31F481E04F3F19F438
 -:102F100003C081E001C080E080FDC6C249833A83DE
 -:102F200089819A812F830E949E1F9E8388870E9499
 -:102F30009D1F0E94701E4E81E42FE295EF70F0E01D
 -:102F4000E05AFF4F2F8168850C945D2D842F807F80
 -:102F5000142F1F70882311F01295107FFF2059F055
 -:102F6000112309F456C2812F68870E9493200E9482
 -:102F7000BC2068854EC2862F0E940217112309F4D7
 -:102F800093C2812F0E94992028960FB6F894DEBF35
 -:102F90000FBECDBFDF91CF911F910F91FF90EF90AA
 -:102FA000DF90CF900C94BC20342F307F842F8F7013
 -:102FB000303211F08295807F662319F0613019F16B
 -:102FC0002CC0FF20B1F0222309F494C1213009F074
 -:102FD00091C128960FB6F894DEBF0FBECDBFDF912A
 -:102FE000CF911F910F91FF90EF90DF90CF900C94B5
 -:102FF000A320222319F0213009F456C28E830E94A7
 -:10300000A6208E818AC1FF2021F0263008F04CC214
 -:1030100071C1253008F048C280C1FF2021F0222371
 -:1030200009F468C1F6C1222309F477C106C2242F2E
 -:1030300026952695237030E02115310521F02130A9
 -:103040003105C9F031C2FF2021F0862F942F9370F3
 -:1030500002C080E090E028960FB6F894DEBF0FBE65
 -:10306000CDBFDF91CF911F910F91FF90EF90DF9037
 -:10307000CF900C940C15FF2021F0862F942F937085
 -:1030800002C080E090E028960FB6F894DEBF0FBE35
 -:10309000CDBFDF91CF911F910F91FF90EF90DF9007
 -:1030A000CF900C942215862FFF2019F00E945F24E8
 -:1030B00002C00E94C72428960FB6F894DEBF0FBE48
 -:1030C000CDBFDF91CF911F910F91FF90EF90DF90D7
 -:1030D000CF900C944C25842F837009F076C0F110AA
 -:1030E000E3C1262F229526952770220F220F862FC7
 -:1030F0008F70C82ED12CE12CF12C022E04C0CC0CE8
 -:10310000DD1CEE1CFF1C0A94D2F764FF10C06FE0B8
 -:1031100070E080E090E004C0660F771F881F991F61
 -:103120002A95D2F7609570958095909503C060E0E0
 -:1031300070E0CB01242F269526952370422F50E076
 -:1031400042305105D1F04330510559F16C297D29A8
 -:103150008E299F294130510541F128960FB6F894E8
 -:10316000DEBF0FBECDBFDF91CF911F910F91FF90BA
 -:10317000EF90DF90CF900C94951E6C297D298E29BD
 -:103180009F2928960FB6F894DEBF0FBECDBFDF9102
 -:10319000CF911F910F91FF90EF90DF90CF900C9403
 -:1031A000AF1E0E94951EC701B60128960FB6F8946F
 -:1031B000DEBF0FBECDBFDF91CF911F910F91FF906A
 -:1031C000EF90DF90CF900C947B1EFF2019F0842F9E
 -:1031D000817001C08695882309F466C1262F229547
 -:1031E00026952770220F220F862F8F70C82ED12C84
 -:1031F000E12CF12C022E04C0CC0CDD1CEE1CFF1CBB
 -:103200000A94D2F764FF10C06FE070E080E090E0B5
 -:1032100004C0660F771F881F991F2A95D2F7609503
 -:1032200070958095909503C060E070E0CB01242FED
 -:10323000269526952370422F50E042305105D1F05B
 -:103240004330510559F16C297D298E299F29413040
 -:10325000510541F128960FB6F894DEBF0FBECDBFE1
 -:10326000DF91CF911F910F91FF90EF90DF90CF9062
 -:103270000C94691F6C297D298E299F2928960FB6E9
 -:10328000F894DEBF0FBECDBFDF91CF911F910F919C
 -:10329000FF90EF90DF90CF900C94831F0E94691FE6
 -:1032A000C701B60128960FB6F894DEBF0FBECDBF9A
 -:1032B000DF91CF911F910F91FF90EF90DF90CF9012
 -:1032C0000C944F1F603FC9F118F4603E50F49CC04D
 -:1032D000623F09F461C008F44BC0633F09F470C059
 -:1032E00093C0162F1F70842F8F71FF2099F00E94BA
 -:1032F000E81E812F28960FB6F894DEBF0FBECDBF13
 -:10330000DF91CF911F910F91FF90EF90DF90CF90C1
 -:103310000C9451170E94091F812F28960FB6F8941C
 -:10332000DEBF0FBECDBFDF91CF911F910F91FF90F8
 -:10333000EF90DF90CF900C945817FF20A9F0253024
 -:1033400008F0B2C0842F8F7128960FB6F894DEBFB4
 -:103350000FBECDBFDF91CF911F910F91FF90EF90E6
 -:10336000DF90CF900C942E1F263008F09DC0EACF3E
 -:10337000FF20A1F0842F8F7128960FB6F894DEBF3E
 -:103380000FBECDBFDF91CF911F910F91FF90EF90B6
 -:10339000DF90CF900C94E81EFF2061F3842F8F7193
 +:1010500011F00E94080880E090E0089556985E988C
 +:1010600025982D9826982E9827982F988FEF90E006
 +:10107000909389008093880090938B0080938A00DE
 +:1010800090938D0080938C00259A2D9A2FEF80E706
 +:1010900092E0215080409040E1F700C00000269A85
 +:1010A0002E9A2FEF80E792E0215080409040E1F7A8
 +:1010B00000C00000279A2F9A2FEF80E792E021507E
 +:1010C00080409040E1F700C0000025982D982FEF58
 +:1010D00080E792E0215080409040E1F700C000009E
 +:1010E00026982E982FEF80E792E021508040904084
 +:1010F000E1F700C0000027982F9856985E98259831
 +:101100002D9826982E9827982F98089589EA8093ED
 +:10111000800089E08093810024982C983F988AB1C0
 +:101120008F748AB96E98479A8BB1806B8BB9769A17
 +:101130000E942E0887E098E0892B11F00E94070892
 +:1011400080E090E0089580E28093000180913C016E
 +:1011500081110EC00E94F20881E080933C012FEFC4
 +:1011600083ED90E3215080409040E1F700C0000003
 +:1011700080E40E94F8088093000181112EC00E9433
 +:10118000220980930001811128C00E9422098093C6
 +:101190000001811122C08FE30E9422098093000187
 +:1011A00081111BC00E941A0980E40E94F8088093F4
 +:1011B0000001811112C08CE00E942209809300017D
 +:1011C00081110BC00E94220980930001811105C08A
 +:1011D0008FE30E942209809300010E941A098091E6
 +:1011E000000108951092B9008AE08093B800089534
 +:1011F00094EA9093BC009091BC0097FFFCCF909133
 +:10120000B900987F983021F0903111F081E0089575
 +:101210008093BB0084E88093BC008091BC0087FF72
 +:10122000FCCF8091B900887F883111F0803471F74C
 +:1012300080E0089584E98093BC008091BC0084FD27
 +:10124000FCCF08958093BB0084E88093BC0080911C
 +:10125000BC0087FFFCCF9091B900987F81E0983265
 +:1012600009F480E0089584E88093BC008091BC007C
 +:1012700087FFFCCF8091BB00089580910001811110
 +:1012800015C080E40E94F8088093000181110CC011
 +:1012900082E10E94220980930001811105C08FEF35
 +:1012A0000E942209809300010E941A0984B1807F64
 +:1012B00084B985B1807F85B98AB1837F8AB98BB1C2
 +:1012C000837F8BB93E98469808950E94A308809327
 +:1012D00000010E943D0980B38C7080BB81B3836F95
 +:1012E00081BBECE4F1E0AEE3B1E011921D9281E04C
 +:1012F000EA35F807D1F786E898E0892B11F00C94CD
 +:10130000860808959F92AF92BF92CF92DF92EF929C
 +:10131000FF920F931F93CF93DF9380910001882357
 +:10132000E1F080913D018F5F80933D01811115C0F7
 +:1013300082E493E00E9455070E94A3088093000175
 +:10134000882329F088E293E00E94550706C084E1D3
 +:1013500093E00E9455070E942E080EE311E0C0E0C2
 +:10136000D0E0BB24B39482E0A82ECC24C394D12C2B
 +:1013700025E0E22E23E0F22EC73000F58091000137
 +:10138000811162C080E40E94F808809300018111FD
 +:1013900012C082E10E9422098093000181110BC0DA
 +:1013A000C6010C2E01C0880F0A94EAF780950E94AE
 +:1013B0002209809300010E941A0946C0CA30A1F098
 +:1013C00028F4C83059F0C93061F005C0CC3089F03C
 +:1013D00070F0CD3089F0209A289810C0219A299871
 +:1013E0000DC0229A2A980AC0239A2B9807C0529AB5
 +:1013F00001C0539A5B9802C03E9A4698E0EAEA958B
 +:10140000F1F78FB1799985C092E081708B25892B96
 +:101410007C9B02C090E001C094E0892B7D9B02C0C0
 +:1014200090E001C098E0892B7E9B02C090E001C053
 +:1014300090E1892B9FB19095991F9927991F9295BB
 +:10144000990F907E892B10C080910001811176C088
 +:1014500080E40E94F80880930001882309F45BC0AF
 +:10146000912C0E941A09892DF8019081981739F161
 +:10147000808380910101882301F18091D70180FF51
 +:1014800004C08AE093E00E9455078091D70180FF55
 +:101490000CC0809101011F928F93FF92EF920E94E6
 +:1014A000EE070F900F900F900F908091D70180FF63
 +:1014B00004C083E093E00E945507A09201010E94BE
 +:1014C0003D0921960F5F1F4FCE30D10509F054CF53
 +:1014D000809101018823B1F081508093010188231C
 +:1014E00039F08FE99FE00197F1F700C000000AC0D2
 +:1014F000ACE4B1E0EEE3F1E081918D9391E0EC3466
 +:10150000F907D1F785E298E0892BD1F00E942508F0
 +:1015100017C090E07ACF83E10E94220980930001F6
 +:1015200081119ECF81E40E94F8088093000181110F
 +:1015300097CF0E943309982E909493CF80E094CF58
 +:1015400081E0DF91CF911F910F91FF90EF90DF909D
 +:10155000CF90BF90AF909F900895E82FF0E0E45BAC
 +:10156000FE4F80810895CF92DF92EF92FF920F930A
 +:101570001F93CF93DF938CEE92E00E9455073CE4DB
 +:10158000E32E31E0F32EC0E0D0E047EEC42E42E07F
 +:10159000D42E0EED12E0DF93CF93DF92CF920E9414
 +:1015A000EE0784EE92E00E945507F70181917F01DA
 +:1015B00090E00E9478219F938F931F930F930E9436
 +:1015C000EE078CED92E00E94550721968DB79EB7ED
 +:1015D00008960FB6F8949EBF0FBE8DBFCE30D105D2
 +:1015E000D1F6DF91CF911F910F91FF90EF90DF9097
 +:1015F000CF9008958B3B910578F4883A910540F59A
 +:10160000853A9105D0F48430910508F0B1C081305D
 +:10161000910509F4ADC06BC0803E910508F467C028
 +:10162000883E910508F4A4C09C01205F3109203157
 +:10163000310508F05CC090650895853A910509F47C
 +:1016400059C0863A910509F458C083E890E408959A
 +:10165000883A910509F454C0893A910509F453C0B8
 +:101660008A3A910509F452C08B3A910509F451C0A8
 +:101670008C3A910509F450C08D3A910509F44FC098
 +:10168000803B910509F44EC08E3A910509F44DC096
 +:101690008F3A910509F44CC0813B910509F44BC088
 +:1016A000823B910509F44AC0833B910509F449C086
 +:1016B000843B910509F448C0853B910509F447C076
 +:1016C000863B910509F446C0873B910509F445C066
 +:1016D000883B910509F444C0893B910509F443C056
 +:1016E0008A3B910509F042C08AE296E4089580E0C1
 +:1016F00090E0089581E890E4089582E890E40895E8
 +:1017000082EE94E4089589EE94E408958AEE94E4D8
 +:10171000089585EB94E4089586EB94E4089587EBAF
 +:1017200094E408958CEC94E408958DEC94E4089589
 +:1017300083E895E408958AE895E4089582E995E4BC
 +:10174000089584E995E4089581E296E4089583E29A
 +:1017500096E4089584E296E4089585E296E4089577
 +:1017600086E296E4089587E296E4089580E094E4A2
 +:101770000895089596E0799FF001112494E5899FDA
 +:10178000E00DF11D1124E60FF11DEE0FFF1FEC51CE
 +:10179000FF4F859194910895880F991F805A90402A
 +:1017A000FC01859194910895880F991F80529F4F55
 +:1017B000FC0185919491089526E0729FF001112417
 +:1017C00044E5849FE00DF11D1124E60FF11DEE0F9D
 +:1017D000FF1FEC51FF4F25913491C9019A95811556
 +:1017E0009F4110F4C9010895C9019052811590419B
 +:1017F00028F4C9019F700E94D40B0895C901905329
 +:101800008115904120F4C9019927906C0895211504
 +:1018100080E5380769F40E94A11A9FEF24E34CE0A9
 +:10182000915020404040E1F700C000000C94342269
 +:10183000213080E5380751F48CE593E00E9455078C
 +:101840008091D70181608093D7010895C901905597
 +:101850008115904108F050C0832F99278F709927E8
 +:1018600081309105D9F4A9014370552702C0880F32
 +:10187000991F4A95E2F79C68A90164E0440F551F3F
 +:101880006A95E1F744275370842B952B73E0220F60
 +:10189000331F7A95E1F7207633271DC082309105FA
 +:1018A00029F4922F8827816F906A089583309105DB
 +:1018B000A9F4A9014370552781E090E002C0880F88
 +:1018C000991F4A95E2F79C6843E0220F331F4A951F
 +:1018D000E1F7207E3770822B932B08950497F1F463
 +:1018E000A9014370552781E090E002C0880F991F3D
 +:1018F0004A95E2F79A68E8CFC9019057811590415F
 +:1019000020F4C9019F7090620895C9019058811513
 +:10191000904120F4C9019F70906A0895203E3105DE
 +:10192000E0F4203C310558F52133310509F470C04D
 +:1019300048F42932310509F464C02A32310509F42A
 +:101940006EC074C029333105F1F022383105D9F069
 +:101950002533310509F44EC069C0233E310589F1B4
 +:1019600038F4203E3105C1F0223E3105E1F05EC081
 +:10197000263E310569F1273E3105A9F157C0C9015D
 +:101980000E94CC0B08958091EA0180FD02C081FF86
 +:101990004DC080EE90E04BC08091EA0180FFF9CF0E
 +:1019A00089E390E044C08091EA0182FF0EC08091FB
 +:1019B000EA0184FF03C080E090E039C083EE90E04C
 +:1019C00036C08091EA0182FFF2CF82EE90E02FC014
 +:1019D0008091EA0183FF0BC08091EA0184FDEBCF87
 +:1019E00087EE90E024C08091EA0183FFF5CF86EE78
 +:1019F00090E01DC08091EA0185FF07C089E290E078
 +:101A000016C08091EA0185FFF9CF85E390E00FC011
 +:101A10008091EA0186FF07C08AE290E008C08091C9
 +:101A2000EA0186FFF9CF81E390E001C0C9010E947D
 +:101A3000FA0A0895089580916D0108959FB7F8946A
 +:101A400010925C019FBF9091F001943009F058C052
 +:101A50009091E9009F702091EC0020FF02C020E8E7
 +:101A600001C020E0292B94E09093E9009091EB00D5
 +:101A700090FF43C09091EE0097FF3FC090915A01B4
 +:101A8000992321F09091E80095FF37C010925A01F8
 +:101A900096E03091E80035FD15C03091F00134300A
 +:101AA00061F53091EB0035FD28C0915021F481E0C3
 +:101AB00080935A0122C0EFE9FFE03197F1F700C0AF
 +:101AC0000000E7CF8093F1008091E80085FD0AC017
 +:101AD0008091E80080FFFCCF8091E8008E778093B2
 +:101AE000E80006C08FB7F89491E090935C018FBF37
 +:101AF0002F702093E90080E008952F702093E90073
 +:101B00008FEF0895CF93DF9300D01F92CDB7DEB74C
 +:101B10002091F001243019F523E029839B838A83E7
 +:101B20002093E9008FEF9091E800815095FD06C069
 +:101B300095ED9A95F1F700008111F5CF8091E800BD
 +:101B400085FF0DC040E050E063E070E0CE010196FB
 +:101B50000E9451108091E8008E778093E8000F90EA
 +:101B60000F900F90DF91CF910895CF93DF9300D026
 +:101B70001F92CDB7DEB72091F001243021F522E08D
 +:101B800029839B838A8383E08093E9008FEF909180
 +:101B9000E800815095FD06C095ED9A95F1F700009B
 +:101BA0008111F5CF8091E80085FF0DC040E050E045
 +:101BB00063E070E0CE0101960E9451108091E80030
 +:101BC0008E778093E8000F900F900F90DF91CF9168
 +:101BD00008952091F0012430F1F422E02093E900EF
 +:101BE0002FEF3091E800215035FD06C035ED3A95D4
 +:101BF000F1F700002111F5CF2091E80025FF0BC07F
 +:101C000040E050E065E070E00E9451108091E800F3
 +:101C10008E778093E8000895CF93DF93EC01809155
 +:101C2000F001843009F047C080910C018823E1F075
 +:101C300080910D018823C1F085E08093E9008FEF4A
 +:101C40009091E800815095FD06C095E19A95F1F7D5
 +:101C500000008111F5CF8091E80085FF2CC040E0A5
 +:101C600050E060E170E017C081E08093E9008FEF01
 +:101C70009091E800815095FD06C095ED9A95F1F799
 +:101C800000008111F5CF8091E80085FF14C040E08D
 +:101C900050E068E070E0CE010E9451108091E800B1
 +:101CA0008E778093E80080E1FE01ADE5B1E0019020
 +:101CB0000D928A95E1F7DF91CF91089583E993E042
 +:101CC0000E9455078091EF01811109C00E94E31124
 +:101CD0000E9440128091E20084608093E2000895A7
 +:101CE0008FE893E00E9455071092EF0108958BE86A
 +:101CF00093E00C94550787E893E00E9455070C94F5
 +:101D0000F52B83E893E00E9455070E94CF210E94A3
 +:101D1000FB2B0E94DC140C941A0D80915B018F5FE9
 +:101D200080935B0162E30E94692D911135C010928E
 +:101D30005B0180915C01882379F18091F00184300E
 +:101D400049F58091E9008F709091EC0090FF02C0FE
 +:101D500090E801C090E0982B84E08093E9008091A6
 +:101D6000EB0080FF14C08091EE0087FF10C08091CF
 +:101D7000E80085FF03C01092F100F9CF8091E800E0
 +:101D800080FF05C08091E8008E778093E8009F7007
 +:101D90009093E90010925C01089542E061EC81E0CB
 +:101DA0000E945D1142E061EC82E00E945D1142E020
 +:101DB00061EC83E00E945D1142E261EC84E00E94EC
 +:101DC0005D1142E161EC85E00C945D118091F201BE
 +:101DD000833009F455C030F4813071F0823009F459
 +:101DE0008EC008958A3009F47AC08B3009F460C03F
 +:101DF000893009F09CC020C08091F101813A09F03E
 +:101E000096C08091E800877F8093E8008091F5017B
 +:101E10009091F601892B21F060E080E090E003C012
 +:101E200060E18DE591E070E00E949A108091E800F9
 +:101E30008B778093E80008958091F101813209F059
 +:101E400076C08091F5019091F601009719F0049702
 +:101E500009F06DC08091E800877F8093E800809151
 +:101E6000E80082FD05C08091F0018111F8CF5FC0CC
 +:101E70008091F10080936D018091E8008B7753C0D1
 +:101E80008091F101813A09F052C08091F501909161
 +:101E9000F601892B09F04BC08091E800877F809381
 +:101EA000E8008091E80080FFFCCF80910C0136C0F3
 +:101EB0008091F1018132D9F58091F5019091F6017F
 +:101EC000892BA9F58091E800877F8093E8000E9424
 +:101ED00092118091F30180930C010C94A11A8091CE
 +:101EE000F101813221F58091E800877F8093E8003D
 +:101EF0000E9492118091F40180936E010895809167
 +:101F0000F101813AA1F48091E800877F8093E80095
 +:101F10008091E80080FFFCCF80916E018093F100FA
 +:101F20008091E8008E778093E8000C9492110895D8
 +:101F300084B7877F84BF88E10FB6F89480936000F0
 +:101F4000109260000FBE90E080E80FB6F894809386
 +:101F50006100909361000FBE0E9465150E94E3111D
 +:101F60000E9440128091E20084608093E2008EE142
 +:101F70009DE00E940E2178940E94BA140E94671579
 +:101F800082E091E00E94D7140E94E32B82E793E065
 +:101F90000E9455078091F001853089F48EE693E028
 +:101FA0000E9455070E9492218091EE01882391F3AF
 +:101FB0000E94BA21882371F30E943B10EBCF0E944C
 +:101FC0009515E8CF292F332723303105A9F06CF47C
 +:101FD0002130310509F442C02230310509F043C0F7
 +:101FE0008DE890E02BEC33E042C021323105C9F09E
 +:101FF0002232310519F137C099278130910541F01E
 +:102000008230910541F0892B71F5E7ECF3E005C0D2
 +:10201000EFEAF3E002C0E7E9F3E0849190E09F018A
 +:1020200026C0653000F5E62FF0E0EE0FFF1FEB5DF8
 +:10203000FE4F2081318189E090E019C0653098F42D
 +:10204000E62FF0E0DF01AA0FBB1FA55EBE4F2D916A
 +:102050003C91EA5EFE4F808190E009C082E190E011
 +:1020600028E534E004C080E090E020E030E0FA01B0
 +:1020700031832083089580E189BD82E189BD09B45F
 +:1020800000FEFDCF8091D8008F7D8093D800809195
 +:10209000E00082608093E0008091E00081FDFCCF51
 +:1020A0000895CF92DF92EF92FF920F931F93CF93F9
 +:1020B000DF937C018B01EA010E94B311811131C0D1
 +:1020C000209731F088819981081B190BE80EF91EC1
 +:1020D000C12CD12C0115110519F18091E80085FD65
 +:1020E00014C08091E8008E778093E800209741F03B
 +:1020F000888199818C0D9D1D9983888385E011C00D
 +:102100000E94B311882331F30CC0F70181917F0144
 +:102110008093F10001501109FFEFCF1ADF0ADACFE7
 +:1021200080E0DF91CF911F910F91FF90EF90DF90B2
 +:10213000CF9008952091F7013091F80126173707C5
 +:1021400048F06115710539F42091E8002E7720934D
 +:10215000E80001C0B901FC0120E061157105B9F189
 +:102160008091F001882309F440C0853009F43FC014
 +:102170008091E80083FD3DC08091E80082FF06C0A9
 +:102180008091E80082FF26C080E008958091E800F9
 +:1021900080FFE3CF2091F3008091F20090E0922B3A
 +:1021A0006115710551F08830910538F42191209323
 +:1021B000F100615071090196F3CF21E0089709F011
 +:1021C00020E08091E8008E778093E800C6CF21114F
 +:1021D000C7CFD6CF8091F001882339F0853039F010
 +:1021E0008091E80083FFCCCF04C082E0089583E0B3
 +:1021F000089581E008952091F7013091F8012617A4
 +:10220000370748F06115710539F42091E8002E7701
 +:102210002093E80001C0B901FC0120E061157105BF
 +:10222000C1F18091F001882309F441C0853009F49F
 +:1022300040C08091E80083FD3EC08091E80082FFAD
 +:1022400006C08091E80082FF27C080E00895809159
 +:10225000E80080FFE3CF2091F3008091F20090E04E
 +:10226000922B6115710559F08830910540F4249145
 +:102270002093F1003196615071090196F2CF21E06F
 +:10228000089709F020E08091E8008E778093E800BD
 +:10229000C5CF2111C6CFD5CF8091F001882339F069
 +:1022A000853039F08091E80083FFCBCF04C082E015
 +:1022B000089583E0089581E00895982F973058F5A8
 +:1022C0009093E900981739F07091EC002091ED009F
 +:1022D0005091F00003C0242F762F50E021FF19C049
 +:1022E0003091EB003E7F3093EB003091ED003D7F6D
 +:1022F0003093ED003091EB0031603093EB00709340
 +:10230000EC002093ED005093F0002091EE0027FFA9
 +:1023100007C09F5FD3CF8F708093E90081E008955D
 +:1023200080E008958091F10187FD05C08091E8006B
 +:1023300080FF0EC012C08091E80082FD05C0809130
 +:10234000F0018111F8CF08958091E8008B7708C0E3
 +:102350008091F0018111EACF08958091E8008E7795
 +:102360008093E80008958091E4009091E50045E6AF
 +:102370002091EC0020FF21C02091E80020FD21C029
 +:102380002091F001222389F0253089F02091EB0083
 +:1023900025FD0FC02091E4003091E5002817390792
 +:1023A00039F3415041F0C901E3CF82E0089583E061
 +:1023B000089581E0089584E008952091E80022FFC7
 +:1023C000DFCF80E008950E9451120E945912E0EE82
 +:1023D000F0E0808181608083E8EDF0E080818F779C
 +:1023E000808319BCA7EDB0E08C918E7F8C938081A7
 +:1023F0008F7E80831092EF0108950F931F93CF93E8
 +:10240000DF930E9451120E945912C8EDD0E08881DA
 +:102410008F77888388818068888388818F7D88838F
 +:1024200019BC1092F0011092EC011092EE01109282
 +:10243000ED0100EE10E0F80180818B7F80838881C0
 +:102440008160888342E060E080E00E945D11E1EEFF
 +:10245000F0E080818E7F8083E2EEF0E08081816019
 +:102460008083808188608083F80180818E7F808373
 +:10247000888180618883DF91CF911F910F910895AA
 +:10248000E8EDF0E080818F7E8083E7EDF0E08081F1
 +:102490008160808384E082BF81E08093EF010C94AF
 +:1024A000FD11E8EDF0E080818E7F80831092E200E4
 +:1024B00008951092DA001092E10008951F920F9291
 +:1024C0000FB60F9211242F933F934F935F936F9307
 +:1024D0007F938F939F93AF93BF93EF93FF938091DD
 +:1024E000E10082FF0BC08091E20082FF07C0809173
 +:1024F000E1008B7F8093E1000E948D0E8091DA00D5
 +:1025000080FF1FC08091D80080FF1BC08091DA003F
 +:102510008E7F8093DA008091D90080FF0DC080E12A
 +:1025200089BD82E189BD09B400FEFDCF81E08093C1
 +:10253000F0010E945E0E05C019BC1092F0010E94CD
 +:10254000700E8091E10080FF19C08091E20080FF51
 +:1025500015C08091E2008E7F8093E2008091E200BE
 +:1025600080618093E2008091D80080628093D800DF
 +:1025700019BC85E08093F0010E947B0E8091E10000
 +:1025800084FF30C08091E20084FF2CC080E189BDCF
 +:1025900082E189BD09B400FEFDCF8091D8008F7D16
 +:1025A0008093D8008091E1008F7E8093E10080913C
 +:1025B000E2008F7E8093E2008091E2008160809350
 +:1025C000E2008091EC01882311F084E007C0809143
 +:1025D000E30087FF02C083E001C081E08093F00147
 +:1025E0000E94810E8091E10083FF29C08091E2006A
 +:1025F00083FF25C08091E100877F8093E10082E026
 +:102600008093F0011092EC018091E1008E7F809325
 +:10261000E1008091E2008E7F8093E2008091E200F1
 +:1026200080618093E20042E060E080E00E945D1102
 +:102630008091F00088608093F0000E94770EFF91F7
 +:10264000EF91BF91AF919F918F917F916F915F912A
 +:102650004F913F912F910F900FBE0F901F901895A3
 +:102660001F920F920FB60F9211242F933F934F9307
 +:102670005F936F937F938F939F93AF93BF93CF930A
 +:10268000EF93FF93C091E900CF708091EC0010921E
 +:10269000E9008091F000877F8093F00078940E9499
 +:1026A0006C131092E9008091F00088608093F00034
 +:1026B000C093E900FF91EF91CF91BF91AF919F91AE
 +:1026C0008F917F916F915F914F913F912F910F90DB
 +:1026D0000FBE0F901F9018951F93CF93DF93CDB728
 +:1026E000DEB7AA970FB6F894DEBF0FBECDBFE1EFFD
 +:1026F000F1E08091F100819321E0E93FF207C9F711
 +:102700000E94E60E8091E80083FF1CC12091F10138
 +:102710003091F201832F90E08A30910508F012C1C8
 +:10272000FC01EA5AFF4F0C94892D203881F02238A1
 +:1027300009F008C18091F5018F708093E9008091C4
 +:10274000EB0085FB882780F91092E90006C0809194
 +:10275000ED019091EE01911182609091E800977FD8
 +:102760009093E8008093F1001092F100C5C0822F91
 +:102770008D7F09F0E7C0222319F0223061F0E2C01A
 +:102780008091F301813009F0DDC0333009F080E041
 +:102790008093EE0128C08091F301811124C0209123
 +:1027A000F5012F7009F4CEC02093E9008091EB0071
 +:1027B00080FF19C08091EB00333011F4806211C0AA
 +:1027C00080618093EB0081E090E0022E01C0880FD1
 +:1027D0000A94EAF78093EA001092EA008091EB00F5
 +:1027E00088608093EB001092E9008091E800877F79
 +:1027F00086C02111A7C01091F3011F778091E300DB
 +:102800008078812B8093E3008091E800877F80931C
 +:10281000E8000E9492118091E80080FFFCCF809137
 +:10282000E30080688093E300112311F083E001C08E
 +:1028300082E08093F00186C02058223008F082C0E8
 +:102840008091F3019091F4018C3D23E0920779F59A
 +:1028500083E08A838AE289834FB7F894DE01139676
 +:1028600020E03EE051E2E32FF0E050935700E49186
 +:1028700020FF03C0E295EF703F5FEF708E2F90E076
 +:10288000EA3010F0C79601C0C0968D939D932F5FDC
 +:10289000243149F74FBF8091E800877F8093E8009B
 +:1028A0006AE270E0CE0101960E949A1014C0AE0157
 +:1028B0004F5F5F4F6091F5010E94E20F009709F4AE
 +:1028C00041C02091E800277F2093E800BC01898166
 +:1028D0009A810E94FB108091E8008B778093E8003A
 +:1028E00031C0203879F58091E800877F8093E80037
 +:1028F0008091EC018093F1008091E8008E778093C5
 +:10290000E8000E9492111EC021111CC09091F30199
 +:102910009230C0F48091E800877F8093E800909324
 +:10292000EC010E9492118091EC01811104C0809110
 +:10293000E30087FF02C084E001C081E08093F001E2
 +:102940000E94CD0E8091E80083FF0AC08091E800CC
 +:10295000877F8093E8008091EB0080628093EB009A
 +:10296000AA960FB6F894DEBF0FBECDBFDF91CF9110
 +:102970001F910895CF938091F0018823B1F0809149
 +:10298000E9008F709091EC0090FF02C090E801C0C8
 +:1029900090E0C92FC82B1092E9008091E80083FDD8
 +:1029A0000E946C13CF70C093E900CF91089590936B
 +:1029B0007401809373010895E0917301F0917401A3
 +:1029C000309721F00190F081E02D099480E0089586
 +:1029D000FF920F931F93CF93DF938C01E0917301CC
 +:1029E000F0917401309799F10280F381E02D0995FF
 +:1029F0008091D70182FF2BC080FF04C08DE895E055
 +:102A00000E945507E80180E1F82E07E815E0809163
 +:102A1000D70180FF0BC088811F928F931F930F9364
 +:102A20000E94EE070F900F900F900F90FA9421964E
 +:102A3000F110EDCF8091D70180FF09C085E895E0C6
 +:102A4000DF91CF911F910F91FF900C945507DF916B
 +:102A5000CF911F910F91FF900895E0917301F09134
 +:102A60007401309721F00480F581E02D09940895D8
 +:102A700020917101309172018217930771F0909348
 +:102A8000720180937101E0917301F09174013097AC
 +:102A900021F00680F781E02D0994089520916F01BF
 +:102AA000309170018217930771F0909370018093B9
 +:102AB0006F01E0917301F0917401309721F000846F
 +:102AC000F185E02D0994089508950C9464150E94F1
 +:102AD000D1210E9465090C949722CF93C82F809131
 +:102AE000D70182FF1EC080FF04C086EA95E00E94E5
 +:102AF00055078091D70180FF0CC01F92CF9321EA28
 +:102B000035E03F932F930E94EE070F900F900F90A8
 +:102B10000F908091D70180FF04C08FE995E00E945B
 +:102B200055078C2FCF910C941A0DCF92DF92EF9214
 +:102B3000FF920F931F93CF93DF93CDB7DEB72B9701
 +:102B40000FB6F894DEBF0FBECDBF0E94820936E7F4
 +:102B5000E32E31E0F32E00E010E0C02E802F0E9423
 +:102B6000AD0AF701D1907F01D826B1F40F5F1F4F56
 +:102B70000E30110591F78FEF89838A831B820E94A3
 +:102B8000DA218160782F9D838C8349815A816B8102
 +:102B90008D810E94381641C09091D70191FF04C0E9
 +:102BA0008B870E94B30A8B8520E030E04D2D50E0EA
 +:102BB000922FBA01022E02C0759567950A94E2F72A
 +:102BC00060FF25C02E83CF82EE24E394F12C02C057
 +:102BD000EE0CFF1C9A95E2F790E08E219F2121E0F8
 +:102BE000892B09F420E028870E94DA218160782F60
 +:102BF0009A8789874E815F8168858A850E94381609
 +:102C0000F801EA58FE4F80818E25808306C02F5F31
 +:102C10003F4F2630310561F6A9CF0E94052610915D
 +:102C200075010E94DC141817A1F00E94DC14809337
 +:102C300075012B960FB6F894DEBF0FBECDBFDF91A6
 +:102C4000CF911F910F91FF90EF90DF90CF900C9458
 +:102C50006D152B960FB6F894DEBF0FBECDBFDF917A
 +:102C6000CF911F910F91FF90EF90DF90CF9008953B
 +:102C7000CF93DF93CDB7DEB72B970FB6F894DEBFB7
 +:102C80000FBECDBF4F83588769877A878B87DE0158
 +:102C9000119686E0FD0111928A95E9F785E0FE0123
 +:102CA000379601900D928A95E1F749815A816B819F
 +:102CB0007C818D819E810E946D1D2B960FB6F894AC
 +:102CC000DEBF0FBECDBFDF91CF910895CF93C82F48
 +:102CD000882309F4C1C0823859F40E94DC1481FDB4
 +:102CE000BBC089E30E940C200E94E82089E30CC04D
 +:102CF000833879F40E94DC1480FDAEC083E50E9425
 +:102D00000C200E94E82083E50E945D20CF910C9466
 +:102D1000E820843859F40E94DC1482FD9DC087E4C9
 +:102D20000E940C200E94E82087E4EECF8CEF8C0FED
 +:102D3000813A48F48C2F0E948E2A81118DC08C2FED
 +:102D40000E940C20E3CF80E28C0F883048F4C770DB
 +:102D500081E001C0880FCA95EAF70E94AF20D6CF64
 +:102D60008BE58C0F833078F4C53A29F0C63A31F4FC
 +:102D700082E890E005C081E890E002C083E890E03E
 +:102D8000CF910C94381588E58C0F833108F064C01E
 +:102D9000C83A39F1C93A41F1CA3A49F1CB3A51F14D
 +:102DA000CC3A59F1CD3A61F1C03B69F1CE3A71F1BB
 +:102DB000CF3A79F1C13B81F1C23B89F1C33B91F13B
 +:102DC000C43B99F1C53BA1F1C63BA9F1C73BB1F1A9
 +:102DD000C83BB9F1C93BC1F1CA3BC9F58AE292E0EF
 +:102DE00038C082EE90E035C089EE90E032C08AEEC5
 +:102DF00090E02FC085EB90E02CC086EB90E029C0DE
 +:102E000087EB90E026C08CEC90E023C08DEC90E046
 +:102E100020C083E891E01DC08AE891E01AC082E9F1
 +:102E200091E017C084E991E014C081E292E011C002
 +:102E300083E292E00EC084E292E00BC085E292E071
 +:102E400008C086E292E005C087E292E002C080E01E
 +:102E500090E0CF910C944E15CF910895882309F4FA
 +:102E60004BC0823859F40E94DC1481FF45C089E3CD
 +:102E70000E940C200E94E82089E30CC0833871F482
 +:102E80000E94DC1480FF38C083E50E940C200E9461
 +:102E9000E82083E50E945D200C94E820843859F4F2
 +:102EA0000E94DC1482FF28C087E40E940C200E944C
 +:102EB000E82087E4EFCF9CEF980F913A58F390E227
 +:102EC000980F983050F4877091E001C0990F8A955F
 +:102ED000EAF7892F0E94B520DFCF9BE5980F93304A
 +:102EE00020F480E090E00C943815885A833120F467
 +:102EF00080E090E00C944E150895882321F00E9404
 +:102F0000AF200C94E8200895882321F00E94B5207A
 +:102F10000C94E8200895CF92DF92EF92FF920F93E6
 +:102F20001F93CF93DF93CDB7DEB728970FB6F894F2
 +:102F3000DEBF0FBECDBF8C0185E0F801DE0111962A
 +:102F400001900D928A95E1F7F80140813181F2807C
 +:102F5000258122952F7083819481892B31F03F3F09
 +:102F600031F481E04F3F19F403C081E001C080E0FB
 +:102F700080FDC6C249833A8389819A812F830E944A
 +:102F8000CA1F9E8388870E94C91F0E949C1E4E8173
 +:102F9000E42FE295EF70F0E0E05AFF4F2F81688553
 +:102FA0000C94892D842F807F142F1F70882311F09B
 +:102FB0001295107FFF2059F0112309F456C2812F7A
 +:102FC00068870E94BF200E94E82068854EC2862F35
 +:102FD0000E942E17112309F493C2812F0E94C5204D
 +:102FE00028960FB6F894DEBF0FBECDBFDF91CF910C
 +:102FF0001F910F91FF90EF90DF90CF900C94E820FD
 +:10300000342F307F842F8F70303211F08295807F83
 +:10301000662319F0613019F12CC0FF20B1F0222392
 +:1030200009F494C1213009F091C128960FB6F894A3
 +:10303000DEBF0FBECDBFDF91CF911F910F91FF90EB
 +:10304000EF90DF90CF900C94CF20222319F0213005
 +:1030500009F456C28E830E94D2208E818AC1FF203D
 +:1030600021F0263008F04CC271C1253008F048C26A
 +:1030700080C1FF2021F0222309F468C1F6C1222378
 +:1030800009F477C106C2242F26952695237030E0D7
 +:103090002115310521F021303105C9F031C2FF2061
 +:1030A00021F0862F942F937002C080E090E0289644
 +:1030B0000FB6F894DEBF0FBECDBFDF91CF911F9149
 +:1030C0000F91FF90EF90DF90CF900C943815FF2078
 +:1030D00021F0862F942F937002C080E090E0289614
 +:1030E0000FB6F894DEBF0FBECDBFDF91CF911F9119
 +:1030F0000F91FF90EF90DF90CF900C944E15862F9C
 +:10310000FF2019F00E948B2402C00E94F32428960D
 +:103110000FB6F894DEBF0FBECDBFDF91CF911F91E8
 +:103120000F91FF90EF90DF90CF900C947825842F33
 +:10313000837009F076C0F110E3C1262F2295269501
 +:103140002770220F220F862F8F70C82ED12CE12CD2
 +:10315000F12C022E04C0CC0CDD1CEE1CFF1C0A94CA
 +:10316000D2F764FF10C06FE070E080E090E004C030
 +:10317000660F771F881F991F2A95D2F76095709563
 +:103180008095909503C060E070E0CB01242F2695D8
 +:1031900026952370422F50E042305105D1F0433044
 +:1031A000510559F16C297D298E299F2941305105FE
 +:1031B00041F128960FB6F894DEBF0FBECDBFDF9168
 +:1031C000CF911F910F91FF90EF90DF90CF900C94D3
 +:1031D000C11E6C297D298E299F2928960FB6F89447
 +:1031E000DEBF0FBECDBFDF91CF911F910F91FF903A
 +:1031F000EF90DF90CF900C94DB1E0E94C11EC701A0
 +:10320000B60128960FB6F894DEBF0FBECDBFDF9192
 +:10321000CF911F910F91FF90EF90DF90CF900C9482
 +:10322000A71EFF2019F0842F817001C08695882386
 +:1032300009F466C1262F229526952770220F220FAA
 +:10324000862F8F70C82ED12CE12CF12C022E04C0B9
 +:10325000CC0CDD1CEE1CFF1C0A94D2F764FF10C0DE
 +:103260006FE070E080E090E004C0660F771F881F79
 +:10327000991F2A95D2F7609570958095909503C017
 +:1032800060E070E0CB01242F269526952370422F15
 +:1032900050E042305105D1F04330510559F16C29CD
 +:1032A0007D298E299F294130510541F128960FB67D
 +:1032B000F894DEBF0FBECDBFDF91CF911F910F916C
 +:1032C000FF90EF90DF90CF900C94951F6C297D2993
 +:1032D0008E299F2928960FB6F894DEBF0FBECDBF6A
 +:1032E000DF91CF911F910F91FF90EF90DF90CF90E2
 +:1032F0000C94AF1F0E94951FC701B60128960FB608
 +:10330000F894DEBF0FBECDBFDF91CF911F910F911B
 +:10331000FF90EF90DF90CF900C947B1F603FC9F13E
 +:1033200018F4603E50F49CC0623F09F461C008F498
 +:103330004BC0633F09F470C093C0162F1F70842FD9
 +:103340008F71FF2099F00E94141F812F28960FB6CD
 +:10335000F894DEBF0FBECDBFDF91CF911F910F91CB
 +:10336000FF90EF90DF90CF900C947D170E94351F57
 +:10337000812F28960FB6F894DEBF0FBECDBFDF9128
 +:10338000CF911F910F91FF90EF90DF90CF900C9411
 +:103390008417FF20A9F0253008F0B2C0842F8F7168
  :1033A00028960FB6F894DEBF0FBECDBFDF91CF9148
 -:1033B0001F910F91FF90EF90DF90CF900C94091F19
 -:1033C000FF2091F0842F8F7128960FB6F894DEBFFE
 -:1033D0000FBECDBFDF91CF911F910F91FF90EF9066
 -:1033E000DF90CF900C94D31E28960FB6F894DEBFD2
 -:1033F0000FBECDBFDF91CF911F910F91FF90EF9046
 -:10340000DF90CF900C94C91EFF20A1F0222309F475
 -:10341000B1CF862F28960FB6F894DEBF0FBECDBF72
 -:10342000DF91CF911F910F91FF90EF90DF90CF90A0
 -:103430000C943A16222309F4B1CF862F28960FB6A2
 -:10344000F894DEBF0FBECDBFDF91CF911F910F91DA
 -:10345000FF90EF90DF90CF900C9402174F70C8014F
 -:103460000E94F70728960FB6F894DEBF0FBECDBFB7
 -:10347000DF91CF911F910F91FF90EF90DF90CF9050
 -:103480000C94EE1D4F70C80128960FB6F894DEBF5D
 -:103490000FBECDBFDF91CF911F910F91FF90EF90A5
 -:1034A000DF90CF900C948D0B28960FB6F894DEBF6A
 -:1034B0000FBECDBFDF91CF911F910F91FF90EF9085
 -:1034C000DF90CF9008950E94A0200E9475200E9456
 -:1034D000BC200E947A260E944C2580E090E00E9449
 -:1034E0000C1580E090E00C9422150E9490200C9422
 -:1034F000631A0E949E1F292F22952F7030E02C30D6
 -:1035000031054CF42A3031056CF422503109223057
 -:10351000310590F407C02C30310551F02F303105C2
 -:1035200039F00AC0803E10F0803F31F481E0089508
 -:1035300093FB882780F9089580E00895CF93DF9367
 -:1035400000D000D01F92CDB7DEB70F900F900F9034
 -:103550000F900F90DF91CF910895CF93DF9300D01C
 -:1035600000D000D0CDB7DEB726960FB6F894DEBFF8
 -:103570000FBECDBFDF91CF9108951F93CF93DF93FF
 -:10358000C091840116E080918501C81799F0D0E0C0
 -:103590001C9FF0011D9FF00D1124EA57FE4F408142
 -:1035A000518162817381848195810E94AD1A219637
 -:1035B000C770E9CFDF91CF911F9108954091B60177
 -:1035C0005091B7016091B8017091B9018091BA0131
 -:1035D0009091BB010C94AD1ACF938091BB01829561
 -:1035E0008F7009F05FC08091B801882309F45AC038
 -:1035F00020918401A09185016091B6017091B7017D
 -:103600008091B9019091BA0131E06F3F09F030E04B
 -:10361000B32FC6E02A1709F445C0009721F07F3F79
 -:1036200021F44B2F03C041E001C040E030E040FDF9
 -:1036300035C0C29FF001C39FF00D1124EA57FE4F21
 -:10364000418174132BC04081641328C04281411111
 -:1036500025C0438154814817590710F4415051093E
 -:10366000481B590B483C5105C8F48091BB018F7031
 -:1036700080618093BB0186E0829FF001839FF00D03
 -:103680001124E557FE4F80818F708061808386EB27
 -:1036900091E00E945F17CF910C94BD1A2F5F3F4FAE
 -:1036A0002770B8CFCF910895CF92DF92EF92FF921B
 -:1036B0000F931F93CF93DF93CDB7DEB762970FB60B
 -:1036C000F894DEBF0FBECDBF8C0185E0F801DE01AE
 -:1036D0001D9601900D928A95E1F7D8014C911196B3
 -:1036E0005C91119712966C9112971396ED90FC9045
 -:1036F00014977091B601E091B7012091B901309112
 -:10370000BA012115310531F0EF3F31F481E07F3FFF
 -:1037100019F403C081E001C080E0B82FB170CB2E56
 -:1037200080FD6CC1D090B801DD2009F4F5C0F091A6
 -:10373000BB01E216F30638F0C701821B930B883CED
 -:10374000910548F09BC0209530952E0D3F1D283CDB
 -:10375000310508F093C08F2F807F09F052C0E51328
 -:1037600014C0741312C0D62E61110FC0FF70F06127
 -:10377000F093BB010E94DE1A86EB91E00E945F1776
 -:103780008091BB01F80185836CC1EF2831F05F3F68
 -:1037900031F481E04F3F19F403C081E001C080E0C3
 -:1037A00080FD03C081E0862701C080E0F82FF17022
 -:1037B000FF2E80FF1CC0809184012091850136E09E
 -:1037C000821709F428C190E0389FF001399FF00D6D
 -:1037D0001124EA57FE4F7181571306C070814713B9
 -:1037E00003C07281671303C001968770E9CFD62E9C
 -:1037F000662309F436C18091BB0181608093BB01CF
 -:1038000053C0E51308C0741306C0611104C0D80189
 -:103810001596FC93AEC04D875E878D859E856A8B1D
 -:103820000E94791A6A89882329F1D62E662311F11C
 -:103830002091BB01822F82958F7090E002970CF44B
 -:1038400060C08091B6019091B70198878F831986E7
 -:10385000FB86EA862C87CE01079651C0E51731F129
 -:103860004D875E878D859E856A8B0E94791A6A894D
 -:1038700081112EC0C8010E945F17A4C08F2F807FC6
 -:1038800069F77E2DF98AE88A89890E949E1A86EB5B
 -:1038900091E00E945F17E6EBF1E086E0DF011D9208
 -:1038A0008A95E9F70E94DE1AD12CDBC07413D8CFB9
 -:1038B0006111D6CFD8011596FC93C8010E945F17FD
 -:1038C000E6EBF1E086E0DF011D928A95E9F7C9C0D9
 -:1038D000D62E662379F22091BB01822F82958F70BC
 -:1038E00090E0029774F08091B6019091B7019A83AD
 -:1038F00089831B82FD82EC822E83CE0101960E9479
 -:103900005F1786E0F801A6EBB1E001900D928A9571
 -:10391000E1F70E94EC1A6FC0E216F30628F0C70127
 -:10392000821B930B9C0104C0209530952E0D3F1DEA
 -:10393000283C310508F052C0D62E662309F49ACFF0
 -:10394000E5132CC074132AC08091BB0180FD1DC0FB
 -:10395000982F92959F70C9F0D80115968C93159762
 -:103960009F3039F09F5F9295907F8F70892B1596CD
 -:103970008C93C8010E945F1786E0F801A6EBB1E0C6
 -:1039800001900D928A95E1F736C086E0F801A6EB2A
 -:10399000B1E001900D928A95E1F763C04D875E8793
 -:1039A0008D859E850E94791A882379F086E0F8013A
 -:1039B000A6EBB1E001900D928A95E1F70E94EC1A16
 -:1039C0000E94DE1ADD24D3944CC08091BB0181603B
 -:1039D0008093BB01C8010E945F1743C07E2DF98A06
 -:1039E000E88A89890E949E1AE6EBF1E086E0DF0111
 -:1039F0001D928A95E9F70E94DE1A33C0662309F406
 -:103A000039CF4D875E878D859E850E94791A8823E0
 -:103A100009F430CFCBCF4D875E878D859E850E9480
 -:103A20009E1F292F22952F7030E0223031052CF473
 -:103A30009F7041F0811106C00CC0243031052CF478
 -:103A40009F7049F4805E883020F0C8010E945F17A3
 -:103A5000CF2CDC2C06C0D80115969C91907F91F755
 -:103A6000F8CF8D2D62960FB6F894DEBF0FBECDBF96
 -:103A7000DF91CF911F910F91FF90EF90DF90CF904A
 -:103A800008951F93CF93DF93CDB7DEB72C970FB672
 -:103A9000F894DEBF0FBECDBF4F83588769877A8702
 -:103AA0008B879C87CE0107960E94541B8823C1F008
 -:103AB0002F8138858A859B85892B31F03F3F11F016
 -:103AC00080E003C02F3FE1F781E0811147C04F81C3
 -:103AD000588569857A858B859C850E94AD1A3EC084
 -:103AE00086E0FE013796DE01119601900D928A95CF
 -:103AF000E1F7FF81E8854A855B854115510531F085
 -:103B0000EF3F31F481E0FF3F19F403C081E001C0D1
 -:103B100080E080FD23C02091850130E0C90101963D
 -:103B2000877099276091840170E086179707F1F1FB
 -:103B3000F983EA835D834C8396E0929FD001939F43
 -:103B4000B00D1124AA57BE4FFE01319601900D927F
 -:103B50009A95E1F7809385010E94BD1A16E0809145
 -:103B6000840190918501891779F1189FC001112472
 -:103B70008A579E4F0E94541B882331F1E0918401A3
 -:103B80001E9FF0011124EA57FE4F4081518162814E
 -:103B90007381848195810E94AD1A8091840190E0A7
 -:103BA00001968770992780938401D9CF0E94751A56
 -:103BB0001092850110928401E6EBF1E086E0DF01CE
 -:103BC0001D928A95E9F7CACF2C960FB6F894DEBFFE
 -:103BD0000FBECDBFDF91CF911F910895EF92FF925D
 -:103BE0000F931F93CF93DF939C01009709F471C04B
 -:103BF000F12CEE24E394E9012196F90184918437B4
 -:103C000040F4843008F056C0813081F0823021F1D8
 -:103C100060C0853709F449C0C0F19CE7980F903720
 -:103C200008F057C08F770E94021746C089010E5FC7
 -:103C30001F4FFE01849190E2980F983050F48770E6
 -:103C4000FE2D01C0FF0F8A95EAF78F2F0E94932067
 -:103C500015C00E943A1614C089010E5F1F4FFE0165
 -:103C6000849190E2980F983068F48770FE2D01C01F
 -:103C7000FF0F8A95EAF78F2F0E9499200E94BC209F
 -:103C8000E8011AC00E940217FBCF2E5F3F4FFE01D2
 -:103C9000C491CC2341F08FE99FE00197F1F700C078
 -:103CA0000000C150F6CFE90107C0FE01F490E90120
 -:103CB000229602C00E943A168F2D882341F0EFE928
 -:103CC000FFE03197F1F700C000008150F6CF9E0170
 -:103CD00092CFDF91CF911F910F91FF90EF900895B8
 -:103CE00008956093C0017093C1018093C2019093C5
 -:103CF000C3010C94631A0F931F930091C00110919C
 -:103D0000C1012091C2013091C301062B172B282B32
 -:103D1000392B0093C0011093C1012093C20130934D
 -:103D2000C3011F910F910C94631A0F931F9300917D
 -:103D3000C0011091C1012091C2013091C30106233D
 -:103D40001723282339230093C0011093C101209326
 -:103D5000C2013093C3011F910F910C94631A0F930A
 -:103D60001F930091C0011091C1012091C2013091B7
 -:103D7000C30106271727282739270093C00110936E
 -:103D8000C1012093C2013093C3011F910F910C9484
 -:103D9000631A1092BC011092BD011092BE011092E4
 -:103DA000BF010C94631A41E050E060E070E004C091
 -:103DB000440F551F661F771F8A95D2F74093BC01A9
 -:103DC0005093BD016093BE017093BF010C94631AC0
 -:103DD00041E050E060E070E004C0440F551F661FF2
 -:103DE000771F8A95D2F78091BC019091BD01A09177
 -:103DF000BE01B091BF01842B952BA62BB72B8093CE
 -:103E0000BC019093BD01A093BE01B093BF010C947F
 -:103E1000631A41E050E060E070E004C0440F551FB9
 -:103E2000661F771F8A95D2F74095509560957095DB
 -:103E30008091BC019091BD01A091BE01B091BF01E4
 -:103E400084239523A623B7238093BC019093BD01BF
 -:103E5000A093BE01B093BF010C94631A41E050E0FF
 -:103E600060E070E004C0440F551F661F771F8A95FD
 -:103E7000D2F78091BC019091BD01A091BE01B0919B
 -:103E8000BF0184279527A627B7278093BC0190936D
 -:103E9000BD01A093BE01B093BF010C94631A0F93B0
 -:103EA0001F930091BC011091BD012091BE01309182
 -:103EB000BF01062B172B282B392B0093BC01109325
 -:103EC000BD012093BE013093BF011F910F910C944F
 -:103ED000631A0F931F930091BC011091BD012091B3
 -:103EE000BE013091BF0106231723282339230093F5
 -:103EF000BC011093BD012093BE013093BF011F91FF
 -:103F00000F910C94631A0F931F930091BC011091B1
 -:103F1000BD012091BE013091BF0106271727282738
 -:103F200039270093BC011093BD012093BE0130934B
 -:103F3000BF011F910F910C94631A0895CF92DF92E5
 -:103F4000EF92FF920F931F93CF93DF93EC01C090FA
 -:103F5000C001D090C101E090C201F090C3018091F6
 -:103F6000BC019091BD01A091BE01B091BF01C82AD2
 -:103F7000D92AEA2AFB2A0FE110E0B701A601002E98
 -:103F800004C076956795579547950A94D2F740FFF8
 -:103F900007C0BE01802F0E94B00B8130910539F41B
 -:103FA0000150110950F7BE0180E00E94B00BDF9173
 -:103FB000CF911F910F91FF90EF90DF90CF900895D8
 -:103FC00090910C01992361F190910D01992341F198
 -:103FD000982F9695969596959F3088F4E0910E01CE
 -:103FE000F0910F01E90FF11D877021E030E001C071
 -:103FF000220F8A95EAF78181822B8183089590911F
 -:10400000D70190FF2DC01F928F9387ED95E09F936E
 -:104010008F930E94EE070F900F900F900F900895CE
 -:1040200040910E0150910F0120E030E09FEFFA0126
 -:10403000E20FF31F6281681799F09F3F19F4611135
 -:1040400001C0922F2F5F3F4F2E30310581F79F3FE8
 -:1040500039F0FA01E90FF11D97FDFA958283089571
 -:10406000089590910C01992369F190910D01992384
 -:1040700049F1982F9695969596959F3090F4E091FA
 -:104080000E01F0910F01E90FF11D877021E030E082
 -:1040900001C0220F8A95EAF7209581812823218388
 -:1040A00008959091D70190FF1FC01F928F9389EBC5
 -:1040B00095E09F938F930E94EE070F900F900F90C3
 -:1040C0000F90089540910E0150910F0120E030E0D3
 -:1040D000FA01E20FF31F9281981301C012822F5F41
 -:1040E0003F4F2E303105A1F7089581E090E0E09137
 -:1040F0000E01F0910F01E80FF91F10820196803137
 -:104100009105A9F708959091D601982B9093D60127
 -:10411000089580959091D60198239093D6010895A3
 -:104120001092D60108959091D501982B9093D501C6
 -:10413000089580959091D50198239093D501089585
 -:104140001092D50108958093C40108951092C4017E
 -:10415000089540910E0150910F0120E030E080E081
 -:10416000FA01E20FF31F918191118F5F2F5F3F4F93
 -:104170002F303105A9F70895E0910E01F0910F015C
 -:104180008091D6018083E0910E01F0910F01808132
 -:104190009091D501892B80839091C401992361F07E
 -:1041A000E0910E01F0910F018081892B80830E94A4
 -:1041B000A92081111092C40180910E0190910F01EC
 -:1041C0000C94BC1490933B0180933A010895CF92D4
 -:1041D000DF92EF92FF920F931F936C01EE24FF2466
 -:1041E000C114D104E104F10421F46B017C0180E0ED
 -:1041F00001C080E133272F2D1E2D0D2D0115110536
 -:104200002105310519F0885F680179019701860160
 -:10421000A4E03695279517950795AA95D1F701152E
 -:1042200011052105310519F08C5F680179019701AD
 -:104230008601F2E03695279517950795FA95D1F7FF
 -:10424000011511052105310519F08E5F680179010D
 -:10425000B701A6017695679557954795452B462B4F
 -:10426000472B09F08F5F1F910F91FF90EF90DF9028
 -:10427000CF9008958295982F9C7C96959695837300
 -:1042800044E0849F90011124922B892F8A7A86958D
 -:104290009575990F892B08951F93CF93DF931F92E4
 -:1042A000CDB7DEB799830E943A21182F9981892FC3
 -:1042B0000E943A21212F30E0322F2227A901482BDA
 -:1042C000CA010F90DF91CF911F9108958091F00165
 -:1042D000843009F11092D80120E488E190E00FB613
 -:1042E000F894A895809360000FBE2093600083B778
 -:1042F000817F846083BF83B7816083BF7894889512
 -:1043000083B78E7F83BF88E10FB6F89480936000F7
 -:10431000109260000FBE089508950895CF930E94F3
 -:104320008C210E9456090E948D21C0E08C2F0E9492
 -:10433000810A811105C0CF5FCE30C1F780E001C096
 -:1043400081E0CF9108950C94751A82E084BD93E0CA
 -:1043500095BD9AEF97BD80936E0008952FB7F8949E
 -:104360008091D9019091DA01A091DB01B091DC013B
 -:104370002FBF0895CF92DF92EF92FF920F931F937A
 -:104380002FB7F8944091D9015091DA016091DB0187
 -:104390007091DC012FBF6A017B01EE24FF248C01A8
 -:1043A00020E030E0C016D106E206F30610F44150DA
 -:1043B0005109481B590BCA011F910F91FF90EF90B3
 -:1043C000DF90CF9008951F920F920FB60F92112495
 -:1043D0008F939F93AF93BF938091D9019091DA010E
 -:1043E000A091DB01B091DC010196A11DB11D80936C
 -:1043F000D9019093DA01A093DB01B093DC01BF9166
 -:10440000AF919F918F910F900FBE0F901F901895B5
 -:104410000E94B711F8942FEF87EA91E6215080406F
 -:104420009040E1F700C0000087E090EBDC01809352
 -:10443000F9019093FA01A093FB01B093FC012CE0E9
 -:1044400088E190E00FB6F894A895809360000FBEC5
 -:1044500020936000FFCFEF92FF920F931F93CF93B3
 -:10446000DF93E82EF12C8F2D0E94810AC0E0D0E06E
 -:10447000082F10E098010C2E02C0359527950A945C
 -:10448000E2F720FD05C02196C630D10599F709C095
 -:104490006C2F7F2D80E00E948E0BE812F4CF81E01C
 -:1044A00005C0F3948EE0F812DECF80E0DF91CF916B
 -:1044B0001F910F91FF90EF900895CF93C82F8CE23A
 -:1044C0000E942B22882321F08C2FCF910C942B2239
 -:1044D00080E0CF910895CF930E94B823811102C04C
 -:1044E0000E949E238CEF95E00E945507C5E6C150BF
 -:1044F00049F00E9456098FE39CE90197F1F700C04B
 -:104500000000F5CF85EF95E00E94550789E20E94F3
 -:104510005D22811111C18AE20E945D2281110E94F7
 -:104520009E2385E00E945D2281110E9408220E9444
 -:10453000C3238093D70187E00E945D22882399F1ED
 -:104540008BE10E945D22882351F09091D70191FB6D
 -:10455000882780F921E0822780FB91F922C08EE034
 -:104560000E945D22882351F09091D70192FB882709
 -:1045700080F921E0822780FB92F913C080E10E943C
 -:104580005D229091D701882341F093FB882780F921
 -:1045900021E0822780FB93F904C0892F809580FB5E
 -:1045A00090F99093D7018091D7010E94C7230E9470
 -:1045B000D5238093EA0180EE0E945D22882341F09A
 -:1045C0008091EA01982F909590FB80F98093EA0101
 -:1045D00089E30E945D22882359F09091EA0191FBC2
 -:1045E000882780F921E0822780FB91F99093EA01E6
 -:1045F00082EE0E945D22882359F09091EA0192FB9D
 -:10460000882780F921E0822780FB92F99093EA01C4
 -:1046100086EE0E945D22882359F09091EA0193FB77
 -:10462000882780F921E0822780FB93F99093EA01A3
 -:1046300083EE0E945D22882359F09091EA0194FB59
 -:10464000882780F921E0822780FB94F99093EA0182
 -:1046500085E30E945D22882359F09091EA0195FB41
 -:10466000882780F921E0822780FB95F99093EA0161
 -:1046700081E30E945D22882359F09091EA0196FB24
 -:10468000882780F921E0822780FB96F99093EA0140
 -:1046900081E10E945D22882359F09091EA0197FB05
 -:1046A000882780F921E0822780FB97F99093EA011F
 -:1046B0008091EA010E94D9238091EA0187FB882733
 -:1046C00080F980930D0187E20E945D22C82F8EE160
 -:1046D0000E945D228111C2608FE10E945D228111E2
 -:1046E000C46080E20E945D228111C86081E20E9464
 -:1046F0005D228111C06182E20E945D228111C0624F
 -:1047000083E20E945D228111C06484E20E945D22E6
 -:10471000882311F0C06802C0CC2329F08C2F0E949E
 -:10472000D0236C2F03C00E94CC23682F70E080E060
 -:1047300090E0CF910C94711ECF9108956DEE7EEFB5
 -:1047400080E090E00E94932D60E082E090E00E9483
 -:10475000852D60E083E090E00E94852D60E084E09C
 -:1047600090E00E94852D60E085E090E00C94852D1E
 -:1047700080E090E00E947F2D21E08D3E9E4F09F069
 -:1047800020E0822F089582E090E00C94772D682F2E
 -:1047900082E090E00C94852D83E090E00C94772DDE
 -:1047A000682F83E090E00C94852D84E090E00C94D9
 -:1047B000772D682F84E090E00C94852D8091DF01A7
 -:1047C00080FF0BC06091130185E0689FB001112448
 -:1047D00075956795759567952AC081FF09C06091A9
 -:1047E000130185E0689FB0011124759567951FC07E
 -:1047F00082FF07C06091130185E0689FB00111241A
 -:1048000016C04091E0014423C9F06091120146179F
 -:1048100088F72091130185E0289F90011124429F81
 -:10482000C001439F900D112470E00E94492D603813
 -:10483000710540F46115710539F002C065E070E062
 -:10484000862F08958FE7089581E008958091DF0114
 -:1048500080FF08C06091110170E0759567957595AE
 -:10486000679521C081FF06C06091110170E07595C8
 -:10487000679519C082FF04C06091110170E010C0FB
 -:104880008091E0018823C1F0609110018617A0F7A4
 -:1048900090911101989FC001112470E00E94492D50
 -:1048A0006038710528F46115710521F0862F08958F
 -:1048B0008FE7089581E0089561E070E0F4CF803FD4
 -:1048C00021F40E94DE23819504C0813F29F40E94D7
 -:1048D000DE238093E3010895823F21F40E94DE23CA
 -:1048E000819504C0833F29F40E94DE238093E20176
 -:1048F0000895893F19F40E94262405C08A3F31F4A7
 -:104900000E94262481958093E40108958B3F21F431
 -:104910000E942624819504C08C3F29F40E942624FD
 -:104920008093E5010895843F21F48091E101816045
 -:1049300017C0853F21F48091E101826011C0863F5C
 -:1049400021F48091E10184600BC0873F21F48091C4
 -:10495000E101886005C0883F31F48091E101806108
 -:104960008093E10108958D3F21F48091DF01816002
 -:104970000BC08E3F21F48091DF01826005C08F3F24
 -:1049800029F48091DF0184608093DF010895803FE6
 -:1049900039F48091E30187FF6CC01092E30169C094
 -:1049A000813F29F48091E3011816BCF362C0909115
 -:1049B000E201823F29F497FF5CC01092E20159C0E6
 -:1049C000833F19F41916CCF354C0893F41F4809108
 -:1049D000E40118160CF04DC01092E4014AC08A3F61
 -:1049E00029F48091E40187FF44C0F6CF8B3F39F46E
 -:1049F0008091E50187FF3DC01092E5013AC08C3FF0
 -:104A000029F48091E5011816BCF333C0843F21F4EA
 -:104A10008091E1018E7F17C0853F21F48091E101F3
 -:104A20008D7F11C0863F21F48091E1018B7F0BC007
 -:104A3000873F21F48091E101877F05C0883F31F4F1
 -:104A40008091E1018F7E8093E10113C08D3F21F4BD
 -:104A50008091DF018E7F0BC08E3F21F48091DF01BA
 -:104A60008D7F05C08F3F29F48091DF018B7F80937C
 -:104A7000DF018091E20181110EC08091E30181117B
 -:104A80000AC08091E401811106C08091E501811185
 -:104A900002C01092E00108958091D70183FF7EC08B
 -:104AA00088E396E00E9455078091E1011F928F9361
 -:104AB00083E396E09F938F930E94EE0781E396E055
 -:104AC0000E9455072091E201822F992787FD90953A
 -:104AD0009F932F938EE296E09F938F930E94EE0711
 -:104AE0008CE296E00E9455072091E301822F9927DE
 -:104AF00087FD90959F932F9389E296E09F938F93E4
 -:104B00000E94EE0787E296E00E9455072091E4019B
 -:104B1000822F992787FD90959F932F9384E296E0AB
 -:104B20009F938F930E94EE0782E296E00E945507C2
 -:104B30002091E501822F992787FD90959F932F93D0
 -:104B40008FE196E09F938F930E94EE078CE196E0B1
 -:104B50000E9455078091E0011F928F9389E196E0B2
 -:104B60009F938F930E94EE0787E196E00E9455077E
 -:104B70008091DF011F928F9384E196E09F938F9342
 -:104B80000E94EE0781E196E00E9455078DB79EB71F
 -:104B90004C960FB6F8949EBF0FBE8DBF81EE91E08C
 -:104BA0000E9401150E94AE219093DE018093DD01E9
 -:104BB00008951F93CF93DF938091DD019091DE01E3
 -:104BC0000E94BA214091E001442321F02091140178
 -:104BD00030E006C0209115015AE0259F9001112474
 -:104BE0008217930708F482C08091E2011091E301DB
 -:104BF000D091E401C091E501811107C0111105C0F8
 -:104C0000D11103C0CC2309F471C04F3F19F04F5F9D
 -:104C10004093E001181624F40E94DE238093E20101
 -:104C20008091E20187FF05C00E94DE238195809379
 -:104C3000E201111624F40E94DE238093E3018091A7
 -:104C4000E30187FF05C00E94DE2381958093E30185
 -:104C50006091E201662339F11091E301112319F10A
 -:104C6000772767FD7095872F972F0E944E2C23E39F
 -:104C700033E343E35FE30E94B22C0E941B2C60935A
 -:104C8000E201612F772767FD7095872F972F0E948C
 -:104C90004E2C23E333E343E35FE30E94B22C0E94F4
 -:104CA0001B2C6093E3011D1624F40E94262480939C
 -:104CB000E4018091E40187FF05C00E9426248195CC
 -:104CC0008093E4011C1624F40E9426248093E501BD
 -:104CD0008091E50187FF05C00E942624819580937D
 -:104CE000E501DF91CF911F910C944C25DF91CF917D
 -:104CF0001F910895E1EEF1E085E0DF011D928A95B4
 -:104D0000E9F71092E0011092DF0108958BE598E039
 -:104D10000E9455071F9281E08F931F9285E08F9329
 -:104D20008DE098E09F938F930E94EE070F900F9075
 -:104D30000F900F900F900F9008958330E9F128F4B1
 -:104D4000813061F0823009F10895853009F462C044
 -:104D500008F449C0863009F474C008952091150103
 -:104D6000862F90E0820F911D8F3F910520F4620FF6
 -:104D70006093150103C08FEF809315018091150199
 -:104D80001F928F9386E497E072C020911401862FC2
 -:104D900090E0820F911D8F3F910520F4620F609388
 -:104DA000140103C08FEF80931401809114011F92AE
 -:104DB0008F9384E397E05BC020911301862F90E0EE
 -:104DC000820F911D8F3F910520F4620F60931301B4
 -:104DD00003C08FEF80931301809113011F928F9373
 -:104DE00081E297E044C020911201862F90E0820F6B
 -:104DF000911D8F3F910520F4620F6093120103C053
 -:104E00008FEF80931201809112011F928F938CE09B
 -:104E100097E02DC020911101862F90E0820F911D07
 -:104E20008F3F910520F4620F6093110103C08FEF53
 -:104E300080931101809111011F928F9383EF96E06F
 -:104E400016C020911001862F90E0820F911D8F3F98
 -:104E5000910520F4620F6093100103C08FEF8093DF
 -:104E60001001809110011F928F9388ED96E09F931F
 -:104E70008F930E94EE070F900F900F900F90089560
 -:104E8000833081F128F4813059F08230D1F00895D7
 -:104E9000853009F449C0B8F1863009F456C0089548
 -:104EA00080911501681720F4861B8093150102C0BC
 -:104EB00010921501809115011F928F9389EC96E055
 -:104EC00054C080911401681720F4861B809314014C
 -:104ED00002C010921401809114011F928F9387EBEE
 -:104EE00096E043C080911301681720F4861B8093DD
 -:104EF000130102C010921301809113011F928F932E
 -:104F000084EA96E032C080911201681720F4861B73
 -:104F10008093120102C010921201809112011F921F
 -:104F20008F938FE896E021C080911101681720F4DB
 -:104F3000861B8093110102C0109211018091110112
 -:104F40001F928F9386E796E010C08091100168173A
 -:104F500020F4861B8093100102C0109210018091F2
 -:104F600010011F928F938BE596E09F938F930E9481
 -:104F7000EE070F900F900F900F900895CF93C82FCA
 -:104F80001F928F9320E639E03F932F930E94EE0704
 -:104F900061E070E080E090E004C0660F771F881F3A
 -:104FA000991FCA95D2F70E94711E0F900F900F9013
 -:104FB0000F90CF910C94751ACF938D3109F465C081
 -:104FC000B0F58E3009F4CBC100F5873009F49BC1F0
 -:104FD000A8F4863009F06AC28091D701817F8E7F64
 -:104FE0008093D70185E699E00E94550787EA9DE006
 -:104FF0000E94550781E08093E70180C1883009F461
 -:105000004FC08B3009F47CC151C2863109F4EDC127
 -:1050100038F4803109F4B6C1813109F42DC246C299
 -:10502000893109F4CBC18B3109F486C13FC2853384
 -:1050300009F434C248F4873209F430C208F430C2AB
 -:10504000893209F42BC232C2833438F48A3308F02F
 -:1050500029C2883309F454C129C2833409F41EC219
 -:10506000883409F023C20E94751A86E99DE00E94E7
 -:1050700055079FEF23ED80E3915020408040E1F7FA
 -:1050800000C000000E94082239C186EB9DE00E940A
 -:1050900055070E94D52B0E94B0140E94EE0C2EC121
 -:1050A0008BEA9DE00E94550786E79BE00E9455072A
 -:1050B0000E94CC231F928F9383E79BE09F938F9353
 -:1050C0000E94EE0781E79BE00E9455070E94C323E0
 -:1050D000C82F8EE59BE00E9455071F92CF9329E5CC
 -:1050E0003BE03F932F930E94EE0787E59BE00E94F1
 -:1050F00055078DE49BE00E9455078C2F81701F920D
 -:105100008F932AE43BE03F932F930E94EE0788E4BD
 -:105110009BE00E9455078EE39BE00E945507C1FB70
 -:10512000882780F91F928F932BE33BE03F932F93C7
 -:105130000E94EE0789E39BE00E9455078DE29BE009
 -:105140000E945507C2FB882780F91F928F932AE29D
 -:105150003BE03F932F930E94EE0788E29BE00E9482
 -:1051600055078FE19BE00E945507C3FBCC27C0F990
 -:105170001F92CF938CE19BE09F938F930E94EE0749
 -:105180008AE19BE00E9455070E94D523C82F86E044
 -:105190009BE00E9455071F92CF9321E03BE03F9395
 -:1051A0002F930E94EE078FEF9AE00E94550786EE3C
 -:1051B0009AE00E9455078C2F81701F928F9323EEE7
 -:1051C0003AE03F932F930E94EE078DB79EB78096EB
 -:1051D0000FB6F8949EBF0FBE8DBF81EE9AE00E947D
 -:1051E00055078AEC9AE00E945507C1FB882780F991
 -:1051F0001F928F9327EC3AE03F932F930E94EE0784
 -:1052000085EC9AE00E94550783EB9AE00E945507CF
 -:10521000C2FB882780F91F928F9320EB3AE03F93DF
 -:105220002F930E94EE078EEA9AE00E9455078CE9C0
 -:105230009AE00E945507C3FB882780F91F928F933D
 -:1052400029E93AE03F932F930E94EE0787E99AE01D
 -:105250000E9455078DE89AE00E945507C4FB8827F5
 -:1052600080F91F928F932AE83AE03F932F930E9490
 -:10527000EE0788E89AE00E94550786E79AE00E94C8
 -:105280005507C5FB882780F91F928F9323E73AE0E3
 -:105290003F932F930E94EE0781E79AE00E94550703
 -:1052A00085E59AE00E945507C6FB882780F91F9282
 -:1052B0008F9322E53AE03F932F930E94EE0780E51B
 -:1052C0009AE00E94550788E49AE00E945507C7FBC0
 -:1052D000CC27C0F91F92CF9385E49AE09F938F93D8
 -:1052E0000E94EE0783E49AE00E9455078DB79EB7AF
 -:1052F0004C960FB6F8949EBF0FBE8DBFC1E0DBC0C9
 -:105300008CE899E058C08091D701C82FC17080FF08
 -:1053100009C089E89DE00E9455078091D701817FEF
 -:105320008E7F44C08DE79DE00E9455078091D70194
 -:1053300081608093D701E2CF8091D70181FBCC2798
 -:10534000C0F991E0C927C0FB81F98093D701CC2334
 -:1053500019F080E79DE025C082E69DE02CC0809199
 -:10536000D70182FBCC27C0F991E0C927C0FB82F9A5
 -:105370008093D701CC2319F083E59DE012C083E42C
 -:105380009DE019C08091D70183FBCC27C0F991E043
 -:10539000C927C0FB83F98093D701CC2351F087E361
 -:1053A0009DE00E9455078091D70181608093D701CD
 -:1053B00082C08AE29DE00E945507A0CF8BE19DE06C
 -:1053C0000E9455078FEE9CE00E94550782EB9CE0FF
 -:1053D0000E94550785E89CE00E94550781E49CE007
 -:1053E0000E94550786E19CE0E6CF88E09CE00E94A1
 -:1053F00055070E94B0141F928F938EEE9BE09F93EF
 -:105400008F930E94EE0780910C011F928F9387ED7E
 -:105410009BE09F938F930E94EE0780916E011F92F5
 -:105420008F9384EC9BE09F938F930E94EE07809173
 -:105430000D011F928F9381EB9BE09F938F930E94AE
 -:10544000EE078091D9019091DA01A091DB01B09132
 -:10545000DC01BF93AF939F938F938DE99BE09F9364
 -:105460008F930E94EE078DB79EB746960FB6F894BD
 -:105470009EBF0FBE8DBF42CF0E94751AC0910D0115
 -:1054800081E0C827C0930D01CC2329F083E99BE07C
 -:105490000E94550710C088E89BE08DCF80E003C0D4
 -:1054A0008D5101C089530E94BE2728CF86E89BE01A
 -:1054B0000E945507C0E08C2FCF91089580E0089599
 -:1054C00080E00895CF93C82F8091E701813081F06B
 -:1054D00020F0823009F44CC042C1A0910E01B0917D
 -:1054E0000F018C91813169F0823209F03AC109C013
 -:1054F000A0910E01B0910F018C91813111F0823297
 -:1055000049F48C2F0E945E2A81112FC08C2F0E949B
 -:10551000DC272CC08C2F0E94602A811126C0C43148
 -:10552000E1F070F4CB3081F0C031D1F40E948626D6
 -:1055300088E599E00E94550782E08093E70115C055
 -:10554000C93259F0C83361F485E699E00E945507E5
 -:105550008CE599E00E94550708C01092E70103C14D
 -:1055600086E599E00E945507FEC081E08170FDC08C
 -:10557000C43220F5CE3108F0C0C0CB3099F1C8F468
 -:10558000C73009F0D2C08AE08093150194E190936E
 -:10559000140193E0909313018093120188E08093AB
 -:1055A000110188E2809310018CEF97E00E9455076B
 -:1055B000BFC0C33149F1C431C1F0B7C0CB3409F425
 -:1055C000A9C028F4C93289F0C83361F0AEC0C13532
 -:1055D00009F49EC0C23509F499C0CE3409F0A5C0C3
 -:1055E0006AE09EC00E948626A3C08091E6018823BF
 -:1055F00019F01092E6019CC089E098E00E945507DE
 -:1056000081E08093E701B1C083EE97E00E945507E7
 -:1056100081ED97E00E945507809115011F928F93AD
 -:105620008EEC97E09F938F930E94EE078CEC97E0AF
 -:105630000E9455078AEB97E00E945507809114015C
 -:105640001F928F9387EB97E09F938F930E94EE07B3
 -:1056500085EB97E00E94550786EA97E00E94550780
 -:10566000809113011F928F9383EA97E09F938F930A
 -:105670000E94EE0781EA97E00E94550780E997E0D3
 -:105680000E945507809112011F928F938DE897E039
 -:105690009F938F930E94EE078BE897E00E94550737
 -:1056A00086E797E00E945507809111011F928F9322
 -:1056B00083E797E09F938F930E94EE0781E797E03F
 -:1056C0000E9455078AE597E00E94550780911001D6
 -:1056D0001F928F9387E597E09F938F930E94EE0729
 -:1056E00085E597E00E9455078DB79EB748960FB69F
 -:1056F000F8949EBF0FBE8DBF1BC0CE51EC2FF0E0C3
 -:10570000E15DFE4F80818093E60112C061E003C03D
 -:1057100061E006C06AE08091E6010E949D2608C013
 -:105720008091E6010E94402703C08AEF97E013C0F2
 -:105730008091E601882369F01F928F9384EF97E0B0
 -:105740009F938F930E94EE070F900F900F900F90F2
 -:1057500004C081EF97E00E94550781E006C01092D7
 -:10576000E70180E002C080E001CFCF910895E1E839
 -:10577000F0E08081886080838081816080838FB742
 -:10578000F89493E09093890090ED909388008FBFF8
 -:105790000895EFE6F0E08081826080830895EFE66F
 -:1057A000F0E080818D7F80830895EFE6F0E08081D6
 -:1057B00092E08927808308951F920F920FB60F926F
 -:1057C00011242F933F934F935F936F937F938F9306
 -:1057D0009F93AF93BF93EF93FF938091E8019091D4
 -:1057E000E90101969093E9018093E801811103C0DA
 -:1057F00082E00E94EE0CE091E901E695E695F0E08A
 -:10580000EA53F24FE4918091E8018E1303C080E0E7
 -:105810000E94EE0CFF91EF91BF91AF919F918F91FC
 -:105820007F916F915F914F913F912F910F900FBE9C
 -:105830000F901F90189504D06894B1118DC00895F1
 -:1058400070D088F09F5790F0B92F9927B751A0F0EA
 -:10585000D1F0660F771F881F991F1AF0BA95C9F704
 -:1058600012C0B13081F077D0B1E0089574C0672FD5
 -:10587000782F8827B85F39F0B93FCCF386957795B4
 -:105880006795B395D9F73EF490958095709561959D
 -:105890007F4F8F4F9F4F0895E89409C097FB3EF4C8
 -:1058A00090958095709561957F4F8F4F9F4F99236D
 -:1058B000A9F0F92F96E9BB279395F69587957795EB
 -:1058C0006795B795F111F8CFFAF4BB0F11F460FFAB
 -:1058D0001BC06F5F7F4F8F4F9F4F16C0882311F003
 -:1058E00096E911C0772321F09EE8872F762F05C017
 -:1058F000662371F096E8862F70E060E02AF09A95B2
 -:10590000660F771F881FDAF7880F9695879597F9A6
 -:10591000089557FD9058440F551F59F05F3F71F09F
 -:105920004795880F97FB991F61F09F3F79F0879506
 -:105930000895121613061406551FF2CF4695F1DF8F
 -:1059400008C0161617061806991FF1CF869571051F
 -:10595000610508940895E894BB2766277727CB0153
 -:1059600097F908950BD078C069D028F06ED018F060
 -:10597000952309F05AC05FC01124EECFCADFA0F30F
 -:10598000959FD1F3950F50E0551F629FF001729FD4
 -:10599000BB27F00DB11D639FAA27F00DB11DAA1FF3
 -:1059A000649F6627B00DA11D661F829F2227B00D40
 -:1059B000A11D621F739FB00DA11D621F839FA00DCB
 -:1059C000611D221F749F3327A00D611D231F849F1B
 -:1059D000600D211D822F762F6A2F11249F57504072
 -:1059E0008AF0E1F088234AF0EE0FFF1FBB1F661F0D
 -:1059F000771F881F91505040A9F79E3F510570F0C6
 -:105A000014C0AACF5F3FECF3983EDCF38695779500
 -:105A10006795B795F795E7959F5FC1F7FE2B880FC0
 -:105A2000911D9695879597F9089597F99F6780E856
 -:105A300070E060E008959FEF80EC089500240A94E0
 -:105A40001616170618060906089500240A94121659
 -:105A50001306140605060895092E0394000C11F48C
 -:105A6000882352F0BB0F40F4BF2B11F460FF04C039
 -:105A70006F5F7F4F8F4F9F4F0895991B79E004C050
 -:105A8000991F961708F0961B881F7A95C9F780957D
 -:105A9000089597FB072E16F4009407D077FD09D0E0
 -:105AA0000E94632D07FC05D03EF4909581959F4F91
 -:105AB0000895709561957F4F0895EE0FFF1F059033
 -:105AC000F491E02D0994AA1BBB1B51E107C0AA1F4A
 -:105AD000BB1FA617B70710F0A61BB70B881F991F8F
 -:105AE0005A95A9F780959095BC01CD010895F99933
 -:105AF000FECF92BD81BDF89A992780B50895A8E19F
 -:105B0000B0E042E050E00C949A2D262FF999FECF98
 -:105B10001FBA92BD81BD20BD0FB6F894FA9AF99ACA
 -:105B20000FBE019608950E94852D272F0C94862D77
 -:105B3000DC01CB01FC01F999FECF06C0F2BDE1BD4D
 -:105B4000F89A319600B40D9241505040B8F708953C
 -:045B5000F894FFCFF7
 -:105B54002002EF0CE00DBD0D890D560D0101C501AC
 -:105B640028080A03140A3F4D3620394605F904C3B0
 -:105B740004A3046A04DD03F6030F042804480401A3
 -:0A5B840002030405060708090000EB
 +:1033B0001F910F91FF90EF90DF90CF900C945A1FC8
 +:1033C000263008F09DC0EACFFF20A1F0842F8F7136
 +:1033D00028960FB6F894DEBF0FBECDBFDF91CF9118
 +:1033E0001F910F91FF90EF90DF90CF900C94141FDE
 +:1033F000FF2061F3842F8F7128960FB6F894DEBFFB
 +:103400000FBECDBFDF91CF911F910F91FF90EF9035
 +:10341000DF90CF900C94351FFF2091F0842F8F7197
 +:1034200028960FB6F894DEBF0FBECDBFDF91CF91C7
 +:103430001F910F91FF90EF90DF90CF900C94FF1EA3
 +:1034400028960FB6F894DEBF0FBECDBFDF91CF91A7
 +:103450001F910F91FF90EF90DF90CF900C94F51E8D
 +:10346000FF20A1F0222309F4B1CF862F28960FB6B2
 +:10347000F894DEBF0FBECDBFDF91CF911F910F91AA
 +:10348000FF90EF90DF90CF900C946616222309F402
 +:10349000B1CF862F28960FB6F894DEBF0FBECDBFF2
 +:1034A000DF91CF911F910F91FF90EF90DF90CF9020
 +:1034B0000C942E174F70C8010E94F70728960FB67C
 +:1034C000F894DEBF0FBECDBFDF91CF911F910F915A
 +:1034D000FF90EF90DF90CF900C941A1E4F70C801B0
 +:1034E00028960FB6F894DEBF0FBECDBFDF91CF9107
 +:1034F0001F910F91FF90EF90DF90CF900C94B90B3C
 +:1035000028960FB6F894DEBF0FBECDBFDF91CF91E6
 +:103510001F910F91FF90EF90DF90CF9008950E9440
 +:10352000CC200E94A1200E94E8200E94A6260E9492
 +:10353000782580E090E00E94381580E090E00C94BF
 +:103540004E150E94BC200C948F1A0E94CA1F292F6E
 +:1035500022952F7030E02C3031054CF42A303105A3
 +:103560006CF4225031092230310590F407C02C3020
 +:10357000310551F02F30310539F00AC0803E10F08E
 +:10358000803F31F481E0089593FB882780F9089506
 +:1035900080E00895CF93DF9300D000D01F92CDB785
 +:1035A000DEB70F900F900F900F900F90DF91CF919B
 +:1035B0000895CF93DF9300D000D000D0CDB7DEB711
 +:1035C00026960FB6F894DEBF0FBECDBFDF91CF9128
 +:1035D00008951F93CF93DF93C091840116E08091EB
 +:1035E0008501C81799F0D0E01C9FF0011D9FF00DD8
 +:1035F0001124EA57FE4F4081518162817381848199
 +:1036000095810E94D91A2196C770E9CFDF91CF9199
 +:103610001F9108954091B6015091B7016091B80192
 +:103620007091B9018091BA019091BB010C94D91AA3
 +:10363000CF938091BB0182958F7009F05FC080911C
 +:10364000B801882309F45AC020918401A091850112
 +:103650006091B6017091B7018091B9019091BA0162
 +:1036600031E06F3F09F030E0B32FC6E02A1709F4CC
 +:1036700045C0009721F07F3F21F44B2F03C041E06C
 +:1036800001C040E030E040FD35C0C29FF001C39F63
 +:10369000F00D1124EA57FE4F418174132BC0408175
 +:1036A000641328C04281411125C0438154814817C9
 +:1036B000590710F441505109481B590B483C51051A
 +:1036C000C8F48091BB018F7080618093BB0186E05C
 +:1036D000829FF001839FF00D1124E557FE4F8081FA
 +:1036E0008F708061808386EB91E00E948B17CF9171
 +:1036F0000C94E91A2F5F3F4F2770B8CFCF910895F0
 +:10370000CF92DF92EF92FF920F931F93CF93DF93AD
 +:10371000CDB7DEB762970FB6F894DEBF0FBECDBF50
 +:103720008C0185E0F801DE011D9601900D928A95CD
 +:10373000E1F7D8014C9111965C91119712966C911A
 +:1037400012971396ED90FC9014977091B601E0914A
 +:10375000B7012091B9013091BA012115310531F03D
 +:10376000EF3F31F481E07F3F19F403C081E001C0F5
 +:1037700080E0B82FB170CB2E80FD6CC1D090B80125
 +:10378000DD2009F4F5C0F091BB01E216F30638F034
 +:10379000C701821B930B883C910548F09BC0209584
 +:1037A00030952E0D3F1D283C310508F093C08F2F1A
 +:1037B000807F09F052C0E51314C0741312C0D62ED6
 +:1037C00061110FC0FF70F061F093BB010E940A1BF2
 +:1037D00086EB91E00E948B178091BB01F8018583F5
 +:1037E0006CC1EF2831F05F3F31F481E04F3F19F4B5
 +:1037F00003C081E001C080E080FD03C081E0862736
 +:1038000001C080E0F82FF170FF2E80FF1CC0809176
 +:1038100084012091850136E0821709F428C190E0E7
 +:10382000389FF001399FF00D1124EA57FE4F718146
 +:10383000571306C07081471303C07281671303C01A
 +:1038400001968770E9CFD62E662309F436C18091A0
 +:10385000BB0181608093BB0153C0E51308C07413A2
 +:1038600006C0611104C0D8011596FC93AEC04D8707
 +:103870005E878D859E856A8B0E94A51A6A8988233A
 +:1038800029F1D62E662311F12091BB01822F82955A
 +:103890008F7090E002970CF460C08091B601909117
 +:1038A000B70198878F831986FB86EA862C87CE011D
 +:1038B000079651C0E51731F14D875E878D859E854E
 +:1038C0006A8B0E94A51A6A8981112EC0C8010E94C4
 +:1038D0008B17A4C08F2F807F69F77E2DF98AE88A25
 +:1038E00089890E94CA1A86EB91E00E948B17E6EB49
 +:1038F000F1E086E0DF011D928A95E9F70E940A1B3C
 +:10390000D12CDBC07413D8CF6111D6CFD801159656
 +:10391000FC93C8010E948B17E6EBF1E086E0DF0123
 +:103920001D928A95E9F7C9C0D62E662379F22091B7
 +:10393000BB01822F82958F7090E0029774F0809186
 +:10394000B6019091B7019A8389831B82FD82EC8234
 +:103950002E83CE0101960E948B1786E0F801A6EB1C
 +:10396000B1E001900D928A95E1F70E94181B6FC09B
 +:10397000E216F30628F0C701821B930B9C0104C0DA
 +:10398000209530952E0D3F1D283C310508F052C082
 +:10399000D62E662309F49ACFE5132CC074132AC0DF
 +:1039A0008091BB0180FD1DC0982F92959F70C9F03A
 +:1039B000D80115968C9315979F3039F09F5F92959B
 +:1039C000907F8F70892B15968C93C8010E948B175E
 +:1039D00086E0F801A6EBB1E001900D928A95E1F73F
 +:1039E00036C086E0F801A6EBB1E001900D928A9511
 +:1039F000E1F763C04D875E878D859E850E94A51A7D
 +:103A0000882379F086E0F801A6EBB1E001900D92F1
 +:103A10008A95E1F70E94181B0E940A1BDD24D394AB
 +:103A20004CC08091BB0181608093BB01C8010E94A2
 +:103A30008B1743C07E2DF98AE88A89890E94CA1AA9
 +:103A4000E6EBF1E086E0DF011D928A95E9F70E943E
 +:103A50000A1B33C0662309F439CF4D875E878D85F5
 +:103A60009E850E94A51A882309F430CFCBCF4D87BD
 +:103A70005E878D859E850E94CA1F292F22952F70F3
 +:103A800030E0223031052CF49F7041F0811106C0E6
 +:103A90000CC0243031052CF49F7049F4805E8830CE
 +:103AA00020F0C8010E948B17CF2CDC2C06C0D80157
 +:103AB00015969C91907F91F7F8CF8D2D62960FB659
 +:103AC000F894DEBF0FBECDBFDF91CF911F910F9154
 +:103AD000FF90EF90DF90CF9008951F93CF93DF93E7
 +:103AE000CDB7DEB72C970FB6F894DEBF0FBECDBFB3
 +:103AF0004F83588769877A878B879C87CE01079683
 +:103B00000E94801B8823C1F02F8138858A859B8580
 +:103B1000892B31F03F3F11F080E003C02F3FE1F7E8
 +:103B200081E0811147C04F81588569857A858B85F1
 +:103B30009C850E94D91A3EC086E0FE013796DE01C0
 +:103B4000119601900D928A95E1F7FF81E8854A85EB
 +:103B50005B854115510531F0EF3F31F481E0FF3FC6
 +:103B600019F403C081E001C080E080FD23C02091F2
 +:103B7000850130E0C9010196877099276091840121
 +:103B800070E086179707F1F1F983EA835D834C8330
 +:103B900096E0929FD001939FB00D1124AA57BE4F7B
 +:103BA000FE01319601900D929A95E1F7809385017F
 +:103BB0000E94E91A16E0809184019091850189178D
 +:103BC00079F1189FC00111248A579E4F0E94801BD3
 +:103BD000882331F1E09184011E9FF0011124EA57FE
 +:103BE000FE4F4081518162817381848195810E9461
 +:103BF000D91A8091840190E001968770992780936B
 +:103C00008401D9CF0E94A11A1092850110928401DB
 +:103C1000E6EBF1E086E0DF011D928A95E9F7CACF75
 +:103C20002C960FB6F894DEBF0FBECDBFDF91CF91BB
 +:103C30001F910895EF92FF920F931F93CF93DF93FD
 +:103C40009C01009709F471C0F12CEE24E394E90182
 +:103C50002196F9018491843740F4843008F056C0ED
 +:103C6000813081F0823021F160C0853709F449C08C
 +:103C7000C0F19CE7980F903708F057C08F770E94EB
 +:103C80002E1746C089010E5F1F4FFE01849190E2FE
 +:103C9000980F983050F48770FE2D01C0FF0F8A9561
 +:103CA000EAF78F2F0E94BF2015C00E94661614C02D
 +:103CB00089010E5F1F4FFE01849190E2980F9830AA
 +:103CC00068F48770FE2D01C0FF0F8A95EAF78F2FE9
 +:103CD0000E94C5200E94E820E8011AC00E942E1709
 +:103CE000FBCF2E5F3F4FFE01C491CC2341F08FE903
 +:103CF0009FE00197F1F700C00000C150F6CFE90145
 +:103D000007C0FE01F490E901229602C00E946616E7
 +:103D10008F2D882341F0EFE9FFE03197F1F700C0E4
 +:103D200000008150F6CF9E0192CFDF91CF911F917D
 +:103D30000F91FF90EF90089508956093C0017093E4
 +:103D4000C1018093C2019093C3010C948F1A0F9309
 +:103D50001F930091C0011091C1012091C2013091C7
 +:103D6000C301062B172B282B392B0093C00110936E
 +:103D7000C1012093C2013093C3011F910F910C9494
 +:103D80008F1A0F931F930091C0011091C1012091D0
 +:103D9000C2013091C301062317232823392300933E
 +:103DA000C0011093C1012093C2013093C3011F9140
 +:103DB0000F910C948F1A0F931F930091C0011091D3
 +:103DC000C1012091C2013091C3010627172728277E
 +:103DD00039270093C0011093C1012093C201309391
 +:103DE000C3011F910F910C948F1A1092BC01109275
 +:103DF000BD011092BE011092BF010C948F1A41E0D8
 +:103E000050E060E070E004C0440F551F661F771F4C
 +:103E10008A95D2F74093BC015093BD016093BE01D7
 +:103E20007093BF010C948F1A41E050E060E070E0A5
 +:103E300004C0440F551F661F771F8A95D2F78091E3
 +:103E4000BC019091BD01A091BE01B091BF01842B36
 +:103E5000952BA62BB72B8093BC019093BD01A0930B
 +:103E6000BE01B093BF010C948F1A41E050E060E0B6
 +:103E700070E004C0440F551F661F771F8A95D2F764
 +:103E800040955095609570958091BC019091BD01D1
 +:103E9000A091BE01B091BF0184239523A623B7232F
 +:103EA0008093BC019093BD01A093BE01B093BF016C
 +:103EB0000C948F1A41E050E060E070E004C0440FC1
 +:103EC000551F661F771F8A95D2F78091BC0190918C
 +:103ED000BD01A091BE01B091BF0184279527A627FF
 +:103EE000B7278093BC019093BD01A093BE01B0930E
 +:103EF000BF010C948F1A0F931F930091BC01109176
 +:103F0000BD012091BE013091BF01062B172B282B3C
 +:103F1000392B0093BC011093BD012093BE01309357
 +:103F2000BF011F910F910C948F1A0F931F93009153
 +:103F3000BC011091BD012091BE013091BF0106234B
 +:103F40001723282339230093BC011093BD0120932C
 +:103F5000BE013093BF011F910F910C948F1A0F93E4
 +:103F60001F930091BC011091BD012091BE013091C1
 +:103F7000BF0106271727282739270093BC01109374
 +:103F8000BD012093BE013093BF011F910F910C948E
 +:103F90008F1A0895CF92DF92EF92FF920F931F93A3
 +:103FA000CF93DF93EC01C090C001D090C101E090AD
 +:103FB000C201F090C3018091BC019091BD01A0911C
 +:103FC000BE01B091BF01C82AD92AEA2AFB2A0FE113
 +:103FD00010E0B701A601002E04C0769567955795AD
 +:103FE00047950A94D2F740FF07C0BE01802F0E9478
 +:103FF000DC0B8130910539F40150110950F7BE01F5
 +:1040000080E00E94DC0BDF91CF911F910F91FF9018
 +:10401000EF90DF90CF90089590910C01992361F17A
 +:1040200090910D01992341F1982F9695969596952B
 +:104030009F3088F4E0910E01F0910F01E90FF11D1E
 +:10404000877021E030E001C0220F8A95EAF7818174
 +:10405000822B818308959091D70190FF2DC01F92EC
 +:104060008F9387ED95E09F938F930E94EE070F90BB
 +:104070000F900F900F90089540910E0150910F01F5
 +:1040800020E030E09FEFFA01E20FF31F6281681732
 +:1040900099F09F3F19F4611101C0922F2F5F3F4F9C
 +:1040A0002E30310581F79F3F39F0FA01E90FF11DFC
 +:1040B00097FDFA9582830895089590910C019923B4
 +:1040C00069F190910D01992349F1982F9695969554
 +:1040D00096959F3090F4E0910E01F0910F01E90F59
 +:1040E000F11D877021E030E001C0220F8A95EAF7C8
 +:1040F000209581812823218308959091D70190FFF5
 +:104100001FC01F928F9389EB95E09F938F930E941E
 +:10411000EE070F900F900F900F90089540910E01B1
 +:1041200050910F0120E030E0FA01E20FF31F92817D
 +:10413000981301C012822F5F3F4F2E303105A1F737
 +:10414000089581E090E0E0910E01F0910F01E80FF9
 +:10415000F91F1082019680319105A9F70895909179
 +:10416000D601982B9093D601089580959091D60111
 +:1041700098239093D60108951092D60108959091B6
 +:10418000D501982B9093D501089580959091D501F4
 +:1041900098239093D50108951092D50108958093A6
 +:1041A000C40108951092C401089540910E015091E8
 +:1041B0000F0120E030E080E0FA01E20FF31F91816F
 +:1041C00091118F5F2F5F3F4F2F303105A9F7089571
 +:1041D000E0910E01F0910F018091D6018083E09172
 +:1041E0000E01F0910F0180819091D501892B808380
 +:1041F0009091C401992361F0E0910E01F0910F01BB
 +:104200008081892B80830E94D52081111092C40166
 +:1042100080910E0190910F010C94E81490933B0152
 +:1042200080933A010895CF92DF92EF92FF920F931D
 +:104230001F936C01EE24FF24C114D104E104F104A6
 +:1042400021F46B017C0180E001C080E133272F2D38
 +:104250001E2D0D2D011511052105310519F0885F61
 +:104260006801790197018601A4E036952795179595
 +:104270000795AA95D1F7011511052105310519F00A
 +:104280008C5F6801790197018601F2E036952795E8
 +:1042900017950795FA95D1F70115110521053105F7
 +:1042A00019F08E5F68017901B701A60176956795CF
 +:1042B00057954795452B462B472B09F08F5F1F914C
 +:1042C0000F91FF90EF90DF90CF9008958295982FF7
 +:1042D0009C7C96959695837344E0849F900111246D
 +:1042E000922B892F8A7A86959575990F892B089537
 +:1042F0001F93CF93DF931F92CDB7DEB799830E94B0
 +:104300006621182F9981892F0E946621212F30E084
 +:10431000322F2227A901482BCA010F90DF91CF919C
 +:104320001F9108958091F001843009F11092D80115
 +:1043300020E488E190E00FB6F894A895809360009F
 +:104340000FBE2093600083B7817F846083BF83B7F3
 +:10435000816083BF7894889583B78E7F83BF88E11F
 +:104360000FB6F89480936000109260000FBE08951D
 +:1043700008950895CF930E94B8210E9482090E9457
 +:10438000B921C0E08C2F0E94AD0A811105C0CF5F1A
 +:10439000CE30C1F780E001C081E0CF9108950C9448
 +:1043A000A11A82E084BD93E095BD9AEF97BD8093FA
 +:1043B0006E0008952FB7F8948091D9019091DA0199
 +:1043C000A091DB01B091DC012FBF0895CF92DF9265
 +:1043D000EF92FF920F931F932FB7F8944091D9015A
 +:1043E0005091DA016091DB017091DC012FBF6A010D
 +:1043F0007B01EE24FF248C0120E030E0C016D106C2
 +:10440000E206F30610F441505109481B590BCA014A
 +:104410001F910F91FF90EF90DF90CF9008951F9222
 +:104420000F920FB60F9211248F939F93AF93BF9368
 +:104430008091D9019091DA01A091DB01B091DC016A
 +:104440000196A11DB11D8093D9019093DA01A0932B
 +:10445000DB01B093DC01BF91AF919F918F910F90E1
 +:104460000FBE0F901F9018950E94E311F8942FEF44
 +:1044700087EA91E6215080409040E1F700C00000BB
 +:1044800087E090EBDC018093F9019093FA01A0930F
 +:10449000FB01B093FC012CE088E190E00FB6F894AA
 +:1044A000A895809360000FBE20936000FFCFEF922D
 +:1044B000FF920F931F93CF93DF93E82EF12C8F2D54
 +:1044C0000E94AD0AC0E0D0E0082F10E098010C2E49
 +:1044D00002C0359527950A94E2F720FD05C0219684
 +:1044E000C630D10599F709C06C2F7F2D80E00E945E
 +:1044F000BA0BE812F4CF81E005C0F3948EE0F81215
 +:10450000DECF80E0DF91CF911F910F91FF90EF9070
 +:104510000895CF93C82F8CE20E945722882321F060
 +:104520008C2FCF910C94572280E0CF910895CF9398
 +:104530000E94E423811102C00E94CA238CEF95E0FF
 +:104540000E945507C5E6C15049F00E9482098FE3D9
 +:104550009CE90197F1F700C00000F5CF85EF95E0E9
 +:104560000E94550789E20E948922811111C18AE2C5
 +:104570000E94892281110E94CA2385E00E9489221B
 +:1045800081110E9434220E94EF238093D70187E09B
 +:104590000E948922882399F18BE10E948922882335
 +:1045A00051F09091D70191FB882780F921E0822773
 +:1045B00080FB91F922C08EE00E948922882351F06D
 +:1045C0009091D70192FB882780F921E0822780FB18
 +:1045D00092F913C080E10E9489229091D70188232B
 +:1045E00041F093FB882780F921E0822780FB93F933
 +:1045F00004C0892F809580FB90F99093D70180911A
 +:10460000D7010E94F3230E9401248093EA0180EEE7
 +:104610000E948922882341F08091EA01982F909589
 +:1046200090FB80F98093EA0189E30E948922882324
 +:1046300059F09091EA0191FB882780F921E08227C7
 +:1046400080FB91F99093EA0182EE0E9489228823EF
 +:1046500059F09091EA0192FB882780F921E08227A6
 +:1046600080FB92F99093EA0186EE0E9489228823CA
 +:1046700059F09091EA0193FB882780F921E0822785
 +:1046800080FB93F99093EA0183EE0E9489228823AC
 +:1046900059F09091EA0194FB882780F921E0822764
 +:1046A00080FB94F99093EA0185E30E948922882394
 +:1046B00059F09091EA0195FB882780F921E0822743
 +:1046C00080FB95F99093EA0181E30E948922882377
 +:1046D00059F09091EA0196FB882780F921E0822722
 +:1046E00080FB96F99093EA0181E10E948922882358
 +:1046F00059F09091EA0197FB882780F921E0822701
 +:1047000080FB97F99093EA018091EA010E940524C9
 +:104710008091EA0187FB882780F980930D0187E269
 +:104720000E948922C82F8EE10E9489228111C260D5
 +:104730008FE10E9489228111C46080E20E94892257
 +:104740008111C86081E20E9489228111C06182E2E8
 +:104750000E9489228111C06283E20E948922811114
 +:10476000C06484E20E948922882311F0C06802C0DC
 +:10477000CC2329F08C2F0E94FC236C2F03C00E94B5
 +:10478000F823682F70E080E090E0CF910C949D1E9C
 +:10479000CF9108956DEE7EEF80E090E00E94BF2DF6
 +:1047A00060E082E090E00E94B12D60E083E090E064
 +:1047B0000E94B12D60E084E090E00E94B12D60E0A5
 +:1047C00085E090E00C94B12D80E090E00E94AB2D4C
 +:1047D00021E08D3E9E4F09F020E0822F089582E077
 +:1047E00090E00C94A32D682F82E090E00C94B12D02
 +:1047F00083E090E00C94A32D682F83E090E00C946C
 +:10480000B12D84E090E00C94A32D682F84E090E01B
 +:104810000C94B12D8091DF0180FF0BC060911301DA
 +:1048200085E0689FB001112475956795759567952A
 +:104830002AC081FF09C06091130185E0689FB00123
 +:104840001124759567951FC082FF07C06091130101
 +:1048500085E0689FB001112416C04091E001442317
 +:10486000C9F060911201461788F72091130185E085
 +:10487000289F90011124429FC001439F900D112455
 +:1048800070E00E94752D6038710540F46115710566
 +:1048900039F002C065E070E0862F08958FE7089533
 +:1048A00081E008958091DF0180FF08C060911101CF
 +:1048B00070E0759567957595679521C081FF06C075
 +:1048C0006091110170E07595679519C082FF04C071
 +:1048D0006091110170E010C08091E0018823C1F067
 +:1048E000609110018617A0F790911101989FC00167
 +:1048F000112470E00E94752D6038710528F461154F
 +:10490000710521F0862F08958FE7089581E00895BD
 +:1049100061E070E0F4CF803F21F40E940A24819589
 +:1049200004C0813F29F40E940A248093E301089582
 +:10493000823F21F40E940A24819504C0833F29F418
 +:104940000E940A248093E2010895893F19F40E948D
 +:10495000522405C08A3F31F40E94522481958093ED
 +:10496000E40108958B3F21F40E945224819504C0F4
 +:104970008C3F29F40E9452248093E5010895843FDE
 +:1049800021F48091E101816017C0853F21F480917D
 +:10499000E101826011C0863F21F48091E1018460D1
 +:1049A0000BC0873F21F48091E101886005C0883FFA
 +:1049B00031F48091E10180618093E10108958D3FA0
 +:1049C00021F48091DF0181600BC08E3F21F4809142
 +:1049D000DF01826005C08F3F29F48091DF01846090
 +:1049E0008093DF010895803F39F48091E30187FFD0
 +:1049F0006CC01092E30169C0813F29F48091E3010A
 +:104A00001816BCF362C09091E201823F29F497FF2F
 +:104A10005CC01092E20159C0833F19F41916CCF31F
 +:104A200054C0893F41F48091E40118160CF04DC048
 +:104A30001092E4014AC08A3F29F48091E40187FF83
 +:104A400044C0F6CF8B3F39F48091E50187FF3DC02C
 +:104A50001092E5013AC08C3F29F48091E5011816C7
 +:104A6000BCF333C0843F21F48091E1018E7F17C0F5
 +:104A7000853F21F48091E1018D7F11C0863F21F4B3
 +:104A80008091E1018B7F0BC0873F21F48091E10190
 +:104A9000877F05C0883F31F48091E1018F7E80934C
 +:104AA000E10113C08D3F21F48091DF018E7F0BC0A7
 +:104AB0008E3F21F48091DF018D7F05C08F3F29F467
 +:104AC0008091DF018B7F8093DF018091E201811172
 +:104AD0000EC08091E30181110AC08091E40181112F
 +:104AE00006C08091E501811102C01092E001089595
 +:104AF0008091D70183FF7EC088E396E00E9455072E
 +:104B00008091E1011F928F9383E396E09F938F93AF
 +:104B10000E94EE0781E396E00E9455072091E20192
 +:104B2000822F992787FD90959F932F938EE296E091
 +:104B30009F938F930E94EE078CE296E00E945507A8
 +:104B40002091E301822F992787FD90959F932F93C2
 +:104B500089E296E09F938F930E94EE0787E296E0AA
 +:104B60000E9455072091E401822F992787FD909597
 +:104B70009F932F9384E296E09F938F930E94EE077A
 +:104B800082E296E00E9455072091E501822F992745
 +:104B900087FD90959F932F938FE196E09F938F933E
 +:104BA0000E94EE078CE196E00E9455078091E0019B
 +:104BB0001F928F9389E196E09F938F930E94EE0757
 +:104BC00087E196E00E9455078091DF011F928F9345
 +:104BD00084E196E09F938F930E94EE0781E196E037
 +:104BE0000E9455078DB79EB74C960FB6F8949EBF9E
 +:104BF0000FBE8DBF81EE91E00E942D150E94DA213B
 +:104C00009093DE018093DD0108951F93CF93DF938E
 +:104C10008091DD019091DE010E94E6214091E0014A
 +:104C2000442321F02091140130E006C020911501A9
 +:104C30005AE0259F900111248217930708F482C03F
 +:104C40008091E2011091E301D091E401C091E5016E
 +:104C5000811107C0111105C0D11103C0CC2309F483
 +:104C600071C04F3F19F04F5F4093E001181624F4D4
 +:104C70000E940A248093E2018091E20187FF05C02F
 +:104C80000E940A2481958093E201111624F40E9467
 +:104C90000A248093E3018091E30187FF05C00E940D
 +:104CA0000A2481958093E3016091E201662339F142
 +:104CB0001091E301112319F1772767FD7095872F74
 +:104CC000972F0E947A2C23E333E343E35FE30E94B0
 +:104CD000DE2C0E94472C6093E201612F772767FD4D
 +:104CE0007095872F972F0E947A2C23E333E343E3B9
 +:104CF0005FE30E94DE2C0E94472C6093E3011D16A7
 +:104D000024F40E9452248093E4018091E40187FFFF
 +:104D100005C00E94522481958093E4011C1624F45E
 +:104D20000E9452248093E5018091E50187FF05C030
 +:104D30000E94522481958093E501DF91CF911F91CC
 +:104D40000C947825DF91CF911F910895E1EEF1E069
 +:104D500085E0DF011D928A95E9F71092E00110923B
 +:104D6000DF0108958BE598E00E9455071F9281E0CE
 +:104D70008F931F9285E08F938DE098E09F938F93A0
 +:104D80000E94EE070F900F900F900F900F900F90D2
 +:104D900008958330E9F128F4813061F0823009F11F
 +:104DA0000895853009F462C008F449C0863009F4DA
 +:104DB00074C0089520911501862F90E0820F911DF7
 +:104DC0008F3F910520F4620F6093150103C08FEFB0
 +:104DD00080931501809115011F928F9386E497E0CF
 +:104DE00072C020911401862F90E0820F911D8F3F99
 +:104DF000910520F4620F6093140103C08FEF80933C
 +:104E00001401809114011F928F9384E397E05BC09B
 +:104E100020911301862F90E0820F911D8F3F910505
 +:104E200020F4620F6093130103C08FEF809313018E
 +:104E3000809113011F928F9381E297E044C02091EB
 +:104E40001201862F90E0820F911D8F3F910520F473
 +:104E5000620F6093120103C08FEF80931201809163
 +:104E600012011F928F938CE097E02DC020911101C9
 +:104E7000862F90E0820F911D8F3F910520F4620FE5
 +:104E80006093110103C08FEF809311018091110194
 +:104E90001F928F9383EF96E016C020911001862F0A
 +:104EA00090E0820F911D8F3F910520F4620F609377
 +:104EB000100103C08FEF80931001809110011F92A9
 +:104EC0008F9388ED96E09F938F930E94EE070F904B
 +:104ED0000F900F900F900895833081F128F4813066
 +:104EE00059F08230D1F00895853009F449C0B8F105
 +:104EF000863009F456C0089580911501681720F492
 +:104F0000861B8093150102C0109215018091150136
 +:104F10001F928F9389EC96E054C08091140168171A
 +:104F200020F4861B8093140102C01092140180911A
 +:104F300014011F928F9387EB96E043C08091130179
 +:104F4000681720F4861B8093130102C0109213018E
 +:104F5000809113011F928F9384EA96E032C0809172
 +:104F60001201681720F4861B8093120102C0109270
 +:104F70001201809112011F928F938FE896E021C059
 +:104F800080911101681720F4861B8093110102C0E3
 +:104F900010921101809111011F928F9386E796E084
 +:104FA00010C080911001681720F4861B80931001B7
 +:104FB00002C010921001809110011F928F938BE517
 +:104FC00096E09F938F930E94EE070F900F900F90A3
 +:104FD0000F900895CF93C82F1F928F9320E639E04A
 +:104FE0003F932F930E94EE0761E070E080E090E035
 +:104FF00004C0660F771F881F991FCA95D2F70E94B9
 +:105000009D1E0F900F900F900F90CF910C94A11AAE
 +:10501000CF938D3109F465C0B0F58E3009F4CBC162
 +:1050200000F5873009F49BC1A8F4863009F06AC204
 +:105030008091D701817F8E7F8093D70185E699E0AB
 +:105040000E94550787EA9DE00E94550781E0809302
 +:10505000E70180C1883009F44FC08B3009F47CC16E
 +:1050600051C2863109F4EDC138F4803109F4B6C17A
 +:10507000813109F42DC246C2893109F4CBC18B318B
 +:1050800009F486C13FC2853309F434C248F487323B
 +:1050900009F430C208F430C2893209F42BC232C29A
 +:1050A000833438F48A3308F029C2883309F454C1B0
 +:1050B00029C2833409F41EC2883409F023C20E9435
 +:1050C000A11A86E99DE00E9455079FEF23ED80E33A
 +:1050D000915020408040E1F700C000000E9434223F
 +:1050E00039C186EB9DE00E9455070E94012C0E9469
 +:1050F000DC140E941A0D2EC18BEA9DE00E94550718
 +:1051000086E79BE00E9455070E94F8231F928F9329
 +:1051100083E79BE09F938F930E94EE0781E79BE0DC
 +:105120000E9455070E94EF23C82F8EE59BE00E9446
 +:1051300055071F92CF9329E53BE03F932F930E94A1
 +:10514000EE0787E59BE00E9455078DE49BE00E94F7
 +:1051500055078C2F81701F928F932AE43BE03F9379
 +:105160002F930E94EE0788E49BE00E9455078EE390
 +:105170009BE00E945507C1FB882780F91F928F93FF
 +:105180002BE33BE03F932F930E94EE0789E39BE0E4
 +:105190000E9455078DE29BE00E945507C2FB8827BD
 +:1051A00080F91F928F932AE23BE03F932F930E9456
 +:1051B000EE0788E29BE00E9455078FE19BE00E948A
 +:1051C0005507C3FBCC27C0F91F92CF938CE19BE01E
 +:1051D0009F938F930E94EE078AE19BE00E94550700
 +:1051E0000E940124C82F86E09BE00E9455071F9271
 +:1051F000CF9321E03BE03F932F930E94EE078FEF88
 +:105200009AE00E94550786EE9AE00E9455078C2F7F
 +:1052100081701F928F9323EE3AE03F932F930E9469
 +:10522000EE078DB79EB780960FB6F8949EBF0FBE5F
 +:105230008DBF81EE9AE00E9455078AEC9AE00E94A9
 +:105240005507C1FB882780F91F928F9327EC3AE01E
 +:105250003F932F930E94EE0785EC9AE00E9455073A
 +:1052600083EB9AE00E945507C2FB882780F91F92C2
 +:105270008F9320EB3AE03F932F930E94EE078EEA44
 +:105280009AE00E9455078CE99AE00E945507C3FBFB
 +:10529000882780F91F928F9329E93AE03F932F9353
 +:1052A0000E94EE0787E99AE00E9455078DE89AE090
 +:1052B0000E945507C4FB882780F91F928F932AE824
 +:1052C0003AE03F932F930E94EE0788E89AE00E940D
 +:1052D000550786E79AE00E945507C5FB882780F9A5
 +:1052E0001F928F9323E73AE03F932F930E94EE079C
 +:1052F00081E79AE00E94550785E59AE00E945507EC
 +:10530000C6FB882780F91F928F9322E53AE03F93EE
 +:105310002F930E94EE0780E59AE00E94550788E4EB
 +:105320009AE00E945507C7FBCC27C0F91F92CF9384
 +:1053300085E49AE09F938F930E94EE0783E49AE0BE
 +:105340000E9455078DB79EB74C960FB6F8949EBF36
 +:105350000FBE8DBFC1E0DBC08CE899E058C08091E2
 +:10536000D701C82FC17080FF09C089E89DE00E9465
 +:1053700055078091D701817F8E7F44C08DE79DE0E6
 +:105380000E9455078091D70181608093D701E2CFB9
 +:105390008091D70181FBCC27C0F991E0C927C0FBE0
 +:1053A00081F98093D701CC2319F080E79DE025C0D7
 +:1053B00082E69DE02CC08091D70182FBCC27C0F90A
 +:1053C00091E0C927C0FB82F98093D701CC2319F063
 +:1053D00083E59DE012C083E49DE019C08091D70170
 +:1053E00083FBCC27C0F991E0C927C0FB83F98093E8
 +:1053F000D701CC2351F087E39DE00E9455078091AF
 +:10540000D70181608093D70182C08AE29DE00E942B
 +:105410005507A0CF8BE19DE00E9455078FEE9CE0E1
 +:105420000E94550782EB9CE00E94550785E89CE0AE
 +:105430000E94550781E49CE00E94550786E19CE0AC
 +:10544000E6CF88E09CE00E9455070E94DC141F9282
 +:105450008F938EEE9BE09F938F930E94EE07809137
 +:105460000C011F928F9387ED9BE09F938F930E9477
 +:10547000EE0780916E011F928F9384EC9BE09F93C7
 +:105480008F930E94EE0780910D011F928F9381EB05
 +:105490009BE09F938F930E94EE078091D90190919A
 +:1054A000DA01A091DB01B091DC01BF93AF939F9330
 +:1054B0008F938DE99BE09F938F930E94EE078DB7AA
 +:1054C0009EB746960FB6F8949EBF0FBE8DBF42CFD3
 +:1054D0000E94A11AC0910D0181E0C827C0930D015F
 +:1054E000CC2329F083E99BE00E94550710C088E88F
 +:1054F0009BE08DCF80E003C08D5101C089530E9495
 +:10550000EA2728CF86E89BE00E945507C0E08C2F51
 +:10551000CF91089580E0089580E00895CF93C82F3B
 +:105520008091E701813081F020F0823009F44CC095
 +:1055300042C1A0910E01B0910F018C91813169F0AF
 +:10554000823209F03AC109C0A0910E01B0910F0159
 +:105550008C91813111F0823249F48C2F0E948A2A79
 +:1055600081112FC08C2F0E9408282CC08C2F0E94E4
 +:105570008C2A811126C0C431E1F070F4CB3081F067
 +:10558000C031D1F40E94B22688E599E00E94550707
 +:1055900082E08093E70115C0C93259F0C83361F445
 +:1055A00085E699E00E9455078CE599E00E94550731
 +:1055B00008C01092E70103C186E599E00E945507F3
 +:1055C000FEC081E08170FDC0C43220F5CE3108F00C
 +:1055D000C0C0CB3099F1C8F4C73009F0D2C08AE01E
 +:1055E0008093150194E19093140193E0909313013B
 +:1055F0008093120188E08093110188E2809310016A
 +:105600008CEF97E00E945507BFC0C33149F1C43108
 +:10561000C1F0B7C0CB3409F4A9C028F4C93289F06D
 +:10562000C83361F0AEC0C13509F49EC0C23509F47B
 +:1056300099C0CE3409F0A5C06AE09EC00E94B2268F
 +:10564000A3C08091E601882319F01092E6019CC066
 +:1056500089E098E00E94550781E08093E701B1C09E
 +:1056600083EE97E00E94550781ED97E00E94550771
 +:10567000809115011F928F938EEC97E09F938F93EB
 +:105680000E94EE078CEC97E00E9455078AEB97E0AA
 +:105690000E945507809114011F928F9387EB97E02A
 +:1056A0009F938F930E94EE0785EB97E00E9455072A
 +:1056B00086EA97E00E945507809113011F928F930D
 +:1056C00083EA97E09F938F930E94EE0781EA97E029
 +:1056D0000E94550780E997E00E94550780911201CA
 +:1056E0001F928F938DE897E09F938F930E94EE0710
 +:1056F0008BE897E00E94550786E797E00E945507E0
 +:10570000809111011F928F9383E797E09F938F936E
 +:105710000E94EE0781E797E00E9455078AE597E02F
 +:105720000E945507809110011F928F9387E597E0A3
 +:105730009F938F930E94EE0785E597E00E9455079F
 +:105740008DB79EB748960FB6F8949EBF0FBE8DBF1B
 +:105750001BC0CE51EC2FF0E0E15DFE4F80818093C5
 +:10576000E60112C061E003C061E006C06AE080911A
 +:10577000E6010E94C92608C08091E6010E946C27BC
 +:1057800003C08AEF97E013C08091E601882369F097
 +:105790001F928F9384EF97E09F938F930E94EE0761
 +:1057A0000F900F900F900F9004C081EF97E00E9430
 +:1057B000550781E006C01092E70180E002C080E05A
 +:1057C00001CFCF910895E1E8F0E080818860808387
 +:1057D0008081816080838FB7F89493E090938900F3
 +:1057E00090ED909388008FBF0895EFE6F0E0808100
 +:1057F000826080830895EFE6F0E080818D7F808372
 +:105800000895EFE6F0E0808192E089278083089593
 +:105810001F920F920FB60F9211242F933F934F9325
 +:105820005F936F937F938F939F93AF93BF93EF9308
 +:10583000FF938091E8019091E90101969093E9012D
 +:105840008093E801811103C082E00E941A0DE0916B
 +:10585000E901E695E695F0E0EA53F24FE491809194
 +:10586000E8018E1303C080E00E941A0DFF91EF91B2
 +:10587000BF91AF919F918F917F916F915F914F9168
 +:105880003F912F910F900FBE0F901F90189504D04D
 +:105890006894B1118DC0089570D088F09F5790F032
 +:1058A000B92F9927B751A0F0D1F0660F771F881F45
 +:1058B000991F1AF0BA95C9F712C0B13081F077D0AC
 +:1058C000B1E0089574C0672F782F8827B85F39F04A
 +:1058D000B93FCCF3869577956795B395D9F73EF4A4
 +:1058E00090958095709561957F4F8F4F9F4F08954C
 +:1058F000E89409C097FB3EF490958095709561956A
 +:105900007F4F8F4F9F4F9923A9F0F92F96E9BB271F
 +:105910009395F695879577956795B795F111F8CF9B
 +:10592000FAF4BB0F11F460FF1BC06F5F7F4F8F4F06
 +:105930009F4F16C0882311F096E911C0772321F0FC
 +:105940009EE8872F762F05C0662371F096E8862F94
 +:1059500070E060E02AF09A95660F771F881FDAF7EB
 +:10596000880F9695879597F9089557FD9058440F9D
 +:10597000551F59F05F3F71F04795880F97FB991FAE
 +:1059800061F09F3F79F0879508951216130614066B
 +:10599000551FF2CF4695F1DF08C0161617061806F8
 +:1059A000991FF1CF86957105610508940895E894D3
 +:1059B000BB2766277727CB0197F908950BD078C0CE
 +:1059C00069D028F06ED018F0952309F05AC05FC056
 +:1059D0001124EECFCADFA0F3959FD1F3950F50E0CD
 +:1059E000551F629FF001729FBB27F00DB11D639F91
 +:1059F000AA27F00DB11DAA1F649F6627B00DA11D37
 +:105A0000661F829F2227B00DA11D621F739FB00DDC
 +:105A1000A11D621F839FA00D611D221F749F33274C
 +:105A2000A00D611D231F849F600D211D822F762FE5
 +:105A30006A2F11249F5750408AF0E1F088234AF0E2
 +:105A4000EE0FFF1FBB1F661F771F881F915050402E
 +:105A5000A9F79E3F510570F014C0AACF5F3FECF349
 +:105A6000983EDCF3869577956795B795F795E7951A
 +:105A70009F5FC1F7FE2B880F911D9695879597F92B
 +:105A8000089597F99F6780E870E060E008959FEFC0
 +:105A900080EC089500240A941616170618060906C5
 +:105AA000089500240A941216130614060506089594
 +:105AB000092E0394000C11F4882352F0BB0F40F41C
 +:105AC000BF2B11F460FF04C06F5F7F4F8F4F9F4F5C
 +:105AD0000895991B79E004C0991F961708F0961B4A
 +:105AE000881F7A95C9F78095089597FB072E16F4BD
 +:105AF000009407D077FD09D00E948F2D07FC05D0B8
 +:105B00003EF4909581959F4F0895709561957F4FD4
 +:105B10000895EE0FFF1F0590F491E02D0994AA1B44
 +:105B2000BB1B51E107C0AA1FBB1FA617B70710F088
 +:105B3000A61BB70B881F991F5A95A9F780959095BA
 +:105B4000BC01CD010895F999FECF92BD81BDF89AAF
 +:105B5000992780B50895A8E1B0E042E050E00C94A8
 +:105B6000C62D262FF999FECF1FBA92BD81BD20BD4B
 +:105B70000FB6F894FA9AF99A0FBE019608950E940A
 +:105B8000B12D272F0C94B22DDC01CB01FC01F9992A
 +:105B9000FECF06C0F2BDE1BDF89A319600B40D9279
 +:0C5BA00041505040B8F70895F894FFCF32
 +:105BAC0020021B0D0C0EE90DB50D820D0101C50176
 +:105BBC0028080A03140A3F4D3620394605F904C358
 +:105BCC0004A3046A04DD03F6030F0428044804014B
 +:0A5BDC000203040506070809000093
  :00000001FF
 diff --git a/keyboard/ergodox_ez/keymaps/keymap_default_osx.png b/keyboard/ergodox_ez/keymaps/keymap_default_osx.pngBinary files differ deleted file mode 100644 index f8f6eb9a72..0000000000 --- a/keyboard/ergodox_ez/keymaps/keymap_default_osx.png +++ /dev/null diff --git a/keyboard/ergodox_ez/keymaps/keymap_osx_de.c b/keyboard/ergodox_ez/keymaps/keymap_osx_de.c index 0a0ae75fcb..91f2c33f31 100644 --- a/keyboard/ergodox_ez/keymaps/keymap_osx_de.c +++ b/keyboard/ergodox_ez/keymaps/keymap_osx_de.c @@ -1,6 +1,3 @@ -// Netable differences vs. the default firmware for the ErgoDox EZ: -// 1. The Cmd key is now on the right side, making Cmd+Space easier. -// 2. The media keys work on OSX (But not on Windows).  #include "ergodox_ez.h"  #include "debug.h"  #include "action_layer.h" @@ -18,7 +15,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {  /* Keymap 0: Basic 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   |   Q  |   W  |   E  |   R  |   T  | CMD  |           | CMD  |   Z  |   U  |   I  |   O  |   P  |   รผ    |   * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------| @@ -28,28 +25,28 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {   * `--------+------+------+------+------+-------------'           `-------------+------+------+------+------+--------'   *   |</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 |        |      |   *                                 `--------------------'       `----------------------'   */  // 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_LCTL, +        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(KC_NO), +                                               TG(2),  MEH_T(LSFT(DE_ACUT)),                                                                KC_HOME, -                                               KC_SPC,KC_BSPC,KC_END, +                                               KC_BSPC,KC_DEL,KC_END,          // right hand -             KC_RCTL,     KC_6,   KC_7,   KC_8,   KC_9,   KC_0,             KC_MINS, +             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, @@ -126,7 +123,7 @@ 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_WH_L, KC_WH_U, KC_WH_D, KC_WH_R, KC_BTN3, KC_TRNS,         KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN1, KC_BTN2,                                             KC_TRNS, KC_TRNS,                                                      KC_TRNS, @@ -231,7 +228,7 @@ void * matrix_scan_user(void) {          case 4:  	    ergodox_right_led_1_on();              ergodox_right_led_3_on(); -	    ergodox_board_led_on(); +	    //ergodox_board_led_on();              break;          default:              // none diff --git a/keyboard/ergodox_ez/keymaps/keymap_osx_de.hex b/keyboard/ergodox_ez/keymaps/keymap_osx_de.hex index b77029e69a..43e328b1cf 100644 --- a/keyboard/ergodox_ez/keymaps/keymap_osx_de.hex +++ b/keyboard/ergodox_ez/keymaps/keymap_osx_de.hex @@ -1,23 +1,23 @@  :100000000C94AC070C94F0070C94F0070C94F007D8  :100010000C94F0070C94F0070C94F0070C94F00784 -:100020000C94F0070C94F0070C94E8120C94BA139B +:100020000C94F0070C94F0070C9412130C94E41346  :100030000C94F0070C94F0070C94F0070C94F00764 -:100040000C94F0070C94922C0C94F0070C94F0078D -:100050000C94F0070C948A220C94F0070C94F0078F +:100040000C94F0070C94BC2C0C94F0070C94F00763 +:100050000C94F0070C94B4220C94F0070C94F00765  :100060000C94F0070C94F0070C94F0070C94F00734  :100070000C94F0070C94F0070C94F0070C94F00724  :100080000C94F0070C94F0070C94F0070C94F00714  :100090000C94F0070C94F0070C94F0070C94F00704 -:1000A0000C94F0070C94F0070C94F00727144914F3 -:1000B0003715491437158E14B1143715061519154F -:1000C000601860188F188F18D31811192B1B2B1B51 -:1000D0002A192B1B2B1A2B1AFF1A2B1B2B1B161B37 +:1000A0000C94F0070C94F0070C94F007511473149F +:1000B000611573146115B814DB14611530154315FF +:1000C0008A188A18B918B918FD183B19551B551B01 +:1000D0005419551B551A551A291B551B551B401BE6  :1000E0000000F0A1F0A329002B000354E1003581AA  :1000F00000001E00140004001D7164004D001F006C -:100100001A0016001B00E1042A0020000800070066 -:10011000060050002C0021001500090019004F00B6 -:100120004A00220017000A00050000000254E00007 -:10013000E3000000E20000000077E400E7000000B8 +:100100001A0016001B00E1044C0020000800070044 +:10011000060050002A0021001500090019004F00B8 +:100120004A00220017000A000500000002541908C6 +:10013000E3000000E20000002E770608E700000060  :10014000E60000002E7F23001C000B0011000000C1  :100150000454240018000D00100052004B0025002C  :100160000C000E00360051002C00260012000F007B @@ -34,10 +34,10 @@  :1002100001004200240425041F021E0201004300C5  :1002200031002604310201000100440045000100B4  :100230002D02010000000100010001000100010089 -:1002400000000100010001000100010001000100A7 -:100250000100F2000100010001000100F000F100C6 -:100260000100F400010001000100F3000100F500AD -:100270000100010001000100010000000100010077 +:100240000000010001000100FB00010001000100AD +:100250000100F200F900010001000100F000F100CE +:10026000FA00F400010001000100F300FC00F500B9 +:100270000100010001000100F60000000100010082  :100280000100000001000000010001000100000069  :100290000100000001000100010001000100000058  :1002A0000100010001000100A800A90001000100F7 @@ -57,13 +57,13 @@  :1003800001004F0000000100010001000100010018  :100390000000010001000100010001000100010056  :1003A0000100500001000100010001005200510055 -:1003B0000100F4000100010001004F000100F50000 +:1003B000010001000100010001004F0001000100E7  :1003C0000100010001000100010000000100010026  :1003D0000100000001000000010001000100000018 -:1003E0000100000001003F00520051002402000003 -:1003F00001004000240021001E0001000100410016 +:1003E0000100000001003F00520051002302000004 +:1003F00001004000240021001E00270001004100F0  :10040000250022001F0037000100420026002300C3 -:10041000200027000100430025022E0231002E009B +:1004100020002700010043003002300024022E009B  :1004200001004400450001000100010000000A0035  :100430002530313662003A200025303258000A72E9  :100440002F63203031323334353637383941424327 @@ -219,10 +219,10 @@  :100DA00020424F4F544D41474943204D4F555345E5  :100DB0004B45592045585452414B455920434F4EBD  :100DC000534F4C4520434F4D4D414E44204E4B52C6 -:100DD0004F203531320A004255494C443A203337CE -:100DE00030653930322D6469727479202832333A93 -:100DF00033343A3037204465632032322032303188 -:100E000035290A005649443A203078464545442859 +:100DD0004F203531320A004255494C443A206130A7 +:100DE00038353236352D6469727479202830393AB5 +:100DF00034343A3137204A616E2031332032303179 +:100E000036290A005649443A203078464545442858  :100E10004572676F446F7820455A29205049443AFB  :100E200020307831333037284572676F446F78202F  :100E3000455A29205645523A203078303030310A10 @@ -249,9 +249,9 @@  :100F8000B04BB9F41092F9011092FA011092FB01E2  :100F90001092FC0114BE84B7877F84BF88E10FB62E  :100FA000F89480936000109260000FBEE0E0FFE3D1 -:100FB000099511E0A0E0B1E0E0ECFCE502C005908D +:100FB000099511E0A0E0B1E0E4E1FDE502C0059093  :100FC0000D92AA33B107D9F711E0AAE3B1E001C04D -:100FD0001D92A93FB107E1F70E9420100C945E2EEC +:100FD0001D92A93FB107E1F70E944A100C94882E98  :100FE0000C940000FF93EF93E0913A01F0913B01E4  :100FF000309709F00995EF91FF910895FC018591D3  :10100000803011F0EFDFFBCF0895FF27E0E230E200 @@ -275,1215 +275,1221 @@  :10112000B9F360DFFBCFFF93EF9368DFF1CFDF937D  :10113000CF93CDB7DEB72596A3DFCF91DF9108958A  :1011400061110BC0FC018281882321F085EE0E9491 -:10115000FD1603C085EE0E94C51780E090E008955B +:10115000271703C085EE0E94EF1780E090E0089506  :1011600008956091BC017091BD018091BE01909184 -:10117000BF010E948D2156985E9825982D9826983B +:10117000BF010E94B72156985E9825982D98269811  :101180002E9827982F98823061F018F4813031F032  :101190000895833049F0843051F00895259A2D9AAE  :1011A0000895269A2E9A0895279A2F9A0895259A97 -:1011B0002D9A279A2F9A569A5E9A089581EB98E075 -:1011C000892B11F00C94B108089556985E982598D3 +:1011B0002D9A279A2F9A089581EB98E0892B11F0A8 +:1011C0000E94B10880E090E0089556985E982598B6  :1011D0002D9826982E9827982F988FEF90E090932F  :1011E00089008093880090938B0080938A0090936D -:1011F0008D0080938C00569A5E9A259A2D9A269A95 -:101200002E9A279A2F9A2FE782E490E1215080406E -:101210009040E1F700C0000056985E9825982D9800 -:1012200026982E9827982F98089589EA8093800011 -:1012300089E08093810024982C983F988AB18F741C -:101240008AB96E98479A8BB1806B8BB9769A0E9457 -:10125000E50880EB98E0892B11F00C94B008089514 -:1012600080E28093000180913C0181110EC00E94B8 -:101270007F0981E080933C012FEF83ED90E32150C3 -:1012800080409040E1F700C0000080E40E948509A2 -:101290008093000181112EC00E94AF09809300014C -:1012A000811128C00E94AF0980930001811122C0E2 -:1012B0008FE30E94AF098093000181111BC00E943F -:1012C000A70980E40E94850980930001811112C062 -:1012D0008CE00E94AF098093000181110BC00E9435 -:1012E000AF0980930001811105C08FE30E94AF090F -:1012F000809300010E94A709809100010895109237 -:10130000B9008AE08093B800089594EA9093BC00F5 -:101310009091BC0097FFFCCF9091B900987F9830D6 -:1013200021F0903111F081E008958093BB0084E8B2 -:101330008093BC008091BC0087FFFCCF8091B900F6 -:10134000887F883111F0803471F780E0089584E956 -:101350008093BC008091BC0084FDFCCF08958093F5 -:10136000BB0084E88093BC008091BC0087FFFCCF69 -:101370009091B900987F81E0983209F480E0089557 -:1013800084E88093BC008091BC0087FFFCCF8091F3 -:10139000BB00089580910001811115C080E40E9476 -:1013A00085098093000181110CC082E10E94AF0980 -:1013B00080930001811105C08FEF0E94AF098093D7 -:1013C00000010E94A70984B1807F84B985B1807F24 -:1013D00085B98AB1837F8AB98BB1837F8BB93E98F7 -:1013E000469808950E943009809300010E94CA091E -:1013F00080B38C7080BB81B3836F81BBAEE3B1E0FF -:10140000ECE4F1E08EE08E0F11921D928E13FCCF72 -:1014100085E199E0892B11F00C94150908959F92AC -:10142000AF92BF92CF92DF92EF92FF920F931F93F2 -:10143000CF93DF93809100018823E1F080913D01FB -:101440008F5F80933D01811115C084E994E00E9473 -:10145000FE070E94300980930001882329F08AE763 -:1014600094E00E94FE0706C086E694E00E94FE0714 -:101470000E94E5080EE311E0C0E0D0E0BB24B39485 -:1014800082E0A82ECC24C394D12C27E5E22E24E0C0 -:10149000F22EC730D10500F580910001811164C0A2 -:1014A00080E40E94850980930001811112C082E1CD -:1014B0000E94AF098093000181110BC0C6010C2E60 -:1014C00001C0880F0A94EAF780950E94AF098093C3 -:1014D00000010E94A70948C0CA30A1F028F4C83012 -:1014E00059F0C93061F005C0CC3089F070F0CD30D2 -:1014F00089F0209A289810C0219A29980DC0229A24 -:101500002A980AC0239A2B9807C0529A01C0539A6E -:101510005B9802C03E9A469890EA9A95F1F79FB17F -:10152000799902C082E001C080E091709B25982BE0 -:101530007C9902C084E001C080E0892B7D9902C0C3 -:1015400038E001C030E0832B7E9902C020E101C069 -:1015500020E0822B9FB19095991F9927991F929512 -:10156000990F907E892B10C080910001811174C069 -:1015700080E40E94850980930001882309F459C002 -:10158000912C0E94A709892DF8019081981739F1B3 -:10159000808380910101882301F18091D70180FF30 -:1015A00004C08CE594E00E94FE078091D70180FF83 -:1015B0000CC0809101011F928F93FF92EF920E94C5 -:1015C00097080F900F900F900F908091D70180FF98 -:1015D00004C085E594E00E94FE07A09201010E94EC -:1015E000CA0921960F5F1F4FCE30D10509F051CFA8 -:1015F000809101018823B1F08150809301018823FB -:1016000039F08FE99FE00197F1F700C000000AC0B0 -:10161000ACE4B1E0EEE3F1E0CF01825F91919D9304 -:101620008E13FCCF8EED98E0892BC1F00E94DE086E -:1016300015C083E10E94AF09809300018111A0CF02 -:1016400081E40E94850980930001811199CF0E9455 -:10165000C009982E909495CF80E096CF81E0DF91DD -:10166000CF911F910F91FF90EF90DF90CF90BF909F -:10167000AF909F900895E82FF0E0E45BFE4F8081EB -:101680000895CF92DF92EF92FF920F931F93CF9323 -:10169000DF938EE394E00E94FE078CE4E82E81E065 -:1016A000F82EC0E0D0E099E3C92E94E0D92E00E3F3 -:1016B00014E0DF93CF93DF92CF920E94970886E3E6 -:1016C00094E00E94FE07F70181917F0190E00E9463 -:1016D000F3219F938F931F930F930E9497088EE29D -:1016E00094E00E94FE0721968DB79EB708960FB62C -:1016F000F8949EBF0FBE8DBFCE30D105D1F6DF91DD -:10170000CF911F910F91FF90EF90DF90CF900895B0 -:101710008B3B910578F4883A910540F5853A91051F -:10172000D0F48430910508F0B1C08130910509F4FE -:10173000ADC06BC0803E910508F467C0883E91053E -:1017400008F4A4C09C01205F31092031310508F064 -:101750005CC090650895853A910509F459C0863AB0 -:10176000910509F058C082E890E40895883A9105FF -:1017700009F454C0893A910509F453C08A3A910595 -:1017800009F452C08B3A910509F451C08C3A910585 -:1017900009F450C08D3A910509F44FC0803B910582 -:1017A00009F44EC08E3A910509F44DC08F3A910567 -:1017B00009F44CC0813B910509F44BC0823B910573 -:1017C00009F44AC0833B910509F449C0843B910563 -:1017D00009F448C0853B910509F447C0863B910553 -:1017E00009F446C0873B910509F445C0883B910543 -:1017F00009F444C0893B910509F443C08A3B910533 -:1018000009F442C080E094E4089580E090E00895F7 -:1018100081E890E4089583E890E4089582EE94E4EA -:10182000089589EE94E408958AEE94E4089585EB92 -:1018300094E4089586EB94E4089587EB94E4089586 -:101840008CEC94E408958DEC94E4089583E895E499 -:1018500008958AE895E4089582E995E4089584E975 -:1018600095E4089581E296E4089583E296E408956C -:1018700084E296E4089585E296E4089586E296E48B -:10188000089587E296E408958AE296E4089508951B -:1018900096E0799FF001112494E5899FE00DF11DF8 -:1018A0001124E60FF11DEE0FFF1FEA51FF4F859146 -:1018B00094910895880F991FFC01E05AF04085919A -:1018C00094910895880F991FFC01E052FF4F859174 -:1018D0009491089526E0729FF001112444E5849FBD -:1018E000E00DF11D1124E60FF11DEE0FFF1FEA516F -:1018F000FF4F859194919C013A9521154FE1340752 -:1019000008F41EC13F512115304120F49F700E9400 -:10191000620C08959C0130532115304118F4992729 -:10192000906C0895811520E5920769F40E944D1B83 -:101930004FEF84E39CE0415080409040E1F700C0CD -:1019400000000C94AF22813020E5920751F48EEA1A -:1019500094E00E94FE078091D70181608093D701B7 -:1019600008959C0130552115304108F051C0292FB0 -:1019700033272F70332721303105D9F4AC01437060 -:10198000552702C0220F331F4A95E2F73C68AC018D -:1019900064E0440F551F6A95E1F744275370242BE8 -:1019A000352B73E0880F991F7A95E1F78076992798 -:1019B0001DC02230310529F4982F8827816F906A45 -:1019C000089523303105A9F4AC014370552721E077 -:1019D00030E002C0220F331F4A95E2F73C6843E033 -:1019E000880F991F4A95E1F7807E9770822B932B81 -:1019F000089524303105E1F4AC014370552721E00E -:101A000030E002C0220F331F4A95E2F73A68E7CF71 -:101A10009C0130572115304118F49F709062089551 -:101A20009C0130582115304118F49F70906A089538 -:101A3000803E9105E0F4803C910558F58133910595 -:101A400009F46FC048F48932910509F463C08A3201 -:101A5000910509F46DC072C089339105E9F08238AF -:101A60009105D1F08533910509F44DC067C0833EDF -:101A7000910581F138F4803E9105B9F0823E9105DF -:101A8000D9F05CC0863E910561F1873E9105A1F1D8 -:101A900055C00E945A0C08952091EA0120FD02C011 -:101AA00021FF4CC080EE90E049C08091EA0180FFA8 -:101AB000F9CF89E390E042C08091EA0182FF0EC035 -:101AC0008091EA0184FF03C080E090E037C083EE9C -:101AD00090E034C08091EA0182FFF2CF82EE90E084 -:101AE0002DC08091EA0183FF0BC08091EA0184FD43 -:101AF000EBCF87EE90E022C08091EA0183FFF5CF23 -:101B000086EE90E01BC08091EA0185FF07C089E264 -:101B100090E014C08091EA0185FFF9CF85E390E061 -:101B20000DC08091EA0186FF07C08AE290E006C0FE -:101B30008091EA0186FFF9CF81E390E00E94880B53 -:101B40000895089580916D0108959FB7F8941092BB -:101B50005C019FBF9091F001943009F057C09091C3 -:101B6000E9009F703091EC00232F217030FD20E8B8 -:101B7000922B24E02093E9002091EB0020FF43C04A -:101B80002091EE0027FF3FC020915A01222321F02F -:101B90002091E80025FF37C010925A0126E03091CD -:101BA000E80035FD15C03091F001343061F5309119 -:101BB000EB0035FD28C0215021F481E080935A01CB -:101BC00022C0EFE9FFE03197F1F700C00000E7CF56 -:101BD0008093F1008091E80085FD0AC08091E800C3 -:101BE00080FFFCCF8091E8008E778093E80006C0EC -:101BF0008FB7F89421E020935C018FBF9F70909382 -:101C0000E90080E008959F709093E9008FEF0895B8 -:101C1000CF93DF9300D01F92CDB7DEB79C018091A8 -:101C2000F001843019F593E099833B832A839093E4 -:101C3000E9008FEF9091E800815095FD06C095ED89 -:101C40009A95F1F700008111F5CF8091E80085FFAA -:101C50000DC040E050E063E070E0CE0101960E94CC -:101C6000D8108091E8008E778093E8000F900F9055 -:101C70000F90DF91CF910895CF93DF9300D01F9203 -:101C8000CDB7DEB72091F001243021F522E0298381 -:101C90009B838A8383E08093E9008FEF9091E80033 -:101CA000815095FD06C095ED9A95F1F700008111E0 -:101CB000F5CF8091E80085FF0DC040E050E063E083 -:101CC00070E0CE0101960E94D8108091E8008E77D6 -:101CD0008093E8000F900F900F90DF91CF910895BF -:101CE0002091F0012430F1F422E02093E9002FEF5D -:101CF0003091E800215035FD06C035ED3A95F1F7F9 -:101D000000002111F5CF2091E80025FF0BC040E035 -:101D100050E065E070E00E94D8108091E8008E7776 -:101D20008093E8000895CF93DF932091F001243051 -:101D300009F048C0EC0180910C018823E1F080910A -:101D40000D018823C1F085E08093E9008FEF909129 -:101D5000E800815095FD06C095E19A95F1F70000E5 -:101D60008111F5CF8091E80085FF2CC040E050E064 -:101D700060E170E017C081E08093E9008FEF9091FF -:101D8000E800815095FD06C095ED9A95F1F70000A9 -:101D90008111F5CF8091E80085FF14C040E050E04C -:101DA00068E070E0CE010E94D8108091E8008E7744 -:101DB0008093E80080E1FE01ADE5B1E001900D9275 -:101DC0008A95E1F7DF91CF91089585EE94E00E9426 -:101DD000FE078091EF01811109C00E946D120E94DF -:101DE000CA128091E20084608093E200089581EE3F -:101DF00094E00E94FE071092EF0108958DED94E0AB -:101E00000C94FE0789ED94E00E94FE070C947F2C51 -:101E100085ED94E00E94FE070E9449220E94852CD5 -:101E20000E946F150C94A10D20915B012F5F822FF2 -:101E300062E30E94F32D992319F020935B0108952A -:101E400010925B0180915C01882371F18091F00117 -:101E5000843041F58091E9008F702091EC00922F41 -:101E6000917020FD90E8892B94E09093E900909187 -:101E7000EB0090FF14C09091EE0097FF10C090917E -:101E8000E80095FF03C01092F100F9CF9091E800AF -:101E900090FF05C09091E8009E779093E8008F70C6 -:101EA0008093E90010925C01089542E061EC81E0CA -:101EB0000E94E71142E061EC82E00E94E71142E0FB -:101EC00061EC83E00E94E71142E261EC84E00E9451 -:101ED000E71142E161EC85E00C94E7118091F20199 -:101EE000833009F455C030F4813071F0823009F448 -:101EF0008EC008958A3009F47AC08B3009F460C02E -:101F0000893009F09CC020C08091F101813A09F02C -:101F100096C08091E800877F8093E8008091F5016A -:101F20009091F601892B21F460E18DE591E003C0E9 -:101F300060E080E090E070E00E9423118091E80072 -:101F40008B778093E80008958091F101813209F048 -:101F500076C08091F5019091F601009719F00497F1 -:101F600009F06DC08091E800877F8093E800809140 -:101F7000E80082FD05C08091F0018111F8CF5FC0BB -:101F80008091F10080936D018091E8008B7753C0C0 -:101F90008091F101813A09F052C08091F501909150 -:101FA000F601892B09F04BC08091E800877F809370 -:101FB000E8008091E80080FFFCCF80910C0136C0E2 -:101FC0008091F1018132D9F58091F5019091F6016E -:101FD000892BA9F58091E800877F8093E8000E9413 -:101FE0001C128091F30180930C010C944D1B809185 -:101FF000F101813221F58091E800877F8093E8002C -:102000000E941C128091F40180936E0108958091CA -:10201000F101813AA1F48091E800877F8093E80084 -:102020008091E80080FFFCCF80916E018093F100E9 -:102030008091E8008E778093E8000C941C1208953C -:1020400084B7877F84BF88E10FB6F89480936000DF -:10205000109260000FBE90E080E80FB6F894809375 -:102060006100909361000FBE0E94FC150E946D12EA -:102070000E94CA128091E20084608093E20085EAA7 -:102080009DE00E94882178940E944F150E94FE15C1 -:1020900082E091E00E946A150E946D2C84EC94E02D -:1020A0000E94FE078091F001853089F480EC94E075 -:1020B0000E94FE070E940D228091EE01882391F379 -:1020C0000E943522882371F30E94C210EBCF0E9438 -:1020D0002C16E8CF292F332723303105C9F064F4BB -:1020E0002130310581F02230310509F043C08DE8FF -:1020F00090E02DE135E042C021323105F1F022328D -:10210000310541F137C082E190E02AEA35E036C07E -:1021100099278130910541F08230910541F0892B5A -:1021200049F5E9E1F5E005C0E1E0F5E002C0E9EEDE -:10213000F4E0849190E09F0121C06530D8F4E62F4F -:10214000F0E0EE0FFF1FEB5DFE4F2081318189E053 -:1021500090E014C0653070F470E0FB01EE0FFF1FDB -:10216000E55EFE4F20813181FB01EA5EFE4F8081FA -:1021700090E004C080E090E020E030E0FA0131839C -:102180002083089580E189BD82E189BD09B400FE04 -:10219000FDCF8091D8008F7D8093D8008091E000A2 -:1021A00082608093E0008091E00081FDFCCF089583 -:1021B000CF92DF92EF92FF920F931F93CF93DF9313 -:1021C000EC018B016A010E943B12811133C0C114E2 -:1021D000D10439F0F60180819181081B190BC80FD9 -:1021E000D91FE12CF12C0115110519F18091E8009E -:1021F00085FD16C08091E8008E778093E800C114B9 -:10220000D10449F0F60180819181E80EF91EF18236 -:10221000E08285E00FC00E943B12882321F30AC0B0 -:1022200089918093F10001501109FFEFEF1AFF0A25 -:10223000DACF80E0DF91CF911F910F91FF90EF9067 -:10224000DF90CF9008952091F7013091F801261783 -:10225000370748F06115710539F42091E8002E77B1 -:102260002093E80001C0B90140E061157105A9F1B2 -:102270002091F001222309F443C0253009F442C023 -:102280002091E80023FD40C02091E80022FD32C0EB -:102290002091E80020FFE9CF4091F3002091F20067 -:1022A00030E0342BFC01CF016115710559F0283065 -:1022B000310540F481918093F100615071092F5FE5 -:1022C0003F4FF1CF41E02830310509F040E0209147 -:1022D000E8002E772093E800C8CF4111C9CF0AC08B -:1022E0008091F001882361F0853061F08091E800F1 -:1022F00083FD0AC08091E80082FFF2CF80E008955C -:1023000082E0089583E0089581E008952091F70127 -:102310003091F8012617370748F06115710539F437 -:102320002091E8002E772093E80001C0B901FC015C -:1023300020E06115710591F18091F001882309F485 -:1023400040C0853009F43FC08091E80083FD3DC066 -:102350008091E80082FD2FC08091E80080FFE9CFE6 -:102360002091F3008091F20090E0922B61157105AD -:1023700059F08830910540F424912093F100319672 -:10238000615071090196F2CF21E0089709F020E031 -:102390008091E8008E778093E800CBCF2111CCCFDD -:1023A0000AC08091F001882361F0853061F080914E -:1023B000E80083FD0AC08091E80082FFF2CF80E050 -:1023C000089582E0089583E0089581E00895982FAC -:1023D000973058F59093E900981739F07091EC0018 -:1023E0002091ED005091F00003C0242F762F50E093 -:1023F00021FF19C03091EB003E7F3093EB0030910C -:10240000ED003D7F3093ED003091EB003160309373 -:10241000EB007093EC002093ED005093F0002091BE -:10242000EE0027FF07C09F5FD3CF8F708093E90036 -:1024300081E0089580E008958091F10187FF11C047 -:102440008091E80082FD05C08091F0018111F8CFF4 -:1024500011C08091E8008B770BC08091F001882338 -:1024600049F08091E80080FFF8CF8091E8008E77F6 -:102470008093E80008952091E4003091E50095E60E -:102480004091EC00842F817040FF22C08091E800D1 -:1024900080FD1CC08091F001882391F0853091F07F -:1024A0008091EB0085FD10C04091E4005091E50063 -:1024B0004217530729F39A01915011F784E00895C8 -:1024C00082E0089583E0089581E0089580E0089512 -:1024D0004091E80042FFDECF08950E94DB120E9487 -:1024E000E312E0EEF0E0808181608083E8EDF0E0CF -:1024F00080818F77808319BCA7EDB0E08C918E7FAF -:102500008C9380818F7E80831092EF0108950F93CA -:102510001F93CF93DF930E94DB120E94E312C8ED5A -:10252000D0E088818F7788838881806888838881DC -:102530008F7D888319BC1092F0011092EC011092EB -:10254000EE011092ED0100EE10E0F80180818B7F2A -:10255000808388818160888342E060E080E00E941F -:10256000E711E1EEF0E080818E7F8083E2EEF0E023 -:10257000808181608083808188608083F801808190 -:102580008E7F8083888180618883DF91CF911F91C6 -:102590000F910895E8EDF0E080818F7E8083E7ED74 -:1025A000F0E080818160808384E082BF81E080935D -:1025B000EF010C948712E8EDF0E080818E7F80833C -:1025C0001092E20008951092DA001092E10008954E -:1025D0001F920F920FB60F9211242F933F934F9398 -:1025E0005F936F937F938F939F93AF93BF93EF937B -:1025F000FF938091E10082FF0BC08091E20082FF97 -:1026000007C08091E1008B7F8093E1000E94140F4E -:102610008091DA0080FF1FC08091D80080FF1BC02E -:102620008091DA008E7F8093DA008091D90080FF5C -:102630000DC080E189BD82E189BD09B400FEFDCFF6 -:1026400081E08093F0010E94E50E05C019BC109254 -:10265000F0010E94F70E8091E10080FF19C0809187 -:10266000E20080FF15C08091E2008E7F8093E2003F -:102670008091E20080618093E2008091D8008062C6 -:102680008093D80019BC85E08093F0010E94020F6E -:102690008091E10084FF30C08091E20084FF2CC073 -:1026A00080E189BD82E189BD09B400FEFDCF809142 -:1026B000D8008F7D8093D8008091E1008F7E809339 -:1026C000E1008091E2008F7E8093E2008091E20041 -:1026D00081608093E2008091EC01882311F084E016 -:1026E00007C08091E30087FD02C081E001C083E064 -:1026F0008093F0010E94080F8091E10083FF29C0C0 -:102700008091E20083FF25C08091E100877F809364 -:10271000E10082E08093F0011092EC018091E100F1 -:102720008E7F8093E1008091E2008E7F8093E200B3 -:102730008091E20080618093E20042E060E080E00E -:102740000E94E7118091F00088608093F0000E9461 -:10275000FE0EFF91EF91BF91AF919F918F917F916D -:102760006F915F914F913F912F910F900FBE0F90FE -:102770001F9018951F920F920FB60F9211242F934E -:102780003F934F935F936F937F938F939F93AF93F9 -:10279000BF93CF93DF93EF93FF93C091E900CF7086 -:1027A0008091EC00D82FD17080FDD0E81092E90024 -:1027B0008091F000877F8093F00078940E94FE1350 -:1027C0001092E9008091F00088608093F000CD2B9A -:1027D000CF70C093E900FF91EF91DF91CF91BF914E -:1027E000AF919F918F917F916F915F914F913F91A9 -:1027F0002F910F900FBE0F901F9018951F93CF939E -:10280000DF93CDB7DEB7AA970FB6F894DEBF0FBE41 -:10281000CDBFE1EFF1E088E08E0F9091F100919350 -:102820008E13FBCF0E946E0F8091E80083FF1FC1C3 -:102830008091F1019091F201492F50E04A30510509 -:1028400008F015C1FA01EA5AFF4F0C94132E803894 -:1028500081F0823809F00BC18091F5018F7080936F -:10286000E9008091EB0085FB882780F91092E90050 -:1028700006C08091ED019091EE01911182609091DE -:10288000E800977F9093E8008093F1001092F100A8 -:10289000C8C0282F2D7F09F0EAC0882319F08230A4 -:1028A00061F0E5C08091F301813009F0E0C0933020 -:1028B00009F080E08093EE012BC08091F30181113B -:1028C00027C08091F5018F7009F4D1C08093E90091 -:1028D0002091EB0020FF1CC0933021F48091EB008D -:1028E000806214C09091EB0090619093EB0021E026 -:1028F00030E0A90102C0440F551F8A95E2F74093CA -:10290000EA001092EA008091EB0088608093EB006F -:102910001092E9008091E800877F86C08111A7C0EE -:102920001091F3011F778091E3008078812B8093D1 -:10293000E3008091E800877F8093E8000E941C12EA -:102940008091E80080FFFCCF8091E3008068809355 -:10295000E300111102C082E001C083E08093F00126 -:1029600086C08058823008F082C08091F301909137 -:10297000F4018C3D53E0950779F583E08A838AE280 -:1029800089834FB7F894DE01139620E03EE051E2D0 -:10299000E32FF0E050935700E49120FF03C0E2954D -:1029A000EF703F5FEF708E2F90E0EA3010F0C79627 -:1029B00001C0C0968D939D932F5F243149F74FBF7F -:1029C0008091E800877F8093E8006AE270E0CE01A2 -:1029D00001960E94231114C0AE014F5F5F4F6091BA -:1029E000F5010E946A10BC01892B09F440C0909146 -:1029F000E800977F9093E80089819A810E94861170 -:102A00008091E8008B778093E80031C0803879F5B9 -:102A10008091E800877F8093E8008091EC018093AB -:102A2000F1008091E8008E778093E8000E941C12EC -:102A30001EC081111CC09091F3019230C0F48091AE -:102A4000E800877F8093E8009093EC010E941C12BD -:102A50008091EC01811106C08091E30087FD02C0E6 -:102A600081E001C084E08093F0010E94550F8091C5 -:102A7000E80083FF0AC08091E800877F8093E80028 -:102A80008091EB0080628093EB00AA960FB6F894D9 -:102A9000DEBF0FBECDBFDF91CF911F910895CF93C1 -:102AA0008091F0018823A1F0C091E900CF7090914E -:102AB000EC00892F817090FD80E8C82B1092E9000E -:102AC0008091E80083FD0E94FE13CF70C093E9005F -:102AD000CF91089590937401809373010895E091CC -:102AE0007301F0917401309721F00190F081E02D95 -:102AF000099480E00895EF92FF920F931F93CF9374 -:102B0000DF93E0917301F09174013097B1F18C0182 -:102B10000280F381E02D09958091D70182FF2DC0BD -:102B200080FF04C08FED96E00E94FE07E80110E1EF -:102B300089EDE82E86E0F82E8091D70180FF0BC04A -:102B400088811F928F93FF92EF920E9497080F90B7 -:102B50000F900F900F90115021961111EDCF809191 -:102B6000D70180FF0AC087ED96E0DF91CF911F91DA -:102B70000F91FF90EF900C94FE07DF91CF911F9182 -:102B80000F91FF90EF900895E0917301F09174011F -:102B9000309721F00480F581E02D0994089520916B -:102BA0007101309172018217930771F09093720155 -:102BB00080937101E0917301F0917401309721F0DD -:102BC0000680F781E02D0994089520916F013091DE -:102BD00070018217930771F09093700180936F01D9 -:102BE000E0917301F0917401309721F00084F18538 -:102BF000E02D0994089508950C94FB150E944B2232 -:102C00000E94F2090C941123CF93C82F8091D70111 -:102C100082FF1EC080FF04C088EF96E00E94FE077E -:102C20008091D70180FF0CC01F92CF9383EF96E075 -:102C30009F938F930E9497080F900F900F900F9083 -:102C40008091D70180FF04C081EF96E00E94FE07CB -:102C50008C2FCF910C94A10DCF92DF92EF92FF9227 -:102C60000F931F93CF93DF93CDB7DEB72B970FB69C -:102C7000F894DEBF0FBECDBF0E940F0A86E7C82EB4 -:102C800081E0D82E00E010E0E02E802F0E943B0B68 -:102C9000F60141916F01F42EF826B1F40F5F1F4F3A -:102CA0000E30110589F78FEF89838A831B820E947A -:102CB00054228160782F9D838C8349815A816B8156 -:102CC0008D810E94CF1640C09091D70191FF04C022 -:102CD0008B870E94410B8B8520E030E04F2D50E028 -:102CE000922FBA01022E02C0759567950A94E2F7F9 -:102CF00060FF24C02E83EF8221E030E0690102C032 -:102D0000CC0CDD1C9A95E2F790E08C219D21892B5B -:102D100009F420E028870E9454228160782F9A8746 -:102D200089874E815F8168858A850E94CF16F80168 -:102D3000EA58FE4F8081C826C08206C02F5F3F4FF1 -:102D40002630310569F6AACF0E94822610917501BE -:102D50000E946F151817A1F00E946F1580937501DE -:102D60002B960FB6F894DEBF0FBECDBFDF91CF918B -:102D70001F910F91FF90EF90DF90CF900C9404166D -:102D80002B960FB6F894DEBF0FBECDBFDF91CF916B -:102D90001F910F91FF90EF90DF90CF900895CF9308 -:102DA000DF93CDB7DEB72B970FB6F894DEBF0FBE1B -:102DB000CDBF4F83588769877A878B87DE0111964D -:102DC00086E0FD0111928A95E9F785E0FE013796CC -:102DD00001900D928A95E1F749815A816B817C813E -:102DE0008D819E810E94E71D2B960FB6F894DEBF61 -:102DF0000FBECDBFDF91CF910895CF93882309F403 -:102E0000C2C0C82F823859F40E946F1581FDBBC023 -:102E100089E30E9483200E94622189E30CC08338E9 -:102E200079F40E946F1580FDAEC083E50E94832077 -:102E30000E94622183E50E94D620CF910C946221EA -:102E4000843859F40E946F1582FD9DC087E40E946A -:102E500083200E94622187E4EECF8CEF8C0F813AB1 -:102E600048F48C2F0E94152B81118DC08C2F0E944D -:102E70008320E3CF80E28C0F883048F4C77081E074 -:102E800001C0880FCA95EAF70E942B21D6CF8BE5A7 -:102E90008C0F833078F4C53A29F0C63A31F083E8D4 -:102EA00090E005C081E890E002C082E890E0CF9118 -:102EB0000C94CF1588E58C0F833108F064C0C83AB4 -:102EC00039F1C93A41F1CA3A49F1CB3A51F1CC3A18 -:102ED00059F1CD3A61F1C03B69F1CE3A71F1CF3A87 -:102EE00079F1C13B81F1C23B89F1C33B91F1C43B14 -:102EF00099F1C53BA1F1C63BA9F1C73BB1F1C83B74 -:102F0000B9F1C93BC1F1CA3BC9F180E090E038C0DA -:102F100082EE90E035C089EE90E032C08AEE90E01B -:102F20002FC085EB90E02CC086EB90E029C087EBAA -:102F300090E026C08CEC90E023C08DEC90E020C0A7 -:102F400083E891E01DC08AE891E01AC082E991E02F -:102F500017C084E991E014C081E292E011C083E2DD -:102F600092E00EC084E292E00BC085E292E008C0DD -:102F700086E292E005C087E292E002C08AE292E037 -:102F8000CF910C94E515CF910895882309F44BC097 -:102F9000823859F40E946F1581FF45C089E30E9471 -:102FA00083200E94622189E30CC0833871F40E945F -:102FB0006F1580FF38C083E50E9483200E94622144 -:102FC00083E50E94D6200C946221843859F40E9433 -:102FD0006F1582FF28C087E40E9483200E9462212F -:102FE00087E4EFCF9CEF980F913A58F390E2980F57 -:102FF000983050F4877091E001C0990F8A95EAF7F4 -:10300000892F0E943121DFCF9BE5980F933020F468 -:1030100080E090E00C94CF15885A833120F480E052 -:1030200090E00C94E5150895882321F00E942B214F -:103030000C9462210895882321F00E9431210C9480 -:1030400062210895BF92CF92DF92EF92FF920F9389 -:103050001F93CF93DF9300D000D000D0CDB7DEB761 -:1030600025E0FC01DE01119601900D922A95E1F711 -:10307000FC01408131810281258122952F7063817D -:103080007481672B09F4E7C23F3F19F44F3F09F4FD -:10309000E2C27C0149833A8389819A812E830E940E -:1030A0004220182FB92E0E9441200E94081FEB2DAC -:1030B000E295EF70F0E0E05AFF4F2E810C94132E52 -:1030C0008B2D807F9B2D9F70F92E882319F0F29411 -:1030D00080EFF822002349F0FF2009F469C28F2D08 -:1030E0000E943B210E94622163C2812F0E94C5176A -:1030F000FF2009F4B0C28F2D0E94412126960FB601 -:10310000F894DEBF0FBECDBFDF91CF911F910F911D -:10311000FF90EF90DF90CF90BF900C9462213B2DF9 -:10312000307F8B2D8F70303211F08295807F11238C -:1031300019F0113021F12DC00023B9F0222309F438 -:10314000A1C1213009F09EC126960FB6F894DEBFCA -:103150000FBECDBFDF91CF911F910F91FF90EF90E8 -:10316000DF90CF90BF900C944B21222319F0213097 -:1031700009F471C28E830E944E218E8197C1002373 -:1031800021F0263008F067C27DC1253008F063C207 -:103190008DC1002321F0222309F474C109C2222326 -:1031A00009F484C11AC22B2D26952695237030E090 -:1031B0002115310521F021303105D1F04CC2002319 -:1031C00021F0812F9B2D937002C080E090E0269625 -:1031D0000FB6F894DEBF0FBECDBFDF91CF911F9128 -:1031E0000F91FF90EF90DF90CF90BF900C94CF1590 -:1031F000002321F0812F9B2D937002C080E090E08E -:1032000026960FB6F894DEBF0FBECDBFDF91CF91EB -:103210001F910F91FF90EF90DF90CF90BF900C9493 -:10322000E515812F002319F00E94082502C00E9495 -:10323000702526960FB6F894DEBF0FBECDBFDF9186 -:10324000CF911F910F91FF90EF90DF90CF90BF90A3 -:103250000C94F5258B2D837009F07BC00111FBC107 -:10326000812F829586958770880F880F912F9F7088 -:10327000C92ED12CE12CF12C082E04C0CC0CDD1C65 -:10328000EE1CFF1C0A94D2F714FF12C04FE050E06E -:1032900060E070E004C0440F551F661F771F8A95D9 -:1032A000D2F7CB01BA01609570958095909503C0D7 -:1032B00060E070E0CB012B2D269526952370422FE0 -:1032C00050E042305105D9F04330510569F16C2985 -:1032D0007D298E299F294130510551F126960FB63F -:1032E000F894DEBF0FBECDBFDF91CF911F910F913C -:1032F000FF90EF90DF90CF90BF900C942F1F6C2920 -:103300007D298E299F2926960FB6F894DEBF0FBE21 -:10331000CDBFDF91CF911F910F91FF90EF90DF9084 -:10332000CF90BF900C944B1F0E942F1FC701B60176 +:1011F0008D0080938C00259A2D9A2FEF80E792E046 +:10120000215080409040E1F700C00000269A2E9ABD +:101210002FEF80E792E0215080409040E1F700C03E +:101220000000279A2F9A2FEF80E792E0215080400C +:101230009040E1F700C0000025982D982FEF80E73F +:1012400092E0215080409040E1F700C000002698D5 +:101250002E982FEF80E792E0215080409040E1F7F8 +:1012600000C0000027982F9856985E9825982D98D2 +:1012700026982E9827982F98089589EA80938000C1 +:1012800089E08093810024982C983F988AB18F74CC +:101290008AB96E98479A8BB1806B8BB9769A0E9407 +:1012A000E50880EB98E0892B11F00E94B00880E0FF +:1012B00090E0089580E28093000180913C018111CB +:1012C0000EC00E94A90981E080933C012FEF83EDBD +:1012D00090E3215080409040E1F700C0000080E49E +:1012E0000E94AF098093000181112EC00E94D9098C +:1012F00080930001811128C00E94D90980930001C8 +:10130000811122C08FE30E94D909809300018111CD +:101310001BC00E94D10980E40E94AF0980930001A4 +:10132000811112C08CE00E94D909809300018111C3 +:101330000BC00E94D90980930001811105C08FE381 +:101340000E94D909809300010E94D1098091000177 +:1013500008951092B9008AE08093B800089594EA45 +:101360009093BC009091BC0097FFFCCF9091B90086 +:10137000987F983021F0903111F081E008958093AA +:10138000BB0084E88093BC008091BC0087FFFCCF49 +:101390008091B900887F883111F0803471F780E046 +:1013A000089584E98093BC008091BC0084FDFCCF4B +:1013B00008958093BB0084E88093BC008091BC00BA +:1013C00087FFFCCF9091B900987F81E0983209F4B3 +:1013D00080E0089584E88093BC008091BC0087FF82 +:1013E000FCCF8091BB00089580910001811115C050 +:1013F00080E40E94AF098093000181110CC082E15A +:101400000E94D90980930001811105C08FEF0E94CD +:10141000D909809300010E94D10984B1807F84B9E9 +:1014200085B1807F85B98AB1837F8AB98BB1837F8B +:101430008BB93E98469808950E945A0980930001FE +:101440000E94F40980B38C7080BB81B3836F81BB31 +:10145000AEE3B1E0ECE4F1E08EE08E0F11921D926C +:101460008E13FCCF8DE399E0892B11F00C943D098C +:1014700008959F92AF92BF92CF92DF92EF92FF9228 +:101480000F931F93CF93DF93809100018823E1F0A6 +:1014900080913D018F5F80933D01811115C084E9EA +:1014A00094E00E94FE070E945A098093000188235D +:1014B00029F08AE794E00E94FE0706C086E694E0E1 +:1014C0000E94FE070E94E5080EE311E0C0E0D0E0B4 +:1014D000BB24B39482E0A82ECC24C394D12C27E55E +:1014E000E22E24E0F22EC730D10500F580910001F4 +:1014F000811164C080E40E94AF09809300018111D2 +:1015000012C082E10E94D9098093000181110BC0B1 +:10151000C6010C2E01C0880F0A94EAF780950E943C +:10152000D909809300010E94D10948C0CA30A1F0B6 +:1015300028F4C83059F0C93061F005C0CC3089F0CA +:1015400070F0CD3089F0209A289810C0219A2998FF +:101550000DC0229A2A980AC0239A2B9807C0529A43 +:1015600001C0539A5B9802C03E9A469890EA9A95B9 +:10157000F1F79FB1799902C082E001C080E09170DB +:101580009B25982B7C9902C084E001C080E0892BC8 +:101590007D9902C038E001C030E0832B7E9902C003 +:1015A00020E101C020E0822B9FB19095991F9927DF +:1015B000991F9295990F907E892B10C08091000100 +:1015C000811174C080E40E94AF09809300018823D8 +:1015D00009F459C0912C0E94D109892DF8019081FC +:1015E000981739F1808380910101882301F180915E +:1015F000D70180FF04C08CE594E00E94FE07809133 +:10160000D70180FF0CC0809101011F928F93FF9240 +:10161000EF920E9497080F900F900F900F9080917B +:10162000D70180FF04C085E594E00E94FE07A092E8 +:1016300001010E94F40921960F5F1F4FCE30D105A2 +:1016400009F051CF809101018823B1F0815080933E +:101650000101882339F08FE99FE00197F1F700C07D +:1016600000000AC0ACE4B1E0EEE3F1E0CF01825F3C +:1016700091919D938E13FCCF8CED98E0892BC1F056 +:101680000E94DC0815C083E10E94D9098093000103 +:101690008111A0CF81E40E94AF09809300018111E4 +:1016A00099CF0E94EA09982E909495CF80E096CF2A +:1016B00081E0DF91CF911F910F91FF90EF90DF902C +:1016C000CF90BF90AF909F900895E82FF0E0E45B3B +:1016D000FE4F80810895CF92DF92EF92FF920F9399 +:1016E0001F93CF93DF938EE394E00E94FE078CE478 +:1016F000E82E81E0F82EC0E0D0E099E3C92E94E016 +:10170000D92E00E314E0DF93CF93DF92CF920E94B3 +:10171000970886E394E00E94FE07F70181917F011C +:1017200090E00E941D229F938F931F930F930E941E +:1017300097088EE294E00E94FE0721968DB79EB72F +:1017400008960FB6F8949EBF0FBE8DBFCE30D10560 +:10175000D1F6DF91CF911F910F91FF90EF90DF9025 +:10176000CF9008958B3B910578F4883A910540F528 +:10177000853A9105D0F48430910508F0B1C08130EC +:10178000910509F4ADC06BC0803E910508F467C0B7 +:10179000883E910508F4A4C09C01205F31092031E6 +:1017A000310508F05CC090650895853A910509F40B +:1017B00059C0863A910509F058C082E890E408952E +:1017C000883A910509F454C0893A910509F453C047 +:1017D0008A3A910509F452C08B3A910509F451C037 +:1017E0008C3A910509F450C08D3A910509F44FC027 +:1017F000803B910509F44EC08E3A910509F44DC025 +:101800008F3A910509F44CC0813B910509F44BC016 +:10181000823B910509F44AC0833B910509F449C014 +:10182000843B910509F448C0853B910509F447C004 +:10183000863B910509F446C0873B910509F445C0F4 +:10184000883B910509F444C0893B910509F443C0E4 +:101850008A3B910509F442C080E094E4089580E059 +:1018600090E0089581E890E4089583E890E4089575 +:1018700082EE94E4089589EE94E408958AEE94E467 +:10188000089585EB94E4089586EB94E4089587EB3E +:1018900094E408958CEC94E408958DEC94E4089518 +:1018A00083E895E408958AE895E4089582E995E44B +:1018B000089584E995E4089581E296E4089583E229 +:1018C00096E4089584E296E4089585E296E4089506 +:1018D00086E296E4089587E296E408958AE296E423 +:1018E0000895089596E0799FF001112494E5899F69 +:1018F000E00DF11D1124E60FF11DEE0FFF1FEA515F +:10190000FF4F859194910895880F991FFC01E05A2B +:10191000F040859194910895880F991FFC01E05241 +:10192000FF4F85919491089526E0729FF001112454 +:1019300044E5849FE00DF11D1124E60FF11DEE0F2B +:10194000FF1FEA51FF4F859194919C013A95211513 +:101950004FE1340708F41EC13F512115304120F4F6 +:101960009F700E948C0C08959C01305321153041CA +:1019700018F49927906C0895811520E5920769F471 +:101980000E94771B4FEF84E39CE0415080409040E1 +:10199000E1F700C000000C94D922813020E59207C5 +:1019A00051F48EEA94E00E94FE078091D701816095 +:1019B0008093D70108959C0130552115304108F0DE +:1019C00051C0292F33272F70332721303105D9F407 +:1019D000AC014370552702C0220F331F4A95E2F72E +:1019E0003C68AC0164E0440F551F6A95E1F7442759 +:1019F0005370242B352B73E0880F991F7A95E1F7EC +:101A0000807699271DC02230310529F4982F882728 +:101A1000816F906A089523303105A9F4AC014370B9 +:101A2000552721E030E002C0220F331F4A95E2F72C +:101A30003C6843E0880F991F4A95E1F7807E9770D4 +:101A4000822B932B089524303105E1F4AC014370CF +:101A5000552721E030E002C0220F331F4A95E2F7FC +:101A60003A68E7CF9C0130572115304118F49F7038 +:101A7000906208959C0130582115304118F49F70F0 +:101A8000906A0895803E9105E0F4803C910558F5F8 +:101A90008133910509F46FC048F48932910509F446 +:101AA00063C08A32910509F46DC072C08933910513 +:101AB000E9F082389105D1F08533910509F44DC0E4 +:101AC00067C0833E910581F138F4803E9105B9F0FD +:101AD000823E9105D9F05CC0863E910561F1873E5A +:101AE0009105A1F155C00E94840C08952091EA014E +:101AF00020FD02C021FF4CC080EE90E049C08091E3 +:101B0000EA0180FFF9CF89E390E042C08091EA01C9 +:101B100082FF0EC08091EA0184FF03C080E090E064 +:101B200037C083EE90E034C08091EA0182FFF2CFAB +:101B300082EE90E02DC08091EA0183FF0BC080917E +:101B4000EA0184FDEBCF87EE90E022C08091EA01AC +:101B500083FFF5CF86EE90E01BC08091EA0185FF00 +:101B600007C089E290E014C08091EA0185FFF9CFB7 +:101B700085E390E00DC08091EA0186FF07C08AE20C +:101B800090E006C08091EA0186FFF9CF81E390E002 +:101B90000E94B20B0895089580916D0108959FB73A +:101BA000F89410925C019FBF9091F001943009F07D +:101BB00057C09091E9009F703091EC00232F217065 +:101BC00030FD20E8922B24E02093E9002091EB00E7 +:101BD00020FF43C02091EE0027FF3FC020915A0113 +:101BE000222321F02091E80025FF37C010925A01EE +:101BF00026E03091E80035FD15C03091F001343019 +:101C000061F53091EB0035FD28C0215021F481E0D1 +:101C100080935A0122C0EFE9FFE03197F1F700C04D +:101C20000000E7CF8093F1008091E80085FD0AC0B5 +:101C30008091E80080FFFCCF8091E8008E77809350 +:101C4000E80006C08FB7F89421E020935C018FBFB5 +:101C50009F709093E90080E008959F709093E90051 +:101C60008FEF0895CF93DF9300D01F92CDB7DEB7EB +:101C70009C018091F001843019F593E099833B83B6 +:101C80002A839093E9008FEF9091E800815095FDB1 +:101C900006C095ED9A95F1F700008111F5CF80917E +:101CA000E80085FF0DC040E050E063E070E0CE0149 +:101CB00001960E9402118091E8008E778093E800DF +:101CC0000F900F900F90DF91CF910895CF93DF93F6 +:101CD00000D01F92CDB7DEB72091F001243021F55E +:101CE00022E029839B838A8383E08093E9008FEF3E +:101CF0009091E800815095FD06C095ED9A95F1F719 +:101D000000008111F5CF8091E80085FF0DC040E013 +:101D100050E063E070E0CE0101960E9402118091D4 +:101D2000E8008E778093E8000F900F900F90DF917E +:101D3000CF9108952091F0012430F1F422E0209316 +:101D4000E9002FEF3091E800215035FD06C035ED58 +:101D50003A95F1F700002111F5CF2091E80025FF19 +:101D60000BC040E050E065E070E00E9402118091FD +:101D7000E8008E778093E8000895CF93DF93209159 +:101D8000F001243009F048C0EC0180910C01882357 +:101D9000E1F080910D018823C1F085E08093E90096 +:101DA0008FEF9091E800815095FD06C095E19A95DE +:101DB000F1F700008111F5CF8091E80085FF2CC07C +:101DC00040E050E060E170E017C081E08093E900FE +:101DD0008FEF9091E800815095FD06C095ED9A95A2 +:101DE000F1F700008111F5CF8091E80085FF14C064 +:101DF00040E050E068E070E0CE010E940211809166 +:101E0000E8008E778093E80080E1FE01ADE5B1E067 +:101E100001900D928A95E1F7DF91CF91089585EEBB +:101E200094E00E94FE078091EF01811109C00E9499 +:101E300097120E94F4128091E20084608093E20085 +:101E4000089581EE94E00E94FE071092EF0108953C +:101E50008DED94E00C94FE0789ED94E00E94FE075E +:101E60000C94A92C85ED94E00E94FE070E94732239 +:101E70000E94AF2C0E9499150C94CB0D20915B0110 +:101E80002F5F822F62E30E941D2E992319F0209369 +:101E90005B01089510925B0180915C01882371F1D0 +:101EA0008091F001843041F58091E9008F7020919C +:101EB000EC00922F917020FD90E8892B94E0909394 +:101EC000E9009091EB0090FF14C09091EE0097FF15 +:101ED00010C09091E80095FF03C01092F100F9CF77 +:101EE0009091E80090FF05C09091E8009E77909354 +:101EF000E8008F708093E90010925C01089542E041 +:101F000061EC81E00E94111242E061EC82E00E94EB +:101F1000111242E061EC83E00E94111242E261EC96 +:101F200084E00E94111242E161EC85E00C941112F0 +:101F30008091F201833009F455C030F4813071F0A2 +:101F4000823009F48EC008958A3009F47AC08B304B +:101F500009F460C0893009F09CC020C08091F10173 +:101F6000813A09F096C08091E800877F8093E8006D +:101F70008091F5019091F601892B21F460E18DE5C6 +:101F800091E003C060E080E090E070E00E944D11BD +:101F90008091E8008B778093E80008958091F101AB +:101FA000813209F076C08091F5019091F601009799 +:101FB00019F0049709F06DC08091E800877F809345 +:101FC000E8008091E80082FD05C08091F001811158 +:101FD000F8CF5FC08091F10080936D018091E8009F +:101FE0008B7753C08091F101813A09F052C0809102 +:101FF000F5019091F601892B09F04BC08091E80022 +:10200000877F8093E8008091E80080FFFCCF80917B +:102010000C0136C08091F1018132D9F58091F50132 +:102020009091F601892BA9F58091E800877F809334 +:10203000E8000E9446128091F30180930C010C94F9 +:10204000771B8091F101813221F58091E800877F33 +:102050008093E8000E9446128091F40180936E0103 +:1020600008958091F101813AA1F48091E800877F81 +:102070008093E8008091E80080FFFCCF80916E01A2 +:102080008093F1008091E8008E778093E8000C94B3 +:102090004612089584B7877F84BF88E10FB6F8940D +:1020A00080936000109260000FBE90E080E80FB651 +:1020B000F89480936100909361000FBE0E942616F1 +:1020C0000E9497120E94F4128091E2008460809333 +:1020D000E2008FEC9DE00E94B22178940E94791575 +:1020E0000E94281682E091E00E9494150E94972C8D +:1020F00084EC94E00E94FE078091F001853089F421 +:1021000080EC94E00E94FE070E9437228091EE014D +:10211000882391F30E945F22882371F30E94EC10C0 +:10212000EBCF0E945616E8CF292F332723303105F5 +:10213000C9F064F42130310581F02230310509F015 +:1021400043C08DE890E02DE135E042C021323105F9 +:10215000F1F02232310541F137C082E190E02AEA04 +:1021600035E036C099278130910541F082309105E4 +:1021700041F0892B49F5E9E1F5E005C0E1E0F5E042 +:1021800002C0E9EEF4E0849190E09F0121C0653047 +:10219000D8F4E62FF0E0EE0FFF1FEB5DFE4F20813D +:1021A000318189E090E014C0653070F470E0FB018B +:1021B000EE0FFF1FE55EFE4F20813181FB01EA5EDD +:1021C000FE4F808190E004C080E090E020E030E0AD +:1021D000FA0131832083089580E189BD82E189BDC0 +:1021E00009B400FEFDCF8091D8008F7D8093D80088 +:1021F0008091E00082608093E0008091E00081FDAA +:10220000FCCF0895CF92DF92EF92FF920F931F932E +:10221000CF93DF93EC018B016A010E94651281115B +:1022200033C0C114D10439F0F60180819181081BBB +:10223000190BC80FD91FE12CF12C0115110519F14B +:102240008091E80085FD16C08091E8008E7780932C +:10225000E800C114D10449F0F60180819181E80EB3 +:10226000F91EF182E08285E00FC00E94651288238A +:1022700021F30AC089918093F10001501109FFEF09 +:10228000EF1AFF0ADACF80E0DF91CF911F910F9113 +:10229000FF90EF90DF90CF9008952091F70130915B +:1022A000F8012617370748F06115710539F42091B8 +:1022B000E8002E772093E80001C0B90140E06115E5 +:1022C0007105A9F12091F001222309F443C02530C2 +:1022D00009F442C02091E80023FD40C02091E800AD +:1022E00022FD32C02091E80020FFE9CF4091F300A9 +:1022F0002091F20030E0342BFC01CF016115710513 +:1023000059F02830310540F481918093F1006150FB +:1023100071092F5F3F4FF1CF41E02830310509F0BF +:1023200040E02091E8002E772093E800C8CF4111CB +:10233000C9CF0AC08091F001882361F0853061F037 +:102340008091E80083FD0AC08091E80082FFF2CF0F +:1023500080E0089582E0089583E0089581E0089583 +:102360002091F7013091F8012617370748F06115E1 +:10237000710539F42091E8002E772093E80001C020 +:10238000B901FC0120E06115710591F18091F00126 +:10239000882309F440C0853009F43FC08091E800EB +:1023A00083FD3DC08091E80082FD2FC08091E80050 +:1023B00080FFE9CF2091F3008091F20090E0922B12 +:1023C0006115710559F08830910540F424912093EE +:1023D000F1003196615071090196F2CF21E0089722 +:1023E00009F020E08091E8008E778093E800CBCF61 +:1023F0002111CCCF0AC08091F001882361F0853093 +:1024000061F08091E80083FD0AC08091E80082FFBE +:10241000F2CF80E0089582E0089583E0089581E09E +:102420000895982F973058F59093E900981739F050 +:102430007091EC002091ED005091F00003C0242F2A +:10244000762F50E021FF19C03091EB003E7F309392 +:10245000EB003091ED003D7F3093ED003091EB00CB +:1024600031603093EB007093EC002093ED005093BB +:10247000F0002091EE0027FF07C09F5FD3CF8F7041 +:102480008093E90081E0089580E008958091F10152 +:1024900087FF11C08091E80082FD05C08091F001A6 +:1024A0008111F8CF11C08091E8008B770BC080912B +:1024B000F001882349F08091E80080FFF8CF8091F7 +:1024C000E8008E778093E80008952091E400309131 +:1024D000E50095E64091EC00842F817040FF22C01A +:1024E0008091E80080FD1CC08091F001882391F06C +:1024F000853091F08091EB0085FD10C04091E400A3 +:102500005091E5004217530729F39A01915011F7B2 +:1025100084E0089582E0089583E0089581E00895BD +:1025200080E008954091E80042FFDECF08950E94C8 +:1025300005130E940D13E0EEF0E08081816080833E +:10254000E8EDF0E080818F77808319BCA7EDB0E0E3 +:102550008C918E7F8C9380818F7E80831092EF018F +:1025600008950F931F93CF93DF930E9405130E944A +:102570000D13C8EDD0E088818F77888388818068CB +:10258000888388818F7D888319BC1092F001109216 +:10259000EC011092EE011092ED0100EE10E0F80156 +:1025A00080818B7F808388818160888342E060E0C6 +:1025B00080E00E941112E1EEF0E080818E7F808346 +:1025C000E2EEF0E08081816080838081886080839A +:1025D000F80180818E7F8083888180618883DF918C +:1025E000CF911F910F910895E8EDF0E080818F7EEB +:1025F0008083E7EDF0E080818160808384E082BFAA +:1026000081E08093EF010C94B112E8EDF0E080815D +:102610008E7F80831092E20008951092DA0010926B +:10262000E10008951F920F920FB60F9211242F937D +:102630003F934F935F936F937F938F939F93AF934A +:10264000BF93EF93FF938091E10082FF0BC08091D5 +:10265000E20082FF07C08091E1008B7F8093E10060 +:102660000E943E0F8091DA0080FF1FC08091D80049 +:1026700080FF1BC08091DA008E7F8093DA0080910A +:10268000D90080FF0DC080E189BD82E189BD09B418 +:1026900000FEFDCF81E08093F0010E940F0F05C086 +:1026A00019BC1092F0010E94210F8091E10080FF7F +:1026B00019C08091E20080FF15C08091E2008E7FFA +:1026C0008093E2008091E20080618093E20080913B +:1026D000D80080628093D80019BC85E08093F00117 +:1026E0000E942C0F8091E10084FF30C08091E200B5 +:1026F00084FF2CC080E189BD82E189BD09B400FE60 +:10270000FDCF8091D8008F7D8093D8008091E1002B +:102710008F7E8093E1008091E2008F7E8093E200C3 +:102720008091E20081608093E2008091EC01882337 +:1027300011F084E007C08091E30087FD02C081E0D2 +:1027400001C083E08093F0010E94320F8091E1008C +:1027500083FF29C08091E20083FF25C08091E100C2 +:10276000877F8093E10082E08093F0011092EC017A +:102770008091E1008E7F8093E1008091E2008E7F66 +:102780008093E2008091E20080618093E20042E069 +:1027900060E080E00E9411128091F00088608093D8 +:1027A000F0000E94280FFF91EF91BF91AF919F9190 +:1027B0008F917F916F915F914F913F912F910F90EA +:1027C0000FBE0F901F9018951F920F920FB60F9289 +:1027D00011242F933F934F935F936F937F938F9326 +:1027E0009F93AF93BF93CF93DF93EF93FF93C091EA +:1027F000E900CF708091EC00D82FD17080FDD0E837 +:102800001092E9008091F000877F8093F000789427 +:102810000E9428141092E9008091F0008860809353 +:10282000F000CD2BCF70C093E900FF91EF91DF91C5 +:10283000CF91BF91AF919F918F917F916F915F9158 +:102840004F913F912F910F900FBE0F901F901895B1 +:102850001F93CF93DF93CDB7DEB7AA970FB6F89447 +:10286000DEBF0FBECDBFE1EFF1E088E08E0F9091AB +:10287000F10091938E13FBCF0E94980F8091E80096 +:1028800083FF1FC18091F1019091F201492F50E027 +:102890004A30510508F015C1FA01EA5AFF4F0C946D +:1028A0003D2E803881F0823809F00BC18091F5010E +:1028B0008F708093E9008091EB0085FB882780F979 +:1028C0001092E90006C08091ED019091EE01911106 +:1028D00082609091E800977F9093E8008093F100E8 +:1028E0001092F100C8C0282F2D7F09F0EAC088237C +:1028F00019F0823061F0E5C08091F301813009F078 +:10290000E0C0933009F080E08093EE012BC080910D +:10291000F301811127C08091F5018F7009F4D1C0B6 +:102920008093E9002091EB0020FF1CC0933021F43C +:102930008091EB00806214C09091EB0090619093C5 +:10294000EB0021E030E0A90102C0440F551F8A9539 +:10295000E2F74093EA001092EA008091EB00886071 +:102960008093EB001092E9008091E800877F86C099 +:102970008111A7C01091F3011F778091E300807847 +:10298000812B8093E3008091E800877F8093E800AB +:102990000E9446128091E80080FFFCCF8091E30006 +:1029A00080688093E300111102C082E001C083E0DF +:1029B0008093F00186C08058823008F082C08091F8 +:1029C000F3019091F4018C3D53E0950779F583E094 +:1029D0008A838AE289834FB7F894DE01139620E058 +:1029E0003EE051E2E32FF0E050935700E49120FFE6 +:1029F00003C0E295EF703F5FEF708E2F90E0EA30FA +:102A000010F0C79601C0C0968D939D932F5F24311F +:102A100049F74FBF8091E800877F8093E8006AE222 +:102A200070E0CE0101960E944D1114C0AE014F5FBF +:102A30005F4F6091F5010E949410BC01892B09F44D +:102A400040C09091E800977F9093E80089819A8137 +:102A50000E94B0118091E8008B778093E80031C02C +:102A6000803879F58091E800877F8093E800809135 +:102A7000EC018093F1008091E8008E778093E8006C +:102A80000E9446121EC081111CC09091F301923029 +:102A9000C0F48091E800877F8093E8009093EC0178 +:102AA0000E9446128091EC01811106C08091E300E2 +:102AB00087FD02C081E001C084E08093F0010E94A4 +:102AC0007F0F8091E80083FF0AC08091E800877F34 +:102AD0008093E8008091EB0080628093EB00AA96DF +:102AE0000FB6F894DEBF0FBECDBFDF91CF911F911F +:102AF0000895CF938091F0018823A1F0C091E9005F +:102B0000CF709091EC00892F817090FD80E8C82BE8 +:102B10001092E9008091E80083FD0E942814CF7094 +:102B2000C093E900CF91089590937401809373014D +:102B30000895E0917301F0917401309721F00190B4 +:102B4000F081E02D099480E00895EF92FF920F93B9 +:102B50001F93CF93DF93E0917301F091740130974D +:102B6000B1F18C010280F381E02D09958091D701AC +:102B700082FF2DC080FF04C08FED96E00E94FE070B +:102B8000E80110E189EDE82E86E0F82E8091D7016A +:102B900080FF0BC088811F928F93FF92EF920E945B +:102BA00097080F900F900F900F90115021961111D0 +:102BB000EDCF8091D70180FF0AC087ED96E0DF91CD +:102BC000CF911F910F91FF90EF900C94FE07DF9132 +:102BD000CF911F910F91FF90EF900895E0917301B5 +:102BE000F0917401309721F00480F581E02D099473 +:102BF000089520917101309172018217930771F04D +:102C00009093720180937101E0917301F0917401CE +:102C1000309721F00680F781E02D099408952091E6 +:102C20006F01309170018217930771F090937001DA +:102C300080936F01E0917301F0917401309721F05E +:102C40000084F185E02D0994089508950C942516CB +:102C50000E9475220E941C0A0C943B23CF93C82F1C +:102C60008091D70182FF1EC080FF04C088EF96E0EC +:102C70000E94FE078091D70180FF0CC01F92CF9366 +:102C800083EF96E09F938F930E9497080F900F9089 +:102C90000F900F908091D70180FF04C081EF96E0E4 +:102CA0000E94FE078C2FCF910C94CB0DCF92DF9218 +:102CB000EF92FF920F931F93CF93DF93CDB7DEB7C1 +:102CC0002B970FB6F894DEBF0FBECDBF0E94390A16 +:102CD00086E7C82E81E0D82E00E010E0E02E802F9D +:102CE0000E94650BF60141916F01F42EF826B1F4B4 +:102CF0000F5F1F4F0E30110589F78FEF89838A838D +:102D00001B820E947E228160782F9D838C83498163 +:102D10005A816B818D810E94F91640C09091D70134 +:102D200091FF04C08B870E946B0B8B8520E030E005 +:102D30004F2D50E0922FBA01022E02C07595679573 +:102D40000A94E2F760FF24C02E83EF8221E030E096 +:102D5000690102C0CC0CDD1C9A95E2F790E08C2151 +:102D60009D21892B09F420E028870E947E22816022 +:102D7000782F9A8789874E815F8168858A850E942E +:102D8000F916F801EA58FE4F8081C826C08206C0B5 +:102D90002F5F3F4F2630310569F6AACF0E94AC263F +:102DA000109175010E9499151817A1F00E949915AC +:102DB000809375012B960FB6F894DEBF0FBECDBF82 +:102DC000DF91CF911F910F91FF90EF90DF90CF9007 +:102DD0000C942E162B960FB6F894DEBF0FBECDBF07 +:102DE000DF91CF911F910F91FF90EF90DF90CF90E7 +:102DF0000895CF93DF93CDB7DEB72B970FB6F89436 +:102E0000DEBF0FBECDBF4F83588769877A878B8718 +:102E1000DE01119686E0FD0111928A95E9F785E0C1 +:102E2000FE01379601900D928A95E1F749815A810A +:102E30006B817C818D819E810E94111E2B960FB625 +:102E4000F894DEBF0FBECDBFDF91CF910895CF9331 +:102E5000882309F4C2C0C82F823859F40E949915FA +:102E600081FDBBC089E30E94AD200E948C2189E3D3 +:102E70000CC0833879F40E94991580FDAEC083E5BB +:102E80000E94AD200E948C2183E50E940021CF91F9 +:102E90000C948C21843859F40E94991582FD9DC0B0 +:102EA00087E40E94AD200E948C2187E4EECF8CEF56 +:102EB0008C0F813A48F48C2F0E943F2B81118DC0DA +:102EC0008C2F0E94AD20E3CF80E28C0F883048F435 +:102ED000C77081E001C0880FCA95EAF70E945521AA +:102EE000D6CF8BE58C0F833078F4C53A29F0C63AFB +:102EF00031F083E890E005C081E890E002C082E80C +:102F000090E0CF910C94F91588E58C0F833108F08F +:102F100064C0C83A39F1C93A41F1CA3A49F1CB3AE9 +:102F200051F1CC3A59F1CD3A61F1C03B69F1CE3A59 +:102F300071F1CF3A79F1C13B81F1C23B89F1C33BD9 +:102F400091F1C43B99F1C53BA1F1C63BA9F1C73B47 +:102F5000B1F1C83BB9F1C93BC1F1CA3BC9F180E04D +:102F600090E038C082EE90E035C089EE90E032C04B +:102F70008AEE90E02FC085EB90E02CC086EB90E0CD +:102F800029C087EB90E026C08CEC90E023C08DEC4C +:102F900090E020C083E891E01DC08AE891E01AC06B +:102FA00082E991E017C084E991E014C081E292E0E7 +:102FB00011C083E292E00EC084E292E00BC085E291 +:102FC00092E008C086E292E005C087E292E002C08B +:102FD0008AE292E0CF910C940F16CF910895882346 +:102FE00009F44BC0823859F40E94991581FF45C0FD +:102FF00089E30E94AD200E948C2189E30CC08338B4 +:1030000071F40E94991580FF38C083E50E94AD20BD +:103010000E948C2183E50E9400210C948C2184382D +:1030200059F40E94991582FF28C087E40E94AD20C0 +:103030000E948C2187E4EFCF9CEF980F913A58F3D0 +:1030400090E2980F983050F4877091E001C0990F8A +:103050008A95EAF7892F0E945B21DFCF9BE5980FC5 +:10306000933020F480E090E00C94F915885A833175 +:1030700020F480E090E00C940F160895882321F04E +:103080000E9455210C948C210895882321F00E94E0 +:103090005B210C948C210895BF92CF92DF92EF9226 +:1030A000FF920F931F93CF93DF9300D000D000D0F7 +:1030B000CDB7DEB725E0FC01DE01119601900D923F +:1030C0002A95E1F7FC014081318102812581229519 +:1030D0002F7063817481672B09F4E7C23F3F19F4B5 +:1030E0004F3F09F4E2C27C0149833A8389819A8186 +:1030F0002E830E946C20182FB92E0E946B200E94F4 +:10310000321FEB2DE295EF70F0E0E05AFF4F2E8179 +:103110000C943D2E8B2D807F9B2D9F70F92E882344 +:1031200019F0F29480EFF822002349F0FF2009F40F +:1031300069C28F2D0E9465210E948C2163C2812F5C +:103140000E94EF17FF2009F4B0C28F2D0E946B215F +:1031500026960FB6F894DEBF0FBECDBFDF91CF919C +:103160001F910F91FF90EF90DF90CF90BF900C9444 +:103170008C213B2D307F8B2D8F70303211F082955A +:10318000807F112319F0113021F12DC00023B9F0F7 +:10319000222309F4A1C1213009F09EC126960FB661 +:1031A000F894DEBF0FBECDBFDF91CF911F910F917D +:1031B000FF90EF90DF90CF90BF900C947521222369 +:1031C00019F0213009F471C28E830E9478218E811A +:1031D00097C1002321F0263008F067C27DC1253059 +:1031E00008F063C28DC1002321F0222309F474C1C9 +:1031F00009C2222309F484C11AC22B2D26952695D3 +:10320000237030E02115310521F021303105D1F056 +:103210004CC2002321F0812F9B2D937002C080E0CF +:1032200090E026960FB6F894DEBF0FBECDBFDF91BB +:10323000CF911F910F91FF90EF90DF90CF90BF90B3 +:103240000C94F915002321F0812F9B2D937002C05F +:1032500080E090E026960FB6F894DEBF0FBECDBF9B +:10326000DF91CF911F910F91FF90EF90DF90CF9062 +:10327000BF900C940F16812F002319F00E94322565 +:1032800002C00E949A2526960FB6F894DEBF0FBEA4 +:10329000CDBFDF91CF911F910F91FF90EF90DF9005 +:1032A000CF90BF900C941F268B2D837009F07BC0AC +:1032B0000111FBC1812F829586958770880F880F39 +:1032C000912F9F70C92ED12CE12CF12C082E04C017 +:1032D000CC0CDD1CEE1CFF1C0A94D2F714FF12C0AC +:1032E0004FE050E060E070E004C0440F551F661FDF +:1032F000771F8A95D2F7CB01BA01609570958095BA +:10330000909503C060E070E0CB012B2D26952695AB +:103310002370422F50E042305105D9F0433051051F +:1033200069F16C297D298E299F294130510551F180  :1033300026960FB6F894DEBF0FBECDBFDF91CF91BA  :103340001F910F91FF90EF90DF90CF90BF900C9462 -:10335000131F002319F08B2D817001C086958823DF -:1033600009F479C1812F829586958770880F880F1F -:10337000912F9F70C92ED12CE12CF12C082E04C066 -:10338000CC0CDD1CEE1CFF1C0A94D2F714FF12C0FB -:103390004FE050E060E070E004C0440F551F661F2E -:1033A000771F8A95D2F7CB01BA0160957095809509 -:1033B000909503C060E070E0CB012B2D26952695FB -:1033C0002370422F50E042305105D9F0433051056F -:1033D00069F16C297D298E299F294130510551F1D0 -:1033E00026960FB6F894DEBF0FBECDBFDF91CF910A -:1033F0001F910F91FF90EF90DF90CF90BF900C94B2 -:1034000009206C297D298E299F2926960FB6F894CC -:10341000DEBF0FBECDBFDF91CF911F910F91FF9007 -:10342000EF90DF90CF90BF900C9425200E94092050 -:10343000C701B60126960FB6F894DEBF0FBECDBF0A +:10335000591F6C297D298E299F2926960FB6F8942E +:10336000DEBF0FBECDBFDF91CF911F910F91FF90B8 +:10337000EF90DF90CF90BF900C94751F0E94591F63 +:10338000C701B60126960FB6F894DEBF0FBECDBFBB +:10339000DF91CF911F910F91FF90EF90DF90CF9031 +:1033A000BF900C943D1F002319F08B2D817001C03C +:1033B0008695882309F479C1812F82958695877037 +:1033C000880F880F912F9F70C92ED12CE12CF12CE2 +:1033D000082E04C0CC0CDD1CEE1CFF1C0A94D2F796 +:1033E00014FF12C04FE050E060E070E004C0440FF2 +:1033F000551F661F771F8A95D2F7CB01BA016095DA +:1034000070958095909503C060E070E0CB012B2D06 +:10341000269526952370422F50E042305105D9F071 +:103420004330510569F16C297D298E299F2941304E +:10343000510551F126960FB6F894DEBF0FBECDBFF1  :10344000DF91CF911F910F91FF90EF90DF90CF9080 -:10345000BF900C94ED1F103FD1F118F4103E50F4C2 -:10346000A2C0123F09F464C008F44DC0133F09F430 -:1034700074C099C01F708B2D8F710023A1F00E9422 -:10348000861F812F26960FB6F894DEBF0FBECDBFE4 -:10349000DF91CF911F910F91FF90EF90DF90CF9030 -:1034A000BF900C9414180E94A71F812F26960FB668 -:1034B000F894DEBF0FBECDBFDF91CF911F910F916A -:1034C000FF90EF90DF90CF90BF900C941B180023DB -:1034D000B1F0253008F0BFC08B2D8F7126960FB646 -:1034E000F894DEBF0FBECDBFDF91CF911F910F913A -:1034F000FF90EF90DF90CF90BF900C94CC1F2630C0 -:1035000008F0A9C0E9CF0023A9F08B2D8F71269672 -:103510000FB6F894DEBF0FBECDBFDF91CF911F91E4 -:103520000F91FF90EF90DF90CF90BF900C94861F8B -:10353000002359F38B2D8F7126960FB6F894DEBFBA -:103540000FBECDBFDF91CF911F910F91FF90EF90F4 -:10355000DF90CF90BF900C94A71F002399F08B2D84 +:10345000BF900C9433206C297D298E299F292696B4 +:103460000FB6F894DEBF0FBECDBFDF91CF911F9195 +:103470000F91FF90EF90DF90CF90BF900C944F2072 +:103480000E943320C701B60126960FB6F894DEBF1E +:103490000FBECDBFDF91CF911F910F91FF90EF90A5 +:1034A000DF90CF90BF900C941720103FD1F118F40B +:1034B000103E50F4A2C0123F09F464C008F44DC09D +:1034C000133F09F474C099C01F708B2D8F710023B6 +:1034D000A1F00E94B01F812F26960FB6F894DEBF90 +:1034E0000FBECDBFDF91CF911F910F91FF90EF9055 +:1034F000DF90CF90BF900C943E180E94D11F812F77 +:1035000026960FB6F894DEBF0FBECDBFDF91CF91E8 +:103510001F910F91FF90EF90DF90CF90BF900C9490 +:1035200045180023B1F0253008F0BFC08B2D8F71F6 +:1035300026960FB6F894DEBF0FBECDBFDF91CF91B8 +:103540001F910F91FF90EF90DF90CF90BF900C9460 +:10355000F61F263008F0A9C0E9CF0023A9F08B2D73  :103560008F7126960FB6F894DEBF0FBECDBFDF91E8  :10357000CF911F910F91FF90EF90DF90CF90BF9070 -:103580000C94711F26960FB6F894DEBF0FBECDBF08 -:10359000DF91CF911F910F91FF90EF90DF90CF902F -:1035A000BF900C94671F0023A9F0222309F4ADCF2C -:1035B000812F26960FB6F894DEBF0FBECDBFDF91E8 -:1035C000CF911F910F91FF90EF90DF90CF90BF9020 -:1035D0000C94FD16222309F4ADCF812F26960FB649 -:1035E000F894DEBF0FBECDBFDF91CF911F910F9139 -:1035F000FF90EF90DF90CF90BF900C94C5174B2DAC -:103600004F70612FC7010E94A00826960FB6F8944C -:10361000DEBF0FBECDBFDF91CF911F910F91FF9005 -:10362000EF90DF90CF90BF900C948B1E4B2D4F707E -:10363000612FC70126960FB6F894DEBF0FBECDBF2F -:10364000DF91CF911F910F91FF90EF90DF90CF907E -:10365000BF900C94470C26960FB6F894DEBF0FBEB1 -:10366000CDBFDF91CF911F910F91FF90EF90DF9031 -:10367000CF90BF9008950E9448210E941D210E9472 -:1036800062210E9428270E94F52580E090E00E9498 -:10369000CF1580E090E00C94E5150E9438210C9441 -:1036A0003B1B0E944220292F22952F7030E02C30A6 -:1036B00031054CF42A3031056CF4225031092230A6 -:1036C000310588F407C02C30310549F02F30310521 -:1036D00031F009C0803E48F0803F29F406C093FBDA -:1036E000882780F9089580E0089581E00895CF93B8 -:1036F000DF9300D000D01F92CDB7DEB70F900F90B0 -:103700000F900F900F90DF91CF910895CF93DF939B -:1037100000D000D000D0CDB7DEB726960FB6F89413 -:10372000DEBF0FBECDBFDF91CF9108951F93CF9322 -:10373000DF93C091840116E080918501C81799F04C -:10374000D0E01C9FF0011D9FF00D1124EA57FE4FA1 -:103750004081518162817381848195810E94861BA1 -:103760002196C770E9CFDF91CF911F9108954091C5 -:10377000B6015091B7016091B8017091B901809183 -:10378000BA019091BB010C94861B8091BB0182957C -:103790008F7009F054C08091B801882309F44FC09C -:1037A00080918401A09185016091B6017091B7016B -:1037B0004091B9015091BA01B6E08A1709F43FC0AF -:1037C00090E041155105C1F17F3F11F46F3FA1F128 -:1037D000B89FF001B99FF00D1124EA57FE4F2181E7 -:1037E00072132AC02081621327C02281211124C0B4 -:1037F000238134812417350710F421503109241B0B -:10380000350B283C3105C0F42091BB012F7020619D -:103810002093BB0126E0289FF001299FF00D112481 -:10382000E557FE4F80818F708061808386EB91E049 -:103830000E9422180C94961B01968770BECF0895A3 -:10384000CF92DF92EF92FF920F931F93CF93DF936C -:10385000CDB7DEB762970FB6F894DEBF0FBECDBF0F -:103860008C0185E0F801DE011D9601900D928A958C -:10387000E1F7D8014C9111965C91119712966C91D9 -:1038800012971396CD90DC9014973091B6017091F9 -:10389000B7018091B9019091BA01009709F46BC109 -:1038A0007F3F19F43F3F09F466C1E090B801EE2074 -:1038B00009F4C0C02091BB01C816D90628F0F60152 -:1038C000E81BF90BCF0104C0809590958C0D9D1DD0 -:1038D000FF24F394883C910578F0F12C207F09F0C7 -:1038E000C6C07C2DD98AC88A89890E94771B86EB3D -:1038F00091E00E942218B1C0822F807F09F046C05B -:10390000751314C0341312C0611110C02F702061E0 -:103910002093BB010E94B71B86EB91E00E94221806 -:103920008091BB01D80115968C932EC0CD2819F13A -:103930005F3F11F44F3FF9F0F62E61111CC08091EA -:1039400084012091850136E0821709F45AC090E085 -:10395000389FF001399FF00D1124EA57FE4F718115 -:10396000571306C07081471303C07281711103C0E1 -:1039700001968770E9CFF62E662309F418C180916D -:10398000BB0181608093BB01F12C11C1751308C08C -:10399000341306C0611104C08091BB01D801C3C0BB -:1039A0004D875E878D859E856A8B0E94511B6A8933 -:1039B0008823E1F16623D1F12091BB01822F82950A -:1039C0008F7090E0029774F08091B6019091B701EA -:1039D00098878F831986DB86CA862C87CE01079647 -:1039E0000E94221886E0F801A6EBB1E001900D924A -:1039F0008A95E1F70E94C51B0E94B71BFF24F39430 -:103A0000D6C04D875E878D859E850E944220292FD6 -:103A100022952F7030E0223031050CF0BCC09F7031 -:103A200009F0B6C0805E883008F4C1C0C8010E94A9 -:103A30002218E4CFC816D90608F453C0F601E81BD3 -:103A4000F90BCF01883C910508F450C0F12C7C2D76 -:103A5000D98AC88A89890E94771BE6EBF1E086E063 -:103A6000DF011D928A95E9F70E94B71BA0C075136C -:103A700014C0341312C0611110C08091BB01F80151 -:103A80008583C8010E94221886E0E6EBF1E0DF01A1 -:103A90001D928A95E9F7FE2C8AC04D875E878D8539 -:103AA0009E856A8B0E94511B6A89882309F4BECFC8 -:103AB000662309F4BBCF2091BB01822F82958F70C2 -:103AC00090E002970CF48ECF8091B6019091B701EF -:103AD0009A8389831B82DD82CC822E83CE0101965C -:103AE0007FCF809590958C0D9D1DACCFF62E6623D3 -:103AF00009F49CCF75132EC034132CC02091BB0148 -:103B000020FD1FC0822F82958F70D9F0D8011596A5 -:103B10002C9315978F3049F08F5F982F9295907F57 -:103B2000822F8F70892B15968C93C8010E942218C2 -:103B300086E0F801A6EBB1E001900D928A95E1F7DD -:103B400093CF86E0F801A6EBB1E001900D928A9543 -:103B5000E1F72DC04D875E878D859E850E94511BA4 -:103B6000811140CF8091BB0181608093BB01C8016E -:103B70000E9422181CC0662309F458CF4D875E8727 -:103B80008D859E850E94511B882309F44FCF2ACF33 -:103B9000811148CF0CC0243031050CF047CF9F7005 -:103BA00009F440CFF8019581907F09F03BCF8F2D2C -:103BB00062960FB6F894DEBF0FBECDBFDF91CF91F6 -:103BC0001F910F91FF90EF90DF90CF9008951F937A -:103BD000CF93DF93CDB7DEB72C970FB6F894DEBF47 -:103BE0000FBECDBF4F83588769877A878B879C87A5 -:103BF000CE0107960E94201C882369F08F8198854A -:103C00002A853B85232BF1F19F3F09F063C08F3F4D -:103C100009F060C037C086E0FE013796DE011196DC -:103C200001900D928A95E1F76F817885EA85FB8591 -:103C3000309741F17F3F11F46F3F21F120918501D1 -:103C400030E0C9010196877099274091840150E0C6 -:103C50008417950709F447C069837A83FD83EC8351 -:103C600096E0929FD001939FB00D1124AA57BE4FAA -:103C7000FE01319601900D929A95E1F780938501AE -:103C80000E94961B16E0809184019091850189170E -:103C9000C1F1189FC00111248A579E4F0E94201C19 -:103CA000882379F1E09184011E9FF0011124EA57E5 -:103CB000FE4F4081518162817381848195810E9490 -:103CC000861B8091840190E00196877099278093EC -:103CD0008401D9CF4F81588569857A858B859C85EC -:103CE0000E94861BCFCF0E944D1B1092850110921F -:103CF0008401E6EBF1E086E0DF011D928A95E9F7A9 -:103D0000C1CF2C960FB6F894DEBF0FBECDBFDF91AA -:103D1000CF911F910895EF92FF920F931F93CF932E -:103D2000DF938C01892B09F46CC0F12CEE24E39411 -:103D3000E8012196F8018491843740F4843008F03A -:103D400051C0813081F0823019F15BC0853709F4B0 -:103D500044C0A8F19CE7980F903708F052C08F77C5 -:103D60000E94C51741C00E5F1F4FFE01C49180E243 -:103D70008C0F883048F4C7708E2D01C0880FCA950B -:103D8000EAF70E943B2114C08C2F0E94FD162DC023 -:103D90000E5F1F4FFE01C49180E28C0F883058F4F3 -:103DA000C7708E2D01C0880FCA95EAF70E94412185 -:103DB0000E9462211AC08C2F0E94C51716C00E5F88 -:103DC0001F4FFE01C491CC2381F08FE99FE0019742 -:103DD000F1F700C00000C150F6CF0E5F1F4FFE018B -:103DE000F49003C00E94FD168E018F2D882309F4E4 -:103DF0009FCFEFE9FFE03197F1F700C0000081505D -:103E0000F5CFDF91CF911F910F91FF90EF90089523 -:103E100008956093C0017093C1018093C201909393 -:103E2000C3010C943B1B0F931F930091C001109191 -:103E3000C1012091C2013091C301DC01CB01802B73 -:103E4000912BA22BB32B8093C0019093C101A0931F -:103E5000C201B093C3011F910F910C943B1B0F93B0 -:103E60001F930091C0011091C1012091C2013091B6 -:103E7000C301DC01CB0180239123A223B3238093D0 -:103E8000C0019093C101A093C201B093C3011F91DF -:103E90000F910C943B1B0F931F930091C001109145 -:103EA000C1012091C2013091C301DC01CB01802707 -:103EB0009127A227B3278093C0019093C101A093BB -:103EC000C201B093C3011F910F910C943B1B109240 -:103ED000BC011092BD011092BE011092BF010C9462 -:103EE0003B1B41E050E060E070E004C0440F551F10 -:103EF000661F771F8A95D2F74093BC015093BD018E -:103F00006093BE017093BF010C943B1B41E050E0F5 -:103F100060E070E004C0440F551F661F771F8A954C -:103F2000D2F78091BC019091BD01A091BE01B091EA -:103F3000BF01482B592B6A2B7B2B4093BC0150931C -:103F4000BD016093BE017093BF010C943B1B41E027 -:103F500050E060E070E004C0440F551F661F771FFB -:103F60008A95D2F740955095609570958091BC01E7 -:103F70009091BD01A091BE01B091BF01482359238A -:103F80006A237B234093BC015093BD016093BE0123 -:103F90007093BF010C943B1B41E050E060E070E087 -:103FA00004C0440F551F661F771F8A95D2F7809172 -:103FB000BC019091BD01A091BE01B091BF01482705 -:103FC00059276A277B274093BC015093BD0160931A -:103FD000BE017093BF010C943B1B0F931F93009184 -:103FE000BC011091BD012091BE013091BF01DC01E7 -:103FF000CB01802B912BA22BB32B8093BC019093F0 -:10400000BD01A093BE01B093BF011F910F910C940D -:104010003B1B0F931F930091BC011091BD01209198 -:10402000BE013091BF01DC01CB0180239123A2238B -:10403000B3238093BC019093BD01A093BE01B093C4 -:10404000BF011F910F910C943B1B0F931F93009185 -:10405000BC011091BD012091BE013091BF01DC0176 -:10406000CB0180279127A227B3278093BC0190938F -:10407000BD01A093BE01B093BF011F910F910C949D -:104080003B1B0895CF92DF92EF92FF920F931F9305 -:10409000CF93DF938C01C090C001D090C101E0901C -:1040A000C201F090C3014091BC015091BD016091EB -:1040B000BE017091BF01C42AD52AE62AF72ACFE1B2 -:1040C000D0E0D701C6010C2E04C0B695A7959795F0 -:1040D00087950A94D2F780FF07C0B8018C2F0E9401 -:1040E0006A0C8130910531F4219758F7B80180E0CE -:1040F0000E946A0CDF91CF911F910F91FF90EF907A -:10410000DF90CF90089590910C01992321F0909128 -:104110000D01911109C020910E0130910F01F9019B -:1041200032969FEF40E030C0982F969596959695E1 -:104130009F30A0F4E0910E01F0910F01E90FF11D05 -:10414000877021E030E0A90102C0440F551F8A9515 -:10415000E2F7CA019181892B818308959091D7015B -:1041600090FF23C01F928F9389E297E09F938F93D4 -:104170000E9497080F900F900F900F9008959F3F07 -:1041800039F04F5F4E3041F051915813F8CF0DC0C8 -:104190005111F7CF942FF5CF9F3F39F0F901E90F77 -:1041A000F11D97FDFA9582830895089590910C0171 -:1041B000992321F090910D01911109C020910E01D8 -:1041C00030910F01F9013296205F3F4F30C0982F98 -:1041D0009695969596959F30A8F4E0910E01F091F2 -:1041E0000F01E90FF11D877021E030E0A90102C045 -:1041F000440F551F8A95E2F7CA0180959181892362 -:10420000818308959091D70190FF16C01F928F93DC -:104210008BE097E09F938F930E9497080F900F90E9 -:104220000F900F9008953196E217F30729F09081CF -:104230009813F9CF1082F7CF089581E090E0E091D4 -:104240000E01F0910F01E80FF91F108201968031E5 -:104250009105A9F708959091D601892B8093D601F5 -:10426000089580959091D60189238093D601089571 -:104270001092D60108959091D501892B8093D50194 -:10428000089580959091D50189238093D501089553 -:104290001092D50108958093C40108951092C4012D -:1042A000089580910E0190910F01FC0131969C01BF -:1042B000205F3F4F80E0919191118F5FE217F307EC -:1042C000D1F70895E0910E01F0910F018091D60190 -:1042D0008083E0910E01F0910F0190818091D501D2 -:1042E000892B80838091C401882361F0E0910E01C5 -:1042F000F0910F019081892B80830E9451218111BF -:104300001092C40180910E0190910F010C947B15C5 -:1043100090933B0180933A010895CF92DF92EF9200 -:10432000FF926C01EE24FF24C114D104E104F104D6 -:1043300021F0C701B60120E101C020E0C72ED82E30 -:10434000E92EFF24C114D104E104F10419F0285F1F -:10435000C701B6016B017C0154E0F694E794D79451 -:10436000C7945A95D1F7C114D104E104F10419F0AE -:104370002C5FC701B6016B017C0142E0F694E79423 -:10438000D794C7944A95D1F7C114D104E104F1043C -:1043900019F02E5FC701B601DC01CB01B695A795D8 -:1043A00097958795892B8A2B8B2B09F02F5F822F6E -:1043B000FF90EF90DF90CF9008958295982F9C7C8E -:1043C000392F36953695282F237344E0249FC0015A -:1043D0001124932F982B292F2A7A2695892F8575BA -:1043E000880F822B08951F93CF93DF931F92CDB731 -:1043F000DEB799830E94DD21182F9981892F0E94B1 -:10440000DD21212F30E0322F2227A901482BCA01BC -:104410000F90DF91CF911F9108958091F00184302A -:1044200009F11092D80120E488E190E00FB6F894E9 -:10443000A895809360000FBE2093600083B7817FB2 -:10444000846083BF83B7816083BF7894889583B786 -:104450008E7F83BF88E10FB6F8948093600010923E -:1044600060000FBE089508950895CF930E943322EF -:104470000E940F0A0E943422C0E08C2F0E943B0B46 -:10448000811104C0CF5FCE30C1F701C081E0CF9170 -:1044900008950C944D1B82E084BD93E095BD9AEF86 -:1044A00097BD80936E0008952FB7F8948091D9013D -:1044B0009091DA01A091DB01B091DC012FBF08954A -:1044C000CF92DF92EF92FF920F931F932FB7F89442 -:1044D0004091D9015091DA016091DB017091DC01CA -:1044E0002FBF6A017B01EE24FF248C0120E030E025 -:1044F000C016D106E206F30610F4415051099A01A4 -:10450000281B390BC9011F910F91FF90EF90DF908D -:10451000CF9008951F920F920FB60F9211248F9390 -:104520009F93AF93BF938091D9019091DA01A091AD -:10453000DB01B091DC010196A11DB11D8093D90171 -:104540009093DA01A093DB01B093DC01BF91AF91AE -:104550009F918F910F900FBE0F901F9018950E9402 -:104560006D12F8942FEF87EA91E621508040904039 -:10457000E1F700C0000087E090EBDC018093F901D7 -:104580009093FA01A093FB01B093FC019CE088E1B9 -:104590000FB6F894A895809360000FBE90936000CA -:1045A000FFCFEF92FF920F931F93CF93DF93D82FFC -:1045B000C0E08C2F0E943B0B00E010E0E82EF12CB5 -:1045C000C701002E02C0959587950A94E2F780FDF9 -:1045D00006C00F5F1F4F0630110591F709C0602F0D -:1045E0007C2F80E00E94480CD813F3CF81E004C0F8 -:1045F000CF5FCE30F1F680E0DF91CF911F910F9128 -:10460000FF90EF900895CF93C82F8CE20E94D122A3 -:10461000882321F08C2FCF910C94D12280E0CF9170 -:104620000895CF930E946024811102C00E94462405 -:104630008EE497E00E94FE07C5E6C15049F00E9453 -:104640000F0A8FE39CE90197F1F700C00000F5CF56 -:1046500087E497E00E94FE0789E20E94032381110C -:1046600013C18AE20E94032381110E94462485E03F -:104670000E94032381110E94AF220E946B24809329 -:10468000D70187E00E9403238823A9F18BE10E94D0 -:104690000323882351F08091D70181FB222720F941 -:1046A00091E0922790FB81F90EC08EE00E940323D7 -:1046B000882361F08091D70182FB222720F991E0C5 -:1046C000922790FB82F98093D70115C080E10E9468 -:1046D00003239091D701882341F093FB222720F9EF -:1046E00081E0822780FB93F904C0892F809580FBAD -:1046F00090F99093D7018091D7010E946F240E9476 -:104700007D248093EA0180EE0E940323882341F0F8 -:104710008091EA01982F909590FB80F98093EA01AF -:1047200089E30E940323882359F08091EA0181FBE9 -:10473000222720F991E0922790FB81F98093EA01EA -:1047400082EE0E940323882359F08091EA0182FBC4 -:10475000222720F991E0922790FB82F98093EA01C9 -:1047600086EE0E940323882359F08091EA0183FB9F -:10477000222720F991E0922790FB83F98093EA01A8 -:1047800083EE0E940323882359F08091EA0184FB81 -:10479000222720F991E0922790FB84F98093EA0187 -:1047A00085E30E940323882359F08091EA0185FB69 -:1047B000222720F991E0922790FB85F98093EA0166 -:1047C00081E30E940323882359F08091EA0186FB4C -:1047D000222720F991E0922790FB86F98093EA0145 -:1047E00081E10E940323882359F08091EA0187FB2D -:1047F000222720F991E0922790FB87F98093EA0124 -:104800008091EA010E9481248091EA0187FB882738 -:1048100080F980930D0187E20E940323C82F8EE167 -:104820000E9403238111C2608FE10E940323811142 -:10483000C46080E20E9403238111C86081E20E946B -:1048400003238111C06182E20E9403238111C062AF -:1048500083E20E9403238111C06484E20E94032347 -:10486000882311F0C06802C0CC2329F08C2F0E944D -:1048700078246C2F03C00E947424682F70E080E0BD -:1048800090E0CF910C94091FCF9108956DEE7EEFCB -:1048900080E090E00E94492E60E082E090E00E947B -:1048A0003B2E60E083E090E00E943B2E60E084E0DD -:1048B00090E00E943B2E60E085E090E00C943B2E5F -:1048C00080E090E00E94352E21E08D3E9E4F09F061 -:1048D00020E0822F089582E090E00C942D2E682F26 -:1048E00082E090E00C943B2E83E090E00C942D2E1F -:1048F000682F83E090E00C943B2E84E090E00C94D1 -:104900002D2E682F84E090E00C943B2E8091DF01E7 -:1049100080FF0BC06091130185E0689FB0011124F6 -:1049200075956795759567952BC081FF09C0609156 -:10493000130185E0689FB00111247595679520C02B -:1049400082FF07C06091130185E0689FB0011124C8 -:1049500017C09091E0019923D1F060911201961750 -:1049600088F72091130185E0289F90011124929FE0 -:10497000A001939F500D112470E0CA010E94FF2DE9 -:104980006038710540F46115710539F002C065E0C9 -:1049900070E0862F08958FE7089581E00895809153 -:1049A000DF0180FF08C06091110170E07595679587 -:1049B0007595679521C081FF06C06091110170E077 -:1049C0007595679519C082FF04C06091110170E070 -:1049D00010C09091E0019923C1F0609110019617E9 -:1049E000A0F780911101899FC001112470E00E94FD -:1049F000FF2D6038710528F46115710521F0862FAF -:104A000008958FE7089581E0089561E070E0F4CFA4 -:104A1000803F21F40E948624819504C0813F29F4BF -:104A20000E9486248093E3010895823F21F40E942E -:104A30008624819504C0833F29F40E9486248093B4 -:104A4000E2010895893F19F40E94CF2405C08A3FEE -:104A500031F40E94CF2481958093E40108958B3F27 -:104A600021F40E94CF24819504C08C3F29F40E9438 -:104A7000CF248093E5010895843F21F48091E101E2 -:104A8000816017C0853F21F48091E101826011C0EF -:104A9000863F21F48091E10184600BC0873F21F4BF -:104AA0008091E101886005C0883F31F48091E10187 -:104AB00080618093E10108958D3F21F48091DF01B1 -:104AC00081600BC08E3F21F48091DF01826005C0C0 -:104AD0008F3F29F48091DF0184608093DF01089586 -:104AE000803F39F48091E30187FF6CC01092E301AD -:104AF00069C0813F29F48091E3011816BCF362C0BC -:104B00009091E201823F29F497FF5CC01092E2018C -:104B100059C0833F19F41916CCF354C0893F41F4AE -:104B20008091E40118160CF04DC01092E4014AC0C7 -:104B30008A3F29F48091E40187FF44C0F6CF8B3F80 -:104B400039F48091E50187FF3DC01092E5013AC03C -:104B50008C3F29F48091E5011816BCF333C0843FE3 -:104B600021F48091E1018E7F17C0853F21F480916F -:104B7000E1018D7F11C0863F21F48091E1018B7F9F -:104B80000BC0873F21F48091E101877F05C0883FFA -:104B900031F48091E1018F7E8093E10113C08D3F5C -:104BA00021F48091DF018E7F0BC08E3F21F4809134 -:104BB000DF018D7F05C08F3F29F48091DF018B7F5E -:104BC0008093DF018091E20181110EC08091E301A9 -:104BD00081110AC08091E401811106C08091E50134 -:104BE000811102C01092E00108958091D70183FFE6 -:104BF0007EC08AE897E00E94FE078091E1011F9243 -:104C00008F9385E897E09F938F930E94970883E89E -:104C100097E00E94FE078091E201282F332727FDAD -:104C200030953F938F9380E897E09F938F930E94F6 -:104C300097088EE797E00E94FE078091E301282FF6 -:104C4000332727FD30953F938F938BE797E09F9312 -:104C50008F930E94970889E797E00E94FE07809152 -:104C6000E401282F332727FD30953F938F9386E764 -:104C700097E09F938F930E94970884E797E00E94A4 -:104C8000FE078091E501282F332727FD30953F93BC -:104C90008F9381E797E09F938F930E9497088EE60A -:104CA00097E00E94FE078091E0011F928F938BE6B0 -:104CB00097E09F938F930E94970889E697E00E9460 -:104CC000FE078091DF011F928F9386E697E09F9306 -:104CD0008F930E94970883E697E00E94FE078DB7A6 -:104CE0009EB74C960FB6F8949EBF0FBE8DBF81EE57 -:104CF00091E00E94C4150E9454229093DE0180939B -:104D0000DD0108951F93CF93DF938091DD01909192 -:104D1000DE010E946022AC019091E001992321F014 -:104D20002091140130E006C0209115018AE0289FEF -:104D3000900111244217530708F486C08091E201C4 -:104D4000C091E301D091E4011091E501811107C008 -:104D5000C11176C0D11174C0111172C075C09F3FCE -:104D600019F09F5F9093E001181624F40E948624A6 -:104D70008093E2018091E20187FF05C00E948624B2 -:104D800081958093E2011C1624F40E94862480936E -:104D9000E3018091E30187FF05C00E94862481958D -:104DA0008093E3016091E201662339F1C091E30150 -:104DB000CC2319F1772767FD7095872F972F0E94D5 -:104DC000042D23E333E343E35FE30E94682D0E9455 -:104DD000D12C6093E2016C2F772767FD7095872FA8 -:104DE000972F0E94042D23E333E343E35FE30E9404 -:104DF000682D0E94D12C6093E3011D1624F40E94BB -:104E0000CF248093E4018091E40187FF05C00E94D4 -:104E1000CF2481958093E401111624F40E94CF24BD -:104E20008093E5018091E50187FF05C00E94CF24B2 -:104E300081958093E501DF91CF911F910C94F52529 -:104E40009F3F09F08ECF96CFDF91CF911F910895AC -:104E5000E1EEF1E085E0DF011D928A95E9F710921D -:104E6000E0011092DF0108958DEA99E00E94FE07AB -:104E70001F9281E08F931F9285E08F938FE599E0D9 -:104E80009F938F930E9497080F900F900F900F9011 -:104E90000F900F9008958330E9F128F4813061F08C -:104EA000823009F10895853009F462C008F449C0E0 -:104EB000863009F474C0089580911501262F30E0E2 -:104EC000280F311D2F3F310524F4680F6093150121 -:104ED00003C08FEF80931501809115011F928F936E -:104EE00088E998E072C080911401262F30E0280FE5 -:104EF000311D2F3F310524F4680F6093140103C066 -:104F00008FEF80931401809114011F928F9386E894 -:104F100098E05BC080911301262F30E0280F311DEF -:104F20002F3F310524F4680F6093130103C08FEF06 -:104F300080931301809113011F928F9383E798E070 -:104F400044C080911201262F30E0280F311D2F3FE1 -:104F5000310524F4680F6093120103C08FEF809332 -:104F60001201809112011F928F938EE598E02DC05F -:104F700080911101262F30E0280F311D2F3F310580 -:104F800024F4680F6093110103C08FEF8093110127 -:104F9000809111011F928F9385E498E016C0809153 -:104FA0001001262F30E0280F311D2F3F310524F44A -:104FB000680F6093100103C08FEF80931001809100 -:104FC00010011F928F938AE298E09F938F930E9423 -:104FD00097080F900F900F900F900895833081F1F4 -:104FE00028F4813059F08230D1F00895853009F4E9 -:104FF00049C0B8F1863009F456C008958091150172 -:10500000681720F4861B8093150102C010921501C9 -:10501000809115011F928F938BE198E054C080918D -:105020001401681720F4861B8093140102C01092AB -:105030001401809114011F928F9389E098E043C07E -:1050400080911301681720F4861B8093130102C01E -:1050500010921301809113011F928F9386EF97E0B6 -:1050600032C080911201681720F4861B80931201D0 -:1050700002C010921201809112011F928F9381EE53 -:1050800097E021C080911101681720F4861B80935E -:10509000110102C010921101809111011F928F9392 -:1050A00088EC97E010C080911001681720F4861BEF -:1050B0008093100102C010921001809110011F9284 -:1050C0008F938DEA97E09F938F930E9497080F909C -:1050D0000F900F900F900895CF93C82F1F928F932A -:1050E00082EB9AE09F938F930E94970881E090E073 -:1050F000A0E0B0E0BC01CD0104C0660F771F881F9F -:10510000991FCA95D2F70E94091F0F900F900F9018 -:105110000F90CF910C944D1BCF938D3109F465C046 -:10512000B0F58E3009F4CCC100F5873009F49BC18D -:10513000A8F4863009F06DC28091D701817F8E7FFF -:105140008093D70187EB9AE00E94FE0789EF9EE0EB -:105150000E94FE0781E08093E70180C1883009F456 -:105160004FC08B3009F47CC154C2863109F4F0C1C0 -:1051700038F4803109F4B8C1813109F430C249C230 -:10518000893109F4CEC18B3109F486C142C285331D -:1051900009F437C248F4873209F433C208F433C241 -:1051A000893209F42EC235C2833438F48A3308F0C8 -:1051B0002CC2883309F454C12CC2833409F421C2AF -:1051C000883409F026C20E944D1B88EE9EE00E94A2 -:1051D000FE079FEF23ED80E3915020408040E1F7F0 -:1051E00000C000000E94AF2239C188E09FE00E9409 -:1051F000FE070E948B2C0E946F150E94A10D2EC1EC -:105200008DEF9EE00E94FE0788EC9CE00E94FE0766 -:105210000E9474241F928F9385EC9CE09F938F9340 -:105220000E94970883EC9CE00E94FE070E946B247A -:10523000C82F80EB9CE00E94FE071F92CF938BEA61 -:105240009CE09F938F930E94970889EA9CE00E94BC -:10525000FE078FE99CE00E94FE078C2F81701F9251 -:105260008F938CE99CE09F938F930E9497088AE923 -:105270009CE00E94FE0780E99CE00E94FE07C1FBC3 -:10528000882780F91F928F938DE89CE09F938F93DE -:105290000E9497088BE89CE00E94FE078FE79CE045 -:1052A0000E94FE07C2FB882780F91F928F938CE72C -:1052B0009CE09F938F930E9497088AE79CE00E944E -:1052C000FE0781E79CE00E94FE07C3FBCC27C0F9E4 -:1052D0001F92CF938EE69CE09F938F930E94970836 -:1052E0008CE69CE00E94FE070E947D24C82F88E582 -:1052F0009CE00E94FE071F92CF9383E59CE09F9362 -:105300008F930E94970881E59CE00E94FE0788E346 -:105310009CE00E94FE078C2F81701F928F9385E383 -:105320009CE09F938F930E9497088DB79EB78096BD -:105330000FB6F8949EBF0FBE8DBF83E39CE00E9422 -:10534000FE078CE19CE00E94FE07C1FB882780F9E4 -:105350001F928F9389E19CE09F938F930E949708FF -:1053600087E19CE00E94FE0785E09CE00E94FE072A -:10537000C2FB882780F91F928F9382E09CE09F9365 -:105380008F930E94970880E09CE00E94FE078EEEBB -:105390009BE00E94FE07C3FB882780F91F928F9332 -:1053A0008BEE9BE09F938F930E94970889EE9BE082 -:1053B0000E94FE078FED9BE00E94FE07C4FB88273A -:1053C00080F91F928F938CED9BE09F938F930E94A7 -:1053D00097088AED9BE00E94FE0788EC9BE00E9404 -:1053E000FE07C5FB882780F91F928F9385EC9BE011 -:1053F0009F938F930E94970883EC9BE00E94FE0787 -:1054000087EA9BE00E94FE07C6FB882780F91F926F -:105410008F9384EA9BE09F938F930E94970882EA80 -:105420009BE00E94FE078AE99BE00E94FE07C7FB03 -:10543000CC27C0F91F92CF9387E99BE09F938F936E -:105440000E94970885E99BE00E94FE078DB79EB7F2 -:105450004C960FB6F8949EBF0FBE8DBFC1E0DEC064 -:105460008EED9AE05BC08091D701C82FC17080FF9C -:1054700009C08BED9EE00E94FE078091D701817FDD -:105480008E7F47C08FEC9EE00E94FE078091D7017F -:1054900081608093D701E2CF9091D70191FBCC2717 -:1054A000C0F981E0C827892FC0FB81F98093D7011B -:1054B000CC2319F082EC9EE027C084EB9EE02EC046 -:1054C0009091D70192FBCC27C0F981E0C827892FA2 -:1054D000C0FB82F98093D701CC2319F085EA9EE0C6 -:1054E00013C085E99EE01AC09091D70193FBCC27A9 -:1054F000C0F981E0C827892FC0FB83F98093D701C9 -:10550000CC2351F089E89EE00E94FE078091D701EC -:1055100081608093D70182C08CE79EE00E94FE07E5 -:105520009DCF8DE69EE00E94FE0781E49EE00E94F2 -:10553000FE0784E09EE00E94FE0787ED9DE00E944A -:10554000FE0783E99DE00E94FE0788E69DE0E6CF26 -:105550008AE59DE00E94FE070E946F151F928F93BF -:1055600080E49DE09F938F930E94970880910C01A7 -:105570001F928F9389E29DE09F938F930E949708DB -:1055800080916E011F928F9386E19DE09F938F9390 -:105590000E94970880910D011F928F9383E09DE0F8 -:1055A0009F938F930E9497088091D9019091DA017F -:1055B000A091DB01B091DC01BF93AF939F938F93D8 -:1055C0008FEE9CE09F938F930E9497088DB79EB7B4 -:1055D00046960FB6F8949EBF0FBE8DBF3FCF0E9478 -:1055E0004D1BC0910D0181E0C827C0930D01CC2354 -:1055F00029F085EE9CE00E94FE0710C08AED9CE039 -:105600008DCF80E003C08D5101C089530E946C286A -:1056100025CF88ED9CE00E94FE07C0E08C2FCF9143 -:10562000089580E0089580E00895CF93C82F809179 -:10563000E701813081F020F0823009F44FC045C18C -:10564000E0910E01F0910F018081813169F0823289 -:1056500009F03DC109C0E0910E01F0910F01808178 -:10566000813111F0823261F48C2F0E94112B811153 -:1056700004C08C2F0E948C282FC081E090E02CC0A9 -:105680008C2F0E94132B811126C0C431E1F070F4DD -:10569000CB3081F0C031D1F40E9434278AEA9AE0FD -:1056A0000E94FE0782E08093E70115C0C93259F0DD -:1056B000C83361F487EB9AE00E94FE078EEA9AE015 -:1056C0000E94FE0708C01092E70103C188EA9AE031 -:1056D0000E94FE07FEC081E08170FDC0C43220F54B -:1056E000CE3108F0C0C0CB3099F1C8F4C73009F012 -:1056F000D2C08AE08093150194E19093140193E065 -:10570000909313018093120188E08093110188E245 -:10571000809310018EE499E00E94FE07BFC0C33160 -:1057200049F1C431C1F0B7C0CB3409F4A9C028F4A1 -:10573000C93289F0C83361F0AEC0C13509F49EC0EA -:10574000C23509F499C0CE3409F0A5C06AE09EC004 -:105750000E943427A3C08091E601882319F010929B -:10576000E6019CC08BE599E00E94FE0781E08093F2 -:10577000E701B1C085E399E00E94FE0783E299E06A -:105780000E94FE07809115011F928F9380E299E09D -:105790009F938F930E9497088EE199E00E94FE07E5 -:1057A0008CE099E00E94FE07809114011F928F9374 -:1057B00089E099E09F938F930E94970887E099E092 -:1057C0000E94FE0788EF98E00E94FE078091130177 -:1057D0001F928F9385EF98E09F938F930E94970875 -:1057E00083EF98E00E94FE0782EE98E00E94FE0799 -:1057F000809112011F928F938FED98E09F938F936A -:105800000E9497088DED98E00E94FE0788EC98E0D2 -:105810000E94FE07809111011F928F9385EC98E002 -:105820009F938F930E94970883EC98E00E94FE0755 -:105830008CEA98E00E94FE07809110011F928F93DE -:1058400089EA98E09F938F930E94970887EA98E0EF -:105850000E94FE078DB79EB748960FB6F8949EBF7C -:105860000FBE8DBF1BC0CE51EC2FF0E0E15DFE4FAF -:1058700080818093E60112C061E003C061E006C050 -:105880006AE08091E6010E944B2708C08091E60102 -:105890000E94EE2703C08CE499E013C08091E601DA -:1058A000882369F01F928F9386E499E09F938F93EA -:1058B0000E9497080F900F900F900F9004C083E400 -:1058C00099E00E94FE0781E006C01092E70180E0A7 -:1058D00002C080E001CFCF910895E1E8F0E080813F -:1058E000886080838081816080838FB7F89493E0A3 -:1058F0009093890090ED909388008FBF0895EFE614 -:10590000F0E08081826080830895EFE6F0E080819E -:105910008D7F80830895EFE6F0E0908182E0892713 -:10592000808308951F920F920FB60F9211242F9328 -:105930003F934F935F936F937F938F939F93AF9317 -:10594000BF93EF93FF938091E8019091E901019655 -:105950009093E9018093E801811103C082E00E94E5 -:10596000A10DE091E901E695E695F0E0E85EF04FE3 -:10597000E4918091E8018E1303C080E00E94A10DA4 -:10598000FF91EF91BF91AF919F918F917F916F9117 -:105990005F914F913F912F910F900FBE0F901F90ED -:1059A000189504D06894B1118DC0089570D088F016 -:1059B0009F5790F0B92F9927B751A0F0D1F0660FFB -:1059C000771F881F991F1AF0BA95C9F712C0B13016 -:1059D00081F077D0B1E0089574C0672F782F8827C1 -:1059E000B85F39F0B93FCCF3869577956795B39555 -:1059F000D9F73EF490958095709561957F4F8F4FC4 -:105A00009F4F0895E89409C097FB3EF490958095C8 -:105A1000709561957F4F8F4F9F4F9923A9F0F92F74 -:105A200096E9BB279395F695879577956795B795F2 -:105A3000F111F8CFFAF4BB0F11F460FF1BC06F5FD8 -:105A40007F4F8F4F9F4F16C0882311F096E911C0EA -:105A5000772321F09EE8872F762F05C0662371F00B -:105A600096E8862F70E060E02AF09A95660F771F1F -:105A7000881FDAF7880F9695879597F9089557FD4F -:105A80009058440F551F59F05F3F71F04795880FAC -:105A900097FB991F61F09F3F79F087950895121643 -:105AA00013061406551FF2CF4695F1DF08C01616EF -:105AB00017061806991FF1CF8695710561050894A0 -:105AC0000895E894BB2766277727CB0197F90895B7 -:105AD0000BD078C069D028F06ED018F0952309F06B -:105AE0005AC05FC01124EECFCADFA0F3959FD1F357 -:105AF000950F50E0551F629FF001729FBB27F00D7C -:105B0000B11D639FAA27F00DB11DAA1F649F6627D0 -:105B1000B00DA11D661F829F2227B00DA11D621F1F -:105B2000739FB00DA11D621F839FA00D611D221FD9 -:105B3000749F3327A00D611D231F849F600D211DBD -:105B4000822F762F6A2F11249F5750408AF0E1F060 -:105B500088234AF0EE0FFF1FBB1F661F771F881FA9 -:105B600091505040A9F79E3F510570F014C0AACF44 -:105B70005F3FECF3983EDCF3869577956795B79594 -:105B8000F795E7959F5FC1F7FE2B880F911D9695BE -:105B9000879597F9089597F99F6780E870E060E02E -:105BA00008959FEF80EC089500240A9416161706B6 -:105BB00018060906089500240A94121613061406FE -:105BC00005060895092E0394000C11F4882352F061 -:105BD000BB0F40F4BF2B11F460FF04C06F5F7F4F19 -:105BE0008F4F9F4F0895991B79E004C0991F961716 -:105BF00008F0961B881F7A95C9F78095089597FB42 -:105C0000072E16F4009407D077FD09D00E94192EB4 -:105C100007FC05D03EF4909581959F4F08957095AF -:105C200061957F4F0895EE0FFF1F0590F491E02DD1 -:105C30000994AA1BBB1B51E107C0AA1FBB1FA617D3 -:105C4000B70710F0A61BB70B881F991F5A95A9F725 -:105C500080959095BC01CD010895F999FECF92BD34 -:105C600081BDF89A992780B50895A8E1B0E042E097 -:105C700050E00C94502E262FF999FECF1FBA92BDFA -:105C800081BD20BD0FB6F894FA9AF99A0FBE01961D -:105C900008950E943B2E272F0C943C2EDC01CB0153 -:105CA000FC01F999FECF06C0F2BDE1BDF89A31962C -:105CB00000B40D9241505040B8F70895F894FFCFCA -:105CC0002002A20D930E700E3C0E080E0101C501BC -:105CD00028080A03140A3F4D36203998064B06154A -:105CE00006F505BC052F05480561057A059A0501ED -:0A5CF000020304050607080900007E +:103580000C94B01F002359F38B2D8F7126960FB624 +:10359000F894DEBF0FBECDBFDF91CF911F910F9189 +:1035A000FF90EF90DF90CF90BF900C94D11F00233D +:1035B00099F08B2D8F7126960FB6F894DEBF0FBE53 +:1035C000CDBFDF91CF911F910F91FF90EF90DF90D2 +:1035D000CF90BF900C949B1F26960FB6F894DEBF39 +:1035E0000FBECDBFDF91CF911F910F91FF90EF9054 +:1035F000DF90CF90BF900C94911F0023A9F022235D +:1036000009F4ADCF812F26960FB6F894DEBF0FBE1A +:10361000CDBFDF91CF911F910F91FF90EF90DF9081 +:10362000CF90BF900C942717222309F4ADCF812FA0 +:1036300026960FB6F894DEBF0FBECDBFDF91CF91B7 +:103640001F910F91FF90EF90DF90CF90BF900C945F +:10365000EF174B2D4F70612FC7010E94A0082696CF +:103660000FB6F894DEBF0FBECDBFDF91CF911F9193 +:103670000F91FF90EF90DF90CF90BF900C94B51E0C +:103680004B2D4F70612FC70126960FB6F894DEBF01 +:103690000FBECDBFDF91CF911F910F91FF90EF90A3 +:1036A000DF90CF90BF900C94710C26960FB6F894D3 +:1036B000DEBF0FBECDBFDF91CF911F910F91FF9065 +:1036C000EF90DF90CF90BF9008950E9472210E94EA +:1036D00047210E948C210E9452270E941F2680E0D1 +:1036E00090E00E94F91580E090E00C940F160E9483 +:1036F00062210C94651B0E946C20292F22952F704B +:1037000030E02C3031054CF42A3031056CF4225075 +:1037100031092230310588F407C02C30310549F0D9 +:103720002F30310531F009C0803E48F0803F29F448 +:1037300006C093FB882780F9089580E0089581E012 +:103740000895CF93DF9300D000D01F92CDB7DEB79E +:103750000F900F900F900F900F90DF91CF910895E1 +:10376000CF93DF9300D000D000D0CDB7DEB7269640 +:103770000FB6F894DEBF0FBECDBFDF91CF91089595 +:103780001F93CF93DF93C091840116E08091850150 +:10379000C81799F0D0E01C9FF0011D9FF00D112477 +:1037A000EA57FE4F40815181628173818481958106 +:1037B0000E94B01B2196C770E9CFDF91CF911F9176 +:1037C00008954091B6015091B7016091B801709190 +:1037D000B9018091BA019091BB010C94B01B80910A +:1037E000BB0182958F7009F054C08091B801882385 +:1037F00009F44FC080918401A09185016091B601C8 +:103800007091B7014091B9015091BA01B6E08A17A1 +:1038100009F43FC090E041155105C1F17F3F11F41B +:103820006F3FA1F1B89FF001B99FF00D1124EA5745 +:10383000FE4F218172132AC02081621327C022818A +:10384000211124C0238134812417350710F421501D +:103850003109241B350B283C3105C0F42091BB01F4 +:103860002F7020612093BB0126E0289FF001299F43 +:10387000F00D1124E557FE4F80818F7080618083A9 +:1038800086EB91E00E944C180C94C01B0196877047 +:10389000BECF0895CF92DF92EF92FF920F931F93C6 +:1038A000CF93DF93CDB7DEB762970FB6F894DEBF44 +:1038B0000FBECDBF8C0185E0F801DE011D960190A1 +:1038C0000D928A95E1F7D8014C9111965C91119770 +:1038D00012966C9112971396CD90DC9014973091BC +:1038E000B6017091B7018091B9019091BA0100972A +:1038F00009F46BC17F3F19F43F3F09F466C1E090C2 +:10390000B801EE2009F4C0C02091BB01C816D90649 +:1039100028F0F601E81BF90BCF0104C080959095C3 +:103920008C0D9D1DFF24F394883C910578F0F12CBB +:10393000207F09F0C6C07C2DD98AC88A89890E9457 +:10394000A11B86EB91E00E944C18B1C0822F807FB2 +:1039500009F046C0751314C0341312C0611110C0B1 +:103960002F7020612093BB010E94E11B86EB91E048 +:103970000E944C188091BB01D80115968C932EC0E3 +:10398000CD2819F15F3F11F44F3FF9F0F62E611188 +:103990001CC0809184012091850136E0821709F4D2 +:1039A0005AC090E0389FF001399FF00D1124EA577A +:1039B000FE4F7181571306C07081471303C0728197 +:1039C000711103C001968770E9CFF62E662309F4C2 +:1039D00018C18091BB0181608093BB01F12C11C1A2 +:1039E000751308C0341306C0611104C08091BB0177 +:1039F000D801C3C04D875E878D859E856A8B0E94E6 +:103A00007B1B6A898823E1F16623D1F12091BB01F8 +:103A1000822F82958F7090E0029774F08091B601AA +:103A20009091B70198878F831986DB86CA862C8789 +:103A3000CE0107960E944C1886E0F801A6EBB1E093 +:103A400001900D928A95E1F70E94EF1B0E94E11B05 +:103A5000FF24F394D6C04D875E878D859E850E9496 +:103A60006C20292F22952F7030E0223031050CF088 +:103A7000BCC09F7009F0B6C0805E883008F4C1C039 +:103A8000C8010E944C18E4CFC816D90608F453C0E8 +:103A9000F601E81BF90BCF01883C910508F450C0F2 +:103AA000F12C7C2DD98AC88A89890E94A11BE6EB5A +:103AB000F1E086E0DF011D928A95E9F70E94E11BA3 +:103AC000A0C0751314C0341312C0611110C08091CE +:103AD000BB01F8018583C8010E944C1886E0E6EB23 +:103AE000F1E0DF011D928A95E9F7FE2C8AC04D872F +:103AF0005E878D859E856A8B0E947B1B6A898823E1 +:103B000009F4BECF662309F4BBCF2091BB01822FFD +:103B100082958F7090E002970CF48ECF8091B60161 +:103B20009091B7019A8389831B82DD82CC822E8398 +:103B3000CE0101967FCF809590958C0D9D1DACCFC9 +:103B4000F62E662309F49CCF75132EC034132CC0B7 +:103B50002091BB0120FD1FC0822F82958F70D9F06C +:103B6000D80115962C9315978F3049F08F5F982FB9 +:103B70009295907F822F8F70892B15968C93C80118 +:103B80000E944C1886E0F801A6EBB1E001900D927E +:103B90008A95E1F793CF86E0F801A6EBB1E00190BA +:103BA0000D928A95E1F72DC04D875E878D859E85A4 +:103BB0000E947B1B811140CF8091BB01816080936B +:103BC000BB01C8010E944C181CC0662309F458CFE1 +:103BD0004D875E878D859E850E947B1B882309F417 +:103BE0004FCF2ACF811148CF0CC0243031050CF0C3 +:103BF00047CF9F7009F440CFF8019581907F09F07D +:103C00003BCF8F2D62960FB6F894DEBF0FBECDBFAF +:103C1000DF91CF911F910F91FF90EF90DF90CF90A8 +:103C200008951F93CF93DF93CDB7DEB72C970FB6D0 +:103C3000F894DEBF0FBECDBF4F83588769877A8760 +:103C40008B879C87CE0107960E944A1C882369F0C7 +:103C50008F8198852A853B85232BF1F19F3F09F0C1 +:103C600063C08F3F09F060C037C086E0FE01379621 +:103C7000DE01119601900D928A95E1F76F817885AA +:103C8000EA85FB85309741F17F3F11F46F3F21F1C9 +:103C90002091850130E0C9010196877099274091F4 +:103CA000840150E08417950709F447C069837A833B +:103CB000FD83EC8396E0929FD001939FB00D112479 +:103CC000AA57BE4FFE01319601900D929A95E1F7E9 +:103CD000809385010E94C01B16E080918401909121 +:103CE00085018917C1F1189FC00111248A579E4F81 +:103CF0000E944A1C882379F1E09184011E9FF00103 +:103D00001124EA57FE4F4081518162817381848181 +:103D100095810E94B01B8091840190E0019687708C +:103D2000992780938401D9CF4F81588569857A85F9 +:103D30008B859C850E94B01BCFCF0E94771B109271 +:103D4000850110928401E6EBF1E086E0DF011D922F +:103D50008A95E9F7C1CF2C960FB6F894DEBF0FBE57 +:103D6000CDBFDF91CF911F910895EF92FF920F93F6 +:103D70001F93CF93DF938C01892B09F46CC0F12C36 +:103D8000EE24E394E8012196F8018491843740F40D +:103D9000843008F051C0813081F0823019F15BC06D +:103DA000853709F444C0A8F19CE7980F903708F0D4 +:103DB00052C08F770E94EF1741C00E5F1F4FFE0168 +:103DC000C49180E28C0F883048F4C7708E2D01C0FA +:103DD000880FCA95EAF70E94652114C08C2F0E94B3 +:103DE00027172DC00E5F1F4FFE01C49180E28C0F7C +:103DF000883058F4C7708E2D01C0880FCA95EAF735 +:103E00000E946B210E948C211AC08C2F0E94EF17F8 +:103E100016C00E5F1F4FFE01C491CC2381F08FE9C5 +:103E20009FE00197F1F700C00000C150F6CF0E5F90 +:103E30001F4FFE01F49003C00E9427178E018F2DA3 +:103E4000882309F49FCFEFE9FFE03197F1F700C035 +:103E500000008150F5CFDF91CF911F910F91FF901E +:103E6000EF90089508956093C0017093C10180930D +:103E7000C2019093C3010C94651B0F931F93009193 +:103E8000C0011091C1012091C2013091C301DC0138 +:103E9000CB01802B912BA22BB32B8093C00190934D +:103EA000C101A093C201B093C3011F910F910C9463 +:103EB000651B0F931F930091C0011091C1012091C8 +:103EC000C2013091C301DC01CB0180239123A223E5 +:103ED000B3238093C0019093C101A093C201B0931A +:103EE000C3011F910F910C94651B0F931F930091B9 +:103EF000C0011091C1012091C2013091C301DC01C8 +:103F0000CB0180279127A227B3278093C0019093EC +:103F1000C101A093C201B093C3011F910F910C94F2 +:103F2000651B1092BC011092BD011092BE0110924F +:103F3000BF010C94651B41E050E060E070E004C0FC +:103F4000440F551F661F771F8A95D2F74093BC0117 +:103F50005093BD016093BE017093BF010C94651B2B +:103F600041E050E060E070E004C0440F551F661F60 +:103F7000771F8A95D2F78091BC019091BD01A091E5 +:103F8000BE01B091BF01482B592B6A2B7B2B40936C +:103F9000BC015093BD016093BE017093BF010C94AE +:103FA000651B41E050E060E070E004C0440F551F25 +:103FB000661F771F8A95D2F740955095609570954A +:103FC0008091BC019091BD01A091BE01B091BF0153 +:103FD000482359236A237B234093BC015093BD019E +:103FE0006093BE017093BF010C94651B41E050E0EB +:103FF00060E070E004C0440F551F661F771F8A956C +:10400000D2F78091BC019091BD01A091BE01B09109 +:10401000BF01482759276A277B274093BC0150934B +:10402000BD016093BE017093BF010C94651B0F939B +:104030001F930091BC011091BD012091BE013091F0 +:10404000BF01DC01CB01802B912BA22BB32B8093E2 +:10405000BC019093BD01A093BE01B093BF011F911D +:104060000F910C94651B0F931F930091BC0110914D +:10407000BD012091BE013091BF01DC01CB01802345 +:104080009123A223B3238093BC019093BD01A093FD +:10409000BE01B093BF011F910F910C94651B0F934C +:1040A0001F930091BC011091BD012091BE01309180 +:1040B000BF01DC01CB0180279127A227B327809382 +:1040C000BC019093BD01A093BE01B093BF011F91AD +:1040D0000F910C94651B0895CF92DF92EF92FF929F +:1040E0000F931F93CF93DF938C01C090C001D090AA +:1040F000C101E090C201F090C3014091BC01509118 +:10410000BD016091BE017091BF01C42AD52AE62A83 +:10411000F72ACFE1D0E0D701C6010C2E04C0B69536 +:10412000A795979587950A94D2F780FF07C0B801A5 +:104130008C2F0E94940C8130910531F4219758F70F +:10414000B80180E00E94940CDF91CF911F910F91F4 +:10415000FF90EF90DF90CF90089590910C019923FC +:1041600021F090910D01911109C020910E01309123 +:104170000F01F90132969FEF40E030C0982F9695DD +:10418000969596959F30A0F4E0910E01F0910F0165 +:10419000E90FF11D877021E030E0A90102C0440F52 +:1041A000551F8A95E2F7CA019181892B8183089571 +:1041B0009091D70190FF23C01F928F9389E297E0DF +:1041C0009F938F930E9497080F900F900F900F90DE +:1041D00008959F3F39F04F5F4E3041F05191581391 +:1041E000F8CF0DC05111F7CF942FF5CF9F3F39F085 +:1041F000F901E90FF11D97FDFA958283089508955D +:1042000090910C01992321F090910D01911109C019 +:1042100020910E0130910F01F9013296205F3F4F3E +:1042200030C0982F9695969596959F30A8F4E0917A +:104230000E01F0910F01E90FF11D877021E030E0D0 +:10424000A90102C0440F551F8A95E2F7CA01809563 +:1042500091818923818308959091D70190FF16C0A1 +:104260001F928F938BE097E09F938F930E94970804 +:104270000F900F900F900F9008953196E217F3076B +:1042800029F090819813F9CF1082F7CF089581E03B +:1042900090E0E0910E01F0910F01E80FF91F1082FC +:1042A000019680319105A9F708959091D601892B47 +:1042B0008093D601089580959091D60189238093AB +:1042C000D60108951092D60108959091D501892BB9 +:1042D0008093D501089580959091D501892380938D +:1042E000D50108951092D50108958093C4010895D1 +:1042F0001092C401089580910E0190910F01FC016C +:1043000031969C01205F3F4F80E0919191118F5F2A +:10431000E217F307D1F70895E0910E01F0910F0134 +:104320008091D6018083E0910E01F0910F01908180 +:104330008091D501892B80838091C401882361F00D +:10434000E0910E01F0910F019081892B80830E94F2 +:104350007B2181111092C40180910E0190910F0177 +:104360000C94A51590933B0180933A010895CF9248 +:10437000DF92EF92FF926C01EE24FF24C114D1046E +:10438000E104F10421F0C701B60120E101C020E001 +:10439000C72ED82EE92EFF24C114D104E104F10464 +:1043A00019F0285FC701B6016B017C0154E0F69457 +:1043B000E794D794C7945A95D1F7C114D104E10476 +:1043C000F10419F02C5FC701B6016B017C0142E0DA +:1043D000F694E794D794C7944A95D1F7C114D104C1 +:1043E000E104F10419F02E5FC701B601DC01CB0135 +:1043F000B695A79597958795892B8A2B8B2B09F0D6 +:104400002F5F822FFF90EF90DF90CF9008958295DD +:10441000982F9C7C392F36953695282F237344E0AE +:10442000249FC0011124932F982B292F2A7A269597 +:10443000892F8575880F822B08951F93CF93DF9363 +:104440001F92CDB7DEB799830E940722182F99815A +:10445000892F0E940722212F30E0322F2227A90125 +:10446000482BCA010F90DF91CF911F910895809141 +:10447000F001843009F11092D80120E488E190E045 +:104480000FB6F894A895809360000FBE209360004B +:1044900083B7817F846083BF83B7816083BF789453 +:1044A000889583B78E7F83BF88E10FB6F894809399 +:1044B0006000109260000FBE089508950895CF9394 +:1044C0000E945D220E94390A0E945E22C0E08C2F69 +:1044D0000E94650B811104C0CF5FCE30C1F701C0CF +:1044E00081E0CF9108950C94771B82E084BD93E026 +:1044F00095BD9AEF97BD80936E0008952FB7F894FD +:104500008091D9019091DA01A091DB01B091DC0199 +:104510002FBF0895CF92DF92EF92FF920F931F93D8 +:104520002FB7F8944091D9015091DA016091DB01E5 +:104530007091DC012FBF6A017B01EE24FF248C0106 +:1045400020E030E0C016D106E206F30610F4415038 +:1045500051099A01281B390BC9011F910F91FF9036 +:10456000EF90DF90CF9008951F920F920FB60F92A9 +:1045700011248F939F93AF93BF938091D901909112 +:10458000DA01A091DB01B091DC010196A11DB11D02 +:104590008093D9019093DA01A093DB01B093DC0101 +:1045A000BF91AF919F918F910F900FBE0F901F9071 +:1045B00018950E949712F8942FEF87EA91E6215000 +:1045C00080409040E1F700C0000087E090EBDC0104 +:1045D0008093F9019093FA01A093FB01B093FC0141 +:1045E0009CE088E10FB6F894A895809360000FBE18 +:1045F00090936000FFCFEF92FF920F931F93CF93A2 +:10460000DF93D82FC0E08C2F0E94650B00E010E0F4 +:10461000E82EF12CC701002E02C0959587950A94CB +:10462000E2F780FD06C00F5F1F4F0630110591F7BE +:1046300009C0602F7C2F80E00E94720CD813F3CF4A +:1046400081E004C0CF5FCE30F1F680E0DF91CF9102 +:104650001F910F91FF90EF900895CF93C82F8CE298 +:104660000E94FB22882321F08C2FCF910C94FB22F7 +:1046700080E0CF910895CF930E948A24811102C0D7 +:104680000E9470248EE497E00E94FE07C5E6C150A8 +:1046900049F00E94390A8FE39CE90197F1F700C0C5 +:1046A0000000F5CF87E497E00E94FE0789E20E94B0 +:1046B0002D23811113C18AE20E942D2381110E94B2 +:1046C000702485E00E942D2381110E94D9220E942E +:1046D00095248093D70187E00E942D238823A9F198 +:1046E0008BE10E942D23882351F08091D70181FB1B +:1046F000222720F991E0922790FB81F90EC08EE0ED +:104700000E942D23882361F08091D70182FB22270C +:1047100020F991E0922790FB82F98093D70115C090 +:1047200080E10E942D239091D701882341F093FBD3 +:10473000222720F981E0822780FB93F904C0892F8A +:10474000809580FB90F99093D7018091D7010E94CA +:1047500099240E94A7248093EA0180EE0E942D23D1 +:10476000882341F08091EA01982F909590FB80F981 +:104770008093EA0189E30E942D23882359F08091D8 +:10478000EA0181FB222720F991E0922790FB81F931 +:104790008093EA0182EE0E942D23882359F08091B4 +:1047A000EA0182FB222720F991E0922790FB82F90F +:1047B0008093EA0186EE0E942D23882359F0809190 +:1047C000EA0183FB222720F991E0922790FB83F9ED +:1047D0008093EA0183EE0E942D23882359F0809173 +:1047E000EA0184FB222720F991E0922790FB84F9CB +:1047F0008093EA0185E30E942D23882359F080915C +:10480000EA0185FB222720F991E0922790FB85F9A8 +:104810008093EA0181E30E942D23882359F080913F +:10482000EA0186FB222720F991E0922790FB86F986 +:104830008093EA0181E10E942D23882359F0809121 +:10484000EA0187FB222720F991E0922790FB87F964 +:104850008093EA018091EA010E94AB248091EA01F1 +:1048600087FB882780F980930D0187E20E942D2322 +:10487000C82F8EE10E942D238111C2608FE10E941A +:104880002D238111C46080E20E942D238111C86014 +:1048900081E20E942D238111C06182E20E942D23BA +:1048A0008111C06283E20E942D238111C06484E2E1 +:1048B0000E942D23882311F0C06802C0CC2329F068 +:1048C0008C2F0E94A2246C2F03C00E949E24682F6C +:1048D00070E080E090E0CF910C94331FCF91089569 +:1048E0006DEE7EEF80E090E00E94732E60E082E04B +:1048F00090E00E94652E60E083E090E00E94652ECB +:1049000060E084E090E00E94652E60E085E090E049 +:104910000C94652E80E090E00E945F2E21E08D3E99 +:104920009E4F09F020E0822F089582E090E00C94E1 +:10493000572E682F82E090E00C94652E83E090E083 +:104940000C94572E682F83E090E00C94652E84E041 +:1049500090E00C94572E682F84E090E00C94652E24 +:104960008091DF0180FF0BC06091130185E0689F9B +:10497000B001112475956795759567952BC081FFDA +:1049800009C06091130185E0689FB00111247595FD +:10499000679520C082FF07C06091130185E0689F82 +:1049A000B001112417C09091E0019923D1F06091DA +:1049B0001201961788F72091130185E0289F900136 +:1049C0001124929FA001939F500D112470E0CA0101 +:1049D0000E94292E6038710540F46115710539F087 +:1049E00002C065E070E0862F08958FE7089581E0AA +:1049F00008958091DF0180FF08C06091110170E08F +:104A0000759567957595679521C081FF06C0609182 +:104A1000110170E07595679519C082FF04C060911F +:104A2000110170E010C09091E0019923C1F06091F4 +:104A300010019617A0F780911101899FC0011124E0 +:104A400070E00E94292E6038710528F46115710507 +:104A500021F0862F08958FE7089581E0089561E0A1 +:104A600070E0F4CF803F21F40E94B024819504C00F +:104A7000813F29F40E94B0248093E3010895823F8E +:104A800021F40E94B024819504C0833F29F40E9440 +:104A9000B0248093E2010895893F19F40E94F9241B +:104AA00005C08A3F31F40E94F92481958093E40186 +:104AB00008958B3F21F40E94F924819504C08C3F16 +:104AC00029F40E94F9248093E5010895843F21F49C +:104AD0008091E101816017C0853F21F48091E1015F +:104AE000826011C0863F21F48091E10184600BC097 +:104AF000873F21F48091E101886005C0883F31F44F +:104B00008091E10180618093E10108958D3F21F45E +:104B10008091DF0181600BC08E3F21F48091DF0125 +:104B2000826005C08F3F29F48091DF01846080930B +:104B3000DF010895803F39F48091E30187FF6CC065 +:104B40001092E30169C0813F29F48091E3011816B6 +:104B5000BCF362C09091E201823F29F497FF5CC0F0 +:104B60001092E20159C0833F19F41916CCF354C0D6 +:104B7000893F41F48091E40118160CF04DC0109269 +:104B8000E4014AC08A3F29F48091E40187FF44C0D0 +:104B9000F6CF8B3F39F48091E50187FF3DC010923D +:104BA000E5013AC08C3F29F48091E5011816BCF369 +:104BB00033C0843F21F48091E1018E7F17C0853F8F +:104BC00021F48091E1018D7F11C0863F21F4809115 +:104BD000E1018B7F0BC0873F21F48091E101877F4A +:104BE00005C0883F31F48091E1018F7E8093E1011F +:104BF00013C08D3F21F48091DF018E7F0BC08E3F6B +:104C000021F48091DF018D7F05C08F3F29F48091D1 +:104C1000DF018B7F8093DF018091E20181110EC063 +:104C20008091E30181110AC08091E401811106C0E5 +:104C30008091E501811102C01092E00108958091F8 +:104C4000D70183FF7EC08AE897E00E94FE0780912B +:104C5000E1011F928F9385E897E09F938F930E94C5 +:104C6000970883E897E00E94FE078091E201282FD1 +:104C7000332727FD30953F938F9380E897E09F93EC +:104C80008F930E9497088EE797E00E94FE0780911D +:104C9000E301282F332727FD30953F938F938BE730 +:104CA00097E09F938F930E94970889E797E00E946F +:104CB000FE078091E401282F332727FD30953F938D +:104CC0008F9386E797E09F938F930E94970884E7DE +:104CD00097E00E94FE078091E501282F332727FDEA +:104CE00030953F938F9381E797E09F938F930E9436 +:104CF00097088EE697E00E94FE078091E0011F92E0 +:104D00008F938BE697E09F938F930E94970889E695 +:104D100097E00E94FE078091DF011F928F9386E645 +:104D200097E09F938F930E94970883E697E00E94F5 +:104D3000FE078DB79EB74C960FB6F8949EBF0FBE78 +:104D40008DBF81EE91E00E94EE150E947E2290932D +:104D5000DE018093DD0108951F93CF93DF9380914F +:104D6000DD019091DE010E948A22AC019091E00168 +:104D7000992321F02091140130E006C02091150103 +:104D80008AE0289F900111244217530708F486C037 +:104D90008091E201C091E301D091E4011091E5011D +:104DA000811107C0C11176C0D11174C0111172C038 +:104DB00075C09F3F19F09F5F9093E001181624F48F +:104DC0000E94B0248093E2018091E20187FF05C038 +:104DD0000E94B02481958093E2011C1624F40E9465 +:104DE000B0248093E3018091E30187FF05C00E9416 +:104DF000B02481958093E3016091E201662339F14B +:104E0000C091E301CC2319F1772767FD7095872FB7 +:104E1000972F0E942E2D23E333E343E35FE30E94A9 +:104E2000922D0E94FB2C6093E2016C2F772767FD87 +:104E30007095872F972F0E942E2D23E333E343E3B2 +:104E40005FE30E94922D0E94FB2C6093E3011D16EC +:104E500024F40E94F9248093E4018091E40187FF07 +:104E600005C00E94F92481958093E401111624F471 +:104E70000E94F9248093E5018091E50187FF05C038 +:104E80000E94F92481958093E501DF91CF911F91D4 +:104E90000C941F269F3F09F08ECF96CFDF91CF91C4 +:104EA0001F910895E1EEF1E085E0DF011D928A9502 +:104EB000E9F71092E0011092DF0108958DEA99E080 +:104EC0000E94FE071F9281E08F931F9285E08F93CF +:104ED0008FE599E09F938F930E9497080F900F9012 +:104EE0000F900F900F900F9008958330E9F128F400 +:104EF000813061F0823009F10895853009F462C093 +:104F000008F449C0863009F474C0089580911501F1 +:104F1000262F30E0280F311D2F3F310524F4680F74 +:104F20006093150103C08FEF8093150180911501E7 +:104F30001F928F9388E998E072C080911401262F08 +:104F400030E0280F311D2F3F310524F4680F6093A6 +:104F5000140103C08FEF80931401809114011F92FC +:104F60008F9386E898E05BC080911301262F30E094 +:104F7000280F311D2F3F310524F4680F6093130172 +:104F800003C08FEF80931301809113011F928F93C1 +:104F900083E798E044C080911201262F30E0280F6B +:104FA000311D2F3F310524F4680F6093120103C0B7 +:104FB0008FEF80931201809112011F928F938EE5E3 +:104FC00098E02DC080911101262F30E0280F311D6F +:104FD0002F3F310524F4680F6093110103C08FEF58 +:104FE00080931101809111011F928F9385E498E0C5 +:104FF00016C080911001262F30E0280F311D2F3F61 +:10500000310524F4680F6093100103C08FEF809383 +:105010001001809110011F928F938AE298E09F9374 +:105020008F930E9497080F900F900F900F90089504 +:10503000833081F128F4813059F08230D1F0089525 +:10504000853009F449C0B8F1863009F456C0089596 +:1050500080911501681720F4861B8093150102C00A +:1050600010921501809115011F928F938BE198E0AA +:1050700054C080911401681720F4861B809314019A +:1050800002C010921401809114011F928F9389E045 +:1050900098E043C080911301681720F4861B809329 +:1050A000130102C010921301809113011F928F937C +:1050B00086EF97E032C080911201681720F4861BBA +:1050C0008093120102C010921201809112011F926E +:1050D0008F9381EE97E021C080911101681720F431 +:1050E000861B8093110102C0109211018091110161 +:1050F0001F928F9388EC97E010C080911001681781 +:1051000020F4861B8093100102C010921001809140 +:1051100010011F928F938DEA97E09F938F930E94C7 +:1051200097080F900F900F900F900895CF93C82F6E +:105130001F928F9382EB9AE09F938F930E94970820 +:1051400081E090E0A0E0B0E0BC01CD0104C0660FBA +:10515000771F881F991FCA95D2F70E94331F0F909F +:105160000F900F900F90CF910C94771BCF938D31B0 +:1051700009F465C0B0F58E3009F4CCC100F5873074 +:1051800009F49BC1A8F4863009F06DC28091D70163 +:10519000817F8E7F8093D70187EB9AE00E94FE0784 +:1051A00089EF9EE00E94FE0781E08093E70180C1C5 +:1051B000883009F44FC08B3009F47CC154C2863169 +:1051C00009F4F0C138F4803109F4B8C1813109F42F +:1051D00030C249C2893109F4CEC18B3109F486C18C +:1051E00042C2853309F437C248F4873209F433C226 +:1051F00008F433C2893209F42EC235C2833438F43C +:105200008A3308F02CC2883309F454C12CC2833489 +:1052100009F421C2883409F026C20E94771B88EE67 +:105220009EE00E94FE079FEF23ED80E39150204017 +:105230008040E1F700C000000E94D92239C188E017 +:105240009FE00E94FE070E94B52C0E9499150E94C3 +:10525000CB0D2EC18DEF9EE00E94FE0788EC9CE0F6 +:105260000E94FE070E949E241F928F9385EC9CE073 +:105270009F938F930E94970883EC9CE00E94FE0707 +:105280000E949524C82F80EB9CE00E94FE071F928D +:10529000CF938BEA9CE09F938F930E94970889EAB3 +:1052A0009CE00E94FE078FE99CE00E94FE078C2F85 +:1052B00081701F928F938CE99CE09F938F930E9443 +:1052C00097088AE99CE00E94FE0780E99CE00E9422 +:1052D000FE07C1FB882780F91F928F938DE89CE021 +:1052E0009F938F930E9497088BE89CE00E94FE0793 +:1052F0008FE79CE00E94FE07C2FB882780F91F927F +:105300008F938CE79CE09F938F930E9497088AE786 +:105310009CE00E94FE0781E79CE00E94FE07C3FB21 +:10532000CC27C0F91F92CF938EE69CE09F938F937A +:105330000E9497088CE69CE00E94FE070E94A7242A +:10534000C82F88E59CE00E94FE071F92CF9383E55B +:105350009CE09F938F930E94970881E59CE00E94B8 +:10536000FE0788E39CE00E94FE078C2F81701F924D +:105370008F9385E39CE09F938F930E9497088DB74E +:105380009EB780960FB6F8949EBF0FBE8DBF83E385 +:105390009CE00E94FE078CE19CE00E94FE07C1FB9E +:1053A000882780F91F928F9389E19CE09F938F93C8 +:1053B0000E94970887E19CE00E94FE0785E09CE040 +:1053C0000E94FE07C2FB882780F91F928F9382E01C +:1053D0009CE09F938F930E94970880E09CE00E943E +:1053E000FE078EEE9BE00E94FE07C3FB882780F934 +:1053F0001F928F938BEE9BE09F938F930E94970851 +:1054000089EE9BE00E94FE078FED9BE00E94FE0765 +:10541000C4FB882780F91F928F938CED9BE09F93AC +:105420008F930E9497088AED9BE00E94FE0788EC0C +:105430009BE00E94FE07C5FB882780F91F928F938F +:1054400085EC9BE09F938F930E94970883EC9BE0F1 +:105450000E94FE0787EA9BE00E94FE07C6FB8827A2 +:1054600080F91F928F9384EA9BE09F938F930E9411 +:10547000970882EA9BE00E94FE078AE99BE00E946F +:10548000FE07C7FBCC27C0F91F92CF9387E99BE0AB +:105490009F938F930E94970885E99BE00E94FE07E7 +:1054A0008DB79EB74C960FB6F8949EBF0FBE8DBFBA +:1054B000C1E0DEC08EED9AE05BC08091D701C82FBD +:1054C000C17080FF09C08BED9EE00E94FE078091B5 +:1054D000D701817F8E7F47C08FEC9EE00E94FE0740 +:1054E0008091D70181608093D701E2CF9091D7015D +:1054F00091FBCC27C0F981E0C827892FC0FB81F937 +:105500008093D701CC2319F082EC9EE027C084EB76 +:105510009EE02EC09091D70192FBCC27C0F981E08C +:10552000C827892FC0FB82F98093D701CC2319F0BB +:1055300085EA9EE013C085E99EE01AC09091D701EC +:1055400093FBCC27C0F981E0C827892FC0FB83F9E2 +:105550008093D701CC2351F089E89EE00E94FE079A +:105560008091D70181608093D70182C08CE79EE053 +:105570000E94FE079DCF8DE69EE00E94FE0781E41B +:105580009EE00E94FE0784E09EE00E94FE0787EDF9 +:105590009DE00E94FE0783E99DE00E94FE0788E6E9 +:1055A0009DE0E6CF8AE59DE00E94FE070E949915E6 +:1055B0001F928F9380E49DE09F938F930E949708A2 +:1055C00080910C011F928F9389E29DE09F938F93AE +:1055D0000E94970880916E011F928F9386E19DE053 +:1055E0009F938F930E94970880910D011F928F9334 +:1055F00083E09DE09F938F930E9497088091D9014B +:105600009091DA01A091DB01B091DC01BF93AF93DF +:105610009F938F938FEE9CE09F938F930E949708A8 +:105620008DB79EB746960FB6F8949EBF0FBE8DBF3E +:105630003FCF0E94771BC0910D0181E0C827C09326 +:105640000D01CC2329F085EE9CE00E94FE0710C0DE +:105650008AED9CE08DCF80E003C08D5101C089535D +:105660000E94962825CF88ED9CE00E94FE07C0E0AE +:105670008C2FCF91089580E0089580E00895CF9316 +:10568000C82F8091E701813081F020F0823009F449 +:105690004FC045C1E0910E01F0910F018081813131 +:1056A00069F0823209F03DC109C0E0910E01F0912C +:1056B0000F018081813111F0823261F48C2F0E94C0 +:1056C0003B2B811104C08C2F0E94B6282FC081E093 +:1056D00090E02CC08C2F0E943D2B811126C0C4313C +:1056E000E1F070F4CB3081F0C031D1F40E945E273C +:1056F0008AEA9AE00E94FE0782E08093E70115C0E3 +:10570000C93259F0C83361F487EB9AE00E94FE0772 +:105710008EEA9AE00E94FE0708C01092E70103C1DA +:1057200088EA9AE00E94FE07FEC081E08170FDC019 +:10573000C43220F5CE3108F0C0C0CB3099F1C8F4A6 +:10574000C73009F0D2C08AE08093150194E19093AC +:10575000140193E0909313018093120188E08093E9 +:10576000110188E2809310018EE499E00E94FE0707 +:10577000BFC0C33149F1C431C1F0B7C0CB3409F463 +:10578000A9C028F4C93289F0C83361F0AEC0C13570 +:1057900009F49EC0C23509F499C0CE3409F0A5C001 +:1057A0006AE09EC00E945E27A3C08091E601882324 +:1057B00019F01092E6019CC08BE599E00E94FE076B +:1057C00081E08093E701B1C085E399E00E94FE0784 +:1057D00083E299E00E94FE07809115011F928F934A +:1057E00080E299E09F938F930E9497088EE199E061 +:1057F0000E94FE078CE099E00E94FE078091140150 +:105800001F928F9389E099E09F938F930E9497084E +:1058100087E099E00E94FE0788EF98E00E94FE076B +:10582000809113011F928F9385EF98E09F938F9340 +:105830000E94970883EF98E00E94FE0782EE98E0AE +:105840000E94FE07809112011F928F938FED98E0C6 +:105850009F938F930E9497088DED98E00E94FE071A +:1058600088EC98E00E94FE07809111011F928F93AF +:1058700085EC98E09F938F930E94970883EC98E0C3 +:105880000E94FE078CEA98E00E94FE0780911001BA +:105890001F928F9389EA98E09F938F930E949708B5 +:1058A00087EA98E00E94FE078DB79EB748960FB62C +:1058B000F8949EBF0FBE8DBF1BC0CE51EC2FF0E001 +:1058C000E15DFE4F80818093E60112C061E003C07C +:1058D00061E006C06AE08091E6010E94752708C079 +:1058E0008091E6010E94182803C08CE499E013C05F +:1058F0008091E601882369F01F928F9386E499E0F6 +:105900009F938F930E9497080F900F900F900F9086 +:1059100004C083E499E00E94FE0781E006C0109273 +:10592000E70180E002C080E001CFCF910895E1E877 +:10593000F0E08081886080838081816080838FB780 +:10594000F89493E09093890090ED909388008FBF36 +:105950000895EFE6F0E08081826080830895EFE6AD +:10596000F0E080818D7F80830895EFE6F0E0908104 +:1059700082E08927808308951F920F920FB60F92BD +:1059800011242F933F934F935F936F937F938F9344 +:105990009F93AF93BF93EF93FF938091E801909112 +:1059A000E90101969093E9018093E801811103C018 +:1059B00082E00E94CB0DE091E901E695E695F0E0EA +:1059C000E85EF04FE4918091E8018E1303C080E01F +:1059D0000E94CB0DFF91EF91BF91AF919F918F915D +:1059E0007F916F915F914F913F912F910F900FBEDB +:1059F0000F901F90189504D06894B1118DC0089530 +:105A000070D088F09F5790F0B92F9927B751A0F028 +:105A1000D1F0660F771F881F991F1AF0BA95C9F742 +:105A200012C0B13081F077D0B1E0089574C0672F13 +:105A3000782F8827B85F39F0B93FCCF386957795F2 +:105A40006795B395D9F73EF49095809570956195DB +:105A50007F4F8F4F9F4F0895E89409C097FB3EF406 +:105A600090958095709561957F4F8F4F9F4F9923AB +:105A7000A9F0F92F96E9BB279395F6958795779529 +:105A80006795B795F111F8CFFAF4BB0F11F460FFE9 +:105A90001BC06F5F7F4F8F4F9F4F16C0882311F041 +:105AA00096E911C0772321F09EE8872F762F05C055 +:105AB000662371F096E8862F70E060E02AF09A95F0 +:105AC000660F771F881FDAF7880F9695879597F9E5 +:105AD000089557FD9058440F551F59F05F3F71F0DE +:105AE0004795880F97FB991F61F09F3F79F0879545 +:105AF0000895121613061406551FF2CF4695F1DFCE +:105B000008C0161617061806991FF1CF869571055D +:105B1000610508940895E894BB2766277727CB0191 +:105B200097F908950BD078C069D028F06ED018F09E +:105B3000952309F05AC05FC01124EECFCADFA0F34D +:105B4000959FD1F3950F50E0551F629FF001729F12 +:105B5000BB27F00DB11D639FAA27F00DB11DAA1F31 +:105B6000649F6627B00DA11D661F829F2227B00D7E +:105B7000A11D621F739FB00DA11D621F839FA00D09 +:105B8000611D221F749F3327A00D611D231F849F59 +:105B9000600D211D822F762F6A2F11249F575040B0 +:105BA0008AF0E1F088234AF0EE0FFF1FBB1F661F4B +:105BB000771F881F91505040A9F79E3F510570F004 +:105BC00014C0AACF5F3FECF3983EDCF3869577953F +:105BD0006795B795F795E7959F5FC1F7FE2B880FFF +:105BE000911D9695879597F9089597F99F6780E895 +:105BF00070E060E008959FEF80EC089500240A941F +:105C00001616170618060906089500240A94121697 +:105C10001306140605060895092E0394000C11F4CA +:105C2000882352F0BB0F40F4BF2B11F460FF04C077 +:105C30006F5F7F4F8F4F9F4F0895991B79E004C08E +:105C4000991F961708F0961B881F7A95C9F78095BB +:105C5000089597FB072E16F4009407D077FD09D01E +:105C60000E94432E07FC05D03EF4909581959F4FEE +:105C70000895709561957F4F0895EE0FFF1F059071 +:105C8000F491E02D0994AA1BBB1B51E107C0AA1F88 +:105C9000BB1FA617B70710F0A61BB70B881F991FCD +:105CA0005A95A9F780959095BC01CD010895F99971 +:105CB000FECF92BD81BDF89A992780B50895A8E1DD +:105CC000B0E042E050E00C947A2E262FF999FECFF6 +:105CD0001FBA92BD81BD20BD0FB6F894FA9AF99A09 +:105CE0000FBE019608950E94652E272F0C94662EF4 +:105CF000DC01CB01FC01F999FECF06C0F2BDE1BD8C +:105D0000F89A319600B40D9241505040B8F708957A +:045D1000F894FFCF35 +:105D14002002CC0DBD0E9A0E660E320E0101C50195 +:105D240028080A03140A3F4D36203998064B0615F5 +:105D340006F505BC052F05480561057A059A050198 +:0A5D44000203040506070809000029  :00000001FF diff --git a/keyboard/ergodox_ez/keymaps/keymap_osx_de_adnw_koy.c b/keyboard/ergodox_ez/keymaps/keymap_osx_de_adnw_koy.c new file mode 100644 index 0000000000..7e9defafa7 --- /dev/null +++ b/keyboard/ergodox_ez/keymaps/keymap_osx_de_adnw_koy.c @@ -0,0 +1,262 @@ +// Netable differences vs. the default firmware for the ErgoDox EZ: +// 1. The Cmd key is now on the right side, making Cmd+Space easier. +// 2. The media keys work on OSX (But not on Windows). +#include "ergodox_ez.h" +#include "debug.h" +#include "action_layer.h" +#include "keymap_extras/keymap_german.h" + +#define BASE 0 // default layer +#define SYMB 1 // symbols +#define MDIA 2 // media keys +#define ADNW 3 // media keys +#define NUMB 4 // number keys + + + +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  |   รผ    | + * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------| + * |  ADNW  |   A  |   S  |   D  |   F  |   G  |------|           |------|   H  |   J  |   K  |   L  |   รถ  |  รค/L2  | + * |--------+------+------+------+------+------| 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,                  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 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,KC_GRV,LSFT(KC_GRV),DE_EXLM,DE_QST,KC_TRNS,KC_TRNS, +       KC_TRNS,DE_HASH,DE_DLR, LALT(LSFT(KC_7)),DE_SLSH,KC_DOT, +       KC_TRNS,KC_TRNS,DE_LESS,DE_PERC,LALT(KC_7),LALT(KC_N),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 + * + * ,--------------------------------------------------.           ,--------------------------------------------------. + * |        |      |      |      |      |      |      |           |      |      |      |      |      |      |  Play  | + * |--------+------+------+------+------+-------------|           |------+------+------+------+------+------+--------| + * |        |      |      | MsUp |      |      |      |           |      |      |      |      |      |      |        | + * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------| + * |        |      |MsLeft|MsDown|MsRght|      |------|           |------|      |      |      |      |      |        | + * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------| + * |        |      |      |      |      |      |      |           |      |      |      | Prev | Next |      |        | + * `--------+------+------+------+------+-------------'           `-------------+------+------+------+------+--------' + *   |      |      |      | Lclk | Rclk |                                       |VolUp |VolDn | Mute |      |      | + *   `----------------------------------'                                       `----------------------------------' + *                                        ,-------------.       ,-------------. + *                                        |      |      |       |      |      | + *                                 ,------|------|------|       |------+------+------. + *                                 |      |      |      |       |      |      |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_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_WH_L, KC_WH_U, KC_WH_D, KC_WH_R, KC_BTN3, 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_MPLY, +       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_MUTE, KC_MPRV, KC_MNXT, KC_UP,   KC_TRNS, +                          KC_VOLU, KC_VOLD, KC_LEFT, KC_DOWN, KC_RIGHT, +       KC_TRNS, KC_TRNS, +       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. + * + * ,--------------------------------------------------.           ,--------------------------------------------------. + * |  ESC   |   1  |   2  |   3  |   4  |   5  |Lctrl |           |Rctrl |   6  |   7  |   8  |   9  |   0  |   -    | + * |--------+------+------+------+------+-------------|           |------+------+------+------+------+------+--------| + * |  TAB   |   K  |   .  |   O  |   ,  |   Y  | CMD  |           | CMD  |   V  |   G  |   C  |   L  |   ร  |   Z    | + * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------| + * |  ADNW  |   H  |   A  |   E  |   I  |   U  |------|           |------|   D  |   T  |   R  |   N |   S  |  F/L2  | + * |--------+------+------+------+------+------| LALT |           | RALT |------+------+------+------+------+--------| + * | LShift |X/Ctrl|   Q  |   ร  |   ร  |   ร  |      |           |      |   B  |   P  |   W  |   M  |J/Ctrl| RShift | + * `--------+------+------+------+------+-------------'           `-------------+------+------+------+------+--------' + *   |</L1|  ^  |AltShf| Left | Right|                                       |  Up | Down | CMD-SHIFT |  ยด  | //L1 | + *   `----------------------------------'                                       `----------------------------------' + *                                        ,-------------.       ,-------------. + *                                        | L1 | LGui |       | Alt  |Ctrl/Esc| + *                                 ,------|------|------|       |------+--------+------. + *                                 |      |      | Home |       | PgUp |        |      | + *                                 | Space|Backsp|------|       |------|  Enter | Space| + *                                 |      |ace   | 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 +), + +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(ADNW)                // FN2 - Momentary Layer 2 (ADNW) +}; + +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; +        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/keymap_osx_de_highres.png b/keyboard/ergodox_ez/keymaps/keymap_osx_de_highres.pngBinary files differ index c16436f2c3..1682c7b6d7 100644 --- a/keyboard/ergodox_ez/keymaps/keymap_osx_de_highres.png +++ b/keyboard/ergodox_ez/keymaps/keymap_osx_de_highres.png diff --git a/keyboard/hhkb_qmk/Makefile b/keyboard/hhkb_qmk/Makefile new file mode 100644 index 0000000000..8bd44100b7 --- /dev/null +++ b/keyboard/hhkb_qmk/Makefile @@ -0,0 +1,149 @@ +#---------------------------------------------------------------------------- +# On command line: +# +# make all = Make software. +# +# make clean = Clean out built project files. +# +# make coff = Convert ELF to AVR COFF. +# +# make extcoff = Convert ELF to AVR Extended COFF. +# +# make program = Download the hex file to the device. +#                Please customize your programmer settings(PROGRAM_CMD) +# +# make teensy = Download the hex file to the device, using teensy_loader_cli. +#               (must have teensy_loader_cli installed). +# +# make dfu = Download the hex file to the device, using dfu-programmer (must +#            have dfu-programmer installed). +# +# make flip = Download the hex file to the device, using Atmel FLIP (must +#             have Atmel FLIP installed). +# +# make dfu-ee = Download the eeprom file to the device, using dfu-programmer +#               (must have dfu-programmer installed). +# +# make flip-ee = Download the eeprom file to the device, using Atmel FLIP +#                (must have Atmel FLIP installed). +# +# make debug = Start either simulavr or avarice as specified for debugging, +#              with avr-gdb or avr-insight as the front end for debugging. +# +# make filename.s = Just compile filename.c into the assembler code only. +# +# make filename.i = Create a preprocessed source file for use in submitting +#                   bug reports to the GCC project. +# +# To rebuild project do "make clean" then "make all". +#---------------------------------------------------------------------------- + +# Target file name (without extension). +TARGET = hhkb_qmk + + +# Directory common source filess exist +TOP_DIR = ../.. +TMK_DIR = ../../tmk_core + +# Directory keyboard dependent files exist +TARGET_DIR = . + +# # project specific files +SRC = hhkb_qmk.c \ +      matrix.c + +ifdef KEYMAP +    SRC := keymaps/keymap_$(KEYMAP).c $(SRC) +else +    SRC := keymaps/keymap_default.c $(SRC) +endif + +CONFIG_H = config.h + +# MCU name +#MCU = at90usb1287 +MCU = atmega32u4 + +# Processor frequency. +#     This will define a symbol, F_CPU, in all source code files equal to the +#     processor frequency in Hz. You can then use this symbol in your source code to +#     calculate timings. Do NOT tack on a 'UL' at the end, this will be done +#     automatically to create a 32-bit value in your source code. +# +#     This will be an integer division of F_USB below, as it is sourced by +#     F_USB after it has run through any CPU prescalers. Note that this value +#     does not *change* the processor frequency - it should merely be updated to +#     reflect the processor speed set externally so that the code can use accurate +#     software delays. +F_CPU = 16000000 + + +# +# LUFA specific +# +# Target architecture (see library "Board Types" documentation). +ARCH = AVR8 + +# Input clock frequency. +#     This will define a symbol, F_USB, in all source code files equal to the +#     input clock frequency (before any prescaling is performed) in Hz. This value may +#     differ from F_CPU if prescaling is used on the latter, and is required as the +#     raw input clock is fed directly to the PLL sections of the AVR for high speed +#     clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL' +#     at the end, this will be done automatically to create a 32-bit value in your +#     source code. +# +#     If no clock division is performed on the input clock inside the AVR (via the +#     CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU. +F_USB = $(F_CPU) + +# Interrupt driven control endpoint task(+60) +OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT + + +# Boot Section Size in *bytes* +#   Teensy halfKay   512 +#   Teensy++ halfKay 1024 +#   Atmel DFU loader 4096 +#   LUFA bootloader  4096 +#   USBaspLoader     2048 +#OPT_DEFS += -DBOOTLOADER_SIZE=4096 + +# as per original hasu settings +OPT_DEFS += -DBOOTLOADER_SIZE=512 + +# Build Options +#   comment out to disable the options. +# +BOOTMAGIC_ENABLE = yes	# Virtual DIP switch configuration(+1000) +MOUSEKEY_ENABLE = yes	# Mouse keys(+4700) +EXTRAKEY_ENABLE = yes	# Audio control and System control(+450) +CONSOLE_ENABLE = yes	# Console for debug(+400) +COMMAND_ENABLE = yes    # Commands for debug and configuration +CUSTOM_MATRIX    = yes # Custom matrix file for the HHKB +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +# SLEEP_LED_ENABLE = yes  # Breathing sleep LED during USB suspend +# NKRO_ENABLE = yes		# USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +# BACKLIGHT_ENABLE = yes  # Enable keyboard backlight functionality +# MIDI_ENABLE = YES		# MIDI controls +# UNICODE_ENABLE = YES		# Unicode +# BLUETOOTH_ENABLE = yes # Enable Bluetooth with the Adafruit EZ-Key HID + + +# Optimize size but this may cause error "relocation truncated to fit" +#EXTRALDFLAGS = -Wl,--relax + +# Search Path +VPATH += $(TARGET_DIR) +VPATH += $(TOP_DIR) +VPATH += $(TMK_DIR) + +debug-on: EXTRAFLAGS += -DDEBUG -DDEBUG_ACTION +debug-on: all + +debug-off: EXTRAFLAGS += -DNO_DEBUG -DNO_PRINT +debug-off: OPT_DEFS := $(filter-out -DCONSOLE_ENABLE,$(OPT_DEFS)) +debug-off: all + +include $(TOP_DIR)/quantum/quantum.mk diff --git a/keyboard/hhkb_qmk/README.md b/keyboard/hhkb_qmk/README.md new file mode 100644 index 0000000000..606025c411 --- /dev/null +++ b/keyboard/hhkb_qmk/README.md @@ -0,0 +1,180 @@ +hhkb_qmk keyboard firmware +====================== + +## Quantum MK Firmware + +You have access to a bunch of goodies! Check out the Makefile to enable/disable some of the features. Uncomment the `#` to enable them. Setting them to `no` does nothing and will only confuse future you. + +    BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality +    MIDI_ENABLE = yes      # MIDI controls +    # UNICODE_ENABLE = yes # Unicode support - this is commented out, just as an example. You have to use #, not // +    BLUETOOTH_ENABLE = yes # Enable Bluetooth with the Adafruit EZ-Key HID + +## Quick aliases to common actions + +Your keymap can include shortcuts to common operations (called "function actions" in tmk). + +### Switching and toggling layers + +`MO(layer)` - momentary switch to *layer*. As soon as you let go of the key, the layer is deactivated and you pop back out to the previous layer. When you apply this to a key, that same key must be set as `KC_TRNS` on the destination layer. Otherwise, you won't make it back to the original layer when you release the key (and you'll get a keycode sent). You can only switch to layers *above* your current layer. If you're on layer 0 and you use `MO(1)`, that will switch to layer 1 just fine. But if you include `MO(3)` on layer 5, that won't do anything for you -- because layer 3 is lower than layer 5 on the stack. + +`LT(layer, kc)` - momentary switch to *layer* when held, and *kc* when tapped. Like `MO()`, this only works upwards in the layer stack (`layer` must be higher than the current layer). + +`TG(layer)` - toggles a layer on or off. As with `MO()`, you should set this key as `KC_TRNS` in the destination layer so that tapping it again actually toggles back to the original layer. Only works upwards in the layer stack. + +### Fun with modifier keys + +* `LSFT(kc)` - applies left Shift to *kc* (keycode) - `S(kc)` is an alias +* `RSFT(kc)` - applies right Shift to *kc* +* `LCTL(kc)` - applies left Control to *kc* +* `RCTL(kc)` - applies right Control to *kc* +* `LALT(kc)` - applies left Alt to *kc* +* `RALT(kc)` - applies right Alt to *kc* +* `LGUI(kc)` - applies left GUI (command/win) to *kc* +* `RGUI(kc)` - applies right GUI (command/win) to *kc* + +You can also chain these, like this: + +    LALT(LCTL(KC_DEL)) -- this makes a key that sends Alt, Control, and Delete in a single keypress. + +The following shortcuts automatically add `LSFT()` to keycodes to get commonly used symbols. Their long names are also available and documented in `/quantum/keymap_common.h`. + +    KC_TILD  ~ +    KC_EXLM  ! +    KC_AT    @ +    KC_HASH  # +    KC_DLR   $ +    KC_PERC  % +    KC_CIRC  ^ +    KC_AMPR  & +    KC_ASTR  * +    KC_LPRN  ( +    KC_RPRN  ) +    KC_UNDS  _ +    KC_PLUS  + +    KC_LCBR  { +    KC_RCBR  } +    KC_PIPE  | +    KC_COLN  : + +`MT(mod, kc)` - is *mod* (modifier key - MOD_LCTL, MOD_LSFT) when held, and *kc* when tapped. In other words, you can have a key that sends Esc (or the letter O or whatever) when you tap it, but works as a Control key or a Shift key when you hold it down.  + +These are the values you can use for the `mod` in `MT()` (right-hand modifiers are not available): + +  * MOD_LCTL +  * MOD_LSFT +  * MOD_LALT +  * MOD_LGUI + +These can also be combined like `MOD_LCTL | MOD_LSFT` e.g. `MT(MOD_LCTL | MOD_LSFT, KC_ESC)` which would activate Control and Shift when held, and send Escape when tapped. + +We've added shortcuts to make common modifier/tap (mod-tap) mappings more compact: + +  * `CTL_T(kc)` - is LCTL when held and *kc* when tapped  +  * `SFT_T(kc)` - is LSFT when held and *kc* when tapped  +  * `ALT_T(kc)` - is LALT when held and *kc* when tapped  +  * `GUI_T(kc)` - is LGUI when held and *kc* when tapped  +  * `ALL_T(kc)` - is Hyper (all mods) when held and *kc* when tapped. To read more about what you can do with a Hyper key, see [this blog post by Brett Terpstra](http://brettterpstra.com/2012/12/08/a-useful-caps-lock-key/) + +### Temporarily setting the default layer  + +`DF(layer)` - sets default layer to *layer*. The default layer is the one at the "bottom" of the layer stack - the ultimate fallback layer. This currently does not persist over power loss. When you plug the keyboard back in, layer 0 will always be the default. It is theoretically possible to work around that, but that's not what `DF` does. + +### Remember: These are just aliases + +These functions work the same way that their `ACTION_*` functions do - they're just quick aliases. To dig into all of the tmk ACTION_* functions, please see the [TMK documentation](https://github.com/jackhumbert/qmk_firmware/blob/master/tmk_core/doc/keymap.md#2-action). + +Instead of using `FNx` when defining `ACTION_*` functions, you can use `F(x)` - the benefit here is being able to use more than 32 function actions (up to 4096), if you happen to need them. + +## Macro shortcuts: Send a whole string when pressing just one key + +Instead of using the `ACTION_MACRO` function, you can simply use `M(n)` to access macro *n* - *n* will get passed into the `action_get_macro` as the `id`, and you can use a switch statement to trigger it. This gets called on the keydown and keyup, so you'll need to use an if statement testing `record->event.pressed` (see keymap_default.c). + +```c +const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) // this is the function signature -- just copy/paste it into your keymap file as it is. +{ +  switch(id) { +    case 0: // this would trigger when you hit a key mapped as M(0) +      if (record->event.pressed) { +        return MACRO( I(255), T(H), T(E), T(L), T(L), W(255), T(O), END  ); // this sends the string 'hello' when the macro executes +      }  +      break; +  } +  return MACRO_NONE; +}; +``` +A macro can include the following commands: + +* I() change interval of stroke in milliseconds. +* D() press key. +* U() release key. +* T() type key(press and release). +* W() wait (milliseconds). +* END end mark. + +So above you can see the stroke interval changed to 255ms between each keystroke, then a bunch of keys being typed, waits a while, then the macro ends. + +Note: Using macros to have your keyboard send passwords for you is a bad idea. + +### Additional keycode aliases for software-implemented layouts (Colemak, Dvorak, etc) + +Everything is assuming you're in Qwerty (in software) by default, but there is built-in support for using a Colemak or Dvorak layout by including this at the top of your keymap: + +   #include "keymap_<layout>.h" + +Where <layout> is "colemak" or "dvorak". After including this line, you will get access to: +  + * `CM_*` for all of the Colemak-equivalent characters + * `DV_*` for all of the Dvorak-equivalent characters +  +These implementations assume you're using Colemak or Dvorak on your OS, not on your keyboard - this is referred to as a software-implemented layout. If your computer is in Qwerty and your keymap is in Colemak or Dvorak, this is referred to as a firmware-implemented layout, and you won't need these features.  + +To give an example, if you're using software-implemented Colemak, and want to get an `F`, you would use `CM_F` - `KC_F` under these same circumstances would result in `T`. + +## Additional language support + +In `quantum/keymap_extras/`, you'll see various language files - these work the same way as the alternative layout ones do. Most are defined by their two letter country/language code followed by an underscore and a 4-letter abbreviation of its name. `FR_UGRV` which will result in a `รน` when using a software-implemented AZERTY layout. It's currently difficult to send such characters in just the firmware (but it's being worked on - see Unicode support). + +## Unicode support + +You can currently send 4 hex digits with your OS-specific modifier key (RALT for OSX with the "Unicode Hex Input" layout) - this is currently limited to supporting one OS at a time, and requires a recompile for switching. 8 digit hex codes are being worked on. The keycode function is `UC(n)`, where *n* is a 4 digit hexidecimal. Enable from the Makefile. + +## Other firmware shortcut keycodes + +* `RESET` - puts the MCU in DFU mode for flashing new firmware (with `make dfu`) +* `DEBUG` - the firmware into debug mode - you'll need hid_listen to see things +* `BL_ON` - turns the backlight on +* `BL_OFF` - turns the backlight off +* `BL_<n>` - sets the backlight to level *n* +* `BL_INC` - increments the backlight level by one +* `BL_DEC` - decrements the backlight level by one +* `BL_TOGG` - toggles the backlight +* `BL_STEP` - steps through the backlight levels + +Enable the backlight from the Makefile. + +## MIDI functionalty + +This is still a WIP, but check out `quantum/keymap_midi.c` to see what's happening. Enable from the Makefile. + +## Bluetooth functionality + +This requires [some hardware changes](https://www.reddit.com/r/MechanicalKeyboards/comments/3psx0q/the_planck_keyboard_with_bluetooth_guide_and/?ref=search_posts), but can be enabled via the Makefile. The firmware will still output characters via USB, so be aware of this when charging via a computer. It would make sense to have a switch on the Bluefruit to turn it off at will. + +## Building + +Download or clone the whole firmware and navigate to the keyboard/planck folder. Once your dev env is setup, you'll be able to type `make` to generate your .hex - you can then use `make dfu` to program your PCB once you hit the reset button.  + +Depending on which keymap you would like to use, you will have to compile slightly differently. + +### Default +To build with the default keymap, simply run `make`. + +### Other Keymaps +Several version of keymap are available in advance but you are recommended to define your favorite layout yourself. To define your own keymap create file named `keymap_<name>.c` and see keymap document (you can find in top README.md) and existent keymap files. + +To build the firmware binary hex file with a keymap just do `make` with `KEYMAP` option like: +``` +$ make KEYMAP=[default|jack|<name>] +``` +Keymaps follow the format **__keymap\_\<name\>.c__** and are stored in the `keymaps` folder. diff --git a/keyboard/hhkb_qmk/config.h b/keyboard/hhkb_qmk/config.h new file mode 100644 index 0000000000..ee66e44571 --- /dev/null +++ b/keyboard/hhkb_qmk/config.h @@ -0,0 +1,71 @@ +/* +Copyright 2012 Jun Wako <[email protected]> + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program.  If not, see <http://www.gnu.org/licenses/>. +*/ + +#ifndef CONFIG_H +#define CONFIG_H + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID       0xFEED +#define PRODUCT_ID      0xCAFE +#define DEVICE_VER      0x0104 +#define MANUFACTURER    q.m.k +#define PRODUCT         HHKB mod +#define DESCRIPTION     q.m.k keyboard firmware for HHKB + +/* key matrix size */ +#define MATRIX_ROWS 8 +#define MATRIX_COLS 8 + +#define TAPPING_TERM    200 + +/* number of backlight levels */ +#define BACKLIGHT_LEVELS 3 + +/* Set 0 if debouncing isn't needed */ +#define DEBOUNCE    5 + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +//#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +//#define LOCKING_RESYNC_ENABLE + +/* key combination for command */ +#define IS_COMMAND() ( \ +    keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \ +) + +/* + * Feature disable options + *  These options are also useful to firmware size reduction. +*/ + +/* disable debug print */ +//#define NO_DEBUG + +/* disable print */ +//#define NO_PRINT + +/* disable action features */ +//#define NO_ACTION_LAYER +//#define NO_ACTION_TAPPING +//#define NO_ACTION_ONESHOT +//#define NO_ACTION_MACRO +//#define NO_ACTION_FUNCTION + +#endif diff --git a/keyboard/hhkb_qmk/hhkb_avr.h b/keyboard/hhkb_qmk/hhkb_avr.h new file mode 100644 index 0000000000..7ea6322c73 --- /dev/null +++ b/keyboard/hhkb_qmk/hhkb_avr.h @@ -0,0 +1,167 @@ +#ifndef HHKB_AVR_H +#define HHKB_AVR_H + +#include <stdint.h> +#include <stdbool.h> +#include <avr/io.h> +#include <avr/interrupt.h> +#include <util/delay.h> + + +// Timer resolution check +#if (1000000/TIMER_RAW_FREQ > 20) +#   error "Timer resolution(>20us) is not enough for HHKB matrix scan tweak on V-USB." +#endif + + +/* + * HHKB Matrix I/O + * + * row:     HC4051[A,B,C]  selects scan row0-7 + * row-ext: [En0,En1] row extention for JP + * col:     LS145[A,B,C,D] selects scan col0-7 and enable(D) + * key:     on: 0/off: 1 + * prev:    hysteresis control: assert(1) when previous key state is on + */ + + +#if defined(__AVR_ATmega32U4__) +/* + * For TMK HHKB alt controller(ATMega32U4) + * + * row:     PB0-2 + * col:     PB3-5,6 + * key:     PD7(pull-uped) + * prev:    PB7 + * power:   PD4(L:off/H:on) + * row-ext: PC6,7 for HHKB JP(active low) + */ +static inline void KEY_ENABLE(void) { (PORTB &= ~(1<<6)); } +static inline void KEY_UNABLE(void) { (PORTB |=  (1<<6)); } +static inline bool KEY_STATE(void) { return (PIND & (1<<7)); } +static inline void KEY_PREV_ON(void) { (PORTB |=  (1<<7)); } +static inline void KEY_PREV_OFF(void) { (PORTB &= ~(1<<7)); } +#ifdef HHKB_POWER_SAVING +static inline void KEY_POWER_ON(void) { +    DDRB = 0xFF; PORTB = 0x40;          // change pins output +    DDRD |= (1<<4); PORTD |= (1<<4);    // MOS FET switch on +    /* Without this wait you will miss or get false key events. */ +    _delay_ms(5);                       // wait for powering up +} +static inline void KEY_POWER_OFF(void) { +    /* input with pull-up consumes less than without it when pin is open. */ +    DDRB = 0x00; PORTB = 0xFF;          // change pins input with pull-up +    DDRD |= (1<<4); PORTD &= ~(1<<4);   // MOS FET switch off +} +static inline bool KEY_POWER_STATE(void) { return PORTD & (1<<4); } +#else +static inline void KEY_POWER_ON(void) {} +static inline void KEY_POWER_OFF(void) {} +static inline bool KEY_POWER_STATE(void) { return true; } +#endif +static inline void KEY_INIT(void) +{ +    /* row,col,prev: output */ +    DDRB  = 0xFF; +    PORTB = 0x40;   // unable +    /* key: input with pull-up */ +    DDRD  &= ~0x80; +    PORTD |=  0x80; +#ifdef HHKB_JP +    /* row extention for HHKB JP */ +    DDRC  |= (1<<6|1<<7); +    PORTC |= (1<<6|1<<7); +#endif +    KEY_UNABLE(); +    KEY_PREV_OFF(); + +    KEY_POWER_OFF(); +} +static inline void KEY_SELECT(uint8_t ROW, uint8_t COL) +{ +    PORTB = (PORTB & 0xC0) | (((COL) & 0x07)<<3) | ((ROW) & 0x07); +#ifdef HHKB_JP +    if ((ROW) & 0x08) PORTC = (PORTC & ~(1<<6|1<<7)) | (1<<6); +    else              PORTC = (PORTC & ~(1<<6|1<<7)) | (1<<7); +#endif +} + + +#elif defined(__AVR_AT90USB1286__) +/* + * For Teensy++(AT90USB1286) + * + *                          HHKB pro    HHKB pro2 + * row:     PB0-2           (6-8)       (5-7) + * col:     PB3-5,6         (9-12)      (8-11) + * key:     PE6(pull-uped)  (4)         (3) + * prev:    PE7             (5)         (4) + * + * TODO: convert into 'staitc inline' function + */ +#define KEY_INIT()              do {    \ +    DDRB |= 0x7F;                       \ +    DDRE |=  (1<<7);                    \ +    DDRE &= ~(1<<6);                    \ +    PORTE |= (1<<6);                    \ +} while (0) +#define KEY_SELECT(ROW, COL)    (PORTB = (PORTB & 0xC0) |       \ +                                         (((COL) & 0x07)<<3) |  \ +                                         ((ROW) & 0x07)) +#define KEY_ENABLE()            (PORTB &= ~(1<<6)) +#define KEY_UNABLE()            (PORTB |=  (1<<6)) +#define KEY_STATE()             (PINE & (1<<6)) +#define KEY_PREV_ON()           (PORTE |=  (1<<7)) +#define KEY_PREV_OFF()          (PORTE &= ~(1<<7)) +#define KEY_POWER_ON() +#define KEY_POWER_OFF() +#define KEY_POWER_STATE()       true + + +#else +#   error "define code for matrix scan" +#endif + + +#if 0 +// For ATMega328P with V-USB +// +// #elif defined(__AVR_ATmega328P__) +// Ports for V-USB +// key:     PB0(pull-uped) +// prev:    PB1 +// row:     PB2-4 +// col:     PC0-2,3 +// power:   PB5(Low:on/Hi-z:off) +#define KEY_INIT()              do {    \ +    DDRB  |= 0x3E;                      \ +    DDRB  &= ~(1<<0);                   \ +    PORTB |= 1<<0;                      \ +    DDRC  |= 0x0F;                      \ +    KEY_UNABLE();                       \ +    KEY_PREV_OFF();                     \ +} while (0) +#define KEY_SELECT(ROW, COL)    do {    \ +    PORTB = (PORTB & 0xE3) | ((ROW) & 0x07)<<2; \ +    PORTC = (PORTC & 0xF8) | ((COL) & 0x07);    \ +} while (0) +#define KEY_ENABLE()            (PORTC &= ~(1<<3)) +#define KEY_UNABLE()            (PORTC |=  (1<<3)) +#define KEY_STATE()             (PINB & (1<<0)) +#define KEY_PREV_ON()           (PORTB |=  (1<<1)) +#define KEY_PREV_OFF()          (PORTB &= ~(1<<1)) +// Power supply switching +#define KEY_POWER_ON()          do {    \ +    KEY_INIT();                         \ +    PORTB &= ~(1<<5);                   \ +    _delay_ms(1);                       \ +} while (0) +#define KEY_POWER_OFF()         do {    \ +    DDRB  &= ~0x3F;                     \ +    PORTB &= ~0x3F;                     \ +    DDRC  &= ~0x0F;                     \ +    PORTC &= ~0x0F;                     \ +} while (0) +#endif + +#endif diff --git a/keyboard/hhkb_qmk/hhkb_qmk.c b/keyboard/hhkb_qmk/hhkb_qmk.c new file mode 100644 index 0000000000..9c90e6eb44 --- /dev/null +++ b/keyboard/hhkb_qmk/hhkb_qmk.c @@ -0,0 +1,29 @@ +#include "hhkb_qmk.h" + +__attribute__ ((weak)) +void * matrix_init_user(void) { +	// leave these blank +}; + +__attribute__ ((weak)) +void * matrix_scan_user(void) { +	// leave these blank +}; + +void * matrix_init_kb(void) { +	// put your keyboard start-up code here +	// runs once when the firmware starts up + +	if (matrix_init_user) { +		(*matrix_init_user)(); +	} +}; + +void * matrix_scan_kb(void) { +	// put your looping keyboard code here +	// runs every cycle (a lot) + +	if (matrix_scan_user) { +		(*matrix_scan_user)(); +	} +}; diff --git a/keyboard/hhkb_qmk/hhkb_qmk.h b/keyboard/hhkb_qmk/hhkb_qmk.h new file mode 100644 index 0000000000..f6bf20f43b --- /dev/null +++ b/keyboard/hhkb_qmk/hhkb_qmk.h @@ -0,0 +1,30 @@ +#ifndef HHKB_QMK_H +#define HHKB_QMK_H + +#include "matrix.h" +#include "keymap_common.h" +//#include "backlight.h" +#include <stddef.h> + +#define KEYMAP(                                                                \ +    K31, K30, K00, K10, K11, K20, K21, K40, K41, K60, K61, K70, K71, K50, K51, \ +    K32, K01, K02, K13, K12, K23, K22, K42, K43, K62, K63, K73, K72, K52,      \ +    K33, K04, K03, K14, K15, K24, K25, K45, K44, K65, K64, K74, K53,           \ +    K34, K05, K06, K07, K16, K17, K26, K46, K66, K76, K75, K55, K54,           \ +         K35, K36,           K37,                K57, K56)                     \ +                                                                               \ +{                                                                              \ +    { K00, K01, K02, K03, K04, K05, K06, K07   },                              \ +    { K10, K11, K12, K13, K14, K15, K16, K17   },                              \ +    { K20, K21, K22, K23, K24, K25, K26, KC_NO },                              \ +    { K30, K31, K32, K33, K34, K35, K36, K37   },                              \ +    { K40, K41, K42, K43, K44, K45, K46, KC_NO },                              \ +    { K50, K51, K52, K53, K54, K55, K56, K57   },                              \ +    { K60, K61, K62, K63, K64, K65, K66, KC_NO },                              \ +    { K70, K71, K72, K73, K74, K75, K76, KC_NO }                               \ +} + +void * matrix_init_user(void); +void * matrix_scan_user(void); + +#endif diff --git a/keyboard/hhkb_qmk/keymaps/keymap_default.c b/keyboard/hhkb_qmk/keymaps/keymap_default.c new file mode 100644 index 0000000000..bcd8ead377 --- /dev/null +++ b/keyboard/hhkb_qmk/keymaps/keymap_default.c @@ -0,0 +1,78 @@ +/*  -*-  eval: (turn-on-orgtbl); -*- + * default HHKB Layout + */ +#include "hhkb_qmk.h" + +#define BASE 0 +#define HHKB 1 + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +    /* BASE Level: Default Layer +     |-------+---+---+---+---+---+---+---+---+---+---+-------+-----+-------+---| +     | Esc   | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | -     | =   | \     | ` | +     |-------+---+---+---+---+---+---+---+---+---+---+-------+-----+-------+---| +     | Tab   | Q | W | E | R | T | Y | U | I | O | P | [     | ]   | Backs |   | +     |-------+---+---+---+---+---+---+---+---+---+---+-------+-----+-------+---| +     | Cont  | A | S | D | F | G | H | J | K | L | ; | '     | Ent |       |   | +     |-------+---+---+---+---+---+---+---+---+---+---+-------+-----+-------+---| +     | Shift | Z | X | C | V | B | N | M | , | . | / | Shift | Fn0 |       |   | +     |-------+---+---+---+---+---+---+---+---+---+---+-------+-----+-------+---| + +            |------+------+-----------------------+------+------| +            | LAlt | LGUI | ******* Space ******* | RGUI | RAlt | +            |------+------+-----------------------+------+------| +    */ + +  [BASE] = KEYMAP(  //  default layer +  KC_ESC,   KC_1,  KC_2,  KC_3,  KC_4,  KC_5,  KC_6,  KC_7,  KC_8,     KC_9,    KC_0,     KC_MINS,  KC_EQL,    KC_BSLS,  KC_GRV, \ +  KC_TAB,   KC_Q,  KC_W,  KC_E,  KC_R,  KC_T,  KC_Y,  KC_U,  KC_I,     KC_O,    KC_P,     KC_LBRC,  KC_RBRC,   KC_BSPC,          \ +  KC_LCTL,  KC_A,  KC_S,  KC_D,  KC_F,  KC_G,  KC_H,  KC_J,  KC_K,     KC_L,    KC_SCLN,  KC_QUOT,  KC_ENT,                      \ +  KC_LSFT,  KC_Z,  KC_X,  KC_C,  KC_V,  KC_B,  KC_N,  KC_M,  KC_COMM,  KC_DOT,  KC_SLSH,  KC_RSFT,  MO(HHKB),                    \ +                    KC_LALT,  KC_LGUI,  /*        */ KC_SPC,      KC_RGUI,  KC_RALT), + + + +    /* Layer HHKB: HHKB mode (HHKB Fn) +      |------+-----+-----+-----+----+----+----+----+-----+-----+-----+-----+-------+-------+-----| +      | Pwr  | F1  | F2  | F3  | F4 | F5 | F6 | F7 | F8  | F9  | F10 | F11 | F12   | Ins   | Del | +      |------+-----+-----+-----+----+----+----+----+-----+-----+-----+-----+-------+-------+-----| +      | Caps |     |     |     |    |    |    |    | Psc | Slk | Pus | Up  |       | Backs |     | +      |------+-----+-----+-----+----+----+----+----+-----+-----+-----+-----+-------+-------+-----| +      |      | VoD | VoU | Mut |    |    | *  | /  | Hom | PgU | Lef | Rig | Enter |       |     | +      |------+-----+-----+-----+----+----+----+----+-----+-----+-----+-----+-------+-------+-----| +      |      |     |     |     |    |    | +  | -  | End | PgD | Dow |     |       |       |     | +      |------+-----+-----+-----+----+----+----+----+-----+-----+-----+-----+-------+-------+-----| + +                 |------+------+----------------------+------+------+ +                 | **** | **** | ******************** | **** | **** | +                 |------+------+----------------------+------+------+ + +     */ + +  [HHKB] = KEYMAP( +  KC_PWR,   KC_F1,    KC_F2,    KC_F3,    KC_F4,    KC_F5,    KC_F6,    KC_F7,    KC_F8,    KC_F9,    KC_F10,   KC_F11,   KC_F12,   KC_INS,   KC_DEL, \ +  KC_CAPS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_PSCR,  KC_SLCK,  KC_PAUS,  KC_UP,    KC_TRNS,  KC_BSPC,          \ +  KC_TRNS,  KC_VOLD,  KC_VOLU,  KC_MUTE,  KC_TRNS,  KC_TRNS,  KC_PAST,  KC_PSLS,  KC_HOME,  KC_PGUP,  KC_LEFT,  KC_RGHT,  KC_PENT,                    \ +  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_PPLS,  KC_PMNS,  KC_END,   KC_PGDN,  KC_DOWN,  KC_TRNS,  KC_TRNS,                    \ +                     KC_TRNS, KC_TRNS,           KC_TRNS,                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 0: +          if (record->event.pressed) { +            register_code(KC_RSFT); +          } else { +            unregister_code(KC_RSFT); +          } +        break; +      } +    return MACRO_NONE; +}; diff --git a/keyboard/hhkb_qmk/keymaps/keymap_lxol.c b/keyboard/hhkb_qmk/keymaps/keymap_lxol.c new file mode 100644 index 0000000000..3256fda516 --- /dev/null +++ b/keyboard/hhkb_qmk/keymaps/keymap_lxol.c @@ -0,0 +1,208 @@ +/*  -*-  eval: (turn-on-orgtbl); -*- + * lxol HHKB Layout + */ +#include "hhkb_qmk.h" + +#define BASE 0 +#define WIN 1 +#define HHKB 2 +#define RGUILEV 3 +#define LGUILEV 4 +#define RALTLEV 5 +#define LALTLEV 6 + + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +    /* Layer 0: Default Layer +     |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---| +     | Esc    | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0   | -     | =        | \     | ` | +     |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---| +     | Tab    | Q | W | E | R | T | Y | U | I | O | P   | [     | ]        | Backs |   | +     |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---| +     | Contro | A | S | D | F | G | H | J | K | L | ;   | '     | RCtl/Ent |       |   | +     |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---| +     | Shift  | Z | X | C | V | B | N | M | , | . | Fn2 | Shift | Fn0      |       |   | +     |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---| + +                 |------+------+-------+------+------| +                 | LAlt | LGUI | Space | RGUI | RAlt | +                 |------+------+-------+------+------| +    */ + +  [BASE] = KEYMAP(  // layer 0 : default + + +  KC_ESC,   KC_1,              KC_2,              KC_3,  KC_4,  KC_5,  KC_6,  KC_7,  KC_8,     KC_9,              KC_0,                 KC_MINS,  KC_EQL,    KC_BSLS,  KC_GRV,  \ +  KC_TAB,   KC_Q,              KC_W,              KC_E,  KC_R,  KC_T,  KC_Y,  KC_U,  KC_I,     KC_O,              KC_P,                 KC_LBRC,  KC_RBRC,   KC_BSPC,  \ +  KC_LCTL,  LT(LALTLEV,KC_A),  LT(LGUILEV,KC_S),  KC_D,  KC_F,  KC_G,  KC_H,  KC_J,  KC_K,     LT(RGUILEV,KC_L),  LT(RALTLEV,KC_SCLN),  KC_QUOT,  KC_FN0,    \ +  KC_LSFT,  KC_Z,              KC_X,              KC_C,  KC_V,  KC_B,  KC_N,  KC_M,  KC_COMM,  KC_DOT,            KC_SLSH,              KC_RSFT,  MO(HHKB),  \ +      KC_LALT, KC_LGUI, KC_SPC,                KC_RGUI, KC_RALT), + + + +    /* Layer 1: HHKB mode (HHKB Fn) +      |------+-----+-----+-----+----+----+----+----+-----+-----+-----+-----+-------+-------+-----| +      | Pwr  | F1  | F2  | F3  | F4 | F5 | F6 | F7 | F8  | F9  | F10 | F11 | F12   | Ins   | Del | +      |------+-----+-----+-----+----+----+----+----+-----+-----+-----+-----+-------+-------+-----| +      | Caps |     |     |     |    |    |    |    | Psc | Slk | Pus | Up  |       | Backs |     | +      |------+-----+-----+-----+----+----+----+----+-----+-----+-----+-----+-------+-------+-----| +      |      | VoD | VoU | Mut |    |    | *  | /  | Hom | PgU | Lef | Rig | Enter |       |     | +      |------+-----+-----+-----+----+----+----+----+-----+-----+-----+-----+-------+-------+-----| +      |      |     |     |     |    |    | +  | -  | End | PgD | Dow |     |       |       |     | +      |------+-----+-----+-----+----+----+----+----+-----+-----+-----+-----+-------+-------+-----| + +                      |---+---+---+---+---| +                      |   |   |   |   |   | +                      |---+---+---+---+---| +     */ + +  [HHKB] = KEYMAP( +  KC_PWR,   KC_F1,    KC_F2,    KC_F3,    KC_F4,    KC_F5,    KC_F6,    KC_F7,    KC_F8,    KC_F9,    KC_F10,   KC_F11,   KC_F12,   KC_INS,   KC_DEL, \ +  KC_CAPS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_PSCR,  KC_SLCK,  KC_PAUS,  KC_UP,    KC_TRNS,  KC_BSPC,          \ +  KC_TRNS,  KC_VOLD,  KC_VOLU,  KC_MUTE,  KC_TRNS,  KC_TRNS,  KC_PAST,  KC_PSLS,  KC_HOME,  KC_PGUP,  KC_LEFT,  KC_RGHT,  KC_PENT,                    \ +  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_PPLS,  KC_PMNS,  KC_END,   KC_PGDN,  KC_DOWN,  KC_TRNS,  KC_TRNS,                    \ +  KC_TRNS, KC_TRNS,           KC_TRNS,                KC_TRNS, KC_TRNS), + + +    /* Layer LGUI: All keys with RGUI modifier +     |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---| +     | Esc    | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0   | -     | =        | \     | ` | +     |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---| +     | Tab    | Q | W | E | R | T | Y | U | I | O | P   | [     | ]        | Backs |   | +     |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---| +     | Contro | A | S | D | F | G | H | J | K |   | ;   | '     | RCtl/Ent |       |   | +     |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---| +     | Shift  | Z | X | C | V | B | N | M | , | . | Fn2 | Shift | Fn0      |       |   | +     |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---| + +                 |------+------+-------+------+------| +                 | LAlt | LGUI | Space | RGUI | RAlt | +                 |------+------+-------+------+------| +    */ + +  [RGUILEV] = KEYMAP(  // Right GUI layer  by KC_L + +  RGUI(KC_ESC),   RGUI(KC_1),  RGUI(KC_2),  RGUI(KC_3),  RGUI(KC_4),  RGUI(KC_5),  RGUI(KC_6),  RGUI(KC_7),  RGUI(KC_8),     RGUI(KC_9),    RGUI(KC_0),     RGUI(KC_MINS),  RGUI(KC_EQL),   RGUI(KC_BSLS),  RGUI(KC_GRV),  \ +  RGUI(KC_TAB),   RGUI(KC_Q),  RGUI(KC_W),  RGUI(KC_E),  RGUI(KC_R),  RGUI(KC_T),  RGUI(KC_Y),  RGUI(KC_U),  RGUI(KC_I),     RGUI(KC_O),    RGUI(KC_P),     RGUI(KC_LBRC),  RGUI(KC_RBRC),  RGUI(KC_BSPC),  \ +  RGUI(KC_LCTL),  RGUI(KC_A),  RGUI(KC_S),  RGUI(KC_D),  RGUI(KC_F),  RGUI(KC_G),  RGUI(KC_H),  RGUI(KC_J),  RGUI(KC_K),     KC_TRNS,       KC_TRNS,        RGUI(KC_QUOT),  KC_FN0,         \ +  RGUI(KC_LSFT),  RGUI(KC_Z),  RGUI(KC_X),  RGUI(KC_C),  RGUI(KC_V),  RGUI(KC_B),  RGUI(KC_N),  RGUI(KC_M),  RGUI(KC_COMM),  RGUI(KC_DOT),  RGUI(KC_SLSH),  RGUI(KC_RSFT),  KC_TRNS,        \ +      KC_LALT, KC_LGUI, RGUI(KC_SPC),               KC_RGUI, KC_RALT), + +    /* Layer LGUI: All keys with LGUI modifier +     |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---| +     | Esc    | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0   | -     | =        | \     | ` | +     |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---| +     | Tab    | Q | W | E | R | T | Y | U | I | O | P   | [     | ]        | Backs |   | +     |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---| +     | Contro | A | S | D | F | G | H | J | K |   | ;   | '     | RCtl/Ent |       |   | +     |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---| +     | Shift  | Z | X | C | V | B | N | M | , | . | Fn2 | Shift | Fn0      |       |   | +     |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---| + +                 |------+------+-------+------+------| +                 | LAlt | LGUI | Space | LGUI | RAlt | +                 |------+------+-------+------+------| +    */ + +  [LGUILEV] = KEYMAP(  // Right GUI layer  by KC_L + +  LGUI(KC_ESC),   LGUI(KC_1),  LGUI(KC_2),  LGUI(KC_3),  LGUI(KC_4),  LGUI(KC_5),  LGUI(KC_6),  LGUI(KC_7),  LGUI(KC_8),     LGUI(KC_9),    LGUI(KC_0),     LGUI(KC_MINS),  LGUI(KC_EQL),   LGUI(KC_BSLS),  LGUI(KC_GRV),  \ +  LGUI(KC_TAB),   LGUI(KC_Q),  LGUI(KC_W),  LGUI(KC_E),  LGUI(KC_R),  LGUI(KC_T),  LGUI(KC_Y),  LGUI(KC_U),  LGUI(KC_I),     LGUI(KC_O),    LGUI(KC_P),     LGUI(KC_LBRC),  LGUI(KC_RBRC),  LGUI(KC_BSPC),  \ +  LGUI(KC_LCTL),  KC_TRNS,     KC_TRNS,     LGUI(KC_D),  LGUI(KC_F),  LGUI(KC_G),  LGUI(KC_H),  LGUI(KC_J),  LGUI(KC_K),     LGUI(KC_L),    LGUI(KC_SCLN),  LGUI(KC_QUOT),  KC_FN0,         \ +  KC_LSFT,        LGUI(KC_Z),  LGUI(KC_X),  LGUI(KC_C),  LGUI(KC_V),  LGUI(KC_B),  LGUI(KC_N),  LGUI(KC_M),  LGUI(KC_COMM),  LGUI(KC_DOT),  LGUI(KC_SLSH),  KC_RSFT,        KC_TRNS,        \ +      KC_LALT, KC_LGUI, LGUI(KC_SPC),               KC_LGUI, KC_RALT), + +    /* Layer LALT: All keys with RALT modifier +     |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---| +     | Esc    | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0   | -     | =        | \     | ` | +     |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---| +     | Tab    | Q | W | E | R | T | Y | U | I | O | P   | [     | ]        | Backs |   | +     |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---| +     | Contro | A | S | D | F | G | H | J | K |   | ;   | '     | RCtl/Ent |       |   | +     |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---| +     | Shift  | Z | X | C | V | B | N | M | , | . | Fn2 | Shift | Fn0      |       |   | +     |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---| + +                 |------+------+-------+------+------| +                 | LAlt | LGUI | Space | RGUI | RAlt | +                 |------+------+-------+------+------| +    */ + +  [RALTLEV] = KEYMAP(  // Right ALT layer  by KC_L + +  RALT(KC_ESC),   RALT(KC_1),  RALT(KC_2),  RALT(KC_3),  RALT(KC_4),  RALT(KC_5),  RALT(KC_6),  RALT(KC_7),  RALT(KC_8),     RALT(KC_9),    RALT(KC_0),     RALT(KC_MINS),  RALT(KC_EQL),   RALT(KC_BSLS),  RALT(KC_GRV),  \ +  RALT(KC_TAB),   RALT(KC_Q),  RALT(KC_W),  RALT(KC_E),  RALT(KC_R),  RALT(KC_T),  RALT(KC_Y),  RALT(KC_U),  RALT(KC_I),     RALT(KC_O),    RALT(KC_P),     RALT(KC_LBRC),  RALT(KC_RBRC),  RALT(KC_BSPC),  \ +  RALT(KC_LCTL),  RALT(KC_A),  RALT(KC_S),  RALT(KC_D),  RALT(KC_F),  RALT(KC_G),  RALT(KC_H),  RALT(KC_J),  RALT(KC_K),     KC_TRNS,       KC_TRNS,        RALT(KC_QUOT),  KC_FN0,         \ +  RALT(KC_LSFT),  RALT(KC_Z),  RALT(KC_X),  RALT(KC_C),  RALT(KC_V),  RALT(KC_B),  RALT(KC_N),  RALT(KC_M),  RALT(KC_COMM),  RALT(KC_DOT),  RALT(KC_SLSH),  RALT(KC_RSFT),  KC_TRNS,        \ +      KC_LALT, KC_LGUI, RALT(KC_SPC),               KC_RGUI, KC_RALT), + +    /* Layer LALT: All keys with LALT modifier +     |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---| +     | Esc    | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0   | -     | =        | \     | ` | +     |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---| +     | Tab    | Q | W | E | R | T | Y | U | I | O | P   | [     | ]        | Backs |   | +     |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---| +     | Contro | A | S | D | F | G | H | J | K |   | ;   | '     | RCtl/Ent |       |   | +     |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---| +     | Shift  | Z | X | C | V | B | N | M | , | . | Fn2 | Shift | Fn0      |       |   | +     |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---| + +                 |------+------+-------+------+------| +                 | LAlt | LGUI | Space | LGUI | RAlt | +                 |------+------+-------+------+------| +    */ + +  [LALTLEV] = KEYMAP(  // Right ALT layer  by KC_L + +  LALT(KC_ESC),   LALT(KC_1),  LALT(KC_2),  LALT(KC_3),  LALT(KC_4),  LALT(KC_5),  LALT(KC_6),  LALT(KC_7),  LALT(KC_8),     LALT(KC_9),    LALT(KC_0),     LALT(KC_MINS),  LALT(KC_EQL),   LALT(KC_BSLS),  LALT(KC_GRV),  \ +  LALT(KC_TAB),   LALT(KC_Q),  LALT(KC_W),  LALT(KC_E),  LALT(KC_R),  LALT(KC_T),  LALT(KC_Y),  LALT(KC_U),  LALT(KC_I),     LALT(KC_O),    LALT(KC_P),     LALT(KC_LBRC),  LALT(KC_RBRC),  LALT(KC_BSPC),  \ +  LALT(KC_LCTL),  KC_TRNS,     KC_TRNS,     LALT(KC_D),  LALT(KC_F),  LALT(KC_G),  LALT(KC_H),  LALT(KC_J),  LALT(KC_K),     LALT(KC_L),    LALT(KC_SCLN),  LALT(KC_QUOT),  KC_FN0,         \ +  KC_LSFT,        LALT(KC_Z),  LALT(KC_X),  LALT(KC_C),  LALT(KC_V),  LALT(KC_B),  LALT(KC_N),  LALT(KC_M),  LALT(KC_COMM),  LALT(KC_DOT),  LALT(KC_SLSH),  KC_RSFT,        KC_TRNS,        \ +      KC_LALT, KC_LGUI, LALT(KC_SPC),               KC_LGUI, KC_RALT), + + +    /* Layer WIN: Win layer +     |--------+---+---+---+---+---+---+---+---+---+---+-------+----------+-------+---| +     | Esc    | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | -     | =        | \     | ` | +     |--------+---+---+---+---+---+---+---+---+---+---+-------+----------+-------+---| +     | Tab    | Q | W | E | R | T | Y | U | I | O | P | [     | ]        | Backs |   | +     |--------+---+---+---+---+---+---+---+---+---+---+-------+----------+-------+---| +     | Contro | A | S | D | F | G | H | J | K | L | ; | '     | RCtl/Ent |       |   | +     |--------+---+---+---+---+---+---+---+---+---+---+-------+----------+-------+---| +     | Shift  | Z | X | C | V | B | N | M | , | . | / | Shift | Fn0      |       |   | +     |--------+---+---+---+---+---+---+---+---+---+---+-------+----------+-------+---| + +                 |------+------+-------+------+------| +                 | LGui | LAlt | Space | RGui | Ralt | +                 |------+------+-------+------+------| +    */ + +  [WIN] = KEYMAP(  // BASE level with swapped GUI/ALT + + +  KC_ESC,   KC_1,              KC_2,              KC_3,  KC_4,  KC_5,  KC_6,  KC_7,  KC_8,     KC_9,              KC_0,                 KC_MINS,  KC_EQL,    KC_BSLS,  KC_GRV,  \ +  KC_TAB,   KC_Q,              KC_W,              KC_E,  KC_R,  KC_T,  KC_Y,  KC_U,  KC_I,     KC_O,              KC_P,                 KC_LBRC,  KC_RBRC,   KC_BSPC,  \ +  KC_LCTL,  LT(LGUILEV,KC_A),  LT(LALTLEV,KC_S),  KC_D,  KC_F,  KC_G,  KC_H,  KC_J,  KC_K,     LT(RALTLEV,KC_L),  LT(RGUILEV,KC_SCLN),  KC_QUOT,  KC_FN0,    \ +  KC_LSFT,  KC_Z,              KC_X,              KC_C,  KC_V,  KC_B,  KC_N,  KC_M,  KC_COMM,  KC_DOT,            KC_SLSH,              KC_RSFT,  MO(HHKB),  \ +                 KC_RGUI, KC_RALT, KC_SPC,                KC_RALT, KC_RGUI)}; + + +const uint16_t PROGMEM fn_actions[] = { +    [0] = ACTION_MODS_TAP_KEY(MOD_RCTL, KC_ENT)      // RControl with tap Enter* +}; + +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; +}; diff --git a/keyboard/hhkb_qmk/matrix.c b/keyboard/hhkb_qmk/matrix.c new file mode 100644 index 0000000000..14fae0b82c --- /dev/null +++ b/keyboard/hhkb_qmk/matrix.c @@ -0,0 +1,196 @@ +/* +Copyright 2011 Jun Wako <[email protected]> + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program.  If not, see <http://www.gnu.org/licenses/>. +*/ + +/* + * scan matrix + */ +#include <stdint.h> +#include <stdbool.h> +#include <util/delay.h> +#include "print.h" +#include "debug.h" +#include "util.h" +#include "timer.h" +#include "matrix.h" +#include "hhkb_avr.h" +#include <avr/wdt.h> +#include "suspend.h" +#include "lufa.h" + + +// matrix power saving +#define MATRIX_POWER_SAVE       10000 +static uint32_t matrix_last_modified = 0; + +// matrix state buffer(1:on, 0:off) +static matrix_row_t *matrix; +static matrix_row_t *matrix_prev; +static matrix_row_t _matrix0[MATRIX_ROWS]; +static matrix_row_t _matrix1[MATRIX_ROWS]; + + +inline +uint8_t matrix_rows(void) +{ +    return MATRIX_ROWS; +} + +inline +uint8_t matrix_cols(void) +{ +    return MATRIX_COLS; +} + +void matrix_init(void) +{ +#ifdef DEBUG +    debug_enable = true; +    debug_keyboard = true; +#endif + +    KEY_INIT(); + +    // initialize matrix state: all keys off +    for (uint8_t i=0; i < MATRIX_ROWS; i++) _matrix0[i] = 0x00; +    for (uint8_t i=0; i < MATRIX_ROWS; i++) _matrix1[i] = 0x00; +    matrix = _matrix0; +    matrix_prev = _matrix1; +} + +uint8_t matrix_scan(void) +{ +    uint8_t *tmp; + +    tmp = matrix_prev; +    matrix_prev = matrix; +    matrix = tmp; + +    // power on +    if (!KEY_POWER_STATE()) KEY_POWER_ON(); +    for (uint8_t row = 0; row < MATRIX_ROWS; row++) { +        for (uint8_t col = 0; col < MATRIX_COLS; col++) { +            KEY_SELECT(row, col); +            _delay_us(5); + +            // Not sure this is needed. This just emulates HHKB controller's behaviour. +            if (matrix_prev[row] & (1<<col)) { +                KEY_PREV_ON(); +            } +            _delay_us(10); + +            // NOTE: KEY_STATE is valid only in 20us after KEY_ENABLE. +            // If V-USB interrupts in this section we could lose 40us or so +            // and would read invalid value from KEY_STATE. +            uint8_t last = TIMER_RAW; + +            KEY_ENABLE(); + +            // Wait for KEY_STATE outputs its value. +            // 1us was ok on one HHKB, but not worked on another. +            // no   wait doesn't work on Teensy++ with pro(1us works) +            // no   wait does    work on tmk PCB(8MHz) with pro2 +            // 1us  wait does    work on both of above +            // 1us  wait doesn't work on tmk(16MHz) +            // 5us  wait does    work on tmk(16MHz) +            // 5us  wait does    work on tmk(16MHz/2) +            // 5us  wait does    work on tmk(8MHz) +            // 10us wait does    work on Teensy++ with pro +            // 10us wait does    work on 328p+iwrap with pro +            // 10us wait doesn't work on tmk PCB(8MHz) with pro2(very lagged scan) +            _delay_us(5); + +            if (KEY_STATE()) { +                matrix[row] &= ~(1<<col); +            } else { +                matrix[row] |= (1<<col); +            } + +            // Ignore if this code region execution time elapses more than 20us. +            // MEMO: 20[us] * (TIMER_RAW_FREQ / 1000000)[count per us] +            // MEMO: then change above using this rule: a/(b/c) = a*1/(b/c) = a*(c/b) +            if (TIMER_DIFF_RAW(TIMER_RAW, last) > 20/(1000000/TIMER_RAW_FREQ)) { +                matrix[row] = matrix_prev[row]; +            } + +            _delay_us(5); +            KEY_PREV_OFF(); +            KEY_UNABLE(); + +            // NOTE: KEY_STATE keep its state in 20us after KEY_ENABLE. +            // This takes 25us or more to make sure KEY_STATE returns to idle state. +#ifdef HHKB_JP +            // Looks like JP needs faster scan due to its twice larger matrix +            // or it can drop keys in fast key typing +            _delay_us(30); +#else +            _delay_us(75); +#endif +        } +        if (matrix[row] ^ matrix_prev[row]) matrix_last_modified = timer_read32(); +    } +    // power off +    if (KEY_POWER_STATE() && +            (USB_DeviceState == DEVICE_STATE_Suspended || +             USB_DeviceState == DEVICE_STATE_Unattached ) && +            timer_elapsed32(matrix_last_modified) > MATRIX_POWER_SAVE) { +        KEY_POWER_OFF(); +        suspend_power_down(); +    } +    return 1; +} + +bool matrix_is_modified(void) +{ +    for (uint8_t i = 0; i < MATRIX_ROWS; i++) { +        if (matrix[i] != matrix_prev[i]) +            return true; +    } +    return false; +} + +inline +bool matrix_has_ghost(void) +{ +    return false; +} + +inline +bool matrix_is_on(uint8_t row, uint8_t col) +{ +    return (matrix[row] & (1<<col)); +} + +inline +matrix_row_t matrix_get_row(uint8_t row) +{ +    return matrix[row]; +} + +void matrix_print(void) +{ +    print("\nr/c 01234567\n"); +    for (uint8_t row = 0; row < matrix_rows(); row++) { +        xprintf("%02X: %08b\n", row, bitrev(matrix_get_row(row))); +    } +} + +void matrix_power_up(void) { +    KEY_POWER_ON(); +} +void matrix_power_down(void) { +    KEY_POWER_OFF(); +} | 
