summaryrefslogtreecommitdiffstats
path: root/keyboards/ergodox_ez/keymaps/tm2030
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/ergodox_ez/keymaps/tm2030')
-rw-r--r--keyboards/ergodox_ez/keymaps/tm2030/README.md136
-rw-r--r--keyboards/ergodox_ez/keymaps/tm2030/compiled.hex1224
-rw-r--r--keyboards/ergodox_ez/keymaps/tm2030/keymap.c242
3 files changed, 1602 insertions, 0 deletions
diff --git a/keyboards/ergodox_ez/keymaps/tm2030/README.md b/keyboards/ergodox_ez/keymaps/tm2030/README.md
new file mode 100644
index 0000000000..ae69adf78a
--- /dev/null
+++ b/keyboards/ergodox_ez/keymaps/tm2030/README.md
@@ -0,0 +1,136 @@
+# TypeMatrix™ 2030 inspired layout
+
+This is a [TypeMatrix™ 2030](http://typematrix.com/2030/features.php) inspired layout for the ErgoDox EZ. The _TypeMatrix_ is a nice small ergonomic keyboard with a matrix layout, and it provides several nice features like `enter`, `backspace` and `delete` at the center, bigger `shift` keys and international `cut`, `copy` and `paste` keys.
+
+The idea in this ErgoDox layout is to make it is as close as possible to the TM2030, such that it would be easy to switch between the TM and the ErgoDox. No _fancy_ features have been implemented, as this is intended to be a base for further customization if desired. Some keys have been duplicated in order to accomodate for most people.
+
+Most of the TM2030 features are supported except
+* automatic window switching (alt-tab key, at the left of the space key)
+* show desktop key (at the right of the space key)
+* 102/106 modes
+
+Dvorak mode is even supported by pressing [`Magic`](/TMK_README.md#magic-commands)+`1` (`Magic` is by default `LShift`+`RShift`)
+
+Some keys had to be moved around to fit into the ErgoDox, especially the `F1`-`F12` keys and the arrow keys.
+
+## Base Layer
+This is the default layer, close to the TM with the following differences:
+
+ - Top row (with the `F`-keys) and rightmost column (with application shortcuts) are removed, the corresponding keys are displaced elsewhere.
+ - Bottom-left keys are reorganized on a single row as: `Ctrl`, `fn`, `Gui`, `Play`, `App`/`Alt`.
+ - `shuffle` and `desktop` are not supported.
+ - `right-shift` is moved on `'`, `\` and on the right thumb (the latter is actually the only _true_ `right-shift`, and must be used in the `Magic` key combination).
+ - `right-ctrl` is moved on `End`.
+ - `]` is moved in place of the dash (`-`).
+ - Dash (`-`) and `=` are moved on bottom right row.
+ - Arrows and `PgUp`/`PgDn` are moved on the thumbs.
+
+```
+,--------------------------------------------------. ,--------------------------------------------------.
+| ` | 1 | 2 | 3 | 4 | 5 | Del | | Del | 6 | 7 | 8 | 9 | 0 | ] |
+|--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+| Tab | Q | W | E | R | T |Backsp| |Backsp| Y | U | I | O | P | [ |
+|--------+------+------+------+------+------|ace | |ace |------+------+------+------+------+--------|
+| LShift | A | S | D | F | G |------| |------| H | J | K | L | ; | '/Shift|
+|--------+------+------+------+------+------|Enter | |Enter |------+------+------+------+------+--------|
+| LShift | Z | X | C | V | B | | | | N | M | , | . | / | \/Shift|
+`--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
+ |LCtrl | fn | LGui | Play |App/Alt| | RAlt | - | Home | = |End/Ctl|
+ `-----------------------------------' `-----------------------------------'
+ ,--------------. ,-------------.
+ |Esc/Alt| num | | Left |Right |
+ ,------+-------+------| |------+------+------.
+ | | | PgUp | | Up | | |
+ |Space |LShift |------| |------|RShift|Space |
+ | | | PgDn | | Down | | |
+ `---------------------' `--------------------'
+```
+
+### Layer Switching
+- Use `num` to toggle the Numeric Layer.
+- Hold `fn` to temporarily activate the Numeric & Fn Layers.
+
+As on the original TM 2030, when `num` layer is activated, holding `fn` disables it but enables the other `fn` keys.
+
+## Dvorak Layer
+Same as Layer 0 but with _Dvorak_ layout, to use with QWERTY OS layout.
+
+Enable Dvorak layout with [`Magic`](/TMK_README.md#magic-commands)+`1` (`LShift`+`RShift`+`1`), disable with `Magic`-`0`.
+
+The middle (green) led indicates when the Dvorak layer is activated.
+
+ ,--------------------------------------------------. ,--------------------------------------------------.
+ | ` | 1 | 2 | 3 | 4 | 5 | Del | | Del | 6 | 7 | 8 | 9 | 0 | = |
+ |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ | Tab | ' | , | . | P | Y |Backsp| |Backsp| F | G | C | R | L | / |
+ |--------+------+------+------+------+------|ace | |ace |------+------+------+------+------+--------|
+ | LShift | A | O | E | U | I |------| |------| D | H | T | N | S | -/Shift|
+ |--------+------+------+------+------+------|Enter | |Enter |------+------+------+------+------+--------|
+ | LShift | ; | Q | J | K | X | | | | B | M | W | V | Z | \/Shift|
+ `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
+ |LCtrl | fn | LGui | Play |App/Alt| | RAlt | [ | Home | ] |End/Ctl|
+ `-----------------------------------' `-----------------------------------'
+ ,--------------. ,-------------.
+ |Esc/Alt| num | | Left |Right |
+ ,------+-------+------| |------+------+------.
+ | | | PgUp | | Up | | |
+ |Space |LShift |------| |------|RShift|Space |
+ | | | PgDn | | Down | | |
+ `---------------------' `--------------------'
+
+## Numeric Layer
+Numeric layer close to the TM when toggling `num`, with the following differences:
+
+- Numpad is displaced by 1 to the top left.
+- Arrows are displaced by 1 to the left.
+- Provides access to `F1`-`F12`, `caps-lock` and `num-lock`.
+
+The numeric layer is indicated with the left (red) led. Caps-lock is indicated with the right (blue) led.
+
+ ,--------------------------------------------------. ,--------------------------------------------------.
+ | | F1 | F2 | F3 | F4 | F5 | | | | | | Tab | / | * | - |
+ |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ | | F6 | F7 | F8 | F9 | F10 | | | | | Home | 7 | 8 | 9 | + |
+ |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ | | F11 | F12 | | | |------| |------| Up | End | 4 | 5 | 6 | + |
+ |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ | | | | | | | | | Left | Down | Right| 1 | 2 | 3 |KpEnter |
+ `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
+ | | | | | | | | 0 | 00 | . |Etr/Ctl|
+ `----------------------------------' `-----------------------------------'
+ ,-------------. ,-------------.
+ | | | |n.lock|c.lock|
+ ,------|------|------| |------+------+------.
+ | | | | | | | |
+ | | |------| |------| | |
+ | | | | | | | |
+ `--------------------' `--------------------'
+
+## Fn Layer
+Activated simultaneously with the Numeric layer when holding the `fn` key. As on the TM, it provides access to the following features:
+- `cut`, `copy` and `paste`
+- `volume up`, `volume down` and `mute` — as opposed to the TM, these are only on left hand
+- `previous track` and `next track`
+- `calculator`, `mail` and `browser home`
+- `insert`, `power`, `sleep`, `wake`, `print screen`, `scroll-lock` and `pause`
+
+Note: the `eject` key does not work due to jackhumbert/qmk_firmware#82
+
+ ,--------------------------------------------------. ,--------------------------------------------------.
+ | | | | | | |Insert| |Insert|Eject |Power |Sleep | Wake |PrtScr|ScrollLk|
+ |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ | | | | | | |VolUp | | | | | | | | Pause |
+ |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ | | | | Calc | Mail |Browsr|------| |------| | | | | | |
+ |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ | | | cut | copy |paste | Mute |VolDn | | | | | | | | |
+ `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
+ | | | | | | | | | | | |
+ `----------------------------------' `----------------------------------'
+ ,-------------. ,-------------.
+ | | | | | |
+ ,------|------|------| |------+------+------.
+ | | | | | Next | | |
+ | Mute | |------| |------| | |
+ | | | | | Prev | | |
+ `--------------------' `--------------------'
diff --git a/keyboards/ergodox_ez/keymaps/tm2030/compiled.hex b/keyboards/ergodox_ez/keymaps/tm2030/compiled.hex
new file mode 100644
index 0000000000..35837dc301
--- /dev/null
+++ b/keyboards/ergodox_ez/keymaps/tm2030/compiled.hex
@@ -0,0 +1,1224 @@
+:100000000C94CA040C940E050C940E050C940E0569
+:100010000C940E050C940E050C940E050C940E0514
+:100020000C940E050C940E050C94C30F0C949510B3
+:100030000C940E050C940E050C940E050C940E05F4
+:100040000C940E050C944F240C940E050C940E0584
+:100050000C940E050C94E21D0C940E050C940E05E8
+:100060000C940E050C940E050C940E050C940E05C4
+:100070000C940E050C940E050C940E050C940E05B4
+:100080000C940E050C940E050C940E050C940E05A4
+:100090000C940E050C940E050C940E050C940E0594
+:1000A0000C940E050C940E050C940E0502112411EF
+:1000B00012122411121269118C111212E111F41191
+:1000C000C314C314F214F2142815481579167916BE
+:1000D00053157916031603166A16791679167316D0
+:1000E00010161016101610161016101610161016E0
+:1000F00010161016101610161016101610161016D0
+:1001000022162F1636163D16471675190162026221
+:10011000016202620035002B00E100E100E0000016
+:10012000001E00140004001D0002304E001F001AC3
+:100130000016001B00E300E1002000080007000695
+:1001400000AE002C00210015000900190065744B59
+:1001500000220017000A000500000029744C002A44
+:100160000000002800000008544C002A000000286D
+:10017000000000500023001C000B00110000004F85
+:1001800000240018000D001000E600520025000CAD
+:10019000000E0036002D002C00260012000F003744
+:1001A000004A00E50027001300330038002E0051FC
+:1001B0000030002F00347231724D71000035002B79
+:1001C00000E100E100E00000001E00340004003304
+:1001D0000002304E001F00360012001400E300E160
+:1001E000002000370008000D00AE002C0021001395
+:1001F0000018000E0065744B0022001C000C001B50
+:1002000000000029744C002A0000002800000008AB
+:10021000544C002A00000028000000500023000970
+:10022000000700050000004F0024000A000B00102A
+:1002300000E60052002500060017001A002F002CCF
+:100240000026001500110019004A00E50027000FE4
+:100250000016001D00300051002E0038002D7231B4
+:10026000724D71000000000000000000000000005E
+:10027000000000000000000000000000000000007E
+:10028000000000000000000000000000000000006E
+:10029000000000000000000000000000000000005E
+:1002A000000000000000000000000000000000004E
+:1002B000000000000000000000000000000000003E
+:1002C000000000000000000000000000000000002E
+:1002D000000000000000000000000000000000001E
+:1002E000000000000000000000000000000000000E
+:1002F00000000000000000000000000000000000FE
+:1003000000000000000000000000000000000000ED
+:1003100000000000000000000000000000000000DD
+:1003200000000000000000000000000000000000CD
+:1003300000000000000000000000000000000000BD
+:1003400000000000000000000000000000000000AD
+:10035000000000000000000000000000000000009D
+:10036000000000000000000000000000000000008D
+:10037000000000000000000000000000000000007D
+:10038000000000000000000000000000000000006D
+:10039000000000000000000000000000000000005D
+:1003A000000000000000000000000000000000004D
+:1003B000000000000000000000000000000000003D
+:1003C000000000000000000000000000000000002D
+:1003D000000000000000000000000000000000001D
+:1003E000000000000000000000000000000000000D
+:1003F00000000000000000000000000000000000FD
+:1004000000000000000000000000000000000000EC
+:1004100000000000000000000000000000000000DC
+:1004200000000000000000000000000000000000CC
+:1004300000000000000000000000000000000000BC
+:1004400000000000000000000000000000000000AC
+:10045000000000000000000000000000000000009C
+:10046000000000000000000000000000000000008C
+:10047000000000000000000000000000000000007C
+:10048000000000000000000000000000000000006C
+:10049000000000000000000000000000000000005C
+:1004A000000000000000000000000000000000004C
+:1004B000000000000000000000000000000000003C
+:1004C000000000000000000000000000000000002C
+:1004D000000000000000000000000000000000001C
+:1004E000000000000000000000000000000000000C
+:1004F00000000000000000000000000000000000FC
+:1005000000000000000000000000000000000000EB
+:1005100000000000000000000000000000000000DB
+:1005200000000000000000000000000000000000CB
+:1005300000000000000000000000000000000000BB
+:1005400000000000000000000000000000000000AB
+:10055000000000000000000000000000000000009B
+:10056000000000000000000000000000000000008B
+:10057000000000000000000000000000000000007B
+:10058000000000000000000000000000000000006B
+:10059000000000000000000000000000000000005B
+:1005A000000000000000000000000000000000004B
+:1005B000000000000000000000000000000000003B
+:1005C000000000000000000000000000000000002B
+:1005D000000000000000000000000000000000001B
+:1005E000000000000000000000000000000000000B
+:1005F00000000000000000000000000000000000FB
+:1006000000000000000000000000000000000000EA
+:1006100000000000000000000000000000000000DA
+:1006200000000000000000000000000000000000CA
+:1006300000000000000000000000000000000000BA
+:1006400000000000000000000000000000000000AA
+:100650000000000000010001000100010001000095
+:10066000003A003F0044000100010001003B00404F
+:100670000045000100010001003C004100010001B3
+:1006800000010001003D00420001000100010001E5
+:10069000003E0043000100010000000100010001D4
+:1006A00000000001000000010001000100000050F6
+:1006B00000000053003F00010052005100000039CB
+:1006C0000040004A004D004F00010001002B005F78
+:1006D000005C00590062000100540060005D005A97
+:1006E0000001300100550061005E005B0063000105
+:1006F00000560057005700580058710000010001D3
+:1007000000010001000100000001000100010001E2
+:1007100000010001000100010001004C0201000184
+:100720000001000100B20049010100A80001000120
+:1007300000B10049020100010001000100B500A85C
+:1007400000000001004900A9000000AA000000010B
+:1007500000490001000000010000000100B000019C
+:10076000000100010000000100A5000100010001DE
+:10077000000100AC00A60001000100010001000121
+:1007800000A7000100010001000100010046000176
+:1007900000010001000100AB00470048000100011A
+:1007A000000100000016034500720067006F00445E
+:1007B000006F007800200045005A00000016034535
+:1007C00000720067006F0044006F00780020004551
+:1007D000005A0000000403090409026D000401002E
+:1007E000A0FA090400000103010100092111010020
+:1007F00001223F000705810308000A0904010001E6
+:1008000003010200092111010001224D00070582A8
+:100810000308000A09040200010300000009211175
+:100820000100012236000705830308000A090403BA
+:100830000001030000000921110100012239000715
+:100840000584031000011201100100000008EDFEF4
+:10085000071301000102000105010906A1010507B6
+:1008600019E029E7150025019508750181020508A1
+:1008700019012905950575019102950175039101ED
+:100880000507190029771500250195787501810262
+:10089000C005010980A101850216010026B7001AD2
+:1008A00001002AB700751095018100C0050C0901EF
+:1008B000A1018503160100269C021A01002A9C0250
+:1008C000751095018100C005010902A1010901A16E
+:1008D00000050919012905150025019505750181F6
+:1008E0000295017503810105010930093115812542
+:1008F0007F95027508810609381581257F95017558
+:10090000088106050C0A38021581257F95017508B6
+:100910008106C0C005010906A101050719E029E704
+:100920001500250195087501810295017508810161
+:1009300005081901290595057501910295017503B1
+:1009400091010507190029FF150025FF9506750877
+:100950008100C00000000000000000000000010253
+:1009600004060A0F17202C3A4A5D71879DB3C7DA37
+:10097000E9F5FCFFFCF5E9DAC7B39D87715D4A3AFA
+:100980002C20170F0A0604020100000000000000DE
+:100990000000000011241FBECFEFDAE0DEBFCDBFA4
+:1009A00004B603FE24C08091FB019091FC01A0914C
+:1009B000FD01B091FE018730904BA740B04BB9F4D8
+:1009C0001092FB011092FC011092FD011092FE01A9
+:1009D00014BE84B7877F84BF88E10FB6F8948093F4
+:1009E0006000109260000FBEE0E0FFE3099511E0A7
+:1009F000A0E0B1E0ECE2FCE402C005900D92A4336B
+:100A0000B107D9F711E0A4E3B1E001C01D92AB3FFB
+:100A1000B107E1F70E94070D0C9414260C94000016
+:100A20001092B9008AE08093B800089594EA9093F8
+:100A3000BC009091BC0097FFFCCF9091B900987FCB
+:100A4000983021F0903111F081E008958093BB003F
+:100A500084E88093BC008091BC0087FFFCCF80912C
+:100A6000B900887F883111F0803471F780E00895F3
+:100A700084E98093BC008091BC0084FDFCCF089584
+:100A80008093BB0084E88093BC008091BC0087FF0A
+:100A9000FCCF9091B900987F81E0983209F480E012
+:100AA000089584E88093BC008091BC0087FFFCCF50
+:100AB0008091BB00089580910101811115C080E4EF
+:100AC0000E9416058093010181110CC082E10E94F1
+:100AD000400580930101811105C08FEF0E94400500
+:100AE000809301010E94380584B1807F84B985B16B
+:100AF000807F85B98AB1837F8AB98BB1837F8BB9B7
+:100B00003E98469808950E941607809301010E941E
+:100B10005B0580B38C7080BB81B3836F81BBA5E321
+:100B2000B1E0E3E4F1E08EE08E0F11921D928E139E
+:100B3000FCCF0C940007BF92CF92DF92EF92FF920E
+:100B40000F931F93CF93DF9380910101882379F056
+:100B5000809134018F5F80933401811108C00E941D
+:100B6000160780930101811102C00E94A80605E3C7
+:100B700011E0C0E0D0E0DD24D39482E0C82EEE2462
+:100B8000E394F12CC730D10500F58091010181116A
+:100B900064C080E40E94160580930101811112C097
+:100BA00082E10E9440058093010181110BC0C701C1
+:100BB0000C2E01C0880F0A94EAF780950E94400528
+:100BC000809301010E94380548C0CA30A1F028F482
+:100BD000C83059F0C93061F005C0CC3089F070F0F0
+:100BE000CD3089F0209A289810C0219A29980DC0FC
+:100BF000229A2A980AC0239A2B9807C0529A01C0B9
+:100C0000539A5B9802C03E9A469890EA9A95F1F7FB
+:100C10009FB1799902C082E001C080E091709D256A
+:100C2000982B7C9902C084E001C080E0892B7D99DB
+:100C300002C038E001C030E0832B7E9902C020E181
+:100C400001C020E0822B9FB19095991F9927991F91
+:100C50009295990F907E892B0FC08091010181118F
+:100C600049C080E40E94160580930101882379F130
+:100C7000B12C0E9438058B2DF8019081981719F03E
+:100C80008083C09200010E945B0521960F5F1F4F79
+:100C9000CE30D10509F076CF80910001882361F133
+:100CA000815080930001882339F08FE99FE00197FC
+:100CB000F1F700C0000020C0A3E4B1E0E5E3F1E0FB
+:100CC000CF01825F91919D938E13FCCF15C083E17C
+:100CD0000E944005809301018111CACF81E40E94E6
+:100CE0001605809301018111C3CF0E945105B82ED2
+:100CF000B094BFCF80E0C0CF0E94A60681E0DF9114
+:100D0000CF911F910F91FF90EF90DF90CF90BF9008
+:100D10000895E82FF0E0ED5BFE4F8081089508957F
+:100D20000F931F93CF93DF93C3E4D1E010E00C2F18
+:100D3000025F899190E00E94581D180F0C13F9CFA3
+:100D4000812FDF91CF911F910F9108950C947B0714
+:100D500056985E9825982D9826982E9827982F9823
+:100D60008FEF90E0909389008093880090938B00A0
+:100D700080938A0090938D0080938C00259A2D9A01
+:100D80002FEF80E792E0215080409040E1F700C0D3
+:100D90000000269A2E9A2FEF80E792E021508040A3
+:100DA0009040E1F700C00000279A2F9A2FEF80E7CC
+:100DB00092E0215080409040E1F700C0000025986B
+:100DC0002D982FEF80E792E0215080409040E1F78E
+:100DD00000C0000026982E982FEF80E792E0215067
+:100DE00080409040E1F700C0000027982F98569867
+:100DF0005E9825982D9826982E9827982F980895D4
+:100E000089EA8093800089E08093810024982C985F
+:100E10003F988AB18F748AB96E98479A8BB1806B6C
+:100E20008BB9769A0E94A8060C947A0780E2809388
+:100E300001018091510181110EC00E94100581E0D5
+:100E4000809351012FEF83ED90E32150804090403B
+:100E5000E1F700C0000080E40E94160580930101C4
+:100E600081112EC00E94400580930101811128C08C
+:100E70000E94400580930101811122C08FE30E94EE
+:100E800040058093010181111BC00E94380580E458
+:100E90000E94160580930101811112C08CE00E940E
+:100EA00040058093010181110BC00E944005809391
+:100EB0000101811105C08FE30E944005809301016B
+:100EC0000E943805809101010895613049F0623037
+:100ED00059F488E00E94671B89E00E94671B04C0E8
+:100EE000FC018281811103C080E090E008958AE0D6
+:100EF00091E00895089556985E9825982D98269823
+:100F00002E9827982F988091BD019091BE01A091B5
+:100F1000BF01B091C00190FF02C0259A2D9A809127
+:100F2000C1019091C201A091C301B091C401029787
+:100F3000A105B10511F4269A2E9A0E944B1281FF49
+:100F400002C0279A2F9A089581E0089581E00895BC
+:100F50000C94A60708950F931F93CF93DF938C01F2
+:100F6000FC01C081D181CE010E94DD1BBE010E9427
+:100F70005408EC01B8010E94A807882309F48DC029
+:100F8000F8018281882309F44AC080915D018111B2
+:100F90001FC0C431F0E5DF0709F051C00E94AA0765
+:100FA00081E080935D010E94AC1D90935C01809371
+:100FB0005B0110925401109256011092550110924B
+:100FC00058011092570110925A011092590165C0B0
+:100FD00080915B0190915C010E94B81D883C910555
+:100FE00070F480915401E82FF0E0EE0FFF1FEB5AF0
+:100FF000FE4FD183C0838F5F809354014EC0C438AD
+:1010000080E5D80721F0C538D04501F13AC0F80194
+:101010008281882341F01092520182E01EC0C438C0
+:10102000E0E5DE0759F580915201811106C086E2A4
+:101030000E94671386E20E942F1482E01CC0C4380D
+:10104000F0E5DF0741F3C538D045D9F4F8018281D6
+:10105000882331F01092530180E20E947E141DC05B
+:1010600080915301811106C087E20E94671387E2D5
+:101070000E942F1480E20E9485140FC0C538D0450D
+:1010800029F381E08093520180935301C801DF91DD
+:10109000CF911F910F910C94A40780E0DF91CF9125
+:1010A0001F910F910895089596E0799FF001112402
+:1010B00094E5899FE00DF11D1124E60FF11DEE0F5F
+:1010C000FF1FEB5EFE4F859194910895880F991F45
+:1010D000FC01EB56F040859194910895880F991F7B
+:1010E000FC01EB5EFE4F8591949108950F931F9341
+:1010F000CF93DF93EC01811520E3920750F5C115E2
+:1011000080E2D80708F0C3C0CB3BD10590F4C83AC1
+:10111000D10508F06AC0C53AD10508F05BC0C430FB
+:10112000D10508F0D0C1219709F0CAC101E010E053
+:101130000AC2CF3FD10511F008F0C5C1C03FD105AB
+:1011400008F0A2C0CE01805E9109089708F4BBC1E7
+:10115000B7C1C13090E5D90709F4A2C020F5C0316C
+:101160008FE4D80770F4C11590E4D90708F094C053
+:10117000C11521E3D20708F0A3C1DD278E01106C51
+:10118000E2C1C115D04509F09BC10E94E4168FEF62
+:1011900094E32CE0815090402040E1F700C0000033
+:1011A0000E94071ED0C1C11597E5D90758F4C03178
+:1011B00021E5D20708F01CC1C43180E5D80708F446
+:1011C00075C07EC1CE0190578115904108F078C15D
+:1011D000DF7073C1C53AD10509F477C1C63AD105AC
+:1011E00009F076C102E810E4AEC1C83AD10509F4AD
+:1011F00072C1C93AD10509F471C1CA3AD10509F4DD
+:1012000070C1CB3AD10509F46FC1CC3AD10509F4CC
+:101210006EC1CD3AD10509F46DC1C03BD10509F4C9
+:101220006CC1CE3AD10509F46BC1CF3AD10509F4AE
+:101230006AC1C13BD10509F469C1C23BD10509F4BA
+:1012400068C1C33BD10509F467C1C43BD10509F4AA
+:1012500066C1C53BD10509F465C1C63BD10509F49A
+:1012600064C1C73BD10509F463C1C83BD10509F48A
+:1012700062C1C93BD10509F461C1CA3BD10509F47A
+:1012800060C100E014E45FC18E0110655CC1CE0155
+:101290009F700E946E0858C1DF708E01106A53C1A2
+:1012A0008091DA0181608093DA014DC10E94AC1F08
+:1012B000811102C00E94921F0E94C91F90E090936A
+:1012C000FB018093FA01C23080E5D80721F48091B8
+:1012D000FA01816086C0C43090E5D90721F480917D
+:1012E000FA0182607EC0C63020E5D20721F48091E9
+:1012F000FA01846076C0C83080E5D80719F480917F
+:10130000FA0127C0CA3090E5D90721F48091FA018B
+:10131000806167C0CC3020E5D20721F48091FA01CA
+:1013200080625FC0CE3080E5D80721F48091FA0159
+:10133000806457C0C03190E5D90721F48091FA014B
+:1013400080684FC0C23120E5D20729F48091FA01AC
+:101350008460886046C0C33080E5D80721F480915E
+:10136000FA018E7F3EC0C53090E5D90721F4809107
+:10137000FA018D7F36C0C73020E5D20721F4809175
+:10138000FA018B7F2EC0C93080E5D80719F480910F
+:10139000FA0126C0CB3090E5D90721F48091FA01FB
+:1013A0008F7E1FC0CD3020E5D20721F48091FA0155
+:1013B0008F7D17C0CF3080E5D80721F48091FA01E6
+:1013C0008F7B0FC0C13190E5D90721F48091FA01DC
+:1013D0008F7707C0C331D04531F48091FA018B7FFC
+:1013E000877F8093FA018091FA010E94CD1FABC0E4
+:1013F0008D2F99278F70992781309105D9F49E01FF
+:101400002370332702C0880F991F2A95E2F79C6842
+:101410008E0144E0000F111F4A95E1F70027137079
+:10142000802B912B53E0CC0FDD1F5A95E1F7C0764E
+:10143000DD272FC08230910531F4DC2FCC278E01BF
+:10144000016F106A80C08330910569F4CE0183700A
+:10145000992701E010E002C0000F111F8A95E2F702
+:10146000C8019C680FC084309105B9F4CE01837027
+:10147000992701E010E002C0000F111F8A95E2F7E2
+:10148000C8019A6823E0CC0FDD1F2A95E1F7C07EE2
+:10149000D7708C010C2B1D2B56C08530910531F473
+:1014A000DC2FCC278E01046F106A4DC0069709F01F
+:1014B0004AC0CF71DD27DC2FCC278E01106243C0DC
+:1014C00000E010E040C08E013EC001E810E43BC0E7
+:1014D00003E810E438C002EE14E435C009EE14E469
+:1014E00032C00AEE14E42FC005EB14E42CC006EB66
+:1014F00014E429C007EB14E426C00CEC14E423C068
+:101500000DEC14E420C003E815E41DC00AE815E45E
+:101510001AC002E915E417C004E915E414C001E299
+:1015200016E411C003E216E40EC004E216E40BC098
+:1015300005E216E408C006E216E405C007E216E478
+:1015400002C00AE216E4C801DF91CF911F910F910A
+:10155000089596E0799FF001112494E5899FE00DAC
+:10156000F11D1124E60FF11DEE0FFF1FEB5EFE4F84
+:1015700085919491803E9105E0F4803C910558F569
+:101580008133910509F46FC048F48932910509F45B
+:1015900063C08A32910509F46DC072C08933910528
+:1015A000E9F082389105D1F08533910509F44DC0F9
+:1015B00067C0833E910581F138F4803E9105B9F012
+:1015C000823E9105D9F05CC0863E910561F1873E6F
+:1015D0009105A1F155C00E94660808952091FA0175
+:1015E00020FD02C021FF4CC080EE90E049C08091F8
+:1015F000FA0180FFF9CF89E390E042C08091FA01BF
+:1016000082FF0EC08091FA0184FF03C080E090E069
+:1016100037C083EE90E034C08091FA0182FFF2CFB0
+:1016200082EE90E02DC08091FA0183FF0BC0809183
+:10163000FA0184FDEBCF87EE90E022C08091FA01A1
+:1016400083FFF5CF86EE90E01BC08091FA0185FF05
+:1016500007C089E290E014C08091FA0185FFF9CFBC
+:1016600085E390E00DC08091FA0186FF07C08AE211
+:1016700090E006C08091FA0186FFF9CF81E390E007
+:101680000E947608089508950C94430B80916E0192
+:101690000895CF93DF9300D01F92CDB7DEB79C01A2
+:1016A0008091F101843019F593E099833B832A837B
+:1016B0009093E9008FEF9091E800815095FD06C06E
+:1016C00095ED9A95F1F700008111F5CF8091E80032
+:1016D00085FF0DC040E050E063E070E0CE01019670
+:1016E0000E94B30D8091E8008E778093E8000F9000
+:1016F0000F900F90DF91CF910895CF93DF9300D09B
+:101700001F92CDB7DEB72091F101243021F522E000
+:1017100029839B838A8383E08093E9008FEF9091F4
+:10172000E800815095FD06C095ED9A95F1F700000F
+:101730008111F5CF8091E80085FF0DC040E050E0B9
+:1017400063E070E0CE0101960E94B30D8091E80045
+:101750008E778093E8000F900F900F90DF91CF91DC
+:1017600008952091F1012430F1F422E02093E90062
+:101770002FEF3091E800215035FD06C035ED3A9548
+:10178000F1F700002111F5CF2091E80025FF0BC0F3
+:1017900040E050E065E070E00E94B30D8091E80009
+:1017A0008E778093E8000895CF93DF93EC019091BA
+:1017B000F101943009F046C080910C018823D9F0E2
+:1017C00080910D018823B9F09093E9008FEF9091FB
+:1017D000E800815095FD06C095E19A95F1F700006B
+:1017E0008111F5CF8091E80085FF2CC040E050E0EA
+:1017F00060E170E017C081E08093E9008FEF909185
+:10180000E800815095FD06C095ED9A95F1F700002E
+:101810008111F5CF8091E80085FF14C040E050E0D1
+:1018200068E070E0CE010E94B30D8091E8008E77F1
+:101830008093E80080E1FE01AEE5B1E001900D92F9
+:101840008A95E1F7DF91CF9108958091F0018111A0
+:1018500009C00E94480F0E94A50F8091E200846099
+:101860008093E20008951092F001089508950C9479
+:101870003C240E949D1D0E9442240E944B120C9405
+:10188000440B42E061EC81E00E94C20E42E061EC58
+:1018900082E00E94C20E42E061EC83E00E94C20E30
+:1018A00042E161EC84E00C94C20E8091F30183303C
+:1018B00009F455C030F4813071F0823009F48EC0E3
+:1018C00008958A3009F47AC08B3009F460C08930F9
+:1018D00009F09CC020C08091F201813A09F096C0C5
+:1018E0008091E800877F8093E8008091F6019091D5
+:1018F000F701892B21F460E18EE591E003C060E0FF
+:1019000080E090E070E00E94FE0D8091E8008B770F
+:101910008093E80008958091F201813209F076C049
+:101920008091F6019091F701009719F0039709F063
+:101930006DC08091E800877F8093E8008091E80087
+:1019400082FD05C08091F1018111F8CF5FC08091C7
+:10195000F10080936E018091E8008B7753C08091F5
+:10196000F201813A09F052C08091F6019091F7019D
+:10197000892B09F04BC08091E800877F8093E800B5
+:101980008091E80080FFFCCF80910C0136C08091EF
+:10199000F2018132D9F58091F6019091F701892BFE
+:1019A000A9F58091E800877F8093E8000E94F70EF8
+:1019B0008091F40180930C010C94E4168091F20163
+:1019C000813221F58091E800877F8093E8000E94B2
+:1019D000F70E8091F50180936F0108958091F201D7
+:1019E000813AA1F48091E800877F8093E80080919C
+:1019F000E80080FFFCCF80916F018093F10080911F
+:101A0000E8008E778093E8000C94F70E089584B771
+:101A1000877F84BF88E10FB6F894809360001092AE
+:101A200060000FBE90E080E80FB6F89480936100EC
+:101A3000909361000FBE0E949A120E94480F0E946C
+:101A4000A50F8091E20084608093E20078940E9468
+:101A50002B120E949C1282E091E00E9446120E948A
+:101A60002A248091F101853069F40E94641D8091DF
+:101A7000EF018823B1F30E948F1D882391F30E9408
+:101A80009D0DEFCF0E94A212ECCF292F33272330D8
+:101A90003105C9F064F42130310581F0223031057F
+:101AA00009F043C08DE690E029ED37E042C02132D5
+:101AB0003105F1F02232310541F137C082E190E089
+:101AC00026E438E036C099278130910541F0823014
+:101AD000910541F0892B49F5E5EDF7E005C0EDEB07
+:101AE000F7E002C0E5EAF7E0849190E09F0121C0B1
+:101AF0006430D8F4E62FF0E0EE0FFF1FEE5DFE4FEE
+:101B00002081318189E090E014C0643070F470E08D
+:101B1000FB01EE0FFF1FE65EFE4F20813181FB01CE
+:101B2000EA5EFE4F808190E004C080E090E020E01B
+:101B300030E0FA0131832083089580E189BD82E19C
+:101B400089BD09B400FEFDCF8091D8008F7D8093C0
+:101B5000D8008091E00082608093E0008091E000F6
+:101B600081FDFCCF0895CF92DF92EF92FF920F9309
+:101B70001F93CF93DF93EC018B016A010E94160F34
+:101B8000811133C0C114D10439F0F60180819181F3
+:101B9000081B190BC80FD91FE12CF12C01151105D9
+:101BA00019F18091E80085FD16C08091E8008E77DC
+:101BB0008093E800C114D10449F0F601808191813D
+:101BC000E80EF91EF182E08285E00FC00E94160F38
+:101BD000882321F30AC089918093F10001501109F3
+:101BE000FFEFEF1AFF0ADACF80E0DF91CF911F916C
+:101BF0000F91FF90EF90DF90CF9008952091F80122
+:101C00003091F9012617370748F06115710539F44D
+:101C10002091E8002E772093E80001C0B90140E050
+:101C200061157105A9F12091F101222309F443C046
+:101C3000253009F442C02091E80023FD40C02091E6
+:101C4000E80022FD32C02091E80020FFE9CF40915A
+:101C5000F3002091F20030E0342BFC01CF0161153C
+:101C6000710559F02830310540F481918093F100DD
+:101C7000615071092F5F3F4FF1CF41E028303105AE
+:101C800009F040E02091E8002E772093E800C8CFCB
+:101C90004111C9CF0AC08091F101882361F08530DC
+:101CA00061F08091E80083FD0AC08091E80082FF26
+:101CB000F2CF80E0089582E0089583E0089581E006
+:101CC00008952091F8013091F9012617370748F05F
+:101CD0006115710539F42091E8002E772093E80012
+:101CE00001C0B901FC0120E06115710591F18091FD
+:101CF000F101882309F440C0853009F43FC0809188
+:101D0000E80083FD3DC08091E80082FD2FC08091F6
+:101D1000E80080FFE9CF2091F3008091F20090E08D
+:101D2000922B6115710559F08830910540F424918A
+:101D30002093F1003196615071090196F2CF21E0B4
+:101D4000089709F020E08091E8008E778093E80002
+:101D5000CBCF2111CCCF0AC08091F101882361F053
+:101D6000853061F08091E80083FD0AC08091E80031
+:101D700082FFF2CF80E0089582E0089583E0089525
+:101D800081E00895982F973058F59093E9009817BF
+:101D900039F07091EC002091ED005091F00003C0FB
+:101DA000242F762F50E021FF19C03091EB003E7FA9
+:101DB0003093EB003091ED003D7F3093ED0030919A
+:101DC000EB0031603093EB007093EC002093ED005A
+:101DD0005093F0002091EE0027FF07C09F5FD3CF04
+:101DE0008F708093E90081E0089580E008958091EC
+:101DF000F20187FF11C08091E80082FD05C080914B
+:101E0000F1018111F8CF11C08091E8008B770BC0F0
+:101E10008091F101882349F08091E80080FFF8CF9C
+:101E20008091E8008E778093E80008952091E40087
+:101E30003091E50095E64091EC00842F817040FFE1
+:101E400022C08091E80080FD1CC08091F1018823B0
+:101E500091F0853091F08091EB0085FD10C04091AC
+:101E6000E4005091E5004217530729F39A0191507D
+:101E700011F784E0089582E0089583E0089581E0F9
+:101E8000089580E008954091E80042FFDECF089574
+:101E90000E94B60F0E94BE0FE0EEF0E080818160EC
+:101EA0008083E8EDF0E080818F77808319BCA7ED17
+:101EB000B0E08C918E7F8C9380818F7E8083109296
+:101EC000F00108950F931F93CF93DF930E94B60FF5
+:101ED0000E94BE0FC8EDD0E088818F77888388810B
+:101EE0008068888388818F7D888319BC1092F10176
+:101EF0001092ED011092EF011092EE0100EE10E051
+:101F0000F80180818B7F808388818160888342E0B3
+:101F100060E080E00E94C20EE1EEF0E080818E7F02
+:101F20008083E2EEF0E08081816080838081886040
+:101F30008083F80180818E7F80838881806188839F
+:101F4000DF91CF911F910F910895E8EDF0E080812E
+:101F50008F7E8083E7EDF0E080818160808384E084
+:101F600082BF81E08093F0010C94620FE8EDF0E015
+:101F700080818E7F80831092E20008951092DA00B3
+:101F80001092E10008951F920F920FB60F92112444
+:101F90002F933F934F935F936F937F938F939F9371
+:101FA000AF93BF93EF93FF938091E10082FF0BC04B
+:101FB0008091E20082FF07C08091E1008B7F8093D7
+:101FC000E1000E942A128091DA0080FF1FC08091F8
+:101FD000D80080FF1BC08091DA008E7F8093DA00EA
+:101FE0008091D90080FF0DC080E189BD82E189BD6B
+:101FF00009B400FEFDCF81E08093F1010E94250C21
+:1020000005C019BC1092F1010E94330C8091E100CF
+:1020100080FF19C08091E20080FF15C08091E2002E
+:102020008E7F8093E2008091E20080618093E200E5
+:102030008091D80080628093D80019BC85E080939D
+:10204000F1010E94370C8091E10084FF30C0809143
+:10205000E20084FF2CC080E189BD82E189BD09B422
+:1020600000FEFDCF8091D8008F7D8093D8008091B5
+:10207000E1008F7E8093E1008091E2008F7E80936B
+:10208000E2008091E20081608093E2008091ED01A6
+:10209000882311F084E007C08091E30087FD02C02F
+:1020A00081E001C083E08093F1010E94390C8091AE
+:1020B000E10083FF29C08091E20083FF25C0809169
+:1020C000E100877F8093E10082E08093F10110922C
+:1020D000ED018091E1008E7F8093E1008091E2002C
+:1020E0008E7F8093E2008091E20080618093E20025
+:1020F00042E060E080E00E94C20E8091F0008860C3
+:102100008093F0000E94360CFF91EF91BF91AF9148
+:102110009F918F917F916F915F914F913F912F91FF
+:102120000F900FBE0F901F9018951F920F920FB631
+:102130000F9211242F933F934F935F936F937F934D
+:102140008F939F93AF93BF93CF93DF93EF93FF93BF
+:10215000C091E900CF708091EC00D82FD17080FD44
+:10216000D0E81092E9008091F000877F8093F00022
+:1021700078940E94D9101092E9008091F000886054
+:102180008093F000CD2BCF70C093E900FF91EF91C9
+:10219000DF91CF91BF91AF919F918F917F916F917F
+:1021A0005F914F913F912F910F900FBE0F901F9015
+:1021B00018951F93CF93DF93CDB7DEB7AA970FB6CD
+:1021C000F894DEBF0FBECDBFE2EFF1E088E08E0FE6
+:1021D0009091F10091938E13FBCF0E94550C80914A
+:1021E000E80083FF1FC18091F2019091F301492F14
+:1021F00050E04A30510508F015C1FA01EA5AFF4F84
+:102200000C94C425803881F0823809F00BC180918C
+:10221000F6018F708093E9008091EB0085FB8827A1
+:1022200080F91092E90006C08091EE019091EF01D3
+:10223000911182609091E800977F9093E8008093DD
+:10224000F1001092F100C8C0282F2D7F09F0EAC0DC
+:10225000882319F0823061F0E5C08091F40181306B
+:1022600009F0E0C0933009F080E08093EF012BC0CB
+:102270008091F401811127C08091F6018F7009F4DB
+:10228000D1C08093E9002091EB0020FF1CC0933067
+:1022900021F48091EB00806214C09091EB0090617A
+:1022A0009093EB0021E030E0A90102C0440F551FDC
+:1022B0008A95E2F74093EA001092EA008091EB00E1
+:1022C00088608093EB001092E9008091E800877F9E
+:1022D00086C08111A7C01091F4011F778091E3009F
+:1022E0008078812B8093E3008091E800877F809342
+:1022F000E8000E94F70E8091E80080FFFCCF8091FB
+:10230000E30080688093E300111102C082E001C005
+:1023100083E08093F10186C08058823008F082C04B
+:102320008091F4019091F5018C3D53E0950779F58A
+:1023300083E08A838AE289834FB7F894DE0113969B
+:1023400020E03EE051E2E32FF0E050935700E491AB
+:1023500020FF03C0E295EF703F5FEF708E2F90E09B
+:10236000EA3010F0C79601C0C0968D939D932F5F01
+:10237000243149F74FBF8091E800877F8093E800C0
+:102380006AE270E0CE0101960E94FE0D14C0AE011B
+:102390004F5F5F4F6091F6010E94450DBC010097B1
+:1023A00009F440C09091E800977F9093E8008981FC
+:1023B0009A810E94610E8091E8008B778093E800FB
+:1023C00031C0803879F58091E800877F8093E800FC
+:1023D0008091ED018093F1008091E8008E778093E9
+:1023E000E8000E94F70E1EC081111CC09091F401FC
+:1023F0009230C0F48091E800877F8093E80090934A
+:10240000ED010E94F70E8091ED01811106C08091CF
+:10241000E30087FD02C081E001C084E08093F10108
+:102420000E94410C8091E80083FF0AC08091E8007F
+:10243000877F8093E8008091EB0080628093EB00BF
+:10244000AA960FB6F894DEBF0FBECDBFDF91CF9135
+:102450001F9108950895CF938091F1018823A1F0F1
+:10246000C091E900CF709091EC00892F817090FDB0
+:1024700080E8C82B1092E9008091E80083FD0E945B
+:10248000D910CF70C093E900CF9108959093750152
+:10249000809374010895E0917401F0917501309773
+:1024A00021F00190F081E02D099480E00895E09101
+:1024B0007401F0917501309721F00280F381E02DD5
+:1024C00009940895E0917401F0917501309721F01D
+:1024D0000480F581E02D09940895209172013091D6
+:1024E00073018217930771F09093730180937201C7
+:1024F000E0917401F0917501309721F00680F78129
+:10250000E02D099408952091700130917101821796
+:10251000930771F09093710180937001E0917401C1
+:10252000F0917501309721F00084F185E02D099438
+:10253000089508950C9499120E94A31D0E9483058A
+:102540000C94651E9F92AF92BF92CF92DF92EF9252
+:10255000FF920F931F93CF93DF9300D000D000D052
+:10256000CDB7DEB70E949B050DE010E0AA24A3942E
+:10257000B12C902E802F0E948906980129583E4F39
+:102580006901F901F080F826A1F40150110988F7DA
+:102590008FEF89838A831B820E94AC1D8160782F14
+:1025A0009D838C8349815A816B818D810E9439136F
+:1025B0002FC09091DA0191FF04C08E830E948F0694
+:1025C0008E8125E030E0A501022E01C0440F0A945F
+:1025D000EAF7E42E4F21C1F029839A828E2191E0FF
+:1025E00009F490E09B830E94AC1D8160782F9D834D
+:1025F0008C8349815A816B818D810E943913F60148
+:102600008081E826E08204C021503109E0F6BDCF88
+:102610000E944C21109176010E944B121817B9F0BC
+:102620000E944B128093760126960FB6F894DEBF77
+:102630000FBECDBFDF91CF911F910F91FF90EF9013
+:10264000DF90CF90BF90AF909F900C94440B269654
+:102650000FB6F894DEBF0FBECDBFDF91CF911F91B3
+:102660000F91FF90EF90DF90CF90BF90AF909F9031
+:102670000895CF93DF93CDB7DEB72B970FB6F894BD
+:10268000DEBF0FBECDBF4F83588769877A878B87A0
+:10269000DE01119686E0FD0111928A95E9F785E049
+:1026A000FE01379601900D928A95E1F749815A8192
+:1026B0006B817C818D819E810E9482192B960FB641
+:1026C000F894DEBF0FBECDBFDF91CF910895CF93B9
+:1026D000882309F4C2C0C82F823859F40E944B12D3
+:1026E00081FDBBC089E30E945C1C0E94291D89E317
+:1026F0000CC0833879F40E944B1280FDAEC083E594
+:102700000E945C1C0E94291D83E50E949E1CCF91A3
+:102710000C94291D843859F40E944B1282FD9DC0EF
+:1027200087E40E945C1C0E94291D87E4EECF8CEF99
+:102730008C0F813A48F48C2F0E948F2381118DC019
+:102740008C2F0E945C1CE3CF80E28C0F883048F411
+:10275000C77081E001C0880FCA95EAF70E94E21CA9
+:10276000D6CF8BE58C0F833078F4C53A29F0C63A82
+:1027700031F083E890E005C081E890E002C082E893
+:1027800090E0CF910C946D1288E58C0F833108F0A6
+:1027900064C0C83A39F1C93A41F1CA3A49F1CB3A71
+:1027A00051F1CC3A59F1CD3A61F1C03B69F1CE3AE1
+:1027B00071F1CF3A79F1C13B81F1C23B89F1C33B61
+:1027C00091F1C43B99F1C53BA1F1C63BA9F1C73BCF
+:1027D000B1F1C83BB9F1C93BC1F1CA3BC9F180E0D5
+:1027E00090E038C082EE90E035C089EE90E032C0D3
+:1027F0008AEE90E02FC085EB90E02CC086EB90E055
+:1028000029C087EB90E026C08CEC90E023C08DECD3
+:1028100090E020C083E891E01DC08AE891E01AC0F2
+:1028200082E991E017C084E991E014C081E292E06E
+:1028300011C083E292E00EC084E292E00BC085E218
+:1028400092E008C086E292E005C087E292E002C012
+:102850008AE292E0CF910C948312CF91089588235D
+:1028600009F44BC0823859F40E944B1281FF45C0D5
+:1028700089E30E945C1C0E94291D89E30CC08338F7
+:1028800071F40E944B1280FF38C083E50E945C1CEB
+:102890000E94291D83E50E949E1C0C94291D8438EA
+: