From c63c615ff87f194768a9e4af298ed62738306fe4 Mon Sep 17 00:00:00 2001 From: Josh McCall Date: Wed, 16 Dec 2015 04:12:57 -0600 Subject: [PATCH 01/64] add left click and vim keys --- keyboard/ergodox_ez/keymaps/keymap_default.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/keyboard/ergodox_ez/keymaps/keymap_default.c b/keyboard/ergodox_ez/keymaps/keymap_default.c index 53b8f2ea2b..5d47a2961f 100644 --- a/keyboard/ergodox_ez/keymaps/keymap_default.c +++ b/keyboard/ergodox_ez/keymaps/keymap_default.c @@ -120,14 +120,14 @@ KEYMAP( 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_BTN3, KC_BTN2, + KC_TRNS, KC_TRNS, KC_BTN1, KC_BTN3, 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_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, 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, From b61ea5dfaf541dcef695b0c3fc4e4cbfd742a98f Mon Sep 17 00:00:00 2001 From: dragon788 Date: Wed, 23 Dec 2015 22:05:59 -0600 Subject: [PATCH 02/64] Updated keymap ascii art and made thumb cluster more standard ErgoDox/Kinesis-like --- keyboard/ergodox_ez/keymaps/keymap_default.c | 40 ++++++++++---------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/keyboard/ergodox_ez/keymaps/keymap_default.c b/keyboard/ergodox_ez/keymaps/keymap_default.c index 5d47a2961f..9beadf12f3 100644 --- a/keyboard/ergodox_ez/keymaps/keymap_default.c +++ b/keyboard/ergodox_ez/keymaps/keymap_default.c @@ -11,36 +11,36 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Keymap 0: Basic layer * * ,--------------------------------------------------. ,--------------------------------------------------. - * | = | 1 | 2 | 3 | 4 | 5 | LEFT | | RIGHT| 6 | 7 | 8 | 9 | 0 | - | + * | = | 1 | 2 | 3 | 4 | 5 | LGui | | RIGHT| 6 | 7 | 8 | 9 | 0 | - | * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| - * | Del | Q | W | E | R | T | L1 | | L1 | Y | U | I | O | P | \ | + * | Tab | Q | W | E | R | T | L1 | | L1 | Y | U | I | O | P | \ | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | BkSp | A | S | D | F | G |------| |------| H | J | K | L |; / L2| ' | + * | Esc | A | S | D | F | G |------| |------| H | J | K | L |; / L2| ' | * |--------+------+------+------+------+------| Hyper| | Meh |------+------+------+------+------+--------| * | LShift |Z/Ctrl| X | C | V | B | | | | N | M | , | . |//Ctrl| RShift | * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' * |Grv/L1| '" |AltShf| Left | Right| | Up | Down | [ | ] | ~L1 | * `----------------------------------' `----------------------------------' * ,-------------. ,-------------. - * | App | LGui | | Alt |Ctrl/Esc| + * | App | Home | | Alt |Ctrl/Esc| * ,------|------|------| |------+--------+------. - * | | | Home | | PgUp | | | - * | Space|Backsp|------| |------| Tab |Enter | - * | |ace | End | | PgDn | | | + * | | | End | | PgUp | | | + * |Backsp|Delete|------| |------| Enter |Space | + * | ace | | LAlt | | PgDn | | | * `--------------------' `----------------------' */ // If it accepts an argument (i.e, is a function), it doesn't need KC_. // Otherwise, it needs KC_* [BASE] = KEYMAP( // layer 0 : default // left hand - KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_LEFT, - KC_DELT, KC_Q, KC_W, KC_E, KC_R, KC_T, TG(1), - KC_BSPC, KC_A, KC_S, KC_D, KC_F, KC_G, + KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_LGUI, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, TG(1), + KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_LSFT, CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, ALL_T(KC_NO), LT(SYMB,KC_GRV),KC_QUOT, LALT(KC_LSFT), KC_LEFT,KC_RGHT, - ALT_T(KC_APP), KC_LGUI, - KC_HOME, - KC_SPC,KC_BSPC,KC_END, + ALT_T(KC_APP), KC_HOME, + KC_END, + KC_BSPC,KC_DELT,KC_LALT, // right hand KC_RGHT, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, TG(1), KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, @@ -49,7 +49,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_UP, KC_DOWN,KC_LBRC,KC_RBRC, KC_FN1, KC_LALT, CTL_T(KC_ESC), KC_PGUP, - KC_PGDN,KC_TAB, KC_ENT + KC_PGDN,KC_ENT, KC_SPC ), /* Keymap 1: Symbol Layer * @@ -98,9 +98,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * ,--------------------------------------------------. ,--------------------------------------------------. * | | | | | | | | | | | | | | | | * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| - * | | | | MsUp | | | | | | | | | | | | + * | | | | | | | | | | | | | | | | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | | |MsLeft|MsDown|MsRght| |------| |------| | | | | | Play | + * | | | | | | |------| |------|MsLeft|MsDown| MsUp |MsRght| | Play | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| * | | | | | | | | | | | | Prev | Next | | | * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' @@ -109,8 +109,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * ,-------------. ,-------------. * | | | | | | * ,------|------|------| |------+------+------. - * | | | | | | |Brwser| - * | | |------| |------| |Back | + * | | | | | |Brwser|Brwser| + * | Lclk | Rclk |------| |------|Fwd |Back | * | | | | | | | | * `--------------------' `--------------------' */ @@ -123,7 +123,7 @@ KEYMAP( KC_TRNS, KC_TRNS, KC_BTN1, KC_BTN3, KC_BTN2, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, + KC_BTN1, KC_BTN2, 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, @@ -132,7 +132,7 @@ KEYMAP( KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_WBAK + KC_TRNS, KC_WBAK, KC_WFWD ), }; From 381ca294fed572fb97d063d198f99d9c22804dba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stephan=20Bo=CC=88sebeck?= Date: Fri, 25 Dec 2015 00:00:30 +0100 Subject: [PATCH 03/64] minor fixes, added backtick to left thumbblock --- keyboard/ergodox_ez/keymaps/keymap_osx_de.c | 8 +- keyboard/ergodox_ez/keymaps/keymap_osx_de.hex | 2442 ++++++++--------- 2 files changed, 1225 insertions(+), 1225 deletions(-) diff --git a/keyboard/ergodox_ez/keymaps/keymap_osx_de.c b/keyboard/ergodox_ez/keymaps/keymap_osx_de.c index 0a0ae75fcb..b1d773625f 100644 --- a/keyboard/ergodox_ez/keymaps/keymap_osx_de.c +++ b/keyboard/ergodox_ez/keymaps/keymap_osx_de.c @@ -28,8 +28,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' * | Date: Wed, 30 Dec 2015 23:03:33 -0600 Subject: [PATCH 04/64] Moving everything around, tap delays driving me nuts --- keyboard/ergodox_ez/keymaps/keymap_default.c | 54 ++++++++++---------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/keyboard/ergodox_ez/keymaps/keymap_default.c b/keyboard/ergodox_ez/keymaps/keymap_default.c index b2a318b987..d8b3f8c3d9 100644 --- a/keyboard/ergodox_ez/keymaps/keymap_default.c +++ b/keyboard/ergodox_ez/keymaps/keymap_default.c @@ -10,22 +10,22 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Keymap 0: Basic layer * * ,--------------------------------------------------. ,--------------------------------------------------. - * | = | 1 | 2 | 3 | 4 | 5 | LGui | | RIGHT| 6 | 7 | 8 | 9 | 0 | - | + * | = | 1 | 2 | 3 | 4 | 5 | LGui | | Esc | 6 | 7 | 8 | 9 | 0 | - | * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| * | Tab | Q | W | E | R | T | L1 | | L1 | Y | U | I | O | P | \ | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | Esc | A | S | D | F | G |------| |------| H | J | K | L |; / L2| ' | + * | Esc | A | S | D | F | G |------| |------| H | J | K | L | ; | '"/Ctrl| * |--------+------+------+------+------+------| Hyper| | Meh |------+------+------+------+------+--------| - * | LShift |Z/Ctrl| X | C | V | B | | | | N | M | , | . |//Ctrl| RShift | + * | LShift | Z | X | C | V | B | | | | N | M | , | . | / | RShift | * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - * |Grv/L1| '" |AltShf| Left | Right| | Up | Down | [ | ] | ~L1 | + * | ~L1 | Grv | '" | Left |Rgt/L2| | Up/L2| Down | [ | ] | ~L1 | * `----------------------------------' `----------------------------------' * ,-------------. ,-------------. - * | App | Home | | Alt |Ctrl/Esc| + * | App | Home | | PgUp |Ctrl/Esc| * ,------|------|------| |------+--------+------. - * | | | End | | PgUp | | | + * | | | End | | PgDn | | | * |Backsp|Delete|------| |------| Enter |Space | - * | ace | | LAlt | | PgDn | | | + * | ace | | LAlt | |TabCtl| | | * `--------------------' `----------------------' */ // If it accepts an argument (i.e, is a function), it doesn't need KC_. @@ -33,22 +33,22 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [BASE] = KEYMAP( // layer 0 : default // left hand KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_LGUI, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, TG(1), - KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, - KC_LSFT, CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, ALL_T(KC_NO), - LT(SYMB,KC_GRV),KC_QUOT, LALT(KC_LSFT), KC_LEFT,KC_RGHT, - ALT_T(KC_APP), KC_HOME, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, TG(1), + CTL_T(KC_ESC), KC_A, KC_S, KC_D, KC_F, KC_G, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, ALL_T(KC_NO), + KC_FN1, KC_GRV, KC_QUOT,KC_LEFT, LT(MDIA, KC_RGHT), + KC_APP, KC_HOME, KC_END, - KC_BSPC,KC_DELT,KC_LALT, + KC_BSPC,KC_DELT,KC_LALT, // right hand - KC_RGHT, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, - TG(1), KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, - KC_H, KC_J, KC_K, KC_L, LT(MDIA, KC_SCLN),KC_QUOT, - MEH_T(KC_NO),KC_N, KC_M, KC_COMM,KC_DOT, CTL_T(KC_SLSH), KC_RSFT, - KC_UP, KC_DOWN,KC_LBRC,KC_RBRC, KC_FN1, - KC_LALT, CTL_T(KC_ESC), - KC_PGUP, - KC_PGDN,KC_ENT, KC_SPC + KC_ESC, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, + TG(2), KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, + KC_H, KC_J, KC_K, KC_L, KC_SCLN, CTL_T(KC_QUOT), + MEH_T(KC_NO),KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_RSFT, + LT(MDIA, KC_UP), KC_DOWN,KC_LBRC,KC_RBRC, KC_FN1, + KC_PGUP, CTL_T(KC_ESC), + KC_PGDN, + CTL_T(KC_TAB),KC_ENT, KC_SPC ), /* Keymap 1: Symbol Layer * @@ -97,9 +97,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * ,--------------------------------------------------. ,--------------------------------------------------. * | | | | | | | | | | | | | | | | * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| - * | | | | | | | | | | | | | | | | + * | | | | Rclk | Lclk | | | | | | Lclk | Rclk | | | | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | | | | | | |------| |------|MsLeft|MsDown| MsUp |MsRght| | Play | + * | | |MsLeft| MsUp |MsDown|MsRght|------| |------|MsLeft|MsDown| MsUp |MsRght| | Play | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| * | | | | | | | | | | | | Prev | Next | | | * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' @@ -114,10 +114,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `--------------------' `--------------------' */ // MEDIA AND MOUSE -KEYMAP( +[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_BTN2, KC_BTN1, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_U, 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_BTN1, KC_BTN2, KC_TRNS, KC_TRNS, @@ -125,7 +125,7 @@ KEYMAP( KC_BTN1, KC_BTN2, 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_BTN1, KC_BTN2, KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, 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, From c760a273fb58932dad2a2b9da1794ffadfbc1c92 Mon Sep 17 00:00:00 2001 From: dragon788 Date: Wed, 30 Dec 2015 23:22:29 -0600 Subject: [PATCH 05/64] Added note about avr-libc also being required at least for arch --- tmk_core/doc/build.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tmk_core/doc/build.md b/tmk_core/doc/build.md index 20702e94c9..dffc699a3a 100644 --- a/tmk_core/doc/build.md +++ b/tmk_core/doc/build.md @@ -6,7 +6,7 @@ Download and Install -------------------- ### 1. Install Tools -1. **Toolchain** On Windows install [MHV AVR Tools][mhv] for AVR GCC compiler and [Cygwin][cygwin](or [MinGW][mingw]) for shell terminal. On Mac you can use [CrossPack][crosspack]. On Linux you can install AVR GCC with your favorite package manager. +1. **Toolchain** On Windows install [MHV AVR Tools][mhv] for AVR GCC compiler and [Cygwin][cygwin](or [MinGW][mingw]) for shell terminal. On Mac you can use [CrossPack][crosspack]. On Linux you can install AVR GCC (and avr-libc) with your favorite package manager. 2. **Programmer** On Windows install [Atmel FLIP][flip]. On Mac and Linux install [dfu-programmer][dfu-prog]. From d901511f76c1b19c587466ff2c6b382666aaa40d Mon Sep 17 00:00:00 2001 From: dragon788 Date: Wed, 30 Dec 2015 23:53:38 -0600 Subject: [PATCH 06/64] Fixed button conflicts on mouse/media layer --- keyboard/ergodox_ez/keymaps/keymap_default.c | 36 ++++++++++---------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/keyboard/ergodox_ez/keymaps/keymap_default.c b/keyboard/ergodox_ez/keymaps/keymap_default.c index d8b3f8c3d9..33439b0a3a 100644 --- a/keyboard/ergodox_ez/keymaps/keymap_default.c +++ b/keyboard/ergodox_ez/keymaps/keymap_default.c @@ -99,39 +99,39 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| * | | | | Rclk | Lclk | | | | | | Lclk | Rclk | | | | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | | |MsLeft| MsUp |MsDown|MsRght|------| |------|MsLeft|MsDown| MsUp |MsRght| | Play | + * | | |MsLeft| MsUp |MsDown|MsRght|------| |------|MsLeft|MsDown| MsUp |MsRght| | | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | | | | | | | | | | | | Prev | Next | | | + * | | | | | | | | | | | | | | | | * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - * | | | | Lclk | Rclk | |VolUp |VolDn | Mute | | | + * | | | | Lclk | Rclk | | | | | | | * `----------------------------------' `----------------------------------' * ,-------------. ,-------------. - * | | | | | | + * | | Prev | |VolUp | | * ,------|------|------| |------+------+------. - * | | | | | |Brwser|Brwser| + * | | | Play | | Mute |Brwser|Brwser| * | Lclk | Rclk |------| |------|Fwd |Back | - * | | | | | | | | + * | | | Next | |VolDn | | | * `--------------------' `--------------------' */ // MEDIA AND MOUSE -[MDIA] = KEYMAP( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, +KEYMAP( + RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN2, KC_BTN1, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_U, 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_BTN1, KC_BTN2, - KC_TRNS, KC_TRNS, - KC_TRNS, - KC_BTN1, KC_BTN2, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_MPRV, + KC_MPLY, + KC_BTN1, KC_BTN2, KC_MNXT, // right hand 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_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, 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_WBAK, KC_WFWD + KC_MS_L, KC_MS_D, KC_MS_U, 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_TRNS, KC_TRNS, KC_TRNS, + KC_VOLU, KC_TRNS, + KC_MUTE, + KC_VOLD, KC_WBAK, KC_WFWD ), }; From 4c3ecbc0b797950acf328e6c91c87c91ecc26971 Mon Sep 17 00:00:00 2001 From: dragon788 Date: Sat, 2 Jan 2016 15:05:33 -0600 Subject: [PATCH 07/64] Added plover layer --- keyboard/ergodox_ez/keymaps/keymap_default.c | 53 ++++++++++++++++++-- 1 file changed, 49 insertions(+), 4 deletions(-) diff --git a/keyboard/ergodox_ez/keymaps/keymap_default.c b/keyboard/ergodox_ez/keymaps/keymap_default.c index 33439b0a3a..bb74a486ff 100644 --- a/keyboard/ergodox_ez/keymaps/keymap_default.c +++ b/keyboard/ergodox_ez/keymaps/keymap_default.c @@ -5,6 +5,7 @@ #define BASE 0 // default layer #define SYMB 1 // symbols #define MDIA 2 // media keys +#define PLVR 3 // Plover layer const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Keymap 0: Basic layer @@ -12,7 +13,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * ,--------------------------------------------------. ,--------------------------------------------------. * | = | 1 | 2 | 3 | 4 | 5 | LGui | | Esc | 6 | 7 | 8 | 9 | 0 | - | * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| - * | Tab | Q | W | E | R | T | L1 | | L1 | Y | U | I | O | P | \ | + * | Tab | Q | W | E | R | T | L1 | | L2 | Y | U | I | O | P | \ | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| * | Esc | A | S | D | F | G |------| |------| H | J | K | L | ; | '"/Ctrl| * |--------+------+------+------+------+------| Hyper| | Meh |------+------+------+------+------+--------| @@ -41,7 +42,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_END, KC_BSPC,KC_DELT,KC_LALT, // right hand - KC_ESC, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, + TG(3), KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, TG(2), KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, KC_H, KC_J, KC_K, KC_L, KC_SCLN, CTL_T(KC_QUOT), MEH_T(KC_NO),KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_RSFT, @@ -129,10 +130,54 @@ KEYMAP( KC_MS_L, KC_MS_D, KC_MS_U, 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_TRNS, KC_TRNS, KC_TRNS, - KC_VOLU, KC_TRNS, + KC_VOLU, KC_TRNS, KC_MUTE, - KC_VOLD, KC_WBAK, KC_WFWD + KC_VOLD, KC_WBAK, KC_WFWD ), + +/* Keymap 3: Media and mouse keys + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | | | | | | | | | | | | | | | | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | | 1 | 2 | 3 | 4 | 5 | | | | 6 | 7 | 8 | 9 | 0 | | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | q | w | e | r | t |------| |------| y | u | i | o | p | [ | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | a | s | d | f | g | | | | h | j | k | l | ; | ' | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * | | | | | | | | | | | | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | | | | | | + * ,------|------|------| |------+------+------. + * | | | | | | | | + * | c | v |------| |------| n | m | + * | | | | | | | | + * `--------------------' `--------------------' + */ + +[PLVR] = KEYMAP( // layout: layer 4: Steno for Plover + // left hand + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_1, KC_2, KC_3, KC_4, KC_5, KC_NO, + KC_NO, KC_Q, KC_W, KC_E, KC_R, KC_T, + KC_NO, KC_A, KC_S, KC_D, KC_F, KC_G, KC_NO, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_FN4, KC_NO, + KC_NO, + KC_C, KC_V, KC_NO, + // right hand + KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, + KC_NO, KC_6, KC_7, KC_8, KC_9, KC_0, KC_TRNS, + KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, + KC_NO, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, + KC_TRNS, KC_TRNS, KC_NO, KC_NO, KC_NO, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_NO, KC_N, KC_M +), + }; const uint16_t PROGMEM fn_actions[] = { From 45fec698d86198365d883c87b7216abfa44c20f7 Mon Sep 17 00:00:00 2001 From: dragon788 Date: Sat, 2 Jan 2016 15:12:00 -0600 Subject: [PATCH 08/64] Added proper link back to Plover layout source --- keyboard/ergodox_ez/keymaps/keymap_default.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/keyboard/ergodox_ez/keymaps/keymap_default.c b/keyboard/ergodox_ez/keymaps/keymap_default.c index bb74a486ff..c890a9dde1 100644 --- a/keyboard/ergodox_ez/keymaps/keymap_default.c +++ b/keyboard/ergodox_ez/keymaps/keymap_default.c @@ -157,7 +157,7 @@ KEYMAP( * `--------------------' `--------------------' */ -[PLVR] = KEYMAP( // layout: layer 4: Steno for Plover +[PLVR] = KEYMAP( // layout: layer 4: Steno for Plover from https://github.com/shayneholmes/tmk_keyboard/commit/11290f8489013018f778627db725160c745e75bd // left hand KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_1, KC_2, KC_3, KC_4, KC_5, KC_NO, From ae842a5a0fd5ed137f515638498ce5326f549ba9 Mon Sep 17 00:00:00 2001 From: dragon788 Date: Sat, 2 Jan 2016 18:46:31 -0600 Subject: [PATCH 09/64] Fixed Plover layer label and updated keymap --- keyboard/ergodox_ez/keymaps/keymap_default.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/keyboard/ergodox_ez/keymaps/keymap_default.c b/keyboard/ergodox_ez/keymaps/keymap_default.c index c890a9dde1..38796d05e4 100644 --- a/keyboard/ergodox_ez/keymaps/keymap_default.c +++ b/keyboard/ergodox_ez/keymaps/keymap_default.c @@ -11,11 +11,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Keymap 0: Basic layer * * ,--------------------------------------------------. ,--------------------------------------------------. - * | = | 1 | 2 | 3 | 4 | 5 | LGui | | Esc | 6 | 7 | 8 | 9 | 0 | - | + * | = | 1 | 2 | 3 | 4 | 5 | LGui | |Plover| 6 | 7 | 8 | 9 | 0 | - | * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| * | Tab | Q | W | E | R | T | L1 | | L2 | Y | U | I | O | P | \ | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | Esc | A | S | D | F | G |------| |------| H | J | K | L | ; | '"/Ctrl| + * |Esc/Ctrl| A | S | D | F | G |------| |------| H | J | K | L | ; | '"/Ctrl| * |--------+------+------+------+------+------| Hyper| | Meh |------+------+------+------+------+--------| * | LShift | Z | X | C | V | B | | | | N | M | , | . | / | RShift | * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' @@ -135,7 +135,7 @@ KEYMAP( KC_VOLD, KC_WBAK, KC_WFWD ), -/* Keymap 3: Media and mouse keys +/* Keymap 4: Steno for Plover from https://github.com/shayneholmes/tmk_keyboard/commit/11290f8489013018f778627db725160c745e75bd * * ,--------------------------------------------------. ,--------------------------------------------------. * | | | | | | | | | | | | | | | | @@ -157,7 +157,7 @@ KEYMAP( * `--------------------' `--------------------' */ -[PLVR] = KEYMAP( // layout: layer 4: Steno for Plover from https://github.com/shayneholmes/tmk_keyboard/commit/11290f8489013018f778627db725160c745e75bd +[PLVR] = KEYMAP( // layout: layer 4: Steno for Plover // left hand KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_1, KC_2, KC_3, KC_4, KC_5, KC_NO, From a07d2df99c74623ec3e5299a17bfaa621dfd7e2f Mon Sep 17 00:00:00 2001 From: dragon788 Date: Sat, 2 Jan 2016 21:16:45 -0600 Subject: [PATCH 10/64] Added calculator shortcut button to numpad/symbol layer --- keyboard/ergodox_ez/keymaps/keymap_default.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/keyboard/ergodox_ez/keymaps/keymap_default.c b/keyboard/ergodox_ez/keymaps/keymap_default.c index 38796d05e4..66d05a21b8 100644 --- a/keyboard/ergodox_ez/keymaps/keymap_default.c +++ b/keyboard/ergodox_ez/keymaps/keymap_default.c @@ -65,7 +65,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | | | | | | | | . | 0 | = | | * `----------------------------------' `----------------------------------' * ,-------------. ,-------------. - * | | | | | | + * | | | | | Calc | * ,------|------|------| |------+------+------. * | | | | | | | | * | | |------| |------| | | @@ -89,7 +89,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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_CALC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ), From ab7d6dca4106bae6876b46f06fe157478a62ecda Mon Sep 17 00:00:00 2001 From: dragon788 Date: Sun, 3 Jan 2016 22:21:30 -0600 Subject: [PATCH 11/64] Adding Vagrantfile for easier compile environment setup --- .gitignore | 1 + Vagrantfile | 45 +++++++++++++++++++++++++++++++++++++++++++++ avr_setup.sh | 23 +++++++++++++++++++++++ 3 files changed, 69 insertions(+) create mode 100644 Vagrantfile create mode 100644 avr_setup.sh diff --git a/.gitignore b/.gitignore index f3f46872a0..e6652999e7 100644 --- a/.gitignore +++ b/.gitignore @@ -11,3 +11,4 @@ tags *~ build/ *.bak +.vagrant/ diff --git a/Vagrantfile b/Vagrantfile new file mode 100644 index 0000000000..e1082a08d0 --- /dev/null +++ b/Vagrantfile @@ -0,0 +1,45 @@ +# -*- mode: ruby -*- +# vi: set ft=ruby : + +Vagrant.configure(2) do |config| + config.vm.box = "dragon788/arch-ala-elasticdog" + + # This section allows you to customize the Virtualbox VM + # settings, ie showing the GUI or upping the memory + # or cores if desired + config.vm.provider "virtualbox" do |vb| + # Hide the VirtualBox GUI when booting the machine + vb.gui = false + + # Customize the amount of memory on the VM: + vb.memory = "512" + end + + # This section allows you to customize the VMware VM + # settings, ie showing the GUI or upping the memory + # or cores if desired + config.vm.provider "vmware" do |vmw| + # Hide the VMware GUI when booting the machine + vmw.gui = false + + # Customize the amount of memory on the VM: + vmw.memory = "512" + end + + # This ensures the system always gets the latest updates when powered on + # If this causes issues you can run a 'vagrant destroy' and then + # comment out these three lines and run 'vagrant up' to get a working + # non-updated box and then attempt to troubleshoot after it has started + # + config.vm.provision "shell", run: "always", inline: <<-SHELL + sudo pacman -Syu --needed --noconfirm + SHELL + + # Allow user to speed up package installs using powerpill/wget tweaks + # Always run the pacman mirror update script if possible when vagrant comes up + # This will ensure that users never get stalled on a horribly slow mirror + + config.vm.provision "shell", path: "avr_setup.sh" + + config.vm.post_up_message = """Change directory to the keyboard you wish to program and modify your layout, then run 'make clean' and 'make' to compile the .eep and .hex files.""" +end diff --git a/avr_setup.sh b/avr_setup.sh new file mode 100644 index 0000000000..ff4153ba37 --- /dev/null +++ b/avr_setup.sh @@ -0,0 +1,23 @@ +#!/usr/bin/env bash +# This script will attempt to setup the Linux dependencies for compiling QMK/TMK + +# This could probably go much lower, but since we are including an Arch vagrant, +# making it the first match makes sense + +if [[ -n "$(type -P pacman )" ]]; then + # Arch linux and derivatives like Apricity + pacman -S --needed --noconfirm base-devel avr-gcc avr-binutils avr-libc dfu-utils + +elif [[ -n "$(type -P apt-get)" ]]; then + # Debian and derivatives + apt-get install -y build-essential gcc unzip wget zip gcc-avr binutils-avr avr-libc + +elif [[ -n "$(type -P yum)" ]]; then + # Fedora, CentOS or RHEL and derivatives + yum -y install gcc glibc-headers kernel-devel kernel-headers make perl git wget + +elif [[ -n "$(type -P zypper)" ]]; then + # openSUSE + zypper --non-interactive install git make gcc kernel-devel patch wget + +fi From ee424f86081c538fc74c3e9b50c7b1eb595b6e58 Mon Sep 17 00:00:00 2001 From: dragon788 Date: Tue, 5 Jan 2016 22:39:49 -0600 Subject: [PATCH 12/64] Adding update of vagrant VM every time it is booted --- Vagrantfile | 50 +++++++++++++++++++++++++++++++++++++------------- avr_setup.sh | 10 +++++++++- 2 files changed, 46 insertions(+), 14 deletions(-) diff --git a/Vagrantfile b/Vagrantfile index e1082a08d0..788e014def 100644 --- a/Vagrantfile +++ b/Vagrantfile @@ -2,8 +2,25 @@ # vi: set ft=ruby : Vagrant.configure(2) do |config| + # You can only have one config.vm.box uncommented at a time + + # Comment this and uncomment another if you don't want to use the minimal Arch box config.vm.box = "dragon788/arch-ala-elasticdog" + # VMware/Virtualbox 64 bit + # config.vm.box = "phusion/ubuntu-14.04-amd64" + # + # VMware/Virtualbox 64 bit + # config.vm.box = "puphpet/centos65-x64" + # + # VMware/Virtualbox 64 bit + # config.vm.box = "bento/opensuse-13.2-x86_64" + # + # Virtualbox only + # config.vm.box = "bento/opensuse-13.2-i386" + # config.vm.box = "" + # config.vm.box = "" + # This section allows you to customize the Virtualbox VM # settings, ie showing the GUI or upping the memory # or cores if desired @@ -21,25 +38,32 @@ Vagrant.configure(2) do |config| config.vm.provider "vmware" do |vmw| # Hide the VMware GUI when booting the machine vmw.gui = false - + # Customize the amount of memory on the VM: vmw.memory = "512" end - # This ensures the system always gets the latest updates when powered on + # This script ensures the required packages for AVR programming are installed + # It also ensures the system always gets the latest updates when powered on # If this causes issues you can run a 'vagrant destroy' and then - # comment out these three lines and run 'vagrant up' to get a working - # non-updated box and then attempt to troubleshoot after it has started - # - config.vm.provision "shell", run: "always", inline: <<-SHELL - sudo pacman -Syu --needed --noconfirm - SHELL + # add a # before ,args: and run 'vagrant up' to get a working + # non-updated box and then attempt to troubleshoot or open a Github issue - # Allow user to speed up package installs using powerpill/wget tweaks - # Always run the pacman mirror update script if possible when vagrant comes up - # This will ensure that users never get stalled on a horribly slow mirror + config.vm.provision "shell", run: "always", path: "avr_setup.sh", args: "-update" - config.vm.provision "shell", path: "avr_setup.sh" + config.vm.post_up_message = """ + Log into the VM using 'vagrant ssh' on OSX or from Git Bash (Win) + or 'vagrant ssh-config' and Putty or another SSH tool - config.vm.post_up_message = """Change directory to the keyboard you wish to program and modify your layout, then run 'make clean' and 'make' to compile the .eep and .hex files.""" + Change directory to the keyboard you wish to program + optionally and modify your layout, + then run 'make clean' + and then 'make' to compile the .eep and .hex files. + + Or you can copy and paste the line below. + + cd /vagrant; cd keyboard; cd ergodox_ez; make clean; make + + + """ end diff --git a/avr_setup.sh b/avr_setup.sh index ff4153ba37..cd7412d748 100644 --- a/avr_setup.sh +++ b/avr_setup.sh @@ -6,18 +6,26 @@ if [[ -n "$(type -P pacman )" ]]; then # Arch linux and derivatives like Apricity - pacman -S --needed --noconfirm base-devel avr-gcc avr-binutils avr-libc dfu-utils + # Future improvements: + # Allow user to speed up package installs using powerpill/wget tweaks + # Always run the pacman mirror update script if possible when vagrant comes up + # This will ensure that users never get stalled on a horribly slow mirror + pacman -Syyu --needed --noconfirm + pacman -S --needed --noconfirm base-devel avr-gcc avr-binutils avr-libc dfu-util elif [[ -n "$(type -P apt-get)" ]]; then # Debian and derivatives + apt-get update -y && apt-get upgrade -y apt-get install -y build-essential gcc unzip wget zip gcc-avr binutils-avr avr-libc elif [[ -n "$(type -P yum)" ]]; then # Fedora, CentOS or RHEL and derivatives + yum -y makecache && yum -y update yum -y install gcc glibc-headers kernel-devel kernel-headers make perl git wget elif [[ -n "$(type -P zypper)" ]]; then # openSUSE + zypper refresh --non-interactive && zypper update --non-interactive zypper --non-interactive install git make gcc kernel-devel patch wget fi From 25b4a98a75729738fed8ae034123c132445e70fa Mon Sep 17 00:00:00 2001 From: Aron Griffis Date: Sat, 9 Jan 2016 12:35:42 -0500 Subject: [PATCH 13/64] Refer to SYMB and MDIA in default ergodox_ez keymap. --- keyboard/ergodox_ez/keymaps/keymap_default.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/keyboard/ergodox_ez/keymaps/keymap_default.c b/keyboard/ergodox_ez/keymaps/keymap_default.c index 762e118b05..b2f0a051d5 100644 --- a/keyboard/ergodox_ez/keymaps/keymap_default.c +++ b/keyboard/ergodox_ez/keymaps/keymap_default.c @@ -33,7 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [BASE] = KEYMAP( // layer 0 : default // left hand KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_LEFT, - KC_DELT, KC_Q, KC_W, KC_E, KC_R, KC_T, TG(1), + KC_DELT, 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, CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, ALL_T(KC_NO), LT(SYMB,KC_GRV),KC_QUOT, LALT(KC_LSFT), KC_LEFT,KC_RGHT, @@ -42,7 +42,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_SPC,KC_BSPC,KC_END, // right hand KC_RGHT, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, - TG(1), KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, + TG(SYMB), KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, KC_H, KC_J, KC_K, KC_L, LT(MDIA, KC_SCLN),KC_QUOT, MEH_T(KC_NO),KC_N, KC_M, KC_COMM,KC_DOT, CTL_T(KC_SLSH), KC_RSFT, KC_UP, KC_DOWN,KC_LBRC,KC_RBRC, KC_FN1, @@ -114,7 +114,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `--------------------' `--------------------' */ // MEDIA AND MOUSE -KEYMAP( +[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, From 8607859c77ed9219875cbd26d56fd7b5565290c1 Mon Sep 17 00:00:00 2001 From: Aron Griffis Date: Sat, 9 Jan 2016 13:17:25 -0500 Subject: [PATCH 14/64] Add ergodox_ez keymap to match Kinesis Contoured. This keymap attempts to match the Kinesis Contoured (aka Advantage) default layout as closely as possible. See http://www.kinesis-ergo.com/wp-content/uploads/2013/06/advantage_layout_win.pdf Apart from the obvious mappings, this keymap also: * removes the dual-purpose momentary layer/normal keys: Z, /, and Grv; because the author--coming from a Kinesis keyboard--finds the delays and accidental modifiers to be more disconcerting than helpful. * puts Esc in the bottom left since there's no place for it in the top left to match the Kinesis. * changes the bottom-right key into an L2 toggle since there's otherwise no way to get to L2. * adds PrScr, ScrLk and Pause to the L1 keymap, down the left side, since they're present on the Kinesis but not available in the default ergodox_ez keymap. --- keyboard/ergodox_ez/keymaps/keymap_kinesis.c | 184 +++++++++++++++++++ 1 file changed, 184 insertions(+) create mode 100644 keyboard/ergodox_ez/keymaps/keymap_kinesis.c diff --git a/keyboard/ergodox_ez/keymaps/keymap_kinesis.c b/keyboard/ergodox_ez/keymaps/keymap_kinesis.c new file mode 100644 index 0000000000..20cb53241f --- /dev/null +++ b/keyboard/ergodox_ez/keymaps/keymap_kinesis.c @@ -0,0 +1,184 @@ +#include "ergodox_ez.h" +#include "debug.h" +#include "action_layer.h" + +#define BASE 0 // default layer +#define SYMB 1 // symbols +#define MDIA 2 // media keys + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +/* Keymap 0: Basic layer + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | = | 1 | 2 | 3 | 4 | 5 | LEFT | | RIGHT| 6 | 7 | 8 | 9 | 0 | - | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | Tab | Q | W | E | R | T | L1 | | L1 | Y | U | I | O | P | \ | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | Caps | A | S | D | F | G |------| |------| H | J | K | L | ; | ' | + * |--------+------+------+------+------+------| Hyper| | Meh |------+------+------+------+------+--------| + * | LShift | Z | X | C | V | B | | | | N | M | , | . | / | RShift | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * | Esc | Grv |Insert| Left | Right| | Up | Down | [ | ] | L2 | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | Ctrl | Alt | | LGui | Ctrl | + * ,------|------|------| |------+------+------. + * | | | Home | | PgUp | | | + * |Backsp| Del |------| |------| Enter| Space| + * |ace | | End | | PgDn | | | + * `--------------------' `--------------------' + */ +// If it accepts an argument (i.e, is a function), it doesn't need KC_. +// Otherwise, it needs KC_* +[BASE] = KEYMAP( // layer 0 : default + // left hand + KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_LEFT, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, TG(SYMB), + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, ALL_T(KC_NO), + KC_ESC, KC_GRV, KC_INS, KC_LEFT, KC_RGHT, + KC_LCTL,KC_LALT, + KC_HOME, + KC_BSPC,KC_DEL,KC_END, + // right hand + KC_RGHT, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, + 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, + MEH_T(KC_NO),KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_RSFT, + KC_UP, KC_DOWN,KC_LBRC,KC_RBRC, KC_FN2, + KC_LGUI, KC_RCTL, + KC_PGUP, + KC_PGDN, KC_ENT, KC_SPC + ), +/* Keymap 1: Symbol Layer + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | PrScr | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F11 | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | ScrLk | ! | @ | { | } | | | | | | Up | 7 | 8 | 9 | * | F12 | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | Pause | # | $ | ( | ) | ` |------| |------| Down | 4 | 5 | 6 | + | | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | % | ^ | [ | ] | ~ | | | | & | 1 | 2 | 3 | \ | | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * | | | | | | | | . | 0 | = | | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | | | | | | + * ,------|------|------| |------+------+------. + * | | | | | | | | + * | | |------| |------| | | + * | | | | | | | | + * `--------------------' `--------------------' + */ +// SYMBOLS +[SYMB] = KEYMAP( + // left hand + KC_PSCR,KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS, + KC_SLCK,KC_EXLM,KC_AT, KC_LCBR,KC_RCBR,KC_PIPE,KC_TRNS, + KC_PAUS,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; + } + +}; From 6ccf3d2da106e76af6283bd43b8c233c84512ad2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stephan=20Bo=CC=88sebeck?= Date: Sat, 9 Jan 2016 23:47:26 +0100 Subject: [PATCH 15/64] removed left space key in favor of a backspace --- keyboard/ergodox_ez/keymaps/keymap_osx_de.c | 6 +- keyboard/ergodox_ez/keymaps/keymap_osx_de.hex | 2438 +++++++++-------- 2 files changed, 1225 insertions(+), 1219 deletions(-) diff --git a/keyboard/ergodox_ez/keymaps/keymap_osx_de.c b/keyboard/ergodox_ez/keymaps/keymap_osx_de.c index b1d773625f..ded7c67923 100644 --- a/keyboard/ergodox_ez/keymaps/keymap_osx_de.c +++ b/keyboard/ergodox_ez/keymaps/keymap_osx_de.c @@ -32,8 +32,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | MDIA | Meh | | Hyper| NUM | * ,------|------|------| |------+--------+------. * | | | Home | | PgUp | | | - * | Space|Backsp|------| |------| Enter | Space| - * | |ace | End | | PgDn | | | + * | Back-| Del |------| |------| Enter | Space| + * | Space| | End | | PgDn | | | * `--------------------' `----------------------' */ // If it accepts an argument (i.e, is a function), it doesn't need KC_. @@ -47,7 +47,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { LT(SYMB,KC_GRV), DE_LESS, LALT(KC_LSFT), KC_LEFT,KC_RGHT, TG(2), MEH_T(LSFT(DE_ACUT)), KC_HOME, - KC_SPC,KC_BSPC,KC_END, + KC_BSPC,KC_DEL,KC_END, // right hand KC_RCTL, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_RGUI, KC_Y, KC_U, KC_I, KC_O, KC_P, DE_UE, diff --git a/keyboard/ergodox_ez/keymaps/keymap_osx_de.hex b/keyboard/ergodox_ez/keymaps/keymap_osx_de.hex index 42346dceef..fd2a022599 100644 --- a/keyboard/ergodox_ez/keymaps/keymap_osx_de.hex +++ b/keyboard/ergodox_ez/keymaps/keymap_osx_de.hex @@ -1,21 +1,21 @@ :100000000C94AC070C94F0070C94F0070C94F007D8 :100010000C94F0070C94F0070C94F0070C94F00784 -:100020000C94F0070C94F0070C94E6120C94B8139F +:100020000C94F0070C94F0070C9412130C94E41346 :100030000C94F0070C94F0070C94F0070C94F00764 -:100040000C94F0070C94902C0C94F0070C94F0078F -:100050000C94F0070C9488220C94F0070C94F00791 +:100040000C94F0070C94BC2C0C94F0070C94F00763 +:100050000C94F0070C94B4220C94F0070C94F00765 :100060000C94F0070C94F0070C94F0070C94F00734 :100070000C94F0070C94F0070C94F0070C94F00724 :100080000C94F0070C94F0070C94F0070C94F00714 :100090000C94F0070C94F0070C94F0070C94F00704 -:1000A0000C94F0070C94F0070C94F00725144714F7 -:1000B0003515471435158C14AF143515041517155F -:1000C0005E185E188D188D18D1180F19291B291B61 -:1000D0002819291B291A291AFD1A291B291B141B47 +:1000A0000C94F0070C94F0070C94F007511473149F +:1000B000611573146115B814DB14611530154315FF +:1000C0008A188A18B918B918FD183B19551B551B01 +:1000D0005419551B551A551A291B551B551B401BE6 :1000E0000000F0A1F0A329002B000354E1003581AA :1000F00000001E00140004001D7164004D001F006C -:100100001A0016001B00E1042A0020000800070066 -:10011000060050002C0021001500090019004F00B6 +:100100001A0016001B00E1044C0020000800070044 +:10011000060050002A0021001500090019004F00B8 :100120004A00220017000A00050000000254E00007 :10013000E3000000E20000002E77E400E70000008A :10014000E60000002E7F23001C000B0011000000C1 @@ -219,10 +219,10 @@ :100DA00020424F4F544D41474943204D4F555345E5 :100DB0004B45592045585452414B455920434F4EBD :100DC000534F4C4520434F4D4D414E44204E4B52C6 -:100DD0004F203531320A004255494C443A203337CE -:100DE00030653930322D6469727479202832333A93 -:100DF00033343A3037204465632032322032303188 -:100E000035290A005649443A203078464545442859 +:100DD0004F203531320A004255494C443A2064379D +:100DE00034333332632D6469727479202831343A94 +:100DF00033383A3536204A616E2020362032303181 +:100E000036290A005649443A203078464545442858 :100E10004572676F446F7820455A29205049443AFB :100E200020307831333037284572676F446F78202F :100E3000455A29205645523A203078303030310A10 @@ -249,9 +249,9 @@ :100F8000B04BB9F41092F9011092FA011092FB01E2 :100F90001092FC0114BE84B7877F84BF88E10FB62E :100FA000F89480936000109260000FBEE0E0FFE3D1 -:100FB000099511E0A0E0B1E0ECEBFCE502C0059082 +:100FB000099511E0A0E0B1E0E4E1FDE502C0059093 :100FC0000D92AA33B107D9F711E0AAE3B1E001C04D -:100FD0001D92A93FB107E1F70E941E100C945C2EF0 +:100FD0001D92A93FB107E1F70E944A100C94882E98 :100FE0000C940000FF93EF93E0913A01F0913B01E4 :100FF000309709F00995EF91FF910895FC018591D3 :10100000803011F0EFDFFBCF0895FF27E0E230E200 @@ -275,1215 +275,1221 @@ :10112000B9F360DFFBCFFF93EF9368DFF1CFDF937D :10113000CF93CDB7DEB72596A3DFCF91DF9108958A :1011400061110BC0FC018281882321F085EE0E9491 -:10115000FB1603C085EE0E94C31780E090E008955F +:10115000271703C085EE0E94EF1780E090E0089506 :1011600008956091BC017091BD018091BE01909184 -:10117000BF010E948B2156985E9825982D9826983D +:10117000BF010E94B72156985E9825982D98269811 :101180002E9827982F98823061F018F4813031F032 :101190000895833049F0843051F00895259A2D9AAE :1011A0000895269A2E9A0895279A2F9A0895259A97 :1011B0002D9A279A2F9A089581EB98E0892B11F0A8 -:1011C0000C94B108089556985E9825982D98269805 -:1011D0002E9827982F988FEF90E090938900809316 -:1011E000880090938B0080938A0090938D00809369 -:1011F0008C00569A5E9A259A2D9A269A2E9A279AAC -:101200002F9A2FE782E490E1215080409040E1F74F -:1012100000C0000056985E9825982D9826982E9824 -:1012200027982F98089589EA8093800089E0809319 -:10123000810024982C983F988AB18F748AB96E984F -:10124000479A8BB1806B8BB9769A0E94E30880EB4A -:1012500098E0892B11F00C94B008089580E28093F7 -:10126000000180913C0181110EC00E947D0981E046 -:1012700080933C012FEF83ED90E32150804090401C -:10128000E1F700C0000080E40E9483098093000120 -:1012900081112EC00E94AD0980930001811128C0E8 -:1012A0000E94AD0980930001811122C08FE30E944A -:1012B000AD098093000181111BC00E94A50980E443 -:1012C0000E94830980930001811112C08CE00E946A -:1012D000AD098093000181110BC00E94AD0980937C -:1012E0000001811105C08FE30E94AD0980930001C8 -:1012F0000E94A5098091000108951092B9008AE02A -:101300008093B800089594EA9093BC009091BC003B -:1013100097FFFCCF9091B900987F983021F09031E1 -:1013200011F081E008958093BB0084E88093BC00B5 -:101330008091BC0087FFFCCF8091B900887F883105 -:1013400011F0803471F780E0089584E98093BC0047 -:101350008091BC0084FDFCCF08958093BB0084E89D -:101360008093BC008091BC0087FFFCCF9091B900B6 -:10137000987F81E0983209F480E0089584E88093B2 -:10138000BC008091BC0087FFFCCF8091BB0008951A -:1013900080910001811115C080E40E94830980932F -:1013A000000181110CC082E10E94AD09809300010F -:1013B000811105C08FEF0E94AD09809300010E944A -:1013C000A50984B1807F84B985B1807F85B98AB150 -:1013D000837F8AB98BB1837F8BB93E9846980895F5 -:1013E0000E942E09809300010E94C80980B38C706E -:1013F00080BB81B3836F81BBAEE3B1E0ECE4F1E08D -:101400008EE08E0F11921D928E13FCCF83E199E036 -:10141000892B11F00C94130908959F92AF92BF92FB -:10142000CF92DF92EF92FF920F931F93CF93DF93B0 -:10143000809100018823E1F080913D018F5F8093CE -:101440003D01811115C084E994E00E94FE070E94CD -:101450002E0980930001882329F08AE794E00E94F6 -:10146000FE0706C086E694E00E94FE070E94E3089D -:101470000EE311E0C0E0D0E0BB24B39482E0A82EDC -:10148000CC24C394D12C27E5E22E24E0F22EC730E1 -:10149000D10500F580910001811164C080E40E94B3 -:1014A000830980930001811112C082E10E94AD097D -:1014B0008093000181110BC0C6010C2E01C0880F62 -:1014C0000A94EAF780950E94AD09809300010E947A -:1014D000A50948C0CA30A1F028F4C83059F0C93075 -:1014E00061F005C0CC3089F070F0CD3089F0209AE1 -:1014F000289810C0219A29980DC0229A2A980AC0CB -:10150000239A2B9807C0529A01C0539A5B9802C045 -:101510003E9A469890EA9A95F1F79FB1799902C060 -:1015200082E001C080E091709B25982B7C9902C0DD -:1015300084E001C080E0892B7D9902C038E001C0C1 -:1015400030E0832B7E9902C020E101C020E0822B95 -:101550009FB19095991F9927991F9295990F907E09 -:10156000892B10C080910001811174C080E40E9419 -:10157000830980930001882309F459C0912C0E94AB -:10158000A509892DF8019081981739F18083809100 -:101590000101882301F18091D70180FF04C08CE50F -:1015A00094E00E94FE078091D70180FF0CC08091DB -:1015B00001011F928F93FF92EF920E9497080F9064 -:1015C0000F900F900F908091D70180FF04C085E5A8 -:1015D00094E00E94FE07A09201010E94C809219692 -:1015E0000F5F1F4FCE30D10509F051CF809101011F -:1015F0008823B1F0815080930101882339F08FE96D -:101600009FE00197F1F700C000000AC0ACE4B1E030 -:10161000EEE3F1E0CF01825F91919D938E13FCCFB9 -:101620008CED98E0892BC1F00E94DC0815C083E1A5 -:101630000E94AD09809300018111A0CF81E40E9436 -:10164000830980930001811199CF0E94BE09982ED1 -:10165000909495CF80E096CF81E0DF91CF911F915C -:101660000F91FF90EF90DF90CF90BF90AF909F9041 -:101670000895E82FF0E0E45BFE4F80810895CF925B -:10168000DF92EF92FF920F931F93CF93DF938EE33E -:1016900094E00E94FE078CE4E82E81E0F82EC0E082 -:1016A000D0E099E3C92E94E0D92E00E314E0DF9353 -:1016B000CF93DF92CF920E94970886E394E00E9436 -:1016C000FE07F70181917F0190E00E94F1219F9335 -:1016D0008F931F930F930E9497088EE294E00E94CD -:1016E000FE0721968DB79EB708960FB6F8949EBF59 -:1016F0000FBE8DBFCE30D105D1F6DF91CF911F91B6 -:101700000F91FF90EF90DF90CF9008958B3B910564 -:1017100078F4883A910540F5853A9105D0F4843003 -:10172000910508F0B1C08130910509F4ADC06BC0DE -:10173000803E910508F467C0883E910508F4A4C076 -:101740009C01205F31092031310508F05CC09065B3 -:101750000895853A910509F459C0863A910509F032 -:1017600058C082E890E40895883A910509F454C07D -:10177000893A910509F453C08A3A910509F452C097 -:101780008B3A910509F451C08C3A910509F450C087 -:101790008D3A910509F44FC0803B910509F44EC084 -:1017A0008E3A910509F44DC08F3A910509F44CC069 -:1017B000813B910509F44BC0823B910509F44AC075 -:1017C000833B910509F449C0843B910509F448C065 -:1017D000853B910509F447C0863B910509F446C055 -:1017E000873B910509F445C0883B910509F444C045 -:1017F000893B910509F443C08A3B910509F442C035 -:1018000080E094E4089580E090E0089581E890E419 -:10181000089583E890E4089582EE94E4089589EEB3 -:1018200094E408958AEE94E4089585EB94E4089591 -:1018300086EB94E4089587EB94E408958CEC94E4AB -:1018400008958DEC94E4089583E895E408958AE87A -:1018500095E4089582E995E4089584E995E408956E -:1018600081E296E4089583E296E4089584E296E4A2 -:10187000089585E296E4089586E296E4089587E265 -:1018800096E408958AE296E40895089596E0799F93 -:10189000F001112494E5899FE00DF11D1124E60F5C -:1018A000F11DEE0FFF1FEA51FF4F859194910895AE -:1018B000880F991FFC01E05AF0408591949108959A -:1018C000880F991FFC01E052FF4F85919491089574 -:1018D00026E0729FF001112444E5849FE00DF11D84 -:1018E0001124E60FF11DEE0FFF1FEA51FF4F859106 -:1018F00094919C013A9521154FE1340708F41EC1DB -:101900003F512115304120F49F700E94600C0895D2 -:101910009C0130532115304118F49927906C08959B -:10192000811520E5920769F40E944B1B4FEF84E379 -:101930009CE0415080409040E1F700C000000C94D2 -:10194000AD22813020E5920751F48EEA94E00E94A6 -:10195000FE078091D70181608093D70108959C0193 -:1019600030552115304108F051C0292F33272F70F1 -:10197000332721303105D9F4AC014370552702C01B -:10198000220F331F4A95E2F73C68AC0164E0440F34 -:10199000551F6A95E1F744275370242B352B73E0CC -:1019A000880F991F7A95E1F7807699271DC022301C -:1019B000310529F4982F8827816F906A0895233084 -:1019C0003105A9F4AC014370552721E030E002C095 -:1019D000220F331F4A95E2F73C6843E0880F991FB6 -:1019E0004A95E1F7807E9770822B932B08952430DF -:1019F0003105E1F4AC014370552721E030E002C02D -:101A0000220F331F4A95E2F73A68E7CF9C0130571F -:101A10002115304118F49F70906208959C01305850 -:101A20002115304118F49F70906A0895803E910509 -:101A3000E0F4803C910558F58133910509F46FC0BD -:101A400048F48932910509F463C08A32910509F49A -:101A50006DC072C089339105E9F082389105D1F0EB -:101A60008533910509F44DC067C0833E910581F12E -:101A700038F4803E9105B9F0823E9105D9F05CC002 -:101A8000863E910561F1873E9105A1F155C00E9406 -:101A9000580C08952091EA0120FD02C021FF4CC09E -:101AA00080EE90E049C08091EA0180FFF9CF89E3A0 -:101AB00090E042C08091EA0182FF0EC08091EA016D -:101AC00084FF03C080E090E037C083EE90E034C034 -:101AD0008091EA0182FFF2CF82EE90E02DC08091EA -:101AE000EA0183FF0BC08091EA0184FDEBCF87EE12 -:101AF00090E022C08091EA0183FFF5CF86EE90E06E -:101B00001BC08091EA0185FF07C089E290E014C004 -:101B10008091EA0185FFF9CF85E390E00DC08091C7 -:101B2000EA0186FF07C08AE290E006C08091EA01E0 -:101B300086FFF9CF81E390E00E94860B0895089517 -:101B400080916D0108959FB7F89410925C019FBF3A -:101B50009091F001943009F057C09091E9009F7086 -:101B60003091EC00232F217030FD20E8922B24E0EF -:101B70002093E9002091EB0020FF43C02091EE006C -:101B800027FF3FC020915A01222321F02091E80035 -:101B900025FF37C010925A0126E03091E80035FD4C -:101BA00015C03091F001343061F53091EB0035FD16 -:101BB00028C0215021F481E080935A0122C0EFE92E -:101BC000FFE03197F1F700C00000E7CF8093F1000C -:101BD0008091E80085FD0AC08091E80080FFFCCF7D -:101BE0008091E8008E778093E80006C08FB7F89464 -:101BF00021E020935C018FBF9F709093E90080E00B -:101C000008959F709093E9008FEF0895CF93DF932D -:101C100000D01F92CDB7DEB79C018091F0018430D7 -:101C200019F593E099833B832A839093E9008FEF22 -:101C30009091E800815095FD06C095ED9A95F1F7D9 -:101C400000008111F5CF8091E80085FF0DC040E0D4 -:101C500050E063E070E0CE0101960E94D6108091C2 -:101C6000E8008E778093E8000F900F900F90DF913F -:101C7000CF910895CF93DF9300D01F92CDB7DEB7F9 -:101C80002091F001243021F522E029839B838A836F -:101C900083E08093E9008FEF9091E800815095FDFB -:101CA00006C095ED9A95F1F700008111F5CF80916E -:101CB000E80085FF0DC040E050E063E070E0CE0139 -:101CC00001960E94D6108091E8008E778093E800FC -:101CD0000F900F900F90DF91CF9108952091F00118 -:101CE0002430F1F422E02093E9002FEF3091E80056 -:101CF000215035FD06C035ED3A95F1F70000211170 -:101D0000F5CF2091E80025FF0BC040E050E065E0F2 -:101D100070E00E94D6108091E8008E778093E800F2 -:101D20000895CF93DF932091F001243009F048C04B -:101D3000EC0180910C018823E1F080910D01882352 -:101D4000C1F085E08093E9008FEF9091E800815029 -:101D500095FD06C095E19A95F1F700008111F5CF48 -:101D60008091E80085FF2CC040E050E060E170E029 -:101D700017C081E08093E9008FEF9091E8008150D7 -:101D800095FD06C095ED9A95F1F700008111F5CF0C -:101D90008091E80085FF14C040E050E068E070E00A -:101DA000CE010E94D6108091E8008E778093E800E3 -:101DB00080E1FE01ADE5B1E001900D928A95E1F779 -:101DC000DF91CF91089585EE94E00E94FE07809107 -:101DD000EF01811109C00E946B120E94C81280910C -:101DE000E20084608093E200089581EE94E00E9416 -:101DF000FE071092EF0108958DED94E00C94FE071C -:101E000089ED94E00E94FE070C947D2C85ED94E012 -:101E10000E94FE070E9447220E94832C0E946D159B -:101E20000C949F0D20915B012F5F822F62E30E9433 -:101E3000F12D992319F020935B01089510925B0115 -:101E400080915C01882371F18091F001843041F52B -:101E50008091E9008F702091EC00922F917020FD0D -:101E600090E8892B94E09093E9009091EB0090FF2B -:101E700014C09091EE0097FF10C09091E80095FF7C -:101E800003C01092F100F9CF9091E80090FF05C0D7 -:101E90009091E8009E779093E8008F708093E9001E -:101EA00010925C01089542E061EC81E00E94E5112E -:101EB00042E061EC82E00E94E51142E061EC83E0E7 -:101EC0000E94E51142E261EC84E00E94E51142E1EA -:101ED00061EC85E00C94E5118091F201833009F406 -:101EE00055C030F4813071F0823009F48EC008950D -:101EF0008A3009F47AC08B3009F460C0893009F067 -:101F00009CC020C08091F101813A09F096C0809177 -:101F1000E800877F8093E8008091F5019091F601B9 -:101F2000892B21F460E18DE591E003C060E080E061 -:101F300090E070E00E9421118091E8008B778093FF -:101F4000E80008958091F101813209F076C0809116 -:101F5000F5019091F601009719F0049709F06DC012 -:101F60008091E800877F8093E8008091E80082FDFF -:101F700005C08091F0018111F8CF5FC08091F10020 -:101F800080936D018091E8008B7753C08091F101BF -:101F9000813A09F052C08091F5019091F601892BA8 -:101FA00009F04BC08091E800877F8093E800809122 -:101FB000E80080FFFCCF80910C0136C08091F101D8 -:101FC0008132D9F58091F5019091F601892BA9F51F -:101FD0008091E800877F8093E8000E941A12809128 -:101FE000F30180930C010C944B1B8091F101813221 -:101FF00021F58091E800877F8093E8000E941A1203 -:102000008091F40180936E0108958091F101813AED -:10201000A1F48091E800877F8093E8008091E80038 -:1020200080FFFCCF80916E018093F1008091E800E9 -:102030008E778093E8000C941A12089584B7877FF6 -:1020400084BF88E10FB6F89480936000109260001E -:102050000FBE90E080E80FB6F894809361009093F3 -:1020600061000FBE0E94FA150E946B120E94C812F6 -:102070008091E20084608093E20083EA9DE00E9408 -:10208000862178940E944D150E94FC1582E091E013 -:102090000E9468150E946B2C84EC94E00E94FE075D -:1020A0008091F001853089F480EC94E00E94FE0775 -:1020B0000E940B228091EE01882391F30E9433222B -:1020C000882371F30E94C010EBCF0E942A16E8CF3C -:1020D000292F332723303105C9F064F4213031052D -:1020E00081F02230310509F043C08DE890E02DE108 -:1020F00035E042C021323105F1F02232310541F1A3 -:1021000037C082E190E02AEA35E036C09927813075 -:10211000910541F08230910541F0892B49F5E9E1C3 -:10212000F5E005C0E1E0F5E002C0E9EEF4E08491FD -:1021300090E09F0121C06530D8F4E62FF0E0EE0F6B -:10214000FF1FEB5DFE4F2081318189E090E014C0DC -:10215000653070F470E0FB01EE0FFF1FE55EFE4F8F -:1021600020813181FB01EA5EFE4F808190E004C056 -:1021700080E090E020E030E0FA0131832083089590 -:1021800080E189BD82E189BD09B400FEFDCF809167 -:10219000D8008F7D8093D8008091E000826080938A -:1021A000E0008091E00081FDFCCF0895CF92DF92A6 -:1021B000EF92FF920F931F93CF93DF93EC018B016C -:1021C0006A010E943912811133C0C114D10439F05F -:1021D000F60180819181081B190BC80FD91FE12CD2 -:1021E000F12C0115110519F18091E80085FD16C04B -:1021F0008091E8008E778093E800C114D10449F003 -:10220000F60180819181E80EF91EF182E08285E07D -:102210000FC00E943912882321F30AC0899180934C -:10222000F10001501109FFEFEF1AFF0ADACF80E049 -:10223000DF91CF911F910F91FF90EF90DF90CF90A2 -:1022400008952091F7013091F8012617370748F0DB -:102250006115710539F42091E8002E772093E8008C -:1022600001C0B90140E061157105A9F12091F001AB -:10227000222309F443C0253009F442C02091E8002C -:1022800023FD40C02091E80022FD32C02091E800EB -:1022900020FFE9CF4091F3002091F20030E0342B91 -:1022A000FC01CF016115710559F02830310540F46A -:1022B00081918093F100615071092F5F3F4FF1CF01 -:1022C00041E02830310509F040E02091E8002E7708 -:1022D0002093E800C8CF4111C9CF0AC08091F00116 -:1022E000882361F0853061F08091E80083FD0AC0A9 -:1022F0008091E80082FFF2CF80E0089582E00895A7 -:1023000083E0089581E008952091F7013091F8016C -:102310002617370748F06115710539F42091E80058 -:102320002E772093E80001C0B901FC0120E061157F -:10233000710591F18091F001882309F440C0853046 -:1023400009F43FC08091E80083FD3DC08091E80022 -:1023500082FD2FC08091E80080FFE9CF2091F3003B -:102360008091F20090E0922B6115710559F0883050 -:10237000910540F424912093F10031966150710948 -:102380000196F2CF21E0089709F020E08091E80063 -:102390008E778093E800CBCF2111CCCF0AC08091FB -:1023A000F001882361F0853061F08091E80083FDC1 -:1023B0000AC08091E80082FFF2CF80E0089582E0B9 -:1023C000089583E0089581E00895982F973058F597 -:1023D0009093E900981739F07091EC002091ED008E -:1023E0005091F00003C0242F762F50E021FF19C038 -:1023F0003091EB003E7F3093EB003091ED003D7F5C -:102400003093ED003091EB0031603093EB0070932E -:10241000EC002093ED005093F0002091EE0027FF98 -:1024200007C09F5FD3CF8F708093E90081E008954C -:1024300080E008958091F10187FF11C08091E8004C -:1024400082FD05C08091F0018111F8CF11C080910B -:10245000E8008B770BC08091F001882349F08091D0 -:10246000E80080FFF8CF8091E8008E778093E80045 -:1024700008952091E4003091E50095E64091EC004C -:10248000842F817040FF22C08091E80080FD1CC035 -:102490008091F001882391F0853091F08091EB00DC -:1024A00085FD10C04091E4005091E50042175307AC -:1024B00029F39A01915011F784E0089582E008957C -:1024C00083E0089581E0089580E008954091E80058 -:1024D00042FFDECF08950E94D9120E94E112E0EE81 -:1024E000F0E0808181608083E8EDF0E080818F778B -:1024F000808319BCA7EDB0E08C918E7F8C93808196 -:102500008F7E80831092EF0108950F931F93CF93D6 -:10251000DF930E94D9120E94E112C8EDD0E08881B9 -:102520008F77888388818068888388818F7D88837E -:1025300019BC1092F0011092EC011092EE01109271 -:10254000ED0100EE10E0F80180818B7F80838881AF -:102550008160888342E060E080E00E94E511E1EE66 -:10256000F0E080818E7F8083E2EEF0E08081816008 -:102570008083808188608083F80180818E7F808362 -:10258000888180618883DF91CF911F910F91089599 -:10259000E8EDF0E080818F7E8083E7EDF0E08081E0 -:1025A0008160808384E082BF81E08093EF010C949E -:1025B0008512E8EDF0E080818E7F80831092E2004A -:1025C00008951092DA001092E10008951F920F9280 -:1025D0000FB60F9211242F933F934F935F936F93F6 -:1025E0007F938F939F93AF93BF93EF93FF938091CC -:1025F000E10082FF0BC08091E20082FF07C0809162 -:10260000E1008B7F8093E1000E94120F8091DA003D -:1026100080FF1FC08091D80080FF1BC08091DA002E -:102620008E7F8093DA008091D90080FF0DC080E119 -:1026300089BD82E189BD09B400FEFDCF81E08093B0 -:10264000F0010E94E30E05C019BC1092F0010E9437 -:10265000F50E8091E10080FF19C08091E20080FFBB -:1026600015C08091E2008E7F8093E2008091E200AD -:1026700080618093E2008091D80080628093D800CE -:1026800019BC85E08093F0010E94000F8091E10069 -:1026900084FF30C08091E20084FF2CC080E189BDBE -:1026A00082E189BD09B400FEFDCF8091D8008F7D05 -:1026B0008093D8008091E1008F7E8093E10080912B -:1026C000E2008F7E8093E2008091E200816080933F -:1026D000E2008091EC01882311F084E007C0809132 -:1026E000E30087FD02C081E001C083E08093F00138 -:1026F0000E94060F8091E10083FF29C08091E200D3 -:1027000083FF25C08091E100877F8093E10082E014 -:102710008093F0011092EC018091E1008E7F809314 -:10272000E1008091E2008E7F8093E2008091E200E0 -:1027300080618093E20042E060E080E00E94E51169 -:102740008091F00088608093F0000E94FC0EFF9161 -:10275000EF91BF91AF919F918F917F916F915F9119 -:102760004F913F912F910F900FBE0F901F90189592 -:102770001F920F920FB60F9211242F933F934F93F6 -:102780005F936F937F938F939F93AF93BF93CF93F9 -:10279000DF93EF93FF93C091E900CF708091EC003D -:1027A000D82FD17080FDD0E81092E9008091F00020 -:1027B000877F8093F00078940E94FC131092E900C8 -:1027C0008091F00088608093F000CD2BCF70C09393 -:1027D000E900FF91EF91DF91CF91BF91AF919F9170 -:1027E0008F917F916F915F914F913F912F910F90BA -:1027F0000FBE0F901F9018951F93CF93DF93CDB707 -:10280000DEB7AA970FB6F894DEBF0FBECDBFE1EFDB -:10281000F1E088E08E0F9091F10091938E13FBCF41 -:102820000E946C0F8091E80083FF1FC18091F1012D -:102830009091F201492F50E04A30510508F015C13E -:10284000FA01EA5AFF4F0C94112E803881F0823839 -:1028500009F00BC18091F5018F708093E9008091A0 -:10286000EB0085FB882780F91092E90006C0809173 -:10287000ED019091EE01911182609091E800977FB7 -:102880009093E8008093F1001092F100C8C0282FC7 -:102890002D7F09F0EAC0882319F0823061F0E5C08D -:1028A0008091F301813009F0E0C0933009F080E0BD -:1028B0008093EE012BC08091F301811127C080919C -:1028C000F5018F7009F4D1C08093E9002091EB00ED -:1028D00020FF1CC0933021F48091EB00806214C073 -:1028E0009091EB0090619093EB0021E030E0A90122 -:1028F00002C0440F551F8A95E2F74093EA001092F8 -:10290000EA008091EB0088608093EB001092E90070 -:102910008091E800877F86C08111A7C01091F301E4 -:102920001F778091E3008078812B8093E300809172 -:10293000E800877F8093E8000E941A128091E800E7 -:1029400080FFFCCF8091E30080688093E300111149 -:1029500002C082E001C083E08093F00186C080580D -:10296000823008F082C08091F3019091F4018C3D97 -:1029700053E0950779F583E08A838AE289834FB72C -:10298000F894DE01139620E03EE051E2E32FF0E000 -:1029900050935700E49120FF03C0E295EF703F5F32 -:1029A000EF708E2F90E0EA3010F0C79601C0C0960D -:1029B0008D939D932F5F243149F74FBF8091E8009D -:1029C000877F8093E8006AE270E0CE0101960E9462 -:1029D000211114C0AE014F5F5F4F6091F5010E945D -:1029E0006810BC01892B09F440C09091E800977FE2 -:1029F0009093E80089819A810E9484118091E80077 -:102A00008B778093E80031C0803879F58091E800B9 -:102A1000877F8093E8008091EC018093F1008091A2 -:102A2000E8008E778093E8000E941A121EC0811180 -:102A30001CC09091F3019230C0F48091E800877F30 -:102A40008093E8009093EC010E941A128091EC01AF -:102A5000811106C08091E30087FD02C081E001C0C2 -:102A600084E08093F0010E94530F8091E80083FF7F -:102A70000AC08091E800877F8093E8008091EB0096 -:102A800080628093EB00AA960FB6F894DEBF0FBE6B -:102A9000CDBFDF91CF911F910895CF938091F00129 -:102AA0008823A1F0C091E900CF709091EC00892FAC -:102AB000817090FD80E8C82B1092E9008091E800B9 -:102AC00083FD0E94FC13CF70C093E900CF9108955D -:102AD00090937401809373010895E0917301F091D4 -:102AE0007401309721F00190F081E02D099480E08D -:102AF0000895EF92FF920F931F93CF93DF93E0918E -:102B00007301F09174013097B1F18C010280F3816F -:102B1000E02D09958091D70182FF2DC080FF04C070 -:102B20008FED96E00E94FE07E80110E189EDE82EA6 -:102B300086E0F82E8091D70180FF0BC088811F921C -:102B40008F93FF92EF920E9497080F900F900F9033 -:102B50000F90115021961111EDCF8091D70180FF78 -:102B60000AC087ED96E0DF91CF911F910F91FF9002 -:102B7000EF900C94FE07DF91CF911F910F91FF9082 -:102B8000EF900895E0917301F0917401309721F076 -:102B90000480F581E02D0994089520917101309110 -:102BA00072018217930771F0909372018093710103 -:102BB000E0917301F0917401309721F00680F78164 -:102BC000E02D0994089520916F01309170018217D2 -:102BD000930771F09093700180936F01E0917301FE -:102BE000F0917401309721F00084F185E02D099473 -:102BF000089508950C94F9150E9449220E94F00945 -:102C00000C940F23CF93C82F8091D70182FF1EC051 -:102C100080FF04C088EF96E00E94FE078091D701F4 -:102C200080FF0CC01F92CF9383EF96E09F938F930A -:102C30000E9497080F900F900F900F908091D701EE -:102C400080FF04C081EF96E00E94FE078C2FCF9199 -:102C50000C949F0DCF92DF92EF92FF920F931F93F0 -:102C6000CF93DF93CDB7DEB72B970FB6F894DEBFC7 -:102C70000FBECDBF0E940D0A86E7C82E81E0D82E78 -:102C800000E010E0E02E802F0E94390BF601419108 -:102C90006F01F42EF826B1F40F5F1F4F0E301105AF -:102CA00089F78FEF89838A831B820E945222816079 -:102CB000782F9D838C8349815A816B818D810E94FD -:102CC000CD1640C09091D70191FF04C08B870E9420 -:102CD0003F0B8B8520E030E04F2D50E0922FBA0162 -:102CE000022E02C0759567950A94E2F760FF24C032 -:102CF0002E83EF8221E030E0690102C0CC0CDD1CA4 -:102D00009A95E2F790E08C219D21892B09F420E02F -:102D100028870E9452228160782F9A8789874E8166 -:102D20005F8168858A850E94CD16F801EA58FE4FBA -:102D30008081C826C08206C02F5F3F4F26303105F4 -:102D400069F6AACF0E948026109175010E946D1528 -:102D50001817A1F00E946D15809375012B960FB680 -:102D6000F894DEBF0FBECDBFDF91CF911F910F91C1 -:102D7000FF90EF90DF90CF900C9402162B960FB639 -:102D8000F894DEBF0FBECDBFDF91CF911F910F91A1 -:102D9000FF90EF90DF90CF900895CF93DF93CDB762 -:102DA000DEB72B970FB6F894DEBF0FBECDBF4F83B3 -:102DB000588769877A878B87DE01119686E0FD0147 -:102DC00011928A95E9F785E0FE01379601900D9200 -:102DD0008A95E1F749815A816B817C818D819E8141 -:102DE0000E94E51D2B960FB6F894DEBF0FBECDBF37 -:102DF000DF91CF910895CF93882309F4C2C0C82FE3 -:102E0000823859F40E946D1581FDBBC089E30E9490 -:102E100081200E94602189E30CC0833879F40E94EC -:102E20006D1580FDAEC083E50E9481200E94602167 -:102E300083E50E94D420CF910C946021843859F40A -:102E40000E946D1582FD9DC087E40E9481200E9432 -:102E5000602187E4EECF8CEF8C0F813A48F48C2F01 -:102E60000E94132B81118DC08C2F0E948120E3CFF3 -:102E700080E28C0F883048F4C77081E001C0880F71 -:102E8000CA95EAF70E942921D6CF8BE58C0F8330B3 -:102E900078F4C53A29F0C63A31F083E890E005C0ED -:102EA00081E890E002C082E890E0CF910C94CD15CB -:102EB00088E58C0F833108F064C0C83A39F1C93A0B -:102EC00041F1CA3A49F1CB3A51F1CC3A59F1CD3AF4 -:102ED00061F1C03B69F1CE3A71F1CF3A79F1C13B72 -:102EE00081F1C23B89F1C33B91F1C43B99F1C53BF0 -:102EF000A1F1C63BA9F1C73BB1F1C83BB9F1C93B50 -:102F0000C1F1CA3BC9F180E090E038C082EE90E0A8 -:102F100035C089EE90E032C08AEE90E02FC085EB9C -:102F200090E02CC086EB90E029C087EB90E026C0B3 -:102F30008CEC90E023C08DEC90E020C083E891E021 -:102F40001DC08AE891E01AC082E991E017C084E9C7 -:102F500091E014C081E292E011C083E292E00EC0E1 -:102F600084E292E00BC085E292E008C086E292E043 -:102F700005C087E292E002C08AE292E0CF910C9411 -:102F8000E315CF910895882309F44BC0823859F492 -:102F90000E946D1581FF45C089E30E9481200E9437 -:102FA000602189E30CC0833871F40E946D1580FFA5 -:102FB00038C083E50E9481200E94602183E50E9441 -:102FC000D4200C946021843859F40E946D1582FF3E -:102FD00028C087E40E9481200E94602187E4EFCF0F -:102FE0009CEF980F913A58F390E2980F983050F474 -:102FF000877091E001C0990F8A95EAF7892F0E94A6 -:103000002F21DFCF9BE5980F933020F480E090E0F4 -:103010000C94CD15885A833120F480E090E00C9414 -:10302000E3150895882321F00E9429210C94602142 -:103030000895882321F00E942F210C946021089587 -:10304000BF92CF92DF92EF92FF920F931F93CF9395 -:10305000DF9300D000D000D0CDB7DEB725E0FC0173 -:10306000DE01119601900D922A95E1F7FC01408155 -:1030700031810281258122952F7063817481672BB4 -:1030800009F4E7C23F3F19F44F3F09F4E2C27C0163 -:1030900049833A8389819A812E830E944020182F88 -:1030A000B92E0E943F200E94061FEB2DE295EF7083 -:1030B000F0E0E05AFF4F2E810C94112E8B2D807F73 -:1030C0009B2D9F70F92E882319F0F29480EFF8223F -:1030D000002349F0FF2009F469C28F2D0E94392195 -:1030E0000E94602163C2812F0E94C317FF2009F450 -:1030F000B0C28F2D0E943F2126960FB6F894DEBFF6 -:103100000FBECDBFDF91CF911F910F91FF90EF9038 -:10311000DF90CF90BF900C9460213B2D307F8B2DA2 -:103120008F70303211F08295807F112319F01130A9 -:1031300021F12DC00023B9F0222309F4A1C12130CF -:1031400009F09EC126960FB6F894DEBF0FBECDBF24 -:10315000DF91CF911F910F91FF90EF90DF90CF9073 -:10316000BF900C944921222319F0213009F471C237 -:103170008E830E944C218E8197C1002321F026303E -:1031800008F067C27DC1253008F063C28DC10023FD -:1031900021F0222309F474C109C2222309F484C155 -:1031A0001AC22B2D26952695237030E02115310566 -:1031B00021F021303105D1F04CC2002321F0812FC4 -:1031C0009B2D937002C080E090E026960FB6F89495 -:1031D000DEBF0FBECDBFDF91CF911F910F91FF904A -:1031E000EF90DF90CF90BF900C94CD15002321F08D -:1031F000812F9B2D937002C080E090E026960FB641 -:10320000F894DEBF0FBECDBFDF91CF911F910F911C -:10321000FF90EF90DF90CF90BF900C94E315812F3B -:10322000002319F00E94062502C00E946E252696F2 -:103230000FB6F894DEBF0FBECDBFDF91CF911F91C7 -:103240000F91FF90EF90DF90CF90BF900C94F325FB -:103250008B2D837009F07BC00111FBC1812F8295FA -:1032600086958770880F880F912F9F70C92ED12C5B -:10327000E12CF12C082E04C0CC0CDD1CEE1CFF1C34 -:103280000A94D2F714FF12C04FE050E060E070E003 -:1032900004C0440F551F661F771F8A95D2F7CB01D4 -:1032A000BA01609570958095909503C060E070E0DC -:1032B000CB012B2D269526952370422F50E04230CE -:1032C0005105D9F04330510569F16C297D298E29CA -:1032D0009F294130510551F126960FB6F894DEBF73 -:1032E0000FBECDBFDF91CF911F910F91FF90EF9057 -:1032F000DF90CF90BF900C942D1F6C297D298E29D3 -:103300009F2926960FB6F894DEBF0FBECDBFDF9182 -:10331000CF911F910F91FF90EF90DF90CF90BF90D2 -:103320000C94491F0E942D1FC701B60126960FB6A7 -:10333000F894DEBF0FBECDBFDF91CF911F910F91EB -:10334000FF90EF90DF90CF90BF900C94111F00235F -:1033500019F08B2D817001C08695882309F479C1FD -:10336000812F829586958770880F880F912F9F7087 -:10337000C92ED12CE12CF12C082E04C0CC0CDD1C64 -:10338000EE1CFF1C0A94D2F714FF12C04FE050E06D -:1033900060E070E004C0440F551F661F771F8A95D8 -:1033A000D2F7CB01BA01609570958095909503C0D6 -:1033B00060E070E0CB012B2D269526952370422FDF -:1033C00050E042305105D9F04330510569F16C2984 -:1033D0007D298E299F294130510551F126960FB63E -:1033E000F894DEBF0FBECDBFDF91CF911F910F913B -:1033F000FF90EF90DF90CF90BF900C9407206C2946 -:103400007D298E299F2926960FB6F894DEBF0FBE20 -:10341000CDBFDF91CF911F910F91FF90EF90DF9083 -:10342000CF90BF900C9423200E940720C701B601C3 -:1034300026960FB6F894DEBF0FBECDBFDF91CF91B9 -:103440001F910F91FF90EF90DF90CF90BF900C9461 -:10345000EB1F103FD1F118F4103E50F4A2C0123F00 -:1034600009F464C008F44DC0133F09F474C099C056 -:103470001F708B2D8F710023A1F00E94841F812F5C -:1034800026960FB6F894DEBF0FBECDBFDF91CF9169 -:103490001F910F91FF90EF90DF90CF90BF900C9411 -:1034A00012180E94A51F812F26960FB6F894DEBF32 -:1034B0000FBECDBFDF91CF911F910F91FF90EF9085 -:1034C000DF90CF90BF900C9419180023B1F02530F5 -:1034D00008F0BFC08B2D8F7126960FB6F894DEBF13 +:1011C0000E94B10880E090E0089556985E982598B6 +:1011D0002D9826982E9827982F988FEF90E090932F +:1011E00089008093880090938B0080938A0090936D +:1011F0008D0080938C00259A2D9A2FEF80E792E046 +:10120000215080409040E1F700C00000269A2E9ABD +:101210002FEF80E792E0215080409040E1F700C03E +:101220000000279A2F9A2FEF80E792E0215080400C +:101230009040E1F700C0000025982D982FEF80E73F +:1012400092E0215080409040E1F700C000002698D5 +:101250002E982FEF80E792E0215080409040E1F7F8 +:1012600000C0000027982F9856985E9825982D98D2 +:1012700026982E9827982F98089589EA80938000C1 +:1012800089E08093810024982C983F988AB18F74CC +:101290008AB96E98479A8BB1806B8BB9769A0E9407 +:1012A000E50880EB98E0892B11F00E94B00880E0FF +:1012B00090E0089580E28093000180913C018111CB +:1012C0000EC00E94A90981E080933C012FEF83EDBD +:1012D00090E3215080409040E1F700C0000080E49E +:1012E0000E94AF098093000181112EC00E94D9098C +:1012F00080930001811128C00E94D90980930001C8 +:10130000811122C08FE30E94D909809300018111CD +:101310001BC00E94D10980E40E94AF0980930001A4 +:10132000811112C08CE00E94D909809300018111C3 +:101330000BC00E94D90980930001811105C08FE381 +:101340000E94D909809300010E94D1098091000177 +:1013500008951092B9008AE08093B800089594EA45 +:101360009093BC009091BC0097FFFCCF9091B90086 +:10137000987F983021F0903111F081E008958093AA +:10138000BB0084E88093BC008091BC0087FFFCCF49 +:101390008091B900887F883111F0803471F780E046 +:1013A000089584E98093BC008091BC0084FDFCCF4B +:1013B00008958093BB0084E88093BC008091BC00BA +:1013C00087FFFCCF9091B900987F81E0983209F4B3 +:1013D00080E0089584E88093BC008091BC0087FF82 +:1013E000FCCF8091BB00089580910001811115C050 +:1013F00080E40E94AF098093000181110CC082E15A +:101400000E94D90980930001811105C08FEF0E94CD +:10141000D909809300010E94D10984B1807F84B9E9 +:1014200085B1807F85B98AB1837F8AB98BB1837F8B +:101430008BB93E98469808950E945A0980930001FE +:101440000E94F40980B38C7080BB81B3836F81BB31 +:10145000AEE3B1E0ECE4F1E08EE08E0F11921D926C +:101460008E13FCCF8DE399E0892B11F00C943D098C +:1014700008959F92AF92BF92CF92DF92EF92FF9228 +:101480000F931F93CF93DF93809100018823E1F0A6 +:1014900080913D018F5F80933D01811115C084E9EA +:1014A00094E00E94FE070E945A098093000188235D +:1014B00029F08AE794E00E94FE0706C086E694E0E1 +:1014C0000E94FE070E94E5080EE311E0C0E0D0E0B4 +:1014D000BB24B39482E0A82ECC24C394D12C27E55E +:1014E000E22E24E0F22EC730D10500F580910001F4 +:1014F000811164C080E40E94AF09809300018111D2 +:1015000012C082E10E94D9098093000181110BC0B1 +:10151000C6010C2E01C0880F0A94EAF780950E943C +:10152000D909809300010E94D10948C0CA30A1F0B6 +:1015300028F4C83059F0C93061F005C0CC3089F0CA +:1015400070F0CD3089F0209A289810C0219A2998FF +:101550000DC0229A2A980AC0239A2B9807C0529A43 +:1015600001C0539A5B9802C03E9A469890EA9A95B9 +:10157000F1F79FB1799902C082E001C080E09170DB +:101580009B25982B7C9902C084E001C080E0892BC8 +:101590007D9902C038E001C030E0832B7E9902C003 +:1015A00020E101C020E0822B9FB19095991F9927DF +:1015B000991F9295990F907E892B10C08091000100 +:1015C000811174C080E40E94AF09809300018823D8 +:1015D00009F459C0912C0E94D109892DF8019081FC +:1015E000981739F1808380910101882301F180915E +:1015F000D70180FF04C08CE594E00E94FE07809133 +:10160000D70180FF0CC0809101011F928F93FF9240 +:10161000EF920E9497080F900F900F900F9080917B +:10162000D70180FF04C085E594E00E94FE07A092E8 +:1016300001010E94F40921960F5F1F4FCE30D105A2 +:1016400009F051CF809101018823B1F0815080933E +:101650000101882339F08FE99FE00197F1F700C07D +:1016600000000AC0ACE4B1E0EEE3F1E0CF01825F3C +:1016700091919D938E13FCCF8CED98E0892BC1F056 +:101680000E94DC0815C083E10E94D9098093000103 +:101690008111A0CF81E40E94AF09809300018111E4 +:1016A00099CF0E94EA09982E909495CF80E096CF2A +:1016B00081E0DF91CF911F910F91FF90EF90DF902C +:1016C000CF90BF90AF909F900895E82FF0E0E45B3B +:1016D000FE4F80810895CF92DF92EF92FF920F9399 +:1016E0001F93CF93DF938EE394E00E94FE078CE478 +:1016F000E82E81E0F82EC0E0D0E099E3C92E94E016 +:10170000D92E00E314E0DF93CF93DF92CF920E94B3 +:10171000970886E394E00E94FE07F70181917F011C +:1017200090E00E941D229F938F931F930F930E941E +:1017300097088EE294E00E94FE0721968DB79EB72F +:1017400008960FB6F8949EBF0FBE8DBFCE30D10560 +:10175000D1F6DF91CF911F910F91FF90EF90DF9025 +:10176000CF9008958B3B910578F4883A910540F528 +:10177000853A9105D0F48430910508F0B1C08130EC +:10178000910509F4ADC06BC0803E910508F467C0B7 +:10179000883E910508F4A4C09C01205F31092031E6 +:1017A000310508F05CC090650895853A910509F40B +:1017B00059C0863A910509F058C082E890E408952E +:1017C000883A910509F454C0893A910509F453C047 +:1017D0008A3A910509F452C08B3A910509F451C037 +:1017E0008C3A910509F450C08D3A910509F44FC027 +:1017F000803B910509F44EC08E3A910509F44DC025 +:101800008F3A910509F44CC0813B910509F44BC016 +:10181000823B910509F44AC0833B910509F449C014 +:10182000843B910509F448C0853B910509F447C004 +:10183000863B910509F446C0873B910509F445C0F4 +:10184000883B910509F444C0893B910509F443C0E4 +:101850008A3B910509F442C080E094E4089580E059 +:1018600090E0089581E890E4089583E890E4089575 +:1018700082EE94E4089589EE94E408958AEE94E467 +:10188000089585EB94E4089586EB94E4089587EB3E +:1018900094E408958CEC94E408958DEC94E4089518 +:1018A00083E895E408958AE895E4089582E995E44B +:1018B000089584E995E4089581E296E4089583E229 +:1018C00096E4089584E296E4089585E296E4089506 +:1018D00086E296E4089587E296E408958AE296E423 +:1018E0000895089596E0799FF001112494E5899F69 +:1018F000E00DF11D1124E60FF11DEE0FFF1FEA515F +:10190000FF4F859194910895880F991FFC01E05A2B +:10191000F040859194910895880F991FFC01E05241 +:10192000FF4F85919491089526E0729FF001112454 +:1019300044E5849FE00DF11D1124E60FF11DEE0F2B +:10194000FF1FEA51FF4F859194919C013A95211513 +:101950004FE1340708F41EC13F512115304120F4F6 +:101960009F700E948C0C08959C01305321153041CA +:1019700018F49927906C0895811520E5920769F471 +:101980000E94771B4FEF84E39CE0415080409040E1 +:10199000E1F700C000000C94D922813020E59207C5 +:1019A00051F48EEA94E00E94FE078091D701816095 +:1019B0008093D70108959C0130552115304108F0DE +:1019C00051C0292F33272F70332721303105D9F407 +:1019D000AC014370552702C0220F331F4A95E2F72E +:1019E0003C68AC0164E0440F551F6A95E1F7442759 +:1019F0005370242B352B73E0880F991F7A95E1F7EC +:101A0000807699271DC02230310529F4982F882728 +:101A1000816F906A089523303105A9F4AC014370B9 +:101A2000552721E030E002C0220F331F4A95E2F72C +:101A30003C6843E0880F991F4A95E1F7807E9770D4 +:101A4000822B932B089524303105E1F4AC014370CF +:101A5000552721E030E002C0220F331F4A95E2F7FC +:101A60003A68E7CF9C0130572115304118F49F7038 +:101A7000906208959C0130582115304118F49F70F0 +:101A8000906A0895803E9105E0F4803C910558F5F8 +:101A90008133910509F46FC048F48932910509F446 +:101AA00063C08A32910509F46DC072C08933910513 +:101AB000E9F082389105D1F08533910509F44DC0E4 +:101AC00067C0833E910581F138F4803E9105B9F0FD +:101AD000823E9105D9F05CC0863E910561F1873E5A +:101AE0009105A1F155C00E94840C08952091EA014E +:101AF00020FD02C021FF4CC080EE90E049C08091E3 +:101B0000EA0180FFF9CF89E390E042C08091EA01C9 +:101B100082FF0EC08091EA0184FF03C080E090E064 +:101B200037C083EE90E034C08091EA0182FFF2CFAB +:101B300082EE90E02DC08091EA0183FF0BC080917E +:101B4000EA0184FDEBCF87EE90E022C08091EA01AC +:101B500083FFF5CF86EE90E01BC08091EA0185FF00 +:101B600007C089E290E014C08091EA0185FFF9CFB7 +:101B700085E390E00DC08091EA0186FF07C08AE20C +:101B800090E006C08091EA0186FFF9CF81E390E002 +:101B90000E94B20B0895089580916D0108959FB73A +:101BA000F89410925C019FBF9091F001943009F07D +:101BB00057C09091E9009F703091EC00232F217065 +:101BC00030FD20E8922B24E02093E9002091EB00E7 +:101BD00020FF43C02091EE0027FF3FC020915A0113 +:101BE000222321F02091E80025FF37C010925A01EE +:101BF00026E03091E80035FD15C03091F001343019 +:101C000061F53091EB0035FD28C0215021F481E0D1 +:101C100080935A0122C0EFE9FFE03197F1F700C04D +:101C20000000E7CF8093F1008091E80085FD0AC0B5 +:101C30008091E80080FFFCCF8091E8008E77809350 +:101C4000E80006C08FB7F89421E020935C018FBFB5 +:101C50009F709093E90080E008959F709093E90051 +:101C60008FEF0895CF93DF9300D01F92CDB7DEB7EB +:101C70009C018091F001843019F593E099833B83B6 +:101C80002A839093E9008FEF9091E800815095FDB1 +:101C900006C095ED9A95F1F700008111F5CF80917E +:101CA000E80085FF0DC040E050E063E070E0CE0149 +:101CB00001960E9402118091E8008E778093E800DF +:101CC0000F900F900F90DF91CF910895CF93DF93F6 +:101CD00000D01F92CDB7DEB72091F001243021F55E +:101CE00022E029839B838A8383E08093E9008FEF3E +:101CF0009091E800815095FD06C095ED9A95F1F719 +:101D000000008111F5CF8091E80085FF0DC040E013 +:101D100050E063E070E0CE0101960E9402118091D4 +:101D2000E8008E778093E8000F900F900F90DF917E +:101D3000CF9108952091F0012430F1F422E0209316 +:101D4000E9002FEF3091E800215035FD06C035ED58 +:101D50003A95F1F700002111F5CF2091E80025FF19 +:101D60000BC040E050E065E070E00E9402118091FD +:101D7000E8008E778093E8000895CF93DF93209159 +:101D8000F001243009F048C0EC0180910C01882357 +:101D9000E1F080910D018823C1F085E08093E90096 +:101DA0008FEF9091E800815095FD06C095E19A95DE +:101DB000F1F700008111F5CF8091E80085FF2CC07C +:101DC00040E050E060E170E017C081E08093E900FE +:101DD0008FEF9091E800815095FD06C095ED9A95A2 +:101DE000F1F700008111F5CF8091E80085FF14C064 +:101DF00040E050E068E070E0CE010E940211809166 +:101E0000E8008E778093E80080E1FE01ADE5B1E067 +:101E100001900D928A95E1F7DF91CF91089585EEBB +:101E200094E00E94FE078091EF01811109C00E9499 +:101E300097120E94F4128091E20084608093E20085 +:101E4000089581EE94E00E94FE071092EF0108953C +:101E50008DED94E00C94FE0789ED94E00E94FE075E +:101E60000C94A92C85ED94E00E94FE070E94732239 +:101E70000E94AF2C0E9499150C94CB0D20915B0110 +:101E80002F5F822F62E30E941D2E992319F0209369 +:101E90005B01089510925B0180915C01882371F1D0 +:101EA0008091F001843041F58091E9008F7020919C +:101EB000EC00922F917020FD90E8892B94E0909394 +:101EC000E9009091EB0090FF14C09091EE0097FF15 +:101ED00010C09091E80095FF03C01092F100F9CF77 +:101EE0009091E80090FF05C09091E8009E77909354 +:101EF000E8008F708093E90010925C01089542E041 +:101F000061EC81E00E94111242E061EC82E00E94EB +:101F1000111242E061EC83E00E94111242E261EC96 +:101F200084E00E94111242E161EC85E00C941112F0 +:101F30008091F201833009F455C030F4813071F0A2 +:101F4000823009F48EC008958A3009F47AC08B304B +:101F500009F460C0893009F09CC020C08091F10173 +:101F6000813A09F096C08091E800877F8093E8006D +:101F70008091F5019091F601892B21F460E18DE5C6 +:101F800091E003C060E080E090E070E00E944D11BD +:101F90008091E8008B778093E80008958091F101AB +:101FA000813209F076C08091F5019091F601009799 +:101FB00019F0049709F06DC08091E800877F809345 +:101FC000E8008091E80082FD05C08091F001811158 +:101FD000F8CF5FC08091F10080936D018091E8009F +:101FE0008B7753C08091F101813A09F052C0809102 +:101FF000F5019091F601892B09F04BC08091E80022 +:10200000877F8093E8008091E80080FFFCCF80917B +:102010000C0136C08091F1018132D9F58091F50132 +:102020009091F601892BA9F58091E800877F809334 +:10203000E8000E9446128091F30180930C010C94F9 +:10204000771B8091F101813221F58091E800877F33 +:102050008093E8000E9446128091F40180936E0103 +:1020600008958091F101813AA1F48091E800877F81 +:102070008093E8008091E80080FFFCCF80916E01A2 +:102080008093F1008091E8008E778093E8000C94B3 +:102090004612089584B7877F84BF88E10FB6F8940D +:1020A00080936000109260000FBE90E080E80FB651 +:1020B000F89480936100909361000FBE0E942616F1 +:1020C0000E9497120E94F4128091E2008460809333 +:1020D000E2008FEC9DE00E94B22178940E94791575 +:1020E0000E94281682E091E00E9494150E94972C8D +:1020F00084EC94E00E94FE078091F001853089F421 +:1021000080EC94E00E94FE070E9437228091EE014D +:10211000882391F30E945F22882371F30E94EC10C0 +:10212000EBCF0E945616E8CF292F332723303105F5 +:10213000C9F064F42130310581F02230310509F015 +:1021400043C08DE890E02DE135E042C021323105F9 +:10215000F1F02232310541F137C082E190E02AEA04 +:1021600035E036C099278130910541F082309105E4 +:1021700041F0892B49F5E9E1F5E005C0E1E0F5E042 +:1021800002C0E9EEF4E0849190E09F0121C0653047 +:10219000D8F4E62FF0E0EE0FFF1FEB5DFE4F20813D +:1021A000318189E090E014C0653070F470E0FB018B +:1021B000EE0FFF1FE55EFE4F20813181FB01EA5EDD +:1021C000FE4F808190E004C080E090E020E030E0AD +:1021D000FA0131832083089580E189BD82E189BDC0 +:1021E00009B400FEFDCF8091D8008F7D8093D80088 +:1021F0008091E00082608093E0008091E00081FDAA +:10220000FCCF0895CF92DF92EF92FF920F931F932E +:10221000CF93DF93EC018B016A010E94651281115B +:1022200033C0C114D10439F0F60180819181081BBB +:10223000190BC80FD91FE12CF12C0115110519F14B +:102240008091E80085FD16C08091E8008E7780932C +:10225000E800C114D10449F0F60180819181E80EB3 +:10226000F91EF182E08285E00FC00E94651288238A +:1022700021F30AC089918093F10001501109FFEF09 +:10228000EF1AFF0ADACF80E0DF91CF911F910F9113 +:10229000FF90EF90DF90CF9008952091F70130915B +:1022A000F8012617370748F06115710539F42091B8 +:1022B000E8002E772093E80001C0B90140E06115E5 +:1022C0007105A9F12091F001222309F443C02530C2 +:1022D00009F442C02091E80023FD40C02091E800AD +:1022E00022FD32C02091E80020FFE9CF4091F300A9 +:1022F0002091F20030E0342BFC01CF016115710513 +:1023000059F02830310540F481918093F1006150FB +:1023100071092F5F3F4FF1CF41E02830310509F0BF +:1023200040E02091E8002E772093E800C8CF4111CB +:10233000C9CF0AC08091F001882361F0853061F037 +:102340008091E80083FD0AC08091E80082FFF2CF0F +:1023500080E0089582E0089583E0089581E0089583 +:102360002091F7013091F8012617370748F06115E1 +:10237000710539F42091E8002E772093E80001C020 +:10238000B901FC0120E06115710591F18091F00126 +:10239000882309F440C0853009F43FC08091E800EB +:1023A00083FD3DC08091E80082FD2FC08091E80050 +:1023B00080FFE9CF2091F3008091F20090E0922B12 +:1023C0006115710559F08830910540F424912093EE +:1023D000F1003196615071090196F2CF21E0089722 +:1023E00009F020E08091E8008E778093E800CBCF61 +:1023F0002111CCCF0AC08091F001882361F0853093 +:1024000061F08091E80083FD0AC08091E80082FFBE +:10241000F2CF80E0089582E0089583E0089581E09E +:102420000895982F973058F59093E900981739F050 +:102430007091EC002091ED005091F00003C0242F2A +:10244000762F50E021FF19C03091EB003E7F309392 +:10245000EB003091ED003D7F3093ED003091EB00CB +:1024600031603093EB007093EC002093ED005093BB +:10247000F0002091EE0027FF07C09F5FD3CF8F7041 +:102480008093E90081E0089580E008958091F10152 +:1024900087FF11C08091E80082FD05C08091F001A6 +:1024A0008111F8CF11C08091E8008B770BC080912B +:1024B000F001882349F08091E80080FFF8CF8091F7 +:1024C000E8008E778093E80008952091E400309131 +:1024D000E50095E64091EC00842F817040FF22C01A +:1024E0008091E80080FD1CC08091F001882391F06C +:1024F000853091F08091EB0085FD10C04091E400A3 +:102500005091E5004217530729F39A01915011F7B2 +:1025100084E0089582E0089583E0089581E00895BD +:1025200080E008954091E80042FFDECF08950E94C8 +:1025300005130E940D13E0EEF0E08081816080833E +:10254000E8EDF0E080818F77808319BCA7EDB0E0E3 +:102550008C918E7F8C9380818F7E80831092EF018F +:1025600008950F931F93CF93DF930E9405130E944A +:102570000D13C8EDD0E088818F77888388818068CB +:10258000888388818F7D888319BC1092F001109216 +:10259000EC011092EE011092ED0100EE10E0F80156 +:1025A00080818B7F808388818160888342E060E0C6 +:1025B00080E00E941112E1EEF0E080818E7F808346 +:1025C000E2EEF0E08081816080838081886080839A +:1025D000F80180818E7F8083888180618883DF918C +:1025E000CF911F910F910895E8EDF0E080818F7EEB +:1025F0008083E7EDF0E080818160808384E082BFAA +:1026000081E08093EF010C94B112E8EDF0E080815D +:102610008E7F80831092E20008951092DA0010926B +:10262000E10008951F920F920FB60F9211242F937D +:102630003F934F935F936F937F938F939F93AF934A +:10264000BF93EF93FF938091E10082FF0BC08091D5 +:10265000E20082FF07C08091E1008B7F8093E10060 +:102660000E943E0F8091DA0080FF1FC08091D80049 +:1026700080FF1BC08091DA008E7F8093DA0080910A +:10268000D90080FF0DC080E189BD82E189BD09B418 +:1026900000FEFDCF81E08093F0010E940F0F05C086 +:1026A00019BC1092F0010E94210F8091E10080FF7F +:1026B00019C08091E20080FF15C08091E2008E7FFA +:1026C0008093E2008091E20080618093E20080913B +:1026D000D80080628093D80019BC85E08093F00117 +:1026E0000E942C0F8091E10084FF30C08091E200B5 +:1026F00084FF2CC080E189BD82E189BD09B400FE60 +:10270000FDCF8091D8008F7D8093D8008091E1002B +:102710008F7E8093E1008091E2008F7E8093E200C3 +:102720008091E20081608093E2008091EC01882337 +:1027300011F084E007C08091E30087FD02C081E0D2 +:1027400001C083E08093F0010E94320F8091E1008C +:1027500083FF29C08091E20083FF25C08091E100C2 +:10276000877F8093E10082E08093F0011092EC017A +:102770008091E1008E7F8093E1008091E2008E7F66 +:102780008093E2008091E20080618093E20042E069 +:1027900060E080E00E9411128091F00088608093D8 +:1027A000F0000E94280FFF91EF91BF91AF919F9190 +:1027B0008F917F916F915F914F913F912F910F90EA +:1027C0000FBE0F901F9018951F920F920FB60F9289 +:1027D00011242F933F934F935F936F937F938F9326 +:1027E0009F93AF93BF93CF93DF93EF93FF93C091EA +:1027F000E900CF708091EC00D82FD17080FDD0E837 +:102800001092E9008091F000877F8093F000789427 +:102810000E9428141092E9008091F0008860809353 +:10282000F000CD2BCF70C093E900FF91EF91DF91C5 +:10283000CF91BF91AF919F918F917F916F915F9158 +:102840004F913F912F910F900FBE0F901F901895B1 +:102850001F93CF93DF93CDB7DEB7AA970FB6F89447 +:10286000DEBF0FBECDBFE1EFF1E088E08E0F9091AB +:10287000F10091938E13FBCF0E94980F8091E80096 +:1028800083FF1FC18091F1019091F201492F50E027 +:102890004A30510508F015C1FA01EA5AFF4F0C946D +:1028A0003D2E803881F0823809F00BC18091F5010E +:1028B0008F708093E9008091EB0085FB882780F979 +:1028C0001092E90006C08091ED019091EE01911106 +:1028D00082609091E800977F9093E8008093F100E8 +:1028E0001092F100C8C0282F2D7F09F0EAC088237C +:1028F00019F0823061F0E5C08091F301813009F078 +:10290000E0C0933009F080E08093EE012BC080910D +:10291000F301811127C08091F5018F7009F4D1C0B6 +:102920008093E9002091EB0020FF1CC0933021F43C +:102930008091EB00806214C09091EB0090619093C5 +:10294000EB0021E030E0A90102C0440F551F8A9539 +:10295000E2F74093EA001092EA008091EB00886071 +:102960008093EB001092E9008091E800877F86C099 +:102970008111A7C01091F3011F778091E300807847 +:10298000812B8093E3008091E800877F8093E800AB +:102990000E9446128091E80080FFFCCF8091E30006 +:1029A00080688093E300111102C082E001C083E0DF +:1029B0008093F00186C08058823008F082C08091F8 +:1029C000F3019091F4018C3D53E0950779F583E094 +:1029D0008A838AE289834FB7F894DE01139620E058 +:1029E0003EE051E2E32FF0E050935700E49120FFE6 +:1029F00003C0E295EF703F5FEF708E2F90E0EA30FA +:102A000010F0C79601C0C0968D939D932F5F24311F +:102A100049F74FBF8091E800877F8093E8006AE222 +:102A200070E0CE0101960E944D1114C0AE014F5FBF +:102A30005F4F6091F5010E949410BC01892B09F44D +:102A400040C09091E800977F9093E80089819A8137 +:102A50000E94B0118091E8008B778093E80031C02C +:102A6000803879F58091E800877F8093E800809135 +:102A7000EC018093F1008091E8008E778093E8006C +:102A80000E9446121EC081111CC09091F301923029 +:102A9000C0F48091E800877F8093E8009093EC0178 +:102AA0000E9446128091EC01811106C08091E300E2 +:102AB00087FD02C081E001C084E08093F0010E94A4 +:102AC0007F0F8091E80083FF0AC08091E800877F34 +:102AD0008093E8008091EB0080628093EB00AA96DF +:102AE0000FB6F894DEBF0FBECDBFDF91CF911F911F +:102AF0000895CF938091F0018823A1F0C091E9005F +:102B0000CF709091EC00892F817090FD80E8C82BE8 +:102B10001092E9008091E80083FD0E942814CF7094 +:102B2000C093E900CF91089590937401809373014D +:102B30000895E0917301F0917401309721F00190B4 +:102B4000F081E02D099480E00895EF92FF920F93B9 +:102B50001F93CF93DF93E0917301F091740130974D +:102B6000B1F18C010280F381E02D09958091D701AC +:102B700082FF2DC080FF04C08FED96E00E94FE070B +:102B8000E80110E189EDE82E86E0F82E8091D7016A +:102B900080FF0BC088811F928F93FF92EF920E945B +:102BA00097080F900F900F900F90115021961111D0 +:102BB000EDCF8091D70180FF0AC087ED96E0DF91CD +:102BC000CF911F910F91FF90EF900C94FE07DF9132 +:102BD000CF911F910F91FF90EF900895E0917301B5 +:102BE000F0917401309721F00480F581E02D099473 +:102BF000089520917101309172018217930771F04D +:102C00009093720180937101E0917301F0917401CE +:102C1000309721F00680F781E02D099408952091E6 +:102C20006F01309170018217930771F090937001DA +:102C300080936F01E0917301F0917401309721F05E +:102C40000084F185E02D0994089508950C942516CB +:102C50000E9475220E941C0A0C943B23CF93C82F1C +:102C60008091D70182FF1EC080FF04C088EF96E0EC +:102C70000E94FE078091D70180FF0CC01F92CF9366 +:102C800083EF96E09F938F930E9497080F900F9089 +:102C90000F900F908091D70180FF04C081EF96E0E4 +:102CA0000E94FE078C2FCF910C94CB0DCF92DF9218 +:102CB000EF92FF920F931F93CF93DF93CDB7DEB7C1 +:102CC0002B970FB6F894DEBF0FBECDBF0E94390A16 +:102CD00086E7C82E81E0D82E00E010E0E02E802F9D +:102CE0000E94650BF60141916F01F42EF826B1F4B4 +:102CF0000F5F1F4F0E30110589F78FEF89838A838D +:102D00001B820E947E228160782F9D838C83498163 +:102D10005A816B818D810E94F91640C09091D70134 +:102D200091FF04C08B870E946B0B8B8520E030E005 +:102D30004F2D50E0922FBA01022E02C07595679573 +:102D40000A94E2F760FF24C02E83EF8221E030E096 +:102D5000690102C0CC0CDD1C9A95E2F790E08C2151 +:102D60009D21892B09F420E028870E947E22816022 +:102D7000782F9A8789874E815F8168858A850E942E +:102D8000F916F801EA58FE4F8081C826C08206C0B5 +:102D90002F5F3F4F2630310569F6AACF0E94AC263F +:102DA000109175010E9499151817A1F00E949915AC +:102DB000809375012B960FB6F894DEBF0FBECDBF82 +:102DC000DF91CF911F910F91FF90EF90DF90CF9007 +:102DD0000C942E162B960FB6F894DEBF0FBECDBF07 +:102DE000DF91CF911F910F91FF90EF90DF90CF90E7 +:102DF0000895CF93DF93CDB7DEB72B970FB6F89436 +:102E0000DEBF0FBECDBF4F83588769877A878B8718 +:102E1000DE01119686E0FD0111928A95E9F785E0C1 +:102E2000FE01379601900D928A95E1F749815A810A +:102E30006B817C818D819E810E94111E2B960FB625 +:102E4000F894DEBF0FBECDBFDF91CF910895CF9331 +:102E5000882309F4C2C0C82F823859F40E949915FA +:102E600081FDBBC089E30E94AD200E948C2189E3D3 +:102E70000CC0833879F40E94991580FDAEC083E5BB +:102E80000E94AD200E948C2183E50E940021CF91F9 +:102E90000C948C21843859F40E94991582FD9DC0B0 +:102EA00087E40E94AD200E948C2187E4EECF8CEF56 +:102EB0008C0F813A48F48C2F0E943F2B81118DC0DA +:102EC0008C2F0E94AD20E3CF80E28C0F883048F435 +:102ED000C77081E001C0880FCA95EAF70E945521AA +:102EE000D6CF8BE58C0F833078F4C53A29F0C63AFB +:102EF00031F083E890E005C081E890E002C082E80C +:102F000090E0CF910C94F91588E58C0F833108F08F +:102F100064C0C83A39F1C93A41F1CA3A49F1CB3AE9 +:102F200051F1CC3A59F1CD3A61F1C03B69F1CE3A59 +:102F300071F1CF3A79F1C13B81F1C23B89F1C33BD9 +:102F400091F1C43B99F1C53BA1F1C63BA9F1C73B47 +:102F5000B1F1C83BB9F1C93BC1F1CA3BC9F180E04D +:102F600090E038C082EE90E035C089EE90E032C04B +:102F70008AEE90E02FC085EB90E02CC086EB90E0CD +:102F800029C087EB90E026C08CEC90E023C08DEC4C +:102F900090E020C083E891E01DC08AE891E01AC06B +:102FA00082E991E017C084E991E014C081E292E0E7 +:102FB00011C083E292E00EC084E292E00BC085E291 +:102FC00092E008C086E292E005C087E292E002C08B +:102FD0008AE292E0CF910C940F16CF910895882346 +:102FE00009F44BC0823859F40E94991581FF45C0FD +:102FF00089E30E94AD200E948C2189E30CC08338B4 +:1030000071F40E94991580FF38C083E50E94AD20BD +:103010000E948C2183E50E9400210C948C2184382D +:1030200059F40E94991582FF28C087E40E94AD20C0 +:103030000E948C2187E4EFCF9CEF980F913A58F3D0 +:1030400090E2980F983050F4877091E001C0990F8A +:103050008A95EAF7892F0E945B21DFCF9BE5980FC5 +:10306000933020F480E090E00C94F915885A833175 +:1030700020F480E090E00C940F160895882321F04E +:103080000E9455210C948C210895882321F00E94E0 +:103090005B210C948C210895BF92CF92DF92EF9226 +:1030A000FF920F931F93CF93DF9300D000D000D0F7 +:1030B000CDB7DEB725E0FC01DE01119601900D923F +:1030C0002A95E1F7FC014081318102812581229519 +:1030D0002F7063817481672B09F4E7C23F3F19F4B5 +:1030E0004F3F09F4E2C27C0149833A8389819A8186 +:1030F0002E830E946C20182FB92E0E946B200E94F4 +:10310000321FEB2DE295EF70F0E0E05AFF4F2E8179 +:103110000C943D2E8B2D807F9B2D9F70F92E882344 +:1031200019F0F29480EFF822002349F0FF2009F40F +:1031300069C28F2D0E9465210E948C2163C2812F5C +:103140000E94EF17FF2009F4B0C28F2D0E946B215F +:1031500026960FB6F894DEBF0FBECDBFDF91CF919C +:103160001F910F91FF90EF90DF90CF90BF900C9444 +:103170008C213B2D307F8B2D8F70303211F082955A +:10318000807F112319F0113021F12DC00023B9F0F7 +:10319000222309F4A1C1213009F09EC126960FB661 +:1031A000F894DEBF0FBECDBFDF91CF911F910F917D +:1031B000FF90EF90DF90CF90BF900C947521222369 +:1031C00019F0213009F471C28E830E9478218E811A +:1031D00097C1002321F0263008F067C27DC1253059 +:1031E00008F063C28DC1002321F0222309F474C1C9 +:1031F00009C2222309F484C11AC22B2D26952695D3 +:10320000237030E02115310521F021303105D1F056 +:103210004CC2002321F0812F9B2D937002C080E0CF +:1032200090E026960FB6F894DEBF0FBECDBFDF91BB +:10323000CF911F910F91FF90EF90DF90CF90BF90B3 +:103240000C94F915002321F0812F9B2D937002C05F +:1032500080E090E026960FB6F894DEBF0FBECDBF9B +:10326000DF91CF911F910F91FF90EF90DF90CF9062 +:10327000BF900C940F16812F002319F00E94322565 +:1032800002C00E949A2526960FB6F894DEBF0FBEA4 +:10329000CDBFDF91CF911F910F91FF90EF90DF9005 +:1032A000CF90BF900C941F268B2D837009F07BC0AC +:1032B0000111FBC1812F829586958770880F880F39 +:1032C000912F9F70C92ED12CE12CF12C082E04C017 +:1032D000CC0CDD1CEE1CFF1C0A94D2F714FF12C0AC +:1032E0004FE050E060E070E004C0440F551F661FDF +:1032F000771F8A95D2F7CB01BA01609570958095BA +:10330000909503C060E070E0CB012B2D26952695AB +:103310002370422F50E042305105D9F0433051051F +:1033200069F16C297D298E299F294130510551F180 +:1033300026960FB6F894DEBF0FBECDBFDF91CF91BA +:103340001F910F91FF90EF90DF90CF90BF900C9462 +:10335000591F6C297D298E299F2926960FB6F8942E +:10336000DEBF0FBECDBFDF91CF911F910F91FF90B8 +:10337000EF90DF90CF90BF900C94751F0E94591F63 +:10338000C701B60126960FB6F894DEBF0FBECDBFBB +:10339000DF91CF911F910F91FF90EF90DF90CF9031 +:1033A000BF900C943D1F002319F08B2D817001C03C +:1033B0008695882309F479C1812F82958695877037 +:1033C000880F880F912F9F70C92ED12CE12CF12CE2 +:1033D000082E04C0CC0CDD1CEE1CFF1C0A94D2F796 +:1033E00014FF12C04FE050E060E070E004C0440FF2 +:1033F000551F661F771F8A95D2F7CB01BA016095DA +:1034000070958095909503C060E070E0CB012B2D06 +:10341000269526952370422F50E042305105D9F071 +:103420004330510569F16C297D298E299F2941304E +:10343000510551F126960FB6F894DEBF0FBECDBFF1 +:10344000DF91CF911F910F91FF90EF90DF90CF9080 +:10345000BF900C9433206C297D298E299F292696B4 +:103460000FB6F894DEBF0FBECDBFDF91CF911F9195 +:103470000F91FF90EF90DF90CF90BF900C944F2072 +:103480000E943320C701B60126960FB6F894DEBF1E +:103490000FBECDBFDF91CF911F910F91FF90EF90A5 +:1034A000DF90CF90BF900C941720103FD1F118F40B +:1034B000103E50F4A2C0123F09F464C008F44DC09D +:1034C000133F09F474C099C01F708B2D8F710023B6 +:1034D000A1F00E94B01F812F26960FB6F894DEBF90 :1034E0000FBECDBFDF91CF911F910F91FF90EF9055 -:1034F000DF90CF90BF900C94CA1F263008F0A9C06F -:10350000E9CF0023A9F08B2D8F7126960FB6F89482 -:10351000DEBF0FBECDBFDF91CF911F910F91FF9006 -:10352000EF90DF90CF90BF900C94841F002359F34D -:103530008B2D8F7126960FB6F894DEBF0FBECDBFD0 -:10354000DF91CF911F910F91FF90EF90DF90CF907F -:10355000BF900C94A51F002399F08B2D8F71269698 -:103560000FB6F894DEBF0FBECDBFDF91CF911F9194 -:103570000F91FF90EF90DF90CF90BF900C946F1F52 -:1035800026960FB6F894DEBF0FBECDBFDF91CF9168 -:103590001F910F91FF90EF90DF90CF90BF900C9410 -:1035A000651F0023A9F0222309F4ADCF812F2696B1 -:1035B0000FB6F894DEBF0FBECDBFDF91CF911F9144 -:1035C0000F91FF90EF90DF90CF90BF900C94FB167F -:1035D000222309F4ADCF812F26960FB6F894DEBFD3 +:1034F000DF90CF90BF900C943E180E94D11F812F77 +:1035000026960FB6F894DEBF0FBECDBFDF91CF91E8 +:103510001F910F91FF90EF90DF90CF90BF900C9490 +:1035200045180023B1F0253008F0BFC08B2D8F71F6 +:1035300026960FB6F894DEBF0FBECDBFDF91CF91B8 +:103540001F910F91FF90EF90DF90CF90BF900C9460 +:10355000F61F263008F0A9C0E9CF0023A9F08B2D73 +:103560008F7126960FB6F894DEBF0FBECDBFDF91E8 +:10357000CF911F910F91FF90EF90DF90CF90BF9070 +:103580000C94B01F002359F38B2D8F7126960FB624 +:10359000F894DEBF0FBECDBFDF91CF911F910F9189 +:1035A000FF90EF90DF90CF90BF900C94D11F00233D +:1035B00099F08B2D8F7126960FB6F894DEBF0FBE53 +:1035C000CDBFDF91CF911F910F91FF90EF90DF90D2 +:1035D000CF90BF900C949B1F26960FB6F894DEBF39 :1035E0000FBECDBFDF91CF911F910F91FF90EF9054 -:1035F000DF90CF90BF900C94C3174B2D4F70612F6D -:10360000C7010E94A00826960FB6F894DEBF0FBE31 +:1035F000DF90CF90BF900C94911F0023A9F022235D +:1036000009F4ADCF812F26960FB6F894DEBF0FBE1A :10361000CDBFDF91CF911F910F91FF90EF90DF9081 -:10362000CF90BF900C94891E4B2D4F70612FC70116 +:10362000CF90BF900C942717222309F4ADCF812FA0 :1036300026960FB6F894DEBF0FBECDBFDF91CF91B7 :103640001F910F91FF90EF90DF90CF90BF900C945F -:10365000450C26960FB6F894DEBF0FBECDBFDF91A6 -:10366000CF911F910F91FF90EF90DF90CF90BF907F -:1036700008950E9446210E941B210E9460210E9401 -:1036800026270E94F32580E090E00E94CD1580E07F -:1036900090E00C94E3150E9436210C94391B0E9493 -:1036A0004020292F22952F7030E02C3031054CF42A -:1036B0002A3031056CF4225031092230310588F46A -:1036C00007C02C30310549F02F30310531F009C0E9 -:1036D000803E48F0803F29F406C093FB882780F99C -:1036E000089580E0089581E00895CF93DF9300D09E -:1036F00000D01F92CDB7DEB70F900F900F900F90B4 -:103700000F90DF91CF910895CF93DF9300D000D039 -:1037100000D0CDB7DEB726960FB6F894DEBF0FBE49 -:10372000CDBFDF91CF9108951F93CF93DF93C091C9 -:10373000840116E080918501C81799F0D0E01C9FA4 -:10374000F0011D9FF00D1124EA57FE4F4081518179 -:1037500062817381848195810E94841B2196C77048 -:10376000E9CFDF91CF911F9108954091B60150911B -:10377000B7016091B8017091B9018091BA0190913F -:10378000BB010C94841B8091BB0182958F7009F062 -:1037900054C08091B801882309F44FC080918401FE -:1037A000A09185016091B6017091B7014091B90176 -:1037B0005091BA01B6E08A1709F43FC090E0411574 -:1037C0005105C1F17F3F11F46F3FA1F1B89FF001A6 -:1037D000B99FF00D1124EA57FE4F218172132AC0C0 -:1037E0002081621327C02281211124C023813481CA -:1037F0002417350710F421503109241B350B283CC0 -:103800003105C0F42091BB012F7020612093BB01D2 -:1038100026E0289FF001299FF00D1124E557FE4F67 -:1038200080818F708061808386EB91E00E942018F8 -:103830000C94941B01968770BECF0895CF92DF92AF -:10384000EF92FF920F931F93CF93DF93CDB7DEB725 -:1038500062970FB6F894DEBF0FBECDBF8C0185E036 -:10386000F801DE011D9601900D928A95E1F7D801CD -:103870004C9111965C91119712966C911297139638 -:10388000CD90DC9014973091B6017091B701809182 -:10389000B9019091BA01009709F46BC17F3F19F407 -:1038A0003F3F09F466C1E090B801EE2009F4C0C0C2 -:1038B0002091BB01C816D90628F0F601E81BF90BC8 -:1038C000CF0104C0809590958C0D9D1DFF24F3942D -:1038D000883C910578F0F12C207F09F0C6C07C2D42 -:1038E000D98AC88A89890E94751B86EB91E00E945B -:1038F0002018B1C0822F807F09F046C0751314C014 -:10390000341312C0611110C02F7020612093BB01CD -:103910000E94B51B86EB91E00E9420188091BB01AC -:10392000D80115968C932EC0CD2819F15F3F11F464 -:103930004F3FF9F0F62E61111CC080918401209157 -:10394000850136E0821709F45AC090E0389FF001F3 -:10395000399FF00D1124EA57FE4F7181571306C0AD -:103960007081471303C07281711103C00196877083 -:10397000E9CFF62E662309F418C18091BB0181605E -:103980008093BB01F12C11C1751308C0341306C01C -:10399000611104C08091BB01D801C3C04D875E870F -:1039A0008D859E856A8B0E944F1B6A898823E1F171 -:1039B0006623D1F12091BB01822F82958F7090E018 -:1039C000029774F08091B6019091B70198878F8328 -:1039D0001986DB86CA862C87CE0107960E9420189E -:1039E00086E0F801A6EBB1E001900D928A95E1F72F -:1039F0000E94C31B0E94B51BFF24F394D6C04D87C1 -:103A00005E878D859E850E944020292F22952F70EC -:103A100030E0223031050CF0BCC09F7009F0B6C018 -:103A2000805E883008F4C1C0C8010E942018E4CF2D -:103A3000C816D90608F453C0F601E81BF90BCF01EC -:103A4000883C910508F450C0F12C7C2DD98AC88A95 -:103A500089890E94751BE6EBF1E086E0DF011D928B -:103A60008A95E9F70E94B51BA0C0751314C03413E2 -:103A700012C0611110C08091BB01F8018583C8019B -:103A80000E94201886E0E6EBF1E0DF011D928A95A6 -:103A9000E9F7FE2C8AC04D875E878D859E856A8BEF -:103AA0000E944F1B6A89882309F4BECF662309F45C -:103AB000BBCF2091BB01822F82958F7090E002973F -:103AC0000CF48ECF8091B6019091B7019A838983CF -:103AD0001B82DD82CC822E83CE0101967FCF809522 -:103AE00090958C0D9D1DACCFF62E662309F49CCFCE -:103AF00075132EC034132CC02091BB0120FD1FC0B4 -:103B0000822F82958F70D9F0D80115962C93159736 -:103B10008F3049F08F5F982F9295907F822F8F7012 -:103B2000892B15968C93C8010E94201886E0F80115 -:103B3000A6EBB1E001900D928A95E1F793CF86E074 -:103B4000F801A6EBB1E001900D928A95E1F72DC046 -:103B50004D875E878D859E850E944F1B811140CFCA -:103B60008091BB0181608093BB01C8010E94201835 -:103B70001CC0662309F458CF4D875E878D859E85CE -:103B80000E944F1B882309F44FCF2ACF811148CFC1 -:103B90000CC0243031050CF047CF9F7009F440CFA2 -:103BA000F8019581907F09F03BCF8F2D62960FB67B -:103BB000F894DEBF0FBECDBFDF91CF911F910F9163 -:103BC000FF90EF90DF90CF9008951F93CF93DF93F6 -:103BD000CDB7DEB72C970FB6F894DEBF0FBECDBFC2 -:103BE0004F83588769877A878B879C87CE01079692 -:103BF0000E941E1C882369F08F8198852A853B8549 -:103C0000232BF1F19F3F09F063C08F3F09F060C0A3 -:103C100037C086E0FE013796DE01119601900D92C5 -:103C20008A95E1F76F817885EA85FB85309741F1C8 -:103C30007F3F11F46F3F21F12091850130E0C901F0 -:103C40000196877099274091840150E08417950769 -:103C500009F447C069837A83FD83EC8396E0929FE1 -:103C6000D001939FB00D1124AA57BE4FFE0131968B -:103C700001900D929A95E1F7809385010E94941B23 -:103C800016E080918401909185018917C1F1189FF8 -:103C9000C00111248A579E4F0E941E1C882379F16F -:103CA000E09184011E9FF0011124EA57FE4F4081EC -:103CB000518162817381848195810E94841B8091EE -:103CC000840190E001968770992780938401D9CF71 -:103CD0004F81588569857A858B859C850E94841BD8 -:103CE000CFCF0E944B1B1092850110928401E6EB0E -:103CF000F1E086E0DF011D928A95E9F7C1CF2C96AD -:103D00000FB6F894DEBF0FBECDBFDF91CF911F91EC -:103D10000895EF92FF920F931F93CF93DF938C013F -:103D2000892B09F46CC0F12CEE24E394E801219670 -:103D3000F8018491843740F4843008F051C0813018 -:103D400081F0823019F15BC0853709F444C0A8F1D5 -:103D50009CE7980F903708F052C08F770E94C317E6 -:103D600041C00E5F1F4FFE01C49180E28C0F88306E -:103D700048F4C7708E2D01C0880FCA95EAF70E94DB -:103D8000392114C08C2F0E94FB162DC00E5F1F4FCF -:103D9000FE01C49180E28C0F883058F4C7708E2DDC -:103DA00001C0880FCA95EAF70E943F210E94602156 -:103DB0001AC08C2F0E94C31716C00E5F1F4FFE0142 -:103DC000C491CC2381F08FE99FE00197F1F700C007 -:103DD0000000C150F6CF0E5F1F4FFE01F49003C0EC -:103DE0000E94FB168E018F2D882309F49FCFEFE9E7 -:103DF000FFE03197F1F700C000008150F5CFDF916F -:103E0000CF911F910F91FF90EF90089508956093C7 -:103E1000C0017093C1018093C2019093C3010C94BF -:103E2000391B0F931F930091C0011091C101209184 -:103E3000C2013091C301DC01CB01802B912BA22B5D -:103E4000B32B8093C0019093C101A093C201B093A2 -:103E5000C3011F910F910C94391B0F931F93009175 -:103E6000C0011091C1012091C2013091C301DC0158 -:103E7000CB0180239123A223B3238093C00190938D -:103E8000C101A093C201B093C3011F910F910C9483 -:103E9000391B0F931F930091C0011091C101209114 -:103EA000C2013091C301DC01CB0180279127A227F9 -:103EB000B3278093C0019093C101A093C201B09336 -:103EC000C3011F910F910C94391B1092BC011092E9 -:103ED000BD011092BE011092BF010C94391B41E04C -:103EE00050E060E070E004C0440F551F661F771F6C -:103EF0008A95D2F74093BC015093BD016093BE01F7 -:103F00007093BF010C94391B41E050E060E070E019 -:103F100004C0440F551F661F771F8A95D2F7809102 -:103F2000BC019091BD01A091BE01B091BF01482B91 -:103F3000592B6A2B7B2B4093BC015093BD0160939E -:103F4000BE017093BF010C94391B41E050E060E06A -:103F500070E004C0440F551F661F771F8A95D2F783 -:103F600040955095609570958091BC019091BD01F0 -:103F7000A091BE01B091BF01482359236A237B233E -:103F80004093BC015093BD016093BE017093BF018B -:103F90000C94391B41E050E060E070E004C0440F35 -:103FA000551F661F771F8A95D2F78091BC019091AB -:103FB000BD01A091BE01B091BF01482759276A27D2 -:103FC0007B274093BC015093BD016093BE01709369 -:103FD000BF010C94391B0F931F930091BC011091EA -:103FE000BD012091BE013091BF01DC01CB01802BCE -:103FF000912BA22BB32B8093BC019093BD01A09376 -:10400000BE01B093BF011F910F910C94391B0F9308 -:104010001F930091BC011091BD012091BE01309110 -:10402000BF01DC01CB0180239123A223B323809322 -:10403000BC019093BD01A093BE01B093BF011F913D -:104040000F910C94391B0F931F930091BC01109199 -:10405000BD012091BE013091BF01DC01CB01802761 -:104060009127A227B3278093BC019093BD01A09311 -:10407000BE01B093BF011F910F910C94391B08959D -:10408000CF92DF92EF92FF920F931F93CF93DF9324 -:104090008C01C090C001D090C101E090C201F090AD -:1040A000C3014091BC015091BD016091BE0170916E -:1040B000BF01C42AD52AE62AF72ACFE1D0E0D701EA -:1040C000C6010C2E04C0B695A795979587950A94BE -:1040D000D2F780FF07C0B8018C2F0E94680C813096 -:1040E000910531F4219758F7B80180E00E94680CDF -:1040F000DF91CF911F910F91FF90EF90DF90CF90C4 -:10410000089590910C01992321F090910D01911146 -:1041100009C020910E0130910F01F90132969FEFF5 -:1041200040E030C0982F9695969596959F30A0F4D4 -:10413000E0910E01F0910F01E90FF11D877021E070 -:1041400030E0A90102C0440F551F8A95E2F7CA0169 -:104150009181892B818308959091D70190FF23C08D -:104160001F928F9389E297E09F938F930E94970805 -:104170000F900F900F900F9008959F3F39F04F5F71 -:104180004E3041F051915813F8CF0DC05111F7CF77 -:10419000942FF5CF9F3F39F0F901E90FF11D97FDFD -:1041A000FA9582830895089590910C01992321F046 -:1041B00090910D01911109C020910E0130910F01D4 -:1041C000F9013296205F3F4F30C0982F9695969513 -:1041D00096959F30A8F4E0910E01F0910F01E90F40 -:1041E000F11D877021E030E0A90102C0440F551F86 -:1041F0008A95E2F7CA018095918189238183089588 -:104200009091D70190FF16C01F928F938BE097E09B -:104210009F938F930E9497080F900F900F900F908D -:1042200008953196E217F30729F090819813F9CF9A -:104230001082F7CF089581E090E0E0910E01F091B7 -:104240000F01E80FF91F1082019680319105A9F73F -:1042500008959091D601892B8093D6010895809579 -:104260009091D60189238093D60108951092D601AA -:1042700008959091D501892B8093D501089580955B -:104280009091D50189238093D50108951092D5018D -:1042900008958093C40108951092C40108958091F7 -:1042A0000E0190910F01FC0131969C01205F3F4F60 -:1042B00080E0919191118F5FE217F307D1F7089594 -:1042C000E0910E01F0910F018091D6018083E09181 -:1042D0000E01F0910F0190818091D501892B80838F -:1042E0008091C401882361F0E0910E01F0910F01EB -:1042F0009081892B80830E944F2181111092C401EB -:1043000080910E0190910F010C94791590933B01CF -:1043100080933A010895CF92DF92EF92FF926C0161 -:10432000EE24FF24C114D104E104F10421F0C701FB -:10433000B60120E101C020E0C72ED82EE92EFF24CF -:10434000C114D104E104F10419F0285FC701B601DA -:104350006B017C0154E0F694E794D794C7945A9586 -:10436000D1F7C114D104E104F10419F02C5FC701A5 -:10437000B6016B017C0142E0F694E794D794C794B0 -:104380004A95D1F7C114D104E104F10419F02E5F6C -:10439000C701B601DC01CB01B695A7959795879526 -:1043A000892B8A2B8B2B09F02F5F822FFF90EF90A8 -:1043B000DF90CF9008958295982F9C7C392F369569 -:1043C0003695282F237344E0249FC0011124932F96 -:1043D000982B292F2A7A2695892F8575880F822B6D -:1043E00008951F93CF93DF931F92CDB7DEB79983C4 -:1043F0000E94DB21182F9981892F0E94DB21212F18 -:1044000030E0322F2227A901482BCA010F90DF91FB -:10441000CF911F9108958091F001843009F110929D -:10442000D80120E488E190E00FB6F894A895809335 -:1044300060000FBE2093600083B7817F846083BFDC -:1044400083B7816083BF7894889583B78E7F83BF5D -:1044500088E10FB6F89480936000109260000FBE60 -:10446000089508950895CF930E9431220E940D0A65 -:104470000E943222C0E08C2F0E94390B811104C0AF -:10448000CF5FCE30C1F701C081E0CF9108950C9489 -:104490004B1B82E084BD93E095BD9AEF97BD80935E -:1044A0006E0008952FB7F8948091D9019091DA01A8 -:1044B000A091DB01B091DC012FBF0895CF92DF9274 -:1044C000EF92FF920F931F932FB7F8944091D90169 -:1044D0005091DA016091DB017091DC012FBF6A011C -:1044E0007B01EE24FF248C0120E030E0C016D106D1 -:1044F000E206F30610F4415051099A01281B390BCA -:10450000C9011F910F91FF90EF90DF90CF90089518 -:104510001F920F920FB60F9211248F939F93AF9318 -:10452000BF938091D9019091DA01A091DB01B09104 -:10453000DC010196A11DB11D8093D9019093DA0190 -:10454000A093DB01B093DC01BF91AF919F918F915C -:104550000F900FBE0F901F9018950E946B12F89449 -:104560002FEF87EA91E6215080409040E1F700C0AC -:10457000000087E090EBDC018093F9019093FA0151 -:10458000A093FB01B093FC019CE088E10FB6F89486 -:10459000A895809360000FBE90936000FFCFEF92CC -:1045A000FF920F931F93CF93DF93D82FC0E08C2FF0 -:1045B0000E94390B00E010E0E82EF12CC701002E1C -:1045C00002C0959587950A94E2F780FD06C00F5FBB -:1045D0001F4F0630110591F709C0602F7C2F80E036 -:1045E0000E94460CD813F3CF81E004C0CF5FCE30D9 -:1045F000F1F680E0DF91CF911F910F91FF90EF9046 -:104600000895CF93C82F8CE20E94CF22882321F0F7 -:104610008C2FCF910C94CF2280E0CF910895CF932F -:104620000E945E24811102C00E9444248EE497E01F -:104630000E94FE07C5E6C15049F00E940D0A8FE3B3 -:104640009CE90197F1F700C00000F5CF87E497E0FF -:104650000E94FE0789E20E940123811113C18AE2B0 -:104660000E94012381110E94442485E00E940123BD -:1046700081110E94AD220E9469248093D70187E0B6 -:104680000E9401238823A9F18BE10E940123882342 -:1046900051F08091D70181FB222720F991E09227E8 -:1046A00090FB81F90EC08EE00E940123882361F007 -:1046B0008091D70182FB222720F991E0922790FB7D -:1046C00082F98093D70115C080E10E940123909167 -:1046D000D701882341F093FB222720F981E082272C -:1046E00080FB93F904C0892F809580FB90F990930B -:1046F000D7018091D7010E946D240E947B24809372 -:10470000EA0180EE0E940123882341F08091EA01B2 -:10471000982F909590FB80F98093EA0189E30E949D -:104720000123882359F08091EA0181FB222720F997 -:1047300091E0922790FB81F98093EA0182EE0E943A -:104740000123882359F08091EA0182FB222720F976 -:1047500091E0922790FB82F98093EA0186EE0E9415 -:104760000123882359F08091EA0183FB222720F955 -:1047700091E0922790FB83F98093EA0183EE0E94F7 -:104780000123882359F08091EA0184FB222720F934 -:1047900091E0922790FB84F98093EA0185E30E94DF -:1047A0000123882359F08091EA0185FB222720F913 -:1047B00091E0922790FB85F98093EA0181E30E94C2 -:1047C0000123882359F08091EA0186FB222720F9F2 -:1047D00091E0922790FB86F98093EA0181E10E94A3 -:1047E0000123882359F08091EA0187FB222720F9D1 -:1047F00091E0922790FB87F98093EA018091EA018A -:104800000E947F248091EA0187FB882780F98093AA -:104810000D0187E20E940123C82F8EE10E9401232F -:104820008111C2608FE10E9401238111C46080E286 -:104830000E9401238111C86081E20E94012381113D -:10484000C06182E20E9401238111C06283E20E9462 -:1048500001238111C06484E20E940123882311F0A6 -:10486000C06802C0CC2329F08C2F0E9476246C2FC4 -:1048700003C00E947224682F70E080E090E0CF9126 -:104880000C94071FCF9108956DEE7EEF80E090E0CD -:104890000E94472E60E082E090E00E94392E60E0A6 -:1048A00083E090E00E94392E60E084E090E00E9476 -:1048B000392E60E085E090E00C94392E80E090E0A5 -:1048C0000E94332E21E08D3E9E4F09F020E0822F82 -:1048D000089582E090E00C942B2E682F82E090E007 -:1048E0000C94392E83E090E00C942B2E682F83E0FB -:1048F00090E00C94392E84E090E00C942B2E682FDD -:1049000084E090E00C94392E8091DF0180FF0BC091 -:104910006091130185E0689FB0011124759567953A -:10492000759567952BC081FF09C06091130185E0E3 -:10493000689FB00111247595679520C082FF07C05C -:104940006091130185E0689FB001112417C0909118 -:10495000E0019923D1F060911201961788F7209118 -:10496000130185E0289F90011124929FA001939F3D -:10497000500D112470E0CA010E94FD2D60387105B0 -:1049800040F46115710539F002C065E070E0862FD2 -:1049900008958FE7089581E008958091DF0180FFF9 -:1049A00008C06091110170E07595679575956795E0 -:1049B00021C081FF06C06091110170E07595679577 -:1049C00019C082FF04C06091110170E010C0909185 -:1049D000E0019923C1F0609110019617A0F7809132 -:1049E0001101899FC001112470E00E94FD2D6038E3 -:1049F000710528F46115710521F0862F08958FE760 -:104A0000089581E0089561E070E0F4CF803F21F4E3 -:104A10000E948424819504C0813F29F40E9484244B -:104A20008093E3010895823F21F40E9484248195BC -:104A300004C0833F29F40E9484248093E2010895F6 -:104A4000893F19F40E94CD2405C08A3F31F40E94A9 -:104A5000CD2481958093E40108958B3F21F40E9439 -:104A6000CD24819504C08C3F29F40E94CD248093ED -:104A7000E5010895843F21F48091E101816017C030 -:104A8000853F21F48091E101826011C0863F21F4CD -:104A90008091E10184600BC0873F21F48091E101A6 -:104AA000886005C0883F31F48091E1018061809386 -:104AB000E10108958D3F21F48091DF0181600BC0F9 -:104AC0008E3F21F48091DF01826005C08F3F29F481 -:104AD0008091DF0184608093DF010895803F39F485 -:104AE0008091E30187FF6CC01092E30169C0813FB0 -:104AF00029F48091E3011816BCF362C09091E201A1 -:104B0000823F29F497FF5CC01092E20159C0833FB5 -:104B100019F41916CCF354C0893F41F48091E40193 -:104B200018160CF04DC01092E4014AC08A3F29F4D7 -:104B30008091E40187FF44C0F6CF8B3F39F4809128 -:104B4000E50187FF3DC01092E5013AC08C3F29F492 -:104B50008091E5011816BCF333C0843F21F48091A5 -:104B6000E1018E7F17C0853F21F48091E1018D7FA7 -:104B700011C0863F21F48091E1018B7F0BC0873FFC -:104B800021F48091E101877F05C0883F31F4809155 -:104B9000E1018F7E8093E10113C08D3F21F480916C -:104BA000DF018E7F0BC08E3F21F48091DF018D7F6E -:104BB00005C08F3F29F48091DF018B7F8093DF0157 -:104BC0008091E20181110EC08091E30181110AC040 -:104BD0008091E401811106C08091E501811102C03C -:104BE0001092E00108958091D70183FF7EC08AE88A -:104BF00097E00E94FE078091E1011F928F9385E864 -:104C000097E09F938F930E94970883E897E00E9414 -:104C1000FE078091E201282F332727FD30953F932F -:104C20008F9380E897E09F938F930E9497088EE779 -:104C300097E00E94FE078091E301282F332727FD8C -:104C400030953F938F938BE797E09F938F930E94CC -:104C5000970889E797E00E94FE078091E401282FDA -:104C6000332727FD30953F938F9386E797E09F93F7 -:104C70008F930E94970884E797E00E94FE07809137 -:104C8000E501282F332727FD30953F938F9381E748 -:104C900097E09F938F930E9497088EE697E00E947B -:104CA000FE078091E0011F928F938BE697E09F9320 -:104CB0008F930E94970889E697E00E94FE078091F3 -:104CC000DF011F928F9386E697E09F938F930E9458 -:104CD000970883E697E00E94FE078DB79EB74C9633 -:104CE0000FB6F8949EBF0FBE8DBF81EE91E00E947B -:104CF000C2150E9452229093DE018093DD01089537 -:104D00001F93CF93DF938091DD019091DE010E948C -:104D10005E22AC019091E001992321F020911401D1 -:104D200030E006C0209115018AE0289F90011124EF -:104D30004217530708F486C08091E201C091E30155 -:104D4000D091E4011091E501811107C0C11176C035 -:104D5000D11174C0111172C075C09F3F19F09F5FCF -:104D60009093E001181624F40E9484248093E201B9 -:104D70008091E20187FF05C00E9484248195809381 -:104D8000E2011C1624F40E9484248093E3018091A4 -:104D9000E30187FF05C00E94842481958093E3018D -:104DA0006091E201662339F1C091E301CC2319F14E -:104DB000772767FD7095872F972F0E94022D23E399 -:104DC00033E343E35FE30E94662D0E94CF2C6093A0 -:104DD000E2016C2F772767FD7095872F972F0E9430 -:104DE000022D23E333E343E35FE30E94662D0E9439 -:104DF000CF2C6093E3011D1624F40E94CD248093F0 -:104E0000E4018091E40187FF05C00E94CD248195D3 -:104E10008093E401111624F40E94CD248093E501CF -:104E20008091E50187FF05C00E94CD248195809384 -:104E3000E501DF91CF911F910C94F3259F3F09F07D -:104E40008ECF96CFDF91CF911F910895E1EEF1E0E3 -:104E500085E0DF011D928A95E9F71092E00110923A -:104E6000DF0108958DEA99E00E94FE071F9281E01C -:104E70008F931F9285E08F938FE599E09F938F9397 -:104E80000E9497080F900F900F900F900F900F9027 -:104E900008958330E9F128F4813061F0823009F11E -:104EA0000895853009F462C008F449C0863009F4D9 -:104EB00074C0089580911501262F30E0280F311D10 -:104EC0002F3F310524F4680F6093150103C08FEF65 -:104ED00080931501809115011F928F9388E998E0C6 -:104EE00072C080911401262F30E0280F311D2F3F12 -:104EF000310524F4680F6093140103C08FEF809391 -:104F00001401809114011F928F9386E898E05BC092 -:104F100080911301262F30E0280F311D2F3F3105DE -:104F200024F4680F6093130103C08FEF8093130183 -:104F3000809113011F928F9383E798E044C0809182 -:104F40001201262F30E0280F311D2F3F310524F4A8 -:104F5000680F6093120103C08FEF8093120180915C -:104F600012011F928F938EE598E02DC08091110160 -:104F7000262F30E0280F311D2F3F310524F4680F14 -:104F80006093110103C08FEF809311018091110193 -:104F90001F928F9385E498E016C080911001262F10 -:104FA00030E0280F311D2F3F310524F4680F609346 -:104FB000100103C08FEF80931001809110011F92A8 -:104FC0008F938AE298E09F938F930E9497080F90A7 -:104FD0000F900F900F900895833081F128F4813065 -:104FE00059F08230D1F00895853009F449C0B8F104 -:104FF000863009F456C0089580911501681720F491 -:10500000861B8093150102C0109215018091150135 -:105010001F928F938BE198E054C080911401681720 -:1050200020F4861B8093140102C010921401809119 -:1050300014011F928F9389E098E043C0809113017F -:10504000681720F4861B8093130102C0109213018D -:10505000809113011F928F9386EF97E032C0809169 -:105060001201681720F4861B8093120102C010926F -:105070001201809112011F928F9381EE97E021C05F -:1050800080911101681720F4861B8093110102C0E2 -:1050900010921101809111011F928F9388EC97E07B -:1050A00010C080911001681720F4861B80931001B6 -:1050B00002C010921001809110011F928F938DEA0F -:1050C00097E09F938F930E9497080F900F900F90F7 -:1050D0000F900895CF93C82F1F928F9382EB9AE081 -:1050E0009F938F930E94970881E090E0A0E0B0E04A -:1050F000BC01CD0104C0660F771F881F991FCA9598 -:10510000D2F70E94071F0F900F900F900F90CF9132 -:105110000C944B1BCF938D3109F465C0B0F58E30E4 -:1051200009F4CCC100F5873009F49BC1A8F486309E -:1051300009F06DC28091D701817F8E7F8093D70166 -:1051400087EB9AE00E94FE0789EF9EE00E94FE072F -:1051500081E08093E70180C1883009F44FC08B3033 -:1051600009F47CC154C2863109F4F0C138F48031AD -:1051700009F4B8C1813109F430C249C2893109F456 -:10518000CEC18B3109F486C142C2853309F437C2DE -:1051900048F4873209F433C208F433C2893209F47F -:1051A0002EC235C2833438F48A3308F02CC28833D7 -:1051B00009F454C12CC2833409F421C2883409F0A3 -:1051C00026C20E944B1B88EE9EE00E94FE079FEFC6 -:1051D00023ED80E3915020408040E1F700C00000C3 -:1051E0000E94AD2239C188E09FE00E94FE070E9424 -:1051F000892C0E946D150E949F0D2EC18DEF9EE09F -:105200000E94FE0788EC9CE00E94FE070E94722428 -:105210001F928F9385EC9CE09F938F930E94970839 -:1052200083EC9CE00E94FE070E946924C82F80EB5B -:105230009CE00E94FE071F92CF938BEA9CE09F9315 -:105240008F930E94970889EA9CE00E94FE078FE9ED -:105250009CE00E94FE078C2F81701F928F938CE937 -:105260009CE09F938F930E9497088AE99CE00E949C -:10527000FE0780E99CE00E94FE07C1FB882780F9B9 -:105280001F928F938DE89CE09F938F930E949708C5 -:105290008BE89CE00E94FE078FE79CE00E94FE07DF -:1052A000C2FB882780F91F928F938CE79CE09F9325 -:1052B0008F930E9497088AE79CE00E94FE0781E78F -:1052C0009CE00E94FE07C3FBCC27C0F91F92CF933E -:1052D0008EE69CE09F938F930E9497088CE69CE05B -:1052E0000E94FE070E947B24C82F88E59CE00E9454 -:1052F000FE071F92CF9383E59CE09F938F930E94BC -:10530000970881E59CE00E94FE0788E39CE00E94EC -:10531000FE078C2F81701F928F9385E39CE09F93F3 -:105320008F930E9497088DB79EB780960FB6F8941A -:105330009EBF0FBE8DBF83E39CE00E94FE078CE101 -:105340009CE00E94FE07C1FB882780F91F928F9383 -:1053500089E19CE09F938F930E94970887E19CE0EE -:105360000E94FE0785E09CE00E94FE07C2FB8827A2 -:1053700080F91F928F9382E09CE09F938F930E940D -:10538000970880E09CE00E94FE078EEE9BE00E9462 -:10539000FE07C3FB882780F91F928F938BEE9BE05B -:1053A0009F938F930E94970889EE9BE00E94FE07CF -:1053B0008FED9BE00E94FE07C4FB882780F91F92B7 -:1053C0008F938CED9BE09F938F930E9497088AEDBB -:1053D0009BE00E94FE0788EC9BE00E94FE07C5FB55 -:1053E000882780F91F928F9385EC9BE09F938F9382 -:1053F0000E94970883EC9BE00E94FE0787EA9BE0EF -:105400000E94FE07C6FB882780F91F928F9384EACB -:105410009BE09F938F930E94970882EA9BE00E94F3 -:10542000FE078AE99BE00E94FE07C7FBCC27C0F974 -:105430001F92CF9387E99BE09F938F930E949708D9 -:1054400085E99BE00E94FE078DB79EB74C960FB68C -:10545000F8949EBF0FBE8DBFC1E0DEC08EED9AE016 -:105460005BC08091D701C82FC17080FF09C08BED50 -:105470009EE00E94FE078091D701817F8E7F47C00A -:105480008FEC9EE00E94FE078091D701816080939F -:10549000D701E2CF9091D70191FBCC27C0F981E0F1 -:1054A000C827892FC0FB81F98093D701CC2319F03D -:1054B00082EC9EE027C084EB9EE02EC09091D70145 -:1054C00092FBCC27C0F981E0C827892FC0FB82F965 -:1054D0008093D701CC2319F085EA9EE013C085E9BB -:1054E0009EE01AC09091D70193FBCC27C0F981E0D0 -:1054F000C827892FC0FB83F98093D701CC2351F0B3 -:1055000089E89EE00E94FE078091D7018160809328 -:10551000D70182C08CE79EE00E94FE079DCF8DE6FA -:105520009EE00E94FE0781E49EE00E94FE0784E068 -:105530009EE00E94FE0787ED9DE00E94FE0783E942 -:105540009DE00E94FE0788E69DE0E6CF8AE59DE0AB -:105550000E94FE070E946D151F928F9380E49DE0CC -:105560009F938F930E94970880910C011F928F93B5 -:1055700089E29DE09F938F930E94970880916E012E -:105580001F928F9386E19DE09F938F930E949708CF -:1055900080910D011F928F9383E09DE09F938F93E5 -:1055A0000E9497088091D9019091DA01A091DB01C6 -:1055B000B091DC01BF93AF939F938F938FEE9CE0EC -:1055C0009F938F930E9497088DB79EB746960FB60C -:1055D000F8949EBF0FBE8DBF3FCF0E944B1BC09162 -:1055E0000D0181E0C827C0930D01CC2329F085EE81 -:1055F0009CE00E94FE0710C08AED9CE08DCF80E009 -:1056000003C08D5101C089530E946A2825CF88EDBF -:105610009CE00E94FE07C0E08C2FCF91089580E0AF -:10562000089580E00895CF93C82F8091E7018130DD -:1056300081F020F0823009F44FC045C1E0910E01A5 -:10564000F0910F018081813169F0823209F03DC112 -:1056500009C0E0910E01F0910F018081813111F0BC -:10566000823261F48C2F0E940F2B811104C08C2F89 -:105670000E948A282FC081E090E02CC08C2F0E94CD -:10568000112B811126C0C431E1F070F4CB3081F0D0 -:10569000C031D1F40E9432278AEA9AE00E94FE07C4 -:1056A00082E08093E70115C0C93259F0C83361F434 -:1056B00087EB9AE00E94FE078EEA9AE00E94FE07BE -:1056C00008C01092E70103C188EA9AE00E94FE0731 -:1056D000FEC081E08170FDC0C43220F5CE3108F0FB -:1056E000C0C0CB3099F1C8F4C73009F0D2C08AE00D -:1056F0008093150194E19093140193E0909313012A -:105700008093120188E08093110188E28093100158 -:105710008EE499E00E94FE07BFC0C33149F1C43155 -:10572000C1F0B7C0CB3409F4A9C028F4C93289F05C -:10573000C83361F0AEC0C13509F49EC0C23509F46A -:1057400099C0CE3409F0A5C06AE09EC00E943227FD -:10575000A3C08091E601882319F01092E6019CC055 -:105760008BE599E00E94FE0781E08093E701B1C0DC -:1057700085E399E00E94FE0783E299E00E94FE071C -:10578000809115011F928F9380E299E09F938F93F0 -:105790000E9497088EE199E00E94FE078CE099E054 -:1057A0000E94FE07809114011F928F9389E099E077 -:1057B0009F938F930E94970887E099E00E94FE07CD -:1057C00088EF98E00E94FE07809113011F928F934B -:1057D00085EF98E09F938F930E94970883EF98E05E -:1057E0000E94FE0782EE98E00E94FE07809112015F -:1057F0001F928F938FED98E09F938F930E9497084D -:105800008DED98E00E94FE0788EC98E00E94FE076C -:10581000809111011F928F9385EC98E09F938F9355 -:105820000E94970883EC98E00E94FE078CEA98E0BB -:105830000E94FE07809110011F928F9389EA98E0E1 -:105840009F938F930E94970887EA98E00E94FE0733 -:105850008DB79EB748960FB6F8949EBF0FBE8DBF0A -:105860001BC0CE51EC2FF0E0E15DFE4F80818093B4 -:10587000E60112C061E003C061E006C06AE0809109 -:10588000E6010E94492708C08091E6010E94EC27AA -:1058900003C08CE499E013C08091E601882369F08D -:1058A0001F928F9386E499E09F938F930E949708AD -:1058B0000F900F900F900F9004C083E499E00E9426 -:1058C000FE0781E006C01092E70180E002C080E0A0 -:1058D00001CFCF910895E1E8F0E080818860808376 -:1058E0008081816080838FB7F89493E090938900E2 -:1058F00090ED909388008FBF0895EFE6F0E08081EF -:10590000826080830895EFE6F0E080818D7F808360 -:105910000895EFE6F0E0908182E089278083089582 -:105920001F920F920FB60F9211242F933F934F9314 -:105930005F936F937F938F939F93AF93BF93EF93F7 -:10594000FF938091E8019091E90101969093E9011C -:105950008093E801811103C082E00E949F0DE091D5 -:10596000E901E695E695F0E0E85EF04FE49180917C -:10597000E8018E1303C080E00E949F0DFF91EF911C -:10598000BF91AF919F918F917F916F915F914F9157 -:105990003F912F910F900FBE0F901F90189504D03C -:1059A0006894B1118DC0089570D088F09F5790F021 -:1059B000B92F9927B751A0F0D1F0660F771F881F34 -:1059C000991F1AF0BA95C9F712C0B13081F077D09B -:1059D000B1E0089574C0672F782F8827B85F39F039 -:1059E000B93FCCF3869577956795B395D9F73EF493 -:1059F00090958095709561957F4F8F4F9F4F08953B -:105A0000E89409C097FB3EF4909580957095619558 -:105A10007F4F8F4F9F4F9923A9F0F92F96E9BB270E -:105A20009395F695879577956795B795F111F8CF8A -:105A3000FAF4BB0F11F460FF1BC06F5F7F4F8F4FF5 -:105A40009F4F16C0882311F096E911C0772321F0EB -:105A50009EE8872F762F05C0662371F096E8862F83 -:105A600070E060E02AF09A95660F771F881FDAF7DA -:105A7000880F9695879597F9089557FD9058440F8C -:105A8000551F59F05F3F71F04795880F97FB991F9D -:105A900061F09F3F79F0879508951216130614065A -:105AA000551FF2CF4695F1DF08C0161617061806E7 -:105AB000991FF1CF86957105610508940895E894C2 -:105AC000BB2766277727CB0197F908950BD078C0BD -:105AD00069D028F06ED018F0952309F05AC05FC045 -:105AE0001124EECFCADFA0F3959FD1F3950F50E0BC -:105AF000551F629FF001729FBB27F00DB11D639F80 -:105B0000AA27F00DB11DAA1F649F6627B00DA11D25 -:105B1000661F829F2227B00DA11D621F739FB00DCB -:105B2000A11D621F839FA00D611D221F749F33273B -:105B3000A00D611D231F849F600D211D822F762FD4 -:105B40006A2F11249F5750408AF0E1F088234AF0D1 -:105B5000EE0FFF1FBB1F661F771F881F915050401D -:105B6000A9F79E3F510570F014C0AACF5F3FECF338 -:105B7000983EDCF3869577956795B795F795E79509 -:105B80009F5FC1F7FE2B880F911D9695879597F91A -:105B9000089597F99F6780E870E060E008959FEFAF -:105BA00080EC089500240A941616170618060906B4 -:105BB000089500240A941216130614060506089583 -:105BC000092E0394000C11F4882352F0BB0F40F40B -:105BD000BF2B11F460FF04C06F5F7F4F8F4F9F4F4B -:105BE0000895991B79E004C0991F961708F0961B39 -:105BF000881F7A95C9F78095089597FB072E16F4AC -:105C0000009407D077FD09D00E94172E07FC05D01D -:105C10003EF4909581959F4F0895709561957F4FC3 -:105C20000895EE0FFF1F0590F491E02D0994AA1B33 -:105C3000BB1B51E107C0AA1FBB1FA617B70710F077 -:105C4000A61BB70B881F991F5A95A9F780959095A9 -:105C5000BC01CD010895F999FECF92BD81BDF89A9E -:105C6000992780B50895A8E1B0E042E050E00C9497 -:105C70004E2E262FF999FECF1FBA92BD81BD20BDB1 -:105C80000FB6F894FA9AF99A0FBE019608950E94F9 -:105C9000392E272F0C943A2EDC01CB01FC01F99907 -:105CA000FECF06C0F2BDE1BDF89A319600B40D9268 -:0C5CB00041505040B8F70895F894FFCF21 -:105CBC002002A00D910E6E0E3A0E060E0101C501CA -:105CCC0028080A03140A3F4D36203998064B06154E -:105CDC0006F505BC052F05480561057A059A0501F1 -:0A5CEC000203040506070809000082 +:10365000EF174B2D4F70612FC7010E94A0082696CF +:103660000FB6F894DEBF0FBECDBFDF91CF911F9193 +:103670000F91FF90EF90DF90CF90BF900C94B51E0C +:103680004B2D4F70612FC70126960FB6F894DEBF01 +:103690000FBECDBFDF91CF911F910F91FF90EF90A3 +:1036A000DF90CF90BF900C94710C26960FB6F894D3 +:1036B000DEBF0FBECDBFDF91CF911F910F91FF9065 +:1036C000EF90DF90CF90BF9008950E9472210E94EA +:1036D00047210E948C210E9452270E941F2680E0D1 +:1036E00090E00E94F91580E090E00C940F160E9483 +:1036F00062210C94651B0E946C20292F22952F704B +:1037000030E02C3031054CF42A3031056CF4225075 +:1037100031092230310588F407C02C30310549F0D9 +:103720002F30310531F009C0803E48F0803F29F448 +:1037300006C093FB882780F9089580E0089581E012 +:103740000895CF93DF9300D000D01F92CDB7DEB79E +:103750000F900F900F900F900F90DF91CF910895E1 +:10376000CF93DF9300D000D000D0CDB7DEB7269640 +:103770000FB6F894DEBF0FBECDBFDF91CF91089595 +:103780001F93CF93DF93C091840116E08091850150 +:10379000C81799F0D0E01C9FF0011D9FF00D112477 +:1037A000EA57FE4F40815181628173818481958106 +:1037B0000E94B01B2196C770E9CFDF91CF911F9176 +:1037C00008954091B6015091B7016091B801709190 +:1037D000B9018091BA019091BB010C94B01B80910A +:1037E000BB0182958F7009F054C08091B801882385 +:1037F00009F44FC080918401A09185016091B601C8 +:103800007091B7014091B9015091BA01B6E08A17A1 +:1038100009F43FC090E041155105C1F17F3F11F41B +:103820006F3FA1F1B89FF001B99FF00D1124EA5745 +:10383000FE4F218172132AC02081621327C022818A +:10384000211124C0238134812417350710F421501D +:103850003109241B350B283C3105C0F42091BB01F4 +:103860002F7020612093BB0126E0289FF001299F43 +:10387000F00D1124E557FE4F80818F7080618083A9 +:1038800086EB91E00E944C180C94C01B0196877047 +:10389000BECF0895CF92DF92EF92FF920F931F93C6 +:1038A000CF93DF93CDB7DEB762970FB6F894DEBF44 +:1038B0000FBECDBF8C0185E0F801DE011D960190A1 +:1038C0000D928A95E1F7D8014C9111965C91119770 +:1038D00012966C9112971396CD90DC9014973091BC +:1038E000B6017091B7018091B9019091BA0100972A +:1038F00009F46BC17F3F19F43F3F09F466C1E090C2 +:10390000B801EE2009F4C0C02091BB01C816D90649 +:1039100028F0F601E81BF90BCF0104C080959095C3 +:103920008C0D9D1DFF24F394883C910578F0F12CBB +:10393000207F09F0C6C07C2DD98AC88A89890E9457 +:10394000A11B86EB91E00E944C18B1C0822F807FB2 +:1039500009F046C0751314C0341312C0611110C0B1 +:103960002F7020612093BB010E94E11B86EB91E048 +:103970000E944C188091BB01D80115968C932EC0E3 +:10398000CD2819F15F3F11F44F3FF9F0F62E611188 +:103990001CC0809184012091850136E0821709F4D2 +:1039A0005AC090E0389FF001399FF00D1124EA577A +:1039B000FE4F7181571306C07081471303C0728197 +:1039C000711103C001968770E9CFF62E662309F4C2 +:1039D00018C18091BB0181608093BB01F12C11C1A2 +:1039E000751308C0341306C0611104C08091BB0177 +:1039F000D801C3C04D875E878D859E856A8B0E94E6 +:103A00007B1B6A898823E1F16623D1F12091BB01F8 +:103A1000822F82958F7090E0029774F08091B601AA +:103A20009091B70198878F831986DB86CA862C8789 +:103A3000CE0107960E944C1886E0F801A6EBB1E093 +:103A400001900D928A95E1F70E94EF1B0E94E11B05 +:103A5000FF24F394D6C04D875E878D859E850E9496 +:103A60006C20292F22952F7030E0223031050CF088 +:103A7000BCC09F7009F0B6C0805E883008F4C1C039 +:103A8000C8010E944C18E4CFC816D90608F453C0E8 +:103A9000F601E81BF90BCF01883C910508F450C0F2 +:103AA000F12C7C2DD98AC88A89890E94A11BE6EB5A +:103AB000F1E086E0DF011D928A95E9F70E94E11BA3 +:103AC000A0C0751314C0341312C0611110C08091CE +:103AD000BB01F8018583C8010E944C1886E0E6EB23 +:103AE000F1E0DF011D928A95E9F7FE2C8AC04D872F +:103AF0005E878D859E856A8B0E947B1B6A898823E1 +:103B000009F4BECF662309F4BBCF2091BB01822FFD +:103B100082958F7090E002970CF48ECF8091B60161 +:103B20009091B7019A8389831B82DD82CC822E8398 +:103B3000CE0101967FCF809590958C0D9D1DACCFC9 +:103B4000F62E662309F49CCF75132EC034132CC0B7 +:103B50002091BB0120FD1FC0822F82958F70D9F06C +:103B6000D80115962C9315978F3049F08F5F982FB9 +:103B70009295907F822F8F70892B15968C93C80118 +:103B80000E944C1886E0F801A6EBB1E001900D927E +:103B90008A95E1F793CF86E0F801A6EBB1E00190BA +:103BA0000D928A95E1F72DC04D875E878D859E85A4 +:103BB0000E947B1B811140CF8091BB01816080936B +:103BC000BB01C8010E944C181CC0662309F458CFE1 +:103BD0004D875E878D859E850E947B1B882309F417 +:103BE0004FCF2ACF811148CF0CC0243031050CF0C3 +:103BF00047CF9F7009F440CFF8019581907F09F07D +:103C00003BCF8F2D62960FB6F894DEBF0FBECDBFAF +:103C1000DF91CF911F910F91FF90EF90DF90CF90A8 +:103C200008951F93CF93DF93CDB7DEB72C970FB6D0 +:103C3000F894DEBF0FBECDBF4F83588769877A8760 +:103C40008B879C87CE0107960E944A1C882369F0C7 +:103C50008F8198852A853B85232BF1F19F3F09F0C1 +:103C600063C08F3F09F060C037C086E0FE01379621 +:103C7000DE01119601900D928A95E1F76F817885AA +:103C8000EA85FB85309741F17F3F11F46F3F21F1C9 +:103C90002091850130E0C9010196877099274091F4 +:103CA000840150E08417950709F447C069837A833B +:103CB000FD83EC8396E0929FD001939FB00D112479 +:103CC000AA57BE4FFE01319601900D929A95E1F7E9 +:103CD000809385010E94C01B16E080918401909121 +:103CE00085018917C1F1189FC00111248A579E4F81 +:103CF0000E944A1C882379F1E09184011E9FF00103 +:103D00001124EA57FE4F4081518162817381848181 +:103D100095810E94B01B8091840190E0019687708C +:103D2000992780938401D9CF4F81588569857A85F9 +:103D30008B859C850E94B01BCFCF0E94771B109271 +:103D4000850110928401E6EBF1E086E0DF011D922F +:103D50008A95E9F7C1CF2C960FB6F894DEBF0FBE57 +:103D6000CDBFDF91CF911F910895EF92FF920F93F6 +:103D70001F93CF93DF938C01892B09F46CC0F12C36 +:103D8000EE24E394E8012196F8018491843740F40D +:103D9000843008F051C0813081F0823019F15BC06D +:103DA000853709F444C0A8F19CE7980F903708F0D4 +:103DB00052C08F770E94EF1741C00E5F1F4FFE0168 +:103DC000C49180E28C0F883048F4C7708E2D01C0FA +:103DD000880FCA95EAF70E94652114C08C2F0E94B3 +:103DE00027172DC00E5F1F4FFE01C49180E28C0F7C +:103DF000883058F4C7708E2D01C0880FCA95EAF735 +:103E00000E946B210E948C211AC08C2F0E94EF17F8 +:103E100016C00E5F1F4FFE01C491CC2381F08FE9C5 +:103E20009FE00197F1F700C00000C150F6CF0E5F90 +:103E30001F4FFE01F49003C00E9427178E018F2DA3 +:103E4000882309F49FCFEFE9FFE03197F1F700C035 +:103E500000008150F5CFDF91CF911F910F91FF901E +:103E6000EF90089508956093C0017093C10180930D +:103E7000C2019093C3010C94651B0F931F93009193 +:103E8000C0011091C1012091C2013091C301DC0138 +:103E9000CB01802B912BA22BB32B8093C00190934D +:103EA000C101A093C201B093C3011F910F910C9463 +:103EB000651B0F931F930091C0011091C1012091C8 +:103EC000C2013091C301DC01CB0180239123A223E5 +:103ED000B3238093C0019093C101A093C201B0931A +:103EE000C3011F910F910C94651B0F931F930091B9 +:103EF000C0011091C1012091C2013091C301DC01C8 +:103F0000CB0180279127A227B3278093C0019093EC +:103F1000C101A093C201B093C3011F910F910C94F2 +:103F2000651B1092BC011092BD011092BE0110924F +:103F3000BF010C94651B41E050E060E070E004C0FC +:103F4000440F551F661F771F8A95D2F74093BC0117 +:103F50005093BD016093BE017093BF010C94651B2B +:103F600041E050E060E070E004C0440F551F661F60 +:103F7000771F8A95D2F78091BC019091BD01A091E5 +:103F8000BE01B091BF01482B592B6A2B7B2B40936C +:103F9000BC015093BD016093BE017093BF010C94AE +:103FA000651B41E050E060E070E004C0440F551F25 +:103FB000661F771F8A95D2F740955095609570954A +:103FC0008091BC019091BD01A091BE01B091BF0153 +:103FD000482359236A237B234093BC015093BD019E +:103FE0006093BE017093BF010C94651B41E050E0EB +:103FF00060E070E004C0440F551F661F771F8A956C +:10400000D2F78091BC019091BD01A091BE01B09109 +:10401000BF01482759276A277B274093BC0150934B +:10402000BD016093BE017093BF010C94651B0F939B +:104030001F930091BC011091BD012091BE013091F0 +:10404000BF01DC01CB01802B912BA22BB32B8093E2 +:10405000BC019093BD01A093BE01B093BF011F911D +:104060000F910C94651B0F931F930091BC0110914D +:10407000BD012091BE013091BF01DC01CB01802345 +:104080009123A223B3238093BC019093BD01A093FD +:10409000BE01B093BF011F910F910C94651B0F934C +:1040A0001F930091BC011091BD012091BE01309180 +:1040B000BF01DC01CB0180279127A227B327809382 +:1040C000BC019093BD01A093BE01B093BF011F91AD +:1040D0000F910C94651B0895CF92DF92EF92FF929F +:1040E0000F931F93CF93DF938C01C090C001D090AA +:1040F000C101E090C201F090C3014091BC01509118 +:10410000BD016091BE017091BF01C42AD52AE62A83 +:10411000F72ACFE1D0E0D701C6010C2E04C0B69536 +:10412000A795979587950A94D2F780FF07C0B801A5 +:104130008C2F0E94940C8130910531F4219758F70F +:10414000B80180E00E94940CDF91CF911F910F91F4 +:10415000FF90EF90DF90CF90089590910C019923FC +:1041600021F090910D01911109C020910E01309123 +:104170000F01F90132969FEF40E030C0982F9695DD +:10418000969596959F30A0F4E0910E01F0910F0165 +:10419000E90FF11D877021E030E0A90102C0440F52 +:1041A000551F8A95E2F7CA019181892B8183089571 +:1041B0009091D70190FF23C01F928F9389E297E0DF +:1041C0009F938F930E9497080F900F900F900F90DE +:1041D00008959F3F39F04F5F4E3041F05191581391 +:1041E000F8CF0DC05111F7CF942FF5CF9F3F39F085 +:1041F000F901E90FF11D97FDFA958283089508955D +:1042000090910C01992321F090910D01911109C019 +:1042100020910E0130910F01F9013296205F3F4F3E +:1042200030C0982F9695969596959F30A8F4E0917A +:104230000E01F0910F01E90FF11D877021E030E0D0 +:10424000A90102C0440F551F8A95E2F7CA01809563 +:1042500091818923818308959091D70190FF16C0A1 +:104260001F928F938BE097E09F938F930E94970804 +:104270000F900F900F900F9008953196E217F3076B +:1042800029F090819813F9CF1082F7CF089581E03B +:1042900090E0E0910E01F0910F01E80FF91F1082FC +:1042A000019680319105A9F708959091D601892B47 +:1042B0008093D601089580959091D60189238093AB +:1042C000D60108951092D60108959091D501892BB9 +:1042D0008093D501089580959091D501892380938D +:1042E000D50108951092D50108958093C4010895D1 +:1042F0001092C401089580910E0190910F01FC016C +:1043000031969C01205F3F4F80E0919191118F5F2A +:10431000E217F307D1F70895E0910E01F0910F0134 +:104320008091D6018083E0910E01F0910F01908180 +:104330008091D501892B80838091C401882361F00D +:10434000E0910E01F0910F019081892B80830E94F2 +:104350007B2181111092C40180910E0190910F0177 +:104360000C94A51590933B0180933A010895CF9248 +:10437000DF92EF92FF926C01EE24FF24C114D1046E +:10438000E104F10421F0C701B60120E101C020E001 +:10439000C72ED82EE92EFF24C114D104E104F10464 +:1043A00019F0285FC701B6016B017C0154E0F69457 +:1043B000E794D794C7945A95D1F7C114D104E10476 +:1043C000F10419F02C5FC701B6016B017C0142E0DA +:1043D000F694E794D794C7944A95D1F7C114D104C1 +:1043E000E104F10419F02E5FC701B601DC01CB0135 +:1043F000B695A79597958795892B8A2B8B2B09F0D6 +:104400002F5F822FFF90EF90DF90CF9008958295DD +:10441000982F9C7C392F36953695282F237344E0AE +:10442000249FC0011124932F982B292F2A7A269597 +:10443000892F8575880F822B08951F93CF93DF9363 +:104440001F92CDB7DEB799830E940722182F99815A +:10445000892F0E940722212F30E0322F2227A90125 +:10446000482BCA010F90DF91CF911F910895809141 +:10447000F001843009F11092D80120E488E190E045 +:104480000FB6F894A895809360000FBE209360004B +:1044900083B7817F846083BF83B7816083BF789453 +:1044A000889583B78E7F83BF88E10FB6F894809399 +:1044B0006000109260000FBE089508950895CF9394 +:1044C0000E945D220E94390A0E945E22C0E08C2F69 +:1044D0000E94650B811104C0CF5FCE30C1F701C0CF +:1044E00081E0CF9108950C94771B82E084BD93E026 +:1044F00095BD9AEF97BD80936E0008952FB7F894FD +:104500008091D9019091DA01A091DB01B091DC0199 +:104510002FBF0895CF92DF92EF92FF920F931F93D8 +:104520002FB7F8944091D9015091DA016091DB01E5 +:104530007091DC012FBF6A017B01EE24FF248C0106 +:1045400020E030E0C016D106E206F30610F4415038 +:1045500051099A01281B390BC9011F910F91FF9036 +:10456000EF90DF90CF9008951F920F920FB60F92A9 +:1045700011248F939F93AF93BF938091D901909112 +:10458000DA01A091DB01B091DC010196A11DB11D02 +:104590008093D9019093DA01A093DB01B093DC0101 +:1045A000BF91AF919F918F910F900FBE0F901F9071 +:1045B00018950E949712F8942FEF87EA91E6215000 +:1045C00080409040E1F700C0000087E090EBDC0104 +:1045D0008093F9019093FA01A093FB01B093FC0141 +:1045E0009CE088E10FB6F894A895809360000FBE18 +:1045F00090936000FFCFEF92FF920F931F93CF93A2 +:10460000DF93D82FC0E08C2F0E94650B00E010E0F4 +:10461000E82EF12CC701002E02C0959587950A94CB +:10462000E2F780FD06C00F5F1F4F0630110591F7BE +:1046300009C0602F7C2F80E00E94720CD813F3CF4A +:1046400081E004C0CF5FCE30F1F680E0DF91CF9102 +:104650001F910F91FF90EF900895CF93C82F8CE298 +:104660000E94FB22882321F08C2FCF910C94FB22F7 +:1046700080E0CF910895CF930E948A24811102C0D7 +:104680000E9470248EE497E00E94FE07C5E6C150A8 +:1046900049F00E94390A8FE39CE90197F1F700C0C5 +:1046A0000000F5CF87E497E00E94FE0789E20E94B0 +:1046B0002D23811113C18AE20E942D2381110E94B2 +:1046C000702485E00E942D2381110E94D9220E942E +:1046D00095248093D70187E00E942D238823A9F198 +:1046E0008BE10E942D23882351F08091D70181FB1B +:1046F000222720F991E0922790FB81F90EC08EE0ED +:104700000E942D23882361F08091D70182FB22270C +:1047100020F991E0922790FB82F98093D70115C090 +:1047200080E10E942D239091D701882341F093FBD3 +:10473000222720F981E0822780FB93F904C0892F8A +:10474000809580FB90F99093D7018091D7010E94CA +:1047500099240E94A7248093EA0180EE0E942D23D1 +:10476000882341F08091EA01982F909590FB80F981 +:104770008093EA0189E30E942D23882359F08091D8 +:10478000EA0181FB222720F991E0922790FB81F931 +:104790008093EA0182EE0E942D23882359F08091B4 +:1047A000EA0182FB222720F991E0922790FB82F90F +:1047B0008093EA0186EE0E942D23882359F0809190 +:1047C000EA0183FB222720F991E0922790FB83F9ED +:1047D0008093EA0183EE0E942D23882359F0809173 +:1047E000EA0184FB222720F991E0922790FB84F9CB +:1047F0008093EA0185E30E942D23882359F080915C +:10480000EA0185FB222720F991E0922790FB85F9A8 +:104810008093EA0181E30E942D23882359F080913F +:10482000EA0186FB222720F991E0922790FB86F986 +:104830008093EA0181E10E942D23882359F0809121 +:10484000EA0187FB222720F991E0922790FB87F964 +:104850008093EA018091EA010E94AB248091EA01F1 +:1048600087FB882780F980930D0187E20E942D2322 +:10487000C82F8EE10E942D238111C2608FE10E941A +:104880002D238111C46080E20E942D238111C86014 +:1048900081E20E942D238111C06182E20E942D23BA +:1048A0008111C06283E20E942D238111C06484E2E1 +:1048B0000E942D23882311F0C06802C0CC2329F068 +:1048C0008C2F0E94A2246C2F03C00E949E24682F6C +:1048D00070E080E090E0CF910C94331FCF91089569 +:1048E0006DEE7EEF80E090E00E94732E60E082E04B +:1048F00090E00E94652E60E083E090E00E94652ECB +:1049000060E084E090E00E94652E60E085E090E049 +:104910000C94652E80E090E00E945F2E21E08D3E99 +:104920009E4F09F020E0822F089582E090E00C94E1 +:10493000572E682F82E090E00C94652E83E090E083 +:104940000C94572E682F83E090E00C94652E84E041 +:1049500090E00C94572E682F84E090E00C94652E24 +:104960008091DF0180FF0BC06091130185E0689F9B +:10497000B001112475956795759567952BC081FFDA +:1049800009C06091130185E0689FB00111247595FD +:10499000679520C082FF07C06091130185E0689F82 +:1049A000B001112417C09091E0019923D1F06091DA +:1049B0001201961788F72091130185E0289F900136 +:1049C0001124929FA001939F500D112470E0CA0101 +:1049D0000E94292E6038710540F46115710539F087 +:1049E00002C065E070E0862F08958FE7089581E0AA +:1049F00008958091DF0180FF08C06091110170E08F +:104A0000759567957595679521C081FF06C0609182 +:104A1000110170E07595679519C082FF04C060911F +:104A2000110170E010C09091E0019923C1F06091F4 +:104A300010019617A0F780911101899FC0011124E0 +:104A400070E00E94292E6038710528F46115710507 +:104A500021F0862F08958FE7089581E0089561E0A1 +:104A600070E0F4CF803F21F40E94B024819504C00F +:104A7000813F29F40E94B0248093E3010895823F8E +:104A800021F40E94B024819504C0833F29F40E9440 +:104A9000B0248093E2010895893F19F40E94F9241B +:104AA00005C08A3F31F40E94F92481958093E40186 +:104AB00008958B3F21F40E94F924819504C08C3F16 +:104AC00029F40E94F9248093E5010895843F21F49C +:104AD0008091E101816017C0853F21F48091E1015F +:104AE000826011C0863F21F48091E10184600BC097 +:104AF000873F21F48091E101886005C0883F31F44F +:104B00008091E10180618093E10108958D3F21F45E +:104B10008091DF0181600BC08E3F21F48091DF0125 +:104B2000826005C08F3F29F48091DF01846080930B +:104B3000DF010895803F39F48091E30187FF6CC065 +:104B40001092E30169C0813F29F48091E3011816B6 +:104B5000BCF362C09091E201823F29F497FF5CC0F0 +:104B60001092E20159C0833F19F41916CCF354C0D6 +:104B7000893F41F48091E40118160CF04DC0109269 +:104B8000E4014AC08A3F29F48091E40187FF44C0D0 +:104B9000F6CF8B3F39F48091E50187FF3DC010923D +:104BA000E5013AC08C3F29F48091E5011816BCF369 +:104BB00033C0843F21F48091E1018E7F17C0853F8F +:104BC00021F48091E1018D7F11C0863F21F4809115 +:104BD000E1018B7F0BC0873F21F48091E101877F4A +:104BE00005C0883F31F48091E1018F7E8093E1011F +:104BF00013C08D3F21F48091DF018E7F0BC08E3F6B +:104C000021F48091DF018D7F05C08F3F29F48091D1 +:104C1000DF018B7F8093DF018091E20181110EC063 +:104C20008091E30181110AC08091E401811106C0E5 +:104C30008091E501811102C01092E00108958091F8 +:104C4000D70183FF7EC08AE897E00E94FE0780912B +:104C5000E1011F928F9385E897E09F938F930E94C5 +:104C6000970883E897E00E94FE078091E201282FD1 +:104C7000332727FD30953F938F9380E897E09F93EC +:104C80008F930E9497088EE797E00E94FE0780911D +:104C9000E301282F332727FD30953F938F938BE730 +:104CA00097E09F938F930E94970889E797E00E946F +:104CB000FE078091E401282F332727FD30953F938D +:104CC0008F9386E797E09F938F930E94970884E7DE +:104CD00097E00E94FE078091E501282F332727FDEA +:104CE00030953F938F9381E797E09F938F930E9436 +:104CF00097088EE697E00E94FE078091E0011F92E0 +:104D00008F938BE697E09F938F930E94970889E695 +:104D100097E00E94FE078091DF011F928F9386E645 +:104D200097E09F938F930E94970883E697E00E94F5 +:104D3000FE078DB79EB74C960FB6F8949EBF0FBE78 +:104D40008DBF81EE91E00E94EE150E947E2290932D +:104D5000DE018093DD0108951F93CF93DF9380914F +:104D6000DD019091DE010E948A22AC019091E00168 +:104D7000992321F02091140130E006C02091150103 +:104D80008AE0289F900111244217530708F486C037 +:104D90008091E201C091E301D091E4011091E5011D +:104DA000811107C0C11176C0D11174C0111172C038 +:104DB00075C09F3F19F09F5F9093E001181624F48F +:104DC0000E94B0248093E2018091E20187FF05C038 +:104DD0000E94B02481958093E2011C1624F40E9465 +:104DE000B0248093E3018091E30187FF05C00E9416 +:104DF000B02481958093E3016091E201662339F14B +:104E0000C091E301CC2319F1772767FD7095872FB7 +:104E1000972F0E942E2D23E333E343E35FE30E94A9 +:104E2000922D0E94FB2C6093E2016C2F772767FD87 +:104E30007095872F972F0E942E2D23E333E343E3B2 +:104E40005FE30E94922D0E94FB2C6093E3011D16EC +:104E500024F40E94F9248093E4018091E40187FF07 +:104E600005C00E94F92481958093E401111624F471 +:104E70000E94F9248093E5018091E50187FF05C038 +:104E80000E94F92481958093E501DF91CF911F91D4 +:104E90000C941F269F3F09F08ECF96CFDF91CF91C4 +:104EA0001F910895E1EEF1E085E0DF011D928A9502 +:104EB000E9F71092E0011092DF0108958DEA99E080 +:104EC0000E94FE071F9281E08F931F9285E08F93CF +:104ED0008FE599E09F938F930E9497080F900F9012 +:104EE0000F900F900F900F9008958330E9F128F400 +:104EF000813061F0823009F10895853009F462C093 +:104F000008F449C0863009F474C0089580911501F1 +:104F1000262F30E0280F311D2F3F310524F4680F74 +:104F20006093150103C08FEF8093150180911501E7 +:104F30001F928F9388E998E072C080911401262F08 +:104F400030E0280F311D2F3F310524F4680F6093A6 +:104F5000140103C08FEF80931401809114011F92FC +:104F60008F9386E898E05BC080911301262F30E094 +:104F7000280F311D2F3F310524F4680F6093130172 +:104F800003C08FEF80931301809113011F928F93C1 +:104F900083E798E044C080911201262F30E0280F6B +:104FA000311D2F3F310524F4680F6093120103C0B7 +:104FB0008FEF80931201809112011F928F938EE5E3 +:104FC00098E02DC080911101262F30E0280F311D6F +:104FD0002F3F310524F4680F6093110103C08FEF58 +:104FE00080931101809111011F928F9385E498E0C5 +:104FF00016C080911001262F30E0280F311D2F3F61 +:10500000310524F4680F6093100103C08FEF809383 +:105010001001809110011F928F938AE298E09F9374 +:105020008F930E9497080F900F900F900F90089504 +:10503000833081F128F4813059F08230D1F0089525 +:10504000853009F449C0B8F1863009F456C0089596 +:1050500080911501681720F4861B8093150102C00A +:1050600010921501809115011F928F938BE198E0AA +:1050700054C080911401681720F4861B809314019A +:1050800002C010921401809114011F928F9389E045 +:1050900098E043C080911301681720F4861B809329 +:1050A000130102C010921301809113011F928F937C +:1050B00086EF97E032C080911201681720F4861BBA +:1050C0008093120102C010921201809112011F926E +:1050D0008F9381EE97E021C080911101681720F431 +:1050E000861B8093110102C0109211018091110161 +:1050F0001F928F9388EC97E010C080911001681781 +:1051000020F4861B8093100102C010921001809140 +:1051100010011F928F938DEA97E09F938F930E94C7 +:1051200097080F900F900F900F900895CF93C82F6E +:105130001F928F9382EB9AE09F938F930E94970820 +:1051400081E090E0A0E0B0E0BC01CD0104C0660FBA +:10515000771F881F991FCA95D2F70E94331F0F909F +:105160000F900F900F90CF910C94771BCF938D31B0 +:1051700009F465C0B0F58E3009F4CCC100F5873074 +:1051800009F49BC1A8F4863009F06DC28091D70163 +:10519000817F8E7F8093D70187EB9AE00E94FE0784 +:1051A00089EF9EE00E94FE0781E08093E70180C1C5 +:1051B000883009F44FC08B3009F47CC154C2863169 +:1051C00009F4F0C138F4803109F4B8C1813109F42F +:1051D00030C249C2893109F4CEC18B3109F486C18C +:1051E00042C2853309F437C248F4873209F433C226 +:1051F00008F433C2893209F42EC235C2833438F43C +:105200008A3308F02CC2883309F454C12CC2833489 +:1052100009F421C2883409F026C20E94771B88EE67 +:105220009EE00E94FE079FEF23ED80E39150204017 +:105230008040E1F700C000000E94D92239C188E017 +:105240009FE00E94FE070E94B52C0E9499150E94C3 +:10525000CB0D2EC18DEF9EE00E94FE0788EC9CE0F6 +:105260000E94FE070E949E241F928F9385EC9CE073 +:105270009F938F930E94970883EC9CE00E94FE0707 +:105280000E949524C82F80EB9CE00E94FE071F928D +:10529000CF938BEA9CE09F938F930E94970889EAB3 +:1052A0009CE00E94FE078FE99CE00E94FE078C2F85 +:1052B00081701F928F938CE99CE09F938F930E9443 +:1052C00097088AE99CE00E94FE0780E99CE00E9422 +:1052D000FE07C1FB882780F91F928F938DE89CE021 +:1052E0009F938F930E9497088BE89CE00E94FE0793 +:1052F0008FE79CE00E94FE07C2FB882780F91F927F +:105300008F938CE79CE09F938F930E9497088AE786 +:105310009CE00E94FE0781E79CE00E94FE07C3FB21 +:10532000CC27C0F91F92CF938EE69CE09F938F937A +:105330000E9497088CE69CE00E94FE070E94A7242A +:10534000C82F88E59CE00E94FE071F92CF9383E55B +:105350009CE09F938F930E94970881E59CE00E94B8 +:10536000FE0788E39CE00E94FE078C2F81701F924D +:105370008F9385E39CE09F938F930E9497088DB74E +:105380009EB780960FB6F8949EBF0FBE8DBF83E385 +:105390009CE00E94FE078CE19CE00E94FE07C1FB9E +:1053A000882780F91F928F9389E19CE09F938F93C8 +:1053B0000E94970887E19CE00E94FE0785E09CE040 +:1053C0000E94FE07C2FB882780F91F928F9382E01C +:1053D0009CE09F938F930E94970880E09CE00E943E +:1053E000FE078EEE9BE00E94FE07C3FB882780F934 +:1053F0001F928F938BEE9BE09F938F930E94970851 +:1054000089EE9BE00E94FE078FED9BE00E94FE0765 +:10541000C4FB882780F91F928F938CED9BE09F93AC +:105420008F930E9497088AED9BE00E94FE0788EC0C +:105430009BE00E94FE07C5FB882780F91F928F938F +:1054400085EC9BE09F938F930E94970883EC9BE0F1 +:105450000E94FE0787EA9BE00E94FE07C6FB8827A2 +:1054600080F91F928F9384EA9BE09F938F930E9411 +:10547000970882EA9BE00E94FE078AE99BE00E946F +:10548000FE07C7FBCC27C0F91F92CF9387E99BE0AB +:105490009F938F930E94970885E99BE00E94FE07E7 +:1054A0008DB79EB74C960FB6F8949EBF0FBE8DBFBA +:1054B000C1E0DEC08EED9AE05BC08091D701C82FBD +:1054C000C17080FF09C08BED9EE00E94FE078091B5 +:1054D000D701817F8E7F47C08FEC9EE00E94FE0740 +:1054E0008091D70181608093D701E2CF9091D7015D +:1054F00091FBCC27C0F981E0C827892FC0FB81F937 +:105500008093D701CC2319F082EC9EE027C084EB76 +:105510009EE02EC09091D70192FBCC27C0F981E08C +:10552000C827892FC0FB82F98093D701CC2319F0BB +:1055300085EA9EE013C085E99EE01AC09091D701EC +:1055400093FBCC27C0F981E0C827892FC0FB83F9E2 +:105550008093D701CC2351F089E89EE00E94FE079A +:105560008091D70181608093D70182C08CE79EE053 +:105570000E94FE079DCF8DE69EE00E94FE0781E41B +:105580009EE00E94FE0784E09EE00E94FE0787EDF9 +:105590009DE00E94FE0783E99DE00E94FE0788E6E9 +:1055A0009DE0E6CF8AE59DE00E94FE070E949915E6 +:1055B0001F928F9380E49DE09F938F930E949708A2 +:1055C00080910C011F928F9389E29DE09F938F93AE +:1055D0000E94970880916E011F928F9386E19DE053 +:1055E0009F938F930E94970880910D011F928F9334 +:1055F00083E09DE09F938F930E9497088091D9014B +:105600009091DA01A091DB01B091DC01BF93AF93DF +:105610009F938F938FEE9CE09F938F930E949708A8 +:105620008DB79EB746960FB6F8949EBF0FBE8DBF3E +:105630003FCF0E94771BC0910D0181E0C827C09326 +:105640000D01CC2329F085EE9CE00E94FE0710C0DE +:105650008AED9CE08DCF80E003C08D5101C089535D +:105660000E94962825CF88ED9CE00E94FE07C0E0AE +:105670008C2FCF91089580E0089580E00895CF9316 +:10568000C82F8091E701813081F020F0823009F449 +:105690004FC045C1E0910E01F0910F018081813131 +:1056A00069F0823209F03DC109C0E0910E01F0912C +:1056B0000F018081813111F0823261F48C2F0E94C0 +:1056C0003B2B811104C08C2F0E94B6282FC081E093 +:1056D00090E02CC08C2F0E943D2B811126C0C4313C +:1056E000E1F070F4CB3081F0C031D1F40E945E273C +:1056F0008AEA9AE00E94FE0782E08093E70115C0E3 +:10570000C93259F0C83361F487EB9AE00E94FE0772 +:105710008EEA9AE00E94FE0708C01092E70103C1DA +:1057200088EA9AE00E94FE07FEC081E08170FDC019 +:10573000C43220F5CE3108F0C0C0CB3099F1C8F4A6 +:10574000C73009F0D2C08AE08093150194E19093AC +:10575000140193E0909313018093120188E08093E9 +:10576000110188E2809310018EE499E00E94FE0707 +:10577000BFC0C33149F1C431C1F0B7C0CB3409F463 +:10578000A9C028F4C93289F0C83361F0AEC0C13570 +:1057900009F49EC0C23509F499C0CE3409F0A5C001 +:1057A0006AE09EC00E945E27A3C08091E601882324 +:1057B00019F01092E6019CC08BE599E00E94FE076B +:1057C00081E08093E701B1C085E399E00E94FE0784 +:1057D00083E299E00E94FE07809115011F928F934A +:1057E00080E299E09F938F930E9497088EE199E061 +:1057F0000E94FE078CE099E00E94FE078091140150 +:105800001F928F9389E099E09F938F930E9497084E +:1058100087E099E00E94FE0788EF98E00E94FE076B +:10582000809113011F928F9385EF98E09F938F9340 +:105830000E94970883EF98E00E94FE0782EE98E0AE +:105840000E94FE07809112011F928F938FED98E0C6 +:105850009F938F930E9497088DED98E00E94FE071A +:1058600088EC98E00E94FE07809111011F928F93AF +:1058700085EC98E09F938F930E94970883EC98E0C3 +:105880000E94FE078CEA98E00E94FE0780911001BA +:105890001F928F9389EA98E09F938F930E949708B5 +:1058A00087EA98E00E94FE078DB79EB748960FB62C +:1058B000F8949EBF0FBE8DBF1BC0CE51EC2FF0E001 +:1058C000E15DFE4F80818093E60112C061E003C07C +:1058D00061E006C06AE08091E6010E94752708C079 +:1058E0008091E6010E94182803C08CE499E013C05F +:1058F0008091E601882369F01F928F9386E499E0F6 +:105900009F938F930E9497080F900F900F900F9086 +:1059100004C083E499E00E94FE0781E006C0109273 +:10592000E70180E002C080E001CFCF910895E1E877 +:10593000F0E08081886080838081816080838FB780 +:10594000F89493E09093890090ED909388008FBF36 +:105950000895EFE6F0E08081826080830895EFE6AD +:10596000F0E080818D7F80830895EFE6F0E0908104 +:1059700082E08927808308951F920F920FB60F92BD +:1059800011242F933F934F935F936F937F938F9344 +:105990009F93AF93BF93EF93FF938091E801909112 +:1059A000E90101969093E9018093E801811103C018 +:1059B00082E00E94CB0DE091E901E695E695F0E0EA +:1059C000E85EF04FE4918091E8018E1303C080E01F +:1059D0000E94CB0DFF91EF91BF91AF919F918F915D +:1059E0007F916F915F914F913F912F910F900FBEDB +:1059F0000F901F90189504D06894B1118DC0089530 +:105A000070D088F09F5790F0B92F9927B751A0F028 +:105A1000D1F0660F771F881F991F1AF0BA95C9F742 +:105A200012C0B13081F077D0B1E0089574C0672F13 +:105A3000782F8827B85F39F0B93FCCF386957795F2 +:105A40006795B395D9F73EF49095809570956195DB +:105A50007F4F8F4F9F4F0895E89409C097FB3EF406 +:105A600090958095709561957F4F8F4F9F4F9923AB +:105A7000A9F0F92F96E9BB279395F6958795779529 +:105A80006795B795F111F8CFFAF4BB0F11F460FFE9 +:105A90001BC06F5F7F4F8F4F9F4F16C0882311F041 +:105AA00096E911C0772321F09EE8872F762F05C055 +:105AB000662371F096E8862F70E060E02AF09A95F0 +:105AC000660F771F881FDAF7880F9695879597F9E5 +:105AD000089557FD9058440F551F59F05F3F71F0DE +:105AE0004795880F97FB991F61F09F3F79F0879545 +:105AF0000895121613061406551FF2CF4695F1DFCE +:105B000008C0161617061806991FF1CF869571055D +:105B1000610508940895E894BB2766277727CB0191 +:105B200097F908950BD078C069D028F06ED018F09E +:105B3000952309F05AC05FC01124EECFCADFA0F34D +:105B4000959FD1F3950F50E0551F629FF001729F12 +:105B5000BB27F00DB11D639FAA27F00DB11DAA1F31 +:105B6000649F6627B00DA11D661F829F2227B00D7E +:105B7000A11D621F739FB00DA11D621F839FA00D09 +:105B8000611D221F749F3327A00D611D231F849F59 +:105B9000600D211D822F762F6A2F11249F575040B0 +:105BA0008AF0E1F088234AF0EE0FFF1FBB1F661F4B +:105BB000771F881F91505040A9F79E3F510570F004 +:105BC00014C0AACF5F3FECF3983EDCF3869577953F +:105BD0006795B795F795E7959F5FC1F7FE2B880FFF +:105BE000911D9695879597F9089597F99F6780E895 +:105BF00070E060E008959FEF80EC089500240A941F +:105C00001616170618060906089500240A94121697 +:105C10001306140605060895092E0394000C11F4CA +:105C2000882352F0BB0F40F4BF2B11F460FF04C077 +:105C30006F5F7F4F8F4F9F4F0895991B79E004C08E +:105C4000991F961708F0961B881F7A95C9F78095BB +:105C5000089597FB072E16F4009407D077FD09D01E +:105C60000E94432E07FC05D03EF4909581959F4FEE +:105C70000895709561957F4F0895EE0FFF1F059071 +:105C8000F491E02D0994AA1BBB1B51E107C0AA1F88 +:105C9000BB1FA617B70710F0A61BB70B881F991FCD +:105CA0005A95A9F780959095BC01CD010895F99971 +:105CB000FECF92BD81BDF89A992780B50895A8E1DD +:105CC000B0E042E050E00C947A2E262FF999FECFF6 +:105CD0001FBA92BD81BD20BD0FB6F894FA9AF99A09 +:105CE0000FBE019608950E94652E272F0C94662EF4 +:105CF000DC01CB01FC01F999FECF06C0F2BDE1BD8C +:105D0000F89A319600B40D9241505040B8F708957A +:045D1000F894FFCF35 +:105D14002002CC0DBD0E9A0E660E320E0101C50195 +:105D240028080A03140A3F4D36203998064B0615F5 +:105D340006F505BC052F05480561057A059A050198 +:0A5D44000203040506070809000029 :00000001FF From 2311754a897751b5a46a280d895ae58105729b27 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stephan=20Bo=CC=88sebeck?= Date: Sun, 10 Jan 2016 00:02:05 +0100 Subject: [PATCH 16/64] added mouse wheel support, CMD-V/CMD-C instead of CTRL --- keyboard/ergodox_ez/keymaps/keymap_osx_de.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/keyboard/ergodox_ez/keymaps/keymap_osx_de.c b/keyboard/ergodox_ez/keymaps/keymap_osx_de.c index ded7c67923..19c0b4b5f6 100644 --- a/keyboard/ergodox_ez/keymaps/keymap_osx_de.c +++ b/keyboard/ergodox_ez/keymaps/keymap_osx_de.c @@ -40,7 +40,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // Otherwise, it needs KC_* [BASE] = KEYMAP( // layer 0 : default // left hand - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_LCTL, + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, LGUI(KC_V), KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LGUI, TG(3), KC_A, KC_S, KC_D, KC_F, KC_G, KC_LSFT, CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, KC_LALT, @@ -49,7 +49,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_HOME, KC_BSPC,KC_DEL,KC_END, // right hand - KC_RCTL, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, + LGUI(KC_C), KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_RGUI, KC_Y, KC_U, KC_I, KC_O, KC_P, DE_UE, KC_H, KC_J, KC_K, KC_L, KC_SCLN,LT(MDIA,DE_AE), KC_RALT,KC_N, KC_M, KC_COMM,KC_DOT, CTL_T(KC_SLSH), KC_RSFT, @@ -126,7 +126,7 @@ KEYMAP( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_U, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_WH_L, KC_WH_U, KC_WH_D, KC_WH_R, KC_BTN3, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN1, KC_BTN2, KC_TRNS, KC_TRNS, KC_TRNS, From 386ca6531bfc2a9ab4ddecfa105bcc10890fabc9 Mon Sep 17 00:00:00 2001 From: Aron Griffis Date: Sun, 10 Jan 2016 10:25:16 -0500 Subject: [PATCH 17/64] Rename to keymap_kines-ish.c and add README --- .../{keymap_kinesis.c => keymap_kines-ish.c} | 0 .../keymaps/keymap_kines-ish_README.md | 19 +++++++++++++++++++ 2 files changed, 19 insertions(+) rename keyboard/ergodox_ez/keymaps/{keymap_kinesis.c => keymap_kines-ish.c} (100%) create mode 100644 keyboard/ergodox_ez/keymaps/keymap_kines-ish_README.md diff --git a/keyboard/ergodox_ez/keymaps/keymap_kinesis.c b/keyboard/ergodox_ez/keymaps/keymap_kines-ish.c similarity index 100% rename from keyboard/ergodox_ez/keymaps/keymap_kinesis.c rename to keyboard/ergodox_ez/keymaps/keymap_kines-ish.c diff --git a/keyboard/ergodox_ez/keymaps/keymap_kines-ish_README.md b/keyboard/ergodox_ez/keymaps/keymap_kines-ish_README.md new file mode 100644 index 0000000000..5d39a0590d --- /dev/null +++ b/keyboard/ergodox_ez/keymaps/keymap_kines-ish_README.md @@ -0,0 +1,19 @@ +This keymap attempts to match the Kinesis Contoured (aka Advantage) default +layout as closely as possible. See +http://www.kinesis-ergo.com/wp-content/uploads/2013/06/advantage_layout_win.pdf + +Apart from the obvious mappings, this keymap also: + +* removes the dual-purpose momentary layer/normal keys: Z, /, and Grv; + because the author--coming from a Kinesis keyboard--finds the delays and + accidental modifiers to be more disconcerting than helpful. + +* puts Esc in the bottom left since there's no place for it in the top + left to match the Kinesis. + +* changes the bottom-right key into an L2 toggle since there's otherwise no + way to get to L2. + +* adds PrScr, ScrLk and Pause to the L1 keymap, down the left side, since + they're present on the Kinesis but not available in the default + ergodox_ez keymap. From 6050971d01606a05ad34e1eec402b8aab4c5606d Mon Sep 17 00:00:00 2001 From: coderkun Date: Tue, 12 Jan 2016 06:28:24 +0100 Subject: [PATCH 18/64] add neo2 keymap for ergodoxEZ --- .../ergodox_ez/keymaps/keymap_coderkun_neo2.c | 94 +++++++++++++++++++ 1 file changed, 94 insertions(+) create mode 100644 keyboard/ergodox_ez/keymaps/keymap_coderkun_neo2.c diff --git a/keyboard/ergodox_ez/keymaps/keymap_coderkun_neo2.c b/keyboard/ergodox_ez/keymaps/keymap_coderkun_neo2.c new file mode 100644 index 0000000000..5f24db8fe2 --- /dev/null +++ b/keyboard/ergodox_ez/keymaps/keymap_coderkun_neo2.c @@ -0,0 +1,94 @@ +#include "ergodox_ez.h" +#include "debug.h" +#include "action_layer.h" +#include "keymap_extras/keymap_neo2.h" + +// Layer names +#define BASE 0 // default layer + + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +/* Layer 0 (default) + * ┌───────┬─────┬─────┬─────┬─────┬─────┬─────┐ ┌─────┬─────┬─────┬─────┬─────┬─────┬───────┐ + * │ TAB │ 1 │ 2 │ 3 │ 4 │ 5 │ ` │ │ ´ │ 6 │ 7 │ 8 │ 9 │ 0 │ BKSPC │ + * ├───────┼─────┼─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┼─────┼─────┼───────┤ + * │ Y │ X │ V │ L │ C │ W │ HOM │ │ END │ K │ H │ G │ F │ Q │ ß │ + * ├───────┼─────┼─────┼─────┼─────┼─────┤ E │ │ ├─────┼─────┼─────┼─────┼─────┼───────┤ + * │ Mod3 │ U │ I │ A │ E │ O ├─────┤ ├─────┤ S │ N │ R │ T │ D │ Mod3 │ + * ├───────┼─────┼─────┼─────┼─────┼─────┤ TL2 │ │ TL3 ├─────┼─────┼─────┼─────┼─────┼───────┤ + * │ LSHFT │ Ü │ Ö │ Ä │ P │ Z │ │ │ │ B │ M │ , │ . │ J │ Shift │ + * └─┬─────┼─────┼─────┼─────┼─────┼─────┴─────┘ └─────┴─────┼─────┼─────┼─────┼─────┼─────┬─┘ + * │ CTL │ ALT │ MO1 │ Win │ Mod4│ │ Mod4│ Win │ MO1 │ Alt │ CTL │ + * └─────┴─────┴─────┴─────┴─────┘ ┌─────┬─────┐ ┌─────┬─────┐ └─────┴─────┴─────┴─────┴─────┘ + * │ ← │ ↑ │ │ ↓ │ → │ + * ┌─────┼─────┼─────┤ ├─────┼─────┼─────┐ + * │ │ │ ─ │ │ ─ │ │ │ + * │ SPC │ RTN ├─────┤ ├─────┤ RTN │ SPC │ + * │ │ │ HYP │ │ MEH │ │ │ + * └─────┴─────┴─────┘ └─────┴─────┴─────┘ + */ +[BASE] = KEYMAP( + // left hand + KC_TAB, KC_1, KC_2, KC_3, KC_4, KC_5, KC_EQL, + NEO_Y, NEO_X, NEO_V, NEO_L, NEO_C, NEO_W, KC_HOME, + NEO_L1_L, NEO_U, NEO_I, NEO_A, NEO_E, NEO_O, + KC_LSFT, NEO_UE, NEO_OE, NEO_AE, NEO_P, NEO_Z, KC_TRNS, + KC_LCTL, KC_LALT,KC_TRNS,KC_LGUI,NEO_L2_L, + KC_LEFT, KC_UP, + KC_MINS, + KC_SPC, KC_ENT, ALL_T(KC_NO), + // right hand + DE_ACUT, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, + KC_END, NEO_K, NEO_H, NEO_G, NEO_F, NEO_Q, NEO_SS, + NEO_S, NEO_N, NEO_R, NEO_T, NEO_D, NEO_L1_R, + KC_TRNS, NEO_B, NEO_M, KC_COMM,KC_DOT, NEO_J, KC_RSFT, + NEO_L2_R,KC_RGUI,KC_TRNS,KC_RALT,KC_RCTL, + KC_DOWN, KC_RGHT, + KC_MINS, + MEH_T(KC_NO),KC_ENT,KC_SPC + ), +}; + +const uint16_t PROGMEM fn_actions[] = { +}; + + +const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) +{ + // MACRODOWN only works in this function + switch(id) { + case 0: + if (record->event.pressed) { + register_code(KC_RSFT); + } + else { + unregister_code(KC_RSFT); + } + break; + } + + return MACRO_NONE; +}; + + +// 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) { + default: + ergodox_board_led_off(); + break; + } + +}; From e4d087c7c0f1e337e8db89326fc14d9f80c09b86 Mon Sep 17 00:00:00 2001 From: coderkun Date: Tue, 12 Jan 2016 07:01:02 +0100 Subject: [PATCH 19/64] add basic layer 1 --- .../ergodox_ez/keymaps/keymap_coderkun_neo2.c | 47 ++++++++++++++++++- 1 file changed, 45 insertions(+), 2 deletions(-) diff --git a/keyboard/ergodox_ez/keymaps/keymap_coderkun_neo2.c b/keyboard/ergodox_ez/keymaps/keymap_coderkun_neo2.c index 5f24db8fe2..d020c5ad11 100644 --- a/keyboard/ergodox_ez/keymaps/keymap_coderkun_neo2.c +++ b/keyboard/ergodox_ez/keymaps/keymap_coderkun_neo2.c @@ -5,6 +5,7 @@ // Layer names #define BASE 0 // default layer +#define FMU 1 // FMU layer const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { @@ -33,7 +34,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { NEO_Y, NEO_X, NEO_V, NEO_L, NEO_C, NEO_W, KC_HOME, NEO_L1_L, NEO_U, NEO_I, NEO_A, NEO_E, NEO_O, KC_LSFT, NEO_UE, NEO_OE, NEO_AE, NEO_P, NEO_Z, KC_TRNS, - KC_LCTL, KC_LALT,KC_TRNS,KC_LGUI,NEO_L2_L, + KC_LCTL, KC_LALT,MO(FMU),KC_LGUI,NEO_L2_L, KC_LEFT, KC_UP, KC_MINS, KC_SPC, KC_ENT, ALL_T(KC_NO), @@ -42,14 +43,54 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_END, NEO_K, NEO_H, NEO_G, NEO_F, NEO_Q, NEO_SS, NEO_S, NEO_N, NEO_R, NEO_T, NEO_D, NEO_L1_R, KC_TRNS, NEO_B, NEO_M, KC_COMM,KC_DOT, NEO_J, KC_RSFT, - NEO_L2_R,KC_RGUI,KC_TRNS,KC_RALT,KC_RCTL, + NEO_L2_R,KC_RGUI,MO(FMU),KC_RALT,KC_RCTL, KC_DOWN, KC_RGHT, KC_MINS, MEH_T(KC_NO),KC_ENT,KC_SPC ), +/* Layer 1 (F-keys, Mouse and Unicode) + * ┌───────┬─────┬─────┬─────┬─────┬─────┬─────┐ ┌─────┬─────┬─────┬─────┬─────┬─────┬───────┐ + * │ │ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ │ F7 │ F8 │ F9 │ F10 │ F11 │ F12 │ │ + * ├───────┼─────┼─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┼─────┼─────┼───────┤ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├───────┼─────┼─────┼─────┼─────┼─────┤ │ │ ├─────┼─────┼─────┼─────┼─────┼───────┤ + * │ │ │ │ │ │ ├─────┤ ├─────┤ │ │ │ │ │ │ + * ├───────┼─────┼─────┼─────┼─────┼─────┤ │ │ ├─────┼─────┼─────┼─────┼─────┼───────┤ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * └─┬─────┼─────┼─────┼─────┼─────┼─────┴─────┘ └─────┴─────┼─────┼─────┼─────┼─────┼─────┬─┘ + * │ │ │ │ │ │ │ │ │ │ │ │ + * └─────┴─────┴─────┴─────┴─────┘ ┌─────┬─────┐ ┌─────┬─────┐ └─────┴─────┴─────┴─────┴─────┘ + * │ Ms← │ Ms↑ │ │ Ms↓ │ Ms→ │ + * ┌─────┼─────┼─────┤ ├─────┼─────┼─────┐ + * │ │ │ │ │ │ │ │ + * │ │ ├─────┤ ├─────┤ │ │ + * │ │ │ │ │ │ │ │ + * └─────┴─────┴─────┘ └─────┴─────┴─────┘ + */ +[FMU] = KEYMAP( + // left hand + KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, + KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, + KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, + KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, + KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, + KC_MS_L, KC_MS_U, + KC_BTN1, + KC_TRNS,KC_TRNS, KC_TRNS, + // right hand + KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, + KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, + KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, + KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, + KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, + KC_MS_D, KC_MS_R, + KC_BTN2, + KC_TRNS, KC_TRNS,KC_TRNS + ), }; const uint16_t PROGMEM fn_actions[] = { + [1] = ACTION_LAYER_TAP_TOGGLE(FMU) }; @@ -86,6 +127,8 @@ void * matrix_scan_user(void) ergodox_right_led_2_off(); ergodox_right_led_3_off(); switch (layer) { + case FMU: + ergodox_right_led_1_on(); default: ergodox_board_led_off(); break; From a085265aaa18cbaedfd7ff21364877b9c018083c Mon Sep 17 00:00:00 2001 From: Erez Zukerman Date: Tue, 12 Jan 2016 22:32:29 +0200 Subject: [PATCH 20/64] Disables debug console by default for improved performance --- keyboard/ergodox_ez/Makefile | 4 +- .../ergodox_ez/keymaps/keymap_default.hex | 2443 +++++++++-------- 2 files changed, 1226 insertions(+), 1221 deletions(-) diff --git a/keyboard/ergodox_ez/Makefile b/keyboard/ergodox_ez/Makefile index 3b70258402..03c806131d 100644 --- a/keyboard/ergodox_ez/Makefile +++ b/keyboard/ergodox_ez/Makefile @@ -94,13 +94,13 @@ OPT_DEFS += -DBOOTLOADER_SIZE=512 BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000) MOUSEKEY_ENABLE = yes # Mouse keys(+4700) EXTRAKEY_ENABLE = yes # Audio control and System control(+450) -CONSOLE_ENABLE = yes # Console for debug(+400) +CONSOLE_ENABLE = no # Console for debug(+400) COMMAND_ENABLE = yes # Commands for debug and configuration CUSTOM_MATRIX = yes # Custom matrix file for the ErgoDox EZ SLEEP_LED_ENABLE = yes # Breathing sleep LED during USB suspend NKRO_ENABLE = yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work # MIDI_ENABLE = yes # MIDI controls -# uNICODE_ENABLE = yes # Unicode +# UNICODE_ENABLE = yes # Unicode # Optimize size but this may cause error "relocation truncated to fit" diff --git a/keyboard/ergodox_ez/keymaps/keymap_default.hex b/keyboard/ergodox_ez/keymaps/keymap_default.hex index 72e7da00cc..eedabc2db5 100644 --- a/keyboard/ergodox_ez/keymaps/keymap_default.hex +++ b/keyboard/ergodox_ez/keymaps/keymap_default.hex @@ -1,17 +1,17 @@ :100000000C9403070C9447070C9447070C9447077C :100010000C9447070C9447070C9447070C94470728 -:100020000C9447070C9447070C9432120C94041359 +:100020000C9447070C9447070C945E120C94301301 :100030000C9447070C9447070C9447070C94470708 -:100040000C9447070C94DC2B0C9447070C9447073F -:100050000C9447070C94E3210C9447070C94470732 +:100040000C9447070C94082C0C9447070C94470712 +:100050000C9447070C940F220C9447070C94470705 :100060000C9447070C9447070C9447070C944707D8 :100070000C9447070C9447070C9447070C944707C8 :100080000C9447070C9447070C9447070C944707B8 :100090000C9447070C9447070C9447070C944707A8 -:1000A0000C9447070C9447070C94470769138B136C -:1000B00076148B137614CD13F0137614451458145C -:1000C000A617A617D417D41717185318541A541A6A -:1000D0006B18541A621962192E1A541A541A421AB9 +:1000A0000C9447070C9447070C9447079513B71314 +:1000B000A214B713A214F9131C14A21471148414FB +:1000C000D217D2170018001843187F18801A801A08 +:1000D0009718801A8E198E195A1A801A801A6E1A59 :1000E0000000F0A12E004C002A00E1003581000044 :1000F0001E00140004001D7134004D001F001A0082 :1001000016001B00E1042A0020000800070006007A @@ -198,9 +198,9 @@ :100C50004F4F544D41474943204D4F5553454B4508 :100C6000592045585452414B455920434F4E534FFC :100C70004C4520434F4D4D414E44204E4B524F204A -:100C80003531320A004255494C443A2034663435F5 -:100C90003533632D6469727479202830333A3430E7 -:100CA0003A353320446563203138203230313529DC +:100C80003531320A004255494C443A2035653337F4 +:100C90003663622D6469727479202832323A3239AF +:100CA0003A3538204A616E203132203230313629CF :100CB0000A005649443A2030784645454428457252 :100CC000676F446F7820455A29205049443A2030B4 :100CD0007831333037284572676F446F7820455A32 @@ -228,9 +228,9 @@ :100E3000B9F41092F9011092FA011092FB0110928C :100E4000FC0114BE84B7877F84BF88E10FB6F89495 :100E500080936000109260000FBEE0E0FFE3099510 -:100E600011E0A0E0B1E0E4E5FBE502C005900D92E1 +:100E600011E0A0E0B1E0ECEAFBE502C005900D92D4 :100E7000AA33B107D9F711E0AAE3B1E001C01D928E -:100E8000A93FB107E1F70E946C0F0C94A82D0C94B8 +:100E8000A93FB107E1F70E94980F0C94D42D0C9460 :100E90000000FF93EF93E0913A01F0913B0130970E :100EA00009F00995EF91FF910895FC01859180303B :100EB00011F0EFDFFBCF0895FF27E0E230E247FFBC @@ -253,1215 +253,1220 @@ :100FC000FF91B7CFFF93EF93FC0181918030B9F38C :100FD00060DFFBCFFF93EF9368DFF1CFDF93CF9319 :100FE000CDB7DEB72596A3DFCF91DF9108956111CC -:100FF0000BC0FC018281882321F085EE0E943A1605 -:1010000003C085EE0E94021780E090E008950895E5 +:100FF0000BC0FC018281882321F085EE0E946616D9 +:1010000003C085EE0E942E1780E090E008950895B9 :101010006091BC017091BD018091BE019091BF01B2 -:101020000E94E72056985E9825982D9826982E982D +:101020000E94132156985E9825982D9826982E9800 :1010300027982F98813019F0823021F00895259A51 :101040002D9A0895269A2E9A089588E098E0892B83 -:1010500011F00C940808089556985E9825982D98DC -:1010600026982E9827982F988FEF90E090938900DC -:101070008093880090938B0080938A0090938D00DA -:1010800080938C00569A5E9A259A2D9A269A2E9ACB -:10109000279A2F9A2FE782E490E1215080409040D8 -:1010A000E1F700C0000056985E9825982D98269884 -:1010B0002E9827982F98089589EA8093800089E0D8 -:1010C0008093810024982C983F988AB18F748AB9B4 -:1010D0006E98479A8BB1806B8BB9769A0E942C08D8 -:1010E00087E098E0892B11F00C940708089580E2BE -:1010F0008093000180913C0181110EC00E94C608BE -:1011000081E080933C012FEF83ED90E321508040FC -:101110009040E1F700C0000080E40E94CC0880937A -:10112000000181112EC00E94F608809300018111F8 -:1011300028C00E94F60880930001811122C08FE32D -:101140000E94F6088093000181111BC00E94EE08E6 -:1011500080E40E94CC0880930001811112C08CE0D1 -:101160000E94F6088093000181110BC00E94F608CE -:1011700080930001811105C08FE30E94F6088093DF -:1011800000010E94EE088091000108951092B900BC -:101190008AE08093B800089594EA9093BC009091FF -:1011A000BC0097FFFCCF9091B900987F983021F058 -:1011B000903111F081E008958093BB0084E8809322 -:1011C000BC008091BC0087FFFCCF8091B900887F74 -:1011D000883111F0803471F780E0089584E98093BC -:1011E000BC008091BC0084FDFCCF08958093BB00BF -:1011F00084E88093BC008091BC0087FFFCCF909175 -:10120000B900987F81E0983209F480E0089584E87D -:101210008093BC008091BC0087FFFCCF8091BB0015 -:10122000089580910001811115C080E40E94CC08CE -:101230008093000181110CC082E10E94F608809326 -:101240000001811105C08FEF0E94F6088093000114 -:101250000E94EE0884B1807F84B985B1807F85B912 -:101260008AB1837F8AB98BB1837F8BB93E984698C8 -:1012700008950E947708809300010E94110980B3AD -:101280008C7080BB81B3836F81BBECE4F1E0AEE393 -:10129000B1E011921D9281E0EA35F807D1F78CE5B3 -:1012A00098E0892B11F00C945C0808959F92AF92FE -:1012B000BF92CF92DF92EF92FF920F931F93CF9343 -:1012C000DF93809100018823E1F080913D018F5FE1 -:1012D00080933D01811115C082E493E00E9455077F -:1012E0000E94770880930001882329F088E293E028 -:1012F0000E94550706C084E193E00E9455070E94B2 -:101300002C080EE311E0C0E0D0E0BB24B39482E0EF -:10131000A82ECC24C394D12C25E0E22E23E0F22E7B -:10132000C73000F580910001811162C080E40E9405 -:10133000CC0880930001811112C082E10E94F6085E -:101340008093000181110BC0C6010C2E01C0880FD3 -:101350000A94EAF780950E94F608809300010E94A3 -:10136000EE0846C0CA30A1F028F4C83059F0C930A0 -:1013700061F005C0CC3089F070F0CD3089F0209A52 -:10138000289810C0219A29980DC0229A2A980AC03C -:10139000239A2B9807C0529A01C0539A5B9802C0B7 -:1013A0003E9A4698E0EAEA95F1F78FB1799985C0BF -:1013B00092E081708B25892B7C9B02C090E001C05C -:1013C00094E0892B7D9B02C090E001C098E0892BBE -:1013D0007E9B02C090E001C090E1892B9FB1909567 -:1013E000991F9927991F9295990F907E892B10C06C -:1013F00080910001811176C080E40E94CC08809326 -:101400000001882309F45BC0912C0E94EE08892D0D -:10141000F8019081981739F1808380910101882328 -:1014200001F18091D70180FF04C08AE093E00E941F -:1014300055078091D70180FF0CC0809101011F9258 -:101440008F93FF92EF920E94EE070F900F900F90F4 -:101450000F908091D70180FF04C083E093E00E9449 -:101460005507A09201010E94110921960F5F1F4F9D -:10147000CE30D10509F054CF809101018823B1F01D -:10148000815080930101882339F08FE99FE0019713 -:10149000F1F700C000000AC0ACE4B1E0EEE3F1E017 -:1014A00081918D9391E0EC34F907D1F785E298E0D2 -:1014B000892BD1F00E94250817C090E07ACF83E1F4 -:1014C0000E94F6088093000181119ECF81E40E9462 -:1014D000CC0880930001811197CF0E940709982EB4 -:1014E000909493CF80E094CF81E0DF91CF911F91D2 -:1014F0000F91FF90EF90DF90CF90BF90AF909F90B3 -:101500000895E82FF0E0E45BFE4F80810895CF92CC -:10151000DF92EF92FF920F931F93CF93DF938CEEA6 -:1015200092E00E9455073CE4E32E31E0F32EC0E048 -:10153000D0E047EEC42E42E0D42E0EED12E0DF9351 -:10154000CF93DF92CF920E94EE0784EE92E00E944A -:101550005507F70181917F0190E00E944C219F93F4 -:101560008F931F930F930E94EE078CED92E00E94E1 -:10157000550721968DB79EB708960FB6F8949EBF73 -:101580000FBE8DBFCE30D105D1F6DF91CF911F9127 -:101590000F91FF90EF90DF90CF9008958B3B9105D6 -:1015A00078F4883A910540F5853A9105D0F4843075 -:1015B000910508F0B1C08130910509F4ADC06BC050 -:1015C000803E910508F467C0883E910508F4A4C0E8 -:1015D0009C01205F31092031310508F05CC0906525 -:1015E0000895853A910509F459C0863A910509F4A0 -:1015F00058C083E890E40895883A910509F454C0EE -:10160000893A910509F453C08A3A910509F452C008 -:101610008B3A910509F451C08C3A910509F450C0F8 -:101620008D3A910509F44FC0803B910509F44EC0F5 -:101630008E3A910509F44DC08F3A910509F44CC0DA -:10164000813B910509F44BC0823B910509F44AC0E6 -:10165000833B910509F449C0843B910509F448C0D6 -:10166000853B910509F447C0863B910509F446C0C6 -:10167000873B910509F445C0883B910509F444C0B6 -:10168000893B910509F443C08A3B910509F042C0AA -:101690008AE296E4089580E090E0089581E890E47D -:1016A000089582E890E4089582EE94E4089589EE26 -:1016B00094E408958AEE94E4089585EB94E4089503 -:1016C00086EB94E4089587EB94E408958CEC94E41D -:1016D00008958DEC94E4089583E895E408958AE8EC -:1016E00095E4089582E995E4089584E995E40895E0 -:1016F00081E296E4089583E296E4089584E296E414 -:10170000089585E296E4089586E296E4089587E2D6 -:1017100096E4089580E094E40895089596E0799F12 -:10172000F001112494E5899FE00DF11D1124E60FCD -:10173000F11DEE0FFF1FEC51FF4F8591949108951D -:10174000880F991F805A9040FC01859194910895CB -:10175000880F991F80529F4FFC01859194910895A5 -:1017600026E0729FF001112444E5849FE00DF11DF5 -:101770001124E60FF11DEE0FFF1FEC51FF4F2591D5 -:101780003491C9019A9581159F4110F4C9010895BA -:10179000C90190528115904128F4C9019F700E949F -:1017A000A80B0895C90190538115904120F4C901F7 -:1017B0009927906C0895211580E5380769F40E94F7 -:1017C000751A9FEF24E34CE0915020404040E1F730 -:1017D00000C000000C940822213080E5380751F445 -:1017E0008CE593E00E9455078091D701816080933A -:1017F000D7010895C90190558115904108F050C056 -:10180000832F99278F70992781309105D9F4A901E9 -:101810004370552702C0880F991F4A95E2F79C68CC -:10182000A90164E0440F551F6A95E1F744275370FE -:10183000842B952B73E0220F331F7A95E1F72076E6 -:1018400033271DC08230910529F4922F8827816F9C -:10185000906A089583309105A9F4A9014370552732 -:1018600081E090E002C0880F991F4A95E2F79C68DA -:1018700043E0220F331F4A95E1F7207E3770822B19 -:10188000932B08950497F1F4A9014370552781E043 -:1018900090E002C0880F991F4A95E2F79A68E8CF56 -:1018A000C90190578115904120F4C9019F70906241 -:1018B0000895C90190588115904120F4C9019F7085 -:1018C000906A0895203E3105E0F4203C310558F53A -:1018D0002133310509F470C048F42932310509F487 -:1018E00064C02A32310509F46EC074C02933310551 -:1018F000F1F022383105D9F02533310509F44EC015 -:1019000069C0233E310589F138F4203E3105C1F02C -:10191000223E3105E1F05EC0263E310569F1273EE9 -:101920003105A9F157C0C9010E94A00B089580910B -:10193000EA0180FD02C081FF4DC080EE90E04BC007 -:101940008091EA0180FFF9CF89E390E044C0809163 -:10195000EA0182FF0EC08091EA0184FF03C080E0AB -:1019600090E039C083EE90E036C08091EA0182FFBA -:10197000F2CF82EE90E02FC08091EA0183FF0BC08E -:101980008091EA0184FDEBCF87EE90E024C0809146 -:10199000EA0183FFF5CF86EE90E01DC08091EA0159 -:1019A00085FF07C089E290E016C08091EA0185FFBB -:1019B000F9CF85E390E00FC08091EA0186FF07C070 -:1019C0008AE290E008C08091EA0186FFF9CF81E3C6 -:1019D00090E001C0C9010E94CE0A08950895809147 -:1019E0006D0108959FB7F89410925C019FBF90918C -:1019F000F001943009F058C09091E9009F70209157 -:101A0000EC0020FF02C020E801C020E0292B94E078 -:101A10009093E9009091EB0090FF43C09091EE000D -:101A200097FF3FC090915A01992321F09091E800CF -:101A300095FF37C010925A0196E03091E80035FDCD -:101A400015C03091F001343061F53091EB0035FD77 -:101A500028C0915021F481E080935A0122C0EFE91F -:101A6000FFE03197F1F700C00000E7CF8093F1006D -:101A70008091E80085FD0AC08091E80080FFFCCFDE -:101A80008091E8008E778093E80006C08FB7F894C5 -:101A900091E090935C018FBF2F702093E90080E06C -:101AA00008952F702093E9008FEF0895CF93DF936F -:101AB00000D01F92CDB7DEB72091F001243019F588 -:101AC00023E029839B838A832093E9008FEF909101 -:101AD000E800815095FD06C095ED9A95F1F700005C -:101AE0008111F5CF8091E80085FF0DC040E050E006 -:101AF00063E070E0CE0101960E9425108091E8001D -:101B00008E778093E8000F900F900F90DF91CF9128 -:101B10000895CF93DF9300D01F92CDB7DEB7209109 -:101B2000F001243021F522E029839B838A8383E01E -:101B30008093E9008FEF9091E800815095FD06C0F9 -:101B400095ED9A95F1F700008111F5CF8091E800AD -:101B500085FF0DC040E050E063E070E0CE010196EB -:101B60000E9425108091E8008E778093E8000F9006 -:101B70000F900F90DF91CF9108952091F0012430C4 -:101B8000F1F422E02093E9002FEF3091E80021509A -:101B900035FD06C035ED3A95F1F700002111F5CF7E -:101BA0002091E80025FF0BC040E050E065E070E0C8 -:101BB0000E9425108091E8008E778093E8000895B8 -:101BC000CF93DF93EC018091F001843009F047C09E -:101BD00080910C018823E1F080910D018823C1F0F0 -:101BE00085E08093E9008FEF9091E800815095FDAA -:101BF00006C095E19A95F1F700008111F5CF80912B -:101C0000E80085FF2CC040E050E060E170E017C0C4 -:101C100081E08093E9008FEF9091E800815095FD7D -:101C200006C095ED9A95F1F700008111F5CF8091EE -:101C3000E80085FF14C040E050E068E070E0CE01AD -:101C40000E9425108091E8008E778093E80080E163 -:101C5000FE01ADE5B1E001900D928A95E1F7DF91CB -:101C6000CF91089583E993E00E9455078091EF0199 -:101C7000811109C00E94B7110E9414128091E200E4 -:101C800084608093E20008958FE893E00E945507F6 -:101C90001092EF0108958BE893E00C94550787E8C4 -:101CA00093E00E9455070C94C92B83E893E00E94AF -:101CB00055070E94A3210E94CF2B0E94B0140C94C0 -:101CC000EE0C80915B018F5F80935B0162E30E9469 -:101CD0003D2D911135C010925B0180915C018823EC -:101CE00079F18091F001843049F58091E9008F709D -:101CF0009091EC0090FF02C090E801C090E0982B1A -:101D000084E08093E9008091EB0080FF14C0809113 -:101D1000EE0087FF10C08091E80085FF03C010929D -:101D2000F100F9CF8091E80080FF05C08091E800C4 -:101D30008E778093E8009F709093E90010925C0189 -:101D4000089542E061EC81E00E94311142E061ECD3 -:101D500082E00E94311142E061EC83E00E94311187 -:101D600042E261EC84E00E94311142E161EC85E0E5 -:101D70000C9431118091F201833009F455C030F494 -:101D8000813071F0823009F48EC008958A3009F4F0 -:101D90007AC08B3009F460C0893009F09CC020C043 -:101DA0008091F101813A09F096C08091E800877F27 -:101DB0008093E8008091F5019091F601892B21F044 -:101DC00060E080E090E003C060E18DE591E070E0CC -:101DD0000E946E108091E8008B778093E800089550 -:101DE0008091F101813209F076C08091F5019091E6 -:101DF000F601009719F0049709F06DC08091E80092 -:101E0000877F8093E8008091E80082FD05C0809183 -:101E1000F0018111F8CF5FC08091F10080936D01D6 -:101E20008091E8008B7753C08091F101813A09F0ED -:101E300052C08091F5019091F601892B09F04BC0B9 -:101E40008091E800877F8093E8008091E80080FF20 -:101E5000FCCF80910C0136C08091F1018132D9F51F -:101E60008091F5019091F601892BA9F58091E80008 -:101E7000877F8093E8000E9466118091F301809330 -:101E80000C010C94751A8091F101813221F5809139 -:101E9000E800877F8093E8000E9466118091F4013A -:101EA00080936E0108958091F101813AA1F48091AF -:101EB000E800877F8093E8008091E80080FFFCCFF6 -:101EC00080916E018093F1008091E8008E7780937D -:101ED000E8000C946611089584B7877F84BF88E179 -:101EE0000FB6F89480936000109260000FBE90E0EF -:101EF00080E80FB6F89480936100909361000FBE64 -:101F00000E9439150E94B7110E9414128091E200BC -:101F100084608093E20082EF9CE00E94E22078944B -:101F20000E948E140E943B1582E091E00E94AB1447 -:101F30000E94B72B82E793E00E9455078091F00141 -:101F4000853089F48EE693E00E9455070E94662151 -:101F50008091EE01882391F30E948E21882371F3F2 -:101F60000E940F10EBCF0E946915E8CF292F33276D -:101F700023303105A9F06CF42130310509F442C059 -:101F80002230310509F043C08DE890E02BEC33E0BE -:101F900042C021323105C9F02232310519F137C072 -:101FA00099278130910541F08230910541F0892BCC -:101FB00071F5E7ECF3E005C0EFEAF3E002C0E7E912 -:101FC000F3E0849190E09F0126C0653000F5E62F94 -:101FD000F0E0EE0FFF1FEB5DFE4F2081318189E0C5 -:101FE00090E019C0653098F4E62FF0E0DF01AA0F09 -:101FF000BB1FA55EBE4F2D913C91EA5EFE4F8081D6 -:1020000090E009C082E190E028E534E004C080E07F -:1020100090E020E030E0FA0131832083089580E1F0 -:1020200089BD82E189BD09B400FEFDCF8091D80051 -:102030008F7D8093D8008091E00082608093E000E3 -:102040008091E00081FDFCCF0895CF92DF92EF9266 -:10205000FF920F931F93CF93DF937C018B01EA01D3 -:102060000E948711811131C0209731F088819981B8 -:10207000081B190BE80EF91EC12CD12C01151105F6 -:1020800019F18091E80085FD14C08091E8008E77F9 -:102090008093E800209741F0888199818C0D9D1DE7 -:1020A0009983888385E011C00E948711882331F3CA -:1020B0000CC0F70181917F018093F100015011095B -:1020C000FFEFCF1ADF0ADACF80E0DF91CF911F91C7 -:1020D0000F91FF90EF90DF90CF9008952091F7013E -:1020E0003091F8012617370748F06115710539F46A -:1020F0002091E8002E772093E80001C0B901FC018F -:1021000020E061157105B9F18091F001882309F48F -:1021100040C0853009F43FC08091E80083FD3DC098 -:102120008091E80082FF06C08091E80082FF26C00F -:1021300080E008958091E80080FFE3CF2091F300D4 -:102140008091F20090E0922B6115710551F088307A -:10215000910538F421912093F100615071090196A5 -:10216000F3CF21E0089709F020E08091E8008E7716 -:102170008093E800C6CF2111C7CFD6CF8091F00160 -:10218000882339F0853039F08091E80083FFCCCF87 -:1021900004C082E0089583E0089581E008952091CD -:1021A000F7013091F8012617370748F061157105DE -:1021B00039F42091E8002E772093E80001C0B9019E -:1021C000FC0120E061157105C1F18091F0018823C7 -:1021D00009F441C0853009F440C08091E80083FDD6 -:1021E0003EC08091E80082FF06C08091E80082FF37 -:1021F00027C080E008958091E80080FFE3CF209120 -:10220000F3008091F20090E0922B6115710559F076 -:102210008830910540F424912093F100319661506B -:1022200071090196F2CF21E0089709F020E0809132 -:10223000E8008E778093E800C5CF2111C6CFD5CFB7 -:102240008091F001882339F0853039F08091E800E1 -:1022500083FFCBCF04C082E0089583E0089581E03E -:102260000895982F973058F59093E900981739F012 -:102270007091EC002091ED005091F00003C0242FEC -:10228000762F50E021FF19C03091EB003E7F309354 -:10229000EB003091ED003D7F3093ED003091EB008D -:1022A00031603093EB007093EC002093ED0050937D -:1022B000F0002091EE0027FF07C09F5FD3CF8F7003 -:1022C0008093E90081E0089580E008958091F10114 -:1022D00087FD05C08091E80080FF0EC012C080918C -:1022E000E80082FD05C08091F0018111F8CF0895CA -:1022F0008091E8008B7708C08091F0018111EACFCE -:1023000008958091E8008E778093E8000895809189 -:10231000E4009091E50045E62091EC0020FF21C00B -:102320002091E80020FD21C02091F001222389F0B6 -:10233000253089F02091EB0025FD0FC02091E400AD -:102340003091E5002817390739F3415041F0C901B0 -:10235000E3CF82E0089583E0089581E0089584E06A -:1023600008952091E80022FFDFCF80E008950E94C9 -:1023700025120E942D12E0EEF0E0808181608083C2 -:10238000E8EDF0E080818F77808319BCA7EDB0E0A5 -:102390008C918E7F8C9380818F7E80831092EF0151 -:1023A00008950F931F93CF93DF930E9425120E94ED -:1023B0002D12C8EDD0E088818F778883888180686E -:1023C000888388818F7D888319BC1092F0011092D8 -:1023D000EC011092EE011092ED0100EE10E0F80118 -:1023E00080818B7F808388818160888342E060E088 -:1023F00080E00E943111E1EEF0E080818E7F8083E9 -:10240000E2EEF0E08081816080838081886080835B -:10241000F80180818E7F8083888180618883DF914D -:10242000CF911F910F910895E8EDF0E080818F7EAC -:102430008083E7EDF0E080818160808384E082BF6B -:1024400081E08093EF010C94D111E8EDF0E0808100 -:102450008E7F80831092E20008951092DA0010922D -:10246000E10008951F920F920FB60F9211242F933F -:102470003F934F935F936F937F938F939F93AF930C -:10248000BF93EF93FF938091E10082FF0BC0809197 -:10249000E20082FF07C08091E1008B7F8093E10022 -:1024A0000E94610E8091DA0080FF1FC08091D800E9 -:1024B00080FF1BC08091DA008E7F8093DA008091CC -:1024C000D90080FF0DC080E189BD82E189BD09B4DA -:1024D00000FEFDCF81E08093F0010E94320E05C026 -:1024E00019BC1092F0010E94440E8091E10080FF1F -:1024F00019C08091E20080FF15C08091E2008E7FBC -:102500008093E2008091E20080618093E2008091FC -:10251000D80080628093D80019BC85E08093F001D8 -:102520000E944F0E8091E10084FF30C08091E20054 -:1025300084FF2CC080E189BD82E189BD09B400FE21 -:10254000FDCF8091D8008F7D8093D8008091E100ED -:102550008F7E8093E1008091E2008F7E8093E20085 -:102560008091E20081608093E2008091EC018823F9 -:1025700011F084E007C08091E30087FF02C083E090 -:1025800001C081E08093F0010E94550E8091E1002E -:1025900083FF29C08091E20083FF25C08091E10084 -:1025A000877F8093E10082E08093F0011092EC013C -:1025B0008091E1008E7F8093E1008091E2008E7F28 -:1025C0008093E2008091E20080618093E20042E02B -:1025D00060E080E00E9431118091F000886080937B -:1025E000F0000E944B0EFF91EF91BF91AF919F9130 -:1025F0008F917F916F915F914F913F912F910F90AC -:102600000FBE0F901F9018951F920F920FB60F924A -:1026100011242F933F934F935F936F937F938F93E7 -:102620009F93AF93BF93CF93EF93FF93C091E90034 -:10263000CF708091EC001092E9008091F000877FCC -:102640008093F00078940E9440131092E9008091EA -:10265000F00088608093F000C093E900FF91EF9153 -:10266000CF91BF91AF919F918F917F916F915F912A -:102670004F913F912F910F900FBE0F901F90189583 -:102680001F93CF93DF93CDB7DEB7AA970FB6F89419 -:10269000DEBF0FBECDBFE1EFF1E08091F10081938D -:1026A00021E0E93FF207C9F70E94BA0E8091E800E5 -:1026B00083FF1CC12091F1013091F201832F90E042 -:1026C0008A30910508F012C1FC01EA5AFF4F0C94C0 -:1026D0005D2D203881F0223809F008C18091F50184 -:1026E0008F708093E9008091EB0085FB882780F94B -:1026F0001092E90006C08091ED019091EE019111D8 -:1027000082609091E800977F9093E8008093F100B9 -:102710001092F100C5C0822F8D7F09F0E7C02223FF -:1027200019F0223061F0E2C08091F301813009F0AC -:10273000DDC0333009F080E08093EE0128C0809145 -:10274000F301811124C02091F5012F7009F4CEC04E -:102750002093E9008091EB0080FF19C08091EB008D -:10276000333011F4806211C080618093EB0081E00E -:1027700090E0022E01C0880F0A94EAF78093EA00E5 -:102780001092EA008091EB0088608093EB00109239 -:10279000E9008091E800877F86C02111A7C01091D1 -:1027A000F3011F778091E3008078812B8093E30011 -:1027B0008091E800877F8093E8000E9466118091F5 -:1027C000E80080FFFCCF8091E30080688093E30005 -:1027D000112311F083E001C082E08093F00186C0F4 -:1027E0002058223008F082C08091F3019091F401CA -:1027F0008C3D23E0920779F583E08A838AE289831E -:102800004FB7F894DE01139620E03EE051E2E32F4B -:10281000F0E050935700E49120FF03C0E295EF7081 -:102820003F5FEF708E2F90E0EA3010F0C79601C046 -:10283000C0968D939D932F5F243149F74FBF8091B0 -:10284000E800877F8093E8006AE270E0CE0101969D -:102850000E946E1014C0AE014F5F5F4F6091F50192 -:102860000E94B60F009709F441C02091E800277F2D -:102870002093E800BC0189819A810E94CF10809149 -:10288000E8008B778093E80031C0203879F580919B -:10289000E800877F8093E8008091EC018093F1004D -:1028A0008091E8008E778093E8000E9466111EC038 -:1028B00021111CC09091F3019230C0F48091E80086 -:1028C000877F8093E8009093EC010E9466118091CD -:1028D000EC01811104C08091E30087FF02C084E015 -:1028E00001C081E08093F0010E94A10E8091E80078 -:1028F00083FF0AC08091E800877F8093E800809181 -:10290000EB0080628093EB00AA960FB6F894DEBFCE -:102910000FBECDBFDF91CF911F910895CF938091CE -:10292000F0018823B1F08091E9008F709091EC0064 -:1029300090FF02C090E801C090E0C92FC82B109210 -:10294000E9008091E80083FD0E944013CF70C0939E -:10295000E900CF91089590937401809373010895D5 -:10296000E0917301F0917401309721F00190F081B2 -:10297000E02D099480E00895FF920F931F93CF9369 -:10298000DF938C01E0917301F0917401309799F11C -:102990000280F381E02D09958091D70182FF2BC041 -:1029A00080FF04C08DE895E00E945507E80180E1B2 -:1029B000F82E07E815E08091D70180FF0BC08881D1 -:1029C0001F928F931F930F930E94EE070F900F900B -:1029D0000F900F90FA942196F110EDCF8091D701CE -:1029E00080FF09C085E895E0DF91CF911F910F919D -:1029F000FF900C945507DF91CF911F910F91FF909D -:102A00000895E0917301F0917401309721F00480F2 -:102A1000F581E02D099408952091710130917201A2 -:102A20008217930771F09093720180937101E09186 -:102A30007301F0917401309721F00680F781E02D49 -:102A40000994089520916F013091700182179307C6 -:102A500071F09093700180936F01E0917301F09198 -:102A60007401309721F00084F185E02D09940895D8 -:102A700008950C9438150E94A5210E9439090C94E0 -:102A80006B22CF93C82F8091D70182FF1EC080FF99 -:102A900004C086EA95E00E9455078091D70180FF27 -:102AA0000CC01F92CF9321EA35E03F932F930E94F1 -:102AB000EE070F900F900F900F908091D70180FF3D -:102AC00004C08FE995E00E9455078C2FCF910C949C -:102AD000EE0CCF92DF92EF92FF920F931F93CF9362 -:102AE000DF93CDB7DEB72B970FB6F894DEBF0FBEDE -:102AF000CDBF0E94560936E7E32E31E0F32E00E009 -:102B000010E0C02E802F0E94810AF701D1907F0132 -:102B1000D826B1F40F5F1F4F0E30110591F78FEFDC -:102B200089838A831B820E94AE218160782F9D83D6 -:102B30008C8349815A816B818D810E940C1641C022 -:102B40009091D70191FF04C08B870E94870A8B85E3 -:102B500020E030E04D2D50E0922FBA01022E02C04D -:102B6000759567950A94E2F760FF25C02E83CF82A2 -:102B7000EE24E394F12C02C0EE0CFF1C9A95E2F7D0 -:102B800090E08E219F2121E0892B09F420E0288705 -:102B90000E94AE218160782F9A8789874E815F815C -:102BA00068858A850E940C16F801EA58FE4F8081DC -:102BB0008E25808306C02F5F3F4F2630310561F69A -:102BC000A9CF0E94D925109175010E94B014181741 -:102BD000A1F00E94B014809375012B960FB6F89463 -:102BE000DEBF0FBECDBFDF91CF911F910F91FF9040 -:102BF000EF90DF90CF900C9441152B960FB6F89480 -:102C0000DEBF0FBECDBFDF91CF911F910F91FF901F -:102C1000EF90DF90CF900895CF93DF93CDB7DEB7DD -:102C20002B970FB6F894DEBF0FBECDBF4F835887EA -:102C300069877A878B87DE01119686E0FD01119204 -:102C40008A95E9F785E0FE01379601900D928A9505 -:102C5000E1F749815A816B817C818D819E810E943F -:102C6000411D2B960FB6F894DEBF0FBECDBFDF918E -:102C7000CF910895CF93C82F882309F4C1C082381B -:102C800059F40E94B01481FDBBC089E30E94E01F8B -:102C90000E94BC2089E30CC0833879F40E94B014F0 -:102CA00080FDAEC083E50E94E01F0E94BC2083E54A -:102CB0000E943120CF910C94BC20843859F40E949A -:102CC000B01482FD9DC087E40E94E01F0E94BC20DA -:102CD00087E4EECF8CEF8C0F813A48F48C2F0E9462 -:102CE000622A81118DC08C2F0E94E01FE3CF80E209 -:102CF0008C0F883048F4C77081E001C0880FCA95F6 -:102D0000EAF70E948320D6CF8BE58C0F833078F4CE -:102D1000C53A29F0C63A31F482E890E005C081E86E -:102D200090E002C083E890E0CF910C940C1588E508 -:102D30008C0F833108F064C0C83A39F1C93A41F1C7 -:102D4000CA3A49F1CB3A51F1CC3A59F1CD3A61F155 -:102D5000C03B69F1CE3A71F1CF3A79F1C13B81F1D3 -:102D6000C23B89F1C33B91F1C43B99F1C53BA1F151 -:102D7000C63BA9F1C73BB1F1C83BB9F1C93BC1F1B1 -:102D8000CA3BC9F58AE292E038C082EE90E035C0D5 -:102D900089EE90E032C08AEE90E02FC085EB90E0A3 -:102DA0002CC086EB90E029C087EB90E026C08CEC2D -:102DB00090E023C08DEC90E020C083E891E01DC03E -:102DC0008AE891E01AC082E991E017C084E991E0B5 -:102DD00014C081E292E011C083E292E00EC084E26E -:102DE00092E00BC085E292E008C086E292E005C066 -:102DF00087E292E002C080E090E0CF910C9422152F -:102E0000CF910895882309F44BC0823859F40E9469 -:102E1000B01481FF45C089E30E94E01F0E94BC20DE -:102E200089E30CC0833871F40E94B01480FF38C06D -:102E300083E50E94E01F0E94BC2083E50E943120B0 -:102E40000C94BC20843859F40E94B01482FF28C02E -:102E500087E40E94E01F0E94BC2087E4EFCF9CEF34 -:102E6000980F913A58F390E2980F983050F4877089 -:102E700091E001C0990F8A95EAF7892F0E94892075 -:102E8000DFCF9BE5980F933020F480E090E00C9426 -:102E90000C15885A833120F480E090E00C942215C0 -:102EA0000895882321F00E9483200C94BC2008956B -:102EB000882321F00E9489200C94BC200895CF9291 -:102EC000DF92EF92FF920F931F93CF93DF93CDB7D3 -:102ED000DEB728970FB6F894DEBF0FBECDBF8C01CA -:102EE00085E0F801DE01119601900D928A95E1F7D7 -:102EF000F80140813181F280258122952F708381F4 -:102F00009481892B31F03F3F31F481E04F3F19F438 -:102F100003C081E001C080E080FDC6C249833A83DE -:102F200089819A812F830E949E1F9E8388870E9499 -:102F30009D1F0E94701E4E81E42FE295EF70F0E01D -:102F4000E05AFF4F2F8168850C945D2D842F807F80 -:102F5000142F1F70882311F01295107FFF2059F055 -:102F6000112309F456C2812F68870E9493200E9482 -:102F7000BC2068854EC2862F0E940217112309F4D7 -:102F800093C2812F0E94992028960FB6F894DEBF35 -:102F90000FBECDBFDF91CF911F910F91FF90EF90AA -:102FA000DF90CF900C94BC20342F307F842F8F7013 -:102FB000303211F08295807F662319F0613019F16B -:102FC0002CC0FF20B1F0222309F494C1213009F074 -:102FD00091C128960FB6F894DEBF0FBECDBFDF912A -:102FE000CF911F910F91FF90EF90DF90CF900C94B5 -:102FF000A320222319F0213009F456C28E830E94A7 -:10300000A6208E818AC1FF2021F0263008F04CC214 -:1030100071C1253008F048C280C1FF2021F0222371 -:1030200009F468C1F6C1222309F477C106C2242F2E -:1030300026952695237030E02115310521F02130A9 -:103040003105C9F031C2FF2021F0862F942F9370F3 -:1030500002C080E090E028960FB6F894DEBF0FBE65 -:10306000CDBFDF91CF911F910F91FF90EF90DF9037 -:10307000CF900C940C15FF2021F0862F942F937085 -:1030800002C080E090E028960FB6F894DEBF0FBE35 -:10309000CDBFDF91CF911F910F91FF90EF90DF9007 -:1030A000CF900C942215862FFF2019F00E945F24E8 -:1030B00002C00E94C72428960FB6F894DEBF0FBE48 -:1030C000CDBFDF91CF911F910F91FF90EF90DF90D7 -:1030D000CF900C944C25842F837009F076C0F110AA -:1030E000E3C1262F229526952770220F220F862FC7 -:1030F0008F70C82ED12CE12CF12C022E04C0CC0CE8 -:10310000DD1CEE1CFF1C0A94D2F764FF10C06FE0B8 -:1031100070E080E090E004C0660F771F881F991F61 -:103120002A95D2F7609570958095909503C060E0E0 -:1031300070E0CB01242F269526952370422F50E076 -:1031400042305105D1F04330510559F16C297D29A8 -:103150008E299F294130510541F128960FB6F894E8 -:10316000DEBF0FBECDBFDF91CF911F910F91FF90BA -:10317000EF90DF90CF900C94951E6C297D298E29BD -:103180009F2928960FB6F894DEBF0FBECDBFDF9102 -:10319000CF911F910F91FF90EF90DF90CF900C9403 -:1031A000AF1E0E94951EC701B60128960FB6F8946F -:1031B000DEBF0FBECDBFDF91CF911F910F91FF906A -:1031C000EF90DF90CF900C947B1EFF2019F0842F9E -:1031D000817001C08695882309F466C1262F229547 -:1031E00026952770220F220F862F8F70C82ED12C84 -:1031F000E12CF12C022E04C0CC0CDD1CEE1CFF1CBB -:103200000A94D2F764FF10C06FE070E080E090E0B5 -:1032100004C0660F771F881F991F2A95D2F7609503 -:1032200070958095909503C060E070E0CB01242FED -:10323000269526952370422F50E042305105D1F05B -:103240004330510559F16C297D298E299F29413040 -:10325000510541F128960FB6F894DEBF0FBECDBFE1 -:10326000DF91CF911F910F91FF90EF90DF90CF9062 -:103270000C94691F6C297D298E299F2928960FB6E9 -:10328000F894DEBF0FBECDBFDF91CF911F910F919C -:10329000FF90EF90DF90CF900C94831F0E94691FE6 -:1032A000C701B60128960FB6F894DEBF0FBECDBF9A -:1032B000DF91CF911F910F91FF90EF90DF90CF9012 -:1032C0000C944F1F603FC9F118F4603E50F49CC04D -:1032D000623F09F461C008F44BC0633F09F470C059 -:1032E00093C0162F1F70842F8F71FF2099F00E94BA -:1032F000E81E812F28960FB6F894DEBF0FBECDBF13 -:10330000DF91CF911F910F91FF90EF90DF90CF90C1 -:103310000C9451170E94091F812F28960FB6F8941C -:10332000DEBF0FBECDBFDF91CF911F910F91FF90F8 -:10333000EF90DF90CF900C945817FF20A9F0253024 -:1033400008F0B2C0842F8F7128960FB6F894DEBFB4 -:103350000FBECDBFDF91CF911F910F91FF90EF90E6 -:10336000DF90CF900C942E1F263008F09DC0EACF3E -:10337000FF20A1F0842F8F7128960FB6F894DEBF3E -:103380000FBECDBFDF91CF911F910F91FF90EF90B6 -:10339000DF90CF900C94E81EFF2061F3842F8F7193 +:1010500011F00E94080880E090E0089556985E988C +:1010600025982D9826982E9827982F988FEF90E006 +:10107000909389008093880090938B0080938A00DE +:1010800090938D0080938C00259A2D9A2FEF80E706 +:1010900092E0215080409040E1F700C00000269A85 +:1010A0002E9A2FEF80E792E0215080409040E1F7A8 +:1010B00000C00000279A2F9A2FEF80E792E021507E +:1010C00080409040E1F700C0000025982D982FEF58 +:1010D00080E792E0215080409040E1F700C000009E +:1010E00026982E982FEF80E792E021508040904084 +:1010F000E1F700C0000027982F9856985E98259831 +:101100002D9826982E9827982F98089589EA8093ED +:10111000800089E08093810024982C983F988AB1C0 +:101120008F748AB96E98479A8BB1806B8BB9769A17 +:101130000E942E0887E098E0892B11F00E94070892 +:1011400080E090E0089580E28093000180913C016E +:1011500081110EC00E94F20881E080933C012FEFC4 +:1011600083ED90E3215080409040E1F700C0000003 +:1011700080E40E94F8088093000181112EC00E9433 +:10118000220980930001811128C00E9422098093C6 +:101190000001811122C08FE30E9422098093000187 +:1011A00081111BC00E941A0980E40E94F8088093F4 +:1011B0000001811112C08CE00E942209809300017D +:1011C00081110BC00E94220980930001811105C08A +:1011D0008FE30E942209809300010E941A098091E6 +:1011E000000108951092B9008AE08093B800089534 +:1011F00094EA9093BC009091BC0097FFFCCF909133 +:10120000B900987F983021F0903111F081E0089575 +:101210008093BB0084E88093BC008091BC0087FF72 +:10122000FCCF8091B900887F883111F0803471F74C +:1012300080E0089584E98093BC008091BC0084FD27 +:10124000FCCF08958093BB0084E88093BC0080911C +:10125000BC0087FFFCCF9091B900987F81E0983265 +:1012600009F480E0089584E88093BC008091BC007C +:1012700087FFFCCF8091BB00089580910001811110 +:1012800015C080E40E94F8088093000181110CC011 +:1012900082E10E94220980930001811105C08FEF35 +:1012A0000E942209809300010E941A0984B1807F64 +:1012B00084B985B1807F85B98AB1837F8AB98BB1C2 +:1012C000837F8BB93E98469808950E94A308809327 +:1012D00000010E943D0980B38C7080BB81B3836F95 +:1012E00081BBECE4F1E0AEE3B1E011921D9281E04C +:1012F000EA35F807D1F786E898E0892B11F00C94CD +:10130000860808959F92AF92BF92CF92DF92EF929C +:10131000FF920F931F93CF93DF9380910001882357 +:10132000E1F080913D018F5F80933D01811115C0F7 +:1013300082E493E00E9455070E94A3088093000175 +:10134000882329F088E293E00E94550706C084E1D3 +:1013500093E00E9455070E942E080EE311E0C0E0C2 +:10136000D0E0BB24B39482E0A82ECC24C394D12C2B +:1013700025E0E22E23E0F22EC73000F58091000137 +:10138000811162C080E40E94F808809300018111FD +:1013900012C082E10E9422098093000181110BC0DA +:1013A000C6010C2E01C0880F0A94EAF780950E94AE +:1013B0002209809300010E941A0946C0CA30A1F098 +:1013C00028F4C83059F0C93061F005C0CC3089F03C +:1013D00070F0CD3089F0209A289810C0219A299871 +:1013E0000DC0229A2A980AC0239A2B9807C0529AB5 +:1013F00001C0539A5B9802C03E9A4698E0EAEA958B +:10140000F1F78FB1799985C092E081708B25892B96 +:101410007C9B02C090E001C094E0892B7D9B02C0C0 +:1014200090E001C098E0892B7E9B02C090E001C053 +:1014300090E1892B9FB19095991F9927991F9295BB +:10144000990F907E892B10C080910001811176C088 +:1014500080E40E94F80880930001882309F45BC0AF +:10146000912C0E941A09892DF8019081981739F161 +:10147000808380910101882301F18091D70180FF51 +:1014800004C08AE093E00E9455078091D70180FF55 +:101490000CC0809101011F928F93FF92EF920E94E6 +:1014A000EE070F900F900F900F908091D70180FF63 +:1014B00004C083E093E00E945507A09201010E94BE +:1014C0003D0921960F5F1F4FCE30D10509F054CF53 +:1014D000809101018823B1F081508093010188231C +:1014E00039F08FE99FE00197F1F700C000000AC0D2 +:1014F000ACE4B1E0EEE3F1E081918D9391E0EC3466 +:10150000F907D1F785E298E0892BD1F00E942508F0 +:1015100017C090E07ACF83E10E94220980930001F6 +:1015200081119ECF81E40E94F8088093000181110F +:1015300097CF0E943309982E909493CF80E094CF58 +:1015400081E0DF91CF911F910F91FF90EF90DF909D +:10155000CF90BF90AF909F900895E82FF0E0E45BAC +:10156000FE4F80810895CF92DF92EF92FF920F930A +:101570001F93CF93DF938CEE92E00E9455073CE4DB +:10158000E32E31E0F32EC0E0D0E047EEC42E42E07F +:10159000D42E0EED12E0DF93CF93DF92CF920E9414 +:1015A000EE0784EE92E00E945507F70181917F01DA +:1015B00090E00E9478219F938F931F930F930E9436 +:1015C000EE078CED92E00E94550721968DB79EB7ED +:1015D00008960FB6F8949EBF0FBE8DBFCE30D105D2 +:1015E000D1F6DF91CF911F910F91FF90EF90DF9097 +:1015F000CF9008958B3B910578F4883A910540F59A +:10160000853A9105D0F48430910508F0B1C081305D +:10161000910509F4ADC06BC0803E910508F467C028 +:10162000883E910508F4A4C09C01205F3109203157 +:10163000310508F05CC090650895853A910509F47C +:1016400059C0863A910509F458C083E890E408959A +:10165000883A910509F454C0893A910509F453C0B8 +:101660008A3A910509F452C08B3A910509F451C0A8 +:101670008C3A910509F450C08D3A910509F44FC098 +:10168000803B910509F44EC08E3A910509F44DC096 +:101690008F3A910509F44CC0813B910509F44BC088 +:1016A000823B910509F44AC0833B910509F449C086 +:1016B000843B910509F448C0853B910509F447C076 +:1016C000863B910509F446C0873B910509F445C066 +:1016D000883B910509F444C0893B910509F443C056 +:1016E0008A3B910509F042C08AE296E4089580E0C1 +:1016F00090E0089581E890E4089582E890E40895E8 +:1017000082EE94E4089589EE94E408958AEE94E4D8 +:10171000089585EB94E4089586EB94E4089587EBAF +:1017200094E408958CEC94E408958DEC94E4089589 +:1017300083E895E408958AE895E4089582E995E4BC +:10174000089584E995E4089581E296E4089583E29A +:1017500096E4089584E296E4089585E296E4089577 +:1017600086E296E4089587E296E4089580E094E4A2 +:101770000895089596E0799FF001112494E5899FDA +:10178000E00DF11D1124E60FF11DEE0FFF1FEC51CE +:10179000FF4F859194910895880F991F805A90402A +:1017A000FC01859194910895880F991F80529F4F55 +:1017B000FC0185919491089526E0729FF001112417 +:1017C00044E5849FE00DF11D1124E60FF11DEE0F9D +:1017D000FF1FEC51FF4F25913491C9019A95811556 +:1017E0009F4110F4C9010895C9019052811590419B +:1017F00028F4C9019F700E94D40B0895C901905329 +:101800008115904120F4C9019927906C0895211504 +:1018100080E5380769F40E94A11A9FEF24E34CE0A9 +:10182000915020404040E1F700C000000C94342269 +:10183000213080E5380751F48CE593E00E9455078C +:101840008091D70181608093D7010895C901905597 +:101850008115904108F050C0832F99278F709927E8 +:1018600081309105D9F4A9014370552702C0880F32 +:10187000991F4A95E2F79C68A90164E0440F551F3F +:101880006A95E1F744275370842B952B73E0220F60 +:10189000331F7A95E1F7207633271DC082309105FA +:1018A00029F4922F8827816F906A089583309105DB +:1018B000A9F4A9014370552781E090E002C0880F88 +:1018C000991F4A95E2F79C6843E0220F331F4A951F +:1018D000E1F7207E3770822B932B08950497F1F463 +:1018E000A9014370552781E090E002C0880F991F3D +:1018F0004A95E2F79A68E8CFC9019057811590415F +:1019000020F4C9019F7090620895C9019058811513 +:10191000904120F4C9019F70906A0895203E3105DE +:10192000E0F4203C310558F52133310509F470C04D +:1019300048F42932310509F464C02A32310509F42A +:101940006EC074C029333105F1F022383105D9F069 +:101950002533310509F44EC069C0233E310589F1B4 +:1019600038F4203E3105C1F0223E3105E1F05EC081 +:10197000263E310569F1273E3105A9F157C0C9015D +:101980000E94CC0B08958091EA0180FD02C081FF86 +:101990004DC080EE90E04BC08091EA0180FFF9CF0E +:1019A00089E390E044C08091EA0182FF0EC08091FB +:1019B000EA0184FF03C080E090E039C083EE90E04C +:1019C00036C08091EA0182FFF2CF82EE90E02FC014 +:1019D0008091EA0183FF0BC08091EA0184FDEBCF87 +:1019E00087EE90E024C08091EA0183FFF5CF86EE78 +:1019F00090E01DC08091EA0185FF07C089E290E078 +:101A000016C08091EA0185FFF9CF85E390E00FC011 +:101A10008091EA0186FF07C08AE290E008C08091C9 +:101A2000EA0186FFF9CF81E390E001C0C9010E947D +:101A3000FA0A0895089580916D0108959FB7F8946A +:101A400010925C019FBF9091F001943009F058C052 +:101A50009091E9009F702091EC0020FF02C020E8E7 +:101A600001C020E0292B94E09093E9009091EB00D5 +:101A700090FF43C09091EE0097FF3FC090915A01B4 +:101A8000992321F09091E80095FF37C010925A01F8 +:101A900096E03091E80035FD15C03091F00134300A +:101AA00061F53091EB0035FD28C0915021F481E0C3 +:101AB00080935A0122C0EFE9FFE03197F1F700C0AF +:101AC0000000E7CF8093F1008091E80085FD0AC017 +:101AD0008091E80080FFFCCF8091E8008E778093B2 +:101AE000E80006C08FB7F89491E090935C018FBF37 +:101AF0002F702093E90080E008952F702093E90073 +:101B00008FEF0895CF93DF9300D01F92CDB7DEB74C +:101B10002091F001243019F523E029839B838A83E7 +:101B20002093E9008FEF9091E800815095FD06C069 +:101B300095ED9A95F1F700008111F5CF8091E800BD +:101B400085FF0DC040E050E063E070E0CE010196FB +:101B50000E9451108091E8008E778093E8000F90EA +:101B60000F900F90DF91CF910895CF93DF9300D026 +:101B70001F92CDB7DEB72091F001243021F522E08D +:101B800029839B838A8383E08093E9008FEF909180 +:101B9000E800815095FD06C095ED9A95F1F700009B +:101BA0008111F5CF8091E80085FF0DC040E050E045 +:101BB00063E070E0CE0101960E9451108091E80030 +:101BC0008E778093E8000F900F900F90DF91CF9168 +:101BD00008952091F0012430F1F422E02093E900EF +:101BE0002FEF3091E800215035FD06C035ED3A95D4 +:101BF000F1F700002111F5CF2091E80025FF0BC07F +:101C000040E050E065E070E00E9451108091E800F3 +:101C10008E778093E8000895CF93DF93EC01809155 +:101C2000F001843009F047C080910C018823E1F075 +:101C300080910D018823C1F085E08093E9008FEF4A +:101C40009091E800815095FD06C095E19A95F1F7D5 +:101C500000008111F5CF8091E80085FF2CC040E0A5 +:101C600050E060E170E017C081E08093E9008FEF01 +:101C70009091E800815095FD06C095ED9A95F1F799 +:101C800000008111F5CF8091E80085FF14C040E08D +:101C900050E068E070E0CE010E9451108091E800B1 +:101CA0008E778093E80080E1FE01ADE5B1E0019020 +:101CB0000D928A95E1F7DF91CF91089583E993E042 +:101CC0000E9455078091EF01811109C00E94E31124 +:101CD0000E9440128091E20084608093E2000895A7 +:101CE0008FE893E00E9455071092EF0108958BE86A +:101CF00093E00C94550787E893E00E9455070C94F5 +:101D0000F52B83E893E00E9455070E94CF210E94A3 +:101D1000FB2B0E94DC140C941A0D80915B018F5FE9 +:101D200080935B0162E30E94692D911135C010928E +:101D30005B0180915C01882379F18091F00184300E +:101D400049F58091E9008F709091EC0090FF02C0FE +:101D500090E801C090E0982B84E08093E9008091A6 +:101D6000EB0080FF14C08091EE0087FF10C08091CF +:101D7000E80085FF03C01092F100F9CF8091E800E0 +:101D800080FF05C08091E8008E778093E8009F7007 +:101D90009093E90010925C01089542E061EC81E0CB +:101DA0000E945D1142E061EC82E00E945D1142E020 +:101DB00061EC83E00E945D1142E261EC84E00E94EC +:101DC0005D1142E161EC85E00C945D118091F201BE +:101DD000833009F455C030F4813071F0823009F459 +:101DE0008EC008958A3009F47AC08B3009F460C03F +:101DF000893009F09CC020C08091F101813A09F03E +:101E000096C08091E800877F8093E8008091F5017B +:101E10009091F601892B21F060E080E090E003C012 +:101E200060E18DE591E070E00E949A108091E800F9 +:101E30008B778093E80008958091F101813209F059 +:101E400076C08091F5019091F601009719F0049702 +:101E500009F06DC08091E800877F8093E800809151 +:101E6000E80082FD05C08091F0018111F8CF5FC0CC +:101E70008091F10080936D018091E8008B7753C0D1 +:101E80008091F101813A09F052C08091F501909161 +:101E9000F601892B09F04BC08091E800877F809381 +:101EA000E8008091E80080FFFCCF80910C0136C0F3 +:101EB0008091F1018132D9F58091F5019091F6017F +:101EC000892BA9F58091E800877F8093E8000E9424 +:101ED00092118091F30180930C010C94A11A8091CE +:101EE000F101813221F58091E800877F8093E8003D +:101EF0000E9492118091F40180936E010895809167 +:101F0000F101813AA1F48091E800877F8093E80095 +:101F10008091E80080FFFCCF80916E018093F100FA +:101F20008091E8008E778093E8000C9492110895D8 +:101F300084B7877F84BF88E10FB6F89480936000F0 +:101F4000109260000FBE90E080E80FB6F894809386 +:101F50006100909361000FBE0E9465150E94E3111D +:101F60000E9440128091E20084608093E2008EE142 +:101F70009DE00E940E2178940E94BA140E94671579 +:101F800082E091E00E94D7140E94E32B82E793E065 +:101F90000E9455078091F001853089F48EE693E028 +:101FA0000E9455070E9492218091EE01882391F3AF +:101FB0000E94BA21882371F30E943B10EBCF0E944C +:101FC0009515E8CF292F332723303105A9F06CF47C +:101FD0002130310509F442C02230310509F043C0F7 +:101FE0008DE890E02BEC33E042C021323105C9F09E +:101FF0002232310519F137C099278130910541F01E +:102000008230910541F0892B71F5E7ECF3E005C0D2 +:10201000EFEAF3E002C0E7E9F3E0849190E09F018A +:1020200026C0653000F5E62FF0E0EE0FFF1FEB5DF8 +:10203000FE4F2081318189E090E019C0653098F42D +:10204000E62FF0E0DF01AA0FBB1FA55EBE4F2D916A +:102050003C91EA5EFE4F808190E009C082E190E011 +:1020600028E534E004C080E090E020E030E0FA01B0 +:1020700031832083089580E189BD82E189BD09B45F +:1020800000FEFDCF8091D8008F7D8093D800809195 +:10209000E00082608093E0008091E00081FDFCCF51 +:1020A0000895CF92DF92EF92FF920F931F93CF93F9 +:1020B000DF937C018B01EA010E94B311811131C0D1 +:1020C000209731F088819981081B190BE80EF91EC1 +:1020D000C12CD12C0115110519F18091E80085FD65 +:1020E00014C08091E8008E778093E800209741F03B +:1020F000888199818C0D9D1D9983888385E011C00D +:102100000E94B311882331F30CC0F70181917F0144 +:102110008093F10001501109FFEFCF1ADF0ADACFE7 +:1021200080E0DF91CF911F910F91FF90EF90DF90B2 +:10213000CF9008952091F7013091F80126173707C5 +:1021400048F06115710539F42091E8002E7720934D +:10215000E80001C0B901FC0120E061157105B9F189 +:102160008091F001882309F440C0853009F43FC014 +:102170008091E80083FD3DC08091E80082FF06C0A9 +:102180008091E80082FF26C080E008958091E800F9 +:1021900080FFE3CF2091F3008091F20090E0922B3A +:1021A0006115710551F08830910538F42191209323 +:1021B000F100615071090196F3CF21E0089709F011 +:1021C00020E08091E8008E778093E800C6CF21114F +:1021D000C7CFD6CF8091F001882339F0853039F010 +:1021E0008091E80083FFCCCF04C082E0089583E0B3 +:1021F000089581E008952091F7013091F8012617A4 +:10220000370748F06115710539F42091E8002E7701 +:102210002093E80001C0B901FC0120E061157105BF +:10222000C1F18091F001882309F441C0853009F49F +:1022300040C08091E80083FD3EC08091E80082FFAD +:1022400006C08091E80082FF27C080E00895809159 +:10225000E80080FFE3CF2091F3008091F20090E04E +:10226000922B6115710559F08830910540F4249145 +:102270002093F1003196615071090196F2CF21E06F +:10228000089709F020E08091E8008E778093E800BD +:10229000C5CF2111C6CFD5CF8091F001882339F069 +:1022A000853039F08091E80083FFCBCF04C082E015 +:1022B000089583E0089581E00895982F973058F5A8 +:1022C0009093E900981739F07091EC002091ED009F +:1022D0005091F00003C0242F762F50E021FF19C049 +:1022E0003091EB003E7F3093EB003091ED003D7F6D +:1022F0003093ED003091EB0031603093EB00709340 +:10230000EC002093ED005093F0002091EE0027FFA9 +:1023100007C09F5FD3CF8F708093E90081E008955D +:1023200080E008958091F10187FD05C08091E8006B +:1023300080FF0EC012C08091E80082FD05C0809130 +:10234000F0018111F8CF08958091E8008B7708C0E3 +:102350008091F0018111EACF08958091E8008E7795 +:102360008093E80008958091E4009091E50045E6AF +:102370002091EC0020FF21C02091E80020FD21C029 +:102380002091F001222389F0253089F02091EB0083 +:1023900025FD0FC02091E4003091E5002817390792 +:1023A00039F3415041F0C901E3CF82E0089583E061 +:1023B000089581E0089584E008952091E80022FFC7 +:1023C000DFCF80E008950E9451120E945912E0EE82 +:1023D000F0E0808181608083E8EDF0E080818F779C +:1023E000808319BCA7EDB0E08C918E7F8C938081A7 +:1023F0008F7E80831092EF0108950F931F93CF93E8 +:10240000DF930E9451120E945912C8EDD0E08881DA +:102410008F77888388818068888388818F7D88838F +:1024200019BC1092F0011092EC011092EE01109282 +:10243000ED0100EE10E0F80180818B7F80838881C0 +:102440008160888342E060E080E00E945D11E1EEFF +:10245000F0E080818E7F8083E2EEF0E08081816019 +:102460008083808188608083F80180818E7F808373 +:10247000888180618883DF91CF911F910F910895AA +:10248000E8EDF0E080818F7E8083E7EDF0E08081F1 +:102490008160808384E082BF81E08093EF010C94AF +:1024A000FD11E8EDF0E080818E7F80831092E200E4 +:1024B00008951092DA001092E10008951F920F9291 +:1024C0000FB60F9211242F933F934F935F936F9307 +:1024D0007F938F939F93AF93BF93EF93FF938091DD +:1024E000E10082FF0BC08091E20082FF07C0809173 +:1024F000E1008B7F8093E1000E948D0E8091DA00D5 +:1025000080FF1FC08091D80080FF1BC08091DA003F +:102510008E7F8093DA008091D90080FF0DC080E12A +:1025200089BD82E189BD09B400FEFDCF81E08093C1 +:10253000F0010E945E0E05C019BC1092F0010E94CD +:10254000700E8091E10080FF19C08091E20080FF51 +:1025500015C08091E2008E7F8093E2008091E200BE +:1025600080618093E2008091D80080628093D800DF +:1025700019BC85E08093F0010E947B0E8091E10000 +:1025800084FF30C08091E20084FF2CC080E189BDCF +:1025900082E189BD09B400FEFDCF8091D8008F7D16 +:1025A0008093D8008091E1008F7E8093E10080913C +:1025B000E2008F7E8093E2008091E2008160809350 +:1025C000E2008091EC01882311F084E007C0809143 +:1025D000E30087FF02C083E001C081E08093F00147 +:1025E0000E94810E8091E10083FF29C08091E2006A +:1025F00083FF25C08091E100877F8093E10082E026 +:102600008093F0011092EC018091E1008E7F809325 +:10261000E1008091E2008E7F8093E2008091E200F1 +:1026200080618093E20042E060E080E00E945D1102 +:102630008091F00088608093F0000E94770EFF91F7 +:10264000EF91BF91AF919F918F917F916F915F912A +:102650004F913F912F910F900FBE0F901F901895A3 +:102660001F920F920FB60F9211242F933F934F9307 +:102670005F936F937F938F939F93AF93BF93CF930A +:10268000EF93FF93C091E900CF708091EC0010921E +:10269000E9008091F000877F8093F00078940E9499 +:1026A0006C131092E9008091F00088608093F00034 +:1026B000C093E900FF91EF91CF91BF91AF919F91AE +:1026C0008F917F916F915F914F913F912F910F90DB +:1026D0000FBE0F901F9018951F93CF93DF93CDB728 +:1026E000DEB7AA970FB6F894DEBF0FBECDBFE1EFFD +:1026F000F1E08091F100819321E0E93FF207C9F711 +:102700000E94E60E8091E80083FF1CC12091F10138 +:102710003091F201832F90E08A30910508F012C1C8 +:10272000FC01EA5AFF4F0C94892D203881F02238A1 +:1027300009F008C18091F5018F708093E9008091C4 +:10274000EB0085FB882780F91092E90006C0809194 +:10275000ED019091EE01911182609091E800977FD8 +:102760009093E8008093F1001092F100C5C0822F91 +:102770008D7F09F0E7C0222319F0223061F0E2C01A +:102780008091F301813009F0DDC0333009F080E041 +:102790008093EE0128C08091F301811124C0209123 +:1027A000F5012F7009F4CEC02093E9008091EB0071 +:1027B00080FF19C08091EB00333011F4806211C0AA +:1027C00080618093EB0081E090E0022E01C0880FD1 +:1027D0000A94EAF78093EA001092EA008091EB00F5 +:1027E00088608093EB001092E9008091E800877F79 +:1027F00086C02111A7C01091F3011F778091E300DB +:102800008078812B8093E3008091E800877F80931C +:10281000E8000E9492118091E80080FFFCCF809137 +:10282000E30080688093E300112311F083E001C08E +:1028300082E08093F00186C02058223008F082C0E8 +:102840008091F3019091F4018C3D23E0920779F59A +:1028500083E08A838AE289834FB7F894DE01139676 +:1028600020E03EE051E2E32FF0E050935700E49186 +:1028700020FF03C0E295EF703F5FEF708E2F90E076 +:10288000EA3010F0C79601C0C0968D939D932F5FDC +:10289000243149F74FBF8091E800877F8093E8009B +:1028A0006AE270E0CE0101960E949A1014C0AE0157 +:1028B0004F5F5F4F6091F5010E94E20F009709F4AE +:1028C00041C02091E800277F2093E800BC01898166 +:1028D0009A810E94FB108091E8008B778093E8003A +:1028E00031C0203879F58091E800877F8093E80037 +:1028F0008091EC018093F1008091E8008E778093C5 +:10290000E8000E9492111EC021111CC09091F30199 +:102910009230C0F48091E800877F8093E800909324 +:10292000EC010E9492118091EC01811104C0809110 +:10293000E30087FF02C084E001C081E08093F001E2 +:102940000E94CD0E8091E80083FF0AC08091E800CC +:10295000877F8093E8008091EB0080628093EB009A +:10296000AA960FB6F894DEBF0FBECDBFDF91CF9110 +:102970001F910895CF938091F0018823B1F0809149 +:10298000E9008F709091EC0090FF02C090E801C0C8 +:1029900090E0C92FC82B1092E9008091E80083FDD8 +:1029A0000E946C13CF70C093E900CF91089590936B +:1029B0007401809373010895E0917301F0917401A3 +:1029C000309721F00190F081E02D099480E0089586 +:1029D000FF920F931F93CF93DF938C01E0917301CC +:1029E000F0917401309799F10280F381E02D0995FF +:1029F0008091D70182FF2BC080FF04C08DE895E055 +:102A00000E945507E80180E1F82E07E815E0809163 +:102A1000D70180FF0BC088811F928F931F930F9364 +:102A20000E94EE070F900F900F900F90FA9421964E +:102A3000F110EDCF8091D70180FF09C085E895E0C6 +:102A4000DF91CF911F910F91FF900C945507DF916B +:102A5000CF911F910F91FF900895E0917301F09134 +:102A60007401309721F00480F581E02D09940895D8 +:102A700020917101309172018217930771F0909348 +:102A8000720180937101E0917301F09174013097AC +:102A900021F00680F781E02D0994089520916F01BF +:102AA000309170018217930771F0909370018093B9 +:102AB0006F01E0917301F0917401309721F000846F +:102AC000F185E02D0994089508950C9464150E94F1 +:102AD000D1210E9465090C949722CF93C82F809131 +:102AE000D70182FF1EC080FF04C086EA95E00E94E5 +:102AF00055078091D70180FF0CC01F92CF9321EA28 +:102B000035E03F932F930E94EE070F900F900F90A8 +:102B10000F908091D70180FF04C08FE995E00E945B +:102B200055078C2FCF910C941A0DCF92DF92EF9214 +:102B3000FF920F931F93CF93DF93CDB7DEB72B9701 +:102B40000FB6F894DEBF0FBECDBF0E94820936E7F4 +:102B5000E32E31E0F32E00E010E0C02E802F0E9423 +:102B6000AD0AF701D1907F01D826B1F40F5F1F4F56 +:102B70000E30110591F78FEF89838A831B820E94A3 +:102B8000DA218160782F9D838C8349815A816B8102 +:102B90008D810E94381641C09091D70191FF04C0E9 +:102BA0008B870E94B30A8B8520E030E04D2D50E0EA +:102BB000922FBA01022E02C0759567950A94E2F72A +:102BC00060FF25C02E83CF82EE24E394F12C02C057 +:102BD000EE0CFF1C9A95E2F790E08E219F2121E0F8 +:102BE000892B09F420E028870E94DA218160782F60 +:102BF0009A8789874E815F8168858A850E94381609 +:102C0000F801EA58FE4F80818E25808306C02F5F31 +:102C10003F4F2630310561F6A9CF0E94052610915D +:102C200075010E94DC141817A1F00E94DC14809337 +:102C300075012B960FB6F894DEBF0FBECDBFDF91A6 +:102C4000CF911F910F91FF90EF90DF90CF900C9458 +:102C50006D152B960FB6F894DEBF0FBECDBFDF917A +:102C6000CF911F910F91FF90EF90DF90CF9008953B +:102C7000CF93DF93CDB7DEB72B970FB6F894DEBFB7 +:102C80000FBECDBF4F83588769877A878B87DE0158 +:102C9000119686E0FD0111928A95E9F785E0FE0123 +:102CA000379601900D928A95E1F749815A816B819F +:102CB0007C818D819E810E946D1D2B960FB6F894AC +:102CC000DEBF0FBECDBFDF91CF910895CF93C82F48 +:102CD000882309F4C1C0823859F40E94DC1481FDB4 +:102CE000BBC089E30E940C200E94E82089E30CC04D +:102CF000833879F40E94DC1480FDAEC083E50E9425 +:102D00000C200E94E82083E50E945D20CF910C9466 +:102D1000E820843859F40E94DC1482FD9DC087E4C9 +:102D20000E940C200E94E82087E4EECF8CEF8C0FED +:102D3000813A48F48C2F0E948E2A81118DC08C2FED +:102D40000E940C20E3CF80E28C0F883048F4C770DB +:102D500081E001C0880FCA95EAF70E94AF20D6CF64 +:102D60008BE58C0F833078F4C53A29F0C63A31F4FC +:102D700082E890E005C081E890E002C083E890E03E +:102D8000CF910C94381588E58C0F833108F064C01E +:102D9000C83A39F1C93A41F1CA3A49F1CB3A51F14D +:102DA000CC3A59F1CD3A61F1C03B69F1CE3A71F1BB +:102DB000CF3A79F1C13B81F1C23B89F1C33B91F13B +:102DC000C43B99F1C53BA1F1C63BA9F1C73BB1F1A9 +:102DD000C83BB9F1C93BC1F1CA3BC9F58AE292E0EF +:102DE00038C082EE90E035C089EE90E032C08AEEC5 +:102DF00090E02FC085EB90E02CC086EB90E029C0DE +:102E000087EB90E026C08CEC90E023C08DEC90E046 +:102E100020C083E891E01DC08AE891E01AC082E9F1 +:102E200091E017C084E991E014C081E292E011C002 +:102E300083E292E00EC084E292E00BC085E292E071 +:102E400008C086E292E005C087E292E002C080E01E +:102E500090E0CF910C944E15CF910895882309F4FA +:102E60004BC0823859F40E94DC1481FF45C089E3CD +:102E70000E940C200E94E82089E30CC0833871F482 +:102E80000E94DC1480FF38C083E50E940C200E9461 +:102E9000E82083E50E945D200C94E820843859F4F2 +:102EA0000E94DC1482FF28C087E40E940C200E944C +:102EB000E82087E4EFCF9CEF980F913A58F390E227 +:102EC000980F983050F4877091E001C0990F8A955F +:102ED000EAF7892F0E94B520DFCF9BE5980F93304A +:102EE00020F480E090E00C943815885A833120F467 +:102EF00080E090E00C944E150895882321F00E9404 +:102F0000AF200C94E8200895882321F00E94B5207A +:102F10000C94E8200895CF92DF92EF92FF920F93E6 +:102F20001F93CF93DF93CDB7DEB728970FB6F894F2 +:102F3000DEBF0FBECDBF8C0185E0F801DE0111962A +:102F400001900D928A95E1F7F80140813181F2807C +:102F5000258122952F7083819481892B31F03F3F09 +:102F600031F481E04F3F19F403C081E001C080E0FB +:102F700080FDC6C249833A8389819A812F830E944A +:102F8000CA1F9E8388870E94C91F0E949C1E4E8173 +:102F9000E42FE295EF70F0E0E05AFF4F2F81688553 +:102FA0000C94892D842F807F142F1F70882311F09B +:102FB0001295107FFF2059F0112309F456C2812F7A +:102FC00068870E94BF200E94E82068854EC2862F35 +:102FD0000E942E17112309F493C2812F0E94C5204D +:102FE00028960FB6F894DEBF0FBECDBFDF91CF910C +:102FF0001F910F91FF90EF90DF90CF900C94E820FD +:10300000342F307F842F8F70303211F08295807F83 +:10301000662319F0613019F12CC0FF20B1F0222392 +:1030200009F494C1213009F091C128960FB6F894A3 +:10303000DEBF0FBECDBFDF91CF911F910F91FF90EB +:10304000EF90DF90CF900C94CF20222319F0213005 +:1030500009F456C28E830E94D2208E818AC1FF203D +:1030600021F0263008F04CC271C1253008F048C26A +:1030700080C1FF2021F0222309F468C1F6C1222378 +:1030800009F477C106C2242F26952695237030E0D7 +:103090002115310521F021303105C9F031C2FF2061 +:1030A00021F0862F942F937002C080E090E0289644 +:1030B0000FB6F894DEBF0FBECDBFDF91CF911F9149 +:1030C0000F91FF90EF90DF90CF900C943815FF2078 +:1030D00021F0862F942F937002C080E090E0289614 +:1030E0000FB6F894DEBF0FBECDBFDF91CF911F9119 +:1030F0000F91FF90EF90DF90CF900C944E15862F9C +:10310000FF2019F00E948B2402C00E94F32428960D +:103110000FB6F894DEBF0FBECDBFDF91CF911F91E8 +:103120000F91FF90EF90DF90CF900C947825842F33 +:10313000837009F076C0F110E3C1262F2295269501 +:103140002770220F220F862F8F70C82ED12CE12CD2 +:10315000F12C022E04C0CC0CDD1CEE1CFF1C0A94CA +:10316000D2F764FF10C06FE070E080E090E004C030 +:10317000660F771F881F991F2A95D2F76095709563 +:103180008095909503C060E070E0CB01242F2695D8 +:1031900026952370422F50E042305105D1F0433044 +:1031A000510559F16C297D298E299F2941305105FE +:1031B00041F128960FB6F894DEBF0FBECDBFDF9168 +:1031C000CF911F910F91FF90EF90DF90CF900C94D3 +:1031D000C11E6C297D298E299F2928960FB6F89447 +:1031E000DEBF0FBECDBFDF91CF911F910F91FF903A +:1031F000EF90DF90CF900C94DB1E0E94C11EC701A0 +:10320000B60128960FB6F894DEBF0FBECDBFDF9192 +:10321000CF911F910F91FF90EF90DF90CF900C9482 +:10322000A71EFF2019F0842F817001C08695882386 +:1032300009F466C1262F229526952770220F220FAA +:10324000862F8F70C82ED12CE12CF12C022E04C0B9 +:10325000CC0CDD1CEE1CFF1C0A94D2F764FF10C0DE +:103260006FE070E080E090E004C0660F771F881F79 +:10327000991F2A95D2F7609570958095909503C017 +:1032800060E070E0CB01242F269526952370422F15 +:1032900050E042305105D1F04330510559F16C29CD +:1032A0007D298E299F294130510541F128960FB67D +:1032B000F894DEBF0FBECDBFDF91CF911F910F916C +:1032C000FF90EF90DF90CF900C94951F6C297D2993 +:1032D0008E299F2928960FB6F894DEBF0FBECDBF6A +:1032E000DF91CF911F910F91FF90EF90DF90CF90E2 +:1032F0000C94AF1F0E94951FC701B60128960FB608 +:10330000F894DEBF0FBECDBFDF91CF911F910F911B +:10331000FF90EF90DF90CF900C947B1F603FC9F13E +:1033200018F4603E50F49CC0623F09F461C008F498 +:103330004BC0633F09F470C093C0162F1F70842FD9 +:103340008F71FF2099F00E94141F812F28960FB6CD +:10335000F894DEBF0FBECDBFDF91CF911F910F91CB +:10336000FF90EF90DF90CF900C947D170E94351F57 +:10337000812F28960FB6F894DEBF0FBECDBFDF9128 +:10338000CF911F910F91FF90EF90DF90CF900C9411 +:103390008417FF20A9F0253008F0B2C0842F8F7168 :1033A00028960FB6F894DEBF0FBECDBFDF91CF9148 -:1033B0001F910F91FF90EF90DF90CF900C94091F19 -:1033C000FF2091F0842F8F7128960FB6F894DEBFFE -:1033D0000FBECDBFDF91CF911F910F91FF90EF9066 -:1033E000DF90CF900C94D31E28960FB6F894DEBFD2 -:1033F0000FBECDBFDF91CF911F910F91FF90EF9046 -:10340000DF90CF900C94C91EFF20A1F0222309F475 -:10341000B1CF862F28960FB6F894DEBF0FBECDBF72 -:10342000DF91CF911F910F91FF90EF90DF90CF90A0 -:103430000C943A16222309F4B1CF862F28960FB6A2 -:10344000F894DEBF0FBECDBFDF91CF911F910F91DA -:10345000FF90EF90DF90CF900C9402174F70C8014F -:103460000E94F70728960FB6F894DEBF0FBECDBFB7 -:10347000DF91CF911F910F91FF90EF90DF90CF9050 -:103480000C94EE1D4F70C80128960FB6F894DEBF5D -:103490000FBECDBFDF91CF911F910F91FF90EF90A5 -:1034A000DF90CF900C948D0B28960FB6F894DEBF6A -:1034B0000FBECDBFDF91CF911F910F91FF90EF9085 -:1034C000DF90CF9008950E94A0200E9475200E9456 -:1034D000BC200E947A260E944C2580E090E00E9449 -:1034E0000C1580E090E00C9422150E9490200C9422 -:1034F000631A0E949E1F292F22952F7030E02C30D6 -:1035000031054CF42A3031056CF422503109223057 -:10351000310590F407C02C30310551F02F303105C2 -:1035200039F00AC0803E10F0803F31F481E0089508 -:1035300093FB882780F9089580E00895CF93DF9367 -:1035400000D000D01F92CDB7DEB70F900F900F9034 -:103550000F900F90DF91CF910895CF93DF9300D01C -:1035600000D000D0CDB7DEB726960FB6F894DEBFF8 -:103570000FBECDBFDF91CF9108951F93CF93DF93FF -:10358000C091840116E080918501C81799F0D0E0C0 -:103590001C9FF0011D9FF00D1124EA57FE4F408142 -:1035A000518162817381848195810E94AD1A219637 -:1035B000C770E9CFDF91CF911F9108954091B60177 -:1035C0005091B7016091B8017091B9018091BA0131 -:1035D0009091BB010C94AD1ACF938091BB01829561 -:1035E0008F7009F05FC08091B801882309F45AC038 -:1035F00020918401A09185016091B6017091B7017D -:103600008091B9019091BA0131E06F3F09F030E04B -:10361000B32FC6E02A1709F445C0009721F07F3F79 -:1036200021F44B2F03C041E001C040E030E040FDF9 -:1036300035C0C29FF001C39FF00D1124EA57FE4F21 -:10364000418174132BC04081641328C04281411111 -:1036500025C0438154814817590710F4415051093E -:10366000481B590B483C5105C8F48091BB018F7031 -:1036700080618093BB0186E0829FF001839FF00D03 -:103680001124E557FE4F80818F708061808386EB27 -:1036900091E00E945F17CF910C94BD1A2F5F3F4FAE -:1036A0002770B8CFCF910895CF92DF92EF92FF921B -:1036B0000F931F93CF93DF93CDB7DEB762970FB60B -:1036C000F894DEBF0FBECDBF8C0185E0F801DE01AE -:1036D0001D9601900D928A95E1F7D8014C911196B3 -:1036E0005C91119712966C9112971396ED90FC9045 -:1036F00014977091B601E091B7012091B901309112 -:10370000BA012115310531F0EF3F31F481E07F3FFF -:1037100019F403C081E001C080E0B82FB170CB2E56 -:1037200080FD6CC1D090B801DD2009F4F5C0F091A6 -:10373000BB01E216F30638F0C701821B930B883CED -:10374000910548F09BC0209530952E0D3F1D283CDB -:10375000310508F093C08F2F807F09F052C0E51328 -:1037600014C0741312C0D62E61110FC0FF70F06127 -:10377000F093BB010E94DE1A86EB91E00E945F1776 -:103780008091BB01F80185836CC1EF2831F05F3F68 -:1037900031F481E04F3F19F403C081E001C080E0C3 -:1037A00080FD03C081E0862701C080E0F82FF17022 -:1037B000FF2E80FF1CC0809184012091850136E09E -:1037C000821709F428C190E0389FF001399FF00D6D -:1037D0001124EA57FE4F7181571306C070814713B9 -:1037E00003C07281671303C001968770E9CFD62E9C -:1037F000662309F436C18091BB0181608093BB01CF -:1038000053C0E51308C0741306C0611104C0D80189 -:103810001596FC93AEC04D875E878D859E856A8B1D -:103820000E94791A6A89882329F1D62E662311F11C -:103830002091BB01822F82958F7090E002970CF44B -:1038400060C08091B6019091B70198878F831986E7 -:10385000FB86EA862C87CE01079651C0E51731F129 -:103860004D875E878D859E856A8B0E94791A6A894D -:1038700081112EC0C8010E945F17A4C08F2F807FC6 -:1038800069F77E2DF98AE88A89890E949E1A86EB5B -:1038900091E00E945F17E6EBF1E086E0DF011D9208 -:1038A0008A95E9F70E94DE1AD12CDBC07413D8CFB9 -:1038B0006111D6CFD8011596FC93C8010E945F17FD -:1038C000E6EBF1E086E0DF011D928A95E9F7C9C0D9 -:1038D000D62E662379F22091BB01822F82958F70BC -:1038E00090E0029774F08091B6019091B7019A83AD -:1038F00089831B82FD82EC822E83CE0101960E9479 -:103900005F1786E0F801A6EBB1E001900D928A9571 -:10391000E1F70E94EC1A6FC0E216F30628F0C70127 -:10392000821B930B9C0104C0209530952E0D3F1DEA -:10393000283C310508F052C0D62E662309F49ACFF0 -:10394000E5132CC074132AC08091BB0180FD1DC0FB -:10395000982F92959F70C9F0D80115968C93159762 -:103960009F3039F09F5F9295907F8F70892B1596CD -:103970008C93C8010E945F1786E0F801A6EBB1E0C6 -:1039800001900D928A95E1F736C086E0F801A6EB2A -:10399000B1E001900D928A95E1F763C04D875E8793 -:1039A0008D859E850E94791A882379F086E0F8013A -:1039B000A6EBB1E001900D928A95E1F70E94EC1A16 -:1039C0000E94DE1ADD24D3944CC08091BB0181603B -:1039D0008093BB01C8010E945F1743C07E2DF98A06 -:1039E000E88A89890E949E1AE6EBF1E086E0DF0111 -:1039F0001D928A95E9F70E94DE1A33C0662309F406 -:103A000039CF4D875E878D859E850E94791A8823E0 -:103A100009F430CFCBCF4D875E878D859E850E9480 -:103A20009E1F292F22952F7030E0223031052CF473 -:103A30009F7041F0811106C00CC0243031052CF478 -:103A40009F7049F4805E883020F0C8010E945F17A3 -:103A5000CF2CDC2C06C0D80115969C91907F91F755 -:103A6000F8CF8D2D62960FB6F894DEBF0FBECDBF96 -:103A7000DF91CF911F910F91FF90EF90DF90CF904A -:103A800008951F93CF93DF93CDB7DEB72C970FB672 -:103A9000F894DEBF0FBECDBF4F83588769877A8702 -:103AA0008B879C87CE0107960E94541B8823C1F008 -:103AB0002F8138858A859B85892B31F03F3F11F016 -:103AC00080E003C02F3FE1F781E0811147C04F81C3 -:103AD000588569857A858B859C850E94AD1A3EC084 -:103AE00086E0FE013796DE01119601900D928A95CF -:103AF000E1F7FF81E8854A855B854115510531F085 -:103B0000EF3F31F481E0FF3F19F403C081E001C0D1 -:103B100080E080FD23C02091850130E0C90101963D -:103B2000877099276091840170E086179707F1F1FB -:103B3000F983EA835D834C8396E0929FD001939F43 -:103B4000B00D1124AA57BE4FFE01319601900D927F -:103B50009A95E1F7809385010E94BD1A16E0809145 -:103B6000840190918501891779F1189FC001112472 -:103B70008A579E4F0E94541B882331F1E0918401A3 -:103B80001E9FF0011124EA57FE4F4081518162814E -:103B90007381848195810E94AD1A8091840190E0A7 -:103BA00001968770992780938401D9CF0E94751A56 -:103BB0001092850110928401E6EBF1E086E0DF01CE -:103BC0001D928A95E9F7CACF2C960FB6F894DEBFFE -:103BD0000FBECDBFDF91CF911F910895EF92FF925D -:103BE0000F931F93CF93DF939C01009709F471C04B -:103BF000F12CEE24E394E9012196F90184918437B4 -:103C000040F4843008F056C0813081F0823021F1D8 -:103C100060C0853709F449C0C0F19CE7980F903720 -:103C200008F057C08F770E94021746C089010E5FC7 -:103C30001F4FFE01849190E2980F983050F48770E6 -:103C4000FE2D01C0FF0F8A95EAF78F2F0E94932067 -:103C500015C00E943A1614C089010E5F1F4FFE0165 -:103C6000849190E2980F983068F48770FE2D01C01F -:103C7000FF0F8A95EAF78F2F0E9499200E94BC209F -:103C8000E8011AC00E940217FBCF2E5F3F4FFE01D2 -:103C9000C491CC2341F08FE99FE00197F1F700C078 -:103CA0000000C150F6CFE90107C0FE01F490E90120 -:103CB000229602C00E943A168F2D882341F0EFE928 -:103CC000FFE03197F1F700C000008150F6CF9E0170 -:103CD00092CFDF91CF911F910F91FF90EF900895B8 -:103CE00008956093C0017093C1018093C2019093C5 -:103CF000C3010C94631A0F931F930091C00110919C -:103D0000C1012091C2013091C301062B172B282B32 -:103D1000392B0093C0011093C1012093C20130934D -:103D2000C3011F910F910C94631A0F931F9300917D -:103D3000C0011091C1012091C2013091C30106233D -:103D40001723282339230093C0011093C101209326 -:103D5000C2013093C3011F910F910C94631A0F930A -:103D60001F930091C0011091C1012091C2013091B7 -:103D7000C30106271727282739270093C00110936E -:103D8000C1012093C2013093C3011F910F910C9484 -:103D9000631A1092BC011092BD011092BE011092E4 -:103DA000BF010C94631A41E050E060E070E004C091 -:103DB000440F551F661F771F8A95D2F74093BC01A9 -:103DC0005093BD016093BE017093BF010C94631AC0 -:103DD00041E050E060E070E004C0440F551F661FF2 -:103DE000771F8A95D2F78091BC019091BD01A09177 -:103DF000BE01B091BF01842B952BA62BB72B8093CE -:103E0000BC019093BD01A093BE01B093BF010C947F -:103E1000631A41E050E060E070E004C0440F551FB9 -:103E2000661F771F8A95D2F74095509560957095DB -:103E30008091BC019091BD01A091BE01B091BF01E4 -:103E400084239523A623B7238093BC019093BD01BF -:103E5000A093BE01B093BF010C94631A41E050E0FF -:103E600060E070E004C0440F551F661F771F8A95FD -:103E7000D2F78091BC019091BD01A091BE01B0919B -:103E8000BF0184279527A627B7278093BC0190936D -:103E9000BD01A093BE01B093BF010C94631A0F93B0 -:103EA0001F930091BC011091BD012091BE01309182 -:103EB000BF01062B172B282B392B0093BC01109325 -:103EC000BD012093BE013093BF011F910F910C944F -:103ED000631A0F931F930091BC011091BD012091B3 -:103EE000BE013091BF0106231723282339230093F5 -:103EF000BC011093BD012093BE013093BF011F91FF -:103F00000F910C94631A0F931F930091BC011091B1 -:103F1000BD012091BE013091BF0106271727282738 -:103F200039270093BC011093BD012093BE0130934B -:103F3000BF011F910F910C94631A0895CF92DF92E5 -:103F4000EF92FF920F931F93CF93DF93EC01C090FA -:103F5000C001D090C101E090C201F090C3018091F6 -:103F6000BC019091BD01A091BE01B091BF01C82AD2 -:103F7000D92AEA2AFB2A0FE110E0B701A601002E98 -:103F800004C076956795579547950A94D2F740FFF8 -:103F900007C0BE01802F0E94B00B8130910539F41B -:103FA0000150110950F7BE0180E00E94B00BDF9173 -:103FB000CF911F910F91FF90EF90DF90CF900895D8 -:103FC00090910C01992361F190910D01992341F198 -:103FD000982F9695969596959F3088F4E0910E01CE -:103FE000F0910F01E90FF11D877021E030E001C071 -:103FF000220F8A95EAF78181822B8183089590911F -:10400000D70190FF2DC01F928F9387ED95E09F936E -:104010008F930E94EE070F900F900F900F900895CE -:1040200040910E0150910F0120E030E09FEFFA0126 -:10403000E20FF31F6281681799F09F3F19F4611135 -:1040400001C0922F2F5F3F4F2E30310581F79F3FE8 -:1040500039F0FA01E90FF11D97FDFA958283089571 -:10406000089590910C01992369F190910D01992384 -:1040700049F1982F9695969596959F3090F4E091FA -:104080000E01F0910F01E90FF11D877021E030E082 -:1040900001C0220F8A95EAF7209581812823218388 -:1040A00008959091D70190FF1FC01F928F9389EBC5 -:1040B00095E09F938F930E94EE070F900F900F90C3 -:1040C0000F90089540910E0150910F0120E030E0D3 -:1040D000FA01E20FF31F9281981301C012822F5F41 -:1040E0003F4F2E303105A1F7089581E090E0E09137 -:1040F0000E01F0910F01E80FF91F10820196803137 -:104100009105A9F708959091D601982B9093D60127 -:10411000089580959091D60198239093D6010895A3 -:104120001092D60108959091D501982B9093D501C6 -:10413000089580959091D50198239093D501089585 -:104140001092D50108958093C40108951092C4017E -:10415000089540910E0150910F0120E030E080E081 -:10416000FA01E20FF31F918191118F5F2F5F3F4F93 -:104170002F303105A9F70895E0910E01F0910F015C -:104180008091D6018083E0910E01F0910F01808132 -:104190009091D501892B80839091C401992361F07E -:1041A000E0910E01F0910F018081892B80830E94A4 -:1041B000A92081111092C40180910E0190910F01EC -:1041C0000C94BC1490933B0180933A010895CF92D4 -:1041D000DF92EF92FF920F931F936C01EE24FF2466 -:1041E000C114D104E104F10421F46B017C0180E0ED -:1041F00001C080E133272F2D1E2D0D2D0115110536 -:104200002105310519F0885F680179019701860160 -:10421000A4E03695279517950795AA95D1F701152E -:1042200011052105310519F08C5F680179019701AD -:104230008601F2E03695279517950795FA95D1F7FF -:10424000011511052105310519F08E5F680179010D -:10425000B701A6017695679557954795452B462B4F -:10426000472B09F08F5F1F910F91FF90EF90DF9028 -:10427000CF9008958295982F9C7C96959695837300 -:1042800044E0849F90011124922B892F8A7A86958D -:104290009575990F892B08951F93CF93DF931F92E4 -:1042A000CDB7DEB799830E943A21182F9981892FC3 -:1042B0000E943A21212F30E0322F2227A901482BDA -:1042C000CA010F90DF91CF911F9108958091F00165 -:1042D000843009F11092D80120E488E190E00FB613 -:1042E000F894A895809360000FBE2093600083B778 -:1042F000817F846083BF83B7816083BF7894889512 -:1043000083B78E7F83BF88E10FB6F89480936000F7 -:10431000109260000FBE089508950895CF930E94F3 -:104320008C210E9456090E948D21C0E08C2F0E9492 -:10433000810A811105C0CF5FCE30C1F780E001C096 -:1043400081E0CF9108950C94751A82E084BD93E0CA -:1043500095BD9AEF97BD80936E0008952FB7F8949E -:104360008091D9019091DA01A091DB01B091DC013B -:104370002FBF0895CF92DF92EF92FF920F931F937A -:104380002FB7F8944091D9015091DA016091DB0187 -:104390007091DC012FBF6A017B01EE24FF248C01A8 -:1043A00020E030E0C016D106E206F30610F44150DA -:1043B0005109481B590BCA011F910F91FF90EF90B3 -:1043C000DF90CF9008951F920F920FB60F92112495 -:1043D0008F939F93AF93BF938091D9019091DA010E -:1043E000A091DB01B091DC010196A11DB11D80936C -:1043F000D9019093DA01A093DB01B093DC01BF9166 -:10440000AF919F918F910F900FBE0F901F901895B5 -:104410000E94B711F8942FEF87EA91E6215080406F -:104420009040E1F700C0000087E090EBDC01809352 -:10443000F9019093FA01A093FB01B093FC012CE0E9 -:1044400088E190E00FB6F894A895809360000FBEC5 -:1044500020936000FFCFEF92FF920F931F93CF93B3 -:10446000DF93E82EF12C8F2D0E94810AC0E0D0E06E -:10447000082F10E098010C2E02C0359527950A945C -:10448000E2F720FD05C02196C630D10599F709C095 -:104490006C2F7F2D80E00E948E0BE812F4CF81E01C -:1044A00005C0F3948EE0F812DECF80E0DF91CF916B -:1044B0001F910F91FF90EF900895CF93C82F8CE23A -:1044C0000E942B22882321F08C2FCF910C942B2239 -:1044D00080E0CF910895CF930E94B823811102C04C -:1044E0000E949E238CEF95E00E945507C5E6C150BF -:1044F00049F00E9456098FE39CE90197F1F700C04B -:104500000000F5CF85EF95E00E94550789E20E94F3 -:104510005D22811111C18AE20E945D2281110E94F7 -:104520009E2385E00E945D2281110E9408220E9444 -:10453000C3238093D70187E00E945D22882399F1ED -:104540008BE10E945D22882351F09091D70191FB6D -:10455000882780F921E0822780FB91F922C08EE034 -:104560000E945D22882351F09091D70192FB882709 -:1045700080F921E0822780FB92F913C080E10E943C -:104580005D229091D701882341F093FB882780F921 -:1045900021E0822780FB93F904C0892F809580FB5E -:1045A00090F99093D7018091D7010E94C7230E9470 -:1045B000D5238093EA0180EE0E945D22882341F09A -:1045C0008091EA01982F909590FB80F98093EA0101 -:1045D00089E30E945D22882359F09091EA0191FBC2 -:1045E000882780F921E0822780FB91F99093EA01E6 -:1045F00082EE0E945D22882359F09091EA0192FB9D -:10460000882780F921E0822780FB92F99093EA01C4 -:1046100086EE0E945D22882359F09091EA0193FB77 -:10462000882780F921E0822780FB93F99093EA01A3 -:1046300083EE0E945D22882359F09091EA0194FB59 -:10464000882780F921E0822780FB94F99093EA0182 -:1046500085E30E945D22882359F09091EA0195FB41 -:10466000882780F921E0822780FB95F99093EA0161 -:1046700081E30E945D22882359F09091EA0196FB24 -:10468000882780F921E0822780FB96F99093EA0140 -:1046900081E10E945D22882359F09091EA0197FB05 -:1046A000882780F921E0822780FB97F99093EA011F -:1046B0008091EA010E94D9238091EA0187FB882733 -:1046C00080F980930D0187E20E945D22C82F8EE160 -:1046D0000E945D228111C2608FE10E945D228111E2 -:1046E000C46080E20E945D228111C86081E20E9464 -:1046F0005D228111C06182E20E945D228111C0624F -:1047000083E20E945D228111C06484E20E945D22E6 -:10471000882311F0C06802C0CC2329F08C2F0E949E -:10472000D0236C2F03C00E94CC23682F70E080E060 -:1047300090E0CF910C94711ECF9108956DEE7EEFB5 -:1047400080E090E00E94932D60E082E090E00E9483 -:10475000852D60E083E090E00E94852D60E084E09C -:1047600090E00E94852D60E085E090E00C94852D1E -:1047700080E090E00E947F2D21E08D3E9E4F09F069 -:1047800020E0822F089582E090E00C94772D682F2E -:1047900082E090E00C94852D83E090E00C94772DDE -:1047A000682F83E090E00C94852D84E090E00C94D9 -:1047B000772D682F84E090E00C94852D8091DF01A7 -:1047C00080FF0BC06091130185E0689FB001112448 -:1047D00075956795759567952AC081FF09C06091A9 -:1047E000130185E0689FB0011124759567951FC07E -:1047F00082FF07C06091130185E0689FB00111241A -:1048000016C04091E0014423C9F06091120146179F -:1048100088F72091130185E0289F90011124429F81 -:10482000C001439F900D112470E00E94492D603813 -:10483000710540F46115710539F002C065E070E062 -:10484000862F08958FE7089581E008958091DF0114 -:1048500080FF08C06091110170E0759567957595AE -:10486000679521C081FF06C06091110170E07595C8 -:10487000679519C082FF04C06091110170E010C0FB -:104880008091E0018823C1F0609110018617A0F7A4 -:1048900090911101989FC001112470E00E94492D50 -:1048A0006038710528F46115710521F0862F08958F -:1048B0008FE7089581E0089561E070E0F4CF803FD4 -:1048C00021F40E94DE23819504C0813F29F40E94D7 -:1048D000DE238093E3010895823F21F40E94DE23CA -:1048E000819504C0833F29F40E94DE238093E20176 -:1048F0000895893F19F40E94262405C08A3F31F4A7 -:104900000E94262481958093E40108958B3F21F431 -:104910000E942624819504C08C3F29F40E942624FD -:104920008093E5010895843F21F48091E101816045 -:1049300017C0853F21F48091E101826011C0863F5C -:1049400021F48091E10184600BC0873F21F48091C4 -:10495000E101886005C0883F31F48091E101806108 -:104960008093E10108958D3F21F48091DF01816002 -:104970000BC08E3F21F48091DF01826005C08F3F24 -:1049800029F48091DF0184608093DF010895803FE6 -:1049900039F48091E30187FF6CC01092E30169C094 -:1049A000813F29F48091E3011816BCF362C0909115 -:1049B000E201823F29F497FF5CC01092E20159C0E6 -:1049C000833F19F41916CCF354C0893F41F4809108 -:1049D000E40118160CF04DC01092E4014AC08A3F61 -:1049E00029F48091E40187FF44C0F6CF8B3F39F46E -:1049F0008091E50187FF3DC01092E5013AC08C3FF0 -:104A000029F48091E5011816BCF333C0843F21F4EA -:104A10008091E1018E7F17C0853F21F48091E101F3 -:104A20008D7F11C0863F21F48091E1018B7F0BC007 -:104A3000873F21F48091E101877F05C0883F31F4F1 -:104A40008091E1018F7E8093E10113C08D3F21F4BD -:104A50008091DF018E7F0BC08E3F21F48091DF01BA -:104A60008D7F05C08F3F29F48091DF018B7F80937C -:104A7000DF018091E20181110EC08091E30181117B -:104A80000AC08091E401811106C08091E501811185 -:104A900002C01092E00108958091D70183FF7EC08B -:104AA00088E396E00E9455078091E1011F928F9361 -:104AB00083E396E09F938F930E94EE0781E396E055 -:104AC0000E9455072091E201822F992787FD90953A -:104AD0009F932F938EE296E09F938F930E94EE0711 -:104AE0008CE296E00E9455072091E301822F9927DE -:104AF00087FD90959F932F9389E296E09F938F93E4 -:104B00000E94EE0787E296E00E9455072091E4019B -:104B1000822F992787FD90959F932F9384E296E0AB -:104B20009F938F930E94EE0782E296E00E945507C2 -:104B30002091E501822F992787FD90959F932F93D0 -:104B40008FE196E09F938F930E94EE078CE196E0B1 -:104B50000E9455078091E0011F928F9389E196E0B2 -:104B60009F938F930E94EE0787E196E00E9455077E -:104B70008091DF011F928F9384E196E09F938F9342 -:104B80000E94EE0781E196E00E9455078DB79EB71F -:104B90004C960FB6F8949EBF0FBE8DBF81EE91E08C -:104BA0000E9401150E94AE219093DE018093DD01E9 -:104BB00008951F93CF93DF938091DD019091DE01E3 -:104BC0000E94BA214091E001442321F02091140178 -:104BD00030E006C0209115015AE0259F9001112474 -:104BE0008217930708F482C08091E2011091E301DB -:104BF000D091E401C091E501811107C0111105C0F8 -:104C0000D11103C0CC2309F471C04F3F19F04F5F9D -:104C10004093E001181624F40E94DE238093E20101 -:104C20008091E20187FF05C00E94DE238195809379 -:104C3000E201111624F40E94DE238093E3018091A7 -:104C4000E30187FF05C00E94DE2381958093E30185 -:104C50006091E201662339F11091E301112319F10A -:104C6000772767FD7095872F972F0E944E2C23E39F -:104C700033E343E35FE30E94B22C0E941B2C60935A -:104C8000E201612F772767FD7095872F972F0E948C -:104C90004E2C23E333E343E35FE30E94B22C0E94F4 -:104CA0001B2C6093E3011D1624F40E94262480939C -:104CB000E4018091E40187FF05C00E9426248195CC -:104CC0008093E4011C1624F40E9426248093E501BD -:104CD0008091E50187FF05C00E942624819580937D -:104CE000E501DF91CF911F910C944C25DF91CF917D -:104CF0001F910895E1EEF1E085E0DF011D928A95B4 -:104D0000E9F71092E0011092DF0108958BE598E039 -:104D10000E9455071F9281E08F931F9285E08F9329 -:104D20008DE098E09F938F930E94EE070F900F9075 -:104D30000F900F900F900F9008958330E9F128F4B1 -:104D4000813061F0823009F10895853009F462C044 -:104D500008F449C0863009F474C008952091150103 -:104D6000862F90E0820F911D8F3F910520F4620FF6 -:104D70006093150103C08FEF809315018091150199 -:104D80001F928F9386E497E072C020911401862FC2 -:104D900090E0820F911D8F3F910520F4620F609388 -:104DA000140103C08FEF80931401809114011F92AE -:104DB0008F9384E397E05BC020911301862F90E0EE -:104DC000820F911D8F3F910520F4620F60931301B4 -:104DD00003C08FEF80931301809113011F928F9373 -:104DE00081E297E044C020911201862F90E0820F6B -:104DF000911D8F3F910520F4620F6093120103C053 -:104E00008FEF80931201809112011F928F938CE09B -:104E100097E02DC020911101862F90E0820F911D07 -:104E20008F3F910520F4620F6093110103C08FEF53 -:104E300080931101809111011F928F9383EF96E06F -:104E400016C020911001862F90E0820F911D8F3F98 -:104E5000910520F4620F6093100103C08FEF8093DF -:104E60001001809110011F928F9388ED96E09F931F -:104E70008F930E94EE070F900F900F900F90089560 -:104E8000833081F128F4813059F08230D1F00895D7 -:104E9000853009F449C0B8F1863009F456C0089548 -:104EA00080911501681720F4861B8093150102C0BC -:104EB00010921501809115011F928F9389EC96E055 -:104EC00054C080911401681720F4861B809314014C -:104ED00002C010921401809114011F928F9387EBEE -:104EE00096E043C080911301681720F4861B8093DD -:104EF000130102C010921301809113011F928F932E -:104F000084EA96E032C080911201681720F4861B73 -:104F10008093120102C010921201809112011F921F -:104F20008F938FE896E021C080911101681720F4DB -:104F3000861B8093110102C0109211018091110112 -:104F40001F928F9386E796E010C08091100168173A -:104F500020F4861B8093100102C0109210018091F2 -:104F600010011F928F938BE596E09F938F930E9481 -:104F7000EE070F900F900F900F900895CF93C82FCA -:104F80001F928F9320E639E03F932F930E94EE0704 -:104F900061E070E080E090E004C0660F771F881F3A -:104FA000991FCA95D2F70E94711E0F900F900F9013 -:104FB0000F90CF910C94751ACF938D3109F465C081 -:104FC000B0F58E3009F4CBC100F5873009F49BC1F0 -:104FD000A8F4863009F06AC28091D701817F8E7F64 -:104FE0008093D70185E699E00E94550787EA9DE006 -:104FF0000E94550781E08093E70180C1883009F461 -:105000004FC08B3009F47CC151C2863109F4EDC127 -:1050100038F4803109F4B6C1813109F42DC246C299 -:10502000893109F4CBC18B3109F486C13FC2853384 -:1050300009F434C248F4873209F430C208F430C2AB -:10504000893209F42BC232C2833438F48A3308F02F -:1050500029C2883309F454C129C2833409F41EC219 -:10506000883409F023C20E94751A86E99DE00E94E7 -:1050700055079FEF23ED80E3915020408040E1F7FA -:1050800000C000000E94082239C186EB9DE00E940A -:1050900055070E94D52B0E94B0140E94EE0C2EC121 -:1050A0008BEA9DE00E94550786E79BE00E9455072A -:1050B0000E94CC231F928F9383E79BE09F938F9353 -:1050C0000E94EE0781E79BE00E9455070E94C323E0 -:1050D000C82F8EE59BE00E9455071F92CF9329E5CC -:1050E0003BE03F932F930E94EE0787E59BE00E94F1 -:1050F00055078DE49BE00E9455078C2F81701F920D -:105100008F932AE43BE03F932F930E94EE0788E4BD -:105110009BE00E9455078EE39BE00E945507C1FB70 -:10512000882780F91F928F932BE33BE03F932F93C7 -:105130000E94EE0789E39BE00E9455078DE29BE009 -:105140000E945507C2FB882780F91F928F932AE29D -:105150003BE03F932F930E94EE0788E29BE00E9482 -:1051600055078FE19BE00E945507C3FBCC27C0F990 -:105170001F92CF938CE19BE09F938F930E94EE0749 -:105180008AE19BE00E9455070E94D523C82F86E044 -:105190009BE00E9455071F92CF9321E03BE03F9395 -:1051A0002F930E94EE078FEF9AE00E94550786EE3C -:1051B0009AE00E9455078C2F81701F928F9323EEE7 -:1051C0003AE03F932F930E94EE078DB79EB78096EB -:1051D0000FB6F8949EBF0FBE8DBF81EE9AE00E947D -:1051E00055078AEC9AE00E945507C1FB882780F991 -:1051F0001F928F9327EC3AE03F932F930E94EE0784 -:1052000085EC9AE00E94550783EB9AE00E945507CF -:10521000C2FB882780F91F928F9320EB3AE03F93DF -:105220002F930E94EE078EEA9AE00E9455078CE9C0 -:105230009AE00E945507C3FB882780F91F928F933D -:1052400029E93AE03F932F930E94EE0787E99AE01D -:105250000E9455078DE89AE00E945507C4FB8827F5 -:1052600080F91F928F932AE83AE03F932F930E9490 -:10527000EE0788E89AE00E94550786E79AE00E94C8 -:105280005507C5FB882780F91F928F9323E73AE0E3 -:105290003F932F930E94EE0781E79AE00E94550703 -:1052A00085E59AE00E945507C6FB882780F91F9282 -:1052B0008F9322E53AE03F932F930E94EE0780E51B -:1052C0009AE00E94550788E49AE00E945507C7FBC0 -:1052D000CC27C0F91F92CF9385E49AE09F938F93D8 -:1052E0000E94EE0783E49AE00E9455078DB79EB7AF -:1052F0004C960FB6F8949EBF0FBE8DBFC1E0DBC0C9 -:105300008CE899E058C08091D701C82FC17080FF08 -:1053100009C089E89DE00E9455078091D701817FEF -:105320008E7F44C08DE79DE00E9455078091D70194 -:1053300081608093D701E2CF8091D70181FBCC2798 -:10534000C0F991E0C927C0FB81F98093D701CC2334 -:1053500019F080E79DE025C082E69DE02CC0809199 -:10536000D70182FBCC27C0F991E0C927C0FB82F9A5 -:105370008093D701CC2319F083E59DE012C083E42C -:105380009DE019C08091D70183FBCC27C0F991E043 -:10539000C927C0FB83F98093D701CC2351F087E361 -:1053A0009DE00E9455078091D70181608093D701CD -:1053B00082C08AE29DE00E945507A0CF8BE19DE06C -:1053C0000E9455078FEE9CE00E94550782EB9CE0FF -:1053D0000E94550785E89CE00E94550781E49CE007 -:1053E0000E94550786E19CE0E6CF88E09CE00E94A1 -:1053F00055070E94B0141F928F938EEE9BE09F93EF -:105400008F930E94EE0780910C011F928F9387ED7E -:105410009BE09F938F930E94EE0780916E011F92F5 -:105420008F9384EC9BE09F938F930E94EE07809173 -:105430000D011F928F9381EB9BE09F938F930E94AE -:10544000EE078091D9019091DA01A091DB01B09132 -:10545000DC01BF93AF939F938F938DE99BE09F9364 -:105460008F930E94EE078DB79EB746960FB6F894BD -:105470009EBF0FBE8DBF42CF0E94751AC0910D0115 -:1054800081E0C827C0930D01CC2329F083E99BE07C -:105490000E94550710C088E89BE08DCF80E003C0D4 -:1054A0008D5101C089530E94BE2728CF86E89BE01A -:1054B0000E945507C0E08C2FCF91089580E0089599 -:1054C00080E00895CF93C82F8091E701813081F06B -:1054D00020F0823009F44CC042C1A0910E01B0917D -:1054E0000F018C91813169F0823209F03AC109C013 -:1054F000A0910E01B0910F018C91813111F0823297 -:1055000049F48C2F0E945E2A81112FC08C2F0E949B -:10551000DC272CC08C2F0E94602A811126C0C43148 -:10552000E1F070F4CB3081F0C031D1F40E948626D6 -:1055300088E599E00E94550782E08093E70115C055 -:10554000C93259F0C83361F485E699E00E945507E5 -:105550008CE599E00E94550708C01092E70103C14D -:1055600086E599E00E945507FEC081E08170FDC08C -:10557000C43220F5CE3108F0C0C0CB3099F1C8F468 -:10558000C73009F0D2C08AE08093150194E190936E -:10559000140193E0909313018093120188E08093AB -:1055A000110188E2809310018CEF97E00E9455076B -:1055B000BFC0C33149F1C431C1F0B7C0CB3409F425 -:1055C000A9C028F4C93289F0C83361F0AEC0C13532 -:1055D00009F49EC0C23509F499C0CE3409F0A5C0C3 -:1055E0006AE09EC00E948626A3C08091E6018823BF -:1055F00019F01092E6019CC089E098E00E945507DE -:1056000081E08093E701B1C083EE97E00E945507E7 -:1056100081ED97E00E945507809115011F928F93AD -:105620008EEC97E09F938F930E94EE078CEC97E0AF -:105630000E9455078AEB97E00E945507809114015C -:105640001F928F9387EB97E09F938F930E94EE07B3 -:1056500085EB97E00E94550786EA97E00E94550780 -:10566000809113011F928F9383EA97E09F938F930A -:105670000E94EE0781EA97E00E94550780E997E0D3 -:105680000E945507809112011F928F938DE897E039 -:105690009F938F930E94EE078BE897E00E94550737 -:1056A00086E797E00E945507809111011F928F9322 -:1056B00083E797E09F938F930E94EE0781E797E03F -:1056C0000E9455078AE597E00E94550780911001D6 -:1056D0001F928F9387E597E09F938F930E94EE0729 -:1056E00085E597E00E9455078DB79EB748960FB69F -:1056F000F8949EBF0FBE8DBF1BC0CE51EC2FF0E0C3 -:10570000E15DFE4F80818093E60112C061E003C03D -:1057100061E006C06AE08091E6010E949D2608C013 -:105720008091E6010E94402703C08AEF97E013C0F2 -:105730008091E601882369F01F928F9384EF97E0B0 -:105740009F938F930E94EE070F900F900F900F90F2 -:1057500004C081EF97E00E94550781E006C01092D7 -:10576000E70180E002C080E001CFCF910895E1E839 -:10577000F0E08081886080838081816080838FB742 -:10578000F89493E09093890090ED909388008FBFF8 -:105790000895EFE6F0E08081826080830895EFE66F -:1057A000F0E080818D7F80830895EFE6F0E08081D6 -:1057B00092E08927808308951F920F920FB60F926F -:1057C00011242F933F934F935F936F937F938F9306 -:1057D0009F93AF93BF93EF93FF938091E8019091D4 -:1057E000E90101969093E9018093E801811103C0DA -:1057F00082E00E94EE0CE091E901E695E695F0E08A -:10580000EA53F24FE4918091E8018E1303C080E0E7 -:105810000E94EE0CFF91EF91BF91AF919F918F91FC -:105820007F916F915F914F913F912F910F900FBE9C -:105830000F901F90189504D06894B1118DC00895F1 -:1058400070D088F09F5790F0B92F9927B751A0F0EA -:10585000D1F0660F771F881F991F1AF0BA95C9F704 -:1058600012C0B13081F077D0B1E0089574C0672FD5 -:10587000782F8827B85F39F0B93FCCF386957795B4 -:105880006795B395D9F73EF490958095709561959D -:105890007F4F8F4F9F4F0895E89409C097FB3EF4C8 -:1058A00090958095709561957F4F8F4F9F4F99236D -:1058B000A9F0F92F96E9BB279395F69587957795EB -:1058C0006795B795F111F8CFFAF4BB0F11F460FFAB -:1058D0001BC06F5F7F4F8F4F9F4F16C0882311F003 -:1058E00096E911C0772321F09EE8872F762F05C017 -:1058F000662371F096E8862F70E060E02AF09A95B2 -:10590000660F771F881FDAF7880F9695879597F9A6 -:10591000089557FD9058440F551F59F05F3F71F09F -:105920004795880F97FB991F61F09F3F79F0879506 -:105930000895121613061406551FF2CF4695F1DF8F -:1059400008C0161617061806991FF1CF869571051F -:10595000610508940895E894BB2766277727CB0153 -:1059600097F908950BD078C069D028F06ED018F060 -:10597000952309F05AC05FC01124EECFCADFA0F30F -:10598000959FD1F3950F50E0551F629FF001729FD4 -:10599000BB27F00DB11D639FAA27F00DB11DAA1FF3 -:1059A000649F6627B00DA11D661F829F2227B00D40 -:1059B000A11D621F739FB00DA11D621F839FA00DCB -:1059C000611D221F749F3327A00D611D231F849F1B -:1059D000600D211D822F762F6A2F11249F57504072 -:1059E0008AF0E1F088234AF0EE0FFF1FBB1F661F0D -:1059F000771F881F91505040A9F79E3F510570F0C6 -:105A000014C0AACF5F3FECF3983EDCF38695779500 -:105A10006795B795F795E7959F5FC1F7FE2B880FC0 -:105A2000911D9695879597F9089597F99F6780E856 -:105A300070E060E008959FEF80EC089500240A94E0 -:105A40001616170618060906089500240A94121659 -:105A50001306140605060895092E0394000C11F48C -:105A6000882352F0BB0F40F4BF2B11F460FF04C039 -:105A70006F5F7F4F8F4F9F4F0895991B79E004C050 -:105A8000991F961708F0961B881F7A95C9F780957D -:105A9000089597FB072E16F4009407D077FD09D0E0 -:105AA0000E94632D07FC05D03EF4909581959F4F91 -:105AB0000895709561957F4F0895EE0FFF1F059033 -:105AC000F491E02D0994AA1BBB1B51E107C0AA1F4A -:105AD000BB1FA617B70710F0A61BB70B881F991F8F -:105AE0005A95A9F780959095BC01CD010895F99933 -:105AF000FECF92BD81BDF89A992780B50895A8E19F -:105B0000B0E042E050E00C949A2D262FF999FECF98 -:105B10001FBA92BD81BD20BD0FB6F894FA9AF99ACA -:105B20000FBE019608950E94852D272F0C94862D77 -:105B3000DC01CB01FC01F999FECF06C0F2BDE1BD4D -:105B4000F89A319600B40D9241505040B8F708953C -:045B5000F894FFCFF7 -:105B54002002EF0CE00DBD0D890D560D0101C501AC -:105B640028080A03140A3F4D3620394605F904C3B0 -:105B740004A3046A04DD03F6030F042804480401A3 -:0A5B840002030405060708090000EB +:1033B0001F910F91FF90EF90DF90CF900C945A1FC8 +:1033C000263008F09DC0EACFFF20A1F0842F8F7136 +:1033D00028960FB6F894DEBF0FBECDBFDF91CF9118 +:1033E0001F910F91FF90EF90DF90CF900C94141FDE +:1033F000FF2061F3842F8F7128960FB6F894DEBFFB +:103400000FBECDBFDF91CF911F910F91FF90EF9035 +:10341000DF90CF900C94351FFF2091F0842F8F7197 +:1034200028960FB6F894DEBF0FBECDBFDF91CF91C7 +:103430001F910F91FF90EF90DF90CF900C94FF1EA3 +:1034400028960FB6F894DEBF0FBECDBFDF91CF91A7 +:103450001F910F91FF90EF90DF90CF900C94F51E8D +:10346000FF20A1F0222309F4B1CF862F28960FB6B2 +:10347000F894DEBF0FBECDBFDF91CF911F910F91AA +:10348000FF90EF90DF90CF900C946616222309F402 +:10349000B1CF862F28960FB6F894DEBF0FBECDBFF2 +:1034A000DF91CF911F910F91FF90EF90DF90CF9020 +:1034B0000C942E174F70C8010E94F70728960FB67C +:1034C000F894DEBF0FBECDBFDF91CF911F910F915A +:1034D000FF90EF90DF90CF900C941A1E4F70C801B0 +:1034E00028960FB6F894DEBF0FBECDBFDF91CF9107 +:1034F0001F910F91FF90EF90DF90CF900C94B90B3C +:1035000028960FB6F894DEBF0FBECDBFDF91CF91E6 +:103510001F910F91FF90EF90DF90CF9008950E9440 +:10352000CC200E94A1200E94E8200E94A6260E9492 +:10353000782580E090E00E94381580E090E00C94BF +:103540004E150E94BC200C948F1A0E94CA1F292F6E +:1035500022952F7030E02C3031054CF42A303105A3 +:103560006CF4225031092230310590F407C02C3020 +:10357000310551F02F30310539F00AC0803E10F08E +:10358000803F31F481E0089593FB882780F9089506 +:1035900080E00895CF93DF9300D000D01F92CDB785 +:1035A000DEB70F900F900F900F900F90DF91CF919B +:1035B0000895CF93DF9300D000D000D0CDB7DEB711 +:1035C00026960FB6F894DEBF0FBECDBFDF91CF9128 +:1035D00008951F93CF93DF93C091840116E08091EB +:1035E0008501C81799F0D0E01C9FF0011D9FF00DD8 +:1035F0001124EA57FE4F4081518162817381848199 +:1036000095810E94D91A2196C770E9CFDF91CF9199 +:103610001F9108954091B6015091B7016091B80192 +:103620007091B9018091BA019091BB010C94D91AA3 +:10363000CF938091BB0182958F7009F05FC080911C +:10364000B801882309F45AC020918401A091850112 +:103650006091B6017091B7018091B9019091BA0162 +:1036600031E06F3F09F030E0B32FC6E02A1709F4CC +:1036700045C0009721F07F3F21F44B2F03C041E06C +:1036800001C040E030E040FD35C0C29FF001C39F63 +:10369000F00D1124EA57FE4F418174132BC0408175 +:1036A000641328C04281411125C0438154814817C9 +:1036B000590710F441505109481B590B483C51051A +:1036C000C8F48091BB018F7080618093BB0186E05C +:1036D000829FF001839FF00D1124E557FE4F8081FA +:1036E0008F708061808386EB91E00E948B17CF9171 +:1036F0000C94E91A2F5F3F4F2770B8CFCF910895F0 +:10370000CF92DF92EF92FF920F931F93CF93DF93AD +:10371000CDB7DEB762970FB6F894DEBF0FBECDBF50 +:103720008C0185E0F801DE011D9601900D928A95CD +:10373000E1F7D8014C9111965C91119712966C911A +:1037400012971396ED90FC9014977091B601E0914A +:10375000B7012091B9013091BA012115310531F03D +:10376000EF3F31F481E07F3F19F403C081E001C0F5 +:1037700080E0B82FB170CB2E80FD6CC1D090B80125 +:10378000DD2009F4F5C0F091BB01E216F30638F034 +:10379000C701821B930B883C910548F09BC0209584 +:1037A00030952E0D3F1D283C310508F093C08F2F1A +:1037B000807F09F052C0E51314C0741312C0D62ED6 +:1037C00061110FC0FF70F061F093BB010E940A1BF2 +:1037D00086EB91E00E948B178091BB01F8018583F5 +:1037E0006CC1EF2831F05F3F31F481E04F3F19F4B5 +:1037F00003C081E001C080E080FD03C081E0862736 +:1038000001C080E0F82FF170FF2E80FF1CC0809176 +:1038100084012091850136E0821709F428C190E0E7 +:10382000389FF001399FF00D1124EA57FE4F718146 +:10383000571306C07081471303C07281671303C01A +:1038400001968770E9CFD62E662309F436C18091A0 +:10385000BB0181608093BB0153C0E51308C07413A2 +:1038600006C0611104C0D8011596FC93AEC04D8707 +:103870005E878D859E856A8B0E94A51A6A8988233A +:1038800029F1D62E662311F12091BB01822F82955A +:103890008F7090E002970CF460C08091B601909117 +:1038A000B70198878F831986FB86EA862C87CE011D +:1038B000079651C0E51731F14D875E878D859E854E +:1038C0006A8B0E94A51A6A8981112EC0C8010E94C4 +:1038D0008B17A4C08F2F807F69F77E2DF98AE88A25 +:1038E00089890E94CA1A86EB91E00E948B17E6EB49 +:1038F000F1E086E0DF011D928A95E9F70E940A1B3C +:10390000D12CDBC07413D8CF6111D6CFD801159656 +:10391000FC93C8010E948B17E6EBF1E086E0DF0123 +:103920001D928A95E9F7C9C0D62E662379F22091B7 +:10393000BB01822F82958F7090E0029774F0809186 +:10394000B6019091B7019A8389831B82FD82EC8234 +:103950002E83CE0101960E948B1786E0F801A6EB1C +:10396000B1E001900D928A95E1F70E94181B6FC09B +:10397000E216F30628F0C701821B930B9C0104C0DA +:10398000209530952E0D3F1D283C310508F052C082 +:10399000D62E662309F49ACFE5132CC074132AC0DF +:1039A0008091BB0180FD1DC0982F92959F70C9F03A +:1039B000D80115968C9315979F3039F09F5F92959B +:1039C000907F8F70892B15968C93C8010E948B175E +:1039D00086E0F801A6EBB1E001900D928A95E1F73F +:1039E00036C086E0F801A6EBB1E001900D928A9511 +:1039F000E1F763C04D875E878D859E850E94A51A7D +:103A0000882379F086E0F801A6EBB1E001900D92F1 +:103A10008A95E1F70E94181B0E940A1BDD24D394AB +:103A20004CC08091BB0181608093BB01C8010E94A2 +:103A30008B1743C07E2DF98AE88A89890E94CA1AA9 +:103A4000E6EBF1E086E0DF011D928A95E9F70E943E +:103A50000A1B33C0662309F439CF4D875E878D85F5 +:103A60009E850E94A51A882309F430CFCBCF4D87BD +:103A70005E878D859E850E94CA1F292F22952F70F3 +:103A800030E0223031052CF49F7041F0811106C0E6 +:103A90000CC0243031052CF49F7049F4805E8830CE +:103AA00020F0C8010E948B17CF2CDC2C06C0D80157 +:103AB00015969C91907F91F7F8CF8D2D62960FB659 +:103AC000F894DEBF0FBECDBFDF91CF911F910F9154 +:103AD000FF90EF90DF90CF9008951F93CF93DF93E7 +:103AE000CDB7DEB72C970FB6F894DEBF0FBECDBFB3 +:103AF0004F83588769877A878B879C87CE01079683 +:103B00000E94801B8823C1F02F8138858A859B8580 +:103B1000892B31F03F3F11F080E003C02F3FE1F7E8 +:103B200081E0811147C04F81588569857A858B85F1 +:103B30009C850E94D91A3EC086E0FE013796DE01C0 +:103B4000119601900D928A95E1F7FF81E8854A85EB +:103B50005B854115510531F0EF3F31F481E0FF3FC6 +:103B600019F403C081E001C080E080FD23C02091F2 +:103B7000850130E0C9010196877099276091840121 +:103B800070E086179707F1F1F983EA835D834C8330 +:103B900096E0929FD001939FB00D1124AA57BE4F7B +:103BA000FE01319601900D929A95E1F7809385017F +:103BB0000E94E91A16E0809184019091850189178D +:103BC00079F1189FC00111248A579E4F0E94801BD3 +:103BD000882331F1E09184011E9FF0011124EA57FE +:103BE000FE4F4081518162817381848195810E9461 +:103BF000D91A8091840190E001968770992780936B +:103C00008401D9CF0E94A11A1092850110928401DB +:103C1000E6EBF1E086E0DF011D928A95E9F7CACF75 +:103C20002C960FB6F894DEBF0FBECDBFDF91CF91BB +:103C30001F910895EF92FF920F931F93CF93DF93FD +:103C40009C01009709F471C0F12CEE24E394E90182 +:103C50002196F9018491843740F4843008F056C0ED +:103C6000813081F0823021F160C0853709F449C08C +:103C7000C0F19CE7980F903708F057C08F770E94EB +:103C80002E1746C089010E5F1F4FFE01849190E2FE +:103C9000980F983050F48770FE2D01C0FF0F8A9561 +:103CA000EAF78F2F0E94BF2015C00E94661614C02D +:103CB00089010E5F1F4FFE01849190E2980F9830AA +:103CC00068F48770FE2D01C0FF0F8A95EAF78F2FE9 +:103CD0000E94C5200E94E820E8011AC00E942E1709 +:103CE000FBCF2E5F3F4FFE01C491CC2341F08FE903 +:103CF0009FE00197F1F700C00000C150F6CFE90145 +:103D000007C0FE01F490E901229602C00E946616E7 +:103D10008F2D882341F0EFE9FFE03197F1F700C0E4 +:103D200000008150F6CF9E0192CFDF91CF911F917D +:103D30000F91FF90EF90089508956093C0017093E4 +:103D4000C1018093C2019093C3010C948F1A0F9309 +:103D50001F930091C0011091C1012091C2013091C7 +:103D6000C301062B172B282B392B0093C00110936E +:103D7000C1012093C2013093C3011F910F910C9494 +:103D80008F1A0F931F930091C0011091C1012091D0 +:103D9000C2013091C301062317232823392300933E +:103DA000C0011093C1012093C2013093C3011F9140 +:103DB0000F910C948F1A0F931F930091C0011091D3 +:103DC000C1012091C2013091C3010627172728277E +:103DD00039270093C0011093C1012093C201309391 +:103DE000C3011F910F910C948F1A1092BC01109275 +:103DF000BD011092BE011092BF010C948F1A41E0D8 +:103E000050E060E070E004C0440F551F661F771F4C +:103E10008A95D2F74093BC015093BD016093BE01D7 +:103E20007093BF010C948F1A41E050E060E070E0A5 +:103E300004C0440F551F661F771F8A95D2F78091E3 +:103E4000BC019091BD01A091BE01B091BF01842B36 +:103E5000952BA62BB72B8093BC019093BD01A0930B +:103E6000BE01B093BF010C948F1A41E050E060E0B6 +:103E700070E004C0440F551F661F771F8A95D2F764 +:103E800040955095609570958091BC019091BD01D1 +:103E9000A091BE01B091BF0184239523A623B7232F +:103EA0008093BC019093BD01A093BE01B093BF016C +:103EB0000C948F1A41E050E060E070E004C0440FC1 +:103EC000551F661F771F8A95D2F78091BC0190918C +:103ED000BD01A091BE01B091BF0184279527A627FF +:103EE000B7278093BC019093BD01A093BE01B0930E +:103EF000BF010C948F1A0F931F930091BC01109176 +:103F0000BD012091BE013091BF01062B172B282B3C +:103F1000392B0093BC011093BD012093BE01309357 +:103F2000BF011F910F910C948F1A0F931F93009153 +:103F3000BC011091BD012091BE013091BF0106234B +:103F40001723282339230093BC011093BD0120932C +:103F5000BE013093BF011F910F910C948F1A0F93E4 +:103F60001F930091BC011091BD012091BE013091C1 +:103F7000BF0106271727282739270093BC01109374 +:103F8000BD012093BE013093BF011F910F910C948E +:103F90008F1A0895CF92DF92EF92FF920F931F93A3 +:103FA000CF93DF93EC01C090C001D090C101E090AD +:103FB000C201F090C3018091BC019091BD01A0911C +:103FC000BE01B091BF01C82AD92AEA2AFB2A0FE113 +:103FD00010E0B701A601002E04C0769567955795AD +:103FE00047950A94D2F740FF07C0BE01802F0E9478 +:103FF000DC0B8130910539F40150110950F7BE01F5 +:1040000080E00E94DC0BDF91CF911F910F91FF9018 +:10401000EF90DF90CF90089590910C01992361F17A +:1040200090910D01992341F1982F9695969596952B +:104030009F3088F4E0910E01F0910F01E90FF11D1E +:10404000877021E030E001C0220F8A95EAF7818174 +:10405000822B818308959091D70190FF2DC01F92EC +:104060008F9387ED95E09F938F930E94EE070F90BB +:104070000F900F900F90089540910E0150910F01F5 +:1040800020E030E09FEFFA01E20FF31F6281681732 +:1040900099F09F3F19F4611101C0922F2F5F3F4F9C +:1040A0002E30310581F79F3F39F0FA01E90FF11DFC +:1040B00097FDFA9582830895089590910C019923B4 +:1040C00069F190910D01992349F1982F9695969554 +:1040D00096959F3090F4E0910E01F0910F01E90F59 +:1040E000F11D877021E030E001C0220F8A95EAF7C8 +:1040F000209581812823218308959091D70190FFF5 +:104100001FC01F928F9389EB95E09F938F930E941E +:10411000EE070F900F900F900F90089540910E01B1 +:1041200050910F0120E030E0FA01E20FF31F92817D +:10413000981301C012822F5F3F4F2E303105A1F737 +:10414000089581E090E0E0910E01F0910F01E80FF9 +:10415000F91F1082019680319105A9F70895909179 +:10416000D601982B9093D601089580959091D60111 +:1041700098239093D60108951092D60108959091B6 +:10418000D501982B9093D501089580959091D501F4 +:1041900098239093D50108951092D50108958093A6 +:1041A000C40108951092C401089540910E015091E8 +:1041B0000F0120E030E080E0FA01E20FF31F91816F +:1041C00091118F5F2F5F3F4F2F303105A9F7089571 +:1041D000E0910E01F0910F018091D6018083E09172 +:1041E0000E01F0910F0180819091D501892B808380 +:1041F0009091C401992361F0E0910E01F0910F01BB +:104200008081892B80830E94D52081111092C40166 +:1042100080910E0190910F010C94E81490933B0152 +:1042200080933A010895CF92DF92EF92FF920F931D +:104230001F936C01EE24FF24C114D104E104F104A6 +:1042400021F46B017C0180E001C080E133272F2D38 +:104250001E2D0D2D011511052105310519F0885F61 +:104260006801790197018601A4E036952795179595 +:104270000795AA95D1F7011511052105310519F00A +:104280008C5F6801790197018601F2E036952795E8 +:1042900017950795FA95D1F70115110521053105F7 +:1042A00019F08E5F68017901B701A60176956795CF +:1042B00057954795452B462B472B09F08F5F1F914C +:1042C0000F91FF90EF90DF90CF9008958295982FF7 +:1042D0009C7C96959695837344E0849F900111246D +:1042E000922B892F8A7A86959575990F892B089537 +:1042F0001F93CF93DF931F92CDB7DEB799830E94B0 +:104300006621182F9981892F0E946621212F30E084 +:10431000322F2227A901482BCA010F90DF91CF919C +:104320001F9108958091F001843009F11092D80115 +:1043300020E488E190E00FB6F894A895809360009F +:104340000FBE2093600083B7817F846083BF83B7F3 +:10435000816083BF7894889583B78E7F83BF88E11F +:104360000FB6F89480936000109260000FBE08951D +:1043700008950895CF930E94B8210E9482090E9457 +:10438000B921C0E08C2F0E94AD0A811105C0CF5F1A +:10439000CE30C1F780E001C081E0CF9108950C9448 +:1043A000A11A82E084BD93E095BD9AEF97BD8093FA +:1043B0006E0008952FB7F8948091D9019091DA0199 +:1043C000A091DB01B091DC012FBF0895CF92DF9265 +:1043D000EF92FF920F931F932FB7F8944091D9015A +:1043E0005091DA016091DB017091DC012FBF6A010D +:1043F0007B01EE24FF248C0120E030E0C016D106C2 +:10440000E206F30610F441505109481B590BCA014A +:104410001F910F91FF90EF90DF90CF9008951F9222 +:104420000F920FB60F9211248F939F93AF93BF9368 +:104430008091D9019091DA01A091DB01B091DC016A +:104440000196A11DB11D8093D9019093DA01A0932B +:10445000DB01B093DC01BF91AF919F918F910F90E1 +:104460000FBE0F901F9018950E94E311F8942FEF44 +:1044700087EA91E6215080409040E1F700C00000BB +:1044800087E090EBDC018093F9019093FA01A0930F +:10449000FB01B093FC012CE088E190E00FB6F894AA +:1044A000A895809360000FBE20936000FFCFEF922D +:1044B000FF920F931F93CF93DF93E82EF12C8F2D54 +:1044C0000E94AD0AC0E0D0E0082F10E098010C2E49 +:1044D00002C0359527950A94E2F720FD05C0219684 +:1044E000C630D10599F709C06C2F7F2D80E00E945E +:1044F000BA0BE812F4CF81E005C0F3948EE0F81215 +:10450000DECF80E0DF91CF911F910F91FF90EF9070 +:104510000895CF93C82F8CE20E945722882321F060 +:104520008C2FCF910C94572280E0CF910895CF9398 +:104530000E94E423811102C00E94CA238CEF95E0FF +:104540000E945507C5E6C15049F00E9482098FE3D9 +:104550009CE90197F1F700C00000F5CF85EF95E0E9 +:104560000E94550789E20E948922811111C18AE2C5 +:104570000E94892281110E94CA2385E00E9489221B +:1045800081110E9434220E94EF238093D70187E09B +:104590000E948922882399F18BE10E948922882335 +:1045A00051F09091D70191FB882780F921E0822773 +:1045B00080FB91F922C08EE00E948922882351F06D +:1045C0009091D70192FB882780F921E0822780FB18 +:1045D00092F913C080E10E9489229091D70188232B +:1045E00041F093FB882780F921E0822780FB93F933 +:1045F00004C0892F809580FB90F99093D70180911A +:10460000D7010E94F3230E9401248093EA0180EEE7 +:104610000E948922882341F08091EA01982F909589 +:1046200090FB80F98093EA0189E30E948922882324 +:1046300059F09091EA0191FB882780F921E08227C7 +:1046400080FB91F99093EA0182EE0E9489228823EF +:1046500059F09091EA0192FB882780F921E08227A6 +:1046600080FB92F99093EA0186EE0E9489228823CA +:1046700059F09091EA0193FB882780F921E0822785 +:1046800080FB93F99093EA0183EE0E9489228823AC +:1046900059F09091EA0194FB882780F921E0822764 +:1046A00080FB94F99093EA0185E30E948922882394 +:1046B00059F09091EA0195FB882780F921E0822743 +:1046C00080FB95F99093EA0181E30E948922882377 +:1046D00059F09091EA0196FB882780F921E0822722 +:1046E00080FB96F99093EA0181E10E948922882358 +:1046F00059F09091EA0197FB882780F921E0822701 +:1047000080FB97F99093EA018091EA010E940524C9 +:104710008091EA0187FB882780F980930D0187E269 +:104720000E948922C82F8EE10E9489228111C260D5 +:104730008FE10E9489228111C46080E20E94892257 +:104740008111C86081E20E9489228111C06182E2E8 +:104750000E9489228111C06283E20E948922811114 +:10476000C06484E20E948922882311F0C06802C0DC +:10477000CC2329F08C2F0E94FC236C2F03C00E94B5 +:10478000F823682F70E080E090E0CF910C949D1E9C +:10479000CF9108956DEE7EEF80E090E00E94BF2DF6 +:1047A00060E082E090E00E94B12D60E083E090E064 +:1047B0000E94B12D60E084E090E00E94B12D60E0A5 +:1047C00085E090E00C94B12D80E090E00E94AB2D4C +:1047D00021E08D3E9E4F09F020E0822F089582E077 +:1047E00090E00C94A32D682F82E090E00C94B12D02 +:1047F00083E090E00C94A32D682F83E090E00C946C +:10480000B12D84E090E00C94A32D682F84E090E01B +:104810000C94B12D8091DF0180FF0BC060911301DA +:1048200085E0689FB001112475956795759567952A +:104830002AC081FF09C06091130185E0689FB00123 +:104840001124759567951FC082FF07C06091130101 +:1048500085E0689FB001112416C04091E001442317 +:10486000C9F060911201461788F72091130185E085 +:10487000289F90011124429FC001439F900D112455 +:1048800070E00E94752D6038710540F46115710566 +:1048900039F002C065E070E0862F08958FE7089533 +:1048A00081E008958091DF0180FF08C060911101CF +:1048B00070E0759567957595679521C081FF06C075 +:1048C0006091110170E07595679519C082FF04C071 +:1048D0006091110170E010C08091E0018823C1F067 +:1048E000609110018617A0F790911101989FC00167 +:1048F000112470E00E94752D6038710528F461154F +:10490000710521F0862F08958FE7089581E00895BD +:1049100061E070E0F4CF803F21F40E940A24819589 +:1049200004C0813F29F40E940A248093E301089582 +:10493000823F21F40E940A24819504C0833F29F418 +:104940000E940A248093E2010895893F19F40E948D +:10495000522405C08A3F31F40E94522481958093ED +:10496000E40108958B3F21F40E945224819504C0F4 +:104970008C3F29F40E9452248093E5010895843FDE +:1049800021F48091E101816017C0853F21F480917D +:10499000E101826011C0863F21F48091E1018460D1 +:1049A0000BC0873F21F48091E101886005C0883FFA +:1049B00031F48091E10180618093E10108958D3FA0 +:1049C00021F48091DF0181600BC08E3F21F4809142 +:1049D000DF01826005C08F3F29F48091DF01846090 +:1049E0008093DF010895803F39F48091E30187FFD0 +:1049F0006CC01092E30169C0813F29F48091E3010A +:104A00001816BCF362C09091E201823F29F497FF2F +:104A10005CC01092E20159C0833F19F41916CCF31F +:104A200054C0893F41F48091E40118160CF04DC048 +:104A30001092E4014AC08A3F29F48091E40187FF83 +:104A400044C0F6CF8B3F39F48091E50187FF3DC02C +:104A50001092E5013AC08C3F29F48091E5011816C7 +:104A6000BCF333C0843F21F48091E1018E7F17C0F5 +:104A7000853F21F48091E1018D7F11C0863F21F4B3 +:104A80008091E1018B7F0BC0873F21F48091E10190 +:104A9000877F05C0883F31F48091E1018F7E80934C +:104AA000E10113C08D3F21F48091DF018E7F0BC0A7 +:104AB0008E3F21F48091DF018D7F05C08F3F29F467 +:104AC0008091DF018B7F8093DF018091E201811172 +:104AD0000EC08091E30181110AC08091E40181112F +:104AE00006C08091E501811102C01092E001089595 +:104AF0008091D70183FF7EC088E396E00E9455072E +:104B00008091E1011F928F9383E396E09F938F93AF +:104B10000E94EE0781E396E00E9455072091E20192 +:104B2000822F992787FD90959F932F938EE296E091 +:104B30009F938F930E94EE078CE296E00E945507A8 +:104B40002091E301822F992787FD90959F932F93C2 +:104B500089E296E09F938F930E94EE0787E296E0AA +:104B60000E9455072091E401822F992787FD909597 +:104B70009F932F9384E296E09F938F930E94EE077A +:104B800082E296E00E9455072091E501822F992745 +:104B900087FD90959F932F938FE196E09F938F933E +:104BA0000E94EE078CE196E00E9455078091E0019B +:104BB0001F928F9389E196E09F938F930E94EE0757 +:104BC00087E196E00E9455078091DF011F928F9345 +:104BD00084E196E09F938F930E94EE0781E196E037 +:104BE0000E9455078DB79EB74C960FB6F8949EBF9E +:104BF0000FBE8DBF81EE91E00E942D150E94DA213B +:104C00009093DE018093DD0108951F93CF93DF938E +:104C10008091DD019091DE010E94E6214091E0014A +:104C2000442321F02091140130E006C020911501A9 +:104C30005AE0259F900111248217930708F482C03F +:104C40008091E2011091E301D091E401C091E5016E +:104C5000811107C0111105C0D11103C0CC2309F483 +:104C600071C04F3F19F04F5F4093E001181624F4D4 +:104C70000E940A248093E2018091E20187FF05C02F +:104C80000E940A2481958093E201111624F40E9467 +:104C90000A248093E3018091E30187FF05C00E940D +:104CA0000A2481958093E3016091E201662339F142 +:104CB0001091E301112319F1772767FD7095872F74 +:104CC000972F0E947A2C23E333E343E35FE30E94B0 +:104CD000DE2C0E94472C6093E201612F772767FD4D +:104CE0007095872F972F0E947A2C23E333E343E3B9 +:104CF0005FE30E94DE2C0E94472C6093E3011D16A7 +:104D000024F40E9452248093E4018091E40187FFFF +:104D100005C00E94522481958093E4011C1624F45E +:104D20000E9452248093E5018091E50187FF05C030 +:104D30000E94522481958093E501DF91CF911F91CC +:104D40000C947825DF91CF911F910895E1EEF1E069 +:104D500085E0DF011D928A95E9F71092E00110923B +:104D6000DF0108958BE598E00E9455071F9281E0CE +:104D70008F931F9285E08F938DE098E09F938F93A0 +:104D80000E94EE070F900F900F900F900F900F90D2 +:104D900008958330E9F128F4813061F0823009F11F +:104DA0000895853009F462C008F449C0863009F4DA +:104DB00074C0089520911501862F90E0820F911DF7 +:104DC0008F3F910520F4620F6093150103C08FEFB0 +:104DD00080931501809115011F928F9386E497E0CF +:104DE00072C020911401862F90E0820F911D8F3F99 +:104DF000910520F4620F6093140103C08FEF80933C +:104E00001401809114011F928F9384E397E05BC09B +:104E100020911301862F90E0820F911D8F3F910505 +:104E200020F4620F6093130103C08FEF809313018E +:104E3000809113011F928F9381E297E044C02091EB +:104E40001201862F90E0820F911D8F3F910520F473 +:104E5000620F6093120103C08FEF80931201809163 +:104E600012011F928F938CE097E02DC020911101C9 +:104E7000862F90E0820F911D8F3F910520F4620FE5 +:104E80006093110103C08FEF809311018091110194 +:104E90001F928F9383EF96E016C020911001862F0A +:104EA00090E0820F911D8F3F910520F4620F609377 +:104EB000100103C08FEF80931001809110011F92A9 +:104EC0008F9388ED96E09F938F930E94EE070F904B +:104ED0000F900F900F900895833081F128F4813066 +:104EE00059F08230D1F00895853009F449C0B8F105 +:104EF000863009F456C0089580911501681720F492 +:104F0000861B8093150102C0109215018091150136 +:104F10001F928F9389EC96E054C08091140168171A +:104F200020F4861B8093140102C01092140180911A +:104F300014011F928F9387EB96E043C08091130179 +:104F4000681720F4861B8093130102C0109213018E +:104F5000809113011F928F9384EA96E032C0809172 +:104F60001201681720F4861B8093120102C0109270 +:104F70001201809112011F928F938FE896E021C059 +:104F800080911101681720F4861B8093110102C0E3 +:104F900010921101809111011F928F9386E796E084 +:104FA00010C080911001681720F4861B80931001B7 +:104FB00002C010921001809110011F928F938BE517 +:104FC00096E09F938F930E94EE070F900F900F90A3 +:104FD0000F900895CF93C82F1F928F9320E639E04A +:104FE0003F932F930E94EE0761E070E080E090E035 +:104FF00004C0660F771F881F991FCA95D2F70E94B9 +:105000009D1E0F900F900F900F90CF910C94A11AAE +:10501000CF938D3109F465C0B0F58E3009F4CBC162 +:1050200000F5873009F49BC1A8F4863009F06AC204 +:105030008091D701817F8E7F8093D70185E699E0AB +:105040000E94550787EA9DE00E94550781E0809302 +:10505000E70180C1883009F44FC08B3009F47CC16E +:1050600051C2863109F4EDC138F4803109F4B6C17A +:10507000813109F42DC246C2893109F4CBC18B318B +:1050800009F486C13FC2853309F434C248F487323B +:1050900009F430C208F430C2893209F42BC232C29A +:1050A000833438F48A3308F029C2883309F454C1B0 +:1050B00029C2833409F41EC2883409F023C20E9435 +:1050C000A11A86E99DE00E9455079FEF23ED80E33A +:1050D000915020408040E1F700C000000E9434223F +:1050E00039C186EB9DE00E9455070E94012C0E9469 +:1050F000DC140E941A0D2EC18BEA9DE00E94550718 +:1051000086E79BE00E9455070E94F8231F928F9329 +:1051100083E79BE09F938F930E94EE0781E79BE0DC +:105120000E9455070E94EF23C82F8EE59BE00E9446 +:1051300055071F92CF9329E53BE03F932F930E94A1 +:10514000EE0787E59BE00E9455078DE49BE00E94F7 +:1051500055078C2F81701F928F932AE43BE03F9379 +:105160002F930E94EE0788E49BE00E9455078EE390 +:105170009BE00E945507C1FB882780F91F928F93FF +:105180002BE33BE03F932F930E94EE0789E39BE0E4 +:105190000E9455078DE29BE00E945507C2FB8827BD +:1051A00080F91F928F932AE23BE03F932F930E9456 +:1051B000EE0788E29BE00E9455078FE19BE00E948A +:1051C0005507C3FBCC27C0F91F92CF938CE19BE01E +:1051D0009F938F930E94EE078AE19BE00E94550700 +:1051E0000E940124C82F86E09BE00E9455071F9271 +:1051F000CF9321E03BE03F932F930E94EE078FEF88 +:105200009AE00E94550786EE9AE00E9455078C2F7F +:1052100081701F928F9323EE3AE03F932F930E9469 +:10522000EE078DB79EB780960FB6F8949EBF0FBE5F +:105230008DBF81EE9AE00E9455078AEC9AE00E94A9 +:105240005507C1FB882780F91F928F9327EC3AE01E +:105250003F932F930E94EE0785EC9AE00E9455073A +:1052600083EB9AE00E945507C2FB882780F91F92C2 +:105270008F9320EB3AE03F932F930E94EE078EEA44 +:105280009AE00E9455078CE99AE00E945507C3FBFB +:10529000882780F91F928F9329E93AE03F932F9353 +:1052A0000E94EE0787E99AE00E9455078DE89AE090 +:1052B0000E945507C4FB882780F91F928F932AE824 +:1052C0003AE03F932F930E94EE0788E89AE00E940D +:1052D000550786E79AE00E945507C5FB882780F9A5 +:1052E0001F928F9323E73AE03F932F930E94EE079C +:1052F00081E79AE00E94550785E59AE00E945507EC +:10530000C6FB882780F91F928F9322E53AE03F93EE +:105310002F930E94EE0780E59AE00E94550788E4EB +:105320009AE00E945507C7FBCC27C0F91F92CF9384 +:1053300085E49AE09F938F930E94EE0783E49AE0BE +:105340000E9455078DB79EB74C960FB6F8949EBF36 +:105350000FBE8DBFC1E0DBC08CE899E058C08091E2 +:10536000D701C82FC17080FF09C089E89DE00E9465 +:1053700055078091D701817F8E7F44C08DE79DE0E6 +:105380000E9455078091D70181608093D701E2CFB9 +:105390008091D70181FBCC27C0F991E0C927C0FBE0 +:1053A00081F98093D701CC2319F080E79DE025C0D7 +:1053B00082E69DE02CC08091D70182FBCC27C0F90A +:1053C00091E0C927C0FB82F98093D701CC2319F063 +:1053D00083E59DE012C083E49DE019C08091D70170 +:1053E00083FBCC27C0F991E0C927C0FB83F98093E8 +:1053F000D701CC2351F087E39DE00E9455078091AF +:10540000D70181608093D70182C08AE29DE00E942B +:105410005507A0CF8BE19DE00E9455078FEE9CE0E1 +:105420000E94550782EB9CE00E94550785E89CE0AE +:105430000E94550781E49CE00E94550786E19CE0AC +:10544000E6CF88E09CE00E9455070E94DC141F9282 +:105450008F938EEE9BE09F938F930E94EE07809137 +:105460000C011F928F9387ED9BE09F938F930E9477 +:10547000EE0780916E011F928F9384EC9BE09F93C7 +:105480008F930E94EE0780910D011F928F9381EB05 +:105490009BE09F938F930E94EE078091D90190919A +:1054A000DA01A091DB01B091DC01BF93AF939F9330 +:1054B0008F938DE99BE09F938F930E94EE078DB7AA +:1054C0009EB746960FB6F8949EBF0FBE8DBF42CFD3 +:1054D0000E94A11AC0910D0181E0C827C0930D015F +:1054E000CC2329F083E99BE00E94550710C088E88F +:1054F0009BE08DCF80E003C08D5101C089530E9495 +:10550000EA2728CF86E89BE00E945507C0E08C2F51 +:10551000CF91089580E0089580E00895CF93C82F3B +:105520008091E701813081F020F0823009F44CC095 +:1055300042C1A0910E01B0910F018C91813169F0AF +:10554000823209F03AC109C0A0910E01B0910F0159 +:105550008C91813111F0823249F48C2F0E948A2A79 +:1055600081112FC08C2F0E9408282CC08C2F0E94E4 +:105570008C2A811126C0C431E1F070F4CB3081F067 +:10558000C031D1F40E94B22688E599E00E94550707 +:1055900082E08093E70115C0C93259F0C83361F445 +:1055A00085E699E00E9455078CE599E00E94550731 +:1055B00008C01092E70103C186E599E00E945507F3 +:1055C000FEC081E08170FDC0C43220F5CE3108F00C +:1055D000C0C0CB3099F1C8F4C73009F0D2C08AE01E +:1055E0008093150194E19093140193E0909313013B +:1055F0008093120188E08093110188E2809310016A +:105600008CEF97E00E945507BFC0C33149F1C43108 +:10561000C1F0B7C0CB3409F4A9C028F4C93289F06D +:10562000C83361F0AEC0C13509F49EC0C23509F47B +:1056300099C0CE3409F0A5C06AE09EC00E94B2268F +:10564000A3C08091E601882319F01092E6019CC066 +:1056500089E098E00E94550781E08093E701B1C09E +:1056600083EE97E00E94550781ED97E00E94550771 +:10567000809115011F928F938EEC97E09F938F93EB +:105680000E94EE078CEC97E00E9455078AEB97E0AA +:105690000E945507809114011F928F9387EB97E02A +:1056A0009F938F930E94EE0785EB97E00E9455072A +:1056B00086EA97E00E945507809113011F928F930D +:1056C00083EA97E09F938F930E94EE0781EA97E029 +:1056D0000E94550780E997E00E94550780911201CA +:1056E0001F928F938DE897E09F938F930E94EE0710 +:1056F0008BE897E00E94550786E797E00E945507E0 +:10570000809111011F928F9383E797E09F938F936E +:105710000E94EE0781E797E00E9455078AE597E02F +:105720000E945507809110011F928F9387E597E0A3 +:105730009F938F930E94EE0785E597E00E9455079F +:105740008DB79EB748960FB6F8949EBF0FBE8DBF1B +:105750001BC0CE51EC2FF0E0E15DFE4F80818093C5 +:10576000E60112C061E003C061E006C06AE080911A +:10577000E6010E94C92608C08091E6010E946C27BC +:1057800003C08AEF97E013C08091E601882369F097 +:105790001F928F9384EF97E09F938F930E94EE0761 +:1057A0000F900F900F900F9004C081EF97E00E9430 +:1057B000550781E006C01092E70180E002C080E05A +:1057C00001CFCF910895E1E8F0E080818860808387 +:1057D0008081816080838FB7F89493E090938900F3 +:1057E00090ED909388008FBF0895EFE6F0E0808100 +:1057F000826080830895EFE6F0E080818D7F808372 +:105800000895EFE6F0E0808192E089278083089593 +:105810001F920F920FB60F9211242F933F934F9325 +:105820005F936F937F938F939F93AF93BF93EF9308 +:10583000FF938091E8019091E90101969093E9012D +:105840008093E801811103C082E00E941A0DE0916B +:10585000E901E695E695F0E0EA53F24FE491809194 +:10586000E8018E1303C080E00E941A0DFF91EF91B2 +:10587000BF91AF919F918F917F916F915F914F9168 +:105880003F912F910F900FBE0F901F90189504D04D +:105890006894B1118DC0089570D088F09F5790F032 +:1058A000B92F9927B751A0F0D1F0660F771F881F45 +:1058B000991F1AF0BA95C9F712C0B13081F077D0AC +:1058C000B1E0089574C0672F782F8827B85F39F04A +:1058D000B93FCCF3869577956795B395D9F73EF4A4 +:1058E00090958095709561957F4F8F4F9F4F08954C +:1058F000E89409C097FB3EF490958095709561956A +:105900007F4F8F4F9F4F9923A9F0F92F96E9BB271F +:105910009395F695879577956795B795F111F8CF9B +:10592000FAF4BB0F11F460FF1BC06F5F7F4F8F4F06 +:105930009F4F16C0882311F096E911C0772321F0FC +:105940009EE8872F762F05C0662371F096E8862F94 +:1059500070E060E02AF09A95660F771F881FDAF7EB +:10596000880F9695879597F9089557FD9058440F9D +:10597000551F59F05F3F71F04795880F97FB991FAE +:1059800061F09F3F79F0879508951216130614066B +:10599000551FF2CF4695F1DF08C0161617061806F8 +:1059A000991FF1CF86957105610508940895E894D3 +:1059B000BB2766277727CB0197F908950BD078C0CE +:1059C00069D028F06ED018F0952309F05AC05FC056 +:1059D0001124EECFCADFA0F3959FD1F3950F50E0CD +:1059E000551F629FF001729FBB27F00DB11D639F91 +:1059F000AA27F00DB11DAA1F649F6627B00DA11D37 +:105A0000661F829F2227B00DA11D621F739FB00DDC +:105A1000A11D621F839FA00D611D221F749F33274C +:105A2000A00D611D231F849F600D211D822F762FE5 +:105A30006A2F11249F5750408AF0E1F088234AF0E2 +:105A4000EE0FFF1FBB1F661F771F881F915050402E +:105A5000A9F79E3F510570F014C0AACF5F3FECF349 +:105A6000983EDCF3869577956795B795F795E7951A +:105A70009F5FC1F7FE2B880F911D9695879597F92B +:105A8000089597F99F6780E870E060E008959FEFC0 +:105A900080EC089500240A941616170618060906C5 +:105AA000089500240A941216130614060506089594 +:105AB000092E0394000C11F4882352F0BB0F40F41C +:105AC000BF2B11F460FF04C06F5F7F4F8F4F9F4F5C +:105AD0000895991B79E004C0991F961708F0961B4A +:105AE000881F7A95C9F78095089597FB072E16F4BD +:105AF000009407D077FD09D00E948F2D07FC05D0B8 +:105B00003EF4909581959F4F0895709561957F4FD4 +:105B10000895EE0FFF1F0590F491E02D0994AA1B44 +:105B2000BB1B51E107C0AA1FBB1FA617B70710F088 +:105B3000A61BB70B881F991F5A95A9F780959095BA +:105B4000BC01CD010895F999FECF92BD81BDF89AAF +:105B5000992780B50895A8E1B0E042E050E00C94A8 +:105B6000C62D262FF999FECF1FBA92BD81BD20BD4B +:105B70000FB6F894FA9AF99A0FBE019608950E940A +:105B8000B12D272F0C94B22DDC01CB01FC01F9992A +:105B9000FECF06C0F2BDE1BDF89A319600B40D9279 +:0C5BA00041505040B8F70895F894FFCF32 +:105BAC0020021B0D0C0EE90DB50D820D0101C50176 +:105BBC0028080A03140A3F4D3620394605F904C358 +:105BCC0004A3046A04DD03F6030F0428044804014B +:0A5BDC000203040506070809000093 :00000001FF From 71ee3eb2e7fdddbfac4443c5f8522a2f620f86e2 Mon Sep 17 00:00:00 2001 From: dragon788 Date: Tue, 12 Jan 2016 21:41:43 -0600 Subject: [PATCH 21/64] All dfu dependencies in place, multi-line syntax to make it easy to add/read --- avr_setup.sh | 41 +++++++++++++++++++++++++++++++++++++---- 1 file changed, 37 insertions(+), 4 deletions(-) diff --git a/avr_setup.sh b/avr_setup.sh index cd7412d748..15f3118c05 100644 --- a/avr_setup.sh +++ b/avr_setup.sh @@ -11,21 +11,54 @@ if [[ -n "$(type -P pacman )" ]]; then # Always run the pacman mirror update script if possible when vagrant comes up # This will ensure that users never get stalled on a horribly slow mirror pacman -Syyu --needed --noconfirm - pacman -S --needed --noconfirm base-devel avr-gcc avr-binutils avr-libc dfu-util + pacman -S --needed --noconfirm \ + base-devel \ + avr-gcc \ + avr-binutils \ + avr-libc \ + dfu-util elif [[ -n "$(type -P apt-get)" ]]; then # Debian and derivatives apt-get update -y && apt-get upgrade -y - apt-get install -y build-essential gcc unzip wget zip gcc-avr binutils-avr avr-libc + apt-get install -y \ + build-essential \ + gcc \ + unzip \ + wget \ + zip \ + gcc-avr \ + binutils-avr \ + avr-libc \ + dfu-util elif [[ -n "$(type -P yum)" ]]; then # Fedora, CentOS or RHEL and derivatives yum -y makecache && yum -y update - yum -y install gcc glibc-headers kernel-devel kernel-headers make perl git wget + yum -y install \ + gcc \ + glibc-headers \ + kernel-devel \ + kernel-headers \ + make \ + perl \ + git \ + wget \ + avr-binutils \ + avr-gcc \ + avr-libc \ + dfu-util elif [[ -n "$(type -P zypper)" ]]; then # openSUSE zypper refresh --non-interactive && zypper update --non-interactive - zypper --non-interactive install git make gcc kernel-devel patch wget + zypper --non-interactive install \ + git \ + make \ + gcc \ + kernel-devel \ + patch \ + wget \ + dfu-util fi From 0c9227f6911990fb3329ac3abed16f6bb09d624e Mon Sep 17 00:00:00 2001 From: Alex Olkhovskiy Date: Tue, 12 Jan 2016 18:42:46 +0000 Subject: [PATCH 22/64] migrate hhkb to QMK firmware --- keyboard/hhkb_qmk/Makefile | 149 +++++++++++++++ keyboard/hhkb_qmk/README.md | 180 ++++++++++++++++++ keyboard/hhkb_qmk/config.h | 71 +++++++ keyboard/hhkb_qmk/hhkb_avr.h | 167 +++++++++++++++++ keyboard/hhkb_qmk/hhkb_qmk.c | 29 +++ keyboard/hhkb_qmk/hhkb_qmk.h | 30 +++ keyboard/hhkb_qmk/keymaps/keymap_default.c | 78 ++++++++ keyboard/hhkb_qmk/keymaps/keymap_lxol.c | 208 +++++++++++++++++++++ keyboard/hhkb_qmk/matrix.c | 196 +++++++++++++++++++ 9 files changed, 1108 insertions(+) create mode 100644 keyboard/hhkb_qmk/Makefile create mode 100644 keyboard/hhkb_qmk/README.md create mode 100644 keyboard/hhkb_qmk/config.h create mode 100644 keyboard/hhkb_qmk/hhkb_avr.h create mode 100644 keyboard/hhkb_qmk/hhkb_qmk.c create mode 100644 keyboard/hhkb_qmk/hhkb_qmk.h create mode 100644 keyboard/hhkb_qmk/keymaps/keymap_default.c create mode 100644 keyboard/hhkb_qmk/keymaps/keymap_lxol.c create mode 100644 keyboard/hhkb_qmk/matrix.c diff --git a/keyboard/hhkb_qmk/Makefile b/keyboard/hhkb_qmk/Makefile new file mode 100644 index 0000000000..8bd44100b7 --- /dev/null +++ b/keyboard/hhkb_qmk/Makefile @@ -0,0 +1,149 @@ +#---------------------------------------------------------------------------- +# On command line: +# +# make all = Make software. +# +# make clean = Clean out built project files. +# +# make coff = Convert ELF to AVR COFF. +# +# make extcoff = Convert ELF to AVR Extended COFF. +# +# make program = Download the hex file to the device. +# Please customize your programmer settings(PROGRAM_CMD) +# +# make teensy = Download the hex file to the device, using teensy_loader_cli. +# (must have teensy_loader_cli installed). +# +# make dfu = Download the hex file to the device, using dfu-programmer (must +# have dfu-programmer installed). +# +# make flip = Download the hex file to the device, using Atmel FLIP (must +# have Atmel FLIP installed). +# +# make dfu-ee = Download the eeprom file to the device, using dfu-programmer +# (must have dfu-programmer installed). +# +# make flip-ee = Download the eeprom file to the device, using Atmel FLIP +# (must have Atmel FLIP installed). +# +# make debug = Start either simulavr or avarice as specified for debugging, +# with avr-gdb or avr-insight as the front end for debugging. +# +# make filename.s = Just compile filename.c into the assembler code only. +# +# make filename.i = Create a preprocessed source file for use in submitting +# bug reports to the GCC project. +# +# To rebuild project do "make clean" then "make all". +#---------------------------------------------------------------------------- + +# Target file name (without extension). +TARGET = hhkb_qmk + + +# Directory common source filess exist +TOP_DIR = ../.. +TMK_DIR = ../../tmk_core + +# Directory keyboard dependent files exist +TARGET_DIR = . + +# # project specific files +SRC = hhkb_qmk.c \ + matrix.c + +ifdef KEYMAP + SRC := keymaps/keymap_$(KEYMAP).c $(SRC) +else + SRC := keymaps/keymap_default.c $(SRC) +endif + +CONFIG_H = config.h + +# MCU name +#MCU = at90usb1287 +MCU = atmega32u4 + +# Processor frequency. +# This will define a symbol, F_CPU, in all source code files equal to the +# processor frequency in Hz. You can then use this symbol in your source code to +# calculate timings. Do NOT tack on a 'UL' at the end, this will be done +# automatically to create a 32-bit value in your source code. +# +# This will be an integer division of F_USB below, as it is sourced by +# F_USB after it has run through any CPU prescalers. Note that this value +# does not *change* the processor frequency - it should merely be updated to +# reflect the processor speed set externally so that the code can use accurate +# software delays. +F_CPU = 16000000 + + +# +# LUFA specific +# +# Target architecture (see library "Board Types" documentation). +ARCH = AVR8 + +# Input clock frequency. +# This will define a symbol, F_USB, in all source code files equal to the +# input clock frequency (before any prescaling is performed) in Hz. This value may +# differ from F_CPU if prescaling is used on the latter, and is required as the +# raw input clock is fed directly to the PLL sections of the AVR for high speed +# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL' +# at the end, this will be done automatically to create a 32-bit value in your +# source code. +# +# If no clock division is performed on the input clock inside the AVR (via the +# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU. +F_USB = $(F_CPU) + +# Interrupt driven control endpoint task(+60) +OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT + + +# Boot Section Size in *bytes* +# Teensy halfKay 512 +# Teensy++ halfKay 1024 +# Atmel DFU loader 4096 +# LUFA bootloader 4096 +# USBaspLoader 2048 +#OPT_DEFS += -DBOOTLOADER_SIZE=4096 + +# as per original hasu settings +OPT_DEFS += -DBOOTLOADER_SIZE=512 + +# Build Options +# comment out to disable the options. +# +BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000) +MOUSEKEY_ENABLE = yes # Mouse keys(+4700) +EXTRAKEY_ENABLE = yes # Audio control and System control(+450) +CONSOLE_ENABLE = yes # Console for debug(+400) +COMMAND_ENABLE = yes # Commands for debug and configuration +CUSTOM_MATRIX = yes # Custom matrix file for the HHKB +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +# SLEEP_LED_ENABLE = yes # Breathing sleep LED during USB suspend +# NKRO_ENABLE = yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +# BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality +# MIDI_ENABLE = YES # MIDI controls +# UNICODE_ENABLE = YES # Unicode +# BLUETOOTH_ENABLE = yes # Enable Bluetooth with the Adafruit EZ-Key HID + + +# Optimize size but this may cause error "relocation truncated to fit" +#EXTRALDFLAGS = -Wl,--relax + +# Search Path +VPATH += $(TARGET_DIR) +VPATH += $(TOP_DIR) +VPATH += $(TMK_DIR) + +debug-on: EXTRAFLAGS += -DDEBUG -DDEBUG_ACTION +debug-on: all + +debug-off: EXTRAFLAGS += -DNO_DEBUG -DNO_PRINT +debug-off: OPT_DEFS := $(filter-out -DCONSOLE_ENABLE,$(OPT_DEFS)) +debug-off: all + +include $(TOP_DIR)/quantum/quantum.mk diff --git a/keyboard/hhkb_qmk/README.md b/keyboard/hhkb_qmk/README.md new file mode 100644 index 0000000000..606025c411 --- /dev/null +++ b/keyboard/hhkb_qmk/README.md @@ -0,0 +1,180 @@ +hhkb_qmk keyboard firmware +====================== + +## Quantum MK Firmware + +You have access to a bunch of goodies! Check out the Makefile to enable/disable some of the features. Uncomment the `#` to enable them. Setting them to `no` does nothing and will only confuse future you. + + BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality + MIDI_ENABLE = yes # MIDI controls + # UNICODE_ENABLE = yes # Unicode support - this is commented out, just as an example. You have to use #, not // + BLUETOOTH_ENABLE = yes # Enable Bluetooth with the Adafruit EZ-Key HID + +## Quick aliases to common actions + +Your keymap can include shortcuts to common operations (called "function actions" in tmk). + +### Switching and toggling layers + +`MO(layer)` - momentary switch to *layer*. As soon as you let go of the key, the layer is deactivated and you pop back out to the previous layer. When you apply this to a key, that same key must be set as `KC_TRNS` on the destination layer. Otherwise, you won't make it back to the original layer when you release the key (and you'll get a keycode sent). You can only switch to layers *above* your current layer. If you're on layer 0 and you use `MO(1)`, that will switch to layer 1 just fine. But if you include `MO(3)` on layer 5, that won't do anything for you -- because layer 3 is lower than layer 5 on the stack. + +`LT(layer, kc)` - momentary switch to *layer* when held, and *kc* when tapped. Like `MO()`, this only works upwards in the layer stack (`layer` must be higher than the current layer). + +`TG(layer)` - toggles a layer on or off. As with `MO()`, you should set this key as `KC_TRNS` in the destination layer so that tapping it again actually toggles back to the original layer. Only works upwards in the layer stack. + +### Fun with modifier keys + +* `LSFT(kc)` - applies left Shift to *kc* (keycode) - `S(kc)` is an alias +* `RSFT(kc)` - applies right Shift to *kc* +* `LCTL(kc)` - applies left Control to *kc* +* `RCTL(kc)` - applies right Control to *kc* +* `LALT(kc)` - applies left Alt to *kc* +* `RALT(kc)` - applies right Alt to *kc* +* `LGUI(kc)` - applies left GUI (command/win) to *kc* +* `RGUI(kc)` - applies right GUI (command/win) to *kc* + +You can also chain these, like this: + + LALT(LCTL(KC_DEL)) -- this makes a key that sends Alt, Control, and Delete in a single keypress. + +The following shortcuts automatically add `LSFT()` to keycodes to get commonly used symbols. Their long names are also available and documented in `/quantum/keymap_common.h`. + + KC_TILD ~ + KC_EXLM ! + KC_AT @ + KC_HASH # + KC_DLR $ + KC_PERC % + KC_CIRC ^ + KC_AMPR & + KC_ASTR * + KC_LPRN ( + KC_RPRN ) + KC_UNDS _ + KC_PLUS + + KC_LCBR { + KC_RCBR } + KC_PIPE | + KC_COLN : + +`MT(mod, kc)` - is *mod* (modifier key - MOD_LCTL, MOD_LSFT) when held, and *kc* when tapped. In other words, you can have a key that sends Esc (or the letter O or whatever) when you tap it, but works as a Control key or a Shift key when you hold it down. + +These are the values you can use for the `mod` in `MT()` (right-hand modifiers are not available): + + * MOD_LCTL + * MOD_LSFT + * MOD_LALT + * MOD_LGUI + +These can also be combined like `MOD_LCTL | MOD_LSFT` e.g. `MT(MOD_LCTL | MOD_LSFT, KC_ESC)` which would activate Control and Shift when held, and send Escape when tapped. + +We've added shortcuts to make common modifier/tap (mod-tap) mappings more compact: + + * `CTL_T(kc)` - is LCTL when held and *kc* when tapped + * `SFT_T(kc)` - is LSFT when held and *kc* when tapped + * `ALT_T(kc)` - is LALT when held and *kc* when tapped + * `GUI_T(kc)` - is LGUI when held and *kc* when tapped + * `ALL_T(kc)` - is Hyper (all mods) when held and *kc* when tapped. To read more about what you can do with a Hyper key, see [this blog post by Brett Terpstra](http://brettterpstra.com/2012/12/08/a-useful-caps-lock-key/) + +### Temporarily setting the default layer + +`DF(layer)` - sets default layer to *layer*. The default layer is the one at the "bottom" of the layer stack - the ultimate fallback layer. This currently does not persist over power loss. When you plug the keyboard back in, layer 0 will always be the default. It is theoretically possible to work around that, but that's not what `DF` does. + +### Remember: These are just aliases + +These functions work the same way that their `ACTION_*` functions do - they're just quick aliases. To dig into all of the tmk ACTION_* functions, please see the [TMK documentation](https://github.com/jackhumbert/qmk_firmware/blob/master/tmk_core/doc/keymap.md#2-action). + +Instead of using `FNx` when defining `ACTION_*` functions, you can use `F(x)` - the benefit here is being able to use more than 32 function actions (up to 4096), if you happen to need them. + +## Macro shortcuts: Send a whole string when pressing just one key + +Instead of using the `ACTION_MACRO` function, you can simply use `M(n)` to access macro *n* - *n* will get passed into the `action_get_macro` as the `id`, and you can use a switch statement to trigger it. This gets called on the keydown and keyup, so you'll need to use an if statement testing `record->event.pressed` (see keymap_default.c). + +```c +const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) // this is the function signature -- just copy/paste it into your keymap file as it is. +{ + switch(id) { + case 0: // this would trigger when you hit a key mapped as M(0) + if (record->event.pressed) { + return MACRO( I(255), T(H), T(E), T(L), T(L), W(255), T(O), END ); // this sends the string 'hello' when the macro executes + } + break; + } + return MACRO_NONE; +}; +``` +A macro can include the following commands: + +* I() change interval of stroke in milliseconds. +* D() press key. +* U() release key. +* T() type key(press and release). +* W() wait (milliseconds). +* END end mark. + +So above you can see the stroke interval changed to 255ms between each keystroke, then a bunch of keys being typed, waits a while, then the macro ends. + +Note: Using macros to have your keyboard send passwords for you is a bad idea. + +### Additional keycode aliases for software-implemented layouts (Colemak, Dvorak, etc) + +Everything is assuming you're in Qwerty (in software) by default, but there is built-in support for using a Colemak or Dvorak layout by including this at the top of your keymap: + + #include "keymap_.h" + +Where is "colemak" or "dvorak". After including this line, you will get access to: + + * `CM_*` for all of the Colemak-equivalent characters + * `DV_*` for all of the Dvorak-equivalent characters + +These implementations assume you're using Colemak or Dvorak on your OS, not on your keyboard - this is referred to as a software-implemented layout. If your computer is in Qwerty and your keymap is in Colemak or Dvorak, this is referred to as a firmware-implemented layout, and you won't need these features. + +To give an example, if you're using software-implemented Colemak, and want to get an `F`, you would use `CM_F` - `KC_F` under these same circumstances would result in `T`. + +## Additional language support + +In `quantum/keymap_extras/`, you'll see various language files - these work the same way as the alternative layout ones do. Most are defined by their two letter country/language code followed by an underscore and a 4-letter abbreviation of its name. `FR_UGRV` which will result in a `ù` when using a software-implemented AZERTY layout. It's currently difficult to send such characters in just the firmware (but it's being worked on - see Unicode support). + +## Unicode support + +You can currently send 4 hex digits with your OS-specific modifier key (RALT for OSX with the "Unicode Hex Input" layout) - this is currently limited to supporting one OS at a time, and requires a recompile for switching. 8 digit hex codes are being worked on. The keycode function is `UC(n)`, where *n* is a 4 digit hexidecimal. Enable from the Makefile. + +## Other firmware shortcut keycodes + +* `RESET` - puts the MCU in DFU mode for flashing new firmware (with `make dfu`) +* `DEBUG` - the firmware into debug mode - you'll need hid_listen to see things +* `BL_ON` - turns the backlight on +* `BL_OFF` - turns the backlight off +* `BL_` - sets the backlight to level *n* +* `BL_INC` - increments the backlight level by one +* `BL_DEC` - decrements the backlight level by one +* `BL_TOGG` - toggles the backlight +* `BL_STEP` - steps through the backlight levels + +Enable the backlight from the Makefile. + +## MIDI functionalty + +This is still a WIP, but check out `quantum/keymap_midi.c` to see what's happening. Enable from the Makefile. + +## Bluetooth functionality + +This requires [some hardware changes](https://www.reddit.com/r/MechanicalKeyboards/comments/3psx0q/the_planck_keyboard_with_bluetooth_guide_and/?ref=search_posts), but can be enabled via the Makefile. The firmware will still output characters via USB, so be aware of this when charging via a computer. It would make sense to have a switch on the Bluefruit to turn it off at will. + +## Building + +Download or clone the whole firmware and navigate to the keyboard/planck folder. Once your dev env is setup, you'll be able to type `make` to generate your .hex - you can then use `make dfu` to program your PCB once you hit the reset button. + +Depending on which keymap you would like to use, you will have to compile slightly differently. + +### Default +To build with the default keymap, simply run `make`. + +### Other Keymaps +Several version of keymap are available in advance but you are recommended to define your favorite layout yourself. To define your own keymap create file named `keymap_.c` and see keymap document (you can find in top README.md) and existent keymap files. + +To build the firmware binary hex file with a keymap just do `make` with `KEYMAP` option like: +``` +$ make KEYMAP=[default|jack|] +``` +Keymaps follow the format **__keymap\_\.c__** and are stored in the `keymaps` folder. diff --git a/keyboard/hhkb_qmk/config.h b/keyboard/hhkb_qmk/config.h new file mode 100644 index 0000000000..ee66e44571 --- /dev/null +++ b/keyboard/hhkb_qmk/config.h @@ -0,0 +1,71 @@ +/* +Copyright 2012 Jun Wako + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#ifndef CONFIG_H +#define CONFIG_H + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0xFEED +#define PRODUCT_ID 0xCAFE +#define DEVICE_VER 0x0104 +#define MANUFACTURER q.m.k +#define PRODUCT HHKB mod +#define DESCRIPTION q.m.k keyboard firmware for HHKB + +/* key matrix size */ +#define MATRIX_ROWS 8 +#define MATRIX_COLS 8 + +#define TAPPING_TERM 200 + +/* number of backlight levels */ +#define BACKLIGHT_LEVELS 3 + +/* Set 0 if debouncing isn't needed */ +#define DEBOUNCE 5 + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +//#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +//#define LOCKING_RESYNC_ENABLE + +/* key combination for command */ +#define IS_COMMAND() ( \ + keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \ +) + +/* + * Feature disable options + * These options are also useful to firmware size reduction. +*/ + +/* disable debug print */ +//#define NO_DEBUG + +/* disable print */ +//#define NO_PRINT + +/* disable action features */ +//#define NO_ACTION_LAYER +//#define NO_ACTION_TAPPING +//#define NO_ACTION_ONESHOT +//#define NO_ACTION_MACRO +//#define NO_ACTION_FUNCTION + +#endif diff --git a/keyboard/hhkb_qmk/hhkb_avr.h b/keyboard/hhkb_qmk/hhkb_avr.h new file mode 100644 index 0000000000..7ea6322c73 --- /dev/null +++ b/keyboard/hhkb_qmk/hhkb_avr.h @@ -0,0 +1,167 @@ +#ifndef HHKB_AVR_H +#define HHKB_AVR_H + +#include +#include +#include +#include +#include + + +// Timer resolution check +#if (1000000/TIMER_RAW_FREQ > 20) +# error "Timer resolution(>20us) is not enough for HHKB matrix scan tweak on V-USB." +#endif + + +/* + * HHKB Matrix I/O + * + * row: HC4051[A,B,C] selects scan row0-7 + * row-ext: [En0,En1] row extention for JP + * col: LS145[A,B,C,D] selects scan col0-7 and enable(D) + * key: on: 0/off: 1 + * prev: hysteresis control: assert(1) when previous key state is on + */ + + +#if defined(__AVR_ATmega32U4__) +/* + * For TMK HHKB alt controller(ATMega32U4) + * + * row: PB0-2 + * col: PB3-5,6 + * key: PD7(pull-uped) + * prev: PB7 + * power: PD4(L:off/H:on) + * row-ext: PC6,7 for HHKB JP(active low) + */ +static inline void KEY_ENABLE(void) { (PORTB &= ~(1<<6)); } +static inline void KEY_UNABLE(void) { (PORTB |= (1<<6)); } +static inline bool KEY_STATE(void) { return (PIND & (1<<7)); } +static inline void KEY_PREV_ON(void) { (PORTB |= (1<<7)); } +static inline void KEY_PREV_OFF(void) { (PORTB &= ~(1<<7)); } +#ifdef HHKB_POWER_SAVING +static inline void KEY_POWER_ON(void) { + DDRB = 0xFF; PORTB = 0x40; // change pins output + DDRD |= (1<<4); PORTD |= (1<<4); // MOS FET switch on + /* Without this wait you will miss or get false key events. */ + _delay_ms(5); // wait for powering up +} +static inline void KEY_POWER_OFF(void) { + /* input with pull-up consumes less than without it when pin is open. */ + DDRB = 0x00; PORTB = 0xFF; // change pins input with pull-up + DDRD |= (1<<4); PORTD &= ~(1<<4); // MOS FET switch off +} +static inline bool KEY_POWER_STATE(void) { return PORTD & (1<<4); } +#else +static inline void KEY_POWER_ON(void) {} +static inline void KEY_POWER_OFF(void) {} +static inline bool KEY_POWER_STATE(void) { return true; } +#endif +static inline void KEY_INIT(void) +{ + /* row,col,prev: output */ + DDRB = 0xFF; + PORTB = 0x40; // unable + /* key: input with pull-up */ + DDRD &= ~0x80; + PORTD |= 0x80; +#ifdef HHKB_JP + /* row extention for HHKB JP */ + DDRC |= (1<<6|1<<7); + PORTC |= (1<<6|1<<7); +#endif + KEY_UNABLE(); + KEY_PREV_OFF(); + + KEY_POWER_OFF(); +} +static inline void KEY_SELECT(uint8_t ROW, uint8_t COL) +{ + PORTB = (PORTB & 0xC0) | (((COL) & 0x07)<<3) | ((ROW) & 0x07); +#ifdef HHKB_JP + if ((ROW) & 0x08) PORTC = (PORTC & ~(1<<6|1<<7)) | (1<<6); + else PORTC = (PORTC & ~(1<<6|1<<7)) | (1<<7); +#endif +} + + +#elif defined(__AVR_AT90USB1286__) +/* + * For Teensy++(AT90USB1286) + * + * HHKB pro HHKB pro2 + * row: PB0-2 (6-8) (5-7) + * col: PB3-5,6 (9-12) (8-11) + * key: PE6(pull-uped) (4) (3) + * prev: PE7 (5) (4) + * + * TODO: convert into 'staitc inline' function + */ +#define KEY_INIT() do { \ + DDRB |= 0x7F; \ + DDRE |= (1<<7); \ + DDRE &= ~(1<<6); \ + PORTE |= (1<<6); \ +} while (0) +#define KEY_SELECT(ROW, COL) (PORTB = (PORTB & 0xC0) | \ + (((COL) & 0x07)<<3) | \ + ((ROW) & 0x07)) +#define KEY_ENABLE() (PORTB &= ~(1<<6)) +#define KEY_UNABLE() (PORTB |= (1<<6)) +#define KEY_STATE() (PINE & (1<<6)) +#define KEY_PREV_ON() (PORTE |= (1<<7)) +#define KEY_PREV_OFF() (PORTE &= ~(1<<7)) +#define KEY_POWER_ON() +#define KEY_POWER_OFF() +#define KEY_POWER_STATE() true + + +#else +# error "define code for matrix scan" +#endif + + +#if 0 +// For ATMega328P with V-USB +// +// #elif defined(__AVR_ATmega328P__) +// Ports for V-USB +// key: PB0(pull-uped) +// prev: PB1 +// row: PB2-4 +// col: PC0-2,3 +// power: PB5(Low:on/Hi-z:off) +#define KEY_INIT() do { \ + DDRB |= 0x3E; \ + DDRB &= ~(1<<0); \ + PORTB |= 1<<0; \ + DDRC |= 0x0F; \ + KEY_UNABLE(); \ + KEY_PREV_OFF(); \ +} while (0) +#define KEY_SELECT(ROW, COL) do { \ + PORTB = (PORTB & 0xE3) | ((ROW) & 0x07)<<2; \ + PORTC = (PORTC & 0xF8) | ((COL) & 0x07); \ +} while (0) +#define KEY_ENABLE() (PORTC &= ~(1<<3)) +#define KEY_UNABLE() (PORTC |= (1<<3)) +#define KEY_STATE() (PINB & (1<<0)) +#define KEY_PREV_ON() (PORTB |= (1<<1)) +#define KEY_PREV_OFF() (PORTB &= ~(1<<1)) +// Power supply switching +#define KEY_POWER_ON() do { \ + KEY_INIT(); \ + PORTB &= ~(1<<5); \ + _delay_ms(1); \ +} while (0) +#define KEY_POWER_OFF() do { \ + DDRB &= ~0x3F; \ + PORTB &= ~0x3F; \ + DDRC &= ~0x0F; \ + PORTC &= ~0x0F; \ +} while (0) +#endif + +#endif diff --git a/keyboard/hhkb_qmk/hhkb_qmk.c b/keyboard/hhkb_qmk/hhkb_qmk.c new file mode 100644 index 0000000000..9c90e6eb44 --- /dev/null +++ b/keyboard/hhkb_qmk/hhkb_qmk.c @@ -0,0 +1,29 @@ +#include "hhkb_qmk.h" + +__attribute__ ((weak)) +void * matrix_init_user(void) { + // leave these blank +}; + +__attribute__ ((weak)) +void * matrix_scan_user(void) { + // leave these blank +}; + +void * matrix_init_kb(void) { + // put your keyboard start-up code here + // runs once when the firmware starts up + + if (matrix_init_user) { + (*matrix_init_user)(); + } +}; + +void * matrix_scan_kb(void) { + // put your looping keyboard code here + // runs every cycle (a lot) + + if (matrix_scan_user) { + (*matrix_scan_user)(); + } +}; diff --git a/keyboard/hhkb_qmk/hhkb_qmk.h b/keyboard/hhkb_qmk/hhkb_qmk.h new file mode 100644 index 0000000000..f6bf20f43b --- /dev/null +++ b/keyboard/hhkb_qmk/hhkb_qmk.h @@ -0,0 +1,30 @@ +#ifndef HHKB_QMK_H +#define HHKB_QMK_H + +#include "matrix.h" +#include "keymap_common.h" +//#include "backlight.h" +#include + +#define KEYMAP( \ + K31, K30, K00, K10, K11, K20, K21, K40, K41, K60, K61, K70, K71, K50, K51, \ + K32, K01, K02, K13, K12, K23, K22, K42, K43, K62, K63, K73, K72, K52, \ + K33, K04, K03, K14, K15, K24, K25, K45, K44, K65, K64, K74, K53, \ + K34, K05, K06, K07, K16, K17, K26, K46, K66, K76, K75, K55, K54, \ + K35, K36, K37, K57, K56) \ + \ +{ \ + { K00, K01, K02, K03, K04, K05, K06, K07 }, \ + { K10, K11, K12, K13, K14, K15, K16, K17 }, \ + { K20, K21, K22, K23, K24, K25, K26, KC_NO }, \ + { K30, K31, K32, K33, K34, K35, K36, K37 }, \ + { K40, K41, K42, K43, K44, K45, K46, KC_NO }, \ + { K50, K51, K52, K53, K54, K55, K56, K57 }, \ + { K60, K61, K62, K63, K64, K65, K66, KC_NO }, \ + { K70, K71, K72, K73, K74, K75, K76, KC_NO } \ +} + +void * matrix_init_user(void); +void * matrix_scan_user(void); + +#endif diff --git a/keyboard/hhkb_qmk/keymaps/keymap_default.c b/keyboard/hhkb_qmk/keymaps/keymap_default.c new file mode 100644 index 0000000000..bcd8ead377 --- /dev/null +++ b/keyboard/hhkb_qmk/keymaps/keymap_default.c @@ -0,0 +1,78 @@ +/* -*- eval: (turn-on-orgtbl); -*- + * default HHKB Layout + */ +#include "hhkb_qmk.h" + +#define BASE 0 +#define HHKB 1 + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + /* BASE Level: Default Layer + |-------+---+---+---+---+---+---+---+---+---+---+-------+-----+-------+---| + | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | \ | ` | + |-------+---+---+---+---+---+---+---+---+---+---+-------+-----+-------+---| + | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | Backs | | + |-------+---+---+---+---+---+---+---+---+---+---+-------+-----+-------+---| + | Cont | A | S | D | F | G | H | J | K | L | ; | ' | Ent | | | + |-------+---+---+---+---+---+---+---+---+---+---+-------+-----+-------+---| + | Shift | Z | X | C | V | B | N | M | , | . | / | Shift | Fn0 | | | + |-------+---+---+---+---+---+---+---+---+---+---+-------+-----+-------+---| + + |------+------+-----------------------+------+------| + | LAlt | LGUI | ******* Space ******* | RGUI | RAlt | + |------+------+-----------------------+------+------| + */ + + [BASE] = KEYMAP( // default layer + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV, \ + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, \ + KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, \ + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(HHKB), \ + KC_LALT, KC_LGUI, /* */ KC_SPC, KC_RGUI, KC_RALT), + + + + /* Layer HHKB: HHKB mode (HHKB Fn) + |------+-----+-----+-----+----+----+----+----+-----+-----+-----+-----+-------+-------+-----| + | Pwr | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | Ins | Del | + |------+-----+-----+-----+----+----+----+----+-----+-----+-----+-----+-------+-------+-----| + | Caps | | | | | | | | Psc | Slk | Pus | Up | | Backs | | + |------+-----+-----+-----+----+----+----+----+-----+-----+-----+-----+-------+-------+-----| + | | VoD | VoU | Mut | | | * | / | Hom | PgU | Lef | Rig | Enter | | | + |------+-----+-----+-----+----+----+----+----+-----+-----+-----+-----+-------+-------+-----| + | | | | | | | + | - | End | PgD | Dow | | | | | + |------+-----+-----+-----+----+----+----+----+-----+-----+-----+-----+-------+-------+-----| + + |------+------+----------------------+------+------+ + | **** | **** | ******************** | **** | **** | + |------+------+----------------------+------+------+ + + */ + + [HHKB] = KEYMAP( + KC_PWR, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL, \ + KC_CAPS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, KC_TRNS, KC_BSPC, \ + KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_TRNS, KC_TRNS, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_PENT, \ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, KC_TRNS, KC_TRNS, \ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)}; + + +const uint16_t PROGMEM fn_actions[] = { + +}; + +const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) +{ + // MACRODOWN only works in this function + switch(id) { + case 0: + if (record->event.pressed) { + register_code(KC_RSFT); + } else { + unregister_code(KC_RSFT); + } + break; + } + return MACRO_NONE; +}; diff --git a/keyboard/hhkb_qmk/keymaps/keymap_lxol.c b/keyboard/hhkb_qmk/keymaps/keymap_lxol.c new file mode 100644 index 0000000000..3256fda516 --- /dev/null +++ b/keyboard/hhkb_qmk/keymaps/keymap_lxol.c @@ -0,0 +1,208 @@ +/* -*- eval: (turn-on-orgtbl); -*- + * lxol HHKB Layout + */ +#include "hhkb_qmk.h" + +#define BASE 0 +#define WIN 1 +#define HHKB 2 +#define RGUILEV 3 +#define LGUILEV 4 +#define RALTLEV 5 +#define LALTLEV 6 + + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + /* Layer 0: Default Layer + |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---| + | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | \ | ` | + |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---| + | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | Backs | | + |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---| + | Contro | A | S | D | F | G | H | J | K | L | ; | ' | RCtl/Ent | | | + |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---| + | Shift | Z | X | C | V | B | N | M | , | . | Fn2 | Shift | Fn0 | | | + |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---| + + |------+------+-------+------+------| + | LAlt | LGUI | Space | RGUI | RAlt | + |------+------+-------+------+------| + */ + + [BASE] = KEYMAP( // layer 0 : default + + + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV, \ + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, \ + KC_LCTL, LT(LALTLEV,KC_A), LT(LGUILEV,KC_S), KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, LT(RGUILEV,KC_L), LT(RALTLEV,KC_SCLN), KC_QUOT, KC_FN0, \ + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(HHKB), \ + KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT), + + + + /* Layer 1: HHKB mode (HHKB Fn) + |------+-----+-----+-----+----+----+----+----+-----+-----+-----+-----+-------+-------+-----| + | Pwr | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | Ins | Del | + |------+-----+-----+-----+----+----+----+----+-----+-----+-----+-----+-------+-------+-----| + | Caps | | | | | | | | Psc | Slk | Pus | Up | | Backs | | + |------+-----+-----+-----+----+----+----+----+-----+-----+-----+-----+-------+-------+-----| + | | VoD | VoU | Mut | | | * | / | Hom | PgU | Lef | Rig | Enter | | | + |------+-----+-----+-----+----+----+----+----+-----+-----+-----+-----+-------+-------+-----| + | | | | | | | + | - | End | PgD | Dow | | | | | + |------+-----+-----+-----+----+----+----+----+-----+-----+-----+-----+-------+-------+-----| + + |---+---+---+---+---| + | | | | | | + |---+---+---+---+---| + */ + + [HHKB] = KEYMAP( + KC_PWR, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL, \ + KC_CAPS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, KC_TRNS, KC_BSPC, \ + KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_TRNS, KC_TRNS, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_PENT, \ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, KC_TRNS, KC_TRNS, \ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), + + + /* Layer LGUI: All keys with RGUI modifier + |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---| + | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | \ | ` | + |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---| + | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | Backs | | + |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---| + | Contro | A | S | D | F | G | H | J | K | | ; | ' | RCtl/Ent | | | + |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---| + | Shift | Z | X | C | V | B | N | M | , | . | Fn2 | Shift | Fn0 | | | + |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---| + + |------+------+-------+------+------| + | LAlt | LGUI | Space | RGUI | RAlt | + |------+------+-------+------+------| + */ + + [RGUILEV] = KEYMAP( // Right GUI layer by KC_L + + RGUI(KC_ESC), RGUI(KC_1), RGUI(KC_2), RGUI(KC_3), RGUI(KC_4), RGUI(KC_5), RGUI(KC_6), RGUI(KC_7), RGUI(KC_8), RGUI(KC_9), RGUI(KC_0), RGUI(KC_MINS), RGUI(KC_EQL), RGUI(KC_BSLS), RGUI(KC_GRV), \ + RGUI(KC_TAB), RGUI(KC_Q), RGUI(KC_W), RGUI(KC_E), RGUI(KC_R), RGUI(KC_T), RGUI(KC_Y), RGUI(KC_U), RGUI(KC_I), RGUI(KC_O), RGUI(KC_P), RGUI(KC_LBRC), RGUI(KC_RBRC), RGUI(KC_BSPC), \ + RGUI(KC_LCTL), RGUI(KC_A), RGUI(KC_S), RGUI(KC_D), RGUI(KC_F), RGUI(KC_G), RGUI(KC_H), RGUI(KC_J), RGUI(KC_K), KC_TRNS, KC_TRNS, RGUI(KC_QUOT), KC_FN0, \ + RGUI(KC_LSFT), RGUI(KC_Z), RGUI(KC_X), RGUI(KC_C), RGUI(KC_V), RGUI(KC_B), RGUI(KC_N), RGUI(KC_M), RGUI(KC_COMM), RGUI(KC_DOT), RGUI(KC_SLSH), RGUI(KC_RSFT), KC_TRNS, \ + KC_LALT, KC_LGUI, RGUI(KC_SPC), KC_RGUI, KC_RALT), + + /* Layer LGUI: All keys with LGUI modifier + |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---| + | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | \ | ` | + |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---| + | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | Backs | | + |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---| + | Contro | A | S | D | F | G | H | J | K | | ; | ' | RCtl/Ent | | | + |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---| + | Shift | Z | X | C | V | B | N | M | , | . | Fn2 | Shift | Fn0 | | | + |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---| + + |------+------+-------+------+------| + | LAlt | LGUI | Space | LGUI | RAlt | + |------+------+-------+------+------| + */ + + [LGUILEV] = KEYMAP( // Right GUI layer by KC_L + + LGUI(KC_ESC), LGUI(KC_1), LGUI(KC_2), LGUI(KC_3), LGUI(KC_4), LGUI(KC_5), LGUI(KC_6), LGUI(KC_7), LGUI(KC_8), LGUI(KC_9), LGUI(KC_0), LGUI(KC_MINS), LGUI(KC_EQL), LGUI(KC_BSLS), LGUI(KC_GRV), \ + LGUI(KC_TAB), LGUI(KC_Q), LGUI(KC_W), LGUI(KC_E), LGUI(KC_R), LGUI(KC_T), LGUI(KC_Y), LGUI(KC_U), LGUI(KC_I), LGUI(KC_O), LGUI(KC_P), LGUI(KC_LBRC), LGUI(KC_RBRC), LGUI(KC_BSPC), \ + LGUI(KC_LCTL), KC_TRNS, KC_TRNS, LGUI(KC_D), LGUI(KC_F), LGUI(KC_G), LGUI(KC_H), LGUI(KC_J), LGUI(KC_K), LGUI(KC_L), LGUI(KC_SCLN), LGUI(KC_QUOT), KC_FN0, \ + KC_LSFT, LGUI(KC_Z), LGUI(KC_X), LGUI(KC_C), LGUI(KC_V), LGUI(KC_B), LGUI(KC_N), LGUI(KC_M), LGUI(KC_COMM), LGUI(KC_DOT), LGUI(KC_SLSH), KC_RSFT, KC_TRNS, \ + KC_LALT, KC_LGUI, LGUI(KC_SPC), KC_LGUI, KC_RALT), + + /* Layer LALT: All keys with RALT modifier + |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---| + | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | \ | ` | + |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---| + | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | Backs | | + |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---| + | Contro | A | S | D | F | G | H | J | K | | ; | ' | RCtl/Ent | | | + |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---| + | Shift | Z | X | C | V | B | N | M | , | . | Fn2 | Shift | Fn0 | | | + |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---| + + |------+------+-------+------+------| + | LAlt | LGUI | Space | RGUI | RAlt | + |------+------+-------+------+------| + */ + + [RALTLEV] = KEYMAP( // Right ALT layer by KC_L + + RALT(KC_ESC), RALT(KC_1), RALT(KC_2), RALT(KC_3), RALT(KC_4), RALT(KC_5), RALT(KC_6), RALT(KC_7), RALT(KC_8), RALT(KC_9), RALT(KC_0), RALT(KC_MINS), RALT(KC_EQL), RALT(KC_BSLS), RALT(KC_GRV), \ + RALT(KC_TAB), RALT(KC_Q), RALT(KC_W), RALT(KC_E), RALT(KC_R), RALT(KC_T), RALT(KC_Y), RALT(KC_U), RALT(KC_I), RALT(KC_O), RALT(KC_P), RALT(KC_LBRC), RALT(KC_RBRC), RALT(KC_BSPC), \ + RALT(KC_LCTL), RALT(KC_A), RALT(KC_S), RALT(KC_D), RALT(KC_F), RALT(KC_G), RALT(KC_H), RALT(KC_J), RALT(KC_K), KC_TRNS, KC_TRNS, RALT(KC_QUOT), KC_FN0, \ + RALT(KC_LSFT), RALT(KC_Z), RALT(KC_X), RALT(KC_C), RALT(KC_V), RALT(KC_B), RALT(KC_N), RALT(KC_M), RALT(KC_COMM), RALT(KC_DOT), RALT(KC_SLSH), RALT(KC_RSFT), KC_TRNS, \ + KC_LALT, KC_LGUI, RALT(KC_SPC), KC_RGUI, KC_RALT), + + /* Layer LALT: All keys with LALT modifier + |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---| + | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | \ | ` | + |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---| + | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | Backs | | + |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---| + | Contro | A | S | D | F | G | H | J | K | | ; | ' | RCtl/Ent | | | + |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---| + | Shift | Z | X | C | V | B | N | M | , | . | Fn2 | Shift | Fn0 | | | + |--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---| + + |------+------+-------+------+------| + | LAlt | LGUI | Space | LGUI | RAlt | + |------+------+-------+------+------| + */ + + [LALTLEV] = KEYMAP( // Right ALT layer by KC_L + + LALT(KC_ESC), LALT(KC_1), LALT(KC_2), LALT(KC_3), LALT(KC_4), LALT(KC_5), LALT(KC_6), LALT(KC_7), LALT(KC_8), LALT(KC_9), LALT(KC_0), LALT(KC_MINS), LALT(KC_EQL), LALT(KC_BSLS), LALT(KC_GRV), \ + LALT(KC_TAB), LALT(KC_Q), LALT(KC_W), LALT(KC_E), LALT(KC_R), LALT(KC_T), LALT(KC_Y), LALT(KC_U), LALT(KC_I), LALT(KC_O), LALT(KC_P), LALT(KC_LBRC), LALT(KC_RBRC), LALT(KC_BSPC), \ + LALT(KC_LCTL), KC_TRNS, KC_TRNS, LALT(KC_D), LALT(KC_F), LALT(KC_G), LALT(KC_H), LALT(KC_J), LALT(KC_K), LALT(KC_L), LALT(KC_SCLN), LALT(KC_QUOT), KC_FN0, \ + KC_LSFT, LALT(KC_Z), LALT(KC_X), LALT(KC_C), LALT(KC_V), LALT(KC_B), LALT(KC_N), LALT(KC_M), LALT(KC_COMM), LALT(KC_DOT), LALT(KC_SLSH), KC_RSFT, KC_TRNS, \ + KC_LALT, KC_LGUI, LALT(KC_SPC), KC_LGUI, KC_RALT), + + + /* Layer WIN: Win layer + |--------+---+---+---+---+---+---+---+---+---+---+-------+----------+-------+---| + | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | \ | ` | + |--------+---+---+---+---+---+---+---+---+---+---+-------+----------+-------+---| + | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | Backs | | + |--------+---+---+---+---+---+---+---+---+---+---+-------+----------+-------+---| + | Contro | A | S | D | F | G | H | J | K | L | ; | ' | RCtl/Ent | | | + |--------+---+---+---+---+---+---+---+---+---+---+-------+----------+-------+---| + | Shift | Z | X | C | V | B | N | M | , | . | / | Shift | Fn0 | | | + |--------+---+---+---+---+---+---+---+---+---+---+-------+----------+-------+---| + + |------+------+-------+------+------| + | LGui | LAlt | Space | RGui | Ralt | + |------+------+-------+------+------| + */ + + [WIN] = KEYMAP( // BASE level with swapped GUI/ALT + + + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV, \ + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, \ + KC_LCTL, LT(LGUILEV,KC_A), LT(LALTLEV,KC_S), KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, LT(RALTLEV,KC_L), LT(RGUILEV,KC_SCLN), KC_QUOT, KC_FN0, \ + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(HHKB), \ + KC_RGUI, KC_RALT, KC_SPC, KC_RALT, KC_RGUI)}; + + +const uint16_t PROGMEM fn_actions[] = { + [0] = ACTION_MODS_TAP_KEY(MOD_RCTL, KC_ENT) // RControl with tap Enter* +}; + +const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) +{ + // MACRODOWN only works in this function + switch(id) { + case 0: + if (record->event.pressed) { + register_code(KC_RSFT); + } else { + unregister_code(KC_RSFT); + } + break; + } + return MACRO_NONE; +}; diff --git a/keyboard/hhkb_qmk/matrix.c b/keyboard/hhkb_qmk/matrix.c new file mode 100644 index 0000000000..14fae0b82c --- /dev/null +++ b/keyboard/hhkb_qmk/matrix.c @@ -0,0 +1,196 @@ +/* +Copyright 2011 Jun Wako + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +/* + * scan matrix + */ +#include +#include +#include +#include "print.h" +#include "debug.h" +#include "util.h" +#include "timer.h" +#include "matrix.h" +#include "hhkb_avr.h" +#include +#include "suspend.h" +#include "lufa.h" + + +// matrix power saving +#define MATRIX_POWER_SAVE 10000 +static uint32_t matrix_last_modified = 0; + +// matrix state buffer(1:on, 0:off) +static matrix_row_t *matrix; +static matrix_row_t *matrix_prev; +static matrix_row_t _matrix0[MATRIX_ROWS]; +static matrix_row_t _matrix1[MATRIX_ROWS]; + + +inline +uint8_t matrix_rows(void) +{ + return MATRIX_ROWS; +} + +inline +uint8_t matrix_cols(void) +{ + return MATRIX_COLS; +} + +void matrix_init(void) +{ +#ifdef DEBUG + debug_enable = true; + debug_keyboard = true; +#endif + + KEY_INIT(); + + // initialize matrix state: all keys off + for (uint8_t i=0; i < MATRIX_ROWS; i++) _matrix0[i] = 0x00; + for (uint8_t i=0; i < MATRIX_ROWS; i++) _matrix1[i] = 0x00; + matrix = _matrix0; + matrix_prev = _matrix1; +} + +uint8_t matrix_scan(void) +{ + uint8_t *tmp; + + tmp = matrix_prev; + matrix_prev = matrix; + matrix = tmp; + + // power on + if (!KEY_POWER_STATE()) KEY_POWER_ON(); + for (uint8_t row = 0; row < MATRIX_ROWS; row++) { + for (uint8_t col = 0; col < MATRIX_COLS; col++) { + KEY_SELECT(row, col); + _delay_us(5); + + // Not sure this is needed. This just emulates HHKB controller's behaviour. + if (matrix_prev[row] & (1< 20/(1000000/TIMER_RAW_FREQ)) { + matrix[row] = matrix_prev[row]; + } + + _delay_us(5); + KEY_PREV_OFF(); + KEY_UNABLE(); + + // NOTE: KEY_STATE keep its state in 20us after KEY_ENABLE. + // This takes 25us or more to make sure KEY_STATE returns to idle state. +#ifdef HHKB_JP + // Looks like JP needs faster scan due to its twice larger matrix + // or it can drop keys in fast key typing + _delay_us(30); +#else + _delay_us(75); +#endif + } + if (matrix[row] ^ matrix_prev[row]) matrix_last_modified = timer_read32(); + } + // power off + if (KEY_POWER_STATE() && + (USB_DeviceState == DEVICE_STATE_Suspended || + USB_DeviceState == DEVICE_STATE_Unattached ) && + timer_elapsed32(matrix_last_modified) > MATRIX_POWER_SAVE) { + KEY_POWER_OFF(); + suspend_power_down(); + } + return 1; +} + +bool matrix_is_modified(void) +{ + for (uint8_t i = 0; i < MATRIX_ROWS; i++) { + if (matrix[i] != matrix_prev[i]) + return true; + } + return false; +} + +inline +bool matrix_has_ghost(void) +{ + return false; +} + +inline +bool matrix_is_on(uint8_t row, uint8_t col) +{ + return (matrix[row] & (1< Date: Wed, 13 Jan 2016 11:21:55 +0100 Subject: [PATCH 23/64] andw layout added --- .../keymaps/keymap_osx_de_andw_koy.c | 259 ++++++++++++++++++ 1 file changed, 259 insertions(+) create mode 100644 keyboard/ergodox_ez/keymaps/keymap_osx_de_andw_koy.c diff --git a/keyboard/ergodox_ez/keymaps/keymap_osx_de_andw_koy.c b/keyboard/ergodox_ez/keymaps/keymap_osx_de_andw_koy.c new file mode 100644 index 0000000000..2eba57f367 --- /dev/null +++ b/keyboard/ergodox_ez/keymaps/keymap_osx_de_andw_koy.c @@ -0,0 +1,259 @@ +#include "ergodox_ez.h" +#include "debug.h" +#include "action_layer.h" +#include "keymap_extras/keymap_german.h" + +#define BASE 0 // default layer +#define SYMB 1 // symbols +#define MDIA 2 // media keys +#define CRSR 3 // media keys +#define NUMB 4 // number keys + + + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +/* Keymap 0: Basic layer + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | ESC | 1 | 2 | 3 | 4 | 5 |Lctrl | |Rctrl | 6 | 7 | 8 | 9 | 0 | ß | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | TAB | Q | W | E | R | T | CMD | | CMD | Z | U | I | O | P | ü | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | ANDW | A | S | D | F | G |------| |------| H | J | K | L | ö | ä/L2 | + * |--------+------+------+------+------+------| LALT | | RALT |------+------+------+------+------+--------| + * | LShift |Y/Ctrl| X | C | V | B | | | | N | M | , | . |-/Ctrl| RShift | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * | | " | ' | ? | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * | | | | | | | | | . | ! | | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | | | | | | + * ,------|------|------| |------+------+------. + * | | | | | | | | + * | | |------| |------| | | + * | | | | | | | | + * `--------------------' `--------------------' + */ +// SYMBOLS +[SYMB] = KEYMAP( + // left hand + KC_TRNS,KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS, + KC_TRNS,KC_GRV,LSFT(KC_GRV),DE_EXLM,DE_QST,KC_TRNS,KC_TRNS, + KC_TRNS,DE_HASH,DE_DLR, LALT(LSFT(KC_7)),DE_SLSH,KC_DOT, + KC_TRNS,KC_TRNS,DE_LESS,DE_PERC,LALT(KC_7),LALT(KC_N),KC_TRNS, + KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, + KC_TRNS,KC_TRNS, + KC_TRNS, + KC_TRNS,KC_DEL,KC_TRNS, + // right hand + KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, + KC_TRNS, LALT(LSFT(KC_7)), LALT(KC_5), LALT(KC_6), LALT(KC_7), DE_HASH, KC_F12, + DE_SLSH, DE_LPRN, DE_RPRN, LALT(KC_8), LALT(KC_9), KC_TRNS, + KC_TRNS, DE_AMPR, KC_GRV, LSFT(KC_GRV), DE_DQOT, DE_QUOT, DE_QST, + KC_TRNS,KC_DOT, KC_EXLM, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS +), +/* Keymap 2: Media and mouse keys + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | | | | | | | | | | | | | | | Play | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | | | | MsUp | | | | | | | | | | | | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | |MsLeft|MsDown|MsRght| |------| |------| | | | | | | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | | | | | | | | | | | Prev | Next | | | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * | | | | Lclk | Rclk | |VolUp |VolDn | Mute | | | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | | | | | | + * ,------|------|------| |------+------+------. + * | | | | | | |Brwser| + * | | |------| |------| |Back | + * | | | | | | | | + * `--------------------' `--------------------' + */ +// MEDIA AND MOUSE +KEYMAP( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_U, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS, + KC_TRNS, KC_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_MPLY, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_MUTE, KC_MPRV, KC_MNXT, KC_UP, KC_TRNS, + KC_VOLU, KC_VOLD, KC_LEFT, KC_DOWN, KC_RIGHT, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_WBAK +), +/* Keymap 3: ANDW-Koy layer + * ANDW-Koy is a special layout designed to be ergonomic. Was created using software to determine the most ergonomic way to type German and English texts. + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | ESC | 1 | 2 | 3 | 4 | 5 |Lctrl | |Rctrl | 6 | 7 | 8 | 9 | 0 | - | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | TAB | K | . | O | , | Y | CMD | | CMD | V | G | C | L | ß | Z | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | ANDW | H | A | E | I | U |------| |------| D | T | R | N | S | F/L2 | + * |--------+------+------+------+------+------| LALT | | RALT |------+------+------+------+------+--------| + * | LShift |X/Ctrl| Q | Ä | Ü | Ö | | | | B | P | W | M |J/Ctrl| RShift | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * |event.pressed) { + register_code(KC_RSFT); + } else { + unregister_code(KC_RSFT); + } + break; + } + return MACRO_NONE; +}; + +// Runs just one time when the keyboard initializes. +void * matrix_init_user(void) { + +}; + +// Runs constantly in the background, in a loop. +void * matrix_scan_user(void) { + + uint8_t layer = biton32(layer_state); + + ergodox_board_led_off(); + ergodox_right_led_1_off(); + ergodox_right_led_2_off(); + ergodox_right_led_3_off(); + switch (layer) { + // TODO: Make this relevant to the ErgoDox EZ. + case 1: + ergodox_right_led_1_on(); + break; + case 2: + ergodox_right_led_2_on(); + break; + case 3: + ergodox_right_led_3_on(); + break; + case 4: + ergodox_right_led_1_on(); + ergodox_right_led_3_on(); + ergodox_board_led_on(); + break; + default: + // none + break; + } + +}; From ddab0dc32cab391e0567c07a766f631878fb710e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stephan=20Bo=CC=88sebeck?= Date: Wed, 13 Jan 2016 11:38:24 +0100 Subject: [PATCH 24/64] updated ANDW layout --- .../ergodox_ez/keymaps/keymap_default_osx.png | Bin 185123 -> 0 bytes .../keymaps/keymap_osx_de_andw_koy.c | 31 ++++++++++-------- 2 files changed, 17 insertions(+), 14 deletions(-) delete mode 100644 keyboard/ergodox_ez/keymaps/keymap_default_osx.png diff --git a/keyboard/ergodox_ez/keymaps/keymap_default_osx.png b/keyboard/ergodox_ez/keymaps/keymap_default_osx.png deleted file mode 100644 index f8f6eb9a72100244fd40026bf5434c66cd00f07b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 185123 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

OiOa26zZeurAN@yEMfj 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