~ruther/qmk_firmware

6e72586b6bee2fe1a4b4fcd0f68442bc06c0b6ac — Erez Zukerman 9 years ago 9746cd5 + f70dec3
Merge pull request #320 from Townk/townkmap

Townkmap
A keyboard/ergodox_ez/keymaps/townk_osx/config.h => keyboard/ergodox_ez/keymaps/townk_osx/config.h +92 -0
@@ 0,0 1,92 @@
/*
Copyright 2012 Jun Wako <wakojun@gmail.com>
Copyright 2013 Oleg Kostyuk <cub.uanic@gmail.com>

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.
*/

#ifndef CONFIG_H
#define CONFIG_H

#include "config_common.h"

/* USB Device descriptor parameter */
#define VENDOR_ID       0xFEED
#define PRODUCT_ID      0x1307
#define DEVICE_VER      0x0001
#define MANUFACTURER    ErgoDox EZ
#define PRODUCT         ErgoDox EZ
#define DESCRIPTION     t.m.k. keyboard firmware for Ergodox

/* key matrix size */
#define MATRIX_ROWS 14
#define MATRIX_COLS 6

#define MOUSEKEY_DELAY          100
#define MOUSEKEY_INTERVAL       20
#define MOUSEKEY_MAX_SPEED      3
#define MOUSEKEY_TIME_TO_MAX    10

#define TAPPING_TOGGLE  1

#define COLS (int []){ F1, F0, B0, C7, F4, F5, F6, F7, D4, D6, B4, D7 }
#define ROWS (int []){ D0, D5, B5, B6 }

/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW

/* define if matrix has ghost */
//#define MATRIX_HAS_GHOST

/* number of backlight levels */
#define BACKLIGHT_LEVELS 3

/* Set 0 if debouncing isn't needed */
#define DEBOUNCE    2
#define TAPPING_TERM    200
#define IGNORE_MOD_TAP_INTERRUPT // this makes it possible to do rolling combos (zx) with keys that convert to other keys on hold (z becomes ctrl when you hold it, and when this option isn't enabled, z rapidly followed by x actually sends Ctrl-x. That's bad.)

/* 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_LCTL) | MOD_BIT(KC_RCTL)) || \
    keyboard_report->mods == (MOD_BIT(KC_LSFT) | MOD_BIT(KC_RSFT)) \
)

/*
 * 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
//#define DEBUG_MATRIX_SCAN_RATE
#define ONESHOT_TAP_TOGGLE 2
#define ONESHOT_TIMEOUT 3000

#endif

A keyboard/ergodox_ez/keymaps/townk_osx/keymap.c => keyboard/ergodox_ez/keymaps/townk_osx/keymap.c +285 -0
@@ 0,0 1,285 @@
#include "ergodox_ez.h"
#include "debug.h"
#include "action_layer.h"
#include "action_util.h"
#include "led.h"
#include "keymap_common.h"
#include "timer.h"

/*

# Why this Layout

This layout was based on Kinesis layout and other ErgoDox user layouts
available. It's target to be used on a MacOS but I'm pretty sure it can be
addapted to Windows and/or Linux easily.

## Function Key

The `fn` key work almost like it would in any other keyboard with the exception
it has a semi-sticky behavior. What does that mean?

Well, if you press the `fn` and release it, the keyboard will be put on the
_function layout_ and the next key stroke will be processed as if the `fn` key
was pressed. Aftwards, the leyout get back to _normal_. If you hold `fn` and
press any other key, when you release them, the keyboard leyout is back to
_normal_.

While pressing the `fn` with the left hand and strikeing the other keys on the
right hand is farly easy, the same cannot being said for the other keys on the
left side. So, instead of trying to do contorcionism with my left hand, I
decided to do a semi-sticky version of `fn`. This way, I can press the  `fn`
key with my pinky, release it and press the `1` key to issue an `F1` to the
operating system.

## Key-Pad Key

The `key pad` key is a layout switch key. If pressed, it will put the keyboard
on the _key pad layout_ and stay there until key is pressed again.

This is used to make the keyboard behave mostly like a **num pad keyboard**.

## Notes
- Regardless in which layout you are, keys from other layouts are not
  accessible. This means that if you are on the _key pad layout_, the left hand
  will be pretty much unusable.
  Of course that like anything else, there are exceptions to this rule.
  Modifiers should remain accessible throughout the layers.
- The _shift key_ is, like the _function key_, also configured to have a sticky
  behavior.
- All sticky keys have a timeout of 3 seconds.

*/
#define BASE   0
#define KEYPAD 1
#define FN     2

#define MACRO_TMUX_ESC        10
#define MACRO_TMUX_PASTE      11
#define MACRO_OSX_COPY        12
#define MACRO_OSX_PASTE       13

#define M_TESC   M(MACRO_TMUX_ESC)
#define M_TPASTE M(MACRO_TMUX_PASTE)
#define M_OSXCPY M(MACRO_OSX_COPY)
#define M_OSXPST M(MACRO_OSX_PASTE)

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Keymap 0: Base Layer
 *
 * ,-----------------------------------------------------.           ,-----------------------------------------------------.
 * |        `~ |   1  |   2  |   3  |   4  |   5  | ESC  |           | Pwr  |   6  |   7  |   8  |   9  |   0  | - _       |
 * |-----------+------+------+------+------+-------------|           |------+------+------+------+------+------+-----------|
 * | Tab       |   Q  |   W  |   E  |   R  |   T  | F16  |           | F17  |   Y  |   U  |   I  |   O  |   P  | = +       |
 * |-----------+------+------+------+------+------| Meh  |           | Meh  |------+------+------+------+------+-----------|
 * | \ (Ctrl)  |   A  |   S  |   D  |   F  |   G  |------|           |------|   H  |   J  |   K  |   L  |   ;  | ' " (Ctrl)|
 * |-----------+------+------+------+------+------| F18  |           | F19  |------+------+------+------+------+-----------|
 * |  LShift   |   Z  |   X  |   C  |   V  |   B  | Hyper|           | Hyper|   N  |   M  |   ,  |   .  |   /  |   RShift  |
 * `-----------+------+------+------+------+-------------'           `-------------+------+------+------+------+-----------'
 *     | FN    | KPAD |LCtrl | LAlt | LGui |                                       | RGui | RAlt | RCtrl| KPAD |    FN |
 *     `-----------------------------------'                                       `-----------------------------------'
 *                                         ,-------------.           ,-------------.
 *                                         | M(0) | M(1) |           | M(2) | M(3) |
 *                                  ,------|------|------|           |------+------+------.
 *                                  |      |      | Home |           | PgUp |      |      |
 *                                  |Backsp| Del  |------|           |------| Enter| Space|
 *                                  |      |      | End  |           | PgDn |      |      |
 *                                  `--------------------'           `--------------------'
 *
 * M(0) = Ctrk+A Esc
 *        (this is used to issue the Esc key to the Tmux application)
 * M(1) = Ctrk+A P
 *        (this is used to issue the Paste key to the Tmux application)
 * M(2) = Cmd+C
 * M(3) = Cmd+V
 */
[BASE]=KEYMAP(//left half
              KC_GRV,         KC_1,       KC_2,     KC_3,           KC_4,       KC_5,     KC_ESC,
              KC_TAB,         KC_Q,       KC_W,     KC_E,           KC_R,       KC_T,     MEH_T(KC_F16),
              CTL_T(KC_BSLS), KC_A,       KC_S,     KC_D,           KC_F,       KC_G,
              KC_FN2,         KC_Z,       KC_X,     KC_C,           KC_V,       KC_B,     ALL_T(KC_F18),
              KC_FN1,         TG(KEYPAD), KC_LCTRL, KC_LALT,        KC_LGUI,
                                                                                M_TESC,   M_TPASTE,
                                                                                          KC_HOME,
                                                                    KC_BSPC,    KC_DELT,  KC_END,
              //right half
              KC_POWER,       KC_6,       KC_7,     KC_8,           KC_9,       KC_0,     KC_MINS,
              MEH_T(KC_F17),  KC_Y,       KC_U,     KC_I,           KC_O,       KC_P,     KC_EQL,
                              KC_H,       KC_J,     KC_K,           KC_L,       KC_SCLN,  CTL_T(KC_QUOT),
              ALL_T(KC_F19),  KC_N,       KC_M,     KC_COMM,        KC_DOT,     KC_SLSH,  KC_FN2,
                              KC_RGUI,    KC_RALT,  CTL_T(KC_LBRC), KC_FN3,     KC_FN1,
              M_OSXCPY,       M_OSXPST,
              KC_PGUP,
              KC_PGDN,        KC_ENT,     KC_SPC),

/* Keymap 1: KeyPad Layer
 *
 * ,-----------------------------------------------------.           ,-----------------------------------------------------.
 * |           |      | LClk | RClk | MClk |      |      |           | BTab | Clear|   /  |   *  |   ^  |   (  |           |
 * |-----------+------+------+------+------+-------------|           |------+------+------+------+------+------+-----------|
 * | M.Accel 2 |      |ScrlUp|  U   |ScrlDn|      |      |           | Tab  |   7  |   8  |   9  |   +  |   )  |           |
 * |-----------+------+------+------+------+------|      |           |      |------+------+------+------+------+-----------|
 * | M.Accel 1 |      |   L  |  D   |  R   |      |------|           |------|   4  |   5  |   6  |   -  |      |           |
 * |-----------+------+------+------+------+------|      |           |Return|------+------+------+------+------+-----------|
 * | M.Accel 0 |      |ScrlL |      |ScrlR |      |      |           |      |   1  |   2  |   3  |   =  |      |           |
 * `-----------+------+------+------+------+-------------'           `-------------+------+------+------+------+-----------'
 *     |       | XXXX |      |      |      |                                       |   0  |   .  |   ,  | XXXX |       |
 *     `-----------------------------------'                                       `-----------------------------------'
 *                                         ,-------------.           ,-------------.
 *                                         |      |      |           |      |      |
 *                                  ,------|------|------|           |------+------+------.
 *                                  |      |      |      |           |      | XXXX |      |
 *                                  |      |      |------|           |------| XXXX |      |
 *                                  |      |      |      |           |      | XXXX |      |
 *                                  `--------------------'           `--------------------'
 */
[KEYPAD]=KEYMAP(//left half
                KC_NO,        KC_NO,    KC_MS_BTN1,    KC_MS_BTN2,     KC_MS_BTN3,     KC_NO,   KC_NO,
                KC_MS_ACCEL2, KC_NO,    KC_MS_WH_UP,   KC_MS_U,        KC_MS_WH_DOWN,  KC_NO,   KC_NO,
                KC_MS_ACCEL1, KC_NO,    KC_MS_L,       KC_MS_D,        KC_MS_R,        KC_NO,
                KC_MS_ACCEL0, KC_NO,    KC_MS_WH_LEFT, KC_NO,          KC_MS_WH_RIGHT, KC_NO,   KC_NO,
                KC_NO,        KC_TRNS,  KC_NO,         KC_NO,          KC_NO,
                                                                                       KC_NO,   KC_NO,
                                                                                                KC_NO,
                                                                       KC_NO,          KC_NO,   KC_NO,
                //right half
                LSFT(KC_TAB), KC_CLEAR, KC_KP_SLASH,   KC_KP_ASTERISK, KC_CIRCUMFLEX,  KC_LPRN, KC_NO,
                KC_TAB,       KC_KP_7,  KC_KP_8,       KC_KP_9,        KC_KP_PLUS,     KC_RPRN, KC_NO,
                              KC_KP_4,  KC_KP_5,       KC_KP_6,        KC_KP_MINUS,    KC_NO,   KC_NO,
                KC_KP_ENTER,  KC_KP_1,  KC_KP_2,       KC_KP_3,        KC_KP_EQUAL,    KC_NO,   KC_NO,
                                        KC_KP_0,       KC_KP_DOT,      KC_KP_COMMA,    KC_TRNS, KC_NO,
                KC_NO,        KC_NO,
                KC_NO,
                KC_NO,        KC_TRNS,  KC_NO),

/* Keymap 2: Functions Layer
 *
 * ,-----------------------------------------------------.           ,-----------------------------------------------------.
 * |           |  F1  |  F2  |  F3  |  F4  |  F5  |  F6  |           |  F7  |  F8  |  F9  |  F10 |  F11 |  F12 |  Vol. Up  |
 * |-----------+------+------+------+------+-------------|           |------+------+------+------+------+------+-----------|
 * |           | Stop |  Rw  |  Rec |  FF  |      | XXXX |           | XXXX |      |      |      |      |      | Vol. Down |
 * |-----------+------+------+------+------+------| XXXX |           | XXXX |------+------+------+------+------+-----------|
 * |  CapsLock | Eject| Prev | Play | Next |      |------|           |------| Left | Down |  Up  | Right|      |   Mute    |
 * |-----------+------+------+------+------+------| XXXX |           | XXXX |------+------+------+------+------+-----------|
 * |  L Shift  |      |      |      |      |      | XXXX |           | XXXX |      |      |      |      |      |  R Shift  |
 * `-----------+------+------+------+------+-------------'           `-------------+------+------+------+------+-----------'
 *     | XXXXX |      | XXXX | XXXX | XXXX |                                       | XXXX | XXXX | XXXX |      | XXXXX |
 *     `-----------------------------------'                                       `-----------------------------------'
 *                                         ,-------------.           ,-------------.
 *                                         |      |      |           |      |      |
 *                                  ,------|------|------|           |------+------+------.
 *                                  |      |      |      |           |      |      |      |
 *                                  |      |      |------|           |------|      |      |
 *                                  |      |      |      |           |      |      |      |
 *                                  `--------------------'           `--------------------'
 *
 * XXX = These keys are transparent keys that, when pressed, they issue the key from the previous layer.
 */
[FN]=KEYMAP(//left half
            KC_NO,   KC_F1,          KC_F2,               KC_F3,               KC_F4,                 KC_F5,  KC_F6,
            KC_NO,   KC_MEDIA_STOP,  KC_MEDIA_REWIND,     KC_MEDIA_SELECT,     KC_MEDIA_FAST_FORWARD, KC_NO,  KC_TRNS,
            KC_CAPS, KC_MEDIA_EJECT, KC_MEDIA_PREV_TRACK, KC_MEDIA_PLAY_PAUSE, KC_MEDIA_NEXT_TRACK,   KC_NO,
            KC_LSFT, KC_NO,          KC_NO,               KC_NO,               KC_NO,                 KC_NO,  KC_TRNS,
            KC_TRNS, KC_NO,          KC_TRNS,             KC_TRNS,             KC_TRNS,
                                                                                                      KC_NO,  KC_NO,
                                                                                                              KC_NO,
                                                                               KC_NO,                 KC_NO,  KC_NO,
            //right half
            KC_F7,   KC_F8,          KC_F9,               KC_F10,              KC_F11,                KC_F12, KC_VOLU,
            KC_TRNS, KC_NO,          KC_NO,               KC_NO,               KC_NO,                 KC_NO,  KC_VOLD,
                     KC_LEFT,        KC_DOWN,             KC_UP,               KC_RIGHT,              KC_NO,  KC_MUTE,
            KC_TRNS, KC_NO,          KC_NO,               KC_NO,               KC_NO,                 KC_NO,  KC_RSFT,
                                     KC_TRNS,             KC_TRNS,             KC_TRNS,               KC_NO,  KC_TRNS,
            KC_NO,   KC_NO,
            KC_NO,
            KC_NO,   KC_NO,          KC_NO)};

const uint16_t PROGMEM fn_actions[] = {
  [1] = ACTION_LAYER_ONESHOT(FN),
  [2] = ACTION_MODS_ONESHOT(MOD_LSFT),  // Sticky shift light. Tap for the next keypress to be shifted. Hold for regular shift.
  [3] = ACTION_LAYER_TAP_KEY(KEYPAD, KC_RBRC),
};

const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {
  // MACRODOWN only works in this function
  switch(id) {
    case MACRO_TMUX_ESC:
      if (record->event.pressed) {
        return MACRO(D(LCTRL), T(A), U(LCTRL), D(ESC), END);
      }
      return MACRO(U(ESC), END);
    case MACRO_TMUX_PASTE:
      if (record->event.pressed) {
        return MACRO(D(LCTRL), T(A), U(LCTRL), D(P), END);
      }
      return MACRO(U(P), END);
    case MACRO_OSX_COPY:
      if (record->event.pressed) {
        return MACRO(D(LGUI), D(C), END);
      }
      return MACRO(U(C), U(LGUI), END);
    case MACRO_OSX_PASTE:
      if (record->event.pressed) {
        return MACRO(D(LGUI), D(V), END);
      }
      return MACRO(U(V), U(LGUI), END);
  }
  return MACRO_NONE;
};

// Runs just one time when the keyboard initializes.
void matrix_init_user(void) {
};

uint8_t current_layer = BASE;

// Runs constantly in the background, in a loop.
void matrix_scan_user(void) {
  uint8_t layer = biton32(layer_state);

  ergodox_led_all_off();
  ergodox_led_all_set(LED_BRIGHTNESS_LO);

  switch (layer) {
  case BASE:
    current_layer = BASE;
    break;
  case KEYPAD:
    current_layer = KEYPAD;
    break;
  default:
    // none
    break;
  }

  // layer leds
  if (current_layer == KEYPAD) {
    ergodox_right_led_3_on();
  }

  // capslock
  if (host_keyboard_leds() & (3<<USB_LED_CAPS_LOCK)) {
    ergodox_right_led_1_on();
  }

  // Temporary leds

  // The function layer takes over other layers and we need to reflect that on the leds.
  // If the current layer is the BASE, we simply turn on the FN led, but if the current
  // layer is the KEYPAD, than we must turn it off before turning on the FN led.
  if (layer == FN && !has_oneshot_layer_timed_out()) {
    ergodox_right_led_3_off();
    ergodox_right_led_2_on();
  }

  // if the shifted is pressed I show the case led in a brighter color. This is nice to
  // differenciate the shift from the capslock.
  // Notice that I make sure that we're not using the shift on a chord shortcut (pressing
  // shift togather with other modifiers).
  if((keyboard_report->mods & (MOD_BIT(KC_LSFT) | MOD_BIT(KC_RSFT)) &&                                 // is shift pressed and there is no other
      !(keyboard_report->mods & (~MOD_BIT(KC_LSFT) & ~MOD_BIT(KC_RSFT)))) ||                           //    modifier being pressed as well
     (get_oneshot_mods() & (MOD_BIT(KC_LSFT) | MOD_BIT(KC_RSFT)) && !has_oneshot_mods_timed_out())) {  // or the one shot shift didn't timed out
    ergodox_right_led_1_set(LED_BRIGHTNESS_HI);
    ergodox_right_led_1_on();
  }
};

A keyboard/ergodox_ez/keymaps/townk_osx/makefile.mk => keyboard/ergodox_ez/keymaps/townk_osx/makefile.mk +4 -0
@@ 0,0 1,4 @@
# I don't want my keyboard blinking lights when is suppose to be asleep.
SLEEP_LED_ENABLE = no

CONFIG_H = keymaps/$(KEYMAP)/config.h

A keyboard/ergodox_ez/keymaps/townk_osx/readme.md => keyboard/ergodox_ez/keymaps/townk_osx/readme.md +77 -0
@@ 0,0 1,77 @@
# Townk's Keymap

Trying to take care of an enjury on my arm I borrow an ergonomic keyboard from
a frient ([Kinesis Advantage](http://www.kinesis-ergo.com/shop/advantage-pro-for-pc-mac/)).

I really enjoyed my time with it but there were some anoyancies:

* The curvature on the keys bothered me since I'm a Vim user and using the
  motion keys on my editor was awkard.
* I had to spend too much time remapping the keyboard to make some symbol keys
  more accessible to me.
* The fact that my hands had to stay close to each other was a bit stressfull
  to my sholders.

After a long research I find out that Ergodox EZ would be perfect for my needs
and purchase one. Before the keyboard even got in my hands I started to think
on the layout I would use on it and soon enough I planed couple adjustments
from the Kinesis I was using so far.

## The layout

Here are the layout mapping in images so you can have a glimpse on it:

![Base Layout](townk_osx_base.png)
![fn Layout](townk_osx_fn.png)
![Keypad & Mouse Layout](townk_osx_keypad.png)

Notice that, differently from the default behavior, my layer keys are not transparent
by default, which means that if you press any non-labeled white key, nothing will be
handled to the OS.

### One shot keys

It all started with the access to the function keys (F1, F2, F3...), since
those keys are located on a different layer I needed a way to press them with
minimal effort without disrupting my flow.

For me, togglihg a layer to press a button and than toggle it back is a waste
of time (although I admit it's a single tap from what I have), so I decided to
do it as a one shot key. I could press it and the next pressed key would be
handled by the target layer which just after it delivers the key to the OS it
would get back to the previous layer.

After setting up my layout to do just that I realized that occasionally I
would stop myseld on the middle of the process and the one shot layer would be
still triggered until I press any other key. So to prevent me from tapping
keys I don't want I added a timeout of 3 seconds for the one shot actions.

Ultimately I tested the shift key as a one shot one and really like it, so
here you have it, all the one shot keys on my layout.

## Glossary

If you're not familiar with the Mac symbols used on some keys, here is a
reference to them:

| Symbol | Description         |
| :----: | ------------------- |
|   ⌘    | Command             |
|   ⇪    | Caps Lock           |
|   ⇧    | Shift               |
|   ⌥    | Option (alt)        |
|   ⎋    | Esc                 |
|   ⇥    | Tab forward         |
|   ⇤    | Tab backward        |
|   ⌃    | Control             |
|   ␣    | Space               |
|   ⌫    | Backspace           |
|   ⌦    | Delete              |
|   ⏎    | Enter               |
|   ⌤    | Return              |
|   ⌽    | Power on/off button |
|   ↖    | Home                |
|   ↘    | End                 |
|   ⇞    | Page up             |
|   ⇟    | Page down           |
|   ⌧    | Clear               |

A keyboard/ergodox_ez/keymaps/townk_osx/townk_osx.hex => keyboard/ergodox_ez/keymaps/townk_osx/townk_osx.hex +1166 -0
@@ 0,0 1,1166 @@
:100000000C9474020C94B8020C94B8020C94B802CC
:100010000C94B8020C94B8020C94B8020C94B80278
:100020000C94B8020C94B8020C94ED0C0C94BF0D17
:100030000C94141C0C94B8020C94B8020C94B802E2
:100040000C94B8020C94B8020C94B8020C94B80248
:100050000C94B8020C947C1C0C94B8020C94B8025A
:100060000C94B8020C94B8020C94B8020C94B80228
:100070000C94B8020C94B8020C94B8020C94B80218
:100080000C94B8020C94B8020C94B8020C94B80208
:100090000C94B8020C94B8020C94B8020C94B802F8
:1000A0000C94B8020C94B8020C94B8022C0E4E0EAC
:1000B0003C0F4E0E3C0F930EB60E3C0F0B0F1E0F57
:1000C00029122912551255129D12BB1237143714DA
:1000D000C61237147B137B132814371437143114CA
:1000E0008813881388138813881388138813881338
:1000F0008813881388138813881388138813881328
:100100009913A713AE13B513BF13021902E300012D
:10011000E3011900020602E30001E30106000213F5
:100120000001E00104020402E001130002290001C1
:10013000E00104020402E00129000000F4A2002210
:1001400030A135002B003171C200C10000001E003B
:10015000140004001D0001544D001F001A00160079
:100160001B00E0004C002000080007000600E20031
:100170002A002100150009001900E3004A002200AE
:1001800017000A00050000000A3029006B77000004
:100190006D7F00000B3066006C7700006E7F000002
:1001A0000C3023001C000B00110000000D30240057
:1001B00018000D001000E7004B0025000C000E0099
:1001C0003600E6002C00260012000F0037002F71C9
:1001D00028002700130033003800C3004E002D0014
:1001E0002E003471C200C10000000000FF00FE00BC
:1001F000FD00000000000000000000000000010001
:100200000000F400F900F200FB0000000000F5001F
:10021000F000F100000000000000F600FA00F3001A
:10022000FC000000000000000000000000000000D2
:1002300000000000000000000000000000002B0291
:100240002B0000005800000000009C005F005C00D4
:10025000590000000000540060005D005A00620078
:100260000000550061005E005B0063000000230297
:100270005700560067008500010026022702000093
:10028000000001000000000000000000000000006D
:100290000000000000003900E100010000003A0009
:1002A000AD00B0000000000000003B00BC00AC004E
:1002B0000000010000003C00AF00AE0000000100A3
:1002C00000003D00BB00AB000000010000003E004C
:1002D000000000000000000000003F0001000000DE
:1002E00001000000000040000100000001000000CB
:1002F000000041000000500000000000000042002B
:100300000000510000000100000043000000520006
:10031000000001000000440000004F000000010048
:100320000000450000000000000000000000A900DF
:10033000AA00A800E50001000000160345007200B5
:1003400067006F0044006F007800200045005A00ED
:10035000000016034500720067006F0044006F0044
:100360007800200045005A00000004030904090237
:100370006D00040100A0FA0904000001030101005E
:10038000092111010001223F000705810308000A2D
:1003900009040100010301020009211101000122E9
:1003A0004D000705820308000A090402000103004A
:1003B000000009211101000122360007058303080E
:1003C000000A0904030001030000000921110100D3
:1003D00001223900070584031000011201100100F9
:1003E000000008EDFE0713010001020001050109EC
:1003F00006A101050719E029E715002501950875F3
:1004000001810205081901290595057501910295DB
:10041000017503910105071900297715002501953C
:100420007875018102C005010980A10185021601CC
:100430000026B7001A01002AB70075109501810047
:10044000C0050C0901A1018503160100269C021AB2
:1004500001002A9C02751095018100C00501090266
:10046000A1010901A10005091901290515002501AE
:10047000950575018102950175038101050109301A
:1004800009311581257F9502750881060938158186
:10049000257F950175088106050C0A38021581250E
:1004A0007F950175088106C0C005010906A10105F7
:1004B0000719E029E71500250195087501810295C6
:1004C0000175088101050819012905950575019136
:1004D000029501750391010507190029FF150025F3
:1004E000FF950675088100C011241FBECFEFDAE02A
:1004F000DEBFCDBF04B603FE24C08091F30190910E
:10050000F401A091F501B091F6018730904BA7401E
:10051000B04BB9F41092F3011092F4011092F5016E
:100520001092F60114BE84B7877F84BF88E10FB6AE
:10053000F89480936000109260000FBEE0E0FFE34B
:10054000099511E0A0E0B1E0E0E9F8E402C005900F
:100550000D92A433B107D9F711E0A4E3B1E001C0D3
:100560001D92A33FB107E1F70E94330A0C94462481
:100570000C940000FC016B3079F018F46A3031F013
:100580001DC06C3079F06D3099F018C082818111F6
:1005900018C08CE291E008958281811115C08EE12E
:1005A00091E008958281811112C084E191E0089563
:1005B000828181110FC08AE091E0089580E090E08F
:1005C00008958FE291E0089581E291E0089589E134
:1005D00091E008958FE091E008950895CF936091A0
:1005E000B2017091B3018091B4019091B5010E9464
:1005F0007F1BC82F56985E9825982D9826982E9880
:1006000027982F988FE090E090938900809388003E
:1006100090938B0080938A0090938D0080938C0040
:10062000CC2329F0C13029F4C093340102C01092C8
:10063000340180913401813011F4279A2F9A0E945D
:10064000750F867011F0259A2D9AC23041F40E94E0
:10065000081A811104C027982F98269A2E9AE091A3
:100660000E01F0910F018081982F927259F08D7DCB
:1006700049F48FEF90E09093890080938800259A49
:100680002D9A08C00E94351B827221F00E94DB194E
:10069000882379F3CF9108950C94EE0256985E98D2
:1006A00025982D9826982E9827982F988FEF90E0D0
:1006B000909389008093880090938B0080938A00A8
:1006C00090938D0080938C00259A2D9A2FEF80E7D0
:1006D00092E0215080409040E1F700C00000269A4F
:1006E0002E9A2FEF80E792E0215080409040E1F772
:1006F00000C00000279A2F9A2FEF80E792E0215048
:1007000080409040E1F700C0000025982D982FEF21
:1007100080E792E0215080409040E1F700C0000067
:1007200026982E982FEF80E792E02150804090404D
:10073000E1F700C0000027982F9856985E982598FA
:100740002D9826982E9827982F98089589EA8093B7
:10075000800089E08093810024982C983F988AB18A
:100760008F748AB96E98479A8BB1806B8BB9769AE1
:100770000E944E030C94ED0280E280930001809170
:10078000350181110EC00E940B0481E08093350178
:100790002FEF83ED90E3215080409040E1F700C0BF
:1007A000000080E40E9411048093000181112EC09A
:1007B0000E943B0480930001811128C00E943B04E9
:1007C00080930001811122C08FE30E943B0480933B
:1007D000000181111BC00E94330480E40E941104B7
:1007E00080930001811112C08CE00E943B04809331
:1007F000000181110BC00E943B0480930001811114
:1008000005C08FE30E943B04809300010E943304E3
:100810008091000108951092B9008AE08093B80099
:10082000089594EA9093BC009091BC0097FFFCCF90
:100830009091B900987F983021F0903111F081E0CB
:1008400008958093BB0084E88093BC008091BC0035
:1008500087FFFCCF8091B900887F883111F0803408
:1008600071F780E0089584E98093BC008091BC001A
:1008700084FDFCCF08958093BB0084E88093BC0086
:100880008091BC0087FFFCCF9091B900987F81E0F8
:10089000983209F480E0089584E88093BC00809148
:1008A000BC0087FFFCCF8091BB00089580910001C0
:1008B000811115C080E40E94110480930001811110
:1008C0000CC082E10E943B0480930001811105C0AD
:1008D0008FEF0E943B04809300010E94330484B197
:1008E000807F84B985B1807F85B98AB1837F8AB9D9
:1008F0008BB1837F8BB93E98469808950E94BC03C4
:10090000809300010E94560480B38C7080BB81B339
:10091000836F81BBA7E3B1E0E5E4F1E08EE08E0FE9
:1009200011921D928E13FCCF0C94A603BF92CF920E
:10093000DF92EF92FF920F931F93CF93DF938091FB
:100940000001882379F0809136018F5F8093360112
:10095000811108C00E94BC0380930001811102C074
:100960000E944E0307E311E0C0E0D0E0DD24D39401
:1009700082E0C82EEE24E394F12CC730D10500F5B7
:1009800080910001811164C080E40E941104809371
:100990000001811112C082E10E943B04809300019A
:1009A00081110BC0C7010C2E01C0880F0A94EAF711
:1009B00080950E943B04809300010E94330448C04C
:1009C000CA30A1F028F4C83059F0C93061F005C030
:1009D000CC3089F070F0CD3089F0209A289810C082
:1009E000219A29980DC0229A2A980AC0239A2B98F6
:1009F00007C0529A01C0539A5B9802C03E9A46982B
:100A000090EA9A95F1F79FB1799902C082E001C00E
:100A100080E091709D25982B7C9902C084E001C0F4
:100A200080E0892B7D9902C038E001C030E0832B43
:100A30007E9902C020E101C020E0822B9FB19095F9
:100A4000991F9927991F9295990F907E892B0FC016
:100A500080910001811149C080E40E9411048093BB
:100A60000001882379F1B12C0E9433048B2DF80109
:100A70009081981719F08083C09201010E9456045A
:100A800021960F5F1F4FCE30D10509F076CF8091B0
:100A90000101882361F1815080930101882339F09D
:100AA0008FE99FE00197F1F700C0000020C0A5E4A6
:100AB000B1E0E7E3F1E0CF01825F91919D938E1366
:100AC000FCCF15C083E10E943B048093000181119B
:100AD000CACF81E40E941104809300018111C3CF29
:100AE0000E944C04B82EB094BFCF80E0C0CF0E94CB
:100AF0004C0381E0DF91CF911F910F91FF90EF9018
:100B0000DF90CF90BF900895E82FF0E0EB5BFE4FB1
:100B1000808108950895089596E0799FF001112449
:100B200094E5899FE00DF11D1124E60FF11DEE0FF4
:100B3000FF1FEE5BFE4F859194910895880F991FDA
:100B4000FC01E654F040859194910895880F991F17
:100B5000FC01E65CFE4F8591949108950F931F93DD
:100B6000CF93DF93EC018115904350F5C11580E2DE
:100B7000D80708F0B3C0CB3BD10590F4C83AD105F3
:100B800008F05AC0C53AD10508F04BC0C430D105B1
:100B900008F0CCC1219709F0C6C101E010E006C2FF
:100BA000CF3FD10511F008F0C1C1C03FD10508F019
:100BB00092C0CE01805E9109089708F4B7C1B3C115
:100BC000C11591E5D907A8F4C23020E5D20708F095
:100BD0009EC0C11580E5D80709F485C008F091C012
:100BE000C11520E4D20708F09EC1DD278E01106CEC
:100BF000DDC1C11580E8D80758F4C11590E7D907C1
:100C000008F08DC1C11520E6D20708F422C18BC1BE
:100C1000C11580E9D80708F086C1DF708E01106A1F
:100C2000C5C1C53AD10509F483C1C63AD10509F059
:100C300082C102E810E4BAC1C83AD10509F47EC104
:100C4000C93AD10509F47DC1CA3AD10509F47CC17C
:100C5000CB3AD10509F47BC1CC3AD10509F47AC16C
:100C6000CD3AD10509F479C1C03BD10509F478C169
:100C7000CE3AD10509F477C1CF3AD10509F476C14E
:100C8000C13BD10509F475C1C23BD10509F474C15A
:100C9000C33BD10509F473C1C43BD10509F472C14A
:100CA000C53BD10509F471C1C63BD10509F470C13A
:100CB000C73BD10509F46FC1C83BD10509F46EC12A
:100CC000C93BD10509F46DC1CA3BD10509F46CC11A
:100CD00000E014E46BC18E01106568C1CE019F7005
:100CE0000E94A60564C10E948B149FEF24E38CE050
:100CF000915020408040E1F700C000000E94A11CFC
:100D000055C18091D40181608093D4014FC10E946C
:100D10004A1E811102C00E94301E0E94671E90E090
:100D20009093F3018093F201C23090E5D90721F44A
:100D30008091F201816086C0C43020E5D20721F4A1
:100D40008091F20182607EC0C63080E5D80721F430
:100D50008091F201846076C0C83090E5D90719F41B
:100D60008091F20127C0CA3020E5D20721F480919A
:100D7000F201806167C0CC3080E5D80721F4809112
:100D8000F20180625FC0CE3090E5D90721F48091F6
:100D9000F201806457C0C03120E5D20721F4809170
:100DA000F20180684FC0C23180E5D80729F48091F4
:100DB000F2018460886046C0C33090E5D90721F411
:100DC0008091F2018E7F3EC0C53020E5D20721F42C
:100DD0008091F2018D7F36C0C73080E5D80721F4BD
:100DE0008091F2018B7F2EC0C93090E5D90719F4AC
:100DF0008091F20126C0CB3020E5D20721F480910A
:100E0000F2018F7E1FC0CD3080E5D80721F480919C
:100E1000F2018F7D17C0CF3090E5D90721F4809182
:100E2000F2018F7B0FC0C13120E5D20721F4809100
:100E3000F2018F7707C0C331D04531F48091F201C0
:100E40008B7F877F8093F2018091F2010E946B1E5D
:100E5000ADC08D2F99278F70992781309105D9F4D6
:100E60009E012370332702C0880F991F2A95E2F74D
:100E70009C688E0144E0000F111F4A95E1F700279E
:100E80001370802B912B53E0CC0FDD1F5A95E1F7A7
:100E9000C076DD272FC08230910531F4DC2FCC27BE
:100EA0008E01016F106A82C08330910569F4CE0112
:100EB0008370992701E010E002C0000F111F8A958E
:100EC000E2F7C8019C680FC084309105B9F4CE01E7
:100ED0008370992701E010E002C0000F111F8A956E
:100EE000E2F7C8019A6823E0CC0FDD1F2A95E1F7ED
:100EF000C07ED7708C010C2B1D2B58C085309105FE
:100F000031F4DC2FCC278E01046F106A4FC0069796
:100F100009F04CC0CF71DD27DC2FCC2701C0DF707A
:100F20008E01106243C000E010E040C08E013EC060
:100F300001E810E43BC003E810E438C002EE14E41A
:100F400035C009EE14E432C00AEE14E42FC005EBFC
:100F500014E42CC006EB14E429C007EB14E426C00B
:100F60000CEC14E423C00DEC14E420C003E815E4F9
:100F70001DC00AE815E41AC002E915E417C004E927
:100F800015E414C001E216E411C003E216E40EC039
:100F900004E216E40BC005E216E408C006E216E41B
:100FA00005C007E216E402C00AE216E4C801DF91B8
:100FB000CF911F910F91089596E0799FF001112430
:100FC00094E5899FE00DF11D1124E60FF11DEE0F50
:100FD000FF1FEE5BFE4F85919491803E9105E0F4FA
:100FE000803C910558F58133910509F46FC048F4B0
:100FF0008932910509F463C08A32910509F46DC004
:1010000072C089339105E9F082389105D1F08533BA
:10101000910509F44DC067C0833E910581F138F414
:10102000803E9105B9F0823E9105D9F05CC0863EC4
:10103000910561F1873E9105A1F155C00E949E0581
:1010400008952091F20120FD02C021FF4CC080EEE6
:1010500090E049C08091F20180FFF9CF89E390E0F0
:1010600042C08091F20182FF0EC08091F20184FFA4
:1010700003C080E090E037C083EE90E034C0809100
:10108000F20182FFF2CF82EE90E02DC08091F2015A
:1010900083FF0BC08091F20184FDEBCF87EE90E0DF
:1010A00022C08091F20183FFF5CF86EE90E01BC055
:1010B0008091F20185FF07C089E290E014C0809121
:1010C000F20185FFF9CF85E390E00DC08091F20138
:1010D00086FF07C08AE290E006C08091F20186FF99
:1010E000F9CF81E390E00E94AE05089508950C9435
:1010F0007608809163010895CF93DF9300D01F920B
:10110000CDB7DEB79C018091E901843019F593E0F9
:1011100099833B832A839093E9008FEF9091E800B5
:10112000815095FD06C095ED9A95F1F7000081116B
:10113000F5CF8091E80085FF0DC040E050E063E00E
:1011400070E0CE0101960E94DD0A8091E8008E7762
:101150008093E8000F900F900F90DF91CF9108954A
:10116000CF93DF9300D01F92CDB7DEB72091E90176
:10117000243021F522E029839B838A8383E08093B6
:10118000E9008FEF9091E800815095FD06C095ED44
:101190009A95F1F700008111F5CF8091E80085FF65
:1011A0000DC040E050E063E070E0CE0101960E9487
:1011B000DD0A8091E8008E778093E8000F900F9011
:1011C0000F90DF91CF9108952091E9012430F1F43F
:1011D00022E02093E9002FEF3091E800215035FD07
:1011E00006C035ED3A95F1F700002111F5CF2091B9
:1011F000E80025FF0BC040E050E065E070E00E9491
:10120000DD0A8091E8008E778093E8000895CF93FF
:10121000DF93EC019091E901943009F046C0809190
:101220000C018823D9F080910D018823B9F09093A7
:10123000E9008FEF9091E800815095FD06C095E19F
:101240009A95F1F700008111F5CF8091E80085FFB4
:101250002CC040E050E060E170E017C081E0809376
:10126000E9008FEF9091E800815095FD06C095ED63
:101270009A95F1F700008111F5CF8091E80085FF84
:1012800014C040E050E068E070E0CE010E94DD0A4A
:101290008091E8008E778093E80080E1FE01A3E56D
:1012A000B1E001900D928A95E1F7DF91CF91089519
:1012B0008091E801811109C00E94720C0E94CF0C3C
:1012C0008091E20084608093E20008951092E8012A
:1012D0000895089508950C940E1C42E061EC81E09D
:1012E0000E94EC0B42E061EC82E00E94EC0B42E0D9
:1012F00061EC83E00E94EC0B42E161EC84E00C9431
:10130000EC0B8091EB01833009F455C030F481304F
:1013100071F0823009F48EC008958A3009F47AC0E1
:101320008B3009F460C0893009F09CC020C08091E6
:10133000EA01813A09F096C08091E800877F8093A6
:10134000E8008091EE019091EF01892B21F460E19A
:1013500083E591E003C060E080E090E070E00E94EF
:10136000280B8091E8008B778093E80008958091A6
:10137000EA01813209F076C08091EE019091EF018F
:10138000009719F0039709F06DC08091E800877FFE
:101390008093E8008091E80082FD05C08091E9011A
:1013A0008111F8CF5FC08091F1008093630180913B
:1013B000E8008B7753C08091EA01813A09F052C06E
:1013C0008091EE019091EF01892B09F04BC0809143
:1013D000E800877F8093E8008091E80080FFFCCFE1
:1013E00080910C0136C08091EA018132D9F580915B
:1013F000EE019091EF01892BA9F58091E800877F9C
:101400008093E8000E94210C8091EC0180930C01F4
:101410000C948B148091EA01813221F58091E800CF
:10142000877F8093E8000E94210C8091ED018093DA
:10143000640108958091EA01813AA1F48091E80065
:10144000877F8093E8008091E80080FFFCCF809147
:1014500064018093F1008091E8008E778093E8002A
:101460000C94210C089584B7877F84BF88E10FB660
:10147000F89480936000109260000FBE90E080E8C6
:101480000FB6F89480936100909361000FBE0E94A4
:10149000C40F0E94720C0E94CF0C8091E200846005
:1014A0008093E20078940E94550F0E94C60F82E05C
:1014B00091E00E94700F8091E901853069F40E94EB
:1014C000CF1B8091E7018823B1F30E94FA1B882388
:1014D00091F30E94C70AEFCF0E94CC0FECCF292FC7
:1014E000332723303105C9F064F42130310581F010
:1014F0002230310509F043C08DE690E02EE633E05E
:1015000042C021323105F1F02232310541F137C0BC
:1015100082E190E02BED33E036C0992781309105D0
:1015200041F08230910541F0892B49F5EAE6F3E07C
:1015300005C0E2E5F3E002C0EAE3F3E0849190E065
:101540009F0121C06430D8F4E62FF0E0EE0FFF1FBA
:10155000EE5DFE4F2081318189E090E014C064305F
:1015600070F470E0FB01EE0FFF1FE65EFE4F20817E
:101570003181FB01EA5EFE4F808190E004C080E093
:1015800090E020E030E0FA0131832083089580E18B
:1015900089BD82E189BD09B400FEFDCF8091D800EC
:1015A0008F7D8093D8008091E00082608093E0007E
:1015B0008091E00081FDFCCF0895CF92DF92EF9201
:1015C000FF920F931F93CF93DF93EC018B016A017E
:1015D0000E94400C811133C0C114D10439F0F601CE
:1015E00080819181081B190BC80FD91FE12CF12CA8
:1015F0000115110519F18091E80085FD16C0809153
:10160000E8008E778093E800C114D10449F0F60118
:1016100080819181E80EF91EF182E08285E00FC0A1
:101620000E94400C882321F30AC089918093F10025
:1016300001501109FFEFEF1AFF0ADACF80E0DF91C6
:10164000CF911F910F91FF90EF90DF90CF90089571
:101650002091F0013091F1012617370748F061150C
:10166000710539F42091E8002E772093E80001C03D
:10167000B90140E061157105A9F12091E90122232A
:1016800009F443C0253009F442C02091E80023FD4D
:1016900040C02091E80022FD32C02091E80020FFE8
:1016A000E9CF4091F3002091F20030E0342BFC01AF
:1016B000CF016115710559F02830310540F4819151
:1016C0008093F100615071092F5F3F4FF1CF41E0EE
:1016D0002830310509F040E02091E8002E77209372
:1016E000E800C8CF4111C9CF0AC08091E901882321
:1016F00061F0853061F08091E80083FD0AC080913F
:10170000E80082FFF2CF80E0089582E0089583E050
:10171000089581E008952091F0013091F10126179C
:10172000370748F06115710539F42091E8002E77EC
:101730002093E80001C0B901FC0120E061157105AA
:1017400091F18091E901882309F440C0853009F4C2
:101750003FC08091E80083FD3DC08091E80082FD9C
:101760002FC08091E80080FFE9CF2091F3008091A5
:10177000F20090E0922B6115710559F088309105C7
:1017800040F424912093F100319661507109019643
:10179000F2CF21E0089709F020E08091E8008E77F1
:1017A0008093E800CBCF2111CCCF0AC08091E90112
:1017B000882361F0853061F08091E80083FD0AC0E4
:1017C0008091E80082FFF2CF80E0089582E00895E2
:1017D00083E0089581E00895982F973058F590930D
:1017E000E900981739F07091EC002091ED005091CC
:1017F000F00003C0242F762F50E021FF19C0309154
:10180000EB003E7F3093EB003091ED003D7F309355
:10181000ED003091EB0031603093EB007093EC0001
:101820002093ED005093F0002091EE0027FF07C0B9
:101830009F5FD3CF8F708093E90081E0089580E0AF
:1018400008958091EA0187FF11C08091E80082FD30
:1018500005C08091E9018111F8CF11C08091E800A5
:101860008B770BC08091E901882349F08091E800D3
:1018700080FFF8CF8091E8008E778093E80008958C
:101880002091E4003091E50095E64091EC00842F32
:10189000817040FF22C08091E80080FD1CC08091D3
:1018A000E901882391F0853091F08091EB0085FD6E
:1018B00010C04091E4005091E5004217530729F30E
:1018C0009A01915011F784E0089582E0089583E031
:1018D000089581E0089580E008954091E80042FF76
:1018E000DECF08950E94E00C0E94E80CE0EEF0E0EC
:1018F000808181608083E8EDF0E080818F77808354
:1019000019BCA7EDB0E08C918E7F8C9380818F7E87
:1019100080831092E80108950F931F93CF93DF9374
:101920000E94E00C0E94E80CC8EDD0E088818F771F
:10193000888388818068888388818F7D888319BCAB
:101940001092E9011092E5011092E7011092E60170
:1019500000EE10E0F80180818B7F808388818160B8
:10196000888342E060E080E00E94EC0BE1EEF0E072
:1019700080818E7F8083E2EEF0E0808181608083D1
:10198000808188608083F80180818E7F8083888158
:1019900080618883DF91CF911F910F910895E8EDC9
:1019A000F0E080818F7E8083E7EDF0E080818160D0
:1019B000808384E082BF81E08093E8010C948C0CEA
:1019C000E8EDF0E080818E7F80831092E200089540
:1019D0001092DA001092E10008951F920F920FB654
:1019E0000F9211242F933F934F935F936F937F93A5
:1019F0008F939F93AF93BF93EF93FF938091E100F9
:101A000082FF0BC08091E20082FF07C08091E1005D
:101A10008B7F8093E1000E94540F8091DA0080FF59
:101A20001FC08091D80080FF1BC08091DA008E7F9C
:101A30008093DA008091D90080FF0DC080E189BDDC
:101A400082E189BD09B400FEFDCF81E08093E90108
:101A50000E94580905C019BC1092E9010E9466094C
:101A60008091E10080FF19C08091E20080FF15C0E5
:101A70008091E2008E7F8093E2008091E20080619D
:101A80008093E2008091D80080628093D80019BCD6
:101A900085E08093E9010E946A098091E10084FF5A
:101AA00030C08091E20084FF2CC080E189BD82E1DA
:101AB00089BD09B400FEFDCF8091D8008F7D809351
:101AC000D8008091E1008F7E8093E1008091E20058
:101AD0008F7E8093E2008091E20081608093E2003B
:101AE0008091E501882311F084E007C08091E30034
:101AF00087FD02C081E001C083E08093E9010E947C
:101B00006B098091E10083FF29C08091E20083FF8F
:101B100025C08091E100877F8093E10082E080937F
:101B2000E9011092E5018091E1008E7F8093E10050
:101B30008091E2008E7F8093E2008091E2008061DC
:101B40008093E20042E060E080E00E94EC0B809134
:101B5000F00088608093F0000E946909FF91EF9186
:101B6000BF91AF919F918F917F916F915F914F91B5
:101B70003F912F910F900FBE0F901F9018951F92BD
:101B80000F920FB60F9211242F933F934F935F93B1
:101B90006F937F938F939F93AF93BF93CF93DF9375
:101BA000EF93FF93C091E900CF708091EC00D82FA4
:101BB000D17080FDD0E81092E9008091F000877F1D
:101BC0008093F00078940E94030E1092E9008091B7
:101BD000F00088608093F000CD2BCF70C093E900B7
:101BE000FF91EF91DF91CF91BF91AF919F918F9135
:101BF0007F916F915F914F913F912F910F900FBE09
:101C00000F901F9018951F93CF93DF93CDB7DEB73A
:101C1000AA970FB6F894DEBF0FBECDBFEAEEF1E093
:101C200088E08E0F9091F10091938E13FBCF0E946C
:101C300081098091E80083FF1FC18091EA019091A2
:101C4000EB01492F50E04A30510508F015C1FA0167
:101C5000EA5AFF4F0C94F623803881F0823809F05D
:101C60000BC18091EE018F708093E9008091EB00B1
:101C700085FB882780F91092E90006C08091E60173
:101C80009091E701911182609091E800977F909385
:101C9000E8008093F1001092F100C8C0282F2D7F3A
:101CA00009F0EAC0882319F0823061F0E5C0809124
:101CB000EC01813009F0E0C0933009F080E08093BE
:101CC000E7012BC08091EC01811127C08091EE01CA
:101CD0008F7009F4D1C08093E9002091EB0020FFC0
:101CE0001CC0933021F48091EB00806214C090916D
:101CF000EB0090619093EB0021E030E0A90102C07D
:101D0000440F551F8A95E2F74093EA001092EA00CB
:101D10008091EB0088608093EB001092E900809145
:101D2000E800877F86C08111A7C01091EC011F7762
:101D30008091E3008078812B8093E3008091E8001C
:101D4000877F8093E8000E94210C8091E80080FF4B
:101D5000FCCF8091E30080688093E300111102C002
:101D600082E001C083E08093E90186C08058823020
:101D700008F082C08091EC019091ED018C3D53E020
:101D8000950779F583E08A838AE289834FB7F894CF
:101D9000DE01139620E03EE051E2E32FF0E05093A5
:101DA0005700E49120FF03C0E295EF703F5FEF70B2
:101DB0008E2F90E0EA3010F0C79601C0C0968D9348
:101DC0009D932F5F243149F74FBF8091E800877FB3
:101DD0008093E8006AE270E0CE0101960E94280B31
:101DE00014C0AE014F5F5F4F6091EE010E946F0A19
:101DF000BC01892B09F440C09091E800977F909333
:101E0000E80089819A810E948B0B8091E8008B7792
:101E10008093E80031C0803879F58091E800877FB1
:101E20008093E8008091E5018093F1008091E800C3
:101E30008E778093E8000E94210C1EC081111CC087
:101E40009091EC019230C0F48091E800877F8093FC
:101E5000E8009093E5010E94210C8091E501811139
:101E600006C08091E30087FD02C081E001C084E0EC
:101E70008093E9010E946D098091E80083FF0AC008
:101E80008091E800877F8093E8008091EB0080627A
:101E90008093EB00AA960FB6F894DEBF0FBECDBFBD
:101EA000DF91CF911F9108950895CF938091E9011B
:101EB0008823A1F0C091E900CF709091EC00892FA8
:101EC000817090FD80E8C82B1092E9008091E800B5
:101ED00083FD0E94030ECF70C093E900CF91089557
:101EE00090936A01809369010895E0916901F091EE
:101EF0006A01309721F00190F081E02D099480E093
:101F00000895E0916901F0916A01309721F0028013
:101F1000F381E02D09940895E0916901F0916A013F
:101F2000309721F00480F581E02D099408952091E7
:101F30006701309168018217930771F090936801EF
:101F400080936701E0916901F0916A01309721F077
:101F50000680F781E02D0994089520916501309164
:101F600066018217930771F0909366018093650173
:101F7000E0916901F0916A01309721F00084F185C8
:101F8000E02D0994089508950C94C30F0E943D1C00
:101F90000E947E040C94031DCF92DF92EF92FF9279
:101FA0000F931F93CF93DF93CDB7DEB72B970FB669
:101FB000F894DEBF0FBECDBF0E9496048CE6C82EFB
:101FC00081E0D82E00E010E0E02E802F0E948405F2
:101FD000F60141916F01F42EF826B1F40F5F1F4F07
:101FE0000E30110589F78FEF89838A831B820E9447
:101FF000461C8160782F9D838C8349815A816B8137
:102000008D810E946F1040C09091D40191FF04C057
:102010008B870E948A058B8520E030E04F2D50E0B1
:10202000922FBA01022E02C0759567950A94E2F7C5
:1020300060FF24C02E83EF8221E030E0690102C0FE
:10204000CC0CDD1C9A95E2F790E08C219D21892B28
:1020500009F420E028870E94461C8160782F9A8727
:1020600089874E815F8168858A850E946F10F8019B
:10207000E459FE4F8081C826C08206C02F5F3F4FC3
:102080002630310569F6AACF0E94EA1F10916B0134
:102090000E94750F1817A1F00E94750F80936B01B5
:1020A0002B960FB6F894DEBF0FBECDBFDF91CF9158
:1020B0001F910F91FF90EF90DF90CF900C947708D5
:1020C0002B960FB6F894DEBF0FBECDBFDF91CF9138
:1020D0001F910F91FF90EF90DF90CF900895CF93D5
:1020E000DF93CDB7DEB72B970FB6F894DEBF0FBEE8
:1020F000CDBF4F83588769877A878B87DE0111961A
:1021000086E0FD0111928A95E9F785E0FE01379698
:1021100001900D928A95E1F749815A816B817C810A
:102120008D819E810E9429172B960FB6F894DEBFF1
:102130000FBECDBFDF91CF9108950895CF9388232F
:1021400009F4C2C0C82F823859F40E94750F81FD6E
:10215000BBC089E30E946C1A0E94491B89E30CC032
:10216000833879F40E94750F80FDAEC083E50E942C
:102170006C1A0E94491B83E50E94AE1ACF910C9401
:10218000491B843859F40E94750F82FD9DC087E475
:102190000E946C1A0E94491B87E4EECF8CEF8C0FD3
:1021A000813A48F48C2F0E94252281118DC08C2FFA
:1021B0000E946C1AE3CF80E28C0F883048F4C7701D
:1021C00081E001C0880FCA95EAF70E94F51AD6CFC0
:1021D0008BE58C0F833078F4C53A29F0C63A31F09C
:1021E00083E890E005C081E890E002C082E890E0DA
:1021F000CF910C94970F88E58C0F833108F064C061
:10220000C83A39F1C93A41F1CA3A49F1CB3A51F1E8
:10221000CC3A59F1CD3A61F1C03B69F1CE3A71F156
:10222000CF3A79F1C13B81F1C23B89F1C33B91F1D6
:10223000C43B99F1C53BA1F1C63BA9F1C73BB1F144
:10224000C83BB9F1C93BC1F1CA3BC9F180E090E09C
:1022500038C082EE90E035C089EE90E032C08AEE60
:1022600090E02FC085EB90E02CC086EB90E029C079
:1022700087EB90E026C08CEC90E023C08DEC90E0E2
:1022800020C083E891E01DC08AE891E01AC082E98D
:1022900091E017C084E991E014C081E292E011C09E
:1022A00083E292E00EC084E292E00BC085E292E00D
:1022B00008C086E292E005C087E292E002C08AE2AE
:1022C00092E0CF910C94AD0FCF910895882309F43B
:1022D0004BC0823859F40E94750F81FF45C089E3D5
:1022E0000E946C1A0E94491B89E30CC0833871F468
:1022F0000E94750F80FF38C083E50E946C1A0E940F
:10230000491B83E50E94AE1A0C94491B843859F48A
:102310000E94750F82FF28C087E40E946C1A0E94F9
:10232000491B87E4EFCF9CEF980F913A58F390E266
:10233000980F983050F4877091E001C0990F8A95FA
:10234000EAF7892F0E94FB1ADFCF9BE5980F9330A5
:1023500020F480E090E00C94970F885A833120F4A9
:1023600080E090E00C94AD0F0895882321F00E9446
:10237000F51A0C94491B0895882321F00E94FB1A3A
:102380000C94491B08952F923F924F925F927F9237
:102390008F929F92AF92BF92CF92DF92EF92FF9275
:1023A0000F931F93CF93DF9300D000D01F92CDB730
:1023B000DEB725E0FC01DE01119601900D922A9511
:1023C000E1F7FC0100811181F280E580E2943FE0B9
:1023D000E32223813481232B09F472C21F3F19F4B5
:1023E0000F3F09F46DC26C010E94081A882319F08E
:1023F00082E00E944A1AC6010E949D1009831A8336
:1024000069817A818F2D0E94CE198C010E948319D7
:102410000E944A18F1100E94121B0E94651A88231C
:1024200079F0FF2069F080E2800F883048F082E088
:102430000E944A1A0E94651A91E0782E792601C0FE
:10244000712CE12FE295EF70F0E0E05AFF4F0C9411
:10245000F623812F807F1F70882311F01295107F43
:10246000FF2089F0112309F4E8C180E2800F883051
:1024700020F4812F0E94F51A03C0812F0E94051BB2
:102480000E94491BDAC1802F0E946611112309F4B2
:10249000EEC1005E812F083018F40E94FB1A02C0C2
:1024A0000E940B1B0E94491BE2C1812F807F1F707D
:1024B000803211F01295107F002319F0013049F19C
:1024C00032C0FF2091F0EE2091F1F1E0EF1204C054
:1024D000812F0E94251BCBC122E0E21228C00E945E
:1024E0002E1B812F0E94D51922C0EE2079F031E0F9
:1024F000E31208C00E94F21A812309F4B8C10E94B5
:10250000D81904C042E0E41609F4B1C10E942E1BA0
:1025100012C0FF2029F051E05E1508F4A8C107C0E1
:10252000E110A5C108C0FF2021F0E11086C1812F74
:10253000F7C0E11089C1812FF9C0812F869586955A
:10254000837090E0009719F0019759F090C1FF2037
:1025500019F0C801937002C080E090E00E94970FCC
:1025600086C1FF2019F0C801937002C080E090E09E
:102570000E94AD0F7CC1802FFF2019F00E94F21E37
:1025800002C00E945A1F0E94DF1F71C1812F8370F9
:1025900009F055C0F1106BC1802F82958695877028
:1025A000880F880F902F9F70492F50E060E070E0F7
:1025B0001A012B01082E04C0220C331C441C551C8C
:1025C0000A94D2F704FF15C02FE0822E912CA12C83
:1025D000B12CA501940104C0220F331F441F551FC5
:1025E0008A95D2F7CA01B90160957095809590954A
:1025F00003C060E070E0CB01169516951370412F73
:1026000050E04230510569F04330510589F06229AC
:102610007329842995294130510571F00E94711860
:1026200026C162297329842995290E948D181FC10A
:102630000E947118C201B1010E94551818C1FF20F3
:1026400019F0812F817001C08695882309F40FC18C
:10265000802F829586958770880F880F902F9F70A6
:10266000492F50E060E070E01A012B01082E04C0F1
:10267000220C331C441C551C0A94D2F704FF15C0CD
:102680009FE0892E912CA12CB12CA501940104C0AE
:10269000220F331F441F551F8A95D2F7CA01B90173
:1026A000609570958095909503C060E070E0CB01D7
:1026B000169516951370412F50E04230510569F080
:1026C0004330510589F062297329842995294130C5
:1026D000510571F00E944B19CAC0622973298429DF
:1026E00095290E946719C3C00E944B19C201B1010C
:1026F0000E942F19BCC0802F90E0FC01E05EF10920
:10270000E531F10508F094C0E059FF4F0C94F62331
:102710000F70812F8F71FF2031F00E94C818802F19
:102720000E94B511A4C00E94E918802F0E94BC111C
:102730009EC0FF2039F0E1109AC0812F8F710E9456
:102740000E1995C031E03E1508F491C0F6CFFF2078
:1027500039F0812F8F710E94C81889C0FF20C9F3FA
:10276000812F8F710E94E91882C0FF2029F0812FEC
:102770008F710E94B3187BC00E94A91878C0FF20F7
:10278000C1F00E94D2190E94FB1A0E94041A8430E0
:1027900029F40E94431A812F8F717AC041E04E15AF
:1027A00008F48EC01F71812F0E94C81863E0812F2A
:1027B0000EC00E94D2190E94F51A51E05E15F8F47D
:1027C0000E94431A0E94D81964E0812F8F710F90E4
:1027D0000F900F900F900F90DF91CF911F910F915D
:1027E000FF90EF90DF90CF90BF90AF909F908F9031
:1027F0007F905F904F903F902F900C94331A81E020
:102800000F900F900F900F900F90DF91CF911F912D
:102810000F91FF90EF90DF90CF90BF90AF909F907F
:102820008F907F905F904F903F902F900C944A1A1A
:10283000FF2039F0EE2009F48CCF802F0E949E10EB
:1028400016C0EE2009F48CCF802F0E9466110FC0B5
:10285000412F4F70602FC6010E94BA020E94CD170F
:1028600006C0412F4F70602FC6010E948B05772054
:1028700039F10E94041A80FD23C0F60112820E94E1
:10288000FE190E94C818C6010E94C3110E94FE19B9
:102890000F900F900F900F900F90DF91CF911F919D
:1028A0000F91FF90EF90DF90CF90BF90AF909F90EF
:1028B0008F907F905F904F903F902F900C94E918ED
:1028C0000F900F900F900F900F90DF91CF911F916D
:1028D0000F91FF90EF90DF90CF90BF90AF909F90BF
:1028E0008F907F905F904F903F902F9008950E941F
:1028F000121B0E94221B0E94E41A0E94491B0E9484
:1029000090200E94DF1F80E090E00E94970F80E0FF
:1029100090E00C94AD0F0E94021B0C9477140E945F
:10292000C319292F22952F7030E02C3031054CF43B
:102930002A3031056CF42250310922303105A8F4D7
:1029400007C02C30310569F02F30310551F00DC032
:10295000803F69F018F4803E40F409C0843F29F4B8
:1029600006C093FB882780F9089580E0089581E0F0
:102970000895CF93DF9300D000D01F92CDB7DEB77C
:102980000F900F900F900F900F90DF91CF910895BF
:10299000CF93DF9300D000D000D0CDB7DEB726961E
:1029A0000FB6F894DEBF0FBECDBFDF91CF91089573
:1029B0001F93CF93DF93C0917A0116E080917B0142
:1029C000C81799F0D0E01C9FF0011D9FF00D112455
:1029D000E458FE4F408151816281738184819581E9
:1029E0000E94C8142196C770E9CFDF91CF911F9143
:1029F00008954091AC015091AD016091AE0170918C
:102A0000AF018091B0019091B1010C94C8148091F4
:102A1000B10182958F7009F054C08091AE01882376
:102A200009F44FC080917A01A0917B016091AC01C3
:102A30007091AD014091AF015091B001B6E08A179D
:102A400009F43FC090E041155105C1F17F3F11F4F9
:102A50006F3FA1F1B89FF001B99FF00D1124E45828
:102A6000FE4F218172132AC02081621327C0228168
:102A7000211124C0238134812417350710F42150FB
:102A80003109241B350B283C3105C0F42091B101DC
:102A90002F7020612093B10126E0289FF001299F2B
:102AA000F00D1124EF57FE4F80818F70806180837D
:102AB0008CEA91E00E94C3110C94D814019687709F
:102AC000BECF0895CF92DF92EF92FF920F931F93A4
:102AD000CF93DF93CDB7DEB762970FB6F894DEBF22
:102AE0000FBECDBF8C0185E0F801DE011D9601907F
:102AF0000D928A95E1F7D8014C9111965C9111974E
:102B000012966C9112971396CD90DC901497309199
:102B1000AC017091AD018091AF019091B00100972F
:102B200009F46BC17F3F19F43F3F09F466C1E0909F
:102B3000AE01EE2009F4C0C02091B101C816D9063B
:102B400028F0F601E81BF90BCF0104C080959095A1
:102B50008C0D9D1DFF24F394883C910578F0F12C99
:102B6000207F09F0C6C07C2DD98AC88A89890E9435
:102B7000B9148CEA91E00E94C311B1C0822F807F0A
:102B800009F046C0751314C0341312C0611110C08F
:102B90002F7020612093B1010E94F9148CEA91E01A
:102BA0000E94C3118091B101D80115968C932EC05B
:102BB000CD2819F15F3F11F44F3FF9F0F62E611166
:102BC0001CC080917A0120917B0136E0821709F4C4
:102BD0005AC090E0389FF001399FF00D1124E4585D
:102BE000FE4F7181571306C07081471303C0728175
:102BF000711103C001968770E9CFF62E662309F4A0
:102C000018C18091B10181608093B101F12C11C193
:102C1000751308C0341306C0611104C08091B1015E
:102C2000D801C3C04D875E878D859E856A8B0E94C3
:102C30008F146A898823E1F16623D1F12091B101D3
:102C4000822F82958F7090E0029774F08091AC0192
:102C50009091AD0198878F831986DB86CA862C8771
:102C6000CE0107960E94C31186E0F801ACEAB1E0FC
:102C700001900D928A95E1F70E9407150E94F914C0
:102C8000FF24F394D6C04D875E878D859E850E9474
:102C9000C319292F22952F7030E0223031050CF016
:102CA000BCC09F7009F0B6C0805E883008F4C1C017
:102CB000C8010E94C311E4CFC816D90608F453C056
:102CC000F601E81BF90BCF01883C910508F450C0D0
:102CD000F12C7C2DD98AC88A89890E94B914ECEA22
:102CE000F1E086E0DF011D928A95E9F70E94F91470
:102CF000A0C0751314C0341312C0611110C08091AC
:102D0000B101F8018583C8010E94C31186E0ECEA95
:102D1000F1E0DF011D928A95E9F7FE2C8AC04D870C
:102D20005E878D859E856A8B0E948F146A898823B1
:102D300009F4BECF662309F4BBCF2091B101822FE5
:102D400082958F7090E002970CF48ECF8091AC0149
:102D50009091AD019A8389831B82DD82CC822E8380
:102D6000CE0101967FCF809590958C0D9D1DACCFA7
:102D7000F62E662309F49CCF75132EC034132CC095
:102D80002091B10120FD1FC0822F82958F70D9F054
:102D9000D80115962C9315978F3049F08F5F982F97
:102DA0009295907F822F8F70892B15968C93C801F6
:102DB0000E94C31186E0F801ACEAB1E001900D92E7
:102DC0008A95E1F793CF86E0F801ACEAB1E0019093
:102DD0000D928A95E1F72DC04D875E878D859E8582
:102DE0000E948F14811140CF8091B1018160809346
:102DF000B101C8010E94C3111CC0662309F458CF59
:102E00004D875E878D859E850E948F14882309F4E7
:102E10004FCF2ACF811148CF0CC0243031050CF0A0
:102E200047CF9F7009F440CFF8019581907F09F05A
:102E30003BCF8F2D62960FB6F894DEBF0FBECDBF8D
:102E4000DF91CF911F910F91FF90EF90DF90CF9086
:102E500008951F93CF93DF93CDB7DEB72C970FB6AE
:102E6000F894DEBF0FBECDBF4F83588769877A873E
:102E70008B879C87CE0107960E946215882369F094
:102E80008F8198852A853B85232BF1F19F3F09F09F
:102E900063C08F3F09F060C037C086E0FE013796FF
:102EA000DE01119601900D928A95E1F76F81788588
:102EB000EA85FB85309741F17F3F11F46F3F21F1A7
:102EC00020917B0130E0C9010196877099274091DC
:102ED0007A0150E08417950709F447C069837A8323
:102EE000FD83EC8396E0929FD001939FB00D112457
:102EF000A458BE4FFE01319601900D929A95E1F7CC
:102F000080937B010E94D81416E080917A01909101
:102F10007B018917C1F1189FC001112484589E4F6D
:102F20000E946215882379F1E0917A011E9FF001D9
:102F30001124E458FE4F4081518162817381848164
:102F400095810E94C81480917A0190E00196877063
:102F5000992780937A01D9CF4F81588569857A85E1
:102F60008B859C850E94C814CFCF0E948B14109231
:102F70007B0110927A01ECEAF1E086E0DF011D921C
:102F80008A95E9F7C1CF2C960FB6F894DEBF0FBE35
:102F9000CDBFDF91CF911F910895EF92FF920F93D4
:102FA0001F93CF93DF938C01892B09F46CC0F12C14
:102FB000EE24E394E8012196F8018491843740F4EB
:102FC000843008F051C0813081F0823019F15BC04B
:102FD000853709F444C0A8F19CE7980F903708F0B2
:102FE00052C08F770E94661141C00E5F1F4FFE01D5
:102FF000C49180E28C0F883048F4C7708E2D01C0D8
:10300000880FCA95EAF70E94151B14C08C2F0E94E6
:103010009E102DC00E5F1F4FFE01C49180E28C0FE9
:10302000883058F4C7708E2D01C0880FCA95EAF712
:103030000E941B1B0E94491B1AC08C2F0E94661104
:1030400016C00E5F1F4FFE01C491CC2381F08FE9A3
:103050009FE00197F1F700C00000C150F6CF0E5F6E
:103060001F4FFE01F49003C00E949E108E018F2D11
:10307000882309F49FCFEFE9FFE03197F1F700C013
:1030800000008150F5CFDF91CF911F910F91FF90FC
:10309000EF90089508956093B6017093B7018093FF
:1030A000B8019093B9010C9477140F931F9300917A
:1030B000B6011091B7012091B8013091B901DC013E
:1030C000CB01802B912BA22BB32B8093B601909335
:1030D000B701A093B801B093B9011F910F910C945F
:1030E00077140F931F930091B6011091B7012091AF
:1030F000B8013091B901DC01CB0180239123A223D7
:10310000B3238093B6019093B701A093B801B09315
:10311000B9011F910F910C9477140F931F93009195
:10312000B6011091B7012091B8013091B901DC01CD
:10313000CB0180279127A227B3278093B6019093D4
:10314000B701A093B801B093B9011F910F910C94EE
:1031500077141092B2011092B3011092B401109240
:10316000B5010C94771441E050E060E070E004C0D9
:10317000440F551F661F771F8A95D2F74093B201FF
:103180005093B3016093B4017093B5010C9477141C
:1031900041E050E060E070E004C0440F551F661F3E
:1031A000771F8A95D2F78091B2019091B301A091D7
:1031B000B401B091B501482B592B6A2B7B2B40935E
:1031C000B2015093B3016093B4017093B5010C94B4
:1031D000771441E050E060E070E004C0440F551FF8
:1031E000661F771F8A95D2F7409550956095709528
:1031F0008091B2019091B301A091B401B091B50159
:10320000482359236A237B234093B2015093B3018F
:103210006093B4017093B5010C94771441E050E0D1
:1032200060E070E004C0440F551F661F771F8A9549
:10323000D2F78091B2019091B301A091B401B09105
:10324000B501482759276A277B274093B20150933D
:10325000B3016093B4017093B5010C9477140F938C
:103260001F930091B2011091B3012091B4013091EC
:10327000B501DC01CB01802B912BA22BB32B8093CA
:10328000B2019093B301A093B401B093B5011F9123
:103290000F910C9477140F931F930091B20110912A
:1032A000B3012091B4013091B501DC01CB01802341
:1032B0009123A223B3238093B2019093B301A093EF
:1032C000B401B093B5011F910F910C9477140F9333
:1032D0001F930091B2011091B3012091B40130917C
:1032E000B501DC01CB0180279127A227B32780936A
:1032F000B2019093B301A093B401B093B5011F91B3
:103300000F910C9477140895CF92DF92EF92FF9271
:103310000F931F93CF93DF938C01C090B601D09091
:10332000B701E090B801F090B9018091B20190919D
:10333000B301A091B401B091B501C82AD92AEA2AF3
:10334000FB2ACFE1D0E0D701C6010C2E04C0B69510
:10335000A795979587950A94D2F780FF06C0B80184
:103360008C2F0E94DC07019721F4219760F780E001
:1033700001C08C2FDF91CF911F910F91FF90EF90A3
:10338000DF90CF900895CF93DF93EC010E948419D2
:10339000BE010E94DC07DF91CF910895CB010E940E
:1033A000C31908958091BF0108958093BF010895C6
:1033B0001092BF0108950E94461C2091BD013091DA
:1033C000BE018217930750F00E94461C2091BD0158
:1033D0003091BE01821B930B9C010AC00E94461CC7
:1033E0002091BD013091BE0120953095280F391FE5
:1033F00081E0283B3B4008F480E008958091BC01C7
:1034000085958595859508958091BC01877008956F
:103410000E94461C2091BA013091BB01821793078C
:10342000A8F00E94461C2091BA013091BB01821B7A
:10343000930B883B9B4010F480E013C08091BC014B
:1034400082FB882780F991E089270BC00E94461CE7
:103450002091BA013091BB0120953095820F931FC6
:10346000E8CF8170089598E0899F90011124262B60
:103470002093BC010E94C8180E94461C9093BB0177
:103480008093BA0108951092BC011092BB01109272
:10349000BA0108952091BC01809582238093BC01DC
:1034A000982F977089F430E0482F552747FD5095A5
:1034B0002417350749F08595859585950E94E9186B
:1034C0001092BB011092BA0108959091BC019770BF
:1034D00081E009F480E0089590910C01992321F096
:1034E00090910D01911109C020910E0130910F01B1
:1034F000F90132969FEF40E01FC0982F9695969560
:1035000096959F3050F5E0910E01F0910F01E90F73
:10351000F11D877021E030E0A90102C0440F551F62
:103520008A95E2F7CA019181892B818308959F3F93
:1035300039F04F5F4E3041F051915813F8CF0DC024
:103540005111F7CF942FF5CF9F3F39F0F901E90FD3
:10355000F11D97FDFA9582830895089590910C01CD
:10356000992321F090910D01911109C020910E0134
:1035700030910F01F9013296205F3F4F1FC0982F05
:103580009695969596959F30F0F4E0910E01F09106
:103590000F01E90FF11D877021E030E0A90102C0A1
:1035A000440F551F8A95E2F7CA01809591818923BE
:1035B000818308953196E217F30729F090819813DB
:1035C000F9CF1082F7CF089581E090E0E0910E01ED
:1035D000F0910F01E80FF91F1082019680319105DB
:1035E000A9F708958091D30108959091D301892B73
:1035F0008093D301089580959091D301892380937E
:10360000D30108951092D30108959091D201892B8E
:103610008093D201089580959091D201892380935F
:10362000D20108951092D20108959091D101892B71
:103630008093D101089580959091D1018923809341
:10364000D10108951092D10108958093C0010E9484
:10365000461C9093BE018093BD0108951092C00155
:103660001092BE011092BD0108958091C00108958D
:1036700080910E0190910F01FC0131969C01205F19
:103680003F4F80E0919191118F5FE217F307D1F7DF
:103690000895E0910E01F0910F018091D301808394
:1036A000E0910E01F0910F0190818091D201892B60
:1036B0008083E0910E01F0910F0190818091D10102
:1036C000892B80838091C001882399F00E94DB19A7
:1036D00081110E942E1BE0910E01F0910F0190814B
:1036E0008091C001892B80830E94381B81110E9428
:1036F0002E1B80910E0190910F010C94810FCF929F
:10370000DF92EF92FF926C01EE24FF24C114D104EA
:10371000E104F10421F0C701B60120E101C020E07D
:10372000C72ED82EE92EFF24C114D104E104F104E0
:1037300019F0285FC701B6016B017C0154E0F694D3
:10374000E794D794C7945A95D1F7C114D104E104F2
:10375000F10419F02C5FC701B6016B017C0142E056
:10376000F694E794D794C7944A95D1F7C114D1043D
:10377000E104F10419F02E5FC701B601DC01CB01B1
:10378000B695A79597958795892B8A2B8B2B09F052
:103790002F5F822FFF90EF90DF90CF900895809160
:1037A000E901843021F11092D50120E488E190E014
:1037B0000FB6F894A895809360000FBE2093600028
:1037C00080E00E94770883B7817F846083BF83B7DE
:1037D000816083BF7894889583B78E7F83BF88E1AB
:1037E0000FB6F89480936000109260000FBE0895A9
:1037F00008950895CF930E94F81B0E9496040E949A
:10380000F91BC0E08C2F0E948405811104C0CF5F9A
:10381000CE30C1F701C081E0CF9108950E948B1492
:103820000E94750F0C9477081F920F920FB60F929B
:1038300011248F939F93AF93BF938091D5018111F2
:1038400013C08091D6019091D701A091D801B09179
:10385000D9014196A11DB11D8093D6019093D70146
:10386000A093D801B093D901BF91AF919F918F914F
:103870000F900FBE0F901F90189582E084BD93E0CB
:1038800095BD9AEF97BD80936E0008952FB7F89479
:103890008091D6019091D701A091D801B091D90122
:1038A0002FBF0895CF92DF92EF92FF920F931F9355
:1038B0002FB7F8944091D6015091D7016091D8016B
:1038C0007091D9012FBF6A017B01EE24FF248C0186
:1038D00020E030E0C016D106E206F30610F44150B5
:1038E00051099A01281B390BC9011F910F91FF90B3
:1038F000EF90DF90CF9008951F920F920FB60F9226
:1039000011248F939F93AF93BF938091D601909191
:10391000D701A091D801B091D9010196A11DB11D87
:103920008093D6019093D701A093D801B093D90189
:10393000BF91AF919F918F910F900FBE0F901F90ED
:1039400018950E94720CF8942FEF87EA91E62150A7
:1039500080409040E1F700C0000087E090EBDC0180
:103960008093F3019093F401A093F501B093F601D5
:103970009CE088E10FB6F894A895809360000FBE94
:1039800090936000FFCFEF92FF920F931F93CF931E
:10399000DF93D82FC0E08C2F0E94840500E010E058
:1039A000E82EF12CC701002E02C0959587950A9448
:1039B000E2F780FD06C00F5F1F4F0630110591F73B
:1039C00009C0602F7C2F80E00E948C05D813F3CFB4
:1039D00081E004C0CF5FCE30F1F680E0DF91CF917F
:1039E0001F910F91FF90EF900895CF93C82F8CE215
:1039F0000E94C31C882321F08C2FCF910C94C31CF0
:103A000080E0CF910895CF930E944A1E811102C099
:103A10000E94301EC5E6C15049F00E9496048FE313
:103A20009CE90197F1F700C00000F5CF89E20E9400
:103A3000F51C811113C18AE20E94F51C81110E94BC
:103A4000301E85E00E94F51C81110E94A11C0E947D
:103A5000551E8093D40187E00E94F51C8823A9F1AC
:103A60008BE10E94F51C882351F08091D40181FBE9
:103A7000222720F991E0922790FB81F90EC08EE079
:103A80000E94F51C882361F08091D40182FB2227DB
:103A900020F991E0922790FB82F98093D40115C020
:103AA00080E10E94F51C9091D401882341F093FBA2
:103AB000222720F981E0822780FB93F904C0892F17
:103AC000809580FB90F99093D4018091D4010E945D
:103AD000591E0E94671E8093F20180EE0E94F51C21
:103AE000882341F08091F201982F909590FB80F906
:103AF0008093F20189E30E94F51C882359F080919C
:103B0000F20181FB222720F991E0922790FB81F9B5
:103B10008093F20182EE0E94F51C882359F0809177
:103B2000F20182FB222720F991E0922790FB82F993
:103B30008093F20186EE0E94F51C882359F0809153
:103B4000F20183FB222720F991E0922790FB83F971
:103B50008093F20183EE0E94F51C882359F0809136
:103B6000F20184FB222720F991E0922790FB84F94F
:103B70008093F20185E30E94F51C882359F080911F
:103B8000F20185FB222720F991E0922790FB85F92D
:103B90008093F20181E30E94F51C882359F0809103
:103BA000F20186FB222720F991E0922790FB86F90B
:103BB0008093F20181E10E94F51C882359F08091E5
:103BC000F20187FB222720F991E0922790FB87F9E9
:103BD0008093F2018091F2010E946B1E8091F201AC
:103BE00087FB882780F980930D0187E20E94F51CEE
:103BF000C82F8EE10E94F51C8111C2608FE10E94E6
:103C0000F51C8111C46080E20E94F51C8111C8601E
:103C100081E20E94F51C8111C06182E20E94F51CC4
:103C20008111C06283E20E94F51C8111C06484E2AC
:103C30000E94F51C882311F0C06802C0CC2329F033
:103C40008C2F0E94621E6C2F03C00E945E1E682F84
:103C500070E080E090E0CF910C944B18CF910895E4
:103C60006DEE7EEF80E090E00E94302460E082E024
:103C700090E00E941E2460E083E090E00E941E24F9
:103C800060E084E090E00E941E2460E085E090E027
:103C90000C941E2480E090E00E94182421E08D3EC8
:103CA0009E4F09F020E0822F089582E090E00C946E
:103CB0001024682F82E090E00C941E2483E090E0B2
:103CC0000C941024682F83E090E00C941E2484E070
:103CD00090E00C941024682F84E090E00C941E2453
:103CE0008091DC0180FF0BC06091130185E0689F2B
:103CF000B001112475956795759567952BC081FF67
:103D000009C06091130185E0689FB0011124759589
:103D1000679520C082FF07C06091130185E0689F0E
:103D2000B001112417C09091DD019923D1F0609169
:103D30001201961788F72091130185E0289F9001C2
:103D40001124929FA001939F500D112470E0CA018D
:103D50000E94E2236038710540F46115710539F065
:103D600002C065E070E0862F08958FE7089581E036
:103D700008958091DC0180FF08C06091110170E01E
:103D8000759567957595679521C081FF06C060910F
:103D9000110170E07595679519C082FF04C06091AC
:103DA000110170E010C09091DD019923C1F0609184
:103DB00010019617A0F780911101899FC00111246D
:103DC00070E00E94E2236038710528F461157105E6
:103DD00021F0862F08958FE7089581E0089561E02E
:103DE00070E0F4CF803F21F40E94701E819504C0E2
:103DF000813F29F40E94701E8093E0010895823F64
:103E000021F40E94701E819504C0833F29F40E9412
:103E1000701E8093DF010895893F19F40E94B91E36
:103E200005C08A3F31F40E94B91E81958093E1015B
:103E300008958B3F21F40E94B91E819504C08C3FE8
:103E400029F40E94B91E8093E2010895843F21F471
:103E50008091DE01816017C0853F21F48091DE01F1
:103E6000826011C0863F21F48091DE0184600BC026
:103E7000873F21F48091DE01886005C0883F31F4DE
:103E80008091DE0180618093DE0108958D3F21F4F1
:103E90008091DC0181600BC08E3F21F48091DC01B8
:103EA000826005C08F3F29F48091DC01846080939B
:103EB000DC010895803F39F48091E00187FF6CC0F8
:103EC0001092E00169C0813F29F48091E001181649
:103ED000BCF362C09091DF01823F29F497FF5CC080
:103EE0001092DF0159C0833F19F41916CCF354C066
:103EF000893F41F48091E10118160CF04DC01092F9
:103F0000E1014AC08A3F29F48091E10187FF44C062
:103F1000F6CF8B3F39F48091E20187FF3DC01092CC
:103F2000E2013AC08C3F29F48091E2011816BCF3FB
:103F300033C0843F21F48091DE018E7F17C0853F1E
:103F400021F48091DE018D7F11C0863F21F48091A4
:103F5000DE018B7F0BC0873F21F48091DE01877FDC
:103F600005C0883F31F48091DE018F7E8093DE01B1
:103F700013C08D3F21F48091DC018E7F0BC08E3FFA
:103F800021F48091DC018D7F05C08F3F29F4809161
:103F9000DC018B7F8093DC018091DF0181110EC0F9
:103FA0008091E00181110AC08091E101811106C078
:103FB0008091E201811102C01092DD0108958EED21
:103FC00091E00E948C0F0E94461C9093DB0180932D
:103FD000DA0108951F93CF93DF938091DA019091D6
:103FE000DB010E94521CAC019091DD01992321F06C
:103FF0002091140130E006C0209115018AE0289F2D
:10400000900111244217530708F486C08091DF0104
:10401000C091E001D091E1011091E201811107C04E
:10402000C11176C0D11174C0111172C075C09F3F0B
:1040300019F09F5F9093DD01181624F40E94701E02
:104040008093DF018091DF0187FF05C00E94701E11
:1040500081958093DF011C1624F40E94701E8093CA
:10406000E0018091E00187FF05C00E94701E8195EC
:104070008093E0016091DF01662339F1C091E00196
:10408000CC2319F1772767FD7095872F972F0E9412
:10409000F32223E333E343E35FE30E9457230E94C9
:1040A000C0226093DF016C2F772767FD7095872F03
:1040B000972F0E94F32223E333E343E35FE30E945D
:1040C00057230E94C0226093E0011D1624F40E9431
:1040D000B91E8093E1018091E10187FF05C00E9434
:1040E000B91E81958093E101111624F40E94B91E36
:1040F0008093E2018091E20187FF05C00E94B91E12
:1041000081958093E201DF91CF911F910C94DF1F85
:104110009F3F09F08ECF96CFDF91CF911F910895E9
:10412000EEEDF1E085E0DF011D928A95E9F710924E
:10413000DD011092DC010895833081F128F4813093
:1041400059F08230D1F00895853009F449C0B8F1B2
:10415000863009F456C0089580911501262F30E06D
:10416000280F311D2F3F310524F4680F609315018E
:1041700008958FEF80931501089580911401262FE3
:1041800030E0280F311D2F3F310524F4680F609374
:10419000140108958FEF8093140108958091130105
:1041A000262F30E0280F311D2F3F310524F4680FF2
:1041B0006093130108958FEF809313010895809108
:1041C0001201262F30E0280F311D2F3F310524F436
:1041D000680F6093120108958FEF80931201089584
:1041E00080911101262F30E0280F311D2F3F31051E
:1041F00024F4680F6093110108958FEF80931101EB
:10420000089580911001262F30E0280F311D2F3F97
:10421000310524F4680F6093100108958FEF8093A7
:1042200010010895833011F128F4813049F0823073
:1042300091F00895853081F120F18630C1F1089523
:1042400080911501681720F4861B8093150108954D
:1042500010921501089580911401681720F4861BAF
:104260008093140108951092140108958091130110
:10427000681720F4861B8093130108951092130190
:10428000089580911201681720F4861B8093120113
:10429000089510921201089580911101681720F479
:1042A000861B809311010895109211010895809149
:1042B0001001681720F4861B809310010895109256
:1042C000100108950F931F938B3109F475C0A0F569
:1042D0008E3009F484C0C0F4873009F45BC068F400
:1042E000863009F0AAC08091D401817F8E7F8093AF
:1042F000D40181E08093E401A1C0883009F496C024
:104300008B3009F493C099C0813109F472C068F40C
:10431000803109F092C08091D40183FB222720F9DB
:1043200091E0922790FB83F950C0863109F47EC05A
:10433000893109F47BC081C0853309F479C068F400
:10434000873209F475C028F48E3108F476C08D5197
:104350005AC0893209F46CC070C0833438F48A338F
:1043600008F050C0883309F461C067C0833409F491
:104370005FC0883409F061C00E948B140FEF13ED09
:1043800020E3015010402040E1F700C000000E94EF
:10439000A11C4CC09091D401892F8095817080FB25
:1043A00090F929F0966098609093D40147C0997F66
:1043B000977F9093D4013AC08091D40181FB22274A
:1043C00020F991E0922790FB81F98093D401992301
:1043D00069F18091D40181608093D40127C08091DC
:1043E000D40182FB222720F991E0922790FB82F9E9
:1043F000ECCF0E948B1490910D0181E0892780936E
:104400000D0114C0895341E050E060E070E08A0182
:104410009B0104C0000F111F221F331F8A95D2F782
:10442000C901B8010E944B180E948B1481E006C09C
:1044300061E070E080E090E0F5CF80E01F910F91A7
:10444000089580E0089580E00895CF93C82F80916B
:10445000E401813079F018F08230E9F187C0E09111
:104460000E01F0910F018081813169F0823209F0F3
:104470007FC009C0E0910E01F0910F018081813170
:1044800011F0823261F48C2F0E942122811104C02C
:104490008C2F0E9462211DC081E090E01AC08C2FF9
:1044A0000E942322811114C0C43179F048F4CB302A
:1044B00079F0C03109F060C082E08093E40108C067
:1044C000C93219F0C83321F057C01092E40154C02A
:1044D00081E0817053C0C93289F118F5C43171F19E
:1044E000A8F4C73009F046C08AE08093150194E132
:1044F0009093140193E0909313018093120188E04C
:104500008093110188E28093100134C0CE51C630EF
:1045100088F5EC2FF0E0E65DFE4F80818093E301AB
:1045200029C0CE34E9F020F4CB3421F56AE013C081
:10453000C13579F0C235F1F461E00DC08091E3013D
:10454000882319F01092E30115C081E08093E40103
:1045500015C061E006C08091E3010E949C200AC062
:104560006AE08091E3010E94122104C01092E401EC
:1045700080E004C081E002C080E0ABCFCF9108951D
:1045800004D06894B1118DC0089570D088F09F5701
:1045900090F0B92F9927B751A0F0D1F0660F771F8F
:1045A000881F991F1AF0BA95C9F712C0B13081F06F
:1045B00077D0B1E0089574C0672F782F8827B85F4F
:1045C00039F0B93FCCF3869577956795B395D9F7D0
:1045D0003EF490958095709561957F4F8F4F9F4FDA
:1045E0000895E89409C097FB3EF4909580957095E6
:1045F00061957F4F8F4F9F4F9923A9F0F92F96E92F
:10460000BB279395F695879577956795B795F111A3
:10461000F8CFFAF4BB0F11F460FF1BC06F5F7F4F40
:104620008F4F9F4F16C0882311F096E911C0772352
:1046300021F09EE8872F762F05C0662371F096E85B
:10464000862F70E060E02AF09A95660F771F881F2A
:10465000DAF7880F9695879597F9089557FD905842
:10466000440F551F59F05F3F71F04795880F97FB36
:10467000991F61F09F3F79F08795089512161306F0
:104680001406551FF2CF4695F1DF08C0161617061F
:104690001806991FF1CF8695710561050894089554
:1046A000E894BB2766277727CB0197F908950BD0AD
:1046B00078C069D028F06ED018F0952309F05AC060
:1046C0005FC01124EECFCADFA0F3959FD1F3950F01
:1046D00050E0551F629FF001729FBB27F00DB11D86
:1046E000639FAA27F00DB11DAA1F649F6627B00D16
:1046F000A11D661F829F2227B00DA11D621F739FFF
:10470000B00DA11D621F839FA00D611D221F749F0C
:104710003327A00D611D231F849F600D211D822F53
:10472000762F6A2F11249F5750408AF0E1F088239A
:104730004AF0EE0FFF1FBB1F661F771F881F9150A7
:104740005040A9F79E3F510570F014C0AACF5F3FBB
:10475000ECF3983EDCF3869577956795B795F795DA
:10476000E7959F5FC1F7FE2B880F911D9695879562
:1047700097F9089597F99F6780E870E060E00895E1
:104780009FEF80EC089500240A9416161706180669
:104790000906089500240A94121613061406050645
:1047A0000895092E0394000C11F4882352F0BB0FD6
:1047B00040F4BF2B11F460FF04C06F5F7F4F8F4F39
:1047C0009F4F089597FB072E16F4009407D077FDAE
:1047D00009D00E94FC2307FC05D03EF490958195FA
:1047E0009F4F0895709561957F4F0895EE0FFF1FBD
:1047F0000590F491E02D0994AA1BBB1B51E107C061
:10480000AA1FBB1FA617B70710F0A61BB70B881F60
:10481000991F5A95A9F780959095BC01CD010895EF
:10482000F999FECF92BD81BDF89A992780B5089578
:10483000A8E1B0E042E050E00C943824262FF9992A
:10484000FECF92BD81BDF89A019700B4021639F0EF
:104850001FBA20BD0FB6F894FA9AF99A0FBE0895C0
:104860000196272F0E941F240C941E24DC01CB01EB
:10487000FC01F999FECF06C0F2BDE1BDF89A319670
:1048800000B40D9241505040B8F70895F894FFCF0E
:10489000200279080709E408B0087C080101C10179
:1048A00028080A03140A3F4D3639A9045C0426047B
:1048B000ED0380039903B203CB0301020304050651
:0448C00007080900DC
:00000001FF

A keyboard/ergodox_ez/keymaps/townk_osx/townk_osx_base.png => keyboard/ergodox_ez/keymaps/townk_osx/townk_osx_base.png +0 -0
A keyboard/ergodox_ez/keymaps/townk_osx/townk_osx_fn.png => keyboard/ergodox_ez/keymaps/townk_osx/townk_osx_fn.png +0 -0
A keyboard/ergodox_ez/keymaps/townk_osx/townk_osx_keypad.png => keyboard/ergodox_ez/keymaps/townk_osx/townk_osx_keypad.png +0 -0