summaryrefslogtreecommitdiffstats
path: root/keyboards/jd45
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/jd45')
-rw-r--r--keyboards/jd45/Makefile71
-rw-r--r--keyboards/jd45/config.h80
-rw-r--r--keyboards/jd45/jd45.c81
-rw-r--r--keyboards/jd45/jd45.h13
-rw-r--r--keyboards/jd45/keymaps/default/compiled.hex1113
-rw-r--r--keyboards/jd45/keymaps/default/keymap.c31
-rw-r--r--keyboards/jd45/keymaps/justin/compiled.hex1153
-rw-r--r--keyboards/jd45/keymaps/justin/keymap.c101
8 files changed, 2643 insertions, 0 deletions
diff --git a/keyboards/jd45/Makefile b/keyboards/jd45/Makefile
new file mode 100644
index 0000000000..75d544f16a
--- /dev/null
+++ b/keyboards/jd45/Makefile
@@ -0,0 +1,71 @@
+
+
+# MCU name
+#MCU = at90usb1287
+MCU = atmega32u4
+
+# Processor frequency.
+# This will define a symbol, F_CPU, in all source code files equal to the
+# processor frequency in Hz. You can then use this symbol in your source code to
+# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
+# automatically to create a 32-bit value in your source code.
+#
+# This will be an integer division of F_USB below, as it is sourced by
+# F_USB after it has run through any CPU prescalers. Note that this value
+# does not *change* the processor frequency - it should merely be updated to
+# reflect the processor speed set externally so that the code can use accurate
+# software delays.
+F_CPU = 16000000
+
+
+#
+# LUFA specific
+#
+# Target architecture (see library "Board Types" documentation).
+ARCH = AVR8
+
+# Input clock frequency.
+# This will define a symbol, F_USB, in all source code files equal to the
+# input clock frequency (before any prescaling is performed) in Hz. This value may
+# differ from F_CPU if prescaling is used on the latter, and is required as the
+# raw input clock is fed directly to the PLL sections of the AVR for high speed
+# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
+# at the end, this will be done automatically to create a 32-bit value in your
+# source code.
+#
+# If no clock division is performed on the input clock inside the AVR (via the
+# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
+F_USB = $(F_CPU)
+
+# Interrupt driven control endpoint task(+60)
+OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
+
+
+# Boot Section Size in *bytes*
+# Teensy halfKay 512
+# Teensy++ halfKay 1024
+# Atmel DFU loader 4096
+# LUFA bootloader 4096
+# USBaspLoader 2048
+OPT_DEFS += -DBOOTLOADER_SIZE=4096
+
+
+# Build Options
+# comment out to disable the options.
+#
+BOOTMAGIC_ENABLE ?= yes # Virtual DIP switch configuration(+1000)
+MOUSEKEY_ENABLE ?= yes # Mouse keys(+4700)
+EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450)
+CONSOLE_ENABLE ?= yes # Console for debug(+400)
+COMMAND_ENABLE ?= yes # Commands for debug and configuration
+# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
+# SLEEP_LED_ENABLE ?= yes # Breathing sleep LED during USB suspend
+# NKRO_ENABLE ?= yes # USB Nkey Rollover - not yet supported in LUFA
+BACKLIGHT_ENABLE ?= yes # Enable keyboard backlight functionality
+MIDI_ENABLE ?= YES # MIDI controls
+# UNICODE_ENABLE ?= YES # Unicode
+BLUETOOTH_ENABLE ?= yes # Enable Bluetooth with the Adafruit EZ-Key HID
+
+ifndef QUANTUM_DIR
+ include ../../Makefile
+endif
diff --git a/keyboards/jd45/config.h b/keyboards/jd45/config.h
new file mode 100644
index 0000000000..ffedb6a1a9
--- /dev/null
+++ b/keyboards/jd45/config.h
@@ -0,0 +1,80 @@
+/*
+Copyright 2012 Jun Wako <wakojun@gmail.com>
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#ifndef CONFIG_H
+#define CONFIG_H
+
+#include "config_common.h"
+
+/* USB Device descriptor parameter */
+#define VENDOR_ID 0xFEED
+#define PRODUCT_ID 0x6060
+#define DEVICE_VER 0x0001
+#define MANUFACTURER geekhack
+#define PRODUCT JD45
+#define DESCRIPTION q.m.k. keyboard firmware for JD45
+
+/* key matrix size */
+#define MATRIX_ROWS 4
+#define MATRIX_COLS 13
+
+/* Planck PCB default pin-out */
+#define MATRIX_ROW_PINS { F0, F1, F5, B4 }
+#define MATRIX_COL_PINS { F4, D7, B5, B6, C6, C7, D4, D6, D5, D0, D1, D2, B0 }
+#define UNUSED_PINS
+
+/* COL2ROW or ROW2COL */
+#define DIODE_DIRECTION COL2ROW
+
+/* define if matrix has ghost */
+//#define MATRIX_HAS_GHOST
+
+/* number of backlight levels */
+#define BACKLIGHT_LEVELS 3
+
+/* Set 0 if debouncing isn't needed */
+#define DEBOUNCING_DELAY 5
+
+/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
+#define LOCKING_SUPPORT_ENABLE
+/* Locking resynchronize hack */
+#define LOCKING_RESYNC_ENABLE
+
+/* key combination for command */
+#define IS_COMMAND() ( \
+ keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
+)
+
+/*
+ * Feature disable options
+ * These options are also useful to firmware size reduction.
+ */
+
+/* disable debug print */
+#define NO_DEBUG
+
+/* disable print */
+#define NO_PRINT
+
+/* disable action features */
+//#define NO_ACTION_LAYER
+//#define NO_ACTION_TAPPING
+//#define NO_ACTION_ONESHOT
+//#define NO_ACTION_MACRO
+//#define NO_ACTION_FUNCTION
+
+#endif
diff --git a/keyboards/jd45/jd45.c b/keyboards/jd45/jd45.c
new file mode 100644
index 0000000000..5437b2bffc
--- /dev/null
+++ b/keyboards/jd45/jd45.c
@@ -0,0 +1,81 @@
+#include "jd45.h"
+
+__attribute__ ((weak))
+void matrix_init_user(void) {
+
+};
+
+__attribute__ ((weak))
+void matrix_scan_user(void) {
+
+};
+
+#define CHANNEL OCR1C
+
+void backlight_init_ports(void)
+{
+
+ // Setup PB7 as output and output low.
+ DDRB |= (1<<7);
+ PORTB &= ~(1<<7);
+
+ // Use full 16-bit resolution.
+ ICR1 = 0xFFFF;
+
+ // I could write a wall of text here to explain... but TL;DW
+ // Go read the ATmega32u4 datasheet.
+ // And this: http://blog.saikoled.com/post/43165849837/secret-konami-cheat-code-to-high-resolution-pwm-on
+
+ // Pin PB7 = OCR1C (Timer 1, Channel C)
+ // Compare Output Mode = Clear on compare match, Channel C = COM1C1=1 COM1C0=0
+ // (i.e. start high, go low when counter matches.)
+ // WGM Mode 14 (Fast PWM) = WGM13=1 WGM12=1 WGM11=1 WGM10=0
+ // Clock Select = clk/1 (no prescaling) = CS12=0 CS11=0 CS10=1
+
+ TCCR1A = _BV(COM1C1) | _BV(WGM11); // = 0b00001010;
+ TCCR1B = _BV(WGM13) | _BV(WGM12) | _BV(CS10); // = 0b00011001;
+
+ backlight_init();
+}
+
+void backlight_set(uint8_t level)
+{
+ if ( level == 0 )
+ {
+ // Turn off PWM control on PB7, revert to output low.
+ TCCR1A &= ~(_BV(COM1C1));
+ CHANNEL = 0x0;
+ // Prevent backlight blink on lowest level
+ PORTB &= ~(_BV(PORTB7));
+ }
+ else if ( level == BACKLIGHT_LEVELS )
+ {
+ // Prevent backlight blink on lowest level
+ PORTB &= ~(_BV(PORTB7));
+ // Turn on PWM control of PB7
+ TCCR1A |= _BV(COM1C1);
+ // Set the brightness
+ CHANNEL = 0xFFFF;
+ }
+ else
+ {
+ // Prevent backlight blink on lowest level
+ PORTB &= ~(_BV(PORTB7));
+ // Turn on PWM control of PB7
+ TCCR1A |= _BV(COM1C1);
+ // Set the brightness
+ CHANNEL = 0xFFFF >> ((BACKLIGHT_LEVELS - level) * ((BACKLIGHT_LEVELS + 1) / 2));
+ }
+}
+
+void matrix_init_kb(void) {
+ #ifdef BACKLIGHT_ENABLE
+ backlight_init_ports();
+ #endif
+
+ matrix_init_user();
+};
+
+void matrix_scan_kb(void) {
+ matrix_scan_user();
+};
diff --git a/keyboards/jd45/jd45.h b/keyboards/jd45/jd45.h
new file mode 100644
index 0000000000..1e9de2123b
--- /dev/null
+++ b/keyboards/jd45/jd45.h
@@ -0,0 +1,13 @@
+#ifndef JD45_H
+#define JD45_H
+
+#include "matrix.h"
+#include "keymap.h"
+#include "backlight.h"
+#include <stddef.h>
+#include <avr/io.h>
+
+void matrix_init_user(void);
+void matrix_scan_user(void);
+
+#endif
diff --git a/keyboards/jd45/keymaps/default/compiled.hex b/keyboards/jd45/keymaps/default/compiled.hex
new file mode 100644
index 0000000000..cc20ee3c53
--- /dev/null
+++ b/keyboards/jd45/keymaps/default/compiled.hex
@@ -0,0 +1,1113 @@
+:100000000C9480010C94C4010C94C4010C94C401A0
+:100010000C94C4010C94C4010C94C4010C94C4014C
+:100020000C94C4010C94C4010C94D40B0C94A60C35
+:100030000C94B2190C94C4010C94C4010C94C40126
+:100040000C94C4010C94C4010C94C4010C94C4011C
+:100050000C94C4010C941A1A0C94C4010C94C4019D
+:100060000C94C4010C946C0E0C94C4010C94C40147
+:100070000C94C4010C94C4010C94C4010C94C401EC
+:100080000C94C4010C94C4010C94C4010C94C401DC
+:100090000C94C4010C94C4010C94C4010C94C401CC
+:1000A0000C94C4010C94C4010C94C401130D350DBF
+:1000B000230E350D230E7A0D9D0D230EF20D050E28
+:1000C0002E112E115D115D119C11BC111213121312
+:1000D000C711121377127712DE12E71212130C13E4
+:1000E0008412841284128412841284128412841260
+:1000F0008412841284128412841284128412841250
+:100100009412A212A912B012BA12290014001A00F5
+:100110000800150017001C0018000C001200130046
+:1001200034002A002B0004001600070009000A0012
+:100130000B000D000E000F00330028000000E1004E
+:100140001D001B00060019000500110010003600FC
+:1001500037003800E50000004800E000E2004C00F5
+:100160002C0000004C0000005000520051004F00D5
+:1001700000000A034A004400340035000000120366
+:100180006700650065006B006800610063006B003C
+:1001900000000403090409027400040100A0FA0924
+:1001A00004000001030101000921110100012240A6
+:1001B000000705810308000A090401000103010288
+:1001C00000092111010001224D00070582030800EA
+:1001D0000A090402000103000000092111010001C5
+:1001E0002236000705830308000A090403000203FE
+:1001F00000000009211101000122200007058403ED
+:100200002000010705040320000112011001000075
+:100210000008EDFE60600100010200010631FF09E7
+:1002200074A1010975150025FF9520750881020943
+:1002300076150025FF952075089102C005010980FB
+:10024000A101850216010026B7001A01002AB70095
+:10025000751095018100C0050C0901A101850316E7
+:100260000100269C021A01002A9C0275109501814A
+:1002700000C005010902A1010901A1000509190138
+:100280002905150025019505750181029501750364
+:1002900081010501093009311581257F9502750815
+:1002A000810609381581257F950175088106050CA1
+:1002B0000A38021581257F950175088106C0C005A1
+:1002C000010906A101050719E029E7150025019597
+:1002D0000875018102950175088101050819012938
+:1002E00005950575019102950175039101050719A1
+:1002F0000029FF150026FF00950675088100C00043
+:1003000011241FBECFEFDAE0DEBFCDBF04B603FE7F
+:1003100024C08091ED029091EE02A091EF02B09185
+:10032000F0028730904BA740B04BB9F41092ED0229
+:100330001092EE021092EF021092F00214BE84B7F7
+:10034000877F84BF88E10FB6F89480936000109295
+:1003500060000FBEE0E0F8E3099511E0A0E0B1E035
+:10036000E8E2F5E402C005900D92A434B107D9F794
+:1003700012E0A4E4B1E001C01D92AD3EB107E1F787
+:100380000E9443090C9492220C9400000895089551
+:10039000279A2F988FEF9FEF909387008093860086
+:1003A0008AE08093800089E1809381000C94692029
+:1003B000282F81110BC080918000877F809380005F
+:1003C00010928D0010928C002F9808952F98809194
+:1003D0008000886080938000233019F48FEF9FEFB6
+:1003E0000FC083E090E0821B9109880F991F2FEFC7
+:1003F0003FEFA90102C0569547958A95E2F7CA01D9
+:1004000090938D0080938C0008950E94C8010C94F5
+:10041000C6010C94C70181E0089581E008950C9411
+:100420000D0208950F931F93CF93DF938C01FC016E
+:10043000C081D181CE010E947618BE010E9446057E
+:10044000EC01B8010E940F02882309F470C1F80181
+:100450008281882309F45BC080914F0181111FC004
+:10046000C431F0E7DF0709F00AC10E94110281E000
+:1004700080934F010E94E41990934E0180934D01A7
+:1004800010924601109248011092470110924A01C1
+:100490001092490110924C0110924B0148C1809179
+:1004A0004D0190914E010E94F019883C910570F425
+:1004B00080914601E82FF0E0EE0FFF1FE95BFE4F51
+:1004C000D183C0838F5F8093460131C1C43120E75F
+:1004D000D20708F024C1C23080E7D80710F5C11553
+:1004E00090E7D90709F0DAC0F8018281882309F47E
+:1004F000BFC00E947D13FFEF24E38CE0F150204049
+:100500008040E1F700C000000E943F1A10C1C431D2
+:10051000F0E7DF0708F0CFC0C23020E7D20708F4C9
+:100520009BC0F8018281882309F4A2C00E94F11BBC
+:10053000811102C00E94D21B0E940E1C90E0909379
+:10054000DE028093DD02C230F0E7DF0721F4809104
+:10055000DD0281607AC0C33020E7D20721F48091A8
+:10056000DD02826072C0C43080E7D80721F4809138
+:10057000DD0284606AC0C53090E7D90719F4809124
+:10058000DD0227C0C630E0E7DE0721F48091DD02FE
+:1005900080615BC0C730F0E7DF0721F48091DD02A6
+:1005A000806253C0C83020E7D20721F48091DD0279
+:1005B00080644BC0C93080E7D80721F48091DD0208
+:1005C000806843C0CA3090E7D90729F48091DD02E2
+:1005D000846088603AC0CB30E0E7DE0721F4809188
+:1005E000DD028E7F32C0CC30F0E7DF0721F480914E
+:1005F000DD028D7F2AC0CD3020E7D20721F4809123
+:10060000DD028B7F22C0CE3080E7D80719F48091BD
+:10061000DD021AC08091DD02CF3090E7D90711F4D6
+:100620008F7E13C0C031E0E7DE0711F48F7D0DC06F
+:10063000C131F0E7DF0711F48F7B07C0C231D0472B
+:1006400011F48F7702C08B7F877F8093DD028091CA
+:10065000DD020E94121C6BC0C11580E7D80741F073
+:10066000C130D047F1F081E080934401809345018F
+:10067000C801DF91CF911F910F910C940B02C431EF
+:1006800020E7D20708F04BC0C23080E7D80708F057
+:1006900048CFC11590E7D90709F42BCFC130D04717
+:1006A00011F7F8018281882319F38091CC028160CF
+:1006B0008093CC023CC0C333E0E7DE07A1F4F8012D
+:1006C0008281882321F01092440182E017C080913A
+:1006D0004401811106C086E20E94D20F86E20E9488
+:1006E0009A1082E019C0C433D04709F0BCCFF8019A
+:1006F0008281882331F01092450180E20E94E91046
+:1007000016C080914501811106C087E20E94D20F78
+:1007100087E20E949A1080E20E94F01008C0C33362
+:10072000F0E7DF0761F2C433D04709F39CCF80E0E4
+:10073000DF91CF911F910F9108950C9405020C94B5
+:1007400009022DE0729FF001112434E3839FE00D34
+:10075000F11D1124E60FF11DEE0FFF1FE65FFE4FA6
+:10076000859194910E945805811540E5940708F001
+:1007700047C0811520E4920708F013C1883E910517
+:1007800020F5803E910508F07CC1883A910578F407
+:10079000853A910508F0A5C08130910509F471C131
+:1007A00008F42EC18430910508F06BC129C18B3B40
+:1007B000910508F4A1C0803C910508F421C1FC0119
+:1007C000EE0FFF1FE657F040E6C0811530E29307B9
+:1007D00058F4811541E0940708F053C1803F91051A
+:1007E00008F40EC190650895811520E3920708F082
+:1007F000D5C0FC01FF70EE0FFF1FE65FFE4FCBC0C0
+:10080000811535E5930708F043C0811544E5940749
+:1008100008F0DEC0811522E5920708F5811531E563
+:10082000930708F0C1C0482F437021E030E002C0B8
+:10083000220F331F4A95E2F73C68AC0164E05695FD
+:1008400047956A95E1F74370342B8F7086958695AE
+:1008500040E2849FC0011124822B932B0895282FFE
+:1008600026952695AC01437055278115934508F0D0
+:10087000A0C080E2289F9001112481E090E002C096
+:10088000880F991F4A95E2F7822B932B9C68089555
+:100890008F3240E7940790F48F3120E7920708F0F9
+:1008A000A2C0811536E5930708F497C09C01305625
+:1008B0002115304108F0A4C09F7093C0803320E719
+:1008C000920709F497C008F492C0813340E7940777
+:1008D00009F493C08233904709F092C080E093ED11
+:1008E0000895853A910509F48EC0863A910509F07C
+:1008F0008DC082E890E40895883A910509F489C092
+:10090000893A910509F488C08A3A910509F487C0AB
+:100910008B3A910509F486C08C3A910509F485C09B
+:100920008D3A910509F484C0803B910509F483C098
+:100930008E3A910509F482C08F3A910509F481C07D
+:10094000813B910509F480C0823B910509F47FC089
+:10095000833B910509F47EC0843B910509F47DC079
+:10096000853B910509F47CC0863B910509F47BC069
+:10097000873B910509F47AC0883B910509F479C059
+:10098000893B910509F478C08A3B910509F477C049
+:1009900080E094E408958591949108959927906C4E
+:1009A00008959F70906A0895982F8827816F906AA4
+:1009B000089590E2299F9001112481E090E002C007
+:1009C000880F991F4A95E2F7822B932B9A68089516
+:1009D000982F8827846F906A08958F719927982F90
+:1009E0008827906208958F519047946D089580E014
+:1009F00091ED089580E090ED089580E092ED0895E6
+:100A000080E090E0089581E890E4089583E890E420
+:100A1000089582EE94E4089589EE94E408958AEEB0
+:100A200094E4089585EB94E4089586EB94E40895A6
+:100A300087EB94E408958CEC94E408958DEC94E4B1
+:100A4000089583E895E408958AE895E4089582E995
+:100A500095E4089584E995E4089581E296E4089583
+:100A600083E296E4089584E296E4089585E296E4AC
+:100A7000089586E296E4089587E296E408958AE26E
+:100A800096E4089580E090E0089508959DE0799FB0
+:100A9000F001112494E3899FE00DF11D1124E60F6C
+:100AA000F11DEE0FFF1FE65FFE4F859194910895B3
+:100AB0008238910549F1B0F48133910509F458C0A9
+:100AC00048F48932910509F44EC08A32910509F43F
+:100AD00054C008958533910509F440C089339105C8
+:100AE00099F00895833E910529F138F4803E9105EF
+:100AF00091F0823E9105A1F00895863E9105F9F0AE
+:100B0000873E910531F108952091DD0220FD3AC024
+:100B100021FD38C008958091DD0280FD35C032C0CE
+:100B20008091DD0282FF32C08091DD0284FD30C001
+:100B300083EE39C08091DD0282FD28C0F5CF80911F
+:100B4000DD0283FF27C08091DD0284FD21C087EE96
+:100B50002AC08091DD0283FD1DC0F5CF8091DD02AA
+:100B600085FD1AC01BC08091DD0285FD17C014C031
+:100B70008091DD0286FD14C015C08091DD0286FDE6
+:100B800011C00EC080EE0FC089E30DC082EE0BC015
+:100B900080E009C086EE07C089E205C085E303C096
+:100BA0008AE201C081E390E0089508950C94D50590
+:100BB000E82FF0E0EF5DFE4F8081E82FEF70F0E06E
+:100BC00082958F7021E030E0A90102C0440F551FCB
+:100BD0008A95E2F740A308950F931F93CF93DF9375
+:100BE00085B7806885BF85B7806885BFC3E0D0E0E2
+:100BF00001E010E0FE01EF5DFE4F8081E82FEF7015
+:100C0000F0E021A182958F70A80102C0440F551F0A
+:100C10008A95E2F7CA01822B81A38C2F0E94D80506
+:100C2000219740F78CE090E061E070E0FC01EC5E21
+:100C3000FE4F2081E22FEF70F0E042A122952F704D
+:100C4000DB0102C0AA0FBB1F2A95E2F79D01242BEE
+:100C500022A3019758F7DF91CF911F910F910C9428
+:100C60009D03EF92FF920F931F93CF93DF9308E5BD
+:100C700011E0C3E0EE24E394F12CD5E08C2F0E9428
+:100C8000D8058CE090E040E050E0FC01EC5EFE4FC7
+:100C90006081E62FEF70F0E020A130E062956F7088
+:100CA00002C0359527956A95E2F720FD09C09701A6
+:100CB000082E02C0220F331F0A94E2F7422B532B57
+:100CC000019718F7F801929182918F018417950787
+:100CD00021F051834083D09300018C2F0E94D805CE
+:100CE000C15060F68091000187FD2CC08150809337
+:100CF00000018F3F39F08FE99FE00197F1F700C0C5
+:100D0000000020C0809156019091570190935F019F
+:100D100080935E01809154019091550190935D0103
+:100D200080935C01809152019091530190935B01FB
+:100D300080935A01809150019091510190935901F3
+:100D4000809358010E949F0381E0DF91CF911F9112
+:100D50000F91FF90EF900895E82FF0E0EE0FFF1F46
+:100D6000E85AFE4F808191810895089580916C0129
+:100D700008950F931F93CF93DF9300D000D01F925D
+:100D8000CDB7DEB79C018091610190916201281777
+:100D9000390709F493C03093620120936101223E28
+:100DA0003105F1F1293E310559F12A3E310559F15C
+:100DB000253B310559F1263B310551F1273B3105E2
+:100DC00051F12C3C310561F12D3C310531F12338D5
+:100DD00081E0380729F12A3891E0390709F12239F1
+:100DE00081E03807E9F0243991E03907C9F0213270
+:100DF00082E03807B9F0233292E0390789F415C050
+:100E000090E040E114C090E040E211C092E001C0E7
+:100E100094E040E00CC090E1FCCF90E040E407C0DB
+:100E200090E0F7CF90E044E002C090E041E089011B
+:100E30008DEF4C839D830E94560E80E00E94560EDB
+:100E400082E00E94560E4C81842F0E94560E9D8196
+:100E5000892F0E94560E80E00E94560E80E00E946C
+:100E6000560E80E00E94560E80E00E94560E809141
+:100E7000E302843019F583E089831B830A8380931E
+:100E8000E9008FEF9091E800815095FD06C095ED47
+:100E90009A95F1F700008111F5CF8091E80085FF68
+:100EA0000DC040E050E063E070E0CE0101960E948A
+:100EB000C4098091E8008E778093E8000F900F902E
+:100EC0000F900F900F90DF91CF911F910F91089588
+:100ED000CF93DF9300D01F92CDB7DEB72091E3020E
+:100EE000243021F522E029839B838A8383E0809349
+:100EF000E9008FEF9091E800815095FD06C095EDD7
+:100F00009A95F1F700008111F5CF8091E80085FFF7
+:100F10000DC040E050E063E070E0CE0101960E9419
+:100F2000C4098091E8008E778093E8000F900F90BD
+:100F30000F90DF91CF910895CF93DF93EC018DEF68
+:100F40000E94560E80E00E94560E83E00E94560ECC
+:100F500088810E94560E89810E94560E8A810E94C5
+:100F6000560E8B810E94560E8C810E94560E80E098
+:100F70000E94560E8091E3028430F9F482E080935F
+:100F8000E9008FEF9091E800815095FD06C095ED46
+:100F90009A95F1F700008111F5CF8091E80085FF67
+:100FA0000CC040E050E065E070E0CE010E94C40952
+:100FB0008091E8008E778093E800DF91CF910895CB
+:100FC000EF92FF920F931F93CF93DF93EC018DEF7E
+:100FD0000E94560E8E017E0188E0E80EF11CF80199
+:100FE00081918F010E94560E0E151F05C1F7809149
+:100FF000E302843039F581E08093E9008FEF90912E
+:10100000E800815095FD06C0F5EDFA95F1F7000076
+:101010008111F5CF8091E80085FF14C040E050E0D9
+:1010200068E070E0CE010E94C4098091E8008E77EC
+:101030008093E80088E0FE01A4E6B1E001900D9203
+:101040008A95E1F7DF91CF911F910F91FF90EF907B
+:1010500008958091E202811109C00E94590B0E94FB
+:10106000B60B8091E20084608093E20008951092B4
+:10107000E2020895089508950C94A7192091600143
+:101080002F5F822F62E30E942222992319F020937E
+:10109000600108951092600180916301882371F1CD
+:1010A0008091E302843041F58091E9008F702091B6
+:1010B000EC00922F917020FD90E8892B94E09093A2
+:1010C000E9009091EB0090FF14C09091EE0097FF23
+:1010D00010C09091E80095FF03C01092F100F9CF85
+:1010E0009091E80090FF05C09091E8009E77909362
+:1010F000E8008F708093E90010926301089542E048
+:1011000061EC81E00E94D30A42E061EC82E00E943F
+:10111000D30A42E061EC83E00E94D30A42E261EC30
+:1011200084E00C94D30A8091E502833009F453C023
+:1011300030F4813071F0823009F48CC008958A3027
+:1011400009F478C08B3009F45EC0893009F09AC088
+:1011500020C08091E402813A09F094C08091E800B7
+:10116000877F8093E8008091E8029091E902892BC3
+:1011700021F468E084E691E003C060E080E090E064
+:1011800070E00E940F0A8091E8008B778093E8005E
+:1011900008958091E402813209F074C08091E802E0
+:1011A0009091E902892B09F06DC08091E800877F5A
+:1011B0008093E8008091E80082FD05C08091E30201
+:1011C0008111F8CF5FC08091F10080936C01809114
+:1011D000E8008B7753C08091E402813A09F052C055
+:1011E0008091E8029091E902892B09F04BC080912F
+:1011F000E800877F8093E8008091E80080FFFCCFC3
+:1012000080910B0136C08091E4028132D9F5809142
+:10121000E8029091E902892BA9F58091E800877F87
+:101220008093E8000E94080B8091E60280930B01F6
+:101230000C947D138091E402813221F58091E800C5
+:10124000877F8093E8000E94080B8091E7028093DB
+:101250006D0108958091E402813AA1F48091E80043
+:10126000877F8093E8008091E80080FFFCCF809129
+:101270006D018093F1008091E8008E778093E80003
+:101280000C94080B089584B7877F84BF88E10FB65C
+:10129000F89480936000109260000FBE80E8809305
+:1012A0006100109261000E94EA0E0E94590B0E9498
+:1012B000B60B8091E20084608093E20078940E94F3
+:1012C000580E0E943B0E0E94EC0E81E091E00E94BD
+:1012D000960E0E94F40EFDCF292F332723303105BF
+:1012E000C9F064F42130310581F02230310509F074
+:1012F00043C084E790E026E931E042C02132310565
+:10130000F1F02232310541F137C082E190E02AE06C
+:1013100032E036C099278130910541F08230910545
+:1013200041F0892B49F5E2E9F1E005C0EEE7F1E093
+:1013300002C0E2E7F1E0849190E09F0121C06430B7
+:10134000D8F4E62FF0E0EE0FFF1FEF5CFE4F208198
+:10135000318189E090E014C0643070F470E0FB01EA
+:10136000EE0FFF1FE75DFE4F20813181FB01EB5D3A
+:10137000FE4F808190E004C080E090E020E030E00B
+:10138000FA01318320830895CF92DF92EF92FF928A
+:101390000F931F93CF93DF93EC018B016A010E949F
+:1013A000270B811133C0C114D10439F0F6018081BB
+:1013B0009181081B190BC80FD91FE12CF12C0115C5
+:1013C000110519F18091E80085FD16C08091E800B3
+:1013D0008E778093E800C114D10449F0F601808132
+:1013E0009181E80EF91EF182E08285E00FC00E9433
+:1013F000270B882321F30AC089918093F1000150C3
+:101400001109FFEFEF1AFF0ADACF80E0DF91CF91E9
+:101410001F910F91FF90EF90DF90CF900895209152
+:10142000EA023091EB022617370748F06115710583
+:1014300039F42091E8002E772093E80001C0B9012B
+:1014400040E061157105A9F12091E302222309F41E
+:1014500043C0253009F442C02091E80023FD40C07C
+:101460002091E80022FD32C02091E80020FFE9CF62
+:101470004091F3002091F20030E0342BFC01CF01C9
+:101480006115710559F02830310540F48191809340
+:10149000F100615071092F5F3F4FF1CF41E02830DB
+:1014A000310509F040E02091E8002E772093E80014
+:1014B000C8CF4111C9CF0AC08091E302882361F0EF
+:1014C000853061F08091E80083FD0AC08091E800DA
+:1014D00082FFF2CF80E0089582E0089583E00895CE
+:1014E00081E008952091EA023091EB022617370738
+:1014F00048F06115710539F42091E8002E772093AA
+:10150000E80001C0B901FC0120E06115710591F10D
+:101510008091E302882309F440C0853009F43FC07C
+:101520008091E80083FD3DC08091E80082FD2FC0DE
+:101530008091E80080FFE9CF2091F3008091F200D4
+:1015400090E0922B6115710559F08830910540F4B7
+:1015500024912093F1003196615071090196F2CFE8
+:1015600021E0089709F020E08091E8008E778093D1
+:10157000E800CBCF2111CCCF0AC08091E3028823B1
+:1015800061F0853061F08091E80083FD0AC08091B0
+:10159000E80082FFF2CF80E0089582E0089583E0C2
+:1015A000089581E00895982F973058F59093E900B9
+:1015B000981739F07091EC002091ED005091F000F7
+:1015C00003C0242F762F50E021FF19C03091EB008B
+:1015D0003E7F3093EB003091ED003D7F3093ED0086
+:1015E0003091EB0031603093EB007093EC0020936E
+:1015F000ED005093F0002091EE0027FF07C09F5FA1
+:10160000D3CF8F708093E90081E0089580E0089542
+:101610008091E40287FF11C08091E80082FD05C03F
+:101620008091E3028111F8CF11C08091E8008B779F
+:101630000BC08091E302882349F08091E80080FF8D
+:10164000F8CF8091E8008E778093E800089520918C
+:10165000E4003091E50095E64091EC00842F817024
+:1016600040FF22C08091E80080FD1CC08091E30211
+:10167000882391F0853091F08091EB0085FD10C0BA
+:101680004091E4005091E5004217530729F39A0175
+:10169000915011F784E0089582E0089583E0089561
+:1016A00081E0089580E008954091E80042FFDECF98
+:1016B00008950E94C70B0E94CF0BE0EEF0E08081FE
+:1016C00081608083E8EDF0E080818F77808319BCB2
+:1016D000A7EDB0E08C918E7F8C9380818F7E80838C
+:1016E0001092E20208950F931F93CF93DF930E940D
+:1016F000C70B0E94CF0BC8EDD0E088818F7788831D
+:1017000088818068888388818F7D888319BC109246
+:10171000E3021092DF021092E1021092E00200EE6A
+:1017200010E0F80180818B7F8083888181608883CD
+:1017300042E060E080E00E94D30AE1EEF0E08081C8
+:101740008E7F8083E2EEF0E0808181608083808103
+:1017500088608083F80180818E7F808388818061AA
+:101760008883DF91CF911F910F910895E8EDF0E00C
+:1017700080818F7E8083E7EDF0E0808181608083CF
+:1017800084E082BF81E08093E2020C94730BE8ED69
+:10179000F0E080818E7F80831092E20008951092A5
+:1017A000DA001092E10008951F920F920FB60F9287
+:1017B00011242F933F934F935F936F937F938F9356
+:1017C0009F93AF93BF93EF93FF938091E10082FFCC
+:1017D0000BC08091E20082FF07C08091E1008B7F07
+:1017E0008093E1000E943E088091DA0080FF1FC0D4
+:1017F0008091D80080FF1BC08091DA008E7F80939B
+:10180000DA008091D90080FF0DC080E189BD82E1BE
+:1018100089BD09B400FEFDCF81E08093E3020E9400
+:10182000290805C019BC1092E3020E943708809174
+:10183000E10080FF19C08091E20080FF15C0809117
+:10184000E2008E7F8093E2008091E20080618093CD
+:10185000E2008091D80080628093D80019BC85E0B6
+:101860008093E3020E943B088091E10084FF30C036
+:101870008091E20084FF2CC080E189BD82E189BDB6
+:1018800009B400FEFDCF8091D8008F7D8093D800F1
+:101890008091E1008F7E8093E1008091E2008F7E55
+:1018A0008093E2008091E20081608093E200809169
+:1018B000DF02882311F084E007C08091E30087FDF8
+:1018C00002C081E001C083E08093E3020E943C08F3
+:1018D0008091E10083FF29C08091E20083FF25C051
+:1018E0008091E100877F8093E10082E08093E302B2
+:1018F0001092DF028091E1008E7F8093E100809161
+:10190000E2008E7F8093E2008091E200806180930C
+:10191000E20042E060E080E00E94D30A8091F000A3
+:1019200088608093F0000E943A08FF91EF91BF9188
+:10193000AF919F918F917F916F915F914F913F9167
+:101940002F910F900FBE0F901F9018951F920F921E
+:101950000FB60F9211242F933F934F935F936F9382
+:101960007F938F939F93AF93BF93CF93DF93EF9327
+:10197000FF93C091E900CF708091EC00D82FD17017
+:1019800080FDD0E81092E9008091F000877F80937D
+:10199000F00078940E94EA0C1092E9008091F00027
+:1019A00088608093F000CD2BCF70C093E900FF9149
+:1019B000EF91DF91CF91BF91AF919F918F917F91E7
+:1019C0006F915F914F913F912F910F900FBE0F90AC
+:1019D0001F9018951F93CF93DF93CDB7DEB7AA97CB
+:1019E0000FB6F894DEBF0FBECDBFE4EEF2E088E0A4
+:1019F0008E0F9091F10091938E13FBCF0E9493086C
+:101A00008091E80083FF1FC18091E4029091E5027C
+:101A1000492F50E04A30510508F015C1FA01EA5A41
+:101A2000FF4F0C944222803881F0823809F00BC1BC
+:101A30008091E8028F708093E9008091EB0085FB34
+:101A4000882780F91092E90006C08091E002909109
+:101A5000E102911182609091E800977F9093E800F5
+:101A60008093F1001092F100C8C0282F2D7F09F05B
+:101A7000EAC0882319F0823061F0E5C08091E60267
+:101A8000813009F0E0C0933009F080E08093E102FA
+:101A90002BC08091E602811127C08091E8028F70EF
+:101AA00009F4D1C08093E9002091EB0020FF1CC015
+:101AB000933021F48091EB00806214C09091EB0090
+:101AC00090619093EB0021E030E0A90102C0440F47
+:101AD000551F8A95E2F74093EA001092EA00809140
+:101AE000EB0088608093EB001092E9008091E800A1
+:101AF000877F86C08111A7C01091E6021F77809171
+:101B0000E3008078812B8093E3008091E800877F59
+:101B10008093E8000E94080B8091E80080FFFCCFD2
+:101B20008091E30080688093E300111102C082E09D
+:101B300001C083E08093E30286C08058823008F0C1
+:101B400082C08091E6029091E7028C3D53E09507B8
+:101B500079F583E08A838AE289834FB7F894DE01BE
+:101B6000139620E03EE051E2E32FF0E0509357005F
+:101B7000E49120FF03C0E295EF703F5FEF708E2F7E
+:101B800090E0EA3010F0C79601C0C0968D939D9307
+:101B90002F5F243149F74FBF8091E800877F809302
+:101BA000E8006AE270E0CE0101960E940F0A14C0BC
+:101BB000AE014F5F5F4F6091E8020E946C09BC016B
+:101BC000009709F440C09091E800977F9093E80057
+:101BD00089819A810E94720A8091E8008B778093B4
+:101BE000E80031C0803879F58091E800877F8093E4
+:101BF000E8008091DF028093F1008091E8008E7709
+:101C00008093E8000E94080B1EC081111CC09091B7
+:101C1000E6029230C0F48091E800877F8093E8006C
+:101C20009093DF020E94080B8091DF02811106C0B1
+:101C30008091E30087FD02C081E001C084E08093D1
+:101C4000E3020E947F088091E80083FF0AC0809130
+:101C5000E800877F8093E8008091EB0080628093AA
+:101C6000EB00AA960FB6F894DEBF0FBECDBFDF9192
+:101C7000CF911F910895CF938091E3028823A1F023
+:101C8000C091E900CF709091EC00892F817090FD98
+:101C900080E8C82B1092E9008091E80083FD0E9443
+:101CA000EA0CCF70C093E900CF9108950C94650EB3
+:101CB00087E68093CC001092CD0088E08093C90025
+:101CC00086E08093CA00789408959091C80095FFAB
+:101CD000FCCF8093CE0008951F920F920FB60F9203
+:101CE00011242F933F934F938F939F93EF93FF93E1
+:101CF00080916F0190E09C012F5F3F4F40916E01FA
+:101D0000421741F03091CE00FC01E059FE4F308384
+:101D100020936F01FF91EF919F918F914F913F9190
+:101D20002F910F900FBE0F901F90189590937502F2
+:101D3000809374020895E0917402F09175023097D7
+:101D400021F00190F081E02D099480E00895E09168
+:101D50007402F0917502309721F00280F381E02D3A
+:101D600009940895E0917402F0917502309721F082
+:101D70000480F581E02D099408952091720230913C
+:101D800073028217930771F090937302809372022B
+:101D9000E0917402F0917502309721F00680F7818E
+:101DA000E02D0994089520917002309171028217FC
+:101DB000930771F09093710280937002E091740226
+:101DC000F0917502309721F00084F185E02D09949F
+:101DD000089508950C94E90E0E94DB190E94EC0509
+:101DE0000E94A91A0C9469205F926F927F928F9241
+:101DF0009F92AF92BF92CF92DF92EF92FF920F939A
+:101E00001F93CF93DF9300D000D01F92CDB7DEB7E2
+:101E10000E9431069FE7C92E92E0D92E03E010E020
+:101E2000AA24A394B12C502E802F0E94AC064C0102
+:101E3000F601729062906F01682679266114710430
+:101E4000A1F40150110978F78FEF89838A831B82EF
+:101E50000E94E4198160782F9D838C8349815A8187
+:101E60006B818D810E94A40F38C08091CC0281FDCE
+:101E70000E94B5062CE030E07501022E02C0EE0C87
+:101E8000FF1C0A94E2F7C70186219721892B09F1EB
+:101E900029835A828E209F2091E0892809F490E0BE
+:101EA0009B830E94E4198160782F9D838C834981F4
+:101EB0005A816B818D810E94A40F000F111FF801C0
+:101EC000E958FD4F80819181E826F926F182E08270
+:101ED00004C02150310980F6B4CF0E949A1D1091A0
+:101EE00076020E949B0E1817D1F00E949B0E8093E1
+:101EF00076020F900F900F900F900F90DF91CF917F
+:101F00001F910F91FF90EF90DF90CF90BF90AF9017
+:101F10009F908F907F906F905F900C94D6050F905C
+:101F20000F900F900F900F90DF91CF911F910F9115
+:101F3000FF90EF90DF90CF90BF90AF909F908F90E9
+:101F40007F906F905F900895CF93DF93CDB7DEB70A
+:101F50002B970FB6F894DEBF0FBECDBF4F835887C7
+:101F600069877A878B87DE01119686E0FD011192E1
+:101F70008A95E9F785E0FE01379601900D928A95E2
+:101F8000E1F749815A816B817C818D819E810E941C
+:101F90001B162B960FB6F894DEBF0FBECDBFDF9198
+:101FA000CF910895CF93882309F4C2C0C82F8238F7
+:101FB00059F40E949B0E81FDBBC089E30E94F51875
+:101FC0000E94781989E30CC0833879F40E949B0E33
+:101FD00080FDAEC083E50E94F5180E94781983E564
+:101FE0000E941219CF910C947819843859F40E94E8
+:101FF0009B0E82FD9DC087E40E94F5180E9478190F
+:1020000087E4EECF8CEF8C0F813A48F48C2F0E943E
+:10201000D21F81118DC08C2F0E94F518E3CF80E272
+:102020008C0F883048F4C77081E001C0880FCA95D2
+:10203000EAF70E943119D6CF8BE58C0F833078F404
+:10204000C53A29F0C63A31F083E890E005C081E84E
+:1020500090E002C082E890E0CF910C94BD0E88E53C
+:102060008C0F833108F064C0C83A39F1C93A41F1A4
+:10207000CA3A49F1CB3A51F1CC3A59F1CD3A61F132
+:10208000C03B69F1CE3A71F1CF3A79F1C13B81F1B0
+:10209000C23B89F1C33B91F1C43B99F1C53BA1F12E
+:1020A000C63BA9F1C73BB1F1C83BB9F1C93BC1F18E
+:1020B000CA3BC9F180E090E038C082EE90E035C0C4
+:1020C00089EE90E032C08AEE90E02FC085EB90E080
+:1020D0002CC086EB90E029C087EB90E026C08CEC0A
+:1020E00090E023C08DEC90E020C083E891E01DC01B
+:1020F0008AE891E01AC082E991E017C084E991E092
+:1021000014C081E292E011C083E292E00EC084E24A
+:1021100092E00BC085E292E008C086E292E005C042
+:1021200087E292E002C08AE292E0CF910C94D30E53
+:10213000CF910895882309F44BC0823859F40E9446
+:102140009B0E81FF45C089E30E94F5180E94781913
+:1021500089E30CC0833871F40E949B0E80FF38C065
+:1021600083E50E94F5180E94781983E50E941219F0
+:102170000C947819843859F40E949B0E82FF28C071
+:1021800087E40E94F5180E94781987E4EFCF9CEF4E
+:10219000980F913A58F390E2980F983050F4877066
+:1021A00091E001C0990F8A95EAF7892F0E943719AB
+:1021B000DFCF9BE5980F933020F480E090E00C9403
+:1021C000BD0E885A833120F480E090E00C94D30E49
+:1021D0000895882321F00E9431190C9478190895EC
+:1021E000882321F00E9437190C94781908957F9262
+:1021F0008F929F92AF92BF92CF92DF92EF92FF9217
+:102200000F931F93CF93DF931F92CDB7DEB77C015F
+:10221000C62E772EFC01058102950F7012811111D7
+:102220000E944E190E94EE18882379F0112369F05C
+:1022300080E28C0D883048F082E00E94D7180E941E
+:10224000EE1891E0D82ED92601C0D12CE72DE295C9
+:10225000EF70F0E0E05AFF4F0C944222872D807F10
+:10226000072D0F70882311F00295007F112389F04C
+:10227000002309F499C180E28C0D883020F4802F6E
+:102280000E94311903C0802F0E9441190E947819C1
+:102290008BC18C2D0E949A10002309F4C3C180E2E7
+:1022A0008C0D883020F4802F0E94371903C0802FB6
+:1022B0000E9447190E947819B5C1872D807F972DFC
+:1022C0009F70803211F4892F03C0892F8295807FFF
+:1022D000CC2021F0F1E0CF16A1F01DC0112339F080
+:1022E000002319F1013009F50E9461199BC10023F7
+:1022F00019F0013009F496C189830E94641989811B
+:1023000010C1112321F0063008F08CC10EC0053039
+:1023100008F088C106C1112359F0002331F0F701FC
+:10232000958190FF41C19F7095830E94E9107AC109
+:10233000002309F4F6C03EC1872D869586958370EB
+:1023400090E0009719F0019761F06CC1112321F022
+:102350008C2D972D937002C080E090E00E94BD0EFE
+:1023600061C1112321F08C2D972D937002C080E064
+:1023700090E00E94D30E56C18C2D112319F00E94BB
+:10238000A21C02C00E940A1D0E948F1D4BC1872DF6
+:10239000837009F052C0111145C18C2D829586952C
+:1023A0008770880F880F9C2D9F70892E912CA12CEF
+:1023B000B12C082E04C0880C991CAA1CBB1C0A94C2
+:1023C000D2F7C4FE14C00FE010E020E030E0B90105
+:1023D000A80104C0440F551F661F771F8A95D2F7C6
+:1023E000CB01BA01609570958095909503C060E02F
+:1023F00070E0CB01272D26952695237030E0223002
+:10240000310569F02330310589F0682979298A2955
+:102410009B292130310571F00E94631703C168299F
+:1024200079298A299B290E947F17FCC00E94631783
+:10243000C501B4010E944717F5C0112319F0872D7B
+:10244000817001C08695882309F4ECC08C2D82959B
+:1024500086958770880F880F9C2D9F70892E912CF0
+:10246000A12CB12C082E04C0880C991CAA1CBB1CE2
+:102470000A94D2F7C4FE14C00FE010E020E030E070
+:10248000B901A80104C0440F551F661F771F8A9524
+:10249000D2F7CB01BA01609570958095909503C0F5
+:1024A00060E070E0CB01272D269526952370422F02
+:1024B00050E04230510569F04330510589F06829F8
+:1024C00079298A299B294130510571F00E943D18D4
+:1024D000A9C0682979298A299B290E945918A2C074
+:1024E0000E943D18C501B4010E9421189BC08C2D8B
+:1024F00090E0FC01E05EF109E531F10508F050C023
+:10250000E059FF4F0C9442220C2D0F70872D8F71D4
+:10251000112321F00E94BA17802F07CF0E94DB17EA
+:10252000802F0E94F0107EC0112341F0053008F08A
+:1025300079C0872D8F710E94001874C0063008F092
+:1025400071C0F7CF112339F0872D8F710E94BA1710
+:1025500069C01123C9F3872D8F710E94DB1762C0F8
+:10256000112329F0872D8F710E94A5175BC00E944F
+:102570009B1758C0112351F0172D1F71812F0E94F6
+:10258000BA1763E0812F0E94CE184CC081E00E94F0
+:10259000D718023008F446C082E00E94D71842C023
+:1025A000112331F0002381F28C2D0E94D20F3AC00A
+:1025B000002389F28C2D0E949A1034C0472D4F7051
+:1025C0006C2DC7010E9442050E94BF162BC011113D
+:1025D00029C0472D4F7050E042305105B9F04CF4FE
+:1025E0004115510581F041305105E1F40E949120DF
+:1025F00019C04330510569F04430510599F48C2DD0
+:102600000E94E3200FC00E947A200CC00E94AD20DF
+:1026100009C00E94C02006C0472D4F706C2DC70115
+:102620000E944505DD20F9F00E94CA1880FD1BC0FC
+:10263000F70112820E94C4180E94BA17C7010E94B3
+:1026400042130E94C4180F90DF91CF911F910F91F8
+:10265000FF90EF90DF90CF90BF90AF909F908F90C2
+:102660007F900C94DB170F90DF91CF911F910F910A
+:10267000FF90EF90DF90CF90BF90AF909F908F90A2
+:102680007F9008950F931F93CF93DF93EC01888180
+:1026900099812B813C81232BB9F09F3F11F48F3F0F
+:1026A00099F0CE010E941202882371F0688179812D
+:1026B0008A810E94C0188C010E9475180E943C17E4
+:1026C000B801CE010E94F710DF91CF911F910F91B9
+:1026D00008950E944E190E945E190E9423190E94BB
+: