summaryrefslogtreecommitdiffstats
path: root/keyboard/ergodox_ez
diff options
context:
space:
mode:
authorErez Zukerman <bulk@ezuk.org>2016-01-25 07:04:44 -0500
committerErez Zukerman <bulk@ezuk.org>2016-01-25 07:04:44 -0500
commite9356dcad5769bc917ab9d3366013b5f193c3ef3 (patch)
treefcd3b64c30395dc3e632aa999f0d6fa0aee833cc /keyboard/ergodox_ez
parent99c72d0d9b5baec52f801887ee595e623aaf0b3f (diff)
parentbaddbc6b23b34b5873e7a355c55f1e04485881f6 (diff)
Merge pull request #107 from tonyabra/config/tonyabra-osx
Simplified osx layout for ergodox ez
Diffstat (limited to 'keyboard/ergodox_ez')
-rw-r--r--keyboard/ergodox_ez/keymaps/tonyabra_osx/keymap.c184
-rw-r--r--keyboard/ergodox_ez/keymaps/tonyabra_osx/readme.md5
-rw-r--r--keyboard/ergodox_ez/keymaps/tonyabra_osx/tonyabra_osx.hex1471
3 files changed, 1660 insertions, 0 deletions
diff --git a/keyboard/ergodox_ez/keymaps/tonyabra_osx/keymap.c b/keyboard/ergodox_ez/keymaps/tonyabra_osx/keymap.c
new file mode 100644
index 0000000000..fb7c00983e
--- /dev/null
+++ b/keyboard/ergodox_ez/keymaps/tonyabra_osx/keymap.c
@@ -0,0 +1,184 @@
+#include "ergodox_ez.h"
+#include "debug.h"
+#include "action_layer.h"
+
+#define BASE 0 // default layer
+#define SYMB 1 // symbols
+#define MDIA 2 // media keys
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+/* Keymap 0: Basic layer
+ *
+ * ,--------------------------------------------------. ,--------------------------------------------------.
+ * | Esc | 1 | 2 | 3 | 4 | 5 | = | | - | 6 | 7 | 8 | 9 | 0 | Enter |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | Tab | Q | W | E | R | T | L1 | | L1 | Y | U | I | O | P | \ |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | BkSp | A | S | D | F | G |------| |------| H | J | K | L | ; | '" |
+ * |--------+------+------+------+------+------| LGui | | LGui |------+------+------+------+------+--------|
+ * | LShift | Z | X | C | V | B | | | | N | M | , | . | / | RShift |
+ * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
+ * | L1 | ` | { | } | '" | | Left | Up | Down | Right| L2 |
+ * `----------------------------------' `----------------------------------'
+ * ,-------------. ,-------------.
+ * | Del | Alt | | Alt | Ctrl |
+ * ,------|------|------| |------+--------+------.
+ * | | | Home | | PgUp | | |
+ * | Space|Backsp|------| |------| Tab |Enter |
+ * | |ace | End | | PgDn | | |
+ * `--------------------' `----------------------'
+ */
+// If it accepts an argument (i.e, is a function), it doesn't need KC_.
+// Otherwise, it needs KC_*
+[BASE] = KEYMAP( // layer 0 : default
+ // left hand
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_EQL,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, TG(SYMB),
+ KC_BSPC, KC_A, KC_S, KC_D, KC_F, KC_G,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LGUI,
+ TG(SYMB), KC_GRV, KC_LBRC, KC_RBRC,KC_QUOT,
+ KC_DELT,KC_LALT,
+ KC_HOME,
+ KC_SPC,KC_BSPC,KC_END,
+ // right hand
+ KC_MINS, KC_6, KC_7, KC_8, KC_9, KC_0, KC_ENT,
+ TG(SYMB), KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
+ KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
+ KC_LGUI, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_RSFT,
+ KC_LEFT,KC_UP, KC_DOWN,KC_RIGHT, TG(MDIA),
+ KC_RALT, KC_RCTL,
+ KC_PGUP,
+ KC_PGDN,KC_TAB, KC_ENT
+ ),
+/* Keymap 1: Symbol Layer
+ *
+ * ,--------------------------------------------------. ,--------------------------------------------------.
+ * | | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F11 |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | | ! | @ | { | } | | | | | | Up | 7 | 8 | 9 | * | F12 |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | # | $ | ( | ) | ` |------| |------| Down | 4 | 5 | 6 | + | |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | % | ^ | [ | ] | ~ | | | | & | 1 | 2 | 3 | \ | |
+ * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
+ * | | | | | | | | . | 0 | = | |
+ * `----------------------------------' `----------------------------------'
+ * ,-------------. ,-------------.
+ * | | | | | |
+ * ,------|------|------| |------+------+------.
+ * | | | | | | | |
+ * | | |------| |------| | |
+ * | | | | | | | |
+ * `--------------------' `--------------------'
+ */
+// SYMBOLS
+[SYMB] = KEYMAP(
+ // left hand
+ KC_TRNS,KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS,
+ KC_TRNS,KC_EXLM,KC_AT, KC_LCBR,KC_RCBR,KC_PIPE,KC_TRNS,
+ KC_TRNS,KC_HASH,KC_DLR, KC_LPRN,KC_RPRN,KC_GRV,
+ KC_TRNS,KC_PERC,KC_CIRC,KC_LBRC,KC_RBRC,KC_TILD,KC_TRNS,
+ KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
+ KC_TRNS,KC_TRNS,
+ KC_TRNS,
+ KC_TRNS,KC_TRNS,KC_TRNS,
+ // right hand
+ KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
+ KC_TRNS, KC_UP, KC_7, KC_8, KC_9, KC_ASTR, KC_F12,
+ KC_DOWN, KC_4, KC_5, KC_6, KC_PLUS, KC_TRNS,
+ KC_TRNS, KC_AMPR, KC_1, KC_2, KC_3, KC_BSLS, KC_TRNS,
+ KC_TRNS,KC_DOT, KC_0, KC_EQL, KC_TRNS,
+ KC_TRNS, KC_TRNS,
+ KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS
+),
+/* Keymap 2: Media and mouse keys
+ *
+ * ,--------------------------------------------------. ,--------------------------------------------------.
+ * | | | | | | | | | | | | | | | |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | | | | MsUp | | | | | | | | | | | |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | |MsLeft|MsDown|MsRght| |------| |------| | | | | | Play |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | | | | | | | | | | | Prev | Next | | |
+ * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
+ * | | | | Lclk | Rclk | |VolUp |VolDn | Mute | | |
+ * `----------------------------------' `----------------------------------'
+ * ,-------------. ,-------------.
+ * | | | | | |
+ * ,------|------|------| |------+------+------.
+ * | | | | | | |Brwser|
+ * | | |------| |------| |Back |
+ * | | | | | | | |
+ * `--------------------' `--------------------'
+ */
+// MEDIA AND MOUSE
+[MDIA] = KEYMAP(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_U, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN1, KC_BTN2,
+ KC_TRNS, KC_TRNS,
+ KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS,
+ // right hand
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_MNXT, KC_TRNS, KC_TRNS,
+ KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS,
+ KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_WBAK
+),
+};
+
+const uint16_t PROGMEM fn_actions[] = {
+ [1] = ACTION_LAYER_TAP_TOGGLE(SYMB) // FN1 - Momentary Layer 1 (Symbols)
+};
+
+const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
+{
+ // MACRODOWN only works in this function
+ switch(id) {
+ case 0:
+ if (record->event.pressed) {
+ register_code(KC_RSFT);
+ } else {
+ unregister_code(KC_RSFT);
+ }
+ break;
+ }
+ return MACRO_NONE;
+};
+
+// Runs just one time when the keyboard initializes.
+void * matrix_init_user(void) {
+
+};
+
+// Runs constantly in the background, in a loop.
+void * matrix_scan_user(void) {
+
+ uint8_t layer = biton32(layer_state);
+
+ ergodox_board_led_off();
+ ergodox_right_led_1_off();
+ ergodox_right_led_2_off();
+ ergodox_right_led_3_off();
+ switch (layer) {
+ // TODO: Make this relevant to the ErgoDox EZ.
+ case 1:
+ ergodox_right_led_1_on();
+ break;
+ case 2:
+ ergodox_right_led_2_on();
+ break;
+ default:
+ // none
+ break;
+ }
+
+};
diff --git a/keyboard/ergodox_ez/keymaps/tonyabra_osx/readme.md b/keyboard/ergodox_ez/keymaps/tonyabra_osx/readme.md
new file mode 100644
index 0000000000..f9d76efc23
--- /dev/null
+++ b/keyboard/ergodox_ez/keymaps/tonyabra_osx/readme.md
@@ -0,0 +1,5 @@
+# ErgoDox EZ OS X Simplified Configuration
+
+This keyboard configuration replaces the hyper and meh keys with the command key. It also removes all of the meta keys that require a "hold" because I found that I hesitate when I type, which can accidentally fire those combinations. On the upper left of the left hand, I mimicked the Mac placement of tab and escape, and on the upper right of the right hand, I placed an additional enter key for convenience when breezing through prompts.
+
+This is my standard working configuration for now, but I can see myself tweaking it as I use it more. I highly recommend you do the same. \ No newline at end of file
diff --git a/keyboard/ergodox_ez/keymaps/tonyabra_osx/tonyabra_osx.hex b/keyboard/ergodox_ez/keymaps/tonyabra_osx/tonyabra_osx.hex
new file mode 100644
index 0000000000..c3481dccbe
--- /dev/null
+++ b/keyboard/ergodox_ez/keymaps/tonyabra_osx/tonyabra_osx.hex
@@ -0,0 +1,1471 @@
+:100000000C9400070C9444070C9444070C94440788
+:100010000C9444070C9444070C9444070C94440734
+:100020000C9444070C9444070C9458120C942A1313
+:100030000C9444070C9444070C9444070C94440714
+:100040000C9444070C94002C0C9444070C94440723
+:100050000C9444070C94F8210C9444070C94440726
+:100060000C9444070C9444070C9444070C944407E4
+:100070000C9444070C9444070C9444070C944407D4
+:100080000C9444070C9444070C9444070C944407C4
+:100090000C9444070C9444070C9444070C944407B4
+:1000A0000C9444070C9444070C9444079713B91319
+:1000B000A714B913A714FE132114A71476148914D6
+:1000C000D017D017FF17FF1742188018991A991ADE
+:1000D0009918991A9A199A196D1A991A991A841ACB
+:1000E0000000F0A129002B002A00E10001540000CB
+:1000F0001E00140004001D0035004D001F001A00F2
+:1001000016001B002F002A00200008000700060030
+:1001100030002C00210015000900190034004A00AD
+:10012000220017000A00050000004C002E000154B8
+:100130000000E3000000E2002D0001540000E30095
+:100140000000E60023001C000B0011000000E4008A
+:10015000240018000D00100050004B0025000C007A
+:100160000E00360052002800260012000F00370053
+:1001700051002B0027001300330038004F004E00C1
+:10018000280031003400E5000254000001000100A5
+:1001900001000100010000003A001E0220022202BC
+:1001A000010001003B001F022102230201000100A7
+:1001B0003C002F0226022F00010001003D0030020A
+:1001C00027023000010001003E00310235003502F7
+:1001D000000001000100010000000100000001001A
+:1001E0000100010000000100000001003F0052007A
+:1001F00051002402000001004000240021001E00E4
+:10020000010001004100250022001F00370001000D
+:1002100042002600230020002700010043002502A1
+:100220002E0231002E0001004400450001000100B3
+:1002300001000000010001000100010001000000B8
+:1002400001000100010001000100010001000100A6
+:10025000F2000100010001000100F000F1000100C6
+:10026000F400010001000100F3000100F5000100AD
+:100270000100010001000100000001000100010077
+:100280000000010000000100010001000000010069
+:100290000000010001000100010001000000010058
+:1002A0000100010001000100A9000100010001009E
+:1002B0000100AC00AA00B600010001000100AB0083
+:1002C000A80001000100010001000100010001007F
+:1002D00001000100AE000100010000000A0025300D
+:1002E000313662003A200025303258000A722F63FE
+:1002F0002030313233343536373839414243444582
+:10030000460A000A002530325800626F756E636538
+:10031000213A20006C6566742073696465206174FD
+:100320007461636865640A006C656674207369644F
+:1003300065206E6F7420726573706F6E64696E678E
+:100340000A00747279696E6720746F207265736534
+:1003500074206D637032333031380A000A444542EC
+:1003600055473A20656E61626C65642E0A005B73C6
+:100370005D004B6579626F617264207374617274A1
+:100380002E0A005B575D005B535D005B525D005BB6
+:10039000445D005B435D0016034500720067006F1B
+:1003A0000044006F007800200045005A000000164D
+:1003B000034500720067006F0044006F0078002062
+:1003C0000045005A0000000403090409028D0005DD
+:1003D0000100A0FA09040000010301010009211134
+:1003E000010001223F000705810308000A090401FA
+:1003F000000103010200092111010001224D000743
+:1004000005820308000A0904020001030000000934
+:1004100021110100012236000705830308000A09A3
+:100420000403000203000000092111010001222041
+:1004300000070584032000010705040320000109CB
+:100440000404000103000000092111010001223908
+:1004500000070585031000011201100100000008CB
+:10046000EDFE071301000102000105010906A101CB
+:10047000050719E029E71500250195087501810296
+:100480000508190129059505750191029501750366
+:100490009101050719002977150025019578750147
+:1004A0008102C00631FF0974A1010975150025FFFD
+:1004B0009520750881020976150025FF952075089D
+:1004C0009102C005010980A101850216010026B72D
+:1004D000001A01002AB700751095018100C0050CB3
+:1004E0000901A1018503160100269C021A01002AB8
+:1004F0009C02751095018100C005010902A1010946
+:1005000001A10005091901290515002501950575A9
+:100510000181029501750381010501093009311539
+:1005200081257F95027508810609381581257F95FB
+:100530000175088106050C0A38021581257F950191
+:1005400075088106C0C005010906A101050719E06B
+:1005500029E71500250195087501810295017508A7
+:10056000810105081901290595057501910295017B
+:10057000750391010507190029FF150025FF950650
+:1005800075088100C00A002530325820006B65795B
+:10059000626F6172645F7265706F72743A20000AF4
+:1005A0000025303258006B6579626F6172645F7349
+:1005B00065745F6C65643A200064656C5F6B657997
+:1005C0005F6269743A2063616E27742064656C3AD7
+:1005D00020253032580A006164645F6B65795F6280
+:1005E00069743A2063616E2774206164643A20253F
+:1005F0003032580A00646F6E652E0A00626F6F67B2
+:100600006D61676963207363616E3A202E2E2E2020
+:1006100000290A002575002F002575005D2800259A
+:10062000640020002564002000256400200025646B
+:10063000007C0025303258006D6F7573656B6579ED
+:10064000205B62746E7C782079207620685D287249
+:1006500065702F61636C293A205B006D6B5F776872
+:1006600065656C5F74696D655F746F5F6D6178203F
+:100670003D2025640A006D6B5F776865656C5F6D72
+:1006800061785F7370656564203D2025640A006DA4
+:100690006B5F74696D655F746F5F6D6178203D207D
+:1006A00025640A006D6B5F6D61785F7370656564CA
+:1006B000203D2025640A006D6B5F696E746572765B
+:1006C000616C203D2025640A006D6B5F64656C6180
+:1006D00079203D2025640A006D6B5F776865656C45
+:1006E0005F74696D655F746F5F6D6178203D202573
+:1006F000640A006D6B5F776865656C5F6D61785F3C
+:100700007370656564203D2025640A006D6B5F741D
+:10071000696D655F746F5F6D6178203D2025640AA7
+:10072000006D6B5F6D61785F7370656564203D205F
+:1007300025640A006D6B5F696E74657276616C206A
+:100740003D2025640A006D6B5F64656C6179203D16
+:100750002025640A000A00257500363A207768656E
+:10076000656C5F74696D655F746F5F6D61783A2069
+:10077000000A00257500353A20776865656C5F6D65
+:1007800061785F73706565643A20000A0025750022
+:10079000343A2074696D655F746F5F6D61783A20DB
+:1007A000000A00257500333A206D61785F7370652B
+:1007B00065643A20000A00257500323A20696E749B
+:1007C000657276616C286D73293A20000A002575E0
+:1007D00000313A2064656C6179282A31306D7329C3
+:1007E0003A20000A092D2056616C756573202D0A88
+:1007F000004D3E004D25643E20003F00736574208F
+:1008000064656661756C740A00433E200077686514
+:1008100072652064656C74613A20637572736F72DF
+:100820003D25642C20776865656C3D25640A536519
+:100830006520687474703A2F2F656E2E77696B6926
+:1008400070656469612E6F72672F77696B692F4DD0
+:100850006F7573655F6B6579730A000A092D204D0A
+:100860006F7573656B6579202D0A4553432F713A77
+:1008700009717569740A313A0964656C6179282ACD
+:1008800031306D73290A323A09696E746572766186
+:100890006C286D73290A333A096D61785F7370654E
+:1008A00065640A343A0974696D655F746F5F6D61E0
+:1008B000780A353A09776865656C5F6D61785F73B2
+:1008C000706565640A363A09776865656C5F7469B6
+:1008D0006D655F746F5F6D61780A0A703A097072B6
+:1008E000696E742076616C7565730A643A09736584
+:1008F000742064656661756C74730A75703A092BAF
+:10090000310A646F776E3A092D310A706775703A53
+:10091000092B31300A7067646F776E3A092D3130D8
+:100920000A0A7370656564203D2064656C746120FB
+:100930002A206D61785F7370656564202A202872B3
+:100940006570656174202F2074696D655F746F5FD9
+:100950006D6178290A003F004D3E2000433E200093
+:100960004C25640A000A092D20436F6E736F6C6575
+:10097000202D0A4553432F713A09717569740A6D28
+:100980003A096D6F7573656B65790A000A092D2048
+:100990004D61676963202D0A643A09646562756771
+:1009A0000A783A096465627567206D6174726978C6
+:1009B0000A6B3A096465627567206B6579626F61DD
+:1009C00072640A6D3A096465627567206D6F7573AC
+:1009D000650A763A0976657273696F6E0A733A0929
+:1009E0007374617475730A633A09636F6E736F6C25
+:1009F00065206D6F64650A302D343A096C61796544
+:100A000072302D34284631302D4634290A50617514
+:100A1000733A09626F6F746C6F616465720A653A4C
+:100A200009656570726F6D0A6E3A094E4B524F0A36
+:100A30007A3A09736C656570204C4544207465737F
+:100A4000740A000A002575002E6E6B726F3A200042
+:100A50000A002575002E737761705F6261636B73A6
+:100A60006C6173685F6261636B73706163653A2088
+:100A7000000A002575002E737761705F67726176DA
+:100A8000655F6573633A20000A002575002E6E6F5E
+:100A90005F6775693A20000A002575002E7377613B
+:100AA000705F72616C745F726775693A20000A004A
+:100AB0002575002E737761705F6C616C745F6C6775
+:100AC00075693A20000A002575002E636170736C09
+:100AD0006F636B5F746F5F636F6E74726F6C3A20DD
+:100AE000000A002575002E737761705F636F6E7466
+:100AF000726F6C5F636170736C6F636B3A20000A96
+:100B00000025303258006B65796D61705F636F6EE0
+:100B10006669672E7261773A20000A002575002EFB
+:100B20006D6F7573653A20000A002575002E6B65A0
+:100B300079626F6172643A20000A002575002E6D9B
+:100B400061747269783A20000A002575002E656E7E
+:100B500061626C653A20000A0025303258006465F5
+:100B60006275675F636F6E6669672E7261773A20A0
+:100B7000000A0025750064656661756C745F6C61C0
+:100B80007965723A20003F004E4B524F3A206F6613
+:100B9000660A004E4B524F3A206F6E0A0074696D20
+:100BA00065725F636F756E743A202530346C580A35
+:100BB000006B6579626F6172645F6E6B726F3A2071
+:100BC00025580A006B6579626F6172645F69646CB5
+:100BD000653A2025580A006B6579626F6172645F1F
+:100BE00070726F746F636F6C3A2025580A00686FDB
+:100BF00073745F6B6579626F6172645F6C65647357
+:100C000028293A2025580A000A092D2053746174B6
+:100C10007573202D0A004743433A20342E392E3372
+:100C2000204156522D4C4942433A20312E382E3124
+:100C3000204156525F415243483A20617672350A4C
+:100C4000004F5054494F4E533A204C554641204294
+:100C50004F4F544D41474943204D4F5553454B4508
+:100C6000592045585452414B455920434F4E534FFC
+:100C70004C4520434F4D4D414E44204E4B524F204A
+:100C80003531320A004255494C443A2066643732C5
+:100C9000613436202832323A35363A3234204A61CD
+:100CA0006E2032342032303136290A005649443A17
+:100CB00020307846454544284572676F446F782058
+:100CC000455A29205049443A20307831333037286A
+:100CD0004572676F446F7820455A29205645523A2D
+:100CE000203078303030310A00444553433A207484
+:100CF0002E6D2E6B2E206B6579626F61726420669B
+:100D000069726D7761726520666F72204572676FD8
+:100D1000646F780A000A092D2056657273696F6E38
+:100D2000202D0A000A6D6F7573653A206F66660A9A
+:100D3000000A6D6F7573653A206F6E0A000A6B6565
+:100D400079626F6172643A206F66660A000A6B65A9
+:100D500079626F6172643A206F6E0A000A6D617485
+:100D60007269783A206F66660A000A6D617472696A
+:100D7000783A206F6E0A000A64656275673A206FE0
+:100D80006E0A000A64656275673A206F66660A003B
+:100D90000A0A626F6F746C6F616465722E2E2E206A
+:100DA00000433E20006565636F6E6669673A0A001E
+:100DB000536C656570204C454420746573740A005B
+:100DC0000000000000000000000000010204060A0C
+:100DD0000F17202C3A4A5D71879DB3C7DAE9F5FCFD
+:100DE000FFFCF5E9DAC7B39D87715D4A3A2C2017FD
+:100DF0000F0A0604020100000000000000000000CD
+:100E000011241FBECFEFDAE0DEBFCDBF04B603FE74
+:100E100024C08091F9019091FA01A091FB01B09159
+:100E2000FC018730904BA740B04BB9F41092F90108
+:100E30001092FA011092FB011092FC0114BE84B7CB
+:100E4000877F84BF88E10FB6F8948093600010928A
+:100E500060000FBEE0E0FFE3099511E0A0E0B1E023
+:100E6000ECE9FBE502C005900D92AA33B107D9F772
+:100E700011E0AAE3B1E001C01D92A93FB107E1F77B
+:100E80000E94900F0C94CC2D0C940000FF93EF93D4
+:100E9000E0913A01F0913B01309709F00995EF910B
+:100EA000FF910895FC018591803011F0EFDFFBCFB9
+:100EB0000895FF27E0E230E247FF0CC0419597FF1D
+:100EC00009C0EDE26095709580959095611D711D4A
+:100ED000811D911D27FF02C0219530E350E2AA2712
+:100EE000660F771F881F991FAA1FA41710F0A41B55
+:100EF00063955A95A9F7AA3008F0A95FA05DAF9352
+:100F0000F395611571058105910541F7ED3211F4F5
+:100F1000EF93F395F21718F43F93F395FBCF8F916E
+:100F2000B5DFFA95E1F70895E991F991859180305F
+:100F300021F0853219F0AADFF9CF089520E0E89476
+:100F400055915532C1F3503311F4689455915A3389
+:100F500048F4505390F3220F022E220F220F200D3F
+:100F6000250FF4CF0EF4219589919991533619F3F9
+:100F7000533729F1533559F1BC0188279927E89453
+:100F80005C3621F48991999168945591543639F4DD
+:100F900046EF7EF077FF0DC08FEF9FEF0AC0553709
+:100FA0004AE039F0583540E121F0523642E009F08C
+:100FB0000895FF93EF937DDFEF91FF91B7CFFF93FC
+:100FC000EF93FC0181918030B9F360DFFBCFFF9399
+:100FD000EF9368DFF1CFDF93CF93CDB7DEB72596E0
+:100FE000A3DFCF91DF91089561110BC0FC018281D5
+:100FF000882321F085EE0E946D1603C085EE0E94C5
+:10100000351780E090E0089508956091BC017091DB
+:10101000BD018091BE019091BF010E94FB205698B6
+:101020005E9825982D9826982E9827982F9881308D
+:1010300019F0823021F00895259A2D9A0895269A64
+:101040002E9A089585E098E0892B11F00E940508FA
+:1010500080E090E0089556985E9825982D982698FF
+:101060002E9827982F988FEF90E090938900809387
+:10107000880090938B0080938A0090938D008093DA
+:101080008C00259A2D9A2FEF80E792E02150804026
+:101090009040E1F700C00000269A2E9A2FEF80E7DB
+:1010A00092E0215080409040E1F700C00000279A74
+:1010B0002F9A2FEF80E792E0215080409040E1F797
+:1010C00000C0000025982D982FEF80E792E0215076
+:1010D00080409040E1F700C0000026982E982FEF46
+:1010E00080E792E0215080409040E1F700C000008E
+:1010F00027982F9856985E9825982D9826982E9880
+:1011000027982F98089589EA8093800089E080933A
+:10111000810024982C983F988AB18F748AB96E9870
+:10112000479A8BB1806B8BB9769A0E942B0884E02A
+:1011300098E0892B11F00E94040880E090E0089567
+:1011400080E28093000180913C0181110EC00E94D9
+:10115000EF0881E080933C012FEF83ED90E3215075
+:1011600080409040E1F700C0000080E40E94F50854
+:101170008093000181112EC00E941F0980930001FD
+:10118000811128C00E941F0980930001811122C093
+:101190008FE30E941F098093000181111BC00E94F0
+:1011A000170980E40E94F50880930001811112C0A4
+:1011B0008CE00E941F098093000181110BC00E94E6
+:1011C0001F0980930001811105C08FE30E941F0950
+:1011D000809300010E9417098091000108951092E8
+:1011E000B9008AE08093B800089594EA9093BC0017
+:1011F0009091BC0097FFFCCF9091B900987F9830F8
+:1012000021F0903111F081E008958093BB0084E8D3
+:101210008093BC008091BC0087FFFCCF8091B90017
+:10122000887F883111F0803471F780E0089584E977
+:101230008093BC008091BC0084FDFCCF0895809316
+:10124000BB0084E88093BC008091BC0087FFFCCF8A
+:101250009091B900987F81E0983209F480E0089578
+:1012600084E88093BC008091BC0087FFFCCF809114
+:10127000BB00089580910001811115C080E40E9497
+:10128000F5088093000181110CC082E10E941F09C2
+:1012900080930001811105C08FEF0E941F09809388
+:1012A00000010E94170984B1807F84B985B1807FD5
+:1012B00085B98AB1837F8AB98BB1837F8BB93E9818
+:1012C000469808950E94A008809300010E943A0960
+:1012D00080B38C7080BB81B3836F81BBAEE3B1E020
+:1012E000ECE4F1E08EE08E0F11921D928E13FCCF94
+:1012F00083E898E0892B11F00C94830808959F925D
+:10130000AF92BF92CF92DF92EF92FF920F931F9313
+:10131000CF93DF93809100018823E1F080913D011C
+:101320008F5F80933D01811115C082E493E00E949C
+:1013300052070E94A00880930001882329F088E2C8
+:1013400093E00E94520706C084E193E00E94520796
+:101350000E942B080EE311E0C0E0D0E0BB24B39460
+:1013600082E0A82ECC24C394D12C25E0E22E23E0E9
+:10137000F22EC730D10500F580910001811164C0C3
+:1013800080E40E94F50880930001811112C082E17F
+:101390000E941F098093000181110BC0C6010C2E11
+:1013A00001C0880F0A94EAF780950E941F09809374
+:1013B00000010E94170948C0CA30A1F028F4C830C3
+:1013C00059F0C93061F005C0CC3089F070F0CD30F3
+:1013D00089F0209A289810C0219A29980DC0229A45
+:1013E0002A980AC0239A2B9807C0529A01C0539A90
+:1013F0005B9802C03E9A469890EA9A95F1F79FB1A1
+:10140000799902C082E001C080E091709B25982B01
+:101410007C9902C084E001C080E0892B7D9902C0E4
+:1014200038E001C030E0832B7E9902C020E101C08A
+:1014300020E0822B9FB19095991F9927991F929533
+:10144000990F907E892B10C080910001811174C08A
+:1014500080E40E94F50880930001882309F459C0B4
+:10146000912C0E941709892DF8019081981739F164
+:10147000808380910101882301F18091D70180FF51
+:1014800004C08AE093E00E9452078091D70180FF58
+:101490000CC0809101011F928F93FF92EF920E94E6
+:1014A000EB070F900F900F900F908091D70180FF66
+:1014B00004C083E093E00E945207A09201010E94C1
+:1014C0003A0921960F5F1F4FCE30D10509F051CF59
+:1014D000809101018823B1F081508093010188231C
+:1014E00039F08FE99FE00197F1F700C000000AC0D2
+:1014F000ACE4B1E0EEE3F1E0CF01825F91919D9326
+:101500008E13FCCF82E298E0892BC1F00E94220862
+:1015100015C083E10E941F09809300018111A0CFB3
+:1015200081E40E94F50880930001811199CF0E9407
+:101530003009982E909495CF80E096CF81E0DF918E
+:10154000CF911F910F91FF90EF90DF90CF90BF90C0
+:10155000AF909F900895E82FF0E0E45BFE4F80810C
+:101560000895CF92DF92EF92FF920F931F93CF9344
+:10157000DF938CEE92E00E9452078CE4E82E81E02B
+:10158000F82EC0E0D0E097EEC92E92E0D92E0EEDF5
+:1015900012E0DF93CF93DF92CF920E94EB0784EEAD
+:1015A00092E00E945207F70181917F0190E00E9432
+:1015B00061219F938F931F930F930E94EB078CEDF4
+:1015C00092E00E94520721968DB79EB708960FB6FB
+:1015D000F8949EBF0FBE8DBFCE30D105D1F6DF91FE
+:1015E000CF911F910F91FF90EF90DF90CF900895D2
+:1015F0008B3B910578F4883A910540F5853A910541
+:10160000D0F48430910508F0B1C08130910509F41F
+:10161000ADC06BC0803E910508F467C0883E91055F
+:1016200008F4A4C09C01205F31092031310508F085
+:101630005CC090650895853A910509F459C0863AD1
+:10164000910509F058C082E890E40895883A910520
+:1016500009F454C0893A910509F453C08A3A9105B6
+:1016600009F452C08B3A910509F451C08C3A9105A6
+:1016700009F450C08D3A910509F44FC0803B9105A3
+:1016800009F44EC08E3A910509F44DC08F3A910588
+:1016900009F44CC0813B910509F44BC0823B910594
+:1016A00009F44AC0833B910509F449C0843B910584
+:1016B00009F448C0853B910509F447C0863B910574
+:1016C00009F446C0873B910509F445C0883B910564
+:1016D00009F444C0893B910509F443C08A3B910554
+:1016E00009F442C080E094E4089580E090E0089519
+:1016F00081E890E4089583E890E4089582EE94E40C
+:10170000089589EE94E408958AEE94E4089585EBB3
+:1017100094E4089586EB94E4089587EB94E40895A7
+:101720008CEC94E408958DEC94E4089583E895E4BA
+:1017300008958AE895E4089582E995E4089584E996
+:1017400095E4089581E296E4089583E296E408958D
+:1017500084E296E4089585E296E4089586E296E4AC
+:10176000089587E296E408958AE296E4089508953C
+:1017700096E0799FF001112494E5899FE00DF11D19
+:101780001124E60FF11DEE0FFF1FEC51FF4F859165
+:1017900094910895880F991FFC01E05AF0408591BB
+:1017A00094910895880F991FFC01E052FF4F859195
+:1017B0009491089526E0729FF001112444E5849FDE
+:1017C000E00DF11D1124E60FF11DEE0FFF1FEC518E
+:1017D000FF4F859194919C013A9521154FE1340773
+:1017E00008F41EC13F512115304120F49F700E9422
+:1017F000D20B08959C0130532115304118F49927DC
+:10180000906C0895811520E5920769F40E94BB1A37
+:101810004FEF84E39CE0415080409040E1F700C0EE
+:1018200000000C941D22813020E5920751F48CE5D4
+:1018300093E00E9452078091D70181608093D70185
+:1018400008959C0130552115304108F051C0292FD1
+:1018500033272F70332721303105D9F4AC01437081
+:10186000552702C0220F331F4A95E2F73C68AC01AE
+:1018700064E0440F551F6A95E1F744275370242B09
+:10188000352B73E0880F991F7A95E1F780769927B9
+:101890001DC02230310529F4982F8827816F906A66
+:1018A000089523303105A9F4AC014370552721E098
+:1018B00030E002C0220F331F4A95E2F73C6843E054
+:1018C000880F991F4A95E1F7807E9770822B932BA2
+:1018D000089524303105E1F4AC014370552721E02F
+:1018E00030E002C0220F331F4A95E2F73A68E7CF93
+:1018F0009C0130572115304118F49F709062089573
+:101900009C0130582115304118F49F70906A089559
+:10191000803E9105E0F4803C910558F581339105B6
+:1019200009F46FC048F48932910509F463C08A3222
+:10193000910509F46DC072C089339105E9F08238D0
+:101940009105D1F08533910509F44DC067C0833E00
+:10195000910581F138F4803E9105B9F0823E910500
+:10196000D9F05CC0863E910561F1873E9105A1F1F9
+:1019700055C00E94CA0B08952091EA0120FD02C0C3
+:1019800021FF4CC080EE90E049C08091EA0180FFC9
+:10199000F9CF89E390E042C08091EA0182FF0EC056
+:1019A0008091EA0184FF03C080E090E037C083EEBD
+:1019B00090E034C08091EA0182FFF2CF82EE90E0A5
+:1019C0002DC08091EA0183FF0BC08091EA0184FD64
+:1019D000EBCF87EE90E022C08091EA0183FFF5CF44
+:1019E00086EE90E01BC08091EA0185FF07C089E286
+:1019F00090E014C08091EA0185FFF9CF85E390E083
+:101A00000DC08091EA0186FF07C08AE290E006C01F
+:101A10008091EA0186FFF9CF81E390E00E94F80A05
+:101A20000895089580916D0108959FB7F8941092DC
+:101A30005C019FBF9091F001943009F057C09091E4
+:101A4000E9009F703091EC00232F217030FD20E8D9
+:101A5000922B24E02093E9002091EB0020FF43C06B
+:101A60002091EE0027FF3FC020915A01222321F050
+:101A70002091E80025FF37C010925A0126E03091EE
+:101A8000E80035FD15C03091F001343061F530913A
+:101A9000EB0035FD28C0215021F481E080935A01EC
+:101AA00022C0EFE9FFE03197F1F700C00000E7CF77
+:101AB0008093F1008091E80085FD0AC08091E800E4
+:101AC00080FFFCCF8091E8008E778093E80006C00D
+:101AD0008FB7F89421E020935C018FBF9F709093A3
+:101AE000E90080E008959F709093E9008FEF0895DA
+:101AF000CF93DF9300D01F92CDB7DEB79C018091CA
+:101B0000F001843019F593E099833B832A83909305
+:101B1000E9008FEF9091E800815095FD06C095EDAA
+:101B20009A95F1F700008111F5CF8091E80085FFCB
+:101B30000DC040E050E063E070E0CE0101960E94ED
+:101B400048108091E8008E778093E8000F900F9006
+:101B50000F90DF91CF910895CF93DF9300D01F9224
+:101B6000CDB7DEB72091F001243021F522E02983A2
+:101B70009B838A8383E08093E9008FEF9091E80054
+:101B8000815095FD06C095ED9A95F1F70000811101
+:101B9000F5CF8091E80085FF0DC040E050E063E0A4
+:101BA00070E0CE0101960E9448108091E8008E7787
+:101BB0008093E8000F900F900F90DF91CF910895E0
+:101BC0002091F0012430F1F422E02093E9002FEF7E
+:101BD0003091E800215035FD06C035ED3A95F1F71A
+:101BE00000002111F5CF2091E80025FF0BC040E057
+:101BF00050E065E070E00E9448108091E8008E7728
+:101C00008093E8000895CF93DF932091F001243072
+:101C100009F048C0EC0180910C018823E1F080912B
+:101C20000D018823C1F085E08093E9008FEF90914A
+:101C3000E800815095FD06C095E19A95F1F7000006
+:101C40008111F5CF8091E80085FF2CC040E050E085
+:101C500060E170E017C081E08093E9008FEF909120
+:101C6000E800815095FD06C095ED9A95F1F70000CA
+:101C70008111F5CF8091E80085FF14C040E050E06D
+:101C800068E070E0CE010E9448108091E8008E77F5
+:101C90008093E80080E1FE01ADE5B1E001900D9296
+:101CA0008A95E1F7DF91CF91089583E993E00E944F
+:101CB00052078091EF01811109C00E94DD110E943D
+:101CC0003A128091E20084608093E20008958FE8E8
+:101CD00093E00E9452071092EF0108958BE893E081
+:101CE0000C94520787E893E00E9452070C94ED2B66
+:101CF00083E893E00E9452070E94B7210E94F32BD1
+:101D00000E94DF140C94110D20915B012F5F822F34
+:101D100062E30E94612D992319F020935B010895DD
+:101D200010925B0180915C01882371F18091F00138
+:101D3000843041F58091E9008F702091EC00922F62
+:101D4000917020FD90E8892B94E09093E9009091A8
+:101D5000EB0090FF14C09091EE0097FF10C090919F
+:101D6000E80095FF03C01092F100F9CF9091E800D0
+:101D700090FF05C09091E8009E779093E8008F70E7
+:101D80008093E90010925C01089542E061EC81E0EB
+:101D90000E94571142E061EC82E00E94571142E03C
+:101DA00061EC83E00E94571142E261EC84E00E9402
+:101DB000571142E161EC85E00C9457118091F201DA
+:101DC000833009F455C030F4813071F0823009F469
+:101DD0008EC008958A3009F47AC08B3009F460C04F
+:101DE000893009F09CC020C08091F101813A09F04E
+:101DF00096C08091E800877F8093E8008091F5018C
+:101E00009091F601892B21F460E18DE591E003C00A
+:101E100060E080E090E070E00E9493108091E80024
+:101E20008B778093E80008958091F101813209F069
+:101E300076C08091F5019091F601009719F0049712
+:101E400009F06DC08091E800877F8093E800809161
+:101E5000E80082FD05C08091F0018111F8CF5FC0DC
+:101E60008091F10080936D018091E8008B7753C0E1
+:101E70008091F101813A09F052C08091F501909171
+:101E8000F601892B09F04BC08091E800877F809391
+:101E9000E8008091E80080FFFCCF80910C0136C003
+:101EA0008091F1018132D9F58091F5019091F6018F
+:101EB000892BA9F58091E800877F8093E8000E9434
+:101EC0008C118091F30180930C010C94BB1A8091CA
+:101ED000F101813221F58091E800877F8093E8004D
+:101EE0000E948C118091F40180936E01089580917D
+:101EF000F101813AA1F48091E800877F8093E800A6
+:101F00008091E80080FFFCCF80916E018093F1000A
+:101F10008091E8008E778093E8000C948C110895EE
+:101F200084B7877F84BF88E10FB6F8948093600000
+:101F3000109260000FBE90E080E80FB6F894809396
+:101F40006100909361000FBE0E946C150E94DD112C
+:101F50000E943A128091E20084608093E20085E161
+:101F60009DE00E94F62078940E94BF140E946E1596
+:101F700082E091E00E94DA140E94DB2B82E793E07A
+:101F80000E9452078091F001853089F48EE693E03B
+:101F90000E9452070E947B218091EE01882391F3D9
+:101FA0000E94A321882371F30E943210EBCF0E947C
+:101FB0009C15E8CF292F332723303105C9F064F46D
+:101FC0002130310581F02230310509F043C08DE820
+:101FD00090E02BEC33E042C021323105F1F02232A7
+:101FE000310541F137C082E190E028E534E036C0A8
+:101FF00099278130910541F08230910541F0892B7C
+:1020000049F5E7ECF3E005C0EFEAF3E002C0E7E9E9
+:10201000F3E0849190E09F0121C06530D8F4E62F71
+:10202000F0E0EE0FFF1FEB5DFE4F2081318189E074
+:1020300090E014C0653070F470E0FB01EE0FFF1FFC
+:10204000E55EFE4F20813181FB01EA5EFE4F80811B
+:1020500090E004C080E090E020E030E0FA013183BD
+:102060002083089580E189BD82E189BD09B400FE25
+:10207000FDCF8091D8008F7D8093D8008091E000C3
+:1020800082608093E0008091E00081FDFCCF0895A4
+:10209000CF92DF92EF92FF920F931F93CF93DF9334
+:1020A000EC018B016A010E94AB11811133C0C11494
+:1020B000D10439F0F60180819181081B190BC80FFA
+:1020C000D91FE12CF12C0115110519F18091E800BF
+:1020D00085FD16C08091E8008E778093E800C114DA
+:1020E000D10449F0F60180819181E80EF91EF18258
+:1020F000E08285E00FC00E94AB11882321F30AC063
+:1021000089918093F10001501109FFEFEF1AFF0A46
+:10211000DACF80E0DF91CF911F910F91FF90EF9088
+:10212000DF90CF9008952091F7013091F8012617A4
+:10213000370748F06115710539F42091E8002E77D2
+:102140002093E80001C0B90140E061157105A9F1D3
+:102150002091F001222309F443C0253009F442C044
+:102160002091E80023FD40C02091E80022FD32C00C
+:102170002091E80020FFE9CF4091F3002091F20088
+:1021800030E0342BFC01CF016115710559F0283086
+:10219000310540F481918093F100615071092F5F06
+:1021A0003F4FF1CF41E02830310509F040E0209168
+:1021B000E8002E772093E800C8CF4111C9CF0AC0AC
+:1021C0008091F001882361F0853061F08091E80012
+:1021D00083FD0AC08091E80082FFF2CF80E008957D
+:1021E00082E0089583E0089581E008952091F70149
+:1021F0003091F8012617370748F06115710539F459
+:102200002091E8002E772093E80001C0B901FC017D
+:1022100020E06115710591F18091F001882309F4A6
+:1022200040C0853009F43FC08091E80083FD3DC087
+:102230008091E80082FD2FC08091E80080FFE9CF07
+:102240002091F3008091F20090E0922B61157105CE
+:1022500059F08830910540F424912093F100319693
+:10226000615071090196F2CF21E0089709F020E052
+:102270008091E8008E778093E800CBCF2111CCCFFE
+:102280000AC08091F001882361F0853061F080916F
+:10229000E80083FD0AC08091E80082FFF2CF80E071
+:1022A000089582E0089583E0089581E00895982FCD
+:1022B000973058F59093E900981739F07091EC0039
+:1022C0002091ED005091F00003C0242F762F50E0B4
+:1022D00021FF19C03091EB003E7F3093EB0030912D
+:1022E000ED003D7F3093ED003091EB003160309395
+:1022F000EB007093EC002093ED005093F0002091E0
+:10230000EE0027FF07C09F5FD3CF8F708093E90057
+:1023100081E0089580E008958091F10187FF11C068
+:102320008091E80082FD05C08091F0018111F8CF15
+:1023300011C08091E8008B770BC08091F001882359
+:1023400049F08091E80080FFF8CF8091E8008E7717
+:102350008093E80008952091E4003091E50095E62F
+:102360004091EC00842F817040FF22C08091E800F2
+:1023700080FD1CC08091F001882391F0853091F0A0
+:102380008091EB0085FD10C04091E4005091E50084
+:102390004217530729F39A01915011F784E00895E9
+:1023A00082E0089583E0089581E0089580E0089533
+:1023B0004091E80042FFDECF08950E944B120E9438
+:1023C0005312E0EEF0E0808181608083E8EDF0E080
+:1023D00080818F77808319BCA7EDB0E08C918E7FD0
+:1023E0008C9380818F7E80831092EF0108950F93EC
+:1023F0001F93CF93DF930E944B120E945312C8ED9C
+:10240000D0E088818F7788838881806888838881FD
+:102410008F7D888319BC1092F0011092EC0110920C
+:10242000EE011092ED0100EE10E0F80180818B7F4B
+:10243000808388818160888342E060E080E00E9440
+:102440005711E1EEF0E080818E7F8083E2EEF0E0D4
+:10245000808181608083808188608083F8018081B1
+:102460008E7F8083888180618883DF91CF911F91E7
+:102470000F910895E8EDF0E080818F7E8083E7ED95
+:10248000F0E080818160808384E082BF81E080937E
+:10249000EF010C94F711E8EDF0E080818E7F8083EE
+:1024A0001092E20008951092DA001092E10008956F
+:1024B0001F920F920FB60F9211242F933F934F93B9
+:1024C0005F936F937F938F939F93AF93BF93EF939C
+:1024D000FF938091E10082FF0BC08091E20082FFB8
+:1024E00007C08091E1008B7F8093E1000E94840E01
+:1024F0008091DA0080FF1FC08091D80080FF1BC050
+:102500008091DA008E7F8093DA008091D90080FF7D
+:102510000DC080E189BD82E189BD09B400FEFDCF17
+:1025200081E08093F0010E94550E05C019BC109205
+:10253000F0010E94670E8091E10080FF19C0809138
+:10254000E20080FF15C08091E2008E7F8093E20060
+:102550008091E20080618093E2008091D8008062E7
+:102560008093D80019BC85E08093F0010E94720E20
+:102570008091E10084FF30C08091E20084FF2CC094
+:1025800080E189BD82E189BD09B400FEFDCF809163
+:10259000D8008F7D8093D8008091E1008F7E80935A
+:1025A000E1008091E2008F7E8093E2008091E20062
+:1025B00081608093E2008091EC01882311F084E037
+:1025C00007C08091E30087FD02C081E001C083E085
+:1025D0008093F0010E94780E8091E10083FF29C072