]> git.donarmstrong.com Git - qmk_firmware.git/commitdiff
Merge remote-tracking branch 'upstream/master'
authorTobias Matt <t.matt81+github@gmail.com>
Fri, 13 May 2016 08:08:29 +0000 (10:08 +0200)
committerTobias Matt <t.matt81+github@gmail.com>
Fri, 13 May 2016 08:08:29 +0000 (10:08 +0200)
134 files changed:
.gitignore
BUILD_GUIDE.md
README.md
keyboard/atomic/Makefile
keyboard/atomic/atomic.c
keyboard/atomic/atomic.h
keyboard/atomic/backlight.c [deleted file]
keyboard/atomic/keymaps/pvc/config.h
keyboard/atomic/keymaps/pvc/keymap.c
keyboard/atomic/keymaps/pvc/makefile.mk
keyboard/atreus/config.h
keyboard/clueboard1/Makefile [new file with mode: 0644]
keyboard/clueboard1/clueboard1.c [new file with mode: 0644]
keyboard/clueboard1/clueboard1.h [new file with mode: 0644]
keyboard/clueboard1/config.h [new file with mode: 0644]
keyboard/clueboard1/keymaps/keymap_default.c [new file with mode: 0644]
keyboard/clueboard1/led.c [new file with mode: 0644]
keyboard/clueboard2/Makefile [new file with mode: 0644]
keyboard/clueboard2/backlight.c [new file with mode: 0644]
keyboard/clueboard2/clueboard2.c [new file with mode: 0644]
keyboard/clueboard2/clueboard2.h [new file with mode: 0644]
keyboard/clueboard2/config.h [new file with mode: 0644]
keyboard/clueboard2/keymaps/keymap_default.c [new file with mode: 0644]
keyboard/clueboard2/keymaps/keymap_max.c [new file with mode: 0644]
keyboard/clueboard2/keymaps/keymap_skully.c [new file with mode: 0644]
keyboard/clueboard2/led.c [new file with mode: 0644]
keyboard/cluepad/Makefile [new file with mode: 0644]
keyboard/cluepad/backlight.c [new file with mode: 0644]
keyboard/cluepad/cluepad.c [new file with mode: 0644]
keyboard/cluepad/cluepad.h [new file with mode: 0644]
keyboard/cluepad/config.h [new file with mode: 0644]
keyboard/cluepad/keymaps/keymap_default.c [new file with mode: 0644]
keyboard/ergodox_ez/Makefile
keyboard/ergodox_ez/keymaps/ab/ab.hex [new file with mode: 0644]
keyboard/ergodox_ez/keymaps/ab/keyboard-layout.json [new file with mode: 0644]
keyboard/ergodox_ez/keymaps/ab/keyboard-layout.png [new file with mode: 0644]
keyboard/ergodox_ez/keymaps/ab/keymap.c [new file with mode: 0644]
keyboard/ergodox_ez/keymaps/ab/readme.md [new file with mode: 0644]
keyboard/ergodox_ez/keymaps/erez_experimental/config_user.h [new file with mode: 0644]
keyboard/ergodox_ez/keymaps/erez_experimental/erez_experimental.hex
keyboard/ergodox_ez/keymaps/erez_experimental/keymap.c
keyboard/ergodox_ez/keymaps/erez_experimental/makefile.mk [new file with mode: 0644]
keyboard/ergodox_ez/keymaps/erez_experimental/readme.md
keyboard/ergodox_ez/keymaps/ordinary/keymap.c
keyboard/ergodox_ez/keymaps/ordinary/ordinary-base.png
keyboard/ergodox_ez/keymaps/ordinary/ordinary-base.txt
keyboard/ergodox_ez/keymaps/ordinary/ordinary-media.png
keyboard/ergodox_ez/keymaps/ordinary/ordinary-media.txt
keyboard/ergodox_ez/keymaps/ordinary/ordinary-special.png [new file with mode: 0644]
keyboard/ergodox_ez/keymaps/ordinary/ordinary-special.txt [new file with mode: 0644]
keyboard/ergodox_ez/keymaps/ordinary/ordinary-symbol.png
keyboard/ergodox_ez/keymaps/ordinary/ordinary-symbol.txt
keyboard/ergodox_ez/keymaps/ordinary/ordinary.hex
keyboard/ergodox_ez/keymaps/ordinary/readme.md
keyboard/ergodox_ez/keymaps/romanzolotarev-norman-osx/keymap.c [new file with mode: 0644]
keyboard/ergodox_ez/keymaps/romanzolotarev-norman-osx/readme.md [new file with mode: 0644]
keyboard/ergodox_ez/keymaps/romanzolotarev-norman-osx/romanzolotarev-norman-osx.hex [new file with mode: 0644]
keyboard/ergodox_ez/keymaps/romanzolotarev-norman-osx/romanzolotarev-norman-osx.png [new file with mode: 0644]
keyboard/ergodox_ez/keymaps/romanzolotarev-norman-qwerty-osx/keymap.c [new file with mode: 0644]
keyboard/ergodox_ez/keymaps/romanzolotarev-norman-qwerty-osx/readme.md [new file with mode: 0644]
keyboard/ergodox_ez/keymaps/romanzolotarev-norman-qwerty-osx/romanzolotarev-norman-qwerty-osx.hex [new file with mode: 0644]
keyboard/ergodox_ez/keymaps/romanzolotarev-norman-qwerty-osx/romanzolotarev-norman-qwerty-osx.png [new file with mode: 0644]
keyboard/ergodox_ez/keymaps/sneako/README.md [new file with mode: 0644]
keyboard/ergodox_ez/keymaps/sneako/keymap.c [new file with mode: 0644]
keyboard/ergodox_ez/keymaps/sneako/sneako.hex [new file with mode: 0644]
keyboard/ergodox_ez/keymaps/techtomas/keymap.c [new file with mode: 0644]
keyboard/ergodox_ez/keymaps/techtomas/readme.md [new file with mode: 0644]
keyboard/ergodox_ez/keymaps/techtomas/techtomas.hex [new file with mode: 0644]
keyboard/ergodox_ez/keymaps/twey/keymap.c
keyboard/ergodox_ez/keymaps/zweihander-osx/keymap.c [new file with mode: 0644]
keyboard/ergodox_ez/keymaps/zweihander-osx/readme.markdown [new file with mode: 0644]
keyboard/ergodox_ez/keymaps/zweihander-osx/zweihander-osx.hex [new file with mode: 0644]
keyboard/ergodox_ez/readme.md
keyboard/gh60_rev_c/Makefile [new file with mode: 0644]
keyboard/gh60_rev_c/README.md [new file with mode: 0644]
keyboard/gh60_rev_c/config.h [new file with mode: 0644]
keyboard/gh60_rev_c/gh60.c [new file with mode: 0644]
keyboard/gh60_rev_c/gh60.h [new file with mode: 0644]
keyboard/gh60_rev_c/gh60revc.jpg [new file with mode: 0644]
keyboard/gh60_rev_c/keymaps/default.c [new file with mode: 0644]
keyboard/gh60_rev_c/pinout.txt [new file with mode: 0644]
keyboard/planck/Makefile
keyboard/planck/backlight.c [deleted file]
keyboard/planck/keymaps/default/keymap.c
keyboard/planck/keymaps/experimental/README.md [new file with mode: 0644]
keyboard/planck/keymaps/experimental/keymap.c [new file with mode: 0644]
keyboard/planck/keymaps/experimental/makefile.mk [new file with mode: 0644]
keyboard/planck/keymaps/pvc/config.h [new file with mode: 0644]
keyboard/planck/keymaps/pvc/keymap.c [new file with mode: 0644]
keyboard/planck/keymaps/pvc/makefile.mk [new file with mode: 0644]
keyboard/planck/keymaps/pvc_planck.c [deleted file]
keyboard/planck/planck.c
keyboard/planck/planck.h
keyboard/planck/planck_pcb_r4.hex
keyboard/planck/planck_pcb_r4_w_bootloader.hex
keyboard/preonic/Makefile
keyboard/preonic/backlight.c [deleted file]
keyboard/preonic/keymaps/default/keymap.c
keyboard/preonic/preonic.c
keyboard/preonic/preonic.h
keyboard/preonic/preonic_pcb_r1.hex
keyboard/preonic/preonic_pcb_r1_w_bootloader.hex
new_project.sh
quantum/audio/audio.c
quantum/audio/audio.h
quantum/audio/audio_pwm.c [new file with mode: 0644]
quantum/audio/luts.c [new file with mode: 0644]
quantum/audio/luts.h [new file with mode: 0644]
quantum/audio/vibrato_lut.h [deleted file]
quantum/audio/voices.c
quantum/audio/voices.h
quantum/keymap_common.c
quantum/keymap_common.h
quantum/keymap_midi.h
quantum/matrix.c
quantum/quantum.mk
quantum/rgblight.c
quantum/template/Makefile
quantum/template/template.c
quantum/template/template.h
quantum/tools/README.md
tmk_core/common/action.c
tmk_core/common/action_code.h
tmk_core/common/action_layer.c
tmk_core/common/action_macro.c
tmk_core/common/action_tapping.c
tmk_core/common/action_util.c
tmk_core/common/action_util.h
tmk_core/common/backlight.c
tmk_core/common/backlight.h
tmk_core/common/command.c
tmk_core/common/nodebug.h
tmk_core/doc/keymap.md
tmk_core/rules.mk

index 8b8c45169dfbce194a603de23869fcb09d4ce5b3..a082ea22e4d822ca6c4328ecbcae1d0be7e0adc0 100644 (file)
@@ -16,8 +16,8 @@ build/
 .vagrant/
 .DS_STORE
 
-# Eclipse Settings
+# Eclipse/PyCharm/Other IDE Settings
 .cproject
 .project
 .settings/
-
+.idea
index f7a57d2fc9b028e2de43d19b0f8858d6ea0182d9..fd8b6202ff4acb45e24e33bf1278df40aa5ceb00 100644 (file)
@@ -47,8 +47,8 @@ If you have any problems building the firmware, you can try using a tool called
 
 Note: Some keyboard folders have non-standard organizations, and may not even support specifying alternate keymaps. Until these get reorganized, you will need to edit their default keymaps directly.
 
-1. Running the `make` command from your keyboard's folder will generate a .hex file based on the default keymap. All keymaps for a particular keyboard live in the `keymaps` folder in that keyboard's folder. To create your own keymap, copy `keymaps/default/keymap.c` to the `keymaps` folder, and rename it with your name, for example jack.c. Or, if you don't care about the ability to share your keymap with the community via GitHub, you can just modify the default keymap itself. Details on how to program keymap files can be found in other guides. 
-2. To build a keymap other than the default, type `KEYMAP=<name>` after `make`. So if I've named my keymap jack.c, the full command would be `make KEYMAP=jack`.
+1. Running the `make` command from your keyboard's folder will generate a .hex file based on the default keymap. All keymaps for a particular keyboard live in the `keymaps` folder in that keyboard's folder. To create your own keymap, duplicate the folder `keymaps/default`, and rename it with your name, for example `jack`. Or, if you don't care about the ability to share your keymap with the community via GitHub, you can just modify the default keymap itself. Details on how to program keymap files can be found in other guides. 
+2. To build a keymap other than the default, type `KEYMAP=<name>` after `make`. So if I've named my keymap `jack`, the full command would be `make KEYMAP=jack`.
 3. How you deploy the firmware will depend on whether you are using a PCB or a Teensy. In both cases, you'll need to put the keyboard in bootloader mode, either by pressing a button on the PCB/Teensy or pressing the key with the `RESET` keycode. Then, if you're using a PCB, just run `make KEYMAP=<name> dfu` to both build and deploy the firmware. If you're using a Teensy, you'll probably need to take the <keyboardname>.hex file that make produces in the keyboard's folder, and deploy it using the [Teensy Loader.](https://www.pjrc.com/teensy/loader.html)
 
 ## Helpful Tips
index f5c271f165fc39c45a3b467fd3256e4cc687a9a6..395b4a552352ff8025885f68a6d83ce8bd894fd2 100644 (file)
--- a/README.md
+++ b/README.md
@@ -1,11 +1,13 @@
-# Quantum MK Firmware
+# Quantum Mechanical Keyboard Firmware
 
-This is a keyboard firmware based on the [tmk_keyboard firmware](http://github.com/tmk/tmk_keyboard) with some useful features for Atmel AVR controllers, and more specifically, the [OLKB product line](http://olkb.co) and the [ErgoDox EZ](http://www.ergodox-ez.com) keyboard.
+This is a keyboard firmware based on the [tmk_keyboard firmware](http://github.com/tmk/tmk_keyboard) with some useful features for Atmel AVR controllers, and more specifically, the [OLKB product line](http://olkb.co), the [ErgoDox EZ](http://www.ergodox-ez.com) keyboard, and the [Clueboard product line](http://clueboard.co/).
 
 QMK is developed and maintained by Jack Humbert of OLKB with contributions from the community, and of course, TMK.
 
 This documentation is edited and maintained by Erez Zukerman of ErgoDox EZ. If you spot any typos or inaccuracies, please [open an issue](https://github.com/jackhumbert/qmk_firmware/issues/new).
 
+The OLKB product firmwares are maintained by Jack, the Ergodox EZ by Erez, and the Clueboard by [Zach White](https://github.com/skullydazed).
+
 ## Important background info: TMK documentation
 
 The documentation below explains QMK customizations and elaborates on some of the more useful features of TMK. To understand the base firmware, and especially what *layers* are and how they work, please see [TMK_README.md](/TMK_README.md).
@@ -31,6 +33,10 @@ If your keymap directory has a file called `makefile.mk` (note the lowercase fil
 
 So let's say your keyboard's makefile has `CONSOLE_ENABLE = yes` (or maybe doesn't even list the `CONSOLE_ENABLE` option, which would cause it to revert to the global Quantum default). You want your particular keymap to not have the debug console, so you make a file called `makefile.mk` and specify `CONSOLE_ENABLE = no`.
 
+### Customizing config.h on a per-keymap basis
+
+If you use the ErgoDox EZ, you can make a `config_user.h` file in your keymap directory and use it to override any `config.h` settings you don't like. Anything you set there will take precedence over the global `config.h` for the ErgoDox EZ. To see an example of this, check out `keymaps/erez_experimental`.
+
 ## Quick aliases to common actions
 
 Your keymap can include shortcuts to common operations (called "function actions" in tmk).
@@ -39,10 +45,13 @@ Your keymap can include shortcuts to common operations (called "function actions
 
 `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.
 
+`OSL(layer)` - momentary switch to *layer*, as a one-shot operation. So if you have a key that's defined as `OSL(1)`, and you tap that key, then only the very next keystroke would come from layer 1. You would drop back to layer zero immediately after that one keystroke. That's handy if you have a layer full of custom shortcuts -- for example, a dedicated key for closing a window. So you tap your one-shot layer mod, then tap that magic 'close window' key, and keep typing like a boss. Layer 1 would remain active as long as you hold that key down, too (so you can use it like a momentary toggle-layer key with extra powers).
+
 `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
@@ -78,17 +87,24 @@ The following shortcuts automatically add `LSFT()` to keycodes to get commonly u
     KC_PLUS  +
     KC_LCBR  {
     KC_RCBR  }
+    KC_LABK  <
+    KC_RABK  >
     KC_PIPE  |
     KC_COLN  :
 
+`OSM(mod)` - this is a "one shot" modifier. So let's say you have your left Shift key defined as `OSM(MOD_LSFT)`. Tap it, let go, and Shift is "on" -- but only for the next character you'll type. So to write "The", you don't need to hold down Shift -- you tap it, tap t, and move on with life. And if you hold down the left Shift key, it just works as a left Shift key, as you would expect (so you could type THE). There's also a magical, secret way to "lock" a modifier by tapping it multiple times. If you want to learn more about that, open an issue. :)
+
 `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):
+These are the values you can use for the `mod` in `MT()` and `OSM()` (right-hand modifiers are not available for `MT()`):
 
   * MOD_LCTL
   * MOD_LSFT
   * MOD_LALT
   * MOD_LGUI
+  * MOD_HYPR
+  * MOD_MEH
+
 
 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.
 
@@ -211,6 +227,23 @@ This will clear all keys besides the mods currently pressed.
 
 If the user attempts to activate layer 1 AND layer 2 at the same time (for example, by hitting their respective layer keys), layer 3 will be activated. Layers 1 and 2 will _also_ be activated, for the purposes of fallbacks (so a given key will fall back from 3 to 2, to 1 -- and only then to 0).
 
+#### Naming your macros
+
+If you have a bunch of macros you want to refer to from your keymap, while keeping the keymap easily readable, you can just name them like so:
+
+```
+#define AUD_OFF M(6)
+#define AUD_ON M(7)
+#define MUS_OFF M(8)
+#define MUS_ON M(9)
+#define VC_IN M(10)
+#define VC_DE M(11)
+#define PLOVER M(12)
+#define EXT_PLV M(13)
+```
+
+As was done on the [Planck default keymap](/keyboard/planck/keymaps/default/keymap.c#L33-L40)
+
 #### Timer functionality
 
 It's possible to start timers and read values for time-specific events - here's an example:
@@ -227,11 +260,91 @@ if (timer_elapsed(key_timer) < 100) {
 
 It's best to declare the `static uint16_t key_timer;` outside of the macro block (top of file, etc). 
 
+#### Example 1: Single-key copy/paste (hold to copy, tap to paste)
+
+With QMK, it's easy to make one key do two things, as long as one of those things is being a modifier. :) So if you want a key to act as Ctrl when held and send the letter R when tapped, that's easy: `CTL_T(KC_R)`. But what do you do when you want that key to send Ctrl-V (paste) when tapped, and Ctrl-C (copy) when held?
+
+Here's what you do:
+
+
+```
+static uint16_t key_timer;
+
+const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
+{
+      switch(id) {
+        case 0: {
+            if (record->event.pressed) {
+                key_timer = timer_read(); // if the key is being pressed, we start the timer.
+            } 
+            else { // this means the key was just released, so we can figure out how long it was pressed for (tap or "held down").
+                if (timer_elapsed(key_timer) > 150) { // 150 being 150ms, the threshhold we pick for counting something as a tap.
+                    return MACRO( D(LCTL), T(C), U(LCTL), END  );
+                }
+                else {
+                    return MACRO( D(LCTL), T(V), U(LCTL), END  );
+                }
+            }
+            break;
+        }
+      }
+    return MACRO_NONE;
+};
+```
+
+And then, to assign this macro to a key on your keyboard layout, you just use `M(0)` on the key you want to press for copy/paste.
+
+#### Example 2: Space Cadet Shift (making it easy to send opening and closing parentheses)
+
+In the [Modern Space Cadet Keyboard](http://stevelosh.com/blog/2012/10/a-modern-space-cadet/#shift-parentheses), one of cooler features is the Shift Parentheses. To quote Steve Losh:
+
+  > When held while pressing other keys, act like Shift.
+  > When pressed and released on their own, type an opening or closing parenthesis (left and right shift respectively).
+
+```
+static uint16_t key_timer;
+
+const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
+{
+      switch(id) {
+        case 0: {
+            if (record->event.pressed) {
+                key_timer = timer_read(); // if the key is being pressed, we start the timer.
+                register_code(KC_LSFT); // we're now holding down Shift.
+            } else { // this means the key was just released, so we can figure out how long it was pressed for (tap or "held down").
+                if (timer_elapsed(key_timer) < 150) { // 150 being 150ms, the threshhold we pick for counting something as a tap. 
+                    register_code(KC_9); // sending 9 while Shift is held down gives us an opening paren
+                    unregister_code(KC_9); // now let's let go of that key
+                }
+                unregister_code(KC_LSFT); // let's release the Shift key now.
+            }
+            break;
+        }
+        case 1: {
+            if (record->event.pressed) {
+                key_timer = timer_read(); // Now we're doing the same thing, only for the right shift/close paren key
+                register_code(KC_RSFT); 
+            } else { 
+                if (timer_elapsed(key_timer) < 150) { 
+                    register_code(KC_0); 
+                    unregister_code(KC_0); 
+                }
+                unregister_code(KC_RSFT); 
+            }
+            break;
+        }
+      }
+    return MACRO_NONE;
+};
+```
+
+And then, to assign this macro to a key on your keyboard layout, you just use `M(0)` on the key you want to press for left shift/opening parens, and `M(1)` for right shift/closing parens.
+
 ## 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_extras/keymap_colemak.h>
+   #include <keymap_colemak.h>
 
 If you use Dvorak, use `keymap_dvorak.h` instead of `keymap_colemak.h` for this line. After including this line, you will get access to:
 
@@ -264,6 +377,55 @@ You can currently send 4 hex digits with your OS-specific modifier key (RALT for
 
 Enable the backlight from the Makefile.
 
+## Driving a speaker - audio support
+
+Your keyboard can make sounds! If you've got a Planck, Preonic, or basically any keyboard that allows access to the C6 port, you can hook up a simple speaker and have it beep. You can use those beeps to indicate layer transitions, modifiers, special keys, or just to play some funky 8bit tunes.
+
+The audio code lives in [quantum/audio/audio.h](/quantum/audio/audio.h) and in the other files in the audio directory. It's enabled by default on the Planck [stock keymap](/keyboard/planck/keymaps/default/keymap.c). Here are the important bits:
+
+```
+#include "audio.h"
+```
+
+Then, lower down the file:
+
+```
+float tone_startup[][2] = {
+    ED_NOTE(_E7 ),
+    E__NOTE(_CS7),
+    E__NOTE(_E6 ),
+    E__NOTE(_A6 ),
+    M__NOTE(_CS7, 20)
+};
+```
+
+This is how you write a song. Each of these lines is a note, so we have a little ditty composed of five notes here.
+
+Then, we have this chunk:
+
+```
+float tone_qwerty[][2]     = SONG(QWERTY_SOUND);
+float tone_dvorak[][2]     = SONG(DVORAK_SOUND);
+float tone_colemak[][2]    = SONG(COLEMAK_SOUND);
+float tone_plover[][2]     = SONG(PLOVER_SOUND);
+float tone_plover_gb[][2]  = SONG(PLOVER_GOODBYE_SOUND);
+
+float music_scale[][2] = SONG(MUSIC_SCALE_SOUND);
+float goodbye[][2] = SONG(GOODBYE_SOUND);
+```
+
+Wherein we bind predefined songs (from [audio/song_list.h](/audio/song_list.h)) into named variables. This is one optimization that helps save on memory: These songs only take up memory when you reference them in your keymap, because they're essentially all preprocessor directives.
+
+So now you have something called `tone_plover` for example. How do you make it play the Plover tune, then? If you look further down the keymap, you'll see this:
+
+```
+PLAY_NOTE_ARRAY(tone_plover, false, 0); // Signature is: Song name, repeat, rest style
+```
+
+This is inside one of the macros. So when that macro executes, your keyboard plays that particular chime.
+
+"Rest style" in the method signature above (the last parameter) specifies if there's a rest (a moment of silence) between the notes.
+
 ## MIDI functionalty
 
 This is still a WIP, but check out `quantum/keymap_midi.c` to see what's happening. Enable from the Makefile.
index 1d91c34b7feddb202ec6a7b61b1bb3627e20a7b7..c1a0a6db422027bb60da073b670b8f5f15e32455 100644 (file)
@@ -171,10 +171,6 @@ endif
 
 endif
 
-ifeq ($(strip $(BACKLIGHT_ENABLE)), yes)
-       SRC := backlight.c $(SRC)
-endif
-
 # Optimize size but this may cause error "relocation truncated to fit"
 #EXTRALDFLAGS = -Wl,--relax
 
index 5e31264e68e1239b1c8659a6584fc9d6aabc7867..b4b26145729c042e439125b5f6ab143c7650e832 100644 (file)
@@ -2,27 +2,27 @@
 
 __attribute__ ((weak))
 void matrix_init_user(void) {
-       // leave this function blank - it can be defined in a keymap file
+    // leave this function blank - it can be defined in a keymap file
 };
 
 __attribute__ ((weak))
 void matrix_scan_user(void) {
-       // leave this function blank - it can be defined in a keymap file
+    // leave this function blank - it can be defined in a keymap file
 }
 
 __attribute__ ((weak))
 void process_action_user(keyrecord_t *record) {
-       // leave this function blank - it can be defined in a keymap file
+    // leave this function blank - it can be defined in a keymap file
 }
 
 __attribute__ ((weak))
 void led_set_user(uint8_t usb_led) {
-       // leave this function blank - it can be defined in a keymap file
+    // leave this function blank - it can be defined in a keymap file
 }
 
 void matrix_init_kb(void) {
-       // put your keyboard start-up code here
-       // runs once when the firmware starts up
+    // put your keyboard start-up code here
+    // runs once when the firmware starts up
 
     MCUCR |= (1<<JTD);
     MCUCR |= (1<<JTD);
@@ -35,25 +35,290 @@ void matrix_init_kb(void) {
     DDRE |= (1<<6);
     PORTE |= (1<<6);
 
-       matrix_init_user();
+    matrix_init_user();
 }
 
 void matrix_scan_kb(void) {
-       // put your looping keyboard code here
-       // runs every cycle (a lot)
+    // put your looping keyboard code here
+    // runs every cycle (a lot)
 
-       matrix_scan_user();
+    matrix_scan_user();
 }
 
 void process_action_kb(keyrecord_t *record) {
-       // put your per-action keyboard code here
-       // runs for every action, just before processing by the firmware
+    // put your per-action keyboard code here
+    // runs for every action, just before processing by the firmware
 
-       process_action_user(record);
+    process_action_user(record);
 }
 
 void led_set_kb(uint8_t usb_led) {
-       // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here
+    // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here
 
-       led_set_user(usb_led);
+    led_set_user(usb_led);
 }
+
+#ifdef BACKLIGHT_ENABLE
+#define CHANNEL OCR1C
+#define BREATHING_NO_HALT  0
+#define BREATHING_HALT_OFF 1
+#define BREATHING_HALT_ON  2
+
+static uint8_t breath_intensity;
+static uint8_t breath_speed;
+static uint16_t breathing_index;
+static uint8_t breathing_halt;
+
+void backlight_init_ports()
+{
+
+    // Setup PB7 as output and output low.
+    DDRB |= (1<<7);
+    PORTB &= ~(1<<7);
+
+    // Use full 16-bit resolution.
+    ICR1 = 0xFFFF;
+
+    // I could write a wall of text here to explain... but TL;DW
+    // Go read the ATmega32u4 datasheet.
+    // And this: http://blog.saikoled.com/post/43165849837/secret-konami-cheat-code-to-high-resolution-pwm-on
+
+    // Pin PB7 = OCR1C (Timer 1, Channel C)
+    // Compare Output Mode = Clear on compare match, Channel C = COM1C1=1 COM1C0=0
+    // (i.e. start high, go low when counter matches.)
+    // WGM Mode 14 (Fast PWM) = WGM13=1 WGM12=1 WGM11=1 WGM10=0
+    // Clock Select = clk/1 (no prescaling) = CS12=0 CS11=0 CS10=1
+
+    TCCR1A = _BV(COM1C1) | _BV(WGM11); // = 0b00001010;
+    TCCR1B = _BV(WGM13) | _BV(WGM12) | _BV(CS10); // = 0b00011001;
+
+    backlight_init();
+    breathing_defaults();
+}
+
+void backlight_set(uint8_t level)
+{
+    // Prevent backlight blink on lowest level
+    PORTB &= ~(_BV(PORTB7));
+
+    if ( level == 0 )
+    {
+        // Turn off PWM control on PB7, revert to output low.
+        TCCR1A &= ~(_BV(COM1C1));
+
+        // Set the brightness to 0
+        CHANNEL = 0x0;
+    }
+    else if ( level >= BACKLIGHT_LEVELS )
+    {
+        // Turn on PWM control of PB7
+        TCCR1A |= _BV(COM1C1);
+
+        // Set the brightness to max
+        CHANNEL = 0xFFFF;
+    }
+    else
+    {
+        // Turn on PWM control of PB7
+        TCCR1A |= _BV(COM1C1);
+
+        // Set the brightness
+        CHANNEL = 0xFFFF >> ((BACKLIGHT_LEVELS - level) * ((BACKLIGHT_LEVELS + 1) / 2));
+    }
+    breathing_intensity_default();
+}
+
+
+void breathing_enable(void)
+{
+    if (get_backlight_level() == 0)
+    {
+        breathing_index = 0;
+    }
+    else
+    {
+        // Set breathing_index to be at the midpoint (brightest point)
+        breathing_index = 0x20 << breath_speed;
+    }
+
+    breathing_halt = BREATHING_NO_HALT;
+
+    // Enable breathing interrupt
+    TIMSK1 |= _BV(OCIE1A);
+}
+
+void breathing_pulse(void)
+{
+    if (get_backlight_level() == 0)
+    {
+        breathing_index = 0;
+    }
+    else
+    {
+        // Set breathing_index to be at the midpoint + 1 (brightest point)
+        breathing_index = 0x21 << breath_speed;
+    }
+
+    breathing_halt = BREATHING_HALT_ON;
+
+    // Enable breathing interrupt
+    TIMSK1 |= _BV(OCIE1A);
+}
+
+void breathing_disable(void)
+{
+    // Disable breathing interrupt
+    TIMSK1 &= ~_BV(OCIE1A);
+    backlight_set(get_backlight_level());
+}
+
+void breathing_self_disable(void)
+{
+    if (get_backlight_level() == 0)
+    {
+        breathing_halt = BREATHING_HALT_OFF;
+    }
+    else
+    {
+        breathing_halt = BREATHING_HALT_ON;
+    }
+
+    //backlight_set(get_backlight_level());
+}
+
+void breathing_toggle(void)
+{
+    if (!is_breathing())
+    {
+        if (get_backlight_level() == 0)
+        {
+            breathing_index = 0;
+        }
+        else
+        {
+            // Set breathing_index to be at the midpoint + 1 (brightest point)
+            breathing_index = 0x21 << breath_speed;
+        }
+
+        breathing_halt = BREATHING_NO_HALT;
+    }
+
+    // Toggle breathing interrupt
+    TIMSK1 ^= _BV(OCIE1A);
+
+    // Restore backlight level
+    if (!is_breathing())
+    {
+        backlight_set(get_backlight_level());
+    }
+}
+
+bool is_breathing(void)
+{
+    return (TIMSK1 && _BV(OCIE1A));
+}
+
+void breathing_intensity_default(void)
+{
+    //breath_intensity = (uint8_t)((uint16_t)100 * (uint16_t)get_backlight_level() / (uint16_t)BACKLIGHT_LEVELS);
+    breath_intensity = ((BACKLIGHT_LEVELS - get_backlight_level()) * ((BACKLIGHT_LEVELS + 1) / 2));
+}
+
+void breathing_intensity_set(uint8_t value)
+{
+    breath_intensity = value;
+}
+
+void breathing_speed_default(void)
+{
+    breath_speed = 4;
+}
+
+void breathing_speed_set(uint8_t value)
+{
+    bool is_breathing_now = is_breathing();
+    uint8_t old_breath_speed = breath_speed;
+
+    if (is_breathing_now)
+    {
+        // Disable breathing interrupt
+        TIMSK1 &= ~_BV(OCIE1A);
+    }
+
+    breath_speed = value;
+
+    if (is_breathing_now)
+    {
+        // Adjust index to account for new speed
+        breathing_index = (( (uint8_t)( (breathing_index) >> old_breath_speed ) ) & 0x3F) << breath_speed;
+
+        // Enable breathing interrupt
+        TIMSK1 |= _BV(OCIE1A);
+    }
+
+}
+
+void breathing_speed_inc(uint8_t value)
+{
+    if ((uint16_t)(breath_speed - value) > 10 )
+    {
+        breathing_speed_set(0);
+    }
+    else
+    {
+        breathing_speed_set(breath_speed - value);
+    }
+}
+
+void breathing_speed_dec(uint8_t value)
+{
+    if ((uint16_t)(breath_speed + value) > 10 )
+    {
+        breathing_speed_set(10);
+    }
+    else
+    {
+        breathing_speed_set(breath_speed + value);
+    }
+}
+
+void breathing_defaults(void)
+{
+    breathing_intensity_default();
+    breathing_speed_default();
+    breathing_halt = BREATHING_NO_HALT;
+}
+
+/* Breathing Sleep LED brighness(PWM On period) table
+ * (64[steps] * 4[duration]) / 64[PWM periods/s] = 4 second breath cycle
+ *
+ * http://www.wolframalpha.com/input/?i=%28sin%28+x%2F64*pi%29**8+*+255%2C+x%3D0+to+63
+ * (0..63).each {|x| p ((sin(x/64.0*PI)**8)*255).to_i }
+ */
+static const uint8_t breathing_table[64] PROGMEM = {
+  0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   1,   2,   4,   6,  10,
+ 15,  23,  32,  44,  58,  74,  93, 113, 135, 157, 179, 199, 218, 233, 245, 252,
+255, 252, 245, 233, 218, 199, 179, 157, 135, 113,  93,  74,  58,  44,  32,  23,
+ 15,  10,   6,   4,   2,   1,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+};
+
+ISR(TIMER1_COMPA_vect)
+{
+    // CHANNEL = (pgm_read_byte(&breathing_table[ ( (uint8_t)( (breathing_index++) >> breath_speed ) ) & 0x3F ] )) * breath_intensity;
+
+
+    uint8_t local_index = ( (uint8_t)( (breathing_index++) >> breath_speed ) ) & 0x3F;
+
+    if (((breathing_halt == BREATHING_HALT_ON) && (local_index == 0x20)) || ((breathing_halt == BREATHING_HALT_OFF) && (local_index == 0x3F)))
+    {
+        // Disable breathing interrupt
+        TIMSK1 &= ~_BV(OCIE1A);
+    }
+
+    CHANNEL = (uint16_t)(((uint16_t)pgm_read_byte(&breathing_table[local_index]) * 257)) >> breath_intensity;
+
+}
+
+
+
+#endif
\ No newline at end of file
index d5461e424d4b56d13c0f84dd98900055b800c6ed..845a9043e206703bd7c649861d0deb7abdd45e49 100644 (file)
@@ -3,8 +3,11 @@
 
 #include "matrix.h"
 #include "keymap_common.h"
-#include "backlight.h"
+#ifdef BACKLIGHT_ENABLE
+    #include "backlight.h"
+#endif
 #include <stddef.h>
+#include <avr/io.h>
 
 // This a shortcut to help you visually see your layout.
 // The following is an example using the Planck MIT layout
@@ -30,4 +33,20 @@ void process_action_user(keyrecord_t *record);
 void led_set_user(uint8_t usb_led);
 void backlight_init_ports(void);
 
+void breathing_enable(void);
+void breathing_pulse(void);
+void breathing_disable(void);
+void breathing_self_disable(void);
+void breathing_toggle(void);
+bool is_breathing(void);
+
+
+void breathing_defaults(void);
+void breathing_intensity_default(void);
+void breathing_speed_default(void);
+void breathing_speed_set(uint8_t value);
+void breathing_speed_inc(uint8_t value);
+void breathing_speed_dec(uint8_t value);
+
+
 #endif
\ No newline at end of file
diff --git a/keyboard/atomic/backlight.c b/keyboard/atomic/backlight.c
deleted file mode 100644 (file)
index 647b57e..0000000
+++ /dev/null
@@ -1,63 +0,0 @@
-
-#include <avr/io.h>
-#include "backlight.h"
-#include "atomic.h"
-
-
-#define CHANNEL OCR1C
-
-void backlight_init_ports()
-{
-
-    // Setup PB7 as output and output low.
-    DDRB |= (1<<7);
-    PORTB &= ~(1<<7);
-    
-    // Use full 16-bit resolution. 
-    ICR1 = 0xFFFF;
-
-    // I could write a wall of text here to explain... but TL;DW
-    // Go read the ATmega32u4 datasheet.
-    // And this: http://blog.saikoled.com/post/43165849837/secret-konami-cheat-code-to-high-resolution-pwm-on
-    
-    // Pin PB7 = OCR1C (Timer 1, Channel C)
-    // Compare Output Mode = Clear on compare match, Channel C = COM1C1=1 COM1C0=0
-    // (i.e. start high, go low when counter matches.)
-    // WGM Mode 14 (Fast PWM) = WGM13=1 WGM12=1 WGM11=1 WGM10=0
-    // Clock Select = clk/1 (no prescaling) = CS12=0 CS11=0 CS10=1
-    
-    TCCR1A = _BV(COM1C1) | _BV(WGM11); // = 0b00001010;
-    TCCR1B = _BV(WGM13) | _BV(WGM12) | _BV(CS10); // = 0b00011001;
-
-    backlight_init();
-}
-
-void backlight_set(uint8_t level)
-{
-    if ( level == 0 )
-    {
-        // Turn off PWM control on PB7, revert to output low.
-        TCCR1A &= ~(_BV(COM1C1));
-        CHANNEL = 0x0;
-        // Prevent backlight blink on lowest level
-        PORTB &= ~(_BV(PORTB7));
-    }
-    else if ( level == BACKLIGHT_LEVELS )
-    {
-        // Prevent backlight blink on lowest level
-        PORTB &= ~(_BV(PORTB7));
-        // Turn on PWM control of PB7
-        TCCR1A |= _BV(COM1C1);
-        // Set the brightness
-        CHANNEL = 0xFFFF;
-    }
-    else        
-    {
-        // Prevent backlight blink on lowest level
-        PORTB &= ~(_BV(PORTB7));
-        // Turn on PWM control of PB7
-        TCCR1A |= _BV(COM1C1);
-        // Set the brightness
-        CHANNEL = 0xFFFF >> ((BACKLIGHT_LEVELS - level) * ((BACKLIGHT_LEVELS + 1) / 2));
-    }
-}
\ No newline at end of file
index cc926346463c217d624e0a8b205b74aa92fdf110..5e956286b542bce4f5db14ba3580e50fbc176088 100644 (file)
@@ -22,7 +22,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 /* USB Device descriptor parameter */
 #define VENDOR_ID       0xFEED
-#define PRODUCT_ID      0x6060
+#define PRODUCT_ID      0x0419
 #define DEVICE_VER      0x0001
 #define MANUFACTURER    Ortholinear Keyboards
 #define PRODUCT         The Atomic Keyboard
@@ -158,4 +158,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 //#define NO_ACTION_MACRO
 //#define NO_ACTION_FUNCTION
 
+
+//#define VIBRATO_ENABLE
+//#define VIBRATO_STRENGTH_ENABLE
+
 #endif
index 28aa2c3592bc2b71c9f418d52411205eb75765a2..ff7384268e24f80768b9814baf8fe7f68fd1d8a1 100644 (file)
@@ -8,42 +8,45 @@
     #include "song_list.h"
 #endif
 
-#define LAYER_QWERTY         0
-#define LAYER_COLEMAK        1
-#define LAYER_DVORAK         2
-#define LAYER_LOWER          3
-#define LAYER_RAISE          4
-#define LAYER_FUNCTION       5
-#define LAYER_MOUSE          6
-#define LAYER_MUSIC          7
-#define LAYER_ADJUST         8
-
-#define MACRO_QWERTY         0
-#define MACRO_COLEMAK        1
-#define MACRO_DVORAK         2
-#define MACRO_LOWER          3
-#define MACRO_RAISE          4
-#define MACRO_FUNCTION       5
-#define MACRO_MOUSE          6
-#define MACRO_TIMBRE_1       7
-#define MACRO_TIMBRE_2       8
-#define MACRO_TIMBRE_3       9
-#define MACRO_TIMBRE_4      10
-#define MACRO_TEMPO_U       11
-#define MACRO_TEMPO_D       12
-#define MACRO_TONE_DEFAULT  13
-#define MACRO_MUSIC_ON      14
-#define MACRO_MUSIC_OFF     15
-#define MACRO_AUDIO_ON      16
-#define MACRO_AUDIO_OFF     17
-#define MACRO_INC_VOICE     18
-#define MACRO_DEC_VOICE     19
+#define LAYER_QWERTY                     0
+#define LAYER_COLEMAK                    1
+#define LAYER_DVORAK                     2
+#define LAYER_UPPER                      3
+#define LAYER_LOWER                      4
+#define LAYER_FUNCTION                   5
+#define LAYER_MOUSE                      6
+#define LAYER_MUSIC                      7
+#define LAYER_ADJUST                     8
+
+#define MACRO_QWERTY                     0
+#define MACRO_COLEMAK                    1
+#define MACRO_DVORAK                     2
+#define MACRO_UPPER                      3
+#define MACRO_LOWER                      4
+#define MACRO_FUNCTION                   5
+#define MACRO_MOUSE                      6
+#define MACRO_TIMBRE_1                   7
+#define MACRO_TIMBRE_2                   8
+#define MACRO_TIMBRE_3                   9
+#define MACRO_TIMBRE_4                  10
+#define MACRO_TEMPO_U                   11
+#define MACRO_TEMPO_D                   12
+#define MACRO_TONE_DEFAULT              13
+#define MACRO_MUSIC_TOGGLE              14
+#define MACRO_AUDIO_TOGGLE              16
+#define MACRO_INC_VOICE                 18
+#define MACRO_DEC_VOICE                 19
+#define MACRO_BACKLIGHT                 20
+#define MACRO_BREATH_TOGGLE             21
+#define MACRO_BREATH_SPEED_INC          23
+#define MACRO_BREATH_SPEED_DEC          24
+#define MACRO_BREATH_DEFAULT            25
 
 #define M_QWRTY             M(MACRO_QWERTY)
 #define M_COLMK             M(MACRO_COLEMAK)
 #define M_DVORK             M(MACRO_DVORAK)
+#define M_UPPER             M(MACRO_UPPER)
 #define M_LOWER             M(MACRO_LOWER)
-#define M_RAISE             M(MACRO_RAISE)
 #define M_FUNCT             M(MACRO_FUNCTION)
 #define M_MOUSE             M(MACRO_MOUSE)
 #define TIMBR_1             M(MACRO_TIMBRE_1)
 #define TMPO_UP             M(MACRO_TEMPO_U)
 #define TMPO_DN             M(MACRO_TEMPO_D)
 #define TMPO_DF             M(MACRO_TONE_DEFAULT)
+#define M_BACKL             M(MACRO_BACKLIGHT)
+#define M_BRTOG             M(MACRO_BREATH_TOGGLE)
+#define M_BSPDU             M(MACRO_BREATH_SPEED_INC)
+#define M_BSPDD             M(MACRO_BREATH_SPEED_DEC)
+#define M_BDFLT             M(MACRO_BREATH_DEFAULT)
 
 
-#define MUS_ON              M(MACRO_MUSIC_ON)
-#define MUS_OFF             M(MACRO_MUSIC_OFF)
-#define AUD_OFF             M(MACRO_AUDIO_OFF)
-#define AUD_ON              M(MACRO_AUDIO_ON)
+#define MUS_TOG             M(MACRO_MUSIC_TOGGLE)
+#define AUD_TOG             M(MACRO_AUDIO_TOGGLE)
 #define VC_UP               M(MACRO_INC_VOICE)
 #define VC_DOWN             M(MACRO_DEC_VOICE)
 
@@ -74,6 +80,7 @@
 #define SC_ACLS             LALT(KC_F4)
 #define SC_CCLS             LCTL(KC_F4)
 
+#define OS_SHFT             KC_FN0
 
 #define _______             KC_TRNS
 #define XXXXXXX             KC_NO
@@ -92,16 +99,16 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ---------------------+--------|
  * | LSHIFT | Z      | X      | C      | V      | B      | N      | M      | ,      | .      | /      | XXXXXX . RSHIFT | UP     | PG DN  |
  * |--------+--------+--------+--------+--------+- 2u ------------+--------+--------+--------+--------+-----------------+--------+--------|
- * | LCTRL  | LWIN   | FN     | LALT   | RAISED | XXXXXX . SPACE  | LOWER  | RALT   | HOME   | END    | RCTRL  | LEFT   | DOWN   | RIGHT  |
+ * | LCTRL  | LWIN   | FN     | LALT   | UPPER  | XXXXXX . SPACE  | LOWER  | SHIFT  | RALT   | APP    | RCTRL  | LEFT   | DOWN   | RIGHT  |
  * '--------------------------------------------------------------------------------------------------------------------------------------'
  */
 
- [LAYER_QWERTY]       = { /* QWERTY */
+ [LAYER_QWERTY]       = { // QWERTY
   { 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_BSPC, KC_BSPC  },
   { KC_TAB,  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,    KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL   },
   { KC_CAPS, 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_ENT,  KC_PGUP  },
   { KC_LSFT, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_RSFT, KC_RSFT, KC_UP,   KC_PGDN  },
-  { KC_LCTL, KC_LGUI, M_FUNCT, KC_LALT, M_RAISE, KC_SPC,  KC_SPC,  M_LOWER, KC_RALT, KC_LGUI, KC_MENU, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT  },
+  { KC_LCTL, KC_LGUI, M_FUNCT, KC_LALT, M_UPPER, KC_SPC,  KC_SPC,  M_LOWER, OS_SHFT, KC_RALT, KC_APP,  KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT  },
  },
 
  /* COLEMAK
@@ -114,17 +121,17 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ---------------------+--------|
  * | LSHIFT | Z      | X      | C      | V      | B      | K      | M      | ,      | .      | /      | XXXXXX . RSHIFT | UP     | PG DN  |
  * |--------+--------+--------+--------+--------+- 2u ------------+--------+--------+--------+--------+-----------------+--------+--------|
- * | LCTRL  | LWIN   | FN     | LALT   | RAISED | XXXXXX . SPACE  | LOWER  | RALT   | HOME   | END    | RCTRL  | LEFT   | DOWN   | RIGHT  |
+ * | LCTRL  | LWIN   | FN     | LALT   | UPPER  | XXXXXX . SPACE  | LOWER  | SHIFT  | RALT   | APP    | RCTRL  | LEFT   | DOWN   | RIGHT  |
  * '--------------------------------------------------------------------------------------------------------------------------------------'
  */
 
- [LAYER_COLEMAK]      = { /* COLEMAK */
+ [LAYER_COLEMAK]      = { // COLEMAK
   { 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_BSPC, KC_BSPC  },
   { KC_TAB,  KC_Q,    KC_W,    KC_F,    KC_P,    KC_G,    KC_J,    KC_L,    KC_U,    KC_Y,    KC_SCLN, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL   },
   { KC_BSPC, KC_A,    KC_R,    KC_S,    KC_T,    KC_D,    KC_H,    KC_N,    KC_E,    KC_I,    KC_O,    KC_QUOT, KC_ENT,  KC_ENT,  KC_PGUP  },
   { KC_LSFT, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_K,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_RSFT, KC_RSFT, KC_UP,   KC_PGDN  },
-  { KC_LCTL, KC_LGUI, M_FUNCT, KC_LALT, M_RAISE, KC_SPC,  KC_SPC,  M_LOWER, KC_RALT, KC_LGUI, KC_MENU, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT  },
- },
+  { KC_LCTL, KC_LGUI, M_FUNCT, KC_LALT, M_UPPER, KC_SPC,  KC_SPC,  M_LOWER, OS_SHFT, KC_RALT, KC_APP,  KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT  },
+},
 
 /* DVORAK
  * .---------------------------------------------------------------------------------------------------------------------- 2u ------------.
@@ -136,36 +143,63 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ---------------------+--------|
  * | LSHIFT | ;      | Q      | J      | K      | X      | B      | M      | W      | V      | Z      | XXXXXX . RSHIFT | UP     | PG DN  |
  * |--------+--------+--------+--------+--------+- 2u ------------+--------+--------+--------+--------+-----------------+--------+--------|
- * | LCTRL  | LWIN   | FN     | LALT   | RAISED | XXXXXX . SPACE  | LOWER  | RALT   | HOME   | END    | RCTRL  | LEFT   | DOWN   | RIGHT  |
+ * | LCTRL  | LWIN   | FN     | LALT   | UPPER  | XXXXXX . SPACE  | LOWER  | SHIFT  | RALT   | APP    | RCTRL  | LEFT   | DOWN   | RIGHT  |
  * '--------------------------------------------------------------------------------------------------------------------------------------'
  */
 
- [LAYER_DVORAK]       = { /* DVORAK */
+ [LAYER_DVORAK]       = { // DVORAK
   { KC_ESC,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_LBRC, KC_RBRC, KC_BSPC, KC_BSPC  },
   { KC_TAB,  KC_QUOT, KC_COMM, KC_DOT,  KC_P,    KC_Y,    KC_F,    KC_G,    KC_C,    KC_R,    KC_L,    KC_SLSH, KC_EQL,  KC_BSLS, KC_DEL   },
   { KC_CAPS, KC_A,    KC_O,    KC_E,    KC_U,    KC_I,    KC_D,    KC_H,    KC_T,    KC_N,    KC_S,    KC_MINS, KC_ENT,  KC_ENT,  KC_PGUP  },
   { KC_LSFT, KC_SCLN, KC_Q,    KC_J,    KC_K,    KC_X,    KC_B,    KC_M,    KC_W,    KC_V,    KC_Z,    KC_RSFT, KC_RSFT, KC_UP,   KC_PGDN  },
-  { KC_LCTL, KC_LGUI, M_FUNCT, KC_LALT, M_RAISE, KC_SPC,  KC_SPC,  M_LOWER, KC_RALT, KC_LGUI, KC_MENU, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT  },
+  { KC_LCTL, KC_LGUI, M_FUNCT, KC_LALT, M_UPPER, KC_SPC,  KC_SPC,  M_LOWER, OS_SHFT, KC_RALT, KC_APP,  KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT  },
  },
 
+/* UPPER
+ * .---------------------------------------------------------------------------------------------------------------------- 2u ------------.
+ * | PRINT  | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | NUM LK | /      | *      | -      | NUM LK | SCR LK | XXXXXX . PAUSE  |
+ * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------|
+ * |        | F1     | F2     | F3     | F4     |        |        | 7      | 8      | 9      | +      | ~      |        |        | INS    |
+ * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ------------+--------|
+ * | CAP LK | F5     | F6     | F7     | F8     |        |        | 4      | 5      | 6      | +      | `      | XXXXXX .        | HOME   |
+ * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ---------------------+--------|
+ * |        | F9     | F10    | F11    | F12    |        |        | 1      | 2      | 3      | ENTER  | XXXXXX .        |        | END    |
+ * |--------+--------+--------+--------+--------+- 2u ------------+--------+--------+--------+--------+-----------------+--------+--------|
+ * |        |        |        |        |        | 0               |        | RALT   | .      | ENTER  |        |        |        |        |
+ * '--------------------------------------------------------------------------------------------------------------------------------------'
+ */
 
- [LAYER_LOWER]        = { /* LOWERED */
-  { KC_GRV,  KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,   KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12,  ________________  },
-  { _______, _______, _______, _______, SC_CCLS, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS   },
-  { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, ________________, KC_HOME  },
-  { _______, SC_REDO, _______, _______, _______, _______, _______, _______, _______, _______, _______, ________________, _______, KC_END   },
-  { _______, _______, _______, _______, _______, KC_BSPC, KC_BSPC, _______, _______, _______, _______, _______, _______, _______, _______  },
+ [LAYER_UPPER]        = { // UPPER
+  { KC_PSCR, M_BRTOG, M_BSPDU, M_BSPDD, M_BDFLT, XXXXXXX, XXXXXXX, KC_NLCK, KC_PSLS, KC_PAST, XXXXXXX, XXXXXXX, KC_SLCK, KC_PAUS, KC_PAUS  },
+  { _______, KC_F1,   KC_F2,   KC_F3,   KC_F4,   XXXXXXX, XXXXXXX, KC_KP_7, KC_KP_8, KC_KP_9, KC_PMNS, _______, _______, _______, KC_INS   },
+  { KC_CAPS, KC_F5,   KC_F6,   KC_F7,   KC_F8,   XXXXXXX, XXXXXXX, KC_KP_4, KC_KP_5, KC_KP_6, KC_PPLS, _______, ________________, KC_HOME  },
+  { _______, KC_F9,   KC_F10,  KC_F11,  KC_F12,  XXXXXXX, XXXXXXX, KC_KP_1, KC_KP_2, KC_KP_3, KC_PENT, ________________, _______, KC_END   },
+  { _______, _______, _______, _______, _______, KC_KP_0, KC_KP_0, _______, KC_RALT, KC_PDOT, KC_PENT, _______, _______, _______, _______  },
  },
 
- [LAYER_RAISE]        = { /* RAISED */
-  { KC_TILD, KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,   KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12,  ________________  },
-  { _______, _______, _______, _______, SC_ACLS, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS   },
-  { _______, SC_SELA, SC_SAVE, _______, _______, _______, _______, _______, _______, _______, _______, _______, ________________, KC_HOME  },
-  { _______, SC_UNDO, SC_CUT,  SC_COPY, SC_PSTE, _______, _______, _______, _______, _______, _______, ________________, _______, KC_END   },
+/* LOWER
+ * .---------------------------------------------------------------------------------------------------------------------- 2u ------------.
+ * |        | F1     | F2     | F3     | F4     | F5     | F6     | F7     | F8     | F9     | F10    | F11    | F12    | XXXXXX . BACKSP |
+ * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------|
+ * |        | $      | {      | [      | (      | %      | #      | )      | ]      | }      | @      |        |        |        | INS    |
+ * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ------------+--------|
+ * |        | ^      | *      | +      | -      | ;      | :      | _      | '      | "      | `      |        | XXXXXX .        | HOME   |
+ * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ---------------------+--------|
+ * |        | |      | &      | !      | ~      | /      | \      | =      | <      | >      | ?      | XXXXXX .        |        | END    |
+ * |--------+--------+--------+--------+--------+- 2u ------------+--------+--------+--------+--------+-----------------+--------+--------|
+ * |        |        |        |        |        |                 |        |        |        |        |        |        |        |        |
+ * '--------------------------------------------------------------------------------------------------------------------------------------'
+ */
+
+ [LAYER_LOWER]        = { // LOWER
+  { _______, 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_DLR,  KC_LCBR, KC_LBRC, KC_LPRN, KC_PERC, KC_HASH, KC_RPRN, KC_RBRC, KC_RCBR, KC_AT,   _______, _______, _______, KC_INS   },
+  { _______, KC_CIRC, KC_ASTR, KC_PPLS, KC_PMNS, KC_SCLN, KC_COLN, KC_UNDS, KC_QUOT, KC_DQT,  KC_GRV,  _______, ________________, KC_HOME  },
+  { _______, KC_PIPE, KC_AMPR, KC_EXLM, KC_TILD, KC_SLSH, KC_BSLS, KC_EQL,  KC_LT,   KC_GT,   KC_QUES, ________________, _______, KC_END   },
   { _______, _______, _______, _______, _______, ________________, _______, _______, _______, _______, _______, _______, _______, _______  },
  },
 
- [LAYER_FUNCTION]     = { /* FUNCTION */
+ [LAYER_FUNCTION]     = { // FUNCTION
   { KC_NLCK, 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_SLCK, KC_F13,  KC_F14,  KC_F15,  KC_F16,  KC_F17,  KC_F18,  KC_F19,  KC_F20,  KC_F21,  KC_F22,  KC_F23,  KC_F24,  _______, KC_PAUS  },
   { KC_CAPS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, ________________, KC_PSCR  },
@@ -175,7 +209,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
 #ifdef MOUSEKEY_ENABLE
 
- [LAYER_MOUSE]        = { /* MOUSE */
+ [LAYER_MOUSE]        = { // MOUSE
   { _______, KC_ACL0, KC_ACL1, KC_ACL2, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXXXXXXXXXXX  },
   { XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX  },
   { XXXXXXX, KC_BTN5, KC_BTN4, KC_BTN3, KC_BTN2, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXXXXXXXXXXX, KC_WH_U  },
@@ -185,25 +219,25 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
 #endif
 
- [LAYER_MUSIC]        = { /* MUSIC */
+ [LAYER_MUSIC]        = { // MUSIC
   { XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX  },
   { XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX  },
   { XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX  },
   { XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX  },
-  { XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, M_RAISE, XXXXXXX, XXXXXXX, M_LOWER, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX  },
+  { XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, M_UPPER, XXXXXXX, XXXXXXX, M_LOWER, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX  },
  },
 
- [LAYER_ADJUST]       = { /* ADJUST */
-  { _______, TIMBR_1, TIMBR_2, TIMBR_3, TIMBR_4, TMPO_UP, TMPO_DN, TMPO_DF, _______, MUS_ON,  MUS_OFF, AUD_ON,  AUD_OFF, ________________  },
+ [LAYER_ADJUST]       = { // ADJUST
+  { _______, TIMBR_1, TIMBR_2, TIMBR_3, TIMBR_4, TMPO_UP, TMPO_DN, TMPO_DF, _______, _______, _______, MUS_TOG, AUD_TOG, ________________  },
   { _______, M_QWRTY, M_COLMK, M_DVORK, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______  },
   { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, ________________, _______  },
-  { _______, _______, _______, _______, _______, RESET,   _______, M_MOUSE, _______, _______, _______, ________________, VC_UP,   _______  },
+  { _______, _______, _______, _______, M_BACKL, RESET,   _______, M_MOUSE, _______, _______, _______, ________________, VC_UP,   _______  },
   { _______, _______, _______, _______, _______, ________________, _______, _______, _______, _______, _______, _______, VC_DOWN, _______  },
  },
 
 
 /*
- [LAYER_EMPTY]        = {
+ [LAYER_EMPTY]        = { // LAYER
   { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, ________________  },
   { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______  },
   { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, ________________, _______  },
@@ -242,6 +276,7 @@ void persistant_default_layer_set(uint16_t default_layer)
 }
 
 const uint16_t PROGMEM fn_actions[] = {
+    [0] = ACTION_MODS_ONESHOT(MOD_LSFT),
 };
 
 const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
@@ -251,11 +286,41 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
     switch(id)
     {
 
+        case MACRO_BREATH_TOGGLE:
+            if (record->event.pressed)
+            {
+                breathing_toggle();
+            }
+            break;
+
+        case MACRO_BREATH_SPEED_INC:
+            if (record->event.pressed)
+            {
+                breathing_speed_inc(1);
+            }
+            break;
+
+        case MACRO_BREATH_SPEED_DEC:
+            if (record->event.pressed)
+            {
+                breathing_speed_dec(1);
+            }
+            break;
+
+        case MACRO_BREATH_DEFAULT:
+            if (record->event.pressed)
+            {
+                breathing_defaults();
+            }
+            break;
+
         case MACRO_QWERTY:
             if (record->event.pressed)
             {
                 persistant_default_layer_set(1UL<<LAYER_QWERTY);
-                PLAY_NOTE_ARRAY(tone_qwerty, false, STACCATO);
+                #ifdef AUDIO_ENABLE
+                    PLAY_NOTE_ARRAY(tone_qwerty, false, STACCATO);
+                #endif /* AUDIO_ENABLE */
             }
             break;
 
@@ -263,7 +328,9 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
             if (record->event.pressed)
             {
                 persistant_default_layer_set(1UL<<LAYER_COLEMAK);
-                PLAY_NOTE_ARRAY(tone_colemak, false, STACCATO);
+                #ifdef AUDIO_ENABLE
+                    PLAY_NOTE_ARRAY(tone_colemak, false, STACCATO);
+                #endif /* AUDIO_ENABLE */
             }
             break;
 
@@ -271,44 +338,53 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
             if (record->event.pressed)
             {
                 persistant_default_layer_set(1UL<<LAYER_DVORAK);
-                PLAY_NOTE_ARRAY(tone_dvorak, false, STACCATO);
+                #ifdef AUDIO_ENABLE
+                    PLAY_NOTE_ARRAY(tone_dvorak, false, STACCATO);
+                #endif /* AUDIO_ENABLE */
             }
             break;
 
-
-        case MACRO_LOWER:
+        case MACRO_UPPER:
             if (record->event.pressed)
             {
-                layer_on(LAYER_LOWER);
-                update_tri_layer(LAYER_LOWER, LAYER_RAISE, LAYER_ADJUST);
+                layer_on(LAYER_UPPER);
+                breathing_speed_set(2);
+                breathing_pulse();
+                update_tri_layer(LAYER_LOWER, LAYER_UPPER, LAYER_ADJUST);
             }
             else
             {
-                layer_off(LAYER_LOWER);
-                update_tri_layer(LAYER_LOWER, LAYER_RAISE, LAYER_ADJUST);
+                layer_off(LAYER_UPPER);
+                update_tri_layer(LAYER_LOWER, LAYER_UPPER, LAYER_ADJUST);
             }
             break;
 
-        case MACRO_RAISE:
+        case MACRO_LOWER:
             if (record->event.pressed)
             {
-                layer_on(LAYER_RAISE);
-                update_tri_layer(LAYER_LOWER, LAYER_RAISE, LAYER_ADJUST);
+                layer_on(LAYER_LOWER);
+                breathing_speed_set(2);
+                breathing_pulse();
+                update_tri_layer(LAYER_LOWER, LAYER_UPPER, LAYER_ADJUST);
             }
             else
             {
-                layer_off(LAYER_RAISE);
-                update_tri_layer(LAYER_LOWER, LAYER_RAISE, LAYER_ADJUST);
+                layer_off(LAYER_LOWER);
+                update_tri_layer(LAYER_LOWER, LAYER_UPPER, LAYER_ADJUST);
             }
             break;
 
         case MACRO_FUNCTION:
             if (record->event.pressed)
             {
+                breathing_speed_set(3);
+                breathing_enable();
                 layer_on(LAYER_FUNCTION);
             }
             else
             {
+                breathing_speed_set(1);
+                breathing_self_disable();
                 layer_off(LAYER_FUNCTION);
             }
             break;
@@ -324,6 +400,7 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
 
 #endif /* MOUSEKEY_ENABLE */
 
+#ifdef AUDIO_ENABLE
 
         case MACRO_TIMBRE_1:
             if (record->event.pressed) set_timbre(TIMBRE_12);
@@ -357,42 +434,34 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
             }
             break;
 
-        case MACRO_AUDIO_OFF:
+        case MACRO_AUDIO_TOGGLE:
             if (record->event.pressed)
             {
-                #ifdef AUDIO_ENABLE
-                    audio_off();
-                #endif
-            }
-            break;
-
-        case MACRO_AUDIO_ON:
-            if (record->event.pressed)
-            {
-                #ifdef AUDIO_ENABLE
-                    audio_on();
-                PLAY_NOTE_ARRAY(tone_audio_on, false, STACCATO);
-                #endif
+                    if (is_audio_on())
+                    {
+                        audio_off();
+                    }
+                    else
+                    {
+                        audio_on();
+                        PLAY_NOTE_ARRAY(tone_audio_on, false, STACCATO);
+                    }
             }
             break;
 
-        case MACRO_MUSIC_ON:
+        case MACRO_MUSIC_TOGGLE:
             if (record->event.pressed)
             {
-                #ifdef AUDIO_ENABLE
+                    if (IS_LAYER_ON(LAYER_MUSIC))
+                    {
+                        layer_off(LAYER_MUSIC);
+                        stop_all_notes();
+                    }
+                    else
+                    {
                     PLAY_NOTE_ARRAY(tone_music_on, false, STACCATO);
                     layer_on(LAYER_MUSIC);
-                #endif
-            }
-            break;
-
-        case MACRO_MUSIC_OFF:
-            if (record->event.pressed)
-            {
-                #ifdef AUDIO_ENABLE
-                    layer_off(LAYER_MUSIC);
-                    stop_all_notes();
-                #endif
+                    }
             }
             break;
 
@@ -416,6 +485,16 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
             }
             break;
 
+#endif /* AUDIO_ENABLE */
+
+#ifdef BACKLIGHT_ENABLE
+        case MACRO_BACKLIGHT:
+            if (record->event.pressed)
+            {
+                backlight_step();
+            }
+#endif
+
         default:
             break;
 
@@ -460,36 +539,40 @@ void led_set_user(uint8_t usb_led)
 
     _delay_ms(10); // gets rid of tick
 
-    if ((usb_led & (1<<USB_LED_CAPS_LOCK)) && !(old_usb_led & (1<<USB_LED_CAPS_LOCK)))
+    if (!is_playing_notes())
     {
-            // If CAPS LK LED is turning on...
-            PLAY_NOTE_ARRAY(tone_caps_on,  false, LEGATO);
-    }
-    else if (!(usb_led & (1<<USB_LED_CAPS_LOCK)) && (old_usb_led & (1<<USB_LED_CAPS_LOCK)))
-    {
-            // If CAPS LK LED is turning off...
-            PLAY_NOTE_ARRAY(tone_caps_off, false, LEGATO);
-    }
-    else if ((usb_led & (1<<USB_LED_NUM_LOCK)) && !(old_usb_led & (1<<USB_LED_NUM_LOCK)))
-    {
-            // If NUM LK LED is turning on...
-            PLAY_NOTE_ARRAY(tone_numlk_on,  false, LEGATO);
-    }
-    else if (!(usb_led & (1<<USB_LED_NUM_LOCK)) && (old_usb_led & (1<<USB_LED_NUM_LOCK)))
-    {
-            // If NUM LED is turning off...
-            PLAY_NOTE_ARRAY(tone_numlk_off, false, LEGATO);
-    }
-    else if ((usb_led & (1<<USB_LED_SCROLL_LOCK)) && !(old_usb_led & (1<<USB_LED_SCROLL_LOCK)))
-    {
-            // If SCROLL LK LED is turning on...
-            PLAY_NOTE_ARRAY(tone_scroll_on,  false, LEGATO);
-    }
-    else if (!(usb_led & (1<<USB_LED_SCROLL_LOCK)) && (old_usb_led & (1<<USB_LED_SCROLL_LOCK)))
-    {
-            // If SCROLL LED is turning off...
-            PLAY_NOTE_ARRAY(tone_scroll_off, false, LEGATO);
+        if ((usb_led & (1<<USB_LED_CAPS_LOCK)) && !(old_usb_led & (1<<USB_LED_CAPS_LOCK)))
+        {
+                // If CAPS LK LED is turning on...
+                PLAY_NOTE_ARRAY(tone_caps_on,  false, LEGATO);
+        }
+        else if (!(usb_led & (1<<USB_LED_CAPS_LOCK)) && (old_usb_led & (1<<USB_LED_CAPS_LOCK)))
+        {
+                // If CAPS LK LED is turning off...
+                PLAY_NOTE_ARRAY(tone_caps_off, false, LEGATO);
+        }
+        else if ((usb_led & (1<<USB_LED_NUM_LOCK)) && !(old_usb_led & (1<<USB_LED_NUM_LOCK)))
+        {
+                // If NUM LK LED is turning on...
+                PLAY_NOTE_ARRAY(tone_numlk_on,  false, LEGATO);
+        }
+        else if (!(usb_led & (1<<USB_LED_NUM_LOCK)) && (old_usb_led & (1<<USB_LED_NUM_LOCK)))
+        {
+                // If NUM LED is turning off...
+                PLAY_NOTE_ARRAY(tone_numlk_off, false, LEGATO);
+        }
+        else if ((usb_led & (1<<USB_LED_SCROLL_LOCK)) && !(old_usb_led & (1<<USB_LED_SCROLL_LOCK)))
+        {
+                // If SCROLL LK LED is turning on...
+                PLAY_NOTE_ARRAY(tone_scroll_on,  false, LEGATO);
+        }
+        else if (!(usb_led & (1<<USB_LED_SCROLL_LOCK)) && (old_usb_led & (1<<USB_LED_SCROLL_LOCK)))
+        {
+                // If SCROLL LED is turning off...
+                PLAY_NOTE_ARRAY(tone_scroll_off, false, LEGATO);
+        }
     }
+
     old_usb_led = usb_led;
 }
 
@@ -503,7 +586,8 @@ void play_startup_tone()
 void play_goodbye_tone()
 {
     PLAY_NOTE_ARRAY(tone_my_goodbye, false, STACCATO);
-    _delay_ms(1000);
+    _delay_ms(2000);
+    stop_all_notes();
 }
 
 #endif /* AUDIO_ENABLE */
\ No newline at end of file
index eefa42855fd7d504495b1b9dc1200b353c848b8b..f7798b09d5cb24b321974f5626d57431ae430f4c 100644 (file)
@@ -4,7 +4,7 @@ EXTRAKEY_ENABLE  = yes # Audio control and System control(+450)
 CONSOLE_ENABLE   = no  # Console for debug(+400)
 COMMAND_ENABLE   = yes # Commands for debug and configuration
 NKRO_ENABLE      = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-BACKLIGHT_ENABLE = no  # Enable keyboard backlight functionality
+BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
 MIDI_ENABLE      = no  # MIDI controls
 AUDIO_ENABLE     = yes # Audio output on port C6
 UNICODE_ENABLE   = no  # Unicode
index ca0cd7e47a084acc7fe0e1de44cd6021cd3d85f8..55d3b62b9293b68a270d4fd7ff754806e67ce527 100644 (file)
@@ -36,7 +36,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 // Change this to how you wired your keyboard
 // COLS: Left to right, ROWS: Top to bottom
 #if defined(ATREUS_ASTAR)
-  #define COLS (int []){ B7, D6, F7, F6, B6, D4, E6, B4, B5, C6, D7 }
+  #define COLS (int []){ D7, C6, B5, B4, E6, D4, B6, F6, F7, D6, B7 }
   #define ROWS (int []){ D0, D1, D3, D2 }
 #elif defined(ATREUS_TEENSY2)
   #define COLS (int []){ F6, F5, F4, B7, B6, B5, B4, B3, B2, B1, B0}
diff --git a/keyboard/clueboard1/Makefile b/keyboard/clueboard1/Makefile
new file mode 100644 (file)
index 0000000..7192a97
--- /dev/null
@@ -0,0 +1,137 @@
+#----------------------------------------------------------------------------
+# 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 = clueboard1
+
+
+# Directory common source filess exist
+TOP_DIR = ../..
+TMK_DIR = ../../tmk_core
+
+# Directory keyboard dependent files exist
+TARGET_DIR = .
+
+# # project specific files
+SRC = clueboard1.c \
+                       led.c
+
+ifdef KEYMAP
+    SRC := keymaps/keymap_$(KEYMAP).c $(SRC)
+else
+    SRC := keymaps/keymap_default.c $(SRC)
+endif
+
+CONFIG_H = config.h
+
+# MCU name
+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
+
+
+# Build Options
+#   comment out to disable the options.
+#
+BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000)
+MOUSEKEY_ENABLE = no   # 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
+NKRO_ENABLE = yes              # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+AUDIO_ENABLE = no
+RGBLIGHT_ENABLE = no   # Enable keyboard underlight functionality
+MIDI_ENABLE = no               # MIDI controls
+UNICODE_ENABLE = no            # Unicode
+BLUETOOTH_ENABLE = no # 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)
+
+include $(TOP_DIR)/quantum/quantum.mk
diff --git a/keyboard/clueboard1/clueboard1.c b/keyboard/clueboard1/clueboard1.c
new file mode 100644 (file)
index 0000000..289e464
--- /dev/null
@@ -0,0 +1,23 @@
+#include "clueboard1.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) {
+       #ifdef RGBLIGHT_ENABLE
+               rgblight_init();
+       #endif
+
+       matrix_init_user();
+}
+
+void matrix_scan_kb(void) {
+       matrix_scan_user();
+}
diff --git a/keyboard/clueboard1/clueboard1.h b/keyboard/clueboard1/clueboard1.h
new file mode 100644 (file)
index 0000000..839a81a
--- /dev/null
@@ -0,0 +1,52 @@
+#ifndef CLUEBOARD1_H
+#define CLUEBOARD1_H
+
+#include "matrix.h"
+#include "keymap_common.h"
+#include <stddef.h>
+
+
+/* Clueboard matrix layout
+ * ,-----------------------------------------------------------.  ,---.
+ * | 00| 01| 02| 03| 04| 05| 06| 07| 08| 09| 0A| 0B| 0C| 0D| 0E|  | 0F|
+ * |-----------------------------------------------------------|  |---|
+ * |   10| 11| 12| 13| 14| 15| 16| 17| 18| 19| 1A| 1B| 1C|   1D|  | 1F|
+ * |-----------------------------------------------------------|  `---'
+ * |    20| 21| 22| 23| 24| 25| 26| 27| 28| 29| 2A| 2B| 2C|  2D|
+ * |------------------------------------------------------------.
+ * |  30| 31| 32| 33| 34| 35| 36| 37| 38| 39| 3A| 3B| 3C|  3D|3E|
+ * |------------------------------------------------------------------.
+ * |  40| 41|  42|  43|   45|       46|   49|  4A|  4B| 4C| 4D| 4E| 4F|
+ * `------------------------------------------------------------------'
+ * ,-----------------------------------------------------------.  ,---.
+ * |  `|  1|  2|  3|  4|  5|  6|  7|  8|  9|  0|  -|  =|Yen| BS|  |Ins|
+ * |-----------------------------------------------------------|  |---|
+ * |Tab  |  Q|  W|  E|  R|  T|  Y|  U|  I|  O|  P|  [|  ]|    \|  |Del|
+ * |-----------------------------------------------------------|  `---'
+ * |Caps  |  A|  S|  D|  F|  G|  H|  J|  k|  L|  ;|  '| # | Ent|
+ * |--------------------------------------------------------------.
+ * |Shift| \|  Z|  X|  C|  V|  B|  N|  M|  ,|  .|  /|  \|Shift| Up|
+ * |------------------------------------------------------------------.
+ * |Ctrl|Alt|Gui |MHen| Space| Space|Henk|Gui |Ctrl|  Fn|Left|Down|Rgt|
+ * `------------------------------------------------------------------'
+ */
+// The first section contains all of the arguements
+// The second converts the arguments into a two-dimensional array
+#define KEYMAP( \
+    k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, k0F, \
+    k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D,      k1F, \
+    k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, \
+    k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k3E, \
+    k40, k41, k42, k43,      k45, k46,           k49, k4A, k4B, k4C, k4D, k4E, k4F \
+) { \
+    { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D,    k0E,      k0F }, \
+    { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D,    KC_NO,    k1F }, \
+    { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D }, \
+    { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k3E }, \
+    { k40, k41, k42, k43, KC_NO,    k45, k46, KC_NO,    KC_NO,    k49, k4A, k4B, k4C, k4D, k4E, k4F }  \
+}
+
+void matrix_init_user(void);
+void matrix_scan_user(void);
+
+#endif
diff --git a/keyboard/clueboard1/config.h b/keyboard/clueboard1/config.h
new file mode 100644 (file)
index 0000000..2b20c38
--- /dev/null
@@ -0,0 +1,96 @@
+/*
+Copyright 2012 Jun Wako <wakojun@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       0xC1ED
+#define PRODUCT_ID      0x2301
+#define DEVICE_VER      0x0003
+#define MANUFACTURER    Clueboard
+#define PRODUCT         Clueboard
+#define DESCRIPTION     QMK keyboard firmware for Clueboard
+
+/* key matrix size */
+#define MATRIX_ROWS 5
+#define MATRIX_COLS 16
+
+// COLS: Left to right, ROWS: Top to bottom
+
+/* Column pin configuration
+ * col: 0  1  2  3  4  5  6  7  8  9  10 11 12 13 14 15
+ * pin: B3 F1 F4 F5 F6 C7 C6 B6 B5 B4 D7 D6 D4 F7 B0 B1
+ */
+#define COLS (int []){ B3, F1, F4, F5, F6, C7, C6, B6, B5, B4, D7, D6, D4, F7, B0, B1 }
+
+ /* Row pin configuration
+ * row: 0  1  2  3  4
+ * pin: D1 D0 D2 D5 D3
+ */
+#define ROWS (int []){ D1, D0, D2, D5, D3 }
+
+/* COL2ROW or ROW2COL */
+#define DIODE_DIRECTION COL2ROW
+
+/* define if matrix has ghost */
+//#define MATRIX_HAS_GHOST
+
+/* 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)) \
+)
+
+/* Underlight configuration
+ */
+ #define ws2812_PORTREG PORTB
+ #define ws2812_DDRREG DDRB
+ #define ws2812_pin 2
+ #define RGBLED_NUM 14     // Number of LEDs
+ #define RGBLIGHT_HUE_STEP 10
+ #define RGBLIGHT_SAT_STEP 17
+ #define RGBLIGHT_VAL_STEP 17
+
+/*
+ * 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/clueboard1/keymaps/keymap_default.c b/keyboard/clueboard1/keymaps/keymap_default.c
new file mode 100644 (file)
index 0000000..3f4f3c4
--- /dev/null
@@ -0,0 +1,184 @@
+#include "clueboard1.h"
+
+#ifdef RGBLIGHT_ENABLE
+#include "rgblight.h"
+#endif
+
+// Used for SHIFT_ESC
+#define MODS_CTRL_MASK  (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT))
+
+// Each layer gets a name for readability, which is then used in the keymap matrix below.
+// The underscores don't mean anything - you can have a layer called STUFF or any other name.
+// Layer names don't all need to be of the same length, obviously, and you can also skip them
+// entirely and just use numbers.
+#define _BL 0
+#define _FL 1
+#define _RS 2
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+  /* Keymap _BL: (Base Layer) Default Layer
+   * ,--------------------------------------------------------------------------.  ,----.
+   * |Esc~|   1|   2|   3|   4|   5|   6|   7|   8|   9|   0|   -|   =|   \|  BS|  |PGUP|
+   * |--------------------------------------------------------------------------|  |----|
+   * |   Tab|   Q|   W|   E|   R|   T|   Y|   U|   I|   O|   P|   [|   ]|      \|  |PGDN|
+   * |--------------------------------------------------------------------------|  `----'
+   * |Capslck|   A|   S|   D|   F|   G|   H|   J|   K|   L|   ;|   '|   # |  Ent|
+   * |-----------------------------------------------------------------------------.
+   * |Shift|  BS|   Z|   X|   C|   V|   B|   N|   M|   ,|   .|   /|   BS|Shift|  UP|
+   * |------------------------------------------------------------------------|----|----.
+   * | Ctrl|  Gui|  Alt| MHen|    Space|    Space|  Hen|  Alt| Ctrl|  _FL|LEFT|DOWN|RGHT|
+   * `----------------------------------------------------------------------------------'
+   */
+[_BL] = KEYMAP(
+  F(0),    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_GRV,  KC_BSPC,          KC_PGUP, \
+  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_BSLS,                   KC_PGDN, \
+  KC_CAPS, KC_A,    KC_S,   KC_D,   KC_F,   KC_G,   KC_H,   KC_J,   KC_K,   KC_L,    KC_SCLN,  KC_QUOT,  KC_NUHS,  KC_ENT,                             \
+  KC_LSFT, KC_NUBS, KC_Z,   KC_X,   KC_C,   KC_V,   KC_B,   KC_N,   KC_M,   KC_COMM, KC_DOT,   KC_SLSH,  KC_RO,    KC_RSFT,          KC_UP,            \
+  KC_LCTL, KC_LGUI, KC_LALT, KC_MHEN,          KC_SPC,KC_SPC,                        KC_HENK,  KC_RALT,  KC_RCTL,  MO(_FL), KC_LEFT, KC_DOWN, KC_RGHT),
+
+  /* Keymap _FL: Function Layer
+   * ,--------------------------------------------------------------------------.  ,----.
+   * |   `|  F1|  F2|  F3|  F4|  F5|  F6|  F7|  F8|  F9| F10| F11| F12|    | Del|  |BLIN|
+   * |--------------------------------------------------------------------------|  |----|
+   * |      |    |    |    |    |    |    |    |PScr|SLck|Paus|    |    |       |  |BLDE|
+   * |--------------------------------------------------------------------------|  `----'
+   * |       |    | _RS|    |    |    |    |    |    |    |    |    |     |     |
+   * |-----------------------------------------------------------------------------.
+   * |     |    |    |    |    |    |    |    |    |    |    |    |     |     |PGUP|
+   * |------------------------------------------------------------------------|----|----.
+   * |     |     |     |     |         |         |     |     |     |  _FL|HOME|PGDN| END|
+   * `----------------------------------------------------------------------------------'
+   */
+[_FL] = KEYMAP(
+  KC_GRV,  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_TRNS, KC_DEL,           BL_STEP, \
+  KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_PSCR,KC_SLCK, KC_PAUS,  KC_TRNS,  KC_TRNS,  KC_TRNS,                   KC_TRNS, \
+  KC_TRNS, KC_TRNS, MO(_RS),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_PGUP,         \
+  KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,        KC_TRNS,KC_TRNS,                        KC_TRNS,  KC_TRNS,  KC_TRNS,  MO(_FL), KC_HOME, KC_PGDN, KC_END),
+
+  /* Keymap _RS: Reset layer
+   * ,--------------------------------------------------------------------------.  ,----.
+   * |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |  |    |
+   * |--------------------------------------------------------------------------|  |----|
+   * |      |    |    |    |RESET|   |    |    |    |    |    |    |    |       |  |    |
+   * |--------------------------------------------------------------------------|  `----'
+   * |       |    | _RS|    |    |    |    |    |    |    |    |    |     |     |
+   * |-----------------------------------------------------------------------------.
+   * |     |    |    |    |    |    |    |    |    |    |    |    |     |     |    |
+   * |------------------------------------------------------------------------|----|----.
+   * |     |     |     |     |         |         |     |     |     |  _FL|    |    |    |
+   * `----------------------------------------------------------------------------------'
+   */
+[_RS] = KEYMAP(
+  #ifdef RGBLIGHT_ENABLE
+  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, F(1),             F(7), \
+  KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,RESET,  KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,                   F(8), \
+  KC_TRNS, KC_TRNS, MO(_RS),KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,                         \
+  MO(_FL), KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,  KC_TRNS,  KC_TRNS,  MO(_FL),          F(5),          \
+  KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,        F(2),   F(2),                            KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS, F(4),    F(6),    F(3)),
+  #else
+  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,RESET,  KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,                   KC_TRNS, \
+  KC_TRNS, KC_TRNS, MO(_RS),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_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,        KC_TRNS,KC_TRNS,                        KC_TRNS,  KC_TRNS,  KC_TRNS,  MO(_FL), KC_TRNS, KC_TRNS, KC_TRNS),
+  #endif
+};
+
+enum function_id {
+    SHIFT_ESC,
+    #ifdef RGBLIGHT_ENABLE
+    RGBLED_TOGGLE,
+    RGBLED_STEP_MODE,
+    RGBLED_INCREASE_HUE,
+    RGBLED_DECREASE_HUE,
+    RGBLED_INCREASE_SAT,
+    RGBLED_DECREASE_SAT,
+    RGBLED_INCREASE_VAL,
+    RGBLED_DECREASE_VAL
+    #endif
+};
+
+const uint16_t PROGMEM fn_actions[] = {
+  [0]  = ACTION_FUNCTION(SHIFT_ESC),
+  #ifdef RGBLIGHT_ENABLE
+  [1]  = ACTION_FUNCTION(RGBLED_TOGGLE),
+  [2]  = ACTION_FUNCTION(RGBLED_STEP_MODE),
+  [3]  = ACTION_FUNCTION(RGBLED_INCREASE_HUE),
+  [4]  = ACTION_FUNCTION(RGBLED_DECREASE_HUE),
+  [5]  = ACTION_FUNCTION(RGBLED_INCREASE_SAT),
+  [6]  = ACTION_FUNCTION(RGBLED_DECREASE_SAT),
+  [7]  = ACTION_FUNCTION(RGBLED_INCREASE_VAL),
+  [8]  = ACTION_FUNCTION(RGBLED_DECREASE_VAL),
+  #endif
+};
+
+void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
+  static uint8_t shift_esc_shift_mask;
+  switch (id) {
+    case SHIFT_ESC:
+      shift_esc_shift_mask = get_mods()&MODS_CTRL_MASK;
+      if (record->event.pressed) {
+        if (shift_esc_shift_mask) {
+          add_key(KC_GRV);
+          send_keyboard_report();
+        } else {
+          add_key(KC_ESC);
+          send_keyboard_report();
+        }
+      } else {
+        if (shift_esc_shift_mask) {
+          del_key(KC_GRV);
+          send_keyboard_report();
+        } else {
+          del_key(KC_ESC);
+          send_keyboard_report();
+        }
+      }
+      break;
+    //led operations
+    #ifdef RGBLIGHT_ENABLE
+    case RGBLED_TOGGLE:
+      if (record->event.pressed) {
+        rgblight_toggle();
+      }
+
+      break;
+    case RGBLED_INCREASE_HUE:
+      if (record->event.pressed) {
+        rgblight_increase_hue();
+      }
+      break;
+    case RGBLED_DECREASE_HUE:
+      if (record->event.pressed) {
+        rgblight_decrease_hue();
+      }
+      break;
+    case RGBLED_INCREASE_SAT:
+      if (record->event.pressed) {
+        rgblight_increase_sat();
+      }
+      break;
+    case RGBLED_DECREASE_SAT:
+      if (record->event.pressed) {
+        rgblight_decrease_sat();
+      }
+      break;
+    case RGBLED_INCREASE_VAL:
+      if (record->event.pressed) {
+        rgblight_increase_val();
+      }
+      break;
+    case RGBLED_DECREASE_VAL:
+      if (record->event.pressed) {
+        rgblight_decrease_val();
+      }
+      break;
+    case RGBLED_STEP_MODE:
+      if (record->event.pressed) {
+        rgblight_step();
+      }
+      break;
+    #endif
+  }
+}
diff --git a/keyboard/clueboard1/led.c b/keyboard/clueboard1/led.c
new file mode 100644 (file)
index 0000000..f0dd566
--- /dev/null
@@ -0,0 +1,32 @@
+        /*
+Copyright 2012 Jun Wako <wakojun@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/>.
+*/
+
+#include <avr/io.h>
+#include "stdint.h"
+#include "led.h"
+
+
+void led_set_kb(uint8_t usb_led) {
+    DDRF |= (1<<0);
+    if (usb_led & (1<<USB_LED_CAPS_LOCK)) {
+        // Turn capslock on
+        PORTF |= (1<<0);
+    } else {
+        // Turn capslock off
+        PORTF &= ~(1<<0);
+    }
+}
diff --git a/keyboard/clueboard2/Makefile b/keyboard/clueboard2/Makefile
new file mode 100644 (file)
index 0000000..bcce8ac
--- /dev/null
@@ -0,0 +1,141 @@
+#----------------------------------------------------------------------------
+# 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 = clueboard2
+
+
+# Directory common source filess exist
+TOP_DIR = ../..
+TMK_DIR = ../../tmk_core
+
+# Directory keyboard dependent files exist
+TARGET_DIR = .
+
+# # project specific files
+SRC = clueboard2.c led.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
+
+
+# Build Options
+#   comment out to disable the options.
+#
+BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000)
+MOUSEKEY_ENABLE = no   # 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
+NKRO_ENABLE = yes              # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+RGBLIGHT_ENABLE = no   # Enable keyboard underlight functionality (+4870)
+BACKLIGHT_ENABLE = yes  # Enable keyboard backlight functionality (+1150)
+MIDI_ENABLE = no               # MIDI controls
+AUDIO_ENABLE = no
+UNICODE_ENABLE = no            # Unicode
+BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
+
+#ifdef BACKLIGHT_ENABLE
+    SRC := backlight.c $(SRC)
+#endif
+
+# 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)
+
+include $(TOP_DIR)/quantum/quantum.mk
diff --git a/keyboard/clueboard2/backlight.c b/keyboard/clueboard2/backlight.c
new file mode 100644 (file)
index 0000000..5dfa4ba
--- /dev/null
@@ -0,0 +1,41 @@
+
+#include <avr/io.h>
+#include "backlight.h"
+#include "print.h"
+
+/* Clueboard 2.0 LED locations:
+ *
+ * Capslock: B4, pull high to turn on
+ * LCtrl: Shared with Capslock, DO NOT INSTALL LED'S IN BOTH
+ * Page Up: B7, pull high to turn on
+ * Escape: D6, pull high to turn on
+ * Arrows: D4, pull high to turn on
+ */
+
+void init_backlight_pin(void) {
+    print("init_backlight_pin()\n");
+    // Set our LED pins as output
+    DDRD |= (1<<6); // Esc
+    DDRB |= (1<<7); // Page Up
+    DDRD |= (1<<4); // Arrows
+
+    // Set our LED pins low
+    PORTD &= ~(1<<6); // Esc
+    PORTB &= ~(1<<7); // Page Up
+    PORTD &= ~(1<<4); // Arrows
+}
+
+void backlight_set(uint8_t level) {
+    if ( level == 0 ) {
+        // Turn off light
+        PORTD |= (1<<6); // Esc
+        PORTB |= (1<<7); // Page Up
+        PORTD |= (1<<4); // Arrows
+    } else {
+        // Turn on light
+        PORTD &= ~(1<<6); // Esc
+        PORTB &= ~(1<<7); // Page Up
+        PORTD &= ~(1<<4); // Arrows
+    }
+}
+
diff --git a/keyboard/clueboard2/clueboard2.c b/keyboard/clueboard2/clueboard2.c
new file mode 100644 (file)
index 0000000..437f8d1
--- /dev/null
@@ -0,0 +1,44 @@
+#include "clueboard2.h"
+
+#ifdef BACKLIGHT_ENABLE
+#include "backlight.h"
+#endif
+
+__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)();
+       }
+       led_init_ports();
+
+    #ifdef BACKLIGHT_ENABLE
+        init_backlight_pin();
+    #endif
+
+    #ifdef RGBLIGHT_ENABLE
+        rgblight_init();
+    #endif
+
+    // JTAG disable for PORT F. write JTD bit twice within four cycles.
+    MCUCR |= (1<<JTD);
+    MCUCR |= (1<<JTD);
+};
+
+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/clueboard2/clueboard2.h b/keyboard/clueboard2/clueboard2.h
new file mode 100644 (file)
index 0000000..9f0d42d
--- /dev/null
@@ -0,0 +1,57 @@
+#ifndef CLUEBOARD2_H
+#define CLUEBOARD2_H
+
+#include "matrix.h"
+#include "keymap_common.h"
+#include <stddef.h>
+
+
+/* Clueboard matrix layout
+ * ,-----------------------------------------------------------.  ,---.
+ * | 00| 01| 02| 03| 04| 05| 06| 07| 50| 51| 52| 53| 54| 55| 56|  | 57|
+ * |-----------------------------------------------------------|  |---|
+ * |   10| 11| 12| 13| 14| 15| 16| 17| 60| 61| 62| 63| 64|   65|  | 67|
+ * |-----------------------------------------------------------|  `---'
+ * |    20| 21| 22| 23| 24| 25| 26| 27| 70| 71| 72| 73| 74|  75|
+ * |------------------------------------------------------------.
+ * |  30| 31| 32| 33| 34| 35| 36| 37| 80| 81| 82| 83| 84|  85|86|
+ * |------------------------------------------------------------------.
+ * |  40| 41|  42|  43|   45|       46|   90|  91|  92| 93| 94| 95| 96|
+ * `------------------------------------------------------------------'
+ * ,-----------------------------------------------------------.  ,---.
+ * |  `|  1|  2|  3|  4|  5|  6|  7|  8|  9|  0|  -|  =|Yen| BS|  |Ins|
+ * |-----------------------------------------------------------|  |---|
+ * |Tab  |  Q|  W|  E|  R|  T|  Y|  U|  I|  O|  P|  [|  ]|    \|  |Del|
+ * |-----------------------------------------------------------|  `---'
+ * |Caps  |  A|  S|  D|  F|  G|  H|  J|  k|  L|  ;|  '| # | Ent|
+ * |--------------------------------------------------------------.
+ * |Shift| \|  Z|  X|  C|  V|  B|  N|  M|  ,|  .|  /|  \|Shift| Up|
+ * |------------------------------------------------------------------.
+ * |Ctrl|Alt|Gui |MHen| Space| Space|Henk|Gui |Ctrl|  Fn|Left|Down|Rgt|
+ * `------------------------------------------------------------------'
+ */
+// The first section contains all of the arguments
+// The second converts the arguments into a two-dimensional array
+#define KEYMAP( \
+    k00, k01, k02, k03, k04, k05, k06, k07, k50, k51, k52, k53, k54, k55, k56, k57, \
+    k10, k11, k12, k13, k14, k15, k16, k17, k60, k61, k62, k63, k64, k65,      k67, \
+    k20, k21, k22, k23, k24, k25, k26, k27, k70, k71, k72, k73, k74, k75, \
+    k30, k31, k32, k33, k34, k35, k36, k37, k80, k81, k82, k83, k84, k85, k86, \
+    k40, k41, k42, k43,      k45, k46,      k90,      k92, k93, k94, k95, k96, k97 \
+) { \
+    { k00, k01, k02, k03, k04, k05, k06, k07 }, \
+    { k10, k11, k12, k13, k14, k15, k16, k17 }, \
+    { k20, k21, k22, k23, k24, k25, k26, k27 }, \
+    { k30, k31, k32, k33, k34, k35, k36, k37 }, \
+    { k40, k41, k42, k43, KC_NO, k45, k46, KC_NO }, \
+    { k50, k51, k52, k53, k54, k55, k56, k57 }, \
+    { k60, k61, k62, k63, k64, k65, KC_NO, k67 }, \
+    { k70, k71, k72, k73, k74, k75, KC_NO, KC_NO }, \
+    { k80, k81, k82, k83, k84, k85, k86, KC_NO }, \
+    { k90, KC_NO, k92, k93, k94, k95, k96, k97 }  \
+}
+
+void matrix_init_user(void);
+void matrix_scan_user(void);
+
+#endif
diff --git a/keyboard/clueboard2/config.h b/keyboard/clueboard2/config.h
new file mode 100644 (file)
index 0000000..04166c2
--- /dev/null
@@ -0,0 +1,100 @@
+/*
+Copyright 2012 Jun Wako <wakojun@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       0xC1ED
+#define PRODUCT_ID      0x2320
+#define DEVICE_VER      0x0001
+#define MANUFACTURER    Clueboard
+#define PRODUCT         Clueboard with RGB Underlighting
+#define DESCRIPTION     QMK keyboard firmware for Clueboard
+
+/* key matrix size */
+#define MATRIX_ROWS 10
+#define MATRIX_COLS 8
+
+// COLS: Left to right, ROWS: Top to bottom
+
+/* Column pin configuration
+ * col: 0  1  2  3  4  5  6  7
+ * pin: F0 F1 F4 F5 F6 F7 E6 B1
+ */
+#define COLS (int []){ F0, F1, F4, F5, F6, F7, E6, B1 }
+
+ /* Row pin configuration
+ * row: 0  1  2  3  4  5  6  7  8  9
+ * pin: B2 C7 C6 B6 B5 B0 B3 D5 D3 D2
+ */
+#define ROWS (int []){ B2, C7, C6, B6, B5, B0, B3, D5, D3, D2 }
+
+/* COL2ROW or ROW2COL */
+#define DIODE_DIRECTION COL2ROW
+
+/* define if matrix has ghost */
+//#define MATRIX_HAS_GHOST
+
+/* 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)) \
+)
+
+/* Backlight configuration
+ */
+#define BACKLIGHT_LEVELS 1
+
+/* Underlight configuration
+ */
+ #define ws2812_PORTREG PORTD
+ #define ws2812_DDRREG DDRD
+ #define ws2812_pin 7
+ #define RGBLED_NUM 14     // Number of LEDs
+ #define RGBLIGHT_HUE_STEP 10
+ #define RGBLIGHT_SAT_STEP 17
+ #define RGBLIGHT_VAL_STEP 17
+
+/*
+ * 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/clueboard2/keymaps/keymap_default.c b/keyboard/clueboard2/keymaps/keymap_default.c
new file mode 100644 (file)
index 0000000..73179f9
--- /dev/null
@@ -0,0 +1,183 @@
+#include "clueboard2.h"
+
+#ifdef RGBLIGHT_ENABLE
+#include "rgblight.h"
+#endif
+
+// Used for SHIFT_ESC
+#define MODS_CTRL_MASK  (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT))
+
+// Each layer gets a name for readability, which is then used in the keymap matrix below.
+// The underscores don't mean anything - you can have a layer called STUFF or any other name.
+// Layer names don't all need to be of the same length, obviously, and you can also skip them
+// entirely and just use numbers.
+#define _BL 0
+#define _FL 1
+#define _RS 2
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+  /* Keymap _BL: (Base Layer) Default Layer
+   * ,--------------------------------------------------------------------------.  ,----.
+   * |Esc~|   1|   2|   3|   4|   5|   6|   7|   8|   9|   0|   -|   =|   \|  BS|  |PGUP|
+   * |--------------------------------------------------------------------------|  |----|
+   * |   Tab|   Q|   W|   E|   R|   T|   Y|   U|   I|   O|   P|   [|   ]|      \|  |PGDN|
+   * |--------------------------------------------------------------------------|  `----'
+   * |Capslck|   A|   S|   D|   F|   G|   H|   J|   K|   L|   ;|   '|   # |  Ent|
+   * |-----------------------------------------------------------------------------.
+   * |Shift|  BS|   Z|   X|   C|   V|   B|   N|   M|   ,|   .|   /|   BS|Shift|  UP|
+   * |------------------------------------------------------------------------|----|----.
+   * | Ctrl|  Gui|  Alt| MHen|    Space|    Space|  Hen|  Alt| Ctrl|  _FL|LEFT|DOWN|RGHT|
+   * `----------------------------------------------------------------------------------'
+   */
+[_BL] = KEYMAP(
+  F(0),    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_GRV,  KC_BSPC,          KC_PGUP, \
+  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_BSLS,                   KC_PGDN, \
+  KC_CAPS, KC_A,    KC_S,   KC_D,   KC_F,   KC_G,   KC_H,   KC_J,   KC_K,   KC_L,    KC_SCLN,  KC_QUOT,  KC_NUHS,  KC_ENT,                             \
+  KC_LSFT, KC_NUBS, KC_Z,   KC_X,   KC_C,   KC_V,   KC_B,   KC_N,   KC_M,   KC_COMM, KC_DOT,   KC_SLSH,  KC_RO,    KC_RSFT,          KC_UP,            \
+  KC_LCTL, KC_LGUI, KC_LALT, KC_MHEN,          KC_SPC,KC_SPC,                        KC_HENK,  KC_RALT,  KC_RCTL,  MO(_FL), KC_LEFT, KC_DOWN, KC_RGHT),
+
+  /* Keymap _FL: Function Layer
+   * ,--------------------------------------------------------------------------.  ,----.
+   * |   `|  F1|  F2|  F3|  F4|  F5|  F6|  F7|  F8|  F9| F10| F11| F12|    | Del|  |BLIN|
+   * |--------------------------------------------------------------------------|  |----|
+   * |      |    |    |    |    |    |    |    |PScr|SLck|Paus|    |    |       |  |BLDE|
+   * |--------------------------------------------------------------------------|  `----'
+   * |       |    | _RS|    |    |    |    |    |    |    |    |    |     |     |
+   * |-----------------------------------------------------------------------------.
+   * |     |    |    |    |    |    |    |    |    |    |    |    |     |     |PGUP|
+   * |------------------------------------------------------------------------|----|----.
+   * |     |     |     |     |         |         |     |     |     |  _FL|HOME|PGDN| END|
+   * `----------------------------------------------------------------------------------'
+   */
+[_FL] = KEYMAP(
+  KC_GRV,  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_TRNS, KC_DEL,           BL_STEP, \
+  KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_PSCR,KC_SLCK, KC_PAUS,  KC_TRNS,  KC_TRNS,  KC_TRNS,                   KC_TRNS, \
+  KC_TRNS, KC_TRNS, MO(_RS),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_PGUP,         \
+  KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,        KC_TRNS,KC_TRNS,                        KC_TRNS,  KC_TRNS,  KC_TRNS,  MO(_FL), KC_HOME, KC_PGDN, KC_END),
+
+  /* Keymap _RS: Reset layer
+   * ,--------------------------------------------------------------------------.  ,----.
+   * |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |  |    |
+   * |--------------------------------------------------------------------------|  |----|
+   * |      |    |    |    |RESET|   |    |    |    |    |    |    |    |       |  |    |
+   * |--------------------------------------------------------------------------|  `----'
+   * |       |    | _RS|    |    |    |    |    |    |    |    |    |     |     |
+   * |-----------------------------------------------------------------------------.
+   * |     |    |    |    |    |    |    |    |    |    |    |    |     |     |    |
+   * |------------------------------------------------------------------------|----|----.
+   * |     |     |     |     |         |         |     |     |     |  _FL|    |    |    |
+   * `----------------------------------------------------------------------------------'
+   */
+[_RS] = KEYMAP(
+  #ifdef RGBLIGHT_ENABLE
+  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, F(1),             F(7), \
+  KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,RESET,  KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,                   F(8), \
+  KC_TRNS, KC_TRNS, MO(_RS),KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,                         \
+  MO(_FL), KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,  KC_TRNS,  KC_TRNS,  MO(_FL),          F(5),          \
+  KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,        F(2),   F(2),                            KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS, F(4),    F(6),    F(3)),
+  #else
+  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,RESET,  KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,                   KC_TRNS, \
+  KC_TRNS, KC_TRNS, MO(_RS),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_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,        KC_TRNS,KC_TRNS,                        KC_TRNS,  KC_TRNS,  KC_TRNS,  MO(_FL), KC_TRNS, KC_TRNS, KC_TRNS),
+  #endif
+};
+
+enum function_id {
+    SHIFT_ESC,
+    #ifdef RGBLIGHT_ENABLE
+    RGBLED_TOGGLE,
+    RGBLED_STEP_MODE,
+    RGBLED_INCREASE_HUE,
+    RGBLED_DECREASE_HUE,
+    RGBLED_INCREASE_SAT,
+    RGBLED_DECREASE_SAT,
+    RGBLED_INCREASE_VAL,
+    RGBLED_DECREASE_VAL
+    #endif
+};
+
+const uint16_t PROGMEM fn_actions[] = {
+  [0]  = ACTION_FUNCTION(SHIFT_ESC),
+  #ifdef RGBLIGHT_ENABLE
+  [1]  = ACTION_FUNCTION(RGBLED_TOGGLE),
+  [2]  = ACTION_FUNCTION(RGBLED_STEP_MODE),
+  [3]  = ACTION_FUNCTION(RGBLED_INCREASE_HUE),
+  [4]  = ACTION_FUNCTION(RGBLED_DECREASE_HUE),
+  [5]  = ACTION_FUNCTION(RGBLED_INCREASE_SAT),
+  [6]  = ACTION_FUNCTION(RGBLED_DECREASE_SAT),
+  [7]  = ACTION_FUNCTION(RGBLED_INCREASE_VAL),
+  [8]  = ACTION_FUNCTION(RGBLED_DECREASE_VAL),
+  #endif
+};
+
+void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
+  static uint8_t shift_esc_shift_mask;
+  switch (id) {
+    case SHIFT_ESC:
+      shift_esc_shift_mask = get_mods()&MODS_CTRL_MASK;
+      if (record->event.pressed) {
+        if (shift_esc_shift_mask) {
+          add_key(KC_GRV);
+          send_keyboard_report();
+        } else {
+          add_key(KC_ESC);
+          send_keyboard_report();
+        }
+      } else {
+        if (shift_esc_shift_mask) {
+          del_key(KC_GRV);
+          send_keyboard_report();
+        } else {
+          del_key(KC_ESC);
+          send_keyboard_report();
+        }
+      }
+      break;
+    //led operations
+    #ifdef RGBLIGHT_ENABLE
+    case RGBLED_TOGGLE:
+      if (record->event.pressed) {
+        rgblight_toggle();
+      }
+      break;
+    case RGBLED_INCREASE_HUE:
+      if (record->event.pressed) {
+        rgblight_increase_hue();
+      }
+      break;
+    case RGBLED_DECREASE_HUE:
+      if (record->event.pressed) {
+        rgblight_decrease_hue();
+      }
+      break;
+    case RGBLED_INCREASE_SAT:
+      if (record->event.pressed) {
+        rgblight_increase_sat();
+      }
+      break;
+    case RGBLED_DECREASE_SAT:
+      if (record->event.pressed) {
+        rgblight_decrease_sat();
+      }
+      break;
+    case RGBLED_INCREASE_VAL:
+      if (record->event.pressed) {
+        rgblight_increase_val();
+      }
+      break;
+    case RGBLED_DECREASE_VAL:
+      if (record->event.pressed) {
+        rgblight_decrease_val();
+      }
+      break;
+    case RGBLED_STEP_MODE:
+      if (record->event.pressed) {
+        rgblight_step();
+      }
+      break;
+    #endif
+  }
+}
diff --git a/keyboard/clueboard2/keymaps/keymap_max.c b/keyboard/clueboard2/keymaps/keymap_max.c
new file mode 100644 (file)
index 0000000..714d639
--- /dev/null
@@ -0,0 +1,147 @@
+#include "clueboard2.h"
+
+#ifdef ENABLE_RGBLIGHT
+#include "rgblight.h"
+#endif
+
+// Used for SHIFT_ESC
+#define MODS_CTRL_MASK  (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT))
+
+// Each layer gets a name for readability, which is then used in the keymap matrix below.
+// The underscores don't mean anything - you can have a layer called STUFF or any other name.
+// Layer names don't all need to be of the same length, obviously, and you can also skip them
+// entirely and just use numbers.
+#define _BL 0
+#define _FL 1
+#define _RS 2
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+  /* Keymap _BL: (Base Layer) Default Layer
+   * ,--------------------------------------------------------------------------.  ,----.
+   * | Esc|   1|   2|   3|   4|   5|   6|   7|   8|   9|   0|   -|   =|   ~|  BS|  |PgUp|
+   * |--------------------------------------------------------------------------|  |----|
+   * |   Tab|   Q|   W|   E|   R|   T|   Y|   U|   I|   O|   P|   [|   ]|      \|  |PgDn|
+   * |--------------------------------------------------------------------------|  `----'
+   * |Capslck|   A|   S|   D|   F|   G|   H|   J|   K|   L|   ;|   '|   # |  Ent|
+   * |-----------------------------------------------------------------------------.
+   * |Shift|  BS|   Z|   X|   C|   V|   B|   N|   M|   ,|   .|   /|   BS|Shift|  Up|
+   * |------------------------------------------------------------------------|----|----.
+   * | Ctrl|  Alt|  Gui| MHen|    Space|    Space|  Hen|  Gui|  Alt| Ctrl|Left|Down|Rght|
+   * `----------------------------------------------------------------------------------'
+   */
+[_BL] = KEYMAP(
+  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_GRV,  KC_BSPC,          KC_PGUP, \
+  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_BSLS,                   KC_PGDN, \
+  KC_CAPS, KC_A,    KC_S,   KC_D,   KC_F,   KC_G,   KC_H,   KC_J,   KC_K,   KC_L,    KC_SCLN,  KC_QUOT,  KC_NUHS,  KC_ENT,                             \
+  MO(_FL), 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(_FL),          KC_UP,            \
+  KC_LCTL, KC_LALT, KC_LGUI,KC_MHEN,        KC_SPC, KC_SPC,                          KC_HENK,  KC_RGUI,  KC_RALT,  KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
+
+  /* Keymap _FL: Function Layer
+   * ,--------------------------------------------------------------------------.  ,----.
+   * |   `|  F1|  F2|  F3|  F4|  F5|  F6|  F7|  F8|  F9| F10| F11| F12|    | Del|  |BLIN|
+   * |--------------------------------------------------------------------------|  |----|
+   * |      |    |    |    |    |    |    |    |PScr|SLck|Paus|    |    |       |  |BLDE|
+   * |--------------------------------------------------------------------------|  `----'
+   * |       |    | _RS|    |    |    |    |    |    |    |    |    |     |     |
+   * |-----------------------------------------------------------------------------.
+   * |     |    |    |    |    |    |    |    |    |    |    |    |     |     |PGUP|
+   * |------------------------------------------------------------------------|----|----.
+   * |     |     |     |     |         |         |     |     |     |  _FL|HOME|PGDN| END|
+   * `----------------------------------------------------------------------------------'
+   */
+[_FL] = KEYMAP(
+  KC_GRV,  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_TRNS, KC_DEL,           BL_STEP, \
+  KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_SLCK, KC_PAUS,  KC_TRNS,  KC_TRNS,  KC_TRNS,                   KC_TRNS, \
+  KC_TRNS, KC_TRNS, MO(_RS),KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,                           \
+  MO(_FL), KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,  KC_TRNS,  KC_TRNS,  MO(_FL),          KC_PGUP,         \
+  KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,        KC_TRNS,KC_TRNS,                         KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS, KC_HOME, KC_PGDN, KC_END),
+
+  /* Keymap _RS: Reset/Underlight layer
+   * ,--------------------------------------------------------------------------.  ,----.
+   * |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |  |    |
+   * |--------------------------------------------------------------------------|  |----|
+   * |      |    |    |    |RESET|   |    |    |    |    |    |    |    |       |  |    |
+   * |--------------------------------------------------------------------------|  `----'
+   * |       |    | _RS|    |    |    |    |    |    |    |    |    |     |     |
+   * |-----------------------------------------------------------------------------.
+   * |     |    |    |    |    |    |    |    |    |    |    |    |     |     |    |
+   * |------------------------------------------------------------------------|----|----.
+   * |     |     |     |     |         |         |     |     |     |  _FL|    |    |    |
+   * `----------------------------------------------------------------------------------'
+   */
+[_RS] = KEYMAP(
+  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, F(0),             F(6), \
+  KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,RESET,  KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,                   F(7), \
+  KC_TRNS, KC_TRNS, MO(_RS),KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,                         \
+  MO(_FL), KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,  KC_TRNS,  KC_TRNS,  MO(_FL),          F(4),          \
+  KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,        F(1),   F(1),                            KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS, F(3),    F(5),    F(2)),
+};
+
+enum function_id {
+    RGBLED_TOGGLE,
+    RGBLED_STEP_MODE,
+    RGBLED_INCREASE_HUE,
+    RGBLED_DECREASE_HUE,
+    RGBLED_INCREASE_SAT,
+    RGBLED_DECREASE_SAT,
+    RGBLED_INCREASE_VAL,
+    RGBLED_DECREASE_VAL,
+};
+
+const uint16_t PROGMEM fn_actions[] = {
+  [0]  = ACTION_FUNCTION(RGBLED_TOGGLE),
+  [1]  = ACTION_FUNCTION(RGBLED_STEP_MODE),
+  [2]  = ACTION_FUNCTION(RGBLED_INCREASE_HUE),
+  [3]  = ACTION_FUNCTION(RGBLED_DECREASE_HUE),
+  [4]  = ACTION_FUNCTION(RGBLED_INCREASE_SAT),
+  [5]  = ACTION_FUNCTION(RGBLED_DECREASE_SAT),
+  [6]  = ACTION_FUNCTION(RGBLED_INCREASE_VAL),
+  [7]  = ACTION_FUNCTION(RGBLED_DECREASE_VAL),
+};
+
+void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
+  switch (id) {
+    case RGBLED_TOGGLE:
+      //led operations
+      if (record->event.pressed) {
+        rgblight_toggle();
+      }
+
+      break;
+    case RGBLED_INCREASE_HUE:
+      if (record->event.pressed) {
+        rgblight_increase_hue();
+      }
+      break;
+    case RGBLED_DECREASE_HUE:
+      if (record->event.pressed) {
+        rgblight_decrease_hue();
+      }
+      break;
+    case RGBLED_INCREASE_SAT:
+      if (record->event.pressed) {
+        rgblight_increase_sat();
+      }
+      break;
+    case RGBLED_DECREASE_SAT:
+      if (record->event.pressed) {
+        rgblight_decrease_sat();
+      }
+      break;
+    case RGBLED_INCREASE_VAL:
+      if (record->event.pressed) {
+        rgblight_increase_val();
+      }
+      break;
+    case RGBLED_DECREASE_VAL:
+      if (record->event.pressed) {
+        rgblight_decrease_val();
+      }
+      break;
+    case RGBLED_STEP_MODE:
+      if (record->event.pressed) {
+        rgblight_step();
+      }
+      break;
+  }
+}
diff --git a/keyboard/clueboard2/keymaps/keymap_skully.c b/keyboard/clueboard2/keymaps/keymap_skully.c
new file mode 100644 (file)
index 0000000..74a03f2
--- /dev/null
@@ -0,0 +1,108 @@
+#include "clueboard2.h"
+
+// Used for SHIFT_ESC
+#define MODS_CTRL_MASK  (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT))
+
+// Each layer gets a name for readability, which is then used in the keymap matrix below.
+// The underscores don't mean anything - you can have a layer called STUFF or any other name.
+// Layer names don't all need to be of the same length, obviously, and you can also skip them
+// entirely and just use numbers.
+#define _BL 0
+#define _FL 1
+#define _RS 2
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+  /* Keymap _BL: (Base Layer) Default Layer
+   * ,--------------------------------------------------------------------------.  ,----.
+   * |Esc~|   1|   2|   3|   4|   5|   6|   7|   8|   9|   0|   -|   =|   \|  BS|  |PGUP|
+   * |--------------------------------------------------------------------------|  |----|
+   * |   Tab|   Q|   W|   E|   R|   T|   Y|   U|   I|   O|   P|   [|   ]|      \|  |PGDN|
+   * |--------------------------------------------------------------------------|  `----'
+   * |Capslck|   A|   S|   D|   F|   G|   H|   J|   K|   L|   ;|   '|   # |  Ent|
+   * |-----------------------------------------------------------------------------.
+   * |Shift|  BS|   Z|   X|   C|   V|   B|   N|   M|   ,|   .|   /|   BS|Shift|  UP|
+   * |------------------------------------------------------------------------|----|----.
+   * | Ctrl|  Gui|  Alt| MHen|    Space|    Space|  Hen|  Alt| Ctrl|  _FL|LEFT|DOWN|RGHT|
+   * `----------------------------------------------------------------------------------'
+   */
+[_BL] = KEYMAP(
+  F(0),   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_GRV,  KC_BSPC,          KC_PGUP, \
+  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_BSLS,                   KC_PGDN, \
+  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_NUHS,  KC_ENT,                             \
+  KC_LSFT,KC_NUBS,KC_Z,   KC_X,   KC_C,  KC_V,   KC_B,   KC_N,   KC_M,   KC_COMM, KC_DOT,   KC_SLSH,  KC_RO,    KC_RSFT,          KC_UP,            \
+  KC_LCTL,KC_LALT,KC_LGUI,MO(_FL),       KC_SPC, KC_SPC,                          MO(_FL),  KC_RGUI,  KC_RCTL,  MO(_FL), KC_LEFT, KC_DOWN, KC_RGHT),
+
+  /* Keymap _FL: Function Layer
+   * ,--------------------------------------------------------------------------.  ,----.
+   * |   `|  F1|  F2|  F3|  F4|  F5|  F6|  F7|  F8|  F9| F10| F11| F12|    | Del|  |BLIN|
+   * |--------------------------------------------------------------------------|  |----|
+   * |      |    |    |    |    |    |    |    |PScr|SLck|Paus|    |    |       |  |BLDE|
+   * |--------------------------------------------------------------------------|  `----'
+   * |       |    | _RS|    |    |    |    |    |    |    |    |    |     |     |
+   * |-----------------------------------------------------------------------------.
+   * |     |    |    |    |    |    |    |    |    |    |    |    |     |     |PGUP|
+   * |------------------------------------------------------------------------|----|----.
+   * |     |     |     |     |         |         |     |     |     |  _FL|HOME|PGDN| END|
+   * `----------------------------------------------------------------------------------'
+   */
+[_FL] = KEYMAP(
+  KC_GRV, 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_TRNS,KC_DEL,         BL_STEP, \
+  KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_PSCR,KC_SLCK,KC_PAUS,KC_TRNS,KC_TRNS,KC_TRNS,                KC_TRNS, \
+  KC_TRNS,KC_TRNS,MO(_RS),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_PGUP,         \
+  KC_TRNS,KC_TRNS,KC_TRNS,MO(_FL),        KC_TRNS,KC_TRNS,                        MO(_FL),KC_TRNS,KC_TRNS,MO(_FL),KC_HOME,KC_PGDN,KC_END),
+
+  /* Keymap _RS: Reset layer
+   * ,--------------------------------------------------------------------------.  ,----.
+   * |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |  |    |
+   * |--------------------------------------------------------------------------|  |----|
+   * |      |    |    |    |RESET|   |    |    |    |    |    |    |    |       |  |    |
+   * |--------------------------------------------------------------------------|  `----'
+   * |       |    | _RS|    |    |    |    |    |    |    |    |    |     |     |
+   * |-----------------------------------------------------------------------------.
+   * |     |    |    |    |    |    |    |    |    |    |    |    |     |     |    |
+   * |------------------------------------------------------------------------|----|----.
+   * |     |     |     |     |         |         |     |     |     |  _FL|    |    |    |
+   * `----------------------------------------------------------------------------------'
+   */
+[_RS] = KEYMAP(
+  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,RESET,  KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,                  KC_TRNS, \
+  KC_TRNS,KC_TRNS,MO(_RS),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_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,        KC_TRNS,KC_TRNS,                        KC_TRNS,KC_TRNS,KC_TRNS,MO(_FL),KC_TRNS, KC_TRNS, KC_TRNS),
+};
+
+enum function_id {
+    SHIFT_ESC,
+};
+
+const uint16_t PROGMEM fn_actions[] = {
+  [0]  = ACTION_FUNCTION(SHIFT_ESC),
+};
+
+void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
+  static uint8_t shift_esc_shift_mask;
+  switch (id) {
+    case SHIFT_ESC:
+      shift_esc_shift_mask = get_mods()&MODS_CTRL_MASK;
+      if (record->event.pressed) {
+        if (shift_esc_shift_mask) {
+          add_key(KC_GRV);
+          send_keyboard_report();
+        } else {
+          add_key(KC_ESC);
+          send_keyboard_report();
+        }
+      } else {
+        if (shift_esc_shift_mask) {
+          del_key(KC_GRV);
+          send_keyboard_report();
+        } else {
+          del_key(KC_ESC);
+          send_keyboard_report();
+        }
+      }
+      break;
+  }
+}
diff --git a/keyboard/clueboard2/led.c b/keyboard/clueboard2/led.c
new file mode 100644 (file)
index 0000000..3d074e5
--- /dev/null
@@ -0,0 +1,36 @@
+        /*
+Copyright 2012 Jun Wako <wakojun@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/>.
+*/
+
+#include <avr/io.h>
+#include "stdint.h"
+#include "led.h"
+
+
+void led_init_ports() {
+    // * Set our LED pins as output
+    DDRB |= (1<<4);
+}
+
+void led_set_kb(uint8_t usb_led) {
+    if (usb_led & (1<<USB_LED_CAPS_LOCK)) {
+        // Turn capslock on
+        PORTB |= (1<<4);
+    } else {
+        // Turn capslock off
+        PORTB &= ~(1<<4);
+    }
+}
diff --git a/keyboard/cluepad/Makefile b/keyboard/cluepad/Makefile
new file mode 100644 (file)
index 0000000..9d4ddc0
--- /dev/null
@@ -0,0 +1,136 @@
+#----------------------------------------------------------------------------
+# 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 = cluepad
+
+
+# Directory common source filess exist
+TOP_DIR = ../..
+TMK_DIR = ../../tmk_core
+
+# Directory keyboard dependent files exist
+TARGET_DIR = .
+
+# # project specific files
+SRC = cluepad.c backlight.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
+
+
+# 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
+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 numpad's backlight functionality
+RGBLIGHT_ENABLE = yes
+# 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)
+
+include $(TOP_DIR)/quantum/quantum.mk
diff --git a/keyboard/cluepad/backlight.c b/keyboard/cluepad/backlight.c
new file mode 100644 (file)
index 0000000..a9caed1
--- /dev/null
@@ -0,0 +1,54 @@
+#include <avr/io.h>
+#include "backlight.h"
+#include "led.h"
+
+#include "print.h"
+
+int pwm_level;
+
+void led_set_kb(uint8_t usb_led)
+{
+    print("led_set\n");
+}
+
+void init_backlight_pin(void)
+{
+    // Set C7 to output
+    DDRC |= (1<<7);
+
+    // Initialize the timer
+    TC4H = 0x03;
+    OCR4C = 0xFF;
+    TCCR4A = 0b10000010;
+    TCCR4B = 0b00000001;
+}
+
+void backlight_set(uint8_t level)
+{
+    // Determine the PWM level
+    switch (level)
+    {
+        case 0:
+            // 33%
+            pwm_level = 0x54;
+            break;
+        case 1:
+            // 66%
+            pwm_level = 0xA8;
+            break;
+        case 2:
+            // 100%
+            pwm_level = 0xFF;
+            break;
+        case 3:
+            // 0%
+            pwm_level = 0x00;
+            break;
+        default:
+            xprintf("Unknown level: %d\n", level);
+    }
+
+    // Write the PWM level to the timer
+    TC4H = pwm_level >> 8;
+    OCR4A = 0xFF & pwm_level;
+}
diff --git a/keyboard/cluepad/cluepad.c b/keyboard/cluepad/cluepad.c
new file mode 100644 (file)
index 0000000..d55b999
--- /dev/null
@@ -0,0 +1,39 @@
+#include "cluepad.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)();
+    }
+
+    #ifdef BACKLIGHT_ENABLE
+        init_backlight_pin();
+    #endif
+
+    #ifdef RGBLIGHT_ENABLE
+        rgblight_init();
+    #endif
+
+    // JTAG disable for PORT F. write JTD bit twice within four cycles.
+    MCUCR |= (1<<JTD);
+    MCUCR |= (1<<JTD);
+};
+
+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/cluepad/cluepad.h b/keyboard/cluepad/cluepad.h
new file mode 100644 (file)
index 0000000..36bf591
--- /dev/null
@@ -0,0 +1,41 @@
+#ifndef CLUEPAD_H
+#define CLUEPAD_H
+
+#include "matrix.h"
+#include "keymap_common.h"
+#include <stddef.h>
+
+
+/* Cluepad matrix layout
+ * .-------------------.
+ * |NLCK|   /|   *|   -|
+ * |-------------------|
+ * |   7|   8|   9|    |
+ * |--------------|    |
+ * |   4|   5|   6|   +|
+ * |-------------------|
+ * |   1|   2|   3|    |
+ * |--------------|    |
+ * |        0|   .| Ent|
+ * '-------------------'
+ */
+// The first section contains all of the arguments
+// The second converts the arguments into a two-dimensional array
+#define KEYMAP( \
+    k00, k01, k02, k03, \
+    k10, k11, k12, k13, \
+    k20, k21, k22, \
+    k30, k31, k32, k33, \
+    k40,      k42 \
+) { \
+    { k00, k01, k02, k03, }, \
+    { k10, k11, k12, k13, }, \
+    { k20, k21, k22, KC_NO, }, \
+    { k30, k31, k32, k33, }, \
+    { k40, KC_NO, k42, KC_NO } \
+}
+
+void matrix_init_user(void);
+void matrix_scan_user(void);
+
+#endif
diff --git a/keyboard/cluepad/config.h b/keyboard/cluepad/config.h
new file mode 100644 (file)
index 0000000..5ed421a
--- /dev/null
@@ -0,0 +1,102 @@
+/*
+Copyright 2012 Jun Wako <wakojun@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       0xC1ED
+#define PRODUCT_ID      0x2312
+#define DEVICE_VER      0x0001
+#define MANUFACTURER    Clueboard
+#define PRODUCT         Cluepad with RGB Underlighting
+#define DESCRIPTION     QMK keyboard firmware for Cluepad
+
+/* key matrix size */
+#define MATRIX_ROWS 5
+#define MATRIX_COLS 4
+
+// COLS: Left to right, ROWS: Top to bottom
+
+/* Column pin configuration
+ * col: 0  1  2  3
+ * pin: F4 E6 B1 D2
+ */
+#define COLS (int []){ F4, E6, B1, D2 }
+
+ /* Row pin configuration
+ * row: 0  1  2  3  4
+ * pin:
+ */
+#define ROWS (int []){ B0, D3, D5, D4, D6 }
+
+/* COL2ROW or ROW2COL */
+#define DIODE_DIRECTION COL2ROW
+
+/* define if matrix has ghost */
+//#define MATRIX_HAS_GHOST
+
+/* Set 0 if debouncing isn't needed */
+#define DEBOUNCE    5
+
+/* Number of backlighting levels */
+#define BACKLIGHT_LEVELS 3
+
+/* 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)) \
+)
+
+/* Underlight configuration
+ */
+ #define ws2812_PORTREG PORTF
+ #define ws2812_DDRREG DDRF
+ #define ws2812_pin 6
+ #define RGBLED_NUM 4     // Number of LEDs
+ #define RGBLIGHT_HUE_STEP 10
+ #define RGBLIGHT_SAT_STEP 17
+ #define RGBLIGHT_VAL_STEP 17
+
+/*
+ * Feature disable options
+ *  These options are also useful to firmware size reduction.
+ */
+
+/* disable debug print */
+//#define NO_DEBUG
+
+/* Debug forcibly enabled */
+#define ALWAYS_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/cluepad/keymaps/keymap_default.c b/keyboard/cluepad/keymaps/keymap_default.c
new file mode 100644 (file)
index 0000000..8ba4995
--- /dev/null
@@ -0,0 +1,122 @@
+#include "cluepad.h"
+
+#include "backlight.h"
+#include "rgblight.h"
+
+// Each layer gets a name for readability, which is then used in the keymap matrix below.
+// The underscores don't mean anything - you can have a layer called STUFF or any other name.
+// Layer names don't all need to be of the same length, obviously, and you can also skip them
+// entirely and just use numbers.
+#define _BL 0
+#define _FL 1
+#define _RS 2
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+  /* Keymap _BL: (Base Layer) Default Layer
+   * .-------------------.
+   * |NL F|   /|   *|   -|
+   * |-------------------|
+   * |   7|   8|   9|    |
+   * |--------------|    |
+   * |   4|   5|   6|   +|
+   * |-------------------|
+   * |   1|   2|   3|    |
+   * |--------------|    |
+   * |        0|   .| Ent|
+   * '-------------------'
+   */
+[_BL] = KEYMAP(
+  LT(_FL, KC_NLCK), KC_PSLS, KC_PAST, KC_PMNS, \
+  KC_P7,            KC_P8,   KC_P9,   KC_PPLS, \
+  KC_P4,            KC_P5,   KC_P6, \
+  KC_P1,            KC_P2,   KC_P3,   KC_PENT, \
+  KC_P0,                     KC_PDOT),
+
+  /* Keymap _FL: Function Layer
+   * .-------------------.
+   * |NL F|    |    | Fn0|
+   * |-------------------|
+   * |    | Fn4|    |    |
+   * |--------------|    |
+   * | Fn3|BL_S| Fn2| Fn6|
+   * |-------------------|
+   * |    | Fn5|    |    |
+   * |--------------|    |
+   * |      Fn1|    | Fn7|
+   * '-------------------'
+   */
+[_FL] = KEYMAP(
+  LT(_FL, KC_NLCK), KC_TRNS, KC_TRNS, F(0), \
+  KC_TRNS,          F(4),    KC_TRNS, F(6), \
+  F(3),             BL_STEP, F(2), \
+  KC_TRNS,          F(5),    KC_TRNS, F(7), \
+  F(1),                      KC_TRNS)
+};
+
+enum function_id {
+    RGBLED_TOGGLE,
+    RGBLED_STEP_MODE,
+    RGBLED_INCREASE_HUE,
+    RGBLED_DECREASE_HUE,
+    RGBLED_INCREASE_SAT,
+    RGBLED_DECREASE_SAT,
+    RGBLED_INCREASE_VAL,
+    RGBLED_DECREASE_VAL,
+};
+
+const uint16_t PROGMEM fn_actions[] = {
+  [0]  = ACTION_FUNCTION(RGBLED_TOGGLE),
+  [1]  = ACTION_FUNCTION(RGBLED_STEP_MODE),
+  [2]  = ACTION_FUNCTION(RGBLED_INCREASE_HUE),
+  [3]  = ACTION_FUNCTION(RGBLED_DECREASE_HUE),
+  [4]  = ACTION_FUNCTION(RGBLED_INCREASE_SAT),
+  [5]  = ACTION_FUNCTION(RGBLED_DECREASE_SAT),
+  [6]  = ACTION_FUNCTION(RGBLED_INCREASE_VAL),
+  [7]  = ACTION_FUNCTION(RGBLED_DECREASE_VAL),
+};
+
+void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
+  switch (id) {
+    case RGBLED_TOGGLE:
+      if (record->event.pressed) {
+        rgblight_toggle();
+      }
+      break;
+    case RGBLED_INCREASE_HUE:
+      if (record->event.pressed) {
+        rgblight_increase_hue();
+      }
+      break;
+    case RGBLED_DECREASE_HUE:
+      if (record->event.pressed) {
+        rgblight_decrease_hue();
+      }
+      break;
+    case RGBLED_INCREASE_SAT:
+      if (record->event.pressed) {
+        rgblight_increase_sat();
+      }
+      break;
+    case RGBLED_DECREASE_SAT:
+      if (record->event.pressed) {
+        rgblight_decrease_sat();
+      }
+      break;
+    case RGBLED_INCREASE_VAL:
+      if (record->event.pressed) {
+        rgblight_increase_val();
+      }
+      break;
+    case RGBLED_DECREASE_VAL:
+      if (record->event.pressed) {
+        rgblight_decrease_val();
+      }
+      break;
+    case RGBLED_STEP_MODE:
+      if (record->event.pressed) {
+        rgblight_step();
+      }
+      break;
+  }
+}
+
index 5dfcca2c80321d43643dfea092b15a353e0fceed..3a07ec254f4db0f4b52a4a66f150299c2d7ba47a 100644 (file)
@@ -101,6 +101,22 @@ NKRO_ENABLE      = yes             # USB Nkey Rollover - if this doesn't work, see here: ht
 # MIDI_ENABLE    = yes                 # MIDI controls
 # UNICODE_ENABLE = yes                 # Unicode
 
+# If you want to have your own config_user.h, you can just put it in
+# your keymap directory. Anything you set there will take precedence
+# over the global config.h.
+ifneq ("$(wildcard keymaps/$(KEYMAP)/config_user.h)","")
+CONFIG_USER_H = keymaps/$(KEYMAP)/config_user.h
+endif
+
+ifdef KEYMAP
+
+ifeq ("$(wildcard keymaps/$(KEYMAP).c)","")
+ifneq ("$(wildcard keymaps/$(KEYMAP)/makefile.mk)","")
+       include keymaps/$(KEYMAP)/makefile.mk
+endif
+endif
+endif
+
 
 # Optimize size but this may cause error "relocation truncated to fit"
 #EXTRALDFLAGS = -Wl,--relax
diff --git a/keyboard/ergodox_ez/keymaps/ab/ab.hex b/keyboard/ergodox_ez/keymaps/ab/ab.hex
new file mode 100644 (file)
index 0000000..1659ae5
--- /dev/null
@@ -0,0 +1,1146 @@
+:100000000C940F020C9453020C9453020C94530260\r
+:100010000C9453020C9453020C9453020C9453020C\r
+:100020000C9453020C9453020C94190C0C94EB0C8A\r
+:100030000C9453020C9453020C9453020C945302EC\r
+:100040000C9453020C94CF210C9453020C94530241\r
+:100050000C9453020C94631B0C9453020C945302A3\r
+:100060000C9453020C9453020C9453020C945302BC\r
+:100070000C9453020C9453020C9453020C945302AC\r
+:100080000C9453020C9453020C9453020C9453029C\r
+:100090000C9453020C9453020C9453020C9453028C\r
+:1000A0000C9453020C9453020C945302500D720D95\r
+:1000B0005D0E720D5D0EB40DD70D5D0E2C0E3F0E54\r
+:1000C000391139117A117A11BC11F811F813F8139A\r
+:1000D0001012F81307130713D213F813F813E613CB\r
+:1000E00035002B003971E100E00000001E00140013\r
+:1000F00004001D0029002F001F001A0016001B001D\r
+:10010000E3004C002000080007000600E2002C007D\r
+:100110002100150009001900E20026022200170044\r
+:100120000A000500000006012300B60000004B0095\r
+:1001300000002F022400B70000004E000000300233\r
+:1001400025001C000B0011000000190126001800FA\r
+:100150000D0010005200270227000C000E00360090\r
+:1001600050002A002D0012000F0037004F00280019\r
+:100170002E00130033003800510030002A003100F7\r
+:100180002800340001540000290001000100010092\r
+:10019000010000003A00010001000100010001001F\r
+:1001A0003B000100F2000100010001003C00F000F2\r
+:1001B000F1000100F40000503D000100F3000100D7\r
+:1001C000F50001003E0001000100010000000100F7\r
+:1001D0003F0001000000010000000100400001009C\r
+:1001E00000000100000001004100010001000100C9\r
+:1001F00000000100420001000100010001000100B7\r
+:100200004300010001000100AA00010044000100B8\r
+:1002100001000100A90001004500010001000100EA\r
+:10022000A80001002A000100AE000100010000004A\r
+:1002300016034500720067006F0044006F007800ED\r
+:10024000200045005A0000001603450072006700B8\r
+:100250006F0044006F007800200045005A00000045\r
+:100260000403090409026D00040100A0FA09040056\r
+:10027000000103010100092111010001223F0007D3\r
+:1002800005810308000A09040100010301020009B5\r
+:100290002111010001224D000705820308000A090F\r
+:1002A00004020001030000000921110100012236AF\r
+:1002B000000705830308000A090403000103000086\r
+:1002C00000092111010001223900070584031000F3\r
+:1002D000011201100100000008EDFE0713010001EA\r
+:1002E00002000105010906A101050719E029E7152A\r
+:1002F0000025019508750181020508190129059558\r
+:1003000005750191029501750391010507190029F1\r
+:100310007715002501957875018102C005010980D6\r
+:10032000A101850216010026B7001A01002AB700B4\r
+:10033000751095018100C0050C0901A10185031606\r
+:100340000100269C021A01002A9C02751095018169\r
+:1003500000C005010902A1010901A1000509190157\r
+:100360002905150025019505750181029501750383\r
+:1003700081010501093009311581257F9502750834\r
+:10038000810609381581257F950175088106050CC0\r
+:100390000A38021581257F950175088106C0C005C0\r
+:1003A000010906A101050719E029E71500250195B6\r
+:1003B0000875018102950175088101050819012957\r
+:1003C00005950575019102950175039101050719C0\r
+:1003D0000029FF150025FF950675088100C0000063\r
+:1003E000000000000000000000010204060A0F17D0\r
+:1003F000202C3A4A5D71879DB3C7DAE9F5FCFFFC12\r
+:10040000F5E9DAC7B39D87715D4A3A2C20170F0AC8\r
+:10041000060402010000000000000000000011249A\r
+:100420001FBECFEFDAE0DEBFCDBF04B603FE24C0AF\r
+:100430008091EE019091EF01A091F001B091F10156\r
+:100440008730904BA740B04BB9F41092EE01109258\r
+:10045000EF011092F0011092F10114BE84B7877F72\r
+:1004600084BF88E10FB6F89480936000109260001A\r
+:100470000FBEE0E0FFE3099511E0A0E0B1E0EAE49F\r
+:10048000F7E402C005900D92A433B107D9F721E03B\r
+:10049000A4E3B1E001C01D92AE3EB207E1F70E94B5\r
+:1004A0005F090C94A3230C94000061110BC0FC01A4\r
+:1004B0008281882321F085EE0E94C10F03C085EE62\r
+:1004C0000E94891080E090E0089508956091B10144\r
+:1004D0007091B2018091B3019091B4010E948A1A87\r
+:1004E00056985E9825982D9826982E9827982F989C\r
+:1004F000813019F0823021F00895259A2D9A0895BF\r
+:10050000269A2E9A08950C94660256985E9825981D\r
+:100510002D9826982E9827982F988FEF90E09093FB\r
+:1005200089008093880090938B0080938A00909339\r
+:100530008D0080938C00259A2D9A2FEF80E792E012\r
+:10054000215080409040E1F700C00000269A2E9A8A\r
+:100550002FEF80E792E0215080409040E1F700C00B\r
+:100560000000279A2F9A2FEF80E792E021508040D9\r
+:100570009040E1F700C0000025982D982FEF80E70C\r
+:1005800092E0215080409040E1F700C000002698A2\r
+:100590002E982FEF80E792E0215080409040E1F7C5\r
+:1005A00000C0000027982F9856985E9825982D989F\r
+:1005B00026982E9827982F98089589EA809380008E\r
+:1005C00089E08093810024982C983F988AB18F7499\r
+:1005D0008AB96E98479A8BB1806B8BB9769A0E94D4\r
+:1005E00085020C94650280E28093000180913401C1\r
+:1005F00081110EC00E94420381E0809334012FEFED\r
+:1006000083ED90E3215080409040E1F700C000006E\r
+:1006100080E40E9448038093000181112EC00E9453\r
+:10062000720380930001811128C00E94720380939D\r
+:100630000001811122C08FE30E94720380930001A8\r
+:1006400081111BC00E946A0380E40E9448038093CA\r
+:100650000001811112C08CE00E947203809300019E\r
+:1006600081110BC00E94720380930001811105C0AB\r
+:100670008FE30E947203809300010E946A038091BD\r
+:10068000000108951092B9008AE08093B80008959F\r
+:1006900094EA9093BC009091BC0097FFFCCF90919E\r
+:1006A000B900987F983021F0903111F081E00895E1\r
+:1006B0008093BB0084E88093BC008091BC0087FFDE\r
+:1006C000FCCF8091B900887F883111F0803471F7B8\r
+:1006D00080E0089584E98093BC008091BC0084FD93\r
+:1006E000FCCF08958093BB0084E88093BC00809188\r
+:1006F000BC0087FFFCCF9091B900987F81E09832D1\r
+:1007000009F480E0089584E88093BC008091BC00E7\r
+:1007100087FFFCCF8091BB0008958091000181117B\r
+:1007200015C080E40E9448038093000181110CC031\r
+:1007300082E10E94720380930001811105C08FEF56\r
+:100740000E947203809300010E946A0384B1807F3B\r
+:1007500084B985B1807F85B98AB1837F8AB98BB12D\r
+:10076000837F8BB93E98469808950E94F302809348\r
+:1007700000010E948D0380B38C7080BB81B3836FB6\r
+:1007800081BBA6E3B1E0E4E4F1E08EE08E0F1192CC\r
+:100790001D928E13FCCF0C94DD02BF92CF92DF929C\r
+:1007A000EF92FF920F931F93CF93DF9380910001FD\r
+:1007B000882379F0809135018F5F80933501811115\r
+:1007C00008C00E94F30280930001811102C00E94C0\r
+:1007D000850206E311E0C0E0D0E0DD24D39482E09E\r
+:1007E000C82EEE24E394F12CC730D10500F580919A\r
+:1007F0000001811164C080E40E94480380930001DD\r
+:10080000811112C082E10E94720380930001811164\r
+:100810000BC0C7010C2E01C0880F0A94EAF780951F\r
+:100820000E947203809300010E946A0348C0CA308C\r
+:10083000A1F028F4C83059F0C93061F005C0CC30BF\r
+:1008400089F070F0CD3089F0209A289810C0219A54\r
+:1008500029980DC0229A2A980AC0239A2B9807C07B\r
+:10086000529A01C0539A5B9802C03E9A469890EA09\r
+:100870009A95F1F79FB1799902C082E001C080E0BA\r
+:1008800091709D25982B7C9902C084E001C080E086\r
+:10089000892B7D9902C038E001C030E0832B7E991E\r
+:1008A00002C020E101C020E0822B9FB19095991FEA\r
+:1008B0009927991F9295990F907E892B0FC080914F\r
+:1008C0000001811149C080E40E9448038093000127\r
+:1008D000882379F1B12C0E946A038B2DF801908155\r
+:1008E000981719F08083C09201010E948D03219610\r
+:1008F0000F5F1F4FCE30D10509F076CF80910101F7\r
+:10090000882361F1815080930101882339F08FE9B8\r
+:100910009FE00197F1F700C0000020C0A4E4B1E01F\r
+:10092000E6E3F1E0CF01825F91919D938E13FCCFBE\r
+:1009300015C083E10E947203809300018111CACF28\r
+:1009400081E40E944803809300018111C3CF0E947B\r
+:100950008303B82EB094BFCF80E0C0CF0E94830243\r
+:1009600081E0DF91CF911F910F91FF90EF90DF9089\r
+:10097000CF90BF900895E82FF0E0EC5BFE4F8081B0\r
+:1009800008950895089596E0799FF001112494E563\r
+:10099000899FE00DF11D1124E60FF11DEE0FFF1FE1\r
+:1009A000E052FF4F859194910895880F991FFC01A3\r
+:1009B000E05AF040859194910895880F991FFC01A9\r
+:1009C000E052FF4F8591949108950F931F93CF9319\r
+:1009D000DF93EC018115904350F5C11580E2D807F3\r
+:1009E00008F0B3C0CB3BD10590F4C83AD10508F06C\r
+:1009F0005AC0C53AD10508F04BC0C430D10508F043\r
+:100A0000BBC1219709F0B5C101E010E0F5C1CF3FAE\r
+:100A1000D10511F008F0B0C1C03FD10508F092C077\r
+:100A2000CE01805E9109089708F4A6C1A2C1C11544\r
+:100A300091E5D907A8F4C23020E5D20708F09EC09E\r
+:100A4000C11580E5D80709F485C008F091C0C1152B\r
+:100A500020E4D20708F08DC1DD278E01106CCCC1D7\r
+:100A6000C11580E8D80758F4C11590E7D90708F0F8\r
+:100A70007CC1C11520E6D20708F422C17AC1C11594\r
+:100A800080E9D80708F075C1DF708E01106AB4C123\r
+:100A9000C53AD10509F472C1C63AD10509F071C150\r
+:100AA00002E810E4A9C1C83AD10509F46DC1C93AF8\r
+:100AB000D10509F46CC1CA3AD10509F46BC1CB3A2E\r
+:100AC000D10509F46AC1CC3AD10509F469C1CD3A1E\r
+:100AD000D10509F468C1C03BD10509F467C1CE3A1C\r
+:100AE000D10509F466C1CF3AD10509F465C1C13B0E\r
+:100AF000D10509F464C1C23BD10509F463C1C33B0C\r
+:100B0000D10509F462C1C43BD10509F461C1C53BFB\r
+:100B1000D10509F460C1C63BD10509F45FC1C73BEB\r
+:100B2000D10509F45EC1C83BD10509F45DC1C93BDB\r
+:100B3000D10509F45CC1CA3BD10509F45BC100E0F1\r
+:100B400014E45AC18E01106557C1CE019F700E94F6\r
+:100B5000DD0453C10E941B149FEF24E38CE09150ED\r
+:100B600020408040E1F700C000000E94881B44C183\r
+:100B70008091CD0181608093CD013EC10E94321DE4\r
+:100B8000811102C00E94181D0E944F1D90E0909399\r
+:100B9000EE018093ED01C23090E5D90721F48091F8\r
+:100BA000ED01816086C0C43020E5D20721F4809138\r
+:100BB000ED0182607EC0C63080E5D80721F48091C7\r
+:100BC000ED01846076C0C83090E5D90719F48091B2\r
+:100BD000ED0127C0CA3020E5D20721F48091ED0154\r
+:100BE000806167C0CC3080E5D80721F48091ED01A9\r
+:100BF00080625FC0CE3090E5D90721F48091ED018D\r
+:100C0000806457C0C03120E5D20721F48091ED0106\r
+:100C100080684FC0C23180E5D80729F48091ED018A\r
+:100C20008460886046C0C33090E5D90721F4809184\r
+:100C3000ED018E7F3EC0C53020E5D20721F48091C2\r
+:100C4000ED018D7F36C0C73080E5D80721F4809153\r
+:100C5000ED018B7F2EC0C93090E5D90719F4809142\r
+:100C6000ED0126C0CB3020E5D20721F48091ED01C3\r
+:100C70008F7E1FC0CD3080E5D80721F48091ED0133\r
+:100C80008F7D17C0CF3090E5D90721F48091ED0119\r
+:100C90008F7B0FC0C13120E5D20721F48091ED0197\r
+:100CA0008F7707C0C331D04531F48091ED018B7F40\r
+:100CB000877F8093ED018091ED010E94531D9CC0C0\r
+:100CC0008D2F99278F70992781309105D9F49E0136\r
+:100CD0002370332702C0880F991F2A95E2F79C687A\r
+:100CE0008E0144E0000F111F4A95E1F700271370B1\r
+:100CF000802B912B53E0CC0FDD1F5A95E1F7C07686\r
+:100D0000DD272FC08230910531F4DC2FCC278E01F6\r
+:100D1000016F106A71C08330910569F4CE01837050\r
+:100D2000992701E010E002C0000F111F8A95E2F739\r
+:100D3000C8019C680FC0049709F05EC0CE018370A3\r
+:100D4000992701E010E002C0000F111F8A95E2F719\r
+:100D5000C8019A6823E0CC0FDD1F2A95E1F7C07E19\r
+:100D6000D7708C010C2B1D2B47C0DF708E011062D9\r
+:100D700043C000E010E040C08E013EC001E810E436\r
+:100D80003BC003E810E438C002EE14E435C009EEBD\r
+:100D900014E432C00AEE14E42FC005EB14E42CC0B6\r
+:100DA00006EB14E429C007EB14E426C00CEC14E4B1\r
+:100DB00023C00DEC14E420C003E815E41DC00AE8CC\r
+:100DC00015E41AC002E915E417C004E915E414C0DB\r
+:100DD00001E216E411C003E216E40EC004E216E4D8\r
+:100DE0000BC005E216E408C006E216E405C007E2FF\r
+:100DF00016E402C00AE216E4C801DF91CF911F9108\r
+:100E00000F91089596E0799FF001112494E5899F50\r
+:100E1000E00DF11D1124E60FF11DEE0FFF1FE05252\r
+:100E2000FF4F85919491803E9105E0F4803C9105BF\r
+:100E300058F58133910509F46FC048F48932910562\r
+:100E400009F463C08A32910509F46DC072C0893318\r
+:100E50009105E9F082389105D1F08533910509F4C7\r
+:100E60004DC067C0833E910581F138F4803E910505\r
+:100E7000B9F0823E9105D9F05CC0863E910561F1E2\r
+:100E8000873E9105A1F155C00E94D5040895209197\r
+:100E9000ED0120FD02C021FF4CC080EE90E049C072\r
+:100EA0008091ED0180FFF9CF89E390E042C080910D\r
+:100EB000ED0182FF0EC08091ED0184FF03C080E050\r
+:100EC00090E037C083EE90E034C08091ED0182FF66\r
+:100ED000F2CF82EE90E02DC08091ED0183FF0BC038\r
+:100EE0008091ED0184FDEBCF87EE90E022C08091F0\r
+:100EF000ED0183FFF5CF86EE90E01BC08091ED0100\r
+:100F000085FF07C089E290E014C08091ED0185FF64\r
+:100F1000F9CF85E390E00DC08091ED0186FF07C019\r
+:100F20008AE290E006C08091ED0186FFF9CF81E36F\r
+:100F300090E00E94E504089508950C949C07809128\r
+:100F400062010895CF93DF9300D01F92CDB7DEB733\r
+:100F50002091E401243019F523E029839B838A83BF\r
+:100F60002093E9008FEF9091E800815095FD06C035\r
+:100F700095ED9A95F1F700008111F5CF8091E80089\r
+:100F800085FF0DC040E050E063E070E0CE010196C7\r
+:100F90000E940C0A8091E8008E778093E8000F9001\r
+:100FA0000F900F90DF91CF910895CF93DF9300D0F2\r
+:100FB0001F92CDB7DEB72091E401243021F522E065\r
+:100FC00029839B838A8383E08093E9008FEF90914C\r
+:100FD000E800815095FD06C095ED9A95F1F7000067\r
+:100FE0008111F5CF8091E80085FF0DC040E050E011\r
+:100FF00063E070E0CE0101960E940C0A8091E80047\r
+:101000008E778093E8000F900F900F90DF91CF9133\r
+:1010100008952091E4012430F1F422E02093E900C6\r
+:101020002FEF3091E800215035FD06C035ED3A959F\r
+:10103000F1F700002111F5CF2091E80025FF0BC04A\r
+:1010400040E050E065E070E00E940C0A8091E8000A\r
+:101050008E778093E8000895CF93DF93EC01809121\r
+:10106000E401843009F046C090910C019923D9F035\r
+:1010700090910D019923B9F08093E9008FEF909141\r
+:10108000E800815095FD06C095E19A95F1F70000C2\r
+:101090008111F5CF8091E80085FF2CC040E050E041\r
+:1010A00060E170E017C081E08093E9008FEF9091DC\r
+:1010B000E800815095FD06C095ED9A95F1F7000086\r
+:1010C0008111F5CF8091E80085FF14C040E050E029\r
+:1010D00068E070E0CE010E940C0A8091E8008E77F3\r
+:1010E0008093E80080E1FE01A2E5B1E001900D925D\r
+:1010F0008A95E1F7DF91CF9108958091E301811105\r
+:1011000009C00E949E0B0E94FB0B8091E20084604C\r
+:101110008093E20008951092E301089508950C94DD\r
+:10112000BC210E941F1B0E94C2210E94980E0C9499\r
+:101130009D0742E061EC81E00E94180B42E061EC07\r
+:1011400082E00E94180B42E061EC83E00E94180BE1\r
+:1011500042E161EC84E00C94180B8091E60183304D\r
+:1011600009F455C030F4813071F0823009F48EC03A\r
+:1011700008958A3009F47AC08B3009F460C0893050\r
+:1011800009F09CC020C08091E501813A09F096C029\r
+:101190008091E800877F8093E8008091E901909139\r
+:1011A000EA01892B21F060E080E090E003C060E17B\r
+:1011B00082E591E070E00E94550A8091E8008B770B\r
+:1011C0008093E80008958091E501813209F076C0AE\r
+:1011D0008091E9019091EA01009719F0039709F0D5\r
+:1011E0006DC08091E800877F8093E8008091E800DF\r
+:1011F00082FD05C08091E4018111F8CF5FC080912C\r
+:10120000F100809362018091E8008B7753C0809158\r
+:10121000E501813A09F052C08091E9019091EA011B\r
+:10122000892B09F04BC08091E800877F8093E8000C\r
+:101230008091E80080FFFCCF80910C0136C0809146\r
+:10124000E5018132D9F58091E9019091EA01892B7C\r
+:10125000A9F58091E800877F8093E8000E944D0BFC\r
+:101260008091E70180930C010C941B148091E5019F\r
+:10127000813221F58091E800877F8093E8000E9409\r
+:101280004D0B8091E8018093630108958091E50101\r
+:10129000813AA1F48091E800877F8093E8008091F3\r
+:1012A000E80080FFFCCF809163018093F100809182\r
+:1012B000E8008E778093E8000C944D0B089584B776\r
+:1012C000877F84BF88E10FB6F89480936000109206\r
+:1012D00060000FBE90E080E80FB6F8948093610044\r
+:1012E000909361000FBE0E94E70E0E949E0B0E9429\r
+:1012F000FB0B8091E20084608093E20078940E946E\r
+:10130000760E0E94E90E82E091E00E94930E0E9408\r
+:10131000AA218091E401853069F40E94DD1A809150\r
+:10132000E2018823B1F30E940B1B882391F30E94F2\r
+:10133000F609EFCF0E94EF0EECCF292F3327233091\r
+:101340003105A9F06CF42130310509F442C0223096\r
+:10135000310509F043C08DE690E024E632E042C05A\r
+:1013600021323105C9F02232310519F137C09927F0\r
+:101370008130910541F08230910541F0892B71F562\r
+:10138000E0E6F2E005C0E8E4F2E002C0E0E3F2E00B\r
+:10139000849190E09F0126C0643000F5E62FF0E0D4\r
+:1013A000EE0FFF1FEE5DFE4F2081318189E090E05E\r
+:1013B00019C0643098F4E62FF0E0DF01AA0FBB1FDC\r
+:1013C000A65EBE4F2D913C91EA5EFE4F808190E07B\r
+:1013D00009C082E190E021ED32E004C080E090E0BD\r
+:1013E00020E030E0FA0131832083089580E189BD57\r
+:1013F00082E189BD09B400FEFDCF8091D8008F7DC8\r
+:101400008093D8008091E00082608093E00080911A\r
+:10141000E00081FDFCCF0895CF92DF92EF92FF9222\r
+:101420000F931F93CF93DF937C018B01EA010E94FE\r
+:101430006E0B811131C0209731F088819981081B92\r
+:10144000190BE80EF91EC12CD12C0115110519F14B\r
+:101450008091E80085FD14C08091E8008E7780932C\r
+:10146000E800209741F0888199818C0D9D1D99831A\r
+:10147000888385E011C00E946E0B882331F30CC075\r
+:10148000F70181917F018093F10001501109FFEF75\r
+:10149000CF1ADF0ADACF80E0DF91CF911F910F9151\r
+:1014A000FF90EF90DF90CF9008952091EB01309165\r
+:1014B000EC012617370748F06115710539F42091C2\r
+:1014C000E8002E772093E80001C0B901FC0120E07C\r
+:1014D00061157105B9F18091E401882309F440C0D8\r
+:1014E000853009F43FC08091E80083FD3DC08091C4\r
+:1014F000E80082FF06C08091E80082FF26C080E0FD\r
+:1015000008958091E80080FFE3CF2091F30080915F\r
+:10151000F20090E0922B6115710551F08830910531\r
+:1015200038F421912093F100615071090196F3CFB5\r
+:1015300021E0089709F020E08091E8008E77809301\r
+:10154000E800C6CF2111C7CFD6CF8091E401882310\r
+:1015500039F0853039F08091E80083FFCCCF04C0AA\r
+:1015600082E0089583E0089581E008952091EB01E1\r
+:101570003091EC012617370748F06115710539F4F1\r
+:101580002091E8002E772093E80001C0B901FC010A\r
+:1015900020E061157105C1F18091E401882309F40F\r
+:1015A00041C0853009F440C08091E80083FD3EC011\r
+:1015B0008091E80082FF06C08091E80082FF27C08A\r
+:1015C00080E008958091E80080FFE3CF2091F30050\r
+:1015D0008091F20090E0922B6115710559F08830EE\r
+:1015E000910540F424912093F100319661507109E6\r
+:1015F0000196F2CF21E0089709F020E08091E80001\r
+:101600008E778093E800C5CF2111C6CFD5CF8091CA\r
+:10161000E401882339F0853039F08091E80083FFB8\r
+:10162000CBCF04C082E0089583E0089581E008955F\r
+:10163000982F973058F59093E900981739F07091EA\r
+:10164000EC002091ED005091F00003C0242F762F84\r
+:1016500050E021FF19C03091EB003E7F3093EB004A\r
+:101660003091ED003D7F3093ED003091EB00316023\r
+:101670003093EB007093EC002093ED005093F0005A\r
+:101680002091EE0027FF07C09F5FD3CF8F7080931C\r
+:10169000E90081E0089580E008958091E50187FDEB\r
+:1016A00005C08091E80080FF0EC012C08091E80064\r
+:1016B00082FD05C08091E4018111F8CF08958091E9\r
+:1016C000E8008B7708C08091E4018111EACF08958A\r
+:1016D0008091E8008E778093E80008958091E4007F\r
+:1016E0009091E50045E62091EC0020FF21C020917B\r
+:1016F000E80020FD21C02091E401222389F025305B\r
+:1017000089F02091EB0025FD0FC02091E40030917D\r
+:10171000E5002817390739F3415041F0C901E3CFFB\r
+:1017200082E0089583E0089581E0089584E00895BB\r
+:101730002091E80022FFDFCF80E008950E940C0C8A\r
+:101740000E94140CE0EEF0E0808181608083E8ED7F\r
+:10175000F0E080818F77808319BCA7EDB0E08C9199\r
+:101760008E7F8C9380818F7E80831092E301089519\r
+:101770000F931F93CF93DF930E940C0C0E94140CC5\r
+:10178000C8EDD0E088818F778883888180688883DE\r
+:1017900088818F7D888319BC1092E4011092E0014A\r
+:1017A0001092E2011092E10100EE10E0F801808158\r
+:1017B0008B7F808388818160888342E060E080E065\r
+:1017C0000E94180BE1EEF0E080818E7F8083E2EED4\r
+:1017D000F0E0808181608083808188608083F8016F\r
+:1017E00080818E7F8083888180618883DF91CF9123\r
+:1017F0001F910F910895E8EDF0E080818F7E808346\r
+:10180000E7EDF0E080818160808384E082BF81E049\r
+:101810008093E3010C94B80BE8EDF0E080818E7FBB\r
+:1018200080831092E20008951092DA001092E10095\r
+:1018300008951F920F920FB60F9211242F933F938A\r
+:101840004F935F936F937F938F939F93AF93BF93C8\r
+:10185000EF93FF938091E10082FF0BC08091E20043\r
+:1018600082FF07C08091E1008B7F8093E1000E949E\r
+:10187000750E8091DA0080FF1FC08091D80080FF34\r
+:101880001BC08091DA008E7F8093DA008091D900AE\r
+:1018900080FF0DC080E189BD82E189BD09B400FEF1\r
+:1018A000FDCF81E08093E4010E947D0805C019BC52\r
+:1018B0001092E4010E948B088091E10080FF19C022\r
+:1018C0008091E20080FF15C08091E2008E7F8093BE\r
+:1018D000E2008091E20080618093E2008091D80074\r
+:1018E00080628093D80019BC85E08093E4010E9457\r
+:1018F0008F088091E10084FF30C08091E20084FF76\r
+:101900002CC080E189BD82E189BD09B400FEFDCF14\r
+:101910008091D8008F7D8093D8008091E1008F7EE8\r
+:101920008093E1008091E2008F7E8093E2008091BD\r
+:10193000E20081608093E2008091E001882311F051\r
+:1019400084E007C08091E30087FF02C083E001C00C\r
+:1019500081E08093E4010E9491088091E10083FF7F\r
+:1019600029C08091E20083FF25C08091E100877F3C\r
+:101970008093E10082E08093E4011092E001809185\r
+:10198000E1008E7F8093E1008091E2008E7F809362\r
+:10199000E2008091E20080618093E20042E060E03A\r
+:1019A00080E00E94180B8091F00088608093F00026\r
+:1019B0000E948E08FF91EF91BF91AF919F918F91FF\r
+:1019C0007F916F915F914F913F912F910F900FBE3B\r
+:1019D0000F901F9018951F920F920FB60F9211241F\r
+:1019E0002F933F934F935F936F937F938F939F9327\r
+:1019F000AF93BF93CF93EF93FF93C091E900CF7064\r
+:101A00008091EC001092E9008091F000877F809334\r
+:101A1000F00078940E94270D1092E9008091F00068\r
+:101A200088608093F000C093E900FF91EF91CF911F\r
+:101A3000BF91AF919F918F917F916F915F914F91E6\r
+:101A40003F912F910F900FBE0F901F9018951F93ED\r
+:101A5000CF93DF93CDB7DEB7AA970FB6F894DEBF6A\r
+:101A60000FBECDBFE5EEF1E08091F100819321E062\r
+:101A7000ED3EF207C9F70E94AD088091E80083FFB0\r
+:101A80001CC12091E5013091E601832F90E08A305E\r
+:101A9000910508F012C1FC01EA5AFF4F0C94532340\r
+:101AA000203881F0223809F008C18091E9018F7057\r
+:101AB0008093E9008091EB0085FB882780F91092E4\r
+:101AC000E90006C08091E1019091E20191118260EC\r
+:101AD0009091E800977F9093E8008093F100109236\r
+:101AE000F100C5C0822F8D7F09F0E7C0222319F0D5\r
+:101AF000223061F0E2C08091E701813009F0DDC061\r
+:101B0000333009F080E08093E20128C08091E70142\r
+:101B1000811124C02091E9012F7009F4CEC02093D7\r
+:101B2000E9008091EB0080FF19C08091EB00333019\r
+:101B300011F4806211C080618093EB0081E090E03D\r
+:101B4000022E01C0880F0A94EAF78093EA001092EF\r
+:101B5000EA008091EB0088608093EB001092E9002E\r
+:101B60008091E800877F86C02111A7C01091E7010E\r
+:101B70001F778091E3008078812B8093E300809130\r
+:101B8000E800877F8093E8000E944D0B8091E80079\r
+:101B900080FFFCCF8091E30080688093E3001123F5\r
+:101BA00011F083E001C082E08093E40186C02058F8\r
+:101BB000223008F082C08091E7019091E8018C3DCD\r
+:101BC00023E0920779F583E08A838AE289834FB71D\r
+:101BD000F894DE01139620E03EE051E2E32FF0E0BE\r
+:101BE00050935700E49120FF03C0E295EF703F5FF0\r
+:101BF000EF708E2F90E0EA3010F0C79601C0C096CB\r
+:101C00008D939D932F5F243149F74FBF8091E8005A\r
+:101C1000877F8093E8006AE270E0CE0101960E941F\r
+:101C2000550A14C0AE014F5F5F4F6091E9010E94F9\r
+:101C30009D09009709F441C02091E800277F209377\r
+:101C4000E800BC0189819A810E94B60A8091E8006F\r
+:101C50008B778093E80031C0203879F58091E800D7\r
+:101C6000877F8093E8008091E0018093F10080916C\r
+:101C7000E8008E778093E8000E944D0B1EC0211172\r
+:101C80001CC09091E7019230C0F48091E800877FFA\r
+:101C90008093E8009093E0010E944D0B8091E00159\r
+:101CA000811104C08091E30087FF02C084E001C07D\r
+:101CB00081E08093E4010E9499088091E80083FF0D\r
+:101CC0000AC08091E800877F8093E8008091EB0054\r
+:101CD00080628093EB00AA960FB6F894DEBF0FBE29\r
+:101CE000CDBFDF91CF911F9108950895CF9380913B\r
+:101CF000E4018823B1F08091E9008F709091EC00AD\r
+:101D000090FF02C090E801C090E0C92FC82B10924C\r
+:101D1000E9008091E80083FD0E94270DCF70C093F9\r
+:101D2000E900CF9108959093690180936801089527\r
+:101D3000E0916801F0916901309721F00190F08104\r
+:101D4000E02D099480E00895E0916801F091690127\r
+:101D5000309721F00280F381E02D09940895E091FD\r
+:101D60006801F0916901309721F00480F581E02D40\r
+:101D700009940895209166013091670182179307B5\r
+:101D800071F09093670180936601E0916801F09192\r
+:101D90006901309721F00680F781E02D09940895BC\r
+:101DA00020916401309165018217930771F090933F\r
+:101DB000650180936401E0916801F09169013097B9\r
+:101DC00021F00084F185E02D0994089508950C9484\r
+:101DD000E60E0E94251B0E94B5030C94EB1BCF92CC\r
+:101DE000DF92EF92FF920F931F93CF93DF93CDB7C4\r
+:101DF000DEB72B970FB6F894DEBF0FBECDBF0E94A3\r
+:101E0000CD038BE6C82E81E0D82E00E010E0E02E56\r
+:101E1000802F0E94BB04F60141916F01F42EF82639\r
+:101E2000B1F40F5F1F4F0E30110589F78FEF8983D3\r
+:101E30008A831B820E942E1B8160782F9D838C8356\r
+:101E400049815A816B818D810E94920F40C090918F\r
+:101E5000CD0191FF04C08B870E94C1048B8520E0D7\r
+:101E600030E04F2D50E0922FBA01022E02C075953E\r
+:101E700067950A94E2F760FF24C02E83EF8221E089\r
+:101E800030E0690102C0CC0CDD1C9A95E2F790E0CD\r
+:101E90008C219D21892B09F420E028870E942E1B8C\r
+:101EA0008160782F9A8789874E815F8168858A85CE\r
+:101EB0000E94920FF801E559FE4F8081C826C0822A\r
+:101EC00006C02F5F3F4F2630310569F6AACF0E942A\r
+:101ED000D11E10916A010E94980E1817A1F00E945D\r
+:101EE000980E80936A012B960FB6F894DEBF0FBE52\r
+:101EF000CDBFDF91CF911F910F91FF90EF90DF90B9\r
+:101F0000CF900C949D072B960FB6F894DEBF0FBEB2\r
+:101F1000CDBFDF91CF911F910F91FF90EF90DF9098\r
+:101F2000CF900895CF93DF93CDB7DEB72B970FB641\r
+:101F3000F894DEBF0FBECDBF4F83588769877A877D\r
+:101F40008B87DE01119686E0FD0111928A95E9F7F3\r
+:101F500085E0FE01379601900D928A95E1F749815F\r
+:101F60005A816B817C818D819E810E94E7162B9620\r
+:101F70000FB6F894DEBF0FBECDBFDF91CF910895AD\r
+:101F80000895CF93C82F882309F4C1C0823859F42B\r
+:101F90000E94980E81FDBBC089E30E9491190E94A6\r
+:101FA0005B1A89E30CC0833879F40E94980E80FD97\r
+:101FB000AEC083E50E9491190E945B1A83E50E94DE\r
+:101FC000D119CF910C945B1A843859F40E94980E61\r
+:101FD00082FD9DC087E40E9491190E945B1A87E4EC\r
+:101FE000EECF8CEF8C0F813A48F48C2F0E940F219A\r
+:101FF00081118DC08C2F0E949119E3CF80E28C0F4C\r
+:10200000883048F4C77081E001C0880FCA95EAF7AC\r
+:102010000E94121AD6CF8BE58C0F833078F4C53A24\r
+:1020200029F0C63A31F482E890E005C081E890E0FA\r
+:1020300002C083E890E0CF910C94BA0E88E58C0F33\r
+:10204000833108F064C0C83A39F1C93A41F1CA3A5B\r
+:1020500049F1CB3A51F1CC3A59F1CD3A61F1C03B5B\r
+:1020600069F1CE3A71F1CF3A79F1C13B81F1C23BCE\r
+:1020700089F1C33B91F1C43B99F1C53BA1F1C63B4A\r
+:10208000A9F1C73BB1F1C83BB9F1C93BC1F1CA3BAA\r
+:10209000C9F58AE292E038C082EE90E035C089EE60\r
+:1020A00090E032C08AEE90E02FC085EB90E02CC02B\r
+:1020B00086EB90E029C087EB90E026C08CEC90E0A6\r
+:1020C00023C08DEC90E020C083E891E01DC08AE839\r
+:1020D00091E01AC082E991E017C084E991E014C050\r
+:1020E00081E292E011C083E292E00EC084E292E0CD\r
+:1020F0000BC085E292E008C086E292E005C087E26C\r
+:1021000092E002C080E090E0CF910C94D00ECF918D\r
+:102110000895882309F44BC0823859F40E94980E20\r
+:1021200081FF45C089E30E9491190E945B1A89E3EF\r
+:102130000CC0833871F40E94980E80FF38C083E58C\r
+:102140000E9491190E945B1A83E50E94D1190C9498\r
+:102150005B1A843859F40E94980E82FF28C087E4E5\r
+:102160000E9491190E945B1A87E4EFCF9CEF980FB1\r
+:10217000913A58F390E2980F983050F4877091E0BC\r
+:1021800001C0990F8A95EAF7892F0E94181ADFCFAC\r
+:102190009BE5980F933020F480E090E00C94BA0E09\r
+:1021A000885A833120F480E090E00C94D00E08959A\r
+:1021B000882321F00E94121A0C945B1A0895882338\r
+:1021C00021F00E94181A0C945B1A0895CF92DF92A6\r
+:1021D000EF92FF920F931F93CF93DF93CDB7DEB7AC\r
+:1021E00028970FB6F894DEBF0FBECDBF8C0185E0F7\r
+:1021F000F801DE01119601900D928A95E1F7F80140\r
+:10220000D080E180F280558152955F7023813481C6\r
+:10221000232B39F0FFEFEF1206C081E0DF1203C07D\r
+:1022200003C081E001C080E080FDE2C2C8015F839D\r
+:102230000E94C00FD982EA8269817A818F2D0E9423\r
+:102240008D199E8388870E9441190E9414184E811F\r
+:102250005F816885FF2029F00E942F1A68855F81C1\r
+:102260004E81E42FE295EF70F0E0E05AFF4F0C94BE\r
+:102270005323842F807F142F1F70882311F0129511\r
+:10228000107FFF20B1F0112309F467C280E2860FAE\r
+:10229000883028F4812F68870E94121A04C0812F89\r
+:1022A00068870E94221A688568870E945B1A688581\r
+:1022B00054C2862F68870E9489106885112309F40B\r
+:1022C00097C2605E812F683018F40E94181A02C00D\r
+:1022D0000E94281A28960FB6F894DEBF0FBECDBF15\r
+:1022E000DF91CF911F910F91FF90EF90DF90CF90F2\r
+:1022F0000C945B1A242F207F842F8F70203211F0D2\r
+:102300008295807F662319F0613019F12BC0FF2080\r
+:10231000B1F0552309F493C1513009F090C12896CA\r
+:102320000FB6F894DEBF0FBECDBFDF91CF911F91E6\r
+:102330000F91FF90EF90DF90CF900C94421A5523AD\r
+:1023400019F0513009F454C28E830E94451A8E81CF\r
+:1023500089C1FF2021F0523008F04AC270C15111EA\r
+:1023600047C280C1FF2021F0552309F468C1F5C19F\r
+:10237000552309F477C105C2242F2695269523708D\r
+:1023800030E02115310521F021303105C9F030C28E\r
+:10239000FF2021F0862F942F937002C080E090E000\r
+:1023A00028960FB6F894DEBF0FBECDBFDF91CF9158\r
+:1023B0001F910F91FF90EF90DF90CF900C94BA0E89\r
+:1023C000FF2021F0862F942F937002C080E090E0D0\r
+:1023D00028960FB6F894DEBF0FBECDBFDF91CF9128\r
+:1023E0001F910F91FF90EF90DF90CF900C94D00E43\r
+:1023F000862FFF2019F00E94D91D02C00E94411EA5\r
+:1024000028960FB6F894DEBF0FBECDBFDF91CF91F7\r
+:102410001F910F91FF90EF90DF90CF900C94C61E0C\r
+:10242000842F837009F076C0F110E2C1262F229527\r
+:1024300026952770220F220F862F8F70C82ED12C41\r
+:10244000E12CF12C022E04C0CC0CDD1CEE1CFF1C78\r
+:102450000A94D2F764FF10C06FE070E080E090E073\r
+:1024600004C0660F771F881F991F2A95D2F76095C1\r
+:1024700070958095909503C060E070E0CB01242FAB\r
+:10248000269526952370422F50E042305105D1F019\r
+:102490004330510559F16C297D298E299F294130FE\r
+:1024A000510541F128960FB6F894DEBF0FBECDBF9F\r
+:1024B000DF91CF911F910F91FF90EF90DF90CF9020\r
+:1024C0000C9439186C297D298E299F2928960FB6DE\r
+:1024D000F894DEBF0FBECDBFDF91CF911F910F915A\r
+:1024E000FF90EF90DF90CF900C9453180E94391812\r
+:1024F000C701B60128960FB6F894DEBF0FBECDBF58\r
+:10250000DF91CF911F910F91FF90EF90DF90CF90CF\r
+:102510000C941F18FF2019F0842F817001C086953C\r
+:10252000882309F465C1262F229526952770220F4E\r
+:10253000220F862F8F70C82ED12CE12CF12C022E69\r
+:1025400004C0CC0CDD1CEE1CFF1C0A94D2F764FF07\r
+:1025500010C06FE070E080E090E004C0660F771F6D\r
+:10256000881F991F2A95D2F7609570958095909550\r
+:1025700003C060E070E0CB01242F269526952370E0\r
+:10258000422F50E042305105D1F04330510559F10E\r
+:102590006C297D298E299F294130510541F12896CA\r
+:1025A0000FB6F894DEBF0FBECDBFDF91CF911F9164\r
+:1025B0000F91FF90EF90DF90CF900C940D196C2944\r
+:1025C0007D298E299F2928960FB6F894DEBF0FBE6D\r
+:1025D000CDBFDF91CF911F910F91FF90EF90DF90D2\r
+:1025E000CF900C9427190E940D19C701B6012896A7\r
+:1025F0000FB6F894DEBF0FBECDBFDF91CF911F9114\r
+:102600000F91FF90EF90DF90CF900C94F318603F04\r
+:10261000C9F118F4603E50F49BC0623F09F460C0F9\r
+:1026200008F44AC0633F09F46FC092C0162F1F70B0\r
+:10263000842F8F71FF2099F00E948C18812F28968B\r
+:102640000FB6F894DEBF0FBECDBFDF91CF911F91C3\r
+:102650000F91FF90EF90DF90CF900C94D8100E94D4\r
+:10266000AD18812F28960FB6F894DEBF0FBECDBFF0\r
+:10267000DF91CF911F910F91FF90EF90DF90CF905E\r
+:102680000C94DF10FF20A1F05111B2C0842F8F7184\r
+:1026900028960FB6F894DEBF0FBECDBFDF91CF9165\r
+:1026A0001F910F91FF90EF90DF90CF900C94D21874\r
+:1026B000523008F09DC0EACFFF20A1F0842F8F7127\r
+:1026C00028960FB6F894DEBF0FBECDBFDF91CF9135\r
+:1026D0001F910F91FF90EF90DF90CF900C948C188A\r
+:1026E000FF2061F3842F8F7128960FB6F894DEBF18\r
+:1026F0000FBECDBFDF91CF911F910F91FF90EF9053\r
+:10270000DF90CF900C94AD18FF2091F0842F8F7143\r
+:1027100028960FB6F894DEBF0FBECDBFDF91CF91E4\r
+:102720001F910F91FF90EF90DF90CF900C9477184E\r
+:1027300028960FB6F894DEBF0FBECDBFDF91CF91C4\r
+:102740001F910F91FF90EF90DF90CF900C946D1838\r
+:10275000FF20A1F0552309F4B1CF862F28960FB69C\r
+:10276000F894DEBF0FBECDBFDF91CF911F910F91C7\r
+:10277000FF90EF90DF90CF900C94C10F552309F498\r
+:10278000B1CF862F28960FB6F894DEBF0FBECDBF0F\r
+:10279000DF91CF911F910F91FF90EF90DF90CF903D\r
+:1027A0000C9489104F70C8010E94550228960FB6EC\r
+:1027B000F894DEBF0FBECDBFDF91CF911F910F9177\r
+:1027C000FF90EF90DF90CF900C9494174F70C8015A\r
+:1027D00028960FB6F894DEBF0FBECDBFDF91CF9124\r
+:1027E0001F910F91FF90EF90DF90CF900C94C20457\r
+:1027F00028960FB6F894DEBF0FBECDBFDF91CF9104\r
+:102800001F910F91FF90EF90DF90CF9008950E945D\r
+:102810002F1A0E943F1A0E94041A0E945B1A0E94FB\r
+:10282000721F0E94C61E80E090E00E94BA0E80E0F7\r
+:1028300090E00C94D00E0E941F1A0C9407140E9472\r
+:102840008219292F22952F7030E02C3031054CF45D\r
+:102850002A3031056CF4225031092230310590F4D0\r
+:1028600007C02C30310551F02F30310539F00AC046\r
+:10287000803E10F0803F31F481E0089593FB88277B\r
+:1028800080F9089580E00895CF93DF9300D000D0C1\r
+:102890001F92CDB7DEB70F900F900F900F900F9053\r
+:1028A000DF91CF910895CF93DF9300D000D000D077\r
+:1028B000CDB7DEB726960FB6F894DEBF0FBECDBFFC\r
+:1028C000DF91CF9108951F93CF93DF93C09179014A\r
+:1028D00016E080917A01C81799F0D0E01C9FF001B2\r
+:1028E0001D9FF00D1124E558FE4F408151816281FA\r
+:1028F0007381848195810E9453142196C770E9CF1A\r
+:10290000DF91CF911F9108954091AB015091AC019F\r
+:102910006091AD017091AE018091AF019091B001D5\r
+:102920000C945314CF938091B00182958F7009F06D\r
+:102930005FC08091AD01882309F45AC020917901CC\r
+:10294000A0917A016091AB017091AC018091AE01D0\r
+:102950009091AF0131E06F3F09F030E0B32FC6E056\r
+:102960002A1709F445C0009721F07F3F21F44B2F2F\r
+:1029700003C041E001C040E030E040FD35C0C29FEF\r
+:10298000F001C39FF00D1124E558FE4F41817413EF\r
+:102990002BC04081641328C04281411125C043816E\r
+:1029A00054814817590710F441505109481B590BDD\r
+:1029B000483C5105C8F48091B0018F7080618093CC\r
+:1029C000B00186E0829FF001839FF00D1124E05852\r
+:1029D000FE4F80818F70806180838BEA91E00E943E\r
+:1029E000E610CF910C9463142F5F3F4F2770B8CF40\r
+:1029F000CF910895CF92DF92EF92FF920F931F93A2\r
+:102A0000CF93DF93CDB7DEB762970FB6F894DEBFF2\r
+:102A10000FBECDBF8C0185E0F801DE011D9601904F\r
+:102A20000D928A95E1F7D8014C9111965C9111971E\r
+:102A300012966C9112971396ED90FC9014977091EA\r
+:102A4000AB01E091AC012091AE013091AF012115B5\r
+:102A5000310531F0EF3F31F481E07F3F19F403C0DD\r
+:102A600081E001C080E0B82FB170CB2E80FD6CC139\r
+:102A7000D090AD01DD2009F4F5C0F091B001E2166F\r
+:102A8000F30638F0C701821B930B883C910548F090\r
+:102A90009BC0209530952E0D3F1D283C310508F038\r
+:102AA00093C08F2F807F09F052C0E51314C07413B8\r
+:102AB00012C0D62E61110FC0FF70F061F093B0010B\r
+:102AC0000E9484148BEA91E00E94E6108091B0018C\r
+:102AD000F80185836CC1EF2831F05F3F31F481E06C\r
+:102AE0004F3F19F403C081E001C080E080FD03C0C6\r
+:102AF00081E0862701C080E0F82FF170FF2E80FF73\r
+:102B00001CC08091790120917A0136E0821709F486\r
+:102B100028C190E0389FF001399FF00D1124E5584D\r
+:102B2000FE4F7181571306C07081471303C0728135\r
+:102B3000671303C001968770E9CFD62E662309F488\r
+:102B400036C18091B00181608093B00153C0E5131C\r
+:102B500008C0741306C0611104C0D8011596FC9317\r
+:102B6000AEC04D875E878D859E856A8B0E941F143F\r
+:102B70006A89882329F1D62E662311F12091B001AC\r
+:102B8000822F82958F7090E002970CF460C0809144\r
+:102B9000AB019091AC0198878F831986FB86EA86FA\r
+:102BA0002C87CE01079651C0E51731F14D875E871E\r
+:102BB0008D859E856A8B0E941F146A8981112EC0A3\r
+:102BC000C8010E94E610A4C08F2F807F69F77E2D78\r
+:102BD000F98AE88A89890E9444148BEA91E00E946C\r
+:102BE000E610EBEAF1E086E0DF011D928A95E9F755\r
+:102BF0000E948414D12CDBC07413D8CF6111D6CFBE\r
+:102C0000D8011596FC93C8010E94E610EBEAF1E0AA\r
+:102C100086E0DF011D928A95E9F7C9C0D62E6623AA\r
+:102C200079F22091B001822F82958F7090E0029707\r
+:102C300074F08091AB019091AC019A8389831B82DF\r
+:102C4000FD82EC822E83CE0101960E94E61086E082\r
+:102C5000F801ABEAB1E001900D928A95E1F70E948C\r
+:102C600092146FC0E216F30628F0C701821B930B83\r
+:102C70009C0104C0209530952E0D3F1D283C310548\r
+:102C800008F052C0D62E662309F49ACFE5132CC063\r
+:102C900074132AC08091B00180FD1DC0982F9295B9\r
+:102CA0009F70C9F0D80115968C9315979F3039F015\r
+:102CB0009F5F9295907F8F70892B15968C93C8019A\r
+:102CC0000E94E61086E0F801ABEAB1E001900D92B7\r
+:102CD0008A95E1F736C086E0F801ABEAB1E00190F1\r
+:102CE0000D928A95E1F763C04D875E878D859E853D\r
+:102CF0000E941F14882379F086E0F801ABEAB1E066\r
+:102D000001900D928A95E1F70E9492140E9484141A\r
+:102D1000DD24D3944CC08091B00181608093B001D8\r
+:102D2000C8010E94E61043C07E2DF98AE88A89898D\r
+:102D30000E944414EBEAF1E086E0DF011D928A95DF\r
+:102D4000E9F70E94841433C0662309F439CF4D8714\r
+:102D50005E878D859E850E941F14882309F430CFDD\r
+:102D6000CBCF4D875E878D859E850E948219292F46\r
+:102D700022952F7030E0223031052CF49F7041F005\r
+:102D8000811106C00CC0243031052CF49F7049F429\r
+:102D9000805E883020F0C8010E94E610CF2CDC2C29\r
+:102DA00006C0D80115969C91907F91F7F8CF8D2D94\r
+:102DB00062960FB6F894DEBF0FBECDBFDF91CF9104\r
+:102DC0001F910F91FF90EF90DF90CF9008951F9388\r
+:102DD000CF93DF93CDB7DEB72C970FB6F894DEBF55\r
+:102DE0000FBECDBF4F83588769877A878B879C87B3\r
+:102DF000CE0107960E94FA148823C1F02F813885EE\r
+:102E00008A859B85892B31F03F3F11F080E003C01C\r
+:102E10002F3FE1F781E0811147C04F8158856985D7\r
+:102E20007A858B859C850E9453143EC086E0FE0106\r
+:102E30003796DE01119601900D928A95E1F7FF8198\r
+:102E4000E8854A855B854115510531F0EF3F31F446\r
+:102E500081E0FF3F19F403C081E001C080E080FD04\r
+:102E600023C020917A0130E0C9010196877099272B\r
+:102E70006091790170E086179707F1F1F983EA8391\r
+:102E80005D834C8396E0929FD001939FB00D1124F7\r
+:102E9000A558BE4FFE01319601900D929A95E1F72B\r
+:102EA00080937A010E94631416E0809179019091D9\r
+:102EB0007A01891779F1189FC001112485589E4F16\r
+:102EC0000E94FA14882331F1E09179011E9FF001EC\r
+:102ED0001124E558FE4F40815181628173818481C4\r
+:102EE00095810E9453148091790190E0019687703A\r
+:102EF000992780937901D9CF0E941B1410927A01EF\r
+:102F000010927901EBEAF1E086E0DF011D928A95EB\r
+:102F1000E9F7CACF2C960FB6F894DEBF0FBECDBF2F\r
+:102F2000DF91CF911F910895EF92FF920F931F931E\r
+:102F3000CF93DF93FC01009709F46FC0F12CEE24CE\r
+:102F4000E394EF0121968491843740F4843008F0B3\r
+:102F500055C0813081F0823021F15FC0853709F49E\r
+:102F600047C0C0F19CE7980F903708F056C08F77A4\r
+:102F70000E94891045C08F010E5F1F4FFE01849192\r
+:102F800090E2980F983050F48770FE2D01C0FF0F2B\r
+:102F90008A95EAF78F2F0E94321A15C00E94C10F3E\r
+:102FA00014C08F010E5F1F4FFE01849190E2980FB5\r
+:102FB000983068F48770FE2D01C0FF0F8A95EAF7FC\r
+:102FC0008F2F0E94381A0E945B1AE80119C00E94D4\r
+:102FD0008910FBCFCF010296FE01C491CC2361F092\r
+:102FE000EFE9FFE03197F1F700C00000C150F6CFE4\r
+:102FF000CF010296FE01F490EC0102C00E94C10FC5\r
+:103000008F2D882341F0EFE9FFE03197F1F700C001\r
+:1030100000008150F6CFFE0194CFDF91CF911F9138\r
+:103020000F91FF90EF90089508956093B50170930C\r
+:10303000B6018093B7019093B8010C9407140F93D5\r
+:103040001F930091B5011091B6012091B701309105\r
+:10305000B801062B172B282B392B0093B5011093A1\r
+:10306000B6012093B7013093B8011F910F910C94D2\r
+:1030700007140F931F930091B5011091B601209191\r
+:10308000B7013091B8010623172328233923009371\r
+:10309000B5011093B6012093B7013093B8011F9189\r
+:1030A0000F910C9407140F931F930091B501109189\r
+:1030B000B6012091B7013091B801062717272827BC\r
+:1030C00039270093B5011093B6012093B7013093CF\r
+:1030D000B8011F910F910C9407141092B101109236\r
+:1030E000B2011092B3011092B4010C94071441E0A4\r
+:1030F00050E060E070E004C0440F551F661F771F6A\r
+:103100008A95D2F74093B1015093B2016093B30115\r
+:103110007093B4010C94071441E050E060E070E05B\r
+:1031200004C0440F551F661F771F8A95D2F7809100\r
+:10313000B1019091B201A091B301B091B401842B7F\r
+:10314000952BA62BB72B8093B1019093B201A0933E\r
+:10315000B301B093B4010C94071441E050E060E077\r
+:1031600070E004C0440F551F661F771F8A95D2F781\r
+:1031700040955095609570958091B1019091B20104\r
+:10318000A091B301B091B40184239523A623B72362\r
+:103190008093B1019093B201A093B301B093B401B5\r
+:1031A0000C94071441E050E060E070E004C0440F6C\r
+:1031B000551F661F771F8A95D2F78091B1019091B4\r
+:1031C000B201A091B301B091B40184279527A6273D\r
+:1031D000B7278093B1019093B201A093B301B0934C\r
+:1031E000B4010C9407140F931F930091B101109137\r
+:1031F000B2012091B3013091B401062B172B282B7B\r
+:10320000392B0093B1011093B2012093B301309395\r
+:10321000B4011F910F910C9407140F931F93009109\r
+:10322000B1011091B2012091B3013091B401062394\r
+:103230001723282339230093B1011093B20120935F\r
+:10324000B3013093B4011F910F910C9407140F93A5\r
+:103250001F930091B1011091B2012091B3013091FF\r
+:10326000B40106271727282739270093B1011093A7\r
+:10327000B2012093B3013093B4011F910F910C94CC\r
+:1032800007140895CF92DF92EF92FF920F931F934E\r
+:10329000CF93DF93EC01C090B501D090B601E090E0\r
+:1032A000B701F090B8018091B1019091B201A09165\r
+:1032B000B301B091B401C82AD92AEA2AFB2A0FE146\r
+:1032C00010E0B701A601002E04C0769567955795CA\r
+:1032D00047950A94D2F740FD05C00150110988F7BF\r
+:1032E00080E007C0BE01802F0E9402070197A9F36A\r
+:1032F000802FDF91CF911F910F91FF90EF90DF9082\r
+:10330000CF900895CF93DF93EC010E944219BE0144\r
+:103310000E940207DF91CF910895CB010E9482198C\r
+:10332000089590910C019923D9F090910D01992362\r
+:10333000B9F0982F9695969596959F3088F5E091DF\r
+:103340000E01F0910F01E90FF11D877021E030E0CF\r
+:1033500001C0220F8A95EAF78181822B818308952B\r
+:1033600040910E0150910F0120E030E09FEFFA01F3\r
+:10337000E20FF31F6281681799F09F3F19F4611102\r
+:1033800001C0922F2F5F3F4F2E30310581F79F3FB5\r
+:1033900039F0FA01E90FF11D97FDFA95828308953E\r
+:1033A000089590910C019923E1F090910D019923DA\r
+:1033B000C1F0982F9695969596959F3020F5E091BF\r
+:1033C0000E01F0910F01E90FF11D877021E030E04F\r
+:1033D00001C0220F8A95EAF7209581812823218355\r
+:1033E000089540910E0150910F0120E030E0FA0164\r
+:1033F000E20FF31F9281981301C012822F5F3F4F9B\r
+:103400002E303105A1F7089581E090E0E0910E01A2\r
+:10341000F0910F01E80FF91F10820196803191059C\r
+:10342000A9F708959091CC01982B9093CC01089521\r
+:1034300080959091CC0198239093CC01089510929F\r
+:10344000CC0108959091CB01982B9093CB010895D6\r
+:1034500080959091CB0198239093CB010895109281\r
+:10346000CB0108959091CA01982B9093CA010895B9\r
+:1034700080959091CA0198239093CA010895109263\r
+:10348000CA0108958093B90108951092B901089571\r
+:1034900040910E0150910F0120E030E080E0FA01F0\r
+:1034A000E20FF31F918191118F5F2F5F3F4F2F30FC\r
+:1034B0003105A9F70895E0910E01F0910F01809177\r
+:1034C000CC018083E0910E01F0910F0180819091F9\r
+:1034D000CB01892B8083E0910E01F0910F01808157\r
+:1034E0009091CA01892B80839091B901992361F051\r
+:1034F000E0910E01F0910F018081892B80830E9461\r
+:10350000481A81111092B90180910E0190910F011A\r
+:103510000C94A40ECF92DF92EF92FF920F931F9321\r
+:103520006C01EE24FF24C114D104E104F10421F460\r
+:103530006B017C0180E001C080E133272F2D1E2D1F\r
+:103540000D2D011511052105310519F0885F680160\r
+:10355000790197018601A4E036952795179507957F\r
+:10356000AA95D1F7011511052105310519F08C5FD8\r
+:103570006801790197018601F2E036952795179544\r
+:103580000795FA95D1F7011511052105310519F0B7\r
+:103590008E5F68017901B701A60176956795579509\r
+:1035A0004795452B462B472B09F08F5F1F910F91B5\r
+:1035B000FF90EF90DF90CF9008958091E4018430E8\r
+:1035C00039F11092CE0120E488E190E00FB6F89432\r
+:1035D000A895809360000FBE2093600080E00E9459\r
+:1035E0009D0783B7817F846083BF83B7816083BF7A\r
+:1035F0007894889583B78E7F83BF0FB6F894A8958B\r
+:1036000080916000886180936000109260000FBE1E\r
+:10361000089508950895CF930E94091B0E94CD0339\r
+:103620000E940A1BC0E08C2F0E94BB04811104C0C1\r
+:10363000CF5FCE30C1F701C081E0CF9108950E94E5\r
+:103640001B140E94980E0C949D0782E084BD93E0A9\r
+:1036500095BD9AEF97BD80936E0008952FB7F894AB\r
+:103660008091CF019091D001A091D101B091D20170\r
+:103670002FBF0895CF92DF92EF92FF920F931F9387\r
+:103680002FB7F8944091CF015091D0016091D101B2\r
+:103690007091D2012FBF6A017B01EE24FF248C01BF\r
+:1036A00020E030E0C016D106E206F30610F44150E7\r
+:1036B0005109481B590BCA011F910F91FF90EF90C0\r
+:1036C000DF90CF9008951F920F920FB60F921124A2\r
+:1036D0008F939F93AF93BF938091CF019091D0012F\r
+:1036E000A091D101B091D2010196A11DB11D80938D\r
+:1036F000CF019093D001A093D101B093D201BF919B\r
+:10370000AF919F918F910F900FBE0F901F901895C2\r
+:103710000E949E0BF8942FEF87EA91E6215080409B\r
+:103720009040E1F700C0000087E090EBDC0180935F\r
+:10373000EE019093EF01A093F001B093F1012CE022\r
+:1037400088E190E00FB6F894A895809360000FBED2\r
+:1037500020936000FFCFEF92FF920F931F93CF93C0\r
+:10376000DF93D82FC0E08C2F0E94BB0400E010E054\r
+:10377000E82EF12CC701002E02C0959587950A947A\r
+:10378000E2F780FD06C00F5F1F4F0630110591F76D\r
+:1037900009C0602F7C2F80E00E94C304D813F3CFB0\r
+:1037A00081E004C0CF5FCE30F1F680E0DF91CF91B1\r
+:1037B0001F910F91FF90EF900895CF93C82F8CE247\r
+:1037C0000E94AB1B882321F08C2FCF910C94AB1B54\r
+:1037D00080E0CF910895CF930E94321D811102C0E5\r
+:1037E0000E94181DC5E6C15049F00E94CD038FE329\r
+:1037F0009CE90197F1F700C00000F5CF89E20E9433\r
+:10380000DD1B811113C18AE20E94DD1B81110E9420\r
+:10381000181D85E00E94DD1B81110E94881B0E94FB\r
+:103820003D1D8093CD0187E00E94DD1B8823A9F117\r
+:103830008BE10E94DD1B882351F08091CD0181FB3B\r
+:10384000222720F991E0922790FB81F90EC08EE0AB\r
+:103850000E94DD1B882361F08091CD0182FB22272D\r
+:1038600020F991E0922790FB82F98093CD0115C059\r
+:1038700080E10E94DD1B9091CD01882341F093FBF4\r
+:10388000222720F981E0822780FB93F904C0892F49\r
+:10389000809580FB90F99093CD018091CD010E949D\r
+:1038A000411D0E944F1D8093ED0180EE0E94DD1BA3\r
+:1038B000882341F08091ED01982F909590FB80F93D\r
+:1038C0008093ED0189E30E94DD1B882359F08091EC\r
+:1038D000ED0181FB222720F991E0922790FB81F9ED\r
+:1038E0008093ED0182EE0E94DD1B882359F08091C8\r
+:1038F000ED0182FB222720F991E0922790FB82F9CB\r
+:103900008093ED0186EE0E94DD1B882359F08091A3\r
+:10391000ED0183FB222720F991E0922790FB83F9A8\r
+:103920008093ED0183EE0E94DD1B882359F0809186\r
+:10393000ED0184FB222720F991E0922790FB84F986\r
+:103940008093ED0185E30E94DD1B882359F080916F\r
+:10395000ED0185FB222720F991E0922790FB85F964\r
+:103960008093ED0181E30E94DD1B882359F0809153\r
+:10397000ED0186FB222720F991E0922790FB86F942\r
+:103980008093ED0181E10E94DD1B882359F0809135\r
+:10399000ED0187FB222720F991E0922790FB87F920\r
+:1039A0008093ED018091ED010E94531D8091ED0106\r
+:1039B00087FB882780F980930D0187E20E94DD1B39\r
+:1039C000C82F8EE10E94DD1B8111C2608FE10E9431\r
+:1039D000DD1B8111C46080E20E94DD1B8111C86083\r
+:1039E00081E20E94DD1B8111C06182E20E94DD1B29\r
+:1039F0008111C06283E20E94DD1B8111C06484E2F8\r
+:103A00000E94DD1B882311F0C06802C0CC2329F07E\r
+:103A10008C2F0E944A1D6C2F03C00E94461D682FE8\r
+:103A200070E080E090E0CF910C941518CF9108954C\r
+:103A30006DEE7EEF80E090E00E948D2360E082E0FA\r
+:103A400090E00E947B2360E083E090E00E947B2373\r
+:103A500060E084E090E00E947B2360E085E090E0FD\r
+:103A60000C947B2380E090E00E94752321E08D3E42\r
+:103A70009E4F09F020E0822F089582E090E00C94A0\r
+:103A80006D23682F82E090E00C947B2383E090E02C\r
+:103A90000C946D23682F83E090E00C947B2384E0EA\r
+:103AA00090E00C946D23682F84E090E00C947B23CD\r
+:103AB0008091D50180FF0BC06091130185E0689F64\r
+:103AC000B001112475956795759567952AC081FF9A\r
+:103AD00009C06091130185E0689FB00111247595BC\r
+:103AE00067951FC082FF07C06091130185E0689F42\r
+:103AF000B001112416C04091D6014423C9F0609151\r
+:103B00001201461788F72091130185E0289F900144\r
+:103B10001124429FC001439F900D112470E00E9428\r
+:103B20003F236038710540F46115710539F002C01A\r
+:103B300065E070E0862F08958FE7089581E008958D\r
+:103B40008091D50180FF08C06091110170E07595EA\r
+:103B500067957595679521C081FF06C06091110139\r
+:103B600070E07595679519C082FF04C060911101DE\r
+:103B700070E010C08091D6018823C1F060911001DF\r
+:103B80008617A0F790911101989FC001112470E051\r
+:103B90000E943F236038710528F46115710521F0FA\r
+:103BA000862F08958FE7089581E0089561E070E021\r
+:103BB000F4CF803F21F40E94581D819504C0813FBD\r
+:103BC00029F40E94581D8093D9010895823F21F461\r
+:103BD0000E94581D819504C0833F29F40E94581DFE\r
+:103BE0008093D8010895893F19F40E94A01D05C053\r
+:103BF0008A3F31F40E94A01D81958093DA010895D7\r
+:103C00008B3F21F40E94A01D819504C08C3F29F4B4\r
+:103C10000E94A01D8093DB010895843F21F48091D0\r
+:103C2000D701816017C0853F21F48091D701826060\r
+:103C300011C0863F21F48091D70184600BC0873F7B\r
+:103C400021F48091D701886005C0883F31F48091CC\r
+:103C5000D70180618093D70108958D3F21F4809131\r
+:103C6000D50181600BC08E3F21F48091D501826027\r
+:103C700005C08F3F29F48091D50184608093D501E0\r
+:103C80000895803F39F48091D90187FF6CC010926C\r
+:103C9000D90169C0813F29F48091D9011816BCF37C\r
+:103CA00062C09091D801823F29F497FF5CC01092C6\r
+:103CB000D80159C0833F19F41916CCF354C0893F79\r
+:103CC00041F48091DA0118160CF04DC01092DA011F\r
+:103CD0004AC08A3F29F48091DA0187FF44C0F6CFB9\r
+:103CE0008B3F39F48091DB0187FF3DC01092DB01EF\r
+:103CF0003AC08C3F29F48091DB011816BCF333C025\r
+:103D0000843F21F48091D7018E7F17C0853F21F435\r
+:103D10008091D7018D7F11C0863F21F48091D7011A\r
+:103D20008B7F0BC0873F21F48091D701877F05C02F\r
+:103D3000883F31F48091D7018F7E8093D70113C0E3\r
+:103D40008D3F21F48091D5018E7F0BC08E3F21F4F1\r
+:103D50008091D5018D7F05C08F3F29F48091D501D9\r
+:103D60008B7F8093D5018091D80181110EC0809105\r
+:103D7000D90181110AC08091DA01811106C08091B8\r
+:103D8000DB01811102C01092D601089587ED91E008\r
+:103D90000E94AF0E0E942E1B9093D4018093D301FA\r
+:103DA00008951F93CF93DF938091D3019091D40115\r
+:103DB0000E943A1B4091D601442321F02091140126\r
+:103DC00030E006C0209115015AE0259F9001112492\r
+:103DD0008217930708F482C08091D8011091D9010D\r
+:103DE000D091DA01C091DB01811107C0111105C02A\r
+:103DF000D11103C0CC2309F471C04F3F19F04F5FBC\r
+:103E00004093D601181624F40E94581D8093D801BF\r
+:103E10008091D80187FF05C00E94581D819580932D\r
+:103E2000D801111624F40E94581D8093D901809165\r
+:103E3000D90187FF05C00E94581D81958093D90143\r
+:103E40006091D801662339F11091D901112319F13C\r
+:103E5000772767FD7095872F972F0E94462223E3CF\r
+:103E600033E343E35FE30E94AA220E940E226093A1\r
+:103E7000D801612F772767FD7095872F972F0E94B4\r
+:103E8000462223E333E343E35FE30E94AA220E9436\r
+:103E90000E226093D9011D1624F40E94A01D809368\r
+:103EA000DA018091DA0187FF05C00E94A01D81958B\r
+:103EB0008093DA011C1624F40E94A01D8093DB017C\r
+:103EC0008091DB0187FF05C00E94A01D8195809332\r
+:103ED000DB01DF91CF911F910C94C61EDF91CF9132\r
+:103EE0001F910895E7EDF1E085E0DF011D928A95CD\r
+:103EF000E9F71092D6011092D5010895833081F12F\r
+:103F000028F4813059F08230D1F00895853009F4D9\r
+:103F100049C0B8F1863009F456C008958091150162\r
+:103F2000262F30E0280F311D2F3F310524F4680F74\r
+:103F30006093150108958FEF809315010895809186\r
+:103F40001401262F30E0280F311D2F3F310524F4B6\r
+:103F5000680F6093140108958FEF80931401089502\r
+:103F600080911301262F30E0280F311D2F3F31059E\r
+:103F700024F4680F6093130108958FEF8093130169\r
+:103F8000089580911201262F30E0280F311D2F3F18\r
+:103F9000310524F4680F6093120108958FEF809328\r
+:103FA0001201089580911101262F30E0280F311D54\r
+:103FB0002F3F310524F4680F6093110108958FEFAE\r
+:103FC00080931101089580911001262F30E0280F71\r
+:103FD000311D2F3F310524F4680F609310010895BF\r
+:103FE0008FEF809310010895833011F128F4813010\r
+:103FF00049F0823091F00895853081F120F18630CA\r
+:10400000C1F1089580911501681720F4861B8093F3\r
+:1040100015010895109215010895809114016817F3\r
+:1040200020F4861B809314010895109214010895C2\r
+:1040300080911301681720F4861B80931301089563\r
+:1040400010921301089580911201681720F4861BC5\r
+:104050008093120108951092120108958091110128\r
+:10406000681720F4861B80931101089510921101A6\r
+:10407000089580911001681720F4861B8093100129\r
+:1040800008951092100108950F931F938D3109F434\r
+:104090006BC008F03FC08E3009F47FC0C0F4873099\r
+:1040A00009F469C068F4863009F0B1C08091CD018F\r
+:1040B000817F8E7F8093CD0181E08093DD01A8C058\r
+:1040C000883009F4A2C08B3009F49FC0A0C08631AB\r
+:1040D00009F49BC078F4803109F472C0813109F091\r
+:1040E00096C00E941B1490910D0181E08927809356\r
+:1040F0000D018BC0893109F488C08B3109F087C06C\r
+:104100008091CD0181FB222720F991E0922790FB3D\r
+:1041100081F94CC0853309F470C048F4873209F442\r
+:104120006CC008F459C0893209F467C070C0833488\r
+:1041300038F48A3308F04EC0883309F466C067C08B\r
+:10414000833409F45AC0883409F061C00E941B14FA\r
+:104150000FEF13ED20E3015010402040E1F700C0C5\r
+:1041600000000E94881B51C00E94C8210E94980E26\r
+:104170000E949D074AC09091CD01892F8095817042\r
+:1041800080FB90F929F0966098609093CD0140C033\r
+:10419000997F977F9093CD0138C08091CD0182FBAC\r
+:1041A000222720F991E0922790FB82F98093CD019C\r
+:1041B000992359F18091CD0181608093CD0125C073\r
+:1041C0008091CD0183FB222720F991E0922790FB7B\r
+:1041D00083F9ECCF895301C08D5141E050E060E09C\r
+:1041E00070E08A019B0104C0000F111F221F331FC2\r
+:1041F0008A95D2F7C901B80104C061E070E080E09F\r
+:1042000090E00E9415180E941B1481E001C080E01C\r
+:104210001F910F91089580E0089580E00895CF9355\r
+:10422000C82F8091DD01813079F018F08230E9F1FA\r
+:1042300087C0E0910E01F0910F018081813169F01A\r
+:10424000823209F07FC009C0E0910E01F0910F01A8\r
+:104250008081813111F0823261F48C2F0E940B2118\r
+:10426000811104C08C2F0E9444201DC081E090E089\r
+:104270001AC08C2F0E940D21811114C0C43179F015\r
+:1042800048F4CB3079F0C03109F060C082E080930F\r
+:10429000DD0108C0C93219F0C83321F057C01092AF\r
+:1042A000DD0154C081E0817053C0C93289F118F535\r
+:1042B000C43171F1A8F4C73009F046C08AE0809398\r
+:1042C000150194E19093140193E09093130180936E\r
+:1042D000120188E08093110188E28093100134C0BC\r
+:1042E000CE51C63088F5EC2FF0E0E65DFE4F8081C0\r
+:1042F0008093DC0129C0CE34E9F020F4CB3421F5E1\r
+:104300006AE013C0C13579F0C235F1F461E00DC047\r
+:104310008091DC01882319F01092DC0115C081E046\r
+:104320008093DD0115C061E006C08091DC010E9430\r
+:104330007E1F0AC06AE08091DC010E94F41F04C065\r
+:104340001092DD0180E004C081E002C080E0ABCFCC\r
+:10435000CF910895E1E8F0E08081886080838081DA\r
+:10436000816080838FB7F89493E09093890090EDFB\r
+:10437000909388008FBF0895EFE6F0E0808182601F\r
+:1043800080830895EFE6F0E080818D7F808308953B\r
+:10439000EFE6F0E0808192E08927808308951F9204\r
+:1043A0000F920FB60F9211242F933F934F935F9369\r
+:1043B0006F937F938F939F93AF93BF93EF93FF93ED\r
+:1043C0008091DE019091DF0101969093DF0180934F\r
+:1043D000DE01811103C082E00E949D07E091DF01B0\r
+:1043E000E695E695F0E0E252FC4FE4918091DE0123\r
+:1043F0008E1303C080E00E949D07FF91EF91BF9153\r
+:10440000AF919F918F917F916F915F914F913F916C\r
+:104410002F910F900FBE0F901F9018950E9415229C\r
+:104420006894B1110C94A42208950E94892288F006\r
+:104430009F5798F0B92F9927B751B0F0E1F0660F68\r
+:10444000771F881F991F1AF0BA95C9F714C0B130A9\r
+:1044500091F00E94A322B1E008950C94A322672F4B\r
+:10446000782F8827B85F39F0B93FCCF386957795D8\r
+:104470006795B395D9F73EF49095809570956195C1\r
+:104480007F4F8F4F9F4F0895E89409C097FB3EF4EC\r
+:1044900090958095709561957F4F8F4F9F4F992391\r
+:1044A000A9F0F92F96E9BB279395F695879577950F\r
+:1044B0006795B795F111F8CFFAF4BB0F11F460FFCF\r
+:1044C0001BC06F5F7F4F8F4F9F4F16C0882311F027\r
+:1044D00096E911C0772321F09EE8872F762F05C03B\r
+:1044E000662371F096E8862F70E060E02AF09A95D6\r
+:1044F000660F771F881FDAF7880F9695879597F9CB\r
+:10450000089557FD9058440F551F59F05F3F71F0C3\r
+:104510004795880F97FB991F61F09F3F79F087952A\r
+:104520000895121613061406551FF2CF4695F1DFB3\r
+:1045300008C0161617061806991FF1CF8695710543\r
+:10454000610508940895E894BB2766277727CB0177\r
+:1045500097F908950E94BD220C942E230E942023D7\r
+:1045600038F00E94272320F0952311F00C94172394\r
+:104570000C941D2311240C94A4220E94812270F318\r
+:10458000959FC1F3950F50E0551F629FF001729FF8\r
+:10459000BB27F00DB11D639FAA27F00DB11DAA1F07\r
+:1045A000649F6627B00DA11D661F829F2227B00D54\r
+:1045B000A11D621F739FB00DA11D621F839FA00DDF\r
+:1045C000611D221F749F3327A00D611D231F849F2F\r
+:1045D000600D211D822F762F6A2F11249F57504086\r
+:1045E0009AF0F1F088234AF0EE0FFF1FBB1F661F01\r
+:1045F000771F881F91505040A9F79E3F510580F0CA\r
+:104600000C9417230C94A4225F3FE4F3983ED4F358\r
+:10461000869577956795B795F795E7959F5FC1F76D\r
+:10462000FE2B880F911D9695879597F9089597F918\r
+:104630009F6780E870E060E008959FEF80EC089548\r
+:1046400000240A9416161706180609060895002471\r
+:104650000A9412161306140605060895092E0394EB\r
+:10466000000C11F4882352F0BB0F40F4BF2B11F45F\r
+:1046700060FF04C06F5F7F4F8F4F9F4F089597FB80\r
+:10468000072E16F4009407D077FD09D00E94592315\r
+:1046900007FC05D03EF4909581959F4F0895709545\r
+:1046A00061957F4F0895EE0FFF1F0590F491E02D67\r
+:1046B0000994AA1BBB1B51E107C0AA1FBB1FA61769\r
+:1046C000B70710F0A61BB70B881F991F5A95A9F7BB\r
+:1046D00080959095BC01CD010895F999FECF92BDCA\r
+:1046E00081BDF89A992780B50895A8E1B0E042E02D\r
+:1046F00050E00C949523262FF999FECF92BD81BDF1\r
+:10470000F89A019700B4021639F01FBA20BD0FB60F\r
+:10471000F894FA9AF99A0FBE08950196272F0E94ED\r
+:104720007C230C947B23DC01CB01FC01F999FECFA7\r
+:1047300006C0F2BDE1BDF89A319600B40D92415029\r
+:0A4740005040B8F70895F894FFCF39\r
+:10474A0020029F072C080908D507A2070101BA0110\r
+:10475A0028080A03140A3F4D36399F0352031C03E3\r
+:10476A00E30276028F02A802C102010203040506CF\r
+:04477A000708090023\r
+:00000001FF\r
diff --git a/keyboard/ergodox_ez/keymaps/ab/keyboard-layout.json b/keyboard/ergodox_ez/keymaps/ab/keyboard-layout.json
new file mode 100644 (file)
index 0000000..4ade748
--- /dev/null
@@ -0,0 +1,385 @@
+[
+  {
+    "name": "Beginner's Keymap for Ergodox-EZ",
+    "author": "Anand Babu Periasamy"
+  },
+  [
+    {
+      "x": 3.5
+    },
+    "#\n3\n\n\nF3",
+    {
+      "x": 10.5
+    },
+    ")\n0\n\n\nF10"
+  ],
+  [
+    {
+      "y": -0.875,
+      "x": 2.5
+    },
+    "@\n2\n\n\nF2",
+    {
+      "x": 1
+    },
+    "$\n4\n\n\nF4",
+    {
+      "x": 8.5
+    },
+    "(\n9\n\n\nF9",
+    {
+      "x": 1
+    },
+    "_\n-\n\n\nF11"
+  ],
+  [
+    {
+      "y": -0.875,
+      "x": 5.5
+    },
+    "%\n5\n\n\nF5",
+    "^\n6\n\n\nF6",
+    {
+      "x": 4.5
+    },
+    "&\n7\n\n\nF7",
+    "*\n8\n\n\nF8"
+  ],
+  [
+    {
+      "y": -0.875,
+      "w": 1.5
+    },
+    "~\n`\n\n\nEsc",
+    "!\n1\n\n\nF1",
+    {
+      "x": 14.5
+    },
+    "+\n=\n\n\nF12",
+    {
+      "a": 7,
+      "w": 1.5
+    },
+    "Backspace\n\n\n\nBackspace"
+  ],
+  [
+    {
+      "y": -0.375,
+      "x": 3.5
+    },
+    "E\n\n\n\n<i class=\"fa fa-caret-up\" aria-hidden=\"true\"></i>",
+    {
+      "x": 10.5
+    },
+    "I"
+  ],
+  [
+    {
+      "y": -0.8799999999999999,
+      "x": 2.5
+    },
+    "W"
+  ],
+  [
+    {
+      "y": -0.9950000000000001,
+      "x": 4.5,
+      "a": 4
+    },
+    "R",
+    {
+      "x": 8.5,
+      "a": 7
+    },
+    "U",
+    {
+      "x": 1
+    },
+    "O"
+  ],
+  [
+    {
+      "y": -0.875,
+      "x": 5.5
+    },
+    "T",
+    {
+      "h": 1.5
+    },
+    "<i class=\"fa fa-chevron-circle-left\" aria-hidden=\"true\"></i>",
+    {
+      "x": 4.5,
+      "h": 1.5
+    },
+    "<i class=\"fa fa-chevron-circle-right\" aria-hidden=\"true\"></i>",
+    "Y"
+  ],
+  [
+    {
+      "y": -0.875,
+      "a": 6,
+      "w": 1.5
+    },
+    "Tab",
+    {
+      "a": 7
+    },
+    "Q",
+    {
+      "x": 14.5
+    },
+    "P",
+    {
+      "a": 4,
+      "w": 1.5
+    },
+    "|\n\\"
+  ],
+  [
+    {
+      "y": -0.375,
+      "x": 3.5,
+      "a": 7
+    },
+    "D\n\n\n\n<i class=\"fa fa-caret-down\" aria-hidden=\"true\"></i>",
+    {
+      "x": 10.5
+    },
+    "K"
+  ],
+  [
+    {
+      "y": -0.875,
+      "x": 2.5
+    },
+    "S\n\n\n\n<i class=\"fa fa-caret-left\" aria-hidden=\"true\"></i>",
+    {
+      "x": 1
+    },
+    "F\n\n\n\n<i class=\"fa fa-caret-right\" aria-hidden=\"true\"></i>",
+    {
+      "x": 8.5
+    },
+    "J",
+    {
+      "x": 1
+    },
+    "L"
+  ],
+  [
+    {
+      "y": -0.875,
+      "x": 5.5
+    },
+    "G",
+    {
+      "x": 6.5
+    },
+    "H"
+  ],
+  [
+    {
+      "y": -0.875,
+      "a": 4,
+      "fa": [
+        0,
+        0,
+        0,
+        2
+      ],
+      "w": 1.5
+    },
+    "\n\n\nCtrl\n\n\nCaps",
+    {
+      "a": 7
+    },
+    "A",
+    {
+      "x": 14.5,
+      "a": 4
+    },
+    ":\n;",
+    {
+      "a": 7,
+      "w": 1.5
+    },
+    "Enter"
+  ],
+  [
+    {
+      "y": -0.625,
+      "x": 6.5,
+      "h": 1.5
+    },
+    "PgUp",
+    {
+      "x": 4.5,
+      "h": 1.5
+    },
+    "PgDn"
+  ],
+  [
+    {
+      "y": -0.75,
+      "x": 3.5
+    },
+    "C",
+    {
+      "x": 10.5,
+      "a": 4
+    },
+    "<\n,"
+  ],
+  [
+    {
+      "y": -0.875,
+      "x": 2.5,
+      "a": 7
+    },
+    "X",
+    {
+      "x": 1
+    },
+    "V",
+    {
+      "x": 8.5
+    },
+    "M",
+    {
+      "x": 1,
+      "a": 4
+    },
+    ">\n."
+  ],
+  [
+    {
+      "y": -0.875,
+      "x": 5.5,
+      "a": 7
+    },
+    "B",
+    {
+      "x": 6.5
+    },
+    "N"
+  ],
+  [
+    {
+      "y": -0.875,
+      "w": 1.5
+    },
+    "Shift",
+    "Z",
+    {
+      "x": 14.5,
+      "a": 4
+    },
+    "?\n/",
+    {
+      "w": 1.5
+    },
+    "\"\n'"
+  ],
+  [
+    {
+      "y": -0.375,
+      "x": 3.5,
+      "a": 7
+    },
+    "Alt\n\n\n\n<i class=\"fa fa-hand-o-left\" aria-hidden=\"true\"></i>",
+    {
+      "x": 10.5
+    },
+    "<i class=\"fa fa-long-arrow-down\" aria-hidden=\"true\"></i>\n\n\n\n<i class='fa fa-volume-down'></i>"
+  ],
+  [
+    {
+      "y": -0.875,
+      "x": 2.5
+    },
+    "<i class='fa fa-linux'></i>",
+    {
+      "x": 1
+    },
+    "Alt\n\n\n\n<i class=\"fa fa-hand-o-right\" aria-hidden=\"true\"></i>",
+    {
+      "x": 8.5
+    },
+    "<i class=\"fa fa-long-arrow-left\" aria-hidden=\"true\"></i>",
+    {
+      "x": 1
+    },
+    "<i class=\"fa fa-long-arrow-up\" aria-hidden=\"true\"></i>\n\n\n\n<i class='fa fa-volume-up'></i>"
+  ],
+  [
+    {
+      "y": -0.75,
+      "x": 0.5
+    },
+    "Ctrl\n\n\n\n<i class='fa fa-download'></i>",
+    "Esc",
+    {
+      "x": 14.5
+    },
+    "<i class=\"fa fa-long-arrow-right\" aria-hidden=\"true\"></i>\n\n\n\n<i class='fa fa-volume-off'></i>",
+    "Fn"
+  ],
+  [
+    {
+      "r": 30,
+      "rx": 6.5,
+      "ry": 4.25,
+      "y": -1,
+      "x": 1
+    },
+    "<i class=\"fa fa-clone\" aria-hidden=\"true\"></i>",
+    "("
+  ],
+  [
+    {
+      "h": 2
+    },
+    "Space",
+    {
+      "h": 2
+    },
+    "Del",
+    "["
+  ],
+  [
+    {
+      "x": 2
+    },
+    "{"
+  ],
+  [
+    {
+      "r": -30,
+      "rx": 13,
+      "y": -1,
+      "x": -3
+    },
+    ")",
+    "<i class=\"fa fa-paste\" aria-hidden=\"true\"></i>"
+  ],
+  [
+    {
+      "x": -3
+    },
+    "]",
+    {
+      "h": 2
+    },
+    "Enter",
+    {
+      "h": 2
+    },
+    "<i class=\"fa fa-chevron-left\" aria-hidden=\"true\"></i>"
+  ],
+  [
+    {
+      "x": -3
+    },
+    "}"
+  ]
+]
\ No newline at end of file
diff --git a/keyboard/ergodox_ez/keymaps/ab/keyboard-layout.png b/keyboard/ergodox_ez/keymaps/ab/keyboard-layout.png
new file mode 100644 (file)
index 0000000..9a6546e
Binary files /dev/null and b/keyboard/ergodox_ez/keymaps/ab/keyboard-layout.png differ
diff --git a/keyboard/ergodox_ez/keymaps/ab/keymap.c b/keyboard/ergodox_ez/keymaps/ab/keymap.c
new file mode 100644 (file)
index 0000000..9b5c93c
--- /dev/null
@@ -0,0 +1,140 @@
+#include "ergodox_ez.h"
+#include "debug.h"
+#include "action_layer.h"
+
+#define BASE 0 // default layer
+#define FN1  1 // media layer
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+/* Keymap 0: Basic layer
+ *
+ * ,--------------------------------------------------.           ,--------------------------------------------------.
+ * |   `    |   1  |   2  |   3  |   4  |   5  |  6   |           |   7  |   8  |   9  |   0  |   -  |   =  | BSpace |
+ * |--------+------+------+------+------+------+------|           |------+------+------+------+------+------+--------|
+ * | Tab    |   Q  |   W  |   E  |   R  |   T  | Fwd  |           | Back |   Y  |   U  |   I  |   O  |   P  |   \    |
+ * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
+ * |Caps/Ctl|   A  |   S  |   D  |   F  |   G  |------|           |------|   H  |   J  |   K  |   L  |   ;  | Enter  |
+ * |--------+------+------+------+------+------| PgUp |           | PgDn |------+------+------+------+------+--------|
+ * | LShift |   Z  |   X  |   C  |   V  |   B  |      |           |      |   N  |   M  |   ,  |   .  |   /  |   '    |
+ * `--------+------+------+------+------+-------------'           `-------------+------+------+------+------+--------'
+ *   | Ctrl |  Esc | LGui | Alt  | Alt  |                                       | Left |  Up  |  Dn  | Right|  Fn  |
+ *   `----------------------------------'                                       `----------------------------------'
+ *                                        ,-------------.       ,-------------.
+ *                                        | Copy |  (   |       |   )  | Paste|
+ *                                 ,------|------+------|       |------+------+------.
+ *                                 |      |      |  [   |       |   ]  |      |      |
+ *                                 |Space | Del  |------|       |------| Enter|BSpace|
+ *                                 |      |      |  {   |       |   }  |      |      |
+ *                                 `--------------------'       `--------------------'
+ */
+// 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_GRV,   KC_1,    KC_2,    KC_3,     KC_4,     KC_5,    KC_6,
+       KC_TAB,   KC_Q,    KC_W,    KC_E,     KC_R,     KC_T,    KC_WBAK,
+       CTL_T(KC_CAPS), KC_A, KC_S, KC_D,     KC_F,     KC_G,
+       KC_LSFT,  KC_Z,    KC_X,    KC_C,     KC_V,     KC_B,    KC_PGUP,
+       KC_LCTL,  KC_ESC,  KC_LGUI, KC_LALT, KC_LALT,
+       LCTL(KC_C), KC_LCBR,
+       KC_LPRN,
+       KC_SPC,   KC_DEL,  KC_LBRC,
+       // right hand
+       KC_7,     KC_8,    KC_9,    KC_0,     KC_MINS,  KC_EQL,  KC_BSPC,
+       KC_WFWD,  KC_Y,    KC_U,    KC_I,     KC_O,     KC_P,    KC_BSLS,
+       KC_H,     KC_J,    KC_K,    KC_L,     KC_SCLN,  KC_ENT,
+       KC_PGDN,  KC_N,    KC_M,    KC_COMM,  KC_DOT,   KC_SLSH, KC_QUOT,
+       KC_UP,    KC_LEFT, KC_RIGHT,KC_DOWN,  TG(FN1),
+       KC_RCBR,  LCTL(KC_V),
+       KC_RPRN,
+       KC_RBRC,  KC_ENT,  KC_BSPC
+       ),
+/* Keymap 1: Fn Keys, media and mouse keys
+ *
+ * ,--------------------------------------------------.           ,--------------------------------------------------.
+ * |  Esc   |  F1  |  F2  |  F3  |  F4  |  F5  |  F6  |           |  F7  |  F8  |  F9  |  F10 |  F11 |  F12 | BSpace |
+ * |--------+------+------+------+------+------+------|           |------+------+------+------+------+------+--------|
+ * |        |      |      | MsUp |      |      |      |           |      |      |      |      |      |      |        |
+ * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
+ * |        |      |MsLeft|MsDown|MsRght|      |------|           |------|      |      |      |      |      |        |
+ * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
+ * |        |      |      |      |      |      |      |           |      |      |      |      |      |      |        |
+ * `--------+------+------+------+------+-------------'           `-------------+------+------+------+------+--------'
+ *   |Teensy|      |      | Lclk | Rclk |                                       |      |VolUp |VolDn | Mute |      |
+ *   `----------------------------------'                                       `----------------------------------'
+ *                                        ,-------------.       ,-------------.
+ *                                        |      |      |       |      |      |
+ *                                 ,------|------+------|       |------+------+------.
+ *                                 |      |      |      |       |      |      |      |
+ *                                 |      |      |------|       |------|      |      |
+ *                                 |      |      |      |       |      |      |      |
+ *                                 `--------------------'       `--------------------'
+ */
+// FN1 Layer
+    [FN1] = KEYMAP(
+       KC_ESC,  KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,
+       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,
+       RESET,   KC_TRNS, KC_TRNS,
+       // right hand
+       KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12,  KC_BSPC,
+       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_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+       KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, 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;
+};
+
+// Runs just one time when the keyboard initializes.
+void matrix_init_user(void) {
+
+};
+
+// Runs constantly in the background, in a loop.
+void matrix_scan_user(void) {
+
+    uint8_t layer = biton32(layer_state);
+
+    ergodox_board_led_off();
+    ergodox_right_led_1_off();
+    ergodox_right_led_2_off();
+    ergodox_right_led_3_off();
+    switch (layer) {
+       // TODO: Make this relevant to the ErgoDox EZ.
+    case 1:
+       ergodox_right_led_1_on();
+       break;
+    case 2:
+       ergodox_right_led_2_on();
+       break;
+    default:
+       // none
+       break;
+    }
+
+};
diff --git a/keyboard/ergodox_ez/keymaps/ab/readme.md b/keyboard/ergodox_ez/keymaps/ab/readme.md
new file mode 100644 (file)
index 0000000..67d4715
--- /dev/null
@@ -0,0 +1,21 @@
+# Beginner's keymap for Ergodox-EZ
+Beginner's keymap emulates standard QWERTY keyboard for beginners. Once you get comfortable with the Ergodox-EZ, you may fork this keymap and customize it for your own needs or find a suitable one from the community contributed keymaps. 
+
+![Beginner's Keymap](keyboard-layout.png)
+
+#### Pros
+* Easier to switch between regular keyboards and Ergodox-EZ.
+* Easy on beginners. It has everything you need for your day to day usage.
+
+#### Cons
+* Keys are not ergonomically placed to take full advantage of Ergodox-EZ. Take a look at this [Default Keymap](https://github.com/jackhumbert/qmk_firmware/blob/master/keyboard/ergodox_ez/keymaps/default/readme.md)
+* While multiple layers are possible, beginner's keymap only uses one additional layer for mouse, function and volume keys.
+
+#### Notes
+* Ideally number key [6] should have started from the right-hand side of the keyboard. Doing so breaks the familiar QWERTY layout.
+* Quote key ['] should have been placed between [:] and [Enter]. Due to lack of key space, it is placed below [Enter].
+* Double [Alt] keys are placed adjacent to each other for convenience.
+* [CapsLock] also acts as [Ctrl] key when you press and hold. It is convenient for GNU Emacs users.
+* Additional bracket keys are placed in the center of the keyboard for programmer's convenience.
+
+
diff --git a/keyboard/ergodox_ez/keymaps/erez_experimental/config_user.h b/keyboard/ergodox_ez/keymaps/erez_experimental/config_user.h
new file mode 100644 (file)
index 0000000..d19c278
--- /dev/null
@@ -0,0 +1,8 @@
+#ifndef CONFIG_USER_H
+#define CONFIG_USER_H
+
+#include "config.h"
+#define ONESHOT_TAP_TOGGLE 2
+#define ONESHOT_TIMEOUT 3000
+
+#endif
index aa088456584c85a0efa1e31ad48f6227ee6eff57..bdd707165f34c86bc8276950137ecce5cd0951d2 100644 (file)
-:100000000C9465020C94AC020C94AC020C94AC02FF\r
-:100010000C94AC020C94AC020C94AC020C94AC02A8\r
-:100020000C94AC020C94AC020C94C30B0C94950C85\r
-:100030000C94AC020C94AC020C94AC020C94AC0288\r
-:100040000C94AC020C9409210C94AC020C94AC02FC\r
-:100050000C94AC020C949B1A0C94AC020C94AC0261\r
-:100060000C94AC020C94AC020C94AC020C94AC0258\r
-:100070000C94AC020C94AC020C94AC020C94AC0248\r
-:100080000C94AC020C94AC020C94AC020C94AC0238\r
-:100090000C94AC020C94AC020C94AC020C94AC0228\r
-:1000A0000C94AC020C94AC020C94AC02020D240D26\r
-:1000B000170E240D170E690D8C0D170EE10DF40DA2\r
-:1000C000DE10DE100D110D1150118A1197139713C8\r
-:1000D000A3119713981298126B1397139713821307\r
-:1000E0000000F0A12E004C002A00E1003581000044\r
-:1000F0001E00140004001D7134004D001F001A0082\r
-:1001000016001B00E104C1002000080007000600E3\r
-:1001100050002C0021001500090019004F004A0072\r
-:10012000220017000A000500000065745000015409\r
-:100130000000007F0000E3004F0001540000007742\r
-:100140000000E20023001C000B00110000002971D8\r
-:10015000240018000D74100052004B0025000C0004\r
-:100160000E00360051002800260012000F00370054\r
-:100170002F002B81270013003382387130004E008E\r
-:100180002D0031003478E500C100000001000100BD\r
-:1001900001000100010000003A001E0022002602BA\r
-:1001A000010001003B001F002300270201000100A5\r
-:1001B0003C00200024002F004B0101003D002100E5\r
-:1001C000250030004E0101003E00010026002700FE\r
-:1001D000000001000100010000000100000001001A\r
-:1001E0000100010000000100000001003F000100CB\r
-:1001F0002402310200000100400022022D022602EA\r
-:100200000100010041002E002D0027020100010025\r
-:1002100042001F0213002000010001004300010002\r
-:100220002E02010001000100440045000100010010\r
-:1002300001000000010001000100010001000000B8\r
-:1002400001000100010001000100010001000100A6\r
-:10025000F2000100010001000100F000F1000100C6\r
-:10026000F400010001000100F3000100F5000100AD\r
-:100270000100010001000100000001000100010077\r
-:100280000000010000000100010001000000010069\r
-:100290000000010001000100010001000000010058\r
-:1002A0000100010001000100A9000100010001009E\r
-:1002B0000100AC00AA00B600010001000100AB0083\r
-:1002C000A80001000100010001000100010001007F\r
-:1002D00001000100AE00010001000000160345000E\r
-:1002E000720067006F0044006F0078002000450036\r
-:1002F0005A00000016034500720067006F004400BA\r
-:100300006F007800200045005A0000000403090433\r
-:1003100009026D00040100A0FA09040000010301B4\r
-:100320000100092111010001223F00070581030896\r
-:10033000000A090401000103010200092111010062\r
-:1003400001224D000705820308000A09040200018A\r
-:100350000300000009211101000122360007058376\r
-:100360000308000A09040300010300000009211129\r
-:100370000100012239000705840310000112011059\r
-:100380000100000008EDFE07130100010200010555\r
-:10039000010906A101050719E029E71500250195C6\r
-:1003A0000875018102050819012905950575019156\r
-:1003B000029501750391010507190029771500259C\r
-:1003C00001957875018102C005010980A1018502AE\r
-:1003D00016010026B7001A01002AB7007510950112\r
-:1003E0008100C0050C0901A1018503160100269CAE\r
-:1003F000021A01002A9C02751095018100C00501B6\r
-:100400000902A1010901A100050919012905150029\r
-:10041000250195057501810295017503810105018D\r
-:10042000093009311581257F950275088106093843\r
-:100430001581257F950175088106050C0A3802157E\r
-:1004400081257F950175088106C0C005010906A1B7\r
-:1004500001050719E029E7150025019508750181B7\r
-:100460000295017508810105081901290595057591\r
-:100470000191029501750391010507190029FF15E6\r
-:100480000025FF950675088100C0000000000000EF\r
-:100490000000000000010204060A0F17202C3A4A4F\r
-:1004A0005D71879DB3C7DAE9F5FCFFFCF5E9DAC7B2\r
-:1004B000B39D87715D4A3A2C20170F0A060402018A\r
-:1004C0000000000000000000000011241FBECFEF5C\r
-:1004D000DAE0DEBFCDBF04B603FE27C08091ED0198\r
-:1004E0009091EE01A091EF01B091F0018730904B17\r
-:1004F000A740B04BD1F41092ED011092EE01109292\r
-:10050000EF011092F00114BE84B7877F84BF0FB64D\r
-:10051000F894A895809160008861809360001092A3\r
-:1005200060000FBEE0E0FFE3099511E0A0E0B1E05C\r
-:10053000E4EBF5E402C005900D92A433B107D9F7BE\r
-:1005400021E0A4E3B1E001C01D92AD3EB207E1F7A6\r
-:100550000E940A090C94D8220C94000061110BC06F\r
-:10056000FC018281882321F085EE0E94780F03C070\r
-:1005700085EE0E94401080E090E00895089560911B\r
-:10058000B1017091B2018091B3019091B4010E94C8\r
-:10059000C81956985E9825982D9826982E982798D1\r
-:1005A0002F98813019F0823021F00895259A2D9AE4\r
-:1005B0000895269A2E9A08950C94BF0256985E9834\r
-:1005C00025982D9826982E9827982F988FEF90E0B1\r
-:1005D000909389008093880090938B0080938A0089\r
-:1005E00090938D0080938C00259A2D9A2FEF80E7B1\r
-:1005F00092E0215080409040E1F700C00000269A30\r
-:100600002E9A2FEF80E792E0215080409040E1F752\r
-:1006100000C00000279A2F9A2FEF80E792E0215028\r
-:1006200080409040E1F700C0000025982D982FEF02\r
-:1006300080E792E0215080409040E1F700C0000048\r
-:1006400026982E982FEF80E792E02150804090402E\r
-:10065000E1F700C0000027982F9856985E982598DB\r
-:100660002D9826982E9827982F98089589EA809398\r
-:10067000800089E08093810024982C983F988AB16B\r
-:100680008F748AB96E98479A8BB1806B8BB9769AC2\r
-:100690000E94DE020C94BE0280E2809300018091F1\r
-:1006A000340181110EC00E949B0381E080933401CC\r
-:1006B0002FEF83ED90E3215080409040E1F700C0A0\r
-:1006C000000080E40E94A1038093000181112EC0EC\r
-:1006D0000E94CB0380930001811128C00E94CB03AC\r
-:1006E00080930001811122C08FE30E94CB0380938D\r
-:1006F000000181111BC00E94C30380E40E94A1037A\r
-:1007000080930001811112C08CE00E94CB03809382\r
-:10071000000181110BC00E94CB0380930001811165\r
-:1007200005C08FE30E94CB03809300010E94C303A6\r
-:100730008091000108951092B9008AE08093B8007A\r
-:10074000089594EA9093BC009091BC0097FFFCCF71\r
-:100750009091B900987F983021F0903111F081E0AC\r
-:1007600008958093BB0084E88093BC008091BC0016\r
-:1007700087FFFCCF8091B900887F883111F08034E9\r
-:1007800071F780E0089584E98093BC008091BC00FB\r
-:1007900084FDFCCF08958093BB0084E88093BC0067\r
-:1007A0008091BC0087FFFCCF9091B900987F81E0D9\r
-:1007B000983209F480E0089584E88093BC00809129\r
-:1007C000BC0087FFFCCF8091BB00089580910001A1\r
-:1007D000811115C080E40E94A10380930001811162\r
-:1007E0000CC082E10E94CB0380930001811105C0FF\r
-:1007F0008FEF0E94CB03809300010E94C30384B15A\r
-:10080000807F84B985B1807F85B98AB1837F8AB9B9\r
-:100810008BB1837F8BB93E98469808950E944C0314\r
-:10082000809300010E94E60380B38C7080BB81B38B\r
-:10083000836F81BBE4E4F1E0A6E3B1E011921D9285\r
-:1008400081E0E235F807D1F70C9436039F92AF921E\r
-:10085000BF92CF92DF92EF92FF920F931F93CF93AD\r
-:10086000DF9380910001882379F0809135018F5FBB\r
-:1008700080933501811108C00E944C0380930001D0\r
-:10088000811102C00E94DE0286E3E82E81E0F82E8C\r
-:100890008701C0E0D0E0BB24B39492E0A92ECC2421\r
-:1008A000C394D12CC730D10500F58091000181118E\r
-:1008B00064C080E40E94A10380930001811112C0F2\r
-:1008C00082E10E94CB038093000181110BC0C6011D\r
-:1008D0000C2E01C0880F0A94EAF780950E94CB0382\r
-:1008E000809300010E94C30348C0CA30A1F028F4DD\r
-:1008F000C83059F0C93061F005C0CC3089F070F0D3\r
-:10090000CD3089F0209A289810C0219A29980DC0DE\r
-:10091000229A2A980AC0239A2B9807C0529A01C09B\r
-:10092000539A5B9802C03E9A4698E0EAEA95F1F73E\r
-:100930008FB181708B25799902C032E001C030E01F\r
-:10094000832B7C9902C034E001C030E0832B7D9979\r
-:1009500002C028E001C020E0822B7E9902C090E115\r
-:1009600001C090E0892B9FB19095991F9927991FFD\r
-:100970009295990F907E892B0FC080910001811173\r
-:100980004AC080E40E94A10380930001882381F182\r
-:10099000912C0E94C303892DD8019C91981719F0BE\r
-:1009A0008C93A09201010E94E60321960F5F1F4FD6\r
-:1009B000CE30D10509F076CF80910101882369F10D\r
-:1009C000815080930101882339F0EFE9FFE03197EE\r
-:1009D000F1F700C0000021C0E4E4F1E0D7018D91FF\r
-:1009E0007D018193B4E4EB16B1E0FB06B9F715C0C5\r
-:1009F00083E10E94CB03809300018111C9CF81E480\r
-:100A00000E94A103809300018111C2CF0E94DC03E8\r
-:100A1000982E9094BECF80E0BFCF0E94DC0281E090\r
-:100A2000DF91CF911F910F91FF90EF90DF90CF90CA\r
-:100A3000BF90AF909F900895E82FF0E0EC5BFE4FE1\r
-:100A40008081089508958B3B910580F4883A910543\r
-:100A500048F5853A9105D8F48430910508F0B2C084\r
-:100A6000019709F06EC081E090E00895803E910505\r
-:100A700008F467C0883E910508F4A4C09C01205F7B\r
-:100A800031092031310508F05CC090650895853A40\r
-:100A9000910509F459C0863A910509F058C082E8D9\r
-:100AA00090E40895883A910509F454C0893A910573\r
-:100AB00009F453C08A3A910509F452C08B3A910562\r
-:100AC00009F451C08C3A910509F450C08D3A910552\r
-:100AD00009F44FC0803B910509F44EC08E3A910550\r
-:100AE00009F44DC08F3A910509F44CC0813B910542\r
-:100AF00009F44BC0823B910509F44AC0833B910540\r
-:100B000009F449C0843B910509F448C0853B91052F\r
-:100B100009F447C0863B910509F446C0873B91051F\r
-:100B200009F445C0883B910509F444C0893B91050F\r
-:100B300009F443C08A3B910509F442C080E094E483\r
-:100B4000089580E090E0089581E890E4089583E8B6\r
-:100B500090E4089582EE94E4089589EE94E4089573\r
-:100B60008AEE94E4089585EB94E4089586EB94E48A\r
-:100B7000089587EB94E408958CEC94E408958DEC4B\r
-:100B800094E4089583E895E408958AE895E4089547\r
-:100B900082E995E4089584E995E4089581E296E474\r
-:100BA000089583E296E4089584E296E4089585E248\r
-:100BB00096E4089586E296E4089587E296E408951F\r
-:100BC0008AE296E40895089524E5829FC0011124E5\r
-:100BD000FC0126E0729FE00DF11D1124E60FF11DCE\r
-:100BE000EE0FFF1FEC51FF4F859194910895880FF0\r
-:100BF000991FFC01E05AF040859194910895880F67\r
-:100C0000991FFC01E052FF4F85919491089524E5CE\r
-:100C1000829FC0011124FC0146E0749FE00DF11D8C\r
-:100C20001124E60FF11DEE0FFF1FEC51FF4F8591D0\r
-:100C300094919C013A9521154FE1340708F425C1A0\r
-:100C40003F512115304120F49F700E94FF05089507\r
-:100C50009C0130532115304118F49927906C089568\r
-:100C6000811520E5920769F40E94B9134FEF84E3E0\r
-:100C70009CE0415080409040E1F700C000000C949F\r
-:100C8000C01A813020E5920731F48091CC01816057\r
-:100C90008093CC0108959C0130552115304108F016\r
-:100CA0005CC0292F33272F70332721303105E9F419\r
-:100CB000AC0164E0440F551F6A95E1F74427537077\r
-:100CC000BC016370772702C0220F331F6A95E2F7D9\r
-:100CD0003C68242B352B73E0880F991F7A95E1F738\r
-:100CE00080769927822B932B08952230310529F4A1\r
-:100CF000982F8827816F906A089523303105A1F4D9\r
-:100D0000AC0133E0440F551F3A95E1F7407E577030\r
-:100D10008370992721E030E002C0220F331F8A95AB\r
-:100D2000E2F7C9019C6816C02430310531F5AC01E9\r
-:100D300023E0440F551F2A95E1F7407E57708370DA\r
-:100D4000992721E030E002C0220F331F8A95E2F795\r
-:100D5000C9019A68842B952B08959C013057211561\r
-:100D6000304118F49F70906208959C01305821150D\r
-:100D7000304118F49F70906A0895803E9105E0F428\r
-:100D8000803C910558F58133910509F46FC048F412\r
-:100D90008932910509F463C08A32910509F46DC066\r
-:100DA00072C089339105E9F082389105D1F085331D\r
-:100DB000910509F44DC067C0833E910581F138F477\r
-:100DC000803E9105B9F0823E9105D9F05CC0863E27\r
-:100DD000910561F1873E9105A1F155C00E94F7058B\r
-:100DE00008952091DE0120FD02C021FF4CC080EE5D\r
-:100DF00090E049C08091DE0180FFF9CF89E390E067\r
-:100E000042C08091DE0182FF0EC08091DE0184FF2E\r
-:100E100003C080E090E037C083EE90E034C0809162\r
-:100E2000DE0182FFF2CF82EE90E02DC08091DE01E4\r
-:100E300083FF0BC08091DE0184FDEBCF87EE90E055\r
-:100E400022C08091DE0183FFF5CF86EE90E01BC0CB\r
-:100E50008091DE0185FF07C089E290E014C0809197\r
-:100E6000DE0185FFF9CF85E390E00DC08091DE01C2\r
-:100E700086FF07C08AE290E006C08091DE0186FF0F\r
-:100E8000F9CF81E390E00E942305089508958091B1\r
-:100E900062010895CF93DF9300D01F92CDB7DEB7E4\r
-:100EA0009C018091E401843019F593E099833B83A0\r
-:100EB0002A839093E9008FEF9091E800815095FD8F\r
-:100EC00006C095ED9A95F1F700008111F5CF80915C\r
-:100ED000E80085FF0DC040E050E063E070E0CE0127\r
-:100EE00001960E94B7098091E8008E778093E80010\r
-:100EF0000F900F900F90DF91CF910895CF93DF93D4\r
-:100F000000D01F92CDB7DEB72091E401243021F547\r
-:100F100022E029839B838A8383E08093E9008FEF1B\r
-:100F20009091E800815095FD06C095ED9A95F1F7F6\r
-:100F300000008111F5CF8091E80085FF0DC040E0F1\r
-:100F400050E063E070E0CE0101960E94B709809105\r
-:100F5000E8008E778093E8000F900F900F90DF915C\r
-:100F6000CF9108959C018091E4018430F9F482E0EE\r
-:100F70008093E9009FEF8091E800915085FD06C0C5\r
-:100F800085ED8A95F1F700009111F5CF8091E80089\r
-:100F900085FF0CC040E050E065E070E0C9010E94B0\r
-:100FA000B7098091E8008E778093E8000895CF9389\r
-:100FB000DF93EC018091E401843009F046C0909108\r
-:100FC0000C019923D9F090910D019923B9F08093E8\r
-:100FD000E9008FEF9091E800815095FD06C095E102\r
-:100FE0009A95F1F700008111F5CF8091E80085FF17\r
-:100FF0002CC040E050E060E170E017C081E08093D9\r
-:10100000E9008FEF9091E800815095FD06C095EDC5\r
-:101010009A95F1F700008111F5CF8091E80085FFE6\r
-:1010200014C040E050E068E070E0CE010E94B709D3\r
-:101030008091E8008E778093E80080E1FE01A2E5D0\r
-:10104000B1E001900D928A95E1F7DF91CF9108957B\r
-:101050008091E301811109C00E94480B0E94A50BF9\r
-:101060008091E20084608093E20008951092E30191\r
-:10107000089508950C94F6200E94561A0E94FC20B0\r
-:101080000E94500E0C94460742E061EC81E00E9401\r
-:10109000C10A42E061EC82E00E94C10A42E061ECD8\r
-:1010A00083E00E94C10A42E161EC84E00C94C10A31\r
-:1010B0008091E601833009F455C030F4813071F03D\r
-:1010C000823009F48EC008958A3009F47AC08B30DA\r
-:1010D00009F460C0893009F09CC020C08091E5010E\r
-:1010E000813A09F096C08091E800877F8093E800FC\r
-:1010F0008091E9019091EA01892B21F460E182E578\r
-:1011000091E003C060E080E090E070E00E94020A9D\r
-:101110008091E8008B778093E80008958091E50145\r
-:10112000813209F076C08091E9019091EA0100973F\r
-:1011300019F0039709F06DC08091E800877F8093D4\r
-:10114000E8008091E80082FD05C08091E4018111F2\r
-:10115000F8CF5FC08091F100809362018091E80038\r
-:101160008B7753C08091E501813A09F052C080919C\r
-:10117000E9019091EA01892B09F04BC08091E800C8\r
-:10118000877F8093E8008091E80080FFFCCF80910A\r
-:101190000C0136C08091E5018132D9F58091E901D9\r
-:1011A0009091EA01892BA9F58091E800877F8093CF\r
-:1011B000E8000E94F60A8091E70180930C010C94EC\r
-:1011C000B9138091E501813221F58091E800877F94\r
-:1011D0008093E8000E94F60A8091E8018093630101\r
-:1011E00008958091E501813AA1F48091E800877F1C\r
-:1011F0008093E8008091E80080FFFCCF809163013C\r
-:101200008093F1008091E8008E778093E8000C9441\r
-:10121000F60A089584B7877F84BF0FB6F894A8951F\r
-:1012200080916000886180936000109260000FBE22\r
-:1012300090E080E80FB6F89480936100909361008D\r
-:101240000FBE0E949F0E0E94480B0E94A50B80912A\r
-:10125000E20084608093E20078940E94300E0E9445\r
-:10126000A10E82E091E00E944B0E0E94E42080914A\r
-:10127000E401853069F40E94181A8091E201882304\r
-:10128000B1F30E94421A882391F30E94A109EFCF83\r
-:101290000E94A70EECCF292F332723303105C9F048\r
-:1012A00060F42130310581F02230310509F041C070\r
-:1012B0008DE690E020E133E040C021323105E1F0DD\r
-:1012C0002232310531F135C082E190E02DE733E083\r
-:1012D00034C099278130910549F028F0029749F5EB\r
-:1012E000ECEDF2E005C0ECE0F3E002C0E4EFF2E088\r
-:1012F000849190E09F0121C06430D8F4E62FF0E0A3\r
-:10130000EE0FFF1FEE5DFE4F2081318189E090E0FE\r
-:1013100014C0643070F470E0FB01EE0FFF1FE65E56\r
-:10132000FE4F20813181FB01EA5EFE4F808190E01B\r
-:1013300004C080E090E020E030E0FA0131832083B7\r
-:10134000089580E189BD82E189BD09B400FEFDCF29\r
-:101350008091D8008F7D8093D8008091E0008260DA\r
-:101360008093E0008091E00081FDFCCF0895CF9252\r
-:10137000DF92EF92FF920F931F93CF93DF93EC01D5\r
-:101380008B016A010E94150B811133C0C114D10475\r
-:1013900039F0F60180819181081B190BC80FD91F04\r
-:1013A000E12CF12C0115110519F18091E80085FD62\r
-:1013B00016C08091E8008E778093E800C114D104B4\r
-:1013C00049F0F60180819181E80EF91EF182E082F8\r
-:1013D00085E00FC00E94150B882321F30AC0899174\r
-:1013E0008093F10001501109FFEFEF1AFF0ADACFE5\r
-:1013F00080E0DF91CF911F910F91FF90EF90DF90F0\r
-:10140000CF9008952091EB013091EC01261737071A\r
-:1014100048F06115710539F42091E8002E7720938A\r
-:10142000E80001C0B901FC0120E06115710579F106\r
-:101430008091E4018823F1F18530F1F18091E80099\r
-:1014400083FD3CC08091E80082FD2EC08091E800C1\r
-:1014500080FFEBCF2091F3008091F20090E0922B7F\r
-:101460006115710551F08830910538F42191209370\r
-:10147000F100615071090196F3CF21E0089709F05E\r
-:1014800020E08091E8008E778093E800CECF211194\r
-:10149000CFCF0AC08091E401882361F0853061F0EC\r
-:1014A0008091E80083FD0AC08091E80082FFF2CFBE\r
-:1014B00080E0089582E0089583E0089581E0089532\r
-:1014C0002091EB013091EC012617370748F06115A8\r
-:1014D000710539F42091E8002E772093E80001C0CF\r
-:1014E000B901FC0120E06115710591F18091E401E1\r
-:1014F000882309F440C0853009F43FC08091E8009A\r
-:1015000083FD3DC08091E80082FD2FC08091E800FE\r
-:1015100080FFE9CF2091F3008091F20090E0922BC0\r
-:101520006115710559F08830910540F4249120939C\r
-:10153000F1003196615071090196F2CF21E00897D0\r
-:1015400009F020E08091E8008E778093E800CBCF0F\r
-:101550002111CCCF0AC08091E401882361F085304D\r
-:1015600061F08091E80083FD0AC08091E80082FF6D\r
-:10157000F2CF80E0089582E0089583E0089581E04D\r
-:101580000895982F973068F59093E900981739F0EF\r
-:101590007091EC002091ED005091F00003C0242FD9\r
-:1015A000762F50E021FD02C09F5FECCF3091EB0021\r
-:1015B0003E7F3093EB003091ED003D7F3093ED00A6\r
-:1015C0003091EB0031603093EB007093EC0020938E\r
-:1015D000ED005093F0002091EE0027FDE5CF80E074\r
-:1015E00008958F708093E90081E008958091E5016E\r
-:1015F00087FF11C08091E80082FD05C08091E40161\r
-:101600008111F8CF11C08091E8008B770BC08091D9\r
-:10161000E401882349F08091E80080FFF8CF8091B1\r
-:10162000E8008E778093E80008952091E4003091DF\r
-:10163000E50095E64091EC00842F817040FF23C0C7\r
-:101640008091E80080FD1DC08091E401882399F01D\r
-:10165000853099F08091EB0085FD11C04091E40048\r
-:101660005091E5002417350729F3915011F09A01A4\r
-:10167000E1CF84E0089582E0089583E0089581E059\r
-:10168000089580E008954091E80042FFDDCF08957D\r
-:101690000E94B60B0E94BE0BE0EEF0E080818160FC\r
-:1016A0008083E8EDF0E080818F77808319BCA7ED1F\r
-:1016B000B0E08C918E7F8C9380818F7E808310929E\r
-:1016C000E30108950F931F93CF93DF930E94B60B0E\r
-:1016D0000E94BE0BC8EDD0E088818F778883888117\r
-:1016E0008068888388818F7D888319BC1092E4018B\r
-:1016F0001092E0011092E2011092E10100EE10E080\r
-:10170000F80180818B7F808388818160888342E0BB\r
-:1017100060E080E00E94C10AE1EEF0E080818E7F0F\r
-:101720008083E2EEF0E08081816080838081886048\r
-:101730008083F80180818E7F8083888180618883A7\r
-:10174000DF91CF911F910F910895E8EDF0E0808136\r
-:101750008F7E8083E7EDF0E080818160808384E08C\r
-:1017600082BF81E08093E3010C94620BE8EDF0E02E\r
-:1017700080818E7F80831092E20008951092DA00BB\r
-:101780001092E10008951F920F920FB60F9211244C\r
-:101790002F933F934F935F936F937F938F939F9379\r
-:1017A000AF93BF93EF93FF938091E10082FF0BC053\r
-:1017B0008091E20082FF07C08091E1008B7F8093DF\r
-:1017C000E1000E942F0E8091DA0080FF1FC08091FF\r
-:1017D000D80080FF1BC08091DA008E7F8093DA00F2\r
-:1017E0008091D90080FF0DC080E189BD82E189BD73\r
-:1017F00009B400FEFDCF81E08093E4010E94280837\r
-:1018000005C019BC1092E4010E9436088091E100E5\r
-:1018100080FF19C08091E20080FF15C08091E20036\r
-:101820008E7F8093E2008091E20080618093E200ED\r
-:101830008091D80080628093D80019BC85E08093A5\r
-:10184000E4010E943A088091E10084FF30C0809159\r
-:10185000E20084FF2CC080E189BD82E189BD09B42A\r
-:1018600000FEFDCF8091D8008F7D8093D8008091BD\r
-:10187000E1008F7E8093E1008091E2008F7E809373\r
-:10188000E2008091E20081608093E2008091E001BB\r
-:10189000882311F084E007C08091E30087FD02C037\r
-:1018A00081E001C083E08093E4010E943C088091C4\r
-:1018B000E10083FF29C08091E20083FF25C0809171\r
-:1018C000E100877F8093E10082E08093E401109241\r
-:1018D000E0018091E1008E7F8093E1008091E20041\r
-:1018E0008E7F8093E2008091E20080618093E2002D\r
-:1018F00042E060E080E00E94C10A8091F0008860D0\r
-:101900008093F0000E943908FF91EF91BF91AF9151\r
-:101910009F918F917F916F915F914F913F912F9107\r
-:101920000F900FBE0F901F9018951F920F920FB639\r
-:101930000F9211242F933F934F935F936F937F9355\r
-:101940008F939F93AF93BF93CF93DF93EF93FF93C7\r
-:10195000C091E900CF708091EC00D82FD17080FD4C\r
-:10196000D0E81092E9008091F000877F8093F0002A\r
-:1019700078940E94D90C1092E9008091F000886060\r
-:101980008093F000CD2BCF70C093E900FF91EF91D1\r
-:10199000DF91CF91BF91AF919F918F917F916F9187\r
-:1019A0005F914F913F912F910F900FBE0F901F901D\r
-:1019B00018951F93CF93DF93CDB7DEB7AA970FB6D5\r
-:1019C000F894DEBF0FBECDBFE5EEF1E08091F100EF\r
-:1019D000819321E0ED3EF207C9F70E9458088091FB\r
-:1019E000E80083FF24C18091E5019091E601492F31\r
-:1019F00050E04A30510508F01AC1FA01EA5AFF4F87\r
-:101A00000C948D22803881F0823809F010C18091C9\r
-:101A1000E9018F708093E9008091EB0085FB8827B6\r
-:101A200080F91092E90006C08091E1019091E201F5\r
-:101A3000911182609091E800977F9093E8008093E5\r
-:101A4000F1001092F100C8C0282F2D7F09F0EFC0DF\r
-:101A5000882319F0823061F0EAC08091E70181307B\r
-:101A600009F0E5C0933009F080E08093E2012BC0DB\r
-:101A70008091E701811127C08091E9018F7009F4FD\r
-:101A8000D6C08093E9002091EB0020FF1CC093306A\r
-:101A900021F48091EB00806214C09091EB00906182\r
-:101AA0009093EB0021E030E0A90102C0440F551FE4\r
-:101AB0008A95E2F74093EA001092EA008091EB00E9\r
-:101AC00088608093EB001092E9008091E800877FA6\r
-:101AD00086C08111ACC01091E7011F778091E300AF\r
-:101AE0008078812B8093E3008091E800877F80934A\r
-:101AF000E8000E94F60A8091E80080FFFCCF809108\r
-:101B0000E30080688093E300111102C082E001C00D\r
-:101B100083E08093E4018BC08058823008F087C056\r
-:101B20008091E7019091E8018C3D53E0950779F5AC\r
-:101B300083E08A838AE289834FB7F894DE011396A3\r
-:101B400020E03EE051E2E32FF0E050935700E491B3\r
-:101B500020FF03C0E295EF703F5FEF708E2F90E0A3\r
-:101B6000EA3010F0C79601C0C0968D939D932F5F09\r
-:101B7000243149F74FBF8091E800877F8093E800C8\r
-:101B80006AE270E0CE0101960E94020A14C0AE0122\r
-:101B90004F5F5F4F6091E9010E944B09BC01892BA7\r
-:101BA00009F445C09091E800977F9093E8008981FF\r
-:101BB0009A810E94600A8091E8008B778093E80008\r
-:101BC00036C08038A1F58091E800877F8093E800D7\r
-:101BD0008091E0018093F1008091E8008E778093FE\r
-:101BE000E8000E94F60A23C0811121C08091E7011C\r
-:101BF0009091E80199270297D4F48091E800877FBB\r
-:101C00008093E8008091E7018093E0010E94F60A4A\r
-:101C10008091E001811106C08091E30087FD02C040\r
-:101C200081E001C084E08093E4010E944408809137\r
-:101C3000E80083FF0AC08091E800877F8093E80076\r
-:101C40008091EB0080628093EB00AA960FB6F89427\r
-:101C5000DEBF0FBECDBFDF91CF911F9108950895D4\r
-:101C6000CF938091E4018823A1F0C091E900CF7067\r
-:101C70009091EC00892F817090FD80E8C82B109224\r
-:101C8000E9008091E80083FD0E94D90CCF70C093D9\r
-:101C9000E900CF91089590936901809368010895B8\r
-:101CA000E0916801F0916901309721F00190F08195\r
-:101CB000E02D099480E00895E0916801F0916901B8\r
-:101CC000309721F00280F381E02D09940895E0918E\r
-:101CD0006801F0916901309721F00480F581E02DD1\r
-:101CE00009940895209166013091670128173907FA\r
-:101CF00071F09093670180936601E0916801F09123\r
-:101D00006901309721F00680F781E02D099408954C\r
-:101D100020916401309165012817390771F0909383\r
-:101D2000650180936401E0916801F0916901309749\r
-:101D300021F00084F185E02D0994089508950C9414\r
-:101D40009E0E0E945C1A0E940E040C94221BCF92DD\r
-:101D5000DF92EF92FF920F931F93CF93DF93CDB754\r
-:101D6000DEB72B970FB6F894DEBF0FBECDBF0E9433\r
-:101D700026048BE6C82E81E0D82E00E010E0E02E8D\r
-:101D8000802F0E941C05F60141916F01F82EF42668\r
-:101D9000B1F40F5F1F4F0E30110589F78FEF898364\r
-:101DA0008A831B820E94651A8160782F9D838C83B1\r
-:101DB00049815A816B818D810E944A0F40C0909168\r
-:101DC000CC0191FF04C08B870E9422058B8520E007\r
-:101DD00030E04F2D50E0922FBA01022E02C07595CF\r
-:101DE00067950A94E2F760FF24C02E83EF8221E01A\r
-:101DF00030E0690102C0CC0CDD1C9A95E2F790E05E\r
-:101E00008C219D21892B09F420E028870E94651AE6\r
-:101E10008160782F9A8789874E815F8168858A855E\r
-:101E20000E944A0FF801E559FE4F8081C826C08202\r
-:101E300006C02F5F3F4F2630310569F6AACF0E94BA\r
-:101E4000091E0E94500E90916A018917A1F00E940C\r
-:101E5000500E80936A012B960FB6F894DEBF0FBE2A\r
-:101E6000CDBFDF91CF911F910F91FF90EF90DF9049\r
-:101E7000CF900C9446072B960FB6F894DEBF0FBE9A\r
-:101E8000CDBFDF91CF911F910F91FF90EF90DF9029\r
-:101E9000CF900895CF93DF93CDB7DEB72B970FB6D2\r
-:101EA000F894DEBF0FBECDBF4F83588769877A870E\r
-:101EB0008B87DE01119686E0FD0111928A95E9F784\r
-:101EC00085E0FE01379601900D928A95E1F74981F0\r
-:101ED0005A816B817C818D819E810E944D162B964B\r
-:101EE0000FB6F894DEBF0FBECDBFDF91CF9108953E\r
-:101EF000CF93C82F882309F4C1C0823859F40E94B7\r
-:101F0000500E81FDBBC089E30E94EA180E94A2190D\r
-:101F100089E30CC0833879F40E94500E80FDAEC076\r
-:101F200083E50E94EA180E94A21983E50E942919FC\r
-:101F3000CF910C94A219843859F40E94500E82FD5E\r
-:101F40009DC087E40E94EA180E94A21987E4EECFA0\r
-:101F50008CEF8C0F813A48F48C2F0E94492081111C\r
-:101F60008DC08C2F0E94EA18E3CF80E28C0F88305E\r
-:101F700048F4C77081E001C0880FCA95EAF70E9453\r
-:101F80006B19D6CF8BE58C0F833078F4C53A29F0E6\r
-:101F9000C63A31F083E890E005C081E890E002C0E5\r
-:101FA00082E890E0CF910C94720E88E58C0F83311B\r
-:101FB00008F064C0C83A39F1C93A41F1CA3A49F166\r
-:101FC000CB3A51F1CC3A59F1CD3A61F1C03B69F1CC\r
-:101FD000CE3A71F1CF3A79F1C13B81F1C23B89F13F\r
-:101FE000C33B91F1C43B99F1C53BA1F1C63BA9F1BB\r
-:101FF000C73BB1F1C83BB9F1C93BC1F1CA3BC9F11B\r
-:1020000080E090E038C082EE90E035C089EE90E04C\r
-:1020100032C08AEE90E02FC085EB90E02CC086EBBA\r
-:1020200090E029C087EB90E026C08CEC90E023C0C4\r
-:102030008DEC90E020C083E891E01DC08AE891E03B\r
-:102040001AC082E991E017C084E991E014C081E2EE\r
-:1020500092E011C083E292E00EC084E292E00BC0F5\r
-:1020600085E292E008C086E292E005C087E292E055\r
-:1020700002C08AE292E0CF910C94880ECF9108952D\r
-:10208000882309F44BC0823859F40E94500E81FF16\r
-:1020900045C089E30E94EA180E94A21989E30CC096\r
-:1020A000833871F40E94500E80FF38C083E50E948F\r
-:1020B000EA180E94A21983E50E9429190C94A2191A\r
-:1020C000843859F40E94500E82FF28C087E40E9491\r
-:1020D000EA180E94A21987E4EFCF9CEF980F913A7B\r
-:1020E00058F390E2980F983050F4877091E001C057\r
-:1020F000990F8A95EAF7892F0E947119DFCF9BE526\r
-:10210000980F933020F480E090E00C94720E885A7F\r
-:10211000833120F480E090E00C94880E08958823A9\r
-:1021200021F00E946B190C94A2190895882321F0C4\r
-:102130000E9471190C94A2190895BF92CF92DF9258\r
-:10214000EF92FF920F931F93CF93DF9300D000D0B5\r
-:1021500000D0CDB7DEB77C0185E0F701DE01119636\r
-:1021600001900D928A95E1F7F70183819481892B83\r
-:1021700009F4DDC2908181818F3F19F49F3F09F4FA\r
-:10218000D6C2F7010281258122952F7099838A8317\r
-:1021900089819A812E830E94A918182FB92E0E9436\r
-:1021A000A8180E946F17EB2DE295EF704E2F50E0AC\r
-:1021B000FA01E05AFF4F2E810C948D228B2D807FE7\r
-:1021C0009B2D9F70F92E882319F0F29480EFF8224E\r
-:1021D000002349F0FF2009F457C28F2D0E947B197C\r
-:1021E0000E94A21951C2812F0E944010FF2009F4C1\r
-:1021F0009EC28F2D0E94811926960FB6F894DEBFDD\r
-:102200000FBECDBFDF91CF911F910F91FF90EF9047\r
-:10221000DF90CF90BF900C94A2193B2D307F8B2D77\r
-:102220008F70303211F08295807F112319F01130B8\r
-:1022300021F12CC00023B9F0222309F490C12130F0\r
-:1022400009F08DC126960FB6F894DEBF0FBECDBF44\r
-:10225000DF91CF911F910F91FF90EF90DF90CF9082\r
-:10226000BF900C948B19222319F0213009F45FC21E\r
-:102270008E830E948E198E8186C1002321F0223028\r
-:1022800008F055C26CC1211152C27DC1002321F05A\r
-:10229000222309F464C1F8C1222309F474C109C2DC\r
-:1022A0008B2D86958695837019F08130D1F03FC2D1\r
-:1022B000002321F0812F9B2D937002C080E090E0DD\r
-:1022C00026960FB6F894DEBF0FBECDBFDF91CF913B\r
-:1022D0001F910F91FF90EF90DF90CF90BF900C94E3\r
-:1022E000720E002321F0812F9B2D937002C080E09D\r
-:1022F00090E026960FB6F894DEBF0FBECDBFDF91FB\r
-:10230000CF911F910F91FF90EF90DF90CF90BF90F2\r
-:102310000C94880E812F002319F00E94111D02C019\r
-:102320000E94791D26960FB6F894DEBF0FBECDBF72\r
-:10233000DF91CF911F910F91FF90EF90DF90CF90A1\r
-:10234000BF900C94FE1D8B2D837009F075C0011198\r
-:10235000EEC1812F829586958770880F880F912F07\r
-:102360009F70C92ED12CE12CF12C082E04C0CC0C6E\r
-:10237000DD1CEE1CFF1C0A94D2F714FF12C00FE004\r
-:1023800010E020E030E004C0000F111F221F331FB7\r
-:102390008A95D2F7C901B80160957095809590959E\r
-:1023A00003C060E070E0CB014B2D4695469543702D\r
-:1023B0004230C1F060F56C297D298E299F2941307A\r
-:1023C00051F126960FB6F894DEBF0FBECDBFDF9158\r
-:1023D000CF911F910F91FF90EF90DF90CF90BF9022\r
-:1023E0000C9496176C297D298E299F2926960FB665\r
-:1023F000F894DEBF0FBECDBFDF91CF911F910F913B\r
-:10240000FF90EF90DF90CF90BF900C94B2170E9496\r
-:102410009617C701B60126960FB6F894DEBF0FBE19\r
-:10242000CDBFDF91CF911F910F91FF90EF90DF9083\r
-:10243000CF90BF900C947A17002319F08B2D8170E8\r
-:1024400001C08695882309F472C1812F82958695F3\r
-:102450008770880F880F912F9F70C92ED12CE12C87\r
-:10246000F12C082E04C0CC0CDD1CEE1CFF1C0A94C1\r
-:10247000D2F714FF12C00FE010E020E030E004C0FB\r
-:10248000000F111F221F331F8A95D2F7C901B8010F\r
-:10249000609570958095909503C060E070E0CB01E9\r
-:1024A0004B2D4695469543704230C1F060F56C293E\r
-:1024B0007D298E299F29413051F126960FB6F89437\r
-:1024C000DEBF0FBECDBFDF91CF911F910F91FF9067\r
-:1024D000EF90DF90CF90BF900C9470186C297D29FD\r
-:1024E0008E299F2926960FB6F894DEBF0FBECDBF6A\r
-:1024F000DF91CF911F910F91FF90EF90DF90CF90E0\r
-:10250000BF900C948C180E947018C701B6012696D3\r
-:102510000FB6F894DEBF0FBECDBFDF91CF911F91F4\r
-:102520000F91FF90EF90DF90CF90BF900C945418D4\r
-:10253000103FD1F118F4103E50F4A1C0123F09F43D\r
-:1025400063C008F44CC0133F09F473C098C01F70F7\r
-:102550008B2D8F710023A1F00E94ED17812F2696FD\r
-:102560000FB6F894DEBF0FBECDBFDF91CF911F91A4\r
-:102570000F91FF90EF90DF90CF90BF900C948F1051\r
-:102580000E940E18812F26960FB6F894DEBF0FBE5C\r
-:10259000CDBFDF91CF911F910F91FF90EF90DF9012\r
-:1025A000CF90BF900C9496100023A9F02111BFC0CA\r
-:1025B0008B2D8F7126960FB6F894DEBF0FBECDBF60\r
-:1025C000DF91CF911F910F91FF90EF90DF90CF900F\r
-:1025D000BF900C943318223008F0A9C0E9CF002333\r
-:1025E000A9F08B2D8F7126960FB6F894DEBF0FBE23\r
-:1025F000CDBFDF91CF911F910F91FF90EF90DF90B2\r
-:10260000CF90BF900C94ED17002359F38B2D8F7151\r
-:1026100026960FB6F894DEBF0FBECDBFDF91CF91E7\r
-:102620001F910F91FF90EF90DF90CF90BF900C948F\r
-:102630000E18002399F08B2D8F7126960FB6F89403\r
-:10264000DEBF0FBECDBFDF91CF911F910F91FF90E5\r
-:10265000EF90DF90CF90BF900C94D81726960FB6CE\r
-:10266000F894DEBF0FBECDBFDF91CF911F910F91C8\r
-:10267000FF90EF90DF90CF90BF900C94CE17002387\r
-:10268000A9F0222309F4ADCF812F26960FB6F89436\r
-:10269000DEBF0FBECDBFDF91CF911F910F91FF9095\r
-:1026A000EF90DF90CF90BF900C94780F222309F425\r
-:1026B000ADCF812F26960FB6F894DEBF0FBECDBFEB\r
-:1026C000DF91CF911F910F91FF90EF90DF90CF900E\r
-:1026D000BF900C9440104B2D4F70612FC7010E948A\r
-:1026E000AE0226960FB6F894DEBF0FBECDBFDF91C7\r
-:1026F000CF911F910F91FF90EF90DF90CF90BF90FF\r
-:102700000C94F2164B2D4F70612FC70126960FB611\r
-:10271000F894DEBF0FBECDBFDF91CF911F910F9117\r
-:10272000FF90EF90DF90CF90BF900C94E30526963A\r
-:102730000FB6F894DEBF0FBECDBFDF91CF911F91D2\r
-:102740000F91FF90EF90DF90CF90BF9008950E947F\r
-:1027500088190E945D190E94A2190E94AE1E0E9453\r
-:10276000FE1D80E090E00E94720E80E090E00C94EC\r
-:10277000880E0E9478190C94A7130E94A918292F7B\r
-:1027800022952F702C3030F42A3048F42250223019\r
-:1027900078F405C02C3041F02F3031F009C0803E74\r
-:1027A00048F0803F29F406C093FB882780F90895FC\r
-:1027B00080E0089581E00895CF93DF9300D000D0AA\r
-:1027C0001F92CDB7DEB70F900F900F900F900F9024\r
-:1027D000DF91CF910895CF93DF9300D000D000D048\r
-:1027E000CDB7DEB726960FB6F894DEBF0FBECDBFCD\r
-:1027F000DF91CF9108951F93CF93DF93C09179011B\r
-:1028000016E080917A01C81799F0D0E01C9FF00182\r
-:102810001D9FF00D1124E558FE4F408151816281CA\r
-:102820007381848195810E94EB132196C770E9CF53\r
-:10283000DF91CF911F9108954091AB015091AC0170\r
-:102840006091AD017091AE018091AF019091B001A6\r
-:102850000C94EB138091B00182958F7009F054C0F5\r
-:102860008091AD01882309F44FC080917901A09136\r
-:102870007A014091AE015091AF016091AB0170912E\r
-:10288000AC01B6E08A1709F43FC090E0411551054C\r
-:10289000C1F17F3F11F46F3FA1F1B89FF001B99FE3\r
-:1028A000F00D1124E558FE4F218127132AC0208105\r
-:1028B000261327C02281211124C0238134812417AB\r
-:1028C000350710F421503109241B350B283C310504\r
-:1028D000C0F42091B0012F7020612093B00126E058\r
-:1028E000289FF001299FF00D1124E058FE4F8081B0\r
-:1028F0008F70806180838BEA91E00E949D100C9420\r
-:10290000FB1301968770BECF0895CF92DF92EF92AE\r
-:10291000FF920F931F93CF93DF93CDB7DEB76297EC\r
-:102920000FB6F894DEBF0FBECDBF8C0185E0F80175\r
-:10293000DE011D9601900D928A95E1F7D8014C9128\r
-:1029400011965C91119712966C918091AE019091C5\r
-:10295000AF01009709F475C13091AB017091AC01E2\r
-:102960007F3F19F43F3F09F46CC1F801C380D48064\r
-:10297000E090AD01EE2009F4BEC02091B001C81670\r
-:10298000D90628F0D601A81BB90BCD0104C080954B\r
-:1029900090958C0D9D1DFF24F394883C910578F053\r
-:1029A000F12C207F09F0C4C07C2DD98AC88A89897E\r
-:1029B0000E94DC138BEA91E00E949D10AFC0822F31\r
-:1029C000807F09F045C0571313C0431311C0611134\r
-:1029D0000FC02F7020612093B0010E941C148BEA5D\r
-:1029E00091E00E949D108091B001F80185832EC076\r
-:1029F000CD2819F15F3F11F44F3FF9F0F62E611128\r
-:102A00001CC08091790120917A0136E0821709F487\r
-:102A10005BC090E0389FF001399FF00D1124E5581C\r
-:102A2000FE4F7181571306C07081471303C0728136\r
-:102A3000711103C001968770E9CFF62E662309F461\r
-:102A40001CC18091B00181608093B001F12C15C14F\r
-:102A5000571309C0431307C0611105C08091B0012D\r
-:102A6000F8018583C8C04D875E878D859E856A8BFA\r
-:102A70000E94BD136A898823D1F16623C1F1209198\r
-:102A8000B001822F82958F7090E0029774F0809150\r
-:102A9000AB019091AC0198878F831986DB86CA863B\r
-:102AA0002C87CE0107960E949D1086E0F801ABEAC4\r
-:102AB000B1E001900D928A95E1F70E942A140E94DC\r
-:102AC0001C14FF24F394D9C04D875E878D859E85A5\r
-:102AD0000E94A918292F22952F70223008F0C1C01A\r
-:102AE0009F7009F0BBC0805E883008F4C6C0C80182\r
-:102AF0000E949D10E6CFC816D90608F453C0F6010F\r
-:102B0000E81BF90BCF01883C910508F450C0F12C6B\r
-:102B10007C2DD98AC88A89890E94DC13EBEAF1E00E\r
-:102B200086E0DF011D928A95E9F70E941C14A5C07A\r
-:102B3000571314C0431312C0611110C08091B0012B\r
-:102B4000F8018583C8010E949D1086E0EBEAF1E060\r
-:102B5000DF011D928A95E9F7FE2C8FC04D875E87B5\r
-:102B60008D859E856A8B0E94BD136A89882309F42E\r
-:102B7000BECF662309F4BBCF2091B001822F82958E\r
-:102B80008F7090E002970CF490CF8091AB01909100\r
-:102B9000AC019A8389831B82DD82CC822E83CE0195\r
-:102BA000019681CF809590958C0D9D1DACCFF62E12\r
-:102BB000662309F49CCF571333C0431331C02091CF\r
-:102BC000B00120FD24C0822F82958F70482F50E0E5\r
-:102BD00041155105E1F0D80115962C9315974F300A\r
-:102BE000510549F08F5F982F9295907F822F8F70BB\r
-:102BF000892B15968C93C8010E949D1086E0F801E0\r
-:102C0000ABEAB1E001900D928A95E1F78ECF86E0B4\r
-:102C1000F801ABEAB1E001900D928A95E1F72DC081\r
-:102C20004D875E878D859E850E94BD1381113DCFA6\r
-:102C30008091B00181608093B001C8010E949D1015\r
-:102C40001CC0662309F453CF4D875E878D859E8512\r
-:102C50000E94BD13882309F44ACF27CF811143CFA7\r
-:102C60000CC0243008F043CF9F7009F43CCFD8014A\r
-:102C700015969C91907F09F036CF8F2D62960FB6F6\r
-:102C8000F894DEBF0FBECDBFDF91CF911F910F91A2\r
-:102C9000FF90EF90DF90CF9008951F93CF93DF9335\r
-:102CA000CDB7DEB72C970FB6F894DEBF0FBECDBF01\r
-:102CB0004F83588769877A878B879C87CE010796D1\r
-:102CC0000E948514882371F08A859B85892B09F4DD\r
-:102CD00041C088858F3F09F065C08F818F3F09F023\r
-:102CE00061C038C086E0FE013796DE011196019082\r
-:102CF0000D928A95E1F76A857B856115710551F121\r
-:102D0000FF81E885EF3F11F4FF3F21F120917A0127\r
-:102D100030E0C9010196877099274091790150E010\r
-:102D20008417950709F447C0F983EA837D836C8390\r
-:102D300096E0929FD001939FB00D1124A558BE4FED\r
-:102D4000FE01319601900D929A95E1F780937A01F8\r
-:102D50000E94FB1316E08091790190917A01891706\r
-:102D6000B9F1189FC001112485589E4F0E94851407\r
-:102D7000882371F1E09179011E9FF0011124E5583B\r
-:102D8000FE4F4081518162817381848195810E94CF\r
-:102D9000EB138091790190E00196877099278093D9\r
-:102DA0007901D9CF4F81588569857A858B859C8536\r
-:102DB0000E94EB13CFCF0E94B91310927A011092A8\r
-:102DC0007901EBEAF1E086E0DF011D928A95E9F7EF\r
-:102DD0002C960FB6F894DEBF0FBECDBFDF91CF911A\r
-:102DE0001F910895EF92FF920F931F93CF93DF935C\r
-:102DF0008C01892B09F46CC0F12CEE24E394E801DA\r
-:102E00002196F8018491843740F4843008F051C051\r
-:102E1000813081F0823019F15BC0853709F444C0FC\r
-:102E2000A8F19CE7980F903708F052C08F770E9466\r
-:102E3000401041C00E5F1F4FFE01849190E2980F39\r
-:102E4000983050F48770FE2D01C0FF0F8A95EAF785\r
-:102E50008F2F0E947B1914C00E94780F2DC00E5F27\r
-:102E60001F4FFE01849190E2980F983060F48770B4\r
-:102E7000FE2D01C0FF0F8A95EAF78F2F0E9481195E\r
-:102E80000E94A21919C00E94401016C00E5F1F4F69\r
-:102E9000FE01C491CC2381F08FE99FE00197F1F707\r
-:102EA00000C00000C150F6CF0E5F1F4FFE01F4902E\r
-:102EB00003C00E94780F8E018F2D882309F49FCFC5\r
-:102EC000EFE9FFE03197F1F700C000008150F5CF46\r
-:102ED000DF91CF911F910F91FF90EF90089508958A\r
-:102EE0006093B5017093B6018093B7019093B801D8\r
-:102EF0000C94A7130F931F930091B5011091B60185\r
-:102F00002091B7013091B801DC01CB01802B912BCE\r
-:102F1000A22BB32B8093B5019093B601A093B70178\r
-:102F2000B093B8011F910F910C94A7130F931F93A7\r
-:102F30000091B5011091B6012091B7013091B8010F\r
-:102F4000DC01CB0180239123A223B3238093B5011D\r
-:102F50009093B601A093B701B093B8011F910F9160\r
-:102F60000C94A7130F931F930091B5011091B60114\r
-:102F70002091B7013091B801DC01CB018027912766\r
-:102F8000A227B3278093B5019093B601A093B70110\r
-:102F9000B093B8011F910F910C94A7131092B10137\r
-:102FA0001092B2011092B3011092B4010C94A713C5\r
-:102FB00041E050E060E070E004C0440F551F661F20\r
-:102FC000771F8A95D2F74093B1015093B201609375\r
-:102FD000B3017093B4010C94A71341E050E060E09A\r
-:102FE00070E004C0440F551F661F771F8A95D2F703\r
-:102FF0008091B1019091B201A091B301B091B4015F\r
-:10300000482B592B6A2B7B2B4093B1015093B20173\r
-:103010006093B3017093B4010C94A71341E050E0A6\r
-:1030200060E070E004C0440F551F661F771F8A954B\r
-:10303000D2F740955095609570958091B10190912F\r
-:10304000B201A091B301B091B401482359236A237E\r
-:103050007B234093B1015093B2016093B30170930D\r
-:10306000B4010C94A71341E050E060E070E004C0AC\r
-:10307000440F551F661F771F8A95D2F78091B101C3\r
-:103080009091B201A091B301B091B40148275927A2\r
-:103090006A277B274093B1015093B2016093B3013B\r
-:1030A0007093B4010C94A7130F931F930091B10177\r
-:1030B0001091B2012091B3013091B401DC01CB0138\r
-:1030C000802B912BA22BB32B8093B1019093B20153\r
-:1030D000A093B301B093B4011F910F910C94A71367\r
-:1030E0000F931F930091B1011091B2012091B30190\r
-:1030F0003091B401DC01CB0180239123A223B323BF\r
-:103100008093B1019093B201A093B301B093B40145\r
-:103110001F910F910C94A7130F931F930091B1016E\r
-:103120001091B2012091B3013091B401DC01CB01C7\r
-:1031300080279127A227B3278093B1019093B201F2\r
-:10314000A093B301B093B4011F910F910C94A713F6\r
-:103150000895CF92DF92EF92FF920F931F93CF9338\r
-:10316000DF938C01C090B101D090B201E090B30127\r
-:10317000F090B4018091B5019091B601A091B70192\r
-:10318000B091B801C82AD92AEA2AFB2ACFE1D0E0B7\r
-:10319000D701C6010C2E04C0B695A79597958795C3\r
-:1031A0000A94D2F780FF07C0B8018C2F0E9407064F\r
-:1031B0008130910531F4219758F7B80180E00E94E1\r
-:1031C0000706DF91CF911F910F91FF90EF90DF9055\r
-:1031D000CF90089590910C019923F1F090910D01F9\r
-:1031E0009923D1F0982F9695969596959F3080F5D6\r
-:1031F000E0910E01F0910F01E90FF11D877021E0C0\r
-:1032000030E0A90102C0440F551F8A95E2F7CA01B8\r
-:103210009181892B8183089520910E0130910F01B6\r
-:10322000F90132969FEF40E05191851789F09F3F59\r
-:1032300019F4511101C0942F4F5F4E30A9F79F3FF1\r
-:1032400039F0F901E90FF11D97FDFA958283089590\r
-:10325000089590910C019923F9F090910D01992313\r
-:10326000D9F0982F9695969596959F3028F5E091F0\r
-:103270000E01F0910F01E90FF11D877021E030E0A0\r
-:10328000A90102C0440F551F8A95E2F7CA01809533\r
-:10329000918189238183089520910E0130910F013E\r
-:1032A000F9013296205F3F4F9081891301C010824F\r
-:1032B0003196E217F307C1F7089581E090E0E091BD\r
-:1032C0000E01F0910F01E80FF91F10820196803175\r
-:1032D0009105A9F708959091CB01892B8093CB019B\r
-:1032E000089580959091CB0189238093CB01089517\r
-:1032F0001092CB0108959091CA01892B8093CA0145\r
-:10330000089580959091CA0189238093CA010895F8\r
-:103310001092CA0108958093B90108951092B901DD\r
-:10332000089580910E0190910F01FC0131969C014E\r
-:10333000205F3F4F80E0919191118F5FE217F3077B\r
-:10334000D1F70895E0910E01F0910F018091CB012A\r
-:103350008083E0910E01F0910F0190818091CA016C\r
-:10336000892B80838091B901882361F0E0910E015F\r
-:10337000F0910F019081892B80830E949119811116\r
-:103380001092B90180910E0190910F010C945C0E86\r
-:10339000CF92DF92EF92FF926C01EE24FF24C114D2\r
-:1033A000D104E104F10421F0C701B60120E101C01C\r
-:1033B00020E0C72ED82EE92EFF24C114D104E10449\r
-:1033C000F10419F0285FC701B6016B017C0154E0DC\r
-:1033D000F694E794D794C7945A95D1F7C114D104C1\r
-:1033E000E104F10419F02C5FC701B6016B017C0107\r
-:1033F00042E0F694E794D794C7944A95D1F7C11464\r
-:10340000D104E104F10419F02E5FC701B601DC011B\r
-:10341000CB01B695A79597958795892B8A2B8B2BF2\r
-:1034200009F02F5F822FFF90EF90DF90CF900895EB\r
-:103430008091E401843011F120E488E190E00FB63E\r
-:10344000F894A895809360000FBE2093600083B726\r
-:10345000817F846083BF83B7816083BF78948895C0\r
-:1034600083B78E7F83BF0FB6F894A89580916000D4\r
-:10347000886180936000109260000FBE08950895E7\r
-:103480000C943F1ACF930E94401A0E9426040E9477\r
-:103490003F1AC0E08C2F0E941C05811104C0CF5F31\r
-:1034A000CE30C1F701C081E0CF9108950E94B913D9\r
-:1034B0000E94500E0C94460782E084BD93E095BDB7\r
-:1034C0009AEF97BD80936E0008952FB7F89480917E\r
-:1034D000CD019091CE01A091CF01B091D0012FBF2D\r
-:1034E0000895CF92DF92EF92FF920F931F932FB721\r
-:1034F000F8944091CD015091CE016091CF0170912F\r
-:10350000D0012FBF6A017B01EE24FF248C0120E053\r
-:1035100030E0C016D106E206F30610F4415051091E\r
-:103520009A01281B390BC9011F910F91FF90EF9051\r
-:10353000DF90CF9008951F920F920FB60F92112433\r
-:103540008F939F93AF93BF938091CD019091CE01C4\r
-:10355000A091CF01B091D0010196A11DB11D809322\r
-:10356000CD019093CE01A093CF01B093D001BF9134\r
-:10357000AF919F918F910F900FBE0F901F90189554\r
-:103580000E94480BF8942FEF87EA91E62150804083\r
-:103590009040E1F700C0000087E090EBDC018093F1\r
-:1035A000ED019093EE01A093EF01B093F0019CE048\r
-:1035B00088E10FB6F894A895809360000FBE9093B1\r
-:1035C0006000FFCFEF92FF920F931F93CF93DF9393\r
-:1035D000D82FC0E08C2F0E941C0500E010E0E82EE0\r
-:1035E000F12CC701002E02C0959587950A94E2F749\r
-:1035F00080FD06C00F5F1F4F0630110591F709C00F\r
-:10360000602F7C2F80E00E94E4058D13F3CF81E0D2\r
-:1036100004C0CF5FCE30F1F680E0DF91CF911F91F3\r
-:103620000F91FF90EF900895CF93C82F8CE20E94E6\r
-:10363000E21A882321F08C2FCF910C94E21A80E0BB\r
-:10364000CF910895CF930E94691C811102C00E94FE\r
-:103650004F1CC5E6C15049F00E9426048FE39CE947\r
-:103660000197F1F700C00000F5CF89E20E94141B1A\r
-:10367000811113C18AE20E94141B81110E944F1C08\r
-:1036800085E00E94141B81110E94C01A0E94741CC4\r
-:103690008093CC0187E00E94141B8823A9F18BE161\r
-:1036A0000E94141B882351F08091CC0181FB2227BA\r
-:1036B00020F991E0922790FB81F90EC08EE00E94E4\r
-:1036C000141B882361F08091CC0182FB222720F912\r
-:1036D00091E0922790FB82F98093CC0115C080E1A4\r
-:1036E0000E94141B9091CC01882341F093FB222768\r
-:1036F00020F981E0822780FB93F904C0892F80950F\r
-:1037000080FB90F99093CC018091CC010E94781CB1\r
-:103710000E94861C8093DE0180EE0E94141B882389\r
-:1037200041F08091DE01982F909590FB80F9809375\r
-:10373000DE0189E30E94141B882359F08091DE0189\r
-:1037400081FB222720F991E0922790FB81F9809359\r
-:10375000DE0182EE0E94141B882359F08091DE0165\r
-:1037600082FB222720F991E0922790FB82F9809337\r
-:10377000DE0186EE0E94141B882359F08091DE0141\r
-:1037800083FB222720F991E0922790FB83F9809315\r
-:10379000DE0183EE0E94141B882359F08091DE0124\r
-:1037A00084FB222720F991E0922790FB84F98093F3\r
-:1037B000DE0185E30E94141B882359F08091DE010D\r
-:1037C00085FB222720F991E0922790FB85F98093D1\r
-:1037D000DE0181E30E94141B882359F08091DE01F1\r
-:1037E00086FB222720F991E0922790FB86F98093AF\r
-:1037F000DE0181E10E94141B882359F08091DE01D3\r
-:1038000087FB222720F991E0922790FB87F980938C\r
-:10381000DE018091DE010E948A1C8091DE0187FB1F\r
-:10382000882780F980930D0187E20E94141BC82F1E\r
-:103830008EE10E94141B8111C2608FE10E94141B53\r
-:103840008111C46080E20E94141B8111C86081E272\r
-:103850000E94141B8111C06182E20E94141B81111D\r
-:10386000C06283E20E94141B8111C06484E20E9442\r
-:10387000141B882311F0C06802C0CC2329F08C2FC0\r
-:103880000E94811C6C2F03C00E947D1C682F70E079\r
-:1038900080E090E0CF910C947017CF9108956DEE79\r
-:1038A0007EEF80E090E00E94C32260E082E090E042\r
-:1038B0000E94B52260E083E090E00E94B52260E0C3\r
-:1038C00084E090E00E94B52260E085E090E00C94F6\r
-:1038D000B52280E090E00E94AF2221E08D3E9E4F15\r
-:1038E00009F020E0822F089582E090E00C94A72256\r
-:1038F000682F82E090E00C94B52283E090E00C9475\r
-:10390000A722682F83E090E00C94B52284E090E039\r
-:103910000C94A722682F84E090E00C94B52280914B\r
-:10392000D30180FF0BC06091130185E0689FB00157\r
-:10393000112475956795759567952BC081FF09C012\r
-:103940006091130185E0689FB0011124759567951A\r
-:1039500020C082FF07C06091130185E0689FB0011D\r
-:10396000112417C09091D4019923D1F060911201D4\r
-:10397000961788F72091130185E0289F9001112464\r
-:10398000929FA001939F500D112470E0CA010E94E4\r
-:1039900079226038710540F46115710519F406C08B\r
-:1039A00065E070E0862F08958FE7089581E008951F\r
-:1039B0008091D30180FF08C06091110170E075957E\r
-:1039C00067957595679521C081FF06C060911101CB\r
-:1039D00070E07595679519C082FF04C06091110170\r
-:1039E00070E010C09091D401992399F0609110017A\r
-:1039F0009617A0F780911101899FC001112470E0F2\r
-:103A00000E9479226038710540F46115710519F43E\r
-:103A100006C061E070E0862F08958FE7089581E089\r
-:103A20000895803F21F40E948F1C819504C0813F3E\r
-:103A300029F40E948F1C8093D7010895823F21F4BE\r
-:103A40000E948F1C819504C0833F29F40E948F1C23\r
-:103A50008093D6010895893F19F40E94D81C05C0AF\r
-:103A60008A3F31F40E94D81C81958093D801089533\r
-:103A70008B3F21F40E94D81C819504C08C3F29F40F\r
-:103A80000E94D81C8093D9010895843F21F480912D\r
-:103A9000D501816017C0853F21F48091D5018260F6\r
-:103AA00011C0863F21F48091D50184600BC0873F0F\r
-:103AB00021F48091D501886005C0883F31F4809160\r
-:103AC000D50180618093D50108958D3F21F48091C7\r
-:103AD000D30181600BC08E3F21F48091D3018260BD\r
-:103AE00005C08F3F29F48091D30184608093D30176\r
-:103AF0000895803F39F48091D70187FF6CC0109200\r
-:103B0000D70169C0813F29F48091D7011816BCF311\r
-:103B100062C09091D601823F29F497FF5CC0109259\r
-:103B2000D60159C0833F19F41916CCF354C0893F0C\r
-:103B300041F48091D80118160CF04DC01092D801B4\r
-:103B40004AC08A3F29F48091D80187FF44C0F6CF4C\r
-:103B50008B3F39F48091D90187FF3DC01092D90184\r
-:103B60003AC08C3F29F48091D9011816BCF333C0B8\r
-:103B7000843F21F48091D5018E7F17C0853F21F4C9\r
-:103B80008091D5018D7F11C0863F21F48091D501B0\r
-:103B90008B7F0BC0873F21F48091D501877F05C0C3\r
-:103BA000883F31F48091D5018F7E8093D50113C079\r
-:103BB0008D3F21F48091D3018E7F0BC08E3F21F485\r
-:103BC0008091D3018D7F05C08F3F29F48091D3016F\r
-:103BD0008B7F8093D3018091D60181110EC080919B\r
-:103BE000D70181110AC08091D801811106C080914E\r
-:103BF000D901811102C01092D401089585ED91E0A0\r
-:103C00000E94670E0E94651A9093D2018093D101A1\r
-:103C100008951F93CF93DF938091D1019091D201AA\r
-:103C20000E94711AAC019091D401992321F0209146\r
-:103C3000140130E006C0209115018AE0289F900110\r
-:103C400011244217530708F485C08091D601C09112\r
-:103C5000D701D091D8011091D901811107C0C111AC\r
-:103C600075C0D11173C0111171C074C09F3F19F09C\r
-:103C70009F5F9093D401181624F40E948F1C8093A8\r
-:103C8000D6018091D60187FF05C00E948F1C8195C7\r
-:103C90008093D6011C1624F40E948F1C8093D701B8\r
-:103CA0008091D70187FF05C00E948F1C819580936A\r
-:103CB000D7016091D601662331F1C091D701CC23A1\r
-:103CC00011F1062E000C770B880B990B0E948021B6\r
-:103CD00023E333E343E35FE30E94E4210E944821AE\r
-:103CE0006093D6016C2FCC0F770B880B990B0E9439\r
-:103CF000802123E333E343E35FE30E94E4210E9456\r
-:103D000048216093D7011D1624F40E94D81C80938B\r
-:103D1000D8018091D80187FF05C00E94D81C8195E9\r
-:103D20008093D801111624F40E94D81C8093D901E5\r
-:103D30008091D90187FF05C00E94D81C819580938E\r
-:103D4000D901DF91CF911F910C94FE1D9F3F09F087\r
-:103D50008FCFA0CFDF91CF911F910895E5EDF1E0D6\r
-:103D600085E0DF011D928A95E9F71092D401109247\r
-:103D7000D3010895833081F128F4813059F08230E5\r
-:103D8000D1F00895853009F449C0B8F1863009F4BE\r
-:103D900056C0089580911501262F30E0280F311D5F\r
-:103DA0002F3F310524F4680F6093150108958FEFBC\r
-:103DB00080931501089580911401262F30E0280F7B\r
-:103DC000311D2F3F310524F4680F609314010895CD\r
-:103DD0008FEF80931401089580911301262F30E016\r
-:103DE000280F311D2F3F310524F4680F6093130114\r
-:103DF00008958FEF80931301089580911201262F6B\r
-:103E000030E0280F311D2F3F310524F4680F6093F7\r
-:103E1000120108958FEF809312010895809111018E\r
-:103E2000262F30E0280F311D2F3F310524F4680F75\r
-:103E30006093110108958FEF80931101089580918F\r
-:103E40001001262F30E0280F311D2F3F310524F4BB\r
-:103E5000680F6093100108958FEF8093100108950B\r
-:103E6000833011F128F4813049F0823091F00895C7\r
-:103E7000853081F120F18630C1F1089580911501DE\r
-:103E8000681720F4861B8093150108951092150180\r
-:103E9000089580911401681720F4861B8093140103\r
-:103EA000089510921401089580911301681720F469\r
-:103EB000861B809313010895109213010895809139\r
-:103EC0001201681720F4861B809312010895109246\r
-:103ED0001201089580911101681720F4861B8093C8\r
-:103EE0001101089510921101089580911001681731\r
-:103EF00020F4861B809310010895109210010895FC\r
-:103F00000F931F938D3109F46BC008F03FC08E30C2\r
-:103F100009F47DC0C0F4873009F46EC068F48630BF\r
-:103F200009F0AFC08091CC01817F8E7F8093CC015E\r
-:103F300081E08093DB01A6C0883009F458C08B3043\r
-:103F400009F49BC09EC0863109F497C078F4803193\r
-:103F500009F470C0813109F094C00E94B9139091A6\r
-:103F60000D0181E0892780930D0187C0893109F413\r
-:103F700084C08B3109F085C08091CC0181FB222760\r
-:103F800020F991E0922790FB81F94AC0853309F42A\r
-:103F90005BC048F4873209F457C008F45AC089322C\r
-:103FA00009F452C06EC0833438F48A3308F067C015\r
-:103FB000883309F462C065C0833409F445C088348D\r
-:103FC00009F05FC00E94B9130FEF13ED20E3015019\r
-:103FD00010402040E1F700C000000E94C01A4DC010\r
-:103FE0000E9402210E94500E0E94460746C00E9475\r
-:103FF000741C0E94861C41C09091CC01892F817055\r
-:1040000090FF12C0917F9E7F9093CC013BC0809126\r
-:10401000CC0182FB222720F991E0922790FB82F9C4\r
-:104020008093CC01992349F18091CC0181608093E8\r
-:10403000CC0123C08091CC0183FB222720F991E0A1\r
-:10404000922790FB83F9ECCF61E070E080E090E094\r
-:1040500010C08D5141E050E060E070E08A019B01AA\r
-:1040600004C0000F111F221F331F8A95D2F7C90108\r
-:10407000B8010E9470170E94B91381E003C08953F0\r
-:10408000E9CF80E01F910F91089580E008950C948E\r
-:104090004520CF93C82F8091DB01813079F018F053\r
-:1040A0008230E9F187C0E0910E01F0910F0180812B\r
-:1040B000813169F0823209F07FC009C0E0910E01C0\r
-:1040C000F0910F018081813111F0823261F48C2FE7\r
-:1040D0000E944720811104C08C2F0E94801F1DC0A8\r
-:1040E00081E090E01AC08C2F0E944520811114C0FD\r
-:1040F000C43179F048F4CB3079F0C03109F060C0B8\r
-:1041000082E08093DB0108C0C93219F0C83321F086\r
-:1041100057C01092DB0154C081E0817053C0C93296\r
-:1041200089F118F5C43171F1A8F4C73009F046C01F\r
-:104130008AE08093150194E19093140193E09093A9\r
-:1041400013018093120188E08093110188E280932B\r
-:10415000100134C0CE51C63088F5EC2FF0E0E65D9A\r
-:10416000FE4F80818093DA0129C0CE34E9F020F43B\r
-:10417000CB3421F56AE013C0C13579F0C235F1F4D2\r
-:1041800061E00DC08091DA01882319F01092DA0104\r
-:1041900015C081E08093DB0115C061E006C080910D\r
-:1041A000DA010E94BA1E0AC06AE08091DA010E9418\r
-:1041B000301F04C01092DB0180E004C081E002C027\r
-:1041C00080E0ABCFCF910895E1E8F0E08081886096\r
-:1041D00080838081816080838FB7F89493E090938F\r
-:1041E000890090ED909388008FBF0895EFE6F0E08E\r
-:1041F0008081826080830895EFE6F0E080818D7F8A\r
-:1042000080830895EFE6F0E0908182E08927808343\r
-:1042100008951F920F920FB60F9211242F933F9380\r
-:104220004F935F936F937F938F939F93AF93BF93BE\r
-:10423000EF93FF938091DC019091DD0101969093C3\r
-:10424000DD018093DC01811103C082E00E944607FA\r
-:10425000E091DD01E695E695F0E0E657FB4FE4914D\r
-:104260008091DC018E1303C080E00E944607FF911D\r
-:10427000EF91BF91AF919F918F917F916F915F91DE\r
-:104280004F913F912F910F900FBE0F901F90189557\r
-:104290000E944F216894B1110C94DE2108950E9470\r
-:1042A000C32188F09F5798F0B92F9927B751B0F0E4\r
-:1042B000E1F0660F771F881F991F1AF0BA95C9F7AA\r
-:1042C00014C0B13091F00E94DD21B1E008950C944A\r
-:1042D000DD21672F782F8827B85F39F0B93FCCF3FD\r
-:1042E000869577956795B395D9F73EF49095809527\r
-:1042F000709561957F4F8F4F9F4F0895E89409C047\r
-:1043000097FB3EF490958095709561957F4F8F4F08\r
-:104310009F4F9923A9F0F92F96E9BB279395F6951E\r
-:10432000879577956795B795F111F8CFFAF4BB0F9C\r
-:1043300011F460FF1BC06F5F7F4F8F4F9F4F16C000\r
-:10434000882311F096E911C0772321F09EE8872F8A\r
-:10435000762F05C0662371F096E8862F70E060E046\r
-:104360002AF09A95660F771F881FDAF7880F9695BF\r
-:10437000879597F9089557FD9058440F551F59F0A8\r
-:104380005F3F71F04795880F97FB991F61F09F3F42\r
-:1043900079F087950895121613061406551FF2CF6B\r
-:1043A0004695F1DF08C0161617061806991FF1CFBB\r
-:1043B00086957105610508940895E894BB276627E2\r
-:1043C0007727CB0197F908950E94F7210C94682272\r
-:1043D0000E945A2238F00E94612220F0952311F0A9\r
-:1043E0000C9451220C94572211240C94DE210E942B\r
-:1043F000BB2170F3959FC1F3950F50E0551F629F4D\r
-:10440000F001729FBB27F00DB11D639FAA27F00D2D\r
-:10441000B11DAA1F649F6627B00DA11D661F829F54\r
-:104420002227B00DA11D621F739FB00DA11D621F39\r
-:10443000839FA00D611D221F749F3327A00D611D56\r
-:10444000231F849F600D211D822F762F6A2F112438\r
-:104450009F5750409AF0F1F088234AF0EE0FFF1F6B\r
-:10446000BB1F661F771F881F91505040A9F79E3FC2\r
-:10447000510580F00C9451220C94DE215F3FE4F34F\r
-:10448000983ED4F3869577956795B795F795E79518\r
-:104490009F5FC1F7FE2B880F911D9695879597F921\r
-:1044A000089597F99F6780E870E060E008959FEFB6\r
-:1044B00080EC089500240A941616170618060906BB\r
-:1044C000089500240A94121613061406050608958A\r
-:1044D000092E0394000C11F4882352F0BB0F40F412\r
-:1044E000BF2B11F460FF04C06F5F7F4F8F4F9F4F52\r
-:1044F000089597FB072E16F4009407D077FD09D096\r
-:104500000E94932207FC05D03EF4909581959F4F21\r
-:104510000895709561957F4F0895EE0FFF1F0590E8\r
-:10452000F491E02D0994AA1BBB1B51E107C0AA1FFF\r
-:10453000BB1FA617B70710F0A61BB70B881F991F44\r
-:104540005A95A9F780959095BC01CD010895F999E8\r
-:10455000FECF92BD81BDF89A992780B50895A8E154\r
-:10456000B0E042E050E00C94CA22262FF999FECF29\r
-:104570001FBA92BD81BD20BD0FB6F894FA9AF99A80\r
-:104580000FBE019608950E94B522272F0C94B622E3\r
-:10459000DC01CB01FC01F999FECF06C0F2BDE1BD03\r
-:1045A000F89A319600B40D9241505040B8F70895F2\r
-:0445B000F894FFCFAD\r
-:1045B40020024707D707B2077E074A070101BA015D\r
-:1045C40028080A03140A3F4D36394B04FE03C80376\r
-:1045D4008F0322033B0354036D0301020304050606\r
-:0445E40007080900BB\r
+:100000000C945C020C94A0020C94A0020C94A0022C\r
+:100010000C94A0020C94A0020C94A0020C94A002D8\r
+:100020000C94A0020C94A0020C94970C0C94690DF3\r
+:100030000C94D61B0C94A0020C94A0020C94A00269\r
+:100040000C94A0020C94A0020C94A0020C94A002A8\r
+:100050000C94A0020C943D1C0C94A0020C94A002E1\r
+:100060000C94A0020C94A0020C94A0020C94A00288\r
+:100070000C94A0020C94A0020C94A0020C94A00278\r
+:100080000C94A0020C94A0020C94A0020C94A00268\r
+:100090000C94A0020C94A0020C94A0020C94A00258\r
+:1000A0000C94A0020C94A0020C94A002CE0DF00DB2\r
+:1000B000DB0EF00DDB0E320E550EDB0EAA0EBD0E62\r
+:1000C000CC11CC11FB11FB1146126812CF13CF13C8\r
+:1000D0007312CF131C131C13C013CF13CF13C913E8\r
+:1000E0002913291329132913291329132913291330\r
+:1000F0002913291329132913291329132913291320\r
+:100100003A1348134F13561360130000F0A100C8B0\r
+:1001100001C82E004C002A000030358100001E006E\r
+:10012000140004001D7134004D001F001A00160059\r
+:100130001B00E104C1002000080007000600500079\r
+:100140002C0021001500090019004F004A00220070\r
+:1001500017000A00050000006574500001540000FB\r
+:100160002F7F0000E3004F000154000030770000B3\r
+:10017000E20023001C000B00110000002971240084\r
+:1001800018000D74100052004B0025000C000E00EA\r
+:10019000360051002800260012000F0037002F0003\r
+:1001A0002B81270013003382387130004E002D0060\r
+:1001B0003100347801302D81000001000100010080\r
+:1001C0000100010000003A0001001E0023000100B0\r
+:1001D00001003B0001001F002400010001003C0061\r
+:1001E0000100200025004B0101003D00010021001D\r
+:1001F00026004E0101003E00010022002700000001\r
+:1002000001000100010000000100000001000100E8\r
+:10021000010000000100000001003F000100240275\r
+:10022000310200000100400001002D021F02010008\r
+:100230000100410001002D002E00010001004200DC\r
+:1002400001001300220201000100430001002E0200\r
+:10025000010001000100440045000100010001000F\r
+:100260000000010001000100010001000000010088\r
+:1002700001004B00010001000100010001004A00E3\r
+:10028000010001000100010001004D00010001001A\r
+:100290000100010001004E00010001000100010009\r
+:1002A0000100010001000000010001000100000048\r
+:1002B0000100000001000100010000000100000039\r
+:1002C0000100010001000100010000000100010027\r
+:1002D000010001000100A90001000100010001006E\r
+:1002E000AC00AA00B600010001000100AB00A800AC\r
+:1002F00001000100010001000100010001000100F6\r
+:100300000100AE000100010000001603450072006C\r
+:1003100067006F0044006F007800200045005A001D\r
+:10032000000016034500720067006F0044006F0074\r
+:100330007800200045005A00000004030904090267\r
+:100340006D00040100A0FA0904000001030101008E\r
+:10035000092111010001223F000705810308000A5D\r
+:100360000904010001030102000921110100012219\r
+:100370004D000705820308000A090402000103007A\r
+:10038000000009211101000122360007058303083E\r
+:10039000000A090403000103000000092111010003\r
+:1003A0000122390007058403100001120110010029\r
+:1003B000000008EDFE07130100010200010501091C\r
+:1003C00006A101050719E029E71500250195087523\r
+:1003D000018102050819012905950575019102950C\r
+:1003E000017503910105071900297715002501956D\r
+:1003F0007875018102C005010980A10185021601FD\r
+:100400000026B7001A01002AB70075109501810077\r
+:10041000C0050C0901A1018503160100269C021AE2\r
+:1004200001002A9C02751095018100C00501090296\r
+:10043000A1010901A10005091901290515002501DE\r
+:10044000950575018102950175038101050109304A\r
+:1004500009311581257F95027508810609381581B6\r
+:10046000257F950175088106050C0A38021581253E\r
+:100470007F950175088106C0C005010906A1010527\r
+:100480000719E029E71500250195087501810295F6\r
+:100490000175088101050819012905950575019166\r
+:1004A000029501750391010507190029FF15002523\r
+:1004B000FF950675088100C011241FBECFEFDAE05A\r
+:1004C000DEBFCDBF04B603FE24C08091F20190913F\r
+:1004D000F301A091F401B091F5018730904BA74052\r
+:1004E000B04BB9F41092F2011092F3011092F401A2\r
+:1004F0001092F50114BE84B7877F84BF88E10FB6E0\r
+:10050000F89480936000109260000FBEE0E0FFE37B\r
+:10051000099511E0A0E0B1E0EAEEF7E402C0059031\r
+:100520000D92A433B107D9F711E0A4E3B1E001C003\r
+:100530001D92A23FB107E1F70E94DF090C94F3235B\r
+:100540000C940000CF93DF93EC01662319F0613027\r
+:1005500079F031C08A818823C9F082E00E94561167\r
+:100560008D81982F907F71F080FD0CC086E21BC0BA\r
+:100570008A818823D9F082E00E9456118D81982FBC\r
+:10058000907F71F48D818F708D8315C08D81807FF8\r
+:1005900019F086E20E94071182E00E945D110BC0F3\r
+:1005A00080FDF0CF87E20E943F1005C08D81807FE3\r
+:1005B00099F387E2EFCF80E090E0DF91CF9108954B\r
+:1005C00008956091B1017091B2018091B301909151\r
+:1005D000B4010E943D1B56985E9825982D98269848\r
+:1005E0002E9827982F98813019F0823021F00895A5\r
+:1005F000259A2D9A0895269A2E9A08950C94E10230\r
+:1006000056985E9825982D9826982E9827982F987A\r
+:100610008FEF90E0909389008093880090938B00F7\r
+:1006200080938A0090938D0080938C00259A2D9A58\r
+:100630002FEF80E792E0215080409040E1F700C02A\r
+:100640000000269A2E9A2FEF80E792E021508040FA\r
+:100650009040E1F700C00000279A2F9A2FEF80E723\r
+:1006600092E0215080409040E1F700C000002598C2\r
+:100670002D982FEF80E792E0215080409040E1F7E5\r
+:1006800000C0000026982E982FEF80E792E02150BE\r
+:1006900080409040E1F700C0000027982F985698BE\r
+:1006A0005E9825982D9826982E9827982F9808952B\r
+:1006B00089EA8093800089E08093810024982C98B7\r
+:1006C0003F988AB18F748AB96E98479A8BB1806BC4\r
+:1006D0008BB9769A0E9400030C94E00280E280932A\r
+:1006E00000018091340181110EC00E94BD0381E0A0\r
+:1006F000809334012FEF83ED90E3215080409040B0\r
+:10070000E1F700C0000080E40E94C3038093000171\r
+:1007100081112EC00E94ED0380930001811128C039\r
+:100720000E94ED0380930001811122C08FE30E949B\r
+:10073000ED038093000181111BC00E94E50380E45A\r
+:100740000E94C30380930001811112C08CE00E94BB\r
+:10075000ED038093000181110BC00E94ED03809393\r
+:100760000001811105C08FE30E94ED038093000119\r
+:100770000E94E5038091000108951092B9008AE07B\r
+:100780008093B800089594EA9093BC009091BC00C7\r
+:1007900097FFFCCF9091B900987F983021F090316D\r
+:1007A00011F081E008958093BB0084E88093BC0041\r
+:1007B0008091BC0087FFFCCF8091B900887F883191\r
+:1007C00011F0803471F780E0089584E98093BC00D3\r
+:1007D0008091BC0084FDFCCF08958093BB0084E829\r
+:1007E0008093BC008091BC0087FFFCCF9091B90042\r
+:1007F000987F81E0983209F480E0089584E880933E\r
+:10080000BC008091BC0087FFFCCF8091BB000895A5\r
+:1008100080910001811115C080E40E94C303809380\r
+:10082000000181110CC082E10E94ED038093000160\r
+:10083000811105C08FEF0E94ED03809300010E949B\r
+:10084000E50384B1807F84B985B1807F85B98AB1A1\r
+:10085000837F8AB98BB1837F8BB93E984698089580\r
+:100860000E946E03809300010E94080480B38C7084\r
+:1008700080BB81B3836F81BBE4E4F1E0A6E3B1E028\r
+:1008800011921D9281E0E235F807D1F70C945803DC\r
+:10089000BF92CF92DF92EF92FF920F931F93CF936D\r
+:1008A000DF9380910001882379F0809135018F5F7B\r
+:1008B00080933501811108C00E946E03809300016E\r
+:1008C000811102C00E94000306E311E0C0E0D0E005\r
+:1008D000DD24D39482E0C82EEE24E394F12CC730BB\r
+:1008E00000F580910001811162C080E40E94C30381\r
+:1008F00080930001811112C082E10E94ED03809378\r
+:10090000000181110BC0C7010C2E01C0880F0A9491\r
+:10091000EAF780950E94ED03809300010E94E503B1\r
+:1009200046C0CA30A1F028F4C83059F0C93061F08F\r
+:1009300005C0CC3089F070F0CD3089F0209A28982D\r
+:1009400010C0219A29980DC0229A2A980AC0239A89\r
+:100950002B9807C0529A01C0539A5B9802C03E9AE6\r
+:100960004698E0EAEA95F1F78FB179995AC092E09A\r
+:1009700081708D25892B7C9B02C090E001C094E0A2\r
+:10098000892B7D9B02C090E001C098E0892B7E9B63\r
+:1009900002C090E001C090E1892B9FB19095991F12\r
+:1009A0009927991F9295990F907E892B0FC080915E\r
+:1009B000000181114BC080E40E94C30380930001B9\r
+:1009C000882389F1B12C0E94E5038B2DF8019081D9\r
+:1009D000981719F08083C09201010E9408042196A3\r
+:1009E0000F5F1F4FCE30D10509F079CF8091010103\r
+:1009F000882371F1815080930101882339F08FE9B8\r
+:100A00009FE00197F1F700C0000022C0A4E4B1E02C\r
+:100A1000E6E3F1E081918D9391E0E434F907D1F7B9\r
+:100A200017C090E0A5CF83E10E94ED038093000101\r
+:100A30008111C8CF81E40E94C3038093000181111A\r
+:100A4000C1CF0E94FE03B82EB094BDCF80E0BECFD0\r
+:100A50000E94FE0281E0DF91CF911F910F91FF90E4\r
+:100A6000EF90DF90CF90BF900895E82FF0E0EC5B1F\r
+:100A7000FE4F808108950895089596E0799FF001D2\r
+:100A8000112494E5899FE00DF11D1124E60FF11D5D\r
+:100A9000EE0FFF1FEE5EFE4F859194910895880F33\r
+:100AA000991F86579040FC01859194910895880F75\r
+:100AB000991F865F9E4FFC018591949108950F9335\r
+:100AC0001F93CF93DF93EC01811520E3920730F55C\r
+:100AD000811530E2930708F0B1C08B3B910588F493\r
+:100AE000883A910508F058C0853A910508F049C048\r
+:100AF0008430910508F043C08130910509F4C2C1EA\r
+:100B0000BEC18F3F910509F0D0F5803F910508F0F7\r
+:100B100092C0805E9109089790F1B1C1C11581E53D\r
+:100B2000D807A8F4C23090E5D90708F09FC0C115D6\r
+:100B300020E5D20709F486C008F092C0C11580E410\r
+:100B4000D80708F09CC18E011127106CDCC1C115BB\r
+:100B500090E8D90758F4C11520E7D20708F08BC1F7\r
+:100B6000C11530E6D30708F423C189C1C11580E956\r
+:100B7000D80708F084C18E011F70106AC4C18E01AD\r
+:100B8000C2C1853A910509F480C1863A910509F4FC\r
+:100B90007FC103E810E4B7C1883A910509F47BC12D\r
+:100BA000893A910509F47AC18A3A910509F479C123\r
+:100BB0008B3A910509F478C18C3A910509F477C113\r
+:100BC0008D3A910509F476C1803B910509F475C110\r
+:100BD0008E3A910509F474C18F3A910509F473C1F5\r
+:100BE000813B910509F472C1823B910509F471C101\r
+:100BF000833B910509F470C1843B910509F46FC1F1\r
+:100C0000853B910509F46EC1863B910509F46DC1E0\r
+:100C1000873B910509F46CC1883B910509F46BC1D0\r
+:100C2000893B910509F46AC18A3B910509F069C1C4\r
+:100C30000AE216E468C18C01106565C19F700E94CC\r
+:100C4000570562C10E9419149FEF24E33CE09150C4\r
+:100C500020403040E1F700C000000E94621C53C1F8\r
+:100C60008091D30181608093D3014DC10E940A1EFF\r
+:100C7000811102C00E94F01D0E94271E90E09093F7\r
+:100C8000F2018093F101C23080E5D80721F4809110\r
+:100C9000F101816086C0C43090E5D90721F48091CC\r
+:100CA000F10182607EC0C63020E5D20721F4809138\r
+:100CB000F101846076C0C83030E5D30719F4809123\r
+:100CC000F10127C0CA3080E5D80721F48091F101F5\r
+:100CD000806167C0CC3090E5D90721F48091F101A3\r
+:100CE00080625FC0CE3020E5D20721F48091F1010F\r
+:100CF000806457C0C03130E5D30721F48091F10101\r
+:100D000080684FC0C23180E5D80729F48091F10195\r
+:100D10008460886046C0C33090E5D90721F4809193\r
+:100D2000F1018E7F3EC0C53020E5D20721F48091CD\r
+:100D3000F1018D7F36C0C73030E5D30721F48091B3\r
+:100D4000F1018B7F2EC0C93080E5D80719F480915E\r
+:100D5000F10126C0CB3090E5D90721F48091F10153\r
+:100D60008F7E1FC0CD3020E5D20721F48091F101A4\r
+:100D70008F7D17C0CF3030E5D30721F48091F1018A\r
+:100D80008F7B0FC0C13180E5D80721F48091F1013C\r
+:100D90008F7707C0C331D04531F48091F1018B7F4B\r
+:100DA000877F8093F1018091F1010E942B1EABC0DF\r
+:100DB0008D2F99278F70992781309105E9F48E0145\r
+:100DC000037011279C0102C0220F331F0A95E2F71E\r
+:100DD00089011C68CE01E4E0880F991FEA95E1F7CC\r
+:100DE00088279370082B192BF3E0CC0FDD1FFA95A1\r
+:100DF000E1F7C076DD272CC08230910529F41C2F45\r
+:100E00000027016F106A7FC08330910561F4CE0125\r
+:100E10008370992701E010E002C0000F111F8A952E\r
+:100E2000E2F71C680EC084309105A9F4CE018370EE\r
+:100E3000992701E010E002C0000F111F8A95E2F728\r
+:100E40001A6863E0CC0FDD1F6A95E1F7C07ED770AA\r
+:100E50000C2B1D2B58C08530910529F41C2F002721\r
+:100E6000046F106A50C0069709F04DC0CF71DD279E\r
+:100E70001C2F002702C08E011F70106244C000E0CA\r
+:100E800010E041C001E010E03EC001E810E43BC0CA\r
+:100E900002E810E438C002EE14E435C009EE14E4B0\r
+:100EA00032C00AEE14E42FC005EB14E42CC006EBAC\r
+:100EB00014E429C007EB14E426C00CEC14E423C0AE\r
+:100EC0000DEC14E420C003E815E41DC00AE815E4A5\r
+:100ED0001AC002E915E417C004E915E414C001E2E0\r
+:100EE00016E411C003E216E40EC004E216E40BC0DF\r
+:100EF00005E216E408C006E216E405C007E216E4BF\r
+:100F000002C000E014E4C801DF91CF911F910F915E\r
+:100F1000089596E0799FF001112494E5899FE00DF2\r
+:100F2000F11D1124E60FF11DEE0FFF1FEE5EFE4FC7\r
+:100F300085919491803E9105E0F4803C910558F5AF\r
+:100F40008133910509F46FC048F48932910509F4A1\r
+:100F500063C08A32910509F46DC072C0893391056E\r
+:100F6000E9F082389105D1F08533910509F44DC03F\r
+:100F700067C0833E910581F138F4803E9105B9F058\r
+:100F8000823E9105D9F05CC0863E910561F1873EB5\r
+:100F90009105A1F155C00E944F0508952091F101DE\r
+:100FA00020FD02C021FF4CC080EE90E049C080913E\r
+:100FB000F10180FFF9CF89E390E042C08091F10117\r
+:100FC00082FF0EC08091F10184FF03C080E090E0B9\r
+:100FD00037C083EE90E034C08091F10182FFF2CF00\r
+:100FE00082EE90E02DC08091F10183FF0BC08091D3\r
+:100FF000F10184FDEBCF87EE90E022C08091F101FA\r
+:1010000083FFF5CF86EE90E01BC08091F10185FF54\r
+:1010100007C089E290E014C08091F10185FFF9CF0B\r
+:1010200085E390E00DC08091F10186FF07C08AE260\r
+:1010300090E006C08091F10186FFF9CF81E390E056\r
+:101040000E945F05089508950C9423088091620121\r
+:101050000895CF93DF9300D01F92CDB7DEB72091D4\r
+:10106000E801243019F523E029839B838A832093A8\r
+:10107000E9008FEF9091E800815095FD06C095ED55\r
+:101080009A95F1F700008111F5CF8091E80085FF76\r
+:101090000DC040E050E063E070E0CE0101960E9498\r
+:1010A0008A0A8091E8008E778093E8000F900F9075\r
+:1010B0000F90DF91CF910895CF93DF9300D01F92CF\r
+:1010C000CDB7DEB72091E801243021F522E0298355\r
+:1010D0009B838A8383E08093E9008FEF9091E800FF\r
+:1010E000815095FD06C095ED9A95F1F700008111AC\r
+:1010F000F5CF8091E80085FF0DC040E050E063E04F\r
+:1011000070E0CE0101960E948A0A8091E8008E77F5\r
+:101110008093E8000F900F900F90DF91CF9108958A\r
+:101120002091E8012430F1F422E02093E9002FEF30\r
+:101130003091E800215035FD06C035ED3A95F1F7C4\r
+:1011400000002111F5CF2091E80025FF0BC040E001\r
+:1011500050E065E070E00E948A0A8091E8008E7796\r
+:101160008093E8000895CF93DF93EC018091E8012C\r
+:10117000843009F046C090910C019923D9F09091E8\r
+:101180000D019923B9F08093E9008FEF9091E80069\r
+:10119000815095FD06C095E19A95F1F70000811107\r
+:1011A000F5CF8091E80085FF2CC040E050E060E181\r
+:1011B00070E017C081E08093E9008FEF9091E80024\r
+:1011C000815095FD06C095ED9A95F1F700008111CB\r
+:1011D000F5CF8091E80085FF14C040E050E068E062\r
+:1011E00070E0CE010E948A0A8091E8008E77809399\r
+:1011F000E80080E1FE01A2E5B1E001900D928A9540\r
+:10120000E1F7DF91CF9108958091E701811109C045\r
+:101210000E941C0C0E94790C8091E20084608093F3\r
+:10122000E20008951092E7010895089508950C943E\r
+:10123000D01B42E061EC81E00E94960B42E061EC41\r
+:1012400082E00E94960B42E061EC83E00E94960BE4\r
+:1012500042E161EC84E00C94960B8091EA018330CA\r
+:1012600009F455C030F4813071F0823009F48EC039\r
+:1012700008958A3009F47AC08B3009F460C089304F\r
+:1012800009F09CC020C08091E901813A09F096C024\r
+:101290008091E800877F8093E8008091ED01909134\r
+:1012A000EE01892B21F060E080E090E003C060E176\r
+:1012B00082E591E070E00E94D30A8091E8008B778C\r
+:1012C0008093E80008958091E901813209F076C0A9\r
+:1012D0008091ED019091EE01009719F0039709F0CC\r
+:1012E0006DC08091E800877F8093E8008091E800DE\r
+:1012F00082FD05C08091E8018111F8CF5FC0809127\r
+:10130000F100809362018091E8008B7753C0809157\r
+:10131000E901813A09F052C08091ED019091EE010E\r
+:10132000892B09F04BC08091E800877F8093E8000B\r
+:101330008091E80080FFFCCF80910C0136C0809145\r
+:10134000E9018132D9F58091ED019091EE01892B6F\r
+:10135000A9F58091E800877F8093E8000E94CB0B7D\r
+:101360008091EB0180930C010C9419148091E90198\r
+:10137000813221F58091E800877F8093E8000E9408\r
+:10138000CB0B8091EC018093630108958091E9017A\r
+:10139000813AA1F48091E800877F8093E8008091F2\r
+:1013A000E80080FFFCCF809163018093F100809181\r
+:1013B000E8008E778093E8000C94CB0B089584B7F7\r
+:1013C000877F84BF88E10FB6F89480936000109205\r
+:1013D00060000FBE90E080E80FB6F8948093610043\r
+:1013E000909361000FBE0E94650F0E941C0C0E942A\r
+:1013F000790C8091E20084608093E20078940E94EE\r
+:10140000F40E0E94670F82E091E00E94110F80911C\r
+:10141000E801853069F40E94901B8091E6018823E1\r
+:10142000B1F30E94BB1B882391F30E94740AEFCF93\r
+:101430000E946D0FECCF292F332723303105A9F0FF\r
+:101440006CF42130310509F442C02230310509F035\r
+:1014500043C08DE690E02EE333E042C021323105F7\r
+:10146000C9F02232310519F137C099278130910531\r
+:1014700041F08230910541F0892B71F5EAE3F3E008\r
+:1014800005C0E2E2F3E002C0EAE0F3E0849190E01C\r
+:101490009F0126C0643000F5E62FF0E0EE0FFF1F3D\r
+:1014A000EE5DFE4F2081318189E090E019C064300B\r
+:1014B00098F4E62FF0E0DF01AA0FBB1FA65EBE4F37\r
+:1014C0002D913C91EA5EFE4F808190E009C082E15F\r
+:1014D00090E02BEA33E004C080E090E020E030E0D0\r
+:1014E000FA0131832083089580E189BD82E189BDBD\r
+:1014F00009B400FEFDCF8091D8008F7D8093D80085\r
+:101500008091E00082608093E0008091E00081FDA6\r
+:10151000FCCF0895CF92DF92EF92FF920F931F932B\r
+:10152000CF93DF937C018B01EA010E94EC0B8111C8\r
+:1015300031C0209731F088819981081B190BE80E82\r
+:10154000F91EC12CD12C0115110519F18091E8006B\r
+:1015500085FD14C08091E8008E778093E800209785\r
+:1015600041F0888199818C0D9D1D9983888385E048\r
+:1015700011C00E94EC0B882331F30CC0F70181915C\r
+:101580007F018093F10001501109FFEFCF1ADF0AAC\r
+:10159000DACF80E0DF91CF911F910F91FF90EF9014\r
+:1015A000DF90CF9008952091EF013091F001261740\r
+:1015B000370748F06115710539F42091E8002E775E\r
+:1015C0002093E80001C0B901FC0120E0611571051C\r
+:1015D000B9F18091E801882309F440C0853009F40D\r
+:1015E0003FC08091E80083FD3DC08091E80082FF0C\r
+:1015F00006C08091E80082FF26C080E008958091B7\r
+:10160000E80080FFE3CF2091F3008091F20090E0AA\r
+:10161000922B6115710551F08830910538F42191B4\r
+:101620002093F100615071090196F3CF21E00897F2\r
+:1016300009F020E08091E8008E778093E800C6CF23\r
+:101640002111C7CFD6CF8091E801882339F08530AA\r
+:1016500039F08091E80083FFCCCF04C082E0089588\r
+:1016600083E0089581E008952091EF013091F00129\r
+:101670002617370748F06115710539F42091E80005\r
+:101680002E772093E80001C0B901FC0120E061152C\r
+:101690007105C1F18091E801882309F441C08530CA\r
+:1016A00009F440C08091E80083FD3EC08091E800CD\r
+:1016B00082FF06C08091E80082FF27C080E0089585\r
+:1016C0008091E80080FFE3CF2091F3008091F20049\r
+:1016D00090E0922B6115710559F08830910540F426\r
+:1016E00024912093F1003196615071090196F2CF57\r
+:1016F00021E0089709F020E08091E8008E77809340\r
+:10170000E800C5CF2111C6CFD5CF8091E80188234D\r
+:1017100039F0853039F08091E80083FFCBCF04C0E9\r
+:1017200082E0089583E0089581E00895982F97302E\r
+:1017300058F59093E900981739F07091EC002091DA\r
+:10174000ED005091F00003C0242F762F50E021FFD0\r
+:1017500019C03091EB003E7F3093EB003091ED00EB\r
+:101760003D7F3093ED003091EB0031603093EB0022\r
+:101770007093EC002093ED005093F0002091EE0068\r
+:1017800027FF07C09F5FD3CF8F708093E90081E070\r
+:10179000089580E008958091E90187FD05C080915A\r
+:1017A000E80080FF0EC012C08091E80082FD05C0F5\r
+:1017B0008091E8018111F8CF08958091E8008B773E\r
+:1017C00008C08091E8018111EACF08958091E80076\r
+:1017D0008E778093E80008958091E4009091E50071\r
+:1017E00045E62091EC0020FF21C02091E80020FD7B\r
+:1017F00021C02091E801222389F0253089F0209131\r
+:10180000EB0025FD0FC02091E4003091E500281782\r
+:10181000390739F3415041F0C901E3CF82E008951F\r
+:1018200083E0089581E0089584E008952091E80020\r
+:1018300022FFDFCF80E008950E948A0C0E94920C64\r
+:10184000E0EEF0E0808181608083E8EDF0E080816F\r
+:101850008F77808319BCA7EDB0E08C918E7F8C933D\r
+:1018600080818F7E80831092E70108950F931F93EC\r
+:10187000CF93DF930E948A0C0E94920CC8EDD0E0B7\r
+:1018800088818F77888388818068888388818F7D2D\r
+:10189000888319BC1092E8011092E4011092E601CD\r
+:1018A0001092E50100EE10E0F80180818B7F8083CB\r
+:1018B00088818160888342E060E080E00E94960B2E\r
+:1018C000E1EEF0E080818E7F8083E2EEF0E08081C7\r
+:1018D00081608083808188608083F80180818E7F31\r
+:1018E0008083888180618883DF91CF911F910F91E0\r
+:1018F0000895E8EDF0E080818F7E8083E7EDF0E0F1\r
+:1019000080818160808384E082BF81E08093E701F1\r
+:101910000C94360CE8EDF0E080818E7F808310928D\r
+:10192000E20008951092DA001092E10008951F92EB\r
+:101930000F920FB60F9211242F933F934F935F9303\r
+:101940006F937F938F939F93AF93BF93EF93FF9387\r
+:101950008091E10082FF0BC08091E20082FF07C00E\r
+:101960008091E1008B7F8093E1000E94F30E8091D3\r
+:10197000DA0080FF1FC08091D80080FF1BC08091DB\r
+:10198000DA008E7F8093DA008091D90080FF0DC04D\r
+:1019900080E189BD82E189BD09B400FEFDCF81E00F\r
+:1019A0008093E8010E94040905C019BC1092E80167\r
+:1019B0000E9412098091E10080FF19C08091E2002D\r
+:1019C00080FF15C08091E2008E7F8093E2008091BD\r
+:1019D000E20080618093E2008091D8008062809371\r
+:1019E000D80019BC85E08093E8010E941609809117\r
+:1019F000E10084FF30C08091E20084FF2CC080E1D0\r
+:101A000089BD82E189BD09B400FEFDCF8091D80077\r
+:101A10008F7D8093D8008091E1008F7E8093E100DC\r
+:101A20008091E2008F7E8093E2008091E2008160ED\r
+:101A30008093E2008091E401882311F084E007C0E4\r
+:101A40008091E30087FF02C083E001C081E08093C2\r
+:101A5000E8010E9417098091E10083FF29C080916D\r
+:101A6000E20083FF25C08091E100877F8093E10041\r
+:101A700082E08093E8011092E4018091E1008E7F82\r
+:101A80008093E1008091E2008E7F8093E20080915C\r
+:101A9000E20080618093E20042E060E080E00E942A\r
+:101AA000960B8091F00088608093F0000E941509E9\r
+:101AB000FF91EF91BF91AF919F918F917F916F9126\r
+:101AC0005F914F913F912F910F900FBE0F901F90FC\r
+:101AD00018951F920F920FB60F9211242F933F93D8\r
+:101AE0004F935F936F937F938F939F93AF93BF9326\r
+:101AF000CF93EF93FF93C091E900CF708091EC00FA\r
+:101B00001092E9008091F000877F8093F000789434\r
+:101B10000E94A50D1092E9008091F00088608093EA\r
+:101B2000F000C093E900FF91EF91CF91BF91AF9189\r
+:101B30009F918F917F916F915F914F913F912F91E5\r
+:101B40000F900FBE0F901F9018951F93CF93DF93A8\r
+:101B5000CDB7DEB7AA970FB6F894DEBF0FBECDBFE4\r
+:101B6000E9EEF1E08091F100819321E0E13FF2079D\r
+:101B7000C9F70E942D098091E80083FF1CC12091C4\r
+:101B8000E9013091EA01832F90E08A30910508F055\r
+:101B900012C1FC01EA5AFF4F0C94A323203881F0B4\r
+:101BA000223809F008C18091ED018F708093E9001F\r
+:101BB0008091EB0085FB882780F91092E90006C030\r
+:101BC0008091E5019091E601911182609091E80089\r
+:101BD000977F9093E8008093F1001092F100C5C0C8\r
+:101BE000822F8D7F09F0E7C0222319F0223061F0A7\r
+:101BF000E2C08091EB01813009F0DDC0333009F0A3\r
+:101C000080E08093E60128C08091EB01811124C01F\r
+:101C10002091ED012F7009F4CEC02093E90080914E\r
+:101C2000EB0080FF19C08091EB00333011F480622B\r
+:101C300011C080618093EB0081E090E0022E01C032\r
+:101C4000880F0A94EAF78093EA001092EA008091E4\r
+:101C5000EB0088608093EB001092E9008091E8002F\r
+:101C6000877F86C02111A7C01091EB011F7780915B\r
+:101C7000E3008078812B8093E3008091E800877FE8\r
+:101C80008093E8000E94CB0B8091E80080FFFCCF9E\r
+:101C90008091E30080688093E300112311F083E0DA\r
+:101CA00001C082E08093E80186C02058223008F00D\r
+:101CB00082C08091EB019091EC018C3D23E0920772\r
+:101CC00079F583E08A838AE289834FB7F894DE014D\r
+:101CD000139620E03EE051E2E32FF0E050935700EE\r
+:101CE000E49120FF03C0E295EF703F5FEF708E2F0D\r
+:101CF00090E0EA3010F0C79601C0C0968D939D9396\r
+:101D00002F5F243149F74FBF8091E800877F809390\r
+:101D1000E8006AE270E0CE0101960E94D30A14C086\r
+:101D2000AE014F5F5F4F6091ED010E941B0A00976B\r
+:101D300009F441C02091E800277F2093E800BC010E\r
+:101D400089819A810E94340B8091E8008B7780937F\r
+:101D5000E80031C0203879F58091E800877F8093D2\r
+:101D6000E8008091E4018093F1008091E8008E7793\r
+:101D70008093E8000E94CB0B1EC021111CC09091E3\r
+:101D8000EB019230C0F48091E800877F8093E800F7\r
+:101D90009093E4010E94CB0B8091E401811104C077\r
+:101DA0008091E30087FF02C084E001C081E080935E\r
+:101DB000E8010E9419098091E80083FF0AC0809120\r
+:101DC000E800877F8093E8008091EB008062809339\r
+:101DD000EB00AA960FB6F894DEBF0FBECDBFDF9121\r
+:101DE000CF911F9108950895CF938091E8018823A2\r
+:101DF000B1F08091E9008F709091EC0090FF02C0EB\r
+:101E000090E801C090E0C92FC82B1092E9008091A2\r
+:101E1000E80083FD0E94A50DCF70C093E900CF912B\r
+:101E2000089590936901809368010895E091680195\r
+:101E3000F0916901309721F00190F081E02D099433\r
+:101E400080E00895E0916801F0916901309721F0F8\r
+:101E50000280F381E02D09940895E0916801F091EA\r
+:101E60006901309721F00480F581E02D09940895EF\r
+:101E700020916601309167018217930771F090936A\r
+:101E8000670180936601E0916801F09169013097E4\r
+:101E900021F00680F781E02D0994089520916401D6\r
+:101EA000309165018217930771F0909365018093DB\r
+:101EB0006401E0916801F0916901309721F000849C\r
+:101EC000F185E02D0994089508950C94640F0E9403\r
+:101ED000FF1B0E9430040C94C51CCF92DF92EF923E\r
+:101EE000FF920F931F93CF93DF93CDB7DEB72B975E\r
+:101EF0000FB6F894DEBF0FBECDBF0E9448043BE68C\r
+:101F0000E32E31E0F32E00E010E0C02E802F0E947F\r
+:101F10003505F701D1907F01D826B1F40F5F1F4F2F\r
+:101F20000E30110591F78FEF89838A831B820E94FF\r
+:101F3000081C8160782F9D838C8349815A816B8135\r
+:101F40008D810E94101041C09091D30191FF04C077\r
+:101F50008B870E943B058B8520E030E04D2D50E0C3\r
+:101F6000922FBA01022E02C0759567950A94E2F786\r
+:101F700060FF25C02E83CF82EE24E394F12C02C0B3\r
+:101F8000EE0CFF1C9A95E2F790E08E219F2121E054\r
+:101F9000892B09F420E028870E94081C8160782F93\r
+:101FA0009A8789874E815F8168858A850E94101093\r
+:101FB000F801E559FE4F80818E25808306C02F5F92\r
+:101FC0003F4F2630310561F6A9CF0E94A91F10911D\r
+:101FD0006A010E94160F1817A1F00E94160F809335\r
+:101FE0006A012B960FB6F894DEBF0FBECDBFDF910E\r
+:101FF000CF911F910F91FF90EF90DF90CF900C94B5\r
+:1020000024082B960FB6F894DEBF0FBECDBFDF912C\r
+:10201000CF911F910F91FF90EF90DF90CF90089597\r
+:10202000CF93DF93CDB7DEB72B970FB6F894DEBF13\r
+:102030000FBECDBF4F83588769877A878B87DE01B4\r
+:10204000119686E0FD0111928A95E9F785E0FE017F\r
+:10205000379601900D928A95E1F749815A816B81FB\r
+:102060007C818D819E810E94E9162B960FB6F89493\r
+:10207000DEBF0FBECDBFDF91CF9108950895CF93FE\r
+:10208000C82F882309F4C1C0823859F40E94160F62\r
+:1020900081FDBBC089E30E94301A0E94071B89E3BF\r
+:1020A0000CC0833879F40E94160F80FDAEC083E522\r
+:1020B0000E94301A0E94071B83E50E94701ACF917C\r
+:1020C0000C94071B843859F40E94160F82FD9DC0A2\r
+:1020D00087E40E94301A0E94071B87E4EECF8CEF42\r
+:1020E0008C0F813A48F48C2F0E94D52181118DC02C\r
+:1020F0008C2F0E94301AE3CF80E28C0F883048F496\r
+:10210000C77081E001C0880FCA95EAF70E94B41A2F\r
+:10211000D6CF8BE58C0F833078F4C53A29F0C63AD8\r
+:1021200031F482E890E005C081E890E002C083E8E5\r
+:1021300090E0CF910C94380F88E58C0F833108F034\r
+:1021400064C0C83A39F1C93A41F1CA3A49F1CB3AC7\r
+:1021500051F1CC3A59F1CD3A61F1C03B69F1CE3A37\r
+:1021600071F1CF3A79F1C13B81F1C23B89F1C33BB7\r
+:1021700091F1C43B99F1C53BA1F1C63BA9F1C73B25\r
+:10218000B1F1C83BB9F1C93BC1F1CA3BC9F58AE21B\r
+:1021900092E038C082EE90E035C089EE90E032C027\r
+:1021A0008AEE90E02FC085EB90E02CC086EB90E0AB\r
+:1021B00029C087EB90E026C08CEC90E023C08DEC2A\r
+:1021C00090E020C083E891E01DC08AE891E01AC049\r
+:1021D00082E991E017C084E991E014C081E292E0C5\r
+:1021E00011C083E292E00EC084E292E00BC085E26F\r
+:1021F00092E008C086E292E005C087E292E002C069\r
+:1022000080E090E0CF910C944E0FCF9108958823F9\r
+:1022100009F44BC0823859F40E94160F81FF45C063\r
+:1022200089E30E94301A0E94071B89E30CC083389F\r
+:1022300071F40E94160F80FF38C083E50E94301AA7\r
+:102240000E94071B83E50E94701A0C94071B8438B8\r
+:1022500059F40E94160F82FF28C087E40E94301AAA\r
+:102260000E94071B87E4EFCF9CEF980F913A58F339\r
+:1022700090E2980F983050F4877091E001C0990F68\r
+:102280008A95EAF7892F0E94BA1ADFCF9BE5980F4B\r
+:10229000933020F480E090E00C94380F885A83311A\r
+:1022A00020F480E090E00C944E0F0895882321F0F4\r
+:1022B0000E94B41A0C94071B0895882321F00E94F1\r
+:1022C000BA1A0C94071B08958F929F92AF92BF92F7\r
+:1022D000CF92DF92EF92FF920F931F93CF93DF93F2\r
+:1022E00000D000D01F92CDB7DEB77C0185E0F701AA\r
+:1022F000DE01119601900D928A95E1F7F701D080E9\r
+:1023000011810281B580B2942FE0B2222381348101\r
+:10231000232B39F01F3F39F481E0FFEFDF1203C0B8\r
+:1023200003C081E001C080E080FD5DC20E94CB1946\r
+:10233000882319F082E00E940E1AC7010E943E1005\r
+:10234000D9821A8369817A81802F0E949119182F6E\r
+:10235000C92E0E9445190E94181801110E94D11A15\r
+:102360000E94291A882379F0002369F080E2810F06\r
+:10237000883048F082E00E940E1A0E94291ADD245B\r
+:10238000D394D82601C0D12CEC2DE295EF70F0E06B\r
+:10239000E05AFF4F0C94A3238C2D807F9C2D9F70BF\r
+:1023A000B92E882319F0B29490EFB922002389F056\r
+:1023B000BB2009F4DAC180E2810F883020F48B2D34\r
+:1023C0000E94B41A03C08B2D0E94C41A0E94071BDE\r
+:1023D000CCC1812F0E940711BB2009F4E0C1105E1F\r
+:1023E0008B2D183018F40E94BA1A02C00E94CA1A23\r
+:1023F0000E94071BD4C18C2D807F9C2D9F70A92E1D\r
+:10240000803219F0A29480EFA822112319F0113024\r
+:1024100049F132C0002391F0BB2091F181E0B81264\r
+:1024200004C08A2D0E94E41ABAC192E0B91228C0F1\r
+:102430000E94ED1A8A2D0E94981922C0BB2079F0C3\r
+:10244000E1E0BE1208C00E94B11A8A2109F4A7C1B6\r
+:102450000E949B1904C0F2E0BF1609F4A0C10E94BB\r
+:10246000ED1A12C0002329F081E08B1508F497C102\r
+:1024700007C0B11094C108C0002321F0B11075C18C\r
+:102480008A2DEFC0B11078C18A2DF1C02C2D269570\r
+:102490002695237030E02115310521F021303105DA\r
+:1024A00061F07DC1002321F0812F9C2D937002C02B\r
+:1024B00080E090E00E94380F72C1002321F0812F4C\r
+:1024C0009C2D937002C080E090E00E944E0F67C187\r
+:1024D000812F002319F00E94B11E02C00E94191F13\r
+:1024E0000E949E1F5CC18C2D837009F04FC00111AA\r
+:1024F00056C1212F229526952770220F220F812F5A\r
+:102500008F70882E912CA12CB12C022E04C0880C27\r
+:10251000991CAA1CBB1C0A94D2F714FF10C06FE0D0\r
+:1025200070E080E090E004C0660F771F881F991F5D\r
+:102530002A95D2F7609570958095909503C060E0DC\r
+:1025400070E0CB012C2D269526952370422F50E06C\r
+:102550004230510569F04330510589F068297929E5\r
+:102560008A299B294130510571F00E943D1817C1FD\r
+:10257000682979298A299B290E94571810C10E942D\r
+:102580003D18C501B4010E94231809C1002319F0A8\r
+:102590008C2D817001C08695882309F400C1212FFC\r
+:1025A000229526952770220F220F812F8F70882E5B\r
+:1025B000912CA12CB12C022E04C0880C991CAA1CB1\r
+:1025C000BB1C0A94D2F714FF10C06FE070E080E0EB\r
+:1025D00090E004C0660F771F881F991F2A95D2F7D5\r
+:1025E000609570958095909503C060E070E0CB0198\r
+:1025F0002C2D269526952370422F50E04230510510\r
+:1026000069F04330510589F0682979298A299B2985\r
+:102610004130510571F00E941119C1C06829792912\r
+:102620008A299B290E942B19BAC00E941119C50141\r
+:10263000B4010E94F718B3C0412F50E0FA01E05EE8\r
+:10264000F109E531F10508F08BC0E059FF4F0C941A\r
+:10265000A3231F708C2D8F71002331F00E949018DE\r
+:10266000812F0E9456119BC00E94B118812F0E9499\r
+:102670005D1195C0002339F0B11091C08C2D8F7180\r
+:102680000E94D6188CC091E09B1508F488C0F6CF44\r
+:10269000002339F08C2D8F710E94901880C0002388\r
+:1026A000C9F38C2D8F710E94B11879C0002329F0D5\r
+:1026B0008C2D8F710E947B1872C00E9471186FC0A0\r
+:1026C0000023C9F00E9495190E94BA1A0E94C719E6\r
+:1026D000843029F40E94071A8C2D8F7171C0E1E0BB\r
+:1026E000EB1508F480C01C2D1F71812F0E949018DB\r
+:1026F00063E0812F0EC00E9495190E94B41AF1E088\r
+:10270000FB15D0F40E94071A0E949B1964E08C2DDF\r
+:102710008F710F900F900F900F900F90DF91CF91CE\r
+:102720001F910F91FF90EF90DF90CF90BF90AF90EF\r
+:102730009F908F900C94F71981E00F900F900F905D\r
+:102740000F900F90DF91CF911F910F91FF90EF901D\r
+:10275000DF90CF90BF90AF909F908F900C940E1A07\r
+:10276000002339F0BB2009F495CF812F0E943F1040\r
+:1027700016C0BB2009F495CF812F0E9407110FC00E\r
+:102780004C2D4F70612FC7010E94A2020E94961724\r
+:1027900006C04C2D4F70612FC7010E943C05DD2003\r
+:1027A00011F10E94C71980FD1EC0F70112820E941C\r
+:1027B000C1190E949018C7010E9464110E94C1199A\r
+:1027C0000F900F900F900F900F90DF91CF911F916E\r
+:1027D0000F91FF90EF90DF90CF90BF90AF909F90C0\r
+:1027E0008F900C94B1180F900F900F900F900F9046\r
+:1027F000DF91CF911F910F91FF90EF90DF90CF90DD\r
+:10280000BF90AF909F908F9008950E94D11A0E9420\r
+:10281000E11A0E94A31A0E94071B0E944A200E94EC\r
+:102820009E1F80E090E00E94380F80E090E00C94C2\r
+:102830004E0F0E94C11A0C9405140E948619292F6C\r
+:1028400022952F7030E02C3031054CF42A303105C0\r
+:102850006CF42250310922303105B0F407C02C301D\r
+:10286000310571F02F30310559F00EC0803F31F045\r
+:1028700018F4803E48F402C0843F31F481E00895AA\r
+:1028800093FB882780F9089580E00895CF93DF9324\r
+:1028900000D000D01F92CDB7DEB70F900F900F90F1\r
+:1028A0000F900F90DF91CF910895CF93DF9300D0D9\r
+:1028B00000D000D0CDB7DEB726960FB6F894DEBFB5\r
+:1028C0000FBECDBFDF91CF9108951F93CF93DF93BC\r
+:1028D000C091790116E080917A01C81799F0D0E093\r
+:1028E0001C9FF0011D9FF00D1124E558FE4F408103\r
+:1028F000518162817381848195810E945514219652\r
+:10290000C770E9CFDF91CF911F9108954091AB013E\r
+:102910005091AC016091AD017091AE018091AF0119\r
+:102920009091B0010C945514CF938091B001829591\r
+:102930008F7009F05FC08091AD01882309F45AC0FF\r
+:1029400020917901A0917A016091AB017091AC0165\r
+:102950008091AE019091AF0131E06F3F09F030E01E\r
+:10296000B32FC6E02A1709F445C0009721F07F3F36\r
+:1029700021F44B2F03C041E001C040E030E040FDB6\r
+:1029800035C0C29FF001C39FF00D1124E558FE4FE2\r
+:10299000418174132BC04081641328C042814111CE\r
+:1029A00025C0438154814817590710F441505109FB\r
+:1029B000481B590B483C5105C8F48091B0018F70F9\r
+:1029C00080618093B00186E0829FF001839FF00DCB\r
+:1029D0001124E058FE4F80818F70806180838BEAE4\r
+:1029E00091E00E946411CF910C9465142F5F3F4FCA\r
+:1029F0002770B8CFCF910895CF92DF92EF92FF92D8\r
+:102A00000F931F93CF93DF93CDB7DEB762970FB6C7\r
+:102A1000F894DEBF0FBECDBF8C0185E0F801DE016A\r
+:102A20001D9601900D928A95E1F7D8014C9111966F\r
+:102A30005C91119712966C9112971396ED90FC9001\r
+:102A400014977091AB01E091AC012091AE013091EF\r
+:102A5000AF012115310531F0EF3F31F481E07F3FC7\r
+:102A600019F403C081E001C080E0B82FB170CB2E13\r
+:102A700080FD6CC1D090AD01DD2009F4F5C0F0916E\r
+:102A8000B001E216F30638F0C701821B930B883CB5\r
+:102A9000910548F09BC0209530952E0D3F1D283C98\r
+:102AA000310508F093C08F2F807F09F052C0E513E5\r
+:102AB00014C0741312C0D62E61110FC0FF70F061E4\r
+:102AC000F093B0010E9486148BEA91E00E94641199\r
+:102AD0008091B001F80185836CC1EF2831F05F3F30\r
+:102AE00031F481E04F3F19F403C081E001C080E080\r
+:102AF00080FD03C081E0862701C080E0F82FF170DF\r
+:102B0000FF2E80FF1CC08091790120917A0136E070\r
+:102B1000821709F428C190E0389FF001399FF00D29\r
+:102B20001124E558FE4F7181571306C07081471379\r
+:102B300003C07281671303C001968770E9CFD62E58\r
+:102B4000662309F436C18091B00181608093B001A1\r
+:102B500053C0E51308C0741306C0611104C0D80146\r
+:102B60001596FC93AEC04D875E878D859E856A8BDA\r
+:102B70000E941D146A89882329F1D62E662311F13B\r
+:102B80002091B001822F82958F7090E002970CF413\r
+:102B900060C08091AB019091AC0198878F831986BA\r
+:102BA000FB86EA862C87CE01079651C0E51731F1E6\r
+:102BB0004D875E878D859E856A8B0E941D146A896C\r
+:102BC00081112EC0C8010E946411A4C08F2F807F84\r
+:102BD00069F77E2DF98AE88A89890E9446148BEA72\r
+:102BE00091E00E946411EBEAF1E086E0DF011D92C2\r
+:102BF0008A95E9F70E948614D12CDBC07413D8CFD4\r
+:102C00006111D6CFD8011596FC93C8010E946411BA\r
+:102C1000EBEAF1E086E0DF011D928A95E9F7C9C091\r
+:102C2000D62E662379F22091B001822F82958F7083\r
+:102C300090E0029774F08091AB019091AC019A837F\r
+:102C400089831B82FD82EC822E83CE0101960E9435\r
+:102C5000641186E0F801ABEAB1E001900D928A952B\r
+:102C6000E1F70E9494146FC0E216F30628F0C70142\r
+:102C7000821B930B9C0104C0209530952E0D3F1DA7\r
+:102C8000283C310508F052C0D62E662309F49ACFAD\r
+:102C9000E5132CC074132AC08091B00180FD1DC0C3\r
+:102CA000982F92959F70C9F0D80115968C9315971F\r
+:102CB0009F3039F09F5F9295907F8F70892B15968A\r
+:102CC0008C93C8010E94641186E0F801ABEAB1E080\r
+:102CD00001900D928A95E1F736C086E0F801ABEAE3\r
+:102CE000B1E001900D928A95E1F763C04D875E8750\r
+:102CF0008D859E850E941D14882379F086E0F80159\r
+:102D0000ABEAB1E001900D928A95E1F70E9494142C\r
+:102D10000E948614DD24D3944CC08091B001816060\r
+:102D20008093B001C8010E94641143C07E2DF98ACE\r
+:102D3000E88A89890E944614EBEAF1E086E0DF0127\r
+:102D40001D928A95E9F70E94861433C0662309F420\r
+:102D500039CF4D875E878D859E850E941D148823FF\r
+:102D600009F430CFCBCF4D875E878D859E850E943D\r
+:102D70008619292F22952F7030E0223031052CF44E\r
+:102D80009F7041F0811106C00CC0243031052CF435\r
+:102D90009F7049F4805E883020F0C8010E94641161\r
+:102DA000CF2CDC2C06C0D80115969C91907F91F712\r
+:102DB000F8CF8D2D62960FB6F894DEBF0FBECDBF53\r
+:102DC000DF91CF911F910F91FF90EF90DF90CF9007\r
+:102DD00008951F93CF93DF93CDB7DEB72C970FB62F\r
+:102DE000F894DEBF0FBECDBF4F83588769877A87BF\r
+:102DF0008B879C87CE0107960E94FC148823C1F024\r
+:102E00002F8138858A859B85892B31F03F3F11F0D2\r
+:102E100080E003C02F3FE1F781E0811147C04F817F\r
+:102E2000588569857A858B859C850E9455143EC09E\r
+:102E300086E0FE013796DE01119601900D928A958B\r
+:102E4000E1F7FF81E8854A855B854115510531F041\r
+:102E5000EF3F31F481E0FF3F19F403C081E001C08E\r
+:102E600080E080FD23C020917A0130E0C901019605\r
+:102E7000877099276091790170E086179707F1F1C3\r
+:102E8000F983EA835D834C8396E0929FD001939F00\r
+:102E9000B00D1124A558BE4FFE01319601900D9240\r
+:102EA0009A95E1F780937A010E94651416E080916B\r
+:102EB000790190917A01891779F1189FC001112445\r
+:102EC00085589E4F0E94FC14882331F1E0917901CE\r
+:102ED0001E9FF0011124E558FE4F4081518162810F\r
+:102EE0007381848195810E9455148091790190E0CD\r
+:102EF00001968770992780937901D9CF0E94191480\r
+:102F000010927A0110927901EBEAF1E086E0DF019C\r
+:102F10001D928A95E9F7CACF2C960FB6F894DEBFBA\r
+:102F20000FBECDBFDF91CF911F910895EF92FF9219\r
+:102F30000F931F93CF93DF939C01009709F471C007\r
+:102F4000F12CEE24E394E9012196F9018491843770\r
+:102F500040F4843008F056C0813081F0823021F195\r
+:102F600060C0853709F449C0C0F19CE7980F9037DD\r
+:102F700008F057C08F770E94071146C089010E5F85\r
+:102F80001F4FFE01849190E2980F983050F48770A3\r
+:102F9000FE2D01C0FF0F8A95EAF78F2F0E94D41AE9\r
+:102FA00015C00E943F1014C089010E5F1F4FFE0123\r
+:102FB000849190E2980F983068F48770FE2D01C0DC\r
+:102FC000FF0F8A95EAF78F2F0E94DA1A0E94071BDB\r
+:102FD000E8011AC00E940711FBCF2E5F3F4FFE0190\r
+:102FE000C491CC2341F08FE99FE00197F1F700C035\r
+:102FF0000000C150F6CFE90107C0FE01F490E901DD\r
+:10300000229602C00E943F108F2D882341F0EFE9E5\r
+:10301000FFE03197F1F700C000008150F6CF9E012C\r
+:1030200092CFDF91CF911F910F91FF90EF90089574\r
+:1030300008956093B5017093B6018093B7019093A2\r
+:10304000B8010C9405140F931F930091B5011091D2\r
+:10305000B6012091B7013091B801062B172B282B10\r
+:10306000392B0093B5011093B6012093B70130932B\r
+:10307000B8011F910F910C9405140F931F930091A9\r
+:10308000B5011091B6012091B7013091B801062326\r
+:103090001723282339230093B5011093B6012093F9\r
+:1030A000B7013093B8011F910F910C9405140F9341\r
+:1030B0001F930091B5011091B6012091B701309195\r
+:1030C000B80106271727282739270093B501109341\r
+:1030D000B6012093B7013093B8011F910F910C9462\r
+:1030E00005141092B1011092B2011092B301109226\r
+:1030F000B4010C94051441E050E060E070E004C0BD\r
+:10310000440F551F661F771F8A95D2F74093B10170\r
+:103110005093B2016093B3017093B4010C94051401\r
+:1031200041E050E060E070E004C0440F551F661FAE\r
+:10313000771F8A95D2F78091B1019091B201A09149\r
+:10314000B301B091B401842B952BA62BB72B8093A0\r
+:10315000B1019093B201A093B301B093B4010C9468\r
+:10316000051441E050E060E070E004C0440F551FDA\r
+:10317000661F771F8A95D2F7409550956095709598\r
+:103180008091B1019091B201A091B301B091B401CD\r
+:1031900084239523A623B7238093B1019093B20192\r
+:1031A000A093B301B093B4010C94051441E050E036\r
+:1031B00060E070E004C0440F551F661F771F8A95BA\r
+:1031C000D2F78091B1019091B201A091B301B09179\r
+:1031D000B40184279527A627B7278093B101909340\r
+:1031E000B201A093B301B093B4010C9405140F93F2\r
+:1031F0001F930091B1011091B2012091B301309160\r
+:10320000B401062B172B282B392B0093B1011093F7\r
+:10321000B2012093B3013093B4011F910F910C942C\r
+:1032200005140F931F930091B1011091B2012091E9\r
+:10323000B3013091B40106231723282339230093C7\r
+:10324000B1011093B2012093B3013093B4011F91E7\r
+:103250000F910C9405140F931F930091B1011091DD\r
+:10326000B2012091B3013091B40106271727282716\r
+:1032700039270093B1011093B2012093B301309329\r
+:10328000B4011F910F910C9405140895CF92DF9211\r
+:10329000EF92FF920F931F93CF93DF93EC01C090B7\r
+:1032A000B501D090B601E090B701F090B8018091DF\r
+:1032B000B1019091B201A091B301B091B401C82ABB\r
+:1032C000D92AEA2AFB2A0FE110E0B701A601002E55\r
+:1032D00004C076956795579547950A94D2F740FDB7\r
+:1032E00005C00150110988F780E007C0BE01802F9A\r
+:1032F0000E9489070197A9F3802FDF91CF911F9139\r
+:103300000F91FF90EF90DF90CF900895CF93DF93D0\r
+:10331000EC010E944619BE010E948907DF91CF91FE\r
+:103320000895CB010E94861908958091BE010895E9\r
+:103330008093BE0108951092BE0108950E94081C5A\r
+:103340002091BC013091BD018217930750F00E947B\r
+:10335000081C2091BC013091BD01821B930B9C0184\r
+:103360000AC00E94081C2091BC013091BD0120952B\r
+:103370003095280F391F81E0283B3B4008F480E05E\r
+:1033800008958091BB0185958595859508958091D7\r
+:10339000BB01877008950E94081C2091B9013091EB\r
+:1033A000BA018217930768F00E94081C2091B901A6\r
+:1033B0003091BA01821B930B883B9B4078F480E0EC\r
+:1033C00014C00E94081C2091B9013091BA012095C7\r
+:1033D0003095280F391F283B3B4088F38091BB0173\r
+:1033E00082FB882780F991E089278170089598E011\r
+:1033F000899F90011124622B6093BB010E94901859\r
+:103400000E94081C9093BA018093B901089510920C\r
+:10341000BB011092BA011092B90108954091BB010D\r
+:10342000809584238093BB01982F977089F450E096\r
+:10343000282F332727FD30954217530749F08595EC\r
+:10344000859585950E94B1181092BA011092B90124\r
+:1034500008959091BB01977081E009F480E0089590\r
+:1034600090910C019923D9F090910D019923B9F015\r
+:10347000982F9695969596959F3088F5E0910E0138\r
+:10348000F0910F01E90FF11D877021E030E001C0DC\r
+:10349000220F8A95EAF78181822B818308954091DA\r
+:1034A0000E0150910F0120E030E09FEFFA01E20F92\r
+:1034B000F31F6281681799F09F3F19F4611101C0F1\r
+:1034C000922F2F5F3F4F2E30310581F79F3F39F00C\r
+:1034D000FA01E90FF11D97FDFA9582830895089589\r
+:1034E00090910C019923E1F090910D019923C1F085\r
+:1034F000982F9695969596959F3020F5E0910E0120\r
+:10350000F0910F01E90FF11D877021E030E001C05B\r
+:10351000220F8A95EAF72095818128232183089537\r
+:1035200040910E0150910F0120E030E0FA01E20FCE\r
+:10353000F31F9281981301C012822F5F3F4F2E30EC\r
+:103540003105A1F7089581E090E0E0910E01F0913E\r
+:103550000F01E80FF91F1082019680319105A9F73C\r
+:1035600008958091D20108959091D201982B909363\r
+:10357000D201089580959091D20198239093D20121\r
+:1035800008951092D20108959091D101982B9093B3\r
+:10359000D101089580959091D10198239093D10104\r
+:1035A00008951092D10108959091D001982B909395\r
+:1035B000D001089580959091D00198239093D001E7\r
+:1035C00008951092D00108958093BF010E94081CB5\r
+:1035D0009093BD018093BC0108951092BF01109299\r
+:1035E000BD011092BC01089540910E0150910F0150\r
+:1035F00020E030E080E0FA01E20FF31F91819111A9\r
+:103600008F5F2F5F3F4F2F303105A9F70895E0916D\r
+:103610000E01F0910F018091D2018083E0910E01A3\r
+:10362000F0910F0180819091D101892B8083E091ED\r
+:103630000E01F0910F0180819091D001892B808340\r
+:103640008091BF01882399F00E949E1981110E94E8\r
+:10365000ED1AE0910E01F0910F0180819091BF0170\r
+:10366000892B80830E94F41A81110E94ED1A8091A7\r
+:103670000E0190910F010C94220FCF92DF92EF92E6\r
+:10368000FF920F931F936C01EE24FF24C114D10409\r
+:10369000E104F10421F46B017C0180E001C080E1D0\r
+:1036A00033272F2D1E2D0D2D011511052105310557\r
+:1036B00019F0885F6801790197018601A4E03695C9\r
+:1036C000279517950795AA95D1F70115110521059D\r
+:1036D000310519F08C5F6801790197018601F2E0EC\r
+:1036E0003695279517950795FA95D1F70115110588\r
+:1036F0002105310519F08E5F68017901B701A60136\r
+:103700007695679557954795452B462B472B09F09E\r
+:103710008F5F1F910F91FF90EF90DF90CF900895F2\r
+:103720008091E801843021F11092D40120E488E1F5\r
+:1037300090E00FB6F894A895809360000FBE209398\r
+:10374000600080E00E94240883B7817F846083BF8B\r
+:1037500083B7816083BF7894889583B78E7F83BF5A\r
+:1037600088E10FB6F89480936000109260000FBE5D\r
+:10377000089508950895CF930E94B91B0E944804AC\r
+:103780000E94BA1BC0E08C2F0E943505811105C034\r
+:10379000CF5FCE30C1F780E001C081E0CF910895C6\r
+:1037A0000E9419140E94160F0C9424081F920F9265\r
+:1037B0000FB60F9211248F939F93AF93BF93809175\r
+:1037C000D401811113C08091D5019091D601A091AF\r
+:1037D000D701B091D8014196A11DB11D8093D501AB\r
+:1037E0009093D601A093D701B093D801BF91AF9128\r
+:1037F0009F918F910F900FBE0F901F90189582E0B0\r
+:1038000084BD93E095BD9AEF97BD80936E000895B7\r
+:103810002FB7F8948091D5019091D601A091D7014E\r
+:10382000B091D8012FBF0895CF92DF92EF92FF920F\r
+:103830000F931F932FB7F8944091D5015091D60163\r
+:103840006091D7017091D8012FBF6A017B01EE24EE\r
+:10385000FF248C0120E030E0C016D106E206F3061A\r
+:1038600010F441505109481B590BCA011F910F9187\r
+:10387000FF90EF90DF90CF9008951F920F920FB6B8\r
+:103880000F9211248F939F93AF93BF938091D50193\r
+:103890009091D601A091D701B091D8010196A11DB8\r
+:1038A000B11D8093D5019093D601A093D701B09319\r
+:1038B000D801BF91AF919F918F910F900FBE0F9044\r
+:1038C0001F9018950E941C0CF8942FEF87EA91E640\r
+:1038D000215080409040E1F700C0000087E090EB6D\r
+:1038E000DC018093F2019093F301A093F401B09373\r
+:1038F000F5012CE088E190E00FB6F894A89580934C\r
+:1039000060000FBE20936000FFCFEF92FF920F93F5\r
+:103910001F93CF93DF93E82EF12C8F2D0E94350556\r
+:10392000C0E0D0E0082F10E098010C2E02C03595C1\r
+:1039300027950A94E2F720FD05C02196C630D105EF\r
+:1039400099F709C06C2F7F2D80E00E943D05E81299\r
+:10395000F4CF81E005C0F3948EE0F812DECF80E072\r
+:10396000DF91CF911F910F91FF90EF900895CF932A\r
+:10397000C82F8CE20E94851C882321F08C2FCF91C8\r
+:103980000C94851C80E0CF910895CF930E940A1E6D\r
+:10399000811102C00E94F01DC5E6C15049F00E948D\r
+:1039A00048048FE39CE90197F1F700C00000F5CFD0\r
+:1039B00089E20E94B71C811111C18AE20E94B71CE2\r
+:1039C00081110E94F01D85E00E94B71C81110E94A8\r
+:1039D000621C0E94151E8093D30187E00E94B71CD1\r
+:1039E000882399F18BE10E94B71C882351F09091B4\r
+:1039F000D30191FB882780F921E0822780FB91F990\r
+:103A000022C08EE00E94B71C882351F09091D30110\r
+:103A100092FB882780F921E0822780FB92F913C06E\r
+:103A200080E10E94B71C9091D301882341F093FB61\r
+:103A3000882780F921E0822780FB93F904C0892F31\r
+:103A4000809580FB90F99093D3018091D3010E94DF\r
+:103A5000191E0E94271E8093F10180EE0E94B71C60\r
+:103A6000882341F08091F101982F909590FB80F987\r
+:103A70008093F10189E30E94B71C882359F090914B\r
+:103A8000F10191FB882780F921E0822780FB91F9E1\r
+:103A90009093F10182EE0E94B71C882359F0909117\r
+:103AA000F10192FB882780F921E0822780FB92F9BF\r
+:103AB0009093F10186EE0E94B71C882359F09091F3\r
+:103AC000F10193FB882780F921E0822780FB93F99D\r
+:103AD0009093F10183EE0E94B71C882359F09091D6\r
+:103AE000F10194FB882780F921E0822780FB94F97B\r
+:103AF0009093F10185E30E94B71C882359F09091BF\r
+:103B0000F10195FB882780F921E0822780FB95F958\r
+:103B10009093F10181E30E94B71C882359F09091A2\r
+:103B2000F10196FB882780F921E0822780FB96F936\r
+:103B30009093F10181E10E94B71C882359F0909184\r
+:103B4000F10197FB882780F921E0822780FB97F914\r
+:103B50009093F1018091F1010E942B1E8091F1015F\r
+:103B600087FB882780F980930D0187E20E94B71CAC\r
+:103B7000C82F8EE10E94B71C8111C2608FE10E94A4\r
+:103B8000B71C8111C46080E20E94B71C8111C8601B\r
+:103B900081E20E94B71C8111C06182E20E94B71CC1\r
+:103BA0008111C06283E20E94B71C8111C06484E26B\r
+:103BB0000E94B71C882311F0C06802C0CC2329F0F2\r
+:103BC0008C2F0E94221E6C2F03C00E941E1E682F85\r
+:103BD00070E080E090E0CF910C941918CF91089597\r
+:103BE0006DEE7EEF80E090E00E94DD2360E082E0F9\r
+:103BF00090E00E94CB2360E083E090E00E94CB2322\r
+:103C000060E084E090E00E94CB2360E085E090E0FB\r
+:103C10000C94CB2380E090E00E94C52321E08D3EF0\r
+:103C20009E4F09F020E0822F089582E090E00C94EE\r
+:103C3000BD23682F82E090E00C94CB2383E090E0DA\r
+:103C40000C94BD23682F83E090E00C94CB2384E098\r
+:103C500090E00C94BD23682F84E090E00C94CB237B\r
+:103C60008091DB0180FF0BC06091130185E0689FAC\r
+:103C7000B001112475956795759567952AC081FFE8\r
+:103C800009C06091130185E0689FB001112475950A\r
+:103C900067951FC082FF07C06091130185E0689F90\r
+:103CA000B001112416C04091DC014423C9F0609199\r
+:103CB0001201461788F72091130185E0289F900193\r
+:103CC0001124429FC001439F900D112470E00E9477\r
+:103CD0008F236038710540F46115710539F002C019\r
+:103CE00065E070E0862F08958FE7089581E00895DC\r
+:103CF0008091DB0180FF08C06091110170E0759533\r
+:103D000067957595679521C081FF06C06091110187\r
+:103D100070E07595679519C082FF04C0609111012C\r
+:103D200070E010C08091DC018823C1F06091100127\r
+:103D30008617A0F790911101989FC001112470E09F\r
+:103D40000E948F236038710528F46115710521F0F8\r
+:103D5000862F08958FE7089581E0089561E070E06F\r
+:103D6000F4CF803F21F40E94301E819504C0813F32\r
+:103D700029F40E94301E8093DF010895823F21F4D0\r
+:103D80000E94301E819504C0833F29F40E94301E9A\r
+:103D90008093DE010895893F19F40E94781E05C0C2\r
+:103DA0008A3F31F40E94781E81958093E001089546\r
+:103DB0008B3F21F40E94781E819504C08C3F29F42A\r
+:103DC0000E94781E8093E1010895843F21F4809140\r
+:103DD000DD01816017C0853F21F48091DD018260A3\r
+:103DE00011C0863F21F48091DD0184600BC0873FC4\r
+:103DF00021F48091DD01886005C0883F31F4809115\r
+:103E0000DD0180618093DD0108958D3F21F4809173\r
+:103E1000DB0181600BC08E3F21F48091DB01826069\r
+:103E200005C08F3F29F48091DB0184608093DB0122\r
+:103E30000895803F39F48091DF0187FF6CC01092B4\r
+:103E4000DF0169C0813F29F48091DF011816BCF3BE\r
+:103E500062C09091DE01823F29F497FF5CC010920E\r
+:103E6000DE0159C0833F19F41916CCF354C0893FC1\r
+:103E700041F48091E00118160CF04DC01092E00161\r
+:103E80004AC08A3F29F48091E00187FF44C0F6CF01\r
+:103E90008B3F39F48091E10187FF3DC01092E10131\r
+:103EA0003AC08C3F29F48091E1011816BCF333C06D\r
+:103EB000843F21F48091DD018E7F17C0853F21F47E\r
+:103EC0008091DD018D7F11C0863F21F48091DD015D\r
+:103ED0008B7F0BC0873F21F48091DD01877F05C078\r
+:103EE000883F31F48091DD018F7E8093DD0113C026\r
+:103EF0008D3F21F48091DB018E7F0BC08E3F21F43A\r
+:103F00008091DB018D7F05C08F3F29F48091DB011B\r
+:103F10008B7F8093DB018091DE0181110EC0809147\r
+:103F2000DF0181110AC08091E001811106C08091FA\r
+:103F3000E101811102C01092DC0108958DED91E044\r
+:103F40000E942D0F0E94081C9093DA018093D901E2\r
+:103F500008951F93CF93DF938091D9019091DA0157\r
+:103F60000E94141C4091DC01442321F02091140193\r
+:103F700030E006C0209115015AE0259F90011124E0\r
+:103F80008217930708F482C08091DE011091DF014F\r
+:103F9000D091E001C091E101811107C0111105C06C\r
+:103FA000D11103C0CC2309F471C04F3F19F04F5F0A\r
+:103FB0004093DC01181624F40E94301E8093DE0129\r
+:103FC0008091DE0187FF05C00E94301E819580939D\r
+:103FD000DE01111624F40E94301E8093DF018091CF\r
+:103FE000DF0187FF05C00E94301E81958093DF01AD\r
+:103FF0006091DE01662339F11091DF01112319F17F\r
+:10400000772767FD7095872F972F0E94A02223E3C3\r
+:1040100033E343E35FE30E9404230E946D22609335\r
+:10402000DE01612F772767FD7095872F972F0E94FC\r
+:10403000A02223E333E343E35FE30E9404230E94CF\r
+:104040006D226093DF011D1624F40E94781E809378\r
+:10405000E0018091E00187FF05C00E94781E8195F4\r
+:104060008093E0011C1624F40E94781E8093E101E5\r
+:104070008091E10187FF05C00E94781E81958093A1\r
+:10408000E101DF91CF911F910C949E1FDF91CF91A1\r
+:104090001F910895EDEDF1E085E0DF011D928A9515\r
+:1040A000E9F71092DC011092DB010895833081F171\r
+:1040B00028F4813059F08230D1F00895853009F428\r
+:1040C00049C0B8F1863009F456C008952091150111\r
+:1040D000862F90E0820F911D8F3F910520F4620F93\r
+:1040E0006093150108958FEF809315010895209135\r
+:1040F0001401862F90E0820F911D8F3F910520F4CF\r
+:10410000620F6093140108958FEF80931401089556\r
+:1041100020911301862F90E0820F911D8F3F910512\r
+:1041200020F4620F6093130108958FEF80931301C1\r
+:10413000089520911201862F90E0820F911D8F3FEC\r
+:10414000910520F4620F6093120108958FEF809320\r
+:104150001201089520911101862F90E0820F911D88\r
+:104160008F3F910520F4620F6093110108958FEF46\r
+:1041700080931101089520911001862F90E0820F05\r
+:10418000911D8F3F910520F4620F609310010895F7\r
+:104190008FEF809310010895833011F128F481305E\r
+:1041A00049F0823091F00895853081F120F1863018\r
+:1041B000C1F1089580911501681720F4861B809342\r
+:1041C0001501089510921501089580911401681742\r
+:1041D00020F4861B80931401089510921401089511\r
+:1041E00080911301681720F4861B809313010895B2\r
+:1041F00010921301089580911201681720F4861B14\r
+:104200008093120108951092120108958091110176\r
+:10421000681720F4861B80931101089510921101F4\r
+:10422000089580911001681720F4861B8093100177\r
+:1042300008951092100108958B3109F46AC008F5B1\r
+:104240008E3009F470C070F4873009F452C018F44D\r
+:104250008630B9F134C0883009F4A1C08B3009F43C\r
+:104260009EC02DC0813109F479C020F4803109F459\r
+:1042700064C025C0863109F492C0893109F48FC029\r
+:104280001EC0853309F483C060F4873209F47FC00F\r
+:1042900020F48E3108F06DC012C0893209F477C065\r
+:1042A0000EC0833438F48A3308F061C0883309F4CF\r
+:1042B00076C005C0833409F46AC0883461F080E0B8\r
+:1042C00008958091D301817F8E7F8093D30181E017\r
+:1042D0008093E30108950E9419142FEF83ED90E37A\r
+:1042E000215080409040E1F700C000000E94621C15\r
+:1042F00056C09091D301892F8095817080FB90F9F1\r
+:1043000019F09660986027C0997F977F9093D301AA\r
+:1043100046C09091D30191FB882780F921E0822744\r
+:1043200080FB91F913C09091D30192FB882780F90B\r
+:1043300021E0822780FB92F909C09091D30193FB81\r
+:10434000882780F921E0822780FB93F99093D3019D\r
+:10435000882329F191609093D30108950E94191444\r
+:1043600080910D0191E0892780930D0118C027EC01\r
+:1043700001C023EE280F61E070E080E090E004C00F\r
+:10438000660F771F881F991F2A95D2F704C061E036\r
+:1043900070E080E090E00E9419180E94191481E0FA\r
+:1043A000089580E0089580E00895CF93C82F80910C\r
+:1043B000E301813079F018F08230D1F184C0A0910E\r
+:1043C0000E01B0910F018C91813169F0823209F0B8\r
+:1043D0007CC009C0A0910E01B0910F018C91813178\r
+:1043E00011F0823249F48C2F0E94D12181111DC01D\r
+:1043F0008C2F0E941C211AC08C2F0E94D321811166\r
+:1044000014C0C43179F048F4CB3079F0C03109F0F0\r
+:1044100060C082E08093E30108C0C93219F0C8335C\r
+:1044200021F057C01092E30154C081E0817053C065\r
+:10443000C93289F118F5C43171F1A8F4C73009F017\r
+:1044400046C08AE08093150194E19093140193E0B3\r
+:10445000909313018093120188E08093110188E208\r
+:104460008093100134C0CE51C63088F5EC2FF0E0B7\r
+:10447000E65DFE4F80818093E20129C0CE34E9F0F1\r
+:1044800020F4CB3421F56AE013C0C13579F0C23590\r
+:10449000F1F461E00DC08091E201882319F01092DF\r
+:1044A000E20115C081E08093E30115C061E006C020\r
+:1044B0008091E2010E9456200AC06AE08091E201E8\r
+:1044C0000E94CC2004C01092E30180E004C081E08F\r
+:1044D00002C080E0ABCFCF91089504D06894B111B1\r
+:1044E0008DC0089570D088F09F5790F0B92F99270C\r
+:1044F000B751A0F0D1F0660F771F881F991F1AF0EF\r
+:10450000BA95C9F712C0B13081F077D0B1E0089503\r
+:1045100074C0672F782F8827B85F39F0B93FCCF384\r
+:10452000869577956795B395D9F73EF490958095E4\r
+:10453000709561957F4F8F4F9F4F0895E89409C004\r
+:1045400097FB3EF490958095709561957F4F8F4FC6\r
+:104550009F4F9923A9F0F92F96E9BB279395F695DC\r
+:10456000879577956795B795F111F8CFFAF4BB0F5A\r
+:1045700011F460FF1BC06F5F7F4F8F4F9F4F16C0BE\r
+:10458000882311F096E911C0772321F09EE8872F48\r
+:10459000762F05C0662371F096E8862F70E060E004\r
+:1045A0002AF09A95660F771F881FDAF7880F96957D\r
+:1045B000879597F9089557FD9058440F551F59F066\r
+:1045C0005F3F71F04795880F97FB991F61F09F3F00\r
+:1045D00079F087950895121613061406551FF2CF29\r
+:1045E0004695F1DF08C0161617061806991FF1CF79\r
+:1045F00086957105610508940895E894BB276627A0\r
+:104600007727CB0197F908950BD078C069D028F0AF\r
+:104610006ED018F0952309F05AC05FC01124EECF78\r
+:10462000CADFA0F3959FD1F3950F50E0551F629F0D\r
+:10463000F001729FBB27F00DB11D639FAA27F00DFB\r
+:10464000B11DAA1F649F6627B00DA11D661F829F22\r
+:104650002227B00DA11D621F739FB00DA11D621F07\r
+:10466000839FA00D611D221F749F3327A00D611D24\r
+:10467000231F849F600D211D822F762F6A2F112406\r
+:104680009F5750408AF0E1F088234AF0EE0FFF1F59\r
+:10469000BB1F661F771F881F91505040A9F79E3F90\r
+:1046A000510570F014C0AACF5F3FECF3983EDCF3E5\r
+:1046B000869577956795B795F795E7959F5FC1F7CD\r
+:1046C000FE2B880F911D9695879597F9089597F978\r
+:1046D0009F6780E870E060E008959FEF80EC0895A8\r
+:1046E00000240A94161617061806090608950024D1\r
+:1046F0000A9412161306140605060895092E03944B\r
+:10470000000C11F4882352F0BB0F40F4BF2B11F4BE\r
+:1047100060FF04C06F5F7F4F8F4F9F4F089597FBDF\r
+:10472000072E16F4009407D077FD09D00E94A92324\r
+:1047300007FC05D03EF4909581959F4F08957095A4\r
+:1047400061957F4F0895EE0FFF1F0590F491E02DC6\r
+:104750000994AA1BBB1B51E107C0AA1FBB1FA617C8\r
+:10476000B70710F0A61BB70B881F991F5A95A9F71A\r
+:1047700080959095BC01CD010895F999FECF92BD29\r
+:1047800081BDF89A992780B50895A8E1B0E042E08C\r
+:1047900050E00C94E523262FF999FECF92BD81BD00\r
+:1047A000F89A019700B4021639F01FBA20BD0FB66F\r
+:1047B000F894FA9AF99A0FBE08950196272F0E944D\r
+:1047C000CC230C94CB23DC01CB01FC01F999FECF67\r
+:1047D00006C0F2BDE1BDF89A319600B40D92415089\r
+:0A47E0005040B8F70895F894FFCF99\r
+:1047EA0020022608B30890085C0829080101C001C4\r
+:1047FA0028080A03140A3F4D363979042C04F603B3\r
+:10480A00BD035003690382039B03010203040506E7\r
+:04481A000708090082\r
 :00000001FF\r
index 24ff1c6884e592c3cf423cd3999ac50f09e7117c..f4e4f92e0133e0ea8db0c63b9392c7fbe46a11e4 100644 (file)
@@ -7,6 +7,9 @@
 #define SYMB 1 // symbols
 #define MDIA 2 // media keys
 
+#define LSFTO M(0) // Left shift, open parens when tapped
+#define RSFTC M(1) // Right shift, close parens when tapped
+
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 /* Keymap 0: Basic layer
  *
@@ -17,9 +20,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
  * | BkSp   |   A  |   S  |   D  |   F  |   G  |------|           |------|   H  | Alt/J|   K  |   L  |; / L2| LGui/' |
  * |--------+------+------+------+------+------| Hyper|           | Meh  |------+------+------+------+------+--------|
- * | LShift |Z/Ctrl|   X  |   C  |   V  |   B  |      |           |      |   N  |   M  |   ,  |   .  |//Ctrl| RShift |
+ * |LShift/(|Z/Ctrl|   X  |   C  |   V  |   B  |   [  |           |  ]   |   N  |   M  |   ,  |   .  |//Ctrl|RShift/)|
  * `--------+------+------+------+------+-------------'           `-------------+------+------+------+------+--------'
- *   |Grv/L1|  '"  |AltShf| Left | Right|                                       |  Up  | Down |   [  |   ]  | ~L1  |
+ *   |Grv/L1|  '"  |AltShf| Left | Right|                                       |  Up  | Down |   [  |   ]  | -/L1  |
  *   `----------------------------------'                                       `----------------------------------'
  *                                        ,-------------.       ,-------------.
  *                                        | App  | LGui |       | Alt  |Ctrl/Esc|
@@ -36,18 +39,18 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
         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(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),
+        LSFTO,          CTL_T(KC_Z),  KC_X,   KC_C,   KC_V,    KC_B,   ALL_T(KC_LBRC),
         LT(SYMB,KC_GRV),KC_QUOT,      LALT(KC_LSFT),  KC_LEFT, KC_RGHT,
                                               ALT_T(KC_APP),   KC_LGUI,
                                                                KC_HOME,
-                                               KC_SPC,KC_FN1,KC_END,
+                                                 KC_SPC,KC_FN1,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,ALT_T(KC_J),KC_K,   KC_L,   LT(MDIA,KC_SCLN),GUI_T(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_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,ALT_T(KC_J),KC_K,   KC_L,   LT(MDIA,KC_SCLN),GUI_T(KC_QUOT),
+             MEH_T(KC_RBRC),KC_N,KC_M,       KC_COMM,KC_DOT, CTL_T(KC_SLSH),  RSFTC,
+                            KC_UP,           KC_DOWN,KC_LBRC,KC_RBRC,         LT(SYMB,KC_MINS),
+             KC_LALT,       CTL_T(KC_ESC),
              KC_PGUP,
              KC_PGDN,LT(SYMB, KC_TAB), KC_ENT
     ),
@@ -56,13 +59,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  * ,--------------------------------------------------.           ,--------------------------------------------------.
  * |        |  F1  |  F2  |  F3  |  F4  |  F5  |      |           |      |  F6  |  F7  |  F8  |  F9  |  F10 |   F11  |
  * |--------+------+------+------+------+-------------|           |------+------+------+------+------+------+--------|
- * |        |   1  |   2  |   3  |   4  |      |      |           |      |      |   %  |   =  |   @  |      |   F12  |
+ * |        |      |      |      |      |      |      |           |      |      |      |      |      |      |   F12  |
  * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
- * |        |   5  |   6  |   7  |   8  |   9  |------|           |------|   &  |   _  |   -  |   ;  |   +  |        |
+ * |        |   1  |   2  |   3  |   4  |   5  |------|           |------|   &  |   _  |   -  |   ;  |   +  |        |
  * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
- * |        |   (  |   )  |   [  |   ]  |   0  |      |           |      |   |  |   (  |   )  |      |      |        |
+ * |        |   6  |   7  |   8  |   9  |   0  |      |           |      |   |  |   @  |   =  |   %  |      |        |
  * `--------+------+------+------+------+-------------'           `-------------+------+------+------+------+--------'
- *   |      |      |      |      |      |                                       |      |      |      |      |      |
+ *   |      |      |      |NxtTab|PrvTab|                                       |      |      |      |      |      |
  *   `----------------------------------'                                       `----------------------------------'
  *                                        ,-------------.       ,-------------.
  *                                        |      |      |       |      |      |
@@ -76,19 +79,19 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 [SYMB] = KEYMAP(
        // left hand
        KC_TRNS, KC_F1,  KC_F2,  KC_F3,         KC_F4,        KC_F5,   KC_TRNS,
-       KC_TRNS, KC_1,   KC_2,   KC_3,          KC_4,         KC_TRNS, KC_TRNS,
-       KC_TRNS, KC_5,   KC_6,   KC_7,          KC_8,         KC_9,
-       KC_TRNS, KC_LPRN,KC_RPRN,KC_LBRC,       KC_RBRC,      KC_0,    KC_TRNS,
+       KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,       KC_TRNS,      KC_TRNS, KC_TRNS,
+       KC_TRNS, KC_1,   KC_2,   KC_3,          KC_4,         KC_5,
+       KC_TRNS, KC_6,   KC_7,   KC_8,          KC_9,         KC_0,    KC_TRNS,
        KC_TRNS, KC_TRNS,KC_TRNS,LCTL(KC_PGUP), LCTL(KC_PGDN),
                                                                               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_TRNS, KC_PERC,KC_EQL,  KC_AT,   KC_TRNS, KC_F12,
-                KC_AMPR, KC_UNDS,KC_MINS, CM_SCLN, KC_PLUS, KC_TRNS,
-       KC_TRNS, KC_PIPE, KC_LPRN,KC_RPRN, KC_3,    KC_TRNS, KC_TRNS,
-                         KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+       KC_TRNS, KC_F6,   KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,
+       KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_F12,
+                KC_AMPR, KC_UNDS, KC_MINS, CM_SCLN, KC_PLUS, KC_TRNS,
+       KC_TRNS, KC_PIPE, KC_AT,   KC_EQL,  KC_PERC,   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
@@ -98,13 +101,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  * ,--------------------------------------------------.           ,--------------------------------------------------.
  * |        |      |      |      |      |      |      |           |      |      |      |      |      |      |        |
  * |--------+------+------+------+------+-------------|           |------+------+------+------+------+------+--------|
- * |        |      |      | MsUp |      |      |      |           |      |      |      |      |      |      |        |
+ * |        |      |      |      |      |      |      |           |      |      |      |      |      |      |        |
  * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
- * |        |      |MsLeft|MsDown|MsRght|      |------|           |------|      |      |      |      |      |  Play  |
+ * |        | PgUp | Home | End  | PgDn |      |------|           |------|      |      |      |      |      |  Play  |
  * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
  * |        |      |      |      |      |      |      |           |      |      |      | Prev | Next |      |        |
  * `--------+------+------+------+------+-------------'           `-------------+------+------+------+------+--------'
- *   |      |      |      | Lclk | Rclk |                                       |VolUp |VolDn | Mute |      |      |
+ *   |      |      |      |      |      |                                       |VolUp |VolDn | Mute |      |      |
  *   `----------------------------------'                                       `----------------------------------'
  *                                        ,-------------.       ,-------------.
  *                                        |      |      |       |      |      |
@@ -117,10 +120,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 // 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_PGUP, KC_HOME, KC_END,  KC_PGDN, 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,
@@ -137,21 +140,56 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 };
 
 const uint16_t PROGMEM fn_actions[] = {
-    [1] = ACTION_LAYER_TAP_TOGGLE(SYMB)                // FN1 - Momentary Layer 1 (Symbols)
+    [1] = ACTION_LAYER_TAP_TOGGLE(SYMB),               // FN1 - Momentary Layer 1 (Symbols)
+    [2] = ACTION_MACRO_TAP(0),                         // Eric Tang's Famous Macro!
+    [3] = ACTION_MACRO_TAP(1)                          // Eric Tang's Famous Macro!
 };
 
+static uint16_t key_timer;
+
 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);
+          if (record->event.pressed) {
+              register_mods(MOD_BIT(KC_LSFT));
+              if (record->tap.count && !record->tap.interrupted) {
+                  register_code(KC_9);
+              }
+              else {
+                  record->tap.count = 0;
+              }
+          }
+          else {
+              if (record->tap.count) {
+                  unregister_code(KC_9);
+              }
+              else {
+              }
+              unregister_mods(MOD_BIT(KC_LSFT));
+          }
+          break;
+
+        case 1:
+          if (record->event.pressed) {
+              register_mods(MOD_BIT(KC_LSFT));
+              if (record->tap.count && !record->tap.interrupted) {
+                  register_code(KC_0);
+              }
+              else {
+                  record->tap.count = 0;
+              }
+          }
+          else {
+              if (record->tap.count) {
+                  unregister_code(KC_0);
+              }
+              else {
+              }
+              unregister_mods(MOD_BIT(KC_LSFT));
+          }
+          break;
         }
-        break;
-      }
     return MACRO_NONE;
 };
 
@@ -183,3 +221,5 @@ void matrix_scan_user(void) {
     }
 
 };
+
+
diff --git a/keyboard/ergodox_ez/keymaps/erez_experimental/makefile.mk b/keyboard/ergodox_ez/keymaps/erez_experimental/makefile.mk
new file mode 100644 (file)
index 0000000..4c3a314
--- /dev/null
@@ -0,0 +1,5 @@
+# Having a file like this allows you to override Makefile definitions
+# for your own particular keymap
+
+SLEEP_LED_ENABLE = no  # Breathing sleep LED during USB suspend
+
index 82e1c5e4a0e6384d4a08eea92ef5031b0bb6e728..a9c572390aebc0260d8fa4e3b5b4c3c9fb8578d7 100644 (file)
@@ -4,6 +4,23 @@ This is my personal layout which I use to test out ideas which may or may not ma
 
 Changelog:
 
+## May 8, 2016:
+
+* Makes bottom-right key send minus/underscore when tapped, L1 temporary toggle when held
+* Tweaked the positions of the numbers on the symbol layer. Basically, 12345 are now directly under their number-row counterparts in layer 0. You can imagine pulling the number row down to the home row. And 67890 are directly under 12345 - so it's a matter of just adding 5 and going to the next row (1+5 = 6, 2+5 = 7 and so on).
+* Tweaks media/nav layer
+  * Removes mouse control, as I don't use it
+  * Makes left home row keys PgUp, Home, End, PgDn
+
+## Apr 29, 2016:
+
+* Tweaks the Hyper and Meh key to send brackets when tapped
+* Turns bottom-right key into a minus/underscore (easy to reach with the right pinky)
+
+## Apr 25, 2016:
+
+* Made it so that the right and left Shift keys send opening and closing parens ( ) when tapped
+
 ## Feb 11, 2016:
 
 * Updated ASCII legend for thumb clusters
index efd67addd5ce7b0f5b8dcf065d910f12155c1ff6..18939b1923ac886741a33fa0351d4e33c1a9503b 100644 (file)
 #include "action_layer.h"
 #include "action_util.h"
 
-#define BASE    0 // default layer
-#define LOCK    1 // shift-lock layer
-#define SYMB_SH 2 // symbols shift layer
-#define SYMB_LK 3 // symbols lock layer
-#define SYMB_UN 4 // symbols unlock layer
-#define MDIA_SH 5 // media shift layer
-#define MDIA_LK 6 // media lock layer
-#define MDIA_UN 7 // media unlock layer
-#define UNLOCK  8 // clear to base layer
+#define BASE   0 // default layer
+#define SYMB   1 // symbols layer
+#define MDIA   2 // media layer
+#define SPEC   3 // special layer
+
+#define LCaps 10 // left caps-shift key
+#define LSymb 11 // left symbol-shift key
+#define LMdia 12 // left media-shift key
+#define LSpec 13 // left special-shift key
+#define RCaps 14 // right caps-shift key
+#define RSymb 15 // right symbol-shift key
+#define RMdia 16 // right media-shift key
+#define RSpec 17 // right special-shift key
+
+#define MUL   20 // mouse up left
+#define MUR   21 // mouse up right
+#define MDL   22 // mouse down left
+#define MDR   23 // mouse down right
 
 /*
- * The Ordinary Layout for the Ergodox EZ keyboard, v3.1
- * modifications from default by Nicholas Keene ergodoxez@nicholaskeene.com
+ * The Ordinary Layout for the Ergodox EZ keyboard, v4
+ * 
+ * Modifications from default by Nicholas Keene ergodoxez@nicholaskeene.com
+ *
+ * No rights reserved. This software is in the public domain.
+ * Credit me if you are friendly but if you're a jerk don't bother.
+ * 
  * Details: readme.md
  *          https://github.com/nrrkeene/qmk_firmware/tree/master/keyboard/ergodox_ez/keymaps/ordinary
  */
 
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
-/* Keymap 0: Base Layer
- *
- * ,-----------------------------------------------------.           ,-----------------------------------------------------.
- * | LOCK   `~ |   1  |   2  |   3  |   4  |   5  | ESC  |           |  -   |   6  |   7  |   8  |   9  |   0  | =    LOCK |
- * |-----------+------+------+------+------+-------------|           |------+------+------+------+------+------+-----------|
- * | Media Tab |   Q  |   W  |   E  |   R  |   T  |   [  |           |  ]   |   Y  |   U  |   I  |   O  |   P  | \   Media |
- * |-----------+------+------+------+------+------|      |           |      |------+------+------+------+------+-----------|
- * | Symbol    |   A  |   S  |   D  |   F  |   G  |------|           |------|   H  |   J  |   K  |   L  |  ;   | '  Symbol |
- * |-----------+------+------+------+------+------|Shift |           | Tab  |------+------+------+------+------+-----------|
- * | LShift    |   Z  |   X  |   C  |   V  |   B  | -Tab |           |      |   N  |   M  |   ,  |   .  |  /   |    RShift |
- * `-----------+------+------+------+------+-------------'           `-------------+------+------+------+------+-----------'
- *     | LCtrl | Meh  |Hyper | LAlt | LGui |                                       | RGui | RAlt | Hyper|  Meh | RCtrl |
- *     `-----------------------------------'                                       `-----------------------------------'
- *                                         ,-------------.           ,-------------.
- *                                         | Home | End  |           | Left | Right|
- *                                  ,------|------|------|           |------+------+------.
- *                                  |      |      | PgUp |           |  Up  |      |      |
- *                                  |Backsp| Del  |------|           |------| Enter| Space|
- *                                  |      |      | PgDn |           | Down |      |      |
- *                                  `--------------------'           `--------------------'
- */
-[BASE] = KEYMAP(
-// left hand
- LT(LOCK, KC_GRV)   ,KC_1        ,KC_2        ,KC_3   ,KC_4  ,KC_5  ,KC_ESC
-,LT(MDIA_SH, KC_TAB),KC_Q        ,KC_W        ,KC_E   ,KC_R  ,KC_T  ,KC_LBRC
-,MO(SYMB_SH)        ,KC_A        ,KC_S        ,KC_D   ,KC_F  ,KC_G
-,KC_LSFT            ,KC_Z        ,KC_X        ,KC_C   ,KC_V  ,KC_B  ,LSFT(KC_TAB)
-,KC_LCTL            ,MEH_T(KC_NO),ALL_T(KC_NO),KC_LALT,KC_LGUI
-
-                                                            ,KC_HOME,KC_END
-                                                                    ,KC_PGUP
-                                                    ,KC_BSPC,KC_DEL ,KC_PGDN
-
-                                                                // right hand
-                                                               ,KC_MINS ,KC_6   ,KC_7   ,KC_8   ,KC_9        ,KC_0        ,LT(LOCK, KC_EQL)
-                                                               ,KC_RBRC ,KC_Y   ,KC_U   ,KC_I   ,KC_O        ,KC_P        ,LT(MDIA_SH, KC_BSLS)
-                                                                        ,KC_H   ,KC_J   ,KC_K   ,KC_L        ,KC_SCLN     ,LT(SYMB_SH, KC_QUOT)
-                                                               ,KC_TAB  ,KC_N   ,KC_M   ,KC_COMM,KC_DOT      ,KC_SLSH     ,KC_RSFT
-                                                                                ,KC_RGUI,KC_RALT,ALL_T(KC_NO),MEH_T(KC_NO),KC_RCTL
-
-                                                               ,KC_LEFT ,KC_RGHT
-                                                               ,KC_UP
-                                                               ,KC_DOWN ,KC_ENT ,KC_SPC
-    ),
-
-/* Keymap 1: Layer Lock Keys
- *
- * ,-------------------------------------------------------.           ,-------------------------------------------------------.
- * |             |  Esc |      |      |      |      |      |           |      |      |      |      |      | Bspc |             |
- * |-------------+------+------+------+------+-------------|           |------+------+------+------+------+------+-------------|
- * | Media  LOCK |      |      |      |      |      |      |           |      |      |      |      |      |      | Media  LOCK |
- * |-------------+------+------+------+------+------|      |           |      |------+------+------+------+------+-------------|
- * | Symbol LOCK |      |      |      |      |      |------|           |------|      |      |      |      |      | Symbol LOCK |
- * |-------------+------+------+------+------+------|      |           |      |------+------+------+------+------+-------------|
- * | Caps   LOCK |      |      |      |      |      |      |           |      |      |      |      |      |      | Caps   LOCK |
- * `-------------+------+------+------+------+-------------'           `-------------+------+------+------+------+-------------'
- *      |        |      |      |      |      |                                       |      |      |      |      |        |
- *      `------------------------------------'                                       `------------------------------------'
- *                                           ,-------------.           ,-------------.
- *                                           |      |      |           |      |      |
- *                                    ,------|------|------|           |------+------+------.
- *                                    |      |      |      |           |      |      |      |
- *                                    |      |      |------|           |------|      |      |
- *                                    |      |      |      |           |      |      |      |
- *                                    `--------------------'           `--------------------'
- */
-[LOCK] = KEYMAP(
-// left hand
- KC_TRNS ,KC_ESC  ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
-,KC_FN3  ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
-,KC_FN2  ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
-,KC_CAPS ,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
-
-                                                                // right hand
-                                                               ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_BSPC ,KC_TRNS
-                                                               ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_FN3
-                                                                        ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_FN2
-                                                               ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_CAPS
-                                                                                 ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
-
-                                                               ,KC_TRNS ,KC_TRNS
-                                                               ,KC_TRNS
-                                                               ,KC_TRNS ,KC_TRNS ,KC_TRNS
-    ),
-
-/* Keymap 2: Symbol Shift Layer
- *
- * ,-----------------------------------------------------.           ,-----------------------------------------------------.
- * | LOCK      |  F1  |  F2  |  F3  |  F4  |  F5  |      |           |  -   |  F6  |  F7  |  F8  |  F9  |  F10 |      LOCK |
- * |-----------+------+------+------+------+-------------|           |------+------+------+------+------+------+-----------|
- * | Media     |   !  |   @  |   {  |   }  |   &  |  <   |           |  >   |   |  |   7  |   8  |   9  |   /  |     Media |
- * |-----------+------+------+------+------+------|      |           |      |------+------+------+------+------+-----------|
- * | Symbol    |   #  |   $  |   (  |   )  |   `  |------|           |------|   /  |   4  |   5  |   6  |   *  |    Symbol |
- * |-----------+------+------+------+------+------| Tab  |           | Shift|------+------+------+------+------+-----------|
- * | LShift    |   %  |   ^  |   [  |   ]  |   ~  |      |           |  -Tab|   \  |   1  |   2  |   3  |   -  |    RShift |
- * `-----------+------+------+------+------+-------------'           `------------+------+------+------+------+------------'
- *      |      |      |      |      |      |                                       |   0  |    . |   =  |   +  | Entr |
- *      `----------------------------------'                                       `----------------------------------'
- *                                         ,-------------.           ,-------------.
- *                                         | Left | Right|           | Home | End  |
- *                                  ,------|------|------|           |------+------+------.
- *                                  |      |      |  Up  |           | PgUp |      |      |
- *                                  |Space |Enter |------|           |------|BackSp| Del  |
- *                                  |      |      | Down |           | PgDn |      |      |
- *                                  `--------------------'           `--------------------'
- */
-[SYMB_SH] = KEYMAP(
-// left hand
- KC_FN2        ,KC_F1   ,KC_F2   ,KC_F3   ,KC_F4   ,KC_F5   ,KC_TRNS
-,MO(MDIA_SH)   ,KC_EXLM ,KC_AT   ,KC_LCBR ,KC_RCBR ,KC_AMPR ,LSFT(KC_COMM)
-,MO(SYMB_SH)   ,KC_HASH ,KC_DLR  ,KC_LPRN ,KC_RPRN ,KC_GRV 
-,KC_LSFT       ,KC_PERC ,KC_CIRC ,KC_LBRC ,KC_RBRC ,KC_TILD ,KC_TAB
-,KC_TRNS       ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
-                                                   ,KC_LEFT ,KC_RGHT
-                                                            ,KC_UP
-                                          ,KC_SPC  ,KC_ENT  ,KC_DOWN
-                                                                    // right hand
-                                                                    ,KC_MINS     ,KC_F6   ,KC_F7 ,KC_F8  ,KC_F9 ,KC_F10  ,KC_FN2
-                                                                    ,LSFT(KC_DOT),KC_PIPE ,KC_7  ,KC_8   ,KC_9  ,KC_SLSH ,MO(MDIA_SH)
-                                                                                 ,KC_SLSH ,KC_4  ,KC_5   ,KC_6  ,KC_ASTR ,MO(SYMB_SH)
-                                                                    ,LSFT(KC_TAB),KC_BSLS ,KC_1  ,KC_2   ,KC_3  ,KC_MINS ,KC_RSFT
-                                                                                          ,GUI_T(KC_0),ALT_T(KC_DOT),ALL_T(KC_EQL),MEH_T(KC_PLUS),CTL_T(KC_ENT)
-                                                                    ,KC_HOME     ,KC_END
-                                                                    ,KC_PGUP
-                                                                    ,KC_PGDN     ,KC_BSPC ,KC_DEL
-),
-
-/* Keymap 3: Symbol Lock Layer
- *
- * ,-----------------------------------------------------.           ,-----------------------------------------------------.
- * | LOCK      |  F1  |  F2  |  F3  |  F4  |  F5  |      |           |  -   |  F6  |  F7  |  F8  |  F9  |  F10 |      LOCK |
- * |-----------+------+------+------+------+-------------|           |------+------+------+------+------+------+-----------|
- * | Media     |   !  |   @  |   {  |   }  |   &  |  <   |           |  >   |   |  |   7  |   8  |   9  |   /  |     Media |
- * |-----------+------+------+------+------+------|      |           |      |------+------+------+------+------+-----------|
- * | Symbol    |   #  |   $  |   (  |   )  |   `  |------|           |------|   /  |   4  |   5  |   6  |   *  |    Symbol |
- * |-----------+------+------+------+------+------| Tab  |           | Shift|------+------+------+------+------+-----------|
- * | LShift    |   %  |   ^  |   [  |   ]  |   ~  |      |           |  -Tab|   \  |   1  |   2  |   3  |   -  |    RShift |
- * `-----------+------+------+------+------+-------------'           `------------+------+------+------+------+------------'
- *      |      |      |      |      |      |                                       |   0  |    . |   =  |   +  | Entr |
- *      `----------------------------------'                                       `----------------------------------'
- *                                         ,-------------.           ,-------------.
- *                                         | Left | Right|           | Home | End  |
- *                                  ,------|------|------|           |------+------+------.
- *                                  |      |      |  Up  |           | PgUp |      |      |
- *                                  |Space |Enter |------|           |------|BackSp| Del  |
- *                                  |      |      | Down |           | PgDn |      |      |
- *                                  `--------------------'           `--------------------'
- */
-[SYMB_LK] = KEYMAP(
-// left hand
- MO(SYMB_UN)  ,KC_F1   ,KC_F2   ,KC_F3   ,KC_F4   ,KC_F5   ,KC_TRNS
-,MO(MDIA_SH) ,KC_EXLM ,KC_AT   ,KC_LCBR ,KC_RCBR ,KC_AMPR ,LSFT(KC_COMM)
-,MO(UNLOCK)  ,KC_HASH ,KC_DLR  ,KC_LPRN ,KC_RPRN ,KC_GRV
-,KC_LSFT     ,KC_PERC ,KC_CIRC ,KC_LBRC ,KC_RBRC ,KC_TILD ,KC_TAB
-,KC_TRNS     ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
-                                                 ,KC_LEFT ,KC_RGHT
-                                                          ,KC_UP
-                                        ,KC_SPC  ,KC_ENT  ,KC_DOWN
-                                                                    // right hand
-                                                                    ,KC_MINS     ,KC_F6   ,KC_F7 ,KC_F8  ,KC_F9 ,KC_F10  ,MO(SYMB_UN)
-                                                                    ,LSFT(KC_DOT),KC_PIPE ,KC_7  ,KC_8   ,KC_9  ,KC_SLSH ,MO(MDIA_SH)
-                                                                                 ,KC_SLSH ,KC_4  ,KC_5   ,KC_6  ,KC_ASTR ,MO(UNLOCK)
-                                                                    ,LSFT(KC_TAB),KC_BSLS ,KC_1  ,KC_2   ,KC_3  ,KC_MINS ,KC_RSFT
-                                                                                          ,GUI_T(KC_0),ALT_T(KC_DOT),ALL_T(KC_EQL),MEH_T(KC_PLUS),CTL_T(KC_ENT)
-                                                                    ,KC_HOME     ,KC_END
-                                                                    ,KC_PGUP
-                                                                    ,KC_PGDN     ,KC_BSPC ,KC_DEL
-    ),
-
-/* Keymap 4: Symbol Unlock Layer
+/******* Base Layer ********************************************************************************************************
  *
  * ,------------------------------------------------------.           ,------------------------------------------------------.
- * |            | Esc  |      |      |      |      |      |           |      |      |      |      |      | Bspc |            |
+ * | Special `~ |   1  |   2  |   3  |   4  |   5  | ESC  |           |  -   |   6  |   7  |   8  |   9  |   0  | =+ Special |
  * |------------+------+------+------+------+-------------|           |------+------+------+------+------+------+------------|
- * | Media LOCK |      |      |      |      |      |      |           |      |      |      |      |      |      | Media LOCK |
+ * | Media  Tab |   Q  |   W  |   E  |   R  |   T  |   [  |           |  ]   |   Y  |   U  |   I  |   O  |   P  | \|   Media |
  * |------------+------+------+------+------+------|      |           |      |------+------+------+------+------+------------|
- * |     UNLOCK |      |      |      |      |      |------|           |------|      |      |      |      |      |     UNLOCK |
- * |------------+------+------+------+------+------|      |           |      |------+------+------+------+------+------------|
- * | Caps  LOCK |      |      |      |      |      |      |           |      |      |      |      |      |      | Caps  LOCK |
+ * | Symbol     |   A  |   S  |   D  |   F  |   G  |------|           |------|   H  |   J  |   K  |   L  |  ;   | '"  Symbol |
+ * |------------+------+------+------+------+------|Shift |           | Tab  |------+------+------+------+------+------------|
+ * | Capitals   |   Z  |   X  |   C  |   V  |   B  | -Tab |           |      |   N  |   M  |   ,  |   .  |  /   |   Capitals |
  * `------------+------+------+------+------+-------------'           `-------------+------+------+------+------+------------'
- *       |      |      |      |      |      |                                       |      |      |      |      |      |
- *       `----------------------------------'                                       `----------------------------------'
+ *      | LCtrl | Meh  |Hyper | LAlt | LGui |                                       | RGui | RAlt | Hyper|  Meh | RCtrl |
+ *      `-----------------------------------'                                       `-----------------------------------'
  *                                          ,-------------.           ,-------------.
- *                                          |      |      |           |      |      |
+ *                                          | Home | End  |           | Left | Right|
  *                                   ,------|------|------|           |------+------+------.
- *                                   |      |      |      |           |      |      |      |
- *                                   |      |      |------|           |------|      |      |
- *                                   |      |      |      |           |      |      |      |
+ *                                   |      |      | PgUp |           |  Up  |      |      |
+ *                                   |Backsp| Del  |------|           |------| Enter| Space|
+ *                                   |      |      | PgDn |           | Down |      |      |
  *                                   `--------------------'           `--------------------'
  */
-[SYMB_UN] = KEYMAP(
+[BASE] = KEYMAP(
 // left hand
- KC_TRNS     ,KC_ESC  ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
-,TG(MDIA_LK) ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
-,KC_FN1      ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
-,KC_CAPS     ,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
-                                                                     // right hand
-                                                                     ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_BSPC ,KC_TRNS
-                                                                     ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,TG(MDIA_LK)
-                                                                              ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_FN1
-                                                                     ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_CAPS
-                                                                     ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
-                                                                     ,KC_TRNS ,KC_TRNS
-                                                                     ,KC_TRNS
-                                                                     ,KC_TRNS ,KC_TRNS ,KC_TRNS
-),
+ F(LSpec),KC_1,KC_2,KC_3   ,KC_4  ,KC_5  ,KC_ESC
+,F(LMdia)  ,KC_Q   ,KC_W   ,KC_E   ,KC_R  ,KC_T  ,KC_LBRC
+,M(LSymb)  ,KC_A   ,KC_S   ,KC_D   ,KC_F  ,KC_G
+,M(LCaps)  ,KC_Z   ,KC_X   ,KC_C   ,KC_V  ,KC_B  ,LSFT(KC_TAB)
+,KC_LCTL   ,KC_MEH ,KC_HYPR,KC_LALT,KC_LGUI
+                                         ,KC_HOME,KC_END
+                                                 ,KC_PGUP
+                                 ,KC_BSPC,KC_DEL ,KC_PGDN
+                                                                      // right hand
+                                                                     ,KC_MINS ,KC_6   ,KC_7   ,KC_8   ,KC_9    ,KC_0     ,F(RSpec)
+                                                                     ,KC_RBRC ,KC_Y   ,KC_U   ,KC_I   ,KC_O    ,KC_P     ,F(RMdia)
+                                                                              ,KC_H   ,KC_J   ,KC_K   ,KC_L    ,KC_SCLN  ,F(RSymb)
+                                                                     ,KC_TAB  ,KC_N   ,KC_M   ,KC_COMM,KC_DOT  ,KC_SLSH  ,M(RCaps)
+                                                                                      ,KC_RGUI,KC_RALT,KC_HYPR ,KC_MEH   ,KC_RCTL
+                                                                     ,KC_LEFT ,KC_RGHT
+                                                                     ,KC_UP
+                                                                     ,KC_DOWN ,KC_ENT ,KC_SPC
+    ),
 
-/* Keymap 5: Media Shift Layer
+/******* Symbols Layer *****************************************************************************************************
  *
  * ,-----------------------------------------------------.           ,-----------------------------------------------------.
- * | LOCK      | F11  | F12  | F13  | F14  | F15  |      |           |      | F16  | F17  | F18  | F19  | F20  |      LOCK |
+ * |           |  F1  |  F2  |  F3  |  F4  |  F5  | Esc  |           |  -   |  F6  |  F7  |  F8  |  F9  |  F10 |           |
  * |-----------+------+------+------+------+-------------|           |------+------+------+------+------+------+-----------|
- * | Media     |ShutDn|LClick| MsUp |RClick|Vol Up|ScrlUp|           |ScrlUp|PrtScr| Home |  Up  | PgUp | Mail |     Media |
- * |-----------+------+------+------+------+------|      |           |      |------+------+------+------+------+-----------|
- * | Symbol    | Sleep|MsLeft|MsDown|MsRght|Vol Dn|------|           |------|NumLok| Left | Down | Right|MyComp|    Symbol |
+ * |           |   !  |   @  |   {  |   }  |   &  |  <   |           |  >   |   |  |   7  |   8  |   9  |   /  |           |
  * |-----------+------+------+------+------+------|      |           |      |------+------+------+------+------+-----------|
- * | LShift    |      |      |MsDown|      | Mute |ScrlDn|           |ScrlDn|      | End  | Down | PgDn |      |    RShift |
+ * |           |   #  |   $  |   (  |   )  |   `  |------|           |------|   /  |   4  |   5  |   6  |   *  |           |
+ * |-----------+------+------+------+------+------| Tab  |           | Shift|------+------+------+------+------+-----------|
+ * |           |   %  |   ^  |   [  |   ]  |   ~  |      |           |  -Tab|   \  |   1  |   2  |   3  |   -  |           |
  * `-----------+------+------+------+------+-------------'           `-------------+------+------+------+------+-----------'
- *      | LCtrl| Meh  |Hyper | LAlt | LGui |                                       |Insert|Delete| Hyper| LAlt | LGui |
- *      `----------------------------------'                                       `----------------------------------'
+ *     | LCtrl | Meh  |Hyper | LAlt | LGui |                                       |RGui/0|RAlt/.|Hypr/=|Meh/+ |RCtrl/Ent|
+ *     `-----------------------------------'                                       `-------------------------------------'
  *                                         ,-------------.           ,-------------.
- *                                         | Stop |Refrsh|           | Prev | Next |
+ *                                         | Left | Right|           | Home | End  |
  *                                  ,------|------|------|           |------+------+------.
- *                                  |Brwser|Brwser|Search|           |VolUp |      |      |
- *                                  |Back  | Fwd  |------|           |------| Stop | Play-|
- *                                  |      |      | Home |           |VolDn |      | Pause|
+ *                                  |      |      |  Up  |           | PgUp |      |      |
+ *                                  |Space |Enter |------|           |------|BackSp| Del  |
+ *                                  |      |      | Down |           | PgDn |      |      |
  *                                  `--------------------'           `--------------------'
  */
-[MDIA_SH] = KEYMAP(
+[SYMB] = KEYMAP(
 // left hand
- KC_FN3        ,KC_F11      ,KC_F12  ,KC_F13  ,KC_F14  ,KC_F15  ,KC_NO
-,MO(MDIA_SH)   ,KC_POWER    ,KC_BTN1 ,KC_MS_U ,KC_BTN2 ,KC_VOLU ,KC_WH_U
-,MO(SYMB_SH)   ,KC_SLEP     ,KC_MS_L ,KC_MS_D ,KC_MS_R ,KC_VOLD
-,KC_LSFT       ,KC_NO       ,KC_NO   ,KC_MS_D ,KC_NO   ,KC_MUTE ,KC_WH_D
-,KC_LCTL       ,MEH_T(KC_NO),ALL_T(KC_NO),KC_LALT,KC_LGUI
-                                                       ,KC_WSTP ,KC_WREF
-                                                                ,KC_WSCH
-                                              ,KC_WBAK ,KC_NO   ,KC_WHOM
+ KC_TRNS ,KC_F1   ,KC_F2   ,KC_F3   ,KC_F4   ,KC_F5   ,KC_ESC
+,KC_TRNS ,KC_EXLM ,KC_AT   ,KC_LCBR ,KC_RCBR ,KC_AMPR ,LSFT(KC_COMM)
+,KC_TRNS ,KC_HASH ,KC_DLR  ,KC_LPRN ,KC_RPRN ,KC_GRV 
+,KC_TRNS ,KC_PERC ,KC_CIRC ,KC_LBRC ,KC_RBRC ,KC_TILD ,KC_TAB
+,KC_LCTL   ,KC_MEH ,KC_HYPR,KC_LALT ,KC_LGUI
+                                             ,KC_LEFT ,KC_RGHT
+                                                      ,KC_UP
+                                    ,KC_SPC  ,KC_ENT  ,KC_DOWN
                                                                      // right hand
-                                                                     ,KC_NO    ,KC_F16  ,KC_F17 ,KC_F18  ,KC_F19  ,KC_F20  ,KC_FN3
-                                                                     ,KC_WH_U  ,KC_PSCR ,KC_HOME,KC_UP   ,KC_PGUP ,KC_MAIL ,MO(MDIA_SH)
-                                                                               ,KC_NLCK ,KC_LEFT,KC_DOWN ,KC_RIGHT,KC_MYCM ,MO(SYMB_SH)
-                                                                     ,KC_WH_D  ,KC_NO   ,KC_END ,KC_DOWN ,KC_PGDN ,KC_NO   ,KC_RSFT
-                                                                                        ,GUI_T(KC_INS),ALT_T(KC_DEL),ALL_T(KC_NO),MEH_T(KC_NO),KC_RCTL
-                                                                     ,KC_MPRV  ,KC_MNXT
-                                                                     ,KC_VOLU
-                                                                     ,KC_VOLD  ,KC_MSTP ,KC_MPLY
+                                                                     ,KC_MINS     ,KC_F6   ,KC_F7 ,KC_F8  ,KC_F9 ,KC_F10  ,KC_TRNS
+                                                                     ,LSFT(KC_DOT),KC_PIPE ,KC_7  ,KC_8   ,KC_9  ,KC_SLSH ,KC_TRNS
+                                                                                  ,KC_SLSH ,KC_4  ,KC_5   ,KC_6  ,KC_ASTR ,KC_TRNS
+                                                                     ,LSFT(KC_TAB),KC_BSLS ,KC_1  ,KC_2   ,KC_3  ,KC_MINS ,KC_TRNS
+                                                                                           ,GUI_T(KC_0),ALT_T(KC_DOT),ALL_T(KC_EQL),MEH_T(KC_PLUS),CTL_T(KC_ENT)
+                                                                     ,KC_HOME     ,KC_END
+                                                                     ,KC_PGUP
+                                                                     ,KC_PGDN     ,KC_BSPC ,KC_DEL
 ),
 
-/* Keymap 6: Media Lock Layer
+/******* Media Layer *******************************************************************************************************
  *
- * ,-----------------------------------------------------.           ,-----------------------------------------------------.
- * | LOCK      | F11  | F12  | F13  | F14  | F15  |      |           |      | F16  | F17  | F18  | F19  | F20  |      LOCK |
- * |-----------+------+------+------+------+-------------|           |------+------+------+------+------+------+-----------|
- * | Media     |ShutDn|LClick| MsUp |RClick|Vol Up|ScrlUp|           |ScrlUp|PrtScr| Home |  Up  | PgUp | Mail |     Media |
- * |-----------+------+------+------+------+------|      |           |      |------+------+------+------+------+-----------|
- * |           | Sleep|MsLeft|MsDown|MsRght|Vol Dn|------|           |------|NumLok| Left | Down | Right|MyComp|           |
- * |-----------+------+------+------+------+------|      |           |      |------+------+------+------+------+-----------|
- * | LShift    |      |      |MsDown|      | Mute |ScrlDn|           |ScrlDn|      | End  | Down | PgDn |      |    RShift |
- * `-----------+------+------+------+------+-------------'           `-------------+------+------+------+------+-----------'
- *      | LCtrl| Meh  |Hyper | LAlt | LGui |                                       |Insert|Delete| Hyper| LAlt | LGui |
- *      `----------------------------------'                                       `----------------------------------'
- *                                         ,-------------.           ,-------------.
- *                                         | Stop |Refrsh|           | Prev | Next |
- *                                  ,------|------|------|           |------+------+------.
- *                                  |Brwser|Brwser|Search|           |VolUp |      |      |
- *                                  |Back  | Fwd  |------|           |------| Stop | Play-|
- *                                  |      |      | Home |           |VolDn |      | Pause|
- *                                  `--------------------'           `--------------------'
+ * ,---------------------------------------------------------------.           ,---------------------------------------------------------------.
+ * |      |   F11   |   F12   |   F13   |   F14   |   F15   | Esc  |           |      |   F16   |   F17   |   F18   |   F19   |   F20   |      |
+ * |------+---------+---------+---------+---------+----------------|           |------+---------+---------+---------+---------+---------+------|
+ * |      |Shut Down|MouseUpLf|Mouse Up |MouseUpRg|Volume Up|Scroll|           |Scroll|PrintScrn|   Home  |    Up   |   PgUp  |   Mail  |      |
+ * |------+---------+---------+---------+---------+---------|  Up  |           |  Up  |---------+---------+---------+---------+---------+------|
+ * |      |  Sleep  |MouseLeft|MouseDown|MouseRght|Volume Dn|------|           |------| Num Lock|   Left  |   Down  |   Right | MyComp  |      |
+ * |------+---------+---------+---------+---------+---------|Scroll|           |Scroll|---------+---------+---------+---------+---------+------|
+ * |      |         |MouseDnLf|MouseDown|MouseDnRg|  Mute   | Down |           | Down |         |   End   |   Down  |   PgDn  |         |      |
+ * `------+---------+---------+---------+---------+----------------'           `----------------+---------+---------+---------+---------+------'
+ *  |LCtrl|   Meh   |  MClick | LClick  |  R Click|                                             |Cmd/Insrt|Optn/Del | Hyper   |  Meh    |RCtrl|
+ *  `---------------------------------------------'                                             `---------------------------------------------'
+ *                                                   ,-------------.           ,-------------.
+ *                                                   | Stop |Refrsh|           | Prev | Next |
+ *                                            ,------|------|------|           |------+------+------.
+ *                                            |Brwser|Brwser|Search|           |VolUp |      |      |
+ *                                            |Back  | Fwd  |------|           |------| Stop | Play-|
+ *                                            |      |      | Home |           |VolDn |      | Pause|
+ *                                            `--------------------'           `--------------------'
  */
-[MDIA_LK] = KEYMAP(
+[MDIA] = KEYMAP(
 // left hand
- MO(MDIA_UN),KC_F11      ,KC_F12  ,KC_F13  ,KC_F14  ,KC_F15  ,KC_NO
-,MO(UNLOCK) ,KC_POWER    ,KC_BTN1 ,KC_MS_U ,KC_BTN2 ,KC_VOLU ,KC_WH_U
-,KC_NO      ,KC_SLEP     ,KC_MS_L ,KC_MS_D ,KC_MS_R ,KC_VOLD  
-,KC_LSFT    ,KC_NO       ,KC_NO   ,KC_MS_D ,KC_NO   ,KC_MUTE ,KC_WH_D
-,KC_LCTL    ,MEH_T(KC_NO),ALL_T(KC_NO),KC_LALT,KC_LGUI
-                                                    ,KC_WSTP ,KC_WREF
-                                                             ,KC_WSCH
-                                           ,KC_WBAK ,KC_NO   ,KC_WHOM
+ KC_TRNS ,KC_F11   ,KC_F12  ,KC_F13   ,KC_F14  ,KC_F15  ,KC_ESC
+,KC_TRNS ,KC_POWER ,M(MUL)  ,KC_MS_U  ,M(MUR)  ,KC_VOLU ,KC_WH_U
+,KC_TRNS ,KC_SLEP  ,KC_MS_L ,KC_MS_D  ,KC_MS_R ,KC_VOLD
+,KC_TRNS ,KC_NO    ,M(MDL)  ,KC_MS_D  ,M(MDR)  ,KC_MUTE ,KC_WH_D
+,KC_LCTL ,KC_MEH   ,KC_BTN3 ,KC_BTN1  ,KC_BTN2
+                                               ,KC_WSTP ,KC_WREF
+                                                        ,KC_WSCH
+                                      ,KC_WBAK ,KC_NO   ,KC_WHOM
                                                                      // right hand
-                                                                     ,KC_NO    ,KC_F16  ,KC_F17 ,KC_F18  ,KC_F19  ,KC_F20  ,MO(MDIA_UN)
-                                                                     ,KC_WH_U  ,KC_PSCR ,KC_HOME,KC_UP   ,KC_PGUP ,KC_MAIL ,MO(UNLOCK)
-                                                                               ,KC_NLCK ,KC_LEFT,KC_DOWN ,KC_RIGHT,KC_MYCM ,KC_NO
-                                                                     ,KC_WH_D  ,KC_NO   ,KC_END ,KC_DOWN ,KC_PGDN ,KC_NO   ,KC_RSFT
-                                                                                        ,GUI_T(KC_INS),ALT_T(KC_DEL),ALL_T(KC_NO),MEH_T(KC_NO),KC_RCTL
+                                                                     ,KC_NO    ,KC_F16  ,KC_F17       ,KC_F18       ,KC_F19  ,KC_F20  ,KC_TRNS
+                                                                     ,KC_WH_U  ,KC_PSCR ,KC_HOME      ,KC_UP        ,KC_PGUP ,KC_MAIL ,KC_TRNS
+                                                                               ,KC_NLCK ,KC_LEFT      ,KC_DOWN      ,KC_RIGHT,KC_MYCM ,KC_TRNS
+                                                                     ,KC_WH_D  ,KC_NO   ,KC_END       ,KC_DOWN      ,KC_PGDN ,KC_NO   ,KC_TRNS
+                                                                                        ,GUI_T(KC_INS),ALT_T(KC_DEL),KC_HYPR ,KC_MEH  ,KC_RCTL
                                                                      ,KC_MPRV  ,KC_MNXT
                                                                      ,KC_VOLU
                                                                      ,KC_VOLD  ,KC_MSTP ,KC_MPLY
-    ),
-
-/* Keymap 7: Media Unlock Layer
- *
- * ,-----------------------------------------------------.           ,-----------------------------------------------------.
- * |           | Esc  |      |      |      |      |      |           |      |      |      |      |      | Bspc |           |
- * |-----------+------+------+------+------+-------------|           |------+------+------+------+------+------+-----------|
- * |    UNLOCK |      |      |      |      |      |      |           |      |      |      |      |      |      |    UNLOCK |
- * |-----------+------+------+------+------+------|      |           |      |------+------+------+------+------+-----------|
- * |           |      |      |      |      |      |------|           |------|      |      |      |      |      |           |
- * |-----------+------+------+------+------+------|      |           |      |------+------+------+------+------+-----------|
- * | Caps LOCK |      |      |      |      |      |      |           |      |      |      |      |      |      | Caps LOCK |
- * `-----------+------+------+------+------+-------------'           `-------------+------+------+------+------+-----------'
- *      |      |      |      |      |      |                                       |      |      |      |      |      |
- *      `----------------------------------'                                       `----------------------------------'
- *                                         ,-------------.           ,-------------.
- *                                         |      |      |           |      |      |
- *                                  ,------|------|------|           |------+------+------.
- *                                  |      |      |      |           |      |      |      |
- *                                  |      |      |------|           |------|      |      |
- *                                  |      |      |      |           |      |      |      |
- *                                  `--------------------'           `--------------------'
- */
-[MDIA_UN] = KEYMAP(
-// left hand
- KC_TRNS ,KC_ESC  ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
-,KC_FN1  ,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_CAPS ,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
-
-                                                                // right hand
-                                                               ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_BSPC ,KC_TRNS
-                                                               ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_FN1
-                                                                        ,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_CAPS
-                                                                                 ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
-
-                                                               ,KC_TRNS ,KC_TRNS
-                                                               ,KC_TRNS
-                                                               ,KC_TRNS ,KC_TRNS ,KC_TRNS
-    ),
+),
 
-/* Keymap 8: Unlock Layer
+/******* Special Layer *****************************************************************************************************
  *
  * ,-----------------------------------------------------.           ,-----------------------------------------------------.
- * | UNLOCK    |      |      |      |      |      |      |           |      |      |      |      |      |      |    UNLOCK |
+ * |           |  Esc |      |      |      |      |      |           |      |      |      |      |      | Bspc |           |
  * |-----------+------+------+------+------+-------------|           |------+------+------+------+------+------+-----------|
  * |           |      |      |      |      |      |      |           |      |      |      |      |      |      |           |
  * |-----------+------+------+------+------+------|      |           |      |------+------+------+------+------+-----------|
  * |           |      |      |      |      |      |------|           |------|      |      |      |      |      |           |
  * |-----------+------+------+------+------+------|      |           |      |------+------+------+------+------+-----------|
- * |           |      |      |      |      |      |      |           |      |      |      |      |      |      |           |
+ * |           |      |      |      |      |      |      |           |      |      |      |      |      |      | RShift    |
  * `-----------+------+------+------+------+-------------'           `-------------+------+------+------+------+-----------'
  *      |      |      |      |      |      |                                       |      |      |      |      |      |
  *      `----------------------------------'                                       `----------------------------------'
@@ -389,9 +184,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  *                                  |      |      |      |           |      |      |      |
  *                                  `--------------------'           `--------------------'
  */
-[UNLOCK] = KEYMAP(
+[SPEC] = KEYMAP(
 // left hand
- KC_FN1  ,KC_ESC  ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
+ KC_TRNS ,KC_ESC  ,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
@@ -399,39 +194,231 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
                                              ,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_FN1
-                                                               ,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_TRNS
-                                                               ,KC_TRNS
-                                                               ,KC_TRNS ,KC_TRNS  ,KC_TRNS
+                                     ,KC_TRNS,KC_TRNS ,KC_TRNS
+                                                                     // right hand
+                                                                     ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_BSPC ,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_RSFT
+                                                                                       ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
+
+                                                                     ,KC_TRNS ,KC_TRNS
+                                                                     ,KC_TRNS
+                                                                     ,KC_TRNS ,KC_TRNS ,KC_TRNS
     )
 };
 
 const uint16_t PROGMEM fn_actions[] = {
-     [1] = ACTION_LAYER_CLEAR(ON_PRESS)           // FN1 - clear to base layer
-    ,[2] = ACTION_LAYER_INVERT(SYMB_LK, ON_PRESS) // FN2 - toggle to Symbols on press
-    ,[3] = ACTION_LAYER_INVERT(MDIA_LK, ON_PRESS) // FN3 - toggle to Media on press
+     // the faux shift keys are implemented as macro taps
+     [LCaps] = ACTION_MACRO_TAP(LCaps)
+    ,[LSymb] = ACTION_MACRO_TAP(LSymb)
+    ,[LMdia] = ACTION_MACRO_TAP(LMdia)
+    ,[LSpec] = ACTION_MACRO_TAP(LSpec)
+    ,[RCaps] = ACTION_MACRO_TAP(RCaps)
+    ,[RSymb] = ACTION_MACRO_TAP(RSymb)
+    ,[RMdia] = ACTION_MACRO_TAP(RMdia)
+    ,[RSpec] = ACTION_MACRO_TAP(RSpec)
 };
 
+uint16_t caps_shift = 0;
+uint16_t symb_shift = 0;
+uint16_t mdia_shift = 0;
+
+bool symb_lock = false;
+bool mdia_lock = false;
+
 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:
+    switch(id) {
+        // There are two shift keys for each layer so we increment a layer_shift var when one
+        // is pressed and decrement when one is released. If both are pressed at the same time
+        // then the layer is locked (or unlocked). The shift counts are bound between 0 and 2
+        // only because sometimes rapid pressing led to irregular events; this way the states
+        // are self healing during use.
+
+        case LCaps: // both caps-shift keys trigger Left Shift
+        case RCaps: // so they don't interfere with the magic combo
+        if (record->event.pressed && !record->tap.count) {
+            if(++caps_shift > 2) caps_shift = 2;
+            if(caps_shift == 2)  {
+                register_code(KC_CAPS);
+                unregister_code(KC_CAPS);
+            } else if(caps_shift == 1) {
+                register_code(KC_LSFT);
+            }
+        } else {
+            if(--caps_shift < 0) caps_shift = 0;
+            if(caps_shift == 0) unregister_code(KC_LSFT);
+        }
+        break;
+
+        case LSymb:
+        if (record->event.pressed) {
+            if(++symb_shift > 2) symb_shift = 2;
+            if(symb_shift == 2)  {
+                symb_lock = !symb_lock;
+            } else if(symb_shift == 1) {
+                layer_on(SYMB);
+            }
+        } else {
+            if(--symb_shift < 0) symb_shift = 0;
+            if((symb_shift == 0) && (!symb_lock)) layer_off(SYMB);
+        }
+        break;
+
+        case LMdia:
+        if (record->event.pressed) {
+            if (record->tap.count && (!mdia_shift) && (!mdia_lock)) {
+                register_code(KC_TAB);
+            } else {
+                if(++mdia_shift > 2) mdia_shift = 2;
+                if(mdia_shift == 2)  {
+                    mdia_lock = !mdia_lock;
+                } else if(mdia_shift == 1) {
+                    layer_on(MDIA);
+                }
+            }
+        } else {
+            if(record->tap.count && (!mdia_shift) && (!mdia_lock)) {
+                unregister_code(KC_TAB);
+            } else {
+                if(--mdia_shift < 0) mdia_shift = 0;
+                if((!mdia_shift) && (!mdia_lock)) layer_off(MDIA);
+            }
+        }
+        break;
+
+        case LSpec:
+        if (record->event.pressed) {
+            if (record->tap.count && !record->tap.interrupted) {
+                register_code(KC_GRV);
+            } else {
+                layer_on(SPEC);
+            }
+        } else {
+            if(record->tap.count && !record->tap.interrupted) {
+                unregister_code(KC_GRV);
+            } else {
+                layer_off(SPEC);
+            }
+        }
+        break;
+
+        case RSymb:
+        if (record->event.pressed) {
+            if (record->tap.count && (!symb_shift) && (!symb_lock)) {
+                register_code(KC_QUOT);
+            } else {
+                if(++symb_shift > 2) symb_shift = 2;
+                if(symb_shift == 2)  {
+                    symb_lock = !symb_lock;
+                } else if(symb_shift == 1) {
+                    layer_on(SYMB);
+                }
+            }
+        } else {
+            if(record->tap.count && symb_shift == 0) {
+                unregister_code(KC_QUOT);
+            } else {
+                if(--symb_shift < 0) symb_shift = 0;
+                if((!symb_shift) && (!symb_lock)) layer_off(SYMB);
+            }
+        }
+        break;
+
+        case RMdia:
+        if (record->event.pressed) {
+            if (record->tap.count && (!mdia_shift) && (!mdia_lock)) {
+                register_code(KC_BSLS);
+            } else {
+                if(++mdia_shift > 2) mdia_shift = 2;
+                if(mdia_shift == 2)  {
+                    mdia_lock = !mdia_lock;
+                } else if(mdia_shift == 1) {
+                    layer_on(MDIA);
+                }
+            }
+        } else {
+            if(record->tap.count && (!mdia_shift) && (!mdia_lock)) {
+                unregister_code(KC_BSLS);
+            } else {
+                if(--mdia_shift < 0) mdia_shift = 0;
+                if((!mdia_shift) && (!mdia_lock)) layer_off(MDIA);
+            }
+        }
+        break;
+
+        case RSpec:
+        if (record->event.pressed) {
+            if (record->tap.count && !record->tap.interrupted) {
+                register_code(KC_EQL);
+            } else {
+                layer_on(SPEC);
+            }
+        } else {
+            if(record->tap.count && !record->tap.interrupted) {
+                unregister_code(KC_EQL);
+            } else {
+                layer_off(SPEC);
+            }
+        }
+        break;
+
+        // mouse diagonals
+
+        case MUL: // mouse up left
+        if (record->event.pressed) {
+            mousekey_on(KC_MS_UP);
+            mousekey_on(KC_MS_LEFT);
+            mousekey_send();
+        } else {
+            mousekey_off(KC_MS_UP);
+            mousekey_off(KC_MS_LEFT);
+            mousekey_send();
+        }
+        break;
+
+        case MUR: // mouse up right
+        if (record->event.pressed) {
+            mousekey_on(KC_MS_UP);
+            mousekey_on(KC_MS_RIGHT);
+            mousekey_send();
+        } else {
+            mousekey_off(KC_MS_UP);
+            mousekey_off(KC_MS_RIGHT);
+            mousekey_send();
+        }
+        break;
+
+        case MDL: // mouse down left
         if (record->event.pressed) {
-          register_code(KC_RSFT);
+            mousekey_on(KC_MS_DOWN);
+            mousekey_on(KC_MS_LEFT);
+            mousekey_send();
         } else {
-          unregister_code(KC_RSFT);
+            mousekey_off(KC_MS_DOWN);
+            mousekey_off(KC_MS_LEFT);
+            mousekey_send();
         }
         break;
-      }
+
+        case MDR: // mouse down right
+        if (record->event.pressed) {
+            mousekey_on(KC_MS_DOWN);
+            mousekey_on(KC_MS_RIGHT);
+            mousekey_send();
+        } else {
+            mousekey_off(KC_MS_DOWN);
+            mousekey_off(KC_MS_RIGHT);
+            mousekey_send();
+        }
+        break;
+
+        default:
+            // none
+            break;
+    }
+    
     return MACRO_NONE;
 };
 
@@ -442,31 +429,22 @@ void matrix_init_user(void) {
 
 // Runs constantly in the background, in a loop.
 void matrix_scan_user(void) {
-    uint8_t layer = biton32(layer_state);
-
     // shift or caps lock turns on red light
-    if((keyboard_report->mods & (MOD_BIT(KC_LSFT) | MOD_BIT(KC_RSFT))) || (host_keyboard_leds() & (1<<USB_LED_CAPS_LOCK))) {
+    if(caps_shift || (keyboard_report->mods & MOD_BIT(KC_RSFT)) || (host_keyboard_leds() & (1<<USB_LED_CAPS_LOCK))) {
         ergodox_right_led_1_on();
     } else {
         ergodox_right_led_1_off();
     }
 
-    // do not change lights while locking and unlocking
-    if(layer == LOCK || layer == SYMB_UN || layer == MDIA_UN || layer == UNLOCK) {
-        return;
-    }
-
-    //ergodox_board_led_off();
-
-    // symbol turns on green light
-    if(layer == SYMB_SH || layer == SYMB_LK) {
+    // Symbol layer turns on green light
+    if(layer_state & (1UL<<SYMB)) {
         ergodox_right_led_2_on();
     } else {
         ergodox_right_led_2_off();
     }
 
-    // media turns on blue light
-    if(layer == MDIA_SH || layer == MDIA_LK) {
+    // Media layer turns on blue light
+    if(layer_state & (1UL<<MDIA)) {
         ergodox_right_led_3_on();
     } else {
         ergodox_right_led_3_off();
index 69af8df4e1db1a1b6ebc95ca8c15367500c60557..9c561a10aa2b67b19f682c6c9cdfc9eb0be566f6 100644 (file)
Binary files a/keyboard/ergodox_ez/keymaps/ordinary/ordinary-base.png and b/keyboard/ergodox_ez/keymaps/ordinary/ordinary-base.png differ
index 04792f2dfc535607e039db85dc24c933de995ff4..25731ea2e6b449b6bddb0025ba5854700735c927 100644 (file)
@@ -1,7 +1,7 @@
 [{x:3.5},"#\n3",{x:10.5},"*\n8"],
 [{y:-0.875,x:2.5},"@\n2",{x:1},"$\n4",{x:8.5},"&\n7",{x:1},"(\n9"],
 [{y:-0.875,x:5.5},"%\n5",{c:"#ff4444"},"Esc",{x:4.5,c:"#cccccc"},"_\n\n\n\n\n\n-","^\n6"],
-[{y:-0.875,c:"#2277ff",w:1.5},"Shift\n\n~\n\n\n\nLock\n`",{c:"#cccccc"},"!\n1",{x:14.5},")\n0",{c:"#2277ff",w:1.5},"+\n\nShift\n\n\n\n=\nLock"],
+[{y:-0.875,c:"#2277ff",w:1.5},"Special\n\n~\n\n\n\nShift\n`",{c:"#cccccc"},"!\n1",{x:14.5},")\n0",{c:"#2277ff",w:1.5},"+\n\nSpecial\n\n\n\n=\nShift"],
 [{y:-0.375,x:3.5,c:"#cccccc"},"E",{x:10.5},"I"],
 [{y:-0.875,x:2.5},"W",{x:1},"R",{x:8.5},"U",{x:1},"O"],
 [{y:-0.875,x:5.5},"T",{h:1.5},"{\n\n\n\n\n\n[",{x:4.5,h:1.5},"}\n\n\n\n\n\n]","Y"],
@@ -14,7 +14,7 @@
 [{y:-0.75,x:3.5,c:"#cccccc"},"C",{x:10.5},"<\n,"],
 [{y:-0.875,x:2.5},"X",{x:1},"V",{x:8.5},"M",{x:1},">\n."],
 [{y:-0.875,x:5.5},"B",{x:6.5},"N"],
-[{y:-0.875,c:"#2277ff",fa:[0,1,0,1,0,0,0],w:1.5},"Capitals\nShift\n\n\n\n\nShift",{c:"#cccccc"},"Z",{x:14.5,f:3},"?\n/",{c:"#2277ff",w:1.5},"\n\nCapitals\nShift\n\n\n\nShift"],
+[{y:-0.875,c:"#2277ff",w:1.5},"Capitals\n\n\n\n\n\nShift",{c:"#cccccc"},"Z",{x:14.5},"?\n/",{c:"#2277ff",w:1.5},"\n\nCapitals\n\n\n\n\nShift"],
 [{y:-0.375,x:3.5,c:"#77aaff"},"Option\n\n\nLAlt",{x:10.5},"Option\n\n\nRAlt"],
 [{y:-0.875,x:2.5},"Hyper",{x:1},"Cmd\n\n\nSuper",{x:8.5},"Cmd\n\n\nSuper",{x:1},"Hyper"],
 [{y:-0.75,x:0.5},"Ctrl\n\n\nLCtrl","Meh",{x:14.5},"Meh","Ctrl\n\n\nRCtrl"],
index 0ae162431d3a2d9706fac1f73fb87400a10ad58f..99e5ed80b14d45f145f8e7e6cca897c65241140c 100644 (file)
Binary files a/keyboard/ergodox_ez/keymaps/ordinary/ordinary-media.png and b/keyboard/ergodox_ez/keymaps/ordinary/ordinary-media.png differ
index cc4c877ebdc8da43c2c661b06c8b3ea7fc1b0eb6..4eccc9f350eeeafa89edef214429a64daf10683a 100644 (file)
@@ -1,22 +1,22 @@
 [{x:3.5,c:"#99de2a"},"F13",{x:10.5},"F18"],
 [{y:-0.875,x:2.5},"F12",{x:1},"F14",{x:8.5},"F17",{x:1},"F19"],
-[{y:-0.875,x:5.5},"F15",{c:"#ff4444"},"Esc",{x:4.5,c:"#cccccc",a:7},"",{c:"#99de2a",a:4},"F16"],
-[{y:-0.875,c:"#2277ff",w:1.5},"Shift\n\n\n\n\n\nLock",{c:"#99de2a"},"F11",{x:14.5},"F20",{c:"#2277ff",w:1.5},"\n\nShift\n\n\n\n\nLock"],
+[{y:-0.875,x:5.5},"F15",{c:"#ff4444"},"Esc",{x:4.5,c:"#737373",a:7},"",{c:"#99de2a",a:4},"F16"],
+[{y:-0.875,c:"#2277ff",w:1.5},"Special\n\n\n\n\n\nShift",{c:"#99de2a"},"F11",{x:14.5},"F20",{c:"#2277ff",w:1.5},"\n\nSpecial\n\n\n\n\nShift"],
 [{y:-0.375,x:3.5,c:"#ff8500"},"Mouse\n\n\n\n\n\nUp",{x:10.5},"Cursor\n\n\n\n\n\nUp"],
-[{y:-0.875,x:2.5},"Left\n\n\n\n\n\nClick",{x:1},"Right\n\n\n\n\n\nClick",{x:8.5,c:"#ffb063"},"Home",{x:1},"Page\n\n\n\n\n\nUp"],
+[{y:-0.875,x:2.5},"Mouse\n\n\n\n\n\nUpLeft",{x:1},"Mouse\n\n\n\n\n\nUpRgt",{x:8.5,c:"#ffb063"},"Home",{x:1},"Page\n\n\n\n\n\nUp"],
 [{y:-0.875,x:5.5,c:"#e6e067"},"Vol\n\n\n\n\n\nUp",{c:"#ffb063",h:1.5},"Scroll\n\n\n\n\n\nUp",{x:4.5,h:1.5},"Scroll\n\n\n\n\n\nUp",{c:"#e6e067"},"Print\n\n\n\n\n\nScreen"],
 [{y:-0.875,c:"#000000",t:"#ff0000",w:1.5},"Media\n\n\n\n\n\nShift",{c:"#e6e067",t:"#000000"},"Shut\n\n\n\n\n\nDown",{x:14.5},"Mail",{c:"#000000",t:"#ff0000",w:1.5},"\n\nMedia\n\n\n\n\nShift"],
 [{y:-0.375,x:3.5,c:"#ff8500",t:"#000000"},"Mouse\n\n\n\n\n\nDown",{x:10.5},"Cursor\n\n\n\n\n\nDown"],
 [{y:-0.875,x:2.5},"Mouse\n\n\n\n\n\nLeft",{x:1},"Mouse\n\n\n\n\n\nRight",{x:8.5},"Cursor\n\n\n\n\n\nLeft",{x:1},"Cursor\n\n\n\n\n\nRight"],
 [{y:-0.875,x:5.5,c:"#e6e067"},"Vol\n\n\n\n\n\nDown",{x:6.5},"Num\n\n\n\n\n\nLock"],
-[{y:-0.875,c:"#cccccc",a:7,w:1.5},"",{c:"#e6e067",a:4},"Sleep",{x:14.5},"My\n\n\n\n\n\nComp",{c:"#cccccc",a:7,w:1.5},""],
-[{y:-0.625,x:6.5,c:"#ffb063",a:4,h:1.5},"Scroll\n\n\n\n\n\nDown",{x:4.5,h:1.5},"Scroll\n\n\n\n\n\nDown"],
+[{y:-0.875,c:"#2277ff",w:1.5},"Symbols\n\n\n\n\n\nShift",{c:"#e6e067"},"Sleep",{x:14.5},"My\n\n\n\n\n\nComp",{c:"#2277ff",w:1.5},"\n\nSymbols\n\n\n\n\nShift"],
+[{y:-0.625,x:6.5,c:"#ffb063",h:1.5},"Scroll\n\n\n\n\n\nDown",{x:4.5,h:1.5},"Scroll\n\n\n\n\n\nDown"],
 [{y:-0.75,x:3.5,c:"#ff8500"},"Mouse\n\n\n\n\n\nDown",{x:10.5},"Cursor\n\n\n\n\n\nDown"],
-[{y:-0.875,x:2.5,c:"#cccccc",a:7},"",{x:1},"",{x:8.5,c:"#ffb063",a:4},"End",{x:1},"Page\n\n\n\n\n\nDown"],
-[{y:-0.875,x:5.5,c:"#e6e067"},"Mute",{x:6.5,c:"#cccccc",a:7},""],
-[{y:-0.875,c:"#2277ff",a:4,f2:1,w:1.5},"Capitals\nShift\n\n\n\n\nShift",{c:"#cccccc",a:7},"",{x:14.5},"",{c:"#2277ff",a:4,fa:[0,1,0,1],w:1.5},"\n\nCapitals\nShift\n\n\n\nShift"],
-[{y:-0.375,x:3.5,c:"#77aaff"},"Option\n\n\nLAlt",{x:10.5,c:"#ffb063"},"Delete\n\n\nOption"],
-[{y:-0.875,x:2.5,c:"#77aaff"},"Hyper",{x:1},"Cmd\n\n\nSuper",{x:8.5,c:"#ffb063"},"Insert\n\n\nCmd",{x:1,c:"#77aaff"},"Hyper"],
+[{y:-0.875,x:2.5},"Mouse\n\n\n\n\n\nDnLeft",{x:1},"Mouse\n\n\n\n\n\nDnRgt",{x:8.5,c:"#ffb063"},"End",{x:1},"Page\n\n\n\n\n\nDown"],
+[{y:-0.875,x:5.5,c:"#e6e067"},"Mute",{x:6.5,c:"#737373",a:7},""],
+[{y:-0.875,c:"#2277ff",a:4,w:1.5},"Capitals\n\n\n\n\n\nShift",{c:"#737373",a:7},"",{x:14.5},"",{c:"#2277ff",a:4,w:1.5},"\n\nCapitals\n\n\n\n\nShift"],
+[{y:-0.375,x:3.5,c:"#ff8500"},"Middle\n\n\n\n\n\nClick",{x:10.5,c:"#ffb063",fa:[0,0,0,1]},"Delete\n\n\nOption"],
+[{y:-0.875,x:2.5,c:"#ff8500"},"Left\n\n\n\n\n\nClick",{x:1},"Right\n\n\n\n\n\nClick",{x:8.5,c:"#ffb063"},"Insert\n\n\nCmd",{x:1,c:"#77aaff"},"Hyper"],
 [{y:-0.75,x:0.5},"Ctrl\n\n\nLCtrl","Meh",{x:14.5},"Meh","Crtl\n\n\nRCtrl"],
 [{r:30,rx:6.5,ry:4.25,y:-1,x:1,c:"#ccbb00"},"Stop\n\n\nBrowser","Reload\n\n\nBrowser"],
 [{h:2},"< Web\n\n\nBrowser",{h:2},"Web >\n\n\nBrowser","Search\n\n\nBrowser"],
diff --git a/keyboard/ergodox_ez/keymaps/ordinary/ordinary-special.png b/keyboard/ergodox_ez/keymaps/ordinary/ordinary-special.png
new file mode 100644 (file)
index 0000000..6eecf44
Binary files /dev/null and b/keyboard/ergodox_ez/keymaps/ordinary/ordinary-special.png differ
diff --git a/keyboard/ergodox_ez/keymaps/ordinary/ordinary-special.txt b/keyboard/ergodox_ez/keymaps/ordinary/ordinary-special.txt
new file mode 100644 (file)
index 0000000..a08827c
--- /dev/null
@@ -0,0 +1,27 @@
+[{x:3.5,a:7},"",{x:10.5},""],
+[{y:-0.875,x:2.5},"",{x:1},"",{x:8.5},"",{x:1},""],
+[{y:-0.875,x:5.5},"",{c:"#ff4444",a:4},"Esc",{x:4.5,c:"#cccccc",a:7},"",""],
+[{y:-0.875,c:"#000000",t:"#ff0000",a:4,w:1.5},"Special\n\n\n\n\n\nShift",{c:"#ff4444",t:"#000000"},"Esc",{x:14.5,c:"#54d6de"},"Back\n\n\n\n\n\nspace",{c:"#000000",t:"#ff0000",w:1.5},"\n\nSpecial\n\n\n\n\nShift"],
+[{y:-0.375,x:3.5,c:"#cccccc",t:"#000000",a:7},"",{x:10.5},""],
+[{y:-0.875,x:2.5},"",{x:1},"",{x:8.5},"",{x:1},""],
+[{y:-0.875,x:5.5},"",{h:1.5},"",{x:4.5,h:1.5},"",""],
+[{y:-0.875,w:1.5},"","",{x:14.5},"",{w:1.5},""],
+[{y:-0.375,x:3.5},"",{x:10.5},""],
+[{y:-0.875,x:2.5},"",{x:1},"",{x:8.5},"",{x:1},""],
+[{y:-0.875,x:5.5},"",{x:6.5},""],
+[{y:-0.875,w:1.5},"","",{x:14.5},"",{w:1.5},""],
+[{y:-0.625,x:6.5,h:1.5},"",{x:4.5,h:1.5},""],
+[{y:-0.75,x:3.5},"",{x:10.5},""],
+[{y:-0.875,x:2.5},"",{x:1},"",{x:8.5},"",{x:1},""],
+[{y:-0.875,x:5.5},"",{x:6.5},""],
+[{y:-0.875,w:1.5},"","",{x:14.5},"",{c:"#2277ff",w:1.5},"RShift"],
+[{y:-0.375,x:3.5,c:"#cccccc"},"",{x:10.5},""],
+[{y:-0.875,x:2.5},"",{x:1},"",{x:8.5},"",{x:1},""],
+[{y:-0.75,x:0.5},"","",{x:14.5},"",""],
+[{r:30,rx:6.5,ry:4.25,y:-1,x:1},"",""],
+[{h:2},"",{h:2},"",""],
+[{x:2},""],
+[{r:-30,rx:13,y:-1,x:-3},"",""],
+[{x:-3},"",{h:2},"",{h:2},""],
+[{x:-3},""]
+
index b3101e5c0496fa090535e2bd4519311bf3398d21..e4de64a96f1a4445bedfd0dd9a0330fc08580cd6 100644 (file)
Binary files a/keyboard/ergodox_ez/keymaps/ordinary/ordinary-symbol.png and b/keyboard/ergodox_ez/keymaps/ordinary/ordinary-symbol.png differ
index 35efdba7d6a83c246bf0a90d5cbe7f40f8e58b8d..e199f5c59f4486d0d7e148d5fa9444bd73cb3c79 100644 (file)
@@ -1,7 +1,7 @@
 [{x:3.5,c:"#99de2a"},"F3",{x:10.5},"F8"],
 [{y:-0.875,x:2.5},"F2",{x:1},"F4",{x:8.5},"F7",{x:1},"F9"],
 [{y:-0.875,x:5.5},"F5",{c:"#ff4444"},"Esc",{x:4.5,c:"#bbddbb"},"_\n\n\n\n\n\n-",{c:"#99de2a"},"F6"],
-[{y:-0.875,c:"#2277ff",w:1.5},"Shift\n\n\n\n\n\nLock",{c:"#99de2a"},"F1",{x:14.5},"F10",{c:"#2277ff",w:1.5},"\n\nShift\n\n\n\n\nLock"],
+[{y:-0.875,c:"#2277ff",w:1.5},"Special\n\n\n\n\n\nShift",{c:"#99de2a"},"F1",{x:14.5},"F10",{c:"#2277ff",w:1.5},"\n\nSpecial\n\n\n\n\nShift"],
 [{y:-0.375,x:3.5,c:"#bbddbb"},"{",{x:10.5,c:"#89b087"},"8"],
 [{y:-0.875,x:2.5,c:"#bbddbb"},"@",{x:1},"}",{x:8.5,c:"#89b087"},"7",{x:1},"9"],
 [{y:-0.875,x:5.5,c:"#bbddbb"},"&",{h:1.5},"<",{x:4.5,h:1.5},">","|"],
@@ -14,7 +14,7 @@
 [{y:-0.75,x:3.5,c:"#bbddbb"},"[",{x:10.5,c:"#89b087"},"2"],
 [{y:-0.875,x:2.5,c:"#bbddbb"},"^",{x:1},"]",{x:8.5,c:"#89b087"},"1",{x:1},"3"],
 [{y:-0.875,x:5.5,c:"#bbddbb"},"~",{x:6.5},"\\"],
-[{y:-0.875,c:"#2277ff",fa:[0,1,0,1,0,0,1],w:1.5},"Capitals\nShift\n\n\n\n\nShift",{c:"#bbddbb"},"%",{x:14.5,c:"#89b087"},"-",{c:"#2277ff",w:1.5},"\n\nCapitals\nShift\n\n\n\nShift"],
+[{y:-0.875,c:"#2277ff",w:1.5},"Capitals\n\n\n\n\n\nShift",{c:"#bbddbb"},"%",{x:14.5,c:"#89b087"},"-",{c:"#2277ff",w:1.5},"\n\nCapitals\n\n\n\n\nShift"],
 [{y:-0.375,x:3.5,c:"#77aaff"},"Option\n\n\nLAlt",{x:10.5,c:"#89b087"},".\n\n\nOption"],
 [{y:-0.875,x:2.5,c:"#77aaff"},"Hyper",{x:1},"Cmd\n\n\nSuper",{x:8.5,c:"#89b087"},"0\n\n\nCmd",{x:1},"=\n\n\nHyper"],
 [{y:-0.75,x:0.5,c:"#77aaff"},"Ctrl\n\n\nLCtrl","Meh",{x:14.5,c:"#89b087"},"+\n\n\nMeh","Enter\n\n\nCtrl"],
@@ -22,6 +22,6 @@
 [{h:2},"Space",{h:2},"Enter","Up"],
 [{x:2},"Down"],
 [{r:-30,rx:13,y:-1,x:-3},"Home","End"],
-[{x:-3,f:3},"Page\n\n\n\n\n\nUp",{h:2},"< Del\n\n\nBackspace",{h:2},"Del >\n\n\nDelete"],
-[{x:-3,f:3},"Page\n\n\n\n\n\nDown"]
+[{x:-3},"Page\n\n\n\n\n\nUp",{h:2},"< Del\n\n\nBackspace",{h:2},"Del >\n\n\nDelete"],
+[{x:-3},"Page\n\n\n\n\n\nDown"]
 
index 8e2d5ce26d49e38420ef462fc2058f8b378e777f..1e740e4f39f3d23d4fb783c54992dbf77b23cb42 100644 (file)
-:100000000C945F040C94A3040C94A3040C94A30418\r
-:100010000C94A3040C94A3040C94A3040C94A304C4\r
-:100020000C94A3040C94A3040C94C40D0C94960E8D\r
-:100030000C94A3040C94A3040C94A3040C94A304A4\r
-:100040000C94A3040C9441230C94A3040C94A304D7\r
-:100050000C94A3040C94E31C0C94A3040C94A3042C\r
-:100060000C94A3040C94A3040C94A3040C94A30474\r
-:100070000C94A3040C94A3040C94A3040C94A30464\r
-:100080000C94A3040C94A3040C94A3040C94A30454\r
-:100090000C94A3040C94A3040C94A3040C94A30444\r
-:1000A0000C94A3040C94A3040C94A304FB0E1D0F46\r
-:1000B00008101D0F08105F0F820F0810D70FEA0FEE\r
-:1000C000DE12DE120C130C134E138A138A158A15D6\r
-:1000D000A2138A159914991464158A158A1578152E\r
-:1000E000000000810889248935812B850252E100B6\r
-:1000F000E00000001E00140004001D0000774E0008\r
-:100100001F001A0016001B00007F4C002000080092\r
-:1001100007000600E2002A0021001500090019006E\r
-:10012000E3004B00220017000A00050000004A000F\r
-:1001300029002F0000002B0200004D002D00300090\r
-:1001400000002B000000500023001C000B001100D9\r
-:1001500000004F00240018000D001000E7005200BE\r
-:1001600025000C000E003600E6002C0026001200D0\r
-:100170000F003700007F28002700130033003800ED\r
-:10018000007751002E8131853482E500E4000000C3\r
-:100190000100C300C2003900010000002900010075\r
-:1001A0000100010001000100010001000100010047\r
-:1001B0000100010001000100010001000100010037\r
-:1001C0000100010001000100010001000100010027\r
-:1001D0000100010000000100010001000000010019\r
-:1001E000000001000100010000000100000001000A\r
-:1001F00001000100010001000000010001000100F8\r
-:1002000001000100010001000100010001000100E6\r
-:1002100001000100010001000100010001000100D6\r
-:100220002A00010001000100010001000100C300DB\r
-:10023000C200390001000000C20005520252E10074\r
-:10024000010000003A001E022002220201005100BB\r
-:100250003B001F0221022302010028003C002F0264\r
-:1002600026022F0001002C003D0030022702300042\r
-:10027000010052003E00240235003502000050000B\r
-:100280000100360200002B0000004F002D00370255\r
-:1002900000002B0200004A003F003102380031000C\r
-:1002A00000004D004000240021001E0027784B0074\r
-:1002B0004100250022001F0037744C004200260038\r
-:1002C000230020002E7F2A004300380025022D0045\r
-:1002D0002E774E00C20005520252E5002871000040\r
-:1002E000045205520852E100010000003A001E02CB\r
-:1002F00020022202010051003B001F0221022302C2\r
-:10030000010028003C002F0226022F0001002C00D3\r
-:100310003D00300227023000010052003E0024025E\r
-:1003200035003502000050000100360200002B00AD\r
-:1003300000004F002D00370200002B0200004A0091\r
-:100340003F0031023800310000004D004000240021\r
-:1003500021001E0027784B004100250022001F00CD\r
-:1003600037744C0042002600230020002E7F2A0014\r
-:100370004300380025022D002E774E00045205520E\r
-:100380000852E5002871000001000654C100390040\r
-:10039000010000002900010001000100010001002E\r
-:1003A0000100010001000100010001000100010045\r
-:1003B0000100010001000100010001000100010035\r
-:1003C0000100010001000100010001000000010026\r
-:1003D0000100010000000100000001000100010017\r
-:1003E0000000010000000100010001000100010007\r
-:1003F00000000100010001000100010001000100F6\r
-:1004000001000100010001000100010001000100E4\r
-:1004100001000100010001002A00010001000100AB\r
-:100420000100010001000654C10039000100000074\r
-:10043000C30005520252E100E000000044006600E3\r
-:10044000A60000000077B5004500F400F2000000AF\r
-:10045000007F00006800F000F100F100E200B6004B\r
-:100460006900F500F3000000E300B4006A00A90091\r
-:10047000AA00A8000000B8000000F9000000FA007F\r
-:100480000000B9000000F9000000FA000000AC0014\r
-:100490006B004600530000000000AB006C004A00F7\r
-:1004A00050004D004978A9006D00520051005100E4\r
-:1004B0004C74AE006E004B004F004E00007FAD004C\r
-:1004C0006F00B100B30000000077AA00C30005521E\r
-:1004D0000252E500E4000000075208520000E1006B\r
-:1004E000E000000044006600A60000000077B500B0\r
-:1004F0004500F400F2000000007F00006800F000FA\r
-:10050000F100F100E200B6006900F500F300000020\r
-:10051000E300B4006A00A900AA00A8000000B80027\r
-:100520000000F9000000FA000000B9000000F90026\r
-:100530000000FA000000AC006B0046005300000011\r
-:100540000000AB006C004A0050004D004978A90043\r
-:100550006D005200510051004C74AE006E004B0013\r
-:100560004F004E00007FAD006F00B100B3000000EF\r
-:100570000077AA00075208520000E500E4000000DE\r
-:100580000100C10001003900010000002900010044\r
-:100590000100010001000100010001000100010053\r
-:1005A0000100010001000100010001000100010043\r
-:1005B0000100010001000100010001000100010033\r
-:1005C0000100010000000100010001000000010025\r
-:1005D0000000010001000100000001000000010016\r
-:1005E0000100010001000100000001000100010004\r
-:1005F00001000100010001000100010001000100F3\r
-:1006000001000100010001000100010001000100E2\r
-:100610002A00010001000100010001000100C100E9\r
-:100620000100390001000000C100010001000100CB\r
-:10063000010000002900010001000100010001008B\r
-:1006400001000100010001000100010001000100A2\r
-:100650000100010001000100010001000100010092\r
-:100660000100010001000100010001000000010083\r
-:100670000100010000000100000001000100010074\r
-:100680000000010000000100010001000100010064\r
-:100690000000010001000100010001000100010053\r
-:1006A0000100010001000100010001000100010042\r
-:1006B0000100010001000100010001000100010032\r
-:1006C00001000100C1000100010001000100000063\r
-:1006D00016034500720067006F0044006F00780049\r
-:1006E000200045005A000000160345007200670014\r
-:1006F0006F0044006F007800200045005A000000A1\r
-:100700000403090409026D00040100A0FA090400B1\r
-:10071000000103010100092111010001223F00072E\r
-:1007200005810308000A0904010001030102000910\r
-:100730002111010001224D000705820308000A096A\r
-:10074000040200010300000009211101000122360A\r
-:10075000000705830308000A0904030001030000E1\r
-:10076000000921110100012239000705840310004E\r
-:10077000011201100100000008EDFE071301000145\r
-:1007800002000105010906A101050719E029E71585\r
-:1007900000250195087501810205081901290595B3\r
-:1007A000057501910295017503910105071900294D\r
-:1007B0007715002501957875018102C00501098032\r
-:1007C000A101850216010026B7001A01002AB70010\r
-:1007D000751095018100C0050C0901A10185031662\r
-:1007E0000100269C021A01002A9C027510950181C5\r
-:1007F00000C005010902A1010901A10005091901B3\r
-:1008000029051500250195057501810295017503DE\r
-:1008100081010501093009311581257F950275088F\r
-:10082000810609381581257F950175088106050C1B\r
-:100830000A38021581257F950175088106C0C0051B\r
-:10084000010906A101050719E029E7150025019511\r
-:1008500008750181029501750881010508190129B2\r
-:10086000059505750191029501750391010507191B\r
-:100870000029FF150025FF950675088100C00000BE\r
-:10088000000000000000000000010204060A0F172B\r
-:10089000202C3A4A5D71879DB3C7DAE9F5FCFFFC6D\r
-:1008A000F5E9DAC7B39D87715D4A3A2C20170F0A24\r
-:1008B00006040201000000000000000000001124F6\r
-:1008C0001FBECFEFDAE0DEBFCDBF04B603FE24C00B\r
-:1008D0008091EF019091F001A091F101B091F201AE\r
-:1008E0008730904BA740B04BB9F41092EF011092B3\r
-:1008F000F0011092F1011092F20114BE84B7877FCB\r
-:1009000084BF88E10FB6F894809360001092600075\r
-:100910000FBEE0E0FFE3099511E0A0E0B1E0E6E002\r
-:10092000FAE402C005900D92A433B107D9F721E093\r
-:10093000A4E3B1E001C01D92AF3EB207E1F70E940F\r
-:100940000A0B0C9401250C94000061110BC0FC01F2\r
-:100950008281882321F085EE0E946B1103C085EE11\r
-:100960000E94331280E090E008950895CF93609143\r
-:10097000B1017091B2018091B3019091B4010E94D4\r
-:100980000F1CC82FE0910E01F0910F01808182723F\r
-:1009900019F0259A2D9A06C00E94431081FDF9CFC7\r
-:1009A00025982D98C130B9F0C430A9F089EF8C0F8B\r
-:1009B000823088F08EEF8C0F823018F4269A2E9AAF\r
-:1009C00002C026982E98C550C23018F4279A2F9A44\r
-:1009D00002C027982F98CF9108950C94B60456988A\r
-:1009E0005E9825982D9826982E9827982F988FEF07\r
-:1009F00090E0909389008093880090938B0080937F\r
-:100A00008A0090938D0080938C00259A2D9A2FEF69\r
-:100A100080E792E0215080409040E1F700C0000064\r
-:100A2000269A2E9A2FEF80E792E021508040904046\r
-:100A3000E1F700C00000279A2F9A2FEF80E792E09D\r
-:100A4000215080409040E1F700C0000025982D988B\r
-:100A50002FEF80E792E0215080409040E1F700C006\r
-:100A6000000026982E982FEF80E792E021508040DA\r
-:100A70009040E1F700C0000027982F9856985E98A4\r
-:100A800025982D9826982E9827982F98089589EACA\r
-:100A90008093800089E08093810024982C983F986F\r
-:100AA0008AB18F748AB96E98479A8BB1806B8BB973\r
-:100AB000769A0E94EF040C94B50480E280930001C2\r
-:100AC0008091340181110EC00E94AC0581E08093B9\r
-:100AD00034012FEF83ED90E3215080409040E1F707\r
-:100AE00000C0000080E40E94B205809300018111E3\r
-:100AF0002EC00E94DC0580930001811128C00E9455\r
-:100B0000DC0580930001811122C08FE30E94DC0587\r
-:100B10008093000181111BC00E94D40580E40E94D3\r
-:100B2000B20580930001811112C08CE00E94DC05A7\r
-:100B30008093000181110BC00E94DC0580930001AD\r
-:100B4000811105C08FE30E94DC05809300010E94A3\r
-:100B5000D4058091000108951092B9008AE0809335\r
-:100B6000B800089594EA9093BC009091BC0097FF60\r
-:100B7000FCCF9091B900987F983021F0903111F01E\r
-:100B800081E008958093BB0084E88093BC0080914D\r
-:100B9000BC0087FFFCCF8091B900887F883111F0BD\r
-:100BA000803471F780E0089584E98093BC008091DF\r
-:100BB000BC0084FDFCCF08958093BB0084E8809343\r
-:100BC000BC008091BC0087FFFCCF9091B900987F5A\r
-:100BD00081E0983209F480E0089584E88093BC00B5\r
-:100BE0008091BC0087FFFCCF8091BB00089580916D\r
-:100BF0000001811115C080E40E94B20580930001BC\r
-:100C000081110CC082E10E94DC05809300018111FA\r
-:100C100005C08FEF0E94DC05809300010E94D4057F\r
-:100C200084B1807F84B985B1807F85B98AB1837FA3\r
-:100C30008AB98BB1837F8BB93E98469808950E94FC\r
-:100C40005D05809300010E94F70580B38C7080BB26\r
-:100C500081B3836F81BBE4E4F1E0A6E3B1E01192DC\r
-:100C60001D9281E0E235F807D1F70C944705BF9259\r
-:100C7000CF92DF92EF92FF920F931F93CF93DF9368\r
-:100C800080910001882379F0809135018F5F8093F6\r
-:100C90003501811108C00E945D058093000181111A\r
-:100CA00002C00E94EF0406E311E0C0E0D0E0DD24C2\r
-:100CB000D39482E0C82EEE24E394F12CC73000F5E3\r
-:100CC00080910001811162C080E40E94B20580938E\r
-:100CD0000001811112C082E10E94DC0580930001B5\r
-:100CE00081110BC0C7010C2E01C0880F0A94EAF7CE\r
-:100CF00080950E94DC05809300010E94D40546C0C7\r
-:100D0000CA30A1F028F4C83059F0C93061F005C0EC\r
-:100D1000CC3089F070F0CD3089F0209A289810C03E\r
-:100D2000219A29980DC0229A2A980AC0239A2B98B2\r
-:100D300007C0529A01C0539A5B9802C03E9A4698E7\r
-:100D4000E0EAEA95F1F78FB179995AC092E08170A3\r
-:100D50008D25892B7C9B02C090E001C094E0892BFB\r
-:100D60007D9B02C090E001C098E0892B7E9B02C071\r
-:100D700090E001C090E1892B9FB19095991F992730\r
-:100D8000991F9295990F907E892B0FC08091000139\r
-:100D900081114BC080E40E94B2058093000188233A\r
-:100DA00089F1B12C0E94D4058B2DF8019081981700\r
-:100DB00019F08083C09201010E94F70521960F5F10\r
-:100DC0001F4FCE30D10509F079CF809101018823E2\r
-:100DD00071F1815080930101882339F08FE99FE000\r
-:100DE0000197F1F700C0000022C0A4E4B1E0E6E3FF\r
-:100DF000F1E081918D9391E0E434F907D1F717C0C8\r
-:100E000090E0A5CF83E10E94DC0580930001811171\r
-:100E1000C8CF81E40E94B205809300018111C1CF47\r
-:100E20000E94ED05B82EB094BDCF80E0BECF0E94E9\r
-:100E3000ED0481E0DF91CF911F910F91FF90EF9032\r
-:100E4000DF90CF90BF900895E82FF0E0EC5BFE4F6D\r
-:100E50008081089508958B3B910578F4883A910537\r
-:100E600040F5853A9105D0F48430910508F0B1C081\r
-:100E70008130910509F4ADC06BC0803E910508F446\r
-:100E800067C0883E910508F4A4C09C01205F310929\r
-:100E90002031310508F05CC090650895853A9105D0\r
-:100EA00009F459C0863A910509F458C083E890E4E2\r
-:100EB0000895883A910509F454C0893A910509F4D6\r
-:100EC00053C08A3A910509F452C08B3A910509F44E\r
-:100ED00051C08C3A910509F450C08D3A910509F43E\r
-:100EE0004FC0803B910509F44EC08E3A910509F43C\r
-:100EF0004DC08F3A910509F44CC0813B910509F42E\r
-:100F00004BC0823B910509F44AC0833B910509F42B\r
-:100F100049C0843B910509F448C0853B910509F41B\r
-:100F200047C0863B910509F446C0873B910509F40B\r
-:100F300045C0883B910509F444C0893B910509F4FB\r
-:100F400043C08A3B910509F042C08AE296E40895C5\r
-:100F500080E090E0089581E890E4089582E890E4CC\r
-:100F6000089582EE94E4089589EE94E408958AEE5B\r
-:100F700094E4089585EB94E4089586EB94E4089551\r
-:100F800087EB94E408958CEC94E408958DEC94E45C\r
-:100F9000089583E895E408958AE895E4089582E940\r
-:100FA00095E4089584E995E4089581E296E408952E\r
-:100FB00083E296E4089584E296E4089585E296E457\r
-:100FC000089586E296E4089587E296E4089580E025\r
-:100FD00094E40895089596E0799FF001112494E532\r
-:100FE000899FE00DF11D1124E60FF11DEE0FFF1F8B\r
-:100FF000E851FF4F859194910895880F991F805A69\r
-:101000009040FC01859194910895880F991F80521A\r
-:101010009F4FFC0185919491089526E0729FF00105\r
-:10102000112444E5849FE00DF11D1124E60FF11D0C\r
-:10103000EE0FFF1FE851FF4F25913491C9019A959A\r
-:1010400081159F4110F4C9010895C901905281157D\r
-:10105000904128F4C9019F700E9405080895C901B4\r
-:1010600090538115904120F4C9019927906C0895FF\r
-:10107000211580E5380769F40E94AD159FEF24E340\r
-:101080004CE0915020404040E1F700C000000C943B\r
-:10109000081D213080E5380731F48091CD01816051\r
-:1010A0008093CD010895C90190558115904108F0B4\r
-:1010B00050C0832F99278F70992781309105D9F4DB\r
-:1010C000A9014370552702C0880F991F4A95E2F77E\r
-:1010D0009C68A90164E0440F551F6A95E1F7442715\r
-:1010E0005370842B952B73E0220F331F7A95E1F711\r
-:1010F000207633271DC08230910529F4922F88274E\r
-:10110000816F906A089583309105A9F4A901437015\r
-:10111000552781E090E002C0880F991F4A95E2F7B9\r
-:101120009C6843E0220F331F4A95E1F7207E377019\r
-:10113000822B932B08950497F1F4A901437055274E\r
-:1011400081E090E002C0880F991F4A95E2F79A6803\r
-:10115000E8CFC90190578115904120F4C9019F70D3\r
-:1011600090620895C90190588115904120F4C901F9\r
-:101170009F70906A0895203E3105E0F4203C3105CF\r
-:1011800058F52133310509F470C048F4293231058E\r
-:1011900009F464C02A32310509F46EC074C02933E1\r
-:1011A0003105F1F022383105D9F02533310509F444\r
-:1011B0004EC069C0233E310589F138F4203E310527\r
-:1011C000C1F0223E3105E1F05EC0263E310569F1F5\r
-:1011D000273E3105A9F157C0C9010E94FD070895B6\r
-:1011E0008091E00180FD02C081FF4DC080EE90E063\r
-:1011F0004BC08091E00180FFF9CF89E390E044C0CB\r
-:101200008091E00182FF0EC08091E00184FF03C065\r
-:1012100080E090E039C083EE90E036C08091E0013C\r
-:1012200082FFF2CF82EE90E02FC08091E00183FF39\r
-:101230000BC08091E00184FDEBCF87EE90E024C0ED\r
-:101240008091E00183FFF5CF86EE90E01DC0809194\r
-:10125000E00185FF07C089E290E016C08091E001BF\r
-:1012600085FFF9CF85E390E00FC08091E00186FF14\r
-:1012700007C08AE290E008C08091E00186FFF9CFC4\r
-:1012800081E390E001C0C9010E942B0708950895F1\r
-:101290000C944709809162010895CF93DF9300D0A9\r
-:1012A0001F92CDB7DEB72091E601243019F523E077\r
-:1012B00029839B838A832093E9008FEF9091E80034\r
-:1012C000815095FD06C095ED9A95F1F700008111CA\r
-:1012D000F5CF8091E80085FF0DC040E050E063E06D\r
-:1012E00070E0CE0101960E94B70B8091E8008E77E6\r
-:1012F0008093E8000F900F900F90DF91CF910895A9\r
-:10130000CF93DF9300D01F92CDB7DEB72091E601D7\r
-:10131000243021F522E029839B838A8383E0809314\r
-:10132000E9008FEF9091E800815095FD06C095EDA2\r
-:101330009A95F1F700008111F5CF8091E80085FFC3\r
-:101340000DC040E050E063E070E0CE0101960E94E5\r
-:10135000B70B8091E8008E778093E8000F900F9094\r
-:101360000F90DF91CF9108952091E6012430F1F4A0\r
-:1013700022E02093E9002FEF3091E800215035FD65\r
-:1013800006C035ED3A95F1F700002111F5CF209117\r
-:10139000E80025FF0BC040E050E065E070E00E94EF\r
-:1013A000B70B8091E8008E778093E8000895CF9383\r
-:1013B000DF93EC018091E601843009F046C0909102\r
-:1013C0000C019923D9F090910D019923B9F08093E4\r
-:1013D000E9008FEF9091E800815095FD06C095E1FE\r
+:100000000C94D7020C941B030C941B030C941B033D\r
+:100010000C941B030C941B030C941B030C941B03E8\r
+:100020000C941B030C941B030C94500E0C94220F85\r
+:100030000C941B030C941B030C941B030C941B03C8\r
+:100040000C941B030C94A1230C941B030C941B0312\r
+:100050000C941B030C94451D0C941B030C941B0364\r
+:100060000C941B030C941B030C941B030C941B0398\r
+:100070000C941B030C941B030C941B030C941B0388\r
+:100080000C941B030C941B030C941B030C941B0378\r
+:100090000C941B030C941B030C941B030C941B0368\r
+:1000A0000C941B030C941B030C941B032B035F0386\r
+:1000B0008403C2032B036803A603D00391049104B5\r
+:1000C00054045E0468047A04870FA90F9410A90FE2\r
+:1000D0009410EB0F0E1094106310761070137013C1\r
+:1000E000B113B113F3132F142F162F1647142F1615\r
+:1000F0003E153E1509162F162F161D16000000007E\r
+:1001000000000000000000000000000000000000EF\r
+:100110000AC80BC80CC80DC80EC80FC810C811C833\r
+:100120000D200C200B300A30E00000001E001400EF\r
+:1001300004001D0000074E001F001A0016001B00DF\r
+:10014000000F4C002000080007000600E2002A0013\r
+:100150002100150009001900E3004B0022001700E0\r
+:100160000A00050000004A0029002F0000002B02B1\r
+:1001700000004D002D00300000002B00000050005A\r
+:1001800023001C000B00110000004F002400180089\r
+:100190000D001000E700520025000C000E00360094\r
+:1001A000E6002C00260012000F003700000F280088\r
+:1001B00027001300330038000007510011201020E1\r
+:1001C0000F200E30E40000000100010001000100DA\r
+:1001D000E00000003A001E02200222020007510047\r
+:1001E0003B001F0221022302000F28003C002F02C7\r
+:1001F00026022F00E2002C003D00300227023000D2\r
+:10020000E30052003E002402350035020000500099\r
+:100210002900360200002B0000004F002D0037029D\r
+:1002200000002B0200004A003F003102380031007C\r
+:1002300000004D004000240021001E0027784B00E4\r
+:100240004100250022001F0037744C0042002600A8\r
+:10025000230020002E7F2A004300380025022D00B5\r
+:100260002E774E00010001000100010028710000FE\r
+:100270000100010001000100E000000044006600F0\r
+:10028000A60000000007B50045001430F20016304B\r
+:10029000F60000006800F000F100F100F400B60084\r
+:1002A00069001530F3001730F500B4006A00A900AA\r
+:1002B000AA00A8000000B8002900F9000000FA0018\r
+:1002C0000000B9000000F9000000FA000000AC00D6\r
+:1002D0006B004600530000000000AB006C004A00B9\r
+:1002E00050004D004978A9006D00520051005100A6\r
+:1002F0004C74AE006E004B004F004E00000FAD007E\r
+:100300006F00B100B30000000007AA000100010067\r
+:1003100001000100E40000000100010001000100F3\r
+:10032000010000002900010001000100010001009E\r
+:1003300001000100010001000100010001000100B5\r
+:1003400001000100010001000100010001000100A5\r
+:100350000100010001000100010001000000010096\r
+:100360000100010000000100000001000100010087\r
+:100370000000010000000100010001000100010077\r
+:100380000000010001000100010001000100010066\r
+:100390000100010001000100010001000100010055\r
+:1003A00001000100010001002A000100010001001C\r
+:1003B00001000100010001000100E5000100000052\r
+:1003C00016034500720067006F0044006F0078005C\r
+:1003D000200045005A000000160345007200670027\r
+:1003E0006F0044006F007800200045005A000000B4\r
+:1003F0000403090409026D00040100A0FA090400C5\r
+:10040000000103010100092111010001223F000741\r
+:1004100005810308000A0904010001030102000923\r
+:100420002111010001224D000705820308000A097D\r
+:10043000040200010300000009211101000122361D\r
+:10044000000705830308000A0904030001030000F4\r
+:100450000009211101000122390007058403100061\r
+:10046000011201100100000008EDFE071301000158\r
+:1004700002000105010906A101050719E029E71598\r
+:1004800000250195087501810205081901290595C6\r
+:100490000575019102950175039101050719002960\r
+:1004A0007715002501957875018102C00501098045\r
+:1004B000A101850216010026B7001A01002AB70023\r
+:1004C000751095018100C0050C0901A10185031675\r
+:1004D0000100269C021A01002A9C027510950181D8\r
+:1004E00000C005010902A1010901A10005091901C6\r
+:1004F00029051500250195057501810295017503F2\r
+:1005000081010501093009311581257F95027508A2\r
+:10051000810609381581257F950175088106050C2E\r
+:100520000A38021581257F950175088106C0C0052E\r
+:10053000010906A101050719E029E7150025019524\r
+:1005400008750181029501750881010508190129C5\r
+:10055000059505750191029501750391010507192E\r
+:100560000029FF150025FF950675088100C00000D1\r
+:10057000000000000000000000010204060A0F173E\r
+:10058000202C3A4A5D71879DB3C7DAE9F5FCFFFC80\r
+:10059000F5E9DAC7B39D87715D4A3A2C20170F0A37\r
+:1005A0000604020100000000000000000000112409\r
+:1005B0001FBECFEFDAE0DEBFCDBF04B603FE24C01E\r
+:1005C0008091F6019091F701A091F801B091F901A5\r
+:1005D0008730904BA740B04BB9F41092F6011092BF\r
+:1005E000F7011092F8011092F90114BE84B7877FC9\r
+:1005F00084BF88E10FB6F894809360001092600089\r
+:100600000FBEE0E0FFE3099511E0A0E0B1E0E0ED0E\r
+:10061000FAE402C005900D92A433B107D9F721E0A6\r
+:10062000A4E3B1E001C01D92A63FB207E1F70E942A\r
+:10063000960B0C9466250C940000DC01462F50E0CC\r
+:100640004A5051094E30510508F06BC14A5A5F4F6C\r
+:10065000FA010C94162512962C91129780913A016A\r
+:1006600090913B012223F9F015962C91207FD9F42B\r
+:1006700001968330910510F082E090E090933B0169\r
+:1006800080933A0180913A0190913B01823091052B\r
+:1006900029F489E30E94F81189E30EC0019709F05B\r
+:1006A00040C181EEFAC0019790933B0180933A01DB\r
+:1006B000892B09F036C181EE0E94C01232C1129618\r
+:1006C0002C918091380190913901222379F090C0CA\r
+:1006D00012963C91129715962C9180913801909129\r
+:1006E0003901207F31117AC009F09FC001979093A2\r
+:1006F000390180933801892B09F013C180913501AC\r
+:1007000081110FC181E067C012963C911297159636\r
+:100710002C918091360190913701207F332361F035\r
+:10072000222309F491C0009709F08EC02091340172\r
+:1007300021118AC08BE2B1C02223B1F00097A1F44D\r
+:1007400020913401211110C08BE2B6CF12963C915A\r
+:10075000129715962C918091360190913701207F48\r
+:10076000311168C009F08DC00197909337018093D3\r
+:100770003601892B09F0D5C0809134018111D1C097\r
+:1007800082E029C012969C91129715968C9199231C\r
+:10079000B1F0982F907F79F080FD0DC085E37DC08A\r
+:1007A00012969C91129715968C91992379F0982F17\r
+:1007B000907F09F06FC083E00E94C31AB2C0982FE7\r
+:1007C000907F41F080FD06C085E376CF982F907F23\r
+:1007D00009F066C083E00E94E41AA3C0222341F01E\r
+:1007E000009731F420913501211102C084E355C0F6\r
+:1007F00001968330910510F082E090E090933901EA\r
+:1008000080933801809138019091390182309105AF\r
+:1008100029F0019709F085C081E0CECF80913501A4\r
+:1008200091E08927809335017CC0009709F05ECF65\r
+:1008300084E342CF222341F0009731F42091340128\r
+:10084000211102C081E329C001968330910510F087\r
+:1008500082E090E0909337018093360180913601D9\r
+:10086000909137018230910529F0019709F059C024\r
+:1008700082E0A2CF8091340191E0892780933401F6\r
+:1008800050C0009709F070CF2091340121116CCF36\r
+:1008900081E312CF80FD8FCF8EE20E94F81141C01C\r
+:1008A00080FD98CF8EE208CF12968C91882319F0A4\r
+:1008B00080EF90E013C080EF90E017C012968C910B\r
+:1008C000882319F080EF90E01BC080EF90E021C0FA\r
+:1008D00012968C91882339F081EF90E00E94B91F25\r
+:1008E00082EF90E011C081EF90E00E94212082EF22\r
+:1008F00090E013C012968C91882349F081EF90E02C\r
+:100900000E94B91F83EF90E00E94B91F08C081EFD9\r
+:1009100090E00E94212083EF90E00E9421200E941D\r
+:10092000A62080E090E00895089580913A0190918A\r
+:100930003B01892B19F0259A2D9A0DC0E0910E01EB\r
+:10094000F0910F01808185FDF6CF0E94CF1081FDCF\r
+:10095000F2CF25982D988091B90181FF03C0269A86\r
+:100960002E9A02C026982E988091B90182FF03C06A\r
+:10097000279A2F9A089527982F9808950C949504F4\r
+:1009800056985E9825982D9826982E9827982F98F7\r
+:100990008FEF90E0909389008093880090938B0074\r
+:1009A00080938A0090938D0080938C00259A2D9AD5\r
+:1009B0002FEF80E792E0215080409040E1F700C0A7\r
+:1009C0000000269A2E9A2FEF80E792E02150804077\r
+:1009D0009040E1F700C00000279A2F9A2FEF80E7A0\r
+:1009E00092E0215080409040E1F700C0000025983F\r
+:1009F0002D982FEF80E792E0215080409040E1F762\r
+:100A000000C0000026982E982FEF80E792E021503A\r
+:100A100080409040E1F700C0000027982F9856983A\r
+:100A20005E9825982D9826982E9827982F980895A7\r
+:100A300089EA8093800089E08093810024982C9833\r
+:100A40003F988AB18F748AB96E98479A8BB1806B40\r
+:100A50008BB9769A0E94C0040C94940480E280932F\r
+:100A6000000180913C0181110EC00E947D0581E052\r
+:100A700080933C012FEF83ED90E321508040904024\r
+:100A8000E1F700C0000080E40E948305809300012C\r
+:100A900081112EC00E94AD0580930001811128C0F4\r
+:100AA0000E94AD0580930001811122C08FE30E9456\r
+:100AB000AD058093000181111BC00E94A50580E453\r
+:100AC0000E94830580930001811112C08CE00E9476\r
+:100AD000AD058093000181110BC00E94AD0580938C\r
+:100AE0000001811105C08FE30E94AD0580930001D4\r
+:100AF0000E94A5058091000108951092B9008AE036\r
+:100B00008093B800089594EA9093BC009091BC0043\r
+:100B100097FFFCCF9091B900987F983021F09031E9\r
+:100B200011F081E008958093BB0084E88093BC00BD\r
+:100B30008091BC0087FFFCCF8091B900887F88310D\r
+:100B400011F0803471F780E0089584E98093BC004F\r
+:100B50008091BC0084FDFCCF08958093BB0084E8A5\r
+:100B60008093BC008091BC0087FFFCCF9091B900BE\r
+:100B7000987F81E0983209F480E0089584E88093BA\r
+:100B8000BC008091BC0087FFFCCF8091BB00089522\r
+:100B900080910001811115C080E40E94830580933B\r
+:100BA000000181110CC082E10E94AD05809300011B\r
+:100BB000811105C08FEF0E94AD05809300010E9456\r
+:100BC000A50584B1807F84B985B1807F85B98AB15C\r
+:100BD000837F8AB98BB1837F8BB93E9846980895FD\r
+:100BE0000E942E05809300010E94C80580B38C707E\r
+:100BF00080BB81B3836F81BBECE4F1E0AEE3B1E095\r
+:100C000011921D9281E0EA35F807D1F70C9418058E\r
+:100C1000BF92CF92DF92EF92FF920F931F93CF93E9\r
+:100C2000DF9380910001882379F080913D018F5FEF\r
+:100C300080933D01811108C00E942E058093000120\r
+:100C4000811102C00E94C0040EE311E0C0E0D0E0B8\r
+:100C5000DD24D39482E0C82EEE24E394F12CC73037\r
+:100C600000F580910001811162C080E40E9483053B\r
+:100C700080930001811112C082E10E94AD05809332\r
+:100C8000000181110BC0C7010C2E01C0880F0A940E\r
+:100C9000EAF780950E94AD05809300010E94A505AA\r
+:100CA00046C0CA30A1F028F4C83059F0C93061F00C\r
+:100CB00005C0CC3089F070F0CD3089F0209A2898AA\r
+:100CC00010C0219A29980DC0229A2A980AC0239A06\r
+:100CD0002B9807C0529A01C0539A5B9802C03E9A63\r
+:100CE0004698E0EAEA95F1F78FB179995AC092E017\r
+:100CF00081708D25892B7C9B02C090E001C094E01F\r
+:100D0000892B7D9B02C090E001C098E0892B7E9BDF\r
+:100D100002C090E001C090E1892B9FB19095991F8E\r
+:100D20009927991F9295990F907E892B0FC08091DA\r
+:100D3000000181114BC080E40E9483058093000173\r
+:100D4000882389F1B12C0E94A5058B2DF801908193\r
+:100D5000981719F08083C09201010E94C80521965E\r
+:100D60000F5F1F4FCE30D10509F079CF809101017F\r
+:100D7000882371F1815080930101882339F08FE934\r
+:100D80009FE00197F1F700C0000022C0ACE4B1E0A1\r
+:100D9000EEE3F1E081918D9391E0EC34F907D1F726\r
+:100DA00017C090E0A5CF83E10E94AD0580930001BC\r
+:100DB0008111C8CF81E40E948305809300018111D5\r
+:100DC000C1CF0E94BE05B82EB094BDCF80E0BECF8B\r
+:100DD0000E94BE0481E0DF91CF911F910F91FF909F\r
+:100DE000EF90DF90CF90BF900895E82FF0E0E45BA4\r
+:100DF000FE4F808108950895089596E0799FF0014F\r
+:100E0000112494E5899FE00DF11D1124E60FF11DD9\r
+:100E1000EE0FFF1FE05EFE4F859194910895880FBD\r
+:100E2000991F84589040FC01859194910895880FF2\r
+:100E3000991F84509F4FFC018591949108950F93C1\r
+:100E40001F93CF93DF93EC01811520E3920730F5D8\r
+:100E5000811530E2930708F0B1C08B3B910588F40F\r
+:100E6000883A910508F058C0853A910508F049C0C4\r
+:100E70008430910508F043C08130910509F4B2C176\r
+:100E8000AEC18F3F910509F0D0F5803F910508F084\r
+:100E900092C0805E9109089790F1A1C1C11581E5CA\r
+:100EA000D807A8F4C23090E5D90708F09FC0C11553\r
+:100EB00020E5D20709F486C008F092C0C11580E48D\r
+:100EC000D80708F08CC18E011127106CCCC1C11558\r
+:100ED00090E8D90758F4C11520E7D20708F07BC184\r
+:100EE000C11530E6D30708F423C179C1C11580E9E3\r
+:100EF000D80708F074C18E011F70106AB4C18E014A\r
+:100F0000B2C1853A910509F470C1863A910509F498\r
+:100F10006FC103E810E4A7C1883A910509F46BC1D9\r
+:100F2000893A910509F46AC18A3A910509F469C1BF\r
+:100F30008B3A910509F468C18C3A910509F467C1AF\r
+:100F40008D3A910509F466C1803B910509F465C1AC\r
+:100F50008E3A910509F464C18F3A910509F463C191\r
+:100F6000813B910509F462C1823B910509F461C19D\r
+:100F7000833B910509F460C1843B910509F45FC18D\r
+:100F8000853B910509F45EC1863B910509F45DC17D\r
+:100F9000873B910509F45CC1883B910509F45BC16D\r
+:100FA000893B910509F45AC18A3B910509F059C161\r
+:100FB0000AE216E458C18C01106555C19F700E9469\r
+:100FC000170752C10E9452169FEF24E33CE0915054\r
+:100FD00020403040E1F700C000000E946A1D43C17C\r
+:100FE0008091D50181608093D5013DC10E94121F7F\r
+:100FF000811102C00E94F81E0E942F1F90E0909362\r
+:10100000F6018093F501C23080E5D80721F4809184\r
+:10101000F501816086C0C43090E5D90721F4809144\r
+:10102000F50182607EC0C63020E5D20721F48091B0\r
+:10103000F501846076C0C83030E5D30719F480919B\r
+:10104000F50127C0CA3080E5D80721F48091F50169\r
+:10105000806167C0CC3090E5D90721F48091F5011B\r
+:1010600080625FC0CE3020E5D20721F48091F50187\r
+:10107000806457C0C03130E5D30721F48091F50179\r
+:1010800080684FC0C23180E5D80729F48091F5010E\r
+:101090008460886046C0C33090E5D90721F4809110\r
+:1010A000F5018E7F3EC0C53020E5D20721F4809146\r
+:1010B000F5018D7F36C0C73030E5D30721F480912C\r
+:1010C000F5018B7F2EC0C93080E5D80719F48091D7\r
+:1010D000F50126C0CB3090E5D90721F48091F501C8\r
+:1010E0008F7E1FC0CD3020E5D20721F48091F5011D\r
+:1010F0008F7D17C0CF3030E5D30721F48091F50103\r
+:101100008F7B0FC0C13180E5D80721F48091F501B4\r
+:101110008F7707C0C331D04531F48091F5018B7FC3\r
+:10112000877F8093F5018091F5010E94331F9BC05A\r
+:101130008D2F99278F70992781309105E9F48E01C1\r
+:10114000037011279C0102C0220F331F0A95E2F79A\r
+:1011500089011C68CE0164E0880F991F6A95E1F748\r
+:1011600088279370082B192B73E0CC0FDD1F7A951D\r
+:10117000E1F7C076DD272CC08230910529F41C2FC1\r
+:101180000027016F106A6FC08330910561F4CE01B2\r
+:101190008370992701E010E002C0000F111F8A95AB\r
+:1011A000E2F71C680EC0049709F05DC0CE018370A1\r
+:1011B000992701E010E002C0000F111F8A95E2F7A5\r
+:1011C0001A6843E0CC0FDD1F4A95E1F7C07ED77067\r
+:1011D0000C2B1D2B48C08E011F70106244C000E014\r
+:1011E00010E041C001E010E03EC001E810E43BC067\r
+:1011F00002E810E438C002EE14E435C009EE14E44D\r
+:1012000032C00AEE14E42FC005EB14E42CC006EB48\r
+:1012100014E429C007EB14E426C00CEC14E423C04A\r
+:101220000DEC14E420C003E815E41DC00AE815E441\r
+:101230001AC002E915E417C004E915E414C001E27C\r
+:1012400016E411C003E216E40EC004E216E40BC07B\r
+:1012500005E216E408C006E216E405C007E216E45B\r
+:1012600002C000E014E4C801DF91CF911F910F91FB\r
+:10127000089596E0799FF001112494E5899FE00D8F\r
+:10128000F11D1124E60FF11DEE0FFF1FE05EFE4F72\r
+:1012900085919491803E9105E0F4803C910558F54C\r
+:1012A0008133910509F46FC048F48932910509F43E\r
+:1012B00063C08A32910509F46DC072C0893391050B\r
+:1012C000E9F082389105D1F08533910509F44DC0DC\r
+:1012D00067C0833E910581F138F4803E9105B9F0F5\r
+:1012E000823E9105D9F05CC0863E910561F1873E52\r
+:1012F0009105A1F155C00E940F0708952091F501B5\r
+:1013000020FD02C021FF4CC080EE90E049C08091DA\r
+:10131000F50180FFF9CF89E390E042C08091F501AB\r
+:1013200082FF0EC08091F50184FF03C080E090E051\r
+:1013300037C083EE90E034C08091F50182FFF2CF98\r
+:1013400082EE90E02DC08091F50183FF0BC080916B\r
+:10135000F50184FDEBCF87EE90E022C08091F5018E\r
+:1013600083FFF5CF86EE90E01BC08091F50185FFED\r
+:1013700007C089E290E014C08091F50185FFF9CFA4\r
+:1013800085E390E00DC08091F50186FF07C08AE2F9\r
+:1013900090E006C08091F50186FFF9CF81E390E0EF\r
+:1013A0000E941F07089508950C94D30980916A0143\r
+:1013B0000895CF93DF9300D01F92CDB7DEB7209171\r
+:1013C000EC01243019F523E029839B838A83209341\r
+:1013D000E9008FEF9091E800815095FD06C095EDF2\r
 :1013E0009A95F1F700008111F5CF8091E80085FF13\r
-:1013F0002CC040E050E060E170E017C081E08093D5\r
-:10140000E9008FEF9091E800815095FD06C095EDC1\r
-:101410009A95F1F700008111F5CF8091E80085FFE2\r
-:1014200014C040E050E068E070E0CE010E94B70BCD\r
-:101430008091E8008E778093E80080E1FE01A2E5CC\r
-:10144000B1E001900D928A95E1F7DF91CF91089577\r
-:101450008091E501811109C00E94490D0E94A60DED\r
-:101460008091E20084608093E20008951092E5018B\r
-:10147000089508950C942E230E949F1C0E943423EB\r
-:101480000E9443100C94480942E061EC81E00E9404\r
-:10149000C30C42E061EC82E00E94C30C42E061ECCC\r
-:1014A00083E00E94C30C42E161EC84E00C94C30C25\r
-:1014B0008091E801833009F455C030F4813071F037\r
-:1014C000823009F48EC008958A3009F47AC08B30D6\r
-:1014D00009F460C0893009F09CC020C08091E70108\r
-:1014E000813A09F096C08091E800877F8093E800F8\r
-:1014F0008091EB019091EC01892B21F060E080E07C\r
-:1015000090E003C060E182E591E070E00E94000C91\r
-:101510008091E8008B778093E80008958091E7013F\r
-:10152000813209F076C08091EB019091EC01009737\r
-:1015300019F0039709F06DC08091E800877F8093D0\r
-:10154000E8008091E80082FD05C08091E6018111EC\r
-:10155000F8CF5FC08091F100809362018091E80034\r
-:101560008B7753C08091E701813A09F052C0809196\r
-:10157000EB019091EC01892B09F04BC08091E800C0\r
-:10158000877F8093E8008091E80080FFFCCF809106\r
-:101590000C0136C08091E7018132D9F58091EB01D1\r
-:1015A0009091EC01892BA9F58091E800877F8093C9\r
-:1015B000E8000E94F80C8091E90180930C010C94E2\r
-:1015C000AD158091E701813221F58091E800877F98\r
-:1015D0008093E8000E94F80C8091EA0180936301F7\r
-:1015E00008958091E701813AA1F48091E800877F16\r
-:1015F0008093E8008091E80080FFFCCF8091630138\r
-:101600008093F1008091E8008E778093E8000C943D\r
-:10161000F80C089584B7877F84BF88E10FB6F894EB\r
-:1016200080936000109260000FBE90E080E80FB6DB\r
-:10163000F89480936100909361000FBE0E94921015\r
-:101640000E94490D0E94A60D8091E2008460809363\r
-:10165000E20078940E9421100E94941082E091E0B0\r
-:101660000E943E100E941C238091E601853069F49F\r
-:101670000E94621C8091E4018823B1F30E948A1CBD\r
-:10168000882391F30E94A10BEFCF0E949A10ECCF18\r
-:10169000292F332723303105A9F06CF4213031058F\r
-:1016A00009F442C02230310509F043C08DE690E0D4\r
-:1016B00024E037E042C021323105C9F02232310541\r
-:1016C00019F137C099278130910541F08230910599\r
-:1016D00041F0892B71F5E0E0F7E005C0E8EEF6E0B7\r
-:1016E00002C0E0EDF6E0849190E09F0126C06430F6\r
-:1016F00000F5E62FF0E0EE0FFF1FEE5DFE4F2081BC\r
-:10170000318189E090E019C0643098F4E62FF0E070\r
-:10171000DF01AA0FBB1FA65EBE4F2D913C91EA5E72\r
-:10172000FE4F808190E009C082E190E021E737E040\r
-:1017300004C080E090E020E030E0FA0131832083B3\r
-:10174000089580E189BD82E189BD09B400FEFDCF25\r
-:101750008091D8008F7D8093D8008091E0008260D6\r
-:101760008093E0008091E00081FDFCCF0895CF924E\r
-:10177000DF92EF92FF920F931F93CF93DF937C0141\r
-:101780008B01EA010E94190D811131C0209731F0BF\r
-:1017900088819981081B190BE80EF91EC12CD12CE8\r
-:1017A0000115110519F18091E80085FD14C08091A3\r
-:1017B000E8008E778093E800209741F08881998136\r
-:1017C0008C0D9D1D9983888385E011C00E94190DA1\r
-:1017D000882331F30CC0F70181917F018093F100E0\r
-:1017E00001501109FFEFCF1ADF0ADACF80E0DF9155\r
-:1017F000CF911F910F91FF90EF90DF90CF900895C0\r
-:101800002091ED013091EE012617370748F0611560\r
-:10181000710539F42091E8002E772093E80001C08B\r
-:10182000B901FC0120E061157105B9F18091E60173\r
-:10183000882309F440C0853009F43FC08091E80056\r
-:1018400083FD3DC08091E80082FF06C08091E800E2\r
-:1018500082FF26C080E008958091E80080FFE3CFFA\r
-:101860002091F3008091F20090E0922B61157105B8\r
-:1018700051F08830910538F421912093F1006150A6\r
-:1018800071090196F3CF21E0089709F020E08091DB\r
-:10189000E8008E778093E800C6CF2111C7CFD6CF5E\r
-:1018A0008091E601882339F0853039F08091E80095\r
-:1018B00083FFCCCF04C082E0089583E0089581E0E7\r
-:1018C00008952091ED013091EE012617370748F079\r
-:1018D0006115710539F42091E8002E772093E80016\r
-:1018E00001C0B901FC0120E061157105C1F18091D1\r
-:1018F000E601882309F441C0853009F440C0809195\r
-:10190000E80083FD3EC08091E80082FF06C0809120\r
-:10191000E80082FF27C080E008958091E80080FF02\r
-:10192000E3CF2091F3008091F20090E0922B6115BB\r
-:10193000710559F08830910540F424912093F1000D\r
-:101940003196615071090196F2CF21E0089709F0B4\r
-:1019500020E08091E8008E778093E800C5CF2111C8\r
-:10196000C6CFD5CF8091E601882339F0853039F094\r
-:101970008091E80083FFCBCF04C082E0089583E02C\r
-:10198000089581E00895982F973058F59093E900D5\r
-:10199000981739F07091EC002091ED005091F00013\r
-:1019A00003C0242F762F50E021FF19C03091EB00A7\r
-:1019B0003E7F3093EB003091ED003D7F3093ED00A2\r
-:1019C0003091EB0031603093EB007093EC0020938A\r
-:1019D000ED005093F0002091EE0027FF07C09F5FBD\r
-:1019E000D3CF8F708093E90081E0089580E008955F\r
-:1019F0008091E70187FD05C08091E80080FF0EC05F\r
-:101A000012C08091E80082FD05C08091E60181113D\r
-:101A1000F8CF08958091E8008B7708C08091E601A7\r
-:101A20008111EACF08958091E8008E778093E800D5\r
-:101A300008958091E4009091E50045E62091EC0046\r
-:101A400020FF21C02091E80020FD21C02091E60167\r
-:101A5000222389F0253089F02091EB0025FD0FC06D\r
-:101A60002091E4003091E5002817390739F34150FF\r
-:101A700041F0C901E3CF82E0089583E0089581E059\r
-:101A8000089584E008952091E80022FFDFCF80E0F0\r
-:101A900008950E94B70D0E94BF0DE0EEF0E0808136\r
-:101AA00081608083E8EDF0E080818F77808319BCCE\r
-:101AB000A7EDB0E08C918E7F8C9380818F7E8083A8\r
-:101AC0001092E50108950F931F93CF93DF930E9427\r
-:101AD000B70D0E94BF0DC8EDD0E088818F77888355\r
-:101AE00088818068888388818F7D888319BC109263\r
-:101AF000E6011092E2011092E4011092E30100EE7F\r
-:101B000010E0F80180818B7F8083888181608883E9\r
-:101B100042E060E080E00E94C30CE1EEF0E08081F2\r
-:101B20008E7F8083E2EEF0E080818160808380811F\r
-:101B300088608083F80180818E7F808388818061C6\r
-:101B40008883DF91CF911F910F910895E8EDF0E028\r
-:101B500080818F7E8083E7EDF0E0808181608083EB\r
-:101B600084E082BF81E08093E5010C94630DE8ED91\r
-:101B7000F0E080818E7F80831092E20008951092C1\r
-:101B8000DA001092E10008951F920F920FB60F92A3\r
-:101B900011242F933F934F935F936F937F938F9372\r
-:101BA0009F93AF93BF93EF93FF938091E10082FFE8\r
-:101BB0000BC08091E20082FF07C08091E1008B7F23\r
-:101BC0008093E1000E9420108091DA0080FF1FC006\r
-:101BD0008091D80080FF1BC08091DA008E7F8093B7\r
-:101BE000DA008091D90080FF0DC080E189BD82E1DB\r
-:101BF00089BD09B400FEFDCF81E08093E6010E941B\r
-:101C0000280A05C019BC1092E6010E94360A80918C\r
-:101C1000E10080FF19C08091E20080FF15C0809133\r
-:101C2000E2008E7F8093E2008091E20080618093E9\r
-:101C3000E2008091D80080628093D80019BC85E0D2\r
-:101C40008093E6010E943A0A8091E10084FF30C04F\r
-:101C50008091E20084FF2CC080E189BD82E189BDD2\r
-:101C600009B400FEFDCF8091D8008F7D8093D8000D\r
-:101C70008091E1008F7E8093E1008091E2008F7E71\r
-:101C80008093E2008091E20081608093E200809185\r
-:101C9000E201882311F084E007C08091E30087FF10\r
-:101CA00002C083E001C081E08093E6010E943C0A0B\r
-:101CB0008091E10083FF29C08091E20083FF25C06D\r
-:101CC0008091E100877F8093E10082E08093E601CC\r
-:101CD0001092E2018091E1008E7F8093E10080917B\r
-:101CE000E2008E7F8093E2008091E2008061809329\r
-:101CF000E20042E060E080E00E94C30C8091F000CE\r
-:101D000088608093F0000E94390AFF91EF91BF91A3\r
-:101D1000AF919F918F917F916F915F914F913F9183\r
-:101D20002F910F900FBE0F901F9018951F920F923A\r
-:101D30000FB60F9211242F933F934F935F936F939E\r
-:101D40007F938F939F93AF93BF93CF93EF93FF9323\r
-:101D5000C091E900CF708091EC001092E900809171\r
-:101D6000F000877F8093F00078940E94D20E10924A\r
-:101D7000E9008091F00088608093F000C093E90052\r
-:101D8000FF91EF91CF91BF91AF919F918F917F91F3\r
-:101D90006F915F914F913F912F910F900FBE0F90D8\r
-:101DA0001F9018951F93CF93DF93CDB7DEB7AA97F7\r
-:101DB0000FB6F894DEBF0FBECDBFE7EEF1E0809125\r
-:101DC000F100819321E0EF3EF207C9F70E94580A23\r
-:101DD0008091E80083FF1CC12091E7013091E80168\r
-:101DE000832F90E08A30910508F012C1FC01EA5A75\r
-:101DF000FF4F0C94B624203881F0223809F008C136\r
-:101E00008091EB018F708093E9008091EB0085FB5E\r
-:101E1000882780F91092E90006C08091E301909133\r
-:101E2000E401911182609091E800977F9093E8001F\r
-:101E30008093F1001092F100C5C0822F8D7F09F0D0\r
-:101E4000E7C0222319F0223061F0E2C08091E9015D\r
-:101E5000813009F0DDC0333009F080E08093E40187\r
-:101E600028C08091E901811124C02091EB012F70DD\r
-:101E700009F4CEC02093E9008091EB0080FF19C0E7\r
-:101E80008091EB00333011F4806211C08061809347\r
-:101E9000EB0081E090E0022E01C0880F0A94EAF77F\r
-:101EA0008093EA001092EA008091EB0088608093B2\r
-:101EB000EB001092E9008091E800877F86C0211135\r
-:101EC000A7C01091E9011F778091E3008078812BF2\r
-:101ED0008093E3008091E800877F8093E8000E9470\r
-:101EE000F80C8091E80080FFFCCF8091E3008068CF\r
-:101EF0008093E300112311F083E001C082E080931E\r
-:101F0000E60186C02058223008F082C08091E901A5\r
-:101F10009091EA018C3D23E0920779F583E08A8372\r
-:101F20008AE289834FB7F894DE01139620E03EE001\r
-:101F300051E2E32FF0E050935700E49120FF03C0FB\r
-:101F4000E295EF703F5FEF708E2F90E0EA3010F077\r
-:101F5000C79601C0C0968D939D932F5F243149F79A\r
-:101F60004FBF8091E800877F8093E8006AE270E0CD\r
-:101F7000CE0101960E94000C14C0AE014F5F5F4F6E\r
-:101F80006091EB010E94480B009709F441C0209139\r
-:101F9000E800277F2093E800BC0189819A810E9494\r
-:101FA000610C8091E8008B778093E80031C0203885\r
-:101FB00079F58091E800877F8093E8008091E201C5\r
-:101FC0008093F1008091E8008E778093E8000E9472\r
-:101FD000F80C1EC021111CC09091E9019230C0F490\r
-:101FE0008091E800877F8093E8009093E2010E944F\r
-:101FF000F80C8091E201811104C08091E30087FF19\r
-:1020000002C084E001C081E08093E6010E94440A9E\r
-:102010008091E80083FF0AC08091E800877F809369\r
-:10202000E8008091EB0080628093EB00AA960FB6E7\r
-:10203000F894DEBF0FBECDBFDF91CF911F91089501\r
-:102040000895CF938091E6018823B1F08091E90053\r
-:102050008F709091EC0090FF02C090E801C090E07A\r
-:10206000C92FC82B1092E9008091E80083FD0E94DF\r
-:10207000D20ECF70C093E900CF910895909369017B\r
-:10208000809368010895E0916801F09169013097AB\r
-:1020900021F00190F081E02D099480E00895E09115\r
-:1020A0006801F0916901309721F00280F381E02D01\r
-:1020B00009940895E0916801F0916901309721F049\r
-:1020C0000480F581E02D09940895209166013091F6\r
-:1020D00067018217930771F09093670180936601FF\r
-:1020E000E0916801F0916901309721F00680F78155\r
-:1020F000E02D0994089520916401309165018217C3\r
-:10210000930771F09093650180936401E0916801F9\r
-:10211000F0916901309721F00084F185E02D099458\r
-:10212000089508950C9491100E94A51C0E941F060A\r
-:102130000C946B1DCF92DF92EF92FF920F931F933F\r
-:10214000CF93DF93CDB7DEB72B970FB6F894DEBFF2\r
-:102150000FBECDBF0E9437063BE6E32E31E0F32EE3\r
-:1021600000E010E0C02E802F0E942407F701D190DC\r
-:102170007F01D826B1F40F5F1F4F0E30110591F784\r
-:102180008FEF89838A831B820E94AE1C8160782F27\r
-:102190009D838C8349815A816B818D810E943D1181\r
-:1021A00041C09091CD0191FF04C08B870E942A0706\r
-:1021B0008B8520E030E04D2D50E0922FBA01022EA9\r
-:1021C00002C0759567950A94E2F760FF25C02E83DB\r
-:1021D000CF82EE24E394F12C02C0EE0CFF1C9A9502\r
-:1021E000E2F790E08E219F2121E0892B09F420E085\r
-:1021F00028870E94AE1C8160782F9A8789874E813C\r
-:102200005F8168858A850E943D11F801E559FE4F7E\r
-:1022100080818E25808306C02F5F3F4F2630310599\r
-:1022200061F6A9CF0E944F2010916A010E944310CD\r
-:102230001817A1F00E94431080936A012B960FB6E5\r
-:10224000F894DEBF0FBECDBFDF91CF911F910F91EC\r
-:10225000FF90EF90DF90CF900C9448092B960FB62B\r
-:10226000F894DEBF0FBECDBFDF91CF911F910F91CC\r
-:10227000FF90EF90DF90CF900895CF93DF93CDB78D\r
-:10228000DEB72B970FB6F894DEBF0FBECDBF4F83DE\r
-:10229000588769877A878B87DE01119686E0FD0172\r
-:1022A00011928A95E9F785E0FE01379601900D922B\r
-:1022B0008A95E1F749815A816B817C818D819E816C\r
-:1022C0000E9479182B960FB6F894DEBF0FBECDBFD3\r
-:1022D000DF91CF910895CF93C82F882309F4C1C00F\r
-:1022E000823859F40E94431081FDBBC089E30E94EB\r
-:1022F000161B0E94E01B89E30CC0833879F40E940E\r
-:10230000431080FDAEC083E50E94161B0E94E01BB7\r
-:1023100083E50E94561BCF910C94E01B843859F43E\r
-:102320000E94431082FD9DC087E40E94161B0E94FC\r
-:10233000E01B87E4EECF8CEF8C0F813A48F48C2FB2\r
-:102340000E94842281118DC08C2F0E94161BE3CF26\r
-:1023500080E28C0F883048F4C77081E001C0880F9C\r
-:10236000CA95EAF70E94971BD6CF8BE58C0F833076\r
-:1023700078F4C53A29F0C63A31F482E890E005C015\r
-:1023800081E890E002C083E890E0CF910C94651062\r
-:1023900088E58C0F833108F064C0C83A39F1C93A36\r
-:1023A00041F1CA3A49F1CB3A51F1CC3A59F1CD3A1F\r
-:1023B00061F1C03B69F1CE3A71F1CF3A79F1C13B9D\r
-:1023C00081F1C23B89F1C33B91F1C43B99F1C53B1B\r
-:1023D000A1F1C63BA9F1C73BB1F1C83BB9F1C93B7B\r
-:1023E000C1F1CA3BC9F58AE292E038C082EE90E0C2\r
-:1023F00035C089EE90E032C08AEE90E02FC085EBC8\r
-:1024000090E02CC086EB90E029C087EB90E026C0DE\r
-:102410008CEC90E023C08DEC90E020C083E891E04C\r
-:102420001DC08AE891E01AC082E991E017C084E9F2\r
-:1024300091E014C081E292E011C083E292E00EC00C\r
-:1024400084E292E00BC085E292E008C086E292E06E\r
-:1024500005C087E292E002C080E090E0CF910C944A\r
-:102460007B10CF910895882309F44BC0823859F42A\r
-:102470000E94431081FF45C089E30E94161B0E9401\r
-:10248000E01B89E30CC0833871F40E94431080FF85\r
-:1024900038C083E50E94161B0E94E01B83E50E9462\r
-:1024A000561B0C94E01B843859F40E94431082FFA1\r
-:1024B00028C087E40E94161B0E94E01B87E4EFCF30\r
-:1024C0009CEF980F913A58F390E2980F983050F49F\r
-:1024D000877091E001C0990F8A95EAF7892F0E94D1\r
-:1024E0009D1BDFCF9BE5980F933020F480E090E0B8\r
-:1024F0000C946510885A833120F480E090E00C94AD\r
-:102500007B100895882321F00E94971B0C94E01BF8\r
-:102510000895882321F00E949D1B0C94E01B0895D0\r
-:10252000CF92DF92EF92FF920F931F93CF93DF939F\r
-:10253000CDB7DEB728970FB6F894DEBF0FBECDBF7C\r
-:102540008C0185E0F801DE01119601900D928A95CB\r
-:10255000E1F7F80140813181F280258122952F70C9\r
-:1025600083819481892B31F03F3F31F481E04F3FEB\r
-:1025700019F403C081E001C080E080FDCBC2498333\r
-:102580003A8389819A812F830E94D41A9E838887F7\r
-:102590000E94D31A0E94A6192F814E816885FF20C0\r
-:1025A00029F00E94B41B68854E812F81E42FE295AB\r
-:1025B000EF70F0E0E05AFF4F0C94B624842F807F38\r
-:1025C000142F1F70882311F01295107FFF2059F0EF\r
-:1025D000112309F454C2812F68870E94A71B0E940F\r
-:1025E000E01B68854CC2862F0E943312112309F428\r
-:1025F00091C2812F0E94AD1B28960FB6F894DEBFC2\r
-:102600000FBECDBFDF91CF911F910F91FF90EF9043\r
-:10261000DF90CF900C94E01B342F307F842F8F708D\r
-:10262000303211F08295807F662319F0613019F104\r
-:102630002BC0FF20B1F0222309F493C1213009F00F\r
-:1026400090C128960FB6F894DEBF0FBECDBFDF91C4\r
-:10265000CF911F910F91FF90EF90DF90CF900C944E\r
-:10266000C71B222319F0213009F454C28E830E9423\r
-:10267000CA1B8E8189C1FF2021F0223008F04AC296\r
-:1026800070C1211147C280C1FF2021F0222309F42B\r
-:1026900068C1F5C1222309F477C105C2242F26950C\r
-:1026A0002695237030E02115310521F021303105C8\r
-:1026B000C9F030C2FF2021F0862F942F937002C002\r
-:1026C00080E090E028960FB6F894DEBF0FBECDBF35\r
-:1026D000DF91CF911F910F91FF90EF90DF90CF90FE\r
-:1026E0000C946510FF2021F0862F942F937002C068\r
-:1026F00080E090E028960FB6F894DEBF0FBECDBF05\r
-:10270000DF91CF911F910F91FF90EF90DF90CF90CD\r
-:102710000C947B10862FFF2019F00E94571F02C0D7\r
-:102720000E94BF1F28960FB6F894DEBF0FBECDBF24\r
-:10273000DF91CF911F910F91FF90EF90DF90CF909D\r
-:102740000C944420842F837009F076C0F110E2C10C\r
-:10275000262F229526952770220F220F862F8F7005\r
-:10276000C82ED12CE12CF12C022E04C0CC0CDD1C87\r
-:10277000EE1CFF1C0A94D2F764FF10C06FE070E0FB\r
-:1027800080E090E004C0660F771F881F991F2A958C\r
-:10279000D2F7609570958095909503C060E070E0E9\r
-:1027A000CB01242F269526952370422F50E04230EE\r
-:1027B0005105D1F04330510559F16C297D298E29FD\r
-:1027C0009F294130510541F128960FB6F894DEBF9C\r
-:1027D0000FBECDBFDF91CF911F910F91FF90EF9072\r
-:1027E000DF90CF900C94CB196C297D298E299F29DD\r
-:1027F00028960FB6F894DEBF0FBECDBFDF91CF9104\r
-:102800001F910F91FF90EF90DF90CF900C94E519FE\r
-:102810000E94CB19C701B60128960FB6F894DEBF07\r
-:102820000FBECDBFDF91CF911F910F91FF90EF9021\r
-:10283000DF90CF900C94B119FF2019F0842F817094\r
-:1028400001C08695882309F465C1262F2295269517\r
-:102850002770220F220F862F8F70C82ED12CE12CCB\r
-:10286000F12C022E04C0CC0CDD1CEE1CFF1C0A94C3\r
-:10287000D2F764FF10C06FE070E080E090E004C029\r
-:10288000660F771F881F991F2A95D2F7609570955C\r
-:102890008095909503C060E070E0CB01242F2695D1\r
-:1028A00026952370422F50E042305105D1F043303D\r
-:1028B000510559F16C297D298E299F2941305105F7\r
-:1028C00041F128960FB6F894DEBF0FBECDBFDF9161\r
-:1028D000CF911F910F91FF90EF90DF90CF900C94CC\r
-:1028E0009F1A6C297D298E299F2928960FB6F89466\r
-:1028F000DEBF0FBECDBFDF91CF911F910F91FF9033\r
-:10290000EF90DF90CF900C94B91A0E949F1AC701E4\r
-:10291000B60128960FB6F894DEBF0FBECDBFDF918B\r
+:1013F0000DC040E050E063E070E0CE0101960E9435\r
+:10140000430C8091E8008E778093E8000F900F9056\r
+:101410000F90DF91CF910895CF93DF9300D01F926B\r
+:10142000CDB7DEB72091EC01243021F522E02983ED\r
+:101430009B838A8383E08093E9008FEF9091E8009B\r
+:10144000815095FD06C095ED9A95F1F70000811148\r
+:10145000F5CF8091E80085FF0DC040E050E063E0EB\r
+:1014600070E0CE0101960E94430C8091E8008E77D7\r
+:101470008093E8000F900F900F90DF91CF91089527\r
+:101480002091EC012430F1F422E02093E9002FEFC9\r
+:101490003091E800215035FD06C035ED3A95F1F761\r
+:1014A00000002111F5CF2091E80025FF0BC040E09E\r
+:1014B00050E065E070E00E94430C8091E8008E7778\r
+:1014C0008093E8000895CF93DF93EC018091EC01C5\r
+:1014D000843009F046C090910C019923D9F0909185\r
+:1014E0000D019923B9F08093E9008FEF9091E80006\r
+:1014F000815095FD06C095E19A95F1F700008111A4\r
+:10150000F5CF8091E80085FF2CC040E050E060E11D\r
+:1015100070E017C081E08093E9008FEF9091E800C0\r
+:10152000815095FD06C095ED9A95F1F70000811167\r
+:10153000F5CF8091E80085FF14C040E050E068E0FE\r
+:1015400070E0CE010E94430C8091E8008E7780937A\r
+:10155000E80080E1FE01AAE5B1E001900D928A95D4\r
+:10156000E1F7DF91CF9108958091EB01811109C0DE\r
+:101570000E94D50D0E94320E8091E200846080931B\r
+:10158000E20008951092EB01089508950C948E23C3\r
+:101590000E94011D0E9494230E94CF100C94D40934\r
+:1015A00042E061EC81E00E944F0D42E061EC82E09C\r
+:1015B0000E944F0D42E061EC83E00E944F0D42E13A\r
+:1015C00061EC84E00C944F0D8091EE01833009F4BE\r
+:1015D00055C030F4813071F0823009F48EC0089526\r
+:1015E0008A3009F47AC08B3009F460C0893009F080\r
+:1015F0009CC020C08091ED01813A09F096C0809195\r
+:10160000E800877F8093E8008091F1019091F201DA\r
+:10161000892B21F060E080E090E003C060E18AE582\r
+:1016200091E070E00E948C0C8091E8008B778093B1\r
+:10163000E80008958091ED01813209F076C0809133\r
+:10164000F1019091F201009719F0039709F06DC034\r
+:101650008091E800877F8093E8008091E80082FD18\r
+:1016600005C08091EC018111F8CF5FC08091F1003D\r
+:1016700080936A018091E8008B7753C08091ED01DF\r
+:10168000813A09F052C08091F1019091F201892BC9\r
+:1016900009F04BC08091E800877F8093E80080913B\r
+:1016A000E80080FFFCCF80910C0136C08091ED01F5\r
+:1016B0008132D9F58091F1019091F201892BA9F540\r
+:1016C0008091E800877F8093E8000E94840D8091DC\r
+:1016D000EF0180930C010C9452168091ED01813240\r
+:1016E00021F58091E800877F8093E8000E94840DB7\r
+:1016F0008091F00180936B0108958091ED01813A12\r
+:10170000A1F48091E800877F8093E8008091E80051\r
+:1017100080FFFCCF80916B018093F1008091E80005\r
+:101720008E778093E8000C94840D089584B7877FAA\r
+:1017300084BF88E10FB6F894809360001092600037\r
+:101740000FBE90E080E80FB6F8948093610090930C\r
+:1017500061000FBE0E941E110E94D50D0E94320E24\r
+:101760008091E20084608093E20078940E94AD1042\r
+:101770000E94201182E091E00E94CA100E947C2306\r
+:101780008091EC01853069F40E94C11C8091EA01CE\r
+:101790008823B1F30E94EC1C882391F30E942D0C46\r
+:1017A000EFCF0E942611ECCF292F332723303105AC\r
+:1017B000A9F06CF42130310509F442C02230310522\r
+:1017C00009F043C08DE690E024EF33E042C02132BF\r
+:1017D0003105C9F02232310519F137C0992781301E\r
+:1017E000910541F08230910541F0892B71F5E0EFD0\r
+:1017F000F3E005C0E8EDF3E002C0E0ECF3E0849133\r
+:1018000090E09F0126C0643000F5E62FF0E0EE0F77\r
+:10181000FF1FEE5DFE4F2081318189E090E019C00D\r
+:10182000643098F4E62FF0E0DF01AA0FBB1FA65E3C\r
+:10183000BE4F2D913C91EA5EFE4F808190E009C041\r
+:1018400082E190E021E634E004C080E090E020E016\r
+:1018500030E0FA0131832083089580E189BD82E17F\r
+:1018600089BD09B400FEFDCF8091D8008F7D8093A3\r
+:10187000D8008091E00082608093E0008091E000D9\r
+:1018800081FDFCCF0895CF92DF92EF92FF920F93EC\r
+:101890001F93CF93DF937C018B01EA010E94A50D7A\r
+:1018A000811131C0209731F088819981081B190B73\r
+:1018B000E80EF91EC12CD12C0115110519F18091EA\r
+:1018C000E80085FD14C08091E8008E778093E800E1\r
+:1018D000209741F0888199818C0D9D1D9983888383\r
+:1018E00085E011C00E94A50D882331F30CC0F701DB\r
+:1018F00081917F018093F10001501109FFEFCF1A10\r
+:10190000DF0ADACF80E0DF91CF911F910F91FF9036\r
+:10191000EF90DF90CF9008952091F3013091F40182\r
+:101920002617370748F06115710539F42091E80052\r
+:101930002E772093E80001C0B901FC0120E0611579\r
+:101940007105B9F18091EC01882309F440C085301C\r
+:1019500009F43FC08091E80083FD3DC08091E8001C\r
+:1019600082FF06C08091E80082FF26C080E00895D3\r
+:101970008091E80080FFE3CF2091F3008091F20096\r
+:1019800090E0922B6115710551F08830910538F483\r
+:1019900021912093F100615071090196F3CF21E06C\r
+:1019A000089709F020E08091E8008E778093E800A6\r
+:1019B000C6CF2111C7CFD6CF8091EC01882339F053\r
+:1019C000853039F08091E80083FFCCCF04C082E0FD\r
+:1019D000089583E0089581E008952091F301309106\r
+:1019E000F4012617370748F06115710539F4209185\r
+:1019F000E8002E772093E80001C0B901FC0120E047\r
+:101A000061157105C1F18091EC01882309F441C091\r
+:101A1000853009F440C08091E80083FD3EC080918C\r
+:101A2000E80082FF06C08091E80082FF27C080E0C6\r
+:101A300008958091E80080FFE3CF2091F30080912A\r
+:101A4000F20090E0922B6115710559F088309105F4\r
+:101A500040F424912093F100319661507109019670\r
+:101A6000F2CF21E0089709F020E08091E8008E771E\r
+:101A70008093E800C5CF2111C6CFD5CF8091EC016E\r
+:101A8000882339F0853039F08091E80083FFCBCF8F\r
+:101A900004C082E0089583E0089581E00895982FBE\r
+:101AA000973058F59093E900981739F07091EC0051\r
+:101AB0002091ED005091F00003C0242F762F50E0CC\r
+:101AC00021FF19C03091EB003E7F3093EB00309145\r
+:101AD000ED003D7F3093ED003091EB0031603093AD\r
+:101AE000EB007093EC002093ED005093F0002091F8\r
+:101AF000EE0027FF07C09F5FD3CF8F708093E90070\r
+:101B000081E0089580E008958091ED0187FD05C092\r
+:101B10008091E80080FF0EC012C08091E80082FD35\r
+:101B200005C08091EC018111F8CF08958091E80003\r
+:101B30008B7708C08091EC018111EACF08958091E4\r
+:101B4000E8008E778093E80008958091E4009091FA\r
+:101B5000E50045E62091EC0020FF21C02091E8003F\r
+:101B600020FD21C02091EC01222389F0253089F04D\r
+:101B70002091EB0025FD0FC02091E4003091E5009D\r
+:101B80002817390739F3415041F0C901E3CF82E00A\r
+:101B9000089583E0089581E0089584E008952091F8\r
+:101BA000E80022FFDFCF80E008950E94430E0E94EC\r
+:101BB0004B0EE0EEF0E0808181608083E8EDF0E0A4\r
+:101BC00080818F77808319BCA7EDB0E08C918E7FE8\r
+:101BD0008C9380818F7E80831092EB0108950F9308\r
+:101BE0001F93CF93DF930E94430E0E944B0EC8EDCC\r
+:101BF000D0E088818F778883888180688883888116\r
+:101C00008F7D888319BC1092EC011092E80110922C\r
+:101C1000EA011092E90100EE10E0F80180818B7F6B\r
+:101C2000808388818160888342E060E080E00E9458\r
+:101C30004F0DE1EEF0E080818E7F8083E2EEF0E0F8\r
+:101C4000808181608083808188608083F8018081C9\r
+:101C50008E7F8083888180618883DF91CF911F91FF\r
+:101C60000F910895E8EDF0E080818F7E8083E7EDAD\r
+:101C7000F0E080818160808384E082BF81E0809396\r
+:101C8000EB010C94EF0DE8EDF0E080818E7F808316\r
+:101C90001092E20008951092DA001092E100089587\r
+:101CA0001F920F920FB60F9211242F933F934F93D1\r
+:101CB0005F936F937F938F939F93AF93BF93EF93B4\r
+:101CC000FF938091E10082FF0BC08091E20082FFD0\r
+:101CD00007C08091E1008B7F8093E1000E94AC10EF\r
+:101CE0008091DA0080FF1FC08091D80080FF1BC068\r
+:101CF0008091DA008E7F8093DA008091D90080FF96\r
+:101D00000DC080E189BD82E189BD09B400FEFDCF2F\r
+:101D100081E08093EC010E94B40A05C019BC1092C6\r
+:101D2000EC010E94C20A8091E10080FF19C08091FD\r
+:101D3000E20080FF15C08091E2008E7F8093E20078\r
+:101D40008091E20080618093E2008091D8008062FF\r
+:101D50008093D80019BC85E08093EC010E94C60AEC\r
+:101D60008091E10084FF30C08091E20084FF2CC0AC\r
+:101D700080E189BD82E189BD09B400FEFDCF80917B\r
+:101D8000D8008F7D8093D8008091E1008F7E809372\r
+:101D9000E1008091E2008F7E8093E2008091E2007A\r
+:101DA00081608093E2008091E801882311F084E053\r
+:101DB00007C08091E30087FF02C083E001C081E09B\r
+:101DC0008093EC010E94C80A8091E10083FF29C042\r
+:101DD0008091E20083FF25C08091E100877F80939E\r
+:101DE000E10082E08093EC011092E8018091E10033\r
+:101DF0008E7F8093E1008091E2008E7F8093E200ED\r
+:101E00008091E20080618093E20042E060E080E047\r
+:101E10000E944F0D8091F00088608093F0000E9436\r
+:101E2000C50AFF91EF91BF91AF919F918F917F91E3\r
+:101E30006F915F914F913F912F910F900FBE0F9037\r
+:101E40001F9018951F920F920FB60F9211242F9387\r
+:101E50003F934F935F936F937F938F939F93AF9332\r
+:101E6000BF93CF93EF93FF93C091E900CF70809120\r
+:101E7000EC001092E9008091F000877F8093F000E1\r
+:101E800078940E945E0F1092E9008091F0008860C3\r
+:101E90008093F000C093E900FF91EF91CF91BF9143\r
+:101EA000AF919F918F917F916F915F914F913F91F2\r
+:101EB0002F910F900FBE0F901F9018951F93CF93E7\r
+:101EC000DF93CDB7DEB7AA970FB6F894DEBF0FBE8B\r
+:101ED000CDBFEDEEF1E08091F100819321E0E53F8F\r
+:101EE000F207C9F70E94E40A8091E80083FF1CC151\r
+:101EF0002091ED013091EE01832F90E08A30910521\r
+:101F000008F012C1FC01EC59FF4F0C941625203843\r
+:101F100081F0223809F008C18091F1018F7080931F\r
+:101F2000E9008091EB0085FB882780F91092E90099\r
+:101F300006C08091E9019091EA019111826090912F\r
+:101F4000E800977F9093E8008093F1001092F100F1\r
+:101F5000C5C0822F8D7F09F0E7C0222319F02230FF\r
+:101F600061F0E2C08091EF01813009F0DDC03330D3\r
+:101F700009F080E08093EA0128C08091EF0181118F\r
+:101F800024C02091F1012F7009F4CEC02093E90004\r
+:101F90008091EB0080FF19C08091EB00333011F489\r
+:101FA000806211C080618093EB0081E090E0022E9E\r
+:101FB00001C0880F0A94EAF78093EA001092EA00C1\r
+:101FC0008091EB0088608093EB001092E900809193\r
+:101FD000E800877F86C02111A7C01091EF011F770D\r
+:101FE0008091E3008078812B8093E3008091E8006A\r
+:101FF000877F8093E8000E94840D8091E80080FF35\r
+:10200000FCCF8091E30080688093E300112311F0FE\r
+:1020100083E001C082E08093EC0186C0205822302A\r
+:1020200008F082C08091EF019091F0018C3D23E097\r
+:10203000920779F583E08A838AE289834FB7F8941F\r
+:10204000DE01139620E03EE051E2E32FF0E05093F2\r
+:102050005700E49120FF03C0E295EF703F5FEF70FF\r
+:102060008E2F90E0EA3010F0C79601C0C0968D9395\r
+:102070009D932F5F243149F74FBF8091E800877F00\r
+:102080008093E8006AE270E0CE0101960E948C0C19\r
+:1020900014C0AE014F5F5F4F6091F1010E94D40BFD\r
+:1020A000009709F441C02091E800277F2093E800C1\r
+:1020B000BC0189819A810E94ED0C8091E8008B77A8\r
+:1020C0008093E80031C0203879F58091E800877F5F\r
+:1020D0008093E8008091E8018093F1008091E8000E\r
+:1020E0008E778093E8000E94840D1EC021111CC0D1\r
+:1020F0009091EF019230C0F48091E800877F809347\r
+:10210000E8009093E8010E94840D8091E80181111C\r
+:1021100004C08091E30087FF02C084E001C081E039\r
+:102120008093EC010E94D00A8091E80083FF0AC0EE\r
+:102130008091E800877F8093E8008091EB008062C7\r
+:102140008093EB00AA960FB6F894DEBF0FBECDBF0A\r
+:10215000DF91CF911F9108950895CF938091EC0165\r
+:102160008823B1F08091E9008F709091EC0090FF8E\r
+:1021700002C090E801C090E0C92FC82B1092E9007E\r
+:102180008091E80083FD0E945E0FCF70C093E9004C\r
+:10219000CF91089590937101809370010895E0911B\r
+:1021A0007001F0917101309721F00190F081E02DE4\r
+:1021B000099480E00895E0917001F09171013097E9\r
+:1021C00021F00280F381E02D09940895E0917001DF\r
+:1021D000F0917101309721F00480F581E02D099490\r
+:1021E000089520916E0130916F018217930771F06D\r
+:1021F00090936F0180936E01E0917001F0917101F5\r
+:10220000309721F00680F781E02D09940895209100\r
+:102210006C0130916D018217930771F090936D01FD\r
+:1022200080936C01E0917001F0917101309721F081\r
+:102230000084F185E02D0994089508950C941D11F2\r
+:102240000E94071D0E94F0050C94CD1DCF92DF92D5\r
+:10225000EF92FF920F931F93CF93DF93CDB7DEB72B\r
+:102260002B970FB6F894DEBF0FBECDBF0E940806B5\r
+:1022700033E7E32E31E0F32E00E010E0C02E802F94\r
+:102280000E94F506F701D1907F01D826B1F40F5FC7\r
+:102290001F4F0E30110591F78FEF89838A831B82C0\r
+:1022A0000E94101D8160782F9D838C8349815A8103\r
+:1022B0006B818D810E94C91141C09091D50191FF20\r
+:1022C00004C08B870E94FB068B8520E030E04D2DFB\r
+:1022D00050E0922FBA01022E02C0759567950A94BC\r
+:1022E000E2F760FF25C02E83CF82EE24E394F12C29\r
+:1022F00002C0EE0CFF1C9A95E2F790E08E219F2120\r
+:1023000021E0892B09F420E028870E94101D8160BC\r
+:10231000782F9A8789874E815F8168858A850E9498\r
+:10232000C911F801ED58FE4F80818E25808306C0CB\r
+:102330002F5F3F4F2630310561F6A9CF0E94B120B3\r
+:10234000109172010E94CF101817A1F00E94CF10B7\r
+:10235000809372012B960FB6F894DEBF0FBECDBFEF\r
+:10236000DF91CF911F910F91FF90EF90DF90CF9071\r
+:102370000C94D4092B960FB6F894DEBF0FBECDBFD8\r
+:10238000DF91CF911F910F91FF90EF90DF90CF9051\r
+:102390000895CF93DF93CDB7DEB72B970FB6F894A0\r
+:1023A000DEBF0FBECDBF4F83588769877A878B8783\r
+:1023B000DE01119686E0FD0111928A95E9F785E02C\r
+:1023C000FE01379601900D928A95E1F749815A8175\r
+:1023D0006B817C818D819E810E941E192B960FB688\r
+:1023E000F894DEBF0FBECDBFDF91CF910895089561\r
+:1023F000CF93C82F882309F4C1C0823859F40E94B2\r
+:10240000CF1081FDBBC089E30E94C81B0E94921CB3\r
+:1024100089E30CC0833879F40E94CF1080FDAEC0F0\r
+:1024200083E50E94C81B0E94921C83E50E94081C41\r
+:10243000CF910C94921C843859F40E94CF1082FDE5\r
+:102440009DC087E40E94C81B0E94921C87E4EECFC7\r
+:102450008CEF8C0F813A48F48C2F0E94E42281117A\r
+:102460008DC08C2F0E94C81BE3CF80E28C0F883078\r
+:1024700048F4C77081E001C0880FCA95EAF70E944E\r
+:10248000491CD6CF8BE58C0F833078F4C53A29F000\r
+:10249000C63A31F482E890E005C081E890E002C0DD\r
+:1024A00083E890E0CF910C94F11088E58C0F833194\r
+:1024B00008F064C0C83A39F1C93A41F1CA3A49F161\r
+:1024C000CB3A51F1CC3A59F1CD3A61F1C03B69F1C7\r
+:1024D000CE3A71F1CF3A79F1C13B81F1C23B89F13A\r
+:1024E000C33B91F1C43B99F1C53BA1F1C63BA9F1B6\r
+:1024F000C73BB1F1C83BB9F1C93BC1F1CA3BC9F512\r
+:102500008AE292E038C082EE90E035C089EE90E039\r
+:1025100032C08AEE90E02FC085EB90E02CC086EBB5\r
+:1025200090E029C087EB90E026C08CEC90E023C0BF\r
+:102530008DEC90E020C083E891E01DC08AE891E036\r
+:102540001AC082E991E017C084E991E014C081E2E9\r
+:1025500092E011C083E292E00EC084E292E00BC0F0\r
+:1025600085E292E008C086E292E005C087E292E050\r
+:1025700002C080E090E0CF910C940711CF910895B4\r
+:10258000882309F44BC0823859F40E94CF1081FF90\r
+:1025900045C089E30E94C81B0E94921C89E30CC0BD\r
+:1025A000833871F40E94CF1080FF38C083E50E9409\r
+:1025B000C81B0E94921C83E50E94081C0C94921C6C\r
+:1025C000843859F40E94CF1082FF28C087E40E940B\r
+:1025D000C81B0E94921C87E4EFCF9CEF980F913AA2\r
+:1025E00058F390E2980F983050F4877091E001C052\r
+:1025F000990F8A95EAF7892F0E944F1CDFCF9BE540\r
+:10260000980F933020F480E090E00C94F110885AF9\r
+:10261000833120F480E090E00C9407110895882322\r
+:1026200021F00E94491C0C94921C0895882321F0EB\r
+:102630000E944F1C0C94921C0895CF92DF92EF924F\r
+:10264000FF920F931F93CF93DF93CDB7DEB72897F9\r
+:102650000FB6F894DEBF0FBECDBF8C0185E0F80148\r
+:10266000DE01119601900D928A95E1F7F801D08074\r
+:10267000E180F280558152955F7023813481232B54\r
+:1026800039F0FFEFEF1206C081E0DF1203C003C094\r
+:1026900081E001C080E080FDE2C2C8015F830E944A\r
+:1026A000F711D982EA8269817A818F2D0E94C41B39\r
+:1026B0009E8388870E94781B0E944B1A4E815F81FF\r
+:1026C0006885FF2029F00E94661C68855F814E8125\r
+:1026D000E42FE295EF70F0E0E259FF4F0C941625DD\r
+:1026E000842F807F142F1F70882311F01295107F84\r
+:1026F000FF20B1F0112309F467C280E2860F883011\r
+:1027000028F4812F68870E94491C04C0812F6887A4\r
+:102710000E94591C688568870E94921C688554C273\r
+:10272000862F68870E94C0126885112309F497C21A\r
+:10273000605E812F683018F40E944F1C02C00E9416\r
+:102740005F1C28960FB6F894DEBF0FBECDBFDF9199\r
+:10275000CF911F910F91FF90EF90DF90CF900C944D\r
+:10276000921C242F207F842F8F70203211F08295AD\r
+:10277000807F662319F0613019F12BC0FF20B1F082\r
+:10278000552309F493C1513009F090C128960FB632\r
+:10279000F894DEBF0FBECDBFDF91CF911F910F9197\r
+:1027A000FF90EF90DF90CF900C94791C552319F097\r
+:1027B000513009F454C28E830E947C1C8E8189C1E1\r
+:1027C000FF2021F0523008F04AC270C1511147C2B7\r
+:1027D00080C1FF2021F0552309F468C1F5C15523BC\r
+:1027E00009F477C105C2242F26952695237030E081\r
+:1027F0002115310521F021303105C9F030C2FF200B\r
+:1028000021F0862F942F937002C080E090E02896EC\r
+:102810000FB6F894DEBF0FBECDBFDF91CF911F91F1\r
+:102820000F91FF90EF90DF90CF900C94F110FF206C\r
+:1028300021F0862F942F937002C080E090E02896BC\r
+:102840000FB6F894DEBF0FBECDBFDF91CF911F91C1\r
+:102850000F91FF90EF90DF90CF900C940711862F8F\r
+:10286000FF2019F00E94B91F02C00E942120289663\r
+:102870000FB6F894DEBF0FBECDBFDF91CF911F9191\r
+:102880000F91FF90EF90DF90CF900C94A620842FB3\r
+:10289000837009F076C0F110E2C1262F22952695AB\r
+:1028A0002770220F220F862F8F70C82ED12CE12C7B\r
+:1028B000F12C022E04C0CC0CDD1CEE1CFF1C0A9473\r
+:1028C000D2F764FF10C06FE070E080E090E004C0D9\r
+:1028D000660F771F881F991F2A95D2F7609570950C\r
+:1028E0008095909503C060E070E0CB01242F269581\r
+:1028F00026952370422F50E042305105D1F04330ED\r
+:10290000510559F16C297D298E299F2941305105A6\r
+:1029100041F128960FB6F894DEBF0FBECDBFDF9110\r
 :10292000CF911F910F91FF90EF90DF90CF900C947B\r
-:10293000851A603FC9F118F4603E50F49BC0623FB5\r
-:1029400009F460C008F44AC0633F09F46FC092C044\r
-:10295000162F1F70842F8F71FF2099F00E941E1A6E\r
-:10296000812F28960FB6F894DEBF0FBECDBFDF9142\r
+:10293000701A6C297D298E299F2928960FB6F89444\r
+:10294000DEBF0FBECDBFDF91CF911F910F91FF90E2\r
+:10295000EF90DF90CF900C948A1A0E94701AC701F2\r
+:10296000B60128960FB6F894DEBF0FBECDBFDF913B\r
 :10297000CF911F910F91FF90EF90DF90CF900C942B\r
-:1029800082120E943F1A812F28960FB6F894DEBF5C\r
-:102990000FBECDBFDF91CF911F910F91FF90EF90B0\r
-:1029A000DF90CF900C948912FF20A1F02111B2C0CA\r
-:1029B000842F8F7128960FB6F894DEBF0FBECDBF5F\r
-:1029C000DF91CF911F910F91FF90EF90DF90CF900B\r
-:1029D0000C94641A223008F09DC0EACFFF20A1F0C9\r
-:1029E000842F8F7128960FB6F894DEBF0FBECDBF2F\r
-:1029F000DF91CF911F910F91FF90EF90DF90CF90DB\r
-:102A00000C941E1AFF2061F3842F8F7128960FB645\r
+:10298000561AFF2019F0842F817001C08695882384\r
+:1029900009F465C1262F229526952770220F220F54\r
+:1029A000862F8F70C82ED12CE12CF12C022E04C062\r
+:1029B000CC0CDD1CEE1CFF1C0A94D2F764FF10C087\r
+:1029C0006FE070E080E090E004C0660F771F881F22\r
+:1029D000991F2A95D2F7609570958095909503C0C0\r
+:1029E00060E070E0CB01242F269526952370422FBE\r
+:1029F00050E042305105D1F04330510559F16C2976\r
+:102A00007D298E299F294130510541F128960FB625\r
 :102A1000F894DEBF0FBECDBFDF91CF911F910F9114\r
-:102A2000FF90EF90DF90CF900C943F1AFF2091F031\r
-:102A3000842F8F7128960FB6F894DEBF0FBECDBFDE\r
+:102A2000FF90EF90DF90CF900C94441B6C297D2990\r
+:102A30008E299F2928960FB6F894DEBF0FBECDBF12\r
 :102A4000DF91CF911F910F91FF90EF90DF90CF908A\r
-:102A50000C94091A28960FB6F894DEBF0FBECDBFAE\r
-:102A6000DF91CF911F910F91FF90EF90DF90CF906A\r
-:102A70000C94FF19FF20A1F0222309F4B1CF862F77\r
-:102A800028960FB6F894DEBF0FBECDBFDF91CF9171\r
-:102A90001F910F91FF90EF90DF90CF900C946B11EE\r
-:102AA000222309F4B1CF862F28960FB6F894DEBF03\r
-:102AB0000FBECDBFDF91CF911F910F91FF90EF908F\r
-:102AC000DF90CF900C9433124F70C8010E94A50480\r
-:102AD00028960FB6F894DEBF0FBECDBFDF91CF9121\r
-:102AE0001F910F91FF90EF90DF90CF900C942619DB\r
-:102AF0004F70C80128960FB6F894DEBF0FBECDBF49\r
-:102B0000DF91CF911F910F91FF90EF90DF90CF90C9\r
-:102B10000C94EA0728960FB6F894DEBF0FBECDBF1F\r
-:102B2000DF91CF911F910F91FF90EF90DF90CF90A9\r
-:102B300008950E94B41B0E94C41B0E94891B0E941E\r
-:102B4000E01B0E94F0200E94442080E090E00E9460\r
-:102B5000651080E090E00C947B100E94A41B0C9404\r
-:102B600099150E94D41A292F22952F7030E02C300D\r
-:102B700031054CF42A3031056CF4225031092230F1\r
-:102B8000310590F407C02C30310551F02F3031055C\r
-:102B900039F00AC0803E10F0803F31F481E00895A2\r
-:102BA00093FB882780F9089580E00895CF93DF9301\r
-:102BB00000D000D01F92CDB7DEB70F900F900F90CE\r
-:102BC0000F900F90DF91CF910895CF93DF9300D0B6\r
-:102BD00000D000D0CDB7DEB726960FB6F894DEBF92\r
-:102BE0000FBECDBFDF91CF9108951F93CF93DF9399\r
-:102BF000C091790116E080917A01C81799F0D0E070\r
-:102C00001C9FF0011D9FF00D1124E558FE4F4081DF\r
-:102C1000518162817381848195810E94E51521969D\r
-:102C2000C770E9CFDF91CF911F9108954091AB011B\r
-:102C30005091AC016091AD017091AE018091AF01F6\r
-:102C40009091B0010C94E515CF938091B0018295DD\r
-:102C50008F7009F05FC08091AD01882309F45AC0DC\r
-:102C600020917901A0917A016091AB017091AC0142\r
-:102C70008091AE019091AF0131E06F3F09F030E0FB\r
-:102C8000B32FC6E02A1709F445C0009721F07F3F13\r
-:102C900021F44B2F03C041E001C040E030E040FD93\r
-:102CA00035C0C29FF001C39FF00D1124E558FE4FBF\r
-:102CB000418174132BC04081641328C042814111AB\r
-:102CC00025C0438154814817590710F441505109D8\r
-:102CD000481B590B483C5105C8F48091B0018F70D6\r
-:102CE00080618093B00186E0829FF001839FF00DA8\r
-:102CF0001124E058FE4F80818F70806180838BEAC1\r
-:102D000091E00E949012CF910C94F5152F5F3F4FE8\r
-:102D10002770B8CFCF910895CF92DF92EF92FF92B4\r
-:102D20000F931F93CF93DF93CDB7DEB762970FB6A4\r
-:102D3000F894DEBF0FBECDBF8C0185E0F801DE0147\r
-:102D40001D9601900D928A95E1F7D8014C9111964C\r
-:102D50005C91119712966C9112971396ED90FC90DE\r
-:102D600014977091AB01E091AC012091AE013091CC\r
-:102D7000AF012115310531F0EF3F31F481E07F3FA4\r
-:102D800019F403C081E001C080E0B82FB170CB2EF0\r
-:102D900080FD6CC1D090AD01DD2009F4F5C0F0914B\r
-:102DA000B001E216F30638F0C701821B930B883C92\r
-:102DB000910548F09BC0209530952E0D3F1D283C75\r
-:102DC000310508F093C08F2F807F09F052C0E513C2\r
-:102DD00014C0741312C0D62E61110FC0FF70F061C1\r
-:102DE000F093B0010E9416168BEA91E00E949012B7\r
-:102DF0008091B001F80185836CC1EF2831F05F3F0D\r
-:102E000031F481E04F3F19F403C081E001C080E05C\r
-:102E100080FD03C081E0862701C080E0F82FF170BB\r
-:102E2000FF2E80FF1CC08091790120917A0136E04D\r
-:102E3000821709F428C190E0389FF001399FF00D06\r
-:102E40001124E558FE4F7181571306C07081471356\r
-:102E500003C07281671303C001968770E9CFD62E35\r
-:102E6000662309F436C18091B00181608093B0017E\r
-:102E700053C0E51308C0741306C0611104C0D80123\r
-:102E80001596FC93AEC04D875E878D859E856A8BB7\r
-:102E90000E94B1156A89882329F1D62E662311F183\r
-:102EA0002091B001822F82958F7090E002970CF4F0\r
-:102EB00060C08091AB019091AC0198878F83198697\r
-:102EC000FB86EA862C87CE01079651C0E51731F1C3\r
-:102ED0004D875E878D859E856A8B0E94B1156A89B4\r
-:102EE00081112EC0C8010E949012A4C08F2F807F34\r
-:102EF00069F77E2DF98AE88A89890E94D6158BEABE\r
-:102F000091E00E949012EBEAF1E086E0DF011D9271\r
-:102F10008A95E9F70E941616D12CDBC07413D8CF1E\r
-:102F20006111D6CFD8011596FC93C8010E9490126A\r
-:102F3000EBEAF1E086E0DF011D928A95E9F7C9C06E\r
-:102F4000D62E662379F22091B001822F82958F7060\r
-:102F500090E0029774F08091AB019091AC019A835C\r
-:102F600089831B82FD82EC822E83CE0101960E9412\r
-:102F7000901286E0F801ABEAB1E001900D928A95DB\r
-:102F8000E1F70E9424166FC0E216F30628F0C7018D\r
-:102F9000821B930B9C0104C0209530952E0D3F1D84\r
-:102FA000283C310508F052C0D62E662309F49ACF8A\r
-:102FB000E5132CC074132AC08091B00180FD1DC0A0\r
-:102FC000982F92959F70C9F0D80115968C931597FC\r
-:102FD0009F3039F09F5F9295907F8F70892B159667\r
-:102FE0008C93C8010E94901286E0F801ABEAB1E030\r
-:102FF00001900D928A95E1F736C086E0F801ABEAC0\r
-:10300000B1E001900D928A95E1F763C04D875E872C\r
-:103010008D859E850E94B115882379F086E0F801A0\r
-:10302000ABEAB1E001900D928A95E1F70E94241677\r
-:103030000E941616DD24D3944CC08091B0018160AB\r
-:103040008093B001C8010E94901243C07E2DF98A7E\r
-:10305000E88A89890E94D615EBEAF1E086E0DF0173\r
-:103060001D928A95E9F70E94161633C0662309F46B\r
-:1030700039CF4D875E878D859E850E94B115882347\r
-:1030800009F430CFCBCF4D875E878D859E850E941A\r
-:10309000D41A292F22952F7030E0223031052CF4DC\r
-:1030A0009F7041F0811106C00CC0243031052CF412\r
-:1030B0009F7049F4805E883020F0C8010E94901211\r
-:1030C000CF2CDC2C06C0D80115969C91907F91F7EF\r
-:1030D000F8CF8D2D62960FB6F894DEBF0FBECDBF30\r
-:1030E000DF91CF911F910F91FF90EF90DF90CF90E4\r
-:1030F00008951F93CF93DF93CDB7DEB72C970FB60C\r
-:10310000F894DEBF0FBECDBF4F83588769877A879B\r
-:103110008B879C87CE0107960E948C168823C1F06E\r
-:103120002F8138858A859B85892B31F03F3F11F0AF\r
-:1031300080E003C02F3FE1F781E0811147C04F815C\r
-:10314000588569857A858B859C850E94E5153EC0EA\r
-:1031500086E0FE013796DE01119601900D928A9568\r
-:10316000E1F7FF81E8854A855B854115510531F01E\r
-:10317000EF3F31F481E0FF3F19F403C081E001C06B\r
-:1031800080E080FD23C020917A0130E0C9010196E2\r
-:10319000877099276091790170E086179707F1F1A0\r
-:1031A000F983EA835D834C8396E0929FD001939FDD\r
-:1031B000B00D1124A558BE4FFE01319601900D921D\r
-:1031C0009A95E1F780937A010E94F51516E08091B7\r
-:1031D000790190917A01891779F1189FC001112422\r
-:1031E00085589E4F0E948C16882331F1E091790119\r
-:1031F0001E9FF0011124E558FE4F408151816281EC\r
-:103200007381848195810E94E5158091790190E018\r
-:1032100001968770992780937901D9CF0E94AD15C7\r
-:1032200010927A0110927901EBEAF1E086E0DF0179\r
-:103230001D928A95E9F7CACF2C960FB6F894DEBF97\r
-:103240000FBECDBFDF91CF911F910895EF92FF92F6\r
-:103250000F931F93CF93DF93FC01009709F46FC086\r
-:10326000F12CEE24E394EF0121968491843740F40D\r
-:10327000843008F055C0813081F0823021F15FC088\r
-:10328000853709F447C0C0F19CE7980F903708F0E4\r
-:1032900056C08F770E94331245C08F010E5F1F4FBB\r
-:1032A000FE01849190E2980F983050F48770FE2DC3\r
-:1032B00001C0FF0F8A95EAF78F2F0E94B71B15C038\r
-:1032C0000E946B1114C08F010E5F1F4FFE0184918D\r
-:1032D00090E2980F983068F48770FE2D01C0FF0FC0\r
-:1032E0008A95EAF78F2F0E94BD1B0E94E01BE80120\r
-:1032F00019C00E943312FBCFCF010296FE01C49188\r
-:10330000CC2361F0EFE9FFE03197F1F700C0000056\r
-:10331000C150F6CFCF010296FE01F490EC0102C03D\r
-:103320000E946B118F2D882341F0EFE9FFE0319768\r
-:10333000F1F700C000008150F6CFFE0194CFDF917D\r
-:10334000CF911F910F91FF90EF9008950895609392\r
-:10335000B5017093B6018093B7019093B8010C94B6\r
-:1033600099150F931F930091B5011091B60120910B\r
-:10337000B7013091B801062B172B282B392B00935E\r
-:10338000B5011093B6012093B7013093B8011F9196\r
-:103390000F910C9499150F931F930091B501109103\r
-:1033A000B6012091B7013091B801062317232823D5\r
-:1033B00039230093B5011093B6012093B7013093E0\r
-:1033C000B8011F910F910C9499150F931F930091C1\r
-:1033D000B5011091B6012091B7013091B8010627CF\r
-:1033E0001727282739270093B5011093B60120939A\r
-:1033F000B7013093B8011F910F910C949915109259\r
-:10340000B1011092B2011092B3011092B4010C9468\r
-:10341000991541E050E060E070E004C0440F551F92\r
-:10342000661F771F8A95D2F74093B1015093B2017E\r
-:103430006093B3017093B4010C94991541E050E08E\r
-:1034400060E070E004C0440F551F661F771F8A9527\r
-:10345000D2F78091B1019091B201A091B301B091E6\r
-:10346000B401842B952BA62BB72B8093B10190939D\r
-:10347000B201A093B301B093B4010C94991541E04B\r
-:1034800050E060E070E004C0440F551F661F771FD6\r
-:103490008A95D2F740955095609570958091B101CD\r
-:1034A0009091B201A091B301B091B401842395230E\r
-:1034B000A623B7238093B1019093B201A093B301E7\r
-:1034C000B093B4010C94991541E050E060E070E0D5\r
-:1034D00004C0440F551F661F771F8A95D2F780914D\r
-:1034E000B1019091B201A091B301B091B4018427D0\r
-:1034F0009527A627B7278093B1019093B201A09397\r
-:10350000B301B093B4010C9499150F931F930091DC\r
-:10351000B1011091B2012091B3013091B401062B99\r
-:10352000172B282B392B0093B1011093B201209354\r
-:10353000B3013093B4011F910F910C9499150F931F\r
-:103540001F930091B1011091B2012091B30130910C\r
-:10355000B40106231723282339230093B1011093C4\r
-:10356000B2012093B3013093B4011F910F910C94D9\r
-:1035700099150F931F930091B1011091B201209101\r
-:10358000B3013091B4010627172728273927009364\r
-:10359000B1011093B2012093B3013093B4011F9194\r
-:1035A0000F910C9499150895CF92DF92EF92FF92AC\r
-:1035B0000F931F93CF93DF93EC01C090B501D09090\r
-:1035C000B601E090B701F090B8018091B1019091FF\r
-:1035D000B201A091B301B091B401C82AD92AEA2A54\r
-:1035E000FB2A0FE110E0B701A601002E04C076957A\r
-:1035F0006795579547950A94D2F740FF07C0BE01DB\r
-:10360000802F0E940D088130910539F40150110975\r
-:1036100050F7BE0180E00E940D08DF91CF911F910D\r
-:103620000F91FF90EF90DF90CF90089590910C0153\r
-:103630009923D9F090910D019923B9F0982F96957F\r
-:10364000969596959F3088F5E0910E01F0910F01C7\r
-:10365000E90FF11D877021E030E001C0220F8A954B\r
-:10366000EAF78181822B8183089540910E01509168\r
-:103670000F0120E030E09FEFFA01E20FF31F6281BB\r
-:10368000681799F09F3F19F4611101C0922F2F5FC5\r
-:103690003F4F2E30310581F79F3F39F0FA01E90F96\r
-:1036A000F11D97FDFA9582830895089590910C017C\r
-:1036B0009923E1F090910D019923C1F0982F9695EF\r
-:1036C000969596959F3020F5E0910E01F0910F01AF\r
-:1036D000E90FF11D877021E030E001C0220F8A95CB\r
-:1036E000EAF72095818128232183089540910E01D6\r
-:1036F00050910F0120E030E0FA01E20FF31F9281B8\r
-:10370000981301C012822F5F3F4F2E303105A1F771\r
-:10371000089581E090E0E0910E01F0910F01E80F33\r
-:10372000F91F1082019680319105A9F708959091B3\r
-:10373000CC01982B9093CC01089580959091CC0169\r
-:1037400098239093CC0108951092CC010895909104\r
-:10375000CB01982B9093CB01089580959091CB014C\r
-:1037600098239093CB0108951092CB0108959091E6\r
-:10377000CA01982B9093CA01089580959091CA012F\r
-:1037800098239093CA0108951092CA0108958093D6\r
-:10379000B90108951092B901089540910E01509118\r
-:1037A0000F0120E030E080E0FA01E20FF31F918189\r
-:1037B00091118F5F2F5F3F4F2F303105A9F708958B\r
-:1037C000E0910E01F0910F018091CC018083E09196\r
-:1037D0000E01F0910F0180819091CB01892B8083A4\r
-:1037E000E0910E01F0910F0180819091CA01892B27\r
-:1037F00080839091B901992361F0E0910E01F091DD\r
-:103800000F018081892B80830E94CD1B8111109232\r
-:10381000B90180910E0190910F010C944F10CF923D\r
-:10382000DF92EF92FF920F931F936C01EE24FF241F\r
-:10383000C114D104E104F10421F46B017C0180E0A6\r
-:1038400001C080E133272F2D1E2D0D2D01151105EF\r
-:103850002105310519F0885F68017901970186011A\r
-:10386000A4E03695279517950795AA95D1F70115E8\r
-:1038700011052105310519F08C5F68017901970167\r
-:103880008601F2E03695279517950795FA95D1F7B9\r
-:10389000011511052105310519F08E5F68017901C7\r
-:1038A000B701A6017695679557954795452B462B09\r
-:1038B000472B09F08F5F1F910F91FF90EF90DF90E2\r
-:1038C000CF9008958091E601843009F11092CE01E5\r
-:1038D00020E488E190E00FB6F894A895809360000A\r
-:1038E0000FBE2093600083B7817F846083BF83B75E\r
-:1038F000816083BF7894889583B78E7F83BF88E18A\r
-:103900000FB6F89480936000109260000FBE089587\r
-:1039100008950895CF930E94881C0E9437060E9444\r
-:10392000891CC0E08C2F0E942407811105C0CF5F45\r
-:10393000CE30C1F780E001C081E0CF9108950E94B0\r
-:10394000AD150E9443100C94480982E084BD93E0B9\r
-:1039500095BD9AEF97BD80936E0008952FB7F894A8\r
-:103960008091CF019091D001A091D101B091D2016D\r
-:103970002FBF0895CF92DF92EF92FF920F931F9384\r
-:103980002FB7F8944091CF015091D0016091D101AF\r
-:103990007091D2012FBF6A017B01EE24FF248C01BC\r
-:1039A00020E030E0C016D106E206F30610F44150E4\r
-:1039B0005109481B590BCA011F910F91FF90EF90BD\r
-:1039C000DF90CF9008951F920F920FB60F9211249F\r
-:1039D0008F939F93AF93BF938091CF019091D0012C\r
-:1039E000A091D101B091D2010196A11DB11D80938A\r
-:1039F000CF019093D001A093D101B093D201BF9198\r
-:103A0000AF919F918F910F900FBE0F901F901895BF\r
-:103A10000E94490DF8942FEF87EA91E621508040EB\r
-:103A20009040E1F700C0000087E090EBDC0180935C\r
-:103A3000EF019093F001A093F101B093F2012CE01B\r
-:103A400088E190E00FB6F894A895809360000FBECF\r
-:103A500020936000FFCFEF92FF920F931F93CF93BD\r
-:103A6000DF93E82EF12C8F2D0E942407C0E0D0E0D8\r
-:103A7000082F10E098010C2E02C0359527950A9466\r
-:103A8000E2F720FD05C02196C630D10599F709C09F\r
-:103A90006C2F7F2D80E00E94EB07E812F4CF81E0CD\r
-:103AA00005C0F3948EE0F812DECF80E0DF91CF9175\r
-:103AB0001F910F91FF90EF900895CF93C82F8CE244\r
-:103AC0000E942B1D882321F08C2FCF910C942B1D4D\r
-:103AD00080E0CF910895CF930E94B01E811102C063\r
-:103AE0000E94961EC5E6C15049F00E9437068FE33A\r
-:103AF0009CE90197F1F700C00000F5CF89E20E9430\r
-:103B00005D1D811111C18AE20E945D1D81110E941B\r
-:103B1000961E85E00E945D1D81110E94081D0E9475\r
-:103B2000BB1E8093CD0187E00E945D1D882399F123\r
-:103B30008BE10E945D1D882351F09091CD0191FB96\r
-:103B4000882780F921E0822780FB91F922C08EE04E\r
-:103B50000E945D1D882351F09091CD0192FB882732\r
-:103B600080F921E0822780FB92F913C080E10E9456\r
-:103B70005D1D9091CD01882341F093FB882780F94A\r
-:103B800021E0822780FB93F904C0892F809580FB78\r
-:103B900090F99093CD018091CD010E94BF1E0E94AB\r
-:103BA000CD1E8093E00180EE0E945D1D882341F0D0\r
-:103BB0008091E001982F909590FB80F98093E0012F\r
-:103BC00089E30E945D1D882359F09091E00191FBEB\r
-:103BD000882780F921E0822780FB91F99093E0010A\r
-:103BE00082EE0E945D1D882359F09091E00192FBC6\r
-:103BF000882780F921E0822780FB92F99093E001E9\r
-:103C000086EE0E945D1D882359F09091E00193FBA0\r
-:103C1000882780F921E0822780FB93F99093E001C7\r
-:103C200083EE0E945D1D882359F09091E00194FB82\r
-:103C3000882780F921E0822780FB94F99093E001A6\r
-:103C400085E30E945D1D882359F09091E00195FB6A\r
-:103C5000882780F921E0822780FB95F99093E00185\r
-:103C600081E30E945D1D882359F09091E00196FB4D\r
-:103C7000882780F921E0822780FB96F99093E00164\r
-:103C800081E10E945D1D882359F09091E00197FB2E\r
-:103C9000882780F921E0822780FB97F99093E00143\r
-:103CA0008091E0010E94D11E8091E00187FB88276E\r
-:103CB00080F980930D0187E20E945D1DC82F8EE17F\r
-:103CC0000E945D1D8111C2608FE10E945D1D811106\r
-:103CD000C46080E20E945D1D8111C86081E20E9483\r
-:103CE0005D1D8111C06182E20E945D1D8111C06273\r
-:103CF00083E20E945D1D8111C06484E20E945D1D0B\r
-:103D0000882311F0C06802C0CC2329F08C2F0E94B8\r
-:103D1000C81E6C2F03C00E94C41E682F70E080E094\r
-:103D200090E0CF910C94A719CF9108956DEE7EEF9E\r
-:103D300080E090E00E94EC2460E082E090E00E944D\r
-:103D4000DE2460E083E090E00E94DE2460E084E016\r
-:103D500090E00E94DE2460E085E090E00C94DE2498\r
-:103D600080E090E00E94D82421E08D3E9E4F09F033\r
-:103D700020E0822F089582E090E00C94D024682FF8\r
-:103D800082E090E00C94DE2483E090E00C94D02458\r
-:103D9000682F83E090E00C94DE2484E090E00C94A3\r
-:103DA000D024682F84E090E00C94DE248091D5012B\r
-:103DB00080FF0BC06091130185E0689FB001112462\r
-:103DC00075956795759567952AC081FF09C06091C3\r
-:103DD000130185E0689FB0011124759567951FC098\r
-:103DE00082FF07C06091130185E0689FB001112434\r
-:103DF00016C04091D6014423C9F0609112014617C4\r
-:103E000088F72091130185E0289F90011124429F9B\r
-:103E1000C001439F900D112470E00E94A2246038DD\r
-:103E2000710540F46115710539F002C065E070E07C\r
-:103E3000862F08958FE7089581E008958091D50138\r
-:103E400080FF08C06091110170E0759567957595C8\r
-:103E5000679521C081FF06C06091110170E07595E2\r
-:103E6000679519C082FF04C06091110170E010C015\r
-:103E70008091D6018823C1F0609110018617A0F7C8\r
-:103E800090911101989FC001112470E00E94A2241A\r
-:103E90006038710528F46115710521F0862F0895A9\r
-:103EA0008FE7089581E0089561E070E0F4CF803FEE\r
-:103EB00021F40E94D61E819504C0813F29F40E94FE\r
-:103EC000D61E8093D9010895823F21F40E94D61E08\r
-:103ED000819504C0833F29F40E94D61E8093D801A7\r
-:103EE0000895893F19F40E941E1F05C08A3F31F4CE\r
-:103EF0000E941E1F81958093DA0108958B3F21F463\r
-:103F00000E941E1F819504C08C3F29F40E941E1F31\r
-:103F10008093DB010895843F21F48091D701816073\r
-:103F200017C0853F21F48091D701826011C0863F80\r
-:103F300021F48091D70184600BC0873F21F48091E8\r
-:103F4000D701886005C0883F31F48091D701806136\r
-:103F50008093D70108958D3F21F48091D501816030\r
-:103F60000BC08E3F21F48091D501826005C08F3F48\r
-:103F700029F48091D50184608093D5010895803F14\r
-:103F800039F48091D90187FF6CC01092D90169C0C2\r
-:103F9000813F29F48091D9011816BCF362C0909139\r
-:103FA000D801823F29F497FF5CC01092D80159C014\r
-:103FB000833F19F41916CCF354C0893F41F4809122\r
-:103FC000DA0118160CF04DC01092DA014AC08A3F8F\r
-:103FD00029F48091DA0187FF44C0F6CF8B3F39F492\r
-:103FE0008091DB0187FF3DC01092DB013AC08C3F1E\r
-:103FF00029F48091DB011816BCF333C0843F21F40F\r
-:104000008091D7018E7F17C0853F21F48091D70121\r
-:104010008D7F11C0863F21F48091D7018B7F0BC02B\r
-:10402000873F21F48091D701877F05C0883F31F415\r
-:104030008091D7018F7E8093D70113C08D3F21F4EB\r
-:104040008091D5018E7F0BC08E3F21F48091D501E8\r
-:104050008D7F05C08F3F29F48091D5018B7F8093A0\r
-:10406000D5018091D80181110EC08091D9018111B3\r
-:104070000AC08091DA01811106C08091DB018111B3\r
-:1040800002C01092D601089587ED91E00E945A1067\r
-:104090000E94AE1C9093D4018093D30108951F9386\r
-:1040A000CF93DF938091D3019091D4010E94BA1CE9\r
-:1040B0004091D601442321F02091140130E006C044\r
-:1040C000209115015AE0259F900111248217930732\r
-:1040D00008F482C08091D8011091D901D091DA0101\r
-:1040E000C091DB01811107C0111105C0D11103C0BE\r
-:1040F000CC2309F471C04F3F19F04F5F4093D601B4\r
-:10410000181624F40E94D61E8093D8018091D801FD\r
-:1041100087FF05C00E94D61E81958093D801111695\r
-:1041200024F40E94D61E8093D9018091D90187FF83\r
-:1041300005C00E94D61E81958093D9016091D80157\r
-:10414000662339F11091D901112319F1772767FD01\r
-:104150007095872F972F0E94B32323E333E343E324\r
-:104160005FE30E9417240E9480236093D801612F8F\r
-:10417000772767FD7095872F972F0E94B32323E33E\r
-:1041800033E343E35FE30E9417240E94802360939C\r
-:10419000D9011D1624F40E941E1F8093DA0180911C\r
-:1041A000DA0187FF05C00E941E1F81958093DA0106\r
-:1041B0001C1624F40E941E1F8093DB018091DB01FA\r
-:1041C00087FF05C00E941E1F81958093DB01DF9150\r
-:1041D000CF911F910C944420DF91CF911F910895AE\r
-:1041E000E7EDF1E085E0DF011D928A95E9F7109295\r
-:1041F000D6011092D5010895833081F128F48130E1\r
-:1042000059F08230D1F00895853009F449C0B8F1F1\r
-:10421000863009F456C0089520911501862F90E04C\r
-:10422000820F911D8F3F910520F4620F609315015D\r
-:1042300008958FEF80931501089520911401862F22\r
-:1042400090E0820F911D8F3F910520F4620F6093E3\r
-:10425000140108958FEF80931401089520911301A4\r
-:10426000862F90E0820F911D8F3F910520F4620F01\r
-:104270006093130108958FEF8093130108952091A7\r
-:104280001201862F90E0820F911D8F3F910520F43F\r
-:10429000620F6093120108958FEF809312010895C9\r
-:1042A00020911101862F90E0820F911D8F3F910583\r
-:1042B00020F4620F6093110108958FEF8093110134\r
-:1042C000089520911001862F90E0820F911D8F3F5D\r
-:1042D000910520F4620F6093100108958FEF809391\r
-:1042E00010010895833011F128F4813049F08230B3\r
-:1042F00091F00895853081F120F18630C1F1089563\r
-:1043000080911501681720F4861B8093150108958C\r
-:1043100010921501089580911401681720F4861BEE\r
-:10432000809314010895109214010895809113014F\r
-:10433000681720F4861B80931301089510921301CF\r
-:10434000089580911201681720F4861B8093120152\r
-:10435000089510921201089580911101681720F4B8\r
-:10436000861B809311010895109211010895809188\r
-:104370001001681720F4861B809310010895109295\r
-:10438000100108958D3109F442C020F58E3009F4F2\r
-:1043900079C070F4873009F45EC020F4863009F4E7\r
-:1043A00042C033C08830D1F18B3009F4A7C02DC092\r
-:1043B000863109F4A3C038F4803109F46DC081312D\r
-:1043C00009F47BC022C0893109F498C08B3109F40B\r
-:1043D0004FC01BC0853309F479C048F4873209F413\r
-:1043E00075C008F478C0893209F470C00EC08334F7\r
-:1043F00038F48A3308F071C0883309F47FC005C0EF\r
-:10440000833409F463C08834C1F080E008950E94C9\r
-:104410003A230E9443100E94480970C00E94BB1EAC\r
-:104420000E94CD1E6BC08091CD01817F8E7F8093D5\r
-:10443000CD0181E08093DD0108950E94AD152FEF3D\r
-:1044400083ED90E3215080409040E1F700C00000F0\r
-:104450000E94081D53C09091CD01892F817090FF5B\r
-:1044600003C0917F9E7F26C091609093CD0146C08E\r
-:104470009091CD0191FB882780F921E0822780FB74\r
-:1044800091F913C09091CD0192FB882780F921E02A\r
-:10449000822780FB92F909C09091CD0193FB882778\r
-:1044A00080F921E0822780FB93F99093CD01882346\r
-:1044B00029F191609093CD0108950E94AD158091EE\r
-:1044C0000D0191E0892780930D0118C061E070E033\r
-:1044D00080E090E00FC023EE01C027EC280F61E0E0\r
-:1044E00070E080E090E004C0660F771F881F991F7E\r
-:1044F0002A95D2F70E94A7190E94AD1581E0089570\r
-:1045000080E0089580E00895CF93C82F8091DD0169\r
-:10451000813079F018F08230D1F184C0A0910E0181\r
-:10452000B0910F018C91813169F0823209F07CC029\r
-:1045300009C0A0910E01B0910F018C91813111F051\r
-:10454000823249F48C2F0E94802281111DC08C2F51\r
-:104550000E94C2211AC08C2F0E948222811114C095\r
-:10456000C43179F048F4CB3079F0C03109F060C043\r
-:1045700082E08093DD0108C0C93219F0C83321F010\r
-:1045800057C01092DD0154C081E0817053C0C93220\r
-:1045900089F118F5C43171F1A8F4C73009F046C0AB\r
-:1045A0008AE08093150194E19093140193E0909335\r
-:1045B00013018093120188E08093110188E28093B7\r
-:1045C000100134C0CE51C63088F5EC2FF0E0E65D26\r
-:1045D000FE4F80818093DC0129C0CE34E9F020F4C5\r
-:1045E000CB3421F56AE013C0C13579F0C235F1F45E\r
-:1045F00061E00DC08091DC01882319F01092DC018C\r
-:1046000015C081E08093DD0115C061E006C0809196\r
-:10461000DC010E94FC200AC06AE08091DC010E945B\r
-:10462000722104C01092DD0180E004C081E002C06C\r
-:1046300080E0ABCFCF910895E1E8F0E08081886021\r
-:1046400080838081816080838FB7F89493E090931A\r
-:10465000890090ED909388008FBF0895EFE6F0E019\r
-:104660008081826080830895EFE6F0E080818D7F15\r
-:1046700080830895EFE6F0E0808192E089278083CF\r
-:1046800008951F920F920FB60F9211242F933F930C\r
-:104690004F935F936F937F938F939F93AF93BF934A\r
-:1046A000EF93FF938091DE019091DF01019690934B\r
-:1046B000DF018093DE01811103C082E00E9448097E\r
-:1046C000E091DF01E695E695F0E0E258F74FE491DE\r
-:1046D0008091DE018E1303C080E00E944809FF91A3\r
-:1046E000EF91BF91AF919F918F917F916F915F916A\r
-:1046F0004F913F912F910F900FBE0F901F901895E3\r
-:1047000004D06894B1118DC0089570D088F09F577F\r
-:1047100090F0B92F9927B751A0F0D1F0660F771F0D\r
-:10472000881F991F1AF0BA95C9F712C0B13081F0ED\r
-:1047300077D0B1E0089574C0672F782F8827B85FCD\r
-:1047400039F0B93FCCF3869577956795B395D9F74E\r
-:104750003EF490958095709561957F4F8F4F9F4F58\r
-:104760000895E89409C097FB3EF490958095709564\r
-:1047700061957F4F8F4F9F4F9923A9F0F92F96E9AD\r
-:10478000BB279395F695879577956795B795F11122\r
-:10479000F8CFFAF4BB0F11F460FF1BC06F5F7F4FBF\r
-:1047A0008F4F9F4F16C0882311F096E911C07723D1\r
-:1047B00021F09EE8872F762F05C0662371F096E8DA\r
-:1047C000862F70E060E02AF09A95660F771F881FA9\r
-:1047D000DAF7880F9695879597F9089557FD9058C1\r
-:1047E000440F551F59F05F3F71F04795880F97FBB5\r
-:1047F000991F61F09F3F79F087950895121613066F\r
-:104800001406551FF2CF4695F1DF08C0161617069D\r
-:104810001806991FF1CF86957105610508940895D2\r
-:10482000E894BB2766277727CB0197F908950BD02B\r
-:1048300078C069D028F06ED018F0952309F05AC0DE\r
-:104840005FC01124EECFCADFA0F3959FD1F3950F7F\r
-:1048500050E0551F629FF001729FBB27F00DB11D04\r
-:10486000639FAA27F00DB11DAA1F649F6627B00D94\r
-:10487000A11D661F829F2227B00DA11D621F739F7D\r
-:10488000B00DA11D621F839FA00D611D221F749F8B\r
-:104890003327A00D611D231F849F600D211D822FD2\r
-:1048A000762F6A2F11249F5750408AF0E1F0882319\r
-:1048B0004AF0EE0FFF1FBB1F661F771F881F915026\r
-:1048C0005040A9F79E3F510570F014C0AACF5F3F3A\r
-:1048D000ECF3983EDCF3869577956795B795F79559\r
-:1048E000E7959F5FC1F7FE2B880F911D96958795E1\r
-:1048F00097F9089597F99F6780E870E060E0089560\r
-:104900009FEF80EC089500240A94161617061806E7\r
-:104910000906089500240A941216130614060506C3\r
-:104920000895092E0394000C11F4882352F0BB0F54\r
-:1049300040F4BF2B11F460FF04C06F5F7F4F8F4FB7\r
-:104940009F4F089597FB072E16F4009407D077FD2C\r
-:1049500009D00E94BC2407FC05D03EF490958195B7\r
-:104960009F4F0895709561957F4F0895EE0FFF1F3B\r
-:104970000590F491E02D0994AA1BBB1B51E107C0DF\r
-:10498000AA1FBB1FA617B70710F0A61BB70B881FDF\r
-:10499000991F5A95A9F780959095BC01CD0108956E\r
-:1049A000F999FECF92BD81BDF89A992780B50895F7\r
-:1049B000A8E1B0E042E050E00C94F324262FF999EE\r
-:1049C000FECF1FBA92BD81BD20BD0FB6F894FA9AF2\r
-:1049D000F99A0FBE019608950E94DE24272F0C94A9\r
-:1049E000DF24DC01CB01FC01F999FECF06C0F2BD4A\r
-:1049F000E1BDF89A319600B40D9241505040B8F79D\r
-:064A00000895F894FFCFB9\r
-:104A060020024A09D709B40980094D090101BA01F2\r
-:104A160028080A03140A3F4D36393F08F207BC0737\r
-:104A2600830716072F0748076107010203040506D7\r
-:044A36000708090064\r
+:102A50000C945E1B0E94441BC701B60128960FB65A\r
+:102A6000F894DEBF0FBECDBFDF91CF911F910F91C4\r
+:102A7000FF90EF90DF90CF900C942A1B603FC9F13C\r
+:102A800018F4603E50F49BC0623F09F460C008F443\r
+:102A90004AC0633F09F46FC092C0162F1F70842F85\r
+:102AA0008F71FF2099F00E94C31A812F28960FB6CC\r
+:102AB000F894DEBF0FBECDBFDF91CF911F910F9174\r
+:102AC000FF90EF90DF90CF900C940F130E94E41AC8\r
+:102AD000812F28960FB6F894DEBF0FBECDBFDF91D1\r
+:102AE000CF911F910F91FF90EF90DF90CF900C94BA\r
+:102AF0001613FF20A1F05111B2C0842F8F712896B8\r
+:102B00000FB6F894DEBF0FBECDBFDF91CF911F91FE\r
+:102B10000F91FF90EF90DF90CF900C94091B5230F3\r
+:102B200008F09DC0EACFFF20A1F0842F8F71289676\r
+:102B30000FB6F894DEBF0FBECDBFDF91CF911F91CE\r
+:102B40000F91FF90EF90DF90CF900C94C31AFF206D\r
+:102B500061F3842F8F7128960FB6F894DEBF0FBEF5\r
+:102B6000CDBFDF91CF911F910F91FF90EF90DF903C\r
+:102B7000CF900C94E41AFF2091F0842F8F71289647\r
+:102B80000FB6F894DEBF0FBECDBFDF91CF911F917E\r
+:102B90000F91FF90EF90DF90CF900C94AE1A289693\r
+:102BA0000FB6F894DEBF0FBECDBFDF91CF911F915E\r
+:102BB0000F91FF90EF90DF90CF900C94A41AFF201C\r
+:102BC000A1F0552309F4B1CF862F28960FB6F894BB\r
+:102BD000DEBF0FBECDBFDF91CF911F910F91FF9050\r
+:102BE000EF90DF90CF900C94F811552309F4B1CFFA\r
+:102BF000862F28960FB6F894DEBF0FBECDBFDF91AB\r
+:102C0000CF911F910F91FF90EF90DF90CF900C9498\r
+:102C1000C0124F70C8010E941D0328960FB6F89489\r
+:102C2000DEBF0FBECDBFDF91CF911F910F91FF90FF\r
+:102C3000EF90DF90CF900C94CB194F70C80128967D\r
+:102C40000FB6F894DEBF0FBECDBFDF91CF911F91BD\r
+:102C50000F91FF90EF90DF90CF900C94FC06289698\r
+:102C60000FB6F894DEBF0FBECDBFDF91CF911F919D\r
+:102C70000F91FF90EF90DF90CF9008950E94661C17\r
+:102C80000E94761C0E943B1C0E94921C0E945221B2\r
+:102C90000E94A62080E090E00E94F11080E090E089\r
+:102CA0000C9407110E94561C0C943E160E94B91BEE\r
+:102CB000292F22952F7030E02C3031054CF42A302A\r
+:102CC00031056CF4225031092230310590F407C0EF\r
+:102CD0002C30310551F02F30310539F00AC0803EDB\r
+:102CE00010F0803F31F481E0089593FB882780F94C\r
+:102CF000089580E00895CF93DF9300D000D01F9215\r
+:102D0000CDB7DEB70F900F900F900F900F90DF911F\r
+:102D1000CF910895CF93DF9300D000D000D0CDB7EE\r
+:102D2000DEB726960FB6F894DEBF0FBECDBFDF919B\r
+:102D3000CF9108951F93CF93DF93C091810116E047\r
+:102D400080918201C81799F0D0E01C9FF0011D9F6F\r
+:102D5000F00D1124ED57FE4F408151816281738146\r
+:102D6000848195810E948A162196C770E9CFDF91F0\r
+:102D7000CF911F9108954091B3015091B40160919A\r
+:102D8000B5017091B6018091B7019091B8010C9492\r
+:102D90008A16CF938091B80182958F7009F05FC039\r
+:102DA0008091B501882309F45AC020918101A09136\r
+:102DB00082016091B3017091B4018091B60190914C\r
+:102DC000B70131E06F3F09F030E0B32FC6E02A17BA\r
+:102DD00009F445C0009721F07F3F21F44B2F03C039\r
+:102DE00041E001C040E030E040FD35C0C29FF0014D\r
+:102DF000C39FF00D1124ED57FE4F418174132BC07A\r
+:102E00004081641328C04281411125C0438154810F\r
+:102E10004817590710F441505109481B590B483CB9\r
+:102E20005105C8F48091B8018F7080618093B8011A\r
+:102E300086E0829FF001839FF00D1124E857FE4F3A\r
+:102E400080818F708061808383EB91E00E941D13ED\r
+:102E5000CF910C949A162F5F3F4F2770B8CFCF9128\r
+:102E60000895CF92DF92EF92FF920F931F93CF932B\r
+:102E7000DF93CDB7DEB762970FB6F894DEBF0FBE13\r
+:102E8000CDBF8C0185E0F801DE011D9601900D9209\r
+:102E90008A95E1F7D8014C9111965C9111971296A1\r
+:102EA0006C9112971396ED90FC9014977091B3016A\r
+:102EB000E091B4012091B6013091B701211531059F\r
+:102EC00031F0EF3F31F481E07F3F19F403C081E03E\r
+:102ED00001C080E0B82FB170CB2E80FD6CC1D090C6\r
+:102EE000B501DD2009F4F5C0F091B801E216F30652\r
+:102EF00038F0C701821B930B883C910548F09BC0BA\r
+:102F0000209530952E0D3F1D283C310508F093C0CB\r
+:102F10008F2F807F09F052C0E51314C0741312C0C4\r
+:102F2000D62E61110FC0FF70F061F093B8010E94BE\r
+:102F3000BB1683EB91E00E941D138091B801F8014C\r
+:102F400085836CC1EF2831F05F3F31F481E04F3F62\r
+:102F500019F403C081E001C080E080FD03C081E07E\r
+:102F6000862701C080E0F82FF170FF2E80FF1CC083\r
+:102F7000809181012091820136E0821709F428C1F5\r
+:102F800090E0389FF001399FF00D1124ED57FE4F6E\r
+:102F90007181571306C07081471303C07281671394\r
+:102FA00003C001968770E9CFD62E662309F436C197\r
+:102FB0008091B80181608093B80153C0E51308C0C7\r
+:102FC000741306C0611104C0D8011596FC93AEC0FD\r
+:102FD0004D875E878D859E856A8B0E9456166A890D\r
+:102FE000882329F1D62E662311F12091B801822F72\r
+:102FF00082958F7090E002970CF460C08091B301CD\r
+:103000009091B40198878F831986FB86EA862C8776\r
+:10301000CE01079651C0E51731F14D875E878D854A\r
+:103020009E856A8B0E9456166A8981112EC0C8013E\r
+:103030000E941D13A4C08F2F807F69F77E2DF98A0F\r
+:10304000E88A89890E947B1683EB91E00E941D1318\r
+:10305000E3EBF1E086E0DF011D928A95E9F70E943B\r
+:10306000BB16D12CDBC07413D8CF6111D6CFD801D9\r
+:103070001596FC93C8010E941D13E3EBF1E086E076\r
+:10308000DF011D928A95E9F7C9C0D62E662379F231\r
+:103090002091B801822F82958F7090E0029774F092\r
+:1030A0008091B3019091B4019A8389831B82FD8240\r
+:1030B000EC822E83CE0101960E941D1386E0F8015A\r
+:1030C000A3EBB1E001900D928A95E1F70E94C91639\r
+:1030D0006FC0E216F30628F0C701821B930B9C0118\r
+:1030E00004C0209530952E0D3F1D283C310508F079\r
+:1030F00052C0D62E662309F49ACFE5132CC0741360\r
+:103100002AC08091B80180FD1DC0982F92959F70B4\r
+:10311000C9F0D80115968C9315979F3039F09F5FB1\r
+:103120009295907F8F70892B15968C93C8010E9481\r
+:103130001D1386E0F801A3EBB1E001900D928A9592\r
+:10314000E1F736C086E0F801A3EBB1E001900D9203\r
+:103150008A95E1F763C04D875E878D859E850E94C5\r
+:103160005616882379F086E0F801A3EBB1E00190D0\r
+:103170000D928A95E1F70E94C9160E94BB16DD24C4\r
+:10318000D3944CC08091B80181608093B801C8018C\r
+:103190000E941D1343C07E2DF98AE88A89890E9406\r
+:1031A0007B16E3EBF1E086E0DF011D928A95E9F7FB\r
+:1031B0000E94BB1633C0662309F439CF4D875E8762\r
+:1031C0008D859E850E945616882309F430CFCBCF7B\r
+:1031D0004D875E878D859E850E94B91B292F22957C\r
+:1031E0002F7030E0223031052CF49F7041F08111B6\r
+:1031F00006C00CC0243031052CF49F7049F4805E69\r
+:10320000883020F0C8010E941D13CF2CDC2C06C092\r
+:10321000D80115969C91907F91F7F8CF8D2D6296ED\r
+:103220000FB6F894DEBF0FBECDBFDF91CF911F91D7\r
+:103230000F91FF90EF90DF90CF9008951F93CF9361\r
+:10324000DF93CDB7DEB72C970FB6F894DEBF0FBE75\r
+:10325000CDBF4F83588769877A878B879C87CE013C\r
+:1032600007960E9431178823C1F02F8138858A85FF\r
+:103270009B85892B31F03F3F11F080E003C02F3F49\r
+:10328000E1F781E0811147C04F81588569857A85D2\r
+:103290008B859C850E948A163EC086E0FE0137968B\r
+:1032A000DE01119601900D928A95E1F7FF81E88584\r
+:1032B0004A855B854115510531F0EF3F31F481E0DE\r
+:1032C000FF3F19F403C081E001C080E080FD23C00E\r
+:1032D0002091820130E0C9010196877099276091A1\r
+:1032E000810170E086179707F1F1F983EA835D8326\r
+:1032F0004C8396E0929FD001939FB00D1124AD575F\r
+:10330000BE4FFE01319601900D929A95E1F78093A0\r
+:1033100082010E949A1616E08091810190918201AB\r
+:10332000891779F1189FC00111248D579E4F0E9473\r
+:103330003117882331F1E09181011E9FF0011124A2\r
+:10334000ED57FE4F40815181628173818481958167\r
+:103350000E948A168091810190E0019687709927DA\r
+:1033600080938101D9CF0E9452161092820110924F\r
+:103370008101E3EBF1E086E0DF011D928A95E9F738\r
+:10338000CACF2C960FB6F894DEBF0FBECDBFDF912B\r
+:10339000CF911F910895EF92FF920F931F93CF93B8\r
+:1033A000DF93FC01009709F46FC0F12CEE24E39445\r
+:1033B000EF0121968491843740F4843008F055C0A1\r
+:1033C000813081F0823021F15FC0853709F447C038\r
+:1033D000C0F19CE7980F903708F056C08F770E9495\r
+:1033E000C01245C08F010E5F1F4FFE01849190E215\r
+:1033F000980F983050F48770FE2D01C0FF0F8A950A\r
+:10340000EAF78F2F0E94691C15C00E94F81114C0A2\r
+:103410008F010E5F1F4FFE01849190E2980F98304C\r
+:1034200068F48770FE2D01C0FF0F8A95EAF78F2F91\r
+:103430000E946F1C0E94921CE80119C00E94C012D9\r
+:10344000FBCFCF010296FE01C491CC2361F0EFE9DE\r
+:10345000FFE03197F1F700C00000C150F6CFCF0177\r
+:103460000296FE01F490EC0102C00E94F8118F2D2B\r
+:10347000882341F0EFE9FFE03197F1F700C0000049\r
+:103480008150F6CFFE0194CFDF91CF911F910F9124\r
+:10349000FF90EF90089508956093BD017093BE0171\r
+:1034A0008093BF019093C0010C943E160F931F931D\r
+:1034B0000091BD011091BE012091BF013091C0016A\r
+:1034C000062B172B282B392B0093BD011093BE011F\r
+:1034D0002093BF013093C0011F910F910C943E16B1\r
+:1034E0000F931F930091BD011091BE012091BF0168\r
+:1034F0003091C00106231723282339230093BD01EF\r
+:103500001093BE012093BF013093C0011F910F9112\r
+:103510000C943E160F931F930091BD011091BE01B4\r
+:103520002091BF013091C00106271727282739278E\r
+:103530000093BD011093BE012093BF013093C001E1\r
+:103540001F910F910C943E161092B9011092BA017E\r
+:103550001092BB011092BC010C943E1641E050E069\r
+:1035600060E070E004C0440F551F661F771F8A9506\r
+:10357000D2F74093B9015093BA016093BB017093A5\r
+:10358000BC010C943E1641E050E060E070E004C0E5\r
+:10359000440F551F661F771F8A95D2F78091B90196\r
+:1035A0009091BA01A091BB01B091BC01842B952BE5\r
+:1035B000A62BB72B8093B9019093BA01A093BB01BE\r
+:1035C000B093BC010C943E1641E050E060E070E026\r
+:1035D00004C0440F551F661F771F8A95D2F7409588\r
+:1035E0005095609570958091B9019091BA01A09124\r
+:1035F000BB01B091BC0184239523A623B7238093FC\r
+:10360000B9019093BA01A093BB01B093BC010C9493\r
+:103610003E1641E050E060E070E004C0440F551FEA\r
+:10362000661F771F8A95D2F78091B9019091BA01F0\r
+:10363000A091BB01B091BC0184279527A627B7278D\r
+:103640008093B9019093BA01A093BB01B093BC01E0\r
+:103650000C943E160F931F930091B9011091BA017B\r
+:103660002091BB013091BC01062B172B282B392B45\r
+:103670000093B9011093BA012093BB013093BC01B0\r
+:103680001F910F910C943E160F931F930091B90157\r
+:103690001091BA012091BB013091BC010623172380\r
+:1036A000282339230093B9011093BA012093BB0159\r
+:1036B0003093BC011F910F910C943E160F931F93F2\r
+:1036C0000091B9011091BA012091BB013091BC0168\r
+:1036D00006271727282739270093B9011093BA0125\r
+:1036E0002093BB013093BC011F910F910C943E16A7\r
+:1036F0000895CF92DF92EF92FF920F931F93CF9393\r
+:10370000DF93EC01C090BD01D090BE01E090BF01FD\r
+:10371000F090C0018091B9019091BA01A091BB01D4\r
+:10372000B091BC01C82AD92AEA2AFB2A0FE110E08D\r
+:10373000B701A601002E04C0769567955795479569\r
+:103740000A94D2F740FD05C00150110988F780E0C6\r
+:1037500007C0BE01802F0E9439090197A9F3802F6D\r
+:10376000DF91CF911F910F91FF90EF90DF90CF905D\r
+:103770000895CF93DF93EC010E94791BBE010E9454\r
+:103780003909DF91CF910895CB010E94B91B0895AB\r
+:1037900090910C019923D9F090910D019923B9F0E2\r
+:1037A000982F9695969596959F3088F5E0910E0105\r
+:1037B000F0910F01E90FF11D877021E030E001C0A9\r
+:1037C000220F8A95EAF78181822B818308954091A7\r
+:1037D0000E0150910F0120E030E09FEFFA01E20F5F\r
+:1037E000F31F6281681799F09F3F19F4611101C0BE\r
+:1037F000922F2F5F3F4F2E30310581F79F3F39F0D9\r
+:10380000FA01E90FF11D97FDFA9582830895089555\r
+:1038100090910C019923E1F090910D019923C1F051\r
+:10382000982F9695969596959F3020F5E0910E01EC\r
+:10383000F0910F01E90FF11D877021E030E001C028\r
+:10384000220F8A95EAF72095818128232183089504\r
+:1038500040910E0150910F0120E030E0FA01E20F9B\r
+:10386000F31F9281981301C012822F5F3F4F2E30B9\r
+:103870003105A1F7089581E090E0E0910E01F0910B\r
+:103880000F01E80FF91F1082019680319105A9F709\r
+:1038900008959091D401982B9093D4010895809528\r
+:1038A0009091D40198239093D40108951092D4015B\r
+:1038B00008959091D301982B9093D301089580950A\r
+:1038C0009091D30198239093D30108951092D3013E\r
+:1038D00008959091D201982B9093D20108958095EC\r
+:1038E0009091D20198239093D20108951092D20121\r
+:1038F00008958093C10108951092C10108954091E7\r
+:103900000E0150910F0120E030E080E0FA01E20F5B\r
+:10391000F31F918191118F5F2F5F3F4F2F30310542\r
+:10392000A9F70895E0910E01F0910F018091D40163\r
+:103930008083E0910E01F0910F0180819091D3017D\r
+:10394000892B8083E0910E01F0910F01808190918D\r
+:10395000D201892B80839091C101992361F0E0917C\r
+:103960000E01F0910F018081892B80830E947F1CC2\r
+:1039700081111092C10180910E0190910F010C9460\r
+:10398000DB108091EC01843021F11092D60120E40B\r
+:1039900088E190E00FB6F894A895809360000FBE80\r
+:1039A0002093600080E00E94D40983B7817F846007\r
+:1039B00083BF83B7816083BF7894889583B78E7FF8\r
+:1039C00083BF88E10FB6F894809360001092600086\r
+:1039D0000FBE089508950895CF930E94EA1C0E9497\r
+:1039E00008060E94EB1CC0E08C2F0E94F506811196\r
+:1039F00005C0CF5FCE30C1F780E001C081E0CF913C\r
+:103A000008950E9452160E94CF100C94D40982E0AF\r
+:103A100084BD93E095BD9AEF97BD80936E000895A5\r
+:103A20002FB7F8948091D7019091D801A091D90136\r
+:103A3000B091DA012FBF0895CF92DF92EF92FF92FB\r
+:103A40000F931F932FB7F8944091D7015091D8014D\r
+:103A50006091D9017091DA012FBF6A017B01EE24D8\r
+:103A6000FF248C0120E030E0C016D106E206F30608\r
+:103A700010F441505109481B590BCA011F910F9175\r
+:103A8000FF90EF90DF90CF9008951F920F920FB6A6\r
+:103A90000F9211248F939F93AF93BF938091D7017F\r
+:103AA0009091D801A091D901B091DA010196A11DA0\r
+:103AB000B11D8093D7019093D801A093D901B09301\r
+:103AC000DA01BF91AF919F918F910F900FBE0F9030\r
+:103AD0001F9018950E94D50DF8942FEF87EA91E674\r
+:103AE000215080409040E1F700C0000087E090EB5B\r
+:103AF000DC018093F6019093F701A093F801B09355\r
+:103B0000F9012CE088E190E00FB6F894A895809335\r
+:103B100060000FBE20936000FFCFEF92FF920F93E3\r
+:103B20001F93CF93DF93E82EF12C8F2D0E94F50683\r
+:103B3000C0E0D0E0082F10E098010C2E02C03595AF\r
+:103B400027950A94E2F720FD05C02196C630D105DD\r
+:103B500099F709C06C2F7F2D80E00E94FD06E812C6\r
+:103B6000F4CF81E005C0F3948EE0F812DECF80E060\r
+:103B7000DF91CF911F910F91FF90EF900895CF9318\r
+:103B8000C82F8CE20E948D1D882321F08C2FCF91AD\r
+:103B90000C948D1D80E0CF910895CF930E94121F49\r
+:103BA000811102C00E94F81EC5E6C15049F00E9472\r
+:103BB00008068FE39CE90197F1F700C00000F5CFFC\r
+:103BC00089E20E94BF1D811111C18AE20E94BF1DBE\r
+:103BD00081110E94F81E85E00E94BF1D81110E9484\r
+:103BE0006A1D0E941D1F8093D50187E00E94BF1DA2\r
+:103BF000882399F18BE10E94BF1D882351F0909199\r
+:103C0000D50191FB882780F921E0822780FB91F97B\r
+:103C100022C08EE00E94BF1D882351F09091D501F3\r
+:103C200092FB882780F921E0822780FB92F913C05C\r
+:103C300080E10E94BF1D9091D501882341F093FB44\r
+:103C4000882780F921E0822780FB93F904C0892F1F\r
+:103C5000809580FB90F99093D5018091D5010E94C9\r
+:103C6000211F0E942F1F8093F50180EE0E94BF1D2F\r
+:103C7000882341F08091F501982F909590FB80F971\r
+:103C80008093F50189E30E94BF1D882359F090912C\r
+:103C9000F50191FB882780F921E0822780FB91F9CB\r
+:103CA0009093F50182EE0E94BF1D882359F09091F8\r
+:103CB000F50192FB882780F921E0822780FB92F9A9\r
+:103CC0009093F50186EE0E94BF1D882359F09091D4\r
+:103CD000F50193FB882780F921E0822780FB93F987\r
+:103CE0009093F50183EE0E94BF1D882359F09091B7\r
+:103CF000F50194FB882780F921E0822780FB94F965\r
+:103D00009093F50185E30E94BF1D882359F090919F\r
+:103D1000F50195FB882780F921E0822780FB95F942\r
+:103D20009093F50181E30E94BF1D882359F0909183\r
+:103D3000F50196FB882780F921E0822780FB96F920\r
+:103D40009093F50181E10E94BF1D882359F0909165\r
+:103D5000F50197FB882780F921E0822780FB97F9FE\r
+:103D60009093F5018091F5010E94331F8091F50138\r
+:103D700087FB882780F980930D0187E20E94BF1D91\r
+:103D8000C82F8EE10E94BF1D8111C2608FE10E9489\r
+:103D9000BF1D8111C46080E20E94BF1D8111C860F7\r
+:103DA00081E20E94BF1D8111C06182E20E94BF1D9D\r
+:103DB0008111C06283E20E94BF1D8111C06484E250\r
+:103DC0000E94BF1D882311F0C06802C0CC2329F0D7\r
+:103DD0008C2F0E942A1F6C2F03C00E94261F682F61\r
+:103DE00070E080E090E0CF910C944C1ACF91089550\r
+:103DF0006DEE7EEF80E090E00E94502560E082E072\r
+:103E000090E00E943E2560E083E090E00E943E2525\r
+:103E100060E084E090E00E943E2560E085E090E074\r
+:103E20000C943E2580E090E00E94382521E08D3EF4\r
+:103E30009E4F09F020E0822F089582E090E00C94DC\r
+:103E40003025682F82E090E00C943E2583E090E0DE\r
+:103E50000C943025682F83E090E00C943E2584E09C\r
+:103E600090E00C943025682F84E090E00C943E257F\r
+:103E70008091DD0180FF0BC06091130185E0689F98\r
+:103E8000B001112475956795759567952AC081FFD6\r
+:103E900009C06091130185E0689FB00111247595F8\r
+:103EA00067951FC082FF07C06091130185E0689F7E\r
+:103EB000B001112416C04091DE014423C9F0609185\r
+:103EC0001201461788F72091130185E0289F900181\r
+:103ED0001124429FC001439F900D112470E00E9465\r
+:103EE00002256038710540F46115710539F002C092\r
+:103EF00065E070E0862F08958FE7089581E00895CA\r
+:103F00008091DD0180FF08C06091110170E075951E\r
+:103F100067957595679521C081FF06C06091110175\r
+:103F200070E07595679519C082FF04C0609111011A\r
+:103F300070E010C08091DE018823C1F06091100113\r
+:103F40008617A0F790911101989FC001112470E08D\r
+:103F50000E9402256038710528F46115710521F071\r
+:103F6000862F08958FE7089581E0089561E070E05D\r
+:103F7000F4CF803F21F40E94381F819504C0813F17\r
+:103F800029F40E94381F8093E1010895823F21F4B3\r
+:103F90000E94381F819504C0833F29F40E94381F76\r
+:103FA0008093E0010895893F19F40E94801F05C0A5\r
+:103FB0008A3F31F40E94801F81958093E201089529\r
+:103FC0008B3F21F40E94801F819504C08C3F29F40F\r
+:103FD0000E94801F8093E3010895843F21F4809123\r
+:103FE000DF01816017C0853F21F48091DF0182608D\r
+:103FF00011C0863F21F48091DF0184600BC0873FB0\r
+:1040000021F48091DF01886005C0883F31F4809100\r
+:10401000DF0180618093DF0108958D3F21F480915D\r
+:10402000DD0181600BC08E3F21F48091DD01826053\r
+:1040300005C08F3F29F48091DD0184608093DD010C\r
+:104040000895803F39F48091E10187FF6CC01092A0\r
+:10405000E10169C0813F29F48091E1011816BCF3A8\r
+:1040600062C09091E001823F29F497FF5CC01092FA\r
+:10407000E00159C0833F19F41916CCF354C0893FAD\r
+:1040800041F48091E20118160CF04DC01092E2014B\r
+:104090004AC08A3F29F48091E20187FF44C0F6CFED\r
+:1040A0008B3F39F48091E30187FF3DC01092E3011B\r
+:1040B0003AC08C3F29F48091E3011816BCF333C059\r
+:1040C000843F21F48091DF018E7F17C0853F21F46A\r
+:1040D0008091DF018D7F11C0863F21F48091DF0147\r
+:1040E0008B7F0BC0873F21F48091DF01877F05C064\r
+:1040F000883F31F48091DF018F7E8093DF0113C010\r
+:104100008D3F21F48091DD018E7F0BC08E3F21F425\r
+:104110008091DD018D7F05C08F3F29F48091DD0105\r
+:104120008B7F8093DD018091E00181110EC0809131\r
+:10413000E10181110AC08091E201811106C08091E4\r
+:10414000E301811102C01092DE0108958FED91E02C\r
+:104150000E94E6100E94101D9093DC018093DB0109\r
+:1041600008951F93CF93DF938091DB019091DC0141\r
+:104170000E941C1D4091DE01442321F02091140176\r
+:1041800030E006C0209115015AE0259F90011124CE\r
+:104190008217930708F482C08091E0011091E10139\r
+:1041A000D091E201C091E301811107C0111105C056\r
+:1041B000D11103C0CC2309F471C04F3F19F04F5FF8\r
+:1041C0004093DE01181624F40E94381F8093E0010A\r
+:1041D0008091E00187FF05C00E94381F8195809380\r
+:1041E000E001111624F40E94381F8093E1018091B0\r
+:1041F000E10187FF05C00E94381F81958093E1018E\r
+:104200006091E001662339F11091E101112319F168\r
+:10421000772767FD7095872F972F0E94132423E33C\r
+:1042200033E343E35FE30E9477240E94E02360933B\r
+:10423000E001612F772767FD7095872F972F0E94E8\r
+:10424000132423E333E343E35FE30E9477240E94D4\r
+:10425000E0236093E1011D1624F40E94801F8093E7\r
+:10426000E2018091E20187FF05C00E94801F8195D5\r
+:104270008093E2011C1624F40E94801F8093E301C6\r
+:104280008091E30187FF05C00E94801F8195809384\r
+:10429000E301DF91CF911F910C94A620DF91CF9184\r
+:1042A0001F910895EFEDF1E085E0DF011D928A9501\r
+:1042B000E9F71092DE011092DD010895833081F15B\r
+:1042C00028F4813059F08230D1F00895853009F416\r
+:1042D00049C0B8F1863009F456C0089520911501FF\r
+:1042E000862F90E0820F911D8F3F910520F4620F81\r
+:1042F0006093150108958FEF809315010895209123\r
+:104300001401862F90E0820F911D8F3F910520F4BC\r
+:10431000620F6093140108958FEF80931401089544\r
+:1043200020911301862F90E0820F911D8F3F910500\r
+:1043300020F4620F6093130108958FEF80931301AF\r
+:10434000089520911201862F90E0820F911D8F3FDA\r
+:10435000910520F4620F6093120108958FEF80930E\r
+:104360001201089520911101862F90E0820F911D76\r
+:104370008F3F910520F4620F6093110108958FEF34\r
+:1043800080931101089520911001862F90E0820FF3\r
+:10439000911D8F3F910520F4620F609310010895E5\r
+:1043A0008FEF809310010895833011F128F481304C\r
+:1043B00049F0823091F00895853081F120F1863006\r
+:1043C000C1F1089580911501681720F4861B809330\r
+:1043D0001501089510921501089580911401681730\r
+:1043E00020F4861B809314010895109214010895FF\r
+:1043F00080911301681720F4861B809313010895A0\r
+:1044000010921301089580911201681720F4861B01\r
+:104410008093120108951092120108958091110164\r
+:10442000681720F4861B80931101089510921101E2\r
+:10443000089580911001681720F4861B8093100165\r
+:1044400008951092100108958D3109F442C020F5AD\r
+:104450008E3009F477C070F4873009F459C018F42D\r
+:104460008630F1F134C0883009F4A8C08B3009F4EB\r
+:10447000A5C02DC0863109F4A1C038F4803109F4FB\r
+:1044800072C0813109F479C022C0893109F496C023\r
+:104490008B3109F44DC01BC0853309F487C048F443\r
+:1044A000873209F483C008F473C0893209F47EC0EE\r
+:1044B0000EC0833438F48A3308F068C0883309F4B6\r
+:1044C0007DC005C0833409F471C0883499F080E060\r
+:1044D00008950E949A230E94CF100E94D4096EC0B2\r
+:1044E0008091D501817F8E7F8093D50181E080937B\r
+:1044F000E50108950E9452162FEF83ED90E32150BD\r
+:1045000080409040E1F700C000000E946A1D56C044\r
+:104510009091D501892F8095817080FB90F919F0D9\r
+:10452000966098601DC0997F977F9093D50146C093\r
+:104530009091D50191FB882780F921E0822780FBAB\r
+:1045400091F909C09091D50192FB882780F921E06B\r
+:10455000822780FB92F99093D501882379F19160AD\r
+:104560009093D50108959091D50193FB882780F908\r
+:1045700021E0822780FB93F9EECF0E9452168091B2\r
+:104580000D0191E0892780930D0118C027EC01C02F\r
+:1045900023EE280F61E070E080E090E004C0660F39\r
+:1045A000771F881F991F2A95D2F704C061E070E039\r
+:1045B00080E090E00E944C1A0E94521681E008951B\r
+:1045C00080E0089580E00895CF93C82F8091E501A1\r
+:1045D000813079F018F08230D1F184C0A0910E01C1\r
+:1045E000B0910F018C91813169F0823209F07CC069\r
+:1045F00009C0A0910E01B0910F018C91813111F091\r
+:10460000823249F48C2F0E94E02281111DC08C2F30\r
+:104610000E9424221AC08C2F0E94E222811114C011\r
+:10462000C43179F048F4CB3079F0C03109F060C082\r
+:1046300082E08093E50108C0C93219F0C83321F047\r
+:1046400057C01092E50154C081E0817053C0C93257\r
+:1046500089F118F5C43171F1A8F4C73009F046C0EA\r
+:104660008AE08093150194E19093140193E0909374\r
+:1046700013018093120188E08093110188E28093F6\r
+:10468000100134C0CE51C63088F5EC2FF0E0E65D65\r
+:10469000FE4F80818093E40129C0CE34E9F020F4FC\r
+:1046A000CB3421F56AE013C0C13579F0C235F1F49D\r
+:1046B00061E00DC08091E401882319F01092E401BB\r
+:1046C00015C081E08093E50115C061E006C08091CE\r
+:1046D000E4010E945E210AC06AE08091E4010E9428\r
+:1046E000D42104C01092E50180E004C081E002C042\r
+:1046F00080E0ABCFCF910895E1E8F0E08081886061\r
+:1047000080838081816080838FB7F89493E0909359\r
+:10471000890090ED909388008FBF0895EFE6F0E058\r
+:104720008081826080830895EFE6F0E080818D7F54\r
+:1047300080830895EFE6F0E0808192E0892780830E\r
+:1047400008951F920F920FB60F9211242F933F934B\r
+:104750004F935F936F937F938F939F93AF93BF9389\r
+:10476000EF93FF938091E6019091E701019690937A\r
+:10477000E7018093E601811103C082E00E94D40921\r
+:10478000E091E701E695E695F0E0E259FA4FE49111\r
+:104790008091E6018E1303C080E00E94D409FF914E\r
+:1047A000EF91BF91AF919F918F917F916F915F91A9\r
+:1047B0004F913F912F910F900FBE0F901F90189522\r
+:1047C00004D06894B1118DC0089570D088F09F57BF\r
+:1047D00090F0B92F9927B751A0F0D1F0660F771F4D\r
+:1047E000881F991F1AF0BA95C9F712C0B13081F02D\r
+:1047F00077D0B1E0089574C0672F782F8827B85F0D\r
+:1048000039F0B93FCCF3869577956795B395D9F78D\r
+:104810003EF490958095709561957F4F8F4F9F4F97\r
+:104820000895E89409C097FB3EF4909580957095A3\r
+:1048300061957F4F8F4F9F4F9923A9F0F92F96E9EC\r
+:10484000BB279395F695879577956795B795F11161\r
+:10485000F8CFFAF4BB0F11F460FF1BC06F5F7F4FFE\r
+:104860008F4F9F4F16C0882311F096E911C0772310\r
+:1048700021F09EE8872F762F05C0662371F096E819\r
+:10488000862F70E060E02AF09A95660F771F881FE8\r
+:10489000DAF7880F9695879597F9089557FD905800\r
+:1048A000440F551F59F05F3F71F04795880F97FBF4\r
+:1048B000991F61F09F3F79F08795089512161306AE\r
+:1048C0001406551FF2CF4695F1DF08C016161706DD\r
+:1048D0001806991FF1CF8695710561050894089512\r
+:1048E000E894BB2766277727CB0197F908950BD06B\r
+:1048F00078C069D028F06ED018F0952309F05AC01E\r
+:104900005FC01124EECFCADFA0F3959FD1F3950FBE\r
+:1049100050E0551F629FF001729FBB27F00DB11D43\r
+:10492000639FAA27F00DB11DAA1F649F6627B00DD3\r
+:10493000A11D661F829F2227B00DA11D621F739FBC\r
+:10494000B00DA11D621F839FA00D611D221F749FCA\r
+:104950003327A00D611D231F849F600D211D822F11\r
+:10496000762F6A2F11249F5750408AF0E1F0882358\r
+:104970004AF0EE0FFF1FBB1F661F771F881F915065\r
+:104980005040A9F79E3F510570F014C0AACF5F3F79\r
+:10499000ECF3983EDCF3869577956795B795F79598\r
+:1049A000E7959F5FC1F7FE2B880F911D9695879520\r
+:1049B00097F9089597F99F6780E870E060E008959F\r
+:1049C0009FEF80EC089500240A9416161706180627\r
+:1049D0000906089500240A94121613061406050603\r
+:1049E0000895092E0394000C11F4882352F0BB0F94\r
+:1049F00040F4BF2B11F460FF04C06F5F7F4F8F4FF7\r
+:104A00009F4F089597FB072E16F4009407D077FD6B\r
+:104A100009D00E941C2507FC05D03EF49095819595\r
+:104A20009F4F0895709561957F4F0895EE0FFF1F7A\r
+:104A30000590F491E02D0994AA1BBB1B51E107C01E\r
+:104A4000AA1FBB1FA617B70710F0A61BB70B881F1E\r
+:104A5000991F5A95A9F780959095BC01CD010895AD\r
+:104A6000F999FECF92BD81BDF89A992780B5089536\r
+:104A7000A8E1B0E042E050E00C945825262FF999C7\r
+:104A8000FECF92BD81BDF89A019700B4021639F0AD\r
+:104A90001FBA20BD0FB6F894FA9AF99A0FBE08957E\r
+:104AA0000196272F0E943F250C943E25DC01CB0167\r
+:104AB000FC01F999FECF06C0F2BDE1BDF89A31962E\r
+:104AC00000B40D9241505040B8F70895F894FFCFCC\r
+:104AD0002002D609630A400A0C0AD9090101C20161\r
+:104AE00028080A03140A3F4D36392F05E204AC04A6\r
+:104AF000730406041F04380451040102030405066C\r
+:044B00000708090099\r
 :00000001FF\r
index 842dc7ee19b90d83e17d9c73a1509fb7a02f391b..6465cd79e068b09800f2453b4b76281fedc94e21 100644 (file)
@@ -55,7 +55,7 @@ Finally, consider the turquoise text-nav keys. Here in the Symbols layer, these
 * The bright green keys are more F-keys
 * The dark yellow keys signal Web and Audio applications
 * The light yellow keys signal the operating system
-* The uncolored keys do nothing in case you bump them by accident
+* The dark gray keys do nothing in case you bump them by accident
 
 ![Ordinary media layout](ordinary-media.png)
 
@@ -67,14 +67,37 @@ Alas, the yellow keys have at best spotty success with common software. Good luc
 
 ## Switching Between Layers ##
 
-The three Shift keys correspond to three logical layers on top of the ever-present base layer, and are represented in the three LEDs on the keyboard: Capitals (red), Symbols (green), Media (blue). The color of a layer illuminates when the layer is active. Shift keys work in the expected way: press them and the keys shift to that layer; release them and the keys shift back to the base layer. The Ordinary Layout also features a Shift Lock key to keep a layer active indefinitely. Hold down the Shift Lock key then press any Shift key to lock to that layer. Or, hold down the Shift key and press the Shift Lock key; it works either way. To revert to the base layer, use the Shift Lock key again in combination with the Shift key.
+In addition to Symbols and Media there is the Capitals layer which is exactly the same as pressing the shift key. Each layer is accessed by a shift key on each edge of the keyboard and corresponds to one of the three LEDs on the keyboard: Capitals (red), Symbols (green), Media (blue). The color of a layer illuminates when the layer is active.
 
-This layout attempts to treat the Capitals Shift layer the same as the other two Shift layers, but internally they are different which causes some inconsistencies. For instance, it is possible to switch from any layer to any other layer, and to lock to any layer, *except* it is not possible to go from Media to Symbols. You must exit the Media layer before engaging the Symbols layer. Also, the Caps Lock feature must be triggered by first pressing the Shift Lock key then a Capitals Shift key; it doesn't work if you press the Shift key first (instead you get the secondary symbol character associated with the Shift Lock button).
+Shift buttons work in the expected way: press them and all of the keys switch to that layer; release them and the keys switch back to the base layer. If you press both of a pair of shift keys, the layer will lock on until you press both shift keys again. For instance, the widely and rightly loathed Caps Lock is engaged by pressing both Capitals Shift buttons. All the Shift keys work this way.
 
-## Special Escape & Backspace Sequences ##
+Multiple layers can be turned on at once. The Capitals layer will affect characters on other layers to capitalize. Other layers, however, don't 'mix': Symbols blankets the base layout; Media blankets Symbols.
 
-In the Ordinary Layout, the most unsatisfying key location is the Escape key which rightly belongs segregated on its own way up on the top left of the keyboard. The Ergodox does not have a physical button in such a location and the nearest one, in the top left corner, is home to the tilde (er, grave) which is commonly found there. The Escape key is important so it features prominently on the other top corner on the left side of the keyboard, and is always there in all layers. Nevertheless, alas, it isn't Ordinary to put the escape in that different corner!
+## Special Sequences ##
 
-That tilde key has a second function as the Shift Lock key and that makes possible a special feature. To make this layout as Ordinary as possible, the Escape key can *also* be accessed by pressing Shift Lock then the 1 button right next to it. This easy gesture is a way to partially maintain the ease of flicking your wrist to the left and tapping Escape. This gesture works in all layers.
+![Ordinary special layout](ordinary-special.png)
 
-Finally, because the special Escape sequence is so natural and useful, on the top right corner of the Ergodox EZ you can do the same gesture with the 0 key to produce a Backspace. Users of this keyboard and this layout are well advised to learn to use their thumbs for deleting text, but sometimes you are doing other computery things and just want to flick your digits up to the right and press backspace a bunch times. These special sequences should feel unremarkably mundane but might prove to be remarkably useful.
+### Escape ###
+
+The One True Location for the Escape key is segregated way up on the top left of the keyboard. The Ergodox does not have a physical button in such a location and the nearest one is home to the tilde (er, grave) which is commonly found there. In the Ordinary layout the Escape key is found on all layers in the prominent location in the corner next to the 5, whnich is easy to remember, and yet it isn't natural for those of us with muscle memory flicking our wrists up and to the left looking for Escape.
+
+The Ordinary layout offers as a consolation prize a Special sequence for Escape: Special Shift + 1. This is natural so you can tap the top left button, then the button next to it and get Escape. This gesture works in all layers.
+
+### Backspace ###
+
+At the top right corner of the Ergodox EZ you can a gesture similar to the special Escape sequence, using the 0 key, to produce a Backspace. Users of this keyboard and this layout are well advised to learn to use their thumbs for deleting text, but sometimes you are doing other computery things and just want to flick your digits up to the right and press backspace a bunch times.
+
+### RShift ###
+
+The Ordinary Layout locks layers by pressing both of a pair of shift keys. This interferes with the QMK firmware magic sequence, which is LShift+RShift. To work around this, both of the Capitals Shift keys produce a *Left Shift* keystroke. If for some reason a person needs *Right Shift* they can find it by pressing a Special Shift key, then the Capitals Shift key on the right side of the keyboard.
+
+****
+
+The Ordinary Layout for the Ergodox EZ keyboard, v4
+
+Modifications from default by Nicholas Keene ergodoxez@nicholaskeene.com
+
+No rights reserved. This software is in the public domain. Credit me if you are friendly but if you're a jerk don't bother.
+
+Details: readme.md
+         https://github.com/nrrkeene/qmk_firmware/tree/master/keyboard/ergodox_ez/keymaps/ordinary
diff --git a/keyboard/ergodox_ez/keymaps/romanzolotarev-norman-osx/keymap.c b/keyboard/ergodox_ez/keymaps/romanzolotarev-norman-osx/keymap.c
new file mode 100644 (file)
index 0000000..e23c5a1
--- /dev/null
@@ -0,0 +1,45 @@
+#include "ergodox_ez.h"
+#include "debug.h"
+#include "action_layer.h"
+
+#define BASE 0
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+  [BASE] = KEYMAP(
+    KC_GRV,        KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_F5,
+    KC_TAB,        KC_Q,    KC_W,    KC_D,    KC_F,    KC_K,    KC_BSLS,
+    CTL_T(KC_ESC), KC_A,    KC_S,    KC_E,    KC_T,    KC_G,
+    KC_LSFT,       KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_LBRC,
+    KC_F1,         KC_F2,   KC_F3,   KC_F4,   KC_LGUI, 
+    /*-*/          /*-*/    /*-*/    /*-*/    /*-*/    KC_VOLD, KC_MUTE,
+    /*-*/          /*-*/    /*-*/    /*-*/    /*-*/    /*-*/    KC_VOLU,
+    /*-*/          /*-*/    /*-*/    /*-*/    /*-*/    KC_BSPC, CTL_T(KC_ESC), KC_LALT,
+    //
+    /*-*/          KC_F6,   KC_6,    KC_7,    KC_8,    KC_9,    KC_0,          KC_EQL,
+    /*-*/          KC_NO,   KC_J,    KC_U,    KC_R,    KC_L,    KC_SCLN,       KC_MINS,
+    /*-*/          /*-*/    KC_Y,    KC_N,    KC_I,    KC_O,    KC_H,          KC_ENT,
+    /*-*/          KC_RBRC, KC_P,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH,       KC_RSFT,
+    /*-*/          /*-*/    /*-*/    KC_RGUI, KC_LEFT, KC_DOWN, KC_UP,         KC_RGHT, 
+    KC_MPLY,       KC_MNXT,
+    KC_MPRV,
+    KC_RALT,       KC_QUOT, KC_SPC
+    )
+};
+
+const uint16_t PROGMEM fn_actions[] = {
+};
+
+const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {
+};
+
+// Runs just one time when the keyboard initializes.
+void matrix_init_user(void) {
+  ergodox_board_led_off();
+  ergodox_right_led_1_off();
+  ergodox_right_led_2_off();
+  ergodox_right_led_3_off();
+};
+
+// Runs constantly in the background, in a loop.
+void matrix_scan_user(void) {
+};
diff --git a/keyboard/ergodox_ez/keymaps/romanzolotarev-norman-osx/readme.md b/keyboard/ergodox_ez/keymaps/romanzolotarev-norman-osx/readme.md
new file mode 100644 (file)
index 0000000..80475ab
--- /dev/null
@@ -0,0 +1,28 @@
+# Roman's Layout
+
+There is only one layer based on [Norman layout](https://normanlayout.info/).
+
+Looking for multiple-layer layouts?
+
+- [Symbols, arrows, plover, HJKL arrows](../romanzolotarev-norman-plover-osx-hjkl/)
+- [Same with IJKL arrows](../romanzolotarev-norman-plover-osx/)
+
+[![keyboard-layout](romanzolotarev-norman-osx.png)](http://www.keyboard-layout-editor.com/#/gists/9e89d54f1ea6eeeb7dab1b2d19d28195)
+
+## Functional Keys
+
+- Tap `F1` to mute microphone via [Shush](http://mizage.com/shush/).
+- Tap `F2` to copy screenshot to the clipboard.
+- Hold `SHIFT` and tap `F2` to save screenshot as a file.
+- Tap `F3`, `F4`, `F5`, `F6` to resize a window via [Divvy](http://mizage.com/divvy/).
+
+## CTRL/ESC
+
+CTRL and ESC are frequently used in Vim.
+
+- Tap `CTRL/ESC` to send `ESC`.
+- Hold `CTRL/ESC` to use as `CTRL`.
+
+## Activate N-rollover
+
+- Hold left `SHIFT` and right `SHIRT` and then tap `N`.
diff --git a/keyboard/ergodox_ez/keymaps/romanzolotarev-norman-osx/romanzolotarev-norman-osx.hex b/keyboard/ergodox_ez/keymaps/romanzolotarev-norman-osx/romanzolotarev-norman-osx.hex
new file mode 100644 (file)
index 0000000..1be94c4
--- /dev/null
@@ -0,0 +1,1092 @@
+:100000000C94BB010C94FF010C94FF010C94FF01B4\r
+:100010000C94FF010C94FF010C94FF010C94FF0160\r
+:100020000C94FF010C94FF010C94E20A0C94B40BA5\r
+:100030000C94FF010C94FF010C94FF010C94FF0140\r
+:100040000C94FF010C9432200C94FF010C94FF01DE\r
+:100050000C94FF010C94BD190C94FF010C94FF014A\r
+:100060000C94FF010C94FF010C94FF010C94FF0110\r
+:100070000C94FF010C94FF010C94FF010C94FF0100\r
+:100080000C94FF010C94FF010C94FF010C94FF01F0\r
+:100090000C94FF010C94FF010C94FF010C94FF01E0\r
+:1000A0000C94FF010C94FF010C94FF01210C430CF4\r
+:1000B000310D430C310D880CAB0C310D000D130DBF\r
+:1000C000FF0FFF0F3C103C107F10BD10D612D61250\r
+:1000D000D610D612D711D711AA12D612D612C11223\r
+:1000E00035002B002971E1003A0000001E001400C9\r
+:1000F00004001D003B00E2001F001A0016001B0058\r
+:100100003C00297120000700080006003D002A007D\r
+:100110002100090017001900E300A90022000E00C9\r
+:100120000A0005000000AA003E00310000002F0078\r
+:100130000000A8003F000000000030000000AE00FA\r
+:1001400023000D001C0013000000AB002400180069\r
+:1001500011001000E700AC00250015000C0036006F\r
+:1001600050002C0026000F00120037005100340010\r
+:10017000270033000B0038005200E6002E002D004F\r
+:100180002800E5004F0000001603450072006700DC\r
+:100190006F0044006F007800200045005A00000006\r
+:1001A00016034500720067006F0044006F0078007E\r
+:1001B000200045005A0000000403090409026D00F4\r
+:1001C000040100A0FA090400000103010100092153\r
+:1001D00011010001223F000705810308000A0904FC\r
+:1001E00001000103010200092111010001224D005B\r
+:1001F0000705820308000A09040200010300000049\r
+:100200000921110100012236000705830308000AB5\r
+:10021000090403000103000000092111010001226B\r
+:1002200039000705840310000112011001000000CD\r
+:1002300008EDFE071301000102000105010906A1F6\r
+:1002400001050719E029E7150025019508750181C9\r
+:100250000205081901290595057501910295017599\r
+:100260000391010507190029771500250195787577\r
+:10027000018102C005010980A10185021601002645\r
+:10028000B7001A01002AB700751095018100C0055A\r
+:100290000C0901A1018503160100269C021A010028\r
+:1002A0002A9C02751095018100C005010902A10177\r
+:1002B0000901A10005091901290515002501950568\r
+:1002C000750181029501750381010501093009312C\r
+:1002D0001581257F95027508810609381581257FCE\r
+:1002E000950175088106050C0A38021581257F9550\r
+:1002F0000175088106C0C005010906A1010507199D\r
+:10030000E029E71500250195087501810295017521\r
+:1003100008810105081901290595057501910295C6\r
+:1003200001750391010507190029FF150025FF95A7\r
+:100330000675088100C000000000000000000000F9\r
+:1003400000010204060A0F17202C3A4A5D71879DAE\r
+:10035000B3C7DAE9F5FCFFFCF5E9DAC7B39D8771AD\r
+:100360005D4A3A2C20170F0A060402010000000023\r
+:1003700000000000000011241FBECFEFDAE0DEBF56\r
+:10038000CDBF04B603FE24C08091EF019091F0012F\r
+:10039000A091F101B091F2018730904BA740B04B92\r
+:1003A000B9F41092EF011092F0011092F101109245\r
+:1003B000F20114BE84B7877F84BF88E10FB6F8943A\r
+:1003C00080936000109260000FBEE0E0FFE30995AB\r
+:1003D00011E0A0E0B1E0E8EEF3E402C005900D9278\r
+:1003E000A433B107D9F711E0A4E3B1E001C01D9235\r
+:1003F000AF3EB107E1F70E9426080C94F2210C945D\r
+:100400000000089556985E9825982D9826982E9865\r
+:1004100027982F98089508950C940B0256985E988B\r
+:1004200025982D9826982E9827982F988FEF90E052\r
+:10043000909389008093880090938B0080938A002A\r
+:1004400090938D0080938C00259A2D9A2FEF80E752\r
+:1004500092E0215080409040E1F700C00000269AD1\r
+:100460002E9A2FEF80E792E0215080409040E1F7F4\r
+:1004700000C00000279A2F9A2FEF80E792E02150CA\r
+:1004800080409040E1F700C0000025982D982FEFA4\r
+:1004900080E792E0215080409040E1F700C00000EA\r
+:1004A00026982E982FEF80E792E0215080409040D0\r
+:1004B000E1F700C0000027982F9856985E9825987D\r
+:1004C0002D9826982E9827982F98089589EA80933A\r
+:1004D000800089E08093810024982C983F988AB10D\r
+:1004E0008F748AB96E98479A8BB1806B8BB9769A64\r
+:1004F0000E940E020C94020280E28093000180911F\r
+:10050000340181110EC00E94CB0281E0809334013E\r
+:100510002FEF83ED90E3215080409040E1F700C041\r
+:10052000000080E40E94D1028093000181112EC05E\r
+:100530000E94FB0280930001811128C00E94FB02EF\r
+:1005400080930001811122C08FE30E94FB028093FF\r
+:10055000000181111BC00E94F30280E40E94D102BD\r
+:1005600080930001811112C08CE00E94FB028093F5\r
+:10057000000181110BC00E94FB02809300018111D8\r
+:1005800005C08FE30E94FB02809300010E94F302EA\r
+:100590008091000108951092B9008AE08093B8001C\r
+:1005A000089594EA9093BC009091BC0097FFFCCF13\r
+:1005B0009091B900987F983021F0903111F081E04E\r
+:1005C00008958093BB0084E88093BC008091BC00B8\r
+:1005D00087FFFCCF8091B900887F883111F080348B\r
+:1005E00071F780E0089584E98093BC008091BC009D\r
+:1005F00084FDFCCF08958093BB0084E88093BC0009\r
+:100600008091BC0087FFFCCF9091B900987F81E07A\r
+:10061000983209F480E0089584E88093BC008091CA\r
+:10062000BC0087FFFCCF8091BB0008958091000142\r
+:10063000811115C080E40E94D102809300018111D4\r
+:100640000CC082E10E94FB0280930001811105C071\r
+:100650008FEF0E94FB02809300010E94F30284B19D\r
+:10066000807F84B985B1807F85B98AB1837F8AB95B\r
+:100670008BB1837F8BB93E98469808950E947C0287\r
+:10068000809300010E94160380B38C7080BB81B3FD\r
+:10069000836F81BBA6E3B1E0E4E4F1E08EE08E0F6E\r
+:1006A00011921D928E13FCCF0C946602BF92CF92D2\r
+:1006B000DF92EF92FF920F931F93CF93DF9380917E\r
+:1006C0000001882379F0809135018F5F8093350197\r
+:1006D000811108C00E947C0280930001811102C038\r
+:1006E0000E940E0206E311E0C0E0D0E0DD24D394C6\r
+:1006F00082E0C82EEE24E394F12CC730D10500F53A\r
+:1007000080910001811164C080E40E94D102809335\r
+:100710000001811112C082E10E94FB02809300015E\r
+:1007200081110BC0C7010C2E01C0880F0A94EAF793\r
+:1007300080950E94FB02809300010E94F30248C052\r
+:10074000CA30A1F028F4C83059F0C93061F005C0B2\r
+:10075000CC3089F070F0CD3089F0209A289810C004\r
+:10076000219A29980DC0229A2A980AC0239A2B9878\r
+:1007700007C0529A01C0539A5B9802C03E9A4698AD\r
+:1007800090EA9A95F1F79FB1799902C082E001C091\r
+:1007900080E091709D25982B7C9902C084E001C077\r
+:1007A00080E0892B7D9902C038E001C030E0832BC6\r
+:1007B0007E9902C020E101C020E0822B9FB190957C\r
+:1007C000991F9927991F9295990F907E892B0FC099\r
+:1007D00080910001811149C080E40E94D102809380\r
+:1007E0000001882379F1B12C0E94F3028B2DF801CE\r
+:1007F0009081981719F08083C09201010E9416031E\r
+:1008000021960F5F1F4FCE30D10509F076CF809132\r
+:100810000101882361F1815080930101882339F01F\r
+:100820008FE99FE00197F1F700C0000020C0A4E429\r
+:10083000B1E0E6E3F1E0CF01825F91919D938E13E9\r
+:10084000FCCF15C083E10E94FB028093000181115F\r
+:10085000CACF81E40E94D102809300018111C3CFED\r
+:100860000E940C03B82EB094BFCF80E0C0CF0E948E\r
+:100870000C0281E0DF91CF911F910F91FF90EF90DB\r
+:10088000DF90CF90BF900895E82FF0E0EC5BFE4F33\r
+:100890008081089508958B3B910578F4883A9105FD\r
+:1008A00040F5853A9105D0F48430910508F0B1C047\r
+:1008B0008130910509F4ADC06BC0803E910508F40C\r
+:1008C00067C0883E910508F4A4C09C01205F3109EF\r
+:1008D0002031310508F05CC090650895853A910596\r
+:1008E00009F459C0863A910509F058C082E890E4AD\r
+:1008F0000895883A910509F454C0893A910509F49C\r
+:1009000053C08A3A910509F452C08B3A910509F413\r
+:1009100051C08C3A910509F450C08D3A910509F403\r
+:100920004FC0803B910509F44EC08E3A910509F401\r
+:100930004DC08F3A910509F44CC0813B910509F4F3\r
+:100940004BC0823B910509F44AC0833B910509F4F1\r
+:1009500049C0843B910509F448C0853B910509F4E1\r
+:1009600047C0863B910509F446C0873B910509F4D1\r
+:1009700045C0883B910509F444C0893B910509F4C1\r
+:1009800043C08A3B910509F442C080E094E4089595\r
+:1009900080E090E0089581E890E4089583E890E491\r
+:1009A000089582EE94E4089589EE94E408958AEE21\r
+:1009B00094E4089585EB94E4089586EB94E4089517\r
+:1009C00087EB94E408958CEC94E408958DEC94E422\r
+:1009D000089583E895E408958AE895E4089582E906\r
+:1009E00095E4089584E995E4089581E296E40895F4\r
+:1009F00083E296E4089584E296E4089585E296E41D\r
+:100A0000089586E296E4089587E296E408958AE2DE\r
+:100A100096E40895089596E0799FF001112494E5F5\r
+:100A2000899FE00DF11D1124E60FF11DEE0FFF1F50\r
+:100A3000E052FF4F859194910895880F991FFC0112\r
+:100A4000E05AF040859194910895880F991FFC0118\r
+:100A5000E052FF4F85919491089526E0729FF00136\r
+:100A6000112444E5849FE00DF11D1124E60FF11DD2\r
+:100A7000EE0FFF1FE052FF4F859194919C013A9534\r
+:100A800021154FE1340708F41CC13F5121153041B5\r
+:100A900020F49F700E94250508959C013053211574\r
+:100AA000304118F49927906C0895811520E592073C\r
+:100AB00071F40E94FA124FEF84E39CE041508040B1\r
+:100AC0009040E1F700C000000E94E219FAC08130B6\r
+:100AD00020E5920731F48091CD0181608093CD01B2\r
+:100AE000F0C09C0130552115304108F051C0292F2C\r
+:100AF00033272F70332721303105D9F4AC014370EF\r
+:100B0000552702C0220F331F4A95E2F73C68AC011B\r
+:100B100064E0440F551F6A95E1F744275370242B76\r
+:100B2000352B73E0880F991F7A95E1F78076992726\r
+:100B30001DC02230310529F4982F8827816F906AD3\r
+:100B4000089523303105A9F4AC014370552721E005\r
+:100B500030E002C0220F331F4A95E2F73C6843E0C1\r
+:100B6000880F991F4A95E1F7807E9770822B932B0F\r
+:100B7000089524303105E1F4AC014370552721E09C\r
+:100B800030E002C0220F331F4A95E2F73A68E7CF00\r
+:100B90009C0130572115304118F49F7090620895E0\r
+:100BA0009C0130582115304118F49F70906A0895C7\r
+:100BB000803E9105E0F4803C910558F58133910524\r
+:100BC00009F46FC048F48932910509F463C08A3290\r
+:100BD000910509F46DC072C089339105E9F082383E\r
+:100BE0009105D1F08533910509F44DC067C0833E6E\r
+:100BF000910581F138F4803E9105B9F0823E91056E\r
+:100C0000D9F05CC0863E910561F1873E9105A1F166\r
+:100C100055C00E941D0508952091E00120FD02C0ED\r
+:100C200021FF4CC080EE90E049C08091E00180FF40\r
+:100C3000F9CF89E390E042C08091E00182FF0EC0CD\r
+:100C40008091E00184FF03C080E090E037C083EE34\r
+:100C500090E034C08091E00182FFF2CF82EE90E01C\r
+:100C60002DC08091E00183FF0BC08091E00184FDE5\r
+:100C7000EBCF87EE90E022C08091E00183FFF5CFBB\r
+:100C800086EE90E01BC08091E00185FF07C089E2FD\r
+:100C900090E014C08091E00185FFF9CF85E390E0FA\r
+:100CA0000DC08091E00186FF07C08AE290E006C097\r
+:100CB0008091E00186FFF9CF81E390E00E944B0430\r
+:100CC0000895089508950C94620680916201089534\r
+:100CD000CF93DF9300D01F92CDB7DEB79C018091F8\r
+:100CE000E601843019F593E099833B832A8390933E\r
+:100CF000E9008FEF9091E800815095FD06C095EDD9\r
+:100D00009A95F1F700008111F5CF8091E80085FFF9\r
+:100D10000DC040E050E063E070E0CE0101960E941B\r
+:100D2000D2088091E8008E778093E8000F900F90B2\r
+:100D30000F90DF91CF910895CF93DF9300D01F9252\r
+:100D4000CDB7DEB72091E601243021F522E02983DA\r
+:100D50009B838A8383E08093E9008FEF9091E80082\r
+:100D6000815095FD06C095ED9A95F1F7000081112F\r
+:100D7000F5CF8091E80085FF0DC040E050E063E0D2\r
+:100D800070E0CE0101960E94D2088091E8008E7733\r
+:100D90008093E8000F900F900F90DF91CF9108950E\r
+:100DA0002091E6012430F1F422E02093E9002FEFB6\r
+:100DB0003091E800215035FD06C035ED3A95F1F748\r
+:100DC00000002111F5CF2091E80025FF0BC040E085\r
+:100DD00050E065E070E00E94D2088091E8008E77D4\r
+:100DE0008093E8000895CF93DF93EC019091E601A2\r
+:100DF000943009F046C080910C018823D9F080918D\r
+:100E00000D018823B9F09093E9008FEF9091E800ED\r
+:100E1000815095FD06C095E19A95F1F7000081118A\r
+:100E2000F5CF8091E80085FF2CC040E050E060E104\r
+:100E300070E017C081E08093E9008FEF9091E800A7\r
+:100E4000815095FD06C095ED9A95F1F7000081114E\r
+:100E5000F5CF8091E80085FF14C040E050E068E0E5\r
+:100E600070E0CE010E94D2088091E8008E778093D6\r
+:100E7000E80080E1FE01A2E5B1E001900D928A95C3\r
+:100E8000E1F7DF91CF9108958091E501811109C0CB\r
+:100E90000E94670A0E94C40A8091E20084608093E5\r
+:100EA000E20008951092E501089508950C941F2022\r
+:100EB0000E9478190E9425200E946A0D0C946306F6\r
+:100EC00042E061EC81E00E94E10942E061EC82E0F5\r
+:100ED0000E94E10942E061EC83E00E94E10942E105\r
+:100EE00061EC84E00C94E1098091E801833009F41D\r
+:100EF00055C030F4813071F0823009F48EC008950D\r
+:100F00008A3009F47AC08B3009F460C0893009F066\r
+:100F10009CC020C08091E701813A09F096C0809181\r
+:100F2000E800877F8093E8008091EB019091EC01CD\r
+:100F3000892B21F460E182E591E003C060E080E06C\r
+:100F400090E070E00E941D098091E8008B7780930B\r
+:100F5000E80008958091E701813209F076C0809120\r
+:100F6000EB019091EC01009719F0039709F06DC027\r
+:100F70008091E800877F8093E8008091E80082FDFF\r
+:100F800005C08091E6018111F8CF5FC08091F1002A\r
+:100F9000809362018091E8008B7753C08091E701D4\r
+:100FA000813A09F052C08091EB019091EC01892BBC\r
+:100FB00009F04BC08091E800877F8093E800809122\r
+:100FC000E80080FFFCCF80910C0136C08091E701E2\r
+:100FD0008132D9F58091EB019091EC01892BA9F533\r
+:100FE0008091E800877F8093E8000E94160A809134\r
+:100FF000E90180930C010C94FA128091E70181328F\r
+:1010000021F58091E800877F8093E8000E94160A0E\r
+:101010008091EA018093630108958091E701813A0C\r
+:10102000A1F48091E800877F8093E8008091E80038\r
+:1010300080FFFCCF809163018093F1008091E800F4\r
+:101040008E778093E8000C94160A089584B7877F02\r
+:1010500084BF88E10FB6F89480936000109260001E\r
+:101060000FBE90E080E80FB6F894809361009093F3\r
+:1010700061000FBE0E94B90D0E94670A0E94C40A57\r
+:101080008091E20084608093E20078940E944A0D8F\r
+:101090000E94BB0D82E091E00E94650D0E940D2030\r
+:1010A0008091E601853069F40E9439198091E4014C\r
+:1010B0008823B1F30E946419882391F30E94BC082D\r
+:1010C000EFCF0E94C10DECCF292F332723303105FC\r
+:1010D000C9F064F42130310581F02230310509F086\r
+:1010E00043C08DE690E02CEB31E042C02132310567\r
+:1010F000F1F02232310541F137C082E190E029E27E\r
+:1011000032E036C099278130910541F08230910557\r
+:1011100041F0892B49F5E8EBF1E005C0E0EAF1E0A8\r
+:1011200002C0E8E8F1E0849190E09F0121C06430C2\r
+:10113000D8F4E62FF0E0EE0FFF1FEE5DFE4F2081AA\r
+:10114000318189E090E014C0643070F470E0FB01FC\r
+:10115000EE0FFF1FE65EFE4F20813181FB01EA5E4C\r
+:10116000FE4F808190E004C080E090E020E030E01D\r
+:10117000FA0131832083089580E189BD82E189BD30\r
+:1011800009B400FEFDCF8091D8008F7D8093D800F8\r
+:101190008091E00082608093E0008091E00081FD1A\r
+:1011A000FCCF0895CF92DF92EF92FF920F931F939F\r
+:1011B000CF93DF93EC018B016A010E94350A811104\r
+:1011C00033C0C114D10439F0F60180819181081B2C\r
+:1011D000190BC80FD91FE12CF12C0115110519F1BC\r
+:1011E0008091E80085FD16C08091E8008E7780939D\r
+:1011F000E800C114D10449F0F60180819181E80E24\r
+:10120000F91EF182E08285E00FC00E94350A882332\r
+:1012100021F30AC089918093F10001501109FFEF79\r
+:10122000EF1AFF0ADACF80E0DF91CF911F910F9183\r
+:10123000FF90EF90DF90CF9008952091ED013091D5\r
+:10124000EE012617370748F06115710539F4209132\r
+:10125000E8002E772093E80001C0B90140E0611555\r
+:101260007105A9F12091E601222309F443C025303C\r
+:1012700009F442C02091E80023FD40C02091E8001D\r
+:1012800022FD32C02091E80020FFE9CF4091F30019\r
+:101290002091F20030E0342BFC01CF016115710583\r
+:1012A00059F02830310540F481918093F10061506C\r
+:1012B00071092F5F3F4FF1CF41E02830310509F030\r
+:1012C00040E02091E8002E772093E800C8CF41113C\r
+:1012D000C9CF0AC08091E601882361F0853061F0B2\r
+:1012E0008091E80083FD0AC08091E80082FFF2CF80\r
+:1012F00080E0089582E0089583E0089581E00895F4\r
+:101300002091ED013091EE012617370748F0611565\r
+:10131000710539F42091E8002E772093E80001C090\r
+:10132000B901FC0120E06115710591F18091E601A0\r
+:10133000882309F440C0853009F43FC08091E8005B\r
+:1013400083FD3DC08091E80082FD2FC08091E800C0\r
+:1013500080FFE9CF2091F3008091F20090E0922B82\r
+:101360006115710559F08830910540F4249120935E\r
+:10137000F1003196615071090196F2CF21E0089792\r
+:1013800009F020E08091E8008E778093E800CBCFD1\r
+:101390002111CCCF0AC08091E601882361F085300D\r
+:1013A00061F08091E80083FD0AC08091E80082FF2F\r
+:1013B000F2CF80E0089582E0089583E0089581E00F\r
+:1013C0000895982F973058F59093E900981739F0C1\r
+:1013D0007091EC002091ED005091F00003C0242F9B\r
+:1013E000762F50E021FF19C03091EB003E7F309303\r
+:1013F000EB003091ED003D7F3093ED003091EB003C\r
+:1014000031603093EB007093EC002093ED0050932B\r
+:10141000F0002091EE0027FF07C09F5FD3CF8F70B1\r
+:101420008093E90081E0089580E008958091E701CC\r
+:1014300087FF11C08091E80082FD05C08091E60120\r
+:101440008111F8CF11C08091E8008B770BC080919B\r
+:10145000E601882349F08091E80080FFF8CF809171\r
+:10146000E8008E778093E80008952091E4003091A1\r
+:10147000E50095E64091EC00842F817040FF22C08A\r
+:101480008091E80080FD1CC08091E601882391F0E6\r
+:10149000853091F08091EB0085FD10C04091E40013\r
+:1014A0005091E5004217530729F39A01915011F723\r
+:1014B00084E0089582E0089583E0089581E008952E\r
+:1014C00080E008954091E80042FFDECF08950E9439\r
+:1014D000D50A0E94DD0AE0EEF0E080818160808321\r
+:1014E000E8EDF0E080818F77808319BCA7EDB0E054\r
+:1014F0008C918E7F8C9380818F7E80831092E5010A\r
+:1015000008950F931F93CF93DF930E94D50A0E94F3\r
+:10151000DD0AC8EDD0E088818F7788838881806874\r
+:10152000888388818F7D888319BC1092E601109290\r
+:10153000E2011092E4011092E30100EE10E0F801E4\r
+:1015400080818B7F808388818160888342E060E036\r
+:1015500080E00E94E109E1EEF0E080818E7F8083EF\r
+:10156000E2EEF0E08081816080838081886080830A\r
+:10157000F80180818E7F8083888180618883DF91FC\r
+:10158000CF911F910F910895E8EDF0E080818F7E5B\r
+:101590008083E7EDF0E080818160808384E082BF1A\r
+:1015A00081E08093E5010C94810AE8EDF0E0808110\r
+:1015B0008E7F80831092E20008951092DA001092DC\r
+:1015C000E10008951F920F920FB60F9211242F93EE\r
+:1015D0003F934F935F936F937F938F939F93AF93BB\r
+:1015E000BF93EF93FF938091E10082FF0BC0809146\r
+:1015F000E20082FF07C08091E1008B7F8093E100D1\r
+:101600000E94490D8091DA0080FF1FC08091D800B0\r
+:1016100080FF1BC08091DA008E7F8093DA0080917A\r
+:10162000D90080FF0DC080E189BD82E189BD09B488\r
+:1016300000FEFDCF81E08093E6010E94440705C0D3\r
+:1016400019BC1092E6010E9452078091E10080FFD0\r
+:1016500019C08091E20080FF15C08091E2008E7F6A\r
+:101660008093E2008091E20080618093E2008091AB\r
+:10167000D80080628093D80019BC85E08093E60191\r
+:101680000E9456078091E10084FF30C08091E20003\r
+:1016900084FF2CC080E189BD82E189BD09B400FED0\r
+:1016A000FDCF8091D8008F7D8093D8008091E1009C\r
+:1016B0008F7E8093E1008091E2008F7E8093E20034\r
+:1016C0008091E20081608093E2008091E2018823B2\r
+:1016D00011F084E007C08091E30087FD02C081E043\r
+:1016E00001C083E08093E6010E9458078091E100E9\r
+:1016F00083FF29C08091E20083FF25C08091E10033\r
+:10170000877F8093E10082E08093E6011092E201FE\r
+:101710008091E1008E7F8093E1008091E2008E7FD6\r
+:101720008093E2008091E20080618093E20042E0D9\r
+:1017300060E080E00E94E1098091F0008860809381\r
+:10174000F0000E945507FF91EF91BF91AF919F91DB\r
+:101750008F917F916F915F914F913F912F910F905A\r
+:101760000FBE0F901F9018951F920F920FB60F92F9\r
+:1017700011242F933F934F935F936F937F938F9396\r
+:101780009F93AF93BF93CF93DF93EF93FF93C0915A\r
+:10179000E900CF708091EC00D82FD17080FDD0E8A7\r
+:1017A0001092E9008091F000877F8093F000789498\r
+:1017B0000E94F80B1092E9008091F00088608093FD\r
+:1017C000F000CD2BCF70C093E900FF91EF91DF9136\r
+:1017D000CF91BF91AF919F918F917F916F915F91C9\r
+:1017E0004F913F912F910F900FBE0F901F90189522\r
+:1017F0001F93CF93DF93CDB7DEB7AA970FB6F894B8\r
+:10180000DEBF0FBECDBFE7EEF1E088E08E0F909116\r
+:10181000F10091938E13FBCF0E9474078091E80032\r
+:1018200083FF1FC18091E7019091E801492F50E0AB\r
+:101830004A30510508F015C1FA01EA5AFF4F0C94DD\r
+:10184000A721803881F0823809F00BC18091EB012B\r
+:101850008F708093E9008091EB0085FB882780F9E9\r
+:101860001092E90006C08091E3019091E40191118A\r
+:1018700082609091E800977F9093E8008093F10058\r
+:101880001092F100C8C0282F2D7F09F0EAC08823EC\r
+:1018900019F0823061F0E5C08091E901813009F0F2\r
+:1018A000E0C0933009F080E08093E4012BC0809188\r
+:1018B000E901811127C08091EB018F7009F4D1C03B\r
+:1018C0008093E9002091EB0020FF1CC0933021F4AD\r
+:1018D0008091EB00806214C09091EB009061909336\r
+:1018E000EB0021E030E0A90102C0440F551F8A95AA\r
+:1018F000E2F74093EA001092EA008091EB008860E2\r
+:101900008093EB001092E9008091E800877F86C009\r
+:101910008111A7C01091E9011F778091E3008078C1\r
+:10192000812B8093E3008091E800877F8093E8001B\r
+:101930000E94160A8091E80080FFFCCF8091E300AE\r
+:1019400080688093E300111102C082E001C083E04F\r
+:101950008093E60186C08058823008F082C0809172\r
+:10196000E9019091EA018C3D53E0950779F583E018\r
+:101970008A838AE289834FB7F894DE01139620E0C8\r
+:101980003EE051E2E32FF0E050935700E49120FF56\r
+:1019900003C0E295EF703F5FEF708E2F90E0EA306A\r
+:1019A00010F0C79601C0C0968D939D932F5F243190\r
+:1019B00049F74FBF8091E800877F8093E8006AE293\r
+:1019C00070E0CE0101960E941D0914C0AE014F5F68\r
+:1019D0005F4F6091EB010E946408BC01892B09F400\r
+:1019E00040C09091E800977F9093E80089819A81A8\r
+:1019F0000E9480098091E8008B778093E80031C0D5\r
+:101A0000803879F58091E800877F8093E8008091A5\r
+:101A1000E2018093F1008091E8008E778093E800E6\r
+:101A20000E94160A1EC081111CC09091E9019230DB\r
+:101A3000C0F48091E800877F8093E8009093E201F2\r
+:101A40000E94160A8091E201811106C08091E30094\r
+:101A500087FD02C081E001C084E08093E6010E941E\r
+:101A600060078091E80083FF0AC08091E800877FCB\r
+:101A70008093E8008091EB0080628093EB00AA964F\r
+:101A80000FB6F894DEBF0FBECDBFDF91CF911F918F\r
+:101A900008950895CF938091E6018823A1F0C09125\r
+:101AA000E900CF709091EC00892F817090FD80E863\r
+:101AB000C82B1092E9008091E80083FD0E94F80B8A\r
+:101AC000CF70C093E900CF910895909369018093FE\r
+:101AD00068010895E0916801F0916901309721F063\r
+:101AE0000190F081E02D099480E00895E091680173\r
+:101AF000F0916901309721F00280F381E02D099483\r
+:101B00000895E0916801F0916901309721F0048017\r
+:101B1000F581E02D099408952091660130916701C7\r
+:101B20008217930771F09093670180936601E091AB\r
+:101B30006801F0916901309721F00680F781E02D6E\r
+:101B400009940895209164013091650182179307EB\r
+:101B500071F09093650180936401E0916801F091C8\r
+:101B60006901309721F00084F185E02D09940895F2\r
+:101B700008950C94B80D0E947E190E943E030C94A7\r
+:101B8000441ACF92DF92EF92FF920F931F93CF935D\r
+:101B9000DF93CDB7DEB72B970FB6F894DEBF0FBE3D\r
+:101BA000CDBF0E9456038BE6C82E81E0D82E00E000\r
+:101BB00010E0E02E802F0E944404F60141916F0155\r
+:101BC000F42EF826B1F40F5F1F4F0E30110589F780\r
+:101BD0008FEF89838A831B820E9487198160782F07\r
+:101BE0009D838C8349815A816B818D810E94640E13\r
+:101BF00040C09091CD0191FF04C08B870E944A04A0\r
+:101C00008B8520E030E04F2D50E0922FBA01022E5C\r
+:101C100002C0759567950A94E2F760FF24C02E8391\r
+:101C2000EF8221E030E0690102C0CC0CDD1C9A9506\r
+:101C3000E2F790E08C219D21892B09F420E0288790\r
+:101C40000E9487198160782F9A8789874E815F81EA\r
+:101C500068858A850E94640EF801E559FE4F8081EF\r
+:101C6000C826C08206C02F5F3F4F2630310569F677\r
+:101C7000AACF0E942B1D10916A010E946A0D1817AD\r
+:101C8000A1F00E946A0D80936A012B960FB6F8941A\r
+:101C9000DEBF0FBECDBFDF91CF911F910F91FF909F\r
+:101CA000EF90DF90CF900C9463062B960FB6F894CC\r
+:101CB000DEBF0FBECDBFDF91CF911F910F91FF907F\r
+:101CC000EF90DF90CF900895CF93DF93CDB7DEB73D\r
+:101CD0002B970FB6F894DEBF0FBECDBF4F8358874A\r
+:101CE00069877A878B87DE01119686E0FD01119264\r
+:101CF0008A95E9F785E0FE01379601900D928A9565\r
+:101D0000E1F749815A816B817C818D819E810E949E\r
+:101D100094152B960FB6F894DEBF0FBECDBFDF91A2\r
+:101D2000CF9108950895CF93882309F4C2C0C82F96\r
+:101D3000823859F40E946A0D81FDBBC089E30E947C\r
+:101D40003D180E940A1989E30CC0833879F40E9477\r
+:101D50006A0D80FDAEC083E50E943D180E940A19FD\r
+:101D600083E50E947F18CF910C940A19843859F4A6\r
+:101D70000E946A0D82FD9DC087E40E943D180E946A\r
+:101D80000A1987E4EECF8CEF8C0F813A48F48C2F40\r
+:101D90000E94721F81118DC08C2F0E943D18E3CFCD\r
+:101DA00080E28C0F883048F4C77081E001C0880F52\r
+:101DB000CA95EAF70E94C318D6CF8BE58C0F833003\r
+:101DC00078F4C53A29F0C63A31F083E890E005C0CE\r
+:101DD00081E890E002C082E890E0CF910C948C0DF5\r
+:101DE00088E58C0F833108F064C0C83A39F1C93AEC\r
+:101DF00041F1CA3A49F1CB3A51F1CC3A59F1CD3AD5\r
+:101E000061F1C03B69F1CE3A71F1CF3A79F1C13B52\r
+:101E100081F1C23B89F1C33B91F1C43B99F1C53BD0\r
+:101E2000A1F1C63BA9F1C73BB1F1C83BB9F1C93B30\r
+:101E3000C1F1CA3BC9F180E090E038C082EE90E089\r
+:101E400035C089EE90E032C08AEE90E02FC085EB7D\r
+:101E500090E02CC086EB90E029C087EB90E026C094\r
+:101E60008CEC90E023C08DEC90E020C083E891E002\r
+:101E70001DC08AE891E01AC082E991E017C084E9A8\r
+:101E800091E014C081E292E011C083E292E00EC0C2\r
+:101E900084E292E00BC085E292E008C086E292E024\r
+:101EA00005C087E292E002C08AE292E0CF910C94F2\r
+:101EB000A20DCF910895882309F44BC0823859F4BC\r
+:101EC0000E946A0D81FF45C089E30E943D180E946F\r
+:101ED0000A1989E30CC0833871F40E946A0D80FFEF\r
+:101EE00038C083E50E943D180E940A1983E50E94CC\r
+:101EF0007F180C940A19843859F40E946A0D82FFE5\r
+:101F000028C087E40E943D180E940A1987E4EFCF99\r
+:101F10009CEF980F913A58F390E2980F983050F454\r
+:101F2000877091E001C0990F8A95EAF7892F0E9486\r
+:101F3000C918DFCF9BE5980F933020F480E090E044\r
+:101F40000C948C0D885A833120F480E090E00C943E\r
+:101F5000A20D0895882321F00E94C3180C940A1939\r
+:101F60000895882321F00E94C9180C940A19089535\r
+:101F7000BF92CF92DF92EF92FF920F931F93CF9376\r
+:101F8000DF9300D000D000D0CDB7DEB725E0FC0154\r
+:101F9000DE01119601900D922A95E1F7FC01D080A7\r
+:101FA00011810281258122952F7043815481452B17\r
+:101FB00009F4FCC21F3F21F4FFEFDF1609F4F6C25B\r
+:101FC0007C012E830E94920ED9821A8369817A81C4\r
+:101FD000802F0E943918182FB92E0E94EE170E94E8\r
+:101FE000B5162E81002319F00E94E0182E81EB2DEA\r
+:101FF000E295EF70F0E0E05AFF4F0C94A7218B2D93\r
+:10200000807F9B2D9F70F92E882319F0F29480EF2A\r
+:10201000F822002389F0FF2009F475C280E2810FC5\r
+:10202000883020F48F2D0E94C31803C08F2D0E948A\r
+:10203000D3180E940A1967C2812F0E945B0FFF20EC\r
+:1020400009F4B4C2105E8F2D183018F40E94C9181C\r
+:1020500002C00E94D91826960FB6F894DEBF0FBEB4\r
+:10206000CDBFDF91CF911F910F91FF90EF90DF9047\r
+:10207000CF90BF900C940A193B2D307F8B2D8F7021\r
+:10208000303211F08295807F112319F0113021F147\r
+:102090002CC00023B9F0222309F4A0C1213009F09B\r
+:1020A0009DC126960FB6F894DEBF0FBECDBFDF915F\r
+:1020B000CF911F910F91FF90EF90DF90CF90BF9045\r
+:1020C0000C94F318222319F0213009F46FC28E8387\r
+:1020D0000E94F6188E8196C1002321F0223008F06C\r
+:1020E00065C27CC1211162C28DC1002321F022236F\r
+:1020F00009F474C108C2222309F484C119C22B2D2A\r
+:1021000026952695237030E02115310521F02130E8\r
+:102110003105D1F04BC2002321F0812F9B2D93700C\r
+:1021200002C080E090E026960FB6F894DEBF0FBEA6\r
+:10213000CDBFDF91CF911F910F91FF90EF90DF9076\r
+:10214000CF90BF900C948C0D002321F0812F9B2DFC\r
+:10215000937002C080E090E026960FB6F894DEBF40\r
+:102160000FBECDBFDF91CF911F910F91FF90EF90E8\r
+:10217000DF90CF90BF900C94A20D812F002319F017\r
+:102180000E94331C02C00E949B1C26960FB6F89436\r
+:10219000DEBF0FBECDBFDF91CF911F910F91FF909A\r
+:1021A000EF90DF90CF90BF900C94201D8B2D83700B\r
+:1021B00009F07BC00111FAC1812F82958695877045\r
+:1021C000880F880F912F9F70C92ED12CE12CF12CF4\r
+:1021D000082E04C0CC0CDD1CEE1CFF1C0A94D2F7A8\r
+:1021E00014FF12C04FE050E060E070E004C0440F04\r
+:1021F000551F661F771F8A95D2F7CB01BA016095EC\r
+:1022000070958095909503C060E070E0CB012B2D18\r
+:10221000269526952370422F50E042305105D9F083\r
+:102220004330510569F16C297D298E299F29413060\r
+:10223000510551F126960FB6F894DEBF0FBECDBF03\r
+:10224000DF91CF911F910F91FF90EF90DF90CF9092\r
+:10225000BF900C94DC166C297D298E299F29269627\r
+:102260000FB6F894DEBF0FBECDBFDF91CF911F91A7\r
+:102270000F91FF90EF90DF90CF90BF900C94F816E5\r
+:102280000E94DC16C701B60126960FB6F894DEBF91\r
+:102290000FBECDBFDF91CF911F910F91FF90EF90B7\r
+:1022A000DF90CF90BF900C94C016002319F08B2DB7\r
+:1022B000817001C08695882309F478C1812F8295A9\r
+:1022C00086958770880F880F912F9F70C92ED12C0B\r
+:1022D000E12CF12C082E04C0CC0CDD1CEE1CFF1CE4\r
+:1022E0000A94D2F714FF12C04FE050E060E070E0B3\r
+:1022F00004C0440F551F661F771F8A95D2F7CB0184\r
+:10230000BA01609570958095909503C060E070E08B\r
+:10231000CB012B2D269526952370422F50E042307D\r
+:102320005105D9F04330510569F16C297D298E2979\r
+:102330009F294130510551F126960FB6F894DEBF22\r
+:102340000FBECDBFDF91CF911F910F91FF90EF9006\r
+:10235000DF90CF90BF900C94B6176C297D298E2901\r
+:102360009F2926960FB6F894DEBF0FBECDBFDF9132\r
+:10237000CF911F910F91FF90EF90DF90CF90BF9082\r
+:102380000C94D2170E94B617C701B60126960FB655\r
+:10239000F894DEBF0FBECDBFDF91CF911F910F919B\r
+:1023A000FF90EF90DF90CF90BF900C949A17103F62\r
+:1023B000D1F118F4103E50F4A1C0123F09F463C0EB\r
+:1023C00008F44CC0133F09F473C098C01F708B2DE4\r
+:1023D0008F710023A1F00E943317812F26960FB62C\r
+:1023E000F894DEBF0FBECDBFDF91CF911F910F914B\r
+:1023F000FF90EF90DF90CF90BF900C94AA0F0E94B7\r
+:102400005417812F26960FB6F894DEBF0FBECDBFAE\r
+:10241000DF91CF911F910F91FF90EF90DF90CF90C0\r
+:10242000BF900C94B10F0023A9F02111BFC08B2DD8\r
+:102430008F7126960FB6F894DEBF0FBECDBFDF9129\r
+:10244000CF911F910F91FF90EF90DF90CF90BF90B1\r
+:102450000C947917223008F0A9C0E9CF0023A9F025\r
+:102460008B2D8F7126960FB6F894DEBF0FBECDBFB1\r
+:10247000DF91CF911F910F91FF90EF90DF90CF9060\r
+:10248000BF900C943317002359F38B2D8F71269630\r
+:102490000FB6F894DEBF0FBECDBFDF91CF911F9175\r
+:1024A0000F91FF90EF90DF90CF90BF900C94541756\r
+:1024B000002399F08B2D8F7126960FB6F894DEBF0E\r
+:1024C0000FBECDBFDF91CF911F910F91FF90EF9085\r
+:1024D000DF90CF90BF900C941E1726960FB6F894FD\r
+:1024E000DEBF0FBECDBFDF91CF911F910F91FF9047\r
+:1024F000EF90DF90CF90BF900C9414170023A9F0B9\r
+:10250000222309F4ADCF812F26960FB6F894DEBFB3\r
+:102510000FBECDBFDF91CF911F910F91FF90EF9034\r
+:10252000DF90CF90BF900C94930E222309F4ADCF8F\r
+:10253000812F26960FB6F894DEBF0FBECDBFDF9178\r
+:10254000CF911F910F91FF90EF90DF90CF90BF90B0\r
+:102550000C945B0F4B2D4F70612FC7010E9401023D\r
+:1025600026960FB6F894DEBF0FBECDBFDF91CF9198\r
+:102570001F910F91FF90EF90DF90CF90BF900C9440\r
+:1025800038164B2D4F70612FC70126960FB6F89461\r
+:10259000DEBF0FBECDBFDF91CF911F910F91FF9096\r
+:1025A000EF90DF90CF90BF900C940A0526960FB65F\r
+:1025B000F894DEBF0FBECDBFDF91CF911F910F9179\r
+:1025C000FF90EF90DF90CF90BF9008950E94E018A9\r
+:1025D0000E94F0180E94B5180E940A190E94D11D8D\r
+:1025E0000E94201D80E090E00E948C0D80E090E031\r
+:1025F0000C94A20D0E94D0180C94E6120E942E1882\r
+:10260000292F22952F7030E02C3031054CF42A30E0\r
+:1026100031056CF4225031092230310588F407C0AD\r
+:102620002C30310549F02F30310531F009C0803EA2\r
+:1026300048F0803F29F406C093FB882780F908956D\r
+:1026400080E0089581E00895CF93DF9300D000D01B\r
+:102650001F92CDB7DEB70F900F900F900F900F9095\r
+:10266000DF91CF910895CF93DF9300D000D000D0B9\r
+:10267000CDB7DEB726960FB6F894DEBF0FBECDBF3E\r
+:10268000DF91CF9108951F93CF93DF93C09179018C\r
+:1026900016E080917A01C81799F0D0E01C9FF001F4\r
+:1026A0001D9FF00D1124E558FE4F4081518162813C\r
+:1026B0007381848195810E9433132196C770E9CF7D\r
+:1026C000DF91CF911F9108954091AB015091AC01E2\r
+:1026D0006091AD017091AE018091AF019091B00118\r
+:1026E0000C9433138091B00182958F7009F054C01F\r
+:1026F0008091AD01882309F44FC080917901A091A8\r
+:102700007A016091AB017091AC014091AE015091A2\r
+:10271000AF01B6E08A1709F43FC090E041155105BA\r
+:10272000C1F17F3F11F46F3FA1F1B89FF001B99F54\r
+:10273000F00D1124E558FE4F218172132AC020812B\r
+:10274000621327C02281211124C0238134812417E0\r
+:10275000350710F421503109241B350B283C310575\r
+:10276000C0F42091B0012F7020612093B00126E0C9\r
+:10277000289FF001299FF00D1124E058FE4F808121\r
+:102780008F70806180838BEA91E00E94B80F0C9477\r
+:10279000431301968770BECF0895CF92DF92EF92D8\r
+:1027A000FF920F931F93CF93DF93CDB7DEB762975E\r
+:1027B0000FB6F894DEBF0FBECDBF8C0185E0F801E7\r
+:1027C000DE011D9601900D928A95E1F7D8014C919A\r
+:1027D00011965C91119712966C9112971396CD9069\r
+:1027E000DC9014973091AB017091AC018091AE01F7\r
+:1027F0009091AF01009709F46BC17F3F19F43F3FFF\r
+:1028000009F466C1E090AD01EE2009F4C0C020914A\r
+:10281000B001C816D90628F0F601E81BF90BCF0164\r
+:1028200004C0809590958C0D9D1DFF24F394883CE9\r
+:10283000910578F0F12C207F09F0C6C07C2DD98A53\r
+:10284000C88A89890E9424138BEA91E00E94B80FFC\r
+:10285000B1C0822F807F09F046C0751314C03413B5\r
+:1028600012C0611110C02F7020612093B0010E942E\r
+:1028700064138BEA91E00E94B80F8091B001D801F7\r
+:1028800015968C932EC0CD2819F15F3F11F44F3F60\r
+:10289000F9F0F62E61111CC08091790120917A0126\r
+:1028A00036E0821709F45AC090E0389FF001399F52\r
+:1028B000F00D1124E558FE4F7181571306C0708149\r
+:1028C000471303C07281711103C001968770E9CF6D\r
+:1028D000F62E662309F418C18091B00181608093BF\r
+:1028E000B001F12C11C1751308C0341306C0611179\r
+:1028F00004C08091B001D801C3C04D875E878D852B\r
+:102900009E856A8B0E94FE126A898823E1F1662304\r
+:10291000D1F12091B001822F82958F7090E00297C3\r
+:1029200074F08091AB019091AC0198878F831986E8\r
+:10293000DB86CA862C87CE0107960E94B80F86E0F8\r
+:10294000F801ABEAB1E001900D928A95E1F70E949F\r
+:1029500072130E946413FF24F394D6C04D875E87E0\r
+:102960008D859E850E942E18292F22952F7030E08C\r
+:10297000223031050CF0BCC09F7009F0B6C0805EFB\r
+:10298000883008F4C1C0C8010E94B80FE4CFC8164F\r
+:10299000D90608F453C0F601E81BF90BCF01883CB7\r
+:1029A000910508F450C0F12C7C2DD98AC88A8989F8\r
+:1029B0000E942413EBEAF1E086E0DF011D928A9584\r
+:1029C000E9F70E946413A0C0751314C0341312C039\r
+:1029D000611110C08091B001F8018583C8010E9487\r
+:1029E000B80F86E0EBEAF1E0DF011D928A95E9F786\r
+:1029F000FE2C8AC04D875E878D859E856A8B0E94DE\r
+:102A0000FE126A89882309F4BECF662309F4BBCF7E\r
+:102A10002091B001822F82958F7090E002970CF484\r
+:102A20008ECF8091AB019091AC019A8389831B82F8\r
+:102A3000DD82CC822E83CE0101967FCF809590954A\r
+:102A40008C0D9D1DACCFF62E662309F49CCF75131B\r
+:102A50002EC034132CC02091B00120FD1FC0822F46\r
+:102A600082958F70D9F0D80115962C9315978F30D9\r
+:102A700049F08F5F982F9295907F822F8F70892BCE\r
+:102A800015968C93C8010E94B80F86E0F801ABEA56\r
+:102A9000B1E001900D928A95E1F793CF86E0F801BD\r
+:102AA000ABEAB1E001900D928A95E1F72DC04D8718\r
+:102AB0005E878D859E850E94FE12811140CF809198\r
+:102AC000B00181608093B001C8010E94B80F1CC0A2\r
+:102AD000662309F458CF4D875E878D859E850E94B9\r
+:102AE000FE12882309F44FCF2ACF811148CF0CC0A2\r
+:102AF000243031050CF047CF9F7009F440CFF80126\r
+:102B00009581907F09F03BCF8F2D62960FB6F89498\r
+:102B1000DEBF0FBECDBFDF91CF911F910F91FF9010\r
+:102B2000EF90DF90CF9008951F93CF93DF93CDB7B1\r
+:102B3000DEB72C970FB6F894DEBF0FBECDBF4F8324\r
+:102B4000588769877A878B879C87CE0107960E9472\r
+:102B5000CD13882369F08F8198852A853B85232BA7\r
+:102B6000F1F19F3F09F063C08F3F09F060C037C0AB\r
+:102B700086E0FE013796DE01119601900D928A954E\r
+:102B8000E1F76F817885EA85FB85309741F17F3FDA\r
+:102B900011F46F3F21F120917A0130E0C9010196D3\r
+:102BA000877099274091790150E08417950709F4BF\r
+:102BB00047C069837A83FD83EC8396E0929FD001BE\r
+:102BC000939FB00D1124A558BE4FFE013196019080\r
+:102BD0000D929A95E1F780937A010E94431316E0D3\r
+:102BE0008091790190917A018917C1F1189FC001F4\r
+:102BF000112485589E4F0E94CD13882379F1E091CE\r
+:102C000079011E9FF0011124E558FE4F408151814A\r
+:102C100062817381848195810E943313809179014F\r
+:102C200090E001968770992780937901D9CF4F81E1\r
+:102C3000588569857A858B859C850E943313CFCF13\r
+:102C40000E94FA1210927A0110927901EBEAF1E0F7\r
+:102C500086E0DF011D928A95E9F7C1CF2C960FB669\r
+:102C6000F894DEBF0FBECDBFDF91CF911F910895C5\r
+:102C7000EF92FF920F931F93CF93DF938C01892BD9\r
+:102C800009F46CC0F12CEE24E394E8012196F801DC\r
+:102C90008491843740F4843008F051C0813081F051\r
+:102CA000823019F15BC0853709F444C0A8F19CE774\r
+:102CB000980F903708F052C08F770E945B0F41C089\r
+:102CC0000E5F1F4FFE01C49180E28C0F883048F4E4\r
+:102CD000C7708E2D01C0880FCA95EAF70E94E318CD\r
+:102CE00014C08C2F0E94930E2DC00E5F1F4FFE014B\r
+:102CF000C49180E28C0F883058F4C7708E2D01C0CB\r
+:102D0000880FCA95EAF70E94E9180E940A191AC0AA\r
+:102D10008C2F0E945B0F16C00E5F1F4FFE01C491E7\r
+:102D2000CC2381F08FE99FE00197F1F700C000000C\r
+:102D3000C150F6CF0E5F1F4FFE01F49003C00E94FA\r
+:102D4000930E8E018F2D882309F49FCFEFE9FFE0CA\r
+:102D50003197F1F700C000008150F5CFDF91CF919E\r
+:102D60001F910F91FF90EF90089508956093B50122\r
+:102D70007093B6018093B7019093B8010C94E6125A\r
+:102D80000F931F930091B5011091B6012091B701E7\r
+:102D90003091B801DC01CB01802B912BA22BB32BFE\r
+:102DA0008093B5019093B601A093B701B093B80199\r
+:102DB0001F910F910C94E6120F931F930091B50190\r
+:102DC0001091B6012091B7013091B801DC01CB011F\r
+:102DD00080239123A223B3238093B5019093B6015E\r
+:102DE000A093B701B093B8011F910F910C94E61214\r
+:102DF0000F931F930091B5011091B6012091B70177\r
+:102E00003091B801DC01CB0180279127A227B3279D\r
+:102E10008093B5019093B601A093B701B093B80128\r
+:102E20001F910F910C94E6121092B1011092B20111\r
+:102E30001092B3011092B4010C94E61241E050E0FC\r
+:102E400060E070E004C0440F551F661F771F8A952D\r
+:102E5000D2F74093B1015093B2016093B3017093E4\r
+:102E6000B4010C94E61241E050E060E070E004C070\r
+:102E7000440F551F661F771F8A95D2F78091B101C5\r
+:102E80009091B201A091B301B091B401482B592B9C\r
+:102E90006A2B7B2B4093B1015093B2016093B30135\r
+:102EA0007093B4010C94E61241E050E060E070E0F1\r
+:102EB00004C0440F551F661F771F8A95D2F74095AF\r
+:102EC0005095609570958091B1019091B201A0915B\r
+:102ED000B301B091B401482359236A237B23409363\r
+:102EE000B1015093B2016093B3017093B4010C949B\r
+:102EF000E61241E050E060E070E004C0440F551F6E\r
+:102F0000661F771F8A95D2F78091B1019091B20127\r
+:102F1000A091B301B091B401482759276A277B27B4\r
+:102F20004093B1015093B2016093B3017093B40127\r
+:102F30000C94E6120F931F930091B1011091B2010E\r
+:102F40002091B3013091B401DC01CB01802B912B96\r
+:102F5000A22BB32B8093B1019093B201A093B30144\r
+:102F6000B093B4011F910F910C94E6120F931F932D\r
+:102F70000091B1011091B2012091B3013091B401DF\r
+:102F8000DC01CB0180239123A223B3238093B101E1\r
+:102F90009093B201A093B301B093B4011F910F912C\r
+:102FA0000C94E6120F931F930091B1011091B2019E\r
+:102FB0002091B3013091B401DC01CB01802791272E\r
+:102FC000A227B3278093B1019093B201A093B301DC\r
+:102FD000B093B4011F910F910C94E6120895CF9213\r
+:102FE000DF92EF92FF920F931F93CF93DF938C01A9\r
+:102FF000C090B501D090B601E090B701F090B80153\r
+:103000008091B1019091B201A091B301B091B4014E\r
+:10301000C82AD92AEA2AFB2ACFE1D0E0D701C60183\r
+:103020000C2E04C0B695A795979587950A94D2F76C\r
+:1030300080FF06C0B8018C2F0E942D05019721F456\r
+:10304000219760F780E001C08C2FDF91CF911F9115\r
+:103050000F91FF90EF90DF90CF900895CF93DF9383\r
+:10306000EC010E94EF17BE010E942D05DF91CF9168\r
+:103070000895CB010E942E18089590910C01992378\r
+:1030800021F090910D01911109C020910E01309114\r
+:103090000F01F90132969FEF40E01FC0982F9695DF\r
+:1030A000969596959F3050F5E0910E01F0910F01A5\r
+:1030B000E90FF11D877021E030E0A90102C0440F43\r
+:1030C000551F8A95E2F7CA019181892B8183089562\r
+:1030D0009F3F39F04F5F4E3041F051915813F8CF78\r
+:1030E0000DC05111F7CF942FF5CF9F3F39F0F90163\r
+:1030F000E90FF11D97FDFA95828308950895909147\r
+:103100000C01992321F090910D01911109C020919A\r
+:103110000E0130910F01F9013296205F3F4F1FC021\r
+:10312000982F9695969596959F30F0F4E0910E0124\r
+:10313000F0910F01E90FF11D877021E030E0A90146\r
+:1031400002C0440F551F8A95E2F7CA01809591810C\r
+:103150008923818308953196E217F30729F090813E\r
+:103160009813F9CF1082F7CF089581E090E0E091B5\r
+:103170000E01F0910F01E80FF91F108201968031C6\r
+:103180009105A9F708959091CC01892B8093CC01EA\r
+:10319000089580959091CC0189238093CC01089566\r
+:1031A0001092CC0108959091CB01892B8093CB0193\r
+:1031B000089580959091CB0189238093CB01089548\r
+:1031C0001092CB0108959091CA01892B8093CA0176\r
+:1031D000089580959091CA0189238093CA0108952A\r
+:1031E0001092CA0108958093B90108951092B9010F\r
+:1031F000089580910E0190910F01FC0131969C0180\r
+:10320000205F3F4F80E0919191118F5FE217F307AC\r
+:10321000D1F70895E0910E01F0910F018091CC015A\r
+:103220008083E0910E01F0910F0190818091CB019C\r
+:10323000892B8083E0910E01F0910F0190818091A4\r
+:10324000CA01892B80838091B901882361F0E091C4\r
+:103250000E01F0910F019081892B80830E94F91853\r
+:1032600081111092B90180910E0190910F010C947F\r
+:10327000760D8091E601843021F11092CE0120E498\r
+:1032800088E190E00FB6F894A895809360000FBE97\r
+:103290002093600080E00E94630683B7817F846092\r
+:1032A00083BF83B7816083BF7894889583B78E7F0F\r
+:1032B00083BF88E10FB6F89480936000109260009D\r
+:1032C0000FBE089508950895CF930E9462190E9439\r
+:1032D00056030E946319C0E08C2F0E9444048111A0\r
+:1032E00004C0CF5FCE30C1F701C081E0CF91089517\r
+:1032F0000E94FA120E946A0D0C94630682E084BD5B\r
+:1033000093E095BD9AEF97BD80936E0008952FB717\r
+:10331000F8948091CF019091D001A091D101B0910A\r
+:10332000D2012FBF0895CF92DF92EF92FF920F93B9\r
+:103330001F932FB7F8944091CF015091D001609125\r
+:10334000D1017091D2012FBF6A017B01EE24FF24CD\r
+:103350008C0120E030E0C016D106E206F30610F43E\r
+:10336000415051099A01281B390BC9011F910F9136\r
+:10337000FF90EF90DF90CF9008951F920F920FB6BD\r
+:103380000F9211248F939F93AF93BF938091CF019E\r
+:103390009091D001A091D101B091D2010196A11DCF\r
+:1033A000B11D8093CF019093D001A093D101B09330\r
+:1033B000D201BF91AF919F918F910F900FBE0F904F\r
+:1033C0001F9018950E94670AF8942FEF87EA91E6FC\r
+:1033D000215080409040E1F700C0000087E090EB72\r
+:1033E000DC018093EF019093F001A093F101B09381\r
+:1033F000F2019CE088E10FB6F894A89580936000F4\r
+:103400000FBE90936000FFCFEF92FF920F931F9338\r
+:10341000CF93DF93D82FC0E08C2F0E94440400E0AC\r
+:1034200010E0E82EF12CC701002E02C0959587957B\r
+:103430000A94E2F780FD06C00F5F1F4F06301105AA\r
+:1034400091F709C0602F7C2F80E00E940B05D813F4\r
+:10345000F3CF81E004C0CF5FCE30F1F680E0DF91A2\r
+:10346000CF911F910F91FF90EF900895CF93C82FA8\r
+:103470008CE20E94041A882321F08C2FCF910C94A7\r
+:10348000041A80E0CF910895CF930E948B1B811185\r
+:1034900002C00E94711BC5E6C15049F00E9456034C\r
+:1034A0008FE39CE90197F1F700C00000F5CF89E2B6\r
+:1034B0000E94361A811113C18AE20E94361A8111C4\r
+:1034C0000E94711B85E00E94361A81110E94E21948\r
+:1034D0000E94961B8093CD0187E00E94361A8823B4\r
+:1034E000A9F18BE10E94361A882351F08091CD0119\r
+:1034F00081FB222720F991E0922790FB81F90EC0F1\r
+:103500008EE00E94361A882361F08091CD0182FB03\r
+:10351000222720F991E0922790FB82F98093CD0138\r
+:1035200015C080E10E94361A9091CD01882341F0A8\r
+:1035300093FB222720F981E0822780FB93F904C0C6\r
+:10354000892F809580FB90F99093CD018091CD01DA\r
+:103550000E949A1B0E94A81B8093E00180EE0E94AB\r
+:10356000361A882341F08091E001982F909590FBC6\r
+:1035700080F98093E00189E30E94361A882359F08C\r
+:103580008091E00181FB222720F991E0922790FBB6\r
+:1035900081F98093E00182EE0E94361A882359F067\r
+:1035A0008091E00182FB222720F991E0922790FB95\r
+:1035B00082F98093E00186EE0E94361A882359F042\r
+:1035C0008091E00183FB222720F991E0922790FB74\r
+:1035D00083F98093E00183EE0E94361A882359F024\r
+:1035E0008091E00184FB222720F991E0922790FB53\r
+:1035F00084F98093E00185E30E94361A882359F00C\r
+:103600008091E00185FB222720F991E0922790FB31\r
+:1036100085F98093E00181E30E94361A882359F0EE\r
+:103620008091E00186FB222720F991E0922790FB10\r
+:1036300086F98093E00181E10E94361A882359F0CF\r
+:103640008091E00187FB222720F991E0922790FBEF\r
+:1036500087F98093E0018091E0010E94AC1B80918A\r
+:10366000E00187FB882780F980930D0187E20E94A3\r
+:10367000361AC82F8EE10E94361A8111C2608FE17E\r
+:103680000E94361A8111C46080E20E94361A8111AC\r
+:10369000C86081E20E94361A8111C06182E20E94F4\r
+:1036A000361A8111C06283E20E94361A8111C06409\r
+:1036B00084E20E94361A882311F0C06802C0CC232D\r
+:1036C00029F08C2F0E94A31B6C2F03C00E949F1B0C\r
+:1036D000682F70E080E090E0CF910C94B616CF9107\r
+:1036E00008956DEE7EEF80E090E00E94DD2160E0C5\r
+:1036F00082E090E00E94CF2160E083E090E00E94B1\r
+:10370000CF2160E084E090E00E94CF2160E085E07E\r
+:1037100090E00C94CF2180E090E00E94C92121E04C\r
+:103720008D3E9E4F09F020E0822F089582E090E0C8\r
+:103730000C94C121682F82E090E00C94CF2183E0AB\r
+:1037400090E00C94C121682F83E090E00C94CF218D\r
+:1037500084E090E00C94C121682F84E090E00C9408\r
+:10376000CF218091D50180FF0BC06091130185E0CE\r
+:10377000689FB001112475956795759567952BC065\r
+:1037800081FF09C06091130185E0689FB001112499\r
+:103790007595679520C082FF07C06091130185E091\r
+:1037A000689FB001112417C09091D6019923D1F0E0\r
+:1037B00060911201961788F72091130185E0289FE8\r
+:1037C00090011124929FA001939F500D112470E04D\r
+:1037D000CA010E9493216038710540F4611571059A\r
+:1037E00039F002C065E070E0862F08958FE70895F4\r
+:1037F00081E008958091D50180FF08C0609111019A\r
+:1038000070E0759567957595679521C081FF06C035\r
+:103810006091110170E07595679519C082FF04C031\r
+:103820006091110170E010C09091D6019923C1F010\r
+:10383000609110019617A0F780911101899FC00136\r
+:10384000112470E00E9493216038710528F46115FD\r
+:10385000710521F0862F08958FE7089581E008957E\r
+:1038600061E070E0F4CF803F21F40E94B11B8195AC\r
+:1038700004C0813F29F40E94B11B8093D9010895AF\r
+:10388000823F21F40E94B11B819504C0833F29F43B\r
+:103890000E94B11B8093D8010895893F19F40E94BA\r
+:1038A000FA1B05C08A3F31F40E94FA1B8195809370\r
+:1038B000DA0108958B3F21F40E94FA1B819504C020\r
+:1038C0008C3F29F40E94FA1B8093DB010895843F0A\r
+:1038D00021F48091D701816017C0853F21F4809148\r
+:1038E000D701826011C0863F21F48091D7018460A6\r
+:1038F0000BC0873F21F48091D701886005C0883FC5\r
+:1039000031F48091D70180618093D70108958D3F74\r
+:1039100021F48091D50181600BC08E3F21F480910C\r
+:10392000D501826005C08F3F29F48091D501846064\r
+:103930008093D5010895803F39F48091D90187FFA4\r
+:103940006CC01092D90169C0813F29F48091D901DE\r
+:103950001816BCF362C09091D801823F29F497FFFA\r
+:103960005CC01092D80159C0833F19F41916CCF3EA\r
+:1039700054C0893F41F48091DA0118160CF04DC013\r
+:103980001092DA014AC08A3F29F48091DA0187FF58\r
+:1039900044C0F6CF8B3F39F48091DB0187FF3DC0F7\r
+:1039A0001092DB013AC08C3F29F48091DB0118169C\r
+:1039B000BCF333C0843F21F48091D7018E7F17C0C0\r
+:1039C000853F21F48091D7018D7F11C0863F21F47E\r
+:1039D0008091D7018B7F0BC0873F21F48091D70165\r
+:1039E000877F05C0883F31F48091D7018F7E809317\r
+:1039F000D70113C08D3F21F48091D5018E7F0BC07C\r
+:103A00008E3F21F48091D5018D7F05C08F3F29F431\r
+:103A10008091D5018B7F8093D5018091D801811150\r
+:103A20000EC08091D90181110AC08091DA01811103\r
+:103A300006C08091DB01811102C01092D601089569\r
+:103A400087ED91E00E94810D0E9487199093D40127\r
+:103A50008093D30108951F93CF93DF938091D30177\r
+:103A60009091D4010E949319AC019091D6019923B1\r
+:103A700021F02091140130E006C0209115018AE068\r
+:103A8000289F900111244217530708F486C08091A3\r
+:103A9000D801C091D901D091DA011091DB018111D7\r
+:103AA00007C0C11176C0D11174C0111172C075C0A8\r
+:103AB0009F3F19F09F5F9093D601181624F40E943F\r
+:103AC000B11B8093D8018091D80187FF05C00E9467\r
+:103AD000B11B81958093D8011C1624F40E94B11B60\r
+:103AE0008093D9018091D90187FF05C00E94B11B45\r
+:103AF00081958093D9016091D801662339F1C091F5\r
+:103B0000D901CC2319F1772767FD7095872F972F5F\r
+:103B10000E94A42023E333E343E35FE30E940821F0\r
+:103B20000E9471206093D8016C2F772767FD7095F4\r
+:103B3000872F972F0E94A42023E333E343E35FE31F\r
+:103B40000E9408210E9471206093D9011D1624F45F\r
+:103B50000E94FA1B8093DA018091DA0187FF05C089\r
+:103B60000E94FA1B81958093DA01111624F40E94B9\r
+:103B7000FA1B8093DB018091DB0187FF05C00E9467\r
+:103B8000FA1B81958093DB01DF91CF911F910C94FB\r
+:103B9000201D9F3F09F08ECF96CFDF91CF911F91CF\r
+:103BA0000895E7EDF1E085E0DF011D928A95E9F7E0\r
+:103BB0001092D6011092D5010895833081F128F436\r
+:103BC000813059F08230D1F00895853009F449C030\r
+:103BD000B8F1863009F456C0089580911501262F5A\r
+:103BE00030E0280F311D2F3F310524F4680F60931A\r
+:103BF000150108958FEF80931501089580911401A8\r
+:103C0000262F30E0280F311D2F3F310524F4680F97\r
+:103C10006093140108958FEF8093140108958091AB\r
+:103C20001301262F30E0280F311D2F3F310524F4DA\r
+:103C3000680F6093130108958FEF80931301089527\r
+:103C400080911201262F30E0280F311D2F3F3105C2\r
+:103C500024F4680F6093120108958FEF809312018E\r
+:103C6000089580911101262F30E0280F311D2F3F3C\r
+:103C7000310524F4680F6093110108958FEF80934C\r
+:103C80001101089580911001262F30E0280F311D79\r
+:103C90002F3F310524F4680F6093100108958FEFD2\r
+:103CA000809310010895833011F128F4813049F098\r
+:103CB000823091F00895853081F120F18630C1F194\r
+:103CC000089580911501681720F4861B80931501D3\r
+:103CD000089510921501089580911401681720F439\r
+:103CE000861B809314010895109214010895809109\r
+:103CF0001301681720F4861B809313010895109216\r
+:103D00001301089580911201681720F4861B809397\r
+:103D100012010895109212010895809111016817FF\r
+:103D200020F4861B809311010895109211010895CB\r
+:103D300080911001681720F4861B8093100108956C\r
+:103D40001092100108950F931F938D3109F46AC0EA\r
+:103D500008F03FC08E3009F484C0C0F4873009F405\r
+:103D60006DC068F4863009F0B5C08091CD01817FC7\r
+:103D70008E7F8093CD0181E08093DD01ACC08830DF\r
+:103D800009F457C08B3009F46AC0A4C0863109F425\r
+:103D900066C078F4803109F477C0813109F09AC0A7\r
+:103DA0000E94FA1290910D0181E0892780930D0104\r
+:103DB00056C0893109F453C08B3109F08BC0809112\r
+:103DC000CD0181FB222720F991E0922790FB81F918\r
+:103DD00051C0853309F475C048F4873209F471C0C5\r
+:103DE00008F45EC0893209F46CC074C0833430F4C6\r
+:103DF0008A3308F053C0883391F16CC0833409F4DE\r
+:103E000060C0883409F066C00E94FA120FEF13ED0B\r
+:103E100020E3015010402040E1F700C000000E9464\r
+:103E2000E2191DC00E942B200E946A0D0E946306A9\r
+:103E300016C00E94961B0E94A81B11C09091CD0134\r
+:103E4000892F8095817080FB90F929F096609860A9\r
+:103E50009093CD0140C0997F977F9093CD0181E0F1\r
+:103E60003AC08091CD0182FB222720F991E0922770\r
+:103E700090FB82F98093CD01992389F38091CD0144\r
+:103E800081608093CD01EBCF8091CD0183FB222710\r
+:103E900020F991E0922790FB83F9ECCF895301C080\r
+:103EA0008D5141E050E060E070E08A019B0104C068\r
+:103EB000000F111F221F331F8A95D2F7C901B801C5\r
+:103EC00004C061E070E080E090E00E94B6160E94BD\r
+:103ED000FA12C5CF80E01F910F91089580E00895F8\r
+:103EE00080E00895CF93C82F8091DD01813079F073\r
+:103EF00018F08230E9F187C0E0910E01F0910F01D6\r
+:103F00008081813169F0823209F07FC009C0E0917F\r
+:103F10000E01F0910F018081813111F0823261F444\r
+:103F20008C2F0E946E1F811104C08C2F0E94A31E33\r
+:103F30001DC081E090E01AC08C2F0E94701F81117B\r
+:103F400014C0C43179F048F4CB3079F0C03109F0B5\r
+:103F500060C082E08093DD0108C0C93219F0C83327\r
+:103F600021F057C01092DD0154C081E0817053C030\r
+:103F7000C93289F118F5C43171F1A8F4C73009F0DC\r
+:103F800046C08AE08093150194E19093140193E078\r
+:103F9000909313018093120188E08093110188E2CD\r
+:103FA0008093100134C0CE51C63088F5EC2FF0E07C\r
+:103FB000E65DFE4F80818093DC0129C0CE34E9F0BC\r
+:103FC00020F4CB3421F56AE013C0C13579F0C23555\r
+:103FD000F1F461E00DC08091DC01882319F01092AA\r
+:103FE000DC0115C081E08093DD0115C061E006C0F1\r
+:103FF0008091DC010E94DD1D0AC06AE08091DC0135\r
+:104000000E94531E04C01092DD0180E004C081E0D4\r
+:1040100002C080E0ABCFCF910895E1E8F0E080816D\r
+:10402000886080838081816080838FB7F89493E07B\r
+:104030009093890090ED909388008FBF0895EFE6EC\r
+:10404000F0E08081826080830895EFE6F0E0808177\r
+:104050008D7F80830895EFE6F0E0908182E08927EC\r
+:10406000808308951F920F920FB60F9211242F9301\r
+:104070003F934F935F936F937F938F939F93AF93F0\r
+:10408000BF93EF93FF938091DE019091DF01019642\r
+:104090009093DF018093DE01811103C082E00E94D2\r
+:1040A0006306E091DF01E695E695F0E0EA5CFC4FFF\r
+:1040B000E4918091DE018E1303C080E00E946306CC\r
+:1040C000FF91EF91BF91AF919F918F917F916F91F0\r
+:1040D0005F914F913F912F910F900FBE0F901F90C6\r
+:1040E000189504D06894B1118DC0089570D088F0EF\r
+:1040F0009F5790F0B92F9927B751A0F0D1F0660FD4\r
+:10410000771F881F991F1AF0BA95C9F712C0B130EE\r
+:1041100081F077D0B1E0089574C0672F782F882799\r
+:10412000B85F39F0B93FCCF3869577956795B3952D\r
+:10413000D9F73EF490958095709561957F4F8F4F9C\r
+:104140009F4F0895E89409C097FB3EF490958095A1\r
+:10415000709561957F4F8F4F9F4F9923A9F0F92F4D\r
+:1041600096E9BB279395F695879577956795B795CB\r
+:10417000F111F8CFFAF4BB0F11F460FF1BC06F5FB1\r
+:104180007F4F8F4F9F4F16C0882311F096E911C0C3\r
+:10419000772321F09EE8872F762F05C0662371F0E4\r
+:1041A00096E8862F70E060E02AF09A95660F771FF8\r
+:1041B000881FDAF7880F9695879597F9089557FD28\r
+:1041C0009058440F551F59F05F3F71F04795880F85\r
+:1041D00097FB991F61F09F3F79F08795089512161C\r
+:1041E00013061406551FF2CF4695F1DF08C01616C8\r
+:1041F00017061806991FF1CF869571056105089479\r
+:104200000895E894BB2766277727CB0197F908958F\r
+:104210000BD078C069D028F06ED018F0952309F043\r
+:104220005AC05FC01124EECFCADFA0F3959FD1F32F\r
+:10423000950F50E0551F629FF001729FBB27F00D54\r
+:10424000B11D639FAA27F00DB11DAA1F649F6627A9\r
+:10425000B00DA11D661F829F2227B00DA11D621FF8\r
+:10426000739FB00DA11D621F839FA00D611D221FB2\r
+:10427000749F3327A00D611D231F849F600D211D96\r
+:10428000822F762F6A2F11249F5750408AF0E1F039\r
+:1042900088234AF0EE0FFF1FBB1F661F771F881F82\r
+:1042A00091505040A9F79E3F510570F014C0AACF1D\r
+:1042B0005F3FECF3983EDCF3869577956795B7956D\r
+:1042C000F795E7959F5FC1F7FE2B880F911D969597\r
+:1042D000879597F9089597F99F6780E870E060E007\r
+:1042E00008959FEF80EC089500240A94161617068F\r
+:1042F00018060906089500240A94121613061406D7\r
+:1043000005060895092E0394000C11F4882352F039\r
+:10431000BB0F40F4BF2B11F460FF04C06F5F7F4FF1\r
+:104320008F4F9F4F089597FB072E16F4009407D0E8\r
+:1043300077FD09D00E94AD2107FC05D03EF4909591\r
+:1043400081959F4F0895709561957F4F0895EE0F69\r
+:10435000FF1F0590F491E02D0994AA1BBB1B51E1AE\r
+:1043600007C0AA1FBB1FA617B70710F0A61BB70BE5\r
+:10437000881F991F5A95A9F780959095BC01CD018A\r
+:104380000895F999FECF92BD81BDF89A992780B51D\r
+:104390000895A8E1B0E042E050E00C94E421262F1B\r
+:1043A000F999FECF1FBA92BD81BD20BD0FB6F8941A\r
+:1043B000FA9AF99A0FBE019608950E94CF21272FED\r
+:1043C0000C94D021DC01CB01FC01F999FECF06C091\r
+:1043D000F2BDE1BDF89A319600B40D9241505040C3\r
+:0843E000B8F70895F894FFCF2F\r
+:1043E80020026506F306D0069C0668060101BA019C\r
+:1043F80028080A03140A3F4D3639F702AA02740244\r
+:104408003B02CE01E701000219020102030405067E\r
+:044418000708090088\r
+:00000001FF\r
diff --git a/keyboard/ergodox_ez/keymaps/romanzolotarev-norman-osx/romanzolotarev-norman-osx.png b/keyboard/ergodox_ez/keymaps/romanzolotarev-norman-osx/romanzolotarev-norman-osx.png
new file mode 100644 (file)
index 0000000..4b9433b
Binary files /dev/null and b/keyboard/ergodox_ez/keymaps/romanzolotarev-norman-osx/romanzolotarev-norman-osx.png differ
diff --git a/keyboard/ergodox_ez/keymaps/romanzolotarev-norman-qwerty-osx/keymap.c b/keyboard/ergodox_ez/keymaps/romanzolotarev-norman-qwerty-osx/keymap.c
new file mode 100644 (file)
index 0000000..dd946c1
--- /dev/null
@@ -0,0 +1,73 @@
+#include "ergodox_ez.h"
+#include "debug.h"
+#include "action_layer.h"
+
+#define BASE 0
+#define QWRT 1
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+  [BASE] = KEYMAP(
+    KC_GRV,  KC_1,     KC_2,  KC_3,    KC_4,    KC_5,    KC_F5,
+    KC_TAB,  KC_Q,     KC_W,  KC_D,    KC_F,    KC_K,    KC_BSLS,
+    KC_LCTL, KC_A,     KC_S,  KC_E,    KC_T,    KC_G,
+    KC_LSFT, KC_Z,     KC_X,  KC_C,    KC_V,    KC_B,    KC_LBRC,
+    KC_F1,   KC_F2,    KC_F3, KC_F4,   KC_LGUI,
+    /*-*/    /*-*/     /*-*/  /*-*/    /*-*/    KC_VOLD, KC_MUTE,
+    /*-*/    /*-*/     /*-*/  /*-*/    /*-*/    /*-*/    KC_VOLU,
+    /*-*/    /*-*/     /*-*/  /*-*/    /*-*/    KC_BSPC, CTL_T(KC_ESC), KC_LALT,
+    //
+    /*-*/    KC_F6,    KC_6,  KC_7,    KC_8,    KC_9,    KC_0,          KC_EQL,
+    /*-*/    TG(QWRT), KC_J,  KC_U,    KC_R,    KC_L,    KC_SCLN,       KC_MINS,
+    /*-*/    /*-*/     KC_Y,  KC_N,    KC_I,    KC_O,    KC_H,          KC_ENT,
+    /*-*/    KC_RBRC,  KC_P,  KC_M,    KC_COMM, KC_DOT,  KC_SLSH,       KC_RSFT,
+    /*-*/    /*-*/     /*-*/  KC_RGUI, KC_LEFT, KC_DOWN, KC_UP,         KC_RGHT,
+    KC_MPLY, KC_MNXT,
+    KC_MPRV,
+    KC_RALT, KC_QUOT,  KC_SPC
+  ),
+  [QWRT] = KEYMAP(
+    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+    KC_TRNS, KC_TRNS, KC_TRNS, KC_E,    KC_R,    KC_T,    KC_TRNS,
+    KC_TRNS, KC_TRNS, KC_TRNS, KC_D,    KC_F,    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_TRNS, KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_TRNS,
+    /*-*/    /*-*/    KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, KC_TRNS,
+    /*-*/    KC_TRNS, KC_N,    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
+  ),
+};
+
+const uint16_t PROGMEM fn_actions[] = {
+};
+
+const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {
+};
+
+// 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) {
+    case QWRT:
+      ergodox_right_led_1_on();
+      break;
+    default:
+      break;
+  }
+};
diff --git a/keyboard/ergodox_ez/keymaps/romanzolotarev-norman-qwerty-osx/readme.md b/keyboard/ergodox_ez/keymaps/romanzolotarev-norman-qwerty-osx/readme.md
new file mode 100644 (file)
index 0000000..0e78c13
--- /dev/null
@@ -0,0 +1,34 @@
+# Roman's Layout
+
+There are two layers:
+
+- **BASE** is [Norman layout](https://normanlayout.info/).
+- **QWRT** is QWERTY.
+
+[![keyboard-layout](romanzolotarev-norman-qwerty-osx.png)](http://www.keyboard-layout-editor.com/#/gists/3b236f450da474dc506a5a80390c3cc7)
+
+## Switching
+
+- Tap `QWRT` to toggle **QWRT**.
+
+## LEDs
+
+- Red: QWRT is on.
+
+## Functional Keys
+
+- Tap `F1` to mute microphone via [Shush](http://mizage.com/shush/).
+- Tap `F2` to copy screenshot to the clipboard.
+- Hold `SHIFT` and tap `F2` to save screenshot as a file.
+- Tap `F3`, `F4`, `F5`, `F6` to resize a window via [Divvy](http://mizage.com/divvy/).
+
+## CTRL/ESC
+
+Both CTRL and ESC are frequently used in Vim.
+
+- Tap `CTRL/ESC` to send `ESC`.
+- Hold `CTRL/ESC` to use as `CTRL`.
+
+## Activate N-rollover
+
+- Hold left `SHIFT` and right `SHIRT` and then tap `N`.
diff --git a/keyboard/ergodox_ez/keymaps/romanzolotarev-norman-qwerty-osx/romanzolotarev-norman-qwerty-osx.hex b/keyboard/ergodox_ez/keymaps/romanzolotarev-norman-qwerty-osx/romanzolotarev-norman-qwerty-osx.hex
new file mode 100644 (file)
index 0000000..80ae075
--- /dev/null
@@ -0,0 +1,1139 @@
+:100000000C940F020C9453020C9453020C94530260\r
+:100010000C9453020C9453020C9453020C9453020C\r
+:100020000C9453020C9453020C94070C0C94D90CAE\r
+:100030000C9453020C9453020C9453020C945302EC\r
+:100040000C9453020C94A3210C9453020C9453026D\r
+:100050000C9453020C94321B0C9453020C945302D4\r
+:100060000C9453020C9453020C9453020C945302BC\r
+:100070000C9453020C9453020C9453020C945302AC\r
+:100080000C9453020C9453020C9453020C9453029C\r
+:100090000C9453020C9453020C9453020C9453028C\r
+:1000A0000C9453020C9453020C945302460D680DA9\r
+:1000B000560E680D560EAD0DD00D560E250E380E8F\r
+:1000C0002411241161116111A411E211FB13FB131E\r
+:1000D000FB11FB13FC12FC12CF13FB13FB13E613F3\r
+:1000E00035002B00E000E1003A0000001E00140083\r
+:1000F00004001D003B00E2001F001A0016001B0058\r
+:100100003C00297120000700080006003D002A007D\r
+:100110002100090017001900E300A90022000E00C9\r
+:100120000A0005000000AA003E00310000002F0078\r
+:100130000000A8003F000154000030000000AE00A5\r
+:1001400023000D001C0013000000AB002400180069\r
+:1001500011001000E700AC00250015000C0036006F\r
+:1001600050002C0026000F00120037005100340010\r
+:10017000270033000B0038005200E6002E002D004F\r
+:100180002800E5004F00000001000100010001000F\r
+:100190000100000001000100010001000100010058\r
+:1001A0000100010001000100010001000100080040\r
+:1001B0000700010001000100010015000900010015\r
+:1001C0000100010001001700010001000000010012\r
+:1001D0000100010000000100000001000100010019\r
+:1001E000000001000000010001001C000B001100D4\r
+:1001F00000000100010018000D00010001000100D5\r
+:1002000001000C000E0001000100010001001200BD\r
+:100210000F00010001000100010013003300010084\r
+:1002200001000100010001000100010001000000C7\r
+:1002300016034500720067006F0044006F007800ED\r
+:10024000200045005A0000001603450072006700B8\r
+:100250006F0044006F007800200045005A00000045\r
+:100260000403090409026D00040100A0FA09040056\r
+:10027000000103010100092111010001223F0007D3\r
+:1002800005810308000A09040100010301020009B5\r
+:100290002111010001224D000705820308000A090F\r
+:1002A00004020001030000000921110100012236AF\r
+:1002B000000705830308000A090403000103000086\r
+:1002C00000092111010001223900070584031000F3\r
+:1002D000011201100100000008EDFE0713010001EA\r
+:1002E00002000105010906A101050719E029E7152A\r
+:1002F0000025019508750181020508190129059558\r
+:1003000005750191029501750391010507190029F1\r
+:100310007715002501957875018102C005010980D6\r
+:10032000A101850216010026B7001A01002AB700B4\r
+:10033000751095018100C0050C0901A10185031606\r
+:100340000100269C021A01002A9C02751095018169\r
+:1003500000C005010902A1010901A1000509190157\r
+:100360002905150025019505750181029501750383\r
+:1003700081010501093009311581257F9502750834\r
+:10038000810609381581257F950175088106050CC0\r
+:100390000A38021581257F950175088106C0C005C0\r
+:1003A000010906A101050719E029E71500250195B6\r
+:1003B0000875018102950175088101050819012957\r
+:1003C00005950575019102950175039101050719C0\r
+:1003D0000029FF150025FF950675088100C0000063\r
+:1003E000000000000000000000010204060A0F17D0\r
+:1003F000202C3A4A5D71879DB3C7DAE9F5FCFFFC12\r
+:10040000F5E9DAC7B39D87715D4A3A2C20170F0AC8\r
+:10041000060402010000000000000000000011249A\r
+:100420001FBECFEFDAE0DEBFCDBF04B603FE24C0AF\r
+:100430008091EE019091EF01A091F001B091F10156\r
+:100440008730904BA740B04BB9F41092EE01109258\r
+:10045000EF011092F0011092F10114BE84B7877F72\r
+:1004600084BF88E10FB6F89480936000109260001A\r
+:100470000FBEE0E0FFE3099511E0A0E0B1E0E4ED9C\r
+:10048000F6E402C005900D92A433B107D9F711E04C\r
+:10049000A4E3B1E001C01D92AE3EB107E1F70E94B6\r
+:1004A0004B090C9468230C94000008950895609102\r
+:1004B000B1017091B2018091B3019091B4010E9499\r
+:1004C0005E1A56985E9825982D9826982E9827980B\r
+:1004D0002F98813011F4259A2D9A08950C94570283\r
+:1004E00056985E9825982D9826982E9827982F989C\r
+:1004F0008FEF90E0909389008093880090938B0019\r
+:1005000080938A0090938D0080938C00259A2D9A79\r
+:100510002FEF80E792E0215080409040E1F700C04B\r
+:100520000000269A2E9A2FEF80E792E0215080401B\r
+:100530009040E1F700C00000279A2F9A2FEF80E744\r
+:1005400092E0215080409040E1F700C000002598E3\r
+:100550002D982FEF80E792E0215080409040E1F706\r
+:1005600000C0000026982E982FEF80E792E02150DF\r
+:1005700080409040E1F700C0000027982F985698DF\r
+:100580005E9825982D9826982E9827982F9808954C\r
+:1005900089EA8093800089E08093810024982C98D8\r
+:1005A0003F988AB18F748AB96E98479A8BB1806BE5\r
+:1005B0008BB9769A0E9470020C94560280E2809366\r
+:1005C00000018091340181110EC00E942D0381E051\r
+:1005D000809334012FEF83ED90E3215080409040D1\r
+:1005E000E1F700C0000080E40E9433038093000123\r
+:1005F00081112EC00E945D0380930001811128C0EB\r
+:100600000E945D0380930001811122C08FE30E944C\r
+:100610005D038093000181111BC00E94550380E49B\r
+:100620000E94330380930001811112C08CE00E946C\r
+:100630005D038093000181110BC00E945D038093D4\r
+:100640000001811105C08FE30E945D0380930001CA\r
+:100650000E9455038091000108951092B9008AE02C\r
+:100660008093B800089594EA9093BC009091BC00E8\r
+:1006700097FFFCCF9091B900987F983021F090318E\r
+:1006800011F081E008958093BB0084E88093BC0062\r
+:100690008091BC0087FFFCCF8091B900887F8831B2\r
+:1006A00011F0803471F780E0089584E98093BC00F4\r
+:1006B0008091BC0084FDFCCF08958093BB0084E84A\r
+:1006C0008093BC008091BC0087FFFCCF9091B90063\r
+:1006D000987F81E0983209F480E0089584E880935F\r
+:1006E000BC008091BC0087FFFCCF8091BB000895C7\r
+:1006F00080910001811115C080E40E943303809332\r
+:10070000000181110CC082E10E945D038093000111\r
+:10071000811105C08FEF0E945D03809300010E944C\r
+:10072000550384B1807F84B985B1807F85B98AB152\r
+:10073000837F8AB98BB1837F8BB93E9846980895A1\r
+:100740000E94DE02809300010E94780380B38C70C7\r
+:1007500080BB81B3836F81BBA6E3B1E0E4E4F1E049\r
+:100760008EE08E0F11921D928E13FCCF0C94C80256\r
+:10077000BF92CF92DF92EF92FF920F931F93CF938E\r
+:10078000DF9380910001882379F0809135018F5F9C\r
+:1007900080933501811108C00E94DE028093000120\r
+:1007A000811102C00E94700206E311E0C0E0D0E0B7\r
+:1007B000DD24D39482E0C82EEE24E394F12CC730DC\r
+:1007C000D10500F580910001811164C080E40E9490\r
+:1007D000330380930001811112C082E10E945D0306\r
+:1007E0008093000181110BC0C7010C2E01C0880F3E\r
+:1007F0000A94EAF780950E945D03809300010E94AD\r
+:10080000550348C0CA30A1F028F4C83059F0C930A7\r
+:1008100061F005C0CC3089F070F0CD3089F0209ABD\r
+:10082000289810C0219A29980DC0229A2A980AC0A7\r
+:10083000239A2B9807C0529A01C0539A5B9802C022\r
+:100840003E9A469890EA9A95F1F79FB1799902C03D\r
+:1008500082E001C080E091709D25982B7C9902C0B8\r
+:1008600084E001C080E0892B7D9902C038E001C09E\r
+:1008700030E0832B7E9902C020E101C020E0822B72\r
+:100880009FB19095991F9927991F9295990F907EE6\r
+:10089000892B0FC080910001811149C080E40E9422\r
+:1008A000330380930001882379F1B12C0E94550312\r
+:1008B0008B2DF8019081981719F08083C092010167\r
+:1008C0000E94780321960F5F1F4FCE30D10509F0AB\r
+:1008D00076CF80910101882361F1815080930101DD\r
+:1008E000882339F08FE99FE00197F1F700C00000FD\r
+:1008F00020C0A4E4B1E0E6E3F1E0CF01825F919192\r
+:100900009D938E13FCCF15C083E10E945D038093FD\r
+:1009100000018111CACF81E40E943303809300015A\r
+:100920008111C3CF0E946E03B82EB094BFCF80E078\r
+:10093000C0CF0E946E0281E0DF91CF911F910F9195\r
+:10094000FF90EF90DF90CF90BF900895E82FF0E0F8\r
+:10095000EC5BFE4F808108950895089596E0799F9D\r
+:10096000F001112494E5899FE00DF11D1124E60F9B\r
+:10097000F11DEE0FFF1FE052FF4F859194910895F6\r
+:10098000880F991FFC01E05AF040859194910895D9\r
+:10099000880F991FFC01E052FF4F859194910895B3\r
+:1009A0000F931F93CF93DF93EC018115904350F584\r
+:1009B000C11580E2D80708F0B3C0CB3BD10590F455\r
+:1009C000C83AD10508F05AC0C53AD10508F04BC065\r
+:1009D000C430D10508F0BBC1219709F0B5C101E0D1\r
+:1009E00010E0F5C1CF3FD10511F008F0B0C1C03F14\r
+:1009F000D10508F092C0CE01805E9109089708F4F5\r
+:100A0000A6C1A2C1C11591E5D907A8F4C23020E55D\r
+:100A1000D20708F09EC0C11580E5D80709F485C04B\r
+:100A200008F091C0C11520E4D20708F08DC1DD2780\r
+:100A30008E01106CCCC1C11580E8D80758F4C115DF\r
+:100A400090E7D90708F07CC1C11520E6D20708F469\r
+:100A500022C17AC1C11580E9D80708F075C1DF70DD\r
+:100A60008E01106AB4C1C53AD10509F472C1C63A03\r
+:100A7000D10509F071C102E810E4A9C1C83AD10555\r
+:100A800009F46DC1C93AD10509F46CC1CA3AD1055E\r
+:100A900009F46BC1CB3AD10509F46AC1CC3AD1054E\r
+:100AA00009F469C1CD3AD10509F468C1C03BD1054B\r
+:100AB00009F467C1CE3AD10509F466C1CF3AD10530\r
+:100AC00009F465C1C13BD10509F464C1C23BD1053C\r
+:100AD00009F463C1C33BD10509F462C1C43BD1052C\r
+:100AE00009F461C1C53BD10509F460C1C63BD1051C\r
+:100AF00009F45FC1C73BD10509F45EC1C83BD1050C\r
+:100B000009F45DC1C93BD10509F45CC1CA3BD105FB\r
+:100B100009F45BC100E014E45AC18E01106557C1AD\r
+:100B2000CE019F700E94C80453C10E941F149FEF02\r
+:100B300024E38CE0915020408040E1F700C00000A9\r
+:100B40000E94571B44C18091CD0181608093CD01EB\r
+:100B50003EC10E94001D811102C00E94E61C0E943D\r
+:100B60001D1D90E09093EE018093ED01C23090E561\r
+:100B7000D90721F48091ED01816086C0C43020E561\r
+:100B8000D20721F48091ED0182607EC0C63080E5FD\r
+:100B9000D80721F48091ED01846076C0C83090E5DB\r
+:100BA000D90719F48091ED0127C0CA3020E5D2079A\r
+:100BB00021F48091ED01806167C0CC3080E5D807D9\r
+:100BC00021F48091ED0180625FC0CE3090E5D907BD\r
+:100BD00021F48091ED01806457C0C03120E5D20737\r
+:100BE00021F48091ED0180684FC0C23180E5D807C3\r
+:100BF00029F48091ED018460886046C0C33090E59F\r
+:100C0000D90721F48091ED018E7F3EC0C53020E5EB\r
+:100C1000D20721F48091ED018D7F36C0C73080E589\r
+:100C2000D80721F48091ED018B7F2EC0C93090E56B\r
+:100C3000D90719F48091ED0126C0CB3020E5D20709\r
+:100C400021F48091ED018F7E1FC0CD3080E5D80763\r
+:100C500021F48091ED018F7D17C0CF3090E5D90749\r
+:100C600021F48091ED018F7B0FC0C13120E5D207C7\r
+:100C700021F48091ED018F7707C0C331D04531F465\r
+:100C80008091ED018B7F877F8093ED018091ED0155\r
+:100C90000E94211D9CC08D2F99278F70992781302C\r
+:100CA0009105D9F49E012370332702C0880F991F44\r
+:100CB0002A95E2F79C688E0144E0000F111F4A95C7\r
+:100CC000E1F700271370802B912B53E0CC0FDD1F31\r
+:100CD0005A95E1F7C076DD272FC08230910531F4B7\r
+:100CE000DC2FCC278E01016F106A71C08330910513\r
+:100CF00069F4CE018370992701E010E002C0000F73\r
+:100D0000111F8A95E2F7C8019C680FC0049709F08B\r
+:100D10005EC0CE018370992701E010E002C0000F91\r
+:100D2000111F8A95E2F7C8019A6823E0CC0FDD1FF6\r
+:100D30002A95E1F7C07ED7708C010C2B1D2B47C084\r
+:100D4000DF708E01106243C000E010E040C08E01F1\r
+:100D50003EC001E810E43BC003E810E438C002EEF6\r
+:100D600014E435C009EE14E432C00AEE14E42FC0D6\r
+:100D700005EB14E42CC006EB14E429C007EB14E4E3\r
+:100D800026C00CEC14E423C00DEC14E420C003E8EE\r
+:100D900015E41DC00AE815E41AC002E915E417C0FD\r
+:100DA00004E915E414C001E216E411C003E216E4FC\r
+:100DB0000EC004E216E40BC005E216E408C006E229\r
+:100DC00016E405C007E216E402C00AE216E4C80110\r
+:100DD000DF91CF911F910F91089596E0799FF001D7\r
+:100DE000112494E5899FE00DF11D1124E60FF11DFA\r
+:100DF000EE0FFF1FE052FF4F85919491803E9105C9\r
+:100E0000E0F4803C910558F58133910509F46FC0F9\r
+:100E100048F48932910509F463C08A32910509F4D6\r
+:100E20006DC072C089339105E9F082389105D1F027\r
+:100E30008533910509F44DC067C0833E910581F16A\r
+:100E400038F4803E9105B9F0823E9105D9F05CC03E\r
+:100E5000863E910561F1873E9105A1F155C00E9442\r
+:100E6000C00408952091ED0120FD02C021FF4CC077\r
+:100E700080EE90E049C08091ED0180FFF9CF89E3D9\r
+:100E800090E042C08091ED0182FF0EC08091ED01A3\r
+:100E900084FF03C080E090E037C083EE90E034C070\r
+:100EA0008091ED0182FFF2CF82EE90E02DC0809123\r
+:100EB000ED0183FF0BC08091ED0184FDEBCF87EE48\r
+:100EC00090E022C08091ED0183FFF5CF86EE90E0A7\r
+:100ED0001BC08091ED0185FF07C089E290E014C03E\r
+:100EE0008091ED0185FFF9CF85E390E00DC0809101\r
+:100EF000ED0186FF07C08AE290E006C08091ED0117\r
+:100F000086FFF9CF81E390E00E94D0040895089510\r
+:100F10000C948707809162010895CF93DF9300D0EE\r
+:100F20001F92CDB7DEB79C018091E401843019F5A2\r
+:100F300093E099833B832A839093E9008FEF90910C\r
+:100F4000E800815095FD06C095ED9A95F1F70000F7\r
+:100F50008111F5CF8091E80085FF0DC040E050E0A1\r
+:100F600063E070E0CE0101960E94F7098091E800ED\r
+:100F70008E778093E8000F900F900F90DF91CF91C4\r
+:100F80000895CF93DF9300D01F92CDB7DEB72091A5\r
+:100F9000E401243021F522E029839B838A8383E0C6\r
+:100FA0008093E9008FEF9091E800815095FD06C095\r
+:100FB00095ED9A95F1F700008111F5CF8091E80049\r
+:100FC00085FF0DC040E050E063E070E0CE01019687\r
+:100FD0000E94F7098091E8008E778093E8000F90D7\r
+:100FE0000F900F90DF91CF9108952091E40124306C\r
+:100FF000F1F422E02093E9002FEF3091E800215036\r
+:1010000035FD06C035ED3A95F1F700002111F5CF19\r
+:101010002091E80025FF0BC040E050E065E070E063\r
+:101020000E94F7098091E8008E778093E800089588\r
+:10103000CF93DF93EC019091E401943009F046C026\r
+:1010400080910C018823D9F080910D018823B9F09B\r
+:101050009093E9008FEF9091E800815095FD06C0D4\r
+:1010600095E19A95F1F700008111F5CF8091E800A4\r
+:1010700085FF2CC040E050E060E170E017C081E0E7\r
+:101080008093E9008FEF9091E800815095FD06C0B4\r
+:1010900095ED9A95F1F700008111F5CF8091E80068\r
+:1010A00085FF14C040E050E068E070E0CE010E948F\r
+:1010B000F7098091E8008E778093E80080E1FE01D7\r
+:1010C000A2E5B1E001900D928A95E1F7DF91CF9111\r
+:1010D00008958091E301811109C00E948C0B0E9448\r
+:1010E000E90B8091E20084608093E2000895109201\r
+:1010F000E301089508950C9490210E94ED1A0E9436\r
+:1011000096210E948F0E0C94880742E061EC81E0EA\r
+:101110000E94060B42E061EC82E00E94060B42E076\r
+:1011200061EC83E00E94060B42E161EC84E00C94E8\r
+:10113000060B8091E601833009F455C030F481300C\r
+:1011400071F0823009F48EC008958A3009F47AC0B3\r
+:101150008B3009F460C0893009F09CC020C08091B8\r
+:10116000E501813A09F096C08091E800877F80937D\r
+:10117000E8008091E9019091EA01892B21F460E176\r
+:1011800082E591E003C060E080E090E070E00E94C2\r
+:10119000420A8091E8008B778093E800089580915F\r
+:1011A000E501813209F076C08091E9019091EA0170\r
+:1011B000009719F0039709F06DC08091E800877FD0\r
+:1011C0008093E8008091E80082FD05C08091E401F1\r
+:1011D0008111F8CF5FC08091F1008093620180910E\r
+:1011E000E8008B7753C08091E501813A09F052C045\r
+:1011F0008091E9019091EA01892B09F04BC080911F\r
+:10120000E800877F8093E8008091E80080FFFCCFB2\r
+:1012100080910C0136C08091E5018132D9F5809131\r
+:10122000E9019091EA01892BA9F58091E800877F77\r
+:101230008093E8000E943B0B8091E70180930C01B2\r
+:101240000C941F148091E501813221F58091E80012\r
+:10125000877F8093E8000E943B0B8091E801809398\r
+:10126000630108958091E501813AA1F48091E8003D\r
+:10127000877F8093E8008091E80080FFFCCF809119\r
+:1012800063018093F1008091E8008E778093E800FD\r
+:101290000C943B0B089584B7877F84BF88E10FB619\r
+:1012A000F89480936000109260000FBE90E080E898\r
+:1012B0000FB6F89480936100909361000FBE0E9476\r
+:1012C000DE0E0E948C0B0E94E90B8091E20084608C\r
+:1012D0008093E20078940E946F0E0E94E00E82E0FC\r
+:1012E00091E00E948A0E0E947E218091E401853067\r
+:1012F00069F40E94AE1A8091E2018823B1F30E9442\r
+:10130000D91A882391F30E94E109EFCF0E94E60EDB\r
+:10131000ECCF292F332723303105C9F064F4213075\r
+:10132000310581F02230310509F043C08DE690E0AF\r
+:1013300024E632E042C021323105F1F0223231059B\r
+:1013400041F137C082E190E021ED32E036C09927CB\r
+:101350008130910541F08230910541F0892B49F5AA\r
+:10136000E0E6F2E005C0E8E4F2E002C0E0E3F2E02B\r
+:10137000849190E09F0121C06430D8F4E62FF0E022\r
+:10138000EE0FFF1FEE5DFE4F2081318189E090E07E\r
+:1013900014C0643070F470E0FB01EE0FFF1FE65ED6\r
+:1013A000FE4F20813181FB01EA5EFE4F808190E09B\r
+:1013B00004C080E090E020E030E0FA013183208337\r
+:1013C000089580E189BD82E189BD09B400FEFDCFA9\r
+:1013D0008091D8008F7D8093D8008091E00082605A\r
+:1013E0008093E0008091E00081FDFCCF0895CF92D2\r
+:1013F000DF92EF92FF920F931F93CF93DF93EC0155\r
+:101400008B016A010E945A0B811133C0C114D104AF\r
+:1014100039F0F60180819181081B190BC80FD91F83\r
+:10142000E12CF12C0115110519F18091E80085FDE1\r
+:1014300016C08091E8008E778093E800C114D10433\r
+:1014400049F0F60180819181E80EF91EF182E08277\r
+:1014500085E00FC00E945A0B882321F30AC08991AE\r
+:101460008093F10001501109FFEFEF1AFF0ADACF64\r
+:1014700080E0DF91CF911F910F91FF90EF90DF906F\r
+:10148000CF9008952091EB013091EC01261737079A\r
+:1014900048F06115710539F42091E8002E7720930A\r
+:1014A000E80001C0B90140E061157105A9F1209182\r
+:1014B000E401222309F443C0253009F442C02091FD\r
+:1014C000E80023FD40C02091E80022FD32C02091B9\r
+:1014D000E80020FFE9CF4091F3002091F20030E0D6\r
+:1014E000342BFC01CF016115710559F0283031050D\r
+:1014F00040F481918093F100615071092F5F3F4F5B\r
+:10150000F1CF41E02830310509F040E02091E800BA\r
+:101510002E772093E800C8CF4111C9CF0AC080912F\r
+:10152000E401882361F0853061F08091E80083FD5B\r
+:101530000AC08091E80082FFF2CF80E0089582E047\r
+:10154000089583E0089581E008952091EB013091A2\r
+:10155000EC012617370748F06115710539F4209121\r
+:10156000E8002E772093E80001C0B901FC0120E0DB\r
+:101570006115710591F18091E401882309F440C05F\r
+:10158000853009F43FC08091E80083FD3DC0809123\r
+:10159000E80082FD2FC08091E80080FFE9CF209114\r
+:1015A000F3008091F20090E0922B6115710559F0E3\r
+:1015B0008830910540F424912093F10031966150D8\r
+:1015C00071090196F2CF21E0089709F020E080919F\r
+:1015D000E8008E778093E800CBCF2111CCCF0AC0F2\r
+:1015E0008091E401882361F0853061F08091E8000A\r
+:1015F00083FD0AC08091E80082FFF2CF80E0089569\r
+:1016000082E0089583E0089581E00895982F97304F\r
+:1016100058F59093E900981739F07091EC002091FB\r
+:10162000ED005091F00003C0242F762F50E021FFF1\r
+:1016300019C03091EB003E7F3093EB003091ED000C\r
+:101640003D7F3093ED003091EB0031603093EB0043\r
+:101650007093EC002093ED005093F0002091EE0089\r
+:1016600027FF07C09F5FD3CF8F708093E90081E091\r
+:10167000089580E008958091E50187FF11C0809171\r
+:10168000E80082FD05C08091E4018111F8CF11C00E\r
+:101690008091E8008B770BC08091E401882349F0AA\r
+:1016A0008091E80080FFF8CF8091E8008E778093EA\r
+:1016B000E80008952091E4003091E50095E640911E\r
+:1016C000EC00842F817040FF22C08091E80080FDF3\r
+:1016D0001CC08091E401882391F0853091F08091C5\r
+:1016E000EB0085FD10C04091E4005091E5004217E9\r
+:1016F000530729F39A01915011F784E0089582E08D\r
+:10170000089583E0089581E0089580E00895409170\r
+:10171000E80042FFDECF08950E94FA0B0E94020CFF\r
+:10172000E0EEF0E0808181608083E8EDF0E0808190\r
+:101730008F77808319BCA7EDB0E08C918E7F8C935E\r
+:1017400080818F7E80831092E30108950F931F9311\r
+:10175000CF93DF930E94FA0B0E94020CC8EDD0E0F9\r
+:1017600088818F77888388818068888388818F7D4E\r
+:10177000888319BC1092E4011092E0011092E201FA\r
+:101780001092E10100EE10E0F80180818B7F8083F0\r
+:1017900088818160888342E060E080E00E94060BDF\r
+:1017A000E1EEF0E080818E7F8083E2EEF0E08081E8\r
+:1017B00081608083808188608083F80180818E7F52\r
+:1017C0008083888180618883DF91CF911F910F9101\r
+:1017D0000895E8EDF0E080818F7E8083E7EDF0E012\r
+:1017E00080818160808384E082BF81E08093E30117\r
+:1017F0000C94A60BE8EDF0E080818E7F8083109240\r
+:10180000E20008951092DA001092E10008951F920C\r
+:101810000F920FB60F9211242F933F934F935F9324\r
+:101820006F937F938F939F93AF93BF93EF93FF93A8\r
+:101830008091E10082FF0BC08091E20082FF07C02F\r
+:101840008091E1008B7F8093E1000E946E0E809179\r
+:10185000DA0080FF1FC08091D80080FF1BC08091FC\r
+:10186000DA008E7F8093DA008091D90080FF0DC06E\r
+:1018700080E189BD82E189BD09B400FEFDCF81E030\r
+:101880008093E4010E94690805C019BC1092E4012C\r
+:101890000E9477088091E10080FF19C08091E200EA\r
+:1018A00080FF15C08091E2008E7F8093E2008091DE\r
+:1018B000E20080618093E2008091D8008062809392\r
+:1018C000D80019BC85E08093E4010E947B088091D8\r
+:1018D000E10084FF30C08091E20084FF2CC080E1F1\r
+:1018E00089BD82E189BD09B400FEFDCF8091D80099\r
+:1018F0008F7D8093D8008091E1008F7E8093E100FE\r
+:101900008091E2008F7E8093E2008091E20081600E\r
+:101910008093E2008091E001882311F084E007C009\r
+:101920008091E30087FD02C081E001C083E08093E5\r
+:10193000E4010E947D088091E10083FF29C080912D\r
+:10194000E20083FF25C08091E100877F8093E10062\r
+:1019500082E08093E4011092E0018091E1008E7FAB\r
+:101960008093E1008091E2008E7F8093E20080917D\r
+:10197000E20080618093E20042E060E080E00E944B\r
+:10198000060B8091F00088608093F0000E947A0836\r
+:10199000FF91EF91BF91AF919F918F917F916F9147\r
+:1019A0005F914F913F912F910F900FBE0F901F901D\r
+:1019B00018951F920F920FB60F9211242F933F93F9\r
+:1019C0004F935F936F937F938F939F93AF93BF9347\r
+:1019D000CF93DF93EF93FF93C091E900CF70809195\r
+:1019E000EC00D82FD17080FDD0E81092E9008091F2\r
+:1019F000F000877F8093F00078940E941D0D109274\r
+:101A0000E9008091F00088608093F000CD2BCF70CA\r
+:101A1000C093E900FF91EF91DF91CF91BF91AF911A\r
+:101A20009F918F917F916F915F914F913F912F91F6\r
+:101A30000F900FBE0F901F9018951F93CF93DF93B9\r
+:101A4000CDB7DEB7AA970FB6F894DEBF0FBECDBFF5\r
+:101A5000E5EEF1E088E08E0F9091F10091938E1306\r
+:101A6000FBCF0E9499088091E80083FF1FC18091FD\r
+:101A7000E5019091E601492F50E04A30510508F008\r
+:101A800015C1FA01EA5AFF4F0C941823803881F0EF\r
+:101A9000823809F00BC18091E9018F708093E900D1\r
+:101AA0008091EB0085FB882780F91092E90006C041\r
+:101AB0008091E1019091E201911182609091E800A2\r
+:101AC000977F9093E8008093F1001092F100C8C0D6\r
+:101AD000282F2D7F09F0EAC0882319F0823061F0A9\r
+:101AE000E5C08091E701813009F0E0C0933009F052\r
+:101AF00080E08093E2012BC08091E701811127C033\r
+:101B00008091E9018F7009F4D1C08093E9002091A0\r
+:101B1000EB0020FF1CC0933021F48091EB00806229\r
+:101B200014C09091EB0090619093EB0021E030E0C5\r
+:101B3000A90102C0440F551F8A95E2F74093EA00BD\r
+:101B40001092EA008091EB0088608093EB00109285\r
+:101B5000E9008091E800877F86C08111A7C01091BD\r
+:101B6000E7011F778091E3008078812B8093E30069\r
+:101B70008091E800877F8093E8000E943B0B809172\r
+:101B8000E80080FFFCCF8091E30080688093E30051\r
+:101B9000111102C082E001C083E08093E40186C09D\r
+:101BA0008058823008F082C08091E7019091E8016E\r
+:101BB0008C3D53E0950779F583E08A838AE2898337\r
+:101BC0004FB7F894DE01139620E03EE051E2E32F98\r
+:101BD000F0E050935700E49120FF03C0E295EF70CE\r
+:101BE0003F5FEF708E2F90E0EA3010F0C79601C093\r
+:101BF000C0968D939D932F5F243149F74FBF8091FD\r
+:101C0000E800877F8093E8006AE270E0CE010196E9\r
+:101C10000E94420A14C0AE014F5F5F4F6091E9011C\r
+:101C20000E948909BC01892B09F440C09091E80009\r
+:101C3000977F9093E80089819A810E94A50A8091FC\r
+:101C4000E8008B778093E80031C0803879F5809187\r
+:101C5000E800877F8093E8008091E0018093F100A5\r
+:101C60008091E8008E778093E8000E943B0B1EC0B5\r
+:101C700081111CC09091E7019230C0F48091E8007E\r
+:101C8000877F8093E8009093E0010E943B0B809156\r
+:101C9000E001811106C08091E30087FD02C081E070\r
+:101CA00001C084E08093E4010E9485088091E800EF\r
+:101CB00083FF0AC08091E800877F8093E8008091CD\r
+:101CC000EB0080628093EB00AA960FB6F894DEBF1B\r
+:101CD0000FBECDBFDF91CF911F9108950895CF938F\r
+:101CE0008091E4018823A1F0C091E900CF70909128\r
+:101CF000EC00892F817090FD80E8C82B1092E900DC\r
+:101D00008091E80083FD0E941D0DCF70C093E90013\r
+:101D1000CF91089590936901809368010895E091AF\r
+:101D20006801F0916901309721F00190F081E02D78\r
+:101D3000099480E00895E0916801F091690130977D\r
+:101D400021F00280F381E02D09940895E09168016B\r
+:101D5000F0916901309721F00480F581E02D09941C\r
+:101D6000089520916601309167018217930771F001\r
+:101D70009093670180936601E0916801F091690199\r
+:101D8000309721F00680F781E02D09940895209185\r
+:101D90006401309165018217930771F0909365019A\r
+:101DA00080936401E0916801F0916901309721F01E\r
+:101DB0000084F185E02D0994089508950C94DD0EBA\r
+:101DC0000E94F31A0E94A0030C94B91BCF92DF92D9\r
+:101DD000EF92FF920F931F93CF93DF93CDB7DEB7B0\r
+:101DE0002B970FB6F894DEBF0FBECDBF0E94B8038D\r
+:101DF0008BE6C82E81E0D82E00E010E0E02E802F88\r
+:101E00000E94A604F60141916F01F42EF826B1F468\r
+:101E10000F5F1F4F0E30110589F78FEF89838A837B\r
+:101E20001B820E94FC1A8160782F9D838C834981DC\r
+:101E30005A816B818D810E94890F40C09091CD01A4\r
+:101E400091FF04C08B870E94AC048B8520E030E0BA\r
+:101E50004F2D50E0922FBA01022E02C07595679562\r
+:101E60000A94E2F760FF24C02E83EF8221E030E085\r
+:101E7000690102C0CC0CDD1C9A95E2F790E08C2140\r
+:101E80009D21892B09F420E028870E94FC1A81609B\r
+:101E9000782F9A8789874E815F8168858A850E941D\r
+:101EA000890FF801E559FE4F8081C826C08206C01F\r
+:101EB0002F5F3F4F2630310569F6AACF0E94A01E42\r
+:101EC00010916A010E948F0E1817A1F00E948F0EC8\r
+:101ED00080936A012B960FB6F894DEBF0FBECDBF7C\r
+:101EE000DF91CF911F910F91FF90EF90DF90CF90F6\r
+:101EF0000C9488072B960FB6F894DEBF0FBECDBFAB\r
+:101F0000DF91CF911F910F91FF90EF90DF90CF90D5\r
+:101F10000895CF93DF93CDB7DEB72B970FB6F89424\r
+:101F2000DEBF0FBECDBF4F83588769877A878B8707\r
+:101F3000DE01119686E0FD0111928A95E9F785E0B0\r
+:101F4000FE01379601900D928A95E1F749815A81F9\r
+:101F50006B817C818D819E810E94B9162B960FB674\r
+:101F6000F894DEBF0FBECDBFDF91CF9108950895E5\r
+:101F7000CF93882309F4C2C0C82F823859F40E9435\r
+:101F80008F0E81FDBBC089E30E9462190E942F1A47\r
+:101F900089E30CC0833879F40E948F0E80FDAEC0B7\r
+:101FA00083E50E9462190E942F1A83E50E94A419FA\r
+:101FB000CF910C942F1A843859F40E948F0E82FD11\r
+:101FC0009DC087E40E9462190E942F1A87E4EECF19\r
+:101FD0008CEF8C0F813A48F48C2F0E94E320811102\r
+:101FE0008DC08C2F0E946219E3CF80E28C0F883065\r
+:101FF00048F4C77081E001C0880FCA95EAF70E94D3\r
+:10200000E819D6CF8BE58C0F833078F4C53A29F0E8\r
+:10201000C63A31F083E890E005C081E890E002C064\r
+:1020200082E890E0CF910C94B10E88E58C0F83315B\r
+:1020300008F064C0C83A39F1C93A41F1CA3A49F1E5\r
+:10204000CB3A51F1CC3A59F1CD3A61F1C03B69F14B\r
+:10205000CE3A71F1CF3A79F1C13B81F1C23B89F1BE\r
+:10206000C33B91F1C43B99F1C53BA1F1C63BA9F13A\r
+:10207000C73BB1F1C83BB9F1C93BC1F1CA3BC9F19A\r
+:1020800080E090E038C082EE90E035C089EE90E0CC\r
+:1020900032C08AEE90E02FC085EB90E02CC086EB3A\r
+:1020A00090E029C087EB90E026C08CEC90E023C044\r
+:1020B0008DEC90E020C083E891E01DC08AE891E0BB\r
+:1020C0001AC082E991E017C084E991E014C081E26E\r
+:1020D00092E011C083E292E00EC084E292E00BC075\r
+:1020E00085E292E008C086E292E005C087E292E0D5\r
+:1020F00002C08AE292E0CF910C94C70ECF9108956E\r
+:10210000882309F44BC0823859F40E948F0E81FF56\r
+:1021100045C089E30E9462190E942F1A89E30CC00E\r
+:10212000833871F40E948F0E80FF38C083E50E94CF\r
+:1021300062190E942F1A83E50E94A4190C942F1A89\r
+:10214000843859F40E948F0E82FF28C087E40E94D1\r
+:1021500062190E942F1A87E4EFCF9CEF980F913AF3\r
+:1021600058F390E2980F983050F4877091E001C0D6\r
+:10217000990F8A95EAF7892F0E94EE19DFCF9BE528\r
+:10218000980F933020F480E090E00C94B10E885AC0\r
+:10219000833120F480E090E00C94C70E08958823EA\r
+:1021A00021F00E94E8190C942F1A0895882321F039\r
+:1021B0000E94EE190C942F1A0895BF92CF92DF92CD\r
+:1021C000EF92FF920F931F93CF93DF9300D000D035\r
+:1021D00000D0CDB7DEB725E0FC01DE0111960190FD\r
+:1021E0000D922A95E1F7FC01D080118102812581B1\r
+:1021F00022952F7043815481452B09F4FCC21F3F67\r
+:1022000021F4FFEFDF1609F4F6C27C012E830E9451\r
+:10221000B70FD9821A8369817A81802F0E945E1953\r
+:10222000182FB92E0E9413190E94DA172E8100234D\r
+:1022300019F00E94051A2E81EB2DE295EF70F0E067\r
+:10224000E05AFF4F0C9418238B2D807F9B2D9F709D\r
+:10225000F92E882319F0F29480EFF822002389F0F8\r
+:10226000FF2009F475C280E2810F883020F48F2DA1\r
+:102270000E94E81903C08F2D0E94F8190E942F1A9E\r
+:1022800067C2812F0E948010FF2009F4B4C2105E43\r
+:102290008F2D183018F40E94EE1902C00E94FE190A\r
+:1022A00026960FB6F894DEBF0FBECDBFDF91CF915B\r
+:1022B0001F910F91FF90EF90DF90CF90BF900C9403\r
+:1022C0002F1A3B2D307F8B2D8F70303211F082957D\r
+:1022D000807F112319F0113021F12CC00023B9F0B7\r
+:1022E000222309F4A0C1213009F09DC126960FB622\r
+:1022F000F894DEBF0FBECDBFDF91CF911F910F913C\r
+:10230000FF90EF90DF90CF90BF900C94181A22238B\r
+:1023100019F0213009F46FC28E830E941B1A8E813E\r
+:1023200096C1002321F0223008F065C27CC1211142\r
+:1023300062C28DC1002321F0222309F474C108C2B6\r
+:10234000222309F484C119C22B2D269526952370CA\r
+:1023500030E02115310521F021303105D1F04BC29B\r
+:10236000002321F0812F9B2D937002C080E090E02C\r
+:1023700026960FB6F894DEBF0FBECDBFDF91CF918A\r
+:102380001F910F91FF90EF90DF90CF90BF900C9432\r
+:10239000B10E002321F0812F9B2D937002C080E0AD\r
+:1023A00090E026960FB6F894DEBF0FBECDBFDF914A\r
+:1023B000CF911F910F91FF90EF90DF90CF90BF9042\r
+:1023C0000C94C70E812F002319F00E94A81D02C093\r
+:1023D0000E94101E26960FB6F894DEBF0FBECDBF2A\r
+:1023E000DF91CF911F910F91FF90EF90DF90CF90F1\r
+:1023F000BF900C94951E8B2D837009F07BC001114A\r
+:10240000FAC1812F829586958770880F880F912F4A\r
+:102410009F70C92ED12CE12CF12C082E04C0CC0CBD\r
+:10242000DD1CEE1CFF1C0A94D2F714FF12C04FE013\r
+:1024300050E060E070E004C0440F551F661F771F36\r
+:102440008A95D2F7CB01BA016095709580959095E9\r
+:1024500003C060E070E0CB012B2D269526952370FC\r
+:10246000422F50E042305105D9F04330510569F117\r
+:102470006C297D298E299F294130510551F12696DD\r
+:102480000FB6F894DEBF0FBECDBFDF91CF911F9185\r
+:102490000F91FF90EF90DF90CF90BF900C940118B8\r
+:1024A0006C297D298E299F2926960FB6F894DEBFC8\r
+:1024B0000FBECDBFDF91CF911F910F91FF90EF9095\r
+:1024C000DF90CF90BF900C941D180E940118C70197\r
+:1024D000B60126960FB6F894DEBF0FBECDBFDF91D2\r
+:1024E000CF911F910F91FF90EF90DF90CF90BF9011\r
+:1024F0000C94E517002319F08B2D817001C086958F\r
+:10250000882309F478C1812F829586958770880F7A\r
+:10251000880F912F9F70C92ED12CE12CF12C082E01\r
+:1025200004C0CC0CDD1CEE1CFF1C0A94D2F714FF77\r
+:1025300012C04FE050E060E070E004C0440F551F4F\r
+:10254000661F771F8A95D2F7CB01BA016095709507\r
+:102550008095909503C060E070E0CB012B2D26950F\r
+:1025600026952370422F50E042305105D9F0433078\r
+:10257000510569F16C297D298E299F29413051052A\r
+:1025800051F126960FB6F894DEBF0FBECDBFDF9196\r
+:10259000CF911F910F91FF90EF90DF90CF90BF9060\r
+:1025A0000C94DB186C297D298E299F2926960FB65D\r
+:1025B000F894DEBF0FBECDBFDF91CF911F910F9179\r
+:1025C000FF90EF90DF90CF90BF900C94F7180E948F\r
+:1025D000DB18C701B60126960FB6F894DEBF0FBE12\r
+:1025E000CDBFDF91CF911F910F91FF90EF90DF90C2\r
+:1025F000CF90BF900C94BF18103FD1F118F4103E4B\r
+:1026000050F4A1C0123F09F463C008F44CC0133F5A\r
+:1026100009F473C098C01F708B2D8F710023A1F037\r
+:102620000E945818812F26960FB6F894DEBF0FBE71\r
+:10263000CDBFDF91CF911F910F91FF90EF90DF9071\r
+:10264000CF90BF900C94CF100E947918812F2696BE\r
+:102650000FB6F894DEBF0FBECDBFDF91CF911F91B3\r
+:102660000F91FF90EF90DF90CF90BF900C94D61019\r
+:102670000023A9F02111BFC08B2D8F7126960FB6B4\r
+:10268000F894DEBF0FBECDBFDF91CF911F910F91A8\r
+:10269000FF90EF90DF90CF90BF900C949E18223067\r
+:1026A00008F0A9C0E9CF0023A9F08B2D8F712696E1\r
+:1026B0000FB6F894DEBF0FBECDBFDF91CF911F9153\r
+:1026C0000F91FF90EF90DF90CF90BF900C9458182F\r
+:1026D000002359F38B2D8F7126960FB6F894DEBF29\r
+:1026E0000FBECDBFDF91CF911F910F91FF90EF9063\r
+:1026F000DF90CF90BF900C947918002399F08B2D28\r
+:102700008F7126960FB6F894DEBF0FBECDBFDF9156\r
+:10271000CF911F910F91FF90EF90DF90CF90BF90DE\r
+:102720000C94431826960FB6F894DEBF0FBECDBFAB\r
+:10273000DF91CF911F910F91FF90EF90DF90CF909D\r
+:10274000BF900C9439180023A9F0222309F4ADCFCF\r
+:10275000812F26960FB6F894DEBF0FBECDBFDF9156\r
+:10276000CF911F910F91FF90EF90DF90CF90BF908E\r
+:102770000C94B80F222309F4ADCF812F26960FB603\r
+:10278000F894DEBF0FBECDBFDF91CF911F910F91A7\r
+:10279000FF90EF90DF90CF90BF900C9480104B2D66\r
+:1027A0004F70612FC7010E94550226960FB6F8940C\r
+:1027B000DEBF0FBECDBFDF91CF911F910F91FF9074\r
+:1027C000EF90DF90CF90BF900C945D174B2D4F7022\r
+:1027D000612FC70126960FB6F894DEBF0FBECDBF9E\r
+:1027E000DF91CF911F910F91FF90EF90DF90CF90ED\r
+:1027F000BF900C94AD0426960FB6F894DEBF0FBEC2\r
+:10280000CDBFDF91CF911F910F91FF90EF90DF909F\r
+:10281000CF90BF9008950E94051A0E94151A0E9439\r
+:10282000DA190E942F1A0E94461F0E94951E80E00E\r
+:1028300090E00E94B10E80E090E00C94C70E0E94E0\r
+:10284000F5190C940B140E945319292F22952F70FF\r
+:1028500030E02C3031054CF42A3031056CF4225034\r
+:1028600031092230310588F407C02C30310549F098\r
+:102870002F30310531F009C0803E48F0803F29F407\r
+:1028800006C093FB882780F9089580E0089581E0D1\r
+:102890000895CF93DF9300D000D01F92CDB7DEB75D\r
+:1028A0000F900F900F900F900F90DF91CF910895A0\r
+:1028B000CF93DF9300D000D000D0CDB7DEB72696FF\r
+:1028C0000FB6F894DEBF0FBECDBFDF91CF91089554\r
+:1028D0001F93CF93DF93C091790116E080917A0125\r
+:1028E000C81799F0D0E01C9FF0011D9FF00D112436\r
+:1028F000E558FE4F408151816281738184819581C9\r
+:102900000E9458142196C770E9CFDF91CF911F9193\r
+:1029100008954091AB015091AC016091AD0170916F\r
+:10292000AE018091AF019091B0010C945814809148\r
+:10293000B00182958F7009F054C08091AD01882359\r
+:1029400009F44FC080917901A0917A016091AB01A7\r
+:102950007091AC014091AE015091AF01B6E08A1781\r
+:1029600009F43FC090E041155105C1F17F3F11F4DA\r
+:102970006F3FA1F1B89FF001B99FF00D1124E55808\r
+:10298000FE4F218172132AC02081621327C0228149\r
+:10299000211124C0238134812417350710F42150DC\r
+:1029A0003109241B350B283C3105C0F42091B001BE\r
+:1029B0002F7020612093B00126E0289FF001299F0D\r
+:1029C000F00D1124E058FE4F80818F70806180836C\r
+:1029D0008BEA91E00E94DD100C94681401968770D8\r
+:1029E000BECF0895CF92DF92EF92FF920F931F9385\r
+:1029F000CF93DF93CDB7DEB762970FB6F894DEBF03\r
+:102A00000FBECDBF8C0185E0F801DE011D9601905F\r
+:102A10000D928A95E1F7D8014C9111965C9111972E\r
+:102A200012966C9112971396CD90DC90149730917A\r
+:102A3000AB017091AC018091AE019091AF01009714\r
+:102A400009F46BC17F3F19F43F3F09F466C1E09080\r
+:102A5000AD01EE2009F4C0C02091B001C816D9061E\r
+:102A600028F0F601E81BF90BCF0104C08095909582\r
+:102A70008C0D9D1DFF24F394883C910578F0F12C7A\r
+:102A8000207F09F0C6C07C2DD98AC88A89890E9416\r
+:102A900049148BEA91E00E94DD10B1C0822F807F43\r
+:102AA00009F046C0751314C0341312C0611110C070\r
+:102AB0002F7020612093B0010E9489148BEA91E06D\r
+:102AC0000E94DD108091B001D80115968C932EC024\r
+:102AD000CD2819F15F3F11F44F3FF9F0F62E611147\r
+:102AE0001CC08091790120917A0136E0821709F4A7\r
+:102AF0005AC090E0389FF001399FF00D1124E5583D\r
+:102B0000FE4F7181571306C07081471303C0728155\r
+:102B1000711103C001968770E9CFF62E662309F480\r
+:102B200018C18091B00181608093B001F12C11C176\r
+:102B3000751308C0341306C0611104C08091B00140\r
+:102B4000D801C3C04D875E878D859E856A8B0E94A4\r
+:102B500023146A898823E1F16623D1F12091B00121\r
+:102B6000822F82958F7090E0029774F08091AB0174\r
+:102B70009091AC0198878F831986DB86CA862C8753\r
+:102B8000CE0107960E94DD1086E0F801ABEAB1E0C5\r
+:102B900001900D928A95E1F70E9497140E94891482\r
+:102BA000FF24F394D6C04D875E878D859E850E9455\r
+:102BB0005319292F22952F7030E0223031050CF067\r
+:102BC000BCC09F7009F0B6C0805E883008F4C1C0F8\r
+:102BD000C8010E94DD10E4CFC816D90608F453C01E\r
+:102BE000F601E81BF90BCF01883C910508F450C0B1\r
+:102BF000F12C7C2DD98AC88A89890E944914EBEA74\r
+:102C0000F1E086E0DF011D928A95E9F70E948914C0\r
+:102C1000A0C0751314C0341312C0611110C080918C\r
+:102C2000B001F8018583C8010E94DD1086E0EBEA5F\r
+:102C3000F1E0DF011D928A95E9F7FE2C8AC04D87ED\r
+:102C40005E878D859E856A8B0E9423146A898823FE\r
+:102C500009F4BECF662309F4BBCF2091B001822FC7\r
+:102C600082958F7090E002970CF48ECF8091AB012B\r
+:102C70009091AC019A8389831B82DD82CC822E8362\r
+:102C8000CE0101967FCF809590958C0D9D1DACCF88\r
+:102C9000F62E662309F49CCF75132EC034132CC076\r
+:102CA0002091B00120FD1FC0822F82958F70D9F036\r
+:102CB000D80115962C9315978F3049F08F5F982F78\r
+:102CC0009295907F822F8F70892B15968C93C801D7\r
+:102CD0000E94DD1086E0F801ABEAB1E001900D92B0\r
+:102CE0008A95E1F793CF86E0F801ABEAB1E0019075\r
+:102CF0000D928A95E1F72DC04D875E878D859E8563\r
+:102D00000E942314811140CF8091B0018160809393\r
+:102D1000B001C8010E94DD101CC0662309F458CF21\r
+:102D20004D875E878D859E850E942314882309F434\r
+:102D30004FCF2ACF811148CF0CC0243031050CF081\r
+:102D400047CF9F7009F440CFF8019581907F09F03B\r
+:102D50003BCF8F2D62960FB6F894DEBF0FBECDBF6E\r
+:102D6000DF91CF911F910F91FF90EF90DF90CF9067\r
+:102D700008951F93CF93DF93CDB7DEB72C970FB68F\r
+:102D8000F894DEBF0FBECDBF4F83588769877A871F\r
+:102D90008B879C87CE0107960E94F214882369F0E6\r
+:102DA0008F8198852A853B85232BF1F19F3F09F080\r
+:102DB00063C08F3F09F060C037C086E0FE013796E0\r
+:102DC000DE01119601900D928A95E1F76F81788569\r
+:102DD000EA85FB85309741F17F3F11F46F3F21F188\r
+:102DE00020917A0130E0C9010196877099274091BE\r
+:102DF000790150E08417950709F447C069837A8305\r
+:102E0000FD83EC8396E0929FD001939FB00D112437\r
+:102E1000A558BE4FFE01319601900D929A95E1F7AB\r
+:102E200080937A010E94681416E080917901909154\r
+:102E30007A018917C1F1189FC001112485589E4F4E\r
+:102E40000E94F214882379F1E09179011E9FF0012C\r
+:102E50001124E558FE4F4081518162817381848144\r
+:102E600095810E9458148091790190E001968770B5\r
+:102E7000992780937901D9CF4F81588569857A85C3\r
+:102E80008B859C850E945814CFCF0E941F141092EE\r
+:102E90007A0110927901EBEAF1E086E0DF011D9200\r
+:102EA0008A95E9F7C1CF2C960FB6F894DEBF0FBE16\r
+:102EB000CDBFDF91CF911F910895EF92FF920F93B5\r
+:102EC0001F93CF93DF938C01892B09F46CC0F12CF5\r
+:102ED000EE24E394E8012196F8018491843740F4CC\r
+:102EE000843008F051C0813081F0823019F15BC02C\r
+:102EF000853709F444C0A8F19CE7980F903708F093\r
+:102F000052C08F770E94801041C00E5F1F4FFE019C\r
+:102F1000C49180E28C0F883048F4C7708E2D01C0B8\r
+:102F2000880FCA95EAF70E94081A14C08C2F0E94D5\r
+:102F3000B80F2DC00E5F1F4FFE01C49180E28C0FB1\r
+:102F4000883058F4C7708E2D01C0880FCA95EAF7F3\r
+:102F50000E940E1A0E942F1A1AC08C2F0E948010F5\r
+:102F600016C00E5F1F4FFE01C491CC2381F08FE984\r
+:102F70009FE00197F1F700C00000C150F6CF0E5F4F\r
+:102F80001F4FFE01F49003C00E94B80F8E018F2DD9\r
+:102F9000882309F49FCFEFE9FFE03197F1F700C0F4\r
+:102FA00000008150F5CFDF91CF911F910F91FF90DD\r
+:102FB000EF90089508956093B5017093B6018093E2\r
+:102FC000B7019093B8010C940B140F931F930091C9\r
+:102FD000B5011091B6012091B7013091B801DC0123\r
+:102FE000CB01802B912BA22BB32B8093B501909317\r
+:102FF000B601A093B701B093B8011F910F910C9443\r
+:103000000B140F931F930091B5011091B6012091FD\r
+:10301000B7013091B801DC01CB0180239123A223B9\r
+:10302000B3238093B5019093B601A093B701B093F9\r
+:10303000B8011F910F910C940B140F931F930091E3\r
+:10304000B5011091B6012091B7013091B801DC01B2\r
+:10305000CB0180279127A227B3278093B5019093B6\r
+:10306000B601A093B701B093B8011F910F910C94D2\r
+:103070000B141092B1011092B2011092B301109290\r
+:10308000B4010C940B1441E050E060E070E004C027\r
+:10309000440F551F661F771F8A95D2F74093B101E1\r
+:1030A0005093B2016093B3017093B4010C940B146C\r
+:1030B00041E050E060E070E004C0440F551F661F1F\r
+:1030C000771F8A95D2F78091B1019091B201A091BA\r
+:1030D000B301B091B401482B592B6A2B7B2B409341\r
+:1030E000B1015093B2016093B3017093B4010C9499\r
+:1030F0000B1441E050E060E070E004C0440F551F45\r
+:10310000661F771F8A95D2F7409550956095709508\r
+:103110008091B1019091B201A091B301B091B4013D\r
+:10312000482359236A237B234093B1015093B20172\r
+:103130006093B3017093B4010C940B1441E050E020\r
+:1031400060E070E004C0440F551F661F771F8A952A\r
+:10315000D2F78091B1019091B201A091B301B091E9\r
+:10316000B401482759276A277B274093B101509320\r
+:10317000B2016093B3017093B4010C940B140F93DC\r
+:103180001F930091B1011091B2012091B3013091D0\r
+:10319000B401DC01CB01802B912BA22BB32B8093AC\r
+:1031A000B1019093B201A093B301B093B4011F9108\r
+:1031B0000F910C940B140F931F930091B101109178\r
+:1031C000B2012091B3013091B401DC01CB01802325\r
+:1031D0009123A223B3238093B1019093B201A093D2\r
+:1031E000B301B093B4011F910F910C940B140F9382\r
+:1031F0001F930091B1011091B2012091B301309160\r
+:10320000B401DC01CB0180279127A227B32780934B\r
+:10321000B1019093B201A093B301B093B4011F9197\r
+:103220000F910C940B140895CF92DF92EF92FF92BE\r
+:103230000F931F93CF93DF938C01C090B501D09073\r
+:10324000B601E090B701F090B8018091B101909182\r
+:10325000B201A091B301B091B401C82AD92AEA2AD7\r
+:10326000FB2ACFE1D0E0D701C6010C2E04C0B695F1\r
+:10327000A795979587950A94D2F780FF06C0B80165\r
+:103280008C2F0E94ED06019721F4219760F780E0D2\r
+:1032900001C08C2FDF91CF911F910F91FF90EF9084\r
+:1032A000DF90CF900895CF93DF93EC010E94141923\r
+:1032B000BE010E94ED06DF91CF910895CB010E94DF\r
+:1032C0005319089590910C01992321F090910D01CB\r
+:1032D000911109C020910E0130910F01F901329630\r
+:1032E0009FEF40E01FC0982F9695969596959F303A\r
+:1032F00050F5E0910E01F0910F01E90FF11D87707B\r
+:1033000021E030E0A90102C0440F551F8A95E2F781\r
+:10331000CA019181892B818308959F3F39F04F5FC6\r
+:103320004E3041F051915813F8CF0DC05111F7CFE5\r
+:10333000942FF5CF9F3F39F0F901E90FF11D97FD6B\r
+:10334000FA9582830895089590910C01992321F0B4\r
+:1033500090910D01911109C020910E0130910F0142\r
+:10336000F9013296205F3F4F1FC0982F9695969592\r
+:1033700096959F30F0F4E0910E01F0910F01E90F66\r
+:10338000F11D877021E030E0A90102C0440F551FF4\r
+:103390008A95E2F7CA0180959181892381830895F6\r
+:1033A0003196E217F30729F090819813F9CF108234\r
+:1033B000F7CF089581E090E0E0910E01F0910F01C8\r
+:1033C000E80FF91F1082019680319105A9F7089541\r
+:1033D0009091CC01892B8093CC0108958095909198\r
+:1033E000CC0189238093CC0108951092CC010895DB\r
+:1033F0009091CB01892B8093CB010895809590917A\r
+:10340000CB0189238093CB0108951092CB010895BD\r
+:103410009091CA01892B8093CA010895809590915B\r
+:10342000CA0189238093CA0108951092CA010895A0\r
+:103430008093B90108951092B901089580910E0109\r
+:1034400090910F01FC0131969C01205F3F4F80E07D\r
+:10345000919191118F5FE217F307D1F70895E091F1\r
+:103460000E01F0910F018091CC018083E0910E015B\r
+:10347000F0910F0190818091CB01892B8083E091A5\r
+:103480000E01F0910F0190818091CA01892B8083F8\r
+:103490008091B901882361F0E0910E01F0910F0154\r
+:1034A0009081892B80830E941E1A81111092B9018C\r
+:1034B00080910E0190910F010C949B0ECF92DF92A0\r
+:1034C000EF92FF926C01EE24FF24C114D104E104B9\r
+:1034D000F10421F0C701B60120E101C020E0C72EB0\r
+:1034E000D82EE92EFF24C114D104E104F10419F00F\r
+:1034F000285FC701B6016B017C0154E0F694E794A4\r
+:10350000D794C7945A95D1F7C114D104E104F104BA\r
+:1035100019F02C5FC701B6016B017C0142E0F69403\r
+:10352000E794D794C7944A95D1F7C114D104E10424\r
+:10353000F10419F02E5FC701B601DC01CB01B6958D\r
+:10354000A79597958795892B8A2B8B2B09F02F5F51\r
+:10355000822FFF90EF90DF90CF9008958091E4014B\r
+:10356000843021F11092CE0120E488E190E00FB682\r
+:10357000F894A895809360000FBE2093600080E0CF\r
+:103580000E94880783B7817F846083BF83B781608F\r
+:1035900083BF7894889583B78E7F83BF88E10FB609\r
+:1035A000F89480936000109260000FBE0895089513\r
+:1035B0000895CF930E94D71A0E94B8030E94D81A88\r
+:1035C000C0E08C2F0E94A604811104C0CF5FCE30D2\r
+:1035D000C1F701C081E0CF9108950E941F140E949D\r
+:1035E0008F0E0C94880782E084BD93E095BD9AEF1E\r
+:1035F00097BD80936E0008952FB7F8948091CF0106\r
+:103600009091D001A091D101B091D2012FBF089526\r
+:10361000CF92DF92EF92FF920F931F932FB7F89400\r
+:103620004091CF015091D0016091D1017091D201B0\r
+:103630002FBF6A017B01EE24FF248C0120E030E0E3\r
+:10364000C016D106E206F30610F4415051099A0162\r
+:10365000281B390BC9011F910F91FF90EF90DF904C\r
+:10366000CF9008951F920F920FB60F9211248F934F\r
+:103670009F93AF93BF938091CF019091D001A09180\r
+:10368000D101B091D2010196A11DB11D8093CF014E\r
+:103690009093D001A093D101B093D201BF91AF918B\r
+:1036A0009F918F910F900FBE0F901F9018950E94C1\r
+:1036B0008C0BF8942FEF87EA91E6215080409040E0\r
+:1036C000E1F700C0000087E090EBDC018093EE01A1\r
+:1036D0009093EF01A093F001B093F1019CE088E199\r
+:1036E0000FB6F894A895809360000FBE9093600089\r
+:1036F000FFCFEF92FF920F931F93CF93DF93D82FBB\r
+:10370000C0E08C2F0E94A60400E010E0E82EF12C0F\r
+:10371000C701002E02C0959587950A94E2F780FDB7\r
+:1037200006C00F5F1F4F0630110591F709C0602FCB\r
+:103730007C2F80E00E94AE04D813F3CF81E004C058\r
+:10374000CF5FCE30F1F680E0DF91CF911F910F91E6\r
+:10375000FF90EF900895CF93C82F8CE20E94791BC1\r
+:10376000882321F08C2FCF910C94791B80E0CF918E\r
+:103770000895CF930E94001D811102C00E94E61C93\r
+:10378000C5E6C15049F00E94B8038FE39CE9019758\r
+:10379000F1F700C00000F5CF89E20E94AB1B811158\r
+:1037A00013C18AE20E94AB1B81110E94E61C85E0D6\r
+:1037B0000E94AB1B81110E94571B0E940B1D80931E\r
+:1037C000CD0187E00E94AB1B8823A9F18BE10E9409\r
+:1037D000AB1B882351F08091CD0181FB222720F97A\r
+:1037E00091E0922790FB81F90EC08EE00E94AB1B06\r
+:1037F000882361F08091CD0182FB222720F991E09E\r
+:10380000922790FB82F98093CD0115C080E10E9440\r
+:10381000AB1B9091CD01882341F093FB222720F927\r
+:1038200081E0822780FB93F904C0892F809580FB7B\r
+:1038300090F99093CD018091CD010E940F1D0E94BF\r
+:103840001D1D8093ED0180EE0E94AB1B882341F08B\r
+:103850008091ED01982F909590FB80F98093ED0178\r
+:1038600089E30E94AB1B882359F08091ED0181FB15\r
+:10387000222720F991E0922790FB81F98093ED01B6\r
+:1038800082EE0E94AB1B882359F08091ED0182FBF0\r
+:10389000222720F991E0922790FB82F98093ED0195\r
+:1038A00086EE0E94AB1B882359F08091ED0183FBCB\r
+:1038B000222720F991E0922790FB83F98093ED0174\r
+:1038C00083EE0E94AB1B882359F08091ED0184FBAD\r
+:1038D000222720F991E0922790FB84F98093ED0153\r
+:1038E00085E30E94AB1B882359F08091ED0185FB95\r
+:1038F000222720F991E0922790FB85F98093ED0132\r
+:1039000081E30E94AB1B882359F08091ED0186FB77\r
+:10391000222720F991E0922790FB86F98093ED0110\r
+:1039200081E10E94AB1B882359F08091ED0187FB58\r
+:10393000222720F991E0922790FB87F98093ED01EF\r
+:103940008091ED010E94211D8091ED0187FB882768\r
+:1039500080F980930D0187E20E94AB1BC82F8EE196\r
+:103960000E94AB1B8111C2608FE10E94AB1B8111D1\r
+:10397000C46080E20E94AB1B8111C86081E20E949A\r
+:10398000AB1B8111C06182E20E94AB1B8111C0623E\r
+:1039900083E20E94AB1B8111C06484E20E94AB1BD6\r
+:1039A000882311F0C06802C0CC2329F08C2F0E941C\r
+:1039B000181D6C2F03C00E94141D682F70E080E05A\r
+:1039C00090E0CF910C94DB17CF9108956DEE7EEFD0\r
+:1039D00080E090E00E94522360E082E090E00E944C\r
+:1039E000402360E083E090E00E94402360E084E0B8\r
+:1039F00090E00E94402360E085E090E00C9440233A\r
+:103A000080E090E00E943A2321E08D3E9E4F09F035\r
+:103A100020E0822F089582E090E00C943223682FFA\r
+:103A200082E090E00C94402383E090E00C943223F9\r
+:103A3000682F83E090E00C94402384E090E00C94A5\r
+:103A40003223682F84E090E00C9440238091D501CC\r
+:103A500080FF0BC06091130185E0689FB0011124C5\r
+:103A600075956795759567952BC081FF09C0609125\r
+:103A7000130185E0689FB00111247595679520C0FA\r
+:103A800082FF07C06091130185E0689FB001112497\r
+:103A900017C09091D6019923D1F060911201961729\r
+:103AA00088F72091130185E0289F90011124929FAF\r
+:103AB000A001939F500D112470E0CA010E940423BD\r
+:103AC0006038710540F46115710539F002C065E098\r
+:103AD00070E0862F08958FE7089581E00895809122\r
+:103AE000D50180FF08C06091110170E07595679560\r
+:103AF0007595679521C081FF06C06091110170E046\r
+:103B00007595679519C082FF04C06091110170E03E\r
+:103B100010C09091D6019923C1F0609110019617C1\r
+:103B2000A0F780911101899FC001112470E00E94CB\r
+:103B300004236038710528F46115710521F0862F82\r
+:103B400008958FE7089581E0089561E070E0F4CF73\r
+:103B5000803F21F40E94261D819504C0813F29F4F5\r
+:103B60000E94261D8093D9010895823F21F40E946E\r
+:103B7000261D819504C0833F29F40E94261D809351\r
+:103B8000D8010895893F19F40E946F1D05C08A3F2E\r
+:103B900031F40E946F1D81958093DA0108958B3F67\r
+:103BA00021F40E946F1D819504C08C3F29F40E946E\r
+:103BB0006F1D8093DB010895843F21F48091D7012C\r
+:103BC000816017C0853F21F48091D701826011C0C8\r
+:103BD000863F21F48091D70184600BC0873F21F498\r
+:103BE0008091D701886005C0883F31F48091D7016A\r
+:103BF00080618093D70108958D3F21F48091D50194\r
+:103C000081600BC08E3F21F48091D501826005C098\r
+:103C10008F3F29F48091D50184608093D501089568\r
+:103C2000803F39F48091D90187FF6CC01092D9018F\r
+:103C300069C0813F29F48091D9011816BCF362C094\r
+:103C40009091D801823F29F497FF5CC01092D8016F\r
+:103C500059C0833F19F41916CCF354C0893F41F47D\r
+:103C60008091DA0118160CF04DC01092DA014AC0AA\r
+:103C70008A3F29F48091DA0187FF44C0F6CF8B3F59\r
+:103C800039F48091DB0187FF3DC01092DB013AC01F\r
+:103C90008C3F29F48091DB011816BCF333C0843FBC\r
+:103CA00021F48091D7018E7F17C0853F21F4809148\r
+:103CB000D7018D7F11C0863F21F48091D7018B7F82\r
+:103CC0000BC0873F21F48091D701877F05C0883FD3\r
+:103CD00031F48091D7018F7E8093D70113C08D3F3F\r
+:103CE00021F48091D5018E7F0BC08E3F21F480910D\r
+:103CF000D5018D7F05C08F3F29F48091D5018B7F41\r
+:103D00008093D5018091D80181110EC08091D90195\r
+:103D100081110AC08091DA01811106C08091DB0116\r
+:103D2000811102C01092D601089587ED91E00E94A2\r
+:103D3000A60E0E94FC1A9093D4018093D30108959B\r
+:103D40001F93CF93DF938091D3019091D4010E9470\r
+:103D5000081BAC019091D601992321F02091140108\r
+:103D600030E006C0209115018AE0289F90011124BF\r
+:103D70004217530708F486C08091D801C091D90139\r
+:103D8000D091DA011091DB01811107C0C11176C019\r
+:103D9000D11174C0111172C075C09F3F19F09F5F9F\r
+:103DA0009093D601181624F40E94261D8093D80102\r
+:103DB0008091D80187FF05C00E94261D81958093C0\r
+:103DC000D8011C1624F40E94261D8093D9018091ED\r
+:103DD000D90187FF05C00E94261D81958093D901D6\r
+:103DE0006091D801662339F1C091D901CC2319F132\r
+:103DF000772767FD7095872F972F0E94152223E361\r
+:103E000033E343E35FE30E9479220E94E22160935F\r
+:103E1000D8016C2F772767FD7095872F972F0E9409\r
+:103E2000152223E333E343E35FE30E9479220E94F8\r
+:103E3000E2216093D9011D1624F40E946F1D809326\r
+:103E4000DA018091DA0187FF05C00E946F1D81951C\r
+:103E50008093DA01111624F40E946F1D8093DB0118\r
+:103E60008091DB0187FF05C00E946F1D81958093C3\r
+:103E7000DB01DF91CF911F910C94951E9F3F09F0BC\r
+:103E80008ECF96CFDF91CF911F910895E7EDF1E0AE\r
+:103E900085E0DF011D928A95E9F71092D601109214\r
+:103EA000D5010895833081F128F4813059F08230B2\r
+:103EB000D1F00895853009F449C0B8F1863009F48D\r
+:103EC00056C0089580911501262F30E0280F311D2E\r
+:103ED0002F3F310524F4680F6093150108958FEF8B\r
+:103EE00080931501089580911401262F30E0280F4A\r
+:103EF000311D2F3F310524F4680F6093140108959C\r
+:103F00008FEF80931401089580911301262F30E0E4\r
+:103F1000280F311D2F3F310524F4680F60931301E2\r
+:103F200008958FEF80931301089580911201262F39\r
+:103F300030E0280F311D2F3F310524F4680F6093C6\r
+:103F4000120108958FEF809312010895809111015D\r
+:103F5000262F30E0280F311D2F3F310524F4680F44\r
+:103F60006093110108958FEF80931101089580915E\r
+:103F70001001262F30E0280F311D2F3F310524F48A\r
+:103F8000680F6093100108958FEF809310010895DA\r
+:103F9000833011F128F4813049F0823091F0089596\r
+:103FA000853081F120F18630C1F1089580911501AD\r
+:103FB000681720F4861B809315010895109215014F\r
+:103FC000089580911401681720F4861B80931401D2\r
+:103FD000089510921401089580911301681720F438\r
+:103FE000861B809313010895109213010895809108\r
+:103FF0001201681720F4861B809312010895109215\r
+:104000001201089580911101681720F4861B809396\r
+:1040100011010895109211010895809110016817FF\r
+:1040200020F4861B809310010895109210010895CA\r
+:104030000F931F938D3109F46BC008F03FC08E3091\r
+:1040400009F47FC0C0F4873009F469C068F4863091\r
+:1040500009F0B1C08091CD01817F8E7F8093CD0129\r
+:1040600081E08093DD01A8C0883009F4A2C08B30C4\r
+:1040700009F49FC0A0C0863109F49BC078F4803158\r
+:1040800009F472C0813109F096C00E941F1490910A\r
+:104090000D0181E0892780930D018BC0893109F4DE\r
+:1040A00088C08B3109F087C08091CD0181FB222728\r
+:1040B00020F991E0922790FB81F94CC0853309F4F7\r
+:1040C00070C048F4873209F46CC008F459C08932D2\r
+:1040D00009F467C070C0833438F48A3308F04EC0E6\r
+:1040E000883309F466C067C0833409F45AC0883441\r
+:1040F00009F061C00E941F140FEF13ED20E301507F\r
+:1041000010402040E1F700C000000E94571B51C042\r
+:104110000E949C210E948F0E0E9488074AC09091A5\r
+:10412000CD01892F8095817080FB90F929F09660F0\r
+:1041300098609093CD0140C0997F977F9093CD0177\r
+:1041400038C08091CD0182FB222720F991E092278F\r
+:1041500090FB82F98093CD01992359F18091CD0193\r
+:1041600081608093CD0125C08091CD0183FB222702\r
+:1041700020F991E0922790FB83F9ECCF895301C09D\r
+:104180008D5141E050E060E070E08A019B0104C085\r
+:10419000000F111F221F331F8A95D2F7C901B801E2\r
+:1041A00004C061E070E080E090E00E94DB170E94B4\r
+:1041B0001F1481E001C080E01F910F91089580E0FD\r
+:1041C000089580E00895CF93C82F8091DD0181305C\r
+:1041D00079F018F08230E9F187C0E0910E01F0919A\r
+:1041E0000F018081813169F0823209F07FC009C0FE\r
+:1041F000E0910E01F0910F018081813111F0823246\r
+:1042000061F48C2F0E94DF20811104C08C2F0E944A\r
+:1042100018201DC081E090E01AC08C2F0E94E12080\r
+:10422000811114C0C43179F048F4CB3079F0C03139\r
+:1042300009F060C082E08093DD0108C0C93219F046\r
+:10424000C83321F057C01092DD0154C081E0817065\r
+:1042500053C0C93289F118F5C43171F1A8F4C730DF\r
+:1042600009F046C08AE08093150194E1909314010F\r
+:1042700093E0909313018093120188E080931101E1\r
+:1042800088E28093100134C0CE51C63088F5EC2FFF\r
+:10429000F0E0E65DFE4F80818093DC0129C0CE34E2\r
+:1042A000E9F020F4CB3421F56AE013C0C13579F090\r
+:1042B000C235F1F461E00DC08091DC01882319F072\r
+:1042C0001092DC0115C081E08093DD0115C061E032\r
+:1042D00006C08091DC010E94521F0AC06AE08091F2\r
+:1042E000DC010E94C81F04C01092DD0180E004C000\r
+:1042F00081E002C080E0ABCFCF910895E1E8F0E02B\r
+:104300008081886080838081816080838FB7F8940A\r
+:1043100093E09093890090ED909388008FBF08956B\r
+:10432000EFE6F0E08081826080830895EFE6F0E0C0\r
+:1043300080818D7F80830895EFE6F0E0908182E0B8\r
+:104340008927808308951F920F920FB60F92112430\r
+:104350002F933F934F935F936F937F938F939F938D\r
+:10436000AF93BF93EF93FF938091DE019091DF01B4\r
+:1043700001969093DF018093DE01811103C082E0FA\r
+:104380000E948807E091DF01E695E695F0E0E252B1\r
+:10439000FC4FE4918091DE018E1303C080E00E9407\r
+:1043A0008807FF91EF91BF91AF919F918F917F917E\r
+:1043B0006F915F914F913F912F910F900FBE0F9092\r
+:1043C0001F90189504D06894B1118DC0089570D0D5\r
+:1043D00088F09F5790F0B92F9927B751A0F0D1F0EE\r
+:1043E000660F771F881F991F1AF0BA95C9F712C078\r
+:1043F000B13081F077D0B1E0089574C0672F782F85\r
+:104400008827B85F39F0B93FCCF3869577956795E3\r
+:10441000B395D9F73EF490958095709561957F4F4F\r
+:104420008F4F9F4F0895E89409C097FB3EF49095F5\r
+:104430008095709561957F4F8F4F9F4F9923A9F07D\r
+:10444000F92F96E9BB279395F6958795779567950C\r
+:10445000B795F111F8CFFAF4BB0F11F460FF1BC050\r
+:104460006F5F7F4F8F4F9F4F16C0882311F096E9E3\r
+:1044700011C0772321F09EE8872F762F05C0662391\r
+:1044800071F096E8862F70E060E02AF09A95660F4A\r
+:10449000771F881FDAF7880F9695879597F9089503\r
+:1044A00057FD9058440F551F59F05F3F71F04795E5\r
+:1044B000880F97FB991F61F09F3F79F087950895CA\r
+:1044C000121613061406551FF2CF4695F1DF08C0E9\r
+:1044D000161617061806991FF1CF86957105610506\r
+:1044E00008940895E894BB2766277727CB0197F9AE\r
+:1044F00008950BD078C069D028F06ED018F09523BD\r
+:1045000009F05AC05FC01124EECFCADFA0F3959F17\r
+:10451000D1F3950F50E0551F629FF001729FBB27AA\r
+:10452000F00DB11D639FAA27F00DB11DAA1F649F56\r
+:104530006627B00DA11D661F829F2227B00DA11D09\r
+:10454000621F739FB00DA11D621F839FA00D611D8F\r
+:10455000221F749F3327A00D611D231F849F600DB0\r
+:10456000211D822F762F6A2F11249F5750408AF0E9\r
+:10457000E1F088234AF0EE0FFF1FBB1F661F771F75\r
+:10458000881F91505040A9F79E3F510570F014C00C\r
+:10459000AACF5F3FECF3983EDCF38695779567955D\r
+:1045A000B795F795E7959F5FC1F7FE2B880F911D93\r
+:1045B0009695879597F9089597F99F6780E870E039\r
+:1045C00060E008959FEF80EC089500240A94161689\r
+:1045D000170618060906089500240A9412161306F1\r
+:1045E000140605060895092E0394000C11F488237F\r
+:1045F00052F0BB0F40F4BF2B11F460FF04C06F5F9B\r
+:104600007F4F8F4F9F4F089597FB072E16F400940E\r
+:1046100007D077FD09D00E941E2307FC05D03EF489\r
+:10462000909581959F4F0895709561957F4F08955E\r
+:10463000EE0FFF1F0590F491E02D0994AA1BBB1B00\r
+:1046400051E107C0AA1FBB1FA617B70710F0A61B92\r
+:10465000B70B881F991F5A95A9F780959095BC01B3\r
+:10466000CD010895F999FECF92BD81BDF89A9927A1\r
+:1046700080B50895A8E1B0E042E050E00C945A23E0\r
+:10468000262FF999FECF92BD81BDF89A019700B40B\r
+:10469000021639F01FBA20BD0FB6F894FA9AF99AAB\r
+:1046A0000FBE08950196272F0E9441230C944023AA\r
+:1046B000DC01CB01FC01F999FECF06C0F2BDE1BDE2\r
+:1046C000F89A319600B40D9241505040B8F70895D1\r
+:0446D000F894FFCF8C\r
+:1046D40020028A071808F507C1078D070101BA01EE\r
+:1046E40028080A03140A3F4D36399F0352031C035A\r
+:1046F400E30276028F02A802C10201020304050646\r
+:044704000708090099\r
+:00000001FF\r
diff --git a/keyboard/ergodox_ez/keymaps/romanzolotarev-norman-qwerty-osx/romanzolotarev-norman-qwerty-osx.png b/keyboard/ergodox_ez/keymaps/romanzolotarev-norman-qwerty-osx/romanzolotarev-norman-qwerty-osx.png
new file mode 100644 (file)
index 0000000..34762ec
Binary files /dev/null and b/keyboard/ergodox_ez/keymaps/romanzolotarev-norman-qwerty-osx/romanzolotarev-norman-qwerty-osx.png differ
diff --git a/keyboard/ergodox_ez/keymaps/sneako/README.md b/keyboard/ergodox_ez/keymaps/sneako/README.md
new file mode 100644 (file)
index 0000000..8dd110e
--- /dev/null
@@ -0,0 +1,6 @@
+# ergodox_keymap
+
+Based on the default Ergodox EZ firmware
+
+Replaced the left side Bksp with a Crtl/Esc, this really helps in vim.
+Removed the Ctrls from the Z and / keys.
diff --git a/keyboard/ergodox_ez/keymaps/sneako/keymap.c b/keyboard/ergodox_ez/keymaps/sneako/keymap.c
new file mode 100644 (file)
index 0000000..0c68631
--- /dev/null
@@ -0,0 +1,187 @@
+// Based on `default_osx`
+// Replace left Bksp with Ctrl/Esc
+// Remove the Ctrl from Z and /
+#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  |   -    |
+ * |--------+------+------+------+------+-------------|           |------+------+------+------+------+------+--------|
+ * | Del    |   Q  |   W  |   E  |   R  |   T  |  L1  |           |  L1  |   Y  |   U  |   I  |   O  |   P  |   \    |
+ * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
+ * |Ctrl/Esc|   A  |   S  |   D  |   F  |   G  |------|           |------|   H  |   J  |   K  |   L  |; / L2|  LGui  |
+ * |--------+------+------+------+------+------| Hyper|           | Meh  |------+------+------+------+------+--------|
+ * | LShift |   Z  |   X  |   C  |   V  |   B  |      |           |      |   N  |   M  |   ,  |   .  |   /  | RShift |
+ * `--------+------+------+------+------+-------------'           `-------------+------+------+------+------+--------'
+ *   |Grv/L1|  '"  |AltShf| Left | Right|                                       |  Up  | Down |   [  |   ]  | ~L1  |
+ *   `----------------------------------'                                       `----------------------------------'
+ *                                        ,-------------.       ,-------------.
+ *                                        | App  | LGui |       | Alt  |Ctrl/Esc|
+ *                                 ,------|------|------|       |------+--------+------.
+ *                                 |      |      | Home |       | PgUp |        |      |
+ *                                 | Space|Backsp|------|       |------|  Tab   |Enter |
+ *                                 |      |ace   | End  |       | PgDn |        |      |
+ *                                 `--------------------'       `----------------------'
+ */
+// If it accepts an argument (i.e, is a function), it doesn't need KC_.
+// Otherwise, it needs KC_*
+[BASE] = KEYMAP(  // layer 0 : default
+        // left hand
+        KC_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),
+        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),
+        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,
+        // 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),GUI_T(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_FN1,
+             KC_LALT,        CTL_T(KC_ESC),
+             KC_PGUP,
+             KC_PGDN,KC_TAB, KC_ENT
+    ),
+/* Keymap 1: Symbol Layer
+ *
+ * ,--------------------------------------------------.           ,--------------------------------------------------.
+ * |        |  F1  |  F2  |  F3  |  F4  |  F5  |      |           |      |  F6  |  F7  |  F8  |  F9  |  F10 |   F11  |
+ * |--------+------+------+------+------+-------------|           |------+------+------+------+------+------+--------|
+ * |        |   !  |   @  |   {  |   }  |   |  |      |           |      |   Up |   7  |   8  |   9  |   *  |   F12  |
+ * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
+ * |        |   #  |   $  |   (  |   )  |   `  |------|           |------| Down |   4  |   5  |   6  |   +  |        |
+ * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
+ * |        |   %  |   ^  |   [  |   ]  |   ~  |      |           |      |   &  |   1  |   2  |   3  |   \  |        |
+ * `--------+------+------+------+------+-------------'           `-------------+------+------+------+------+--------'
+ *   |      |      |      |      |      |                                       |      |    . |   0  |   =  |      |
+ *   `----------------------------------'                                       `----------------------------------'
+ *                                        ,-------------.       ,-------------.
+ *                                        |      |      |       |      |      |
+ *                                 ,------|------|------|       |------+------+------.
+ *                                 |      |      |      |       |      |      |      |
+ *                                 |      |      |------|       |------|      |      |
+ *                                 |      |      |      |       |      |      |      |
+ *                                 `--------------------'       `--------------------'
+ */
+// SYMBOLS
+[SYMB] = KEYMAP(
+       // left hand
+       KC_TRNS,KC_F1,  KC_F2,  KC_F3,  KC_F4,  KC_F5,  KC_TRNS,
+       KC_TRNS,KC_EXLM,KC_AT,  KC_LCBR,KC_RCBR,KC_PIPE,KC_TRNS,
+       KC_TRNS,KC_HASH,KC_DLR, KC_LPRN,KC_RPRN,KC_GRV,
+       KC_TRNS,KC_PERC,KC_CIRC,KC_LBRC,KC_RBRC,KC_TILD,KC_TRNS,
+       KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
+                                       KC_TRNS,KC_TRNS,
+                                               KC_TRNS,
+                               KC_TRNS,KC_TRNS,KC_TRNS,
+       // right hand
+       KC_TRNS, KC_F6,   KC_F7,  KC_F8,   KC_F9,   KC_F10,  KC_F11,
+       KC_TRNS, KC_UP,   KC_7,   KC_8,    KC_9,    KC_ASTR, KC_F12,
+                KC_DOWN, KC_4,   KC_5,    KC_6,    KC_PLUS, KC_TRNS,
+       KC_TRNS, KC_AMPR, KC_1,   KC_2,    KC_3,    KC_BSLS, KC_TRNS,
+                         KC_TRNS,KC_DOT,  KC_0,    KC_EQL,  KC_TRNS,
+       KC_TRNS, KC_TRNS,
+       KC_TRNS,
+       KC_TRNS, KC_TRNS, KC_TRNS
+),
+/* Keymap 2: Media and mouse keys
+ *
+ * ,--------------------------------------------------.           ,--------------------------------------------------.
+ * |        |      |      |      |      |      |      |           |      |      |      |      |      |      |        |
+ * |--------+------+------+------+------+-------------|           |------+------+------+------+------+------+--------|
+ * |        |      |      | MsUp |      |      |      |           |      |      |      |      |      |      |        |
+ * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
+ * |        |      |MsLeft|MsDown|MsRght|      |------|           |------|      |      |      |      |      |  Play  |
+ * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
+ * |        |      |      |      |      |      |      |           |      |      |      | Prev | Next |      |        |
+ * `--------+------+------+------+------+-------------'           `-------------+------+------+------+------+--------'
+ *   |      |      |      | Lclk | Rclk |                                       |VolUp |VolDn | Mute |      |      |
+ *   `----------------------------------'                                       `----------------------------------'
+ *                                        ,-------------.       ,-------------.
+ *                                        |      |      |       |      |      |
+ *                                 ,------|------|------|       |------+------+------.
+ *                                 |      |      |      |       |      |      |Brwser|
+ *                                 |      |      |------|       |------|      |Back  |
+ *                                 |      |      |      |       |      |      |      |
+ *                                 `--------------------'       `--------------------'
+ */
+// MEDIA AND MOUSE
+KEYMAP(
+       KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+       KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_U, KC_TRNS, KC_TRNS, KC_TRNS,
+       KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS,
+       KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+       KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN1, KC_BTN2,
+                                           KC_TRNS, KC_TRNS,
+                                                    KC_TRNS,
+                                  KC_TRNS, KC_TRNS, KC_TRNS,
+    // right hand
+       KC_TRNS,  KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+       KC_TRNS,  KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+                 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY,
+       KC_TRNS,  KC_TRNS, KC_TRNS, KC_MPRV, KC_MNXT, KC_TRNS, KC_TRNS,
+                          KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS,
+       KC_TRNS, KC_TRNS,
+       KC_TRNS,
+       KC_TRNS, KC_TRNS, KC_WBAK
+),
+};
+
+const uint16_t PROGMEM fn_actions[] = {
+    [1] = ACTION_LAYER_TAP_TOGGLE(SYMB)                // FN1 - Momentary Layer 1 (Symbols)
+};
+
+const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
+{
+  // MACRODOWN only works in this function
+      switch(id) {
+        case 0:
+        if (record->event.pressed) {
+          register_code(KC_RSFT);
+        } else {
+          unregister_code(KC_RSFT);
+        }
+        break;
+      }
+    return MACRO_NONE;
+};
+
+// Runs just one time when the keyboard initializes.
+void matrix_init_user(void) {
+
+};
+
+// Runs constantly in the background, in a loop.
+void matrix_scan_user(void) {
+
+    uint8_t layer = biton32(layer_state);
+
+    ergodox_board_led_off();
+    ergodox_right_led_1_off();
+    ergodox_right_led_2_off();
+    ergodox_right_led_3_off();
+    switch (layer) {
+      // TODO: Make this relevant to the ErgoDox EZ.
+        case 1:
+            ergodox_right_led_1_on();
+            break;
+        case 2:
+            ergodox_right_led_2_on();
+            break;
+        default:
+            // none
+            break;
+    }
+
+};
diff --git a/keyboard/ergodox_ez/keymaps/sneako/sneako.hex b/keyboard/ergodox_ez/keymaps/sneako/sneako.hex
new file mode 100644 (file)
index 0000000..1db1728
--- /dev/null
@@ -0,0 +1,1152 @@
+:100000000C9465020C94A9020C94A9020C94A90208\r
+:100010000C94A9020C94A9020C94A9020C94A902B4\r
+:100020000C94A9020C94A9020C94720C0C94440D2B\r
+:100030000C94A9020C94A9020C94A9020C94A90294\r
+:100040000C94A9020C940E220C94A9020C94A902FF\r
+:100050000C94A9020C949D1B0C94A9020C94A90267\r
+:100060000C94A9020C94A9020C94A9020C94A90264\r
+:100070000C94A9020C94A9020C94A9020C94A90254\r
+:100080000C94A9020C94A9020C94A9020C94A90244\r
+:100090000C94A9020C94A9020C94A9020C94A90234\r
+:1000A0000C94A9020C94A9020C94A902B10DD30DD1\r
+:1000B000C10ED30DC10E180E3B0EC10E900EA30E35\r
+:1000C0008F118F11CC11CC110F124D1266146614C2\r
+:1000D00066126614671367133A1466146614511493\r
+:1000E0000000F0A12E004C002971E10035810000D4\r
+:1000F0001E00140004001D0034004D001F001A00F3\r
+:1001000016001B00E1042A0020000800070006007A\r
+:1001100050002C0021001500090019004F004A0072\r
+:10012000220017000A000500000065745000015409\r
+:100130000000007F0000E3004F0001540000007742\r
+:100140000000E20023001C000B00110000002971D8\r
+:10015000240018000D00100052004B0025000C0078\r
+:100160000E00360051002800260012000F00370054\r
+:100170002F002B00270013003382380030004E0080\r
+:100180002D0031003478E500C100000001000100BD\r
+:1001900001000100010000003A001E0220022202BC\r
+:1001A000010001003B001F022102230201000100A7\r
+:1001B0003C002F0226022F00010001003D0030020A\r
+:1001C00027023000010001003E00310235003502F7\r
+:1001D000000001000100010000000100000001001A\r
+:1001E0000100010000000100000001003F0052007A\r
+:1001F00051002402000001004000240021001E00E4\r
+:10020000010001004100250022001F00370001000D\r
+:1002100042002600230020002700010043002502A1\r
+:100220002E0231002E0001004400450001000100B3\r
+:1002300001000000010001000100010001000000B8\r
+:1002400001000100010001000100010001000100A6\r
+:10025000F2000100010001000100F000F1000100C6\r
+:10026000F400010001000100F3000100F5000100AD\r
+:100270000100010001000100000001000100010077\r
+:100280000000010000000100010001000000010069\r
+:100290000000010001000100010001000000010058\r
+:1002A0000100010001000100A9000100010001009E\r
+:1002B0000100AC00AA00B600010001000100AB0083\r
+:1002C000A80001000100010001000100010001007F\r
+:1002D00001000100AE00010001000000160345000E\r
+:1002E000720067006F0044006F0078002000450036\r
+:1002F0005A00000016034500720067006F004400BA\r
+:100300006F007800200045005A0000000403090433\r
+:1003100009026D00040100A0FA09040000010301B4\r
+:100320000100092111010001223F00070581030896\r
+:10033000000A090401000103010200092111010062\r
+:1003400001224D000705820308000A09040200018A\r
+:100350000300000009211101000122360007058376\r
+:100360000308000A09040300010300000009211129\r
+:100370000100012239000705840310000112011059\r
+:100380000100000008EDFE07130100010200010555\r
+:10039000010906A101050719E029E71500250195C6\r
+:1003A0000875018102050819012905950575019156\r
+:1003B000029501750391010507190029771500259C\r
+:1003C00001957875018102C005010980A1018502AE\r
+:1003D00016010026B7001A01002AB7007510950112\r
+:1003E0008100C0050C0901A1018503160100269CAE\r
+:1003F000021A01002A9C02751095018100C00501B6\r
+:100400000902A1010901A100050919012905150029\r
+:10041000250195057501810295017503810105018D\r
+:10042000093009311581257F950275088106093843\r
+:100430001581257F950175088106050C0A3802157E\r
+:1004400081257F950175088106C0C005010906A1B7\r
+:1004500001050719E029E7150025019508750181B7\r
+:100460000295017508810105081901290595057591\r
+:100470000191029501750391010507190029FF15E6\r
+:100480000025FF950675088100C0000000000000EF\r
+:100490000000000000010204060A0F17202C3A4A4F\r
+:1004A0005D71879DB3C7DAE9F5FCFFFCF5E9DAC7B2\r
+:1004B000B39D87715D4A3A2C20170F0A060402018A\r
+:1004C0000000000000000000000011241FBECFEF5C\r
+:1004D000DAE0DEBFCDBF04B603FE24C08091EE019A\r
+:1004E0009091EF01A091F001B091F1018730904B14\r
+:1004F000A740B04BB9F41092EE011092EF011092A8\r
+:10050000F0011092F10114BE84B7877F84BF88E1A7\r
+:100510000FB6F89480936000109260000FBEE0E088\r
+:10052000FFE3099511E0A0E0B1E0EAEAF7E402C0D8\r
+:1005300005900D92A433B107D9F711E0A4E3B1E01F\r
+:1005400001C01D92AE3EB107E1F70E94B6090C94BE\r
+:10055000D3230C94000061110BC0FC01828188231D\r
+:1005600021F085EE0E94231003C085EE0E94EB105F\r
+:1005700080E090E0089508956091B1017091B2011A\r
+:100580008091B3019091B4010E94C91A56985E9867\r
+:1005900025982D9826982E9827982F98813019F015\r
+:1005A000823021F00895259A2D9A0895269A2E9A40\r
+:1005B00008950C94BC0256985E9825982D9826981C\r
+:1005C0002E9827982F988FEF90E090938900809332\r
+:1005D000880090938B0080938A0090938D00809385\r
+:1005E0008C00259A2D9A2FEF80E792E021508040D1\r
+:1005F0009040E1F700C00000269A2E9A2FEF80E786\r
+:1006000092E0215080409040E1F700C00000279A1E\r
+:100610002F9A2FEF80E792E0215080409040E1F741\r
+:1006200000C0000025982D982FEF80E792E0215020\r
+:1006300080409040E1F700C0000026982E982FEFF0\r
+:1006400080E792E0215080409040E1F700C0000038\r
+:1006500027982F9856985E9825982D9826982E982A\r
+:1006600027982F98089589EA8093800089E08093E5\r
+:10067000810024982C983F988AB18F748AB96E981B\r
+:10068000479A8BB1806B8BB9769A0E94DB020C94EF\r
+:10069000BB0280E2809300018091340181110EC081\r
+:1006A0000E94980381E0809334012FEF83ED90E363\r
+:1006B000215080409040E1F700C0000080E40E949B\r
+:1006C0009E038093000181112EC00E94C803809375\r
+:1006D0000001811128C00E94C8038093000181118C\r
+:1006E00022C08FE30E94C8038093000181111BC0C8\r
+:1006F0000E94C00380E40E949E0380930001811148\r
+:1007000012C08CE00E94C8038093000181110BC0CD\r
+:100710000E94C80380930001811105C08FE30E94ED\r
+:10072000C803809300010E94C003809100010895D6\r
+:100730001092B9008AE08093B800089594EA9093EB\r
+:10074000BC009091BC0097FFFCCF9091B900987FBE\r
+:10075000983021F0903111F081E008958093BB0032\r
+:1007600084E88093BC008091BC0087FFFCCF80911F\r
+:10077000B900887F883111F0803471F780E00895E6\r
+:1007800084E98093BC008091BC0084FDFCCF089577\r
+:100790008093BB0084E88093BC008091BC0087FFFD\r
+:1007A000FCCF9091B900987F81E0983209F480E005\r
+:1007B000089584E88093BC008091BC0087FFFCCF43\r
+:1007C0008091BB00089580910001811115C080E4E3\r
+:1007D0000E949E038093000181110CC082E10E945F\r
+:1007E000C80380930001811105C08FEF0E94C803E8\r
+:1007F000809300010E94C00384B1807F84B985B1D9\r
+:10080000807F85B98AB1837F8AB98BB1837F8BB9A9\r
+:100810003E98469808950E944903809300010E94E3\r
+:10082000E30380B38C7080BB81B3836F81BBA6E38D\r
+:10083000B1E0E4E4F1E08EE08E0F11921D928E1390\r
+:10084000FCCF0C943303BF92CF92DF92EF92FF92D2\r
+:100850000F931F93CF93DF9380910001882379F04A\r
+:10086000809135018F5F80933501811108C00E940E\r
+:10087000490380930001811102C00E94DB0206E35C\r
+:1008800011E0C0E0D0E0DD24D39482E0C82EEE2455\r
+:10089000E394F12CC730D10500F58091000181115E\r
+:1008A00064C080E40E949E0380930001811112C005\r
+:1008B00082E10E94C8038093000181110BC0C7012F\r
+:1008C0000C2E01C0880F0A94EAF780950E94C80395\r
+:1008D000809300010E94C00348C0CA30A1F028F4F0\r
+:1008E000C83059F0C93061F005C0CC3089F070F0E3\r
+:1008F000CD3089F0209A289810C0219A29980DC0EF\r
+:10090000229A2A980AC0239A2B9807C0529A01C0AB\r
+:10091000539A5B9802C03E9A469890EA9A95F1F7EE\r
+:100920009FB1799902C082E001C080E091709D255D\r
+:10093000982B7C9902C084E001C080E0892B7D99CE\r
+:1009400002C038E001C030E0832B7E9902C020E174\r
+:1009500001C020E0822B9FB19095991F9927991F84\r
+:100960009295990F907E892B0FC080910001811183\r
+:1009700049C080E40E949E0380930001882379F19E\r
+:10098000B12C0E94C0038B2DF8019081981719F0AB\r
+:100990008083C09201010E94E30321960F5F1F4FE5\r
+:1009A000CE30D10509F076CF80910101882361F125\r
+:1009B000815080930101882339F08FE99FE00197EE\r
+:1009C000F1F700C0000020C0A4E4B1E0E6E3F1E0EC\r
+:1009D000CF01825F91919D938E13FCCF15C083E16F\r
+:1009E0000E94C803809300018111CACF81E40E9454\r
+:1009F0009E03809300018111C3CF0E94D903B82EBA\r
+:100A0000B094BFCF80E0C0CF0E94D90281E0DF91D7\r
+:100A1000CF911F910F91FF90EF90DF90CF90BF90FB\r
+:100A20000895E82FF0E0EC5BFE4F80810895089573\r
+:100A3000089596E0799FF001112494E5899FE00DD7\r
+:100A4000F11D1124E60FF11DEE0FFF1FEC51FF4FBA\r
+:100A5000859194910895880F991FFC01E05AF04008\r
+:100A6000859194910895880F991FFC01E052FF4FE2\r
+:100A70008591949108950F931F93CF93DF93EC0189\r
+:100A80008115904350F5C11580E2D80708F0B3C036\r
+:100A9000CB3BD10590F4C83AD10508F05AC0C53A0D\r
+:100AA000D10508F04BC0C430D10508F0BBC1219777\r
+:100AB00009F0B5C101E010E0F5C1CF3FD10511F05B\r
+:100AC00008F0B0C1C03FD10508F092C0CE01805EF1\r
+:100AD0009109089708F4A6C1A2C1C11591E5D907EB\r
+:100AE000A8F4C23020E5D20708F09EC0C11580E509\r
+:100AF000D80709F485C008F091C0C11520E4D207D9\r
+:100B000008F08DC1DD278E01106CCCC1C11580E8C5\r
+:100B1000D80758F4C11590E7D90708F07CC1C11572\r
+:100B200020E6D20708F422C17AC1C11580E9D807AE\r
+:100B300008F075C1DF708E01106AB4C1C53AD105E5\r
+:100B400009F472C1C63AD10509F071C102E810E496\r
+:100B5000A9C1C83AD10509F46DC1C93AD10509F452\r
+:100B60006CC1CA3AD10509F46BC1CB3AD10509F47D\r
+:100B70006AC1CC3AD10509F469C1CD3AD10509F46D\r
+:100B800068C1C03BD10509F467C1CE3AD10509F46B\r
+:100B900066C1CF3AD10509F465C1C13BD10509F45D\r
+:100BA00064C1C23BD10509F463C1C33BD10509F45B\r
+:100BB00062C1C43BD10509F461C1C53BD10509F44B\r
+:100BC00060C1C63BD10509F45FC1C73BD10509F43B\r
+:100BD0005EC1C83BD10509F45DC1C93BD10509F42B\r
+:100BE0005CC1CA3BD10509F45BC100E014E45AC101\r
+:100BF0008E01106557C1CE019F700E94330553C10D\r
+:100C00000E948A149FEF24E38CE0915020408040A2\r
+:100C1000E1F700C000000E94C21B44C18091CD01D9\r
+:100C200081608093CD013EC10E946B1D811102C085\r
+:100C30000E94511D0E94881D90E09093EE018093C8\r
+:100C4000ED01C23090E5D90721F48091ED0181607A\r
+:100C500086C0C43020E5D20721F48091ED01826086\r
+:100C60007EC0C63080E5D80721F48091ED01846014\r
+:100C700076C0C83090E5D90719F48091ED0127C0FE\r
+:100C8000CA3020E5D20721F48091ED01806167C070\r
+:100C9000CC3080E5D80721F48091ED0180625FC0FF\r
+:100CA000CE3090E5D90721F48091ED01806457C0E2\r
+:100CB000C03120E5D20721F48091ED0180684FC05A\r
+:100CC000C23180E5D80729F48091ED018460886005\r
+:100CD00046C0C33090E5D90721F48091ED018E7FA5\r
+:100CE0003EC0C53020E5D20721F48091ED018D7F13\r
+:100CF00036C0C73080E5D80721F48091ED018B7FA5\r
+:100D00002EC0C93090E5D90719F48091ED0126C0B5\r
+:100D1000CB3020E5D20721F48091ED018F7E1FC0FA\r
+:100D2000CD3080E5D80721F48091ED018F7D17C08B\r
+:100D3000CF3090E5D90721F48091ED018F7B0FC072\r
+:100D4000C13120E5D20721F48091ED018F7707C0F2\r
+:100D5000C331D04531F48091ED018B7F877F809343\r
+:100D6000ED018091ED010E948C1D9CC08D2F992773\r
+:100D70008F70992781309105D9F49E012370332714\r
+:100D800002C0880F991F2A95E2F79C688E0144E003\r
+:100D9000000F111F4A95E1F700271370802B912B4C\r
+:100DA00053E0CC0FDD1F5A95E1F7C076DD272FC049\r
+:100DB0008230910531F4DC2FCC278E01016F106A4F\r
+:100DC00071C08330910569F4CE018370992701E0E9\r
+:100DD00010E002C0000F111F8A95E2F7C8019C685D\r
+:100DE0000FC0049709F05EC0CE018370992701E01F\r
+:100DF00010E002C0000F111F8A95E2F7C8019A683F\r
+:100E000023E0CC0FDD1F2A95E1F7C07ED7708C015F\r
+:100E10000C2B1D2B47C0DF708E01106243C000E019\r
+:100E200010E040C08E013EC001E810E43BC003E882\r
+:100E300010E438C002EE14E435C009EE14E432C008\r
+:100E40000AEE14E42FC005EB14E42CC006EB14E406\r
+:100E500029C007EB14E426C00CEC14E423C00DEC0D\r
+:100E600014E420C003E815E41DC00AE815E41AC024\r
+:100E700002E915E417C004E915E414C001E216E420\r
+:100E800011C003E216E40EC004E216E40BC005E252\r
+:100E900016E408C006E216E405C007E216E402C044\r
+:100EA0000AE216E4C801DF91CF911F910F910895D6\r
+:100EB00096E0799FF001112494E5899FE00DF11DE2\r
+:100EC0001124E60FF11DEE0FFF1FEC51FF4F85912E\r
+:100ED0009491803E9105E0F4803C910558F5813372\r
+:100EE000910509F46FC048F48932910509F463C093\r
+:100EF0008A32910509F46DC072C089339105E9F019\r
+:100F000082389105D1F08533910509F44DC067C051\r
+:100F1000833E910581F138F4803E9105B9F0823E1F\r
+:100F20009105D9F05CC0863E910561F1873E91053F\r
+:100F3000A1F155C00E942B0508952091ED0120FDDF\r
+:100F400002C021FF4CC080EE90E049C08091ED01CD\r
+:100F500080FFF9CF89E390E042C08091ED0182FFEC\r
+:100F60000EC08091ED0184FF03C080E090E037C0A7\r
+:100F700083EE90E034C08091ED0182FFF2CF82EEEB\r
+:100F800090E02DC08091ED0183FF0BC08091ED01B9\r
+:100F900084FDEBCF87EE90E022C08091ED0183FFCE\r
+:100FA000F5CF86EE90E01BC08091ED0185FF07C074\r
+:100FB00089E290E014C08091ED0185FFF9CF85E3CF\r
+:100FC00090E00DC08091ED0186FF07C08AE290E0BD\r
+:100FD00006C08091ED0186FFF9CF81E390E00E9489\r
+:100FE0003B05089508950C94F207809162010895DD\r
+:100FF000CF93DF9300D01F92CDB7DEB79C018091D5\r
+:10100000E401843019F593E099833B832A8390931C\r
+:10101000E9008FEF9091E800815095FD06C095EDB5\r
+:101020009A95F1F700008111F5CF8091E80085FFD6\r
+:101030000DC040E050E063E070E0CE0101960E94F8\r
+:10104000620A8091E8008E778093E8000F900F90FD\r
+:101050000F90DF91CF910895CF93DF9300D01F922F\r
+:10106000CDB7DEB72091E401243021F522E02983B9\r
+:101070009B838A8383E08093E9008FEF9091E8005F\r
+:10108000815095FD06C095ED9A95F1F7000081110C\r
+:10109000F5CF8091E80085FF0DC040E050E063E0AF\r
+:1010A00070E0CE0101960E94620A8091E8008E777E\r
+:1010B0008093E8000F900F900F90DF91CF910895EB\r
+:1010C0002091E4012430F1F422E02093E9002FEF95\r
+:1010D0003091E800215035FD06C035ED3A95F1F725\r
+:1010E00000002111F5CF2091E80025FF0BC040E062\r
+:1010F00050E065E070E00E94620A8091E8008E771F\r
+:101100008093E8000895CF93DF93EC019091E40180\r
+:10111000943009F046C080910C018823D9F0809169\r
+:101120000D018823B9F09093E9008FEF9091E800CA\r
+:10113000815095FD06C095E19A95F1F70000811167\r
+:10114000F5CF8091E80085FF2CC040E050E060E1E1\r
+:1011500070E017C081E08093E9008FEF9091E80084\r
+:10116000815095FD06C095ED9A95F1F7000081112B\r
+:10117000F5CF8091E80085FF14C040E050E068E0C2\r
+:1011800070E0CE010E94620A8091E8008E77809321\r
+:10119000E80080E1FE01A2E5B1E001900D928A95A0\r
+:1011A000E1F7DF91CF9108958091E301811109C0AA\r
+:1011B0000E94F70B0E94540C8091E200846080939F\r
+:1011C000E20008951092E301089508950C94FB2124\r
+:1011D0000E94581B0E9401220E94FA0E0C94F307F1\r
+:1011E00042E061EC81E00E94710B42E061EC82E040\r
+:1011F0000E94710B42E061EC83E00E94710B42E1BE\r
+:1012000061EC84E00C94710B8091E601833009F469\r
+:1012100055C030F4813071F0823009F48EC00895E9\r
+:101220008A3009F47AC08B3009F460C0893009F043\r
+:101230009CC020C08091E501813A09F096C0809160\r
+:10124000E800877F8093E8008091E9019091EA01AE\r
+:10125000892B21F460E182E591E003C060E080E049\r
+:1012600090E070E00E94AD0A8091E8008B77809357\r
+:10127000E80008958091E501813209F076C08091FF\r
+:10128000E9019091EA01009719F0039709F06DC008\r
+:101290008091E800877F8093E8008091E80082FDDC\r
+:1012A00005C08091E4018111F8CF5FC08091F10009\r
+:1012B000809362018091E8008B7753C08091E501B3\r
+:1012C000813A09F052C08091E9019091EA01892B9D\r
+:1012D00009F04BC08091E800877F8093E8008091FF\r
+:1012E000E80080FFFCCF80910C0136C08091E501C1\r
+:1012F0008132D9F58091E9019091EA01892BA9F514\r
+:101300008091E800877F8093E8000E94A60B80917F\r
+:10131000E70180930C010C948A148091E5018132DD\r
+:1013200021F58091E800877F8093E8000E94A60B5A\r
+:101330008091E8018093630108958091E501813AED\r
+:10134000A1F48091E800877F8093E8008091E80015\r
+:1013500080FFFCCF809163018093F1008091E800D1\r
+:101360008E778093E8000C94A60B089584B7877F4E\r
+:1013700084BF88E10FB6F8948093600010926000FB\r
+:101380000FBE90E080E80FB6F894809361009093D0\r
+:1013900061000FBE0E94490F0E94F70B0E94540C7F\r
+:1013A0008091E20084608093E20078940E94DA0EDB\r
+:1013B0000E944B0F82E091E00E94F50E0E94E9210D\r
+:1013C0008091E401853069F40E94191B8091E2014B\r
+:1013D0008823B1F30E94441B882391F30E944C0A96\r
+:1013E000EFCF0E94510FECCF292F33272330310547\r
+:1013F000C9F064F42130310581F02230310509F063\r
+:1014000043C08DE690E020E133E042C02132310557\r
+:10141000F1F02232310541F137C082E190E02DE751\r
+:1014200033E036C099278130910541F08230910533\r
+:1014300041F0892B49F5ECE0F3E005C0E4EFF2E080\r
+:1014400002C0ECEDF2E0849190E09F0121C0643095\r
+:10145000D8F4E62FF0E0EE0FFF1FEE5DFE4F208187\r
+:10146000318189E090E014C0643070F470E0FB01D9\r
+:10147000EE0FFF1FE65EFE4F20813181FB01EA5E29\r
+:10148000FE4F808190E004C080E090E020E030E0FA\r
+:10149000FA0131832083089580E189BD82E189BD0D\r
+:1014A00009B400FEFDCF8091D8008F7D8093D800D5\r
+:1014B0008091E00082608093E0008091E00081FDF7\r
+:1014C000FCCF0895CF92DF92EF92FF920F931F937C\r
+:1014D000CF93DF93EC018B016A010E94C50B811150\r
+:1014E00033C0C114D10439F0F60180819181081B09\r
+:1014F000190BC80FD91FE12CF12C0115110519F199\r
+:101500008091E80085FD16C08091E8008E77809379\r
+:10151000E800C114D10449F0F60180819181E80E00\r
+:10152000F91EF182E08285E00FC00E94C50B88237E\r
+:1015300021F30AC089918093F10001501109FFEF56\r
+:10154000EF1AFF0ADACF80E0DF91CF911F910F9160\r
+:10155000FF90EF90DF90CF9008952091EB013091B4\r
+:10156000EC012617370748F06115710539F4209111\r
+:10157000E8002E772093E80001C0B90140E0611532\r
+:101580007105A9F12091E401222309F443C025301B\r
+:1015900009F442C02091E80023FD40C02091E800FA\r
+:1015A00022FD32C02091E80020FFE9CF4091F300F6\r
+:1015B0002091F20030E0342BFC01CF016115710560\r
+:1015C00059F02830310540F481918093F100615049\r
+:1015D00071092F5F3F4FF1CF41E02830310509F00D\r
+:1015E00040E02091E8002E772093E800C8CF411119\r
+:1015F000C9CF0AC08091E401882361F0853061F091\r
+:101600008091E80083FD0AC08091E80082FFF2CF5C\r
+:1016100080E0089582E0089583E0089581E00895D0\r
+:101620002091EB013091EC012617370748F0611546\r
+:10163000710539F42091E8002E772093E80001C06D\r
+:10164000B901FC0120E06115710591F18091E4017F\r
+:10165000882309F440C0853009F43FC08091E80038\r
+:1016600083FD3DC08091E80082FD2FC08091E8009D\r
+:1016700080FFE9CF2091F3008091F20090E0922B5F\r
+:101680006115710559F08830910540F4249120933B\r
+:10169000F1003196615071090196F2CF21E008976F\r
+:1016A00009F020E08091E8008E778093E800CBCFAE\r
+:1016B0002111CCCF0AC08091E401882361F08530EC\r
+:1016C00061F08091E80083FD0AC08091E80082FF0C\r
+:1016D000F2CF80E0089582E0089583E0089581E0EC\r
+:1016E0000895982F973058F59093E900981739F09E\r
+:1016F0007091EC002091ED005091F00003C0242F78\r
+:10170000762F50E021FF19C03091EB003E7F3093DF\r
+:10171000EB003091ED003D7F3093ED003091EB0018\r
+:1017200031603093EB007093EC002093ED00509308\r
+:10173000F0002091EE0027FF07C09F5FD3CF8F708E\r
+:101740008093E90081E0089580E008958091E501AB\r
+:1017500087FF11C08091E80082FD05C08091E401FF\r
+:101760008111F8CF11C08091E8008B770BC0809178\r
+:10177000E401882349F08091E80080FFF8CF809150\r
+:10178000E8008E778093E80008952091E40030917E\r
+:10179000E50095E64091EC00842F817040FF22C067\r
+:1017A0008091E80080FD1CC08091E401882391F0C5\r
+:1017B000853091F08091EB0085FD10C04091E400F0\r
+:1017C0005091E5004217530729F39A01915011F700\r
+:1017D00084E0089582E0089583E0089581E008950B\r
+:1017E00080E008954091E80042FFDECF08950E9416\r
+:1017F000650C0E946D0CE0EEF0E0808181608083DA\r
+:10180000E8EDF0E080818F77808319BCA7EDB0E030\r
+:101810008C918E7F8C9380818F7E80831092E301E8\r
+:1018200008950F931F93CF93DF930E94650C0E943E\r
+:101830006D0CC8EDD0E088818F77888388818068BF\r
+:10184000888388818F7D888319BC1092E40110926F\r
+:10185000E0011092E2011092E10100EE10E0F801C7\r
+:1018600080818B7F808388818160888342E060E013\r
+:1018700080E00E94710BE1EEF0E080818E7F80833A\r
+:10188000E2EEF0E0808181608083808188608083E7\r
+:10189000F80180818E7F8083888180618883DF91D9\r
+:1018A000CF911F910F910895E8EDF0E080818F7E38\r
+:1018B0008083E7EDF0E080818160808384E082BFF7\r
+:1018C00081E08093E3010C94110CE8EDF0E080815D\r
+:1018D0008E7F80831092E20008951092DA001092B9\r
+:1018E000E10008951F920F920FB60F9211242F93CB\r
+:1018F0003F934F935F936F937F938F939F93AF9398\r
+:10190000BF93EF93FF938091E10082FF0BC0809122\r
+:10191000E20082FF07C08091E1008B7F8093E100AD\r
+:101920000E94D90E8091DA0080FF1FC08091D800FC\r
+:1019300080FF1BC08091DA008E7F8093DA00809157\r
+:10194000D90080FF0DC080E189BD82E189BD09B465\r
+:1019500000FEFDCF81E08093E4010E94D40805C021\r
+:1019600019BC1092E4010E94E2088091E10080FF1E\r
+:1019700019C08091E20080FF15C08091E2008E7F47\r
+:101980008093E2008091E20080618093E200809188\r
+:10199000D80080628093D80019BC85E08093E40170\r
+:1019A0000E94E6088091E10084FF30C08091E2004F\r
+:1019B00084FF2CC080E189BD82E189BD09B400FEAD\r
+:1019C000FDCF8091D8008F7D8093D8008091E10079\r
+:1019D0008F7E8093E1008091E2008F7E8093E20011\r
+:1019E0008091E20081608093E2008091E001882391\r
+:1019F00011F084E007C08091E30087FD02C081E020\r
+:101A000001C083E08093E4010E94E8088091E10036\r
+:101A100083FF29C08091E20083FF25C08091E1000F\r
+:101A2000877F8093E10082E08093E4011092E001DF\r
+:101A30008091E1008E7F8093E1008091E2008E7FB3\r
+:101A40008093E2008091E20080618093E20042E0B6\r
+:101A500060E080E00E94710B8091F00088608093CC\r
+:101A6000F0000E94E508FF91EF91BF91AF919F9127\r
+:101A70008F917F916F915F914F913F912F910F9037\r
+:101A80000FBE0F901F9018951F920F920FB60F92D6\r
+:101A900011242F933F934F935F936F937F938F9373\r
+:101AA0009F93AF93BF93CF93DF93EF93FF93C09137\r
+:101AB000E900CF708091EC00D82FD17080FDD0E884\r
+:101AC0001092E9008091F000877F8093F000789475\r
+:101AD0000E94880D1092E9008091F0008860809348\r
+:101AE000F000CD2BCF70C093E900FF91EF91DF9113\r
+:101AF000CF91BF91AF919F918F917F916F915F91A6\r
+:101B00004F913F912F910F900FBE0F901F901895FE\r
+:101B10001F93CF93DF93CDB7DEB7AA970FB6F89494\r
+:101B2000DEBF0FBECDBFE5EEF1E088E08E0F9091F5\r
+:101B3000F10091938E13FBCF0E9404098091E8007D\r
+:101B400083FF1FC18091E5019091E601492F50E08C\r
+:101B50004A30510508F015C1FA01EA5AFF4F0C94BA\r
+:101B60008323803881F0823809F00BC18091E9012C\r
+:101B70008F708093E9008091EB0085FB882780F9C6\r
+:101B80001092E90006C08091E1019091E20191116B\r
+:101B900082609091E800977F9093E8008093F10035\r
+:101BA0001092F100C8C0282F2D7F09F0EAC08823C9\r
+:101BB00019F0823061F0E5C08091E701813009F0D1\r
+:101BC000E0C0933009F080E08093E2012BC0809167\r
+:101BD000E701811127C08091E9018F7009F4D1C01C\r
+:101BE0008093E9002091EB0020FF1CC0933021F48A\r
+:101BF0008091EB00806214C09091EB009061909313\r
+:101C0000EB0021E030E0A90102C0440F551F8A9586\r
+:101C1000E2F74093EA001092EA008091EB008860BE\r
+:101C20008093EB001092E9008091E800877F86C0E6\r
+:101C30008111A7C01091E7011F778091E3008078A0\r
+:101C4000812B8093E3008091E800877F8093E800F8\r
+:101C50000E94A60B8091E80080FFFCCF8091E300FA\r
+:101C600080688093E300111102C082E001C083E02C\r
+:101C70008093E40186C08058823008F082C0809151\r
+:101C8000E7019091E8018C3D53E0950779F583E0F9\r
+:101C90008A838AE289834FB7F894DE01139620E0A5\r
+:101CA0003EE051E2E32FF0E050935700E49120FF33\r
+:101CB00003C0E295EF703F5FEF708E2F90E0EA3047\r
+:101CC00010F0C79601C0C0968D939D932F5F24316D\r
+:101CD00049F74FBF8091E800877F8093E8006AE270\r
+:101CE00070E0CE0101960E94AD0A14C0AE014F5FB4\r
+:101CF0005F4F6091E9010E94F409BC01892B09F44E\r
+:101D000040C09091E800977F9093E80089819A8184\r
+:101D10000E94100B8091E8008B778093E80031C01F\r
+:101D2000803879F58091E800877F8093E800809182\r
+:101D3000E0018093F1008091E8008E778093E800C5\r
+:101D40000E94A60B1EC081111CC09091E701923029\r
+:101D5000C0F48091E800877F8093E8009093E001D1\r
+:101D60000E94A60B8091E001811106C08091E300E2\r
+:101D700087FD02C081E001C084E08093E4010E94FD\r
+:101D8000F0088091E80083FF0AC08091E800877F17\r
+:101D90008093E8008091EB0080628093EB00AA962C\r
+:101DA0000FB6F894DEBF0FBECDBFDF91CF911F916C\r
+:101DB00008950895CF938091E4018823A1F0C09104\r
+:101DC000E900CF709091EC00892F817090FD80E840\r
+:101DD000C82B1092E9008091E80083FD0E94880DD5\r
+:101DE000CF70C093E900CF910895909369018093DB\r
+:101DF00068010895E0916801F0916901309721F040\r
+:101E00000190F081E02D099480E00895E09168014F\r
+:101E1000F0916901309721F00280F381E02D09945F\r
+:101E20000895E0916801F0916901309721F00480F4\r
+:101E3000F581E02D099408952091660130916701A4\r
+:101E40008217930771F09093670180936601E09188\r
+:101E50006801F0916901309721F00680F781E02D4B\r
+:101E600009940895209164013091650182179307C8\r
+:101E700071F09093650180936401E0916801F091A5\r
+:101E80006901309721F00084F185E02D09940895CF\r
+:101E900008950C94480F0E945E1B0E940B040C9442\r
+:101EA000241CCF92DF92EF92FF920F931F93CF9358\r
+:101EB000DF93CDB7DEB72B970FB6F894DEBF0FBE1A\r
+:101EC000CDBF0E9423048BE6C82E81E0D82E00E00F\r
+:101ED00010E0E02E802F0E941105F60141916F0164\r
+:101EE000F42EF826B1F40F5F1F4F0E30110589F75D\r
+:101EF0008FEF89838A831B820E94671B8160782F02\r
+:101F00009D838C8349815A816B818D810E94F40F5E\r
+:101F100040C09091CD0191FF04C08B870E941705AE\r
+:101F20008B8520E030E04F2D50E0922FBA01022E39\r
+:101F300002C0759567950A94E2F760FF24C02E836E\r
+:101F4000EF8221E030E0690102C0CC0CDD1C9A95E3\r
+:101F5000E2F790E08C219D21892B09F420E028876D\r
+:101F60000E94671B8160782F9A8789874E815F81E5\r
+:101F700068858A850E94F40FF801E559FE4F80813B\r
+:101F8000C826C08206C02F5F3F4F2630310569F654\r
+:101F9000AACF0E940B1F10916A010E94FA0E181717\r
+:101FA000A1F00E94FA0E80936A012B960FB6F89466\r
+:101FB000DEBF0FBECDBFDF91CF911F910F91FF907C\r
+:101FC000EF90DF90CF900C94F3072B960FB6F89418\r
+:101FD000DEBF0FBECDBFDF91CF911F910F91FF905C\r
+:101FE000EF90DF90CF900895CF93DF93CDB7DEB71A\r
+:101FF0002B970FB6F894DEBF0FBECDBF4F83588727\r
+:1020000069877A878B87DE01119686E0FD01119240\r
+:102010008A95E9F785E0FE01379601900D928A9541\r
+:10202000E1F749815A816B817C818D819E810E947B\r
+:1020300024172B960FB6F894DEBF0FBECDBFDF91ED\r
+:10204000CF9108950895CF93882309F4C2C0C82F73\r
+:10205000823859F40E94FA0E81FDBBC089E30E94C8\r
+:10206000CD190E949A1A89E30CC0833879F40E9432\r
+:10207000FA0E80FDAEC083E50E94CD190E949A1A27\r
+:1020800083E50E940F1ACF910C949A1A843859F460\r
+:102090000E94FA0E82FD9DC087E40E94CD190E9425\r
+:1020A0009A1A87E4EECF8CEF8C0F813A48F48C2F8C\r
+:1020B0000E944E2181118DC08C2F0E94CD19E3CF3B\r
+:1020C00080E28C0F883048F4C77081E001C0880F2F\r
+:1020D000CA95EAF70E94531AD6CF8BE58C0F83304E\r
+:1020E00078F4C53A29F0C63A31F083E890E005C0AB\r
+:1020F00081E890E002C082E890E0CF910C941C0F40\r
+:1021000088E58C0F833108F064C0C83A39F1C93AC8\r
+:1021100041F1CA3A49F1CB3A51F1CC3A59F1CD3AB1\r
+:1021200061F1C03B69F1CE3A71F1CF3A79F1C13B2F\r
+:1021300081F1C23B89F1C33B91F1C43B99F1C53BAD\r
+:10214000A1F1C63BA9F1C73BB1F1C83BB9F1C93B0D\r
+:10215000C1F1CA3BC9F180E090E038C082EE90E066\r
+:1021600035C089EE90E032C08AEE90E02FC085EB5A\r
+:1021700090E02CC086EB90E029C087EB90E026C071\r
+:102180008CEC90E023C08DEC90E020C083E891E0DF\r
+:102190001DC08AE891E01AC082E991E017C084E985\r
+:1021A00091E014C081E292E011C083E292E00EC09F\r
+:1021B00084E292E00BC085E292E008C086E292E001\r
+:1021C00005C087E292E002C08AE292E0CF910C94CF\r
+:1021D000320FCF910895882309F44BC0823859F407\r
+:1021E0000E94FA0E81FF45C089E30E94CD190E942A\r
+:1021F0009A1A89E30CC0833871F40E94FA0E80FFAA\r
+:1022000038C083E50E94CD190E949A1A83E50E9486\r
+:102210000F1A0C949A1A843859F40E94FA0E82FF0D\r
+:1022200028C087E40E94CD190E949A1A87E4EFCF54\r
+:102230009CEF980F913A58F390E2980F983050F431\r
+:10224000877091E001C0990F8A95EAF7892F0E9463\r
+:10225000591ADFCF9BE5980F933020F480E090E08F\r
+:102260000C941C0F885A833120F480E090E00C9489\r
+:10227000320F0895882321F00E94531A0C949A1A61\r
+:102280000895882321F00E94591A0C949A1A0895EF\r
+:10229000BF92CF92DF92EF92FF920F931F93CF9353\r
+:1022A000DF9300D000D000D0CDB7DEB725E0FC0131\r
+:1022B000DE01119601900D922A95E1F7FC01D08084\r
+:1022C00011810281258122952F7043815481452BF4\r
+:1022D00009F4FCC21F3F21F4FFEFDF1609F4F6C238\r
+:1022E0007C012E830E942210D9821A8369817A810F\r
+:1022F000802F0E94C919182FB92E0E947E190E94A2\r
+:1023000045182E81002319F00E94701A2E81EB2DA2\r
+:10231000E295EF70F0E0E05AFF4F0C9483238B2D91\r
+:10232000807F9B2D9F70F92E882319F0F29480EF07\r
+:10233000F822002389F0FF2009F475C280E2810FA2\r
+:10234000883020F48F2D0E94531A03C08F2D0E94D5\r
+:10235000631A0E949A1A67C2812F0E94EB10FF2015\r
+:1023600009F4B4C2105E8F2D183018F40E94591A67\r
+:1023700002C00E94691A26960FB6F894DEBF0FBEFF\r
+:10238000CDBFDF91CF911F910F91FF90EF90DF9024\r
+:10239000CF90BF900C949A1A3B2D307F8B2D8F706D\r
+:1023A000303211F08295807F112319F0113021F124\r
+:1023B0002CC00023B9F0222309F4A0C1213009F078\r
+:1023C0009DC126960FB6F894DEBF0FBECDBFDF913C\r
+:1023D000CF911F910F91FF90EF90DF90CF90BF9022\r
+:1023E0000C94831A222319F0213009F46FC28E83D2\r
+:1023F0000E94861A8E8196C1002321F0223008F0B7\r
+:1024000065C27CC1211162C28DC1002321F022234B\r
+:1024100009F474C108C2222309F484C119C22B2D06\r
+:1024200026952695237030E02115310521F02130C5\r
+:102430003105D1F04BC2002321F0812F9B2D9370E9\r
+:1024400002C080E090E026960FB6F894DEBF0FBE83\r
+:10245000CDBFDF91CF911F910F91FF90EF90DF9053\r
+:10246000CF90BF900C941C0F002321F0812F9B2D47\r
+:10247000937002C080E090E026960FB6F894DEBF1D\r
+:102480000FBECDBFDF91CF911F910F91FF90EF90C5\r
+:10249000DF90CF90BF900C94320F812F002319F062\r
+:1024A0000E94131E02C00E947B1E26960FB6F8944F\r
+:1024B000DEBF0FBECDBFDF91CF911F910F91FF9077\r
+:1024C000EF90DF90CF90BF900C94001F8B2D837006\r
+:1024D00009F07BC00111FAC1812F82958695877022\r
+:1024E000880F880F912F9F70C92ED12CE12CF12CD1\r
+:1024F000082E04C0CC0CDD1CEE1CFF1C0A94D2F785\r
+:1025000014FF12C04FE050E060E070E004C0440FE0\r
+:10251000551F661F771F8A95D2F7CB01BA016095C8\r
+:1025200070958095909503C060E070E0CB012B2DF5\r
+:10253000269526952370422F50E042305105D9F060\r
+:102540004330510569F16C297D298E299F2941303D\r
+:10255000510551F126960FB6F894DEBF0FBECDBFE0\r
+:10256000DF91CF911F910F91FF90EF90DF90CF906F\r
+:10257000BF900C946C186C297D298E299F29269672\r
+:102580000FB6F894DEBF0FBECDBFDF91CF911F9184\r
+:102590000F91FF90EF90DF90CF90BF900C94881830\r
+:1025A0000E946C18C701B60126960FB6F894DEBFDC\r
+:1025B0000FBECDBFDF91CF911F910F91FF90EF9094\r
+:1025C000DF90CF90BF900C945018002319F08B2D02\r
+:1025D000817001C08695882309F478C1812F829586\r
+:1025E00086958770880F880F912F9F70C92ED12CE8\r
+:1025F000E12CF12C082E04C0CC0CDD1CEE1CFF1CC1\r
+:102600000A94D2F714FF12C04FE050E060E070E08F\r
+:1026100004C0440F551F661F771F8A95D2F7CB0160\r
+:10262000BA01609570958095909503C060E070E068\r
+:10263000CB012B2D269526952370422F50E042305A\r
+:102640005105D9F04330510569F16C297D298E2956\r
+:102650009F294130510551F126960FB6F894DEBFFF\r
+:102660000FBECDBFDF91CF911F910F91FF90EF90E3\r
+:10267000DF90CF90BF900C9446196C297D298E294C\r
+:102680009F2926960FB6F894DEBF0FBECDBFDF910F\r
+:10269000CF911F910F91FF90EF90DF90CF90BF905F\r
+:1026A0000C9462190E944619C701B60126960FB60E\r
+:1026B000F894DEBF0FBECDBFDF91CF911F910F9178\r
+:1026C000FF90EF90DF90CF90BF900C942A19103FAD\r
+:1026D000D1F118F4103E50F4A1C0123F09F463C0C8\r
+:1026E00008F44CC0133F09F473C098C01F708B2DC1\r
+:1026F0008F710023A1F00E94C318812F26960FB678\r
+:10270000F894DEBF0FBECDBFDF91CF911F910F9127\r
+:10271000FF90EF90DF90CF90BF900C943A110E9401\r
+:10272000E418812F26960FB6F894DEBF0FBECDBFFA\r
+:10273000DF91CF911F910F91FF90EF90DF90CF909D\r
+:10274000BF900C9441110023A9F02111BFC08B2D23\r
+:102750008F7126960FB6F894DEBF0FBECDBFDF9106\r
+:10276000CF911F910F91FF90EF90DF90CF90BF908E\r
+:102770000C940919223008F0A9C0E9CF0023A9F070\r
+:102780008B2D8F7126960FB6F894DEBF0FBECDBF8E\r
+:10279000DF91CF911F910F91FF90EF90DF90CF903D\r
+:1027A000BF900C94C318002359F38B2D8F7126967C\r
+:1027B0000FB6F894DEBF0FBECDBFDF91CF911F9152\r
+:1027C0000F91FF90EF90DF90CF90BF900C94E418A2\r
+:1027D000002399F08B2D8F7126960FB6F894DEBFEB\r
+:1027E0000FBECDBFDF91CF911F910F91FF90EF9062\r
+:1027F000DF90CF90BF900C94AE1826960FB6F89449\r
+:10280000DEBF0FBECDBFDF91CF911F910F91FF9023\r
+:10281000EF90DF90CF90BF900C94A4180023A9F004\r
+:10282000222309F4ADCF812F26960FB6F894DEBF90\r
+:102830000FBECDBFDF91CF911F910F91FF90EF9011\r
+:10284000DF90CF90BF900C942310222309F4ADCFDA\r
+:10285000812F26960FB6F894DEBF0FBECDBFDF9155\r
+:10286000CF911F910F91FF90EF90DF90CF90BF908D\r
+:102870000C94EB104B2D4F70612FC7010E94AB02DF\r
+:1028800026960FB6F894DEBF0FBECDBFDF91CF9175\r
+:102890001F910F91FF90EF90DF90CF90BF900C941D\r
+:1028A000C8174B2D4F70612FC70126960FB6F894AD\r
+:1028B000DEBF0FBECDBFDF91CF911F910F91FF9073\r
+:1028C000EF90DF90CF90BF900C94180526960FB62E\r
+:1028D000F894DEBF0FBECDBFDF91CF911F910F9156\r
+:1028E000FF90EF90DF90CF90BF9008950E94701AF4\r
+:1028F0000E94801A0E94451A0E949A1A0E94B11FD3\r
+:102900000E94001F80E090E00E941C0F80E090E099\r
+:102910000C94320F0E94601A0C9476140E94BE1917\r
+:10292000292F22952F7030E02C3031054CF42A30BD\r
+:1029300031056CF4225031092230310588F407C08A\r
+:102940002C30310549F02F30310531F009C0803E7F\r
+:1029500048F0803F29F406C093FB882780F908954A\r
+:1029600080E0089581E00895CF93DF9300D000D0F8\r
+:102970001F92CDB7DEB70F900F900F900F900F9072\r
+:10298000DF91CF910895CF93DF9300D000D000D096\r
+:10299000CDB7DEB726960FB6F894DEBF0FBECDBF1B\r
+:1029A000DF91CF9108951F93CF93DF93C091790169\r
+:1029B00016E080917A01C81799F0D0E01C9FF001D1\r
+:1029C0001D9FF00D1124E558FE4F40815181628119\r
+:1029D0007381848195810E94C3142196C770E9CFC9\r
+:1029E000DF91CF911F9108954091AB015091AC01BF\r
+:1029F0006091AD017091AE018091AF019091B001F5\r
+:102A00000C94C3148091B00182958F7009F054C06A\r
+:102A10008091AD01882309F44FC080917901A09184\r
+:102A20007A016091AB017091AC014091AE0150917F\r
+:102A3000AF01B6E08A1709F43FC090E04115510597\r
+:102A4000C1F17F3F11F46F3FA1F1B89FF001B99F31\r
+:102A5000F00D1124E558FE4F218172132AC0208108\r
+:102A6000621327C02281211124C0238134812417BD\r
+:102A7000350710F421503109241B350B283C310552\r
+:102A8000C0F42091B0012F7020612093B00126E0A6\r
+:102A9000289FF001299FF00D1124E058FE4F8081FE\r
+:102AA0008F70806180838BEA91E00E9448110C94C2\r
+:102AB000D31401968770BECF0895CF92DF92EF9224\r
+:102AC000FF920F931F93CF93DF93CDB7DEB762973B\r
+:102AD0000FB6F894DEBF0FBECDBF8C0185E0F801C4\r
+:102AE000DE011D9601900D928A95E1F7D8014C9177\r
+:102AF00011965C91119712966C9112971396CD9046\r
+:102B0000DC9014973091AB017091AC018091AE01D3\r
+:102B10009091AF01009709F46BC17F3F19F43F3FDB\r
+:102B200009F466C1E090AD01EE2009F4C0C0209127\r
+:102B3000B001C816D90628F0F601E81BF90BCF0141\r
+:102B400004C0809590958C0D9D1DFF24F394883CC6\r
+:102B5000910578F0F12C207F09F0C6C07C2DD98A30\r
+:102B6000C88A89890E94B4148BEA91E00E944811B6\r
+:102B7000B1C0822F807F09F046C0751314C0341392\r
+:102B800012C0611110C02F7020612093B0010E940B\r
+:102B9000F4148BEA91E00E9448118091B001D801B1\r
+:102BA00015968C932EC0CD2819F15F3F11F44F3F3D\r
+:102BB000F9F0F62E61111CC08091790120917A0103\r
+:102BC00036E0821709F45AC090E0389FF001399F2F\r
+:102BD000F00D1124E558FE4F7181571306C0708126\r
+:102BE000471303C07281711103C001968770E9CF4A\r
+:102BF000F62E662309F418C18091B001816080939C\r
+:102C0000B001F12C11C1751308C0341306C0611155\r
+:102C100004C08091B001D801C3C04D875E878D8507\r
+:102C20009E856A8B0E948E146A898823E1F166234F\r
+:102C3000D1F12091B001822F82958F7090E00297A0\r
+:102C400074F08091AB019091AC0198878F831986C5\r
+:102C5000DB86CA862C87CE0107960E94481186E043\r
+:102C6000F801ABEAB1E001900D928A95E1F70E947C\r
+:102C700002150E94F414FF24F394D6C04D875E879A\r
+:102C80008D859E850E94BE19292F22952F7030E0D8\r
+:102C9000223031050CF0BCC09F7009F0B6C0805ED8\r
+:102CA000883008F4C1C0C8010E944811E4CFC8169A\r
+:102CB000D90608F453C0F601E81BF90BCF01883C94\r
+:102CC000910508F450C0F12C7C2DD98AC88A8989D5\r
+:102CD0000E94B414EBEAF1E086E0DF011D928A95D0\r
+:102CE000E9F70E94F414A0C0751314C0341312C085\r
+:102CF000611110C08091B001F8018583C8010E9464\r
+:102D0000481186E0EBEAF1E0DF011D928A95E9F7D0\r
+:102D1000FE2C8AC04D875E878D859E856A8B0E94BA\r
+:102D20008E146A89882309F4BECF662309F4BBCFC9\r
+:102D30002091B001822F82958F7090E002970CF461\r
+:102D40008ECF8091AB019091AC019A8389831B82D5\r
+:102D5000DD82CC822E83CE0101967FCF8095909527\r
+:102D60008C0D9D1DACCFF62E662309F49CCF7513F8\r
+:102D70002EC034132CC02091B00120FD1FC0822F23\r
+:102D800082958F70D9F0D80115962C9315978F30B6\r
+:102D900049F08F5F982F9295907F822F8F70892BAB\r
+:102DA00015968C93C8010E94481186E0F801ABEAA1\r
+:102DB000B1E001900D928A95E1F793CF86E0F8019A\r
+:102DC000ABEAB1E001900D928A95E1F72DC04D87F5\r
+:102DD0005E878D859E850E948E14811140CF8091E3\r
+:102DE000B00181608093B001C8010E9448111CC0ED\r
+:102DF000662309F458CF4D875E878D859E850E9496\r
+:102E00008E14882309F44FCF2ACF811148CF0CC0EC\r
+:102E1000243031050CF047CF9F7009F440CFF80102\r
+:102E20009581907F09F03BCF8F2D62960FB6F89475\r
+:102E3000DEBF0FBECDBFDF91CF911F910F91FF90ED\r
+:102E4000EF90DF90CF9008951F93CF93DF93CDB78E\r
+:102E5000DEB72C970FB6F894DEBF0FBECDBF4F8301\r
+:102E6000588769877A878B879C87CE0107960E944F\r
+:102E70005D15882369F08F8198852A853B85232BF2\r
+:102E8000F1F19F3F09F063C08F3F09F060C037C088\r
+:102E900086E0FE013796DE01119601900D928A952B\r
+:102EA000E1F76F817885EA85FB85309741F17F3FB7\r
+:102EB00011F46F3F21F120917A0130E0C9010196B0\r
+:102EC000877099274091790150E08417950709F49C\r
+:102ED00047C069837A83FD83EC8396E0929FD0019B\r
+:102EE000939FB00D1124A558BE4FFE01319601905D\r
+:102EF0000D929A95E1F780937A010E94D31416E01F\r
+:102F00008091790190917A018917C1F1189FC001D0\r
+:102F1000112485589E4F0E945D15882379F1E09118\r
+:102F200079011E9FF0011124E558FE4F4081518127\r
+:102F300062817381848195810E94C314809179019B\r
+:102F400090E001968770992780937901D9CF4F81BE\r
+:102F5000588569857A858B859C850E94C314CFCF5F\r
+:102F60000E948A1410927A0110927901EBEAF1E042\r
+:102F700086E0DF011D928A95E9F7C1CF2C960FB646\r
+:102F8000F894DEBF0FBECDBFDF91CF911F910895A2\r
+:102F9000EF92FF920F931F93CF93DF938C01892BB6\r
+:102FA00009F46CC0F12CEE24E394E8012196F801B9\r
+:102FB0008491843740F4843008F051C0813081F02E\r
+:102FC000823019F15BC0853709F444C0A8F19CE751\r
+:102FD000980F903708F052C08F770E94EB1041C0D5\r
+:102FE0000E5F1F4FFE01C49180E28C0F883048F4C1\r
+:102FF000C7708E2D01C0880FCA95EAF70E94731A18\r
+:1030000014C08C2F0E9423102DC00E5F1F4FFE0195\r
+:10301000C49180E28C0F883058F4C7708E2D01C0A7\r
+:10302000880FCA95EAF70E94791A0E949A1A1AC064\r
+:103030008C2F0E94EB1016C00E5F1F4FFE01C49133\r
+:10304000CC2381F08FE99FE00197F1F700C00000E9\r
+:10305000C150F6CF0E5F1F4FFE01F49003C00E94D7\r
+:1030600023108E018F2D882309F49FCFEFE9FFE015\r
+:103070003197F1F700C000008150F5CFDF91CF917B\r
+:103080001F910F91FF90EF90089508956093B501FF\r
+:103090007093B6018093B7019093B8010C947614A5\r
+:1030A0000F931F930091B5011091B6012091B701C4\r
+:1030B0003091B801DC01CB01802B912BA22BB32BDB\r
+:1030C0008093B5019093B601A093B701B093B80176\r
+:1030D0001F910F910C9476140F931F930091B501DB\r
+:1030E0001091B6012091B7013091B801DC01CB01FC\r
+:1030F00080239123A223B3238093B5019093B6013B\r
+:10310000A093B701B093B8011F910F910C9476145E\r
+:103110000F931F930091B5011091B6012091B70153\r
+:103120003091B801DC01CB0180279127A227B3277A\r
+:103130008093B5019093B601A093B701B093B80105\r
+:103140001F910F910C9476141092B1011092B2015C\r
+:103150001092B3011092B4010C94761441E050E047\r
+:1031600060E070E004C0440F551F661F771F8A950A\r
+:10317000D2F74093B1015093B2016093B3017093C1\r
+:10318000B4010C94761441E050E060E070E004C0BB\r
+:10319000440F551F661F771F8A95D2F78091B101A2\r
+:1031A0009091B201A091B301B091B401482B592B79\r
+:1031B0006A2B7B2B4093B1015093B2016093B30112\r
+:1031C0007093B4010C94761441E050E060E070E03C\r
+:1031D00004C0440F551F661F771F8A95D2F740958C\r
+:1031E0005095609570958091B1019091B201A09138\r
+:1031F000B301B091B401482359236A237B23409340\r
+:10320000B1015093B2016093B3017093B4010C9477\r
+:10321000761441E050E060E070E004C0440F551FB8\r
+:10322000661F771F8A95D2F78091B1019091B20104\r
+:10323000A091B301B091B401482759276A277B2791\r
+:103240004093B1015093B2016093B3017093B40104\r
+:103250000C9476140F931F930091B1011091B20159\r
+:103260002091B3013091B401DC01CB01802B912B73\r
+:10327000A22BB32B8093B1019093B201A093B30121\r
+:10328000B093B4011F910F910C9476140F931F9378\r
+:103290000091B1011091B2012091B3013091B401BC\r
+:1032A000DC01CB0180239123A223B3238093B101BE\r
+:1032B0009093B201A093B301B093B4011F910F9109\r
+:1032C0000C9476140F931F930091B1011091B201E9\r
+:1032D0002091B3013091B401DC01CB01802791270B\r
+:1032E000A227B3278093B1019093B201A093B301B9\r
+:1032F000B093B4011F910F910C9476140895CF925E\r
+:10330000DF92EF92FF920F931F93CF93DF938C0185\r
+:10331000C090B501D090B601E090B701F090B8012F\r
+:103320008091B1019091B201A091B301B091B4012B\r
+:10333000C82AD92AEA2AFB2ACFE1D0E0D701C60160\r
+:103340000C2E04C0B695A795979587950A94D2F749\r
+:1033500080FF06C0B8018C2F0E945807019721F406\r
+:10336000219760F780E001C08C2FDF91CF911F91F2\r
+:103370000F91FF90EF90DF90CF900895CF93DF9360\r
+:10338000EC010E947F19BE010E945807DF91CF9186\r
+:103390000895CB010E94BE19089590910C019923C4\r
+:1033A00021F090910D01911109C020910E013091F1\r
+:1033B0000F01F90132969FEF40E01FC0982F9695BC\r
+:1033C000969596959F3050F5E0910E01F0910F0182\r
+:1033D000E90FF11D877021E030E0A90102C0440F20\r
+:1033E000551F8A95E2F7CA019181892B818308953F\r
+:1033F0009F3F39F04F5F4E3041F051915813F8CF55\r
+:103400000DC05111F7CF942FF5CF9F3F39F0F9013F\r
+:10341000E90FF11D97FDFA95828308950895909123\r
+:103420000C01992321F090910D01911109C0209177\r
+:103430000E0130910F01F9013296205F3F4F1FC0FE\r
+:10344000982F9695969596959F30F0F4E0910E0101\r
+:10345000F0910F01E90FF11D877021E030E0A90123\r
+:1034600002C0440F551F8A95E2F7CA0180959181E9\r
+:103470008923818308953196E217F30729F090811B\r
+:103480009813F9CF1082F7CF089581E090E0E09192\r
+:103490000E01F0910F01E80FF91F108201968031A3\r
+:1034A0009105A9F708959091CC01892B8093CC01C7\r
+:1034B000089580959091CC0189238093CC01089543\r
+:1034C0001092CC0108959091CB01892B8093CB0170\r
+:1034D000089580959091CB0189238093CB01089525\r
+:1034E0001092CB0108959091CA01892B8093CA0153\r
+:1034F000089580959091CA0189238093CA01089507\r
+:103500001092CA0108958093B90108951092B901EB\r
+:10351000089580910E0190910F01FC0131969C015C\r
+:10352000205F3F4F80E0919191118F5FE217F30789\r
+:10353000D1F70895E0910E01F0910F018091CC0137\r
+:103540008083E0910E01F0910F0190818091CB0179\r
+:10355000892B8083E0910E01F0910F019081809181\r
+:10356000CA01892B80838091B901882361F0E091A1\r
+:103570000E01F0910F019081892B80830E94891A9E\r
+:1035800081111092B90180910E0190910F010C945C\r
+:10359000060FCF92DF92EF92FF926C01EE24FF2490\r
+:1035A000C114D104E104F10421F0C701B60120E106\r
+:1035B00001C020E0C72ED82EE92EFF24C114D1046B\r
+:1035C000E104F10419F0285FC701B6016B017C0129\r
+:1035D00054E0F694E794D794C7945A95D1F7C11460\r
+:1035E000D104E104F10419F02C5FC701B6016B01AD\r
+:1035F0007C0142E0F694E794D794C7944A95D1F7BA\r
+:10360000C114D104E104F10419F02E5FC701B60121\r
+:10361000DC01CB01B695A79597958795892B8A2BC9\r
+:103620008B2B09F02F5F822FFF90EF90DF90CF90D0\r
+:1036300008958091E401843021F11092CE0120E4BC\r
+:1036400088E190E00FB6F894A895809360000FBED3\r
+:103650002093600080E00E94F30783B7817F84603D\r
+:1036600083BF83B7816083BF7894889583B78E7F4B\r
+:1036700083BF88E10FB6F8948093600010926000D9\r
+:103680000FBE089508950895CF930E94421B0E9493\r
+:1036900023040E94431BC0E08C2F0E94110581115E\r
+:1036A00004C0CF5FCE30C1F701C081E0CF91089553\r
+:1036B0000E948A140E94FA0E0C94F30782E084BDE3\r
+:1036C00093E095BD9AEF97BD80936E0008952FB754\r
+:1036D000F8948091CF019091D001A091D101B09147\r
+:1036E000D2012FBF0895CF92DF92EF92FF920F93F6\r
+:1036F0001F932FB7F8944091CF015091D001609162\r
+:10370000D1017091D2012FBF6A017B01EE24FF2409\r
+:103710008C0120E030E0C016D106E206F30610F47A\r
+:10372000415051099A01281B390BC9011F910F9172\r
+:10373000FF90EF90DF90CF9008951F920F920FB6F9\r
+:103740000F9211248F939F93AF93BF938091CF01DA\r
+:103750009091D001A091D101B091D2010196A11D0B\r
+:10376000B11D8093CF019093D001A093D101B0936C\r
+:10377000D201BF91AF919F918F910F900FBE0F908B\r
+:103780001F9018950E94F70BF8942FEF87EA91E6A7\r
+:10379000215080409040E1F700C0000087E090EBAE\r
+:1037A000DC018093EE019093EF01A093F001B093C0\r
+:1037B000F1019CE088E10FB6F894A8958093600031\r
+:1037C0000FBE90936000FFCFEF92FF920F931F9375\r
+:1037D000CF93DF93D82FC0E08C2F0E94110500E01B\r
+:1037E00010E0E82EF12CC701002E02C095958795B8\r
+:1037F0000A94E2F780FD06C00F5F1F4F06301105E7\r
+:1038000091F709C0602F7C2F80E00E941905D81322\r
+:10381000F3CF81E004C0CF5FCE30F1F680E0DF91DE\r
+:10382000CF911F910F91FF90EF900895CF93C82FE4\r
+:103830008CE20E94E41B882321F08C2FCF910C9402\r
+:10384000E41B80E0CF910895CF930E946B1D8111FE\r
+:1038500002C00E94511DC5E6C15049F00E942304D8\r
+:103860008FE39CE90197F1F700C00000F5CF89E2F2\r
+:103870000E94161C811113C18AE20E94161C81113C\r
+:103880000E94511D85E00E94161C81110E94C21BDE\r
+:103890000E94761D8093CD0187E00E94161C88232C\r
+:1038A000A9F18BE10E94161C882351F08091CD0173\r
+:1038B00081FB222720F991E0922790FB81F90EC02D\r
+:1038C0008EE00E94161C882361F08091CD0182FB5E\r
+:1038D000222720F991E0922790FB82F98093CD0175\r
+:1038E00015C080E10E94161C9091CD01882341F003\r
+:1038F00093FB222720F981E0822780FB93F904C003\r
+:10390000892F809580FB90F99093CD018091CD0116\r
+:103910000E947A1D0E94881D8093ED0180EE0E9416\r
+:10392000161C882341F08091ED01982F909590FB13\r
+:1039300080F98093ED0189E30E94161C882359F0D9\r
+:103940008091ED0181FB222720F991E0922790FBE5\r
+:1039500081F98093ED0182EE0E94161C882359F0B4\r
+:103960008091ED0182FB222720F991E0922790FBC4\r
+:1039700082F98093ED0186EE0E94161C882359F08F\r
+:103980008091ED0183FB222720F991E0922790FBA3\r
+:1039900083F98093ED0183EE0E94161C882359F071\r
+:1039A0008091ED0184FB222720F991E0922790FB82\r
+:1039B00084F98093ED0185E30E94161C882359F059\r
+:1039C0008091ED0185FB222720F991E0922790FB61\r
+:1039D00085F98093ED0181E30E94161C882359F03C\r
+:1039E0008091ED0186FB222720F991E0922790FB40\r
+:1039F00086F98093ED0181E10E94161C882359F01D\r
+:103A00008091ED0187FB222720F991E0922790FB1E\r
+:103A100087F98093ED018091ED010E948C1D8091CA\r
+:103A2000ED0187FB882780F980930D0187E20E94D2\r
+:103A3000161CC82F8EE10E94161C8111C2608FE1F6\r
+:103A40000E94161C8111C46080E20E94161C811124\r
+:103A5000C86081E20E94161C8111C06182E20E944E\r
+:103A6000161C8111C06283E20E94161C8111C06481\r
+:103A700084E20E94161C882311F0C06802C0CC2387\r
+:103A800029F08C2F0E94831D6C2F03C00E947F1D84\r
+:103A9000682F70E080E090E0CF910C944618CF91B1\r
+:103AA00008956DEE7EEF80E090E00E94BD2360E01F\r
+:103AB00082E090E00E94AB2360E083E090E00E940F\r
+:103AC000AB2360E084E090E00E94AB2360E085E0FF\r
+:103AD00090E00C94AB2380E090E00E94A52321E0CD\r
+:103AE0008D3E9E4F09F020E0822F089582E090E005\r
+:103AF0000C949D23682F82E090E00C94AB2383E02C\r
+:103B000090E00C949D23682F83E090E00C94AB230D\r
+:103B100084E090E00C949D23682F84E090E00C9466\r
+:103B2000AB238091D50180FF0BC06091130185E02C\r
+:103B3000689FB001112475956795759567952BC0A1\r
+:103B400081FF09C06091130185E0689FB0011124D5\r
+:103B50007595679520C082FF07C06091130185E0CD\r
+:103B6000689FB001112417C09091D6019923D1F01C\r
+:103B700060911201961788F72091130185E0289F24\r
+:103B800090011124929FA001939F500D112470E089\r
+:103B9000CA010E946F236038710540F461157105F8\r
+:103BA00039F002C065E070E0862F08958FE7089530\r
+:103BB00081E008958091D50180FF08C060911101D6\r
+:103BC00070E0759567957595679521C081FF06C072\r
+:103BD0006091110170E07595679519C082FF04C06E\r
+:103BE0006091110170E010C09091D6019923C1F04D\r
+:103BF000609110019617A0F780911101899FC00173\r
+:103C0000112470E00E946F236038710528F461155B\r
+:103C1000710521F0862F08958FE7089581E00895BA\r
+:103C200061E070E0F4CF803F21F40E94911D819506\r
+:103C300004C0813F29F40E94911D8093D901089509\r
+:103C4000823F21F40E94911D819504C0833F29F495\r
+:103C50000E94911D8093D8010895893F19F40E9414\r
+:103C6000DA1D05C08A3F31F40E94DA1D81958093E8\r
+:103C7000DA0108958B3F21F40E94DA1D819504C07A\r
+:103C80008C3F29F40E94DA1D8093DB010895843F64\r
+:103C900021F48091D701816017C0853F21F4809184\r
+:103CA000D701826011C0863F21F48091D7018460E2\r
+:103CB0000BC0873F21F48091D701886005C0883F01\r
+:103CC00031F48091D70180618093D70108958D3FB1\r
+:103CD00021F48091D50181600BC08E3F21F4809149\r
+:103CE000D501826005C08F3F29F48091D5018460A1\r
+:103CF0008093D5010895803F39F48091D90187FFE1\r
+:103D00006CC01092D90169C0813F29F48091D9011A\r
+:103D10001816BCF362C09091D801823F29F497FF36\r
+:103D20005CC01092D80159C0833F19F41916CCF326\r
+:103D300054C0893F41F48091DA0118160CF04DC04F\r
+:103D40001092DA014AC08A3F29F48091DA0187FF94\r
+:103D500044C0F6CF8B3F39F48091DB0187FF3DC033\r
+:103D60001092DB013AC08C3F29F48091DB011816D8\r
+:103D7000BCF333C0843F21F48091D7018E7F17C0FC\r
+:103D8000853F21F48091D7018D7F11C0863F21F4BA\r
+:103D90008091D7018B7F0BC0873F21F48091D701A1\r
+:103DA000877F05C0883F31F48091D7018F7E809353\r
+:103DB000D70113C08D3F21F48091D5018E7F0BC0B8\r
+:103DC0008E3F21F48091D5018D7F05C08F3F29F46E\r
+:103DD0008091D5018B7F8093D5018091D80181118D\r
+:103DE0000EC08091D90181110AC08091DA01811140\r
+:103DF00006C08091DB01811102C01092D6010895A6\r
+:103E000087ED91E00E94110F0E94671B9093D401EF\r
+:103E10008093D30108951F93CF93DF938091D301B3\r
+:103E20009091D4010E94731BAC019091D60199230B\r
+:103E300021F02091140130E006C0209115018AE0A4\r
+:103E4000289F900111244217530708F486C08091DF\r
+:103E5000D801C091D901D091DA011091DB01811113\r
+:103E600007C0C11176C0D11174C0111172C075C0E4\r
+:103E70009F3F19F09F5F9093D601181624F40E947B\r
+:103E8000911D8093D8018091D80187FF05C00E94C1\r
+:103E9000911D81958093D8011C1624F40E94911DD8\r
+:103EA0008093D9018091D90187FF05C00E94911D9F\r
+:103EB00081958093D9016091D801662339F1C09131\r
+:103EC000D901CC2319F1772767FD7095872F972F9C\r
+:103ED0000E94802223E333E343E35FE30E94E42272\r
+:103EE0000E944D226093D8016C2F772767FD709553\r
+:103EF000872F972F0E94802223E333E343E35FE37E\r
+:103F00000E94E4220E944D226093D9011D1624F4E0\r
+:103F10000E94DA1D8093DA018091DA0187FF05C0E3\r
+:103F20000E94DA1D81958093DA01111624F40E9413\r
+:103F3000DA1D8093DB018091DB0187FF05C00E94C1\r
+:103F4000DA1D81958093DB01DF91CF911F910C9455\r
+:103F5000001F9F3F09F08ECF96CFDF91CF911F9129\r
+:103F60000895E7EDF1E085E0DF011D928A95E9F71C\r
+:103F70001092D6011092D5010895833081F128F472\r
+:103F8000813059F08230D1F00895853009F449C06C\r
+:103F9000B8F1863009F456C0089580911501262F96\r
+:103FA00030E0280F311D2F3F310524F4680F609356\r
+:103FB000150108958FEF80931501089580911401E4\r
+:103FC000262F30E0280F311D2F3F310524F4680FD4\r
+:103FD0006093140108958FEF8093140108958091E8\r
+:103FE0001301262F30E0280F311D2F3F310524F417\r
+:103FF000680F6093130108958FEF80931301089564\r
+:1040000080911201262F30E0280F311D2F3F3105FE\r
+:1040100024F4680F6093120108958FEF80931201CA\r
+:10402000089580911101262F30E0280F311D2F3F78\r
+:10403000310524F4680F6093110108958FEF809388\r
+:104040001101089580911001262F30E0280F311DB5\r
+:104050002F3F310524F4680F6093100108958FEF0E\r
+:10406000809310010895833011F128F4813049F0D4\r
+:10407000823091F00895853081F120F18630C1F1D0\r
+:10408000089580911501681720F4861B809315010F\r
+:10409000089510921501089580911401681720F475\r
+:1040A000861B809314010895109214010895809145\r
+:1040B0001301681720F4861B809313010895109252\r
+:1040C0001301089580911201681720F4861B8093D4\r
+:1040D000120108951092120108958091110168173C\r
+:1040E00020F4861B80931101089510921101089508\r
+:1040F00080911001681720F4861B809310010895A9\r
+:104100001092100108950F931F938D3109F46BC025\r
+:1041100008F03FC08E3009F47FC0C0F4873009F446\r
+:1041200069C068F4863009F0B1C08091CD01817F0B\r
+:104130008E7F8093CD0181E08093DD01A8C088301F\r
+:1041400009F4A2C08B3009F49FC0A0C0863109F4E5\r
+:104150009BC078F4803109F472C0813109F096C0B7\r
+:104160000E948A1490910D0181E0892780930D01AE\r
+:104170008BC0893109F488C08B3109F087C08091E8\r
+:10418000CD0181FB222720F991E0922790FB81F954\r
+:104190004CC0853309F470C048F4873209F46CC010\r
+:1041A00008F459C0893209F467C070C0833438F408\r
+:1041B0008A3308F04EC0883309F466C067C0833480\r
+:1041C00009F45AC0883409F061C00E948A140FEFC4\r
+:1041D00013ED20E3015010402040E1F700C0000043\r
+:1041E0000E94C21B51C00E9407220E94FA0E0E9428\r
+:1041F000F3074AC09091CD01892F8095817080FB93\r
+:1042000090F929F0966098609093CD0140C0997F15\r
+:10421000977F9093CD0138C08091CD0182FB2227FA\r
+:1042200020F991E0922790FB82F98093CD019923A8\r
+:1042300059F18091CD0181608093CD0125C080919D\r
+:10424000CD0183FB222720F991E0922790FB83F98F\r
+:10425000ECCF895301C08D5141E050E060E070E047\r
+:104260008A019B0104C0000F111F221F331F8A9572\r
+:10427000D2F7C901B80104C061E070E080E090E0CD\r
+:104280000E9446180E948A1481E001C080E01F91BC\r
+:104290000F91089580E0089580E00895CF93C82F8E\r
+:1042A0008091DD01813079F018F08230E9F187C02A\r
+:1042B000E0910E01F0910F018081813169F082322D\r
+:1042C00009F07FC009C0E0910E01F0910F018081DB\r
+:1042D000813111F0823261F48C2F0E944A218111C8\r
+:1042E00004C08C2F0E9483201DC081E090E01AC082\r
+:1042F0008C2F0E944C21811114C0C43179F048F4F4\r
+:10430000CB3079F0C03109F060C082E08093DD01EC\r
+:1043100008C0C93219F0C83321F057C01092DD012E\r
+:1043200054C081E0817053C0C93289F118F5C4319D\r
+:1043300071F1A8F4C73009F046C08AE080931501F6\r
+:1043400094E19093140193E09093130180931201F0\r
+:1043500088E08093110188E28093100134C0CE512F\r
+:10436000C63088F5EC2FF0E0E65DFE4F808180934B\r
+:10437000DC0129C0CE34E9F020F4CB3421F56AE029\r
+:1043800013C0C13579F0C235F1F461E00DC0809100\r
+:10439000DC01882319F01092DC0115C081E08093C4\r
+:1043A000DD0115C061E006C08091DC010E94BD1FE7\r
+:1043B0000AC06AE08091DC010E94332004C01092A0\r
+:1043C000DD0180E004C081E002C080E0ABCFCF918E\r
+:1043D0000895E1E8F0E080818860808380818160D9\r
+:1043E00080838FB7F89493E09093890090ED909339\r
+:1043F00088008FBF0895EFE6F0E0808182608083BF\r
+:104400000895EFE6F0E080818D7F80830895EFE6E8\r
+:10441000F0E0908182E08927808308951F920F92B7\r
+:104420000FB60F9211242F933F934F935F936F9387\r
+:104430007F938F939F93AF93BF93EF93FF9380915D\r
+:10444000DE019091DF0101969093DF018093DE0100\r
+:10445000811103C082E00E94F307E091DF01E6953D\r
+:10446000E695F0E0E657FB4FE4918091DE018E1374\r
+:1044700003C080E00E94F307FF91EF91BF91AF91DD\r
+:104480009F918F917F916F915F914F913F912F916C\r
+:104490000F900FBE0F901F90189504D06894B11123\r
+:1044A0008DC0089570D088F09F5790F0B92F99274C\r
+:1044B000B751A0F0D1F0660F771F881F991F1AF02F\r
+:1044C000BA95C9F712C0B13081F077D0B1E0089544\r
+:1044D00074C0672F782F8827B85F39F0B93FCCF3C5\r
+:1044E000869577956795B395D9F73EF49095809525\r
+:1044F000709561957F4F8F4F9F4F0895E89409C045\r
+:1045000097FB3EF490958095709561957F4F8F4F06\r
+:104510009F4F9923A9F0F92F96E9BB279395F6951C\r
+:10452000879577956795B795F111F8CFFAF4BB0F9A\r
+:1045300011F460FF1BC06F5F7F4F8F4F9F4F16C0FE\r
+:10454000882311F096E911C0772321F09EE8872F88\r
+:10455000762F05C0662371F096E8862F70E060E044\r
+:104560002AF09A95660F771F881FDAF7880F9695BD\r
+:10457000879597F9089557FD9058440F551F59F0A6\r
+:104580005F3F71F04795880F97FB991F61F09F3F40\r
+:1045900079F087950895121613061406551FF2CF69\r
+:1045A0004695F1DF08C0161617061806991FF1CFB9\r
+:1045B00086957105610508940895E894BB276627E0\r
+:1045C0007727CB0197F908950BD078C069D028F0F0\r
+:1045D0006ED018F0952309F05AC05FC01124EECFB9\r
+:1045E000CADFA0F3959FD1F3950F50E0551F629F4E\r
+:1045F000F001729FBB27F00DB11D639FAA27F00D3C\r
+:10460000B11DAA1F649F6627B00DA11D661F829F62\r
+:104610002227B00DA11D621F739FB00DA11D621F47\r
+:10462000839FA00D611D221F749F3327A00D611D64\r
+:10463000231F849F600D211D822F762F6A2F112446\r
+:104640009F5750408AF0E1F088234AF0EE0FFF1F99\r
+:10465000BB1F661F771F881F91505040A9F79E3FD0\r
+:10466000510570F014C0AACF5F3FECF3983EDCF325\r
+:10467000869577956795B795F795E7959F5FC1F70D\r
+:10468000FE2B880F911D9695879597F9089597F9B8\r
+:104690009F6780E870E060E008959FEF80EC0895E8\r
+:1046A00000240A9416161706180609060895002411\r
+:1046B0000A9412161306140605060895092E03948B\r
+:1046C000000C11F4882352F0BB0F40F4BF2B11F4FF\r
+:1046D00060FF04C06F5F7F4F8F4F9F4F089597FB20\r
+:1046E000072E16F4009407D077FD09D00E94892385\r
+:1046F00007FC05D03EF4909581959F4F08957095E5\r
+:1047000061957F4F0895EE0FFF1F0590F491E02D06\r
+:104710000994AA1BBB1B51E107C0AA1FBB1FA61708\r
+:10472000B70710F0A61BB70B881F991F5A95A9F75A\r
+:1047300080959095BC01CD010895F999FECF92BD69\r
+:1047400081BDF89A992780B50895A8E1B0E042E0CC\r
+:1047500050E00C94C523262FF999FECF92BD81BD60\r
+:10476000F89A019700B4021639F01FBA20BD0FB6AF\r
+:10477000F894FA9AF99A0FBE08950196272F0E948D\r
+:10478000AC230C94AB23DC01CB01FC01F999FECFE7\r
+:1047900006C0F2BDE1BDF89A319600B40D924150C9\r
+:0A47A0005040B8F70895F894FFCFD9\r
+:1047AA002002F507830860082C08F8070101BA01FE\r
+:1047BA0028080A03140A3F4D36394B04FE03C8037E\r
+:1047CA008F0322033B0354036D030102030405060E\r
+:0447DA0007080900C3\r
+:00000001FF\r
diff --git a/keyboard/ergodox_ez/keymaps/techtomas/keymap.c b/keyboard/ergodox_ez/keymaps/techtomas/keymap.c
new file mode 100644 (file)
index 0000000..b7d3b9a
--- /dev/null
@@ -0,0 +1,231 @@
+#include "ergodox_ez.h"
+#include "debug.h"
+#include "action_layer.h"
+
+#define BASE 0 // default layer
+#define SYMB 1 // symbols
+#define MDIA 2 // media
+#define CNTL 3 // control layer
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+/* Keymap 0: Basic layer
+ *
+ * ,--------------------------------------------------.           ,--------------------------------------------------.
+ * | L1/`   |   1  |   2  |   3  |   4  |   5  |CmdSpc|           | -    |   6  |   7  |   8  |   9  |   0  |   =    |
+ * |--------+------+------+------+------+-------------|           |------+------+------+------+------+------+--------|
+ * |Meh/Tab |   Q  |   W  |   E  |   R  |   T  | STab |           |  L3  |  Y   |   U  |   I  |   O  |   P  | Meh/\  |
+ * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
+ * |Hyp/Esc | L3/A |   S  |   D  |   F  |   G  |------|           |------|   H  |   J  |   K  |   L  | L2/; | Hyp/'  |
+ * |--------+------+------+------+------+------| Tab  |           |AltGui|------+------+------+------+------+--------|
+ * | LShift | L3/Z |   X  |   C  |   V  |   B  |      |           |      |   N  |   M  |   ,  |   .  | L2// | RShift |
+ * `--------+------+------+------+------+-------------'           `-------------+------+------+------+------+--------'
+ *   |LCtrl | LAlt  | LGui |Left |Right |                                       |  UP  | Down |   [  |   ]  |  L1  |
+ *   `----------------------------------'                                       `----------------------------------'
+ *                                         ,-------------.       ,-------------.
+ *                                         | LCtl | LGui |       | LAlt |ShfGui|
+ *                                 ,-------|------|------|       |------+--------+------.
+ *                                 |       |      | Home |       | PgUp |       |       |
+ *                                 | Backsp|Delete|------|       |------| Enter | Space |
+ *                                 |       |      | 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
+        LT(SYMB,KC_GRV), KC_1,           KC_2,    KC_3,    KC_4,    KC_5,   LGUI(KC_SPC),
+        MEH_T(KC_TAB),   KC_Q,           KC_W,    KC_E,    KC_R,    KC_T,   S(KC_TAB),
+        ALL_T(KC_ESC),   LT(CNTL,KC_A),  KC_S,    KC_D,    KC_F,    KC_G,
+        KC_LSFT,         LT(CNTL,KC_Z),  KC_X,    KC_C,    KC_V,    KC_B,   KC_TAB,
+        KC_LCTL,         KC_LALT,        KC_LGUI, KC_LEFT, KC_RIGHT,
+                                                                     KC_LCTL, KC_LGUI,
+                                                                              KC_HOME,
+                                                           KC_BSPC, KC_DELETE, KC_END,
+        // right hand
+       KC_MINS,       KC_6,   KC_7,           KC_8,     KC_9,      KC_0,             KC_EQL,
+       KC_FN3,        KC_Y,   KC_U,           KC_I,     KC_O,      KC_P,             MEH_T(KC_BSLS),
+                      KC_H,   KC_J,           KC_K,     KC_L,      LT(MDIA,KC_SCLN), ALL_T(KC_QUOT),
+       LALT(KC_LGUI), KC_N,   KC_M,           KC_COMM,  KC_DOT,    LT(MDIA,KC_SLSH), KC_RSFT,
+                              KC_UP,          KC_DOWN,  KC_LBRC,   KC_RBRC,          KC_FN1,
+       KC_LALT, S(KC_LGUI),
+       KC_PGUP,
+       KC_PGDN,KC_ENT, KC_SPC
+    ),
+/* Keymap 1: Symbol Layer
+ *
+ * ,--------------------------------------------------.           ,--------------------------------------------------.
+ * |        |  F1  |  F2  |  F3  |  F4  |  F5  |      |           |      |  F6  |  F7  |  F8  |  F9  |  F10 |   F11  |
+ * |--------+------+------+------+------+-------------|           |------+------+------+------+------+------+--------|
+ * |        |   !  |   @  |   {  |   }  |   |  |   <  |           |  >   |   :  |   7  |   8  |   9  |   /  |   F12  |
+ * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
+ * |        |   #  |   $  |   (  |   )  |   `  |------|           |------|   ;  |   4  |   5  |   6  |   *  |  Prnt  |
+ * |--------+------+------+------+------+------|  F14 |           | F15  |------+------+------+------+------+--------|
+ * |        |   %  |   ^  |   [  |   ]  |   ~  |      |           |      |   &  |   1  |   2  |   3  |   -  |  Entr  |
+ * `--------+------+------+------+------+-------------'           `-------------+------+------+------+------+--------'
+ *   |      |      |      |      |      |                                       |   0   |   . |   =  |   +  |      |
+ *   `----------------------------------'                                       `----------------------------------'
+ *                                        ,-------------.       ,-------------.
+ *                                        |      |      |       |      |      |
+ *                                 ,------|------|------|       |------+------+------.
+ *                                 |      |      |      |       |      |      |      |
+ *                                 |      |      |------|       |------|      |      |
+ *                                 |      |      |      |       |      |      |      |
+ *                                 `--------------------'       `--------------------'
+ */
+// SYMBOLS
+[SYMB] = KEYMAP(
+       // left hand
+       KC_TRNS,KC_F1,  KC_F2,  KC_F3,  KC_F4,  KC_F5,  KC_TRNS,
+       KC_TRNS,KC_EXLM,KC_AT,  KC_LCBR,KC_RCBR,KC_PIPE,S(KC_COMM),
+       KC_TRNS,KC_HASH,KC_DLR, KC_LPRN,KC_RPRN,KC_GRV,
+       KC_TRNS,KC_PERC,KC_CIRC,KC_LBRC,KC_RBRC,KC_TILD,KC_F14,
+       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,
+       S(KC_DOT), KC_COLN, KC_7,   KC_8,    KC_9,    KC_BSLS, KC_F12,
+                  KC_SCLN, KC_4,   KC_5,    KC_6,    KC_ASTR, KC_PSCR,
+       KC_F15,    KC_AMPR, KC_1,   KC_2,    KC_3,    KC_MINS, KC_ENT,
+                           KC_0,   KC_DOT,  KC_EQL,  KC_PLUS, KC_TRNS,
+       KC_TRNS, KC_TRNS,
+       KC_TRNS,
+       KC_TRNS, KC_TRNS, KC_TRNS
+),
+/* Keymap 2: Media Layer
+ *
+ * ,--------------------------------------------------.           ,--------------------------------------------------.
+ * |        |      |      |      |      |      |      |           |      |      |      |      |      |      |        |
+ * |--------+------+------+------+------+-------------|           |------+------+------+------+------+------+--------|
+ * |        |      |      |      |      |      |      |           |      |      |      |      |      |      |        |
+ * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
+ * |        |      |      |      |      |      |------|           |------|      |      |      |      |      |        |
+ * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
+ * |        |      |      |      |      |      |      |           |      |      |      |      |      |      |        |
+ * `--------+------+------+------+------+-------------'           `-------------+------+------+------+------+--------'
+ *   |      |      |      |      |      |                                       |      |      |      |      |      |
+ *   `----------------------------------'                                       `----------------------------------'
+ *                                        ,-------------.       ,-------------.
+ *                                        | Prev | Next |       | Prev | Next |
+ *                                 ,------|------|------|       |------+------+------.
+ *                                 |      |      | VolUp|       | VolUp|      |      |
+ *                                 | Play | Mute |------|       |------| Mute | Play |
+ *                                 |      |      | VolDn|       | VolDn|      |      |
+ *                                 `--------------------'       `--------------------'
+ */
+// Control
+[MDIA] = KEYMAP(
+       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_TRNS,
+       KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+                                           KC_MPRV, KC_MNXT,
+                                                    KC_VOLU,
+                                  KC_MPLY, KC_MUTE, KC_VOLD,
+    // 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_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_MPRV, KC_MNXT,
+       KC_VOLU,
+       KC_VOLD, KC_MUTE, KC_MPLY
+),
+/* Keymap 3: Control Layer
+ *
+ * ,--------------------------------------------------.           ,--------------------------------------------------.
+ * |  Sleep |      |      |      |      |      | Pwr  |           |      |      |      |      |      |      |        |
+ * |--------+------+------+------+------+-------------|           |------+------+------+------+------+------+--------|
+ * |        |      |      | MsUp |      |      |      |           |      |      |      |      |      |      |        |
+ * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
+ * |        |      |MsLeft|MsDown|MsRght| Lclk |------|           |------|  Lft | Down | Up   | Right|      |        |
+ * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
+ * |        |      |      |      |      | Rclk |      |           |      |      |      |      |      |      |        |
+ * `--------+------+------+------+------+-------------'           `-------------+------+------+------+------+--------'
+ *   |      |      |      |      |      |                                       |      |      |      |      |      |
+ *   `----------------------------------'                                       `----------------------------------'
+ *                                        ,-------------.       ,-------------.
+ *                                        |      |      |       |      |      |
+ *                                 ,------|------|------|       |------+------+------.
+ *                                 |      |      |      |       |      |      |      |
+ *                                 |      |      |------|       |------|      |      |
+ *                                 |      |      |      |       |      |      |      |
+ *                                 `--------------------'       `--------------------'
+ */
+// Control
+[CNTL] = KEYMAP(
+       KC_SLEP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PWR,
+       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_BTN1,
+       KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN2, KC_TRNS,
+       KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+                                           KC_TRNS, KC_TRNS,
+                                                    KC_TRNS,
+                                  KC_TRNS, KC_TRNS, KC_TRNS,
+    // right hand
+       KC_TRNS,  KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+       KC_TRNS,  KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+                 KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, 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
+),
+};
+
+const uint16_t PROGMEM fn_actions[] = {
+    [1] = ACTION_LAYER_TAP_TOGGLE(SYMB),
+    [2] = ACTION_LAYER_TAP_TOGGLE(MDIA),
+    [3] = ACTION_LAYER_TAP_TOGGLE(CNTL)             // 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;
+        case 3:
+          ergodox_right_led_3_on();
+          break;
+        default:
+            // none
+            break;
+    }
+
+};
diff --git a/keyboard/ergodox_ez/keymaps/techtomas/readme.md b/keyboard/ergodox_ez/keymaps/techtomas/readme.md
new file mode 100644 (file)
index 0000000..1ed80fc
--- /dev/null
@@ -0,0 +1,36 @@
+# Techtomas Configuration
+
+## Base Layer
+
+The base layer is a merge of what I liked with the default layout and the ordinary layout. The thumb cluster is more like the Kinesis advantage and the top row of the cluster is convient for use on the mac.
+
+* The Caps Lock postion handles [Hyper/Esc](http://brettterpstra.com/2012/12/08/a-useful-caps-lock-key/)
+* The Tab key toggles MEH.
+* The two vertical mods on the left board are Shift+Tab and Tab.
+* The two vertical mods on the right board are Control Layer tap/toggle and Alt+Cmd.
+* The HYPER and MEH key are made in the same location on the right side of the board as well. Using Keyboard Maestro for OS X makes one-handed shortcuts very easy.
+
+## Symbol Layer
+The symbol layer can be tap/toggled through the bottom right key and also toggled holding the tilde/grave key in the upper left corner. I haven't used the symbol layer enough to tell if this was a good place or not but it made sense in my head
+
+The bottom two vertical mods are set to F14 and F15 which is the default for changing screen brightness on the mac
+
+## Media Layer
+/ & ; will toggle the media layer which has play and volume controls assigned to the thumb cluster. I found this an easy way to quickly play/pause
+
+## Control Layer
+The a and z keys toggle the control layer.
+
+On the left board you have mouse control with left & right click in the location of the G and B keys.
+On the right board you have vim-style arrow keys using hjkl
+
+The thumb cluster and mods all pass down to this layer.
+
+## Changelog
+
+* Apr 29, 2016 (V1.1):
+  * Added F14 and F15 to symbol layer
+  * Added control layer toggle to A key.
+
+* Apr 28, 2016 (V1.0):
+  * Modified config based on the default layout plus inspiration from the ordinary layout
diff --git a/keyboard/ergodox_ez/keymaps/techtomas/techtomas.hex b/keyboard/ergodox_ez/keymaps/techtomas/techtomas.hex
new file mode 100644 (file)
index 0000000..8aa8492
--- /dev/null
@@ -0,0 +1,1166 @@
+:100000000C94BB020C9402030C9402030C940203A4
+:100010000C9402030C9402030C9402030C9402034C
+:100020000C9402030C9402030C94D20C0C94A40DB7
+:100030000C9402030C9402030C9402030C9402032C
+:100040000C9402030C9470220C9402030C9402038F
+:100050000C9402030C94001C0C9402030C940203F5
+:100060000C9402030C9402030C9402030C940203FC
+:100070000C9402030C9402030C9402030C940203EC
+:100080000C9402030C9402030C9402030C940203DC
+:100090000C9402030C9402030C9402030C940203CC
+:1000A0000C9402030C9402030C940203110E330E01
+:1000B000210F330E210F780E9B0E210FF00E030F30
+:1000C000EF11EF112C122C126F12AD12C614C614C0
+:1000D000C612C614C713C7139A14C614C614B11493
+:1000E0000000F0A1F0A2F0A335812B77297FE10079
+:1000F000E00000001E00140004831D83E2004D0098
+:100100001F001A0016001B00E3004C00200008002E
+:100110000700060050002A00210015000900190000
+:100120004F004A00220017000A0005000000E0000E
+:100130002C082B0200002B000000E3002D00C30060
+:100140000000E3040000E20023001C000B0011008B
+:100150000000E302240018000D00100052004B00C4
+:1001600025000C000E00360051002C002600120065
+:100170000F0037002F002800270013003382388239
+:1001800030004E002E003177347FE500C1000000C2
+:100190000100010001000100010000003A001E0200
+:1001A00020022202010001003B001F022102230263
+:1001B000010001003C002F0226022F000100010077
+:1001C0003D00300227023000010001003E003102F4
+:1001D0003500350200000100010036020000690010
+:1001E000000001000100370200006A000000010069
+:1001F0003F003302330024020000010040002400CD
+:1002000021001E00270001004100250022001F00E0
+:100210003700010042002600230020002E000100CC
+:100220004300310025022D002E020100440045004C
+:10023000460028000100000001000100010001004B
+:100240000100000001000100010001000100AA00FE
+:1002500001000100010001000100A80001000100EF
+:10026000010001000100AE000100010001000100D9
+:100270000100A90001000100010001000000AC0024
+:1002800001000100000001000000AB0001000100BE
+:10029000000001000000AC000100010001000100AD
+:1002A0000000AB0001000100010001000100A900F5
+:1002B00001000100010001000100AE000100010089
+:1002C000010001000100A80001000100010001007F
+:1002D0000100AA000100010001000100010000006E
+:1002E000A600010001000100010000000100010062
+:1002F000010001000100010001000100F200010005
+:10030000010001000100F000F10001000100010006
+:1003100001000100F30001000100010001000100E3
+:10032000F400F50000000100A5000100000001003C
+:1003300000000100010001000000010000000100B8
+:100340000100010050000100000001000100010057
+:1003500051000100010001000100010052000100F4
+:1003600001000100010001004F0001000100010037
+:100370000100010001000100010001000100010075
+:100380000100010001000000160345007200670033
+:100390006F0044006F007800200045005A00000004
+:1003A00016034500720067006F0044006F0078007C
+:1003B000200045005A0000000403090409026D00F2
+:1003C000040100A0FA090400000103010100092151
+:1003D00011010001223F000705810308000A0904FA
+:1003E00001000103010200092111010001224D0059
+:1003F0000705820308000A09040200010300000047
+:100400000921110100012236000705830308000AB3
+:100410000904030001030000000921110100012269
+:1004200039000705840310000112011001000000CB
+:1004300008EDFE071301000102000105010906A1F4
+:1004400001050719E029E7150025019508750181C7
+:100450000205081901290595057501910295017597
+:100460000391010507190029771500250195787575
+:10047000018102C005010980A10185021601002643
+:10048000B7001A01002AB700751095018100C00558
+:100490000C0901A1018503160100269C021A010026
+:1004A0002A9C02751095018100C005010902A10175
+:1004B0000901A10005091901290515002501950566
+:1004C000750181029501750381010501093009312A
+:1004D0001581257F95027508810609381581257FCC
+:1004E000950175088106050C0A38021581257F954E
+:1004F0000175088106C0C005010906A1010507199B
+:10050000E029E7150025019508750181029501751F
+:1005100008810105081901290595057501910295C4
+:1005200001750391010507190029FF150025FF95A5
+:100530000675088100C000000000000000000000F7
+:1005400000010204060A0F17202C3A4A5D71879DAC
+:10055000B3C7DAE9F5FCFFFCF5E9DAC7B39D8771AB
+:100560005D4A3A2C20170F0A060402010000000021
+:1005700000000000000011241FBECFEFDAE0DEBF54
+:10058000CDBF04B603FE27C08091EE019091EF012C
+:10059000A091F001B091F1018730904BA740B04B92
+:1005A000D1F41092EE011092EF011092F00110922E
+:1005B000F10114BE84B7877F84BF0FB6F894A89565
+:1005C00080916000886180936000109260000FBE8F
+:1005D000E0E0FFE3099511E0A0E0B1E0ECE8F8E429
+:1005E00002C005900D92A433B107D9F721E0A4E32E
+:1005F000B1E001C01D92AE3EB207E1F70E94130ABE
+:100600000C9444240C94000061110BC0FC01828105
+:10061000882321F085EE0E94831003C085EE0E949E
+:100620004B1180E090E0089508956091B1017091C0
+:10063000B2018091B3019091B4010E94291B569898
+:100640005E9825982D9826982E9827982F98823076
+:1006500039F0833041F0813041F4259A2D9A089584
+:10066000269A2E9A0895279A2F9A08950C94150386
+:1006700056985E9825982D9826982E9827982F980A
+:100680008FEF90E0909389008093880090938B0087
+:1006900080938A0090938D0080938C00259A2D9AE8
+:1006A0002FEF80E792E0215080409040E1F700C0BA
+:1006B0000000269A2E9A2FEF80E792E0215080408A
+:1006C0009040E1F700C00000279A2F9A2FEF80E7B3
+:1006D00092E0215080409040E1F700C00000259852
+:1006E0002D982FEF80E792E0215080409040E1F775
+:1006F00000C0000026982E982FEF80E792E021504E
+:1007000080409040E1F700C0000027982F9856984D
+:100710005E9825982D9826982E9827982F980895BA
+:1007200089EA8093800089E08093810024982C9846
+:100730003F988AB18F748AB96E98479A8BB1806B53
+:100740008BB9769A0E9438030C94140380E280934C
+:1007500000018091340181110EC00E94F50381E0F7
+:10076000809334012FEF83ED90E32150804090403F
+:10077000E1F700C0000080E40E94FB0380930001C9
+:1007800081112EC00E94250480930001811128C090
+:100790000E94250480930001811122C08FE30E94F2
+:1007A00025048093000181111BC00E941D0480E478
+:1007B0000E94FB0380930001811112C08CE00E9413
+:1007C00025048093000181110BC00E9425048093B1
+:1007D0000001811105C08FE30E9425048093000170
+:1007E0000E941D048091000108951092B9008AE0D2
+:1007F0008093B800089594EA9093BC009091BC0057
+:1008000097FFFCCF9091B900987F983021F09031FC
+:1008100011F081E008958093BB0084E88093BC00D0
+:100820008091BC0087FFFCCF8091B900887F883120
+:1008300011F0803471F780E0089584E98093BC0062
+:100840008091BC0084FDFCCF08958093BB0084E8B8
+:100850008093BC008091BC0087FFFCCF9091B900D1
+:10086000987F81E0983209F480E0089584E88093CD
+:10087000BC008091BC0087FFFCCF8091BB00089535
+:1008800080910001811115C080E40E94FB038093D8
+:10089000000181110CC082E10E94250480930001B7
+:1008A000811105C08FEF0E942504809300010E94F2
+:1008B0001D0484B1807F84B985B1807F85B98AB1F8
+:1008C000837F8AB98BB1837F8BB93E984698089510
+:1008D0000E94A603809300010E94400480B38C70A4
+:1008E00080BB81B3836F81BBA6E3B1E0E4E4F1E0B8
+:1008F0008EE08E0F11921D928E13FCCF0C949003FC
+:10090000BF92CF92DF92EF92FF920F931F93CF93FC
+:10091000DF9380910001882379F0809135018F5F0A
+:1009200080933501811108C00E94A60380930001C5
+:10093000811102C00E94380306E311E0C0E0D0E05C
+:10094000DD24D39482E0C82EEE24E394F12CC7304A
+:10095000D10500F580910001811164C080E40E94FE
+:10096000FB0380930001811112C082E10E942504E3
+:100970008093000181110BC0C7010C2E01C0880FAC
+:100980000A94EAF780950E942504809300010E9452
+:100990001D0448C0CA30A1F028F4C83059F0C9304D
+:1009A00061F005C0CC3089F070F0CD3089F0209A2C
+:1009B000289810C0219A29980DC0229A2A980AC016
+:1009C000239A2B9807C0529A01C0539A5B9802C091
+:1009D0003E9A469890EA9A95F1F79FB1799902C0AC
+:1009E00082E001C080E091709D25982B7C9902C027
+:1009F00084E001C080E0892B7D9902C038E001C00D
+:100A000030E0832B7E9902C020E101C020E0822BE0
+:100A10009FB19095991F9927991F9295990F907E54
+:100A2000892B0FC080910001811149C080E40E9490
+:100A3000FB0380930001882379F1B12C0E941D04EF
+:100A40008B2DF8019081981719F08083C0920101D5
+:100A50000E94400421960F5F1F4FCE30D10509F050
+:100A600076CF80910101882361F18150809301014B
+:100A7000882339F08FE99FE00197F1F700C000006B
+:100A800020C0A4E4B1E0E6E3F1E0CF01825F919100
+:100A90009D938E13FCCF15C083E10E9425048093A3
+:100AA00000018111CACF81E40E94FB038093000101
+:100AB0008111C3CF0E943604B82EB094BFCF80E01E
+:100AC000C0CF0E94360381E0DF91CF911F910F913B
+:100AD000FF90EF90DF90CF90BF900895E82FF0E067
+:100AE000EC5BFE4F808108950895089596E0799F0C
+:100AF000F001112494E5899FE00DF11D1124E60F0A
+:100B0000F11DEE0FFF1FE851FF4F8591949108955D
+:100B1000880F991FFC01E05AF04085919491089547
+:100B2000880F991FFC01E052FF4F85919491089521
+:100B30000F931F93CF93DF93EC018115904350F5F2
+:100B4000C11580E2D80708F0B3C0CB3BD10590F4C3
+:100B5000C83AD10508F05AC0C53AD10508F04BC0D3
+:100B6000C430D10508F0BBC1219709F0B5C101E03F
+:100B700010E0F5C1CF3FD10511F008F0B0C1C03F82
+:100B8000D10508F092C0CE01805E9109089708F463
+:100B9000A6C1A2C1C11591E5D907A8F4C23020E5CC
+:100BA000D20708F09EC0C11580E5D80709F485C0BA
+:100BB00008F091C0C11520E4D20708F08DC1DD27EF
+:100BC0008E01106CCCC1C11580E8D80758F4C1154E
+:100BD00090E7D90708F07CC1C11520E6D20708F4D8
+:100BE00022C17AC1C11580E9D80708F075C1DF704C
+:100BF0008E01106AB4C1C53AD10509F472C1C63A72
+:100C0000D10509F071C102E810E4A9C1C83AD105C3
+:100C100009F46DC1C93AD10509F46CC1CA3AD105CC
+:100C200009F46BC1CB3AD10509F46AC1CC3AD105BC
+:100C300009F469C1CD3AD10509F468C1C03BD105B9
+:100C400009F467C1CE3AD10509F466C1CF3AD1059E
+:100C500009F465C1C13BD10509F464C1C23BD105AA
+:100C600009F463C1C33BD10509F462C1C43BD1059A
+:100C700009F461C1C53BD10509F460C1C63BD1058A
+:100C800009F45FC1C73BD10509F45EC1C83BD1057A
+:100C900009F45DC1C93BD10509F45CC1CA3BD1056A
+:100CA00009F45BC100E014E45AC18E01106557C11C
+:100CB000CE019F700E94900553C10E94EA149FEFDD
+:100CC00024E38CE0915020408040E1F700C0000018
+:100CD0000E94251C44C18091CD0181608093CD018B
+:100CE0003EC10E94CE1D811102C00E94B41D0E940F
+:100CF000EB1D90E09093EE018093ED01C23090E502
+:100D0000D90721F48091ED01816086C0C43020E5CF
+:100D1000D20721F48091ED0182607EC0C63080E56B
+:100D2000D80721F48091ED01846076C0C83090E549
+:100D3000D90719F48091ED0127C0CA3020E5D20708
+:100D400021F48091ED01806167C0CC3080E5D80747
+:100D500021F48091ED0180625FC0CE3090E5D9072B
+:100D600021F48091ED01806457C0C03120E5D207A5
+:100D700021F48091ED0180684FC0C23180E5D80731
+:100D800029F48091ED018460886046C0C33090E50D
+:100D9000D90721F48091ED018E7F3EC0C53020E55A
+:100DA000D20721F48091ED018D7F36C0C73080E5F8
+:100DB000D80721F48091ED018B7F2EC0C93090E5DA
+:100DC000D90719F48091ED0126C0CB3020E5D20778
+:100DD00021F48091ED018F7E1FC0CD3080E5D807D2
+:100DE00021F48091ED018F7D17C0CF3090E5D907B8
+:100DF00021F48091ED018F7B0FC0C13120E5D20736
+:100E000021F48091ED018F7707C0C331D04531F4D3
+:100E10008091ED018B7F877F8093ED018091ED01C3
+:100E20000E94EF1D9CC08D2F99278F7099278130CC
+:100E30009105D9F49E012370332702C0880F991FB2
+:100E40002A95E2F79C688E0144E0000F111F4A9535
+:100E5000E1F700271370802B912B53E0CC0FDD1F9F
+:100E60005A95E1F7C076DD272FC08230910531F425
+:100E7000DC2FCC278E01016F106A71C08330910581
+:100E800069F4CE018370992701E010E002C0000FE1
+:100E9000111F8A95E2F7C8019C680FC0049709F0FA
+:100EA0005EC0CE018370992701E010E002C0000F00
+:100EB000111F8A95E2F7C8019A6823E0CC0FDD1F65
+:100EC0002A95E1F7C07ED7708C010C2B1D2B47C0F3
+:100ED000DF708E01106243C000E010E040C08E0160
+:100EE0003EC001E810E43BC003E810E438C002EE65
+:100EF00014E435C009EE14E432C00AEE14E42FC045
+:100F000005EB14E42CC006EB14E429C007EB14E451
+:100F100026C00CEC14E423C00DEC14E420C003E85C
+:100F200015E41DC00AE815E41AC002E915E417C06B
+:100F300004E915E414C001E216E411C003E216E46A
+:100F40000EC004E216E40BC005E216E408C006E297
+:100F500016E405C007E216E402C00AE216E4C8017E
+:100F6000DF91CF911F910F91089596E0799FF00145
+:100F7000112494E5899FE00DF11D1124E60FF11D68
+:100F8000EE0FFF1FE851FF4F85919491803E910530
+:100F9000E0F4803C910558F58133910509F46FC068
+:100FA00048F48932910509F463C08A32910509F445
+:100FB0006DC072C089339105E9F082389105D1F096
+:100FC0008533910509F44DC067C0833E910581F1D9
+:100FD00038F4803E9105B9F0823E9105D9F05CC0AD
+:100FE000863E910561F1873E9105A1F155C00E94B1
+:100FF000880508952091ED0120FD02C021FF4CC01D
+:1010000080EE90E049C08091ED0180FFF9CF89E347
+:1010100090E042C08091ED0182FF0EC08091ED0111
+:1010200084FF03C080E090E037C083EE90E034C0DE
+:101030008091ED0182FFF2CF82EE90E02DC0809191
+:10104000ED0183FF0BC08091ED0184FDEBCF87EEB6
+:1010500090E022C08091ED0183FFF5CF86EE90E015
+:101060001BC08091ED0185FF07C089E290E014C0AC
+:101070008091ED0185FFF9CF85E390E00DC080916F
+:10108000ED0186FF07C08AE290E006C08091ED0185
+:1010900086FFF9CF81E390E00E94980508950895B6
+:1010A0000C944F08809162010895CF93DF9300D094
+:1010B0001F92CDB7DEB79C018091E401843019F511
+:1010C00093E099833B832A839093E9008FEF90917B
+:1010D000E800815095FD06C095ED9A95F1F7000066
+:1010E0008111F5CF8091E80085FF0DC040E050E010
+:1010F00063E070E0CE0101960E94C20A8091E80090
+:101100008E778093E8000F900F900F90DF91CF9132
+:101110000895CF93DF9300D01F92CDB7DEB7209113
+:10112000E401243021F522E029839B838A8383E034
+:101130008093E9008FEF9091E800815095FD06C003
+:1011400095ED9A95F1F700008111F5CF8091E800B7
+:1011500085FF0DC040E050E063E070E0CE010196F5
+:101160000E94C20A8091E8008E778093E8000F9079
+:101170000F900F90DF91CF9108952091E4012430DA
+:10118000F1F422E02093E9002FEF3091E8002150A4
+:1011900035FD06C035ED3A95F1F700002111F5CF88
+:1011A0002091E80025FF0BC040E050E065E070E0D2
+:1011B0000E94C20A8091E8008E778093E80008952B
+:1011C000CF93DF93EC019091E401943009F046C095
+:1011D00080910C018823D9F080910D018823B9F00A
+:1011E0009093E9008FEF9091E800815095FD06C043
+:1011F00095E19A95F1F700008111F5CF8091E80013
+:1012000085FF2CC040E050E060E170E017C081E055
+:101210008093E9008FEF9091E800815095FD06C022
+:1012200095ED9A95F1F700008111F5CF8091E800D6
+:1012300085FF14C040E050E068E070E0CE010E94FD
+:10124000C20A8091E8008E778093E80080E1FE0179
+:10125000A2E5B1E001900D928A95E1F7DF91CF917F
+:1012600008958091E301811109C00E94570C0E94EA
+:10127000B40C8091E20084608093E20008951092A3
+:10128000E301089508950C945D220E94BB1B0E9407
+:1012900063220E945A0F0C94500842E061EC81E0F6
+:1012A0000E94D10B42E061EC82E00E94D10B42E04F
+:1012B00061EC83E00E94D10B42E161EC84E00C948C
+:1012C000D10B8091E601833009F455C030F48130B0
+:1012D00071F0823009F48EC008958A3009F47AC022
+:1012E0008B3009F460C0893009F09CC020C0809127
+:1012F000E501813A09F096C08091E800877F8093EC
+:10130000E8008091E9019091EA01892B21F460E1E4
+:1013100082E591E003C060E080E090E070E00E9430
+:101320000D0B8091E8008B778093E8000895809101
+:10133000E501813209F076C08091E9019091EA01DE
+:10134000009719F0039709F06DC08091E800877F3E
+:101350008093E8008091E80082FD05C08091E4015F
+:101360008111F8CF5FC08091F1008093620180917C
+:10137000E8008B7753C08091E501813A09F052C0B3
+:101380008091E9019091EA01892B09F04BC080918D
+:10139000E800877F8093E8008091E80080FFFCCF21
+:1013A00080910C0136C08091E5018132D9F58091A0
+:1013B000E9019091EA01892BA9F58091E800877FE6
+:1013C0008093E8000E94060C8091E70180930C0155
+:1013D0000C94EA148091E501813221F58091E800B6
+:1013E000877F8093E8000E94060C8091E80180933B
+:1013F000630108958091E501813AA1F48091E800AC
+:10140000877F8093E8008091E80080FFFCCF809187
+:1014100063018093F1008091E8008E778093E8006B
+:101420000C94060C089584B7877F84BF0FB6F89498
+:10143000A8958091600088618093600010926000A0
+:101440000FBE90E080E80FB6F8948093610090930F
+:1014500061000FBE0E94A90F0E94570C0E94B40C9D
+:101460008091E20084608093E20078940E943A0FB9
+:101470000E94AB0F82E091E00E94550F0E944B2228
+:101480008091E401853069F40E94791B8091E2012A
+:101490008823B1F30E94A71B882391F30E94AC0A12
+:1014A000EFCF0E94B10FECCF292F33272330310526
+:1014B000C9F064F42130310581F02230310509F0A2
+:1014C00043C08DE690E02CEB33E042C02132310581
+:1014D000F1F02232310541F137C082E190E029E29A
+:1014E00034E036C099278130910541F08230910572
+:1014F00041F0892B49F5E8EBF3E005C0E0EAF3E0C1
+:1015000002C0E8E8F3E0849190E09F0121C06430DC
+:10151000D8F4E62FF0E0EE0FFF1FEE5DFE4F2081C6
+:10152000318189E090E014C0643070F470E0FB0118
+:10153000EE0FFF1FE65EFE4F20813181FB01EA5E68
+:10154000FE4F808190E004C080E090E020E030E039
+:10155000FA0131832083089580E189BD82E189BD4C
+:1015600009B400FEFDCF8091D8008F7D8093D80014
+:101570008091E00082608093E0008091E00081FD36
+:10158000FCCF0895CF92DF92EF92FF920F931F93BB
+:10159000CF93DF93EC018B016A010E94250C81112E
+:1015A00033C0C114D10439F0F60180819181081B48
+:1015B000190BC80FD91FE12CF12C0115110519F1D8
+:1015C0008091E80085FD16C08091E8008E778093B9
+:1015D000E800C114D10449F0F60180819181E80E40
+:1015E000F91EF182E08285E00FC00E94250C88235D
+:1015F00021F30AC089918093F10001501109FFEF96
+:10160000EF1AFF0ADACF80E0DF91CF911F910F919F
+:10161000FF90EF90DF90CF9008952091EB013091F3
+:10162000EC012617370748F06115710539F4209150
+:10163000E8002E772093E80001C0B90140E0611571
+:101640007105A9F12091E401222309F443C025305A
+:1016500009F442C02091E80023FD40C02091E80039
+:1016600022FD32C02091E80020FFE9CF4091F30035
+:101670002091F20030E0342BFC01CF01611571059F
+:1016800059F02830310540F481918093F100615088
+:1016900071092F5F3F4FF1CF41E02830310509F04C
+:1016A00040E02091E8002E772093E800C8CF411158
+:1016B000C9CF0AC08091E401882361F0853061F0D0
+:1016C0008091E80083FD0AC08091E80082FFF2CF9C
+:1016D00080E0089582E0089583E0089581E0089510
+:1016E0002091EB013091EC012617370748F0611586
+:1016F000710539F42091E8002E772093E80001C0AD
+:10170000B901FC0120E06115710591F18091E401BE
+:10171000882309F440C0853009F43FC08091E80077
+:1017200083FD3DC08091E80082FD2FC08091E800DC
+:1017300080FFE9CF2091F3008091F20090E0922B9E
+:101740006115710559F08830910540F4249120937A
+:10175000F1003196615071090196F2CF21E00897AE
+:1017600009F020E08091E8008E778093E800CBCFED
+:101770002111CCCF0AC08091E401882361F085302B
+:1017800061F08091E80083FD0AC08091E80082FF4B
+:10179000F2CF80E0089582E0089583E0089581E02B
+:1017A0000895982F973058F59093E900981739F0DD
+:1017B0007091EC002091ED005091F00003C0242FB7
+:1017C000762F50E021FF19C03091EB003E7F30931F
+:1017D000EB003091ED003D7F3093ED003091EB0058
+:1017E00031603093EB007093EC002093ED00509348
+:1017F000F0002091EE0027FF07C09F5FD3CF8F70CE
+:101800008093E90081E0089580E008958091E501EA
+:1018100087FF11C08091E80082FD05C08091E4013E
+:101820008111F8CF11C08091E8008B770BC08091B7
+:10183000E401882349F08091E80080FFF8CF80918F
+:10184000E8008E778093E80008952091E4003091BD
+:10185000E50095E64091EC00842F817040FF22C0A6
+:101860008091E80080FD1CC08091E401882391F004
+:10187000853091F08091EB0085FD10C04091E4002F
+:101880005091E5004217530729F39A01915011F73F
+:1018900084E0089582E0089583E0089581E008954A
+:1018A00080E008954091E80042FFDECF08950E9455
+:1018B000C50C0E94CD0CE0EEF0E080818160808359
+:1018C000E8EDF0E080818F77808319BCA7EDB0E070
+:1018D0008C918E7F8C9380818F7E80831092E30128
+:1018E00008950F931F93CF93DF930E94C50C0E941E
+:1018F000CD0CC8EDD0E088818F778883888180689F
+:10190000888388818F7D888319BC1092E4011092AE
+:10191000E0011092E2011092E10100EE10E0F80106
+:1019200080818B7F808388818160888342E060E052
+:1019300080E00E94D10BE1EEF0E080818E7F808319
+:10194000E2EEF0E080818160808380818860808326
+:10195000F80180818E7F8083888180618883DF9118
+:10196000CF911F910F910895E8EDF0E080818F7E77
+:101970008083E7EDF0E080818160808384E082BF36
+:1019800081E08093E3010C94710CE8EDF0E080813C
+:101990008E7F80831092E20008951092DA001092F8
+:1019A000E10008951F920F920FB60F9211242F930A
+:1019B0003F934F935F936F937F938F939F93AF93D7
+:1019C000BF93EF93FF938091E10082FF0BC0809162
+:1019D000E20082FF07C08091E1008B7F8093E100ED
+:1019E0000E94390F8091DA0080FF1FC08091D800DB
+:1019F00080FF1BC08091DA008E7F8093DA00809197
+:101A0000D90080FF0DC080E189BD82E189BD09B4A4
+:101A100000FEFDCF81E08093E4010E94310905C002
+:101A200019BC1092E4010E943F098091E10080FFFF
+:101A300019C08091E20080FF15C08091E2008E7F86
+:101A40008093E2008091E20080618093E2008091C7
+:101A5000D80080628093D80019BC85E08093E401AF
+:101A60000E9443098091E10084FF30C08091E20030
+:101A700084FF2CC080E189BD82E189BD09B400FEEC
+:101A8000FDCF8091D8008F7D8093D8008091E100B8
+:101A90008F7E8093E1008091E2008F7E8093E20050
+:101AA0008091E20081608093E2008091E0018823D0
+:101AB00011F084E007C08091E30087FD02C081E05F
+:101AC00001C083E08093E4010E9445098091E10018
+:101AD00083FF29C08091E20083FF25C08091E1004F
+:101AE000877F8093E10082E08093E4011092E0011F
+:101AF0008091E1008E7F8093E1008091E2008E7FF3
+:101B00008093E2008091E20080618093E20042E0F5
+:101B100060E080E00E94D10B8091F00088608093AB
+:101B2000F0000E944209FF91EF91BF91AF919F9108
+:101B30008F917F916F915F914F913F912F910F9076
+:101B40000FBE0F901F9018951F920F920FB60F9215
+:101B500011242F933F934F935F936F937F938F93B2
+:101B60009F93AF93BF93CF93DF93EF93FF93C09176
+:101B7000E900CF708091EC00D82FD17080FDD0E8C3
+:101B80001092E9008091F000877F8093F0007894B4
+:101B90000E94E80D1092E9008091F0008860809327
+:101BA000F000CD2BCF70C093E900FF91EF91DF9152
+:101BB000CF91BF91AF919F918F917F916F915F91E5
+:101BC0004F913F912F910F900FBE0F901F9018953E
+:101BD0001F93CF93DF93CDB7DEB7AA970FB6F894D4
+:101BE000DEBF0FBECDBFE5EEF1E088E08E0F909135
+:101BF000F10091938E13FBCF0E9461098091E80060
+:101C000083FF1FC18091E5019091E601492F50E0CB
+:101C10004A30510508F015C1FA01EA5AFF4F0C94F9
+:101C2000F423803881F0823809F00BC18091E901FA
+:101C30008F708093E9008091EB0085FB882780F905
+:101C40001092E90006C08091E1019091E2019111AA
+:101C500082609091E800977F9093E8008093F10074
+:101C60001092F100C8C0282F2D7F09F0EAC0882308
+:101C700019F0823061F0E5C08091E701813009F010
+:101C8000E0C0933009F080E08093E2012BC08091A6
+:101C9000E701811127C08091E9018F7009F4D1C05B
+:101CA0008093E9002091EB0020FF1CC0933021F4C9
+:101CB0008091EB00806214C09091EB009061909352
+:101CC000EB0021E030E0A90102C0440F551F8A95C6
+:101CD000E2F74093EA001092EA008091EB008860FE
+:101CE0008093EB001092E9008091E800877F86C026
+:101CF0008111A7C01091E7011F778091E3008078E0
+:101D0000812B8093E3008091E800877F8093E80037
+:101D10000E94060C8091E80080FFFCCF8091E300D8
+:101D200080688093E300111102C082E001C083E06B
+:101D30008093E40186C08058823008F082C0809190
+:101D4000E7019091E8018C3D53E0950779F583E038
+:101D50008A838AE289834FB7F894DE01139620E0E4
+:101D60003EE051E2E32FF0E050935700E49120FF72
+:101D700003C0E295EF703F5FEF708E2F90E0EA3086
+:101D800010F0C79601C0C0968D939D932F5F2431AC
+:101D900049F74FBF8091E800877F8093E8006AE2AF
+:101DA00070E0CE0101960E940D0B14C0AE014F5F92
+:101DB0005F4F6091E9010E94540ABC01892B09F42C
+:101DC00040C09091E800977F9093E80089819A81C4
+:101DD0000E94700B8091E8008B778093E80031C0FF
+:101DE000803879F58091E800877F8093E8008091C2
+:101DF000E0018093F1008091E8008E778093E80005
+:101E00000E94060C1EC081111CC09091E701923007
+:101E1000C0F48091E800877F8093E8009093E00110
+:101E20000E94060C8091E001811106C08091E300C0
+:101E300087FD02C081E001C084E08093E4010E943C
+:101E40004D098091E80083FF0AC08091E800877FF8
+:101E50008093E8008091EB0080628093EB00AA966B
+:101E60000FB6F894DEBF0FBECDBFDF91CF911F91AB
+:101E700008950895CF938091E4018823A1F0C09143
+:101E8000E900CF709091EC00892F817090FD80E87F
+:101E9000C82B1092E9008091E80083FD0E94E80DB4
+:101EA000CF70C093E900CF9108959093690180931A
+:101EB00068010895E0916801F0916901309721F07F
+:101EC0000190F081E02D099480E00895E09168018F
+:101ED000F0916901309721F00280F381E02D09949F
+:101EE0000895E0916801F0916901309721F0048034
+:101EF000F581E02D099408952091660130916701E4
+:101F00008217930771F09093670180936601E091C7
+:101F10006801F0916901309721F00680F781E02D8A
+:101F20000994089520916401309165018217930707
+:101F300071F09093650180936401E0916801F091E4
+:101F40006901309721F00084F185E02D099408950E
+:101F500008950C94A80F0E94C11B0E9468040C9461
+:101F6000871CCF92DF92EF92FF920F931F93CF9334
+:101F7000DF93CDB7DEB72B970FB6F894DEBF0FBE59
+:101F8000CDBF0E9480048BE6C82E81E0D82E00E0F1
+:101F900010E0E02E802F0E946E05F60141916F0146
+:101FA000F42EF826B1F40F5F1F4F0E30110589F79C
+:101FB0008FEF89838A831B820E94CA1B8160782FDE
+:101FC0009D838C8349815A816B818D810E9454103D
+:101FD00040C09091CD0191FF04C08B870E94740591
+:101FE0008B8520E030E04F2D50E0922FBA01022E79
+:101FF00002C0759567950A94E2F760FF24C02E83AE
+:10200000EF8221E030E0690102C0CC0CDD1C9A9522
+:10201000E2F790E08C219D21892B09F420E02887AC
+:102020000E94CA1B8160782F9A8789874E815F81C1
+:1020300068858A850E945410F801E559FE4F808119
+:10204000C826C08206C02F5F3F4F2630310569F693
+:10205000AACF0E946E1F10916A010E945A0F181792
+:10206000A1F00E945A0F80936A012B960FB6F89444
+:10207000DEBF0FBECDBFDF91CF911F910F91FF90BB
+:10208000EF90DF90CF900C9450082B960FB6F894F9
+:10209000DEBF0FBECDBFDF91CF911F910F91FF909B
+:1020A000EF90DF90CF900895CF93DF93CDB7DEB759
+:1020B0002B970FB6F894DEBF0FBECDBF4F83588766
+:1020C00069877A878B87DE01119686E0FD01119280
+:1020D0008A95E9F785E0FE01379601900D928A9581
+:1020E000E1F749815A816B817C818D819E810E94BB
+:1020F00084172B960FB6F894DEBF0FBECDBFDF91CD
+:10210000CF9108950895CF93882309F4C2C0C82FB2
+:10211000823859F40E945A0F81FDBBC089E30E94A6
+:102120002D1A0E94FA1A89E30CC0833879F40E94B0
+:102130005A0F80FDAEC083E50E942D1A0E94FA1A44
+:1021400083E50E946F1ACF910C94FA1A843859F4DF
+:102150000E945A0F82FD9DC087E40E942D1A0E94A2
+:10216000FA1A87E4EECF8CEF8C0F813A48F48C2F6B
+:102170000E94B02181118DC08C2F0E942D1AE3CFB7
+:1021800080E28C0F883048F4C77081E001C0880F6E
+:10219000CA95EAF70E94B31AD6CF8BE58C0F83302D
+:1021A00078F4C53A29F0C63A31F083E890E005C0EA
+:1021B00081E890E002C082E890E0CF910C947C0F1F
+:1021C00088E58C0F833108F064C0C83A39F1C93A08
+:1021D00041F1CA3A49F1CB3A51F1CC3A59F1CD3AF1
+:1021E00061F1C03B69F1CE3A71F1CF3A79F1C13B6F
+:1021F00081F1C23B89F1C33B91F1C43B99F1C53BED
+:10220000A1F1C63BA9F1C73BB1F1C83BB9F1C93B4C
+:10221000C1F1CA3BC9F180E090E038C082EE90E0A5
+:1022200035C089EE90E032C08AEE90E02FC085EB99
+:1022300090E02CC086EB90E029C087EB90E026C0B0
+:102240008CEC90E023C08DEC90E020C083E891E01E
+:102250001DC08AE891E01AC082E991E017C084E9C4
+:1022600091E014C081E292E011C083E292E00EC0DE
+:1022700084E292E00BC085E292E008C086E292E040
+:1022800005C087E292E002C08AE292E0CF910C940E
+:10229000920FCF910895882309F44BC0823859F4E6
+:1022A0000E945A0F81FF45C089E30E942D1A0E94A7
+:1022B000FA1A89E30CC0833871F40E945A0F80FF28
+:1022C00038C083E50E942D1A0E94FA1A83E50E9405
+:1022D0006F1A0C94FA1A843859F40E945A0F82FF2C
+:1022E00028C087E40E942D1A0E94FA1A87E4EFCFD3
+:1022F0009CEF980F913A58F390E2980F983050F471
+:10230000877091E001C0990F8A95EAF7892F0E94A2
+:10231000B91ADFCF9BE5980F933020F480E090E06E
+:102320000C947C0F885A833120F480E090E00C9468
+:10233000920F0895882321F00E94B31A0C94FA1A80
+:102340000895882321F00E94B91A0C94FA1A08956E
+:10235000BF92CF92DF92EF92FF920F931F93CF9392
+:10236000DF9300D000D000D0CDB7DEB725E0FC0170
+:10237000DE01119601900D922A95E1F7FC01D080C3
+:1023800011810281258122952F7043815481452B33
+:1023900009F4FCC21F3F21F4FFEFDF1609F4F6C277
+:1023A0007C012E830E948210D9821A8369817A81EE
+:1023B000802F0E94291A182FB92E0E94DE190E9420
+:1023C000A5182E81002319F00E94D01A2E81EB2D22
+:1023D000E295EF70F0E0E05AFF4F0C94F4238B2D60
+:1023E000807F9B2D9F70F92E882319F0F29480EF47
+:1023F000F822002389F0FF2009F475C280E2810FE2
+:10240000883020F48F2D0E94B31A03C08F2D0E94B4
+:10241000C31A0E94FA1A67C2812F0E944B11FF2033
+:1024200009F4B4C2105E8F2D183018F40E94B91A46
+:1024300002C00E94C91A26960FB6F894DEBF0FBEDE
+:10244000CDBFDF91CF911F910F91FF90EF90DF9063
+:10245000CF90BF900C94FA1A3B2D307F8B2D8F704C
+:10246000303211F08295807F112319F0113021F163
+:102470002CC00023B9F0222309F4A0C1213009F0B7
+:102480009DC126960FB6F894DEBF0FBECDBFDF917B
+:10249000CF911F910F91FF90EF90DF90CF90BF9061
+:1024A0000C94E31A222319F0213009F46FC28E83B1
+:1024B0000E94E61A8E8196C1002321F0223008F096
+:1024C00065C27CC1211162C28DC1002321F022238B
+:1024D00009F474C108C2222309F484C119C22B2D46
+:1024E00026952695237030E02115310521F0213005
+:1024F0003105D1F04BC2002321F0812F9B2D937029
+:1025000002C080E090E026960FB6F894DEBF0FBEC2
+:10251000CDBFDF91CF911F910F91FF90EF90DF9092
+:10252000CF90BF900C947C0F002321F0812F9B2D26
+:10253000937002C080E090E026960FB6F894DEBF5C
+:102540000FBECDBFDF91CF911F910F91FF90EF9004
+:10255000DF90CF90BF900C94920F812F002319F041
+:102560000E94761E02C00E94DE1E26960FB6F894C8
+:10257000DEBF0FBECDBFDF91CF911F910F91FF90B6
+:10258000EF90DF90CF90BF900C94631F8B2D8370E2
+:1025900009F07BC00111FAC1812F82958695877061
+:1025A000880F880F912F9F70C92ED12CE12CF12C10
+:1025B000082E04C0CC0CDD1CEE1CFF1C0A94D2F7C4
+:1025C00014FF12C04FE050E060E070E004C0440F20
+:1025D000551F661F771F8A95D2F7CB01BA01609508
+:1025E00070958095909503C060E070E0CB012B2D35
+:1025F000269526952370422F50E042305105D9F0A0
+:102600004330510569F16C297D298E299F2941307C
+:10261000510551F126960FB6F894DEBF0FBECDBF1F
+:10262000DF91CF911F910F91FF90EF90DF90CF90AE
+:10263000BF900C94CC186C297D298E299F29269651
+:102640000FB6F894DEBF0FBECDBFDF91CF911F91C3
+:102650000F91FF90EF90DF90CF90BF900C94E8180F
+:102660000E94CC18C701B60126960FB6F894DEBFBB
+:102670000FBECDBFDF91CF911F910F91FF90EF90D3
+:10268000DF90CF90BF900C94B018002319F08B2DE1
+:10269000817001C08695882309F478C1812F8295C5
+:1026A00086958770880F880F912F9F70C92ED12C27
+:1026B000E12CF12C082E04C0CC0CDD1CEE1CFF1C00
+:1026C0000A94D2F714FF12C04FE050E060E070E0CF
+:1026D00004C0440F551F661F771F8A95D2F7CB01A0
+:1026E000BA01609570958095909503C060E070E0A8
+:1026F000CB012B2D269526952370422F50E042309A
+:102700005105D9F04330510569F16C297D298E2995
+:102710009F294130510551F126960FB6F894DEBF3E
+:102720000FBECDBFDF91CF911F910F91FF90EF9022
+:10273000DF90CF90BF900C94A6196C297D298E292B
+:102740009F2926960FB6F894DEBF0FBECDBFDF914E
+:10275000CF911F910F91FF90EF90DF90CF90BF909E
+:102760000C94C2190E94A619C701B60126960FB68D
+:10277000F894DEBF0FBECDBFDF91CF911F910F91B7
+:10278000FF90EF90DF90CF90BF900C948A19103F8C
+:10279000D1F118F4103E50F4A1C0123F09F463C007
+:1027A00008F44CC0133F09F473C098C01F708B2D00
+:1027B0008F710023A1F00E942319812F26960FB656
+:1027C000F894DEBF0FBECDBFDF91CF911F910F9167
+:1027D000FF90EF90DF90CF90BF900C949A110E94E1
+:1027E0004419812F26960FB6F894DEBF0FBECDBFD9
+:1027F000DF91CF911F910F91FF90EF90DF90CF90DD
+:10280000BF900C94A1110023A9F02111BFC08B2D02
+:102810008F7126960FB6F894DEBF0FBECDBFDF9145
+:10282000CF911F910F91FF90EF90DF90CF90BF90CD
+:102830000C946919223008F0A9C0E9CF0023A9F04F
+:102840008B2D8F7126960FB6F894DEBF0FBECDBFCD
+:10285000DF91CF911F910F91FF90EF90DF90CF907C
+:10286000BF900C942319002359F38B2D8F7126965A
+:102870000FB6F894DEBF0FBECDBFDF91CF911F9191
+:102880000F91FF90EF90DF90CF90BF900C94441980
+:10289000002399F08B2D8F7126960FB6F894DEBF2A
+:1028A0000FBECDBFDF91CF911F910F91FF90EF90A1
+:1028B000DF90CF90BF900C940E1926960FB6F89427
+:1028C000DEBF0FBECDBFDF91CF911F910F91FF9063
+:1028D000EF90DF90CF90BF900C9404190023A9F0E3
+:1028E000222309F4ADCF812F26960FB6F894DEBFD0
+:1028F0000FBECDBFDF91CF911F910F91FF90EF9051
+:10290000DF90CF90BF900C948310222309F4ADCFB9
+:10291000812F26960FB6F894DEBF0FBECDBFDF9194
+:10292000CF911F910F91FF90EF90DF90CF90BF90CC
+:102930000C944B114B2D4F70612FC7010E94040363
+:1029400026960FB6F894DEBF0FBECDBFDF91CF91B4
+:102950001F910F91FF90EF90DF90CF90BF900C945C
+:1029600028184B2D4F70612FC70126960FB6F8948B
+:10297000DEBF0FBECDBFDF91CF911F910F91FF90B2
+:10298000EF90DF90CF90BF900C94750526960FB610
+:10299000F894DEBF0FBECDBFDF91CF911F910F9195
+:1029A000FF90EF90DF90CF90BF9008950E94D01AD3
+:1029B0000E94E01A0E94A51A0E94FA1A0E9413208F
+:1029C0000E94631F80E090E00E947C0F80E090E016
+:1029D0000C94920F0E94C01A0C94D6140E941E1AD6
+:1029E000292F22952F7030E02C3031054CF42A30FD
+:1029F00031056CF4225031092230310588F407C0CA
+:102A00002C30310549F02F30310531F009C0803EBE
+:102A100048F0803F29F406C093FB882780F9089589
+:102A200080E0089581E00895CF93DF9300D000D037
+:102A30001F92CDB7DEB70F900F900F900F900F90B1
+:102A4000DF91CF910895CF93DF9300D000D000D0D5
+:102A5000CDB7DEB726960FB6F894DEBF0FBECDBF5A
+:102A6000DF91CF9108951F93CF93DF93C0917901A8
+:102A700016E080917A01C81799F0D0E01C9FF00110
+:102A80001D9FF00D1124E558FE4F40815181628158
+:102A90007381848195810E9423152196C770E9CFA7
+:102AA000DF91CF911F9108954091AB015091AC01FE
+:102AB0006091AD017091AE018091AF019091B00134
+:102AC0000C9423158091B00182958F7009F054C049
+:102AD0008091AD01882309F44FC080917901A091C4
+:102AE0007A016091AB017091AC014091AE015091BF
+:102AF000AF01B6E08A1709F43FC090E041155105D7
+:102B0000C1F17F3F11F46F3FA1F1B89FF001B99F70
+:102B1000F00D1124E558FE4F218172132AC0208147
+:102B2000621327C02281211124C0238134812417FC
+:102B3000350710F421503109241B350B283C310591
+:102B4000C0F42091B0012F7020612093B00126E0E5
+:102B5000289FF001299FF00D1124E058FE4F80813D
+:102B60008F70806180838BEA91E00E94A8110C94A1
+:102B7000331501968770BECF0895CF92DF92EF9202
+:102B8000FF920F931F93CF93DF93CDB7DEB762977A
+:102B90000FB6F894DEBF0FBECDBF8C0185E0F80103
+:102BA000DE011D9601900D928A95E1F7D8014C91B6
+:102BB00011965C91119712966C9112971396CD9085
+:102BC000DC9014973091AB017091AC018091AE0113
+:102BD0009091AF01009709F46BC17F3F19F43F3F1B
+:102BE00009F466C1E090AD01EE2009F4C0C0209167
+:102BF000B001C816D90628F0F601E81BF90BCF0181
+:102C000004C0809590958C0D9D1DFF24F394883C05
+:102C1000910578F0F12C207F09F0C6C07C2DD98A6F
+:102C2000C88A89890E9414158BEA91E00E94A81134
+:102C3000B1C0822F807F09F046C0751314C03413D1
+:102C400012C0611110C02F7020612093B0010E944A
+:102C500054158BEA91E00E94A8118091B001D8012F
+:102C600015968C932EC0CD2819F15F3F11F44F3F7C
+:102C7000F9F0F62E61111CC08091790120917A0142
+:102C800036E0821709F45AC090E0389FF001399F6E
+:102C9000F00D1124E558FE4F7181571306C0708165
+:102CA000471303C07281711103C001968770E9CF89
+:102CB000F62E662309F418C18091B00181608093DB
+:102CC000B001F12C11C1751308C0341306C0611195
+:102CD00004C08091B001D801C3C04D875E878D8547
+:102CE0009E856A8B0E94EE146A898823E1F166232F
+:102CF000D1F12091B001822F82958F7090E00297E0
+:102D000074F08091AB019091AC0198878F83198604
+:102D1000DB86CA862C87CE0107960E94A81186E022
+:102D2000F801ABEAB1E001900D928A95E1F70E94BB
+:102D300062150E945415FF24F394D6C04D875E8718
+:102D40008D859E850E941E1A292F22952F7030E0B6
+:102D5000223031050CF0BCC09F7009F0B6C0805E17
+:102D6000883008F4C1C0C8010E94A811E4CFC81679
+:102D7000D90608F453C0F601E81BF90BCF01883CD3
+:102D8000910508F450C0F12C7C2DD98AC88A898914
+:102D90000E941415EBEAF1E086E0DF011D928A95AE
+:102DA000E9F70E945415A0C0751314C0341312C063
+:102DB000611110C08091B001F8018583C8010E94A3
+:102DC000A81186E0EBEAF1E0DF011D928A95E9F7B0
+:102DD000FE2C8AC04D875E878D859E856A8B0E94FA
+:102DE000EE146A89882309F4BECF662309F4BBCFA9
+:102DF0002091B001822F82958F7090E002970CF4A1
+:102E00008ECF8091AB019091AC019A8389831B8214
+:102E1000DD82CC822E83CE0101967FCF8095909566
+:102E20008C0D9D1DACCFF62E662309F49CCF751337
+:102E30002EC034132CC02091B00120FD1FC0822F62
+:102E400082958F70D9F0D80115962C9315978F30F5
+:102E500049F08F5F982F9295907F822F8F70892BEA
+:102E600015968C93C8010E94A81186E0F801ABEA80
+:102E7000B1E001900D928A95E1F793CF86E0F801D9
+:102E8000ABEAB1E001900D928A95E1F72DC04D8734
+:102E90005E878D859E850E94EE14811140CF8091C2
+:102EA000B00181608093B001C8010E94A8111CC0CC
+:102EB000662309F458CF4D875E878D859E850E94D5
+:102EC000EE14882309F44FCF2ACF811148CF0CC0CC
+:102ED000243031050CF047CF9F7009F440CFF80142
+:102EE0009581907F09F03BCF8F2D62960FB6F894B5
+:102EF000DEBF0FBECDBFDF91CF911F910F91FF902D
+:102F0000EF90DF90CF9008951F93CF93DF93CDB7CD
+:102F1000DEB72C970FB6F894DEBF0FBECDBF4F8340
+:102F2000588769877A878B879C87CE0107960E948E
+:102F3000BD15882369F08F8198852A853B85232BD1
+:102F4000F1F19F3F09F063C08F3F09F060C037C0C7
+:102F500086E0FE013796DE01119601900D928A956A
+:102F6000E1F76F817885EA85FB85309741F17F3FF6
+:102F700011F46F3F21F120917A0130E0C9010196EF
+:102F8000877099274091790150E08417950709F4DB
+:102F900047C069837A83FD83EC8396E0929FD001DA
+:102FA000939FB00D1124A558BE4FFE01319601909C
+:102FB0000D929A95E1F780937A010E94331516E0FD
+:102FC0008091790190917A018917C1F1189FC00110
+:102FD000112485589E4F0E94BD15882379F1E091F8
+:102FE00079011E9FF0011124E558FE4F4081518167
+:102FF00062817381848195810E942315809179017A
+:1030000090E001968770992780937901D9CF4F81FD
+:10301000588569857A858B859C850E942315CFCF3D
+:103020000E94EA1410927A0110927901EBEAF1E021
+:1030300086E0DF011D928A95E9F7C1CF2C960FB685
+:10304000F894DEBF0FBECDBFDF91CF911F910895E1
+:10305000EF92FF920F931F93CF93DF938C01892BF5
+:1030600009F46CC0F12CEE24E394E8012196F801F8
+:103070008491843740F4843008F051C0813081F06D
+:10308000823019F15BC0853709F444C0A8F19CE790
+:10309000980F903708F052C08F770E944B1141C0B3
+:1030A0000E5F1F4FFE01C49180E28C0F883048F400
+:1030B000C7708E2D01C0880FCA95EAF70E94D31AF7
+:1030C00014C08C2F0E9483102DC00E5F1F4FFE0175
+:1030D000C49180E28C0F883058F4C7708E2D01C0E7
+:1030E000880FCA95EAF70E94D91A0E94FA1A1AC0E4
+:1030F0008C2F0E944B1116C00E5F1F4FFE01C49112
+:10310000CC2381F08FE99FE00197F1F700C0000028
+:10311000C150F6CF0E5F1F4FFE01F49003C00E9416
+:1031200083108E018F2D882309F49FCFEFE9FFE0F4
+:103130003197F1F700C000008150F5CFDF91CF91BA
+:103140001F910F91FF90EF90089508956093B5013E
+:103150007093B6018093B7019093B8010C94D61484
+:103160000F931F930091B5011091B6012091B70103
+:103170003091B801DC01CB01802B912BA22BB32B1A
+:103180008093B5019093B601A093B701B093B801B5
+:103190001F910F910C94D6140F931F930091B501BA
+:1031A0001091B6012091B7013091B801DC01CB013B
+:1031B00080239123A223B3238093B5019093B6017A
+:1031C000A093B701B093B8011F910F910C94D6143E
+:1031D0000F931F930091B5011091B6012091B70193
+:1031E0003091B801DC01CB0180279127A227B327BA
+:1031F0008093B5019093B601A093B701B093B80145
+:103200001F910F910C94D6141092B1011092B2013B
+:103210001092B3011092B4010C94D61441E050E026
+:1032200060E070E004C0440F551F661F771F8A9549
+:10323000D2F74093B1015093B2016093B301709300
+:10324000B4010C94D61441E050E060E070E004C09A
+:10325000440F551F661F771F8A95D2F78091B101E1
+:103260009091B201A091B301B091B401482B592BB8
+:103270006A2B7B2B4093B1015093B2016093B30151
+:103280007093B4010C94D61441E050E060E070E01B
+:1032900004C0440F551F661F771F8A95D2F74095CB
+:1032A0005095609570958091B1019091B201A09177
+:1032B000B301B091B401482359236A237B2340937F
+:1032C000B1015093B2016093B3017093B4010C94B7
+:1032D000D61441E050E060E070E004C0440F551F98
+:1032E000661F771F8A95D2F78091B1019091B20144
+:1032F000A091B301B091B401482759276A277B27D1
+:103300004093B1015093B2016093B3017093B40143
+:103310000C94D6140F931F930091B1011091B20138
+:103320002091B3013091B401DC01CB01802B912BB2
+:10333000A22BB32B8093B1019093B201A093B30160
+:10334000B093B4011F910F910C94D6140F931F9357
+:103350000091B1011091B2012091B3013091B401FB
+:10336000DC01CB0180239123A223B3238093B101FD
+:103370009093B201A093B301B093B4011F910F9148
+:103380000C94D6140F931F930091B1011091B201C8
+:103390002091B3013091B401DC01CB01802791274A
+:1033A000A227B3278093B1019093B201A093B301F8
+:1033B000B093B4011F910F910C94D6140895CF923D
+:1033C000DF92EF92FF920F931F93CF93DF938C01C5
+:1033D000C090B501D090B601E090B701F090B8016F
+:1033E0008091B1019091B201A091B301B091B4016B
+:1033F000C82AD92AEA2AFB2ACFE1D0E0D701C601A0
+:103400000C2E04C0B695A795979587950A94D2F788
+:1034100080FF06C0B8018C2F0E94B507019721F4E8
+:10342000219760F780E001C08C2FDF91CF911F9131
+:103430000F91FF90EF90DF90CF900895CF93DF939F
+:10344000EC010E94DF19BE010E94B507DF91CF9108
+:103450000895CB010E941E1A089590910C019923A2
+:1034600021F090910D01911109C020910E01309130
+:103470000F01F90132969FEF40E01FC0982F9695FB
+:10348000969596959F3050F5E0910E01F0910F01C1
+:10349000E90FF11D877021E030E0A90102C0440F5F
+:1034A000551F8A95E2F7CA019181892B818308957E
+:1034B0009F3F39F04F5F4E3041F051915813F8CF94
+:1034C0000DC05111F7CF942FF5CF9F3F39F0F9017F
+:1034D000E90FF11D97FDFA95828308950895909163
+:1034E0000C01992321F090910D01911109C02091B7
+:1034F0000E0130910F01F9013296205F3F4F1FC03E
+:10350000982F9695969596959F30F0F4E0910E0140
+:10351000F0910F01E90FF11D877021E030E0A90162
+:1035200002C0440F551F8A95E2F7CA018095918128
+:103530008923818308953196E217F30729F090815A
+:103540009813F9CF1082F7CF089581E090E0E091D1
+:103550000E01F0910F01E80FF91F108201968031E2
+:103560009105A9F708959091CC01892B8093CC0106
+:10357000089580959091CC0189238093CC01089582
+:103580001092CC0108959091CB01892B8093CB01AF
+:10359000089580959091CB0189238093CB01089564
+:1035A0001092CB0108959091CA01892B8093CA0192
+:1035B000089580959091CA0189238093CA01089546
+:1035C0001092CA0108958093B90108951092B9012B
+:1035D000089580910E0190910F01FC0131969C019C
+:1035E000205F3F4F80E0919191118F5FE217F307C9
+:1035F000D1F70895E0910E01F0910F018091CC0177
+:103600008083E0910E01F0910F0190818091CB01B8
+:10361000892B8083E0910E01F0910F0190818091C0
+:10362000CA01892B80838091B901882361F0E091E0
+:103630000E01F0910F019081892B80830E94E91A7D
+:1036400081111092B90180910E0190910F010C949B
+:10365000660FCF92DF92EF92FF926C01EE24FF246F
+:10366000C114D104E104F10421F0C701B60120E145
+:1036700001C020E0C72ED82EE92EFF24C114D104AA
+:10368000E104F10419F0285FC701B6016B017C0168
+:1036900054E0F694E794D794C7945A95D1F7C1149F
+:1036A000D104E104F10419F02C5FC701B6016B01EC
+:1036B0007C0142E0F694E794D794C7944A95D1F7F9
+:1036C000C114D104E104F10419F02E5FC701B60161
+:1036D000DC01CB01B695A79597958795892B8A2B09
+:1036E0008B2B09F02F5F822FFF90EF90DF90CF9010
+:1036F00008958091E401843039F11092CE0120E4E4
+:1037000088E190E00FB6F894A895809360000FBE12
+:103710002093600080E00E94500883B7817F84601E
+:1037200083BF83B7816083BF7894889583B78E7F8A
+:1037300083BF0FB6F894A89580916000886180934C
+:103740006000109260000FBE089508950895CF9311
+:103750000E94A51B0E9480040E94A61BC0E08C2F23
+:103760000E946E05811104C0CF5FCE30C1F701C049
+:1037700081E0CF9108950E94EA140E945A0F0C94A0
+:10378000500882E084BD93E095BD9AEF97BD809389
+:103790006E0008952FB7F8948091CF019091D001D9
+:1037A000A091D101B091D2012FBF0895CF92DF92A5
+:1037B000EF92FF920F931F932FB7F8944091CF0190
+:1037C0005091D0016091D1017091D2012FBF6A0157
+:1037D0007B01EE24FF248C0120E030E0C016D106EE
+:1037E000E206F30610F4415051099A01281B390BE7
+:1037F000C9011F910F91FF90EF90DF90CF90089536
+:103800001F920F920FB60F9211248F939F93AF9335
+:10381000BF938091CF019091D001A091D101B0913F
+:10382000D2010196A11DB11D8093CF019093D001CB
+:10383000A093D101B093D201BF91AF919F918F918D
+:103840000F900FBE0F901F9018950E94570CF89480
+:103850002FEF87EA91E6215080409040E1F700C0C9
+:10386000000087E090EBDC018093EE019093EF0184
+:10387000A093F001B093F1019CE088E10FB6F894B9
+:10388000A895809360000FBE90936000FFCFEF92E9
+:10389000FF920F931F93CF93DF93D82FC0E08C2F0D
+:1038A0000E946E0500E010E0E82EF12CC701002E0A
+:1038B00002C0959587950A94E2F780FD06C00F5FD8
+:1038C0001F4F0630110591F709C0602F7C2F80E053
+:1038D0000E947605D813F3CF81E004C0CF5FCE30CD
+:1038E000F1F680E0DF91CF911F910F91FF90EF9063
+:1038F0000895CF93C82F8CE20E94471C882321F0A3
+:103900008C2FCF910C94471C80E0CF910895CF93DA
+:103910000E94CE1D811102C00E94B41DC5E6C15097
+:1039200049F00E9480048FE39CE90197F1F700C001
+:103930000000F5CF89E20E94791C811113C18AE24F
+:103940000E94791C81110E94B41D85E00E94791C9F
+:1039500081110E94251C0E94D91D8093CD0187E012
+:103960000E94791C8823A9F18BE10E94791C88238D
+:1039700051F08091CD0181FB222720F991E092271F
+:1039800090FB81F90EC08EE00E94791C882361F0C3
+:103990008091CD0182FB222720F991E0922790FBB4
+:1039A00082F98093CD0115C080E10E94791C90912D
+:1039B000CD01882341F093FB222720F981E0822763
+:1039C00080FB93F904C0892F809580FB90F9909338
+:1039D000CD018091CD010E94DD1D0E94EB1D8093E1
+:1039E000ED0180EE0E94791C882341F08091ED0169
+:1039F000982F909590FB80F98093ED0189E30E94C8
+:103A0000791C882359F08091ED0181FB222720F950
+:103A100091E0922790FB81F98093ED0182EE0E9464
+:103A2000791C882359F08091ED0182FB222720F92F
+:103A300091E0922790FB82F98093ED0186EE0E943F
+:103A4000791C882359F08091ED0183FB222720F90E
+:103A500091E0922790FB83F98093ED0183EE0E9421
+:103A6000791C882359F08091ED0184FB222720F9ED
+:103A700091E0922790FB84F98093ED0185E30E9409
+:103A8000791C882359F08091ED0185FB222720F9CC
+:103A900091E0922790FB85F98093ED0181E30E94EC
+:103AA000791C882359F08091ED0186FB222720F9AB
+:103AB00091E0922790FB86F98093ED0181E10E94CD
+:103AC000791C882359F08091ED0187FB222720F98A
+:103AD00091E0922790FB87F98093ED018091ED01B1
+:103AE0000E94EF1D8091ED0187FB882780F980936C
+:103AF0000D0187E20E94791CC82F8EE10E94791C7B
+:103B00008111C2608FE10E94791C8111C46080E242
+:103B10000E94791C8111C86081E20E94791C811188
+:103B2000C06182E20E94791C8111C06283E20E941E
+:103B3000791C8111C06484E20E94791C882311F0F1
+:103B4000C06802C0CC2329F08C2F0E94E61D6C2F88
+:103B500003C00E94E21D682F70E080E090E0CF91EA
+:103B60000C94A618CF9108956DEE7EEF80E090E062
+:103B70000E942E2460E082E090E00E941C2460E01D
+:103B800083E090E00E941C2460E084E090E00E94CA
+:103B90001C2460E085E090E00C941C2480E090E020
+:103BA0000E94162421E08D3E9E4F09F020E0822FD6
+:103BB000089582E090E00C940E24682F82E090E05B
+:103BC0000C941C2483E090E00C940E24682F83E076
+:103BD00090E00C941C2484E090E00C940E24682F58
+:103BE00084E090E00C941C248091D50180FF0BC0F0
+:103BF0006091130185E0689FB00111247595679568
+:103C0000759567952BC081FF09C06091130185E010
+:103C1000689FB00111247595679520C082FF07C089
+:103C20006091130185E0689FB001112417C0909145
+:103C3000D6019923D1F060911201961788F720914F
+:103C4000130185E0289F90011124929FA001939F6A
+:103C5000500D112470E0CA010E94E0236038710504
+:103C600040F46115710539F002C065E070E0862FFF
+:103C700008958FE7089581E008958091D50180FF30
+:103C800008C06091110170E075956795759567950D
+:103C900021C081FF06C06091110170E075956795A4
+:103CA00019C082FF04C06091110170E010C09091B2
+:103CB000D6019923C1F0609110019617A0F7809169
+:103CC0001101899FC001112470E00E94E023603837
+:103CD000710528F46115710521F0862F08958FE78D
+:103CE000089581E0089561E070E0F4CF803F21F411
+:103CF0000E94F41D819504C0813F29F40E94F41DA7
+:103D00008093D9010895823F21F40E94F41D81958A
+:103D100004C0833F29F40E94F41D8093D8010895C4
+:103D2000893F19F40E943D1E05C08A3F31F40E946C
+:103D30003D1E81958093DA0108958B3F21F40E9406
+:103D40003D1E819504C08C3F29F40E943D1E809346
+:103D5000DB010895843F21F48091D701816017C071
+:103D6000853F21F48091D701826011C0863F21F404
+:103D70008091D70184600BC0873F21F48091D701E7
+:103D8000886005C0883F31F48091D70180618093BD
+:103D9000D70108958D3F21F48091D50181600BC03A
+:103DA0008E3F21F48091D501826005C08F3F29F4B8
+:103DB0008091D50184608093D5010895803F39F4C6
+:103DC0008091D90187FF6CC01092D90169C0813FF1
+:103DD00029F48091D9011816BCF362C09091D801E2
+:103DE000823F29F497FF5CC01092D80159C0833FED
+:103DF00019F41916CCF354C0893F41F48091DA01CB
+:103E000018160CF04DC01092DA014AC08A3F29F40E
+:103E10008091DA0187FF44C0F6CF8B3F39F480915F
+:103E2000DB0187FF3DC01092DB013AC08C3F29F4D3
+:103E30008091DB011816BCF333C0843F21F48091DC
+:103E4000D7018E7F17C0853F21F48091D7018D7FE8
+:103E500011C0863F21F48091D7018B7F0BC0873F33
+:103E600021F48091D701877F05C0883F31F480918C
+:103E7000D7018F7E8093D70113C08D3F21F48091AD
+:103E8000D5018E7F0BC08E3F21F48091D5018D7FAF
+:103E900005C08F3F29F48091D5018B7F8093D50198
+:103EA0008091D80181110EC08091D90181110AC081
+:103EB0008091DA01811106C08091DB01811102C07D
+:103EC0001092D601089587ED91E00E94710F0E9433
+:103ED000CA1B9093D4018093D30108951F93CF936D
+:103EE000DF938091D3019091D4010E94D61BAC0145
+:103EF0009091D601992321F02091140130E006C061
+:103F0000209115018AE0289F900111244217530740
+:103F100008F485C08091D801C091D901D091DA010F
+:103F20001091DB01811107C0C11175C0D11173C09F
+:103F3000111171C074C09F3F19F09F5F9093D6011B
+:103F4000181624F40E94F41D8093D8018091D801A2
+:103F500087FF05C00E94F41D81958093D8011C162F
+:103F600024F40E94F41D8093D9018091D90187FF28
+:103F700005C00E94F41D81958093D9016091D801FC
+:103F8000662331F1C091D901CC2311F1062E000C2A
+:103F9000770B880B990B0E94E72223E333E343E37B
+:103FA0005FE30E944B230E94AF226093D8016C2FE5
+:103FB000CC0F770B880B990B0E94E72223E333E3A6
+:103FC00043E35FE30E944B230E94AF226093D90139
+:103FD0001D1624F40E943D1E8093DA018091DA01BF
+:103FE00087FF05C00E943D1E81958093DA0111165E
+:103FF00024F40E943D1E8093DB018091DB0187FF4A
+:1040000005C00E943D1E81958093DB01DF91CF9119
+:104010001F910C94631F9F3F09F08FCF97CFDF91C3
+:10402000CF911F910895E7EDF1E085E0DF011D924A
+:104030008A95E9F71092D6011092D5010895833040
+:1040400081F128F4813059F08230D1F00895853023
+:1040500009F449C0B8F1863009F456C0089580913A
+:104060001501262F30E0280F311D2F3F310524F494
+:10407000680F6093150108958FEF809315010895DF
+:1040800080911401262F30E0280F311D2F3F31057C
+:1040900024F4680F6093140108958FEF8093140146
+:1040A000089580911301262F30E0280F311D2F3FF6
+:1040B000310524F4680F6093130108958FEF809306
+:1040C0001301089580911201262F30E0280F311D31
+:1040D0002F3F310524F4680F6093120108958FEF8C
+:1040E00080931201089580911101262F30E0280F4E
+:1040F000311D2F3F310524F4680F6093110108959D
+:104100008FEF80931101089580911001262F30E0E8
+:10411000280F311D2F3F310524F4680F60931001E3
+:1041200008958FEF809310010895833011F128F4E2
+:10413000813049F0823091F00895853081F120F18D
+:104140008630C1F1089580911501681720F4861B0F
+:10415000809315010895109215010895809114011E
+:10416000681720F4861B809314010895109214019F
+:10417000089580911301681720F4861B8093130122
+:10418000089510921301089580911201681720F488
+:10419000861B809312010895109212010895809158
+:1041A0001101681720F4861B809311010895109265
+:1041B0001101089580911001681720F4861B8093E7
+:1041C000100108951092100108950F931F938D31DF
+:1041D00009F46BC008F03FC08E3009F47FC0C0F412
+:1041E000873009F469C068F4863009F0B1C0809165
+:1041F000CD01817F8E7F8093CD0181E08093DD01B1
+:10420000A8C0883009F4A2C08B3009F49FC0A0C0B8
+:10421000863109F49BC078F4803109F472C0813191
+:1042200009F096C00E94EA1490910D0181E089275F
+:1042300080930D018BC0893109F488C08B3109F05E
+:1042400087C08091CD0181FB222720F991E0922740
+:1042500090FB81F94CC0853309F470C048F4873273
+:1042600009F46CC008F459C0893209F467C070C001
+:10427000833438F48A3308F04EC0883309F466C0BA
+:1042800067C0833409F45AC0883409F061C00E94C1
+:10429000EA140FEF13ED20E3015010402040E1F746
+:1042A00000C000000E94251C51C00E9469220E948B
+:1042B0005A0F0E9450084AC09091CD01892F8095D5
+:1042C000817080FB90F929F0966098609093CD0101
+:1042D00040C0997F977F9093CD0138C08091CD01E8
+:1042E00082FB222720F991E0922790FB82F98093AC
+:1042F000CD01992359F18091CD0181608093CD0149
+:1043000025C08091CD0183FB222720F991E09227DF
+:1043100090FB83F9ECCF895301C08D5141E050E00F
+:1043200060E070E08A019B0104C0000F111F221F92
+:10433000331F8A95D2F7C901B80104C061E070E06B
+:1043400080E090E00E94A6180E94EA1481E001C07B
+:1043500080E01F910F91089580E0089580E0089516
+:10436000CF93C82F8091DD01813079F018F0823031
+:10437000E9F187C0E0910E01F0910F018081813158
+:1043800069F0823209F07FC009C0E0910E01F0911E
+:104390000F018081813111F0823261F48C2F0E94F3
+:1043A000AC21811104C08C2F0E94E5201DC081E04A
+:1043B00090E01AC08C2F0E94AE21811114C0C4312C
+:1043C00079F048F4CB3079F0C03109F060C082E078
+:1043D0008093DD0108C0C93219F0C83321F057C0FD
+:1043E0001092DD0154C081E0817053C0C93289F15F
+:1043F00018F5C43171F1A8F4C73009F046C08AE05D
+:104400008093150194E19093140193E0909313012C
+:104410008093120188E08093110188E2809310015B
+:1044200034C0CE51C63088F5EC2FF0E0E65DFE4F8B
+:1044300080818093DC0129C0CE34E9F020F4CB34B4
+:1044400021F56AE013C0C13579F0C235F1F461E0BD
+:104450000DC08091DC01882319F01092DC0115C099
+:1044600081E08093DD0115C061E006C08091DC0130
+:104470000E941F200AC06AE08091DC010E94952002
+:1044800004C01092DD0180E004C081E002C080E041
+:10449000ABCFCF910895E1E8F0E080818860808320
+:1044A0008081816080838FB7F89493E09093890036
+:1044B00090ED909388008FBF0895EFE6F0E0808143
+:1044C000826080830895EFE6F0E080818D7F8083B5
+:1044D0000895EFE6F0E0908182E0892780830895D7
+:1044E0001F920F920FB60F9211242F933F934F9369
+:1044F0005F936F937F938F939F93AF93BF93EF934C
+:10450000FF938091DE019091DF0101969093DF018E
+:104510008093DE01811103C082E00E945008E09187
+:10452000DF01E695E695F0E0EA5CFA4FE4918091D0
+:10453000DE018E1303C080E00E945008FF91EF91CE
+:10454000BF91AF919F918F917F916F915F914F91AB
+:104550003F912F910F900FBE0F901F9018950E94C2
+:10456000B6226894B1110C94452308950E942A2321
+:1045700088F09F5798F0B92F9927B751B0F0E1F024
+:10458000660F771F881F991F1AF0BA95C9F714C0D4
+:10459000B13091F00E944423B1E008950C9444237B
+:1045A000672F782F8827B85F39F0B93FCCF386950D
+:1045B00077956795B395D9F73EF49095809570956A
+:1045C00061957F4F8F4F9F4F0895E89409C097FBE7
+:1045D0003EF490958095709561957F4F8F4F9F4FDA
+:1045E0009923A9F0F92F96E9BB279395F69587951E
+:1045F00077956795B795F111F8CFFAF4BB0F11F4E1
+:1046000060FF1BC06F5F7F4F8F4F9F4F16C0882387
+:1046100011F096E911C0772321F09EE8872F762FBD
+:1046200005C0662371F096E8862F70E060E02AF0FE
+:104630009A95660F771F881FDAF7880F96958795EA
+:1046400097F9089557FD9058440F551F59F05F3F53
+:1046500071F04795880F97FB991F61F09F3F79F0A4
+:1046600087950895121613061406551FF2CF469526
+:10467000F1DF08C0161617061806991FF1CF8695A8
+:104680007105610508940895E894BB27662777278C
+:10469000CB0197F908950E945E230C94CF230E94CA
+:1046A000C12338F00E94C82320F0952311F00C9408
+:1046B000B8230C94BE2311240C9445230E9422237A
+:1046C00070F3959FC1F3950F50E0551F629FF00165
+:1046D000729FBB27F00DB11D639FAA27F00DB11D7E
+:1046E000AA1F649F6627B00DA11D661F829F222707
+:1046F000B00DA11D621F739FB00DA11D621F839F8E
+:10470000A00D611D221F749F3327A00D611D231F63
+:10471000849F600D211D822F762F6A2F11249F57B1
+:1047200050409AF0F1F088234AF0EE0FFF1FBB1FB4
+:10473000661F771F881F91505040A9F79E3F510573
+:1047400080F00C94B8230C9445235F3FE4F3983E2B
+:10475000D4F3869577956795B795F795E7959F5F1D
+:10476000C1F7FE2B880F911D9695879597F90895AF
+:1047700097F99F6780E870E060E008959FEF80EC14
+:10478000089500240A9416161706180609060895B7
+:1047900000240A9412161306140605060895092E1D
+:1047A0000394000C11F4882352F0BB0F40F4BF2B8C
+:1047B00011F460FF04C06F5F7F4F8F4F9F4F0895CC
+:1047C00097FB072E16F4009407D077FD09D00E94BE
+:1047D000FA2307FC05D03EF4909581959F4F0895EC
+:1047E000709561957F4F0895EE0FFF1F0590F4912E
+:1047F000E02D0994AA1BBB1B51E107C0AA1FBB1FD8
+:10480000A617B70710F0A61BB70B881F991F5A955C
+:10481000A9F780959095BC01CD010895F999FECF37
+:1048200092BD81BDF89A992780B50895A8E1B0E0BE
+:1048300042E050E00C943624262FF999FECF92BD29
+:1048400081BDF89A019700B4021639F01FBA20BD55
+:104850000FB6F894FA9AF99A0FBE08950196272F89
+:104860000E941D240C941C24DC01CB01FC01F9994D
+:10487000FECF06C0F2BDE1BDF89A319600B40D92AC
+:0C48800041505040B8F70895F894FFCF65
+:10488C0020025208E008BD08890855080101BA0148
+:10489C0028080A03140A3F4D3639F704AA04740495
+:1048AC003B04CE03E70300041904010203040506CC
+:0448BC0007080900E0
+:00000001FF
index 75d264bdbeedf7377573a763179893dedaf9f3da..dec9f92f145847c56bf922dc9db2e5c9fb460303 100644 (file)
@@ -5,8 +5,8 @@
 
 #define BASE 0 // default layer
 #define SYMB 1 // symbols
-#define MDIA 2 // media keys
-#define STEN 3 // steno
+#define STEN 2 // steno
+#define MDIA 3 // media keys
 
 
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
@@ -17,19 +17,19 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  * |--------+------+------+------+-------+-------------|           |-------+------+------+------+------+------+--------|
  * | Del    |   '  |   ,  |   .  |   P   |   Y  |  Esc |           | Caps  |   F  |   G  |   C  |   R  |   L  |   /    |
  * |--------+------+------+------+-------+------|      |           |       |------+------+------+------+------+--------|
- * | BkSp   |   A  |   O  |   E  |   U   |   I  |------|           |-------|   D  |   H  |   T  |   N  |S / L2|- / Cmd |
+ * | BkSp   |   A  |   O  |   E  |   U   |   I  |------|           |-------|   D  |   H  |   T  |   N  |   S  |   -    |
  * |--------+------+------+------+-------+------|  Tab |           | Enter |------+------+------+------+------+--------|
  * | LShift |   ;  |   Q  |   J  |   K   |   X  |      |           |       |   B  |   M  |   W  |   V  |   Z  | RShift |
  * `--------+------+------+------+-------+-------------'           `--------------+------+------+------+------+--------'
- *   |Grv/L1|  '"  |AltShf| Left | Right |                                        |  Up  | Down |   [  |   ]  | ~L1  |
+ *   |  L1  | NONE |  Grv | Left | Right |                                        |  Up  | Down |   [  |   ]  |  L1  |
  *   `-----------------------------------'                                        `----------------------------------'
- *                                        ,-------------.         ,---------------.
- *                                        | PgUp | PgDn |         | Home  |  End  |
- *                                 ,------|------|------|         |-------+-------+------.
- *                                 |      |      | NONE |         | NONE  |       |      |
- *                                 | Alt  | NONE |------|         |-------| Space | Ctrl |
- *                                 |      |      | Supr |         | AltGr |       |      |
- *                                 `--------------------'         `----------------------'
+ *                                        ,--------------.         ,---------------.
+ *                                        |  PgUp | PgDn |         | Home  |  End  |
+ *                                 ,------|-------|------|         |-------+-------+------.
+ *                                 |      |       | NONE |         | AltGr |       |      |
+ *                                 | Alt  | Enter |------|         |-------| Space | Ctrl |
+ *                                 |      |       | Supr |         | ~MDIA |       |      |
+ *                                 `---------------------'         `----------------------'
  */
 // If it accepts an argument (i.e, is a function), it doesn't need KC_.
 // Otherwise, it needs KC_*
@@ -39,19 +39,19 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
         KC_DELT,        KC_QUOT,      KC_COMM,KC_DOT, KC_P,   KC_Y,   KC_ESC,
         KC_BSPC,        KC_A,         KC_O,   KC_E,   KC_U,   KC_I,
         KC_LSFT,        KC_SCLN,      KC_Q,   KC_J,   KC_K,   KC_X,   KC_TAB,
-        LT(SYMB,KC_GRV),KC_QUOT,      LALT(KC_LSFT),  KC_LEFT,KC_RGHT,
+        MO(SYMB),       KC_NO,        KC_GRV, KC_LEFT,KC_RGHT,
                                                       KC_PGUP,KC_PGDN,
                                                               KC_NO,
                                               KC_LALT,KC_ENT ,KC_LGUI,
         // right hand
-             KC_NO,       KC_6,   KC_7,   KC_8,   KC_9,   KC_0,             KC_BSLS,
-             KC_CAPS,     KC_F,   KC_G,   KC_C,   KC_R,   KC_L,             KC_SLSH,
-                          KC_D,   KC_H,   KC_T,   KC_N,   LT(MDIA, KC_S),   GUI_T(KC_MINS),
-             KC_ENT,      KC_B,   KC_M,   KC_W,   KC_V,   KC_Z   ,          KC_RSFT,
-                                  KC_UP,  KC_DOWN,KC_LBRC,KC_RBRC,          KC_FN1,
+             KC_NO,       KC_6,   KC_7,   KC_8,   KC_9,   KC_0,    KC_BSLS,
+             KC_CAPS,     KC_F,   KC_G,   KC_C,   KC_R,   KC_L,    KC_SLSH,
+                          KC_D,   KC_H,   KC_T,   KC_N,   KC_S,    KC_MINS,
+             KC_ENT,      KC_B,   KC_M,   KC_W,   KC_V,   KC_Z   , KC_RSFT,
+                                  KC_UP,  KC_DOWN,KC_LBRC,KC_RBRC, MO(SYMB),
              KC_HOME,KC_END,
-             KC_NO,
-             KC_RALT,KC_SPC,KC_RCTL
+             KC_RALT,
+             KC_FN1,KC_SPC,KC_RCTL
     ),
 /* Keymap 1: Symbol Layer
  *
@@ -95,7 +95,29 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
        KC_TRNS,
        KC_TRNS, KC_TRNS, KC_TRNS
 ),
-/* Keymap 2: Media and mouse keys
+
+[STEN] = KEYMAP(  // layout: layer 2: Steno for Plover
+        // left hand
+        KC_NO,  KC_NO,  KC_NO,  KC_NO,   KC_NO,  KC_NO,   KC_TRNS,
+        KC_NO,  PV_NUM, PV_NUM, PV_NUM,  PV_NUM, PV_NUM,  PV_STAR,
+        KC_NO,  PV_LS,  PV_LT,  PV_LP,   PV_LH,  PV_STAR,
+        KC_NO,  PV_LS,  PV_LK,  PV_LW,   PV_LR,  PV_STAR, PV_STAR,
+        KC_NO,  KC_NO,  KC_NO,  KC_TRNS, KC_TRNS,
+                                          KC_NO, KC_NO,
+                                                 KC_NO,
+                                   PV_A,  PV_O,  KC_NO,
+        // right hand
+          KC_NO,   KC_NO,   KC_NO,   KC_NO,   KC_NO,   KC_NO,   KC_NO,
+        PV_STAR,  PV_NUM,  PV_NUM,  PV_NUM,  PV_NUM,  PV_NUM,  PV_NUM,
+                 PV_STAR,   PV_RF,   PV_RP,   PV_RL,   PV_RT,   PV_RD,
+        PV_STAR, PV_STAR,   PV_RR,   PV_RB,   PV_RG,   PV_RS,   PV_RZ,
+                          KC_TRNS, KC_TRNS,   KC_NO,   KC_NO,   KC_NO,
+        KC_NO,  KC_NO,
+        KC_NO,
+        KC_FN1, PV_E,    PV_U
+),
+
+/* Keymap 3: Media and mouse keys
  *
  * ,--------------------------------------------------.           ,--------------------------------------------------.
  * |        |      |      |      |      |      |      |           |      |      |      |      |      |      |        |
@@ -136,31 +158,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
        KC_TRNS,
        KC_TRNS, KC_TRNS, KC_WBAK
 ),
-
-[STEN] = KEYMAP(  // layout: layer 4: Steno for Plover
-        // left hand
-        KC_NO,  KC_NO,  KC_NO,  KC_NO,   KC_NO,  KC_NO,   KC_TRNS,
-        KC_NO,  PV_NUM, PV_NUM, PV_NUM,  PV_NUM, PV_NUM,  PV_STAR,
-        KC_NO,  PV_LS,  PV_LT,  PV_LP,   PV_LH,  PV_STAR,
-        KC_NO,  PV_LS,  PV_LK,  PV_LW,   PV_LR,  PV_STAR, PV_STAR,
-        KC_NO,  KC_NO,  KC_NO,  KC_TRNS, KC_TRNS,
-                                          KC_NO, KC_NO,
-                                                 KC_NO,
-                                   PV_A,  PV_O,  KC_NO,
-        // right hand
-          KC_NO,   KC_NO,   KC_NO,   KC_NO,   KC_NO,   KC_NO,   KC_NO,
-        PV_STAR,  PV_NUM,  PV_NUM,  PV_NUM,  PV_NUM,  PV_NUM,  PV_NUM,
-                 PV_STAR,   PV_RF,   PV_RP,   PV_RL,   PV_RT,   PV_RD,
-        PV_STAR, PV_STAR,   PV_RR,   PV_RB,   PV_RG,   PV_RS,   PV_RZ,
-                          KC_TRNS, KC_TRNS,   KC_NO,   KC_NO,   KC_NO,
-        KC_NO, KC_NO,
-        KC_NO,
-        KC_NO, PV_E,    PV_U
-),
 };
 
 const uint16_t PROGMEM fn_actions[] = {
-    [1] = ACTION_LAYER_TAP_TOGGLE(SYMB)                // FN1 - Momentary Layer 1 (Symbols)
+    [1] = ACTION_LAYER_TAP_TOGGLE(MDIA)                // FN1 - Momentary Layer 3 (Media)
 };
 
 void toggle_steno(int pressed)
@@ -200,26 +201,17 @@ void matrix_init_user(void) {
 
 // Runs constantly in the background, in a loop.
 void matrix_scan_user(void) {
-    uint8_t layer = biton32(layer_state);
+    uint32_t layer0 = layer_state & (1UL << 0),
+             layer1 = layer_state & (1UL << 1),
+             layer2 = layer_state & (1UL << 2),
+             layer3 = layer_state & (1UL << 3);    
 
     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;
-        default:
-            // none
-            break;
-    }
 
+    if (layer1) ergodox_right_led_1_on();
+    if (layer2) ergodox_right_led_2_on();
+    if (layer3) ergodox_right_led_3_on();
 };
diff --git a/keyboard/ergodox_ez/keymaps/zweihander-osx/keymap.c b/keyboard/ergodox_ez/keymaps/zweihander-osx/keymap.c
new file mode 100644 (file)
index 0000000..e996388
--- /dev/null
@@ -0,0 +1,187 @@
+#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  |   ←  |           |   →  |   6  |   7  |   8  |   9  |   0  |   -    |
+ * |--------+------+------+------+------+-------------|           |------+------+------+------+------+------+--------|
+ * |   ⌦    |   Q  |   W  |   E  |   R  |   T  |  L1  |           |  L1  |   Y  |   U  |   I  |   O  |   P  |   \    |
+ * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
+ * |   ⌫    |   A  |   S  |   D  |   F  |   G  |------|           |------|   H  |   J  |   K  |   L  |; / L2| ' / L⌘ |
+ * |--------+------+------+------+------+------|  L⌘  |           |  L⌘  |------+------+------+------+------+--------|
+ * |  L⇧    |   Z  |   X  |   C  |   V  |   B  |      |           |      |   N  |   M  |   ,  |   .  | / / ⌃|  R⇧    |
+ * `--------+------+------+------+------+-------------'           `-------------+------+------+------+------+--------'
+ *   |  L⌃  |  L⌥  |  L⌘  |   ←  |   →  |                                       |   ↑  |   ↓  |   [  |   ]  | ~L1  |
+ *   `----------------------------------'                                       `----------------------------------'
+ *                                        ,-------------.       ,---------------.
+ *                                        |  `~  |  '"  |       |   ⎋  |    ⌫   |
+ *                                 ,------|------|------|       |------+--------+------.
+ *                                 |      |      | PgUp |       | PgDn |        |      |
+ *                                 |      |   ⌫  |------|       |------|    ⇥   |Enter |
+ *                                 |      |      |  L⌥  |       |  L⌃  |        |      |
+ *                                 `--------------------'       `----------------------'
+ */
+// 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(SYMB),
+        KC_BSPC,        KC_A,         KC_S,   KC_D,   KC_F,   KC_G,
+        KC_LSFT,        KC_Z,         KC_X,   KC_C,   KC_V,   KC_B,   KC_LGUI,
+        KC_LCTL,        KC_LALT,      KC_LGUI,KC_LEFT,KC_RGHT,
+                                              KC_GRV, KC_QUOT,
+                                                              KC_PGUP,
+                                               KC_SPC,KC_BSPC,KC_LALT,
+        // 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,   LT(MDIA, KC_SCLN),GUI_T(KC_QUOT),
+             KC_LGUI,     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_ESC,            KC_BSPC,
+             KC_PGDN,
+             KC_LCTL,           KC_TAB,      KC_ENT
+    ),
+/* Keymap 1: Symbol Layer
+ *
+ * ,--------------------------------------------------.           ,--------------------------------------------------.
+ * |        |  F1  |  F2  |  F3  |  F4  |  F5  |      |           |      |  F6  |  F7  |  F8  |  F9  |  F10 |   F11  |
+ * |--------+------+------+------+------+-------------|           |------+------+------+------+------+------+--------|
+ * |        |   [  |   ]  |   {  |   }  |      |      |           |      |   /  |   7  |   8  |   9  |   *  |   F12  |
+ * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
+ * |        |   <  |   >  |   (  |   )  |      |------|           |------|   -  |   4  |   5  |   6  |   +  |        |
+ * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
+ * |        |      |      |      |      |      |      |           |      |   &  |   1  |   2  |   3  |   =  |        |
+ * `--------+------+------+------+------+-------------'           `-------------+------+------+------+------+--------'
+ *   |      |      |      |      |      |                                       |   0  |   .  |   ←  |   →  |      |
+ *   `----------------------------------'                                       `----------------------------------'
+ *                                        ,-------------.       ,-------------.
+ *                                        |      |      |       |      |      |
+ *                                 ,------|------|------|       |------+------+------.
+ *                                 |      |      |      |       | Home |      |      |
+ *                                 |      |      |------|       |------|      |      |
+ *                                 |      |      |      |       | End  |      |      |
+ *                                 `--------------------'       `--------------------'
+ */
+// SYMBOLS
+[SYMB] = KEYMAP(
+       // left hand
+       KC_TRNS,KC_F1,  KC_F2,  KC_F3,  KC_F4,  KC_F5,  KC_TRNS,
+       KC_TRNS,KC_LBRC,KC_RBRC,KC_LCBR,KC_RCBR,KC_TRNS,KC_TRNS,
+       KC_TRNS,KC_LABK,KC_RABK,KC_LPRN,KC_RPRN,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,
+       // right hand
+       KC_TRNS, KC_F6,   KC_F7,  KC_F8,   KC_F9,   KC_F10,  KC_F11,
+       KC_TRNS, KC_SLSH, KC_7,   KC_8,    KC_9,    KC_ASTR, KC_F12,
+                KC_MINS, KC_4,   KC_5,    KC_6,    KC_PLUS, KC_TRNS,
+       KC_TRNS, KC_AMPR, KC_1,   KC_2,    KC_3,    KC_EQL,  KC_TRNS,
+                         KC_0,   KC_DOT,  KC_LEFT, KC_RGHT, KC_TRNS,
+       KC_TRNS, KC_TRNS,
+       KC_HOME,
+       KC_END , KC_TRNS, KC_TRNS
+),
+/* Keymap 2: Media keys
+ *
+ * ,--------------------------------------------------.           ,--------------------------------------------------.
+ * |        |  F14 |  F15 |      |      |      |      |           |  ⌘Q  |  ⌘W  | ⌘⇧`  |  ⌘`  | ⌥⇧⇥  |  ⌥⇥  |  Power |
+ * |--------+------+------+------+------+-------------|           |------+------+------+------+------+------+--------|
+ * |        |      |      | PgUp |      |      |      |           |      |  ⌘]  | ⌥⌘↑  |   ↑  | ⌥⌘↓  |      |        |
+ * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
+ * |        |      | Home | PgDn |  End |      |------|           |------|  ⌘[  |   ←  |   ↓  |   →  |      |    ⏯  |
+ * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
+ * |        |      |      |      |      |      |      |           |      |L⇧+Spc|  Spc |  ⏮  |   ⏭ |      |        |
+ * `--------+------+------+------+------+-------------'           `-------------+------+------+------+------+--------'
+ *   |      |      |      |      |      |                                       |VolUp |VolDn | Mute |      |      |
+ *   `----------------------------------'                                       `----------------------------------'
+ *                                        ,-------------.       ,-------------.
+ *                                        |      |      |       |      |      |
+ *                                 ,------|------|------|       |------+------+------.
+ *                                 |      |      |      |       |      |      |      |
+ *                                 |      |      |------|       |------|  ⌘C  |  ⌘V  |
+ *                                 |      |      |      |       |  ⌘X  |      |      |
+ *                                 `--------------------'       `--------------------'
+ */
+// MEDIA AND MOUSE
+[MDIA] = KEYMAP(
+       KC_TRNS, KC_F14 , KC_F15 , KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,  /* F14 dims screen, F15 brightens */
+       KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_TRNS, KC_TRNS, KC_TRNS,
+       KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_END , 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,
+    // right hand
+       LGUI(KC_Q),  LGUI(KC_W),     LGUI(LSFT(KC_GRV)), LGUI(KC_GRV),   LALT(LSFT(KC_TAB)),     LALT(KC_TAB),   KC_PWR,
+       KC_TRNS,     LGUI(KC_RBRC),  LGUI(LALT(KC_UP)),  KC_UP  ,        LGUI(LALT(KC_DOWN)),    KC_TRNS,        KC_TRNS,
+                    LGUI(KC_LBRC),  KC_LEFT,            KC_DOWN,        KC_RGHT,                KC_TRNS,        KC_MPLY,
+       KC_TRNS,     LSFT(KC_SPC),   KC_SPC ,            KC_MPRV,        KC_MNXT,                KC_TRNS,        KC_TRNS,
+                                    KC_VOLU,            KC_VOLD,        KC_MUTE,                KC_TRNS,        KC_TRNS,
+       KC_TRNS,     KC_TRNS,
+       KC_TRNS,
+       LGUI(KC_X),  LGUI(KC_C),     LGUI(KC_V)
+),
+};
+
+const uint16_t PROGMEM fn_actions[] = {
+    [1] = ACTION_LAYER_TAP_TOGGLE(SYMB)                // FN1 - Momentary Layer 1 (Symbols)
+};
+
+// action_get_macro() is unused — remove the “#if 0” and “#endif” lines to reenable
+#if 0
+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;
+};
+#endif
+
+// Runs just one time when the keyboard initializes.
+void matrix_init_user(void) {
+
+};
+
+// Runs constantly in the background, in a loop.
+void matrix_scan_user(void) {
+
+    uint8_t layer = biton32(layer_state);
+
+    ergodox_board_led_off();
+    ergodox_right_led_1_off();
+    ergodox_right_led_2_off();
+    ergodox_right_led_3_off();
+    switch (layer) {
+      // TODO: Make this relevant to the ErgoDox EZ.
+        case 1:
+            ergodox_right_led_1_on();
+            break;
+        case 2:
+            ergodox_right_led_2_on();
+            break;
+        default:
+            // none
+            break;
+    }
+
+};
diff --git a/keyboard/ergodox_ez/keymaps/zweihander-osx/readme.markdown b/keyboard/ergodox_ez/keymaps/zweihander-osx/readme.markdown
new file mode 100644 (file)
index 0000000..7bce7c6
--- /dev/null
@@ -0,0 +1,45 @@
+# The Zweihander Layout
+
+NB: the backtick (\`) is special in Markdown. If I write ⌘\` in this readme, I mean “command-backtick”, not “command-backslash-backtick”.
+
+This layout is tuned for people who…
+
+
+## use OS X
+
+This layout doesn’t make any concessions for Windows use. While it should work fine in Windows, I’m not about to devote precious keyboard space to Windows-specific shortcuts.
+
+
+## mouse left-handed while doing other things with the right hand
+
+I tend to have my mouse in my left hand, but I like to use my other hand to make things go faster. I’ve added a bunch of buttons to the media layer to speed up browsing in Safari and Finder:
+
+- Close Window (⌘W)
+- Back (⌘[)
+- Forward (⌘])
+- Open and Close Parent Folder (⌥⌘↓)
+- Go Up and Close Just-Left Folder (⌥⌘↑)
+- Cycle through open windows in current application (⌘\` and ⌘⇧\`)
+- Cycle through tabs in current window (⌥⇥ and ⌥⇧⇥)
+- Space (page down in browsers; Quick Look in the Finder)
+- Shift-Space (page up in web browsers)
+
+Because moving letter-by-letter is way slower than moving word-by-word, I added Option (⌥) to the bottommost button on the left side. This key can be held easily while holding ; (activate media layer) and pressing J and L to move left and right by word.
+
+
+## use lots of modifier keys in OS X menu-item shortcuts
+
+I wanted to preserve the feel of a number of shortcuts that involve pressing lots of modifier keys at once; this is why the bottom left of the keyboard has shift, control, option, and command in the usual spaces. Further, some common shortcuts I press have a key on the right side of the keyboard. These shortcuts include:
+
+- Empty Trash Without Asking for Confirmation (⇧⌥⌘⌫)
+- Shut Down Without Asking for Confirmation (⇧⌥⌘ power)
+
+
+## use Emacs-style shortcuts
+
+I press C-a, C-e, and C-k all the time. It’s difficult to press these key combinations with the control key on the bottom left and I’m too quick on the draw for the control function on the / key to work reliably, so the bottommost thumb button on the right side is another control key.
+
+
+## use spreadsheets
+
+All the common spreadsheet operations (+-*/=) are now on the right side of the symbol layer.
diff --git a/keyboard/ergodox_ez/keymaps/zweihander-osx/zweihander-osx.hex b/keyboard/ergodox_ez/keymaps/zweihander-osx/zweihander-osx.hex
new file mode 100644 (file)
index 0000000..b76c3ec
--- /dev/null
@@ -0,0 +1,1152 @@
+:100000000C9465020C94A9020C94A9020C94A90208\r
+:100010000C94A9020C94A9020C94A9020C94A902B4\r
+:100020000C94A9020C94A9020C94720C0C94440D2B\r
+:100030000C94A9020C94A9020C94A9020C94A90294\r
+:100040000C94A9020C940E220C94A9020C94A902FF\r
+:100050000C94A9020C949D1B0C94A9020C94A90267\r
+:100060000C94A9020C94A9020C94A9020C94A90264\r
+:100070000C94A9020C94A9020C94A9020C94A90254\r
+:100080000C94A9020C94A9020C94A9020C94A90244\r
+:100090000C94A9020C94A9020C94A9020C94A90234\r
+:1000A0000C94A9020C94A9020C94A902B10DD30DD1\r
+:1000B000C10ED30DC10E180E3B0EC10E900EA30E35\r
+:1000C0008F118F11CC11CC110F124D1266146614C2\r
+:1000D00066126614671367133A1466146614511493\r
+:1000E0000000F0A12E004C002A00E100E00000001A\r
+:1000F0001E00140004001D00E200E2001F001A00B0\r
+:1001000016001B00E3002A0020000800070006007C\r
+:1001100050002C0021001500090019004F004B0071\r
+:10012000220017000A0005000000350050000154AD\r
+:100130000000E300000034004F0001540000E30021\r
+:100140000000290023001C000B00110000002A0001\r
+:10015000240018000D00100052004E0025000C0075\r
+:100160000E00360051002800260012000F00370054\r
+:100170002F002B0027001300338238713000E0007D\r
+:100180002D0031003478E500C100000001000100BD\r
+:1001900001000100010000003A001E0220022202BC\r
+:1001A000010001003B001F022102230201000100A7\r
+:1001B0003C002F0226022F00010001003D0030020A\r
+:1001C00027023000010001003E00310235003502F7\r
+:1001D000000001000100010000000100000001001A\r
+:1001E0000100010000000100000001003F00380094\r
+:1001F0002D002402000001004000240021001E0008\r
+:1002000027004A004100250022001F00370001009E\r
+:100210004200260023002000500001004300250278\r
+:100220002E022E004F004D00440045000100010049\r
+:1002300001000000010001000100010001000000B8\r
+:100240006900010001000100010001006A000100D5\r
+:100250004A0001000100010001004B004E000100B6\r
+:1002600001000100010001004D000100010001003A\r
+:100270000100010001000100000001000100010077\r
+:10028000000001000000010014080100000001004E\r
+:10029000000001001A0830082F082C02000001009D\r
+:1002A000350A520C50002C00A900010035085200FC\r
+:1002B0005100AC00AA0001002B06510C4F00AB000E\r
+:1002C000A80001002B040100010001000100010051\r
+:1002D000A5000100AE00010001000000160345006A\r
+:1002E000720067006F0044006F0078002000450036\r
+:1002F0005A00000016034500720067006F004400BA\r
+:100300006F007800200045005A0000000403090433\r
+:1003100009026D00040100A0FA09040000010301B4\r
+:100320000100092111010001223F00070581030896\r
+:10033000000A090401000103010200092111010062\r
+:1003400001224D000705820308000A09040200018A\r
+:100350000300000009211101000122360007058376\r
+:100360000308000A09040300010300000009211129\r
+:100370000100012239000705840310000112011059\r
+:100380000100000008EDFE07130100010200010555\r
+:10039000010906A101050719E029E71500250195C6\r
+:1003A0000875018102050819012905950575019156\r
+:1003B000029501750391010507190029771500259C\r
+:1003C00001957875018102C005010980A1018502AE\r
+:1003D00016010026B7001A01002AB7007510950112\r
+:1003E0008100C0050C0901A1018503160100269CAE\r
+:1003F000021A01002A9C02751095018100C00501B6\r
+:100400000902A1010901A100050919012905150029\r
+:10041000250195057501810295017503810105018D\r
+:10042000093009311581257F950275088106093843\r
+:100430001581257F950175088106050C0A3802157E\r
+:1004400081257F950175088106C0C005010906A1B7\r
+:1004500001050719E029E7150025019508750181B7\r
+:100460000295017508810105081901290595057591\r
+:100470000191029501750391010507190029FF15E6\r
+:100480000025FF950675088100C0000000000000EF\r
+:100490000000000000010204060A0F17202C3A4A4F\r
+:1004A0005D71879DB3C7DAE9F5FCFFFCF5E9DAC7B2\r
+:1004B000B39D87715D4A3A2C20170F0A060402018A\r
+:1004C0000000000000000000000011241FBECFEF5C\r
+:1004D000DAE0DEBFCDBF04B603FE24C08091EE019A\r
+:1004E0009091EF01A091F001B091F1018730904B14\r
+:1004F000A740B04BB9F41092EE011092EF011092A8\r
+:10050000F0011092F10114BE84B7877F84BF88E1A7\r
+:100510000FB6F89480936000109260000FBEE0E088\r
+:10052000FFE3099511E0A0E0B1E0EAEAF7E402C0D8\r
+:1005300005900D92A433B107D9F711E0A4E3B1E01F\r
+:1005400001C01D92AE3EB107E1F70E94B6090C94BE\r
+:10055000D3230C94000061110BC0FC01828188231D\r
+:1005600021F085EE0E94231003C085EE0E94EB105F\r
+:1005700080E090E0089508956091B1017091B2011A\r
+:100580008091B3019091B4010E94C91A56985E9867\r
+:1005900025982D9826982E9827982F98813019F015\r
+:1005A000823021F00895259A2D9A0895269A2E9A40\r
+:1005B00008950C94BC0256985E9825982D9826981C\r
+:1005C0002E9827982F988FEF90E090938900809332\r
+:1005D000880090938B0080938A0090938D00809385\r
+:1005E0008C00259A2D9A2FEF80E792E021508040D1\r
+:1005F0009040E1F700C00000269A2E9A2FEF80E786\r
+:1006000092E0215080409040E1F700C00000279A1E\r
+:100610002F9A2FEF80E792E0215080409040E1F741\r
+:1006200000C0000025982D982FEF80E792E0215020\r
+:1006300080409040E1F700C0000026982E982FEFF0\r
+:1006400080E792E0215080409040E1F700C0000038\r
+:1006500027982F9856985E9825982D9826982E982A\r
+:1006600027982F98089589EA8093800089E08093E5\r
+:10067000810024982C983F988AB18F748AB96E981B\r
+:10068000479A8BB1806B8BB9769A0E94DB020C94EF\r
+:10069000BB0280E2809300018091340181110EC081\r
+:1006A0000E94980381E0809334012FEF83ED90E363\r
+:1006B000215080409040E1F700C0000080E40E949B\r
+:1006C0009E038093000181112EC00E94C803809375\r
+:1006D0000001811128C00E94C8038093000181118C\r
+:1006E00022C08FE30E94C8038093000181111BC0C8\r
+:1006F0000E94C00380E40E949E0380930001811148\r
+:1007000012C08CE00E94C8038093000181110BC0CD\r
+:100710000E94C80380930001811105C08FE30E94ED\r
+:10072000C803809300010E94C003809100010895D6\r
+:100730001092B9008AE08093B800089594EA9093EB\r
+:10074000BC009091BC0097FFFCCF9091B900987FBE\r
+:10075000983021F0903111F081E008958093BB0032\r
+:1007600084E88093BC008091BC0087FFFCCF80911F\r
+:10077000B900887F883111F0803471F780E00895E6\r
+:1007800084E98093BC008091BC0084FDFCCF089577\r
+:100790008093BB0084E88093BC008091BC0087FFFD\r
+:1007A000FCCF9091B900987F81E0983209F480E005\r
+:1007B000089584E88093BC008091BC0087FFFCCF43\r
+:1007C0008091BB00089580910001811115C080E4E3\r
+:1007D0000E949E038093000181110CC082E10E945F\r
+:1007E000C80380930001811105C08FEF0E94C803E8\r
+:1007F000809300010E94C00384B1807F84B985B1D9\r
+:10080000807F85B98AB1837F8AB98BB1837F8BB9A9\r
+:100810003E98469808950E944903809300010E94E3\r
+:10082000E30380B38C7080BB81B3836F81BBA6E38D\r
+:10083000B1E0E4E4F1E08EE08E0F11921D928E1390\r
+:10084000FCCF0C943303BF92CF92DF92EF92FF92D2\r
+:100850000F931F93CF93DF9380910001882379F04A\r
+:10086000809135018F5F80933501811108C00E940E\r
+:10087000490380930001811102C00E94DB0206E35C\r
+:1008800011E0C0E0D0E0DD24D39482E0C82EEE2455\r
+:10089000E394F12CC730D10500F58091000181115E\r
+:1008A00064C080E40E949E0380930001811112C005\r
+:1008B00082E10E94C8038093000181110BC0C7012F\r
+:1008C0000C2E01C0880F0A94EAF780950E94C80395\r
+:1008D000809300010E94C00348C0CA30A1F028F4F0\r
+:1008E000C83059F0C93061F005C0CC3089F070F0E3\r
+:1008F000CD3089F0209A289810C0219A29980DC0EF\r
+:10090000229A2A980AC0239A2B9807C0529A01C0AB\r
+:10091000539A5B9802C03E9A469890EA9A95F1F7EE\r
+:100920009FB1799902C082E001C080E091709D255D\r
+:10093000982B7C9902C084E001C080E0892B7D99CE\r
+:1009400002C038E001C030E0832B7E9902C020E174\r
+:1009500001C020E0822B9FB19095991F9927991F84\r
+:100960009295990F907E892B0FC080910001811183\r
+:1009700049C080E40E949E0380930001882379F19E\r
+:10098000B12C0E94C0038B2DF8019081981719F0AB\r
+:100990008083C09201010E94E30321960F5F1F4FE5\r
+:1009A000CE30D10509F076CF80910101882361F125\r
+:1009B000815080930101882339F08FE99FE00197EE\r
+:1009C000F1F700C0000020C0A4E4B1E0E6E3F1E0EC\r
+:1009D000CF01825F91919D938E13FCCF15C083E16F\r
+:1009E0000E94C803809300018111CACF81E40E9454\r
+:1009F0009E03809300018111C3CF0E94D903B82EBA\r
+:100A0000B094BFCF80E0C0CF0E94D90281E0DF91D7\r
+:100A1000CF911F910F91FF90EF90DF90CF90BF90FB\r
+:100A20000895E82FF0E0EC5BFE4F80810895089573\r
+:100A3000089596E0799FF001112494E5899FE00DD7\r
+:100A4000F11D1124E60FF11DEE0FFF1FEC51FF4FBA\r
+:100A5000859194910895880F991FFC01E05AF04008\r
+:100A6000859194910895880F991FFC01E052FF4FE2\r
+:100A70008591949108950F931F93CF93DF93EC0189\r
+:100A80008115904350F5C11580E2D80708F0B3C036\r
+:100A9000CB3BD10590F4C83AD10508F05AC0C53A0D\r
+:100AA000D10508F04BC0C430D10508F0BBC1219777\r
+:100AB00009F0B5C101E010E0F5C1CF3FD10511F05B\r
+:100AC00008F0B0C1C03FD10508F092C0CE01805EF1\r
+:100AD0009109089708F4A6C1A2C1C11591E5D907EB\r
+:100AE000A8F4C23020E5D20708F09EC0C11580E509\r
+:100AF000D80709F485C008F091C0C11520E4D207D9\r
+:100B000008F08DC1DD278E01106CCCC1C11580E8C5\r
+:100B1000D80758F4C11590E7D90708F07CC1C11572\r
+:100B200020E6D20708F422C17AC1C11580E9D807AE\r
+:100B300008F075C1DF708E01106AB4C1C53AD105E5\r
+:100B400009F472C1C63AD10509F071C102E810E496\r
+:100B5000A9C1C83AD10509F46DC1C93AD10509F452\r
+:100B60006CC1CA3AD10509F46BC1CB3AD10509F47D\r
+:100B70006AC1CC3AD10509F469C1CD3AD10509F46D\r
+:100B800068C1C03BD10509F467C1CE3AD10509F46B\r
+:100B900066C1CF3AD10509F465C1C13BD10509F45D\r
+:100BA00064C1C23BD10509F463C1C33BD10509F45B\r
+:100BB00062C1C43BD10509F461C1C53BD10509F44B\r
+:100BC00060C1C63BD10509F45FC1C73BD10509F43B\r
+:100BD0005EC1C83BD10509F45DC1C93BD10509F42B\r
+:100BE0005CC1CA3BD10509F45BC100E014E45AC101\r
+:100BF0008E01106557C1CE019F700E94330553C10D\r
+:100C00000E948A149FEF24E38CE0915020408040A2\r
+:100C1000E1F700C000000E94C21B44C18091CD01D9\r
+:100C200081608093CD013EC10E946B1D811102C085\r
+:100C30000E94511D0E94881D90E09093EE018093C8\r
+:100C4000ED01C23090E5D90721F48091ED0181607A\r
+:100C500086C0C43020E5D20721F48091ED01826086\r
+:100C60007EC0C63080E5D80721F48091ED01846014\r
+:100C700076C0C83090E5D90719F48091ED0127C0FE\r
+:100C8000CA3020E5D20721F48091ED01806167C070\r
+:100C9000CC3080E5D80721F48091ED0180625FC0FF\r
+:100CA000CE3090E5D90721F48091ED01806457C0E2\r
+:100CB000C03120E5D20721F48091ED0180684FC05A\r
+:100CC000C23180E5D80729F48091ED018460886005\r
+:100CD00046C0C33090E5D90721F48091ED018E7FA5\r
+:100CE0003EC0C53020E5D20721F48091ED018D7F13\r
+:100CF00036C0C73080E5D80721F48091ED018B7FA5\r
+:100D00002EC0C93090E5D90719F48091ED0126C0B5\r
+:100D1000CB3020E5D20721F48091ED018F7E1FC0FA\r
+:100D2000CD3080E5D80721F48091ED018F7D17C08B\r
+:100D3000CF3090E5D90721F48091ED018F7B0FC072\r
+:100D4000C13120E5D20721F48091ED018F7707C0F2\r
+:100D5000C331D04531F48091ED018B7F877F809343\r
+:100D6000ED018091ED010E948C1D9CC08D2F992773\r
+:100D70008F70992781309105D9F49E012370332714\r
+:100D800002C0880F991F2A95E2F79C688E0144E003\r
+:100D9000000F111F4A95E1F700271370802B912B4C\r
+:100DA00053E0CC0FDD1F5A95E1F7C076DD272FC049\r
+:100DB0008230910531F4DC2FCC278E01016F106A4F\r
+:100DC00071C08330910569F4CE018370992701E0E9\r
+:100DD00010E002C0000F111F8A95E2F7C8019C685D\r
+:100DE0000FC0049709F05EC0CE018370992701E01F\r
+:100DF00010E002C0000F111F8A95E2F7C8019A683F\r
+:100E000023E0CC0FDD1F2A95E1F7C07ED7708C015F\r
+:100E10000C2B1D2B47C0DF708E01106243C000E019\r
+:100E200010E040C08E013EC001E810E43BC003E882\r
+:100E300010E438C002EE14E435C009EE14E432C008\r
+:100E40000AEE14E42FC005EB14E42CC006EB14E406\r
+:100E500029C007EB14E426C00CEC14E423C00DEC0D\r
+:100E600014E420C003E815E41DC00AE815E41AC024\r
+:100E700002E915E417C004E915E414C001E216E420\r
+:100E800011C003E216E40EC004E216E40BC005E252\r
+:100E900016E408C006E216E405C007E216E402C044\r
+:100EA0000AE216E4C801DF91CF911F910F910895D6\r
+:100EB00096E0799FF001112494E5899FE00DF11DE2\r
+:100EC0001124E60FF11DEE0FFF1FEC51FF4F85912E\r
+:100ED0009491803E9105E0F4803C910558F5813372\r
+:100EE000910509F46FC048F48932910509F463C093\r
+:100EF0008A32910509F46DC072C089339105E9F019\r
+:100F000082389105D1F08533910509F44DC067C051\r
+:100F1000833E910581F138F4803E9105B9F0823E1F\r
+:100F20009105D9F05CC0863E910561F1873E91053F\r
+:100F3000A1F155C00E942B0508952091ED0120FDDF\r
+:100F400002C021FF4CC080EE90E049C08091ED01CD\r
+:100F500080FFF9CF89E390E042C08091ED0182FFEC\r
+:100F60000EC08091ED0184FF03C080E090E037C0A7\r
+:100F700083EE90E034C08091ED0182FFF2CF82EEEB\r
+:100F800090E02DC08091ED0183FF0BC08091ED01B9\r
+:100F900084FDEBCF87EE90E022C08091ED0183FFCE\r
+:100FA000F5CF86EE90E01BC08091ED0185FF07C074\r
+:100FB00089E290E014C08091ED0185FFF9CF85E3CF\r
+:100FC00090E00DC08091ED0186FF07C08AE290E0BD\r
+:100FD00006C08091ED0186FFF9CF81E390E00E9489\r
+:100FE0003B05089508950C94F207809162010895DD\r
+:100FF000CF93DF9300D01F92CDB7DEB79C018091D5\r
+:10100000E401843019F593E099833B832A8390931C\r
+:10101000E9008FEF9091E800815095FD06C095EDB5\r
+:101020009A95F1F700008111F5CF8091E80085FFD6\r
+:101030000DC040E050E063E070E0CE0101960E94F8\r
+:10104000620A8091E8008E778093E8000F900F90FD\r
+:101050000F90DF91CF910895CF93DF9300D01F922F\r
+:10106000CDB7DEB72091E401243021F522E02983B9\r
+:101070009B838A8383E08093E9008FEF9091E8005F\r
+:10108000815095FD06C095ED9A95F1F7000081110C\r
+:10109000F5CF8091E80085FF0DC040E050E063E0AF\r
+:1010A00070E0CE0101960E94620A8091E8008E777E\r
+:1010B0008093E8000F900F900F90DF91CF910895EB\r
+:1010C0002091E4012430F1F422E02093E9002FEF95\r
+:1010D0003091E800215035FD06C035ED3A95F1F725\r
+:1010E00000002111F5CF2091E80025FF0BC040E062\r
+:1010F00050E065E070E00E94620A8091E8008E771F\r
+:101100008093E8000895CF93DF93EC019091E40180\r
+:10111000943009F046C080910C018823D9F0809169\r
+:101120000D018823B9F09093E9008FEF9091E800CA\r
+:10113000815095FD06C095E19A95F1F70000811167\r
+:10114000F5CF8091E80085FF2CC040E050E060E1E1\r
+:1011500070E017C081E08093E9008FEF9091E80084\r
+:10116000815095FD06C095ED9A95F1F7000081112B\r
+:10117000F5CF8091E80085FF14C040E050E068E0C2\r
+:1011800070E0CE010E94620A8091E8008E77809321\r
+:10119000E80080E1FE01A2E5B1E001900D928A95A0\r
+:1011A000E1F7DF91CF9108958091E301811109C0AA\r
+:1011B0000E94F70B0E94540C8091E200846080939F\r
+:1011C000E20008951092E301089508950C94FB2124\r
+:1011D0000E94581B0E9401220E94FA0E0C94F307F1\r
+:1011E00042E061EC81E00E94710B42E061EC82E040\r
+:1011F0000E94710B42E061EC83E00E94710B42E1BE\r
+:1012000061EC84E00C94710B8091E601833009F469\r
+:1012100055C030F4813071F0823009F48EC00895E9\r
+:101220008A3009F47AC08B3009F460C0893009F043\r
+:101230009CC020C08091E501813A09F096C0809160\r
+:10124000E800877F8093E8008091E9019091EA01AE\r
+:10125000892B21F460E182E591E003C060E080E049\r
+:1012600090E070E00E94AD0A8091E8008B77809357\r
+:10127000E80008958091E501813209F076C08091FF\r
+:10128000E9019091EA01009719F0039709F06DC008\r
+:101290008091E800877F8093E8008091E80082FDDC\r
+:1012A00005C08091E4018111F8CF5FC08091F10009\r
+:1012B000809362018091E8008B7753C08091E501B3\r
+:1012C000813A09F052C08091E9019091EA01892B9D\r
+:1012D00009F04BC08091E800877F8093E8008091FF\r
+:1012E000E80080FFFCCF80910C0136C08091E501C1\r
+:1012F0008132D9F58091E9019091EA01892BA9F514\r
+:101300008091E800877F8093E8000E94A60B80917F\r
+:10131000E70180930C010C948A148091E5018132DD\r
+:1013200021F58091E800877F8093E8000E94A60B5A\r
+:101330008091E8018093630108958091E501813AED\r
+:10134000A1F48091E800877F8093E8008091E80015\r
+:1013500080FFFCCF809163018093F1008091E800D1\r
+:101360008E778093E8000C94A60B089584B7877F4E\r
+:1013700084BF88E10FB6F8948093600010926000FB\r
+:101380000FBE90E080E80FB6F894809361009093D0\r
+:1013900061000FBE0E94490F0E94F70B0E94540C7F\r
+:1013A0008091E20084608093E20078940E94DA0EDB\r
+:1013B0000E944B0F82E091E00E94F50E0E94E9210D\r
+:1013C0008091E401853069F40E94191B8091E2014B\r
+:1013D0008823B1F30E94441B882391F30E944C0A96\r
+:1013E000EFCF0E94510FECCF292F33272330310547\r
+:1013F000C9F064F42130310581F02230310509F063\r
+:1014000043C08DE690E020E133E042C02132310557\r
+:10141000F1F02232310541F137C082E190E02DE751\r
+:1014200033E036C099278130910541F08230910533\r
+:1014300041F0892B49F5ECE0F3E005C0E4EFF2E080\r
+:1014400002C0ECEDF2E0849190E09F0121C0643095\r
+:10145000D8F4E62FF0E0EE0FFF1FEE5DFE4F208187\r
+:10146000318189E090E014C0643070F470E0FB01D9\r
+:10147000EE0FFF1FE65EFE4F20813181FB01EA5E29\r
+:10148000FE4F808190E004C080E090E020E030E0FA\r
+:10149000FA0131832083089580E189BD82E189BD0D\r
+:1014A00009B400FEFDCF8091D8008F7D8093D800D5\r
+:1014B0008091E00082608093E0008091E00081FDF7\r
+:1014C000FCCF0895CF92DF92EF92FF920F931F937C\r
+:1014D000CF93DF93EC018B016A010E94C50B811150\r
+:1014E00033C0C114D10439F0F60180819181081B09\r
+:1014F000190BC80FD91FE12CF12C0115110519F199\r
+:101500008091E80085FD16C08091E8008E77809379\r
+:10151000E800C114D10449F0F60180819181E80E00\r
+:10152000F91EF182E08285E00FC00E94C50B88237E\r
+:1015300021F30AC089918093F10001501109FFEF56\r
+:10154000EF1AFF0ADACF80E0DF91CF911F910F9160\r
+:10155000FF90EF90DF90CF9008952091EB013091B4\r
+:10156000EC012617370748F06115710539F4209111\r
+:10157000E8002E772093E80001C0B90140E0611532\r
+:101580007105A9F12091E401222309F443C025301B\r
+:1015900009F442C02091E80023FD40C02091E800FA\r
+:1015A00022FD32C02091E80020FFE9CF4091F300F6\r
+:1015B0002091F20030E0342BFC01CF016115710560\r
+:1015C00059F02830310540F481918093F100615049\r
+:1015D00071092F5F3F4FF1CF41E02830310509F00D\r
+:1015E00040E02091E8002E772093E800C8CF411119\r
+:1015F000C9CF0AC08091E401882361F0853061F091\r
+:101600008091E80083FD0AC08091E80082FFF2CF5C\r
+:1016100080E0089582E0089583E0089581E00895D0\r
+:101620002091EB013091EC012617370748F0611546\r
+:10163000710539F42091E8002E772093E80001C06D\r
+:10164000B901FC0120E06115710591F18091E4017F\r
+:10165000882309F440C0853009F43FC08091E80038\r
+:1016600083FD3DC08091E80082FD2FC08091E8009D\r
+:1016700080FFE9CF2091F3008091F20090E0922B5F\r
+:101680006115710559F08830910540F4249120933B\r
+:10169000F1003196615071090196F2CF21E008976F\r
+:1016A00009F020E08091E8008E778093E800CBCFAE\r
+:1016B0002111CCCF0AC08091E401882361F08530EC\r
+:1016C00061F08091E80083FD0AC08091E80082FF0C\r
+:1016D000F2CF80E0089582E0089583E0089581E0EC\r
+:1016E0000895982F973058F59093E900981739F09E\r
+:1016F0007091EC002091ED005091F00003C0242F78\r
+:10170000762F50E021FF19C03091EB003E7F3093DF\r
+:10171000EB003091ED003D7F3093ED003091EB0018\r
+:1017200031603093EB007093EC002093ED00509308\r
+:10173000F0002091EE0027FF07C09F5FD3CF8F708E\r
+:101740008093E90081E0089580E008958091E501AB\r
+:1017500087FF11C08091E80082FD05C08091E401FF\r
+:101760008111F8CF11C08091E8008B770BC0809178\r
+:10177000E401882349F08091E80080FFF8CF809150\r
+:10178000E8008E778093E80008952091E40030917E\r
+:10179000E50095E64091EC00842F817040FF22C067\r
+:1017A0008091E80080FD1CC08091E401882391F0C5\r
+:1017B000853091F08091EB0085FD10C04091E400F0\r
+:1017C0005091E5004217530729F39A01915011F700\r
+:1017D00084E0089582E0089583E0089581E008950B\r
+:1017E00080E008954091E80042FFDECF08950E9416\r
+:1017F000650C0E946D0CE0EEF0E0808181608083DA\r
+:10180000E8EDF0E080818F77808319BCA7EDB0E030\r
+:101810008C918E7F8C9380818F7E80831092E301E8\r
+:1018200008950F931F93CF93DF930E94650C0E943E\r
+:101830006D0CC8EDD0E088818F77888388818068BF\r
+:10184000888388818F7D888319BC1092E40110926F\r
+:10185000E0011092E2011092E10100EE10E0F801C7\r
+:1018600080818B7F808388818160888342E060E013\r
+:1018700080E00E94710BE1EEF0E080818E7F80833A\r
+:10188000E2EEF0E0808181608083808188608083E7\r
+:10189000F80180818E7F8083888180618883DF91D9\r
+:1018A000CF911F910F910895E8EDF0E080818F7E38\r
+:1018B0008083E7EDF0E080818160808384E082BFF7\r
+:1018C00081E08093E3010C94110CE8EDF0E080815D\r
+:1018D0008E7F80831092E20008951092DA001092B9\r
+:1018E000E10008951F920F920FB60F9211242F93CB\r
+:1018F0003F934F935F936F937F938F939F93AF9398\r
+:10190000BF93EF93FF938091E10082FF0BC0809122\r
+:10191000E20082FF07C08091E1008B7F8093E100AD\r
+:101920000E94D90E8091DA0080FF1FC08091D800FC\r
+:1019300080FF1BC08091DA008E7F8093DA00809157\r
+:10194000D90080FF0DC080E189BD82E189BD09B465\r
+:1019500000FEFDCF81E08093E4010E94D40805C021\r
+:1019600019BC1092E4010E94E2088091E10080FF1E\r
+:1019700019C08091E20080FF15C08091E2008E7F47\r
+:101980008093E2008091E20080618093E200809188\r
+:10199000D80080628093D80019BC85E08093E40170\r
+:1019A0000E94E6088091E10084FF30C08091E2004F\r
+:1019B00084FF2CC080E189BD82E189BD09B400FEAD\r
+:1019C000FDCF8091D8008F7D8093D8008091E10079\r
+:1019D0008F7E8093E1008091E2008F7E8093E20011\r
+:1019E0008091E20081608093E2008091E001882391\r
+:1019F00011F084E007C08091E30087FD02C081E020\r
+:101A000001C083E08093E4010E94E8088091E10036\r
+:101A100083FF29C08091E20083FF25C08091E1000F\r
+:101A2000877F8093E10082E08093E4011092E001DF\r
+:101A30008091E1008E7F8093E1008091E2008E7FB3\r
+:101A40008093E2008091E20080618093E20042E0B6\r
+:101A500060E080E00E94710B8091F00088608093CC\r
+:101A6000F0000E94E508FF91EF91BF91AF919F9127\r
+:101A70008F917F916F915F914F913F912F910F9037\r
+:101A80000FBE0F901F9018951F920F920FB60F92D6\r
+:101A900011242F933F934F935F936F937F938F9373\r
+:101AA0009F93AF93BF93CF93DF93EF93FF93C09137\r
+:101AB000E900CF708091EC00D82FD17080FDD0E884\r
+:101AC0001092E9008091F000877F8093F000789475\r
+:101AD0000E94880D1092E9008091F0008860809348\r
+:101AE000F000CD2BCF70C093E900FF91EF91DF9113\r
+:101AF000CF91BF91AF919F918F917F916F915F91A6\r
+:101B00004F913F912F910F900FBE0F901F901895FE\r
+:101B10001F93CF93DF93CDB7DEB7AA970FB6F89494\r
+:101B2000DEBF0FBECDBFE5EEF1E088E08E0F9091F5\r
+:101B3000F10091938E13FBCF0E9404098091E8007D\r
+:101B400083FF1FC18091E5019091E601492F50E08C\r
+:101B50004A30510508F015C1FA01EA5AFF4F0C94BA\r
+:101B60008323803881F0823809F00BC18091E9012C\r
+:101B70008F708093E9008091EB0085FB882780F9C6\r
+:101B80001092E90006C08091E1019091E20191116B\r
+:101B900082609091E800977F9093E8008093F10035\r
+:101BA0001092F100C8C0282F2D7F09F0EAC08823C9\r
+:101BB00019F0823061F0E5C08091E701813009F0D1\r
+:101BC000E0C0933009F080E08093E2012BC0809167\r
+:101BD000E701811127C08091E9018F7009F4D1C01C\r
+:101BE0008093E9002091EB0020FF1CC0933021F48A\r
+:101BF0008091EB00806214C09091EB009061909313\r
+:101C0000EB0021E030E0A90102C0440F551F8A9586\r
+:101C1000E2F74093EA001092EA008091EB008860BE\r
+:101C20008093EB001092E9008091E800877F86C0E6\r
+:101C30008111A7C01091E7011F778091E3008078A0\r
+:101C4000812B8093E3008091E800877F8093E800F8\r
+:101C50000E94A60B8091E80080FFFCCF8091E300FA\r
+:101C600080688093E300111102C082E001C083E02C\r
+:101C70008093E40186C08058823008F082C0809151\r
+:101C8000E7019091E8018C3D53E0950779F583E0F9\r
+:101C90008A838AE289834FB7F894DE01139620E0A5\r
+:101CA0003EE051E2E32FF0E050935700E49120FF33\r
+:101CB00003C0E295EF703F5FEF708E2F90E0EA3047\r
+:101CC00010F0C79601C0C0968D939D932F5F24316D\r
+:101CD00049F74FBF8091E800877F8093E8006AE270\r
+:101CE00070E0CE0101960E94AD0A14C0AE014F5FB4\r
+:101CF0005F4F6091E9010E94F409BC01892B09F44E\r
+:101D000040C09091E800977F9093E80089819A8184\r
+:101D10000E94100B8091E8008B778093E80031C01F\r
+:101D2000803879F58091E800877F8093E800809182\r
+:101D3000E0018093F1008091E8008E778093E800C5\r
+:101D40000E94A60B1EC081111CC09091E701923029\r
+:101D5000C0F48091E800877F8093E8009093E001D1\r
+:101D60000E94A60B8091E001811106C08091E300E2\r
+:101D700087FD02C081E001C084E08093E4010E94FD\r
+:101D8000F0088091E80083FF0AC08091E800877F17\r
+:101D90008093E8008091EB0080628093EB00AA962C\r
+:101DA0000FB6F894DEBF0FBECDBFDF91CF911F916C\r
+:101DB00008950895CF938091E4018823A1F0C09104\r
+:101DC000E900CF709091EC00892F817090FD80E840\r
+:101DD000C82B1092E9008091E80083FD0E94880DD5\r
+:101DE000CF70C093E900CF910895909369018093DB\r
+:101DF00068010895E0916801F0916901309721F040\r
+:101E00000190F081E02D099480E00895E09168014F\r
+:101E1000F0916901309721F00280F381E02D09945F\r
+:101E20000895E0916801F0916901309721F00480F4\r
+:101E3000F581E02D099408952091660130916701A4\r
+:101E40008217930771F09093670180936601E09188\r
+:101E50006801F0916901309721F00680F781E02D4B\r
+:101E600009940895209164013091650182179307C8\r
+:101E700071F09093650180936401E0916801F091A5\r
+:101E80006901309721F00084F185E02D09940895CF\r
+:101E900008950C94480F0E945E1B0E940B040C9442\r
+:101EA000241CCF92DF92EF92FF920F931F93CF9358\r
+:101EB000DF93CDB7DEB72B970FB6F894DEBF0FBE1A\r
+:101EC000CDBF0E9423048BE6C82E81E0D82E00E00F\r
+:101ED00010E0E02E802F0E941105F60141916F0164\r
+:101EE000F42EF826B1F40F5F1F4F0E30110589F75D\r
+:101EF0008FEF89838A831B820E94671B8160782F02\r
+:101F00009D838C8349815A816B818D810E94F40F5E\r
+:101F100040C09091CD0191FF04C08B870E941705AE\r
+:101F20008B8520E030E04F2D50E0922FBA01022E39\r
+:101F300002C0759567950A94E2F760FF24C02E836E\r
+:101F4000EF8221E030E0690102C0CC0CDD1C9A95E3\r
+:101F5000E2F790E08C219D21892B09F420E028876D\r
+:101F60000E94671B8160782F9A8789874E815F81E5\r
+:101F700068858A850E94F40FF801E559FE4F80813B\r
+:101F8000C826C08206C02F5F3F4F2630310569F654\r
+:101F9000AACF0E940B1F10916A010E94FA0E181717\r
+:101FA000A1F00E94FA0E80936A012B960FB6F89466\r
+:101FB000DEBF0FBECDBFDF91CF911F910F91FF907C\r
+:101FC000EF90DF90CF900C94F3072B960FB6F89418\r
+:101FD000DEBF0FBECDBFDF91CF911F910F91FF905C\r
+:101FE000EF90DF90CF900895CF93DF93CDB7DEB71A\r
+:101FF0002B970FB6F894DEBF0FBECDBF4F83588727\r
+:1020000069877A878B87DE01119686E0FD01119240\r
+:102010008A95E9F785E0FE01379601900D928A9541\r
+:10202000E1F749815A816B817C818D819E810E947B\r
+:1020300024172B960FB6F894DEBF0FBECDBFDF91ED\r
+:10204000CF9108950895CF93882309F4C2C0C82F73\r
+:10205000823859F40E94FA0E81FDBBC089E30E94C8\r
+:10206000CD190E949A1A89E30CC0833879F40E9432\r
+:10207000FA0E80FDAEC083E50E94CD190E949A1A27\r
+:1020800083E50E940F1ACF910C949A1A843859F460\r
+:102090000E94FA0E82FD9DC087E40E94CD190E9425\r
+:1020A0009A1A87E4EECF8CEF8C0F813A48F48C2F8C\r
+:1020B0000E944E2181118DC08C2F0E94CD19E3CF3B\r
+:1020C00080E28C0F883048F4C77081E001C0880F2F\r
+:1020D000CA95EAF70E94531AD6CF8BE58C0F83304E\r
+:1020E00078F4C53A29F0C63A31F083E890E005C0AB\r
+:1020F00081E890E002C082E890E0CF910C941C0F40\r
+:1021000088E58C0F833108F064C0C83A39F1C93AC8\r
+:1021100041F1CA3A49F1CB3A51F1CC3A59F1CD3AB1\r
+:1021200061F1C03B69F1CE3A71F1CF3A79F1C13B2F\r
+:1021300081F1C23B89F1C33B91F1C43B99F1C53BAD\r
+:10214000A1F1C63BA9F1C73BB1F1C83BB9F1C93B0D\r
+:10215000C1F1CA3BC9F180E090E038C082EE90E066\r
+:1021600035C089EE90E032C08AEE90E02FC085EB5A\r
+:1021700090E02CC086EB90E029C087EB90E026C071\r
+:102180008CEC90E023C08DEC90E020C083E891E0DF\r
+:102190001DC08AE891E01AC082E991E017C084E985\r
+:1021A00091E014C081E292E011C083E292E00EC09F\r
+:1021B00084E292E00BC085E292E008C086E292E001\r
+:1021C00005C087E292E002C08AE292E0CF910C94CF\r
+:1021D000320FCF910895882309F44BC0823859F407\r
+:1021E0000E94FA0E81FF45C089E30E94CD190E942A\r
+:1021F0009A1A89E30CC0833871F40E94FA0E80FFAA\r
+:1022000038C083E50E94CD190E949A1A83E50E9486\r
+:102210000F1A0C949A1A843859F40E94FA0E82FF0D\r
+:1022200028C087E40E94CD190E949A1A87E4EFCF54\r
+:102230009CEF980F913A58F390E2980F983050F431\r
+:10224000877091E001C0990F8A95EAF7892F0E9463\r
+:10225000591ADFCF9BE5980F933020F480E090E08F\r
+:102260000C941C0F885A833120F480E090E00C9489\r
+:10227000320F0895882321F00E94531A0C949A1A61\r
+:102280000895882321F00E94591A0C949A1A0895EF\r
+:10229000BF92CF92DF92EF92FF920F931F93CF9353\r
+:1022A000DF9300D000D000D0CDB7DEB725E0FC0131\r
+:1022B000DE01119601900D922A95E1F7FC01D08084\r
+:1022C00011810281258122952F7043815481452BF4\r
+:1022D00009F4FCC21F3F21F4FFEFDF1609F4F6C238\r
+:1022E0007C012E830E942210D9821A8369817A810F\r
+:1022F000802F0E94C919182FB92E0E947E190E94A2\r
+:1023000045182E81002319F00E94701A2E81EB2DA2\r
+:10231000E295EF70F0E0E05AFF4F0C9483238B2D91\r
+:10232000807F9B2D9F70F92E882319F0F29480EF07\r
+:10233000F822002389F0FF2009F475C280E2810FA2\r
+:10234000883020F48F2D0E94531A03C08F2D0E94D5\r
+:10235000631A0E949A1A67C2812F0E94EB10FF2015\r
+:1023600009F4B4C2105E8F2D183018F40E94591A67\r
+:1023700002C00E94691A26960FB6F894DEBF0FBEFF\r
+:10238000CDBFDF91CF911F910F91FF90EF90DF9024\r
+:10239000CF90BF900C949A1A3B2D307F8B2D8F706D\r
+:1023A000303211F08295807F112319F0113021F124\r
+:1023B0002CC00023B9F0222309F4A0C1213009F078\r
+:1023C0009DC126960FB6F894DEBF0FBECDBFDF913C\r
+:1023D000CF911F910F91FF90EF90DF90CF90BF9022\r
+:1023E0000C94831A222319F0213009F46FC28E83D2\r
+:1023F0000E94861A8E8196C1002321F0223008F0B7\r
+:1024000065C27CC1211162C28DC1002321F022234B\r
+:1024100009F474C108C2222309F484C119C22B2D06\r
+:1024200026952695237030E02115310521F02130C5\r
+:102430003105D1F04BC2002321F0812F9B2D9370E9\r
+:1024400002C080E090E026960FB6F894DEBF0FBE83\r
+:10245000CDBFDF91CF911F910F91FF90EF90DF9053\r
+:10246000CF90BF900C941C0F002321F0812F9B2D47\r
+:10247000937002C080E090E026960FB6F894DEBF1D\r
+:102480000FBECDBFDF91CF911F910F91FF90EF90C5\r
+:10249000DF90CF90BF900C94320F812F002319F062\r
+:1024A0000E94131E02C00E947B1E26960FB6F8944F\r
+:1024B000DEBF0FBECDBFDF91CF911F910F91FF9077\r
+:1024C000EF90DF90CF90BF900C94001F8B2D837006\r
+:1024D00009F07BC00111FAC1812F82958695877022\r
+:1024E000880F880F912F9F70C92ED12CE12CF12CD1\r
+:1024F000082E04C0CC0CDD1CEE1CFF1C0A94D2F785\r
+:1025000014FF12C04FE050E060E070E004C0440FE0\r
+:10251000551F661F771F8A95D2F7CB01BA016095C8\r
+:1025200070958095909503C060E070E0CB012B2DF5\r
+:10253000269526952370422F50E042305105D9F060\r
+:102540004330510569F16C297D298E299F2941303D\r
+:10255000510551F126960FB6F894DEBF0FBECDBFE0\r
+:10256000DF91CF911F910F91FF90EF90DF90CF906F\r
+:10257000BF900C946C186C297D298E299F29269672\r
+:102580000FB6F894DEBF0FBECDBFDF91CF911F9184\r
+:102590000F91FF90EF90DF90CF90BF900C94881830\r
+:1025A0000E946C18C701B60126960FB6F894DEBFDC\r
+:1025B0000FBECDBFDF91CF911F910F91FF90EF9094\r
+:1025C000DF90CF90BF900C945018002319F08B2D02\r
+:1025D000817001C08695882309F478C1812F829586\r
+:1025E00086958770880F880F912F9F70C92ED12CE8\r
+:1025F000E12CF12C082E04C0CC0CDD1CEE1CFF1CC1\r
+:102600000A94D2F714FF12C04FE050E060E070E08F\r
+:1026100004C0440F551F661F771F8A95D2F7CB0160\r
+:10262000BA01609570958095909503C060E070E068\r
+:10263000CB012B2D269526952370422F50E042305A\r
+:102640005105D9F04330510569F16C297D298E2956\r
+:102650009F294130510551F126960FB6F894DEBFFF\r
+:102660000FBECDBFDF91CF911F910F91FF90EF90E3\r
+:10267000DF90CF90BF900C9446196C297D298E294C\r
+:102680009F2926960FB6F894DEBF0FBECDBFDF910F\r
+:10269000CF911F910F91FF90EF90DF90CF90BF905F\r
+:1026A0000C9462190E944619C701B60126960FB60E\r
+:1026B000F894DEBF0FBECDBFDF91CF911F910F9178\r
+:1026C000FF90EF90DF90CF90BF900C942A19103FAD\r
+:1026D000D1F118F4103E50F4A1C0123F09F463C0C8\r
+:1026E00008F44CC0133F09F473C098C01F708B2DC1\r
+:1026F0008F710023A1F00E94C318812F26960FB678\r
+:10270000F894DEBF0FBECDBFDF91CF911F910F9127\r
+:10271000FF90EF90DF90CF90BF900C943A110E9401\r
+:10272000E418812F26960FB6F894DEBF0FBECDBFFA\r
+:10273000DF91CF911F910F91FF90EF90DF90CF909D\r
+:10274000BF900C9441110023A9F02111BFC08B2D23\r
+:102750008F7126960FB6F894DEBF0FBECDBFDF9106\r
+:10276000CF911F910F91FF90EF90DF90CF90BF908E\r
+:102770000C940919223008F0A9C0E9CF0023A9F070\r
+:102780008B2D8F7126960FB6F894DEBF0FBECDBF8E\r
+:10279000DF91CF911F910F91FF90EF90DF90CF903D\r
+:1027A000BF900C94C318002359F38B2D8F7126967C\r
+:1027B0000FB6F894DEBF0FBECDBFDF91CF911F9152\r
+:1027C0000F91FF90EF90DF90CF90BF900C94E418A2\r
+:1027D000002399F08B2D8F7126960FB6F894DEBFEB\r
+:1027E0000FBECDBFDF91CF911F910F91FF90EF9062\r
+:1027F000DF90CF90BF900C94AE1826960FB6F89449\r
+:10280000DEBF0FBECDBFDF91CF911F910F91FF9023\r
+:10281000EF90DF90CF90BF900C94A4180023A9F004\r
+:10282000222309F4ADCF812F26960FB6F894DEBF90\r
+:102830000FBECDBFDF91CF911F910F91FF90EF9011\r
+:10284000DF90CF90BF900C942310222309F4ADCFDA\r
+:10285000812F26960FB6F894DEBF0FBECDBFDF9155\r
+:10286000CF911F910F91FF90EF90DF90CF90BF908D\r
+:102870000C94EB104B2D4F70612FC7010E94AB02DF\r
+:1028800026960FB6F894DEBF0FBECDBFDF91CF9175\r
+:102890001F910F91FF90EF90DF90CF90BF900C941D\r
+:1028A000C8174B2D4F70612FC70126960FB6F894AD\r
+:1028B000DEBF0FBECDBFDF91CF911F910F91FF9073\r
+:1028C000EF90DF90CF90BF900C94180526960FB62E\r
+:1028D000F894DEBF0FBECDBFDF91CF911F910F9156\r
+:1028E000FF90EF90DF90CF90BF9008950E94701AF4\r
+:1028F0000E94801A0E94451A0E949A1A0E94B11FD3\r
+:102900000E94001F80E090E00E941C0F80E090E099\r
+:102910000C94320F0E94601A0C9476140E94BE1917\r
+:10292000292F22952F7030E02C3031054CF42A30BD\r
+:1029300031056CF4225031092230310588F407C08A\r
+:102940002C30310549F02F30310531F009C0803E7F\r
+:1029500048F0803F29F406C093FB882780F908954A\r
+:1029600080E0089581E00895CF93DF9300D000D0F8\r
+:102970001F92CDB7DEB70F900F900F900F900F9072\r
+:10298000DF91CF910895CF93DF9300D000D000D096\r
+:10299000CDB7DEB726960FB6F894DEBF0FBECDBF1B\r
+:1029A000DF91CF9108951F93CF93DF93C091790169\r
+:1029B00016E080917A01C81799F0D0E01C9FF001D1\r
+:1029C0001D9FF00D1124E558FE4F40815181628119\r
+:1029D0007381848195810E94C3142196C770E9CFC9\r
+:1029E000DF91CF911F9108954091AB015091AC01BF\r
+:1029F0006091AD017091AE018091AF019091B001F5\r
+:102A00000C94C3148091B00182958F7009F054C06A\r
+:102A10008091AD01882309F44FC080917901A09184\r
+:102A20007A016091AB017091AC014091AE0150917F\r
+:102A3000AF01B6E08A1709F43FC090E04115510597\r
+:102A4000C1F17F3F11F46F3FA1F1B89FF001B99F31\r
+:102A5000F00D1124E558FE4F218172132AC0208108\r
+:102A6000621327C02281211124C0238134812417BD\r
+:102A7000350710F421503109241B350B283C310552\r
+:102A8000C0F42091B0012F7020612093B00126E0A6\r
+:102A9000289FF001299FF00D1124E058FE4F8081FE\r
+:102AA0008F70806180838BEA91E00E9448110C94C2\r
+:102AB000D31401968770BECF0895CF92DF92EF9224\r
+:102AC000FF920F931F93CF93DF93CDB7DEB762973B\r
+:102AD0000FB6F894DEBF0FBECDBF8C0185E0F801C4\r
+:102AE000DE011D9601900D928A95E1F7D8014C9177\r
+:102AF00011965C91119712966C9112971396CD9046\r
+:102B0000DC9014973091AB017091AC018091AE01D3\r
+:102B10009091AF01009709F46BC17F3F19F43F3FDB\r
+:102B200009F466C1E090AD01EE2009F4C0C0209127\r
+:102B3000B001C816D90628F0F601E81BF90BCF0141\r
+:102B400004C0809590958C0D9D1DFF24F394883CC6\r
+:102B5000910578F0F12C207F09F0C6C07C2DD98A30\r
+:102B6000C88A89890E94B4148BEA91E00E944811B6\r
+:102B7000B1C0822F807F09F046C0751314C0341392\r
+:102B800012C0611110C02F7020612093B0010E940B\r
+:102B9000F4148BEA91E00E9448118091B001D801B1\r
+:102BA00015968C932EC0CD2819F15F3F11F44F3F3D\r
+:102BB000F9F0F62E61111CC08091790120917A0103\r
+:102BC00036E0821709F45AC090E0389FF001399F2F\r
+:102BD000F00D1124E558FE4F7181571306C0708126\r
+:102BE000471303C07281711103C001968770E9CF4A\r
+:102BF000F62E662309F418C18091B001816080939C\r
+:102C0000B001F12C11C1751308C0341306C0611155\r
+:102C100004C08091B001D801C3C04D875E878D8507\r
+:102C20009E856A8B0E948E146A898823E1F166234F\r
+:102C3000D1F12091B001822F82958F7090E00297A0\r
+:102C400074F08091AB019091AC0198878F831986C5\r
+:102C5000DB86CA862C87CE0107960E94481186E043\r
+:102C6000F801ABEAB1E001900D928A95E1F70E947C\r
+:102C700002150E94F414FF24F394D6C04D875E879A\r
+:102C80008D859E850E94BE19292F22952F7030E0D8\r
+:102C9000223031050CF0BCC09F7009F0B6C0805ED8\r
+:102CA000883008F4C1C0C8010E944811E4CFC8169A\r
+:102CB000D90608F453C0F601E81BF90BCF01883C94\r
+:102CC000910508F450C0F12C7C2DD98AC88A8989D5\r
+:102CD0000E94B414EBEAF1E086E0DF011D928A95D0\r
+:102CE000E9F70E94F414A0C0751314C0341312C085\r
+:102CF000611110C08091B001F8018583C8010E9464\r
+:102D0000481186E0EBEAF1E0DF011D928A95E9F7D0\r
+:102D1000FE2C8AC04D875E878D859E856A8B0E94BA\r
+:102D20008E146A89882309F4BECF662309F4BBCFC9\r
+:102D30002091B001822F82958F7090E002970CF461\r
+:102D40008ECF8091AB019091AC019A8389831B82D5\r
+:102D5000DD82CC822E83CE0101967FCF8095909527\r
+:102D60008C0D9D1DACCFF62E662309F49CCF7513F8\r
+:102D70002EC034132CC02091B00120FD1FC0822F23\r
+:102D800082958F70D9F0D80115962C9315978F30B6\r
+:102D900049F08F5F982F9295907F822F8F70892BAB\r
+:102DA00015968C93C8010E94481186E0F801ABEAA1\r
+:102DB000B1E001900D928A95E1F793CF86E0F8019A\r
+:102DC000ABEAB1E001900D928A95E1F72DC04D87F5\r
+:102DD0005E878D859E850E948E14811140CF8091E3\r
+:102DE000B00181608093B001C8010E9448111CC0ED\r
+:102DF000662309F458CF4D875E878D859E850E9496\r
+:102E00008E14882309F44FCF2ACF811148CF0CC0EC\r
+:102E1000243031050CF047CF9F7009F440CFF80102\r
+:102E20009581907F09F03BCF8F2D62960FB6F89475\r
+:102E3000DEBF0FBECDBFDF91CF911F910F91FF90ED\r
+:102E4000EF90DF90CF9008951F93CF93DF93CDB78E\r
+:102E5000DEB72C970FB6F894DEBF0FBECDBF4F8301\r
+:102E6000588769877A878B879C87CE0107960E944F\r
+:102E70005D15882369F08F8198852A853B85232BF2\r
+:102E8000F1F19F3F09F063C08F3F09F060C037C088\r
+:102E900086E0FE013796DE01119601900D928A952B\r
+:102EA000E1F76F817885EA85FB85309741F17F3FB7\r
+:102EB00011F46F3F21F120917A0130E0C9010196B0\r
+:102EC000877099274091790150E08417950709F49C\r
+:102ED00047C069837A83FD83EC8396E0929FD0019B\r
+:102EE000939FB00D1124A558BE4FFE01319601905D\r
+:102EF0000D929A95E1F780937A010E94D31416E01F\r
+:102F00008091790190917A018917C1F1189FC001D0\r
+:102F1000112485589E4F0E945D15882379F1E09118\r
+:102F200079011E9FF0011124E558FE4F4081518127\r
+:102F300062817381848195810E94C314809179019B\r
+:102F400090E001968770992780937901D9CF4F81BE\r
+:102F5000588569857A858B859C850E94C314CFCF5F\r
+:102F60000E948A1410927A0110927901EBEAF1E042\r
+:102F700086E0DF011D928A95E9F7C1CF2C960FB646\r
+:102F8000F894DEBF0FBECDBFDF91CF911F910895A2\r
+:102F9000EF92FF920F931F93CF93DF938C01892BB6\r
+:102FA00009F46CC0F12CEE24E394E8012196F801B9\r
+:102FB0008491843740F4843008F051C0813081F02E\r
+:102FC000823019F15BC0853709F444C0A8F19CE751\r
+:102FD000980F903708F052C08F770E94EB1041C0D5\r
+:102FE0000E5F1F4FFE01C49180E28C0F883048F4C1\r
+:102FF000C7708E2D01C0880FCA95EAF70E94731A18\r
+:1030000014C08C2F0E9423102DC00E5F1F4FFE0195\r
+:10301000C49180E28C0F883058F4C7708E2D01C0A7\r
+:10302000880FCA95EAF70E94791A0E949A1A1AC064\r
+:103030008C2F0E94EB1016C00E5F1F4FFE01C49133\r
+:10304000CC2381F08FE99FE00197F1F700C00000E9\r
+:10305000C150F6CF0E5F1F4FFE01F49003C00E94D7\r
+:1030600023108E018F2D882309F49FCFEFE9FFE015\r
+:103070003197F1F700C000008150F5CFDF91CF917B\r
+:103080001F910F91FF90EF90089508956093B501FF\r
+:103090007093B6018093B7019093B8010C947614A5\r
+:1030A0000F931F930091B5011091B6012091B701C4\r
+:1030B0003091B801DC01CB01802B912BA22BB32BDB\r
+:1030C0008093B5019093B601A093B701B093B80176\r
+:1030D0001F910F910C9476140F931F930091B501DB\r
+:1030E0001091B6012091B7013091B801DC01CB01FC\r
+:1030F00080239123A223B3238093B5019093B6013B\r
+:10310000A093B701B093B8011F910F910C9476145E\r
+:103110000F931F930091B5011091B6012091B70153\r
+:103120003091B801DC01CB0180279127A227B3277A\r
+:103130008093B5019093B601A093B701B093B80105\r
+:103140001F910F910C9476141092B1011092B2015C\r
+:103150001092B3011092B4010C94761441E050E047\r
+:1031600060E070E004C0440F551F661F771F8A950A\r
+:10317000D2F74093B1015093B2016093B3017093C1\r
+:10318000B4010C94761441E050E060E070E004C0BB\r
+:10319000440F551F661F771F8A95D2F78091B101A2\r
+:1031A0009091B201A091B301B091B401482B592B79\r
+:1031B0006A2B7B2B4093B1015093B2016093B30112\r
+:1031C0007093B4010C94761441E050E060E070E03C\r
+:1031D00004C0440F551F661F771F8A95D2F740958C\r
+:1031E0005095609570958091B1019091B201A09138\r
+:1031F000B301B091B401482359236A237B23409340\r
+:10320000B1015093B2016093B3017093B4010C9477\r
+:10321000761441E050E060E070E004C0440F551FB8\r
+:10322000661F771F8A95D2F78091B1019091B20104\r
+:10323000A091B301B091B401482759276A277B2791\r
+:103240004093B1015093B2016093B3017093B40104\r
+:103250000C9476140F931F930091B1011091B20159\r
+:103260002091B3013091B401DC01CB01802B912B73\r
+:10327000A22BB32B8093B1019093B201A093B30121\r
+:10328000B093B4011F910F910C9476140F931F9378\r
+:103290000091B1011091B2012091B3013091B401BC\r
+:1032A000DC01CB0180239123A223B3238093B101BE\r
+:1032B0009093B201A093B301B093B4011F910F9109\r
+:1032C0000C9476140F931F930091B1011091B201E9\r
+:1032D0002091B3013091B401DC01CB01802791270B\r
+:1032E000A227B3278093B1019093B201A093B301B9\r
+:1032F000B093B4011F910F910C9476140895CF925E\r
+:10330000DF92EF92FF920F931F93CF93DF938C0185\r
+:10331000C090B501D090B601E090B701F090B8012F\r
+:103320008091B1019091B201A091B301B091B4012B\r
+:10333000C82AD92AEA2AFB2ACFE1D0E0D701C60160\r
+:103340000C2E04C0B695A795979587950A94D2F749\r
+:1033500080FF06C0B8018C2F0E945807019721F406\r
+:10336000219760F780E001C08C2FDF91CF911F91F2\r
+:103370000F91FF90EF90DF90CF900895CF93DF9360\r
+:10338000EC010E947F19BE010E945807DF91CF9186\r
+:103390000895CB010E94BE19089590910C019923C4\r
+:1033A00021F090910D01911109C020910E013091F1\r
+:1033B0000F01F90132969FEF40E01FC0982F9695BC\r
+:1033C000969596959F3050F5E0910E01F0910F0182\r
+:1033D000E90FF11D877021E030E0A90102C0440F20\r
+:1033E000551F8A95E2F7CA019181892B818308953F\r
+:1033F0009F3F39F04F5F4E3041F051915813F8CF55\r
+:103400000DC05111F7CF942FF5CF9F3F39F0F9013F\r
+:10341000E90FF11D97FDFA95828308950895909123\r
+:103420000C01992321F090910D01911109C0209177\r
+:103430000E0130910F01F9013296205F3F4F1FC0FE\r
+:10344000982F9695969596959F30F0F4E0910E0101\r
+:10345000F0910F01E90FF11D877021E030E0A90123\r
+:1034600002C0440F551F8A95E2F7CA0180959181E9\r
+:103470008923818308953196E217F30729F090811B\r
+:103480009813F9CF1082F7CF089581E090E0E09192\r
+:103490000E01F0910F01E80FF91F108201968031A3\r
+:1034A0009105A9F708959091CC01892B8093CC01C7\r
+:1034B000089580959091CC0189238093CC01089543\r
+:1034C0001092CC0108959091CB01892B8093CB0170\r
+:1034D000089580959091CB0189238093CB01089525\r
+:1034E0001092CB0108959091CA01892B8093CA0153\r
+:1034F000089580959091CA0189238093CA01089507\r
+:103500001092CA0108958093B90108951092B901EB\r
+:10351000089580910E0190910F01FC0131969C015C\r
+:10352000205F3F4F80E0919191118F5FE217F30789\r
+:10353000D1F70895E0910E01F0910F018091CC0137\r
+:103540008083E0910E01F0910F0190818091CB0179\r
+:10355000892B8083E0910E01F0910F019081809181\r
+:10356000CA01892B80838091B901882361F0E091A1\r
+:103570000E01F0910F019081892B80830E94891A9E\r
+:1035800081111092B90180910E0190910F010C945C\r
+:10359000060FCF92DF92EF92FF926C01EE24FF2490\r
+:1035A000C114D104E104F10421F0C701B60120E106\r
+:1035B00001C020E0C72ED82EE92EFF24C114D1046B\r
+:1035C000E104F10419F0285FC701B6016B017C0129\r
+:1035D00054E0F694E794D794C7945A95D1F7C11460\r
+:1035E000D104E104F10419F02C5FC701B6016B01AD\r
+:1035F0007C0142E0F694E794D794C7944A95D1F7BA\r
+:10360000C114D104E104F10419F02E5FC701B60121\r
+:10361000DC01CB01B695A79597958795892B8A2BC9\r
+:103620008B2B09F02F5F822FFF90EF90DF90CF90D0\r
+:1036300008958091E401843021F11092CE0120E4BC\r
+:1036400088E190E00FB6F894A895809360000FBED3\r
+:103650002093600080E00E94F30783B7817F84603D\r
+:1036600083BF83B7816083BF7894889583B78E7F4B\r
+:1036700083BF88E10FB6F8948093600010926000D9\r
+:103680000FBE089508950895CF930E94421B0E9493\r
+:1036900023040E94431BC0E08C2F0E94110581115E\r
+:1036A00004C0CF5FCE30C1F701C081E0CF91089553\r
+:1036B0000E948A140E94FA0E0C94F30782E084BDE3\r
+:1036C00093E095BD9AEF97BD80936E0008952FB754\r
+:1036D000F8948091CF019091D001A091D101B09147\r
+:1036E000D2012FBF0895CF92DF92EF92FF920F93F6\r
+:1036F0001F932FB7F8944091CF015091D001609162\r
+:10370000D1017091D2012FBF6A017B01EE24FF2409\r
+:103710008C0120E030E0C016D106E206F30610F47A\r
+:10372000415051099A01281B390BC9011F910F9172\r
+:10373000FF90EF90DF90CF9008951F920F920FB6F9\r
+:103740000F9211248F939F93AF93BF938091CF01DA\r
+:103750009091D001A091D101B091D2010196A11D0B\r
+:10376000B11D8093CF019093D001A093D101B0936C\r
+:10377000D201BF91AF919F918F910F900FBE0F908B\r
+:103780001F9018950E94F70BF8942FEF87EA91E6A7\r
+:10379000215080409040E1F700C0000087E090EBAE\r
+:1037A000DC018093EE019093EF01A093F001B093C0\r
+:1037B000F1019CE088E10FB6F894A8958093600031\r
+:1037C0000FBE90936000FFCFEF92FF920F931F9375\r
+:1037D000CF93DF93D82FC0E08C2F0E94110500E01B\r
+:1037E00010E0E82EF12CC701002E02C095958795B8\r
+:1037F0000A94E2F780FD06C00F5F1F4F06301105E7\r
+:1038000091F709C0602F7C2F80E00E941905D81322\r
+:10381000F3CF81E004C0CF5FCE30F1F680E0DF91DE\r
+:10382000CF911F910F91FF90EF900895CF93C82FE4\r
+:103830008CE20E94E41B882321F08C2FCF910C9402\r
+:10384000E41B80E0CF910895CF930E946B1D8111FE\r
+:1038500002C00E94511DC5E6C15049F00E942304D8\r
+:103860008FE39CE90197F1F700C00000F5CF89E2F2\r
+:103870000E94161C811113C18AE20E94161C81113C\r
+:103880000E94511D85E00E94161C81110E94C21BDE\r
+:103890000E94761D8093CD0187E00E94161C88232C\r
+:1038A000A9F18BE10E94161C882351F08091CD0173\r
+:1038B00081FB222720F991E0922790FB81F90EC02D\r
+:1038C0008EE00E94161C882361F08091CD0182FB5E\r
+:1038D000222720F991E0922790FB82F98093CD0175\r
+:1038E00015C080E10E94161C9091CD01882341F003\r
+:1038F00093FB222720F981E0822780FB93F904C003\r
+:10390000892F809580FB90F99093CD018091CD0116\r
+:103910000E947A1D0E94881D8093ED0180EE0E9416\r
+:10392000161C882341F08091ED01982F909590FB13\r
+:1039300080F98093ED0189E30E94161C882359F0D9\r
+:103940008091ED0181FB222720F991E0922790FBE5\r
+:1039500081F98093ED0182EE0E94161C882359F0B4\r
+:103960008091ED0182FB222720F991E0922790FBC4\r
+:1039700082F98093ED0186EE0E94161C882359F08F\r
+:103980008091ED0183FB222720F991E0922790FBA3\r
+:1039900083F98093ED0183EE0E94161C882359F071\r
+:1039A0008091ED0184FB222720F991E0922790FB82\r
+:1039B00084F98093ED0185E30E94161C882359F059\r
+:1039C0008091ED0185FB222720F991E0922790FB61\r
+:1039D00085F98093ED0181E30E94161C882359F03C\r
+:1039E0008091ED0186FB222720F991E0922790FB40\r
+:1039F00086F98093ED0181E10E94161C882359F01D\r
+:103A00008091ED0187FB222720F991E0922790FB1E\r
+:103A100087F98093ED018091ED010E948C1D8091CA\r
+:103A2000ED0187FB882780F980930D0187E20E94D2\r
+:103A3000161CC82F8EE10E94161C8111C2608FE1F6\r
+:103A40000E94161C8111C46080E20E94161C811124\r
+:103A5000C86081E20E94161C8111C06182E20E944E\r
+:103A6000161C8111C06283E20E94161C8111C06481\r
+:103A700084E20E94161C882311F0C06802C0CC2387\r
+:103A800029F08C2F0E94831D6C2F03C00E947F1D84\r
+:103A9000682F70E080E090E0CF910C944618CF91B1\r
+:103AA00008956DEE7EEF80E090E00E94BD2360E01F\r
+:103AB00082E090E00E94AB2360E083E090E00E940F\r
+:103AC000AB2360E084E090E00E94AB2360E085E0FF\r
+:103AD00090E00C94AB2380E090E00E94A52321E0CD\r
+:103AE0008D3E9E4F09F020E0822F089582E090E005\r
+:103AF0000C949D23682F82E090E00C94AB2383E02C\r
+:103B000090E00C949D23682F83E090E00C94AB230D\r
+:103B100084E090E00C949D23682F84E090E00C9466\r
+:103B2000AB238091D50180FF0BC06091130185E02C\r
+:103B3000689FB001112475956795759567952BC0A1\r
+:103B400081FF09C06091130185E0689FB0011124D5\r
+:103B50007595679520C082FF07C06091130185E0CD\r
+:103B6000689FB001112417C09091D6019923D1F01C\r
+:103B700060911201961788F72091130185E0289F24\r
+:103B800090011124929FA001939F500D112470E089\r
+:103B9000CA010E946F236038710540F461157105F8\r
+:103BA00039F002C065E070E0862F08958FE7089530\r
+:103BB00081E008958091D50180FF08C060911101D6\r
+:103BC00070E0759567957595679521C081FF06C072\r
+:103BD0006091110170E07595679519C082FF04C06E\r
+:103BE0006091110170E010C09091D6019923C1F04D\r
+:103BF000609110019617A0F780911101899FC00173\r
+:103C0000112470E00E946F236038710528F461155B\r
+:103C1000710521F0862F08958FE7089581E00895BA\r
+:103C200061E070E0F4CF803F21F40E94911D819506\r
+:103C300004C0813F29F40E94911D8093D901089509\r
+:103C4000823F21F40E94911D819504C0833F29F495\r
+:103C50000E94911D8093D8010895893F19F40E9414\r
+:103C6000DA1D05C08A3F31F40E94DA1D81958093E8\r
+:103C7000DA0108958B3F21F40E94DA1D819504C07A\r
+:103C80008C3F29F40E94DA1D8093DB010895843F64\r
+:103C900021F48091D701816017C0853F21F4809184\r
+:103CA000D701826011C0863F21F48091D7018460E2\r
+:103CB0000BC0873F21F48091D701886005C0883F01\r
+:103CC00031F48091D70180618093D70108958D3FB1\r
+:103CD00021F48091D50181600BC08E3F21F4809149\r
+:103CE000D501826005C08F3F29F48091D5018460A1\r
+:103CF0008093D5010895803F39F48091D90187FFE1\r
+:103D00006CC01092D90169C0813F29F48091D9011A\r
+:103D10001816BCF362C09091D801823F29F497FF36\r
+:103D20005CC01092D80159C0833F19F41916CCF326\r
+:103D300054C0893F41F48091DA0118160CF04DC04F\r
+:103D40001092DA014AC08A3F29F48091DA0187FF94\r
+:103D500044C0F6CF8B3F39F48091DB0187FF3DC033\r
+:103D60001092DB013AC08C3F29F48091DB011816D8\r
+:103D7000BCF333C0843F21F48091D7018E7F17C0FC\r
+:103D8000853F21F48091D7018D7F11C0863F21F4BA\r
+:103D90008091D7018B7F0BC0873F21F48091D701A1\r
+:103DA000877F05C0883F31F48091D7018F7E809353\r
+:103DB000D70113C08D3F21F48091D5018E7F0BC0B8\r
+:103DC0008E3F21F48091D5018D7F05C08F3F29F46E\r
+:103DD0008091D5018B7F8093D5018091D80181118D\r
+:103DE0000EC08091D90181110AC08091DA01811140\r
+:103DF00006C08091DB01811102C01092D6010895A6\r
+:103E000087ED91E00E94110F0E94671B9093D401EF\r
+:103E10008093D30108951F93CF93DF938091D301B3\r
+:103E20009091D4010E94731BAC019091D60199230B\r
+:103E300021F02091140130E006C0209115018AE0A4\r
+:103E4000289F900111244217530708F486C08091DF\r
+:103E5000D801C091D901D091DA011091DB01811113\r
+:103E600007C0C11176C0D11174C0111172C075C0E4\r
+:103E70009F3F19F09F5F9093D601181624F40E947B\r
+:103E8000911D8093D8018091D80187FF05C00E94C1\r
+:103E9000911D81958093D8011C1624F40E94911DD8\r
+:103EA0008093D9018091D90187FF05C00E94911D9F\r
+:103EB00081958093D9016091D801662339F1C09131\r
+:103EC000D901CC2319F1772767FD7095872F972F9C\r
+:103ED0000E94802223E333E343E35FE30E94E42272\r
+:103EE0000E944D226093D8016C2F772767FD709553\r
+:103EF000872F972F0E94802223E333E343E35FE37E\r
+:103F00000E94E4220E944D226093D9011D1624F4E0\r
+:103F10000E94DA1D8093DA018091DA0187FF05C0E3\r
+:103F20000E94DA1D81958093DA01111624F40E9413\r
+:103F3000DA1D8093DB018091DB0187FF05C00E94C1\r
+:103F4000DA1D81958093DB01DF91CF911F910C9455\r
+:103F5000001F9F3F09F08ECF96CFDF91CF911F9129\r
+:103F60000895E7EDF1E085E0DF011D928A95E9F71C\r
+:103F70001092D6011092D5010895833081F128F472\r
+:103F8000813059F08230D1F00895853009F449C06C\r
+:103F9000B8F1863009F456C0089580911501262F96\r
+:103FA00030E0280F311D2F3F310524F4680F609356\r
+:103FB000150108958FEF80931501089580911401E4\r
+:103FC000262F30E0280F311D2F3F310524F4680FD4\r
+:103FD0006093140108958FEF8093140108958091E8\r
+:103FE0001301262F30E0280F311D2F3F310524F417\r
+:103FF000680F6093130108958FEF80931301089564\r
+:1040000080911201262F30E0280F311D2F3F3105FE\r
+:1040100024F4680F6093120108958FEF80931201CA\r
+:10402000089580911101262F30E0280F311D2F3F78\r
+:10403000310524F4680F6093110108958FEF809388\r
+:104040001101089580911001262F30E0280F311DB5\r
+:104050002F3F310524F4680F6093100108958FEF0E\r
+:10406000809310010895833011F128F4813049F0D4\r
+:10407000823091F00895853081F120F18630C1F1D0\r
+:10408000089580911501681720F4861B809315010F\r
+:10409000089510921501089580911401681720F475\r
+:1040A000861B809314010895109214010895809145\r
+:1040B0001301681720F4861B809313010895109252\r
+:1040C0001301089580911201681720F4861B8093D4\r
+:1040D000120108951092120108958091110168173C\r
+:1040E00020F4861B80931101089510921101089508\r
+:1040F00080911001681720F4861B809310010895A9\r
+:104100001092100108950F931F938D3109F46BC025\r
+:1041100008F03FC08E3009F47FC0C0F4873009F446\r
+:1041200069C068F4863009F0B1C08091CD01817F0B\r
+:104130008E7F8093CD0181E08093DD01A8C088301F\r
+:1041400009F4A2C08B3009F49FC0A0C0863109F4E5\r
+:104150009BC078F4803109F472C0813109F096C0B7\r
+:104160000E948A1490910D0181E0892780930D01AE\r
+:104170008BC0893109F488C08B3109F087C08091E8\r
+:10418000CD0181FB222720F991E0922790FB81F954\r
+:104190004CC0853309F470C048F4873209F46CC010\r
+:1041A00008F459C0893209F467C070C0833438F408\r
+:1041B0008A3308F04EC0883309F466C067C0833480\r
+:1041C00009F45AC0883409F061C00E948A140FEFC4\r
+:1041D00013ED20E3015010402040E1F700C0000043\r
+:1041E0000E94C21B51C00E9407220E94FA0E0E9428\r
+:1041F000F3074AC09091CD01892F8095817080FB93\r
+:1042000090F929F0966098609093CD0140C0997F15\r
+:10421000977F9093CD0138C08091CD0182FB2227FA\r
+:1042200020F991E0922790FB82F98093CD019923A8\r
+:1042300059F18091CD0181608093CD0125C080919D\r
+:10424000CD0183FB222720F991E0922790FB83F98F\r
+:10425000ECCF895301C08D5141E050E060E070E047\r
+:104260008A019B0104C0000F111F221F331F8A9572\r
+:10427000D2F7C901B80104C061E070E080E090E0CD\r
+:104280000E9446180E948A1481E001C080E01F91BC\r
+:104290000F91089580E0089580E00895CF93C82F8E\r
+:1042A0008091DD01813079F018F08230E9F187C02A\r
+:1042B000E0910E01F0910F018081813169F082322D\r
+:1042C00009F07FC009C0E0910E01F0910F018081DB\r
+:1042D000813111F0823261F48C2F0E944A218111C8\r
+:1042E00004C08C2F0E9483201DC081E090E01AC082\r
+:1042F0008C2F0E944C21811114C0C43179F048F4F4\r
+:10430000CB3079F0C03109F060C082E08093DD01EC\r
+:1043100008C0C93219F0C83321F057C01092DD012E\r
+:1043200054C081E0817053C0C93289F118F5C4319D\r
+:1043300071F1A8F4C73009F046C08AE080931501F6\r
+:1043400094E19093140193E09093130180931201F0\r
+:1043500088E08093110188E28093100134C0CE512F\r
+:10436000C63088F5EC2FF0E0E65DFE4F808180934B\r
+:10437000DC0129C0CE34E9F020F4CB3421F56AE029\r
+:1043800013C0C13579F0C235F1F461E00DC0809100\r
+:10439000DC01882319F01092DC0115C081E08093C4\r
+:1043A000DD0115C061E006C08091DC010E94BD1FE7\r
+:1043B0000AC06AE08091DC010E94332004C01092A0\r
+:1043C000DD0180E004C081E002C080E0ABCFCF918E\r
+:1043D0000895E1E8F0E080818860808380818160D9\r
+:1043E00080838FB7F89493E09093890090ED909339\r
+:1043F00088008FBF0895EFE6F0E0808182608083BF\r
+:104400000895EFE6F0E080818D7F80830895EFE6E8\r
+:10441000F0E0908182E08927808308951F920F92B7\r
+:104420000FB60F9211242F933F934F935F936F9387\r
+:104430007F938F939F93AF93BF93EF93FF9380915D\r
+:10444000DE019091DF0101969093DF018093DE0100\r
+:10445000811103C082E00E94F307E091DF01E6953D\r
+:10446000E695F0E0E657FB4FE4918091DE018E1374\r
+:1044700003C080E00E94F307FF91EF91BF91AF91DD\r
+:104480009F918F917F916F915F914F913F912F916C\r
+:104490000F900FBE0F901F90189504D06894B11123\r
+:1044A0008DC0089570D088F09F5790F0B92F99274C\r
+:1044B000B751A0F0D1F0660F771F881F991F1AF02F\r
+:1044C000BA95C9F712C0B13081F077D0B1E0089544\r
+:1044D00074C0672F782F8827B85F39F0B93FCCF3C5\r
+:1044E000869577956795B395D9F73EF49095809525\r
+:1044F000709561957F4F8F4F9F4F0895E89409C045\r
+:1045000097FB3EF490958095709561957F4F8F4F06\r
+:104510009F4F9923A9F0F92F96E9BB279395F6951C\r
+:10452000879577956795B795F111F8CFFAF4BB0F9A\r
+:1045300011F460FF1BC06F5F7F4F8F4F9F4F16C0FE\r
+:10454000882311F096E911C0772321F09EE8872F88\r
+:10455000762F05C0662371F096E8862F70E060E044\r
+:104560002AF09A95660F771F881FDAF7880F9695BD\r
+:10457000879597F9089557FD9058440F551F59F0A6\r
+:104580005F3F71F04795880F97FB991F61F09F3F40\r
+:1045900079F087950895121613061406551FF2CF69\r
+:1045A0004695F1DF08C0161617061806991FF1CFB9\r
+:1045B00086957105610508940895E894BB276627E0\r
+:1045C0007727CB0197F908950BD078C069D028F0F0\r
+:1045D0006ED018F0952309F05AC05FC01124EECFB9\r
+:1045E000CADFA0F3959FD1F3950F50E0551F629F4E\r
+:1045F000F001729FBB27F00DB11D639FAA27F00D3C\r
+:10460000B11DAA1F649F6627B00DA11D661F829F62\r
+:104610002227B00DA11D621F739FB00DA11D621F47\r
+:10462000839FA00D611D221F749F3327A00D611D64\r
+:10463000231F849F600D211D822F762F6A2F112446\r
+:104640009F5750408AF0E1F088234AF0EE0FFF1F99\r
+:10465000BB1F661F771F881F91505040A9F79E3FD0\r
+:10466000510570F014C0AACF5F3FECF3983EDCF325\r
+:10467000869577956795B795F795E7959F5FC1F70D\r
+:10468000FE2B880F911D9695879597F9089597F9B8\r
+:104690009F6780E870E060E008959FEF80EC0895E8\r
+:1046A00000240A9416161706180609060895002411\r
+:1046B0000A9412161306140605060895092E03948B\r
+:1046C000000C11F4882352F0BB0F40F4BF2B11F4FF\r
+:1046D00060FF04C06F5F7F4F8F4F9F4F089597FB20\r
+:1046E000072E16F4009407D077FD09D00E94892385\r
+:1046F00007FC05D03EF4909581959F4F08957095E5\r
+:1047000061957F4F0895EE0FFF1F0590F491E02D06\r
+:104710000994AA1BBB1B51E107C0AA1FBB1FA61708\r
+:10472000B70710F0A61BB70B881F991F5A95A9F75A\r
+:1047300080959095BC01CD010895F999FECF92BD69\r
+:1047400081BDF89A992780B50895A8E1B0E042E0CC\r
+:1047500050E00C94C523262FF999FECF92BD81BD60\r
+:10476000F89A019700B4021639F01FBA20BD0FB6AF\r
+:10477000F894FA9AF99A0FBE08950196272F0E948D\r
+:10478000AC230C94AB23DC01CB01FC01F999FECFE7\r
+:1047900006C0F2BDE1BDF89A319600B40D924150C9\r
+:0A47A0005040B8F70895F894FFCFD9\r
+:1047AA002002F507830860082C08F8070101BA01FE\r
+:1047BA0028080A03140A3F4D36394B04FE03C8037E\r
+:1047CA008F0322033B0354036D030102030405060E\r
+:0447DA0007080900C3\r
+:00000001FF\r
index 4afb42c8fd515033910784d665146070c0823485..97a10ff4d8f5618344ecb565bceef2c3433ac64c 100644 (file)
@@ -17,7 +17,7 @@ This requires a little bit of familiarity with coding.
 2. Clone the repository (download it)
 3. Set up a build environment as per [the build guide](/BUILD_GUIDE.md) 
     - Using a Mac and have homebrew? just run `brew tap osx-cross/avr && brew install avr-libc`
-4. Copy `keymaps/default/keymap.c` into `keymaps/your_name/keymap.c` (for example, `keymaps/german/keymap.c`)
+4. Copy `keyboard/ergodox_ez/keymaps/default/keymap.c` into `keymaps/your_name/keymap.c` (for example, `keymaps/german/keymap.c`)
 5. Edit this file, changing keycodes to your liking (see "Finding the keycodes you need" below). Try to edit the comments as well, so the "text graphics" represent your layout correctly. See below for more tips on sharing your work.
 6. Compile your firmware by running `make clean` followed by `make KEYMAP=your_name`. For example, `make KEYMAP=german`. This will result in a hex file, which will always be called `ergodox_ez.hex`, regardless of your keymap name.
 6. Flash this hex file using the [Teensy loader](https://www.pjrc.com/teensy/loader.html) as described in step 4 in the "Easy Way" above.
diff --git a/keyboard/gh60_rev_c/Makefile b/keyboard/gh60_rev_c/Makefile
new file mode 100644 (file)
index 0000000..09843dd
--- /dev/null
@@ -0,0 +1,140 @@
+#----------------------------------------------------------------------------\r
+# On command line:\r
+#\r
+# make all = Make software.\r
+#\r
+# make clean = Clean out built project files.\r
+#\r
+# make coff = Convert ELF to AVR COFF.\r
+#\r
+# make extcoff = Convert ELF to AVR Extended COFF.\r
+#\r
+# make program = Download the hex file to the device.\r
+#                Please customize your programmer settings(PROGRAM_CMD)\r
+#\r
+# make teensy = Download the hex file to the device, using teensy_loader_cli.\r
+#               (must have teensy_loader_cli installed).\r
+#\r
+# make dfu = Download the hex file to the device, using dfu-programmer (must\r
+#            have dfu-programmer installed).\r
+#\r
+# make flip = Download the hex file to the device, using Atmel FLIP (must\r
+#             have Atmel FLIP installed).\r
+#\r
+# make dfu-ee = Download the eeprom file to the device, using dfu-programmer\r
+#               (must have dfu-programmer installed).\r
+#\r
+# make flip-ee = Download the eeprom file to the device, using Atmel FLIP\r
+#                (must have Atmel FLIP installed).\r
+#\r
+# make debug = Start either simulavr or avarice as specified for debugging, \r
+#              with avr-gdb or avr-insight as the front end for debugging.\r
+#\r
+# make filename.s = Just compile filename.c into the assembler code only.\r
+#\r
+# make filename.i = Create a preprocessed source file for use in submitting\r
+#                   bug reports to the GCC project.\r
+#\r
+# To rebuild project do "make clean" then "make all".\r
+#----------------------------------------------------------------------------\r
+\r
+# Target file name (without extension).\r
+TARGET = gh60\r
+\r
+\r
+# Directory common source filess exist\r
+TOP_DIR = ../..\r
+TMK_DIR = ../../tmk_core\r
+\r
+# Directory keyboard dependent files exist\r
+TARGET_DIR = .\r
+\r
+# # project specific files\r
+SRC = gh60.c\r
+\r
+ifdef KEYMAP\r
+    SRC := keymaps/$(KEYMAP).c $(SRC)\r
+else\r
+    SRC := keymaps/default.c $(SRC)\r
+endif\r
+\r
+CONFIG_H = config.h\r
+\r
+# MCU name\r
+#MCU = at90usb1287\r
+MCU = atmega32u4\r
+\r
+# Processor frequency.\r
+#     This will define a symbol, F_CPU, in all source code files equal to the\r
+#     processor frequency in Hz. You can then use this symbol in your source code to\r
+#     calculate timings. Do NOT tack on a 'UL' at the end, this will be done\r
+#     automatically to create a 32-bit value in your source code.\r
+#\r
+#     This will be an integer division of F_USB below, as it is sourced by\r
+#     F_USB after it has run through any CPU prescalers. Note that this value\r
+#     does not *change* the processor frequency - it should merely be updated to\r
+#     reflect the processor speed set externally so that the code can use accurate\r
+#     software delays.\r
+F_CPU = 16000000\r
+\r
+\r
+#\r
+# LUFA specific\r
+#\r
+# Target architecture (see library "Board Types" documentation).\r
+ARCH = AVR8\r
+\r
+# Input clock frequency.\r
+#     This will define a symbol, F_USB, in all source code files equal to the\r
+#     input clock frequency (before any prescaling is performed) in Hz. This value may\r
+#     differ from F_CPU if prescaling is used on the latter, and is required as the\r
+#     raw input clock is fed directly to the PLL sections of the AVR for high speed\r
+#     clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'\r
+#     at the end, this will be done automatically to create a 32-bit value in your\r
+#     source code.\r
+#\r
+#     If no clock division is performed on the input clock inside the AVR (via the\r
+#     CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.\r
+F_USB = $(F_CPU)\r
+\r
+# Interrupt driven control endpoint task(+60)\r
+OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT\r
+\r
+\r
+# Boot Section Size in *bytes*\r
+#   Teensy halfKay   512\r
+#   Teensy++ halfKay 1024\r
+#   Atmel DFU loader 4096\r
+#   LUFA bootloader  4096\r
+#   USBaspLoader     2048\r
+OPT_DEFS += -DBOOTLOADER_SIZE=4096\r
+\r
+\r
+# Build Options\r
+#   comment out to disable the options.\r
+#\r
+BOOTMAGIC_ENABLE = yes         # Virtual DIP switch configuration(+1000)\r
+MOUSEKEY_ENABLE = yes          # Mouse keys(+4700)\r
+EXTRAKEY_ENABLE = yes          # Audio control and System control(+450)\r
+# CONSOLE_ENABLE = yes         # Console for debug(+400)\r
+# COMMAND_ENABLE = yes         # Commands for debug and configuration\r
+KEYBOARD_LOCK_ENABLE = yes     # Allow locking of keyboard via magic key\r
+# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE\r
+# SLEEP_LED_ENABLE = yes       # Breathing sleep LED during USB suspend\r
+NKRO_ENABLE = yes                      # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work\r
+# BACKLIGHT_ENABLE = yes       # Enable keyboard backlight functionality\r
+# MIDI_ENABLE = YES                    # MIDI controls\r
+# UNICODE_ENABLE = YES         # Unicode\r
+# BLUETOOTH_ENABLE = yes       # Enable Bluetooth with the Adafruit EZ-Key HID\r
+\r
+\r
+# Optimize size but this may cause error "relocation truncated to fit"\r
+#EXTRALDFLAGS = -Wl,--relax\r
+\r
+# Search Path\r
+VPATH += $(TARGET_DIR)\r
+VPATH += $(TOP_DIR)\r
+VPATH += $(TMK_DIR)\r
+\r
+include $(TOP_DIR)/quantum/quantum.mk\r
+\r
diff --git a/keyboard/gh60_rev_c/README.md b/keyboard/gh60_rev_c/README.md
new file mode 100644 (file)
index 0000000..bf209be
--- /dev/null
@@ -0,0 +1,60 @@
+## gh60 Rev C keyboard firmware\r
+\r
+![gh60 Rev C PCB](gh60revc.jpg)\r
+\r
+    /* Column pin configuration\r
+    * col: 0   1   2   3   4   5   6   7   8   9   10  11  12  13\r
+    * pin: F0  F1  E6  C7  C6  B6  D4  B1  B7  B5  B4  D7  D6  B3  (Rev.C)\r
+    */\r
+     \r
+    /* Row pin configuration\r
+    * row: 0   1   2   3   4\r
+    * pin: D0  D1  D2  D3  D5\r
+    */\r
+     \r
+    GPIO pads\r
+    0 F7 WASD LEDs\r
+    1 F6 ESC LED\r
+    2 F5 FN LED\r
+    3 F4 POKER Arrow LEDs\r
+     \r
+    B2 Capslock LED\r
+    B0 not connected\r
+       \r
+Functions to controls LED clusters\r
+       \r
+    gh60_caps_led_on()\r
+    gh60_poker_leds_on()\r
+    gh60_fn_led_on()\r
+    gh60_esc_led_on()\r
+    gh60_wasd_leds_on()\r
+    \r
+    gh60_caps_led_off()\r
+    gh60_poker_leds_off()\r
+    gh60_fn_led_off()\r
+    gh60_esc_led_off()\r
+    gh60_wasd_leds_off()\r
+       \r
+======================\r
+\r
+## Quantum MK Firmware\r
+\r
+For the full Quantum feature list, see [the parent README.md](/README.md).\r
+\r
+## Building\r
+\r
+Download or clone the whole firmware and navigate to the keyboard/gh60_rev_c folder. Once your dev env is setup, you'll be able to type `make` to generate your .hex - you can then use the Teensy Loader to program your .hex file. \r
+\r
+Depending on which keymap you would like to use, you will have to compile slightly differently.\r
+\r
+### Default\r
+To build with the default keymap, simply run `make`.\r
+\r
+### Other Keymaps\r
+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 `<name>.c` in the keymaps folder, and see keymap document (you can find in top README.md) and existent keymap files.\r
+\r
+To build the firmware binary hex file with a keymap just do `make` with `KEYMAP` option like:\r
+```\r
+$ make KEYMAP=[default|jack|<name>]\r
+```\r
+Keymaps follow the format **__\<name\>.c__** and are stored in the `keymaps` folder.\r
diff --git a/keyboard/gh60_rev_c/config.h b/keyboard/gh60_rev_c/config.h
new file mode 100644 (file)
index 0000000..2fd8f57
--- /dev/null
@@ -0,0 +1,157 @@
+/*\r
+Copyright 2012 Jun Wako <wakojun@gmail.com>\r
+\r
+This program is free software: you can redistribute it and/or modify\r
+it under the terms of the GNU General Public License as published by\r
+the Free Software Foundation, either version 2 of the License, or\r
+(at your option) any later version.\r
+\r
+This program is distributed in the hope that it will be useful,\r
+but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\r
+GNU General Public License for more details.\r
+\r
+You should have received a copy of the GNU General Public License\r
+along with this program. If not, see <http://www.gnu.org/licenses/>.\r
+*/\r
+\r
+#ifndef CONFIG_H\r
+#define CONFIG_H\r
+\r
+#include "config_common.h"\r
+\r
+/* USB Device descriptor parameter */\r
+#define VENDOR_ID    0xFEED\r
+#define PRODUCT_ID   0x6060\r
+#define DEVICE_VER   0x0001\r
+#define MANUFACTURER  You\r
+#define PRODUCT     gh60\r
+#define DESCRIPTION   A custom keyboard\r
+\r
+/* key matrix size */\r
+#define MATRIX_ROWS 5\r
+#define MATRIX_COLS 14\r
+\r
+/*\r
+ * Keyboard Matrix Assignments\r
+ *\r
+ * Change this to how you wired your keyboard\r
+ * COLS: AVR pins used for columns, left to right\r
+ * ROWS: AVR pins used for rows, top to bottom\r
+ * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)\r
+ *         ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)\r
+ *\r
+*/ \r
+#define COLS (int []){ F0, F1, E6, C7, C6, B6, D4, B1, B7, B5, B4, D7, D6, B3 }\r
+#define ROWS (int []){ D0, D1, D2, D3, D5 }\r
+\r
+/* COL2ROW or ROW2COL */\r
+#define DIODE_DIRECTION COL2ROW\r
+\r
+/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */\r
+#define DEBOUNCE  5\r
+\r
+/* define if matrix has ghost (lacks anti-ghosting diodes) */\r
+//#define MATRIX_HAS_GHOST\r
+\r
+/* number of backlight levels */\r
+#define BACKLIGHT_LEVELS 3\r
+\r
+/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */\r
+#define LOCKING_SUPPORT_ENABLE\r
+/* Locking resynchronize hack */\r
+#define LOCKING_RESYNC_ENABLE\r
+\r
+/* \r
+ * Force NKRO\r
+ *\r
+ * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved \r
+ * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the\r
+ * makefile for this to work.)\r
+ *\r
+ * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)\r
+ * until the next keyboard reset.\r
+ *\r
+ * NKRO may prevent your keystrokes from being detected in the BIOS, but it is \r
+ * fully operational during normal computer usage.\r
+ *\r
+ * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)\r
+ * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by\r
+ * bootmagic, NKRO mode will always be enabled until it is toggled again during a\r
+ * power-up.\r
+ *\r
+ */\r
+//#define FORCE_NKRO\r
+\r
+/*\r
+ * Magic Key Options\r
+ *\r
+ * Magic keys are hotkey commands that allow control over firmware functions of\r
+ * the keyboard. They are best used in combination with the HID Listen program,\r
+ * found here: https://www.pjrc.com/teensy/hid_listen.html\r
+ *\r
+ * The options below allow the magic key functionality to be changed. This is \r
+ * useful if your keyboard/keypad is missing keys and you want magic key support.\r
+ *\r
+ */\r
+\r
+/* key combination for magic key command */\r
+#define IS_COMMAND() ( \\r
+  keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \\r
+)\r
+\r
+/* control how magic key switches layers */\r
+//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true\r
+//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true\r
+//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM false\r
+\r
+/* override magic key keymap */\r
+//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS\r
+//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS\r
+//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM\r
+//#define MAGIC_KEY_HELP1     H\r
+//#define MAGIC_KEY_HELP2     SLASH\r
+//#define MAGIC_KEY_DEBUG     D\r
+//#define MAGIC_KEY_DEBUG_MATRIX  X\r
+//#define MAGIC_KEY_DEBUG_KBD   K\r
+//#define MAGIC_KEY_DEBUG_MOUSE  M\r
+//#define MAGIC_KEY_VERSION    V\r
+//#define MAGIC_KEY_STATUS     S\r
+//#define MAGIC_KEY_CONSOLE    C\r
+//#define MAGIC_KEY_LAYER0_ALT1  ESC\r
+//#define MAGIC_KEY_LAYER0_ALT2  GRAVE\r
+//#define MAGIC_KEY_LAYER0     0\r
+//#define MAGIC_KEY_LAYER1     1\r
+//#define MAGIC_KEY_LAYER2     2\r
+//#define MAGIC_KEY_LAYER3     3\r
+//#define MAGIC_KEY_LAYER4     4\r
+//#define MAGIC_KEY_LAYER5     5\r
+//#define MAGIC_KEY_LAYER6     6\r
+//#define MAGIC_KEY_LAYER7     7\r
+//#define MAGIC_KEY_LAYER8     8\r
+//#define MAGIC_KEY_LAYER9     9\r
+//#define MAGIC_KEY_BOOTLOADER   PAUSE\r
+//#define MAGIC_KEY_LOCK      CAPS\r
+//#define MAGIC_KEY_EEPROM     E\r
+//#define MAGIC_KEY_NKRO      N\r
+//#define MAGIC_KEY_SLEEP_LED   Z\r
+\r
+/*\r
+ * Feature disable options\r
+ * These options are also useful to firmware size reduction.\r
+ */\r
+\r
+/* disable debug print */\r
+//#define NO_DEBUG\r
+\r
+/* disable print */\r
+//#define NO_PRINT\r
+\r
+/* disable action features */\r
+//#define NO_ACTION_LAYER\r
+//#define NO_ACTION_TAPPING\r
+//#define NO_ACTION_ONESHOT\r
+//#define NO_ACTION_MACRO\r
+//#define NO_ACTION_FUNCTION\r
+\r
+#endif\r
diff --git a/keyboard/gh60_rev_c/gh60.c b/keyboard/gh60_rev_c/gh60.c
new file mode 100644 (file)
index 0000000..8e7219b
--- /dev/null
@@ -0,0 +1,67 @@
+#include "gh60.h"\r
+#include "led.h"\r
+\r
+__attribute__ ((weak))\r
+void matrix_init_user(void) {\r
+       // leave this function blank - it can be defined in a keymap file\r
+};\r
+\r
+__attribute__ ((weak))\r
+void matrix_scan_user(void) {\r
+       // leave this function blank - it can be defined in a keymap file\r
+}\r
+\r
+__attribute__ ((weak))\r
+void process_action_user(keyrecord_t *record) {\r
+       // leave this function blank - it can be defined in a keymap file\r
+}\r
+\r
+__attribute__ ((weak))\r
+void led_set_user(uint8_t usb_led) {\r
+       // leave this function blank - it can be defined in a keymap file\r
+}\r
+\r
+void matrix_init_kb(void) {\r
+       // put your keyboard start-up code here\r
+       // runs once when the firmware starts up\r
+\r
+       matrix_init_user();\r
+}\r
+\r
+void matrix_scan_kb(void) {\r
+       // put your looping keyboard code here\r
+       // runs every cycle (a lot)\r
+\r
+       matrix_scan_user();\r
+}\r
+\r
+void process_action_kb(keyrecord_t *record) {\r
+       // put your per-action keyboard code here\r
+       // runs for every action, just before processing by the firmware\r
+\r
+       process_action_user(record);\r
+}\r
+\r
+void led_set_kb(uint8_t usb_led) {\r
+       // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here\r
+       \r
+    if (usb_led & (1<<USB_LED_CAPS_LOCK)) {\r
+               gh60_caps_led_on();\r
+               } else {\r
+               gh60_caps_led_off(); \r
+    }\r
+       \r
+    // if (usb_led & (1<<USB_LED_NUM_LOCK)) {\r
+               // gh60_esc_led_on();\r
+               // } else {\r
+               // gh60_esc_led_off(); \r
+    // }\r
+       \r
+    // if (usb_led & (1<<USB_LED_SCROLL_LOCK)) {\r
+               // gh60_fn_led_on();\r
+               // } else {\r
+               // gh60_fn_led_off();   \r
+    // }\r
+\r
+       led_set_user(usb_led);  \r
+}\r
diff --git a/keyboard/gh60_rev_c/gh60.h b/keyboard/gh60_rev_c/gh60.h
new file mode 100644 (file)
index 0000000..2373ad3
--- /dev/null
@@ -0,0 +1,81 @@
+#ifndef GH60_H\r
+#define GH60_H\r
+\r
+#include "matrix.h"\r
+#include "keymap_common.h"\r
+#include "backlight.h"\r
+#include <stddef.h>\r
+\r
+/* GH60 LEDs \r
+ *   GPIO pads\r
+ *   0 F7 WASD LEDs\r
+ *   1 F6 ESC LED\r
+ *   2 F5 FN LED\r
+ *   3 F4 POKER Arrow LEDs\r
+ *   B2 Capslock LED\r
+ *   B0 not connected\r
+ */\r
+inline void gh60_caps_led_on(void)      { DDRB |=  (1<<2); PORTB &= ~(1<<2); }\r
+inline void gh60_poker_leds_on(void)    { DDRF |=  (1<<4); PORTF &= ~(1<<4); }\r
+inline void gh60_fn_led_on(void)       { DDRF |=  (1<<5); PORTF &= ~(1<<5); }\r
+inline void gh60_esc_led_on(void)      { DDRF |=  (1<<6); PORTF &= ~(1<<6); }\r
+inline void gh60_wasd_leds_on(void)            { DDRF |=  (1<<7); PORTF &= ~(1<<7); }\r
+\r
+inline void gh60_caps_led_off(void)     { DDRB &= ~(1<<2); PORTB &= ~(1<<2); }\r
+inline void gh60_poker_leds_off(void)   { DDRF &= ~(1<<4); PORTF &= ~(1<<4); }\r
+inline void gh60_fn_led_off(void)      { DDRF &= ~(1<<5); PORTF &= ~(1<<5); }\r
+inline void gh60_esc_led_off(void)     { DDRF &= ~(1<<6); PORTF &= ~(1<<6); }\r
+inline void gh60_wasd_leds_off(void)           { DDRF &= ~(1<<7); PORTF &= ~(1<<7); }\r
+\r
+/* GH60 keymap definition macro\r
+ * K2C, K31 and  K3C are extra keys for ISO\r
+ */\r
+#define KEYMAP( \\r
+    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \\r
+    K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \\r
+    K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, \\r
+    K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \\r
+    K40, K41, K42,           K45,                K49, K4A, K4B, K4C, K4D  \\r
+) { \\r
+    { KC_##K00, KC_##K01, KC_##K02, KC_##K03, KC_##K04, KC_##K05, KC_##K06, KC_##K07, KC_##K08, KC_##K09, KC_##K0A, KC_##K0B, KC_##K0C, KC_##K0D }, \\r
+    { KC_##K10, KC_##K11, KC_##K12, KC_##K13, KC_##K14, KC_##K15, KC_##K16, KC_##K17, KC_##K18, KC_##K19, KC_##K1A, KC_##K1B, KC_##K1C, KC_##K1D }, \\r
+    { KC_##K20, KC_##K21, KC_##K22, KC_##K23, KC_##K24, KC_##K25, KC_##K26, KC_##K27, KC_##K28, KC_##K29, KC_##K2A, KC_##K2B, KC_##K2C, KC_##K2D }, \\r
+    { KC_##K30, KC_##K31, KC_##K32, KC_##K33, KC_##K34, KC_##K35, KC_##K36, KC_##K37, KC_##K38, KC_##K39, KC_##K3A, KC_##K3B, KC_##K3C, KC_##K3D }, \\r
+    { KC_##K40, KC_##K41, KC_##K42, KC_NO,    KC_NO,    KC_##K45, KC_NO,    KC_NO,    KC_NO,    KC_##K49, KC_##K4A, KC_##K4B, KC_##K4C, KC_##K4D }  \\r
+}\r
+\r
+/* ANSI valiant. No extra keys for ISO */\r
+#define KEYMAP_ANSI( \\r
+    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \\r
+    K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \\r
+    K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B,      K2D, \\r
+    K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B,           K3D, \\r
+    K40, K41, K42,           K45,                     K4A, K4B, K4C, K4D  \\r
+) KEYMAP( \\r
+    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \\r
+    K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \\r
+    K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, NO,  K2D, \\r
+    K30, NO,  K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, NO,  K3D, \\r
+    K40, K41, K42,           K45,                NO,  K4A, K4B, K4C, K4D  \\r
+)\r
+\r
+#define KEYMAP_HHKB( \\r
+    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K49,\\r
+    K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \\r
+    K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B,      K2D, \\r
+    K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B,      K3D, K3C, \\r
+    K40, K41, K42,           K45,                     K4A, K4B, K4C, K4D  \\r
+) KEYMAP( \\r
+    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \\r
+    K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \\r
+    K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, NO,  K2D, \\r
+    K30, NO,  K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \\r
+    K40, K41, K42,           K45,                K49, K4A, K4B, K4C, K4D  \\r
+)\r
+\r
+void matrix_init_user(void);\r
+void matrix_scan_user(void);\r
+void process_action_user(keyrecord_t *record);\r
+void led_set_user(uint8_t usb_led);\r
+\r
+#endif\r
diff --git a/keyboard/gh60_rev_c/gh60revc.jpg b/keyboard/gh60_rev_c/gh60revc.jpg
new file mode 100644 (file)
index 0000000..6c88ad2
Binary files /dev/null and b/keyboard/gh60_rev_c/gh60revc.jpg differ
diff --git a/keyboard/gh60_rev_c/keymaps/default.c b/keyboard/gh60_rev_c/keymaps/default.c
new file mode 100644 (file)
index 0000000..3622be4
--- /dev/null
@@ -0,0 +1,69 @@
+#include "gh60.h"
+#include "action_layer.h"
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+    /* 0: qwerty */
+    KEYMAP(
+       ESC, 1,   2,   3,   4,   5,   6,   7,   8,   9,   0,   MINS,EQL, GRV,  \
+        TAB, Q,   W,   E,   R,   T,   Y,   U,   I,   O,   P,   LBRC,RBRC,BSPC, \
+        CAPS,A,   S,   D,   F,   G,   H,   J,   K,   L,   SCLN,QUOT,NO,  ENT,  \
+        LSFT,FN1, Z,   X,   C,   V,   B,   N,   M,   COMM,DOT, SLSH,FN0, RSFT, \
+        LCTL,LGUI,LALT,          SPC,                BSLS,RALT,RGUI,APP, RCTL),
+    /* 1: fn */
+       KEYMAP(
+        ESC, F1,  F2,  F3,  F4,  F5,  F6,  F7,  F8,  F9,  F10, F11, F12, TRNS, \
+        TRNS,TRNS,UP,  TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, \
+        TRNS,LEFT,DOWN,RGHT,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, \
+        TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, \
+        TRNS,TRNS,TRNS,          TRNS,               TRNS,TRNS,TRNS,TRNS,TRNS),
+    /* 2: arrows */
+       KEYMAP(
+        TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, \
+        TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, \
+        TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, \
+        TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,UP,   \
+        TRNS,TRNS,TRNS,          TRNS,               TRNS,TRNS,LEFT,DOWN,RGHT),
+};
+
+const uint16_t PROGMEM fn_actions[] = {
+    [0] = ACTION_LAYER_MOMENTARY(1),  // to Fn overlay
+    [1] = ACTION_LAYER_TOGGLE(2),     // toggle arrow overlay
+};
+
+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;
+};
+
+void matrix_scan_user(void) {
+
+//Layer LED indicators
+    uint32_t layer = layer_state;
+       
+    if (layer & (1<<1)) {
+        gh60_wasd_leds_on();
+        gh60_fn_led_on();
+    } else {
+        gh60_wasd_leds_off();
+        gh60_fn_led_off();
+    }
+       
+    if (layer & (1<<2)) {
+        gh60_poker_leds_on();
+        gh60_esc_led_on();
+    } else {
+        gh60_poker_leds_off();
+        gh60_esc_led_off();
+    }
+       
+};
diff --git a/keyboard/gh60_rev_c/pinout.txt b/keyboard/gh60_rev_c/pinout.txt
new file mode 100644 (file)
index 0000000..3787f93
--- /dev/null
@@ -0,0 +1,18 @@
+    /* Column pin configuration\r
+    * col: 0   1   2   3   4   5   6   7   8   9   10  11  12  13\r
+    * pin: F0  F1  E6  C7  C6  B6  D4  B1  B7  B5  B4  D7  D6  B3  (Rev.C)\r
+    */\r
+     \r
+    /* Row pin configuration\r
+    * row: 0   1   2   3   4\r
+    * pin: D0  D1  D2  D3  D5\r
+    */\r
+     \r
+    GPIO pads\r
+    0 F7 WASD LEDs\r
+    1 F6 ESC LED\r
+    2 F5 FN LED\r
+    3 F4 POKER Arrow LEDs\r
+     \r
+    B2 Capslock LED\r
+    B0 not connected
\ No newline at end of file
index 01d9e3ce9a504e75dcd6b498dfa2f90074b7d0e5..c0c6201cba3ed9c084c8c8145e9d0c5312ee8a71 100644 (file)
@@ -171,10 +171,6 @@ endif
 
 endif
 
-ifeq ($(strip $(BACKLIGHT_ENABLE)), yes)
-       SRC := backlight.c $(SRC)
-endif
-
 # Optimize size but this may cause error "relocation truncated to fit"
 #EXTRALDFLAGS = -Wl,--relax
 
diff --git a/keyboard/planck/backlight.c b/keyboard/planck/backlight.c
deleted file mode 100644 (file)
index f69364b..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-
-#include <avr/io.h>
-#include "backlight.h"
-
-#define CHANNEL OCR1C
-
-void backlight_init_ports()
-{
-
-    // Setup PB7 as output and output low.
-    DDRB |= (1<<7);
-    PORTB &= ~(1<<7);
-    
-    // Use full 16-bit resolution. 
-    ICR1 = 0xFFFF;
-
-    // I could write a wall of text here to explain... but TL;DW
-    // Go read the ATmega32u4 datasheet.
-    // And this: http://blog.saikoled.com/post/43165849837/secret-konami-cheat-code-to-high-resolution-pwm-on
-    
-    // Pin PB7 = OCR1C (Timer 1, Channel C)
-    // Compare Output Mode = Clear on compare match, Channel C = COM1C1=1 COM1C0=0
-    // (i.e. start high, go low when counter matches.)
-    // WGM Mode 14 (Fast PWM) = WGM13=1 WGM12=1 WGM11=1 WGM10=0
-    // Clock Select = clk/1 (no prescaling) = CS12=0 CS11=0 CS10=1
-    
-    TCCR1A = _BV(COM1C1) | _BV(WGM11); // = 0b00001010;
-    TCCR1B = _BV(WGM13) | _BV(WGM12) | _BV(CS10); // = 0b00011001;
-
-    backlight_init();
-}
-
-void backlight_set(uint8_t level)
-{
-    if ( level == 0 )
-    {
-        // Turn off PWM control on PB7, revert to output low.
-        TCCR1A &= ~(_BV(COM1C1));
-        CHANNEL = 0x0;
-        // Prevent backlight blink on lowest level
-        PORTB &= ~(_BV(PORTB7));
-    }
-    else if ( level == BACKLIGHT_LEVELS )
-    {
-        // Prevent backlight blink on lowest level
-        PORTB &= ~(_BV(PORTB7));
-        // Turn on PWM control of PB7
-        TCCR1A |= _BV(COM1C1);
-        // Set the brightness
-        CHANNEL = 0xFFFF;
-    }
-    else        
-    {
-        // Prevent backlight blink on lowest level
-        PORTB &= ~(_BV(PORTB7));
-        // Turn on PWM control of PB7
-        TCCR1A |= _BV(COM1C1);
-        // Set the brightness
-        CHANNEL = 0xFFFF >> ((BACKLIGHT_LEVELS - level) * ((BACKLIGHT_LEVELS + 1) / 2));
-    }
-}
\ No newline at end of file
index fa9c3915a8d6bc809fc79e3fc10fb8964c66e547..56f20a3b99a2e0c3f095951b0ef0babdea4620fc 100644 (file)
@@ -38,6 +38,7 @@ extern keymap_config_t keymap_config;
 #define VC_DE M(11)
 #define PLOVER M(12)
 #define EXT_PLV M(13)
+#define TOG_OUT M(14)
 
 // Fillers to make layering more clear
 #define _______ KC_TRNS
@@ -151,7 +152,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  * |------+------+------+------+------+-------------+------+------+------+------+------|
  * |      |   S  |   T  |   P  |   H  |   *  |   *  |   F  |   P  |   L  |   T  |   D  |
  * |------+------+------+------+------+------|------+------+------+------+------+------|
- * |      |   S  |   K  |   W  |   R  |   *  |   *  |   R  |   B  |   G  |   S  |   Z  |
+ * |TogOut|   S  |   K  |   W  |   R  |   *  |   *  |   R  |   B  |   G  |   S  |   Z  |
  * |------+------+------+------+------+------+------+------+------+------+------+------|
  * | Exit |      |      |   A  |   O  |             |   E  |   U  |      |      |      |
  * `-----------------------------------------------------------------------------------'
@@ -160,7 +161,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 [_PLOVER] = {
   {KC_1,    KC_1,    KC_1,    KC_1,    KC_1,    KC_1,    KC_1,    KC_1,    KC_1,    KC_1,    KC_1,    KC_1   },
   {XXXXXXX, KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,    KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_LBRC},
-  {XXXXXXX, KC_A,    KC_S,    KC_D,    KC_F,    KC_G,    KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT},
+  {TOG_OUT, KC_A,    KC_S,    KC_D,    KC_F,    KC_G,    KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT},
   {EXT_PLV, XXXXXXX, XXXXXXX, KC_C,    KC_V,    XXXXXXX, XXXXXXX, KC_N,    KC_M,    XXXXXXX, XXXXXXX, XXXXXXX}
 },
 
@@ -319,13 +320,13 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
         case 12:
           if (record->event.pressed) {
             #ifdef AUDIO_ENABLE
+              stop_all_notes();
               PLAY_NOTE_ARRAY(tone_plover, false, 0);
             #endif
             layer_off(_RAISE);
             layer_off(_LOWER);
             layer_off(_ADJUST);
             layer_off(_MUSIC);
-            stop_all_notes();
             layer_on(_PLOVER);
             if (!eeconfig_is_enabled()) {
                 eeconfig_init();
@@ -343,7 +344,11 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
             layer_off(_PLOVER);
           }
         break;
-
+        case 14:
+          if (record->event.pressed) {
+            return MACRO( D(E), D(R), D(F), D(V), D(O), D(L), U(E), U(R), U(F), U(V), U(O), U(L), END );
+          }
+        break;
       }
     return MACRO_NONE;
 };
@@ -363,7 +368,7 @@ void play_goodbye_tone()
 }
 
 uint8_t starting_note = 0x0C;
-int offset = 7;
+int offset = 0;
 
 void process_action_user(keyrecord_t *record) {
 
diff --git a/keyboard/planck/keymaps/experimental/README.md b/keyboard/planck/keymaps/experimental/README.md
new file mode 100644 (file)
index 0000000..de9680b
--- /dev/null
@@ -0,0 +1,2 @@
+# The Default Planck Layout
+
diff --git a/keyboard/planck/keymaps/experimental/keymap.c b/keyboard/planck/keymaps/experimental/keymap.c
new file mode 100644 (file)
index 0000000..fc3ac4a
--- /dev/null
@@ -0,0 +1,383 @@
+// This is the canonical layout file for the Quantum project. If you want to add another keyboard,
+// this is the style you want to emulate.
+
+#include "planck.h"
+#include "action_layer.h"
+#ifdef AUDIO_ENABLE
+  #include "audio.h"
+#endif
+#include "eeconfig.h"
+
+extern keymap_config_t keymap_config;
+
+// Each layer gets a name for readability, which is then used in the keymap matrix below.
+// The underscores don't mean anything - you can have a layer called STUFF or any other name.
+// Layer names don't all need to be of the same length, obviously, and you can also skip them
+// entirely and just use numbers.
+#define _QWERTY 0
+#define _COLEMAK 1
+#define _DVORAK 2
+#define _LOWER 3
+#define _RAISE 4
+#define _MUSIC 5
+#define _PLOVER 6
+#define _ADJUST 16
+
+// Macro name shortcuts
+#define QWERTY M(_QWERTY)
+#define COLEMAK M(_COLEMAK)
+#define DVORAK M(_DVORAK)
+#define LOWER M(_LOWER)
+#define RAISE M(_RAISE)
+#define M_BL 5
+#define AUD_OFF M(6)
+#define AUD_ON M(7)
+#define MUS_OFF M(8)
+#define MUS_ON M(9)
+#define VC_IN M(10)
+#define VC_DE M(11)
+#define PLOVER M(12)
+#define EXT_PLV M(13)
+
+// Fillers to make layering more clear
+#define _______ KC_TRNS
+#define XXXXXXX KC_NO
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+/* Qwerty
+ * ,-----------------------------------------------------------------------------------.
+ * | Tab  |   Q  |   W  |   E  |   R  |   T  |   Y  |   U  |   I  |   O  |   P  | Bksp |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | Esc  |   A  |   S  |   D  |   F  |   G  |   H  |   J  |   K  |   L  |   ;  |  "   |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * | Shift|   Z  |   X  |   C  |   V  |   B  |   N  |   M  |   ,  |   .  |   /  |Enter |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Brite| Ctrl | Alt  | GUI  |Lower |    Space    |Raise | Left | Down |  Up  |Right |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_QWERTY] = {
+  {KC_TAB,  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,    KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_BSPC},
+  {KC_ESC,  KC_A,    KC_S,    KC_D,    KC_F,    KC_G,    KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT},
+  {KC_LSFT, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_ENT },
+  {M(M_BL), KC_LCTL, KC_LALT, KC_LGUI, LOWER,   KC_SPC,  KC_SPC,  RAISE,   KC_LEFT, KC_DOWN, KC_UP,   KC_RGHT}
+},
+
+/* Colemak
+ * ,-----------------------------------------------------------------------------------.
+ * | Tab  |   Q  |   W  |   F  |   P  |   G  |   J  |   L  |   U  |   Y  |   ;  | Bksp |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | Esc  |   A  |   R  |   S  |   T  |   D  |   H  |   N  |   E  |   I  |   O  |  "   |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * | Shift|   Z  |   X  |   C  |   V  |   B  |   K  |   M  |   ,  |   .  |   /  |Enter |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Brite| Ctrl | Alt  | GUI  |Lower |    Space    |Raise | Left | Down |  Up  |Right |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_COLEMAK] = {
+  {KC_TAB,  KC_Q,    KC_W,    KC_F,    KC_P,    KC_G,    KC_J,    KC_L,    KC_U,    KC_Y,    KC_SCLN, KC_BSPC},
+  {KC_ESC,  KC_A,    KC_R,    KC_S,    KC_T,    KC_D,    KC_H,    KC_N,    KC_E,    KC_I,    KC_O,    KC_QUOT},
+  {KC_LSFT, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_K,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_ENT },
+  {M(M_BL), KC_LCTL, KC_LALT, KC_LGUI, LOWER,   KC_SPC,  KC_SPC,  RAISE,   KC_LEFT, KC_DOWN, KC_UP,   KC_RGHT}
+},
+
+/* Dvorak
+ * ,-----------------------------------------------------------------------------------.
+ * | Tab  |   "  |   ,  |   .  |   P  |   Y  |   F  |   G  |   C  |   R  |   L  | Bksp |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | Esc  |   A  |   O  |   E  |   U  |   I  |   D  |   H  |   T  |   N  |   S  |  /   |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * | Shift|   ;  |   Q  |   J  |   K  |   X  |   B  |   M  |   W  |   V  |   Z  |Enter |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Brite| Ctrl | Alt  | GUI  |Lower |    Space    |Raise | Left | Down |  Up  |Right |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_DVORAK] = {
+  {KC_TAB,  KC_QUOT, KC_COMM, KC_DOT,  KC_P,    KC_Y,    KC_F,    KC_G,    KC_C,    KC_R,    KC_L,    KC_BSPC},
+  {KC_ESC,  KC_A,    KC_O,    KC_E,    KC_U,    KC_I,    KC_D,    KC_H,    KC_T,    KC_N,    KC_S,    KC_SLSH},
+  {KC_LSFT, KC_SCLN, KC_Q,    KC_J,    KC_K,    KC_X,    KC_B,    KC_M,    KC_W,    KC_V,    KC_Z,    KC_ENT },
+  {M(M_BL), KC_LCTL, KC_LALT, KC_LGUI, LOWER,   KC_SPC,  KC_SPC,  RAISE,   KC_LEFT, KC_DOWN, KC_UP,   KC_RGHT}
+},
+
+/* Lower
+ * ,-----------------------------------------------------------------------------------.
+ * |   ~  |   !  |   @  |   #  |   $  |   %  |   ^  |   &  |   *  |   (  |   )  | Bksp |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | Del  |  F1  |  F2  |  F3  |  F4  |  F5  |  F6  |   _  |   +  |   {  |   }  |  |   |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * |      |  F7  |  F8  |  F9  |  F10 |  F11 |  F12 |      |      |      |      |Enter |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * |      |      |      |      |      |             |      | Next | Vol- | Vol+ | Play |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_LOWER] = {
+  {KC_TILD, KC_EXLM, KC_AT,   KC_HASH, KC_DLR,  KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC},
+  {KC_DEL,  KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,   KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE},
+  {_______, KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12,  _______, _______, _______, _______, _______},
+  {_______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY}
+},
+
+/* Raise
+ * ,-----------------------------------------------------------------------------------.
+ * |   `  |   1  |   2  |   3  |   4  |   5  |   6  |   7  |   8  |   9  |   0  | Bksp |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | Del  |  F1  |  F2  |  F3  |  F4  |  F5  |  F6  |   -  |   =  |   [  |   ]  |  \   |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * |      |  F7  |  F8  |  F9  |  F10 |  F11 |  F12 |      |      |      |      |Enter |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * |      |      |      |      |      |             |      | Next | Vol- | Vol+ | Play |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_RAISE] = {
+  {KC_GRV,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_BSPC},
+  {KC_DEL,  KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,   KC_MINS, KC_EQL,  KC_LBRC, KC_RBRC, KC_BSLS},
+  {_______, KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12,  _______, _______, _______, _______, _______},
+  {_______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY}
+},
+
+/* Music (reserved for process_action_user)
+ *
+ */
+[_MUSIC] = {
+  {XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX},
+  {XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX},
+  {XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX},
+  {XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, LOWER,   XXXXXXX, XXXXXXX, RAISE,   XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX}
+},
+
+/* Plover layer (http://opensteno.org)
+ * ,-----------------------------------------------------------------------------------.
+ * |   #  |   #  |   #  |   #  |   #  |   #  |   #  |   #  |   #  |   #  |   #  |   #  |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * |      |   S  |   T  |   P  |   H  |   *  |   *  |   F  |   P  |   L  |   T  |   D  |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * |      |   S  |   K  |   W  |   R  |   *  |   *  |   R  |   B  |   G  |   S  |   Z  |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Exit |      |      |   A  |   O  |             |   E  |   U  |      |      |      |
+ * `-----------------------------------------------------------------------------------'
+ */
+
+[_PLOVER] = {
+  {KC_1,    KC_1,    KC_1,    KC_1,    KC_1,    KC_1,    KC_1,    KC_1,    KC_1,    KC_1,    KC_1,    KC_1   },
+  {XXXXXXX, KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,    KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_LBRC},
+  {XXXXXXX, KC_A,    KC_S,    KC_D,    KC_F,    KC_G,    KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT},
+  {EXT_PLV, XXXXXXX, XXXXXXX, KC_C,    KC_V,    XXXXXXX, XXXXXXX, KC_N,    KC_M,    XXXXXXX, XXXXXXX, XXXXXXX}
+},
+
+/* Adjust (Lower + Raise)
+ * ,-----------------------------------------------------------------------------------.
+ * |      | Reset|      |      |      |      |      |      |      |      |      |  Del |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * |      |      |      |Aud on|Audoff|AGnorm|AGswap|Qwerty|Colemk|Dvorak|Plover|      |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * |      |Voice-|Voice+|Mus on|Musoff|      |      |      |      |      |      |      |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * |      |      |      |      |      |             |      |      |      |      |      |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_ADJUST] = {
+  {_______, RESET,   _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL},
+  {_______, _______, _______, AUD_ON,  AUD_OFF, AG_NORM, AG_SWAP, QWERTY,  COLEMAK, DVORAK,  PLOVER,  _______},
+  {_______, VC_DE,   VC_IN,   MUS_ON,  MUS_OFF, _______, _______, _______, _______, _______, _______, _______},
+  {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}
+}
+
+
+};
+
+const uint16_t PROGMEM fn_actions[] = {
+
+};
+
+#ifdef AUDIO_ENABLE
+float tone_startup[][2] = {
+  {440.0*pow(2.0,(31)/12.0), 12},
+  {440.0*pow(2.0,(28)/12.0), 8},
+  {440.0*pow(2.0,(19)/12.0), 8},
+  {440.0*pow(2.0,(24)/12.0), 8},
+  {440.0*pow(2.0,(28)/12.0), 20}
+};
+
+float tone_qwerty[][2]     = SONG(QWERTY_SOUND);
+float tone_dvorak[][2]     = SONG(DVORAK_SOUND);
+float tone_colemak[][2]    = SONG(COLEMAK_SOUND);
+float tone_plover[][2]     = SONG(PLOVER_SOUND);
+float tone_plover_gb[][2]  = SONG(PLOVER_GOODBYE_SOUND);
+
+float music_scale[][2] = SONG(MUSIC_SCALE_SOUND);
+float goodbye[][2] = SONG(GOODBYE_SOUND);
+#endif
+
+
+void persistant_default_layer_set(uint16_t default_layer) {
+  eeconfig_update_default_layer(default_layer);
+  default_layer_set(default_layer);
+}
+
+const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
+{
+      switch(id) {
+        case _QWERTY:
+          if (record->event.pressed) {
+            #ifdef AUDIO_ENABLE
+              PLAY_NOTE_ARRAY(tone_qwerty, false, 0);
+            #endif
+            persistant_default_layer_set(1UL<<_QWERTY);
+          }
+          break;
+        case _COLEMAK:
+          if (record->event.pressed) {
+            #ifdef AUDIO_ENABLE
+              PLAY_NOTE_ARRAY(tone_colemak, false, 0);
+            #endif
+            persistant_default_layer_set(1UL<<_COLEMAK);
+          }
+          break;
+        case _DVORAK:
+          if (record->event.pressed) {
+            #ifdef AUDIO_ENABLE
+              PLAY_NOTE_ARRAY(tone_dvorak, false, 0);
+            #endif
+            persistant_default_layer_set(1UL<<_DVORAK);
+          }
+          break;
+        case _LOWER:
+          if (record->event.pressed) {
+            layer_on(_LOWER);
+                breathing_speed_set(2);
+                breathing_pulse();
+            update_tri_layer(_LOWER, _RAISE, _ADJUST);
+          } else {
+            layer_off(_LOWER);
+            update_tri_layer(_LOWER, _RAISE, _ADJUST);
+          }
+          break;
+        case _RAISE:
+          if (record->event.pressed) {
+            layer_on(_RAISE);
+                breathing_speed_set(2);
+                breathing_pulse();
+            update_tri_layer(_LOWER, _RAISE, _ADJUST);
+          } else {
+            layer_off(_RAISE);
+            update_tri_layer(_LOWER, _RAISE, _ADJUST);
+          }
+          break;
+        case M_BL:
+          if (record->event.pressed) {
+            register_code(KC_RSFT);
+            #ifdef BACKLIGHT_ENABLE
+              backlight_step();
+            #endif
+          } else {
+            unregister_code(KC_RSFT);
+          }
+        break;
+        case 6:
+          if (record->event.pressed) {
+            #ifdef AUDIO_ENABLE
+              audio_off();
+            #endif
+          }
+        break;
+        case 7:
+          if (record->event.pressed) {
+            #ifdef AUDIO_ENABLE
+              audio_on();
+              PLAY_NOTE_ARRAY(tone_startup, false, 0);
+            #endif
+          }
+        break;
+        case 8:
+          if (record->event.pressed) {
+            #ifdef AUDIO_ENABLE
+              layer_off(_MUSIC);
+              stop_all_notes();
+            #endif
+          }
+        break;
+        case 9:
+          if (record->event.pressed) {
+            #ifdef AUDIO_ENABLE
+              PLAY_NOTE_ARRAY(music_scale, false, 0);
+              layer_on(_MUSIC);
+            #endif
+          }
+        break;
+        case 10:
+          if (record->event.pressed) {
+            #ifdef AUDIO_ENABLE
+              voice_iterate();
+              PLAY_NOTE_ARRAY(music_scale, false, 0);
+            #endif
+          }
+        break;
+        case 11:
+          if (record->event.pressed) {
+            #ifdef AUDIO_ENABLE
+              voice_deiterate();
+              PLAY_NOTE_ARRAY(music_scale, false, 0);
+            #endif
+          }
+        break;
+        case 12:
+          if (record->event.pressed) {
+            #ifdef AUDIO_ENABLE
+              stop_all_notes();
+              PLAY_NOTE_ARRAY(tone_plover, false, 0);
+            #endif
+            layer_off(_RAISE);
+            layer_off(_LOWER);
+            layer_off(_ADJUST);
+            layer_off(_MUSIC);
+            layer_on(_PLOVER);
+            if (!eeconfig_is_enabled()) {
+                eeconfig_init();
+            }
+            keymap_config.raw = eeconfig_read_keymap();
+            keymap_config.nkro = 1;
+            eeconfig_update_keymap(keymap_config.raw);
+          }
+        break;
+        case 13:
+          if (record->event.pressed) {
+            #ifdef AUDIO_ENABLE
+              PLAY_NOTE_ARRAY(tone_plover_gb, false, 0);
+            #endif
+            layer_off(_PLOVER);
+          }
+        break;
+
+      }
+    return MACRO_NONE;
+};
+
+void matrix_init_user(void) {
+  #ifdef AUDIO_ENABLE
+    _delay_ms(20); // stops the tick
+    PLAY_NOTE_ARRAY(tone_startup, false, 0);
+  #endif
+}
+
+#ifdef AUDIO_ENABLE
+void play_goodbye_tone()
+{
+  PLAY_NOTE_ARRAY(goodbye, false, 0);
+  _delay_ms(150);
+}
+
+uint8_t starting_note = 0x0C;
+int offset = 0;
+
+void process_action_user(keyrecord_t *record) {
+
+  if (IS_LAYER_ON(_MUSIC)) {
+    if (record->event.pressed) {
+        play_note(((double)220.0)*pow(2.0, -4.0)*pow(2.0,(starting_note + SCALE[record->event.key.col + offset])/12.0+(MATRIX_ROWS - record->event.key.row)), 0xF);
+    } else {
+        stop_note(((double)220.0)*pow(2.0, -4.0)*pow(2.0,(starting_note + SCALE[record->event.key.col + offset])/12.0+(MATRIX_ROWS - record->event.key.row)));
+    }
+  }
+
+}
+#endif
diff --git a/keyboard/planck/keymaps/experimental/makefile.mk b/keyboard/planck/keymaps/experimental/makefile.mk
new file mode 100644 (file)
index 0000000..99fbfbd
--- /dev/null
@@ -0,0 +1,2 @@
+AUDIO_ENABLE = yes
+NKRO_ENABLE = yes
\ No newline at end of file
diff --git a/keyboard/planck/keymaps/pvc/config.h b/keyboard/planck/keymaps/pvc/config.h
new file mode 100644 (file)
index 0000000..d435cc7
--- /dev/null
@@ -0,0 +1,88 @@
+/*
+Copyright 2012 Jun Wako <wakojun@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      0x6060
+#define DEVICE_VER      0x0001
+#define MANUFACTURER    Ortholinear Keyboards
+#define PRODUCT         The Planck Keyboard
+#define DESCRIPTION     A compact ortholinear keyboard
+
+/* key matrix size */
+#define MATRIX_ROWS 4
+#define MATRIX_COLS 12
+
+/* Planck PCB default pin-out */
+#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    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)) \
+)
+
+/* ws2812 RGB LED */
+#define ws2812_PORTREG  PORTD
+#define ws2812_DDRREG   DDRD
+#define ws2812_pin PD1
+#define RGBLED_NUM 28     // Number of LEDs
+#define RGBLIGHT_HUE_STEP 10
+#define RGBLIGHT_SAT_STEP 17
+#define RGBLIGHT_VAL_STEP 17
+
+/*
+ * 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/planck/keymaps/pvc/keymap.c b/keyboard/planck/keymaps/pvc/keymap.c
new file mode 100644 (file)
index 0000000..177f044
--- /dev/null
@@ -0,0 +1,547 @@
+#include "planck.h"
+#include "action_layer.h"
+#include "eeconfig.h"
+#include "led.h"
+
+#ifdef AUDIO_ENABLE
+    #include "audio.h"
+    #include "song_list.h"
+#endif
+
+#define LAYER_QWERTY         0
+#define LAYER_COLEMAK        1
+#define LAYER_DVORAK         2
+#define LAYER_LOWER          3
+#define LAYER_RAISE          4
+#define LAYER_FUNCTION       5
+#define LAYER_MOUSE          6
+#define LAYER_MUSIC          7
+#define LAYER_ADJUST         8
+
+#define MACRO_QWERTY         0
+#define MACRO_COLEMAK        1
+#define MACRO_DVORAK         2
+#define MACRO_LOWER          3
+#define MACRO_RAISE          4
+#define MACRO_FUNCTION       5
+#define MACRO_MOUSE          6
+#define MACRO_TIMBRE_1       7
+#define MACRO_TIMBRE_2       8
+#define MACRO_TIMBRE_3       9
+#define MACRO_TIMBRE_4      10
+#define MACRO_TEMPO_U       11
+#define MACRO_TEMPO_D       12
+#define MACRO_TONE_DEFAULT  13
+#define MACRO_MUSIC_ON      14
+#define MACRO_MUSIC_OFF     15
+#define MACRO_AUDIO_ON      16
+#define MACRO_AUDIO_OFF     17
+#define MACRO_INC_VOICE     18
+#define MACRO_DEC_VOICE     19
+#define MACRO_BACKLIGHT     20
+
+#define M_QWRTY             M(MACRO_QWERTY)
+#define M_COLMK             M(MACRO_COLEMAK)
+#define M_DVORK             M(MACRO_DVORAK)
+#define M_LOWER             M(MACRO_LOWER)
+#define M_RAISE             M(MACRO_RAISE)
+#define M_FUNCT             M(MACRO_FUNCTION)
+#define M_MOUSE             M(MACRO_MOUSE)
+#define TIMBR_1             M(MACRO_TIMBRE_1)
+#define TIMBR_2             M(MACRO_TIMBRE_2)
+#define TIMBR_3             M(MACRO_TIMBRE_3)
+#define TIMBR_4             M(MACRO_TIMBRE_4)
+#define TMPO_UP             M(MACRO_TEMPO_U)
+#define TMPO_DN             M(MACRO_TEMPO_D)
+#define TMPO_DF             M(MACRO_TONE_DEFAULT)
+#define M_BACKL             M(MACRO_BACKLIGHT)
+
+
+#define MUS_ON              M(MACRO_MUSIC_ON)
+#define MUS_OFF             M(MACRO_MUSIC_OFF)
+#define AUD_OFF             M(MACRO_AUDIO_OFF)
+#define AUD_ON              M(MACRO_AUDIO_ON)
+#define VC_UP               M(MACRO_INC_VOICE)
+#define VC_DOWN             M(MACRO_DEC_VOICE)
+
+
+#define SC_UNDO             LCTL(KC_Z)
+#define SC_REDO             LCTL(KC_Y)
+#define SC_CUT              LCTL(KC_X)
+#define SC_COPY             LCTL(KC_C)
+#define SC_PSTE             LCTL(KC_V)
+#define SC_SELA             LCTL(KC_A)
+#define SC_SAVE             LCTL(KC_S)
+#define SC_OPEN             LCTL(KC_O)
+#define SC_ACLS             LALT(KC_F4)
+#define SC_CCLS             LCTL(KC_F4)
+
+
+#define _______             KC_TRNS
+#define XXXXXXX             KC_NO
+#define ________________    _______, _______
+#define XXXXXXXXXXXXXXXX    XXXXXXX, XXXXXXX
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+/* QWERTY
+ * .-----------------------------------------------------------------------------------------------------------.
+ * | TAB    | Q      | W      | E      | R      | T      | Y      | U      | I      | O      | P      | BACKSP |
+ * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
+ * | ESC    | A      | S      | D      | F      | G      | H      | J      | K      | L      | ;      | '      |
+ * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
+ * | LSHIFT | Z      | X      | C      | V      | B      | N      | M      | ,      | .      | /      | ENTER  |
+ * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
+ * | LCTRL  | LWIN   | FN     | LALT   | RAISE  | SPACE  | SPACE  | LOWER  | UP     | DOWN   | LEFT   | RIGHT  |
+ * '-----------------------------------------------------------------------------------------------------------'
+ */
+
+ [LAYER_QWERTY]       = { /* QWERTY */
+  { KC_TAB,  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,    KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_BSPC   },
+  { KC_ESC,  KC_A,    KC_S,    KC_D,    KC_F,    KC_G,    KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT  },
+  { KC_LSFT, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_ENT   },
+  { KC_LCTL, KC_LGUI, M_FUNCT, KC_LALT, M_RAISE, KC_SPC,  KC_SPC,  M_LOWER, KC_UP,   KC_DOWN, KC_LEFT, KC_RGHT  },
+ },
+
+/* COLEMAK
+ * .-----------------------------------------------------------------------------------------------------------.
+ * | TAB    | Q      | W      | F      | P      | G      | J      | L      | U      | Y      | ;      | ESC    |
+ * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
+ * | BACKSP | A      | R      | S      | T      | D      | H      | N      | E      | I      | O      | '      |
+ * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
+ * | LSHIFT | Z      | X      | C      | V      | B      | K      | M      | ,      | .      | /      | ENTER  |
+ * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
+ * | LCTRL  | LWIN   | FN     | LALT   | RAISE  | SPACE  | SPACE  | LOWER  | UP     | DOWN   | LEFT   | RIGHT  |
+ * '-----------------------------------------------------------------------------------------------------------'
+ */
+
+ [LAYER_COLEMAK]      = { /* COLEMAK */
+  { KC_TAB,  KC_Q,    KC_W,    KC_F,    KC_P,    KC_G,    KC_J,    KC_L,    KC_U,    KC_Y,    KC_SCLN, KC_ESC   },
+  { KC_BSPC, KC_A,    KC_R,    KC_S,    KC_T,    KC_D,    KC_H,    KC_N,    KC_E,    KC_I,    KC_O,    KC_QUOT  },
+  { KC_LSFT, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_K,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_ENT   },
+  { KC_LCTL, KC_LGUI, M_FUNCT, KC_LALT, M_RAISE, KC_SPC,  KC_SPC,  M_LOWER, KC_UP,   KC_DOWN, KC_LEFT, KC_RGHT  },
+ },
+
+/* DVORAK
+ * .-----------------------------------------------------------------------------------------------------------.
+ * | TAB    | '      | ,      | .      | P      | Y      | F      | G      | C      | R      | L      | BACKSP |
+ * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
+ * | ESC    | A      | O      | E      | U      | I      | D      | H      | T      | N      | S      | '      |
+ * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
+ * | LSHIFT | ;      | Q      | J      | K      | X      | B      | M      | W      | V      | Z      | ENTER  |
+ * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
+ * | LCTRL  | LWIN   | FN     | LALT   | RAISE  | SPACE  | SPACE  | LOWER  | UP     | DOWN   | LEFT   | RIGHT  |
+ * '-----------------------------------------------------------------------------------------------------------'
+ */
+
+ [LAYER_DVORAK]       = { /* DVORAK */
+  { KC_TAB,  KC_QUOT, KC_COMM, KC_DOT,  KC_P,    KC_Y,    KC_F,    KC_G,    KC_C,    KC_R,    KC_L,    KC_BSPC  },
+  { KC_ESC,  KC_A,    KC_O,    KC_E,    KC_U,    KC_I,    KC_D,    KC_H,    KC_T,    KC_N,    KC_S,    KC_SLSH  },
+  { KC_LSFT, KC_SCLN, KC_Q,    KC_J,    KC_K,    KC_X,    KC_B,    KC_M,    KC_W,    KC_V,    KC_Z,    KC_ENT   },
+  { KC_LCTL, KC_LGUI, M_FUNCT, KC_LALT, M_RAISE, KC_SPC,  KC_SPC,  M_LOWER, KC_UP,   KC_DOWN, KC_LEFT, KC_RGHT  },
+ },
+
+/* Raise
+ * .-----------------------------------------------------------------------------------------------------------.
+ * | ~      | 1      | 2      | 3      | 4      | 5      | 6      | 7      | 8      | 9      | 0      | DEL    |
+ * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
+ * | XXXXXX | F1     | F2     | F3     | F4     | F5     | F6     | _      | +      | [      | ]      | \      |
+ * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
+ * | LSHIFT | F7     | F8     | F9     | F10    | F11    | F12    | XXXXXX | XXXXXX | XXXXXX | XXXXXX | ENTER  |
+ * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
+ * | LCTRL  | LWIN   | FN     | LALT   | RAISE  | BACKSP | BACKSP | LOWER  | PG UP  | PG DN  | HOME   | END    |
+ * '-----------------------------------------------------------------------------------------------------------'
+ */
+
+ [LAYER_RAISE]        = { /* RAISED */
+  { KC_GRV,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_DEL   },
+  { XXXXXXX, KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,   KC_MINS, KC_EQL,  KC_LBRC, KC_RBRC, KC_BSLS  },
+  { _______, KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12,  XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX  },
+  { _______, _______, _______, _______, _______, KC_BSPC, KC_BSPC, _______, KC_PGUP, KC_PGDN, KC_HOME, KC_END   },
+ },
+
+
+/* LOWERED
+ * .-----------------------------------------------------------------------------------------------------------.
+ * | ~      | !      | @      | #      | $      | %      | ^      | &      | *      | (      | )      | INS    |
+ * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
+ * | XXXXXX | F1     | F2     | F3     | F4     | F5     | F6     | _      | +      | {      | }      | |      |
+ * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
+ * | LSHIFT | F7     | F8     | F9     | F10    | F11    | F12    | XXXXXX | XXXXXX | XXXXXX | XXXXXX | ENTER  |
+ * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
+ * | LCTRL  | LWIN   | FN     | LALT   | RAISE  | BACKSP | BACKSP | LOWER  | PG UP  | PG DN  | HOME   | END    |
+ * '-----------------------------------------------------------------------------------------------------------'
+ */
+
+ [LAYER_LOWER]        = { /* LOWERED */
+  { KC_TILD, KC_EXLM, KC_AT,   KC_HASH, KC_DLR,  KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_INS   },
+  { XXXXXXX, KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,   KC_MINS, KC_EQL,  KC_LBRC, KC_RBRC, KC_BSLS  },
+  { _______, KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12,  XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX  },
+  { _______, _______, _______, _______, _______, KC_BSPC, KC_BSPC, _______, KC_PGUP, KC_PGDN, KC_HOME, KC_END   },
+ },
+
+/* FUNCTION
+ * .-----------------------------------------------------------------------------------------------------------.
+ * | NUM LK | F1     | F2     | F3     | F4     | F5     | F6     | F7     | F8     | F9     | F10    | PAUSE  |
+ * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
+ * | CAP LK | F11    | F12    | F13    | F14    | F15    | F16    | F17    | F18    | F19    | F20    | PRINT  |
+ * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
+ * | SCR LK | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | MUTE   |
+ * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
+ * | LCTRL  | LWIN   | FN     | LALT   | RAISE  | PLAY   | PLAY   | LOWER  | VOL UP | VOL DN | NEXT   | PREV   |
+ * '-----------------------------------------------------------------------------------------------------------'
+ */
+ [LAYER_FUNCTION]     = { /* FUNCTION */
+  { KC_NLCK, KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,   KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_PAUS  },
+  { KC_CAPS, KC_F11,  KC_F12,  KC_F13,  KC_F14,  KC_F15,  KC_F16,  KC_F17,  KC_F18,  KC_F19,  KC_F20,  KC_PSCR  },
+  { KC_SLCK, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MUTE  },
+  { _______, _______, _______, _______, _______, KC_MPLY, KC_MPLY, _______, KC_VOLU, KC_VOLD, KC_MPRV, KC_MNXT  },
+ },
+
+#ifdef MOUSEKEY_ENABLE
+
+ [LAYER_MOUSE]        = { /* MOUSE */
+  { KC_ESC,  KC_ACL0, KC_ACL1, KC_ACL2, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_ESC   },
+  { XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX  },
+  { _______, KC_BTN5, KC_BTN4, KC_BTN3, KC_BTN2, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_WH_U, KC_WH_D  },
+  { _______, _______, _______, _______, _______, KC_BTN1, KC_BTN1, _______, KC_MS_U, KC_MS_D, KC_MS_L, KC_MS_R  },
+ },
+
+#endif
+
+ [LAYER_MUSIC]        = { /* MUSIC */
+  { XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX  },
+  { XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX  },
+  { XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX  },
+  { XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, M_RAISE, XXXXXXX, XXXXXXX, M_LOWER, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX  },
+ },
+
+ [LAYER_ADJUST]       = { /* ADJUST */
+  { _______, TIMBR_1, TIMBR_2, TIMBR_3, TIMBR_4, TMPO_UP, TMPO_DN, TMPO_DF, MUS_ON,  MUS_OFF, AUD_ON,  AUD_OFF  },
+  { _______, M_QWRTY, M_COLMK, M_DVORK, _______, _______, _______, _______, _______, _______, _______, _______  },
+  { _______, _______, _______, _______, M_BACKL, RESET,   _______, M_MOUSE, _______, _______, _______, _______  },
+  { _______, _______, _______, _______, _______, _______, _______, _______, VC_UP,   VC_DOWN, _______, _______  },
+ },
+
+
+/*
+ [LAYER_EMPTY]        = {
+  { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,  },
+  { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,  },
+  { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,  },
+  { _______, _______, _______, _______, _______, ________________, _______, _______, _______, _______, _______,  },
+ },
+*/
+
+};
+
+#ifdef AUDIO_ENABLE
+
+float tone_my_startup[][2] = SONG(ODE_TO_JOY);
+float tone_my_goodbye[][2] = SONG(ROCK_A_BYE_BABY);
+
+float tone_qwerty[][2]     = SONG(QWERTY_SOUND);
+float tone_dvorak[][2]     = SONG(DVORAK_SOUND);
+float tone_colemak[][2]    = SONG(COLEMAK_SOUND);
+
+float tone_audio_on[][2]   = SONG(CLOSE_ENCOUNTERS_5_NOTE);
+float tone_music_on[][2]   = SONG(DOE_A_DEER);
+float tone_caps_on[][2]    = SONG(CAPS_LOCK_ON_SOUND);
+float tone_caps_off[][2]   = SONG(CAPS_LOCK_OFF_SOUND);
+float tone_numlk_on[][2]   = SONG(NUM_LOCK_ON_SOUND);
+float tone_numlk_off[][2]  = SONG(NUM_LOCK_OFF_SOUND);
+float tone_scroll_on[][2]  = SONG(SCROLL_LOCK_ON_SOUND);
+float tone_scroll_off[][2] = SONG(SCROLL_LOCK_OFF_SOUND);
+float music_scale[][2]     = SONG(MUSIC_SCALE_SOUND);
+
+#endif /* AUDIO_ENABLE */
+
+void persistant_default_layer_set(uint16_t default_layer)
+{
+    eeconfig_update_default_layer(default_layer);
+    default_layer_set(default_layer);
+}
+
+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 MACRO_QWERTY:
+            if (record->event.pressed)
+            {
+                persistant_default_layer_set(1UL<<LAYER_QWERTY);
+                               #ifdef AUDIO_ENABLE
+                       PLAY_NOTE_ARRAY(tone_qwerty, false, STACCATO);
+                               #endif /* AUDIO_ENABLE */
+            }
+            break;
+
+        case MACRO_COLEMAK:
+            if (record->event.pressed)
+            {
+                persistant_default_layer_set(1UL<<LAYER_COLEMAK);
+                               #ifdef AUDIO_ENABLE
+                       PLAY_NOTE_ARRAY(tone_colemak, false, STACCATO);
+                               #endif /* AUDIO_ENABLE */
+            }
+            break;
+
+        case MACRO_DVORAK:
+            if (record->event.pressed)
+            {
+                persistant_default_layer_set(1UL<<LAYER_DVORAK);
+                               #ifdef AUDIO_ENABLE
+                   PLAY_NOTE_ARRAY(tone_dvorak, false, STACCATO);
+                               #endif /* AUDIO_ENABLE */
+            }
+            break;
+
+        case MACRO_LOWER:
+            if (record->event.pressed)
+            {
+                layer_on(LAYER_LOWER);
+                update_tri_layer(LAYER_LOWER, LAYER_RAISE, LAYER_ADJUST);
+            }
+            else
+            {
+                layer_off(LAYER_LOWER);
+                update_tri_layer(LAYER_LOWER, LAYER_RAISE, LAYER_ADJUST);
+            }
+            break;
+
+        case MACRO_RAISE:
+            if (record->event.pressed)
+            {
+                layer_on(LAYER_RAISE);
+                update_tri_layer(LAYER_LOWER, LAYER_RAISE, LAYER_ADJUST);
+            }
+            else
+            {
+                layer_off(LAYER_RAISE);
+                update_tri_layer(LAYER_LOWER, LAYER_RAISE, LAYER_ADJUST);
+            }
+            break;
+
+        case MACRO_FUNCTION:
+            if (record->event.pressed)
+            {
+                layer_on(LAYER_FUNCTION);
+            }
+            else
+            {
+                layer_off(LAYER_FUNCTION);
+            }
+            break;
+
+
+#ifdef BACKLIGHT_ENABLE
+               case MACRO_BACKLIGHT:
+                       if (record->event.pressed)
+                       {
+                               backlight_step();
+                       }
+#endif
+
+#ifdef MOUSEKEY_ENABLE
+
+        case MACRO_MOUSE:
+            if (record->event.pressed)
+            {
+                layer_invert(LAYER_MOUSE);
+            }
+            break;
+
+#endif /* MOUSEKEY_ENABLE */
+
+#ifdef AUDIO_ENABLE
+
+        case MACRO_TIMBRE_1:
+            if (record->event.pressed) set_timbre(TIMBRE_12);
+            break;
+
+        case MACRO_TIMBRE_2:
+            if (record->event.pressed) set_timbre(TIMBRE_25);
+            break;
+
+        case MACRO_TIMBRE_3:
+            if (record->event.pressed) set_timbre(TIMBRE_50);
+            break;
+
+        case MACRO_TIMBRE_4:
+            if (record->event.pressed) set_timbre(TIMBRE_75);
+            break;
+
+        case MACRO_TEMPO_U:
+            if (record->event.pressed) increase_tempo(10);
+            break;
+
+        case MACRO_TEMPO_D:
+            if (record->event.pressed) decrease_tempo(10);
+            break;
+
+        case MACRO_TONE_DEFAULT:
+            if (record->event.pressed)
+            {
+                set_timbre(TIMBRE_DEFAULT);
+                set_tempo(TEMPO_DEFAULT);
+            }
+            break;
+
+        case MACRO_AUDIO_OFF:
+            if (record->event.pressed)
+            {
+                #ifdef AUDIO_ENABLE
+                    audio_off();
+                #endif
+            }
+            break;
+
+        case MACRO_AUDIO_ON:
+            if (record->event.pressed)
+            {
+                #ifdef AUDIO_ENABLE
+                    audio_on();
+                PLAY_NOTE_ARRAY(tone_audio_on, false, STACCATO);
+                #endif
+            }
+            break;
+
+        case MACRO_MUSIC_ON:
+            if (record->event.pressed)
+            {
+                #ifdef AUDIO_ENABLE
+                    PLAY_NOTE_ARRAY(tone_music_on, false, STACCATO);
+                    layer_on(LAYER_MUSIC);
+                #endif
+            }
+            break;
+
+        case MACRO_MUSIC_OFF:
+            if (record->event.pressed)
+            {
+                #ifdef AUDIO_ENABLE
+                    layer_off(LAYER_MUSIC);
+                    stop_all_notes();
+                #endif
+            }
+            break;
+
+        case MACRO_INC_VOICE:
+            if (record->event.pressed)
+            {
+                #ifdef AUDIO_ENABLE
+                    voice_iterate();
+                    PLAY_NOTE_ARRAY(music_scale, false, STACCATO);
+                #endif
+            }
+            break;
+
+        case MACRO_DEC_VOICE:
+            if (record->event.pressed)
+            {
+                #ifdef AUDIO_ENABLE
+                    voice_deiterate();
+                    PLAY_NOTE_ARRAY(music_scale, false, STACCATO);
+                #endif
+            }
+            break;
+
+#endif /* AUDIO_ENABLE */
+
+        default:
+            break;
+
+    }
+    return MACRO_NONE;
+};
+
+
+#ifdef AUDIO_ENABLE
+
+
+void process_action_user(keyrecord_t *record)
+{
+
+    uint8_t starting_note = 0x0C;
+    int offset = 7;
+
+    if (IS_LAYER_ON(LAYER_MUSIC))
+    {
+        if (record->event.pressed)
+        {
+            play_note(((double)220.0)*pow(2.0, -4.0)*pow(2.0,(starting_note + SCALE[record->event.key.col + offset])/12.0+(MATRIX_ROWS - record->event.key.row)), 0xF);
+        }
+        else
+        {
+            stop_note(((double)220.0)*pow(2.0, -4.0)*pow(2.0,(starting_note + SCALE[record->event.key.col + offset])/12.0+(MATRIX_ROWS - record->event.key.row)));
+        }
+    }
+}
+
+
+void matrix_init_user(void)
+{
+    set_voice(default_voice);
+    play_startup_tone();
+    println("Matrix Init");
+}
+
+void led_set_user(uint8_t usb_led)
+{
+    static uint8_t old_usb_led = 0;
+
+    _delay_ms(10); // gets rid of tick
+
+    if ((usb_led & (1<<USB_LED_CAPS_LOCK)) && !(old_usb_led & (1<<USB_LED_CAPS_LOCK)))
+    {
+            // If CAPS LK LED is turning on...
+            PLAY_NOTE_ARRAY(tone_caps_on,  false, LEGATO);
+    }
+    else if (!(usb_led & (1<<USB_LED_CAPS_LOCK)) && (old_usb_led & (1<<USB_LED_CAPS_LOCK)))
+    {
+            // If CAPS LK LED is turning off...
+            PLAY_NOTE_ARRAY(tone_caps_off, false, LEGATO);
+    }
+    else if ((usb_led & (1<<USB_LED_NUM_LOCK)) && !(old_usb_led & (1<<USB_LED_NUM_LOCK)))
+    {
+            // If NUM LK LED is turning on...
+            PLAY_NOTE_ARRAY(tone_numlk_on,  false, LEGATO);
+    }
+    else if (!(usb_led & (1<<USB_LED_NUM_LOCK)) && (old_usb_led & (1<<USB_LED_NUM_LOCK)))
+    {
+            // If NUM LED is turning off...
+            PLAY_NOTE_ARRAY(tone_numlk_off, false, LEGATO);
+    }
+    else if ((usb_led & (1<<USB_LED_SCROLL_LOCK)) && !(old_usb_led & (1<<USB_LED_SCROLL_LOCK)))
+    {
+            // If SCROLL LK LED is turning on...
+            PLAY_NOTE_ARRAY(tone_scroll_on,  false, LEGATO);
+    }
+    else if (!(usb_led & (1<<USB_LED_SCROLL_LOCK)) && (old_usb_led & (1<<USB_LED_SCROLL_LOCK)))
+    {
+            // If SCROLL LED is turning off...
+            PLAY_NOTE_ARRAY(tone_scroll_off, false, LEGATO);
+    }
+    old_usb_led = usb_led;
+}
+
+
+void play_startup_tone()
+{
+    _delay_ms(10); // gets rid of tick
+    PLAY_NOTE_ARRAY(tone_my_startup, false, STACCATO);
+}
+
+void play_goodbye_tone()
+{
+    PLAY_NOTE_ARRAY(tone_my_goodbye, false, STACCATO);
+    _delay_ms(1000);
+}
+
+#endif /* AUDIO_ENABLE */
\ No newline at end of file
diff --git a/keyboard/planck/keymaps/pvc/makefile.mk b/keyboard/planck/keymaps/pvc/makefile.mk
new file mode 100644 (file)
index 0000000..f7798b0
--- /dev/null
@@ -0,0 +1,17 @@
+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   = no  # Console for debug(+400)
+COMMAND_ENABLE   = yes # Commands for debug and configuration
+NKRO_ENABLE      = yes # 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      = no  # MIDI controls
+AUDIO_ENABLE     = yes # Audio output on port C6
+UNICODE_ENABLE   = no  # Unicode
+BLUETOOTH_ENABLE = no  # Enable Bluetooth with the Adafruit EZ-Key HID
+RGBLIGHT_ENABLE  = no  # Enable WS2812 RGB underlight.  Do not enable this with audio at the same time.
+
+# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
+SLEEP_LED_ENABLE = no  # Breathing sleep LED during USB suspend
+
+CONFIG_H = keymaps/$(KEYMAP)/config.h
\ No newline at end of file
diff --git a/keyboard/planck/keymaps/pvc_planck.c b/keyboard/planck/keymaps/pvc_planck.c
deleted file mode 100644 (file)
index 1de8acb..0000000
+++ /dev/null
@@ -1,179 +0,0 @@
-// This is the canonical layout file for the Quantum project. If you want to add another keyboard,
-// this is the style you want to emulate.
-
-#include "planck.h"
-#include "print.h"
-#include "action_layer.h"
-#ifdef BACKLIGHT_ENABLE
-  #include "backlight.h"
-#endif
-
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-// Layer names don't all need to be of the same length, obviously, and you can also skip them
-// entirely and just use numbers.
-#define _QW 0
-#define _CM 1
-#define _DV 2
-#define _LW 3
-#define _RS 4
-#define _FN 5
-
-#define XXXXXXX KC_NO
-#define _______ KC_TRNS
-
-#define ASFT(kc) LSFT(RSFT(kc))
-#define MG_B ASFT(KC_B)
-#define MG_H ASFT(KC_H)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-/* Qwerty
- * ,-----------------------------------------------------------------------------------.
- * | Tab  |   Q  |   W  |   E  |   R  |   T  |   Y  |   U  |   I  |   O  |   P  | Bksp |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Esc  |   A  |   S  |   D  |   F  |   G  |   H  |   J  |   K  |   L  |   ;  |  "   |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | Shift|   Z  |   X  |   C  |   V  |   B  |   N  |   M  |   ,  |   .  |  Up  |Enter |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Ctrl | GUI  | Alt  | Del  |Raise |    Space    |Lower |   /  | Left | Down |Right |
- * `-----------------------------------------------------------------------------------'
- */
-[_QW] = {
-  {RESET,   KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,    KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_BSPC},
-  {KC_ESC,  KC_A,    KC_S,    KC_D,    KC_F,    KC_G,    KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT},
-  {KC_LSFT, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_UP,   KC_ENT },
-  {KC_LCTL, KC_LGUI, KC_LALT, KC_DEL,  M(_LW),  KC_SPC,  KC_SPC,  M(_RS),  KC_SLSH, KC_LEFT, KC_DOWN, KC_RGHT}
-},
-
-/* Colemak
- * ,-----------------------------------------------------------------------------------.
- * | Tab  |   Q  |   W  |   F  |   P  |   G  |   J  |   L  |   U  |   Y  |   ;  | Bksp |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Esc  |   A  |   R  |   S  |   T  |   D  |   H  |   N  |   E  |   I  |   O  |  "   |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | Shift|   Z  |   X  |   C  |   V  |   B  |   K  |   M  |   ,  |   .  |   /  |Enter |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Brite| Ctrl | Alt  | GUI  |Raise |    Space    |Lower | Left | Down |  Up  |Right |
- * `-----------------------------------------------------------------------------------'
- */
-[_CM] = {
-  {KC_TAB,  KC_Q,    KC_W,    KC_F,    KC_P,    KC_G,    KC_J,    KC_L,    KC_U,    KC_Y,    KC_SCLN, KC_BSPC},
-  {KC_ESC,  KC_A,    KC_R,    KC_S,    KC_T,    KC_D,    KC_H,    KC_N,    KC_E,    KC_I,    KC_O,    KC_QUOT},
-  {KC_LSFT, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_K,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_ENT },
-  {M(0),    KC_LCTL, KC_LALT, KC_LGUI, MO(_LW), KC_SPC,  KC_SPC,  MO(_RS), KC_LEFT, KC_DOWN, KC_UP,   KC_RGHT}
-},
-
-/* Dvorak
- * ,-----------------------------------------------------------------------------------.
- * | Tab  |   "  |   ,  |   .  |   P  |   Y  |   F  |   G  |   C  |   R  |   L  | Bksp |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Esc  |   A  |   O  |   E  |   U  |   I  |   D  |   H  |   T  |   N  |   S  |  /   |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | Shift|   ;  |   Q  |   J  |   K  |   X  |   B  |   M  |   W  |   V  |   Z  |Enter |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Brite| Ctrl | Alt  | GUI  |Raise |    Space    |Lower | Left | Down |  Up  |Right |
- * `-----------------------------------------------------------------------------------'
- */
-[_DV] = {
-  {KC_TAB,  KC_QUOT, KC_COMM, KC_DOT,  KC_P,    KC_Y,    KC_F,    KC_G,    KC_C,    KC_R,    KC_L,    KC_BSPC},
-  {KC_ESC,  KC_A,    KC_O,    KC_E,    KC_U,    KC_I,    KC_D,    KC_H,    KC_T,    KC_N,    KC_S,    KC_SLSH},
-  {KC_LSFT, KC_SCLN, KC_Q,    KC_J,    KC_K,    KC_X,    KC_B,    KC_M,    KC_W,    KC_V,    KC_Z,    KC_ENT },
-  {M(0),    KC_LCTL, KC_LALT, KC_LGUI, MO(_LW), KC_SPC,  KC_SPC,  MO(_RS), KC_LEFT, KC_DOWN, KC_UP,   KC_RGHT}
-},
-
-/* Raise
- * ,-----------------------------------------------------------------------------------.
- * |   `  |   1  |   2  |   3  |   4  |   5  |   6  |   7  |   8  |   9  |   0  | Bksp |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Esc  |  F1  |  F2  |  F3  |  F4  |  F5  |  F6  |   -  |   =  |   [  |   ]  |  \   |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | Shift|  F7  |  F8  |  F9  |  F10 |  F11 |  F12 |Qwerty|Colemk|Dvorak| Reset|Enter |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Brite| Ctrl | Alt  | GUI  |Raise |    Space    |Lower | Next | Vol- | Vol+ | Play |
- * `-----------------------------------------------------------------------------------'
- */
-[_RS] = {
-  {KC_GRV,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_BSPC},
-  {_______, KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,   KC_MINS, KC_EQL,  KC_LBRC, KC_RBRC, KC_BSLS},
-  {_______, KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12,  XXXXXXX, XXXXXXX, XXXXXXX,   RESET, _______},
-  {_______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY}
-},
-
-/* Lower
- * ,-----------------------------------------------------------------------------------.
- * |   ~  |   !  |   @  |   #  |   $  |   %  |   ^  |   &  |   *  |   (  |   )  | Bksp |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Esc  |  F1  |  F2  |  F3  |  F4  |  F5  |  F6  |   _  |   +  |   {  |   }  |  |   |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | Shift|  F7  |  F8  |  F9  |  F10 |  F11 |  F12 |Qwerty|Colemk|Dvorak| Reset|Enter |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Brite| Ctrl | Alt  | GUI  |Raise |    Space    |Lower | Next | Vol- | Vol+ | Play |
- * `-----------------------------------------------------------------------------------'
- */
-[_LW] = {
-  {KC_TILD, KC_EXLM, KC_AT,   KC_HASH, KC_DLR,  KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC},
-  {_______, KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,   KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE},
-  {_______, KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12,  XXXXXXX, XXXXXXX, XXXXXXX,    MG_B, _______},
-  {_______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY}
-},
-
-/* Function
- * ,-----------------------------------------------------------------------------------.
- * |   ~  |   !  |   @  |   #  |   $  |   %  |   ^  |   &  |   *  |   (  |   )  | Bksp |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Esc  |  F1  |  F2  |  F3  |  F4  |  F5  |  F6  |   _  |   +  |   {  |   }  |  |   |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | Shift|  F7  |  F8  |  F9  |  F10 |  F11 |  F12 |Qwerty|Colemk|Dvorak| Reset|Enter |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Brite| Ctrl | Alt  | GUI  |Raise |    Space    |Lower | Next | Vol- | Vol+ | Play |
- * `-----------------------------------------------------------------------------------'
- */
-[_FN] = {
-  {XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX},
-  {XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX},
-  {XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET,   XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX},
-  {XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX}
-}
-};
-
-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 _RS:
-                       if (record->event.pressed) {
-                               print("RS_DN");
-                               layer_on(_RS);
-                               update_tri_layer(_RS, _LW, _FN);
-                       } else {
-                               print("RS_UP");
-                               layer_off(_RS);
-                               update_tri_layer(_RS, _LW, _FN);
-                               phex(layer_state);
-                       }
-                       break;
-
-               case _LW:
-                       if (record->event.pressed) {
-                               print("LW_DN");
-                               layer_on(_LW);
-                               update_tri_layer(_RS, _LW, _FN);
-                       } else {
-                               print("LW_UP");
-                               layer_off(_LW);
-                               update_tri_layer(_RS, _LW, _FN);
-                       }
-                       break;
-
-               default:
-                       break;
-       }
-       return MACRO_NONE;
-};
index 4b39cf1e8bd89ec8770d0ed8a198cb358b0aebaf..446353dbf5f111fd9e7c8bf15f18ce573da0a7d5 100644 (file)
@@ -9,6 +9,9 @@ void matrix_scan_user(void) {}
 __attribute__ ((weak))
 void process_action_user(keyrecord_t *record) {}
 
+__attribute__ ((weak))
+void led_set_user(uint8_t usb_led) {}
+
 void matrix_init_kb(void) {
 #ifdef BACKLIGHT_ENABLE
        backlight_init_ports();
@@ -32,3 +35,270 @@ void matrix_scan_kb(void) {
 void process_action_kb(keyrecord_t *record) {
        process_action_user(record);
 }
+
+void led_set_kb(uint8_t usb_led) {
+    // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here
+
+    led_set_user(usb_led);
+}
+
+#ifdef BACKLIGHT_ENABLE
+#define CHANNEL OCR1C
+#define BREATHING_NO_HALT  0
+#define BREATHING_HALT_OFF 1
+#define BREATHING_HALT_ON  2
+
+static uint8_t breath_intensity;
+static uint8_t breath_speed;
+static uint16_t breathing_index;
+static uint8_t breathing_halt;
+
+void backlight_init_ports()
+{
+
+    // Setup PB7 as output and output low.
+    DDRB |= (1<<7);
+    PORTB &= ~(1<<7);
+    
+    // Use full 16-bit resolution. 
+    ICR1 = 0xFFFF;
+
+    // I could write a wall of text here to explain... but TL;DW
+    // Go read the ATmega32u4 datasheet.
+    // And this: http://blog.saikoled.com/post/43165849837/secret-konami-cheat-code-to-high-resolution-pwm-on
+    
+    // Pin PB7 = OCR1C (Timer 1, Channel C)
+    // Compare Output Mode = Clear on compare match, Channel C = COM1C1=1 COM1C0=0
+    // (i.e. start high, go low when counter matches.)
+    // WGM Mode 14 (Fast PWM) = WGM13=1 WGM12=1 WGM11=1 WGM10=0
+    // Clock Select = clk/1 (no prescaling) = CS12=0 CS11=0 CS10=1
+    
+    TCCR1A = _BV(COM1C1) | _BV(WGM11); // = 0b00001010;
+    TCCR1B = _BV(WGM13) | _BV(WGM12) | _BV(CS10); // = 0b00011001;
+
+    backlight_init();
+    breathing_defaults();
+}
+
+void backlight_set(uint8_t level)
+{
+    // Prevent backlight blink on lowest level
+    PORTB &= ~(_BV(PORTB7));
+
+    if ( level == 0 )
+    {
+        // Turn off PWM control on PB7, revert to output low.
+        TCCR1A &= ~(_BV(COM1C1));
+        CHANNEL = 0x0;
+    }
+    else if ( level == BACKLIGHT_LEVELS )
+    {
+        // Turn on PWM control of PB7
+        TCCR1A |= _BV(COM1C1);
+        // Set the brightness
+        CHANNEL = 0xFFFF;
+    }
+    else        
+    {
+        // Turn on PWM control of PB7
+        TCCR1A |= _BV(COM1C1);
+        // Set the brightness
+        CHANNEL = 0xFFFF >> ((BACKLIGHT_LEVELS - level) * ((BACKLIGHT_LEVELS + 1) / 2));
+    }
+    breathing_intensity_default();
+}
+
+
+void breathing_enable(void)
+{
+    if (get_backlight_level() == 0)
+    {
+        breathing_index = 0;
+    }
+    else
+    {
+        // Set breathing_index to be at the midpoint (brightest point)
+        breathing_index = 0x20 << breath_speed;
+    }
+
+    breathing_halt = BREATHING_NO_HALT;
+
+    // Enable breathing interrupt
+    TIMSK1 |= _BV(OCIE1A);
+}
+
+void breathing_pulse(void)
+{
+    if (get_backlight_level() == 0)
+    {
+        breathing_index = 0;
+    }
+    else
+    {
+        // Set breathing_index to be at the midpoint + 1 (brightest point)
+        breathing_index = 0x21 << breath_speed;
+    }
+
+    breathing_halt = BREATHING_HALT_ON;
+
+    // Enable breathing interrupt
+    TIMSK1 |= _BV(OCIE1A);
+}
+
+void breathing_disable(void)
+{
+    // Disable breathing interrupt
+    TIMSK1 &= ~_BV(OCIE1A);
+    backlight_set(get_backlight_level());
+}
+
+void breathing_self_disable(void)
+{
+    if (get_backlight_level() == 0)
+    {
+        breathing_halt = BREATHING_HALT_OFF;
+    }
+    else
+    {
+        breathing_halt = BREATHING_HALT_ON;
+    }
+
+    //backlight_set(get_backlight_level());
+}
+
+void breathing_toggle(void)
+{
+    if (!is_breathing())
+    {
+        if (get_backlight_level() == 0)
+        {
+            breathing_index = 0;
+        }
+        else
+        {
+            // Set breathing_index to be at the midpoint + 1 (brightest point)
+            breathing_index = 0x21 << breath_speed;
+        }
+
+        breathing_halt = BREATHING_NO_HALT;
+    }
+
+    // Toggle breathing interrupt
+    TIMSK1 ^= _BV(OCIE1A);
+
+    // Restore backlight level
+    if (!is_breathing())
+    {
+        backlight_set(get_backlight_level());
+    }
+}
+
+bool is_breathing(void)
+{
+    return (TIMSK1 && _BV(OCIE1A));
+}
+
+void breathing_intensity_default(void)
+{
+    //breath_intensity = (uint8_t)((uint16_t)100 * (uint16_t)get_backlight_level() / (uint16_t)BACKLIGHT_LEVELS);
+    breath_intensity = ((BACKLIGHT_LEVELS - get_backlight_level()) * ((BACKLIGHT_LEVELS + 1) / 2));
+}
+
+void breathing_intensity_set(uint8_t value)
+{
+    breath_intensity = value;
+}
+
+void breathing_speed_default(void)
+{
+    breath_speed = 4;
+}
+
+void breathing_speed_set(uint8_t value)
+{
+    bool is_breathing_now = is_breathing();
+    uint8_t old_breath_speed = breath_speed;
+
+    if (is_breathing_now)
+    {
+        // Disable breathing interrupt
+        TIMSK1 &= ~_BV(OCIE1A);
+    }
+
+    breath_speed = value;
+
+    if (is_breathing_now)
+    {
+        // Adjust index to account for new speed
+        breathing_index = (( (uint8_t)( (breathing_index) >> old_breath_speed ) ) & 0x3F) << breath_speed;
+
+        // Enable breathing interrupt
+        TIMSK1 |= _BV(OCIE1A);
+    }
+
+}
+
+void breathing_speed_inc(uint8_t value)
+{
+    if ((uint16_t)(breath_speed - value) > 10 )
+    {
+        breathing_speed_set(0);
+    }
+    else
+    {
+        breathing_speed_set(breath_speed - value);
+    }
+}
+
+void breathing_speed_dec(uint8_t value)
+{
+    if ((uint16_t)(breath_speed + value) > 10 )
+    {
+        breathing_speed_set(10);
+    }
+    else
+    {
+        breathing_speed_set(breath_speed + value);
+    }
+}
+
+void breathing_defaults(void)
+{
+    breathing_intensity_default();
+    breathing_speed_default();
+    breathing_halt = BREATHING_NO_HALT;
+}
+
+/* Breathing Sleep LED brighness(PWM On period) table
+ * (64[steps] * 4[duration]) / 64[PWM periods/s] = 4 second breath cycle
+ *
+ * http://www.wolframalpha.com/input/?i=%28sin%28+x%2F64*pi%29**8+*+255%2C+x%3D0+to+63
+ * (0..63).each {|x| p ((sin(x/64.0*PI)**8)*255).to_i }
+ */
+static const uint8_t breathing_table[64] PROGMEM = {
+  0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   1,   2,   4,   6,  10,
+ 15,  23,  32,  44,  58,  74,  93, 113, 135, 157, 179, 199, 218, 233, 245, 252,
+255, 252, 245, 233, 218, 199, 179, 157, 135, 113,  93,  74,  58,  44,  32,  23,
+ 15,  10,   6,   4,   2,   1,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+};
+
+ISR(TIMER1_COMPA_vect)
+{
+    // CHANNEL = (pgm_read_byte(&breathing_table[ ( (uint8_t)( (breathing_index++) >> breath_speed ) ) & 0x3F ] )) * breath_intensity;
+
+
+    uint8_t local_index = ( (uint8_t)( (breathing_index++) >> breath_speed ) ) & 0x3F;
+
+    if (((breathing_halt == BREATHING_HALT_ON) && (local_index == 0x20)) || ((breathing_halt == BREATHING_HALT_OFF) && (local_index == 0x3F)))
+    {
+        // Disable breathing interrupt
+        TIMSK1 &= ~_BV(OCIE1A);
+    }
+
+    CHANNEL = (uint16_t)(((uint16_t)pgm_read_byte(&breathing_table[local_index]) * 257)) >> breath_intensity;
+
+}
+
+
+
+#endif
\ No newline at end of file
index edcb5fbff6d84d549634ac9e38b7a285df882a3c..cfd4956bf16927b9aefc01fcbb236f968ffab0b0 100644 (file)
@@ -10,6 +10,7 @@
   #include "rgblight.h"
 #endif
 #include <stddef.h>
+#include <avr/io.h>
 #ifdef MIDI_ENABLE
        #include <keymap_midi.h>
 #endif
@@ -44,4 +45,22 @@ void matrix_init_user(void);
 void matrix_scan_user(void);
 void process_action_user(keyrecord_t *record);
 
+void led_set_user(uint8_t usb_led);
+void backlight_init_ports(void);
+
+void breathing_enable(void);
+void breathing_pulse(void);
+void breathing_disable(void);
+void breathing_self_disable(void);
+void breathing_toggle(void);
+bool is_breathing(void);
+
+
+void breathing_defaults(void);
+void breathing_intensity_default(void);
+void breathing_speed_default(void);
+void breathing_speed_set(uint8_t value);
+void breathing_speed_inc(uint8_t value);
+void breathing_speed_dec(uint8_t value);
+
 #endif
index 889af7f2253408ae4171023e47f34b502b26f705..bd68d9e904ba50ade1542dad5ccbf1e280c73893 100644 (file)
@@ -1,73 +1,73 @@
-:100000000C94FE040C9442050C9442050C94420599\r
-:100010000C9442050C9442050C9442050C94420544\r
-:100020000C9442050C9442050C94A6180C94781973\r
-:100030000C94DB270C9442050C9442050C94420569\r
-:100040000C9442050C9442050C9442050C94420514\r
-:100050000C9442050C9443280C9442050C944205E0\r
-:100060000C9442050C9442050C9442050C944205F4\r
-:100070000C9442050C9442050C9442050C944205E4\r
-:100080000C94D10E0C9442050C9442050C9442053C\r
-:100090000C9442050C9442050C9442050C944205C4\r
-:1000A0000C9442050C9442050C9442059D05AD0547\r
-:1000B000BF05CF05D505E405F005F60504060D06D8\r
-:1000C0001E062E06340664069013901390139013A8\r
-:1000D000901390139013901390139013A713A713DA\r
-:1000E000A713A713A713A713A713A713A713A71340\r
-:1000F00090139013901390139013A713A713A713A3\r
-:10010000A713A713901390139013A713A713A71364\r
-:10011000E519071AF51A071AF51A4C1A6F1AF51A83\r
-:10012000C41AD71ADA1DDA1D171E171E711EAF1E4C\r
-:1001300027212721C81E2721C91FC91F8C20A320C2\r
-:100140002721122107634236B79BD8A71A39685670\r
-:1001500018AEBAAB558C1D3CB7CC5763BD6DEDFDE9\r
-:10016000753EF6177231BF000000803F08000000A6\r
-:10017000BE922449123EABAAAA2ABECDCCCC4C3E9C\r
-:1001800000000080BEABAAAAAA3E00000000BF008B\r
-:100190000000803F0000000000084178D3BB438787\r
-:1001A000D1133D190E3CC3BD4282AD2B3E68EC829B\r
-:1001B00076BED98FE1A93E4C80EFFFBE01C4FF7F20\r
-:1001C0003F00000000002B0014001A00080015007A\r
-:1001D00017001C0018000C00120013002A00290050\r
-:1001E00004001600070009000A000B000D000E00B5\r
-:1001F0000F0033003400E1001D001B000600190051\r
-:1002000005001100100036003700380028000530C6\r
-:10021000E000E200E30003302C002C00043050002A\r
-:10022000510052004F002B0014001A000900130067\r
-:100230000A000D000F0018001C0033002A002900DE\r
-:10024000040015001600170007000B00110008003D\r
-:100250000C0012003400E1001D001B000600190014\r
-:1002600005000E0010003600370038002800053069\r
-:10027000E000E200E30003302C002C0004305000CA\r
-:10028000510052004F002B0034003600370013009D\r
-:100290001C0009000A00060015000F002A002900B2\r
-:1002A00004001200080018000C0007000B001700E3\r
-:1002B000110016003800E100330014000D000E009C\r
-:1002C0001B00050010001A0019001D002800053051\r
-:1002D000E000E200E30003302C002C00043050006A\r
-:1002E000510052004F0035021E021F02200221025F\r
-:1002F0002202230224022502260227022A004C00A1\r
-:100300003A003B003C003D003E003F002D022E0223\r
-:100310002F02300231020100400041004200430040\r
-:10032000440045000100010001000100010001003E\r
-:100330000100010001000100010001000100AB000B\r
-:10034000AA00A900AE0035001E001F0020002100F9\r
-:100350002200230024002500260027002A004C004C\r
-:100360003A003B003C003D003E003F002D002E00C7\r
-:100370002F003000310001004000410042004300E6\r
-:1003800044004500010001000100010001000100DE\r
-:100390000100010001000100010001000100AB00AB\r
-:1003A000AA00A900AE00000000000000000000004C\r
-:1003B000000000000000000000000000000000003D\r
-:1003C000000000000000000000000000000000002D\r
-:1003D000000000000000000000000000000000001D\r
-:1003E000000000000000000000000000000000000D\r
-:1003F0000000000000000330000000000430000096\r
-:100400000000000000001E001E001E001E001E0056\r
-:100410001E001E001E001E001E001E001E0000000A\r
-:1004200014001A000800150017001C0018000C002A\r
-:10043000120013002F00000004001600070009003E\r
-:100440000A000B000D000E000F00330034000D30C9\r
-:10045000000000000600190000000000110010005C\r
+:100000000C94DA040C941E050C941E050C941E0529\r
+:100010000C941E050C941E050C941E050C941E05D4\r
+:100020000C941E050C941E050C94B7180C94891999\r
+:100030000C94EC270C941E050C941E050C941E05C4\r
+:100040000C941E050C941E050C941E050C941E05A4\r
+:100050000C941E050C9454280C941E050C941E053B\r
+:100060000C941E050C941E050C941E050C941E0584\r
+:100070000C941E050C941E050C941E050C941E0574\r
+:100080000C94AD0E0C941E050C941E050C941E05CC\r
+:100090000C941E050C941E050C941E050C941E0554\r
+:1000A0000C941E050C941E050C941E0579058905FB\r
+:1000B0009B05AB05B105C005CC05D205E005E905FA\r
+:1000C000FA050A0610064006F619181A061B181A31\r
+:1000D000061B5D1A801A061BD51AE81AEB1DEB1DCC\r
+:1000E000281E281E821EC01E38213821D91E382104\r
+:1000F000DA1FDA1F9D20B4203821232107634236FE\r
+:10010000B79BD8A71A39685618AEBAAB558C1D3CA8\r
+:10011000B7CC5763BD6DEDFD753EF6177231BF006C\r
+:100120000000803F08000000BE922449123EABAAA6\r
+:10013000AA2ABECDCCCC4C3E00000080BEABAAAA01\r
+:10014000AA3E00000000BF000000803F0000000049\r
+:1001500000084178D3BB4387D1133D190E3CC3BD82\r
+:100160004282AD2B3E68EC8276BED98FE1A93E4C2F\r
+:1001700080EFFFBE01C4FF7F3F00000000002B00A6\r
+:1001800014001A000800150017001C0018000C00CD\r
+:10019000120013002A0029000400160007000900BD\r
+:1001A0000A000B000D000E000F0033003400E100C8\r
+:1001B0001D001B000600190005001100100036008C\r
+:1001C0003700380028000530E000E200E30003308B\r
+:1001D0002C002C0004305000510052004F002B0026\r
+:1001E00014001A00090013000A000D000F00180087\r
+:1001F0001C0033002A002900040015001600170017\r
+:1002000007000B00110008000C0012003400E10090\r
+:100210001D001B000600190005000E00100036002E\r
+:100220003700380028000530E000E200E30003302A\r
+:100230002C002C0004305000510052004F002B00C5\r
+:1002400034003600370013001C0009000A000600C5\r
+:1002500015000F002A0029000400120008001800F1\r
+:100260000C0007000B001700110016003800E10019\r
+:10027000330014000D000E001B00050010001A00D2\r
+:1002800019001D0028000530E000E200E300033003\r
+:100290002C002C0004305000510052004F00350259\r
+:1002A0001E021F0220022102220223022402250232\r
+:1002B000260227022A004C003A003B003C003D0089\r
+:1002C0003E003F002D022E022F02300231020100BB\r
+:1002D000400041004200430044004500010001008D\r
+:1002E0000100010001000100010001000100010006\r
+:1002F000010001000100AB00AA00A900AE0035001A\r
+:100300001E001F00200021002200230024002500E1\r
+:10031000260027002A004C003A003B003C003D002C\r
+:100320003E003F002D002E002F0030003100010064\r
+:10033000400041004200430044004500010001002C\r
+:1003400001000100010001000100010001000100A5\r
+:10035000010001000100AB00AA00A900AE000000EE\r
+:10036000000000000000000000000000000000008D\r
+:10037000000000000000000000000000000000007D\r
+:10038000000000000000000000000000000000006D\r
+:10039000000000000000000000000000000000005D\r
+:1003A000000000000000000000000000000003301A\r
+:1003B00000000000043000000000000000001E00EB\r
+:1003C0001E001E001E001E001E001E001E001E003D\r
+:1003D0001E001E001E00000014001A000800150078\r
+:1003E00017001C0018000C00120013002F00000062\r
+:1003F00004001600070009000A000B000D000E00A3\r
+:100400000F00330034000D3000000000060019001A\r
+:1004100000000000110010000000000000000000BB\r
+:1004200000000000000000000000000000000000CC\r
+:1004300000000000000000000000000000000000BC\r
+:1004400000000000000000000000000000000000AC\r
+:10045000000000000000000000000000000000009C\r
 :10046000000000000000000000000000000000008C\r
 :10047000000000000000000000000000000000007C\r
 :10048000000000000000000000000000000000006C\r
 :1007400000000000000000000000000000000000A9\r
 :100750000000000000000000000000000000000099\r
 :100760000000000000000000000000000000000089\r
-:100770000000000000000000000000000000000079\r
-:100780000000000000000000000000000000000069\r
-:100790000000000000000000000000000000000059\r
-:1007A0000000000000000000000000000000000049\r
-:1007B0000000000000000000000000000000000039\r
-:1007C00000000000000001000050010001000100D5\r
-:1007D0000100010001000100010001004C000100C6\r
-:1007E0000100010007300630135012500030013074\r
-:1007F00002300C30010001000B300A3009300830A3\r
-:1008000001000100010001000100010001000100E0\r
-:1008100001000100010001000100010001000100D0\r
-:100820000100010001002803540068006500200059\r
-:1008300050006C0061006E0063006B0020004B00F4\r
-:100840006500790062006F006100720064000000C2\r
-:100850002C034F007200740068006F006C00690088\r
-:100860006E0065006100720020004B006500790099\r
-:1008700062006F00610072006400730000000403F6\r
-:10088000090409026D00040100A0FA090400000136\r
-:1008900003010100092111010001223F0007058128\r
-:1008A0000308000A090401000103010200092111E3\r
-:1008B000010001224D000705820308000A09040215\r
-:1008C0000001030000000921110100012236000788\r
-:1008D00005830308000A090403000103000000095E\r
-:1008E00021110100012239000705840310000112C3\r
-:1008F00001100100000008EDFE606001000102002F\r
-:100900000105010906A101050719E029E7150025E0\r
-:1009100001950875018102050819012905950575DC\r
-:1009200001910295017503910105071900297715B9\r
-:10093000002501957875018102C005010980A1019A\r
-:10094000850216010026B7001A01002AB7007510AB\r
-:1009500095018100C0050C0901A101850316010064\r
-:10096000269C021A01002A9C02751095018100C084\r
-:1009700005010902A1010901A100050919012905C3\r
-:100980001500250195057501810295017503810109\r
-:100990000501093009311581257F95027508810609\r
-:1009A00009381581257F950175088106050C0A38DF\r
-:1009B000021581257F950175088106C0C0050109D2\r
-:1009C00006A101050719E029E7150025019508751D\r
-:1009D0000181029501750881010508190129059514\r
-:1009E000057501910295017503910105071900290B\r
-:1009F000FF150025FF950675088100C011241FBE54\r
-:100A0000CFEFDAE0DEBFCDBF04B603FE24C0809195\r
-:100A1000190490911A04A0911B04B0911C04873012\r
-:100A2000904BA740B04BB9F41092190410921A04DD\r
-:100A300010921B0410921C0414BE84B7877F84BFDD\r
-:100A400088E10FB6F89480936000109260000FBEAA\r
-:100A5000E0E0F8E3099513E0A0E0B1E0E4E8F3E6B4\r
-:100A600002C005900D92A431B107D9F714E0A4E1BA\r
-:100A7000B3E001C01D92A931B107E1F70E94EC1566\r
-:100A80000C94C0310C940000279A2F988FEF9FEFA1\r
-:100A900090938700809386008AE08093800089E1AC\r
-:100AA000809381000C94452D282F81110BC08091DB\r
-:100AB0008000877F8093800010928D0010928C00C0\r
-:100AC0002F9808952F9880918000886080938000EF\r
-:100AD000233019F48FEF9FEF0FC083E090E0821B6B\r
-:100AE0009109880F991F2FEF3FEFA90102C056957A\r
-:100AF00047958A95E2F7CA0190938D0080938C0008\r
-:100B00000895CF93DF93EC010E94DC28BE0180E0C2\r
-:100B100090E0DF91CF910C9407250F931F93462F00\r
-:100B200050E04E30510508F0DEC0DC01FA01EA5A0F\r
-:100B3000FF4F12968C910C948431882309F4D3C012\r
-:100B400000E010E0980140E064E070E08BE292E0A9\r
-:100B50000E944F1281E090E00FC0882309F4C3C0C7\r
-:100B600000E010E0980140E066E070E08BEB91E07F\r
-:100B70000E944F1282E090E00E948105B4C0882359\r
-:100B800009F4B1C000E010E0980140E068E070E0D6\r
-:100B90008BEE91E00E944F1284E090E0EDCF88232D\r
-:100BA00011F083E005C083E00CC0882349F084E0A5\r
-:100BB0000E94842540E164E083E00E94910A93C092\r
-:100BC00084E00E94A525F6CF882331F085EE0E94AF\r
-:100BD0006E1C0E949C2D87C085EE0E94361D83C02E\r
-:100BE000882309F480C00E94E30D7DC0882309F4A6\r
-:100BF0007AC00E94DC0D00E010E0980140E065E062\r
-:100C000070E08BE492E027C0882309F46CC085E093\r
-:100C10000E94A5250E94040E66C0882309F463C0C3\r
-:100C200000E010E0980140E068E070E08BE191E0C6\r
-:100C30000E944F1285E00E94842555C0882309F444\r
-:100C400052C00E94E21200E010E0980140E068E02B\r
-:100C500070E08BE191E00E944F1245C0882309F4B7\r
-:100C600042C00E94ED12EFCF8823E9F100E010E0CE\r
-:100C7000980140E066E070E08BE891E00E944F123E\r
-:100C800084E00E94A52583E00E94A52580E10E94C2\r
-:100C9000A52585E00E94A5250E94040E86E00E94FD\r
-:100CA00084250E94C928811102C00E94A5280E94A3\r
-:100CB000E12890E090931804809317048068809353\r
-:100CC00017040E94E5280FC0882369F000E010E0B7\r
-:100CD000980140E066E070E08BE591E00E944F12E1\r
-:100CE00086E00E94A52580E090E01F910F91089575\r
-:100CF0000F931F932FEF89EF90E021508040904099\r
-:100D0000E1F700C0000000E010E0980140E065E07D\r
-:100D100070E08BE492E00E944F121F910F910895B2\r
-:100D20000F931F9300E010E0980140E063E070E053\r
-:100D300083E091E00E944F122FEF82E597E021506F\r
-:100D400080409040E1F700C000001F910F9108958E\r
-:100D5000CF92DF92EF92FF920F931F93CF93DF9387\r
-:100D6000CDB7DEB7CC58D1090FB6F894DEBF0FBEB1\r
-:100D7000CDBF2091D10325FFC5C08C01FC0192811C\r
-:100D800080910201992309F460C096E4E0E9F2E061\r
-:100D9000DE01A95BBF4F01900D929A95E1F7F80132\r
-:100DA0009081E0910001F0910101E90FF11DEE0F3A\r
-:100DB000FF1F27E430E02C0F3D1FE20FF31F60817F\r
-:100DC0007181680F711D882777FD8095982F0E948B\r
-:100DD000E02E20E030E040E451E40E94452E6B011B\r
-:100DE0007C01F801218184E090E0821B9109BC0123\r
-:100DF000882777FD8095982F0E94E02E9B01AC01FB\r
-:100E0000C701B6010E94DD2D9B01AC0160E070E0DE\r
-:100E100080E090E40E94F72F20E030E04CE551E4C0\r
-:100E20000E94942F4FE050E0C457DF4F0FB6F89464\r
-:100E3000DEBF0FBECDBFDF91CF911F910F91FF900D\r
-:100E4000EF90DF90CF900C94EF1196E4E0E9F2E0A0\r
-:100E5000DE01119601900D929A95E1F7F8019081CB\r
-:100E6000E0910001F0910101E90FF11DEE0FFF1F6C\r
-:100E700021E030E02C0F3D1FE20FF31F60817181F4\r
-:100E8000680F711D882777FD8095982F0E94E02EAE\r
-:100E900020E030E040E451E40E94452E6B017C01EB\r
-:100EA000F801218184E090E0821B9109BC01882730\r
-:100EB00077FD8095982F0E94E02E9B01AC01C70121\r
-:100EC000B6010E94DD2D9B01AC0160E070E080E086\r
-:100ED00090E40E94F72F20E030E04CE551E40E94BE\r
-:100EE000942FC457DF4F0FB6F894DEBF0FBECDBFAF\r
-:100EF000DF91CF911F910F91FF90EF90DF90CF90F6\r
-:100F00000C94370EC457DF4F0FB6F894DEBF0FBEF8\r
-:100F1000CDBFDF91CF911F910F91FF90EF90DF90A8\r
-:100F2000CF90089508950E9444056E9A769A0C9485\r
-:100F300078060C9492070C94A8060895880F991FC0\r
-:100F4000FC01EA5BFF4F859194910895880F991FEA\r
-:100F5000FC01EA53FE4F8591949108950F931F93DE\r
-:100F6000CF93DF93EC01811520E49207A0F5C11522\r
-:100F700080E3D80708F0E1C0C83ED105D8F4C03EF0\r
-:100F8000D10508F0EEC1C83AD10578F4C53AD105CB\r
-:100F900008F074C0C130D10509F46DC008F4DEC199\r
-:100FA000C430D10508F0DDC1D9C1CB3BD10508F46F\r
-:100FB00070C0D4C1C11590E2D90708F0B9C0C115FD\r
-:100FC00021E0D20708F0CDC1C03FD10508F4C6C169\r
-:100FD0008E01106506C2C13080E5D80709F4BDC096\r
-:100FE00068F5C13120E4D20709F4AEC050F4C03135\r
-:100FF00090E4D90708F0A5C0CF70DD278E01146DED\r
-:10100000F0C1C33120E4D20709F4A4C008F49FC0A2\r
-:10101000C115D04509F0A2C10E944B210E94040EC7\r
-:101020000E9490069FEF24E38CE091502040804086\r
-:10103000E1F700C000000E946828D3C1C11520E676\r
-:10104000D20730F4C11581E5D80708F48CC02DC152\r
-:10105000C11590E7D90708F481C1C11520E8D2076E\r
-:1010600008F478C1C11580E9D80708F077C1DF70AE\r
-:101070008E01106AB6C101E010E0B3C1C53AD105D6\r
-:1010800009F471C1C63AD10509F070C102E810E453\r
-:10109000A8C1C83AD10509F46CC1C93AD10509F40F\r
-:1010A0006BC1CA3AD10509F46AC1CB3AD10509F43A\r
-:1010B00069C1CC3AD10509F468C1CD3AD10509F42A\r
-:1010C00067C1C03BD10509F466C1CE3AD10509F428\r
-:1010D00065C1CF3AD10509F464C1C13BD10509F41A\r
-:1010E00063C1C23BD10509F462C1C33BD10509F418\r
-:1010F00061C1C43BD10509F460C1C53BD10509F408\r
-:101100005FC1C63BD10509F45EC1C73BD10509F4F7\r
-:101110005DC1C83BD10509F45CC1C93BD10509F4E7\r
-:101120005BC1CA3BD10509F45AC100E014E459C1BE\r
-:10113000CE019F700E94A60755C1DD278E01106C5D\r
-:1011400050C100E011ED4DC100E010ED4AC100E0DA\r
-:1011500012ED47C100E013ED44C18091ED038160C1\r
-:101160008093ED033EC10E94C928811102C00E94F4\r
-:10117000A5280E94E12890E090931804809317041A\r
-:10118000C23090E5D90721F480911704816086C0B0\r
-:10119000C43020E5D20721F48091170482607EC01C\r
-:1011A000C63080E5D80721F480911704846076C0AA\r
-:1011B000C83090E5D90719F48091170427C0CA30C8\r
-:1011C00020E5D20721F480911704806167C0CC30FC\r
-:1011D00080E5D80721F48091170480625FC0CE308B\r
-:1011E00090E5D90721F480911704806457C0C0317D\r
-:1011F00020E5D20721F48091170480684FC0C231E6\r
-:1012000080E5D80729F4809117048460886046C07F\r
-:10121000C33090E5D90721F4809117048E7F3EC03A\r
-:10122000C53020E5D20721F4809117048D7F36C0A8\r
-:10123000C73080E5D80721F4809117048B7F2EC03A\r
-:10124000C93090E5D90719F48091170426C0CB3036\r
-:1012500020E5D20721F4809117048F7E1FC0CD3086\r
-:1012600080E5D80721F4809117048F7D17C0CF3017\r
-:1012700090E5D90721F4809117048F7B0FC0C1310D\r
-:1012800020E5D20721F4809117048F7707C0C3317E\r
-:10129000D04531F4809117048B7F877F80931704AA\r
-:1012A000809117040E94E5289CC08D2F99278F708C\r
-:1012B000992781309105D9F49E012370332702C00C\r
-:1012C000880F991F2A95E2F79C688E0144E0000F71\r
-:1012D000111F4A95E1F700271370802B912B53E0E3\r
-:1012E000CC0FDD1F5A95E1F7C076DD272FC0823085\r
-:1012F000910531F4DC2FCC278E01016F106A71C08B\r
-:101300008330910569F4CE018370992701E010E0E4\r
-:1013100002C0000F111F8A95E2F7C8019C680FC038\r
-:10132000049709F05EC0CE018370992701E010E0B8\r
-:1013300002C0000F111F8A95E2F7C8019A6823E0E6\r
-:10134000CC0FDD1F2A95E1F7C07ED7708C010C2BE6\r
-:101350001D2B47C0DF708E01106243C000E010E01B\r
-:1013600040C08E013EC001E810E43BC003E810E439\r
-:1013700038C002EE14E435C009EE14E432C00AEEBF\r
-:1013800014E42FC005EB14E42CC006EB14E429C0D0\r
-:1013900007EB14E426C00CEC14E423C00DEC14E4B9\r
-:1013A00020C003E815E41DC00AE815E41AC002E9EC\r
-:1013B00015E417C004E915E414C001E216E411C0F5\r
-:1013C00003E216E40EC004E216E40BC005E216E4E4\r
-:1013D00008C006E216E405C007E216E402C00AE20D\r
-:1013E00016E4C801DF91CF911F910F9108959CE001\r
-:1013F000799FF001112490E3899FE00DF11D1124E4\r
-:10140000E60FF11DEE0FFF1FEA53FE4F85919491F9\r
-:10141000803E9105E0F4803C910558F581339105BB\r
-:1014200009F46FC048F48932910509F463C08A3227\r
-:10143000910509F46DC072C089339105E9F08238D5\r
-:101440009105D1F08533910509F44DC067C0833E05\r
-:10145000910581F138F4803E9105B9F0823E910505\r
-:10146000D9F05CC0863E910561F1873E9105A1F1FE\r
-:1014700055C00E949E0708952091170420FD02C0C8\r
-:1014800021FF4CC080EE90E049C08091170480FF9E\r
-:10149000F9CF89E390E042C08091170482FF0EC02B\r
-:1014A0008091170484FF03C080E090E037C083EE92\r
-:1014B00090E034C08091170482FFF2CF82EE90E07A\r
-:1014C0002DC08091170483FF0BC08091170484FD09\r
-:1014D000EBCF87EE90E022C08091170483FFF5CF19\r
-:1014E00086EE90E01BC08091170485FF07C089E25B\r
-:1014F00090E014C08091170485FFF9CF85E390E058\r
-:101500000DC08091170486FF07C08AE290E006C0F4\r
-:101510008091170486FFF9CF81E390E00E94AE0727\r
-:101520000895CF92DF92EF92FF920F931F9301E005\r
-:1015300010E020E030E06801790104C0CC0CDD1C33\r
-:10154000EE1CFF1C8A95D2F704C0000F111F221F4A\r
-:10155000331F6A95D2F70C291D292E293F29C090E7\r
-:10156000D103D090D203E090D303F090D403C022F3\r
-:10157000D122E222F322842FC016D106E206F3061E\r
-:1015800041F41F910F91FF90EF90DF90CF900C945A\r
-:1015900084251F910F91FF90EF90DF90CF900C94D6\r
-:1015A000A52508950C94D10A5F926F927F928F9235\r
-:1015B0009F92AF92BF92CF92DF92EF92FF920F93E2\r
-:1015C0001F93CF93DF93CDB7DEB728970FB6F8946C\r
-:1015D000DEBF0FBECDBFCE0101966C014E0199E07A\r
-:1015E000890E911C20E030E040E050E060E070E0C7\r
-:1015F00000E010E0E12CF12C6C2C5D2C88E0782EC2\r
-:10160000AA24A394B12CE6EDF2E0A62DB52D872DEA\r
-:1016100001900D928A95E1F7F601819191916F0108\r
-:10162000FC01E07FFF27E032F10559F48F70992724\r
-:10163000F50102C0EE0FFF1F8A95E2F7EE2AFF2A9E\r
-:1016400037C0E033F10559F48F709927F50102C0D6\r
-:10165000EE0FFF1F8A95E2F70E2B1F2B29C0E034F7\r
-:10166000F10559F48F709927F50102C0EE0FFF1FA5\r
-:101670008A95E2F76E2B7F2B1BC0E035F10559F4FC\r
-:101680008F709927F50102C0EE0FFF1F8A95E2F7D0\r
-:101690004E2B5F2B0DC0E036F10551F48F7099276A\r
-:1016A000F50102C0EE0FFF1F8A95E2F72E2B3F2BAC\r
-:1016B000C814D90409F0A7CF84B19E2D9095892331\r
-:1016C00084B985B1E82AE5B887B1902F9095892330\r
-:1016D00087B988B1082B08B98AB1962F90958923CC\r
-:1016E0008AB98BB1682B6BB98DB1942F90958923F2\r
-:1016F0008DB98EB1482B4EB980B3922F9095892326\r
-:1017000080BB81B3282B21BB28960FB6F894DEBF8F\r
-:101710000FBECDBFDF91CF911F910F91FF90EF9042\r
-:10172000DF90CF90BF90AF909F908F907F906F9001\r
-:101730005F9008955F926F927F928F929F92AF9287\r
-:10174000BF92CF92DF92EF92FF920F931F93CF93AE\r
-:10175000DF93CDB7DEB768970FB6F894DEBF0FBE44\r
-:10176000CDBF85B7806885BF85B7806885BF0E947B\r
-:10177000D40ACE0101966C014E0199E1890E911CAB\r
-:1017800020E030E040E050E060E070E000E010E099\r
-:10179000E12CF12C6C2C5D2C88E1782EAA24A394EA\r
-:1017A000B12CEEEDF2E0A62DB52D872D01900D9216\r
-:1017B0008A95E1F7F601819191916F01FC01E07F3B\r
-:1017C000FF27E032F10559F48F709927F50102C027\r
-:1017D000EE0FFF1F8A95E2F7EE2AFF2A37C0E033AB\r
-:1017E000F10559F48F709927F50102C0EE0FFF1F24\r
-:1017F0008A95E2F70E2B1F2B29C0E034F10559F42E\r
-:101800008F709927F50102C0EE0FFF1F8A95E2F74E\r
-:101810006E2B7F2B1BC0E035F10559F48F70992793\r
-:10182000F50102C0EE0FFF1F8A95E2F74E2B5F2BEA\r
-:101830000DC0E036F10551F48F709927F50102C013\r
-:10184000EE0FFF1F8A95E2F72E2B3F2BC814D90409\r
-:1018500009F0A7CF84B19E2D9095892384B985B1D5\r
-:10186000E82AE5B887B1902F9095892387B988B188\r
-:10187000082B08B98AB1962F909589238AB98BB124\r
-:10188000682B6BB98DB1942F909589238DB98EB14A\r
-:10189000482B4EB980B3922F9095892380BB81B39A\r
-:1018A000282B21BB10921D0310921C0310921503CC\r
-:1018B0001092140310921F0310921E03109217032C\r
-:1018C0001092160310922103109220031092190314\r
-:1018D00010921803109223031092220310921B03FC\r
-:1018E00010921A0368960FB6F894DEBF0FBECDBFF4\r
-:1018F000DF91CF911F910F91FF90EF90DF90CF90EC\r
-:10190000BF90AF909F908F907F906F905F900C945E\r
-:1019100093077F928F929F92AF92BF92CF92DF9266\r
-:10192000EF92FF920F931F93CF93DF93CDB7DEB764\r
-:10193000A0970FB6F894DEBF0FBECDBF6E0149E190\r
-:10194000C40ED11C84E1E82E83E0F82E98E0792EB5\r
-:10195000BC2CAD2C01E010E028E1822E35E0932E66\r
-:10196000E6EDF2E0AB2DBA2D872D01900D928A9510\r
-:10197000E1F7F601819191916F019C01207F33275E\r
-:101980002032310591F424B18F709927A80102C04B\r
-:10199000440F551F8A95E2F7CA01922F982B94B9EC\r
-:1019A00095B18095892385B953C02033310591F4D1\r
-:1019B00027B18F709927F80102C0EE0FFF1F8A959B\r
-:1019C000E2F7CF01922F982B97B998B18095892390\r
-:1019D00088B93EC02034310591F42AB18F7099271F\r
-:1019E000A80102C0440F551F8A95E2F7CA01922F41\r
-:1019F000982B9AB99BB1809589238BB929C0203542\r
-:101A0000310591F42DB18F709927F80102C0EE0FC6\r
-:101A1000FF1F8A95E2F7CF01922F982B9DB99EB1B7\r
-:101A2000809589238EB914C02036310589F420B3FE\r
-:101A30008F709927A80102C0440F551F8A95E2F7BD\r
-:101A4000CA01922F982B90BB91B38095892381BBBB\r
-:101A500050EA5A95F1F7BE016F5F7F4F20E030E00A\r
-:101A600040E050E0EEEDF2E0DE011196882D0190AD\r
-:101A70000D928A95E1F7FB0181919191BF01FC01E3\r
-:101A8000E07FFF27E032F10511F4E3B113C0E0334A\r
-:101A9000F10511F4E6B10EC0E034F10511F4E9B13D\r
-:101AA00009C0E035F10511F4ECB104C0E036F105F0\r
-:101AB000B9F4EFB1F0E08F70992702C0F595E79582\r
-:101AC0008A95E2F7E0FD08C0C801042E02C0880F25\r
-:101AD000991F0A94E2F702C080E090E0282B392B8E\r
-:101AE0004F5F5F4F4C30510509F0BCCFF70180814B\r
-:101AF00091818217930721F03183208390927302A2\r
-:101B00000E94D40AF2E0EF0EF11C4CE1E41643E02F\r
-:101B1000F40609F025CF80917302882361F181508A\r
-:101B200080937302882339F08FE99FE00197F1F7E2\r
-:101B300000C0000020C08091140390911503909381\r
-:101B40001D0380931C0380911603909117039093BB\r
-:101B50001F0380931E0380911803909119039093A3\r
-:101B600021038093200380911A0390911B0390938B\r
-:101B70002303809322030E94990781E0A0960FB669\r
-:101B8000F894DEBF0FBECDBFDF91CF911F910F91B3\r
-:101B9000FF90EF90DF90CF90BF90AF909F908F908D\r
-:101BA0007F900895E82FF0E0EE0FFF1FE45EFC4FFA\r
-:101BB00080819181089508958091020481608093CD\r
-:101BC00002040C94F728809102048E7F8093020413\r
-:101BD0000C94F7280E94C928811102C00E94A528F0\r
-:101BE0000E94F328809302043E9A809171008D7FB9\r
-:101BF0008093710082E0809390008AE1809391004D\r
-:101C000081E080932603089580912603811102C00C\r
-:101C10000E94EA0D10927603109275038091710074\r
-:101C20008D7F80937100809190008F7780939000DA\r
-:101C3000109238031092370310926F0310927003C2\r
-:101C4000109271031092720310926E0310926D0342\r
-:101C5000EDE4F3E0ADE3B3E0119211921192119231\r
-:101C60001D921D9283E0ED36F807B1F70895CF92EB\r
-:101C7000DF92EF92FF920F931F93CF93DF93209108\r
-:101C80003703222309F484C06B017C018091260371\r
-:101C9000811102C00E94EA0D0DE613E0C7E0D0E01A\r
-:101CA000A7019601F80192918291729162918F0140\r
-:101CB0000E94412E811131C0FE01EE0FFF1FEE0F79\r
-:101CC000FF1FE35BFC4F1082118212821382DE0140\r
-:101CD000AA0FBB1FA35CBC4F11961C921E92C7306B\r
-:101CE000D105E9F021964481558166817781408351\r
-:101CF000518362837383148215821682178212962F\r
-:101D00008D919C91139711969C938E9313961C9290\r
-:101D10001E92129734961296E2CF219708F6809180\r
-:101D2000750390917603019797FD05C09093760314\r
-:101D30008093750304C0109276031092750380910E\r
-:101D400075039091760320917303309174032817E3\r
-:101D5000390724F01092740310927303892BC1F495\r
-:101D6000809171008D7F80937100809190008F77BA\r
-:101D70008093900010926F03109270031092710381\r
-:101D80001092720310926E0310926D03109237033B\r
-:101D9000DF91CF911F910F91FF90EF90DF90CF9047\r
-:101DA00008951F920F920FB60F9211244F925F92D7\r
-:101DB0006F927F928F929F92AF92BF92CF92DF925B\r
-:101DC000EF92FF922F933F934F935F936F937F9385\r
-:101DD0008F939F93AF93BF93CF93DF93EF93FF9333\r
-:101DE00080913703882309F49BC1C0917503D0917A\r
-:101DF00076031C161D060CF093C1409027035090EB\r
-:101E000028036090290370902A0320E030E0A901A4\r
-:101E1000C301B2010E94902F18160CF065C0C130AA\r
-:101E2000D10509F452C08091730390917403BE01EF\r
-:101E30000E9470317C0190937403809373038090AF\r
-:101E4000390390903A03A0903B03B0903C0320E00C\r
-:101E500030E040E85FE3C501B4010E94DD2D6093EE\r
-:101E6000390370933A0380933B0390933C03F7014B\r
-:101E7000EE0FFF1FEE0FFF1FE35BFC4FA30192016C\r
-:101E800060817181828193810E94452E20E030E043\r
-:101E900040E05EE30E94942F9B01AC01C501B401B8\r
-:101EA0000E94902F18168CF4C7010196BE010E9463\r
-:101EB00070319093740380937303109239031092DE\r
-:101EC0003A0310923B0310923C03E0917303F091AC\r
-:101ED0007403EE0FFF1FEE0FFF1FE35BFC4F6081EB\r
-:101EE000718182819381D0C0C0906F03D0907003C4\r
-:101EF000E0907103F090720320E030E0A901C70187\r
-:101F0000B6010E94412E2197882309F4A2C0FE0148\r
-:101F1000EE0FFF1FEE0FFF1FE35BFC4F80809180F1\r
-:101F2000A280B380A5019401C701B6010E94412E91\r
-:101F300087FF31C0A501940160E070E08CED93EC67\r
-:101F40000E94452E20E030E040E451E40E94452EFE\r
-:101F500020E030E040E05FE30E94942F9B01AC0161\r
-:101F600060E070E080E090E40E94F72F9B01AC01FC\r
-:101F7000C501B4010E94942F9B01AC01C701B601B9\r
-:101F80000E94412E87FF07C0A701960160E070E024\r
-:101F90008CED93E439C0A5019401C701B6010E94FC\r
-:101FA000902F18160CF055C0A501940160E070E068\r
-:101FB0008CED93E40E94452E20E030E040E451E4B3\r
-:101FC0000E94452E20E030E040E05FE30E94942F25\r
-:101FD0009B01AC0160E070E080E090E40E94F72F8C\r
-:101FE0009B01AC01C501B4010E94942F9B01AC017F\r
-:101FF000C701B6010E94902F18165CF5A701960143\r
-:1020000060E070E08CED93EC0E94452E20E030E023\r
-:1020100040E451E40E94452E20E030E040E05FE3E0\r
-:102020000E94942F9B01AC0160E070E080E090E49E\r
-:102030000E94F72F9B01AC01C701B6010E94942FAB\r
-:1020400060936F0370937003809371039093720396\r
-:1020500013C0FE01EE0FFF1FEE0FFF1FE35BFC4FEF\r
-:1020600080819181A281B38180936F0390937003EB\r
-:10207000A0937103B093720360916F03709170032A\r
-:102080008091710390917203209124033091250374\r
-:102090002F3F4FEF340731F02F5F3F4F3093250331\r
-:1020A000209324030E94F8126B017C0120E034E2AB\r
-:1020B00044EF51E40E94412E87FF08C086EFC82EEE\r
-:1020C00088E2D82E84EFE82E81E4F82E20E030E07C\r
-:1020D00040E051E4C701B6010E94942F9B01AC017E\r
-:1020E00060E074E284E79BE40E94452E6B017C0172\r
-:1020F0000E94AD2E70939700609396002091740219\r
-:10210000309175024091760250917702C701B60175\r
-:102110000E94942F0E94AD2E7093990060939800B6\r
-:1021200080913803882309F433C1C0903303D090E1\r
-:102130003403E0903503F090360320E030E0A9014D\r
-:10214000C701B6010E94902F1816D4F58091240380\r
-:10215000909125038F3F2FEF920729F001969093DE\r
-:10216000250380932403C701B6010E94F81220E0E2\r
-:1021700030E040E051E40E94942F9B01AC0160E00C\r
-:1021800074E284E79BE40E94452E6B017C010E946F\r
-:10219000AD2E709397006093960020917402309159\r
-:1021A00075024091760250917702C701B6010E94F4\r
-:1021B000942F0E94AD2E709399006093980008C0F0\r
-:1021C0001092970010929600109299001092980029\r
-:1021D00060912D0370912E036F5F7F4F70932E03DC\r
-:1021E00060932D03209196003091970080E090E05D\r
-:1021F000232BF1F0C0919600D09197000E94DE2E23\r
-:102200006B017C01BE0180E090E00E94DE2E9B010C\r
-:10221000AC0160912F037091300380913103909154\r
-:1022200032030E94452E20E03FEF4FE757E410C0F5\r
-:102230000E94DE2E6B017C0120E030EE4FEF54E473\r
-:1022400060912F037091300380913103909132039C\r
-:102250000E94942F9B01AC01C701B6010E94902FF0\r
-:1022600087FD96C080912B038F5F80932B0390E0B6\r
-:102270002091FE033091FF0382179307A0F0809115\r
-:102280000904882319F010922B030DC0809171006E\r
-:102290008D7F80937100809190008F778093900064\r
-:1022A000109238037DC080912C03C0912B038111C3\r
-:1022B00028C0C0900304D0900404E0900504F0907E\r
-:1022C000060420E030E0A901C701B6010E94902F6A\r
-:1022D0001816BCF481E080932C0310923303109203\r
-:1022E00034031092350310923603C0922F03D0921C\r
-:1022F0003003E0923103F0923203C150C0932B03BC\r
-:1023000043C010922C031092250310922403E091F5\r
-:102310000004F091010448E0C49FE00DF11D112478\r
-:1023200080819181A281B3818093330390933403A0\r
-:10233000A0933503B093360320E030E040E85EE33D\r
-:1023400064817581868197810E94942F6B017C0145\r
-:1023500020E030E048EC52E460917802709179021C\r
-:1023600080917A0290917B020E94452E9B01AC01E4\r
-:10237000C701B6010E94942F60932F03709330031E\r
-:10238000809331039093320310922E0310922D0309\r
-:102390008091020480FD04C010923803109237032C\r
-:1023A000FF91EF91DF91CF91BF91AF919F918F916D\r
-:1023B0007F916F915F914F913F912F91FF90EF909F\r
-:1023C000DF90CF90BF90AF909F908F907F906F9055\r
-:1023D0005F904F900F900FBE0F901F901895CF9267\r
-:1023E000DF92EF92FF92CF93DF936B017C01EA01C2\r
-:1023F00080912603811102C00E94EA0D809102049F\r
-:1024000080FF46C0809175039091760308970CF089\r
-:102410003FC0809171008D7F80937100809138035F\r
-:1024200081110E94040E81E08093370310922503EE\r
-:102430001092240320E030E0A901C701B6010E94F8\r
-:10244000902F1816DCF48091750390917603FC01AF\r
-:10245000EE0FFF1FEE0FFF1FE35BFC4FC082D18228\r
-:10246000E282F382FC01EE0FFF1FE35CFC4FD1839D\r
-:10247000C0830196909376038093750380917100D9\r
-:1024800082608093710080919000806880939000BA\r
-:10249000DF91CF91FF90EF90DF90CF9008958F92D2\r
-:1024A0009F92AF92BF92CF92DF92EF92FF920F93E3\r
-:1024B0001F93CF93DF93EC017B01D42E4801590188\r
-:1024C00080912603811102C00E94EA0D80910204CE\r
-:1024D00080FF6BC0809171008D7F8093710080912F\r
-:1024E000370381110E94040E81E080933803D0935A\r
-:1024F0000104C0930004F092FF03E092FE03D09227\r
-:1025000009048092030490920404A0920504B092FE\r
-:1025100006041092390310923A0310923B03109272\r
-:102520003C0310922B0388819981AA81BB818093FF\r
-:10253000330390933403A0933503B093360320E024\r
-:1025400030E040E85EE36C817D818E819F810E9456\r
-:10255000942F6B017C0120E030E048EC52E4609164\r
-:1025600078027091790280917A0290917B020E94A8\r
-:10257000452E9B01AC01C701B6010E94942F6093C8\r
-:102580002F037093300380933103909332031092A2\r
-:102590002E0310922D038091710082608093710050\r
-:1025A00080919000806880939000DF91CF911F917F\r
-:1025B0000F91FF90EF90DF90CF90BF90AF909F90E2\r
-:1025C0008F9008958091770390E0019665E070E028\r
-:1025D0000E9470318093770308958091770390E093\r
-:1025E000019765E070E00E94703180937703089551\r
-:1025F0008F929F92AF92BF92CF92DF92EF92FF9213\r
-:10260000CF93DF936B017C01C0912403D09125030C\r
-:10261000BE0180E090E00E94DE2E4B015C01A7012C\r
-:10262000960160E070E08CE594E40E94452E9B01E9\r
-:10263000AC01C501B4010E94942F0E94B22E4091BA\r
-:102640007703423009F45CC028F4442351F0413050\r
-:10265000E9F0FBC0433009F481C0443009F4B4C050\r
-:10266000F4C080E090E0A0E0BFE380937402909318\r
-:102670007502A0937602B09377021092270310920E\r
-:1026800028031092290310922A03DFC01092270317\r
-:10269000109228031092290310922A0364317105C5\r
-:1026A00040F46A307105E0F520E030E040E85EE398\r
-:1026B0003BC0693C710508F0C0C080E090E00E941A\r
-:1026C000DE2E20E030E040EA51E40E94DC2D20E0E4\r
-:1026D00030E044E353E40E94452E9B01AC010E948C\r
-:1026E000942F20E030E040E05EE30E94942F9B01B5\r
-:1026F000AC0160E070E080E09EE30E94DC2D5BC0F6\r
-:1027000010922703109228031092290310922A0393\r
-:102710006432710578F4FB01EC59FF4F0C9484315D\r
-:1027200020E030E040E05FE3C701B6010E94942F53\r
-:102730006B017C0180E090E0A0E0BEE38093740236\r
-:1027400090937502A0937602B09377027EC0A701A2\r
-:102750009601C701B6010E94DD2DEACF1092270332\r
-:10276000109228031092290310922A032AE0269F30\r
-:10277000A001279F500D1124CA0168EB7BE00E9445\r
-:102780005C31BC016C5D754077FF03C0719561954C\r
-:102790007109882777FD8095982F0E94E02E2EE3FF\r
-:1027A00033EC4EE259E30E94942F20E030E040ECFD\r
-:1027B0005EE30E94DD2D6093740270937502809336\r
-:1027C00076029093770241C010922703109228035B\r
-:1027D0001092290310922A03CE0183709927892B26\r
-:1027E000E1F0BE016170772780E090E00E94DE2E6C\r
-:1027F00020E030E040E05EE30E94942F20E030E0F3\r
-:1028000040E45FE30E94DD2D6093740270937502D3\r
-:1028100080937602909377020CC080E090E0A0E075\r
-:10282000BFE38093740290937502A0937602B093F5\r
-:102830007702C770DD27CD2B41F4109274021092FD\r
-:1028400075021092760210927702C701B601DF91ED\r
-:10285000CF91FF90EF90DF90CF90BF90AF909F907F\r
-:102860008F900895809188030895CF93DF9300D0CF\r
-:102870001F92CDB7DEB79C0180910E04843019F50C\r
-:1028800093E099833B832A839093E9008FEF9091A3\r
-:10289000E800815095FD06C095ED9A95F1F700008E\r
-:1028A0008111F5CF8091E80085FF0DC040E050E038\r
-:1028B00063E070E0CE0101960E9496168091E800D8\r
-:1028C0008E778093E8000F900F900F90DF91CF915B\r
-:1028D0000895CF93DF9300D01F92CDB7DEB720913C\r
-:1028E0000E04243021F522E029839B838A8383E030\r
-:1028F0008093E9008FEF9091E800815095FD06C02C\r
-:1029000095ED9A95F1F700008111F5CF8091E800DF\r
-:1029100085FF0DC040E050E063E070E0CE0101961D\r
-:102920000E9496168091E8008E778093E8000F90C1\r
-:102930000F900F90DF91CF91089520910E042430D5\r
-:10294000F1F422E02093E9002FEF3091E8002150CC\r
-:1029500035FD06C035ED3A95F1F700002111F5CFB0\r
-:102960002091E80025FF0BC040E050E065E070E0FA\r
-:102970000E9496168091E8008E778093E800089573\r
-:10298000CF93DF93EC0190910E04943009F046C090\r
-:10299000809186028823D9F0809187028823B9F03C\r
-:1029A0009093E9008FEF9091E800815095FD06C06B\r
-:1029B00095E19A95F1F700008111F5CF8091E8003B\r
-:1029C00085FF2CC040E050E060E170E017C081E07E\r
-:1029D0008093E9008FEF9091E800815095FD06C04B\r
-:1029E00095ED9A95F1F700008111F5CF8091E800FF\r
-:1029F00085FF14C040E050E068E070E0CE010E9426\r
-:102A000096168091E8008E778093E80080E1FE01C1\r
-:102A1000A8E7B3E001900D928A95E1F7DF91CF919D\r
-:102A2000089580910D04811109C00E942B180E9405\r
-:102A300088188091E20084608093E20008951092EB\r
-:102A40000D040895089508950C94D02742E061EC98\r
-:102A500081E00E94A51742E061EC82E00E94A51788\r
-:102A600042E061EC83E00E94A51742E161EC84E062\r
-:102A70000C94A51780911004833009F455C030F4EC\r
-:102A8000813071F0823009F48EC008958A3009F4E3\r
-:102A90007AC08B3009F460C0893009F09CC020C036\r
-:102AA00080910F04813A09F096C08091E800877FF9\r
-:102AB0008093E8008091130490911404892B21F4F1\r
-:102AC00060E188E793E003C060E080E090E070E0C0\r
-:102AD0000E94E1168091E8008B778093E8000895CA\r
-:102AE00080910F04813209F076C080911304909197\r
-:102AF0001404009719F0039709F06DC08091E80065\r
-:102B0000877F8093E8008091E80082FD05C0809176\r
-:102B10000E048111F8CF5FC08091F100809388038B\r
-:102B20008091E8008B7753C080910F04813A09F0BF\r
-:102B300052C08091130490911404892B09F04BC06A\r
-:102B40008091E800877F8093E8008091E80080FF13\r
-:102B5000FCCF8091860236C080910F048132D9F576\r
-:102B60008091130490911404892BA9F58091E800B9\r
-:102B7000877F8093E8000E94DA1780911104809388\r
-:102B800086020C944B2180910F04813221F58091B3\r
-:102B9000E800877F8093E8000E94DA178091120492\r
-:102BA00080938903089580910F04813AA1F4809164\r
-:102BB000E800877F8093E8008091E80080FFFCCFE9\r
-:102BC000809189038093F1008091E8008E77809353\r
-:102BD000E8000C94DA17089584B7877F84BF88E1F2\r
-:102BE0000FB6F89480936000109260000FBE90E0E2\r
-:102BF00080E80FB6F89480936100909361000FBE57\r
-:102C00000E947D1B0E942B180E9488188091E20070\r
-:102C100084608093E20078940E940E1B0E947F1BC8\r
-:102C20008CE792E00E94291B80910E04853069F4A4\r
-:102C30000E948A2780910C048823B1F30E94B82750\r
-:102C4000882391F30E948016EFCF0E94871BECCF60\r
-:102C5000292F332723303105C9F064F421303105A1\r
-:102C600081F02230310509F043C08DE690E022E882\r
-:102C700038E042C021323105F1F02232310541F114\r
-:102C800037C082E190E02FEE38E036C099278130DE\r
-:102C9000910541F08230910541F0892B49F5EEE72D\r
-:102CA000F8E005C0E0E5F8E002C0E6E2F8E0849173\r
-:102CB00090E09F0121C06430D8F4E62FF0E0EE0FE1\r
-:102CC000FF1FEE5FFC4F2081318189E090E014C04E\r
-:102CD000643070F470E0FB01EE0FFF1FE650FD4F13\r
-:102CE00020813181FB01EA50FD4F808190E004C0DA\r
-:102CF00080E090E020E030E0FA0131832083089505\r
-:102D000080E189BD82E189BD09B400FEFDCF8091DB\r
-:102D1000D8008F7D8093D8008091E00082608093FE\r
-:102D2000E0008091E00081FDFCCF0895CF92DF921A\r
-:102D3000EF92FF920F931F93CF93DF93EC018B01E0\r
-:102D40006A010E94F917811133C0C114D10439F00E\r
-:102D5000F60180819181081B190BC80FD91FE12C46\r
-:102D6000F12C0115110519F18091E80085FD16C0BF\r
-:102D70008091E8008E778093E800C114D10449F077\r
-:102D8000F60180819181E80EF91EF182E08285E0F2\r
-:102D90000FC00E94F917882321F30AC089918093FC\r
-:102DA000F10001501109FFEFEF1AFF0ADACF80E0BE\r
-:102DB000DF91CF911F910F91FF90EF90DF90CF9017\r
-:102DC000089520911504309116042617370748F00E\r
-:102DD0006115710539F42091E8002E772093E80001\r
-:102DE00001C0B90140E061157105A9F120910E04FF\r
-:102DF000222309F443C0253009F442C02091E800A1\r
-:102E000023FD40C02091E80022FD32C02091E8005F\r
-:102E100020FFE9CF4091F3002091F20030E0342B05\r
-:102E2000FC01CF016115710559F02830310540F4DE\r
-:102E300081918093F100615071092F5F3F4FF1CF75\r
-:102E400041E02830310509F040E02091E8002E777C\r
-:102E50002093E800C8CF4111C9CF0AC080910E0469\r
-:102E6000882361F0853061F08091E80083FD0AC01D\r
-:102E70008091E80082FFF2CF80E0089582E008951B\r
-:102E800083E0089581E0089520911504309116049F\r
-:102E90002617370748F06115710539F42091E800CD\r
-:102EA0002E772093E80001C0B901FC0120E06115F4\r
-:102EB000710591F180910E04882309F440C085309A\r
-:102EC00009F43FC08091E80083FD3DC08091E80097\r
-:102ED00082FD2FC08091E80080FFE9CF2091F300B0\r
-:102EE0008091F20090E0922B6115710559F08830C5\r
-:102EF000910540F424912093F100319661507109BD\r
-:102F00000196F2CF21E0089709F020E08091E800D7\r
-:102F10008E778093E800CBCF2111CCCF0AC080916F\r
-:102F20000E04882361F0853061F08091E80083FD14\r
-:102F30000AC08091E80082FFF2CF80E0089582E02D\r
-:102F4000089583E0089581E00895982F973058F50B\r
-:102F50009093E900981739F07091EC002091ED0002\r
-:102F60005091F00003C0242F762F50E021FF19C0AC\r
-:102F70003091EB003E7F3093EB003091ED003D7FD0\r
-:102F80003093ED003091EB0031603093EB007093A3\r
-:102F9000EC002093ED005093F0002091EE0027FF0D\r
-:102FA00007C09F5FD3CF8F708093E90081E00895C1\r
-:102FB00080E0089580910F0487FF11C08091E800A0\r
-:102FC00082FD05C080910E048111F8CF11C080915F\r
-:102FD000E8008B770BC080910E04882349F0809124\r
-:102FE000E80080FFF8CF8091E8008E778093E800BA\r
-:102FF00008952091E4003091E50095E64091EC00C1\r
-:10300000842F817040FF22C08091E80080FD1CC0A9\r
-:1030100080910E04882391F0853091F08091EB002F\r
-:1030200085FD10C04091E4005091E5004217530720\r
-:1030300029F39A01915011F784E0089582E00895F0\r
-:1030400083E0089581E0089580E008954091E800CC\r
-:1030500042FFDECF08950E9499180E94A118E0EE69\r
-:10306000F0E0808181608083E8EDF0E080818F77FF\r
-:10307000808319BCA7EDB0E08C918E7F8C9380810A\r
-:103080008F7E808310920D0408950F931F93CF932A\r
-:10309000DF930E9499180E94A118C8EDD0E08881A2\r
-:1030A0008F77888388818068888388818F7D8883F3\r
-:1030B00019BC10920E0410920A0410920C04109283\r
-:1030C0000B0400EE10E0F80180818B7F8083888103\r
-:1030D0008160888342E060E080E00E94A517E1EE15\r
-:1030E000F0E080818E7F8083E2EEF0E0808181607D\r
-:1030F0008083808188608083F80180818E7F8083D7\r
-:10310000888180618883DF91CF911F910F9108950D\r
-:10311000E8EDF0E080818F7E8083E7EDF0E0808154\r
-:103120008160808384E082BF81E080930D040C94F1\r
-:103130004518E8EDF0E080818E7F80831092E200F8\r
-:1031400008951092DA001092E10008951F920F92F4\r
-:103150000FB60F9211242F933F934F935F936F936A\r
-:103160007F938F939F93AF93BF93EF93FF93809140\r
-:10317000E10082FF0BC08091E20082FF07C08091D6\r
-:10318000E1008B7F8093E1000E940D1B8091DA00AB\r
-:1031900080FF1FC08091D80080FF1BC08091DA00A3\r
-:1031A0008E7F8093DA008091D90080FF0DC080E18E\r
-:1031B00089BD82E189BD09B400FEFDCF81E0809325\r
-:1031C0000E040E94111505C019BC10920E040E9435\r
-:1031D0001F158091E10080FF19C08091E20080FFFF\r
-:1031E00015C08091E2008E7F8093E2008091E20022\r
-:1031F00080618093E2008091D80080628093D80043\r
-:1032000019BC85E080930E040E9423158091E10093\r
-:1032100084FF30C08091E20084FF2CC080E189BD32\r
-:1032200082E189BD09B400FEFDCF8091D8008F7D79\r
-:103230008093D8008091E1008F7E8093E10080919F\r
-:10324000E2008F7E8093E2008091E20081608093B3\r
-:10325000E20080910A04882311F084E007C0809185\r
-:10326000E30087FD02C081E001C083E080930E048B\r
-:103270000E9424158091E10083FF29C08091E20023\r
-:1032800083FF25C08091E100877F8093E10082E089\r
-:1032900080930E0410920A048091E1008E7F809347\r
-:1032A000E1008091E2008E7F8093E2008091E20055\r
-:1032B00080618093E20042E060E080E00E94A51718\r
-:1032C0008091F00088608093F0000E942215FF91A9\r
-:1032D000EF91BF91AF919F918F917F916F915F918E\r
-:1032E0004F913F912F910F900FBE0F901F90189507\r
-:1032F0001F920F920FB60F9211242F933F934F936B\r
-:103300005F936F937F938F939F93AF93BF93CF936D\r
-:10331000DF93EF93FF93C091E900CF708091EC00B1\r
-:10332000D82FD17080FDD0E81092E9008091F00094\r
-:10333000877F8093F00078940E94BC191092E90076\r
-:103340008091F00088608093F000CD2BCF70C09307\r
-:10335000E900FF91EF91DF91CF91BF91AF919F91E4\r
-:103360008F917F916F915F914F913F912F910F902E\r
-:103370000FBE0F901F9018951F93CF93DF93CDB77B\r
-:10338000DEB7AA970FB6F894DEBF0FBECDBFEFE051\r
-:10339000F4E088E08E0F9091F10091938E13FBCFB3\r
-:1033A0000E943A158091E80083FF1FC180910F04AD\r
-:1033B00090911004492F50E04A30510508F015C192\r
-:1033C000FA01E857FF4F0C948431803881F082383D\r
-:1033D00009F00BC1809113048F708093E9008091F4\r
-:1033E000EB0085FB882780F91092E90006C08091E8\r
-:1033F0000B0490910C04911182609091E800977FEA\r
-:103400009093E8008093F1001092F100C8C0282F3B\r
-:103410002D7F09F0EAC0882319F0823061F0E5C001\r
-:1034200080911104813009F0E0C0933009F080E010\r
-:1034300080930C042BC080911104811127C08091CE\r
-:1034400013048F7009F4D1C08093E9002091EB0040\r
-:1034500020FF1CC0933021F48091EB00806214C0E7\r
-:103460009091EB0090619093EB0021E030E0A90196\r
-:1034700002C0440F551F8A95E2F74093EA0010926C\r
-:10348000EA008091EB0088608093EB001092E900E5\r
-:103490008091E800877F86C08111A7C01091110438\r
-:1034A0001F778091E3008078812B8093E3008091E7\r
-:1034B000E800877F8093E8000E94DA178091E80097\r
-:1034C00080FFFCCF8091E30080688093E3001111BE\r
-:1034D00002C082E001C083E080930E0486C0805861\r
-:1034E000823008F082C080911104909112048C3DCA\r
-:1034F00053E0950779F583E08A838AE289834FB7A1\r
-:10350000F894DE01139620E03EE051E2E32FF0E074\r
-:1035100050935700E49120FF03C0E295EF703F5FA6\r
-:10352000EF708E2F90E0EA3010F0C79601C0C09681\r
-:103530008D939D932F5F243149F74FBF8091E80011\r
-:10354000877F8093E8006AE270E0CE0101960E94D6\r
-:10355000E11614C0AE014F5F5F4F609113040E94EB\r
-:103560002816BC01009709F440C09091E800977FAD\r
-:103570009093E80089819A810E9444178091E80025\r
-:103580008B778093E80031C0803879F58091E8002E\r
-:10359000877F8093E80080910A048093F1008091F6\r
-:1035A000E8008E778093E8000E94DA171EC0811130\r
-:1035B0001CC0909111049230C0F48091E800877F84\r
-:1035C0008093E80090930A040E94DA1780910A041D\r
-:1035D000811106C08091E30087FD02C081E001C037\r
-:1035E00084E080930E040E9426158091E80083FFFA\r
-:1035F0000AC08091E800877F8093E8008091EB000B\r
-:1036000080628093EB00AA960FB6F894DEBF0FBEDF\r
-:10361000CDBFDF91CF911F9108950895CF938091F1\r
-:103620000E048823A1F0C091E900CF709091EC00C6\r
-:10363000892F817090FD80E8C82B1092E90080915D\r
-:10364000E80083FD0E94BC19CF70C093E900CF91C0\r
-:10365000089590938F0380938E030895E0918E03D5\r
-:10366000F0918F03309721F00190F081E02D0994C3\r
-:1036700080E00895E0918E03F0918F03309721F060\r
-:103680000280F381E02D09940895E0918E03F0917A\r
-:103690008F03309721F00480F581E02D099408957F\r
-:1036A00020918C0330918D038217930771F09093D2\r
-:1036B0008D0380938C03E0918E03F0918F033097FC\r
-:1036C00021F00680F781E02D0994089520918A0366\r
-:1036D00030918B038217930771F090938B03809343\r
-:1036E0008A03E0918E03F0918F03309721F00084DC\r
-:1036F000F185E02D0994089508950C947C1B0E9497\r
-:1037000004280E949A0B0E948A280C94452D4F92FF\r
-:103710005F927F928F929F92AF92BF92CF92DF92F1\r
-:10372000EF92FF920F931F93CF93DF93CDB7DEB746\r
-:103730002A970FB6F894DEBF0FBECDBF0E94890C4A\r
-:1037400091E9C92E93E0D92E00E010E0AA24A394B9\r
-:10375000B12C702E802F0E94D20D4C01F6014190A9\r
-:1037600051906F014826592641145104B1F40F5F5E\r
-:103770001F4F0430110569F78FEF89838A831B82FD\r
-:103780000E940D288160782F9D838C8349815A8106\r
-:103790006B818D810E94401C3AC08091ED0381FDB8\r
-:1037A0000E94DB0D20E030E07501022E02C0EE0C1D\r
-:1037B000FF1C0A94E2F7C70184219521892B09F1A6\r
-:1037C0002E837F828E209F2091E0892809F490E04B\r
-:1037D00098870E940D288160782F9A8789874E816B\r
-:1037E0005F8168858A850E94401C000F111FF801C7\r
-:1037F000EF56FC4F80819181E826F926F182E08224\r
-:1038000006C02F5F3F4F2C30310571F6B0CF0E94BC\r
-:10381000762A109190030E942E1B1817D9F00E944F\r
-:103820002E1B809390032A960FB6F894DEBF0FBE2E\r
-:10383000CDBFDF91CF911F910F91FF90EF90DF905F\r
-:10384000CF90BF90AF909F908F907F905F904F9060\r
-:103850000C94D20A2A960FB6F894DEBF0FBECDBFE5\r
-:10386000DF91CF911F910F91FF90EF90DF90CF905C\r
-:10387000BF90AF909F908F907F905F904F900895F2\r
-:10388000CF93DF93CDB7DEB72B970FB6F894DEBF9B\r
-:103890000FBECDBF4F83588769877A878B87DE013C\r
-:1038A000119686E0FD0111928A95E9F785E0FE0107\r
-:1038B000379601900D928A95E1F749815A816B8183\r
-:1038C0007C818D819E810E94E5232B960FB6F89412\r
-:1038D000DEBF0FBECDBFDF91CF910895CF93882378\r
-:1038E00009F4C2C0C82F823859F40E942E1B81FDF2\r
-:1038F000BBC089E30E948E260E945B2789E30CC02F\r
-:10390000833879F40E942E1B80FDAEC083E50E94AF\r
-:103910008E260E945B2783E50E94D026CF910C94CF\r
-:103920005B27843859F40E942E1B82FD9DC087E4DA\r
-:103930000E948E260E945B2787E4EECF8CEF8C0FCF\r
-:10394000813A48F48C2F0E94AD2C81118DC08C2FB0\r
-:103950000E948E26E3CF80E28C0F883048F4C77037\r
-:1039600081E001C0880FCA95EAF70E941427D6CFDC\r
-:103970008BE58C0F833078F4C53A29F0C63A31F0E4\r
-:1039800083E890E005C081E890E002C082E890E022\r
-:10399000CF910C94501B88E58C0F833108F064C0E4\r
-:1039A000C83A39F1C93A41F1CA3A49F1CB3A51F131\r
-:1039B000CC3A59F1CD3A61F1C03B69F1CE3A71F19F\r
-:1039C000CF3A79F1C13B81F1C23B89F1C33B91F11F\r
-:1039D000C43B99F1C53BA1F1C63BA9F1C73BB1F18D\r
-:1039E000C83BB9F1C93BC1F1CA3BC9F180E090E0E5\r
-:1039F00038C082EE90E035C089EE90E032C08AEEA9\r
-:103A000090E02FC085EB90E02CC086EB90E029C0C1\r
-:103A100087EB90E026C08CEC90E023C08DEC90E02A\r
-:103A200020C083E891E01DC08AE891E01AC082E9D5\r
-:103A300091E017C084E991E014C081E292E011C0E6\r
-:103A400083E292E00EC084E292E00BC085E292E055\r
-:103A500008C086E292E005C087E292E002C08AE2F6\r
-:103A600092E0CF910C94661BCF910895882309F4BE\r
-:103A70004BC0823859F40E942E1B81FF45C089E358\r
-:103A80000E948E260E945B2789E30CC0833871F464\r
-:103A90000E942E1B80FF38C083E50E948E260E9464\r
-:103AA0005B2783E50E94D0260C945B27843859F469\r
-:103AB0000E942E1B82FF28C087E40E948E260E944F\r
-:103AC0005B2787E4EFCF9CEF980F913A58F390E291\r
-:103AD000980F983050F4877091E001C0990F8A9543\r
-:103AE000EAF7892F0E941A27DFCF9BE5980F9330C2\r
-:103AF00020F480E090E00C94501B885A833120F42D\r
-:103B000080E090E00C94661B0895882321F00E94C9\r
-:103B100014270C945B270895882321F00E941A270C\r
-:103B20000C945B270895BF92CF92DF92EF92FF92A1\r
-:103B30000F931F93CF93DF9300D000D000D0CDB769\r
-:103B4000DEB725E0FC01DE01119601900D922A9569\r
-:103B5000E1F7FC01D08011810281258122952F702F\r
-:103B600043815481452B09F472C31F3F21F4FFEFB9\r
-:103B7000DF1609F46CC37C012E830E949B07D98257\r
-:103B80001A8369817A81802F0E948A26182FB92E84\r
-:103B90000E943F260E9406252E81002319F00E94D4\r
-:103BA00031272E81EB2DE295EF70F0E0EE56FF4FBE\r
-:103BB0000C9484318B2D807F9B2D9F70F92E882350\r
-:103BC00019F0F29480EFF822002389F0FF2009F425\r
-:103BD0007CC280E2810F883020F48F2D0E94142750\r
-:103BE00003C08F2D0E9424270E945B276EC2812F65\r
-:103BF0000E94361DFF2009F42AC3105E8F2D183055\r
-:103C000018F40E941A2702C00E942A2726960FB68F\r
-:103C1000F894DEBF0FBECDBFDF91CF911F910F9102\r
-:103C2000FF90EF90DF90CF90BF900C945B278B2D8F\r
-:103C3000807F9B2D9F70803211F4892F03C0892FC4\r
-:103C40008295807F112319F0113011F12BC00023D0\r
-:103C5000A9F0222389F1213079F526960FB6F89440\r
-:103C6000DEBF0FBECDBFDF91CF911F910F91FF90AF\r
-:103C7000EF90DF90CF90BF900C944427222319F04F\r
-:103C8000213009F4E4C28E830E9447278E819BC1B4\r
-:103C9000002321F0263008F0DAC20EC0253008F0EB\r
-:103CA000D6C291C10023C9F0222331F0F7019581DA\r
-:103CB00090FF0BC29F70958326960FB6F894DEBFD7\r
-:103CC0000FBECDBFDF91CF911F910F91FF90EF906D\r
-:103CD000DF90CF90BF900C94851D222309F473C10F\r
-:103CE00009C22B2D26952695237030E0211531052C\r
-:103CF00021F021303105D1F0AAC2002321F0812F1B\r
-:103D00009B2D937002C080E090E026960FB6F89449\r
-:103D1000DEBF0FBECDBFDF91CF911F910F91FF90FE\r
-:103D2000EF90DF90CF90BF900C94501B002321F0B8\r
-:103D3000812F9B2D937002C080E090E026960FB6F5\r
-:103D4000F894DEBF0FBECDBFDF91CF911F910F91D1\r
-:103D5000FF90EF90DF90CF90BF900C94661B812F67\r
-:103D6000002319F00E947E2902C00E94E6292696AF\r
-:103D70000FB6F894DEBF0FBECDBFDF91CF911F917C\r
-:103D80000F91FF90EF90DF90CF90BF900C946B2A33\r
-:103D90008B2D837009F07BC0011159C2812F829550\r
-:103DA00086958770880F880F912F9F70C92ED12C10\r
-:103DB000E12CF12C082E04C0CC0CDD1CEE1CFF1CE9\r
-:103DC0000A94D2F714FF12C04FE050E060E070E0B8\r
-:103DD00004C0440F551F661F771F8A95D2F7CB0189\r
-:103DE000BA01609570958095909503C060E070E091\r
-:103DF000CB012B2D269526952370422F50E0423083\r
-:103E00005105D9F04330510569F16C297D298E297E\r
-:103E10009F294130510551F126960FB6F894DEBF27\r
-:103E20000FBECDBFDF91CF911F910F91FF90EF900B\r
-:103E3000DF90CF90BF900C942D256C297D298E2981\r
-:103E40009F2926960FB6F894DEBF0FBECDBFDF9137\r
-:103E5000CF911F910F91FF90EF90DF90CF90BF9087\r
-:103E60000C9449250E942D25C701B60126960FB650\r
-:103E7000F894DEBF0FBECDBFDF91CF911F910F91A0\r
-:103E8000FF90EF90DF90CF90BF900C94112500230E\r
-:103E900019F08B2D817001C08695882309F4D7C154\r
-:103EA000812F829586958770880F880F912F9F703C\r
-:103EB000C92ED12CE12CF12C082E04C0CC0CDD1C19\r
-:103EC000EE1CFF1C0A94D2F714FF12C04FE050E022\r
-:103ED00060E070E004C0440F551F661F771F8A958D\r
-:103EE000D2F7CB01BA01609570958095909503C08B\r
-:103EF00060E070E0CB012B2D269526952370422F94\r
-:103F000050E042305105D9F04330510569F16C2938\r
-:103F10007D298E299F294130510551F126960FB6F2\r
-:103F2000F894DEBF0FBECDBFDF91CF911F910F91EF\r
-:103F3000FF90EF90DF90CF90BF900C9407266C29F4\r
-:103F40007D298E299F2926960FB6F894DEBF0FBED5\r
-:103F5000CDBFDF91CF911F910F91FF90EF90DF9038\r
-:103F6000CF90BF900C9423260E940726C701B6016C\r
-:103F700026960FB6F894DEBF0FBECDBFDF91CF916E\r
-:103F80001F910F91FF90EF90DF90CF90BF900C9416\r
-:103F9000EB25103F49F118F4103E48F491C0123F50\r
-:103FA00009F453C0E8F1133F09F464C089C01F70DD\r
-:103FB0008B2D8F71002321F00E948425812F7CCED0\r
-:103FC0000E94A525812F26960FB6F894DEBF0FBE5E\r
-:103FD000CDBFDF91CF911F910F91FF90EF90DF90B8\r
-:103FE000CF90BF900C948C1D0023B1F0253008F0C9\r
-:103FF0002EC18B2D8F7126960FB6F894DEBF0FBEA3\r
-:10400000CDBFDF91CF911F910F91FF90EF90DF9087\r
-:10401000CF90BF900C94CA25263008F018C1E9CF84\r
-:104020000023A9F08B2D8F7126960FB6F894DEBF72\r
-:104030000FBECDBFDF91CF911F910F91FF90EF90F9\r
-:10404000DF90CF90BF900C948425002359F38B2DE3\r
-:104050008F7126960FB6F894DEBF0FBECDBFDF91ED\r
-:10406000CF911F910F91FF90EF90DF90CF90BF9075\r
-:104070000C94A525002399F08B2D8F7126960FB6F1\r
-:10408000F894DEBF0FBECDBFDF91CF911F910F918E\r
-:10409000FF90EF90DF90CF90BF900C946F25269605\r
+:100770000000000000000000000000000000010078\r
+:100780000050010001000100010001000100010012\r
+:10079000010001004C00010001000100073006309B\r
+:1007A000135012500030013002300C3001000100B3\r
+:1007B0000B300A300930083001000100010001004F\r
+:1007C0000100010001000100010001000100010021\r
+:1007D00001000100010001000100010001002803E7\r
+:1007E000540068006500200050006C0061006E003D\r
+:1007F00063006B0020004B006500790062006F0011\r
+:1008000061007200640000002C034F00720074004D\r
+:1008100068006F006C0069006E0065006100720086\r
+:1008200020004B006500790062006F0061007200DB\r
+:100830006400730000000403090409026D00040150\r
+:1008400000A0FA09040000010301010009211101BF\r
+:100850000001223F000705810308000A0904010086\r
+:100860000103010200092111010001224D000705C9\r
+:10087000820308000A0904020001030000000921A4\r
+:10088000110100012236000705830308000A09044C\r
+:1008900003000103000000092111010001223900B9\r
+:1008A000070584031000011201100100000008ED8B\r
+:1008B000FE606001000102000105010906A10105B9\r
+:1008C0000719E029E7150025019508750181020542\r
+:1008D0000819012905950575019102950175039186\r
+:1008E0000105071900297715002501957875018103\r
+:1008F00002C005010980A101850216010026B7008A\r
+:100900001A01002AB700751095018100C0050C0975\r
+:1009100001A1018503160100269C021A01002A9CF0\r
+:1009200002751095018100C005010902A1010901AC\r
+:10093000A100050919012905150025019505750175\r
+:100940008102950175038101050109300931158185\r
+:10095000257F95027508810609381581257F950147\r
+:1009600075088106050C0A38021581257F950175E9\r
+:10097000088106C0C005010906A101050719E02983\r
+:10098000E71500250195087501810295017508811B\r
+:100990000105081901290595057501910295017553\r
+:1009A0000391010507190029FF150025FF9506751C\r
+:1009B000088100C011241FBECFEFDAE0DEBFCDBF3B\r
+:1009C00004B603FE24C08091690490916A04A0914A\r
+:1009D0006B04B0916C048730904BA740B04BB9F4D6\r
+:1009E0001092690410926A0410926B0410926C04C5\r
+:1009F00014BE84B7877F84BF88E10FB6F8948093D4\r
+:100A00006000109260000FBEE0E0F8E3099513E08B\r
+:100A1000A0E0B1E0E2E4F4E602C005900D92A23657\r
+:100A2000B107D9F714E0A2E6B3E001C01D92A936E0\r
+:100A3000B107E1F70E94FD150C941F320C940000E1\r
+:100A4000279A2F988FEF9FEF9093870080938600CF\r
+:100A50008AE08093800089E1809381000C94562D78\r
+:100A6000282F81110BC080918000877F80938000A8\r
+:100A700010928D0010928C002F9808952F988091DD\r
+:100A80008000886080938000233019F48FEF9FEFFF\r
+:100A90000FC083E090E0821B9109880F991F2FEF10\r
+:100AA0003FEFA90102C0569547958A95E2F7CA0122\r
+:100AB00090938D0080938C000895CF93DF93EC0189\r
+:100AC0000E94ED28BE0180E090E0DF91CF910C9470\r
+:100AD00018250F931F93462F50E04E30510508F014\r
+:100AE000DEC0DC01FA01EA5AFF4F12968C910C9499\r
+:100AF000E331882309F4D3C000E010E0980140E01E\r
+:100B000064E070E089E292E00E942B1281E090E0C4\r
+:100B10000FC0882309F4C3C000E010E0980140E052\r
+:100B200066E070E089EB91E00E942B1282E090E099\r
+:100B30000E945D05B4C0882309F4B1C000E010E054\r
+:100B4000980140E068E070E089EE91E00E942B128D\r
+:100B500084E090E0EDCF882311F083E005C083E0CE\r
+:100B60000CC0882349F084E00E94952540E164E0B0\r
+:100B700083E00E946D0A93C084E00E94B625F6CF00\r
+:100B8000882331F085EE0E947F1C0E94AD2D87C026\r
+:100B900085EE0E94471D83C0882309F480C00E940F\r
+:100BA000BF0D7DC0882309F47AC00E94B80D00E013\r
+:100BB00010E0980140E065E070E089E492E027C031\r
+:100BC000882309F46CC085E00E94B6250E94E00DE0\r
+:100BD00066C0882309F463C000E010E0980140E09B\r
+:100BE00068E070E089E191E00E942B1285E00E94AC\r
+:100BF000952555C0882309F452C00E94BE1200E01A\r
+:100C000010E0980140E068E070E089E191E00E9426\r
+:100C10002B1245C0882309F442C00E94C912EFCFAD\r
+:100C20008823E9F100E010E0980140E066E070E020\r
+:100C300089E891E00E942B1284E00E94B62583E0AF\r
+:100C40000E94B62580E10E94B62585E00E94B62567\r
+:100C50000E94E00D86E00E9495250E94DA2881110D\r
+:100C600002C00E94B6280E94F22890E09093680487\r
+:100C7000809367048068809367040E94F6280FC001\r
+:100C8000882369F000E010E0980140E066E070E041\r
+:100C900089E591E00E942B1286E00E94B62580E053\r
+:100CA00090E01F910F9108950F931F932FEF89EFFD\r
+:100CB00090E0215080409040E1F700C0000000E04B\r
+:100CC00010E0980140E065E070E089E492E00E9465\r
+:100CD0002B121F910F9108950F931F9300E010E0C6\r
+:100CE000980140E063E070E081E091E00E942B1207\r
+:100CF0002FEF82E597E0215080409040E1F700C05F\r
+:100D000000001F910F910895CF92DF92EF92FF9212\r
+:100D10000F931F93CF93DF93CDB7DEB7CC58D10994\r
+:100D20000FB6F894DEBF0FBECDBF2091210425FF82\r
+:100D3000C5C08C01FC01928180910001992309F4C6\r
+:100D400060C096E4EEE8F2E0DE01A95BBF4F0190DF\r
+:100D50000D929A95E1F7F8019081E0916203F0918C\r
+:100D60006303E90FF11DEE0FFF1F27E430E02C0FA6\r
+:100D70003D1FE20FF31F60817181680F711D88278D\r
+:100D800077FD8095982F0E94F12E20E030E040E41E\r
+:100D900051E40E94562E6B017C01F801218184E010\r
+:100DA00090E0821B9109BC01882777FD8095982FE0\r
+:100DB0000E94F12E9B01AC01C701B6010E94EE2DED\r
+:100DC0009B01AC0160E070E080E090E40E94643040\r
+:100DD00020E030E04CE551E40E9401304FE050E06B\r
+:100DE000C457DF4F0FB6F894DEBF0FBECDBFDF9103\r
+:100DF000CF911F910F91FF90EF90DF90CF900C94C7\r
+:100E0000CB1196E4EEE8F2E0DE01119601900D922E\r
+:100E10009A95E1F7F8019081E0916203F091630304\r
+:100E2000E90FF11DEE0FFF1F21E030E02C0F3D1FF9\r
+:100E3000E20FF31F60817181680F711D882777FDB4\r
+:100E40008095982F0E94F12E20E030E040E451E49C\r
+:100E50000E94562E6B017C01F801218184E090E014\r
+:100E6000821B9109BC01882777FD8095982F0E94ED\r
+:100E7000F12E9B01AC01C701B6010E94EE2D9B0132\r
+:100E8000AC0160E070E080E090E40E94643020E01B\r
+:100E900030E04CE551E40E940130C457DF4F0FB6FB\r
+:100EA000F894DEBF0FBECDBFDF91CF911F910F91A0\r
+:100EB000FF90EF90DF90CF900C94130EC457DF4F4C\r
+:100EC0000FB6F894DEBF0FBECDBFDF91CF911F915B\r
+:100ED0000F91FF90EF90DF90CF90089508950E94BA\r
+:100EE00020056E9A769A0C9454060C946E070C9416\r
+:100EF00084060895880F991FFC01E250F040859107\r
+:100F000094910895880F991FFC01E258FE4F859136\r
+:100F1000949108950F931F93CF93DF93EC01811564\r
+:100F200020E49207A0F5C11580E3D80708F0E1C0DE\r
+:100F3000C83ED105D8F4C03ED10508F0EEC1C83A8C\r
+:100F4000D10578F4C53AD10508F074C0C130D10597\r
+:100F500009F46DC008F4DEC1C430D10508F0DDC16C\r
+:100F6000D9C1CB3BD10508F470C0D4C1C11590E202\r
+:100F7000D90708F0B9C0C11521E0D20708F0CDC1EA\r
+:100F8000C03FD10508F4C6C18E01106506C2C1304C\r
+:100F900080E5D80709F4BDC068F5C13120E4D20767\r
+:100FA00009F4AEC050F4C03190E4D90708F0A5C0F0\r
+:100FB000CF70DD278E01146DF0C1C33120E4D2075C\r
+:100FC00009F4A4C008F49FC0C115D04509F0A2C11E\r
+:100FD0000E945C210E94E00D0E946C069FEF24E3BA\r
+:100FE0008CE0915020408040E1F700C000000E945A\r
+:100FF0007928D3C1C11520E6D20730F4C11581E5A7\r
+:10100000D80708F48CC02DC1C11590E7D90708F4A2\r
+:1010100081C1C11520E8D20708F478C1C11580E963\r
+:10102000D80708F077C1DF708E01106AB6C101E001\r
+:1010300010E0B3C1C53AD10509F471C1C63AD10572\r
+:1010400009F070C102E810E4A8C1C83AD10509F45A\r
+:101050006CC1C93AD10509F46BC1CA3AD10509F48A\r
+:101060006AC1CB3AD10509F469C1CC3AD10509F47A\r
+:1010700068C1CD3AD10509F467C1C03BD10509F477\r
+:1010800066C1CE3AD10509F465C1CF3AD10509F45C\r
+:1010900064C1C13BD10509F463C1C23BD10509F468\r
+:1010A00062C1C33BD10509F461C1C43BD10509F458\r
+:1010B00060C1C53BD10509F45FC1C63BD10509F448\r
+:1010C0005EC1C73BD10509F45DC1C83BD10509F438\r
+:1010D0005CC1C93BD10509F45BC1CA3BD10509F428\r
+:1010E0005AC100E014E459C1CE019F700E948207EA\r
+:1010F00055C1DD278E01106C50C100E011ED4DC1CE\r
+:1011000000E010ED4AC100E012ED47C100E013ED30\r
+:1011100044C180913D04816080933D043EC10E94A2\r
+:10112000DA28811102C00E94B6280E94F22890E0BD\r
+:101130009093680480936704C23090E5D90721F446\r
+:1011400080916704816086C0C43020E5D20721F415\r
+:101150008091670482607EC0C63080E5D80721F4A4\r
+:1011600080916704846076C0C83090E5D90719F48F\r
+:101170008091670427C0CA3020E5D20721F480910E\r
+:101180006704806167C0CC3080E5D80721F4809186\r
+:10119000670480625FC0CE3090E5D90721F480916A\r
+:1011A0006704806457C0C03120E5D20721F48091E4\r
+:1011B000670480684FC0C23180E5D80729F4809168\r
+:1011C00067048460886046C0C33090E5D90721F485\r
+:1011D000809167048E7F3EC0C53020E5D20721F4A0\r
+:1011E000809167048D7F36C0C73080E5D80721F431\r
+:1011F000809167048B7F2EC0C93090E5D90719F420\r
+:101200008091670426C0CB3020E5D20721F480917D\r
+:1012100067048F7E1FC0CD3080E5D80721F4809110\r
+:1012200067048F7D17C0CF3090E5D90721F48091F6\r
+:1012300067048F7B0FC0C13120E5D20721F4809174\r
+:1012400067048F7707C0C331D04531F480916704BC\r
+:101250008B7F877F80936704809167040E94F628C4\r
+:101260009CC08D2F99278F70992781309105D9F4D3\r
+:101270009E012370332702C0880F991F2A95E2F739\r
+:101280009C688E0144E0000F111F4A95E1F700278A\r
+:101290001370802B912B53E0CC0FDD1F5A95E1F793\r
+:1012A000C076DD272FC08230910531F4DC2FCC27AA\r
+:1012B0008E01016F106A71C08330910569F4CE010F\r
+:1012C0008370992701E010E002C0000F111F8A957A\r
+:1012D000E2F7C8019C680FC0049709F05EC0CE0118\r
+:1012E0008370992701E010E002C0000F111F8A955A\r
+:1012F000E2F7C8019A6823E0CC0FDD1F2A95E1F7D9\r
+:10130000C07ED7708C010C2B1D2B47C0DF708E0167\r
+:10131000106243C000E010E040C08E013EC001E812\r
+:1013200010E43BC003E810E438C002EE14E435C01A\r
+:1013300009EE14E432C00AEE14E42FC005EB14E405\r
+:101340002CC006EB14E429C007EB14E426C00CEC17\r
+:1013500014E423C00DEC14E420C003E815E41DC020\r
+:101360000AE815E41AC002E915E417C004E915E417\r
+:1013700014C001E216E411C003E216E40EC004E258\r
+:1013800016E40BC005E216E408C006E216E405C048\r
+:1013900007E216E402C00AE216E4C801DF91CF9129\r
+:1013A0001F910F9108959CE0799FF001112490E323\r
+:1013B000899FE00DF11D1124E60FF11DEE0FFF1FB7\r
+:1013C000E258FE4F85919491803E9105E0F4803C77\r
+:1013D000910558F58133910509F46FC048F48932BD\r
+:1013E000910509F463C08A32910509F46DC072C099\r
+:1013F00089339105E9F082389105D1F08533910563\r
+:1014000009F44DC067C0833E910581F138F4803EF8\r
+:101410009105B9F0823E9105D9F05CC0863E9105F8\r
+:1014200061F1873E9105A1F155C00E947A070895A8\r
+:101430002091670420FD02C021FF4CC080EE90E0A7\r
+:1014400049C08091670480FFF9CF89E390E042C0F2\r
+:101450008091670482FF0EC08091670484FF03C0FF\r
+:1014600080E090E037C083EE90E034C08091670464\r
+:1014700082FFF2CF82EE90E02DC08091670483FF5F\r
+:101480000BC08091670484FDEBCF87EE90E022C013\r
+:101490008091670483FFF5CF86EE90E01BC08091BA\r
+:1014A000670485FF07C089E290E014C0809167045B\r
+:1014B00085FFF9CF85E390E00DC08091670486FF3A\r
+:1014C00007C08AE290E006C08091670486FFF9CFEA\r
+:1014D00081E390E00E948A070895CF92DF92EF9215\r
+:1014E000FF920F931F9301E010E020E030E06801CD\r
+:1014F000790104C0CC0CDD1CEE1CFF1C8A95D2F7D0\r
+:1015000004C0000F111F221F331F6A95D2F70C2948\r
+:101510001D292E293F29C0902104D0902204E0905B\r
+:101520002304F0902404C022D122E222F322842F4B\r
+:10153000C016D106E206F30641F41F910F91FF9009\r
+:10154000EF90DF90CF900C9495251F910F91FF9015\r
+:10155000EF90DF90CF900C94B62508950C94AD0ACF\r
+:101560005F926F927F928F929F92AF92BF92CF9233\r
+:10157000DF92EF92FF920F931F93CF93DF93CDB73C\r
+:10158000DEB728970FB6F894DEBF0FBECDBFCE01F1\r
+:1015900001966C014E0199E0890E911C20E030E02B\r
+:1015A00040E050E060E070E000E010E0E12CF12C61\r
+:1015B0006C2C5D2C88E0782EAA24A394B12CE4ED49\r
+:1015C000F2E0A62DB52D872D01900D928A95E1F7B9\r
+:1015D000F601819191916F01FC01E07FFF27E032DC\r
+:1015E000F10559F48F709927F50102C0EE0FFF1F26\r
+:1015F0008A95E2F7EE2AFF2A37C0E033F10559F465\r
+:101600008F709927F50102C0EE0FFF1F8A95E2F750\r
+:101610000E2B1F2B29C0E034F10559F48F70992748\r
+:10162000F50102C0EE0FFF1F8A95E2F76E2B7F2BAC\r
+:101630001BC0E035F10559F48F709927F50102C000\r
+:10164000EE0FFF1F8A95E2F74E2B5F2B0DC0E036A1\r
+:10165000F10551F48F709927F50102C0EE0FFF1FBD\r
+:101660008A95E2F72E2B3F2BC814D90409F0A7CF97\r
+:1016700084B19E2D9095892384B985B1E82AE5B877\r
+:1016800087B1902F9095892387B988B1082B08B925\r
+:101690008AB1962F909589238AB98BB1682B6BB943\r
+:1016A0008DB1942F909589238DB98EB1482B4EB969\r
+:1016B00080B3922F9095892380BB81B3282B21BBC7\r
+:1016C00028960FB6F894DEBF0FBECDBFDF91CF9145\r
+:1016D0001F910F91FF90EF90DF90CF90BF90AF9050\r
+:1016E0009F908F907F906F905F9008955F926F9220\r
+:1016F0007F928F929F92AF92BF92CF92DF92EF92A2\r
+:10170000FF920F931F93CF93DF93CDB7DEB7689708\r
+:101710000FB6F894DEBF0FBECDBF85B7806885BF1A\r
+:1017200085B7806885BF0E94B00ACE0101966C0122\r
+:101730004E0199E1890E911C20E030E040E050E03C\r
+:1017400060E070E000E010E0E12CF12C6C2C5D2CEE\r
+:1017500088E1782EAA24A394B12CECEDF2E0A62D1A\r
+:10176000B52D872D01900D928A95E1F7F6018191B3\r
+:1017700091916F01FC01E07FFF27E032F10559F400\r
+:101780008F709927F50102C0EE0FFF1F8A95E2F7CF\r
+:10179000EE2AFF2A37C0E033F10559F48F709927FC\r
+:1017A000F50102C0EE0FFF1F8A95E2F70E2B1F2BEB\r
+:1017B00029C0E034F10559F48F709927F50102C072\r
+:1017C000EE0FFF1F8A95E2F76E2B7F2B1BC0E035D3\r
+:1017D000F10559F48F709927F50102C0EE0FFF1F34\r
+:1017E0008A95E2F74E2B5F2B0DC0E036F10551F4E0\r
+:1017F0008F709927F50102C0EE0FFF1F8A95E2F75F\r
+:101800002E2B3F2BC814D90409F0A7CF84B19E2DED\r
+:101810009095892384B985B1E82AE5B887B1902FDE\r
+:101820009095892387B988B1082B08B98AB1962F7A\r
+:10183000909589238AB98BB1682B6BB98DB1942FA0\r
+:10184000909589238DB98EB1482B4EB980B3922FD4\r
+:101850009095892380BB81B3282B21BB10926D0307\r
+:1018600010926C03109265031092640310926F0340\r
+:1018700010926E0310926703109266031092710328\r
+:101880001092700310926903109268031092730310\r
+:101890001092720310926B0310926A0368960FB64F\r
+:1018A000F894DEBF0FBECDBFDF91CF911F910F9196\r
+:1018B000FF90EF90DF90CF90BF90AF909F908F9070\r
+:1018C0007F906F905F900C946F077F928F929F92A2\r
+:1018D000AF92BF92CF92DF92EF92FF920F931F933E\r
+:1018E000CF93DF93CDB7DEB7A0970FB6F894DEBFE6\r
+:1018F0000FBECDBF6E0149E1C40ED11C84E6E82EB7\r
+:1019000083E0F82E98E0792EBC2CAD2C01E010E09D\r
+:1019100028E1822E35E0932EE4EDF2E0AB2DBA2DD6\r
+:10192000872D01900D928A95E1F7F60181919191B1\r
+:101930006F019C01207F33272032310591F424B1BF\r
+:101940008F709927A80102C0440F551F8A95E2F7AE\r
+:10195000CA01922F982B94B995B18095892385B9A6\r
+:1019600053C02033310591F427B18F709927F801C6\r
+:1019700002C0EE0FFF1F8A95E2F7CF01922F982B3E\r
+:1019800097B998B18095892388B93EC02034310534\r
+:1019900091F42AB18F709927A80102C0440F551FF6\r
+:1019A0008A95E2F7CA01922F982B9AB99BB180953C\r
+:1019B00089238BB929C02035310591F42DB18F7061\r
+:1019C0009927F80102C0EE0FFF1F8A95E2F7CF01B9\r
+:1019D000922F982B9DB99EB1809589238EB914C002\r
+:1019E0002036310589F420B38F709927A80102C0F1\r
+:1019F000440F551F8A95E2F7CA01922F982B90BB8E\r
+:101A000091B38095892381BB50EA5A95F1F7BE01C5\r
+:101A10006F5F7F4F20E030E040E050E0ECEDF2E01F\r
+:101A2000DE011196882D01900D928A95E1F7FB0158\r
+:101A300081919191BF01FC01E07FFF27E032F10528\r
+:101A400011F4E3B113C0E033F10511F4E6B10EC0B7\r
+:101A5000E034F10511F4E9B109C0E035F10511F404\r
+:101A6000ECB104C0E036F105B9F4EFB1F0E08F70ED\r
+:101A7000992702C0F595E7958A95E2F7E0FD08C041\r
+:101A8000C801042E02C0880F991F0A94E2F702C011\r
+:101A900080E090E0282B392B4F5F5F4F4C30510591\r
+:101AA00009F0BCCFF701808191818217930721F063\r
+:101AB00031832083909271020E94B00AF2E0EF0E0F\r
+:101AC000F11C4CE6E41643E0F40609F025CF8091C2\r
+:101AD0007102882361F1815080937102882339F06B\r
+:101AE0008FE99FE00197F1F700C0000020C08091CE\r
+:101AF00064039091650390936D0380936C038091D0\r
+:101B000066039091670390936F0380936E038091B7\r
+:101B1000680390916903909371038093700380919F\r
+:101B20006A0390916B0390937303809372030E94F6\r
+:101B3000750781E0A0960FB6F894DEBF0FBECDBF4B\r
+:101B4000DF91CF911F910F91FF90EF90DF90CF9099\r
+:101B5000BF90AF909F908F907F900895E82FF0E016\r
+:101B6000EE0FFF1FE459FC4F808191810895089585\r
+:101B7000809152048160809352040C9408298091D2\r
+:101B800052048E7F809352040C9408290E94DA2814\r
+:101B9000811102C00E94B6280E9404298093520439\r
+:101BA0003E9A809171008D7F8093710082E08093D6\r
+:101BB00090008AE18093910081E0809376030895FC\r
+:101BC00080917603811102C00E94C60D1092C60357\r
+:101BD0001092C503809171008D7F80937100809178\r
+:101BE00090008F7780939000109288031092870363\r
+:101BF0001092BF031092C0031092C1031092C2034F\r
+:101C00001092BE031092BD03EDE9F3E0ADE8B3E03E\r
+:101C100011921192119211921D921D9283E0ED3B4F\r
+:101C2000F807B1F70895CF92DF92EF92FF920F93EA\r
+:101C30001F93CF93DF9320918703222309F484C05D\r
+:101C40006B017C0180917603811102C00E94C60D58\r
+:101C50000DEB13E0C7E0D0E0A7019601F8019291E7\r
+:101C60008291729162918F010E94522E811131C036\r
+:101C7000FE01EE0FFF1FEE0FFF1FE356FC4F108219\r
+:101C8000118212821382DE01AA0FBB1FA357BC4F21\r
+:101C900011961C921E92C730D105E9F0219644811D\r
+:101CA0005581668177814083518362837383148277\r
+:101CB00015821682178212968D919C911397119618\r
+:101CC0009C938E9313961C921E92129734961296A2\r
+:101CD000E2CF219708F68091C5039091C603019742\r
+:101CE00097FD05C09093C6038093C50304C010926E\r
+:101CF000C6031092C5038091C5039091C60320913D\r
+:101D0000C3033091C4032817390724F01092C40389\r
+:101D10001092C303892BC1F4809171008D7F809351\r
+:101D20007100809190008F77809390001092BF0394\r
+:101D30001092C0031092C1031092C2031092BE030E\r
+:101D40001092BD0310928703DF91CF911F910F91E5\r
+:101D5000FF90EF90DF90CF9008951F920F920FB6F3\r
+:101D60000F9211244F925F926F927F928F929F9267\r
+:101D7000AF92BF92CF92DF92EF92FF922F933F9359\r
+:101D80004F935F936F937F938F939F93AF93BF9383\r
+:101D9000CF93DF93EF93FF9380918703882309F418\r
+:101DA0009BC1C091C503D091C6031C161D060CF043\r
+:101DB00093C14090770350907803609079037090BE\r
+:101DC0007A0320E030E0A901C301B2010E94FD2F97\r
+:101DD00018160CF065C0C130D10509F452C08091CD\r
+:101DE000C3039091C403BE010E94CF317C01909344\r
+:101DF000C4038093C3038090890390908A03A090CA\r
+:101E00008B03B0908C0320E030E040E85FE3C50135\r
+:101E1000B4010E94EE2D6093890370938A0380932E\r
+:101E20008B0390938C03F701EE0FFF1FEE0FFF1F44\r
+:101E3000E356FC4FA30192016081718182819381FD\r
+:101E40000E94562E20E030E040E05EE30E94013028\r
+:101E50009B01AC01C501B4010E94FD2F18168CF442\r
+:101E6000C7010196BE010E94CF319093C4038093B5\r
+:101E7000C3031092890310928A0310928B0310926D\r
+:101E80008C03E091C303F091C403EE0FFF1FEE0F2C\r
+:101E9000FF1FE356FC4F6081718182819381D0C026\r
+:101EA000C090BF03D090C003E090C103F090C20384\r
+:101EB00020E030E0A901C701B6010E94522E21970F\r
+:101EC000882309F4A2C0FE01EE0FFF1FEE0FFF1FD3\r
+:101ED000E356FC4F80809180A280B380A5019401DD\r
+:101EE000C701B6010E94522E87FF31C0A50194019F\r
+:101EF00060E070E08CED93EC0E94562E20E030E024\r
+:101F000040E451E40E94562E20E030E040E05FE3E0\r
+:101F10000E9401309B01AC0160E070E080E090E441\r
+:101F20000E9464309B01AC01C501B4010E940130E4\r
+:101F30009B01AC01C701B6010E94522E87FF07C06A\r
+:101F4000A701960160E070E08CED93E439C0A50133\r
+:101F50009401C701B6010E94FD2F18160CF055C060\r
+:101F6000A501940160E070E08CED93E40E94562E90\r
+:101F700020E030E040E451E40E94562E20E030E0C2\r
+:101F800040E05FE30E9401309B01AC0160E070E043\r
+:101F900080E090E40E9464309B01AC01C501B40173\r
+:101FA0000E9401309B01AC01C701B6010E94FD2FC8\r
+:101FB00018165CF5A701960160E070E08CED93ECDB\r
+:101FC0000E94562E20E030E040E451E40E94562E5C\r
+:101FD00020E030E040E05FE30E9401309B01AC0173\r
+:101FE00060E070E080E090E40E9464309B01AC010E\r
+:101FF000C701B6010E9401306093BF037093C00314\r
+:102000008093C1039093C20313C0FE01EE0FFF1F24\r
+:10201000EE0FFF1FE356FC4F80819181A281B381B7\r
+:102020008093BF039093C003A093C103B093C203F6\r
+:102030006091BF037091C0038091C1039091C2036E\r
+:1020400020917403309175032F3F4FEF340731F027\r
+:102050002F5F3F4F30937503209374030E94D41277\r
+:102060006B017C0120E034E244EF51E40E94522EE7\r
+:1020700087FF08C086EFC82E88E2D82E84EFE82EAE\r
+:1020800081E4F82E20E030E040E051E4C701B601E1\r
+:102090000E9401309B01AC0160E074E284E79BE4A4\r
+:1020A0000E94562E6B017C010E94BE2E70939700F9\r
+:1020B00060939600209172023091730240917402F5\r
+:1020C00050917502C701B6010E9401300E94BE2ED8\r
+:1020D000709399006093980080918803882309F495\r
+:1020E00033C1C0908303D0908403E0908503F090C7\r
+:1020F000860320E030E0A901C701B6010E94FD2F50\r
+:102100001816D4F580917403909175038F3F2FEFCB\r
+:10211000920729F001969093750380937403C70189\r
+:10212000B6010E94D41220E030E040E051E40E9469\r
+:1021300001309B01AC0160E074E284E79BE40E9403\r
+:10214000562E6B017C010E94BE2E70939700609307\r
+:102150009600209172023091730240917402509166\r
+:102160007502C701B6010E9401300E94BE2E709315\r
+:1021700099006093980008C0109297001092960002\r
+:10218000109299001092980060917D0370917E03E7\r
+:102190006F5F7F4F70937E0360937D032091960065\r
+:1021A0003091970080E090E0232BF1F0C0919600F1\r
+:1021B000D09197000E94EF2E6B017C01BE0180E060\r
+:1021C00090E00E94EF2E9B01AC0160917F03709123\r
+:1021D000800380918103909182030E94562E20E01B\r
+:1021E0003FEF4FE757E410C00E94EF2E6B017C01D8\r
+:1021F00020E030EE4FEF54E460917F037091800354\r
+:1022000080918103909182030E9401309B01AC0177\r
+:10221000C701B6010E94FD2F87FD96C080917B0308\r
+:102220008F5F80937B0390E020914E0430914F04A8\r
+:1022300082179307A0F080915904882319F0109217\r
+:102240007B030DC0809171008D7F80937100809120\r
+:1022500090008F7780939000109288037DC08091CA\r
+:102260007C03C0917B03811128C0C0905304D0909F\r
+:102270005404E0905504F090560420E030E0A901A9\r
+:10228000C701B6010E94FD2F1816BCF481E08093AF\r
+:102290007C031092830310928403109285031092A2\r
+:1022A0008603C0927F03D0928003E0928103F09274\r
+:1022B0008203C150C0937B0343C010927C031092F1\r
+:1022C000750310927403E0915004F091510448E0BA\r
+:1022D000C49FE00DF11D112480819181A281B38101\r
+:1022E0008093830390938403A0938503B093860324\r
+:1022F00020E030E040E85EE364817581868197816B\r
+:102300000E9401306B017C0120E030E048EC52E497\r
+:1023100060917602709177028091780290917902B3\r
+:102320000E94562E9B01AC01C701B6010E940130EC\r
+:1023300060937F0370938003809381039093820363\r
+:1023400010927E0310927D038091520480FD04C0A0\r
+:102350001092880310928703FF91EF91DF91CF9144\r
+:10236000BF91AF919F918F917F916F915F914F91AD\r
+:102370003F912F91FF90EF90DF90CF90BF90AF9063\r
+:102380009F908F907F906F905F904F900F900FBEB7\r
+:102390000F901F901895CF92DF92EF92FF92CF93FC\r
+:1023A000DF936B017C01EA0180917603811102C009\r
+:1023B0000E94C60D8091520480FF46C08091C503E3\r
+:1023C0009091C60308970CF03FC0809171008D7FFB\r
+:1023D000809371008091880381110E94E00D81E05B\r
+:1023E00080938703109275031092740320E030E00D\r
+:1023F000A901C701B6010E94FD2F1816DCF48091D7\r
+:10240000C5039091C603FC01EE0FFF1FEE0FFF1FE7\r
+:10241000E356FC4FC082D182E282F382FC01EE0FD0\r
+:10242000FF1FE357FC4FD183C08301969093C603EF\r
+:102430008093C503809171008260809371008091C8\r
+:102440009000806880939000DF91CF91FF90EF9093\r
+:10245000DF90CF9008958F929F92AF92BF92CF92CC\r
+:10246000DF92EF92FF920F931F93CF93DF93EC01D4\r
+:102470007B01D42E4801590180917603811102C05D\r
+:102480000E94C60D8091520480FF6BC08091710044\r
+:102490008D7F809371008091870381110E94E00DF0\r
+:1024A00081E080938803D0935104C0935004F0924C\r
+:1024B0004F04E0924E04D0925904809253049092BB\r
+:1024C0005404A0925504B0925604109289031092BD\r
+:1024D0008A0310928B0310928C0310927B038881E5\r
+:1024E0009981AA81BB818093830390938403A093F5\r
+:1024F0008503B093860320E030E040E85EE36C8122\r
+:102500007D818E819F810E9401306B017C0120E0E2\r
+:1025100030E048EC52E4609176027091770280914D\r
+:102520007802909179020E94562E9B01AC01C7015E\r
+:10253000B6010E94013060937F0370938003809303\r
+:1025400081039093820310927E0310927D03809109\r
+:102550007100826080937100809190008068809308\r
+:102560009000DF91CF911F910F91FF90EF90DF903E\r
+:10257000CF90BF90AF909F908F9008958091C703A8\r
+:1025800090E0019666E070E00E94CF318093C7032F\r
+:1025900008958091C70390E0019766E070E00E9483\r
+:1025A000CF318093C70308958F929F92AF92BF92CD\r
+:1025B000CF92DF92EF92FF920F931F93CF93DF930F\r
+:1025C0006B017C01C0917403D0917503BE0180E062\r
+:1025D00090E00E94EF2E4B015C01A701960160E0A4\r
+:1025E00070E08CE594E40E94562E9B01AC01C5017D\r
+:1025F000B4010E9401300E94C32E2091C7032330F2\r
+:1026000009F473C028F4222351F02130E9F02CC1E1\r
+:10261000243009F4A0C0253009F4E0C025C180E0D1\r
+:1026200090E0A0E0BFE38093720290937302A093C6\r
+:102630007402B0937502109277031092780310928F\r
+:10264000790310927A0310C11092770310927803E5\r
+:102650001092790310927A036431710540F46A3064\r
+:10266000710560F520E030E040E85EE32BC0693C96\r
+:10267000710508F0AAC080E090E00E94EF2E20E0F3\r
+:1026800030E040EA51E40E94ED2D20E030E044E3E8\r
+:1026900053E40E94562E9B01AC010E94013020E0C1\r
+:1026A00030E040E05EE30E9401309B01AC0160E05D\r
+:1026B00070E080E09EE30E94ED2D44C020E030E019\r
+:1026C00040E05FE3C701B6010E9401306B017C016D\r
+:1026D00080E090E0A0E0BEE38093720290937302EA\r
+:1026E000A0937402B0937502BFC01092770310924A\r
+:1026F00078031092790310927A034AE0469F900182\r
+:10270000479F300D1124C90168EB7BE00E94BB316B\r
+:10271000BC016C5D754077FF03C0719561957109CF\r
+:10272000882777FD8095982F0E94F12E2EE333ECB9\r
+:102730004EE259E30E94013020E030E040EC5EE3DD\r
+:102740000E94EE2D60937202709373028093740264\r
+:102750009093750289C010927703109278031092BB\r
+:10276000790310927A03CE0183709927892BE1F0C7\r
+:10277000BE016170772780E090E00E94EF2E20E09C\r
+:1027800030E040E05EE30E94013020E030E040E4D1\r
+:102790005FE30E94EE2D6093720270937302809348\r
+:1027A0007402909375020CC080E090E0A0E0BFE35B\r
+:1027B0008093720290937302A0937402B093750297\r
+:1027C000C770DD27CD2B09F04FC010927202109216\r
+:1027D0007302109274021092750246C01092770331\r
+:1027E000109278031092790310927A0300E010E0BF\r
+:1027F00020E03FE30093720210937302209374026F\r
+:10280000309375026739710578F180E090E00E949D\r
+:10281000EF2E20E030E047E153E40E94ED2D20E070\r
+:1028200030E04AE754E40E94562E20E030E048E4CD\r
+:1028300052E40E94013020E030E040EA51E40E947E\r
+:10284000332F0E94BE2E660F771F660F771FFB0186\r
+:10285000EC50FD4F2081318142815381C701B60187\r
+:102860000E9401306B017C01C701B601DF91CF915D\r
+:102870001F910F91FF90EF90DF90CF90BF90AF909E\r
+:102880009F908F9008958091D8030895CF93DF9300\r
+:1028900000D01F92CDB7DEB79C0180915E048430DA\r
+:1028A00019F593E099833B832A839093E9008FEF96\r
+:1028B0009091E800815095FD06C095ED9A95F1F74D\r
+:1028C00000008111F5CF8091E80085FF0DC040E048\r
+:1028D00050E063E070E0CE0101960E94A71680915F\r
+:1028E000E8008E778093E8000F900F900F90DF91B3\r
+:1028F000CF910895CF93DF9300D01F92CDB7DEB76D\r
+:1029000020915E04243021F522E029839B838A8371\r
+:1029100083E08093E9008FEF9091E800815095FD6E\r
+:1029200006C095ED9A95F1F700008111F5CF8091E1\r
+:10293000E80085FF0DC040E050E063E070E0CE01AC\r
+:1029400001960E94A7168091E8008E778093E80098\r
+:102950000F900F900F90DF91CF91089520915E041A\r
+:102960002430F1F422E02093E9002FEF3091E800C9\r
+:10297000215035FD06C035ED3A95F1F700002111E3\r
+:10298000F5CF2091E80025FF0BC040E050E065E066\r
+:1029900070E00E94A7168091E8008E778093E8008F\r
+:1029A0000895CF93DF93EC0190915E04943009F089\r
+:1029B00046C0809184028823D9F0809185028823C3\r
+:1029C000B9F09093E9008FEF9091E800815095FD68\r
+:1029D00006C095E19A95F1F700008111F5CF80913D\r
+:1029E000E80085FF2CC040E050E060E170E017C0D7\r
+:1029F00081E08093E9008FEF9091E800815095FD90\r
+:102A000006C095ED9A95F1F700008111F5CF809100\r
+:102A1000E80085FF14C040E050E068E070E0CE01BF\r
+:102A20000E94A7168091E8008E778093E80080E1ED\r
+:102A3000FE01A8ECB3E001900D928A95E1F7DF91D9\r
+:102A4000CF91089580915D04811109C00E943C18C6\r
+:102A50000E9499188091E20084608093E2000895BA\r
+:102A600010925D040895089508950C94E12742E0C2\r
+:102A700061EC81E00E94B61742E061EC82E00E94C6\r
+:102A8000B61742E061EC83E00E94B61742E161ECC8\r
+:102A900084E00C94B61780916004833009F455C02B\r
+:102AA00030F4813071F0823009F48EC008958A309C\r
+:102AB00009F47AC08B3009F460C0893009F09CC0F9\r
+:102AC00020C080915F04813A09F096C08091E800AF\r
+:102AD000877F8093E8008091630490916404892B40\r
+:102AE00021F460E188EC93E003C060E080E090E0D6\r
+:102AF00070E00E94F2168091E8008B778093E800E6\r
+:102B0000089580915F04813209F076C0809163045A\r
+:102B100090916404009719F0039709F06DC08091BB\r
+:102B2000E800877F8093E8008091E80082FD05C07F\r
+:102B300080915E048111F8CF5FC08091F100809395\r
+:102B4000D8038091E8008B7753C080915F04813A6D\r
+:102B500009F052C08091630490916404892B09F0BC\r
+:102B60004BC08091E800877F8093E8008091E80067\r
+:102B700080FFFCCF8091840236C080915F04813257\r
+:102B8000D9F58091630490916404892BA9F5809113\r
+:102B9000E800877F8093E8000E94EB178091610432\r
+:102BA000809384020C945C2180915F04813221F532\r
+:102BB0008091E800877F8093E8000E94EB17809166\r
+:102BC00062048093D903089580915F04813AA1F44F\r
+:102BD0008091E800877F8093E8008091E80080FF83\r
+:102BE000FCCF8091D9038093F1008091E8008E772B\r
+:102BF0008093E8000C94EB17089584B7877F84BF17\r
+:102C000088E10FB6F89480936000109260000FBEC8\r
+:102C100090E080E80FB6F894809361009093610093\r
+:102C20000FBE0E948E1B0E943C180E949918809132\r
+:102C3000E20084608093E20078940E941F1B0E944F\r
+:102C4000901B8AE792E00E943A1B80915E048530D7\r
+:102C500069F40E949B2780915C048823B1F30E9451\r
+:102C6000C927882391F30E949116EFCF0E94981BE9\r
+:102C7000ECCF292F332723303105C9F064F42130FC\r
+:102C8000310581F02230310509F043C08DE690E036\r
+:102C90002AE338E042C021323105F1F02232310519\r
+:102CA00041F137C082E190E027EA38E036C0992749\r
+:102CB0008130910541F08230910541F0892B49F531\r
+:102CC000E6E3F8E005C0E8E0F8E002C0EEEDF7E08A\r
+:102CD000849190E09F0121C06430D8F4E62FF0E0A9\r
+:102CE000EE0FFF1FE05BFC4F2081318189E090E017\r
+:102CF00014C0643070F470E0FB01EE0FFF1FE85B5E\r
+:102D0000FC4F20813181FB01EC5BFC4F808190E026\r
+:102D100004C080E090E020E030E0FA0131832083BD\r
+:102D2000089580E189BD82E189BD09B400FEFDCF2F\r
+:102D30008091D8008F7D8093D8008091E0008260E0\r
+:102D40008093E0008091E00081FDFCCF0895CF9258\r
+:102D5000DF92EF92FF920F931F93CF93DF93EC01DB\r
+:102D60008B016A010E940A18811133C0C114D10479\r
+:102D700039F0F60180819181081B190BC80FD91F0A\r
+:102D8000E12CF12C0115110519F18091E80085FD68\r
+:102D900016C08091E8008E778093E800C114D104BA\r
+:102DA00049F0F60180819181E80EF91EF182E082FE\r
+:102DB00085E00FC00E940A18882321F30AC0899178\r
+:102DC0008093F10001501109FFEFEF1AFF0ADACFEB\r
+:102DD00080E0DF91CF911F910F91FF90EF90DF90F6\r
+:102DE000CF90089520916504309166042617370727\r
+:102DF00048F06115710539F42091E8002E77209391\r
+:102E0000E80001C0B90140E061157105A9F1209108\r
+:102E10005E04222309F443C0253009F442C0209106\r
+:102E2000E80023FD40C02091E80022FD32C020913F\r
+:102E3000E80020FFE9CF4091F3002091F20030E05C\r
+:102E4000342BFC01CF016115710559F02830310593\r
+:102E500040F481918093F100615071092F5F3F4FE1\r
+:102E6000F1CF41E02830310509F040E02091E80041\r
+:102E70002E772093E800C8CF4111C9CF0AC08091B6\r
+:102E80005E04882361F0853061F08091E80083FD65\r
+:102E90000AC08091E80082FFF2CF80E0089582E0CE\r
+:102EA000089583E0089581E00895209165043091AC\r
+:102EB00066042617370748F06115710539F420912B\r
+:102EC000E8002E772093E80001C0B901FC0120E062\r
+:102ED0006115710591F180915E04882309F440C069\r
+:102EE000853009F43FC08091E80083FD3DC08091AA\r
+:102EF000E80082FD2FC08091E80080FFE9CF20919B\r
+:102F0000F3008091F20090E0922B6115710559F069\r
+:102F10008830910540F424912093F100319661505E\r
+:102F200071090196F2CF21E0089709F020E0809125\r
+:102F3000E8008E778093E800CBCF2111CCCF0AC078\r
+:102F400080915E04882361F0853061F08091E80013\r
+:102F500083FD0AC08091E80082FFF2CF80E00895EF\r
+:102F600082E0089583E0089581E00895982F9730D6\r
+:102F700058F59093E900981739F07091EC00209182\r
+:102F8000ED005091F00003C0242F762F50E021FF78\r
+:102F900019C03091EB003E7F3093EB003091ED0093\r
+:102FA0003D7F3093ED003091EB0031603093EB00CA\r
+:102FB0007093EC002093ED005093F0002091EE0010\r
+:102FC00027FF07C09F5FD3CF8F708093E90081E018\r
+:102FD000089580E0089580915F0487FF11C080917B\r
+:102FE000E80082FD05C080915E048111F8CF11C018\r
+:102FF0008091E8008B770BC080915E04882349F0B4\r
+:103000008091E80080FFF8CF8091E8008E77809370\r
+:10301000E80008952091E4003091E50095E64091A4\r
+:10302000EC00842F817040FF22C08091E80080FD79\r
+:103030001CC080915E04882391F0853091F08091CE\r
+:10304000EB0085FD10C04091E4005091E50042176F\r
+:10305000530729F39A01915011F784E0089582E013\r
+:10306000089583E0089581E0089580E008954091F7\r
+:10307000E80042FFDECF08950E94AA180E94B2180D\r
+:10308000E0EEF0E0808181608083E8EDF0E0808117\r
+:103090008F77808319BCA7EDB0E08C918E7F8C93E5\r
+:1030A00080818F7E808310925D0408950F931F931B\r
+:1030B000CF93DF930E94AA180E94B218C8EDD0E007\r
+:1030C00088818F77888388818068888388818F7DD5\r
+:1030D000888319BC10925E0410925A0410925C040A\r
+:1030E00010925B0400EE10E0F80180818B7F8083FA\r
+:1030F00088818160888342E060E080E00E94B617AA\r
+:10310000E1EEF0E080818E7F8083E2EEF0E080816E\r
+:1031100081608083808188608083F80180818E7FD8\r
+:103120008083888180618883DF91CF911F910F9187\r
+:103130000895E8EDF0E080818F7E8083E7EDF0E098\r
+:1031400080818160808384E082BF81E080935D0420\r
+:103150000C945618E8EDF0E080818E7F8083109209\r
+:10316000E20008951092DA001092E10008951F9293\r
+:103170000F920FB60F9211242F933F934F935F93AB\r
+:103180006F937F938F939F93AF93BF93EF93FF932F\r
+:103190008091E10082FF0BC08091E20082FF07C0B6\r
+:1031A0008091E1008B7F8093E1000E941E1B809143\r
+:1031B000DA0080FF1FC08091D80080FF1BC0809183\r
+:1031C000DA008E7F8093DA008091D90080FF0DC0F5\r
+:1031D00080E189BD82E189BD09B400FEFDCF81E0B7\r
+:1031E00080935E040E94221505C019BC10925E04F3\r
+:1031F0000E9430158091E10080FF19C08091E200AB\r
+:1032000080FF15C08091E2008E7F8093E200809164\r
+:10321000E20080618093E2008091D8008062809318\r
+:10322000D80019BC85E080935E040E94341580911B\r
+:10323000E10084FF30C08091E20084FF2CC080E177\r
+:1032400089BD82E189BD09B400FEFDCF8091D8001F\r
+:103250008F7D8093D8008091E1008F7E8093E10084\r
+:103260008091E2008F7E8093E2008091E200816095\r
+:103270008093E20080915A04882311F084E007C013\r
+:103280008091E30087FD02C081E001C083E080936C\r
+:103290005E040E9435158091E10083FF29C0809172\r
+:1032A000E20083FF25C08091E100877F8093E100E9\r
+:1032B00082E080935E0410925A048091E1008E7F38\r
+:1032C0008093E1008091E2008E7F8093E200809104\r
+:1032D000E20080618093E20042E060E080E00E94D2\r
+:1032E000B6178091F00088608093F0000E9433153B\r
+:1032F000FF91EF91BF91AF919F918F917F916F91CE\r
+:103300005F914F913F912F910F900FBE0F901F90A3\r
+:1033100018951F920F920FB60F9211242F933F937F\r
+:103320004F935F936F937F938F939F93AF93BF93CD\r
+:10333000CF93DF93EF93FF93C091E900CF7080911B\r
+:10334000EC00D82FD17080FDD0E81092E900809178\r
+:10335000F000877F8093F00078940E94CD1910923E\r
+:10336000E9008091F00088608093F000CD2BCF7051\r
+:10337000C093E900FF91EF91DF91CF91BF91AF91A1\r
+:103380009F918F917F916F915F914F913F912F917D\r
+:103390000F900FBE0F901F9018951F93CF93DF9340\r
+:1033A000CDB7DEB7AA970FB6F894DEBF0FBECDBF7C\r
+:1033B000EFE5F4E088E08E0F9091F10091938E1389\r
+:1033C000FBCF0E944B158091E80083FF1FC18091C5\r
+:1033D0005F0490916004492F50E04A30510508F095\r
+:1033E00015C1FA01EC59FF4F0C94E331803881F09C\r
+:1033F000823809F00BC1809163048F708093E900DB\r
+:103400008091EB0085FB882780F91092E90006C0C7\r
+:1034100080915B0490915C04911182609091E8002E\r
+:10342000977F9093E8008093F1001092F100C8C05C\r
+:10343000282F2D7F09F0EAC0882319F0823061F02F\r
+:10344000E5C080916104813009F0E0C0933009F05B\r
+:1034500080E080935C042BC080916104811127C0BF\r
+:10346000809163048F7009F4D1C08093E9002091AA\r
+:10347000EB0020FF1CC0933021F48091EB008062B0\r
+:1034800014C09091EB0090619093EB0021E030E04C\r
+:10349000A90102C0440F551F8A95E2F74093EA0044\r
+:1034A0001092EA008091EB0088608093EB0010920C\r
+:1034B000E9008091E800877F86C08111A7C0109144\r
+:1034C00061041F778091E3008078812B8093E30073\r
+:1034D0008091E800877F8093E8000E94EB1780913D\r
+:1034E000E80080FFFCCF8091E30080688093E300D8\r
+:1034F000111102C082E001C083E080935E0486C0A7\r
+:103500008058823008F082C08091610490916204FA\r
+:103510008C3D53E0950779F583E08A838AE28983BD\r
+:103520004FB7F894DE01139620E03EE051E2E32F1E\r
+:10353000F0E050935700E49120FF03C0E295EF7054\r
+:103540003F5FEF708E2F90E0EA3010F0C79601C019\r
+:10355000C0968D939D932F5F243149F74FBF809183\r
+:10356000E800877F8093E8006AE270E0CE01019670\r
+:103570000E94F21614C0AE014F5F5F4F609163046A\r
+:103580000E943916BC01009709F440C09091E800F0\r
+:10359000977F9093E80089819A810E9455178091C6\r
+:1035A000E8008B778093E80031C0803879F580910E\r
+:1035B000E800877F8093E80080915A048093F100AF\r
+:1035C0008091E8008E778093E8000E94EB171EC080\r
+:1035D00081111CC0909161049230C0F48091E80088\r
+:1035E000877F8093E80090935A040E94EB178091A4\r
+:1035F0005A04811106C08091E30087FD02C081E07A\r
+:1036000001C084E080935E040E9437158091E80039\r
+:1036100083FF0AC08091E800877F8093E800809153\r
+:10362000EB0080628093EB00AA960FB6F894DEBFA1\r
+:103630000FBECDBFDF91CF911F9108950895CF9315\r
+:1036400080915E048823A1F0C091E900CF70909131\r
+:10365000EC00892F817090FD80E8C82B1092E90062\r
+:103660008091E80083FD0E94CD19CF70C093E900DE\r
+:10367000CF9108959093DF038093DE030895E09146\r
+:10368000DE03F091DF03309721F00190F081E02D0F\r
+:10369000099480E00895E091DE03F091DF03309714\r
+:1036A00021F00280F381E02D09940895E091DE037A\r
+:1036B000F091DF03309721F00480F581E02D09942B\r
+:1036C00008952091DC033091DD038217930771F098\r
+:1036D0009093DD038093DC03E091DE03F091DF0340\r
+:1036E000309721F00680F781E02D0994089520910C\r
+:1036F000DA033091DB038217930771F09093DB03B9\r
+:103700008093DA03E091DE03F091DF03309721F03C\r
+:103710000084F185E02D0994089508950C948D1B83\r
+:103720000E9415280E94760B0E949B280C94562D0F\r
+:103730004F925F927F928F929F92AF92BF92CF9261\r
+:10374000DF92EF92FF920F931F93CF93DF93CDB74A\r
+:10375000DEB72A970FB6F894DEBF0FBECDBF0E942A\r
+:10376000650C91EEC92E93E0D92E00E010E0AA245A\r
+:10377000A394B12C702E802F0E94AE0D4C01F60147\r
+:10378000419051906F014826592641145104B1F4DB\r
+:103790000F5F1F4F0430110569F78FEF89838A830C\r
+:1037A0001B820E941E288160782F9D838C83498113\r
+:1037B0005A816B818D810E94511C3AC080913D04D9\r
+:1037C00081FD0E94B70D20E030E07501022E02C09D\r
+:1037D000EE0CFF1C0A94E2F7C70184219521892B86\r
+:1037E00009F12E837F828E209F2091E0892809F4A1\r
+:1037F00090E098870E941E288160782F9A87898799\r
+:103800004E815F8168858A850E94511C000F111FBF\r
+:10381000F801EF51FC4F80819181E826F926F18271\r
+:10382000E08206C02F5F3F4F2C30310571F6B0CFDC\r
+:103830000E94872A1091E0030E943F1B1817D9F0BD\r
+:103840000E943F1B8093E0032A960FB6F894DEBFD8\r
+:103850000FBECDBFDF91CF911F910F91FF90EF90E1\r
+:10386000DF90CF90BF90AF909F908F907F905F90B0\r
+:103870004F900C94AE0A2A960FB6F894DEBF0FBE96\r
+:10388000CDBFDF91CF911F910F91FF90EF90DF900F\r
+:10389000CF90BF90AF909F908F907F905F904F9010\r
+:1038A0000895CF93DF93CDB7DEB72B970FB6F8947B\r
+:1038B000DEBF0FBECDBF4F83588769877A878B875E\r
+:1038C000DE01119686E0FD0111928A95E9F785E007\r
+:1038D000FE01379601900D928A95E1F749815A8150\r
+:1038E0006B817C818D819E810E94F6232B960FB681\r
+:1038F000F894DEBF0FBECDBFDF91CF910895CF9377\r
+:10390000882309F4C2C0C82F823859F40E943F1B93\r
+:1039100081FDBBC089E30E949F260E946C2789E33A\r
+:103920000CC0833879F40E943F1B80FDAEC083E554\r
+:103930000E949F260E946C2783E50E94E126CF917A\r
+:103940000C946C27843859F40E943F1B82FD9DC063\r
+:1039500087E40E949F260E946C2787E4EECF8CEFBD\r
+:103960008C0F813A48F48C2F0E94BE2C81118DC09F\r
+:103970008C2F0E949F26E3CF80E28C0F883048F482\r
+:10398000C77081E001C0880FCA95EAF70E94252719\r
+:10399000D6CF8BE58C0F833078F4C53A29F0C63A40\r
+:1039A00031F083E890E005C081E890E002C082E851\r
+:1039B00090E0CF910C94611B88E58C0F833108F067\r
+:1039C00064C0C83A39F1C93A41F1CA3A49F1CB3A2F\r
+:1039D00051F1CC3A59F1CD3A61F1C03B69F1CE3A9F\r
+:1039E00071F1CF3A79F1C13B81F1C23B89F1C33B1F\r
+:1039F00091F1C43B99F1C53BA1F1C63BA9F1C73B8D\r
+:103A0000B1F1C83BB9F1C93BC1F1CA3BC9F180E092\r
+:103A100090E038C082EE90E035C089EE90E032C090\r
+:103A20008AEE90E02FC085EB90E02CC086EB90E012\r
+:103A300029C087EB90E026C08CEC90E023C08DEC91\r
+:103A400090E020C083E891E01DC08AE891E01AC0B0\r
+:103A500082E991E017C084E991E014C081E292E02C\r
+:103A600011C083E292E00EC084E292E00BC085E2D6\r
+:103A700092E008C086E292E005C087E292E002C0D0\r
+:103A80008AE292E0CF910C94771BCF91089588231E\r
+:103A900009F44BC0823859F40E943F1B81FF45C096\r
+:103AA00089E30E949F260E946C2789E30CC083381B\r
+:103AB00071F40E943F1B80FF38C083E50E949F265F\r
+:103AC0000E946C2783E50E94E1260C946C278438C1\r
+:103AD00059F40E943F1B82FF28C087E40E949F2662\r
+:103AE0000E946C2787E4EFCF9CEF980F913A58F330\r
+:103AF00090E2980F983050F4877091E001C0990FD0\r
+:103B00008A95EAF7892F0E942B27DFCF9BE5980F34\r
+:103B1000933020F480E090E00C94611B885A83314C\r
+:103B200020F480E090E00C94771B0895882321F026\r
+:103B30000E9425270C946C270895882321F00E9469\r
+:103B40002B270C946C270895BF92CF92DF92EF92AF\r
+:103B5000FF920F931F93CF93DF9300D000D000D03C\r
+:103B6000CDB7DEB725E0FC01DE01119601900D9284\r
+:103B70002A95E1F7FC01D0801181028125812295EF\r
+:103B80002F7043815481452B09F472C31F3F21F4E8\r
+:103B9000FFEFDF1609F46CC37C012E830E947707C8\r
+:103BA000D9821A8369817A81802F0E949B26182FDF\r
+:103BB000B92E0E9450260E9417252E81002319F04D\r
+:103BC0000E9442272E81EB2DE295EF70F0E0E25942\r
+:103BD000FF4F0C94E3318B2D807F9B2D9F70F92E2E\r
+:103BE000882319F0F29480EFF822002389F0FF2057\r
+:103BF00009F47CC280E2810F883020F48F2D0E946E\r
+:103C0000252703C08F2D0E9435270E946C276EC286\r
+:103C1000812F0E94471DFF2009F42AC3105E8F2DBB\r
+:103C2000183018F40E942B2702C00E943B272696CA\r
+:103C30000FB6F894DEBF0FBECDBFDF91CF911F91BD\r
+:103C40000F91FF90EF90DF90CF90BF900C946C2776\r
+:103C50008B2D807F9B2D9F70803211F4892F03C0A4\r
+:103C6000892F8295807F112319F0113011F12BC01B\r
+:103C70000023A9F0222389F1213079F526960FB689\r
+:103C8000F894DEBF0FBECDBFDF91CF911F910F9192\r
+:103C9000FF90EF90DF90CF90BF900C945527222398\r
+:103CA00019F0213009F4E4C28E830E9458278E81D6\r
+:103CB0009BC1002321F0263008F0DAC20EC0253067\r
+:103CC00008F0D6C291C10023C9F0222331F0F701D8\r
+:103CD000958190FF0BC29F70958326960FB6F8943E\r
+:103CE000DEBF0FBECDBFDF91CF911F910F91FF902F\r
+:103CF000EF90DF90CF90BF900C94961D222309F493\r
+:103D000073C109C22B2D26952695237030E021150D\r
+:103D1000310521F021303105D1F0AAC2002321F074\r
+:103D2000812F9B2D937002C080E090E026960FB605\r
+:103D3000F894DEBF0FBECDBFDF91CF911F910F91E1\r
+:103D4000FF90EF90DF90CF90BF900C94611B002309\r
+:103D500021F0812F9B2D937002C080E090E0269689\r
+:103D60000FB6F894DEBF0FBECDBFDF91CF911F918C\r
+:103D70000F91FF90EF90DF90CF90BF900C94771B46\r
+:103D8000812F002319F00E948F2902C00E94F72979\r
+:103D900026960FB6F894DEBF0FBECDBFDF91CF9150\r
+:103DA0001F910F91FF90EF90DF90CF90BF900C94F8\r
+:103DB0007C2A8B2D837009F07BC0011159C2812FA1\r
+:103DC000829586958770880F880F912F9F70C92ED6\r
+:103DD000D12CE12CF12C082E04C0CC0CDD1CEE1CE7\r
+:103DE000FF1C0A94D2F714FF12C04FE050E060E0CD\r
+:103DF00070E004C0440F551F661F771F8A95D2F7E5\r
+:103E0000CB01BA01609570958095909503C060E0F4\r
+:103E100070E0CB012B2D269526952370422F50E084\r
+:103E200042305105D9F04330510569F16C297D29A3\r
+:103E30008E299F294130510551F126960FB6F894ED\r
+:103E4000DEBF0FBECDBFDF91CF911F910F91FF90CD\r
+:103E5000EF90DF90CF90BF900C943E256C297D2988\r
+:103E60008E299F2926960FB6F894DEBF0FBECDBFD0\r
+:103E7000DF91CF911F910F91FF90EF90DF90CF9046\r
+:103E8000BF900C945A250E943E25C701B601269684\r
+:103E90000FB6F894DEBF0FBECDBFDF91CF911F915B\r
+:103EA0000F91FF90EF90DF90CF90BF900C94222560\r
+:103EB000002319F08B2D817001C08695882309F4A9\r
+:103EC000D7C1812F829586958770880F880F912F93\r
+:103ED0009F70C92ED12CE12CF12C082E04C0CC0CE3\r
+:103EE000DD1CEE1CFF1C0A94D2F714FF12C04FE039\r
+:103EF00050E060E070E004C0440F551F661F771F5C\r
+:103F00008A95D2F7CB01BA0160957095809590950E\r
+:103F100003C060E070E0CB012B2D26952695237021\r
+:103F2000422F50E042305105D9F04330510569F13C\r
+:103F30006C297D298E299F294130510551F1269602\r
+:103F40000FB6F894DEBF0FBECDBFDF91CF911F91AA\r
+:103F50000F91FF90EF90DF90CF90BF900C941826B8\r
+:103F60006C297D298E299F2926960FB6F894DEBFED\r
+:103F70000FBECDBFDF91CF911F910F91FF90EF90BA\r
+:103F8000DF90CF90BF900C9434260E941826C70172\r
+:103F9000B60126960FB6F894DEBF0FBECDBFDF91F7\r
+:103FA000CF911F910F91FF90EF90DF90CF90BF9036\r
+:103FB0000C94FC25103F49F118F4103E48F491C0D0\r
+:103FC000123F09F453C0E8F1133F09F464C089C0FB\r
+:103FD0001F708B2D8F71002321F00E949525812F5A\r
+:103FE0007CCE0E94B625812F26960FB6F894DEBFB0\r
+:103FF0000FBECDBFDF91CF911F910F91FF90EF903A\r
+:10400000DF90CF90BF900C949D1D0023B1F0253020\r
+:1040100008F02EC18B2D8F7126960FB6F894DEBF57\r
+:104020000FBECDBFDF91CF911F910F91FF90EF9009\r
+:10403000DF90CF90BF900C94DB25263008F018C19C\r
+:10404000E9CF0023A9F08B2D8F7126960FB6F89437\r
+:10405000DEBF0FBECDBFDF91CF911F910F91FF90BB\r
+:10406000EF90DF90CF90BF900C949525002359F3EB\r
+:104070008B2D8F7126960FB6F894DEBF0FBECDBF85\r
+:10408000DF91CF911F910F91FF90EF90DF90CF9034\r
+:10409000BF900C94B625002399F08B2D8F71269636\r
 :1040A0000FB6F894DEBF0FBECDBFDF91CF911F9149\r
-:1040B0000F91FF90EF90DF90CF90BF900C9465250B\r
-:1040C0000023A9F0222309F4ADCF812F26960FB645\r
-:1040D000F894DEBF0FBECDBFDF91CF911F910F913E\r
-:1040E000FF90EF90DF90CF90BF900C946E1C222336\r
-:1040F00009F4ADCF812F26960FB6F894DEBF0FBE20\r
-:10410000CDBFDF91CF911F910F91FF90EF90DF9086\r
-:10411000CF90BF900C94361D4B2D4F70612FC7016F\r
-:104120000E948D0526960FB6F894DEBF0FBECDBF58\r
-:10413000DF91CF911F910F91FF90EF90DF90CF9083\r
-:10414000BF900C948924011182C09B2D9F70492F30\r
-:1041500050E04230510509F443C0C4F44115510503\r
-:1041600071F14130510509F072C026960FB6F894EE\r
-:10417000DEBF0FBECDBFDF91CF911F910F91FF909A\r
-:10418000EF90DF90CF90BF900C946D2D4330510590\r
-:10419000C1F14430510509F05AC0812F26960FB65F\r
-:1041A000F894DEBF0FBECDBFDF91CF911F910F916D\r
-:1041B000FF90EF90DF90CF90BF900C94BF2D26968C\r
+:1040B0000F91FF90EF90DF90CF90BF900C948025F0\r
+:1040C00026960FB6F894DEBF0FBECDBFDF91CF911D\r
+:1040D0001F910F91FF90EF90DF90CF90BF900C94C5\r
+:1040E00076250023A9F0222309F4ADCF812F26964F\r
+:1040F0000FB6F894DEBF0FBECDBFDF91CF911F91F9\r
+:104100000F91FF90EF90DF90CF90BF900C947F1CA9\r
+:10411000222309F4ADCF812F26960FB6F894DEBF87\r
+:104120000FBECDBFDF91CF911F910F91FF90EF9008\r
+:10413000DF90CF90BF900C94471D4B2D4F70612F97\r
+:10414000C7010E94690526960FB6F894DEBF0FBE20\r
+:10415000CDBFDF91CF911F910F91FF90EF90DF9036\r
+:10416000CF90BF900C949A24011182C09B2D9F7018\r
+:10417000492F50E04230510509F443C0C4F44115C1\r
+:10418000510571F14130510509F072C026960FB604\r
+:10419000F894DEBF0FBECDBFDF91CF911F910F917D\r
+:1041A000FF90EF90DF90CF90BF900C947E2D433026\r
+:1041B0005105C1F14430510509F05AC0812F2696AE\r
 :1041C0000FB6F894DEBF0FBECDBFDF91CF911F9128\r
-:1041D0000F91FF90EF90DF90CF90BF900C94562DF1\r
+:1041D0000F91FF90EF90DF90CF90BF900C94D02D77\r
 :1041E00026960FB6F894DEBF0FBECDBFDF91CF91FC\r
 :1041F0001F910F91FF90EF90DF90CF90BF900C94A4\r
-:10420000892D26960FB6F894DEBF0FBECDBFDF9185\r
+:10420000672D26960FB6F894DEBF0FBECDBFDF91A7\r
 :10421000CF911F910F91FF90EF90DF90CF90BF90C3\r
-:104220000C949C2D4B2D4F70612FC70126960FB615\r
-:10423000F894DEBF0FBECDBFDF91CF911F910F91DC\r
-:10424000FF90EF90DF90CF90BF900C949D07269643\r
+:104220000C949A2D26960FB6F894DEBF0FBECDBF24\r
+:10423000DF91CF911F910F91FF90EF90DF90CF9082\r
+:10424000BF900C94AD2D4B2D4F70612FC70126965A\r
 :104250000FB6F894DEBF0FBECDBFDF91CF911F9197\r
-:104260000F91FF90EF90DF90CF90BF9008950E9444\r
-:1042700031270E9441270E9406270E945B270E9447\r
-:104280001C2B0E946B2A80E090E00E94501B80E073\r
-:1042900090E00C94661B0E9421270C9437210E9409\r
-:1042A0007F26292F22952F7030E02C3031054CF4D9\r
-:1042B0002A3031056CF4225031092230310588F45E\r
-:1042C00007C02C30310549F02F30310531F009C0DD\r
-:1042D000803E48F0803F29F406C093FB882780F990\r
-:1042E000089580E0089581E00895CF93DF9300D092\r
-:1042F00000D01F92CDB7DEB70F900F900F900F90A8\r
-:104300000F90DF91CF910895CF93DF9300D000D02D\r
-:1043100000D0CDB7DEB726960FB6F894DEBF0FBE3D\r
-:10432000CDBFDF91CF9108951F93CF93DF93C091BD\r
-:10433000990316E080919A03C81799F0D0E01C9F6A\r
-:10434000F0011D9FF00D1124E556FC4F4081518175\r
-:1043500062817381848195810E9484212196C77036\r
-:10436000E9CFDF91CF911F9108954091CB035091F8\r
-:10437000CC036091CD037091CE038091CF039091D7\r
-:10438000D0030C9484218091D00382958F7009F022\r
-:1043900054C08091CD03882309F44FC080919903C4\r
-:1043A000A0919A036091CB037091CC034091CE030E\r
-:1043B0005091CF03B6E08A1709F43FC090E0411551\r
-:1043C0005105C1F17F3F11F46F3FA1F1B89FF0019A\r
-:1043D000B99FF00D1124E556FC4F218172132AC0BC\r
-:1043E0002081621327C02281211124C023813481BE\r
-:1043F0002417350710F421503109241B350B283CB4\r
-:104400003105C0F42091D0032F7020612093D00398\r
-:1044100026E0289FF001299FF00D1124E056FC4F63\r
-:1044200080818F70806180838BEC93E00E94931D6C\r
-:104430000C94942101968770BECF0895CF92DF929D\r
-:10444000EF92FF920F931F93CF93DF93CDB7DEB719\r
-:1044500062970FB6F894DEBF0FBECDBF8C0185E02A\r
-:10446000F801DE011D9601900D928A95E1F7D801C1\r
-:104470004C9111965C91119712966C91129713962C\r
-:10448000CD90DC9014973091CB037091CC03809148\r
-:10449000CE039091CF03009709F46BC17F3F19F4CD\r
-:1044A0003F3F09F466C1E090CD03EE2009F4C0C09F\r
-:1044B0002091D003C816D90628F0F601E81BF90BA5\r
-:1044C000CF0104C0809590958C0D9D1DFF24F39421\r
-:1044D000883C910578F0F12C207F09F0C6C07C2D36\r
-:1044E000D98AC88A89890E9475218BEC93E00E9441\r
-:1044F000931DB1C0822F807F09F046C0751314C090\r
-:10450000341312C0611110C02F7020612093D003AA\r
-:104510000E94B5218BEC93E00E94931D8091D00303\r
-:10452000D80115968C932EC0CD2819F15F3F11F458\r
-:104530004F3FF9F0F62E61111CC080919903209134\r
-:104540009A0336E0821709F45AC090E0389FF001D0\r
-:10455000399FF00D1124E556FC4F7181571306C0A9\r
-:104560007081471303C07281711103C00196877077\r
-:10457000E9CFF62E662309F418C18091D00381603B\r
-:104580008093D003F12C11C1751308C0341306C0F9\r
-:10459000611104C08091D003D801C3C04D875E87EC\r
-:1045A0008D859E856A8B0E944F216A898823E1F15F\r
-:1045B0006623D1F12091D003822F82958F7090E0F5\r
-:1045C000029774F08091CB039091CC0398878F83EE\r
-:1045D0001986DB86CA862C87CE0107960E94931D1A\r
-:1045E00086E0F801ABECB3E001900D928A95E1F71B\r
-:1045F0000E94C3210E94B521FF24F394D6C04D87A9\r
-:104600005E878D859E850E947F26292F22952F709B\r
-:1046100030E0223031050CF0BCC09F7009F0B6C00C\r
-:10462000805E883008F4C1C0C8010E94931DE4CFA9\r
-:10463000C816D90608F453C0F601E81BF90BCF01E0\r
-:10464000883C910508F450C0F12C7C2DD98AC88A89\r
-:1046500089890E947521EBECF3E086E0DF011D9271\r
-:104660008A95E9F70E94B521A0C0751314C03413D0\r
-:1046700012C0611110C08091D003F8018583C80178\r
-:104680000E94931D86E0EBECF3E0DF011D928A951A\r
-:10469000E9F7FE2C8AC04D875E878D859E856A8BE3\r
-:1046A0000E944F216A89882309F4BECF662309F44A\r
-:1046B000BBCF2091D003822F82958F7090E002971C\r
-:1046C0000CF48ECF8091CB039091CC039A83898395\r
-:1046D0001B82DD82CC822E83CE0101967FCF809516\r
-:1046E00090958C0D9D1DACCFF62E662309F49CCFC2\r
-:1046F00075132EC034132CC02091D00320FD1FC091\r
-:10470000822F82958F70D9F0D80115962C9315972A\r
-:104710008F3049F08F5F982F9295907F822F8F7006\r
-:10472000892B15968C93C8010E94931D86E0F80191\r
-:10473000ABECB3E001900D928A95E1F793CF86E060\r
-:10474000F801ABECB3E001900D928A95E1F72DC032\r
-:104750004D875E878D859E850E944F21811140CFB8\r
-:104760008091D00381608093D003C8010E94931D83\r
-:104770001CC0662309F458CF4D875E878D859E85C2\r
-:104780000E944F21882309F44FCF2ACF811148CFAF\r
-:104790000CC0243031050CF047CF9F7009F440CF96\r
-:1047A000F8019581907F09F03BCF8F2D62960FB66F\r
-:1047B000F894DEBF0FBECDBFDF91CF911F910F9157\r
-:1047C000FF90EF90DF90CF9008951F93CF93DF93EA\r
-:1047D000CDB7DEB72C970FB6F894DEBF0FBECDBFB6\r
-:1047E0004F83588769877A878B879C87CE01079686\r
-:1047F0000E941E22882369F08F8198852A853B8537\r
-:10480000232BF1F19F3F09F063C08F3F09F060C097\r
-:1048100037C086E0FE013796DE01119601900D92B9\r
-:104820008A95E1F76F817885EA85FB85309741F1BC\r
-:104830007F3F11F46F3F21F120919A0330E0C901CD\r
-:104840000196877099274091990350E08417950746\r
-:1048500009F447C069837A83FD83EC8396E0929FD5\r
-:10486000D001939FB00D1124A556BC4FFE01319687\r
-:1048700001900D929A95E1F780939A030E949421FA\r
-:1048800016E08091990390919A038917C1F1189FBE\r
-:10489000C001112485569C4F0E941E22882379F165\r
-:1048A000E09199031E9FF0011124E556FC4F4081D1\r
-:1048B000518162817381848195810E9484218091DC\r
-:1048C000990390E001968770992780939903D9CF37\r
-:1048D0004F81588569857A858B859C850E948421C6\r
-:1048E000CFCF0E944B2110929A0310929903EBECC8\r
-:1048F000F3E086E0DF011D928A95E9F7C1CF2C969F\r
-:104900000FB6F894DEBF0FBECDBFDF91CF911F91E0\r
-:104910000895EF92FF920F931F93CF93DF938C0133\r
-:10492000009709F46CC0F12CEE24E394E801219681\r
-:10493000F8018491843740F4843008F051C081300C\r
-:1049400081F0823019F15BC0853709F444C0A8F1C9\r
-:104950009CE7980F903708F052C08F770E94361D61\r
-:1049600041C00E5F1F4FFE01C49180E28C0F883062\r
-:1049700048F4C7708E2D01C0880FCA95EAF70E94CF\r
-:10498000342714C08C2F0E946E1C2DC00E5F1F4F49\r
-:10499000FE01C49180E28C0F883058F4C7708E2DD0\r
-:1049A00001C0880FCA95EAF70E943A270E945B2748\r
-:1049B0001AC08C2F0E94361D16C00E5F1F4FFE01BD\r
-:1049C000C491CC2381F08FE99FE00197F1F700C0FB\r
-:1049D0000000C150F6CF0E5F1F4FFE01F49003C0E0\r
-:1049E0000E946E1C8E018F2D882309F49FCFEFE962\r
-:1049F000FFE03197F1F700C000008150F5CFDF9163\r
-:104A0000CF911F910F91FF90EF90089508956093BB\r
-:104A1000D5037093D6038093D7039093D8030C9457\r
-:104A200037210F931F930091D5031091D603209146\r
-:104A3000D7033091D803DC01CB01802B912BA22B23\r
-:104A4000B32B8093D5039093D603A093D703B09351\r
-:104A5000D8031F910F910C9437210F931F9300914E\r
-:104A6000D5031091D6032091D7033091D803DC01F0\r
-:104A7000CB0180239123A223B3238093D50390936A\r
-:104A8000D603A093D703B093D8031F910F910C9432\r
-:104A900037210F931F930091D5031091D6032091D6\r
-:104AA000D7033091D803DC01CB0180279127A227BF\r
-:104AB000B3278093D5039093D603A093D703B093E5\r
-:104AC000D8031F910F910C9437211092D1031092AB\r
-:104AD000D2031092D3031092D4030C94372141E0F7\r
-:104AE00050E060E070E004C0440F551F661F771F60\r
-:104AF0008A95D2F74093D1035093D2036093D303A6\r
-:104B00007093D4030C94372141E050E060E070E0F2\r
-:104B100004C0440F551F661F771F8A95D2F78091F6\r
-:104B2000D1039091D203A091D303B091D403482B29\r
-:104B3000592B6A2B7B2B4093D1035093D203609364\r
-:104B4000D3037093D4030C94372141E050E060E02C\r
-:104B500070E004C0440F551F661F771F8A95D2F777\r
-:104B600040955095609570958091D1039091D203B6\r
-:104B7000A091D303B091D403482359236A237B2304\r
-:104B80004093D1035093D2036093D3037093D40323\r
-:104B90000C94372141E050E060E070E004C0440F25\r
-:104BA000551F661F771F8A95D2F78091D103909188\r
-:104BB000D203A091D303B091D403482759276A2781\r
-:104BC0007B274093D1035093D2036093D303709318\r
-:104BD000D4030C9437210F931F930091D1031091AC\r
-:104BE000D2032091D3033091D403DC01CB01802B7D\r
-:104BF000912BA22BB32B8093D1039093D203A0933C\r
-:104C0000D303B093D4031F910F910C9437210F93CA\r
-:104C10001F930091D1031091D2032091D3033091BF\r
-:104C2000D403DC01CB0180239123A223B3238093FF\r
-:104C3000D1039093D203A093D303B093D4031F91D5\r
-:104C40000F910C9437210F931F930091D103109172\r
-:104C5000D2032091D3033091D403DC01CB01802710\r
-:104C60009127A227B3278093D1039093D203A093D7\r
-:104C7000D303B093D4031F910F910C94372108955F\r
-:104C8000CF92DF92EF92FF920F931F93CF93DF9318\r
-:104C90008C01C090D503D090D603E090D703F0905C\r
-:104CA000D8038091D1039091D203A091D303B09106\r
-:104CB000D403C82AD92AEA2AFB2ACFE1D0E0D701B7\r
-:104CC000C6010C2E04C0B695A795979587950A94B2\r
-:104CD000D2F780FF06C0B8018C2F0E94F709019718\r
-:104CE00021F4219760F780E001C08C2FDF91CF91F4\r
-:104CF0001F910F91FF90EF90DF90CF900895CF9389\r
-:104D0000DF93EC010E944026BE010E94F709DF916B\r
-:104D1000CF910895CB010E947F260895909186023D\r
-:104D2000992321F090918702911109C02091880266\r
-:104D300030918902F90132969FEF40E01FC0982F11\r
-:104D40009695969596959F3050F5E0918802F09152\r
-:104D50008902E90FF11D877021E030E0A90102C04E\r
-:104D6000440F551F8A95E2F7CA019181892B8183EF\r
-:104D700008959F3F39F04F5F4E3041F051915813E5\r
-:104D8000F8CF0DC05111F7CF942FF5CF9F3F39F0D9\r
-:104D9000F901E90FF11D97FDFA95828308950895B1\r
-:104DA00090918602992321F090918702911109C078\r
-:104DB0002091880230918902F9013296205F3F4F9D\r
-:104DC0001FC0982F9695969596959F30F0F4E09198\r
-:104DD0008802F0918902E90FF11D877021E030E02F\r
-:104DE000A90102C0440F551F8A95E2F7CA018095B8\r
-:104DF00091818923818308953196E217F30729F081\r
-:104E000090819813F9CF1082F7CF089581E090E058\r
-:104E1000E0918802F0918902E80FF91F1082019653\r
-:104E200080319105A9F708959091EC03892B809327\r
-:104E3000EC03089580959091EC0389238093EC0313\r
-:104E400008951092EC0308959091EB03892B8093C1\r
-:104E5000EB03089580959091EB0389238093EB03F6\r
-:104E600008951092EB0308959091EA03892B8093A3\r
-:104E7000EA03089580959091EA0389238093EA03D9\r
-:104E800008951092EA0308958093D903089510922B\r
-:104E9000D90308958091880290918902FC0131968E\r
-:104EA0009C01205F3F4F80E0919191118F5FE2174D\r
-:104EB000F307D1F70895E0918802F091890280917B\r
-:104EC000EC038083E0918802F091890290818091C7\r
-:104ED000EB03892B8083E0918802F0918902908115\r
-:104EE0008091EA03892B80838091D903882361F024\r
-:104EF000E0918802F09189029081892B80830E9441\r
-:104F00004A2781111092D9038091880290918902D9\r
-:104F10000C943A1B80910E04843039F11092EE0308\r
-:104F200020E488E190E00FB6F894A89580936000A3\r
-:104F30000FBE2093600080E00E94540580E00E9434\r
-:104F4000D20A83B7817F846083BF83B7816083BFC8\r
-:104F50007894889583B78E7F83BF88E10FB6F894E5\r
-:104F600080936000109260000FBE08950895089528\r
-:104F7000CF9380E00E9454050E94B6270E94890CBE\r
-:104F80000E94B727C0E08C2F0E94D20D892B29F4F4\r
-:104F9000CF5FC430C1F780E001C081E0CF910895B8\r
-:104FA0000E944B2180E00E9454050E94452D0E94E2\r
-:104FB0002E1B0C94D20A1F920F920FB60F9211243F\r
-:104FC0008F939F93AF93BF938091EE03811113C092\r
-:104FD0008091EF039091F003A091F103B091F2035F\r
-:104FE0004196A11DB11D8093EF039093F003A09310\r
-:104FF000F103B093F203BF91AF919F918F910F9006\r
-:105000000FBE0F901F90189582E084BD93E095BD70\r
-:105010009AEF97BD80936E0008952FB7F894809112\r
-:10502000EF039091F003A091F103B091F2032FBF31\r
-:105030000895CF92DF92EF92FF920F931F932FB7B5\r
-:10504000F8944091EF035091F0036091F103709157\r
-:10505000F2032FBF6A017B01EE24FF248C0120E0C4\r
-:1050600030E0C016D106E206F30610F441505109B3\r
-:105070009A01281B390BC9011F910F91FF90EF90E6\r
-:10508000DF90CF9008951F920F920FB60F921124C8\r
-:105090008F939F93AF93BF938091EF039091F00311\r
-:1050A000A091F103B091F2030196A11DB11D80936F\r
-:1050B000EF039093F003A093F103B093F203BF9139\r
-:1050C000AF919F918F910F900FBE0F901F901895E9\r
-:1050D0000E942B18F8942FEF87EA91E62150804028\r
-:1050E0009040E1F700C0000087E090EBDC01809386\r
-:1050F000190490931A04A0931B04B0931C049CE021\r
-:1051000088E10FB6F894A895809360000FBE909345\r
-:105110006000FFCF0E94C928811102C00E94A5280B\r
-:105120000E94D4288093ED030E94E1288093170405\r
-:1051300087FB882780F9809387020E94D828682FF0\r
-:1051400070E080E090E00C9407256DEE7EEF80E04B\r
-:1051500090E00E94AA3160E082E090E00E949831E5\r
-:1051600060E083E090E00E94983160E084E090E0AD\r
-:105170000E94983160E085E090E00E94983160E004\r
-:1051800086E090E00E9498316FEF87E090E00C9409\r
-:10519000983180E090E00E94923121E08D3E9E4F58\r
-:1051A00009F020E0822F089582E090E00C948A318B\r
-:1051B00083E090E00C948A31682F83E090E00C94B7\r
-:1051C000983184E090E00C948A31682F84E090E07C\r
-:1051D0000C94983186E090E00C948A31682F86E038\r
-:1051E00090E00C94983187E090E00C948A31682F1D\r
-:1051F00087E090E00C9498318091F50380FF0BC01C\r
-:1052000060918D0285E0689FB001112475956795C6\r
-:10521000759567952BC081FF09C060918D0285E06F\r
-:10522000689FB00111247595679520C082FF07C063\r
-:1052300060918D0285E0689FB001112417C09091A4\r
-:10524000F6039923D1F060918C02961788F720918C\r
-:105250008D0285E0289F90011124929FA001939FC9\r
-:10526000500D112470E0CA010E9470316038710540\r
-:1052700040F46115710539F002C065E070E0862FD9\r
-:1052800008958FE7089581E008958091F50380FFE8\r
-:1052900008C060918B0270E075956795759567956C\r
-:1052A00021C081FF06C060918B0270E07595679503\r
-:1052B00019C082FF04C060918B0270E010C0909111\r
-:1052C000F6039923C1F060918A029617A0F78091A6\r
-:1052D0008B02899FC001112470E00E9470316038F8\r
-:1052E000710528F46115710521F0862F08958FE767\r
-:1052F000089581E0089561E070E0F4CF803F21F4EB\r
-:105300000E94FC28819504C0813F29F40E94FC285A\r
-:105310008093F9030895823F21F40E94FC2881952F\r
-:1053200004C0833F29F40E94FC288093F803089569\r
-:10533000893F19F40E94452905C08A3F31F40E9433\r
-:10534000452981958093FA0308958B3F21F40E94AB\r
-:105350004529819504C08C3F29F40E9445298093FA\r
-:10536000FB030895843F21F48091F703816017C007\r
-:10537000853F21F48091F703826011C0863F21F4BC\r
-:105380008091F70384600BC0873F21F48091F7037D\r
-:10539000886005C0883F31F48091F7038061809375\r
-:1053A000F70308958D3F21F48091F50381600BC0D0\r
-:1053B0008E3F21F48091F503826005C08F3F29F470\r
-:1053C0008091F50384608093F5030895803F39F45C\r
-:1053D0008091F90387FF6CC01092F90369C0813F87\r
-:1053E00029F48091F9031816BCF362C09091F80378\r
-:1053F000823F29F497FF5CC01092F80359C0833FA5\r
-:1054000019F41916CCF354C0893F41F48091FA0382\r
-:1054100018160CF04DC01092FA034AC08A3F29F4C6\r
-:105420008091FA0387FF44C0F6CF8B3F39F4809117\r
-:10543000FB0387FF3DC01092FB033AC08C3F29F469\r
-:105440008091FB031816BCF333C0843F21F4809194\r
-:10545000F7038E7F17C0853F21F48091F7038D7F7E\r
-:1054600011C0863F21F48091F7038B7F0BC0873FEB\r
-:1054700021F48091F703877F05C0883F31F4809144\r
-:10548000F7038F7E8093F70313C08D3F21F4809143\r
-:10549000F5038E7F0BC08E3F21F48091F5038D7F45\r
-:1054A00005C08F3F29F48091F5038B7F8093F5032E\r
-:1054B0008091F80381110EC08091F90381110AC017\r
-:1054C0008091FA03811106C08091FB03811102C013\r
-:1054D0001092F603089587EF93E00E94451B0E9407\r
-:1054E0000D289093F4038093F30308951F93CF93B3\r
-:1054F000DF938091F3039091F4030E941928AC018B\r
-:105500009091F603992321F020918E0230E006C09D\r
-:1055100020918F028AE0289F90011124421753079F\r
-:1055200008F486C08091F803C091F903D091FA0382\r
-:105530001091FB03811107C0C11176C0D11174C055\r
-:10554000111172C075C09F3F19F09F5F9093F603D1\r
-:10555000181624F40E94FC288093F8038091F80325\r
-:1055600087FF05C00E94FC2881958093F8031C16D4\r
-:1055700024F40E94FC288093F9038091F90387FFAB\r
-:1055800005C00E94FC2881958093F9036091F8037F\r
-:10559000662339F1C091F903CC2319F1772767FD10\r
-:1055A0007095872F972F0E94E02E23E333E343E388\r
-:1055B0005FE30E94942F0E94AD2E6093F8036C2F3E\r
-:1055C000772767FD7095872F972F0E94E02E23E3A2\r
-:1055D00033E343E35FE30E94942F0E94AD2E609378\r
-:1055E000F9031D1624F40E9445298093FA03809143\r
-:1055F000FA0387FF05C00E94452981958093FA032D\r
-:10560000111624F40E9445298093FB038091FB032B\r
-:1056100087FF05C00E94452981958093FB03DF9198\r
-:10562000CF911F910C946B2A9F3F09F08ECF96CF9C\r
-:10563000DF91CF911F910895E7EFF3E085E0DF015F\r
-:105640001D928A95E9F71092F6031092F5030895DA\r
-:10565000833081F128F4813059F08230D1F00895FF\r
-:10566000853009F449C0B8F1863009F456C0089570\r
-:1056700080918F02262F30E0280F311D2F3F3105FA\r
-:1056800024F4680F60938F0208958FEF80938F0248\r
-:10569000089580918E02262F30E0280F311D2F3F74\r
-:1056A000310524F4680F60938E0208958FEF809384\r
-:1056B0008E02089580918D02262F30E0280F311D33\r
-:1056C0002F3F310524F4680F60938D0208958FEF0A\r
-:1056D00080938D02089580918C02262F30E0280F50\r
-:1056E000311D2F3F310524F4680F60938C0208951B\r
-:1056F0008FEF80938C02089580918B02262F30E0EB\r
-:10570000280F311D2F3F310524F4680F60938B0261\r
-:1057100008958FEF80938B02089580918A02262F3F\r
+:104260000F91FF90EF90DF90CF90BF900C94790763\r
+:1042700026960FB6F894DEBF0FBECDBFDF91CF916B\r
+:104280001F910F91FF90EF90DF90CF90BF90089516\r
+:104290000E9442270E9452270E9417270E946C27E3\r
+:1042A0000E942D2B0E947C2A80E090E00E94611BDE\r
+:1042B00080E090E00C94771B0E9432270C944821F8\r
+:1042C0000E949026292F22952F7030E02C30310546\r
+:1042D0004CF42A3031056CF422503109223031057A\r
+:1042E00088F407C02C30310549F02F30310531F00A\r
+:1042F00009C0803E48F0803F29F406C093FB882720\r
+:1043000080F9089580E0089581E00895CF93DF93C8\r
+:1043100000D000D01F92CDB7DEB70F900F900F9056\r
+:104320000F900F90DF91CF910895CF93DF9300D03E\r
+:1043300000D000D0CDB7DEB726960FB6F894DEBF1A\r
+:104340000FBECDBFDF91CF9108951F93CF93DF9321\r
+:10435000C091E90316E08091EA03C81799F0D0E014\r
+:104360001C9FF0011D9FF00D1124E551FC4F408171\r
+:10437000518162817381848195810E94952121966A\r
+:10438000C770E9CFDF91CF911F91089540911B0431\r
+:1043900050911C0460911D0470911E0480911F04B3\r
+:1043A000909120040C9495218091200482958F7027\r
+:1043B00009F054C080911D04882309F44FC08091F6\r
+:1043C000E903A091EA0360911B0470911C044091E1\r
+:1043D0001E0450911F04B6E08A1709F43FC090E014\r
+:1043E00041155105C1F17F3F11F46F3FA1F1B89F15\r
+:1043F000F001B99FF00D1124E551FC4F218172139A\r
+:104400002AC02081621327C02281211124C0238168\r
+:1044100034812417350710F421503109241B350B42\r
+:10442000283C3105C0F4209120042F702061209396\r
+:10443000200426E0289FF001299FF00D1124E0516F\r
+:10444000FC4F80818F70806180838BE194E00E94BB\r
+:10445000A41D0C94A52101968770BECF0895CF921C\r
+:10446000DF92EF92FF920F931F93CF93DF93CDB71D\r
+:10447000DEB762970FB6F894DEBF0FBECDBF8C01DA\r
+:1044800085E0F801DE011D9601900D928A95E1F715\r
+:10449000D8014C9111965C91119712966C911297DC\r
+:1044A0001396CD90DC90149730911B0470911C04EE\r
+:1044B00080911E0490911F04009709F46BC17F3F07\r
+:1044C00019F43F3F09F466C1E0901D04EE2009F4A1\r
+:1044D000C0C020912004C816D90628F0F601E81BB8\r
+:1044E000F90BCF0104C0809590958C0D9D1DFF2484\r
+:1044F000F394883C910578F0F12C207F09F0C6C038\r
+:104500007C2DD98AC88A89890E9486218BE194E012\r
+:104510000E94A41DB1C0822F807F09F046C0751390\r
+:1045200014C0341312C0611110C02F702061209389\r
+:1045300020040E94C6218BE194E00E94A41D80917A\r
+:104540002004D80115968C932EC0CD2819F15F3F19\r
+:1045500011F44F3FF9F0F62E61111CC08091E90370\r
+:104560002091EA0336E0821709F45AC090E0389FA0\r
+:10457000F001399FF00D1124E551FC4F7181571363\r
+:1045800006C07081471303C07281711103C0019688\r
+:104590008770E9CFF62E662309F418C180912004B4\r
+:1045A000816080932004F12C11C1751308C034136D\r
+:1045B00006C0611104C080912004D801C3C04D879A\r
+:1045C0005E878D859E856A8B0E9460216A8988231B\r
+:1045D000E1F16623D1F120912004822F82958F7022\r
+:1045E00090E0029774F080911B0490911C049887CE\r
+:1045F0008F831986DB86CA862C87CE0107960E9498\r
+:10460000A41D86E0F801ABE1B4E001900D928A951B\r
+:10461000E1F70E94D4210E94C621FF24F394D6C062\r
+:104620004D875E878D859E850E949026292F229535\r
+:104630002F7030E0223031050CF0BCC09F7009F0C3\r
+:10464000B6C0805E883008F4C1C0C8010E94A41DB5\r
+:10465000E4CFC816D90608F453C0F601E81BF90BDD\r
+:10466000CF01883C910508F450C0F12C7C2DD98AEB\r
+:10467000C88A89890E948621EBE1F4E086E0DF01A7\r
+:104680001D928A95E9F70E94C621A0C0751314C037\r
+:10469000341312C0611110C080912004F801858389\r
+:1046A000C8010E94A41D86E0EBE1F4E0DF011D9249\r
+:1046B0008A95E9F7FE2C8AC04D875E878D859E8599\r
+:1046C0006A8B0E9460216A89882309F4BECF662321\r
+:1046D00009F4BBCF20912004822F82958F7090E047\r
+:1046E00002970CF48ECF80911B0490911C049A8346\r
+:1046F00089831B82DD82CC822E83CE0101967FCFFF\r
+:10470000809590958C0D9D1DACCFF62E662309F4F7\r
+:104710009CCF75132EC034132CC02091200420FD93\r
+:104720001FC0822F82958F70D9F0D80115962C93D7\r
+:1047300015978F3049F08F5F982F9295907F822F39\r
+:104740008F70892B15968C93C8010E94A41D86E05A\r
+:10475000F801ABE1B4E001900D928A95E1F793CFB7\r
+:1047600086E0F801ABE1B4E001900D928A95E1F7A3\r
+:104770002DC04D875E878D859E850E9460218111A9\r
+:1047800040CF80912004816080932004C8010E9462\r
+:10479000A41D1CC0662309F458CF4D875E878D8504\r
+:1047A0009E850E946021882309F44FCF2ACF811172\r
+:1047B00048CF0CC0243031050CF047CF9F7009F46E\r
+:1047C00040CFF8019581907F09F03BCF8F2D629605\r
+:1047D0000FB6F894DEBF0FBECDBFDF91CF911F9112\r
+:1047E0000F91FF90EF90DF90CF9008951F93CF939C\r
+:1047F000DF93CDB7DEB72C970FB6F894DEBF0FBEB0\r
+:10480000CDBF4F83588769877A878B879C87CE0176\r
+:1048100007960E942F22882369F08F8198852A8528\r
+:104820003B85232BF1F19F3F09F063C08F3F09F0D7\r
+:1048300060C037C086E0FE013796DE011196019018\r
+:104840000D928A95E1F76F817885EA85FB8530972F\r
+:1048500041F17F3F11F46F3F21F12091EA0330E0F5\r
+:10486000C9010196877099274091E90350E08417A8\r
+:10487000950709F447C069837A83FD83EC8396E04A\r
+:10488000929FD001939FB00D1124A551BC4FFE0102\r
+:10489000319601900D929A95E1F78093EA030E9478\r
+:1048A000A52116E08091E9039091EA038917C1F1EF\r
+:1048B000189FC001112485519C4F0E942F228823EC\r
+:1048C00079F1E091E9031E9FF0011124E551FC4FBD\r
+:1048D0004081518162817381848195810E949521FB\r
+:1048E0008091E90390E00196877099278093E9030E\r
+:1048F000D9CF4F81588569857A858B859C850E94A3\r
+:104900009521CFCF0E945C211092EA031092E90317\r
+:10491000EBE1F4E086E0DF011D928A95E9F7C1CF73\r
+:104920002C960FB6F894DEBF0FBECDBFDF91CF91AE\r
+:104930001F910895EF92FF920F931F93CF93DF93F0\r
+:104940008C01009709F46CC0F12CEE24E394E8018B\r
+:104950002196F8018491843740F4843008F051C0E6\r
+:10496000813081F0823019F15BC0853709F444C091\r
+:10497000A8F19CE7980F903708F052C08F770E94FB\r
+:10498000471D41C00E5F1F4FFE01C49180E28C0F96\r
+:10499000883048F4C7708E2D01C0880FCA95EAF799\r
+:1049A0000E94452714C08C2F0E947F1C2DC00E5FD3\r
+:1049B0001F4FFE01C49180E28C0F883058F4C770FD\r
+:1049C0008E2D01C0880FCA95EAF70E944B270E94DE\r
+:1049D0006C271AC08C2F0E94471D16C00E5F1F4FF8\r
+:1049E000FE01C491CC2381F08FE99FE00197F1F79C\r
+:1049F00000C00000C150F6CF0E5F1F4FFE01F490C3\r
+:104A000003C00E947F1C8E018F2D882309F49FCF45\r
+:104A1000EFE9FFE03197F1F700C000008150F5CFDA\r
+:104A2000DF91CF911F910F91FF90EF90089508951E\r
+:104A300060932504709326048093270490932804A0\r
+:104A40000C9448210F931F93009125041091260484\r
+:104A50002091270430912804DC01CB01802B912B7D\r
+:104A6000A22BB32B8093250490932604A0932704B4\r
+:104A7000B09328041F910F910C9448210F931F931A\r
+:104A800000912504109126042091270430912804D8\r
+:104A9000DC01CB0180239123A223B323809325043F\r
+:104AA00090932604A0932704B09328041F910F919C\r
+:104AB0000C9448210F931F93009125041091260414\r
+:104AC0002091270430912804DC01CB018027912715\r
+:104AD000A227B3278093250490932604A09327044C\r
+:104AE000B09328041F910F910C9448211092210437\r
+:104AF0001092220410922304109224040C94482152\r
+:104B000041E050E060E070E004C0440F551F661FB4\r
+:104B1000771F8A95D2F74093210450932204609323\r
+:104B20002304709324040C94482141E050E060E099\r
+:104B300070E004C0440F551F661F771F8A95D2F797\r
+:104B40008091210490912204A0912304B091240427\r
+:104B5000482B592B6A2B7B2B409321045093220422\r
+:104B600060932304709324040C94482141E050E0A6\r
+:104B700060E070E004C0440F551F661F771F8A95E0\r
+:104B8000D2F7409550956095709580912104909151\r
+:104B90002204A0912304B0912404482359236A23BA\r
+:104BA0007B23409321045093220460932304709349\r
+:104BB00024040C94482141E050E060E070E004C01F\r
+:104BC000440F551F661F771F8A95D2F780912104E5\r
+:104BD00090912204A0912304B091240448275927DE\r
+:104BE0006A277B2740932104509322046093230477\r
+:104BF000709324040C9448210F931F930091210477\r
+:104C0000109122042091230430912404DC01CB0173\r
+:104C1000802B912BA22BB32B809321049093220401\r
+:104C2000A0932304B09324041F910F910C94482166\r
+:104C30000F931F93009121041091220420912304CB\r
+:104C400030912404DC01CB0180239123A223B323E0\r
+:104C50008093210490932204A0932304B09324040E\r
+:104C60001F910F910C9448210F931F9300912104E1\r
+:104C7000109122042091230430912404DC01CB0103\r
+:104C800080279127A227B3278093210490932204A1\r
+:104C9000A0932304B09324041F910F910C944821F6\r
+:104CA0000895CF92DF92EF92FF920F931F93CF93CD\r
+:104CB000DF938C01C0902504D0902604E090270457\r
+:104CC000F09028048091210490912204A091230463\r
+:104CD000B0912404C82AD92AEA2AFB2ACFE1D0E0DD\r
+:104CE000D701C6010C2E04C0B695A7959795879558\r
+:104CF0000A94D2F780FF06C0B8018C2F0E94D30916\r
+:104D0000019721F4219760F780E001C08C2FDF919B\r
+:104D1000CF911F910F91FF90EF90DF90CF9008956A\r
+:104D2000CF93DF93EC010E945126BE010E94D3096C\r
+:104D3000DF91CF910895CB010E9490260895909124\r
+:104D40008402992321F090918502911109C020914C\r
+:104D5000860230918702F90132969FEF40E01FC032\r
+:104D6000982F9695969596959F3050F5E0918602EE\r
+:104D7000F0918702E90FF11D877021E030E0A90171\r
+:104D800002C0440F551F8A95E2F7CA019181892B11\r
+:104D9000818308959F3F39F04F5F4E3041F051912C\r
+:104DA0005813F8CF0DC05111F7CF942FF5CF9F3F77\r
+:104DB00039F0F901E90FF11D97FDFA958283089505\r
+:104DC000089590918402992321F090918502911188\r
+:104DD00009C02091860230918702F9013296205F46\r
+:104DE0003F4F1FC0982F9695969596959F30F0F45B\r
+:104DF000E0918602F0918702E90FF11D877021E0B2\r
+:104E000030E0A90102C0440F551F8A95E2F7CA019C\r
+:104E1000809591818923818308953196E217F30764\r
+:104E200029F090819813F9CF1082F7CF089581E08F\r
+:104E300090E0E0918602F0918702E80FF91F10825E\r
+:104E4000019680319105A9F7089590913C04892B32\r
+:104E500080933C040895809590913C04892380932D\r
+:104E60003C04089510923C04089590913B04892BD2\r
+:104E700080933B040895809590913B04892380930F\r
+:104E80003B04089510923B04089590913A04892BB5\r
+:104E900080933A040895809590913A0489238093F1\r
+:104EA0003A04089510923A040895809329040895CD\r
+:104EB0001092290408958091860290918702FC0146\r
+:104EC00031969C01205F3F4F80E0919191118F5F5F\r
+:104ED000E217F307D1F70895E0918602F091870277\r
+:104EE00080913C048083E0918602F091870290815A\r
+:104EF00080913B04892B8083E0918602F0918702A8\r
+:104F0000908180913A04892B8083809129048823A1\r
+:104F100061F0E0918602F09187029081892B808375\r
+:104F20000E945B2781111092290480918602909142\r
+:104F300087020C944B1B80915E04843039F11092EF\r
+:104F40003E0420E488E190E00FB6F894A8958093A1\r
+:104F500060000FBE2093600080E00E94300580E07A\r
+:104F60000E94AE0A83B7817F846083BF83B781606C\r
+:104F700083BF7894889583B78E7F83BF88E10FB60F\r
+:104F8000F89480936000109260000FBE0895089519\r
+:104F90000895CF9380E00E9430050E94C7270E94A9\r
+:104FA000650C0E94C827C0E08C2F0E94AE0D892B93\r
+:104FB00029F4CF5FC430C1F780E001C081E0CF9118\r
+:104FC00008950E945C2180E00E9430050E94562DC9\r
+:104FD0000E943F1B0C94AE0A1F920F920FB60F92C5\r
+:104FE00011248F939F93AF93BF9380913E048111BF\r
+:104FF00013C080913F0490914004A0914104B0916E\r
+:1050000042044196A11DB11D80933F04909340043A\r
+:10501000A0934104B0934204BF91AF919F918F91AF\r
+:105020000F900FBE0F901F90189582E084BD93E003\r
+:1050300095BD9AEF97BD80936E0008952FB7F894B1\r
+:1050400080913F0490914004A0914104B0914204AA\r
+:105050002FBF0895CF92DF92EF92FF920F931F938D\r
+:105060002FB7F89440913F0450914004609141045F\r
+:10507000709142042FBF6A017B01EE24FF248C0152\r
+:1050800020E030E0C016D106E206F30610F44150ED\r
+:1050900051099A01281B390BC9011F910F91FF90EB\r
+:1050A000EF90DF90CF9008951F920F920FB60F925E\r
+:1050B00011248F939F93AF93BF9380913F0490915E\r
+:1050C0004004A0914104B09142040196A11DB11D7C\r
+:1050D00080933F0490934004A0934104B093420412\r
+:1050E000BF91AF919F918F910F900FBE0F901F9026\r
+:1050F00018950E943C18F8942FEF87EA91E621500A\r
+:1051000080409040E1F700C0000087E090EBDC01B8\r
+:105110008093690490936A04A0936B04B0936C0429\r
+:105120009CE088E10FB6F894A895809360000FBECC\r
+:1051300090936000FFCF0E94DA28811102C00E9484\r
+:10514000B6280E94E52880933D040E94F2288093AF\r
+:10515000670487FB882780F9809385020E94E928ED\r
+:10516000682F70E080E090E00C9418256DEE7EEFE3\r
+:1051700080E090E00E94093260E082E090E00E94CE\r
+:10518000F73160E083E090E00E94F73160E084E076\r
+:1051900090E00E94F73160E085E090E00E94F731F6\r
+:1051A00060E086E090E00E94F7316FEF87E090E0EA\r
+:1051B0000C94F73180E090E00E94F13121E08D3EC7\r
+:1051C0009E4F09F020E0822F089582E090E00C9439\r
+:1051D000E93183E090E00C94E931682F83E090E0BE\r
+:1051E0000C94F73184E090E00C94E931682F84E06E\r
+:1051F00090E00C94F73186E090E00C94E931682F50\r
+:1052000086E090E00C94F73187E090E00C94E9316F\r
+:10521000682F87E090E00C94F7318091450480FF7F\r
+:105220000BC060918B0285E0689FB00111247595D9\r
+:105230006795759567952BC081FF09C060918B02BA\r
+:1052400085E0689FB00111247595679520C082FFA5\r
+:1052500007C060918B0285E0689FB001112417C0E0\r
+:10526000909146049923D1F060918A02961788F7AD\r
+:1052700020918B0285E0289F90011124929FA0012C\r
+:10528000939F500D112470E0CA010E94CF31603805\r
+:10529000710540F46115710539F002C065E070E0F8\r
+:1052A000862F08958FE7089581E008958091450441\r
+:1052B00080FF08C06091890270E0759567957595CB\r
+:1052C000679521C081FF06C06091890270E07595E5\r
+:1052D000679519C082FF04C06091890270E010C018\r
+:1052E000909146049923C1F0609188029617A0F727\r
+:1052F00080918902899FC001112470E00E94CF3102\r
+:105300006038710528F46115710521F0862F089524\r
+:105310008FE7089581E0089561E070E0F4CF803F69\r
+:1053200021F40E940D29819504C0813F29F40E9437\r
+:105330000D29809349040895823F21F40E940D298C\r
+:10534000819504C0833F29F40E940D29809348046D\r
+:105350000895893F19F40E94562905C08A3F31F407\r
+:105360000E945629819580934A0408958B3F21F429\r
+:105370000E945629819504C08C3F29F40E94562929\r
+:1053800080934B040895843F21F480914704816009\r
+:1053900017C0853F21F480914704826011C0863F89\r
+:1053A00021F48091470484600BC0873F21F48091F1\r
+:1053B0004704886005C0883F31F4809147048061CC\r
+:1053C0008093470408958D3F21F4809145048160C6\r
+:1053D0000BC08E3F21F480914504826005C08F3F51\r
+:1053E00029F4809145048460809345040895803FAA\r
+:1053F00039F48091490487FF6CC01092490469C058\r
+:10540000813F29F4809149041816BCF362C0909141\r
+:105410004804823F29F497FF5CC01092480459C0A9\r
+:10542000833F19F41916CCF354C0893F41F480919D\r
+:105430004A0418160CF04DC010924A044AC08A3F24\r
+:1054400029F480914A0487FF44C0F6CF8B3F39F49A\r
+:1054500080914B0487FF3DC010924B043AC08C3FB3\r
+:1054600029F480914B041816BCF333C0843F21F417\r
+:10547000809147048E7F17C0853F21F480914704B7\r
+:105480008D7F11C0863F21F4809147048B7F0BC034\r
+:10549000873F21F480914704877F05C0883F31F41E\r
+:1054A000809147048F7E8093470413C08D3F21F481\r
+:1054B000809145048E7F0BC08E3F21F4809145047E\r
+:1054C0008D7F05C08F3F29F4809145048B7F8093A9\r
+:1054D00045048091480481110EC0809149048111D6\r
+:1054E0000AC080914A04811106C080914B04811149\r
+:1054F00002C010924604089587E494E00E94561B6F\r
+:105500000E941E28909344048093430408951F939F\r
+:10551000CF93DF9380914304909144040E942A2802\r
+:10552000AC0190914604992321F020918C0230E047\r
+:1055300006C020918D028AE0289F90011124421715\r
+:10554000530708F486C080914804C0914904D09163\r
+:105550004A0410914B04811107C0C11176C0D111CA\r
+:1055600074C0111172C075C09F3F19F09F5F909376\r
+:105570004604181624F40E940D2980934804809153\r
+:10558000480487FF05C00E940D2981958093480437\r
+:105590001C1624F40E940D2980934904809149042B\r
+:1055A00087FF05C00E940D29819580934904609171\r
+:1055B0004804662339F1C0914904CC2319F17727B7\r
+:1055C00067FD7095872F972F0E94F12E23E333E319\r
+:1055D00043E35FE30E9401300E94BE2E60934804C3\r
+:1055E0006C2F772767FD7095872F972F0E94F12EDC\r
+:1055F00023E333E343E35FE30E9401300E94BE2EC6\r
+:10560000609349041D1624F40E94562980934A048D\r
+:1056100080914A0487FF05C00E9456298195809396\r
+:105620004A04111624F40E94562980934B04809159\r
+:105630004B0487FF05C00E945629819580934B0437\r
+:10564000DF91CF911F910C947C2A9F3F09F08ECF60\r
+:1056500096CFDF91CF911F910895E7E4F4E085E0C4\r
+:10566000DF011D928A95E9F71092460410924504D5\r
+:105670000895833081F128F4813059F08230D1F0DF\r
+:105680000895853009F449C0B8F1863009F456C050\r
+:10569000089580918D02262F30E0280F311D2F3F75\r
+:1056A000310524F4680F60938D0208958FEF809385\r
+:1056B0008D02089580918C02262F30E0280F311D35\r
+:1056C0002F3F310524F4680F60938C0208958FEF0B\r
+:1056D00080938C02089580918B02262F30E0280F52\r
+:1056E000311D2F3F310524F4680F60938B0208951C\r
+:1056F0008FEF80938B02089580918A02262F30E0ED\r
+:10570000280F311D2F3F310524F4680F60938A0262\r
+:1057100008958FEF80938A02089580918902262F41\r
 :1057200030E0280F311D2F3F310524F4680F6093BE\r
-:105730008A0208958FEF80938A020895833011F1D1\r
-:1057400028F4813049F0823091F00895853081F15C\r
-:1057500020F18630C1F1089580918F02681720F4FE\r
-:10576000861B80938F02089510928F020895809176\r
-:105770008E02681720F4861B80938E020895109283\r
-:105780008E02089580918D02681720F4861B809305\r
-:105790008D02089510928D02089580918C026817F1\r
-:1057A00020F4861B80938C02089510928C02089539\r
-:1057B00080918B02681720F4861B80938B020895DA\r
-:1057C00010928B02089580918A02681720F4861B3C\r
-:1057D00080938A02089510928A0208950F931F936E\r
-:1057E000873208F048C08E3108F094C0803109F447\r
-:1057F0007EC008F5873009F468C068F4863009F087\r
-:10580000A4C08091ED03817F8E7F8093ED0381E0C2\r
-:105810008093FD039BC08B3009F490C08E3009F05B\r
-:1058200094C08091ED0382FB222720F991E092271A\r
-:1058300090FB82F965C0863109F480C060F4813143\r
-:1058400009F083C00E944B219091870281E0892753\r
-:105850008093870273C0893109F470C08B3109F0DD\r
-:1058600074C08091ED0381FB222720F991E09227FB\r
-:1058700090FB81F945C0883309F460C050F4893247\r
-:1058800009F45EC0853309F45BC0873209F458C05F\r
-:105890005CC0833409F454C028F48A3308F455C03A\r
-:1058A000895339C0883409F050C00E944B210E94AE\r
-:1058B00090060FEF13ED20E3015010402040E1F778\r
-:1058C00000C000000E94682839C09091ED03892F24\r
-:1058D0008095817080FB90F929F096609860909394\r
-:1058E000ED0334C0997F977F9093ED0327C080919B\r
-:1058F000ED0383FB222720F991E0922790FB83F9A7\r
-:105900008093ED039923D1F08091ED038160809322\r
-:10591000ED0314C08D5141E050E060E070E08A0179\r
-:105920009B0104C0000F111F221F331F8A95D2F75D\r
-:10593000C901B8010E9407250E944B2181E006C0E1\r
-:1059400061E070E080E090E0F5CF80E01F910F9182\r
-:10595000089580E0089580E00895CF93C82F809146\r
-:10596000FD03813069F018F08230C9F184C0E09104\r
-:105970008802F09189028081823209F07EC007C0DE\r
-:10598000E0918802F09189028081823261F48C2F4B\r
-:105990000E94A92C811104C08C2F0E94EE2B1DC0E7\r
-:1059A00081E090E01AC08C2F0E94AB2C811114C0B2\r
-:1059B000C43179F048F4CB3079F0C03109F061C0DE\r
-:1059C00082E08093FD0308C0C93219F0C83321F08A\r
-:1059D00058C01092FD0355C081E0817054C0C93297\r
-:1059E00091F120F5C43179F1B0F4C73009F047C026\r
-:1059F0008EE180938F0282E380938E028AE080930F\r
-:105A00008D0284E180938C0288E080938B0288E28F\r
-:105A100080938A0234C0CE51C63088F5EC2FF0E076\r
-:105A2000E65FFC4F80818093FC0329C0CE34E9F00F\r
-:105A300020F4CB3421F56AE013C0C13579F0C235CA\r
-:105A4000F1F461E00DC08091FC03882319F01092FD\r
-:105A5000FC0315C081E08093FD0315C061E006C022\r
-:105A60008091FC030E94282B0AC06AE08091FC030D\r
-:105A70000E949E2B04C01092FD0380E004C081E0D0\r
-:105A800002C080E0AACFCF9108950E94C928811159\r
-:105A900002C00E94A5280E94EA288093180480FF73\r
-:105AA00002C0869501C080E00C94540580911804D2\r
-:105AB000982F9695292F30E0233031054CF49F5FC5\r
-:105AC000990F8170892B8160809318040E94EE28C1\r
-:105AD0008091180486950C94540580911804982F91\r
-:105AE000969591F09158990F8170892B80931804A5\r
-:105AF0008E7F91E009F490E08091180490FB80F98A\r
-:105B0000809318040E94EE288091180486950C94C6\r
-:105B1000540580911804982F909590FB80F98093FC\r
-:105B200018040E94EE288091180480FF02C0869518\r
-:105B300001C080E00C94540590911804892F86953B\r
-:105B40008F5F8F779170843028F4880F892B809332\r
-:105B5000180402C090931804809118048E7F91E07D\r
-:105B600009F490E08091180490FB80F98093180468\r
-:105B70000E94EE288091180486950C94540520917B\r
-:105B80001804922F96958927982F990F822F81704C\r
-:105B9000892B809318048E7F91E009F490E0809126\r
-:105BA000180490FB80F9809318040E94EE288091DD\r
-:105BB000180486950C9454055058BB27AA270ED07C\r
-:105BC00075C166D130F06BD120F031F49F3F11F4F4\r
-:105BD0001EF45BC10EF4E095E7FB51C1E92F77D1CC\r
-:105BE00080F3BA17620773078407950718F071F4FA\r
-:105BF0009EF58FC10EF4E0950B2EBA2FA02D0B0150\r
-:105C0000B90190010C01CA01A0011124FF27591B01\r
-:105C100099F0593F50F4503E68F11A16F040A22F07\r
-:105C2000232F342F4427585FF3CF46953795279578\r
-:105C3000A795F0405395C9F77EF41F16BA0B620B77\r
-:105C4000730B840BBAF09150A1F0FF0FBB1F661FBE\r
-:105C5000771F881FC2F70EC0BA0F621F731F841F01\r
-:105C600048F4879577956795B795F7959E3F08F027\r
-:105C7000B3CF9395880F08F09927EE0F97958795E6\r
-:105C80000895D9D008F481E008950CD00FC107D150\r
-:105C900040F0FED030F021F45F3F19F0F0C0511118\r
-:105CA00039C1F3C014D198F39923C9F35523B1F343\r
-:105CB000951B550BBB27AA2762177307840738F07B\r
-:105CC0009F5F5F4F220F331F441FAA1FA9F333D0DA\r
-:105CD0000E2E3AF0E0E830D091505040E695001C8E\r
-:105CE000CAF729D0FE2F27D0660F771F881FBB1F4A\r
-:105CF000261737074807AB07B0E809F0BB0B802D24\r
-:105D0000BF01FF2793585F4F2AF09E3F510568F06F\r
-:105D1000B6C000C15F3FECF3983EDCF38695779503\r
-:105D20006795B795F7959F5FC9F7880F911D969571\r
-:105D3000879597F90895E1E0660F771F881FBB1FCD\r
-:105D4000621773078407BA0720F0621B730B840B7A\r
-:105D5000BA0BEE1F88F7E095089504D06894B1114E\r
-:105D6000D9C00895BCD088F09F5790F0B92F9927DB\r
-:105D7000B751A0F0D1F0660F771F881F991F1AF056\r
-:105D8000BA95C9F712C0B13081F0C3D0B1E008951F\r
-:105D9000C0C0672F782F8827B85F39F0B93FCCF3A0\r
-:105DA000869577956795B395D9F73EF4909580954C\r
-:105DB000709561957F4F8F4F9F4F0895E89409C06C\r
-:105DC00097FB3EF490958095709561957F4F8F4F2E\r
-:105DD0009F4F9923A9F0F92F96E9BB279395F69544\r
-:105DE000879577956795B795F111F8CFFAF4BB0FC2\r
-:105DF00011F460FF1BC06F5F7F4F8F4F9F4F16C026\r
-:105E0000882311F096E911C0772321F09EE8872FAF\r
-:105E1000762F05C0662371F096E8862F70E060E06B\r
-:105E20002AF09A95660F771F881FDAF7880F9695E4\r
-:105E3000879597F90895990F0008550FAA0BE0E888\r
-:105E4000FEEF16161706E807F907C0F0121613063C\r
-:105E5000E407F50798F0621B730B840B950B39F47C\r
-:105E60000A2661F0232B242B252B21F408950A26E2\r
-:105E700009F4A140A6958FEF811D811D089597F922\r
-:105E80009F6780E870E060E008959FEF80EC0895E0\r
-:105E900000240A9416161706180609060895002409\r
-:105EA0000A9412161306140605060895092E039483\r
-:105EB000000C11F4882352F0BB0F40F4BF2B11F4F7\r
-:105EC00060FF04C06F5F7F4F8F4F9F4F089557FD56\r
-:105ED0009058440F551F59F05F3F71F04795880F58\r
-:105EE00097FB991F61F09F3F79F0879508951216EF\r
-:105EF00013061406551FF2CF4695F1DF08C016169B\r
-:105F000017061806991FF1CF86957105610508944B\r
-:105F10000895E894BB2766277727CB0197F9089562\r
-:105F20008ADF08F48FEF08950BD0C0CFB1DF28F0DF\r
-:105F3000B6DF18F0952309F0A2CFA7CF1124EACF3E\r
-:105F4000C6DFA0F3959FD1F3950F50E0551F629FD8\r
-:105F5000F001729FBB27F00DB11D639FAA27F00DC2\r
-:105F6000B11DAA1F649F6627B00DA11D661F829FE9\r
-:105F70002227B00DA11D621F739FB00DA11D621FCE\r
-:105F8000839FA00D611D221F749F3327A00D611DEB\r
-:105F9000231F849F600D211D822F762F6A2F1124CD\r
-:105FA0009F5750408AF0E1F088234AF0EE0FFF1F20\r
-:105FB000BB1F661F771F881F91505040A9F79E3F57\r
-:105FC000510570F05CCFA6CF5F3FECF3983EDCF359\r
-:105FD000869577956795B795F795E7959F5FC1F794\r
-:105FE000FE2B880F911D9695879597F90895FA01D4\r
-:105FF000EE0FFF1F30962105310599F161157105EE\r
-:1060000061F48038BFE39B0749F1689490388105BB\r
-:1060100061F08038BFEF9B0741F0992342F5FF3FC5\r
-:10602000E1053105210511F1E8940894E795D901BE\r
-:10603000AA2329F4AB2FBE2FF85FD0F310C0FF5F67\r
-:1060400070F4A695E0F7F73950F019F0FF3A38F4FC\r
-:106050009F779F930CD00F9007FC905808953EF0C7\r
-:1060600014CF60E070E080E89FE308954FE79F77EA\r
-:106070005F934F933F932F939ED02F913F914F91DA\r
-:106080005F9152DF05C019F40EF0F9CE42CFFDCE7C\r
-:1060900026DFC8F39638C0F707F80F92E8942BE391\r
-:1060A0003AEA48EB5FE74EDF0F920F920F924DB73F\r
-:1060B0005EB70F92C0D0E4E4F1E016D04F915F914B\r
-:1060C000EF91FF91E595EE1FFF1F49F0FE57E06845\r
-:1060D0004427EE0F441FFA95E1F74195550B32D056\r
-:1060E0000F9007FE26C00895DF93CF931F930F9361\r
-:1060F000FF92EF92DF927B018C01689405C0DA2E4B\r
-:10610000EF011EDFFE01E894A5912591359145919F\r
-:106110005591AEF3EF0162DDFE019701A801DA941B\r
-:1061200079F7DF90EF90FF900F911F91CF91DF9162\r
-:1061300008959B01AC0160E070E080E89FE3A5CD8D\r
-:106140009ECEACC0CCDEE8F39923D9F3940F511D59\r
-:10615000BBF39150504094F059F0882332F0660F11\r
-:10616000771F881F91505040C1F79E3F510544F75B\r
-:10617000880F911D9695879597F908955F3FACF02C\r
-:10618000983E9CF0BB27869577956795B79508F460\r
-:10619000B1609395C1F7BB0F58F711F460FFE8CFDA\r
-:1061A0006F5F7F4F8F4F9F4FE3CFB4CE0EF076C01F\r
-:1061B0006CCE689464CE93DEC8F39923D1F3C6F312\r
-:1061C000DF93CF931F930F93FF92C92FDD2788236F\r
-:1061D0002AF02197660F771F881FDAF720E030E05A\r
-:1061E00040E85FEB9FE3883920F0803E30F0219655\r
-:1061F0008F77E3DCECE6F1E003C0DFDCE9E9F1E016\r
-:1062000073DF8B01BE01EC01FB2E6F577109759591\r
-:10621000771F880B990BD4DD28E132E741E35FE378\r
-:106220008FDEAF2D9801AE01FF900F911F91CF919E\r
-:10623000DF91D4DC3BCEFA01DC01AA0FBB1F9B012E\r
-:10624000AC01BF5728F422273327442750781FC0BA\r
-:10625000B75188F4AB2F0024469537952795011C3C\r
-:10626000A395D2F3002069F0220F331F441FB3958A\r
-:10627000DAF30DD0A1CC61307105A0E88A07B946E8\r
-:1062800030F49B01AC0166277727882790783096F9\r
-:1062900021F0208331834283538308959F3F31F05F\r
-:1062A000915020F4879577956795B795880F911D44\r
-:1062B0009695879597F90895AA1BBB1B51E107C0D6\r
-:1062C000AA1FBB1FA617B70710F0A61BB70B881F86\r
-:1062D000991F5A95A9F780959095BC01CD01089515\r
-:1062E00097FB072E16F4009407D077FD09D00E9483\r
-:1062F0005C3107FC05D03EF4909581959F4F089541\r
-:10630000709561957F4F0895EE0FFF1F0590F491F2\r
-:10631000E02D0994F999FECF92BD81BDF89A992795\r
-:1063200080B50895A8E1B0E042E050E00C94B231AD\r
-:10633000262FF999FECF92BD81BDF89A019700B43E\r
-:10634000021639F01FBA20BD0FB6F894FA9AF99ADE\r
-:106350000FBE08950196272F0E9499310C94983111\r
-:10636000DC01CB01FC01F999FECF06C0F2BDE1BD15\r
-:10637000F89A319600B40D9241505040B8F7089504\r
-:04638000F894FFCFBF\r
-:1063840007000C52D02445000000410000DC44000A\r
-:1063940000004152D0A4440000404100005C44008D\r
-:1063A40000004148F17644000000415C978A4400B3\r
-:1063B4000000411FD592440000004152D0A4440083\r
-:1063C4000000415CFFB844000000410AA7CF44002C\r
-:1063D4000000410000DC44000000410AA7CF440053\r
-:1063E4000000410000DC4400000041000000000007\r
-:1063F40000804000005C45000040410000000000B7\r
-:1064040000804052D02445000040410AA7CF4400F8\r
-:106414000000410000DC44000000410000000000D6\r
-:1064240000804052D024450000404100000000009C\r
-:1064340000804000005C45000040410AA7CF4400B2\r
-:106444000000410000DC44000000410000000000A6\r
-:1064540000804052D024450000404100000000006C\r
-:106464000080400AA74F45000040410AA7CF4400DE\r
-:106474000000410000DC4400000041000000000076\r
-:1064840000804052D024450000004100000000007C\r
-:106494000080405CFF38450000004100000000001F\r
-:1064A40000804052D02445000000410AA7CF440098\r
-:1064B4000000410000DC4400000041000000000036\r
-:1064C40000804052D024450000804153D024450030\r
-:1064D40000404160970A450000004154D0A44400A4\r
-:1064E4000000410000DC440000004160970A4500C0\r
-:1064F40000A041050000003F0000C8423214C0144F\r
-:106504009D14691435140101DA032808140A321E93\r
-:106514000000020004000500070009000B000C0045\r
-:106524000E001000110013001500170018001A00C7\r
-:106534001C001D001F002100230024002600280049\r
-:1065440029002B002D002F003000320034003500CC\r
-:10655400370039003B00400045002500260061005B\r
-:106564006000200037006400650066006700440096\r
-:106574004600240047003F4D3639BD0970093A09E9\r
-:1065840001099408AD08C608DF08010203040506E2\r
-:0465940007080900EB\r
+:10573000890208958FEF80938902089580918802ED\r
+:10574000262F30E0280F311D2F3F310524F4680F3C\r
+:105750006093880208958FEF8093880208958330C4\r
+:1057600011F128F4813049F0823091F008958530AC\r
+:1057700081F120F18630C1F1089580918D02681782\r
+:1057800020F4861B80938D02089510928D02089557\r
+:1057900080918C02681720F4861B80938C020895F8\r
+:1057A00010928C02089580918B02681720F4861B5A\r
+:1057B00080938B02089510928B02089580918A0243\r
+:1057C000681720F4861B80938A02089510928A023B\r
+:1057D000089580918902681720F4861B80938902BE\r
+:1057E000089510928902089580918802681720F424\r
+:1057F000861B8093880208951092880208950F9363\r
+:105800001F93873208F048C08E3108F094C0803171\r
+:1058100009F47EC008F5873009F468C068F4863062\r
+:1058200009F0A4C080913D04817F8E7F80933D0468\r
+:1058300081E080934D049BC08B3009F490C08E3082\r
+:1058400009F094C080913D0482FB222720F991E069\r
+:10585000922790FB82F965C0863109F480C060F41C\r
+:10586000813109F083C00E945C219091850281E022\r
+:1058700089278093850273C0893109F470C08B3108\r
+:1058800009F074C080913D0481FB222720F991E04A\r
+:10589000922790FB81F945C0883309F460C050F429\r
+:1058A000893209F45EC0853309F45BC0873209F49C\r
+:1058B00058C05CC0833409F454C028F48A3308F417\r
+:1058C00055C0895339C0883409F050C00E945C210A\r
+:1058D0000E946C060FEF13ED20E3015010402040B2\r
+:1058E000E1F700C000000E94792839C090913D0482\r
+:1058F000892F8095817080FB90F929F096609860DF\r
+:1059000090933D0434C0997F977F90933D0427C0C6\r
+:1059100080913D0483FB222720F991E0922790FBA0\r
+:1059200083F980933D049923D1F080913D048160F7\r
+:1059300080933D0414C08D5141E050E060E070E080\r
+:105940008A019B0104C0000F111F221F331F8A957B\r
+:10595000D2F7C901B8010E9418250E945C2181E09C\r
+:1059600006C061E070E080E090E0F5CF80E01F913C\r
+:105970000F91089580E0089580E00895CF93C82F97\r
+:1059800080914D04813069F018F08230C9F184C0F3\r
+:10599000E0918602F09187028081823209F07EC018\r
+:1059A00007C0E0918602F09187028081823261F423\r
+:1059B0008C2F0E94BA2C811104C08C2F0E94FF2BC7\r
+:1059C0001DC081E090E01AC08C2F0E94BC2C811178\r
+:1059D00014C0C43179F048F4CB3079F0C03109F00B\r
+:1059E00061C082E080934D0408C0C93219F0C83309\r
+:1059F00021F058C010924D0455C081E0817054C010\r
+:105A0000C93291F120F5C43179F1B0F4C73009F011\r
+:105A100047C08EE180938D0282E380938C028AE0FE\r
+:105A200080938B0284E180938A0288E080938902CC\r
+:105A300088E28093880234C0CE51C63088F5EC2FBE\r
+:105A4000F0E0E85AFC4F808180934C0429C0CE34AA\r
+:105A5000E9F020F4CB3421F56AE013C0C13579F0C8\r
+:105A6000C235F1F461E00DC080914C04882319F037\r
+:105A700010924C0415C081E080934D0415C061E084\r
+:105A800006C080914C040E94392B0AC06AE08091C4\r
+:105A90004C040E94AF2B04C010924D0480E004C05F\r
+:105AA00081E002C080E0AACFCF9108950E94DA2859\r
+:105AB000811102C00E94B6280E94FB2880936804CE\r
+:105AC00080FF02C0869501C080E00C943005809173\r
+:105AD0006804982F9695292F30E0233031054CF437\r
+:105AE0009F5F990F8170892B8160809368040E9469\r
+:105AF000FF288091680486950C9430058091680495\r
+:105B0000982F969591F09158990F8170892B8093D9\r
+:105B100068048E7F91E009F490E08091680490FB26\r
+:105B200080F9809368040E94FF288091680486951C\r
+:105B30000C94300580916804982F909590FB80F923\r
+:105B4000809368040E94FF288091680480FF02C04F\r
+:105B5000869501C080E00C94300590916804892FEF\r
+:105B600086958F5F8F779170843028F4880F892B0A\r
+:105B70008093680402C090936804809168048E7FCB\r
+:105B800091E009F490E08091680490FB80F98093A3\r
+:105B900068040E94FF288091680486950C94300563\r
+:105BA00020916804922F96958927982F990F822F1C\r
+:105BB0008170892B809368048E7F91E009F490E0D6\r
+:105BC0008091680490FB80F9809368040E94FF280C\r
+:105BD0008091680486950C9430055058BB27AA27FD\r
+:105BE0000ED0D1C1C2D130F0C7D120F031F49F3FE7\r
+:105BF00011F41EF4B7C10EF4E095E7FB9FC1E92F45\r
+:105C0000D3D180F3BA17620773078407950718F09A\r
+:105C100071F49EF5EBC10EF4E0950B2EBA2FA02D7A\r
+:105C20000B01B90190010C01CA01A0011124FF2749\r
+:105C3000591B99F0593F50F4503E68F11A16F04044\r
+:105C4000A22F232F342F4427585FF3CF4695379543\r
+:105C50002795A795F0405395C9F77EF41F16BA0B08\r
+:105C6000620B730B840BBAF09150A1F0FF0FBB1FB6\r
+:105C7000661F771F881FC2F70EC0BA0F621F731FFF\r
+:105C8000841F48F4879577956795B795F7959E3F5C\r
+:105C900008F0B3CF9395880F08F09927EE0F9795EA\r
+:105CA0008795089527D108F481E008950CD06BC141\r
+:105CB00063D140F05AD130F021F45F3F19F03EC17A\r
+:105CC000511195C14FC170D198F39923C9F3552350\r
+:105CD000B1F3951B550BBB27AA27621773078407DF\r
+:105CE00038F09F5F5F4F220F331F441FAA1FA9F395\r
+:105CF00033D00E2E3AF0E0E830D091505040E69587\r
+:105D0000001CCAF729D0FE2F27D0660F771F881FE7\r
+:105D1000BB1F261737074807AB07B0E809F0BB0BD6\r
+:105D2000802DBF01FF2793585F4F2AF09E3F5105FA\r
+:105D300068F004C15CC15F3FECF3983EDCF38695EC\r
+:105D400077956795B795F7959F5FC9F7880F911D70\r
+:105D50009695879597F90895E1E0660F771F881F5C\r
+:105D6000BB1F621773078407BA0720F0621B730B0F\r
+:105D7000840BBA0BEE1F88F7E095089504D0689461\r
+:105D8000B11135C1089518D188F09F5790F0B92FFF\r
+:105D90009927B751A0F0D1F0660F771F881F991F80\r
+:105DA0001AF0BA95C9F712C0B13081F01FD1B1E035\r
+:105DB00008951CC1672F782F8827B85F39F0B93F45\r
+:105DC000CCF3869577956795B395D9F73EF4909582\r
+:105DD0008095709561957F4F8F4F9F4F0895E89400\r
+:105DE00009C097FB3EF490958095709561957F4F23\r
+:105DF0008F4F9F4F9923A9F0F92F96E9BB279395D1\r
+:105E0000F695879577956795B795F111F8CFFAF4E0\r
+:105E1000BB0F11F460FF1BC06F5F7F4F8F4F9F4F11\r
+:105E200016C0882311F096E911C0772321F09EE86F\r
+:105E3000872F762F05C0662371F096E8862F70E0D5\r
+:105E400060E02AF09A95660F771F881FDAF7880FAF\r
+:105E50009695879597F9089588D018F011F08CD011\r
+:105E600038F480C0C4C0E92F9FD0B0F35523C9F3E4\r
+:105E7000E7FB6217730784079507A8F199F3E92FE9\r
+:105E8000FF2788232AF03197660F771F881FDAF7DC\r
+:105E9000952F5527442332F091505040220F331F45\r
+:105EA000441FD2F7BB27E91BF50B621B730B840B56\r
+:105EB000B109C1F222F4620F731F841FB11D319723\r
+:105EC0002AF0660F771F881FBB1FEFCF91505040FD\r
+:105ED0005AF041F0882332F0660F771F881F9150E7\r
+:105EE0005040C1F7939530C08695779567959F5F31\r
+:105EF000D9F7F8CF990F0008550FAA0BE0E8FEEF8D\r
+:105F000016161706E807F907C0F012161306E4077D\r
+:105F1000F50798F0621B730B840B950B39F40A2676\r
+:105F200061F0232B242B252B21F408950A2609F454\r
+:105F3000A140A6958FEF811D811D089597F99F6758\r
+:105F400080E870E060E008959F3F31F0915020F4C8\r
+:105F5000879577956795B795880F911D9695879545\r
+:105F600097F908959FEF80EC089500240A9416167F\r
+:105F7000170618060906089500240A941216130637\r
+:105F8000140605060895092E0394000C11F48823C5\r
+:105F900052F0BB0F40F4BF2B11F460FF04C06F5FE1\r
+:105FA0007F4F8F4F9F4F089557FD9058440F551FB7\r
+:105FB00059F05F3F71F04795880F97FB991F61F08B\r
+:105FC0009F3F79F087950895121613061406551F02\r
+:105FD000F2CF4695F1DF08C0161617061806991F6E\r
+:105FE000F1CF86957105610508940895E894BB2763\r
+:105FF00066277727CB0197F908957CDF08F48FEFA8\r
+:1060000008950BD0C0CFB1DF28F0B6DF18F095238C\r
+:1060100009F094CFA7CF1124EACFC6DFA0F3959F54\r
+:10602000D1F3950F50E0551F629FF001729FBB277F\r
+:10603000F00DB11D639FAA27F00DB11DAA1F649F2B\r
+:106040006627B00DA11D661F829F2227B00DA11DDE\r
+:10605000621F739FB00DA11D621F839FA00D611D64\r
+:10606000221F749F3327A00D611D231F849F600D85\r
+:10607000211D822F762F6A2F11249F5750408AF0BE\r
+:10608000E1F088234AF0EE0FFF1FBB1F661F771F4A\r
+:10609000881F91505040A9F79E3F510570F04ECF98\r
+:1060A000A6CF5F3FECF3983EDCF386957795679536\r
+:1060B000B795F795E7959F5FC1F7FE2B880F911D68\r
+:1060C0009695879597F90895FA01EE0FFF1F309680\r
+:1060D0002105310599F16115710561F48038BFE33F\r
+:1060E0009B0749F168949038810561F08038BFEFD3\r
+:1060F0009B0741F0992342F5FF3FE105310521055A\r
+:1061000011F1E8940894E795D901AA2329F4AB2F5B\r
+:10611000BE2FF85FD0F310C0FF5F70F4A695E0F7D4\r
+:10612000F73950F019F0FF3A38F49F779F930CD06D\r
+:106130000F9007FC905808953EF014CF60E070E097\r
+:1061400080E89FE308954FE79F775F934F933F93D6\r
+:106150002F939ED02F913F914F915F9152DF05C0B9\r
+:1061600019F40EF0EBCE42CFFDCE26DFC8F3963801\r
+:10617000C0F707F80F92E8942BE33AEA48EB5FE7A1\r
+:106180004EDF0F920F920F924DB75EB70F92C0D0B5\r
+:10619000ECEFF0E016D04F915F91EF91FF91E59514\r
+:1061A000EE1FFF1F49F0FE57E0684427EE0F441F23\r
+:1061B000FA95E1F74195550B32D00F9007FE26C0B6\r
+:1061C0000895DF93CF931F930F93FF92EF92DF9287\r
+:1061D0007B018C01689405C0DA2EEF011EDFFE0101\r
+:1061E000E894A5912591359145915591AEF3EF0134\r
+:1061F00006DDFE019701A801DA9479F7DF90EF90B0\r
+:10620000FF900F911F91CF91DF9108959B01AC01F9\r
+:1062100060E070E080E89FE349CD90CE95CECCDE83\r
+:10622000E8F39923D9F3940F511DBBF391505040DB\r
+:1062300094F059F0882332F0660F771F881F915031\r
+:106240005040C1F79E3F510544F7880F911D969528\r
+:10625000879597F908955F3FACF0983E9CF0BB2777\r
+:10626000869577956795B79508F4B1609395C1F7D2\r
+:10627000BB0F58F711F460FFE8CF6F5F7F4F8F4F70\r
+:106280009F4FE3CFB4CE0EF05FCE6CCE689456CE67\r
+:1062900093DEC8F39923D1F3C6F3DF93CF931F9313\r
+:1062A0000F93FF92C92FDD2788232AF02197660FCD\r
+:1062B000771F881FDAF720E030E040E85FEB9FE3CC\r
+:1062C000883920F0803E30F021968F7787DCE4E239\r
+:1062D000F1E003C083DCE1E5F1E073DF8B01BE0197\r
+:1062E000EC01FB2E6F5771097595771F880B990B81\r
+:1062F00078DD28E132E741E35FE38FDEAF2D9801DF\r
+:10630000AE01FF900F911F91CF91DF9178DC3BCED2\r
+:10631000FA01DC01AA0FBB1F9B01AC01BF5728F497\r
+:1063200022273327442750781FC0B75188F4AB2F5A\r
+:106330000024469537952795011CA395D2F300209C\r
+:1063400069F0220F331F441FB395DAF30DD045CC0B\r
+:1063500061307105A0E88A07B94630F49B01AC01B1\r
+:106360006627772788279078309621F0208331831D\r
+:10637000428353830895AA1BBB1B51E107C0AA1F88\r
+:10638000BB1FA617B70710F0A61BB70B881F991FD6\r
+:106390005A95A9F780959095BC01CD01089597FB7A\r
+:1063A000072E16F4009407D077FD09D00E94BB3168\r
+:1063B00007FC05D03EF4909581959F4F0895709508\r
+:1063C00061957F4F0895EE0FFF1F0590F491E02D2A\r
+:1063D0000994F999FECF92BD81BDF89A992780B5AD\r
+:1063E0000895A8E1B0E042E050E00C941132262F6D\r
+:1063F000F999FECF92BD81BDF89A019700B40216BB\r
+:1064000039F01FBA20BD0FB6F894FA9AF99A0FBE68\r
+:1064100008950196272F0E94F8310C94F731DC0182\r
+:10642000CB01FC01F999FECF06C0F2BDE1BDF89A9F\r
+:10643000319600B40D9241505040B8F70895F89449\r
+:02644000FFCF8C\r
+:106442000C52D02445000000410000DC4400000052\r
+:106452004152D0A4440000404100005C44000000CE\r
+:106462004148F17644000000415C978A44000000F4\r
+:10647200411FD592440000004152D0A444000000C4\r
+:10648200415CFFB844000000410AA7CF440000006D\r
+:10649200410000DC44000000410AA7CF4400000094\r
+:1064A200410000DC440000004100000000000080C8\r
+:1064B2004000005C450000404100000000000080F8\r
+:1064C2004052D02445000040410AA7CF44000000BA\r
+:1064D200410000DC44000000410000000000008098\r
+:1064E2004052D024450000404100000000000080DE\r
+:1064F2004000005C45000040410AA7CF4400000074\r
+:10650200410000DC44000000410000000000008067\r
+:106512004052D024450000404100000000000080AD\r
+:10652200400AA74F45000040410AA7CF440000009F\r
+:10653200410000DC44000000410000000000008037\r
+:106542004052D024450000004100000000000080BD\r
+:10655200405CFF3845000000410000000000008060\r
+:106562004052D02445000000410AA7CF4400000059\r
+:10657200410000DC440000004100000000000080F7\r
+:106582004052D024450000804153D02445000040B1\r
+:106592004160970A450000004154D0A44400000025\r
+:1065A200410000DC440000004160970A450000A061\r
+:1065B20041050000003F0000C8424314D114AE144C\r
+:1065C2007A14461401012A042808140A321E000013\r
+:1065D200020004000500070009000B000C000E0079\r
+:1065E2001000110013001500170018001A001C00FB\r
+:1065F2001D001F002100230024002600280029007E\r
+:106602002B002D002F0030003200340035003700FF\r
+:1066120039003B0040004500250026006100600073\r
+:1066220020003700640065006600670044004600F1\r
+:10663200240047003149803F5D8B803FF8BF803F97\r
+:10664200CAE1803F73ED803FCAE1803FF8BF803FDF\r
+:106652005D8B803F3149803F0000803FF16D7F3F7D\r
+:1066620075EA7E3F4C827E3F833F7E3F84287E3F99\r
+:10667200833F7E3F4C827E3F75EA7E3FF16D7F3FD6\r
+:106682000000803F3F4D363975092809F208B908E4\r
+:106692004C0865087E0897080102030405060708EE\r
+:0266A2000900ED\r
 :00000001FF\r
index f2e9993ac8fe55db379da1629ea57523f87dd977..140bf415f2ce2808a724724f1c0b48ff0b919254 100644 (file)
 :107FE4000C94ED3E0C94113F0C94193F0C94213FDA\r
 :0C7FF4000C94F23E0C94033F0C94293FC7\r
 :040000030000700089\r
-:100000000C94FE040C9442050C9442050C94420599\r
-:100010000C9442050C9442050C9442050C94420544\r
-:100020000C9442050C9442050C94A6180C94781973\r
-:100030000C94DB270C9442050C9442050C94420569\r
-:100040000C9442050C9442050C9442050C94420514\r
-:100050000C9442050C9443280C9442050C944205E0\r
-:100060000C9442050C9442050C9442050C944205F4\r
-:100070000C9442050C9442050C9442050C944205E4\r
-:100080000C94D10E0C9442050C9442050C9442053C\r
-:100090000C9442050C9442050C9442050C944205C4\r
-:1000A0000C9442050C9442050C9442059D05AD0547\r
-:1000B000BF05CF05D505E405F005F60504060D06D8\r
-:1000C0001E062E06340664069013901390139013A8\r
-:1000D000901390139013901390139013A713A713DA\r
-:1000E000A713A713A713A713A713A713A713A71340\r
-:1000F00090139013901390139013A713A713A713A3\r
-:10010000A713A713901390139013A713A713A71364\r
-:10011000E519071AF51A071AF51A4C1A6F1AF51A83\r
-:10012000C41AD71ADA1DDA1D171E171E711EAF1E4C\r
-:1001300027212721C81E2721C91FC91F8C20A320C2\r
-:100140002721122107634236B79BD8A71A39685670\r
-:1001500018AEBAAB558C1D3CB7CC5763BD6DEDFDE9\r
-:10016000753EF6177231BF000000803F08000000A6\r
-:10017000BE922449123EABAAAA2ABECDCCCC4C3E9C\r
-:1001800000000080BEABAAAAAA3E00000000BF008B\r
-:100190000000803F0000000000084178D3BB438787\r
-:1001A000D1133D190E3CC3BD4282AD2B3E68EC829B\r
-:1001B00076BED98FE1A93E4C80EFFFBE01C4FF7F20\r
-:1001C0003F00000000002B0014001A00080015007A\r
-:1001D00017001C0018000C00120013002A00290050\r
-:1001E00004001600070009000A000B000D000E00B5\r
-:1001F0000F0033003400E1001D001B000600190051\r
-:1002000005001100100036003700380028000530C6\r
-:10021000E000E200E30003302C002C00043050002A\r
-:10022000510052004F002B0014001A000900130067\r
-:100230000A000D000F0018001C0033002A002900DE\r
-:10024000040015001600170007000B00110008003D\r
-:100250000C0012003400E1001D001B000600190014\r
-:1002600005000E0010003600370038002800053069\r
-:10027000E000E200E30003302C002C0004305000CA\r
-:10028000510052004F002B0034003600370013009D\r
-:100290001C0009000A00060015000F002A002900B2\r
-:1002A00004001200080018000C0007000B001700E3\r
-:1002B000110016003800E100330014000D000E009C\r
-:1002C0001B00050010001A0019001D002800053051\r
-:1002D000E000E200E30003302C002C00043050006A\r
-:1002E000510052004F0035021E021F02200221025F\r
-:1002F0002202230224022502260227022A004C00A1\r
-:100300003A003B003C003D003E003F002D022E0223\r
-:100310002F02300231020100400041004200430040\r
-:10032000440045000100010001000100010001003E\r
-:100330000100010001000100010001000100AB000B\r
-:10034000AA00A900AE0035001E001F0020002100F9\r
-:100350002200230024002500260027002A004C004C\r
-:100360003A003B003C003D003E003F002D002E00C7\r
-:100370002F003000310001004000410042004300E6\r
-:1003800044004500010001000100010001000100DE\r
-:100390000100010001000100010001000100AB00AB\r
-:1003A000AA00A900AE00000000000000000000004C\r
-:1003B000000000000000000000000000000000003D\r
-:1003C000000000000000000000000000000000002D\r
-:1003D000000000000000000000000000000000001D\r
-:1003E000000000000000000000000000000000000D\r
-:1003F0000000000000000330000000000430000096\r
-:100400000000000000001E001E001E001E001E0056\r
-:100410001E001E001E001E001E001E001E0000000A\r
-:1004200014001A000800150017001C0018000C002A\r
-:10043000120013002F00000004001600070009003E\r
-:100440000A000B000D000E000F00330034000D30C9\r
-:10045000000000000600190000000000110010005C\r
+:100000000C94DA040C941E050C941E050C941E0529\r
+:100010000C941E050C941E050C941E050C941E05D4\r
+:100020000C941E050C941E050C94B7180C94891999\r
+:100030000C94EC270C941E050C941E050C941E05C4\r
+:100040000C941E050C941E050C941E050C941E05A4\r
+:100050000C941E050C9454280C941E050C941E053B\r
+:100060000C941E050C941E050C941E050C941E0584\r
+:100070000C941E050C941E050C941E050C941E0574\r
+:100080000C94AD0E0C941E050C941E050C941E05CC\r
+:100090000C941E050C941E050C941E050C941E0554\r
+:1000A0000C941E050C941E050C941E0579058905FB\r
+:1000B0009B05AB05B105C005CC05D205E005E905FA\r
+:1000C000FA050A0610064006F619181A061B181A31\r
+:1000D000061B5D1A801A061BD51AE81AEB1DEB1DCC\r
+:1000E000281E281E821EC01E38213821D91E382104\r
+:1000F000DA1FDA1F9D20B4203821232107634236FE\r
+:10010000B79BD8A71A39685618AEBAAB558C1D3CA8\r
+:10011000B7CC5763BD6DEDFD753EF6177231BF006C\r
+:100120000000803F08000000BE922449123EABAAA6\r
+:10013000AA2ABECDCCCC4C3E00000080BEABAAAA01\r
+:10014000AA3E00000000BF000000803F0000000049\r
+:1001500000084178D3BB4387D1133D190E3CC3BD82\r
+:100160004282AD2B3E68EC8276BED98FE1A93E4C2F\r
+:1001700080EFFFBE01C4FF7F3F00000000002B00A6\r
+:1001800014001A000800150017001C0018000C00CD\r
+:10019000120013002A0029000400160007000900BD\r
+:1001A0000A000B000D000E000F0033003400E100C8\r
+:1001B0001D001B000600190005001100100036008C\r
+:1001C0003700380028000530E000E200E30003308B\r
+:1001D0002C002C0004305000510052004F002B0026\r
+:1001E00014001A00090013000A000D000F00180087\r
+:1001F0001C0033002A002900040015001600170017\r
+:1002000007000B00110008000C0012003400E10090\r
+:100210001D001B000600190005000E00100036002E\r
+:100220003700380028000530E000E200E30003302A\r
+:100230002C002C0004305000510052004F002B00C5\r
+:1002400034003600370013001C0009000A000600C5\r
+:1002500015000F002A0029000400120008001800F1\r
+:100260000C0007000B001700110016003800E10019\r
+:10027000330014000D000E001B00050010001A00D2\r
+:1002800019001D0028000530E000E200E300033003\r
+:100290002C002C0004305000510052004F00350259\r
+:1002A0001E021F0220022102220223022402250232\r
+:1002B000260227022A004C003A003B003C003D0089\r
+:1002C0003E003F002D022E022F02300231020100BB\r
+:1002D000400041004200430044004500010001008D\r
+:1002E0000100010001000100010001000100010006\r
+:1002F000010001000100AB00AA00A900AE0035001A\r
+:100300001E001F00200021002200230024002500E1\r
+:10031000260027002A004C003A003B003C003D002C\r
+:100320003E003F002D002E002F0030003100010064\r
+:10033000400041004200430044004500010001002C\r
+:1003400001000100010001000100010001000100A5\r
+:10035000010001000100AB00AA00A900AE000000EE\r
+:10036000000000000000000000000000000000008D\r
+:10037000000000000000000000000000000000007D\r
+:10038000000000000000000000000000000000006D\r
+:10039000000000000000000000000000000000005D\r
+:1003A000000000000000000000000000000003301A\r
+:1003B00000000000043000000000000000001E00EB\r
+:1003C0001E001E001E001E001E001E001E001E003D\r
+:1003D0001E001E001E00000014001A000800150078\r
+:1003E00017001C0018000C00120013002F00000062\r
+:1003F00004001600070009000A000B000D000E00A3\r
+:100400000F00330034000D3000000000060019001A\r
+:1004100000000000110010000000000000000000BB\r
+:1004200000000000000000000000000000000000CC\r
+:1004300000000000000000000000000000000000BC\r
+:1004400000000000000000000000000000000000AC\r
+:10045000000000000000000000000000000000009C\r
 :10046000000000000000000000000000000000008C\r
 :10047000000000000000000000000000000000007C\r
 :10048000000000000000000000000000000000006C\r
 :1007400000000000000000000000000000000000A9\r
 :100750000000000000000000000000000000000099\r
 :100760000000000000000000000000000000000089\r
-:100770000000000000000000000000000000000079\r
-:100780000000000000000000000000000000000069\r
-:100790000000000000000000000000000000000059\r
-:1007A0000000000000000000000000000000000049\r
-:1007B0000000000000000000000000000000000039\r
-:1007C00000000000000001000050010001000100D5\r
-:1007D0000100010001000100010001004C000100C6\r
-:1007E0000100010007300630135012500030013074\r
-:1007F00002300C30010001000B300A3009300830A3\r
-:1008000001000100010001000100010001000100E0\r
-:1008100001000100010001000100010001000100D0\r
-:100820000100010001002803540068006500200059\r
-:1008300050006C0061006E0063006B0020004B00F4\r
-:100840006500790062006F006100720064000000C2\r
-:100850002C034F007200740068006F006C00690088\r
-:100860006E0065006100720020004B006500790099\r
-:1008700062006F00610072006400730000000403F6\r
-:10088000090409026D00040100A0FA090400000136\r
-:1008900003010100092111010001223F0007058128\r
-:1008A0000308000A090401000103010200092111E3\r
-:1008B000010001224D000705820308000A09040215\r
-:1008C0000001030000000921110100012236000788\r
-:1008D00005830308000A090403000103000000095E\r
-:1008E00021110100012239000705840310000112C3\r
-:1008F00001100100000008EDFE606001000102002F\r
-:100900000105010906A101050719E029E7150025E0\r
-:1009100001950875018102050819012905950575DC\r
-:1009200001910295017503910105071900297715B9\r
-:10093000002501957875018102C005010980A1019A\r
-:10094000850216010026B7001A01002AB7007510AB\r
-:1009500095018100C0050C0901A101850316010064\r
-:10096000269C021A01002A9C02751095018100C084\r
-:1009700005010902A1010901A100050919012905C3\r
-:100980001500250195057501810295017503810109\r
-:100990000501093009311581257F95027508810609\r
-:1009A00009381581257F950175088106050C0A38DF\r
-:1009B000021581257F950175088106C0C0050109D2\r
-:1009C00006A101050719E029E7150025019508751D\r
-:1009D0000181029501750881010508190129059514\r
-:1009E000057501910295017503910105071900290B\r
-:1009F000FF150025FF950675088100C011241FBE54\r
-:100A0000CFEFDAE0DEBFCDBF04B603FE24C0809195\r
-:100A1000190490911A04A0911B04B0911C04873012\r
-:100A2000904BA740B04BB9F41092190410921A04DD\r
-:100A300010921B0410921C0414BE84B7877F84BFDD\r
-:100A400088E10FB6F89480936000109260000FBEAA\r
-:100A5000E0E0F8E3099513E0A0E0B1E0E4E8F3E6B4\r
-:100A600002C005900D92A431B107D9F714E0A4E1BA\r
-:100A7000B3E001C01D92A931B107E1F70E94EC1566\r
-:100A80000C94C0310C940000279A2F988FEF9FEFA1\r
-:100A900090938700809386008AE08093800089E1AC\r
-:100AA000809381000C94452D282F81110BC08091DB\r
-:100AB0008000877F8093800010928D0010928C00C0\r
-:100AC0002F9808952F9880918000886080938000EF\r
-:100AD000233019F48FEF9FEF0FC083E090E0821B6B\r
-:100AE0009109880F991F2FEF3FEFA90102C056957A\r
-:100AF00047958A95E2F7CA0190938D0080938C0008\r
-:100B00000895CF93DF93EC010E94DC28BE0180E0C2\r
-:100B100090E0DF91CF910C9407250F931F93462F00\r
-:100B200050E04E30510508F0DEC0DC01FA01EA5A0F\r
-:100B3000FF4F12968C910C948431882309F4D3C012\r
-:100B400000E010E0980140E064E070E08BE292E0A9\r
-:100B50000E944F1281E090E00FC0882309F4C3C0C7\r
-:100B600000E010E0980140E066E070E08BEB91E07F\r
-:100B70000E944F1282E090E00E948105B4C0882359\r
-:100B800009F4B1C000E010E0980140E068E070E0D6\r
-:100B90008BEE91E00E944F1284E090E0EDCF88232D\r
-:100BA00011F083E005C083E00CC0882349F084E0A5\r
-:100BB0000E94842540E164E083E00E94910A93C092\r
-:100BC00084E00E94A525F6CF882331F085EE0E94AF\r
-:100BD0006E1C0E949C2D87C085EE0E94361D83C02E\r
-:100BE000882309F480C00E94E30D7DC0882309F4A6\r
-:100BF0007AC00E94DC0D00E010E0980140E065E062\r
-:100C000070E08BE492E027C0882309F46CC085E093\r
-:100C10000E94A5250E94040E66C0882309F463C0C3\r
-:100C200000E010E0980140E068E070E08BE191E0C6\r
-:100C30000E944F1285E00E94842555C0882309F444\r
-:100C400052C00E94E21200E010E0980140E068E02B\r
-:100C500070E08BE191E00E944F1245C0882309F4B7\r
-:100C600042C00E94ED12EFCF8823E9F100E010E0CE\r
-:100C7000980140E066E070E08BE891E00E944F123E\r
-:100C800084E00E94A52583E00E94A52580E10E94C2\r
-:100C9000A52585E00E94A5250E94040E86E00E94FD\r
-:100CA00084250E94C928811102C00E94A5280E94A3\r
-:100CB000E12890E090931804809317048068809353\r
-:100CC00017040E94E5280FC0882369F000E010E0B7\r
-:100CD000980140E066E070E08BE591E00E944F12E1\r
-:100CE00086E00E94A52580E090E01F910F91089575\r
-:100CF0000F931F932FEF89EF90E021508040904099\r
-:100D0000E1F700C0000000E010E0980140E065E07D\r
-:100D100070E08BE492E00E944F121F910F910895B2\r
-:100D20000F931F9300E010E0980140E063E070E053\r
-:100D300083E091E00E944F122FEF82E597E021506F\r
-:100D400080409040E1F700C000001F910F9108958E\r
-:100D5000CF92DF92EF92FF920F931F93CF93DF9387\r
-:100D6000CDB7DEB7CC58D1090FB6F894DEBF0FBEB1\r
-:100D7000CDBF2091D10325FFC5C08C01FC0192811C\r
-:100D800080910201992309F460C096E4E0E9F2E061\r
-:100D9000DE01A95BBF4F01900D929A95E1F7F80132\r
-:100DA0009081E0910001F0910101E90FF11DEE0F3A\r
-:100DB000FF1F27E430E02C0F3D1FE20FF31F60817F\r
-:100DC0007181680F711D882777FD8095982F0E948B\r
-:100DD000E02E20E030E040E451E40E94452E6B011B\r
-:100DE0007C01F801218184E090E0821B9109BC0123\r
-:100DF000882777FD8095982F0E94E02E9B01AC01FB\r
-:100E0000C701B6010E94DD2D9B01AC0160E070E0DE\r
-:100E100080E090E40E94F72F20E030E04CE551E4C0\r
-:100E20000E94942F4FE050E0C457DF4F0FB6F89464\r
-:100E3000DEBF0FBECDBFDF91CF911F910F91FF900D\r
-:100E4000EF90DF90CF900C94EF1196E4E0E9F2E0A0\r
-:100E5000DE01119601900D929A95E1F7F8019081CB\r
-:100E6000E0910001F0910101E90FF11DEE0FFF1F6C\r
-:100E700021E030E02C0F3D1FE20FF31F60817181F4\r
-:100E8000680F711D882777FD8095982F0E94E02EAE\r
-:100E900020E030E040E451E40E94452E6B017C01EB\r
-:100EA000F801218184E090E0821B9109BC01882730\r
-:100EB00077FD8095982F0E94E02E9B01AC01C70121\r
-:100EC000B6010E94DD2D9B01AC0160E070E080E086\r
-:100ED00090E40E94F72F20E030E04CE551E40E94BE\r
-:100EE000942FC457DF4F0FB6F894DEBF0FBECDBFAF\r
-:100EF000DF91CF911F910F91FF90EF90DF90CF90F6\r
-:100F00000C94370EC457DF4F0FB6F894DEBF0FBEF8\r
-:100F1000CDBFDF91CF911F910F91FF90EF90DF90A8\r
-:100F2000CF90089508950E9444056E9A769A0C9485\r
-:100F300078060C9492070C94A8060895880F991FC0\r
-:100F4000FC01EA5BFF4F859194910895880F991FEA\r
-:100F5000FC01EA53FE4F8591949108950F931F93DE\r
-:100F6000CF93DF93EC01811520E49207A0F5C11522\r
-:100F700080E3D80708F0E1C0C83ED105D8F4C03EF0\r
-:100F8000D10508F0EEC1C83AD10578F4C53AD105CB\r
-:100F900008F074C0C130D10509F46DC008F4DEC199\r
-:100FA000C430D10508F0DDC1D9C1CB3BD10508F46F\r
-:100FB00070C0D4C1C11590E2D90708F0B9C0C115FD\r
-:100FC00021E0D20708F0CDC1C03FD10508F4C6C169\r
-:100FD0008E01106506C2C13080E5D80709F4BDC096\r
-:100FE00068F5C13120E4D20709F4AEC050F4C03135\r
-:100FF00090E4D90708F0A5C0CF70DD278E01146DED\r
-:10100000F0C1C33120E4D20709F4A4C008F49FC0A2\r
-:10101000C115D04509F0A2C10E944B210E94040EC7\r
-:101020000E9490069FEF24E38CE091502040804086\r
-:10103000E1F700C000000E946828D3C1C11520E676\r
-:10104000D20730F4C11581E5D80708F48CC02DC152\r
-:10105000C11590E7D90708F481C1C11520E8D2076E\r
-:1010600008F478C1C11580E9D80708F077C1DF70AE\r
-:101070008E01106AB6C101E010E0B3C1C53AD105D6\r
-:1010800009F471C1C63AD10509F070C102E810E453\r
-:10109000A8C1C83AD10509F46CC1C93AD10509F40F\r
-:1010A0006BC1CA3AD10509F46AC1CB3AD10509F43A\r
-:1010B00069C1CC3AD10509F468C1CD3AD10509F42A\r
-:1010C00067C1C03BD10509F466C1CE3AD10509F428\r
-:1010D00065C1CF3AD10509F464C1C13BD10509F41A\r
-:1010E00063C1C23BD10509F462C1C33BD10509F418\r
-:1010F00061C1C43BD10509F460C1C53BD10509F408\r
-:101100005FC1C63BD10509F45EC1C73BD10509F4F7\r
-:101110005DC1C83BD10509F45CC1C93BD10509F4E7\r
-:101120005BC1CA3BD10509F45AC100E014E459C1BE\r
-:10113000CE019F700E94A60755C1DD278E01106C5D\r
-:1011400050C100E011ED4DC100E010ED4AC100E0DA\r
-:1011500012ED47C100E013ED44C18091ED038160C1\r
-:101160008093ED033EC10E94C928811102C00E94F4\r
-:10117000A5280E94E12890E090931804809317041A\r
-:10118000C23090E5D90721F480911704816086C0B0\r
-:10119000C43020E5D20721F48091170482607EC01C\r
-:1011A000C63080E5D80721F480911704846076C0AA\r
-:1011B000C83090E5D90719F48091170427C0CA30C8\r
-:1011C00020E5D20721F480911704806167C0CC30FC\r
-:1011D00080E5D80721F48091170480625FC0CE308B\r
-:1011E00090E5D90721F480911704806457C0C0317D\r
-:1011F00020E5D20721F48091170480684FC0C231E6\r
-:1012000080E5D80729F4809117048460886046C07F\r
-:10121000C33090E5D90721F4809117048E7F3EC03A\r
-:10122000C53020E5D20721F4809117048D7F36C0A8\r
-:10123000C73080E5D80721F4809117048B7F2EC03A\r
-:10124000C93090E5D90719F48091170426C0CB3036\r
-:1012500020E5D20721F4809117048F7E1FC0CD3086\r
-:1012600080E5D80721F4809117048F7D17C0CF3017\r
-:1012700090E5D90721F4809117048F7B0FC0C1310D\r
-:1012800020E5D20721F4809117048F7707C0C3317E\r
-:10129000D04531F4809117048B7F877F80931704AA\r
-:1012A000809117040E94E5289CC08D2F99278F708C\r
-:1012B000992781309105D9F49E012370332702C00C\r
-:1012C000880F991F2A95E2F79C688E0144E0000F71\r
-:1012D000111F4A95E1F700271370802B912B53E0E3\r
-:1012E000CC0FDD1F5A95E1F7C076DD272FC0823085\r
-:1012F000910531F4DC2FCC278E01016F106A71C08B\r
-:101300008330910569F4CE018370992701E010E0E4\r
-:1013100002C0000F111F8A95E2F7C8019C680FC038\r
-:10132000049709F05EC0CE018370992701E010E0B8\r
-:1013300002C0000F111F8A95E2F7C8019A6823E0E6\r
-:10134000CC0FDD1F2A95E1F7C07ED7708C010C2BE6\r
-:101350001D2B47C0DF708E01106243C000E010E01B\r
-:1013600040C08E013EC001E810E43BC003E810E439\r
-:1013700038C002EE14E435C009EE14E432C00AEEBF\r
-:1013800014E42FC005EB14E42CC006EB14E429C0D0\r
-:1013900007EB14E426C00CEC14E423C00DEC14E4B9\r
-:1013A00020C003E815E41DC00AE815E41AC002E9EC\r
-:1013B00015E417C004E915E414C001E216E411C0F5\r
-:1013C00003E216E40EC004E216E40BC005E216E4E4\r
-:1013D00008C006E216E405C007E216E402C00AE20D\r
-:1013E00016E4C801DF91CF911F910F9108959CE001\r
-:1013F000799FF001112490E3899FE00DF11D1124E4\r
-:10140000E60FF11DEE0FFF1FEA53FE4F85919491F9\r
-:10141000803E9105E0F4803C910558F581339105BB\r
-:1014200009F46FC048F48932910509F463C08A3227\r
-:10143000910509F46DC072C089339105E9F08238D5\r
-:101440009105D1F08533910509F44DC067C0833E05\r
-:10145000910581F138F4803E9105B9F0823E910505\r
-:10146000D9F05CC0863E910561F1873E9105A1F1FE\r
-:1014700055C00E949E0708952091170420FD02C0C8\r
-:1014800021FF4CC080EE90E049C08091170480FF9E\r
-:10149000F9CF89E390E042C08091170482FF0EC02B\r
-:1014A0008091170484FF03C080E090E037C083EE92\r
-:1014B00090E034C08091170482FFF2CF82EE90E07A\r
-:1014C0002DC08091170483FF0BC08091170484FD09\r
-:1014D000EBCF87EE90E022C08091170483FFF5CF19\r
-:1014E00086EE90E01BC08091170485FF07C089E25B\r
-:1014F00090E014C08091170485FFF9CF85E390E058\r
-:101500000DC08091170486FF07C08AE290E006C0F4\r
-:101510008091170486FFF9CF81E390E00E94AE0727\r
-:101520000895CF92DF92EF92FF920F931F9301E005\r
-:1015300010E020E030E06801790104C0CC0CDD1C33\r
-:10154000EE1CFF1C8A95D2F704C0000F111F221F4A\r
-:10155000331F6A95D2F70C291D292E293F29C090E7\r
-:10156000D103D090D203E090D303F090D403C022F3\r
-:10157000D122E222F322842FC016D106E206F3061E\r
-:1015800041F41F910F91FF90EF90DF90CF900C945A\r
-:1015900084251F910F91FF90EF90DF90CF900C94D6\r
-:1015A000A52508950C94D10A5F926F927F928F9235\r
-:1015B0009F92AF92BF92CF92DF92EF92FF920F93E2\r
-:1015C0001F93CF93DF93CDB7DEB728970FB6F8946C\r
-:1015D000DEBF0FBECDBFCE0101966C014E0199E07A\r
-:1015E000890E911C20E030E040E050E060E070E0C7\r
-:1015F00000E010E0E12CF12C6C2C5D2C88E0782EC2\r
-:10160000AA24A394B12CE6EDF2E0A62DB52D872DEA\r
-:1016100001900D928A95E1F7F601819191916F0108\r
-:10162000FC01E07FFF27E032F10559F48F70992724\r
-:10163000F50102C0EE0FFF1F8A95E2F7EE2AFF2A9E\r
-:1016400037C0E033F10559F48F709927F50102C0D6\r
-:10165000EE0FFF1F8A95E2F70E2B1F2B29C0E034F7\r
-:10166000F10559F48F709927F50102C0EE0FFF1FA5\r
-:101670008A95E2F76E2B7F2B1BC0E035F10559F4FC\r
-:101680008F709927F50102C0EE0FFF1F8A95E2F7D0\r
-:101690004E2B5F2B0DC0E036F10551F48F7099276A\r
-:1016A000F50102C0EE0FFF1F8A95E2F72E2B3F2BAC\r
-:1016B000C814D90409F0A7CF84B19E2D9095892331\r
-:1016C00084B985B1E82AE5B887B1902F9095892330\r
-:1016D00087B988B1082B08B98AB1962F90958923CC\r
-:1016E0008AB98BB1682B6BB98DB1942F90958923F2\r
-:1016F0008DB98EB1482B4EB980B3922F9095892326\r
-:1017000080BB81B3282B21BB28960FB6F894DEBF8F\r
-:101710000FBECDBFDF91CF911F910F91FF90EF9042\r
-:10172000DF90CF90BF90AF909F908F907F906F9001\r
-:101730005F9008955F926F927F928F929F92AF9287\r
-:10174000BF92CF92DF92EF92FF920F931F93CF93AE\r
-:10175000DF93CDB7DEB768970FB6F894DEBF0FBE44\r
-:10176000CDBF85B7806885BF85B7806885BF0E947B\r
-:10177000D40ACE0101966C014E0199E1890E911CAB\r
-:1017800020E030E040E050E060E070E000E010E099\r
-:10179000E12CF12C6C2C5D2C88E1782EAA24A394EA\r
-:1017A000B12CEEEDF2E0A62DB52D872D01900D9216\r
-:1017B0008A95E1F7F601819191916F01FC01E07F3B\r
-:1017C000FF27E032F10559F48F709927F50102C027\r
-:1017D000EE0FFF1F8A95E2F7EE2AFF2A37C0E033AB\r
-:1017E000F10559F48F709927F50102C0EE0FFF1F24\r
-:1017F0008A95E2F70E2B1F2B29C0E034F10559F42E\r
-:101800008F709927F50102C0EE0FFF1F8A95E2F74E\r
-:101810006E2B7F2B1BC0E035F10559F48F70992793\r
-:10182000F50102C0EE0FFF1F8A95E2F74E2B5F2BEA\r
-:101830000DC0E036F10551F48F709927F50102C013\r
-:10184000EE0FFF1F8A95E2F72E2B3F2BC814D90409\r
-:1018500009F0A7CF84B19E2D9095892384B985B1D5\r
-:10186000E82AE5B887B1902F9095892387B988B188\r
-:10187000082B08B98AB1962F909589238AB98BB124\r
-:10188000682B6BB98DB1942F909589238DB98EB14A\r
-:10189000482B4EB980B3922F9095892380BB81B39A\r
-:1018A000282B21BB10921D0310921C0310921503CC\r
-:1018B0001092140310921F0310921E03109217032C\r
-:1018C0001092160310922103109220031092190314\r
-:1018D00010921803109223031092220310921B03FC\r
-:1018E00010921A0368960FB6F894DEBF0FBECDBFF4\r
-:1018F000DF91CF911F910F91FF90EF90DF90CF90EC\r
-:10190000BF90AF909F908F907F906F905F900C945E\r
-:1019100093077F928F929F92AF92BF92CF92DF9266\r
-:10192000EF92FF920F931F93CF93DF93CDB7DEB764\r
-:10193000A0970FB6F894DEBF0FBECDBF6E0149E190\r
-:10194000C40ED11C84E1E82E83E0F82E98E0792EB5\r
-:10195000BC2CAD2C01E010E028E1822E35E0932E66\r
-:10196000E6EDF2E0AB2DBA2D872D01900D928A9510\r
-:10197000E1F7F601819191916F019C01207F33275E\r
-:101980002032310591F424B18F709927A80102C04B\r
-:10199000440F551F8A95E2F7CA01922F982B94B9EC\r
-:1019A00095B18095892385B953C02033310591F4D1\r
-:1019B00027B18F709927F80102C0EE0FFF1F8A959B\r
-:1019C000E2F7CF01922F982B97B998B18095892390\r
-:1019D00088B93EC02034310591F42AB18F7099271F\r
-:1019E000A80102C0440F551F8A95E2F7CA01922F41\r
-:1019F000982B9AB99BB1809589238BB929C0203542\r
-:101A0000310591F42DB18F709927F80102C0EE0FC6\r
-:101A1000FF1F8A95E2F7CF01922F982B9DB99EB1B7\r
-:101A2000809589238EB914C02036310589F420B3FE\r
-:101A30008F709927A80102C0440F551F8A95E2F7BD\r
-:101A4000CA01922F982B90BB91B38095892381BBBB\r
-:101A500050EA5A95F1F7BE016F5F7F4F20E030E00A\r
-:101A600040E050E0EEEDF2E0DE011196882D0190AD\r
-:101A70000D928A95E1F7FB0181919191BF01FC01E3\r
-:101A8000E07FFF27E032F10511F4E3B113C0E0334A\r
-:101A9000F10511F4E6B10EC0E034F10511F4E9B13D\r
-:101AA00009C0E035F10511F4ECB104C0E036F105F0\r
-:101AB000B9F4EFB1F0E08F70992702C0F595E79582\r
-:101AC0008A95E2F7E0FD08C0C801042E02C0880F25\r
-:101AD000991F0A94E2F702C080E090E0282B392B8E\r
-:101AE0004F5F5F4F4C30510509F0BCCFF70180814B\r
-:101AF00091818217930721F03183208390927302A2\r
-:101B00000E94D40AF2E0EF0EF11C4CE1E41643E02F\r
-:101B1000F40609F025CF80917302882361F181508A\r
-:101B200080937302882339F08FE99FE00197F1F7E2\r
-:101B300000C0000020C08091140390911503909381\r
-:101B40001D0380931C0380911603909117039093BB\r
-:101B50001F0380931E0380911803909119039093A3\r
-:101B600021038093200380911A0390911B0390938B\r
-:101B70002303809322030E94990781E0A0960FB669\r
-:101B8000F894DEBF0FBECDBFDF91CF911F910F91B3\r
-:101B9000FF90EF90DF90CF90BF90AF909F908F908D\r
-:101BA0007F900895E82FF0E0EE0FFF1FE45EFC4FFA\r
-:101BB00080819181089508958091020481608093CD\r
-:101BC00002040C94F728809102048E7F8093020413\r
-:101BD0000C94F7280E94C928811102C00E94A528F0\r
-:101BE0000E94F328809302043E9A809171008D7FB9\r
-:101BF0008093710082E0809390008AE1809391004D\r
-:101C000081E080932603089580912603811102C00C\r
-:101C10000E94EA0D10927603109275038091710074\r
-:101C20008D7F80937100809190008F7780939000DA\r
-:101C3000109238031092370310926F0310927003C2\r
-:101C4000109271031092720310926E0310926D0342\r
-:101C5000EDE4F3E0ADE3B3E0119211921192119231\r
-:101C60001D921D9283E0ED36F807B1F70895CF92EB\r
-:101C7000DF92EF92FF920F931F93CF93DF93209108\r
-:101C80003703222309F484C06B017C018091260371\r
-:101C9000811102C00E94EA0D0DE613E0C7E0D0E01A\r
-:101CA000A7019601F80192918291729162918F0140\r
-:101CB0000E94412E811131C0FE01EE0FFF1FEE0F79\r
-:101CC000FF1FE35BFC4F1082118212821382DE0140\r
-:101CD000AA0FBB1FA35CBC4F11961C921E92C7306B\r
-:101CE000D105E9F021964481558166817781408351\r
-:101CF000518362837383148215821682178212962F\r
-:101D00008D919C91139711969C938E9313961C9290\r
-:101D10001E92129734961296E2CF219708F6809180\r
-:101D2000750390917603019797FD05C09093760314\r
-:101D30008093750304C0109276031092750380910E\r
-:101D400075039091760320917303309174032817E3\r
-:101D5000390724F01092740310927303892BC1F495\r
-:101D6000809171008D7F80937100809190008F77BA\r
-:101D70008093900010926F03109270031092710381\r
-:101D80001092720310926E0310926D03109237033B\r
-:101D9000DF91CF911F910F91FF90EF90DF90CF9047\r
-:101DA00008951F920F920FB60F9211244F925F92D7\r
-:101DB0006F927F928F929F92AF92BF92CF92DF925B\r
-:101DC000EF92FF922F933F934F935F936F937F9385\r
-:101DD0008F939F93AF93BF93CF93DF93EF93FF9333\r
-:101DE00080913703882309F49BC1C0917503D0917A\r
-:101DF00076031C161D060CF093C1409027035090EB\r
-:101E000028036090290370902A0320E030E0A901A4\r
-:101E1000C301B2010E94902F18160CF065C0C130AA\r
-:101E2000D10509F452C08091730390917403BE01EF\r
-:101E30000E9470317C0190937403809373038090AF\r
-:101E4000390390903A03A0903B03B0903C0320E00C\r
-:101E500030E040E85FE3C501B4010E94DD2D6093EE\r
-:101E6000390370933A0380933B0390933C03F7014B\r
-:101E7000EE0FFF1FEE0FFF1FE35BFC4FA30192016C\r
-:101E800060817181828193810E94452E20E030E043\r
-:101E900040E05EE30E94942F9B01AC01C501B401B8\r
-:101EA0000E94902F18168CF4C7010196BE010E9463\r
-:101EB00070319093740380937303109239031092DE\r
-:101EC0003A0310923B0310923C03E0917303F091AC\r
-:101ED0007403EE0FFF1FEE0FFF1FE35BFC4F6081EB\r
-:101EE000718182819381D0C0C0906F03D0907003C4\r
-:101EF000E0907103F090720320E030E0A901C70187\r
-:101F0000B6010E94412E2197882309F4A2C0FE0148\r
-:101F1000EE0FFF1FEE0FFF1FE35BFC4F80809180F1\r
-:101F2000A280B380A5019401C701B6010E94412E91\r
-:101F300087FF31C0A501940160E070E08CED93EC67\r
-:101F40000E94452E20E030E040E451E40E94452EFE\r
-:101F500020E030E040E05FE30E94942F9B01AC0161\r
-:101F600060E070E080E090E40E94F72F9B01AC01FC\r
-:101F7000C501B4010E94942F9B01AC01C701B601B9\r
-:101F80000E94412E87FF07C0A701960160E070E024\r
-:101F90008CED93E439C0A5019401C701B6010E94FC\r
-:101FA000902F18160CF055C0A501940160E070E068\r
-:101FB0008CED93E40E94452E20E030E040E451E4B3\r
-:101FC0000E94452E20E030E040E05FE30E94942F25\r
-:101FD0009B01AC0160E070E080E090E40E94F72F8C\r
-:101FE0009B01AC01C501B4010E94942F9B01AC017F\r
-:101FF000C701B6010E94902F18165CF5A701960143\r
-:1020000060E070E08CED93EC0E94452E20E030E023\r
-:1020100040E451E40E94452E20E030E040E05FE3E0\r
-:102020000E94942F9B01AC0160E070E080E090E49E\r
-:102030000E94F72F9B01AC01C701B6010E94942FAB\r
-:1020400060936F0370937003809371039093720396\r
-:1020500013C0FE01EE0FFF1FEE0FFF1FE35BFC4FEF\r
-:1020600080819181A281B38180936F0390937003EB\r
-:10207000A0937103B093720360916F03709170032A\r
-:102080008091710390917203209124033091250374\r
-:102090002F3F4FEF340731F02F5F3F4F3093250331\r
-:1020A000209324030E94F8126B017C0120E034E2AB\r
-:1020B00044EF51E40E94412E87FF08C086EFC82EEE\r
-:1020C00088E2D82E84EFE82E81E4F82E20E030E07C\r
-:1020D00040E051E4C701B6010E94942F9B01AC017E\r
-:1020E00060E074E284E79BE40E94452E6B017C0172\r
-:1020F0000E94AD2E70939700609396002091740219\r
-:10210000309175024091760250917702C701B60175\r
-:102110000E94942F0E94AD2E7093990060939800B6\r
-:1021200080913803882309F433C1C0903303D090E1\r
-:102130003403E0903503F090360320E030E0A9014D\r
-:10214000C701B6010E94902F1816D4F58091240380\r
-:10215000909125038F3F2FEF920729F001969093DE\r
-:10216000250380932403C701B6010E94F81220E0E2\r
-:1021700030E040E051E40E94942F9B01AC0160E00C\r
-:1021800074E284E79BE40E94452E6B017C010E946F\r
-:10219000AD2E709397006093960020917402309159\r
-:1021A00075024091760250917702C701B6010E94F4\r
-:1021B000942F0E94AD2E709399006093980008C0F0\r
-:1021C0001092970010929600109299001092980029\r
-:1021D00060912D0370912E036F5F7F4F70932E03DC\r
-:1021E00060932D03209196003091970080E090E05D\r
-:1021F000232BF1F0C0919600D09197000E94DE2E23\r
-:102200006B017C01BE0180E090E00E94DE2E9B010C\r
-:10221000AC0160912F037091300380913103909154\r
-:1022200032030E94452E20E03FEF4FE757E410C0F5\r
-:102230000E94DE2E6B017C0120E030EE4FEF54E473\r
-:1022400060912F037091300380913103909132039C\r
-:102250000E94942F9B01AC01C701B6010E94902FF0\r
-:1022600087FD96C080912B038F5F80932B0390E0B6\r
-:102270002091FE033091FF0382179307A0F0809115\r
-:102280000904882319F010922B030DC0809171006E\r
-:102290008D7F80937100809190008F778093900064\r
-:1022A000109238037DC080912C03C0912B038111C3\r
-:1022B00028C0C0900304D0900404E0900504F0907E\r
-:1022C000060420E030E0A901C701B6010E94902F6A\r
-:1022D0001816BCF481E080932C0310923303109203\r
-:1022E00034031092350310923603C0922F03D0921C\r
-:1022F0003003E0923103F0923203C150C0932B03BC\r
-:1023000043C010922C031092250310922403E091F5\r
-:102310000004F091010448E0C49FE00DF11D112478\r
-:1023200080819181A281B3818093330390933403A0\r
-:10233000A0933503B093360320E030E040E85EE33D\r
-:1023400064817581868197810E94942F6B017C0145\r
-:1023500020E030E048EC52E460917802709179021C\r
-:1023600080917A0290917B020E94452E9B01AC01E4\r
-:10237000C701B6010E94942F60932F03709330031E\r
-:10238000809331039093320310922E0310922D0309\r
-:102390008091020480FD04C010923803109237032C\r
-:1023A000FF91EF91DF91CF91BF91AF919F918F916D\r
-:1023B0007F916F915F914F913F912F91FF90EF909F\r
-:1023C000DF90CF90BF90AF909F908F907F906F9055\r
-:1023D0005F904F900F900FBE0F901F901895CF9267\r
-:1023E000DF92EF92FF92CF93DF936B017C01EA01C2\r
-:1023F00080912603811102C00E94EA0D809102049F\r
-:1024000080FF46C0809175039091760308970CF089\r
-:102410003FC0809171008D7F80937100809138035F\r
-:1024200081110E94040E81E08093370310922503EE\r
-:102430001092240320E030E0A901C701B6010E94F8\r
-:10244000902F1816DCF48091750390917603FC01AF\r
-:10245000EE0FFF1FEE0FFF1FE35BFC4FC082D18228\r
-:10246000E282F382FC01EE0FFF1FE35CFC4FD1839D\r
-:10247000C0830196909376038093750380917100D9\r
-:1024800082608093710080919000806880939000BA\r
-:10249000DF91CF91FF90EF90DF90CF9008958F92D2\r
-:1024A0009F92AF92BF92CF92DF92EF92FF920F93E3\r
-:1024B0001F93CF93DF93EC017B01D42E4801590188\r
-:1024C00080912603811102C00E94EA0D80910204CE\r
-:1024D00080FF6BC0809171008D7F8093710080912F\r
-:1024E000370381110E94040E81E080933803D0935A\r
-:1024F0000104C0930004F092FF03E092FE03D09227\r
-:1025000009048092030490920404A0920504B092FE\r
-:1025100006041092390310923A0310923B03109272\r
-:102520003C0310922B0388819981AA81BB818093FF\r
-:10253000330390933403A0933503B093360320E024\r
-:1025400030E040E85EE36C817D818E819F810E9456\r
-:10255000942F6B017C0120E030E048EC52E4609164\r
-:1025600078027091790280917A0290917B020E94A8\r
-:10257000452E9B01AC01C701B6010E94942F6093C8\r
-:102580002F037093300380933103909332031092A2\r
-:102590002E0310922D038091710082608093710050\r
-:1025A00080919000806880939000DF91CF911F917F\r
-:1025B0000F91FF90EF90DF90CF90BF90AF909F90E2\r
-:1025C0008F9008958091770390E0019665E070E028\r
-:1025D0000E9470318093770308958091770390E093\r
-:1025E000019765E070E00E94703180937703089551\r
-:1025F0008F929F92AF92BF92CF92DF92EF92FF9213\r
-:10260000CF93DF936B017C01C0912403D09125030C\r
-:10261000BE0180E090E00E94DE2E4B015C01A7012C\r
-:10262000960160E070E08CE594E40E94452E9B01E9\r
-:10263000AC01C501B4010E94942F0E94B22E4091BA\r
-:102640007703423009F45CC028F4442351F0413050\r
-:10265000E9F0FBC0433009F481C0443009F4B4C050\r
-:10266000F4C080E090E0A0E0BFE380937402909318\r
-:102670007502A0937602B09377021092270310920E\r
-:1026800028031092290310922A03DFC01092270317\r
-:10269000109228031092290310922A0364317105C5\r
-:1026A00040F46A307105E0F520E030E040E85EE398\r
-:1026B0003BC0693C710508F0C0C080E090E00E941A\r
-:1026C000DE2E20E030E040EA51E40E94DC2D20E0E4\r
-:1026D00030E044E353E40E94452E9B01AC010E948C\r
-:1026E000942F20E030E040E05EE30E94942F9B01B5\r
-:1026F000AC0160E070E080E09EE30E94DC2D5BC0F6\r
-:1027000010922703109228031092290310922A0393\r
-:102710006432710578F4FB01EC59FF4F0C9484315D\r
-:1027200020E030E040E05FE3C701B6010E94942F53\r
-:102730006B017C0180E090E0A0E0BEE38093740236\r
-:1027400090937502A0937602B09377027EC0A701A2\r
-:102750009601C701B6010E94DD2DEACF1092270332\r
-:10276000109228031092290310922A032AE0269F30\r
-:10277000A001279F500D1124CA0168EB7BE00E9445\r
-:102780005C31BC016C5D754077FF03C0719561954C\r
-:102790007109882777FD8095982F0E94E02E2EE3FF\r
-:1027A00033EC4EE259E30E94942F20E030E040ECFD\r
-:1027B0005EE30E94DD2D6093740270937502809336\r
-:1027C00076029093770241C010922703109228035B\r
-:1027D0001092290310922A03CE0183709927892B26\r
-:1027E000E1F0BE016170772780E090E00E94DE2E6C\r
-:1027F00020E030E040E05EE30E94942F20E030E0F3\r
-:1028000040E45FE30E94DD2D6093740270937502D3\r
-:1028100080937602909377020CC080E090E0A0E075\r
-:10282000BFE38093740290937502A0937602B093F5\r
-:102830007702C770DD27CD2B41F4109274021092FD\r
-:1028400075021092760210927702C701B601DF91ED\r
-:10285000CF91FF90EF90DF90CF90BF90AF909F907F\r
-:102860008F900895809188030895CF93DF9300D0CF\r
-:102870001F92CDB7DEB79C0180910E04843019F50C\r
-:1028800093E099833B832A839093E9008FEF9091A3\r
-:10289000E800815095FD06C095ED9A95F1F700008E\r
-:1028A0008111F5CF8091E80085FF0DC040E050E038\r
-:1028B00063E070E0CE0101960E9496168091E800D8\r
-:1028C0008E778093E8000F900F900F90DF91CF915B\r
-:1028D0000895CF93DF9300D01F92CDB7DEB720913C\r
-:1028E0000E04243021F522E029839B838A8383E030\r
-:1028F0008093E9008FEF9091E800815095FD06C02C\r
-:1029000095ED9A95F1F700008111F5CF8091E800DF\r
-:1029100085FF0DC040E050E063E070E0CE0101961D\r
-:102920000E9496168091E8008E778093E8000F90C1\r
-:102930000F900F90DF91CF91089520910E042430D5\r
-:10294000F1F422E02093E9002FEF3091E8002150CC\r
-:1029500035FD06C035ED3A95F1F700002111F5CFB0\r
-:102960002091E80025FF0BC040E050E065E070E0FA\r
-:102970000E9496168091E8008E778093E800089573\r
-:10298000CF93DF93EC0190910E04943009F046C090\r
-:10299000809186028823D9F0809187028823B9F03C\r
-:1029A0009093E9008FEF9091E800815095FD06C06B\r
-:1029B00095E19A95F1F700008111F5CF8091E8003B\r
-:1029C00085FF2CC040E050E060E170E017C081E07E\r
-:1029D0008093E9008FEF9091E800815095FD06C04B\r
-:1029E00095ED9A95F1F700008111F5CF8091E800FF\r
-:1029F00085FF14C040E050E068E070E0CE010E9426\r
-:102A000096168091E8008E778093E80080E1FE01C1\r
-:102A1000A8E7B3E001900D928A95E1F7DF91CF919D\r
-:102A2000089580910D04811109C00E942B180E9405\r
-:102A300088188091E20084608093E20008951092EB\r
-:102A40000D040895089508950C94D02742E061EC98\r
-:102A500081E00E94A51742E061EC82E00E94A51788\r
-:102A600042E061EC83E00E94A51742E161EC84E062\r
-:102A70000C94A51780911004833009F455C030F4EC\r
-:102A8000813071F0823009F48EC008958A3009F4E3\r
-:102A90007AC08B3009F460C0893009F09CC020C036\r
-:102AA00080910F04813A09F096C08091E800877FF9\r
-:102AB0008093E8008091130490911404892B21F4F1\r
-:102AC00060E188E793E003C060E080E090E070E0C0\r
-:102AD0000E94E1168091E8008B778093E8000895CA\r
-:102AE00080910F04813209F076C080911304909197\r
-:102AF0001404009719F0039709F06DC08091E80065\r
-:102B0000877F8093E8008091E80082FD05C0809176\r
-:102B10000E048111F8CF5FC08091F100809388038B\r
-:102B20008091E8008B7753C080910F04813A09F0BF\r
-:102B300052C08091130490911404892B09F04BC06A\r
-:102B40008091E800877F8093E8008091E80080FF13\r
-:102B5000FCCF8091860236C080910F048132D9F576\r
-:102B60008091130490911404892BA9F58091E800B9\r
-:102B7000877F8093E8000E94DA1780911104809388\r
-:102B800086020C944B2180910F04813221F58091B3\r
-:102B9000E800877F8093E8000E94DA178091120492\r
-:102BA00080938903089580910F04813AA1F4809164\r
-:102BB000E800877F8093E8008091E80080FFFCCFE9\r
-:102BC000809189038093F1008091E8008E77809353\r
-:102BD000E8000C94DA17089584B7877F84BF88E1F2\r
-:102BE0000FB6F89480936000109260000FBE90E0E2\r
-:102BF00080E80FB6F89480936100909361000FBE57\r
-:102C00000E947D1B0E942B180E9488188091E20070\r
-:102C100084608093E20078940E940E1B0E947F1BC8\r
-:102C20008CE792E00E94291B80910E04853069F4A4\r
-:102C30000E948A2780910C048823B1F30E94B82750\r
-:102C4000882391F30E948016EFCF0E94871BECCF60\r
-:102C5000292F332723303105C9F064F421303105A1\r
-:102C600081F02230310509F043C08DE690E022E882\r
-:102C700038E042C021323105F1F02232310541F114\r
-:102C800037C082E190E02FEE38E036C099278130DE\r
-:102C9000910541F08230910541F0892B49F5EEE72D\r
-:102CA000F8E005C0E0E5F8E002C0E6E2F8E0849173\r
-:102CB00090E09F0121C06430D8F4E62FF0E0EE0FE1\r
-:102CC000FF1FEE5FFC4F2081318189E090E014C04E\r
-:102CD000643070F470E0FB01EE0FFF1FE650FD4F13\r
-:102CE00020813181FB01EA50FD4F808190E004C0DA\r
-:102CF00080E090E020E030E0FA0131832083089505\r
-:102D000080E189BD82E189BD09B400FEFDCF8091DB\r
-:102D1000D8008F7D8093D8008091E00082608093FE\r
-:102D2000E0008091E00081FDFCCF0895CF92DF921A\r
-:102D3000EF92FF920F931F93CF93DF93EC018B01E0\r
-:102D40006A010E94F917811133C0C114D10439F00E\r
-:102D5000F60180819181081B190BC80FD91FE12C46\r
-:102D6000F12C0115110519F18091E80085FD16C0BF\r
-:102D70008091E8008E778093E800C114D10449F077\r
-:102D8000F60180819181E80EF91EF182E08285E0F2\r
-:102D90000FC00E94F917882321F30AC089918093FC\r
-:102DA000F10001501109FFEFEF1AFF0ADACF80E0BE\r
-:102DB000DF91CF911F910F91FF90EF90DF90CF9017\r
-:102DC000089520911504309116042617370748F00E\r
-:102DD0006115710539F42091E8002E772093E80001\r
-:102DE00001C0B90140E061157105A9F120910E04FF\r
-:102DF000222309F443C0253009F442C02091E800A1\r
-:102E000023FD40C02091E80022FD32C02091E8005F\r
-:102E100020FFE9CF4091F3002091F20030E0342B05\r
-:102E2000FC01CF016115710559F02830310540F4DE\r
-:102E300081918093F100615071092F5F3F4FF1CF75\r
-:102E400041E02830310509F040E02091E8002E777C\r
-:102E50002093E800C8CF4111C9CF0AC080910E0469\r
-:102E6000882361F0853061F08091E80083FD0AC01D\r
-:102E70008091E80082FFF2CF80E0089582E008951B\r
-:102E800083E0089581E0089520911504309116049F\r
-:102E90002617370748F06115710539F42091E800CD\r
-:102EA0002E772093E80001C0B901FC0120E06115F4\r
-:102EB000710591F180910E04882309F440C085309A\r
-:102EC00009F43FC08091E80083FD3DC08091E80097\r
-:102ED00082FD2FC08091E80080FFE9CF2091F300B0\r
-:102EE0008091F20090E0922B6115710559F08830C5\r
-:102EF000910540F424912093F100319661507109BD\r
-:102F00000196F2CF21E0089709F020E08091E800D7\r
-:102F10008E778093E800CBCF2111CCCF0AC080916F\r
-:102F20000E04882361F0853061F08091E80083FD14\r
-:102F30000AC08091E80082FFF2CF80E0089582E02D\r
-:102F4000089583E0089581E00895982F973058F50B\r
-:102F50009093E900981739F07091EC002091ED0002\r
-:102F60005091F00003C0242F762F50E021FF19C0AC\r
-:102F70003091EB003E7F3093EB003091ED003D7FD0\r
-:102F80003093ED003091EB0031603093EB007093A3\r
-:102F9000EC002093ED005093F0002091EE0027FF0D\r
-:102FA00007C09F5FD3CF8F708093E90081E00895C1\r
-:102FB00080E0089580910F0487FF11C08091E800A0\r
-:102FC00082FD05C080910E048111F8CF11C080915F\r
-:102FD000E8008B770BC080910E04882349F0809124\r
-:102FE000E80080FFF8CF8091E8008E778093E800BA\r
-:102FF00008952091E4003091E50095E64091EC00C1\r
-:10300000842F817040FF22C08091E80080FD1CC0A9\r
-:1030100080910E04882391F0853091F08091EB002F\r
-:1030200085FD10C04091E4005091E5004217530720\r
-:1030300029F39A01915011F784E0089582E00895F0\r
-:1030400083E0089581E0089580E008954091E800CC\r
-:1030500042FFDECF08950E9499180E94A118E0EE69\r
-:10306000F0E0808181608083E8EDF0E080818F77FF\r
-:10307000808319BCA7EDB0E08C918E7F8C9380810A\r
-:103080008F7E808310920D0408950F931F93CF932A\r
-:10309000DF930E9499180E94A118C8EDD0E08881A2\r
-:1030A0008F77888388818068888388818F7D8883F3\r
-:1030B00019BC10920E0410920A0410920C04109283\r
-:1030C0000B0400EE10E0F80180818B7F8083888103\r
-:1030D0008160888342E060E080E00E94A517E1EE15\r
-:1030E000F0E080818E7F8083E2EEF0E0808181607D\r
-:1030F0008083808188608083F80180818E7F8083D7\r
-:10310000888180618883DF91CF911F910F9108950D\r
-:10311000E8EDF0E080818F7E8083E7EDF0E0808154\r
-:103120008160808384E082BF81E080930D040C94F1\r
-:103130004518E8EDF0E080818E7F80831092E200F8\r
-:1031400008951092DA001092E10008951F920F92F4\r
-:103150000FB60F9211242F933F934F935F936F936A\r
-:103160007F938F939F93AF93BF93EF93FF93809140\r
-:10317000E10082FF0BC08091E20082FF07C08091D6\r
-:10318000E1008B7F8093E1000E940D1B8091DA00AB\r
-:1031900080FF1FC08091D80080FF1BC08091DA00A3\r
-:1031A0008E7F8093DA008091D90080FF0DC080E18E\r
-:1031B00089BD82E189BD09B400FEFDCF81E0809325\r
-:1031C0000E040E94111505C019BC10920E040E9435\r
-:1031D0001F158091E10080FF19C08091E20080FFFF\r
-:1031E00015C08091E2008E7F8093E2008091E20022\r
-:1031F00080618093E2008091D80080628093D80043\r
-:1032000019BC85E080930E040E9423158091E10093\r
-:1032100084FF30C08091E20084FF2CC080E189BD32\r
-:1032200082E189BD09B400FEFDCF8091D8008F7D79\r
-:103230008093D8008091E1008F7E8093E10080919F\r
-:10324000E2008F7E8093E2008091E20081608093B3\r
-:10325000E20080910A04882311F084E007C0809185\r
-:10326000E30087FD02C081E001C083E080930E048B\r
-:103270000E9424158091E10083FF29C08091E20023\r
-:1032800083FF25C08091E100877F8093E10082E089\r
-:1032900080930E0410920A048091E1008E7F809347\r
-:1032A000E1008091E2008E7F8093E2008091E20055\r
-:1032B00080618093E20042E060E080E00E94A51718\r
-:1032C0008091F00088608093F0000E942215FF91A9\r
-:1032D000EF91BF91AF919F918F917F916F915F918E\r
-:1032E0004F913F912F910F900FBE0F901F90189507\r
-:1032F0001F920F920FB60F9211242F933F934F936B\r
-:103300005F936F937F938F939F93AF93BF93CF936D\r
-:10331000DF93EF93FF93C091E900CF708091EC00B1\r
-:10332000D82FD17080FDD0E81092E9008091F00094\r
-:10333000877F8093F00078940E94BC191092E90076\r
-:103340008091F00088608093F000CD2BCF70C09307\r
-:10335000E900FF91EF91DF91CF91BF91AF919F91E4\r
-:103360008F917F916F915F914F913F912F910F902E\r
-:103370000FBE0F901F9018951F93CF93DF93CDB77B\r
-:10338000DEB7AA970FB6F894DEBF0FBECDBFEFE051\r
-:10339000F4E088E08E0F9091F10091938E13FBCFB3\r
-:1033A0000E943A158091E80083FF1FC180910F04AD\r
-:1033B00090911004492F50E04A30510508F015C192\r
-:1033C000FA01E857FF4F0C948431803881F082383D\r
-:1033D00009F00BC1809113048F708093E9008091F4\r
-:1033E000EB0085FB882780F91092E90006C08091E8\r
-:1033F0000B0490910C04911182609091E800977FEA\r
-:103400009093E8008093F1001092F100C8C0282F3B\r
-:103410002D7F09F0EAC0882319F0823061F0E5C001\r
-:1034200080911104813009F0E0C0933009F080E010\r
-:1034300080930C042BC080911104811127C08091CE\r
-:1034400013048F7009F4D1C08093E9002091EB0040\r
-:1034500020FF1CC0933021F48091EB00806214C0E7\r
-:103460009091EB0090619093EB0021E030E0A90196\r
-:1034700002C0440F551F8A95E2F74093EA0010926C\r
-:10348000EA008091EB0088608093EB001092E900E5\r
-:103490008091E800877F86C08111A7C01091110438\r
-:1034A0001F778091E3008078812B8093E3008091E7\r
-:1034B000E800877F8093E8000E94DA178091E80097\r
-:1034C00080FFFCCF8091E30080688093E3001111BE\r
-:1034D00002C082E001C083E080930E0486C0805861\r
-:1034E000823008F082C080911104909112048C3DCA\r
-:1034F00053E0950779F583E08A838AE289834FB7A1\r
-:10350000F894DE01139620E03EE051E2E32FF0E074\r
-:1035100050935700E49120FF03C0E295EF703F5FA6\r
-:10352000EF708E2F90E0EA3010F0C79601C0C09681\r
-:103530008D939D932F5F243149F74FBF8091E80011\r
-:10354000877F8093E8006AE270E0CE0101960E94D6\r
-:10355000E11614C0AE014F5F5F4F609113040E94EB\r
-:103560002816BC01009709F440C09091E800977FAD\r
-:103570009093E80089819A810E9444178091E80025\r
-:103580008B778093E80031C0803879F58091E8002E\r
-:10359000877F8093E80080910A048093F1008091F6\r
-:1035A000E8008E778093E8000E94DA171EC0811130\r
-:1035B0001CC0909111049230C0F48091E800877F84\r
-:1035C0008093E80090930A040E94DA1780910A041D\r
-:1035D000811106C08091E30087FD02C081E001C037\r
-:1035E00084E080930E040E9426158091E80083FFFA\r
-:1035F0000AC08091E800877F8093E8008091EB000B\r
-:1036000080628093EB00AA960FB6F894DEBF0FBEDF\r
-:10361000CDBFDF91CF911F9108950895CF938091F1\r
-:103620000E048823A1F0C091E900CF709091EC00C6\r
-:10363000892F817090FD80E8C82B1092E90080915D\r
-:10364000E80083FD0E94BC19CF70C093E900CF91C0\r
-:10365000089590938F0380938E030895E0918E03D5\r
-:10366000F0918F03309721F00190F081E02D0994C3\r
-:1036700080E00895E0918E03F0918F03309721F060\r
-:103680000280F381E02D09940895E0918E03F0917A\r
-:103690008F03309721F00480F581E02D099408957F\r
-:1036A00020918C0330918D038217930771F09093D2\r
-:1036B0008D0380938C03E0918E03F0918F033097FC\r
-:1036C00021F00680F781E02D0994089520918A0366\r
-:1036D00030918B038217930771F090938B03809343\r
-:1036E0008A03E0918E03F0918F03309721F00084DC\r
-:1036F000F185E02D0994089508950C947C1B0E9497\r
-:1037000004280E949A0B0E948A280C94452D4F92FF\r
-:103710005F927F928F929F92AF92BF92CF92DF92F1\r
-:10372000EF92FF920F931F93CF93DF93CDB7DEB746\r
-:103730002A970FB6F894DEBF0FBECDBF0E94890C4A\r
-:1037400091E9C92E93E0D92E00E010E0AA24A394B9\r
-:10375000B12C702E802F0E94D20D4C01F6014190A9\r
-:1037600051906F014826592641145104B1F40F5F5E\r
-:103770001F4F0430110569F78FEF89838A831B82FD\r
-:103780000E940D288160782F9D838C8349815A8106\r
-:103790006B818D810E94401C3AC08091ED0381FDB8\r
-:1037A0000E94DB0D20E030E07501022E02C0EE0C1D\r
-:1037B000FF1C0A94E2F7C70184219521892B09F1A6\r
-:1037C0002E837F828E209F2091E0892809F490E04B\r
-:1037D00098870E940D288160782F9A8789874E816B\r
-:1037E0005F8168858A850E94401C000F111FF801C7\r
-:1037F000EF56FC4F80819181E826F926F182E08224\r
-:1038000006C02F5F3F4F2C30310571F6B0CF0E94BC\r
-:10381000762A109190030E942E1B1817D9F00E944F\r
-:103820002E1B809390032A960FB6F894DEBF0FBE2E\r
-:10383000CDBFDF91CF911F910F91FF90EF90DF905F\r
-:10384000CF90BF90AF909F908F907F905F904F9060\r
-:103850000C94D20A2A960FB6F894DEBF0FBECDBFE5\r
-:10386000DF91CF911F910F91FF90EF90DF90CF905C\r
-:10387000BF90AF909F908F907F905F904F900895F2\r
-:10388000CF93DF93CDB7DEB72B970FB6F894DEBF9B\r
-:103890000FBECDBF4F83588769877A878B87DE013C\r
-:1038A000119686E0FD0111928A95E9F785E0FE0107\r
-:1038B000379601900D928A95E1F749815A816B8183\r
-:1038C0007C818D819E810E94E5232B960FB6F89412\r
-:1038D000DEBF0FBECDBFDF91CF910895CF93882378\r
-:1038E00009F4C2C0C82F823859F40E942E1B81FDF2\r
-:1038F000BBC089E30E948E260E945B2789E30CC02F\r
-:10390000833879F40E942E1B80FDAEC083E50E94AF\r
-:103910008E260E945B2783E50E94D026CF910C94CF\r
-:103920005B27843859F40E942E1B82FD9DC087E4DA\r
-:103930000E948E260E945B2787E4EECF8CEF8C0FCF\r
-:10394000813A48F48C2F0E94AD2C81118DC08C2FB0\r
-:103950000E948E26E3CF80E28C0F883048F4C77037\r
-:1039600081E001C0880FCA95EAF70E941427D6CFDC\r
-:103970008BE58C0F833078F4C53A29F0C63A31F0E4\r
-:1039800083E890E005C081E890E002C082E890E022\r
-:10399000CF910C94501B88E58C0F833108F064C0E4\r
-:1039A000C83A39F1C93A41F1CA3A49F1CB3A51F131\r
-:1039B000CC3A59F1CD3A61F1C03B69F1CE3A71F19F\r
-:1039C000CF3A79F1C13B81F1C23B89F1C33B91F11F\r
-:1039D000C43B99F1C53BA1F1C63BA9F1C73BB1F18D\r
-:1039E000C83BB9F1C93BC1F1CA3BC9F180E090E0E5\r
-:1039F00038C082EE90E035C089EE90E032C08AEEA9\r
-:103A000090E02FC085EB90E02CC086EB90E029C0C1\r
-:103A100087EB90E026C08CEC90E023C08DEC90E02A\r
-:103A200020C083E891E01DC08AE891E01AC082E9D5\r
-:103A300091E017C084E991E014C081E292E011C0E6\r
-:103A400083E292E00EC084E292E00BC085E292E055\r
-:103A500008C086E292E005C087E292E002C08AE2F6\r
-:103A600092E0CF910C94661BCF910895882309F4BE\r
-:103A70004BC0823859F40E942E1B81FF45C089E358\r
-:103A80000E948E260E945B2789E30CC0833871F464\r
-:103A90000E942E1B80FF38C083E50E948E260E9464\r
-:103AA0005B2783E50E94D0260C945B27843859F469\r
-:103AB0000E942E1B82FF28C087E40E948E260E944F\r
-:103AC0005B2787E4EFCF9CEF980F913A58F390E291\r
-:103AD000980F983050F4877091E001C0990F8A9543\r
-:103AE000EAF7892F0E941A27DFCF9BE5980F9330C2\r
-:103AF00020F480E090E00C94501B885A833120F42D\r
-:103B000080E090E00C94661B0895882321F00E94C9\r
-:103B100014270C945B270895882321F00E941A270C\r
-:103B20000C945B270895BF92CF92DF92EF92FF92A1\r
-:103B30000F931F93CF93DF9300D000D000D0CDB769\r
-:103B4000DEB725E0FC01DE01119601900D922A9569\r
-:103B5000E1F7FC01D08011810281258122952F702F\r
-:103B600043815481452B09F472C31F3F21F4FFEFB9\r
-:103B7000DF1609F46CC37C012E830E949B07D98257\r
-:103B80001A8369817A81802F0E948A26182FB92E84\r
-:103B90000E943F260E9406252E81002319F00E94D4\r
-:103BA00031272E81EB2DE295EF70F0E0EE56FF4FBE\r
-:103BB0000C9484318B2D807F9B2D9F70F92E882350\r
-:103BC00019F0F29480EFF822002389F0FF2009F425\r
-:103BD0007CC280E2810F883020F48F2D0E94142750\r
-:103BE00003C08F2D0E9424270E945B276EC2812F65\r
-:103BF0000E94361DFF2009F42AC3105E8F2D183055\r
-:103C000018F40E941A2702C00E942A2726960FB68F\r
-:103C1000F894DEBF0FBECDBFDF91CF911F910F9102\r
-:103C2000FF90EF90DF90CF90BF900C945B278B2D8F\r
-:103C3000807F9B2D9F70803211F4892F03C0892FC4\r
-:103C40008295807F112319F0113011F12BC00023D0\r
-:103C5000A9F0222389F1213079F526960FB6F89440\r
-:103C6000DEBF0FBECDBFDF91CF911F910F91FF90AF\r
-:103C7000EF90DF90CF90BF900C944427222319F04F\r
-:103C8000213009F4E4C28E830E9447278E819BC1B4\r
-:103C9000002321F0263008F0DAC20EC0253008F0EB\r
-:103CA000D6C291C10023C9F0222331F0F7019581DA\r
-:103CB00090FF0BC29F70958326960FB6F894DEBFD7\r
-:103CC0000FBECDBFDF91CF911F910F91FF90EF906D\r
-:103CD000DF90CF90BF900C94851D222309F473C10F\r
-:103CE00009C22B2D26952695237030E0211531052C\r
-:103CF00021F021303105D1F0AAC2002321F0812F1B\r
-:103D00009B2D937002C080E090E026960FB6F89449\r
-:103D1000DEBF0FBECDBFDF91CF911F910F91FF90FE\r
-:103D2000EF90DF90CF90BF900C94501B002321F0B8\r
-:103D3000812F9B2D937002C080E090E026960FB6F5\r
-:103D4000F894DEBF0FBECDBFDF91CF911F910F91D1\r
-:103D5000FF90EF90DF90CF90BF900C94661B812F67\r
-:103D6000002319F00E947E2902C00E94E6292696AF\r
-:103D70000FB6F894DEBF0FBECDBFDF91CF911F917C\r
-:103D80000F91FF90EF90DF90CF90BF900C946B2A33\r
-:103D90008B2D837009F07BC0011159C2812F829550\r
-:103DA00086958770880F880F912F9F70C92ED12C10\r
-:103DB000E12CF12C082E04C0CC0CDD1CEE1CFF1CE9\r
-:103DC0000A94D2F714FF12C04FE050E060E070E0B8\r
-:103DD00004C0440F551F661F771F8A95D2F7CB0189\r
-:103DE000BA01609570958095909503C060E070E091\r
-:103DF000CB012B2D269526952370422F50E0423083\r
-:103E00005105D9F04330510569F16C297D298E297E\r
-:103E10009F294130510551F126960FB6F894DEBF27\r
-:103E20000FBECDBFDF91CF911F910F91FF90EF900B\r
-:103E3000DF90CF90BF900C942D256C297D298E2981\r
-:103E40009F2926960FB6F894DEBF0FBECDBFDF9137\r
-:103E5000CF911F910F91FF90EF90DF90CF90BF9087\r
-:103E60000C9449250E942D25C701B60126960FB650\r
-:103E7000F894DEBF0FBECDBFDF91CF911F910F91A0\r
-:103E8000FF90EF90DF90CF90BF900C94112500230E\r
-:103E900019F08B2D817001C08695882309F4D7C154\r
-:103EA000812F829586958770880F880F912F9F703C\r
-:103EB000C92ED12CE12CF12C082E04C0CC0CDD1C19\r
-:103EC000EE1CFF1C0A94D2F714FF12C04FE050E022\r
-:103ED00060E070E004C0440F551F661F771F8A958D\r
-:103EE000D2F7CB01BA01609570958095909503C08B\r
-:103EF00060E070E0CB012B2D269526952370422F94\r
-:103F000050E042305105D9F04330510569F16C2938\r
-:103F10007D298E299F294130510551F126960FB6F2\r
-:103F2000F894DEBF0FBECDBFDF91CF911F910F91EF\r
-:103F3000FF90EF90DF90CF90BF900C9407266C29F4\r
-:103F40007D298E299F2926960FB6F894DEBF0FBED5\r
-:103F5000CDBFDF91CF911F910F91FF90EF90DF9038\r
-:103F6000CF90BF900C9423260E940726C701B6016C\r
-:103F700026960FB6F894DEBF0FBECDBFDF91CF916E\r
-:103F80001F910F91FF90EF90DF90CF90BF900C9416\r
-:103F9000EB25103F49F118F4103E48F491C0123F50\r
-:103FA00009F453C0E8F1133F09F464C089C01F70DD\r
-:103FB0008B2D8F71002321F00E948425812F7CCED0\r
-:103FC0000E94A525812F26960FB6F894DEBF0FBE5E\r
-:103FD000CDBFDF91CF911F910F91FF90EF90DF90B8\r
-:103FE000CF90BF900C948C1D0023B1F0253008F0C9\r
-:103FF0002EC18B2D8F7126960FB6F894DEBF0FBEA3\r
-:10400000CDBFDF91CF911F910F91FF90EF90DF9087\r
-:10401000CF90BF900C94CA25263008F018C1E9CF84\r
-:104020000023A9F08B2D8F7126960FB6F894DEBF72\r
-:104030000FBECDBFDF91CF911F910F91FF90EF90F9\r
-:10404000DF90CF90BF900C948425002359F38B2DE3\r
-:104050008F7126960FB6F894DEBF0FBECDBFDF91ED\r
-:10406000CF911F910F91FF90EF90DF90CF90BF9075\r
-:104070000C94A525002399F08B2D8F7126960FB6F1\r
-:10408000F894DEBF0FBECDBFDF91CF911F910F918E\r
-:10409000FF90EF90DF90CF90BF900C946F25269605\r
+:100770000000000000000000000000000000010078\r
+:100780000050010001000100010001000100010012\r
+:10079000010001004C00010001000100073006309B\r
+:1007A000135012500030013002300C3001000100B3\r
+:1007B0000B300A300930083001000100010001004F\r
+:1007C0000100010001000100010001000100010021\r
+:1007D00001000100010001000100010001002803E7\r
+:1007E000540068006500200050006C0061006E003D\r
+:1007F00063006B0020004B006500790062006F0011\r
+:1008000061007200640000002C034F00720074004D\r
+:1008100068006F006C0069006E0065006100720086\r
+:1008200020004B006500790062006F0061007200DB\r
+:100830006400730000000403090409026D00040150\r
+:1008400000A0FA09040000010301010009211101BF\r
+:100850000001223F000705810308000A0904010086\r
+:100860000103010200092111010001224D000705C9\r
+:10087000820308000A0904020001030000000921A4\r
+:10088000110100012236000705830308000A09044C\r
+:1008900003000103000000092111010001223900B9\r
+:1008A000070584031000011201100100000008ED8B\r
+:1008B000FE606001000102000105010906A10105B9\r
+:1008C0000719E029E7150025019508750181020542\r
+:1008D0000819012905950575019102950175039186\r
+:1008E0000105071900297715002501957875018103\r
+:1008F00002C005010980A101850216010026B7008A\r
+:100900001A01002AB700751095018100C0050C0975\r
+:1009100001A1018503160100269C021A01002A9CF0\r
+:1009200002751095018100C005010902A1010901AC\r
+:10093000A100050919012905150025019505750175\r
+:100940008102950175038101050109300931158185\r
+:10095000257F95027508810609381581257F950147\r
+:1009600075088106050C0A38021581257F950175E9\r
+:10097000088106C0C005010906A101050719E02983\r
+:10098000E71500250195087501810295017508811B\r
+:100990000105081901290595057501910295017553\r
+:1009A0000391010507190029FF150025FF9506751C\r
+:1009B000088100C011241FBECFEFDAE0DEBFCDBF3B\r
+:1009C00004B603FE24C08091690490916A04A0914A\r
+:1009D0006B04B0916C048730904BA740B04BB9F4D6\r
+:1009E0001092690410926A0410926B0410926C04C5\r
+:1009F00014BE84B7877F84BF88E10FB6F8948093D4\r
+:100A00006000109260000FBEE0E0F8E3099513E08B\r
+:100A1000A0E0B1E0E2E4F4E602C005900D92A23657\r
+:100A2000B107D9F714E0A2E6B3E001C01D92A936E0\r
+:100A3000B107E1F70E94FD150C941F320C940000E1\r
+:100A4000279A2F988FEF9FEF9093870080938600CF\r
+:100A50008AE08093800089E1809381000C94562D78\r
+:100A6000282F81110BC080918000877F80938000A8\r
+:100A700010928D0010928C002F9808952F988091DD\r
+:100A80008000886080938000233019F48FEF9FEFFF\r
+:100A90000FC083E090E0821B9109880F991F2FEF10\r
+:100AA0003FEFA90102C0569547958A95E2F7CA0122\r
+:100AB00090938D0080938C000895CF93DF93EC0189\r
+:100AC0000E94ED28BE0180E090E0DF91CF910C9470\r
+:100AD00018250F931F93462F50E04E30510508F014\r
+:100AE000DEC0DC01FA01EA5AFF4F12968C910C9499\r
+:100AF000E331882309F4D3C000E010E0980140E01E\r
+:100B000064E070E089E292E00E942B1281E090E0C4\r
+:100B10000FC0882309F4C3C000E010E0980140E052\r
+:100B200066E070E089EB91E00E942B1282E090E099\r
+:100B30000E945D05B4C0882309F4B1C000E010E054\r
+:100B4000980140E068E070E089EE91E00E942B128D\r
+:100B500084E090E0EDCF882311F083E005C083E0CE\r
+:100B60000CC0882349F084E00E94952540E164E0B0\r
+:100B700083E00E946D0A93C084E00E94B625F6CF00\r
+:100B8000882331F085EE0E947F1C0E94AD2D87C026\r
+:100B900085EE0E94471D83C0882309F480C00E940F\r
+:100BA000BF0D7DC0882309F47AC00E94B80D00E013\r
+:100BB00010E0980140E065E070E089E492E027C031\r
+:100BC000882309F46CC085E00E94B6250E94E00DE0\r
+:100BD00066C0882309F463C000E010E0980140E09B\r
+:100BE00068E070E089E191E00E942B1285E00E94AC\r
+:100BF000952555C0882309F452C00E94BE1200E01A\r
+:100C000010E0980140E068E070E089E191E00E9426\r
+:100C10002B1245C0882309F442C00E94C912EFCFAD\r
+:100C20008823E9F100E010E0980140E066E070E020\r
+:100C300089E891E00E942B1284E00E94B62583E0AF\r
+:100C40000E94B62580E10E94B62585E00E94B62567\r
+:100C50000E94E00D86E00E9495250E94DA2881110D\r
+:100C600002C00E94B6280E94F22890E09093680487\r
+:100C7000809367048068809367040E94F6280FC001\r
+:100C8000882369F000E010E0980140E066E070E041\r
+:100C900089E591E00E942B1286E00E94B62580E053\r
+:100CA00090E01F910F9108950F931F932FEF89EFFD\r
+:100CB00090E0215080409040E1F700C0000000E04B\r
+:100CC00010E0980140E065E070E089E492E00E9465\r
+:100CD0002B121F910F9108950F931F9300E010E0C6\r
+:100CE000980140E063E070E081E091E00E942B1207\r
+:100CF0002FEF82E597E0215080409040E1F700C05F\r
+:100D000000001F910F910895CF92DF92EF92FF9212\r
+:100D10000F931F93CF93DF93CDB7DEB7CC58D10994\r
+:100D20000FB6F894DEBF0FBECDBF2091210425FF82\r
+:100D3000C5C08C01FC01928180910001992309F4C6\r
+:100D400060C096E4EEE8F2E0DE01A95BBF4F0190DF\r
+:100D50000D929A95E1F7F8019081E0916203F0918C\r
+:100D60006303E90FF11DEE0FFF1F27E430E02C0FA6\r
+:100D70003D1FE20FF31F60817181680F711D88278D\r
+:100D800077FD8095982F0E94F12E20E030E040E41E\r
+:100D900051E40E94562E6B017C01F801218184E010\r
+:100DA00090E0821B9109BC01882777FD8095982FE0\r
+:100DB0000E94F12E9B01AC01C701B6010E94EE2DED\r
+:100DC0009B01AC0160E070E080E090E40E94643040\r
+:100DD00020E030E04CE551E40E9401304FE050E06B\r
+:100DE000C457DF4F0FB6F894DEBF0FBECDBFDF9103\r
+:100DF000CF911F910F91FF90EF90DF90CF900C94C7\r
+:100E0000CB1196E4EEE8F2E0DE01119601900D922E\r
+:100E10009A95E1F7F8019081E0916203F091630304\r
+:100E2000E90FF11DEE0FFF1F21E030E02C0F3D1FF9\r
+:100E3000E20FF31F60817181680F711D882777FDB4\r
+:100E40008095982F0E94F12E20E030E040E451E49C\r
+:100E50000E94562E6B017C01F801218184E090E014\r
+:100E6000821B9109BC01882777FD8095982F0E94ED\r
+:100E7000F12E9B01AC01C701B6010E94EE2D9B0132\r
+:100E8000AC0160E070E080E090E40E94643020E01B\r
+:100E900030E04CE551E40E940130C457DF4F0FB6FB\r
+:100EA000F894DEBF0FBECDBFDF91CF911F910F91A0\r
+:100EB000FF90EF90DF90CF900C94130EC457DF4F4C\r
+:100EC0000FB6F894DEBF0FBECDBFDF91CF911F915B\r
+:100ED0000F91FF90EF90DF90CF90089508950E94BA\r
+:100EE00020056E9A769A0C9454060C946E070C9416\r
+:100EF00084060895880F991FFC01E250F040859107\r
+:100F000094910895880F991FFC01E258FE4F859136\r
+:100F1000949108950F931F93CF93DF93EC01811564\r
+:100F200020E49207A0F5C11580E3D80708F0E1C0DE\r
+:100F3000C83ED105D8F4C03ED10508F0EEC1C83A8C\r
+:100F4000D10578F4C53AD10508F074C0C130D10597\r
+:100F500009F46DC008F4DEC1C430D10508F0DDC16C\r
+:100F6000D9C1CB3BD10508F470C0D4C1C11590E202\r
+:100F7000D90708F0B9C0C11521E0D20708F0CDC1EA\r
+:100F8000C03FD10508F4C6C18E01106506C2C1304C\r
+:100F900080E5D80709F4BDC068F5C13120E4D20767\r
+:100FA00009F4AEC050F4C03190E4D90708F0A5C0F0\r
+:100FB000CF70DD278E01146DF0C1C33120E4D2075C\r
+:100FC00009F4A4C008F49FC0C115D04509F0A2C11E\r
+:100FD0000E945C210E94E00D0E946C069FEF24E3BA\r
+:100FE0008CE0915020408040E1F700C000000E945A\r
+:100FF0007928D3C1C11520E6D20730F4C11581E5A7\r
+:10100000D80708F48CC02DC1C11590E7D90708F4A2\r
+:1010100081C1C11520E8D20708F478C1C11580E963\r
+:10102000D80708F077C1DF708E01106AB6C101E001\r
+:1010300010E0B3C1C53AD10509F471C1C63AD10572\r
+:1010400009F070C102E810E4A8C1C83AD10509F45A\r
+:101050006CC1C93AD10509F46BC1CA3AD10509F48A\r
+:101060006AC1CB3AD10509F469C1CC3AD10509F47A\r
+:1010700068C1CD3AD10509F467C1C03BD10509F477\r
+:1010800066C1CE3AD10509F465C1CF3AD10509F45C\r
+:1010900064C1C13BD10509F463C1C23BD10509F468\r
+:1010A00062C1C33BD10509F461C1C43BD10509F458\r
+:1010B00060C1C53BD10509F45FC1C63BD10509F448\r
+:1010C0005EC1C73BD10509F45DC1C83BD10509F438\r
+:1010D0005CC1C93BD10509F45BC1CA3BD10509F428\r
+:1010E0005AC100E014E459C1CE019F700E948207EA\r
+:1010F00055C1DD278E01106C50C100E011ED4DC1CE\r
+:1011000000E010ED4AC100E012ED47C100E013ED30\r
+:1011100044C180913D04816080933D043EC10E94A2\r
+:10112000DA28811102C00E94B6280E94F22890E0BD\r
+:101130009093680480936704C23090E5D90721F446\r
+:1011400080916704816086C0C43020E5D20721F415\r
+:101150008091670482607EC0C63080E5D80721F4A4\r
+:1011600080916704846076C0C83090E5D90719F48F\r
+:101170008091670427C0CA3020E5D20721F480910E\r
+:101180006704806167C0CC3080E5D80721F4809186\r
+:10119000670480625FC0CE3090E5D90721F480916A\r
+:1011A0006704806457C0C03120E5D20721F48091E4\r
+:1011B000670480684FC0C23180E5D80729F4809168\r
+:1011C00067048460886046C0C33090E5D90721F485\r
+:1011D000809167048E7F3EC0C53020E5D20721F4A0\r
+:1011E000809167048D7F36C0C73080E5D80721F431\r
+:1011F000809167048B7F2EC0C93090E5D90719F420\r
+:101200008091670426C0CB3020E5D20721F480917D\r
+:1012100067048F7E1FC0CD3080E5D80721F4809110\r
+:1012200067048F7D17C0CF3090E5D90721F48091F6\r
+:1012300067048F7B0FC0C13120E5D20721F4809174\r
+:1012400067048F7707C0C331D04531F480916704BC\r
+:101250008B7F877F80936704809167040E94F628C4\r
+:101260009CC08D2F99278F70992781309105D9F4D3\r
+:101270009E012370332702C0880F991F2A95E2F739\r
+:101280009C688E0144E0000F111F4A95E1F700278A\r
+:101290001370802B912B53E0CC0FDD1F5A95E1F793\r
+:1012A000C076DD272FC08230910531F4DC2FCC27AA\r
+:1012B0008E01016F106A71C08330910569F4CE010F\r
+:1012C0008370992701E010E002C0000F111F8A957A\r
+:1012D000E2F7C8019C680FC0049709F05EC0CE0118\r
+:1012E0008370992701E010E002C0000F111F8A955A\r
+:1012F000E2F7C8019A6823E0CC0FDD1F2A95E1F7D9\r
+:10130000C07ED7708C010C2B1D2B47C0DF708E0167\r
+:10131000106243C000E010E040C08E013EC001E812\r
+:1013200010E43BC003E810E438C002EE14E435C01A\r
+:1013300009EE14E432C00AEE14E42FC005EB14E405\r
+:101340002CC006EB14E429C007EB14E426C00CEC17\r
+:1013500014E423C00DEC14E420C003E815E41DC020\r
+:101360000AE815E41AC002E915E417C004E915E417\r
+:1013700014C001E216E411C003E216E40EC004E258\r
+:1013800016E40BC005E216E408C006E216E405C048\r
+:1013900007E216E402C00AE216E4C801DF91CF9129\r
+:1013A0001F910F9108959CE0799FF001112490E323\r
+:1013B000899FE00DF11D1124E60FF11DEE0FFF1FB7\r
+:1013C000E258FE4F85919491803E9105E0F4803C77\r
+:1013D000910558F58133910509F46FC048F48932BD\r
+:1013E000910509F463C08A32910509F46DC072C099\r
+:1013F00089339105E9F082389105D1F08533910563\r
+:1014000009F44DC067C0833E910581F138F4803EF8\r
+:101410009105B9F0823E9105D9F05CC0863E9105F8\r
+:1014200061F1873E9105A1F155C00E947A070895A8\r
+:101430002091670420FD02C021FF4CC080EE90E0A7\r
+:1014400049C08091670480FFF9CF89E390E042C0F2\r
+:101450008091670482FF0EC08091670484FF03C0FF\r
+:1014600080E090E037C083EE90E034C08091670464\r
+:1014700082FFF2CF82EE90E02DC08091670483FF5F\r
+:101480000BC08091670484FDEBCF87EE90E022C013\r
+:101490008091670483FFF5CF86EE90E01BC08091BA\r
+:1014A000670485FF07C089E290E014C0809167045B\r
+:1014B00085FFF9CF85E390E00DC08091670486FF3A\r
+:1014C00007C08AE290E006C08091670486FFF9CFEA\r
+:1014D00081E390E00E948A070895CF92DF92EF9215\r
+:1014E000FF920F931F9301E010E020E030E06801CD\r
+:1014F000790104C0CC0CDD1CEE1CFF1C8A95D2F7D0\r
+:1015000004C0000F111F221F331F6A95D2F70C2948\r
+:101510001D292E293F29C0902104D0902204E0905B\r
+:101520002304F0902404C022D122E222F322842F4B\r
+:10153000C016D106E206F30641F41F910F91FF9009\r
+:10154000EF90DF90CF900C9495251F910F91FF9015\r
+:10155000EF90DF90CF900C94B62508950C94AD0ACF\r
+:101560005F926F927F928F929F92AF92BF92CF9233\r
+:10157000DF92EF92FF920F931F93CF93DF93CDB73C\r
+:10158000DEB728970FB6F894DEBF0FBECDBFCE01F1\r
+:1015900001966C014E0199E0890E911C20E030E02B\r
+:1015A00040E050E060E070E000E010E0E12CF12C61\r
+:1015B0006C2C5D2C88E0782EAA24A394B12CE4ED49\r
+:1015C000F2E0A62DB52D872D01900D928A95E1F7B9\r
+:1015D000F601819191916F01FC01E07FFF27E032DC\r
+:1015E000F10559F48F709927F50102C0EE0FFF1F26\r
+:1015F0008A95E2F7EE2AFF2A37C0E033F10559F465\r
+:101600008F709927F50102C0EE0FFF1F8A95E2F750\r
+:101610000E2B1F2B29C0E034F10559F48F70992748\r
+:10162000F50102C0EE0FFF1F8A95E2F76E2B7F2BAC\r
+:101630001BC0E035F10559F48F709927F50102C000\r
+:10164000EE0FFF1F8A95E2F74E2B5F2B0DC0E036A1\r
+:10165000F10551F48F709927F50102C0EE0FFF1FBD\r
+:101660008A95E2F72E2B3F2BC814D90409F0A7CF97\r
+:1016700084B19E2D9095892384B985B1E82AE5B877\r
+:1016800087B1902F9095892387B988B1082B08B925\r
+:101690008AB1962F909589238AB98BB1682B6BB943\r
+:1016A0008DB1942F909589238DB98EB1482B4EB969\r
+:1016B00080B3922F9095892380BB81B3282B21BBC7\r
+:1016C00028960FB6F894DEBF0FBECDBFDF91CF9145\r
+:1016D0001F910F91FF90EF90DF90CF90BF90AF9050\r
+:1016E0009F908F907F906F905F9008955F926F9220\r
+:1016F0007F928F929F92AF92BF92CF92DF92EF92A2\r
+:10170000FF920F931F93CF93DF93CDB7DEB7689708\r
+:101710000FB6F894DEBF0FBECDBF85B7806885BF1A\r
+:1017200085B7806885BF0E94B00ACE0101966C0122\r
+:101730004E0199E1890E911C20E030E040E050E03C\r
+:1017400060E070E000E010E0E12CF12C6C2C5D2CEE\r
+:1017500088E1782EAA24A394B12CECEDF2E0A62D1A\r
+:10176000B52D872D01900D928A95E1F7F6018191B3\r
+:1017700091916F01FC01E07FFF27E032F10559F400\r
+:101780008F709927F50102C0EE0FFF1F8A95E2F7CF\r
+:10179000EE2AFF2A37C0E033F10559F48F709927FC\r
+:1017A000F50102C0EE0FFF1F8A95E2F70E2B1F2BEB\r
+:1017B00029C0E034F10559F48F709927F50102C072\r
+:1017C000EE0FFF1F8A95E2F76E2B7F2B1BC0E035D3\r
+:1017D000F10559F48F709927F50102C0EE0FFF1F34\r
+:1017E0008A95E2F74E2B5F2B0DC0E036F10551F4E0\r
+:1017F0008F709927F50102C0EE0FFF1F8A95E2F75F\r
+:101800002E2B3F2BC814D90409F0A7CF84B19E2DED\r
+:101810009095892384B985B1E82AE5B887B1902FDE\r
+:101820009095892387B988B1082B08B98AB1962F7A\r
+:10183000909589238AB98BB1682B6BB98DB1942FA0\r
+:10184000909589238DB98EB1482B4EB980B3922FD4\r
+:101850009095892380BB81B3282B21BB10926D0307\r
+:1018600010926C03109265031092640310926F0340\r
+:1018700010926E0310926703109266031092710328\r
+:101880001092700310926903109268031092730310\r
+:101890001092720310926B0310926A0368960FB64F\r
+:1018A000F894DEBF0FBECDBFDF91CF911F910F9196\r
+:1018B000FF90EF90DF90CF90BF90AF909F908F9070\r
+:1018C0007F906F905F900C946F077F928F929F92A2\r
+:1018D000AF92BF92CF92DF92EF92FF920F931F933E\r
+:1018E000CF93DF93CDB7DEB7A0970FB6F894DEBFE6\r
+:1018F0000FBECDBF6E0149E1C40ED11C84E6E82EB7\r
+:1019000083E0F82E98E0792EBC2CAD2C01E010E09D\r
+:1019100028E1822E35E0932EE4EDF2E0AB2DBA2DD6\r
+:10192000872D01900D928A95E1F7F60181919191B1\r
+:101930006F019C01207F33272032310591F424B1BF\r
+:101940008F709927A80102C0440F551F8A95E2F7AE\r
+:10195000CA01922F982B94B995B18095892385B9A6\r
+:1019600053C02033310591F427B18F709927F801C6\r
+:1019700002C0EE0FFF1F8A95E2F7CF01922F982B3E\r
+:1019800097B998B18095892388B93EC02034310534\r
+:1019900091F42AB18F709927A80102C0440F551FF6\r
+:1019A0008A95E2F7CA01922F982B9AB99BB180953C\r
+:1019B00089238BB929C02035310591F42DB18F7061\r
+:1019C0009927F80102C0EE0FFF1F8A95E2F7CF01B9\r
+:1019D000922F982B9DB99EB1809589238EB914C002\r
+:1019E0002036310589F420B38F709927A80102C0F1\r
+:1019F000440F551F8A95E2F7CA01922F982B90BB8E\r
+:101A000091B38095892381BB50EA5A95F1F7BE01C5\r
+:101A10006F5F7F4F20E030E040E050E0ECEDF2E01F\r
+:101A2000DE011196882D01900D928A95E1F7FB0158\r
+:101A300081919191BF01FC01E07FFF27E032F10528\r
+:101A400011F4E3B113C0E033F10511F4E6B10EC0B7\r
+:101A5000E034F10511F4E9B109C0E035F10511F404\r
+:101A6000ECB104C0E036F105B9F4EFB1F0E08F70ED\r
+:101A7000992702C0F595E7958A95E2F7E0FD08C041\r
+:101A8000C801042E02C0880F991F0A94E2F702C011\r
+:101A900080E090E0282B392B4F5F5F4F4C30510591\r
+:101AA00009F0BCCFF701808191818217930721F063\r
+:101AB00031832083909271020E94B00AF2E0EF0E0F\r
+:101AC000F11C4CE6E41643E0F40609F025CF8091C2\r
+:101AD0007102882361F1815080937102882339F06B\r
+:101AE0008FE99FE00197F1F700C0000020C08091CE\r
+:101AF00064039091650390936D0380936C038091D0\r
+:101B000066039091670390936F0380936E038091B7\r
+:101B1000680390916903909371038093700380919F\r
+:101B20006A0390916B0390937303809372030E94F6\r
+:101B3000750781E0A0960FB6F894DEBF0FBECDBF4B\r
+:101B4000DF91CF911F910F91FF90EF90DF90CF9099\r
+:101B5000BF90AF909F908F907F900895E82FF0E016\r
+:101B6000EE0FFF1FE459FC4F808191810895089585\r
+:101B7000809152048160809352040C9408298091D2\r
+:101B800052048E7F809352040C9408290E94DA2814\r
+:101B9000811102C00E94B6280E9404298093520439\r
+:101BA0003E9A809171008D7F8093710082E08093D6\r
+:101BB00090008AE18093910081E0809376030895FC\r
+:101BC00080917603811102C00E94C60D1092C60357\r
+:101BD0001092C503809171008D7F80937100809178\r
+:101BE00090008F7780939000109288031092870363\r
+:101BF0001092BF031092C0031092C1031092C2034F\r
+:101C00001092BE031092BD03EDE9F3E0ADE8B3E03E\r
+:101C100011921192119211921D921D9283E0ED3B4F\r
+:101C2000F807B1F70895CF92DF92EF92FF920F93EA\r
+:101C30001F93CF93DF9320918703222309F484C05D\r
+:101C40006B017C0180917603811102C00E94C60D58\r
+:101C50000DEB13E0C7E0D0E0A7019601F8019291E7\r
+:101C60008291729162918F010E94522E811131C036\r
+:101C7000FE01EE0FFF1FEE0FFF1FE356FC4F108219\r
+:101C8000118212821382DE01AA0FBB1FA357BC4F21\r
+:101C900011961C921E92C730D105E9F0219644811D\r
+:101CA0005581668177814083518362837383148277\r
+:101CB00015821682178212968D919C911397119618\r
+:101CC0009C938E9313961C921E92129734961296A2\r
+:101CD000E2CF219708F68091C5039091C603019742\r
+:101CE00097FD05C09093C6038093C50304C010926E\r
+:101CF000C6031092C5038091C5039091C60320913D\r
+:101D0000C3033091C4032817390724F01092C40389\r
+:101D10001092C303892BC1F4809171008D7F809351\r
+:101D20007100809190008F77809390001092BF0394\r
+:101D30001092C0031092C1031092C2031092BE030E\r
+:101D40001092BD0310928703DF91CF911F910F91E5\r
+:101D5000FF90EF90DF90CF9008951F920F920FB6F3\r
+:101D60000F9211244F925F926F927F928F929F9267\r
+:101D7000AF92BF92CF92DF92EF92FF922F933F9359\r
+:101D80004F935F936F937F938F939F93AF93BF9383\r
+:101D9000CF93DF93EF93FF9380918703882309F418\r
+:101DA0009BC1C091C503D091C6031C161D060CF043\r
+:101DB00093C14090770350907803609079037090BE\r
+:101DC0007A0320E030E0A901C301B2010E94FD2F97\r
+:101DD00018160CF065C0C130D10509F452C08091CD\r
+:101DE000C3039091C403BE010E94CF317C01909344\r
+:101DF000C4038093C3038090890390908A03A090CA\r
+:101E00008B03B0908C0320E030E040E85FE3C50135\r
+:101E1000B4010E94EE2D6093890370938A0380932E\r
+:101E20008B0390938C03F701EE0FFF1FEE0FFF1F44\r
+:101E3000E356FC4FA30192016081718182819381FD\r
+:101E40000E94562E20E030E040E05EE30E94013028\r
+:101E50009B01AC01C501B4010E94FD2F18168CF442\r
+:101E6000C7010196BE010E94CF319093C4038093B5\r
+:101E7000C3031092890310928A0310928B0310926D\r
+:101E80008C03E091C303F091C403EE0FFF1FEE0F2C\r
+:101E9000FF1FE356FC4F6081718182819381D0C026\r
+:101EA000C090BF03D090C003E090C103F090C20384\r
+:101EB00020E030E0A901C701B6010E94522E21970F\r
+:101EC000882309F4A2C0FE01EE0FFF1FEE0FFF1FD3\r
+:101ED000E356FC4F80809180A280B380A5019401DD\r
+:101EE000C701B6010E94522E87FF31C0A50194019F\r
+:101EF00060E070E08CED93EC0E94562E20E030E024\r
+:101F000040E451E40E94562E20E030E040E05FE3E0\r
+:101F10000E9401309B01AC0160E070E080E090E441\r
+:101F20000E9464309B01AC01C501B4010E940130E4\r
+:101F30009B01AC01C701B6010E94522E87FF07C06A\r
+:101F4000A701960160E070E08CED93E439C0A50133\r
+:101F50009401C701B6010E94FD2F18160CF055C060\r
+:101F6000A501940160E070E08CED93E40E94562E90\r
+:101F700020E030E040E451E40E94562E20E030E0C2\r
+:101F800040E05FE30E9401309B01AC0160E070E043\r
+:101F900080E090E40E9464309B01AC01C501B40173\r
+:101FA0000E9401309B01AC01C701B6010E94FD2FC8\r
+:101FB00018165CF5A701960160E070E08CED93ECDB\r
+:101FC0000E94562E20E030E040E451E40E94562E5C\r
+:101FD00020E030E040E05FE30E9401309B01AC0173\r
+:101FE00060E070E080E090E40E9464309B01AC010E\r
+:101FF000C701B6010E9401306093BF037093C00314\r
+:102000008093C1039093C20313C0FE01EE0FFF1F24\r
+:10201000EE0FFF1FE356FC4F80819181A281B381B7\r
+:102020008093BF039093C003A093C103B093C203F6\r
+:102030006091BF037091C0038091C1039091C2036E\r
+:1020400020917403309175032F3F4FEF340731F027\r
+:102050002F5F3F4F30937503209374030E94D41277\r
+:102060006B017C0120E034E244EF51E40E94522EE7\r
+:1020700087FF08C086EFC82E88E2D82E84EFE82EAE\r
+:1020800081E4F82E20E030E040E051E4C701B601E1\r
+:102090000E9401309B01AC0160E074E284E79BE4A4\r
+:1020A0000E94562E6B017C010E94BE2E70939700F9\r
+:1020B00060939600209172023091730240917402F5\r
+:1020C00050917502C701B6010E9401300E94BE2ED8\r
+:1020D000709399006093980080918803882309F495\r
+:1020E00033C1C0908303D0908403E0908503F090C7\r
+:1020F000860320E030E0A901C701B6010E94FD2F50\r
+:102100001816D4F580917403909175038F3F2FEFCB\r
+:10211000920729F001969093750380937403C70189\r
+:10212000B6010E94D41220E030E040E051E40E9469\r
+:1021300001309B01AC0160E074E284E79BE40E9403\r
+:10214000562E6B017C010E94BE2E70939700609307\r
+:102150009600209172023091730240917402509166\r
+:102160007502C701B6010E9401300E94BE2E709315\r
+:1021700099006093980008C0109297001092960002\r
+:10218000109299001092980060917D0370917E03E7\r
+:102190006F5F7F4F70937E0360937D032091960065\r
+:1021A0003091970080E090E0232BF1F0C0919600F1\r
+:1021B000D09197000E94EF2E6B017C01BE0180E060\r
+:1021C00090E00E94EF2E9B01AC0160917F03709123\r
+:1021D000800380918103909182030E94562E20E01B\r
+:1021E0003FEF4FE757E410C00E94EF2E6B017C01D8\r
+:1021F00020E030EE4FEF54E460917F037091800354\r
+:1022000080918103909182030E9401309B01AC0177\r
+:10221000C701B6010E94FD2F87FD96C080917B0308\r
+:102220008F5F80937B0390E020914E0430914F04A8\r
+:1022300082179307A0F080915904882319F0109217\r
+:102240007B030DC0809171008D7F80937100809120\r
+:1022500090008F7780939000109288037DC08091CA\r
+:102260007C03C0917B03811128C0C0905304D0909F\r
+:102270005404E0905504F090560420E030E0A901A9\r
+:10228000C701B6010E94FD2F1816BCF481E08093AF\r
+:102290007C031092830310928403109285031092A2\r
+:1022A0008603C0927F03D0928003E0928103F09274\r
+:1022B0008203C150C0937B0343C010927C031092F1\r
+:1022C000750310927403E0915004F091510448E0BA\r
+:1022D000C49FE00DF11D112480819181A281B38101\r
+:1022E0008093830390938403A0938503B093860324\r
+:1022F00020E030E040E85EE364817581868197816B\r
+:102300000E9401306B017C0120E030E048EC52E497\r
+:1023100060917602709177028091780290917902B3\r
+:102320000E94562E9B01AC01C701B6010E940130EC\r
+:1023300060937F0370938003809381039093820363\r
+:1023400010927E0310927D038091520480FD04C0A0\r
+:102350001092880310928703FF91EF91DF91CF9144\r
+:10236000BF91AF919F918F917F916F915F914F91AD\r
+:102370003F912F91FF90EF90DF90CF90BF90AF9063\r
+:102380009F908F907F906F905F904F900F900FBEB7\r
+:102390000F901F901895CF92DF92EF92FF92CF93FC\r
+:1023A000DF936B017C01EA0180917603811102C009\r
+:1023B0000E94C60D8091520480FF46C08091C503E3\r
+:1023C0009091C60308970CF03FC0809171008D7FFB\r
+:1023D000809371008091880381110E94E00D81E05B\r
+:1023E00080938703109275031092740320E030E00D\r
+:1023F000A901C701B6010E94FD2F1816DCF48091D7\r
+:10240000C5039091C603FC01EE0FFF1FEE0FFF1FE7\r
+:10241000E356FC4FC082D182E282F382FC01EE0FD0\r
+:10242000FF1FE357FC4FD183C08301969093C603EF\r
+:102430008093C503809171008260809371008091C8\r
+:102440009000806880939000DF91CF91FF90EF9093\r
+:10245000DF90CF9008958F929F92AF92BF92CF92CC\r
+:10246000DF92EF92FF920F931F93CF93DF93EC01D4\r
+:102470007B01D42E4801590180917603811102C05D\r
+:102480000E94C60D8091520480FF6BC08091710044\r
+:102490008D7F809371008091870381110E94E00DF0\r
+:1024A00081E080938803D0935104C0935004F0924C\r
+:1024B0004F04E0924E04D0925904809253049092BB\r
+:1024C0005404A0925504B0925604109289031092BD\r
+:1024D0008A0310928B0310928C0310927B038881E5\r
+:1024E0009981AA81BB818093830390938403A093F5\r
+:1024F0008503B093860320E030E040E85EE36C8122\r
+:102500007D818E819F810E9401306B017C0120E0E2\r
+:1025100030E048EC52E4609176027091770280914D\r
+:102520007802909179020E94562E9B01AC01C7015E\r
+:10253000B6010E94013060937F0370938003809303\r
+:1025400081039093820310927E0310927D03809109\r
+:102550007100826080937100809190008068809308\r
+:102560009000DF91CF911F910F91FF90EF90DF903E\r
+:10257000CF90BF90AF909F908F9008958091C703A8\r
+:1025800090E0019666E070E00E94CF318093C7032F\r
+:1025900008958091C70390E0019766E070E00E9483\r
+:1025A000CF318093C70308958F929F92AF92BF92CD\r
+:1025B000CF92DF92EF92FF920F931F93CF93DF930F\r
+:1025C0006B017C01C0917403D0917503BE0180E062\r
+:1025D00090E00E94EF2E4B015C01A701960160E0A4\r
+:1025E00070E08CE594E40E94562E9B01AC01C5017D\r
+:1025F000B4010E9401300E94C32E2091C7032330F2\r
+:1026000009F473C028F4222351F02130E9F02CC1E1\r
+:10261000243009F4A0C0253009F4E0C025C180E0D1\r
+:1026200090E0A0E0BFE38093720290937302A093C6\r
+:102630007402B0937502109277031092780310928F\r
+:10264000790310927A0310C11092770310927803E5\r
+:102650001092790310927A036431710540F46A3064\r
+:10266000710560F520E030E040E85EE32BC0693C96\r
+:10267000710508F0AAC080E090E00E94EF2E20E0F3\r
+:1026800030E040EA51E40E94ED2D20E030E044E3E8\r
+:1026900053E40E94562E9B01AC010E94013020E0C1\r
+:1026A00030E040E05EE30E9401309B01AC0160E05D\r
+:1026B00070E080E09EE30E94ED2D44C020E030E019\r
+:1026C00040E05FE3C701B6010E9401306B017C016D\r
+:1026D00080E090E0A0E0BEE38093720290937302EA\r
+:1026E000A0937402B0937502BFC01092770310924A\r
+:1026F00078031092790310927A034AE0469F900182\r
+:10270000479F300D1124C90168EB7BE00E94BB316B\r
+:10271000BC016C5D754077FF03C0719561957109CF\r
+:10272000882777FD8095982F0E94F12E2EE333ECB9\r
+:102730004EE259E30E94013020E030E040EC5EE3DD\r
+:102740000E94EE2D60937202709373028093740264\r
+:102750009093750289C010927703109278031092BB\r
+:10276000790310927A03CE0183709927892BE1F0C7\r
+:10277000BE016170772780E090E00E94EF2E20E09C\r
+:1027800030E040E05EE30E94013020E030E040E4D1\r
+:102790005FE30E94EE2D6093720270937302809348\r
+:1027A0007402909375020CC080E090E0A0E0BFE35B\r
+:1027B0008093720290937302A0937402B093750297\r
+:1027C000C770DD27CD2B09F04FC010927202109216\r
+:1027D0007302109274021092750246C01092770331\r
+:1027E000109278031092790310927A0300E010E0BF\r
+:1027F00020E03FE30093720210937302209374026F\r
+:10280000309375026739710578F180E090E00E949D\r
+:10281000EF2E20E030E047E153E40E94ED2D20E070\r
+:1028200030E04AE754E40E94562E20E030E048E4CD\r
+:1028300052E40E94013020E030E040EA51E40E947E\r
+:10284000332F0E94BE2E660F771F660F771FFB0186\r
+:10285000EC50FD4F2081318142815381C701B60187\r
+:102860000E9401306B017C01C701B601DF91CF915D\r
+:102870001F910F91FF90EF90DF90CF90BF90AF909E\r
+:102880009F908F9008958091D8030895CF93DF9300\r
+:1028900000D01F92CDB7DEB79C0180915E048430DA\r
+:1028A00019F593E099833B832A839093E9008FEF96\r
+:1028B0009091E800815095FD06C095ED9A95F1F74D\r
+:1028C00000008111F5CF8091E80085FF0DC040E048\r
+:1028D00050E063E070E0CE0101960E94A71680915F\r
+:1028E000E8008E778093E8000F900F900F90DF91B3\r
+:1028F000CF910895CF93DF9300D01F92CDB7DEB76D\r
+:1029000020915E04243021F522E029839B838A8371\r
+:1029100083E08093E9008FEF9091E800815095FD6E\r
+:1029200006C095ED9A95F1F700008111F5CF8091E1\r
+:10293000E80085FF0DC040E050E063E070E0CE01AC\r
+:1029400001960E94A7168091E8008E778093E80098\r
+:102950000F900F900F90DF91CF91089520915E041A\r
+:102960002430F1F422E02093E9002FEF3091E800C9\r
+:10297000215035FD06C035ED3A95F1F700002111E3\r
+:10298000F5CF2091E80025FF0BC040E050E065E066\r
+:1029900070E00E94A7168091E8008E778093E8008F\r
+:1029A0000895CF93DF93EC0190915E04943009F089\r
+:1029B00046C0809184028823D9F0809185028823C3\r
+:1029C000B9F09093E9008FEF9091E800815095FD68\r
+:1029D00006C095E19A95F1F700008111F5CF80913D\r
+:1029E000E80085FF2CC040E050E060E170E017C0D7\r
+:1029F00081E08093E9008FEF9091E800815095FD90\r
+:102A000006C095ED9A95F1F700008111F5CF809100\r
+:102A1000E80085FF14C040E050E068E070E0CE01BF\r
+:102A20000E94A7168091E8008E778093E80080E1ED\r
+:102A3000FE01A8ECB3E001900D928A95E1F7DF91D9\r
+:102A4000CF91089580915D04811109C00E943C18C6\r
+:102A50000E9499188091E20084608093E2000895BA\r
+:102A600010925D040895089508950C94E12742E0C2\r
+:102A700061EC81E00E94B61742E061EC82E00E94C6\r
+:102A8000B61742E061EC83E00E94B61742E161ECC8\r
+:102A900084E00C94B61780916004833009F455C02B\r
+:102AA00030F4813071F0823009F48EC008958A309C\r
+:102AB00009F47AC08B3009F460C0893009F09CC0F9\r
+:102AC00020C080915F04813A09F096C08091E800AF\r
+:102AD000877F8093E8008091630490916404892B40\r
+:102AE00021F460E188EC93E003C060E080E090E0D6\r
+:102AF00070E00E94F2168091E8008B778093E800E6\r
+:102B0000089580915F04813209F076C0809163045A\r
+:102B100090916404009719F0039709F06DC08091BB\r
+:102B2000E800877F8093E8008091E80082FD05C07F\r
+:102B300080915E048111F8CF5FC08091F100809395\r
+:102B4000D8038091E8008B7753C080915F04813A6D\r
+:102B500009F052C08091630490916404892B09F0BC\r
+:102B60004BC08091E800877F8093E8008091E80067\r
+:102B700080FFFCCF8091840236C080915F04813257\r
+:102B8000D9F58091630490916404892BA9F5809113\r
+:102B9000E800877F8093E8000E94EB178091610432\r
+:102BA000809384020C945C2180915F04813221F532\r
+:102BB0008091E800877F8093E8000E94EB17809166\r
+:102BC00062048093D903089580915F04813AA1F44F\r
+:102BD0008091E800877F8093E8008091E80080FF83\r
+:102BE000FCCF8091D9038093F1008091E8008E772B\r
+:102BF0008093E8000C94EB17089584B7877F84BF17\r
+:102C000088E10FB6F89480936000109260000FBEC8\r
+:102C100090E080E80FB6F894809361009093610093\r
+:102C20000FBE0E948E1B0E943C180E949918809132\r
+:102C3000E20084608093E20078940E941F1B0E944F\r
+:102C4000901B8AE792E00E943A1B80915E048530D7\r
+:102C500069F40E949B2780915C048823B1F30E9451\r
+:102C6000C927882391F30E949116EFCF0E94981BE9\r
+:102C7000ECCF292F332723303105C9F064F42130FC\r
+:102C8000310581F02230310509F043C08DE690E036\r
+:102C90002AE338E042C021323105F1F02232310519\r
+:102CA00041F137C082E190E027EA38E036C0992749\r
+:102CB0008130910541F08230910541F0892B49F531\r
+:102CC000E6E3F8E005C0E8E0F8E002C0EEEDF7E08A\r
+:102CD000849190E09F0121C06430D8F4E62FF0E0A9\r
+:102CE000EE0FFF1FE05BFC4F2081318189E090E017\r
+:102CF00014C0643070F470E0FB01EE0FFF1FE85B5E\r
+:102D0000FC4F20813181FB01EC5BFC4F808190E026\r
+:102D100004C080E090E020E030E0FA0131832083BD\r
+:102D2000089580E189BD82E189BD09B400FEFDCF2F\r
+:102D30008091D8008F7D8093D8008091E0008260E0\r
+:102D40008093E0008091E00081FDFCCF0895CF9258\r
+:102D5000DF92EF92FF920F931F93CF93DF93EC01DB\r
+:102D60008B016A010E940A18811133C0C114D10479\r
+:102D700039F0F60180819181081B190BC80FD91F0A\r
+:102D8000E12CF12C0115110519F18091E80085FD68\r
+:102D900016C08091E8008E778093E800C114D104BA\r
+:102DA00049F0F60180819181E80EF91EF182E082FE\r
+:102DB00085E00FC00E940A18882321F30AC0899178\r
+:102DC0008093F10001501109FFEFEF1AFF0ADACFEB\r
+:102DD00080E0DF91CF911F910F91FF90EF90DF90F6\r
+:102DE000CF90089520916504309166042617370727\r
+:102DF00048F06115710539F42091E8002E77209391\r
+:102E0000E80001C0B90140E061157105A9F1209108\r
+:102E10005E04222309F443C0253009F442C0209106\r
+:102E2000E80023FD40C02091E80022FD32C020913F\r
+:102E3000E80020FFE9CF4091F3002091F20030E05C\r
+:102E4000342BFC01CF016115710559F02830310593\r
+:102E500040F481918093F100615071092F5F3F4FE1\r
+:102E6000F1CF41E02830310509F040E02091E80041\r
+:102E70002E772093E800C8CF4111C9CF0AC08091B6\r
+:102E80005E04882361F0853061F08091E80083FD65\r
+:102E90000AC08091E80082FFF2CF80E0089582E0CE\r
+:102EA000089583E0089581E00895209165043091AC\r
+:102EB00066042617370748F06115710539F420912B\r
+:102EC000E8002E772093E80001C0B901FC0120E062\r
+:102ED0006115710591F180915E04882309F440C069\r
+:102EE000853009F43FC08091E80083FD3DC08091AA\r
+:102EF000E80082FD2FC08091E80080FFE9CF20919B\r
+:102F0000F3008091F20090E0922B6115710559F069\r
+:102F10008830910540F424912093F100319661505E\r
+:102F200071090196F2CF21E0089709F020E0809125\r
+:102F3000E8008E778093E800CBCF2111CCCF0AC078\r
+:102F400080915E04882361F0853061F08091E80013\r
+:102F500083FD0AC08091E80082FFF2CF80E00895EF\r
+:102F600082E0089583E0089581E00895982F9730D6\r
+:102F700058F59093E900981739F07091EC00209182\r
+:102F8000ED005091F00003C0242F762F50E021FF78\r
+:102F900019C03091EB003E7F3093EB003091ED0093\r
+:102FA0003D7F3093ED003091EB0031603093EB00CA\r
+:102FB0007093EC002093ED005093F0002091EE0010\r
+:102FC00027FF07C09F5FD3CF8F708093E90081E018\r
+:102FD000089580E0089580915F0487FF11C080917B\r
+:102FE000E80082FD05C080915E048111F8CF11C018\r
+:102FF0008091E8008B770BC080915E04882349F0B4\r
+:103000008091E80080FFF8CF8091E8008E77809370\r
+:10301000E80008952091E4003091E50095E64091A4\r
+:10302000EC00842F817040FF22C08091E80080FD79\r
+:103030001CC080915E04882391F0853091F08091CE\r
+:10304000EB0085FD10C04091E4005091E50042176F\r
+:10305000530729F39A01915011F784E0089582E013\r
+:10306000089583E0089581E0089580E008954091F7\r
+:10307000E80042FFDECF08950E94AA180E94B2180D\r
+:10308000E0EEF0E0808181608083E8EDF0E0808117\r
+:103090008F77808319BCA7EDB0E08C918E7F8C93E5\r
+:1030A00080818F7E808310925D0408950F931F931B\r
+:1030B000CF93DF930E94AA180E94B218C8EDD0E007\r
+:1030C00088818F77888388818068888388818F7DD5\r
+:1030D000888319BC10925E0410925A0410925C040A\r
+:1030E00010925B0400EE10E0F80180818B7F8083FA\r
+:1030F00088818160888342E060E080E00E94B617AA\r
+:10310000E1EEF0E080818E7F8083E2EEF0E080816E\r
+:1031100081608083808188608083F80180818E7FD8\r
+:103120008083888180618883DF91CF911F910F9187\r
+:103130000895E8EDF0E080818F7E8083E7EDF0E098\r
+:1031400080818160808384E082BF81E080935D0420\r
+:103150000C945618E8EDF0E080818E7F8083109209\r
+:10316000E20008951092DA001092E10008951F9293\r
+:103170000F920FB60F9211242F933F934F935F93AB\r
+:103180006F937F938F939F93AF93BF93EF93FF932F\r
+:103190008091E10082FF0BC08091E20082FF07C0B6\r
+:1031A0008091E1008B7F8093E1000E941E1B809143\r
+:1031B000DA0080FF1FC08091D80080FF1BC0809183\r
+:1031C000DA008E7F8093DA008091D90080FF0DC0F5\r
+:1031D00080E189BD82E189BD09B400FEFDCF81E0B7\r
+:1031E00080935E040E94221505C019BC10925E04F3\r
+:1031F0000E9430158091E10080FF19C08091E200AB\r
+:1032000080FF15C08091E2008E7F8093E200809164\r
+:10321000E20080618093E2008091D8008062809318\r
+:10322000D80019BC85E080935E040E94341580911B\r
+:10323000E10084FF30C08091E20084FF2CC080E177\r
+:1032400089BD82E189BD09B400FEFDCF8091D8001F\r
+:103250008F7D8093D8008091E1008F7E8093E10084\r
+:103260008091E2008F7E8093E2008091E200816095\r
+:103270008093E20080915A04882311F084E007C013\r
+:103280008091E30087FD02C081E001C083E080936C\r
+:103290005E040E9435158091E10083FF29C0809172\r
+:1032A000E20083FF25C08091E100877F8093E100E9\r
+:1032B00082E080935E0410925A048091E1008E7F38\r
+:1032C0008093E1008091E2008E7F8093E200809104\r
+:1032D000E20080618093E20042E060E080E00E94D2\r
+:1032E000B6178091F00088608093F0000E9433153B\r
+:1032F000FF91EF91BF91AF919F918F917F916F91CE\r
+:103300005F914F913F912F910F900FBE0F901F90A3\r
+:1033100018951F920F920FB60F9211242F933F937F\r
+:103320004F935F936F937F938F939F93AF93BF93CD\r
+:10333000CF93DF93EF93FF93C091E900CF7080911B\r
+:10334000EC00D82FD17080FDD0E81092E900809178\r
+:10335000F000877F8093F00078940E94CD1910923E\r
+:10336000E9008091F00088608093F000CD2BCF7051\r
+:10337000C093E900FF91EF91DF91CF91BF91AF91A1\r
+:103380009F918F917F916F915F914F913F912F917D\r
+:103390000F900FBE0F901F9018951F93CF93DF9340\r
+:1033A000CDB7DEB7AA970FB6F894DEBF0FBECDBF7C\r
+:1033B000EFE5F4E088E08E0F9091F10091938E1389\r
+:1033C000FBCF0E944B158091E80083FF1FC18091C5\r
+:1033D0005F0490916004492F50E04A30510508F095\r
+:1033E00015C1FA01EC59FF4F0C94E331803881F09C\r
+:1033F000823809F00BC1809163048F708093E900DB\r
+:103400008091EB0085FB882780F91092E90006C0C7\r
+:1034100080915B0490915C04911182609091E8002E\r
+:10342000977F9093E8008093F1001092F100C8C05C\r
+:10343000282F2D7F09F0EAC0882319F0823061F02F\r
+:10344000E5C080916104813009F0E0C0933009F05B\r
+:1034500080E080935C042BC080916104811127C0BF\r
+:10346000809163048F7009F4D1C08093E9002091AA\r
+:10347000EB0020FF1CC0933021F48091EB008062B0\r
+:1034800014C09091EB0090619093EB0021E030E04C\r
+:10349000A90102C0440F551F8A95E2F74093EA0044\r
+:1034A0001092EA008091EB0088608093EB0010920C\r
+:1034B000E9008091E800877F86C08111A7C0109144\r
+:1034C00061041F778091E3008078812B8093E30073\r
+:1034D0008091E800877F8093E8000E94EB1780913D\r
+:1034E000E80080FFFCCF8091E30080688093E300D8\r
+:1034F000111102C082E001C083E080935E0486C0A7\r
+:103500008058823008F082C08091610490916204FA\r
+:103510008C3D53E0950779F583E08A838AE28983BD\r
+:103520004FB7F894DE01139620E03EE051E2E32F1E\r
+:10353000F0E050935700E49120FF03C0E295EF7054\r
+:103540003F5FEF708E2F90E0EA3010F0C79601C019\r
+:10355000C0968D939D932F5F243149F74FBF809183\r
+:10356000E800877F8093E8006AE270E0CE01019670\r
+:103570000E94F21614C0AE014F5F5F4F609163046A\r
+:103580000E943916BC01009709F440C09091E800F0\r
+:10359000977F9093E80089819A810E9455178091C6\r
+:1035A000E8008B778093E80031C0803879F580910E\r
+:1035B000E800877F8093E80080915A048093F100AF\r
+:1035C0008091E8008E778093E8000E94EB171EC080\r
+:1035D00081111CC0909161049230C0F48091E80088\r
+:1035E000877F8093E80090935A040E94EB178091A4\r
+:1035F0005A04811106C08091E30087FD02C081E07A\r
+:1036000001C084E080935E040E9437158091E80039\r
+:1036100083FF0AC08091E800877F8093E800809153\r
+:10362000EB0080628093EB00AA960FB6F894DEBFA1\r
+:103630000FBECDBFDF91CF911F9108950895CF9315\r
+:1036400080915E048823A1F0C091E900CF70909131\r
+:10365000EC00892F817090FD80E8C82B1092E90062\r
+:103660008091E80083FD0E94CD19CF70C093E900DE\r
+:10367000CF9108959093DF038093DE030895E09146\r
+:10368000DE03F091DF03309721F00190F081E02D0F\r
+:10369000099480E00895E091DE03F091DF03309714\r
+:1036A00021F00280F381E02D09940895E091DE037A\r
+:1036B000F091DF03309721F00480F581E02D09942B\r
+:1036C00008952091DC033091DD038217930771F098\r
+:1036D0009093DD038093DC03E091DE03F091DF0340\r
+:1036E000309721F00680F781E02D0994089520910C\r
+:1036F000DA033091DB038217930771F09093DB03B9\r
+:103700008093DA03E091DE03F091DF03309721F03C\r
+:103710000084F185E02D0994089508950C948D1B83\r
+:103720000E9415280E94760B0E949B280C94562D0F\r
+:103730004F925F927F928F929F92AF92BF92CF9261\r
+:10374000DF92EF92FF920F931F93CF93DF93CDB74A\r
+:10375000DEB72A970FB6F894DEBF0FBECDBF0E942A\r
+:10376000650C91EEC92E93E0D92E00E010E0AA245A\r
+:10377000A394B12C702E802F0E94AE0D4C01F60147\r
+:10378000419051906F014826592641145104B1F4DB\r
+:103790000F5F1F4F0430110569F78FEF89838A830C\r
+:1037A0001B820E941E288160782F9D838C83498113\r
+:1037B0005A816B818D810E94511C3AC080913D04D9\r
+:1037C00081FD0E94B70D20E030E07501022E02C09D\r
+:1037D000EE0CFF1C0A94E2F7C70184219521892B86\r
+:1037E00009F12E837F828E209F2091E0892809F4A1\r
+:1037F00090E098870E941E288160782F9A87898799\r
+:103800004E815F8168858A850E94511C000F111FBF\r
+:10381000F801EF51FC4F80819181E826F926F18271\r
+:10382000E08206C02F5F3F4F2C30310571F6B0CFDC\r
+:103830000E94872A1091E0030E943F1B1817D9F0BD\r
+:103840000E943F1B8093E0032A960FB6F894DEBFD8\r
+:103850000FBECDBFDF91CF911F910F91FF90EF90E1\r
+:10386000DF90CF90BF90AF909F908F907F905F90B0\r
+:103870004F900C94AE0A2A960FB6F894DEBF0FBE96\r
+:10388000CDBFDF91CF911F910F91FF90EF90DF900F\r
+:10389000CF90BF90AF909F908F907F905F904F9010\r
+:1038A0000895CF93DF93CDB7DEB72B970FB6F8947B\r
+:1038B000DEBF0FBECDBF4F83588769877A878B875E\r
+:1038C000DE01119686E0FD0111928A95E9F785E007\r
+:1038D000FE01379601900D928A95E1F749815A8150\r
+:1038E0006B817C818D819E810E94F6232B960FB681\r
+:1038F000F894DEBF0FBECDBFDF91CF910895CF9377\r
+:10390000882309F4C2C0C82F823859F40E943F1B93\r
+:1039100081FDBBC089E30E949F260E946C2789E33A\r
+:103920000CC0833879F40E943F1B80FDAEC083E554\r
+:103930000E949F260E946C2783E50E94E126CF917A\r
+:103940000C946C27843859F40E943F1B82FD9DC063\r
+:1039500087E40E949F260E946C2787E4EECF8CEFBD\r
+:103960008C0F813A48F48C2F0E94BE2C81118DC09F\r
+:103970008C2F0E949F26E3CF80E28C0F883048F482\r
+:10398000C77081E001C0880FCA95EAF70E94252719\r
+:10399000D6CF8BE58C0F833078F4C53A29F0C63A40\r
+:1039A00031F083E890E005C081E890E002C082E851\r
+:1039B00090E0CF910C94611B88E58C0F833108F067\r
+:1039C00064C0C83A39F1C93A41F1CA3A49F1CB3A2F\r
+:1039D00051F1CC3A59F1CD3A61F1C03B69F1CE3A9F\r
+:1039E00071F1CF3A79F1C13B81F1C23B89F1C33B1F\r
+:1039F00091F1C43B99F1C53BA1F1C63BA9F1C73B8D\r
+:103A0000B1F1C83BB9F1C93BC1F1CA3BC9F180E092\r
+:103A100090E038C082EE90E035C089EE90E032C090\r
+:103A20008AEE90E02FC085EB90E02CC086EB90E012\r
+:103A300029C087EB90E026C08CEC90E023C08DEC91\r
+:103A400090E020C083E891E01DC08AE891E01AC0B0\r
+:103A500082E991E017C084E991E014C081E292E02C\r
+:103A600011C083E292E00EC084E292E00BC085E2D6\r
+:103A700092E008C086E292E005C087E292E002C0D0\r
+:103A80008AE292E0CF910C94771BCF91089588231E\r
+:103A900009F44BC0823859F40E943F1B81FF45C096\r
+:103AA00089E30E949F260E946C2789E30CC083381B\r
+:103AB00071F40E943F1B80FF38C083E50E949F265F\r
+:103AC0000E946C2783E50E94E1260C946C278438C1\r
+:103AD00059F40E943F1B82FF28C087E40E949F2662\r
+:103AE0000E946C2787E4EFCF9CEF980F913A58F330\r
+:103AF00090E2980F983050F4877091E001C0990FD0\r
+:103B00008A95EAF7892F0E942B27DFCF9BE5980F34\r
+:103B1000933020F480E090E00C94611B885A83314C\r
+:103B200020F480E090E00C94771B0895882321F026\r
+:103B30000E9425270C946C270895882321F00E9469\r
+:103B40002B270C946C270895BF92CF92DF92EF92AF\r
+:103B5000FF920F931F93CF93DF9300D000D000D03C\r
+:103B6000CDB7DEB725E0FC01DE01119601900D9284\r
+:103B70002A95E1F7FC01D0801181028125812295EF\r
+:103B80002F7043815481452B09F472C31F3F21F4E8\r
+:103B9000FFEFDF1609F46CC37C012E830E947707C8\r
+:103BA000D9821A8369817A81802F0E949B26182FDF\r
+:103BB000B92E0E9450260E9417252E81002319F04D\r
+:103BC0000E9442272E81EB2DE295EF70F0E0E25942\r
+:103BD000FF4F0C94E3318B2D807F9B2D9F70F92E2E\r
+:103BE000882319F0F29480EFF822002389F0FF2057\r
+:103BF00009F47CC280E2810F883020F48F2D0E946E\r
+:103C0000252703C08F2D0E9435270E946C276EC286\r
+:103C1000812F0E94471DFF2009F42AC3105E8F2DBB\r
+:103C2000183018F40E942B2702C00E943B272696CA\r
+:103C30000FB6F894DEBF0FBECDBFDF91CF911F91BD\r
+:103C40000F91FF90EF90DF90CF90BF900C946C2776\r
+:103C50008B2D807F9B2D9F70803211F4892F03C0A4\r
+:103C6000892F8295807F112319F0113011F12BC01B\r
+:103C70000023A9F0222389F1213079F526960FB689\r
+:103C8000F894DEBF0FBECDBFDF91CF911F910F9192\r
+:103C9000FF90EF90DF90CF90BF900C945527222398\r
+:103CA00019F0213009F4E4C28E830E9458278E81D6\r
+:103CB0009BC1002321F0263008F0DAC20EC0253067\r
+:103CC00008F0D6C291C10023C9F0222331F0F701D8\r
+:103CD000958190FF0BC29F70958326960FB6F8943E\r
+:103CE000DEBF0FBECDBFDF91CF911F910F91FF902F\r
+:103CF000EF90DF90CF90BF900C94961D222309F493\r
+:103D000073C109C22B2D26952695237030E021150D\r
+:103D1000310521F021303105D1F0AAC2002321F074\r
+:103D2000812F9B2D937002C080E090E026960FB605\r
+:103D3000F894DEBF0FBECDBFDF91CF911F910F91E1\r
+:103D4000FF90EF90DF90CF90BF900C94611B002309\r
+:103D500021F0812F9B2D937002C080E090E0269689\r
+:103D60000FB6F894DEBF0FBECDBFDF91CF911F918C\r
+:103D70000F91FF90EF90DF90CF90BF900C94771B46\r
+:103D8000812F002319F00E948F2902C00E94F72979\r
+:103D900026960FB6F894DEBF0FBECDBFDF91CF9150\r
+:103DA0001F910F91FF90EF90DF90CF90BF900C94F8\r
+:103DB0007C2A8B2D837009F07BC0011159C2812FA1\r
+:103DC000829586958770880F880F912F9F70C92ED6\r
+:103DD000D12CE12CF12C082E04C0CC0CDD1CEE1CE7\r
+:103DE000FF1C0A94D2F714FF12C04FE050E060E0CD\r
+:103DF00070E004C0440F551F661F771F8A95D2F7E5\r
+:103E0000CB01BA01609570958095909503C060E0F4\r
+:103E100070E0CB012B2D269526952370422F50E084\r
+:103E200042305105D9F04330510569F16C297D29A3\r
+:103E30008E299F294130510551F126960FB6F894ED\r
+:103E4000DEBF0FBECDBFDF91CF911F910F91FF90CD\r
+:103E5000EF90DF90CF90BF900C943E256C297D2988\r
+:103E60008E299F2926960FB6F894DEBF0FBECDBFD0\r
+:103E7000DF91CF911F910F91FF90EF90DF90CF9046\r
+:103E8000BF900C945A250E943E25C701B601269684\r
+:103E90000FB6F894DEBF0FBECDBFDF91CF911F915B\r
+:103EA0000F91FF90EF90DF90CF90BF900C94222560\r
+:103EB000002319F08B2D817001C08695882309F4A9\r
+:103EC000D7C1812F829586958770880F880F912F93\r
+:103ED0009F70C92ED12CE12CF12C082E04C0CC0CE3\r
+:103EE000DD1CEE1CFF1C0A94D2F714FF12C04FE039\r
+:103EF00050E060E070E004C0440F551F661F771F5C\r
+:103F00008A95D2F7CB01BA0160957095809590950E\r
+:103F100003C060E070E0CB012B2D26952695237021\r
+:103F2000422F50E042305105D9F04330510569F13C\r
+:103F30006C297D298E299F294130510551F1269602\r
+:103F40000FB6F894DEBF0FBECDBFDF91CF911F91AA\r
+:103F50000F91FF90EF90DF90CF90BF900C941826B8\r
+:103F60006C297D298E299F2926960FB6F894DEBFED\r
+:103F70000FBECDBFDF91CF911F910F91FF90EF90BA\r
+:103F8000DF90CF90BF900C9434260E941826C70172\r
+:103F9000B60126960FB6F894DEBF0FBECDBFDF91F7\r
+:103FA000CF911F910F91FF90EF90DF90CF90BF9036\r
+:103FB0000C94FC25103F49F118F4103E48F491C0D0\r
+:103FC000123F09F453C0E8F1133F09F464C089C0FB\r
+:103FD0001F708B2D8F71002321F00E949525812F5A\r
+:103FE0007CCE0E94B625812F26960FB6F894DEBFB0\r
+:103FF0000FBECDBFDF91CF911F910F91FF90EF903A\r
+:10400000DF90CF90BF900C949D1D0023B1F0253020\r
+:1040100008F02EC18B2D8F7126960FB6F894DEBF57\r
+:104020000FBECDBFDF91CF911F910F91FF90EF9009\r
+:10403000DF90CF90BF900C94DB25263008F018C19C\r
+:10404000E9CF0023A9F08B2D8F7126960FB6F89437\r
+:10405000DEBF0FBECDBFDF91CF911F910F91FF90BB\r
+:10406000EF90DF90CF90BF900C949525002359F3EB\r
+:104070008B2D8F7126960FB6F894DEBF0FBECDBF85\r
+:10408000DF91CF911F910F91FF90EF90DF90CF9034\r
+:10409000BF900C94B625002399F08B2D8F71269636\r
 :1040A0000FB6F894DEBF0FBECDBFDF91CF911F9149\r
-:1040B0000F91FF90EF90DF90CF90BF900C9465250B\r
-:1040C0000023A9F0222309F4ADCF812F26960FB645\r
-:1040D000F894DEBF0FBECDBFDF91CF911F910F913E\r
-:1040E000FF90EF90DF90CF90BF900C946E1C222336\r
-:1040F00009F4ADCF812F26960FB6F894DEBF0FBE20\r
-:10410000CDBFDF91CF911F910F91FF90EF90DF9086\r
-:10411000CF90BF900C94361D4B2D4F70612FC7016F\r
-:104120000E948D0526960FB6F894DEBF0FBECDBF58\r
-:10413000DF91CF911F910F91FF90EF90DF90CF9083\r
-:10414000BF900C948924011182C09B2D9F70492F30\r
-:1041500050E04230510509F443C0C4F44115510503\r
-:1041600071F14130510509F072C026960FB6F894EE\r
-:10417000DEBF0FBECDBFDF91CF911F910F91FF909A\r
-:10418000EF90DF90CF90BF900C946D2D4330510590\r
-:10419000C1F14430510509F05AC0812F26960FB65F\r
-:1041A000F894DEBF0FBECDBFDF91CF911F910F916D\r
-:1041B000FF90EF90DF90CF90BF900C94BF2D26968C\r
+:1040B0000F91FF90EF90DF90CF90BF900C948025F0\r
+:1040C00026960FB6F894DEBF0FBECDBFDF91CF911D\r
+:1040D0001F910F91FF90EF90DF90CF90BF900C94C5\r
+:1040E00076250023A9F0222309F4ADCF812F26964F\r
+:1040F0000FB6F894DEBF0FBECDBFDF91CF911F91F9\r
+:104100000F91FF90EF90DF90CF90BF900C947F1CA9\r
+:10411000222309F4ADCF812F26960FB6F894DEBF87\r
+:104120000FBECDBFDF91CF911F910F91FF90EF9008\r
+:10413000DF90CF90BF900C94471D4B2D4F70612F97\r
+:10414000C7010E94690526960FB6F894DEBF0FBE20\r
+:10415000CDBFDF91CF911F910F91FF90EF90DF9036\r
+:10416000CF90BF900C949A24011182C09B2D9F7018\r
+:10417000492F50E04230510509F443C0C4F44115C1\r
+:10418000510571F14130510509F072C026960FB604\r
+:10419000F894DEBF0FBECDBFDF91CF911F910F917D\r
+:1041A000FF90EF90DF90CF90BF900C947E2D433026\r
+:1041B0005105C1F14430510509F05AC0812F2696AE\r
 :1041C0000FB6F894DEBF0FBECDBFDF91CF911F9128\r
-:1041D0000F91FF90EF90DF90CF90BF900C94562DF1\r
+:1041D0000F91FF90EF90DF90CF90BF900C94D02D77\r
 :1041E00026960FB6F894DEBF0FBECDBFDF91CF91FC\r
 :1041F0001F910F91FF90EF90DF90CF90BF900C94A4\r
-:10420000892D26960FB6F894DEBF0FBECDBFDF9185\r
+:10420000672D26960FB6F894DEBF0FBECDBFDF91A7\r
 :10421000CF911F910F91FF90EF90DF90CF90BF90C3\r
-:104220000C949C2D4B2D4F70612FC70126960FB615\r
-:10423000F894DEBF0FBECDBFDF91CF911F910F91DC\r
-:10424000FF90EF90DF90CF90BF900C949D07269643\r
+:104220000C949A2D26960FB6F894DEBF0FBECDBF24\r
+:10423000DF91CF911F910F91FF90EF90DF90CF9082\r
+:10424000BF900C94AD2D4B2D4F70612FC70126965A\r
 :104250000FB6F894DEBF0FBECDBFDF91CF911F9197\r
-:104260000F91FF90EF90DF90CF90BF9008950E9444\r
-:1042700031270E9441270E9406270E945B270E9447\r
-:104280001C2B0E946B2A80E090E00E94501B80E073\r
-:1042900090E00C94661B0E9421270C9437210E9409\r
-:1042A0007F26292F22952F7030E02C3031054CF4D9\r
-:1042B0002A3031056CF4225031092230310588F45E\r
-:1042C00007C02C30310549F02F30310531F009C0DD\r
-:1042D000803E48F0803F29F406C093FB882780F990\r
-:1042E000089580E0089581E00895CF93DF9300D092\r
-:1042F00000D01F92CDB7DEB70F900F900F900F90A8\r
-:104300000F90DF91CF910895CF93DF9300D000D02D\r
-:1043100000D0CDB7DEB726960FB6F894DEBF0FBE3D\r
-:10432000CDBFDF91CF9108951F93CF93DF93C091BD\r
-:10433000990316E080919A03C81799F0D0E01C9F6A\r
-:10434000F0011D9FF00D1124E556FC4F4081518175\r
-:1043500062817381848195810E9484212196C77036\r
-:10436000E9CFDF91CF911F9108954091CB035091F8\r
-:10437000CC036091CD037091CE038091CF039091D7\r
-:10438000D0030C9484218091D00382958F7009F022\r
-:1043900054C08091CD03882309F44FC080919903C4\r
-:1043A000A0919A036091CB037091CC034091CE030E\r
-:1043B0005091CF03B6E08A1709F43FC090E0411551\r
-:1043C0005105C1F17F3F11F46F3FA1F1B89FF0019A\r
-:1043D000B99FF00D1124E556FC4F218172132AC0BC\r
-:1043E0002081621327C02281211124C023813481BE\r
-:1043F0002417350710F421503109241B350B283CB4\r
-:104400003105C0F42091D0032F7020612093D00398\r
-:1044100026E0289FF001299FF00D1124E056FC4F63\r
-:1044200080818F70806180838BEC93E00E94931D6C\r
-:104430000C94942101968770BECF0895CF92DF929D\r
-:10444000EF92FF920F931F93CF93DF93CDB7DEB719\r
-:1044500062970FB6F894DEBF0FBECDBF8C0185E02A\r
-:10446000F801DE011D9601900D928A95E1F7D801C1\r
-:104470004C9111965C91119712966C91129713962C\r
-:10448000CD90DC9014973091CB037091CC03809148\r
-:10449000CE039091CF03009709F46BC17F3F19F4CD\r
-:1044A0003F3F09F466C1E090CD03EE2009F4C0C09F\r
-:1044B0002091D003C816D90628F0F601E81BF90BA5\r
-:1044C000CF0104C0809590958C0D9D1DFF24F39421\r
-:1044D000883C910578F0F12C207F09F0C6C07C2D36\r
-:1044E000D98AC88A89890E9475218BEC93E00E9441\r
-:1044F000931DB1C0822F807F09F046C0751314C090\r
-:10450000341312C0611110C02F7020612093D003AA\r
-:104510000E94B5218BEC93E00E94931D8091D00303\r
-:10452000D80115968C932EC0CD2819F15F3F11F458\r
-:104530004F3FF9F0F62E61111CC080919903209134\r
-:104540009A0336E0821709F45AC090E0389FF001D0\r
-:10455000399FF00D1124E556FC4F7181571306C0A9\r
-:104560007081471303C07281711103C00196877077\r
-:10457000E9CFF62E662309F418C18091D00381603B\r
-:104580008093D003F12C11C1751308C0341306C0F9\r
-:10459000611104C08091D003D801C3C04D875E87EC\r
-:1045A0008D859E856A8B0E944F216A898823E1F15F\r
-:1045B0006623D1F12091D003822F82958F7090E0F5\r
-:1045C000029774F08091CB039091CC0398878F83EE\r
-:1045D0001986DB86CA862C87CE0107960E94931D1A\r
-:1045E00086E0F801ABECB3E001900D928A95E1F71B\r
-:1045F0000E94C3210E94B521FF24F394D6C04D87A9\r
-:104600005E878D859E850E947F26292F22952F709B\r
-:1046100030E0223031050CF0BCC09F7009F0B6C00C\r
-:10462000805E883008F4C1C0C8010E94931DE4CFA9\r
-:10463000C816D90608F453C0F601E81BF90BCF01E0\r
-:10464000883C910508F450C0F12C7C2DD98AC88A89\r
-:1046500089890E947521EBECF3E086E0DF011D9271\r
-:104660008A95E9F70E94B521A0C0751314C03413D0\r
-:1046700012C0611110C08091D003F8018583C80178\r
-:104680000E94931D86E0EBECF3E0DF011D928A951A\r
-:10469000E9F7FE2C8AC04D875E878D859E856A8BE3\r
-:1046A0000E944F216A89882309F4BECF662309F44A\r
-:1046B000BBCF2091D003822F82958F7090E002971C\r
-:1046C0000CF48ECF8091CB039091CC039A83898395\r
-:1046D0001B82DD82CC822E83CE0101967FCF809516\r
-:1046E00090958C0D9D1DACCFF62E662309F49CCFC2\r
-:1046F00075132EC034132CC02091D00320FD1FC091\r
-:10470000822F82958F70D9F0D80115962C9315972A\r
-:104710008F3049F08F5F982F9295907F822F8F7006\r
-:10472000892B15968C93C8010E94931D86E0F80191\r
-:10473000ABECB3E001900D928A95E1F793CF86E060\r
-:10474000F801ABECB3E001900D928A95E1F72DC032\r
-:104750004D875E878D859E850E944F21811140CFB8\r
-:104760008091D00381608093D003C8010E94931D83\r
-:104770001CC0662309F458CF4D875E878D859E85C2\r
-:104780000E944F21882309F44FCF2ACF811148CFAF\r
-:104790000CC0243031050CF047CF9F7009F440CF96\r
-:1047A000F8019581907F09F03BCF8F2D62960FB66F\r
-:1047B000F894DEBF0FBECDBFDF91CF911F910F9157\r
-:1047C000FF90EF90DF90CF9008951F93CF93DF93EA\r
-:1047D000CDB7DEB72C970FB6F894DEBF0FBECDBFB6\r
-:1047E0004F83588769877A878B879C87CE01079686\r
-:1047F0000E941E22882369F08F8198852A853B8537\r
-:10480000232BF1F19F3F09F063C08F3F09F060C097\r
-:1048100037C086E0FE013796DE01119601900D92B9\r
-:104820008A95E1F76F817885EA85FB85309741F1BC\r
-:104830007F3F11F46F3F21F120919A0330E0C901CD\r
-:104840000196877099274091990350E08417950746\r
-:1048500009F447C069837A83FD83EC8396E0929FD5\r
-:10486000D001939FB00D1124A556BC4FFE01319687\r
-:1048700001900D929A95E1F780939A030E949421FA\r
-:1048800016E08091990390919A038917C1F1189FBE\r
-:10489000C001112485569C4F0E941E22882379F165\r
-:1048A000E09199031E9FF0011124E556FC4F4081D1\r
-:1048B000518162817381848195810E9484218091DC\r
-:1048C000990390E001968770992780939903D9CF37\r
-:1048D0004F81588569857A858B859C850E948421C6\r
-:1048E000CFCF0E944B2110929A0310929903EBECC8\r
-:1048F000F3E086E0DF011D928A95E9F7C1CF2C969F\r
-:104900000FB6F894DEBF0FBECDBFDF91CF911F91E0\r
-:104910000895EF92FF920F931F93CF93DF938C0133\r
-:10492000009709F46CC0F12CEE24E394E801219681\r
-:10493000F8018491843740F4843008F051C081300C\r
-:1049400081F0823019F15BC0853709F444C0A8F1C9\r
-:104950009CE7980F903708F052C08F770E94361D61\r
-:1049600041C00E5F1F4FFE01C49180E28C0F883062\r
-:1049700048F4C7708E2D01C0880FCA95EAF70E94CF\r
-:10498000342714C08C2F0E946E1C2DC00E5F1F4F49\r
-:10499000FE01C49180E28C0F883058F4C7708E2DD0\r
-:1049A00001C0880FCA95EAF70E943A270E945B2748\r
-:1049B0001AC08C2F0E94361D16C00E5F1F4FFE01BD\r
-:1049C000C491CC2381F08FE99FE00197F1F700C0FB\r
-:1049D0000000C150F6CF0E5F1F4FFE01F49003C0E0\r
-:1049E0000E946E1C8E018F2D882309F49FCFEFE962\r
-:1049F000FFE03197F1F700C000008150F5CFDF9163\r
-:104A0000CF911F910F91FF90EF90089508956093BB\r
-:104A1000D5037093D6038093D7039093D8030C9457\r
-:104A200037210F931F930091D5031091D603209146\r
-:104A3000D7033091D803DC01CB01802B912BA22B23\r
-:104A4000B32B8093D5039093D603A093D703B09351\r
-:104A5000D8031F910F910C9437210F931F9300914E\r
-:104A6000D5031091D6032091D7033091D803DC01F0\r
-:104A7000CB0180239123A223B3238093D50390936A\r
-:104A8000D603A093D703B093D8031F910F910C9432\r
-:104A900037210F931F930091D5031091D6032091D6\r
-:104AA000D7033091D803DC01CB0180279127A227BF\r
-:104AB000B3278093D5039093D603A093D703B093E5\r
-:104AC000D8031F910F910C9437211092D1031092AB\r
-:104AD000D2031092D3031092D4030C94372141E0F7\r
-:104AE00050E060E070E004C0440F551F661F771F60\r
-:104AF0008A95D2F74093D1035093D2036093D303A6\r
-:104B00007093D4030C94372141E050E060E070E0F2\r
-:104B100004C0440F551F661F771F8A95D2F78091F6\r
-:104B2000D1039091D203A091D303B091D403482B29\r
-:104B3000592B6A2B7B2B4093D1035093D203609364\r
-:104B4000D3037093D4030C94372141E050E060E02C\r
-:104B500070E004C0440F551F661F771F8A95D2F777\r
-:104B600040955095609570958091D1039091D203B6\r
-:104B7000A091D303B091D403482359236A237B2304\r
-:104B80004093D1035093D2036093D3037093D40323\r
-:104B90000C94372141E050E060E070E004C0440F25\r
-:104BA000551F661F771F8A95D2F78091D103909188\r
-:104BB000D203A091D303B091D403482759276A2781\r
-:104BC0007B274093D1035093D2036093D303709318\r
-:104BD000D4030C9437210F931F930091D1031091AC\r
-:104BE000D2032091D3033091D403DC01CB01802B7D\r
-:104BF000912BA22BB32B8093D1039093D203A0933C\r
-:104C0000D303B093D4031F910F910C9437210F93CA\r
-:104C10001F930091D1031091D2032091D3033091BF\r
-:104C2000D403DC01CB0180239123A223B3238093FF\r
-:104C3000D1039093D203A093D303B093D4031F91D5\r
-:104C40000F910C9437210F931F930091D103109172\r
-:104C5000D2032091D3033091D403DC01CB01802710\r
-:104C60009127A227B3278093D1039093D203A093D7\r
-:104C7000D303B093D4031F910F910C94372108955F\r
-:104C8000CF92DF92EF92FF920F931F93CF93DF9318\r
-:104C90008C01C090D503D090D603E090D703F0905C\r
-:104CA000D8038091D1039091D203A091D303B09106\r
-:104CB000D403C82AD92AEA2AFB2ACFE1D0E0D701B7\r
-:104CC000C6010C2E04C0B695A795979587950A94B2\r
-:104CD000D2F780FF06C0B8018C2F0E94F709019718\r
-:104CE00021F4219760F780E001C08C2FDF91CF91F4\r
-:104CF0001F910F91FF90EF90DF90CF900895CF9389\r
-:104D0000DF93EC010E944026BE010E94F709DF916B\r
-:104D1000CF910895CB010E947F260895909186023D\r
-:104D2000992321F090918702911109C02091880266\r
-:104D300030918902F90132969FEF40E01FC0982F11\r
-:104D40009695969596959F3050F5E0918802F09152\r
-:104D50008902E90FF11D877021E030E0A90102C04E\r
-:104D6000440F551F8A95E2F7CA019181892B8183EF\r
-:104D700008959F3F39F04F5F4E3041F051915813E5\r
-:104D8000F8CF0DC05111F7CF942FF5CF9F3F39F0D9\r
-:104D9000F901E90FF11D97FDFA95828308950895B1\r
-:104DA00090918602992321F090918702911109C078\r
-:104DB0002091880230918902F9013296205F3F4F9D\r
-:104DC0001FC0982F9695969596959F30F0F4E09198\r
-:104DD0008802F0918902E90FF11D877021E030E02F\r
-:104DE000A90102C0440F551F8A95E2F7CA018095B8\r
-:104DF00091818923818308953196E217F30729F081\r
-:104E000090819813F9CF1082F7CF089581E090E058\r
-:104E1000E0918802F0918902E80FF91F1082019653\r
-:104E200080319105A9F708959091EC03892B809327\r
-:104E3000EC03089580959091EC0389238093EC0313\r
-:104E400008951092EC0308959091EB03892B8093C1\r
-:104E5000EB03089580959091EB0389238093EB03F6\r
-:104E600008951092EB0308959091EA03892B8093A3\r
-:104E7000EA03089580959091EA0389238093EA03D9\r
-:104E800008951092EA0308958093D903089510922B\r
-:104E9000D90308958091880290918902FC0131968E\r
-:104EA0009C01205F3F4F80E0919191118F5FE2174D\r
-:104EB000F307D1F70895E0918802F091890280917B\r
-:104EC000EC038083E0918802F091890290818091C7\r
-:104ED000EB03892B8083E0918802F0918902908115\r
-:104EE0008091EA03892B80838091D903882361F024\r
-:104EF000E0918802F09189029081892B80830E9441\r
-:104F00004A2781111092D9038091880290918902D9\r
-:104F10000C943A1B80910E04843039F11092EE0308\r
-:104F200020E488E190E00FB6F894A89580936000A3\r
-:104F30000FBE2093600080E00E94540580E00E9434\r
-:104F4000D20A83B7817F846083BF83B7816083BFC8\r
-:104F50007894889583B78E7F83BF88E10FB6F894E5\r
-:104F600080936000109260000FBE08950895089528\r
-:104F7000CF9380E00E9454050E94B6270E94890CBE\r
-:104F80000E94B727C0E08C2F0E94D20D892B29F4F4\r
-:104F9000CF5FC430C1F780E001C081E0CF910895B8\r
-:104FA0000E944B2180E00E9454050E94452D0E94E2\r
-:104FB0002E1B0C94D20A1F920F920FB60F9211243F\r
-:104FC0008F939F93AF93BF938091EE03811113C092\r
-:104FD0008091EF039091F003A091F103B091F2035F\r
-:104FE0004196A11DB11D8093EF039093F003A09310\r
-:104FF000F103B093F203BF91AF919F918F910F9006\r
-:105000000FBE0F901F90189582E084BD93E095BD70\r
-:105010009AEF97BD80936E0008952FB7F894809112\r
-:10502000EF039091F003A091F103B091F2032FBF31\r
-:105030000895CF92DF92EF92FF920F931F932FB7B5\r
-:10504000F8944091EF035091F0036091F103709157\r
-:10505000F2032FBF6A017B01EE24FF248C0120E0C4\r
-:1050600030E0C016D106E206F30610F441505109B3\r
-:105070009A01281B390BC9011F910F91FF90EF90E6\r
-:10508000DF90CF9008951F920F920FB60F921124C8\r
-:105090008F939F93AF93BF938091EF039091F00311\r
-:1050A000A091F103B091F2030196A11DB11D80936F\r
-:1050B000EF039093F003A093F103B093F203BF9139\r
-:1050C000AF919F918F910F900FBE0F901F901895E9\r
-:1050D0000E942B18F8942FEF87EA91E62150804028\r
-:1050E0009040E1F700C0000087E090EBDC01809386\r
-:1050F000190490931A04A0931B04B0931C049CE021\r
-:1051000088E10FB6F894A895809360000FBE909345\r
-:105110006000FFCF0E94C928811102C00E94A5280B\r
-:105120000E94D4288093ED030E94E1288093170405\r
-:1051300087FB882780F9809387020E94D828682FF0\r
-:1051400070E080E090E00C9407256DEE7EEF80E04B\r
-:1051500090E00E94AA3160E082E090E00E949831E5\r
-:1051600060E083E090E00E94983160E084E090E0AD\r
-:105170000E94983160E085E090E00E94983160E004\r
-:1051800086E090E00E9498316FEF87E090E00C9409\r
-:10519000983180E090E00E94923121E08D3E9E4F58\r
-:1051A00009F020E0822F089582E090E00C948A318B\r
-:1051B00083E090E00C948A31682F83E090E00C94B7\r
-:1051C000983184E090E00C948A31682F84E090E07C\r
-:1051D0000C94983186E090E00C948A31682F86E038\r
-:1051E00090E00C94983187E090E00C948A31682F1D\r
-:1051F00087E090E00C9498318091F50380FF0BC01C\r
-:1052000060918D0285E0689FB001112475956795C6\r
-:10521000759567952BC081FF09C060918D0285E06F\r
-:10522000689FB00111247595679520C082FF07C063\r
-:1052300060918D0285E0689FB001112417C09091A4\r
-:10524000F6039923D1F060918C02961788F720918C\r
-:105250008D0285E0289F90011124929FA001939FC9\r
-:10526000500D112470E0CA010E9470316038710540\r
-:1052700040F46115710539F002C065E070E0862FD9\r
-:1052800008958FE7089581E008958091F50380FFE8\r
-:1052900008C060918B0270E075956795759567956C\r
-:1052A00021C081FF06C060918B0270E07595679503\r
-:1052B00019C082FF04C060918B0270E010C0909111\r
-:1052C000F6039923C1F060918A029617A0F78091A6\r
-:1052D0008B02899FC001112470E00E9470316038F8\r
-:1052E000710528F46115710521F0862F08958FE767\r
-:1052F000089581E0089561E070E0F4CF803F21F4EB\r
-:105300000E94FC28819504C0813F29F40E94FC285A\r
-:105310008093F9030895823F21F40E94FC2881952F\r
-:1053200004C0833F29F40E94FC288093F803089569\r
-:10533000893F19F40E94452905C08A3F31F40E9433\r
-:10534000452981958093FA0308958B3F21F40E94AB\r
-:105350004529819504C08C3F29F40E9445298093FA\r
-:10536000FB030895843F21F48091F703816017C007\r
-:10537000853F21F48091F703826011C0863F21F4BC\r
-:105380008091F70384600BC0873F21F48091F7037D\r
-:10539000886005C0883F31F48091F7038061809375\r
-:1053A000F70308958D3F21F48091F50381600BC0D0\r
-:1053B0008E3F21F48091F503826005C08F3F29F470\r
-:1053C0008091F50384608093F5030895803F39F45C\r
-:1053D0008091F90387FF6CC01092F90369C0813F87\r
-:1053E00029F48091F9031816BCF362C09091F80378\r
-:1053F000823F29F497FF5CC01092F80359C0833FA5\r
-:1054000019F41916CCF354C0893F41F48091FA0382\r
-:1054100018160CF04DC01092FA034AC08A3F29F4C6\r
-:105420008091FA0387FF44C0F6CF8B3F39F4809117\r
-:10543000FB0387FF3DC01092FB033AC08C3F29F469\r
-:105440008091FB031816BCF333C0843F21F4809194\r
-:10545000F7038E7F17C0853F21F48091F7038D7F7E\r
-:1054600011C0863F21F48091F7038B7F0BC0873FEB\r
-:1054700021F48091F703877F05C0883F31F4809144\r
-:10548000F7038F7E8093F70313C08D3F21F4809143\r
-:10549000F5038E7F0BC08E3F21F48091F5038D7F45\r
-:1054A00005C08F3F29F48091F5038B7F8093F5032E\r
-:1054B0008091F80381110EC08091F90381110AC017\r
-:1054C0008091FA03811106C08091FB03811102C013\r
-:1054D0001092F603089587EF93E00E94451B0E9407\r
-:1054E0000D289093F4038093F30308951F93CF93B3\r
-:1054F000DF938091F3039091F4030E941928AC018B\r
-:105500009091F603992321F020918E0230E006C09D\r
-:1055100020918F028AE0289F90011124421753079F\r
-:1055200008F486C08091F803C091F903D091FA0382\r
-:105530001091FB03811107C0C11176C0D11174C055\r
-:10554000111172C075C09F3F19F09F5F9093F603D1\r
-:10555000181624F40E94FC288093F8038091F80325\r
-:1055600087FF05C00E94FC2881958093F8031C16D4\r
-:1055700024F40E94FC288093F9038091F90387FFAB\r
-:1055800005C00E94FC2881958093F9036091F8037F\r
-:10559000662339F1C091F903CC2319F1772767FD10\r
-:1055A0007095872F972F0E94E02E23E333E343E388\r
-:1055B0005FE30E94942F0E94AD2E6093F8036C2F3E\r
-:1055C000772767FD7095872F972F0E94E02E23E3A2\r
-:1055D00033E343E35FE30E94942F0E94AD2E609378\r
-:1055E000F9031D1624F40E9445298093FA03809143\r
-:1055F000FA0387FF05C00E94452981958093FA032D\r
-:10560000111624F40E9445298093FB038091FB032B\r
-:1056100087FF05C00E94452981958093FB03DF9198\r
-:10562000CF911F910C946B2A9F3F09F08ECF96CF9C\r
-:10563000DF91CF911F910895E7EFF3E085E0DF015F\r
-:105640001D928A95E9F71092F6031092F5030895DA\r
-:10565000833081F128F4813059F08230D1F00895FF\r
-:10566000853009F449C0B8F1863009F456C0089570\r
-:1056700080918F02262F30E0280F311D2F3F3105FA\r
-:1056800024F4680F60938F0208958FEF80938F0248\r
-:10569000089580918E02262F30E0280F311D2F3F74\r
-:1056A000310524F4680F60938E0208958FEF809384\r
-:1056B0008E02089580918D02262F30E0280F311D33\r
-:1056C0002F3F310524F4680F60938D0208958FEF0A\r
-:1056D00080938D02089580918C02262F30E0280F50\r
-:1056E000311D2F3F310524F4680F60938C0208951B\r
-:1056F0008FEF80938C02089580918B02262F30E0EB\r
-:10570000280F311D2F3F310524F4680F60938B0261\r
-:1057100008958FEF80938B02089580918A02262F3F\r
+:104260000F91FF90EF90DF90CF90BF900C94790763\r
+:1042700026960FB6F894DEBF0FBECDBFDF91CF916B\r
+:104280001F910F91FF90EF90DF90CF90BF90089516\r
+:104290000E9442270E9452270E9417270E946C27E3\r
+:1042A0000E942D2B0E947C2A80E090E00E94611BDE\r
+:1042B00080E090E00C94771B0E9432270C944821F8\r
+:1042C0000E949026292F22952F7030E02C30310546\r
+:1042D0004CF42A3031056CF422503109223031057A\r
+:1042E00088F407C02C30310549F02F30310531F00A\r
+:1042F00009C0803E48F0803F29F406C093FB882720\r
+:1043000080F9089580E0089581E00895CF93DF93C8\r
+:1043100000D000D01F92CDB7DEB70F900F900F9056\r
+:104320000F900F90DF91CF910895CF93DF9300D03E\r
+:1043300000D000D0CDB7DEB726960FB6F894DEBF1A\r
+:104340000FBECDBFDF91CF9108951F93CF93DF9321\r
+:10435000C091E90316E08091EA03C81799F0D0E014\r
+:104360001C9FF0011D9FF00D1124E551FC4F408171\r
+:10437000518162817381848195810E94952121966A\r
+:10438000C770E9CFDF91CF911F91089540911B0431\r
+:1043900050911C0460911D0470911E0480911F04B3\r
+:1043A000909120040C9495218091200482958F7027\r
+:1043B00009F054C080911D04882309F44FC08091F6\r
+:1043C000E903A091EA0360911B0470911C044091E1\r
+:1043D0001E0450911F04B6E08A1709F43FC090E014\r
+:1043E00041155105C1F17F3F11F46F3FA1F1B89F15\r
+:1043F000F001B99FF00D1124E551FC4F218172139A\r
+:104400002AC02081621327C02281211124C0238168\r
+:1044100034812417350710F421503109241B350B42\r
+:10442000283C3105C0F4209120042F702061209396\r
+:10443000200426E0289FF001299FF00D1124E0516F\r
+:10444000FC4F80818F70806180838BE194E00E94BB\r
+:10445000A41D0C94A52101968770BECF0895CF921C\r
+:10446000DF92EF92FF920F931F93CF93DF93CDB71D\r
+:10447000DEB762970FB6F894DEBF0FBECDBF8C01DA\r
+:1044800085E0F801DE011D9601900D928A95E1F715\r
+:10449000D8014C9111965C91119712966C911297DC\r
+:1044A0001396CD90DC90149730911B0470911C04EE\r
+:1044B00080911E0490911F04009709F46BC17F3F07\r
+:1044C00019F43F3F09F466C1E0901D04EE2009F4A1\r
+:1044D000C0C020912004C816D90628F0F601E81BB8\r
+:1044E000F90BCF0104C0809590958C0D9D1DFF2484\r
+:1044F000F394883C910578F0F12C207F09F0C6C038\r
+:104500007C2DD98AC88A89890E9486218BE194E012\r
+:104510000E94A41DB1C0822F807F09F046C0751390\r
+:1045200014C0341312C0611110C02F702061209389\r
+:1045300020040E94C6218BE194E00E94A41D80917A\r
+:104540002004D80115968C932EC0CD2819F15F3F19\r
+:1045500011F44F3FF9F0F62E61111CC08091E90370\r
+:104560002091EA0336E0821709F45AC090E0389FA0\r
+:10457000F001399FF00D1124E551FC4F7181571363\r
+:1045800006C07081471303C07281711103C0019688\r
+:104590008770E9CFF62E662309F418C180912004B4\r
+:1045A000816080932004F12C11C1751308C034136D\r
+:1045B00006C0611104C080912004D801C3C04D879A\r
+:1045C0005E878D859E856A8B0E9460216A8988231B\r
+:1045D000E1F16623D1F120912004822F82958F7022\r
+:1045E00090E0029774F080911B0490911C049887CE\r
+:1045F0008F831986DB86CA862C87CE0107960E9498\r
+:10460000A41D86E0F801ABE1B4E001900D928A951B\r
+:10461000E1F70E94D4210E94C621FF24F394D6C062\r
+:104620004D875E878D859E850E949026292F229535\r
+:104630002F7030E0223031050CF0BCC09F7009F0C3\r
+:10464000B6C0805E883008F4C1C0C8010E94A41DB5\r
+:10465000E4CFC816D90608F453C0F601E81BF90BDD\r
+:10466000CF01883C910508F450C0F12C7C2DD98AEB\r
+:10467000C88A89890E948621EBE1F4E086E0DF01A7\r
+:104680001D928A95E9F70E94C621A0C0751314C037\r
+:10469000341312C0611110C080912004F801858389\r
+:1046A000C8010E94A41D86E0EBE1F4E0DF011D9249\r
+:1046B0008A95E9F7FE2C8AC04D875E878D859E8599\r
+:1046C0006A8B0E9460216A89882309F4BECF662321\r
+:1046D00009F4BBCF20912004822F82958F7090E047\r
+:1046E00002970CF48ECF80911B0490911C049A8346\r
+:1046F00089831B82DD82CC822E83CE0101967FCFFF\r
+:10470000809590958C0D9D1DACCFF62E662309F4F7\r
+:104710009CCF75132EC034132CC02091200420FD93\r
+:104720001FC0822F82958F70D9F0D80115962C93D7\r
+:1047300015978F3049F08F5F982F9295907F822F39\r
+:104740008F70892B15968C93C8010E94A41D86E05A\r
+:10475000F801ABE1B4E001900D928A95E1F793CFB7\r
+:1047600086E0F801ABE1B4E001900D928A95E1F7A3\r
+:104770002DC04D875E878D859E850E9460218111A9\r
+:1047800040CF80912004816080932004C8010E9462\r
+:10479000A41D1CC0662309F458CF4D875E878D8504\r
+:1047A0009E850E946021882309F44FCF2ACF811172\r
+:1047B00048CF0CC0243031050CF047CF9F7009F46E\r
+:1047C00040CFF8019581907F09F03BCF8F2D629605\r
+:1047D0000FB6F894DEBF0FBECDBFDF91CF911F9112\r
+:1047E0000F91FF90EF90DF90CF9008951F93CF939C\r
+:1047F000DF93CDB7DEB72C970FB6F894DEBF0FBEB0\r
+:10480000CDBF4F83588769877A878B879C87CE0176\r
+:1048100007960E942F22882369F08F8198852A8528\r
+:104820003B85232BF1F19F3F09F063C08F3F09F0D7\r
+:1048300060C037C086E0FE013796DE011196019018\r
+:104840000D928A95E1F76F817885EA85FB8530972F\r
+:1048500041F17F3F11F46F3F21F12091EA0330E0F5\r
+:10486000C9010196877099274091E90350E08417A8\r
+:10487000950709F447C069837A83FD83EC8396E04A\r
+:10488000929FD001939FB00D1124A551BC4FFE0102\r
+:10489000319601900D929A95E1F78093EA030E9478\r
+:1048A000A52116E08091E9039091EA038917C1F1EF\r
+:1048B000189FC001112485519C4F0E942F228823EC\r
+:1048C00079F1E091E9031E9FF0011124E551FC4FBD\r
+:1048D0004081518162817381848195810E949521FB\r
+:1048E0008091E90390E00196877099278093E9030E\r
+:1048F000D9CF4F81588569857A858B859C850E94A3\r
+:104900009521CFCF0E945C211092EA031092E90317\r
+:10491000EBE1F4E086E0DF011D928A95E9F7C1CF73\r
+:104920002C960FB6F894DEBF0FBECDBFDF91CF91AE\r
+:104930001F910895EF92FF920F931F93CF93DF93F0\r
+:104940008C01009709F46CC0F12CEE24E394E8018B\r
+:104950002196F8018491843740F4843008F051C0E6\r
+:10496000813081F0823019F15BC0853709F444C091\r
+:10497000A8F19CE7980F903708F052C08F770E94FB\r
+:10498000471D41C00E5F1F4FFE01C49180E28C0F96\r
+:10499000883048F4C7708E2D01C0880FCA95EAF799\r
+:1049A0000E94452714C08C2F0E947F1C2DC00E5FD3\r
+:1049B0001F4FFE01C49180E28C0F883058F4C770FD\r
+:1049C0008E2D01C0880FCA95EAF70E944B270E94DE\r
+:1049D0006C271AC08C2F0E94471D16C00E5F1F4FF8\r
+:1049E000FE01C491CC2381F08FE99FE00197F1F79C\r
+:1049F00000C00000C150F6CF0E5F1F4FFE01F490C3\r
+:104A000003C00E947F1C8E018F2D882309F49FCF45\r
+:104A1000EFE9FFE03197F1F700C000008150F5CFDA\r
+:104A2000DF91CF911F910F91FF90EF90089508951E\r
+:104A300060932504709326048093270490932804A0\r
+:104A40000C9448210F931F93009125041091260484\r
+:104A50002091270430912804DC01CB01802B912B7D\r
+:104A6000A22BB32B8093250490932604A0932704B4\r
+:104A7000B09328041F910F910C9448210F931F931A\r
+:104A800000912504109126042091270430912804D8\r
+:104A9000DC01CB0180239123A223B323809325043F\r
+:104AA00090932604A0932704B09328041F910F919C\r
+:104AB0000C9448210F931F93009125041091260414\r
+:104AC0002091270430912804DC01CB018027912715\r
+:104AD000A227B3278093250490932604A09327044C\r
+:104AE000B09328041F910F910C9448211092210437\r
+:104AF0001092220410922304109224040C94482152\r
+:104B000041E050E060E070E004C0440F551F661FB4\r
+:104B1000771F8A95D2F74093210450932204609323\r
+:104B20002304709324040C94482141E050E060E099\r
+:104B300070E004C0440F551F661F771F8A95D2F797\r
+:104B40008091210490912204A0912304B091240427\r
+:104B5000482B592B6A2B7B2B409321045093220422\r
+:104B600060932304709324040C94482141E050E0A6\r
+:104B700060E070E004C0440F551F661F771F8A95E0\r
+:104B8000D2F7409550956095709580912104909151\r
+:104B90002204A0912304B0912404482359236A23BA\r
+:104BA0007B23409321045093220460932304709349\r
+:104BB00024040C94482141E050E060E070E004C01F\r
+:104BC000440F551F661F771F8A95D2F780912104E5\r
+:104BD00090912204A0912304B091240448275927DE\r
+:104BE0006A277B2740932104509322046093230477\r
+:104BF000709324040C9448210F931F930091210477\r
+:104C0000109122042091230430912404DC01CB0173\r
+:104C1000802B912BA22BB32B809321049093220401\r
+:104C2000A0932304B09324041F910F910C94482166\r
+:104C30000F931F93009121041091220420912304CB\r
+:104C400030912404DC01CB0180239123A223B323E0\r
+:104C50008093210490932204A0932304B09324040E\r
+:104C60001F910F910C9448210F931F9300912104E1\r
+:104C7000109122042091230430912404DC01CB0103\r
+:104C800080279127A227B3278093210490932204A1\r
+:104C9000A0932304B09324041F910F910C944821F6\r
+:104CA0000895CF92DF92EF92FF920F931F93CF93CD\r
+:104CB000DF938C01C0902504D0902604E090270457\r
+:104CC000F09028048091210490912204A091230463\r
+:104CD000B0912404C82AD92AEA2AFB2ACFE1D0E0DD\r
+:104CE000D701C6010C2E04C0B695A7959795879558\r
+:104CF0000A94D2F780FF06C0B8018C2F0E94D30916\r
+:104D0000019721F4219760F780E001C08C2FDF919B\r
+:104D1000CF911F910F91FF90EF90DF90CF9008956A\r
+:104D2000CF93DF93EC010E945126BE010E94D3096C\r
+:104D3000DF91CF910895CB010E9490260895909124\r
+:104D40008402992321F090918502911109C020914C\r
+:104D5000860230918702F90132969FEF40E01FC032\r
+:104D6000982F9695969596959F3050F5E0918602EE\r
+:104D7000F0918702E90FF11D877021E030E0A90171\r
+:104D800002C0440F551F8A95E2F7CA019181892B11\r
+:104D9000818308959F3F39F04F5F4E3041F051912C\r
+:104DA0005813F8CF0DC05111F7CF942FF5CF9F3F77\r
+:104DB00039F0F901E90FF11D97FDFA958283089505\r
+:104DC000089590918402992321F090918502911188\r
+:104DD00009C02091860230918702F9013296205F46\r
+:104DE0003F4F1FC0982F9695969596959F30F0F45B\r
+:104DF000E0918602F0918702E90FF11D877021E0B2\r
+:104E000030E0A90102C0440F551F8A95E2F7CA019C\r
+:104E1000809591818923818308953196E217F30764\r
+:104E200029F090819813F9CF1082F7CF089581E08F\r
+:104E300090E0E0918602F0918702E80FF91F10825E\r
+:104E4000019680319105A9F7089590913C04892B32\r
+:104E500080933C040895809590913C04892380932D\r
+:104E60003C04089510923C04089590913B04892BD2\r
+:104E700080933B040895809590913B04892380930F\r
+:104E80003B04089510923B04089590913A04892BB5\r
+:104E900080933A040895809590913A0489238093F1\r
+:104EA0003A04089510923A040895809329040895CD\r
+:104EB0001092290408958091860290918702FC0146\r
+:104EC00031969C01205F3F4F80E0919191118F5F5F\r
+:104ED000E217F307D1F70895E0918602F091870277\r
+:104EE00080913C048083E0918602F091870290815A\r
+:104EF00080913B04892B8083E0918602F0918702A8\r
+:104F0000908180913A04892B8083809129048823A1\r
+:104F100061F0E0918602F09187029081892B808375\r
+:104F20000E945B2781111092290480918602909142\r
+:104F300087020C944B1B80915E04843039F11092EF\r
+:104F40003E0420E488E190E00FB6F894A8958093A1\r
+:104F500060000FBE2093600080E00E94300580E07A\r
+:104F60000E94AE0A83B7817F846083BF83B781606C\r
+:104F700083BF7894889583B78E7F83BF88E10FB60F\r
+:104F8000F89480936000109260000FBE0895089519\r
+:104F90000895CF9380E00E9430050E94C7270E94A9\r
+:104FA000650C0E94C827C0E08C2F0E94AE0D892B93\r
+:104FB00029F4CF5FC430C1F780E001C081E0CF9118\r
+:104FC00008950E945C2180E00E9430050E94562DC9\r
+:104FD0000E943F1B0C94AE0A1F920F920FB60F92C5\r
+:104FE00011248F939F93AF93BF9380913E048111BF\r
+:104FF00013C080913F0490914004A0914104B0916E\r
+:1050000042044196A11DB11D80933F04909340043A\r
+:10501000A0934104B0934204BF91AF919F918F91AF\r
+:105020000F900FBE0F901F90189582E084BD93E003\r
+:1050300095BD9AEF97BD80936E0008952FB7F894B1\r
+:1050400080913F0490914004A0914104B0914204AA\r
+:105050002FBF0895CF92DF92EF92FF920F931F938D\r
+:105060002FB7F89440913F0450914004609141045F\r
+:10507000709142042FBF6A017B01EE24FF248C0152\r
+:1050800020E030E0C016D106E206F30610F44150ED\r
+:1050900051099A01281B390BC9011F910F91FF90EB\r
+:1050A000EF90DF90CF9008951F920F920FB60F925E\r
+:1050B00011248F939F93AF93BF9380913F0490915E\r
+:1050C0004004A0914104B09142040196A11DB11D7C\r
+:1050D00080933F0490934004A0934104B093420412\r
+:1050E000BF91AF919F918F910F900FBE0F901F9026\r
+:1050F00018950E943C18F8942FEF87EA91E621500A\r
+:1051000080409040E1F700C0000087E090EBDC01B8\r
+:105110008093690490936A04A0936B04B0936C0429\r
+:105120009CE088E10FB6F894A895809360000FBECC\r
+:1051300090936000FFCF0E94DA28811102C00E9484\r
+:10514000B6280E94E52880933D040E94F2288093AF\r
+:10515000670487FB882780F9809385020E94E928ED\r
+:10516000682F70E080E090E00C9418256DEE7EEFE3\r
+:1051700080E090E00E94093260E082E090E00E94CE\r
+:10518000F73160E083E090E00E94F73160E084E076\r
+:1051900090E00E94F73160E085E090E00E94F731F6\r
+:1051A00060E086E090E00E94F7316FEF87E090E0EA\r
+:1051B0000C94F73180E090E00E94F13121E08D3EC7\r
+:1051C0009E4F09F020E0822F089582E090E00C9439\r
+:1051D000E93183E090E00C94E931682F83E090E0BE\r
+:1051E0000C94F73184E090E00C94E931682F84E06E\r
+:1051F00090E00C94F73186E090E00C94E931682F50\r
+:1052000086E090E00C94F73187E090E00C94E9316F\r
+:10521000682F87E090E00C94F7318091450480FF7F\r
+:105220000BC060918B0285E0689FB00111247595D9\r
+:105230006795759567952BC081FF09C060918B02BA\r
+:1052400085E0689FB00111247595679520C082FFA5\r
+:1052500007C060918B0285E0689FB001112417C0E0\r
+:10526000909146049923D1F060918A02961788F7AD\r
+:1052700020918B0285E0289F90011124929FA0012C\r
+:10528000939F500D112470E0CA010E94CF31603805\r
+:10529000710540F46115710539F002C065E070E0F8\r
+:1052A000862F08958FE7089581E008958091450441\r
+:1052B00080FF08C06091890270E0759567957595CB\r
+:1052C000679521C081FF06C06091890270E07595E5\r
+:1052D000679519C082FF04C06091890270E010C018\r
+:1052E000909146049923C1F0609188029617A0F727\r
+:1052F00080918902899FC001112470E00E94CF3102\r
+:105300006038710528F46115710521F0862F089524\r
+:105310008FE7089581E0089561E070E0F4CF803F69\r
+:1053200021F40E940D29819504C0813F29F40E9437\r
+:105330000D29809349040895823F21F40E940D298C\r
+:10534000819504C0833F29F40E940D29809348046D\r
+:105350000895893F19F40E94562905C08A3F31F407\r
+:105360000E945629819580934A0408958B3F21F429\r
+:105370000E945629819504C08C3F29F40E94562929\r
+:1053800080934B040895843F21F480914704816009\r
+:1053900017C0853F21F480914704826011C0863F89\r
+:1053A00021F48091470484600BC0873F21F48091F1\r
+:1053B0004704886005C0883F31F4809147048061CC\r
+:1053C0008093470408958D3F21F4809145048160C6\r
+:1053D0000BC08E3F21F480914504826005C08F3F51\r
+:1053E00029F4809145048460809345040895803FAA\r
+:1053F00039F48091490487FF6CC01092490469C058\r
+:10540000813F29F4809149041816BCF362C0909141\r
+:105410004804823F29F497FF5CC01092480459C0A9\r
+:10542000833F19F41916CCF354C0893F41F480919D\r
+:105430004A0418160CF04DC010924A044AC08A3F24\r
+:1054400029F480914A0487FF44C0F6CF8B3F39F49A\r
+:1054500080914B0487FF3DC010924B043AC08C3FB3\r
+:1054600029F480914B041816BCF333C0843F21F417\r
+:10547000809147048E7F17C0853F21F480914704B7\r
+:105480008D7F11C0863F21F4809147048B7F0BC034\r
+:10549000873F21F480914704877F05C0883F31F41E\r
+:1054A000809147048F7E8093470413C08D3F21F481\r
+:1054B000809145048E7F0BC08E3F21F4809145047E\r
+:1054C0008D7F05C08F3F29F4809145048B7F8093A9\r
+:1054D00045048091480481110EC0809149048111D6\r
+:1054E0000AC080914A04811106C080914B04811149\r
+:1054F00002C010924604089587E494E00E94561B6F\r
+:105500000E941E28909344048093430408951F939F\r
+:10551000CF93DF9380914304909144040E942A2802\r
+:10552000AC0190914604992321F020918C0230E047\r
+:1055300006C020918D028AE0289F90011124421715\r
+:10554000530708F486C080914804C0914904D09163\r
+:105550004A0410914B04811107C0C11176C0D111CA\r
+:1055600074C0111172C075C09F3F19F09F5F909376\r
+:105570004604181624F40E940D2980934804809153\r
+:10558000480487FF05C00E940D2981958093480437\r
+:105590001C1624F40E940D2980934904809149042B\r
+:1055A00087FF05C00E940D29819580934904609171\r
+:1055B0004804662339F1C0914904CC2319F17727B7\r
+:1055C00067FD7095872F972F0E94F12E23E333E319\r
+:1055D00043E35FE30E9401300E94BE2E60934804C3\r
+:1055E0006C2F772767FD7095872F972F0E94F12EDC\r
+:1055F00023E333E343E35FE30E9401300E94BE2EC6\r
+:10560000609349041D1624F40E94562980934A048D\r
+:1056100080914A0487FF05C00E9456298195809396\r
+:105620004A04111624F40E94562980934B04809159\r
+:105630004B0487FF05C00E945629819580934B0437\r
+:10564000DF91CF911F910C947C2A9F3F09F08ECF60\r
+:1056500096CFDF91CF911F910895E7E4F4E085E0C4\r
+:10566000DF011D928A95E9F71092460410924504D5\r
+:105670000895833081F128F4813059F08230D1F0DF\r
+:105680000895853009F449C0B8F1863009F456C050\r
+:10569000089580918D02262F30E0280F311D2F3F75\r
+:1056A000310524F4680F60938D0208958FEF809385\r
+:1056B0008D02089580918C02262F30E0280F311D35\r
+:1056C0002F3F310524F4680F60938C0208958FEF0B\r
+:1056D00080938C02089580918B02262F30E0280F52\r
+:1056E000311D2F3F310524F4680F60938B0208951C\r
+:1056F0008FEF80938B02089580918A02262F30E0ED\r
+:10570000280F311D2F3F310524F4680F60938A0262\r
+:1057100008958FEF80938A02089580918902262F41\r
 :1057200030E0280F311D2F3F310524F4680F6093BE\r
-:105730008A0208958FEF80938A020895833011F1D1\r
-:1057400028F4813049F0823091F00895853081F15C\r
-:1057500020F18630C1F1089580918F02681720F4FE\r
-:10576000861B80938F02089510928F020895809176\r
-:105770008E02681720F4861B80938E020895109283\r
-:105780008E02089580918D02681720F4861B809305\r
-:105790008D02089510928D02089580918C026817F1\r
-:1057A00020F4861B80938C02089510928C02089539\r
-:1057B00080918B02681720F4861B80938B020895DA\r
-:1057C00010928B02089580918A02681720F4861B3C\r
-:1057D00080938A02089510928A0208950F931F936E\r
-:1057E000873208F048C08E3108F094C0803109F447\r
-:1057F0007EC008F5873009F468C068F4863009F087\r
-:10580000A4C08091ED03817F8E7F8093ED0381E0C2\r
-:105810008093FD039BC08B3009F490C08E3009F05B\r
-:1058200094C08091ED0382FB222720F991E092271A\r
-:1058300090FB82F965C0863109F480C060F4813143\r
-:1058400009F083C00E944B219091870281E0892753\r
-:105850008093870273C0893109F470C08B3109F0DD\r
-:1058600074C08091ED0381FB222720F991E09227FB\r
-:1058700090FB81F945C0883309F460C050F4893247\r
-:1058800009F45EC0853309F45BC0873209F458C05F\r
-:105890005CC0833409F454C028F48A3308F455C03A\r
-:1058A000895339C0883409F050C00E944B210E94AE\r
-:1058B00090060FEF13ED20E3015010402040E1F778\r
-:1058C00000C000000E94682839C09091ED03892F24\r
-:1058D0008095817080FB90F929F096609860909394\r
-:1058E000ED0334C0997F977F9093ED0327C080919B\r
-:1058F000ED0383FB222720F991E0922790FB83F9A7\r
-:105900008093ED039923D1F08091ED038160809322\r
-:10591000ED0314C08D5141E050E060E070E08A0179\r
-:105920009B0104C0000F111F221F331F8A95D2F75D\r
-:10593000C901B8010E9407250E944B2181E006C0E1\r
-:1059400061E070E080E090E0F5CF80E01F910F9182\r
-:10595000089580E0089580E00895CF93C82F809146\r
-:10596000FD03813069F018F08230C9F184C0E09104\r
-:105970008802F09189028081823209F07EC007C0DE\r
-:10598000E0918802F09189028081823261F48C2F4B\r
-:105990000E94A92C811104C08C2F0E94EE2B1DC0E7\r
-:1059A00081E090E01AC08C2F0E94AB2C811114C0B2\r
-:1059B000C43179F048F4CB3079F0C03109F061C0DE\r
-:1059C00082E08093FD0308C0C93219F0C83321F08A\r
-:1059D00058C01092FD0355C081E0817054C0C93297\r
-:1059E00091F120F5C43179F1B0F4C73009F047C026\r
-:1059F0008EE180938F0282E380938E028AE080930F\r
-:105A00008D0284E180938C0288E080938B0288E28F\r
-:105A100080938A0234C0CE51C63088F5EC2FF0E076\r
-:105A2000E65FFC4F80818093FC0329C0CE34E9F00F\r
-:105A300020F4CB3421F56AE013C0C13579F0C235CA\r
-:105A4000F1F461E00DC08091FC03882319F01092FD\r
-:105A5000FC0315C081E08093FD0315C061E006C022\r
-:105A60008091FC030E94282B0AC06AE08091FC030D\r
-:105A70000E949E2B04C01092FD0380E004C081E0D0\r
-:105A800002C080E0AACFCF9108950E94C928811159\r
-:105A900002C00E94A5280E94EA288093180480FF73\r
-:105AA00002C0869501C080E00C94540580911804D2\r
-:105AB000982F9695292F30E0233031054CF49F5FC5\r
-:105AC000990F8170892B8160809318040E94EE28C1\r
-:105AD0008091180486950C94540580911804982F91\r
-:105AE000969591F09158990F8170892B80931804A5\r
-:105AF0008E7F91E009F490E08091180490FB80F98A\r
-:105B0000809318040E94EE288091180486950C94C6\r
-:105B1000540580911804982F909590FB80F98093FC\r
-:105B200018040E94EE288091180480FF02C0869518\r
-:105B300001C080E00C94540590911804892F86953B\r
-:105B40008F5F8F779170843028F4880F892B809332\r
-:105B5000180402C090931804809118048E7F91E07D\r
-:105B600009F490E08091180490FB80F98093180468\r
-:105B70000E94EE288091180486950C94540520917B\r
-:105B80001804922F96958927982F990F822F81704C\r
-:105B9000892B809318048E7F91E009F490E0809126\r
-:105BA000180490FB80F9809318040E94EE288091DD\r
-:105BB000180486950C9454055058BB27AA270ED07C\r
-:105BC00075C166D130F06BD120F031F49F3F11F4F4\r
-:105BD0001EF45BC10EF4E095E7FB51C1E92F77D1CC\r
-:105BE00080F3BA17620773078407950718F071F4FA\r
-:105BF0009EF58FC10EF4E0950B2EBA2FA02D0B0150\r
-:105C0000B90190010C01CA01A0011124FF27591B01\r
-:105C100099F0593F50F4503E68F11A16F040A22F07\r
-:105C2000232F342F4427585FF3CF46953795279578\r
-:105C3000A795F0405395C9F77EF41F16BA0B620B77\r
-:105C4000730B840BBAF09150A1F0FF0FBB1F661FBE\r
-:105C5000771F881FC2F70EC0BA0F621F731F841F01\r
-:105C600048F4879577956795B795F7959E3F08F027\r
-:105C7000B3CF9395880F08F09927EE0F97958795E6\r
-:105C80000895D9D008F481E008950CD00FC107D150\r
-:105C900040F0FED030F021F45F3F19F0F0C0511118\r
-:105CA00039C1F3C014D198F39923C9F35523B1F343\r
-:105CB000951B550BBB27AA2762177307840738F07B\r
-:105CC0009F5F5F4F220F331F441FAA1FA9F333D0DA\r
-:105CD0000E2E3AF0E0E830D091505040E695001C8E\r
-:105CE000CAF729D0FE2F27D0660F771F881FBB1F4A\r
-:105CF000261737074807AB07B0E809F0BB0B802D24\r
-:105D0000BF01FF2793585F4F2AF09E3F510568F06F\r
-:105D1000B6C000C15F3FECF3983EDCF38695779503\r
-:105D20006795B795F7959F5FC9F7880F911D969571\r
-:105D3000879597F90895E1E0660F771F881FBB1FCD\r
-:105D4000621773078407BA0720F0621B730B840B7A\r
-:105D5000BA0BEE1F88F7E095089504D06894B1114E\r
-:105D6000D9C00895BCD088F09F5790F0B92F9927DB\r
-:105D7000B751A0F0D1F0660F771F881F991F1AF056\r
-:105D8000BA95C9F712C0B13081F0C3D0B1E008951F\r
-:105D9000C0C0672F782F8827B85F39F0B93FCCF3A0\r
-:105DA000869577956795B395D9F73EF4909580954C\r
-:105DB000709561957F4F8F4F9F4F0895E89409C06C\r
-:105DC00097FB3EF490958095709561957F4F8F4F2E\r
-:105DD0009F4F9923A9F0F92F96E9BB279395F69544\r
-:105DE000879577956795B795F111F8CFFAF4BB0FC2\r
-:105DF00011F460FF1BC06F5F7F4F8F4F9F4F16C026\r
-:105E0000882311F096E911C0772321F09EE8872FAF\r
-:105E1000762F05C0662371F096E8862F70E060E06B\r
-:105E20002AF09A95660F771F881FDAF7880F9695E4\r
-:105E3000879597F90895990F0008550FAA0BE0E888\r
-:105E4000FEEF16161706E807F907C0F0121613063C\r
-:105E5000E407F50798F0621B730B840B950B39F47C\r
-:105E60000A2661F0232B242B252B21F408950A26E2\r
-:105E700009F4A140A6958FEF811D811D089597F922\r
-:105E80009F6780E870E060E008959FEF80EC0895E0\r
-:105E900000240A9416161706180609060895002409\r
-:105EA0000A9412161306140605060895092E039483\r
-:105EB000000C11F4882352F0BB0F40F4BF2B11F4F7\r
-:105EC00060FF04C06F5F7F4F8F4F9F4F089557FD56\r
-:105ED0009058440F551F59F05F3F71F04795880F58\r
-:105EE00097FB991F61F09F3F79F0879508951216EF\r
-:105EF00013061406551FF2CF4695F1DF08C016169B\r
-:105F000017061806991FF1CF86957105610508944B\r
-:105F10000895E894BB2766277727CB0197F9089562\r
-:105F20008ADF08F48FEF08950BD0C0CFB1DF28F0DF\r
-:105F3000B6DF18F0952309F0A2CFA7CF1124EACF3E\r
-:105F4000C6DFA0F3959FD1F3950F50E0551F629FD8\r
-:105F5000F001729FBB27F00DB11D639FAA27F00DC2\r
-:105F6000B11DAA1F649F6627B00DA11D661F829FE9\r
-:105F70002227B00DA11D621F739FB00DA11D621FCE\r
-:105F8000839FA00D611D221F749F3327A00D611DEB\r
-:105F9000231F849F600D211D822F762F6A2F1124CD\r
-:105FA0009F5750408AF0E1F088234AF0EE0FFF1F20\r
-:105FB000BB1F661F771F881F91505040A9F79E3F57\r
-:105FC000510570F05CCFA6CF5F3FECF3983EDCF359\r
-:105FD000869577956795B795F795E7959F5FC1F794\r
-:105FE000FE2B880F911D9695879597F90895FA01D4\r
-:105FF000EE0FFF1F30962105310599F161157105EE\r
-:1060000061F48038BFE39B0749F1689490388105BB\r
-:1060100061F08038BFEF9B0741F0992342F5FF3FC5\r
-:10602000E1053105210511F1E8940894E795D901BE\r
-:10603000AA2329F4AB2FBE2FF85FD0F310C0FF5F67\r
-:1060400070F4A695E0F7F73950F019F0FF3A38F4FC\r
-:106050009F779F930CD00F9007FC905808953EF0C7\r
-:1060600014CF60E070E080E89FE308954FE79F77EA\r
-:106070005F934F933F932F939ED02F913F914F91DA\r
-:106080005F9152DF05C019F40EF0F9CE42CFFDCE7C\r
-:1060900026DFC8F39638C0F707F80F92E8942BE391\r
-:1060A0003AEA48EB5FE74EDF0F920F920F924DB73F\r
-:1060B0005EB70F92C0D0E4E4F1E016D04F915F914B\r
-:1060C000EF91FF91E595EE1FFF1F49F0FE57E06845\r
-:1060D0004427EE0F441FFA95E1F74195550B32D056\r
-:1060E0000F9007FE26C00895DF93CF931F930F9361\r
-:1060F000FF92EF92DF927B018C01689405C0DA2E4B\r
-:10610000EF011EDFFE01E894A5912591359145919F\r
-:106110005591AEF3EF0162DDFE019701A801DA941B\r
-:1061200079F7DF90EF90FF900F911F91CF91DF9162\r
-:1061300008959B01AC0160E070E080E89FE3A5CD8D\r
-:106140009ECEACC0CCDEE8F39923D9F3940F511D59\r
-:10615000BBF39150504094F059F0882332F0660F11\r
-:10616000771F881F91505040C1F79E3F510544F75B\r
-:10617000880F911D9695879597F908955F3FACF02C\r
-:10618000983E9CF0BB27869577956795B79508F460\r
-:10619000B1609395C1F7BB0F58F711F460FFE8CFDA\r
-:1061A0006F5F7F4F8F4F9F4FE3CFB4CE0EF076C01F\r
-:1061B0006CCE689464CE93DEC8F39923D1F3C6F312\r
-:1061C000DF93CF931F930F93FF92C92FDD2788236F\r
-:1061D0002AF02197660F771F881FDAF720E030E05A\r
-:1061E00040E85FEB9FE3883920F0803E30F0219655\r
-:1061F0008F77E3DCECE6F1E003C0DFDCE9E9F1E016\r
-:1062000073DF8B01BE01EC01FB2E6F577109759591\r
-:10621000771F880B990BD4DD28E132E741E35FE378\r
-:106220008FDEAF2D9801AE01FF900F911F91CF919E\r
-:10623000DF91D4DC3BCEFA01DC01AA0FBB1F9B012E\r
-:10624000AC01BF5728F422273327442750781FC0BA\r
-:10625000B75188F4AB2F0024469537952795011C3C\r
-:10626000A395D2F3002069F0220F331F441FB3958A\r
-:10627000DAF30DD0A1CC61307105A0E88A07B946E8\r
-:1062800030F49B01AC0166277727882790783096F9\r
-:1062900021F0208331834283538308959F3F31F05F\r
-:1062A000915020F4879577956795B795880F911D44\r
-:1062B0009695879597F90895AA1BBB1B51E107C0D6\r
-:1062C000AA1FBB1FA617B70710F0A61BB70B881F86\r
-:1062D000991F5A95A9F780959095BC01CD01089515\r
-:1062E00097FB072E16F4009407D077FD09D00E9483\r
-:1062F0005C3107FC05D03EF4909581959F4F089541\r
-:10630000709561957F4F0895EE0FFF1F0590F491F2\r
-:10631000E02D0994F999FECF92BD81BDF89A992795\r
-:1063200080B50895A8E1B0E042E050E00C94B231AD\r
-:10633000262FF999FECF92BD81BDF89A019700B43E\r
-:10634000021639F01FBA20BD0FB6F894FA9AF99ADE\r
-:106350000FBE08950196272F0E9499310C94983111\r
-:10636000DC01CB01FC01F999FECF06C0F2BDE1BD15\r
-:10637000F89A319600B40D9241505040B8F7089504\r
-:04638000F894FFCFBF\r
-:1063840007000C52D02445000000410000DC44000A\r
-:1063940000004152D0A4440000404100005C44008D\r
-:1063A40000004148F17644000000415C978A4400B3\r
-:1063B4000000411FD592440000004152D0A4440083\r
-:1063C4000000415CFFB844000000410AA7CF44002C\r
-:1063D4000000410000DC44000000410AA7CF440053\r
-:1063E4000000410000DC4400000041000000000007\r
-:1063F40000804000005C45000040410000000000B7\r
-:1064040000804052D02445000040410AA7CF4400F8\r
-:106414000000410000DC44000000410000000000D6\r
-:1064240000804052D024450000404100000000009C\r
-:1064340000804000005C45000040410AA7CF4400B2\r
-:106444000000410000DC44000000410000000000A6\r
-:1064540000804052D024450000404100000000006C\r
-:106464000080400AA74F45000040410AA7CF4400DE\r
-:106474000000410000DC4400000041000000000076\r
-:1064840000804052D024450000004100000000007C\r
-:106494000080405CFF38450000004100000000001F\r
-:1064A40000804052D02445000000410AA7CF440098\r
-:1064B4000000410000DC4400000041000000000036\r
-:1064C40000804052D024450000804153D024450030\r
-:1064D40000404160970A450000004154D0A44400A4\r
-:1064E4000000410000DC440000004160970A4500C0\r
-:1064F40000A041050000003F0000C8423214C0144F\r
-:106504009D14691435140101DA032808140A321E93\r
-:106514000000020004000500070009000B000C0045\r
-:106524000E001000110013001500170018001A00C7\r
-:106534001C001D001F002100230024002600280049\r
-:1065440029002B002D002F003000320034003500CC\r
-:10655400370039003B00400045002500260061005B\r
-:106564006000200037006400650066006700440096\r
-:106574004600240047003F4D3639BD0970093A09E9\r
-:1065840001099408AD08C608DF08010203040506E2\r
-:0465940007080900EB\r
+:10573000890208958FEF80938902089580918802ED\r
+:10574000262F30E0280F311D2F3F310524F4680F3C\r
+:105750006093880208958FEF8093880208958330C4\r
+:1057600011F128F4813049F0823091F008958530AC\r
+:1057700081F120F18630C1F1089580918D02681782\r
+:1057800020F4861B80938D02089510928D02089557\r
+:1057900080918C02681720F4861B80938C020895F8\r
+:1057A00010928C02089580918B02681720F4861B5A\r
+:1057B00080938B02089510928B02089580918A0243\r
+:1057C000681720F4861B80938A02089510928A023B\r
+:1057D000089580918902681720F4861B80938902BE\r
+:1057E000089510928902089580918802681720F424\r
+:1057F000861B8093880208951092880208950F9363\r
+:105800001F93873208F048C08E3108F094C0803171\r
+:1058100009F47EC008F5873009F468C068F4863062\r
+:1058200009F0A4C080913D04817F8E7F80933D0468\r
+:1058300081E080934D049BC08B3009F490C08E3082\r
+:1058400009F094C080913D0482FB222720F991E069\r
+:10585000922790FB82F965C0863109F480C060F41C\r
+:10586000813109F083C00E945C219091850281E022\r
+:1058700089278093850273C0893109F470C08B3108\r
+:1058800009F074C080913D0481FB222720F991E04A\r
+:10589000922790FB81F945C0883309F460C050F429\r
+:1058A000893209F45EC0853309F45BC0873209F49C\r
+:1058B00058C05CC0833409F454C028F48A3308F417\r
+:1058C00055C0895339C0883409F050C00E945C210A\r
+:1058D0000E946C060FEF13ED20E3015010402040B2\r
+:1058E000E1F700C000000E94792839C090913D0482\r
+:1058F000892F8095817080FB90F929F096609860DF\r
+:1059000090933D0434C0997F977F90933D0427C0C6\r
+:1059100080913D0483FB222720F991E0922790FBA0\r
+:1059200083F980933D049923D1F080913D048160F7\r
+:1059300080933D0414C08D5141E050E060E070E080\r
+:105940008A019B0104C0000F111F221F331F8A957B\r
+:10595000D2F7C901B8010E9418250E945C2181E09C\r
+:1059600006C061E070E080E090E0F5CF80E01F913C\r
+:105970000F91089580E0089580E00895CF93C82F97\r
+:1059800080914D04813069F018F08230C9F184C0F3\r
+:10599000E0918602F09187028081823209F07EC018\r
+:1059A00007C0E0918602F09187028081823261F423\r
+:1059B0008C2F0E94BA2C811104C08C2F0E94FF2BC7\r
+:1059C0001DC081E090E01AC08C2F0E94BC2C811178\r
+:1059D00014C0C43179F048F4CB3079F0C03109F00B\r
+:1059E00061C082E080934D0408C0C93219F0C83309\r
+:1059F00021F058C010924D0455C081E0817054C010\r
+:105A0000C93291F120F5C43179F1B0F4C73009F011\r
+:105A100047C08EE180938D0282E380938C028AE0FE\r
+:105A200080938B0284E180938A0288E080938902CC\r
+:105A300088E28093880234C0CE51C63088F5EC2FBE\r
+:105A4000F0E0E85AFC4F808180934C0429C0CE34AA\r
+:105A5000E9F020F4CB3421F56AE013C0C13579F0C8\r
+:105A6000C235F1F461E00DC080914C04882319F037\r
+:105A700010924C0415C081E080934D0415C061E084\r
+:105A800006C080914C040E94392B0AC06AE08091C4\r
+:105A90004C040E94AF2B04C010924D0480E004C05F\r
+:105AA00081E002C080E0AACFCF9108950E94DA2859\r
+:105AB000811102C00E94B6280E94FB2880936804CE\r
+:105AC00080FF02C0869501C080E00C943005809173\r
+:105AD0006804982F9695292F30E0233031054CF437\r
+:105AE0009F5F990F8170892B8160809368040E9469\r
+:105AF000FF288091680486950C9430058091680495\r
+:105B0000982F969591F09158990F8170892B8093D9\r
+:105B100068048E7F91E009F490E08091680490FB26\r
+:105B200080F9809368040E94FF288091680486951C\r
+:105B30000C94300580916804982F909590FB80F923\r
+:105B4000809368040E94FF288091680480FF02C04F\r
+:105B5000869501C080E00C94300590916804892FEF\r
+:105B600086958F5F8F779170843028F4880F892B0A\r
+:105B70008093680402C090936804809168048E7FCB\r
+:105B800091E009F490E08091680490FB80F98093A3\r
+:105B900068040E94FF288091680486950C94300563\r
+:105BA00020916804922F96958927982F990F822F1C\r
+:105BB0008170892B809368048E7F91E009F490E0D6\r
+:105BC0008091680490FB80F9809368040E94FF280C\r
+:105BD0008091680486950C9430055058BB27AA27FD\r
+:105BE0000ED0D1C1C2D130F0C7D120F031F49F3FE7\r
+:105BF00011F41EF4B7C10EF4E095E7FB9FC1E92F45\r
+:105C0000D3D180F3BA17620773078407950718F09A\r
+:105C100071F49EF5EBC10EF4E0950B2EBA2FA02D7A\r
+:105C20000B01B90190010C01CA01A0011124FF2749\r
+:105C3000591B99F0593F50F4503E68F11A16F04044\r
+:105C4000A22F232F342F4427585FF3CF4695379543\r
+:105C50002795A795F0405395C9F77EF41F16BA0B08\r
+:105C6000620B730B840BBAF09150A1F0FF0FBB1FB6\r
+:105C7000661F771F881FC2F70EC0BA0F621F731FFF\r
+:105C8000841F48F4879577956795B795F7959E3F5C\r
+:105C900008F0B3CF9395880F08F09927EE0F9795EA\r
+:105CA0008795089527D108F481E008950CD06BC141\r
+:105CB00063D140F05AD130F021F45F3F19F03EC17A\r
+:105CC000511195C14FC170D198F39923C9F3552350\r
+:105CD000B1F3951B550BBB27AA27621773078407DF\r
+:105CE00038F09F5F5F4F220F331F441FAA1FA9F395\r
+:105CF00033D00E2E3AF0E0E830D091505040E69587\r
+:105D0000001CCAF729D0FE2F27D0660F771F881FE7\r
+:105D1000BB1F261737074807AB07B0E809F0BB0BD6\r
+:105D2000802DBF01FF2793585F4F2AF09E3F5105FA\r
+:105D300068F004C15CC15F3FECF3983EDCF38695EC\r
+:105D400077956795B795F7959F5FC9F7880F911D70\r
+:105D50009695879597F90895E1E0660F771F881F5C\r
+:105D6000BB1F621773078407BA0720F0621B730B0F\r
+:105D7000840BBA0BEE1F88F7E095089504D0689461\r
+:105D8000B11135C1089518D188F09F5790F0B92FFF\r
+:105D90009927B751A0F0D1F0660F771F881F991F80\r
+:105DA0001AF0BA95C9F712C0B13081F01FD1B1E035\r
+:105DB00008951CC1672F782F8827B85F39F0B93F45\r
+:105DC000CCF3869577956795B395D9F73EF4909582\r
+:105DD0008095709561957F4F8F4F9F4F0895E89400\r
+:105DE00009C097FB3EF490958095709561957F4F23\r
+:105DF0008F4F9F4F9923A9F0F92F96E9BB279395D1\r
+:105E0000F695879577956795B795F111F8CFFAF4E0\r
+:105E1000BB0F11F460FF1BC06F5F7F4F8F4F9F4F11\r
+:105E200016C0882311F096E911C0772321F09EE86F\r
+:105E3000872F762F05C0662371F096E8862F70E0D5\r
+:105E400060E02AF09A95660F771F881FDAF7880FAF\r
+:105E50009695879597F9089588D018F011F08CD011\r
+:105E600038F480C0C4C0E92F9FD0B0F35523C9F3E4\r
+:105E7000E7FB6217730784079507A8F199F3E92FE9\r
+:105E8000FF2788232AF03197660F771F881FDAF7DC\r
+:105E9000952F5527442332F091505040220F331F45\r
+:105EA000441FD2F7BB27E91BF50B621B730B840B56\r
+:105EB000B109C1F222F4620F731F841FB11D319723\r
+:105EC0002AF0660F771F881FBB1FEFCF91505040FD\r
+:105ED0005AF041F0882332F0660F771F881F9150E7\r
+:105EE0005040C1F7939530C08695779567959F5F31\r
+:105EF000D9F7F8CF990F0008550FAA0BE0E8FEEF8D\r
+:105F000016161706E807F907C0F012161306E4077D\r
+:105F1000F50798F0621B730B840B950B39F40A2676\r
+:105F200061F0232B242B252B21F408950A2609F454\r
+:105F3000A140A6958FEF811D811D089597F99F6758\r
+:105F400080E870E060E008959F3F31F0915020F4C8\r
+:105F5000879577956795B795880F911D9695879545\r
+:105F600097F908959FEF80EC089500240A9416167F\r
+:105F7000170618060906089500240A941216130637\r
+:105F8000140605060895092E0394000C11F48823C5\r
+:105F900052F0BB0F40F4BF2B11F460FF04C06F5FE1\r
+:105FA0007F4F8F4F9F4F089557FD9058440F551FB7\r
+:105FB00059F05F3F71F04795880F97FB991F61F08B\r
+:105FC0009F3F79F087950895121613061406551F02\r
+:105FD000F2CF4695F1DF08C0161617061806991F6E\r
+:105FE000F1CF86957105610508940895E894BB2763\r
+:105FF00066277727CB0197F908957CDF08F48FEFA8\r
+:1060000008950BD0C0CFB1DF28F0B6DF18F095238C\r
+:1060100009F094CFA7CF1124EACFC6DFA0F3959F54\r
+:10602000D1F3950F50E0551F629FF001729FBB277F\r
+:10603000F00DB11D639FAA27F00DB11DAA1F649F2B\r
+:106040006627B00DA11D661F829F2227B00DA11DDE\r
+:10605000621F739FB00DA11D621F839FA00D611D64\r
+:10606000221F749F3327A00D611D231F849F600D85\r
+:10607000211D822F762F6A2F11249F5750408AF0BE\r
+:10608000E1F088234AF0EE0FFF1FBB1F661F771F4A\r
+:10609000881F91505040A9F79E3F510570F04ECF98\r
+:1060A000A6CF5F3FECF3983EDCF386957795679536\r
+:1060B000B795F795E7959F5FC1F7FE2B880F911D68\r
+:1060C0009695879597F90895FA01EE0FFF1F309680\r
+:1060D0002105310599F16115710561F48038BFE33F\r
+:1060E0009B0749F168949038810561F08038BFEFD3\r
+:1060F0009B0741F0992342F5FF3FE105310521055A\r
+:1061000011F1E8940894E795D901AA2329F4AB2F5B\r
+:10611000BE2FF85FD0F310C0FF5F70F4A695E0F7D4\r
+:10612000F73950F019F0FF3A38F49F779F930CD06D\r
+:106130000F9007FC905808953EF014CF60E070E097\r
+:1061400080E89FE308954FE79F775F934F933F93D6\r
+:106150002F939ED02F913F914F915F9152DF05C0B9\r
+:1061600019F40EF0EBCE42CFFDCE26DFC8F3963801\r
+:10617000C0F707F80F92E8942BE33AEA48EB5FE7A1\r
+:106180004EDF0F920F920F924DB75EB70F92C0D0B5\r
+:10619000ECEFF0E016D04F915F91EF91FF91E59514\r
+:1061A000EE1FFF1F49F0FE57E0684427EE0F441F23\r
+:1061B000FA95E1F74195550B32D00F9007FE26C0B6\r
+:1061C0000895DF93CF931F930F93FF92EF92DF9287\r
+:1061D0007B018C01689405C0DA2EEF011EDFFE0101\r
+:1061E000E894A5912591359145915591AEF3EF0134\r
+:1061F00006DDFE019701A801DA9479F7DF90EF90B0\r
+:10620000FF900F911F91CF91DF9108959B01AC01F9\r
+:1062100060E070E080E89FE349CD90CE95CECCDE83\r
+:10622000E8F39923D9F3940F511DBBF391505040DB\r
+:1062300094F059F0882332F0660F771F881F915031\r
+:106240005040C1F79E3F510544F7880F911D969528\r
+:10625000879597F908955F3FACF0983E9CF0BB2777\r
+:10626000869577956795B79508F4B1609395C1F7D2\r
+:10627000BB0F58F711F460FFE8CF6F5F7F4F8F4F70\r
+:106280009F4FE3CFB4CE0EF05FCE6CCE689456CE67\r
+:1062900093DEC8F39923D1F3C6F3DF93CF931F9313\r
+:1062A0000F93FF92C92FDD2788232AF02197660FCD\r
+:1062B000771F881FDAF720E030E040E85FEB9FE3CC\r
+:1062C000883920F0803E30F021968F7787DCE4E239\r
+:1062D000F1E003C083DCE1E5F1E073DF8B01BE0197\r
+:1062E000EC01FB2E6F5771097595771F880B990B81\r
+:1062F00078DD28E132E741E35FE38FDEAF2D9801DF\r
+:10630000AE01FF900F911F91CF91DF9178DC3BCED2\r
+:10631000FA01DC01AA0FBB1F9B01AC01BF5728F497\r
+:1063200022273327442750781FC0B75188F4AB2F5A\r
+:106330000024469537952795011CA395D2F300209C\r
+:1063400069F0220F331F441FB395DAF30DD045CC0B\r
+:1063500061307105A0E88A07B94630F49B01AC01B1\r
+:106360006627772788279078309621F0208331831D\r
+:10637000428353830895AA1BBB1B51E107C0AA1F88\r
+:10638000BB1FA617B70710F0A61BB70B881F991FD6\r
+:106390005A95A9F780959095BC01CD01089597FB7A\r
+:1063A000072E16F4009407D077FD09D00E94BB3168\r
+:1063B00007FC05D03EF4909581959F4F0895709508\r
+:1063C00061957F4F0895EE0FFF1F0590F491E02D2A\r
+:1063D0000994F999FECF92BD81BDF89A992780B5AD\r
+:1063E0000895A8E1B0E042E050E00C941132262F6D\r
+:1063F000F999FECF92BD81BDF89A019700B40216BB\r
+:1064000039F01FBA20BD0FB6F894FA9AF99A0FBE68\r
+:1064100008950196272F0E94F8310C94F731DC0182\r
+:10642000CB01FC01F999FECF06C0F2BDE1BDF89A9F\r
+:10643000319600B40D9241505040B8F70895F89449\r
+:02644000FFCF8C\r
+:106442000C52D02445000000410000DC4400000052\r
+:106452004152D0A4440000404100005C44000000CE\r
+:106462004148F17644000000415C978A44000000F4\r
+:10647200411FD592440000004152D0A444000000C4\r
+:10648200415CFFB844000000410AA7CF440000006D\r
+:10649200410000DC44000000410AA7CF4400000094\r
+:1064A200410000DC440000004100000000000080C8\r
+:1064B2004000005C450000404100000000000080F8\r
+:1064C2004052D02445000040410AA7CF44000000BA\r
+:1064D200410000DC44000000410000000000008098\r
+:1064E2004052D024450000404100000000000080DE\r
+:1064F2004000005C45000040410AA7CF4400000074\r
+:10650200410000DC44000000410000000000008067\r
+:106512004052D024450000404100000000000080AD\r
+:10652200400AA74F45000040410AA7CF440000009F\r
+:10653200410000DC44000000410000000000008037\r
+:106542004052D024450000004100000000000080BD\r
+:10655200405CFF3845000000410000000000008060\r
+:106562004052D02445000000410AA7CF4400000059\r
+:10657200410000DC440000004100000000000080F7\r
+:106582004052D024450000804153D02445000040B1\r
+:106592004160970A450000004154D0A44400000025\r
+:1065A200410000DC440000004160970A450000A061\r
+:1065B20041050000003F0000C8424314D114AE144C\r
+:1065C2007A14461401012A042808140A321E000013\r
+:1065D200020004000500070009000B000C000E0079\r
+:1065E2001000110013001500170018001A001C00FB\r
+:1065F2001D001F002100230024002600280029007E\r
+:106602002B002D002F0030003200340035003700FF\r
+:1066120039003B0040004500250026006100600073\r
+:1066220020003700640065006600670044004600F1\r
+:10663200240047003149803F5D8B803FF8BF803F97\r
+:10664200CAE1803F73ED803FCAE1803FF8BF803FDF\r
+:106652005D8B803F3149803F0000803FF16D7F3F7D\r
+:1066620075EA7E3F4C827E3F833F7E3F84287E3F99\r
+:10667200833F7E3F4C827E3F75EA7E3FF16D7F3FD6\r
+:106682000000803F3F4D363975092809F208B908E4\r
+:106692004C0865087E0897080102030405060708EE\r
+:0266A2000900ED\r
 :00000001FF\r
index 3504e27201b7c021dd57fda1404016b45662ee96..259dd6686be30e2e9d6c23c41857f146fe835928 100644 (file)
@@ -162,11 +162,6 @@ endif
 
 endif
 
-ifeq ($(strip $(BACKLIGHT_ENABLE)), yes)
-       SRC := backlight.c $(SRC)
-endif
-
-
 # Optimize size but this may cause error "relocation truncated to fit"
 #EXTRALDFLAGS = -Wl,--relax
 
diff --git a/keyboard/preonic/backlight.c b/keyboard/preonic/backlight.c
deleted file mode 100644 (file)
index f69364b..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-
-#include <avr/io.h>
-#include "backlight.h"
-
-#define CHANNEL OCR1C
-
-void backlight_init_ports()
-{
-
-    // Setup PB7 as output and output low.
-    DDRB |= (1<<7);
-    PORTB &= ~(1<<7);
-    
-    // Use full 16-bit resolution. 
-    ICR1 = 0xFFFF;
-
-    // I could write a wall of text here to explain... but TL;DW
-    // Go read the ATmega32u4 datasheet.
-    // And this: http://blog.saikoled.com/post/43165849837/secret-konami-cheat-code-to-high-resolution-pwm-on
-    
-    // Pin PB7 = OCR1C (Timer 1, Channel C)
-    // Compare Output Mode = Clear on compare match, Channel C = COM1C1=1 COM1C0=0
-    // (i.e. start high, go low when counter matches.)
-    // WGM Mode 14 (Fast PWM) = WGM13=1 WGM12=1 WGM11=1 WGM10=0
-    // Clock Select = clk/1 (no prescaling) = CS12=0 CS11=0 CS10=1
-    
-    TCCR1A = _BV(COM1C1) | _BV(WGM11); // = 0b00001010;
-    TCCR1B = _BV(WGM13) | _BV(WGM12) | _BV(CS10); // = 0b00011001;
-
-    backlight_init();
-}
-
-void backlight_set(uint8_t level)
-{
-    if ( level == 0 )
-    {
-        // Turn off PWM control on PB7, revert to output low.
-        TCCR1A &= ~(_BV(COM1C1));
-        CHANNEL = 0x0;
-        // Prevent backlight blink on lowest level
-        PORTB &= ~(_BV(PORTB7));
-    }
-    else if ( level == BACKLIGHT_LEVELS )
-    {
-        // Prevent backlight blink on lowest level
-        PORTB &= ~(_BV(PORTB7));
-        // Turn on PWM control of PB7
-        TCCR1A |= _BV(COM1C1);
-        // Set the brightness
-        CHANNEL = 0xFFFF;
-    }
-    else        
-    {
-        // Prevent backlight blink on lowest level
-        PORTB &= ~(_BV(PORTB7));
-        // Turn on PWM control of PB7
-        TCCR1A |= _BV(COM1C1);
-        // Set the brightness
-        CHANNEL = 0xFFFF >> ((BACKLIGHT_LEVELS - level) * ((BACKLIGHT_LEVELS + 1) / 2));
-    }
-}
\ No newline at end of file
index 95b9718762509cf8e9723a6446b464222163bd8c..b3aa14dcbe3c63766fda214ef09abf091b1270f2 100644 (file)
@@ -319,7 +319,7 @@ void matrix_init_user(void) {
 #ifdef AUDIO_ENABLE
 
 uint8_t starting_note = 0x0C;
-int offset = 7;
+int offset = 0;
 
 void process_action_user(keyrecord_t *record) {
 
index f639f247a51952e637034b474c6e51ef230621ad..211f8d029645ada6c32ae4079094a84e5d833e68 100644 (file)
@@ -38,4 +38,65 @@ void matrix_scan_kb(void) {
 
 void process_action_kb(keyrecord_t *record) {
        process_action_user(record);
-}
\ No newline at end of file
+}
+
+#ifdef BACKLIGHT_ENABLE
+#define CHANNEL OCR1C
+
+void backlight_init_ports()
+{
+
+    // Setup PB7 as output and output low.
+    DDRB |= (1<<7);
+    PORTB &= ~(1<<7);
+    
+    // Use full 16-bit resolution. 
+    ICR1 = 0xFFFF;
+
+    // I could write a wall of text here to explain... but TL;DW
+    // Go read the ATmega32u4 datasheet.
+    // And this: http://blog.saikoled.com/post/43165849837/secret-konami-cheat-code-to-high-resolution-pwm-on
+    
+    // Pin PB7 = OCR1C (Timer 1, Channel C)
+    // Compare Output Mode = Clear on compare match, Channel C = COM1C1=1 COM1C0=0
+    // (i.e. start high, go low when counter matches.)
+    // WGM Mode 14 (Fast PWM) = WGM13=1 WGM12=1 WGM11=1 WGM10=0
+    // Clock Select = clk/1 (no prescaling) = CS12=0 CS11=0 CS10=1
+    
+    TCCR1A = _BV(COM1C1) | _BV(WGM11); // = 0b00001010;
+    TCCR1B = _BV(WGM13) | _BV(WGM12) | _BV(CS10); // = 0b00011001;
+
+    backlight_init();
+}
+
+void backlight_set(uint8_t level)
+{
+    if ( level == 0 )
+    {
+        // Turn off PWM control on PB7, revert to output low.
+        TCCR1A &= ~(_BV(COM1C1));
+        CHANNEL = 0x0;
+        // Prevent backlight blink on lowest level
+        PORTB &= ~(_BV(PORTB7));
+    }
+    else if ( level == BACKLIGHT_LEVELS )
+    {
+        // Prevent backlight blink on lowest level
+        PORTB &= ~(_BV(PORTB7));
+        // Turn on PWM control of PB7
+        TCCR1A |= _BV(COM1C1);
+        // Set the brightness
+        CHANNEL = 0xFFFF;
+    }
+    else        
+    {
+        // Prevent backlight blink on lowest level
+        PORTB &= ~(_BV(PORTB7));
+        // Turn on PWM control of PB7
+        TCCR1A |= _BV(COM1C1);
+        // Set the brightness
+        CHANNEL = 0xFFFF >> ((BACKLIGHT_LEVELS - level) * ((BACKLIGHT_LEVELS + 1) / 2));
+    }
+}
+
+#endif
\ No newline at end of file
index 51ed9ba393bd2280e123601b67de8b5a3991e555..030acdadb40a2a9621806026f56021c2b9670417 100644 (file)
@@ -10,6 +10,7 @@
   #include "rgblight.h"
 #endif
 #include <stddef.h>
+#include <avr/io.h>
 #ifdef MIDI_ENABLE
        #include <keymap_midi.h>
 #endif
index 5bdc190e1de86190b370691f51b8b3faa38a7321..eda1b1979f441c17cc2611949086a06dbdefc5cd 100644 (file)
-:100000000C94D4020C9418030C9418030C94180349\r
-:100010000C9418030C9418030C9418030C941803F4\r
-:100020000C9418030C9418030C94E8160C94BA174B\r
-:100030000C946C290C9418030C9418030C9418035A\r
-:100040000C9418030C9418030C9418030C941803C4\r
-:100050000C9418030C94D9290C9418030C941803CD\r
-:100060000C9418030C9418030C9418030C941803A4\r
-:100070000C9418030C9418030C9418030C94180394\r
-:100080000C941C0E0C9418030C9418030C94180375\r
-:100090000C9418030C9418030C9418030C94180374\r
-:1000A0000C9418030C9418030C941803076342363D\r
-:1000B000B79BD8A71A39685618AEBAAB558C1D3CF9\r
-:1000C000B7CC5763BD6DEDFD753EF6177231BF00BD\r
-:1000D0000000803F08000000BE922449123EABAAF7\r
-:1000E000AA2ABECDCCCC4C3E00000080BEABAAAA52\r
-:1000F000AA3E00000000BF000000803F000000009A\r
-:1001000000084178D3BB4387D1133D190E3CC3BDD2\r
-:100110004282AD2B3E68EC8276BED98FE1A93E4C7F\r
-:1001200080EFFFBE01C4FF7F3F00000000003500EC\r
-:100130001E001F00200021002200230024002500B3\r
-:10014000260027002A002B0014001A0008001500C2\r
-:1001500017001C0018000C00120013002A002900D0\r
-:1001600004001600070009000A000B000D000E0035\r
-:100170000F0033003400E1001D001B0006001900D1\r
-:10018000050011001000360037003800280000304C\r
-:10019000E000E200E30003522C002C000452500067\r
-:1001A000510052004F0035001E001F0020002100AA\r
-:1001B0002200230024002500260027002A002B000F\r
-:1001C00014001A00090013000A000D000F001800A7\r
-:1001D0001C0033002A002900040015001600170037\r
-:1001E00007000B00110008000C0012003400E100B1\r
-:1001F0001D001B000600190005000E00100036004F\r
-:100200003700380028000030E000E200E30003522D\r
-:100210002C002C0004525000510052004F003500B9\r
-:100220001E001F00200021002200230024002500C2\r
-:10023000260027002A002B00340036003700130068\r
-:100240001C0009000A00060015000F002A00290002\r
-:1002500004001200080018000C0007000B00170033\r
-:10026000110016003800E100330014000D000E00EC\r
-:100270001B00050010001A0019001D0028000030A6\r
-:10028000E000E200E30003522C002C000452500076\r
-:10029000510052004F0035001E001F0020002100B9\r
-:1002A0002200230024002500260027002A00350212\r
-:1002B0001E021F0220022102220223022402250222\r
-:1002C000260227022A0001003A003B003C003D00C4\r
-:1002D0003E003F002D022E022F02300231020100AB\r
-:1002E00040004100420043004400450000530153D8\r
-:1002F0000253005001000100010001000100010053\r
-:10030000010001000100AB00AA00A900AE00350009\r
-:100310001E001F00200021002200230024002500D1\r
-:10032000260027002A0035001E001F0020002100A3\r
-:100330002200230024002500260027002A000100B7\r
-:100340003A003B003C003D003E003F002D002E00E7\r
-:100350002F00300031000100400041004200430006\r
-:1003600044004500005301530253005001000100B6\r
-:100370000100010001000100010001000100AB00CB\r
-:10038000AA00A900AE002A035400680065002000FE\r
-:100390005000720065006F006E006900630020006D\r
-:1003A0004B006500790062006F006100720064001C\r
-:1003B00000002C034F007200740068006F006C0096\r
-:1003C00069006E0065006100720020004B0065004E\r
-:1003D000790062006F006100720064007300000029\r
-:1003E000040309040902D000060100A0FA09040070\r
-:1003F000000103010100092111010001223F000752\r
-:1004000005810308000A0904010001030102000933\r
-:100410002111010001224D000705820308000A098D\r
-:10042000040200010300000009211101000122362D\r
-:10043000000705830308000A090403000203000003\r
-:10044000000921110100012220000705840320007A\r
-:100450000107050403200001090404000001010054\r
-:100460000009240100010900010509040500020139\r
-:1004700003000007240100014100062402010100DD\r
-:1004800006240202020009240301030102010009FB\r
-:1004900024030204010101000905060240000500D1\r
-:1004A0000005250101010905850240000500000540\r
-:1004B000250101031201100100000008EDFE61603A\r
-:1004C0000100010200010631FF0974A1010975153F\r
-:1004D0000025FF9520750881020976150025FF95F6\r
-:1004E0002075089102C005010980A101850216014D\r
-:1004F0000026B7001A01002AB70075109501810087\r
-:10050000C0050C0901A1018503160100269C021AF1\r
-:1005100001002A9C02751095018100C005010902A5\r
-:10052000A1010901A10005091901290515002501ED\r
-:100530009505750181029501750381010501093059\r
-:1005400009311581257F95027508810609381581C5\r
-:10055000257F950175088106050C0A38021581254D\r
-:100560007F950175088106C0C005010906A1010536\r
-:100570000719E029E7150025019508750181029505\r
-:100580000175088101050819012905950575019175\r
-:10059000029501750391010507190029FF15002532\r
-:1005A000FF950675088100C011241FBECFEFDAE069\r
-:1005B000DEBFCDBF04B603FE24C080910404909139\r
-:1005C0000504A0910604B09107048730904BA74022\r
-:1005D000B04BB9F410920404109205041092060472\r
-:1005E0001092070414BE84B7877F84BF88E10FB6DA\r
-:1005F000F89480936000109260000FBEE0E0F8E392\r
-:10060000099512E0A0E0B1E0EEE1F9E602C0059044\r
-:100610000D92A832B107D9F714E0A8E2B2E001C008\r
-:100620001D92A430B107E1F70E94A0130C948D3401\r
-:100630000C94000061110DC0FC018281882331F00F\r
-:1006400085EE0E94671E0E94683003C085EE0E94FE\r
-:100650002F1F80E090E008950E940F0E40E050E0D0\r
-:1006600069E070E080E091E00C94600F08950E94D2\r
-:1006700049036E9A769A8CE293E0892B11F00C94E0\r
-:100680002C03089586E393E0892B11F00C94360334\r
-:100690000895279A2F988FEF9FEF9093870080936C\r
-:1006A00086008AE08093800089E1809381000C9429\r
-:1006B000113081110BC080918000877F8093800072\r
-:1006C00010928D0010928C002F9808952F988330EF\r
-:1006D00041F4809180008860809380008FEF9FEFCD\r
-:1006E00012C09091800098609093800023E030E0E9\r
-:1006F000281B3109220F331F8FEF9FEF02C0969501\r
-:1007000087952A95E2F790938D0080938C00089549\r
-:100710008B3B910568F4883A910530F5853A91054F\r
-:10072000C0F48430910598F4019709F06FC071C04E\r
-:10073000803E910508F46AC0883E910540F09C0116\r
-:10074000205F31092031310508F060C05CC09C0198\r
-:10075000A1C0853A910509F45FC0863A910509F474\r
-:100760005EC023E830E496C0883A910509F45AC087\r
-:10077000893A910509F459C08A3A910509F458C09B\r
-:100780008B3A910509F457C08C3A910509F456C08B\r
-:100790008D3A910509F455C0803B910509F454C088\r
-:1007A0008E3A910509F453C08F3A910509F452C06D\r
-:1007B000813B910509F451C0823B910509F450C079\r
-:1007C000833B910509F44FC0843B910509F44EC069\r
-:1007D000853B910509F44DC0863B910509F44CC059\r
-:1007E000873B910509F44BC0883B910509F44AC049\r
-:1007F000893B910509F449C08A3B910509F048C03D\r
-:100800002AE236E447C09C01306544C020E030E075\r
-:1008100041C021E030E03EC021E830E43BC022E8A6\r
-:1008200030E438C022EE34E435C029EE34E432C07E\r
-:100830002AEE34E42FC025EB34E42CC026EB34E45C\r
-:1008400029C027EB34E426C02CEC34E423C02DEC83\r
-:1008500034E420C023E835E41DC02AE835E41AC09A\r
-:1008600022E935E417C024E935E414C021E236E476\r
-:1008700011C023E236E40EC024E236E40BC025E2C8\r
-:1008800036E408C026E236E405C027E236E402C0BA\r
-:1008900020E034E4C90108959CE0799FF00111241F\r
-:1008A0009CE3899FE00DF11D1124E60FF11DEE0F71\r
-:1008B000FF1FE25DFE4F25913491C9010895880F15\r
-:1008C000991F82559040FC0125913491C9010895EA\r
-:1008D000880F991F825D9E4FFC0125913491C901BB\r
-:1008E00008950E944C049C019A9581159F4110F433\r
-:1008F000C9010895C90190528115904128F4C90198\r
-:100900009F700E9468040895C90190538115904119\r
-:1009100020F4C9019927906C0895C901905440971B\r
-:1009200028F4C9018F709927946D0895203180E4CF\r
-:10093000380719F480E091ED0895213190E43907EA\r
-:1009400019F480E090ED0895223140E4340719F461\r
-:1009500080E092ED0895233180E4380719F480E0B7\r
-:1009600093ED0895211590E5390799F40E945623D7\r
-:1009700040E065E088E491E00E94600F2FEF44E3DF\r
-:100980008CE0215040408040E1F700C000000C9412\r
-:10099000FE29213090E5390731F48091F002816021\r
-:1009A0008093F0020895C90190558115904108F097\r
-:1009B00062C0432F55274F70552741305105F9F438\r
-:1009C000C90174E0880F991F7A95E1F78827937021\r
-:1009D000B901E3E0660F771FEA95E1F760767727C4\r
-:1009E000862B972B9C682370332702C0440F551F1A\r
-:1009F0002A95E2F74F715527842B952B08954230A5\r
-:100A0000510529F4922F8827816F906A0895433009\r
-:100A10005105B9F4C90153E0880F991F5A95E1F7C0\r
-:100A2000807E97702370332741E050E002C0440F6E\r
-:100A3000551F2A95E2F74F715527842B952B9C68FB\r
-:100A400008954430510589F5C90143E0880F991F85\r
-:100A50004A95E1F7807E97702370332741E050E09C\r
-:100A600002C0440F551F2A95E2F74F715527842B7A\r
-:100A7000952B9A680895C90190568115904118F4F4\r
-:100A8000C901906F0895C90190578115904120F4D4\r
-:100A9000C9019F7090620895C901905881159041D5\r
-:100AA00020F4C9019F70906A0895203E3105E0F45A\r
-:100AB000203C310568F52133310509F475C048F44F\r
-:100AC0002932310509F46BC02A32310509F07BC0A7\r
-:100AD00075C02933310501F122383105E9F025339C\r
-:100AE000310509F070C051C0233E3105B1F140F429\r
-:100AF000203E3105D1F0223E310509F064C01CC012\r
-:100B0000263E310579F1273E310509F05CC038C039\r
-:100B1000C9010E945F0408958091010380FD02C015\r
-:100B200081FF51C080EE90E04FC08091010380FFB3\r
-:100B3000F9CF89E390E048C08091010382FF0AC0A9\r
-:100B40008091010384FF03C080E090E03DC083EE0C\r
-:100B500090E03AC082EE90E037C08091010382FFBE\r
-:100B6000EFCFF8CF8091010383FF07C0809101038D\r
-:100B700084FDEACF87EE90E027C086EE90E024C0A7\r
-:100B80008091010383FFF2CFF8CF8091010385FFAD\r
-:100B900003C089E290E018C085E390E015C0809121\r
-:100BA000010385FDF9CFF5CF8091010386FF03C0D6\r
-:100BB0008AE290E009C081E390E006C080910103E1\r
-:100BC00086FDF9CFF5CFC9010E94880308950895E5\r
-:100BD0005F926F927F928F929F92AF92BF92CF92CD\r
-:100BE000DF92EF92FF920F931F93CF93DF93CDB7D6\r
-:100BF000DEB72A970FB6F894DEBF0FBECDBF9E01B9\r
-:100C00002F5F3F4F4E018BE0880E911C60E070E03B\r
-:100C100000E010E0E12CF12CC12CD12CA12CB12C46\r
-:100C20008AE0782E622E532E41E050E0E3E9F1E0B5\r
-:100C3000A62DB52D872D01900D928A95E1F7F9012A\r
-:100C4000819191919F01FC01E07FFF27E032F10546\r
-:100C500059F48F709927FA0102C0EE0FFF1F8A9591\r
-:100C6000E2F7AE2ABF2A37C0E033F10559F48F709E\r
-:100C70009927FA0102C0EE0FFF1F8A95E2F7CE2AEC\r
-:100C8000DF2A29C0E034F10559F48F709927FA0161\r
-:100C900002C0EE0FFF1F8A95E2F7EE2AFF2A1BC063\r
-:100CA000E035F10559F48F709927FA0102C0EE0F73\r
-:100CB000FF1F8A95E2F70E2B1F2B0DC0E036F105C2\r
-:100CC00051F48F709927FA0102C0EE0FFF1F8A9529\r
-:100CD000E2F76E2B7F2B2815390509F0A7CF94B1C9\r
-:100CE0008A2D8095892384B985B18A2985B997B1E0\r
-:100CF0008C2D8095892387B988B18C2988B99AB1C0\r
-:100D00008E2D809589238AB98BB18E298BB99DB19F\r
-:100D1000802F809589238DB98EB1802B8EB990B3A9\r
-:100D2000862F8095892380BB81B3862B81BB2A9631\r
-:100D30000FB6F894DEBF0FBECDBFDF91CF911F91EC\r
-:100D40000F91FF90EF90DF90CF90BF90AF909F906A\r
-:100D50008F907F906F905F9008955F926F927F92D7\r
-:100D60008F929F92AF92BF92CF92DF92EF92FF92BB\r
-:100D70000F931F93CF93DF93CDB7DEB768970FB66E\r
-:100D8000F894DEBF0FBECDBF85B7806885BF85B73D\r
-:100D9000806885BF0E94E8059E012F5F3F4F4E018E\r
-:100DA00089E1880E911C60E070E000E010E0E12C29\r
-:100DB000F12CC12CD12CA12CB12C98E1792E622ED2\r
-:100DC000532E41E050E0EDE9F1E0A62DB52D872D41\r
-:100DD00001900D928A95E1F7F901819191919F011E\r
-:100DE000FC01E07FFF27E032F10559F48F7099276D\r
-:100DF000FA0102C0EE0FFF1F8A95E2F7AE2ABF2A62\r
-:100E000037C0E033F10559F48F709927FA0102C019\r
-:100E1000EE0FFF1F8A95E2F7CE2ADF2A29C0E034C1\r
-:100E2000F10559F48F709927FA0102C0EE0FFF1FE8\r
-:100E30008A95E2F7EE2AFF2A1BC0E035F10559F446\r
-:100E40008F709927FA0102C0EE0FFF1F8A95E2F713\r
-:100E50000E2B1F2B0DC0E036F10551F48F70992732\r
-:100E6000FA0102C0EE0FFF1F8A95E2F76E2B7F2B6F\r
-:100E70002815390509F0A7CF94B18A2D80958923CB\r
-:100E800084B985B18A2985B997B18C2D809589233C\r
-:100E900087B988B18C2988B99AB18E2D809589231C\r
-:100EA0008AB98BB18E298BB99DB1802F809589230A\r
-:100EB0008DB98EB1802B8EB990B3862F8095892302\r
-:100EC00080BB81B3862B81BB10922902109228022D\r
-:100ED000109233021092320210922B0210922A02C8\r
-:100EE000109235021092340210922D0210922C02B0\r
-:100EF000109237021092360210922F0210922E0298\r
-:100F0000109239021092380210923102109230027F\r
-:100F100010923B0210923A0287E393E0892BB9F0DA\r
-:100F200068960FB6F894DEBF0FBECDBFDF91CF91AC\r
-:100F30001F910F91FF90EF90DF90CF90BF90AF90F7\r
-:100F40009F908F907F906F905F900C94370368967E\r
-:100F50000FB6F894DEBF0FBECDBFDF91CF911F91CA\r
-:100F60000F91FF90EF90DF90CF90BF90AF909F9048\r
-:100F70008F907F906F905F9008955F926F927F92B5\r
-:100F80008F929F92AF92BF92CF92DF92EF92FF9299\r
-:100F90000F931F93CF93DF93CDB7DEB7A2970FB612\r
-:100FA000F894DEBF0FBECDBF7E0149E1E40EF11C17\r
-:100FB00022E3C22E22E0D22E5E0153E2A50EB11C26\r
-:100FC0003AE0532E470101E010E048E1642E55E07D\r
-:100FD000752EE3E9F1E0D401852D01900D928A95FB\r
-:100FE000E1F7F701819191917F019C01207F3327E7\r
-:100FF0002032310589F424B18F709927A80102C0ED\r
-:10100000440F551F8A95E2F7CA01242B24B995B1E4\r
-:101010008095892385B94FC02033310589F427B1E4\r
-:101020008F709927F80102C0EE0FFF1F8A95E2F733\r
-:10103000CF012E2B27B998B18095892388B93BC061\r
-:101040002034310589F42AB18F709927A80102C094\r
-:10105000440F551F8A95E2F7CA01242B2AB99BB188\r
-:10106000809589238BB927C02035310589F42DB1AE\r
-:101070008F709927F80102C0EE0FFF1F8A95E2F7E3\r
-:10108000CF012E2B2DB99EB1809589238EB913C027\r
-:101090002036310581F420B38F709927A80102C052\r
-:1010A000440F551F8A95E2F7CA01242B20BB91B348\r
-:1010B0008095892381BB50EA5A95F1F7BE016F5F95\r
-:1010C0007F4F80E090E020E030E0EDE9F1E0DE01EC\r
-:1010D0001196462D01900D924A95E1F7FB01419141\r
-:1010E0005191BF01FA01E07FFF27E032F10511F4D1\r
-:1010F000E3B113C0E033F10511F4E6B10EC0E03402\r
-:10110000F10511F4E9B109C0E035F10511F4ECB1D4\r
-:1011100004C0E036F105B9F4EFB1F0E04F705527A7\r
-:1011200002C0F595E7954A95E2F7E0FD08C0A801F1\r
-:10113000022E02C0440F551F0A94E2F702C040E09D\r
-:1011400050E0842B952B2F5F3F4F2C30310509F059\r
-:10115000BCCFF601208131812817390721F0918316\r
-:101160008083709270010E94E805F2E0CF0ED11CDE\r
-:10117000EA14FB0409F02DCF809170018823A1F1BE\r
-:10118000815080937001882339F08FE99FE00197A7\r
-:10119000F1F700C0000028C0809132029091330224\r
-:1011A0009093290280932802809134029091350215\r
-:1011B00090932B0280932A028091360290913702FD\r
-:1011C00090932D0280932C028091380290913902E5\r
-:1011D00090932F0280932E0280913A0290913B02CD\r
-:1011E000909331028093300282E493E0892B11F0D6\r
-:1011F0000E94420381E0A2960FB6F894DEBF0FBEB4\r
-:10120000CDBFDF91CF911F910F91FF90EF90DF90B5\r
-:10121000CF90BF90AF909F908F907F906F905F9096\r
-:101220000895E82FF0E0EE0FFF1FE85DFD4F80818D\r
-:10123000918108950895CF92DF92EF92FF920F93DC\r
-:101240001F93CF93DF93CDB7DEB7CC5BD2400FB601\r
-:10125000F894DEBF0FBECDBF8C01862F642F88238C\r
-:1012600079F0F80192812FE7482F992329F083E044\r
-:1012700093E00E94C41904C083E093E00E94D41953\r
-:10128000F80180818B3091F59181943009F0A8C2EA\r
-:101290009281809173019923B1F08F5F80937301E4\r
-:1012A00096E4E5EBF1E0DE01A958BD4F01900D9207\r
-:1012B0009A95E1F7E0917101F0917201EE0FFF1F35\r
-:1012C00027E732E036C096E4E5EBF1E0DE01AF5C03\r
-:1012D000BD4F01900D929A95E1F7E0917101F09167\r
-:1012E0007201EE0FFF1F21E332E093C08A3009F054\r
-:1012F000CBC0F8019181943009F072C29281809143\r
-:101300007301992309F473C081508093730196E4AB\r
-:10131000E5EBF1E0DE01A551BE4F01900D929A95EB\r
-:10132000E1F7E0917101F0917201EE0FFF1F2BEEDA\r
-:1013300031E02C0F3D1FE20FF31F60817181680FB8\r
-:10134000711D882777FD8095982F0E94AC3120E091\r
-:1013500030E040E451E40E94113120E030E040E808\r
-:1013600050E40E94A9309B01AC0160E070E080E095\r
-:1013700090E40E94C33221E230ED42E053E40E9447\r
-:1013800060324CE050E00E94BB0F20E04BE760E091\r
-:1013900083E093E00E94B41920E04BE761E083E032\r
-:1013A00093E00E94B41920E04BE762E083E093E011\r
-:1013B0000E94B41920E04BE763E083E093E00E94D1\r
-:1013C000B41920E04BE764E083E093E0C454DD4FC0\r
-:1013D0000FB6F894DEBF0FBECDBFDF91CF911F9146\r
-:1013E0000F91FF90EF90DF90CF900C94B41996E49A\r
-:1013F000E5EBF1E0DE01AB55BE4F01900D929A9501\r
-:10140000E1F7E0917101F0917201EE0FFF1F25EA03\r
-:1014100031E02C0F3D1FE20FF31F60817181680FD7\r
-:10142000711D882777FD8095982F0E94AC3120E0B0\r
-:1014300030E040E451E40E94113120E030E040E827\r
-:1014400050E40E94A9309B01AC0160E070E080E0B4\r
-:1014500090E40E94C33221E230ED42E053E40E9466\r
-:1014600060320E94EB0CC454DD4F0FB6F894DEBF1F\r
-:101470000FBECDBFDF91CF911F910F91FF90EF90E5\r
-:10148000DF90CF900C94BE0C893009F0D3C0F801E6\r
-:101490009181943009F0A4C19281992309F4A0C1EB\r
-:1014A00080917101909172010196909372018093E5\r
-:1014B000710120E04BE760E083E093E00E94B41903\r
-:1014C00020E04BE761E083E093E00E94B41920E064\r
-:1014D0004BE762E083E093E00E94B41920E04BE721\r
-:1014E00063E083E093E00E94B41920E04BE764E0FE\r
-:1014F00083E093E00E94B4190E94BE0C00E010E06B\r
-:10150000E6E4FE2E80917301E5EBF1E0DE01A15AE5\r
-:10151000BE4F9F2D01900D929A95E1F7E0917101D8\r
-:10152000F0917201E00FF11FEE0FFF1F2FE531E088\r
-:101530002C0F3D1FE20FF31F60817181680F711D39\r
-:10154000882777FD8095982F0E94AC3120E030E00D\r
-:1015500040E451E40E94113120E030E040E850E4E2\r
-:101560000E94A9309B01AC0160E070E080E090E453\r
-:101570000E94C33221E230ED42E053E40E94603227\r
-:101580004CE050E00E94BB0F3FEF87EE93E03150FC\r
-:1015900080409040E1F700C0000080917301E5EBCE\r
-:1015A000F1E0DE01A75EBE4F9F2D01900D929A954E\r
-:1015B000E1F7E0917101F0917201E00FF11FEE0F80\r
-:1015C000FF1F29E131E02C0F3D1FE20FF31F608167\r
-:1015D0007181680F711D882777FD8095982F0E9473\r
-:1015E000AC3120E030E040E451E40E94113120E0D1\r
-:1015F00030E040E850E40E94A9309B01AC0160E07B\r
-:1016000070E080E090E40E94C33221E230ED42E0DD\r
-:1016100053E40E9460320E94EB0C8FEF9CE701972D\r
-:10162000F1F700C000000F5F1F4F0830110509F0EF\r
-:1016300069CF94C1883009F0D3C0F801918194300A\r
-:1016400009F0CEC09281992309F4CAC0809171013A\r
-:10165000909172010197909372018093710120E043\r
-:101660004BE760E083E093E00E94B41920E04BE791\r
-:1016700061E083E093E00E94B41920E04BE762E070\r
-:1016800083E093E00E94B41920E04BE763E083E03D\r
-:1016900093E00E94B41920E04BE764E083E093E01C\r
-:1016A0000E94B4190E94BE0C00E010E056E4F52E32\r
-:1016B00080917301E5EBF1E0DE01AD52BF4F9F2D4C\r
-:1016C00001900D929A95E1F7E0917101F09172010C\r
-:1016D000E00FF11FEE0FFF1F23ED30E02C0F3D1F39\r
-:1016E000E20FF31F60817181680F711D882777FDFC\r
-:1016F0008095982F0E94AC3120E030E040E451E426\r
-:101700000E94113120E030E040E850E40E94A9300E\r
-:101710009B01AC0160E070E080E090E40E94C33285\r
-:1017200021E230ED42E053E40E9460324CE050E0B0\r
-:101730000E94BB0F3FEF87EE93E031508040904016\r
-:10174000E1F700C0000080917301E5EBF1E0DE01FC\r
-:10175000A357BF4F9F2D01900D929A95E1F7E0910D\r
-:101760007101F0917201E00FF11FEE0FFF1F2DE8E4\r
-:1017700030E02C0F3D1FE20FF31F60817181680F75\r
-:10178000711D882777FD8095982F0E94AC3120E04D\r
-:1017900030E040E451E40E94113120E030E040E8C4\r
-:1017A00050E40E94A9309B01AC0160E070E080E051\r
-:1017B00090E40E94C33221E230ED42E053E40E9403\r
-:1017C00060320E94EB0C8FEF9CE70197F1F700C0AD\r
-:1017D00000000F5F1F4F0830110509F069CFBEC030\r
-:1017E000F801228190917301222309F45DC026E45F\r
-:1017F000E5EBF1E0DE01A95BBF4F01900D922A9568\r
-:10180000E1F7E0917101F0917201E80FF11DEE0F27\r
-:10181000FF1F27E430E02C0F3D1FE20FF31F608114\r
-:101820007181690F711D882777FD8095982F0E941F\r
-:10183000AC3120E030E040E451E40E9411316B0112\r
-:101840007C01F801818165E070E0681B71098827DF\r
-:1018500077FD8095982F0E94AC319B01AC01C701A8\r
-:10186000B6010E94A9309B01AC0160E070E080E00D\r
-:1018700090E40E94C33221E230ED42E053E40E9442\r
-:1018800060324FE050E0C454DD4F0FB6F894DEBF35\r
-:101890000FBECDBFDF91CF911F910F91FF90EF90C1\r
-:1018A000DF90CF900C94BB0F26E4E5EBF1E0DE0176\r
-:1018B000119601900D922A95E1F7E0917101F09156\r
-:1018C0007201E80FF11DEE0FFF1F21E030E02C0F39\r
-:1018D0003D1FE20FF31F60817181690F711D882721\r
-:1018E00077FD8095982F0E94AC3120E030E040E4F5\r
-:1018F00051E40E9411316B017C01F801818165E0A6\r
-:1019000070E0681B7109882777FD8095982F0E94E9\r
-:10191000AC319B01AC01C701B6010E94A9309B010B\r
-:10192000AC0160E070E080E090E40E94C33221E20C\r
-:1019300030ED42E053E40E946032C454DD4F0FB6F4\r
-:10194000F894DEBF0FBECDBFDF91CF911F910F91F5\r
-:10195000FF90EF90DF90CF900C94EB0CC454DD4FD0\r
-:101960000FB6F894DEBF0FBECDBFDF91CF911F91B0\r
-:101970000F91FF90EF90DF90CF9008951092870223\r
-:1019800010928602809171008D7F8093710080910A\r
-:1019900090008F7780939000109248021092470237\r
-:1019A00010928002109281021092820210928302A1\r
-:1019B00010927F0210927E02EEE5F2E0AEE4B2E019\r
-:1019C00011921192119211921D921D9282E0EE37A6\r
-:1019D000F807B1F708956F927F928F929F92AF921E\r
-:1019E000BF92CF92DF92EF92FF920F931F93CF930C\r
-:1019F000DF936B017C010EE712E04CE5A42E42E080\r
-:101A0000B42EC7E0D0E0A7019601F801929182912F\r
-:101A1000729162918F010E940D31882349F02197C4\r
-:101A2000F2E0AF1AB108CF3F8FEFD80761F734C0AB\r
-:101A3000F8011082118212821382F5011182108244\r
-:101A4000FE01EE0FFF1FEE0FFF1FE25AFD4FDE01FA\r
-:101A5000AA0FBB1FA25BBD4FCE011AC001964481E5\r
-:101A600055816681778140835183628373831482B9\r
-:101A700015821682178212962D913C91139711961A\r
-:101A80003C932E9313961C921E92129734961296A4\r
-:101A90008730910519F7C3CF809186029091870214\r
-:101AA000019797FD05C0909387028093860204C03A\r
-:101AB0001092870210928602E0918602F0918702CE\r
-:101AC0003097C9F4809171008D7F8093710080916F\r
-:101AD00090008F7780939000109280021092810284\r
-:101AE000109282021092830210927F0210927E0264\r
-:101AF0001092470285C03197DF01AA0FBB1FAA0FC2\r
-:101B0000BB1FA25ABD4FCD90DD90ED90FC90EE0F23\r
-:101B1000FF1FE25BFD4FC081D18160908002709019\r
-:101B200081028090820290908302A7019601662D27\r
-:101B3000772D882D992D0E940D3187FF25C0262DE8\r
-:101B4000372D482D592DC701B6010E94A83020E03D\r
-:101B500030E04AEF54E40E9411315B018C012A2DE0\r
-:101B60003B2D402F512F662D772D882D992D0E94CA\r
-:101B7000A9303B014C01A7019601772D992D0E94B8\r
-:101B80000D31181664F72EC0A7019601662D772D2A\r
-:101B9000882D992D0E945C32181634F5A701960104\r
-:101BA000662D772D882D992D0E94A83020E030E0F9\r
-:101BB0004AEF54E40E9411315B018C012A2D3B2D28\r
-:101BC000402F512F662D772D882D992D0E94A830FA\r
-:101BD0003B014C01A7019601772D992D0E945C32A3\r
-:101BE00087FFECCF10924D02C0928002D09281020A\r
-:101BF000E0928202F0928302D0937F02C0937E0231\r
-:101C0000DF91CF911F910F91FF90EF90DF90CF90D8\r
-:101C1000BF90AF909F908F907F906F9008953E9A65\r
-:101C2000E1E7F0E080818D7F808382E08093900007\r
-:101C30008AE18093910008951F920F920FB60F9240\r
-:101C40001124CF92DF92EF92FF922F933F934F9305\r
-:101C50005F936F937F938F939F93AF93BF93CF9334\r
-:101C6000DF93EF93FF9380914702882309F479C0B3\r
-:101C700020E030E0A90160918002709181028091A2\r
-:101C80008202909183020E945C3218160CF069C0A7\r
-:101C900020E030E040E251E46091490270914A0254\r
-:101CA00080914B0290914C020E945C321816BCF459\r
-:101CB00080918402909185020196609186027091D4\r
-:101CC00087020E9448349093850280938402109288\r
-:101CD000490210924A0210924B0210924C02C0919B\r
-:101CE0008402D0918502CC0FDD1FCC0FDD1FC25ABC\r
-:101CF000DD4F288139814A815B8160E074E284E7AD\r
-:101D00009BE40E9411310E94793170939700609397\r
-:101D10009600288139814A815B8160E074E284E722\r
-:101D20009BE40E9411310E947931759567957093FB\r
-:101D300099006093980020E030E040E85FE3609114\r
-:101D4000490270914A0280914B0290914C020E948C\r
-:101D5000A9306093490270934A0280934B0290939A\r
-:101D60004C0280914802882309F493C0C09043023A\r
-:101D7000D0904402E0904502F090460220E030E02E\r
-:101D8000A901C701B6010E945C321816F4F4A7013C\r
-:101D9000960160E074E284E79BE40E9411310E94A6\r
-:101DA00079317093970060939600A701960160E0E7\r
-:101DB00074E284E79BE40E9411310E9479317595A9\r
-:101DC0006795709399006093980060913D027091BF\r
-:101DD0003E026F5F7F4F70933E0260933D0280E052\r
-:101DE00090E00E94AA3120913F0230914002409140\r
-:101DF0004102509142020E945C3287FD4AC08091AC\r
-:101E00003C028F5F80933C029091F0038917A0F011\r
-:101E10008091F503882319F010923C020DC0809147\r
-:101E200071008D7F80937100809190008F778093F7\r
-:101E30009000109248022DC0E091F103F091F2035E\r
-:101E400080913C0298E0899FE00DF11D1124808172\r
-:101E50009181A281B3818093430290934402A09325\r
-:101E60004502B093460220E030E040E85EE3648142\r
-:101E70007581868197810E94603260933F027093E2\r
-:101E80004002809341029093420210923E021092CF\r
-:101E90003D02FF91EF91DF91CF91BF91AF919F9163\r
-:101EA0008F917F916F915F914F913F912F91FF9013\r
-:101EB000EF90DF90CF900F900FBE0F901F9018956E\r
-:101EC0000F931F93CF93DF9300D0CDB7DEB78C0174\r
-:101ED00080914702882331F04A8369830E94BE0CB7\r
-:101EE00069814A8181E0809348021093F203009354\r
-:101EF000F1036093F0034093F503109249021092AE\r
-:101F00004A0210924B0210924C0210923C02F801CD\r
-:101F10004081518162817381409343025093440216\r
-:101F2000609345027093460220E030E040E85EE3B3\r
-:101F300064817581868197810E94603260933F023F\r
-:101F400070934002809341029093420210923E02AD\r
-:101F500010923D02809171008260809371008091A7\r
-:101F600090008068809390000F900F90DF91CF9148\r
-:101F70001F910F9108956F927F928F929F92AF92CF\r
-:101F8000BF92CF92DF92EF92FF920F931F93CF9366\r
-:101F9000DF936B017C01EA018091480281110E946C\r
-:101FA000BE0C81E08093470220E030E0A901C70128\r
-:101FB000B6010E945C3218160CF09AC06090800244\r
-:101FC00070908102809082029090830220E030E045\r
-:101FD000A901662D772D882D992D0E940D31811133\r
-:101FE00028C0C0928002D0928102E0928202F092D8\r
-:101FF0008302D0937F02C0937E02809186029091EB\r
-:102000008702FC01EE0FFF1FEE0FFF1FE25AFD4F8C\r
-:10201000C082D182E282F382FC01EE0FFF1FE25BFD\r
-:10202000FD4FD183C08301969093870280938602EF\r
-:102030005FC0A7019601662D772D882D992D0E94EE\r
-:102040000D3187FF25C0262D372D482D592DC7016D\r
-:10205000B6010E94A83020E030E04AEF54E40E942C\r
-:1020600011315B018C012A2D3B2D402F512F662D04\r
-:10207000772D882D992D0E94A9303B014C01A70195\r
-:102080009601772D992D0E940D31181664F7A9CF6E\r
-:10209000A7019601662D772D882D992D0E945C321F\r
-:1020A00018160CF09ECFA7019601662D772D882D6E\r
-:1020B000992D0E94A83020E030E04AEF54E40E94BD\r
-:1020C00011315B018C012A2D3B2D402F512F662DA4\r
-:1020D000772D882D992D0E94A8303B014C01A70136\r
-:1020E0009601772D992D0E945C3287FFECCF79CF36\r
-:1020F000809171008260809371008091900080686F\r
-:1021000080939000DF91CF911F910F91FF90EF90FE\r
-:10211000DF90CF90BF90AF909F908F907F906F9007\r
-:102120000895809191020895CF93DF9300D01F927C\r
-:10213000CDB7DEB72091FA03243021F523E02983BF\r
-:102140009B838A832093E9008FEF06C095ED9A95D3\r
-:10215000F1F70000882329F09091E800815095FF65\r
-:10216000F5CF8091E80085FF0DC040E050E063E0CE\r
-:1021700070E0CE0101960E947E148091E8008E7777\r
-:102180008093E8000F900F900F90DF91CF9108950A\r
-:10219000CF93DF9300D01F92CDB7DEB72091FA0323\r
-:1021A000243029F522E029839B838A8383E080936E\r
-:1021B000E9008FEF06C095ED9A95F1F700008823AE\r
-:1021C00029F09091E800815095FFF5CF8091E800CB\r
-:1021D00085FF0DC040E050E063E070E0CE01019665\r
-:1021E0000E947E148091E8008E778093E8000F9023\r
-:1021F0000F900F90DF91CF9108952091FA03243032\r
-:10220000F9F422E02093E9002FEF06C035ED3A956E\r
-:10221000F1F70000222329F03091E800215035FF2A\r
-:10222000F5CF2091E80025FF0BC040E050E065E0CD\r
-:1022300070E00E947E148091E8008E778093E80021\r
-:102240000895CF93DF93EC018091FA03843041F538\r
-:1022500081E08093E9008FEF06C095ED9A95F1F744\r
-:102260000000882329F09091E800815095FFF5CF78\r
-:102270008091E80085FF14C040E050E068E070E025\r
-:10228000CE010E947E148091E8008E778093E80052\r
-:1022900088E0FE01A9E8B2E001900D928A95E1F78D\r
-:1022A000DF91CF910895BF92CF92DF92EF92FF928C\r
-:1022B0000F931F93CF93DF937C01B62EE90100E0CB\r
-:1022C00010E0C42ED12C0BC04991202F2B0D2F775D\r
-:1022D0004F776FE0C7010E94B4190F5F1F4F0C15B5\r
-:1022E0001D0594F3DF91CF911F910F91FF90EF9017\r
-:1022F000DF90CF90BF90089570E06F5F7F4F6F7059\r
-:1023000077270C94B4190F931F93CF93C42F633086\r
-:10231000710509F04AC0842F807F803849F18039E7\r
-:1023200009F043C0622F6F7770E080E090E00E9478\r
-:10233000AC3120E030E040E451E40E9411319B01D7\r
-:10234000AC0160E070E080E090E40E94C3320F775F\r
-:1023500010E023E0159507952A95E1F72DEC3CEC6C\r
-:1023600042E053E40E946032A8010E94BB0F1DC0EE\r
-:10237000622F6F7770E080E090E00E94AC3120E047\r
-:1023800030E040E451E40E9411319B01AC0160E077\r
-:1023900070E080E090E40E94C3322DEC3CEC42E01F\r
-:1023A00053E40E9460320E94EB0CCC3F29F4CF91A1\r
-:1023B0001F910F910C94BE0CCF911F910F91089516\r
-:1023C0000F931F93CF93DF93CDB7DEB727970FB649\r
-:1023D000F894DEBF0FBECDBF8C0114C08A810E946D\r
-:1023E0008E199A819D839B819E839C819F838111FD\r
-:1023F0001EC089818430B1F08730A1F08630A1F011\r
-:102400008530A1F0BE016F5F7F4F84E791E00E94AD\r
-:10241000FB1C8111E3CF84E791E00E94EC1C0E9439\r
-:1024200067190DC083E003C082E001C081E0AE0106\r
-:102430004B5F5F4F682FC8010E94211AE3CF279698\r
-:102440000FB6F894DEBF0FBECDBFDF91CF911F91C5\r
-:102450000F910895EF92FF920F93CF93DF9300D0E7\r
-:1024600000D000D0CDB7DEB77B014A832B830C832D\r
-:10247000842F2E834D830E948E192E814D818111D0\r
-:102480001BC082E0E816F10479F083E0E816F1045D\r
-:1024900021F0EA94EF2821F50BC0073F11F487E003\r
-:1024A00001C084E089830BC0273FD9F786E0FACFCB\r
-:1024B000473FB9F785E0F6CF42954F704983BE019B\r
-:1024C0006F5F7F4F84E791E00E94B11C84E791E049\r
-:1024D0000E94CF1C84E791E00E94EC1C0E946719C7\r
-:1024E00026960FB6F894DEBF0FBECDBFDF91CF9119\r
-:1024F0000F91FF90EF9008958091F903811109C029\r
-:102500000E946D160E94CA168091E200846080933A\r
-:10251000E20008951092F9030895089508950C9427\r
-:102520006129809192028F5F8093920262E30E9400\r
-:102530002834911135C01092920280919302882321\r
-:1025400079F18091FA03843049F58091E9008F7028\r
-:102550009091EC0090FF02C090E801C090E0982BB1\r
-:1025600084E08093E9008091EB0080FF14C08091AB\r
-:10257000EE0087FD03C00FC01092F1008091E800CB\r
-:1025800085FDFACF8091E80080FF05C08091E800CA\r
-:102590008E778093E8009F709093E90010929302E9\r
-:1025A000089542E061EC81E00E94E31542E061ECB5\r
-:1025B00082E00E94E31542E061EC83E00E94E315B3\r
-:1025C00042E261EC84E00E94E31542E361E885E0C9\r
-:1025D0000E94E31542E360E886E00C94E3158091E5\r
-:1025E000FC03833009F454C030F4813071F0823040\r
-:1025F00009F0A5C08CC08A3009F479C08B3009F489\r
-:102600005FC0893009F09BC020C08091FB03813AF4\r
-:1026100009F095C08091E800877F8093E800809161\r
-:10262000FF0390910004892B21F060E080E090E0AE\r
-:1026300003C068E089E892E070E00E941C15809178\r
-:10264000E8008B778093E80008958091FB03813246\r
-:1026500009F075C08091FF0390910004892B09F067\r
-:102660006EC08091E800877F8093E80005C080916C\r
-:10267000FA03882309F463C08091E80082FFF7CF52\r
-:102680008091F100809391028091E8008B7753C094\r
-:102690008091FB03813A09F052C08091FF03909131\r
-:1026A0000004892B09F04BC08091E800877F80935C\r
-:1026B000E8008091E80080FFFCCF80918A0136C05D\r
-:1026C0008091FB038132D9F58091FF039091000442\r
-:1026D000892BA9F58091E800877F8093E8000E940C\r
-:1026E0001A168091FD0380938A010C9456238091E1\r
-:1026F000FB03813221F58091E800877F8093E80019\r
-:102700000E941A168091FE0380938802089580919A\r
-:10271000FB03813AA1F48091E800877F8093E80071\r
-:102720008091E80080FFFCCF809188028093F100C7\r
-:102730008091E8008E778093E8000C941A16089533\r
-:1027400083E093E00E94F0196AE272E183E093E093\r
-:102750000E94461A60EE71E183E093E00E944A1AFB\r
-:1027600084B7877F84BF88E10FB6F89480936000B8\r
-:10277000109260000FBE90E080E80FB6F89480934E\r
-:102780006100909361000FBE0E94741D0E946D163F\r
-:102790000E94CA168091E20084608093E2007894DF\r
-:1027A00063E871E183E093E00E94EC196CE771E16A\r
-:1027B00083E093E00E94E41963E571E183E093E034\r
-:1027C0000E94E8190E940F0E0E9467190E94761D50\r
-:1027D00080E891E00E94201D0BC00E941E2980917C\r
-:1027E000F803882329F00E94492981110E94681466\r
-:1027F0008091FA03853089F383E093E00E94F91B0E\r
-:102800000E94801DF5CF292F332723303105B1F0E9\r
-:102810004CF42130310509F44DC02230310509F066\r
-:102820004EC007C02132310541F12232310591F10C\r
-:1028300046C0E0EDF0E084EE93E045C0992781309A\r
-:10284000910569F08230910589F0892B09F037C034\r
-:10285000E0EEF3E0E491F0E080EE93E034C0E2EBF0\r
-:10286000F3E0E491F0E082EB93E02DC0E6E8F3E0E2\r
-:10287000E491F0E086E893E026C0643000F5E62FAE\r
-:10288000F0E0EE0FFF1FE550FE4F80819181E9E0FF\r
-:10289000F0E019C0643098F4E62FF0E0DF01AA0FF1\r
-:1028A000BB1FAD5FBD4F8D919C91E55FFD4FE081FA\r
-:1028B000F0E009C0E2E1F0E084EB94E004C0E0E085\r
-:1028C000F0E080E090E0DA018D939C93CF010895D1\r
-:1028D00080E189BD82E189BD09B400FEFDCF809110\r
-:1028E000D8008F7D8093D8008091E0008260809333\r
-:1028F000E0008091E00081FDFCCF0895BF92CF926F\r
-:10290000DF92EF92FF920F931F93CF93DF937C019F\r
-:102910008B01EA010E943B16B82E811133C020972B\r
-:1029200031F028813981021B130BE20EF31EC12CFA\r
-:10293000D12C23C08091E80085FD15C08091E8006E\r
-:102940008E778093E800209749F0888199818C0DDB\r
-:102950009D1D9983888325E0B22E14C00E943B16EA\r
-:10296000882359F00EC0F70181917F018093F10017\r
-:1029700001501109FFEFCF1ADF0A01151105D1F639\r
-:1029800001C0B82E8B2DDF91CF911F910F91FF9039\r
-:10299000EF90DF90CF90BF900895BF92CF92DF92DB\r
-:1029A000EF92FF920F931F93CF93DF937C018B01E4\r
-:1029B000EA010E943B16B82E811133C0209731F0F6\r
-:1029C00028813981021B130BE20EF31EC12CD12C7E\r
-:1029D00023C08091E80085FD15C08091E8008B77C9\r
-:1029E0008093E800209749F0888199818C0D9D1D86\r
-:1029F0009983888345E0B42E14C00E943B16882337\r
-:102A000059F00EC08091F100F70181937F010150D0\r
-:102A10001109FFEFCF1ADF0A01151105D1F601C028\r
-:102A2000B82E8B2DDF91CF911F910F91FF90EF90DA\r
-:102A3000DF90CF90BF90089540910104509102041F\r
-:102A40004617570748F06115710539F44091E800C1\r
-:102A50004E774093E80001C0BA01FC0140E033C06A\r
-:102A60008091FA03882309F444C0853009F443C0F7\r
-:102A70008091E80083FD41C08091E80082FD33C071\r
-:102A80008091E80080FF1FC09091F3008091F200D8\r
-:102A9000392F20E0A901482BCA0106C0419140937B\r
-:102AA000F1006150710901966115710519F08830C6\r
-:102AB0009105A0F341E0089709F040E08091E8001B\r
-:102AC0008E778093E8006115710551F64111C8CFEA\r
-:102AD0000AC08091FA03882361F0853061F080910B\r
-:102AE000E80083FD0AC08091E80082FFF2CF80E019\r
-:102AF000089582E0089583E0089581E0089540916B\r
-:102B00000104509102044617570748F061157105FA\r
-:102B100039F44091E8004E774093E80001C0BA01D3\r
-:102B2000FC0140E034C08091FA03882309F445C0D9\r
-:102B3000853009F444C08091E80083FD42C0809153\r
-:102B4000E80082FD34C08091E80080FF20C09091B1\r
-:102B5000F3008091F200392F20E0A901482BCA012F\r
-:102B600007C044914093F10031966150710901967C\r
-:102B70006115710519F08830910598F341E00897C7\r
-:102B800009F040E08091E8008E778093E8006115BD\r
-:102B9000710549F64111C7CF0AC08091FA03882315\r
-:102BA00061F0853061F08091E80083FD0AC080917A\r
-:102BB000E80082FFF2CF80E0089582E0089583E08C\r
-:102BC000089581E00895982F2CC09093E9009817FC\r
-:102BD00039F07091EC002091ED005091F00003C0AD\r
-:102BE000242F762F50E021FD02C09F5F1AC0309144\r
-:102BF000EB003E7F3093EB003091ED003D7F309352\r
-:102C0000ED003091EB0031603093EB007093EC00FD\r
-:102C10002093ED005093F0002091EE0027FDE5CFCA\r
-:102C200007C0973090F28F708093E90081E008959B\r
-:102C300080E008958091FB0387FD05C08091E80046\r
-:102C400080FF0EC012C08091E80082FD05C0809117\r
-:102C5000FA038111F8CF08958091E8008B7708C0BE\r
-:102C60008091FA038111EACF08958091E8008E7770\r
-:102C70008093E80008958091E4009091E50045E696\r
-:102C80002091EC0020FD1FC023C02091FA032223D5\r
-:102C900091F0253091F02091EB0025FD10C020919E\r
-:102CA000E4003091E5002817390751F34150C9017C\r
-:102CB00039F784E0089582E0089583E0089581E083\r
-:102CC000089580E008952091E80020FFDECFF9CF3D\r
-:102CD0002091E80022FFD9CFF4CF0E94DB160E949A\r
-:102CE000E316E0EEF0E0808181608083E8EDF0E0C3\r
-:102CF00080818F77808319BCA7EDB0E08C918E7FA7\r
-:102D00008C9380818F7E80831092F90308950F93B6\r
-:102D10001F93CF93DF930E94DB160E94E316C8ED4A\r
-:102D2000D0E088818F7788838881806888838881D4\r
-:102D30008F7D888319BC1092FA031092F6031092CB\r
-:102D4000F8031092F70300EE10E0F80180818B7F0A\r
-:102D5000808388818160888342E060E080E00E9417\r
-:102D6000E315E1EEF0E080818E7F8083E2EEF0E01B\r
-:102D7000808181608083808188608083F801808188\r
-:102D80008E7F8083888180618883DF91CF911F91BE\r
-:102D90000F910895E8EDF0E080818F7E8083E7ED6C\r
-:102DA000F0E080818160808384E082BF81E0809355\r
-:102DB000F9030C948716E8EDF0E080818E7F808324\r
-:102DC0001092E20008951092DA001092E100089546\r
-:102DD0001F920F920FB60F9211242F933F934F9390\r
-:102DE0005F936F937F938F939F93AF93BF93EF9373\r
-:102DF000FF938091E10082FF0BC08091E20082FF8F\r
-:102E000007C08091E1008B7F8093E1000E949112C6\r
-:102E10008091DA0080FF1FC08091D80080FF1BC026\r
-:102E20008091DA008E7F8093DA008091D90080FF54\r
-:102E30000DC080E189BD82E189BD09B400FEFDCFEE\r
-:102E400081E08093FA030E947C1205C019BC1092A5\r
-:102E5000FA030E948A128091E10080FF19C08091DC\r
-:102E6000E20080FF15C08091E2008E7F8093E20037\r
-:102E70008091E20080618093E2008091D8008062BE\r
-:102E80008093D80019BC85E08093FA030E948E12CB\r
-:102E90008091E10084FF30C08091E20084FF2CC06B\r
-:102EA00080E189BD82E189BD09B400FEFDCF80913A\r
-:102EB000D8008F7D8093D8008091E1008F7E809331\r
-:102EC000E1008091E2008F7E8093E2008091E20039\r
-:102ED00081608093E2008091F603882311F084E002\r
-:102EE00007C08091E30087FF02C083E001C081E05A\r
-:102EF0008093FA030E948F128091E10083FF29C022\r
-:102F00008091E20083FF25C08091E100877F80935C\r
-:102F1000E10082E08093FA031092F6038091E100D1\r
-:102F20008E7F8093E1008091E2008E7F8093E200AB\r
-:102F30008091E20080618093E20042E060E080E006\r
-:102F40000E94E3158091F00088608093F0000E9459\r
-:102F50008D12FF91EF91BF91AF919F918F917F91D2\r
-:102F60006F915F914F913F912F910F900FBE0F90F6\r
-:102F70001F9018951F920F920FB60F9211242F9346\r
-:102F80003F934F935F936F937F938F939F93AF93F1\r
-:102F9000BF93CF93EF93FF938091E9008F7090914F\r
-:102FA000EC0090FF02C090E801C090E0C92FC82B50\r
-:102FB0001092E9008091F000877F8093F000789470\r
-:102FC0000E94FE171092E9008091F00088608093C3\r
-:102FD000F000CF70C093E900FF91EF91CF91BF91C6\r
-:102FE000AF919F918F917F916F915F914F913F91A1\r
-:102FF0002F910F900FBE0F901F9018951F93CF9396\r
-:10300000DF93CDB7DEB7AC970FB6F894DEBF0FBE37\r
-:10301000CDBFEBEFF3E08091F100819324E0E3304A\r
-:10302000F207C9F70E94EF128091E80083FF37C1D1\r
-:103030008091FB039091FC03953009F488C038F42B\r
-:103040009130B1F170F0933009F029C131C098305E\r
-:1030500009F4F8C0993009F404C1963009F01FC191\r
-:103060009DC0803821F0823809F019C108C08091D4\r
-:10307000F7039091F803992389F082600FC0809143\r
-:10308000FF03909100048F7099278093E90080914D\r
-:10309000EB0085FB882780F91092E9009091E80009\r
-:1030A000977F9093E8008093F1001092F100D5C0D3\r
-:1030B000882319F0823009F0F2C08F7121F082303C\r
-:1030C00009F0EDC00BC08091FD03813009F0E7C02D\r
-:1030D000933009F080E08093F8032FC08091FD03C6\r
-:1030E00081112BC08091FF03909100048F7099276C\r
-:1030F000009709F4D4C08093E9002091EB0020FFF1\r
-:103100001CC02091FC03233021F48091EB008062ED\r
-:1031100012C09091EB0090619093EB0021E030E0C1\r
-:1031200001C0220F8A95EAF72093EA001092EA0084\r
-:103130008091EB0088608093EB001092E900809111\r
-:10314000E800877F8093E8000E941A16A8C08111CA\r
-:10315000A6C08091FD039091FE038F779927182FC9\r
-:103160009091E3009078982B9093E3008091E80091\r
-:10317000877F8093E8000E941A168091E80080FF04\r
-:10318000FCCF8091E30080688093E300112311F06D\r
-:1031900083E001C082E08093FA0381C080588230CE\r
-:1031A00008F07DC08091FD039091FE038C3D23E0EB\r
-:1031B000920779F583E08A838AE289834FB7F8948E\r
-:1031C000DE01139620E03EE051E2E32FF0E0509361\r
-:1031D0005700E49120FF03C0E295EF703F5FEF706E\r
-:1031E0008E2F90E0EA3010F0C79601C0C0968D9304\r
-:1031F0009D932F5F243149F74FBF8091E800877F6F\r
-:103200008093E8006AE270E0CE0101960E941C15EE\r
-:1032100013C0AE01455D5F4F6091FF030E94031430\r
-:103220000097E9F12091E800277F2093E800BC0196\r
-:103230008BA59CA50E947F158091E8008B778093D9\r
-:10324000E8002DC0803859F58091E800877F809391\r
-:10325000E8008091F6038093F1008091E8008E777A\r
-:1032600071CF81111CC09091FD039230C0F4809108\r
-:10327000E800877F8093E8009093F6030E941A1677\r
-:103280008091F603811104C08091E30087FF02C0A2\r
-:1032900084E001C081E08093FA030E94D112809102\r
-:1032A000E80083FF0AC08091E800877F8093E800F0\r
-:1032B0008091EB0080628093EB00AC960FB6F8949F\r
-:1032C000DEBF0FBECDBFDF91CF911F910895CF9389\r
-:1032D0008091FA038823B1F08091E9008F7090917A\r
-:1032E000EC0090FF02C090E801C090E0C92FC82B0D\r
-:1032F0001092E9008091E80083FD0E94FE17CF70D4\r
-:10330000C093E900CF910895881F8827881F0895EA\r
-:1033100091E0883F08F490E0892F0895982F907FDE\r
-:10332000903B99F038F4903981F0903A71F09038F0\r
-:10333000C9F40BC0903DA1F018F4903C99F410C072\r
-:10334000903E19F0903F71F402C083E00895E82F99\r
-:10335000E15FEF3038F4F0E0E15FFD4F80810895E8\r
-:1033600082E0089580E008950F932F774F776F7074\r
-:10337000606BDC01ED91FC91022F242F462F63E05E\r
-:1033800070E009950F9108950F932F774F776F7025\r
-:103390006069DC01ED91FC91022F242F462F63E040\r
-:1033A00070E009950F9108950F932F774F776F7005\r
-:1033B0006068DC01ED91FC91022F242F462F63E021\r
-:1033C00070E009950F910895FC017383628308955D\r
-:1033D000FC01738F628F0895FC01758F648F0895CF\r
-:1033E000CF93DF93EC011DA21FA21EA2BC01685D5A\r
-:1033F0007F4F40EC88519F4F0E942D1C1B821A82E8\r
-:103400001D821C821F821E82198618861B861A86C0\r
-:103410001D861C861F861E86198A188A1B8A1A8A90\r
-:103420001D8A1C8A1F8A1E8A198E188E1B8E1A8E60\r
-:103430001D8E1C8E1F8E1E8E19A218A2DF91CF9199\r
-:103440000895CF92DF92FF920F931F93CF93DF9354\r
-:103450001F92CDB7DEB7F62E6A018C0108511F4FBF\r
-:1034600008C0F60161916F01C80149830E94341CB4\r
-:1034700049818C2D841B8F15A0F30F90DF91CF9184\r
-:103480001F910F91FF90DF90CF900895FC01718301\r
-:1034900060830895FC0171A360A30895AF92BF9269\r
-:1034A000CF92DF92EF92FF920F931F93CF93DF9310\r
-:1034B00000D01F92CDB7DEB77C016B01142FB22E66\r
-:1034C000A02EDC0195968C9195978430F1F45A9654\r
-:1034D000ED91FC915B97309709F4D8C0CB0101972F\r
-:1034E00063E070E00E943434DB01AA0FBB1FA60F1B\r
-:1034F000B71F49832A830B834C2D4A1B9E012F5FE4\r
-:103500003F4FBD01C7010995B1C06230710509F493\r
-:1035100053C06330710529F06130710509F09CC01A\r
-:1035200083C0842F807F803A01F130F48038B9F075\r
-:10353000803909F0ABC00DC0803EE9F0803F09F151\r
-:10354000803B09F0A3C0D7011296ED91FC9113972F\r
-:1035500023C0D7011496ED91FC9115971DC0D7019A\r
-:103560001696ED91FC91179717C0D7011896ED911B\r
-:10357000FC91199711C0D7011A96ED91FC911B97F8\r
-:103580000BC0423F09F082C0D7011C96ED91FC911F\r
-:103590001D97309731F47AC0309709F477C0123F05\r
-:1035A00021F42A2D4B2D62EF04C0612F6F702A2D5C\r
-:1035B0004B2DC70109955AC0842F807F803D59F05B\r
-:1035C000803F79F0803C09F061C0D7011E96ED91F3\r
-:1035D000FC911F9719C0D7015096ED91FC9151971E\r
-:1035E00013C0433F31F4D7015296ED91FC915397AC\r
-:1035F00008C0413F09F04AC0D7015496ED91FC91B3\r
-:103600005597309741F442C0309709F43FC0133FBB\r
-:1036100011F0113F19F44B2D612F03C0612F6F7012\r
-:103620004B2DC701099522C0842F0E948819882339\r
-:1036300031F0D7015696ED91FC91579707C0163F90\r
-:1036400029F5D7015896ED91FC9159973097F1F0F3\r
-:10365000612FC70109950AC064307105A8F416C02E\r
-:103660000A2D2B2D412FB601C7010995D7015E9672\r
-:10367000ED91FC915F97309789F00A2D2B2D412F0A\r
-:10368000B601C70109950AC0C12CD12CD7015C969F\r
-:10369000ED91FC915D97309719F7E8CF0F900F905F\r
-:1036A0000F90DF91CF911F910F91FF90EF90DF90DE\r
-:1036B000CF90BF90AF900895EF92FF920F931F931A\r
-:1036C000CF93DF93EC01162F862F0E948819882351\r
-:1036D00069F0FDA081E08DA300E020E0412F61E0D2\r
-:1036E00070E0CE010E944E1AFDA27CC0812F0E9484\r
-:1036F00084194DA1882309F440C0443029F01AA34D\r
-:1037000021E030E03FA32EA3812F0E948E1981304B\r
-:1037100031F070F0823051F0833059F507C08DA33D\r
-:1037200000E020E0412F61E070E01EC08DA35AC090\r
-:10373000103F19F0173FE9F404C084E08DA31AA3E9\r
-:103740003FC02EA13FA1C90163E070E00E94343464\r
-:103750008C0F9D1FFC0112A3B9016F5F7F4F7FA3E8\r
-:103760006EA30CA12BA14AA1CE010E944E1A1DA24C\r
-:1037700039C01DA21FA21EA235C0442399F12EA15B\r
-:103780003FA1C90163E070E00E9434347C01FE0176\r
-:10379000E80FF91F12A3B9016F5F7F4F7FA36EA3DC\r
-:1037A0008130910591F082E0E816F104D9F40CA182\r
-:1037B0002BA14AA1CE010E944E1A8DA1843091F016\r
-:1037C00081E090E09FA38EA30DC0423059F400E049\r
-:1037D0002BA14AA1CE010E944E1A8DA1843011F076\r
-:1037E000FFA2EEA2DF91CF911F910F91FF90EF907A\r
-:1037F0000895CF92DF92EF92FF920F931F93CF9392\r
-:10380000DF93EC01E8A1F9A1309709F009958E0149\r
-:1038100008511F4FC8010E94661CE12CF12CC82ED4\r
-:10382000D12C0FC060E0C8010E947A1C682FCE0125\r
-:103830000E945C1B61E0C8010E948B1C8FEFE81A9C\r
-:10384000F80AEC14FD0470F3DF91CF911F910F91F2\r
-:10385000FF90EF90DF90CF900895FC014283748336\r
-:1038600063831182108208950F931F93CF93DF9388\r
-:10387000EC01062F0E94AC1C182F298130E0C901F1\r
-:1038800001966A8170E00E944834488150E08417B4\r
-:10389000950729F4812F0E94AF1C80E012C0EB81B4\r
-:1038A000FC81E20FF31F00832981822F90E00196B3\r
-:1038B0006A8170E00E9448348983812F0E94AF1C86\r
-:1038C00081E0DF91CF911F910F910895CF93DF9306\r
-:1038D000EC010E94AC1C29819881291710F0C22F9D\r
-:1038E00002C0CA81C20FC91B0E94AF1C8C2FDF917E\r
-:1038F000CF910895FC012081862F90E0820F911DC9\r
-:10390000628170E00E9448340380F481E02DE80F6A\r
-:10391000F91F808108950F931F93CF93DF931F9218\r
-:10392000CDB7DEB78C0169830E94AC1C482FF8012B\r
-:1039300080816981262F30E0280F311D6281C90105\r
-:1039400070E00E9448348083842F0F90DF91CF91E4\r
-:103950001F910F910C94AF1C8FB7F89408958FBFEF\r
-:103960000895FC01CB012091FA032430B1F42181A8\r
-:103970002F702093E90040E050E064E070E00E9486\r
-:103980007E1481110BC09091E80095FD07C09091C5\r
-:10399000E8009E779093E800089582E008952091D2\r
-:1039A000FA032430A9F4FC0181818F708093E9002F\r
-:1039B0003091F3002091F200932F80E0822B892B2D\r
-:1039C00049F08091E8008E778093E8000C943B16D4\r
-:1039D00082E0089580E008952091FA03243051F4A4\r
-:1039E000FC0121812F702093E9002091E80020FD47\r
-:1039F0000C94CF1C0895FC01CB012091FA032430D4\r
-:103A000011F080E0089526812F702093E900209125\r
-:103A1000E80022FFF6CF2091E80025FFF2CF40E03A\r
-:103A200050E064E070E00E94CD148091E80085FDD4\r
-:103A300005C08091E8008B778093E80081E00895CD\r
-:103A400090939502809394020895E0919402F091EE\r
-:103A50009502309721F00190F081E02D099480E0EB\r
-:103A60000895E0919402F0919502309721F0028040\r
-:103A7000F381E02D09940895E0919402F09195026C\r
-:103A8000309721F00480F581E02D0994089520916C\r
-:103A90009602309197028217930771F090939702E4\r
-:103AA00080939602E0919402F0919502309721F074\r
-:103AB0000680F781E02D09940895209198023091B5\r
-:103AC00099028217930771F090939902809398025C\r
-:103AD000E0919402F0919502309721F00084F185F5\r
-:103AE000E02D0994089508950C94731D0E94952962\r
-:103AF0000E94AD060E94692A0C9411300C94E705CF\r
-:103B00005F926F927F928F929F92AF92BF92CF926D\r
-:103B1000DF92EF92FF920F931F93CF93DF93CDB776\r
-:103B2000DEB72A970FB6F894DEBF0FBECDBF0E9456\r
-:103B3000BD079AE9C92E92E0D92E00E010E0AA2430\r
-:103B4000A394B12C502E802F0E9411093C01F60144\r
-:103B5000E190F1906F01E826F926E114F10431F4C7\r
-:103B60000F5F1F4F0530110569F73AC08091F002D1\r
-:103B700081FD0E941A0920E030E04501022E02C0BA\r
-:103B8000880C991C0A94E2F7C4018E219F21892B8D\r
-:103B900009F12E835F826820792081E0672809F48B\r
-:103BA00080E088870E949E298160782F9A87898784\r
-:103BB0004E815F8168858A850E94391EF801EE0F6B\r
-:103BC000FF1FE656FD4F80819181882599259183BD\r
-:103BD000808316C02F5F3F4F2C30310571F6C0CF68\r
-:103BE0008FEF89838A831B820E949E298160782FB0\r
-:103BF0009D838C8349815A816B818D810E94391EFE\r
-:103C00000E94562D1091A4020E94251D1817D9F06C\r
-:103C10000E94251D8093A4022A960FB6F894DEBF59\r
-:103C20000FBECDBFDF91CF911F910F91FF90EF900D\r
-:103C3000DF90CF90BF90AF909F908F907F906F90CC\r
-:103C40005F900C947E1D2A960FB6F894DEBF0FBECF\r
-:103C5000CDBFDF91CF911F910F91FF90EF90DF903B\r
-:103C6000CF90BF90AF909F908F907F906F905F901C\r
-:103C70000895CF93DF93CDB7DEB72B970FB6F894A7\r
-:103C8000DEBF0FBECDBF4F83588769877A878B878A\r
-:103C9000DE01119686E0FD0111928A95E9F785E033\r
-:103CA000FE01379601900D928A95E1F749815A817C\r
-:103CB0006B817C818D819E810E9415262B960FB68B\r
-:103CC000F894DEBF0FBECDBFDF91CF910895CF93A3\r
-:103CD000C82F882309F4C1C0823859F40E94251DD9\r
-:103CE00081FDBBC089E30E947C280E94F82889E3FB\r
-:103CF0000CC0833879F40E94251D80FDAEC083E599\r
-:103D00000E947C280E94F82883E50E949E28CF917B\r
-:103D10000C94F828843859F40E94251D82FD9DC01A\r
-:103D200087E40E947C280E94F82887E4EECF845024\r
-:103D3000813A48F48C2F0E94732F81118EC08C2FF2\r
-:103D40000E947C28E4CF8C2F805E883050F4C770AE\r
-:103D500081E090E001C0880FCA95EAF70E94BF2871\r
-:103D6000D6CF8C2F855A833078F4C53A29F0C63ADD\r
-:103D700031F482E890E005C081E890E002C083E879\r
-:103D800090E0CF910C94471D8C2F885A833108F016\r
-:103D900064C0C83A39F1C93A41F1CA3A49F1CB3A5B\r
-:103DA00051F1CC3A59F1CD3A61F1C03B69F1CE3ACB\r
-:103DB00071F1CF3A79F1C13B81F1C23B89F1C33B4B\r
-:103DC00091F1C43B99F1C53BA1F1C63BA9F1C73BB9\r
-:103DD000B1F1C83BB9F1C93BC1F1CA3BC9F58AE2AF\r
-:103DE00092E038C082EE90E035C089EE90E032C0BB\r
-:103DF0008AEE90E02FC085EB90E02CC086EB90E03F\r
-:103E000029C087EB90E026C08CEC90E023C08DECBD\r
-:103E100090E020C083E891E01DC08AE891E01AC0DC\r
-:103E200082E991E017C084E991E014C081E292E058\r
-:103E300011C083E292E00EC084E292E00BC085E202\r
-:103E400092E008C086E292E005C087E292E002C0FC\r
-:103E500080E090E0CF910C945D1DCF910895882370\r
-:103E600009F44DC0823859F40E94251D81FF47C0D6\r
-:103E700089E30E947C280E94F82889E30CC08338DB\r
-:103E800071F40E94251D80FF3AC083E50E947C28C2\r
-:103E90000E94F82883E50E949E280C94F828843814\r
-:103EA00059F40E94251D82FF2AC087E40E947C28C5\r
-:103EB0000E94F82887E4EFCF982F9450913A08F4A5\r
-:103EC000EACF982F905E983058F4282F277081E021\r
-:103ED00090E001C0880F2A95EAF70E94C528DDCF3F\r
-:103EE000982F955A933020F480E090E00C94471D71\r
-:103EF000885A833120F480E090E00C945D1D089591\r
-:103F0000882321F00E94BF280C94F8280895882364\r
-:103F100021F00E94C5280C94F8280895BF92CF92F2\r
-:103F2000DF92EF92FF920F931F93CF93DF93CDB762\r
-:103F3000DEB727970FB6F894DEBF0FBECDBF8C015A\r
-:103F400085E0F801DE01119601900D928A95E1F766\r
-:103F5000F80130812181F280558152955F70838113\r
-:103F60009481892B39F02F3F41F481E090E03F3F6D\r
-:103F700031F003C081E090E002C080E090E080FD7D\r
-:103F800073C339832A8389819A815E830E94392889\r
-:103F9000B92E8F830E9438280E9460272B2D2295EE\r
-:103FA0002F7030E05E816F812530310509F4E6C065\r
-:103FB0006CF4243031050CF0A2C04B2D407F8B2DCA\r
-:103FC0008F70223031050CF045C017C02C30310500\r
-:103FD0004CF42A3031050CF0E7C12830310509F0E6\r
-:103FE00043C3E5C02D30310509F4BAC20CF4A2C2B6\r
-:103FF0002F30310509F038C323C3182F411101C0F8\r
-:1040000002C01295107FFF2059F0112309F46BC2F2\r
-:10401000812F6F830E94CF280E94F8286F8163C28E\r
-:10402000862F0E942F1F112309F41EC3812F0E9487\r
-:10403000D52827960FB6F894DEBF0FBECDBFDF910F\r
-:10404000CF911F910F91FF90EF90DF90CF90BF9095\r
-:104050000C94F828403211F08295807F662319F085\r
-:10406000613071F523C0FF20B1F0511101C032C0A1\r
-:10407000513081F527960FB6F894DEBF0FBECDBF45\r
-:10408000DF91CF911F910F91FF90EF90DF90CF9034\r
-:10409000BF900C94DF28511101C003C0513009F4C6\r
-:1040A000E3C28E830E94E2288E819AC1FF2021F014\r
-:1040B000563008F0D9C20EC0553008F0D5C290C1B4\r
-:1040C000FF20C9F0552331F0F801958190FF0BC214\r
-:1040D0009F70958327960FB6F894DEBF0FBECDBFB5\r
-:1040E000DF91CF911F910F91FF90EF90DF90CF90D4\r
-:1040F000BF900C94801F552309F472C109C22B2D67\r
-:1041000026952695237030E02115310529F02130C0\r
-:10411000310509F0A9C219C0FF2021F0862F9B2D7F\r
-:10412000937002C080E090E027960FB6F894DEBF4F\r
-:104130000FBECDBFDF91CF911F910F91FF90EF90F8\r
-:10414000DF90CF90BF900C94471DFF2021F0862F69\r
-:104150009B2D937002C080E090E027960FB6F894F4\r
-:10416000DEBF0FBECDBFDF91CF911F910F91FF90AA\r
-:10417000EF90DF90CF90BF900C945D1D862FFF20B5\r
-:1041800019F00E945C2C02C00E94C42C27960FB626\r
-:10419000F894DEBF0FBECDBFDF91CF911F910F917D\r
-:1041A000FF90EF90DF90CF90BF900C944B2D8B2D14\r
-:1041B000837009F079C0F11057C2262F22952695F9\r
-:1041C0002770220F220F862F8F70C82ED12CE12C42\r
-:1041D000F12C022E04C0CC0CDD1CEE1CFF1C0A943A\r
-:1041E000D2F764FF10C06FE070E080E090E004C0A0\r
-:1041F000660F771F881F991F2A95D2F760957095D3\r
-:104200008095909503C060E070E0CB012B2D269542\r
-:1042100026952370422F50E042305105D9F04330AB\r
-:10422000510569F16C297D298E299F29413051055D\r
-:1042300051F127960FB6F894DEBF0FBECDBFDF91C8\r
-:10424000CF911F910F91FF90EF90DF90CF90BF9093\r
-:104250000C9475276C297D298E299F2927960FB6E6\r
-:10426000F894DEBF0FBECDBFDF91CF911F910F91AC\r
-:10427000FF90EF90DF90CF90BF900C9487270E9423\r
-:104280007527C701B60127960FB6F894DEBF0FBE9B\r
-:10429000CDBFDF91CF911F910F91FF90EF90DF90F5\r
-:1042A000CF90BF900C946327FF2019F08B2D817065\r
-:1042B00001C08695882309F4D7C1262F229526951B\r
-:1042C0002770220F220F862F8F70C82ED12CE12C41\r
-:1042D000F12C022E04C0CC0CDD1CEE1CFF1C0A9439\r
-:1042E000D2F764FF10C06FE070E080E090E004C09F\r
-:1042F000660F771F881F991F2A95D2F760957095D2\r
-:104300008095909503C060E070E0CB012B2D269541\r
-:1043100026952370422F50E042305105D9F04330AA\r
-:10432000510569F16C297D298E299F29413051055C\r
-:1043300051F127960FB6F894DEBF0FBECDBFDF91C7\r
-:10434000CF911F910F91FF90EF90DF90CF90BF9092\r
-:104350000C9414286C297D298E299F2927960FB645\r
-:10436000F894DEBF0FBECDBFDF91CF911F910F91AB\r
-:10437000FF90EF90DF90CF90BF900C9426280E9482\r
-:104380001428C701B60127960FB6F894DEBF0FBEFA\r
-:10439000CDBFDF91CF911F910F91FF90EF90DF90F4\r
-:1043A000CF90BF900C940228603F59F120F4603EFA\r
-:1043B00008F494C008C0623F09F467C0F0F1633F9D\r
-:1043C00009F08CC065C0162F1F708B2D8F71FF20D8\r
-:1043D00021F00E94AD27812F7DCE0E94C827812F1A\r
-:1043E00027960FB6F894DEBF0FBECDBFDF91CF91F9\r
-:1043F0001F910F91FF90EF90DF90CF90BF900C94A2\r
-:10440000871FFF20B1F0553008F02EC18B2D8F7122\r
-:1044100027960FB6F894DEBF0FBECDBFDF91CF91C8\r
-:104420001F910F91FF90EF90DF90CF90BF900C9471\r
-:10443000E727563008F018C1E9CFFF2099F08B2DFF\r
-:104440008F7127960FB6F894DEBF0FBECDBFDF91F8\r
-:10445000CF911F910F91FF90EF90DF90CF90BF9081\r
-:104460000C94AD278B2D8F7127960FB6F894DEBF75\r
-:104470000FBECDBFDF91CF911F910F91FF90EF90B5\r
-:10448000DF90CF90BF900C94C827F110EBCFD7CF1F\r
-:10449000FF2099F08B2D8F7127960FB6F894DEBF11\r
-:1044A0000FBECDBFDF91CF911F910F91FF90EF9085\r
-:1044B000DF90CF90BF900C949E2727960FB6F8946C\r
-:1044C000DEBF0FBECDBFDF91CF911F910F91FF9047\r
-:1044D000EF90DF90CF90BF900C949927FF20A9F028\r
-:1044E000552309F4ACCF862F27960FB6F894DEBF7C\r
-:1044F0000FBECDBFDF91CF911F910F91FF90EF9035\r
-:10450000DF90CF90BF900C94671E552309F4AACF7B\r
-:10451000862F27960FB6F894DEBF0FBECDBFDF9172\r
-:10452000CF911F910F91FF90EF90DF90CF90BF90B0\r
-:104530000C942F1F4B2D4F70C8010E941A03279611\r
-:104540000FB6F894DEBF0FBECDBFDF91CF911F91A4\r
-:104550000F91FF90EF90DF90CF90BF900C94CB26FF\r
-:10456000F11082C09B2D9F70492F50E042305105C1\r
-:1045700099F144F44115510569F04130510509F0B4\r
-:1045800073C019C043305105C1F14430510509F0E1\r
-:104590006BC044C027960FB6F894DEBF0FBECDBFE8\r
-:1045A000DF91CF911F910F91FF90EF90DF90CF900F\r
-:1045B000BF900C94223027960FB6F894DEBF0FBE42\r
-:1045C000CDBFDF91CF911F910F91FF90EF90DF90C2\r
-:1045D000CF90BF900C94393027960FB6F894DEBF79\r
-:1045E0000FBECDBFDF91CF911F910F91FF90EF9044\r
-:1045F000DF90CF90BF900C94553027960FB6F8946B\r
-:10460000DEBF0FBECDBFDF91CF911F910F91FF9005\r
-:10461000EF90DF90CF90BF900C946830862F279654\r
-:104620000FB6F894DEBF0FBECDBFDF91CF911F91C3\r
-:104630000F91FF90EF90DF90CF90BF900C948C3053\r
-:104640004B2D4F70C80127960FB6F894DEBF0FBEF2\r
-:10465000CDBFDF91CF911F910F91FF90EF90DF9031\r
-:10466000CF90BF900C941B0927960FB6F894DEBF2D\r
-:104670000FBECDBFDF91CF911F910F91FF90EF90B3\r
-:10468000DF90CF90BF9008950E94DC280E94B1284F\r
-:104690000E94F8280E94F72D0E944B2D80E090E0A8\r
-:1046A0000E94471D80E090E00C945D1D0E94CC2884\r
-:1046B0000C9444230E943928292F22952F7030E032\r
-:1046C0002C3031054CF42A3031056CF4225031097C\r
-:1046D0002230310590F407C02C30310551F02F30D5\r
-:1046E000310559F406C0803E10F0803F31F481E07E\r
-:1046F000089593FB882780F9089580E00895CF936B\r
-:10470000DF9300D000D01F92CDB7DEB70F900F908F\r
-:104710000F900F900F90DF91CF910895CF93DF937B\r
-:1047200000D000D000D0CDB7DEB726960FB6F894F3\r
-:10473000DEBF0FBECDBFDF91CF9108951F93CF9302\r
-:10474000DF93C091DB0216E012C0D0E01C9FF001A5\r
-:104750001D9FF00D1124E555FD4F4081518162816F\r
-:104760007381848195810E948E232196C7708091E8\r
-:10477000DC02C813EACFDF91CF911F9108954091D9\r
-:10478000A5025091A6026091A7027091A8028091A3\r
-:10479000A9029091AA020C948E230F931F93CF939A\r
-:1047A000DF938091AA0282958F7009F069C0809191\r
-:1047B000A702882309F464C0A091DB02D091DC0237\r
-:1047C000B091A502C091A6028091A8029091A90281\r
-:1047D00021E030E0BF3F11F020E030E0122FBC01BB\r
-:1047E0006095709506E04AC0009721F0CF3F29F40C\r
-:1047F000212F05C021E030E002C020E030E020FDA4\r
-:104800003BC04A2F50E0049FF001059FF00D11249A\r
-:10481000E555FD4F2181C2132FC02081B2132CC05A\r
-:104820002281211129C0238134812817390718F0EA\r
-:10483000281B390B02C0260F371F283C3105E0F436\r
-:104840008091AA028F7080618093AA0286E0849F83\r
-:10485000F001859FF00D1124E055FD4F80818F7090\r
-:104860008061808385EA92E00E948E1FDF91CF9164\r
-:104870001F910F910C949E23AF5FA770AD13B4CF1F\r
-:10488000DF91CF911F910F910895EF92FF920F93B7\r
-:104890001F93CF93DF93CDB7DEB762970FB6F8942F\r
-:1048A000DEBF0FBECDBF8C0185E0F801DE011D9695\r
-:1048B00001900D928A95E1F7D8014C9111965C9187\r
-:1048C000119712966C9112971396ED90FC90149795\r
-:1048D0007091A502E091A6028091A8029091A90290\r
-:1048E000009739F0EF3F41F421E030E07F3F31F0B5\r
-:1048F00003C021E030E002C020E030E020FD5CC1D8\r
-:104900002091A702222309F4F1C0E816F90628F045\r
-:104910009701281B390BC90104C0809590958E0D15\r
-:104920009F1D883C910508F098C08091AA02982F9D\r
-:10493000907F09F064C0E51314C0741312C06111B4\r
-:1049400010C08F7080618093AA020E94BF2385EA05\r
-:1049500092E00E948E1F8091AA02D80115968C9336\r
-:1049600043C1EF2839F05F3F41F481E090E04F3FD1\r
-:1049700031F003C081E090E002C080E090E080FD73\r
-:1049800003C081E0862702C080E090E080FF2EC057\r
-:104990008091DB022091DC0236E013C090E0389F6A\r
-:1049A000F001399FF00D1124E555FD4F718157132A\r
-:1049B00006C07081471303C07281671317C0019648\r
-:1049C00087708213EBCF12C19F7059F0882309F4CE\r
-:1049D0000BC107C09F7029F0F8019581907F09F401\r
-:1049E00003C1805E883008F4FFC0D2C0662309F49A\r
-:1049F000FBC08091AA0281608093AA02F5C0E513F2\r
-:104A000008C0741306C0611104C0D80115968C93B8\r
-:104A10009DC04D875E878D859E856A8B0E945A2337\r
-:104A20006A89882309F4B4C0662309F4B1C02091CF\r
-:104A3000AA02822F82958F7090E002970CF4C6C074\r
-:104A40008091A5029091A60298878F831986FB8694\r
-:104A5000EA862C87CE01079646C08091AA02982F3D\r
-:104A6000907F59F47E2DF98AE88A89890E947F23F4\r
-:104A700085EA92E00E948E1F95C0E51311C0741361\r
-:104A80000FC061110DC0F8018583C8010E948E1FFF\r
-:104A9000E5EAF2E086E0DF011D928A95E9F7A2C01F\r
-:104AA0004D875E878D859E856A8B0E945A236A8911\r
-:104AB000882309F46DC0662309F46AC02091AA0214\r
-:104AC000822F82958F7090E002970CF47FC08091C6\r
-:104AD000A5029091A6029A8389831B82FD82EC82B3\r
-:104AE0002E83CE0101960E948E1F70C0E816F90633\r
-:104AF00028F09701281B390BC90104C080959095B7\r
-:104B00008E0D9F1D883C910508F046C0662309F470\r
-:104B10003FC0E51330C074132EC02091AA0220FDBF\r
-:104B200021C0322F32953F70832F90E00097D1F053\r
-:104B3000D80115962C9315970F9741F0832F8F5F0F\r
-:104B40008295807F2F70282B15962C93C8010E9488\r
-:104B50008E1F86E0F801A5EAB2E001900D928A95D9\r
-:104B6000E1F73EC086E0F801A5EAB2E001900D92BF\r
-:104B70008A95E1F737C04D875E878D859E850E94B7\r
-:104B80005A23811123C08091AA0281608093AA02D6\r
-:104B9000C8010E948E1F26C07E2DF98AE88A898965\r
-:104BA0000E947F23E5EAF2E086E0DF011D928A950C\r
-:104BB000E9F70E94BF2318C0662351F34D875E8733\r
-:104BC0008D859E850E945A23882311F386E0F80183\r
-:104BD000A5EAB2E001900D928A95E1F70E94CD23FB\r
-:104BE0000E94BF2381E014C080E012C04D875E8721\r
-:104BF0008D859E850E943928292F22952F7030E0BF\r
-:104C0000223031050CF4E0CE243031050CF6E2CE32\r
-:104C100062960FB6F894DEBF0FBECDBFDF91CF9185\r
-:104C20001F910F91FF90EF9008951F93CF93DF9303\r
-:104C3000CDB7DEB72C970FB6F894DEBF0FBECDBF51\r
-:104C40004F83588769877A878B879C87CE01079621\r
-:104C50000E9445248823D9F02F8138858A859B8539\r
-:104C6000892B39F03F3F19F080E090E004C02F3FDE\r
-:104C7000D9F781E090E0892B09F06DC04F8158850C\r
-:104C800069857A858B859C850E948E2364C086E029\r
-:104C9000FE013796DE01119601900D928A95E1F79B\r
-:104CA000FF81E8854A855B854115510539F0EF3F65\r
-:104CB00041F481E090E0FF3F31F003C081E090E0FB\r
-:104CC00002C080E090E080FD46C02091DC0230E030\r
-:104CD000C9010196877099276091DB0270E0861701\r
-:104CE000970709F440C0F983EA835D834C8396E01B\r
-:104CF000929FD001939FB00D1124A555BD4FFE0189\r
-:104D0000319601900D929A95E1F78093DC020E9412\r
-:104D10009E2321C0189FC001112485559D4F0E94DC\r
-:104D20004524882371F1E091DB021E9FF0011124DC\r
-:104D3000E555FD4F40815181628173818481958168\r
-:104D40000E948E238091DB0290E001968770992764\r
-:104D50008093DB0201C016E08091DB029091DC02BF\r
-:104D60008913D8CF0EC00E9456231092DC021092F5\r
-:104D7000DB02E5EAF2E086E0DF011D928A95E9F7C1\r
-:104D8000EACF2C960FB6F894DEBF0FBECDBFDF91F1\r
-:104D9000CF911F910895DF92EF92FF920F931F938F\r
-:104DA000CF93DF93EC01009709F46EC0D12CEE2471\r
-:104DB000E394F12C8E010F5F1F4FFE018491843725\r
-:104DC00048F4843008F04CC0813071F0823009F032\r
-:104DD0005BC01EC0853709F43FC080F1982F9458FE\r
-:104DE000903708F051C03FC02296F8018491982F67\r
-:104DF000905E983050F48770FE2D01C0FF0F8A95A9\r
-:104E0000EAF78F2F0E94CF2813C00E94671E2FC081\r
-:104E10002296F8018491982F905E983060F4877004\r
-:104E2000FE2D01C0FF0F8A95EAF78F2F0E94D5282B\r
-:104E30000E94F8281CC00E942F1F19C02296F8015A\r
-:104E4000049107C08FE99FE00197F1F700C00000CF\r
-:104E500001500111F7CF0BC02296F801D49007C082\r
-:104E60000E94671E03C08F770E942F1FE8018D2DBF\r
-:104E700007C08150EFE9FFE03197F1F700C0000073\r
-:104E8000882309F497CFF5CFDF91CF911F910F9130\r
-:104E9000FF90EF90DF9008956093E1027093E2023B\r
-:104EA0008093E3029093E4020C9444236093DD0228\r
-:104EB0007093DE028093DF029093E0020C9444230F\r
-:104EC00008950C944C270F931F930091E1021091C9\r
-:104ED000E2022091E3023091E402602B712B822BDD\r
-:104EE000932B1F910F910C944C270F931F930091BC\r
-:104EF000E1021091E2022091E3023091E40260238A\r
-:104F00007123822393231F910F910C944C270F93AD\r
-:104F10001F930091E1021091E2022091E30230918F\r
-:104F2000E40260277127822793271F910F910C9429\r
-:104F30004C2760E070E0CB010C94562741E050E034\r
-:104F400060E070E004C0440F551F661F771F8A950C\r
-:104F5000D2F7CB01BA010C94562741E050E060E053\r
-:104F600070E004C0440F551F661F771F8A95D2F763\r
-:104F70008091DD029091DE02A091DF02B091E0020B\r
-:104F8000482B592B6A2B7B2BCB01BA010C9456274B\r
-:104F900041E050E060E070E004C0440F551F661F20\r
-:104FA000771F8A95D2F740955095609570958091BE\r
-:104FB000DD029091DE02A091DF02B091E002482371\r
-:104FC00059236A237B23CB01BA010C94562741E075\r
-:104FD00050E060E070E004C0440F551F661F771F6B\r
-:104FE0008A95D2F78091DD029091DE02A091DF02D6\r
-:104FF000B091E002482759276A277B27CB01BA01E5\r
-:105000000C9456270F931F930091DD021091DE023E\r
-:105010002091DF023091E002602B712B822B932BC9\r
-:105020001F910F910C9456270F931F930091DD024F\r
-:105030001091DE022091DF023091E00260237123A3\r
-:10504000822393231F910F910C9456270F931F9344\r
-:105050000091DD021091DE022091DF023091E0022A\r
-:1050600060277127822793271F910F910C94562751\r
-:105070000895CF92DF92EF92FF920F931F93CF93F9\r
-:10508000DF93EC01C090E102D090E202E090E302F5\r
-:10509000F090E4028091DD029091DE02A091DF02A7\r
-:1050A000B091E002C82AD92AEA2AFB2A0FE110E0CF\r
-:1050B000B701A601002E04C07695679557954795D0\r
-:1050C0000A94D2F740FF08C0BE01802F0E947104ED\r
-:1050D0008130910509F007C00150110948F7BE0160\r
-:1050E00080E00E947104DF91CF911F910F91FF909A\r
-:1050F000EF90DF90CF90089540918B0150918C01FB\r
-:1051000020E030E09FEFFA01E20FF31F62816817A1\r
-:10511000A1F09F3F19F4611101C0922F2F5F3F4F03\r
-:105120002630310581F707C0FA01E90FF11D97FD1F\r
-:10513000FA95828308959F3FB9F7089540918B01B6\r
-:1051400050918C0120E030E0FA01E20FF31F9281D0\r
-:10515000981301C012822F5F3F4F26303105A1F70F\r
-:10516000089581E090E0E0918B01F0918C01E80FCF\r
-:10517000F91F1082019688309105A9F70895909142\r
-:10518000E502982B9093E502089580959091E502B1\r
-:1051900098239093E50208951092E5020895909166\r
-:1051A000E602982B9093E602089580959091E6028E\r
-:1051B00098239093E60208951092E6020895809352\r
-:1051C000E70208951092E702089540918B015091F3\r
-:1051D0008C0120E030E080E0FA01E20FF31F9181C2\r
-:1051E00091118F5F2F5F3F4F27303105A9F7089549\r
-:1051F000E0918B01F0918C018091E5028083E09138\r
-:105200008B01F0918C0180819091E602892B808343\r
-:105210009091E702992361F0E0918B01F0918C016C\r
-:105220008081892B80830E94E52881110E94E228D9\r
-:1052300080918B0190918C010C94311D8091FA0327\r
-:10524000843021F11092F10220E488E190E00FB661\r
-:10525000F894A895809360000FBE2093600080E0D2\r
-:105260000E94590383B7817F846083BF83B78160C5\r
-:1052700083BF7894889583B78E7F83BF88E10FB60C\r
-:10528000F89480936000109260000FBE0895089516\r
-:105290000895CF9380E00E9459030E9447290E94FD\r
-:1052A000BD070E944829C0E08C2F0E941109892B5C\r
-:1052B00029F4CF5FC530C1F780E001C081E0CF9114\r
-:1052C00008950E94562380E00E9459030E941130E5\r
-:1052D0000E94251D0C94E7051F920F920FB60F92A6\r
-:1052E00011248F939F93AF93BF938091F10281110B\r
-:1052F00013C08091F2029091F302A091F402B09158\r
-:10530000F5024196A11DB11D8093F2029093F30224\r
-:10531000A093F402B093F502BF91AF919F918F914A\r
-:105320000F900FBE0F901F90189582E084BD93E000\r
-:1053300095BD9AEF97BD80936E0008958FB7F8944E\r
-:105340004091F2025091F3026091F4027091F502E3\r
-:105350008FBFCA010895CF92DF92EF92FF920F9311\r
-:105360001F932FB7F8944091F2025091F30260918D\r
-:10537000F4027091F5022FBF6A017B01EE24FF2435\r
-:105380008C0120E030E0C016D106E206F30620F0E2\r
-:105390009A01281B390B05C09C0120953095240FDC\r
-:1053A000351FC9011F910F91FF90EF90DF90CF90B3\r
-:1053B00008951F920F920FB60F9211248F939F930F\r
-:1053C000AF93BF938091F2029091F302A091F40207\r
-:1053D000B091F5020196A11DB11D8093F202909348\r
-:1053E000F302A093F402B093F502BF91AF919F91A5\r
-:1053F0008F910F900FBE0F901F9018950E946D1601\r
-:10540000F8942FEF87EA91E6215080409040E1F731\r
-:1054100000C0000087E090EBDC01809304049093CF\r
-:105420000504A0930604B09307042CE088E190E003\r
-:105430000FB6F894A895809360000FBE209360008B\r
-:10544000FFCFCF92DF92EF92FF920F931F93CF93F4\r
-:10545000DF93C82ED12C01E010E08D2D0E941109A0\r
-:105460007C01C0E0D0E098010C2E02C0220F331F57\r
-:105470000A94E2F72E213F21232B29F42196CC30E8\r
-:10548000D10589F708C06C2F7D2D80E00E944C0467\r
-:10549000C812F4CF06C0D39485E0D812DECF80E0E6\r
-:1054A00001C081E0DF91CF911F910F91FF90EF90AC\r
-:1054B000DF90CF900895CF93C82F8CE20E94212ACD\r
-:1054C000882321F08C2FCF910C94212A80E0CF915A\r
-:1054D0000895CF930E94AC2B811102C00E948D2BA6\r
-:1054E000C5E608C00E94BD078FE39CE90197F1F76C\r
-:1054F00000C00000C150B1F789E20E945B2A81110F\r
-:105500000AC18AE20E945B2A81110E948D2B85E0EC\r
-:105510000E945B2A81110E94FE290E94B72B809372\r
-:10552000F00287E00E945B2A882399F18BE10E94B8\r
-:105530005B2A882351F09091F00291FB882780F933\r
-:1055400021E0822780FB91F922C08EE00E945B2A35\r
-:10555000882351F09091F00292FB882780F921E096\r
-:10556000822780FB92F913C080E10E945B2A909110\r
-:10557000F002882341F093FB882780F921E08227FD\r
-:1055800080FB93F904C0892F809580FB90F990935C\r
-:10559000F0028091F0020E94BB2B0E94C92B8093E5\r
-:1055A000010380EE0E945B2A882341F08091010371\r
-:1055B000982F909590FB80F98093010389E30E94D6\r
-:1055C0005B2A882359F09091010391FB882780F989\r
-:1055D00021E0822780FB91F99093010382EE0E94E3\r
-:1055E0005B2A882359F09091010392FB882780F968\r
-:1055F00021E0822780FB92F99093010386EE0E94BE\r
-:105600005B2A882359F09091010393FB882780F946\r
-:1056100021E0822780FB93F99093010383EE0E949F\r
-:105620005B2A882359F09091010394FB882780F925\r
-:1056300021E0822780FB94F99093010385E30E9487\r
-:105640005B2A882359F09091010395FB882780F904\r
-:1056500021E0822780FB95F99093010381E30E946A\r
-:105660005B2A882359F09091010396FB882780F9E3\r
-:1056700021E0822780FB96F99093010381E10E944B\r
-:105680005B2A882359F09091010397FB882780F9C2\r
-:1056900021E0822780FB97F9909301038091010319\r
-:1056A0000E94CD2B87E20E945B2AC82F8EE10E94C8\r
-:1056B0005B2A8111C2608FE10E945B2A8111C46064\r
-:1056C00080E20E945B2A8111C86081E20E945B2A0D\r
-:1056D0008111C06182E20E945B2A8111C06283E273\r
-:1056E0000E945B2A8111C06484E20E945B2A8823A5\r
-:1056F00011F0C06802C0CC2329F08C2F0E94C42B6B\r
-:105700006C2F03C00E94C02B682F70E080E090E0F7\r
-:10571000CF910C946127CF9108956DEE7EEF80E0DC\r
-:1057200090E00E94783460E082E090E00E946A3469\r
-:1057300060E083E090E00E946A3460E084E090E002\r
-:105740000E946A3460E085E090E00E946A3460E084\r
-:1057500086E090E00C946A3480E090E00E9464342B\r
-:1057600021E08D3E9E4F09F020E0822F089582E0D7\r
-:1057700090E00C945C34682F82E090E00C946A34E2\r
-:1057800083E090E00C945C34682F83E090E00C940C\r
-:105790006A3484E090E00C945C34682F84E090E0FC\r
-:1057A0000C946A3486E090E00C945C34682F86E0B8\r
-:1057B00090E00C946A348091FE0280FF0BC06091EF\r
-:1057C000900185E0689FB0011124759567957595E6\r
-:1057D00067952AC081FF09C06091900185E0689FAC\r
-:1057E000B0011124759567951FC082FF07C06091B5\r
-:1057F000900185E0689FB001112416C04091F80225\r
-:105800004423C9F060918F01461788F720919001D9\r
-:1058100085E0289F90011124429FC001439F900D75\r
-:10582000112470E00E9448346038710540F461151D\r
-:10583000710539F002C065E070E0862F08958FE7AA\r
-:10584000089581E008958091FE0280FF08C0609174\r
-:105850008E0170E0759567957595679521C081FFFC\r
-:1058600006C060918E0170E07595679519C082FF42\r
-:1058700004C060918E0170E010C08091F80288230E\r
-:10588000C1F060918D018617A0F790918E01989FCD\r
-:10589000C001112470E00E9448346038710528F47A\r
-:1058A0006115710521F0862F08958FE7089581E035\r
-:1058B000089561E070E0F4CF803F21F40E94DB2B7B\r
-:1058C000819504C0813F29F40E94DB2B8093FB0269\r
-:1058D0000895823F21F40E94DB2B819504C0833F11\r
-:1058E00029F40E94DB2B8093FA020895893F19F472\r
-:1058F0000E94232C05C08A3F31F40E94232C8195FD\r
-:105900008093FC0208958B3F21F40E94232C819503\r
-:1059100004C08C3F29F40E94232C8093FD0208953B\r
-:10592000843F21F48091F902816017C0853F21F402\r
-:105930008091F902826011C0863F21F48091F902C2\r
-:1059400084600BC0873F21F48091F902886005C014\r
-:10595000883F31F48091F90280618093F9020895C3\r
-:105960008D3F21F48091FE0281600BC08E3F21F4B7\r
-:105970008091FE02826005C08F3F29F48091FE0273\r
-:1059800084608093FE020895803F29F48091FB0299\r
-:1059900087FF6EC007C0813F41F48091FB0218165B\r
-:1059A0000CF066C01092FB0263C09091FA02823F35\r
-:1059B00019F497FF5DC005C0833F31F419160CF050\r
-:1059C00057C01092FA0254C0893F31F48091FC0212\r
-:1059D00018160CF04DC006C08A3F39F48091FC02C5\r
-:1059E00087FF46C01092FC0243C08B3F29F4809190\r
-:1059F000FD0287FF3DC006C08C3F39F48091FD0257\r
-:105A00001816B4F51092FD0233C0843F21F4809142\r
-:105A1000F9028E7F05C0853F31F48091F9028D7FB8\r
-:105A20008093F90225C0863F21F48091F9028B7F93\r
-:105A3000F7CF873F21F48091F902877FF1CF883F2C\r
-:105A400021F48091F9028F7EEBCF8D3F21F480917C\r
-:105A5000FE028E7F0BC08E3F21F48091FE028D7F6F\r
-:105A600005C08F3F29F48091FE028B7F8093FE0258\r
-:105A70008091FA0281110EC08091FB0281110AC04F\r
-:105A80008091FC02811106C08091FD02811102C04B\r
-:105A90001092F802089589EF92E00E943C1D0E9446\r
-:105AA0009E299093F7028093F6020895CF938091F8\r
-:105AB000F6029091F7020E94AB294091F80244232C\r
-:105AC00021F02091910130E006C0209192015AE02E\r
-:105AD000259F900111248217930708F486C08091B6\r
-:105AE000FA0281110DC09091FB02911109C09091B1\r
-:105AF000FC02911105C09091FD02992309F475C033\r
-:105B00004F3F19F04F5F4093F802181624F40E949B\r
-:105B1000DB2B8093FA028091FA0287FF05C00E9476\r
-:105B2000DB2B81958093FA028091FB02181624F4F6\r
-:105B30000E94DB2B8093FB028091FB0287FF05C054\r
-:105B40000E94DB2B81958093FB026091FA02662311\r
-:105B500039F1C091FB02CC2319F1772767FD7095CD\r
-:105B6000872F972F0E94AC3123E333E343E35FE3B6\r
-:105B70000E9460320E9479316093FA026C2F77277D\r
-:105B800067FD7095872F972F0E94AC3123E333E395\r
-:105B900043E35FE30E9460320E9479316093FB022D\r
-:105BA0008091FC02181624F40E94232C8093FC029E\r
-:105BB0008091FC0287FF05C00E94232C8195809371\r
-:105BC000FC028091FD02181624F40E94232C80937D\r
-:105BD000FD028091FD0287FF05C00E94232C819564\r
-:105BE0008093FD02CF910C944B2DCF910895E9EF56\r
-:105BF000F2E085E0DF011D928A95E9F71092F80244\r
-:105C00001092FE020895833089F130F4813061F002\r
-:105C1000823009F06EC019C0853009F449C0B8F16E\r
-:105C2000863009F066C055C020919201862F90E021\r
-:105C3000820F911D8F3F910520F4620F60939201B6\r
-:105C400008958FEF80939201089520919101862FFE\r
-:105C500090E0820F911D8F3F910520F4620F6093B9\r
-:105C6000910108958FEF8093910108952091900103\r
-:105C7000862F90E0820F911D8F3F910520F4620FD7\r
-:105C80006093900108958FEF809390010895209183\r
-:105C90008F01862F90E0820F911D8F3F910520F498\r
-:105CA000620F60938F0108958FEF80938F010895A5\r
-:105CB00020918E01862F90E0820F911D8F3F9105DC\r
-:105CC00020F4620F60938E0108958FEF80938E0110\r
-:105CD000089520918D01862F90E0820F911D8F3FB6\r
-:105CE000910520F4620F60938D0108958FEF8093EA\r
-:105CF0008D010895833021F130F4813059F08230E4\r
-:105D000009F049C012C0853089F128F1863009F0C8\r
-:105D100042C037C080919201681720F4861B80939F\r
-:105D2000920108951092920108958091910168174F\r
-:105D300020F4861B8093910108951092910108959B\r
-:105D400080919001681720F4861B8093900108953C\r
-:105D500010929001089580918F01681720F4861B9E\r
-:105D600080938F01089510928F01089580918E0184\r
-:105D7000681720F4861B80938E01089510928E017F\r
-:105D8000089580918D01681720F4861B80938D0102\r
-:105D9000089510928D01089541E050E060E070E0B8\r
-:105DA00004C0440F551F661F771F8A95D2F7CB0199\r
-:105DB000BA010E9461270C945623873200F58E3178\r
-:105DC00008F086C08E3009F466C060F4873009F4AC\r
-:105DD0004DC018F4863049F531C0883041F18B3020\r
-:105DE00021F57BC0863109F478C018F48031E9F4DC\r
-:105DF0005CC0893109F471C08B31B9F442C0883379\r
-:105E000009F46BC048F4893209F460C0853309F4A1\r
-:105E10005DC0873251F45AC0833409F457C018F476\r
-:105E20008A3318F057C0883499F080E008950E94B2\r
-:105E3000B72B0E94C92B0E94D22B4FC08091F00239\r
-:105E4000817F8E7F8093F00281E08093FF0208952E\r
-:105E50000E9456232FEF83ED90E321508040904025\r
-:105E6000E1F700C000000E94FE2937C08091F002D7\r
-:105E700080FF03C0817F8E7F01C081608093F0022C\r
-:105E80002CC09091F00291FB882780F921E08227B5\r
-:105E900080FB91F913C09091F00292FB882780F962\r
-:105EA00021E0822780FB92F909C09091F00293FBD8\r
-:105EB000882780F921E0822780FB93F99093F002F4\r
-:105EC000882359F091609093F00207C080E003C0EE\r
-:105ED0008D5101C089530E94CC2E81E0089580E04D\r
-:105EE000089580E00895CF93C82F8091FF028130FC\r
-:105EF00071F020F0823009F089C037C0A0918B0189\r
-:105F0000B0918C018C91823209F082C007C0A091BF\r
-:105F10008B01B0918C018C91823249F48C2F0E94BC\r
-:105F20006F2F81111EC08C2F0E94DD2E1CC08C2F64\r
-:105F30000E94712F811115C0C43169F030F4CB304B\r
-:105F400081F0C03109F068C009C0C93221F0C833FE\r
-:105F500009F062C006C01092FF025EC082E080932A\r
-:105F6000FF0281E090E081705AC0C932C9F060F44C\r
-:105F7000C431B1F020F4C73009F04CC034C0CE5168\r
-:105F8000C63008F047C017C0CE3439F120F4CB3406\r
-:105F900009F040C01CC0C135C1F0C235D9F513C0ED\r
-:105FA00080910003882319F01092000333C081E030\r
-:105FB0008093FF0234C0EC2FF0E0E25EFD4F808161\r
-:105FC0008093000327C061E003C061E007C06AE07E\r
-:105FD000809100030E94032E1DC06AE0809100039F\r
-:105FE0000E947A2E17C08EE18093920182E3809303\r
-:105FF00091018AE08093900184E180938F0188E091\r
-:1060000080938E0188E280938D0104C01092FF027C\r
-:1060100080E005C081E003C080E090E0A4CFCF9194\r
-:1060200008950E94AC2B811102C00E948D2B0E940A\r
-:10603000D22B8093030480FF02C0869501C080E0CC\r
-:106040000C94590380910304982F9695292F30E0E2\r
-:10605000233031054CF49F5F990F8170892B81604B\r
-:10606000809303040E94D62B8091030486950C94A0\r
-:10607000590380910304982F969591F09158990FA8\r
-:106080008170892B809303048E7F91E009F490E066\r
-:106090008091030490FB80F9809303040E94D62B27\r
-:1060A0008091030486950C94590380910304982FE2\r
-:1060B000909590FB80F9809303040E94D62B8091E9\r
-:1060C000030480FF02C0869501C080E00C94590350\r
-:1060D00030910304232F26952F5F2F77822F90E096\r
-:1060E000317004972CF4220F232B2093030402C059\r
-:1060F0003093030480910304282F2E7F91E009F44C\r
-:1061000090E090FB80F9809303040E94D62B80914D\r
-:10611000030486950C94590320910304922F9695BD\r
-:106120009827990F822F8170892B809303048E7F8B\r
-:1061300091E009F490E08091030490FB80F9809352\r
-:1061400003040E94D62B8091030486950C94590376\r
-:106150005058BB27AA270ED075C166D130F06BD13D\r
-:1061600020F031F49F3F11F41EF45BC10EF4E09572\r
-:10617000E7FB51C1E92F77D180F3BA1762077307A4\r
-:106180008407950718F071F49EF58FC10EF4E09521\r
-:106190000B2EBA2FA02D0B01B90190010C01CA01E1\r
-:1061A000A0011124FF27591B99F0593F50F4503E8C\r
-:1061B00068F11A16F040A22F232F342F4427585F7E\r
-:1061C000F3CF469537952795A795F0405395C9F796\r
-:1061D0007EF41F16BA0B620B730B840BBAF091504E\r
-:1061E000A1F0FF0FBB1F661F771F881FC2F70EC0ED\r
-:1061F000BA0F621F731F841F48F4879577956795C0\r
-:10620000B795F7959E3F08F0B3CF9395880F08F0A8\r
-:106210009927EE0F979587950895D9D008F481E0D6\r
-:1062200008950CD00FC107D140F0FED030F021F41A\r
-:106230005F3F19F0F0C0511139C1F3C014D198F388\r
-:106240009923C9F35523B1F3951B550BBB27AA27F7\r
-:1062500062177307840738F09F5F5F4F220F331F69\r
-:10626000441FAA1FA9F333D00E2E3AF0E0E830D035\r
-:1062700091505040E695001CCAF729D0FE2F27D038\r
-:10628000660F771F881FBB1F261737074807AB0706\r
-:10629000B0E809F0BB0B802DBF01FF2793585F4F7B\r
-:1062A0002AF09E3F510568F0B6C000C15F3FECF395\r
-:1062B000983EDCF3869577956795B795F7959F5F40\r
-:1062C000C9F7880F911D9695879597F90895E1E094\r
-:1062D000660F771F881FBB1F621773078407BA07F3\r
-:1062E00020F0621B730B840BBA0BEE1F88F7E0954E\r
-:1062F000089504D06894B111D9C00895BCD088F035\r
-:106300009F5790F0B92F9927B751A0F0D1F0660FA1\r
-:10631000771F881F991F1AF0BA95C9F712C0B130BC\r
-:1063200081F0C3D0B1E00895C0C0672F782F8827CF\r
-:10633000B85F39F0B93FCCF3869577956795B395FB\r
-:10634000D9F73EF490958095709561957F4F8F4F6A\r
-:106350009F4F0895E89409C097FB3EF4909580956F\r
-:10636000709561957F4F8F4F9F4F9923A9F0F92F1B\r
-:1063700096E9BB279395F695879577956795B79599\r
-:10638000F111F8CFFAF4BB0F11F460FF1BC06F5F7F\r
-:106390007F4F8F4F9F4F16C0882311F096E911C091\r
-:1063A000772321F09EE8872F762F05C0662371F0B2\r
-:1063B00096E8862F70E060E02AF09A95660F771FC6\r
-:1063C000881FDAF7880F9695879597F90895990FA2\r
-:1063D0000008550FAA0BE0E8FEEF16161706E807AF\r
-:1063E000F907C0F012161306E407F50798F0621BD0\r
-:1063F000730B840B950B39F40A2661F0232B242BA5\r
-:10640000252B21F408950A2609F4A140A6958FEFC3\r
-:10641000811D811D089597F99F6780E870E060E015\r
-:1064200008959FEF80EC089500240A94161617062D\r
-:1064300018060906089500240A9412161306140675\r
-:1064400005060895092E0394000C11F4882352F0D8\r
-:10645000BB0F40F4BF2B11F460FF04C06F5F7F4F90\r
-:106460008F4F9F4F089557FD9058440F551F59F077\r
-:106470005F3F71F04795880F97FB991F61F09F3F31\r
-:1064800079F087950895121613061406551FF2CF5A\r
-:106490004695F1DF08C0161617061806991FF1CFAA\r
-:1064A00086957105610508940895E894BB276627D1\r
-:1064B0007727CB0197F908958ADF08F48FEF0895C5\r
-:1064C0000BD0C0CFB1DF28F0B6DF18F0952309F06C\r
-:1064D000A2CFA7CF1124EACFC6DFA0F3959FD1F3B7\r
-:1064E000950F50E0551F629FF001729FBB27F00D82\r
-:1064F000B11D639FAA27F00DB11DAA1F649F6627D7\r
-:10650000B00DA11D661F829F2227B00DA11D621F25\r
-:10651000739FB00DA11D621F839FA00D611D221FDF\r
-:10652000749F3327A00D611D231F849F600D211DC3\r
-:10653000822F762F6A2F11249F5750408AF0E1F066\r
-:1065400088234AF0EE0FFF1FBB1F661F771F881FAF\r
-:1065500091505040A9F79E3F510570F05CCFA6CFF7\r
-:106560005F3FECF3983EDCF3869577956795B7959A\r
-:10657000F795E7959F5FC1F7FE2B880F911D9695C4\r
-:10658000879597F90895FA01EE0FFF1F30962105C0\r
-:10659000310599F16115710561F48038BFE39B07FE\r
-:1065A00049F168949038810561F08038BFEF9B070E\r
-:1065B00041F0992342F5FF3FE1053105210511F135\r
-:1065C000E8940894E795D901AA2329F4AB2FBE2FAC\r
-:1065D000F85FD0F310C0FF5F70F4A695E0F7F739CD\r
-:1065E00050F019F0FF3A38F49F779F930CD00F903A\r
-:1065F00007FC905808953EF014CF60E070E080E80A\r
-:106600009FE308954FE79F775F934F933F932F93B7\r
-:106610009ED02F913F914F915F9152DF05C019F4A9\r
-:106620000EF0F9CE42CFFDCE26DFC8F39638C0F784\r
-:1066300007F80F92E8942BE33AEA48EB5FE74EDF66\r
-:106640000F920F920F924DB75EB70F92C0D0ECEA47\r
-:10665000F0E016D04F915F91EF91FF91E595EE1F1D\r
-:10666000FF1F49F0FE57E0684427EE0F441FFA95DC\r
-:10667000E1F74195550B32D00F9007FE26C00895E3\r
-:10668000DF93CF931F930F93FF92EF92DF927B01E3\r
-:106690008C01689405C0DA2EEF011EDFFE01E8943C\r
-:1066A000A5912591359145915591AEF3EF0162DDAC\r
-:1066B000FE019701A801DA9479F7DF90EF90FF903F\r
-:1066C0000F911F91CF91DF9108959B01AC0160E084\r
-:1066D00070E080E89FE3A5CD9ECEACC0CCDEE8F3B1\r
-:1066E0009923D9F3940F511DBBF39150504094F06E\r
-:1066F00059F0882332F0660F771F881F9150504061\r
-:10670000C1F79E3F510544F7880F911D96958795D7\r
-:1067100097F908955F3FACF0983E9CF0BB278695B3\r
-:1067200077956795B79508F4B1609395C1F7BB0F5E\r
-:1067300058F711F460FFE8CF6F5F7F4F8F4F9F4F87\r
-:10674000E3CFB4CE0EF076C06CCE689464CE93DE08\r
-:10675000C8F39923D1F3C6F3DF93CF931F930F931D\r
-:10676000FF92C92FDD2788232AF02197660F771F14\r
-:10677000881FDAF720E030E040E85FEB9FE38839DC\r
-:1067800020F0803E30F021968F77E3DCE4EDF0E0FE\r
-:1067900003C0DFDCE1E0F1E073DF8B01BE01EC015F\r
-:1067A000FB2E6F5771097595771F880B990BD4DDF8\r
-:1067B00028E132E741E35FE38FDEAF2D9801AE01C0\r
-:1067C000FF900F911F91CF91DF91D4DC3BCEFA0166\r
-:1067D000DC01AA0FBB1F9B01AC01BF5728F4222785\r
-:1067E0003327442750781FC0B75188F4AB2F0024BB\r
-:1067F000469537952795011CA395D2F3002069F0A3\r
-:10680000220F331F441FB395DAF30DD0A1CC6130B2\r
-:106810007105A0E88A07B94630F49B01AC016627F0\r
-:10682000772788279078309621F020833183428320\r
-:10683000538308959F3F31F0915020F487957795C9\r
-:106840006795B795880F911D9695879597F9089547\r
-:10685000991B79E004C0991F961708F0961B881FB2\r
-:106860007A95C9F780950895AA1BBB1B51E107C013\r
-:10687000AA1FBB1FA617B70710F0A61BB70B881FD0\r
-:10688000991F5A95A9F780959095BC01CD0108955F\r
-:1068900097FB072E16F4009407D077FD09D00E94CD\r
-:1068A000343407FC05D03EF4909581959F4F0895B0\r
-:1068B000709561957F4F0895F999FECF92BD81BD86\r
-:1068C000F89A992780B50895A8E1B0E042E050E039\r
-:1068D0000C947F34262FF999FECF1FBA92BD81BD4B\r
-:1068E00020BD0FB6F894FA9AF99A0FBE0196089552\r
-:1068F0000E946A34272F0C946B34DC01CB01FC011D\r
-:10690000F999FECF06C0F2BDE1BDF89A319600B408\r
-:0E6910000D9241505040B8F70895F894FFCF13\r
-:10691E0055D0A44600001644000000000000484276\r
-:10692E0061978A460000C8430000000000004842FC\r
-:10693E0055D024460000C843000000000000484225\r
-:10694E0000005C460000C843000000000000484202\r
-:10695E0061978A4600007A4455D0A4460000C84389\r
-:10696E00000000000000484200005C460000C843E2\r
-:10697E00000000000000484255D024460000164496\r
-:10698E000507000C058540000001064000000100CF\r
-:10699E0091102111FD10C810941001E8022808145E\r
-:1069AE000A321E42004500250026004300610060A9\r
-:1069BE000020003700640065006600670044004652\r
-:1069CE000024004700000002000400050007000933\r
-:1069DE00000B000C000E0010001100130015001724\r
-:1069EE000018001A001C001D001F002100230024A7\r
-:1069FE00002600280029002B002D002F0030003229\r
-:106A0E000034003500370039003B00F6030F042830\r
-:106A1E0004410469051C05E604C6043F4D362002F8\r
-:106A2E000302000001000101010101000101010248\r
-:086A3E00030405060708090026\r
+:100000000C947C050C94C0050C94C0050C94C005A0\r
+:100010000C94C0050C94C0050C94C0050C94C0054C\r
+:100020000C94C0050C94C0050C94C7180C94991935\r
+:100030000C94B2270C94C0050C94C0050C94C00518\r
+:100040000C94C0050C94C0050C94C0050C94C0051C\r
+:100050000C94C0050C941A280C94C0050C94C0058F\r
+:100060000C94C0050C94C0050C94C0050C94C005FC\r
+:100070000C94C0050C94C0050C94C0050C94C005EC\r
+:100080000C94E50E0C94C0050C94C0050C94C005AE\r
+:100090000C94C0050C94C0050C94C0050C94C005CC\r
+:1000A0000C94C0050C94C0050C94C0051B062B06CF\r
+:1000B0003D064D06530662066E06730680068806E8\r
+:1000C00098069D06061A281A161B281A161B6D1A62\r
+:1000D000901A161BE51AF81AFB1DFB1D381E381E58\r
+:1000E000921ED01E48214821E91E4821EA1FEA1F1E\r
+:1000F000AD20C4204821332107634236B79BD8A7DF\r
+:100100001A39685618AEBAAB558C1D3CB7CC57633C\r
+:10011000BD6DEDFD753EF6177231BF000000803FEA\r
+:1001200008000000BE922449123EABAAAA2ABECD06\r
+:10013000CCCC4C3E00000080BEABAAAAAA3E000078\r
+:100140000000BF000000803F000000000008417870\r
+:10015000D3BB4387D1133D190E3CC3BD4282AD2BA7\r
+:100160003E68EC8276BED98FE1A93E4C80EFFFBE9F\r
+:1001700001C4FF7F3F000000000035001E001F008B\r
+:100180002000210022002300240025002600270053\r
+:100190002A002B0014001A000800150017001C008C\r
+:1001A00018000C00120013004C0029000400160077\r
+:1001B000070009000A000B000D000E000F003300BD\r
+:1001C0003400E1001D001B000600190005001100AD\r
+:1001D000100036003700380028000530E000E2004B\r
+:1001E000E30003302C002C0004305000510052007A\r
+:1001F0004F0035001E001F002000210022002300B8\r
+:1002000024002500260027002A002B0014001A00D5\r
+:10021000090013000A000D000F0018001C00330035\r
+:100220004C002900040015001600170007000B0001\r
+:10023000110008000C0012003400E1001D001B003A\r
+:100240000600190005000E001000360037003800C7\r
+:1002500028000530E000E200E30003302C002C0011\r
+:1002600004305000510052004F0035001E001F00A6\r
+:100270002000210022002300240025002600270062\r
+:100280002A002B0034003600370013001C00090040\r
+:100290000A00060015000F004C002900040012009F\r
+:1002A000080018000C0007000B00170011001600D2\r
+:1002B0003800E100330014000D000E001B000500A3\r
+:1002C00010001A0019001D0028000530E000E200AF\r
+:1002D000E30003302C002C00043050005100520089\r
+:1002E0004F0035021E021F022002210222022302B9\r
+:1002F00024022502260227022A0035021E021F02BE\r
+:1003000020022102220223022402250226022702C1\r
+:100310004C004C003A003B003C003D003E003F00DA\r
+:100320002D022E022F023002310201004000410056\r
+:1003300042004300440045000100010001000100AB\r
+:1003400001000100010001000100010001000100A5\r
+:100350000100AB00AA00A900AE0035001E001F007E\r
+:100360002000210022002300240025002600270071\r
+:100370002A0035001E001F0020002100220023005B\r
+:1003800024002500260027004C004C003A003B00CA\r
+:100390003C003D003E003F002D002E002F003000AD\r
+:1003A000310001004000410042004300440045008C\r
+:1003B0000100010001000100010001000100010035\r
+:1003C00001000100010001000100AB00AA00A9002A\r
+:1003D000AE0000000000000000000000000000006F\r
+:1003E000000000000000000000000000000000000D\r
+:1003F00000000000000000000000000000000000FD\r
+:1004000000000000000000000000000000000000EC\r
+:1004100000000000000000000000000000000000DC\r
+:1004200000000000000000000000000000000000CC\r
+:100430000000000000000000000003300000000089\r
+:100440000430000000000000000000000000000078\r
+:10045000000000000000000000000000000000009C\r
+:10046000000000000000000000000000000000008C\r
+:10047000000000000000000000000000000000007C\r
+:10048000000000000000000000000000000000006C\r
+:10049000000000000000000000000000000000005C\r
+:1004A000000000000000000000000000000000004C\r
+:1004B000000000000000000000000000000000003C\r
+:1004C000000000000000000000000000000000002C\r
+:1004D000000000000000000000000000000000001C\r
+:1004E000000000000000000000000000000000000C\r
+:1004F00000000000000000000000000000000000FC\r
+:1005000000000000000000000000000000000000EB\r
+:1005100000000000000000000000000000000000DB\r
+:1005200000000000000000000000000000000000CB\r
+:1005300000000000000000000000000000000000BB\r
+:1005400000000000000000000000000000000000AB\r
+:10055000000000000000000000000000000000009B\r
+:10056000000000000000000000000000000000008B\r
+:10057000000000000000000000000000000000007B\r
+:10058000000000000000000000000000000000006B\r
+:10059000000000000000000000000000000000005B\r
+:1005A000000000000000000000000000000000004B\r
+:1005B000000000000000000000000000000000003B\r
+:1005C000000000000000000000000000000000002B\r
+:1005D000000000000000000000000000000000001B\r
+:1005E000000000000000000000000000000000000B\r
+:1005F00000000000000000000000000000000000FB\r
+:1006000000000000000000000000000000000000EA\r
+:1006100000000000000000000000000000000000DA\r
+:1006200000000000000000000000000000000000CA\r
+:1006300000000000000000000000000000000000BA\r
+:1006400000000000000000000000000000000000AA\r
+:10065000000000000000000000000000000000009A\r
+:10066000000000000000000000000000000000008A\r
+:10067000000000000000000000000000000000007A\r
+:10068000000000000000000000000000000000006A\r
+:10069000000000000000000000000000000000005A\r
+:1006A000000000000000000000000000000000004A\r
+:1006B000000000000000000000000000000000003A\r
+:1006C000000000000000000000000000000000002A\r
+:1006D000000000000000000000000000000000001A\r
+:1006E000000000000000000000000000000000000A\r
+:1006F00000000000000000000000000000000000FA\r
+:1007000000000000000000000000000000000000E9\r
+:1007100000000000000000000000000000000000D9\r
+:1007200000000000000000000000000000000000C9\r
+:1007300000000000000000000000000000000000B9\r
+:1007400000000000000000000000000000000000A9\r
+:100750000000000000000000000000000000000099\r
+:100760000000000000000000000000000000000089\r
+:100770000000000000000000000000000000000079\r
+:100780000000000000000000000000000000000069\r
+:100790000000000000000000000000000000000059\r
+:1007A0000000000000000000000000000000000049\r
+:1007B0000000000000000000000000000000000039\r
+:1007C0000000000000000000000000000000000029\r
+:1007D0000000000000000000000000000000000019\r
+:1007E0000000000000000000000000000000000009\r
+:1007F00000000000000000000000000000000000F9\r
+:1008000000000000000000000000000000000000E8\r
+:1008100000000000000000000000000000000000D8\r
+:1008200000000000000000000000000000000000C8\r
+:1008300000000000000000000000000000000000B8\r
+:1008400000000000000000000000000000000000A8\r
+:100850000000000000000000000000000000000098\r
+:100860000000000000000000000000000000000088\r
+:100870000000000000000000000000000000000078\r
+:100880000000000000000000000000000000000068\r
+:100890000000000000000000000000000000000058\r
+:1008A0000000000000000000000000000000000048\r
+:1008B0000000000000000000000000000000000038\r
+:1008C0000000000000000000000000000000000028\r
+:1008D0000000000000000000000000000000000018\r
+:1008E0000000000000000000000000000000000008\r
+:1008F000000000000000000000003A003B003C0047\r
+:100900003D003E003F0040004100420043004400E3\r
+:10091000450001000050010001000100010001003C\r
+:1009200001000100010001004C0001000100010074\r
+:1009300007300630135012500030013002300100F1\r
+:10094000010001000B300A300930083001000100BD\r
+:10095000010001000100010001000100010001008F\r
+:10096000010001000100010001000100010001007F\r
+:1009700001002A0354006800650020005000720046\r
+:1009800065006F006E006900630020004B00650089\r
+:10099000790062006F0061007200640000002C03A7\r
+:1009A0004F007200740068006F006C0069006E00F8\r
+:1009B00065006100720020004B0065007900620054\r
+:1009C0006F006100720064007300000004030904FA\r
+:1009D00009025400030100A0FA0904000001030108\r
+:1009E0000100092111010001223F000705810308D0\r
+:1009F000000A09040100010301020009211101009C\r
+:100A000001224D000705820308000A0904020001C3\r
+:100A100003000000092111010001223600070583AF\r
+:100A20000308000A1201100100000008EDFE6160D9\r
+:100A300001000102000105010980A10185021601E2\r
+:100A40000026B7001A01002AB70075109501810031\r
+:100A5000C0050C0901A1018503160100269C021A9C\r
+:100A600001002A9C02751095018100C00501090250\r
+:100A7000A1010901A1000509190129051500250198\r
+:100A80009505750181029501750381010501093004\r
+:100A900009311581257F9502750881060938158170\r
+:100AA000257F950175088106050C0A3802158125F8\r
+:100AB0007F950175088106C0C005010906A10105E1\r
+:100AC0000719E029E71500250195087501810295B0\r
+:100AD0000175088101050819012905950575019120\r
+:100AE000029501750391010507190029FF150025DD\r
+:100AF000FF950675088100C011241FBECFEFDAE014\r
+:100B0000DEBFCDBF04B603FE24C08091F3039091F5\r
+:100B1000F403A091F503B091F6038730904BA74002\r
+:100B2000B04BB9F41092F3031092F4031092F50352\r
+:100B30001092F60314BE84B7877F84BF88E10FB696\r
+:100B4000F89480936000109260000FBEE0E0F8E33C\r
+:100B5000099512E0A0E0B1E0E8EAF3E602C00590F2\r
+:100B60000D92A63FB107D9F713E0A6EFB2E001C09E\r
+:100B70001D92A33FB107E1F70E940D160C94D231EC\r
+:100B80000C940000279A2F988FEF9FEF9093870087\r
+:100B9000809386008AE08093800089E180938100C1\r
+:100BA0000C94092D282F81110BC080918000877F24\r
+:100BB0008093800010928D0010928C002F980895E1\r
+:100BC0002F9880918000886080938000233019F4F2\r
+:100BD0008FEF9FEF0FC083E090E0821B9109880F99\r
+:100BE000991F2FEF3FEFA90102C0569547958A95AF\r
+:100BF000E2F7CA0190938D0080938C000895CF9303\r
+:100C0000DF93EC010E94AE28BE0180E090E0DF910E\r
+:100C1000CF910C9428250F931F93462F50E04C3012\r
+:100C2000510508F098C0DC01FA01EA5AFF4F12960C\r
+:100C30008C910C949631882309F48DC000E010E06B\r
+:100C4000980140E064E070E089EC91E00E9463125A\r
+:100C500081E090E00FC0882309F47DC000E010E03F\r
+:100C6000980140E066E070E089E591E00E9463123F\r
+:100C700082E090E00E94FF056EC0882309F46BC0FB\r
+:100C800000E010E0980140E068E070E089E891E061\r
+:100C90000E94631284E090E0EDCF882311F083E09E\r
+:100CA00005C083E00CC0882349F084E00E94A5259C\r
+:100CB00040E164E083E00E94C90A4DC084E00E94E4\r
+:100CC000C625F6CF882331F085EE0E948F1C0E9446\r
+:100CD000602D41C085EE0E94571D3DC08823D9F18B\r
+:100CE0000E94F70D38C08823B1F10E94F00D00E09A\r
+:100CF00010E0980140E064E070E089EE91E029C0E6\r
+:100D0000882349F185E00E94C6250E94180E23C061\r
+:100D1000882309F100E010E0980140E068E070E00D\r
+:100D200089E191E00E94631285E00E94A52513C02D\r
+:100D3000882389F00E94F61204C0882361F00E9483\r
+:100D4000011300E010E0980140E068E070E089E104\r
+:100D500091E00E94631280E090E01F910F9108954E\r
+:100D60000F931F932FEF89EF90E021508040904028\r
+:100D7000E1F700C0000000E010E0980140E064E00E\r
+:100D800070E089EE91E00E9463121F910F91089527\r
+:100D9000CF92DF92EF92FF920F931F93CF93DF9347\r
+:100DA000CDB7DEB7CC58D1090FB6F894DEBF0FBE71\r
+:100DB000CDBF2091B30325FFC5C08C01FC019281FA\r
+:100DC00080910001992309F460C096E4E5E2F2E025\r
+:100DD000DE01A95BBF4F01900D929A95E1F7F801F2\r
+:100DE0009081E091F602F091F702E90FF11DEE0F0C\r
+:100DF000FF1F27E430E02C0F3D1FE20FF31F60813F\r
+:100E00007181680F711D882777FD8095982F0E944A\r
+:100E1000A42E20E030E040E451E40E94092E6B0152\r
+:100E20007C01F801218185E090E0821B9109BC01E1\r
+:100E3000882777FD8095982F0E94A42E9B01AC01F6\r
+:100E4000C701B6010E94A12D9B01AC0160E070E0DA\r
+:100E500080E090E40E94173020E030E04CE551E45F\r
+:100E60000E94B42F4FE050E0C457DF4F0FB6F89404\r
+:100E7000DEBF0FBECDBFDF91CF911F910F91FF90CD\r
+:100E8000EF90DF90CF900C94031296E4E5E2F2E04D\r
+:100E9000DE01119601900D929A95E1F7F80190818B\r
+:100EA000E091F602F091F702E90FF11DEE0FFF1F3E\r
+:100EB00021E030E02C0F3D1FE20FF31F60817181B4\r
+:100EC000680F711D882777FD8095982F0E94A42EAA\r
+:100ED00020E030E040E451E40E94092E6B017C01E7\r
+:100EE000F801218185E090E0821B9109BC018827EF\r
+:100EF00077FD8095982F0E94A42E9B01AC01C7011D\r
+:100F0000B6010E94A12D9B01AC0160E070E080E081\r
+:100F100090E40E94173020E030E04CE551E40E945C\r
+:100F2000B42FC457DF4F0FB6F894DEBF0FBECDBF4E\r
+:100F3000DF91CF911F910F91FF90EF90DF90CF90B5\r
+:100F40000C944B0EC457DF4F0FB6F894DEBF0FBEA4\r
+:100F5000CDBFDF91CF911F910F91FF90EF90DF9068\r
+:100F6000CF9008950F931F9300E010E0980140E0A8\r
+:100F700063E070E081E091E00E9463122FEF82E570\r
+:100F800097E0215080409040E1F700C000001F91A1\r
+:100F90000F91089508950E94C2056E9A769A0C9456\r
+:100FA000B0060C94CA070C94C8060895880F991FC0\r
+:100FB000FC01E650F040859194910895880F991FA7\r
+:100FC000FC01E658FE4F8591949108950F931F936D\r
+:100FD000CF93DF93EC01811520E49207A0F5C115B2\r
+:100FE00080E3D80708F0E1C0C83ED105D8F4C03E80\r
+:100FF000D10508F0EEC1C83AD10578F4C53AD1055B\r
+:1010000008F074C0C130D10509F46DC008F4DEC128\r
+:10101000C430D10508F0DDC1D9C1CB3BD10508F4FE\r
+:1010200070C0D4C1C11590E2D90708F0B9C0C1158C\r
+:1010300021E0D20708F0CDC1C03FD10508F4C6C1F8\r
+:101040008E01106506C2C13080E5D80709F4BDC025\r
+:1010500068F5C13120E4D20709F4AEC050F4C031C4\r
+:1010600090E4D90708F0A5C0CF70DD278E01146D7C\r
+:10107000F0C1C33120E4D20709F4A4C008F49FC032\r
+:10108000C115D04509F0A2C10E946C210E94180E22\r
+:101090000E94B2079FEF24E38CE0915020408040F3\r
+:1010A000E1F700C000000E943F28D3C1C11520E62F\r
+:1010B000D20730F4C11581E5D80708F48CC02DC1E2\r
+:1010C000C11590E7D90708F481C1C11520E8D207FE\r
+:1010D00008F478C1C11580E9D80708F077C1DF703E\r
+:1010E0008E01106AB6C101E010E0B3C1C53AD10566\r
+:1010F00009F471C1C63AD10509F070C102E810E4E3\r
+:10110000A8C1C83AD10509F46CC1C93AD10509F49E\r
+:101110006BC1CA3AD10509F46AC1CB3AD10509F4C9\r
+:1011200069C1CC3AD10509F468C1CD3AD10509F4B9\r
+:1011300067C1C03BD10509F466C1CE3AD10509F4B7\r
+:1011400065C1CF3AD10509F464C1C13BD10509F4A9\r
+:1011500063C1C23BD10509F462C1C33BD10509F4A7\r
+:1011600061C1C43BD10509F460C1C53BD10509F497\r
+:101170005FC1C63BD10509F45EC1C73BD10509F487\r
+:101180005DC1C83BD10509F45CC1C93BD10509F477\r
+:101190005BC1CA3BD10509F45AC100E014E459C14E\r
+:1011A000CE019F700E94DE0755C1DD278E01106CB5\r
+:1011B00050C100E011ED4DC100E010ED4AC100E06A\r
+:1011C00012ED47C100E013ED44C18091C703816077\r
+:1011D0008093C7033EC10E949B28811102C00E94D8\r
+:1011E00077280E94B32890E09093F2038093F10354\r
+:1011F000C23090E5D90721F48091F103816086C067\r
+:10120000C43020E5D20721F48091F10382607EC0D2\r
+:10121000C63080E5D80721F48091F103846076C060\r
+:10122000C83090E5D90719F48091F10327C0CA307E\r
+:1012300020E5D20721F48091F103806167C0CC30B2\r
+:1012400080E5D80721F48091F10380625FC0CE3041\r
+:1012500090E5D90721F48091F103806457C0C03133\r
+:1012600020E5D20721F48091F10380684FC0C2319C\r
+:1012700080E5D80729F48091F1038460886046C036\r
+:10128000C33090E5D90721F48091F1038E7F3EC0F1\r
+:10129000C53020E5D20721F48091F1038D7F36C05F\r
+:1012A000C73080E5D80721F48091F1038B7F2EC0F1\r
+:1012B000C93090E5D90719F48091F10326C0CB30ED\r
+:1012C00020E5D20721F48091F1038F7E1FC0CD303D\r
+:1012D00080E5D80721F48091F1038F7D17C0CF30CE\r
+:1012E00090E5D90721F48091F1038F7B0FC0C131C4\r
+:1012F00020E5D20721F48091F1038F7707C0C33135\r
+:10130000D04531F48091F1038B7F877F8093F10387\r
+:101310008091F1030E94B7289CC08D2F99278F7070\r
+:10132000992781309105D9F49E012370332702C09B\r
+:10133000880F991F2A95E2F79C688E0144E0000F00\r
+:10134000111F4A95E1F700271370802B912B53E072\r
+:10135000CC0FDD1F5A95E1F7C076DD272FC0823014\r
+:10136000910531F4DC2FCC278E01016F106A71C01A\r
+:101370008330910569F4CE018370992701E010E074\r
+:1013800002C0000F111F8A95E2F7C8019C680FC0C8\r
+:10139000049709F05EC0CE018370992701E010E048\r
+:1013A00002C0000F111F8A95E2F7C8019A6823E076\r
+:1013B000CC0FDD1F2A95E1F7C07ED7708C010C2B76\r
+:1013C0001D2B47C0DF708E01106243C000E010E0AB\r
+:1013D00040C08E013EC001E810E43BC003E810E4C9\r
+:1013E00038C002EE14E435C009EE14E432C00AEE4F\r
+:1013F00014E42FC005EB14E42CC006EB14E429C060\r
+:1014000007EB14E426C00CEC14E423C00DEC14E448\r
+:1014100020C003E815E41DC00AE815E41AC002E97B\r
+:1014200015E417C004E915E414C001E216E411C084\r
+:1014300003E216E40EC004E216E40BC005E216E473\r
+:1014400008C006E216E405C007E216E402C00AE29C\r
+:1014500016E4C801DF91CF911F910F9108959CE090\r
+:10146000799FF00111249CE3899FE00DF11D112467\r
+:10147000E60FF11DEE0FFF1FE658FE4F8591949188\r
+:10148000803E9105E0F4803C910558F5813391054B\r
+:1014900009F46FC048F48932910509F463C08A32B7\r
+:1014A000910509F46DC072C089339105E9F0823865\r
+:1014B0009105D1F08533910509F44DC067C0833E95\r
+:1014C000910581F138F4803E9105B9F0823E910595\r
+:1014D000D9F05CC0863E910561F1873E9105A1F18E\r
+:1014E00055C00E94D60708952091F10320FD02C047\r
+:1014F00021FF4CC080EE90E049C08091F10380FF55\r
+:10150000F9CF89E390E042C08091F10382FF0EC0E1\r
+:101510008091F10384FF03C080E090E037C083EE48\r
+:1015200090E034C08091F10382FFF2CF82EE90E030\r
+:101530002DC08091F10383FF0BC08091F10384FDE6\r
+:10154000EBCF87EE90E022C08091F10383FFF5CFCF\r
+:1015500086EE90E01BC08091F10385FF07C089E211\r
+:1015600090E014C08091F10385FFF9CF85E390E00E\r
+:101570000DC08091F10386FF07C08AE290E006C0AB\r
+:101580008091F10386FFF9CF81E390E00E94E607A6\r
+:101590000895CF92DF92EF92FF920F931F9301E095\r
+:1015A00010E020E030E06801790104C0CC0CDD1CC3\r
+:1015B000EE1CFF1C8A95D2F704C0000F111F221FDA\r
+:1015C000331F6A95D2F70C291D292E293F29C09077\r
+:1015D000B303D090B403E090B503F090B603C022FB\r
+:1015E000D122E222F322842FC016D106E206F306AE\r
+:1015F00041F41F910F91FF90EF90DF90CF900C94EA\r
+:10160000A5251F910F91FF90EF90DF90CF900C9444\r
+:10161000C62508950C94090B5F926F927F928F926A\r
+:101620009F92AF92BF92CF92DF92EF92FF920F9371\r
+:101630001F93CF93DF93CDB7DEB72A970FB6F894F9\r
+:10164000DEBF0FBECDBFCE0101966C014E019BE007\r
+:10165000890E911C20E030E040E050E060E070E056\r
+:1016600000E010E0E12CF12C6C2C5D2C8AE0782E4F\r
+:10167000AA24A394B12CEBE6F2E0A62DB52D872D7C\r
+:1016800001900D928A95E1F7F601819191916F0198\r
+:10169000FC01E07FFF27E032F10559F48F709927B4\r
+:1016A000F50102C0EE0FFF1F8A95E2F7EE2AFF2A2E\r
+:1016B00037C0E033F10559F48F709927F50102C066\r
+:1016C000EE0FFF1F8A95E2F70E2B1F2B29C0E03487\r
+:1016D000F10559F48F709927F50102C0EE0FFF1F35\r
+:1016E0008A95E2F76E2B7F2B1BC0E035F10559F48C\r
+:1016F0008F709927F50102C0EE0FFF1F8A95E2F760\r
+:101700004E2B5F2B0DC0E036F10551F48F709927F9\r
+:10171000F50102C0EE0FFF1F8A95E2F72E2B3F2B3B\r
+:10172000C814D90409F0A7CF84B19E2D90958923C0\r
+:1017300084B985B1E82AE5B887B1902F90958923BF\r
+:1017400087B988B1082B08B98AB1962F909589235B\r
+:101750008AB98BB1682B6BB98DB1942F9095892381\r
+:101760008DB98EB1482B4EB980B3922F90958923B5\r
+:1017700080BB81B3282B21BB2A960FB6F894DEBF1D\r
+:101780000FBECDBFDF91CF911F910F91FF90EF90D2\r
+:10179000DF90CF90BF90AF909F908F907F906F9091\r
+:1017A0005F9008955F926F927F928F929F92AF9217\r
+:1017B000BF92CF92DF92EF92FF920F931F93CF933E\r
+:1017C000DF93CDB7DEB768970FB6F894DEBF0FBED4\r
+:1017D000CDBF85B7806885BF85B7806885BF0E940B\r
+:1017E0000C0BCE0101966C014E0199E1890E911C02\r
+:1017F00020E030E040E050E060E070E000E010E029\r
+:10180000E12CF12C6C2C5D2C88E1782EAA24A39479\r
+:10181000B12CE5E7F2E0A62DB52D872D01900D92B4\r
+:101820008A95E1F7F601819191916F01FC01E07FCA\r
+:10183000FF27E032F10559F48F709927F50102C0B6\r
+:10184000EE0FFF1F8A95E2F7EE2AFF2A37C0E0333A\r
+:10185000F10559F48F709927F50102C0EE0FFF1FB3\r
+:101860008A95E2F70E2B1F2B29C0E034F10559F4BD\r
+:101870008F709927F50102C0EE0FFF1F8A95E2F7DE\r
+:101880006E2B7F2B1BC0E035F10559F48F70992723\r
+:10189000F50102C0EE0FFF1F8A95E2F74E2B5F2B7A\r
+:1018A0000DC0E036F10551F48F709927F50102C0A3\r
+:1018B000EE0FFF1F8A95E2F72E2B3F2BC814D90499\r
+:1018C00009F0A7CF84B19E2D9095892384B985B165\r
+:1018D000E82AE5B887B1902F9095892387B988B118\r
+:1018E000082B08B98AB1962F909589238AB98BB1B4\r
+:1018F000682B6BB98DB1942F909589238DB98EB1DA\r
+:10190000482B4EB980B3922F9095892380BB81B329\r
+:10191000282B21BBE2E0F3E0A8EFB2E01192119294\r
+:101920001D921D9283E0EC30F807C1F768960FB660\r
+:10193000F894DEBF0FBECDBFDF91CF911F910F9105\r
+:10194000FF90EF90DF90CF90BF90AF909F908F90DF\r
+:101950007F906F905F900C94CB075F926F927F9215\r
+:101960008F929F92AF92BF92CF92DF92EF92FF92AF\r
+:101970000F931F93CF93DF93CDB7DEB7A2970FB628\r
+:10198000F894DEBF0FBECDBF6E0149E1C40ED11C7D\r
+:1019900088EFA82E82E0B82E75019AE0592E4601F4\r
+:1019A00001E010E028E1622E35E0732EEBE6F2E074\r
+:1019B000D401852D01900D928A95E1F7D6018D9184\r
+:1019C0009D916D019C01207F33272032310591F4D8\r
+:1019D00024B18F709927F80102C0EE0FFF1F8A957E\r
+:1019E000E2F7CF01922F982B94B995B18095892376\r
+:1019F00085B953C02033310591F427B18F709927F1\r
+:101A0000A80102C0440F551F8A95E2F7CA01922F20\r
+:101A1000982B97B998B18095892388B93EC0203416\r
+:101A2000310591F42AB18F709927D80102C0AA0F0D\r
+:101A3000BB1F8A95E2F7CD01922F982B9AB99BB1E3\r
+:101A4000809589238BB929C02035310591F42DB1BA\r
+:101A50008F709927F80102C0EE0FFF1F8A95E2F7F9\r
+:101A6000CF01922F982B9DB99EB1809589238EB975\r
+:101A700014C02036310589F420B38F709927A8014E\r
+:101A800002C0440F551F8A95E2F7CA01922F982B86\r
+:101A900090BB91B38095892381BB50EA5A95F1F7A9\r
+:101AA000BE016F5F7F4F20E030E040E050E0E5E7AF\r
+:101AB000F2E0DE011196862D01900D928A95E1F7F4\r
+:101AC000DB018D919D91BD01FC01E07FFF27E0329C\r
+:101AD000F10511F4E3B113C0E033F10511F4E6B1FF\r
+:101AE0000EC0E034F10511F4E9B109C0E035F105AB\r
+:101AF00011F4ECB104C0E036F105B9F4EFB1F0E057\r
+:101B00008F70992702C0F595E7958A95E2F7E0FD79\r
+:101B100008C0C801042E02C0880F991F0A94E2F77A\r
+:101B200002C080E090E0282B392B4F5F5F4F4C3094\r
+:101B3000510509F0BCCFF70180819181821793078D\r
+:101B400021F031832083709209020E940C0BF2E095\r
+:101B5000EF0EF11C42E0E41643E0F40609F026CF54\r
+:101B6000809109028823C9F081508093090288235B\r
+:101B700039F08FE99FE00197F1F700C000000DC038\r
+:101B8000E2E0F3E0D5018D919D915D018193919308\r
+:101B9000B2E0AB16B3E0BB06A9F70E94D10781E023\r
+:101BA000A2960FB6F894DEBF0FBECDBFDF91CF91E6\r
+:101BB0001F910F91FF90EF90DF90CF90BF90AF906B\r
+:101BC0009F908F907F906F905F900895E82FF0E046\r
+:101BD000EE0FFF1FEE5FFC4F808191810895089505\r
+:101BE0008091DC0381608093DC030C94C928809190\r
+:101BF000DC038E7F8093DC030C94C9280E949B2811\r
+:101C0000811102C00E9477280E94C5288093DC03BE\r
+:101C10003E9A809171008D7F8093710082E0809365\r
+:101C200090008AE18093910081E080930E030895F3\r
+:101C300080910E03811102C00E94FE0D10925E037E\r
+:101C400010925D03809171008D7F8093710080916F\r
+:101C500090008F77809390001092200310921F03C2\r
+:101C600010925703109258031092590310925A037E\r
+:101C70001092560310925503E5E3F3E0A5E2B3E0BA\r
+:101C800011921192119211921D921D9283E0E535ED\r
+:101C9000F807B1F70895CF92DF92EF92FF920F937A\r
+:101CA0001F93CF93DF9320911F03222309F484C055\r
+:101CB0006B017C0180910E03811102C00E94FE0D18\r
+:101CC00005E513E0C7E0D0E0A7019601F801929185\r
+:101CD0008291729162918F010E94052E811131C013\r
+:101CE000FE01EE0FFF1FEE0FFF1FEB5CFC4F10829B\r
+:101CF000118212821382DE01AA0FBB1FAB5DBC4FA3\r
+:101D000011961C921E92C730D105E9F021964481AC\r
+:101D10005581668177814083518362837383148206\r
+:101D200015821682178212968D919C9113971196A7\r
+:101D30009C938E9313961C921E9212973496129631\r
+:101D4000E2CF219708F680915D0390915E030197A1\r
+:101D500097FD05C090935E0380935D0304C01092CD\r
+:101D60005E0310925D0380915D0390915E0320916C\r
+:101D70005B0330915C032817390724F010925C0351\r
+:101D800010925B03892BC1F4809171008D7F809349\r
+:101D90007100809190008F7780939000109257038C\r
+:101DA000109258031092590310925A03109256033E\r
+:101DB0001092550310921F03DF91CF911F910F9145\r
+:101DC000FF90EF90DF90CF9008951F920F920FB683\r
+:101DD0000F9211244F925F926F927F928F929F92F7\r
+:101DE000AF92BF92CF92DF92EF92FF922F933F93E9\r
+:101DF0004F935F936F937F938F939F93AF93BF9313\r
+:101E0000CF93DF93EF93FF9380911F03882309F40F\r
+:101E10009BC1C0915D03D0915E031C161D060CF0A2\r
+:101E200093C140900F035090100360901103709085\r
+:101E3000120320E030E0A901C301B2010E94B02FDB\r
+:101E400018160CF065C0C130D10509F452C080915C\r
+:101E50005B0390915C03BE010E9482317C019093F0\r
+:101E60005C0380935B038090210390902203A090F9\r
+:101E70002303B090240320E030E040E85FE3C50195\r
+:101E8000B4010E94A12D60932103709322038093DB\r
+:101E9000230390932403F701EE0FFF1FEE0FFF1FA4\r
+:101EA000EB5CFC4FA301920160817181828193817F\r
+:101EB0000E94092E20E030E040E05EE30E94B42F53\r
+:101EC0009B01AC01C501B4010E94B02F18168CF41F\r
+:101ED000C7010196BE010E94823190935C038093FA\r
+:101EE0005B0310922103109222031092230310929D\r
+:101EF0002403E0915B03F0915C03EE0FFF1FEE0FF4\r
+:101F0000FF1FEB5CFC4F6081718182819381D0C0A7\r
+:101F1000C0905703D0905803E0905903F0905A03B3\r
+:101F200020E030E0A901C701B6010E94052E2197EB\r
+:101F3000882309F4A2C0FE01EE0FFF1FEE0FFF1F62\r
+:101F4000EB5CFC4F80809180A280B380A50194015E\r
+:101F5000C701B6010E94052E87FF31C0A50194017B\r
+:101F600060E070E08CED93EC0E94092E20E030E000\r
+:101F700040E451E40E94092E20E030E040E05FE3BD\r
+:101F80000E94B42F9B01AC0160E070E080E090E41F\r
+:101F90000E9417309B01AC01C501B4010E94B42F0F\r
+:101FA0009B01AC01C701B6010E94052E87FF07C047\r
+:101FB000A701960160E070E08CED93E439C0A501C3\r
+:101FC0009401C701B6010E94B02F18160CF055C03D\r
+:101FD000A501940160E070E08CED93E40E94092E6D\r
+:101FE00020E030E040E451E40E94092E20E030E09F\r
+:101FF00040E05FE30E94B42F9B01AC0160E070E021\r
+:1020000080E090E40E9417309B01AC01C501B4014F\r
+:102010000E94B42F9B01AC01C701B6010E94B02FF2\r
+:1020200018165CF5A701960160E070E08CED93EC6A\r
+:102030000E94092E20E030E040E451E40E94092E85\r
+:1020400020E030E040E05FE30E94B42F9B01AC0150\r
+:1020500060E070E080E090E40E9417309B01AC01EA\r
+:10206000C701B6010E94B42F6093570370935803C1\r
+:102070008093590390935A0313C0FE01EE0FFF1F84\r
+:10208000EE0FFF1FEB5CFC4F80819181A281B38139\r
+:102090008093570390935803A0935903B0935A0326\r
+:1020A00060915703709158038091590390915A039E\r
+:1020B00020910C0330910D032F3F4FEF340731F087\r
+:1020C0002F5F3F4F30930D0320930C030E940C139E\r
+:1020D0006B017C0120E034E244EF51E40E94052EC4\r
+:1020E00087FF08C086EFC82E88E2D82E84EFE82E3E\r
+:1020F00081E4F82E20E030E040E051E4C701B60171\r
+:102100000E94B42F9B01AC0160E074E284E79BE481\r
+:102110000E94092E6B017C010E94712E7093970022\r
+:102120006093960020910A0230910B0240910C02BC\r
+:1021300050910D02C701B6010E94B42F0E94712E6A\r
+:10214000709399006093980080912003882309F48C\r
+:1021500033C1C0901B03D0901C03E0901D03F0908E\r
+:102160001E0320E030E0A901C701B6010E94B02F94\r
+:102170001816D4F580910C0390910D038F3F2FEF2B\r
+:10218000920729F0019690930D0380930C03C701E9\r
+:10219000B6010E940C1320E030E040E051E40E94C0\r
+:1021A000B42F9B01AC0160E074E284E79BE40E94E1\r
+:1021B000092E6B017C010E94712E70939700609331\r
+:1021C000960020910A0230910B0240910C0250912E\r
+:1021D0000D02C701B6010E94B42F0E94712E7093A8\r
+:1021E00099006093980008C0109297001092960092\r
+:1021F0001092990010929800609115037091160347\r
+:102200006F5F7F4F709316036093150320919600C4\r
+:102210003091970080E090E0232BF1F0C091960080\r
+:10222000D09197000E94A22E6B017C01BE0180E03C\r
+:1022300090E00E94A22E9B01AC0160911703709167\r
+:1022400018038091190390911A030E94092E20E02F\r
+:102250003FEF4FE757E410C00E94A22E6B017C01B4\r
+:1022600020E030EE4FEF54E46091170370911803B3\r
+:102270008091190390911A030E94B42F9B01AC0125\r
+:10228000C701B6010E94B02F87FD96C0809113034D\r
+:102290008F5F8093130390E02091D8033091D9038E\r
+:1022A00082179307A0F08091E303882319F010921E\r
+:1022B00013030DC0809171008D7F80937100809118\r
+:1022C00090008F7780939000109220037DC08091C2\r
+:1022D0001403C0911303811128C0C090DD03D09076\r
+:1022E000DE03E090DF03F090E00320E030E0A9019E\r
+:1022F000C701B6010E94B02F1816BCF481E080938C\r
+:10230000140310921B0310921C0310921D031092D1\r
+:102310001E03C0921703D0921803E0921903F092A3\r
+:102320001A03C150C093130343C0109214031092B8\r
+:102330000D0310920C03E091DA03F091DB0348E007\r
+:10234000C49FE00DF11D112480819181A281B38190\r
+:1023500080931B0390931C03A0931D03B0931E0353\r
+:1023600020E030E040E85EE36481758186819781FA\r
+:102370000E94B42F6B017C0120E030E048EC52E475\r
+:1023800060910E0270910F028091100290911102E3\r
+:102390000E94092E9B01AC01C701B6010E94B42F17\r
+:1023A00060931703709318038093190390931A0393\r
+:1023B00010921603109215038091DC0380FD04C077\r
+:1023C0001092200310921F03FF91EF91DF91CF91A4\r
+:1023D000BF91AF919F918F917F916F915F914F913D\r
+:1023E0003F912F91FF90EF90DF90CF90BF90AF90F3\r
+:1023F0009F908F907F906F905F904F900F900FBE47\r
+:102400000F901F901895CF92DF92EF92FF92CF938B\r
+:10241000DF936B017C01EA0180910E03811102C000\r
+:102420000E94FE0D8091DC0380FF46C080915D0319\r
+:1024300090915E0308970CF03FC0809171008D7FF2\r
+:10244000809371008091200381110E94180E81E019\r
+:1024500080931F0310920D0310920C0320E030E0D4\r
+:10246000A901C701B6010E94B02F1816DCF48091B3\r
+:102470005D0390915E03FC01EE0FFF1FEE0FFF1F47\r
+:10248000EB5CFC4FC082D182E282F382FC01EE0F52\r
+:10249000FF1FEB5DFC4FD183C083019690935E03D9\r
+:1024A00080935D03809171008260809371008091C0\r
+:1024B0009000806880939000DF91CF91FF90EF9023\r
+:1024C000DF90CF9008958F929F92AF92BF92CF925C\r
+:1024D000DF92EF92FF920F931F93CF93DF93EC0164\r
+:1024E0007B01D42E4801590180910E03811102C055\r
+:1024F0000E94FE0D8091DC0380FF6BC08091710013\r
+:102500008D7F8093710080911F0381110E94180EAE\r
+:1025100081E080932003D093DB03C093DA03F09231\r
+:10252000D903E092D803D092E3038092DD03909226\r
+:10253000DE03A092DF03B092E00310922103109219\r
+:102540002203109223031092240310921303888114\r
+:102550009981AA81BB8180931B0390931C03A09354\r
+:102560001D03B0931E0320E030E040E85EE36C8181\r
+:102570007D818E819F810E94B42F6B017C0120E0C0\r
+:1025800030E048EC52E460910E0270910F028091AD\r
+:102590001002909111020E94092E9B01AC01C7010B\r
+:1025A000B6010E94B42F60931703709318038093B1\r
+:1025B000190390931A031092160310921503809139\r
+:1025C0007100826080937100809190008068809398\r
+:1025D0009000DF91CF911F910F91FF90EF90DF90CE\r
+:1025E000CF90BF90AF909F908F90089580915F03A0\r
+:1025F00090E0019666E070E00E94823180935F0374\r
+:10260000089580915F0390E0019766E070E00E947A\r
+:10261000823180935F0308958F929F92AF92BF9211\r
+:10262000CF92DF92EF92FF920F931F93CF93DF939E\r
+:102630006B017C01C0910C03D0910D03BE0180E0C1\r
+:1026400090E00E94A22E4B015C01A701960160E080\r
+:1026500070E08CE594E40E94092E9B01AC01C50159\r
+:10266000B4010E94B42F0E94762E20915F03233084\r
+:1026700009F473C028F4222351F02130E9F02CC171\r
+:10268000243009F4A0C0253009F4E0C025C180E061\r
+:1026900090E0A0E0BFE380930A0290930B02A09326\r
+:1026A0000C02B0930D0210920F03109210031092BF\r
+:1026B00011031092120310C110920F031092100315\r
+:1026C00010921103109212036431710540F46A30C4\r
+:1026D000710560F520E030E040E85EE32BC0693C26\r
+:1026E000710508F0AAC080E090E00E94A22E20E0D0\r
+:1026F00030E040EA51E40E94A02D20E030E044E3C5\r
+:1027000053E40E94092E9B01AC010E94B42F20E0EB\r
+:1027100030E040E05EE30E94B42F9B01AC0160E03A\r
+:1027200070E080E09EE30E94A02D44C020E030E0F5\r
+:1027300040E05FE3C701B6010E94B42F6B017C014A\r
+:1027400080E090E0A0E0BEE380930A0290930B0249\r
+:10275000A0930C02B0930D02BFC010920F03109211\r
+:10276000100310921103109212034AE0469F900149\r
+:10277000479F300D1124C90168EB7BE00E946E3148\r
+:10278000BC016C5D754077FF03C07195619571095F\r
+:10279000882777FD8095982F0E94A42E2EE333EC96\r
+:1027A0004EE259E30E94B42F20E030E040EC5EE3BB\r
+:1027B0000E94A12D60930A0270930B0280930C0279\r
+:1027C00090930D0289C010920F0310921003109283\r
+:1027D000110310921203CE0183709927892BE1F027\r
+:1027E000BE016170772780E090E00E94A22E20E079\r
+:1027F00030E040E05EE30E94B42F20E030E040E4AF\r
+:102800005FE30E94A12D60930A0270930B028093F4\r
+:102810000C0290930D020CC080E090E0A0E0BFE3BA\r
+:1028200080930A0290930B02A0930C02B0930D02C6\r
+:10283000C770DD27CD2B09F04FC010920A0210920D\r
+:102840000B0210920C0210920D0246C010920F0360\r
+:1028500010921003109211031092120300E010E086\r
+:1028600020E03FE300930A0210930B0220930C0236\r
+:1028700030930D026739710578F180E090E00E9495\r
+:10288000A22E20E030E047E153E40E94A02D20E09A\r
+:1028900030E04AE754E40E94092E20E030E048E4AA\r
+:1028A00052E40E94B42F20E030E040EA51E40E945C\r
+:1028B000E62E0E94712E660F771F660F771FFB01B1\r
+:1028C000E357FD4F2081318142815381C701B60119\r
+:1028D0000E94B42F6B017C01C701B601DF91CF913B\r
+:1028E0001F910F91FF90EF90DF90CF90BF90AF902E\r
+:1028F0009F908F900895809168030895CF93DF9300\r
+:1029000000D01F92CDB7DEB79C018091E8038430E0\r
+:1029100019F593E099833B832A839093E9008FEF25\r
+:102920009091E800815095FD06C095ED9A95F1F7DC\r
+:1029300000008111F5CF8091E80085FF0DC040E0D7\r
+:1029400050E063E070E0CE0101960E94B7168091DE\r
+:10295000E8008E778093E8000F900F900F90DF9142\r
+:10296000CF910895CF93DF9300D01F92CDB7DEB7FC\r
+:102970002091E803243021F522E029839B838A8378\r
+:1029800083E08093E9008FEF9091E800815095FDFE\r
+:1029900006C095ED9A95F1F700008111F5CF809171\r
+:1029A000E80085FF0DC040E050E063E070E0CE013C\r
+:1029B00001960E94B7168091E8008E778093E80018\r
+:1029C0000F900F900F90DF91CF9108952091E80321\r
+:1029D0002430F1F422E02093E9002FEF3091E80059\r
+:1029E000215035FD06C035ED3A95F1F70000211173\r
+:1029F000F5CF2091E80025FF0BC040E050E065E0F6\r
+:102A000070E00E94B7168091E8008E778093E8000E\r
+:102A10000895CF93DF932091E803243039F521E026\r
+:102A20002093E9002FEF3091E800215035FD06C0DA\r
+:102A300035ED3A95F1F700002111F5CF2091E8002E\r
+:102A400025FF14C0EC0140E050E068E070E00E9417\r
+:102A5000B7168091E8008E778093E80088E0FE0149\r
+:102A6000A0E6B3E001900D928A95E1F7DF91CF9156\r
+:102A700008958091E703811109C00E944C180E94BB\r
+:102A8000A9188091E20084608093E200089510927A\r
+:102A9000E7030895089508950C94A72742E061EC98\r
+:102AA00081E00E94C61742E061EC82E00E94C617F6\r
+:102AB00042E061EC83E00C94C6178091EA03833016\r
+:102AC00009F453C030F4813071F0823009F48CC0C5\r
+:102AD00008958A3009F478C08B3009F45EC08930DB\r
+:102AE00009F09AC020C08091E903813A09F094C0AE\r
+:102AF0008091E800877F8093E8008091ED039091BA\r
+:102B0000EE03892B21F468E080E693E003C060E0E7\r
+:102B100080E090E070E00E9402178091E8008B77DF\r
+:102B20008093E80008958091E903813209F074C030\r
+:102B30008091ED039091EE03892B09F06DC0809197\r
+:102B4000E800877F8093E8008091E80082FD05C05F\r
+:102B50008091E8038111F8CF5FC08091F1008093EC\r
+:102B600068038091E8008B7753C08091E903813A34\r
+:102B700009F052C08091ED039091EE03892B09F08A\r
+:102B80004BC08091E800877F8093E8008091E80047\r
+:102B900080FFFCCF80911C0236C08091E903813216\r
+:102BA000D9F58091ED039091EE03892BA9F58091E1\r
+:102BB000E800877F8093E8000E94FB178091EB0379\r
+:102BC00080931C020C946C218091E903813221F5E1\r
+:102BD0008091E800877F8093E8000E94FB17809136\r
+:102BE000EC038093690308958091E903813AA1F48D\r
+:102BF0008091E800877F8093E8008091E80080FF63\r
+:102C0000FCCF809169038093F1008091E8008E777A\r
+:102C10008093E8000C94FB17089584B7877F84BFE6\r
+:102C200088E10FB6F89480936000109260000FBEA8\r
+:102C300090E080E80FB6F894809361009093610073\r
+:102C40000FBE0E949E1B0E944C180E94A9188091E2\r
+:102C5000E20084608093E20078940E942F1B0E941F\r
+:102C6000A01B82E192E00E944A1B8091E80385301C\r
+:102C700069F40E9461278091E6038823B1F30E94E2\r
+:102C80008F27882391F30E94A116EFCF0E94A81BE3\r
+:102C9000ECCF292F332723303105C9F064F42130DC\r
+:102CA000310581F02230310509F043C084E590E020\r
+:102CB00020ED39E042C021323105F1F022323105F8\r
+:102CC00041F137C082E190E024E23AE036C0992732\r
+:102CD0008130910541F08230910541F0892B49F511\r
+:102CE000ECECF9E005C0EEE9F9E002C0E2E7F9E05A\r
+:102CF000849190E09F0121C06330D8F4E62FF0E08A\r
+:102D0000EE0FFF1FEA51FD4F2081318189E090E0F5\r
+:102D100014C0633070F470E0FB01EE0FFF1FE0524F\r
+:102D2000FD4F20813181FB01E352FD4F808190E016\r
+:102D300004C080E090E020E030E0FA01318320839D\r
+:102D4000089580E189BD82E189BD09B400FEFDCF0F\r
+:102D50008091D8008F7D8093D8008091E0008260C0\r
+:102D60008093E0008091E00081FDFCCF0895CF9238\r
+:102D7000DF92EF92FF920F931F93CF93DF93EC01BB\r
+:102D80008B016A010E941A18811133C0C114D10449\r
+:102D900039F0F60180819181081B190BC80FD91FEA\r
+:102DA000E12CF12C0115110519F18091E80085FD48\r
+:102DB00016C08091E8008E778093E800C114D1049A\r
+:102DC00049F0F60180819181E80EF91EF182E082DE\r
+:102DD00085E00FC00E941A18882321F30AC0899148\r
+:102DE0008093F10001501109FFEFEF1AFF0ADACFCB\r
+:102DF00080E0DF91CF911F910F91FF90EF90DF90D6\r
+:102E0000CF9008952091EF033091F00326173707F4\r
+:102E100048F06115710539F42091E8002E77209370\r
+:102E2000E80001C0B90140E061157105A9F12091E8\r
+:102E3000E803222309F443C0253009F442C020915D\r
+:102E4000E80023FD40C02091E80022FD32C020911F\r
+:102E5000E80020FFE9CF4091F3002091F20030E03C\r
+:102E6000342BFC01CF016115710559F02830310573\r
+:102E700040F481918093F100615071092F5F3F4FC1\r
+:102E8000F1CF41E02830310509F040E02091E80021\r
+:102E90002E772093E800C8CF4111C9CF0AC0809196\r
+:102EA000E803882361F0853061F08091E80083FDBC\r
+:102EB0000AC08091E80082FFF2CF80E0089582E0AE\r
+:102EC000089583E0089581E008952091EF03309103\r
+:102ED000F0032617370748F06115710539F4209182\r
+:102EE000E8002E772093E80001C0B901FC0120E042\r
+:102EF0006115710591F18091E803882309F440C0C0\r
+:102F0000853009F43FC08091E80083FD3DC0809189\r
+:102F1000E80082FD2FC08091E80080FFE9CF20917A\r
+:102F2000F3008091F20090E0922B6115710559F049\r
+:102F30008830910540F424912093F100319661503E\r
+:102F400071090196F2CF21E0089709F020E0809105\r
+:102F5000E8008E778093E800CBCF2111CCCF0AC058\r
+:102F60008091E803882361F0853061F08091E8006A\r
+:102F700083FD0AC08091E80082FFF2CF80E00895CF\r
+:102F800082E0089583E0089581E00895982F9730B6\r
+:102F900058F59093E900981739F07091EC00209162\r
+:102FA000ED005091F00003C0242F762F50E021FF58\r
+:102FB00019C03091EB003E7F3093EB003091ED0073\r
+:102FC0003D7F3093ED003091EB0031603093EB00AA\r
+:102FD0007093EC002093ED005093F0002091EE00F0\r
+:102FE00027FF07C09F5FD3CF8F708093E90081E0F8\r
+:102FF000089580E008958091E90387FF11C08091D2\r
+:10300000E80082FD05C08091E8038111F8CF11C06E\r
+:103010008091E8008B770BC08091E803882349F00A\r
+:103020008091E80080FFF8CF8091E8008E77809350\r
+:10303000E80008952091E4003091E50095E6409184\r
+:10304000EC00842F817040FF22C08091E80080FD59\r
+:103050001CC08091E803882391F0853091F0809125\r
+:10306000EB0085FD10C04091E4005091E50042174F\r
+:10307000530729F39A01915011F784E0089582E0F3\r
+:10308000089583E0089581E0089580E008954091D7\r
+:10309000E80042FFDECF08950E94BA180E94C218CD\r
+:1030A000E0EEF0E0808181608083E8EDF0E08081F7\r
+:1030B0008F77808319BCA7EDB0E08C918E7F8C93C5\r
+:1030C00080818F7E80831092E70308950F931F9372\r
+:1030D000CF93DF930E94BA180E94C218C8EDD0E0C7\r
+:1030E00088818F77888388818068888388818F7DB5\r
+:1030F000888319BC1092E8031092E4031092E6034F\r
+:103100001092E50300EE10E0F80180818B7F808350\r
+:1031100088818160888342E060E080E00E94C61779\r
+:10312000E1EEF0E080818E7F8083E2EEF0E080814E\r
+:1031300081608083808188608083F80180818E7FB8\r
+:103140008083888180618883DF91CF911F910F9167\r
+:103150000895E8EDF0E080818F7E8083E7EDF0E078\r
+:1031600080818160808384E082BF81E08093E70377\r
+:103170000C946618E8EDF0E080818E7F80831092D9\r
+:10318000E20008951092DA001092E10008951F9273\r
+:103190000F920FB60F9211242F933F934F935F938B\r
+:1031A0006F937F938F939F93AF93BF93EF93FF930F\r
+:1031B0008091E10082FF0BC08091E20082FF07C096\r
+:1031C0008091E1008B7F8093E1000E942E1B809113\r
+:1031D000DA0080FF1FC08091D80080FF1BC0809163\r
+:1031E000DA008E7F8093DA008091D90080FF0DC0D5\r
+:1031F00080E189BD82E189BD09B400FEFDCF81E097\r
+:103200008093E8030E94391505C019BC1092E803A9\r
+:103210000E9447158091E10080FF19C08091E20073\r
+:1032200080FF15C08091E2008E7F8093E200809144\r
+:10323000E20080618093E2008091D80080628093F8\r
+:10324000D80019BC85E08093E8030E944B1580915B\r
+:10325000E10084FF30C08091E20084FF2CC080E157\r
+:1032600089BD82E189BD09B400FEFDCF8091D800FF\r
+:103270008F7D8093D8008091E1008F7E8093E10064\r
+:103280008091E2008F7E8093E2008091E200816075\r
+:103290008093E2008091E403882311F084E007C06A\r
+:1032A0008091E30087FD02C081E001C083E080934C\r
+:1032B000E8030E944C158091E10083FF29C08091B2\r
+:1032C000E20083FF25C08091E100877F8093E100C9\r
+:1032D00082E08093E8031092E4038091E1008E7F06\r
+:1032E0008093E1008091E2008E7F8093E2008091E4\r
+:1032F000E20080618093E20042E060E080E00E94B2\r
+:10330000C6178091F00088608093F0000E944A15F3\r
+:10331000FF91EF91BF91AF919F918F917F916F91AD\r
+:103320005F914F913F912F910F900FBE0F901F9083\r
+:1033300018951F920F920FB60F9211242F933F935F\r
+:103340004F935F936F937F938F939F93AF93BF93AD\r
+:10335000CF93DF93EF93FF93C091E900CF708091FB\r
+:10336000EC00D82FD17080FDD0E81092E900809158\r
+:10337000F000877F8093F00078940E94DD1910920E\r
+:10338000E9008091F00088608093F000CD2BCF7031\r
+:10339000C093E900FF91EF91DF91CF91BF91AF9181\r
+:1033A0009F918F917F916F915F914F913F912F915D\r
+:1033B0000F900FBE0F901F9018951F93CF93DF9320\r
+:1033C000CDB7DEB7AA970FB6F894DEBF0FBECDBF5C\r
+:1033D000E9EEF3E088E08E0F9091F10091938E1367\r
+:1033E000FBCF0E945D158091E80083FF1FC1809193\r
+:1033F000E9039091EA03492F50E04A30510508F063\r
+:1034000015C1FA01EE59FF4F0C949631803881F0C6\r
+:10341000823809F00BC18091ED038F708093E90031\r
+:103420008091EB0085FB882780F91092E90006C0A7\r
+:103430008091E5039091E603911182609091E800FC\r
+:10344000977F9093E8008093F1001092F100C8C03C\r
+:10345000282F2D7F09F0EAC0882319F0823061F00F\r
+:10346000E5C08091EB03813009F0E0C0933009F0B2\r
+:1034700080E08093E6032BC08091EB03811127C08D\r
+:103480008091ED038F7009F4D1C08093E900209101\r
+:10349000EB0020FF1CC0933021F48091EB00806290\r
+:1034A00014C09091EB0090619093EB0021E030E02C\r
+:1034B000A90102C0440F551F8A95E2F74093EA0024\r
+:1034C0001092EA008091EB0088608093EB001092EC\r
+:1034D000E9008091E800877F86C08111A7C0109124\r
+:1034E000EB031F778091E3008078812B8093E300CA\r
+:1034F0008091E800877F8093E8000E94FB1780910D\r
+:10350000E80080FFFCCF8091E30080688093E300B7\r
+:10351000111102C082E001C083E08093E80386C0FD\r
+:103520008058823008F082C08091EB039091EC03C8\r
+:103530008C3D53E0950779F583E08A838AE289839D\r
+:103540004FB7F894DE01139620E03EE051E2E32FFE\r
+:10355000F0E050935700E49120FF03C0E295EF7034\r
+:103560003F5FEF708E2F90E0EA3010F0C79601C0F9\r
+:10357000C0968D939D932F5F243149F74FBF809163\r
+:10358000E800877F8093E8006AE270E0CE01019650\r
+:103590000E94021714C0AE014F5F5F4F6091ED03B0\r
+:1035A0000E944916BC01009709F440C09091E800C0\r
+:1035B000977F9093E80089819A810E946517809196\r
+:1035C000E8008B778093E80031C0803879F58091EE\r
+:1035D000E800877F8093E8008091E4038093F10006\r
+:1035E0008091E8008E778093E8000E94FB171EC050\r
+:1035F00081111CC09091EB039230C0F48091E800DF\r
+:10360000877F8093E8009093E4030E94FB178091EA\r
+:10361000E403811106C08091E30087FD02C081E0D0\r
+:1036200001C084E08093E8030E944E158091E80079\r
+:1036300083FF0AC08091E800877F8093E800809133\r
+:10364000EB0080628093EB00AA960FB6F894DEBF81\r
+:103650000FBECDBFDF91CF911F9108950895CF93F5\r
+:103660008091E8038823A1F0C091E900CF70909188\r
+:10367000EC00892F817090FD80E8C82B1092E90042\r
+:103680008091E80083FD0E94DD19CF70C093E900AE\r
+:10369000CF91089590936F0380936E030895E09106\r
+:1036A0006E03F0916F03309721F00190F081E02DCF\r
+:1036B000099480E00895E0916E03F0916F033097D4\r
+:1036C00021F00280F381E02D09940895E0916E03CA\r
+:1036D000F0916F03309721F00480F581E02D09947B\r
+:1036E000089520916C0330916D038217930771F058\r
+:1036F00090936D0380936C03E0916E03F0916F03E0\r
+:10370000309721F00680F781E02D099408952091EB\r
+:103710006A0330916B038217930771F090936B03E8\r
+:1037200080936A03E0916E03F0916F03309721F06C\r
+:103730000084F185E02D0994089508950C949D1B53\r
+:103740000E94DB270E94D20B0E9461280C94092D55\r
+:103750004F925F927F928F929F92AF92BF92CF9241\r
+:10376000DF92EF92FF920F931F93CF93DF93CDB72A\r
+:10377000DEB72A970FB6F894DEBF0FBECDBF0E940A\r
+:10378000AD0C91E7C92E93E0D92E00E010E0AA24F9\r
+:10379000A394B12C702E802F0E94E60D4C01F601EF\r
+:1037A000419051906F014826592641145104B1F4BB\r
+:1037B0000F5F1F4F0530110569F78FEF89838A83EB\r
+:1037C0001B820E94E4278160782F9D838C8349812E\r
+:1037D0005A816B818D810E94611C3AC08091C70320\r
+:1037E00081FD0E94EF0D20E030E07501022E02C045\r
+:1037F000EE0CFF1C0A94E2F7C70184219521892B66\r
+:1038000009F12E837F828E209F2091E0892809F480\r
+:1038100090E098870E94E4278160782F9A878987B3\r
+:103820004E815F8168858A850E94611C000F111F8F\r
+:10383000F801EF58FC4F80819181E826F926F1824A\r
+:10384000E08206C02F5F3F4F2C30310571F6B0CFBC\r
+:103850000E94482A109170030E944F1B1817D9F03C\r
+:103860000E944F1B809370032A960FB6F894DEBF18\r
+:103870000FBECDBFDF91CF911F910F91FF90EF90C1\r
+:10388000DF90CF90BF90AF909F908F907F905F9090\r
+:103890004F900C940A0B2A960FB6F894DEBF0FBE19\r
+:1038A000CDBFDF91CF911F910F91FF90EF90DF90EF\r
+:1038B000CF90BF90AF909F908F907F905F904F90F0\r
+:1038C0000895CF93DF93CDB7DEB72B970FB6F8945B\r
+:1038D000DEBF0FBECDBF4F83588769877A878B873E\r
+:1038E000DE01119686E0FD0111928A95E9F785E0E7\r
+:1038F000FE01379601900D928A95E1F749815A8130\r
+:103900006B817C818D819E810E9406242B960FB64F\r
+:10391000F894DEBF0FBECDBFDF91CF910895CF9356\r
+:10392000882309F4C2C0C82F823859F40E944F1B63\r
+:1039300081FDBBC089E30E94AF260E94322789E344\r
+:103940000CC0833879F40E944F1B80FDAEC083E524\r
+:103950000E94AF260E94322783E50E94CC26CF9199\r
+:103960000C943227843859F40E944F1B82FD9DC06D\r
+:1039700087E40E94AF260E94322787E4EECF8CEFC7\r
+:103980008C0F813A48F48C2F0E94712C81118DC0CC\r
+:103990008C2F0E94AF26E3CF80E28C0F883048F452\r
+:1039A000C77081E001C0880FCA95EAF70E94EB2634\r
+:1039B000D6CF8BE58C0F833078F4C53A29F0C63A20\r
+:1039C00031F083E890E005C081E890E002C082E831\r
+:1039D00090E0CF910C94711B88E58C0F833108F037\r
+:1039E00064C0C83A39F1C93A41F1CA3A49F1CB3A0F\r
+:1039F00051F1CC3A59F1CD3A61F1C03B69F1CE3A7F\r
+:103A000071F1CF3A79F1C13B81F1C23B89F1C33BFE\r
+:103A100091F1C43B99F1C53BA1F1C63BA9F1C73B6C\r
+:103A2000B1F1C83BB9F1C93BC1F1CA3BC9F180E072\r
+:103A300090E038C082EE90E035C089EE90E032C070\r
+:103A40008AEE90E02FC085EB90E02CC086EB90E0F2\r
+:103A500029C087EB90E026C08CEC90E023C08DEC71\r
+:103A600090E020C083E891E01DC08AE891E01AC090\r
+:103A700082E991E017C084E991E014C081E292E00C\r
+:103A800011C083E292E00EC084E292E00BC085E2B6\r
+:103A900092E008C086E292E005C087E292E002C0B0\r
+:103AA0008AE292E0CF910C94871BCF9108958823EE\r
+:103AB00009F44BC0823859F40E944F1B81FF45C066\r
+:103AC00089E30E94AF260E94322789E30CC0833825\r
+:103AD00071F40E944F1B80FF38C083E50E94AF261F\r
+:103AE0000E94322783E50E94CC260C94322784382A\r
+:103AF00059F40E944F1B82FF28C087E40E94AF2622\r
+:103B00000E94322787E4EFCF9CEF980F913A58F349\r
+:103B100090E2980F983050F4877091E001C0990FAF\r
+:103B20008A95EAF7892F0E94F126DFCF9BE5980F4F\r
+:103B3000933020F480E090E00C94711B885A83311C\r
+:103B400020F480E090E00C94871B0895882321F0F6\r
+:103B50000E94EB260C9432270895882321F00E94BE\r
+:103B6000F1260C9432270895BF92CF92DF92EF9204\r
+:103B7000FF920F931F93CF93DF9300D000D000D01C\r
+:103B8000CDB7DEB725E0FC01DE01119601900D9264\r
+:103B90002A95E1F7FC01D0801181028125812295CF\r
+:103BA0002F7043815481452B09F472C31F3F21F4C8\r
+:103BB000FFEFDF1609F46CC37C012E830E94D3074C\r
+:103BC000D9821A8369817A81802F0E94AB26182FAF\r
+:103BD000B92E0E9460260E9427252E81002319F00D\r
+:103BE0000E9408272E81EB2DE295EF70F0E0E4595A\r
+:103BF000FF4F0C9496318B2D807F9B2D9F70F92E5B\r
+:103C0000882319F0F29480EFF822002389F0FF2036\r
+:103C100009F47CC280E2810F883020F48F2D0E944D\r
+:103C2000EB2603C08F2D0E94FB260E9432276EC216\r
+:103C3000812F0E94571DFF2009F42AC3105E8F2D8B\r
+:103C4000183018F40E94F12602C00E94012726961F\r
+:103C50000FB6F894DEBF0FBECDBFDF91CF911F919D\r
+:103C60000F91FF90EF90DF90CF90BF900C94322790\r
+:103C70008B2D807F9B2D9F70803211F4892F03C084\r
+:103C8000892F8295807F112319F0113011F12BC0FB\r
+:103C90000023A9F0222389F1213079F526960FB669\r
+:103CA000F894DEBF0FBECDBFDF91CF911F910F9172\r
+:103CB000FF90EF90DF90CF90BF900C941B272223B2\r
+:103CC00019F0213009F4E4C28E830E941E278E81F0\r
+:103CD0009BC1002321F0263008F0DAC20EC0253047\r
+:103CE00008F0D6C291C10023C9F0222331F0F701B8\r
+:103CF000958190FF0BC29F70958326960FB6F8941E\r
+:103D0000DEBF0FBECDBFDF91CF911F910F91FF900E\r
+:103D1000EF90DF90CF90BF900C94A61D222309F462\r
+:103D200073C109C22B2D26952695237030E02115ED\r
+:103D3000310521F021303105D1F0AAC2002321F054\r
+:103D4000812F9B2D937002C080E090E026960FB6E5\r
+:103D5000F894DEBF0FBECDBFDF91CF911F910F91C1\r
+:103D6000FF90EF90DF90CF90BF900C94711B0023D9\r
+:103D700021F0812F9B2D937002C080E090E0269669\r
+:103D80000FB6F894DEBF0FBECDBFDF91CF911F916C\r
+:103D90000F91FF90EF90DF90CF90BF900C94871B16\r
+:103DA000812F002319F00E94502902C00E94B829D7\r
+:103DB00026960FB6F894DEBF0FBECDBFDF91CF9130\r
+:103DC0001F910F91FF90EF90DF90CF90BF900C94D8\r
+:103DD0003D2A8B2D837009F07BC0011159C2812FC0\r
+:103DE000829586958770880F880F912F9F70C92EB6\r
+:103DF000D12CE12CF12C082E04C0CC0CDD1CEE1CC7\r
+:103E0000FF1C0A94D2F714FF12C04FE050E060E0AC\r
+:103E100070E004C0440F551F661F771F8A95D2F7C4\r
+:103E2000CB01BA01609570958095909503C060E0D4\r
+:103E300070E0CB012B2D269526952370422F50E064\r
+:103E400042305105D9F04330510569F16C297D2983\r
+:103E50008E299F294130510551F126960FB6F894CD\r
+:103E6000DEBF0FBECDBFDF91CF911F910F91FF90AD\r
+:103E7000EF90DF90CF90BF900C944E256C297D2958\r
+:103E80008E299F2926960FB6F894DEBF0FBECDBFB0\r
+:103E9000DF91CF911F910F91FF90EF90DF90CF9026\r
+:103EA000BF900C946A250E944E25C701B601269644\r
+:103EB0000FB6F894DEBF0FBECDBFDF91CF911F913B\r
+:103EC0000F91FF90EF90DF90CF90BF900C94322530\r
+:103ED000002319F08B2D817001C08695882309F489\r
+:103EE000D7C1812F829586958770880F880F912F73\r
+:103EF0009F70C92ED12CE12CF12C082E04C0CC0CC3\r
+:103F0000DD1CEE1CFF1C0A94D2F714FF12C04FE018\r
+:103F100050E060E070E004C0440F551F661F771F3B\r
+:103F20008A95D2F7CB01BA016095709580959095EE\r
+:103F300003C060E070E0CB012B2D26952695237001\r
+:103F4000422F50E042305105D9F04330510569F11C\r
+:103F50006C297D298E299F294130510551F12696E2\r
+:103F60000FB6F894DEBF0FBECDBFDF91CF911F918A\r
+:103F70000F91FF90EF90DF90CF90BF900C94282688\r
+:103F80006C297D298E299F2926960FB6F894DEBFCD\r
+:103F90000FBECDBFDF91CF911F910F91FF90EF909A\r
+:103FA000DF90CF90BF900C9444260E942826C70132\r
+:103FB000B60126960FB6F894DEBF0FBECDBFDF91D7\r
+:103FC000CF911F910F91FF90EF90DF90CF90BF9016\r
+:103FD0000C940C26103F49F118F4103E48F491C09F\r
+:103FE000123F09F453C0E8F1133F09F464C089C0DB\r
+:103FF0001F708B2D8F71002321F00E94A525812F2A\r
+:104000007CCE0E94C625812F26960FB6F894DEBF7F\r
+:104010000FBECDBFDF91CF911F910F91FF90EF9019\r
+:10402000DF90CF90BF900C94AD1D0023B1F02530F0\r
+:1040300008F02EC18B2D8F7126960FB6F894DEBF37\r
+:104040000FBECDBFDF91CF911F910F91FF90EF90E9\r
+:10405000DF90CF90BF900C94EB25263008F018C16C\r
+:10406000E9CF0023A9F08B2D8F7126960FB6F89417\r
+:10407000DEBF0FBECDBFDF91CF911F910F91FF909B\r
+:10408000EF90DF90CF90BF900C94A525002359F3BB\r
+:104090008B2D8F7126960FB6F894DEBF0FBECDBF65\r
+:1040A000DF91CF911F910F91FF90EF90DF90CF9014\r
+:1040B000BF900C94C625002399F08B2D8F71269606\r
+:1040C0000FB6F894DEBF0FBECDBFDF91CF911F9129\r
+:1040D0000F91FF90EF90DF90CF90BF900C949025C0\r
+:1040E00026960FB6F894DEBF0FBECDBFDF91CF91FD\r
+:1040F0001F910F91FF90EF90DF90CF90BF900C94A5\r
+:1041000086250023A9F0222309F4ADCF812F26961E\r
+:104110000FB6F894DEBF0FBECDBFDF91CF911F91D8\r
+:104120000F91FF90EF90DF90CF90BF900C948F1C79\r
+:10413000222309F4ADCF812F26960FB6F894DEBF67\r
+:104140000FBECDBFDF91CF911F910F91FF90EF90E8\r
+:10415000DF90CF90BF900C94571D4B2D4F70612F67\r
+:10416000C7010E940B0626960FB6F894DEBF0FBE5D\r
+:10417000CDBFDF91CF911F910F91FF90EF90DF9016\r
+:10418000CF90BF900C94AA24011182C09B2D9F70E8\r
+:10419000492F50E04230510509F443C0C4F44115A1\r
+:1041A000510571F14130510509F072C026960FB6E4\r
+:1041B000F894DEBF0FBECDBFDF91CF911F910F915D\r
+:1041C000FF90EF90DF90CF90BF900C94312D433053\r
+:1041D0005105C1F14430510509F05AC0812F26968E\r
+:1041E0000FB6F894DEBF0FBECDBFDF91CF911F9108\r
+:1041F0000F91FF90EF90DF90CF90BF900C94832DA4\r
+:1042000026960FB6F894DEBF0FBECDBFDF91CF91DB\r
+:104210001F910F91FF90EF90DF90CF90BF900C9483\r
+:104220001A2D26960FB6F894DEBF0FBECDBFDF91D4\r
+:10423000CF911F910F91FF90EF90DF90CF90BF90A3\r
+:104240000C944D2D26960FB6F894DEBF0FBECDBF51\r
+:10425000DF91CF911F910F91FF90EF90DF90CF9062\r
+:10426000BF900C94602D4B2D4F70612FC701269687\r
+:104270000FB6F894DEBF0FBECDBFDF91CF911F9177\r
+:104280000F91FF90EF90DF90CF90BF900C94D507E7\r
+:1042900026960FB6F894DEBF0FBECDBFDF91CF914B\r
+:1042A0001F910F91FF90EF90DF90CF90BF900895F6\r
+:1042B0000E9408270E9418270E94DD260E943227AC\r
+:1042C0000E94EE2A0E943D2A80E090E00E94711B2D\r
+:1042D00080E090E00C94871B0E94F8260C945821F3\r
+:1042E0000E94A026292F22952F7030E02C30310516\r
+:1042F0004CF42A3031056CF422503109223031055A\r
+:1043000088F407C02C30310549F02F30310531F0E9\r
+:1043100009C0803E48F0803F29F406C093FB8827FF\r
+:1043200080F9089580E0089581E00895CF93DF93A8\r
+:1043300000D000D01F92CDB7DEB70F900F900F9036\r
+:104340000F900F90DF91CF910895CF93DF9300D01E\r
+:1043500000D000D0CDB7DEB726960FB6F894DEBFFA\r
+:104360000FBECDBFDF91CF9108951F93CF93DF9301\r
+:10437000C0917B0316E080917C03C81799F0D0E0D0\r
+:104380001C9FF0011D9FF00D1124E358FC4F40814C\r
+:10439000518162817381848195810E94A52121963A\r
+:1043A000C770E9CFDF91CF911F9108954091AD0380\r
+:1043B0005091AE036091AF037091B0038091B1034F\r
+:1043C0009091B2030C94A5218091B20382958F70D5\r
+:1043D00009F054C08091AF03882309F44FC0809145\r
+:1043E0007B03A0917C036091AD037091AE0340917B\r
+:1043F000B0035091B103B6E08A1709F43FC090E0D2\r
+:1044000041155105C1F17F3F11F46F3FA1F1B89FF4\r
+:10441000F001B99FF00D1124E358FC4F2181721374\r
+:104420002AC02081621327C02281211124C0238148\r
+:1044300034812417350710F421503109241B350B22\r
+:10444000283C3105C0F42091B2032F7020612093E5\r
+:10445000B20326E0289FF001299FF00D1124EE57AA\r
+:10446000FC4F80818F70806180838DEA93E00E9491\r
+:10447000B41D0C94B52101968770BECF0895CF92DC\r
+:10448000DF92EF92FF920F931F93CF93DF93CDB7FD\r
+:10449000DEB762970FB6F894DEBF0FBECDBF8C01BA\r
+:1044A00085E0F801DE011D9601900D928A95E1F7F5\r
+:1044B000D8014C9111965C91119712966C911297BC\r
+:1044C0001396CD90DC9014973091AD037091AE03AC\r
+:1044D0008091B0039091B103009709F46BC17F3FC5\r
+:1044E00019F43F3F09F466C1E090AF03EE2009F4F0\r
+:1044F000C0C02091B203C816D90628F0F601E81B07\r
+:10450000F90BCF0104C0809590958C0D9D1DFF2463\r
+:10451000F394883C910578F0F12C207F09F0C6C017\r
+:104520007C2DD98AC88A89890E9496218DEA93E0D8\r
+:104530000E94B41DB1C0822F807F09F046C0751360\r
+:1045400014C0341312C0611110C02F702061209369\r
+:10455000B2030E94D6218DEA93E00E94B41D80919F\r
+:10456000B203D80115968C932EC0CD2819F15F3F68\r
+:1045700011F44F3FF9F0F62E61111CC080917B03BE\r
+:1045800020917C0336E0821709F45AC090E0389FEE\r
+:10459000F001399FF00D1124E358FC4F718157133E\r
+:1045A00006C07081471303C07281711103C0019668\r
+:1045B0008770E9CFF62E662309F418C18091B20303\r
+:1045C00081608093B203F12C11C1751308C03413BC\r
+:1045D00006C0611104C08091B203D801C3C04D87E9\r
+:1045E0005E878D859E856A8B0E9470216A898823EB\r
+:1045F000E1F16623D1F12091B203822F82958F7071\r
+:1046000090E0029774F08091AD039091AE0398878B\r
+:104610008F831986DB86CA862C87CE0107960E9477\r
+:10462000B41D86E0F801ADEAB3E001900D928A95E1\r
+:10463000E1F70E94E4210E94D621FF24F394D6C022\r
+:104640004D875E878D859E850E94A026292F229505\r
+:104650002F7030E0223031050CF0BCC09F7009F0A3\r
+:10466000B6C0805E883008F4C1C0C8010E94B41D85\r
+:10467000E4CFC816D90608F453C0F601E81BF90BBD\r
+:10468000CF01883C910508F450C0F12C7C2DD98ACB\r
+:10469000C88A89890E949621EDEAF3E086E0DF016D\r
+:1046A0001D928A95E9F70E94D621A0C0751314C007\r
+:1046B000341312C0611110C08091B203F8018583D8\r
+:1046C000C8010E94B41D86E0EDEAF3E0DF011D920F\r
+:1046D0008A95E9F7FE2C8AC04D875E878D859E8579\r
+:1046E0006A8B0E9470216A89882309F4BECF6623F1\r
+:1046F00009F4BBCF2091B203822F82958F7090E096\r
+:1047000002970CF48ECF8091AD039091AE039A8303\r
+:1047100089831B82DD82CC822E83CE0101967FCFDE\r
+:10472000809590958C0D9D1DACCFF62E662309F4D7\r
+:104730009CCF75132EC034132CC02091B20320FDE2\r
+:104740001FC0822F82958F70D9F0D80115962C93B7\r
+:1047500015978F3049F08F5F982F9295907F822F19\r
+:104760008F70892B15968C93C8010E94B41D86E02A\r
+:10477000F801ADEAB3E001900D928A95E1F793CF8D\r
+:1047800086E0F801ADEAB3E001900D928A95E1F779\r
+:104790002DC04D875E878D859E850E947021811179\r
+:1047A00040CF8091B20381608093B203C8010E9420\r
+:1047B000B41D1CC0662309F458CF4D875E878D85D4\r
+:1047C0009E850E947021882309F44FCF2ACF811142\r
+:1047D00048CF0CC0243031050CF047CF9F7009F44E\r
+:1047E00040CFF8019581907F09F03BCF8F2D6296E5\r
+:1047F0000FB6F894DEBF0FBECDBFDF91CF911F91F2\r
+:104800000F91FF90EF90DF90CF9008951F93CF937B\r
+:10481000DF93CDB7DEB72C970FB6F894DEBF0FBE8F\r
+:10482000CDBF4F83588769877A878B879C87CE0156\r
+:1048300007960E943F22882369F08F8198852A85F8\r
+:104840003B85232BF1F19F3F09F063C08F3F09F0B7\r
+:1048500060C037C086E0FE013796DE0111960190F8\r
+:104860000D928A95E1F76F817885EA85FB8530970F\r
+:1048700041F17F3F11F46F3F21F120917C0330E043\r
+:10488000C90101968770992740917B0350E08417F6\r
+:10489000950709F447C069837A83FD83EC8396E02A\r
+:1048A000929FD001939FB00D1124A358BC4FFE01DD\r
+:1048B000319601900D929A95E1F780937C030E94C6\r
+:1048C000B52116E080917B0390917C038917C1F19B\r
+:1048D000189FC001112483589C4F0E943F228823B7\r
+:1048E00079F1E0917B031E9FF0011124E358FC4F06\r
+:1048F0004081518162817381848195810E94A521CB\r
+:1049000080917B0390E001968770992780937B03C9\r
+:10491000D9CF4F81588569857A858B859C850E9482\r
+:10492000A521CFCF0E946C2110927C0310927B03B3\r
+:10493000EDEAF3E086E0DF011D928A95E9F7C1CF49\r
+:104940002C960FB6F894DEBF0FBECDBFDF91CF918E\r
+:104950001F910895EF92FF920F931F93CF93DF93D0\r
+:104960008C01009709F46CC0F12CEE24E394E8016B\r
+:104970002196F8018491843740F4843008F051C0C6\r
+:10498000813081F0823019F15BC0853709F444C071\r
+:10499000A8F19CE7980F903708F052C08F770E94DB\r
+:1049A000571D41C00E5F1F4FFE01C49180E28C0F66\r
+:1049B000883048F4C7708E2D01C0880FCA95EAF779\r
+:1049C0000E940B2714C08C2F0E948F1C2DC00E5FDD\r
+:1049D0001F4FFE01C49180E28C0F883058F4C770DD\r
+:1049E0008E2D01C0880FCA95EAF70E9411270E94F8\r
+:1049F00032271AC08C2F0E94571D16C00E5F1F4F02\r
+:104A0000FE01C491CC2381F08FE99FE00197F1F77B\r
+:104A100000C00000C150F6CF0E5F1F4FFE01F490A2\r
+:104A200003C00E948F1C8E018F2D882309F49FCF15\r
+:104A3000EFE9FFE03197F1F700C000008150F5CFBA\r
+:104A4000DF91CF911F910F91FF90EF9008950895FE\r
+:104A50006093B7037093B8038093B9039093BA033C\r
+:104A60000C9458210F931F930091B7031091B80332\r
+:104A70002091B9033091BA03DC01CB01802B912B3B\r
+:104A8000A22BB32B8093B7039093B803A093B903E1\r
+:104A9000B093BA031F910F910C9458210F931F9359\r
+:104AA0000091B7031091B8032091B9033091BA0374\r
+:104AB000DC01CB0180239123A223B3238093B7038E\r
+:104AC0009093B803A093B903B093BA031F910F91C9\r
+:104AD0000C9458210F931F930091B7031091B803C2\r
+:104AE0002091B9033091BA03DC01CB0180279127D3\r
+:104AF000A227B3278093B7039093B803A093B90379\r
+:104B0000B093BA031F910F910C9458211092B303E4\r
+:104B10001092B4031092B5031092B6030C9458216E\r
+:104B200041E050E060E070E004C0440F551F661F94\r
+:104B3000771F8A95D2F74093B3035093B4036093E1\r
+:104B4000B5037093B6030C94582141E050E060E047\r
+:104B500070E004C0440F551F661F771F8A95D2F777\r
+:104B60008091B3039091B403A091B503B091B603C3\r
+:104B7000482B592B6A2B7B2B4093B3035093B403E0\r
+:104B80006093B5037093B6030C94582141E050E054\r
+:104B900060E070E004C0440F551F661F771F8A95C0\r
+:104BA000D2F740955095609570958091B3039091A0\r
+:104BB000B403A091B503B091B603482359236A23E7\r
+:104BC0007B234093B3035093B4036093B503709376\r
+:104BD000B6030C94582141E050E060E070E004C05E\r
+:104BE000440F551F661F771F8A95D2F78091B30334\r
+:104BF0009091B403A091B503B091B603482759270B\r
+:104C00006A277B274093B3035093B4036093B503A3\r
+:104C10007093B6030C9458210F931F930091B30324\r
+:104C20001091B4032091B5033091B603DC01CB01A0\r
+:104C3000802B912BA22BB32B8093B3039093B403BF\r
+:104C4000A093B503B093B6031F910F910C94582114\r
+:104C50000F931F930091B3031091B4032091B503F8\r
+:104C60003091B603DC01CB0180239123A223B3232F\r
+:104C70008093B3039093B403A093B503B093B603AA\r
+:104C80001F910F910C9458210F931F930091B30320\r
+:104C90001091B4032091B5033091B603DC01CB0130\r
+:104CA00080279127A227B3278093B3039093B4035F\r
+:104CB000A093B503B093B6031F910F910C945821A4\r
+:104CC0000895CF92DF92EF92FF920F931F93CF93AD\r
+:104CD000DF938C01C090B703D090B803E090B90384\r
+:104CE000F090BA038091B3039091B403A091B503FF\r
+:104CF000B091B603C82AD92AEA2AFB2ACFE1D0E02C\r
+:104D0000D701C6010C2E04C0B695A7959795879537\r
+:104D10000A94D2F780FF06C0B8018C2F0E942F0A98\r
+:104D2000019721F4219760F780E001C08C2FDF917B\r
+:104D3000CF911F910F91FF90EF90DF90CF9008954A\r
+:104D4000CF93DF93EC010E946126BE010E942F0ADF\r
+:104D5000DF91CF910895CB010E94A0260895209164\r
+:104D60001D0230911E02F90132969FEF40E05191F1\r
+:104D7000581789F09F3F19F4511101C0942F4F5FCC\r
+:104D80004630A9F79F3F39F0F901E90FF11D97FD72\r
+:104D9000FA9582830895089520911D0230911E0294\r
+:104DA000F9013296285F3F4F9081981301C010821D\r
+:104DB0003196E217F307C1F7089581E090E0E091A2\r
+:104DC0001D02F0911E02E80FF91F10820196883033\r
+:104DD0009105A9F708959091C603892B8093C60386\r
+:104DE000089580959091C60389238093C603089502\r
+:104DF0001092C60308959091C503892B8093C50333\r
+:104E0000089580959091C50389238093C5030895E3\r
+:104E10001092C50308959091C403892B8093C40315\r
+:104E2000089580959091C40389238093C4030895C5\r
+:104E30001092C40308958093BB0308951092BB039E\r
+:104E4000089580911D0290911E02FC0131969C01F3\r
+:104E5000285F3F4F80E0919191118F5FE217F30738\r
+:104E6000D1F70895E0911D02F0911E028091C603D2\r
+:104E70008083E0911D02F0911E0290818091C50314\r
+:104E8000892B8083E0911D02F0911E029081809118\r
+:104E9000C403892B80838091BB03882361F0E09158\r
+:104EA0001D02F0911E029081892B80830E94212790\r
+:104EB00081111092BB0380911D0290911E020C94EF\r
+:104EC0005B1B8091E803843039F11092C80320E421\r
+:104ED00088E190E00FB6F894A895809360000FBE2B\r
+:104EE0002093600080E00E94D20580E00E940A0BBF\r
+:104EF00083B7817F846083BF83B7816083BF7894E9\r
+:104F0000889583B78E7F83BF88E10FB6F89480932E\r
+:104F10006000109260000FBE089508950895CF9329\r
+:104F200080E00E94D2050E948D270E94AD0C0E9455\r
+:104F30008E27C0E08C2F0E94E60D892B29F4CF5FCD\r
+:104F4000C530C1F780E001C081E0CF9108950E9493\r
+:104F50006C2180E00E94D2050E94092D0E944F1B07\r
+:104F60000C940A0B1F920F920FB60F9211248F937D\r
+:104F70009F93AF93BF938091C803811113C0809119\r
+:104F8000C9039091CA03A091CB03B091CC03419681\r
+:104F9000A11DB11D8093C9039093CA03A093CB03B5\r
+:104FA000B093CC03BF91AF919F918F910F900FBEA3\r
+:104FB0000F901F90189582E084BD93E095BD9AEF05\r
+:104FC00097BD80936E0008952FB7F8948091C90320\r
+:104FD0009091CA03A091CB03B091CC032FBF089549\r
+:104FE000CF92DF92EF92FF920F931F932FB7F89417\r
+:104FF0004091C9035091CA036091CB037091CC03D7\r
+:105000002FBF6A017B01EE24FF248C0120E030E0F9\r
+:10501000C016D106E206F30610F4415051099A0178\r
+:10502000281B390BC9011F910F91FF90EF90DF9062\r
+:10503000CF9008951F920F920FB60F9211248F9365\r
+:105040009F93AF93BF938091C9039091CA03A0919E\r
+:10505000CB03B091CC030196A11DB11D8093C90370\r
+:105060009093CA03A093CB03B093CC03BF91AF91AD\r
+:105070009F918F910F900FBE0F901F9018950E94D7\r
+:105080004C18F8942FEF87EA91E621508040904029\r
+:10509000E1F700C0000087E090EBDC018093F303B0\r
+:1050A0009093F403A093F503B093F6039CE088E19A\r
+:1050B0000FB6F894A895809360000FBE909360009F\r
+:1050C000FFCF0E949B28811102C00E9477280E9476\r
+:1050D000A6288093C7030E94B3288093F1030E94FF\r
+:1050E000AA28682F70E080E090E00C9428256DEEEF\r
+:1050F0007EEF80E090E00E94BC3160E082E090E0D2\r
+:105100000E94AA3160E083E090E00E94AA3160E052\r
+:1051100084E090E00E94AA3160E085E090E00E9487\r
+:10512000AA3160E086E090E00E94AA316FEF87E04C\r
+:1051300090E00C94AA3180E090E00E94A43121E03C\r
+:105140008D3E9E4F09F020E0822F089582E090E08E\r
+:105150000C949C3183E090E00C949C31682F83E0A8\r
+:1051600090E00C94AA3184E090E00C949C31682F7C\r
+:1051700084E090E00C94AA3186E090E00C949C319D\r
+:10518000682F86E090E00C94AA3187E090E00C94C0\r
+:105190009C31682F87E090E00C94AA318091CF0376\r
+:1051A00080FF0BC06091220285E0689FB00111244E\r
+:1051B00075956795759567952BC081FF09C06091BE\r
+:1051C000220285E0689FB00111247595679520C083\r
+:1051D00082FF07C06091220285E0689FB001112420\r
+:1051E00017C09091D0039923D1F0609121029617B6\r
+:1051F00088F72091220285E0289F90011124929F38\r
+:10520000A001939F500D112470E0CA010E948231C9\r
+:105210006038710540F46115710539F002C065E030\r
+:1052200070E0862F08958FE7089581E008958091BA\r
+:10523000CF0380FF08C06091200270E075956795EC\r
+:105240007595679521C081FF06C06091200270E0CE\r
+:105250007595679519C082FF04C06091200270E0C7\r
+:1052600010C09091D0039923C1F060911F0296174E\r
+:10527000A0F780912002899FC001112470E00E9454\r
+:1052800082316038710528F46115710521F0862F8F\r
+:1052900008958FE7089581E0089561E070E0F4CF0C\r
+:1052A000803F21F40E94CE28819504C0813F29F4DB\r
+:1052B0000E94CE288093D3030895823F21F40E9458\r
+:1052C000CE28819504C0833F29F40E94CE28809384\r
+:1052D000D2030895893F19F40E94172905C08A3F17\r
+:1052E00031F40E94172981958093D40308958B3F50\r
+:1052F00021F40E941729819504C08C3F29F40E9453\r
+:1053000017298093D5030895843F21F48091D10318\r
+:10531000816017C0853F21F48091D103826011C064\r
+:10532000863F21F48091D10384600BC0873F21F434\r
+:105330008091D103886005C0883F31F48091D1030A\r
+:1053400080618093D10308958D3F21F48091CF0334\r
+:1053500081600BC08E3F21F48091CF03826005C035\r
+:105360008F3F29F48091CF0384608093CF03089509\r
+:10537000803F39F48091D30387FF6CC01092D30330\r
+:1053800069C0813F29F48091D3031816BCF362C031\r
+:105390009091D203823F29F497FF5CC01092D20310\r
+:1053A00059C0833F19F41916CCF354C0893F41F416\r
+:1053B0008091D40318160CF04DC01092D4034AC04B\r
+:1053C0008A3F29F48091D40387FF44C0F6CF8B3FF6\r
+:1053D00039F48091D50387FF3DC01092D5033AC0C0\r
+:1053E0008C3F29F48091D5031816BCF333C0843F59\r
+:1053F00021F48091D1038E7F17C0853F21F48091E5\r
+:10540000D1038D7F11C0863F21F48091D1038B7F22\r
+:105410000BC0873F21F48091D103877F05C0883F6F\r
+:1054200031F48091D1038F7E8093D10313C08D3FDF\r
+:1054300021F48091CF038E7F0BC08E3F21F48091A9\r
+:10544000CF038D7F05C08F3F29F48091CF038B7FE1\r
+:105450008093CF038091D20381110EC08091D3033A\r
+:1054600081110AC08091D403811106C08091D503B7\r
+:10547000811102C01092D003089581ED93E00E9443\r
+:10548000661B0E94E4279093CE038093CD0308957A\r
+:105490001F93CF93DF938091CD039091CE030E9411\r
+:1054A000F027AC019091D003992321F020912302A1\r
+:1054B00030E006C0209124028AE0289F9001112448\r
+:1054C0004217530708F486C08091D203C091D303DA\r
+:1054D000D091D4031091D503811107C0C11176C0BA\r
+:1054E000D11174C0111172C075C09F3F19F09F5F38\r
+:1054F0009093D003181624F40E94CE288093D203F0\r
+:105500008091D20387FF05C00E94CE2881958093A9\r
+:10551000D2031C1624F40E94CE288093D3038091DA\r
+:10552000D30387FF05C00E94CE2881958093D303C3\r
+:105530006091D203662339F1C091D303CC2319F1D2\r
+:10554000772767FD7095872F972F0E94A42E23E35E\r
+:1055500033E343E35FE30E94B42F0E94712E609314\r
+:10556000D2036C2F772767FD7095872F972F0E94A6\r
+:10557000A42E23E333E343E35FE30E94B42F0E94AE\r
+:10558000712E6093D3031D1624F40E941729809373\r
+:10559000D4038091D40387FF05C00E941729819509\r
+:1055A0008093D403111624F40E9417298093D50305\r
+:1055B0008091D50387FF05C00E94172981958093AC\r
+:1055C000D503DF91CF911F910C943D2A9F3F09F0A5\r
+:1055D0008ECF96CFDF91CF911F910895E1EDF3E04B\r
+:1055E00085E0DF011D928A95E9F71092D0031092B1\r
+:1055F000CF030895833081F128F4813059F082304F\r
+:10560000D1F00895853009F449C0B8F1863009F425\r
+:1056100056C0089580912402262F30E0280F311DB6\r
+:105620002F3F310524F4680F6093240208958FEF13\r
+:1056300080932402089580912302262F30E0280FC2\r
+:10564000311D2F3F310524F4680F60932302089524\r
+:105650008FEF80932302089580912202262F30E05D\r
+:10566000280F311D2F3F310524F4680F609322026B\r
+:1056700008958FEF80932202089580912102262FB2\r
+:1056800030E0280F311D2F3F310524F4680F60935F\r
+:10569000210208958FEF80932102089580912002C6\r
+:1056A000262F30E0280F311D2F3F310524F4680FDD\r
+:1056B0006093200208958FEF8093200208958091D7\r
+:1056C0001F02262F30E0280F311D2F3F310524F413\r
+:1056D000680F60931F0208958FEF80931F02089553\r
+:1056E000833011F128F4813049F0823091F008952F\r
+:1056F000853081F120F18630C1F108958091240236\r
+:10570000681720F4861B80932402089510922402C7\r
+:10571000089580912302681720F4861B809323024A\r
+:10572000089510922302089580912202681720F4B0\r
+:10573000861B809322020895109222020895809180\r
+:105740002102681720F4861B80932102089510928D\r
+:105750002102089580912002681720F4861B80930F\r
+:105760002002089510922002089580911F02681768\r
+:1057700020F4861B80931F02089510921F02089543\r
+:105780000F931F938732D8F58E3108F087C08E3083\r
+:1057900009F471C098F4873009F45BC08B3009F4C8\r
+:1057A00091C0863009F095C08091C703817F8E7FBC\r
+:1057B0008093C70381E08093D7038CC0863109F4BE\r
+:1057C00081C068F4803109F084C08091C70383FBF5\r
+:1057D000222720F991E0922790FB83F955C0893167\r
+:1057E00009F470C08B3109F074C08091C70381FB4C\r
+:1057F000222720F991E0922790FB81F945C0883358\r
+:1058000009F460C050F4893209F45EC0853309F4AC\r
+:105810005BC0873209F458C05CC0833409F454C0BB\r
+:1058200028F48A3308F455C0895339C0883409F004\r
+:1058300050C00E946C210E94B2070FEF13ED20E3CD\r
+:10584000015010402040E1F700C000000E943F28B6\r
+:1058500039C09091C703892F8095817080FB90F9A2\r
+:1058600029F0966098609093C70334C0997F977F22\r
+:105870009093C70327C08091C70382FB222720F99A\r
+:1058800091E0922790FB82F98093C7039923D1F08E\r
+:105890008091C70381608093C70314C08D5141E09C\r
+:1058A00050E060E070E08A019B0104C0000F111F0E\r
+:1058B000221F331F8A95D2F7C901B8010E942825FB\r
+:1058C0000E946C2181E006C061E070E080E090E021\r
+:1058D000F5CF80E01F910F91089580E0089580E05A\r
+:1058E0000895CF93C82F8091D703813069F018F0C5\r
+:1058F0008230C9F184C0E0911D02F0911E028081C6\r
+:10590000823209F07EC007C0E0911D02F0911E02B4\r
+:105910008081823261F48C2F0E946D2C811104C031\r
+:105920008C2F0E94C02B1DC081E090E01AC08C2FEC\r
+:105930000E946F2C811114C0C43179F048F4CB302F\r
+:1059400079F0C03109F061C082E08093D70308C0CC\r
+:10595000C93219F0C83321F058C01092D70355C08E\r
+:1059600081E0817054C0C93291F120F5C43179F1E0\r
+:10597000B0F4C73009F047C08EE18093240282E37F\r
+:10598000809323028AE08093220284E180932102A3\r
+:1059900088E08093200288E280931F0234C0CE51B9\r
+:1059A000C63088F5EC2FF0E0E451FD4F8081809304\r
+:1059B000D60329C0CE34E9F020F4CB3421F56AE0D7\r
+:1059C00013C0C13579F0C235F1F461E00DC08091AA\r
+:1059D000D603882319F01092D60315C081E0809376\r
+:1059E000D70315C061E006C08091D6030E94FA2A51\r
+:1059F0000AC06AE08091D6030E94702B04C0109206\r
+:105A0000D70380E004C081E002C080E0AACFCF913C\r
+:105A100008950E949B28811102C00E9477280E944D\r
+:105A2000BC288093F20380FF02C0869501C080E00D\r
+:105A30000C94D2058091F203982F9695292F30E08F\r
+:105A4000233031054CF49F5F990F8170892B816061\r
+:105A50008093F2030E94C0288091F20386950C94F3\r
+:105A6000D2058091F203982F969591F09158990F55\r
+:105A70008170892B8093F2038E7F91E009F490E08E\r
+:105A80008091F20390FB80F98093F2030E94C0287A\r
+:105A90008091F20386950C94D2058091F203982FA1\r
+:105AA000909590FB80F98093F2030E94C02880912A\r
+:105AB000F20380FF02C0869501C080E00C94D205FD\r
+:105AC0009091F203892F86958F5F8F779170843044\r
+:105AD00028F4880F892B8093F20302C09093F2037D\r
+:105AE0008091F2038E7F91E009F490E08091F203BF\r
+:105AF00090FB80F98093F2030E94C0288091F2030A\r
+:105B000086950C94D2052091F203922F96958927C1\r
+:105B1000982F990F822F8170892B8093F2038E7FAB\r
+:105B200091E009F490E08091F20390FB80F980937A\r
+:105B3000F2030E94C0288091F20386950C94D2054E\r
+:105B40005058BB27AA270ED0D1C1C2D130F0C7D13F\r
+:105B500020F031F49F3F11F41EF4B7C10EF4E0952C\r
+:105B6000E7FB9FC1E92FD3D180F3BA176207730710\r
+:105B70008407950718F071F49EF5EBC10EF4E095DB\r
+:105B80000B2EBA2FA02D0B01B90190010C01CA01F7\r
+:105B9000A0011124FF27591B99F0593F50F4503EA2\r
+:105BA00068F11A16F040A22F232F342F4427585F94\r
+:105BB000F3CF469537952795A795F0405395C9F7AC\r
+:105BC0007EF41F16BA0B620B730B840BBAF0915064\r
+:105BD000A1F0FF0FBB1F661F771F881FC2F70EC003\r
+:105BE000BA0F621F731F841F48F4879577956795D6\r
+:105BF000B795F7959E3F08F0B3CF9395880F08F0BF\r
+:105C00009927EE0F97958795089527D108F481E09D\r
+:105C100008950CD06BC163D140F05AD130F021F41B\r
+:105C20005F3F19F03EC1511195C14FC170D198F33A\r
+:105C30009923C9F35523B1F3951B550BBB27AA270D\r
+:105C400062177307840738F09F5F5F4F220F331F7F\r
+:105C5000441FAA1FA9F333D00E2E3AF0E0E830D04B\r
+:105C600091505040E695001CCAF729D0FE2F27D04E\r
+:105C7000660F771F881FBB1F261737074807AB071C\r
+:105C8000B0E809F0BB0B802DBF01FF2793585F4F91\r
+:105C90002AF09E3F510568F004C15CC15F3FECF300\r
+:105CA000983EDCF3869577956795B795F7959F5F56\r
+:105CB000C9F7880F911D9695879597F90895E1E0AA\r
+:105CC000660F771F881FBB1F621773078407BA0709\r
+:105CD00020F0621B730B840BBA0BEE1F88F7E09564\r
+:105CE000089504D06894B11135C1089518D188F091\r
+:105CF0009F5790F0B92F9927B751A0F0D1F0660FB8\r
+:105D0000771F881F991F1AF0BA95C9F712C0B130D2\r
+:105D100081F01FD1B1E008951CC1672F782F88272B\r
+:105D2000B85F39F0B93FCCF3869577956795B39511\r
+:105D3000D9F73EF490958095709561957F4F8F4F80\r
+:105D40009F4F0895E89409C097FB3EF49095809585\r
+:105D5000709561957F4F8F4F9F4F9923A9F0F92F31\r
+:105D600096E9BB279395F695879577956795B795AF\r
+:105D7000F111F8CFFAF4BB0F11F460FF1BC06F5F95\r
+:105D80007F4F8F4F9F4F16C0882311F096E911C0A7\r
+:105D9000772321F09EE8872F762F05C0662371F0C8\r
+:105DA00096E8862F70E060E02AF09A95660F771FDC\r
+:105DB000881FDAF7880F9695879597F9089588D008\r
+:105DC00018F011F08CD038F480C0C4C0E92F9FD0F7\r
+:105DD000B0F35523C9F3E7FB6217730784079507F0\r
+:105DE000A8F199F3E92FFF2788232AF03197660F4E\r
+:105DF000771F881FDAF7952F5527442332F09150EB\r
+:105E00005040220F331F441FD2F7BB27E91BF50B6D\r
+:105E1000621B730B840BB109C1F222F4620F731F72\r
+:105E2000841FB11D31972AF0660F771F881FBB1F93\r
+:105E3000EFCF915050405AF041F0882332F0660F76\r
+:105E4000771F881F91505040C1F7939530C08695B9\r
+:105E5000779567959F5FD9F7F8CF990F0008550F91\r
+:105E6000AA0BE0E8FEEF16161706E807F907C0F0E0\r
+:105E700012161306E407F50798F0621B730B840BE8\r
+:105E8000950B39F40A2661F0232B242B252B21F4C2\r
+:105E900008950A2609F4A140A6958FEF811D811D62\r
+:105EA000089597F99F6780E870E060E008959F3F4C\r
+:105EB00031F0915020F4879577956795B795880FC5\r
+:105EC000911D9695879597F908959FEF80EC089519\r
+:105ED00000240A94161617061806090608950024C9\r
+:105EE0000A9412161306140605060895092E039443\r
+:105EF000000C11F4882352F0BB0F40F4BF2B11F4B7\r
+:105F000060FF04C06F5F7F4F8F4F9F4F089557FD15\r
+:105F10009058440F551F59F05F3F71F04795880F17\r
+:105F200097FB991F61F09F3F79F0879508951216AE\r
+:105F300013061406551FF2CF4695F1DF08C016165A\r
+:105F400017061806991FF1CF86957105610508940B\r
+:105F50000895E894BB2766277727CB0197F9089522\r
+:105F60007CDF08F48FEF08950BD0C0CFB1DF28F0AD\r
+:105F7000B6DF18F0952309F094CFA7CF1124EACF0C\r
+:105F8000C6DFA0F3959FD1F3950F50E0551F629F98\r
+:105F9000F001729FBB27F00DB11D639FAA27F00D82\r
+:105FA000B11DAA1F649F6627B00DA11D661F829FA9\r
+:105FB0002227B00DA11D621F739FB00DA11D621F8E\r
+:105FC000839FA00D611D221F749F3327A00D611DAB\r
+:105FD000231F849F600D211D822F762F6A2F11248D\r
+:105FE0009F5750408AF0E1F088234AF0EE0FFF1FE0\r
+:105FF000BB1F661F771F881F91505040A9F79E3F17\r
+:10600000510570F04ECFA6CF5F3FECF3983EDCF326\r
+:10601000869577956795B795F795E7959F5FC1F753\r
+:10602000FE2B880F911D9695879597F90895FA0193\r
+:10603000EE0FFF1F30962105310599F161157105AD\r
+:1060400061F48038BFE39B0749F16894903881057B\r
+:1060500061F08038BFEF9B0741F0992342F5FF3F85\r
+:10606000E1053105210511F1E8940894E795D9017E\r
+:10607000AA2329F4AB2FBE2FF85FD0F310C0FF5F27\r
+:1060800070F4A695E0F7F73950F019F0FF3A38F4BC\r
+:106090009F779F930CD00F9007FC905808953EF087\r
+:1060A00014CF60E070E080E89FE308954FE79F77AA\r
+:1060B0005F934F933F932F939ED02F913F914F919A\r
+:1060C0005F9152DF05C019F40EF0EBCE42CFFDCE4A\r
+:1060D00026DFC8F39638C0F707F80F92E8942BE351\r
+:1060E0003AEA48EB5FE74EDF0F920F920F924DB7FF\r
+:1060F0005EB70F92C0D0E8EFF0E016D04F915F91FD\r
+:10610000EF91FF91E595EE1FFF1F49F0FE57E06804\r
+:106110004427EE0F441FFA95E1F74195550B32D015\r
+:106120000F9007FE26C00895DF93CF931F930F9320\r
+:10613000FF92EF92DF927B018C01689405C0DA2E0A\r
+:10614000EF011EDFFE01E894A5912591359145915F\r
+:106150005591AEF3EF0106DDFE019701A801DA9437\r
+:1061600079F7DF90EF90FF900F911F91CF91DF9122\r
+:1061700008959B01AC0160E070E080E89FE349CDA9\r
+:1061800090CE95CECCDEE8F39923D9F3940F511D30\r
+:10619000BBF39150504094F059F0882332F0660FD1\r
+:1061A000771F881F91505040C1F79E3F510544F71B\r
+:1061B000880F911D9695879597F908955F3FACF0EC\r
+:1061C000983E9CF0BB27869577956795B79508F420\r
+:1061D000B1609395C1F7BB0F58F711F460FFE8CF9A\r
+:1061E0006F5F7F4F8F4F9F4FE3CFB4CE0EF05FCEE8\r
+:1061F0006CCE689456CE93DEC8F39923D1F3C6F3E0\r
+:10620000DF93CF931F930F93FF92C92FDD2788232E\r
+:106210002AF02197660F771F881FDAF720E030E019\r
+:1062200040E85FEB9FE3883920F0803E30F0219614\r
+:106230008F7787DCE0E2F1E003C083DCEDE4F1E09E\r
+:1062400073DF8B01BE01EC01FB2E6F577109759551\r
+:10625000771F880B990B78DD28E132E741E35FE394\r
+:106260008FDEAF2D9801AE01FF900F911F91CF915E\r
+:10627000DF9178DC3BCEFA01DC01AA0FBB1F9B014A\r
+:10628000AC01BF5728F422273327442750781FC07A\r
+:10629000B75188F4AB2F0024469537952795011CFC\r
+:1062A000A395D2F3002069F0220F331F441FB3954A\r
+:1062B000DAF30DD045CC61307105A0E88A07B94604\r
+:1062C00030F49B01AC0166277727882790783096B9\r
+:1062D00021F020833183428353830895AA1BBB1B83\r
+:1062E00051E107C0AA1FBB1FA617B70710F0A61BD6\r
+:1062F000B70B881F991F5A95A9F780959095BC01F7\r
+:10630000CD01089597FB072E16F4009407D077FD72\r
+:1063100009D00E946E3107FC05D03EF4909581951E\r
+:106320009F4F0895709561957F4F0895EE0FFF1F61\r
+:106330000590F491E02D0994F999FECF92BD81BDAD\r
+:10634000F89A992780B50895A8E1B0E042E050E0BE\r
+:106350000C94C431262FF999FECF92BD81BDF89AD5\r
+:10636000019700B4021639F01FBA20BD0FB6F89499\r
+:10637000FA9AF99A0FBE08950196272F0E94AB3121\r
+:106380000C94AA31DC01CB01FC01F999FECF06C0C7\r
+:10639000F2BDE1BDF89A319600B40D9241505040E3\r
+:0863A000B8F70895F894FFCF4F\r
+:1063A8000C52D02445000000410000DC44000000ED\r
+:1063B8004152D0A4440000404100005C4400000069\r
+:1063C8004148F17644000000415C978A440000008F\r
+:1063D800411FD592440000004152D0A4440000005F\r
+:1063E800415CFFB844000000410AA7CF4400000008\r
+:1063F800410000DC44000000410AA7CF440000002F\r
+:10640800410000DC44000000410000000000008062\r
+:106418004052D024450000404100000000000080A8\r
+:10642800400AA74F45000040410AA7CF440000009A\r
+:10643800410000DC44000000410000000000008032\r
+:106448004052D024450000004100000000000080B8\r
+:10645800405CFF384500000041000000000000805B\r
+:106468004052D02445000000410AA7CF4400000054\r
+:10647800410000DC440000004100000000000080F2\r
+:106488004052D024450000804110F176440000A01D\r
+:106498004112F1F6440000004141909B440000A0E5\r
+:1064A8004112F1F64400000041050000003F0000E1\r
+:1064B800C8427B140915E614B2147E1401BC0328E3\r
+:1064C80008140A321E000002000400050007000933\r
+:1064D800000B000C000E001000110013001500172F\r
+:1064E8000018001A001C001D001F002100230024B2\r
+:1064F800002600280029002B002D002F0030003234\r
+:106508000034003500370039003B004200450025C3\r
+:106518000026004300610060002000370064006529\r
+:1065280000660067004400460024004700314980A7\r
+:106538003F5D8B803FF8BF803FCAE1803F73ED80AD\r
+:106548003FCAE1803FF8BF803F5D8B803F31498083\r
+:106558003F0000803FF16D7F3F75EA7E3F4C827EB1\r
+:106568003F833F7E3F84287E3F833F7E3F4C827E31\r
+:106578003F75EA7E3FF16D7F3F0000803F3F4D361B\r
+:10658800B90A6C0A360AE209FB09140A0102030473\r
+:06659800050607080900DA\r
 :00000001FF\r
index a29f23c00efec88397d6330934e7162b28eafe5a..c42365c436f5c02a493b53a737924e0726706ff4 100644 (file)
 :107FE4000C94ED3E0C94113F0C94193F0C94213FDA\r
 :0C7FF4000C94F23E0C94033F0C94293FC7\r
 :040000030000700089\r
-:100000000C94A0050C94E4050C94E4050C94E40510\r
-:100010000C94E4050C94E4050C94E4050C94E405BC\r
-:100020000C94E4050C94E4050C94B6180C9488190F\r
-:100030000C94A1270C94E4050C94E4050C94E405BD\r
-:100040000C94E4050C94E4050C94E4050C94E4058C\r
-:100050000C94E4050C9409280C94E4050C94E40534\r
-:100060000C94E4050C94E4050C94E4050C94E4056C\r
-:100070000C94E4050C94E4050C94E4050C94E4055C\r
-:100080000C94090F0C94E4050C94E4050C94E4051D\r
-:100090000C94E4050C94E4050C94E4050C94E4053C\r
-:1000A0000C94E4050C94E4050C94E4053F064F061B\r
-:1000B000610671067706860692069706A406AC06C8\r
-:1000C000BC06C106C813C813C813C813C813C81385\r
-:1000D000C813C813C813C813DF13DF13DF13DF13EC\r
-:1000E000DF13DF13DF13DF13DF13DF13C813C813AE\r
-:1000F000C813C813C813DF13DF13DF13DF13DF13B5\r
-:10010000C813C813C813DF13DF13DF13F519171A49\r
-:10011000051B171A051B5C1A7F1A051BD41AE71A50\r
-:10012000EA1DEA1D271E271E811EBF1E372137210B\r
-:10013000D81E3721D91FD91F9C20B3203721222157\r
-:1001400007634236B79BD8A71A39685618AEBAABC0\r
-:10015000558C1D3CB7CC5763BD6DEDFD753EF61754\r
-:100160007231BF000000803F08000000BE922449A9\r
-:10017000123EABAAAA2ABECDCCCC4C3E00000080D9\r
-:10018000BEABAAAAAA3E00000000BF000000803F4C\r
-:100190000000000000084178D3BB4387D1133D190C\r
-:1001A0000E3CC3BD4282AD2B3E68EC8276BED98F39\r
-:1001B000E1A93E4C80EFFFBE01C4FF7F3F0000007D\r
-:1001C000000035001E001F00200021002200230037\r
-:1001D00024002500260027002A002B0014001A0006\r
-:1001E0000800150017001C0018000C001200130076\r
-:1001F0004C00290004001600070009000A000B004B\r
-:100200000D000E000F0033003400E1001D001B0044\r
-:1002100006001900050011001000360037003800F4\r
-:1002200028000530E000E200E30003302C002C0041\r
-:1002300004305000510052004F0035001E001F00D6\r
-:100240002000210022002300240025002600270092\r
-:100250002A002B0014001A00090013000A000D00E8\r
-:100260000F0018001C0033004C002900040015008A\r
-:100270001600170007000B00110008000C00120008\r
-:100280003400E1001D001B000600190005000E00EF\r
-:10029000100036003700380028000530E000E2008A\r
-:1002A000E30003302C002C000430500051005200B9\r
-:1002B0004F0035001E001F002000210022002300F7\r
-:1002C00024002500260027002A002B0034003600D9\r
-:1002D000370013001C0009000A00060015000F007B\r
-:1002E0004C00290004001200080018000C00070050\r
-:1002F0000B001700110016003800E1003300140055\r
-:100300000D000E001B00050010001A0019001D0052\r
-:1003100028000530E000E200E30003302C002C0050\r
-:1003200004305000510052004F0035021E021F02DF\r
-:100330002002210222022302240225022602270291\r
-:100340002A0035021E021F0220022102220223027D\r
-:1003500024022502260227024C004C003A003B00F2\r
-:100360003C003D003E003F002D022E022F023002D5\r
-:1003700031020100400041004200430044004500BA\r
-:100380000100010001000100010001000100010065\r
-:1003900001000100010001000100AB00AA00A9005A\r
-:1003A000AE0035001E001F002000210022002300A7\r
-:1003B00024002500260027002A0035001E001F000B\r
-:1003C0002000210022002300240025002600270011\r
-:1003D0004C004C003A003B003C003D003E003F001A\r
-:1003E0002D002E002F0030003100010040004100A0\r
-:1003F00042004300440045000100010001000100EB\r
-:1004000001000100010001000100010001000100E4\r
-:100410000100AB00AA00A900AE000000000000002F\r
+:100000000C947C050C94C0050C94C0050C94C005A0\r
+:100010000C94C0050C94C0050C94C0050C94C0054C\r
+:100020000C94C0050C94C0050C94C7180C94991935\r
+:100030000C94B2270C94C0050C94C0050C94C00518\r
+:100040000C94C0050C94C0050C94C0050C94C0051C\r
+:100050000C94C0050C941A280C94C0050C94C0058F\r
+:100060000C94C0050C94C0050C94C0050C94C005FC\r
+:100070000C94C0050C94C0050C94C0050C94C005EC\r
+:100080000C94E50E0C94C0050C94C0050C94C005AE\r
+:100090000C94C0050C94C0050C94C0050C94C005CC\r
+:1000A0000C94C0050C94C0050C94C0051B062B06CF\r
+:1000B0003D064D06530662066E06730680068806E8\r
+:1000C00098069D06061A281A161B281A161B6D1A62\r
+:1000D000901A161BE51AF81AFB1DFB1D381E381E58\r
+:1000E000921ED01E48214821E91E4821EA1FEA1F1E\r
+:1000F000AD20C4204821332107634236B79BD8A7DF\r
+:100100001A39685618AEBAAB558C1D3CB7CC57633C\r
+:10011000BD6DEDFD753EF6177231BF000000803FEA\r
+:1001200008000000BE922449123EABAAAA2ABECD06\r
+:10013000CCCC4C3E00000080BEABAAAAAA3E000078\r
+:100140000000BF000000803F000000000008417870\r
+:10015000D3BB4387D1133D190E3CC3BD4282AD2BA7\r
+:100160003E68EC8276BED98FE1A93E4C80EFFFBE9F\r
+:1001700001C4FF7F3F000000000035001E001F008B\r
+:100180002000210022002300240025002600270053\r
+:100190002A002B0014001A000800150017001C008C\r
+:1001A00018000C00120013004C0029000400160077\r
+:1001B000070009000A000B000D000E000F003300BD\r
+:1001C0003400E1001D001B000600190005001100AD\r
+:1001D000100036003700380028000530E000E2004B\r
+:1001E000E30003302C002C0004305000510052007A\r
+:1001F0004F0035001E001F002000210022002300B8\r
+:1002000024002500260027002A002B0014001A00D5\r
+:10021000090013000A000D000F0018001C00330035\r
+:100220004C002900040015001600170007000B0001\r
+:10023000110008000C0012003400E1001D001B003A\r
+:100240000600190005000E001000360037003800C7\r
+:1002500028000530E000E200E30003302C002C0011\r
+:1002600004305000510052004F0035001E001F00A6\r
+:100270002000210022002300240025002600270062\r
+:100280002A002B0034003600370013001C00090040\r
+:100290000A00060015000F004C002900040012009F\r
+:1002A000080018000C0007000B00170011001600D2\r
+:1002B0003800E100330014000D000E001B000500A3\r
+:1002C00010001A0019001D0028000530E000E200AF\r
+:1002D000E30003302C002C00043050005100520089\r
+:1002E0004F0035021E021F022002210222022302B9\r
+:1002F00024022502260227022A0035021E021F02BE\r
+:1003000020022102220223022402250226022702C1\r
+:100310004C004C003A003B003C003D003E003F00DA\r
+:100320002D022E022F023002310201004000410056\r
+:1003300042004300440045000100010001000100AB\r
+:1003400001000100010001000100010001000100A5\r
+:100350000100AB00AA00A900AE0035001E001F007E\r
+:100360002000210022002300240025002600270071\r
+:100370002A0035001E001F0020002100220023005B\r
+:1003800024002500260027004C004C003A003B00CA\r
+:100390003C003D003E003F002D002E002F003000AD\r
+:1003A000310001004000410042004300440045008C\r
+:1003B0000100010001000100010001000100010035\r
+:1003C00001000100010001000100AB00AA00A9002A\r
+:1003D000AE0000000000000000000000000000006F\r
+:1003E000000000000000000000000000000000000D\r
+:1003F00000000000000000000000000000000000FD\r
+:1004000000000000000000000000000000000000EC\r
+:1004100000000000000000000000000000000000DC\r
 :1004200000000000000000000000000000000000CC\r
-:1004300000000000000000000000000000000000BC\r
-:1004400000000000000000000000000000000000AC\r
+:100430000000000000000000000003300000000089\r
+:100440000430000000000000000000000000000078\r
 :10045000000000000000000000000000000000009C\r
 :10046000000000000000000000000000000000008C\r
 :10047000000000000000000000000000000000007C\r
-:100480000000033000000000043000000000000005\r
+:10048000000000000000000000000000000000006C\r
 :10049000000000000000000000000000000000005C\r
 :1004A000000000000000000000000000000000004C\r
 :1004B000000000000000000000000000000000003C\r
 :1008C0000000000000000000000000000000000028\r
 :1008D0000000000000000000000000000000000018\r
 :1008E0000000000000000000000000000000000008\r
-:1008F00000000000000000000000000000000000F8\r
-:1009000000000000000000000000000000000000E7\r
-:1009100000000000000000000000000000000000D7\r
-:1009200000000000000000000000000000000000C7\r
-:1009300000000000000000000000000000000000B7\r
-:1009400000003A003B003C003D003E003F004000FC\r
-:1009500041004200430044004500010000500100F6\r
+:1008F000000000000000000000003A003B003C0047\r
+:100900003D003E003F0040004100420043004400E3\r
+:10091000450001000050010001000100010001003C\r
+:1009200001000100010001004C0001000100010074\r
+:1009300007300630135012500030013002300100F1\r
+:10094000010001000B300A300930083001000100BD\r
+:10095000010001000100010001000100010001008F\r
 :10096000010001000100010001000100010001007F\r
-:100970004C000100010001000730063013501250F6\r
-:100980000030013002300100010001000B300A305C\r
-:1009900009300830010001000100010001000100E0\r
-:1009A000010001000100010001000100010001003F\r
-:1009B000010001000100010001002A035400680049\r
-:1009C000650020005000720065006F006E00690035\r
-:1009D000630020004B006500790062006F00610039\r
-:1009E0007200640000002C034F0072007400680065\r
-:1009F0006F006C0069006E006500610072002000ED\r
-:100A00004B006500790062006F00610072006400B5\r
-:100A1000730000000403090409025400030100A04C\r
-:100A2000FA0904000001030101000921110100017C\r
-:100A3000223F000705810308000A090401000103A1\r
-:100A4000010200092111010001224D000705820366\r
-:100A500008000A0904020001030000000921110135\r
-:100A600000012236000705830308000A1201100165\r
-:100A700000000008EDFE61600100010200010501B7\r
-:100A80000980A101850216010026B7001A01002A7B\r
-:100A9000B700751095018100C0050C0901A1018501\r
-:100AA00003160100269C021A01002A9C027510956B\r
-:100AB000018100C005010902A1010901A100050988\r
-:100AC000190129051500250195057501810295017A\r
-:100AD000750381010501093009311581257F9502D2\r
-:100AE0007508810609381581257F950175088106ED\r
-:100AF000050C0A38021581257F950175088106C00D\r
-:100B0000C005010906A101050719E029E71500251F\r
-:100B10000195087501810295017508810105081983\r
-:100B2000012905950575019102950175039101054E\r
-:100B300007190029FF150025FF950675088100C0DB\r
-:100B400011241FBECFEFDAE0DEBFCDBF04B603FE37\r
-:100B500024C08091A3039091A403A091A503B09118\r
-:100B6000A6038730904BA740B04BB9F41092A30373\r
-:100B70001092A4031092A5031092A60314BE84B78A\r
-:100B8000877F84BF88E10FB6F8948093600010924D\r
-:100B900060000FBEE0E0F8E3099512E0A0E0B1E0EC\r
-:100BA000EAEEF2E602C005900D92A83AB107D9F735\r
-:100BB00013E0A8EAB2E001C01D92A33AB107E1F741\r
-:100BC0000E94FC150C9473310C940000279A2F9806\r
-:100BD0008FEF9FEF90938700809386008AE0809349\r
-:100BE000800089E1809381000C94F82C282F8111DA\r
-:100BF0000BC080918000877F8093800010928D00D1\r
-:100C000010928C002F9808952F9880918000886012\r
-:100C100080938000233019F48FEF9FEF0FC083E0A3\r
-:100C200090E0821B9109880F991F2FEF3FEFA901D8\r
-:100C300002C0569547958A95E2F7CA0190938D00B8\r
-:100C400080938C000895CF93DF93EC010E949D2840\r
-:100C5000BE0180E090E0DF91CF910C9417250F93B7\r
-:100C60001F93462F50E04C30510508F098C0DC012E\r
-:100C7000FA01EA5AFF4F12968C910C94373188236F\r
-:100C800009F48DC000E010E0980140E064E070E0FD\r
-:100C90008BEC91E00E94871281E090E00FC08823E6\r
-:100CA00009F47DC000E010E0980140E066E070E0EB\r
-:100CB0008BE591E00E94871282E090E00E9423067B\r
-:100CC0006EC0882309F46BC000E010E0980140E09A\r
-:100CD00068E070E08BE891E00E94871284E090E089\r
-:100CE000EDCF882311F083E005C083E00CC088239A\r
-:100CF00049F084E00E94942540E164E083E00E9492\r
-:100D0000ED0A4DC084E00E94B525F6CF882331F06E\r
-:100D100085EE0E947E1C0E944F2D41C085EE0E94F0\r
-:100D2000461D3DC08823D9F10E941B0E38C0882380\r
-:100D3000B1F10E94140E00E010E0980140E064E080\r
-:100D400070E08BEE91E029C0882349F185E00E9494\r
-:100D5000B5250E943C0E23C0882309F100E010E075\r
-:100D6000980140E068E070E08BE191E00E9487121A\r
-:100D700085E00E94942513C0882389F00E941A13ED\r
-:100D800004C0882361F00E94251300E010E0980160\r
-:100D900040E068E070E08BE191E00E94871280E023\r
-:100DA00090E01F910F9108950F931F932FEF89EFFC\r
-:100DB00090E0215080409040E1F700C0000000E04A\r
-:100DC00010E0980140E064E070E08BEE91E00E945A\r
-:100DD00087121F910F910895CF92DF92EF92FF92A9\r
-:100DE0000F931F93CF93DF93CDB7DEB7CC58D109C4\r
-:100DF0000FB6F894DEBF0FBECDBF2091630325FF71\r
-:100E0000C5C08C01FC01928180910201992309F4F3\r
-:100E100060C096E4E7E2F2E0DE01A95BBF4F01901B\r
-:100E20000D929A95E1F7F8019081E0910001F0911F\r
-:100E30000101E90FF11DEE0FFF1F27E430E02C0F39\r
-:100E40003D1FE20FF31F60817181680F711D8827BC\r
-:100E500077FD8095982F0E94932E20E030E040E4AB\r
-:100E600051E40E94F82D6B017C01F801218185E09D\r
-:100E700090E0821B9109BC01882777FD8095982F0F\r
-:100E80000E94932E9B01AC01C701B6010E94902DD8\r
-:100E90009B01AC0160E070E080E090E40E94AA2F2A\r
-:100EA00020E030E04CE551E40E94472F4FE050E055\r
-:100EB000C457DF4F0FB6F894DEBF0FBECDBFDF9132\r
-:100EC000CF911F910F91FF90EF90DF90CF900C94F6\r
-:100ED000271296E4E7E2F2E0DE01119601900D920E\r
-:100EE0009A95E1F7F8019081E0910001F0910101FC\r
-:100EF000E90FF11DEE0FFF1F21E030E02C0F3D1F29\r
-:100F0000E20FF31F60817181680F711D882777FDE3\r
-:100F10008095982F0E94932E20E030E040E451E429\r
-:100F20000E94F82D6B017C01F801218185E090E0A1\r
-:100F3000821B9109BC01882777FD8095982F0E941C\r
-:100F4000932E9B01AC01C701B6010E94902D9B011D\r
-:100F5000AC0160E070E080E090E40E94AA2F20E005\r
-:100F600030E04CE551E40E94472FC457DF4F0FB6E5\r
-:100F7000F894DEBF0FBECDBFDF91CF911F910F91CF\r
-:100F8000FF90EF90DF90CF900C946F0EC457DF4F1F\r
-:100F90000FB6F894DEBF0FBECDBFDF91CF911F918A\r
-:100FA0000F91FF90EF90DF90CF9008950F931F93D4\r
-:100FB00000E010E0980140E063E070E083E091E041\r
-:100FC0000E9487122FEF82E597E0215080409040E9\r
-:100FD000E1F700C000001F910F91089508950E944D\r
-:100FE000E6056E9A769A0C94D4060C94EE070C944F\r
-:100FF000EC060895880F991FFC01EE5BFF4F859169\r
-:1010000094910895880F991FFC01EE53FE4F85912E\r
-:10101000949108950F931F93CF93DF93EC01811563\r
-:1010200020E49207A0F5C11580E3D80708F0E1C0DD\r
-:10103000C83ED105D8F4C03ED10508F0EEC1C83A8B\r
-:10104000D10578F4C53AD10508F074C0C130D10596\r
-:1010500009F46DC008F4DEC1C430D10508F0DDC16B\r
-:10106000D9C1CB3BD10508F470C0D4C1C11590E201\r
-:10107000D90708F0B9C0C11521E0D20708F0CDC1E9\r
-:10108000C03FD10508F4C6C18E01106506C2C1304B\r
-:1010900080E5D80709F4BDC068F5C13120E4D20766\r
-:1010A00009F4AEC050F4C03190E4D90708F0A5C0EF\r
-:1010B000CF70DD278E01146DF0C1C33120E4D2075B\r
-:1010C00009F4A4C008F49FC0C115D04509F0A2C11D\r
-:1010D0000E945B210E943C0E0E94D6079FEF24E3F2\r
-:1010E0008CE0915020408040E1F700C000000E9459\r
-:1010F0002E28D3C1C11520E6D20730F4C11581E5F1\r
-:10110000D80708F48CC02DC1C11590E7D90708F4A1\r
-:1011100081C1C11520E8D20708F478C1C11580E962\r
-:10112000D80708F077C1DF708E01106AB6C101E000\r
-:1011300010E0B3C1C53AD10509F471C1C63AD10571\r
-:1011400009F070C102E810E4A8C1C83AD10509F459\r
-:101150006CC1C93AD10509F46BC1CA3AD10509F489\r
-:101160006AC1CB3AD10509F469C1CC3AD10509F479\r
-:1011700068C1CD3AD10509F467C1C03BD10509F476\r
-:1011800066C1CE3AD10509F465C1CF3AD10509F45B\r
-:1011900064C1C13BD10509F463C1C23BD10509F467\r
-:1011A00062C1C33BD10509F461C1C43BD10509F457\r
-:1011B00060C1C53BD10509F45FC1C63BD10509F447\r
-:1011C0005EC1C73BD10509F45DC1C83BD10509F437\r
-:1011D0005CC1C93BD10509F45BC1CA3BD10509F427\r
-:1011E0005AC100E014E459C1CE019F700E94020868\r
-:1011F00055C1DD278E01106C50C100E011ED4DC1CD\r
-:1012000000E010ED4AC100E012ED47C100E013ED2F\r
-:1012100044C1809177038160809377033EC10E942F\r
-:101220008A28811102C00E9466280E94A22890E0AC\r
-:101230009093A2038093A103C23090E5D90721F4D3\r
-:101240008091A103816086C0C43020E5D20721F4DB\r
-:101250008091A10382607EC0C63080E5D80721F46A\r
-:101260008091A103846076C0C83090E5D90719F455\r
-:101270008091A10327C0CA3020E5D20721F48091D4\r
-:10128000A103806167C0CC3080E5D80721F480914C\r
-:10129000A10380625FC0CE3090E5D90721F4809130\r
-:1012A000A103806457C0C03120E5D20721F48091AA\r
-:1012B000A10380684FC0C23180E5D80729F480912E\r
-:1012C000A1038460886046C0C33090E5D90721F44B\r
-:1012D0008091A1038E7F3EC0C53020E5D20721F466\r
-:1012E0008091A1038D7F36C0C73080E5D80721F4F7\r
-:1012F0008091A1038B7F2EC0C93090E5D90719F4E6\r
-:101300008091A10326C0CB3020E5D20721F4809143\r
-:10131000A1038F7E1FC0CD3080E5D80721F48091D6\r
-:10132000A1038F7D17C0CF3090E5D90721F48091BC\r
-:10133000A1038F7B0FC0C13120E5D20721F480913A\r
-:10134000A1038F7707C0C331D04531F48091A10349\r
-:101350008B7F877F8093A1038091A1030E94A628A1\r
-:101360009CC08D2F99278F70992781309105D9F4D2\r
-:101370009E012370332702C0880F991F2A95E2F738\r
-:101380009C688E0144E0000F111F4A95E1F7002789\r
-:101390001370802B912B53E0CC0FDD1F5A95E1F792\r
-:1013A000C076DD272FC08230910531F4DC2FCC27A9\r
-:1013B0008E01016F106A71C08330910569F4CE010E\r
-:1013C0008370992701E010E002C0000F111F8A9579\r
-:1013D000E2F7C8019C680FC0049709F05EC0CE0117\r
-:1013E0008370992701E010E002C0000F111F8A9559\r
-:1013F000E2F7C8019A6823E0CC0FDD1F2A95E1F7D8\r
-:10140000C07ED7708C010C2B1D2B47C0DF708E0166\r
-:10141000106243C000E010E040C08E013EC001E811\r
-:1014200010E43BC003E810E438C002EE14E435C019\r
-:1014300009EE14E432C00AEE14E42FC005EB14E404\r
-:101440002CC006EB14E429C007EB14E426C00CEC16\r
-:1014500014E423C00DEC14E420C003E815E41DC01F\r
-:101460000AE815E41AC002E915E417C004E915E416\r
-:1014700014C001E216E411C003E216E40EC004E257\r
-:1014800016E40BC005E216E408C006E216E405C047\r
-:1014900007E216E402C00AE216E4C801DF91CF9128\r
-:1014A0001F910F9108959CE0799FF00111249CE316\r
-:1014B000899FE00DF11D1124E60FF11DEE0FFF1FB6\r
-:1014C000EE53FE4F85919491803E9105E0F4803C6F\r
-:1014D000910558F58133910509F46FC048F48932BC\r
-:1014E000910509F463C08A32910509F46DC072C098\r
-:1014F00089339105E9F082389105D1F08533910562\r
-:1015000009F44DC067C0833E910581F138F4803EF7\r
-:101510009105B9F0823E9105D9F05CC0863E9105F7\r
-:1015200061F1873E9105A1F155C00E94FA07089527\r
-:101530002091A10320FD02C021FF4CC080EE90E06D\r
-:1015400049C08091A10380FFF9CF89E390E042C0B8\r
-:101550008091A10382FF0EC08091A10384FF03C08C\r
-:1015600080E090E037C083EE90E034C08091A1032A\r
-:1015700082FFF2CF82EE90E02DC08091A10383FF25\r
-:101580000BC08091A10384FDEBCF87EE90E022C0D9\r
-:101590008091A10383FFF5CF86EE90E01BC0809180\r
-:1015A000A10385FF07C089E290E014C08091A103E8\r
-:1015B00085FFF9CF85E390E00DC08091A10386FF00\r
-:1015C00007C08AE290E006C08091A10386FFF9CFB0\r
-:1015D00081E390E00E940A080895CF92DF92EF9293\r
-:1015E000FF920F931F9301E010E020E030E06801CC\r
-:1015F000790104C0CC0CDD1CEE1CFF1C8A95D2F7CF\r
-:1016000004C0000F111F221F331F6A95D2F70C2947\r
-:101610001D292E293F29C0906303D0906403E090D8\r
-:101620006503F0906603C022D122E222F322842FC8\r
-:10163000C016D106E206F30641F41F910F91FF9008\r
-:10164000EF90DF90CF900C9494251F910F91FF9015\r
-:10165000EF90DF90CF900C94B52508950C942D0B4E\r
-:101660005F926F927F928F929F92AF92BF92CF9232\r
-:10167000DF92EF92FF920F931F93CF93DF93CDB73B\r
-:10168000DEB72A970FB6F894DEBF0FBECDBFCE01EE\r
-:1016900001966C014E019BE0890E911C20E030E028\r
-:1016A00040E050E060E070E000E010E0E12CF12C60\r
-:1016B0006C2C5D2C8AE0782EAA24A394B12CEDE644\r
-:1016C000F2E0A62DB52D872D01900D928A95E1F7B8\r
-:1016D000F601819191916F01FC01E07FFF27E032DB\r
-:1016E000F10559F48F709927F50102C0EE0FFF1F25\r
-:1016F0008A95E2F7EE2AFF2A37C0E033F10559F464\r
-:101700008F709927F50102C0EE0FFF1F8A95E2F74F\r
-:101710000E2B1F2B29C0E034F10559F48F70992747\r
-:10172000F50102C0EE0FFF1F8A95E2F76E2B7F2BAB\r
-:101730001BC0E035F10559F48F709927F50102C0FF\r
-:10174000EE0FFF1F8A95E2F74E2B5F2B0DC0E036A0\r
-:10175000F10551F48F709927F50102C0EE0FFF1FBC\r
-:101760008A95E2F72E2B3F2BC814D90409F0A7CF96\r
-:1017700084B19E2D9095892384B985B1E82AE5B876\r
-:1017800087B1902F9095892387B988B1082B08B924\r
-:101790008AB1962F909589238AB98BB1682B6BB942\r
-:1017A0008DB1942F909589238DB98EB1482B4EB968\r
-:1017B00080B3922F9095892380BB81B3282B21BBC6\r
-:1017C0002A960FB6F894DEBF0FBECDBFDF91CF9142\r
-:1017D0001F910F91FF90EF90DF90CF90BF90AF904F\r
-:1017E0009F908F907F906F905F9008955F926F921F\r
-:1017F0007F928F929F92AF92BF92CF92DF92EF92A1\r
-:10180000FF920F931F93CF93DF93CDB7DEB7689707\r
-:101810000FB6F894DEBF0FBECDBF85B7806885BF19\r
-:1018200085B7806885BF0E94300BCE0101966C01A0\r
-:101830004E0199E1890E911C20E030E040E050E03B\r
-:1018400060E070E000E010E0E12CF12C6C2C5D2CED\r
-:1018500088E1782EAA24A394B12CE7E7F2E0A62D24\r
-:10186000B52D872D01900D928A95E1F7F6018191B2\r
-:1018700091916F01FC01E07FFF27E032F10559F4FF\r
-:101880008F709927F50102C0EE0FFF1F8A95E2F7CE\r
-:10189000EE2AFF2A37C0E033F10559F48F709927FB\r
-:1018A000F50102C0EE0FFF1F8A95E2F70E2B1F2BEA\r
-:1018B00029C0E034F10559F48F709927F50102C071\r
-:1018C000EE0FFF1F8A95E2F76E2B7F2B1BC0E035D2\r
-:1018D000F10559F48F709927F50102C0EE0FFF1F33\r
-:1018E0008A95E2F74E2B5F2B0DC0E036F10551F4DF\r
-:1018F0008F709927F50102C0EE0FFF1F8A95E2F75E\r
-:101900002E2B3F2BC814D90409F0A7CF84B19E2DEC\r
-:101910009095892384B985B1E82AE5B887B1902FDD\r
-:101920009095892387B988B1082B08B98AB1962F79\r
-:10193000909589238AB98BB1682B6BB98DB1942F9F\r
-:10194000909589238DB98EB1482B4EB980B3922FD3\r
-:101950009095892380BB81B3282B21BBE2EBF2E079\r
-:10196000A8EAB2E0119211921D921D9282E0EC3B26\r
-:10197000F807C1F768960FB6F894DEBF0FBECDBF6B\r
-:10198000DF91CF911F910F91FF90EF90DF90CF905B\r
-:10199000BF90AF909F908F907F906F905F900C94CE\r
-:1019A000EF075F926F927F928F929F92AF92BF925A\r
-:1019B000CF92DF92EF92FF920F931F93CF93DF931B\r
-:1019C000CDB7DEB7A2970FB6F894DEBF0FBECDBF7E\r
-:1019D0006E0149E1C40ED11C88EAA82E82E0B82E1F\r
-:1019E00075019AE0592E460101E010E028E1622ECF\r
-:1019F00035E0732EEDE6F2E0D401852D01900D92D5\r
-:101A00008A95E1F7D6018D919D916D019C01207F12\r
-:101A100033272032310591F424B18F709927F801D2\r
-:101A200002C0EE0FFF1F8A95E2F7CF01922F982B8D\r
-:101A300094B995B18095892385B953C02033310578\r
-:101A400091F427B18F709927A80102C0440F551F48\r
-:101A50008A95E2F7CA01922F982B97B998B1809591\r
-:101A6000892388B93EC02034310591F42AB18F70A2\r
-:101A70009927D80102C0AA0FBB1F8A95E2F7CD01B2\r
-:101A8000922F982B9AB99BB1809589238BB929C045\r
-:101A90002035310591F42DB18F709927F80102C0DE\r
-:101AA000EE0FFF1F8A95E2F7CF01922F982B9DB979\r
-:101AB0009EB1809589238EB914C02036310589F4F2\r
-:101AC00020B38F709927A80102C0440F551F8A9533\r
-:101AD000E2F7CA01922F982B90BB91B3809589238E\r
-:101AE00081BB50EA5A95F1F7BE016F5F7F4F20E04E\r
-:101AF00030E040E050E0E7E7F2E0DE011196862DAD\r
-:101B000001900D928A95E1F7DB018D919D91BD01C8\r
-:101B1000FC01E07FFF27E032F10511F4E3B113C0CF\r
-:101B2000E033F10511F4E6B10EC0E034F10511F433\r
-:101B3000E9B109C0E035F10511F4ECB104C0E036BB\r
-:101B4000F105B9F4EFB1F0E08F70992702C0F59577\r
-:101B5000E7958A95E2F7E0FD08C0C801042E02C0AF\r
-:101B6000880F991F0A94E2F702C080E090E0282BCA\r
-:101B7000392B4F5F5F4F4C30510509F0BCCFF70157\r
-:101B8000808191818217930721F0318320837092A5\r
-:101B90000B020E94300BF2E0EF0EF11C42EBE41658\r
-:101BA00042E0F40609F026CF80910B028823C9F0A9\r
-:101BB000815080930B02882339F08FE99FE00197D1\r
-:101BC000F1F700C000000DC0E2EBF2E0D5018D910D\r
-:101BD0009D915D0181939193B2EBAB16B2E0BB0690\r
-:101BE000A9F70E94F50781E0A2960FB6F894DEBF30\r
-:101BF0000FBECDBFDF91CF911F910F91FF90EF905E\r
-:101C0000DF90CF90BF90AF909F908F907F906F901C\r
-:101C10005F900895E82FF0E0EE0FFF1FEE54FD4FA8\r
-:101C2000808191810895089580918C0381608093D3\r
-:101C30008C030C94B82880918C038E7F80938C0346\r
-:101C40000C94B8280E948A28811102C00E9466283C\r
-:101C50000E94B42880938C033E9A809171008D7FFE\r
-:101C60008093710082E0809390008AE180939100DC\r
-:101C700081E08093BE0208958091BE02811102C06E\r
-:101C80000E94220E10920E0310920D03809171009B\r
-:101C90008D7F80937100809190008F77809390006A\r
-:101CA0001092D0021092CF021092070310920803F4\r
-:101CB0001092090310920A03109206031092050372\r
-:101CC000E5EEF2E0A5EDB2E01192119211921192BF\r
-:101CD0001D921D9283E0E530F807B1F70895CF9289\r
-:101CE000DF92EF92FF920F931F93CF93DF93209198\r
-:101CF000CF02222309F484C06B017C018091BE02D3\r
-:101D0000811102C00E94220E05E013E0C7E0D0E07E\r
-:101D1000A7019601F80192918291729162918F01CF\r
-:101D20000E94F42D811131C0FE01EE0FFF1FEE0F56\r
-:101D3000FF1FEB51FD4F1082118212821382DE01D0\r
-:101D4000AA0FBB1FAB52BD4F11961C921E92C730FB\r
-:101D5000D105E9F0219644815581668177814083E0\r
-:101D600051836283738314821582168217821296BE\r
-:101D70008D919C91139711969C938E9313961C9220\r
-:101D80001E92129734961296E2CF219708F6809110\r
-:101D90000D0390910E03019797FD05C090930E03DC\r
-:101DA00080930D0304C010920E0310920D038091D6\r
-:101DB0000D0390910E0320910B0330910C03281713\r
-:101DC000390724F010920C0310920B03892BC1F4F5\r
-:101DD000809171008D7F80937100809190008F774A\r
-:101DE0008093900010920703109208031092090349\r
-:101DF00010920A0310920603109205031092CF026C\r
-:101E0000DF91CF911F910F91FF90EF90DF90CF90D6\r
-:101E100008951F920F920FB60F9211244F925F9266\r
-:101E20006F927F928F929F92AF92BF92CF92DF92EA\r
-:101E3000EF92FF922F933F934F935F936F937F9314\r
-:101E40008F939F93AF93BF93CF93DF93EF93FF93C2\r
-:101E50008091CF02882309F49BC1C0910D03D091DA\r
-:101E60000E031C161D060CF093C14090BF0250904B\r
-:101E7000C0026090C1027090C20220E030E0A9016F\r
-:101E8000C301B2010E94432F18160CF065C0C13087\r
-:101E9000D10509F452C080910B0390910C03BE014F\r
-:101EA0000E9423317C0190930C0380930B0380905C\r
-:101EB000D1029090D202A090D302B090D40220E040\r
-:101EC00030E040E85FE3C501B4010E94902D6093CB\r
-:101ED000D1027093D2028093D3029093D402F7017F\r
-:101EE000EE0FFF1FEE0FFF1FEB51FD4FA3019201FD\r
-:101EF00060817181828193810E94F82D20E030E021\r
-:101F000040E05EE30E94472F9B01AC01C501B40194\r
-:101F10000E94432F18168CF4C7010196BE010E943F\r
-:101F2000233190930C0380930B031092D1021092F3\r
-:101F3000D2021092D3021092D402E0910B03F091DE\r
-:101F40000C03EE0FFF1FEE0FFF1FEB51FD4F6081E3\r
-:101F5000718182819381D0C0C0900703D090080323\r
-:101F6000E0900903F0900A0320E030E0A901C701E6\r
-:101F7000B6010E94F42D2197882309F4A2C0FE0126\r
-:101F8000EE0FFF1FEE0FFF1FEB51FD4F8080918082\r
-:101F9000A280B380A5019401C701B6010E94F42D6F\r
-:101FA00087FF31C0A501940160E070E08CED93ECF7\r
-:101FB0000E94F82D20E030E040E451E40E94F82D2A\r
-:101FC00020E030E040E05FE30E94472F9B01AC013E\r
-:101FD00060E070E080E090E40E94AA2F9B01AC01D9\r
-:101FE000C501B4010E94472F9B01AC01C701B60196\r
-:101FF0000E94F42D87FF07C0A701960160E070E002\r
-:102000008CED93E439C0A5019401C701B6010E948B\r
-:10201000432F18160CF055C0A501940160E070E044\r
-:102020008CED93E40E94F82D20E030E040E451E490\r
-:102030000E94F82D20E030E040E05FE30E94472F4F\r
-:102040009B01AC0160E070E080E090E40E94AA2F68\r
-:102050009B01AC01C501B4010E94472F9B01AC015B\r
-:10206000C701B6010E94432F18165CF5A70196011F\r
-:1020700060E070E08CED93EC0E94F82D20E030E001\r
-:1020800040E451E40E94F82D20E030E040E05FE3BE\r
-:102090000E94472F9B01AC0160E070E080E090E47B\r
-:1020A0000E94AA2F9B01AC01C701B6010E94472FD5\r
-:1020B00060930703709308038093090390930A03C6\r
-:1020C00013C0FE01EE0FFF1FEE0FFF1FEB51FD4F80\r
-:1020D00080819181A281B38180930703909308034B\r
-:1020E000A0930903B0930A0360910703709108035A\r
-:1020F0008091090390910A032091BC023091BD02A6\r
-:102100002F3F4FEF340731F02F5F3F4F3093BD0229\r
-:102110002093BC020E9430136B017C0120E034E26A\r
-:1021200044EF51E40E94F42D87FF08C086EFC82ECB\r
-:1021300088E2D82E84EFE82E81E4F82E20E030E00B\r
-:1021400040E051E4C701B6010E94472F9B01AC015A\r
-:1021500060E074E284E79BE40E94F82D6B017C014F\r
-:102160000E94602E709397006093960020910C025D\r
-:1021700030910D0240910E0250910F02C701B6013D\r
-:102180000E94472F0E94602E7093990060939800E0\r
-:102190008091D002882309F433C1C090CB02D09043\r
-:1021A000CC02E090CD02F090CE0220E030E0A90118\r
-:1021B000C701B6010E94432F1816D4F58091BC02C6\r
-:1021C0009091BD028F3F2FEF920729F001969093D7\r
-:1021D000BD028093BC02C701B6010E94301320E00B\r
-:1021E00030E040E051E40E94472F9B01AC0160E0E9\r
-:1021F00074E284E79BE40E94F82D6B017C010E944D\r
-:10220000602E709397006093960020910C0230919D\r
-:102210000D0240910E0250910F02C701B6010E94BB\r
-:10222000472F0E94602E709399006093980008C019\r
-:1022300010929700109296001092990010929800B8\r
-:102240006091C5027091C6026F5F7F4F7093C602A6\r
-:102250006093C502209196003091970080E090E055\r
-:10226000232BF1F0C0919600D09197000E94912EFF\r
-:102270006B017C01BE0180E090E00E94912E9B01E9\r
-:10228000AC016091C7027091C8028091C90290911F\r
-:10229000CA020E94F82D20E03FEF4FE757E410C03C\r
-:1022A0000E94912E6B017C0120E030EE4FEF54E450\r
-:1022B0006091C7027091C8028091C9029091CA02D0\r
-:1022C0000E94472F9B01AC01C701B6010E94432F1A\r
-:1022D00087FD96C08091C3028F5F8093C30290E018\r
-:1022E000209188033091890382179307A0F0809191\r
-:1022F0009303882319F01092C3020DC080917100DE\r
-:102300008D7F80937100809190008F7780939000F3\r
-:102310001092D0027DC08091C402C091C30281118D\r
-:1023200028C0C0908D03D0908E03E0908F03F09072\r
-:10233000900320E030E0A901C701B6010E94432FBD\r
-:102340001816BCF481E08093C4021092CB02109264\r
-:10235000CC021092CD021092CE02C092C702D0924F\r
-:10236000C802E092C902F092CA02C150C093C302EF\r
-:1023700043C01092C4021092BD021092BC02E091C0\r
-:102380008A03F0918B0348E0C49FE00DF11D1124F6\r
-:1023900080819181A281B3818093CB029093CC0202\r
-:1023A000A093CD02B093CE0220E030E040E85EE39F\r
-:1023B00064817581868197810E94472F6B017C0122\r
-:1023C00020E030E048EC52E460911002709111027C\r
-:1023D00080911202909113020E94F82D9B01AC0192\r
-:1023E000C701B6010E94472F6093C7027093C802CD\r
-:1023F0008093C9029093CA021092C6021092C5023D\r
-:1024000080918C0380FD04C01092D0021092CF0204\r
-:10241000FF91EF91DF91CF91BF91AF919F918F91FC\r
-:102420007F916F915F914F913F912F91FF90EF902E\r
-:10243000DF90CF90BF90AF909F908F907F906F90E4\r
-:102440005F904F900F900FBE0F901F901895CF92F6\r
-:10245000DF92EF92FF92CF93DF936B017C01EA0151\r
-:102460008091BE02811102C00E94220E80918C03D5\r
-:1024700080FF46C080910D0390910E0308970CF0E9\r
-:102480003FC0809171008D7F809371008091D00258\r
-:1024900081110E943C0E81E08093CF021092BD0218\r
-:1024A0001092BC0220E030E0A901C701B6010E94F1\r
-:1024B000432F1816DCF480910D0390910E03FC015C\r
-:1024C000EE0FFF1FEE0FFF1FEB51FD4FC082D182B9\r
-:1024D000E282F382FC01EE0FFF1FEB52FD4FD1832E\r
-:1024E000C083019690930E0380930D038091710039\r
-:1024F000826080937100809190008068809390004A\r
-:10250000DF91CF91FF90EF90DF90CF9008958F9261\r
-:102510009F92AF92BF92CF92DF92EF92FF920F9372\r
-:102520001F93CF93DF93EC017B01D42E4801590117\r
-:102530008091BE02811102C00E94220E80918C0304\r
-:1025400080FF6BC0809171008D7F809371008091BE\r
-:10255000CF0281110E943C0E81E08093D002D09383\r
-:102560008B03C0938A03F0928903E0928803D09290\r
-:10257000930380928D0390928E03A0928F03B0926A\r
-:1025800090031092D1021092D2021092D3021092B4\r
-:10259000D4021092C30288819981AA81BB81809361\r
-:1025A000CB029093CC02A093CD02B093CE0220E058\r
-:1025B00030E040E85EE36C817D818E819F810E94E6\r
-:1025C000472F6B017C0120E030E048EC52E4609141\r
-:1025D00010027091110280911202909113020E94D8\r
-:1025E000F82D9B01AC01C701B6010E94472F6093F3\r
-:1025F000C7027093C8028093C9029093CA021092D6\r
-:10260000C6021092C50280917100826080937100B1\r
-:1026100080919000806880939000DF91CF911F910E\r
-:102620000F91FF90EF90DF90CF90BF90AF909F9071\r
-:102630008F90089580910F0390E0019665E070E01F\r
-:102640000E94233180930F03089580910F0390E03F\r
-:10265000019765E070E00E94233180930F03089595\r
-:102660008F929F92AF92BF92CF92DF92EF92FF92A2\r
-:10267000CF93DF936B017C01C091BC02D091BD026E\r
-:10268000BE0180E090E00E94912E4B015C01A70109\r
-:10269000960160E070E08CE594E40E94F82D9B01C7\r
-:1026A000AC01C501B4010E94472F0E94652E4091E4\r
-:1026B0000F03423009F45CC028F4442351F0413048\r
-:1026C000E9F0FBC0433009F481C0443009F4B4C0E0\r
-:1026D000F4C080E090E0A0E0BFE380930C02909310\r
-:1026E0000D02A0930E02B0930F021092BF0210923F\r
-:1026F000C0021092C1021092C202DFC01092BF024B\r
-:102700001092C0021092C1021092C202643171058F\r
-:1027100040F46A307105E0F520E030E040E85EE327\r
-:102720003BC0693C710508F0C0C080E090E00E94A9\r
-:10273000912E20E030E040EA51E40E948F2D20E00D\r
-:1027400030E044E353E40E94F82D9B01AC010E9469\r
-:10275000472F20E030E040E05EE30E94472F9B01DE\r
-:10276000AC0160E070E080E09EE30E948F2D5BC0D2\r
-:102770001092BF021092C0021092C1021092C202C7\r
-:102780006432710578F4FB01EE59FF4F0C94373138\r
-:1027900020E030E040E05FE3C701B6010E94472F30\r
-:1027A0006B017C0180E090E0A0E0BEE380930C022E\r
-:1027B00090930D02A0930E02B0930F027EC0A7016A\r
-:1027C0009601C701B6010E94902DEACF1092BF0278\r
-:1027D0001092C0021092C1021092C2022AE0269FFB\r
-:1027E000A001279F500D1124CA0168EB7BE00E94D5\r
-:1027F0000F31BC016C5D754077FF03C07195619529\r
-:102800007109882777FD8095982F0E94932E2EE3DB\r
-:1028100033EC4EE259E30E94472F20E030E040ECD9\r
-:102820005EE30E94902D60930C0270930D028093E2\r
-:102830000E0290930F0241C01092BF021092C0028C\r
-:102840001092C1021092C202CE0183709927892B87\r
-:10285000E1F0BE016170772780E090E00E94912E48\r
-:1028600020E030E040E05EE30E94472F20E030E0CF\r
-:1028700040E45FE30E94902D60930C0270930D0280\r
-:1028800080930E0290930F020CC080E090E0A0E0D5\r
-:10289000BFE380930C0290930D02A0930E02B093BD\r
-:1028A0000F02C770DD27CD2B41F410920C0210925D\r
-:1028B0000D0210920E0210920F02C701B601DF91B5\r
-:1028C000CF91FF90EF90DF90CF90BF90AF909F900F\r
-:1028D0008F900895809118030895CF93DF9300D0CF\r
-:1028E0001F92CDB7DEB79C0180919803843019F513\r
-:1028F00093E099833B832A839093E9008FEF909133\r
-:10290000E800815095FD06C095ED9A95F1F700001D\r
-:102910008111F5CF8091E80085FF0DC040E050E0C7\r
-:1029200063E070E0CE0101960E94A6168091E80057\r
-:102930008E778093E8000F900F900F90DF91CF91EA\r
-:102940000895CF93DF9300D01F92CDB7DEB72091CB\r
-:102950009803243021F522E029839B838A8383E036\r
-:102960008093E9008FEF9091E800815095FD06C0BB\r
-:1029700095ED9A95F1F700008111F5CF8091E8006F\r
-:1029800085FF0DC040E050E063E070E0CE010196AD\r
-:102990000E94A6168091E8008E778093E8000F9041\r
-:1029A0000F900F90DF91CF910895209198032430DC\r
-:1029B000F1F422E02093E9002FEF3091E80021505C\r
-:1029C00035FD06C035ED3A95F1F700002111F5CF40\r
-:1029D0002091E80025FF0BC040E050E065E070E08A\r
-:1029E0000E94A6168091E8008E778093E8000895F3\r
-:1029F000CF93DF9320919803243039F521E0209381\r
-:102A0000E9002FEF3091E800215035FD06C035ED8B\r
-:102A10003A95F1F700002111F5CF2091E80025FF4C\r
-:102A200014C0EC0140E050E068E070E00E94A6169F\r
-:102A30008091E8008E778093E80088E0FE01A0E1B5\r
-:102A4000B3E001900D928A95E1F7DF91CF9108955F\r
-:102A500080919703811109C00E943B180E94981829\r
-:102A60008091E20084608093E200089510929703C1\r
-:102A70000895089508950C94962742E061EC81E052\r
-:102A80000E94B51742E061EC82E00E94B51742E077\r
-:102A900061EC83E00C94B51780919A03833009F4BC\r
-:102AA00053C030F4813071F0823009F48CC0089545\r
-:102AB0008A3009F478C08B3009F45EC0893009F09F\r
-:102AC0009AC020C080919903813A09F094C0809106\r
-:102AD000E800877F8093E80080919D0390919E039A\r
-:102AE000892B21F468E080E193E003C060E080E09E\r
-:102AF00090E070E00E94F1168091E8008B7780935F\r
-:102B0000E800089580919903813209F074C08091A2\r
-:102B10009D0390919E03892B09F06DC08091E80080\r
-:102B2000877F8093E8008091E80082FD05C0809156\r
-:102B300098038111F8CF5FC08091F1008093180352\r
-:102B40008091E8008B7753C080919903813A09F016\r
-:102B500052C080919D0390919E03892B09F04BC038\r
-:102B60008091E800877F8093E8008091E80080FFF3\r
-:102B7000FCCF80911E0236C0809199038132D9F535\r
-:102B800080919D0390919E03892BA9F58091E80087\r
-:102B9000877F8093E8000E94EA1780919B038093CF\r
-:102BA0001E020C945B2180919903813221F5809162\r
-:102BB000E800877F8093E8000E94EA1780919C03D9\r
-:102BC00080931903089580919903813AA1F480912B\r
-:102BD000E800877F8093E8008091E80080FFFCCFC9\r
-:102BE000809119038093F1008091E8008E778093A3\r
-:102BF000E8000C94EA17089584B7877F84BF88E1C2\r
-:102C00000FB6F89480936000109260000FBE90E0C1\r
-:102C100080E80FB6F89480936100909361000FBE36\r
-:102C20000E948D1B0E943B180E9498188091E20020\r
-:102C300084608093E20078940E941E1B0E948F1B88\r
-:102C400084E192E00E94391B80919803853069F4F9\r
-:102C50000E945027809196038823B1F30E947E271B\r
-:102C6000882391F30E949016EFCF0E94971BECCF20\r
-:102C7000292F332723303105C9F064F42130310581\r
-:102C800081F02230310509F043C084E590E028E16D\r
-:102C90003AE042C021323105F1F02232310541F1F2\r
-:102CA00037C082E190E02CE63AE036C099278130C7\r
-:102CB000910541F08230910541F0892B49F5E4E11D\r
-:102CC000FAE005C0E6EEF9E002C0EAEBF9E0849133\r
-:102CD00090E09F0121C06330D8F4E62FF0E0EE0FC2\r
-:102CE000FF1FE856FD4F2081318189E090E014C03C\r
-:102CF000633070F470E0FB01EE0FFF1FEE56FD4FE6\r
-:102D000020813181FB01E157FD4F808190E004C0BB\r
-:102D100080E090E020E030E0FA01318320830895E4\r
-:102D200080E189BD82E189BD09B400FEFDCF8091BB\r
-:102D3000D8008F7D8093D8008091E00082608093DE\r
-:102D4000E0008091E00081FDFCCF0895CF92DF92FA\r
-:102D5000EF92FF920F931F93CF93DF93EC018B01C0\r
-:102D60006A010E940918811133C0C114D10439F0DD\r
-:102D7000F60180819181081B190BC80FD91FE12C26\r
-:102D8000F12C0115110519F18091E80085FD16C09F\r
-:102D90008091E8008E778093E800C114D10449F057\r
-:102DA000F60180819181E80EF91EF182E08285E0D2\r
-:102DB0000FC00E940918882321F30AC089918093CB\r
-:102DC000F10001501109FFEFEF1AFF0ADACF80E09E\r
-:102DD000DF91CF911F910F91FF90EF90DF90CF90F7\r
-:102DE000089520919F033091A0032617370748F0DC\r
-:102DF0006115710539F42091E8002E772093E800E1\r
-:102E000001C0B90140E061157105A9F12091980355\r
-:102E1000222309F443C0253009F442C02091E80080\r
-:102E200023FD40C02091E80022FD32C02091E8003F\r
-:102E300020FFE9CF4091F3002091F20030E0342BE5\r
-:102E4000FC01CF016115710559F02830310540F4BE\r
-:102E500081918093F100615071092F5F3F4FF1CF55\r
-:102E600041E02830310509F040E02091E8002E775C\r
-:102E70002093E800C8CF4111C9CF0AC080919803C0\r
-:102E8000882361F0853061F08091E80083FD0AC0FD\r
-:102E90008091E80082FFF2CF80E0089582E00895FB\r
-:102EA00083E0089581E0089520919F033091A0036D\r
-:102EB0002617370748F06115710539F42091E800AD\r
-:102EC0002E772093E80001C0B901FC0120E06115D4\r
-:102ED000710591F180919803882309F440C08530F1\r
-:102EE00009F43FC08091E80083FD3DC08091E80077\r
-:102EF00082FD2FC08091E80080FFE9CF2091F30090\r
-:102F00008091F20090E0922B6115710559F08830A4\r
-:102F1000910540F424912093F1003196615071099C\r
-:102F20000196F2CF21E0089709F020E08091E800B7\r
-:102F30008E778093E800CBCF2111CCCF0AC080914F\r
-:102F40009803882361F0853061F08091E80083FD6B\r
-:102F50000AC08091E80082FFF2CF80E0089582E00D\r
-:102F6000089583E0089581E00895982F973058F5EB\r
-:102F70009093E900981739F07091EC002091ED00E2\r
-:102F80005091F00003C0242F762F50E021FF19C08C\r
-:102F90003091EB003E7F3093EB003091ED003D7FB0\r
-:102FA0003093ED003091EB0031603093EB00709383\r
-:102FB000EC002093ED005093F0002091EE0027FFED\r
-:102FC00007C09F5FD3CF8F708093E90081E00895A1\r
-:102FD00080E008958091990387FF11C08091E800F7\r
-:102FE00082FD05C0809198038111F8CF11C08091B6\r
-:102FF000E8008B770BC080919803882349F080917B\r
-:10300000E80080FFF8CF8091E8008E778093E80099\r
-:1030100008952091E4003091E50095E64091EC00A0\r
-:10302000842F817040FF22C08091E80080FD1CC089\r
-:1030300080919803882391F0853091F08091EB0086\r
-:1030400085FD10C04091E4005091E5004217530700\r
-:1030500029F39A01915011F784E0089582E00895D0\r
-:1030600083E0089581E0089580E008954091E800AC\r
-:1030700042FFDECF08950E94A9180E94B118E0EE29\r
-:10308000F0E0808181608083E8EDF0E080818F77DF\r
-:10309000808319BCA7EDB0E08C918E7F8C938081EA\r
-:1030A0008F7E80831092970308950F931F93CF9381\r
-:1030B000DF930E94A9180E94B118C8EDD0E0888162\r
-:1030C0008F77888388818068888388818F7D8883D3\r
-:1030D00019BC1092980310929403109296031092C8\r
-:1030E000950300EE10E0F80180818B7F808388815A\r
-:1030F0008160888342E060E080E00E94B517E1EEE5\r
-:10310000F0E080818E7F8083E2EEF0E0808181605C\r
-:103110008083808188608083F80180818E7F8083B6\r
-:10312000888180618883DF91CF911F910F910895ED\r
-:10313000E8EDF0E080818F7E8083E7EDF0E0808134\r
-:103140008160808384E082BF81E0809397030C9448\r
-:103150005518E8EDF0E080818E7F80831092E200C8\r
-:1031600008951092DA001092E10008951F920F92D4\r
-:103170000FB60F9211242F933F934F935F936F934A\r
-:103180007F938F939F93AF93BF93EF93FF93809120\r
-:10319000E10082FF0BC08091E20082FF07C08091B6\r
-:1031A000E1008B7F8093E1000E941D1B8091DA007B\r
-:1031B00080FF1FC08091D80080FF1BC08091DA0083\r
-:1031C0008E7F8093DA008091D90080FF0DC080E16E\r
-:1031D00089BD82E189BD09B400FEFDCF81E0809305\r
-:1031E00098030E94281505C019BC109298030E94EC\r
-:1031F00036158091E10080FF19C08091E20080FFC8\r
-:1032000015C08091E2008E7F8093E2008091E20001\r
-:1032100080618093E2008091D80080628093D80022\r
-:1032200019BC85E0809398030E943A158091E100D3\r
-:1032300084FF30C08091E20084FF2CC080E189BD12\r
-:1032400082E189BD09B400FEFDCF8091D8008F7D59\r
-:103250008093D8008091E1008F7E8093E10080917F\r
-:10326000E2008F7E8093E2008091E2008160809393\r
-:10327000E20080919403882311F084E007C08091DC\r
-:10328000E30087FD02C081E001C083E080939803E2\r
-:103290000E943B158091E10083FF29C08091E200EC\r
-:1032A00083FF25C08091E100877F8093E10082E069\r
-:1032B00080939803109294038091E1008E7F809315\r
-:1032C000E1008091E2008E7F8093E2008091E20035\r
-:1032D00080618093E20042E060E080E00E94B517E8\r
-:1032E0008091F00088608093F0000E943915FF9172\r
-:1032F000EF91BF91AF919F918F917F916F915F916E\r
-:103300004F913F912F910F900FBE0F901F901895E6\r
-:103310001F920F920FB60F9211242F933F934F934A\r
-:103320005F936F937F938F939F93AF93BF93CF934D\r
-:10333000DF93EF93FF93C091E900CF708091EC0091\r
-:10334000D82FD17080FDD0E81092E9008091F00074\r
-:10335000877F8093F00078940E94CC191092E90046\r
-:103360008091F00088608093F000CD2BCF70C093E7\r
-:10337000E900FF91EF91DF91CF91BF91AF919F91C4\r
-:103380008F917F916F915F914F913F912F910F900E\r
-:103390000FBE0F901F9018951F93CF93DF93CDB75B\r
-:1033A000DEB7AA970FB6F894DEBF0FBECDBFE9E92E\r
-:1033B000F3E088E08E0F9091F10091938E13FBCF94\r
-:1033C0000E944C158091E80083FF1FC180919903F2\r
-:1033D00090919A03492F50E04A30510508F015C1E9\r
-:1033E000FA01EA57FF4F0C943731803881F0823868\r
-:1033F00009F00BC180919D038F708093E90080914B\r
-:10340000EB0085FB882780F91092E90006C08091C7\r
-:10341000950390919603911182609091E800977FB7\r
-:103420009093E8008093F1001092F100C8C0282F1B\r
-:103430002D7F09F0EAC0882319F0823061F0E5C0E1\r
-:1034400080919B03813009F0E0C0933009F080E067\r
-:10345000809396032BC080919B03811127C080919C\r
-:103460009D038F7009F4D1C08093E9002091EB0097\r
-:1034700020FF1CC0933021F48091EB00806214C0C7\r
-:103480009091EB0090619093EB0021E030E0A90176\r
-:1034900002C0440F551F8A95E2F74093EA0010924C\r
-:1034A000EA008091EB0088608093EB001092E900C5\r
-:1034B0008091E800877F86C08111A7C010919B038F\r
-:1034C0001F778091E3008078812B8093E3008091C7\r
-:1034D000E800877F8093E8000E94EA178091E80067\r
-:1034E00080FFFCCF8091E30080688093E30011119E\r
-:1034F00002C082E001C083E08093980386C08058B8\r
-:10350000823008F082C080919B0390919C038C3D97\r
-:1035100053E0950779F583E08A838AE289834FB780\r
-:10352000F894DE01139620E03EE051E2E32FF0E054\r
-:1035300050935700E49120FF03C0E295EF703F5F86\r
-:10354000EF708E2F90E0EA3010F0C79601C0C09661\r
-:103550008D939D932F5F243149F74FBF8091E800F1\r
-:10356000877F8093E8006AE270E0CE0101960E94B6\r
-:10357000F11614C0AE014F5F5F4F60919D030E9432\r
-:103580003816BC01009709F440C09091E800977F7D\r
-:103590009093E80089819A810E9454178091E800F5\r
-:1035A0008B778093E80031C0803879F58091E8000E\r
-:1035B000877F8093E800809194038093F10080914D\r
-:1035C000E8008E778093E8000E94EA171EC0811100\r
-:1035D0001CC090919B039230C0F48091E800877FDB\r
-:1035E0008093E800909394030E94EA1780919403DB\r
-:1035F000811106C08091E30087FD02C081E001C017\r
-:1036000084E0809398030E943D158091E80083FF39\r
-:103610000AC08091E800877F8093E8008091EB00EA\r
-:1036200080628093EB00AA960FB6F894DEBF0FBEBF\r
-:10363000CDBFDF91CF911F9108950895CF938091D1\r
-:1036400098038823A1F0C091E900CF709091EC001D\r
-:10365000892F817090FD80E8C82B1092E90080913D\r
-:10366000E80083FD0E94CC19CF70C093E900CF9190\r
-:10367000089590931F0380931E030895E0911E0305\r
-:10368000F0911F03309721F00190F081E02D099413\r
-:1036900080E00895E0911E03F0911F03309721F020\r
-:1036A0000280F381E02D09940895E0911E03F091CA\r
-:1036B0001F03309721F00480F581E02D09940895CF\r
-:1036C00020911C0330911D038217930771F0909392\r
-:1036D0001D0380931C03E0911E03F0911F0330979C\r
-:1036E00021F00680F781E02D0994089520911A03B6\r
-:1036F00030911B038217930771F090931B03809303\r
-:103700001A03E0911E03F0911F03309721F000840B\r
-:10371000F185E02D0994089508950C948C1B0E9466\r
-:10372000CA270E94F60B0E9450280C94F82C4F9246\r
-:103730005F927F928F929F92AF92BF92CF92DF92D1\r
-:10374000EF92FF920F931F93CF93DF93CDB7DEB726\r
-:103750002A970FB6F894DEBF0FBECDBF0E94D10CE2\r
-:1037600091E2C92E93E0D92E00E010E0AA24A394A0\r
-:10377000B12C702E802F0E940A0E4C01F601419050\r
-:1037800051906F014826592641145104B1F40F5F3E\r
-:103790001F4F0530110569F78FEF89838A831B82DC\r
-:1037A0000E94D3278160782F9D838C8349815A8121\r
-:1037B0006B818D810E94501C3AC08091770381FDFE\r
-:1037C0000E94130E20E030E07501022E02C0EE0CC4\r
-:1037D000FF1C0A94E2F7C70184219521892B09F186\r
-:1037E0002E837F828E209F2091E0892809F490E02B\r
-:1037F00098870E94D3278160782F9A8789874E8186\r
-:103800005F8168858A850E94501C000F111FF80196\r
-:10381000EF5DFC4F80819181E826F926F182E082FC\r
-:1038200006C02F5F3F4F2C30310571F6B0CF0E949C\r
-:10383000372A109120030E943E1B1817D9F00E94CE\r
-:103840003E1B809320032A960FB6F894DEBF0FBE6E\r
-:10385000CDBFDF91CF911F910F91FF90EF90DF903F\r
-:10386000CF90BF90AF909F908F907F905F904F9040\r
-:103870000C942E0B2A960FB6F894DEBF0FBECDBF68\r
-:10388000DF91CF911F910F91FF90EF90DF90CF903C\r
-:10389000BF90AF909F908F907F905F904F900895D2\r
-:1038A000CF93DF93CDB7DEB72B970FB6F894DEBF7B\r
-:1038B0000FBECDBF4F83588769877A878B87DE011C\r
-:1038C000119686E0FD0111928A95E9F785E0FE01E7\r
-:1038D000379601900D928A95E1F749815A816B8163\r
-:1038E0007C818D819E810E94F5232B960FB6F894E2\r
-:1038F000DEBF0FBECDBFDF91CF910895CF93882358\r
-:1039000009F4C2C0C82F823859F40E943E1B81FDC1\r
-:10391000BBC089E30E949E260E94212789E30CC038\r
-:10392000833879F40E943E1B80FDAEC083E50E947F\r
-:103930009E260E94212783E50E94BB26CF910C94EE\r
-:103940002127843859F40E943E1B82FD9DC087E4E4\r
-:103950000E949E260E94212787E4EECF8CEF8C0FD9\r
-:10396000813A48F48C2F0E94602C81118DC08C2FDD\r
-:103970000E949E26E3CF80E28C0F883048F4C77007\r
-:1039800081E001C0880FCA95EAF70E94DA26D6CFF7\r
-:103990008BE58C0F833078F4C53A29F0C63A31F0C4\r
-:1039A00083E890E005C081E890E002C082E890E002\r
-:1039B000CF910C94601B88E58C0F833108F064C0B4\r
-:1039C000C83A39F1C93A41F1CA3A49F1CB3A51F111\r
-:1039D000CC3A59F1CD3A61F1C03B69F1CE3A71F17F\r
-:1039E000CF3A79F1C13B81F1C23B89F1C33B91F1FF\r
-:1039F000C43B99F1C53BA1F1C63BA9F1C73BB1F16D\r
-:103A0000C83BB9F1C93BC1F1CA3BC9F180E090E0C4\r
-:103A100038C082EE90E035C089EE90E032C08AEE88\r
-:103A200090E02FC085EB90E02CC086EB90E029C0A1\r
-:103A300087EB90E026C08CEC90E023C08DEC90E00A\r
-:103A400020C083E891E01DC08AE891E01AC082E9B5\r
-:103A500091E017C084E991E014C081E292E011C0C6\r
-:103A600083E292E00EC084E292E00BC085E292E035\r
-:103A700008C086E292E005C087E292E002C08AE2D6\r
-:103A800092E0CF910C94761BCF910895882309F48E\r
-:103A90004BC0823859F40E943E1B81FF45C089E328\r
-:103AA0000E949E260E94212789E30CC0833871F46E\r
-:103AB0000E943E1B80FF38C083E50E949E260E9424\r
-:103AC000212783E50E94BB260C942127843859F4D2\r
-:103AD0000E943E1B82FF28C087E40E949E260E940F\r
-:103AE000212787E4EFCF9CEF980F913A58F390E2AB\r
-:103AF000980F983050F4877091E001C0990F8A9523\r
-:103B0000EAF7892F0E94E026DFCF9BE5980F9330DC\r
-:103B100020F480E090E00C94601B885A833120F4FC\r
-:103B200080E090E00C94761B0895882321F00E9499\r
-:103B3000DA260C9421270895882321F00E94E0269C\r
-:103B40000C9421270895BF92CF92DF92EF92FF92BB\r
-:103B50000F931F93CF93DF9300D000D000D0CDB749\r
-:103B6000DEB725E0FC01DE01119601900D922A9549\r
-:103B7000E1F7FC01D08011810281258122952F700F\r
-:103B800043815481452B09F472C31F3F21F4FFEF99\r
-:103B9000DF1609F46CC37C012E830E94F707D982DB\r
-:103BA0001A8369817A81802F0E949A26182FB92E54\r
-:103BB0000E944F260E9416252E81002319F00E9494\r
-:103BC000F7262E81EB2DE295EF70F0E0E057FF4FE6\r
-:103BD0000C9437318B2D807F9B2D9F70F92E88237D\r
-:103BE00019F0F29480EFF822002389F0FF2009F405\r
-:103BF0007CC280E2810F883020F48F2D0E94DA266B\r
-:103C000003C08F2D0E94EA260E9421276EC2812FB9\r
-:103C10000E94461DFF2009F42AC3105E8F2D183024\r
-:103C200018F40E94E02602C00E94F02626960FB6E5\r
-:103C3000F894DEBF0FBECDBFDF91CF911F910F91E2\r
-:103C4000FF90EF90DF90CF90BF900C9421278B2DA9\r
-:103C5000807F9B2D9F70803211F4892F03C0892FA4\r
-:103C60008295807F112319F0113011F12BC00023B0\r
-:103C7000A9F0222389F1213079F526960FB6F89420\r
-:103C8000DEBF0FBECDBFDF91CF911F910F91FF908F\r
-:103C9000EF90DF90CF90BF900C940A27222319F069\r
-:103CA000213009F4E4C28E830E940D278E819BC1CE\r
-:103CB000002321F0263008F0DAC20EC0253008F0CB\r
-:103CC000D6C291C10023C9F0222331F0F7019581BA\r
-:103CD00090FF0BC29F70958326960FB6F894DEBFB7\r
-:103CE0000FBECDBFDF91CF911F910F91FF90EF904D\r
-:103CF000DF90CF90BF900C94951D222309F473C1DF\r
-:103D000009C22B2D26952695237030E0211531050B\r
-:103D100021F021303105D1F0AAC2002321F0812FFA\r
-:103D20009B2D937002C080E090E026960FB6F89429\r
-:103D3000DEBF0FBECDBFDF91CF911F910F91FF90DE\r
-:103D4000EF90DF90CF90BF900C94601B002321F088\r
-:103D5000812F9B2D937002C080E090E026960FB6D5\r
-:103D6000F894DEBF0FBECDBFDF91CF911F910F91B1\r
-:103D7000FF90EF90DF90CF90BF900C94761B812F37\r
-:103D8000002319F00E943F2902C00E94A72926960D\r
-:103D90000FB6F894DEBF0FBECDBFDF91CF911F915C\r
-:103DA0000F91FF90EF90DF90CF90BF900C942C2A52\r
-:103DB0008B2D837009F07BC0011159C2812F829530\r
-:103DC00086958770880F880F912F9F70C92ED12CF0\r
-:103DD000E12CF12C082E04C0CC0CDD1CEE1CFF1CC9\r
-:103DE0000A94D2F714FF12C04FE050E060E070E098\r
-:103DF00004C0440F551F661F771F8A95D2F7CB0169\r
-:103E0000BA01609570958095909503C060E070E070\r
-:103E1000CB012B2D269526952370422F50E0423062\r
-:103E20005105D9F04330510569F16C297D298E295E\r
-:103E30009F294130510551F126960FB6F894DEBF07\r
-:103E40000FBECDBFDF91CF911F910F91FF90EF90EB\r
-:103E5000DF90CF90BF900C943D256C297D298E2951\r
-:103E60009F2926960FB6F894DEBF0FBECDBFDF9117\r
-:103E7000CF911F910F91FF90EF90DF90CF90BF9067\r
-:103E80000C9459250E943D25C701B60126960FB610\r
-:103E9000F894DEBF0FBECDBFDF91CF911F910F9180\r
-:103EA000FF90EF90DF90CF90BF900C9421250023DE\r
-:103EB00019F08B2D817001C08695882309F4D7C134\r
-:103EC000812F829586958770880F880F912F9F701C\r
-:103ED000C92ED12CE12CF12C082E04C0CC0CDD1CF9\r
-:103EE000EE1CFF1C0A94D2F714FF12C04FE050E002\r
-:103EF00060E070E004C0440F551F661F771F8A956D\r
-:103F0000D2F7CB01BA01609570958095909503C06A\r
-:103F100060E070E0CB012B2D269526952370422F73\r
-:103F200050E042305105D9F04330510569F16C2918\r
-:103F30007D298E299F294130510551F126960FB6D2\r
-:103F4000F894DEBF0FBECDBFDF91CF911F910F91CF\r
-:103F5000FF90EF90DF90CF90BF900C9417266C29C4\r
-:103F60007D298E299F2926960FB6F894DEBF0FBEB5\r
-:103F7000CDBFDF91CF911F910F91FF90EF90DF9018\r
-:103F8000CF90BF900C9433260E941726C701B6012C\r
-:103F900026960FB6F894DEBF0FBECDBFDF91CF914E\r
-:103FA0001F910F91FF90EF90DF90CF90BF900C94F6\r
-:103FB000FB25103F49F118F4103E48F491C0123F20\r
-:103FC00009F453C0E8F1133F09F464C089C01F70BD\r
-:103FD0008B2D8F71002321F00E949425812F7CCEA0\r
-:103FE0000E94B525812F26960FB6F894DEBF0FBE2E\r
-:103FF000CDBFDF91CF911F910F91FF90EF90DF9098\r
-:10400000CF90BF900C949C1D0023B1F0253008F098\r
-:104010002EC18B2D8F7126960FB6F894DEBF0FBE82\r
-:10402000CDBFDF91CF911F910F91FF90EF90DF9067\r
-:10403000CF90BF900C94DA25263008F018C1E9CF54\r
-:104040000023A9F08B2D8F7126960FB6F894DEBF52\r
-:104050000FBECDBFDF91CF911F910F91FF90EF90D9\r
-:10406000DF90CF90BF900C949425002359F38B2DB3\r
-:104070008F7126960FB6F894DEBF0FBECDBFDF91CD\r
-:10408000CF911F910F91FF90EF90DF90CF90BF9055\r
-:104090000C94B525002399F08B2D8F7126960FB6C1\r
-:1040A000F894DEBF0FBECDBFDF91CF911F910F916E\r
-:1040B000FF90EF90DF90CF90BF900C947F252696D5\r
+:1009700001002A0354006800650020005000720046\r
+:1009800065006F006E006900630020004B00650089\r
+:10099000790062006F0061007200640000002C03A7\r
+:1009A0004F007200740068006F006C0069006E00F8\r
+:1009B00065006100720020004B0065007900620054\r
+:1009C0006F006100720064007300000004030904FA\r
+:1009D00009025400030100A0FA0904000001030108\r
+:1009E0000100092111010001223F000705810308D0\r
+:1009F000000A09040100010301020009211101009C\r
+:100A000001224D000705820308000A0904020001C3\r
+:100A100003000000092111010001223600070583AF\r
+:100A20000308000A1201100100000008EDFE6160D9\r
+:100A300001000102000105010980A10185021601E2\r
+:100A40000026B7001A01002AB70075109501810031\r
+:100A5000C0050C0901A1018503160100269C021A9C\r
+:100A600001002A9C02751095018100C00501090250\r
+:100A7000A1010901A1000509190129051500250198\r
+:100A80009505750181029501750381010501093004\r
+:100A900009311581257F9502750881060938158170\r
+:100AA000257F950175088106050C0A3802158125F8\r
+:100AB0007F950175088106C0C005010906A10105E1\r
+:100AC0000719E029E71500250195087501810295B0\r
+:100AD0000175088101050819012905950575019120\r
+:100AE000029501750391010507190029FF150025DD\r
+:100AF000FF950675088100C011241FBECFEFDAE014\r
+:100B0000DEBFCDBF04B603FE24C08091F3039091F5\r
+:100B1000F403A091F503B091F6038730904BA74002\r
+:100B2000B04BB9F41092F3031092F4031092F50352\r
+:100B30001092F60314BE84B7877F84BF88E10FB696\r
+:100B4000F89480936000109260000FBEE0E0F8E33C\r
+:100B5000099512E0A0E0B1E0E8EAF3E602C00590F2\r
+:100B60000D92A63FB107D9F713E0A6EFB2E001C09E\r
+:100B70001D92A33FB107E1F70E940D160C94D231EC\r
+:100B80000C940000279A2F988FEF9FEF9093870087\r
+:100B9000809386008AE08093800089E180938100C1\r
+:100BA0000C94092D282F81110BC080918000877F24\r
+:100BB0008093800010928D0010928C002F980895E1\r
+:100BC0002F9880918000886080938000233019F4F2\r
+:100BD0008FEF9FEF0FC083E090E0821B9109880F99\r
+:100BE000991F2FEF3FEFA90102C0569547958A95AF\r
+:100BF000E2F7CA0190938D0080938C000895CF9303\r
+:100C0000DF93EC010E94AE28BE0180E090E0DF910E\r
+:100C1000CF910C9428250F931F93462F50E04C3012\r
+:100C2000510508F098C0DC01FA01EA5AFF4F12960C\r
+:100C30008C910C949631882309F48DC000E010E06B\r
+:100C4000980140E064E070E089EC91E00E9463125A\r
+:100C500081E090E00FC0882309F47DC000E010E03F\r
+:100C6000980140E066E070E089E591E00E9463123F\r
+:100C700082E090E00E94FF056EC0882309F46BC0FB\r
+:100C800000E010E0980140E068E070E089E891E061\r
+:100C90000E94631284E090E0EDCF882311F083E09E\r
+:100CA00005C083E00CC0882349F084E00E94A5259C\r
+:100CB00040E164E083E00E94C90A4DC084E00E94E4\r
+:100CC000C625F6CF882331F085EE0E948F1C0E9446\r
+:100CD000602D41C085EE0E94571D3DC08823D9F18B\r
+:100CE0000E94F70D38C08823B1F10E94F00D00E09A\r
+:100CF00010E0980140E064E070E089EE91E029C0E6\r
+:100D0000882349F185E00E94C6250E94180E23C061\r
+:100D1000882309F100E010E0980140E068E070E00D\r
+:100D200089E191E00E94631285E00E94A52513C02D\r
+:100D3000882389F00E94F61204C0882361F00E9483\r
+:100D4000011300E010E0980140E068E070E089E104\r
+:100D500091E00E94631280E090E01F910F9108954E\r
+:100D60000F931F932FEF89EF90E021508040904028\r
+:100D7000E1F700C0000000E010E0980140E064E00E\r
+:100D800070E089EE91E00E9463121F910F91089527\r
+:100D9000CF92DF92EF92FF920F931F93CF93DF9347\r
+:100DA000CDB7DEB7CC58D1090FB6F894DEBF0FBE71\r
+:100DB000CDBF2091B30325FFC5C08C01FC019281FA\r
+:100DC00080910001992309F460C096E4E5E2F2E025\r
+:100DD000DE01A95BBF4F01900D929A95E1F7F801F2\r
+:100DE0009081E091F602F091F702E90FF11DEE0F0C\r
+:100DF000FF1F27E430E02C0F3D1FE20FF31F60813F\r
+:100E00007181680F711D882777FD8095982F0E944A\r
+:100E1000A42E20E030E040E451E40E94092E6B0152\r
+:100E20007C01F801218185E090E0821B9109BC01E1\r
+:100E3000882777FD8095982F0E94A42E9B01AC01F6\r
+:100E4000C701B6010E94A12D9B01AC0160E070E0DA\r
+:100E500080E090E40E94173020E030E04CE551E45F\r
+:100E60000E94B42F4FE050E0C457DF4F0FB6F89404\r
+:100E7000DEBF0FBECDBFDF91CF911F910F91FF90CD\r
+:100E8000EF90DF90CF900C94031296E4E5E2F2E04D\r
+:100E9000DE01119601900D929A95E1F7F80190818B\r
+:100EA000E091F602F091F702E90FF11DEE0FFF1F3E\r
+:100EB00021E030E02C0F3D1FE20FF31F60817181B4\r
+:100EC000680F711D882777FD8095982F0E94A42EAA\r
+:100ED00020E030E040E451E40E94092E6B017C01E7\r
+:100EE000F801218185E090E0821B9109BC018827EF\r
+:100EF00077FD8095982F0E94A42E9B01AC01C7011D\r
+:100F0000B6010E94A12D9B01AC0160E070E080E081\r
+:100F100090E40E94173020E030E04CE551E40E945C\r
+:100F2000B42FC457DF4F0FB6F894DEBF0FBECDBF4E\r
+:100F3000DF91CF911F910F91FF90EF90DF90CF90B5\r
+:100F40000C944B0EC457DF4F0FB6F894DEBF0FBEA4\r
+:100F5000CDBFDF91CF911F910F91FF90EF90DF9068\r
+:100F6000CF9008950F931F9300E010E0980140E0A8\r
+:100F700063E070E081E091E00E9463122FEF82E570\r
+:100F800097E0215080409040E1F700C000001F91A1\r
+:100F90000F91089508950E94C2056E9A769A0C9456\r
+:100FA000B0060C94CA070C94C8060895880F991FC0\r
+:100FB000FC01E650F040859194910895880F991FA7\r
+:100FC000FC01E658FE4F8591949108950F931F936D\r
+:100FD000CF93DF93EC01811520E49207A0F5C115B2\r
+:100FE00080E3D80708F0E1C0C83ED105D8F4C03E80\r
+:100FF000D10508F0EEC1C83AD10578F4C53AD1055B\r
+:1010000008F074C0C130D10509F46DC008F4DEC128\r
+:10101000C430D10508F0DDC1D9C1CB3BD10508F4FE\r
+:1010200070C0D4C1C11590E2D90708F0B9C0C1158C\r
+:1010300021E0D20708F0CDC1C03FD10508F4C6C1F8\r
+:101040008E01106506C2C13080E5D80709F4BDC025\r
+:1010500068F5C13120E4D20709F4AEC050F4C031C4\r
+:1010600090E4D90708F0A5C0CF70DD278E01146D7C\r
+:10107000F0C1C33120E4D20709F4A4C008F49FC032\r
+:10108000C115D04509F0A2C10E946C210E94180E22\r
+:101090000E94B2079FEF24E38CE0915020408040F3\r
+:1010A000E1F700C000000E943F28D3C1C11520E62F\r
+:1010B000D20730F4C11581E5D80708F48CC02DC1E2\r
+:1010C000C11590E7D90708F481C1C11520E8D207FE\r
+:1010D00008F478C1C11580E9D80708F077C1DF703E\r
+:1010E0008E01106AB6C101E010E0B3C1C53AD10566\r
+:1010F00009F471C1C63AD10509F070C102E810E4E3\r
+:10110000A8C1C83AD10509F46CC1C93AD10509F49E\r
+:101110006BC1CA3AD10509F46AC1CB3AD10509F4C9\r
+:1011200069C1CC3AD10509F468C1CD3AD10509F4B9\r
+:1011300067C1C03BD10509F466C1CE3AD10509F4B7\r
+:1011400065C1CF3AD10509F464C1C13BD10509F4A9\r
+:1011500063C1C23BD10509F462C1C33BD10509F4A7\r
+:1011600061C1C43BD10509F460C1C53BD10509F497\r
+:101170005FC1C63BD10509F45EC1C73BD10509F487\r
+:101180005DC1C83BD10509F45CC1C93BD10509F477\r
+:101190005BC1CA3BD10509F45AC100E014E459C14E\r
+:1011A000CE019F700E94DE0755C1DD278E01106CB5\r
+:1011B00050C100E011ED4DC100E010ED4AC100E06A\r
+:1011C00012ED47C100E013ED44C18091C703816077\r
+:1011D0008093C7033EC10E949B28811102C00E94D8\r
+:1011E00077280E94B32890E09093F2038093F10354\r
+:1011F000C23090E5D90721F48091F103816086C067\r
+:10120000C43020E5D20721F48091F10382607EC0D2\r
+:10121000C63080E5D80721F48091F103846076C060\r
+:10122000C83090E5D90719F48091F10327C0CA307E\r
+:1012300020E5D20721F48091F103806167C0CC30B2\r
+:1012400080E5D80721F48091F10380625FC0CE3041\r
+:1012500090E5D90721F48091F103806457C0C03133\r
+:1012600020E5D20721F48091F10380684FC0C2319C\r
+:1012700080E5D80729F48091F1038460886046C036\r
+:10128000C33090E5D90721F48091F1038E7F3EC0F1\r
+:10129000C53020E5D20721F48091F1038D7F36C05F\r
+:1012A000C73080E5D80721F48091F1038B7F2EC0F1\r
+:1012B000C93090E5D90719F48091F10326C0CB30ED\r
+:1012C00020E5D20721F48091F1038F7E1FC0CD303D\r
+:1012D00080E5D80721F48091F1038F7D17C0CF30CE\r
+:1012E00090E5D90721F48091F1038F7B0FC0C131C4\r
+:1012F00020E5D20721F48091F1038F7707C0C33135\r
+:10130000D04531F48091F1038B7F877F8093F10387\r
+:101310008091F1030E94B7289CC08D2F99278F7070\r
+:10132000992781309105D9F49E012370332702C09B\r
+:10133000880F991F2A95E2F79C688E0144E0000F00\r
+:10134000111F4A95E1F700271370802B912B53E072\r
+:10135000CC0FDD1F5A95E1F7C076DD272FC0823014\r
+:10136000910531F4DC2FCC278E01016F106A71C01A\r
+:101370008330910569F4CE018370992701E010E074\r
+:1013800002C0000F111F8A95E2F7C8019C680FC0C8\r
+:10139000049709F05EC0CE018370992701E010E048\r
+:1013A00002C0000F111F8A95E2F7C8019A6823E076\r
+:1013B000CC0FDD1F2A95E1F7C07ED7708C010C2B76\r
+:1013C0001D2B47C0DF708E01106243C000E010E0AB\r
+:1013D00040C08E013EC001E810E43BC003E810E4C9\r
+:1013E00038C002EE14E435C009EE14E432C00AEE4F\r
+:1013F00014E42FC005EB14E42CC006EB14E429C060\r
+:1014000007EB14E426C00CEC14E423C00DEC14E448\r
+:1014100020C003E815E41DC00AE815E41AC002E97B\r
+:1014200015E417C004E915E414C001E216E411C084\r
+:1014300003E216E40EC004E216E40BC005E216E473\r
+:1014400008C006E216E405C007E216E402C00AE29C\r
+:1014500016E4C801DF91CF911F910F9108959CE090\r
+:10146000799FF00111249CE3899FE00DF11D112467\r
+:10147000E60FF11DEE0FFF1FE658FE4F8591949188\r
+:10148000803E9105E0F4803C910558F5813391054B\r
+:1014900009F46FC048F48932910509F463C08A32B7\r
+:1014A000910509F46DC072C089339105E9F0823865\r
+:1014B0009105D1F08533910509F44DC067C0833E95\r
+:1014C000910581F138F4803E9105B9F0823E910595\r
+:1014D000D9F05CC0863E910561F1873E9105A1F18E\r
+:1014E00055C00E94D60708952091F10320FD02C047\r
+:1014F00021FF4CC080EE90E049C08091F10380FF55\r
+:10150000F9CF89E390E042C08091F10382FF0EC0E1\r
+:101510008091F10384FF03C080E090E037C083EE48\r
+:1015200090E034C08091F10382FFF2CF82EE90E030\r
+:101530002DC08091F10383FF0BC08091F10384FDE6\r
+:10154000EBCF87EE90E022C08091F10383FFF5CFCF\r
+:1015500086EE90E01BC08091F10385FF07C089E211\r
+:1015600090E014C08091F10385FFF9CF85E390E00E\r
+:101570000DC08091F10386FF07C08AE290E006C0AB\r
+:101580008091F10386FFF9CF81E390E00E94E607A6\r
+:101590000895CF92DF92EF92FF920F931F9301E095\r
+:1015A00010E020E030E06801790104C0CC0CDD1CC3\r
+:1015B000EE1CFF1C8A95D2F704C0000F111F221FDA\r
+:1015C000331F6A95D2F70C291D292E293F29C09077\r
+:1015D000B303D090B403E090B503F090B603C022FB\r
+:1015E000D122E222F322842FC016D106E206F306AE\r
+:1015F00041F41F910F91FF90EF90DF90CF900C94EA\r
+:10160000A5251F910F91FF90EF90DF90CF900C9444\r
+:10161000C62508950C94090B5F926F927F928F926A\r
+:101620009F92AF92BF92CF92DF92EF92FF920F9371\r
+:101630001F93CF93DF93CDB7DEB72A970FB6F894F9\r
+:10164000DEBF0FBECDBFCE0101966C014E019BE007\r
+:10165000890E911C20E030E040E050E060E070E056\r
+:1016600000E010E0E12CF12C6C2C5D2C8AE0782E4F\r
+:10167000AA24A394B12CEBE6F2E0A62DB52D872D7C\r
+:1016800001900D928A95E1F7F601819191916F0198\r
+:10169000FC01E07FFF27E032F10559F48F709927B4\r
+:1016A000F50102C0EE0FFF1F8A95E2F7EE2AFF2A2E\r
+:1016B00037C0E033F10559F48F709927F50102C066\r
+:1016C000EE0FFF1F8A95E2F70E2B1F2B29C0E03487\r
+:1016D000F10559F48F709927F50102C0EE0FFF1F35\r
+:1016E0008A95E2F76E2B7F2B1BC0E035F10559F48C\r
+:1016F0008F709927F50102C0EE0FFF1F8A95E2F760\r
+:101700004E2B5F2B0DC0E036F10551F48F709927F9\r
+:10171000F50102C0EE0FFF1F8A95E2F72E2B3F2B3B\r
+:10172000C814D90409F0A7CF84B19E2D90958923C0\r
+:1017300084B985B1E82AE5B887B1902F90958923BF\r
+:1017400087B988B1082B08B98AB1962F909589235B\r
+:101750008AB98BB1682B6BB98DB1942F9095892381\r
+:101760008DB98EB1482B4EB980B3922F90958923B5\r
+:1017700080BB81B3282B21BB2A960FB6F894DEBF1D\r
+:101780000FBECDBFDF91CF911F910F91FF90EF90D2\r
+:10179000DF90CF90BF90AF909F908F907F906F9091\r
+:1017A0005F9008955F926F927F928F929F92AF9217\r
+:1017B000BF92CF92DF92EF92FF920F931F93CF933E\r
+:1017C000DF93CDB7DEB768970FB6F894DEBF0FBED4\r
+:1017D000CDBF85B7806885BF85B7806885BF0E940B\r
+:1017E0000C0BCE0101966C014E0199E1890E911C02\r
+:1017F00020E030E040E050E060E070E000E010E029\r
+:10180000E12CF12C6C2C5D2C88E1782EAA24A39479\r
+:10181000B12CE5E7F2E0A62DB52D872D01900D92B4\r
+:101820008A95E1F7F601819191916F01FC01E07FCA\r
+:10183000FF27E032F10559F48F709927F50102C0B6\r
+:10184000EE0FFF1F8A95E2F7EE2AFF2A37C0E0333A\r
+:10185000F10559F48F709927F50102C0EE0FFF1FB3\r
+:101860008A95E2F70E2B1F2B29C0E034F10559F4BD\r
+:101870008F709927F50102C0EE0FFF1F8A95E2F7DE\r
+:101880006E2B7F2B1BC0E035F10559F48F70992723\r
+:10189000F50102C0EE0FFF1F8A95E2F74E2B5F2B7A\r
+:1018A0000DC0E036F10551F48F709927F50102C0A3\r
+:1018B000EE0FFF1F8A95E2F72E2B3F2BC814D90499\r
+:1018C00009F0A7CF84B19E2D9095892384B985B165\r
+:1018D000E82AE5B887B1902F9095892387B988B118\r
+:1018E000082B08B98AB1962F909589238AB98BB1B4\r
+:1018F000682B6BB98DB1942F909589238DB98EB1DA\r
+:10190000482B4EB980B3922F9095892380BB81B329\r
+:10191000282B21BBE2E0F3E0A8EFB2E01192119294\r
+:101920001D921D9283E0EC30F807C1F768960FB660\r
+:10193000F894DEBF0FBECDBFDF91CF911F910F9105\r
+:10194000FF90EF90DF90CF90BF90AF909F908F90DF\r
+:101950007F906F905F900C94CB075F926F927F9215\r
+:101960008F929F92AF92BF92CF92DF92EF92FF92AF\r
+:101970000F931F93CF93DF93CDB7DEB7A2970FB628\r
+:10198000F894DEBF0FBECDBF6E0149E1C40ED11C7D\r
+:1019900088EFA82E82E0B82E75019AE0592E4601F4\r
+:1019A00001E010E028E1622E35E0732EEBE6F2E074\r
+:1019B000D401852D01900D928A95E1F7D6018D9184\r
+:1019C0009D916D019C01207F33272032310591F4D8\r
+:1019D00024B18F709927F80102C0EE0FFF1F8A957E\r
+:1019E000E2F7CF01922F982B94B995B18095892376\r
+:1019F00085B953C02033310591F427B18F709927F1\r
+:101A0000A80102C0440F551F8A95E2F7CA01922F20\r
+:101A1000982B97B998B18095892388B93EC0203416\r
+:101A2000310591F42AB18F709927D80102C0AA0F0D\r
+:101A3000BB1F8A95E2F7CD01922F982B9AB99BB1E3\r
+:101A4000809589238BB929C02035310591F42DB1BA\r
+:101A50008F709927F80102C0EE0FFF1F8A95E2F7F9\r
+:101A6000CF01922F982B9DB99EB1809589238EB975\r
+:101A700014C02036310589F420B38F709927A8014E\r
+:101A800002C0440F551F8A95E2F7CA01922F982B86\r
+:101A900090BB91B38095892381BB50EA5A95F1F7A9\r
+:101AA000BE016F5F7F4F20E030E040E050E0E5E7AF\r
+:101AB000F2E0DE011196862D01900D928A95E1F7F4\r
+:101AC000DB018D919D91BD01FC01E07FFF27E0329C\r
+:101AD000F10511F4E3B113C0E033F10511F4E6B1FF\r
+:101AE0000EC0E034F10511F4E9B109C0E035F105AB\r
+:101AF00011F4ECB104C0E036F105B9F4EFB1F0E057\r
+:101B00008F70992702C0F595E7958A95E2F7E0FD79\r
+:101B100008C0C801042E02C0880F991F0A94E2F77A\r
+:101B200002C080E090E0282B392B4F5F5F4F4C3094\r
+:101B3000510509F0BCCFF70180819181821793078D\r
+:101B400021F031832083709209020E940C0BF2E095\r
+:101B5000EF0EF11C42E0E41643E0F40609F026CF54\r
+:101B6000809109028823C9F081508093090288235B\r
+:101B700039F08FE99FE00197F1F700C000000DC038\r
+:101B8000E2E0F3E0D5018D919D915D018193919308\r
+:101B9000B2E0AB16B3E0BB06A9F70E94D10781E023\r
+:101BA000A2960FB6F894DEBF0FBECDBFDF91CF91E6\r
+:101BB0001F910F91FF90EF90DF90CF90BF90AF906B\r
+:101BC0009F908F907F906F905F900895E82FF0E046\r
+:101BD000EE0FFF1FEE5FFC4F808191810895089505\r
+:101BE0008091DC0381608093DC030C94C928809190\r
+:101BF000DC038E7F8093DC030C94C9280E949B2811\r
+:101C0000811102C00E9477280E94C5288093DC03BE\r
+:101C10003E9A809171008D7F8093710082E0809365\r
+:101C200090008AE18093910081E080930E030895F3\r
+:101C300080910E03811102C00E94FE0D10925E037E\r
+:101C400010925D03809171008D7F8093710080916F\r
+:101C500090008F77809390001092200310921F03C2\r
+:101C600010925703109258031092590310925A037E\r
+:101C70001092560310925503E5E3F3E0A5E2B3E0BA\r
+:101C800011921192119211921D921D9283E0E535ED\r
+:101C9000F807B1F70895CF92DF92EF92FF920F937A\r
+:101CA0001F93CF93DF9320911F03222309F484C055\r
+:101CB0006B017C0180910E03811102C00E94FE0D18\r
+:101CC00005E513E0C7E0D0E0A7019601F801929185\r
+:101CD0008291729162918F010E94052E811131C013\r
+:101CE000FE01EE0FFF1FEE0FFF1FEB5CFC4F10829B\r
+:101CF000118212821382DE01AA0FBB1FAB5DBC4FA3\r
+:101D000011961C921E92C730D105E9F021964481AC\r
+:101D10005581668177814083518362837383148206\r
+:101D200015821682178212968D919C9113971196A7\r
+:101D30009C938E9313961C921E9212973496129631\r
+:101D4000E2CF219708F680915D0390915E030197A1\r
+:101D500097FD05C090935E0380935D0304C01092CD\r
+:101D60005E0310925D0380915D0390915E0320916C\r
+:101D70005B0330915C032817390724F010925C0351\r
+:101D800010925B03892BC1F4809171008D7F809349\r
+:101D90007100809190008F7780939000109257038C\r
+:101DA000109258031092590310925A03109256033E\r
+:101DB0001092550310921F03DF91CF911F910F9145\r
+:101DC000FF90EF90DF90CF9008951F920F920FB683\r
+:101DD0000F9211244F925F926F927F928F929F92F7\r
+:101DE000AF92BF92CF92DF92EF92FF922F933F93E9\r
+:101DF0004F935F936F937F938F939F93AF93BF9313\r
+:101E0000CF93DF93EF93FF9380911F03882309F40F\r
+:101E10009BC1C0915D03D0915E031C161D060CF0A2\r
+:101E200093C140900F035090100360901103709085\r
+:101E3000120320E030E0A901C301B2010E94B02FDB\r
+:101E400018160CF065C0C130D10509F452C080915C\r
+:101E50005B0390915C03BE010E9482317C019093F0\r
+:101E60005C0380935B038090210390902203A090F9\r
+:101E70002303B090240320E030E040E85FE3C50195\r
+:101E8000B4010E94A12D60932103709322038093DB\r
+:101E9000230390932403F701EE0FFF1FEE0FFF1FA4\r
+:101EA000EB5CFC4FA301920160817181828193817F\r
+:101EB0000E94092E20E030E040E05EE30E94B42F53\r
+:101EC0009B01AC01C501B4010E94B02F18168CF41F\r
+:101ED000C7010196BE010E94823190935C038093FA\r
+:101EE0005B0310922103109222031092230310929D\r
+:101EF0002403E0915B03F0915C03EE0FFF1FEE0FF4\r
+:101F0000FF1FEB5CFC4F6081718182819381D0C0A7\r
+:101F1000C0905703D0905803E0905903F0905A03B3\r
+:101F200020E030E0A901C701B6010E94052E2197EB\r
+:101F3000882309F4A2C0FE01EE0FFF1FEE0FFF1F62\r
+:101F4000EB5CFC4F80809180A280B380A50194015E\r
+:101F5000C701B6010E94052E87FF31C0A50194017B\r
+:101F600060E070E08CED93EC0E94092E20E030E000\r
+:101F700040E451E40E94092E20E030E040E05FE3BD\r
+:101F80000E94B42F9B01AC0160E070E080E090E41F\r
+:101F90000E9417309B01AC01C501B4010E94B42F0F\r
+:101FA0009B01AC01C701B6010E94052E87FF07C047\r
+:101FB000A701960160E070E08CED93E439C0A501C3\r
+:101FC0009401C701B6010E94B02F18160CF055C03D\r
+:101FD000A501940160E070E08CED93E40E94092E6D\r
+:101FE00020E030E040E451E40E94092E20E030E09F\r
+:101FF00040E05FE30E94B42F9B01AC0160E070E021\r
+:1020000080E090E40E9417309B01AC01C501B4014F\r
+:102010000E94B42F9B01AC01C701B6010E94B02FF2\r
+:1020200018165CF5A701960160E070E08CED93EC6A\r
+:102030000E94092E20E030E040E451E40E94092E85\r
+:1020400020E030E040E05FE30E94B42F9B01AC0150\r
+:1020500060E070E080E090E40E9417309B01AC01EA\r
+:10206000C701B6010E94B42F6093570370935803C1\r
+:102070008093590390935A0313C0FE01EE0FFF1F84\r
+:10208000EE0FFF1FEB5CFC4F80819181A281B38139\r
+:102090008093570390935803A0935903B0935A0326\r
+:1020A00060915703709158038091590390915A039E\r
+:1020B00020910C0330910D032F3F4FEF340731F087\r
+:1020C0002F5F3F4F30930D0320930C030E940C139E\r
+:1020D0006B017C0120E034E244EF51E40E94052EC4\r
+:1020E00087FF08C086EFC82E88E2D82E84EFE82E3E\r
+:1020F00081E4F82E20E030E040E051E4C701B60171\r
+:102100000E94B42F9B01AC0160E074E284E79BE481\r
+:102110000E94092E6B017C010E94712E7093970022\r
+:102120006093960020910A0230910B0240910C02BC\r
+:1021300050910D02C701B6010E94B42F0E94712E6A\r
+:10214000709399006093980080912003882309F48C\r
+:1021500033C1C0901B03D0901C03E0901D03F0908E\r
+:102160001E0320E030E0A901C701B6010E94B02F94\r
+:102170001816D4F580910C0390910D038F3F2FEF2B\r
+:10218000920729F0019690930D0380930C03C701E9\r
+:10219000B6010E940C1320E030E040E051E40E94C0\r
+:1021A000B42F9B01AC0160E074E284E79BE40E94E1\r
+:1021B000092E6B017C010E94712E70939700609331\r
+:1021C000960020910A0230910B0240910C0250912E\r
+:1021D0000D02C701B6010E94B42F0E94712E7093A8\r
+:1021E00099006093980008C0109297001092960092\r
+:1021F0001092990010929800609115037091160347\r
+:102200006F5F7F4F709316036093150320919600C4\r
+:102210003091970080E090E0232BF1F0C091960080\r
+:10222000D09197000E94A22E6B017C01BE0180E03C\r
+:1022300090E00E94A22E9B01AC0160911703709167\r
+:1022400018038091190390911A030E94092E20E02F\r
+:102250003FEF4FE757E410C00E94A22E6B017C01B4\r
+:1022600020E030EE4FEF54E46091170370911803B3\r
+:102270008091190390911A030E94B42F9B01AC0125\r
+:10228000C701B6010E94B02F87FD96C0809113034D\r
+:102290008F5F8093130390E02091D8033091D9038E\r
+:1022A00082179307A0F08091E303882319F010921E\r
+:1022B00013030DC0809171008D7F80937100809118\r
+:1022C00090008F7780939000109220037DC08091C2\r
+:1022D0001403C0911303811128C0C090DD03D09076\r
+:1022E000DE03E090DF03F090E00320E030E0A9019E\r
+:1022F000C701B6010E94B02F1816BCF481E080938C\r
+:10230000140310921B0310921C0310921D031092D1\r
+:102310001E03C0921703D0921803E0921903F092A3\r
+:102320001A03C150C093130343C0109214031092B8\r
+:102330000D0310920C03E091DA03F091DB0348E007\r
+:10234000C49FE00DF11D112480819181A281B38190\r
+:1023500080931B0390931C03A0931D03B0931E0353\r
+:1023600020E030E040E85EE36481758186819781FA\r
+:102370000E94B42F6B017C0120E030E048EC52E475\r
+:1023800060910E0270910F028091100290911102E3\r
+:102390000E94092E9B01AC01C701B6010E94B42F17\r
+:1023A00060931703709318038093190390931A0393\r
+:1023B00010921603109215038091DC0380FD04C077\r
+:1023C0001092200310921F03FF91EF91DF91CF91A4\r
+:1023D000BF91AF919F918F917F916F915F914F913D\r
+:1023E0003F912F91FF90EF90DF90CF90BF90AF90F3\r
+:1023F0009F908F907F906F905F904F900F900FBE47\r
+:102400000F901F901895CF92DF92EF92FF92CF938B\r
+:10241000DF936B017C01EA0180910E03811102C000\r
+:102420000E94FE0D8091DC0380FF46C080915D0319\r
+:1024300090915E0308970CF03FC0809171008D7FF2\r
+:10244000809371008091200381110E94180E81E019\r
+:1024500080931F0310920D0310920C0320E030E0D4\r
+:10246000A901C701B6010E94B02F1816DCF48091B3\r
+:102470005D0390915E03FC01EE0FFF1FEE0FFF1F47\r
+:10248000EB5CFC4FC082D182E282F382FC01EE0F52\r
+:10249000FF1FEB5DFC4FD183C083019690935E03D9\r
+:1024A00080935D03809171008260809371008091C0\r
+:1024B0009000806880939000DF91CF91FF90EF9023\r
+:1024C000DF90CF9008958F929F92AF92BF92CF925C\r
+:1024D000DF92EF92FF920F931F93CF93DF93EC0164\r
+:1024E0007B01D42E4801590180910E03811102C055\r
+:1024F0000E94FE0D8091DC0380FF6BC08091710013\r
+:102500008D7F8093710080911F0381110E94180EAE\r
+:1025100081E080932003D093DB03C093DA03F09231\r
+:10252000D903E092D803D092E3038092DD03909226\r
+:10253000DE03A092DF03B092E00310922103109219\r
+:102540002203109223031092240310921303888114\r
+:102550009981AA81BB8180931B0390931C03A09354\r
+:102560001D03B0931E0320E030E040E85EE36C8181\r
+:102570007D818E819F810E94B42F6B017C0120E0C0\r
+:1025800030E048EC52E460910E0270910F028091AD\r
+:102590001002909111020E94092E9B01AC01C7010B\r
+:1025A000B6010E94B42F60931703709318038093B1\r
+:1025B000190390931A031092160310921503809139\r
+:1025C0007100826080937100809190008068809398\r
+:1025D0009000DF91CF911F910F91FF90EF90DF90CE\r
+:1025E000CF90BF90AF909F908F90089580915F03A0\r
+:1025F00090E0019666E070E00E94823180935F0374\r
+:10260000089580915F0390E0019766E070E00E947A\r
+:10261000823180935F0308958F929F92AF92BF9211\r
+:10262000CF92DF92EF92FF920F931F93CF93DF939E\r
+:102630006B017C01C0910C03D0910D03BE0180E0C1\r
+:1026400090E00E94A22E4B015C01A701960160E080\r
+:1026500070E08CE594E40E94092E9B01AC01C50159\r
+:10266000B4010E94B42F0E94762E20915F03233084\r
+:1026700009F473C028F4222351F02130E9F02CC171\r
+:10268000243009F4A0C0253009F4E0C025C180E061\r
+:1026900090E0A0E0BFE380930A0290930B02A09326\r
+:1026A0000C02B0930D0210920F03109210031092BF\r
+:1026B00011031092120310C110920F031092100315\r
+:1026C00010921103109212036431710540F46A30C4\r
+:1026D000710560F520E030E040E85EE32BC0693C26\r
+:1026E000710508F0AAC080E090E00E94A22E20E0D0\r
+:1026F00030E040EA51E40E94A02D20E030E044E3C5\r
+:1027000053E40E94092E9B01AC010E94B42F20E0EB\r
+:1027100030E040E05EE30E94B42F9B01AC0160E03A\r
+:1027200070E080E09EE30E94A02D44C020E030E0F5\r
+:1027300040E05FE3C701B6010E94B42F6B017C014A\r
+:1027400080E090E0A0E0BEE380930A0290930B0249\r
+:10275000A0930C02B0930D02BFC010920F03109211\r
+:10276000100310921103109212034AE0469F900149\r
+:10277000479F300D1124C90168EB7BE00E946E3148\r
+:10278000BC016C5D754077FF03C07195619571095F\r
+:10279000882777FD8095982F0E94A42E2EE333EC96\r
+:1027A0004EE259E30E94B42F20E030E040EC5EE3BB\r
+:1027B0000E94A12D60930A0270930B0280930C0279\r
+:1027C00090930D0289C010920F0310921003109283\r
+:1027D000110310921203CE0183709927892BE1F027\r
+:1027E000BE016170772780E090E00E94A22E20E079\r
+:1027F00030E040E05EE30E94B42F20E030E040E4AF\r
+:102800005FE30E94A12D60930A0270930B028093F4\r
+:102810000C0290930D020CC080E090E0A0E0BFE3BA\r
+:1028200080930A0290930B02A0930C02B0930D02C6\r
+:10283000C770DD27CD2B09F04FC010920A0210920D\r
+:102840000B0210920C0210920D0246C010920F0360\r
+:1028500010921003109211031092120300E010E086\r
+:1028600020E03FE300930A0210930B0220930C0236\r
+:1028700030930D026739710578F180E090E00E9495\r
+:10288000A22E20E030E047E153E40E94A02D20E09A\r
+:1028900030E04AE754E40E94092E20E030E048E4AA\r
+:1028A00052E40E94B42F20E030E040EA51E40E945C\r
+:1028B000E62E0E94712E660F771F660F771FFB01B1\r
+:1028C000E357FD4F2081318142815381C701B60119\r
+:1028D0000E94B42F6B017C01C701B601DF91CF913B\r
+:1028E0001F910F91FF90EF90DF90CF90BF90AF902E\r
+:1028F0009F908F900895809168030895CF93DF9300\r
+:1029000000D01F92CDB7DEB79C018091E8038430E0\r
+:1029100019F593E099833B832A839093E9008FEF25\r
+:102920009091E800815095FD06C095ED9A95F1F7DC\r
+:1029300000008111F5CF8091E80085FF0DC040E0D7\r
+:1029400050E063E070E0CE0101960E94B7168091DE\r
+:10295000E8008E778093E8000F900F900F90DF9142\r
+:10296000CF910895CF93DF9300D01F92CDB7DEB7FC\r
+:102970002091E803243021F522E029839B838A8378\r
+:1029800083E08093E9008FEF9091E800815095FDFE\r
+:1029900006C095ED9A95F1F700008111F5CF809171\r
+:1029A000E80085FF0DC040E050E063E070E0CE013C\r
+:1029B00001960E94B7168091E8008E778093E80018\r
+:1029C0000F900F900F90DF91CF9108952091E80321\r
+:1029D0002430F1F422E02093E9002FEF3091E80059\r
+:1029E000215035FD06C035ED3A95F1F70000211173\r
+:1029F000F5CF2091E80025FF0BC040E050E065E0F6\r
+:102A000070E00E94B7168091E8008E778093E8000E\r
+:102A10000895CF93DF932091E803243039F521E026\r
+:102A20002093E9002FEF3091E800215035FD06C0DA\r
+:102A300035ED3A95F1F700002111F5CF2091E8002E\r
+:102A400025FF14C0EC0140E050E068E070E00E9417\r
+:102A5000B7168091E8008E778093E80088E0FE0149\r
+:102A6000A0E6B3E001900D928A95E1F7DF91CF9156\r
+:102A700008958091E703811109C00E944C180E94BB\r
+:102A8000A9188091E20084608093E200089510927A\r
+:102A9000E7030895089508950C94A72742E061EC98\r
+:102AA00081E00E94C61742E061EC82E00E94C617F6\r
+:102AB00042E061EC83E00C94C6178091EA03833016\r
+:102AC00009F453C030F4813071F0823009F48CC0C5\r
+:102AD00008958A3009F478C08B3009F45EC08930DB\r
+:102AE00009F09AC020C08091E903813A09F094C0AE\r
+:102AF0008091E800877F8093E8008091ED039091BA\r
+:102B0000EE03892B21F468E080E693E003C060E0E7\r
+:102B100080E090E070E00E9402178091E8008B77DF\r
+:102B20008093E80008958091E903813209F074C030\r
+:102B30008091ED039091EE03892B09F06DC0809197\r
+:102B4000E800877F8093E8008091E80082FD05C05F\r
+:102B50008091E8038111F8CF5FC08091F1008093EC\r
+:102B600068038091E8008B7753C08091E903813A34\r
+:102B700009F052C08091ED039091EE03892B09F08A\r
+:102B80004BC08091E800877F8093E8008091E80047\r
+:102B900080FFFCCF80911C0236C08091E903813216\r
+:102BA000D9F58091ED039091EE03892BA9F58091E1\r
+:102BB000E800877F8093E8000E94FB178091EB0379\r
+:102BC00080931C020C946C218091E903813221F5E1\r
+:102BD0008091E800877F8093E8000E94FB17809136\r
+:102BE000EC038093690308958091E903813AA1F48D\r
+:102BF0008091E800877F8093E8008091E80080FF63\r
+:102C0000FCCF809169038093F1008091E8008E777A\r
+:102C10008093E8000C94FB17089584B7877F84BFE6\r
+:102C200088E10FB6F89480936000109260000FBEA8\r
+:102C300090E080E80FB6F894809361009093610073\r
+:102C40000FBE0E949E1B0E944C180E94A9188091E2\r
+:102C5000E20084608093E20078940E942F1B0E941F\r
+:102C6000A01B82E192E00E944A1B8091E80385301C\r
+:102C700069F40E9461278091E6038823B1F30E94E2\r
+:102C80008F27882391F30E94A116EFCF0E94A81BE3\r
+:102C9000ECCF292F332723303105C9F064F42130DC\r
+:102CA000310581F02230310509F043C084E590E020\r
+:102CB00020ED39E042C021323105F1F022323105F8\r
+:102CC00041F137C082E190E024E23AE036C0992732\r
+:102CD0008130910541F08230910541F0892B49F511\r
+:102CE000ECECF9E005C0EEE9F9E002C0E2E7F9E05A\r
+:102CF000849190E09F0121C06330D8F4E62FF0E08A\r
+:102D0000EE0FFF1FEA51FD4F2081318189E090E0F5\r
+:102D100014C0633070F470E0FB01EE0FFF1FE0524F\r
+:102D2000FD4F20813181FB01E352FD4F808190E016\r
+:102D300004C080E090E020E030E0FA01318320839D\r
+:102D4000089580E189BD82E189BD09B400FEFDCF0F\r
+:102D50008091D8008F7D8093D8008091E0008260C0\r
+:102D60008093E0008091E00081FDFCCF0895CF9238\r
+:102D7000DF92EF92FF920F931F93CF93DF93EC01BB\r
+:102D80008B016A010E941A18811133C0C114D10449\r
+:102D900039F0F60180819181081B190BC80FD91FEA\r
+:102DA000E12CF12C0115110519F18091E80085FD48\r
+:102DB00016C08091E8008E778093E800C114D1049A\r
+:102DC00049F0F60180819181E80EF91EF182E082DE\r
+:102DD00085E00FC00E941A18882321F30AC0899148\r
+:102DE0008093F10001501109FFEFEF1AFF0ADACFCB\r
+:102DF00080E0DF91CF911F910F91FF90EF90DF90D6\r
+:102E0000CF9008952091EF033091F00326173707F4\r
+:102E100048F06115710539F42091E8002E77209370\r
+:102E2000E80001C0B90140E061157105A9F12091E8\r
+:102E3000E803222309F443C0253009F442C020915D\r
+:102E4000E80023FD40C02091E80022FD32C020911F\r
+:102E5000E80020FFE9CF4091F3002091F20030E03C\r
+:102E6000342BFC01CF016115710559F02830310573\r
+:102E700040F481918093F100615071092F5F3F4FC1\r
+:102E8000F1CF41E02830310509F040E02091E80021\r
+:102E90002E772093E800C8CF4111C9CF0AC0809196\r
+:102EA000E803882361F0853061F08091E80083FDBC\r
+:102EB0000AC08091E80082FFF2CF80E0089582E0AE\r
+:102EC000089583E0089581E008952091EF03309103\r
+:102ED000F0032617370748F06115710539F4209182\r
+:102EE000E8002E772093E80001C0B901FC0120E042\r
+:102EF0006115710591F18091E803882309F440C0C0\r
+:102F0000853009F43FC08091E80083FD3DC0809189\r
+:102F1000E80082FD2FC08091E80080FFE9CF20917A\r
+:102F2000F3008091F20090E0922B6115710559F049\r
+:102F30008830910540F424912093F100319661503E\r
+:102F400071090196F2CF21E0089709F020E0809105\r
+:102F5000E8008E778093E800CBCF2111CCCF0AC058\r
+:102F60008091E803882361F0853061F08091E8006A\r
+:102F700083FD0AC08091E80082FFF2CF80E00895CF\r
+:102F800082E0089583E0089581E00895982F9730B6\r
+:102F900058F59093E900981739F07091EC00209162\r
+:102FA000ED005091F00003C0242F762F50E021FF58\r
+:102FB00019C03091EB003E7F3093EB003091ED0073\r
+:102FC0003D7F3093ED003091EB0031603093EB00AA\r
+:102FD0007093EC002093ED005093F0002091EE00F0\r
+:102FE00027FF07C09F5FD3CF8F708093E90081E0F8\r
+:102FF000089580E008958091E90387FF11C08091D2\r
+:10300000E80082FD05C08091E8038111F8CF11C06E\r
+:103010008091E8008B770BC08091E803882349F00A\r
+:103020008091E80080FFF8CF8091E8008E77809350\r
+:10303000E80008952091E4003091E50095E6409184\r
+:10304000EC00842F817040FF22C08091E80080FD59\r
+:103050001CC08091E803882391F0853091F0809125\r
+:10306000EB0085FD10C04091E4005091E50042174F\r
+:10307000530729F39A01915011F784E0089582E0F3\r
+:10308000089583E0089581E0089580E008954091D7\r
+:10309000E80042FFDECF08950E94BA180E94C218CD\r
+:1030A000E0EEF0E0808181608083E8EDF0E08081F7\r
+:1030B0008F77808319BCA7EDB0E08C918E7F8C93C5\r
+:1030C00080818F7E80831092E70308950F931F9372\r
+:1030D000CF93DF930E94BA180E94C218C8EDD0E0C7\r
+:1030E00088818F77888388818068888388818F7DB5\r
+:1030F000888319BC1092E8031092E4031092E6034F\r
+:103100001092E50300EE10E0F80180818B7F808350\r
+:1031100088818160888342E060E080E00E94C61779\r
+:10312000E1EEF0E080818E7F8083E2EEF0E080814E\r
+:1031300081608083808188608083F80180818E7FB8\r
+:103140008083888180618883DF91CF911F910F9167\r
+:103150000895E8EDF0E080818F7E8083E7EDF0E078\r
+:1031600080818160808384E082BF81E08093E70377\r
+:103170000C946618E8EDF0E080818E7F80831092D9\r
+:10318000E20008951092DA001092E10008951F9273\r
+:103190000F920FB60F9211242F933F934F935F938B\r
+:1031A0006F937F938F939F93AF93BF93EF93FF930F\r
+:1031B0008091E10082FF0BC08091E20082FF07C096\r
+:1031C0008091E1008B7F8093E1000E942E1B809113\r
+:1031D000DA0080FF1FC08091D80080FF1BC0809163\r
+:1031E000DA008E7F8093DA008091D90080FF0DC0D5\r
+:1031F00080E189BD82E189BD09B400FEFDCF81E097\r
+:103200008093E8030E94391505C019BC1092E803A9\r
+:103210000E9447158091E10080FF19C08091E20073\r
+:1032200080FF15C08091E2008E7F8093E200809144\r
+:10323000E20080618093E2008091D80080628093F8\r
+:10324000D80019BC85E08093E8030E944B1580915B\r
+:10325000E10084FF30C08091E20084FF2CC080E157\r
+:1032600089BD82E189BD09B400FEFDCF8091D800FF\r
+:103270008F7D8093D8008091E1008F7E8093E10064\r
+:103280008091E2008F7E8093E2008091E200816075\r
+:103290008093E2008091E403882311F084E007C06A\r
+:1032A0008091E30087FD02C081E001C083E080934C\r
+:1032B000E8030E944C158091E10083FF29C08091B2\r
+:1032C000E20083FF25C08091E100877F8093E100C9\r
+:1032D00082E08093E8031092E4038091E1008E7F06\r
+:1032E0008093E1008091E2008E7F8093E2008091E4\r
+:1032F000E20080618093E20042E060E080E00E94B2\r
+:10330000C6178091F00088608093F0000E944A15F3\r
+:10331000FF91EF91BF91AF919F918F917F916F91AD\r
+:103320005F914F913F912F910F900FBE0F901F9083\r
+:1033300018951F920F920FB60F9211242F933F935F\r
+:103340004F935F936F937F938F939F93AF93BF93AD\r
+:10335000CF93DF93EF93FF93C091E900CF708091FB\r
+:10336000EC00D82FD17080FDD0E81092E900809158\r
+:10337000F000877F8093F00078940E94DD1910920E\r
+:10338000E9008091F00088608093F000CD2BCF7031\r
+:10339000C093E900FF91EF91DF91CF91BF91AF9181\r
+:1033A0009F918F917F916F915F914F913F912F915D\r
+:1033B0000F900FBE0F901F9018951F93CF93DF9320\r
+:1033C000CDB7DEB7AA970FB6F894DEBF0FBECDBF5C\r
+:1033D000E9EEF3E088E08E0F9091F10091938E1367\r
+:1033E000FBCF0E945D158091E80083FF1FC1809193\r
+:1033F000E9039091EA03492F50E04A30510508F063\r
+:1034000015C1FA01EE59FF4F0C949631803881F0C6\r
+:10341000823809F00BC18091ED038F708093E90031\r
+:103420008091EB0085FB882780F91092E90006C0A7\r
+:103430008091E5039091E603911182609091E800FC\r
+:10344000977F9093E8008093F1001092F100C8C03C\r
+:10345000282F2D7F09F0EAC0882319F0823061F00F\r
+:10346000E5C08091EB03813009F0E0C0933009F0B2\r
+:1034700080E08093E6032BC08091EB03811127C08D\r
+:103480008091ED038F7009F4D1C08093E900209101\r
+:10349000EB0020FF1CC0933021F48091EB00806290\r
+:1034A00014C09091EB0090619093EB0021E030E02C\r
+:1034B000A90102C0440F551F8A95E2F74093EA0024\r
+:1034C0001092EA008091EB0088608093EB001092EC\r
+:1034D000E9008091E800877F86C08111A7C0109124\r
+:1034E000EB031F778091E3008078812B8093E300CA\r
+:1034F0008091E800877F8093E8000E94FB1780910D\r
+:10350000E80080FFFCCF8091E30080688093E300B7\r
+:10351000111102C082E001C083E08093E80386C0FD\r
+:103520008058823008F082C08091EB039091EC03C8\r
+:103530008C3D53E0950779F583E08A838AE289839D\r
+:103540004FB7F894DE01139620E03EE051E2E32FFE\r
+:10355000F0E050935700E49120FF03C0E295EF7034\r
+:103560003F5FEF708E2F90E0EA3010F0C79601C0F9\r
+:10357000C0968D939D932F5F243149F74FBF809163\r
+:10358000E800877F8093E8006AE270E0CE01019650\r
+:103590000E94021714C0AE014F5F5F4F6091ED03B0\r
+:1035A0000E944916BC01009709F440C09091E800C0\r
+:1035B000977F9093E80089819A810E946517809196\r
+:1035C000E8008B778093E80031C0803879F58091EE\r
+:1035D000E800877F8093E8008091E4038093F10006\r
+:1035E0008091E8008E778093E8000E94FB171EC050\r
+:1035F00081111CC09091EB039230C0F48091E800DF\r
+:10360000877F8093E8009093E4030E94FB178091EA\r
+:10361000E403811106C08091E30087FD02C081E0D0\r
+:1036200001C084E08093E8030E944E158091E80079\r
+:1036300083FF0AC08091E800877F8093E800809133\r
+:10364000EB0080628093EB00AA960FB6F894DEBF81\r
+:103650000FBECDBFDF91CF911F9108950895CF93F5\r
+:103660008091E8038823A1F0C091E900CF70909188\r
+:10367000EC00892F817090FD80E8C82B1092E90042\r
+:103680008091E80083FD0E94DD19CF70C093E900AE\r
+:10369000CF91089590936F0380936E030895E09106\r
+:1036A0006E03F0916F03309721F00190F081E02DCF\r
+:1036B000099480E00895E0916E03F0916F033097D4\r
+:1036C00021F00280F381E02D09940895E0916E03CA\r
+:1036D000F0916F03309721F00480F581E02D09947B\r
+:1036E000089520916C0330916D038217930771F058\r
+:1036F00090936D0380936C03E0916E03F0916F03E0\r
+:10370000309721F00680F781E02D099408952091EB\r
+:103710006A0330916B038217930771F090936B03E8\r
+:1037200080936A03E0916E03F0916F03309721F06C\r
+:103730000084F185E02D0994089508950C949D1B53\r
+:103740000E94DB270E94D20B0E9461280C94092D55\r
+:103750004F925F927F928F929F92AF92BF92CF9241\r
+:10376000DF92EF92FF920F931F93CF93DF93CDB72A\r
+:10377000DEB72A970FB6F894DEBF0FBECDBF0E940A\r
+:10378000AD0C91E7C92E93E0D92E00E010E0AA24F9\r
+:10379000A394B12C702E802F0E94E60D4C01F601EF\r
+:1037A000419051906F014826592641145104B1F4BB\r
+:1037B0000F5F1F4F0530110569F78FEF89838A83EB\r
+:1037C0001B820E94E4278160782F9D838C8349812E\r
+:1037D0005A816B818D810E94611C3AC08091C70320\r
+:1037E00081FD0E94EF0D20E030E07501022E02C045\r
+:1037F000EE0CFF1C0A94E2F7C70184219521892B66\r
+:1038000009F12E837F828E209F2091E0892809F480\r
+:1038100090E098870E94E4278160782F9A878987B3\r
+:103820004E815F8168858A850E94611C000F111F8F\r
+:10383000F801EF58FC4F80819181E826F926F1824A\r
+:10384000E08206C02F5F3F4F2C30310571F6B0CFBC\r
+:103850000E94482A109170030E944F1B1817D9F03C\r
+:103860000E944F1B809370032A960FB6F894DEBF18\r
+:103870000FBECDBFDF91CF911F910F91FF90EF90C1\r
+:10388000DF90CF90BF90AF909F908F907F905F9090\r
+:103890004F900C940A0B2A960FB6F894DEBF0FBE19\r
+:1038A000CDBFDF91CF911F910F91FF90EF90DF90EF\r
+:1038B000CF90BF90AF909F908F907F905F904F90F0\r
+:1038C0000895CF93DF93CDB7DEB72B970FB6F8945B\r
+:1038D000DEBF0FBECDBF4F83588769877A878B873E\r
+:1038E000DE01119686E0FD0111928A95E9F785E0E7\r
+:1038F000FE01379601900D928A95E1F749815A8130\r
+:103900006B817C818D819E810E9406242B960FB64F\r
+:10391000F894DEBF0FBECDBFDF91CF910895CF9356\r
+:10392000882309F4C2C0C82F823859F40E944F1B63\r
+:1039300081FDBBC089E30E94AF260E94322789E344\r
+:103940000CC0833879F40E944F1B80FDAEC083E524\r
+:103950000E94AF260E94322783E50E94CC26CF9199\r
+:103960000C943227843859F40E944F1B82FD9DC06D\r
+:1039700087E40E94AF260E94322787E4EECF8CEFC7\r
+:103980008C0F813A48F48C2F0E94712C81118DC0CC\r
+:103990008C2F0E94AF26E3CF80E28C0F883048F452\r
+:1039A000C77081E001C0880FCA95EAF70E94EB2634\r
+:1039B000D6CF8BE58C0F833078F4C53A29F0C63A20\r
+:1039C00031F083E890E005C081E890E002C082E831\r
+:1039D00090E0CF910C94711B88E58C0F833108F037\r
+:1039E00064C0C83A39F1C93A41F1CA3A49F1CB3A0F\r
+:1039F00051F1CC3A59F1CD3A61F1C03B69F1CE3A7F\r
+:103A000071F1CF3A79F1C13B81F1C23B89F1C33BFE\r
+:103A100091F1C43B99F1C53BA1F1C63BA9F1C73B6C\r
+:103A2000B1F1C83BB9F1C93BC1F1CA3BC9F180E072\r
+:103A300090E038C082EE90E035C089EE90E032C070\r
+:103A40008AEE90E02FC085EB90E02CC086EB90E0F2\r
+:103A500029C087EB90E026C08CEC90E023C08DEC71\r
+:103A600090E020C083E891E01DC08AE891E01AC090\r
+:103A700082E991E017C084E991E014C081E292E00C\r
+:103A800011C083E292E00EC084E292E00BC085E2B6\r
+:103A900092E008C086E292E005C087E292E002C0B0\r
+:103AA0008AE292E0CF910C94871BCF9108958823EE\r
+:103AB00009F44BC0823859F40E944F1B81FF45C066\r
+:103AC00089E30E94AF260E94322789E30CC0833825\r
+:103AD00071F40E944F1B80FF38C083E50E94AF261F\r
+:103AE0000E94322783E50E94CC260C94322784382A\r
+:103AF00059F40E944F1B82FF28C087E40E94AF2622\r
+:103B00000E94322787E4EFCF9CEF980F913A58F349\r
+:103B100090E2980F983050F4877091E001C0990FAF\r
+:103B20008A95EAF7892F0E94F126DFCF9BE5980F4F\r
+:103B3000933020F480E090E00C94711B885A83311C\r
+:103B400020F480E090E00C94871B0895882321F0F6\r
+:103B50000E94EB260C9432270895882321F00E94BE\r
+:103B6000F1260C9432270895BF92CF92DF92EF9204\r
+:103B7000FF920F931F93CF93DF9300D000D000D01C\r
+:103B8000CDB7DEB725E0FC01DE01119601900D9264\r
+:103B90002A95E1F7FC01D0801181028125812295CF\r
+:103BA0002F7043815481452B09F472C31F3F21F4C8\r
+:103BB000FFEFDF1609F46CC37C012E830E94D3074C\r
+:103BC000D9821A8369817A81802F0E94AB26182FAF\r
+:103BD000B92E0E9460260E9427252E81002319F00D\r
+:103BE0000E9408272E81EB2DE295EF70F0E0E4595A\r
+:103BF000FF4F0C9496318B2D807F9B2D9F70F92E5B\r
+:103C0000882319F0F29480EFF822002389F0FF2036\r
+:103C100009F47CC280E2810F883020F48F2D0E944D\r
+:103C2000EB2603C08F2D0E94FB260E9432276EC216\r
+:103C3000812F0E94571DFF2009F42AC3105E8F2D8B\r
+:103C4000183018F40E94F12602C00E94012726961F\r
+:103C50000FB6F894DEBF0FBECDBFDF91CF911F919D\r
+:103C60000F91FF90EF90DF90CF90BF900C94322790\r
+:103C70008B2D807F9B2D9F70803211F4892F03C084\r
+:103C8000892F8295807F112319F0113011F12BC0FB\r
+:103C90000023A9F0222389F1213079F526960FB669\r
+:103CA000F894DEBF0FBECDBFDF91CF911F910F9172\r
+:103CB000FF90EF90DF90CF90BF900C941B272223B2\r
+:103CC00019F0213009F4E4C28E830E941E278E81F0\r
+:103CD0009BC1002321F0263008F0DAC20EC0253047\r
+:103CE00008F0D6C291C10023C9F0222331F0F701B8\r
+:103CF000958190FF0BC29F70958326960FB6F8941E\r
+:103D0000DEBF0FBECDBFDF91CF911F910F91FF900E\r
+:103D1000EF90DF90CF90BF900C94A61D222309F462\r
+:103D200073C109C22B2D26952695237030E02115ED\r
+:103D3000310521F021303105D1F0AAC2002321F054\r
+:103D4000812F9B2D937002C080E090E026960FB6E5\r
+:103D5000F894DEBF0FBECDBFDF91CF911F910F91C1\r
+:103D6000FF90EF90DF90CF90BF900C94711B0023D9\r
+:103D700021F0812F9B2D937002C080E090E0269669\r
+:103D80000FB6F894DEBF0FBECDBFDF91CF911F916C\r
+:103D90000F91FF90EF90DF90CF90BF900C94871B16\r
+:103DA000812F002319F00E94502902C00E94B829D7\r
+:103DB00026960FB6F894DEBF0FBECDBFDF91CF9130\r
+:103DC0001F910F91FF90EF90DF90CF90BF900C94D8\r
+:103DD0003D2A8B2D837009F07BC0011159C2812FC0\r
+:103DE000829586958770880F880F912F9F70C92EB6\r
+:103DF000D12CE12CF12C082E04C0CC0CDD1CEE1CC7\r
+:103E0000FF1C0A94D2F714FF12C04FE050E060E0AC\r
+:103E100070E004C0440F551F661F771F8A95D2F7C4\r
+:103E2000CB01BA01609570958095909503C060E0D4\r
+:103E300070E0CB012B2D269526952370422F50E064\r
+:103E400042305105D9F04330510569F16C297D2983\r
+:103E50008E299F294130510551F126960FB6F894CD\r
+:103E6000DEBF0FBECDBFDF91CF911F910F91FF90AD\r
+:103E7000EF90DF90CF90BF900C944E256C297D2958\r
+:103E80008E299F2926960FB6F894DEBF0FBECDBFB0\r
+:103E9000DF91CF911F910F91FF90EF90DF90CF9026\r
+:103EA000BF900C946A250E944E25C701B601269644\r
+:103EB0000FB6F894DEBF0FBECDBFDF91CF911F913B\r
+:103EC0000F91FF90EF90DF90CF90BF900C94322530\r
+:103ED000002319F08B2D817001C08695882309F489\r
+:103EE000D7C1812F829586958770880F880F912F73\r
+:103EF0009F70C92ED12CE12CF12C082E04C0CC0CC3\r
+:103F0000DD1CEE1CFF1C0A94D2F714FF12C04FE018\r
+:103F100050E060E070E004C0440F551F661F771F3B\r
+:103F20008A95D2F7CB01BA016095709580959095EE\r
+:103F300003C060E070E0CB012B2D26952695237001\r
+:103F4000422F50E042305105D9F04330510569F11C\r
+:103F50006C297D298E299F294130510551F12696E2\r
+:103F60000FB6F894DEBF0FBECDBFDF91CF911F918A\r
+:103F70000F91FF90EF90DF90CF90BF900C94282688\r
+:103F80006C297D298E299F2926960FB6F894DEBFCD\r
+:103F90000FBECDBFDF91CF911F910F91FF90EF909A\r
+:103FA000DF90CF90BF900C9444260E942826C70132\r
+:103FB000B60126960FB6F894DEBF0FBECDBFDF91D7\r
+:103FC000CF911F910F91FF90EF90DF90CF90BF9016\r
+:103FD0000C940C26103F49F118F4103E48F491C09F\r
+:103FE000123F09F453C0E8F1133F09F464C089C0DB\r
+:103FF0001F708B2D8F71002321F00E94A525812F2A\r
+:104000007CCE0E94C625812F26960FB6F894DEBF7F\r
+:104010000FBECDBFDF91CF911F910F91FF90EF9019\r
+:10402000DF90CF90BF900C94AD1D0023B1F02530F0\r
+:1040300008F02EC18B2D8F7126960FB6F894DEBF37\r
+:104040000FBECDBFDF91CF911F910F91FF90EF90E9\r
+:10405000DF90CF90BF900C94EB25263008F018C16C\r
+:10406000E9CF0023A9F08B2D8F7126960FB6F89417\r
+:10407000DEBF0FBECDBFDF91CF911F910F91FF909B\r
+:10408000EF90DF90CF90BF900C94A525002359F3BB\r
+:104090008B2D8F7126960FB6F894DEBF0FBECDBF65\r
+:1040A000DF91CF911F910F91FF90EF90DF90CF9014\r
+:1040B000BF900C94C625002399F08B2D8F71269606\r
 :1040C0000FB6F894DEBF0FBECDBFDF91CF911F9129\r
-:1040D0000F91FF90EF90DF90CF90BF900C947525DB\r
-:1040E0000023A9F0222309F4ADCF812F26960FB625\r
-:1040F000F894DEBF0FBECDBFDF91CF911F910F911E\r
-:10410000FF90EF90DF90CF90BF900C947E1C222305\r
-:1041100009F4ADCF812F26960FB6F894DEBF0FBEFF\r
-:10412000CDBFDF91CF911F910F91FF90EF90DF9066\r
-:10413000CF90BF900C94461D4B2D4F70612FC7013F\r
-:104140000E942F0626960FB6F894DEBF0FBECDBF95\r
-:10415000DF91CF911F910F91FF90EF90DF90CF9063\r
-:10416000BF900C949924011182C09B2D9F70492F00\r
-:1041700050E04230510509F443C0C4F441155105E3\r
-:1041800071F14130510509F072C026960FB6F894CE\r
-:10419000DEBF0FBECDBFDF91CF911F910F91FF907A\r
-:1041A000EF90DF90CF90BF900C94202D43305105BD\r
-:1041B000C1F14430510509F05AC0812F26960FB63F\r
-:1041C000F894DEBF0FBECDBFDF91CF911F910F914D\r
-:1041D000FF90EF90DF90CF90BF900C94722D2696B9\r
+:1040D0000F91FF90EF90DF90CF90BF900C949025C0\r
+:1040E00026960FB6F894DEBF0FBECDBFDF91CF91FD\r
+:1040F0001F910F91FF90EF90DF90CF90BF900C94A5\r
+:1041000086250023A9F0222309F4ADCF812F26961E\r
+:104110000FB6F894DEBF0FBECDBFDF91CF911F91D8\r
+:104120000F91FF90EF90DF90CF90BF900C948F1C79\r
+:10413000222309F4ADCF812F26960FB6F894DEBF67\r
+:104140000FBECDBFDF91CF911F910F91FF90EF90E8\r
+:10415000DF90CF90BF900C94571D4B2D4F70612F67\r
+:10416000C7010E940B0626960FB6F894DEBF0FBE5D\r
+:10417000CDBFDF91CF911F910F91FF90EF90DF9016\r
+:10418000CF90BF900C94AA24011182C09B2D9F70E8\r
+:10419000492F50E04230510509F443C0C4F44115A1\r
+:1041A000510571F14130510509F072C026960FB6E4\r
+:1041B000F894DEBF0FBECDBFDF91CF911F910F915D\r
+:1041C000FF90EF90DF90CF90BF900C94312D433053\r
+:1041D0005105C1F14430510509F05AC0812F26968E\r
 :1041E0000FB6F894DEBF0FBECDBFDF91CF911F9108\r
-:1041F0000F91FF90EF90DF90CF90BF900C94092D1E\r
+:1041F0000F91FF90EF90DF90CF90BF900C94832DA4\r
 :1042000026960FB6F894DEBF0FBECDBFDF91CF91DB\r
 :104210001F910F91FF90EF90DF90CF90BF900C9483\r
-:104220003C2D26960FB6F894DEBF0FBECDBFDF91B2\r
+:104220001A2D26960FB6F894DEBF0FBECDBFDF91D4\r
 :10423000CF911F910F91FF90EF90DF90CF90BF90A3\r
-:104240000C944F2D4B2D4F70612FC70126960FB642\r
-:10425000F894DEBF0FBECDBFDF91CF911F910F91BC\r
-:10426000FF90EF90DF90CF90BF900C94F9072696C7\r
+:104240000C944D2D26960FB6F894DEBF0FBECDBF51\r
+:10425000DF91CF911F910F91FF90EF90DF90CF9062\r
+:10426000BF900C94602D4B2D4F70612FC701269687\r
 :104270000FB6F894DEBF0FBECDBFDF91CF911F9177\r
-:104280000F91FF90EF90DF90CF90BF9008950E9424\r
-:10429000F7260E9407270E94CC260E9421270E9411\r
-:1042A000DD2A0E942C2A80E090E00E94601B80E0C2\r
-:1042B00090E00C94761B0E94E7260C9447210E9404\r
-:1042C0008F26292F22952F7030E02C3031054CF4A9\r
-:1042D0002A3031056CF4225031092230310588F43E\r
-:1042E00007C02C30310549F02F30310531F009C0BD\r
-:1042F000803E48F0803F29F406C093FB882780F970\r
-:10430000089580E0089581E00895CF93DF9300D071\r
-:1043100000D01F92CDB7DEB70F900F900F900F9087\r
-:104320000F90DF91CF910895CF93DF9300D000D00D\r
-:1043300000D0CDB7DEB726960FB6F894DEBF0FBE1D\r
-:10434000CDBFDF91CF9108951F93CF93DF93C0919D\r
-:104350002B0316E080912C03C81799F0D0E01C9F26\r
-:10436000F0011D9FF00D1124E35DFC4F4081518150\r
-:1043700062817381848195810E9494212196C77006\r
-:10438000E9CFDF91CF911F91089540915D03509146\r
-:104390005E0360915F03709160038091610390916F\r
-:1043A00062030C9494218091620382958F7009F0CE\r
-:1043B00054C080915F03882309F44FC080912B0380\r
-:1043C000A0912C0360915D0370915E0340916003A6\r
-:1043D00050916103B6E08A1709F43FC090E041159F\r
-:1043E0005105C1F17F3F11F46F3FA1F1B89FF0017A\r
-:1043F000B99FF00D1124E35DFC4F218172132AC097\r
-:104400002081621327C02281211124C0238134819D\r
-:104410002417350710F421503109241B350B283C93\r
-:104420003105C0F4209162032F7020612093620354\r
-:1044300026E0289FF001299FF00D1124EE5CFC4F2F\r
-:1044400080818F70806180838DE593E00E94A31D41\r
-:104450000C94A42101968770BECF0895CF92DF926D\r
-:10446000EF92FF920F931F93CF93DF93CDB7DEB7F9\r
-:1044700062970FB6F894DEBF0FBECDBF8C0185E00A\r
-:10448000F801DE011D9601900D928A95E1F7D801A1\r
-:104490004C9111965C91119712966C91129713960C\r
-:1044A000CD90DC90149730915D0370915E03809104\r
-:1044B000600390916103009709F46BC17F3F19F489\r
-:1044C0003F3F09F466C1E0905F03EE2009F4C0C0ED\r
-:1044D00020916203C816D90628F0F601E81BF90BF3\r
-:1044E000CF0104C0809590958C0D9D1DFF24F39401\r
-:1044F000883C910578F0F12C207F09F0C6C07C2D16\r
-:10450000D98AC88A89890E9485218DE593E00E9415\r
-:10451000A31DB1C0822F807F09F046C0751314C05F\r
-:10452000341312C0611110C02F70206120936203F8\r
-:104530000E94C5218DE593E00E94A31D8091620336\r
-:10454000D80115968C932EC0CD2819F15F3F11F438\r
-:104550004F3FF9F0F62E61111CC080912B03209182\r
-:104560002C0336E0821709F45AC090E0389FF0011E\r
-:10457000399FF00D1124E35DFC4F7181571306C084\r
-:104580007081471303C07281711103C00196877057\r
-:10459000E9CFF62E662309F418C180916203816089\r
-:1045A00080936203F12C11C1751308C0341306C047\r
-:1045B000611104C080916203D801C3C04D875E873A\r
-:1045C0008D859E856A8B0E945F216A898823E1F12F\r
-:1045D0006623D1F120916203822F82958F7090E043\r
-:1045E000029774F080915D0390915E0398878F83AA\r
-:1045F0001986DB86CA862C87CE0107960E94A31DEA\r
-:1046000086E0F801ADE5B3E001900D928A95E1F7FF\r
-:104610000E94D3210E94C521FF24F394D6C04D8768\r
-:104620005E878D859E850E948F26292F22952F706B\r
-:1046300030E0223031050CF0BCC09F7009F0B6C0EC\r
-:10464000805E883008F4C1C0C8010E94A31DE4CF79\r
-:10465000C816D90608F453C0F601E81BF90BCF01C0\r
-:10466000883C910508F450C0F12C7C2DD98AC88A69\r
-:1046700089890E948521EDE5F3E086E0DF011D9246\r
-:104680008A95E9F70E94C521A0C0751314C03413A0\r
-:1046900012C0611110C080916203F8018583C801C6\r
-:1046A0000E94A31D86E0EDE5F3E0DF011D928A95EF\r
-:1046B000E9F7FE2C8AC04D875E878D859E856A8BC3\r
-:1046C0000E945F216A89882309F4BECF662309F41A\r
-:1046D000BBCF20916203822F82958F7090E002976A\r
-:1046E0000CF48ECF80915D0390915E039A83898351\r
-:1046F0001B82DD82CC822E83CE0101967FCF8095F6\r
-:1047000090958C0D9D1DACCFF62E662309F49CCFA1\r
-:1047100075132EC034132CC02091620320FD1FC0DE\r
-:10472000822F82958F70D9F0D80115962C9315970A\r
-:104730008F3049F08F5F982F9295907F822F8F70E6\r
-:10474000892B15968C93C8010E94A31D86E0F80161\r
-:10475000ADE5B3E001900D928A95E1F793CF86E045\r
-:10476000F801ADE5B3E001900D928A95E1F72DC017\r
-:104770004D875E878D859E850E945F21811140CF88\r
-:1047800080916203816080936203C8010E94A31D2F\r
-:104790001CC0662309F458CF4D875E878D859E85A2\r
-:1047A0000E945F21882309F44FCF2ACF811148CF7F\r
-:1047B0000CC0243031050CF047CF9F7009F440CF76\r
-:1047C000F8019581907F09F03BCF8F2D62960FB64F\r
-:1047D000F894DEBF0FBECDBFDF91CF911F910F9137\r
-:1047E000FF90EF90DF90CF9008951F93CF93DF93CA\r
-:1047F000CDB7DEB72C970FB6F894DEBF0FBECDBF96\r
-:104800004F83588769877A878B879C87CE01079665\r
-:104810000E942E22882369F08F8198852A853B8506\r
-:10482000232BF1F19F3F09F063C08F3F09F060C077\r
-:1048300037C086E0FE013796DE01119601900D9299\r
-:104840008A95E1F76F817885EA85FB85309741F19C\r
-:104850007F3F11F46F3F21F120912C0330E0C9011B\r
-:1048600001968770992740912B0350E08417950794\r
-:1048700009F447C069837A83FD83EC8396E0929FB5\r
-:10488000D001939FB00D1124A35DBC4FFE01319662\r
-:1048900001900D929A95E1F780932C030E94A42138\r
-:1048A00016E080912B0390912C038917C1F1189F7A\r
-:1048B000C0011124835D9C4F0E942E22882379F130\r
-:1048C000E0912B031E9FF0011124E35DFC4F40811A\r
-:1048D000518162817381848195810E9494218091AC\r
-:1048E0002B0390E001968770992780932B03D9CFF3\r
-:1048F0004F81588569857A858B859C850E94942196\r
-:10490000CFCF0E945B2110922C0310922B03EDE578\r
-:10491000F3E086E0DF011D928A95E9F7C1CF2C967E\r
-:104920000FB6F894DEBF0FBECDBFDF91CF911F91C0\r
-:104930000895EF92FF920F931F93CF93DF938C0113\r
-:10494000009709F46CC0F12CEE24E394E801219661\r
-:10495000F8018491843740F4843008F051C08130EC\r
-:1049600081F0823019F15BC0853709F444C0A8F1A9\r
-:104970009CE7980F903708F052C08F770E94461D31\r
-:1049800041C00E5F1F4FFE01C49180E28C0F883042\r
-:1049900048F4C7708E2D01C0880FCA95EAF70E94AF\r
-:1049A000FA2614C08C2F0E947E1C2DC00E5F1F4F54\r
-:1049B000FE01C49180E28C0F883058F4C7708E2DB0\r
-:1049C00001C0880FCA95EAF70E9400270E9421279C\r
-:1049D0001AC08C2F0E94461D16C00E5F1F4FFE018D\r
-:1049E000C491CC2381F08FE99FE00197F1F700C0DB\r
-:1049F0000000C150F6CF0E5F1F4FFE01F49003C0C0\r
-:104A00000E947E1C8E018F2D882309F49FCFEFE931\r
-:104A1000FFE03197F1F700C000008150F5CFDF9142\r
-:104A2000CF911F910F91FF90EF900895089560939B\r
-:104A30006703709368038093690390936A030C94EF\r
-:104A400047210F931F9300916703109168032091F2\r
-:104A5000690330916A03DC01CB01802B912BA22BDF\r
-:104A6000B32B8093670390936803A0936903B0937B\r
-:104A70006A031F910F910C9447210F931F9300918C\r
-:104A80006703109168032091690330916A03DC0188\r
-:104A9000CB0180239123A223B323809367039093B8\r
-:104AA0006803A0936903B0936A031F910F910C945C\r
-:104AB00047210F931F930091670310916803209182\r
-:104AC000690330916A03DC01CB0180279127A2277B\r
-:104AD000B3278093670390936803A0936903B0930F\r
-:104AE0006A031F910F910C94472110926303109257\r
-:104AF000640310926503109266030C94472141E011\r
-:104B000050E060E070E004C0440F551F661F771F3F\r
-:104B10008A95D2F7409363035093640360936503CF\r
-:104B2000709366030C94472141E050E060E070E030\r
-:104B300004C0440F551F661F771F8A95D2F78091D6\r
-:104B4000630390916403A0916503B0916603482BC1\r
-:104B5000592B6A2B7B2B4093630350936403609320\r
-:104B60006503709366030C94472141E050E060E0D8\r
-:104B700070E004C0440F551F661F771F8A95D2F757\r
-:104B80004095509560957095809163039091640372\r
-:104B9000A0916503B0916603482359236A237B23C0\r
-:104BA00040936303509364036093650370936603BB\r
-:104BB0000C94472141E050E060E070E004C0440FF5\r
-:104BC000551F661F771F8A95D2F7809163039091D6\r
-:104BD0006403A0916503B0916603482759276A27AB\r
-:104BE0007B27409363035093640360936503709342\r
-:104BF00066030C9447210F931F9300916303109158\r
-:104C000064032091650330916603DC01CB01802BA6\r
-:104C1000912BA22BB32B8093630390936403A093F7\r
-:104C20006503B09366031F910F910C9447210F9376\r
-:104C30001F930091630310916403209165033091E9\r
-:104C40006603DC01CB0180239123A223B32380934D\r
-:104C5000630390936403A0936503B09366031F916D\r
-:104C60000F910C9447210F931F93009163031091B0\r
-:104C700064032091650330916603DC01CB0180273A\r
-:104C80009127A227B3278093630390936403A09393\r
-:104C90006503B09366031F910F910C94472108950B\r
-:104CA000CF92DF92EF92FF920F931F93CF93DF93F8\r
-:104CB0008C01C0906703D0906803E0906903F09086\r
-:104CC0006A038091630390916403A0916503B0919E\r
-:104CD0006603C82AD92AEA2AFB2ACFE1D0E0D70105\r
-:104CE000C6010C2E04C0B695A795979587950A9492\r
-:104CF000D2F780FF06C0B8018C2F0E94530A01979B\r
-:104D000021F4219760F780E001C08C2FDF91CF91D3\r
-:104D10001F910F91FF90EF90DF90CF900895CF9368\r
-:104D2000DF93EC010E945026BE010E94530ADF91DE\r
-:104D3000CF910895CB010E948F26089520911F02E4\r
-:104D400030912002F90132969FEF40E051915817BF\r
-:104D500089F09F3F19F4511101C0942F4F5F4630E5\r
-:104D6000A9F79F3F39F0F901E90FF11D97FDFA9579\r
-:104D700082830895089520911F0230912002F90145\r
-:104D80003296285F3F4F9081981301C01082319670\r
-:104D9000E217F307C1F7089581E090E0E0911F0268\r
-:104DA000F0912002E80FF91F1082019688309105DA\r
-:104DB000A9F7089590917603892B8093760308953F\r
-:104DC00080959091760389238093760308951092BD\r
-:104DD0007603089590917503892B80937503089548\r
-:104DE000809590917503892380937503089510929F\r
-:104DF0007503089590917403892B8093740308952B\r
-:104E00008095909174038923809374030895109280\r
-:104E10007403089580936B03089510926B030895B3\r
-:104E200080911F0290912002FC0131969C01285F25\r
-:104E30003F4F80E0919191118F5FE217F307D1F717\r
-:104E40000895E0911F02F091200280917603808303\r
-:104E5000E0911F02F0912002908180917503892BCF\r
-:104E60008083E0911F02F091200290818091740371\r
-:104E7000892B808380916B03882361F0E0911F026E\r
-:104E8000F09120029081892B80830E94102781114C\r
-:104E900010926B0380911F02909120020C944A1B88\r
-:104EA00080919803843039F11092780320E488E1EE\r
-:104EB00090E00FB6F894A895809360000FBE209301\r
-:104EC000600080E00E94F60580E00E942E0B83B710\r
-:104ED000817F846083BF83B7816083BF7894889526\r
-:104EE00083B78E7F83BF88E10FB6F894809360000C\r
-:104EF000109260000FBE089508950895CF9380E04A\r
-:104F00000E94F6050E947C270E94D10C0E947D27FA\r
-:104F1000C0E08C2F0E940A0E892B29F4CF5FC53088\r
-:104F2000C1F780E001C081E0CF9108950E945B212C\r
-:104F300080E00E94F6050E94F82C0E943E1B0C9413\r
-:104F40002E0B1F920F920FB60F9211248F939F93E7\r
-:104F5000AF93BF9380917803811113C0809179033F\r
-:104F600090917A03A0917B03B0917C034196A11D9F\r
-:104F7000B11D8093790390937A03A0937B03B09340\r
-:104F80007C03BF91AF919F918F910F900FBE0F90B7\r
-:104F90001F90189582E084BD93E095BD9AEF97BD70\r
-:104FA00080936E0008952FB7F894809179039091C3\r
-:104FB0007A03A0917B03B0917C032FBF0895CF9219\r
-:104FC000DF92EF92FF920F931F932FB7F8944091C7\r
-:104FD000790350917A0360917B0370917C032FBF1A\r
-:104FE0006A017B01EE24FF248C0120E030E0C01632\r
-:104FF000D106E206F30610F4415051099A01281B2C\r
-:10500000390BC9011F910F91FF90EF90DF90CF9066\r
-:1050100008951F920F920FB60F9211248F939F93B2\r
-:10502000AF93BF938091790390917A03A0917B0312\r
-:10503000B0917C030196A11DB11D809379039093DB\r
-:105040007A03A0937B03B0937C03BF91AF919F91B0\r
-:105050008F910F900FBE0F901F9018950E943B18D4\r
-:10506000F8942FEF87EA91E6215080409040E1F7D5\r
-:1050700000C0000087E090EBDC018093A3039093D5\r
-:10508000A403A093A503B093A6039CE088E10FB608\r
-:10509000F894A895809360000FBE90936000FFCFB6\r
-:1050A0000E948A28811102C00E9466280E949528C9\r
-:1050B000809377030E94A2288093A1030E949928DD\r
-:1050C000682F70E080E090E00C9417256DEE7EEF85\r
-:1050D00080E090E00E945D3160E082E090E00E941C\r
-:1050E0004B3160E083E090E00E944B3160E084E06F\r
-:1050F00090E00E944B3160E085E090E00E944B31EF\r
-:1051000060E086E090E00E944B316FEF87E090E036\r
-:105110000C944B3180E090E00E94453121E08D3EBF\r
-:105120009E4F09F020E0822F089582E090E00C94D9\r
-:105130003D3183E090E00C943D31682F83E090E0B6\r
-:105140000C944B3184E090E00C943D31682F84E066\r
-:1051500090E00C944B3186E090E00C943D31682F48\r
-:1051600086E090E00C944B3187E090E00C943D3168\r
-:10517000682F87E090E00C944B3180917F0380FF93\r
-:105180000BC06091240285E0689FB00111247595E1\r
-:105190006795759567952BC081FF09C060912402C2\r
-:1051A00085E0689FB00111247595679520C082FF46\r
-:1051B00007C06091240285E0689FB001112417C0E8\r
-:1051C000909180039923D1F060912302961788F77C\r
-:1051D0002091240285E0289F90011124929FA00134\r
-:1051E000939F500D112470E0CA010E942331603852\r
-:1051F000710540F46115710539F002C065E070E099\r
-:10520000862F08958FE7089581E0089580917F03A8\r
-:1052100080FF08C06091220270E0759567957595D2\r
-:10522000679521C081FF06C06091220270E07595EC\r
-:10523000679519C082FF04C06091220270E010C01F\r
-:10524000909180039923C1F0609121029617A0F7F5\r
-:1052500080912202899FC001112470E00E942331B5\r
-:105260006038710528F46115710521F0862F0895C5\r
-:105270008FE7089581E0089561E070E0F4CF803F0A\r
-:1052800021F40E94BD28819504C0813F29F40E9429\r
-:10529000BD28809383030895823F21F40E94BD2896\r
-:1052A000819504C0833F29F40E94BD288093820326\r
-:1052B0000895893F19F40E94062905C08A3F31F4F8\r
-:1052C0000E94062981958093840308958B3F21F4E1\r
-:1052D0000E940629819504C08C3F29F40E9406296A\r
-:1052E000809385030895843F21F480918103816038\r
-:1052F00017C0853F21F480918103826011C0863FF1\r
-:1053000021F48091810384600BC0873F21F4809158\r
-:105310008103886005C0883F31F4809181038061FA\r
-:105320008093810308958D3F21F480917F038160F4\r
-:105330000BC08E3F21F480917F03826005C08F3FB8\r
-:1053400029F480917F03846080937F030895803FD8\r
-:1053500039F48091830387FF6CC01092830369C086\r
-:10536000813F29F4809183031816BCF362C09091A9\r
-:105370008203823F29F497FF5CC01092820359C0D8\r
-:10538000833F19F41916CCF354C0893F41F480913E\r
-:10539000840318160CF04DC0109284034AC08A3F53\r
-:1053A00029F48091840387FF44C0F6CF8B3F39F402\r
-:1053B0008091850387FF3DC0109285033AC08C3FE2\r
-:1053C00029F4809185031816BCF333C0843F21F47F\r
-:1053D000809181038E7F17C0853F21F480918103E6\r
-:1053E0008D7F11C0863F21F4809181038B7F0BC09C\r
-:1053F000873F21F480918103877F05C0883F31F486\r
-:10540000809181038F7E8093810313C08D3F21F4AF\r
-:1054100080917F038E7F0BC08E3F21F480917F03AC\r
-:105420008D7F05C08F3F29F480917F038B7F809310\r
-:105430007F038091820381110EC0809183038111CB\r
-:105440000AC080918403811106C080918503811177\r
-:1054500002C010928003089581E893E00E94551BDA\r
-:105460000E94D32790937E0380937D0308951F931A\r
-:10547000CF93DF9380917D0390917E030E94DF277D\r
-:10548000AC0190918003992321F02091250230E016\r
-:1054900006C0209126028AE0289F9001112442171D\r
-:1054A000530708F486C080918203C0918303D09192\r
-:1054B000840310918503811107C0C11176C0D111F9\r
-:1054C00074C0111172C075C09F3F19F09F5F909317\r
-:1054D0008003181624F40E94BD28809382038091D3\r
-:1054E000820387FF05C00E94BD28819580938203B7\r
-:1054F0001C1624F40E94BD288093830380918303AB\r
-:1055000087FF05C00E94BD28819580938303609129\r
-:105510008203662339F1C0918303CC2319F17727E5\r
-:1055200067FD7095872F972F0E94932E23E333E317\r
-:1055300043E35FE30E94472F0E94602E6093820343\r
-:105540006C2F772767FD7095872F972F0E94932EDA\r
-:1055500023E333E343E35FE30E94472F0E94602E7F\r
-:10556000609383031D1624F40E940629809384030C\r
-:105570008091840387FF05C00E940629819580934E\r
-:105580008403111624F40E940629809385038091D8\r
-:10559000850387FF05C00E940629819580938503B6\r
-:1055A000DF91CF911F910C942C2A9F3F09F08ECF51\r
-:1055B00096CFDF91CF911F910895E1E8F3E085E068\r
-:1055C000DF011D928A95E9F71092800310927F0304\r
-:1055D0000895833081F128F4813059F08230D1F080\r
-:1055E0000895853009F449C0B8F1863009F456C0F1\r
-:1055F000089580912602262F30E0280F311D2F3F7D\r
-:10560000310524F4680F6093260208958FEF80938C\r
-:105610002602089580912502262F30E0280F311DA3\r
-:105620002F3F310524F4680F6093250208958FEF12\r
-:1056300080932502089580912402262F30E0280FC0\r
-:10564000311D2F3F310524F4680F60932402089523\r
-:105650008FEF80932402089580912302262F30E05B\r
-:10566000280F311D2F3F310524F4680F609323026A\r
-:1056700008958FEF80932302089580912202262FB0\r
+:104280000F91FF90EF90DF90CF90BF900C94D507E7\r
+:1042900026960FB6F894DEBF0FBECDBFDF91CF914B\r
+:1042A0001F910F91FF90EF90DF90CF90BF900895F6\r
+:1042B0000E9408270E9418270E94DD260E943227AC\r
+:1042C0000E94EE2A0E943D2A80E090E00E94711B2D\r
+:1042D00080E090E00C94871B0E94F8260C945821F3\r
+:1042E0000E94A026292F22952F7030E02C30310516\r
+:1042F0004CF42A3031056CF422503109223031055A\r
+:1043000088F407C02C30310549F02F30310531F0E9\r
+:1043100009C0803E48F0803F29F406C093FB8827FF\r
+:1043200080F9089580E0089581E00895CF93DF93A8\r
+:1043300000D000D01F92CDB7DEB70F900F900F9036\r
+:104340000F900F90DF91CF910895CF93DF9300D01E\r
+:1043500000D000D0CDB7DEB726960FB6F894DEBFFA\r
+:104360000FBECDBFDF91CF9108951F93CF93DF9301\r
+:10437000C0917B0316E080917C03C81799F0D0E0D0\r
+:104380001C9FF0011D9FF00D1124E358FC4F40814C\r
+:10439000518162817381848195810E94A52121963A\r
+:1043A000C770E9CFDF91CF911F9108954091AD0380\r
+:1043B0005091AE036091AF037091B0038091B1034F\r
+:1043C0009091B2030C94A5218091B20382958F70D5\r
+:1043D00009F054C08091AF03882309F44FC0809145\r
+:1043E0007B03A0917C036091AD037091AE0340917B\r
+:1043F000B0035091B103B6E08A1709F43FC090E0D2\r
+:1044000041155105C1F17F3F11F46F3FA1F1B89FF4\r
+:10441000F001B99FF00D1124E358FC4F2181721374\r
+:104420002AC02081621327C02281211124C0238148\r
+:1044300034812417350710F421503109241B350B22\r
+:10444000283C3105C0F42091B2032F7020612093E5\r
+:10445000B20326E0289FF001299FF00D1124EE57AA\r
+:10446000FC4F80818F70806180838DEA93E00E9491\r
+:10447000B41D0C94B52101968770BECF0895CF92DC\r
+:10448000DF92EF92FF920F931F93CF93DF93CDB7FD\r
+:10449000DEB762970FB6F894DEBF0FBECDBF8C01BA\r
+:1044A00085E0F801DE011D9601900D928A95E1F7F5\r
+:1044B000D8014C9111965C91119712966C911297BC\r
+:1044C0001396CD90DC9014973091AD037091AE03AC\r
+:1044D0008091B0039091B103009709F46BC17F3FC5\r
+:1044E00019F43F3F09F466C1E090AF03EE2009F4F0\r
+:1044F000C0C02091B203C816D90628F0F601E81B07\r
+:10450000F90BCF0104C0809590958C0D9D1DFF2463\r
+:10451000F394883C910578F0F12C207F09F0C6C017\r
+:104520007C2DD98AC88A89890E9496218DEA93E0D8\r
+:104530000E94B41DB1C0822F807F09F046C0751360\r
+:1045400014C0341312C0611110C02F702061209369\r
+:10455000B2030E94D6218DEA93E00E94B41D80919F\r
+:10456000B203D80115968C932EC0CD2819F15F3F68\r
+:1045700011F44F3FF9F0F62E61111CC080917B03BE\r
+:1045800020917C0336E0821709F45AC090E0389FEE\r
+:10459000F001399FF00D1124E358FC4F718157133E\r
+:1045A00006C07081471303C07281711103C0019668\r
+:1045B0008770E9CFF62E662309F418C18091B20303\r
+:1045C00081608093B203F12C11C1751308C03413BC\r
+:1045D00006C0611104C08091B203D801C3C04D87E9\r
+:1045E0005E878D859E856A8B0E9470216A898823EB\r
+:1045F000E1F16623D1F12091B203822F82958F7071\r
+:1046000090E0029774F08091AD039091AE0398878B\r
+:104610008F831986DB86CA862C87CE0107960E9477\r
+:10462000B41D86E0F801ADEAB3E001900D928A95E1\r
+:10463000E1F70E94E4210E94D621FF24F394D6C022\r
+:104640004D875E878D859E850E94A026292F229505\r
+:104650002F7030E0223031050CF0BCC09F7009F0A3\r
+:10466000B6C0805E883008F4C1C0C8010E94B41D85\r
+:10467000E4CFC816D90608F453C0F601E81BF90BBD\r
+:10468000CF01883C910508F450C0F12C7C2DD98ACB\r
+:10469000C88A89890E949621EDEAF3E086E0DF016D\r
+:1046A0001D928A95E9F70E94D621A0C0751314C007\r
+:1046B000341312C0611110C08091B203F8018583D8\r
+:1046C000C8010E94B41D86E0EDEAF3E0DF011D920F\r
+:1046D0008A95E9F7FE2C8AC04D875E878D859E8579\r
+:1046E0006A8B0E9470216A89882309F4BECF6623F1\r
+:1046F00009F4BBCF2091B203822F82958F7090E096\r
+:1047000002970CF48ECF8091AD039091AE039A8303\r
+:1047100089831B82DD82CC822E83CE0101967FCFDE\r
+:10472000809590958C0D9D1DACCFF62E662309F4D7\r
+:104730009CCF75132EC034132CC02091B20320FDE2\r
+:104740001FC0822F82958F70D9F0D80115962C93B7\r
+:1047500015978F3049F08F5F982F9295907F822F19\r
+:104760008F70892B15968C93C8010E94B41D86E02A\r
+:10477000F801ADEAB3E001900D928A95E1F793CF8D\r
+:1047800086E0F801ADEAB3E001900D928A95E1F779\r
+:104790002DC04D875E878D859E850E947021811179\r
+:1047A00040CF8091B20381608093B203C8010E9420\r
+:1047B000B41D1CC0662309F458CF4D875E878D85D4\r
+:1047C0009E850E947021882309F44FCF2ACF811142\r
+:1047D00048CF0CC0243031050CF047CF9F7009F44E\r
+:1047E00040CFF8019581907F09F03BCF8F2D6296E5\r
+:1047F0000FB6F894DEBF0FBECDBFDF91CF911F91F2\r
+:104800000F91FF90EF90DF90CF9008951F93CF937B\r
+:10481000DF93CDB7DEB72C970FB6F894DEBF0FBE8F\r
+:10482000CDBF4F83588769877A878B879C87CE0156\r
+:1048300007960E943F22882369F08F8198852A85F8\r
+:104840003B85232BF1F19F3F09F063C08F3F09F0B7\r
+:1048500060C037C086E0FE013796DE0111960190F8\r
+:104860000D928A95E1F76F817885EA85FB8530970F\r
+:1048700041F17F3F11F46F3F21F120917C0330E043\r
+:10488000C90101968770992740917B0350E08417F6\r
+:10489000950709F447C069837A83FD83EC8396E02A\r
+:1048A000929FD001939FB00D1124A358BC4FFE01DD\r
+:1048B000319601900D929A95E1F780937C030E94C6\r
+:1048C000B52116E080917B0390917C038917C1F19B\r
+:1048D000189FC001112483589C4F0E943F228823B7\r
+:1048E00079F1E0917B031E9FF0011124E358FC4F06\r
+:1048F0004081518162817381848195810E94A521CB\r
+:1049000080917B0390E001968770992780937B03C9\r
+:10491000D9CF4F81588569857A858B859C850E9482\r
+:10492000A521CFCF0E946C2110927C0310927B03B3\r
+:10493000EDEAF3E086E0DF011D928A95E9F7C1CF49\r
+:104940002C960FB6F894DEBF0FBECDBFDF91CF918E\r
+:104950001F910895EF92FF920F931F93CF93DF93D0\r
+:104960008C01009709F46CC0F12CEE24E394E8016B\r
+:104970002196F8018491843740F4843008F051C0C6\r
+:10498000813081F0823019F15BC0853709F444C071\r
+:10499000A8F19CE7980F903708F052C08F770E94DB\r
+:1049A000571D41C00E5F1F4FFE01C49180E28C0F66\r
+:1049B000883048F4C7708E2D01C0880FCA95EAF779\r
+:1049C0000E940B2714C08C2F0E948F1C2DC00E5FDD\r
+:1049D0001F4FFE01C49180E28C0F883058F4C770DD\r
+:1049E0008E2D01C0880FCA95EAF70E9411270E94F8\r
+:1049F00032271AC08C2F0E94571D16C00E5F1F4F02\r
+:104A0000FE01C491CC2381F08FE99FE00197F1F77B\r
+:104A100000C00000C150F6CF0E5F1F4FFE01F490A2\r
+:104A200003C00E948F1C8E018F2D882309F49FCF15\r
+:104A3000EFE9FFE03197F1F700C000008150F5CFBA\r
+:104A4000DF91CF911F910F91FF90EF9008950895FE\r
+:104A50006093B7037093B8038093B9039093BA033C\r
+:104A60000C9458210F931F930091B7031091B80332\r
+:104A70002091B9033091BA03DC01CB01802B912B3B\r
+:104A8000A22BB32B8093B7039093B803A093B903E1\r
+:104A9000B093BA031F910F910C9458210F931F9359\r
+:104AA0000091B7031091B8032091B9033091BA0374\r
+:104AB000DC01CB0180239123A223B3238093B7038E\r
+:104AC0009093B803A093B903B093BA031F910F91C9\r
+:104AD0000C9458210F931F930091B7031091B803C2\r
+:104AE0002091B9033091BA03DC01CB0180279127D3\r
+:104AF000A227B3278093B7039093B803A093B90379\r
+:104B0000B093BA031F910F910C9458211092B303E4\r
+:104B10001092B4031092B5031092B6030C9458216E\r
+:104B200041E050E060E070E004C0440F551F661F94\r
+:104B3000771F8A95D2F74093B3035093B4036093E1\r
+:104B4000B5037093B6030C94582141E050E060E047\r
+:104B500070E004C0440F551F661F771F8A95D2F777\r
+:104B60008091B3039091B403A091B503B091B603C3\r
+:104B7000482B592B6A2B7B2B4093B3035093B403E0\r
+:104B80006093B5037093B6030C94582141E050E054\r
+:104B900060E070E004C0440F551F661F771F8A95C0\r
+:104BA000D2F740955095609570958091B3039091A0\r
+:104BB000B403A091B503B091B603482359236A23E7\r
+:104BC0007B234093B3035093B4036093B503709376\r
+:104BD000B6030C94582141E050E060E070E004C05E\r
+:104BE000440F551F661F771F8A95D2F78091B30334\r
+:104BF0009091B403A091B503B091B603482759270B\r
+:104C00006A277B274093B3035093B4036093B503A3\r
+:104C10007093B6030C9458210F931F930091B30324\r
+:104C20001091B4032091B5033091B603DC01CB01A0\r
+:104C3000802B912BA22BB32B8093B3039093B403BF\r
+:104C4000A093B503B093B6031F910F910C94582114\r
+:104C50000F931F930091B3031091B4032091B503F8\r
+:104C60003091B603DC01CB0180239123A223B3232F\r
+:104C70008093B3039093B403A093B503B093B603AA\r
+:104C80001F910F910C9458210F931F930091B30320\r
+:104C90001091B4032091B5033091B603DC01CB0130\r
+:104CA00080279127A227B3278093B3039093B4035F\r
+:104CB000A093B503B093B6031F910F910C945821A4\r
+:104CC0000895CF92DF92EF92FF920F931F93CF93AD\r
+:104CD000DF938C01C090B703D090B803E090B90384\r
+:104CE000F090BA038091B3039091B403A091B503FF\r
+:104CF000B091B603C82AD92AEA2AFB2ACFE1D0E02C\r
+:104D0000D701C6010C2E04C0B695A7959795879537\r
+:104D10000A94D2F780FF06C0B8018C2F0E942F0A98\r
+:104D2000019721F4219760F780E001C08C2FDF917B\r
+:104D3000CF911F910F91FF90EF90DF90CF9008954A\r
+:104D4000CF93DF93EC010E946126BE010E942F0ADF\r
+:104D5000DF91CF910895CB010E94A0260895209164\r
+:104D60001D0230911E02F90132969FEF40E05191F1\r
+:104D7000581789F09F3F19F4511101C0942F4F5FCC\r
+:104D80004630A9F79F3F39F0F901E90FF11D97FD72\r
+:104D9000FA9582830895089520911D0230911E0294\r
+:104DA000F9013296285F3F4F9081981301C010821D\r
+:104DB0003196E217F307C1F7089581E090E0E091A2\r
+:104DC0001D02F0911E02E80FF91F10820196883033\r
+:104DD0009105A9F708959091C603892B8093C60386\r
+:104DE000089580959091C60389238093C603089502\r
+:104DF0001092C60308959091C503892B8093C50333\r
+:104E0000089580959091C50389238093C5030895E3\r
+:104E10001092C50308959091C403892B8093C40315\r
+:104E2000089580959091C40389238093C4030895C5\r
+:104E30001092C40308958093BB0308951092BB039E\r
+:104E4000089580911D0290911E02FC0131969C01F3\r
+:104E5000285F3F4F80E0919191118F5FE217F30738\r
+:104E6000D1F70895E0911D02F0911E028091C603D2\r
+:104E70008083E0911D02F0911E0290818091C50314\r
+:104E8000892B8083E0911D02F0911E029081809118\r
+:104E9000C403892B80838091BB03882361F0E09158\r
+:104EA0001D02F0911E029081892B80830E94212790\r
+:104EB00081111092BB0380911D0290911E020C94EF\r
+:104EC0005B1B8091E803843039F11092C80320E421\r
+:104ED00088E190E00FB6F894A895809360000FBE2B\r
+:104EE0002093600080E00E94D20580E00E940A0BBF\r
+:104EF00083B7817F846083BF83B7816083BF7894E9\r
+:104F0000889583B78E7F83BF88E10FB6F89480932E\r
+:104F10006000109260000FBE089508950895CF9329\r
+:104F200080E00E94D2050E948D270E94AD0C0E9455\r
+:104F30008E27C0E08C2F0E94E60D892B29F4CF5FCD\r
+:104F4000C530C1F780E001C081E0CF9108950E9493\r
+:104F50006C2180E00E94D2050E94092D0E944F1B07\r
+:104F60000C940A0B1F920F920FB60F9211248F937D\r
+:104F70009F93AF93BF938091C803811113C0809119\r
+:104F8000C9039091CA03A091CB03B091CC03419681\r
+:104F9000A11DB11D8093C9039093CA03A093CB03B5\r
+:104FA000B093CC03BF91AF919F918F910F900FBEA3\r
+:104FB0000F901F90189582E084BD93E095BD9AEF05\r
+:104FC00097BD80936E0008952FB7F8948091C90320\r
+:104FD0009091CA03A091CB03B091CC032FBF089549\r
+:104FE000CF92DF92EF92FF920F931F932FB7F89417\r
+:104FF0004091C9035091CA036091CB037091CC03D7\r
+:105000002FBF6A017B01EE24FF248C0120E030E0F9\r
+:10501000C016D106E206F30610F4415051099A0178\r
+:10502000281B390BC9011F910F91FF90EF90DF9062\r
+:10503000CF9008951F920F920FB60F9211248F9365\r
+:105040009F93AF93BF938091C9039091CA03A0919E\r
+:10505000CB03B091CC030196A11DB11D8093C90370\r
+:105060009093CA03A093CB03B093CC03BF91AF91AD\r
+:105070009F918F910F900FBE0F901F9018950E94D7\r
+:105080004C18F8942FEF87EA91E621508040904029\r
+:10509000E1F700C0000087E090EBDC018093F303B0\r
+:1050A0009093F403A093F503B093F6039CE088E19A\r
+:1050B0000FB6F894A895809360000FBE909360009F\r
+:1050C000FFCF0E949B28811102C00E9477280E9476\r
+:1050D000A6288093C7030E94B3288093F1030E94FF\r
+:1050E000AA28682F70E080E090E00C9428256DEEEF\r
+:1050F0007EEF80E090E00E94BC3160E082E090E0D2\r
+:105100000E94AA3160E083E090E00E94AA3160E052\r
+:1051100084E090E00E94AA3160E085E090E00E9487\r
+:10512000AA3160E086E090E00E94AA316FEF87E04C\r
+:1051300090E00C94AA3180E090E00E94A43121E03C\r
+:105140008D3E9E4F09F020E0822F089582E090E08E\r
+:105150000C949C3183E090E00C949C31682F83E0A8\r
+:1051600090E00C94AA3184E090E00C949C31682F7C\r
+:1051700084E090E00C94AA3186E090E00C949C319D\r
+:10518000682F86E090E00C94AA3187E090E00C94C0\r
+:105190009C31682F87E090E00C94AA318091CF0376\r
+:1051A00080FF0BC06091220285E0689FB00111244E\r
+:1051B00075956795759567952BC081FF09C06091BE\r
+:1051C000220285E0689FB00111247595679520C083\r
+:1051D00082FF07C06091220285E0689FB001112420\r
+:1051E00017C09091D0039923D1F0609121029617B6\r
+:1051F00088F72091220285E0289F90011124929F38\r
+:10520000A001939F500D112470E0CA010E948231C9\r
+:105210006038710540F46115710539F002C065E030\r
+:1052200070E0862F08958FE7089581E008958091BA\r
+:10523000CF0380FF08C06091200270E075956795EC\r
+:105240007595679521C081FF06C06091200270E0CE\r
+:105250007595679519C082FF04C06091200270E0C7\r
+:1052600010C09091D0039923C1F060911F0296174E\r
+:10527000A0F780912002899FC001112470E00E9454\r
+:1052800082316038710528F46115710521F0862F8F\r
+:1052900008958FE7089581E0089561E070E0F4CF0C\r
+:1052A000803F21F40E94CE28819504C0813F29F4DB\r
+:1052B0000E94CE288093D3030895823F21F40E9458\r
+:1052C000CE28819504C0833F29F40E94CE28809384\r
+:1052D000D2030895893F19F40E94172905C08A3F17\r
+:1052E00031F40E94172981958093D40308958B3F50\r
+:1052F00021F40E941729819504C08C3F29F40E9453\r
+:1053000017298093D5030895843F21F48091D10318\r
+:10531000816017C0853F21F48091D103826011C064\r
+:10532000863F21F48091D10384600BC0873F21F434\r
+:105330008091D103886005C0883F31F48091D1030A\r
+:1053400080618093D10308958D3F21F48091CF0334\r
+:1053500081600BC08E3F21F48091CF03826005C035\r
+:105360008F3F29F48091CF0384608093CF03089509\r
+:10537000803F39F48091D30387FF6CC01092D30330\r
+:1053800069C0813F29F48091D3031816BCF362C031\r
+:105390009091D203823F29F497FF5CC01092D20310\r
+:1053A00059C0833F19F41916CCF354C0893F41F416\r
+:1053B0008091D40318160CF04DC01092D4034AC04B\r
+:1053C0008A3F29F48091D40387FF44C0F6CF8B3FF6\r
+:1053D00039F48091D50387FF3DC01092D5033AC0C0\r
+:1053E0008C3F29F48091D5031816BCF333C0843F59\r
+:1053F00021F48091D1038E7F17C0853F21F48091E5\r
+:10540000D1038D7F11C0863F21F48091D1038B7F22\r
+:105410000BC0873F21F48091D103877F05C0883F6F\r
+:1054200031F48091D1038F7E8093D10313C08D3FDF\r
+:1054300021F48091CF038E7F0BC08E3F21F48091A9\r
+:10544000CF038D7F05C08F3F29F48091CF038B7FE1\r
+:105450008093CF038091D20381110EC08091D3033A\r
+:1054600081110AC08091D403811106C08091D503B7\r
+:10547000811102C01092D003089581ED93E00E9443\r
+:10548000661B0E94E4279093CE038093CD0308957A\r
+:105490001F93CF93DF938091CD039091CE030E9411\r
+:1054A000F027AC019091D003992321F020912302A1\r
+:1054B00030E006C0209124028AE0289F9001112448\r
+:1054C0004217530708F486C08091D203C091D303DA\r
+:1054D000D091D4031091D503811107C0C11176C0BA\r
+:1054E000D11174C0111172C075C09F3F19F09F5F38\r
+:1054F0009093D003181624F40E94CE288093D203F0\r
+:105500008091D20387FF05C00E94CE2881958093A9\r
+:10551000D2031C1624F40E94CE288093D3038091DA\r
+:10552000D30387FF05C00E94CE2881958093D303C3\r
+:105530006091D203662339F1C091D303CC2319F1D2\r
+:10554000772767FD7095872F972F0E94A42E23E35E\r
+:1055500033E343E35FE30E94B42F0E94712E609314\r
+:10556000D2036C2F772767FD7095872F972F0E94A6\r
+:10557000A42E23E333E343E35FE30E94B42F0E94AE\r
+:10558000712E6093D3031D1624F40E941729809373\r
+:10559000D4038091D40387FF05C00E941729819509\r
+:1055A0008093D403111624F40E9417298093D50305\r
+:1055B0008091D50387FF05C00E94172981958093AC\r
+:1055C000D503DF91CF911F910C943D2A9F3F09F0A5\r
+:1055D0008ECF96CFDF91CF911F910895E1EDF3E04B\r
+:1055E00085E0DF011D928A95E9F71092D0031092B1\r
+:1055F000CF030895833081F128F4813059F082304F\r
+:10560000D1F00895853009F449C0B8F1863009F425\r
+:1056100056C0089580912402262F30E0280F311DB6\r
+:105620002F3F310524F4680F6093240208958FEF13\r
+:1056300080932402089580912302262F30E0280FC2\r
+:10564000311D2F3F310524F4680F60932302089524\r
+:105650008FEF80932302089580912202262F30E05D\r
+:10566000280F311D2F3F310524F4680F609322026B\r
+:1056700008958FEF80932202089580912102262FB2\r
 :1056800030E0280F311D2F3F310524F4680F60935F\r
-:10569000220208958FEF80932202089580912102C3\r
+:10569000210208958FEF80932102089580912002C6\r
 :1056A000262F30E0280F311D2F3F310524F4680FDD\r
-:1056B0006093210208958FEF809321020895833033\r
-:1056C00011F128F4813049F0823091F0089585304D\r
-:1056D00081F120F18630C1F108958091260268178A\r
-:1056E00020F4861B809326020895109226020895C6\r
-:1056F00080912502681720F4861B80932502089567\r
-:1057000010922502089580912402681720F4861BC8\r
-:105710008093240208951092240208958091230218\r
-:10572000681720F4861B80932302089510922302A9\r
-:10573000089580912202681720F4861B809322022C\r
-:10574000089510922202089580912102681720F492\r
-:10575000861B8093210208951092210208950F93D1\r
-:105760001F938732D8F58E3108F087C08E3009F448\r
-:1057700071C098F4873009F45BC08B3009F491C094\r
-:10578000863009F095C080917703817F8E7F80936A\r
-:10579000770381E0809387038CC0863109F481C050\r
-:1057A00068F4803109F084C08091770383FB22275D\r
-:1057B00020F991E0922790FB83F955C0893109F4D3\r
-:1057C00070C08B3109F074C08091770381FB222770\r
-:1057D00020F991E0922790FB81F945C0883309F4C4\r
-:1057E00060C050F4893209F45EC0853309F45BC0AF\r
-:1057F000873209F458C05CC0833409F454C028F4DB\r
-:105800008A3308F455C0895339C0883409F050C030\r
-:105810000E945B210E94D6070FEF13ED20E3015099\r
-:1058200010402040E1F700C000000E942E2839C03F\r
-:1058300090917703892F8095817080FB90F929F0F2\r
-:10584000966098609093770334C0997F977F909388\r
-:10585000770327C08091770382FB222720F991E00C\r
-:10586000922790FB82F9809377039923D1F080915E\r
-:10587000770381608093770314C08D5141E050E03D\r
-:1058800060E070E08A019B0104C0000F111F221F1D\r
-:10589000331F8A95D2F7C901B8010E9417250E94CB\r
-:1058A0005B2181E006C061E070E080E090E0F5CF30\r
-:1058B00080E01F910F91089580E0089580E00895A1\r
-:1058C000CF93C82F80918703813069F018F0823020\r
-:1058D000C9F184C0E0911F02F091200280818232E0\r
-:1058E00009F07EC007C0E0911F02F0912002808184\r
-:1058F000823261F48C2F0E945C2C811104C08C2FA9\r
-:105900000E94AF2B1DC081E090E01AC08C2F0E9436\r
-:105910005E2C811114C0C43179F048F4CB3079F099\r
-:10592000C03109F061C082E08093870308C0C932AA\r
-:1059300019F0C83321F058C01092870355C081E098\r
-:10594000817054C0C93291F120F5C43179F1B0F4BD\r
-:10595000C73009F047C08EE18093260282E380932E\r
-:1059600025028AE08093240284E18093230288E068\r
-:105970008093220288E28093210234C0CE51C63047\r
-:1059800088F5EC2FF0E0E256FD4F8081809386038E\r
-:1059900029C0CE34E9F020F4CB3421F56AE013C0FD\r
-:1059A000C13579F0C235F1F461E00DC08091860314\r
-:1059B000882319F01092860315C081E08093870335\r
-:1059C00015C061E006C0809186030E94E92A0AC0E2\r
-:1059D0006AE0809186030E945F2B04C010928703C7\r
-:1059E00080E004C081E002C080E0AACFCF9108959A\r
-:1059F0000E948A28811102C00E9466280E94AB285A\r
-:105A00008093A20380FF02C0869501C080E00C94C1\r
-:105A1000F6058091A203982F9695292F30E0233028\r
-:105A200031054CF49F5F990F8170892B81608093C1\r
-:105A3000A2030E94AF288091A20386950C94F605DC\r
-:105A40008091A203982F969591F09158990F8170AB\r
-:105A5000892B8093A2038E7F91E009F490E08091DE\r
-:105A6000A20390FB80F98093A2030E94AF2880914B\r
-:105A7000A20386950C94F6058091A203982F909529\r
-:105A800090FB80F98093A2030E94AF288091A2032B\r
-:105A900080FF02C0869501C080E00C94F6059091CD\r
-:105AA000A203892F86958F5F8F779170843028F4B9\r
-:105AB000880F892B8093A20302C09093A203809148\r
-:105AC000A2038E7F91E009F490E08091A20390FB05\r
-:105AD00080F98093A2030E94AF288091A20386954B\r
-:105AE0000C94F6052091A203922F96958927982F62\r
-:105AF000990F822F8170892B8093A2038E7F91E072\r
-:105B000009F490E08091A20390FB80F98093A203B6\r
-:105B10000E94AF288091A20386950C94F6055058F8\r
-:105B2000BB27AA270ED075C166D130F06BD120F00B\r
-:105B300031F49F3F11F41EF45BC10EF4E095E7FBD6\r
-:105B400051C1E92F77D180F3BA1762077307840731\r
-:105B5000950718F071F49EF58FC10EF4E0950B2EA9\r
-:105B6000BA2FA02D0B01B90190010C01CA01A001AF\r
-:105B70001124FF27591B99F0593F50F4503E68F10A\r
-:105B80001A16F040A22F232F342F4427585FF3CF4B\r
-:105B9000469537952795A795F0405395C9F77EF41C\r
-:105BA0001F16BA0B620B730B840BBAF09150A1F065\r
-:105BB000FF0FBB1F661F771F881FC2F70EC0BA0FEB\r
-:105BC000621F731F841F48F4879577956795B79573\r
-:105BD000F7959E3F08F0B3CF9395880F08F099276B\r
-:105BE000EE0F979587950895D9D008F481E0089530\r
-:105BF0000CD00FC107D140F0FED030F021F45F3F50\r
-:105C000019F0F0C0511139C1F3C014D198F39923A0\r
-:105C1000C9F35523B1F3951B550BBB27AA27621770\r
-:105C20007307840738F09F5F5F4F220F331F441FB5\r
-:105C3000AA1FA9F333D00E2E3AF0E0E830D09150ED\r
-:105C40005040E695001CCAF729D0FE2F27D0660FDA\r
-:105C5000771F881FBB1F261737074807AB07B0E819\r
-:105C600009F0BB0B802DBF01FF2793585F4F2AF02F\r
-:105C70009E3F510568F0B6C000C15F3FECF3983E0F\r
-:105C8000DCF3869577956795B795F7959F5FC9F78C\r
-:105C9000880F911D9695879597F90895E1E0660F15\r
-:105CA000771F881FBB1F621773078407BA0720F08E\r
-:105CB000621B730B840BBA0BEE1F88F7E0950895F7\r
-:105CC00004D06894B111D9C00895BCD088F09F5712\r
-:105CD00090F0B92F9927B751A0F0D1F0660F771F38\r
-:105CE000881F991F1AF0BA95C9F712C0B13081F018\r
-:105CF000C3D0B1E00895C0C0672F782F8827B85F60\r
-:105D000039F0B93FCCF3869577956795B395D9F778\r
-:105D10003EF490958095709561957F4F8F4F9F4F82\r
-:105D20000895E89409C097FB3EF49095809570958E\r
-:105D300061957F4F8F4F9F4F9923A9F0F92F96E9D7\r
-:105D4000BB279395F695879577956795B795F1114C\r
-:105D5000F8CFFAF4BB0F11F460FF1BC06F5F7F4FE9\r
-:105D60008F4F9F4F16C0882311F096E911C07723FB\r
-:105D700021F09EE8872F762F05C0662371F096E804\r
-:105D8000862F70E060E02AF09A95660F771F881FD3\r
-:105D9000DAF7880F9695879597F90895990F000877\r
-:105DA000550FAA0BE0E8FEEF16161706E807F907ED\r
-:105DB000C0F012161306E407F50798F0621B730B88\r
-:105DC000840B950B39F40A2661F0232B242B252B09\r
-:105DD00021F408950A2609F4A140A6958FEF811DAC\r
-:105DE000811D089597F99F6780E870E060E008954D\r
-:105DF0009FEF80EC089500240A94161617061806E3\r
-:105E00000906089500240A941216130614060506BE\r
-:105E10000895092E0394000C11F4882352F0BB0F4F\r
-:105E200040F4BF2B11F460FF04C06F5F7F4F8F4FB2\r
-:105E30009F4F089557FD9058440F551F59F05F3FED\r
-:105E400071F04795880F97FB991F61F09F3F79F09C\r
-:105E500087950895121613061406551FF2CF46951E\r
-:105E6000F1DF08C0161617061806991FF1CF8695A0\r
-:105E70007105610508940895E894BB276627772784\r
-:105E8000CB0197F908958ADF08F48FEF08950BD0BE\r
-:105E9000C0CFB1DF28F0B6DF18F0952309F0A2CF0C\r
-:105EA000A7CF1124EACFC6DFA0F3959FD1F3950FBA\r
-:105EB00050E0551F629FF001729FBB27F00DB11D8E\r
-:105EC000639FAA27F00DB11DAA1F649F6627B00D1E\r
-:105ED000A11D661F829F2227B00DA11D621F739F07\r
-:105EE000B00DA11D621F839FA00D611D221F749F15\r
-:105EF0003327A00D611D231F849F600D211D822F5C\r
-:105F0000762F6A2F11249F5750408AF0E1F08823A2\r
-:105F10004AF0EE0FFF1FBB1F661F771F881F9150AF\r
-:105F20005040A9F79E3F510570F05CCFA6CF5F3F70\r
-:105F3000ECF3983EDCF3869577956795B795F795E2\r
-:105F4000E7959F5FC1F7FE2B880F911D969587956A\r
-:105F500097F90895FA01EE0FFF1F309621053105DC\r
-:105F600099F16115710561F48038BFE39B0749F130\r
-:105F700068949038810561F08038BFEF9B0741F04D\r
-:105F8000992342F5FF3FE1053105210511F1E89420\r
-:105F90000894E795D901AA2329F4AB2FBE2FF85F07\r
-:105FA000D0F310C0FF5F70F4A695E0F7F73950F01A\r
-:105FB00019F0FF3A38F49F779F930CD00F9007FCAD\r
-:105FC000905808953EF014CF60E070E080E89FE3C1\r
-:105FD00008954FE79F775F934F933F932F939ED002\r
-:105FE0002F913F914F915F9152DF05C019F40EF050\r
-:105FF000F9CE42CFFDCE26DFC8F39638C0F707F8BA\r
-:106000000F92E8942BE33AEA48EB5FE74EDF0F92FA\r
-:106010000F920F924DB75EB70F92C0D0E0E4F1E05F\r
-:1060200016D04F915F91EF91FF91E595EE1FFF1F05\r
-:1060300049F0FE57E0684427EE0F441FFA95E1F758\r
-:106040004195550B32D00F9007FE26C00895DF937F\r
-:10605000CF931F930F93FF92EF92DF927B018C01FE\r
-:10606000689405C0DA2EEF011EDFFE01E894A591C9\r
-:106070002591359145915591AEF3EF0162DDFE0119\r
-:106080009701A801DA9479F7DF90EF90FF900F91D4\r
-:106090001F91CF91DF9108959B01AC0160E070E00A\r
-:1060A00080E89FE3A5CD9ECEACC0CCDEE8F399237B\r
-:1060B000D9F3940F511DBBF39150504094F059F017\r
-:1060C000882332F0660F771F881F91505040C1F728\r
-:1060D0009E3F510544F7880F911D9695879597F936\r
-:1060E00008955F3FACF0983E9CF0BB27869577956E\r
-:1060F0006795B79508F4B1609395C1F7BB0F58F752\r
-:1061000011F460FFE8CF6F5F7F4F8F4F9F4FE3CF5A\r
-:10611000B4CE0EF076C06CCE689464CE93DEC8F335\r
-:106120009923D1F3C6F3DF93CF931F930F93FF927D\r
-:10613000C92FDD2788232AF02197660F771F881F34\r
-:10614000DAF720E030E040E85FEB9FE3883920F0A9\r
-:10615000803E30F021968F77E3DCE8E6F1E003C083\r
-:10616000DFDCE5E9F1E073DF8B01BE01EC01FB2E22\r
-:106170006F5771097595771F880B990BD4DD28E14E\r
-:1061800032E741E35FE38FDEAF2D9801AE01FF9070\r
-:106190000F911F91CF91DF91D4DC3BCEFA01DC014E\r
-:1061A000AA0FBB1F9B01AC01BF5728F4222733273E\r
-:1061B000442750781FC0B75188F4AB2F0024469570\r
-:1061C00037952795011CA395D2F3002069F0220F83\r
-:1061D000331F441FB395DAF30DD0A1CC61307105A4\r
-:1061E000A0E88A07B94630F49B01AC0166277727FF\r
-:1061F00088279078309621F020833183428353831F\r
-:1062000008959F3F31F0915020F4879577956795D9\r
-:10621000B795880F911D9695879597F90895AA1BB4\r
-:10622000BB1B51E107C0AA1FBB1FA617B70710F081\r
-:10623000A61BB70B881F991F5A95A9F780959095B3\r
-:10624000BC01CD01089597FB072E16F4009407D0EA\r
-:1062500077FD09D00E940F3107FC05D03EF49095E0\r
-:1062600081959F4F0895709561957F4F0895EE0F2A\r
-:10627000FF1F0590F491E02D0994F999FECF92BD8E\r
-:1062800081BDF89A992780B50895A8E1B0E042E071\r
-:1062900050E00C946531262FF999FECF92BD81BD57\r
-:1062A000F89A019700B4021639F01FBA20BD0FB654\r
-:1062B000F894FA9AF99A0FBE08950196272F0E9432\r
-:1062C0004C310C944B31DC01CB01FC01F999FECF30\r
-:1062D00006C0F2BDE1BDF89A319600B40D9241506E\r
-:0A62E0005040B8F70895F894FFCF7E\r
-:1062EA0007000C52D02445000000410000DC4400A5\r
-:1062FA0000004152D0A4440000404100005C440028\r
-:10630A0000004148F17644000000415C978A44004D\r
-:10631A000000411FD592440000004152D0A444001D\r
-:10632A000000415CFFB844000000410AA7CF4400C6\r
-:10633A000000410000DC44000000410AA7CF4400ED\r
-:10634A000000410000DC44000000410000000000A1\r
-:10635A0000804052D0244500004041000000000067\r
-:10636A000080400AA74F45000040410AA7CF4400D9\r
-:10637A000000410000DC4400000041000000000071\r
-:10638A0000804052D0244500000041000000000077\r
-:10639A000080405CFF38450000004100000000001A\r
-:1063AA0000804052D02445000000410AA7CF440093\r
-:1063BA000000410000DC4400000041000000000031\r
-:1063CA0000804052D024450000804110F1764400FC\r
-:1063DA0000A04112F1F6440000004141909B4400A4\r
-:1063EA0000A04112F1F64400000041050000003F00\r
-:1063FA000000C8426A14F814D514A1146D14016C73\r
-:10640A00032808140A321E000002000400050007CF\r
-:10641A000009000B000C000E0010001100130015FB\r
-:10642A0000170018001A001C001D001F002100237D\r
-:10643A000024002600280029002B002D002F003000\r
-:10644A0000320034003500370039003B0042004575\r
-:10645A000025002600430061006000200037006428\r
-:10646A000065006600670044004600240047003FBC\r
-:10647A004D36010BB40A7E0A2A0A430A5C0A010253\r
-:08648A000304050607080900E0\r
+:1056B0006093200208958FEF8093200208958091D7\r
+:1056C0001F02262F30E0280F311D2F3F310524F413\r
+:1056D000680F60931F0208958FEF80931F02089553\r
+:1056E000833011F128F4813049F0823091F008952F\r
+:1056F000853081F120F18630C1F108958091240236\r
+:10570000681720F4861B80932402089510922402C7\r
+:10571000089580912302681720F4861B809323024A\r
+:10572000089510922302089580912202681720F4B0\r
+:10573000861B809322020895109222020895809180\r
+:105740002102681720F4861B80932102089510928D\r
+:105750002102089580912002681720F4861B80930F\r
+:105760002002089510922002089580911F02681768\r
+:1057700020F4861B80931F02089510921F02089543\r
+:105780000F931F938732D8F58E3108F087C08E3083\r
+:1057900009F471C098F4873009F45BC08B3009F4C8\r
+:1057A00091C0863009F095C08091C703817F8E7FBC\r
+:1057B0008093C70381E08093D7038CC0863109F4BE\r
+:1057C00081C068F4803109F084C08091C70383FBF5\r
+:1057D000222720F991E0922790FB83F955C0893167\r
+:1057E00009F470C08B3109F074C08091C70381FB4C\r
+:1057F000222720F991E0922790FB81F945C0883358\r
+:1058000009F460C050F4893209F45EC0853309F4AC\r
+:105810005BC0873209F458C05CC0833409F454C0BB\r
+:1058200028F48A3308F455C0895339C0883409F004\r
+:1058300050C00E946C210E94B2070FEF13ED20E3CD\r
+:10584000015010402040E1F700C000000E943F28B6\r
+:1058500039C09091C703892F8095817080FB90F9A2\r
+:1058600029F0966098609093C70334C0997F977F22\r
+:105870009093C70327C08091C70382FB222720F99A\r
+:1058800091E0922790FB82F98093C7039923D1F08E\r
+:105890008091C70381608093C70314C08D5141E09C\r
+:1058A00050E060E070E08A019B0104C0000F111F0E\r
+:1058B000221F331F8A95D2F7C901B8010E942825FB\r
+:1058C0000E946C2181E006C061E070E080E090E021\r
+:1058D000F5CF80E01F910F91089580E0089580E05A\r
+:1058E0000895CF93C82F8091D703813069F018F0C5\r
+:1058F0008230C9F184C0E0911D02F0911E028081C6\r
+:10590000823209F07EC007C0E0911D02F0911E02B4\r
+:105910008081823261F48C2F0E946D2C811104C031\r
+:105920008C2F0E94C02B1DC081E090E01AC08C2FEC\r
+:105930000E946F2C811114C0C43179F048F4CB302F\r
+:1059400079F0C03109F061C082E08093D70308C0CC\r
+:10595000C93219F0C83321F058C01092D70355C08E\r
+:1059600081E0817054C0C93291F120F5C43179F1E0\r
+:10597000B0F4C73009F047C08EE18093240282E37F\r
+:10598000809323028AE08093220284E180932102A3\r
+:1059900088E08093200288E280931F0234C0CE51B9\r
+:1059A000C63088F5EC2FF0E0E451FD4F8081809304\r
+:1059B000D60329C0CE34E9F020F4CB3421F56AE0D7\r
+:1059C00013C0C13579F0C235F1F461E00DC08091AA\r
+:1059D000D603882319F01092D60315C081E0809376\r
+:1059E000D70315C061E006C08091D6030E94FA2A51\r
+:1059F0000AC06AE08091D6030E94702B04C0109206\r
+:105A0000D70380E004C081E002C080E0AACFCF913C\r
+:105A100008950E949B28811102C00E9477280E944D\r
+:105A2000BC288093F20380FF02C0869501C080E00D\r
+:105A30000C94D2058091F203982F9695292F30E08F\r
+:105A4000233031054CF49F5F990F8170892B816061\r
+:105A50008093F2030E94C0288091F20386950C94F3\r
+:105A6000D2058091F203982F969591F09158990F55\r
+:105A70008170892B8093F2038E7F91E009F490E08E\r
+:105A80008091F20390FB80F98093F2030E94C0287A\r
+:105A90008091F20386950C94D2058091F203982FA1\r
+:105AA000909590FB80F98093F2030E94C02880912A\r
+:105AB000F20380FF02C0869501C080E00C94D205FD\r
+:105AC0009091F203892F86958F5F8F779170843044\r
+:105AD00028F4880F892B8093F20302C09093F2037D\r
+:105AE0008091F2038E7F91E009F490E08091F203BF\r
+:105AF00090FB80F98093F2030E94C0288091F2030A\r
+:105B000086950C94D2052091F203922F96958927C1\r
+:105B1000982F990F822F8170892B8093F2038E7FAB\r
+:105B200091E009F490E08091F20390FB80F980937A\r
+:105B3000F2030E94C0288091F20386950C94D2054E\r
+:105B40005058BB27AA270ED0D1C1C2D130F0C7D13F\r
+:105B500020F031F49F3F11F41EF4B7C10EF4E0952C\r
+:105B6000E7FB9FC1E92FD3D180F3BA176207730710\r
+:105B70008407950718F071F49EF5EBC10EF4E095DB\r
+:105B80000B2EBA2FA02D0B01B90190010C01CA01F7\r
+:105B9000A0011124FF27591B99F0593F50F4503EA2\r
+:105BA00068F11A16F040A22F232F342F4427585F94\r
+:105BB000F3CF469537952795A795F0405395C9F7AC\r
+:105BC0007EF41F16BA0B620B730B840BBAF0915064\r
+:105BD000A1F0FF0FBB1F661F771F881FC2F70EC003\r
+:105BE000BA0F621F731F841F48F4879577956795D6\r
+:105BF000B795F7959E3F08F0B3CF9395880F08F0BF\r
+:105C00009927EE0F97958795089527D108F481E09D\r
+:105C100008950CD06BC163D140F05AD130F021F41B\r
+:105C20005F3F19F03EC1511195C14FC170D198F33A\r
+:105C30009923C9F35523B1F3951B550BBB27AA270D\r
+:105C400062177307840738F09F5F5F4F220F331F7F\r
+:105C5000441FAA1FA9F333D00E2E3AF0E0E830D04B\r
+:105C600091505040E695001CCAF729D0FE2F27D04E\r
+:105C7000660F771F881FBB1F261737074807AB071C\r
+:105C8000B0E809F0BB0B802DBF01FF2793585F4F91\r
+:105C90002AF09E3F510568F004C15CC15F3FECF300\r
+:105CA000983EDCF3869577956795B795F7959F5F56\r
+:105CB000C9F7880F911D9695879597F90895E1E0AA\r
+:105CC000660F771F881FBB1F621773078407BA0709\r
+:105CD00020F0621B730B840BBA0BEE1F88F7E09564\r
+:105CE000089504D06894B11135C1089518D188F091\r
+:105CF0009F5790F0B92F9927B751A0F0D1F0660FB8\r
+:105D0000771F881F991F1AF0BA95C9F712C0B130D2\r
+:105D100081F01FD1B1E008951CC1672F782F88272B\r
+:105D2000B85F39F0B93FCCF3869577956795B39511\r
+:105D3000D9F73EF490958095709561957F4F8F4F80\r
+:105D40009F4F0895E89409C097FB3EF49095809585\r
+:105D5000709561957F4F8F4F9F4F9923A9F0F92F31\r
+:105D600096E9BB279395F695879577956795B795AF\r
+:105D7000F111F8CFFAF4BB0F11F460FF1BC06F5F95\r
+:105D80007F4F8F4F9F4F16C0882311F096E911C0A7\r
+:105D9000772321F09EE8872F762F05C0662371F0C8\r
+:105DA00096E8862F70E060E02AF09A95660F771FDC\r
+:105DB000881FDAF7880F9695879597F9089588D008\r
+:105DC00018F011F08CD038F480C0C4C0E92F9FD0F7\r
+:105DD000B0F35523C9F3E7FB6217730784079507F0\r
+:105DE000A8F199F3E92FFF2788232AF03197660F4E\r
+:105DF000771F881FDAF7952F5527442332F09150EB\r
+:105E00005040220F331F441FD2F7BB27E91BF50B6D\r
+:105E1000621B730B840BB109C1F222F4620F731F72\r
+:105E2000841FB11D31972AF0660F771F881FBB1F93\r
+:105E3000EFCF915050405AF041F0882332F0660F76\r
+:105E4000771F881F91505040C1F7939530C08695B9\r
+:105E5000779567959F5FD9F7F8CF990F0008550F91\r
+:105E6000AA0BE0E8FEEF16161706E807F907C0F0E0\r
+:105E700012161306E407F50798F0621B730B840BE8\r
+:105E8000950B39F40A2661F0232B242B252B21F4C2\r
+:105E900008950A2609F4A140A6958FEF811D811D62\r
+:105EA000089597F99F6780E870E060E008959F3F4C\r
+:105EB00031F0915020F4879577956795B795880FC5\r
+:105EC000911D9695879597F908959FEF80EC089519\r
+:105ED00000240A94161617061806090608950024C9\r
+:105EE0000A9412161306140605060895092E039443\r
+:105EF000000C11F4882352F0BB0F40F4BF2B11F4B7\r
+:105F000060FF04C06F5F7F4F8F4F9F4F089557FD15\r
+:105F10009058440F551F59F05F3F71F04795880F17\r
+:105F200097FB991F61F09F3F79F0879508951216AE\r
+:105F300013061406551FF2CF4695F1DF08C016165A\r
+:105F400017061806991FF1CF86957105610508940B\r
+:105F50000895E894BB2766277727CB0197F9089522\r
+:105F60007CDF08F48FEF08950BD0C0CFB1DF28F0AD\r
+:105F7000B6DF18F0952309F094CFA7CF1124EACF0C\r
+:105F8000C6DFA0F3959FD1F3950F50E0551F629F98\r
+:105F9000F001729FBB27F00DB11D639FAA27F00D82\r
+:105FA000B11DAA1F649F6627B00DA11D661F829FA9\r
+:105FB0002227B00DA11D621F739FB00DA11D621F8E\r
+:105FC000839FA00D611D221F749F3327A00D611DAB\r
+:105FD000231F849F600D211D822F762F6A2F11248D\r
+:105FE0009F5750408AF0E1F088234AF0EE0FFF1FE0\r
+:105FF000BB1F661F771F881F91505040A9F79E3F17\r
+:10600000510570F04ECFA6CF5F3FECF3983EDCF326\r
+:10601000869577956795B795F795E7959F5FC1F753\r
+:10602000FE2B880F911D9695879597F90895FA0193\r
+:10603000EE0FFF1F30962105310599F161157105AD\r
+:1060400061F48038BFE39B0749F16894903881057B\r
+:1060500061F08038BFEF9B0741F0992342F5FF3F85\r
+:10606000E1053105210511F1E8940894E795D9017E\r
+:10607000AA2329F4AB2FBE2FF85FD0F310C0FF5F27\r
+:1060800070F4A695E0F7F73950F019F0FF3A38F4BC\r
+:106090009F779F930CD00F9007FC905808953EF087\r
+:1060A00014CF60E070E080E89FE308954FE79F77AA\r
+:1060B0005F934F933F932F939ED02F913F914F919A\r
+:1060C0005F9152DF05C019F40EF0EBCE42CFFDCE4A\r
+:1060D00026DFC8F39638C0F707F80F92E8942BE351\r
+:1060E0003AEA48EB5FE74EDF0F920F920F924DB7FF\r
+:1060F0005EB70F92C0D0E8EFF0E016D04F915F91FD\r
+:10610000EF91FF91E595EE1FFF1F49F0FE57E06804\r
+:106110004427EE0F441FFA95E1F74195550B32D015\r
+:106120000F9007FE26C00895DF93CF931F930F9320\r
+:10613000FF92EF92DF927B018C01689405C0DA2E0A\r
+:10614000EF011EDFFE01E894A5912591359145915F\r
+:106150005591AEF3EF0106DDFE019701A801DA9437\r
+:1061600079F7DF90EF90FF900F911F91CF91DF9122\r
+:1061700008959B01AC0160E070E080E89FE349CDA9\r
+:1061800090CE95CECCDEE8F39923D9F3940F511D30\r
+:10619000BBF39150504094F059F0882332F0660FD1\r
+:1061A000771F881F91505040C1F79E3F510544F71B\r
+:1061B000880F911D9695879597F908955F3FACF0EC\r
+:1061C000983E9CF0BB27869577956795B79508F420\r
+:1061D000B1609395C1F7BB0F58F711F460FFE8CF9A\r
+:1061E0006F5F7F4F8F4F9F4FE3CFB4CE0EF05FCEE8\r
+:1061F0006CCE689456CE93DEC8F39923D1F3C6F3E0\r
+:10620000DF93CF931F930F93FF92C92FDD2788232E\r
+:106210002AF02197660F771F881FDAF720E030E019\r
+:1062200040E85FEB9FE3883920F0803E30F0219614\r
+:106230008F7787DCE0E2F1E003C083DCEDE4F1E09E\r
+:1062400073DF8B01BE01EC01FB2E6F577109759551\r
+:10625000771F880B990B78DD28E132E741E35FE394\r
+:106260008FDEAF2D9801AE01FF900F911F91CF915E\r
+:10627000DF9178DC3BCEFA01DC01AA0FBB1F9B014A\r
+:10628000AC01BF5728F422273327442750781FC07A\r
+:10629000B75188F4AB2F0024469537952795011CFC\r
+:1062A000A395D2F3002069F0220F331F441FB3954A\r
+:1062B000DAF30DD045CC61307105A0E88A07B94604\r
+:1062C00030F49B01AC0166277727882790783096B9\r
+:1062D00021F020833183428353830895AA1BBB1B83\r
+:1062E00051E107C0AA1FBB1FA617B70710F0A61BD6\r
+:1062F000B70B881F991F5A95A9F780959095BC01F7\r
+:10630000CD01089597FB072E16F4009407D077FD72\r
+:1063100009D00E946E3107FC05D03EF4909581951E\r
+:106320009F4F0895709561957F4F0895EE0FFF1F61\r
+:106330000590F491E02D0994F999FECF92BD81BDAD\r
+:10634000F89A992780B50895A8E1B0E042E050E0BE\r
+:106350000C94C431262FF999FECF92BD81BDF89AD5\r
+:10636000019700B4021639F01FBA20BD0FB6F89499\r
+:10637000FA9AF99A0FBE08950196272F0E94AB3121\r
+:106380000C94AA31DC01CB01FC01F999FECF06C0C7\r
+:10639000F2BDE1BDF89A319600B40D9241505040E3\r
+:0863A000B8F70895F894FFCF4F\r
+:1063A8000C52D02445000000410000DC44000000ED\r
+:1063B8004152D0A4440000404100005C4400000069\r
+:1063C8004148F17644000000415C978A440000008F\r
+:1063D800411FD592440000004152D0A4440000005F\r
+:1063E800415CFFB844000000410AA7CF4400000008\r
+:1063F800410000DC44000000410AA7CF440000002F\r
+:10640800410000DC44000000410000000000008062\r
+:106418004052D024450000404100000000000080A8\r
+:10642800400AA74F45000040410AA7CF440000009A\r
+:10643800410000DC44000000410000000000008032\r
+:106448004052D024450000004100000000000080B8\r
+:10645800405CFF384500000041000000000000805B\r
+:106468004052D02445000000410AA7CF4400000054\r
+:10647800410000DC440000004100000000000080F2\r
+:106488004052D024450000804110F176440000A01D\r
+:106498004112F1F6440000004141909B440000A0E5\r
+:1064A8004112F1F64400000041050000003F0000E1\r
+:1064B800C8427B140915E614B2147E1401BC0328E3\r
+:1064C80008140A321E000002000400050007000933\r
+:1064D800000B000C000E001000110013001500172F\r
+:1064E8000018001A001C001D001F002100230024B2\r
+:1064F800002600280029002B002D002F0030003234\r
+:106508000034003500370039003B004200450025C3\r
+:106518000026004300610060002000370064006529\r
+:1065280000660067004400460024004700314980A7\r
+:106538003F5D8B803FF8BF803FCAE1803F73ED80AD\r
+:106548003FCAE1803FF8BF803F5D8B803F31498083\r
+:106558003F0000803FF16D7F3F75EA7E3F4C827EB1\r
+:106568003F833F7E3F84287E3F833F7E3F4C827E31\r
+:106578003F75EA7E3FF16D7F3F0000803F3F4D361B\r
+:10658800B90A6C0A360AE209FB09140A0102030473\r
+:06659800050607080900DA\r
 :00000001FF\r
index 28de9c2f9f95d263091b25f858487a2fbf41a270..7def543188dc3438f2f04e3ec3cb2ecde63a66c6 100755 (executable)
@@ -2,6 +2,11 @@
 # Script to make a new quantum project
 # Jack Humbert 2015
 
+if [ -z "$1" ]; then
+       echo "Usage: $0 <keyboard_name>"
+       exit 1
+fi
+
 KEYBOARD=$1
 KEYBOARD_UPPERCASE=$(echo $1 | awk '{print toupper($0)}')
 
index e85370d958381cd311972b43077aaacf42552d67..27b64f8c96224da8b35e6b4a5ecb45f9d9ed618c 100644 (file)
@@ -1,6 +1,6 @@
 #include <stdio.h>
 #include <string.h>
-#include <math.h>
+//#include <math.h>
 #include <avr/pgmspace.h>
 #include <avr/interrupt.h>
 #include <avr/io.h>
 
 #include "eeconfig.h"
 
-#ifdef VIBRATO_ENABLE
-    #include "vibrato_lut.h"
-#endif
+#define CPU_PRESCALER 8
 
-#define PI 3.14159265
+// -----------------------------------------------------------------------------
+// Timer Abstractions
+// -----------------------------------------------------------------------------
 
-#define CPU_PRESCALER 8
+// TIMSK3 - Timer/Counter #3 Interrupt Mask Register
+// Turn on/off 3A interputs, stopping/enabling the ISR calls
+#define ENABLE_AUDIO_COUNTER_3_ISR TIMSK3 |= _BV(OCIE3A)
+#define DISABLE_AUDIO_COUNTER_3_ISR TIMSK3 &= ~_BV(OCIE3A)
 
-#ifdef PWM_AUDIO
-    #include "wave.h"
-    #define SAMPLE_DIVIDER 39
-    #define SAMPLE_RATE (2000000.0/SAMPLE_DIVIDER/2048)
-    // Resistor value of 1/ (2 * PI * 10nF * (2000000 hertz / SAMPLE_DIVIDER / 10)) for 10nF cap
+// TCCR3A: Timer/Counter #3 Control Register
+// Compare Output Mode (COM3An) = 0b00 = Normal port operation, OC3A disconnected from PC6
+#define ENABLE_AUDIO_COUNTER_3_OUTPUT TCCR3A |= _BV(COM3A1);
+#define DISABLE_AUDIO_COUNTER_3_OUTPUT TCCR3A &= ~(_BV(COM3A1) | _BV(COM3A0));
 
-    float places[8] = {0, 0, 0, 0, 0, 0, 0, 0};
-    uint16_t place_int = 0;
-    bool repeat = true;
-#endif
+// Fast PWM Mode Controls
+#define TIMER_3_PERIOD     ICR3
+#define TIMER_3_DUTY_CYCLE OCR3A
+
+// -----------------------------------------------------------------------------
 
-void delay_us(int count) {
-  while(count--) {
-    _delay_us(1);
-  }
-}
 
 int voices = 0;
 int voice_place = 0;
@@ -45,26 +43,23 @@ float frequencies[8] = {0, 0, 0, 0, 0, 0, 0, 0};
 int volumes[8] = {0, 0, 0, 0, 0, 0, 0, 0};
 bool sliding = false;
 
-int max = 0xFF;
-float sum = 0;
 float place = 0;
 
 uint8_t * sample;
 uint16_t sample_length = 0;
-// float freq = 0;
-
-bool notes = false;
-bool note = false;
-float note_frequency = 0;
-float note_length = 0;
-float note_tempo = TEMPO_DEFAULT;
-float note_timbre = TIMBRE_DEFAULT;
+
+bool     playing_notes = false;
+bool     playing_note = false;
+float    note_frequency = 0;
+float    note_length = 0;
+uint8_t  note_tempo = TEMPO_DEFAULT;
+float    note_timbre = TIMBRE_DEFAULT;
 uint16_t note_position = 0;
 float (* notes_pointer)[][2];
 uint16_t notes_count;
-bool notes_repeat;
-float notes_rest;
-bool note_resting = false;
+bool     notes_repeat;
+float    notes_rest;
+bool     note_resting = false;
 
 uint8_t current_note = 0;
 uint8_t rest_counter = 0;
@@ -77,175 +72,65 @@ float vibrato_rate = 0.125;
 
 float polyphony_rate = 0;
 
-bool inited = false;
+static bool audio_initialized = false;
 
 audio_config_t audio_config;
 
 uint16_t envelope_index = 0;
 
-void audio_toggle(void) {
-    audio_config.enable ^= 1;
-    eeconfig_update_audio(audio_config.raw);
-}
-
-void audio_on(void) {
-    audio_config.enable = 1;
-    eeconfig_update_audio(audio_config.raw);
-}
-
-void audio_off(void) {
-    audio_config.enable = 0;
-    eeconfig_update_audio(audio_config.raw);
-}
-
-#ifdef VIBRATO_ENABLE
-// Vibrato rate functions
-
-void set_vibrato_rate(float rate) {
-    vibrato_rate = rate;
-}
-
-void increase_vibrato_rate(float change) {
-    vibrato_rate *= change;
-}
-
-void decrease_vibrato_rate(float change) {
-    vibrato_rate /= change;
-}
-
-#ifdef VIBRATO_STRENGTH_ENABLE
-
-void set_vibrato_strength(float strength) {
-    vibrato_strength = strength;
-}
-
-void increase_vibrato_strength(float change) {
-    vibrato_strength *= change;
-}
-
-void decrease_vibrato_strength(float change) {
-    vibrato_strength /= change;
-}
-
-#endif
-
-#endif
-
-// Polyphony functions
-
-void set_polyphony_rate(float rate) {
-    polyphony_rate = rate;
-}
-
-void enable_polyphony() {
-    polyphony_rate = 5;
-}
-
-void disable_polyphony() {
-    polyphony_rate = 0;
-}
-
-void increase_polyphony_rate(float change) {
-    polyphony_rate *= change;
-}
-
-void decrease_polyphony_rate(float change) {
-    polyphony_rate /= change;
-}
-
-// Timbre function
-
-void set_timbre(float timbre) {
-    note_timbre = timbre;
-}
-
-// Tempo functions
-
-void set_tempo(float tempo) {
-    note_tempo = tempo;
-}
-
-void decrease_tempo(uint8_t tempo_change) {
-    note_tempo += (float) tempo_change;
-}
-
-void increase_tempo(uint8_t tempo_change) {
-    if (note_tempo - (float) tempo_change < 10) {
-        note_tempo = 10;
-    } else {
-        note_tempo -= (float) tempo_change;
-    }
-}
-
-void audio_init() {
+void audio_init()
+{
 
-    /* check signature */
-    if (!eeconfig_is_enabled()) {
+    // Check EEPROM
+    if (!eeconfig_is_enabled())
+    {
         eeconfig_init();
     }
     audio_config.raw = eeconfig_read_audio();
 
-    #ifdef PWM_AUDIO
-        PLLFRQ = _BV(PDIV2);
-        PLLCSR = _BV(PLLE);
-        while(!(PLLCSR & _BV(PLOCK)));
-        PLLFRQ |= _BV(PLLTM0); /* PCK 48MHz */
-
-        /* Init a fast PWM on Timer4 */
-        TCCR4A = _BV(COM4A0) | _BV(PWM4A); /* Clear OC4A on Compare Match */
-        TCCR4B = _BV(CS40); /* No prescaling => f = PCK/256 = 187500Hz */
-        OCR4A = 0;
+       // Set port PC6 (OC3A and /OC4A) as output
+    DDRC |= _BV(PORTC6);
 
-        /* Enable the OC4A output */
-        DDRC |= _BV(PORTC6);
+    DISABLE_AUDIO_COUNTER_3_ISR;
 
-        TIMSK3 &= ~_BV(OCIE3A); // Turn off 3A interputs
-
-        TCCR3A = 0x0; // Options not needed
-        TCCR3B = _BV(CS31) | _BV(CS30) | _BV(WGM32); // 64th prescaling and CTC
-        OCR3A = SAMPLE_DIVIDER - 1; // Correct count/compare, related to sample playback
-    #else
-        DDRC |= _BV(PORTC6);
-
-        TIMSK3 &= ~_BV(OCIE3A); // Turn off 3A interputs
-
-        TCCR3A = (0 << COM3A1) | (0 << COM3A0) | (1 << WGM31) | (0 << WGM30);
-        TCCR3B = (1 << WGM33) | (1 << WGM32) | (0 << CS32) | (1 << CS31) | (0 << CS30);
-    #endif
+       // TCCR3A / TCCR3B: Timer/Counter #3 Control Registers
+       // Compare Output Mode (COM3An) = 0b00 = Normal port operation, OC3A disconnected from PC6
+       // Waveform Generation Mode (WGM3n) = 0b1110 = Fast PWM Mode 14 (Period = ICR3, Duty Cycle = OCR3A)
+       // Clock Select (CS3n) = 0b010 = Clock / 8
+    TCCR3A = (0 << COM3A1) | (0 << COM3A0) | (1 << WGM31) | (0 << WGM30);
+    TCCR3B = (1 << WGM33)  | (1 << WGM32)  | (0 << CS32)  | (1 << CS31) | (0 << CS30);
 
-    inited = true;
+    audio_initialized = true;
 }
 
-void stop_all_notes() {
-    if (!inited) {
+void stop_all_notes()
+{
+    if (!audio_initialized) {
         audio_init();
     }
     voices = 0;
-    #ifdef PWM_AUDIO
-        TIMSK3 &= ~_BV(OCIE3A);
-    #else
-        TIMSK3 &= ~_BV(OCIE3A);
-        TCCR3A &= ~_BV(COM3A1);
-    #endif
-    notes = false;
-    note = false;
+
+    DISABLE_AUDIO_COUNTER_3_ISR;
+    DISABLE_AUDIO_COUNTER_3_OUTPUT;
+
+    playing_notes = false;
+    playing_note = false;
     frequency = 0;
     volume = 0;
 
-    for (int i = 0; i < 8; i++) {
+    for (uint8_t i = 0; i < 8; i++)
+    {
         frequencies[i] = 0;
         volumes[i] = 0;
     }
 }
 
-void stop_note(float freq) {
-    if (note) {
-        if (!inited) {
+void stop_note(float freq)
+{
+    if (playing_note) {
+        if (!audio_initialized) {
             audio_init();
         }
-        #ifdef PWM_AUDIO
-            freq = freq / SAMPLE_RATE;
-        #endif
         for (int i = 7; i >= 0; i--) {
             if (frequencies[i] == freq) {
                 frequencies[i] = 0;
@@ -266,15 +151,11 @@ void stop_note(float freq) {
             voice_place = 0;
         }
         if (voices == 0) {
-            #ifdef PWM_AUDIO
-                TIMSK3 &= ~_BV(OCIE3A);
-            #else
-                TIMSK3 &= ~_BV(OCIE3A);
-                TCCR3A &= ~_BV(COM3A1);
-            #endif
+            DISABLE_AUDIO_COUNTER_3_ISR;
+            DISABLE_AUDIO_COUNTER_3_OUTPUT;
             frequency = 0;
             volume = 0;
-            note = false;
+            playing_note = false;
         }
     }
 }
@@ -289,9 +170,9 @@ float mod(float a, int b)
 
 float vibrato(float average_freq) {
     #ifdef VIBRATO_STRENGTH_ENABLE
-        float vibrated_freq = average_freq * pow(VIBRATO_LUT[(int)vibrato_counter], vibrato_strength);
+        float vibrated_freq = average_freq * pow(vibrato_lut[(int)vibrato_counter], vibrato_strength);
     #else
-        float vibrated_freq = average_freq * VIBRATO_LUT[(int)vibrato_counter];
+        float vibrated_freq = average_freq * vibrato_lut[(int)vibrato_counter];
     #endif
     vibrato_counter = mod((vibrato_counter + vibrato_rate * (1.0 + 440.0/average_freq)), VIBRATO_LUT_LENGTH);
     return vibrated_freq;
@@ -299,295 +180,299 @@ float vibrato(float average_freq) {
 
 #endif
 
-ISR(TIMER3_COMPA_vect) {
-    if (note) {
-        #ifdef PWM_AUDIO
-            if (voices == 1) {
-                // SINE
-                OCR4A = pgm_read_byte(&sinewave[(uint16_t)place]) >> 2;
-
-                // SQUARE
-                // if (((int)place) >= 1024){
-                //     OCR4A = 0xFF >> 2;
-                // } else {
-                //     OCR4A = 0x00;
-                // }
-
-                // SAWTOOTH
-                // OCR4A = (int)place / 4;
-
-                // TRIANGLE
-                // if (((int)place) >= 1024) {
-                //     OCR4A = (int)place / 2;
-                // } else {
-                //     OCR4A = 2048 - (int)place / 2;
-                // }
-
-                place += frequency;
-
-                if (place >= SINE_LENGTH)
-                    place -= SINE_LENGTH;
-
-            } else {
-                int sum = 0;
-                for (int i = 0; i < voices; i++) {
-                    // SINE
-                    sum += pgm_read_byte(&sinewave[(uint16_t)places[i]]) >> 2;
-
-                    // SQUARE
-                    // if (((int)places[i]) >= 1024){
-                    //     sum += 0xFF >> 2;
-                    // } else {
-                    //     sum += 0x00;
-                    // }
-
-                    places[i] += frequencies[i];
-
-                    if (places[i] >= SINE_LENGTH)
-                        places[i] -= SINE_LENGTH;
-                }
-                OCR4A = sum;
-            }
-        #else
-            if (voices > 0) {
-                float freq;
-                if (polyphony_rate > 0) {                
-                    if (voices > 1) {
-                        voice_place %= voices;
-                        if (place++ > (frequencies[voice_place] / polyphony_rate / CPU_PRESCALER)) {
-                            voice_place = (voice_place + 1) % voices;
-                            place = 0.0;
-                        }
-                    }
-                    #ifdef VIBRATO_ENABLE
-                    if (vibrato_strength > 0) {
-                        freq = vibrato(frequencies[voice_place]);
-                    } else {
-                    #else
-                    {
-                    #endif
-                        freq = frequencies[voice_place];
-                    } 
-                } else {
-                    if (frequency != 0 && frequency < frequencies[voices - 1] && frequency < frequencies[voices - 1] * pow(2, -440/frequencies[voices - 1]/12/2)) {
-                        frequency = frequency * pow(2, 440/frequency/12/2);
-                    } else if (frequency != 0 && frequency > frequencies[voices - 1] && frequency > frequencies[voices - 1] * pow(2, 440/frequencies[voices - 1]/12/2)) {
-                        frequency = frequency * pow(2, -440/frequency/12/2);
-                    } else {
-                        frequency = frequencies[voices - 1];
-                    }
-
-
-                    #ifdef VIBRATO_ENABLE
-                    if (vibrato_strength > 0) {
-                        freq = vibrato(frequency);
-                    } else {
-                    #else
-                    {
-                    #endif
-                        freq = frequency;
-                    } 
-                }
+ISR(TIMER3_COMPA_vect)
+{
+       float freq;
+
+       if (playing_note) {
+               if (voices > 0) {
+                       if (polyphony_rate > 0) {
+                               if (voices > 1) {
+                                       voice_place %= voices;
+                                       if (place++ > (frequencies[voice_place] / polyphony_rate / CPU_PRESCALER)) {
+                                               voice_place = (voice_place + 1) % voices;
+                                               place = 0.0;
+                                       }
+                               }
+
+                               #ifdef VIBRATO_ENABLE
+                                       if (vibrato_strength > 0) {
+                                               freq = vibrato(frequencies[voice_place]);
+                                       } else {
+                                               freq = frequencies[voice_place];
+                                       }
+                               #else
+                                       freq = frequencies[voice_place];
+                               #endif
+                       } else {
+                               if (frequency != 0 && frequency < frequencies[voices - 1] && frequency < frequencies[voices - 1] * pow(2, -440/frequencies[voices - 1]/12/2)) {
+                                       frequency = frequency * pow(2, 440/frequency/12/2);
+                               } else if (frequency != 0 && frequency > frequencies[voices - 1] && frequency > frequencies[voices - 1] * pow(2, 440/frequencies[voices - 1]/12/2)) {
+                                       frequency = frequency * pow(2, -440/frequency/12/2);
+                               } else {
+                                       frequency = frequencies[voices - 1];
+                               }
+
+                               #ifdef VIBRATO_ENABLE
+                                       if (vibrato_strength > 0) {
+                                               freq = vibrato(frequency);
+                                       } else {
+                                               freq = frequency;
+                                       }
+                               #else
+                                       freq = frequency;
+                               #endif
+                       }
+
+                       if (envelope_index < 65535) {
+                               envelope_index++;
+                       }
+
+                       freq = voice_envelope(freq);
+
+                       if (freq < 30.517578125) {
+                               freq = 30.52;
+                       }
+
+                       TIMER_3_PERIOD = (uint16_t)(((float)F_CPU) / (freq * CPU_PRESCALER));
+                       TIMER_3_DUTY_CYCLE = (uint16_t)((((float)F_CPU) / (freq * CPU_PRESCALER)) * note_timbre);
+               }
+       }
+
+       if (playing_notes) {
+               if (note_frequency > 0) {
+                       #ifdef VIBRATO_ENABLE
+                               if (vibrato_strength > 0) {
+                                       freq = vibrato(note_frequency);
+                               } else {
+                                       freq = note_frequency;
+                               }
+                       #else
+                                       freq = note_frequency;
+                       #endif
+
+                       if (envelope_index < 65535) {
+                               envelope_index++;
+                       }
+                       freq = voice_envelope(freq);
+
+                       TIMER_3_PERIOD = (uint16_t)(((float)F_CPU) / (freq * CPU_PRESCALER));
+                       TIMER_3_DUTY_CYCLE = (uint16_t)((((float)F_CPU) / (freq * CPU_PRESCALER)) * note_timbre);
+               } else {
+                       TIMER_3_PERIOD = 0;
+                       TIMER_3_DUTY_CYCLE = 0;
+               }
+
+               note_position++;
+               bool end_of_note = false;
+               if (TIMER_3_PERIOD > 0) {
+                       end_of_note = (note_position >= (note_length / TIMER_3_PERIOD * 0xFFFF));
+               } else {
+                       end_of_note = (note_position >= (note_length * 0x7FF));
+               }
+
+               if (end_of_note) {
+                       current_note++;
+                       if (current_note >= notes_count) {
+                               if (notes_repeat) {
+                                       current_note = 0;
+                               } else {
+                                       DISABLE_AUDIO_COUNTER_3_ISR;
+                                       DISABLE_AUDIO_COUNTER_3_OUTPUT;
+                                       playing_notes = false;
+                                       return;
+                               }
+                       }
+                       if (!note_resting && (notes_rest > 0)) {
+                               note_resting = true;
+                               note_frequency = 0;
+                               note_length = notes_rest;
+                               current_note--;
+                       } else {
+                               note_resting = false;
+                               envelope_index = 0;
+                               note_frequency = (*notes_pointer)[current_note][0];
+                               note_length = ((*notes_pointer)[current_note][1] / 4) * (((float)note_tempo) / 100);
+                       }
+
+                       note_position = 0;
+               }
+       }
+
+       if (!audio_config.enable) {
+               playing_notes = false;
+               playing_note = false;
+       }
+}
 
-                if (envelope_index < 65535) {
-                    envelope_index++;
-                }
-                freq = voice_envelope(freq);
+void play_note(float freq, int vol) {
 
-                if (freq < 30.517578125)
-                    freq = 30.52;
-                ICR3 = (int)(((double)F_CPU) / (freq * CPU_PRESCALER)); // Set max to the period
-                OCR3A = (int)((((double)F_CPU) / (freq * CPU_PRESCALER)) * note_timbre); // Set compare to half the period
-            }
-        #endif
+    if (!audio_initialized) {
+        audio_init();
     }
 
-    // SAMPLE
-    // OCR4A = pgm_read_byte(&sample[(uint16_t)place_int]);
-
-    // place_int++;
-
-    // if (place_int >= sample_length)
-    //     if (repeat)
-    //         place_int -= sample_length;
-    //     else
-    //         TIMSK3 &= ~_BV(OCIE3A);
-
-
-    if (notes) {
-        #ifdef PWM_AUDIO
-            OCR4A = pgm_read_byte(&sinewave[(uint16_t)place]) >> 0;
-
-            place += note_frequency;
-            if (place >= SINE_LENGTH)
-                place -= SINE_LENGTH;
-        #else
-            if (note_frequency > 0) {
-                float freq;
-
-                #ifdef VIBRATO_ENABLE
-                if (vibrato_strength > 0) {
-                    freq = vibrato(note_frequency);
-                } else {
-                #else
-                {
-                #endif
-                    freq = note_frequency;
-                }
+       if (audio_config.enable && voices < 8) {
+           DISABLE_AUDIO_COUNTER_3_ISR;
 
-                if (envelope_index < 65535) {
-                    envelope_index++;
-                }
-                freq = voice_envelope(freq);
+           // Cancel notes if notes are playing
+           if (playing_notes)
+               stop_all_notes();
 
-                ICR3 = (int)(((double)F_CPU) / (freq * CPU_PRESCALER)); // Set max to the period
-                OCR3A = (int)((((double)F_CPU) / (freq * CPU_PRESCALER)) * note_timbre); // Set compare to half the period
-            } else {
-                ICR3 = 0;
-                OCR3A = 0;
-            }
-        #endif
-
-
-        note_position++;
-        bool end_of_note = false;
-        if (ICR3 > 0)
-            end_of_note = (note_position >= (note_length / ICR3 * 0xFFFF));
-        else
-            end_of_note = (note_position >= (note_length * 0x7FF));
-        if (end_of_note) {
-            current_note++;
-            if (current_note >= notes_count) {
-                if (notes_repeat) {
-                    current_note = 0;
-                } else {
-                    #ifdef PWM_AUDIO
-                        TIMSK3 &= ~_BV(OCIE3A);
-                    #else
-                        TIMSK3 &= ~_BV(OCIE3A);
-                        TCCR3A &= ~_BV(COM3A1);
-                    #endif
-                    notes = false;
-                    return;
-                }
-            }
-            if (!note_resting && (notes_rest > 0)) {
-                note_resting = true;
-                note_frequency = 0;
-                note_length = notes_rest;
-                current_note--;
-            } else {
-                note_resting = false;
-                #ifdef PWM_AUDIO
-                    note_frequency = (*notes_pointer)[current_note][0] / SAMPLE_RATE;
-                    note_length = (*notes_pointer)[current_note][1] * (note_tempo / 100);
-                #else
-                    envelope_index = 0;
-                    note_frequency = (*notes_pointer)[current_note][0];
-                    note_length = ((*notes_pointer)[current_note][1] / 4) * (note_tempo / 100);
-                #endif
-            }
-            note_position = 0;
-        }
+           playing_note = true;
 
-    }
+           envelope_index = 0;
+
+           if (freq > 0) {
+               frequencies[voices] = freq;
+               volumes[voices] = vol;
+               voices++;
+           }
+
+        ENABLE_AUDIO_COUNTER_3_ISR;
+        ENABLE_AUDIO_COUNTER_3_OUTPUT;
+       }
 
-    if (!audio_config.enable) {
-        notes = false;
-        note = false;
-    }
 }
 
-void play_note(float freq, int vol) {
+void play_notes(float (*np)[][2], uint16_t n_count, bool n_repeat, float n_rest)
+{
 
-    if (!inited) {
+    if (!audio_initialized) {
         audio_init();
     }
 
-if (audio_config.enable && voices < 8) {
-    TIMSK3 &= ~_BV(OCIE3A);
-    // Cancel notes if notes are playing
-    if (notes)
-        stop_all_notes();
-    note = true;
-    envelope_index = 0;
-    #ifdef PWM_AUDIO
-        freq = freq / SAMPLE_RATE;
-    #endif
-    if (freq > 0) {
-        frequencies[voices] = freq;
-        volumes[voices] = vol;
-        voices++;
-    }
+       if (audio_config.enable) {
+
+           DISABLE_AUDIO_COUNTER_3_ISR;
+
+               // Cancel note if a note is playing
+           if (playing_note)
+               stop_all_notes();
+
+           playing_notes = true;
+
+           notes_pointer = np;
+           notes_count = n_count;
+           notes_repeat = n_repeat;
+           notes_rest = n_rest;
+
+           place = 0;
+           current_note = 0;
+
+        note_frequency = (*notes_pointer)[current_note][0];
+        note_length = ((*notes_pointer)[current_note][1] / 4) * (((float)note_tempo) / 100);
+           note_position = 0;
+
+
+        ENABLE_AUDIO_COUNTER_3_ISR;
+        ENABLE_AUDIO_COUNTER_3_OUTPUT;
+       }
 
-    #ifdef PWM_AUDIO
-        TIMSK3 |= _BV(OCIE3A);
-    #else
-        TIMSK3 |= _BV(OCIE3A);
-        TCCR3A |= _BV(COM3A1);
-    #endif
 }
 
+bool is_playing_notes(void) {
+       return playing_notes;
 }
 
-void play_notes(float (*np)[][2], uint16_t n_count, bool n_repeat, float n_rest) {
+bool is_audio_on(void) {
+    return (audio_config.enable != 0);
+}
 
-    if (!inited) {
-        audio_init();
-    }
+void audio_toggle(void) {
+    audio_config.enable ^= 1;
+    eeconfig_update_audio(audio_config.raw);
+}
 
-if (audio_config.enable) {
-    TIMSK3 &= ~_BV(OCIE3A);
-       // Cancel note if a note is playing
-    if (note)
-        stop_all_notes();
-    notes = true;
-
-    notes_pointer = np;
-    notes_count = n_count;
-    notes_repeat = n_repeat;
-    notes_rest = n_rest;
-
-    place = 0;
-    current_note = 0;
-    #ifdef PWM_AUDIO
-        note_frequency = (*notes_pointer)[current_note][0] / SAMPLE_RATE;
-        note_length = (*notes_pointer)[current_note][1] * (note_tempo / 100);
-    #else
-        note_frequency = (*notes_pointer)[current_note][0];
-        note_length = ((*notes_pointer)[current_note][1] / 4) * (note_tempo / 100);
-    #endif
-    note_position = 0;
+void audio_on(void) {
+    audio_config.enable = 1;
+    eeconfig_update_audio(audio_config.raw);
+}
+
+void audio_off(void) {
+    audio_config.enable = 0;
+    eeconfig_update_audio(audio_config.raw);
+}
 
+#ifdef VIBRATO_ENABLE
 
-    #ifdef PWM_AUDIO
-        TIMSK3 |= _BV(OCIE3A);
-    #else
-        TIMSK3 |= _BV(OCIE3A);
-        TCCR3A |= _BV(COM3A1);
-    #endif
+// Vibrato rate functions
+
+void set_vibrato_rate(float rate) {
+    vibrato_rate = rate;
 }
 
+void increase_vibrato_rate(float change) {
+    vibrato_rate *= change;
 }
 
-#ifdef PWM_AUDIO
-void play_sample(uint8_t * s, uint16_t l, bool r) {
-    if (!inited) {
-        audio_init();
-    }
+void decrease_vibrato_rate(float change) {
+    vibrato_rate /= change;
+}
 
-    if (audio_config.enable) {
-        TIMSK3 &= ~_BV(OCIE3A);
-        stop_all_notes();
-        place_int = 0;
-        sample = s;
-        sample_length = l;
-        repeat = r;
+#ifdef VIBRATO_STRENGTH_ENABLE
+
+void set_vibrato_strength(float strength) {
+    vibrato_strength = strength;
+}
+
+void increase_vibrato_strength(float change) {
+    vibrato_strength *= change;
+}
+
+void decrease_vibrato_strength(float change) {
+    vibrato_strength /= change;
+}
+
+#endif  /* VIBRATO_STRENGTH_ENABLE */
+
+#endif /* VIBRATO_ENABLE */
 
-        TIMSK3 |= _BV(OCIE3A);
+// Polyphony functions
+
+void set_polyphony_rate(float rate) {
+    polyphony_rate = rate;
+}
+
+void enable_polyphony() {
+    polyphony_rate = 5;
+}
+
+void disable_polyphony() {
+    polyphony_rate = 0;
+}
+
+void increase_polyphony_rate(float change) {
+    polyphony_rate *= change;
+}
+
+void decrease_polyphony_rate(float change) {
+    polyphony_rate /= change;
+}
+
+// Timbre function
+
+void set_timbre(float timbre) {
+    note_timbre = timbre;
+}
+
+// Tempo functions
+
+void set_tempo(uint8_t tempo) {
+    note_tempo = tempo;
+}
+
+void decrease_tempo(uint8_t tempo_change) {
+    note_tempo += tempo_change;
+}
+
+void increase_tempo(uint8_t tempo_change) {
+    if (note_tempo - tempo_change < 10) {
+        note_tempo = 10;
+    } else {
+        note_tempo -= tempo_change;
     }
 }
-#endif
+
 
 //------------------------------------------------------------------------------
 // Override these functions in your keymap file to play different tunes on
@@ -597,11 +482,8 @@ void play_startup_tone()
 {
 }
 
-
-
 __attribute__ ((weak))
 void play_goodbye_tone()
 {
-
 }
 //------------------------------------------------------------------------------
index 89769507e1bf48175ea0905100060bcd28aa423f..4ba879bbb1d25b8b0e2d09723005e3821b4e5d04 100644 (file)
@@ -25,6 +25,7 @@ typedef union {
     };
 } audio_config_t;
 
+bool is_audio_on(void);
 void audio_toggle(void);
 void audio_on(void);
 void audio_off(void);
@@ -56,7 +57,7 @@ void increase_polyphony_rate(float change);
 void decrease_polyphony_rate(float change);
 
 void set_timbre(float timbre);
-void set_tempo(float tempo);
+void set_tempo(uint8_t tempo);
 
 void increase_tempo(uint8_t tempo_change);
 void decrease_tempo(uint8_t tempo_change);
@@ -71,11 +72,11 @@ void stop_note(float freq);
 void stop_all_notes(void);
 void play_notes(float (*np)[][2], uint16_t n_count, bool n_repeat, float n_rest);
 
-#define SCALE (int []){ 0 + (12*0), 2 + (12*0), 4 + (12*0), 5 + (12*0), 7 + (12*0), 9 + (12*0), 11 + (12*0), \
-                                               0 + (12*1), 2 + (12*1), 4 + (12*1), 5 + (12*1), 7 + (12*1), 9 + (12*1), 11 + (12*1), \
-                                               0 + (12*2), 2 + (12*2), 4 + (12*2), 5 + (12*2), 7 + (12*2), 9 + (12*2), 11 + (12*2), \
-                                               0 + (12*3), 2 + (12*3), 4 + (12*3), 5 + (12*3), 7 + (12*3), 9 + (12*3), 11 + (12*3), \
-                                               0 + (12*4), 2 + (12*4), 4 + (12*4), 5 + (12*4), 7 + (12*4), 9 + (12*4), 11 + (12*4), }
+#define SCALE (int8_t []){ 0 + (12*0), 2 + (12*0), 4 + (12*0), 5 + (12*0), 7 + (12*0), 9 + (12*0), 11 + (12*0), \
+                           0 + (12*1), 2 + (12*1), 4 + (12*1), 5 + (12*1), 7 + (12*1), 9 + (12*1), 11 + (12*1), \
+                           0 + (12*2), 2 + (12*2), 4 + (12*2), 5 + (12*2), 7 + (12*2), 9 + (12*2), 11 + (12*2), \
+                           0 + (12*3), 2 + (12*3), 4 + (12*3), 5 + (12*3), 7 + (12*3), 9 + (12*3), 11 + (12*3), \
+                           0 + (12*4), 2 + (12*4), 4 + (12*4), 5 + (12*4), 7 + (12*4), 9 + (12*4), 11 + (12*4), }
 
 // These macros are used to allow play_notes to play an array of indeterminate
 // length. This works around the limitation of C's sizeof operation on pointers.
@@ -83,7 +84,11 @@ void play_notes(float (*np)[][2], uint16_t n_count, bool n_repeat, float n_rest)
 #define NOTE_ARRAY_SIZE(x) ((int16_t)(sizeof(x) / (sizeof(x[0]))))
 #define PLAY_NOTE_ARRAY(note_array, note_repeat, note_rest_style) play_notes(&note_array, NOTE_ARRAY_SIZE((note_array)), (note_repeat), (note_rest_style));
 
+
+bool is_playing_notes(void);
 void play_goodbye_tone(void);
 void play_startup_tone(void);
 
+
+
 #endif
\ No newline at end of file
diff --git a/quantum/audio/audio_pwm.c b/quantum/audio/audio_pwm.c
new file mode 100644 (file)
index 0000000..328a253
--- /dev/null
@@ -0,0 +1,643 @@
+#include <stdio.h>
+#include <string.h>
+//#include <math.h>
+#include <avr/pgmspace.h>
+#include <avr/interrupt.h>
+#include <avr/io.h>
+#include "print.h"
+#include "audio.h"
+#include "keymap_common.h"
+
+#include "eeconfig.h"
+
+#define PI 3.14159265
+
+#define CPU_PRESCALER 8
+
+
+// Timer Abstractions
+
+// TIMSK3 - Timer/Counter #3 Interrupt Mask Register
+// Turn on/off 3A interputs, stopping/enabling the ISR calls
+#define ENABLE_AUDIO_COUNTER_3_ISR TIMSK3 |= _BV(OCIE3A)
+#define DISABLE_AUDIO_COUNTER_3_ISR TIMSK3 &= ~_BV(OCIE3A)
+
+
+// TCCR3A: Timer/Counter #3 Control Register
+// Compare Output Mode (COM3An) = 0b00 = Normal port operation, OC3A disconnected from PC6
+#define ENABLE_AUDIO_COUNTER_3_OUTPUT TCCR3A |= _BV(COM3A1);
+#define DISABLE_AUDIO_COUNTER_3_OUTPUT TCCR3A &= ~(_BV(COM3A1) | _BV(COM3A0));
+
+
+#define NOTE_PERIOD ICR3
+#define NOTE_DUTY_CYCLE OCR3A
+
+
+#ifdef PWM_AUDIO
+    #include "wave.h"
+    #define SAMPLE_DIVIDER 39
+    #define SAMPLE_RATE (2000000.0/SAMPLE_DIVIDER/2048)
+    // Resistor value of 1/ (2 * PI * 10nF * (2000000 hertz / SAMPLE_DIVIDER / 10)) for 10nF cap
+
+    float places[8] = {0, 0, 0, 0, 0, 0, 0, 0};
+    uint16_t place_int = 0;
+    bool repeat = true;
+#endif
+
+void delay_us(int count) {
+  while(count--) {
+    _delay_us(1);
+  }
+}
+
+int voices = 0;
+int voice_place = 0;
+float frequency = 0;
+int volume = 0;
+long position = 0;
+
+float frequencies[8] = {0, 0, 0, 0, 0, 0, 0, 0};
+int volumes[8] = {0, 0, 0, 0, 0, 0, 0, 0};
+bool sliding = false;
+
+float place = 0;
+
+uint8_t * sample;
+uint16_t sample_length = 0;
+// float freq = 0;
+
+bool     playing_notes = false;
+bool     playing_note = false;
+float    note_frequency = 0;
+float    note_length = 0;
+uint8_t  note_tempo = TEMPO_DEFAULT;
+float    note_timbre = TIMBRE_DEFAULT;
+uint16_t note_position = 0;
+float (* notes_pointer)[][2];
+uint16_t notes_count;
+bool     notes_repeat;
+float    notes_rest;
+bool     note_resting = false;
+
+uint8_t current_note = 0;
+uint8_t rest_counter = 0;
+
+#ifdef VIBRATO_ENABLE
+float vibrato_counter = 0;
+float vibrato_strength = .5;
+float vibrato_rate = 0.125;
+#endif
+
+float polyphony_rate = 0;
+
+static bool audio_initialized = false;
+
+audio_config_t audio_config;
+
+uint16_t envelope_index = 0;
+
+void audio_init() {
+
+    // Check EEPROM
+    if (!eeconfig_is_enabled())
+    {
+        eeconfig_init();
+    }
+    audio_config.raw = eeconfig_read_audio();
+
+    #ifdef PWM_AUDIO
+
+        PLLFRQ = _BV(PDIV2);
+        PLLCSR = _BV(PLLE);
+        while(!(PLLCSR & _BV(PLOCK)));
+        PLLFRQ |= _BV(PLLTM0); /* PCK 48MHz */
+
+        /* Init a fast PWM on Timer4 */
+        TCCR4A = _BV(COM4A0) | _BV(PWM4A); /* Clear OC4A on Compare Match */
+        TCCR4B = _BV(CS40); /* No prescaling => f = PCK/256 = 187500Hz */
+        OCR4A = 0;
+
+        /* Enable the OC4A output */
+        DDRC |= _BV(PORTC6);
+
+        DISABLE_AUDIO_COUNTER_3_ISR; // Turn off 3A interputs
+
+        TCCR3A = 0x0; // Options not needed
+        TCCR3B = _BV(CS31) | _BV(CS30) | _BV(WGM32); // 64th prescaling and CTC
+        OCR3A = SAMPLE_DIVIDER - 1; // Correct count/compare, related to sample playback
+
+    #else
+
+       // Set port PC6 (OC3A and /OC4A) as output
+        DDRC |= _BV(PORTC6);
+
+        DISABLE_AUDIO_COUNTER_3_ISR;
+
+               // TCCR3A / TCCR3B: Timer/Counter #3 Control Registers
+               // Compare Output Mode (COM3An) = 0b00 = Normal port operation, OC3A disconnected from PC6
+               // Waveform Generation Mode (WGM3n) = 0b1110 = Fast PWM Mode 14 (Period = ICR3, Duty Cycle = OCR3A)
+               // Clock Select (CS3n) = 0b010 = Clock / 8
+        TCCR3A = (0 << COM3A1) | (0 << COM3A0) | (1 << WGM31) | (0 << WGM30);
+        TCCR3B = (1 << WGM33)  | (1 << WGM32)  | (0 << CS32)  | (1 << CS31) | (0 << CS30);
+
+    #endif
+
+    audio_initialized = true;
+}
+
+void stop_all_notes() {
+    if (!audio_initialized) {
+        audio_init();
+    }
+    voices = 0;
+    #ifdef PWM_AUDIO
+           DISABLE_AUDIO_COUNTER_3_ISR;
+    #else
+        DISABLE_AUDIO_COUNTER_3_ISR;
+        DISABLE_AUDIO_COUNTER_3_OUTPUT;
+    #endif
+
+    playing_notes = false;
+    playing_note = false;
+    frequency = 0;
+    volume = 0;
+
+    for (uint8_t i = 0; i < 8; i++)
+    {
+        frequencies[i] = 0;
+        volumes[i] = 0;
+    }
+}
+
+void stop_note(float freq)
+{
+    if (playing_note) {
+        if (!audio_initialized) {
+            audio_init();
+        }
+        #ifdef PWM_AUDIO
+            freq = freq / SAMPLE_RATE;
+        #endif
+        for (int i = 7; i >= 0; i--) {
+            if (frequencies[i] == freq) {
+                frequencies[i] = 0;
+                volumes[i] = 0;
+                for (int j = i; (j < 7); j++) {
+                    frequencies[j] = frequencies[j+1];
+                    frequencies[j+1] = 0;
+                    volumes[j] = volumes[j+1];
+                    volumes[j+1] = 0;
+                }
+                break;
+            }
+        }
+        voices--;
+        if (voices < 0)
+            voices = 0;
+        if (voice_place >= voices) {
+            voice_place = 0;
+        }
+        if (voices == 0) {
+            #ifdef PWM_AUDIO
+                DISABLE_AUDIO_COUNTER_3_ISR;
+            #else
+                DISABLE_AUDIO_COUNTER_3_ISR;
+                DISABLE_AUDIO_COUNTER_3_OUTPUT;
+            #endif
+            frequency = 0;
+            volume = 0;
+            playing_note = false;
+        }
+    }
+}
+
+#ifdef VIBRATO_ENABLE
+
+float mod(float a, int b)
+{
+    float r = fmod(a, b);
+    return r < 0 ? r + b : r;
+}
+
+float vibrato(float average_freq) {
+    #ifdef VIBRATO_STRENGTH_ENABLE
+        float vibrated_freq = average_freq * pow(vibrato_lut[(int)vibrato_counter], vibrato_strength);
+    #else
+        float vibrated_freq = average_freq * vibrato_lut[(int)vibrato_counter];
+    #endif
+    vibrato_counter = mod((vibrato_counter + vibrato_rate * (1.0 + 440.0/average_freq)), VIBRATO_LUT_LENGTH);
+    return vibrated_freq;
+}
+
+#endif
+
+ISR(TIMER3_COMPA_vect)
+{
+    if (playing_note) {
+        #ifdef PWM_AUDIO
+            if (voices == 1) {
+                // SINE
+                OCR4A = pgm_read_byte(&sinewave[(uint16_t)place]) >> 2;
+
+                // SQUARE
+                // if (((int)place) >= 1024){
+                //     OCR4A = 0xFF >> 2;
+                // } else {
+                //     OCR4A = 0x00;
+                // }
+
+                // SAWTOOTH
+                // OCR4A = (int)place / 4;
+
+                // TRIANGLE
+                // if (((int)place) >= 1024) {
+                //     OCR4A = (int)place / 2;
+                // } else {
+                //     OCR4A = 2048 - (int)place / 2;
+                // }
+
+                place += frequency;
+
+                if (place >= SINE_LENGTH)
+                    place -= SINE_LENGTH;
+
+            } else {
+                int sum = 0;
+                for (int i = 0; i < voices; i++) {
+                    // SINE
+                    sum += pgm_read_byte(&sinewave[(uint16_t)places[i]]) >> 2;
+
+                    // SQUARE
+                    // if (((int)places[i]) >= 1024){
+                    //     sum += 0xFF >> 2;
+                    // } else {
+                    //     sum += 0x00;
+                    // }
+
+                    places[i] += frequencies[i];
+
+                    if (places[i] >= SINE_LENGTH)
+                        places[i] -= SINE_LENGTH;
+                }
+                OCR4A = sum;
+            }
+        #else
+            if (voices > 0) {
+                float freq;
+                if (polyphony_rate > 0) {
+                    if (voices > 1) {
+                        voice_place %= voices;
+                        if (place++ > (frequencies[voice_place] / polyphony_rate / CPU_PRESCALER)) {
+                            voice_place = (voice_place + 1) % voices;
+                            place = 0.0;
+                        }
+                    }
+                    #ifdef VIBRATO_ENABLE
+                    if (vibrato_strength > 0) {
+                        freq = vibrato(frequencies[voice_place]);
+                    } else {
+                    #else
+                    {
+                    #endif
+                        freq = frequencies[voice_place];
+                    }
+                } else {
+                    if (frequency != 0 && frequency < frequencies[voices - 1] && frequency < frequencies[voices - 1] * pow(2, -440/frequencies[voices - 1]/12/2)) {
+                        frequency = frequency * pow(2, 440/frequency/12/2);
+                    } else if (frequency != 0 && frequency > frequencies[voices - 1] && frequency > frequencies[voices - 1] * pow(2, 440/frequencies[voices - 1]/12/2)) {
+                        frequency = frequency * pow(2, -440/frequency/12/2);
+                    } else {
+                        frequency = frequencies[voices - 1];
+                    }
+
+
+                    #ifdef VIBRATO_ENABLE
+                    if (vibrato_strength > 0) {
+                        freq = vibrato(frequency);
+                    } else {
+                    #else
+                    {
+                    #endif
+                        freq = frequency;
+                    }
+                }
+
+                if (envelope_index < 65535) {
+                    envelope_index++;
+                }
+                freq = voice_envelope(freq);
+
+                if (freq < 30.517578125)
+                    freq = 30.52;
+                NOTE_PERIOD = (int)(((double)F_CPU) / (freq * CPU_PRESCALER)); // Set max to the period
+                NOTE_DUTY_CYCLE = (int)((((double)F_CPU) / (freq * CPU_PRESCALER)) * note_timbre); // Set compare to half the period
+            }
+        #endif
+    }
+
+    // SAMPLE
+    // OCR4A = pgm_read_byte(&sample[(uint16_t)place_int]);
+
+    // place_int++;
+
+    // if (place_int >= sample_length)
+    //     if (repeat)
+    //         place_int -= sample_length;
+    //     else
+    //         DISABLE_AUDIO_COUNTER_3_ISR;
+
+
+    if (playing_notes) {
+        #ifdef PWM_AUDIO
+            OCR4A = pgm_read_byte(&sinewave[(uint16_t)place]) >> 0;
+
+            place += note_frequency;
+            if (place >= SINE_LENGTH)
+                place -= SINE_LENGTH;
+        #else
+            if (note_frequency > 0) {
+                float freq;
+
+                #ifdef VIBRATO_ENABLE
+                if (vibrato_strength > 0) {
+                    freq = vibrato(note_frequency);
+                } else {
+                #else
+                {
+                #endif
+                    freq = note_frequency;
+                }
+
+                if (envelope_index < 65535) {
+                    envelope_index++;
+                }
+                freq = voice_envelope(freq);
+
+                NOTE_PERIOD = (int)(((double)F_CPU) / (freq * CPU_PRESCALER)); // Set max to the period
+                NOTE_DUTY_CYCLE = (int)((((double)F_CPU) / (freq * CPU_PRESCALER)) * note_timbre); // Set compare to half the period
+            } else {
+                NOTE_PERIOD = 0;
+                NOTE_DUTY_CYCLE = 0;
+            }
+        #endif
+
+
+        note_position++;
+        bool end_of_note = false;
+        if (NOTE_PERIOD > 0)
+            end_of_note = (note_position >= (note_length / NOTE_PERIOD * 0xFFFF));
+        else
+            end_of_note = (note_position >= (note_length * 0x7FF));
+        if (end_of_note) {
+            current_note++;
+            if (current_note >= notes_count) {
+                if (notes_repeat) {
+                    current_note = 0;
+                } else {
+                    #ifdef PWM_AUDIO
+                        DISABLE_AUDIO_COUNTER_3_ISR;
+                    #else
+                        DISABLE_AUDIO_COUNTER_3_ISR;
+                        DISABLE_AUDIO_COUNTER_3_OUTPUT;
+                    #endif
+                    playing_notes = false;
+                    return;
+                }
+            }
+            if (!note_resting && (notes_rest > 0)) {
+                note_resting = true;
+                note_frequency = 0;
+                note_length = notes_rest;
+                current_note--;
+            } else {
+                note_resting = false;
+                #ifdef PWM_AUDIO
+                    note_frequency = (*notes_pointer)[current_note][0] / SAMPLE_RATE;
+                    note_length = (*notes_pointer)[current_note][1] * (((float)note_tempo) / 100);
+                #else
+                    envelope_index = 0;
+                    note_frequency = (*notes_pointer)[current_note][0];
+                    note_length = ((*notes_pointer)[current_note][1] / 4) * (((float)note_tempo) / 100);
+                #endif
+            }
+            note_position = 0;
+        }
+
+    }
+
+    if (!audio_config.enable) {
+        playing_notes = false;
+        playing_note = false;
+    }
+}
+
+void play_note(float freq, int vol) {
+
+    if (!audio_initialized) {
+        audio_init();
+    }
+
+       if (audio_config.enable && voices < 8) {
+           DISABLE_AUDIO_COUNTER_3_ISR;
+
+           // Cancel notes if notes are playing
+           if (playing_notes)
+               stop_all_notes();
+
+           playing_note = true;
+
+           envelope_index = 0;
+
+           #ifdef PWM_AUDIO
+               freq = freq / SAMPLE_RATE;
+           #endif
+           if (freq > 0) {
+               frequencies[voices] = freq;
+               volumes[voices] = vol;
+               voices++;
+           }
+
+           #ifdef PWM_AUDIO
+               ENABLE_AUDIO_COUNTER_3_ISR;
+           #else
+               ENABLE_AUDIO_COUNTER_3_ISR;
+               ENABLE_AUDIO_COUNTER_3_OUTPUT;
+           #endif
+       }
+
+}
+
+void play_notes(float (*np)[][2], uint16_t n_count, bool n_repeat, float n_rest)
+{
+
+    if (!audio_initialized) {
+        audio_init();
+    }
+
+       if (audio_config.enable) {
+
+           DISABLE_AUDIO_COUNTER_3_ISR;
+
+               // Cancel note if a note is playing
+           if (playing_note)
+               stop_all_notes();
+
+           playing_notes = true;
+
+           notes_pointer = np;
+           notes_count = n_count;
+           notes_repeat = n_repeat;
+           notes_rest = n_rest;
+
+           place = 0;
+           current_note = 0;
+
+           #ifdef PWM_AUDIO
+               note_frequency = (*notes_pointer)[current_note][0] / SAMPLE_RATE;
+               note_length = (*notes_pointer)[current_note][1] * (((float)note_tempo) / 100);
+           #else
+               note_frequency = (*notes_pointer)[current_note][0];
+               note_length = ((*notes_pointer)[current_note][1] / 4) * (((float)note_tempo) / 100);
+           #endif
+           note_position = 0;
+
+
+           #ifdef PWM_AUDIO
+               ENABLE_AUDIO_COUNTER_3_ISR;
+           #else
+               ENABLE_AUDIO_COUNTER_3_ISR;
+               ENABLE_AUDIO_COUNTER_3_OUTPUT;
+           #endif
+       }
+
+}
+
+#ifdef PWM_AUDIO
+void play_sample(uint8_t * s, uint16_t l, bool r) {
+    if (!audio_initialized) {
+        audio_init();
+    }
+
+    if (audio_config.enable) {
+        DISABLE_AUDIO_COUNTER_3_ISR;
+        stop_all_notes();
+        place_int = 0;
+        sample = s;
+        sample_length = l;
+        repeat = r;
+
+        ENABLE_AUDIO_COUNTER_3_ISR;
+    }
+}
+#endif
+
+
+void audio_toggle(void) {
+    audio_config.enable ^= 1;
+    eeconfig_update_audio(audio_config.raw);
+}
+
+void audio_on(void) {
+    audio_config.enable = 1;
+    eeconfig_update_audio(audio_config.raw);
+}
+
+void audio_off(void) {
+    audio_config.enable = 0;
+    eeconfig_update_audio(audio_config.raw);
+}
+
+#ifdef VIBRATO_ENABLE
+
+// Vibrato rate functions
+
+void set_vibrato_rate(float rate) {
+    vibrato_rate = rate;
+}
+
+void increase_vibrato_rate(float change) {
+    vibrato_rate *= change;
+}
+
+void decrease_vibrato_rate(float change) {
+    vibrato_rate /= change;
+}
+
+#ifdef VIBRATO_STRENGTH_ENABLE
+
+void set_vibrato_strength(float strength) {
+    vibrato_strength = strength;
+}
+
+void increase_vibrato_strength(float change) {
+    vibrato_strength *= change;
+}
+
+void decrease_vibrato_strength(float change) {
+    vibrato_strength /= change;
+}
+
+#endif  /* VIBRATO_STRENGTH_ENABLE */
+
+#endif /* VIBRATO_ENABLE */
+
+// Polyphony functions
+
+void set_polyphony_rate(float rate) {
+    polyphony_rate = rate;
+}
+
+void enable_polyphony() {
+    polyphony_rate = 5;
+}
+
+void disable_polyphony() {
+    polyphony_rate = 0;
+}
+
+void increase_polyphony_rate(float change) {
+    polyphony_rate *= change;
+}
+
+void decrease_polyphony_rate(float change) {
+    polyphony_rate /= change;
+}
+
+// Timbre function
+
+void set_timbre(float timbre) {
+    note_timbre = timbre;
+}
+
+// Tempo functions
+
+void set_tempo(uint8_t tempo) {
+    note_tempo = tempo;
+}
+
+void decrease_tempo(uint8_t tempo_change) {
+    note_tempo += tempo_change;
+}
+
+void increase_tempo(uint8_t tempo_change) {
+    if (note_tempo - tempo_change < 10) {
+        note_tempo = 10;
+    } else {
+        note_tempo -= tempo_change;
+    }
+}
+
+
+//------------------------------------------------------------------------------
+// Override these functions in your keymap file to play different tunes on
+// startup and bootloader jump
+__attribute__ ((weak))
+void play_startup_tone()
+{
+}
+
+__attribute__ ((weak))
+void play_goodbye_tone()
+{
+}
+//------------------------------------------------------------------------------
diff --git a/quantum/audio/luts.c b/quantum/audio/luts.c
new file mode 100644 (file)
index 0000000..9f3de9a
--- /dev/null
@@ -0,0 +1,382 @@
+#include <avr/io.h>
+#include <avr/interrupt.h>
+#include <avr/pgmspace.h>
+#include "luts.h"
+
+const float vibrato_lut[VIBRATO_LUT_LENGTH] =
+{
+       1.0022336811487,
+       1.0042529943610,
+       1.0058584256028,
+       1.0068905285205,
+       1.0072464122237,
+       1.0068905285205,
+       1.0058584256028,
+       1.0042529943610,
+       1.0022336811487,
+       1.0000000000000,
+       0.9977712970630,
+       0.9957650169978,
+       0.9941756956510,
+       0.9931566259436,
+       0.9928057204913,
+       0.9931566259436,
+       0.9941756956510,
+       0.9957650169978,
+       0.9977712970630,
+       1.0000000000000,
+};
+
+const uint16_t frequency_lut[FREQUENCY_LUT_LENGTH] =
+{
+       0x8E0B,
+       0x8C02,
+       0x8A00,
+       0x8805,
+       0x8612,
+       0x8426,
+       0x8241,
+       0x8063,
+       0x7E8C,
+       0x7CBB,
+       0x7AF2,
+       0x792E,
+       0x7772,
+       0x75BB,
+       0x740B,
+       0x7261,
+       0x70BD,
+       0x6F20,
+       0x6D88,
+       0x6BF6,
+       0x6A69,
+       0x68E3,
+       0x6762,
+       0x65E6,
+       0x6470,
+       0x6300,
+       0x6194,
+       0x602E,
+       0x5ECD,
+       0x5D71,
+       0x5C1A,
+       0x5AC8,
+       0x597B,
+       0x5833,
+       0x56EF,
+       0x55B0,
+       0x5475,
+       0x533F,
+       0x520E,
+       0x50E1,
+       0x4FB8,
+       0x4E93,
+       0x4D73,
+       0x4C57,
+       0x4B3E,
+       0x4A2A,
+       0x491A,
+       0x480E,
+       0x4705,
+       0x4601,
+       0x4500,
+       0x4402,
+       0x4309,
+       0x4213,
+       0x4120,
+       0x4031,
+       0x3F46,
+       0x3E5D,
+       0x3D79,
+       0x3C97,
+       0x3BB9,
+       0x3ADD,
+       0x3A05,
+       0x3930,
+       0x385E,
+       0x3790,
+       0x36C4,
+       0x35FB,
+       0x3534,
+       0x3471,
+       0x33B1,
+       0x32F3,
+       0x3238,
+       0x3180,
+       0x30CA,
+       0x3017,
+       0x2F66,
+       0x2EB8,
+       0x2E0D,
+       0x2D64,
+       0x2CBD,
+       0x2C19,
+       0x2B77,
+       0x2AD8,
+       0x2A3A,
+       0x299F,
+       0x2907,
+       0x2870,
+       0x27DC,
+       0x2749,
+       0x26B9,
+       0x262B,
+       0x259F,
+       0x2515,
+       0x248D,
+       0x2407,
+       0x2382,
+       0x2300,
+       0x2280,
+       0x2201,
+       0x2184,
+       0x2109,
+       0x2090,
+       0x2018,
+       0x1FA3,
+       0x1F2E,
+       0x1EBC,
+       0x1E4B,
+       0x1DDC,
+       0x1D6E,
+       0x1D02,
+       0x1C98,
+       0x1C2F,
+       0x1BC8,
+       0x1B62,
+       0x1AFD,
+       0x1A9A,
+       0x1A38,
+       0x19D8,
+       0x1979,
+       0x191C,
+       0x18C0,
+       0x1865,
+       0x180B,
+       0x17B3,
+       0x175C,
+       0x1706,
+       0x16B2,
+       0x165E,
+       0x160C,
+       0x15BB,
+       0x156C,
+       0x151D,
+       0x14CF,
+       0x1483,
+       0x1438,
+       0x13EE,
+       0x13A4,
+       0x135C,
+       0x1315,
+       0x12CF,
+       0x128A,
+       0x1246,
+       0x1203,
+       0x11C1,
+       0x1180,
+       0x1140,
+       0x1100,
+       0x10C2,
+       0x1084,
+       0x1048,
+       0x100C,
+       0xFD1,
+       0xF97,
+       0xF5E,
+       0xF25,
+       0xEEE,
+       0xEB7,
+       0xE81,
+       0xE4C,
+       0xE17,
+       0xDE4,
+       0xDB1,
+       0xD7E,
+       0xD4D,
+       0xD1C,
+       0xCEC,
+       0xCBC,
+       0xC8E,
+       0xC60,
+       0xC32,
+       0xC05,
+       0xBD9,
+       0xBAE,
+       0xB83,
+       0xB59,
+       0xB2F,
+       0xB06,
+       0xADD,
+       0xAB6,
+       0xA8E,
+       0xA67,
+       0xA41,
+       0xA1C,
+       0x9F7,
+       0x9D2,
+       0x9AE,
+       0x98A,
+       0x967,
+       0x945,
+       0x923,
+       0x901,
+       0x8E0,
+       0x8C0,
+       0x8A0,
+       0x880,
+       0x861,
+       0x842,
+       0x824,
+       0x806,
+       0x7E8,
+       0x7CB,
+       0x7AF,
+       0x792,
+       0x777,
+       0x75B,
+       0x740,
+       0x726,
+       0x70B,
+       0x6F2,
+       0x6D8,
+       0x6BF,
+       0x6A6,
+       0x68E,
+       0x676,
+       0x65E,
+       0x647,
+       0x630,
+       0x619,
+       0x602,
+       0x5EC,
+       0x5D7,
+       0x5C1,
+       0x5AC,
+       0x597,
+       0x583,
+       0x56E,
+       0x55B,
+       0x547,
+       0x533,
+       0x520,
+       0x50E,
+       0x4FB,
+       0x4E9,
+       0x4D7,
+       0x4C5,
+       0x4B3,
+       0x4A2,
+       0x491,
+       0x480,
+       0x470,
+       0x460,
+       0x450,
+       0x440,
+       0x430,
+       0x421,
+       0x412,
+       0x403,
+       0x3F4,
+       0x3E5,
+       0x3D7,
+       0x3C9,
+       0x3BB,
+       0x3AD,
+       0x3A0,
+       0x393,
+       0x385,
+       0x379,
+       0x36C,
+       0x35F,
+       0x353,
+       0x347,
+       0x33B,
+       0x32F,
+       0x323,
+       0x318,
+       0x30C,
+       0x301,
+       0x2F6,
+       0x2EB,
+       0x2E0,
+       0x2D6,
+       0x2CB,
+       0x2C1,
+       0x2B7,
+       0x2AD,
+       0x2A3,
+       0x299,
+       0x290,
+       0x287,
+       0x27D,
+       0x274,
+       0x26B,
+       0x262,
+       0x259,
+       0x251,
+       0x248,
+       0x240,
+       0x238,
+       0x230,
+       0x228,
+       0x220,
+       0x218,
+       0x210,
+       0x209,
+       0x201,
+       0x1FA,
+       0x1F2,
+       0x1EB,
+       0x1E4,
+       0x1DD,
+       0x1D6,
+       0x1D0,
+       0x1C9,
+       0x1C2,
+       0x1BC,
+       0x1B6,
+       0x1AF,
+       0x1A9,
+       0x1A3,
+       0x19D,
+       0x197,
+       0x191,
+       0x18C,
+       0x186,
+       0x180,
+       0x17B,
+       0x175,
+       0x170,
+       0x16B,
+       0x165,
+       0x160,
+       0x15B,
+       0x156,
+       0x151,
+       0x14C,
+       0x148,
+       0x143,
+       0x13E,
+       0x13A,
+       0x135,
+       0x131,
+       0x12C,
+       0x128,
+       0x124,
+       0x120,
+       0x11C,
+       0x118,
+       0x114,
+       0x110,
+       0x10C,
+       0x108,
+       0x104,
+       0x100,
+       0xFD,
+       0xF9,
+       0xF5,
+       0xF2,
+       0xEE,
+};
+
diff --git a/quantum/audio/luts.h b/quantum/audio/luts.h
new file mode 100644 (file)
index 0000000..7df3078
--- /dev/null
@@ -0,0 +1,15 @@
+#include <avr/io.h>
+#include <avr/interrupt.h>
+#include <avr/pgmspace.h>
+
+#ifndef LUTS_H
+#define LUTS_H
+
+#define VIBRATO_LUT_LENGTH 20
+
+#define FREQUENCY_LUT_LENGTH 349
+
+extern const float vibrato_lut[VIBRATO_LUT_LENGTH];
+extern const uint16_t frequency_lut[FREQUENCY_LUT_LENGTH];
+
+#endif /* LUTS_H */
\ No newline at end of file
diff --git a/quantum/audio/vibrato_lut.h b/quantum/audio/vibrato_lut.h
deleted file mode 100644 (file)
index a2b1f3e..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-#include <avr/io.h>
-#include <avr/interrupt.h>
-#include <avr/pgmspace.h>
-
-#define VIBRATO_LUT_LENGTH 20
-
-const float VIBRATO_LUT[VIBRATO_LUT_LENGTH] = { \
-1.00223368114872,
-1.00425299436105,
-1.00585842560279,
-1.00689052852052,
-1.0072464122237,
-1.00689052852052,
-1.00585842560279,
-1.00425299436105,
-1.00223368114872,
-1,
-0.99777129706302,
-0.99576501699778,
-0.994175695650927,
-0.993156625943589,
-0.992805720491269,
-0.993156625943589,
-0.994175695650927,
-0.99576501699778,
-0.99777129706302,
-1
-};
\ No newline at end of file
index de9f8ae544cb549e8fd6de328280c81ee3a6056a..6d4172a06c2dedd3def472ea500ec233f69eb4a8 100644 (file)
@@ -1,4 +1,5 @@
 #include "voices.h"
+#include "audio.h"
 #include "stdlib.h"
 
 // these are imported from audio.c
@@ -53,28 +54,28 @@ float voice_envelope(float frequency) {
             }
            break;
 
-        case octave_crunch:
-            polyphony_rate = 0;
-            switch (compensated_index) {
-                case 0 ... 9:
-                case 20 ... 24:
-                case 30 ... 32:
-                    frequency = frequency / 2;
-                    note_timbre = TIMBRE_12;
-                break;
-
-                case 10 ... 19:
-                case 25 ... 29:
-                case 33 ... 35:
-                    frequency = frequency * 2;
-                    note_timbre = TIMBRE_12;
-                       break;
-
-                default:
-                    note_timbre = TIMBRE_12;
-                       break;
-            }
-               break;
+        // case octave_crunch:
+        //     polyphony_rate = 0;
+        //     switch (compensated_index) {
+        //         case 0 ... 9:
+        //         case 20 ... 24:
+        //         case 30 ... 32:
+        //             frequency = frequency / 2;
+        //             note_timbre = TIMBRE_12;
+        //         break;
+
+        //         case 10 ... 19:
+        //         case 25 ... 29:
+        //         case 33 ... 35:
+        //             frequency = frequency * 2;
+        //             note_timbre = TIMBRE_12;
+              //          break;
+
+        //         default:
+        //             note_timbre = TIMBRE_12;
+        //             break;
+        //     }
+              //  break;
 
         case duty_osc:
             // This slows the loop down a substantial amount, so higher notes may freeze
@@ -99,6 +100,36 @@ float voice_envelope(float frequency) {
             if ((envelope_index % 8) == 0)
                 note_timbre = 0;
             break;
+        case delayed_vibrato:
+            polyphony_rate = 0;
+            note_timbre = TIMBRE_50;
+            #define VOICE_VIBRATO_DELAY 150
+            #define VOICE_VIBRATO_SPEED 50
+            switch (compensated_index) {
+                case 0 ... VOICE_VIBRATO_DELAY:
+                    break;
+                default:
+                    frequency = frequency * vibrato_lut[(int)fmod((((float)compensated_index - (VOICE_VIBRATO_DELAY + 1))/1000*VOICE_VIBRATO_SPEED), VIBRATO_LUT_LENGTH)];
+                    break;
+            }
+            break;
+        // case delayed_vibrato_octave:
+        //     polyphony_rate = 0;
+        //     if ((envelope_index % 2) == 1) {
+        //         note_timbre = 0.55;
+        //     } else {
+        //         note_timbre = 0.45;
+        //     }
+        //     #define VOICE_VIBRATO_DELAY 150
+        //     #define VOICE_VIBRATO_SPEED 50
+        //     switch (compensated_index) {
+        //         case 0 ... VOICE_VIBRATO_DELAY:
+        //             break;
+        //         default:
+        //             frequency = frequency * VIBRATO_LUT[(int)fmod((((float)compensated_index - (VOICE_VIBRATO_DELAY + 1))/1000*VOICE_VIBRATO_SPEED), VIBRATO_LUT_LENGTH)];
+        //             break;
+        //     }
+        //     break;
         // case duty_fifth_down:
         //     note_timbre = 0.5;
         //     if ((envelope_index % 3) == 0)
@@ -129,4 +160,6 @@ float voice_envelope(float frequency) {
     }
 
     return frequency;
-}
\ No newline at end of file
+}
+
+
index 4b894f28d4800a1de9ea39438e54fa6aec6e0eec..b2495b23b57b796c927f180936ba8c86101fddd3 100644 (file)
@@ -2,8 +2,7 @@
 #include <stdbool.h>
 #include <avr/io.h>
 #include <util/delay.h>
-#include "musical_notes.h"
-#include "song_list.h"
+#include "luts.h"
 
 #ifndef VOICES_H
 #define VOICES_H
@@ -16,6 +15,8 @@ typedef enum {
     octave_crunch,
     duty_osc,
     duty_octave_down,
+    delayed_vibrato,
+    // delayed_vibrato_octave,
     // duty_fifth_down,
     // duty_fourth_down,
     // duty_third_down,
index 4b4bd62109b3243e7d62ff7bc7cff4bc4b1c3ab7..8f00f9cc32226ec1cff4acf986d64a168ae8ab2c 100644 (file)
@@ -24,10 +24,14 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #include "action_macro.h"
 #include "debug.h"
 #include "backlight.h"
-#include "keymap_midi.h"
 #include "bootloader.h"
 #include "eeconfig.h"
 
+#ifdef MIDI_ENABLE
+       #include "keymap_midi.h"
+#endif
+
+
 extern keymap_config_t keymap_config;
 
 #include <stdio.h>
@@ -268,6 +272,14 @@ static action_t keycode_to_action(uint16_t keycode)
                 // Set default layer
                 int layer = keycode & 0xFF;
                 action.code = ACTION_LAYER_TOGGLE(layer);
+            } else if (type == 0x5) {
+                // OSL(layer) - One-shot layer
+                int layer = keycode & 0xFF;
+                action.code = ACTION_LAYER_ONESHOT(layer);
+            } else if (type == 0x6) {
+                // OSM(mod) - One-shot mod
+                int mod = keycode & 0xFF;
+                action.code = ACTION_MODS_ONESHOT(mod);
             }
             break;
     #ifdef MIDI_ENABLE
index 0ede0296b98fbe013f71f37595d249815409bb0c..322fda498ae40ed5b06e1a7ee65298b1ba07fbbf 100644 (file)
@@ -67,6 +67,9 @@ extern const uint16_t fn_actions[];
 #define MEH(kc) kc  | 0x0700
 #define LCAG(kc) kc  | 0x0D00 // Modifier Ctrl Alt and GUI
 
+#define MOD_HYPR 0xf
+#define MOD_MEH 0x7
+
 #define RCTL(kc) kc | 0x1100
 #define RSFT(kc) kc | 0x1200
 #define RALT(kc) kc | 0x1400
@@ -84,8 +87,11 @@ extern const uint16_t fn_actions[];
 #define KC_EXCLAIM  KC_EXLM
 
 #define KC_AT   LSFT(KC_2)      // @
+
+
 #define KC_HASH LSFT(KC_3)      // #
 
+
 #define KC_DLR  LSFT(KC_4)      // $
 #define KC_DOLLAR   KC_DLR
 
@@ -107,22 +113,43 @@ extern const uint16_t fn_actions[];
 #define KC_RPRN LSFT(KC_0)      // )
 #define KC_RIGHT_PAREN  KC_RPRN
 
+
 #define KC_UNDS LSFT(KC_MINS)   // _
 #define KC_UNDERSCORE   KC_UNDS
 
 #define KC_PLUS LSFT(KC_EQL)    // +
 
+
 #define KC_LCBR LSFT(KC_LBRC)   // {
 #define KC_LEFT_CURLY_BRACE KC_LCBR
 
 #define KC_RCBR LSFT(KC_RBRC)   // }
 #define KC_RIGHT_CURLY_BRACE    KC_RCBR
 
+#define KC_LABK LSFT(KC_COMM)   // <
+#define KC_LEFT_ANGLE_BRACKET   KC_LABK
+
+#define KC_RABK LSFT(KC_DOT)    // >
+#define KC_RIGHT_ANGLE_BRACKET  KC_RABK
+
 #define KC_COLN LSFT(KC_SCLN)   // :
 #define KC_COLON    KC_COLN
 
 #define KC_PIPE LSFT(KC_BSLS)   // |
 
+#define KC_LT LSFT(KC_COMM)     // <
+
+
+#define KC_GT LSFT(KC_DOT)      // >
+
+
+#define KC_QUES LSFT(KC_SLSH)   // ?
+#define KC_QUESTION KC_QUES
+
+
+#define KC_DQT LSFT(KC_QUOT)   // "
+#define KC_DOUBLE_QUOTE KC_DQT
+
 #define KC_DELT KC_DELETE // Del key (four letter code)
 
 // Alias for function layers than expand past FN31
@@ -205,6 +232,12 @@ extern const uint16_t fn_actions[];
 // Toggle to layer - 256 layer max
 #define TG(layer) (layer | 0x5400)
 
+// One-shot layer - 256 layer max
+#define OSL(layer) (layer | 0x5500)
+
+// One-shot mod
+#define OSM(layer) (layer | 0x5600)
+
 // M-od, T-ap - 256 keycode max
 #define MT(mod, kc) (kc | 0x7000 | ((mod & 0xF) << 8))
 #define CTL_T(kc) MT(0x1, kc)
index 795f26380ed8fb5eb53ac5b2999e358769cb1f09..3a2bf3afff6aa4dba10e95570e21d5102f61eee8 100644 (file)
@@ -25,11 +25,11 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #define CHNL(note, channel) (note + (channel << 8))
 
-#define SCALE (int []){ 0 + (12*0), 2 + (12*0), 4 + (12*0), 5 + (12*0), 7 + (12*0), 9 + (12*0), 11 + (12*0), \
-                                               0 + (12*1), 2 + (12*1), 4 + (12*1), 5 + (12*1), 7 + (12*1), 9 + (12*1), 11 + (12*1), \
-                                               0 + (12*2), 2 + (12*2), 4 + (12*2), 5 + (12*2), 7 + (12*2), 9 + (12*2), 11 + (12*2), \
-                                               0 + (12*3), 2 + (12*3), 4 + (12*3), 5 + (12*3), 7 + (12*3), 9 + (12*3), 11 + (12*3), \
-                                               0 + (12*4), 2 + (12*4), 4 + (12*4), 5 + (12*4), 7 + (12*4), 9 + (12*4), 11 + (12*4), }
+#define SCALE (int8_t []){ 0 + (12*0), 2 + (12*0), 4 + (12*0), 5 + (12*0), 7 + (12*0), 9 + (12*0), 11 + (12*0), \
+                           0 + (12*1), 2 + (12*1), 4 + (12*1), 5 + (12*1), 7 + (12*1), 9 + (12*1), 11 + (12*1), \
+                           0 + (12*2), 2 + (12*2), 4 + (12*2), 5 + (12*2), 7 + (12*2), 9 + (12*2), 11 + (12*2), \
+                           0 + (12*3), 2 + (12*3), 4 + (12*3), 5 + (12*3), 7 + (12*3), 9 + (12*3), 11 + (12*3), \
+                           0 + (12*4), 2 + (12*4), 4 + (12*4), 5 + (12*4), 7 + (12*4), 9 + (12*4), 11 + (12*4), }
 
 #define N_CN1  (0x600C + (12 * -1) + 0 )
 #define N_CN1S (0x600C + (12 * -1) + 1 )
index 2dab6ae941e0cf8320bb74b122b6c9151f2bdfcf..7d70f728d459d4255a8fa7232e410ae0a7e73e8f 100644 (file)
@@ -42,6 +42,13 @@ static matrix_row_t matrix_debouncing[MATRIX_ROWS];
     static matrix_row_t matrix_reversed_debouncing[MATRIX_COLS];
 #endif
 
+
+#if MATRIX_COLS > 16
+    #define SHIFTER 1UL
+#else
+    #define SHIFTER 1
+#endif
+
 static matrix_row_t read_cols(void);
 static void init_cols(void);
 static void unselect_rows(void);
@@ -235,15 +242,15 @@ static matrix_row_t read_cols(void)
 #endif
 
         if ((col & 0xF0) == 0x20) { 
-            result |= (PINB&(1<<(col & 0x0F)) ? 0 : (1<<x)); 
+            result |= (PINB&(1<<(col & 0x0F)) ? 0 : (SHIFTER<<x)); 
         } else if ((col & 0xF0) == 0x30) { 
-            result |= (PINC&(1<<(col & 0x0F)) ? 0 : (1<<x)); 
+            result |= (PINC&(1<<(col & 0x0F)) ? 0 : (SHIFTER<<x)); 
         } else if ((col & 0xF0) == 0x40) { 
-            result |= (PIND&(1<<(col & 0x0F)) ? 0 : (1<<x)); 
+            result |= (PIND&(1<<(col & 0x0F)) ? 0 : (SHIFTER<<x)); 
         } else if ((col & 0xF0) == 0x50) { 
-            result |= (PINE&(1<<(col & 0x0F)) ? 0 : (1<<x)); 
+            result |= (PINE&(1<<(col & 0x0F)) ? 0 : (SHIFTER<<x)); 
         } else if ((col & 0xF0) == 0x60) { 
-            result |= (PINF&(1<<(col & 0x0F)) ? 0 : (1<<x)); 
+            result |= (PINF&(1<<(col & 0x0F)) ? 0 : (SHIFTER<<x)); 
         } 
     }
     return result;
index 83c4f1d1db82f8dd833b2a7f1903e5f3af7426d9..5f4c2f045077665c9a4e96677361acf98a1939d5 100644 (file)
@@ -28,7 +28,9 @@ ifeq ($(strip $(MIDI_ENABLE)), yes)
 endif
 
 ifeq ($(strip $(AUDIO_ENABLE)), yes)
-       SRC += $(QUANTUM_DIR)/audio/audio.c $(QUANTUM_DIR)/audio/voices.c
+    SRC += $(QUANTUM_DIR)/audio/audio.c
+    SRC += $(QUANTUM_DIR)/audio/voices.c
+    SRC += $(QUANTUM_DIR)/audio/luts.c
 endif
 
 ifeq ($(strip $(UNICODE_ENABLE)), yes)
index 5623c65de71a9b00a680f4e802f67dbeb02a8fe4..8c9ad773645f827da1740d791dcd9dd997084be2 100644 (file)
@@ -190,7 +190,7 @@ void rgblight_mode(uint8_t mode) {
                rgblight_config.mode = mode;
        }
   eeconfig_update_rgblight(rgblight_config.raw);
-  dprintf("rgblight mode: %u\n", rgblight_config.mode);
+  xprintf("rgblight mode: %u\n", rgblight_config.mode);
        if (rgblight_config.mode == 1) {
                rgblight_timer_disable();
        } else if (rgblight_config.mode >=2 && rgblight_config.mode <=23) {
@@ -207,7 +207,7 @@ void rgblight_mode(uint8_t mode) {
 void rgblight_toggle(void) {
   rgblight_config.enable ^= 1;
   eeconfig_update_rgblight(rgblight_config.raw);
-  dprintf("rgblight toggle: rgblight_config.enable = %u\n", rgblight_config.enable);
+  xprintf("rgblight toggle: rgblight_config.enable = %u\n", rgblight_config.enable);
        if (rgblight_config.enable) {
                rgblight_mode(rgblight_config.mode);
        } else {
@@ -300,7 +300,7 @@ void rgblight_sethsv(uint16_t hue, uint8_t sat, uint8_t val){
                rgblight_config.sat = sat;
                rgblight_config.val = val;
                eeconfig_update_rgblight(rgblight_config.raw);
-               dprintf("rgblight set hsv [EEPROM]: %u,%u,%u\n", rgblight_config.hue, rgblight_config.sat, rgblight_config.val);
+               xprintf("rgblight set hsv [EEPROM]: %u,%u,%u\n", rgblight_config.hue, rgblight_config.sat, rgblight_config.val);
   }
 }
 
index 4fa195468d1fe52a0e624825defd2faa0fb66cba..1a535ef2cbad8f5ec9acf89609ed36c2a1d5b52f 100644 (file)
@@ -111,23 +111,41 @@ 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
-KEYBOARD_LOCK_ENABLE = yes     # Allow locking of keyboard via magic key
+#   change yes to no to disable
+#
+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
+KEYBOARD_LOCK_ENABLE = yes  # Allow locking of keyboard via magic key
 # 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
+SLEEP_LED_ENABLE = no       # Breathing sleep LED during USB suspend
+# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+NKRO_ENABLE = no            # USB Nkey Rollover
+BACKLIGHT_ENABLE = yes      # Enable keyboard backlight functionality
+MIDI_ENABLE = no            # MIDI controls
+UNICODE_ENABLE = no         # Unicode
+BLUETOOTH_ENABLE = no       # Enable Bluetooth with the Adafruit EZ-Key HID
+AUDIO_ENABLE = no           # Audio output on port C6
 
 
+ifdef KEYMAP
+
+ifeq ("$(wildcard keymaps/$(KEYMAP).c)","")
+ifneq ("$(wildcard keymaps/$(KEYMAP)/makefile.mk)","")
+    include keymaps/$(KEYMAP)/makefile.mk
+endif 
+endif
+
+else
+
+ifneq ("$(wildcard keymaps/default/makefile.mk)","")
+    include keymaps/default/makefile.mk
+endif
+
+endif
+
 # Optimize size but this may cause error "relocation truncated to fit"
 #EXTRALDFLAGS = -Wl,--relax
 
index cc52e496ffe8b1579be8d33d5443c4b6666dfd21..6050a2d20c572da19b337d338d777cc395a193d6 100644 (file)
@@ -46,3 +46,64 @@ void led_set_kb(uint8_t usb_led) {
 
        led_set_user(usb_led);
 }
+
+#ifdef BACKLIGHT_ENABLE
+#define CHANNEL OCR1C
+
+void backlight_init_ports()
+{
+
+    // Setup PB7 as output and output low.
+    DDRB |= (1<<7);
+    PORTB &= ~(1<<7);
+    
+    // Use full 16-bit resolution. 
+    ICR1 = 0xFFFF;
+
+    // I could write a wall of text here to explain... but TL;DW
+    // Go read the ATmega32u4 datasheet.
+    // And this: http://blog.saikoled.com/post/43165849837/secret-konami-cheat-code-to-high-resolution-pwm-on
+    
+    // Pin PB7 = OCR1C (Timer 1, Channel C)
+    // Compare Output Mode = Clear on compare match, Channel C = COM1C1=1 COM1C0=0
+    // (i.e. start high, go low when counter matches.)
+    // WGM Mode 14 (Fast PWM) = WGM13=1 WGM12=1 WGM11=1 WGM10=0
+    // Clock Select = clk/1 (no prescaling) = CS12=0 CS11=0 CS10=1
+    
+    TCCR1A = _BV(COM1C1) | _BV(WGM11); // = 0b00001010;
+    TCCR1B = _BV(WGM13) | _BV(WGM12) | _BV(CS10); // = 0b00011001;
+
+    backlight_init();
+}
+
+void backlight_set(uint8_t level)
+{
+    if ( level == 0 )
+    {
+        // Turn off PWM control on PB7, revert to output low.
+        TCCR1A &= ~(_BV(COM1C1));
+        CHANNEL = 0x0;
+        // Prevent backlight blink on lowest level
+        PORTB &= ~(_BV(PORTB7));
+    }
+    else if ( level == BACKLIGHT_LEVELS )
+    {
+        // Prevent backlight blink on lowest level
+        PORTB &= ~(_BV(PORTB7));
+        // Turn on PWM control of PB7
+        TCCR1A |= _BV(COM1C1);
+        // Set the brightness
+        CHANNEL = 0xFFFF;
+    }
+    else        
+    {
+        // Prevent backlight blink on lowest level
+        PORTB &= ~(_BV(PORTB7));
+        // Turn on PWM control of PB7
+        TCCR1A |= _BV(COM1C1);
+        // Set the brightness
+        CHANNEL = 0xFFFF >> ((BACKLIGHT_LEVELS - level) * ((BACKLIGHT_LEVELS + 1) / 2));
+    }
+}
+
+#endif
\ No newline at end of file
index b1c34d3cbee294ee1d0364e6264529ade8921c1b..22742105a39b465cd4b223c6a3e073ff9c17aac9 100644 (file)
@@ -3,7 +3,10 @@
 
 #include "matrix.h"
 #include "keymap_common.h"
-#include "backlight.h"
+#ifdef BACKLIGHT_ENABLE
+       #include "backlight.h"
+#endif
+#include <avr/io.h>
 #include <stddef.h>
 
 // This a shortcut to help you visually see your layout.
index 0702144238f243a81fedaee810d1be75bc18da43..5f355256def834c3b0e5105354ee73b782802da0 100644 (file)
@@ -1,6 +1,6 @@
 `eeprom_reset.hex` is to reset the eeprom on the Atmega32u4, like this:
 
     dfu-programmer atmega32u4 erase
-    dfu-programmer atmega32u4 flash --eeprom eeprom-reset.bin
+    dfu-programmer atmega32u4 flash --eeprom eeprom_reset.hex
 
- You'll need to reflash afterwards, because DFU requires the flash to be erased before messing with the eeprom.
\ No newline at end of file
+ You'll need to reflash afterwards, because DFU requires the flash to be erased before messing with the eeprom.
index 0162fbd632ea3ccadc62a5940340c719dda4b0c5..081e90b2dbd63d1ad40c24627a663b67e5c1206a 100644 (file)
@@ -27,11 +27,11 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #include "action_util.h"
 #include "action.h"
 
-//#ifdef DEBUG_ACTION
+#ifdef DEBUG_ACTION
 #include "debug.h"
-//#else
-//#include "nodebug.h"
-//#endif
+#else
+#include "nodebug.h"
+#endif
 
 
 void action_exec(keyevent_t event)
@@ -74,6 +74,7 @@ void process_action_kb(keyrecord_t *record) {}
 
 void process_action(keyrecord_t *record)
 {
+    bool do_release_oneshot = false;
     keyevent_t event = record->event;
 #ifndef NO_ACTION_TAPPING
     uint8_t tap_count = record->tap.count;
@@ -81,6 +82,13 @@ void process_action(keyrecord_t *record)
 
     if (IS_NOEVENT(event)) { return; }
 
+#if (defined(ONESHOT_TIMEOUT) && (ONESHOT_TIMEOUT > 0))
+    if (has_oneshot_layer_timed_out()) {
+        dprintf("Oneshot layer: timeout\n");
+        clear_oneshot_layer_state(ONESHOT_OTHER_KEY_PRESSED);
+    }
+#endif
+
     process_action_kb(record);
 
     action_t action = store_or_get_action(event.pressed, event.key);
@@ -95,6 +103,15 @@ void process_action(keyrecord_t *record)
         // clear the potential weak mods left by previously pressed keys
         clear_weak_mods();
     }
+
+#ifndef NO_ACTION_ONESHOT
+    // notice we only clear the one shot layer if the pressed key is not a modifier.
+    if (is_oneshot_layer_active() && event.pressed && !IS_MOD(action.key.code)) {
+        clear_oneshot_layer_state(ONESHOT_OTHER_KEY_PRESSED);
+        do_release_oneshot = !is_oneshot_layer_active();
+    }
+#endif
+
     switch (action.kind.id) {
         /* Key and Mods */
         case ACT_LMODS:
@@ -139,24 +156,37 @@ void process_action(keyrecord_t *record)
                         // Oneshot modifier
                         if (event.pressed) {
                             if (tap_count == 0) {
+                                dprint("MODS_TAP: Oneshot: 0\n");
                                 register_mods(mods);
-                            }
-                            else if (tap_count == 1) {
+                            } else if (tap_count == 1) {
                                 dprint("MODS_TAP: Oneshot: start\n");
                                 set_oneshot_mods(mods);
-                            }
-                            else {
+                    #if defined(ONESHOT_TAP_TOGGLE) && ONESHOT_TAP_TOGGLE > 1
+                            } else if (tap_count == ONESHOT_TAP_TOGGLE) {
+                                dprint("MODS_TAP: Toggling oneshot");
+                                clear_oneshot_mods();
+                                set_oneshot_locked_mods(mods);
+                                register_mods(mods);
+                    #endif
+                            } else {
                                 register_mods(mods);
                             }
                         } else {
                             if (tap_count == 0) {
                                 clear_oneshot_mods();
                                 unregister_mods(mods);
-                            }
-                            else if (tap_count == 1) {
+                            } else if (tap_count == 1) {
                                 // Retain Oneshot mods
-                            }
-                            else {
+                    #if defined(ONESHOT_TAP_TOGGLE) && ONESHOT_TAP_TOGGLE > 1
+                                if (mods & get_mods()) {
+                                    clear_oneshot_locked_mods();
+                                    clear_oneshot_mods();
+                                    unregister_mods(mods);
+                                }
+                            } else if (tap_count == ONESHOT_TAP_TOGGLE) {
+                                // Toggle Oneshot Layer
+                    #endif
+                            } else {
                                 clear_oneshot_mods();
                                 unregister_mods(mods);
                             }
@@ -309,6 +339,44 @@ void process_action(keyrecord_t *record)
                     event.pressed ? layer_move(action.layer_tap.val) :
                                     layer_clear();
                     break;
+            #ifndef NO_ACTION_ONESHOT
+                case OP_ONESHOT:
+                    // Oneshot modifier
+                #if defined(ONESHOT_TAP_TOGGLE) && ONESHOT_TAP_TOGGLE > 1
+                    do_release_oneshot = false;
+                    if (event.pressed) {
+                        del_mods(get_oneshot_locked_mods());
+                        if (get_oneshot_layer_state() == ONESHOT_TOGGLED) {
+                            reset_oneshot_layer();
+                            layer_off(action.layer_tap.val);
+                            break;
+                        } else if (tap_count < ONESHOT_TAP_TOGGLE) {
+                            layer_on(action.layer_tap.val);
+                            set_oneshot_layer(action.layer_tap.val, ONESHOT_START);
+                        }
+                    } else {
+                        add_mods(get_oneshot_locked_mods());
+                        if (tap_count >= ONESHOT_TAP_TOGGLE) {
+                            reset_oneshot_layer();
+                            clear_oneshot_locked_mods();
+                            set_oneshot_layer(action.layer_tap.val, ONESHOT_TOGGLED);
+                        } else {
+                            clear_oneshot_layer_state(ONESHOT_PRESSED);
+                        }
+                    }
+                #else
+                    if (event.pressed) {
+                        layer_on(action.layer_tap.val);
+                        set_oneshot_layer(action.layer_tap.val, ONESHOT_START);
+                    } else {
+                        clear_oneshot_layer_state(ONESHOT_PRESSED);
+                        if (tap_count > 1) {
+                            clear_oneshot_layer_state(ONESHOT_OTHER_KEY_PRESSED);
+                        }
+                    }
+                #endif
+                    break;
+            #endif
                 default:
                     /* tap key */
                     if (event.pressed) {
@@ -372,6 +440,18 @@ void process_action(keyrecord_t *record)
         default:
             break;
     }
+
+#ifndef NO_ACTION_ONESHOT
+    /* Because we switch layers after a oneshot event, we need to release the
+     * key before we leave the layer or no key up event will be generated.
+     */
+    if (do_release_oneshot && !(get_oneshot_layer_state() & ONESHOT_PRESSED )   ) {
+        record->event.pressed = false;
+        layer_on(get_oneshot_layer());
+        process_action(record);
+        layer_off(get_oneshot_layer());
+    }
+#endif
 }
 
 
@@ -560,6 +640,7 @@ bool is_tap_key(keypos_t key)
             switch (action.layer_tap.code) {
                 case 0x00 ... 0xdf:
                 case OP_TAP_TOGGLE:
+                case OP_ONESHOT:
                     return true;
             }
             return false;
index 2b0b0b077ef16292006588f5f0e3e7cecbf55615..ca729aaece26a8e3b7ea0ffd72f40989867c0782 100644 (file)
@@ -76,7 +76,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
  * 101E|LLLL|1111 0001   On/Off                 (0xF1)   [NOT TAP]
  * 101E|LLLL|1111 0010   Off/On                 (0xF2)   [NOT TAP]
  * 101E|LLLL|1111 0011   Set/Clear              (0xF3)   [NOT TAP]
- * 101E|LLLL|1111 xxxx   Reserved               (0xF4-FF)
+ * 101E|LLLL|1111 0100   One Shot Layer         (0xF4)   [TAP]
+ * 101E|LLLL|1111 xxxx   Reserved               (0xF5-FF)
  *   ELLLL: layer 0-31(E: extra bit for layer 16-31)
  *
  *
@@ -250,6 +251,7 @@ enum layer_pram_tap_op {
     OP_ON_OFF,
     OP_OFF_ON,
     OP_SET_CLEAR,
+    OP_ONESHOT,
 };
 #define ACTION_LAYER_BITOP(op, part, bits, on)      (ACT_LAYER<<12 | (op)<<10 | (on)<<8 | (part)<<5 | ((bits)&0x1f))
 #define ACTION_LAYER_TAP(layer, key)                (ACT_LAYER_TAP<<12 | (layer)<<8 | (key))
@@ -266,6 +268,7 @@ enum layer_pram_tap_op {
 #define ACTION_LAYER_ON_OFF(layer)                  ACTION_LAYER_TAP((layer), OP_ON_OFF)
 #define ACTION_LAYER_OFF_ON(layer)                  ACTION_LAYER_TAP((layer), OP_OFF_ON)
 #define ACTION_LAYER_SET_CLEAR(layer)               ACTION_LAYER_TAP((layer), OP_SET_CLEAR)
+#define ACTION_LAYER_ONESHOT(layer)                 ACTION_LAYER_TAP((layer), OP_ONESHOT)
 #define ACTION_LAYER_MODS(layer, mods)              ACTION_LAYER_TAP((layer), 0xe0 | ((mods)&0x0f))
 /* With Tapping */
 #define ACTION_LAYER_TAP_KEY(layer, key)            ACTION_LAYER_TAP((layer), (key))
index 845fbbb2108feead5e35f417a60ba10da771cbc4..63fa2b5ae4707755400534749a8771018909cadf 100644 (file)
@@ -4,11 +4,11 @@
 #include "util.h"
 #include "action_layer.h"
 
-//#ifdef DEBUG_ACTION
+#ifdef DEBUG_ACTION
 #include "debug.h"
-//#else
-//#include "nodebug.h"
-//#endif
+#else
+#include "nodebug.h"
+#endif
 
 
 /*
index cc78c82327917667f3efff059dd8c28877b070cc..7726b1190769a869d7e3a711e6b077fcfab91ebe 100644 (file)
@@ -19,11 +19,11 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #include "action_macro.h"
 #include "wait.h"
 
-//#ifdef DEBUG_ACTION
+#ifdef DEBUG_ACTION
 #include "debug.h"
-//#else
-//#include "nodebug.h"
-//#endif
+#else
+#include "nodebug.h"
+#endif
 
 
 #ifndef NO_ACTION_MACRO
index 6b6fa1dfe212badfd585dec1e54a1d91ef99702a..e6343e6da7f9f759e1b2b2038899de2753e18275 100644 (file)
@@ -6,11 +6,11 @@
 #include "keycode.h"
 #include "timer.h"
 
-//#ifdef DEBUG_ACTION
+#ifdef DEBUG_ACTION
 #include "debug.h"
-//#else
-//#include "nodebug.h"
-//#endif
+#else
+#include "nodebug.h"
+#endif
 
 #ifndef NO_ACTION_TAPPING
 
index a2d6577b24dae29d44de82032bdfeadc97bba00a..61ff202befa510b9d08f3604f7fad50c607c11b7 100644 (file)
@@ -18,6 +18,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #include "report.h"
 #include "debug.h"
 #include "action_util.h"
+#include "action_layer.h"
 #include "timer.h"
 
 static inline void add_key_byte(uint8_t code);
@@ -47,11 +48,70 @@ report_keyboard_t *keyboard_report = &(report_keyboard_t){};
 
 #ifndef NO_ACTION_ONESHOT
 static int8_t oneshot_mods = 0;
+static int8_t oneshot_locked_mods = 0;
+int8_t get_oneshot_locked_mods(void) { return oneshot_locked_mods; }
+void set_oneshot_locked_mods(int8_t mods) { oneshot_locked_mods = mods; }
+void clear_oneshot_locked_mods(void) { oneshot_locked_mods = 0; }
 #if (defined(ONESHOT_TIMEOUT) && (ONESHOT_TIMEOUT > 0))
 static int16_t oneshot_time = 0;
+inline bool has_oneshot_mods_timed_out() {
+  return TIMER_DIFF_16(timer_read(), oneshot_time) >= ONESHOT_TIMEOUT;
+}
 #endif
 #endif
 
+/* oneshot layer */
+#ifndef NO_ACTION_ONESHOT
+/* oneshot_layer_data bits
+* LLLL LSSS
+* where:
+*   L => are layer bits
+*   S => oneshot state bits
+*/
+static int8_t oneshot_layer_data = 0;
+
+inline uint8_t get_oneshot_layer(void) { return oneshot_layer_data >> 3; }
+inline uint8_t get_oneshot_layer_state(void) { return oneshot_layer_data & 0b111; }
+
+#if (defined(ONESHOT_TIMEOUT) && (ONESHOT_TIMEOUT > 0))
+static int16_t oneshot_layer_time = 0;
+inline bool has_oneshot_layer_timed_out() {
+    return TIMER_DIFF_16(timer_read(), oneshot_layer_time) >= ONESHOT_TIMEOUT &&
+        !(get_oneshot_layer_state() & ONESHOT_TOGGLED);
+}
+#endif
+
+/* Oneshot layer */
+void set_oneshot_layer(uint8_t layer, uint8_t state)
+{
+    oneshot_layer_data = layer << 3 | state;
+    layer_on(layer);
+#if (defined(ONESHOT_TIMEOUT) && (ONESHOT_TIMEOUT > 0))
+    oneshot_layer_time = timer_read();
+#endif
+}
+void reset_oneshot_layer(void) {
+    oneshot_layer_data = 0;
+#if (defined(ONESHOT_TIMEOUT) && (ONESHOT_TIMEOUT > 0))
+    oneshot_layer_time = 0;
+#endif
+}
+void clear_oneshot_layer_state(oneshot_fullfillment_t state)
+{
+    uint8_t start_state = oneshot_layer_data;
+    oneshot_layer_data &= ~state;
+    if (!get_oneshot_layer_state() && start_state != oneshot_layer_data) {
+        layer_off(get_oneshot_layer());
+#if (defined(ONESHOT_TIMEOUT) && (ONESHOT_TIMEOUT > 0))
+    oneshot_layer_time = 0;
+#endif
+    }
+}
+bool is_oneshot_layer_active(void)
+{
+    return get_oneshot_layer_state();
+}
+#endif
 
 void send_keyboard_report(void) {
     keyboard_report->mods  = real_mods;
@@ -60,7 +120,7 @@ void send_keyboard_report(void) {
 #ifndef NO_ACTION_ONESHOT
     if (oneshot_mods) {
 #if (defined(ONESHOT_TIMEOUT) && (ONESHOT_TIMEOUT > 0))
-        if (TIMER_DIFF_16(timer_read(), oneshot_time) >= ONESHOT_TIMEOUT) {
+        if (has_oneshot_mods_timed_out()) {
             dprintf("Oneshot: timeout\n");
             clear_oneshot_mods();
         }
@@ -70,6 +130,7 @@ void send_keyboard_report(void) {
             clear_oneshot_mods();
         }
     }
+
 #endif
     host_keyboard_send(keyboard_report);
 }
@@ -143,11 +204,12 @@ void clear_oneshot_mods(void)
     oneshot_time = 0;
 #endif
 }
+uint8_t get_oneshot_mods(void)
+{
+    return oneshot_mods;
+}
 #endif
 
-
-
-
 /*
  * inspect keyboard state
  */
index 1a95cec10ec1ced084be192e7dd172602564e99e..dd0c4c2bfe71c56669c53a27161c41b9c2942502 100644 (file)
@@ -56,10 +56,30 @@ void clear_macro_mods(void);
 
 /* oneshot modifier */
 void set_oneshot_mods(uint8_t mods);
+uint8_t get_oneshot_mods(void);
 void clear_oneshot_mods(void);
 void oneshot_toggle(void);
 void oneshot_enable(void);
 void oneshot_disable(void);
+bool has_oneshot_mods_timed_out(void);
+
+int8_t get_oneshot_locked_mods(void);
+void set_oneshot_locked_mods(int8_t mods);
+void clear_oneshot_locked_mods(void);
+
+typedef enum {
+  ONESHOT_PRESSED = 0b01,
+  ONESHOT_OTHER_KEY_PRESSED = 0b10,
+  ONESHOT_START = 0b11,
+  ONESHOT_TOGGLED = 0b100
+} oneshot_fullfillment_t;
+void set_oneshot_layer(uint8_t layer, uint8_t state);
+uint8_t get_oneshot_layer(void);
+void clear_oneshot_layer_state(oneshot_fullfillment_t state);
+void reset_oneshot_layer(void);
+bool is_oneshot_layer_active(void);
+uint8_t get_oneshot_layer_state(void);
+bool has_oneshot_layer_timed_out(void);
 
 /* inspect */
 uint8_t has_anykey(void);
index 2f6fc1cd6c40a5e41b35e6f8dba8754746900925..c9e8fd3fd2ddbe3fce3afd0096f13f3cfab1f2c2 100644 (file)
@@ -83,3 +83,8 @@ void backlight_level(uint8_t level)
     eeconfig_update_backlight(backlight_config.raw);
     backlight_set(backlight_config.level);
 }
+
+uint8_t get_backlight_level(void)
+{
+    return backlight_config.level;
+}
\ No newline at end of file
index 525ec8bbef067e8377d4874a66d0de04cc3221c0..f5730926745c579426abd896010b2745193aff59 100644 (file)
@@ -36,5 +36,6 @@ void backlight_toggle(void);
 void backlight_step(void);
 void backlight_set(uint8_t level);
 void backlight_level(uint8_t level);
+uint8_t get_backlight_level(void);
 
 #endif
index f06abaf7f02b9af7374cba20127d5ca0efd493b7..9edcc42a05b48fc56ad3115acd517d394f60d31f 100644 (file)
@@ -357,9 +357,11 @@ static bool command_common(uint8_t code)
             clear_keyboard(); // clear to prevent stuck keys
             print("\n\nJumping to bootloader... ");
             #ifdef AUDIO_ENABLE
+                   stop_all_notes();
                 play_goodbye_tone();
+            #else
+                   _delay_ms(1000);
             #endif
-            _delay_ms(1000);
             bootloader_jump(); // not return
             break;
 
index 93309ada4761f356ee82b7bba2b3871ad7a236dc..5e18656e5bf180747a7137c2778a8603c87fe0ca 100644 (file)
@@ -16,10 +16,14 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
 
 #ifndef NODEBUG_H
-#define NODEBUG_H 1
+#define NODEBUG_H
 
-#define NO_DEBUG
-#include "debug.h"
-#undef NO_DEBUG
+#ifndef NO_DEBUG
+       #define NO_DEBUG
+       #include "debug.h"
+       #undef NO_DEBUG
+#else
+       #include "debug.h"
+#endif
 
 #endif
index d4a129b208150062ff8a7bf7705396ce1d1f32a5..4d42fbe5cb95ac2f69d1a024e28d9d780ed51e8d 100644 (file)
@@ -528,14 +528,20 @@ This is a feature to assign both toggle layer and momentary switch layer action
 
 
 ### 4.3 Oneshot Modifier
-This runs onetime effects which modify only on just one following key. It works as normal modifier key when holding down while oneshot modifier when tapping.
+This runs onetime effects which modify only on just one following key. It works as normal modifier key when holding down while oneshot modifier when tapping. The behavior of oneshot modifiers is similar to the [sticky keys](https://en.wikipedia.org/wiki/StickyKeys) functionality found in most operating systems.
 
     ACTION_MODS_ONESHOT(MOD_LSFT)
 
+Oneshot layer key:
+
+    ACTION_LAYER_ONESHOT(MY_LAYER)
+
 Say you want to type 'The', you have to push and hold Shift key before type 't' then release it before type 'h' and 'e', otherwise you'll get 'THe' or 'the' unintentionally. With Oneshot Modifier you can tap Shift then type 't', 'h' and 'e' normally, you don't need to holding Shift key properly here. This mean you can release Shift before 't' is pressed down.
 
 Oneshot effect is cancel unless following key is pressed down within `ONESHOT_TIMEOUT` of `config.h`. No timeout when it is `0` or not defined.
 
+Most implementations of sticky keys allow you to lock a modifier by double tapping the modifier. The layer then remains locked untill the modifier is tapped again. To enable this behaviour for oneshot modifiers set `ONESHOT_TAP_TOGGLE` to the number taps required. The feature is disabled if `ONESHOT_TAP_TOGGLE<2` or not defined.
+
 
 ### 4.4 Tap Toggle Mods
 Similar to layer tap toggle, this works as a momentary modifier when holding, but toggles on with several taps. A single tap will 'unstick' the modifier again.
index 860fc1a9310da970ebecba597c150802f522f37e..69c7985b4854008faee6e10676601c042e2752fc 100644 (file)
@@ -142,6 +142,9 @@ CFLAGS += $(CSTANDARD)
 ifdef CONFIG_H
     CFLAGS += -include $(CONFIG_H)
 endif
+ifdef CONFIG_USER_H
+    CFLAGS += -include $(CONFIG_USER_H)
+endif
 
 
 #---------------- Compiler Options C++ ----------------
@@ -176,6 +179,9 @@ CPPFLAGS += $(patsubst %,-I%,$(EXTRAINCDIRS))
 ifdef CONFIG_H
     CPPFLAGS += -include $(CONFIG_H)
 endif
+ifdef CONFIG_USER_H
+    CPPFLAGS += -include $(CONFIG_USER_H)
+endif
 
 
 #---------------- Assembler Options ----------------
@@ -192,6 +198,9 @@ ASFLAGS += $(patsubst %,-I%,$(EXTRAINCDIRS))
 ifdef CONFIG_H
     ASFLAGS += -include $(CONFIG_H)
 endif
+ifdef CONFIG_USER_H
+    ASFLAGS += -include $(CONFIG_USER_H)
+endif
 
 
 #---------------- Library Options ----------------