summary refs log tree commit diff
diff options
context:
space:
mode:
authorIBNobody <ibnobody@gmail.com>2016-04-11 22:10:15 -0500
committerIBNobody <ibnobody@gmail.com>2016-04-11 22:10:15 -0500
commit6ef262951cfcc2ca2a6f1b1611753a2dbf0b7690 (patch)
treef4d8d151b97daabadb7dd134d2d289b2e6979084
parente4d2b90bda5d654a2d3053897c18e9e03a6b4379 (diff)
parentde904af36072f53d2354bff0ed36b63014ad0d61 (diff)
Merge remote-tracking branch 'refs/remotes/jackhumbert/master'
-rw-r--r--keyboard/ergodox_ez/keymaps/dvorak_intl_squisher/README.md29
-rw-r--r--keyboard/ergodox_ez/keymaps/dvorak_intl_squisher/dvorak_intl_squisher.hex1127
-rw-r--r--keyboard/ergodox_ez/keymaps/dvorak_intl_squisher/keyboard-layout0.pngbin0 -> 73585 bytes
-rw-r--r--keyboard/ergodox_ez/keymaps/dvorak_intl_squisher/keyboard-layout1.pngbin0 -> 59122 bytes
-rw-r--r--keyboard/ergodox_ez/keymaps/dvorak_intl_squisher/keyboard-layout2.pngbin0 -> 53319 bytes
-rw-r--r--keyboard/ergodox_ez/keymaps/dvorak_intl_squisher/keymap.c185
-rw-r--r--keyboard/planck/keymaps/tak3over.c136
-rwxr-xr-xkeyboard/preonic/flash-pcb.sh3
-rw-r--r--keyboard/preonic/keymaps/default/README.md34
-rw-r--r--keyboard/preonic/keymaps/default/keymap.c96
-rw-r--r--keyboard/preonic/keymaps/lock/README.md3
-rw-r--r--keyboard/preonic/keymaps/lock/keymap.c105
-rw-r--r--keyboard/preonic/preonic.c36
-rw-r--r--keyboard/preonic/preonic.h50
14 files changed, 1804 insertions, 0 deletions
diff --git a/keyboard/ergodox_ez/keymaps/dvorak_intl_squisher/README.md b/keyboard/ergodox_ez/keymaps/dvorak_intl_squisher/README.md
new file mode 100644
index 0000000000..984106ff46
--- /dev/null
+++ b/keyboard/ergodox_ez/keymaps/dvorak_intl_squisher/README.md
@@ -0,0 +1,29 @@
+# ErgoDox EZ Dvorak International Squisher
+
+Dvorak layout adjusted with several (linux) applications in mind:
+
+* Easier Escape for VIM
+* Windows/Super key for awesome WM
+* Alt+Shift for international characters
+* PrintScreen for sys-rq
+* Insert for the X11 clip-board
+
+Major layer changes:
+
+* Common multimedia keys are integrated into layer 0, less common into layer 1
+* No mouse keys
+* Layer 2 is qwerty (for easier gaming & less fortunate keyboard users)
+
+Known issues:
+
+* Alt+Shift does not work reliably (depends on the X11 kb layout? Not
+  entirely clear...)
+
+![layer0](keyboard-layout0.png)
+![layer1](keyboard-layout1.png)
+![layer2](keyboard-layout2.png)
+
+## Changelog
+
+* 2016-03-29
+  * Initial release
diff --git a/keyboard/ergodox_ez/keymaps/dvorak_intl_squisher/dvorak_intl_squisher.hex b/keyboard/ergodox_ez/keymaps/dvorak_intl_squisher/dvorak_intl_squisher.hex
new file mode 100644
index 0000000000..bd70f5829f
--- /dev/null
+++ b/keyboard/ergodox_ez/keymaps/dvorak_intl_squisher/dvorak_intl_squisher.hex
@@ -0,0 +1,1127 @@
+:100000000C9465020C94AC020C94AC020C94AC02FF

+:100010000C94AC020C94AC020C94AC020C94AC02A8

+:100020000C94AC020C94AC020C94B50B0C94870CA1

+:100030000C94AC020C94AC020C94AC020C94AC0288

+:100040000C94AC020C943B210C94AC020C94AC02CA

+:100050000C94AC020C94C71A0C94AC020C94AC0235

+:100060000C94AC020C94AC020C94AC020C94AC0258

+:100070000C94AC020C94AC020C94AC020C94AC0248

+:100080000C94AC020C94AC020C94AC020C94AC0238

+:100090000C94AC020C94AC020C94AC020C94AC0228

+:1000A0000C94AC020C94AC020C94AC02F40C160D43

+:1000B000040E160D040E5B0D7E0D040ED30DE60D21

+:1000C000D110D11000110011431181119A139A130C

+:1000D0009A119A139B129B126E139A139A138513FB

+:1000E0000000F0A12E0029002A00E1003581000067

+:1000F0001E00340004003371E2004D001F00360082

+:1001000012001400E3002B002000370008000D004F

+:1001100050002C002100130018000E004F004A0070

+:1001200022001C000C001B0000006571B6004C0092

+:100130000000007F00000154AE004900000000777D

+:1001400000000254230009000700050000004600DB

+:1001500024000A000B00100052004B00250006008E

+:1001600017001A0051002800260015001100190080

+:100170002F00E51427000F0016001D7130004E00FF

+:10018000318238002D00E500C100000001000100AF

+:1001900001000100010000003A001E0220022202BC

+:1001A000010001003B001F022102230201000100A7

+:1001B0003C002F0226022F00AC0001003D0030025F

+:1001C00027023000AB0001003E003102350035024D

+:1001D000000001000100010000000100000001001A

+:1001E0000100010000000100000001003F0052007A

+:1001F00051002402000001004000240021001E00E4

+:100200000100A9004100250022001F003700010065

+:1002100042002600230020002700A80043002502FA

+:100220002E0231002E00AA0044004500010001000A

+:1002300001000000010001000100010001000000B8

+:100240000100140004001D710100010001001A00EA

+:1002500016001B0001000100010008000700060055

+:100260000100010001001500090019000100010052

+:10027000010017000A000500000001000100010054

+:100280000000010000000100010001000000010069

+:100290000000010001001C000B0011000000010023

+:1002A000010018000D0010000100010001000C0009

+:1002B0000E00360001000100010012000F0037009F

+:1002C00001000100010013003382387101000100B8

+:1002D00001000100010001000100000016034500BB

+:1002E000720067006F0044006F0078002000450036

+:1002F0005A00000016034500720067006F004400BA

+:100300006F007800200045005A0000000403090433

+:1003100009026D00040100A0FA09040000010301B4

+:100320000100092111010001223F00070581030896

+:10033000000A090401000103010200092111010062

+:1003400001224D000705820308000A09040200018A

+:100350000300000009211101000122360007058376

+:100360000308000A09040300010300000009211129

+:100370000100012239000705840310000112011059

+:100380000100000008EDFE07130100010200010555

+:10039000010906A101050719E029E71500250195C6

+:1003A0000875018102050819012905950575019156

+:1003B000029501750391010507190029771500259C

+:1003C00001957875018102C005010980A1018502AE

+:1003D00016010026B7001A01002AB7007510950112

+:1003E0008100C0050C0901A1018503160100269CAE

+:1003F000021A01002A9C02751095018100C00501B6

+:100400000902A1010901A100050919012905150029

+:10041000250195057501810295017503810105018D

+:10042000093009311581257F950275088106093843

+:100430001581257F950175088106050C0A3802157E

+:1004400081257F950175088106C0C005010906A1B7

+:1004500001050719E029E7150025019508750181B7

+:100460000295017508810105081901290595057591

+:100470000191029501750391010507190029FF15E6

+:100480000025FF950675088100C0000000000000EF

+:100490000000000000010204060A0F17202C3A4A4F

+:1004A0005D71879DB3C7DAE9F5FCFFFCF5E9DAC7B2

+:1004B000B39D87715D4A3A2C20170F0A060402018A

+:1004C0000000000000000000000011241FBECFEF5C

+:1004D000DAE0DEBFCDBF04B603FE27C08091EF0196

+:1004E0009091F001A091F101B091F2018730904B11

+:1004F000A740B04BD1F41092EF011092F00110928E

+:10050000F1011092F20114BE84B7877F84BF0FB649

+:10051000F894A895809160008861809360001092A3

+:1005200060000FBEE0E0FFE3099511E0A0E0B1E05C

+:10053000E8E1F6E402C005900D92A433B107D9F7C3

+:1005400021E0A4E3B1E001C01D92AF3EB207E1F7A4

+:100550000E94F6080C940A230C94000061110BC051

+:10056000FC018281882321F085EE0E94660F03C082

+:1005700085EE0E942E1080E090E00895089560912D

+:10058000B1017091B2018091B3019091B4010E94C8

+:10059000F01956985E9825982D9826982E982798A9

+:1005A0002F98813019F0823021F00895259A2D9AE4

+:1005B0000895269A2E9A08950C94BF0256985E9834

+:1005C00025982D9826982E9827982F988FEF90E0B1

+:1005D000909389008093880090938B0080938A0089

+:1005E00090938D0080938C00259A2D9A2FEF80E7B1

+:1005F00092E0215080409040E1F700C00000269A30

+:100600002E9A2FEF80E792E0215080409040E1F752

+:1006100000C00000279A2F9A2FEF80E792E0215028

+:1006200080409040E1F700C0000025982D982FEF02

+:1006300080E792E0215080409040E1F700C0000048

+:1006400026982E982FEF80E792E02150804090402E

+:10065000E1F700C0000027982F9856985E982598DB

+:100660002D9826982E9827982F98089589EA809398

+:10067000800089E08093810024982C983F988AB16B

+:100680008F748AB96E98479A8BB1806B8BB9769AC2

+:100690000E94DE020C94BE0280E2809300018091F1

+:1006A000340181110EC00E949B0381E080933401CC

+:1006B0002FEF83ED90E3215080409040E1F700C0A0

+:1006C000000080E40E94A1038093000181112EC0EC

+:1006D0000E94CB0380930001811128C00E94CB03AC

+:1006E00080930001811122C08FE30E94CB0380938D

+:1006F000000181111BC00E94C30380E40E94A1037A

+:1007000080930001811112C08CE00E94CB03809382

+:10071000000181110BC00E94CB0380930001811165

+:1007200005C08FE30E94CB03809300010E94C303A6

+:100730008091000108951092B9008AE08093B8007A

+:10074000089594EA9093BC009091BC0097FFFCCF71

+:100750009091B900987F983021F0903111F081E0AC

+:1007600008958093BB0084E88093BC008091BC0016

+:1007700087FFFCCF8091B900887F883111F08034E9

+:1007800071F780E0089584E98093BC008091BC00FB

+:1007900084FDFCCF08958093BB0084E88093BC0067

+:1007A0008091BC0087FFFCCF9091B900987F81E0D9

+:1007B000983209F480E0089584E88093BC00809129

+:1007C000BC0087FFFCCF8091BB00089580910001A1

+:1007D000811115C080E40E94A10380930001811162

+:1007E0000CC082E10E94CB0380930001811105C0FF

+:1007F0008FEF0E94CB03809300010E94C30384B15A

+:10080000807F84B985B1807F85B98AB1837F8AB9B9

+:100810008BB1837F8BB93E98469808950E944C0314

+:10082000809300010E94E60380B38C7080BB81B38B

+:10083000836F81BBA6E3B1E0E4E4F1E08EE08E0FCC

+:1008400011921D928E13FCCF0C943603BF92CF925F

+:10085000DF92EF92FF920F931F93CF93DF938091DC

+:100860000001882379F0809135018F5F80933501F5

+:10087000811108C00E944C0380930001811102C0C5

+:100880000E94DE0206E311E0C0E0D0E0DD24D39454

+:1008900082E0C82EEE24E394F12CC730D10500F598

+:1008A00080910001811164C080E40E94A1038093C3

+:1008B0000001811112C082E10E94CB0380930001EC

+:1008C00081110BC0C7010C2E01C0880F0A94EAF7F2

+:1008D00080950E94CB03809300010E94C30348C00F

+:1008E000CA30A1F028F4C83059F0C93061F005C011

+:1008F000CC3089F070F0CD3089F0209A289810C063

+:10090000219A29980DC0229A2A980AC0239A2B98D6

+:1009100007C0529A01C0539A5B9802C03E9A46980B

+:1009200090EA9A95F1F79FB1799902C082E001C0EF

+:1009300080E091709D25982B7C9902C084E001C0D5

+:1009400080E0892B7D9902C038E001C030E0832B24

+:100950007E9902C020E101C020E0822B9FB19095DA

+:10096000991F9927991F9295990F907E892B0FC0F7

+:1009700080910001811149C080E40E94A10380930D

+:100980000001882379F1B12C0E94C3038B2DF8015B

+:100990009081981719F08083C09201010E94E603AC

+:1009A00021960F5F1F4FCE30D10509F076CF809191

+:1009B0000101882361F1815080930101882339F07E

+:1009C0008FE99FE00197F1F700C0000020C0A4E488

+:1009D000B1E0E6E3F1E0CF01825F91919D938E1348

+:1009E000FCCF15C083E10E94CB03809300018111ED

+:1009F000CACF81E40E94A103809300018111C3CF7B

+:100A00000E94DC03B82EB094BFCF80E0C0CF0E941C

+:100A1000DC0281E0DF91CF911F910F91FF90EF9069

+:100A2000DF90CF90BF900895E82FF0E0EC5BFE4F91

+:100A30008081089508958B3B910578F4883A91055B

+:100A400040F5853A9105D0F48430910508F0B1C0A5

+:100A50008130910509F4ADC06BC0803E910508F46A

+:100A600067C0883E910508F4A4C09C01205F31094D

+:100A70002031310508F05CC090650895853A9105F4

+:100A800009F459C0863A910509F058C082E890E40B

+:100A90000895883A910509F454C0893A910509F4FA

+:100AA00053C08A3A910509F452C08B3A910509F472

+:100AB00051C08C3A910509F450C08D3A910509F462

+:100AC0004FC0803B910509F44EC08E3A910509F460

+:100AD0004DC08F3A910509F44CC0813B910509F452

+:100AE0004BC0823B910509F44AC0833B910509F450

+:100AF00049C0843B910509F448C0853B910509F440

+:100B000047C0863B910509F446C0873B910509F42F

+:100B100045C0883B910509F444C0893B910509F41F

+:100B200043C08A3B910509F442C080E094E40895F3

+:100B300080E090E0089581E890E4089583E890E4EF

+:100B4000089582EE94E4089589EE94E408958AEE7F

+:100B500094E4089585EB94E4089586EB94E4089575

+:100B600087EB94E408958CEC94E408958DEC94E480

+:100B7000089583E895E408958AE895E4089582E964

+:100B800095E4089584E995E4089581E296E4089552

+:100B900083E296E4089584E296E4089585E296E47B

+:100BA000089586E296E4089587E296E408958AE23D

+:100BB00096E40895089596E0799FF001112494E554

+:100BC000899FE00DF11D1124E60FF11DEE0FFF1FAF

+:100BD000EC51FF4F859194910895880F991FFC0166

+:100BE000E05AF040859194910895880F991FFC0177

+:100BF000E052FF4F85919491089526E0729FF00195

+:100C0000112444E5849FE00DF11D1124E60FF11D30

+:100C1000EE0FFF1FEC51FF4F859194919C013A9587

+:100C200021154FE1340708F41CC13F512115304113

+:100C300020F49F700E94F50508959C013053211502

+:100C4000304118F49927906C0895811520E592079A

+:100C500071F40E94BE134FEF84E39CE0415080404A

+:100C60009040E1F700C000000E94EC1AFAC0813009

+:100C700020E5920731F48091CD0181608093CD0110

+:100C8000F0C09C0130552115304108F051C0292F8A

+:100C900033272F70332721303105D9F4AC0143704D

+:100CA000552702C0220F331F4A95E2F73C68AC017A

+:100CB00064E0440F551F6A95E1F744275370242BD5

+:100CC000352B73E0880F991F7A95E1F78076992785

+:100CD0001DC02230310529F4982F8827816F906A32

+:100CE000089523303105A9F4AC014370552721E064

+:100CF00030E002C0220F331F4A95E2F73C6843E020

+:100D0000880F991F4A95E1F7807E9770822B932B6D

+:100D1000089524303105E1F4AC014370552721E0FA

+:100D200030E002C0220F331F4A95E2F73A68E7CF5E

+:100D30009C0130572115304118F49F70906208953E

+:100D40009C0130582115304118F49F70906A089525

+:100D5000803E9105E0F4803C910558F58133910582

+:100D600009F46FC048F48932910509F463C08A32EE

+:100D7000910509F46DC072C089339105E9F082389C

+:100D80009105D1F08533910509F44DC067C0833ECC

+:100D9000910581F138F4803E9105B9F0823E9105CC

+:100DA000D9F05CC0863E910561F1873E9105A1F1C5

+:100DB00055C00E94ED0508952091E00120FD02C07C

+:100DC00021FF4CC080EE90E049C08091E00180FF9F

+:100DD000F9CF89E390E042C08091E00182FF0EC02C

+:100DE0008091E00184FF03C080E090E037C083EE93

+:100DF00090E034C08091E00182FFF2CF82EE90E07B

+:100E00002DC08091E00183FF0BC08091E00184FD43

+:100E1000EBCF87EE90E022C08091E00183FFF5CF19

+:100E200086EE90E01BC08091E00185FF07C089E25B

+:100E300090E014C08091E00185FFF9CF85E390E058

+:100E40000DC08091E00186FF07C08AE290E006C0F5

+:100E50008091E00186FFF9CF81E390E00E941B05BD

+:100E60000895089508950C943207809162010895C1

+:100E7000CF93DF9300D01F92CDB7DEB79C01809156

+:100E8000E601843019F593E099833B832A8390939C

+:100E9000E9008FEF9091E800815095FD06C095ED37

+:100EA0009A95F1F700008111F5CF8091E80085FF58

+:100EB0000DC040E050E063E070E0CE0101960E947A

+:100EC000A5098091E8008E778093E8000F900F903D

+:100ED0000F90DF91CF910895CF93DF9300D01F92B1

+:100EE000CDB7DEB72091E601243021F522E0298339

+:100EF0009B838A8383E08093E9008FEF9091E800E1

+:100F0000815095FD06C095ED9A95F1F7000081118D

+:100F1000F5CF8091E80085FF0DC040E050E063E030

+:100F200070E0CE0101960E94A5098091E8008E77BD

+:100F30008093E8000F900F900F90DF91CF9108956C

+:100F40002091E6012430F1F422E02093E9002FEF14

+:100F50003091E800215035FD06C035ED3A95F1F7A6

+:100F600000002111F5CF2091E80025FF0BC040E0E3

+:100F700050E065E070E00E94A5098091E8008E775E

+:100F80008093E8000895CF93DF93EC019091E60100

+:100F9000943009F046C080910C018823D9F08091EB

+:100FA0000D018823B9F09093E9008FEF9091E8004C

+:100FB000815095FD06C095E19A95F1F700008111E9

+:100FC000F5CF8091E80085FF2CC040E050E060E163

+:100FD00070E017C081E08093E9008FEF9091E80006

+:100FE000815095FD06C095ED9A95F1F700008111AD

+:100FF000F5CF8091E80085FF14C040E050E068E044

+:1010000070E0CE010E94A5098091E8008E77809360

+:10101000E80080E1FE01A2E5B1E001900D928A9521

+:10102000E1F7DF91CF9108958091E501811109C029

+:101030000E943A0B0E94970B8091E200846080939B

+:10104000E20008951092E501089508950C94282176

+:101050000E94821A0E942E210E943D0E0C9433079A

+:1010600042E061EC81E00E94B40A42E061EC82E07F

+:101070000E94B40A42E061EC83E00E94B40A42E1BB

+:1010800061EC84E00C94B40A8091E801833009F4A7

+:1010900055C030F4813071F0823009F48EC008956B

+:1010A0008A3009F47AC08B3009F460C0893009F0C5

+:1010B0009CC020C08091E701813A09F096C08091E0

+:1010C000E800877F8093E8008091EB019091EC012C

+:1010D000892B21F460E182E591E003C060E080E0CB

+:1010E00090E070E00E94F0098091E8008B77809397

+:1010F000E80008958091E701813209F076C080917F

+:10110000EB019091EC01009719F0039709F06DC085

+:101110008091E800877F8093E8008091E80082FD5D

+:1011200005C08091E6018111F8CF5FC08091F10088

+:10113000809362018091E8008B7753C08091E70132

+:10114000813A09F052C08091EB019091EC01892B1A

+:1011500009F04BC08091E800877F8093E800809180

+:10116000E80080FFFCCF80910C0136C08091E70140

+:101170008132D9F58091EB019091EC01892BA9F591

+:101180008091E800877F8093E8000E94E90A8091BF

+:10119000E90180930C010C94BE138091E701813228

+:1011A00021F58091E800877F8093E8000E94E90A9A

+:1011B0008091EA018093630108958091E701813A6B

+:1011C000A1F48091E800877F8093E8008091E80097

+:1011D00080FFFCCF809163018093F1008091E80053

+:1011E0008E778093E8000C94E90A089584B7877F8E

+:1011F00084BF0FB6F894A8958091600088618093B1

+:101200006000109260000FBE90E080E80FB6F89486

+:1012100080936100909361000FBE0E948C0E0E942B

+:101220003A0B0E94970B8091E20084608093E20069

+:1012300078940E941D0E0E948E0E82E091E00E9422

+:10124000380E0E9416218091E601853069F40E94D3

+:10125000401A8091E4018823B1F30E946E1A88231A

+:1012600091F30E948F09EFCF0E94940EECCF292FAB

+:10127000332723303105C9F064F42130310581F082

+:101280002230310509F043C08DE690E020E133E0E3

+:1012900042C021323105F1F02232310541F137C02F

+:1012A00082E190E02DE733E036C099278130910547

+:1012B00041F08230910541F0892B49F5ECE0F3E0F3

+:1012C00005C0E4EFF2E002C0ECEDF2E0849190E0C2

+:1012D0009F0121C06430D8F4E62FF0E0EE0FFF1F2D

+:1012E000EE5DFE4F2081318189E090E014C06430D2

+:1012F00070F470E0FB01EE0FFF1FE65EFE4F2081F1

+:101300003181FB01EA5EFE4F808190E004C080E005

+:1013100090E020E030E0FA0131832083089580E1FD

+:1013200089BD82E189BD09B400FEFDCF8091D8005E

+:101330008F7D8093D8008091E00082608093E000F0

+:101340008091E00081FDFCCF0895CF92DF92EF9273

+:10135000FF920F931F93CF93DF93EC018B016A01F0

+:101360000E94080B811133C0C114D10439F0F60179

+:1013700080819181081B190BC80FD91FE12CF12C1A

+:101380000115110519F18091E80085FD16C08091C5

+:10139000E8008E778093E800C114D10449F0F6018B

+:1013A00080819181E80EF91EF182E08285E00FC014

+:1013B0000E94080B882321F30AC089918093F100D1

+:1013C00001501109FFEFEF1AFF0ADACF80E0DF9139

+:1013D000CF911F910F91FF90EF90DF90CF900895E4

+:1013E0002091ED013091EE012617370748F0611585

+:1013F000710539F42091E8002E772093E80001C0B0

+:10140000B90140E061157105A9F12091E60122239F

+:1014100009F443C0253009F442C02091E80023FDBF

+:1014200040C02091E80022FD32C02091E80020FF5A

+:10143000E9CF4091F3002091F20030E0342BFC0121

+:10144000CF016115710559F02830310540F48191C3

+:101450008093F100615071092F5F3F4FF1CF41E060

+:101460002830310509F040E02091E8002E772093E4

+:10147000E800C8CF4111C9CF0AC08091E601882396

+:1014800061F0853061F08091E80083FD0AC08091B1

+:10149000E80082FFF2CF80E0089582E0089583E0C3

+:1014A000089581E008952091ED013091EE01261715

+:1014B000370748F06115710539F42091E8002E775F

+:1014C0002093E80001C0B901FC0120E0611571051D

+:1014D00091F18091E601882309F440C0853009F438

+:1014E0003FC08091E80083FD3DC08091E80082FD0F

+:1014F0002FC08091E80080FFE9CF2091F300809118

+:10150000F20090E0922B6115710559F08830910539

+:1015100040F424912093F1003196615071090196B5

+:10152000F2CF21E0089709F020E08091E8008E7763

+:101530008093E800CBCF2111CCCF0AC08091E60187

+:10154000882361F0853061F08091E80083FD0AC056

+:101550008091E80082FFF2CF80E0089582E0089554

+:1015600083E0089581E00895982F973058F590937F

+:10157000E900981739F07091EC002091ED0050913E

+:10158000F00003C0242F762F50E021FF19C03091C6

+:10159000EB003E7F3093EB003091ED003D7F3093C8

+:1015A000ED003091EB0031603093EB007093EC0074

+:1015B0002093ED005093F0002091EE0027FF07C02C

+:1015C0009F5FD3CF8F708093E90081E0089580E022

+:1015D00008958091E70187FF11C08091E80082FDA6

+:1015E00005C08091E6018111F8CF11C08091E8001B

+:1015F0008B770BC08091E601882349F08091E80049

+:1016000080FFF8CF8091E8008E778093E8000895FE

+:101610002091E4003091E50095E64091EC00842FA4

+:10162000817040FF22C08091E80080FD1CC0809145

+:10163000E601882391F0853091F08091EB0085FDE3

+:1016400010C04091E4005091E5004217530729F380

+:101650009A01915011F784E0089582E0089583E0A3

+:10166000089581E0089580E008954091E80042FFE8

+:10167000DECF08950E94A80B0E94B00BE0EEF0E0D0

+:10168000808181608083E8EDF0E080818F778083C6

+:1016900019BCA7EDB0E08C918E7F8C9380818F7EFA

+:1016A00080831092E50108950F931F93CF93DF93EA

+:1016B0000E94A80B0E94B00BC8EDD0E088818F7704

+:1016C000888388818068888388818F7D888319BC1E

+:1016D0001092E6011092E2011092E4011092E301EF

+:1016E00000EE10E0F80180818B7F8083888181602B

+:1016F000888342E060E080E00E94B40AE1EEF0E01E

+:1017000080818E7F8083E2EEF0E080818160808343

+:10171000808188608083F80180818E7F80838881CA

+:1017200080618883DF91CF911F910F910895E8ED3B

+:10173000F0E080818F7E8083E7EDF0E08081816042

+:10174000808384E082BF81E08093E5010C94540B98

+:10175000E8EDF0E080818E7F80831092E2000895B2

+:101760001092DA001092E10008951F920F920FB6C6

+:101770000F9211242F933F934F935F936F937F9317

+:101780008F939F93AF93BF93EF93FF938091E1006B

+:1017900082FF0BC08091E20082FF07C08091E100D0

+:1017A0008B7F8093E1000E941C0E8091DA0080FF05

+:1017B0001FC08091D80080FF1BC08091DA008E7F0F

+:1017C0008093DA008091D90080FF0DC080E189BD4F

+:1017D00082E189BD09B400FEFDCF81E08093E6017E

+:1017E0000E94140805C019BC1092E6010E9422084C

+:1017F0008091E10080FF19C08091E20080FF15C058

+:101800008091E2008E7F8093E2008091E20080610F

+:101810008093E2008091D80080628093D80019BC48

+:1018200085E08093E6010E9426088091E10084FF14

+:1018300030C08091E20084FF2CC080E189BD82E14C

+:1018400089BD09B400FEFDCF8091D8008F7D8093C3

+:10185000D8008091E1008F7E8093E1008091E200CA

+:101860008F7E8093E2008091E20081608093E200AD

+:101870008091E201882311F084E007C08091E300A9

+:1018800087FD02C081E001C083E08093E6010E94F1

+:1018900028088091E10083FF29C08091E20083FF46

+:1018A00025C08091E100877F8093E10082E08093F2

+:1018B000E6011092E2018091E1008E7F8093E100C9

+:1018C0008091E2008E7F8093E2008091E20080614F

+:1018D0008093E20042E060E080E00E94B40A8091E0

+:1018E000F00088608093F0000E942508FF91EF913E

+:1018F000BF91AF919F918F917F916F915F914F9128

+:101900003F912F910F900FBE0F901F9018951F922F

+:101910000F920FB60F9211242F933F934F935F9323

+:101920006F937F938F939F93AF93BF93CF93DF93E7

+:10193000EF93FF93C091E900CF708091EC00D82F16

+:10194000D17080FDD0E81092E9008091F000877F8F

+:101950008093F00078940E94CB0C1092E900809163

+:10196000F00088608093F000CD2BCF70C093E90029

+:10197000FF91EF91DF91CF91BF91AF919F918F91A7

+:101980007F916F915F914F913F912F910F900FBE7B

+:101990000F901F9018951F93CF93DF93CDB7DEB7AD

+:1019A000AA970FB6F894DEBF0FBECDBFE7EEF1E009

+:1019B00088E08E0F9091F10091938E13FBCF0E94DF

+:1019C00044088091E80083FF1FC18091E701909156

+:1019D000E801492F50E04A30510508F015C1FA01DD

+:1019E000EA5AFF4F0C94BF22803881F0823809F008

+:1019F0000BC18091EB018F708093E9008091EB0027

+:101A000085FB882780F91092E90006C08091E301E8

+:101A10009091E401911182609091E800977F9093FA

+:101A2000E8008093F1001092F100C8C0282F2D7FAC

+:101A300009F0EAC0882319F0823061F0E5C0809196

+:101A4000E901813009F0E0C0933009F080E0809333

+:101A5000E4012BC08091E901811127C08091EB0145

+:101A60008F7009F4D1C08093E9002091EB0020FF32

+:101A70001CC0933021F48091EB00806214C09091DF

+:101A8000EB0090619093EB0021E030E0A90102C0EF

+:101A9000440F551F8A95E2F74093EA001092EA003E

+:101AA0008091EB0088608093EB001092E9008091B8

+:101AB000E800877F86C08111A7C01091E9011F77D8

+:101AC0008091E3008078812B8093E3008091E8008F

+:101AD000877F8093E8000E94E90A8091E80080FFF8

+:101AE000FCCF8091E30080688093E300111102C075

+:101AF00082E001C083E08093E60186C08058823096

+:101B000008F082C08091E9019091EA018C3D53E098

+:101B1000950779F583E08A838AE289834FB7F89441

+:101B2000DE01139620E03EE051E2E32FF0E0509317

+:101B30005700E49120FF03C0E295EF703F5FEF7024

+:101B40008E2F90E0EA3010F0C79601C0C0968D93BA

+:101B50009D932F5F243149F74FBF8091E800877F25

+:101B60008093E8006AE270E0CE0101960E94F009DD

+:101B700014C0AE014F5F5F4F6091EB010E943709C7

+:101B8000BC01892B09F440C09091E800977F9093A5

+:101B9000E80089819A810E94530A8091E8008B773E

+:101BA0008093E80031C0803879F58091E800877F24

+:101BB0008093E8008091E2018093F1008091E80039

+:101BC0008E778093E8000E94E90A1EC081111CC034

+:101BD0009091E9019230C0F48091E800877F809372

+:101BE000E8009093E2010E94E90A8091E2018111EC

+:101BF00006C08091E30087FD02C081E001C084E05F

+:101C00008093E6010E9430088091E80083FF0AC0BB

+:101C10008091E800877F8093E8008091EB008062EC

+:101C20008093EB00AA960FB6F894DEBF0FBECDBF2F

+:101C3000DF91CF911F9108950895CF938091E60190

+:101C40008823A1F0C091E900CF709091EC00892F1A

+:101C5000817090FD80E8C82B1092E9008091E80027

+:101C600083FD0E94CB0CCF70C093E900CF91089503

+:101C700090936901809368010895E0916801F09163

+:101C80006901309721F00190F081E02D099480E006

+:101C90000895E0916801F0916901309721F0028088

+:101CA000F381E02D09940895E0916801F0916901B4

+:101CB000309721F00480F581E02D0994089520915A

+:101CC0006601309167018217930771F09093670165

+:101CD00080936601E0916801F0916901309721F0ED

+:101CE0000680F781E02D09940895209164013091D8

+:101CF00065018217930771F09093650180936401E9

+:101D0000E0916801F0916901309721F00084F1853C

+:101D1000E02D0994089508950C948B0E0E94881A62

+:101D20000E940E040C944E1BCF92DF92EF92FF9212

+:101D30000F931F93CF93DF93CDB7DEB72B970FB6DB

+:101D4000F894DEBF0FBECDBF0E9426048BE6C82EDE

+:101D500081E0D82E00E010E0E02E802F0E941405D4

+:101D6000F60141916F01F42EF826B1F40F5F1F4F79

+:101D70000E30110589F78FEF89838A831B820E94B9

+:101D8000911A8160782F9D838C8349815A816B8160

+:101D90008D810E94370F40C09091CD0191FF04C00A

+:101DA0008B870E941A058B8520E030E04F2D50E094

+:101DB000922FBA01022E02C0759567950A94E2F738

+:101DC00060FF24C02E83EF8221E030E0690102C071

+:101DD000CC0CDD1C9A95E2F790E08C219D21892B9B

+:101DE00009F420E028870E94911A8160782F9A8751

+:101DF00089874E815F8168858A850E94370FF80147

+:101E0000E559FE4F8081C826C08206C02F5F3F4F34

+:101E10002630310569F6AACF0E94351E10916A015D

+:101E20000E943D0E1817A1F00E943D0E80936A019A

+:101E30002B960FB6F894DEBF0FBECDBFDF91CF91CA

+:101E40001F910F91FF90EF90DF90CF900C9433078C

+:101E50002B960FB6F894DEBF0FBECDBFDF91CF91AA

+:101E60001F910F91FF90EF90DF90CF900895CF9347

+:101E7000DF93CDB7DEB72B970FB6F894DEBF0FBE5A

+:101E8000CDBF4F83588769877A878B87DE0111968C

+:101E900086E0FD0111928A95E9F785E0FE0137960B

+:101EA00001900D928A95E1F749815A816B817C817D

+:101EB0008D819E810E9458162B960FB6F894DEBF36

+:101EC0000FBECDBFDF91CF9108950895CF938823A2

+:101ED00009F4C2C0C82F823859F40E943D0E81FD1A

+:101EE000BBC089E30E94F4180E94C11989E30CC0A9

+:101EF000833879F40E943D0E80FDAEC083E50E94D8

+:101F0000F4180E94C11983E50E943619CF910C94F0

+:101F1000C119843859F40E943D0E82FD9DC087E4AA

+:101F20000E94F4180E94C11987E4EECF8CEF8C0F49

+:101F3000813A48F48C2F0E947B2081118DC08C2F18

+:101F40000E94F418E3CF80E28C0F883048F4C77009

+:101F500081E001C0880FCA95EAF70E947A19D6CFAE

+:101F60008BE58C0F833078F4C53A29F0C63A31F00E

+:101F700083E890E005C081E890E002C082E890E04C

+:101F8000CF910C945F0E88E58C0F833108F064C00C

+:101F9000C83A39F1C93A41F1CA3A49F1CB3A51F15B

+:101FA000CC3A59F1CD3A61F1C03B69F1CE3A71F1C9

+:101FB000CF3A79F1C13B81F1C23B89F1C33B91F149

+:101FC000C43B99F1C53BA1F1C63BA9F1C73BB1F1B7

+:101FD000C83BB9F1C93BC1F1CA3BC9F180E090E00F

+:101FE00038C082EE90E035C089EE90E032C08AEED3

+:101FF00090E02FC085EB90E02CC086EB90E029C0EC

+:1020000087EB90E026C08CEC90E023C08DEC90E054

+:1020100020C083E891E01DC08AE891E01AC082E9FF

+:1020200091E017C084E991E014C081E292E011C010

+:1020300083E292E00EC084E292E00BC085E292E07F

+:1020400008C086E292E005C087E292E002C08AE220

+:1020500092E0CF910C94750ECF910895882309F4E6

+:102060004BC0823859F40E943D0E81FF45C089E380

+:102070000E94F4180E94C11989E30CC0833871F4DE

+:102080000E943D0E80FF38C083E50E94F4180E9434

+:10209000C11983E50E9436190C94C119843859F48A

+:1020A0000E943D0E82FF28C087E40E94F4180E941F

+:1020B000C11987E4EFCF9CEF980F913A58F390E263

+:1020C000980F983050F4877091E001C0990F8A956D

+:1020D000EAF7892F0E948019DFCF9BE5980F933094

+:1020E00020F480E090E00C945F0E885A833120F455

+:1020F00080E090E00C94750E0895882321F00E94F2

+:102100007A190C94C1190895882321F00E9480192E

+:102110000C94C1190895BF92CF92DF92EF92FF9273

+:102120000F931F93CF93DF9300D000D000D0CDB793

+:10213000DEB725E0FC01DE01119601900D922A9593

+:10214000E1F7FC01D08011810281258122952F7059

+:1021500043815481452B09F4EDC21F3F21F4FFEF69

+:10216000DF1609F4E7C27C012E830E94650FD98235

+:102170001A8389819A810E94B318182FB92E0E9460

+:10218000B2180E9479172E81002319F00E94971926

+:102190002E81EB2DE295EF70F0E0E05AFF4F0C94AA

+:1021A000BF228B2D807F9B2D9F70F92E882319F0E5

+:1021B000F29480EFF822002349F0FF2009F467C26F

+:1021C0008F2D0E948A190E94C11961C2812F0E941D

+:1021D0002E10FF2009F4AEC28F2D0E949019269672

+:1021E0000FB6F894DEBF0FBECDBFDF91CF911F9128

+:1021F0000F91FF90EF90DF90CF90BF900C94C1199A

+:102200003B2D307F8B2D8F70303211F08295807F87

+:10221000112319F0113021F12CC00023B9F0222331

+:1022200009F4A0C1213009F09DC126960FB6F8949B

+:10223000DEBF0FBECDBFDF91CF911F910F91FF90F9

+:10224000EF90DF90CF90BF900C94AA19222319F041

+:10225000213009F46FC28E830E94AD198E8196C120

+:10226000002321F0223008F065C27CC1211162C236

+:102270008DC1002321F0222309F474C108C2222356

+:1022800009F484C119C22B2D26952695237030E0C0

+:102290002115310521F021303105D1F04BC2002349

+:1022A00021F0812F9B2D937002C080E090E0269654

+:1022B0000FB6F894DEBF0FBECDBFDF91CF911F9157

+:1022C0000F91FF90EF90DF90CF90BF900C945F0E36

+:1022D000002321F0812F9B2D937002C080E090E0BD

+:1022E00026960FB6F894DEBF0FBECDBFDF91CF911B

+:1022F0001F910F91FF90EF90DF90CF90BF900C94C3

+:10230000750E812F002319F00E943D1D02C00E940E

+:10231000A51D26960FB6F894DEBF0FBECDBFDF9188

+:10232000CF911F910F91FF90EF90DF90CF90BF90D2

+:102330000C942A1E8B2D837009F07BC00111FAC109

+:10234000812F829586958770880F880F912F9F70B7

+:10235000C92ED12CE12CF12C082E04C0CC0CDD1C94

+:10236000EE1CFF1C0A94D2F714FF12C04FE050E09D

+:1023700060E070E004C0440F551F661F771F8A9508

+:10238000D2F7CB01BA01609570958095909503C006

+:1023900060E070E0CB012B2D269526952370422F0F

+:1023A00050E042305105D9F04330510569F16C29B4

+:1023B0007D298E299F294130510551F126960FB66E

+:1023C000F894DEBF0FBECDBFDF91CF911F910F916B

+:1023D000FF90EF90DF90CF90BF900C94A0176C29E6

+:1023E0007D298E299F2926960FB6F894DEBF0FBE51

+:1023F000CDBFDF91CF911F910F91FF90EF90DF90B4

+:10240000CF90BF900C94BC170E94A017C701B601D3

+:1024100026960FB6F894DEBF0FBECDBFDF91CF91E9

+:102420001F910F91FF90EF90DF90CF90BF900C9491

+:102430008417002319F08B2D817001C086958823A5

+:1024400009F478C1812F829586958770880F880F4F

+:10245000912F9F70C92ED12CE12CF12C082E04C095

+:10246000CC0CDD1CEE1CFF1C0A94D2F714FF12C02A

+:102470004FE050E060E070E004C0440F551F661F5D

+:10248000771F8A95D2F7CB01BA0160957095809538

+:10249000909503C060E070E0CB012B2D269526952A

+:1024A0002370422F50E042305105D9F0433051059E

+:1024B00069F16C297D298E299F294130510551F1FF

+:1024C00026960FB6F894DEBF0FBECDBFDF91CF9139

+:1024D0001F910F91FF90EF90DF90CF90BF900C94E1

+:1024E0007A186C297D298E299F2926960FB6F89493

+:1024F000DEBF0FBECDBFDF91CF911F910F91FF9037

+:10250000EF90DF90CF90BF900C9496180E947A18AD

+:10251000C701B60126960FB6F894DEBF0FBECDBF39

+:10252000DF91CF911F910F91FF90EF90DF90CF90AF

+:10253000BF900C945E18103FD1F118F4103E50F487

+:10254000A1C0123F09F463C008F44CC0133F09F462

+:1025500073C098C01F708B2D8F710023A1F00E9453

+:10256000F717812F26960FB6F894DEBF0FBECDBFAA

+:10257000DF91CF911F910F91FF90EF90DF90CF905F

+:10258000BF900C947D100E941818812F26960FB6CC

+:10259000F894DEBF0FBECDBFDF91CF911F910F9199

+:1025A000FF90EF90DF90CF90BF900C9484100023A9

+:1025B000A9F02111BFC08B2D8F7126960FB6F8940C

+:1025C000DEBF0FBECDBFDF91CF911F910F91FF9066

+:1025D000EF90DF90CF90BF900C943D18223008F020

+:1025E000A9C0E9CF0023A9F08B2D8F7126960FB6D5

+:1025F000F894DEBF0FBECDBFDF91CF911F910F9139

+:10260000FF90EF90DF90CF90BF900C94F7170023CE

+:1026100059F38B2D8F7126960FB6F894DEBF0FBE3F

+:10262000CDBFDF91CF911F910F91FF90EF90DF9081

+:10263000CF90BF900C941818002399F08B2D8F71B8

+:1026400026960FB6F894DEBF0FBECDBFDF91CF91B7

+:102650001F910F91FF90EF90DF90CF90BF900C945F

+:10266000E21726960FB6F894DEBF0FBECDBFDF91FE

+:10267000CF911F910F91FF90EF90DF90CF90BF907F

+:102680000C94D8170023A9F0222309F4ADCF812F91

+:1026900026960FB6F894DEBF0FBECDBFDF91CF9167

+:1026A0001F910F91FF90EF90DF90CF90BF900C940F

+:1026B000660F222309F4ADCF812F26960FB6F8942A

+:1026C000DEBF0FBECDBFDF91CF911F910F91FF9065

+:1026D000EF90DF90CF90BF900C942E104B2D4F7049

+:1026E000612FC7010E94AE0226960FB6F894DEBF96

+:1026F0000FBECDBFDF91CF911F910F91FF90EF9053

+:10270000DF90CF90BF900C94FC164B2D4F70612F33

+:10271000C70126960FB6F894DEBF0FBECDBFDF917E

+:10272000CF911F910F91FF90EF90DF90CF90BF90CE

+:102730000C94DA0526960FB6F894DEBF0FBECDBF17

+:10274000DF91CF911F910F91FF90EF90DF90CF908D

+:10275000BF9008950E9497190E94A7190E946C19B2

+:102760000E94C1190E94DA1E0E942A1E80E090E099

+:102770000E945F0E80E090E00C94750E0E94871915

+:102780000C94AA130E94B318292F22952F7030E0C1

+:102790002C3031054CF42A3031056CF422503109CB

+:1027A0002230310588F407C02C30310549F02F3034

+:1027B000310531F009C0803E48F0803F29F406C061

+:1027C00093FB882780F9089580E0089581E00895BB

+:1027D000CF93DF9300D000D01F92CDB7DEB70F901C

+:1027E0000F900F900F900F90DF91CF910895CF939E

+:1027F000DF9300D000D000D0CDB7DEB726960FB65D

+:10280000F894DEBF0FBECDBFDF91CF9108951F9327

+:10281000CF93DF93C091790116E080917A01C817B8

+:1028200099F0D0E01C9FF0011D9FF00D1124E55898

+:10283000FE4F4081518162817381848195810E9424

+:10284000F7132196C770E9CFDF91CF911F910895BB

+:102850004091AB015091AC016091AD017091AE011E

+:102860008091AF019091B0010C94F7138091B00169

+:1028700082958F7009F054C08091AD01882309F4CE

+:102880004FC080917901A0917A016091AB01709164

+:10289000AC014091AE015091AF01B6E08A1709F446

+:1028A0003FC090E041155105C1F17F3F11F46F3FEA

+:1028B000A1F1B89FF001B99FF00D1124E558FE4F2A

+:1028C000218172132AC02081621327C02281211125

+:1028D00024C0238134812417350710F42150310995

+:1028E000241B350B283C3105C0F42091B0012F701A

+:1028F00020612093B00126E0289FF001299FF00D70

+:102900001124E058FE4F80818F70806180838BEAB4

+:1029100091E00E948B100C94071401968770BECF33

+:102920000895CF92DF92EF92FF920F931F93CF9370

+:10293000DF93CDB7DEB762970FB6F894DEBF0FBE58

+:10294000CDBF8C0185E0F801DE011D9601900D924E

+:102950008A95E1F7D8014C9111965C9111971296E6

+:102960006C9112971396CD90DC9014973091AB0137

+:102970007091AC018091AE019091AF01009709F484

+:102980006BC17F3F19F43F3F09F466C1E090AD0190

+:10299000EE2009F4C0C02091B001C816D90628F075

+:1029A000F601E81BF90BCF0104C0809590958C0DC2

+:1029B0009D1DFF24F394883C910578F0F12C207F35

+:1029C00009F0C6C07C2DD98AC88A89890E94E8137B

+:1029D0008BEA91E00E948B10B1C0822F807F09F0BA

+:1029E00046C0751314C0341312C0611110C02F708B

+:1029F00020612093B0010E9428148BEA91E00E948C

+:102A00008B108091B001D80115968C932EC0CD28E3

+:102A100019F15F3F11F44F3FF9F0F62E61111CC020

+:102A20008091790120917A0136E0821709F45AC029

+:102A300090E0389FF001399FF00D1124E558FE4FCA

+:102A40007181571306C07081471303C072817111E1

+:102A500003C001968770E9CFF62E662309F418C1EA

+:102A60008091B00181608093B001F12C11C1751388

+:102A700008C0341306C0611104C08091B001D801B0

+:102A8000C3C04D875E878D859E856A8B0E94C21369

+:102A90006A898823E1F16623D1F12091B001822F68

+:102AA00082958F7090E0029774F08091AB019091C5

+:102AB000AC0198878F831986DB86CA862C87CE0166

+:102AC00007960E948B1086E0F801ABEAB1E0019016

+:102AD0000D928A95E1F70E9436140E942814FF2473

+:102AE000F394D6C04D875E878D859E850E94B3186E

+:102AF000292F22952F7030E0223031050CF0BCC018

+:102B00009F7009F0B6C0805E883008F4C1C0C8016B

+:102B10000E948B10E4CFC816D90608F453C0F60102

+:102B2000E81BF90BCF01883C910508F450C0F12C4B

+:102B30007C2DD98AC88A89890E94E813EBEAF1E0E2

+:102B400086E0DF011D928A95E9F70E942814A0C053

+:102B5000751314C0341312C0611110C08091B001FC

+:102B6000F8018583C8010E948B1086E0EBEAF1E052

+:102B7000DF011D928A95E9F7FE2C8AC04D875E879A

+:102B80008D859E856A8B0E94C2136A89882309F409

+:102B9000BECF662309F4BBCF2091B001822F82956E

+:102BA0008F7090E002970CF48ECF8091AB019091E2

+:102BB000AC019A8389831B82DD82CC822E83CE0175

+:102BC00001967FCF809590958C0D9D1DACCFF62EF4

+:102BD000662309F49CCF75132EC034132CC02091AA

+:102BE000B00120FD1FC0822F82958F70D9F0D801CF

+:102BF00015962C9315978F3049F08F5F982F9295EB

+:102C0000907F822F8F70892B15968C93C8010E941C

+:102C10008B1086E0F801ABEAB1E001900D928A9545

+:102C2000E1F793CF86E0F801ABEAB1E001900D92B5

+:102C30008A95E1F72DC04D875E878D859E850E9420

+:102C4000C213811140CF8091B00181608093B001A7

+:102C5000C8010E948B101CC0662309F458CF4D8711

+:102C60005E878D859E850E94C213882309F44FCF0D

+:102C70002ACF811148CF0CC0243031050CF047CF4A

+:102C80009F7009F440CFF8019581907F09F03BCF08

+:102C90008F2D62960FB6F894DEBF0FBECDBFDF91C9

+:102CA000CF911F910F91FF90EF90DF90CF900895FB

+:102CB0001F93CF93DF93CDB7DEB72C970FB6F89461

+:102CC000DEBF0FBECDBF4F83588769877A878B875A

+:102CD0009C87CE0107960E949114882369F08F810A

+:102CE00098852A853B85232BF1F19F3F09F063C02E

+:102CF0008F3F09F060C037C086E0FE013796DE01E5

+:102D0000119601900D928A95E1F76F817885EA8599

+:102D1000FB85309741F17F3F11F46F3F21F1209106

+:102D20007A0130E0C90101968770992740917901B5

+:102D300050E08417950709F447C069837A83FD83BF

+:102D4000EC8396E0929FD001939FB00D1124A5587B

+:102D5000BE4FFE01319601900D929A95E1F7809356

+:102D60007A010E94071416E08091790190917A010E

+:102D70008917C1F1189FC001112485589E4F0E94E8

+:102D80009114882379F1E09179011E9FF0011124BB

+:102D9000E558FE4F40815181628173818481958124

+:102DA0000E94F7138091790190E00196877099272E

+:102DB00080937901D9CF4F81588569857A858B8534

+:102DC0009C850E94F713CFCF0E94BE1310927A0108

+:102DD00010927901EBEAF1E086E0DF011D928A951D

+:102DE000E9F7C1CF2C960FB6F894DEBF0FBECDBF6A

+:102DF000DF91CF911F910895EF92FF920F931F9350

+:102E0000CF93DF938C01892B09F46CC0F12CEE2455

+:102E1000E394E8012196F8018491843740F48430EA

+:102E200008F051C0813081F0823019F15BC08537E4

+:102E300009F444C0A8F19CE7980F903708F052C0FD

+:102E40008F770E942E1041C00E5F1F4FFE01C4916C

+:102E500080E28C0F883048F4C7708E2D01C0880F37

+:102E6000CA95EAF70E949A1914C08C2F0E94660F27

+:102E70002DC00E5F1F4FFE01C49180E28C0F883081

+:102E800058F4C7708E2D01C0880FCA95EAF70E94CA

+:102E9000A0190E94C1191AC08C2F0E942E1016C0B2

+:102EA0000E5F1F4FFE01C491CC2381F08FE99FE09C

+:102EB0000197F1F700C00000C150F6CF0E5F1F4F21

+:102EC000FE01F49003C00E94660F8E018F2D8823AF

+:102ED00009F49FCFEFE9FFE03197F1F700C0000060

+:102EE0008150F5CFDF91CF911F910F91FF90EF901F

+:102EF000089508956093B5017093B6018093B7016A

+:102F00009093B8010C94AA130F931F930091B501ED

+:102F10001091B6012091B7013091B801DC01CB01CD

+:102F2000802B912BA22BB32B8093B5019093B601EC

+:102F3000A093B701B093B8011F910F910C94AA13FD

+:102F40000F931F930091B5011091B6012091B70125

+:102F50003091B801DC01CB0180239123A223B3235C

+:102F60008093B5019093B601A093B701B093B801D7

+:102F70001F910F910C94AA130F931F930091B50109

+:102F80001091B6012091B7013091B801DC01CB015D

+:102F900080279127A227B3278093B5019093B6018C

+:102FA000A093B701B093B8011F910F910C94AA138D

+:102FB0001092B1011092B2011092B3011092B401BB

+:102FC0000C94AA1341E050E060E070E004C0440FAC

+:102FD000551F661F771F8A95D2F74093B101509312

+:102FE000B2016093B3017093B4010C94AA1341E051

+:102FF00050E060E070E004C0440F551F661F771F6B

+:103000008A95D2F78091B1019091B201A091B3015C

+:10301000B091B401482B592B6A2B7B2B4093B10103

+:103020005093B2016093B3017093B4010C94AA134E

+:1030300041E050E060E070E004C0440F551F661F9F

+:10304000771F8A95D2F7409550956095709580913D

+:10305000B1019091B201A091B301B091B4014823A4

+:1030600059236A237B234093B1015093B2016093AB

+:10307000B3017093B4010C94AA1341E050E060E0F6

+:1030800070E004C0440F551F661F771F8A95D2F762

+:103090008091B1019091B201A091B301B091B401BE

+:1030A000482759276A277B274093B1015093B201E3

+:1030B0006093B3017093B4010C94AA130F931F9300

+:1030C0000091B1011091B2012091B3013091B4018E

+:1030D000DC01CB01802B912BA22BB32B8093B10170

+:1030E0009093B201A093B301B093B4011F910F91DB

+:1030F0000C94AA130F931F930091B1011091B20188

+:103100002091B3013091B401DC01CB0180239123E4

+:10311000A223B3238093B1019093B201A093B30192

+:10312000B093B4011F910F910C94AA130F931F93A6

+:103130000091B1011091B2012091B3013091B4011D

+:10314000DC01CB0180279127A227B3278093B1010F

+:103150009093B201A093B301B093B4011F910F916A

+:103160000C94AA130895CF92DF92EF92FF920F93DF

+:103170001F93CF93DF938C01C090B501D090B6011F

+:10318000E090B701F090B8014091B1015091B201C7

+:103190006091B3017091B401C42AD52AE62AF72AB6

+:1031A000CFE1D0E0D701C6010C2E04C0B695A7959B

+:1031B000979587950A94D2F780FF07C0B8018C2FA6

+:1031C0000E94FD058130910531F4219758F7B8012F

+:1031D00080E00E94FD05DF91CF911F910F91FF903C

+:1031E000EF90DF90CF90089590910C01992321F0FA

+:1031F00090910D01911109C020910E0130910F01A4

+:10320000F90132969FEF40E01FC0982F9695969552

+:1032100096959F3050F5E0910E01F0910F01E90F66

+:10322000F11D877021E030E0A90102C0440F551F55

+:103230008A95E2F7CA019181892B818308959F3F86

+:1032400039F04F5F4E3041F051915813F8CF0DC017

+:103250005111F7CF942FF5CF9F3F39F0F901E90FC6

+:10326000F11D97FDFA9582830895089590910C01C0

+:10327000992321F090910D01911109C020910E0127

+:1032800030910F01F9013296205F3F4F1FC0982FF8

+:103290009695969596959F30F0F4E0910E01F091F9

+:1032A0000F01E90FF11D877021E030E0A90102C094

+:1032B000440F551F8A95E2F7CA01809591818923B1

+:1032C000818308953196E217F30729F090819813CE

+:1032D000F9CF1082F7CF089581E090E0E0910E01E0

+:1032E000F0910F01E80FF91F1082019680319105CE

+:1032F000A9F708959091CC01892B8093CC01089572

+:1033000080959091CC0189238093CC0108951092EF

+:10331000CC0108959091CB01892B8093CB01089526

+:1033200080959091CB0189238093CB0108951092D1

+:10333000CB0108959091CA01892B8093CA01089509

+:1033400080959091CA0189238093CA0108951092B3

+:10335000CA0108958093B90108951092B9010895A2

+:1033600080910E0190910F01FC0131969C01205F2C

+:103370003F4F80E0919191118F5FE217F307D1F7F2

+:103380000895E0910E01F0910F018091CC018083AE

+:10339000E0910E01F0910F0190818091CB01892B7A

+:1033A0008083E0910E01F0910F0190818091CA011C

+:1033B000892B80838091B901882361F0E0910E010F

+:1033C000F0910F019081892B80830E94B0198111A7

+:1033D0001092B90180910E0190910F010C94490E49

+:1033E000CF92DF92EF92FF926C01EE24FF24C11482

+:1033F000D104E104F10421F0C701B60120E101C0CC

+:1034000020E0C72ED82EE92EFF24C114D104E104F8

+:10341000F10419F0285FC701B6016B017C0154E08B

+:10342000F694E794D794C7945A95D1F7C114D10470

+:10343000E104F10419F02C5FC701B6016B017C01B6

+:1034400042E0F694E794D794C7944A95D1F7C11413

+:10345000D104E104F10419F02E5FC701B601DC01CB

+:10346000CB01B695A79597958795892B8A2B8B2BA2

+:1034700009F02F5F822FFF90EF90DF90CF9008959B

+:103480008091E601843039F11092CE0120E488E188

+:1034900090E00FB6F894A895809360000FBE20933B

+:1034A000600080E00E94330783B7817F846083BF20

+:1034B00083B7816083BF7894889583B78E7F83BFFD

+:1034C0000FB6F894A89580916000886180936000A1

+:1034D000109260000FBE089508950895CF930E9442

+:1034E0006C1A0E9426040E946D1AC0E08C2F0E9464

+:1034F0001405811104C0CF5FCE30C1F701C081E057

+:10350000CF9108950E94BE130E943D0E0C94330784

+:1035100082E084BD93E095BD9AEF97BD80936E00E5

+:1035200008952FB7F8948091CF019091D001A09188

+:10353000D101B091D2012FBF0895CF92DF92EF92C7

+:10354000FF920F931F932FB7F8944091CF015091A2

+:10355000D0016091D1017091D2012FBF6A017B012E

+:10356000EE24FF248C0120E030E0C016D106E206F4

+:10357000F30610F4415051099A01281B390BC90177

+:103580001F910F91FF90EF90DF90CF9008951F92C1

+:103590000F920FB60F9211248F939F93AF93BF9307

+:1035A0008091CF019091D001A091D101B091D20131

+:1035B0000196A11DB11D8093CF019093D001A093DE

+:1035C000D101B093D201BF91AF919F918F910F9094

+:1035D0000FBE0F901F9018950E943A0BF8942FEF92

+:1035E00087EA91E6215080409040E1F700C000005A

+:1035F00087E090EBDC018093EF019093F001A093C2

+:10360000F101B093F2019CE088E10FB6F894A8951F

+:10361000809360000FBE90936000FFCFEF92FF9207

+:103620000F931F93CF93DF93D82FC0E08C2F0E946E

+:10363000140500E010E0E82EF12CC701002E02C0B6

+:10364000959587950A94E2F780FD06C00F5F1F4F9E

+:103650000630110591F709C0602F7C2F80E00E9491

+:10366000DB05D813F3CF81E004C0CF5FCE30F1F695

+:1036700080E0DF91CF911F910F91FF90EF9008951F

+:10368000CF93C82F8CE20E940E1B882321F08C2F31

+:10369000CF910C940E1B80E0CF910895CF930E94A0

+:1036A000951C811102C00E947B1CC5E6C15049F0E7

+:1036B0000E9426048FE39CE90197F1F700C0000007

+:1036C000F5CF89E20E94401B811113C18AE20E945A

+:1036D000401B81110E947B1C85E00E94401B8111D0

+:1036E0000E94EC1A0E94A01C8093CD0187E00E94EA

+:1036F000401B8823A9F18BE10E94401B882351F0D5

+:103700008091CD0181FB222720F991E0922790FB47

+:1037100081F90EC08EE00E94401B882361F08091E9

+:10372000CD0182FB222720F991E0922790FB82F9BC

+:103730008093CD0115C080E10E94401B9091CD0186

+:10374000882341F093FB222720F981E0822780FB28

+:1037500093F904C0892F809580FB90F99093CD0157

+:103760008091CD010E94A41C0E94B21C8093E001B4

+:1037700080EE0E94401B882341F08091E001982F49

+:10378000909590FB80F98093E00189E30E94401BB3

+:10379000882359F08091E00181FB222720F991E0F4

+:1037A000922790FB81F98093E00182EE0E94401BFA

+:1037B000882359F08091E00182FB222720F991E0D3

+:1037C000922790FB82F98093E00186EE0E94401BD5

+:1037D000882359F08091E00183FB222720F991E0B2

+:1037E000922790FB83F98093E00183EE0E94401BB7

+:1037F000882359F08091E00184FB222720F991E091

+:10380000922790FB84F98093E00185E30E94401B9E

+:10381000882359F08091E00185FB222720F991E06F

+:10382000922790FB85F98093E00181E30E94401B81

+:10383000882359F08091E00186FB222720F991E04E

+:10384000922790FB86F98093E00181E10E94401B62

+:10385000882359F08091E00187FB222720F991E02D

+:10386000922790FB87F98093E0018091E0010E940C

+:10387000B61C8091E00187FB882780F980930D01B9

+:1038800087E20E94401BC82F8EE10E94401B8111DD

+:10389000C2608FE10E94401B8111C46080E20E94DF

+:1038A000401B8111C86081E20E94401B8111C061F0

+:1038B00082E20E94401B8111C06283E20E94401B91

+:1038C0008111C06484E20E94401B882311F0C0680B

+:1038D00002C0CC2329F08C2F0E94AD1C6C2F03C09A

+:1038E0000E94A91C682F70E080E090E0CF910C94BA

+:1038F0007A17CF9108956DEE7EEF80E090E00E9400

+:10390000F52260E082E090E00E94E72260E083E040

+:1039100090E00E94E72260E084E090E00E94E722CD

+:1039200060E085E090E00C94E72280E090E00E9467

+:10393000E12221E08D3E9E4F09F020E0822F089584

+:1039400082E090E00C94D922682F82E090E00C9401

+:10395000E72283E090E00C94D922682F83E090E086

+:103960000C94E72284E090E00C94D922682F84E044

+:1039700090E00C94E7228091D50180FF0BC060910C

+:10398000130185E0689FB0011124759567957595C1

+:1039900067952BC081FF09C06091130185E0689F86

+:1039A000B00111247595679520C082FF07C0609112

+:1039B000130185E0689FB001112417C09091D601D2

+:1039C0009923D1F060911201961788F72091130185

+:1039D00085E0289F90011124929FA001939F500D94

+:1039E000112470E0CA010E94AB226038710540F4D6

+:1039F0006115710539F002C065E070E0862F089509

+:103A00008FE7089581E008958091D50180FF08C077

+:103A10006091110170E0759567957595679521C066

+:103A200081FF06C06091110170E07595679519C01E

+:103A300082FF04C06091110170E010C09091D60126

+:103A40009923C1F0609110019617A0F780911101A0

+:103A5000899FC001112470E00E94AB22603871057B

+:103A600028F46115710521F0862F08958FE70895D8

+:103A700081E0089561E070E0F4CF803F21F40E947E

+:103A8000BB1C819504C0813F29F40E94BB1C80931C

+:103A9000D9010895823F21F40E94BB1C819504C086

+:103AA000833F29F40E94BB1C8093D8010895893F6D

+:103AB00019F40E94041D05C08A3F31F40E94041DC0

+:103AC00081958093DA0108958B3F21F40E94041DB3

+:103AD000819504C08C3F29F40E94041D8093DB0172

+:103AE0000895843F21F48091D701816017C0853FFC

+:103AF00021F48091D701826011C0863F21F480912A

+:103B0000D70184600BC0873F21F48091D701886082

+:103B100005C0883F31F48091D70180618093D7013F

+:103B200008958D3F21F48091D50181600BC08E3FB7

+:103B300021F48091D501826005C08F3F29F48091E6

+:103B4000D50184608093D5010895803F39F4809138

+:103B5000D90187FF6CC01092D90169C0813F29F457

+:103B60008091D9011816BCF362C09091D801823FB0

+:103B700029F497FF5CC01092D80159C0833F19F413

+:103B80001916CCF354C0893F41F48091DA0118161C

+:103B90000CF04DC01092DA014AC08A3F29F480919E

+:103BA000DA0187FF44C0F6CF8B3F39F48091DB0107

+:103BB00087FF3DC01092DB013AC08C3F29F4809111

+:103BC000DB011816BCF333C0843F21F48091D70188

+:103BD0008E7F17C0853F21F48091D7018D7F11C062

+:103BE000863F21F48091D7018B7F0BC0873F21F462

+:103BF0008091D701877F05C0883F31F48091D7013C

+:103C00008F7E8093D70113C08D3F21F48091D50121

+:103C10008E7F0BC08E3F21F48091D5018D7F05C032

+:103C20008F3F29F48091D5018B7F8093D5018091BE

+:103C3000D80181110EC08091D90181110AC08091F3

+:103C4000DA01811106C08091DB01811102C010925E

+:103C5000D601089587ED91E00E94540E0E94911ABA

+:103C60009093D4018093D30108951F93CF93DF9352

+:103C70008091D3019091D4010E949D1AAC01909142

+:103C8000D601992321F02091140130E006C0209143

+:103C900015018AE0289F900111244217530708F468

+:103CA00085C08091D801C091D901D091DA011091DD

+:103CB000DB01811107C0C11175C0D11173C0111191

+:103CC00071C074C09F3F19F09F5F9093D601181682

+:103CD00024F40E94BB1C8093D8018091D80187FFF7

+:103CE00005C00E94BB1C81958093D8011C1624F44A

+:103CF0000E94BB1C8093D9018091D90187FF05C028

+:103D00000E94BB1C81958093D9016091D8016623E4

+:103D100031F1C091D901CC2311F1062E000C770BA3

+:103D2000880B990B0E94B22123E333E343E35FE363

+:103D30000E9416220E947A216093D8016C2FCC0F2A

+:103D4000770B880B990B0E94B22123E333E343E303

+:103D50005FE30E9416220E947A216093D9011D160A

+:103D600024F40E94041D8093DA018091DA0187FF18

+:103D700005C00E94041D81958093DA01111624F478

+:103D80000E94041D8093DB018091DB0187FF05C049

+:103D90000E94041D81958093DB01DF91CF911F91DB

+:103DA0000C942A1E9F3F09F08FCF97CFDF91CF91C0

+:103DB0001F910895E7EDF1E085E0DF011D928A95FE

+:103DC000E9F71092D6011092D5010895833081F160

+:103DD00028F4813059F08230D1F00895853009F40B

+:103DE00049C0B8F1863009F456C008958091150194

+:103DF000262F30E0280F311D2F3F310524F4680FA6

+:103E00006093150108958FEF8093150108958091B7

+:103E10001401262F30E0280F311D2F3F310524F4E7

+:103E2000680F6093140108958FEF80931401089533

+:103E300080911301262F30E0280F311D2F3F3105CF

+:103E400024F4680F6093130108958FEF809313019A

+:103E5000089580911201262F30E0280F311D2F3F49

+:103E6000310524F4680F6093120108958FEF809359

+:103E70001201089580911101262F30E0280F311D85

+:103E80002F3F310524F4680F6093110108958FEFDF

+:103E900080931101089580911001262F30E0280FA2

+:103EA000311D2F3F310524F4680F609310010895F0

+:103EB0008FEF809310010895833011F128F4813041

+:103EC00049F0823091F00895853081F120F18630FB

+:103ED000C1F1089580911501681720F4861B809325

+:103EE0001501089510921501089580911401681725

+:103EF00020F4861B809314010895109214010895F4

+:103F000080911301681720F4861B80931301089594

+:103F100010921301089580911201681720F4861BF6

+:103F20008093120108951092120108958091110159

+:103F3000681720F4861B80931101089510921101D7

+:103F4000089580911001681720F4861B809310015A

+:103F500008951092100108950F931F938D3109F465

+:103F60006AC008F03FC08E3009F484C0C0F48730C6

+:103F700009F46DC068F4863009F0B5C08091CD01B8

+:103F8000817F8E7F8093CD0181E08093DD01ACC085

+:103F9000883009F457C08B3009F46AC0A4C0863158

+:103FA00009F466C078F4803109F477C0813109F0F2

+:103FB0009AC00E94BE1390910D0181E089278093E1

+:103FC0000D0156C0893109F453C08B3109F08BC003

+:103FD0008091CD0181FB222720F991E0922790FB6F

+:103FE00081F951C0853309F475C048F4873209F46A

+:103FF00071C008F45EC0893209F46CC074C08334A7

+:1040000030F48A3308F053C0883391F16CC08334A4

+:1040100009F460C0883409F066C00E94BE130FEF37

+:1040200013ED20E3015010402040E1F700C00000F4

+:104030000E94EC1A1DC00E9434210E943D0E0E9475

+:10404000330716C00E94A01C0E94B21C11C09091A0

+:10405000CD01892F8095817080FB90F929F09660C1

+:1040600098609093CD0140C0997F977F9093CD0148

+:1040700081E03AC08091CD0182FB222720F991E0B6

+:10408000922790FB82F98093CD01992389F3809147

+:10409000CD0181608093CD01EBCF8091CD0183FB79

+:1040A000222720F991E0922790FB83F9ECCF8953E6

+:1040B00001C08D5141E050E060E070E08A019B0159

+:1040C00004C0000F111F221F331F8A95D2F7C901A8

+:1040D000B80104C061E070E080E090E00E947A17CF

+:1040E0000E94BE13C5CF80E01F910F91089580E01C

+:1040F000089580E00895CF93C82F8091DD0181302D

+:1041000079F018F08230E9F187C0E0910E01F0916A

+:104110000F018081813169F0823209F07FC009C0CE

+:10412000E0910E01F0910F018081813111F0823216

+:1041300061F48C2F0E947720811104C08C2F0E9483

+:10414000AC1F1DC081E090E01AC08C2F0E94792026

+:10415000811114C0C43179F048F4CB3079F0C0310A

+:1041600009F060C082E08093DD0108C0C93219F017

+:10417000C83321F057C01092DD0154C081E0817036

+:1041800053C0C93289F118F5C43171F1A8F4C730B0

+:1041900009F046C08AE08093150194E190931401E0

+:1041A00093E0909313018093120188E080931101B2

+:1041B00088E28093100134C0CE51C63088F5EC2FD0

+:1041C000F0E0E65DFE4F80818093DC0129C0CE34B3

+:1041D000E9F020F4CB3421F56AE013C0C13579F061

+:1041E000C235F1F461E00DC08091DC01882319F043

+:1041F0001092DC0115C081E08093DD0115C061E003

+:1042000006C08091DC010E94E61E0AC06AE080912F

+:10421000DC010E945C1F04C01092DD0180E004C03C

+:1042200081E002C080E0ABCFCF910895E1E8F0E0FB

+:104230008081886080838081816080838FB7F894DB

+:1042400093E09093890090ED909388008FBF08953C

+:10425000EFE6F0E08081826080830895EFE6F0E091

+:1042600080818D7F80830895EFE6F0E0908182E089

+:104270008927808308951F920F920FB60F92112401

+:104280002F933F934F935F936F937F938F939F935E

+:10429000AF93BF93EF93FF938091DE019091DF0185

+:1042A00001969093DF018093DE01811103C082E0CB

+:1042B0000E943307E091DF01E695E695F0E0E657CE

+:1042C000FB4FE4918091DE018E1303C080E00E94D9

+:1042D0003307FF91EF91BF91AF919F918F917F91A4

+:1042E0006F915F914F913F912F910F900FBE0F9063

+:1042F0001F9018950E9481216894B1110C9410228E

+:1043000008950E94F52188F09F5798F0B92F9927BA

+:10431000B751B0F0E1F0660F771F881F991F1AF0B0

+:10432000BA95C9F714C0B13091F00E940F22B1E0E4

+:1043300008950C940F22672F782F8827B85F39F0E3

+:10434000B93FCCF3869577956795B395D9F73EF449

+:1043500090958095709561957F4F8F4F9F4F0895F1

+:10436000E89409C097FB3EF490958095709561950F

+:104370007F4F8F4F9F4F9923A9F0F92F96E9BB27C5

+:104380009395F695879577956795B795F111F8CF41

+:10439000FAF4BB0F11F460FF1BC06F5F7F4F8F4FAC

+:1043A0009F4F16C0882311F096E911C0772321F0A2

+:1043B0009EE8872F762F05C0662371F096E8862F3A

+:1043C00070E060E02AF09A95660F771F881FDAF791

+:1043D000880F9695879597F9089557FD9058440F43

+:1043E000551F59F05F3F71F04795880F97FB991F54

+:1043F00061F09F3F79F08795089512161306140611

+:10440000551FF2CF4695F1DF08C01616170618069D

+:10441000991FF1CF86957105610508940895E89478

+:10442000BB2766277727CB0197F908950E94292299

+:104430000C949A220E948C2238F00E94932220F041

+:10444000952311F00C9483220C94892211240C944E

+:1044500010220E94ED2170F3959FC1F3950F50E05B

+:10446000551F629FF001729FBB27F00DB11D639F26

+:10447000AA27F00DB11DAA1F649F6627B00DA11DCC

+:10448000661F829F2227B00DA11D621F739FB00D72

+:10449000A11D621F839FA00D611D221F749F3327E2

+:1044A000A00D611D231F849F600D211D822F762F7B

+:1044B0006A2F11249F5750409AF0F1F088234AF058

+:1044C000EE0FFF1FBB1F661F771F881F91505040C4

+:1044D000A9F79E3F510580F00C9483220C94102282

+:1044E0005F3FE4F3983ED4F3869577956795B7954B

+:1044F000F795E7959F5FC1F7FE2B880F911D969565

+:10450000879597F9089597F99F6780E870E060E0D4

+:1045100008959FEF80EC089500240A94161617065C

+:1045200018060906089500240A94121613061406A4

+:1045300005060895092E0394000C11F4882352F007

+:10454000BB0F40F4BF2B11F460FF04C06F5F7F4FBF

+:104550008F4F9F4F089597FB072E16F4009407D0B6

+:1045600077FD09D00E94C52207FC05D03EF4909546

+:1045700081959F4F0895709561957F4F0895EE0F37

+:10458000FF1F0590F491E02D0994AA1BBB1B51E17C

+:1045900007C0AA1FBB1FA617B70710F0A61BB70BB3

+:1045A000881F991F5A95A9F780959095BC01CD0158

+:1045B0000895F999FECF92BD81BDF89A992780B5EB

+:1045C0000895A8E1B0E042E050E00C94FC22262FD0

+:1045D000F999FECF1FBA92BD81BD20BD0FB6F894E8

+:1045E000FA9AF99A0FBE019608950E94E722272FA2

+:1045F0000C94E822DC01CB01FC01F999FECF06C046

+:10460000F2BDE1BDF89A319600B40D924150504090

+:08461000B8F70895F894FFCFFC

+:1046180020023507C307A0076C0738070101BA0154

+:1046280028080A03140A3F4D36394B04FE03C80311

+:104638008F0322033B0354036D03010203040506A1

+:044648000708090056

+:00000001FF

diff --git a/keyboard/ergodox_ez/keymaps/dvorak_intl_squisher/keyboard-layout0.png b/keyboard/ergodox_ez/keymaps/dvorak_intl_squisher/keyboard-layout0.png
new file mode 100644
index 0000000000..6a36f9bfa1
--- /dev/null
+++ b/keyboard/ergodox_ez/keymaps/dvorak_intl_squisher/keyboard-layout0.png
Binary files differdiff --git a/keyboard/ergodox_ez/keymaps/dvorak_intl_squisher/keyboard-layout1.png b/keyboard/ergodox_ez/keymaps/dvorak_intl_squisher/keyboard-layout1.png
new file mode 100644
index 0000000000..c6e6d913cb
--- /dev/null
+++ b/keyboard/ergodox_ez/keymaps/dvorak_intl_squisher/keyboard-layout1.png
Binary files differdiff --git a/keyboard/ergodox_ez/keymaps/dvorak_intl_squisher/keyboard-layout2.png b/keyboard/ergodox_ez/keymaps/dvorak_intl_squisher/keyboard-layout2.png
new file mode 100644
index 0000000000..23f56ff4c0
--- /dev/null
+++ b/keyboard/ergodox_ez/keymaps/dvorak_intl_squisher/keyboard-layout2.png
Binary files differdiff --git a/keyboard/ergodox_ez/keymaps/dvorak_intl_squisher/keymap.c b/keyboard/ergodox_ez/keymaps/dvorak_intl_squisher/keymap.c
new file mode 100644
index 0000000000..82f55b4bc0
--- /dev/null
+++ b/keyboard/ergodox_ez/keymaps/dvorak_intl_squisher/keymap.c
@@ -0,0 +1,185 @@
+#include "ergodox_ez.h"
+#include "debug.h"
+#include "action_layer.h"
+
+#define BASE 0 // default layer
+#define SYMB 1 // symbols
+#define MDIA 2 // media keys
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+/* Keymap 0: Basic layer
+ *
+ * ,--------------------------------------------------.           ,--------------------------------------------------.
+ * |   =    |   1  |   2  |   3  |   4  |   5  | BrBck|           | Play |   6  |   7  |   8  |   9  |   0  | \ / L2 |
+ * |--------+------+------+------+------+-------------|           |------+------+------+------+------+------+--------|
+ * | Esc    |   '  |   ,  |   .  |   P  |   Y  | Del  |           | Ins  |   F  |   G  |   C  |   R  |   L  |   /    |
+ * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
+ * | BkSp   |   A  |   O  |   E  |   U  |   I  |------|           |------|   D  |   H  |   T  |   N  |   S  |   -    |
+ * |--------+------+------+------+------+------| Hyper|           | Meh  |------+------+------+------+------+--------|
+ * | LShift |:/Ctrl|   Q  |   J  |   K  |   X  |      |           |      |   B  |   M  |   W  |   V  |Z/Ctrl| RShift |
+ * `--------+------+------+------+------+-------------'           `-------------+------+------+------+------+--------'
+ *   |Grv/L1| LAlt | LGui | Left | Right|                                       |  Up  | Down |   [  |   ]  | ~L1  |
+ *   `----------------------------------'                                       `----------------------------------'
+ *                                        ,-------------.       ,---------------.
+ *                                        | App  | L1   |       | L2   |PrntScr |
+ *                                 ,------|------|------|       |------+--------+------.
+ *                                 |      |      | Home |       | PgUp |        |      |
+ *                                 | Space| Tab  |------|       |------| AltShf |Enter |
+ *                                 |      |      | End  |       | PgDn |        |      |
+ *                                 `--------------------'       `----------------------'
+ */
+// If it accepts an argument (i.e, is a function), it doesn't need KC_.
+// Otherwise, it needs KC_*
+[BASE] = KEYMAP(  // layer 0 : default
+        // left hand
+        KC_EQL,         KC_1,           KC_2,    KC_3,   KC_4,   KC_5,   KC_WBAK,
+        KC_ESC,         KC_QUOT,        KC_COMM, KC_DOT, KC_P,   KC_Y,   KC_DELT,
+        KC_BSPC,        KC_A,           KC_O,    KC_E,   KC_U,   KC_I,
+        KC_LSFT,        CTL_T(KC_SCLN), KC_Q,    KC_J,   KC_K,   KC_X,   ALL_T(KC_NO),
+        LT(SYMB,KC_GRV),KC_LALT,      KC_LGUI,  KC_LEFT,KC_RGHT,
+                                              CTL_T(KC_APP),  TG(1),
+                                                              KC_HOME,
+                                               KC_SPC,KC_TAB,KC_END,
+        // right hand
+             KC_MPLY,      KC_6,   KC_7,   KC_8,   KC_9,   KC_0,             LT(MDIA, KC_BSLS),
+             KC_INS,       KC_F,   KC_G,   KC_C,   KC_R,   KC_L,             KC_SLSH,
+                          KC_D,   KC_H,   KC_T,   KC_N,   KC_S,             KC_MINS,
+             MEH_T(KC_NO),KC_B,   KC_M,   KC_W,   KC_V,   CTL_T(KC_Z),      KC_RSFT,
+                                  KC_UP,  KC_DOWN,KC_LBRC,KC_RBRC,          KC_FN1,
+             TG(2),        KC_PSCREEN,
+             KC_PGUP,
+             KC_PGDN,RALT(KC_RSFT), KC_ENT
+    ), 
+/* Keymap 1: Symbol & Media Layer
+ *
+ * ,--------------------------------------------------.           ,--------------------------------------------------.
+ * |        |  F1  |  F2  |  F3  |  F4  |  F5  |      |           |      |  F6  |  F7  |  F8  |  F9  |  F10 |   F11  |
+ * |--------+------+------+------+------+-------------|           |------+------+------+------+------+------+--------|
+ * |        |   !  |   @  |   {  |   }  |   |  |      |           |      |   Up |   7  |   8  |   9  |   *  |   F12  |
+ * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
+ * |        |   #  |   $  |   (  |   )  |   `  |------|           |------| Down |   4  |   5  |   6  |   +  |        |
+ * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
+ * |        |   %  |   ^  |   [  |   ]  |   ~  |      |           |      |   &  |   1  |   2  |   3  |   \  |        |
+ * `--------+------+------+------+------+-------------'           `-------------+------+------+------+------+--------'
+ *   |      |      |      | Prev | Next |                                       |      |    . |   0  |   =  |      |
+ *   `----------------------------------'                                       `----------------------------------'
+ *                                        ,-------------.       ,-------------.
+ *                                        |      |      |       |      |      |
+ *                                 ,------|------|------|       |------+------+------.
+ *                                 |      |      |      |       |VolUp |      |      |
+ *                                 |      |      |------|       |------| Mute |      |
+ *                                 |      |      |      |       |VolDn |      |      |
+ *                                 `--------------------'       `--------------------'
+ */
+// SYMBOLS
+[SYMB] = KEYMAP(
+       // left hand
+       KC_TRNS,KC_F1,  KC_F2,  KC_F3,  KC_F4,  KC_F5,  KC_TRNS,
+       KC_TRNS,KC_EXLM,KC_AT,  KC_LCBR,KC_RCBR,KC_PIPE,KC_TRNS,
+       KC_TRNS,KC_HASH,KC_DLR, KC_LPRN,KC_RPRN,KC_GRV,
+       KC_TRNS,KC_PERC,KC_CIRC,KC_LBRC,KC_RBRC,KC_TILD,KC_TRNS,
+       KC_TRNS,KC_TRNS,KC_TRNS,KC_MPRV,KC_MNXT,
+                                       KC_TRNS,KC_TRNS,
+                                               KC_TRNS,
+                               KC_TRNS,KC_TRNS,KC_TRNS,
+       // right hand
+       KC_TRNS, KC_F6,   KC_F7,  KC_F8,   KC_F9,   KC_F10,  KC_F11,
+       KC_TRNS, KC_UP,   KC_7,   KC_8,    KC_9,    KC_ASTR, KC_F12,
+                KC_DOWN, KC_4,   KC_5,    KC_6,    KC_PLUS, KC_TRNS,
+       KC_TRNS, KC_AMPR, KC_1,   KC_2,    KC_3,    KC_BSLS, KC_TRNS,
+                         KC_TRNS,KC_DOT,  KC_0,    KC_EQL,  KC_TRNS,
+       KC_TRNS, KC_TRNS,
+       KC_VOLU,
+       KC_VOLD, KC_MUTE, KC_TRNS
+),
+/* Keymap 2: QWERTY Layer
+ *
+ * ,--------------------------------------------------.           ,--------------------------------------------------.
+ * |        |      |      |      |      |      |      |           |      |      |      |      |      |      |        |
+ * |--------+------+------+------+------+-------------|           |------+------+------+------+------+------+--------|
+ * |        |   Q  |   W  |   E  |   R  |   T  |      |           |      |   Y  |   U  |   I  |   O  |   P  |        |
+ * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
+ * |        |   A  |   S  |   D  |   F  |   G  |------|           |------|   H  |   J  |   K  |   L  |   ;  |        |
+ * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
+ * |        |Z/Ctrl|   X  |   C  |   V  |   B  |      |           |      |   N  |   M  |   ,  |   .  |//Ctrl|        |
+ * `--------+------+------+------+------+-------------'           `-------------+------+------+------+------+--------'
+ *   |      |      |      |      |      |                                       |      |      |      |      |      |
+ *   `----------------------------------'                                       `----------------------------------'
+ *                                        ,-------------.       ,-------------.
+ *                                        |      |      |       |      |      |
+ *                                 ,------|------|------|       |------+------+------.
+ *                                 |      |      |      |       |      |      |      |
+ *                                 |      |      |------|       |------|      |      |
+ *                                 |      |      |      |       |      |      |      |
+ *                                 `--------------------'       `--------------------'
+ */
+// MEDIA AND MOUSE
+KEYMAP(  // layer 0 : default
+        // left hand
+        KC_TRNS,        KC_TRNS,      KC_TRNS,   KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
+        KC_TRNS,        KC_Q,         KC_W,      KC_E,   KC_R,   KC_T,   KC_TRNS,
+        KC_TRNS,        KC_A,         KC_S,      KC_D,   KC_F,   KC_G,
+        KC_TRNS,        CTL_T(KC_Z),  KC_X,      KC_C,   KC_V,   KC_B,   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_TRNS,
+        KC_TRNS,     KC_Y,   KC_U,   KC_I,   KC_O,   KC_P,             KC_TRNS,
+                     KC_H,   KC_J,   KC_K,   KC_L,   LT(MDIA, KC_SCLN),KC_TRNS,
+        KC_TRNS,     KC_N,   KC_M,   KC_COMM,KC_DOT, CTL_T(KC_SLSH),   KC_TRNS,
+                             KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,          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)
+};
+
+const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
+{
+  // MACRODOWN only works in this function
+      switch(id) {
+        case 0:
+        if (record->event.pressed) {
+          register_code(KC_RSFT);
+        } else {
+          unregister_code(KC_RSFT);
+        }
+        break;
+      }
+    return MACRO_NONE;
+};
+
+// Runs just one time when the keyboard initializes.
+void matrix_init_user(void) {
+
+};
+
+// Runs constantly in the background, in a loop.
+void matrix_scan_user(void) {
+
+    uint8_t layer = biton32(layer_state);
+
+    ergodox_board_led_off();
+    ergodox_right_led_1_off();
+    ergodox_right_led_2_off();
+    ergodox_right_led_3_off();
+    switch (layer) {
+      // TODO: Make this relevant to the ErgoDox EZ.
+        case 1:
+            ergodox_right_led_1_on();
+            break;
+        case 2:
+            ergodox_right_led_2_on();
+            break;
+        default:
+            // none
+            break;
+    }
+
+};
diff --git a/keyboard/planck/keymaps/tak3over.c b/keyboard/planck/keymaps/tak3over.c
new file mode 100644
index 0000000000..c49af7d0e7
--- /dev/null
+++ b/keyboard/planck/keymaps/tak3over.c
@@ -0,0 +1,136 @@
+// This is the canonical layout file for the Quantum project. If you want to add another keyboard,
+// this is the style you want to emulate.
+//
+// Custom style by tak3over.  Dropped the dvorak layer as it was not being used by me. Shifted over
+// keys to make room for a second function key on the left side.  Now has a keypad and most all
+// standard keyboard keys. Including Delete. See TK layer.
+
+#include "planck.h"
+#ifdef BACKLIGHT_ENABLE
+  #include "backlight.h"
+#endif
+
+// Each layer gets a name for readability, which is then used in the keymap matrix below.
+// The underscores don't mean anything - you can have a layer called STUFF or any other name.
+// Layer names don't all need to be of the same length, obviously, and you can also skip them
+// entirely and just use numbers.
+#define _QW 0
+#define _CM 1
+#define _TK 2
+#define _LW 3
+#define _RS 4
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+/* Qwerty
+ * ,-----------------------------------------------------------------------------------.
+ * | Tab  |   Q  |   W  |   E  |   R  |   T  |   Y  |   U  |   I  |   O  |   P  | Bksp |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | Esc  |   A  |   S  |   D  |   F  |   G  |   H  |   J  |   K  |   L  |   ;  |  "   |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * | Shift|   Z  |   X  |   C  |   V  |   B  |   N  |   M  |   ,  |   .  |   /  |Enter |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Ctrl | Alt  | GUI  | TK   |Raise |    Space    |Lower | Left | Down |  Up  |Right |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_QW] = {
+  {KC_TAB,  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,    KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_BSPC},
+  {KC_ESC,  KC_A,    KC_S,    KC_D,    KC_F,    KC_G,    KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT},
+  {KC_LSFT, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_ENT },
+  {KC_LCTL, KC_LALT, KC_LGUI, MO(_TK), MO(_LW), KC_SPC,  KC_SPC,  MO(_RS), KC_LEFT, KC_DOWN, KC_UP,   KC_RGHT}
+},
+
+/* Colemak
+ * ,-----------------------------------------------------------------------------------.
+ * | Tab  |   Q  |   W  |   F  |   P  |   G  |   J  |   L  |   U  |   Y  |   ;  | Bksp |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | Esc  |   A  |   R  |   S  |   T  |   D  |   H  |   N  |   E  |   I  |   O  |  "   |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * | Shift|   Z  |   X  |   C  |   V  |   B  |   K  |   M  |   ,  |   .  |   /  |Enter |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Ctrl | Alt  | GUI  | TK   |Raise |    Space    |Lower | Left | Down |  Up  |Right |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_CM] = {
+  {KC_TAB,  KC_Q,    KC_W,    KC_F,    KC_P,    KC_G,    KC_J,    KC_L,    KC_U,    KC_Y,    KC_SCLN, KC_BSPC},
+  {KC_ESC,  KC_A,    KC_R,    KC_S,    KC_T,    KC_D,    KC_H,    KC_N,    KC_E,    KC_I,    KC_O,    KC_QUOT},
+  {KC_LSFT, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_K,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_ENT },
+  {KC_LCTL, KC_LALT, KC_LGUI, MO(_TK), MO(_LW), KC_SPC,  KC_SPC,  MO(_RS), KC_LEFT, KC_DOWN, KC_UP,   KC_RGHT}
+},
+
+/* TenKey, Arrow, and Function key Layer
+ * ,-----------------------------------------------------------------------------------.
+ * |  `   |   1  |   2  |   3  |   4  |   5  |  6   |   7  |   8  |   9  |   0  | Bksp |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | Esc  | Left | Up   | Down | Right| Del  |   *  |   4  |   5  |   6  |   +  |  /   |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * | Shift| Home | PGUP | PGDN | End  | Ins  |   .  |   1  |   2  |   3  |   -  |Enter |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Ctrl | Alt  | GUI  | TK   |Raise |    Space    |Lower | Left | Down |  Up  |Right |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_TK] = {
+  {KC_GRV,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_BSPC},
+  {KC_ESC,  KC_LEFT, KC_UP,   KC_DOWN, KC_RGHT, KC_DEL,  KC_ASTR, KC_4,    KC_5,    KC_6,    KC_PLUS, KC_SLSH},
+  {KC_LSFT, KC_HOME, KC_PGUP, KC_PGDN, KC_END,  KC_INS,  KC_DOT,  KC_1,    KC_2,    KC_3,    KC_MINS, KC_ENT },
+  {KC_LCTL, KC_LALT, KC_LGUI, MO(_TK), MO(_LW), KC_SPC,  KC_SPC,  MO(_RS), KC_LEFT, KC_DOWN, KC_UP,   KC_RGHT}
+},
+
+/* Raise
+ * ,-----------------------------------------------------------------------------------.
+ * |   `  |   1  |   2  |   3  |   4  |   5  |   6  |   7  |   8  |   9  |   0  | Bksp |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | Esc  |  F1  |  F2  |  F3  |  F4  |  F5  |  F6  |   -  |   =  |   [  |   ]  |  \   |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * | Shift|  F7  |  F8  |  F9  |  F10 |  F11 |  F12 |Qwerty|Colemk|Brite | Reset|Enter |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Ctrl | Alt  | GUI  |  TK  |Raise |    Space    |Lower | Next | Vol- | Vol+ | Play |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_RS] = {
+  {KC_GRV,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_BSPC},
+  {KC_TRNS, KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,   KC_MINS, KC_EQL,  KC_LBRC, KC_RBRC, KC_BSLS},
+  {KC_TRNS, KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12,  DF(_QW), DF(_CM), M(0),    RESET,   KC_TRNS},
+  {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY}
+},
+
+/* Lower
+ * ,-----------------------------------------------------------------------------------.
+ * |   ~  |   !  |   @  |   #  |   $  |   %  |   ^  |   &  |   *  |   (  |   )  | Bksp |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | Esc  |  F1  |  F2  |  F3  |  F4  |  F5  |  F6  |   _  |   +  |   {  |   }  |  |   |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * | Shift|  F7  |  F8  |  F9  |  F10 |  F11 |  F12 |Qwerty|Colemk|Brite | Reset|Enter |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Ctrl | Alt  | GUI  |  TK  |Raise |    Space    |Lower | Next | Vol- | Vol+ | Play |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_LW] = {
+  {KC_TILD, KC_EXLM, KC_AT,   KC_HASH, KC_DLR,  KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC},
+  {KC_TRNS, KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,   KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE},
+  {KC_TRNS, KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12,  DF(_QW), DF(_CM), M(0),    RESET,   KC_TRNS},
+  {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY}
+}
+};
+
+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);
+            #ifdef BACKLIGHT_ENABLE
+              backlight_step();
+            #endif
+          } else {
+            unregister_code(KC_RSFT);
+          }
+        break;
+      }
+    return MACRO_NONE;
+};
diff --git a/keyboard/preonic/flash-pcb.sh b/keyboard/preonic/flash-pcb.sh
new file mode 100755
index 0000000000..8b59b83f5e
--- /dev/null
+++ b/keyboard/preonic/flash-pcb.sh
@@ -0,0 +1,3 @@
+dfu-programmer atmega32u4 erase --force
+dfu-programmer atmega32u4 flash preonic_pcb.hex
+dfu-programmer atmega32u4 reset
\ No newline at end of file
diff --git a/keyboard/preonic/keymaps/default/README.md b/keyboard/preonic/keymaps/default/README.md
new file mode 100644
index 0000000000..d2f43bbdb8
--- /dev/null
+++ b/keyboard/preonic/keymaps/default/README.md
@@ -0,0 +1,34 @@
+# The Default Planck Layout
+
+    const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+    [_QW] = { /* Qwerty */
+      {KC_TAB,  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,    KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_BSPC},
+      {KC_ESC,  KC_A,    KC_S,    KC_D,    KC_F,    KC_G,    KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT},
+      {KC_LSFT, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_ENT },
+      {M(0),    KC_LCTL, KC_LALT, KC_LGUI, MO(_LW), KC_SPC,  KC_SPC,  MO(_RS), KC_LEFT, KC_DOWN, KC_UP,   KC_RGHT}
+    },
+    [_CM] = { /* Colemak */
+      {KC_TAB,  KC_Q,    KC_W,    KC_F,    KC_P,    KC_G,    KC_J,    KC_L,    KC_U,    KC_Y,    KC_SCLN, KC_BSPC},
+      {KC_ESC,  KC_A,    KC_R,    KC_S,    KC_T,    KC_D,    KC_H,    KC_N,    KC_E,    KC_I,    KC_O,    KC_QUOT},
+      {KC_LSFT, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_K,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_ENT },
+      {M(0),    KC_LCTL, KC_LALT, KC_LGUI, MO(_LW), KC_SPC,  KC_SPC,  MO(_RS), KC_LEFT, KC_DOWN, KC_UP,   KC_RGHT}
+    },
+    [_DV] = { /* Dvorak */
+      {KC_TAB,  KC_QUOT, KC_COMM, KC_DOT,  KC_P,    KC_Y,    KC_F,    KC_G,    KC_C,    KC_R,    KC_L,    KC_BSPC},
+      {KC_ESC,  KC_A,    KC_O,    KC_E,    KC_U,    KC_I,    KC_D,    KC_H,    KC_T,    KC_N,    KC_S,    KC_SLSH},
+      {KC_LSFT, KC_SCLN, KC_Q,    KC_J,    KC_K,    KC_X,    KC_B,    KC_M,    KC_W,    KC_V,    KC_Z,    KC_ENT },
+      {M(0),    KC_LCTL, KC_LALT, KC_LGUI, MO(_LW), KC_SPC,  KC_SPC,  MO(_RS), KC_LEFT, KC_DOWN, KC_UP,   KC_RGHT}
+    },
+    [_RS] = { /* RAISE */
+      {KC_GRV,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_BSPC},
+      {KC_TRNS, KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,   KC_MINS, KC_EQL,  KC_LBRC, KC_RBRC, KC_BSLS},
+      {KC_TRNS, KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12,  DF(_QW), DF(_CM), DF(_DV), RESET,   KC_TRNS},
+      {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY}
+    },
+    [_LW] = { /* LOWER */
+      {KC_TILD, KC_EXLM, KC_AT,   KC_HASH, KC_DLR,  KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC},
+      {KC_TRNS, KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,   KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE},
+      {KC_TRNS, KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12,  DF(_QW), DF(_CM), DF(_DV), RESET,   KC_TRNS},
+      {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY}
+    }
+    };
\ No newline at end of file
diff --git a/keyboard/preonic/keymaps/default/keymap.c b/keyboard/preonic/keymaps/default/keymap.c
new file mode 100644
index 0000000000..392197f1d8
--- /dev/null
+++ b/keyboard/preonic/keymaps/default/keymap.c
@@ -0,0 +1,96 @@
+// This is the canonical layout file for the Quantum project. If you want to add another keyboard,
+// this is the style you want to emulate.
+
+#include "preonic.h"
+#ifdef BACKLIGHT_ENABLE
+  #include "backlight.h"
+#endif
+
+// Each layer gets a name for readability, which is then used in the keymap matrix below.
+// The underscores don't mean anything - you can have a layer called STUFF or any other name.
+// Layer names don't all need to be of the same length, obviously, and you can also skip them
+// entirely and just use numbers.
+#define _QW 0
+#define _CM 1
+#define _DV 2
+#define _LW 3
+#define _RS 4
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+[_QW] = { /* Qwerty */
+  {KC_GRV,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_BSPC},
+  {KC_TAB,  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,    KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_BSPC},
+  {KC_ESC,  KC_A,    KC_S,    KC_D,    KC_F,    KC_G,    KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT},
+  {KC_LSFT, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_ENT },
+  {M(0),    KC_LCTL, KC_LALT, KC_LGUI, MO(_LW), KC_SPC,  KC_SPC,  MO(_RS), KC_LEFT, KC_DOWN, KC_UP,   KC_RGHT}
+},
+[_CM] = { /* Colemak */
+  {KC_GRV,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_BSPC},
+  {KC_TAB,  KC_Q,    KC_W,    KC_F,    KC_P,    KC_G,    KC_J,    KC_L,    KC_U,    KC_Y,    KC_SCLN, KC_BSPC},
+  {KC_ESC,  KC_A,    KC_R,    KC_S,    KC_T,    KC_D,    KC_H,    KC_N,    KC_E,    KC_I,    KC_O,    KC_QUOT},
+  {KC_LSFT, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_K,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_ENT },
+  {M(0),    KC_LCTL, KC_LALT, KC_LGUI, MO(_LW), KC_SPC,  KC_SPC,  MO(_RS), KC_LEFT, KC_DOWN, KC_UP,   KC_RGHT}
+},
+[_DV] = { /* Dvorak */
+  {KC_GRV,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_BSPC},
+  {KC_TAB,  KC_QUOT, KC_COMM, KC_DOT,  KC_P,    KC_Y,    KC_F,    KC_G,    KC_C,    KC_R,    KC_L,    KC_BSPC},
+  {KC_ESC,  KC_A,    KC_O,    KC_E,    KC_U,    KC_I,    KC_D,    KC_H,    KC_T,    KC_N,    KC_S,    KC_SLSH},
+  {KC_LSFT, KC_SCLN, KC_Q,    KC_J,    KC_K,    KC_X,    KC_B,    KC_M,    KC_W,    KC_V,    KC_Z,    KC_ENT },
+  {M(0),    KC_LCTL, KC_LALT, KC_LGUI, MO(_LW), KC_SPC,  KC_SPC,  MO(_RS), KC_LEFT, KC_DOWN, KC_UP,   KC_RGHT}
+},
+[_RS] = { /* RAISE */
+  {KC_GRV,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_BSPC},
+  {KC_GRV,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_BSPC},
+  {KC_TRNS, KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,   KC_MINS, KC_EQL,  KC_LBRC, KC_RBRC, KC_BSLS},
+  {KC_TRNS, KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12,  DF(_QW), DF(_CM), DF(_DV), RESET,   KC_TRNS},
+  {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY}
+},
+[_LW] = { /* LOWER */
+  {KC_GRV,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_BSPC},
+  {KC_TILD, KC_EXLM, KC_AT,   KC_HASH, KC_DLR,  KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC},
+  {KC_TRNS, KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,   KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE},
+  {KC_TRNS, KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12,  DF(_QW), DF(_CM), DF(_DV), RESET,   KC_TRNS},
+  {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY}
+}
+};
+
+const uint16_t PROGMEM fn_actions[] = {
+
+};
+
+float start_up[][2] = {
+  {440.0*pow(2.0,(67)/12.0), 600},
+  {0, 50},
+  {440.0*pow(2.0,(64)/12.0), 400},
+  {0, 50},
+  {440.0*pow(2.0,(55)/12.0), 400},
+  {0, 50},
+  {440.0*pow(2.0,(60)/12.0), 400},
+  {0, 50},
+  {440.0*pow(2.0,(64)/12.0), 1000},
+};
+
+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);
+            #ifdef BACKLIGHT_ENABLE
+              backlight_step();
+            #endif
+          } else {
+            unregister_code(KC_RSFT);
+          }
+        break;
+      }
+    return MACRO_NONE;
+};
+
+void * matrix_init_user(void) {
+#ifdef AUDIO_ENABLE
+    init_notes();
+    play_notes(&start_up, 9, false);
+#endif
+}
diff --git a/keyboard/preonic/keymaps/lock/README.md b/keyboard/preonic/keymaps/lock/README.md
new file mode 100644
index 0000000000..d21cb990b0
--- /dev/null
+++ b/keyboard/preonic/keymaps/lock/README.md
@@ -0,0 +1,3 @@
+# Lock layout
+
+This layout is designed for having a lock switch in the lower-left-hand corner, and for experimenting with MIDI/audio features. It's constantly in development, so don't expect anything to work/be documented correctly!
\ No newline at end of file
diff --git a/keyboard/preonic/keymaps/lock/keymap.c b/keyboard/preonic/keymaps/lock/keymap.c
new file mode 100644
index 0000000000..e253f25819
--- /dev/null
+++ b/keyboard/preonic/keymaps/lock/keymap.c
@@ -0,0 +1,105 @@
+// This is the canonical layout file for the Quantum project. If you want to add another keyboard,
+// this is the style you want to emulate.
+
+#include "preonic.h"
+#ifdef BACKLIGHT_ENABLE
+  #include "backlight.h"
+#endif
+#include "action_layer.h"
+
+// Each layer gets a name for readability, which is then used in the keymap matrix below.
+// The underscores don't mean anything - you can have a layer called STUFF or any other name.
+// Layer names don't all need to be of the same length, obviously, and you can also skip them
+// entirely and just use numbers.
+#define _QW 0
+#define _CM 1
+#define _DV 2
+#define _LW 3
+#define _RS 4
+#define _MI 5
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+[_QW] = { /* Qwerty */
+  {KC_GRV,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_BSPC},
+  {KC_TAB,  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,    KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_BSPC},
+  {KC_ESC,  KC_A,    KC_S,    KC_D,    KC_F,    KC_G,    KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT},
+  {KC_LSFT, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_ENT },
+  {M(0),    KC_LCTL, KC_LALT, KC_LGUI, MO(_LW), KC_SPC,  KC_SPC,  MO(_RS), KC_LEFT, KC_DOWN, KC_UP,   KC_RGHT}
+},
+[_CM] = { /* Colemak */
+  {KC_GRV,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_BSPC},
+  {KC_TAB,  KC_Q,    KC_W,    KC_F,    KC_P,    KC_G,    KC_J,    KC_L,    KC_U,    KC_Y,    KC_SCLN, KC_BSPC},
+  {KC_ESC,  KC_A,    KC_R,    KC_S,    KC_T,    KC_D,    KC_H,    KC_N,    KC_E,    KC_I,    KC_O,    KC_QUOT},
+  {KC_LSFT, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_K,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_ENT },
+  {M(0),    KC_LCTL, KC_LALT, KC_LGUI, MO(_LW), KC_SPC,  KC_SPC,  MO(_RS), KC_LEFT, KC_DOWN, KC_UP,   KC_RGHT}
+},
+[_DV] = { /* Dvorak */
+  {KC_GRV,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_BSPC},
+  {KC_TAB,  KC_QUOT, KC_COMM, KC_DOT,  KC_P,    KC_Y,    KC_F,    KC_G,    KC_C,    KC_R,    KC_L,    KC_BSPC},
+  {KC_ESC,  KC_A,    KC_O,    KC_E,    KC_U,    KC_I,    KC_D,    KC_H,    KC_T,    KC_N,    KC_S,    KC_SLSH},
+  {KC_LSFT, KC_SCLN, KC_Q,    KC_J,    KC_K,    KC_X,    KC_B,    KC_M,    KC_W,    KC_V,    KC_Z,    KC_ENT },
+  {M(0),    KC_LCTL, KC_LALT, KC_LGUI, MO(_LW), KC_SPC,  KC_SPC,  MO(_RS), KC_LEFT, KC_DOWN, KC_UP,   KC_RGHT}
+},
+[_RS] = { /* RAISE */
+  {KC_GRV,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_BSPC},
+  {KC_GRV,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_BSPC},
+  {KC_TRNS, KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,   KC_MINS, KC_EQL,  KC_LBRC, KC_RBRC, KC_BSLS},
+  {KC_TRNS, KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12,  DF(_QW), DF(_CM), DF(_DV), RESET,   KC_TRNS},
+  {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY}
+},
+[_LW] = { /* LOWER */
+  {KC_GRV,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_BSPC},
+  {KC_TILD, KC_EXLM, KC_AT,   KC_HASH, KC_DLR,  KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC},
+  {KC_TRNS, KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,   KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE},
+  {KC_TRNS, KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12,  DF(_QW), DF(_CM), DF(_DV), RESET,   KC_TRNS},
+  {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY}
+},
+[_MI] = { /* MIDI */
+  {MIDI12},
+  {MIDI12},
+  {MIDI12},
+  {MIDI12},
+  {M(0), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MIDI, MIDI, MIDI,  MIDI}
+}
+};
+
+const uint16_t PROGMEM fn_actions[] = {
+
+};
+
+float start_up[][2] = {
+  {440.0*pow(2.0,(67)/12.0), 600},
+  {0, 50},
+  {440.0*pow(2.0,(64)/12.0), 400},
+  {0, 50},
+  {440.0*pow(2.0,(55)/12.0), 400},
+  {0, 50},
+  {440.0*pow(2.0,(60)/12.0), 400},
+  {0, 50},
+  {440.0*pow(2.0,(64)/12.0), 1000},
+};
+
+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);
+            #ifdef BACKLIGHT_ENABLE
+              backlight_step();
+            #endif
+            default_layer_state = 1<<5;
+          } else {
+            unregister_code(KC_RSFT);
+            default_layer_state = 1<<0;
+          }
+        break;
+      }
+    return MACRO_NONE;
+};
+
+void * matrix_init_user(void) {
+    init_notes();
+    play_notes(&start_up, 9, false);
+}
diff --git a/keyboard/preonic/preonic.c b/keyboard/preonic/preonic.c
new file mode 100644
index 0000000000..a678f7b09f
--- /dev/null
+++ b/keyboard/preonic/preonic.c
@@ -0,0 +1,36 @@
+#include "preonic.h"
+
+__attribute__ ((weak))
+void * matrix_init_user(void) {
+
+};
+
+__attribute__ ((weak))
+void * matrix_scan_user(void) {
+
+};
+
+void * matrix_init_kb(void) {
+	#ifdef BACKLIGHT_ENABLE
+    	backlight_init_ports();
+	#endif
+
+	#ifdef RGBLIGHT_ENABLE
+		rgblight_init();
+	#endif
+
+
+    // Turn status LED on
+    DDRE |= (1<<6);
+    PORTE |= (1<<6);
+
+	if (matrix_init_user) {
+		(*matrix_init_user)();
+	}
+};
+
+void * matrix_scan_kb(void) {
+	if (matrix_scan_user) {
+		(*matrix_scan_user)();
+	}
+};
diff --git a/keyboard/preonic/preonic.h b/keyboard/preonic/preonic.h
new file mode 100644
index 0000000000..42d2123290
--- /dev/null
+++ b/keyboard/preonic/preonic.h
@@ -0,0 +1,50 @@
+#ifndef PREONIC_H
+#define PREONIC_H
+
+#include "matrix.h"
+#include "keymap_common.h"
+#ifdef BACKLIGHT_ENABLE
+	#include "backlight.h"
+#endif
+#ifdef RGBLIGHT_ENABLE
+  #include "rgblight.h"
+#endif
+#include <stddef.h>
+#ifdef MIDI_ENABLE
+	#include <keymap_midi.h>
+#endif
+
+#define PREONIC_MIT( \
+	k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \
+	k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \
+	k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \
+	k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, \
+	k40, k41, k42, k43, k44,    k45,   k47, k48, k49, k4a, k4b \
+) \
+{ \
+	{ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b }, \
+	{ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b }, \
+	{ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b }, \
+	{ k30, k31, k32, k33, k34, k35, k35, k37, k38, k39, k3a, k3b }, \
+	{ k40, k41, k42, k43, k44, k45, k45, k47, k48, k49, k4a, k4b } \
+}
+
+#define PREONIC_GRID( \
+	k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \
+	k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \
+	k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \
+	k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, \
+	k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b \
+) \
+{ \
+	{ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b }, \
+	{ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b }, \
+	{ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b }, \
+	{ k30, k31, k32, k33, k34, k35, k35, k37, k38, k39, k3a, k3b }, \
+	{ k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b } \
+}
+
+void * matrix_init_user(void);
+void * matrix_scan_user(void);
+
+#endif