aboutsummaryrefslogtreecommitdiff
path: root/keyboards/atomic
diff options
context:
space:
mode:
authorJack Humbert <jack.humb@gmail.com>2016-06-21 22:39:54 -0400
committerGitHub <noreply@github.com>2016-06-21 22:39:54 -0400
commit649b33d7783cf3021928534b7ae127e0a89e8807 (patch)
treec2b5e0cf8ff4aa2918e3b88ab75dbdb071cc0a1d /keyboards/atomic
parent464c8e274f993d3571fe5ea5e836fe55a3912ffe (diff)
downloadqmk_firmware-649b33d7783cf3021928534b7ae127e0a89e8807.tar.gz
qmk_firmware-649b33d7783cf3021928534b7ae127e0a89e8807.zip
Renames keyboard folder to keyboards, adds couple of tmk's fixes (#432)
* fixes from tmk's repo * rename keyboard to keyboards
Diffstat (limited to 'keyboards/atomic')
-rw-r--r--keyboards/atomic/Makefile73
-rw-r--r--keyboards/atomic/README.md25
-rw-r--r--keyboards/atomic/atomic.c325
-rw-r--r--keyboards/atomic/atomic.h49
-rw-r--r--keyboards/atomic/config.h158
-rw-r--r--keyboards/atomic/keymaps/abienz.c36
-rw-r--r--keyboards/atomic/keymaps/default/compiled.hex1118
-rw-r--r--keyboards/atomic/keymaps/default/keymap.c234
-rw-r--r--keyboards/atomic/keymaps/michelle.c183
-rw-r--r--keyboards/atomic/keymaps/pvc/Makefile15
-rw-r--r--keyboards/atomic/keymaps/pvc/compiled.hex1700
-rw-r--r--keyboards/atomic/keymaps/pvc/config.h166
-rw-r--r--keyboards/atomic/keymaps/pvc/keymap.c578
13 files changed, 4660 insertions, 0 deletions
diff --git a/keyboards/atomic/Makefile b/keyboards/atomic/Makefile
new file mode 100644
index 000000000..08e9205cb
--- /dev/null
+++ b/keyboards/atomic/Makefile
@@ -0,0 +1,73 @@
1
2
3# MCU name
4#MCU = at90usb1287
5MCU = atmega32u4
6
7# Processor frequency.
8# This will define a symbol, F_CPU, in all source code files equal to the
9# processor frequency in Hz. You can then use this symbol in your source code to
10# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
11# automatically to create a 32-bit value in your source code.
12#
13# This will be an integer division of F_USB below, as it is sourced by
14# F_USB after it has run through any CPU prescalers. Note that this value
15# does not *change* the processor frequency - it should merely be updated to
16# reflect the processor speed set externally so that the code can use accurate
17# software delays.
18F_CPU = 16000000
19
20#
21# LUFA specific
22#
23# Target architecture (see library "Board Types" documentation).
24ARCH = AVR8
25
26# Input clock frequency.
27# This will define a symbol, F_USB, in all source code files equal to the
28# input clock frequency (before any prescaling is performed) in Hz. This value may
29# differ from F_CPU if prescaling is used on the latter, and is required as the
30# raw input clock is fed directly to the PLL sections of the AVR for high speed
31# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
32# at the end, this will be done automatically to create a 32-bit value in your
33# source code.
34#
35# If no clock division is performed on the input clock inside the AVR (via the
36# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
37F_USB = $(F_CPU)
38
39# Interrupt driven control endpoint task(+60)
40OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
41
42
43# Boot Section Size in *bytes*
44# Teensy halfKay 512
45# Teensy++ halfKay 1024
46# Atmel DFU loader 4096
47# LUFA bootloader 4096
48# USBaspLoader 2048
49OPT_DEFS += -DBOOTLOADER_SIZE=4096
50
51# Build Options
52# change to "no" to disable the options, or define them in the Makefile in
53# the appropriate keymap folder that will get included automatically
54#
55BOOTMAGIC_ENABLE ?= no # Virtual DIP switch configuration(+1000)
56MOUSEKEY_ENABLE ?= yes # Mouse keys(+4700)
57EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450)
58CONSOLE_ENABLE ?= no # Console for debug(+400)
59COMMAND_ENABLE ?= yes # Commands for debug and configuration
60NKRO_ENABLE ?= no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
61BACKLIGHT_ENABLE ?= yes # Enable keyboard backlight functionality
62MIDI_ENABLE ?= no # MIDI controls
63AUDIO_ENABLE ?= no # Audio output on port C6
64UNICODE_ENABLE ?= no # Unicode
65BLUETOOTH_ENABLE ?= no # Enable Bluetooth with the Adafruit EZ-Key HID
66RGBLIGHT_ENABLE ?= no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time.
67
68# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
69SLEEP_LED_ENABLE ?= no # Breathing sleep LED during USB suspend
70
71ifndef QUANTUM_DIR
72 include ../../Makefile
73endif \ No newline at end of file
diff --git a/keyboards/atomic/README.md b/keyboards/atomic/README.md
new file mode 100644
index 000000000..9fe75f572
--- /dev/null
+++ b/keyboards/atomic/README.md
@@ -0,0 +1,25 @@
1Atomic keyboard firmware
2======================
3DIY/Assembled ortholinear 60% keyboard by [Ortholinear Keyboards](http://ortholinearkeyboards.com).
4
5## Quantum MK Firmware
6
7For the full Quantum feature list, see [the parent README.md](/README.md).
8
9## Building
10
11Download or clone the whole firmware and navigate to the keyboards/atomic folder. Once your dev env is setup, you'll be able to type `make` to generate your .hex - you can then use `make dfu` to program your PCB once you hit the reset button.
12
13Depending on which keymap you would like to use, you will have to compile slightly differently.
14
15### Default
16To build with the default keymap, simply run `make`.
17
18### Other Keymaps
19Several version of keymap are available in advance but you are recommended to define your favorite layout yourself. To define your own keymap create a file in the keymaps folder named `<name>.c` and see keymap document (you can find in top README.md) and existent keymap files.
20
21To build the firmware binary hex file with a keymap just do `make` with `KEYMAP` option like:
22```
23$ make KEYMAP=[default|jack|<name>]
24```
25Keymaps follow the format **__\<name\>.c__** and are stored in the `keymaps` folder.
diff --git a/keyboards/atomic/atomic.c b/keyboards/atomic/atomic.c
new file mode 100644
index 000000000..fa218a48f
--- /dev/null
+++ b/keyboards/atomic/atomic.c
@@ -0,0 +1,325 @@
1#include "atomic.h"
2
3__attribute__ ((weak))
4void matrix_init_user(void) {
5 // leave this function blank - it can be defined in a keymap file
6};
7
8__attribute__ ((weak))
9void matrix_scan_user(void) {
10 // leave this function blank - it can be defined in a keymap file
11}
12
13__attribute__ ((weak))
14bool process_action_user(keyrecord_t *record) {
15 // leave this function blank - it can be defined in a keymap file
16 return true;
17}
18
19__attribute__ ((weak))
20void led_set_user(uint8_t usb_led) {
21 // leave this function blank - it can be defined in a keymap file
22}
23
24void matrix_init_kb(void) {
25 // put your keyboard start-up code here
26 // runs once when the firmware starts up
27
28 MCUCR |= (1<<JTD);
29 MCUCR |= (1<<JTD);
30
31#ifdef BACKLIGHT_ENABLE
32 backlight_init_ports();
33#endif
34
35 // Turn status LED on
36 DDRE |= (1<<6);
37 PORTE |= (1<<6);
38
39 matrix_init_user();
40}
41
42void matrix_scan_kb(void) {
43 // put your looping keyboard code here
44 // runs every cycle (a lot)
45
46 matrix_scan_user();
47}
48
49bool process_action_kb(keyrecord_t *record) {
50 // put your per-action keyboard code here
51 // runs for every action, just before processing by the firmware
52
53 return process_action_user(record);
54}
55
56void led_set_kb(uint8_t usb_led) {
57 // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here
58
59 led_set_user(usb_led);
60}
61
62#ifdef BACKLIGHT_ENABLE
63#define CHANNEL OCR1C
64#define BREATHING_NO_HALT 0
65#define BREATHING_HALT_OFF 1
66#define BREATHING_HALT_ON 2
67
68static uint8_t breath_intensity;
69static uint8_t breath_speed;
70static uint16_t breathing_index;
71static uint8_t breathing_halt;
72
73void backlight_init_ports()
74{
75
76 // Setup PB7 as output and output low.
77 DDRB |= (1<<7);
78 PORTB &= ~(1<<7);
79
80 // Use full 16-bit resolution.
81 ICR1 = 0xFFFF;
82
83 // I could write a wall of text here to explain... but TL;DW
84 // Go read the ATmega32u4 datasheet.
85 // And this: http://blog.saikoled.com/post/43165849837/secret-konami-cheat-code-to-high-resolution-pwm-on
86
87 // Pin PB7 = OCR1C (Timer 1, Channel C)
88 // Compare Output Mode = Clear on compare match, Channel C = COM1C1=1 COM1C0=0
89 // (i.e. start high, go low when counter matches.)
90 // WGM Mode 14 (Fast PWM) = WGM13=1 WGM12=1 WGM11=1 WGM10=0
91 // Clock Select = clk/1 (no prescaling) = CS12=0 CS11=0 CS10=1
92
93 TCCR1A = _BV(COM1C1) | _BV(WGM11); // = 0b00001010;
94 TCCR1B = _BV(WGM13) | _BV(WGM12) | _BV(CS10); // = 0b00011001;
95
96 backlight_init();
97 breathing_defaults();
98}
99
100void backlight_set(uint8_t level)
101{
102 // Prevent backlight blink on lowest level
103 PORTB &= ~(_BV(PORTB7));
104
105 if ( level == 0 )
106 {
107 // Turn off PWM control on PB7, revert to output low.
108 TCCR1A &= ~(_BV(COM1C1));
109
110 // Set the brightness to 0
111 CHANNEL = 0x0;
112 }
113 else if ( level >= BACKLIGHT_LEVELS )
114 {
115 // Turn on PWM control of PB7
116 TCCR1A |= _BV(COM1C1);
117
118 // Set the brightness to max
119 CHANNEL = 0xFFFF;
120 }
121 else
122 {
123 // Turn on PWM control of PB7
124 TCCR1A |= _BV(COM1C1);
125
126 // Set the brightness
127 CHANNEL = 0xFFFF >> ((BACKLIGHT_LEVELS - level) * ((BACKLIGHT_LEVELS + 1) / 2));
128 }
129 breathing_intensity_default();
130}
131
132
133void breathing_enable(void)
134{
135 if (get_backlight_level() == 0)
136 {
137 breathing_index = 0;
138 }
139 else
140 {
141 // Set breathing_index to be at the midpoint (brightest point)
142 breathing_index = 0x20 << breath_speed;
143 }
144
145 breathing_halt = BREATHING_NO_HALT;
146
147 // Enable breathing interrupt
148 TIMSK1 |= _BV(OCIE1A);
149}
150
151void breathing_pulse(void)
152{
153 if (get_backlight_level() == 0)
154 {
155 breathing_index = 0;
156 }
157 else
158 {
159 // Set breathing_index to be at the midpoint + 1 (brightest point)
160 breathing_index = 0x21 << breath_speed;
161 }
162
163 breathing_halt = BREATHING_HALT_ON;
164
165 // Enable breathing interrupt
166 TIMSK1 |= _BV(OCIE1A);
167}
168
169void breathing_disable(void)
170{
171 // Disable breathing interrupt
172 TIMSK1 &= ~_BV(OCIE1A);
173 backlight_set(get_backlight_level());
174}
175
176void breathing_self_disable(void)
177{
178 if (get_backlight_level() == 0)
179 {
180 breathing_halt = BREATHING_HALT_OFF;
181 }
182 else
183 {
184 breathing_halt = BREATHING_HALT_ON;
185 }
186
187 //backlight_set(get_backlight_level());
188}
189
190void breathing_toggle(void)
191{
192 if (!is_breathing())
193 {
194 if (get_backlight_level() == 0)
195 {
196 breathing_index = 0;
197 }
198 else
199 {
200 // Set breathing_index to be at the midpoint + 1 (brightest point)
201 breathing_index = 0x21 << breath_speed;
202 }
203
204 breathing_halt = BREATHING_NO_HALT;
205 }
206
207 // Toggle breathing interrupt
208 TIMSK1 ^= _BV(OCIE1A);
209
210 // Restore backlight level
211 if (!is_breathing())
212 {
213 backlight_set(get_backlight_level());
214 }
215}
216
217bool is_breathing(void)
218{
219 return (TIMSK1 && _BV(OCIE1A));
220}
221
222void breathing_intensity_default(void)
223{
224 //breath_intensity = (uint8_t)((uint16_t)100 * (uint16_t)get_backlight_level() / (uint16_t)BACKLIGHT_LEVELS);
225 breath_intensity = ((BACKLIGHT_LEVELS - get_backlight_level()) * ((BACKLIGHT_LEVELS + 1) / 2));
226}
227
228void breathing_intensity_set(uint8_t value)
229{
230 breath_intensity = value;
231}
232
233void breathing_speed_default(void)
234{
235 breath_speed = 4;
236}
237
238void breathing_speed_set(uint8_t value)
239{
240 bool is_breathing_now = is_breathing();
241 uint8_t old_breath_speed = breath_speed;
242
243 if (is_breathing_now)
244 {
245 // Disable breathing interrupt
246 TIMSK1 &= ~_BV(OCIE1A);
247 }
248
249 breath_speed = value;
250
251 if (is_breathing_now)
252 {
253 // Adjust index to account for new speed
254 breathing_index = (( (uint8_t)( (breathing_index) >> old_breath_speed ) ) & 0x3F) << breath_speed;
255
256 // Enable breathing interrupt
257 TIMSK1 |= _BV(OCIE1A);
258 }
259
260}
261
262void breathing_speed_inc(uint8_t value)
263{
264 if ((uint16_t)(breath_speed - value) > 10 )
265 {
266 breathing_speed_set(0);
267 }
268 else
269 {
270 breathing_speed_set(breath_speed - value);
271 }
272}
273
274void breathing_speed_dec(uint8_t value)
275{
276 if ((uint16_t)(breath_speed + value) > 10 )
277 {
278 breathing_speed_set(10);
279 }
280 else
281 {
282 breathing_speed_set(breath_speed + value);
283 }
284}
285
286void breathing_defaults(void)
287{
288 breathing_intensity_default();
289 breathing_speed_default();
290 breathing_halt = BREATHING_NO_HALT;
291}
292
293/* Breathing Sleep LED brighness(PWM On period) table
294 * (64[steps] * 4[duration]) / 64[PWM periods/s] = 4 second breath cycle
295 *
296 * http://www.wolframalpha.com/input/?i=%28sin%28+x%2F64*pi%29**8+*+255%2C+x%3D0+to+63
297 * (0..63).each {|x| p ((sin(x/64.0*PI)**8)*255).to_i }
298 */
299static const uint8_t breathing_table[64] PROGMEM = {
300 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 4, 6, 10,
301 15, 23, 32, 44, 58, 74, 93, 113, 135, 157, 179, 199, 218, 233, 245, 252,
302255, 252, 245, 233, 218, 199, 179, 157, 135, 113, 93, 74, 58, 44, 32, 23,
303 15, 10, 6, 4, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
304};
305
306ISR(TIMER1_COMPA_vect)
307{
308 // CHANNEL = (pgm_read_byte(&breathing_table[ ( (uint8_t)( (breathing_index++) >> breath_speed ) ) & 0x3F ] )) * breath_intensity;
309
310
311 uint8_t local_index = ( (uint8_t)( (breathing_index++) >> breath_speed ) ) & 0x3F;
312
313 if (((breathing_halt == BREATHING_HALT_ON) && (local_index == 0x20)) || ((breathing_halt == BREATHING_HALT_OFF) && (local_index == 0x3F)))
314 {
315 // Disable breathing interrupt
316 TIMSK1 &= ~_BV(OCIE1A);
317 }
318
319 CHANNEL = (uint16_t)(((uint16_t)pgm_read_byte(&breathing_table[local_index]) * 257)) >> breath_intensity;
320
321}
322
323
324
325#endif \ No newline at end of file
diff --git a/keyboards/atomic/atomic.h b/keyboards/atomic/atomic.h
new file mode 100644
index 000000000..901761f51
--- /dev/null
+++ b/keyboards/atomic/atomic.h
@@ -0,0 +1,49 @@
1#ifndef ATOMIC_H
2#define ATOMIC_H
3
4#include "quantum.h"
5#include <stddef.h>
6#include <avr/io.h>
7#include <avr/interrupt.h>
8
9// This a shortcut to help you visually see your layout.
10// The following is an example using the Planck MIT layout
11// The first section contains all of the arguements
12// The second converts the arguments into a two-dimensional array
13#define KEYMAP_SEMI_STANDARD( \
14 K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0E, \
15 K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, \
16 K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, K2E, \
17 K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3C, K3D, K3E, \
18 K40, K41, K43, K46, K4A, K4B, K4C, K4D, K4E \
19) { \
20 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, KC_NO, K0E }, \
21 { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \
22 { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, KC_NO, K2D, K2E }, \
23 { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, KC_NO, K3C, K3D, K3E }, \
24 { K40, K41, KC_NO, K43, KC_NO, KC_NO, K46, KC_NO, KC_NO, KC_NO, K4A, K4B, K4C, K4D, K4E } \
25}
26
27void matrix_init_user(void);
28void matrix_scan_user(void);
29bool process_action_user(keyrecord_t *record);
30void led_set_user(uint8_t usb_led);
31void backlight_init_ports(void);
32
33void breathing_enable(void);
34void breathing_pulse(void);
35void breathing_disable(void);
36void breathing_self_disable(void);
37void breathing_toggle(void);
38bool is_breathing(void);
39
40
41void breathing_defaults(void);
42void breathing_intensity_default(void);
43void breathing_speed_default(void);
44void breathing_speed_set(uint8_t value);
45void breathing_speed_inc(uint8_t value);
46void breathing_speed_dec(uint8_t value);
47
48
49#endif \ No newline at end of file
diff --git a/keyboards/atomic/config.h b/keyboards/atomic/config.h
new file mode 100644
index 000000000..bf9550e94
--- /dev/null
+++ b/keyboards/atomic/config.h
@@ -0,0 +1,158 @@
1/*
2Copyright 2012 Jun Wako <wakojun@gmail.com>
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17
18#ifndef CONFIG_H
19#define CONFIG_H
20
21#include "config_common.h"
22
23/* USB Device descriptor parameter */
24#define VENDOR_ID 0xFEED
25#define PRODUCT_ID 0x6060
26#define DEVICE_VER 0x0001
27#define MANUFACTURER Ortholinear Keyboards
28#define PRODUCT The Atomic Keyboard
29#define DESCRIPTION A compact ortholinear keyboard
30
31/* key matrix size */
32#define MATRIX_ROWS 5
33#define MATRIX_COLS 15
34
35/*
36 * Keyboard Matrix Assignments
37 *
38 * Change this to how you wired your keyboard
39 * COLS: AVR pins used for columns, left to right
40 * ROWS: AVR pins used for rows, top to bottom
41 * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
42 * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
43 *
44*/
45#define MATRIX_ROW_PINS { D0, D5, B5, B6, C6 }
46#define MATRIX_COL_PINS { F1, F0, B0, C7, F4, F5, F6, F7, D4, D6, B4, D7, D3, D2, D1 }
47#define UNUSED_PINS
48
49/* COL2ROW or ROW2COL */
50#define DIODE_DIRECTION COL2ROW
51
52/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
53#define DEBOUNCING_DELAY 5
54
55/* define if matrix has ghost (lacks anti-ghosting diodes) */
56//#define MATRIX_HAS_GHOST
57
58/* number of backlight levels */
59#define BACKLIGHT_LEVELS 3
60
61/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
62#define LOCKING_SUPPORT_ENABLE
63/* Locking resynchronize hack */
64#define LOCKING_RESYNC_ENABLE
65
66/*
67 * Force NKRO
68 *
69 * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
70 * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
71 * makefile for this to work.)
72 *
73 * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
74 * until the next keyboard reset.
75 *
76 * NKRO may prevent your keystrokes from being detected in the BIOS, but it is
77 * fully operational during normal computer usage.
78 *
79 * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
80 * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
81 * bootmagic, NKRO mode will always be enabled until it is toggled again during a
82 * power-up.
83 *
84 */
85//#define FORCE_NKRO
86
87/*
88 * Magic Key Options
89 *
90 * Magic keys are hotkey commands that allow control over firmware functions of
91 * the keyboard. They are best used in combination with the HID Listen program,
92 * found here: https://www.pjrc.com/teensy/hid_listen.html
93 *
94 * The options below allow the magic key functionality to be changed. This is
95 * useful if your keyboard/keypad is missing keys and you want magic key support.
96 *
97 */
98
99/* key combination for magic key command */
100#define IS_COMMAND() ( \
101 keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
102)
103
104/* control how magic key switches layers */
105//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
106//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
107//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM false
108
109/* override magic key keymap */
110//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS
111//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS
112//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM
113//#define MAGIC_KEY_HELP1 H
114//#define MAGIC_KEY_HELP2 SLASH
115//#define MAGIC_KEY_DEBUG D
116//#define MAGIC_KEY_DEBUG_MATRIX X
117//#define MAGIC_KEY_DEBUG_KBD K
118//#define MAGIC_KEY_DEBUG_MOUSE M
119//#define MAGIC_KEY_VERSION V
120//#define MAGIC_KEY_STATUS S
121//#define MAGIC_KEY_CONSOLE C
122//#define MAGIC_KEY_LAYER0_ALT1 ESC
123//#define MAGIC_KEY_LAYER0_ALT2 GRAVE
124//#define MAGIC_KEY_LAYER0 0
125//#define MAGIC_KEY_LAYER1 1
126//#define MAGIC_KEY_LAYER2 2
127//#define MAGIC_KEY_LAYER3 3
128//#define MAGIC_KEY_LAYER4 4
129//#define MAGIC_KEY_LAYER5 5
130//#define MAGIC_KEY_LAYER6 6
131//#define MAGIC_KEY_LAYER7 7
132//#define MAGIC_KEY_LAYER8 8
133//#define MAGIC_KEY_LAYER9 9
134#define MAGIC_KEY_BOOTLOADER B
135//#define MAGIC_KEY_LOCK CAPS
136//#define MAGIC_KEY_EEPROM E
137//#define MAGIC_KEY_NKRO N
138//#define MAGIC_KEY_SLEEP_LED Z
139
140/*
141 * Feature disable options
142 * These options are also useful to firmware size reduction.
143 */
144
145/* disable debug print */
146//#define NO_DEBUG
147
148/* disable print */
149//#define NO_PRINT
150
151/* disable action features */
152//#define NO_ACTION_LAYER
153//#define NO_ACTION_TAPPING
154//#define NO_ACTION_ONESHOT
155//#define NO_ACTION_MACRO
156//#define NO_ACTION_FUNCTION
157
158#endif
diff --git a/keyboards/atomic/keymaps/abienz.c b/keyboards/atomic/keymaps/abienz.c
new file mode 100644
index 000000000..589a64dc4
--- /dev/null
+++ b/keyboards/atomic/keymaps/abienz.c
@@ -0,0 +1,36 @@
1#include "atomic.h"
2
3const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
4 [0] = { /* Colemak */
5 { 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_NO },
6 { KC_TAB, CM_Q, CM_W, CM_F, CM_P, CM_G, CM_J, CM_L, CM_U, CM_Y, CM_SCLN, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL },
7 { KC_BSPC, CM_A, CM_R, CM_S, CM_T, CM_D, CM_H, CM_N, CM_E, CM_I, CM_O, KC_QUOT, KC_ENT, KC_NO, KC_PGUP },
8 { KC_LSFT, CM_Z, CM_X, CM_C, CM_V, CM_B, CM_K, CM_M, CM_COMM, CM_DOT, CM_SLSH, KC_RSFT, KC_NO, KC_UP, KC_PGDN },
9 { KC_LCTL, KC_LGUI, KC_NO, KC_LALT, FUNC(1), KC_SPC, KC_NO, KC_RALT, FUNC(2), KC_RGUI, KC_NO, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT },
10 },
11 [1] = { /* function */
12 { 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_BSPC, KC_NO },
13 { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS },
14 { KC_TRNS, KC_TRNS, KC_TRNS, KC_SLEP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS },
15 { KC_TRNS, KC_TRNS, KC_TRNS, KC_CALC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, KC_MPLY },
16 { KC_TRNS, KC_TRNS, KC_NO, KC_TRNS, FUNC(1), KC_TRNS, KC_NO, KC_TRNS, FUNC(2), KC_TRNS, KC_NO, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT },
17 }
18};
19
20const uint16_t PROGMEM fn_actions[] = {
21 [1] = ACTION_LAYER_MOMENTARY(1),
22 [2] = ACTION_LAYER_MOMENTARY(1),
23
24};
25
26const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
27{
28 // MACRODOWN only works in this function
29 switch(id) {
30 case 0:
31 return MACRODOWN(TYPE(KC_T), END);
32 break;
33 }
34 return MACRO_NONE;
35};
36
diff --git a/keyboards/atomic/keymaps/default/compiled.hex b/keyboards/atomic/keymaps/default/compiled.hex
new file mode 100644
index 000000000..b9bb143ea
--- /dev/null
+++ b/keyboards/atomic/keymaps/default/compiled.hex
@@ -0,0 +1,1118 @@
1:100000000C942A030C946E030C946E030C946E03F0
2:100010000C946E030C946E030C946E030C946E039C
3:100020000C946E030C946E030C946A0D0C943C0EAD
4:100030000C94531B0C946E030C946E030C946E037F
5:100040000C946E030C94D6030C946E030C946E0304
6:100050000C946E030C94BB1B0C946E030C946E03F7
7:100060000C946E030C946E030C946E030C946E034C
8:100070000C946E030C946E030C946E030C946E033C
9:100080000C946E030C946E030C946E030C946E032C
10:100090000C946E030C946E030C946E030C946E031C
11:1000A0000C946E030C946E030C946E03A90ECB0E8D
12:1000B000B90FCB0EB90F100F330FB90F880F9B0F6D
13:1000C00085128512B412B412F31213136914691451
14:1000D0001E136914CE13CE1335143E146914631421
15:1000E000DB13DB13DB13DB13DB13DB13DB13DB13A0
16:1000F000DB13DB13DB13DB13DB13DB13DB13DB1390
17:10010000EB13F91300140714111400000000000091
18:100110000000000000010204060A0F17202C3A4AD2
19:100120005D71879DB3C7DAE9F5FCFFFCF5E9DAC735
20:10013000B39D87715D4A3A2C20170F0A060402010D
21:100140000000000000000000000035001E001F003D
22:100150002000210022002300240025002600270083
23:100160002D002E002A002A002B0014001A0008007F
24:10017000150017001C0018000C00120013002F00BF
25:10018000300031004C00290004001600070009006F
26:100190000A000B000D000E000F0033003400280091
27:1001A00028004B00E1001D001B000600190005009F
28:1001B00011001000360037003800E500E50052005D
29:1001C0004E000030E000E200E30004512C002C005F
30:1001D0000351E700E600E4000551500051004F00D4
31:1001E00035001E001F0020002100220023002400F3
32:1001F0002500260027002D002E002A002A002B00B3
33:1002000014001A00090013000A000D000F00180066
34:100210001C0033002F00300031004C002900040086
35:1002200015001600170007000B00110008000C0055
36:1002300012003400280028004B00E1001D001B00C4
37:100240000600190005000E001000360037003800C7
38:10025000E500E50052004E000030E000E200E3005F
39:1002600004512C002C000351E700E600E400055186
40:10027000500051004F0035001E001F0020002100DB
41:100280002200230024002500260027002D002E0038
42:100290002A002A002B0034003600370013001C000F
43:1002A00009000A00060015000F002F003000310081
44:1002B0004C00290004001200080018000C00070080
45:1002C0000B001700110016003800280028004B0012
46:1002D000E100330014000D000E001B0005001000AB
47:1002E0001A0019001D00E500E50052004E00003024
48:1002F000E000E200E30004512C002C000351E70071
49:10030000E600E4000551500051004F0001003A00A2
50:100310003B003C003D003E003F00400041004200E9
51:100320004300440045000100010001001E021F02BD
52:100330002002210222022302240225022602270291
53:10034000010001000100490001003A003B003C00AF
54:100350003D003E003F002D022E022F0230023102EE
55:100360000100010001000100400041004200430083
56:1003700044004500010001000100010001000100EE
57:100380000100010001000100010001000100010065
58:100390000100010001000100010001000100010055
59:1003A000010001003A003B003C003D003E003F00E0
60:1003B00040004100420043004400450001000100AC
61:1003C00001001E001F002000210022002300240045
62:1003D000250026002700010001000100490001005E
63:1003E0003A003B003C003D003E003F002D002E0047
64:1003F0002F00300031000100010001000100400029
65:10040000410042004300440045000100010001009A
66:1004100001000100010001000100010001000100D4
67:1004200001000100010001000100010001000100C4
68:10043000010001000100010053003A003B003C00B4
69:100440003D003E003F0040004100420043004400A8
70:100450004500010001004700680069006A006B0068
71:100460006C006D006E006F00700071007200730010
72:10047000480046003900F800F700F600F500FD00DE
73:10048000FF00AB00AA00A900AE00010001000100BE
74:10049000F900010001000052015202520100010066
75:1004A000010001000100010001000100F000FA005C
76:1004B00001000100010001000100F400F40001004E
77:1004C0000100010001000100F200F100F300280327
78:1004D0005400680065002000410074006F006D004A
79:1004E0006900630020004B006500790062006F0026
80:1004F00061007200640000002C034F007200740061
81:1005000068006F006C0069006E0065006100720099
82:1005100020004B006500790062006F0061007200EE
83:10052000640073000000040309040902540003017D
84:1005300000A0FA09040000010301010009211101D2
85:1005400000012240000705810308000A0904010098
86:100550000103010200092111010001224D000705DC
87:10056000820308000A0904020001030000000921B7
88:10057000110100012236000705830308000A120159
89:10058000100100000008EDFE6060010001020001A2
90:1005900005010980A101850216010026B7001A0194
91:1005A000002AB700751095018100C0050C0901A152
92:1005B000018503160100269C021A01002A9C02757F
93:1005C0001095018100C005010902A1010901A100E6
94:1005D00005091901290515002501950575018102F7
95:1005E0009501750381010501093009311581257FC8
96:1005F00095027508810609381581257F95017508D2
97:100600008106050C0A38021581257F950175088140
98:1006100006C0C005010906A101050719E029E71573
99:100620000025019508750181029501750881010574
100:100630000819012905950575019102950175039128
101:10064000010507190029FF150026FF00950675080A
102:100650008100C00011241FBECFEFDAE0DEBFCDBFA6
103:1006600004B603FE24C08091F0019091F101A091A5
104:10067000F201B091F3018730904BA740B04BB9F431
105:100680001092F0011092F1011092F2011092F30118
106:1006900014BE84B7877F84BF88E10FB6F894809337
107:1006A0006000109260000FBEE0E0F8E3099511E0F1
108:1006B000A0E0B1E0EEE7F5E402C005900D92A234AF
109:1006C000B107D9F711E0A2E4B1E001C01D92A03F4B
110:1006D000B107E1F70E94B40A0C94BD220C9400000B
111:1006E0000895089581E0089508950C9471030C9481
112:1006F00072030C9474030E94332123E030E0281B22
113:100700003109220F209346010895282F2F988091B8
114:100710008000211108C0877F8093800010928D0097
115:1007200010928C001BC0886080938000233018F0EA
116:100730008FEF9FEF0FC083E090E0821B9109880F3D
117:10074000991F2FEF3FEFA90102C0569547958A9553
118:10075000E2F7CA0190938D0080938C000C947B0388
119:100760000E947B0384E0809345011092420108952A
120:10077000279A2F988FEF9FEF9093870080938600A2
121:100780008AE08093800089E1809381000E949C2010
122:100790000C94B00385B7806885BF85B7806885BF36
123:1007A0000E94B8036E9A769A0C9470031F920F926F
124:1007B0000FB60F9211242F933F938F939F93EF9334
125:1007C000FF93E0914301F0914401CF010196909392
126:1007D0004401809343010090450102C0F695E795DE
127:1007E0000A94E2F7EF7380914201823019F4E0320B
128:1007F00051F404C0813039F4EF3329F480916F0053
129:100800008D7F80936F00F0E0E65FFE4FE49121E082
130:1008100031E0E29FC001E39F900D1124009046015A
131:1008200002C0969587950A94E2F790938D00809385
132:100830008C00FF91EF919F918F913F912F910F909D
133:100840000FBE0F901F90189561110DC0FC018281A1
134:10085000882331F085EE0E9429110E94F32003C005
135:1008600085EE0E94F11180E090E0089581E0089506
136:100870000C94360408950F931F93CF93DF938C014C
137:10088000FC01C081D181CE010E94CD19BE010E9420
138:100890006C07EC01B8010E943804882309F470C188
139:1008A000F8018281882309F45BC080915201811193
140:1008B0001FC0C431F0E7DF0709F00AC10E943A0403
141:1008C00081E0809352010E94851B90935101809397
142:1008D00050011092490110924B0110924A0110925E
143:1008E0004D0110924C0110924F0110924E0148C1DF
144:1008F00080915001909151010E94911B883C91057B
145:1009000070F480914901E82FF0E0EE0FFF1FE65BE5
146:10091000FE4FD183C0838F5F8093490131C1C431C1
147:1009200020E7D20708F024C1C23080E7D80710F5CD
148:10093000C11590E7D90709F0DAC0F8018281882350
149:1009400009F4BFC00E94D414FFEF24E38CE0F150FF
150:1009500020408040E1F700C000000E94E01B10C171
151:10096000C431F0E7DF0708F0CFC0C23020E7D2077C
152:1009700008F49BC0F8018281882309F4A2C00E9478
153:100980003A1C811102C00E941B1C0E944D1C90E069
154:100990009093E1018093E001C230F0E7DF0721F49A
155:1009A0008091E00181607AC0C33020E7D20721F452
156:1009B0008091E001826072C0C43080E7D80721F4E2
157:1009C0008091E00184606AC0C53090E7D90719F4CE
158:1009D0008091E00127C0C630E0E7DE0721F4809176
159:1009E000E00180615BC0C730F0E7DF0721F4809150
160:1009F000E001806253C0C83020E7D20721F4809123
161:100A0000E00180644BC0C93080E7D80721F48091B1
162:100A1000E001806843C0CA3090E7D90729F480918B
163:100A2000E001846088603AC0CB30E0E7DE0721F463
164:100A30008091E0018E7F32C0CC30F0E7DF0721F4F7
165:100A40008091E0018D7F2AC0CD3020E7D20721F4CC
166:100A50008091E0018B7F22C0CE3080E7D80719F467
167:100A60008091E0011AC08091E001CF3090E7D90772
168:100A700011F48F7E13C0C031E0E7DE0711F48F7DE3
169:100A80000DC0C131F0E7DF0711F48F7B07C0C23121
170:100A9000D04711F48F7702C08B7F877F8093E0016E
171:100AA0008091E0010E94511C6BC0C11580E7D807FE
172:100AB00041F0C130D047F1F081E08093470180934D
173:100AC0004801C801DF91CF911F910F910C947703DA
174:100AD000C43120E7D20708F04BC0C23080E7D80706
175:100AE00008F048CFC11590E7D90709F42BCFC130E2
176:100AF000D04711F7F8018281882319F38091CF0143
177:100B000081608093CF013CC0C333E0E7DE07A1F4EE
178:100B1000F8018281882321F01092470182E017C0FA
179:100B200080914701811106C086E20E94291186E268
180:100B30000E94F11182E019C0C433D04709F0BCCF44
181:100B4000F8018281882331F01092480180E20E94EE
182:100B5000401216C080914801811106C087E20E94B0
183:100B6000291187E20E94F11180E20E94471208C019
184:100B7000C333F0E7DF0761F2C433D04709F39CCFFA
185:100B800080E0DF91CF911F910F9108950C94CA03DB
186:100B90000C9475032FE0729FF00111243BE4839FB6
187:100BA000E00DF11D1124E60FF11DEE0FFF1FE65BB6
188:100BB000FE4F859194910E947E07811540E5940730
189:100BC00008F047C0811520E4920708F013C1883E61
190:100BD000910520F5803E910508F07CC1883A910589
191:100BE00078F4853A910508F0A5C08130910509F4A3
192:100BF00071C108F42EC18430910508F06BC129C180
193:100C00008B3B910508F4A1C0803C910508F421C1FB
194:100C1000FC01EE0FFF1FE653F040E6C0811530E205
195:100C2000930758F4811541E0940708F053C1803FC1
196:100C3000910508F40EC190650895811520E392078F
197:100C400008F0D5C0FC01FF70EE0FFF1FE65BFE4F02
198:100C5000CBC0811535E5930708F043C0811544E505
199:100C6000940708F0DEC0811522E5920708F581158A
200:100C700031E5930708F0C1C0482F437021E030E010
201:100C800002C0220F331F4A95E2F73C68AC0164E0D2
202:100C9000569547956A95E1F74370342B8F7086958A
203:100CA000869540E2849FC0011124822B932B0895E6
204:100CB000282F26952695AC0143705527811593451D
205:100CC00008F0A0C080E2289F9001112481E090E00C
206:100CD00002C0880F991F4A95E2F7822B932B9C68DC
207:100CE00008958F3240E7940790F48F3120E7920700
208:100CF00008F0A2C0811536E5930708F497C09C015F
209:100D000030562115304108F0A4C09F7093C0803345
210:100D100020E7920709F497C008F492C0813340E7B6
211:100D2000940709F493C08233904709F092C080E0A1
212:100D300093ED0895853A910509F48EC0863A9105A0
213:100D400009F08DC082E890E40895883A910509F48D
214:100D500089C0893A910509F488C08A3A910509F455
215:100D600087C08B3A910509F486C08C3A910509F445
216:100D700085C08D3A910509F484C0803B910509F442
217:100D800083C08E3A910509F482C08F3A910509F427
218:100D900081C0813B910509F480C0823B910509F433
219:100DA0007FC0833B910509F47EC0843B910509F423
220:100DB0007DC0853B910509F47CC0863B910509F413
221:100DC0007BC0873B910509F47AC0883B910509F403
222:100DD00079C0893B910509F478C08A3B910509F4F3
223:100DE00077C080E094E408958591949108959927BF
224:100DF000906C08959F70906A0895982F8827816F4E
225:100E0000906A089590E2299F9001112481E090E07A
226:100E100002C0880F991F4A95E2F7822B932B9A689C
227:100E20000895982F8827846F906A08958F71992765
228:100E3000982F8827906208958F519047946D089558
229:100E400080E091ED089580E090ED089580E092EDCE
230:100E5000089580E090E0089581E890E4089583E8A3
231:100E600090E4089582EE94E4089589EE94E4089560
232:100E70008AEE94E4089585EB94E4089586EB94E477
233:100E8000089587EB94E408958CEC94E408958DEC38
234:100E900094E4089583E895E408958AE895E4089534
235:100EA00082E995E4089584E995E4089581E296E461
236:100EB000089583E296E4089584E296E4089585E235
237:100EC00096E4089586E296E4089587E296E408950C
238:100ED0008AE296E4089508959FE0799FF001112435
239:100EE0009BE4899FE00DF11D1124E60FF11DEE0F2B
240:100EF000FF1FE65BFE4F859194910895823891051E
241:100F000049F1B0F48133910509F458C048F48932AD
242:100F1000910509F44EC08A32910509F454C0089530
243:100F20008533910509F440C08933910599F00895FE
244:100F3000833E910529F138F4803E910591F0823E7F
245:100F40009105A1F00895863E9105F9F0873E91053F
246:100F500031F108952091E00120FD3AC021FD38C013
247:100F600008958091E00180FD35C032C08091E0019C
248:100F700082FF32C08091E00184FD30C083EE39C031
249:100F80008091E00182FD28C0F5CF8091E00183FFD0
250:100F900027C08091E00184FD21C087EE2AC08091A6
251:100FA000E00183FD1DC0F5CF8091E00185FD1AC0F1
252:100FB0001BC08091E00185FD17C014C08091E00145
253:100FC00086FD14C015C08091E00186FD11C00EC0E1
254:100FD00080EE0FC089E30DC082EE0BC080E009C037
255:100FE00086EE07C089E205C085E303C08AE201C03E
256:100FF00081E390E008950C947903E82FF0E0ED5D33
257:10100000FE4F8081E82FEF70F0E082958F7021E035
258:1010100030E0A90102C0440F551F8A95E2F740A3B2
259:1010200008950F931F93CF93DF93C4E0D0E001E0C6
260:1010300010E0FE01ED5DFE4F8081E82FEF70F0E0E3
261:1010400021A182958F70A80102C0440F551F8A9577
262:10105000E2F7CA01822B81A38C2F0E94FD07219702
263:1010600040F78EE090E061E070E0FC01EC5EFE4F46
264:101070002081E22FEF70F0E042A122952F70DB017A
265:1010800002C0AA0FBB1F2A95E2F79D01242B22A3C1
266:10109000019758F7DF91CF911F910F9108950F930A
267:1010A0001F93CF93DF9385B7806885BF85B780682E
268:1010B00085BFC4E0D0E001E010E0FE01ED5DFE4F31
269:1010C0008081E82FEF70F0E021A182958F70A80158
270:1010D00002C0440F551F8A95E2F7CA01822B81A3F3
271:1010E0008C2F0E94FD07219740F78EE090E061E091
272:1010F00070E0FC01EC5EFE4F2081E22FEF70F0E02B
273:1011000042A122952F70DB0102C0AA0FBB1F2A95B6
274:10111000E2F79D01242B22A3019758F7DF91CF918D
275:101120001F910F910C94C605EF92FF920F931F939E
276:10113000CF93DF930DE511E0C4E0EE24E394F12CAE
277:10114000D5E08C2F0E94FD078EE090E040E050E05B
278:10115000FC01EC5EFE4F6081E62FEF70F0E020A115
279:1011600030E062956F7002C0359527956A95E2F779
280:1011700020FD09C09701082E02C0220F331F0A94D8
281:10118000E2F7422B532B019718F7F80192918291C5
282:101190008F018417950721F051834083D09300017C
283:1011A0008C2F0E94FD07C15060F68091000187FDE1
284:1011B0001FC08150809300018F3F39F08FE99FE07D
285:1011C0000197F1F700C0000013C080E090E0FC013F
286:1011D000E35AFE4FDC01AD5ABE4F18962D913C915B
287:1011E0001997318720870297863FEFEF9E0779F79F
288:1011F0000E94C80581E0DF91CF911F910F91FF9070
289:10120000EF900895E82FF0E0EE0FFF1FE35AFE4F36
290:1012100080819181089508950F931F93CF9307E6DE
291:1012200011E0C0E0F801929182918F010E94FE1AB4
292:10123000C80FF1E00D351F07A9F78C2FCF911F9133
293:101240000F91089580916F010895CF93DF9300D09F
294:101250001F92CDB7DEB79C018091E601843019F56D
295:1012600093E099833B832A839093E9008FEF9091D9
296:10127000E800815095FD06C095ED9A95F1F70000C4
297:101280008111F5CF8091E80085FF0DC040E050E06E
298:1012900063E070E0CE0101960E945A0B8091E80055
299:1012A0008E778093E8000F900F900F90DF91CF9191
300:1012B0000895CF93DF9300D01F92CDB7DEB7209172
301:1012C000E601243021F522E029839B838A8383E091
302:1012D0008093E9008FEF9091E800815095FD06C062
303:1012E00095ED9A95F1F700008111F5CF8091E80016
304:1012F00085FF0DC040E050E063E070E0CE01019654
305:101300000E945A0B8091E8008E778093E8000F903E
306:101310000F900F90DF91CF9108952091E601243036
307:10132000F1F422E02093E9002FEF3091E800215002
308:1013300035FD06C035ED3A95F1F700002111F5CFE6
309:101340002091E80025FF0BC040E050E065E070E030
310:101350000E945A0B8091E8008E778093E8000895F0
311:10136000CF93DF932091E601243039F521E02093DB
312:10137000E9002FEF3091E800215035FD06C035ED32
313:101380003A95F1F700002111F5CF2091E80025FFF3
314:1013900014C0EC0140E050E068E070E00E945A0B9D
315:1013A0008091E8008E778093E80088E0FE01A7E650
316:1013B000B1E001900D928A95E1F7DF91CF91089508
317:1013C0008091E501811109C00E94EF0C0E944C0D33
318:1013D0008091E20084608093E20008951092E5011C
319:1013E0000895089508950C94481B42E061EC81E053
320:1013F0000E94690C42E061EC82E00E94690C42E0CC
321:1014000061EC83E00C94690C8091E801833009F46D
322:1014100053C030F4813071F0823009F48CC00895EB
323:101420008A3009F478C08B3009F45EC0893009F045
324:101430009AC020C08091E701813A09F094C0809160
325:10144000E800877F8093E8008091EB019091EC01A8
326:10145000892B21F468E087E691E003C060E080E03A
327:1014600090E070E00E94A50B8091E8008B7780935C
328:10147000E80008958091E701813209F074C08091FD
329:10148000EB019091EC01892B09F06DC08091E8008F
330:10149000877F8093E8008091E80082FD05C08091FD
331:1014A000E6018111F8CF5FC08091F10080936F0158
332:1014B0008091E8008B7753C08091E701813A09F071
333:1014C00052C08091EB019091EC01892B09F04BC047
334:1014D0008091E800877F8093E8008091E80080FF9A
335:1014E000FCCF80910B0136C08091E7018132D9F5A4
336:1014F0008091EB019091EC01892BA9F58091E80096
337:10150000877F8093E8000E949E0C8091E901809380
338:101510000B010C94D4148091E701813221F5809164
339:10152000E800877F8093E8000E949E0C8091EA018A
340:101530008093700108958091E701813AA1F4809130
341:10154000E800877F8093E8008091E80080FFFCCF6F
342:10155000809170018093F1008091E8008E778093F4
343:10156000E8000C949E0C089584B7877F84BF88E1BF
344:101570000FB6F89480936000109260000FBE80E870
345:1015800080936100109261000E9441100E94EF0C54
346:101590000E944C0D8091E20084608093E200789478
347:1015A0000E94D20F0E94431081E091E00E94ED0F53
348:1015B0008091E601853069F40E940A1B8091E40164
349:1015C0008823B1F30E94371B882391F30E94440BB8
350:1015D000EFCF0E944B10ECCF292F3327233031055A
351:1015E000C9F064F42130310581F02230310509F071
352:1015F00043C084E590E02AE235E042C02132310563
353:10160000F1F02232310541F137C082E190E02EE75E
354:1016100035E036C099278130910541F0823091053F
355:1016200041F0892B49F5E6E2F5E005C0E8EFF4E08A
356:1016300002C0EEECF4E0849190E09F0121C06330A1
357:10164000D8F4E62FF0E0EE0FFF1FEF5CFE4F208195
358:10165000318189E090E014C0633070F470E0FB01E8
359:10166000EE0FFF1FE55DFE4F20813181FB01E85D3C
360:10167000FE4F808190E004C080E090E020E030E008
361:10168000FA0131832083089580E189BD82E189BD1B
362:1016900009B400FEFDCF8091D8008F7D8093D800E3
363:1016A0008091E00082608093E0008091E00081FD05
364:1016B000FCCF0895CF92DF92EF92FF920F931F938A
365:1016C000CF93DF93EC018B016A010E94BD0C811165
366:1016D00033C0C114D10439F0F60180819181081B17
367:1016E000190BC80FD91FE12CF12C0115110519F1A7
368:1016F0008091E80085FD16C08091E8008E77809388
369:10170000E800C114D10449F0F60180819181E80E0E
370:10171000F91EF182E08285E00FC00E94BD0C882393
371:1017200021F30AC089918093F10001501109FFEF64
372:10173000EF1AFF0ADACF80E0DF91CF911F910F916E
373:10174000FF90EF90DF90CF9008952091ED013091C0
374:10175000EE012617370748F06115710539F420911D
375:10176000E8002E772093E80001C0B90140E0611540
376:101770007105A9F12091E601222309F443C0253027
377:1017800009F442C02091E80023FD40C02091E80008
378:1017900022FD32C02091E80020FFE9CF4091F30004
379:1017A0002091F20030E0342BFC01CF01611571056E
380:1017B00059F02830310540F481918093F100615057
381:1017C00071092F5F3F4FF1CF41E02830310509F01B
382:1017D00040E02091E8002E772093E800C8CF411127
383:1017E000C9CF0AC08091E601882361F0853061F09D
384:1017F0008091E80083FD0AC08091E80082FFF2CF6B
385:1018000080E0089582E0089583E0089581E00895DE
386:101810002091ED013091EE012617370748F0611550
387:10182000710539F42091E8002E772093E80001C07B
388:10183000B901FC0120E06115710591F18091E6018B
389:10184000882309F440C0853009F43FC08091E80046
390:1018500083FD3DC08091E80082FD2FC08091E800AB
391:1018600080FFE9CF2091F3008091F20090E0922B6D
392:101870006115710559F08830910540F42491209349
393:10188000F1003196615071090196F2CF21E008977D
394:1018900009F020E08091E8008E778093E800CBCFBC
395:1018A0002111CCCF0AC08091E601882361F08530F8
396:1018B00061F08091E80083FD0AC08091E80082FF1A
397:1018C000F2CF80E0089582E0089583E0089581E0FA
398:1018D0000895982F973058F59093E900981739F0AC
399:1018E0007091EC002091ED005091F00003C0242F86
400:1018F000762F50E021FF19C03091EB003E7F3093EE
401:10190000EB003091ED003D7F3093ED003091EB0026
402:1019100031603093EB007093EC002093ED00509316
403:10192000F0002091EE0027FF07C09F5FD3CF8F709C
404:101930008093E90081E0089580E008958091E701B7
405:1019400087FF11C08091E80082FD05C08091E6010B
406:101950008111F8CF11C08091E8008B770BC0809186
407:10196000E601882349F08091E80080FFF8CF80915C
408:10197000E8008E778093E80008952091E40030918C
409:10198000E50095E64091EC00842F817040FF22C075
410:101990008091E80080FD1CC08091E601882391F0D1
411:1019A000853091F08091EB0085FD10C04091E400FE
412:1019B0005091E5004217530729F39A01915011F70E
413:1019C00084E0089582E0089583E0089581E0089519
414:1019D00080E008954091E80042FFDECF08950E9424
415:1019E0005D0D0E94650DE0EEF0E0808181608083F6
416:1019F000E8EDF0E080818F77808319BCA7EDB0E03F
417:101A00008C918E7F8C9380818F7E80831092E501F4
418:101A100008950F931F93CF93DF930E945D0D0E9453
419:101A2000650DC8EDD0E088818F77888388818068D4
420:101A3000888388818F7D888319BC1092E60110927B
421:101A4000E2011092E4011092E30100EE10E0F801CF
422:101A500080818B7F808388818160888342E060E021
423:101A600080E00E94690CE1EEF0E080818E7F80834F
424:101A7000E2EEF0E0808181608083808188608083F5
425:101A8000F80180818E7F8083888180618883DF91E7
426:101A9000CF911F910F910895E8EDF0E080818F7E46
427:101AA0008083E7EDF0E080818160808384E082BF05
428:101AB00081E08093E5010C94090DE8EDF0E0808170
429:101AC0008E7F80831092E20008951092DA001092C7
430:101AD000E10008951F920F920FB60F9211242F93D9
431:101AE0003F934F935F936F937F938F939F93AF93A6
432:101AF000BF93EF93FF938091E10082FF0BC0809131
433:101B0000E20082FF07C08091E1008B7F8093E100BB
434:101B10000E94D10F8091DA0080FF1FC08091D80011
435:101B200080FF1BC08091DA008E7F8093DA00809165
436:101B3000D90080FF0DC080E189BD82E189BD09B473
437:101B400000FEFDCF81E08093E6010E94E00905C020
438:101B500019BC1092E6010E94EE098091E10080FF1D
439:101B600019C08091E20080FF15C08091E2008E7F55
440:101B70008093E2008091E20080618093E200809196
441:101B8000D80080628093D80019BC85E08093E6017C
442:101B90000E94F2098091E10084FF30C08091E20050
443:101BA00084FF2CC080E189BD82E189BD09B400FEBB
444:101BB000FDCF8091D8008F7D8093D8008091E10087
445:101BC0008F7E8093E1008091E2008F7E8093E2001F
446:101BD0008091E20081608093E2008091E20188239D
447:101BE00011F084E007C08091E30087FD02C081E02E
448:101BF00001C083E08093E6010E94F3098091E10037
449:101C000083FF29C08091E20083FF25C08091E1001D
450:101C1000877F8093E10082E08093E6011092E201E9
451:101C20008091E1008E7F8093E1008091E2008E7FC1
452:101C30008093E2008091E20080618093E20042E0C4
453:101C400060E080E00E94690C8091F00088608093E1
454:101C5000F0000E94F109FF91EF91BF91AF919F9128
455:101C60008F917F916F915F914F913F912F910F9045
456:101C70000FBE0F901F9018951F920F920FB60F92E4
457:101C800011242F933F934F935F936F937F938F9381
458:101C90009F93AF93BF93CF93DF93EF93FF93C09145
459:101CA000E900CF708091EC00D82FD17080FDD0E892
460:101CB0001092E9008091F000877F8093F000789483
461:101CC0000E94800E1092E9008091F000886080935D
462:101CD000F000CD2BCF70C093E900FF91EF91DF9121
463:101CE000CF91BF91AF919F918F917F916F915F91B4
464:101CF0004F913F912F910F900FBE0F901F9018950D
465:101D00001F93CF93DF93CDB7DEB7AA970FB6F894A2
466:101D1000DEBF0FBECDBFE7EEF1E088E08E0F909101
467:101D2000F10091938E13FBCF0E94040A8091E8008A
468:101D300083FF1FC18091E7019091E801492F50E096
469:101D40004A30510508F015C1FA01EA5AFF4F0C94C8
470:101D50006D22803881F0823809F00BC18091EB014F
471:101D60008F708093E9008091EB0085FB882780F9D4
472:101D70001092E90006C08091E3019091E401911175
473:101D800082609091E800977F9093E8008093F10043
474:101D90001092F100C8C0282F2D7F09F0EAC08823D7
475:101DA00019F0823061F0E5C08091E901813009F0DD
476:101DB000E0C0933009F080E08093E4012BC0809173
477:101DC000E901811127C08091EB018F7009F4D1C026
478:101DD0008093E9002091EB0020FF1CC0933021F498
479:101DE0008091EB00806214C09091EB009061909321
480:101DF000EB0021E030E0A90102C0440F551F8A9595
481:101E0000E2F74093EA001092EA008091EB008860CC
482:101E10008093EB001092E9008091E800877F86C0F4
483:101E20008111A7C01091E9011F778091E3008078AC
484:101E3000812B8093E3008091E800877F8093E80006
485:101E40000E949E0C8091E80080FFFCCF8091E3000F
486:101E500080688093E300111102C082E001C083E03A
487:101E60008093E60186C08058823008F082C080915D
488:101E7000E9019091EA018C3D53E0950779F583E003
489:101E80008A838AE289834FB7F894DE01139620E0B3
490:101E90003EE051E2E32FF0E050935700E49120FF41
491:101EA00003C0E295EF703F5FEF708E2F90E0EA3055
492:101EB00010F0C79601C0C0968D939D932F5F24317B
493:101EC00049F74FBF8091E800877F8093E8006AE27E
494:101ED00070E0CE0101960E94A50B14C0AE014F5FC9
495:101EE0005F4F6091EB010E94EC0ABC01009709F47E
496:101EF00040C09091E800977F9093E80089819A8193
497:101F00000E94080C8091E8008B778093E80031C034
498:101F1000803879F58091E800877F8093E800809190
499:101F2000E2018093F1008091E8008E778093E800D1
500:101F30000E949E0C1EC081111CC09091E90192303C
501:101F4000C0F48091E800877F8093E8009093E201DD
502:101F50000E949E0C8091E201811106C08091E300F5
503:101F600087FD02C081E001C084E08093E6010E9409
504:101F7000F5098091E80083FF0AC08091E800877F1F
505:101F80008093E8008091EB0080628093EB00AA963A
506:101F90000FB6F894DEBF0FBECDBFDF91CF911F917A
507:101FA00008950895CF938091E6018823A1F0C09110
508:101FB000E900CF709091EC00892F817090FD80E84E
509:101FC000C82B1092E9008091E80083FD0E94800EEA
510:101FD000CF70C093E900CF910895909376018093DC
511:101FE00075010895E0917501F0917601309721F027
512:101FF0000190F081E02D099480E00895E091750151
513:10200000F0917601309721F00280F381E02D099460
514:102010000895E0917501F0917601309721F00480E8
515:10202000F581E02D09940895209173013091740198
516:102030008217930771F09093740180937301E0917C
517:102040007501F0917601309721F00680F781E02D3F
518:1020500009940895209171013091720182179307BC
519:1020600071F09093720180937101E0917501F0918C
520:102070007601309721F00084F185E02D09940895D0
521:1020800008950C9440100E947C1B0E944F080E94EF
522:10209000021C0C949C205F926F927F928F929F9271
523:1020A000AF92BF92CF92DF92EF92FF920F931F9366
524:1020B000CF93DF9300D000D01F92CDB7DEB70E9440
525:1020C000940892E8C92E91E0D92E04E010E0AA24E9
526:1020D000A394B12C502E802F0E9402094C01F601CE
527:1020E000729062906F016826792661147104A1F4E0
528:1020F0000150110978F78FEF89838A831B820E9430
529:10210000851B8160782F9D838C8349815A816B81E7
530:102110008D810E94FB1038C08091CF0181FD0E940B
531:102120000B092EE030E07501022E02C0EE0CFF1C00
532:102130000A94E2F7C70186219721892B09F12983A7
533:102140005A828E209F2091E0892809F490E09B8399
534:102150000E94851B8160782F9D838C8349815A81E1
535:102160006B818D810E94FB10000F111FF801E85850
536:10217000FE4F80819181E826F926F182E08204C039
537:102180002150310980F6B4CF0E94D91D10917701FA
538:102190000E94F20F1817D1F00E94F20F809377017E
539:1021A0000F900F900F900F900F90DF91CF911F9194
540:1021B0000F91FF90EF90DF90CF90BF90AF909F90E6
541:1021C0008F907F906F905F900C94FB070F900F9013
542:1021D0000F900F900F90DF91CF911F910F91FF9073
543:1021E000EF90DF90CF90BF90AF909F908F907F90B7
544:1021F0006F905F900895CF93DF93CDB7DEB72B97A5
545:102200000FB6F894DEBF0FBECDBF4F8358876987E6
546:102210007A878B87DE01119686E0FD0111928A95FF
547:10222000E9F785E0FE01379601900D928A95E1F776
548:1022300049815A816B817C818D819E810E947217B8
549:102240002B960FB6F894DEBF0FBECDBFDF91CF91B6
550:102250000895CF93882309F4C2C0C82F823859F457
551:102260000E94F20F81FDBBC089E30E944C1A0E94BC
552:10227000CF1A89E30CC0833879F40E94F20F80FDF5
553:10228000AEC083E50E944C1A0E94CF1A83E50E94DB
554:10229000691ACF910C94CF1A843859F40E94F20F26
555:1022A00082FD9DC087E40E944C1A0E94CF1A87E4E9
556:1022B000EECF8CEF8C0F813A48F48C2F0E940420D3
557:1022C00081118DC08C2F0E944C1AE3CF80E28C0FBD
558:1022D000883048F4C77081E001C0880FCA95EAF7DA
559:1022E0000E94881AD6CF8BE58C0F833078F4C53ADC
560:1022F00029F0C63A31F083E890E005C081E890E02B
561:1023000002C082E890E0CF910C94141088E58C0F05
562:10231000833108F064C0C83A39F1C93A41F1CA3A88
563:1023200049F1CB3A51F1CC3A59F1CD3A61F1C03B88
564:1023300069F1CE3A71F1CF3A79F1C13B81F1C23BFB
565:1023400089F1C33B91F1C43B99F1C53BA1F1C63B77
566:10235000A9F1C73BB1F1C83BB9F1C93BC1F1CA3BD7
567:10236000C9F180E090E038C082EE90E035C089EE9F
568:1023700090E032C08AEE90E02FC085EB90E02CC058
569:1023800086EB90E029C087EB90E026C08CEC90E0D3
570:1023900023C08DEC90E020C083E891E01DC08AE866
571:1023A00091E01AC082E991E017C084E991E014C07D
572:1023B00081E292E011C083E292E00EC084E292E0FA
573:1023C0000BC085E292E008C086E292E005C087E299
574:1023D00092E002C08AE292E0CF910C942A10CF9151
575:1023E0000895882309F44BC0823859F40E94F20FF3
576:1023F00081FF45C089E30E944C1A0E94CF1A89E3ED
577:102400000CC0833871F40E94F20F80FF38C083E55E
578:102410000E944C1A0E94CF1A83E50E94691A0C94FC
579:10242000CF1A843859F40E94F20F82FF28C087E443
580:102430000E944C1A0E94CF1A87E4EFCF9CEF980FAE
581:10244000913A58F390E2980F983050F4877091E0E9
582:1024500001C0990F8A95EAF7892F0E948E1ADFCF63
583:102460009BE5980F933020F480E090E00C941410DA
584:10247000885A833120F480E090E00C942A1008956B
585:10248000882321F00E94881A0C94CF1A089588237B
586:1024900021F00E948E1A0C94CF1A08957F928F9289
587:1024A0009F92AF92BF92CF92DF92EF92FF920F93E3
588:1024B0001F93CF93DF931F92CDB7DEB77C01C62E5B
589:1024C000772EFC01058102950F70128111110E9477
590:1024D000A51A0E94451A882379F0112369F080E239
591:1024E0008C0D883048F082E00E942E1A0E94451A16
592:1024F00091E0D82ED92601C0D12CE72DE295EF70BE
593:10250000F0E0E05AFF4F0C946D22872D807F072D5D
594:102510000F70882311F00295007F112389F00023AA
595:1025200009F499C180E28C0D883020F4802F0E943C
596:10253000881A03C0802F0E94981A0E94CF1A8BC15C
597:102540008C2D0E94F111002309F4C3C180E28C0D8F
598:10255000883020F4802F0E948E1A03C0802F0E94A2
599:102560009E1A0E94CF1AB5C1872D807F972D9F702C
600:10257000803211F4892F03C0892F8295807FCC206F
601:1025800021F0F1E0CF16A1F01DC0112339F0002396
602:1025900019F1013009F50E94B81A9BC1002319F006
603:1025A000013009F496C189830E94BB1A898110C148
604:1025B000112321F0063008F08CC10EC0053008F060
605:1025C00088C106C1112359F0002331F0F70195812C
606:1025D00090FF41C19F7095830E9440127AC10023F1
607:1025E00009F4F6C03EC1872D86958695837090E0EC
608:1025F000009719F0019761F06CC1112321F08C2D27
609:10260000972D937002C080E090E00E94141061C189
610:10261000112321F08C2D972D937002C080E090E063
611:102620000E942A1056C18C2D112319F00E94E11C22
612:1026300002C00E94491D0E94CE1D4BC1872D837090
613:1026400009F052C0111145C18C2D82958695877075
614:10265000880F880F9C2D9F70892E912CA12CB12C56
615:10266000082E04C0880C991CAA1CBB1C0A94D2F723
616:10267000C4FE14C00FE010E020E030E0B901A80172
617:1026800004C0440F551F661F771F8A95D2F7CB01F0
618:10269000BA01609570958095909503C060E070E0F8
619:1026A000CB01272D26952695237030E02230310569
620:1026B00069F02330310589F0682979298A299B2915
621:1026C0002130310571F00E94BA1803C168297929B7
622:1026D0008A299B290E94D618FCC00E94BA18C501FD
623:1026E000B4010E949E18F5C0112319F0872D817046
624:1026F00001C08695882309F4ECC08C2D82958695BF
625:102700008770880F880F9C2D9F70892E912CA12C8B
626:10271000B12C082E04C0880C991CAA1CBB1C0A945E
627:10272000D2F7C4FE14C00FE010E020E030E0B901A1
628:10273000A80104C0440F551F661F771F8A95D2F762
629:10274000CB01BA01609570958095909503C060E0CB
630:1027500070E0CB01272D269526952370422F50E05F
631:102760004230510569F04330510589F068297929D3
632:102770008A299B294130510571F00E949419A9C002
633:10278000682979298A299B290E94B019A2C00E9430
634:102790009419C501B4010E9478199BC08C2D90E05A
635:1027A000FC01E05EF109E531F10508F050C0E059A7
636:1027B000FF4F0C946D220C2D0F70872D8F711123FC
637:1027C00021F00E941119802F07CF0E943219802F0B
638:1027D0000E9447127EC0112341F0053008F079C0F5
639:1027E000872D8F710E94571974C0063008F071C090
640:1027F000F7CF112339F0872D8F710E94111969C00D
641:102800001123C9F3872D8F710E94321962C01123E1
642:1028100029F0872D8F710E94FC185BC00E94F2186E
643:1028200058C0112351F0172D1F71812F0E941119CB
644:1028300063E0812F0E94251A4CC081E00E942E1A6D
645:10284000023008F446C082E00E942E1A42C01123D2
646:1028500031F0002381F28C2D0E9429113AC000230F
647:1028600089F28C2D0E94F11134C0472D4F706C2DD0
648:10287000C7010E9424040E9416182BC0111129C000
649:10288000472D4F7050E042305105B9F04CF44115DE
650:10289000510581F041305105E1F40E94C42019C076
651:1028A0004330510569F04430510599F48C2D0E9454
652:1028B00016210FC00E94AD200CC00E94E02009C06C
653:1028C0000E94F32006C0472D4F706C2DC7010E9457
654:1028D0006B07DD20F9F00E94211A80FD1BC0F70173
655:1028E00012820E941B1A0E941119C7010E9499149A
656:1028F0000E941B1A0F90DF91CF911F910F91FF90B3
657:10290000EF90DF90CF90BF90AF909F908F907F908F
658:102910000C9432190F90DF91CF911F910F91FF907E
659:10292000EF90DF90CF90BF90AF909F908F907F906F
660:1029300008950F931F93CF93DF93EC0188819981C2
661:102940002B813C81232BB9F09F3F11F48F3F99F0ED
662:10295000CE010E943B04882371F0688179818A81CD
663:102960000E94171A8C010E94CC190E949318B8017A
664:10297000CE010E944E12DF91CF911F910F910895C9
665:102980000E94A51A0E94B51A0E947A1A0E94CF1AB4
666:102990000E947F1E0E94CE1D80E090E00E941410D5
667:1029A00080E090E00C942A100E94951A0C94C014B8
668:1029B0000E940C1A292F22952F7030E02C303105FF
669:1029C0004CF42A3031056CF42250310922303105A3
670:1029D000A8F407C02C30310569F02F30310551F0D3
671:1029E0000DC0803F69F018F4803E40F409C0843F78
672:1029F00029F406C093FB882780F9089580E00895A4
673:102A000081E00895CF93DF9300D000D01F92CDB71F
674:102A1000DEB70F900F900F900F900F90DF91CF9136
675:102A20000895CF93DF9300D000D000D0CDB7DEB7AC
676:102A300026960FB6F894DEBF0FBECDBFDF91CF91C3
677:102A400008951F93CF93DF93C091820116E0809188
678:102A50008301C81799F0D0E01C9FF0011D9FF00D75
679:102A60001124EC57FE4F4081518162817381848132
680:102A700095810E9411152196C770E9CFDF91CF9102
681:102A80001F9108954091B4015091B5016091B60134
682:102A90007091B7018091B8019091B9010C94111512
683:102AA0008091B90182958F7009F054C08091B60170
684:102AB000882309F44FC080918201A0918301609125
685:102AC000B4017091B5014091B7015091B801B6E0E1
686:102AD0008A1709F43FC090E041155105C1F17F3FCD
687:102AE00011F46F3FA1F1B89FF001B99FF00D1124CF
688:102AF000EC57FE4F218172132AC02081621327C038
689:102B00002281211124C0238134812417350710F438
690:102B100021503109241B350B283C3105C0F420918C
691:102B2000B9012F7020612093B90126E0289FF001A0
692:102B3000299FF00D1124E757FE4F80818F7080612F
693:102B4000808384EB91E00E9499140C9421150196E6
694:102B50008770BECF0895CF92DF92EF92FF920F93CE
695:102B60001F93CF93DF93CDB7DEB762970FB6F8947C
696:102B7000DEBF0FBECDBF8C0185E0F801DE011D96E2
697:102B800001900D928A95E1F7D8014C9111965C91D4
698:102B9000119712966C9112971396CD90DC90149722
699:102BA0003091B4017091B5018091B7019091B80155
700:102BB000009709F46BC17F3F19F43F3F09F466C1E8
701:102BC000E090B601EE2009F4C0C02091B901C8160A
702:102BD000D90628F0F601E81BF90BCF0104C0809557
703:102BE00090958C0D9D1DFF24F394883C910578F001
704:102BF000F12C207F09F0C6C07C2DD98AC88A89892A
705:102C00000E94021584EB91E00E949914B1C0822FBA
706:102C1000807F09F046C0751314C0341312C06111CF
707:102C200010C02F7020612093B9010E94421584EBDF
708:102C300091E00E9499148091B901D80115968C9366
709:102C40002EC0CD2819F15F3F11F44F3FF9F0F62E59
710:102C500061111CC0809182012091830136E08217AE
711:102C600009F45AC090E0389FF001399FF00D11240B
712:102C7000EC57FE4F7181571306C07081471303C094
713:102C80007281711103C001968770E9CFF62E662319
714:102C900009F418C18091B90181608093B901F12CC8
715:102CA00011C1751308C0341306C0611104C08091AE
716:102CB000B901D801C3C04D875E878D859E856A8B1B
717:102CC0000E94D8146A898823E1F16623D1F120910A
718:102CD000B901822F82958F7090E0029774F08091F5
719:102CE000B4019091B50198878F831986DB86CA86D7
720:102CF0002C87CE0107960E94991486E0F801A4EB78
721:102D0000B1E001900D928A95E1F70E9450150E9462
722:102D10004215FF24F394D6C04D875E878D859E852E
723:102D20000E940C1A292F22952F7030E02230310595
724:102D30000CF0BCC09F7009F0B6C0805E883008F40B
725:102D4000C1C0C8010E949914E4CFC816D90608F47E
726:102D500053C0F601E81BF90BCF01883C910508F43C
727:102D600050C0F12C7C2DD98AC88A89890E9402150D
728:102D7000E4EBF1E086E0DF011D928A95E9F70E941D
729:102D80004215A0C0751314C0341312C0611110C0D5
730:102D90008091B901F8018583C8010E94991486E0E9
731:102DA000E4EBF1E0DF011D928A95E9F7FE2C8AC081
732:102DB0004D875E878D859E856A8B0E94D8146A89AF
733:102DC000882309F4BECF662309F4BBCF2091B90153
734:102DD000822F82958F7090E002970CF48ECF8091B5
735:102DE000B4019091B5019A8389831B82DD82CC82E4
736:102DF0002E83CE0101967FCF809590958C0D9D1DE1
737:102E0000ACCFF62E662309F49CCF75132EC0341375
738:102E10002CC02091B90120FD1FC0822F82958F7098
739:102E2000D9F0D80115962C9315978F3049F08F5F04
740:102E3000982F9295907F822F8F70892B15968C9367
741:102E4000C8010E94991486E0F801A4EBB1E001905A
742:102E50000D928A95E1F793CF86E0F801A4EBB1E0FB
743:102E600001900D928A95E1F72DC04D875E878D8583
744:102E70009E850E94D814811140CF8091B901816054
745:102E80008093B901C8010E9499141CC0662309F4FB
746:102E900058CF4D875E878D859E850E94D8148823E4
747:102EA00009F44FCF2ACF811148CF0CC0243031050F
748:102EB0000CF047CF9F7009F440CFF8019581907FC7
749:102EC00009F03BCF8F2D62960FB6F894DEBF0FBE90
750:102ED000CDBFDF91CF911F910F91FF90EF90DF90C9
751:102EE000CF9008951F93CF93DF93CDB7DEB72C9784
752:102EF0000FB6F894DEBF0FBECDBF4F8358876987EA
753:102F00007A878B879C87CE0107960E94AB15882312
754:102F100069F08F8198852A853B85232BF1F19F3FAE
755:102F200009F063C08F3F09F060C037C086E0FE0142
756:102F30003796DE01119601900D928A95E1F76F8127
757:102F40007885EA85FB85309741F17F3F11F46F3F2B
758:102F500021F12091830130E0C90101968770992702
759:102F60004091820150E08417950709F447C06983B6
760:102F70007A83FD83EC8396E0929FD001939FB00DFE
761:102F80001124AC57BE4FFE01319601900D929A95D7
762:102F9000E1F7809383010E94211516E08091820160
763:102FA000909183018917C1F1189FC00111248C579A
764:102FB0009E4F0E94AB15882379F1E09182011E9FFC
765:102FC000F0011124EC57FE4F4081518162817381E1
766:102FD000848195810E9411158091820190E0019673
767:102FE0008770992780938201D9CF4F815885698551
768:102FF0007A858B859C850E941115CFCF0E94D414B1
769:103000001092830110928201E4EBF1E086E0DF018F
770:103010001D928A95E9F7C1CF2C960FB6F894DEBFC2
771:103020000FBECDBFDF91CF911F910895EF92FF9218
772:103030000F931F93CF93DF938C01009709F46CC01B
773:10304000F12CEE24E394E8012196F8018491843771
774:1030500040F4843008F051C0813081F0823019F1A1
775:103060005BC0853709F444C0A8F19CE7980F9037FE
776:1030700008F052C08F770E94F11141C00E5F1F4FC0
777:10308000FE01C49180E28C0F883048F4C7708E2D09
778:1030900001C0880FCA95EAF70E94A81A14C08C2FA5
779:1030A0000E9429112DC00E5F1F4FFE01C49180E2C6
780:1030B0008C0F883058F4C7708E2D01C0880FCA95C8
781:1030C000EAF70E94AE1A0E94CF1A1AC08C2F0E94F3
782:1030D000F11116C00E5F1F4FFE01C491CC2381F089
783:1030E0008FE99FE00197F1F700C00000C150F6CFD3
784:1030F0000E5F1F4FFE01F49003C00E9429118E0144
785:103100008F2D882309F49FCFEFE9FFE03197F1F786
786:1031100000C000008150F5CFDF91CF911F910F913A
787:10312000FF90EF90089508956093BE017093BF01E2
788:103130008093C0019093C1010C94C0140F931F930E
789:103140000091BE011091BF012091C0013091C101D9
790:10315000DC01CB01802B912BA22BB32B8093BE01E2
791:103160009093BF01A093C001B093C1011F910F9133
792:103170000C94C0140F931F930091BE011091BF01D6
793:103180002091C0013091C101DC01CB01802391234A
794:10319000A223B3238093BE019093BF01A093C001EB
795:1031A000B093C1011F910F910C94C0140F931F9302
796:1031B0000091BE011091BF012091C0013091C10169
797:1031C000DC01CB0180279127A227B3278093BE0182
798:1031D0009093BF01A093C001B093C1011F910F91C3
799:1031E0000C94C0141092BA011092BB011092BC0151
800:1031F0001092BD010C94C01441E050E060E070E01A
801:1032000004C0440F551F661F771F8A95D2F740935D
802:10321000BA015093BB016093BC017093BD010C9443
803:10322000C01441E050E060E070E004C0440F551F5E
804:10323000661F771F8A95D2F78091BA019091BB01E2
805:10324000A091BC01B091BD01482B592B6A2B7B2B5F
806:103250004093BA015093BB016093BC017093BD01D0
807:103260000C94C01441E050E060E070E004C0440FF2
808:10327000551F661F771F8A95D2F740955095609528
809:1032800070958091BA019091BB01A091BC01B09161
810:10329000BD01482359236A237B234093BA015093ED
811:1032A000BB016093BC017093BD010C94C01441E05C
812:1032B00050E060E070E004C0440F551F661F771FA8
813:1032C0008A95D2F78091BA019091BB01A091BC017F
814:1032D000B091BD01482759276A277B274093BA013F
815:1032E0005093BB016093BC017093BD010C94C0145A
816:1032F0000F931F930091BA011091BB012091BC0163
817:103300003091BD01DC01CB01802B912BA22BB32B83
818:103310008093BA019093BB01A093BC01B093BD010F
819:103320001F910F910C94C0140F931F930091BA0139
820:103330001091BB012091BC013091BD01DC01CB019A
821:1033400080239123A223B3238093BA019093BB01DE
822:10335000A093BC01B093BD011F910F910C94C014B8
823:103360000F931F930091BA011091BB012091BC01F2
824:103370003091BD01DC01CB0180279127A227B32723
825:103380008093BA019093BB01A093BC01B093BD019F
826:103390001F910F910C94C0140895CF92DF92EF9279
827:1033A000FF920F931F93CF93DF938C01C090BE01C8
828:1033B000D090BF01E090C001F090C1018091BA01AE
829:1033C0009091BB01A091BC01B091BD01C82AD92A3E
830:1033D000EA2AFB2ACFE1D0E0D701C6010C2E04C0B7
831:1033E000B695A795979587950A94D2F780FF06C062
832:1033F000B8018C2F0E94CA05019721F4219760F72C
833:1034000080E001C08C2FDF91CF911F910F91FF9031
834:10341000EF90DF90CF900895CF93DF93EC010E945F
835:10342000CD19BE010E94CA05DF91CF910895CB014D
836:103430000E940C1A08958091C20185958595859505
837:1034400008958091C2018770089598E0899F900146
838:103450001124262B2093C2010C9411192091C20132
839:10346000809582238093C201982F977069F430E091
840:10347000482F552747FD50952417350729F0859586
841:10348000859585950C94321908959091C201977095
842:1034900081E009F480E0089520910C0130910D0144
843:1034A000F90132969FEF40E05191581789F09F3F04
844:1034B00019F4511101C0942F4F5F4630A9F79F3F77
845:1034C00039F0F901E90FF11D97FDFA95828308950E
846:1034D000089520910C0130910D01F9013296285F79
847:1034E0003F4F9081981301C010823196E217F30785
848:1034F000C1F7089581E090E0E0910C01F0910D0199
849:10350000E80FF91F1082019688309105A9F70895F8
850:103510009091CE01892B8093CE0108958095909152
851:10352000CE0189238093CE0108951092CE01089593
852:103530009091CD01892B8093CD0108958095909134
853:10354000CD0189238093CD0108951092CD01089576
854:103550009091CC01892B8093CC0108958095909116
855:10356000CC0189238093CC0108951092CC01089559
856:103570008093C30108951092C301089580910C01B6
857:1035800090910D01FC0131969C01285F3F4F80E036
858:10359000919191118F5FE217F307D1F70895E091B0
859:1035A0000C01F0910D018091CE018083E0910C011E
860:1035B000F0910D0190818091CD01892B8083E09164
861:1035C0000C01F0910D0190818091CC01892B8083B9
862:1035D0008091C301882361F0E0910C01F0910D010D
863:1035E0009081892B80830E94BE1A81111092C301A1
864:1035F00080910C0190910D010C94FE0F20E000973A
865:1036000039F0AC0141505109842395232F5FF7CF46
866:10361000822F08958091E601843039F11092D00113
867:1036200020E488E190E00FB6F894A89580936000BC
868:103630000FBE2093600080E00E94850380E00E941E
869:10364000FB0783B7817F846083BF83B7816083BFBB
870:103650007894889583B78E7F83BF88E10FB6F894FE
871:1036600080936000109260000FBE0895089580E07E
872:103670000E9485030E9411080E9494080E94361B34
873:103680000E940C0991E0811101C090E0892F0895FA
874:103690000E94D41480E00E9485030E949C200E9416
875:1036A000F20F0C94FB071F920F920FB60F9211248A
876:1036B0008F939F93AF93BF938091D001811113C0DB
877:1036C0008091D1019091D201A091D301B091D40108
878:1036D0004196A11DB11D8093D1019093D201A09379
879:1036E000D301B093D401BF91AF919F918F910F906F
880:1036F0000FBE0F901F90189582E084BD93E095BD9A
881:103700009AEF97BD80936E0008952FB7F89480913B
882:10371000D1019091D201A091D301B091D4012FBFDA
883:103720000895CF92DF92EF92FF920F931F932FB7DE
884:10373000F8944091D1015091D2016091D3017091E0
885:10374000D4012FBF6A017B01EE24FF248C0120E00D
886:1037500030E0C016D106E206F30610F441505109DC
887:103760009A01281B390BC9011F910F91FF90EF900F
888:10377000DF90CF9008951F920F920FB60F921124F1
889:103780008F939F93AF93BF938091D1019091D2017A
890:10379000A091D301B091D4010196A11DB11D8093D8
891:1037A000D1019093D201A093D301B093D401BF91E2
892:1037B000AF919F918F910F900FBE0F901F90189512
893:1037C0000E94EF0CF8942FEF87EA91E62150804099
894:1037D0009040E1F700C0000087E090EBDC018093AF
895:1037E000F0019093F101A093F201B093F3019CE0FA
896:1037F00088E10FB6F894A895809360000FBE90936F
897:103800006000FFCF0E943A1C811102C00E941B1C65
898:103810000E94451C8093CF010E944D1C90E0909324
899:10382000E1018093E0010E94491C682F70E080E074
900:1038300090E00C9494186DEE7EEF80E090E00E9492
901:10384000A72260E082E090E00E94952260E083E0A1
902:1038500090E00E94952260E084E090E00E94952232
903:1038600060E085E090E00E94952260E086E090E0D4
904:103870000C94952280E090E00E948F2221E08D3E02
905:103880009E4F09F020E0822F089582E090E00C9492
906:10389000872283E090E00C94872284E090E00C94EF
907:1038A0008722682F84E090E00C94952286E090E0D7
908:1038B0000C948722682F86E090E00C9495228091EA
909:1038C000D70180FF0BC06091110185E0689FB001B6
910:1038D000112475956795759567952BC081FF09C073
911:1038E0006091110185E0689FB0011124759567957D
912:1038F00020C082FF07C06091110185E0689FB00180
913:10390000112417C09091D8019923D1F06091100132
914:10391000961788F72091110185E0289F90011124C6
915:10392000929FA001939F500D112470E0CA010E9444
916:1039300059226038710540F46115710539F002C0F3
917:1039400065E070E0862F08958FE7089581E008957F
918:103950008091D70180FF08C060910F0170E07595DC
919:1039600067957595679521C081FF06C060910F012D
920:1039700070E07595679519C082FF04C060910F01D2
921:1039800070E010C09091D8019923C1F060910E01B0
922:103990009617A0F780910F01899FC001112470E054
923:1039A0000E9459226038710528F46115710521F0D3
924:1039B000862F08958FE7089581E0089561E070E013
925:1039C000F4CF803F21F40E945F1C819504C0813FA9
926:1039D00029F40E945F1C8093DB010895823F21F44B
927:1039E0000E945F1C819504C0833F29F40E945F1CE4
928:1039F0008093DA010895893F19F40E94A81C05C03C
929:103A00008A3F31F40E94A81C81958093DC010895BF
930:103A10008B3F21F40E94A81C819504C08C3F29F49F
931:103A20000E94A81C8093DD010895843F21F48091B9
932:103A3000D901816017C0853F21F48091D90182604E
933:103A400011C0863F21F48091D90184600BC0873F6B
934:103A500021F48091D901886005C0883F31F48091BC
935:103A6000D90180618093D90108958D3F21F480911F
936:103A7000D70181600BC08E3F21F48091D701826015
937:103A800005C08F3F29F48091D70184608093D701CE
938:103A90000895803F39F48091DB0187FF6CC010925C
939:103AA000DB0169C0813F29F48091DB011816BCF36A
940:103AB00062C09091DA01823F29F497FF5CC01092B6
941:103AC000DA0159C0833F19F41916CCF354C0893F69
942:103AD00041F48091DC0118160CF04DC01092DC010D
943:103AE0004AC08A3F29F48091DC0187FF44C0F6CFA9
944:103AF0008B3F39F48091DD0187FF3DC01092DD01DD
945:103B00003AC08C3F29F48091DD011816BCF333C014
946:103B1000843F21F48091D9018E7F17C0853F21F425
947:103B20008091D9018D7F11C0863F21F48091D90108
948:103B30008B7F0BC0873F21F48091D901877F05C01F
949:103B4000883F31F48091D9018F7E8093D90113C0D1
950:103B50008D3F21F48091D7018E7F0BC08E3F21F4E1
951:103B60008091D7018D7F05C08F3F29F48091D701C7
952:103B70008B7F8093D7018091DA0181110EC08091F3
953:103B8000DB0181110AC08091DC01811106C08091A6
954:103B9000DD01811102C01092D801089589ED91E0F4
955:103BA0000E9409100E94851B9093D6018093D50135
956:103BB00008951F93CF93DF938091D5019091D60103
957:103BC0000E94911BAC019091D801992321F0209182
958:103BD000120130E006C0209113018AE0289F900175
959:103BE00011244217530708F486C08091DA01C0916E
960:103BF000DB01D091DC011091DD01811107C0C11101
961:103C000076C0D11174C0111172C075C09F3F19F0F8
962:103C10009F5F9093D801181624F40E945F1C809334
963:103C2000DA018091DA0187FF05C00E945F1C81954F
964:103C30008093DA011C1624F40E945F1C8093DB0140
965:103C40008091DB0187FF05C00E945F1C81958093F6
966:103C5000DB016091DA01662339F1C091DB01CC23ED
967:103C600019F1772767FD7095872F972F0E946A219A
968:103C700023E333E343E35FE30E94CE210E94372135
969:103C80006093DA016C2F772767FD7095872F972F48
970:103C90000E946A2123E333E343E35FE30E94CE21E2
971:103CA0000E9437216093DB011D1624F40E94A81C9A
972:103CB0008093DC018091DC0187FF05C00E94A81C75
973:103CC00081958093DC01111624F40E94A81C809336
974:103CD000DD018091DD0187FF05C00E94A81C819550
975:103CE0008093DD01DF91CF911F910C94CE1D9F3FFA
976:103CF00009F08ECF96CFDF91CF911F910895E9ED16
977:103D0000F1E085E0DF011D928A95E9F71092D80174
978:103D10001092D7010895833081F128F4813059F051
979:103D20008230D1F00895853009F449C0B8F1863069
980:103D300009F456C0089580911301262F30E0280F12
981:103D4000311D2F3F310524F4680F6093130108954E
982:103D50008FEF80931301089580911201262F30E098
983:103D6000280F311D2F3F310524F4680F6093120195
984:103D700008958FEF80931201089580911101262FED
985:103D800030E0280F311D2F3F310524F4680F609378
986:103D9000110108958FEF8093110108958091100112
987:103DA000262F30E0280F311D2F3F310524F4680FF6
988:103DB0006093100108958FEF809310010895809112
989:103DC0000F01262F30E0280F311D2F3F310524F43D
990:103DD000680F60930F0108958FEF80930F0108958E
991:103DE00080910E01262F30E0280F311D2F3F310525
992:103DF00024F4680F60930E0108958FEF80930E01F5
993:103E00000895833011F128F4813049F0823091F027
994:103E10000895853081F120F18630C1F108958091B7
995:103E20001301681720F4861B8093130108951092E4
996:103E30001301089580911201681720F4861B809366
997:103E400012010895109212010895809111016817CE
998:103E500020F4861B8093110108951092110108959A
999:103E600080911001681720F4861B8093100108953B
1000:103E700010921001089580910F01681720F4861B9D
1001:103E800080930F01089510920F01089580910E0103
1002:103E9000681720F4861B80930E01089510920E017E
1003:103EA00008950F931F938B3109F46EC098F58B30F2
1004:103EB00009F49BC0B8F4863009F44AC0873009F48D
1005:103EC00051C0853009F098C00E94D4140FEF13ED53
1006:103ED00020E3015010402040E1F700C000000E94A4
1007:103EE000E01B83C0803109F462C068F48E3009F0B1
1008:103EF00083C08091CF0182FB222720F991E0922795
1009:103F000090FB82F94AC0863109F46FC0893109F407
1010:103F10006CC072C0853309F46AC068F4873209F452
1011:103F200066C028F48E3108F467C08D514BC08932C9
1012:103F300009F45DC061C0833438F48A3308F041C0AD
1013:103F4000883309F452C058C0833409F450C054C0B7
1014:103F50008091CF01817F8E7F8093CF0181E080931C
1015:103F6000DF014BC09091CF01892F8095817080FB3C
1016:103F700090F929F0966098609093CF013EC0997FA8
1017:103F8000977F9093CF0131C08091CF0181FB222791
1018:103F900020F991E0922790FB81F98093CF0199233A
1019:103FA00021F18091CF0181608093CF011EC080916B
1020:103FB000CF0183FB222720F991E0922790FB83F920
1021:103FC000ECCF895341E050E060E070E08A019B0152
1022:103FD00004C0000F111F221F331F8A95D2F7C90199
1023:103FE000B8010E9494180E94D41481E006C061E0D8
1024:103FF00070E080E090E0F5CF80E01F910F91089590
1025:1040000080E0089580E00895CF93C82F8091DF016C
1026:10401000813069F018F08230C9F184C0E0910C0160
1027:10402000F0910D018081823209F07EC007C0E091DD
1028:104030000C01F0910D018081823261F48C2F0E947D
1029:104040000020811104C08C2F0E94511F1DC081E0EF
1030:1040500090E01AC08C2F0E940220811114C0C4313C
1031:1040600079F048F4CB3079F0C03109F061C082E0DA
1032:104070008093DF0108C0C93219F0C83321F058C05D
1033:104080001092DF0155C081E0817054C0C93291F1B6
1034:1040900020F5C43179F1B0F4C73009F047C08EE1A2
1035:1040A0008093130182E3809312018AE080931101CF
1036:1040B00084E18093100188E080930F0188E280936F
1037:1040C0000E0134C0CE51C63088F5EC2FF0E0E95C2B
1038:1040D000FE4F80818093DE0129C0CE34E9F020F4C8
1039:1040E000CB3421F56AE013C0C13579F0C235F1F463
1040:1040F00061E00DC08091DE01882319F01092DE018D
1041:1041000015C081E08093DF0115C061E006C0809199
1042:10411000DE010E948B1E0AC06AE08091DE010E94CF
1043:10412000011F04C01092DF0180E004C081E002C0E2
1044:1041300080E0AACFCF9108950E943A1C811102C05D
1045:104140000E941B1C0E94561C8093EF0180FF02C03E
1046:10415000869501C080E00C9485038091EF01982F33
1047:104160009695292F30E0233031054CF49F5F990F4D
1048:104170008170892B81608093EF010E945A1C80918D
1049:10418000EF0186950C9485038091EF01982F969509
1050:1041900091F09158990F8170892B8093EF018E7F58
1051:1041A00091E009F490E08091EF0190FB80F9809319
1052:1041B000EF010E945A1C8091EF0186950C948503B3
1053:1041C0008091EF01982F909590FB80F98093EF01FB
1054:1041D0000E945A1C8091EF0180FF02C0869501C0A9
1055:1041E00080E00C9485039091EF01892F86958F5F75
1056:1041F0008F779170843028F4880F892B8093EF019A
1057:1042000002C09093EF018091EF018E7F91E009F45D
1058:1042100090E08091EF0190FB80F98093EF010E9484
1059:104220005A1C8091EF0186950C9485032091EF0133
1060:10423000922F96958927982F990F822F8170892B1D
1061:104240008093EF018E7F91E009F490E08091EF017F
1062:1042500090FB80F98093EF010E945A1C8091EF013E
1063:1042600086950C9485038091EF018695089504D07E
1064:104270006894B1118DC0089570D088F09F5790F068
1065:10428000B92F9927B751A0F0D1F0660F771F881F7B
1066:10429000991F1AF0BA95C9F712C0B13081F077D0E2
1067:1042A000B1E0089574C0672F782F8827B85F39F080
1068:1042B000B93FCCF3869577956795B395D9F73EF4DA
1069:1042C00090958095709561957F4F8F4F9F4F089582
1070:1042D000E89409C097FB3EF49095809570956195A0
1071:1042E0007F4F8F4F9F4F9923A9F0F92F96E9BB2756
1072:1042F0009395F695879577956795B795F111F8CFD2
1073:10430000FAF4BB0F11F460FF1BC06F5F7F4F8F4F3C
1074:104310009F4F16C0882311F096E911C0772321F032
1075:104320009EE8872F762F05C0662371F096E8862FCA
1076:1043300070E060E02AF09A95660F771F881FDAF721
1077:10434000880F9695879597F9089557FD9058440FD3
1078:10435000551F59F05F3F71F04795880F97FB991FE4
1079:1043600061F09F3F79F087950895121613061406A1
1080:10437000551FF2CF4695F1DF08C01616170618062E
1081:10438000991FF1CF86957105610508940895E89409
1082:10439000BB2766277727CB0197F908950BD078C004
1083:1043A00069D028F06ED018F0952309F05AC05FC08C
1084:1043B0001124EECFCADFA0F3959FD1F3950F50E003
1085:1043C000551F629FF001729FBB27F00DB11D639FC7
1086:1043D000AA27F00DB11DAA1F649F6627B00DA11D6D
1087:1043E000661F829F2227B00DA11D621F739FB00D13
1088:1043F000A11D621F839FA00D611D221F749F332783
1089:10440000A00D611D231F849F600D211D822F762F1B
1090:104410006A2F11249F5750408AF0E1F088234AF018
1091:10442000EE0FFF1FBB1F661F771F881F9150504064
1092:10443000A9F79E3F510570F014C0AACF5F3FECF37F
1093:10444000983EDCF3869577956795B795F795E79550
1094:104450009F5FC1F7FE2B880F911D9695879597F961
1095:10446000089597F99F6780E870E060E008959FEFF6
1096:1044700080EC089500240A941616170618060906FB
1097:10448000089500240A9412161306140605060895CA
1098:10449000092E0394000C11F4882352F0BB0F40F452
1099:1044A000BF2B11F460FF04C06F5F7F4F8F4F9F4F92
1100:1044B000089597FB072E16F4009407D077FD09D0D6
1101:1044C0000E94732207FC05D03EF4909581959F4F82
1102:1044D0000895709561957F4F0895EE0FFF1F059029
1103:1044E000F491E02D0994AA1BBB1B51E107C0AA1F40
1104:1044F000BB1FA617B70710F0A61BB70B881F991F85
1105:104500005A95A9F780959095BC01CD010895F99928
1106:10451000FECF92BD81BDF89A992780B50895A8E194
1107:10452000B0E042E050E00C94AF22262FF999FECF84
1108:1045300092BD81BDF89A019700B4021639F01FBAF6
1109:1045400020BD0FB6F894FA9AF99A0FBE0895019615
1110:10455000272F0E9496220C949522DC01CB01FC01AE
1111:10456000F999FECF06C0F2BDE1BDF89A319600B4CC
1112:0E4570000D9241505040B8F70895F894FFCFD7
1113:10457E00FF2209B0098D095909250901C40128082E
1114:10458E00140A321E1F0F03764F5F6F7F49694379FE
1115:10459E003929190959536366404D361306C60590DD
1116:1045AE00053C0555056E05010203040506070809BD
1117:0245BE000000FB
1118:00000001FF
diff --git a/keyboards/atomic/keymaps/default/keymap.c b/keyboards/atomic/keymaps/default/keymap.c
new file mode 100644
index 000000000..0ede363a1
--- /dev/null
+++ b/keyboards/atomic/keymaps/default/keymap.c
@@ -0,0 +1,234 @@
1#include "atomic.h"
2
3// Fillers to make layering more clear
4#define _______ KC_TRNS
5#define ___T___ KC_TRNS
6#define XXXXXXX KC_NO
7
8// Layer shorthand
9#define _QW 0
10#define _CM 1
11#define _DV 2
12#define _LW 3
13#define _RS 4
14#define _FN 5
15
16/* ROW 1 OPTIONS
17 * .--------------------------------------------------------------------------------------------------------------------------------------.
18 * | | | | | | | | | | | | | | | |
19 * '--------------------------------------------------------------------------------------------------------------------------------------'
20 * .- 2u ------------.
21 * | KEY . XXXXXX |
22 * '-----------------'
23 */
24
25/* ROW 2 OPTIONS
26 * .--------------------------------------------------------------------------------------------------------------------------------------.
27 * | | | | | | | | | | | | | | | |
28 * '--------------------------------------------------------------------------------------------------------------------------------------'
29 * .- 2u ------------. .- 2u ------------.
30 * | KEY . XXXXXX | | KEY . XXXXXX |
31 * '-----------------' '-----------------'
32 */
33
34/* ROW 3 OPTIONS
35 * .--------------------------------------------------------------------------------------------------------------------------------------.
36 * | | | | | | | | | | | | | | | |
37 * '--------------------------------------------------------------------------------------------------------------------------------------'
38 * .- 2u ------------. .- 2u ------------.
39 * | KEY . XXXXXX | | X |
40 * '-----------------' '-----------------'
41 * .- 2u ------------.
42 * | X |
43 * '-----------------'
44 */
45
46/* ROW 4 OPTIONS
47 * .--------------------------------------------------------------------------------------------------------------------------------------.
48 * | | | | | | | | | | | | | | | |
49 * '--------------------------------------------------------------------------------------------------------------------------------------'
50 * .- 2u ------------.
51 * | KEY . XXXXXX |
52 * '-----------------'
53 * .- 2u ------------. .- 2u ------------.
54 * | KEY . XXXXXX | | KEY . XXXXXX |
55 * '-----------------' '-----------------'
56 * .- 2u ------------.
57 * | KEY . XXXXXX |
58 * '-----------------'
59 */
60
61/* ROW 5 OPTIONS
62 * .--------------------------------------------------------------------------------------------------------------------------------------.
63 * | | | | | | | | | | | | | | | |
64 * '--------------------------------------------------------------------------------------------------------------------------------------'
65 * .- 1.25u --+ 1.25u ------- 1.25u +--- 1.25u --- 2u -------------- 1.25u ---- 1.25u ------ 1.25u +---- 1.25u .
66 * | X | X | X | X | X | X | X | X | X |
67 * '-----------------------------------------------------------------------------------------------------------'
68 * .- 2u ------------.
69 * | X |
70 * '-----------------'
71 * .--------------------- 6.25u ----------------------------.
72 * | X |
73 * '--------------------------------------------------------'
74 * .----------------------- 6.25u ---------------------------- 1.25u ---- 1.25u ---- 1.25u ------ 1.25u +-- 1.25u --.
75 * | X | X | X | X | X | X |
76 * '----------------------------------------------------------------------------------------------------------------'
77 */
78
79const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
80
81/* QWERTY - MIT ENHANCED / GRID COMPATIBLE
82 * .---------------------------------------------------------------------------------------------------------------------- 2u ------------.
83 * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | XXXXXX . BACKSP |
84 * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------|
85 * | TAB | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ | DEL |
86 * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ------------+--------|
87 * | ESC | A | S | D | F | G | H | J | K | L | ; | ' | XXXXXX . ENTER | PG UP |
88 * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ---------------------+--------|
89 * | LSHIFT | Z | X | C | V | B | N | M | , | . | / | XXXXXX . RSHIFT | UP | PG DN |
90 * |--------+--------+--------+--------+--------+- 2u ------------+--------+--------+--------+--------+-----------------+--------+--------|
91 * | BRITE | LCTRL | LALT | LGUI | RAISE | XXXXXX . SPACE | LOWER | RGUI | RALT | RCTRL | FN | LEFT | DOWN | RIGHT |
92 * '--------------------------------------------------------------------------------------------------------------------------------------'
93 */
94
95 [_QW] = { /* QWERTY */
96 { KC_GRV, 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 },
97 { 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 },
98 { 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_ENT, KC_ENT, KC_PGUP },
99 { 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 },
100 { M(0), KC_LCTL, KC_LALT, KC_LGUI, MO(_RS), KC_SPC, KC_SPC, MO(_LW), KC_RGUI, KC_RALT, KC_RCTL, MO(_FN), KC_LEFT, KC_DOWN, KC_RGHT },
101 },
102
103/* COLEMAK - MIT ENHANCED / GRID COMPATIBLE
104 * .---------------------------------------------------------------------------------------------------------------------- 2u ------------.
105 * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | XXXXXX . BACKSP |
106 * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------|
107 * | TAB | Q | W | F | P | G | J | L | U | Y | ; | [ | ] | \ | DEL |
108 * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ------------+--------|
109 * | ESC | A | R | S | T | D | H | N | E | I | O | ' | XXXXXX . ENTER | PG UP |
110 * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ---------------------+--------|
111 * | LSHIFT | Z | X | C | V | B | K | M | , | . | / | XXXXXX . RSHIFT | UP | PG DN |
112 * |--------+--------+--------+--------+--------+- 2u ------------+--------+--------+--------+--------+-----------------+--------+--------|
113 * | BRITE | LCTRL | LALT | LGUI | RAISE | XXXXXX . SPACE | LOWER | RGUI | RALT | RCTRL | FN | LEFT | DOWN | RIGHT |
114 * '--------------------------------------------------------------------------------------------------------------------------------------'
115 */
116
117 [_CM] = { /* COLEMAK */
118 { KC_GRV, 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 },
119 { 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 },
120 { 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_ENT, KC_ENT, KC_PGUP },
121 { 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 },
122 { M(0), KC_LCTL, KC_LALT, KC_LGUI, MO(_RS), KC_SPC, KC_SPC, MO(_LW), KC_RGUI, KC_RALT, KC_RCTL, MO(_FN), KC_LEFT, KC_DOWN, KC_RGHT },
123 },
124
125/* DVORAK - MIT ENHANCED / GRID COMPATIBLE
126 * .---------------------------------------------------------------------------------------------------------------------- 2u ------------.
127 * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | XXXXXX . BACKSP |
128 * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------|
129 * | TAB | ' | , | . | P | Y | F | G | C | R | L | [ | ] | \ | DEL |
130 * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ------------+--------|
131 * | ESC | A | O | E | U | I | D | H | T | N | S | / | XXXXXX . ENTER | PG UP |
132 * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ---------------------+--------|
133 * | LSHIFT | ; | Q | J | K | X | B | M | W | V | Z | XXXXXX . RSHIFT | UP | PG DN |
134 * |--------+--------+--------+--------+--------+- 2u ------------+--------+--------+--------+--------+-----------------+--------+--------|
135 * | BRITE | LCTRL | LALT | LGUI | RAISE | XXXXXX . SPACE | LOWER | RGUI | RALT | RCTRL | FN | LEFT | DOWN | RIGHT |
136 * '--------------------------------------------------------------------------------------------------------------------------------------'
137 */
138
139 [_DV] = { /* DVORAK */
140 { KC_GRV, 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 },
141 { KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL },
142 { 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_ENT, KC_ENT, KC_PGUP },
143 { 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 },
144 { M(0), KC_LCTL, KC_LALT, KC_LGUI, MO(_RS), KC_SPC, KC_SPC, MO(_LW), KC_RGUI, KC_RALT, KC_RCTL, MO(_FN), KC_LEFT, KC_DOWN, KC_RGHT },
145 },
146
147/* LOWERED
148 * .---------------------------------------------------------------------------------------------------------------------- 2u ------------.
149 * | | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | XXXXXX . |
150 * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------|
151 * | | ! | @ | # | $ | % | ^ | & | * | ( | ) | | | | INS |
152 * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ------------+--------|
153 * | | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | | XXXXXX . | |
154 * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ---------------------+--------|
155 * | | F7 | F8 | F9 | F10 | F11 | F12 | | | | | XXXXXX . | | |
156 * |--------+--------+--------+--------+--------+- 2u ------------+--------+--------+--------+--------+-----------------+--------+--------|
157 * | | | | | | XXXXXX . | | | | | | | | |
158 * '--------------------------------------------------------------------------------------------------------------------------------------'
159 */
160
161 [_LW] = { /* LOWERED */
162 { _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, ___T___, ___T___ },
163 { _______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, _______, _______, KC_INS },
164 { _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, ___T___, ___T___, _______ },
165 { _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, ___T___, ___T___, _______, _______ },
166 { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ },
167 },
168
169/* RAISED
170 * .---------------------------------------------------------------------------------------------------------------------- 2u ------------.
171 * | | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | XXXXXX . |
172 * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------|
173 * | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | | | | INS |
174 * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ------------+--------|
175 * | | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ | XXXXXX . | |
176 * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ---------------------+--------|
177 * | | F7 | F8 | F9 | F10 | F11 | F12 | | | | | XXXXXX . | | |
178 * |--------+--------+--------+--------+--------+- 2u ------------+--------+--------+--------+--------+-----------------+--------+--------|
179 * | | | | | | XXXXXX . | | | | | | | | |
180 * '--------------------------------------------------------------------------------------------------------------------------------------'
181 */
182
183 [_RS] = { /* RAISED */
184 { _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, ___T___, ___T___ },
185 { _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, _______, _______, KC_INS },
186 { _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, ___T___, ___T___, _______ },
187 { _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, ___T___, ___T___, _______, _______ },
188 { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ },
189 },
190
191/* FUNCTION
192 * .---------------------------------------------------------------------------------------------------------------------- 2u ------------.
193 * | NUM LK | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | XXXXXX . |
194 * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------|
195 * | SCR LK | F13 | F14 | F15 | F16 | F17 | F18 | F19 | F20 | F21 | F22 | F23 | F24 | PAUSE | PR SCR |
196 * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ------------+--------|
197 * | CAP LK | MS BT5 | MS BT4 | MS BT3 | MS BT2 | SLOW M | FAST M | NEXT | VOL+ | VOL- | PLAY | | XXXXXX . | WHEEL+ |
198 * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ---------------------+--------|
199 * | | | QWERTY | COLEMK | DVORAK | | | | | | | XXXXXX . | MOUS U | WHEEL- |
200 * |--------+--------+--------+--------+--------+- 2u ------------+--------+--------+--------+--------+-----------------+--------+--------|
201 * | | | | | | XXXXXX . MS BT1 | | | | | | MOUS L | MOUS D | MOUS R |
202 * '--------------------------------------------------------------------------------------------------------------------------------------'
203 */
204
205 [_FN] = { /* FUNCTION */
206 { 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, ___T___, ___T___ },
207 { 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_PSCR },
208 { KC_CAPS, KC_BTN5, KC_BTN4, KC_BTN3, KC_BTN2, KC_ACL0, KC_ACL2, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY, _______, ___T___, ___T___, KC_WH_U },
209 { _______, _______, DF(_QW), DF(_CM), DF(_DV), _______, _______, _______, _______, _______, _______, ___T___, ___T___, KC_MS_U, KC_WH_D },
210 { _______, _______, _______, _______, _______, KC_BTN1, KC_BTN1, _______, _______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_R },
211 },
212};
213
214const uint16_t PROGMEM fn_actions[] = {
215
216};
217
218const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
219{
220 // MACRODOWN only works in this function
221 switch(id) {
222 case 0:
223 if (record->event.pressed) {
224 register_code(KC_RSFT);
225 #ifdef BACKLIGHT_ENABLE
226 backlight_step();
227 #endif
228 } else {
229 unregister_code(KC_RSFT);
230 }
231 break;
232 }
233 return MACRO_NONE;
234};
diff --git a/keyboards/atomic/keymaps/michelle.c b/keyboards/atomic/keymaps/michelle.c
new file mode 100644
index 000000000..2364c46a1
--- /dev/null
+++ b/keyboards/atomic/keymaps/michelle.c
@@ -0,0 +1,183 @@
1#include "atomic.h"
2
3const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
4 [0] = { /* Dvorak */
5 { 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_NO },
6// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐
7// │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
8// └────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┘
9// ┌─ 2u ────────────┐
10// │ X │
11// └─────────────────┘
12 { 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_INS, KC_DEL },
13// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐
14// │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
15// └────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┘
16// ┌─ 2u ────────────┐ ┌─ 2u ────────────┐
17// │ X │ │ X │
18// └─────────────────┘ └─────────────────┘
19 { 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_NO, KC_PGUP },
20// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐
21// │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
22// └────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┘
23// ┌─ 2u ────────────┐ ┌─ 2u ────────────┐
24// │ X │ │ X │
25// └─────────────────┘ └─────────────────┘
26// ┌─ 2u ────────────┐
27// │ X │
28// └─────────────────┘
29 { 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_NO, KC_UP, KC_PGDN },
30// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐
31// │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
32// └────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┘
33// ┌─ 2u ────────────┐
34// │ X │
35// └─────────────────┘
36// ┌─ 2u ────────────┐ ┌─ 2u ────────────┐
37// │ X │ │ X │
38// └─────────────────┘ └─────────────────┘
39// ┌─ 2u ────────────┐
40// │ X │
41// └─────────────────┘
42 { KC_LCTL, MO(1), KC_NO, KC_LALT, KC_NO, KC_NO, KC_SPC, KC_NO, KC_NO, KC_NO, KC_LGUI, MO(2), KC_LEFT, KC_DOWN, KC_RGHT },
43// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐
44// │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
45// └────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┘
46// ┌─ 1.25u ──┬ 1.25u ───┬─── 1.25u ┬─── 1.25u ─┬─ 2u ────────────┬─ 1.25u ──┬─ 1.25u ──┬─── 1.25u ┬──── 1.25u ┐
47// │ X │ X │ X │ X │ X │ X │ X │ X │ X │
48// └──────────┴──────────┴──────────┴───────────┴─────────────────┴──────────┴──────────┴──────────┴───────────┘
49// ┌─ 2u ────────────┐
50// │ X │
51// └─────────────────┘
52// ┌───────────────────── 6.25u ────────────────────────────┐
53// │ X │
54// └────────────────────────────────────────────────────────┘
55// ┌─────────────────────── 6.25u ──────────────────────────┬─ 1.25u ──┬─ 1.25u ──┬─ 1.25u ──┬─── 1.25u ┬── 1.25u ──┐
56// │ X │ X │ X │ X │ X │ X │
57// └────────────────────────────────────────────────────────┴──────────┴──────────┴──────────┴──────────┴───────────┘
58 },
59 [1] = { /* Qwerty + F keys */
60 { KC_ESC, 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_BSPC, KC_NO },
61// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐
62// │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
63// └────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┘
64// ┌─ 2u ────────────┐
65// │ X │
66// └─────────────────┘
67 { 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_INS, KC_DEL },
68// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐
69// │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
70// └────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┘
71// ┌─ 2u ────────────┐ ┌─ 2u ────────────┐
72// │ X │ │ X │
73// └─────────────────┘ └─────────────────┘
74 { 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_ENT, KC_NO, KC_PGUP },
75// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐
76// │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
77// └────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┘
78// ┌─ 2u ────────────┐ ┌─ 2u ────────────┐
79// │ X │ │ X │
80// └─────────────────┘ └─────────────────┘
81// ┌─ 2u ────────────┐
82// │ X │
83// └─────────────────┘
84 { 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_NO, KC_UP, KC_PGDN },
85// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐
86// │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
87// └────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┘
88// ┌─ 2u ────────────┐
89// │ X │
90// └─────────────────┘
91// ┌─ 2u ────────────┐ ┌─ 2u ────────────┐
92// │ X │ │ X │
93// └─────────────────┘ └─────────────────┘
94// ┌─ 2u ────────────┐
95// │ X │
96// └─────────────────┘
97 { KC_LCTL, KC_TRNS, KC_NO, KC_LALT, KC_NO, KC_NO, KC_SPC, KC_NO, KC_NO, KC_NO, KC_LGUI, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT },
98// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐
99// │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
100// └────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┘
101// ┌─ 1.25u ──┬ 1.25u ───┬─── 1.25u ┬─── 1.25u ─┬─ 2u ────────────┬─ 1.25u ──┬─ 1.25u ──┬─── 1.25u ┬──── 1.25u ┐
102// │ X │ X │ X │ X │ X │ X │ X │ X │ X │
103// └──────────┴──────────┴──────────┴───────────┴─────────────────┴──────────┴──────────┴──────────┴───────────┘
104// ┌─ 2u ────────────┐
105// │ X │
106// └─────────────────┘
107// ┌───────────────────── 6.25u ────────────────────────────┐
108// │ X │
109// └────────────────────────────────────────────────────────┘
110// ┌─────────────────────── 6.25u ──────────────────────────┬─ 1.25u ──┬─ 1.25u ──┬─ 1.25u ──┬─── 1.25u ┬── 1.25u ──┐
111// │ X │ X │ X │ X │ X │ X │
112// └────────────────────────────────────────────────────────┴──────────┴──────────┴──────────┴──────────┴───────────┘
113 },
114 [2] = { /* Numpad + qwerty shortcut keys */
115 { KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_P7, KC_P8, KC_P9, KC_0, KC_LBRC, KC_RBRC, KC_BSPC, KC_NO },
116// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐
117// │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
118// └────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┘
119// ┌─ 2u ────────────┐
120// │ X │
121// └─────────────────┘
122 { KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_P4, KC_P5, KC_P6, KC_L, KC_SLSH, KC_EQL, KC_INS, KC_DEL },
123// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐
124// │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
125// └────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┘
126// ┌─ 2u ────────────┐ ┌─ 2u ────────────┐
127// │ X │ │ X │
128// └─────────────────┘ └─────────────────┘
129 { KC_CAPS, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_P1, KC_P2, KC_P3, KC_S, KC_MINS, KC_ENT, KC_NO, KC_PGUP },
130// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐
131// │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
132// └────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┘
133// ┌─ 2u ────────────┐ ┌─ 2u ────────────┐
134// │ X │ │ X │
135// └─────────────────┘ └─────────────────┘
136// ┌─ 2u ────────────┐
137// │ X │
138// └─────────────────┘
139 { KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_X, KC_B, KC_P0, KC_P0, KC_PENT, KC_Z, KC_RSFT, KC_NO, KC_UP, KC_PGDN },
140// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐
141// │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
142// └────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┘
143// ┌─ 2u ────────────┐
144// │ X │
145// └─────────────────┘
146// ┌─ 2u ────────────┐ ┌─ 2u ────────────┐
147// │ X │ │ X │
148// └─────────────────┘ └─────────────────┘
149// ┌─ 2u ────────────┐
150// │ X │
151// └─────────────────┘
152 { KC_LCTL, KC_TRNS, KC_NO, KC_LALT, KC_NO, KC_NO, KC_SPC, KC_NO, KC_NO, KC_NO, KC_LGUI, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT },
153// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐
154// │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
155// └────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┘
156// ┌─ 1.25u ──┬ 1.25u ───┬─── 1.25u ┬─── 1.25u ─┬─ 2u ────────────┬─ 1.25u ──┬─ 1.25u ──┬─── 1.25u ┬──── 1.25u ┐
157// │ X │ X │ X │ X │ X │ X │ X │ X │ X │
158// └──────────┴──────────┴──────────┴───────────┴─────────────────┴──────────┴──────────┴──────────┴───────────┘
159// ┌─ 2u ────────────┐
160// │ X │
161// └─────────────────┘
162// ┌───────────────────── 6.25u ────────────────────────────┐
163// │ X │
164// └────────────────────────────────────────────────────────┘
165// ┌─────────────────────── 6.25u ──────────────────────────┬─ 1.25u ──┬─ 1.25u ──┬─ 1.25u ──┬─── 1.25u ┬── 1.25u ──┐
166// │ X │ X │ X │ X │ X │ X │
167// └────────────────────────────────────────────────────────┴──────────┴──────────┴──────────┴──────────┴───────────┘
168 },
169};
170
171const uint16_t PROGMEM fn_actions[] = {
172};
173
174const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
175{
176 // MACRODOWN only works in this function
177 switch(id) {
178 case 0:
179 return MACRODOWN(TYPE(KC_T), END);
180 break;
181 }
182 return MACRO_NONE;
183};
diff --git a/keyboards/atomic/keymaps/pvc/Makefile b/keyboards/atomic/keymaps/pvc/Makefile
new file mode 100644
index 000000000..278407e6c
--- /dev/null
+++ b/keyboards/atomic/keymaps/pvc/Makefile
@@ -0,0 +1,15 @@
1BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000)
2MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
3EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
4CONSOLE_ENABLE = no # Console for debug(+400)
5COMMAND_ENABLE = yes # Commands for debug and configuration
6NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
7BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
8MIDI_ENABLE = no # MIDI controls
9AUDIO_ENABLE = yes # Audio output on port C6
10UNICODE_ENABLE = no # Unicode
11BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
12RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time.
13
14# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
15SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend \ No newline at end of file
diff --git a/keyboards/atomic/keymaps/pvc/compiled.hex b/keyboards/atomic/keymaps/pvc/compiled.hex
new file mode 100644
index 000000000..c8cc6d8c0
--- /dev/null
+++ b/keyboards/atomic/keymaps/pvc/compiled.hex
@@ -0,0 +1,1700 @@
1:100000000C9483040C94C7040C94C7040C94C70488
2:100010000C94C7040C94C7040C94C7040C94C70434
3:100020000C94C7040C94C7040C94DB190C94AD1AFF
4:100030000C9414280C94C7040C94C7040C94C704A3
5:100040000C94C7040C94F0050C94C7040C94C704DA
6:100050000C94C7040C947C280C94C7040C94C7041B
7:100060000C94C7040C94C7040C94C7040C94C704E4
8:100070000C94C7040C94C7040C94C7040C94C704D4
9:100080000C94940F0C94C7040C94C7040C94C704EC
10:100090000C94C7040C94C7040C94C7040C94C704B4
11:1000A0000C94C7040C94C7040C94C7047A068D06FC
12:1000B000A206B506BD06D306E906F206FC0607074A
13:1000C00010071907210729073C073C073C073C0795
14:1000D0003C073C07370758063C076006690672066E
15:1000E0001A1B3C1B2A1C3C1B2A1C811BA41B2A1C00
16:1000F000F91B0C1CFB1EFB1E2A1F2A1F691F891FD0
17:10010000DF20DF20941FDF2044204420AB20B420D8
18:10011000DF20D92051205120512051205120512041
19:100120005120512051205120512051205120512047
20:100130005120512061206F2076207D208720B02D16
21:10014000A62DB92D112E182E182E112E182E182E60
22:10015000DE2D182EE82DF22D182E182E182E182E02
23:10016000112E182E182E112E182ECB2D182E182EBB
24:10017000FD2DFD2DFD2DFD2DFD2DFD2DFD2DFD2D2F
25:10018000FD2D132E182E132E182E182E182E182E65
26:10019000182E182E182E182E182E182E182E132E34
27:1001A000182E182E112E902DFB2DFB2DFB2DFB2D27
28:1001B000FB2DFB2DFB2DFB2DFB2D132E0763423654
29:1001C000B79BD8A71A39685618AEBAAB558C1D3CE8
30:1001D000B7CC5763BD6DEDFD753EF6177231BF00AC
31:1001E0000000803F08000000BE922449123EABAAE6
32:1001F000AA2ABECDCCCC4C3E00000080BEABAAAA41
33:10020000AA3E00000000BF000000803F0000000088
34:1002100000084178D3BB4387D1133D190E3CC3BDC1
35:100220004282AD2B3E68EC8276BED98FE1A93E4C6E
36:1002300080EFFFBE01C4FF7F3F0000000000000010
37:10024000000000000000000000010204060A0F1771
38:10025000202C3A4A5D71879DB3C7DAE9F5FCFFFCB3
39:10026000F5E9DAC7B39D87715D4A3A2C20170F0A6A
40:10027000060402010000000000000000000000224F
41:1002800029001E001F00200021002200230024005E
42:100290002500260027002D002E002A002A002B0012
43:1002A00014001A000800150017001C0018000C00AC
44:1002B000120013002F00300031004C003900040000
45:1002C0001600070009000A000B000D000E000F00C9
46:1002D00033003400280028004B00E1001D001B0003
47:1002E0000600190005001100100036003700380024
48:1002F000E500E50052004E00E000E3000530E200BA
49:1003000003302C002C000430C000E6006500E4003F
50:10031000500051004F0029001E001F002000210046
51:100320002200230024002500260027002D002E0097
52:100330002A002A002B0014001A00090013000A00EA
53:100340000D000F0018001C0033002F00300031009A
54:100350004C002A00040015001600170007000B00CF
55:10036000110008000C0012003400280028004B0087
56:10037000E1001D001B000600190005000E00100022
57:10038000360037003800E500E50052004E00E0007E
58:10039000E3000530E20003302C002C000430C000E4
59:1003A000E6006500E400500051004F0029001E00E7
60:1003B0001F00200021002200230024002500260029
61:1003C00027002F0030002A002A002B0034003600BE
62:1003D000370013001C0009000A00060015000F007A
63:1003E00038002E0031004C003900040012000800D3
64:1003F00018000C0007000B001700110016002D005C
65:10040000280028004B00E100330014000D000E000E
66:100410001B00050010001A0019001D00E500E50092
67:1004200052004E00E000E3000530E20003302C00F3
68:100430002C000430C000E6006500E40050005100CC
69:100440004F004600153017301830193000000000FA
70:1004500053005400550000000000470048004800C9
71:1004600001003A003B003C003D00000000005F003E
72:1004700060006100560001000100010049003900E0
73:100480003E003F0040004100000000005C005D00B5
74:100490005E0057000100010001004A000100420017
75:1004A0004300440045000000000059005A005B0072
76:1004B00058000100010001004D0001000100010091
77:1004C00001000100620062000100E60063005800C4
78:1004D000010001000100010001003A003B003C0066
79:1004E0003D003E003F004000410042004300440008
80:1004F000450001000100010021022F022F00260209
81:10050000220220022702300030021F0201000100F7
82:100510000100490001002302250257005600330064
83:1005200033022D02340034023500010001000100C5
84:100530004A000100310224021E0235023800310057
85:100540002E003602370238020100010001004D0082
86:100550000100010001000100010001000100010093
87:100560000100010001000100010001000100530031
88:100570003A003B003C003D003E003F00400041008F
89:1005800042004300440045000100010047006800AC
90:1005900069006A006B006C006D006E006F007000F7
91:1005A0007100720073000100480039000100010071
92:1005B0000100010001000100010001000100010033
93:1005C00001000100010046000100010001000100DE
94:1005D0000100010001000100010001000100010013
95:1005E0000100A900A80001000100010001000100B4
96:1005F000AE00AE0001000100010001000100AC00EE
97:10060000AA00AB000100FD00FE00FF00000000009A
98:1006100000000000000000000000000000000000DA
99:1006200000000000000000000000000000000000CA
100:1006300000000000000000000000000000000000BA
101:100640000000F800F700F600F500000000000000D0
102:10065000000000000000000000000000F9000100A0
103:10066000000000000000000000000000000000008A
104:100670000000000001000100F000FA00010001008C
105:10068000010001000100F400F4000100010001007C
106:1006900001000100F200F100F30001000730083012
107:1006A00009300A300B300C300D3001000100010020
108:1006B00025502250010001000100003001300230BD
109:1006C0000100010001000100010001000100010022
110:1006D0000100010001000100010001000100010012
111:1006E0000100010001000100010001000100010002
112:1006F0000100010001000100010001001430005060
113:100700000100063001000100010001000100265037
114:1007100001000100010001000100010001000100D1
115:10072000010001000100010001000100275001004B
116:1007300028035400680065002000410074006F0029
117:100740006D006900630020004B00650079006200C5
118:100750006F0061007200640000002C034F00720003
119:10076000740068006F006C0069006E006500610035
120:10077000720020004B006500790062006F0061008C
121:1007800072006400730000000403090409026D0094
122:10079000040100A0FA09040000010301010009217D
123:1007A00011010001223F000705810308000A090426
124:1007B00001000103010200092111010001224D0085
125:1007C0000705820308000A09040200010300000073
126:1007D0000921110100012236000705830308000AE0
127:1007E0000904030001030000000921110100012296
128:1007F00039000705840310000112011001000000F8
129:1008000008EDFE190401000102000105010906A11D
130:1008100001050719E029E7150025019508750181F3
131:1008200002050819012905950575019102950175C3
132:1008300003910105071900297715002501957875A1
133:10084000018102C005010980A1018502160100266F
134:10085000B7001A01002AB700751095018100C00584
135:100860000C0901A1018503160100269C021A010052
136:100870002A9C02751095018100C005010902A101A1
137:100880000901A10005091901290515002501950592
138:100890007501810295017503810105010930093156
139:1008A0001581257F95027508810609381581257FF8
140:1008B000950175088106050C0A38021581257F957A
141:1008C0000175088106C0C005010906A101050719C7
142:1008D000E029E7150025019508750181029501754C
143:1008E00008810105081901290595057501910295F1
144:1008F00001750391010507190029FF150025FF95D2
145:100900000675088100C011241FBECFEFDAE0DEBFFC
146:10091000CDBF04B603FE24C080917B0590917C0579
147:10092000A0917D05B0917E058730904BA740B04BDC
148:10093000B9F410927B0510927C0510927D051092FF
149:100940007E0514BE84B7877F84BF88E10FB6F89414
150:1009500080936000109260000FBEE0E0F8E309951C
151:1009600014E0A0E0B1E0EEE0F7E602C005900D92E1
152:10097000A431B107D9F715E0A4E1B4E001C01D929C
153:10098000AB37B107E1F70E9421170C9485330C9423
154:100990000000089581E008950C94C9040C94CA04E1
155:1009A0000C9441070E944F2F811105C0109216042C
156:1009B000109215040DC080E290E00090170402C070
157:1009C000880F991F0A94E2F79093160480931504F8
158:1009D0001092140480916F00826080936F000895DC
159:1009E0000E944F2F811105C0109216041092150419
160:1009F0000DC081E290E00090170402C0880F991F9B
161:100A00000A94E2F7909316048093150482E0809391
162:100A1000140480916F00826080936F0008950E949B
163:100A20004F2F811102C081E001C082E08093140445
164:100A3000089590916F0081E0911101C080E00895C8
165:100A40000E944F2F23E030E0281B3109220F209312
166:100A500018040895282F2F9880918000211108C034
167:100A6000877F8093800010928D0010928C001BC0B5
168:100A7000886080938000233018F08FEF9FEF0FC0C5
169:100A800083E090E0821B9109880F991F2FEF3FEFC1
170:100A9000A90102C0569547958A95E2F7CA0190933D
171:100AA0008D0080938C000C9420050E941905811103
172:100AB00018C00E944F2F811105C010921604109289
173:100AC00015040DC081E290E00090170402C0880F69
174:100AD000991F0A94E2F790931604809315041092DC
175:100AE000140490916F0082E0892780936F000E9428
176:100AF0001905811104C00E944F2F0C942A050895F6
177:100B0000CF93C82F0E94190540911704882329F01C
178:100B100090916F009D7F90936F00C093170488237E
179:100B2000D1F0209115043091160402C03695279516
180:100B30004A95E2F72F733327C90102C0880F991F26
181:100B4000CA95E2F7909316048093150480916F0084
182:100B5000826080936F00CF91089590911704292FA0
183:100B600030E0281B31092B30310510F080E002C045
184:100B7000981B892F0C94800590911704282F30E042
185:100B8000290F311D2B30310514F08AE001C0890F87
186:100B90000C9480050E94200584E080931704109235
187:100BA00014040895279A2F988FEF9FEF9093870052
188:100BB000809386008AE08093800089E180938100A1
189:100BC0000E94B82E0C94CA0585B7806885BF85B78A
190:100BD000806885BF0E94D2056E9A769A0C94B607FB
191:100BE0001F920F920FB60F9211242F933F938F9362
192:100BF0009F93EF93FF93E0911504F0911604CF01BA
193:100C0000019690931604809315040090170402C077
194:100C1000F695E7950A94E2F7EF7380911404823019
195:100C200019F4E03251F404C0813039F4EF3329F47F
196:100C300080916F008D7F80936F00F0E0E25CFD4F4C
197:100C4000E49121E031E0E29FC001E39F900D112487
198:100C50000090180402C0969587950A94E2F7909345
199:100C60008D0080938C00FF91EF919F918F913F9128
200:100C70002F910F900FBE0F901F901895CF93DF9379
201:100C8000EC010E94702ABE0180E090E0DF91CF91DC
202:100C90000C940A250F931F93462F50E04A315105BB
203:100CA00008F0EAC0DC01FA01EA5AFF4F0C9449331C
204:100CB00012968C91882309F4DFC00E945505DCC090
205:100CC00012968C91882309F4D7C081E00E94AD056B
206:100CD000D3C012968C91882309F4CEC081E00E9483
207:100CE000BC05CAC012968C91882309F4C5C00E9425
208:100CF000CA05C2C012968C91882309F4BDC081E058
209:100D000090E00E943E060AE017ED23E23CE340E05B
210:100D100064E070E080E792E012C012968C91882324
211:100D200009F4AAC082E090E00E943E060AE017EDB6
212:100D300023E23CE340E066E070E080E092E00E9465
213:100D400012139AC012968C91882309F495C084E0FE
214:100D500090E00E943E060AE017ED23E23CE340E00B
215:100D600068E070E080E392E0EACF12968C918823ED
216:100D700011F083E007C083E013C012968C918823A2
217:100D800071F084E00E94872582E00E9480050E9425
218:100D9000F00447E063E084E00E94840D6DC084E0CD
219:100DA0000E94A825F6CF12968C91882349F083E003
220:100DB0000E9480050E94D20485E00E9487255CC0C5
221:100DC00081E00E9480050E940F0585E00E94A82511
222:100DD00053C012968C91882309F44EC086E00E947D
223:100DE000CD254AC012968C91882309F445C060E055
224:100DF00070E080E09EE308C012968C918823E1F1B8
225:100E000060E070E080E89EE30E94BC1335C012965B
226:100E10008C91882389F160E070E080E09FE3F4CF5B
227:100E200012968C91882341F160E070E080E49FE3AA
228:100E3000EBCF12968C918823F9F08AE00E94CE13B2
229:100E40001BC012968C918823B9F08AE00E94C813C7
230:100E500013C012968C91882379F060E070E080E0F6
231:100E60009FE30E94BC1384E60E94C51305C012963E
232:100E70008C9181110E940F2F80E090E01F910F91C3
233:100E800008950F931F93CF93C82F8FE39CE9019789
234:100E9000F1F700C000000E94A51381114BC0909192
235:100EA0001904C1FF0BC091FD14C000E010E09801CF
236:100EB00040E062E070E080E591E03AC091FF09C057
237:100EC00000E010E0980140E062E070E080E491E032
238:100ED0002FC0C0FF0BC090FD14C000E010E09801CF
239:100EE00040E062E070E080E391E022C090FF09C042
240:100EF00000E010E0980140E062E070E080E291E004
241:100F000017C0C2FF0BC092FD15C000E010E09801B1
242:100F100040E062E070E080E191E00AC092FF0AC028
243:100F200000E010E0980140E062E070E080E091E0D5
244:100F30000E941213C0931904CF911F910F9108952D
245:100F40000F931F938FE39CE90197F1F700C0000016
246:100F50000AE017ED23E23CE340E06FE070E088ED4B
247:100F600092E00E9412131F910F91089580E00E9459
248:100F7000DF130C94A0070F931F930AE017ED23E2F1
249:100F80003CE340E069E070E080E992E00E941213E7
250:100F90002FEF87EA91E6215080409040E1F700C0B2
251:100FA00000001F910F910C94C70E0F931F930AE03E
252:100FB00017ED23E23CE340E065E070E088ED91E06E
253:100FC0000E9412131F910F9108950F931F930AE02F
254:100FD00017ED23E23CE340E067E070E080EA91E057
255:100FE0000E9412131F910F9108950F931F930AE00F
256:100FF00017ED23E23CE340E068E070E080E691E03A
257:101000000E9412131F910F91089581E008950C948E
258:10101000050808950C94E40580916A04882309F476
259:1010200048C08091260490912704009779F40E948B
260:10103000462890932704809326048091280490E00A
261:10104000009771F48091290490E00AC00E94522810
262:1010500020915003309151032817390740F329C0DC
263:101060000197880F991F880F991FFC01E65DFB4FC0
264:1010700060817181828193810E94FA0EE09128043F
265:1010800084E0E89FF0011124E65DFB4F60817181EF
266:10109000828193814FE050E00E94B2128091280437
267:1010A00090E001966091290470E00E9435338093AE
268:1010B00028040C94CC0410926C040C94C70E81E0AC
269:1010C00080936C040C94E5078F929F92AF92BF922D
270:1010D000EF92FF920F931F93CF93DF93CDB7DEB7BD
271:1010E000A3970FB6F894DEBF0FBECDBF7C01FC0105
272:1010F00000811181C8010E944326B8010E94660A3E
273:101100008C01B7010E940708882309F4CCC1003282
274:10111000F0E51F0741F4F7018281882309F458C0E4
275:101120000E94AC13C0C10132F0E51F0741F4F70182
276:101130008281882309F44CC00E94B513B4C10232E5
277:10114000F0E51F0751F4F7018281882309F440C0BC
278:101150000E94A8138111F0CFE3CF0332F0E51F07FF
279:1011600039F4F7018281882399F10E945F089BC1BD
280:101170000432F0E51F0739F4F7018281882341F139
281:101180000E945B0890C10532F0E51F0749F4F701A2
282:1011900082818823E9F080916C048111F1CFE5CF41
283:1011A0000632F0E51F0739F4F7018281882381F0C8
284:1011B0000E94E2130AC00732F0E51F0749F4F70165
285:1011C0008281882329F00E94ED130E94F5076BC1EC
286:1011D00080916C04811105C0F70182818111CFC01B
287:1011E00018C1003E110579F4F7018281882309F4C2
288:1011F0004DC00E94C70E81E080936B0410926A0478
289:101200001092290450C1023E110559F4F701828160
290:101210008823E1F10E94C70E10926B0410926A04B9
291:1012200042C1033E110591F4F7018281882371F1D7
292:101230000E94C70E10926B0481E080936A041092A2
293:10124000280410922704109226042DC1023511059E
294:1012500059F4F7018281882309F425C18091500354
295:10126000909151030A970DC00135110579F4F701EA
296:101270008281882309F417C1809150039091510312
297:101280000A9690935103809350030DC140915403EB
298:1012900083E2EFE6F3E0DE01119601900D928A956C
299:1012A000E1F7F701808121E030E02C0F3D1F280F8E
300:1012B000311DC9012091520330915303FC01E20F0B
301:1012C000F31F6081772767FD7095640F711D882774
302:1012D00077FD8095982F0E94573020E030E040E461
303:1012E00051E40E94BC2F4B015C01F701218185E094
304:1012F00090E0821B9109BC01882777FD8095982F8B
305:101300000E9457309B01AC01C501B4010E94542FCB
306:101310009B01AC0160E070E080E090E40E94CA3183
307:1013200020E030E04CED50E40E9467314B015C015D
308:10133000F70182818823D1F04FE050E0C501B4016C
309:101340000E94B21280916B048823A1F0809129043D
310:1013500024E0829FF0011124E65DFB4F80829182A0
311:10136000A282B3828F5F8093290404C0C501B401B7
312:101370000E94FA0E0F3F110508F02ECF94C0809105
313:10138000250481111FC0043130E5130709F051C055
314:101390000E94090881E0809325040E9446289093CA
315:1013A00024048093230410921C0410921E041092B3
316:1013B0001D041092200410921F0410922204109217
317:1013C000210471C080912304909124040E9452282A
318:1013D000883C910570F480911C04E82FF0E0EE0F3A
319:1013E000FF1FE35EFB4F118300838F5F80931C041C
320:1013F0005AC0043880E5180721F00538104501F17E
321:101400003AC0F7018281882341F010921A0482E0E9
322:101410001EC0043830E5130759F580911A04811174
323:1014200006C086E20E949F1D86E20E94671E82E03F
324:101430001CC00438F0E51F0741F305381045D9F406
325:10144000F7018281882331F010921B0480E20E9410
326:10145000B61E29C080911B04811106C087E20E943C
327:101460009F1D87E20E94671E80E20E94BD1E1BC076
328:101470000538104529F381E080931A0480931B04FA
329:10148000C701A3960FB6F894DEBF0FBECDBFDF91A4
330:10149000CF911F910F91FF90EF90BF90AF909F90D1
331:1014A0008F900C94CE0480E0A3960FB6F894DEBF24
332:1014B0000FBECDBFDF91CF911F910F91FF90EF90A5
333:1014C000BF90AF909F908F90089508959FE0799F6F
334:1014D000F00111249BE4899FE00DF11D1124E60F1A
335:1014E000F11DEE0FFF1FE058FD4F85919491089577
336:1014F000880F991FFC01E250FF4F85919491089548
337:10150000880F991FFC01E258FD4F85919491089531
338:101510000F931F93CF93DF93EC01811521E3920783
339:10152000A0F5C11580E3D80708F0D7C0C83ED105A3
340:10153000D8F4C03ED10508F007C2C83AD10578F406
341:10154000C53AD10508F06AC0C130D10509F463C0BD
342:1015500008F4F7C1C430D10508F0F6C1F2C1CB3BA5
343:10156000D10508F466C0EDC1C11590E2D90708F0B5
344:10157000AFC0C11521E0D20708F0E6C1C03FD105D8
345:1015800008F4DFC18E0110651FC2C03880E5D8079E
346:1015900000F5C03790E5D90708F0A3C0C11520E5D4
347:1015A000D20709F4ACC050F4CE01905480319F4072
348:1015B00008F0C7C1DF708E01106A06C2C13080E535
349:1015C000D80709F4AEC0C43190E5D90708F4AFC01C
350:1015D000B8C1C33820E5D20709F48EC050F4C13831
351:1015E00090E5D90709F482C008F083C000E011ED4E
352:1015F000EBC1C03181E5D80708F4A3C1C11597E557
353:10160000D90708F436C1CE0190578115904108F0F2
354:1016100098C1DF7093C101E010E0D6C1C53AD10591
355:1016200009F494C1C63AD10509F093C102E810E467
356:10163000CBC1C83AD10509F48FC1C93AD10509F423
357:101640008EC1CA3AD10509F48DC1CB3AD10509F44E
358:101650008CC1CC3AD10509F48BC1CD3AD10509F43E
359:101660008AC1C03BD10509F489C1CE3AD10509F43C
360:1016700088C1CF3AD10509F487C1C13BD10509F42E
361:1016800086C1C23BD10509F485C1C33BD10509F42C
362:1016900084C1C43BD10509F483C1C53BD10509F41C
363:1016A00082C1C63BD10509F481C1C73BD10509F40C
364:1016B00080C1C83BD10509F47FC1C93BD10509F4FC
365:1016C0007EC1CA3BD10509F47DC100E014E47CC1B0
366:1016D000CE019F700E94800A78C1DD278E01106CB8
367:1016E00073C1CF70DD278E01146D6EC100E010ED67
368:1016F0006BC100E012ED68C100E013ED65C10E940E
369:101700004A210E94C70E0E94BB078FEF94E32CE092
370:10171000815090402040E1F700C000000E94A128C5
371:1017200053C180914D05816080934D054DC10E944C
372:10173000582A811102C00E94342A0E94752A90E022
373:1017400090937A0580937905C23080E5D80721F41B
374:1017500080917905816086C0C43090E5D90721F475
375:101760008091790582607EC0C63020E5D20721F4E1
376:1017700080917905846076C0C83080E5D80719F477
377:101780008091790527C0CA3090E5D90721F480916E
378:101790007905806167C0CC3020E5D20721F48091C3
379:1017A000790580625FC0CE3080E5D80721F4809152
380:1017B0007905806457C0C03190E5D90721F4809144
381:1017C000790580684FC0C23120E5D20729F48091A5
382:1017D00079058460886046C0C33080E5D80721F46D
383:1017E000809179058E7F3EC0C53090E5D90721F400
384:1017F000809179058D7F36C0C73020E5D20721F46E
385:10180000809179058B7F2EC0C93080E5D80719F407
386:101810008091790526C0CB3090E5D90721F48091DD
387:1018200079058F7E1FC0CD3020E5D20721F480914D
388:1018300079058F7D17C0CF3080E5D80721F48091DE
389:1018400079058F7B0FC0C13190E5D90721F48091D4
390:1018500079058F7707C0C331D04531F48091790580
391:101860008B7F877F80937905809179050E94792A03
392:10187000ABC08D2F99278F70992781309105D9F4AE
393:101880009E012370332702C0880F991F2A95E2F723
394:101890009C688E0144E0000F111F4A95E1F7002774
395:1018A0001370802B912B53E0CC0FDD1F5A95E1F77D
396:1018B000C076DD272FC08230910531F4DC2FCC2794
397:1018C0008E01016F106A80C08330910569F4CE01EA
398:1018D0008370992701E010E002C0000F111F8A9564
399:1018E000E2F7C8019C680FC084309105B9F4CE01BD
400:1018F0008370992701E010E002C0000F111F8A9544
401:10190000E2F7C8019A6823E0CC0FDD1F2A95E1F7C2
402:10191000C07ED7708C010C2B1D2B56C085309105D5
403:1019200031F4DC2FCC278E01046F106A4DC006976E
404:1019300009F04AC0CF71DD27DC2FCC278E01106261
405:1019400043C000E010E040C08E013EC001E810E45A
406:101950003BC003E810E438C002EE14E435C009EEE1
407:1019600014E432C00AEE14E42FC005EB14E42CC0DA
408:1019700006EB14E429C007EB14E426C00CEC14E4D5
409:1019800023C00DEC14E420C003E815E41DC00AE8F0
410:1019900015E41AC002E915E417C004E915E414C0FF
411:1019A00001E216E411C003E216E40EC004E216E4FC
412:1019B0000BC005E216E408C006E216E405C007E223
413:1019C00016E402C00AE216E4C801DF91CF911F912C
414:1019D0000F9108959FE0799FF00111249BE4899F66
415:1019E000E00DF11D1124E60FF11DEE0FFF1FE05871
416:1019F000FD4F85919491803E9105E0F4803C9105E6
417:101A000058F58133910509F46FC048F48932910586
418:101A100009F463C08A32910509F46DC072C089333C
419:101A20009105E9F082389105D1F08533910509F4EB
420:101A30004DC067C0833E910581F138F4803E910529
421:101A4000B9F0823E9105D9F05CC0863E910561F106
422:101A5000873E9105A1F155C00E94780A0895209112
423:101A6000790520FD02C021FF4CC080EE90E049C006
424:101A70008091790580FFF9CF89E390E042C08091A1
425:101A8000790582FF0EC08091790584FF03C080E054
426:101A900090E037C083EE90E034C08091790582FFFA
427:101AA000F2CF82EE90E02DC08091790583FF0BC0CC
428:101AB0008091790584FDEBCF87EE90E022C0809184
429:101AC000790583FFF5CF86EE90E01BC08091790504
430:101AD00085FF07C089E290E014C08091790585FFF9
431:101AE000F9CF85E390E00DC08091790586FF07C0AE
432:101AF0008AE290E006C08091790586FFF9CF81E304
433:101B000090E00E94880A0895CF92DF92EF92FF92B0
434:101B10000F931F9301E010E020E030E068017901AD
435:101B200004C0CC0CDD1CEE1CFF1C8A95D2F704C04F
436:101B3000000F111F221F331F6A95D2F70C291D2990
437:101B40002E293F29C0903005D0903105E090320514
438:101B5000F0903305C022D122E222F322842FC01656
439:101B6000D106E206F30641F41F910F91FF90EF902A
440:101B7000DF90CF900C9487251F910F91FF90EF90ED
441:101B8000DF90CF900C94A8250C94D004E82FF0E0BF
442:101B9000EF55FC4F8081E82FEF70F0E082958F7059
443:101BA00021E030E0A90102C0440F551F8A95E2F7F9
444:101BB00040A308950F931F93CF93DF9385B7806859
445:101BC00085BF85B7806885BFC4E0D0E001E010E044
446:101BD000FE01EF55FC4F8081E82FEF70F0E021A16E
447:101BE00082958F70A80102C0440F551F8A95E2F7B5
448:101BF000CA01822B81A38C2F0E94C60D219740F72A
449:101C00008EE090E061E070E0FC01EE56FC4F208138
450:101C1000E22FEF70F0E042A122952F70DB0102C0AD
451:101C2000AA0FBB1F2A95E2F79D01242B22A301973F
452:101C300058F7DF91CF911F910F910C940A08EF9202
453:101C4000FF920F931F93CF93DF9307E714E0C4E055
454:101C5000EE24E394F12CD5E08C2F0E94C60D8EE08B
455:101C600090E040E050E0FC01EE56FC4F6081E62F32
456:101C7000EF70F0E020A130E062956F7002C0359502
457:101C800027956A95E2F720FD09C09701082E02C04A
458:101C9000220F331F0A94E2F7422B532B019718F7B8
459:101CA000F801929182918F018417950721F0518359
460:101CB0004083D09355038C2F0E94C60DC15060F60F
461:101CC0008091550387FD1FC08150809355038F3F3E
462:101CD00039F08FE99FE00197F1F700C0000013C0D1
463:101CE00080E090E0FC01E958FB4FDC01A359BB4FB9
464:101CF00018962D913C911997318720870297863F3E
465:101D0000EFEF9E0779F70E940C0881E0DF91CF91F9
466:101D10001F910F91FF90EF900895E82FF0E0EE0FE4
467:101D2000FF1FE958FB4F80819181089508950F931B
468:101D30001F93CF9301E814E0C0E0F80192918291E3
469:101D40008F010E94BE27C80FF4E007371F07A9F7CD
470:101D50008C2FCF911F910F9108950E94582A8111C5
471:101D600002C00E94342A0E94872A809364053E9A0A
472:101D7000809171008D7F8093710082E0809390004C
473:101D80008AE18093910081E080938304089580919B
474:101D90008304811102C00E94AD0E1092D3041092F0
475:101DA000D204809171008D7F8093710080919000AA
476:101DB0008F73809390001092950410929404109267
477:101DC000CC041092CD041092CE041092CF04109245
478:101DD000CB041092CA04EAEAF4E0AAE9B4E0119252
479:101DE0001192119211921D921D9284E0EA3CF80723
480:101DF000B1F70895CF92DF92EF92FF920F931F9366
481:101E0000CF93DF9320919404222309F484C06B01C3
482:101E10007C0180918304811102C00E94AD0E0AEC06
483:101E200014E0C7E0D0E0A7019601F80192918291F9
484:101E3000729162918F010E94B82F811131C0FE0111
485:101E4000EE0FFF1FEE0FFF1FE655FB4F10821182B2
486:101E500012821382DE01AA0FBB1FA656BB4F11963A
487:101E60001C921E92C730D105E9F02196448155811C
488:101E700066817781408351836283738314821582E4
489:101E80001682178212968D919C91139711969C93AE
490:101E90008E9313961C921E92129734961296E2CF4E
491:101EA000219708F68091D2049091D304019797FD71
492:101EB00005C09093D3048093D20404C01092D3043D
493:101EC0001092D2048091D2049091D3042091D00436
494:101ED0003091D1042817390724F01092D1041092C0
495:101EE000D004892BC1F4809171008D7F80937100A3
496:101EF000809190008F73809390001092CC04109288
497:101F0000CD041092CE041092CF041092CB04109204
498:101F1000CA0410929404DF91CF911F910F91FF900A
499:101F2000EF90DF90CF9008951F920F920FB60F920F
500:101F300011244F925F926F927F928F929F92AF92F5
501:101F4000BF92CF92DF92EF92FF922F933F934F93E6
502:101F50005F936F937F938F939F93AF93BF93CF9331
503:101F6000DF93EF93FF9380919404882309F49BC13E
504:101F7000C091D204D091D3041C161D060CF093C15D
505:101F8000409084045090850460908604709087048B
506:101F900020E030E0A901C301B2010E9463311816AC
507:101FA0000CF065C0C130D10509F452C08091D00455
508:101FB0009091D104BE010E9435337C019093D104ED
509:101FC0008093D0048090960490909704A0909804F9
510:101FD000B090990420E030E040E85FE3C501B4012F
511:101FE0000E94542F609396047093970480939804F2
512:101FF00090939904F701EE0FFF1FEE0FFF1FE655B8
513:10200000FB4FA301920160817181828193810E94C3
514:10201000BC2F20E030E040E05EE30E9467319B018E
515:10202000AC01C501B4010E94633118168CF4C701DC
516:102030000196BE010E9435339093D1048093D00461
517:10204000109296041092970410929804109299049A
518:10205000E091D004F091D104EE0FFF1FEE0FFF1FAF
519:10206000E655FB4F6081718182819381D0C0C09021
520:10207000CC04D090CD04E090CE04F090CF0420E0CA
521:1020800030E0A901C701B6010E94B82F219788232B
522:1020900009F4A2C0FE01EE0FFF1FEE0FFF1FE65571
523:1020A000FB4F80809180A280B380A5019401C7017D
524:1020B000B6010E94B82F87FF31C0A501940160E0EE
525:1020C00070E08CED93EC0E94BC2F20E030E040E407
526:1020D00051E40E94BC2F20E030E040E05FE30E942A
527:1020E00067319B01AC0160E070E080E090E40E9409
528:1020F000CA319B01AC01C501B4010E9467319B014B
529:10210000AC01C701B6010E94B82F87FF07C0A70125
530:10211000960160E070E08CED93E439C0A501940174
531:10212000C701B6010E94633118160CF055C0A50115
532:10213000940160E070E08CED93E40E94BC2F20E0FD
533:1021400030E040E451E40E94BC2F20E030E040E069
534:102150005FE30E9467319B01AC0160E070E080E0CA
535:1021600090E40E94CA319B01AC01C501B4010E94F8
536:1021700067319B01AC01C701B6010E94633118169B
537:102180005CF5A701960160E070E08CED93EC0E9495
538:10219000BC2F20E030E040E451E40E94BC2F20E05E
539:1021A00030E040E05FE30E9467319B01AC0160E0FA
540:1021B00070E080E090E40E94CA319B01AC01C7014D
541:1021C000B6010E9467316093CC047093CD04809374
542:1021D000CE049093CF0413C0FE01EE0FFF1FEE0F4D
543:1021E000FF1FE655FB4F80819181A281B3818093CF
544:1021F000CC049093CD04A093CE04B093CF0460910F
545:10220000CC047091CD048091CE049091CF042091A4
546:102210008104309182042F3F4FEF340731F02F5F5C
547:102220003F4F30938204209381040E94F8136B0186
548:102230007C0120E034E244EF51E40E94B82F87FF94
549:1022400008C086EFC82E88E2D82E84EFE82E81E4FD
550:10225000F82E20E030E040E051E4C701B6010E94D2
551:1022600067319B01AC0160E074E284E79BE40E946B
552:10227000BC2F6B017C010E94293070939700609302
553:102280009600209156033091570340915803509186
554:102290005903C701B6010E9467310E94293070932B
555:1022A00099006093980080919504882309F433C1C4
556:1022B000C0909004D0909104E0909204F090930428
557:1022C00020E030E0A901C701B6010E946331181671
558:1022D000D4F580918104909182048F3F2FEF920773
559:1022E00029F001969093820480938104C701B6017E
560:1022F0000E94F81320E030E040E051E40E94673192
561:102300009B01AC0160E074E284E79BE40E94BC2F77
562:102310006B017C010E9429307093970060939600B6
563:10232000209156033091570340915803509159031F
564:10233000C701B6010E9467310E942930709399004D
565:102340006093980008C01092970010929600109227
566:1023500099001092980060918A0470918B046F5FCD
567:102360007F4F70938B0460938A0420919600309184
568:10237000970080E090E0232BF1F0C0919600D0917F
569:1023800097000E9455306B017C01BE0180E090E017
570:102390000E9455309B01AC0160918C0470918D04BA
571:1023A00080918E0490918F040E94BC2F20E03FEF1B
572:1023B0004FE757E410C00E9455306B017C0120E0CC
573:1023C00030EE4FEF54E460918C0470918D04809155
574:1023D0008E0490918F040E9467319B01AC01C7016C
575:1023E000B6010E94633187FD96C0809188048F5F9B
576:1023F0008093880490E020916005309161058217F8
577:102400009307A0F080916B05882319F0109288043F
578:102410000DC0809171008D7F80937100809190003C
579:102420008F7380939000109295047DC080918904F1
580:10243000C0918804811128C0C0906505D0906605C0
581:10244000E0906705F090680520E030E0A901C70141
582:10245000B6010E9463311816BCF481E080938904B0
583:10246000109290041092910410929204109293048E
584:10247000C0928C04D0928D04E0928E04F0928F046E
585:10248000C150C093880443C0109289041092820402
586:1024900010928104E0916205F091630548E0C49FC9
587:1024A000E00DF11D112480819181A281B38180937F
588:1024B000900490939104A0939204B093930420E02D
589:1024C00030E040E85EE364817581868197810E94F7
590:1024D00067316B017C0180915A03682F70E080E0C6
591:1024E00090E00E94553020E030E048EC52E40E9439
592:1024F000BC2F9B01AC01C701B6010E9467316093FC
593:102500008C0470938D0480938E0490938F041092AA
594:102510008B0410928A048091640580FD04C010929F
595:10252000950410929404FF91EF91DF91CF91BF91A8
596:10253000AF919F918F917F916F915F914F913F915B
597:102540002F91FF90EF90DF90CF90BF90AF909F9032
598:102550008F907F906F905F904F900F900FBE0F9075
599:102560001F901895CF92DF92EF92FF92CF93DF9357
600:102570006B017C01EA0180918304811102C00E94F9
601:10258000AD0E8091640580FF46C08091D204909189
602:10259000D30408970CF03FC0809171008D7F809329
603:1025A00071008091950481110E94C70E81E0809393
604:1025B0009404109282041092810420E030E0A9017A
605:1025C000C701B6010E9463311816DCF48091D20471
606:1025D0009091D304FC01EE0FFF1FEE0FFF1FE65595
607:1025E000FB4FC082D182E282F382FC01EE0FFF1F1B
608:1025F000E656FB4FD183C08301969093D30480931A
609:10260000D20480917100826080937100809190006B
610:10261000806880939000DF91CF91FF90EF90DF90E2
611:10262000CF9008958F929F92AF92BF92CF92DF92F8
612:10263000EF92FF920F931F93CF93DF93EC017B01F7
613:10264000D42E4801590180918304811102C00E9457
614:10265000AD0E8091640580FF6BC0809171008D7F0D
615:10266000809371008091940481110E94C70E81E0D3
616:1026700080939504D0936305C0936205F092610541
617:10268000E0926005D0926B05809265059092660598
618:10269000A0926705B0926805109296041092970474
619:1026A000109298041092990410928804888199815C
620:1026B000AA81BB818093900490939104A09392048B
621:1026C000B093930420E030E040E85EE36C817D81CC
622:1026D0008E819F810E9467316B017C0180915A033A
623:1026E000682F70E080E090E00E94553020E030E0FC
624:1026F00048EC52E40E94BC2F9B01AC01C701B6011B
625:102700000E94673160938C0470938D0480938E04D3
626:1027100090938F0410928B0410928A048091710020
627:102720008260809371008091900080688093900017
628:10273000DF91CF911F910F91FF90EF90DF90CF909D
629:10274000BF90AF909F908F900895809195040895C9
630:102750008091640581700895809164058160809303
631:1027600064050E948B2A0C94D507809164058E7FA6
632:10277000809364050C948B2A6093560370935703DF
633:102780008093580390935903089580935A030895B2
634:1027900090915A03890F80935A03089590915A0398
635:1027A000292F30E0281B31092A30310524F48AE032
636:1027B00080935A030895981B90935A030895809329
637:1027C000D40408958091D40490E0019666E070E00E
638:1027D0000E9435338093D40408958091D40490E00E
639:1027E000019766E070E00E9435338093D404089529
640:1027F0008F929F92AF92BF92CF92DF92EF92FF9211
641:102800000F931F93CF93DF936B017C01C0918104E1
642:10281000D0918204BE0180E090E00E9455304B01CF
643:102820005C01A701960160E070E08CE594E40E94F1
644:10283000BC2F9B01AC01C501B4010E9467310E940D
645:1028400029302091D404233009F473C028F42223C2
646:1028500051F02130E9F02CC1243009F4A0C025301A
647:1028600009F4E0C025C180E090E0A0E0BFE38093E0
648:10287000560390935703A0935803B09359031092B3
649:10288000840410928504109286041092870410C16B
650:10289000109284041092850410928604109287048A
651:1028A0006431710540F46A30710560F520E030E074
652:1028B00040E85EE32BC0693C710508F0AAC080E0E7
653:1028C00090E00E94553020E030E040EA51E40E9460
654:1028D000532F20E030E044E353E40E94BC2F9B01DF
655:1028E000AC010E94673120E030E040E05EE30E94EE
656:1028F00067319B01AC0160E070E080E09EE30E94E4
657:10290000532F44C020E030E040E05FE3C701B60150
658:102910000E9467316B017C0180E090E0A0E0BEE3A3
659:102920008093560390935703A0935803B093590391
660:10293000BFC01092840410928504109286041092F5
661:1029400087044AE0469F9001479F300D1124C9013A
662:1029500068EB7BE00E942133BC016C5D754077FF22
663:1029600003C0719561957109882777FD8095982F2F
664:102970000E9457302EE333EC4EE259E30E94673158
665:1029800020E030E040EC5EE30E94542F6093560359
666:1029900070935703809358039093590389C0109202
667:1029A0008404109285041092860410928704CE014C
668:1029B00083709927892BE1F0BE016170772780E051
669:1029C00090E00E94553020E030E040E05EE30E945D
670:1029D000673120E030E040E45FE30E94542F6093D1
671:1029E00056037093570380935803909359030CC078
672:1029F00080E090E0A0E0BFE38093560390935703FC
673:102A0000A0935803B0935903C770DD27CD2B09F06D
674:102A10004FC0109256031092570310925803109211
675:102A2000590346C0109284041092850410928604C3
676:102A30001092870400E010E020E03FE3009356038B
677:102A40001093570320935803309359036739710546
678:102A500078F180E090E00E94553020E030E047E1DE
679:102A600053E40E94532F20E030E04AE754E40E94F0
680:102A7000BC2F20E030E048E452E40E94673120E0BF
681:102A800030E040EA51E40E9499300E942430660F01
682:102A9000771F660F771FFB01EA55FC4F20813181BC
683:102AA00042815381C701B6010E9467316B017C01ED
684:102AB000C701B601DF91CF911F910F91FF90EF9069
685:102AC000DF90CF90BF90AF909F908F9008958091AE
686:102AD000E5040895CF93DF9300D01F92CDB7DEB702
687:102AE0009C0180917005843019F593E099833B83B4
688:102AF0002A839093E9008FEF9091E800815095FD33
689:102B000006C095ED9A95F1F700008111F5CF8091FF
690:102B1000E80085FF0DC040E050E063E070E0CE01CA
691:102B200001960E94CB178091E8008E778093E80091
692:102B30000F900F900F90DF91CF910895CF93DF9377
693:102B400000D01F92CDB7DEB720917005243021F55B
694:102B500022E029839B838A8383E08093E9008FEFBF
695:102B60009091E800815095FD06C095ED9A95F1F79A
696:102B700000008111F5CF8091E80085FF0DC040E095
697:102B800050E063E070E0CE0101960E94CB17809187
698:102B9000E8008E778093E8000F900F900F90DF9100
699:102BA000CF910895209170052430F1F422E0209314
700:102BB000E9002FEF3091E800215035FD06C035EDDA
701:102BC0003A95F1F700002111F5CF2091E80025FF9B
702:102BD0000BC040E050E065E070E00E94CB178091B0
703:102BE000E8008E778093E8000895CF93DF93EC019F
704:102BF00090917005943009F046C080916503882358
705:102C0000D9F0809166038823B9F09093E9008FEFA3
706:102C10009091E800815095FD06C095E19A95F1F7F5
707:102C200000008111F5CF8091E80085FF2CC040E0C5
708:102C300050E060E170E017C081E08093E9008FEF21
709:102C40009091E800815095FD06C095ED9A95F1F7B9
710:102C500000008111F5CF8091E80085FF14C040E0AD
711:102C600050E068E070E0CE010E94CB178091E80050
712:102C70008E778093E80080E1FE01A5EDB4E001903D
713:102C80000D928A95E1F7DF91CF91089580916F05BC
714:102C9000811109C00E9460190E94BD198091E20053
715:102CA00084608093E200089510926F05089508955E
716:102CB00008950C94092842E061EC81E00E94DA1842
717:102CC00042E061EC82E00E94DA1842E061EC83E0CD
718:102CD0000E94DA1842E161EC84E00C94DA188091E9
719:102CE0007205833009F455C030F4813071F08230C0
720:102CF00009F48EC008958A3009F47AC08B3009F443
721:102D000060C0893009F09CC020C080917105813A73
722:102D100009F096C08091E800877F8093E800809159
723:102D2000750590917605892B21F460E185ED94E09D
724:102D300003C060E080E090E070E00E94161880918F
725:102D4000E8008B778093E8000895809171058132C7
726:102D500009F076C08091750590917605009719F07D
727:102D6000039709F06DC08091E800877F8093E800A9
728:102D70008091E80082FD05C0809170058111F8CF37
729:102D80005FC08091F1008093E5048091E8008B772B
730:102D900053C080917105813A09F052C08091750548
731:102DA00090917605892B09F04BC08091E800877FD0
732:102DB0008093E8008091E80080FFFCCF809165035C
733:102DC00036C0809171058132D9F580917505909159
734:102DD0007605892BA9F58091E800877F8093E8002C
735:102DE0000E940F1980917305809365030C944A210A
736:102DF00080917105813221F58091E800877F809371
737:102E0000E8000E940F19809174058093E6040895EC
738:102E100080917105813AA1F48091E800877F8093C9
739:102E2000E8008091E80080FFFCCF8091E604809369
740:102E3000F1008091E8008E778093E8000C940F19E0
741:102E4000089584B7877F84BF88E10FB6F894809394
742:102E50006000109260000FBE90E080E80FB6F8941A
743:102E600080936100909361000FBE0E94B71C0E9486
744:102E700060190E94BD198091E20084608093E20095
745:102E800078940E94431C0E94B91C8BE593E00E9439
746:102E90005E1C80917005853069F40E94CA2780917C
747:102EA0006E058823B1F30E94F827882391F30E94CE
748:102EB000B517EFCF0E94C11CECCF292F3327233049
749:102EC0003105C9F064F42130310581F0223031053B
750:102ED00009F043C08DE690E02CE837E042C0213293
751:102EE0003105F1F02232310541F137C082E190E045
752:102EF00029EF37E036C099278130910541F08230C3
753:102F0000910541F0892B49F5E8E8F7E005C0EAE5CD
754:102F1000F7E002C0E0E3F7E0849190E09F0121C078
755:102F20006430D8F4E62FF0E0EE0FFF1FEE5FFB4FAA
756:102F30002081318189E090E014C0643070F470E049
757:102F4000FB01EE0FFF1FE650FC4F20813181FB019A
758:102F5000EA50FC4F808190E004C080E090E020E0E7
759:102F600030E0FA0131832083089580E189BD82E158
760:102F700089BD09B400FEFDCF8091D8008F7D80937C
761:102F8000D8008091E00082608093E0008091E000B2
762:102F900081FDFCCF0895CF92DF92EF92FF920F93C5
763:102FA0001F93CF93DF93EC018B016A010E942E19CE
764:102FB000811133C0C114D10439F0F60180819181AF
765:102FC000081B190BC80FD91FE12CF12C0115110595
766:102FD00019F18091E80085FD16C08091E8008E7798
767:102FE0008093E800C114D10449F0F60180819181F9
768:102FF000E80EF91EF182E08285E00FC00E942E19D2
769:10300000882321F30AC089918093F10001501109AE
770:10301000FFEFEF1AFF0ADACF80E0DF91CF911F9127
771:103020000F91FF90EF90DF90CF900895209177055A
772:10303000309178052617370748F06115710539F486
773:103040002091E8002E772093E80001C0B90140E00C
774:1030500061157105A9F120917005222309F443C07F
775:10306000253009F442C02091E80023FD40C02091A2
776:10307000E80022FD32C02091E80020FFE9CF409116
777:10308000F3002091F20030E0342BFC01CF016115F8
778:10309000710559F02830310540F481918093F10099
779:1030A000615071092F5F3F4FF1CF41E0283031056A
780:1030B00009F040E02091E8002E772093E800C8CF87
781:1030C0004111C9CF0AC080917005882361F0853015
782:1030D00061F08091E80083FD0AC08091E80082FFE2
783:1030E000F2CF80E0089582E0089583E0089581E0C2
784:1030F000089520917705309178052617370748F015
785:103100006115710539F42091E8002E772093E800CD
786:1031100001C0B901FC0120E06115710591F18091B8
787:103120007005882309F440C0853009F43FC08091C0
788:10313000E80083FD3DC08091E80082FD2FC08091B2
789:10314000E80080FFE9CF2091F3008091F20090E049
790:10315000922B6115710559F08830910540F4249146
791:103160002093F1003196615071090196F2CF21E070
792:10317000089709F020E08091E8008E778093E800BE
793:10318000CBCF2111CCCF0AC080917005882361F08C
794:10319000853061F08091E80083FD0AC08091E800ED
795:1031A00082FFF2CF80E0089582E0089583E00895E1
796:1031B00081E00895982F973058F59093E90098177B
797:1031C00039F07091EC002091ED005091F00003C0B7
798:1031D000242F762F50E021FF19C03091EB003E7F65
799:1031E0003093EB003091ED003D7F3093ED00309156
800:1031F000EB0031603093EB007093EC002093ED0016
801:103200005093F0002091EE0027FF07C09F5FD3CFBF
802:103210008F708093E90081E0089580E008958091A7
803:10322000710587FF11C08091E80082FD05C0809183
804:1032300070058111F8CF11C08091E8008B770BC029
805:1032400080917005882349F08091E80080FFF8CFD5
806:103250008091E8008E778093E80008952091E40043
807:103260003091E50095E64091EC00842F817040FF9D
808:1032700022C08091E80080FD1CC0809170058823E9
809:1032800091F0853091F08091EB0085FD10C0409168
810:10329000E4005091E5004217530729F39A01915039
811:1032A00011F784E0089582E0089583E0089581E0B5
812:1032B000089580E008954091E80042FFDECF089530
813:1032C0000E94CE190E94D619E0EEF0E08081816064
814:1032D0008083E8EDF0E080818F77808319BCA7EDD3
815:1032E000B0E08C918E7F8C9380818F7E8083109252
816:1032F0006F0508950F931F93CF93DF930E94CE190C
817:103300000E94D619C8EDD0E088818F7788838881A4
818:103310008068888388818F7D888319BC10927005AE
819:1033200010926C0510926E0510926D0500EE10E083
820:10333000F80180818B7F808388818160888342E06F
821:1033400060E080E00E94DA18E1EEF0E080818E7F9C
822:103350008083E2EEF0E080818160808380818860FC
823:103360008083F80180818E7F80838881806188835B
824:10337000DF91CF911F910F910895E8EDF0E08081EA
825:103380008F7E8083E7EDF0E080818160808384E040
826:1033900082BF81E080936F050C947A19E8EDF0E02C
827:1033A00080818E7F80831092E20008951092DA006F
828:1033B0001092E10008951F920F920FB60F92112400
829:1033C0002F933F934F935F936F937F938F939F932D
830:1033D000AF93BF93EF93FF938091E10082FF0BC007
831:1033E0008091E20082FF07C08091E1008B7F809393
832:1033F000E1000E94421C8091DA0080FF1FC0809192
833:10340000D80080FF1BC08091DA008E7F8093DA00A5
834:103410008091D90080FF0DC080E189BD82E189BD26
835:1034200009B400FEFDCF81E0809370050E9446162E
836:1034300005C019BC109270050E9454168091E100DD
837:1034400080FF19C08091E20080FF15C08091E200EA
838:103450008E7F8093E2008091E20080618093E200A1
839:103460008091D80080628093D80019BC85E0809359
840:1034700070050E9458168091E10084FF30C0809151
841:10348000E20084FF2CC080E189BD82E189BD09B4DE
842:1034900000FEFDCF8091D8008F7D8093D800809171
843:1034A000E1008F7E8093E1008091E2008F7E809327
844:1034B000E2008091E20081608093E20080916C05DF
845:1034C000882311F084E007C08091E30087FD02C0EB
846:1034D00081E001C083E0809370050E9459168091BD
847:1034E000E10083FF29C08091E20083FF25C0809125
848:1034F000E100877F8093E10082E080937005109265
849:103500006C058091E1008E7F8093E1008091E20064
850:103510008E7F8093E2008091E20080618093E200E0
851:1035200042E060E080E00E94DA188091F00088605C
852:103530008093F0000E945716FF91EF91BF91AF91D9
853:103540009F918F917F916F915F914F913F912F91BB
854:103550000F900FBE0F901F9018951F920F920FB6ED
855:103560000F9211242F933F934F935F936F937F9309
856:103570008F939F93AF93BF93CF93DF93EF93FF937B
857:10358000C091E900CF708091EC00D82FD17080FD00
858:10359000D0E81092E9008091F000877F8093F000DE
859:1035A00078940E94F11A1092E9008091F0008860EE
860:1035B0008093F000CD2BCF70C093E900FF91EF9185
861:1035C000DF91CF91BF91AF919F918F917F916F913B
862:1035D0005F914F913F912F910F900FBE0F901F90D1
863:1035E00018951F93CF93DF93CDB7DEB7AA970FB689
864:1035F000F894DEBF0FBECDBFE1E7F5E088E08E0FA7
865:103600009091F10091938E13FBCF0E946F168091E1
866:10361000E80083FF1FC18091710590917205492FC9
867:1036200050E04A30510508F015C1FA01E059FF4F4A
868:103630000C944933803881F0823809F00BC18091B5
869:1036400075058F708093E9008091EB0085FB8827DA
870:1036500080F91092E90006C080916D0590916E0589
871:10366000911182609091E800977F9093E800809399
872:10367000F1001092F100C8C0282F2D7F09F0EAC098
873:10368000882319F0823061F0E5C0809173058130A4
874:1036900009F0E0C0933009F080E080936E052BC004
875:1036A00080917305811127C0809175058F7009F491
876:1036B000D1C08093E9002091EB0020FF1CC0933023
877:1036C00021F48091EB00806214C09091EB00906136
878:1036D0009093EB0021E030E0A90102C0440F551F98
879:1036E0008A95E2F74093EA001092EA008091EB009D
880:1036F00088608093EB001092E9008091E800877F5A
881:1037000086C08111A7C0109173051F778091E300D7
882:103710008078812B8093E3008091E800877F8093FD
883:10372000E8000E940F198091E80080FFFCCF809193
884:10373000E30080688093E300111102C082E001C0C1
885:1037400083E08093700586C08058823008F082C084
886:1037500080917305909174058C3D53E0950779F540
887:1037600083E08A838AE289834FB7F894DE01139657
888:1037700020E03EE051E2E32FF0E050935700E49167
889:1037800020FF03C0E295EF703F5FEF708E2F90E057
890:10379000EA3010F0C79601C0C0968D939D932F5FBD
891:1037A000243149F74FBF8091E800877F8093E8007C
892:1037B0006AE270E0CE0101960E94161814C0AE01B4
893:1037C0004F5F5F4F609175050E945D17BC010097C8
894:1037D00009F440C09091E800977F9093E8008981B8
895:1037E0009A810E9479188091E8008B778093E80095
896:1037F00031C0803879F58091E800877F8093E800B8
897:1038000080916C058093F1008091E8008E77809321
898:10381000E8000E940F191EC081111CC09091730511
899:103820009230C0F48091E800877F8093E800909305
900:103830006C050E940F1980916C05811106C0809162
901:10384000E30087FD02C081E001C084E08093700541
902:103850000E945B168091E80083FF0AC08091E80017
903:10386000877F8093E8008091EB0080628093EB007B
904:10387000AA960FB6F894DEBF0FBECDBFDF91CF91F1
905:103880001F9108950895CF93809170058823A1F02A
906:10389000C091E900CF709091EC00892F817090FD6C
907:1038A00080E8C82B1092E9008091E80083FD0E9417
908:1038B000F11ACF70C093E900CF9108959093EC0472
909:1038C0008093EB0408958091EB049091EC040895AB
910:1038D000E091EB04F091EC04309721F00190F0813D
911:1038E000E02D099480E00895E091EB04F091EC0460
912:1038F000309721F00280F381E02D09940895E09142
913:10390000EB04F091EC04309721F00480F581E02D78
914:10391000099408952091E9043091EA0482179307ED
915:1039200071F09093EA048093E904E091EB04F09144
916:10393000EC04309721F00680F781E02D099408957A
917:103940002091E7043091E8048217930771F0909377
918:10395000E8048093E704E091EB04F091EC043097E5
919:1039600021F00084F185E02D0994089508950C94C8
920:10397000B61C0E943D280E94DA0D0E9407290C9473
921:10398000B82E5F926F927F928F929F92AF92BF926A
922:10399000CF92DF92EF92FF920F931F93CF93DF931B
923:1039A00000D000D01F92CDB7DEB70E941F0E98EF57
924:1039B000C92E94E0D92E04E010E0AA24A394B12CDF
925:1039C000502E802F0E948D0E4C01F6017290629055
926:1039D0006F016826792661147104A1F40150110960
927:1039E00078F78FEF89838A831B820E944628816043
928:1039F000782F9D838C8349815A816B818D810E94B0
929:103A0000711D38C080914D0581FD0E94960E2EE0FB
930:103A100030E07501022E02C0EE0CFF1C0A94E2F7A2
931:103A2000C70186219721892B09F129835A828E208B
932:103A30009F2091E0892809F490E09B830E9446280A
933:103A40008160782F9D838C8349815A816B818D8120
934:103A50000E94711D000F111FF801E251FB4F808180
935:103A60009181E826F926F182E08204C021503109D3
936:103A700080F6B4CF0E940A2C1091ED040E94681CBD
937:103A80001817D1F00E94681C8093ED040F900F90DE
938:103A90000F900F900F90DF91CF911F910F91FF909A
939:103AA000EF90DF90CF90BF90AF909F908F907F90DE
940:103AB0006F905F900C94C40D0F900F900F900F902B
941:103AC0000F90DF91CF911F910F91FF90EF90DF90BA
942:103AD000CF90BF90AF909F908F907F906F905F90AE
943:103AE0000895CF93DF93CDB7DEB72B970FB6F89439
944:103AF000DEBF0FBECDBF4F83588769877A878B871C
945:103B0000DE01119686E0FD0111928A95E9F785E0C4
946:103B1000FE01379601900D928A95E1F749815A810D
947:103B20006B817C818D819E810E94E8232B960FB64C
948:103B3000F894DEBF0FBECDBFDF91CF910895CF9334
949:103B4000882309F4C2C0C82F823859F40E94681C27
950:103B500081FDBBC089E30E94C2260E948F2789E3B2
951:103B60000CC0833879F40E94681C80FDAEC083E5E8
952:103B70000E94C2260E948F2783E50E940427CF91CE
953:103B80000C948F27843859F40E94681C82FD9DC0D4
954:103B900087E40E94C2260E948F2787E4EECF8CEF35
955:103BA0008C0F813A48F48C2F0E94202E81118DC0F9
956:103BB0008C2F0E94C226E3CF80E28C0F883048F41D
957:103BC000C77081E001C0880FCA95EAF70E944827B4
958:103BD000D6CF8BE58C0F833078F4C53A29F0C63AFE
959:103BE00031F083E890E005C081E890E002C082E80F
960:103BF00090E0CF910C948A1C88E58C0F833108F0FB
961:103C000064C0C83A39F1C93A41F1CA3A49F1CB3AEC
962:103C100051F1CC3A59F1CD3A61F1C03B69F1CE3A5C
963:103C200071F1CF3A79F1C13B81F1C23B89F1C33BDC
964:103C300091F1C43B99F1C53BA1F1C63BA9F1C73B4A
965:103C4000B1F1C83BB9F1C93BC1F1CA3BC9F180E050
966:103C500090E038C082EE90E035C089EE90E032C04E
967:103C60008AEE90E02FC085EB90E02CC086EB90E0D0
968:103C700029C087EB90E026C08CEC90E023C08DEC4F
969:103C800090E020C083E891E01DC08AE891E01AC06E
970:103C900082E991E017C084E991E014C081E292E0EA
971:103CA00011C083E292E00EC084E292E00BC085E294
972:103CB00092E008C086E292E005C087E292E002C08E
973:103CC0008AE292E0CF910C94A01CCF9108958823B2
974:103CD00009F44BC0823859F40E94681C81FF45C02A
975:103CE00089E30E94C2260E948F2789E30CC0833893
976:103CF00071F40E94681C80FF38C083E50E94C226D0
977:103D00000E948F2783E50E9404270C948F27843814
978:103D100059F40E94681C82FF28C087E40E94C226D2
979:103D20000E948F2787E4EFCF9CEF980F913A58F3CA
980:103D300090E2980F983050F4877091E001C0990F8D
981:103D40008A95EAF7892F0E944E27DFCF9BE5980FCF
982:103D5000933020F480E090E00C948A1C885A8331E0
983:103D600020F480E090E00C94A01C0895882321F0BA
984:103D70000E9448270C948F270895882321F00E94E1
985:103D80004E270C948F2708957F928F929F92AF9227
986:103D9000BF92CF92DF92EF92FF920F931F93CF9338
987:103DA000DF931F92CDB7DEB77C01C62E772EFC01C4
988:103DB000058102950F70128111110E9465270E94E2
989:103DC000BB26882379F0112369F080E28C0D8830BE
990:103DD00048F082E00E94A4260E94BB2691E0D82EE3
991:103DE000D92601C0D12CE72DE295EF70F0E0E6581E
992:103DF000FF4F0C944933872D807F072D0F70882348
993:103E000011F00295007F112389F0002309F499C174
994:103E100080E28C0D883020F4802F0E94482703C058
995:103E2000802F0E9458270E948F278BC18C2D0E94C3
996:103E3000671E002309F4C3C180E28C0D883020F492
997:103E4000802F0E944E2703C0802F0E945E270E9471
998:103E50008F27B5C1872D807F972D9F70803211F4F9
999:103E6000892F03C0892F8295807FCC2021F0F1E03B
1000:103E7000CF16A1F01DC0112339F0002319F1013034
1001:103E800009F50E9478279BC1002319F0013009F43D
1002:103E900096C189830E947B27898110C1112321F05B
1003:103EA000063008F08CC10EC0053008F088C106C18C
1004:103EB000112359F0002331F0F701958190FF41C1A2
1005:103EC0009F7095830E94B61E7AC1002309F4F6C044
1006:103ED0003EC1872D86958695837090E0009719F0F6
1007:103EE000019761F06CC1112321F08C2D972D9370F7
1008:103EF00002C080E090E00E948A1C61C1112321F081
1009:103F00008C2D972D937002C080E090E00E94A01C41
1010:103F100056C18C2D112319F00E94122B02C00E9451
1011:103F20007A2B0E94FF2B4BC1872D837009F052C062
1012:103F3000111145C18C2D829586958770880F880F49
1013:103F40009C2D9F70892E912CA12CB12C082E04C081
1014:103F5000880C991CAA1CBB1C0A94D2F7C4FE14C07E
1015:103F60000FE010E020E030E0B901A80104C0440FE8
1016:103F7000551F661F771F8A95D2F7CB01BA0160954E
1017:103F800070958095909503C060E070E0CB01272D7F
1018:103F900026952695237030E02230310569F02330D4
1019:103FA000310589F0682979298A299B292130310531
1020:103FB00071F00E94302503C1682979298A299B293B
1021:103FC0000E944C25FCC00E943025C501B4010E940E
1022:103FD0001425F5C0112319F0872D817001C0869535
1023:103FE000882309F4ECC08C2D829586958770880F04
1024:103FF000880F9C2D9F70892E912CA12CB12C082EFE
1025:1040000004C0880C991CAA1CBB1C0A94D2F7C4FEDD
1026:1040100014C00FE010E020E030E0B901A80104C0B6
1027:10402000440F551F661F771F8A95D2F7CB01BA013F
1028:10403000609570958095909503C060E070E0CB012D
1029:10404000272D269526952370422F50E042305105AA
1030:1040500069F04330510589F0682979298A299B291B
1031:104060004130510571F00E940A26A9C068297929BA
1032:104070008A299B290E942626A2C00E940A26C501E1
1033:10408000B4010E94EE259BC08C2D90E0FC01E05E07
1034:10409000F109E531F10508F050C0E657FF4F0C94E7
1035:1040A00049330C2D0F70872D8F71112321F00E9441
1036:1040B0008725802F07CF0E94A825802F0E94BD1E34
1037:1040C0007EC0112341F0053008F079C0872D8F7133
1038:1040D0000E94CD2574C0063008F071C0F7CF1123BF
1039:1040E00039F0872D8F710E94872569C01123C9F38C
1040:1040F000872D8F710E94A82562C0112329F0872D7A
1041:104100008F710E9472255BC00E94682558C01123E0
1042:1041100051F0172D1F71812F0E94872563E0812F99
1043:104120000E949B264CC081E00E94A426023008F425
1044:1041300046C082E00E94A42642C0112331F0002331
1045:1041400081F28C2D0E949F1D3AC0002389F28C2D94
1046:104150000E94671E34C0472D4F706C2DC7010E940E
1047:104160004A060E948C242BC0111129C0472D4F7084
1048:1041700050E042305105B9F04CF44115510581F041
1049:1041800041305105E1F40E94E02E19C04330510541
1050:1041900069F04430510599F48C2D0E94322F0FC0E4
1051:1041A0000E94C92E0CC00E94FC2E09C00E940F2F35
1052:1041B00006C0472D4F706C2DC7010E94650ADD2097
1053:1041C000F9F00E94972680FD1BC0F70112820E9421
1054:1041D00091260E948725C7010E940F210E949126E7
1055:1041E0000F90DF91CF911F910F91FF90EF90DF9093
1056:1041F000CF90BF90AF909F908F907F900C94A82508
1057:104200000F90DF91CF911F910F91FF90EF90DF9072
1058:10421000CF90BF90AF909F908F907F9008950F9315
1059:104220001F93CF93DF93EC01888199812B813C818F
1060:10423000232BB9F09F3F11F48F3F99F0CE010E94DC
1061:104240006408882371F0688179818A810E948D26B3
1062:104250008C010E9442260E940925B801CE010E94CD
1063:10426000C41EDF91CF911F910F9108950E94652781
1064:104270000E9475270E943A270E948F270E94B02C27
1065:104280000E94FF2B80E090E00E948A1C80E090E07A
1066:104290000C94A01C0E9455270C9436210E94822663
1067:1042A000292F22952F7030E02C3031054CF42A3024
1068:1042B00031056CF42250310922303105A8F407C0D1
1069:1042C0002C30310569F02F30310551F00DC0803FA1
1070:1042D00069F018F4803E40F409C0843F29F406C018
1071:1042E00093FB882780F9089580E0089581E0089580
1072:1042F000CF93DF9300D000D01F92CDB7DEB70F90E1
1073:104300000F900F900F900F90DF91CF910895CF9362
1074:10431000DF9300D000D000D0CDB7DEB726960FB621
1075:10432000F894DEBF0FBECDBFDF91CF9108951F93EC
1076:10433000CF93DF93C091F80416E08091F904C81779
1077:1043400099F0D0E01C9FF0011D9FF00D1124E65064
1078:10435000FB4F4081518162817381848195810E94EC
1079:1043600087212196C770E9CFDF91CF911F910895E2
1080:1043700040912A0550912B0560912C0570912D05D7
1081:1043800080912E0590912F050C94872180912F0507
1082:1043900082958F7009F054C080912C05882309F410
1083:1043A0004FC08091F804A091F90460912A057091A2
1084:1043B0002B0540912D0550912E05B6E08A1709F482
1085:1043C0003FC090E041155105C1F17F3F11F46F3FAF
1086:1043D000A1F1B89FF001B99FF00D1124E650FB4FF9
1087:1043E000218172132AC02081621327C022812111EA
1088:1043F00024C0238134812417350710F4215031095A
1089:10440000241B350B283C3105C0F420912F052F705B
1090:10441000206120932F0526E0289FF001299FF00DB1
1091:104420001124E150FB4F80818F70806180838AE28C
1092:1044300095E00E940F210C94972101968770BECFC2
1093:104440000895CF92DF92EF92FF920F931F93CF9335
1094:10445000DF93CDB7DEB762970FB6F894DEBF0FBE1D
1095:10446000CDBF8C0185E0F801DE011D9601900D9213
1096:104470008A95E1F7D8014C9111965C9111971296AB
1097:104480006C9112971396CD90DC90149730912A0579
1098:1044900070912B0580912D0590912E05009709F4C0
1099:1044A0006BC17F3F19F43F3F09F466C1E0902C05D2
1100:1044B000EE2009F4C0C020912F05C816D90628F0B7
1101:1044C000F601E81BF90BCF0104C0809590958C0D87
1102:1044D0009D1DFF24F394883C910578F0F12C207FFA
1103:1044E00009F0C6C07C2DD98AC88A89890E947821A2
1104:1044F0008AE295E00E940F21B1C0822F807F09F0EF
1105:1045000046C0751314C0341312C0611110C02F704F
1106:10451000206120932F050E94B8218AE295E00E9435
1107:104520000F2180912F05D80115968C932EC0CD2890
1108:1045300019F15F3F11F44F3FF9F0F62E61111CC0E5
1109:104540008091F8042091F90436E0821709F45AC0EA
1110:1045500090E0389FF001399FF00D1124E650FB4F99
1111:104560007181571306C07081471303C072817111A6
1112:1045700003C001968770E9CFF62E662309F418C1AF
1113:1045800080912F05816080932F05F12C11C1751347
1114:1045900008C0341306C0611104C080912F05D801F2
1115:1045A000C3C04D875E878D859E856A8B0E944E2194
1116:1045B0006A898823E1F16623D1F120912F05822FAA
1117:1045C00082958F7090E0029774F080912A05909107
1118:1045D0002B0598878F831986DB86CA862C87CE01A8
1119:1045E00007960E940F2186E0F801AAE2B5E001904B
1120:1045F0000D928A95E1F70E94C6210E94B821FF24FE
1121:10460000F394D6C04D875E878D859E850E94822655
1122:10461000292F22952F7030E0223031050CF0BCC0DC
1123:104620009F7009F0B6C0805E883008F4C1C0C80130
1124:104630000E940F21E4CFC816D90608F453C0F60132
1125:10464000E81BF90BCF01883C910508F450C0F12C10
1126:104650007C2DD98AC88A89890E947821EAE2F5E00E
1127:1046600086E0DF011D928A95E9F70E94B821A0C07B
1128:10467000751314C0341312C0611110C080912F053E
1129:10468000F8018583C8010E940F2186E0EAE2F5E087
1130:10469000DF011D928A95E9F7FE2C8AC04D875E875F
1131:1046A0008D859E856A8B0E944E216A89882309F434
1132:1046B000BECF662309F4BBCF20912F05822F8295B0
1133:1046C0008F7090E002970CF48ECF80912A05909124
1134:1046D0002B059A8389831B82DD82CC822E83CE01B7
1135:1046E00001967FCF809590958C0D9D1DACCFF62EB9
1136:1046F000662309F49CCF75132EC034132CC020916F
1137:104700002F0520FD1FC0822F82958F70D9F0D80110
1138:1047100015962C9315978F3049F08F5F982F9295AF
1139:10472000907F822F8F70892B15968C93C8010E94E1
1140:104730000F2186E0F801AAE2B5E001900D928A957A
1141:10474000E1F793CF86E0F801AAE2B5E001900D927F
1142:104750008A95E1F72DC04D875E878D859E850E94E5
1143:104760004E21811140CF80912F05816080932F05CC
1144:10477000C8010E940F211CC0662309F458CF4D8741
1145:104780005E878D859E850E944E21882309F44FCF38
1146:104790002ACF811148CF0CC0243031050CF047CF0F
1147:1047A0009F7009F440CFF8019581907F09F03BCFCD
1148:1047B0008F2D62960FB6F894DEBF0FBECDBFDF918E
1149:1047C000CF911F910F91FF90EF90DF90CF900895C0
1150:1047D0001F93CF93DF93CDB7DEB72C970FB6F89426
1151:1047E000DEBF0FBECDBF4F83588769877A878B871F
1152:1047F0009C87CE0107960E942122882369F08F8131
1153:1048000098852A853B85232BF1F19F3F09F063C0F2
1154:104810008F3F09F060C037C086E0FE013796DE01A9
1155:10482000119601900D928A95E1F76F817885EA855E
1156:10483000FB85309741F17F3F11F46F3F21F12091CB
1157:10484000F90430E0C9010196877099274091F80476
1158:1048500050E08417950709F447C069837A83FD8384
1159:10486000EC8396E0929FD001939FB00D1124A65047
1160:10487000BB4FFE01319601900D929A95E1F780931E
1161:10488000F9040E94972116E08091F8049091F904B0
1162:104890008917C1F1189FC001112486509B4F0E94B7
1163:1048A0002122882379F1E091F8041E9FF001112460
1164:1048B000E650FB4F408151816281738184819581F3
1165:1048C0000E9487218091F80490E0019687709927D3
1166:1048D0008093F804D9CF4F81588569857A858B8577
1167:1048E0009C850E948721CFCF0E944A211092F90413
1168:1048F0001092F804EAE2F5E086E0DF011D928A9565
1169:10490000E9F7C1CF2C960FB6F894DEBF0FBECDBF2E
1170:10491000DF91CF911F910895EF92FF920F931F9314
1171:10492000CF93DF938C01009709F46CC0F12CEE2437
1172:10493000E394E8012196F8018491843740F48430AF
1173:1049400008F051C0813081F0823019F15BC08537A9
1174:1049500009F444C0A8F19CE7980F903708F052C0C2
1175:104960008F770E94671E41C00E5F1F4FFE01C491EA
1176:1049700080E28C0F883048F4C7708E2D01C0880FFC
1177:10498000CA95EAF70E94682714C08C2F0E949F1DC9
1178:104990002DC00E5F1F4FFE01C49180E28C0F883046
1179:1049A00058F4C7708E2D01C0880FCA95EAF70E948F
1180:1049B0006E270E948F271AC08C2F0E94671E16C078
1181:1049C0000E5F1F4FFE01C491CC2381F08FE99FE061
1182:1049D0000197F1F700C00000C150F6CF0E5F1F4FE6
1183:1049E000FE01F49003C00E949F1D8E018F2D88232D
1184:1049F00009F49FCFEFE9FFE03197F1F700C0000025
1185:104A00008150F5CFDF91CF911F910F91FF90EF90E3
1186:104A100008950895609334057093350580933605A5
1187:104A2000909337050C9436210F931F930091340512
1188:104A3000109135052091360530913705DC01CB0109
1189:104A4000802B912BA22BB32B8093340590933505AB
1190:104A5000A0933605B09337051F910F910C94362122
1191:104A60000F931F9300913405109135052091360561
1192:104A700030913705DC01CB0180239123A223B3239E
1193:104A80008093340590933505A0933605B093370590
1194:104A90001F910F910C9436210F931F9300913405B1
1195:104AA000109135052091360530913705DC01CB0199
1196:104AB00080279127A227B32780933405909335054B
1197:104AC000A0933605B09337051F910F910C943621B2
1198:104AD0001092300510923105109232051092330574
1199:104AE0000C94362141E050E060E070E004C0440FD7
1200:104AF000551F661F771F8A95D2F740933005509354
1201:104B0000310560933205709333050C94362141E0F2
1202:104B100050E060E070E004C0440F551F661F771F2F
1203:104B20008A95D2F78091300590913105A091320598
1204:104B3000B0913305482B592B6A2B7B2B40933005C2
1205:104B40005093310560933205709333050C943621F0
1206:104B500041E050E060E070E004C0440F551F661F64
1207:104B6000771F8A95D2F74095509560957095809102
1208:104B7000300590913105A0913205B091330548235D
1209:104B800059236A237B23409330055093310560936A
1210:104B90003205709333050C94362141E050E060E01B
1211:104BA00070E004C0440F551F661F771F8A95D2F727
1212:104BB0008091300590913105A0913205B091330577
1213:104BC000482759276A277B274093300550933105A2
1214:104BD00060933205709333050C9436210F931F9325
1215:104BE0000091300510913105209132053091330547
1216:104BF000DC01CB01802B912BA22BB32B80933005B2
1217:104C000090933105A0933205B09333051F910F9116
1218:104C10000C9436210F931F930091300510913105AC
1219:104C20002091320530913305DC01CB0180239123A3
1220:104C3000A223B3238093300590933105A0933205CE
1221:104C4000B09333051F910F910C9436210F931F934E
1222:104C500000913005109131052091320530913305D6
1223:104C6000DC01CB0180279127A227B3278093300551
1224:104C700090933105A0933205B09333051F910F91A6
1225:104C80000C9436210895CF92DF92EF92FF920F930A
1226:104C90001F93CF93DF938C01C0903405D0903505DE
1227:104CA000E0903605F0903705809130059091310500
1228:104CB000A0913205B0913305C82AD92AEA2AFB2AE5
1229:104CC000CFE1D0E0D701C6010C2E04C0B695A79560
1230:104CD000979587950A94D2F780FF06C0B8018C2F6C
1231:104CE0000E94EA0C019721F4219760F780E001C04F
1232:104CF0008C2FDF91CF911F910F91FF90EF90DF905C
1233:104D0000CF900895CF93DF93EC010E944326BE011C
1234:104D10000E94EA0CDF91CF910895CB010E94822678
1235:104D2000089580913805859585958595089580919C
1236:104D300038058770089598E0899F90011124262BEB
1237:104D4000209338050C94872520913805809582237F
1238:104D500080933805982F977069F430E0482F5527D5
1239:104D600047FD50952417350729F08595859585953C
1240:104D70000C94A825089590913805977081E009F466
1241:104D800080E0089590916503992321F09091660346
1242:104D9000911109C02091670330916803F90132969F
1243:104DA0009FEF40E01FC0982F9695969596959F305F
1244:104DB00050F5E0916703F0916803E90FF11D8770EA
1245:104DC00021E030E0A90102C0440F551F8A95E2F7A7
1246:104DD000CA019181892B818308959F3F39F04F5FEC
1247:104DE0004E3041F051915813F8CF0DC05111F7CF0B
1248:104DF000942FF5CF9F3F39F0F901E90FF11D97FD91
1249:104E0000FA9582830895089590916503992321F07E
1250:104E100090916603911109C0209167033091680356
1251:104E2000F9013296205F3F4F1FC0982F96959695B7
1252:104E300096959F30F0F4E0916703F0916803E90FD5
1253:104E4000F11D877021E030E0A90102C0440F551F19
1254:104E50008A95E2F7CA01809591818923818308951B
1255:104E60003196E217F30729F090819813F9CF108259
1256:104E7000F7CF089581E090E0E0916703F091680337
1257:104E8000E80FF91F1082019680319105A9F7089566
1258:104E900090914C05892B80934C05089580959091B5
1259:104EA0004C05892380934C05089510924C05089574
1260:104EB00090914B05892B80934B0508958095909197
1261:104EC0004B05892380934B05089510924B05089557
1262:104ED00090914A05892B80934A0508958095909179
1263:104EE0004A05892380934A05089510924A0508953A
1264:104EF00080933905089510923905089580916703CC
1265:104F000090916803FC0131969C01205F3F4F80E047
1266:104F1000919191118F5FE217F307D1F70895E09116
1267:104F20006703F091680380914C058083E0916703EB
1268:104F3000F0916803908180914B05892B8083E091EB
1269:104F40006703F0916803908180914A05892B8083E3
1270:104F500080913905882361F0E0916703F09168033F
1271:104F60009081892B80830E947E27811110923905C0
1272:104F700080916703909168030C94741C20E0009763
1273:104F800039F0AC0141505109842395232F5FF7CFAD
1274:104F9000822F089580917005843039F110924E056A
1275:104FA00020E488E190E00FB6F894A8958093600023
1276:104FB0000FBE2093600080E00E942A0580E00E94DE
1277:104FC000C40D83B7817F846083BF83B7816083BF53
1278:104FD0007894889583B78E7F83BF88E10FB6F89465
1279:104FE00080936000109260000FBE089508950895A8
1280:104FF00080E00E942A050E94F6270E941F0E0E9450
1281:10500000F7270E94970E91E0811101C090E0892F4F
1282:1050100008950E944A2180E00E942A050E94B82E2D
1283:105020000E94681C0C94C40D1F920F920FB60F9231
1284:1050300011248F939F93AF93BF9380914E0581115D
1285:1050400013C080914F0590915005A0915105B091EA
1286:1050500052054196A11DB11D80934F0590935005B7
1287:10506000A0935105B0935205BF91AF919F918F913D
1288:105070000F900FBE0F901F90189582E084BD93E0B3
1289:1050800095BD9AEF97BD80936E0008952FB7F89461
1290:1050900080914F0590915005A0915105B091520516
1291:1050A0002FBF0895CF92DF92EF92FF920F931F933D
1292:1050B0002FB7F89440914F055091500560915105DC
1293:1050C000709152052FBF6A017B01EE24FF248C01F1
1294:1050D00020E030E0C016D106E206F30610F441509D
1295:1050E00051099A01281B390BC9011F910F91FF909B
1296:1050F000EF90DF90CF9008951F920F920FB60F920E
1297:1051000011248F939F93AF93BF9380914F059091FC
1298:105110005005A0915105B09152050196A11DB11DF8
1299:1051200080934F0590935005A0935105B09352057D
1300:10513000BF91AF919F918F910F900FBE0F901F90D5
1301:1051400018950E946019F8942FEF87EA91E6215094
1302:1051500080409040E1F700C0000087E090EBDC0168
1303:1051600080937B0590937C05A0937D05B0937E058D
1304:105170009CE088E10FB6F894A895809360000FBE7C
1305:1051800090936000FFCFCF92DF92EF92FF920F9348
1306:105190001F93CF93DF93D82FC4E0EE24E394F12C38
1307:1051A0008C2F0E948D0E6C010EE010E09701002EF6
1308:1051B00002C0220F331F0A94E2F72C213D21232B3A
1309:1051C00049F0602F7C2F80E00E94660AD81302C04D
1310:1051D00081E006C00150110948F7C15008F780E08E
1311:1051E000DF91CF911F910F91FF90EF90DF90CF90C3
1312:1051F0000895CF93C82F8CE20E94C328882321F002
1313:105200008C2FCF910C94C32880E0CF910895CF9339
1314:105210000E94582A811102C00E94342AC5E6C1505A
1315:1052200049F00E941F0E8FE39CE90197F1F700C03F
1316:105230000000F5CF89E20E94F928811113C18AE2AA
1317:105240000E94F92881110E94342A85E00E94F928E1
1318:1052500081110E94A1280E94632A80934D0587E056
1319:105260000E94F9288823A9F18BE10E94F92888235C
1320:1052700051F080914D0581FB222720F991E0922782
1321:1052800090FB81F90EC08EE00E94F928882361F01E
1322:1052900080914D0582FB222720F991E0922790FB17
1323:1052A00082F980934D0515C080E10E94F928909104
1324:1052B0004D05882341F093FB222720F981E08227C6
1325:1052C00080FB93F904C0892F809580FB90F990931F
1326:1052D0004D0580914D050E94672A0E94752A809392
1327:1052E000790580EE0E94F928882341F080917905A4
1328:1052F000982F909590FB80F98093790589E30E941F
1329:10530000F928882359F08091790581FB222720F91B
1330:1053100091E0922790FB81F98093790582EE0E94BB
1331:10532000F928882359F08091790582FB222720F9FA
1332:1053300091E0922790FB82F98093790586EE0E9496
1333:10534000F928882359F08091790583FB222720F9D9
1334:1053500091E0922790FB83F98093790583EE0E9478
1335:10536000F928882359F08091790584FB222720F9B8
1336:1053700091E0922790FB84F98093790585E30E9460
1337:10538000F928882359F08091790585FB222720F997
1338:1053900091E0922790FB85F98093790581E30E9443
1339:1053A000F928882359F08091790586FB222720F976
1340:1053B00091E0922790FB86F98093790581E10E9424
1341:1053C000F928882359F08091790587FB222720F955
1342:1053D00091E0922790FB87F9809379058091790578
1343:1053E0000E94792A8091790587FB882780F980932C
1344:1053F000660387E20E94F928C82F8EE10E94F928EF
1345:105400008111C2608FE10E94F9288111C46080E29D
1346:105410000E94F9288111C86081E20E94F928811157
1347:10542000C06182E20E94F9288111C06283E20E9479
1348:10543000F9288111C06484E20E94F928882311F0C0
1349:10544000C06802C0CC2329F08C2F0E94702A6C2FD8
1350:1054500003C00E946C2A682F70E080E090E0CF913A
1351:105460000C940A25CF9108956DEE7EEF80E090E0D8
1352:105470000E946F3360E082E090E00E945D3360E064
1353:1054800083E090E00E945D3360E084E090E00E9461
1354:105490005D3360E085E090E00E945D3360E086E08F
1355:1054A00090E00E945D336FEF87E090E00C945D33F5
1356:1054B00080E090E00E94573321E08D3E9E4F09F03E
1357:1054C00020E0822F089582E090E00C944F33682F03
1358:1054D00082E090E00C945D3383E090E00C944F33D5
1359:1054E000682F83E090E00C945D3384E090E00C94AE
1360:1054F0004F33682F84E090E00C945D3386E090E0B9
1361:105500000C944F33682F86E090E00C945D3387E075
1362:1055100090E00C944F33682F87E090E00C945D335B
1363:105520008091550580FF0BC060916C0385E0689FFA
1364:10553000B001112475956795759567952BC081FF0E
1365:1055400009C060916C0385E0689FB00111247595D6
1366:10555000679520C082FF07C060916C0385E0689F5B
1367:10556000B001112417C0909156059923D1F0609194
1368:105570006B03961788F720916C0385E0289F9001B4
1369:105580001124929FA001939F500D112470E0CA0135
1370:105590000E9435336038710540F46115710539F0AA
1371:1055A00002C065E070E0862F08958FE7089581E0DE
1372:1055B00008958091550580FF08C060916A0370E0EE
1373:1055C000759567957595679521C081FF06C06091B7
1374:1055D0006A0370E07595679519C082FF04C06091F9
1375:1055E0006A0370E010C0909156059923C1F0609154
1376:1055F00069039617A0F780916A03899FC00111245F
1377:1056000070E00E9435336038710528F4611571052A
1378:1056100021F0862F08958FE7089581E0089561E0D5
1379:1056200070E0F4CF803F21F40E94902A819504C05D
1380:10563000813F29F40E94902A809359050895823F62
1381:1056400021F40E94902A819504C0833F29F40E948E
1382:10565000902A809358050895893F19F40E94D92A09
1383:1056600005C08A3F31F40E94D92A819580935A055A
1384:1056700008958B3F21F40E94D92A819504C08C3F64
1385:1056800029F40E94D92A80935B050895843F21F470
1386:1056900080915705816017C0853F21F4809157059F
1387:1056A000826011C0863F21F48091570584600BC051
1388:1056B000873F21F480915705886005C0883F31F409
1389:1056C0008091570580618093570508958D3F21F49F
1390:1056D0008091550581600BC08E3F21F48091550566
1391:1056E000826005C08F3F29F48091550584608093C6
1392:1056F00055050895803F39F48091590587FF6CC0A6
1393:105700001092590569C0813F29F4809159051816F6
1394:10571000BCF362C090915805823F29F497FF5CC0AA
1395:105720001092580559C0833F19F41916CCF354C090
1396:10573000893F41F480915A0518160CF04DC0109223
1397:105740005A054AC08A3F29F480915A0587FF44C010
1398:10575000F6CF8B3F39F480915B0587FF3DC01092F7
1399:105760005B053AC08C3F29F480915B051816BCF3A9
1400:1057700033C0843F21F4809157058E7F17C0853F49
1401:1057800021F4809157058D7F11C0863F21F48091CF
1402:1057900057058B7F0BC0873F21F480915705877F8A
1403:1057A00005C0883F31F4809157058F7E809357055F
1404:1057B00013C08D3F21F4809155058E7F0BC08E3F25
1405:1057C00021F4809155058D7F05C08F3F29F480918C
1406:1057D00055058B7F809355058091580581110EC02A
1407:1057E0008091590581110AC080915A05811106C026
1408:1057F00080915B05811102C010925605089587E5DE
1409:1058000095E00E947F1C0E94462890935405809347
1410:10581000530508951F93CF93DF9380915305909183
1411:1058200054050E945228AC0190915605992321F00D
1412:1058300020916D0330E006C020916E038AE0289F1E
1413:10584000900111244217530708F486C0809158052F
1414:10585000C0915905D0915A0510915B05811107C07F
1415:10586000C11176C0D11174C0111172C075C09F3FB3
1416:1058700019F09F5F90935605181624F40E94902A01
1417:10588000809358058091580587FF05C00E94902A93
1418:105890008195809358051C1624F40E94902A8093C9
1419:1058A00059058091590587FF05C00E94902A81956E
1420:1058B0008093590560915805662339F1C0915905C7
1421:1058C000CC2319F1772767FD7095872F972F0E94BA
1422:1058D000573023E333E343E35FE30E9467310E94E1
1423:1058E0002430609358056C2F772767FD7095872FBC
1424:1058F000972F0E94573023E333E343E35FE30E9493
1425:1059000067310E942430609359051D1624F40E94CB
1426:10591000D92A80935A0580915A0587FF05C00E94B5
1427:10592000D92A819580935A05111624F40E94D92A08
1428:1059300080935B0580915B0587FF05C00E94D92A93
1429:10594000819580935B05DF91CF911F910C94FF2B84
1430:105950009F3F09F08ECF96CFDF91CF911F91089591
1431:10596000E7E5F5E085E0DF011D928A95E9F7109201
1432:105970005605109255050895833081F128F4813041
1433:1059800059F08230D1F00895853009F449C0B8F15A
1434:10599000863009F456C0089580916E03262F30E0BA
1435:1059A000280F311D2F3F310524F4680F60936E03DB
1436:1059B00008958FEF80936E03089580916D03262FD5
1437:1059C00030E0280F311D2F3F310524F4680F60931C
1438:1059D0006D0308958FEF80936D03089580916C039C
1439:1059E000262F30E0280F311D2F3F310524F4680F9A
1440:1059F00060936C0308958FEF80936C0308958091FA
1441:105A00006B03262F30E0280F311D2F3F310524F482
1442:105A1000680F60936B0308958FEF80936B03089575
1443:105A200080916A03262F30E0280F311D2F3F31056A
1444:105A300024F4680F60936A0308958FEF80936A03DC
1445:105A4000089580916903262F30E0280F311D2F3FE4
1446:105A5000310524F4680F6093690308958FEF8093F4
1447:105A600069030895833011F128F4813049F08230C0
1448:105A700091F00895853081F120F18630C1F10895CB
1449:105A800080916E03681720F4861B80936E0308953F
1450:105A900010926E03089580916D03681720F4861BA1
1451:105AA00080936D03089510926D03089580916C03A7
1452:105AB000681720F4861B80936C03089510926C0382
1453:105AC000089580916B03681720F4861B80936B0305
1454:105AD000089510926B03089580916A03681720F46B
1455:105AE000861B80936A03089510926A03089580913B
1456:105AF0006903681720F4861B809369030895109248
1457:105B0000690308950F931F93482F50E0FA013597CA
1458:105B1000EF33F10508F08CC0E156FF4F0C94493388
1459:105B20000E94631C892B59F00E94631C90935D05B1
1460:105B300080935C050E944A2180E090E004C080913F
1461:105B40005C0590915D050E945E1C6BC080914D05C7
1462:105B5000817F8E7F80934D0581E080935F0569C0D2
1463:105B60000E944A210E94C70E0E94BB070E94A128E2
1464:105B700058C090914D05892F8095817080FB90F9D8
1465:105B800029F09660986090934D0553C0997F977F58
1466:105B900090934D0546C080914D0581FB222720F949
1467:105BA00091E0922790FB81F980934D059923C9F1EB
1468:105BB00080914D05816080934D0533C080914D05E6
1469:105BC00082FB222720F991E0922790FB82F9ECCF0B
1470:105BD00080914D0583FB222720F991E0922790FBCD
1471:105BE00083F9E2CF0E944A219091660381E08927E0
1472:105BF0008093660316C0895301C08D5141E050E087
1473:105C000060E070E08A019B0104C0000F111F221F99
1474:105C1000331F8A95D2F7C901B8010E940A250E9454
1475:105C20004A2181E006C061E070E080E090E0F5CFBD
1476:105C300080E01F910F91089580E0089580E008951D
1477:105C4000CF93C82F80915F05813069F018F08230C2
1478:105C5000C9F184C0E0916703F091680380818232CA
1479:105C600009F07EC007C0E0916703F091680380816E
1480:105C7000823261F48C2F0E941C2E811104C08C2F63
1481:105C80000E94822D1DC081E090E01AC08C2F0E94DE
1482:105C90001E2E811114C0C43179F048F4CB3079F054
1483:105CA000C03109F061C082E080935F0508C0C9324D
1484:105CB00019F0C83321F058C010925F0555C081E03B
1485:105CC000817054C0C93291F120F5C43179F1B0F43A
1486:105CD000C73009F047C08EE180936E0382E3809362
1487:105CE0006D038AE080936C0384E180936B0388E00A
1488:105CF00080936A0388E28093690334C0CE51C63032
1489:105D000088F5EC2FF0E0E65FFB4F808180935E0525
1490:105D100029C0CE34E9F020F4CB3421F56AE013C079
1491:105D2000C13579F0C235F1F461E00DC080915E05B6
1492:105D3000882319F010925E0515C081E080935F05FD
1493:105D400015C061E006C080915E050E94BC2C0AC0AF
1494:105D50006AE080915E050E94322D04C010925F05BA
1495:105D600080E004C081E002C080E0AACFCF91089516
1496:105D70000E94582A811102C00E94342A0E947E2A61
1497:105D800080937A0580FF02C0869501C080E00C9464
1498:105D90002A0580917A05982F9695292F30E0233097
1499:105DA00031054CF49F5F990F8170892B816080933E
1500:105DB0007A050E94822A80917A0586950C942A059C
1501:105DC00080917A05982F969591F09158990F81704E
1502:105DD000892B80937A058E7F91E009F490E0809181
1503:105DE0007A0590FB80F980937A050E94822A80913F
1504:105DF0007A0586950C942A0580917A05982F9095BE
1505:105E000090FB80F980937A050E94822A80917A051E
1506:105E100080FF02C0869501C080E00C942A05909115
1507:105E20007A05892F86958F5F8F779170843028F45B
1508:105E3000880F892B80937A0502C090937A05809110
1509:105E40007A058E7F91E009F490E080917A0590FBCD
1510:105E500080F980937A050E94822A80917A0586953E
1511:105E60000C942A0520917A05922F96958927982FD0
1512:105E7000990F822F8170892B80937A058E7F91E014
1513:105E800009F490E080917A0590FB80F980937A057F
1514:105E90000E94822A80917A0586950C942A05809129
1515:105EA0007A05869508955058BB27AA270ED0D1C1F0
1516:105EB000C2D130F0C7D120F031F49F3F11F41EF46D
1517:105EC000B7C10EF4E095E7FB9FC1E92FD3D180F372
1518:105ED000BA17620773078407950718F071F49EF5E7
1519:105EE000EBC10EF4E0950B2EBA2FA02D0B01B901DA
1520:105EF00090010C01CA01A0011124FF27591B99F040
1521:105F0000593F50F4503E68F11A16F040A22F232F4B
1522:105F1000342F4427585FF3CF469537952795A7959B
1523:105F2000F0405395C9F77EF41F16BA0B620B730B42
1524:105F3000840BBAF09150A1F0FF0FBB1F661F771FB3
1525:105F4000881FC2F70EC0BA0F621F731F841F48F468
1526:105F5000879577956795B795F7959E3F08F0B3CFEE
1527:105F60009395880F08F09927EE0F979587950895D8
1528:105F700027D108F481E008950CD06BC163D140F0C3
1529:105F80005AD130F021F45F3F19F03EC1511195C153
1530:105F90004FC170D198F39923C9F35523B1F3951BE1
1531:105FA000550BBB27AA2762177307840738F09F5F3A
1532:105FB0005F4F220F331F441FAA1FA9F333D00E2EA9
1533:105FC0003AF0E0E830D091505040E695001CCAF716
1534:105FD00029D0FE2F27D0660F771F881FBB1F2617DB
1535:105FE00037074807AB07B0E809F0BB0B802DBF01AE
1536:105FF000FF2793585F4F2AF09E3F510568F004C178
1537:106000005CC15F3FECF3983EDCF38695779567952E
1538:10601000B795F7959F5FC9F7880F911D969587955E
1539:1060200097F90895E1E0660F771F881FBB1F62177D
1540:1060300073078407BA0720F0621B730B840BBA0B3B
1541:10604000EE1F88F7E095089504D06894B11135C12A
1542:10605000089518D188F09F5790F0B92F9927B7511C
1543:10606000A0F0D1F0660F771F881F991F1AF0BA951C
1544:10607000C9F712C0B13081F01FD1B1E008951CC141
1545:10608000672F782F8827B85F39F0B93FCCF3869512
1546:1060900077956795B395D9F73EF49095809570956F
1547:1060A00061957F4F8F4F9F4F0895E89409C097FBEC
1548:1060B0003EF490958095709561957F4F8F4F9F4FDF
1549:1060C0009923A9F0F92F96E9BB279395F695879523
1550:1060D00077956795B795F111F8CFFAF4BB0F11F4E6
1551:1060E00060FF1BC06F5F7F4F8F4F9F4F16C088238D
1552:1060F00011F096E911C0772321F09EE8872F762FC3
1553:1061000005C0662371F096E8862F70E060E02AF003
1554:106110009A95660F771F881FDAF7880F96958795EF
1555:1061200097F9089588D018F011F08CD038F480C019
1556:10613000C4C0E92F9FD0B0F35523C9F3E7FB621722
1557:10614000730784079507A8F199F3E92FFF278823A0
1558:106150002AF03197660F771F881FDAF7952F55279A
1559:10616000442332F091505040220F331F441FD2F786
1560:10617000BB27E91BF50B621B730B840BB109C1F242
1561:1061800022F4620F731F841FB11D31972AF0660F2E
1562:10619000771F881FBB1FEFCF915050405AF041F03E
1563:1061A000882332F0660F771F881F91505040C1F747
1564:1061B000939530C08695779567959F5FD9F7F8CF0F
1565:1061C000990F0008550FAA0BE0E8FEEF1616170608
1566:1061D000E807F907C0F012161306E407F50798F070
1567:1061E000621B730B840B950B39F40A2661F0232B89
1568:1061F000242B252B21F408950A2609F4A140A69505
1569:106200008FEF811D811D089597F99F6780E870E0E9
1570:1062100060E008959F3F31F0915020F48795779585
1571:106220006795B795880F911D9695879597F908956D
1572:106230009FEF80EC089500240A941616170618069E
1573:106240000906089500240A9412161306140605067A
1574:106250000895092E0394000C11F4882352F0BB0F0B
1575:1062600040F4BF2B11F460FF04C06F5F7F4F8F4F6E
1576:106270009F4F089557FD9058440F551F59F05F3FA9
1577:1062800071F04795880F97FB991F61F09F3F79F058
1578:1062900087950895121613061406551FF2CF4695DA
1579:1062A000F1DF08C0161617061806991FF1CF86955C
1580:1062B0007105610508940895E894BB276627772740
1581:1062C000CB0197F908957CDF08F48FEF08950BD088
1582:1062D000C0CFB1DF28F0B6DF18F0952309F094CFD6
1583:1062E000A7CF1124EACFC6DFA0F3959FD1F3950F76
1584:1062F00050E0551F629FF001729FBB27F00DB11D4A
1585:10630000639FAA27F00DB11DAA1F649F6627B00DD9
1586:10631000A11D661F829F2227B00DA11D621F739FC2
1587:10632000B00DA11D621F839FA00D611D221F749FD0
1588:106330003327A00D611D231F849F600D211D822F17
1589:10634000762F6A2F11249F5750408AF0E1F088235E
1590:106350004AF0EE0FFF1FBB1F661F771F881F91506B
1591:106360005040A9F79E3F510570F04ECFA6CF5F3F3A
1592:10637000ECF3983EDCF3869577956795B795F7959E
1593:10638000E7959F5FC1F7FE2B880F911D9695879526
1594:1063900097F90895FA01EE0FFF1F30962105310598
1595:1063A00099F16115710561F48038BFE39B0749F1EC
1596:1063B00068949038810561F08038BFEF9B0741F009
1597:1063C000992342F5FF3FE1053105210511F1E894DC
1598:1063D0000894E795D901AA2329F4AB2FBE2FF85FC3
1599:1063E000D0F310C0FF5F70F4A695E0F7F73950F0D6
1600:1063F00019F0FF3A38F49F779F930CD00F9007FC69
1601:10640000905808953EF014CF60E070E080E89FE37C
1602:1064100008954FE79F775F934F933F932F939ED0BD
1603:106420002F913F914F915F9152DF05C019F40EF00B
1604:10643000EBCE42CFFDCE26DFC8F39638C0F707F883
1605:106440000F92E8942BE33AEA48EB5FE74EDF0F92B6
1606:106450000F920F924DB75EB70F92C0D0ECEBF1E008
1607:1064600016D04F915F91EF91FF91E595EE1FFF1FC1
1608:1064700049F0FE57E0684427EE0F441FFA95E1F714
1609:106480004195550B32D00F9007FE26C00895DF933B
1610:10649000CF931F930F93FF92EF92DF927B018C01BA
1611:1064A000689405C0DA2EEF011EDFFE01E894A59185
1612:1064B0002591359145915591AEF3EF0106DDFE0131
1613:1064C0009701A801DA9479F7DF90EF90FF900F9190
1614:1064D0001F91CF91DF9108959B01AC0160E070E0C6
1615:1064E00080E89FE349CD90CE95CECCDEE8F39923AA
1616:1064F000D9F3940F511DBBF39150504094F059F0D3
1617:10650000882332F0660F771F881F91505040C1F7E3
1618:106510009E3F510544F7880F911D9695879597F9F1
1619:1065200008955F3FACF0983E9CF0BB278695779529
1620:106530006795B79508F4B1609395C1F7BB0F58F70D
1621:1065400011F460FFE8CF6F5F7F4F8F4F9F4FE3CF16
1622:10655000B4CE0EF05FCE6CCE689456CE93DEC8F308
1623:106560009923D1F3C6F3DF93CF931F930F93FF9239
1624:10657000C92FDD2788232AF02197660F771F881FF0
1625:10658000DAF720E030E040E85FEB9FE3883920F065
1626:10659000803E30F021968F7787DCE4EEF1E003C097
1627:1065A00083DCE1E1F2E073DF8B01BE01EC01FB2E45
1628:1065B0006F5771097595771F880B990B78DD28E166
1629:1065C00032E741E35FE38FDEAF2D9801AE01FF902C
1630:1065D0000F911F91CF91DF9178DC3BCEFA01DC0166
1631:1065E000AA0FBB1F9B01AC01BF5728F422273327FA
1632:1065F000442750781FC0B75188F4AB2F002446952C
1633:1066000037952795011CA395D2F3002069F0220F3E
1634:10661000331F441FB395DAF30DD045CC61307105BB
1635:10662000A0E88A07B94630F49B01AC0166277727BA
1636:1066300088279078309621F02083318342835383DA
1637:106640000895AA1BBB1B51E107C0AA1FBB1FA617B9
1638:10665000B70710F0A61BB70B881F991F5A95A9F70B
1639:1066600080959095BC01CD01089597FB072E16F4F7
1640:10667000009407D077FD09D00E94213307FC05D094
1641:106680003EF4909581959F4F0895709561957F4F49
1642:106690000895EE0FFF1F0590F491E02D0994F999EC
1643:1066A000FECF92BD81BDF89A992780B50895A8E1E3
1644:1066B000B0E042E050E00C947733262FF999FECFFA
1645:1066C00092BD81BDF89A019700B4021639F01FBA45
1646:1066D00020BD0FB6F894FA9AF99A0FBE0895019664
1647:1066E000272F0E945E330C945D33DC01CB01FC014B
1648:1066F000F999FECF06C0F2BDE1BDF89A319600B41B
1649:0E6700000D9241505040B8F70895F894FFCF25
1650:10670E00A4D0A443000000417BD49243000000417A
1651:10671E007BD4924300000041A4D0A443000000416A
1652:10672E00A4D02444000000411FD5124400000041B3
1653:10673E001FD5124400000041A4D0244400000041A3
1654:10674E00A4F076430000004100005C4300000041CD
1655:10675E0000005C4300000041A4F0764300000041BD
1656:10676E0000005C440000004148F176440000004106
1657:10677E005C978A44000000411FD5924400000041FE
1658:10678E0052D0A444000000415CFFB8440000004118
1659:10679E000AA7CF44000000410000DC440000004185
1660:1067AE00A4D082430000C0417BD49243000000413C
1661:1067BE00A4D0A4430000C041A4D0824300000041F5
1662:1067CE00A4D0A44300008041A4D0824300008041A5
1663:1067DE00A4D0A443000080411FD512440000804184
1664:1067EE00A4D024440000804100D002440000804127
1665:1067FE00A4D08243000080410000C44300008041C9
1666:10680E000AA7CF44000000410000DC440000004114
1667:10681E00000000000000804052D02445000040419E
1668:10682E0000000000000080400AA74F4500004041D4
1669:10683E000AA7CF44000000410000DC4400000041E4
1670:10684E00000000000000804052D0244500000041AE
1671:10685E0000000000000080405CFF38450000004151
1672:10686E00000000000000804052D02445000000418E
1673:10687E000AA7CF44000000410000DC4400000041A4
1674:10688E00000000000000804052D0244500008041EE
1675:10689E00A4F0F6430000C0417BD4924300000041B7
1676:1068AE0048F176440000804100005C440000004244
1677:1068BE005CFF434400008041A4F0F6430000C04159
1678:1068CE001FD51244000000415CFF4344000080418C
1679:1068DE005CFF384400000042A4D0A4430000804175
1680:1068EE00A4D0A44300008041719DAE4300008041BE
1681:1068FE000000C443000080410000C44300008041FA
1682:10690E00719DAE4300008041A4D0A443000080419D
1683:10691E007BD4924300008041A4D08243000080418A
1684:10692E00A4D08243000080417BD49243000080417A
1685:10693E00A4D0A44300008041A4D0A4430000C041D1
1686:10694E007BD49243000000417BD49243000000426E
1687:10695E00640007000CFF0000003F646715F515D2B8
1688:10696E00159E156A1501013A052808140A321E00F3
1689:10697E0002040507090B0C0E1011131517181A1C1B
1690:10698E001D1F2123242628292B2D2F303234353755
1691:10699E00393B1F0F03764F5F6F7F49694379392962
1692:1069AE001909595363333149803F5D8B803FF8BFDE
1693:1069BE00803FCAE1803F73ED803FCAE1803FF8BF60
1694:1069CE00803F5D8B803F3149803F0000803FF16DFD
1695:1069DE007F3F75EA7E3F4C827E3F833F7E3F842819
1696:1069EE007E3F833F7E3F4C827E3F75EA7E3FF16D58
1697:1069FE007F3F0000803F3F4D3639C7087A08440874
1698:106A0E000B089E07B707D007E90701020304050626
1699:046A1E00070809005C
1700:00000001FF
diff --git a/keyboards/atomic/keymaps/pvc/config.h b/keyboards/atomic/keymaps/pvc/config.h
new file mode 100644
index 000000000..1473aac34
--- /dev/null
+++ b/keyboards/atomic/keymaps/pvc/config.h
@@ -0,0 +1,166 @@
1/*
2Copyright 2012 Jun Wako <wakojun@gmail.com>
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17
18#ifndef CONFIG_H
19#define CONFIG_H
20
21#include "config_common.h"
22
23/* USB Device descriptor parameter */
24#define VENDOR_ID 0xFEED
25#define PRODUCT_ID 0x0419
26#define DEVICE_VER 0x0001
27#define MANUFACTURER Ortholinear Keyboards
28#define PRODUCT The Atomic Keyboard
29#define DESCRIPTION A compact ortholinear keyboard
30
31/* key matrix size */
32#define MATRIX_ROWS 5
33#define MATRIX_COLS 15
34
35/*
36 * Keyboard Matrix Assignments
37 *
38 * Change this to how you wired your keyboard
39 * COLS: AVR pins used for columns, left to right
40 * ROWS: AVR pins used for rows, top to bottom
41 * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
42 * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
43 *
44*/
45#define MATRIX_ROW_PINS { D0, D5, B5, B6, B3 }
46#define MATRIX_COL_PINS { F1, F0, B0, C7, F4, F5, F6, F7, D4, D6, B4, D7, D3, D2, D1 }
47#define UNUSED_PINS
48
49/* COL2ROW or ROW2COL */
50#define DIODE_DIRECTION COL2ROW
51
52/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
53#define DEBOUNCING_DELAY 5
54
55/* define if matrix has ghost (lacks anti-ghosting diodes) */
56//#define MATRIX_HAS_GHOST
57
58/* number of backlight levels */
59#define BACKLIGHT_LEVELS 3
60
61/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
62#define LOCKING_SUPPORT_ENABLE
63/* Locking resynchronize hack */
64#define LOCKING_RESYNC_ENABLE
65
66// Enable Keyboard Locking via magic key
67#define KEYBOARD_LOCK_ENABLE
68
69
70/*
71 * Force NKRO
72 *
73 * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
74 * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
75 * makefile for this to work.)
76 *
77 * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
78 * until the next keyboard reset.
79 *
80 * NKRO may prevent your keystrokes from being detected in the BIOS, but it is
81 * fully operational during normal computer usage.
82 *
83 * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
84 * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
85 * bootmagic, NKRO mode will always be enabled until it is toggled again during a
86 * power-up.
87 *
88 */
89//#define FORCE_NKRO
90
91/*
92 * Magic Key Options
93 *
94 * Magic keys are hotkey commands that allow control over firmware functions of
95 * the keyboard. They are best used in combination with the HID Listen program,
96 * found here: https://www.pjrc.com/teensy/hid_listen.html
97 *
98 * The options below allow the magic key functionality to be changed. This is
99 * useful if your keyboard/keypad is missing keys and you want magic key support.
100 *
101 */
102
103/* key combination for magic key command */
104#define IS_COMMAND() ( \
105 keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
106)
107
108/* control how magic key switches layers */
109//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
110//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
111//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM false
112
113/* override magic key keymap */
114//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS
115//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS
116//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM
117//#define MAGIC_KEY_HELP1 H
118//#define MAGIC_KEY_HELP2 SLASH
119//#define MAGIC_KEY_DEBUG D
120//#define MAGIC_KEY_DEBUG_MATRIX X
121//#define MAGIC_KEY_DEBUG_KBD K
122//#define MAGIC_KEY_DEBUG_MOUSE M
123//#define MAGIC_KEY_VERSION V
124//#define MAGIC_KEY_STATUS S
125//#define MAGIC_KEY_CONSOLE C
126//#define MAGIC_KEY_LAYER0_ALT1 ESC
127//#define MAGIC_KEY_LAYER0_ALT2 GRAVE
128//#define MAGIC_KEY_LAYER0 0
129//#define MAGIC_KEY_LAYER1 1
130//#define MAGIC_KEY_LAYER2 2
131//#define MAGIC_KEY_LAYER3 3
132//#define MAGIC_KEY_LAYER4 4
133//#define MAGIC_KEY_LAYER5 5
134//#define MAGIC_KEY_LAYER6 6
135//#define MAGIC_KEY_LAYER7 7
136//#define MAGIC_KEY_LAYER8 8
137//#define MAGIC_KEY_LAYER9 9
138#define MAGIC_KEY_BOOTLOADER B
139//#define MAGIC_KEY_LOCK CAPS
140//#define MAGIC_KEY_EEPROM E
141//#define MAGIC_KEY_NKRO N
142//#define MAGIC_KEY_SLEEP_LED Z
143
144/*
145 * Feature disable options
146 * These options are also useful to firmware size reduction.
147 */
148
149/* disable debug print */
150//#define NO_DEBUG
151
152/* disable print */
153//#define NO_PRINT
154
155/* disable action features */
156//#define NO_ACTION_LAYER
157//#define NO_ACTION_TAPPING
158//#define NO_ACTION_ONESHOT
159//#define NO_ACTION_MACRO
160//#define NO_ACTION_FUNCTION
161
162
163//#define VIBRATO_ENABLE
164//#define VIBRATO_STRENGTH_ENABLE
165
166#endif
diff --git a/keyboards/atomic/keymaps/pvc/keymap.c b/keyboards/atomic/keymaps/pvc/keymap.c
new file mode 100644
index 000000000..f16ec8a6e
--- /dev/null
+++ b/keyboards/atomic/keymaps/pvc/keymap.c
@@ -0,0 +1,578 @@
1#include "atomic.h"
2#include "action_layer.h"
3#include "eeconfig.h"
4#include "led.h"
5
6#ifdef AUDIO_ENABLE
7 #include "audio.h"
8 #include "song_list.h"
9#endif
10
11#define LAYER_QWERTY 0
12#define LAYER_COLEMAK 1
13#define LAYER_DVORAK 2
14#define LAYER_UPPER 3
15#define LAYER_LOWER 4
16#define LAYER_FUNCTION 5
17#define LAYER_MOUSE 6
18#define LAYER_ADJUST 7
19
20#define MACRO_QWERTY 0
21#define MACRO_COLEMAK 1
22#define MACRO_DVORAK 2
23#define MACRO_UPPER 3
24#define MACRO_LOWER 4
25#define MACRO_FUNCTION 5
26#define MACRO_MOUSE 6
27#define MACRO_TIMBRE_1 7
28#define MACRO_TIMBRE_2 8
29#define MACRO_TIMBRE_3 9
30#define MACRO_TIMBRE_4 10
31#define MACRO_TEMPO_U 11
32#define MACRO_TEMPO_D 12
33#define MACRO_TONE_DEFAULT 13
34#define MACRO_MUSIC_TOGGLE 14
35#define MACRO_AUDIO_TOGGLE 16
36#define MACRO_INC_VOICE 18
37#define MACRO_DEC_VOICE 19
38#define MACRO_BACKLIGHT 20
39#define MACRO_BREATH_TOGGLE 21
40#define MACRO_BREATH_SPEED_INC 23
41#define MACRO_BREATH_SPEED_DEC 24
42#define MACRO_BREATH_DEFAULT 25
43
44#define M_QWRTY M(MACRO_QWERTY)
45#define M_COLMK M(MACRO_COLEMAK)
46#define M_DVORK M(MACRO_DVORAK)
47#define M_UPPER M(MACRO_UPPER)
48#define M_LOWER M(MACRO_LOWER)
49#define M_FUNCT M(MACRO_FUNCTION)
50#define M_MOUSE M(MACRO_MOUSE)
51#define TIMBR_1 M(MACRO_TIMBRE_1)
52#define TIMBR_2 M(MACRO_TIMBRE_2)
53#define TIMBR_3 M(MACRO_TIMBRE_3)
54#define TIMBR_4 M(MACRO_TIMBRE_4)
55#define TMPO_UP M(MACRO_TEMPO_U)
56#define TMPO_DN M(MACRO_TEMPO_D)
57#define TMPO_DF M(MACRO_TONE_DEFAULT)
58#define M_BACKL M(MACRO_BACKLIGHT)
59#define M_BRTOG M(MACRO_BREATH_TOGGLE)
60#define M_BSPDU M(MACRO_BREATH_SPEED_INC)
61#define M_BSPDD M(MACRO_BREATH_SPEED_DEC)
62#define M_BDFLT M(MACRO_BREATH_DEFAULT)
63
64
65#define VC_UP M(MACRO_INC_VOICE)
66#define VC_DOWN M(MACRO_DEC_VOICE)
67
68
69#define SC_UNDO LCTL(KC_Z)
70#define SC_REDO LCTL(KC_Y)
71#define SC_CUT LCTL(KC_X)
72#define SC_COPY LCTL(KC_C)
73#define SC_PSTE LCTL(KC_V)
74#define SC_SELA LCTL(KC_A)
75#define SC_SAVE LCTL(KC_S)
76#define SC_OPEN LCTL(KC_O)
77#define SC_ACLS LALT(KC_F4)
78#define SC_CCLS LCTL(KC_F4)
79
80#define OS_SHFT KC_FN0
81
82#define _______ KC_TRNS
83#define XXXXXXX KC_NO
84#define ________________ _______, _______
85#define XXXXXXXXXXXXXXXX XXXXXXX, XXXXXXX
86
87const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
88
89/* QWERTY
90 * .---------------------------------------------------------------------------------------------------------------------- 2u ------------.
91 * | ESC | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | XXXXXX . BACKSP |
92 * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------|
93 * | TAB | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ | DEL |
94 * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ------------+--------|
95 * | CAPS | A | S | D | F | G | H | J | K | L | ; | ' | XXXXXX . ENTER | PG UP |
96 * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ---------------------+--------|
97 * | LSHIFT | Z | X | C | V | B | N | M | , | . | / | XXXXXX . RSHIFT | UP | PG DN |
98 * |--------+--------+--------+--------+--------+- 2u ------------+--------+--------+--------+--------+-----------------+--------+--------|
99 * | LCTRL | LWIN | FN | LALT | UPPER | XXXXXX . SPACE | LOWER | SHIFT | RALT | APP | RCTRL | LEFT | DOWN | RIGHT |
100 * '--------------------------------------------------------------------------------------------------------------------------------------'
101 */
102
103 [LAYER_QWERTY] = { // QWERTY
104 { 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 },
105 { 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 },
106 { 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 },
107 { 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 },
108 { 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 },
109 },
110
111 /* COLEMAK
112 * .---------------------------------------------------------------------------------------------------------------------- 2u ------------.
113 * | ESC | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | XXXXXX . BACKSP |
114 * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------|
115 * | TAB | Q | W | F | P | G | J | L | U | Y | ; | [ | ] | \ | DEL |
116 * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ------------+--------|
117 * | BACKSP | A | R | S | T | D | H | N | E | I | O | ' | XXXXXX . ENTER | PG UP |
118 * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ---------------------+--------|
119 * | LSHIFT | Z | X | C | V | B | K | M | , | . | / | XXXXXX . RSHIFT | UP | PG DN |
120 * |--------+--------+--------+--------+--------+- 2u ------------+--------+--------+--------+--------+-----------------+--------+--------|
121 * | LCTRL | LWIN | FN | LALT | UPPER | XXXXXX . SPACE | LOWER | SHIFT | RALT | APP | RCTRL | LEFT | DOWN | RIGHT |
122 * '--------------------------------------------------------------------------------------------------------------------------------------'
123 */
124
125 [LAYER_COLEMAK] = { // COLEMAK
126 { 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 },
127 { 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 },
128 { 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 },
129 { 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 },
130 { 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 },
131},
132
133/* DVORAK
134 * .---------------------------------------------------------------------------------------------------------------------- 2u ------------.
135 * | ESC | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | [ | ] | XXXXXX . BACKSP |
136 * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------|
137 * | TAB | ' | , | . | P | Y | F | G | C | R | L | / | = | \ | DEL |
138 * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ------------+--------|
139 * | CAPS | A | O | E | U | I | D | H | T | N | S | - | XXXXXX . ENTER | PG UP |
140 * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ---------------------+--------|
141 * | LSHIFT | ; | Q | J | K | X | B | M | W | V | Z | XXXXXX . RSHIFT | UP | PG DN |
142 * |--------+--------+--------+--------+--------+- 2u ------------+--------+--------+--------+--------+-----------------+--------+--------|
143 * | LCTRL | LWIN | FN | LALT | UPPER | XXXXXX . SPACE | LOWER | SHIFT | RALT | APP | RCTRL | LEFT | DOWN | RIGHT |
144 * '--------------------------------------------------------------------------------------------------------------------------------------'
145 */
146
147 [LAYER_DVORAK] = { // DVORAK
148 { 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 },
149 { 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 },
150 { 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 },
151 { 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 },
152 { 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 },
153 },
154
155/* UPPER
156 * .---------------------------------------------------------------------------------------------------------------------- 2u ------------.
157 * | PRINT | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | NUM LK | / | * | | NUM LK | SCR LK | XXXXXX . PAUSE |
158 * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------|
159 * | | F1 | F2 | F3 | F4 | | | 7 | 8 | 9 | - | | | | INS |
160 * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ------------+--------|
161 * | CAP LK | F5 | F6 | F7 | F8 | | | 4 | 5 | 6 | + | | XXXXXX . | HOME |
162 * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ---------------------+--------|
163 * | | F9 | F10 | F11 | F12 | | | 1 | 2 | 3 | ENTER | XXXXXX . | | END |
164 * |--------+--------+--------+--------+--------+- 2u ------------+--------+--------+--------+--------+-----------------+--------+--------|
165 * | | | | | | 0 | | RALT | . | ENTER | | | | |
166 * '--------------------------------------------------------------------------------------------------------------------------------------'
167 */
168
169 [LAYER_UPPER] = { // UPPER
170 { 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 },
171 { _______, KC_F1, KC_F2, KC_F3, KC_F4, XXXXXXX, XXXXXXX, KC_KP_7, KC_KP_8, KC_KP_9, KC_PMNS, _______, _______, _______, KC_INS },
172 { 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 },
173 { _______, KC_F9, KC_F10, KC_F11, KC_F12, XXXXXXX, XXXXXXX, KC_KP_1, KC_KP_2, KC_KP_3, KC_PENT, ________________, _______, KC_END },
174 { _______, _______, _______, _______, _______, KC_KP_0, KC_KP_0, _______, KC_RALT, KC_PDOT, KC_PENT, _______, _______, _______, _______ },
175 },
176
177/* LOWER
178 * .---------------------------------------------------------------------------------------------------------------------- 2u ------------.
179 * | | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | XXXXXX . BACKSP |
180 * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------|
181 * | | $ | { | [ | ( | % | # | ) | ] | } | @ | | | | INS |
182 * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ------------+--------|
183 * | | ^ | * | + | - | ; | : | _ | ' | " | ` | | XXXXXX . | HOME |
184 * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ---------------------+--------|
185 * | | | | & | ! | ~ | / | \ | = | < | > | ? | XXXXXX . | | END |
186 * |--------+--------+--------+--------+--------+- 2u ------------+--------+--------+--------+--------+-----------------+--------+--------|
187 * | | | | | | | | | | | | | | |
188 * '--------------------------------------------------------------------------------------------------------------------------------------'
189 */
190
191 [LAYER_LOWER] = { // LOWER
192 { _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, ________________ },
193 { _______, KC_DLR, KC_LCBR, KC_LBRC, KC_LPRN, KC_PERC, KC_HASH, KC_RPRN, KC_RBRC, KC_RCBR, KC_AT, _______, _______, _______, KC_INS },
194 { _______, KC_CIRC, KC_ASTR, KC_PPLS, KC_PMNS, KC_SCLN, KC_COLN, KC_UNDS, KC_QUOT, KC_DQT, KC_GRV, _______, ________________, KC_HOME },
195 { _______, KC_PIPE, KC_AMPR, KC_EXLM, KC_TILD, KC_SLSH, KC_BSLS, KC_EQL, KC_LT, KC_GT, KC_QUES, ________________, _______, KC_END },
196 { _______, _______, _______, _______, _______, ________________, _______, _______, _______, _______, _______, _______, _______, _______ },
197 },
198
199 [LAYER_FUNCTION] = { // FUNCTION
200 { 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, ________________ },
201 { 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 },
202 { KC_CAPS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, ________________, KC_PSCR },
203 { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, ________________, KC_VOLU, KC_MUTE },
204 { _______, _______, _______, _______, _______, KC_MPLY, KC_MPLY, _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT },
205 },
206
207#ifdef MOUSEKEY_ENABLE
208
209 [LAYER_MOUSE] = { // MOUSE
210 { _______, KC_ACL0, KC_ACL1, KC_ACL2, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXXXXXXXXXXX },
211 { XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX },
212 { XXXXXXX, KC_BTN5, KC_BTN4, KC_BTN3, KC_BTN2, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXXXXXXXXXXX, KC_WH_U },
213 { _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, ________________, KC_MS_U, KC_WH_D },
214 { _______, _______, _______, _______, _______, KC_BTN1, KC_BTN1, _______, _______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_R },
215 },
216
217#endif
218
219 [LAYER_ADJUST] = { // ADJUST
220 { _______, TIMBR_1, TIMBR_2, TIMBR_3, TIMBR_4, TMPO_UP, TMPO_DN, TMPO_DF, _______, _______, _______, MU_TOG, AU_TOG, ________________ },
221 { _______, M_QWRTY, M_COLMK, M_DVORK, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ },
222 { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, ________________, _______ },
223 { _______, _______, _______, _______, M_BACKL, RESET, _______, M_MOUSE, _______, _______, _______, ________________, MUV_IN, _______ },
224 { _______, _______, _______, _______, _______, ________________, _______, _______, _______, _______, _______, _______, MUV_DE, _______ },
225 },
226
227
228/*
229 [LAYER_EMPTY] = { // LAYER
230 { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, ________________ },
231 { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ },
232 { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, ________________, _______ },
233 { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, ________________, _______, _______ },
234 { _______, _______, _______, _______, _______, ________________, _______, _______, _______, _______, _______, _______, _______, _______ },
235 },
236*/
237
238};
239
240#ifdef AUDIO_ENABLE
241
242float tone_my_startup[][2] = SONG(ODE_TO_JOY);
243float tone_my_goodbye[][2] = SONG(ROCK_A_BYE_BABY);
244
245float tone_qwerty[][2] = SONG(QWERTY_SOUND);
246float tone_dvorak[][2] = SONG(DVORAK_SOUND);
247float tone_colemak[][2] = SONG(COLEMAK_SOUND);
248
249float tone_audio_on[][2] = SONG(CLOSE_ENCOUNTERS_5_NOTE);
250float tone_music_on[][2] = SONG(DOE_A_DEER);
251float music_scale[][2] = SONG(MUSIC_SCALE_SOUND);
252
253float tone_caps_on[][2] = SONG(CAPS_LOCK_ON_SOUND);
254float tone_caps_off[][2] = SONG(CAPS_LOCK_OFF_SOUND);
255float tone_numlk_on[][2] = SONG(NUM_LOCK_ON_SOUND);
256float tone_numlk_off[][2] = SONG(NUM_LOCK_OFF_SOUND);
257float tone_scroll_on[][2] = SONG(SCROLL_LOCK_ON_SOUND);
258float tone_scroll_off[][2] = SONG(SCROLL_LOCK_OFF_SOUND);
259
260#endif /* AUDIO_ENABLE */
261
262void persistant_default_layer_set(uint16_t default_layer)
263{
264 eeconfig_update_default_layer(default_layer);
265 default_layer_set(default_layer);
266}
267
268const uint16_t PROGMEM fn_actions[] = {
269 [0] = ACTION_MODS_ONESHOT(MOD_LSFT),
270};
271
272const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
273{
274
275 // MACRODOWN only works in this function
276 switch(id)
277 {
278
279 case MACRO_BREATH_TOGGLE:
280 if (record->event.pressed)
281 {
282 breathing_toggle();
283 }
284 break;
285
286 case MACRO_BREATH_SPEED_INC:
287 if (record->event.pressed)
288 {
289 breathing_speed_inc(1);
290 }
291 break;
292
293 case MACRO_BREATH_SPEED_DEC:
294 if (record->event.pressed)
295 {
296 breathing_speed_dec(1);
297 }
298 break;
299
300 case MACRO_BREATH_DEFAULT:
301 if (record->event.pressed)
302 {
303 breathing_defaults();
304 }
305 break;
306
307 case MACRO_QWERTY:
308 if (record->event.pressed)
309 {
310 persistant_default_layer_set(1UL<<LAYER_QWERTY);
311 #ifdef AUDIO_ENABLE
312 PLAY_NOTE_ARRAY(tone_qwerty, false, STACCATO);
313 #endif /* AUDIO_ENABLE */
314 }
315 break;
316
317 case MACRO_COLEMAK:
318 if (record->event.pressed)
319 {
320 persistant_default_layer_set(1UL<<LAYER_COLEMAK);
321 #ifdef AUDIO_ENABLE
322 PLAY_NOTE_ARRAY(tone_colemak, false, STACCATO);
323 #endif /* AUDIO_ENABLE */
324 }
325 break;
326
327 case MACRO_DVORAK:
328 if (record->event.pressed)
329 {
330 persistant_default_layer_set(1UL<<LAYER_DVORAK);
331 #ifdef AUDIO_ENABLE
332 PLAY_NOTE_ARRAY(tone_dvorak, false, STACCATO);
333 #endif /* AUDIO_ENABLE */
334 }
335 break;
336
337 case MACRO_UPPER:
338 if (record->event.pressed)
339 {
340 layer_on(LAYER_UPPER);
341 breathing_speed_set(2);
342 breathing_pulse();
343 update_tri_layer(LAYER_LOWER, LAYER_UPPER, LAYER_ADJUST);
344 }
345 else
346 {
347 layer_off(LAYER_UPPER);
348 update_tri_layer(LAYER_LOWER, LAYER_UPPER, LAYER_ADJUST);
349 }
350 break;
351
352 case MACRO_LOWER:
353 if (record->event.pressed)
354 {
355 layer_on(LAYER_LOWER);
356 breathing_speed_set(2);
357 breathing_pulse();
358 update_tri_layer(LAYER_LOWER, LAYER_UPPER, LAYER_ADJUST);
359 }
360 else
361 {
362 layer_off(LAYER_LOWER);
363 update_tri_layer(LAYER_LOWER, LAYER_UPPER, LAYER_ADJUST);
364 }
365 break;
366
367 case MACRO_FUNCTION:
368 if (record->event.pressed)
369 {
370 breathing_speed_set(3);
371 breathing_enable();
372 layer_on(LAYER_FUNCTION);
373 }
374 else
375 {
376 breathing_speed_set(1);
377 breathing_self_disable();
378 layer_off(LAYER_FUNCTION);
379 }
380 break;
381
382#ifdef MOUSEKEY_ENABLE
383
384 case MACRO_MOUSE:
385 if (record->event.pressed)
386 {
387 layer_invert(LAYER_MOUSE);
388 }
389 break;
390
391#endif /* MOUSEKEY_ENABLE */
392
393#ifdef AUDIO_ENABLE
394
395 case MACRO_TIMBRE_1:
396 if (record->event.pressed) set_timbre(TIMBRE_12);
397 break;
398
399 case MACRO_TIMBRE_2:
400 if (record->event.pressed) set_timbre(TIMBRE_25);
401 break;
402
403 case MACRO_TIMBRE_3:
404 if (record->event.pressed) set_timbre(TIMBRE_50);
405 break;
406
407 case MACRO_TIMBRE_4:
408 if (record->event.pressed) set_timbre(TIMBRE_75);
409 break;
410
411 case MACRO_TEMPO_U:
412 if (record->event.pressed) increase_tempo(10);
413 break;
414
415 case MACRO_TEMPO_D:
416 if (record->event.pressed) decrease_tempo(10);
417 break;
418
419 case MACRO_TONE_DEFAULT:
420 if (record->event.pressed)
421 {
422 set_timbre(TIMBRE_DEFAULT);
423 set_tempo(TEMPO_DEFAULT);
424 }
425 break;
426
427/*
428 case MACRO_AUDIO_TOGGLE:
429 if (record->event.pressed)
430 {
431 if (is_audio_on())
432 {
433 audio_off();
434 }
435 else
436 {
437 audio_on();
438 PLAY_NOTE_ARRAY(tone_audio_on, false, STACCATO);
439 }
440 }
441 break;
442
443 case MACRO_MUSIC_TOGGLE:
444 if (record->event.pressed)
445 {
446 if (IS_LAYER_ON(LAYER_MUSIC))
447 {
448 layer_off(LAYER_MUSIC);
449 stop_all_notes();
450 }
451 else
452 {
453 PLAY_NOTE_ARRAY(tone_music_on, false, STACCATO);
454 layer_on(LAYER_MUSIC);
455 }
456 }
457 break;
458 case MACRO_INC_VOICE:
459 if (record->event.pressed)
460 {
461 #ifdef AUDIO_ENABLE
462 voice_iterate();
463 PLAY_NOTE_ARRAY(music_scale, false, STACCATO);
464 #endif
465 }
466 break;
467
468 case MACRO_DEC_VOICE:
469 if (record->event.pressed)
470 {
471 #ifdef AUDIO_ENABLE
472 voice_deiterate();
473 PLAY_NOTE_ARRAY(music_scale, false, STACCATO);
474 #endif
475 }
476 break;
477*/
478
479#endif /* AUDIO_ENABLE */
480
481#ifdef BACKLIGHT_ENABLE
482 case MACRO_BACKLIGHT:
483 if (record->event.pressed)
484 {
485 backlight_step();
486 }
487#endif
488
489 default:
490 break;
491
492 }
493 return MACRO_NONE;
494};
495
496
497#ifdef AUDIO_ENABLE
498
499void matrix_init_user(void)
500{
501 set_voice(default_voice);
502 startup_user();
503 println("Matrix Init");
504}
505
506void led_set_user(uint8_t usb_led)
507{
508 static uint8_t old_usb_led = 0;
509
510 _delay_ms(10); // gets rid of tick
511
512 if (!is_playing_notes())
513 {
514 if ((usb_led & (1<<USB_LED_CAPS_LOCK)) && !(old_usb_led & (1<<USB_LED_CAPS_LOCK)))
515 {
516 // If CAPS LK LED is turning on...
517 PLAY_NOTE_ARRAY(tone_caps_on, false, LEGATO);
518 }
519 else if (!(usb_led & (1<<USB_LED_CAPS_LOCK)) && (old_usb_led & (1<<USB_LED_CAPS_LOCK)))
520 {
521 // If CAPS LK LED is turning off...
522 PLAY_NOTE_ARRAY(tone_caps_off, false, LEGATO);
523 }
524 else if ((usb_led & (1<<USB_LED_NUM_LOCK)) && !(old_usb_led & (1<<USB_LED_NUM_LOCK)))
525 {
526 // If NUM LK LED is turning on...
527 PLAY_NOTE_ARRAY(tone_numlk_on, false, LEGATO);
528 }
529 else if (!(usb_led & (1<<USB_LED_NUM_LOCK)) && (old_usb_led & (1<<USB_LED_NUM_LOCK)))
530 {
531 // If NUM LED is turning off...
532 PLAY_NOTE_ARRAY(tone_numlk_off, false, LEGATO);
533 }
534 else if ((usb_led & (1<<USB_LED_SCROLL_LOCK)) && !(old_usb_led & (1<<USB_LED_SCROLL_LOCK)))
535 {
536 // If SCROLL LK LED is turning on...
537 PLAY_NOTE_ARRAY(tone_scroll_on, false, LEGATO);
538 }
539 else if (!(usb_led & (1<<USB_LED_SCROLL_LOCK)) && (old_usb_led & (1<<USB_LED_SCROLL_LOCK)))
540 {
541 // If SCROLL LED is turning off...
542 PLAY_NOTE_ARRAY(tone_scroll_off, false, LEGATO);
543 }
544 }
545
546 old_usb_led = usb_led;
547}
548
549
550void startup_user()
551{
552 _delay_ms(10); // gets rid of tick
553 PLAY_NOTE_ARRAY(tone_my_startup, false, STACCATO);
554}
555
556void shutdown_user()
557{
558 PLAY_NOTE_ARRAY(tone_my_goodbye, false, STACCATO);
559 _delay_ms(2000);
560 stop_all_notes();
561}
562
563void audio_on_user(void)
564{
565 PLAY_NOTE_ARRAY(tone_audio_on, false, STACCATO);
566}
567
568void music_on_user(void)
569{
570 PLAY_NOTE_ARRAY(tone_music_on, false, STACCATO);
571}
572
573void music_scale_user(void)
574{
575 PLAY_NOTE_ARRAY(music_scale, false, STACCATO);
576}
577
578#endif /* AUDIO_ENABLE */ \ No newline at end of file