diff --git a/Example_Keyboards/Compaq_286/Compaq_286.pdf b/Example_Keyboards/Compaq_286/Compaq_286.pdf
new file mode 100644
index 0000000..465592a
Binary files /dev/null and b/Example_Keyboards/Compaq_286/Compaq_286.pdf differ
diff --git a/Example_Keyboards/Compaq_286/Compaq_keyb_v2.ino b/Example_Keyboards/Compaq_286/Compaq_keyb_v2.ino
new file mode 100644
index 0000000..684963f
--- /dev/null
+++ b/Example_Keyboards/Compaq_286/Compaq_keyb_v2.ino
@@ -0,0 +1,572 @@
+/* Copyright 2019 Olga, based on work of Frank Adams
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+ http://www.apache.org/licenses/LICENSE-2.0
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+// This software implements old Compaq keyboard controller on Teensy 3.5 connected directly with keyboard
+// IMPORTANT ! DO NOT CONNECT PIN 13 AS IT DRIVES LED AND GIVES RANDOM READING !
+// This routine uses the Teensyduino "Micro-Manager Method" to send Normal and Modifier
+// keys over USB.
+// Description of Teensyduino keyboard functions is at www.pjrc.com/teensy/td_keyboard.html
+//
+// Revision History
+// Initial Release Feb 14, 2021
+//
+//
+
+// comment this line to have debug code included
+#define NODEBUG
+
+// keyboard to teensy connection definitions
+#define KBD_X 32
+#define KBD_FN 34
+#define KBD_LSH 35
+#define KBD_LCT 36
+#define KBD_RSH 37
+#define KBD_RCT 38
+#define KBD_RAL 39
+#define KBD_LAL 14
+#define KBD_A 15
+#define KBD_B 16
+#define KBD_C 17
+#define KBD_D 18
+#define KBD_E 19
+#define KBD_F 20
+#define KBD_G 21
+#define KBD_H 22
+#define KBD_1 30
+#define KBD_2 29
+#define KBD_3 28
+#define KBD_4 27
+#define KBD_5 26
+#define KBD_6 25
+#define KBD_7 24
+#define KBD_8 12
+#define KBD_9 11
+#define KBD_10 10
+#define KBD_11 8
+#define KBD_CAPS 2
+#define KBD_NUM 3
+#define KBD_SCR 4
+
+#define USB_LED_NUM_LOCK 0
+#define USB_LED_CAPS_LOCK 1
+#define USB_LED_SCROLL_LOCK 2
+
+struct KeyDesc {
+ const char* name;
+ boolean isModifier;
+ int pin1;
+ int pin2;
+ int keyCode;
+ int fnKeyCode;
+ int numKeyCode;
+ int scrKeyCode;
+ boolean scanned;
+};
+
+struct KeySent {
+ int rawKey;
+ int sendKey;
+};
+
+struct KeyDesc Keys[] =
+{
+{ "LCTRL", true, KBD_X, KBD_LCT, MODIFIERKEY_LEFT_CTRL, 0, 0, 0 },
+{ "RCTRL", true, KBD_X, KBD_RCT, MODIFIERKEY_RIGHT_CTRL, 0, 0, 0 },
+{ "LSHIFT", true, KBD_X, KBD_LSH, MODIFIERKEY_LEFT_SHIFT, 0, 0, 0 },
+{ "RSHIFT", true, KBD_X, KBD_RSH, MODIFIERKEY_RIGHT_SHIFT, 0, 0, 0 },
+{ "LALT", true, KBD_X, KBD_LAL, MODIFIERKEY_LEFT_ALT, 0, 0, 0 },
+{ "RALT", true, KBD_X, KBD_RAL, MODIFIERKEY_RIGHT_ALT, 0, 0, 0 },
+{ "FN", true, KBD_X, KBD_FN, MODIFIERKEY_GUI, 0, 0, 0 },
+
+{ "ESC", false, KBD_A, KBD_3, KEY_ESC, 0, 0, 0 },
+{ "F1", false, KBD_A, KBD_2, KEY_F1, 0, 0, 0 },
+{ "F2", false, KBD_A, KBD_4, KEY_F2, 0, 0, 0 },
+{ "F3", false, KBD_A, KBD_1, KEY_F3, 0, 0, 0 },
+{ "F4", false, KBD_A, KBD_8, KEY_F4, 0, 0, 0 },
+{ "F5", false, KBD_A, KBD_11, KEY_F5, 0, 0, 0 },
+{ "F6", false, KBD_A, KBD_5, KEY_F6, 0, 0, 0 },
+{ "F7", false, KBD_A, KBD_7, KEY_F7, 0, 0, 0 },
+{ "F8", false, KBD_A, KBD_6, KEY_F8, 0, 0, 0 },
+{ "F9", false, KBD_A, KBD_10, KEY_F9, 0, 0, 0 },
+{ "F10", false, KBD_A, KBD_9, KEY_F10, 0, 0, 0 },
+{ "F11", false, KBD_G, KBD_9, KEY_F11, 0, 0, 0 },
+{ "F12", false, KBD_G, KBD_10, KEY_F12, 0, 0, 0 },
+{ "NUMLCK", false, KBD_G, KBD_6, KEY_NUM_LOCK, 0, 0, 0 },
+{ "PRTSCR", false, KBD_G, KBD_7, KEY_PRINTSCREEN, 0, 0, 0 },
+
+{ "~", false, KBD_B, KBD_3, KEY_TILDE, 0, 0, 0 },
+{ "1", false, KBD_B, KBD_2, KEY_1, 0, 0, 0 },
+{ "2", false, KBD_B, KBD_4, KEY_2, 0, 0, 0 },
+{ "3", false, KBD_B, KBD_1, KEY_3, 0, 0, 0 },
+{ "4", false, KBD_B, KBD_8, KEY_4, 0, 0, 0 },
+{ "5", false, KBD_B, KBD_11, KEY_5, 0, 0, 0 },
+{ "6", false, KBD_B, KBD_5, KEY_6, 0, 0, 0 },
+{ "7", false, KBD_B, KBD_7, KEY_7, KEY_HOME, KEYPAD_7, 0 },
+{ "8", false, KBD_B, KBD_6, KEY_8, KEY_UP, KEYPAD_8, 0 },
+{ "9", false, KBD_B, KBD_10, KEY_9, KEY_PAGE_UP, KEYPAD_9, 0 },
+{ "0", false, KBD_B, KBD_9, KEY_0, 0, KEYPAD_ASTERIX, 0 },
+{ "-(B)", false, KBD_F, KBD_9, KEY_MINUS, 0, 0, 0 },
+{ "=(Apo)", false, KBD_F, KBD_10, KEY_EQUAL, 0, 0, 0 },
+{ "BCKSPC", false, KBD_F, KBD_6, KEY_BACKSPACE, 0, 0, 0 },
+{ "SCRLCK", false, KBD_F, KBD_7, KEY_SCROLL_LOCK, 0, 0, 0 },
+
+{ "TAB", false, KBD_C, KBD_3, KEY_TAB, 0, 0, 0 },
+{ "Q", false, KBD_C, KBD_2, KEY_Q, 0, 0, 0 },
+{ "W", false, KBD_C, KBD_4, KEY_W, 0, 0, 0 },
+{ "E", false, KBD_C, KBD_1, KEY_E, 0, 0, 0 },
+{ "R", false, KBD_C, KBD_8, KEY_R, 0, 0, 0 },
+{ "T", false, KBD_C, KBD_11, KEY_T, 0, 0, 0 },
+{ "Y", false, KBD_C, KBD_5, KEY_Y, 0, 0, 0 },
+{ "U", false, KBD_C, KBD_7, KEY_U, KEY_LEFT, KEYPAD_4, 0 },
+{ "I", false, KBD_C, KBD_6, KEY_I, 0, KEYPAD_5, 0 },
+{ "O", false, KBD_C, KBD_10, KEY_O, KEY_RIGHT, KEYPAD_6, 0 },
+{ "P", false, KBD_C, KBD_9, KEY_P, 0, KEYPAD_MINUS, 0 },
+{ "[(Ue)", false, KBD_H, KBD_9, KEY_LEFT_BRACE, 0, 0, 0 },
+{ "](+~)", false, KBD_H, KBD_10, KEY_RIGHT_BRACE, 0, 0, 0 },
+{ "ENTER", false, KBD_H, KBD_8, KEY_ENTER, 0, KEYPAD_ENTER, 0 },
+{ "PAUSE", false, KBD_H, KBD_7, KEY_PAUSE, 0, 0, 0 },
+
+{ "CAPSLCK", false, KBD_D, KBD_2, KEY_CAPS_LOCK, 0, 0, 0 },
+{ "A", false, KBD_D, KBD_4, KEY_A, 0, 0, 0 },
+{ "S", false, KBD_D, KBD_1, KEY_S, 0, 0, 0 },
+{ "D", false, KBD_D, KBD_8, KEY_D, 0, 0, 0 },
+{ "F", false, KBD_D, KBD_11, KEY_F, 0, 0, 0 },
+{ "G", false, KBD_D, KBD_5, KEY_G, 0, 0, 0 },
+{ "H", false, KBD_D, KBD_3, KEY_H, 0, 0, 0 },
+{ "J", false, KBD_D, KBD_7, KEY_J, KEY_END, KEYPAD_1, 0 },
+{ "K", false, KBD_D, KBD_6, KEY_K, KEY_DOWN, KEYPAD_2, 0 },
+{ "L", false, KBD_D, KBD_10, KEY_L, KEY_PAGE_DOWN, KEYPAD_3, 0 },
+{ ";(Oe)", false, KBD_D, KBD_9, KEY_SEMICOLON, 0, KEYPAD_PLUS, 0 },
+{ "'(Ae)", false, KBD_H, KBD_5, KEY_QUOTE, 0, 0, 0 },
+{ "\\(#)", false, KBD_H, KBD_11, KEY_BACKSLASH, 0, 0, 0 },
+{ "INS", false, KBD_H, KBD_1, KEY_INSERT, 0, 0, 0 },
+
+{ "<>", false, KBD_E, KBD_4, KEY_MENU, 0, 0, 0 },
+{ "Z", false, KBD_E, KBD_1, KEY_Z, 0, 0, 0 },
+{ "X", false, KBD_E, KBD_8, KEY_X, 0, 0, 0 },
+{ "C", false, KBD_E, KBD_11, KEY_C, 0, 0, 0 },
+{ "V", false, KBD_E, KBD_5, KEY_V, 0, 0, 0 },
+{ "B", false, KBD_E, KBD_3, KEY_B, 0, 0, 0 },
+{ "N", false, KBD_E, KBD_7, KEY_N, 0, 0, 0 },
+{ "M", false, KBD_E, KBD_6, KEY_M, 0, 0, 0 },
+{ ",", false, KBD_E, KBD_10, KEY_COMMA, KEY_INSERT, KEYPAD_0, 0 },
+{ ".", false, KBD_E, KBD_9, KEY_PERIOD, KEY_DELETE, KEYPAD_PERIOD, 0 },
+{ "/", false, KBD_F, KBD_5, KEY_SLASH, 0, KEYPAD_SLASH, 0 },
+{ "DEL", false, KBD_F, KBD_1, KEY_DELETE, 0, 0, 0 },
+
+{ "SPACE", false, KBD_G, KBD_3, KEY_SPACE, 0, 0, 0 },
+
+{ "UP", false, KBD_F, KBD_8, KEY_UP, KEY_PAGE_UP, 0, KEY_PAGE_UP },
+{ "LEFT", false, KBD_G, KBD_11, KEY_LEFT, KEY_HOME, 0, KEY_HOME },
+{ "DOWN", false, KBD_G, KBD_8, KEY_DOWN, KEY_PAGE_DOWN, 0, KEY_PAGE_DOWN },
+{ "RIGHT", false, KBD_G, KBD_1, KEY_RIGHT, KEY_END, 0, KEY_END },
+
+{ "none", false, 0, 0, 0, 0 } // last key - no key
+};
+
+// second keycode accessible via modifier
+#define SECOND_CODE MODIFIERKEY_GUI
+
+// number of teensy pins
+#define PIN_MAX 39
+
+// slots hold the normal key values to be sent over USB.
+// WARNING - this must be set between 1 and 6
+#define SLOT_NORMAL_COUNT 6
+struct KeySent slots[SLOT_NORMAL_COUNT];
+
+// modifiers table holds - surprise - the modifier keys states
+#define SLOT_MOD_COUNT 6
+struct KeySent mods[SLOT_MOD_COUNT];
+
+// general check for button pressed - uses raw key
+boolean is_pressed(int rawKey, const struct KeySent* slot, int slotCount) {
+ for(int i = 0; i < slotCount ; i++) {
+ if (slot[i].rawKey == rawKey) {
+ return true;
+ }
+ }
+ return false;
+}
+
+// general slot setup function, returns true on change
+boolean set_slot(int rawKey, int sendKey, boolean isPressed, struct KeySent* slot, int slotCount) {
+ boolean currentlyPressed = is_pressed(rawKey, slot, slotCount);
+ if (currentlyPressed == isPressed) {
+ return false;
+ }
+ for(int i = 0; i < slotCount ; i++) {
+ if ((isPressed && slot[i].rawKey == 0) || (!isPressed && slot[i].rawKey == rawKey)) {
+ slot[i].rawKey = isPressed ? rawKey : 0;
+ slot[i].sendKey = isPressed ? sendKey : 0;
+ return true;
+ }
+ }
+ return false;
+}
+
+// check if normal key pressed
+boolean is_key_pressed(int rawKey) {
+ return is_pressed(rawKey, slots, SLOT_NORMAL_COUNT);
+}
+
+// check if mod key pressed
+boolean is_mod_pressed(int rawKey) {
+ return is_pressed(rawKey, mods, SLOT_MOD_COUNT);
+}
+
+// Function to load the key name into the first available slot
+boolean load_slot(int rawKey, int sendKey) {
+ return set_slot(rawKey, sendKey, true, slots, SLOT_NORMAL_COUNT);
+}
+
+// Function to clear the slot that contains the key name
+boolean clear_slot(int rawKey) {
+ return set_slot(rawKey, 0, false, slots, SLOT_NORMAL_COUNT);
+}
+
+// Function to load the modifier key name into the appropriate mod variable
+boolean load_mod(int m_key) {
+ return set_slot(m_key, m_key, true, mods, SLOT_MOD_COUNT);
+}
+
+// Function to load 0 into the appropriate mod variable
+boolean clear_mod(int m_key) {
+ return set_slot(m_key, 0, false, mods, SLOT_MOD_COUNT);
+}
+//
+// Function to send the modifier keys over usb
+void send_mod() {
+ int totalMod = 0;
+ for(int i = 0; i < SLOT_MOD_COUNT ; i++) {
+ totalMod |= mods[i].sendKey;
+ }
+ Keyboard.set_modifier(totalMod);
+ Keyboard.send_now();
+}
+//
+// Function to send the normal keys in the 6 slots over usb
+void send_normals() {
+ for(int i = 0 ; i < SLOT_NORMAL_COUNT ; i++) {
+ int value = slots[i].sendKey;
+ switch(i) {
+ case 0:
+ Keyboard.set_key1(value);
+ break;
+ case 1:
+ Keyboard.set_key2(value);
+ break;
+ case 2:
+ Keyboard.set_key3(value);
+ break;
+ case 3:
+ Keyboard.set_key4(value);
+ break;
+ case 4:
+ Keyboard.set_key5(value);
+ break;
+ case 5:
+ Keyboard.set_key6(value);
+ break;
+ default:
+ // no send here
+ break;
+ }
+ }
+ Keyboard.send_now();
+}
+//
+// Function to set a pin to high impedance (acts like open drain output)
+void go_z(int pin)
+{
+ pinMode(pin, INPUT);
+ digitalWrite(pin, HIGH);
+}
+//
+// Function to set a pin as an input with a pullup
+void go_pu(int pin)
+{
+ pinMode(pin, INPUT_PULLUP);
+ digitalWrite(pin, HIGH);
+}
+//
+// Function to send a pin to a logic low
+void go_0(int pin)
+{
+ pinMode(pin, OUTPUT);
+ digitalWrite(pin, LOW);
+}
+//
+// Function to send a pin to a logic high
+void go_1(int pin)
+{
+ pinMode(pin, OUTPUT);
+ digitalWrite(pin, HIGH);
+}
+
+////// DEBUG CODE
+
+void d_start() {
+#ifndef NODEBUG
+ while( !Serial );
+ Serial.begin(9600);
+#endif
+}
+
+void d_print(const char* format, ...) {
+#ifndef NODEBUG
+ va_list(aptr);
+ int ret;
+ char buffer[200];
+ va_start(aptr, format);
+ ret = vsprintf(buffer, format, aptr);
+ va_end(aptr);
+ if (ret >= 0) {
+ Serial.println(buffer);
+ } else {
+ Serial.println("--- error constructing debug log ---");
+ }
+#endif
+}
+
+////// END DEBUG CODE
+
+int KeyCount = 0;
+int readPins = 0;
+int readPIN[PIN_MAX];
+int writePins = 0;
+int writePIN[PIN_MAX];
+
+boolean is_in_array(int val, int* arr, int max) {
+ for(int i = 0 ; i < max ; i++) {
+ if (arr[i] == val) {
+ return true;
+ }
+ }
+ return false;
+}
+
+void blink() {
+ go_0(KBD_CAPS);
+ go_0(KBD_NUM);
+ go_0(KBD_SCR);
+ delay(200);
+ go_1(KBD_CAPS);
+ go_1(KBD_NUM);
+ go_1(KBD_SCR);
+}
+
+//
+//----------------------------------Setup-------------------------------------------
+void setup() {
+ d_start();
+ d_print("Setup Start: LED");
+ Keyboard.begin();
+ go_1(KBD_CAPS);
+ go_1(KBD_NUM);
+ go_1(KBD_SCR);
+ d_print("Setup LED complete, setup tables start.");
+ // setup keyboard tables
+ for(int i = 0 ; i < SLOT_NORMAL_COUNT ; i++) {
+ slots[i].rawKey = 0;
+ slots[i].sendKey = 0;
+ }
+ for(int i = 0 ; i < SLOT_MOD_COUNT ; i++) {
+ mods[i].rawKey = 0;
+ mods[i].sendKey = 0;
+ }
+ // initialize readers and writers
+ for(int i = 0 ; i < PIN_MAX ; i++) {
+ readPIN[i] = -1;
+ writePIN[i] = -1;
+ }
+ for(int i = 0 ; ; i++) {
+ struct KeyDesc& keyDesc = Keys[i];
+ if (keyDesc.keyCode == 0) {
+ KeyCount = i;
+ break;
+ }
+ int pin1 = keyDesc.pin1;
+ boolean pin1InRead = is_in_array(pin1, readPIN, readPins);
+ boolean pin1InWrite = is_in_array(pin1, writePIN, writePins);
+ int pin2 = keyDesc.pin2;
+ boolean pin2InRead = is_in_array(pin2, readPIN, readPins);
+ boolean pin2InWrite = is_in_array(pin2, writePIN, writePins);
+ if (pin1InRead || pin2InWrite) {
+ // means changed places of pins
+ pin1 = keyDesc.pin2;
+ pin2 = keyDesc.pin1;
+ keyDesc.pin1 = pin1;
+ keyDesc.pin2 = pin2;
+ boolean pinInRead = pin1InRead;
+ boolean pinInWrite = pin1InWrite;
+ pin1InRead = pin2InRead;
+ pin1InWrite = pin2InWrite;
+ pin2InRead = pinInRead;
+ pin2InWrite = pinInWrite;
+#ifndef NODEBUG
+ char text[100];
+ sprintf(text, "Swapped pins for key %s, pins now are %d %d", keyDesc.name, keyDesc.pin1, keyDesc.pin2);
+ d_print(text);
+#endif
+ }
+ if ((pin1InRead && pin1InWrite) || (pin2InRead && pin2InWrite) || (pin1InRead && pin2InRead) || (pin1InWrite && pin2InWrite)) {
+#ifndef NODEBUG
+ char text[100];
+ sprintf(text, "Error in keyboard configuration for key %s pins %d %d", keyDesc.name, keyDesc.pin1, keyDesc.pin2);
+ d_print(text);
+#endif
+ continue;
+ }
+ if (!pin1InWrite) {
+ writePIN[writePins++] = pin1;
+ }
+ if (!pin2InRead) {
+ readPIN[readPins++] = pin2;
+ }
+ }
+ for(int i = 0 ; i < writePins ; i++) {
+ go_z(readPIN[i]);
+ }
+ for(int i = 0 ; i < writePins ; i++) {
+ go_z(writePIN[i]);
+ }
+ d_print("Setup OK");
+ blink();
+}
+//
+
+//
+//---------------------------------Main Loop---------------------------------------------
+//
+void loop() {
+ // read LED state
+ boolean isCapsLock = keyboard_leds & (1< // used for making a 24msec timer
+//
+#define SPEED_PIN0 0 // Input with pullup - Can be driven by the Teensy controlling the keyboard
+#define SPEED_PIN1 1 // Input with pullup - Can be driven by the Teensy controlling the keyboard
+// Connect the Teensy I/O's 3 thru 8 to the Grid mouse connector pins 3 thru 8
+#define MOUSE_PIN3 3 // Left/Right Encoder signal A
+#define MOUSE_PIN4 4 // Left/Right Encoder signal B
+#define MOUSE_PIN5 5 // Up/Down Encoder signal A
+#define MOUSE_PIN6 6 // Up/Down Encoder signal B
+#define MOUSE_PIN7 7 // Right Mouse Button
+#define MOUSE_PIN8 8 // Left Mouse Button
+//
+// Declare and initialize variables
+ boolean left_button = 0; // on/off variable for left button, 1 = pushed
+ boolean right_button = 0; // on/off variable for right button, 1 = pushed
+ boolean old_left_button = 0; // on/off variable for left button from the previous cycle
+ boolean old_right_button = 0; // on/off variable for right button from the previous cycle
+ boolean button_change = 0; // Shows when the left or right buttons have changed, 1 = change
+ volatile int8_t x_count = 0; // left/right movement. 8 bit signed. Volatile because used in ISR
+ volatile int8_t y_count = 0; // up or down movement. 8 bit signed. Volatile because used in ISR
+ boolean x_A; // holds the state of pin 3
+ boolean x_A_Last; // holds the previous state of pin 3
+ boolean y_A; // holds the state of pin 5
+ boolean y_A_Last; // holds the previous state of pin 5
+ boolean mouse_on = 1; // high when mouse is turned on, low when turned off
+ boolean speed0 = 1; // result of reading pin 0
+ boolean speed1 = 1; // result of reading pin 1
+ int8_t count_by = 1; // value to add or substract from x & y counters (1, 2, or 3 depending on SPEED_PIN0 & 1)
+//
+// USB Interrupt Service Routine (ISR) Activates every 24msec when timer1 ticks
+void sendUSB(void) {
+// send the x and y data back to the host via usb if either counter is non-zero.
+// if the mouse is turned off, the counters can't increment so they will both be zero.
+ if ((x_count != 0x00) || (y_count != 0x00)) {
+ Mouse.move(x_count,y_count);
+ x_count = 0; // clear the x and y counters
+ y_count = 0;
+ }
+// read the touchpad left and right buttons
+ if (!digitalRead(MOUSE_PIN7)) { // check if right button is low (low = pushed)
+ right_button = 1; // save state of button
+ }
+ else { // clear right button
+ right_button = 0; // save state of button
+ }
+ if (!digitalRead(MOUSE_PIN8)) { // check if left button is low (low = pushed)
+ left_button = 1; // save state of button
+ }
+ else { // clear left button
+ left_button = 0; // save state of button
+ }
+// Determine if the left or right mouse buttons have changed (using XOR) since the last cycle
+ button_change = (left_button ^ old_left_button) | (right_button ^ old_right_button);
+// Don't send button status if there's no change since last time or if the mouse is turned off.
+ if (button_change && mouse_on){
+ Mouse.set_buttons(left_button, 0, right_button); // send button status over USB
+ }
+ old_left_button = left_button; // remember button status for the next cycle
+ old_right_button = right_button;
+}
+// *****************Setup the timer and input pins***********************************************
+void setup() {
+ Timer1.initialize(24000); // 24msec timer
+ Timer1.attachInterrupt(sendUSB); // sendUSB function will run every 24 milliseconds
+ pinMode(SPEED_PIN0, INPUT_PULLUP); // both speed controls are inputs with pullups
+ pinMode(SPEED_PIN1, INPUT_PULLUP); // if left floating, both will be 1's to give count_by 1
+ pinMode(MOUSE_PIN3, INPUT); // teensy I/O 3 is an input for left/right signal A
+ pinMode(MOUSE_PIN4, INPUT); // teensy I/O 4 is an input for left/right signal B
+ pinMode(MOUSE_PIN5, INPUT); // teensy I/O 5 is an input for up/down signal A
+ pinMode(MOUSE_PIN6, INPUT); // teensy I/O 6 is an input for up/down signal B
+ pinMode(MOUSE_PIN7, INPUT); // teensy I/O 7 is an input for right mouse button
+ pinMode(MOUSE_PIN8, INPUT); // teensy I/O 8 is an input for left mouse button
+ x_A_Last = digitalRead(MOUSE_PIN3); // save logic state of pin 3
+ y_A_Last = digitalRead(MOUSE_PIN5); // save logic state of pin 5
+}
+// *********Main Loop constantly watches for activity on pins 3 and 5 plus status on pins 0 & 1*********
+void loop() {
+// adjust the x counter if pin 3 changes (i.e. has an up or down edge)
+ x_A = digitalRead(MOUSE_PIN3); // Read the current state of pin 3
+ if (x_A != x_A_Last){ // If pin 3 is different than the previous pin 3, an edge has occured.
+ noInterrupts(); // disable the timer interrupt while modifying the x counter
+ if (digitalRead(MOUSE_PIN4) != x_A) { // see if pin 4 equals pin 3
+ x_count = x_count + count_by; // pin 3 is ahead of pin 4 so move the cursor to the right by increasing the counter
+ }
+ else {
+ x_count = x_count - count_by; // pin 3 is behind pin 4 so move the cursor to the left by decreasing the counter
+ }
+ interrupts(); // enable the timer interrupt
+ }
+ x_A_Last = x_A; // save the state of pin 3 for the next loop
+// adjust the y counter if pin 5 has an up or down edge
+ y_A = digitalRead(MOUSE_PIN5); // Reads the current state of pin 5
+ if (y_A != y_A_Last){ // If pin 5 is different than the previous pin 5, an edge has occured.
+ noInterrupts(); // disable the timer interrupt while modifying the y counter
+ if (digitalRead(MOUSE_PIN6) != y_A) { // see if pin 6 equals pin 5
+ y_count = y_count + count_by; // pin 5 is ahead of pin 6 so move the cursor down by increasing the counter
+ }
+ else {
+ y_count = y_count - count_by; // pin 5 is behind pin 6 so move the cursor up by decreasing the counter
+ }
+ interrupts(); // enable the timer interrupt
+ }
+ y_A_Last = y_A; // save the state of pin 5 for the next loop
+// Read speed pins 0 & 1 to adjust count and on/off control
+ speed0 = digitalRead(SPEED_PIN0);
+ speed1 = digitalRead(SPEED_PIN1);
+ if (speed0 && speed1) { // this is the high & high case
+ count_by = 1; // slow speed movement
+ mouse_on = 1; // turn mouse on
+ }
+ else if (!speed0 && speed1) { // this is the low & high case
+ count_by = 2; // middle speed movement
+ mouse_on = 1; // turn mouse on
+ }
+ else if (speed0 && !speed1){ // this is the high & low case
+ count_by = 3; // high speed movement
+ mouse_on = 1; // turn mouse on
+ }
+ else { // this is the low & low case
+ count_by = 0; // no movement
+ mouse_on = 0; // turn mouse off
+ }
+}
diff --git a/Example_Keyboards/IBM T43 Files/IBM T43 Keyboard.pdf b/Example_Keyboards/IBM T43 Files/IBM T43 Keyboard.pdf
new file mode 100644
index 0000000..3d8a56b
Binary files /dev/null and b/Example_Keyboards/IBM T43 Files/IBM T43 Keyboard.pdf differ
diff --git a/Example_Keyboards/IBM T43 Files/IBM_T43_KBandTP.ino b/Example_Keyboards/IBM T43 Files/IBM_T43_KBandTP.ino
new file mode 100644
index 0000000..57ab2d0
--- /dev/null
+++ b/Example_Keyboards/IBM T43 Files/IBM_T43_KBandTP.ino
@@ -0,0 +1,809 @@
+/* Copyright 2020 Frank Adams
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+ http://www.apache.org/licenses/LICENSE-2.0
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+// This software controls a IBM ThinkPad T43 Laptop Keyboard and PS/2 Trackpoint using a Teensy 3.2 on
+// a daughterboard with a 40 pin connector.
+// This routine uses the Teensyduino "Micro-Manager Method" to send Normal and Modifier
+// keys over USB. Only the volume control multi-media keys are supported by this routine.
+// Description of Teensyduino keyboard functions is at www.pjrc.com/teensy/td_keyboard.html
+// The ps/2 code uses the USB PJRC Mouse functions at www.pjrc.com/teensy/td_mouse.html
+// The ps/2 code has a watchdog timer so the code can't hang if a clock edge is missed.
+// In the Arduino IDE, select Tools, Teensy LC. Also under Tools, select Keyboard+Mouse+Joystick
+//
+// Revision History
+// Rev 1.0 - March 23, 2020 - Original Release
+// Rev 1.1 - March 24, 2020 - Added Num pad keys
+//
+// Trackpoint signals
+#define TP_DATA 18 // ps/2 data to trackpoint
+#define TP_CLK 19 // ps/2 clock to trackpoint
+#define TP_RESET 0 // active high trackpoint reset at power up
+// Keyboard LEDs
+#define CAPS_LED 28 // Wire these 3 I/O's to the anode side of LED's
+#define NUM_LED 29 // Wire the cathode side thru a dropping resistor
+#define SCRL_LED 30 // to ground.
+#define BLINK_LED 13 // The LED on the Teensy is programmed to blink
+// Keyboard Fn key (aka HOTKEY)
+#define HOTKEY 8 // Fn key plus side
+#define HOTKEY_RTN 23 // Fn key minus side (always driven low in this routine)
+// sync signal for measuring scan frequency
+#define SYNC 27
+// Set the keyboard row & column size
+const byte rows_max = 16; // sets the number of rows in the matrix
+const byte cols_max = 8; // sets the number of columns in the matrix
+//
+// Load the normal key matrix with the Teensyduino key names described at www.pjrc.com/teensy/td_keyboard.html
+// A zero indicates no normal key at that location.
+int normal[rows_max][cols_max] = {
+ {0,0,0,0,0,0,0,0},
+ {0,0,KEY_PRINTSCREEN,KEY_SCROLL_LOCK,0,0,0,0},
+ {0,0,0,0,0,0,0,0},
+ {KEY_LEFT,KEY_PAUSE,KEY_END,0,0,KEY_HOME,KEY_UP,0},
+ {0,KEY_Z,KEY_1,KEY_Q,KEY_TAB,KEY_TILDE,KEY_ESC,KEY_A},
+ {0,0,KEY_PAGE_DOWN,0,0,KEY_PAGE_UP,0,0},
+ {KEY_RIGHT,0,KEY_F12,0,0,KEY_INSERT,0,0},
+ {KEY_DOWN,0,KEY_F11,0,0,KEY_DELETE,0,0},
+ {KEY_SLASH,0,KEY_0,KEY_P,KEY_LEFT_BRACE,KEY_MINUS,KEY_QUOTE,KEY_SEMICOLON},
+ {0,KEY_C,KEY_3,KEY_E,KEY_F3,KEY_F2,KEY_F4,KEY_D},
+ {0,KEY_PERIOD,KEY_9,KEY_O,KEY_F7,KEY_F8,0,KEY_L},
+ {KEY_B,KEY_V,KEY_4,KEY_R,KEY_T,KEY_5,KEY_G,KEY_F},
+ {0,KEY_X,KEY_2,KEY_W,KEY_CAPS_LOCK,KEY_F1,0,KEY_S},
+ {KEY_SPACE,KEY_ENTER,KEY_F10,0,KEY_BACKSPACE,KEY_F9,KEY_F5,KEY_BACKSLASH},
+ {0,KEY_COMMA,KEY_8,KEY_I,KEY_RIGHT_BRACE,KEY_EQUAL,KEY_F6,KEY_K},
+ {KEY_N,KEY_M,KEY_7,KEY_U,KEY_Y,KEY_6,KEY_H,KEY_J}
+};
+// Load the num lock key matrix which is the same as the normal matrix except for the number pad keys
+// A zero indicates no key at that location.
+int numlock[rows_max][cols_max] = {
+ {0,0,0,0,0,0,0,0},
+ {0,0,KEY_PRINTSCREEN,KEY_SCROLL_LOCK,0,0,0,0},
+ {0,0,0,0,0,0,0,0},
+ {KEY_LEFT,KEY_PAUSE,KEY_END,0,0,KEY_HOME,KEY_UP,0},
+ {0,KEY_Z,KEY_1,KEY_Q,KEY_TAB,KEY_TILDE,KEY_ESC,KEY_A},
+ {0,0,KEY_PAGE_DOWN,0,0,KEY_PAGE_UP,0,0},
+ {KEY_RIGHT,0,KEY_F12,0,0,KEY_INSERT,0,0},
+ {KEY_DOWN,0,KEY_F11,0,0,KEY_DELETE,KEY_MENU,0},
+ {KEYPAD_PLUS,0,KEYPAD_SLASH,KEYPAD_ASTERIX,KEY_LEFT_BRACE,KEY_MINUS,KEY_QUOTE,KEYPAD_MINUS},
+ {0,KEY_C,KEY_3,KEY_E,KEY_F3,KEY_F2,KEY_F4,KEY_D},
+ {0,KEYPAD_PERIOD,KEYPAD_9,KEYPAD_6,KEY_F7,KEY_F8,0,KEYPAD_3},
+ {KEY_B,KEY_V,KEY_4,KEY_R,KEY_T,KEY_5,KEY_G,KEY_F},
+ {0,KEY_X,KEY_2,KEY_W,KEY_CAPS_LOCK,KEY_F1,0,KEY_S},
+ {KEY_SPACE,KEY_ENTER,KEY_F10,0,KEY_BACKSPACE,KEY_F9,KEY_F5,KEY_BACKSLASH},
+ {0,KEY_COMMA,KEYPAD_8,KEYPAD_5,KEY_RIGHT_BRACE,KEY_EQUAL,KEY_F6,KEYPAD_2},
+ {KEY_N,KEYPAD_0,KEYPAD_7,KEYPAD_4,KEY_Y,KEY_6,KEY_H,KEYPAD_1}
+};
+// Load the modifier key matrix with key names at the correct row-column location.
+// A zero indicates no modifier key at that location.
+int modifier[rows_max][cols_max] = {
+ {0,MODIFIERKEY_RIGHT_CTRL,0,0,0,MODIFIERKEY_LEFT_CTRL,0,0},
+ {MODIFIERKEY_RIGHT_ALT,0,0,0,0,0,MODIFIERKEY_LEFT_ALT,0},
+ {0,MODIFIERKEY_RIGHT_SHIFT,0,0,MODIFIERKEY_LEFT_SHIFT,0,0,0},
+ {0,0,0,0,0,0,0,0},
+ {0,0,0,0,0,0,0,0},
+ {0,0,0,0,0,0,0,0},
+ {0,0,0,0,0,0,0,0},
+ {0,0,0,0,0,0,MODIFIERKEY_GUI,0},
+ {0,0,0,0,0,0,0,0},
+ {0,0,0,0,0,0,0,0},
+ {0,0,0,0,0,0,0,0},
+ {0,0,0,0,0,0,0,0},
+ {0,0,0,0,0,0,0,0},
+ {0,0,0,0,0,0,0,0},
+ {0,0,0,0,0,0,0,0},
+ {0,0,0,0,0,0,0,0}
+};
+// Load the media key matrix with key names at the correct row-column location.
+// A zero indicates no media key at that location.
+int media[rows_max][cols_max] = {
+ {0,0,0,0,0,0,0,0},
+ {0,0,0,0,0,0,0,0},
+ {0,0,0,0,0,0,0,0},
+ {0,0,0,0,0,0,0,0},
+ {0,0,0,0,0,0,0,0},
+ {0,0,0,0,0,0,0,0},
+ {0,0,0,0,0,0,0,0},
+ {0,0,0,KEY_MEDIA_VOLUME_INC,KEY_MEDIA_VOLUME_DEC,0,0,KEY_MEDIA_MUTE},
+ {0,0,0,0,0,0,0,0},
+ {0,0,0,0,0,0,0,0},
+ {0,0,0,0,0,0,0,0},
+ {0,0,0,0,0,0,0,0},
+ {0,0,0,0,0,0,0,0},
+ {0,0,0,0,0,0,0,0},
+ {0,0,0,0,0,0,0,0},
+ {0,0,0,0,0,0,0,0}
+};
+// Initialize the old_key matrix with one's.
+// 1 = key not pressed, 0 = key is pressed
+boolean old_key[rows_max][cols_max] = {
+ {1,1,1,1,1,1,1,1},
+ {1,1,1,1,1,1,1,1},
+ {1,1,1,1,1,1,1,1},
+ {1,1,1,1,1,1,1,1},
+ {1,1,1,1,1,1,1,1},
+ {1,1,1,1,1,1,1,1},
+ {1,1,1,1,1,1,1,1},
+ {1,1,1,1,1,1,1,1},
+ {1,1,1,1,1,1,1,1},
+ {1,1,1,1,1,1,1,1},
+ {1,1,1,1,1,1,1,1},
+ {1,1,1,1,1,1,1,1},
+ {1,1,1,1,1,1,1,1},
+ {1,1,1,1,1,1,1,1},
+ {1,1,1,1,1,1,1,1},
+ {1,1,1,1,1,1,1,1}
+};
+//
+// Define the Teensy 3.2 I/O numbers
+//
+// Row FPC pin #
+// Teensy I/O # 22,01,21,02,20,03,04,05,06,24,07,25,33,26,32,31
+int Row_IO[rows_max] = {22,1,21,2,20,3,4,5,6,24,7,25,33,26,32,31}; // Teensy 3.2 I/O numbers for rows
+//
+// Column FPC pin #
+// Teensy I/O # 14,15,16,12,11,10,09,17
+int Col_IO[cols_max] = {14,15,16,12,11,10,9,17}; // Teensy 3.2 I/O numbers for columns
+//
+// Declare variables that will be used by functions
+boolean trackpoint_error = LOW; // sent high when track point routine times out
+boolean slots_full = LOW; // Goes high when slots 1 thru 6 contain normal keys
+// slot 1 thru slot 6 hold the normal key values to be sent over USB.
+int slot1 = 0; //value of 0 means the slot is empty and can be used.
+int slot2 = 0;
+int slot3 = 0;
+int slot4 = 0;
+int slot5 = 0;
+int slot6 = 0;
+//
+int mod_shift_l = 0; // These variables are sent over USB as modifier keys.
+int mod_shift_r = 0; // Each is either set to 0 or MODIFIER_ ...
+int mod_ctrl_l = 0;
+int mod_ctrl_r = 0;
+int mod_alt_l = 0;
+int mod_alt_r = 0;
+int mod_gui = 0;
+//
+// **************Functions common to keyboard and trackpoint**************************
+//
+// Function to set a pin to high impedance (acts like open drain output)
+void go_z(int pin)
+{
+ pinMode(pin, INPUT);
+ digitalWrite(pin, HIGH);
+}
+//
+// Function to set a pin as an input with a pullup
+void go_pu(int pin)
+{
+ pinMode(pin, INPUT_PULLUP);
+ digitalWrite(pin, HIGH);
+}
+//
+// Function to send a pin to a logic low
+void go_0(int pin)
+{
+ pinMode(pin, OUTPUT);
+ digitalWrite(pin, LOW);
+}
+//
+// Function to send a pin to a logic high
+void go_1(int pin)
+{
+ pinMode(pin, OUTPUT);
+ digitalWrite(pin, HIGH);
+}
+//
+// *****************Functions for Trackpoint***************************
+//
+// Function to send the trackpoint a byte of data (command)
+//
+void tp_write(char send_data)
+{
+ unsigned int timeout = 200; // breakout of loop if over this value in msec
+ elapsedMillis watchdog; // zero the watchdog timer clock
+ char odd_parity = 0; // clear parity bit count
+// Enable the bus by floating the clock and data
+ go_z(TP_CLK); //
+ go_z(TP_DATA); //
+ delayMicroseconds(250); // wait before requesting the bus
+ go_0(TP_CLK); // Send the Clock line low to request to transmit data
+ delayMicroseconds(100); // wait for 100 microseconds per bus spec
+ go_0(TP_DATA); // Send the Data line low (the start bit)
+ delayMicroseconds(1); //
+ go_z(TP_CLK); // Release the Clock line so it is pulled high
+ delayMicroseconds(1); // give some time to let the clock line go high
+ while (digitalRead(TP_CLK) == HIGH) { // loop until the clock goes low
+ if (watchdog >= timeout) { //check for infinite loop
+ trackpoint_error = HIGH; // set error flag
+ break; // break out of infinite loop
+ }
+ }
+// send the 8 bits of send_data
+ for (int j=0; j<8; j++) {
+ if (send_data & 1) { //check if lsb is set
+ go_z(TP_DATA); // send a 1 to TP
+ odd_parity = odd_parity + 1; // keep running total of 1's sent
+ }
+ else {
+ go_0(TP_DATA); // send a 0 to TP
+ }
+ delayMicroseconds(1); // delay to let the clock settle out
+ while (digitalRead(TP_CLK) == LOW) { // loop until the clock goes high
+ if (watchdog >= timeout) { //check for infinite loop
+ trackpoint_error = HIGH; // set error flag
+ break; // break out of infinite loop
+ }
+ }
+ delayMicroseconds(1); // delay to let the clock settle out
+ while (digitalRead(TP_CLK) == HIGH) { // loop until the clock goes low
+ if (watchdog >= timeout) { //check for infinite loop
+ trackpoint_error = HIGH; // set error flag
+ break; // break out of infinite loop
+ }
+ }
+ send_data = send_data >> 1; // shift data right by 1 to prepare for next loop
+ }
+// send the parity bit
+ if (odd_parity & 1) { //check if lsb of parity is set
+ go_0(TP_DATA); // already odd so send a 0 to TP
+ }
+ else {
+ go_z(TP_DATA); // send a 1 to TP to make parity odd
+ }
+ delayMicroseconds(1); // delay to let the clock settle out
+ while (digitalRead(TP_CLK) == LOW) { // loop until the clock goes high
+ if (watchdog >= timeout) { //check for infinite loop
+ trackpoint_error = HIGH; // set error flag
+ break; // break out of infinite loop
+ }
+ }
+ delayMicroseconds(1); // delay to let the clock settle out
+ while (digitalRead(TP_CLK) == HIGH) { // loop until the clock goes low
+ if (watchdog >= timeout) { //check for infinite loop
+ trackpoint_error = HIGH; // set error flag
+ break; // break out of infinite loop
+ }
+ }
+ go_z(TP_DATA); // Release the Data line so it goes high as the stop bit
+ delayMicroseconds(80); // testing shows delay at least 40us
+ while (digitalRead(TP_CLK) == HIGH) { // loop until the clock goes low
+ if (watchdog >= timeout) { //check for infinite loop
+ trackpoint_error = HIGH; // set error flag
+ break; // break out of infinite loop
+ }
+ }
+ delayMicroseconds(1); // wait to let the data settle
+ if (digitalRead(TP_DATA)) { // Ack bit s/b low if good transfer
+ trackpoint_error = HIGH; //bad ack bit so set the error flag
+ }
+ while ((digitalRead(TP_CLK) == LOW) || (digitalRead(TP_DATA) == LOW)) { // loop if clock or data are low
+ if (watchdog >= timeout) { //check for infinite loop
+ trackpoint_error = HIGH; // set error flag
+ break; // break out of infinite loop
+ }
+ }
+// Inhibit the bus so the tp only talks when we're listening
+ go_0(TP_CLK);
+}
+//
+// Function to get a byte of data from the trackpoint
+//
+char tp_read(void)
+{
+ unsigned int timeout = 200; // breakout of loop if over this value in msec
+ elapsedMillis watchdog; // zero the watchdog timer clock
+ char rcv_data = 0; // initialize to zero
+ char mask = 1; // shift a 1 across the 8 bits to select where to load the data
+ char rcv_parity = 0; // count the ones received
+ go_z(TP_CLK); // release the clock
+ go_z(TP_DATA); // release the data
+ delayMicroseconds(5); // delay to let clock go high
+ while (digitalRead(TP_CLK) == HIGH) { // loop until the clock goes low
+ if (watchdog >= timeout) { //check for infinite loop
+ trackpoint_error = HIGH; // set error flag
+ break; // break out of infinite loop
+ }
+ }
+ if (digitalRead(TP_DATA)) { // Start bit s/b low from tp
+ trackpoint_error = HIGH; // No start bit so set the error flag
+ }
+ delayMicroseconds(1); // delay to let the clock settle out
+ while (digitalRead(TP_CLK) == LOW) { // loop until the clock goes high
+ if (watchdog >= timeout) { //check for infinite loop
+ trackpoint_error = HIGH; // set error flag
+ break; // break out of infinite loop
+ }
+ }
+ for (int k=0; k<8; k++) {
+ delayMicroseconds(1); // delay to let the clock settle out
+ while (digitalRead(TP_CLK) == HIGH) { // loop until the clock goes low
+ if (watchdog >= timeout) { //check for infinite loop
+ trackpoint_error = HIGH; // set error flag
+ break; // break out of infinite loop
+ }
+ }
+ if (digitalRead(TP_DATA)) { // check if data is high
+ rcv_data = rcv_data | mask; // set the appropriate bit in the rcv data
+ rcv_parity++; // increment the parity bit counter
+ }
+ mask = mask << 1;
+ delayMicroseconds(1); // delay to let the clock settle out
+ while (digitalRead(TP_CLK) == LOW) { // loop until the clock goes high
+ if (watchdog >= timeout) { //check for infinite loop
+ trackpoint_error = HIGH; // set error flag
+ break; // break out of infinite loop
+ }
+ }
+ }
+// receive parity
+ delayMicroseconds(1); // delay to let the clock settle out
+ while (digitalRead(TP_CLK) == HIGH) { // loop until the clock goes low
+ if (watchdog >= timeout) { //check for infinite loop
+ trackpoint_error = HIGH; // set error flag
+ break; // break out of infinite loop
+ }
+ }
+ if (digitalRead(TP_DATA)) { // check if received parity is high
+ rcv_parity++; // increment the parity bit counter
+ }
+ rcv_parity = rcv_parity & 1; // mask off all bits except the lsb
+ if (rcv_parity == 0) { // check for bad (even) parity
+ trackpoint_error = HIGH; //bad parity so set the error flag
+ }
+ delayMicroseconds(1); // delay to let the clock settle out
+ while (digitalRead(TP_CLK) == LOW) { // loop until the clock goes high
+ if (watchdog >= timeout) { //check for infinite loop
+ trackpoint_error = HIGH; // set error flag
+ break; // break out of infinite loop
+ }
+ }
+// stop bit
+ delayMicroseconds(1); // delay to let the clock settle out
+ while (digitalRead(TP_CLK) == HIGH) { // loop until the clock goes low
+ if (watchdog >= timeout) { //check for infinite loop
+ trackpoint_error = HIGH; // set error flag
+ break; // break out of infinite loop
+ }
+ }
+ if (digitalRead(TP_DATA) == LOW) { // check if stop bit is bad (low)
+ trackpoint_error = HIGH; //bad stop bit so set the error flag
+ }
+ delayMicroseconds(1); // delay to let the clock settle out
+ while (digitalRead(TP_CLK) == LOW) { // loop until the clock goes high
+ if (watchdog >= timeout) { //check for infinite loop
+ trackpoint_error = HIGH; // set error flag
+ break; // break out of infinite loop
+ }
+ }
+// Inhibit the bus so the tp only talks when we're listening
+ go_0(TP_CLK);
+ return rcv_data; // pass the received data back
+}
+//
+void trackpoint_init()
+{
+ trackpoint_error = LOW; // start with no error
+ go_z(TP_CLK); // float the clock and data to trackpoint
+ go_z(TP_DATA);
+ // Trackpoint Reset signal is active high. Start it off low to let power stabilize
+ go_0(TP_RESET); // drive low
+ delay(1000); // wait 1 second
+ go_1(TP_RESET); // drive High to activate Reset signal to trackpoint
+ delay(1000); // wait 1 second to give it a good long reset
+ go_0(TP_RESET); // drive Reset back to the inactive (low) state
+ delay(1000); // wait 1 second before proceeding so trackpoint is ready
+ // Sending reset command to trackpoint
+ tp_write(0xff);
+ if (tp_read() != 0xfa) { // verify correct ack byte
+ trackpoint_error = HIGH;
+ }
+ delayMicroseconds(100); // give the tp time to run its self diagnostic
+ // verify proper response from tp
+ if (tp_read() != 0xaa) { // verify basic assurance test passed
+ trackpoint_error = HIGH;
+ }
+ if (tp_read() != 0x00) { // verify correct device id
+ trackpoint_error = HIGH;
+ }
+ // Sending remote mode code so the trackpoint will send data only when polled
+ tp_write(0xf0); // remote mode
+ if (tp_read() != 0xfa) { // verify correct ack byte
+ trackpoint_error = HIGH;
+ }
+ if (trackpoint_error == HIGH) { // check for any errors from tp
+ delayMicroseconds(300); // wait before trying to initialize tp one last time
+ tp_write(0xff); // send tp reset code
+ tp_read(); // read but don't look at response from tp
+ // Read ack byte
+ tp_read(); // read but don't look at response from tp
+ tp_read(); // read but don't look at response from tp
+ // Sending remote mode code so the trackpoint will send data only when polled
+ tp_write(0xf0); // remote mode
+ tp_read(); // read but don't look at response from tp
+ delayMicroseconds(100);
+ }
+}
+//
+// *****************Functions for Keyboard*****************************
+// Function to load the key name into the first available slot
+void load_slot(int key) {
+ if (!slot1) {
+ slot1 = key;
+ }
+ else if (!slot2) {
+ slot2 = key;
+ }
+ else if (!slot3) {
+ slot3 = key;
+ }
+ else if (!slot4) {
+ slot4 = key;
+ }
+ else if (!slot5) {
+ slot5 = key;
+ }
+ else if (!slot6) {
+ slot6 = key;
+ }
+ if (!slot1 || !slot2 || !slot3 || !slot4 || !slot5 || !slot6) {
+ slots_full = LOW; // slots are not full
+ }
+ else {
+ slots_full = HIGH; // slots are full
+ }
+}
+//
+// Function to clear the slot that contains the key name
+void clear_slot(int key) {
+ if (slot1 == key) {
+ slot1 = 0;
+ }
+ else if (slot2 == key) {
+ slot2 = 0;
+ }
+ else if (slot3 == key) {
+ slot3 = 0;
+ }
+ else if (slot4 == key) {
+ slot4 = 0;
+ }
+ else if (slot5 == key) {
+ slot5 = 0;
+ }
+ else if (slot6 == key) {
+ slot6 = 0;
+ }
+ if (!slot1 || !slot2 || !slot3 || !slot4 || !slot5 || !slot6) {
+ slots_full = LOW; // slots are not full
+ }
+ else {
+ slots_full = HIGH; // slots are full
+ }
+}
+//
+// Function to load the modifier key name into the appropriate mod variable
+void load_mod(int m_key) {
+ if (m_key == MODIFIERKEY_LEFT_SHIFT) {
+ mod_shift_l = m_key;
+ }
+ else if (m_key == MODIFIERKEY_RIGHT_SHIFT) {
+ mod_shift_r = m_key;
+ }
+ else if (m_key == MODIFIERKEY_LEFT_CTRL) {
+ mod_ctrl_l = m_key;
+ }
+ else if (m_key == MODIFIERKEY_RIGHT_CTRL) {
+ mod_ctrl_r = m_key;
+ }
+ else if (m_key == MODIFIERKEY_LEFT_ALT) {
+ mod_alt_l = m_key;
+ }
+ else if (m_key == MODIFIERKEY_RIGHT_ALT) {
+ mod_alt_r = m_key;
+ }
+ else if (m_key == MODIFIERKEY_GUI) {
+ mod_gui = m_key;
+ }
+}
+//
+// Function to load 0 into the appropriate mod variable
+void clear_mod(int m_key) {
+ if (m_key == MODIFIERKEY_LEFT_SHIFT) {
+ mod_shift_l = 0;
+ }
+ else if (m_key == MODIFIERKEY_RIGHT_SHIFT) {
+ mod_shift_r = 0;
+ }
+ else if (m_key == MODIFIERKEY_LEFT_CTRL) {
+ mod_ctrl_l = 0;
+ }
+ else if (m_key == MODIFIERKEY_RIGHT_CTRL) {
+ mod_ctrl_r = 0;
+ }
+ else if (m_key == MODIFIERKEY_LEFT_ALT) {
+ mod_alt_l = 0;
+ }
+ else if (m_key == MODIFIERKEY_RIGHT_ALT) {
+ mod_alt_r = 0;
+ }
+ else if (m_key == MODIFIERKEY_GUI) {
+ mod_gui = 0;
+ }
+}
+//
+// Function to send the modifier keys over usb
+void send_mod() {
+ Keyboard.set_modifier(mod_shift_l | mod_shift_r | mod_ctrl_l | mod_ctrl_r | mod_alt_l | mod_alt_r | mod_gui);
+ Keyboard.send_now();
+}
+//
+// Function to send the normal keys in the 6 slots over usb
+void send_normals() {
+ Keyboard.set_key1(slot1);
+ Keyboard.set_key2(slot2);
+ Keyboard.set_key3(slot3);
+ Keyboard.set_key4(slot4);
+ Keyboard.set_key5(slot5);
+ Keyboard.set_key6(slot6);
+ Keyboard.send_now();
+}
+//
+//************************************Setup*******************************************
+void setup() {
+// ************trackpoint setup
+ trackpoint_init(); // reset trackpoint, then set it's resolution and put it in remote mode
+ if (trackpoint_error) {
+ trackpoint_init(); // try one more time to initialize the trackpoint
+ }
+// ************keyboard setup
+ for (int a = 0; a < cols_max; a++) { // loop thru all column pins
+ go_pu(Col_IO[a]); // set each column pin as an input with a pullup
+ }
+//
+ for (int b = 0; b < rows_max; b++) { // loop thru all row pins
+ go_z(Row_IO[b]); // set each row pin as a floating output
+ }
+//
+ go_0(HOTKEY_RTN); // Always drive the Hotkey return side low
+ go_pu(HOTKEY); // Pull up the Hotkey plus side for reading
+//
+ pinMode(BLINK_LED, OUTPUT); // I/O 13 drives the LED on the Teensy
+ pinMode(SYNC, OUTPUT); // I/O 27 drives a scope for frequency measurement
+
+}
+//
+// *******declare and initialize trackpoint variables
+char mstat; // trackpoint status reg = Y overflow, X overflow, Y sign bit, X sign bit, Always 1, Middle Btn, Right Btn, Left Btn
+char mx; // trackpoint x movement = 8 data bits. The sign bit is in the status register to
+ // make a 9 bit 2's complement value. Left to right on the trackpoint gives a positive value.
+char my; // trackpoint y movement also 8 bits plus sign. trackpoint movement away from the user gives a positive value.
+boolean over_flow; // set if x or y movement values are bad due to overflow
+boolean left_button = 0; // on/off variable for left button = bit 0 of mstat
+boolean right_button = 0; // on/off variable for right button = bit 1 of mstat
+boolean middle_button = 0; // on/off variable for middle button = bit 2 of mstat
+boolean old_left_button = 0; // on/off variable for left button status the previous polling cycle
+boolean old_right_button = 0; // on/off variable for right button status the previous polling cycle
+boolean old_middle_button = 0; // on/off variable for middle button status the previous polling cycle
+boolean button_change = 0; // Active high, shows when any trackpoint button has changed since last polling cycle
+// **********declare and initialize keyboard variables
+boolean Fn_pressed = HIGH; // Initialize Fn key to HIGH = "not pressed"
+extern volatile uint8_t keyboard_leds; // 8 bits sent from Host to Teensy that give keyboard LED status.
+char blink_count = 0; // Blink loop counter
+boolean blinky = LOW; // Blink LED state
+boolean sync_sig = LOW; // sync pulse to measure scan frequency
+//
+//*********************************Main Loop*******************************************
+//
+void loop() {
+// *************Keyboard Main**************
+// Read the Fn key (aka Hotkey) which is not part of the key matrix
+ if (!digitalRead(HOTKEY)) {
+ Fn_pressed = LOW; // Fn key is pressed (active low)
+ }
+ else {
+ Fn_pressed = HIGH; // Fn key is not pressed
+ }
+//
+// Scan keyboard matrix with an outer loop that drives each row low and an inner loop that reads every column (with pull ups).
+// The routine looks at each key's present state (by reading the column input pin) and also the previous state from the last scan
+// that was 30msec ago. The status of a key that was just pressed or just released is sent over USB and the state is saved in the old_key matrix.
+// The keyboard keys will read as logic low if they are pressed (negative logic).
+// The old_key matrix also uses negative logic (low=pressed).
+//
+ for (int x = 0; x < rows_max; x++) { // loop thru the rows
+ go_0(Row_IO[x]); // Activate Row (send it low)
+ delayMicroseconds(10); // give the row time to go low and settle out
+ for (int y = 0; y < cols_max; y++) { // loop thru the columns
+// **********Modifier keys
+ if (modifier[x][y] != 0) { // check if modifier key exists at this location in the array (a non-zero value)
+ if (!digitalRead(Col_IO[y]) && (old_key[x][y])) { // Read column to see if key is low (pressed) and was previously not pressed
+ load_mod(modifier[x][y]); // function reads which modifier key is pressed and loads it into the appropriate mod_... variable
+ send_mod(); // function sends the state of all modifier keys over usb including the one that just got pressed
+ old_key[x][y] = LOW; // Save state of key as "pressed"
+ }
+ else if (digitalRead(Col_IO[y]) && (!old_key[x][y])) { //check if key is not pressed and was previously pressed
+ clear_mod(modifier[x][y]); // function reads which modifier key was released and loads 0 into the appropriate mod_... variable
+ send_mod(); // function sends all mod's over usb including the one that just released
+ old_key[x][y] = HIGH; // Save state of key as "not pressed"
+ }
+ }
+// ***********end of modifier section
+//
+// ***********Normal keys section
+ else if (normal[x][y] != 0) { // check if normal key exists at this location in the array (a non-zero value)
+ if (!digitalRead(Col_IO[y]) && (old_key[x][y]) && (!slots_full)) { // check if key pressed and not previously pressed and slots not full
+ old_key[x][y] = LOW; // Save state of key as "pressed"
+ if ((normal[x][y] == KEY_SCROLL_LOCK) && (!Fn_pressed)) { // check for special case of Num Lock Key
+ load_slot(KEY_NUM_LOCK); // update first available slot with Num Lock instead of Scroll Lock
+ send_normals(); // send all slots over USB including the Num Lock Key that just got pressed
+ }
+ else if (keyboard_leds & 1) { // test if Num Lock is turned on
+ load_slot(numlock[x][y]); //update first available slot with key name from numlock matrix
+ send_normals(); // send all slots over USB including the key that just got pressed
+ }
+ else {
+ load_slot(normal[x][y]); //update first available slot with normal key name
+ send_normals(); // send all slots over USB including the key that just got pressed
+ }
+ }
+ else if (digitalRead(Col_IO[y]) && (!old_key[x][y])) { //check if key is not pressed, but was previously pressed
+ old_key[x][y] = HIGH; // Save state of key as "not pressed"
+ if ((normal[x][y] == KEY_SCROLL_LOCK) && (!Fn_pressed)) { // check for special case of Num Lock Key
+ clear_slot(KEY_NUM_LOCK); // clear the slot that contains Num Lock
+ send_normals(); // send all slots over USB including the Num Lock key
+ }
+ else if (keyboard_leds & 1) { // test if Num Lock is turned on
+ clear_slot(numlock[x][y]); //clear slot with key name from numlock matrix
+ send_normals(); // send all slots over USB including the key that just got released
+ }
+ else {
+ clear_slot(normal[x][y]); //clear the slot that contains the normal key name
+ send_normals(); // send all slots over USB including the key that was just released
+ }
+ }
+ }
+// **************end of normal section
+//
+// *************Volume key section. Note PJRC states that volume up, down, & mute should be sent with Keyboard.press function.
+ else if (media[x][y] != 0) { // check if any volume control key exists at this location in the array (a non-zero value)
+ if (!digitalRead(Col_IO[y]) && (old_key[x][y])) { // check if key is pressed and was not previously pressed
+ old_key[x][y] = LOW; // Save state of key as "pressed"
+ Keyboard.press(media[x][y]); // send volume key press
+ }
+ else if (digitalRead(Col_IO[y]) && (!old_key[x][y])) { //check if key is not pressed, but was previously pressed
+ old_key[x][y] = HIGH; // Save state of key as "not pressed"
+ Keyboard.release(media[x][y]); // send volume key release
+ }
+ }
+// ***************end of volume section
+ }
+ go_z(Row_IO[x]); // De-activate Row (send it to hi-z)
+ }
+//
+// **********keyboard scan complete
+//
+// ****************************Trackpoint Routine*********************************
+//
+// poll the trackpoint for new movement data
+ over_flow = 0; // assume no overflow until status is received
+ trackpoint_error = LOW; // start with no error
+ tp_write(0xeb); // request data
+ if (tp_read() != 0xfa) { // verify correct ack byte
+ trackpoint_error = HIGH;
+ }
+ mstat = tp_read(); // save into status variable
+ mx = tp_read(); // save into x variable
+ my = tp_read(); // save into y variable
+ if (((0x80 & mstat) == 0x80) || ((0x40 & mstat) == 0x40)) { // x or y overflow bits set?
+ over_flow = 1; // set the overflow flag
+ }
+// change the x data from 9 bit to 8 bit 2's complement
+ mx = mx >> 1; // convert to 7 bits of data by dividing by 2
+ mx = mx & 0x7f; // don't allow sign extension
+ if ((0x10 & mstat) == 0x10) { // move the sign into
+ mx = 0x80 | mx; // the 8th bit position
+ }
+// change the y data from 9 bit to 8 bit 2's complement and then take the 2's complement
+// because y movement on ps/2 format is opposite of touchpad.move function
+ my = my >> 1; // convert to 7 bits of data by dividing by 2
+ my = my & 0x7f; // don't allow sign extension
+ if ((0x20 & mstat) == 0x20) { // move the sign into
+ my = 0x80 | my; // the 8th bit position
+ }
+ my = (~my + 0x01); // change the sign of y data by taking the 2's complement (invert and add 1)
+// zero out mx and my if over_flow or trackpoint_error is set
+ if ((over_flow) || (trackpoint_error)) {
+ mx = 0x00; // data is garbage so zero it out
+ my = 0x00;
+ }
+// send the x and y data back via usb if either one is non-zero
+ if ((mx != 0x00) || (my != 0x00)) {
+ Mouse.move(mx,my);
+ }
+//
+// send the trackpoint left and right button status over usb if no error
+ if (!trackpoint_error) {
+ if ((0x01 & mstat) == 0x01) { // if left button set
+ left_button = 1;
+ }
+ else { // clear left button
+ left_button = 0;
+ }
+ if ((0x02 & mstat) == 0x02) { // if right button set
+ right_button = 1;
+ }
+ else { // clear right button
+ right_button = 0;
+ }
+ if ((0x04 & mstat) == 0x04) { // if middle button set
+ middle_button = 1;
+ }
+ else { // clear middle button
+ middle_button = 0;
+ }
+// Determine if any buttons have changed since last polling cycle
+ button_change = ((left_button ^ old_left_button) | (right_button ^ old_right_button) | (middle_button ^ old_middle_button));
+// Don't send button status if there's no change since last time.
+ if (button_change) {
+ Mouse.set_buttons(left_button, middle_button, right_button); // send button status
+ }
+ old_left_button = left_button; // remember new button status for next polling cycle
+ old_right_button = right_button;
+ old_middle_button = middle_button;
+ }
+// **************************************End of trackpoint routine***********************************
+//
+// *******keyboard LEDs
+// Turn on or off the LEDs for Num Lock, Caps Lock, and Scroll Lock based on bit 0, 1, and 2 from the keyboard_leds
+// variable controlled by the USB host computer
+//
+ if (keyboard_leds & 1) { // mask off all bits but D0 and test if set
+ go_1(NUM_LED); // turn on the Num Lock LED
+ }
+ else {
+ go_0(NUM_LED); // turn off the Num Lock LED
+ }
+//
+//
+ if (keyboard_leds & 1<<1) { // mask off all bits but D1 and test if set
+ go_1(CAPS_LED); // turn on the Caps Lock LED
+ }
+ else {
+ go_0(CAPS_LED); // turn off the Caps Lock LED
+ }
+//
+//
+ if (keyboard_leds & 1<<2) { // mask off all bits but D2 and test if set
+ go_1(SCRL_LED); // turn on the Scroll Lock LED
+ }
+ else {
+ go_0(SCRL_LED); // turn off the Scroll Lock LED
+ }
+//
+// Blink LED on Teensy to show a heart beat
+//
+ if (blink_count == 0x17) {
+ digitalWrite(BLINK_LED, blinky);
+ blinky = !blinky;
+ blink_count = 0;
+ }
+ else {
+ blink_count = blink_count + 1;
+ }
+//
+// Provide a sync pulse to measure the scan frequency
+//
+ sync_sig = !sync_sig; // toggle the sync signal
+ digitalWrite(SYNC, sync_sig);
+//
+// ****************End of main loop
+//
+ delay(24); // The overall keyboard/trackpoint scanning rate was measured at 30ms
+}
diff --git a/Example_Keyboards/IBM T43 Files/T43.kicad_pcb b/Example_Keyboards/IBM T43 Files/T43.kicad_pcb
new file mode 100644
index 0000000..4c9ddba
--- /dev/null
+++ b/Example_Keyboards/IBM T43 Files/T43.kicad_pcb
@@ -0,0 +1,3071 @@
+(kicad_pcb (version 20171130) (host pcbnew 5.1.2)
+
+ (general
+ (thickness 1.6)
+ (drawings 135)
+ (tracks 279)
+ (zones 0)
+ (modules 16)
+ (nets 1)
+ )
+
+ (page A4)
+ (layers
+ (0 Top signal hide)
+ (31 Bottom signal)
+ (32 B.Adhes user)
+ (33 F.Adhes user)
+ (34 B.Paste user)
+ (35 F.Paste user)
+ (36 B.SilkS user)
+ (37 F.SilkS user)
+ (38 B.Mask user)
+ (39 F.Mask user)
+ (40 Dwgs.User user)
+ (41 Cmts.User user)
+ (42 Eco1.User user)
+ (43 Eco2.User user)
+ (44 Edge.Cuts user)
+ (45 Margin user)
+ (46 B.CrtYd user)
+ (47 F.CrtYd user)
+ (48 B.Fab user)
+ (49 F.Fab user)
+ )
+
+ (setup
+ (last_trace_width 0.25)
+ (user_trace_width 0.1524)
+ (user_trace_width 1)
+ (trace_clearance 0.1524)
+ (zone_clearance 0.508)
+ (zone_45_only no)
+ (trace_min 0.1524)
+ (via_size 0.8)
+ (via_drill 0.4)
+ (via_min_size 0.4)
+ (via_min_drill 0.3)
+ (uvia_size 0.3)
+ (uvia_drill 0.1)
+ (uvias_allowed no)
+ (uvia_min_size 0.2)
+ (uvia_min_drill 0.1)
+ (edge_width 0.05)
+ (segment_width 0.2)
+ (pcb_text_width 0.3)
+ (pcb_text_size 1.5 1.5)
+ (mod_edge_width 0.12)
+ (mod_text_size 1 1)
+ (mod_text_width 0.15)
+ (pad_size 0.5 2.4)
+ (pad_drill 0)
+ (pad_to_mask_clearance 0.051)
+ (solder_mask_min_width 0.25)
+ (aux_axis_origin 0 0)
+ (visible_elements 7FFFFFFF)
+ (pcbplotparams
+ (layerselection 0x010fc_ffffffff)
+ (usegerberextensions false)
+ (usegerberattributes false)
+ (usegerberadvancedattributes false)
+ (creategerberjobfile false)
+ (excludeedgelayer true)
+ (linewidth 0.100000)
+ (plotframeref false)
+ (viasonmask false)
+ (mode 1)
+ (useauxorigin false)
+ (hpglpennumber 1)
+ (hpglpenspeed 20)
+ (hpglpendiameter 15.000000)
+ (psnegative false)
+ (psa4output false)
+ (plotreference true)
+ (plotvalue true)
+ (plotinvisibletext false)
+ (padsonsilk false)
+ (subtractmaskfromsilk false)
+ (outputformat 1)
+ (mirror false)
+ (drillshape 1)
+ (scaleselection 1)
+ (outputdirectory ""))
+ )
+
+ (net 0 "")
+
+ (net_class Default "This is the default net class."
+ (clearance 0.1524)
+ (trace_width 0.25)
+ (via_dia 0.8)
+ (via_drill 0.4)
+ (uvia_dia 0.3)
+ (uvia_drill 0.1)
+ )
+
+ (module "" (layer Top) (tedit 0) (tstamp 0)
+ (at 108.125 82.525)
+ (fp_text reference "" (at 139.85 97.15) (layer F.SilkS)
+ (effects (font (size 1.27 1.27) (thickness 0.15)))
+ )
+ (fp_text value "" (at 139.85 97.15) (layer F.SilkS)
+ (effects (font (size 1.27 1.27) (thickness 0.15)))
+ )
+ )
+
+ (module "" (layer Top) (tedit 0) (tstamp 0)
+ (at 139.85 97.15)
+ (fp_text reference "" (at 135.3 87.7) (layer F.SilkS)
+ (effects (font (size 1.27 1.27) (thickness 0.15)))
+ )
+ (fp_text value "" (at 135.3 87.7) (layer F.SilkS)
+ (effects (font (size 1.27 1.27) (thickness 0.15)))
+ )
+ )
+
+ (module Connector_JAE:KX14-40K5DE (layer Top) (tedit 5E61921D) (tstamp 5E61BFE6)
+ (at 135.3 87.7 270)
+ (fp_text reference REF** (at 4.275 2.625 90) (layer F.SilkS) hide
+ (effects (font (size 1 1) (thickness 0.15)))
+ )
+ (fp_text value KX14-40K5DE (at 7.8 -2.55 90) (layer F.SilkS)
+ (effects (font (size 1 1) (thickness 0.15)))
+ )
+ (pad 2 smd rect (at 15.2 -5.1 270) (size 0.5 2.4) (layers Top F.Paste F.Mask))
+ (pad 4 smd rect (at 14.4 -5.1 270) (size 0.5 2.4) (layers Top F.Paste F.Mask))
+ (pad 6 smd rect (at 13.6 -5.1 270) (size 0.5 2.4) (layers Top F.Paste F.Mask))
+ (pad 8 smd rect (at 12.8 -5.1 270) (size 0.5 2.4) (layers Top F.Paste F.Mask))
+ (pad 10 smd rect (at 12 -5.1 270) (size 0.5 2.4) (layers Top F.Paste F.Mask))
+ (pad 12 smd rect (at 11.2 -5.1 270) (size 0.5 2.4) (layers Top F.Paste F.Mask))
+ (pad 14 smd rect (at 10.4 -5.1 270) (size 0.5 2.4) (layers Top F.Paste F.Mask))
+ (pad 16 smd rect (at 9.6 -5.1 270) (size 0.5 2.4) (layers Top F.Paste F.Mask))
+ (pad 18 smd rect (at 8.8 -5.1 270) (size 0.5 2.4) (layers Top F.Paste F.Mask))
+ (pad 20 smd rect (at 8 -5.1 270) (size 0.5 2.4) (layers Top F.Paste F.Mask))
+ (pad 22 smd rect (at 7.2 -5.1 270) (size 0.5 2.4) (layers Top F.Paste F.Mask))
+ (pad 24 smd rect (at 6.4 -5.1 270) (size 0.5 2.4) (layers Top F.Paste F.Mask))
+ (pad 26 smd rect (at 5.6 -5.1 270) (size 0.5 2.4) (layers Top F.Paste F.Mask))
+ (pad 28 smd rect (at 4.8 -5.1 270) (size 0.5 2.4) (layers Top F.Paste F.Mask))
+ (pad 30 smd rect (at 4 -5.1 270) (size 0.5 2.4) (layers Top F.Paste F.Mask))
+ (pad 32 smd rect (at 3.2 -5.1 270) (size 0.5 2.4) (layers Top F.Paste F.Mask))
+ (pad 34 smd rect (at 2.4 -5.1 270) (size 0.5 2.4) (layers Top F.Paste F.Mask))
+ (pad 36 smd rect (at 1.6 -5.1 270) (size 0.5 2.4) (layers Top F.Paste F.Mask))
+ (pad 38 smd rect (at 0.8 -5.1 270) (size 0.5 2.4) (layers Top F.Paste F.Mask))
+ (pad 40 smd rect (at 0 -5.1 270) (size 0.5 2.4) (layers Top F.Paste F.Mask))
+ (pad 44 smd rect (at 19.75 -2.55 270) (size 2.5 2.7) (layers Top F.Paste F.Mask))
+ (pad 43 smd rect (at -4.5 -2.55 270) (size 2.5 2.7) (layers Top F.Paste F.Mask))
+ (pad 42 thru_hole circle (at 15.95 -2.55 270) (size 0.7 0.7) (drill 0.7) (layers *.Cu *.Mask))
+ (pad 41 thru_hole circle (at -0.75 -2.55 270) (size 0.7 0.7) (drill 0.7) (layers *.Cu *.Mask))
+ (pad 1 smd rect (at 15.2 0 270) (size 0.5 2.4) (layers Top F.Paste F.Mask))
+ (pad 3 smd rect (at 14.4 0 270) (size 0.5 2.4) (layers Top F.Paste F.Mask))
+ (pad 5 smd rect (at 13.6 0 270) (size 0.5 2.4) (layers Top F.Paste F.Mask))
+ (pad 7 smd rect (at 12.8 0 270) (size 0.5 2.4) (layers Top F.Paste F.Mask))
+ (pad 9 smd rect (at 12 0 270) (size 0.5 2.4) (layers Top F.Paste F.Mask))
+ (pad 11 smd rect (at 11.2 0 270) (size 0.5 2.4) (layers Top F.Paste F.Mask))
+ (pad 13 smd rect (at 10.4 0 270) (size 0.5 2.4) (layers Top F.Paste F.Mask))
+ (pad 15 smd rect (at 9.6 0 270) (size 0.5 2.4) (layers Top F.Paste F.Mask))
+ (pad 17 smd rect (at 8.8 0 270) (size 0.5 2.4) (layers Top F.Paste F.Mask))
+ (pad 19 smd rect (at 8 0 270) (size 0.5 2.4) (layers Top F.Paste F.Mask))
+ (pad 21 smd rect (at 7.2 0 270) (size 0.5 2.4) (layers Top F.Paste F.Mask))
+ (pad 23 smd rect (at 6.4 0 270) (size 0.5 2.4) (layers Top F.Paste F.Mask))
+ (pad 25 smd rect (at 5.6 0 270) (size 0.5 2.4) (layers Top F.Paste F.Mask))
+ (pad 27 smd rect (at 4.8 0 270) (size 0.5 2.4) (layers Top F.Paste F.Mask))
+ (pad 29 smd rect (at 4 0 270) (size 0.5 2.4) (layers Top F.Paste F.Mask))
+ (pad 31 smd rect (at 3.2 0 270) (size 0.5 2.4) (layers Top F.Paste F.Mask))
+ (pad 33 smd rect (at 2.4 0 270) (size 0.5 2.4) (layers Top F.Paste F.Mask))
+ (pad 35 smd rect (at 1.6 0 270) (size 0.5 2.4) (layers Top F.Paste F.Mask))
+ (pad 37 smd rect (at 0.8 0 270) (size 0.5 2.4) (layers Top F.Paste F.Mask))
+ (pad 39 smd rect (at 0 0 270) (size 0.5 2.4) (layers Top F.Paste F.Mask))
+ )
+
+ (module "" (layer Top) (tedit 0) (tstamp 0)
+ (at 170.2011 83.3036)
+ (fp_text reference @HOLE0 (at -2.5011 -0.8536) (layer F.SilkS) hide
+ (effects (font (size 1.27 1.27) (thickness 0.15)))
+ )
+ (fp_text value "" (at 0 0) (layer F.SilkS)
+ (effects (font (size 1.27 1.27) (thickness 0.15)))
+ )
+ (pad "" np_thru_hole circle (at 0 0) (size 2.8 2.8) (drill 2.8) (layers *.Cu *.Mask))
+ )
+
+ (module "" (layer Top) (tedit 0) (tstamp 0)
+ (at 126.9011 83.3036)
+ (fp_text reference @HOLE1 (at 2.9989 -0.0536) (layer F.SilkS) hide
+ (effects (font (size 1.27 1.27) (thickness 0.15)))
+ )
+ (fp_text value "" (at 0 0) (layer F.SilkS)
+ (effects (font (size 1.27 1.27) (thickness 0.15)))
+ )
+ (pad "" np_thru_hole circle (at 0 0) (size 2.8 2.8) (drill 2.8) (layers *.Cu *.Mask))
+ )
+
+ (module "" (layer Top) (tedit 0) (tstamp 0)
+ (at 126.9011 126.6036)
+ (fp_text reference @HOLE2 (at 1.4989 -2.3036) (layer F.SilkS) hide
+ (effects (font (size 1.27 1.27) (thickness 0.15)))
+ )
+ (fp_text value "" (at 0 0) (layer F.SilkS)
+ (effects (font (size 1.27 1.27) (thickness 0.15)))
+ )
+ (pad "" np_thru_hole circle (at 0 0) (size 2.8 2.8) (drill 2.8) (layers *.Cu *.Mask))
+ )
+
+ (module "" (layer Top) (tedit 0) (tstamp 0)
+ (at 170.2011 126.6036)
+ (fp_text reference @HOLE3 (at -0.6511 -2.8536) (layer F.SilkS) hide
+ (effects (font (size 1.27 1.27) (thickness 0.15)))
+ )
+ (fp_text value "" (at 0 0) (layer F.SilkS)
+ (effects (font (size 1.27 1.27) (thickness 0.15)))
+ )
+ (pad "" np_thru_hole circle (at 0 0) (size 2.8 2.8) (drill 2.8) (layers *.Cu *.Mask))
+ )
+
+ (module Lenovo_Scanner:TEENSY_3P2MIN (layer Top) (tedit 0) (tstamp 5E6162BD)
+ (at 157.0011 99.9036 270)
+ (fp_text reference E$1 (at 0 0 270) (layer F.SilkS) hide
+ (effects (font (size 1.27 1.27) (thickness 0.15)) (justify right top))
+ )
+ (fp_text value "" (at 0 0 270) (layer F.SilkS) hide
+ (effects (font (size 1.27 1.27) (thickness 0.15)) (justify right top))
+ )
+ (fp_line (start -14.605 -6.35) (end -8.89 -6.35) (layer F.SilkS) (width 0.3048))
+ (fp_line (start -14.605 1.27) (end -8.89 1.27) (layer F.SilkS) (width 0.3048))
+ (fp_line (start -12.065 -7.62) (end -13.335 -7.62) (layer F.SilkS) (width 0.127))
+ (fp_line (start -12.065 -6.35) (end -12.065 -7.62) (layer F.SilkS) (width 0.127))
+ (fp_line (start -13.335 -6.35) (end -13.335 -7.62) (layer F.SilkS) (width 0.127))
+ (fp_line (start -12.065 2.54) (end -13.335 2.54) (layer F.SilkS) (width 0.127))
+ (fp_line (start -12.065 1.27) (end -12.065 2.54) (layer F.SilkS) (width 0.127))
+ (fp_line (start -9.430743 0.493615) (end -8.89 -0.3175) (layer F.SilkS) (width 0.127))
+ (fp_arc (start -9.69492 0.317498) (end -9.694921 0.635) (angle -56.310402) (layer F.SilkS) (width 0.127))
+ (fp_line (start -10.16 0.635) (end -9.694921 0.635) (layer F.SilkS) (width 0.127))
+ (fp_line (start -10.16 -1.27) (end -10.16 0.635) (layer F.SilkS) (width 0.127))
+ (fp_line (start -8.89 -1.27) (end -10.16 -1.27) (layer F.SilkS) (width 0.127))
+ (fp_line (start -9.430743 -5.573615) (end -8.89 -4.7625) (layer F.SilkS) (width 0.127))
+ (fp_arc (start -9.69492 -5.397498) (end -9.694921 -5.715) (angle 56.310402) (layer F.SilkS) (width 0.127))
+ (fp_line (start -10.16 -5.715) (end -9.694921 -5.715) (layer F.SilkS) (width 0.127))
+ (fp_line (start -10.16 -3.81) (end -10.16 -5.715) (layer F.SilkS) (width 0.127))
+ (fp_line (start -8.89 -3.81) (end -10.16 -3.81) (layer F.SilkS) (width 0.127))
+ (fp_line (start -13.335 -0.635) (end -13.335 0.635) (layer F.SilkS) (width 0.127))
+ (fp_line (start -13.335 -5.715) (end -13.335 -4.445) (layer F.SilkS) (width 0.127))
+ (fp_line (start -11.7475 -0.635) (end -13.335 -0.635) (layer F.SilkS) (width 0.127))
+ (fp_arc (start -11.7475 -0.3175) (end -11.43 -0.3175) (angle -90) (layer F.SilkS) (width 0.127))
+ (fp_line (start -11.43 0.3175) (end -11.43 -0.3175) (layer F.SilkS) (width 0.127))
+ (fp_arc (start -11.7475 0.3175) (end -11.7475 0.635) (angle -90) (layer F.SilkS) (width 0.127))
+ (fp_line (start -13.335 0.635) (end -11.7475 0.635) (layer F.SilkS) (width 0.127))
+ (fp_line (start -11.7475 -4.445) (end -13.335 -4.445) (layer F.SilkS) (width 0.127))
+ (fp_arc (start -11.7475 -4.7625) (end -11.43 -4.7625) (angle 90) (layer F.SilkS) (width 0.127))
+ (fp_line (start -11.43 -5.3975) (end -11.43 -4.7625) (layer F.SilkS) (width 0.127))
+ (fp_arc (start -11.7475 -5.3975) (end -11.7475 -5.715) (angle 90) (layer F.SilkS) (width 0.127))
+ (fp_line (start -13.335 -5.715) (end -11.7475 -5.715) (layer F.SilkS) (width 0.127))
+ (fp_line (start -13.335 1.27) (end -13.335 2.54) (layer F.SilkS) (width 0.127))
+ (fp_line (start -7.62 0.635) (end -8.89 0.635) (layer F.SilkS) (width 0.127))
+ (fp_line (start -7.62 -0.635) (end -7.62 0.635) (layer F.SilkS) (width 0.127))
+ (fp_line (start -8.89 -0.635) (end -7.62 -0.635) (layer F.SilkS) (width 0.127))
+ (fp_line (start -7.62 -5.715) (end -8.89 -5.715) (layer F.SilkS) (width 0.127))
+ (fp_line (start -7.62 -4.445) (end -7.62 -5.715) (layer F.SilkS) (width 0.127))
+ (fp_line (start -8.89 -4.445) (end -7.62 -4.445) (layer F.SilkS) (width 0.127))
+ (fp_line (start -8.89 -1.27) (end -7.62 -1.27) (layer F.SilkS) (width 0.127))
+ (fp_line (start -8.89 -1.905) (end -7.62 -1.905) (layer F.SilkS) (width 0.127))
+ (fp_line (start -8.89 -3.81) (end -7.62 -3.81) (layer F.SilkS) (width 0.127))
+ (fp_line (start -8.89 -3.175) (end -7.62 -3.175) (layer F.SilkS) (width 0.127))
+ (fp_line (start -8.89 -2.54) (end -7.62 -2.54) (layer F.SilkS) (width 0.127))
+ (fp_line (start -8.89 -5.715) (end -8.89 -6.35) (layer F.SilkS) (width 0.3048))
+ (fp_line (start -8.89 -4.7625) (end -8.89 -5.715) (layer F.SilkS) (width 0.3048))
+ (fp_line (start -8.89 -4.445) (end -8.89 -4.7625) (layer F.SilkS) (width 0.3048))
+ (fp_line (start -8.89 -3.81) (end -8.89 -4.445) (layer F.SilkS) (width 0.3048))
+ (fp_line (start -8.89 -3.175) (end -8.89 -3.81) (layer F.SilkS) (width 0.3048))
+ (fp_line (start -8.89 -2.54) (end -8.89 -3.175) (layer F.SilkS) (width 0.3048))
+ (fp_line (start -8.89 -1.905) (end -8.89 -2.54) (layer F.SilkS) (width 0.3048))
+ (fp_line (start -8.89 -1.27) (end -8.89 -1.905) (layer F.SilkS) (width 0.3048))
+ (fp_line (start -8.89 -0.635) (end -8.89 -1.27) (layer F.SilkS) (width 0.3048))
+ (fp_line (start -8.89 -0.3175) (end -8.89 -0.635) (layer F.SilkS) (width 0.3048))
+ (fp_line (start -8.89 0.635) (end -8.89 -0.3175) (layer F.SilkS) (width 0.3048))
+ (fp_line (start -8.89 1.27) (end -8.89 0.635) (layer F.SilkS) (width 0.3048))
+ (fp_line (start -14.605 -6.35) (end -14.605 1.27) (layer F.SilkS) (width 0.3048))
+ (fp_text user "TEENSY 3.2" (at 5.6964 0.9761 270) (layer F.SilkS)
+ (effects (font (size 1.2065 1.2065) (thickness 0.1016)) (justify left bottom))
+ )
+ (fp_line (start -13.97 6.35) (end -13.97 1.27) (layer F.SilkS) (width 0.3048))
+ (fp_line (start -13.97 -11.43) (end -13.97 -6.35) (layer F.SilkS) (width 0.3048))
+ (fp_line (start 21.59 -11.43) (end 21.59 6.35) (layer F.SilkS) (width 0.3048))
+ (fp_line (start 21.59 6.35) (end -13.97 6.35) (layer F.SilkS) (width 0.3048))
+ (fp_line (start -13.97 -11.43) (end 21.59 -11.43) (layer F.SilkS) (width 0.3048))
+ (pad GND2 thru_hole circle (at 20.32 -2.54 90) (size 1.4732 1.4732) (drill 0.9652) (layers *.Cu *.Mask)
+ (solder_mask_margin 0.1016))
+ (pad PGM thru_hole circle (at 20.32 -5.08 90) (size 1.4732 1.4732) (drill 0.9652) (layers *.Cu *.Mask)
+ (solder_mask_margin 0.1016))
+ (pad 24 thru_hole circle (at 7.62 -2.54 90) (size 1.4732 1.4732) (drill 0.9652) (layers *.Cu *.Mask)
+ (solder_mask_margin 0.1016))
+ (pad 25 thru_hole circle (at 10.16 -2.54 90) (size 1.4732 1.4732) (drill 0.9652) (layers *.Cu *.Mask)
+ (solder_mask_margin 0.1016))
+ (pad 26 thru_hole circle (at 12.7 -2.54 90) (size 1.4732 1.4732) (drill 0.9652) (layers *.Cu *.Mask)
+ (solder_mask_margin 0.1016))
+ (pad 27 thru_hole circle (at 15.24 -2.54 90) (size 1.4732 1.4732) (drill 0.9652) (layers *.Cu *.Mask)
+ (solder_mask_margin 0.1016))
+ (pad 28 thru_hole circle (at 17.78 -2.54 90) (size 1.4732 1.4732) (drill 0.9652) (layers *.Cu *.Mask)
+ (solder_mask_margin 0.1016))
+ (pad 33 thru_hole circle (at 7.62 -5.08 90) (size 1.4732 1.4732) (drill 0.9652) (layers *.Cu *.Mask)
+ (solder_mask_margin 0.1016))
+ (pad 32 thru_hole circle (at 10.16 -5.08 90) (size 1.4732 1.4732) (drill 0.9652) (layers *.Cu *.Mask)
+ (solder_mask_margin 0.1016))
+ (pad 31 thru_hole circle (at 12.7 -5.08 90) (size 1.4732 1.4732) (drill 0.9652) (layers *.Cu *.Mask)
+ (solder_mask_margin 0.1016))
+ (pad 30 thru_hole circle (at 15.24 -5.08 90) (size 1.4732 1.4732) (drill 0.9652) (layers *.Cu *.Mask)
+ (solder_mask_margin 0.1016))
+ (pad 29 thru_hole circle (at 17.78 -5.08 90) (size 1.4732 1.4732) (drill 0.9652) (layers *.Cu *.Mask)
+ (solder_mask_margin 0.1016))
+ (pad VIN thru_hole circle (at -12.7 -10.16 270) (size 1.4732 1.4732) (drill 0.9652) (layers *.Cu *.Mask)
+ (solder_mask_margin 0.1016))
+ (pad GND1 thru_hole circle (at -12.7 5.08 270) (size 1.4732 1.4732) (drill 0.9652) (layers *.Cu *.Mask)
+ (solder_mask_margin 0.1016))
+ (pad AGND thru_hole circle (at -10.16 -10.16 270) (size 1.4732 1.4732) (drill 0.9652) (layers *.Cu *.Mask)
+ (solder_mask_margin 0.1016))
+ (pad 3V1 thru_hole circle (at -7.62 -10.16 270) (size 1.4732 1.4732) (drill 0.9652) (layers *.Cu *.Mask)
+ (solder_mask_margin 0.1016))
+ (pad 0 thru_hole circle (at -10.16 5.08 270) (size 1.4732 1.4732) (drill 0.9652) (layers *.Cu *.Mask)
+ (solder_mask_margin 0.1016))
+ (pad 23 thru_hole circle (at -5.08 -10.16 270) (size 1.4732 1.4732) (drill 0.9652) (layers *.Cu *.Mask)
+ (solder_mask_margin 0.1016))
+ (pad 22 thru_hole circle (at -2.54 -10.16 270) (size 1.4732 1.4732) (drill 0.9652) (layers *.Cu *.Mask)
+ (solder_mask_margin 0.1016))
+ (pad 21 thru_hole circle (at 0 -10.16 270) (size 1.4732 1.4732) (drill 0.9652) (layers *.Cu *.Mask)
+ (solder_mask_margin 0.1016))
+ (pad 20 thru_hole circle (at 2.54 -10.16 270) (size 1.4732 1.4732) (drill 0.9652) (layers *.Cu *.Mask)
+ (solder_mask_margin 0.1016))
+ (pad 19 thru_hole circle (at 5.08 -10.16 270) (size 1.4732 1.4732) (drill 0.9652) (layers *.Cu *.Mask)
+ (solder_mask_margin 0.1016))
+ (pad 18 thru_hole circle (at 7.62 -10.16 270) (size 1.4732 1.4732) (drill 0.9652) (layers *.Cu *.Mask)
+ (solder_mask_margin 0.1016))
+ (pad 17 thru_hole circle (at 10.16 -10.16 270) (size 1.4732 1.4732) (drill 0.9652) (layers *.Cu *.Mask)
+ (solder_mask_margin 0.1016))
+ (pad 16 thru_hole circle (at 12.7 -10.16 270) (size 1.4732 1.4732) (drill 0.9652) (layers *.Cu *.Mask)
+ (solder_mask_margin 0.1016))
+ (pad 15 thru_hole circle (at 15.24 -10.16 270) (size 1.4732 1.4732) (drill 0.9652) (layers *.Cu *.Mask)
+ (solder_mask_margin 0.1016))
+ (pad 14 thru_hole circle (at 17.78 -10.16 270) (size 1.4732 1.4732) (drill 0.9652) (layers *.Cu *.Mask)
+ (solder_mask_margin 0.1016))
+ (pad 13 thru_hole circle (at 20.32 -10.16 270) (size 1.4732 1.4732) (drill 0.9652) (layers *.Cu *.Mask)
+ (solder_mask_margin 0.1016))
+ (pad 12 thru_hole circle (at 20.32 5.08 270) (size 1.4732 1.4732) (drill 0.9652) (layers *.Cu *.Mask)
+ (solder_mask_margin 0.1016))
+ (pad 11 thru_hole circle (at 17.78 5.08 270) (size 1.4732 1.4732) (drill 0.9652) (layers *.Cu *.Mask)
+ (solder_mask_margin 0.1016))
+ (pad 10 thru_hole circle (at 15.24 5.08 270) (size 1.4732 1.4732) (drill 0.9652) (layers *.Cu *.Mask)
+ (solder_mask_margin 0.1016))
+ (pad 9 thru_hole circle (at 12.7 5.08 270) (size 1.4732 1.4732) (drill 0.9652) (layers *.Cu *.Mask)
+ (solder_mask_margin 0.1016))
+ (pad 8 thru_hole circle (at 10.16 5.08 270) (size 1.4732 1.4732) (drill 0.9652) (layers *.Cu *.Mask)
+ (solder_mask_margin 0.1016))
+ (pad 7 thru_hole circle (at 7.62 5.08 270) (size 1.4732 1.4732) (drill 0.9652) (layers *.Cu *.Mask)
+ (solder_mask_margin 0.1016))
+ (pad 6 thru_hole circle (at 5.08 5.08 270) (size 1.4732 1.4732) (drill 0.9652) (layers *.Cu *.Mask)
+ (solder_mask_margin 0.1016))
+ (pad 5 thru_hole circle (at 2.54 5.08 270) (size 1.4732 1.4732) (drill 0.9652) (layers *.Cu *.Mask)
+ (solder_mask_margin 0.1016))
+ (pad 4 thru_hole circle (at 0 5.08 270) (size 1.4732 1.4732) (drill 0.9652) (layers *.Cu *.Mask)
+ (solder_mask_margin 0.1016))
+ (pad 3 thru_hole circle (at -2.54 5.08 270) (size 1.4732 1.4732) (drill 0.9652) (layers *.Cu *.Mask)
+ (solder_mask_margin 0.1016))
+ (pad 2 thru_hole circle (at -5.08 5.08 270) (size 1.4732 1.4732) (drill 0.9652) (layers *.Cu *.Mask)
+ (solder_mask_margin 0.1016))
+ (pad 1 thru_hole circle (at -7.62 5.08 270) (size 1.4732 1.4732) (drill 0.9652) (layers *.Cu *.Mask)
+ (solder_mask_margin 0.1016))
+ )
+
+ (module Lenovo_Scanner:1X01 (layer Top) (tedit 0) (tstamp 5E616324)
+ (at 126.0011 113.6436)
+ (descr "Plated Through Hole
\nSpecifications:\n
- Pin count:1
\n- Pin pitch:0.1\"
\n
\nExample device(s):\n
")
+ (fp_text reference E$3 (at -1.27 -1.397) (layer F.SilkS) hide
+ (effects (font (size 0.57912 0.57912) (thickness 0.115824)) (justify left bottom))
+ )
+ (fp_text value "" (at -1.27 1.524) (layer F.Fab)
+ (effects (font (size 0.57912 0.57912) (thickness 0.115824)) (justify left bottom))
+ )
+ (fp_poly (pts (xy -0.254 0.254) (xy 0.254 0.254) (xy 0.254 -0.254) (xy -0.254 -0.254)) (layer F.Fab) (width 0))
+ (fp_line (start 1.27 0.635) (end 1.27 -0.635) (layer F.SilkS) (width 0.2032))
+ (fp_line (start 0.635 1.27) (end 1.27 0.635) (layer F.SilkS) (width 0.2032))
+ (fp_line (start -0.635 1.27) (end 0.635 1.27) (layer F.SilkS) (width 0.2032))
+ (fp_line (start -1.27 0.635) (end -0.635 1.27) (layer F.SilkS) (width 0.2032))
+ (fp_line (start -1.27 -0.635) (end -1.27 0.635) (layer F.SilkS) (width 0.2032))
+ (fp_line (start -0.635 -1.27) (end -1.27 -0.635) (layer F.SilkS) (width 0.2032))
+ (fp_line (start 0.635 -1.27) (end -0.635 -1.27) (layer F.SilkS) (width 0.2032))
+ (fp_line (start 1.27 -0.635) (end 0.635 -1.27) (layer F.SilkS) (width 0.2032))
+ (pad 1 thru_hole circle (at 0 0 90) (size 1.8796 1.8796) (drill 1.016) (layers *.Cu *.Mask)
+ (solder_mask_margin 0.1016))
+ )
+
+ (module Lenovo_Scanner:1X02 (layer Top) (tedit 0) (tstamp 5E616331)
+ (at 171.1011 107.5036 90)
+ (descr "Plated Through Hole
\nSpecifications:\n
- Pin count:2
\n- Pin pitch:0.1\"
\n
\nExample device(s):\n
")
+ (fp_text reference E$8 (at -1.27 -1.397 90) (layer F.SilkS) hide
+ (effects (font (size 0.57912 0.57912) (thickness 0.115824)) (justify left bottom))
+ )
+ (fp_text value "" (at -1.27 2.032 90) (layer F.Fab)
+ (effects (font (size 0.57912 0.57912) (thickness 0.115824)) (justify left bottom))
+ )
+ (fp_poly (pts (xy -0.254 0.254) (xy 0.254 0.254) (xy 0.254 -0.254) (xy -0.254 -0.254)) (layer F.Fab) (width 0))
+ (fp_poly (pts (xy 2.286 0.254) (xy 2.794 0.254) (xy 2.794 -0.254) (xy 2.286 -0.254)) (layer F.Fab) (width 0))
+ (fp_line (start 3.81 -0.635) (end 3.81 0.635) (layer F.SilkS) (width 0.2032))
+ (fp_line (start 0.635 1.27) (end -0.635 1.27) (layer F.SilkS) (width 0.2032))
+ (fp_line (start -1.27 0.635) (end -0.635 1.27) (layer F.SilkS) (width 0.2032))
+ (fp_line (start -0.635 -1.27) (end -1.27 -0.635) (layer F.SilkS) (width 0.2032))
+ (fp_line (start -1.27 -0.635) (end -1.27 0.635) (layer F.SilkS) (width 0.2032))
+ (fp_line (start 1.905 1.27) (end 1.27 0.635) (layer F.SilkS) (width 0.2032))
+ (fp_line (start 3.175 1.27) (end 1.905 1.27) (layer F.SilkS) (width 0.2032))
+ (fp_line (start 3.81 0.635) (end 3.175 1.27) (layer F.SilkS) (width 0.2032))
+ (fp_line (start 3.175 -1.27) (end 3.81 -0.635) (layer F.SilkS) (width 0.2032))
+ (fp_line (start 1.905 -1.27) (end 3.175 -1.27) (layer F.SilkS) (width 0.2032))
+ (fp_line (start 1.27 -0.635) (end 1.905 -1.27) (layer F.SilkS) (width 0.2032))
+ (fp_line (start 1.27 0.635) (end 0.635 1.27) (layer F.SilkS) (width 0.2032))
+ (fp_line (start 0.635 -1.27) (end 1.27 -0.635) (layer F.SilkS) (width 0.2032))
+ (fp_line (start -0.635 -1.27) (end 0.635 -1.27) (layer F.SilkS) (width 0.2032))
+ (pad 2 thru_hole circle (at 2.54 0 180) (size 1.8796 1.8796) (drill 1.016) (layers *.Cu *.Mask)
+ (solder_mask_margin 0.1016))
+ (pad 1 thru_hole circle (at 0 0 180) (size 1.8796 1.8796) (drill 1.016) (layers *.Cu *.Mask)
+ (solder_mask_margin 0.1016))
+ )
+
+ (module Lenovo_Scanner:1X02 (layer Top) (tedit 0) (tstamp 5E616346)
+ (at 171.1011 120.2036 90)
+ (descr "Plated Through Hole
\nSpecifications:\n
- Pin count:2
\n- Pin pitch:0.1\"
\n
\nExample device(s):\n
")
+ (fp_text reference E$7 (at -1.27 -1.397 90) (layer F.SilkS) hide
+ (effects (font (size 0.57912 0.57912) (thickness 0.115824)) (justify left bottom))
+ )
+ (fp_text value "" (at -1.27 2.032 90) (layer F.Fab)
+ (effects (font (size 0.57912 0.57912) (thickness 0.115824)) (justify left bottom))
+ )
+ (fp_poly (pts (xy -0.254 0.254) (xy 0.254 0.254) (xy 0.254 -0.254) (xy -0.254 -0.254)) (layer F.Fab) (width 0))
+ (fp_poly (pts (xy 2.286 0.254) (xy 2.794 0.254) (xy 2.794 -0.254) (xy 2.286 -0.254)) (layer F.Fab) (width 0))
+ (fp_line (start 3.81 -0.635) (end 3.81 0.635) (layer F.SilkS) (width 0.2032))
+ (fp_line (start 0.635 1.27) (end -0.635 1.27) (layer F.SilkS) (width 0.2032))
+ (fp_line (start -1.27 0.635) (end -0.635 1.27) (layer F.SilkS) (width 0.2032))
+ (fp_line (start -0.635 -1.27) (end -1.27 -0.635) (layer F.SilkS) (width 0.2032))
+ (fp_line (start -1.27 -0.635) (end -1.27 0.635) (layer F.SilkS) (width 0.2032))
+ (fp_line (start 1.905 1.27) (end 1.27 0.635) (layer F.SilkS) (width 0.2032))
+ (fp_line (start 3.175 1.27) (end 1.905 1.27) (layer F.SilkS) (width 0.2032))
+ (fp_line (start 3.81 0.635) (end 3.175 1.27) (layer F.SilkS) (width 0.2032))
+ (fp_line (start 3.175 -1.27) (end 3.81 -0.635) (layer F.SilkS) (width 0.2032))
+ (fp_line (start 1.905 -1.27) (end 3.175 -1.27) (layer F.SilkS) (width 0.2032))
+ (fp_line (start 1.27 -0.635) (end 1.905 -1.27) (layer F.SilkS) (width 0.2032))
+ (fp_line (start 1.27 0.635) (end 0.635 1.27) (layer F.SilkS) (width 0.2032))
+ (fp_line (start 0.635 -1.27) (end 1.27 -0.635) (layer F.SilkS) (width 0.2032))
+ (fp_line (start -0.635 -1.27) (end 0.635 -1.27) (layer F.SilkS) (width 0.2032))
+ (pad 2 thru_hole circle (at 2.54 0 180) (size 1.8796 1.8796) (drill 1.016) (layers *.Cu *.Mask)
+ (solder_mask_margin 0.1016))
+ (pad 1 thru_hole circle (at 0 0 180) (size 1.8796 1.8796) (drill 1.016) (layers *.Cu *.Mask)
+ (solder_mask_margin 0.1016))
+ )
+
+ (module Lenovo_Scanner:1X05 (layer Top) (tedit 0) (tstamp 5E61635B)
+ (at 155.2011 126.0036)
+ (descr "Plated Through Hole - 5 Pin
\nSpecifications:\n
- Pin count:5
\n- Pin pitch:0.1\"
\n
\nExample device(s):\n
")
+ (fp_text reference E$4 (at -1.27 -1.397) (layer F.SilkS) hide
+ (effects (font (size 0.57912 0.57912) (thickness 0.115824)) (justify left bottom))
+ )
+ (fp_text value "" (at -1.27 2.032) (layer F.Fab)
+ (effects (font (size 0.57912 0.57912) (thickness 0.115824)) (justify left bottom))
+ )
+ (fp_poly (pts (xy -0.254 0.254) (xy 0.254 0.254) (xy 0.254 -0.254) (xy -0.254 -0.254)) (layer F.Fab) (width 0))
+ (fp_poly (pts (xy 2.286 0.254) (xy 2.794 0.254) (xy 2.794 -0.254) (xy 2.286 -0.254)) (layer F.Fab) (width 0))
+ (fp_poly (pts (xy 4.826 0.254) (xy 5.334 0.254) (xy 5.334 -0.254) (xy 4.826 -0.254)) (layer F.Fab) (width 0))
+ (fp_poly (pts (xy 7.366 0.254) (xy 7.874 0.254) (xy 7.874 -0.254) (xy 7.366 -0.254)) (layer F.Fab) (width 0))
+ (fp_poly (pts (xy 9.906 0.254) (xy 10.414 0.254) (xy 10.414 -0.254) (xy 9.906 -0.254)) (layer F.Fab) (width 0))
+ (fp_line (start 11.43 -0.635) (end 11.43 0.635) (layer F.SilkS) (width 0.2032))
+ (fp_line (start 0.635 1.27) (end -0.635 1.27) (layer F.SilkS) (width 0.2032))
+ (fp_line (start -1.27 0.635) (end -0.635 1.27) (layer F.SilkS) (width 0.2032))
+ (fp_line (start -0.635 -1.27) (end -1.27 -0.635) (layer F.SilkS) (width 0.2032))
+ (fp_line (start -1.27 -0.635) (end -1.27 0.635) (layer F.SilkS) (width 0.2032))
+ (fp_line (start 1.905 1.27) (end 1.27 0.635) (layer F.SilkS) (width 0.2032))
+ (fp_line (start 3.175 1.27) (end 1.905 1.27) (layer F.SilkS) (width 0.2032))
+ (fp_line (start 3.81 0.635) (end 3.175 1.27) (layer F.SilkS) (width 0.2032))
+ (fp_line (start 3.175 -1.27) (end 3.81 -0.635) (layer F.SilkS) (width 0.2032))
+ (fp_line (start 1.905 -1.27) (end 3.175 -1.27) (layer F.SilkS) (width 0.2032))
+ (fp_line (start 1.27 -0.635) (end 1.905 -1.27) (layer F.SilkS) (width 0.2032))
+ (fp_line (start 1.27 0.635) (end 0.635 1.27) (layer F.SilkS) (width 0.2032))
+ (fp_line (start 0.635 -1.27) (end 1.27 -0.635) (layer F.SilkS) (width 0.2032))
+ (fp_line (start -0.635 -1.27) (end 0.635 -1.27) (layer F.SilkS) (width 0.2032))
+ (fp_line (start 8.255 1.27) (end 6.985 1.27) (layer F.SilkS) (width 0.2032))
+ (fp_line (start 6.35 0.635) (end 6.985 1.27) (layer F.SilkS) (width 0.2032))
+ (fp_line (start 6.985 -1.27) (end 6.35 -0.635) (layer F.SilkS) (width 0.2032))
+ (fp_line (start 4.445 1.27) (end 3.81 0.635) (layer F.SilkS) (width 0.2032))
+ (fp_line (start 5.715 1.27) (end 4.445 1.27) (layer F.SilkS) (width 0.2032))
+ (fp_line (start 6.35 0.635) (end 5.715 1.27) (layer F.SilkS) (width 0.2032))
+ (fp_line (start 5.715 -1.27) (end 6.35 -0.635) (layer F.SilkS) (width 0.2032))
+ (fp_line (start 4.445 -1.27) (end 5.715 -1.27) (layer F.SilkS) (width 0.2032))
+ (fp_line (start 3.81 -0.635) (end 4.445 -1.27) (layer F.SilkS) (width 0.2032))
+ (fp_line (start 9.525 1.27) (end 8.89 0.635) (layer F.SilkS) (width 0.2032))
+ (fp_line (start 10.795 1.27) (end 9.525 1.27) (layer F.SilkS) (width 0.2032))
+ (fp_line (start 11.43 0.635) (end 10.795 1.27) (layer F.SilkS) (width 0.2032))
+ (fp_line (start 10.795 -1.27) (end 11.43 -0.635) (layer F.SilkS) (width 0.2032))
+ (fp_line (start 9.525 -1.27) (end 10.795 -1.27) (layer F.SilkS) (width 0.2032))
+ (fp_line (start 8.89 -0.635) (end 9.525 -1.27) (layer F.SilkS) (width 0.2032))
+ (fp_line (start 8.89 0.635) (end 8.255 1.27) (layer F.SilkS) (width 0.2032))
+ (fp_line (start 8.255 -1.27) (end 8.89 -0.635) (layer F.SilkS) (width 0.2032))
+ (fp_line (start 6.985 -1.27) (end 8.255 -1.27) (layer F.SilkS) (width 0.2032))
+ (pad 5 thru_hole circle (at 10.16 0 90) (size 1.8796 1.8796) (drill 1.016) (layers *.Cu *.Mask)
+ (solder_mask_margin 0.1016))
+ (pad 4 thru_hole circle (at 7.62 0 90) (size 1.8796 1.8796) (drill 1.016) (layers *.Cu *.Mask)
+ (solder_mask_margin 0.1016))
+ (pad 3 thru_hole circle (at 5.08 0 90) (size 1.8796 1.8796) (drill 1.016) (layers *.Cu *.Mask)
+ (solder_mask_margin 0.1016))
+ (pad 2 thru_hole circle (at 2.54 0 90) (size 1.8796 1.8796) (drill 1.016) (layers *.Cu *.Mask)
+ (solder_mask_margin 0.1016))
+ (pad 1 thru_hole circle (at 0 0 90) (size 1.8796 1.8796) (drill 1.016) (layers *.Cu *.Mask)
+ (solder_mask_margin 0.1016))
+ )
+
+ (module Lenovo_Scanner:1X02 (layer Top) (tedit 0) (tstamp 5E616388)
+ (at 126.0011 92.3836)
+ (descr "Plated Through Hole
\nSpecifications:\n
- Pin count:2
\n- Pin pitch:0.1\"
\n
\nExample device(s):\n
")
+ (fp_text reference E$5 (at -1.27 -1.397) (layer F.SilkS) hide
+ (effects (font (size 0.57912 0.57912) (thickness 0.115824)) (justify left bottom))
+ )
+ (fp_text value "" (at -1.27 2.032) (layer F.Fab)
+ (effects (font (size 0.57912 0.57912) (thickness 0.115824)) (justify left bottom))
+ )
+ (fp_poly (pts (xy -0.254 0.254) (xy 0.254 0.254) (xy 0.254 -0.254) (xy -0.254 -0.254)) (layer F.Fab) (width 0))
+ (fp_poly (pts (xy 2.286 0.254) (xy 2.794 0.254) (xy 2.794 -0.254) (xy 2.286 -0.254)) (layer F.Fab) (width 0))
+ (fp_line (start 3.81 -0.635) (end 3.81 0.635) (layer F.SilkS) (width 0.2032))
+ (fp_line (start 0.635 1.27) (end -0.635 1.27) (layer F.SilkS) (width 0.2032))
+ (fp_line (start -1.27 0.635) (end -0.635 1.27) (layer F.SilkS) (width 0.2032))
+ (fp_line (start -0.635 -1.27) (end -1.27 -0.635) (layer F.SilkS) (width 0.2032))
+ (fp_line (start -1.27 -0.635) (end -1.27 0.635) (layer F.SilkS) (width 0.2032))
+ (fp_line (start 1.905 1.27) (end 1.27 0.635) (layer F.SilkS) (width 0.2032))
+ (fp_line (start 3.175 1.27) (end 1.905 1.27) (layer F.SilkS) (width 0.2032))
+ (fp_line (start 3.81 0.635) (end 3.175 1.27) (layer F.SilkS) (width 0.2032))
+ (fp_line (start 3.175 -1.27) (end 3.81 -0.635) (layer F.SilkS) (width 0.2032))
+ (fp_line (start 1.905 -1.27) (end 3.175 -1.27) (layer F.SilkS) (width 0.2032))
+ (fp_line (start 1.27 -0.635) (end 1.905 -1.27) (layer F.SilkS) (width 0.2032))
+ (fp_line (start 1.27 0.635) (end 0.635 1.27) (layer F.SilkS) (width 0.2032))
+ (fp_line (start 0.635 -1.27) (end 1.27 -0.635) (layer F.SilkS) (width 0.2032))
+ (fp_line (start -0.635 -1.27) (end 0.635 -1.27) (layer F.SilkS) (width 0.2032))
+ (pad 2 thru_hole circle (at 2.54 0 90) (size 1.8796 1.8796) (drill 1.016) (layers *.Cu *.Mask)
+ (solder_mask_margin 0.1016))
+ (pad 1 thru_hole circle (at 0 0 90) (size 1.8796 1.8796) (drill 1.016) (layers *.Cu *.Mask)
+ (solder_mask_margin 0.1016))
+ )
+
+ (module Lenovo_Scanner:1X02 (layer Top) (tedit 0) (tstamp 5E61639D)
+ (at 126.0011 107.7136)
+ (descr "Plated Through Hole
\nSpecifications:\n
- Pin count:2
\n- Pin pitch:0.1\"
\n
\nExample device(s):\n
")
+ (fp_text reference E$9 (at -1.27 -1.397) (layer F.SilkS) hide
+ (effects (font (size 0.57912 0.57912) (thickness 0.115824)) (justify left bottom))
+ )
+ (fp_text value "" (at -1.27 2.032) (layer F.Fab)
+ (effects (font (size 0.57912 0.57912) (thickness 0.115824)) (justify left bottom))
+ )
+ (fp_poly (pts (xy -0.254 0.254) (xy 0.254 0.254) (xy 0.254 -0.254) (xy -0.254 -0.254)) (layer F.Fab) (width 0))
+ (fp_poly (pts (xy 2.286 0.254) (xy 2.794 0.254) (xy 2.794 -0.254) (xy 2.286 -0.254)) (layer F.Fab) (width 0))
+ (fp_line (start 3.81 -0.635) (end 3.81 0.635) (layer F.SilkS) (width 0.2032))
+ (fp_line (start 0.635 1.27) (end -0.635 1.27) (layer F.SilkS) (width 0.2032))
+ (fp_line (start -1.27 0.635) (end -0.635 1.27) (layer F.SilkS) (width 0.2032))
+ (fp_line (start -0.635 -1.27) (end -1.27 -0.635) (layer F.SilkS) (width 0.2032))
+ (fp_line (start -1.27 -0.635) (end -1.27 0.635) (layer F.SilkS) (width 0.2032))
+ (fp_line (start 1.905 1.27) (end 1.27 0.635) (layer F.SilkS) (width 0.2032))
+ (fp_line (start 3.175 1.27) (end 1.905 1.27) (layer F.SilkS) (width 0.2032))
+ (fp_line (start 3.81 0.635) (end 3.175 1.27) (layer F.SilkS) (width 0.2032))
+ (fp_line (start 3.175 -1.27) (end 3.81 -0.635) (layer F.SilkS) (width 0.2032))
+ (fp_line (start 1.905 -1.27) (end 3.175 -1.27) (layer F.SilkS) (width 0.2032))
+ (fp_line (start 1.27 -0.635) (end 1.905 -1.27) (layer F.SilkS) (width 0.2032))
+ (fp_line (start 1.27 0.635) (end 0.635 1.27) (layer F.SilkS) (width 0.2032))
+ (fp_line (start 0.635 -1.27) (end 1.27 -0.635) (layer F.SilkS) (width 0.2032))
+ (fp_line (start -0.635 -1.27) (end 0.635 -1.27) (layer F.SilkS) (width 0.2032))
+ (pad 2 thru_hole circle (at 2.54 0 90) (size 1.8796 1.8796) (drill 1.016) (layers *.Cu *.Mask)
+ (solder_mask_margin 0.1016))
+ (pad 1 thru_hole circle (at 0 0 90) (size 1.8796 1.8796) (drill 1.016) (layers *.Cu *.Mask)
+ (solder_mask_margin 0.1016))
+ )
+
+ (module Lenovo_Scanner:1X05 (layer Top) (tedit 0) (tstamp 5E6163B2)
+ (at 171.1011 97.4036 90)
+ (descr "Plated Through Hole - 5 Pin
\nSpecifications:\n
- Pin count:5
\n- Pin pitch:0.1\"
\n
\nExample device(s):\n
")
+ (fp_text reference E$6 (at -1.27 -1.397 90) (layer F.SilkS) hide
+ (effects (font (size 0.57912 0.57912) (thickness 0.115824)) (justify left bottom))
+ )
+ (fp_text value "" (at -1.27 2.032 90) (layer F.Fab)
+ (effects (font (size 0.57912 0.57912) (thickness 0.115824)) (justify left bottom))
+ )
+ (fp_poly (pts (xy -0.254 0.254) (xy 0.254 0.254) (xy 0.254 -0.254) (xy -0.254 -0.254)) (layer F.Fab) (width 0))
+ (fp_poly (pts (xy 2.286 0.254) (xy 2.794 0.254) (xy 2.794 -0.254) (xy 2.286 -0.254)) (layer F.Fab) (width 0))
+ (fp_poly (pts (xy 4.826 0.254) (xy 5.334 0.254) (xy 5.334 -0.254) (xy 4.826 -0.254)) (layer F.Fab) (width 0))
+ (fp_poly (pts (xy 7.366 0.254) (xy 7.874 0.254) (xy 7.874 -0.254) (xy 7.366 -0.254)) (layer F.Fab) (width 0))
+ (fp_poly (pts (xy 9.906 0.254) (xy 10.414 0.254) (xy 10.414 -0.254) (xy 9.906 -0.254)) (layer F.Fab) (width 0))
+ (fp_line (start 11.43 -0.635) (end 11.43 0.635) (layer F.SilkS) (width 0.2032))
+ (fp_line (start 0.635 1.27) (end -0.635 1.27) (layer F.SilkS) (width 0.2032))
+ (fp_line (start -1.27 0.635) (end -0.635 1.27) (layer F.SilkS) (width 0.2032))
+ (fp_line (start -0.635 -1.27) (end -1.27 -0.635) (layer F.SilkS) (width 0.2032))
+ (fp_line (start -1.27 -0.635) (end -1.27 0.635) (layer F.SilkS) (width 0.2032))
+ (fp_line (start 1.905 1.27) (end 1.27 0.635) (layer F.SilkS) (width 0.2032))
+ (fp_line (start 3.175 1.27) (end 1.905 1.27) (layer F.SilkS) (width 0.2032))
+ (fp_line (start 3.81 0.635) (end 3.175 1.27) (layer F.SilkS) (width 0.2032))
+ (fp_line (start 3.175 -1.27) (end 3.81 -0.635) (layer F.SilkS) (width 0.2032))
+ (fp_line (start 1.905 -1.27) (end 3.175 -1.27) (layer F.SilkS) (width 0.2032))
+ (fp_line (start 1.27 -0.635) (end 1.905 -1.27) (layer F.SilkS) (width 0.2032))
+ (fp_line (start 1.27 0.635) (end 0.635 1.27) (layer F.SilkS) (width 0.2032))
+ (fp_line (start 0.635 -1.27) (end 1.27 -0.635) (layer F.SilkS) (width 0.2032))
+ (fp_line (start -0.635 -1.27) (end 0.635 -1.27) (layer F.SilkS) (width 0.2032))
+ (fp_line (start 8.255 1.27) (end 6.985 1.27) (layer F.SilkS) (width 0.2032))
+ (fp_line (start 6.35 0.635) (end 6.985 1.27) (layer F.SilkS) (width 0.2032))
+ (fp_line (start 6.985 -1.27) (end 6.35 -0.635) (layer F.SilkS) (width 0.2032))
+ (fp_line (start 4.445 1.27) (end 3.81 0.635) (layer F.SilkS) (width 0.2032))
+ (fp_line (start 5.715 1.27) (end 4.445 1.27) (layer F.SilkS) (width 0.2032))
+ (fp_line (start 6.35 0.635) (end 5.715 1.27) (layer F.SilkS) (width 0.2032))
+ (fp_line (start 5.715 -1.27) (end 6.35 -0.635) (layer F.SilkS) (width 0.2032))
+ (fp_line (start 4.445 -1.27) (end 5.715 -1.27) (layer F.SilkS) (width 0.2032))
+ (fp_line (start 3.81 -0.635) (end 4.445 -1.27) (layer F.SilkS) (width 0.2032))
+ (fp_line (start 9.525 1.27) (end 8.89 0.635) (layer F.SilkS) (width 0.2032))
+ (fp_line (start 10.795 1.27) (end 9.525 1.27) (layer F.SilkS) (width 0.2032))
+ (fp_line (start 11.43 0.635) (end 10.795 1.27) (layer F.SilkS) (width 0.2032))
+ (fp_line (start 10.795 -1.27) (end 11.43 -0.635) (layer F.SilkS) (width 0.2032))
+ (fp_line (start 9.525 -1.27) (end 10.795 -1.27) (layer F.SilkS) (width 0.2032))
+ (fp_line (start 8.89 -0.635) (end 9.525 -1.27) (layer F.SilkS) (width 0.2032))
+ (fp_line (start 8.89 0.635) (end 8.255 1.27) (layer F.SilkS) (width 0.2032))
+ (fp_line (start 8.255 -1.27) (end 8.89 -0.635) (layer F.SilkS) (width 0.2032))
+ (fp_line (start 6.985 -1.27) (end 8.255 -1.27) (layer F.SilkS) (width 0.2032))
+ (pad 5 thru_hole circle (at 10.16 0 180) (size 1.8796 1.8796) (drill 1.016) (layers *.Cu *.Mask)
+ (solder_mask_margin 0.1016))
+ (pad 4 thru_hole circle (at 7.62 0 180) (size 1.8796 1.8796) (drill 1.016) (layers *.Cu *.Mask)
+ (solder_mask_margin 0.1016))
+ (pad 3 thru_hole circle (at 5.08 0 180) (size 1.8796 1.8796) (drill 1.016) (layers *.Cu *.Mask)
+ (solder_mask_margin 0.1016))
+ (pad 2 thru_hole circle (at 2.54 0 180) (size 1.8796 1.8796) (drill 1.016) (layers *.Cu *.Mask)
+ (solder_mask_margin 0.1016))
+ (pad 1 thru_hole circle (at 0 0 180) (size 1.8796 1.8796) (drill 1.016) (layers *.Cu *.Mask)
+ (solder_mask_margin 0.1016))
+ )
+
+ (module Lenovo_Scanner:OSHW_5MM (layer Top) (tedit 0) (tstamp 5E6163DF)
+ (at 129.2011 119.5036)
+ (fp_text reference E$10 (at 0 0) (layer F.SilkS) hide
+ (effects (font (size 1.27 1.27) (thickness 0.15)))
+ )
+ (fp_text value "" (at 0 0) (layer F.SilkS) hide
+ (effects (font (size 1.27 1.27) (thickness 0.15)))
+ )
+ (fp_text user "open source\n hardware" (at 2.921 2.032) (layer F.SilkS)
+ (effects (font (size 0.7239 0.7239) (thickness 0.06096)) (justify right top))
+ )
+ (fp_poly (pts (xy -0.2413 0.6096) (xy -0.402488 0.522318) (xy -0.533213 0.393825) (xy -0.623257 0.234163)
+ (xy -0.66558 0.055813) (xy -0.656875 -0.127282) (xy -0.597822 -0.300812) (xy -0.493036 -0.451211)
+ (xy -0.35071 -0.566722) (xy 0 -0.6604) (xy 0.000001 -0.6604) (xy 0.17591 -0.633278)
+ (xy 0.338433 -0.560714) (xy 0.476059 -0.447849) (xy 0.579036 -0.302676) (xy 0.640072 -0.135482)
+ (xy 0.654841 0.041892) (xy 0.622298 0.216878) (xy 0.544748 0.377083) (xy 0.2794 0.6096)
+ (xy 0.6731 1.6002) (xy 0.8255 1.5367) (xy 0.9779 1.4351) (xy 1.4859 1.7907)
+ (xy 1.5875 1.7018) (xy 1.6764 1.6129) (xy 1.778 1.4986) (xy 1.8669 1.3843)
+ (xy 1.4986 0.8509) (xy 1.5875 0.6985) (xy 1.6383 0.5461) (xy 1.6891 0.3429)
+ (xy 2.3114 0.2286) (xy 2.3114 0.0508) (xy 2.3114 -0.0635) (xy 2.2987 -0.2032)
+ (xy 2.286 -0.3302) (xy 1.6637 -0.4445) (xy 1.6129 -0.6096) (xy 1.5494 -0.7493)
+ (xy 1.4605 -0.9017) (xy 1.4478 -0.9271) (xy 1.8034 -1.4224) (xy 1.7018 -1.5494)
+ (xy 1.5748 -1.6764) (xy 1.4732 -1.7653) (xy 1.3843 -1.8288) (xy 0.8636 -1.4605)
+ (xy 0.7493 -1.524) (xy 0.635 -1.5748) (xy 0.5207 -1.6256) (xy 0.4064 -1.651)
+ (xy 0.2921 -2.2733) (xy 0.1397 -2.286) (xy -0.0381 -2.286) (xy -0.1524 -2.286)
+ (xy -0.2794 -2.2733) (xy -0.381 -1.6637) (xy -0.5715 -1.6002) (xy -0.6985 -1.5494)
+ (xy -0.8763 -1.4478) (xy -1.3843 -1.8161) (xy -1.4986 -1.7272) (xy -1.6256 -1.6002)
+ (xy -1.7272 -1.4859) (xy -1.7907 -1.4224) (xy -1.4351 -0.9017) (xy -1.5113 -0.7747)
+ (xy -1.5875 -0.6096) (xy -1.6256 -0.4699) (xy -1.6637 -0.381) (xy -2.286 -0.2794)
+ (xy -2.286 0.2794) (xy -1.6637 0.381) (xy -1.6129 0.5588) (xy -1.5748 0.6858)
+ (xy -1.524 0.7874) (xy -1.4351 0.9398) (xy -1.8034 1.4478) (xy -1.7018 1.5621)
+ (xy -1.6129 1.651) (xy -1.4986 1.7526) (xy -1.4097 1.8288) (xy -0.889 1.4732)
+ (xy -0.5969 1.6256)) (layer F.SilkS) (width 0))
+ )
+
+ (gr_text 27 (at 164.7 124.4) (layer F.SilkS) (tstamp 5E7D46BF)
+ (effects (font (size 0.77216 0.77216) (thickness 0.065024)) (justify left bottom))
+ )
+ (gr_text 30 (at 162.1 124.4) (layer F.SilkS) (tstamp 5E7D46BF)
+ (effects (font (size 0.77216 0.77216) (thickness 0.065024)) (justify left bottom))
+ )
+ (gr_text 28 (at 159.6 124.4) (layer F.SilkS) (tstamp 5E7D46BF)
+ (effects (font (size 0.77216 0.77216) (thickness 0.065024)) (justify left bottom))
+ )
+ (gr_text 29 (at 157.05 124.4) (layer F.SilkS) (tstamp 5E7D46BF)
+ (effects (font (size 0.77216 0.77216) (thickness 0.065024)) (justify left bottom))
+ )
+ (gr_text GND (at 150.219374 85.7964 90) (layer B.SilkS) (tstamp 5E7D469C)
+ (effects (font (size 0.77216 0.77216) (thickness 0.065024)) (justify left bottom mirror))
+ )
+ (gr_text LED (at 162.1 129.15) (layer F.SilkS) (tstamp 5E7D4680)
+ (effects (font (size 0.45 0.45) (thickness 0.065024)) (justify left bottom))
+ )
+ (gr_text LED (at 159.55 129.15) (layer F.SilkS) (tstamp 5E7D4680)
+ (effects (font (size 0.45 0.45) (thickness 0.065024)) (justify left bottom))
+ )
+ (gr_text LED (at 157.1 129.15) (layer F.SilkS) (tstamp 5E7D464B)
+ (effects (font (size 0.45 0.45) (thickness 0.065024)) (justify left bottom))
+ )
+ (gr_line (start 128.55 102.875) (end 128.55 106.425) (layer F.SilkS) (width 0.12))
+ (gr_line (start 126.075 102.875) (end 126.075 106.5) (layer F.SilkS) (width 0.12))
+ (gr_line (start 126.05 97.15) (end 126.05 93.65) (layer F.SilkS) (width 0.12))
+ (gr_line (start 128.525 97.125) (end 128.525 93.65) (layer F.SilkS) (width 0.12))
+ (gr_line (start 126.95 97.15) (end 126.95 102.875) (layer F.SilkS) (width 0.12) (tstamp 5E7D461D))
+ (gr_line (start 126.95 102.875) (end 125.2 102.875) (layer F.SilkS) (width 0.12) (tstamp 5E7D461C))
+ (gr_line (start 125.2 102.85) (end 125.2 97.15) (layer F.SilkS) (width 0.12) (tstamp 5E7D461B))
+ (gr_line (start 125.2 97.15) (end 126.95 97.15) (layer F.SilkS) (width 0.12) (tstamp 5E7D461A))
+ (gr_line (start 127.7 102.85) (end 127.7 97.125) (layer F.SilkS) (width 0.12) (tstamp 5E7D4615))
+ (gr_line (start 129.45 102.85) (end 127.7 102.85) (layer F.SilkS) (width 0.12))
+ (gr_line (start 129.45 97.125) (end 129.45 102.85) (layer F.SilkS) (width 0.12))
+ (gr_line (start 127.7 97.125) (end 129.45 97.125) (layer F.SilkS) (width 0.12))
+ (gr_text PGM (at 164.3 119.075 90) (layer B.SilkS) (tstamp 5E7D4294)
+ (effects (font (size 0.77216 0.77216) (thickness 0.065024)) (justify left bottom mirror))
+ )
+ (gr_text 29 (at 164.310805 116.9 90) (layer B.SilkS) (tstamp 5E7D4294)
+ (effects (font (size 0.77216 0.77216) (thickness 0.065024)) (justify left bottom mirror))
+ )
+ (gr_text 30 (at 164.310805 114.4 90) (layer B.SilkS) (tstamp 5E7D4294)
+ (effects (font (size 0.77216 0.77216) (thickness 0.065024)) (justify left bottom mirror))
+ )
+ (gr_text 31 (at 164.310805 111.8 90) (layer B.SilkS) (tstamp 5E7D4294)
+ (effects (font (size 0.77216 0.77216) (thickness 0.065024)) (justify left bottom mirror))
+ )
+ (gr_text 32 (at 164.260805 109.325 90) (layer B.SilkS) (tstamp 5E7D4294)
+ (effects (font (size 0.77216 0.77216) (thickness 0.065024)) (justify left bottom mirror))
+ )
+ (gr_text 33 (at 164.235805 106.8 90) (layer B.SilkS) (tstamp 5E7D4294)
+ (effects (font (size 0.77216 0.77216) (thickness 0.065024)) (justify left bottom mirror))
+ )
+ (gr_line (start 136.55 103) (end 136.625 87.6) (layer B.SilkS) (width 0.12))
+ (gr_line (start 139.175 103) (end 136.55 103) (layer B.SilkS) (width 0.12))
+ (gr_line (start 139.175 87.6) (end 139.175 103) (layer B.SilkS) (width 0.12))
+ (gr_line (start 136.625 87.6) (end 139.175 87.6) (layer B.SilkS) (width 0.12))
+ (gr_text "JAE KX14-40K5DE" (at 138.25 89.975 90) (layer B.SilkS) (tstamp 5E7D3C70)
+ (effects (font (size 0.77216 0.77216) (thickness 0.065024)) (justify left bottom mirror))
+ )
+ (gr_text GND (at 156.2 128.7) (layer B.SilkS) (tstamp 5E7D3B9D)
+ (effects (font (size 0.77216 0.77216) (thickness 0.065024)) (justify left bottom mirror))
+ )
+ (gr_text "PWR SW" (at 129.374084 116.0564) (layer B.SilkS) (tstamp 5E7D3B97)
+ (effects (font (size 0.77216 0.77216) (thickness 0.065024)) (justify left bottom mirror))
+ )
+ (gr_text 5V (at 128.152832 90.35) (layer B.SilkS) (tstamp 5E7D3B8C)
+ (effects (font (size 0.9652 0.9652) (thickness 0.08128)) (justify left bottom mirror))
+ )
+ (gr_text DATA (at 130.650299 110.1464) (layer B.SilkS) (tstamp 5E7D3B8A)
+ (effects (font (size 0.77216 0.77216) (thickness 0.065024)) (justify left bottom mirror))
+ )
+ (gr_text CLK (at 127.135526 110.1214) (layer B.SilkS) (tstamp 5E7D3B87)
+ (effects (font (size 0.77216 0.77216) (thickness 0.065024)) (justify left bottom mirror))
+ )
+ (gr_text GND (at 169.594374 88.2964 90) (layer B.SilkS) (tstamp 5E7D36EA)
+ (effects (font (size 0.77216 0.77216) (thickness 0.065024)) (justify left bottom mirror))
+ )
+ (gr_text Fn- (at 173.207604 93.2214 90) (layer B.SilkS) (tstamp 5E7D367C)
+ (effects (font (size 0.77216 0.77216) (thickness 0.065024)) (justify left bottom mirror))
+ )
+ (gr_text TPRST (at 173.122459 96.2714 90) (layer B.SilkS) (tstamp 5E7D3679)
+ (effects (font (size 0.77216 0.77216) (thickness 0.065024)) (justify left bottom mirror))
+ )
+ (gr_text CLK (at 172.310526 103.3964) (layer B.SilkS) (tstamp 5E7D3676)
+ (effects (font (size 0.77216 0.77216) (thickness 0.065024)) (justify left bottom mirror))
+ )
+ (gr_text DATA (at 172.600299 109.9214) (layer B.SilkS) (tstamp 5E7D3670)
+ (effects (font (size 0.77216 0.77216) (thickness 0.065024)) (justify left bottom mirror))
+ )
+ (gr_text Fn+ (at 172.25 116.075) (layer B.SilkS) (tstamp 5E7D366B)
+ (effects (font (size 0.77216 0.77216) (thickness 0.065024)) (justify left bottom mirror))
+ )
+ (gr_text Blink (at 172.533047 122.6) (layer B.SilkS) (tstamp 5E7D3667)
+ (effects (font (size 0.77216 0.77216) (thickness 0.065024)) (justify left bottom mirror))
+ )
+ (gr_text 23 (at 169.610805 93.875 90) (layer B.SilkS) (tstamp 5E7D304B)
+ (effects (font (size 0.77216 0.77216) (thickness 0.065024)) (justify left bottom mirror))
+ )
+ (gr_text 22 (at 169.610805 96.5 90) (layer B.SilkS) (tstamp 5E7D304A)
+ (effects (font (size 0.77216 0.77216) (thickness 0.065024)) (justify left bottom mirror))
+ )
+ (gr_text 21 (at 169.610805 98.875 90) (layer B.SilkS) (tstamp 5E7D3049)
+ (effects (font (size 0.77216 0.77216) (thickness 0.065024)) (justify left bottom mirror))
+ )
+ (gr_text 20 (at 169.585805 101.6 90) (layer B.SilkS) (tstamp 5E7D3048)
+ (effects (font (size 0.77216 0.77216) (thickness 0.065024)) (justify left bottom mirror))
+ )
+ (gr_text 19 (at 169.585805 104 90) (layer B.SilkS) (tstamp 5E7D3047)
+ (effects (font (size 0.77216 0.77216) (thickness 0.065024)) (justify left bottom mirror))
+ )
+ (gr_text 18 (at 169.610805 106.675 90) (layer B.SilkS) (tstamp 5E7D3046)
+ (effects (font (size 0.77216 0.77216) (thickness 0.065024)) (justify left bottom mirror))
+ )
+ (gr_text 17 (at 169.585805 109.125 90) (layer B.SilkS) (tstamp 5E7D3045)
+ (effects (font (size 0.77216 0.77216) (thickness 0.065024)) (justify left bottom mirror))
+ )
+ (gr_text 16 (at 169.610805 111.775 90) (layer B.SilkS) (tstamp 5E7D3044)
+ (effects (font (size 0.77216 0.77216) (thickness 0.065024)) (justify left bottom mirror))
+ )
+ (gr_text 15 (at 169.610805 114.2 90) (layer B.SilkS) (tstamp 5E7D3043)
+ (effects (font (size 0.77216 0.77216) (thickness 0.065024)) (justify left bottom mirror))
+ )
+ (gr_text 14 (at 169.585805 116.625 90) (layer B.SilkS) (tstamp 5E7D3042)
+ (effects (font (size 0.77216 0.77216) (thickness 0.065024)) (justify left bottom mirror))
+ )
+ (gr_text 13 (at 169.585805 119.25 90) (layer B.SilkS) (tstamp 5E7D3041)
+ (effects (font (size 0.77216 0.77216) (thickness 0.065024)) (justify left bottom mirror))
+ )
+ (gr_text 3V (at 169.587266 91.375 90) (layer B.SilkS) (tstamp 5E7D3040)
+ (effects (font (size 0.77216 0.77216) (thickness 0.065024)) (justify left bottom mirror))
+ )
+ (gr_text 5V (at 169.587266 86.25 90) (layer B.SilkS) (tstamp 5E7D303F)
+ (effects (font (size 0.77216 0.77216) (thickness 0.065024)) (justify left bottom mirror))
+ )
+ (gr_text GND (at 158.2 118.9 90) (layer B.SilkS) (tstamp 5E7D11D1)
+ (effects (font (size 0.77216 0.77216) (thickness 0.065024)) (justify left bottom mirror))
+ )
+ (gr_text 28 (at 158.175 117.025 90) (layer B.SilkS) (tstamp 5E7D11D1)
+ (effects (font (size 0.77216 0.77216) (thickness 0.065024)) (justify left bottom mirror))
+ )
+ (gr_text 27 (at 158.175 114.475 90) (layer B.SilkS) (tstamp 5E7D11D1)
+ (effects (font (size 0.77216 0.77216) (thickness 0.065024)) (justify left bottom mirror))
+ )
+ (gr_text 26 (at 158.175 111.95 90) (layer B.SilkS) (tstamp 5E7D11D1)
+ (effects (font (size 0.77216 0.77216) (thickness 0.065024)) (justify left bottom mirror))
+ )
+ (gr_text 25 (at 158.175 109.45 90) (layer B.SilkS) (tstamp 5E7D04C0)
+ (effects (font (size 0.77216 0.77216) (thickness 0.065024)) (justify left bottom mirror))
+ )
+ (gr_text 24 (at 158.175 106.825 90) (layer B.SilkS) (tstamp 5E7D04BF)
+ (effects (font (size 0.77216 0.77216) (thickness 0.065024)) (justify left bottom mirror))
+ )
+ (gr_text 12 (at 150.125 119.3 90) (layer B.SilkS) (tstamp 5E7D04CB)
+ (effects (font (size 0.77216 0.77216) (thickness 0.065024)) (justify left bottom mirror))
+ )
+ (gr_text 11 (at 150.2 116.675 90) (layer B.SilkS) (tstamp 5E7D04CA)
+ (effects (font (size 0.77216 0.77216) (thickness 0.065024)) (justify left bottom mirror))
+ )
+ (gr_text 10 (at 150.2 114.075 90) (layer B.SilkS) (tstamp 5E7D04C9)
+ (effects (font (size 0.77216 0.77216) (thickness 0.065024)) (justify left bottom mirror))
+ )
+ (gr_text 9 (at 150.2 112 90) (layer B.SilkS) (tstamp 5E7D04C8)
+ (effects (font (size 0.77216 0.77216) (thickness 0.065024)) (justify left bottom mirror))
+ )
+ (gr_text 8 (at 150.2 109.5 90) (layer B.SilkS) (tstamp 5E7D04C7)
+ (effects (font (size 0.77216 0.77216) (thickness 0.065024)) (justify left bottom mirror))
+ )
+ (gr_text 7 (at 150.2 107.025 90) (layer B.SilkS) (tstamp 5E7D04C6)
+ (effects (font (size 0.77216 0.77216) (thickness 0.065024)) (justify left bottom mirror))
+ )
+ (gr_text 6 (at 150.2 104.4 90) (layer B.SilkS) (tstamp 5E7D04C5)
+ (effects (font (size 0.77216 0.77216) (thickness 0.065024)) (justify left bottom mirror))
+ )
+ (gr_text 5 (at 150.2 101.925 90) (layer B.SilkS) (tstamp 5E7D04C4)
+ (effects (font (size 0.77216 0.77216) (thickness 0.065024)) (justify left bottom mirror))
+ )
+ (gr_text 4 (at 150.2 99.275 90) (layer B.SilkS) (tstamp 5E7D04C3)
+ (effects (font (size 0.77216 0.77216) (thickness 0.065024)) (justify left bottom mirror))
+ )
+ (gr_text 3 (at 150.2 96.75 90) (layer B.SilkS) (tstamp 5E7D04C2)
+ (effects (font (size 0.77216 0.77216) (thickness 0.065024)) (justify left bottom mirror))
+ )
+ (gr_text 2 (at 150.2 94.225 90) (layer B.SilkS) (tstamp 5E7D04C1)
+ (effects (font (size 0.77216 0.77216) (thickness 0.065024)) (justify left bottom mirror))
+ )
+ (gr_text 1 (at 150.2 91.7 90) (layer B.SilkS) (tstamp 5E7D04C0)
+ (effects (font (size 0.77216 0.77216) (thickness 0.065024)) (justify left bottom mirror))
+ )
+ (gr_text 0 (at 150.2 89.1 90) (layer B.SilkS) (tstamp 5E7D04BF)
+ (effects (font (size 0.77216 0.77216) (thickness 0.065024)) (justify left bottom mirror))
+ )
+ (gr_text Sync (at 164.375 128.575) (layer F.SilkS) (tstamp 5E7CFF4D)
+ (effects (font (size 0.77216 0.77216) (thickness 0.065024)) (justify left bottom))
+ )
+ (gr_text Scrl (at 161.6 128.45) (layer F.SilkS) (tstamp 5E7CFF4D)
+ (effects (font (size 0.77216 0.77216) (thickness 0.065024)) (justify left bottom))
+ )
+ (gr_text Cap (at 159.125 128.45) (layer F.SilkS) (tstamp 5E7CFF4D)
+ (effects (font (size 0.77216 0.77216) (thickness 0.065024)) (justify left bottom))
+ )
+ (gr_text Num (at 156.475 128.45) (layer F.SilkS) (tstamp 5E7D4633)
+ (effects (font (size 0.77216 0.77216) (thickness 0.065024)) (justify left bottom))
+ )
+ (gr_text "repo at github.com/thedalles77\nAdapted to T43 JAE connector by N. Wolf" (at 147.85 83.6) (layer B.SilkS)
+ (effects (font (size 1 1) (thickness 0.2)) (justify mirror))
+ )
+ (gr_text 40 (at 141.55 86.9) (layer F.SilkS) (tstamp 1234C370)
+ (effects (font (size 0.9652 0.9652) (thickness 0.08128)) (justify left bottom))
+ )
+ (gr_text "IBM T43 Controller" (at 129.8011 126.2036) (layer F.SilkS) (tstamp 1234C030)
+ (effects (font (size 1.2065 1.2065) (thickness 0.1016)) (justify left bottom))
+ )
+ (gr_text 1 (at 132.95 104.625) (layer F.SilkS) (tstamp 1234C100)
+ (effects (font (size 0.9652 0.9652) (thickness 0.08128)) (justify left bottom))
+ )
+ (gr_text 39 (at 132.2 86.825) (layer F.SilkS) (tstamp 1234C1D0)
+ (effects (font (size 0.9652 0.9652) (thickness 0.08128)) (justify left bottom))
+ )
+ (gr_text 2 (at 141.75 104.55) (layer F.SilkS) (tstamp 1234C2A0)
+ (effects (font (size 0.9652 0.9652) (thickness 0.08128)) (justify left bottom))
+ )
+ (gr_text "PWR SW" (at 124.6011 116.0436) (layer F.SilkS) (tstamp 1234C440)
+ (effects (font (size 0.77216 0.77216) (thickness 0.065024)) (justify left bottom))
+ )
+ (gr_text GND (at 153.8 128.7) (layer F.SilkS) (tstamp 1234C510)
+ (effects (font (size 0.77216 0.77216) (thickness 0.065024)) (justify left bottom))
+ )
+ (gr_text Blink (at 169.575 122.6) (layer F.SilkS) (tstamp 1234C5E0)
+ (effects (font (size 0.77216 0.77216) (thickness 0.065024)) (justify left bottom))
+ )
+ (gr_text Fn+ (at 170.3011 116.0036) (layer F.SilkS) (tstamp 1234C6B0)
+ (effects (font (size 0.77216 0.77216) (thickness 0.065024)) (justify left bottom))
+ )
+ (gr_text Fn- (at 173.1011 95.6036 90) (layer F.SilkS) (tstamp 1234C7C8)
+ (effects (font (size 0.77216 0.77216) (thickness 0.065024)) (justify left bottom))
+ )
+ (gr_text DATA (at 170.1011 109.9036) (layer F.SilkS) (tstamp 1234C898)
+ (effects (font (size 0.77216 0.77216) (thickness 0.065024)) (justify left bottom))
+ )
+ (gr_text CLK (at 170.1011 103.4036) (layer F.SilkS) (tstamp 1234C968)
+ (effects (font (size 0.77216 0.77216) (thickness 0.065024)) (justify left bottom))
+ )
+ (gr_text 5V (at 169.6011 87.8036 90) (layer F.SilkS) (tstamp 1234CA38)
+ (effects (font (size 0.77216 0.77216) (thickness 0.065024)) (justify left bottom))
+ )
+ (gr_text GND (at 169.6011 90.7036 90) (layer F.SilkS) (tstamp 1234CB08)
+ (effects (font (size 0.77216 0.77216) (thickness 0.065024)) (justify left bottom))
+ )
+ (gr_text 3V (at 169.6011 92.9036 90) (layer F.SilkS) (tstamp 1234CBD8)
+ (effects (font (size 0.77216 0.77216) (thickness 0.065024)) (justify left bottom))
+ )
+ (gr_text Num (at 159.1 128.45) (layer B.SilkS) (tstamp 1234CCA8)
+ (effects (font (size 0.77216 0.77216) (thickness 0.065024)) (justify left bottom mirror))
+ )
+ (gr_text Cap (at 161.4 128.45) (layer B.SilkS) (tstamp 1234CD78)
+ (effects (font (size 0.77216 0.77216) (thickness 0.065024)) (justify left bottom mirror))
+ )
+ (gr_text Scrl (at 163.9 128.45) (layer B.SilkS) (tstamp 1234CE48)
+ (effects (font (size 0.77216 0.77216) (thickness 0.065024)) (justify left bottom mirror))
+ )
+ (gr_text Sync (at 167.15 128.6) (layer B.SilkS) (tstamp 1234CF18)
+ (effects (font (size 0.77216 0.77216) (thickness 0.065024)) (justify left bottom mirror))
+ )
+ (gr_text GND (at 150.2011 88.2036 90) (layer F.SilkS) (tstamp 12333B38)
+ (effects (font (size 0.77216 0.77216) (thickness 0.065024)) (justify left bottom))
+ )
+ (gr_text 0 (at 150.2011 89.9036 90) (layer F.SilkS) (tstamp 12333C08)
+ (effects (font (size 0.77216 0.77216) (thickness 0.065024)) (justify left bottom))
+ )
+ (gr_text 1 (at 150.2011 92.5036 90) (layer F.SilkS) (tstamp 12333CD8)
+ (effects (font (size 0.77216 0.77216) (thickness 0.065024)) (justify left bottom))
+ )
+ (gr_text 2 (at 150.2011 95.0036 90) (layer F.SilkS) (tstamp 12333DA8)
+ (effects (font (size 0.77216 0.77216) (thickness 0.065024)) (justify left bottom))
+ )
+ (gr_text 3 (at 150.2011 97.5036 90) (layer F.SilkS) (tstamp 12333E78)
+ (effects (font (size 0.77216 0.77216) (thickness 0.065024)) (justify left bottom))
+ )
+ (gr_text 4 (at 150.2011 100.1036 90) (layer F.SilkS) (tstamp 12333F48)
+ (effects (font (size 0.77216 0.77216) (thickness 0.065024)) (justify left bottom))
+ )
+ (gr_text 5 (at 150.2011 102.7036 90) (layer F.SilkS) (tstamp 12334018)
+ (effects (font (size 0.77216 0.77216) (thickness 0.065024)) (justify left bottom))
+ )
+ (gr_text 6 (at 150.2011 105.2036 90) (layer F.SilkS) (tstamp 123340E8)
+ (effects (font (size 0.77216 0.77216) (thickness 0.065024)) (justify left bottom))
+ )
+ (gr_text 7 (at 150.2011 107.8036 90) (layer F.SilkS) (tstamp 123341B8)
+ (effects (font (size 0.77216 0.77216) (thickness 0.065024)) (justify left bottom))
+ )
+ (gr_text 8 (at 150.2011 110.3036 90) (layer F.SilkS) (tstamp 1234B7C8)
+ (effects (font (size 0.77216 0.77216) (thickness 0.065024)) (justify left bottom))
+ )
+ (gr_text 9 (at 150.2011 112.8036 90) (layer F.SilkS) (tstamp 1234B898)
+ (effects (font (size 0.77216 0.77216) (thickness 0.065024)) (justify left bottom))
+ )
+ (gr_text 10 (at 150.2011 115.6036 90) (layer F.SilkS) (tstamp 1234B968)
+ (effects (font (size 0.77216 0.77216) (thickness 0.065024)) (justify left bottom))
+ )
+ (gr_text 11 (at 150.2011 118.2036 90) (layer F.SilkS) (tstamp 1234BA38)
+ (effects (font (size 0.77216 0.77216) (thickness 0.065024)) (justify left bottom))
+ )
+ (gr_text 12 (at 150.1011 120.8036 90) (layer F.SilkS) (tstamp 1234BB08)
+ (effects (font (size 0.77216 0.77216) (thickness 0.065024)) (justify left bottom))
+ )
+ (gr_text 13 (at 169.6011 120.8036 90) (layer F.SilkS) (tstamp 1234BBD8)
+ (effects (font (size 0.77216 0.77216) (thickness 0.065024)) (justify left bottom))
+ )
+ (gr_text 14 (at 169.6011 118.3036 90) (layer F.SilkS) (tstamp 1234BCA8)
+ (effects (font (size 0.77216 0.77216) (thickness 0.065024)) (justify left bottom))
+ )
+ (gr_text 15 (at 169.6011 115.7036 90) (layer F.SilkS) (tstamp 1234BD78)
+ (effects (font (size 0.77216 0.77216) (thickness 0.065024)) (justify left bottom))
+ )
+ (gr_text 16 (at 169.6011 113.3036 90) (layer F.SilkS) (tstamp 1234BE48)
+ (effects (font (size 0.77216 0.77216) (thickness 0.065024)) (justify left bottom))
+ )
+ (gr_text 17 (at 169.6011 110.6036 90) (layer F.SilkS) (tstamp 1234BF18)
+ (effects (font (size 0.77216 0.77216) (thickness 0.065024)) (justify left bottom))
+ )
+ (gr_text 18 (at 169.6011 108.2036 90) (layer F.SilkS) (tstamp 1234A830)
+ (effects (font (size 0.77216 0.77216) (thickness 0.065024)) (justify left bottom))
+ )
+ (gr_text 19 (at 169.6011 105.5036 90) (layer F.SilkS) (tstamp 1234A900)
+ (effects (font (size 0.77216 0.77216) (thickness 0.065024)) (justify left bottom))
+ )
+ (gr_text 20 (at 169.6011 103.1036 90) (layer F.SilkS) (tstamp 1234A9D0)
+ (effects (font (size 0.77216 0.77216) (thickness 0.065024)) (justify left bottom))
+ )
+ (gr_text 21 (at 169.6011 100.4036 90) (layer F.SilkS) (tstamp 1234AAA0)
+ (effects (font (size 0.77216 0.77216) (thickness 0.065024)) (justify left bottom))
+ )
+ (gr_text 22 (at 169.6011 98.0036 90) (layer F.SilkS) (tstamp 1234AB70)
+ (effects (font (size 0.77216 0.77216) (thickness 0.065024)) (justify left bottom))
+ )
+ (gr_text 23 (at 169.6011 95.4036 90) (layer F.SilkS) (tstamp 1234AC40)
+ (effects (font (size 0.77216 0.77216) (thickness 0.065024)) (justify left bottom))
+ )
+ (gr_text PGM (at 160.95 122.8) (layer F.SilkS) (tstamp 1234AD10)
+ (effects (font (size 0.77216 0.77216) (thickness 0.065024)) (justify left bottom))
+ )
+ (gr_text GND (at 158.3 122.8) (layer F.SilkS) (tstamp 1234ADE0)
+ (effects (font (size 0.77216 0.77216) (thickness 0.065024)) (justify left bottom))
+ )
+ (gr_line (start 123.6011 129.9036) (end 123.6011 80.1036) (layer Edge.Cuts) (width 0.15) (tstamp 1234AEB0))
+ (gr_line (start 123.6011 80.1036) (end 173.4011 80.1036) (layer Edge.Cuts) (width 0.15) (tstamp 1234AF18))
+ (gr_line (start 173.4011 80.1036) (end 173.4011 129.9036) (layer Edge.Cuts) (width 0.15) (tstamp 12349FC8))
+ (gr_line (start 173.4011 129.9036) (end 123.6011 129.9036) (layer Edge.Cuts) (width 0.15) (tstamp 1234A030))
+ (gr_text CLK (at 124.9011 110.1136) (layer F.SilkS) (tstamp 1234A098)
+ (effects (font (size 0.77216 0.77216) (thickness 0.065024)) (justify left bottom))
+ )
+ (gr_text DATA (at 127.8011 110.1136) (layer F.SilkS) (tstamp 1234A168)
+ (effects (font (size 0.77216 0.77216) (thickness 0.065024)) (justify left bottom))
+ )
+ (gr_text 5V (at 126.2 90.325) (layer F.SilkS) (tstamp 1234A238)
+ (effects (font (size 0.9652 0.9652) (thickness 0.08128)) (justify left bottom))
+ )
+ (gr_text TPRST (at 173.1011 99.8036 90) (layer F.SilkS) (tstamp 1234A308)
+ (effects (font (size 0.77216 0.77216) (thickness 0.065024)) (justify left bottom))
+ )
+ (gr_text "Version 1.2" (at 129.8011 128.6036) (layer F.SilkS) (tstamp 1234A3D8)
+ (effects (font (size 1.2065 1.2065) (thickness 0.1016)) (justify left bottom))
+ )
+
+ (segment (start 163.0011 93.6036) (end 166.6011 97.2036) (width 0.1524) (layer Top) (net 0) (tstamp FEA12E0))
+ (segment (start 163.0011 96.1036) (end 166.7011 99.8036) (width 0.1524) (layer Top) (net 0) (tstamp FEA1688))
+ (segment (start 161.8011 87.2036) (end 164.4011 89.7036) (width 1) (layer Top) (net 0) (tstamp FEA1BD0))
+ (segment (start 164.4011 89.7036) (end 166.6011 89.7036) (width 1) (layer Top) (net 0) (tstamp FEA1C38))
+ (segment (start 161.8011 87.2036) (end 151.9011 87.2036) (width 1) (layer Top) (net 0) (tstamp FEA1CA0))
+ (segment (start 151.9011 87.2036) (end 151.7011 87.2036) (width 1.016) (layer Top) (net 0) (tstamp FEA1D08))
+ (segment (start 138.3011 82.6036) (end 151.9011 82.6036) (width 1) (layer Top) (net 0) (tstamp FEA1D70))
+ (segment (start 151.9011 82.6036) (end 151.9011 87.2036) (width 1) (layer Top) (net 0) (tstamp FEA1DD8))
+ (via (at 137.85 88.5) (size 0.7564) (drill 0.35) (layers Top Bottom) (net 0) (tstamp FEA1F78))
+ (via (at 142.1011 105.9036) (size 0.7564) (drill 0.35) (layers Top Bottom) (net 0) (tstamp FEA4868))
+ (via (at 140.6011 107.4036) (size 0.7564) (drill 0.35) (layers Top Bottom) (net 0) (tstamp FEA4938))
+ (segment (start 161.8011 109.7036) (end 161.0011 108.9036) (width 0.1524) (layer Bottom) (net 0) (tstamp FEA4A08))
+ (segment (start 161.7011 112.2036) (end 160.8011 111.3036) (width 0.1524) (layer Bottom) (net 0) (tstamp FEA4BF8))
+ (segment (start 160.8011 111.3036) (end 140.6011 111.3036) (width 0.1524) (layer Bottom) (net 0) (tstamp FEA4C60))
+ (segment (start 140.6011 111.3036) (end 140.6011 107.7036) (width 0.1524) (layer Bottom) (net 0) (tstamp FEA4CC8))
+ (segment (start 159.7011 120.2036) (end 154.4011 120.2036) (width 1.016) (layer Bottom) (net 0) (tstamp FEA4D98))
+ (via (at 137.85 109.35) (size 0.7564) (drill 0.35) (layers Top Bottom) (net 0) (tstamp FEA4FA0))
+ (segment (start 160.0011 114.8036) (end 160.8011 113.9036) (width 0.1524) (layer Bottom) (net 0) (tstamp FEA51A8))
+ (segment (start 162.7011 115.2036) (end 164.7011 115.2036) (width 0.1524) (layer Bottom) (net 0) (tstamp FEA5348))
+ (segment (start 159.9011 117.3036) (end 160.8011 116.4036) (width 0.1524) (layer Bottom) (net 0) (tstamp FEA54E8))
+ (segment (start 160.8011 116.4036) (end 163.8011 116.4036) (width 0.1524) (layer Bottom) (net 0) (tstamp FEA5550))
+ (segment (start 161.7011 118.1036) (end 160.8011 119.0036) (width 0.1524) (layer Bottom) (net 0) (tstamp FEA5758))
+ (segment (start 160.8011 119.0036) (end 160.8011 123.5036) (width 0.1524) (layer Bottom) (net 0) (tstamp FEA57C0))
+ (segment (start 160.8011 123.5036) (end 157.7511 123.5036) (width 0.1524) (layer Bottom) (net 0) (tstamp FEA5828))
+ (segment (start 167.8011 94.8036) (end 170.2011 94.8036) (width 0.1524) (layer Top) (net 0) (tstamp FEA5960))
+ (segment (start 170.5011 107.5036) (end 167.7011 107.5036) (width 0.1524) (layer Top) (net 0) (tstamp FEA5B00))
+ (segment (start 170.5011 104.9036) (end 167.7011 104.9036) (width 0.1524) (layer Top) (net 0) (tstamp FEA5BD0))
+ (segment (start 167.7011 120.2036) (end 170.5011 120.2036) (width 0.1524) (layer Top) (net 0) (tstamp FEA5CA0))
+ (segment (start 167.8011 92.3036) (end 170.4011 92.3036) (width 0.508) (layer Top) (net 0) (tstamp FEA5D70))
+ (segment (start 167.8011 89.7036) (end 170.4011 89.7036) (width 0.508) (layer Top) (net 0) (tstamp FEA5E40))
+ (segment (start 167.8011 87.2036) (end 170.4011 87.2036) (width 0.508) (layer Top) (net 0) (tstamp FEA5F10))
+ (segment (start 166.7011 87.0036) (end 164.0011 84.3036) (width 1) (layer Bottom) (net 0) (tstamp FEA6320))
+ (segment (start 128.6011 105.8136) (end 128.6011 107.2136) (width 0.1524) (layer Top) (net 0) (tstamp FEA6C10))
+ (segment (start 126.0011 105.3136) (end 126.0011 107.2136) (width 0.1524) (layer Top) (net 0) (tstamp FEA6E18))
+ (segment (start 126.7011 92.3836) (end 127.9011 92.3836) (width 0.5) (layer Bottom) (net 0) (tstamp FEA72F8))
+ (segment (start 152.4011 89.7036) (end 154.3011 89.7036) (width 0.1524) (layer Bottom) (net 0) (tstamp FEA7500))
+ (segment (start 154.3011 89.7036) (end 154.3011 94.8036) (width 0.1524) (layer Bottom) (net 0) (tstamp FEA7568))
+ (segment (start 154.3011 94.8036) (end 159.0011 94.8036) (width 0.1524) (layer Bottom) (net 0) (tstamp FEA75D0))
+ (via (at 159.0011 94.8036) (size 0.7564) (drill 0.35) (layers Top Bottom) (net 0) (tstamp FEA7638))
+ (segment (start 159.3011 94.8036) (end 162.6011 94.8036) (width 0.1524) (layer Top) (net 0) (tstamp FEA7708))
+ (segment (start 162.6011 94.8036) (end 166.4011 98.6036) (width 0.1524) (layer Top) (net 0) (tstamp FEA7770))
+ (segment (start 166.4011 98.6036) (end 170.0011 98.6036) (width 0.1524) (layer Top) (net 0) (tstamp FEA77D8))
+ (segment (start 170.0011 98.6036) (end 170.6011 98.0036) (width 0.1524) (layer Top) (net 0) (tstamp FEA7840))
+ (segment (start 135 88.45) (end 135.534855 88.45) (width 0.1524) (layer Top) (net 0))
+ (segment (start 140.2964 84.3036) (end 164.0011 84.3036) (width 1) (layer Bottom) (net 0))
+ (segment (start 140.2964 84.3036) (end 140.2964 87.0036) (width 1) (layer Bottom) (net 0))
+ (segment (start 138.8 88.5) (end 137.85 88.5) (width 1) (layer Bottom) (net 0))
+ (segment (start 140.2964 87.0036) (end 138.8 88.5) (width 1) (layer Bottom) (net 0))
+ (segment (start 137.85 88.5) (end 140.3 88.5) (width 0.1524) (layer Top) (net 0))
+ (segment (start 137.85 84.7) (end 136.95 85.6) (width 0.1524) (layer Top) (net 0))
+ (segment (start 137.85 83.2) (end 137.85 84.7) (width 0.1524) (layer Top) (net 0))
+ (segment (start 136.95 85.6) (end 136.95 90.95) (width 0.1524) (layer Top) (net 0))
+ (segment (start 136.9 90.9) (end 135.3 90.9) (width 0.1524) (layer Top) (net 0))
+ (segment (start 136.95 90.95) (end 136.9 90.9) (width 0.1524) (layer Top) (net 0))
+ (segment (start 138.1 90.95) (end 136.95 90.95) (width 0.1524) (layer Top) (net 0))
+ (segment (start 138.95 90.1) (end 138.1 90.95) (width 0.1524) (layer Top) (net 0))
+ (segment (start 140.4 90.1) (end 138.95 90.1) (width 0.1524) (layer Top) (net 0))
+ (segment (start 140.4 87.7) (end 149.6 87.7) (width 0.1524) (layer Top) (net 0))
+ (segment (start 149.6 89.6572) (end 149.6464 89.7036) (width 0.1524) (layer Top) (net 0))
+ (segment (start 149.6 87.7) (end 149.6 89.6572) (width 0.1524) (layer Top) (net 0))
+ (segment (start 149.6011 89.7036) (end 149.6464 89.7036) (width 0.1524) (layer Top) (net 0))
+ (segment (start 149.6464 89.7036) (end 151.4011 89.7036) (width 0.1524) (layer Top) (net 0))
+ (segment (start 163.0011 93.6036) (end 148.0036 93.6036) (width 0.1524) (layer Top) (net 0))
+ (segment (start 147.0286 96.1036) (end 147.025 96.1) (width 0.1524) (layer Top) (net 0))
+ (segment (start 137.85 109.35) (end 137.85 107.45) (width 1) (layer Top) (net 0))
+ (segment (start 137.85 125.4525) (end 137.85 109.35) (width 1) (layer Bottom) (net 0))
+ (segment (start 137.9011 125.5036) (end 137.85 125.4525) (width 1) (layer Bottom) (net 0))
+ (segment (start 166.7011 102.3036) (end 163.1011 98.7036) (width 0.1524) (layer Top) (net 0))
+ (segment (start 159.6011 104.9036) (end 159.6011 107.0036) (width 0.1524) (layer Top) (net 0))
+ (segment (start 158.4011 103.7036) (end 159.6011 104.9036) (width 0.1524) (layer Top) (net 0))
+ (segment (start 140.6011 103.1011) (end 140.4 102.9) (width 0.1524) (layer Top) (net 0))
+ (segment (start 140.6011 107.4036) (end 140.6011 103.1011) (width 0.1524) (layer Top) (net 0))
+ (segment (start 142.1011 105.9036) (end 142.675 105.3297) (width 0.1524) (layer Top) (net 0))
+ (segment (start 142.675 105.3297) (end 142.675 102.125) (width 0.1524) (layer Top) (net 0))
+ (segment (start 142.65 102.1) (end 140.4 102.1) (width 0.1524) (layer Top) (net 0))
+ (segment (start 142.675 102.125) (end 142.65 102.1) (width 0.1524) (layer Top) (net 0))
+ (segment (start 159.0011 112.3036) (end 155.6011 108.9036) (width 0.1524) (layer Top) (net 0))
+ (segment (start 155.5547 106.2572) (end 155.62375 106.32625) (width 0.1524) (layer Top) (net 0))
+ (segment (start 159.1011 109.8036) (end 155.62375 106.32625) (width 0.1524) (layer Top) (net 0))
+ (segment (start 155.62375 106.32625) (end 155.6011 106.3036) (width 0.1524) (layer Top) (net 0))
+ (segment (start 130.25 105.275) (end 130.2114 105.3136) (width 0.1524) (layer Top) (net 0))
+ (segment (start 130.25 87.7) (end 130.25 105.275) (width 0.1524) (layer Top) (net 0))
+ (segment (start 135.3 87.7) (end 130.25 87.7) (width 0.1524) (layer Top) (net 0))
+ (segment (start 130.2114 105.3136) (end 126.0011 105.3136) (width 0.1524) (layer Top) (net 0))
+ (segment (start 130.625 88.5) (end 130.625 105.775) (width 0.1524) (layer Top) (net 0))
+ (segment (start 135.3 88.5) (end 130.625 88.5) (width 0.1524) (layer Top) (net 0))
+ (segment (start 130.5864 105.8136) (end 130.625 105.775) (width 0.1524) (layer Top) (net 0))
+ (segment (start 128.6011 105.8136) (end 130.5864 105.8136) (width 0.1524) (layer Top) (net 0))
+ (segment (start 133.9476 95.7) (end 133.9226 95.675) (width 0.1524) (layer Top) (net 0))
+ (segment (start 135.3 95.7) (end 133.9476 95.7) (width 0.1524) (layer Top) (net 0))
+ (segment (start 133.9226 95.675) (end 131.1 95.675) (width 0.1524) (layer Top) (net 0))
+ (segment (start 131.1 113.5622) (end 131.0186 113.6436) (width 0.1524) (layer Top) (net 0))
+ (segment (start 131.1 95.675) (end 131.1 113.5622) (width 0.1524) (layer Top) (net 0))
+ (segment (start 131.0186 113.6436) (end 126.6011 113.6436) (width 0.1524) (layer Top) (net 0))
+ (segment (start 140.4 91.7) (end 148 91.7) (width 0.1524) (layer Top) (net 0))
+ (segment (start 148 93.6) (end 148.0036 93.6036) (width 0.1524) (layer Top) (net 0))
+ (segment (start 148 91.7) (end 148 93.6) (width 0.1524) (layer Top) (net 0))
+ (segment (start 140.4 92.5) (end 147.65 92.5) (width 0.1524) (layer Top) (net 0))
+ (segment (start 147.65 92.5) (end 147.65 94.775) (width 0.1524) (layer Top) (net 0))
+ (segment (start 163.0011 91.0036) (end 166.6011 94.6036) (width 0.1524) (layer Top) (net 0))
+ (segment (start 148.875 90.875) (end 149.0036 91.0036) (width 0.1524) (layer Top) (net 0))
+ (segment (start 149.0036 91.0036) (end 163.0011 91.0036) (width 0.1524) (layer Top) (net 0))
+ (segment (start 140.4 89.3) (end 148.875 89.3) (width 0.1524) (layer Top) (net 0))
+ (segment (start 148.875 89.3) (end 148.875 90.875) (width 0.1524) (layer Top) (net 0))
+ (segment (start 140.4 93.3) (end 147.325 93.3) (width 0.1524) (layer Top) (net 0))
+ (segment (start 147.325 93.3) (end 147.325 96.025) (width 0.1524) (layer Top) (net 0))
+ (segment (start 163.0011 96.1036) (end 147.4036 96.1036) (width 0.1524) (layer Top) (net 0))
+ (segment (start 140.4 94.1) (end 147.025 94.1) (width 0.1524) (layer Top) (net 0))
+ (segment (start 147.025 94.1) (end 147.025 97.325) (width 0.1524) (layer Top) (net 0))
+ (segment (start 147.6986 94.8236) (end 151.9211 94.8236) (width 0.1524) (layer Top) (net 0))
+ (segment (start 147.65 94.775) (end 147.6986 94.8236) (width 0.1524) (layer Top) (net 0))
+ (segment (start 147.325 96.025) (end 147.4036 96.1036) (width 0.1524) (layer Top) (net 0))
+ (segment (start 148.325 90.9) (end 140.4 90.9) (width 0.1524) (layer Top) (net 0))
+ (segment (start 148.325 92.3) (end 148.325 90.9) (width 0.1524) (layer Top) (net 0))
+ (segment (start 150.862991 92.3) (end 148.325 92.3) (width 0.1524) (layer Top) (net 0))
+ (segment (start 151.9211 92.2836) (end 150.879391 92.2836) (width 0.1524) (layer Top) (net 0))
+ (segment (start 150.879391 92.2836) (end 150.862991 92.3) (width 0.1524) (layer Top) (net 0))
+ (segment (start 140.4 94.9) (end 146.675 94.9) (width 0.1524) (layer Top) (net 0))
+ (segment (start 146.675 94.9) (end 146.675 98.65) (width 0.1524) (layer Top) (net 0))
+ (segment (start 162.1011 104.0036) (end 162.1011 107.1036) (width 0.1524) (layer Top) (net 0))
+ (segment (start 159.2975 101.2) (end 162.1011 104.0036) (width 0.1524) (layer Top) (net 0))
+ (segment (start 146.05 101.2) (end 159.2975 101.2) (width 0.1524) (layer Top) (net 0))
+ (segment (start 147.0636 97.3636) (end 147.025 97.325) (width 0.1524) (layer Top) (net 0))
+ (segment (start 151.9211 97.3636) (end 147.0636 97.3636) (width 0.1524) (layer Top) (net 0))
+ (segment (start 146.7286 98.7036) (end 146.675 98.65) (width 0.1524) (layer Top) (net 0))
+ (segment (start 163.1011 98.7036) (end 146.7286 98.7036) (width 0.1524) (layer Top) (net 0))
+ (segment (start 145.4536 103.7036) (end 158.4011 103.7036) (width 0.1524) (layer Top) (net 0))
+ (segment (start 145.1286 105.0036) (end 151.4011 105.0036) (width 0.1524) (layer Top) (net 0))
+ (segment (start 144.7678 106.2572) (end 155.5547 106.2572) (width 0.1524) (layer Top) (net 0))
+ (segment (start 144.4536 107.6036) (end 151.4011 107.6036) (width 0.1524) (layer Top) (net 0))
+ (segment (start 155.6011 108.9036) (end 144.1214 108.9036) (width 0.1524) (layer Top) (net 0))
+ (segment (start 135.3 109.9822) (end 135.3214 110.0036) (width 0.1524) (layer Top) (net 0))
+ (segment (start 136.0214 115.1036) (end 135.9011 115.1036) (width 0.1524) (layer Top) (net 0))
+ (segment (start 151.4011 115.1036) (end 136.0214 115.1036) (width 0.1524) (layer Top) (net 0))
+ (segment (start 151.4011 120.3036) (end 135.2286 120.3036) (width 0.1524) (layer Top) (net 0))
+ (segment (start 135.5011 117.7036) (end 135.6464 117.7036) (width 0.1524) (layer Top) (net 0))
+ (segment (start 135.6464 117.7036) (end 151.4011 117.7036) (width 0.1524) (layer Top) (net 0))
+ (segment (start 135.3 94.9) (end 136.25 94.9) (width 0.1524) (layer Top) (net 0))
+ (segment (start 135.3 94.1) (end 136.25 94.1) (width 0.1524) (layer Top) (net 0))
+ (segment (start 135.3 89.3) (end 134.35 89.3) (width 0.1524) (layer Top) (net 0))
+ (segment (start 135.3 90.9) (end 134.35 90.9) (width 0.1524) (layer Top) (net 0))
+ (segment (start 135.825 88.5) (end 137.85 88.5) (width 0.5) (layer Bottom) (net 0))
+ (segment (start 135.775 85.15) (end 135.775 88.45) (width 0.5) (layer Bottom) (net 0))
+ (segment (start 135.775 88.45) (end 135.825 88.5) (width 0.1524) (layer Bottom) (net 0))
+ (segment (start 164.7011 123.2489) (end 164.7011 124.1236) (width 0.1524) (layer Bottom) (net 0))
+ (segment (start 128.5011 105.0136) (end 128.5011 107.1136) (width 0.1524) (layer Bottom) (net 0))
+ (segment (start 128.5011 104.7011) (end 128.5011 105.0136) (width 0.1524) (layer Bottom) (net 0))
+ (segment (start 140.5489 104.7011) (end 128.5011 104.7011) (width 0.1524) (layer Bottom) (net 0))
+ (segment (start 140.55 104.7) (end 140.5489 104.7011) (width 0.1524) (layer Bottom) (net 0))
+ (segment (start 166.6011 107.5036) (end 164.8011 107.5036) (width 0.1524) (layer Bottom) (net 0))
+ (segment (start 164.8011 107.5036) (end 164.8011 104.1261) (width 0.1524) (layer Bottom) (net 0))
+ (segment (start 125.9011 103.8489) (end 125.9011 107.1136) (width 0.1524) (layer Bottom) (net 0))
+ (segment (start 127.7489 102.0011) (end 125.9011 103.8489) (width 0.1524) (layer Bottom) (net 0))
+ (segment (start 139.1239 102.0011) (end 127.7489 102.0011) (width 0.1524) (layer Bottom) (net 0))
+ (segment (start 166.6011 104.9036) (end 165.8464 104.9036) (width 0.1524) (layer Bottom) (net 0))
+ (segment (start 165.8464 104.9036) (end 165.8464 103.2964) (width 0.1524) (layer Bottom) (net 0))
+ (segment (start 139.125 102) (end 139.1239 102.0011) (width 0.1524) (layer Bottom) (net 0))
+ (segment (start 143.375 108.1572) (end 144.1214 108.9036) (width 0.1524) (layer Top) (net 0))
+ (segment (start 143.375 101.3) (end 143.375 108.1572) (width 0.1524) (layer Top) (net 0))
+ (segment (start 140.4 101.3) (end 143.375 101.3) (width 0.1524) (layer Top) (net 0))
+ (segment (start 143.8 106.95) (end 144.4536 107.6036) (width 0.1524) (layer Top) (net 0))
+ (segment (start 143.8 100.5) (end 143.8 106.95) (width 0.1524) (layer Top) (net 0))
+ (segment (start 140.4 100.5) (end 143.8 100.5) (width 0.1524) (layer Top) (net 0))
+ (segment (start 144.225 105.7144) (end 144.7678 106.2572) (width 0.1524) (layer Top) (net 0))
+ (segment (start 144.225 99.7) (end 144.225 105.7144) (width 0.1524) (layer Top) (net 0))
+ (segment (start 140.4 99.7) (end 144.225 99.7) (width 0.1524) (layer Top) (net 0))
+ (segment (start 144.65 98.9) (end 144.65 104.525) (width 0.1524) (layer Top) (net 0))
+ (segment (start 144.65 104.525) (end 145.1286 105.0036) (width 0.1524) (layer Top) (net 0))
+ (segment (start 140.4 98.9) (end 144.65 98.9) (width 0.1524) (layer Top) (net 0))
+ (segment (start 145.075 103.325) (end 145.4536 103.7036) (width 0.1524) (layer Top) (net 0))
+ (segment (start 145.075 98.1) (end 145.075 103.325) (width 0.1524) (layer Top) (net 0))
+ (segment (start 140.4 98.1) (end 145.075 98.1) (width 0.1524) (layer Top) (net 0))
+ (segment (start 145.9464 102.5036) (end 151.4011 102.5036) (width 0.1524) (layer Top) (net 0))
+ (segment (start 145.7464 102.5036) (end 145.9464 102.5036) (width 0.1524) (layer Top) (net 0))
+ (segment (start 145.5 102.2572) (end 145.7464 102.5036) (width 0.1524) (layer Top) (net 0))
+ (segment (start 145.5 97.3) (end 145.5 102.2572) (width 0.1524) (layer Top) (net 0))
+ (segment (start 140.4 97.3) (end 145.5 97.3) (width 0.1524) (layer Top) (net 0))
+ (segment (start 145.85 101) (end 146.05 101.2) (width 0.1524) (layer Top) (net 0))
+ (segment (start 145.85 96.5) (end 145.85 101) (width 0.1524) (layer Top) (net 0))
+ (segment (start 140.4 96.5) (end 145.85 96.5) (width 0.1524) (layer Top) (net 0))
+ (segment (start 151.9211 99.9036) (end 146.3786 99.9036) (width 0.1524) (layer Top) (net 0))
+ (segment (start 146.3786 99.9036) (end 146.375 99.9) (width 0.1524) (layer Top) (net 0))
+ (segment (start 146.25 99.775) (end 146.375 99.9) (width 0.1524) (layer Top) (net 0))
+ (segment (start 146.25 95.7) (end 146.25 99.775) (width 0.1524) (layer Top) (net 0))
+ (segment (start 140.4 95.7) (end 146.25 95.7) (width 0.1524) (layer Top) (net 0))
+ (segment (start 135.1536 112.6036) (end 151.4011 112.6036) (width 0.1524) (layer Top) (net 0))
+ (segment (start 133.5 110.95) (end 135.1536 112.6036) (width 0.1524) (layer Top) (net 0))
+ (segment (start 133.5 102.1) (end 133.5 110.95) (width 0.1524) (layer Top) (net 0))
+ (segment (start 135.3 102.1) (end 133.5 102.1) (width 0.1524) (layer Top) (net 0))
+ (segment (start 135.2714 115.1036) (end 136.0214 115.1036) (width 0.1524) (layer Top) (net 0))
+ (segment (start 133.2 113.05) (end 135.2536 115.1036) (width 0.1524) (layer Top) (net 0))
+ (segment (start 135.2536 115.1036) (end 135.2714 115.1036) (width 0.1524) (layer Top) (net 0))
+ (segment (start 133.2 101.3) (end 133.2 113.05) (width 0.1524) (layer Top) (net 0))
+ (segment (start 135.3 101.3) (end 133.2 101.3) (width 0.1524) (layer Top) (net 0))
+ (segment (start 132.575 117.65) (end 135.2286 120.3036) (width 0.1524) (layer Top) (net 0))
+ (segment (start 132.575 99.7) (end 132.575 117.65) (width 0.1524) (layer Top) (net 0))
+ (segment (start 135.3 99.7) (end 132.575 99.7) (width 0.1524) (layer Top) (net 0))
+ (segment (start 164.3011 122.0036) (end 164.3011 115.5036) (width 0.1524) (layer Top) (net 0))
+ (segment (start 134.3011 122.0036) (end 164.3011 122.0036) (width 0.1524) (layer Top) (net 0))
+ (segment (start 131.975 119.6775) (end 134.3011 122.0036) (width 0.1524) (layer Top) (net 0))
+ (segment (start 164.3011 115.5036) (end 166.9011 112.9036) (width 0.1524) (layer Top) (net 0))
+ (segment (start 131.975 98.1) (end 131.975 119.6775) (width 0.1524) (layer Top) (net 0))
+ (segment (start 135.3 98.1) (end 131.975 98.1) (width 0.1524) (layer Top) (net 0))
+ (segment (start 165.6011 119.3036) (end 166.8011 118.1036) (width 0.1524) (layer Top) (net 0))
+ (segment (start 165.6011 122.8036) (end 165.6011 119.3036) (width 0.1524) (layer Top) (net 0))
+ (segment (start 135.3 96.5) (end 131.4 96.5) (width 0.1524) (layer Top) (net 0))
+ (segment (start 131.4 96.5) (end 131.4 121.325) (width 0.1524) (layer Top) (net 0))
+ (segment (start 131.4 121.325) (end 132.875 122.8) (width 0.1524) (layer Top) (net 0))
+ (segment (start 132.875 122.8) (end 133.4975 122.8) (width 0.1524) (layer Top) (net 0))
+ (segment (start 133.4975 122.8) (end 133.5011 122.8036) (width 0.1524) (layer Top) (net 0))
+ (segment (start 133.5011 122.8036) (end 165.6011 122.8036) (width 0.1524) (layer Top) (net 0))
+ (segment (start 131.7 97.3) (end 135.3 97.3) (width 0.1524) (layer Top) (net 0))
+ (segment (start 133.3536 122.4036) (end 131.7 120.75) (width 0.1524) (layer Top) (net 0))
+ (segment (start 165.0011 117.2036) (end 165.0011 122.4036) (width 0.1524) (layer Top) (net 0))
+ (segment (start 131.7 120.75) (end 131.7 97.3) (width 0.1524) (layer Top) (net 0))
+ (segment (start 166.7011 115.5036) (end 165.0011 117.2036) (width 0.1524) (layer Top) (net 0))
+ (segment (start 163.6011 113.6036) (end 166.8011 110.4036) (width 0.1524) (layer Top) (net 0))
+ (segment (start 163.6011 121.6036) (end 163.6011 113.6036) (width 0.1524) (layer Top) (net 0))
+ (segment (start 135.0536 121.6036) (end 163.6011 121.6036) (width 0.1524) (layer Top) (net 0))
+ (segment (start 132.25 118.8) (end 135.0536 121.6036) (width 0.1524) (layer Top) (net 0))
+ (segment (start 132.25 98.9) (end 132.25 118.8) (width 0.1524) (layer Top) (net 0))
+ (segment (start 135.3 98.9) (end 132.25 98.9) (width 0.1524) (layer Top) (net 0))
+ (segment (start 135.6428 117.7) (end 135.6464 117.7036) (width 0.1524) (layer Top) (net 0))
+ (segment (start 135.225 117.7) (end 135.6428 117.7) (width 0.1524) (layer Top) (net 0))
+ (segment (start 132.875 115.35) (end 135.225 117.7) (width 0.1524) (layer Top) (net 0))
+ (segment (start 132.875 100.5) (end 132.875 115.35) (width 0.1524) (layer Top) (net 0))
+ (segment (start 135.3 100.5) (end 132.875 100.5) (width 0.1524) (layer Top) (net 0))
+ (segment (start 141.0614 110.0636) (end 140.125 111) (width 0.1524) (layer Top) (net 0))
+ (segment (start 140.125 111) (end 135.325 111) (width 0.1524) (layer Top) (net 0))
+ (segment (start 135.3 110.975) (end 135.3 109.6) (width 0.1524) (layer Top) (net 0))
+ (segment (start 135.325 111) (end 135.3 110.975) (width 0.1524) (layer Top) (net 0))
+ (segment (start 135.3 102.9) (end 135.3 109.6) (width 0.1524) (layer Top) (net 0))
+ (segment (start 135.3 109.6) (end 135.3 109.9822) (width 0.1524) (layer Top) (net 0))
+ (segment (start 141.0614 110.0636) (end 151.9211 110.0636) (width 0.1524) (layer Top) (net 0))
+ (segment (start 161.425 98.875) (end 161.425 98.85) (width 0.1524) (layer Bottom) (net 0))
+ (segment (start 165.8464 103.2964) (end 161.425 98.875) (width 0.1524) (layer Bottom) (net 0))
+ (segment (start 161.425 98.85) (end 161.175 98.6) (width 0.1524) (layer Bottom) (net 0))
+ (segment (start 161.175 98.6) (end 139.55 98.6) (width 0.1524) (layer Bottom) (net 0))
+ (segment (start 139.55 98.6) (end 139.125 99.025) (width 0.1524) (layer Bottom) (net 0))
+ (segment (start 139.125 99.025) (end 139.125 102) (width 0.1524) (layer Bottom) (net 0))
+ (segment (start 161.95 101.275) (end 161.925 101.275) (width 0.1524) (layer Bottom) (net 0))
+ (segment (start 164.8011 104.1261) (end 161.95 101.275) (width 0.1524) (layer Bottom) (net 0))
+ (segment (start 161.925 101.275) (end 161.7 101.05) (width 0.1524) (layer Bottom) (net 0))
+ (segment (start 161.7 101.05) (end 140.925 101.05) (width 0.1524) (layer Bottom) (net 0))
+ (segment (start 140.925 101.05) (end 140.55 101.425) (width 0.1524) (layer Bottom) (net 0))
+ (segment (start 140.55 101.425) (end 140.55 104.7) (width 0.1524) (layer Bottom) (net 0))
+ (segment (start 161.0011 108.9036) (end 161.0011 108.9011) (width 0.1524) (layer Bottom) (net 0))
+ (segment (start 161.0011 108.9011) (end 160.875 108.775) (width 0.1524) (layer Bottom) (net 0))
+ (segment (start 142.25 108.775) (end 142.1011 108.6261) (width 0.1524) (layer Bottom) (net 0))
+ (segment (start 160.875 108.775) (end 142.25 108.775) (width 0.1524) (layer Bottom) (net 0))
+ (segment (start 142.1011 106.2036) (end 142.1011 108.6261) (width 0.1524) (layer Bottom) (net 0))
+ (segment (start 126.0011 86.8489) (end 127.7 85.15) (width 0.5) (layer Bottom) (net 0))
+ (segment (start 126.0011 86.8739) (end 126.0011 86.8489) (width 0.1524) (layer Bottom) (net 0))
+ (segment (start 127.7 85.15) (end 135.775 85.15) (width 0.5) (layer Bottom) (net 0))
+ (segment (start 126.0011 92.3836) (end 126.0011 86.8739) (width 0.5) (layer Bottom) (net 0))
+ (segment (start 171.1011 114.0036) (end 171.1011 117.6636) (width 0.1524) (layer Top) (net 0))
+ (segment (start 171.1 114.0025) (end 171.1011 114.0036) (width 0.1524) (layer Top) (net 0))
+ (segment (start 171.1 110.25) (end 171.1 114.0025) (width 0.1524) (layer Top) (net 0))
+ (segment (start 169.65 108.8) (end 171.1 110.25) (width 0.1524) (layer Top) (net 0))
+ (segment (start 151.9211 110.0636) (end 155.7575 113.9) (width 0.1524) (layer Top) (net 0))
+ (segment (start 155.7575 113.9) (end 160.9 113.9) (width 0.1524) (layer Top) (net 0))
+ (segment (start 160.9 113.9) (end 160.9 111.225) (width 0.1524) (layer Top) (net 0))
+ (segment (start 160.9 111.225) (end 163.55 111.225) (width 0.1524) (layer Top) (net 0))
+ (segment (start 163.55 111.225) (end 165.975 108.8) (width 0.1524) (layer Top) (net 0))
+ (segment (start 165.975 108.8) (end 169.65 108.8) (width 0.1524) (layer Top) (net 0))
+ (segment (start 165.0011 122.4036) (end 133.3536 122.4036) (width 0.1524) (layer Top) (net 0))
+ (segment (start 154.4011 125.5036) (end 137.9011 125.5036) (width 1.016) (layer Bottom) (net 0) (tstamp FEA4E68))
+ (segment (start 164.7011 123.2489) (end 164.7011 124.2036) (width 0.1524) (layer Bottom) (net 0))
+ (segment (start 164.7011 115.2036) (end 164.7011 123.2489) (width 0.1524) (layer Bottom) (net 0))
+ (segment (start 160.8011 113.9036) (end 165.4011 113.9036) (width 0.1524) (layer Bottom) (net 0) (tstamp FEA5210))
+ (segment (start 165.4011 113.9036) (end 165.4011 125.4036) (width 0.1524) (layer Bottom) (net 0) (tstamp FEA5278))
+ (segment (start 164.7011 124.2036) (end 163.4011 125.5036) (width 0.1524) (layer Bottom) (net 0) (tstamp FEA5418))
+ (segment (start 164.7011 124.1236) (end 162.8211 126.0036) (width 0.1524) (layer Bottom) (net 0))
+ (segment (start 163.8011 116.4036) (end 163.8011 122.3989) (width 0.1524) (layer Bottom) (net 0))
+ (segment (start 162.8011 123.4036) (end 162.8011 123.3989) (width 0.1524) (layer Bottom) (net 0))
+ (segment (start 157.7511 123.5036) (end 157.7511 125.5036) (width 0.1524) (layer Bottom) (net 0) (tstamp FEA5890))
+ (segment (start 154.4011 120.2036) (end 154.4011 125.5036) (width 1.016) (layer Bottom) (net 0) (tstamp FEA4E00))
+ (segment (start 162.8011 123.3989) (end 163.8011 122.3989) (width 0.1524) (layer Bottom) (net 0))
+ (segment (start 162.8011 123.4036) (end 160.8011 125.4036) (width 0.1524) (layer Bottom) (net 0) (tstamp FEA5688))
+
+ (zone (net 0) (net_name "") (layer Top) (tstamp FEA1008) (hatch edge 0.508)
+ (priority 6)
+ (connect_pads (clearance 0.000001))
+ (min_thickness 0.1524)
+ (fill yes (arc_segments 32) (thermal_gap 0.2024) (thermal_bridge_width 0.2024))
+ (polygon
+ (pts
+ (xy 123.6011 80.1036) (xy 173.4011 80.1036) (xy 173.4011 129.9036) (xy 123.6011 129.9036)
+ )
+ )
+ (filled_polygon
+ (pts
+ (xy 173.2499 129.752399) (xy 123.752301 129.752399) (xy 123.752301 126.443197) (xy 125.2725 126.443197) (xy 125.2725 126.764003)
+ (xy 125.335086 127.078645) (xy 125.457853 127.375031) (xy 125.636084 127.641772) (xy 125.862928 127.868616) (xy 126.129669 128.046847)
+ (xy 126.426055 128.169614) (xy 126.740697 128.2322) (xy 127.061503 128.2322) (xy 127.376145 128.169614) (xy 127.672531 128.046847)
+ (xy 127.939272 127.868616) (xy 128.166116 127.641772) (xy 128.344347 127.375031) (xy 128.467114 127.078645) (xy 128.5297 126.764003)
+ (xy 128.5297 126.443197) (xy 128.467114 126.128555) (xy 128.36769 125.888523) (xy 154.0327 125.888523) (xy 154.0327 126.118677)
+ (xy 154.077601 126.34441) (xy 154.165678 126.557045) (xy 154.293545 126.748411) (xy 154.456289 126.911155) (xy 154.647655 127.039022)
+ (xy 154.86029 127.127099) (xy 155.086023 127.172) (xy 155.316177 127.172) (xy 155.54191 127.127099) (xy 155.754545 127.039022)
+ (xy 155.945911 126.911155) (xy 156.108655 126.748411) (xy 156.236522 126.557045) (xy 156.324599 126.34441) (xy 156.3695 126.118677)
+ (xy 156.3695 125.888523) (xy 156.5727 125.888523) (xy 156.5727 126.118677) (xy 156.617601 126.34441) (xy 156.705678 126.557045)
+ (xy 156.833545 126.748411) (xy 156.996289 126.911155) (xy 157.187655 127.039022) (xy 157.40029 127.127099) (xy 157.626023 127.172)
+ (xy 157.856177 127.172) (xy 158.08191 127.127099) (xy 158.294545 127.039022) (xy 158.485911 126.911155) (xy 158.648655 126.748411)
+ (xy 158.776522 126.557045) (xy 158.864599 126.34441) (xy 158.9095 126.118677) (xy 158.9095 125.888523) (xy 159.1127 125.888523)
+ (xy 159.1127 126.118677) (xy 159.157601 126.34441) (xy 159.245678 126.557045) (xy 159.373545 126.748411) (xy 159.536289 126.911155)
+ (xy 159.727655 127.039022) (xy 159.94029 127.127099) (xy 160.166023 127.172) (xy 160.396177 127.172) (xy 160.62191 127.127099)
+ (xy 160.834545 127.039022) (xy 161.025911 126.911155) (xy 161.188655 126.748411) (xy 161.316522 126.557045) (xy 161.404599 126.34441)
+ (xy 161.4495 126.118677) (xy 161.4495 125.888523) (xy 161.6527 125.888523) (xy 161.6527 126.118677) (xy 161.697601 126.34441)
+ (xy 161.785678 126.557045) (xy 161.913545 126.748411) (xy 162.076289 126.911155) (xy 162.267655 127.039022) (xy 162.48029 127.127099)
+ (xy 162.706023 127.172) (xy 162.936177 127.172) (xy 163.16191 127.127099) (xy 163.374545 127.039022) (xy 163.565911 126.911155)
+ (xy 163.728655 126.748411) (xy 163.856522 126.557045) (xy 163.944599 126.34441) (xy 163.9895 126.118677) (xy 163.9895 125.888523)
+ (xy 164.1927 125.888523) (xy 164.1927 126.118677) (xy 164.237601 126.34441) (xy 164.325678 126.557045) (xy 164.453545 126.748411)
+ (xy 164.616289 126.911155) (xy 164.807655 127.039022) (xy 165.02029 127.127099) (xy 165.246023 127.172) (xy 165.476177 127.172)
+ (xy 165.70191 127.127099) (xy 165.914545 127.039022) (xy 166.105911 126.911155) (xy 166.268655 126.748411) (xy 166.396522 126.557045)
+ (xy 166.443679 126.443197) (xy 168.5725 126.443197) (xy 168.5725 126.764003) (xy 168.635086 127.078645) (xy 168.757853 127.375031)
+ (xy 168.936084 127.641772) (xy 169.162928 127.868616) (xy 169.429669 128.046847) (xy 169.726055 128.169614) (xy 170.040697 128.2322)
+ (xy 170.361503 128.2322) (xy 170.676145 128.169614) (xy 170.972531 128.046847) (xy 171.239272 127.868616) (xy 171.466116 127.641772)
+ (xy 171.644347 127.375031) (xy 171.767114 127.078645) (xy 171.8297 126.764003) (xy 171.8297 126.443197) (xy 171.767114 126.128555)
+ (xy 171.644347 125.832169) (xy 171.466116 125.565428) (xy 171.239272 125.338584) (xy 170.972531 125.160353) (xy 170.676145 125.037586)
+ (xy 170.361503 124.975) (xy 170.040697 124.975) (xy 169.726055 125.037586) (xy 169.429669 125.160353) (xy 169.162928 125.338584)
+ (xy 168.936084 125.565428) (xy 168.757853 125.832169) (xy 168.635086 126.128555) (xy 168.5725 126.443197) (xy 166.443679 126.443197)
+ (xy 166.484599 126.34441) (xy 166.5295 126.118677) (xy 166.5295 125.888523) (xy 166.484599 125.66279) (xy 166.396522 125.450155)
+ (xy 166.268655 125.258789) (xy 166.105911 125.096045) (xy 165.914545 124.968178) (xy 165.70191 124.880101) (xy 165.476177 124.8352)
+ (xy 165.246023 124.8352) (xy 165.02029 124.880101) (xy 164.807655 124.968178) (xy 164.616289 125.096045) (xy 164.453545 125.258789)
+ (xy 164.325678 125.450155) (xy 164.237601 125.66279) (xy 164.1927 125.888523) (xy 163.9895 125.888523) (xy 163.944599 125.66279)
+ (xy 163.856522 125.450155) (xy 163.728655 125.258789) (xy 163.565911 125.096045) (xy 163.374545 124.968178) (xy 163.16191 124.880101)
+ (xy 162.936177 124.8352) (xy 162.706023 124.8352) (xy 162.48029 124.880101) (xy 162.267655 124.968178) (xy 162.076289 125.096045)
+ (xy 161.913545 125.258789) (xy 161.785678 125.450155) (xy 161.697601 125.66279) (xy 161.6527 125.888523) (xy 161.4495 125.888523)
+ (xy 161.404599 125.66279) (xy 161.316522 125.450155) (xy 161.188655 125.258789) (xy 161.025911 125.096045) (xy 160.834545 124.968178)
+ (xy 160.62191 124.880101) (xy 160.396177 124.8352) (xy 160.166023 124.8352) (xy 159.94029 124.880101) (xy 159.727655 124.968178)
+ (xy 159.536289 125.096045) (xy 159.373545 125.258789) (xy 159.245678 125.450155) (xy 159.157601 125.66279) (xy 159.1127 125.888523)
+ (xy 158.9095 125.888523) (xy 158.864599 125.66279) (xy 158.776522 125.450155) (xy 158.648655 125.258789) (xy 158.485911 125.096045)
+ (xy 158.294545 124.968178) (xy 158.08191 124.880101) (xy 157.856177 124.8352) (xy 157.626023 124.8352) (xy 157.40029 124.880101)
+ (xy 157.187655 124.968178) (xy 156.996289 125.096045) (xy 156.833545 125.258789) (xy 156.705678 125.450155) (xy 156.617601 125.66279)
+ (xy 156.5727 125.888523) (xy 156.3695 125.888523) (xy 156.324599 125.66279) (xy 156.236522 125.450155) (xy 156.108655 125.258789)
+ (xy 155.945911 125.096045) (xy 155.754545 124.968178) (xy 155.54191 124.880101) (xy 155.316177 124.8352) (xy 155.086023 124.8352)
+ (xy 154.86029 124.880101) (xy 154.647655 124.968178) (xy 154.456289 125.096045) (xy 154.293545 125.258789) (xy 154.165678 125.450155)
+ (xy 154.077601 125.66279) (xy 154.0327 125.888523) (xy 128.36769 125.888523) (xy 128.344347 125.832169) (xy 128.166116 125.565428)
+ (xy 127.939272 125.338584) (xy 127.672531 125.160353) (xy 127.376145 125.037586) (xy 127.061503 124.975) (xy 126.740697 124.975)
+ (xy 126.426055 125.037586) (xy 126.129669 125.160353) (xy 125.862928 125.338584) (xy 125.636084 125.565428) (xy 125.457853 125.832169)
+ (xy 125.335086 126.128555) (xy 125.2725 126.443197) (xy 123.752301 126.443197) (xy 123.752301 107.598523) (xy 124.8327 107.598523)
+ (xy 124.8327 107.828677) (xy 124.877601 108.05441) (xy 124.965678 108.267045) (xy 125.093545 108.458411) (xy 125.256289 108.621155)
+ (xy 125.447655 108.749022) (xy 125.66029 108.837099) (xy 125.886023 108.882) (xy 126.116177 108.882) (xy 126.34191 108.837099)
+ (xy 126.554545 108.749022) (xy 126.745911 108.621155) (xy 126.908655 108.458411) (xy 127.036522 108.267045) (xy 127.124599 108.05441)
+ (xy 127.1695 107.828677) (xy 127.1695 107.598523) (xy 127.124599 107.37279) (xy 127.036522 107.160155) (xy 126.908655 106.968789)
+ (xy 126.745911 106.806045) (xy 126.554545 106.678178) (xy 126.34191 106.590101) (xy 126.3059 106.582938) (xy 126.3059 105.6184)
+ (xy 128.366995 105.6184) (xy 128.346442 105.643443) (xy 128.31814 105.696394) (xy 128.300711 105.753849) (xy 128.294826 105.8136)
+ (xy 128.2963 105.828566) (xy 128.296301 106.571003) (xy 128.20029 106.590101) (xy 127.987655 106.678178) (xy 127.796289 106.806045)
+ (xy 127.633545 106.968789) (xy 127.505678 107.160155) (xy 127.417601 107.37279) (xy 127.3727 107.598523) (xy 127.3727 107.828677)
+ (xy 127.417601 108.05441) (xy 127.505678 108.267045) (xy 127.633545 108.458411) (xy 127.796289 108.621155) (xy 127.987655 108.749022)
+ (xy 128.20029 108.837099) (xy 128.426023 108.882) (xy 128.656177 108.882) (xy 128.88191 108.837099) (xy 129.094545 108.749022)
+ (xy 129.285911 108.621155) (xy 129.448655 108.458411) (xy 129.576522 108.267045) (xy 129.664599 108.05441) (xy 129.7095 107.828677)
+ (xy 129.7095 107.598523) (xy 129.664599 107.37279) (xy 129.576522 107.160155) (xy 129.448655 106.968789) (xy 129.285911 106.806045)
+ (xy 129.094545 106.678178) (xy 128.9059 106.600038) (xy 128.9059 106.1184) (xy 130.571442 106.1184) (xy 130.5864 106.119873)
+ (xy 130.601358 106.1184) (xy 130.601366 106.1184) (xy 130.646151 106.113989) (xy 130.703606 106.09656) (xy 130.756557 106.068258)
+ (xy 130.795201 106.036543) (xy 130.795201 113.3388) (xy 127.131762 113.3388) (xy 127.124599 113.30279) (xy 127.036522 113.090155)
+ (xy 126.908655 112.898789) (xy 126.745911 112.736045) (xy 126.554545 112.608178) (xy 126.34191 112.520101) (xy 126.116177 112.4752)
+ (xy 125.886023 112.4752) (xy 125.66029 112.520101) (xy 125.447655 112.608178) (xy 125.256289 112.736045) (xy 125.093545 112.898789)
+ (xy 124.965678 113.090155) (xy 124.877601 113.30279) (xy 124.8327 113.528523) (xy 124.8327 113.758677) (xy 124.877601 113.98441)
+ (xy 124.965678 114.197045) (xy 125.093545 114.388411) (xy 125.256289 114.551155) (xy 125.447655 114.679022) (xy 125.66029 114.767099)
+ (xy 125.886023 114.812) (xy 126.116177 114.812) (xy 126.34191 114.767099) (xy 126.554545 114.679022) (xy 126.745911 114.551155)
+ (xy 126.908655 114.388411) (xy 127.036522 114.197045) (xy 127.124599 113.98441) (xy 127.131762 113.9484) (xy 131.003642 113.9484)
+ (xy 131.0186 113.949873) (xy 131.033558 113.9484) (xy 131.033566 113.9484) (xy 131.078351 113.943989) (xy 131.095201 113.938878)
+ (xy 131.095201 121.310032) (xy 131.093727 121.325) (xy 131.099611 121.384751) (xy 131.11704 121.442205) (xy 131.117041 121.442206)
+ (xy 131.145343 121.495157) (xy 131.183433 121.541568) (xy 131.195057 121.551108) (xy 132.648891 123.004943) (xy 132.658432 123.016568)
+ (xy 132.704843 123.054658) (xy 132.757794 123.08296) (xy 132.815248 123.100389) (xy 132.820889 123.100945) (xy 132.860034 123.1048)
+ (xy 132.860041 123.1048) (xy 132.874999 123.106273) (xy 132.889957 123.1048) (xy 133.449583 123.1048) (xy 133.486134 123.1084)
+ (xy 133.486141 123.1084) (xy 133.501099 123.109873) (xy 133.516057 123.1084) (xy 165.586134 123.1084) (xy 165.6011 123.109874)
+ (xy 165.616065 123.1084) (xy 165.616066 123.1084) (xy 165.660851 123.103989) (xy 165.718306 123.08656) (xy 165.771257 123.058258)
+ (xy 165.817668 123.020168) (xy 165.855758 122.973757) (xy 165.88406 122.920806) (xy 165.901489 122.863351) (xy 165.907374 122.8036)
+ (xy 165.9059 122.788634) (xy 165.9059 120.128536) (xy 166.1959 120.128536) (xy 166.1959 120.318664) (xy 166.232992 120.505138)
+ (xy 166.305751 120.680794) (xy 166.41138 120.838879) (xy 166.545821 120.97332) (xy 166.703906 121.078949) (xy 166.879562 121.151708)
+ (xy 167.066036 121.1888) (xy 167.256164 121.1888) (xy 167.442638 121.151708) (xy 167.618294 121.078949) (xy 167.776379 120.97332)
+ (xy 167.91082 120.838879) (xy 168.016449 120.680794) (xy 168.087857 120.5084) (xy 169.970438 120.5084) (xy 169.977601 120.54441)
+ (xy 170.065678 120.757045) (xy 170.193545 120.948411) (xy 170.356289 121.111155) (xy 170.547655 121.239022) (xy 170.76029 121.327099)
+ (xy 170.986023 121.372) (xy 171.216177 121.372) (xy 171.44191 121.327099) (xy 171.654545 121.239022) (xy 171.845911 121.111155)
+ (xy 172.008655 120.948411) (xy 172.136522 120.757045) (xy 172.224599 120.54441) (xy 172.2695 120.318677) (xy 172.2695 120.088523)
+ (xy 172.224599 119.86279) (xy 172.136522 119.650155) (xy 172.008655 119.458789) (xy 171.845911 119.296045) (xy 171.654545 119.168178)
+ (xy 171.44191 119.080101) (xy 171.216177 119.0352) (xy 170.986023 119.0352) (xy 170.76029 119.080101) (xy 170.547655 119.168178)
+ (xy 170.356289 119.296045) (xy 170.193545 119.458789) (xy 170.065678 119.650155) (xy 169.977601 119.86279) (xy 169.970438 119.8988)
+ (xy 168.071288 119.8988) (xy 168.016449 119.766406) (xy 167.91082 119.608321) (xy 167.776379 119.47388) (xy 167.618294 119.368251)
+ (xy 167.442638 119.295492) (xy 167.256164 119.2584) (xy 167.066036 119.2584) (xy 166.879562 119.295492) (xy 166.703906 119.368251)
+ (xy 166.545821 119.47388) (xy 166.41138 119.608321) (xy 166.305751 119.766406) (xy 166.232992 119.942062) (xy 166.1959 120.128536)
+ (xy 165.9059 120.128536) (xy 165.9059 119.429851) (xy 166.769594 118.566158) (xy 166.879562 118.611708) (xy 167.066036 118.6488)
+ (xy 167.256164 118.6488) (xy 167.442638 118.611708) (xy 167.618294 118.538949) (xy 167.776379 118.43332) (xy 167.91082 118.298879)
+ (xy 168.016449 118.140794) (xy 168.071288 118.0084) (xy 169.979254 118.0084) (xy 170.065678 118.217045) (xy 170.193545 118.408411)
+ (xy 170.356289 118.571155) (xy 170.547655 118.699022) (xy 170.76029 118.787099) (xy 170.986023 118.832) (xy 171.216177 118.832)
+ (xy 171.44191 118.787099) (xy 171.654545 118.699022) (xy 171.845911 118.571155) (xy 172.008655 118.408411) (xy 172.136522 118.217045)
+ (xy 172.224599 118.00441) (xy 172.2695 117.778677) (xy 172.2695 117.548523) (xy 172.224599 117.32279) (xy 172.136522 117.110155)
+ (xy 172.008655 116.918789) (xy 171.845911 116.756045) (xy 171.654545 116.628178) (xy 171.44191 116.540101) (xy 171.216177 116.4952)
+ (xy 170.986023 116.4952) (xy 170.76029 116.540101) (xy 170.547655 116.628178) (xy 170.356289 116.756045) (xy 170.193545 116.918789)
+ (xy 170.065678 117.110155) (xy 169.977601 117.32279) (xy 169.962482 117.3988) (xy 168.087857 117.3988) (xy 168.016449 117.226406)
+ (xy 167.91082 117.068321) (xy 167.776379 116.93388) (xy 167.618294 116.828251) (xy 167.442638 116.755492) (xy 167.256164 116.7184)
+ (xy 167.066036 116.7184) (xy 166.879562 116.755492) (xy 166.703906 116.828251) (xy 166.545821 116.93388) (xy 166.41138 117.068321)
+ (xy 166.305751 117.226406) (xy 166.232992 117.402062) (xy 166.1959 117.588536) (xy 166.1959 117.778664) (xy 166.232992 117.965138)
+ (xy 166.305751 118.140794) (xy 166.316607 118.157041) (xy 165.396157 119.077492) (xy 165.384533 119.087032) (xy 165.346443 119.133443)
+ (xy 165.331315 119.161746) (xy 165.31814 119.186395) (xy 165.3059 119.226744) (xy 165.3059 117.329851) (xy 166.663681 115.972071)
+ (xy 166.703906 115.998949) (xy 166.879562 116.071708) (xy 167.066036 116.1088) (xy 167.256164 116.1088) (xy 167.442638 116.071708)
+ (xy 167.618294 115.998949) (xy 167.776379 115.89332) (xy 167.91082 115.758879) (xy 168.016449 115.600794) (xy 168.089208 115.425138)
+ (xy 168.1263 115.238664) (xy 168.1263 115.048536) (xy 168.089208 114.862062) (xy 168.016449 114.686406) (xy 167.91082 114.528321)
+ (xy 167.776379 114.39388) (xy 167.618294 114.288251) (xy 167.442638 114.215492) (xy 167.256164 114.1784) (xy 167.066036 114.1784)
+ (xy 166.879562 114.215492) (xy 166.703906 114.288251) (xy 166.545821 114.39388) (xy 166.41138 114.528321) (xy 166.305751 114.686406)
+ (xy 166.232992 114.862062) (xy 166.1959 115.048536) (xy 166.1959 115.238664) (xy 166.232992 115.425138) (xy 166.266826 115.506822)
+ (xy 164.796161 116.977488) (xy 164.784532 116.987032) (xy 164.746442 117.033444) (xy 164.71814 117.086395) (xy 164.700711 117.14385)
+ (xy 164.6963 117.188635) (xy 164.6963 117.188642) (xy 164.694827 117.2036) (xy 164.6963 117.218558) (xy 164.696301 122.0988)
+ (xy 164.590736 122.0988) (xy 164.601489 122.063351) (xy 164.607374 122.0036) (xy 164.6059 121.988634) (xy 164.6059 115.629851)
+ (xy 166.755452 113.4803) (xy 166.879562 113.531708) (xy 167.066036 113.5688) (xy 167.256164 113.5688) (xy 167.442638 113.531708)
+ (xy 167.618294 113.458949) (xy 167.776379 113.35332) (xy 167.91082 113.218879) (xy 168.016449 113.060794) (xy 168.089208 112.885138)
+ (xy 168.1263 112.698664) (xy 168.1263 112.508536) (xy 168.089208 112.322062) (xy 168.016449 112.146406) (xy 167.91082 111.988321)
+ (xy 167.776379 111.85388) (xy 167.618294 111.748251) (xy 167.442638 111.675492) (xy 167.256164 111.6384) (xy 167.066036 111.6384)
+ (xy 166.879562 111.675492) (xy 166.703906 111.748251) (xy 166.545821 111.85388) (xy 166.41138 111.988321) (xy 166.305751 112.146406)
+ (xy 166.232992 112.322062) (xy 166.1959 112.508536) (xy 166.1959 112.698664) (xy 166.232992 112.885138) (xy 166.305751 113.060794)
+ (xy 166.308596 113.065052) (xy 164.096157 115.277492) (xy 164.084533 115.287032) (xy 164.046443 115.333443) (xy 164.03318 115.358257)
+ (xy 164.01814 115.386395) (xy 164.000711 115.443849) (xy 163.994827 115.5036) (xy 163.996301 115.518568) (xy 163.9963 121.6988)
+ (xy 163.890736 121.6988) (xy 163.901489 121.663351) (xy 163.907374 121.6036) (xy 163.9059 121.588634) (xy 163.9059 113.729851)
+ (xy 166.713025 110.922726) (xy 166.879562 110.991708) (xy 167.066036 111.0288) (xy 167.256164 111.0288) (xy 167.442638 110.991708)
+ (xy 167.618294 110.918949) (xy 167.776379 110.81332) (xy 167.91082 110.678879) (xy 168.016449 110.520794) (xy 168.089208 110.345138)
+ (xy 168.1263 110.158664) (xy 168.1263 109.968536) (xy 168.089208 109.782062) (xy 168.016449 109.606406) (xy 167.91082 109.448321)
+ (xy 167.776379 109.31388) (xy 167.618294 109.208251) (xy 167.442638 109.135492) (xy 167.256164 109.0984) (xy 167.066036 109.0984)
+ (xy 166.879562 109.135492) (xy 166.703906 109.208251) (xy 166.545821 109.31388) (xy 166.41138 109.448321) (xy 166.305751 109.606406)
+ (xy 166.232992 109.782062) (xy 166.1959 109.968536) (xy 166.1959 110.158664) (xy 166.232992 110.345138) (xy 166.290258 110.48339)
+ (xy 163.396157 113.377492) (xy 163.384533 113.387032) (xy 163.346443 113.433443) (xy 163.340269 113.444995) (xy 163.31814 113.486395)
+ (xy 163.300711 113.543849) (xy 163.294827 113.6036) (xy 163.296301 113.618568) (xy 163.2963 121.2988) (xy 135.179852 121.2988)
+ (xy 132.5548 118.673749) (xy 132.5548 118.060851) (xy 135.002492 120.508544) (xy 135.012032 120.520168) (xy 135.058443 120.558258)
+ (xy 135.098829 120.579844) (xy 135.111394 120.58656) (xy 135.168848 120.603989) (xy 135.174489 120.604545) (xy 135.213634 120.6084)
+ (xy 135.213641 120.6084) (xy 135.228599 120.609873) (xy 135.243557 120.6084) (xy 151.035764 120.6084) (xy 151.065751 120.680794)
+ (xy 151.17138 120.838879) (xy 151.305821 120.97332) (xy 151.463906 121.078949) (xy 151.639562 121.151708) (xy 151.826036 121.1888)
+ (xy 152.016164 121.1888) (xy 152.202638 121.151708) (xy 152.378294 121.078949) (xy 152.536379 120.97332) (xy 152.67082 120.838879)
+ (xy 152.776449 120.680794) (xy 152.849208 120.505138) (xy 152.8863 120.318664) (xy 152.8863 120.128536) (xy 158.5759 120.128536)
+ (xy 158.5759 120.318664) (xy 158.612992 120.505138) (xy 158.685751 120.680794) (xy 158.79138 120.838879) (xy 158.925821 120.97332)
+ (xy 159.083906 121.078949) (xy 159.259562 121.151708) (xy 159.446036 121.1888) (xy 159.636164 121.1888) (xy 159.822638 121.151708)
+ (xy 159.998294 121.078949) (xy 160.156379 120.97332) (xy 160.29082 120.838879) (xy 160.396449 120.680794) (xy 160.469208 120.505138)
+ (xy 160.5063 120.318664) (xy 160.5063 120.128536) (xy 161.1159 120.128536) (xy 161.1159 120.318664) (xy 161.152992 120.505138)
+ (xy 161.225751 120.680794) (xy 161.33138 120.838879) (xy 161.465821 120.97332) (xy 161.623906 121.078949) (xy 161.799562 121.151708)
+ (xy 161.986036 121.1888) (xy 162.176164 121.1888) (xy 162.362638 121.151708) (xy 162.538294 121.078949) (xy 162.696379 120.97332)
+ (xy 162.83082 120.838879) (xy 162.936449 120.680794) (xy 163.009208 120.505138) (xy 163.0463 120.318664) (xy 163.0463 120.128536)
+ (xy 163.009208 119.942062) (xy 162.936449 119.766406) (xy 162.83082 119.608321) (xy 162.696379 119.47388) (xy 162.538294 119.368251)
+ (xy 162.362638 119.295492) (xy 162.176164 119.2584) (xy 161.986036 119.2584) (xy 161.799562 119.295492) (xy 161.623906 119.368251)
+ (xy 161.465821 119.47388) (xy 161.33138 119.608321) (xy 161.225751 119.766406) (xy 161.152992 119.942062) (xy 161.1159 120.128536)
+ (xy 160.5063 120.128536) (xy 160.469208 119.942062) (xy 160.396449 119.766406) (xy 160.29082 119.608321) (xy 160.156379 119.47388)
+ (xy 159.998294 119.368251) (xy 159.822638 119.295492) (xy 159.636164 119.2584) (xy 159.446036 119.2584) (xy 159.259562 119.295492)
+ (xy 159.083906 119.368251) (xy 158.925821 119.47388) (xy 158.79138 119.608321) (xy 158.685751 119.766406) (xy 158.612992 119.942062)
+ (xy 158.5759 120.128536) (xy 152.8863 120.128536) (xy 152.849208 119.942062) (xy 152.776449 119.766406) (xy 152.67082 119.608321)
+ (xy 152.536379 119.47388) (xy 152.378294 119.368251) (xy 152.202638 119.295492) (xy 152.016164 119.2584) (xy 151.826036 119.2584)
+ (xy 151.639562 119.295492) (xy 151.463906 119.368251) (xy 151.305821 119.47388) (xy 151.17138 119.608321) (xy 151.065751 119.766406)
+ (xy 150.992992 119.942062) (xy 150.981706 119.9988) (xy 135.354852 119.9988) (xy 132.8798 117.523749) (xy 132.8798 115.785851)
+ (xy 134.998891 117.904943) (xy 135.008432 117.916568) (xy 135.054843 117.954658) (xy 135.107794 117.98296) (xy 135.165248 118.000389)
+ (xy 135.170403 118.000897) (xy 135.210034 118.0048) (xy 135.210042 118.0048) (xy 135.225 118.006273) (xy 135.239958 118.0048)
+ (xy 135.449583 118.0048) (xy 135.486134 118.0084) (xy 135.631441 118.0084) (xy 135.646399 118.009873) (xy 135.661357 118.0084)
+ (xy 151.010912 118.0084) (xy 151.065751 118.140794) (xy 151.17138 118.298879) (xy 151.305821 118.43332) (xy 151.463906 118.538949)
+ (xy 151.639562 118.611708) (xy 151.826036 118.6488) (xy 152.016164 118.6488) (xy 152.202638 118.611708) (xy 152.378294 118.538949)
+ (xy 152.536379 118.43332) (xy 152.67082 118.298879) (xy 152.776449 118.140794) (xy 152.849208 117.965138) (xy 152.8863 117.778664)
+ (xy 152.8863 117.588536) (xy 158.5759 117.588536) (xy 158.5759 117.778664) (xy 158.612992 117.965138) (xy 158.685751 118.140794)
+ (xy 158.79138 118.298879) (xy 158.925821 118.43332) (xy 159.083906 118.538949) (xy 159.259562 118.611708) (xy 159.446036 118.6488)
+ (xy 159.636164 118.6488) (xy 159.822638 118.611708) (xy 159.998294 118.538949) (xy 160.156379 118.43332) (xy 160.29082 118.298879)
+ (xy 160.396449 118.140794) (xy 160.469208 117.965138) (xy 160.5063 117.778664) (xy 160.5063 117.588536) (xy 161.1159 117.588536)
+ (xy 161.1159 117.778664) (xy 161.152992 117.965138) (xy 161.225751 118.140794) (xy 161.33138 118.298879) (xy 161.465821 118.43332)
+ (xy 161.623906 118.538949) (xy 161.799562 118.611708) (xy 161.986036 118.6488) (xy 162.176164 118.6488) (xy 162.362638 118.611708)
+ (xy 162.538294 118.538949) (xy 162.696379 118.43332) (xy 162.83082 118.298879) (xy 162.936449 118.140794) (xy 163.009208 117.965138)
+ (xy 163.0463 117.778664) (xy 163.0463 117.588536) (xy 163.009208 117.402062) (xy 162.936449 117.226406) (xy 162.83082 117.068321)
+ (xy 162.696379 116.93388) (xy 162.538294 116.828251) (xy 162.362638 116.755492) (xy 162.176164 116.7184) (xy 161.986036 116.7184)
+ (xy 161.799562 116.755492) (xy 161.623906 116.828251) (xy 161.465821 116.93388) (xy 161.33138 117.068321) (xy 161.225751 117.226406)
+ (xy 161.152992 117.402062) (xy 161.1159 117.588536) (xy 160.5063 117.588536) (xy 160.469208 117.402062) (xy 160.396449 117.226406)
+ (xy 160.29082 117.068321) (xy 160.156379 116.93388) (xy 159.998294 116.828251) (xy 159.822638 116.755492) (xy 159.636164 116.7184)
+ (xy 159.446036 116.7184) (xy 159.259562 116.755492) (xy 159.083906 116.828251) (xy 158.925821 116.93388) (xy 158.79138 117.068321)
+ (xy 158.685751 117.226406) (xy 158.612992 117.402062) (xy 158.5759 117.588536) (xy 152.8863 117.588536) (xy 152.849208 117.402062)
+ (xy 152.776449 117.226406) (xy 152.67082 117.068321) (xy 152.536379 116.93388) (xy 152.378294 116.828251) (xy 152.202638 116.755492)
+ (xy 152.016164 116.7184) (xy 151.826036 116.7184) (xy 151.639562 116.755492) (xy 151.463906 116.828251) (xy 151.305821 116.93388)
+ (xy 151.17138 117.068321) (xy 151.065751 117.226406) (xy 150.994343 117.3988) (xy 135.694317 117.3988) (xy 135.657766 117.3952)
+ (xy 135.657758 117.3952) (xy 135.6428 117.393727) (xy 135.627842 117.3952) (xy 135.351252 117.3952) (xy 133.1798 115.223749)
+ (xy 133.1798 113.460851) (xy 135.027492 115.308544) (xy 135.037032 115.320168) (xy 135.083443 115.358258) (xy 135.136083 115.386394)
+ (xy 135.136394 115.38656) (xy 135.193848 115.403989) (xy 135.199003 115.404497) (xy 135.238634 115.4084) (xy 135.238642 115.4084)
+ (xy 135.2536 115.409873) (xy 135.268558 115.4084) (xy 150.989663 115.4084) (xy 150.992992 115.425138) (xy 151.065751 115.600794)
+ (xy 151.17138 115.758879) (xy 151.305821 115.89332) (xy 151.463906 115.998949) (xy 151.639562 116.071708) (xy 151.826036 116.1088)
+ (xy 152.016164 116.1088) (xy 152.202638 116.071708) (xy 152.378294 115.998949) (xy 152.536379 115.89332) (xy 152.67082 115.758879)
+ (xy 152.776449 115.600794) (xy 152.849208 115.425138) (xy 152.8863 115.238664) (xy 152.8863 115.048536) (xy 158.5759 115.048536)
+ (xy 158.5759 115.238664) (xy 158.612992 115.425138) (xy 158.685751 115.600794) (xy 158.79138 115.758879) (xy 158.925821 115.89332)
+ (xy 159.083906 115.998949) (xy 159.259562 116.071708) (xy 159.446036 116.1088) (xy 159.636164 116.1088) (xy 159.822638 116.071708)
+ (xy 159.998294 115.998949) (xy 160.156379 115.89332) (xy 160.29082 115.758879) (xy 160.396449 115.600794) (xy 160.469208 115.425138)
+ (xy 160.5063 115.238664) (xy 160.5063 115.048536) (xy 161.1159 115.048536) (xy 161.1159 115.238664) (xy 161.152992 115.425138)
+ (xy 161.225751 115.600794) (xy 161.33138 115.758879) (xy 161.465821 115.89332) (xy 161.623906 115.998949) (xy 161.799562 116.071708)
+ (xy 161.986036 116.1088) (xy 162.176164 116.1088) (xy 162.362638 116.071708) (xy 162.538294 115.998949) (xy 162.696379 115.89332)
+ (xy 162.83082 115.758879) (xy 162.936449 115.600794) (xy 163.009208 115.425138) (xy 163.0463 115.238664) (xy 163.0463 115.048536)
+ (xy 163.009208 114.862062) (xy 162.936449 114.686406) (xy 162.83082 114.528321) (xy 162.696379 114.39388) (xy 162.538294 114.288251)
+ (xy 162.362638 114.215492) (xy 162.176164 114.1784) (xy 161.986036 114.1784) (xy 161.799562 114.215492) (xy 161.623906 114.288251)
+ (xy 161.465821 114.39388) (xy 161.33138 114.528321) (xy 161.225751 114.686406) (xy 161.152992 114.862062) (xy 161.1159 115.048536)
+ (xy 160.5063 115.048536) (xy 160.469208 114.862062) (xy 160.396449 114.686406) (xy 160.29082 114.528321) (xy 160.156379 114.39388)
+ (xy 159.998294 114.288251) (xy 159.822638 114.215492) (xy 159.636164 114.1784) (xy 159.446036 114.1784) (xy 159.259562 114.215492)
+ (xy 159.083906 114.288251) (xy 158.925821 114.39388) (xy 158.79138 114.528321) (xy 158.685751 114.686406) (xy 158.612992 114.862062)
+ (xy 158.5759 115.048536) (xy 152.8863 115.048536) (xy 152.849208 114.862062) (xy 152.776449 114.686406) (xy 152.67082 114.528321)
+ (xy 152.536379 114.39388) (xy 152.378294 114.288251) (xy 152.202638 114.215492) (xy 152.016164 114.1784) (xy 151.826036 114.1784)
+ (xy 151.639562 114.215492) (xy 151.463906 114.288251) (xy 151.305821 114.39388) (xy 151.17138 114.528321) (xy 151.065751 114.686406)
+ (xy 151.019196 114.7988) (xy 135.379852 114.7988) (xy 133.5048 112.923749) (xy 133.5048 111.385851) (xy 134.927497 112.80855)
+ (xy 134.937032 112.820168) (xy 134.94865 112.829703) (xy 134.948656 112.829709) (xy 134.965886 112.843849) (xy 134.983443 112.858258)
+ (xy 135.036394 112.88656) (xy 135.093849 112.903989) (xy 135.138634 112.9084) (xy 135.138642 112.9084) (xy 135.1536 112.909873)
+ (xy 135.168558 112.9084) (xy 151.002627 112.9084) (xy 151.065751 113.060794) (xy 151.17138 113.218879) (xy 151.305821 113.35332)
+ (xy 151.463906 113.458949) (xy 151.639562 113.531708) (xy 151.826036 113.5688) (xy 152.016164 113.5688) (xy 152.202638 113.531708)
+ (xy 152.378294 113.458949) (xy 152.536379 113.35332) (xy 152.67082 113.218879) (xy 152.776449 113.060794) (xy 152.849208 112.885138)
+ (xy 152.8863 112.698664) (xy 152.8863 112.508536) (xy 152.849208 112.322062) (xy 152.776449 112.146406) (xy 152.67082 111.988321)
+ (xy 152.536379 111.85388) (xy 152.378294 111.748251) (xy 152.202638 111.675492) (xy 152.016164 111.6384) (xy 151.826036 111.6384)
+ (xy 151.639562 111.675492) (xy 151.463906 111.748251) (xy 151.305821 111.85388) (xy 151.17138 111.988321) (xy 151.065751 112.146406)
+ (xy 151.002627 112.2988) (xy 135.279853 112.2988) (xy 133.8048 110.823749) (xy 133.8048 102.4048) (xy 133.877737 102.4048)
+ (xy 133.887779 102.437905) (xy 133.909006 102.477618) (xy 133.927374 102.5) (xy 133.909006 102.522382) (xy 133.887779 102.562095)
+ (xy 133.874708 102.605187) (xy 133.870294 102.65) (xy 133.870294 103.15) (xy 133.874708 103.194813) (xy 133.887779 103.237905)
+ (xy 133.909006 103.277618) (xy 133.937573 103.312427) (xy 133.972382 103.340994) (xy 134.012095 103.362221) (xy 134.055187 103.375292)
+ (xy 134.1 103.379706) (xy 134.9952 103.379706) (xy 134.995201 109.585025) (xy 134.9952 109.585035) (xy 134.9952 109.967242)
+ (xy 134.993727 109.9822) (xy 134.9952 109.997158) (xy 134.9952 109.997166) (xy 134.995201 109.997173) (xy 134.9952 110.960042)
+ (xy 134.993727 110.975) (xy 134.9952 110.989958) (xy 134.9952 110.989965) (xy 134.997149 111.009751) (xy 134.999611 111.034751)
+ (xy 135.01704 111.092205) (xy 135.045342 111.145156) (xy 135.083432 111.191568) (xy 135.095061 111.201112) (xy 135.098888 111.204939)
+ (xy 135.108432 111.216568) (xy 135.154843 111.254658) (xy 135.207794 111.28296) (xy 135.265249 111.300389) (xy 135.310034 111.3048)
+ (xy 135.310041 111.3048) (xy 135.324999 111.306273) (xy 135.339957 111.3048) (xy 140.110042 111.3048) (xy 140.125 111.306273)
+ (xy 140.139958 111.3048) (xy 140.139966 111.3048) (xy 140.184751 111.300389) (xy 140.242206 111.28296) (xy 140.295157 111.254658)
+ (xy 140.341568 111.216568) (xy 140.351112 111.204939) (xy 141.187653 110.3684) (xy 151.002627 110.3684) (xy 151.065751 110.520794)
+ (xy 151.17138 110.678879) (xy 151.305821 110.81332) (xy 151.463906 110.918949) (xy 151.639562 110.991708) (xy 151.826036 111.0288)
+ (xy 152.016164 111.0288) (xy 152.202638 110.991708) (xy 152.378294 110.918949) (xy 152.536379 110.81332) (xy 152.67082 110.678879)
+ (xy 152.776449 110.520794) (xy 152.849208 110.345138) (xy 152.8863 110.158664) (xy 152.8863 109.968536) (xy 152.849208 109.782062)
+ (xy 152.776449 109.606406) (xy 152.67082 109.448321) (xy 152.536379 109.31388) (xy 152.378517 109.2084) (xy 155.474849 109.2084)
+ (xy 158.60893 112.342482) (xy 158.5759 112.508536) (xy 158.5759 112.698664) (xy 158.612992 112.885138) (xy 158.685751 113.060794)
+ (xy 158.79138 113.218879) (xy 158.925821 113.35332) (xy 159.083906 113.458949) (xy 159.259562 113.531708) (xy 159.446036 113.5688)
+ (xy 159.636164 113.5688) (xy 159.822638 113.531708) (xy 159.998294 113.458949) (xy 160.156379 113.35332) (xy 160.29082 113.218879)
+ (xy 160.396449 113.060794) (xy 160.469208 112.885138) (xy 160.5063 112.698664) (xy 160.5063 112.508536) (xy 161.1159 112.508536)
+ (xy 161.1159 112.698664) (xy 161.152992 112.885138) (xy 161.225751 113.060794) (xy 161.33138 113.218879) (xy 161.465821 113.35332)
+ (xy 161.623906 113.458949) (xy 161.799562 113.531708) (xy 161.986036 113.5688) (xy 162.176164 113.5688) (xy 162.362638 113.531708)
+ (xy 162.538294 113.458949) (xy 162.696379 113.35332) (xy 162.83082 113.218879) (xy 162.936449 113.060794) (xy 163.009208 112.885138)
+ (xy 163.0463 112.698664) (xy 163.0463 112.508536) (xy 163.009208 112.322062) (xy 162.936449 112.146406) (xy 162.83082 111.988321)
+ (xy 162.696379 111.85388) (xy 162.538294 111.748251) (xy 162.362638 111.675492) (xy 162.176164 111.6384) (xy 161.986036 111.6384)
+ (xy 161.799562 111.675492) (xy 161.623906 111.748251) (xy 161.465821 111.85388) (xy 161.33138 111.988321) (xy 161.225751 112.146406)
+ (xy 161.152992 112.322062) (xy 161.1159 112.508536) (xy 160.5063 112.508536) (xy 160.469208 112.322062) (xy 160.396449 112.146406)
+ (xy 160.29082 111.988321) (xy 160.156379 111.85388) (xy 159.998294 111.748251) (xy 159.822638 111.675492) (xy 159.636164 111.6384)
+ (xy 159.446036 111.6384) (xy 159.259562 111.675492) (xy 159.083906 111.748251) (xy 158.959757 111.831205) (xy 155.827212 108.698661)
+ (xy 155.817668 108.687032) (xy 155.771257 108.648942) (xy 155.718306 108.62064) (xy 155.660851 108.603211) (xy 155.616066 108.5988)
+ (xy 155.616058 108.5988) (xy 155.6011 108.597327) (xy 155.586142 108.5988) (xy 144.247652 108.5988) (xy 143.6798 108.030949)
+ (xy 143.6798 107.260851) (xy 144.227492 107.808544) (xy 144.237032 107.820168) (xy 144.283443 107.858258) (xy 144.336394 107.88656)
+ (xy 144.393848 107.903989) (xy 144.399003 107.904497) (xy 144.438634 107.9084) (xy 144.438642 107.9084) (xy 144.4536 107.909873)
+ (xy 144.468558 107.9084) (xy 151.035764 107.9084) (xy 151.065751 107.980794) (xy 151.17138 108.138879) (xy 151.305821 108.27332)
+ (xy 151.463906 108.378949) (xy 151.639562 108.451708) (xy 151.826036 108.4888) (xy 152.016164 108.4888) (xy 152.202638 108.451708)
+ (xy 152.378294 108.378949) (xy 152.536379 108.27332) (xy 152.67082 108.138879) (xy 152.776449 107.980794) (xy 152.849208 107.805138)
+ (xy 152.8863 107.618664) (xy 152.8863 107.428536) (xy 152.849208 107.242062) (xy 152.776449 107.066406) (xy 152.67082 106.908321)
+ (xy 152.536379 106.77388) (xy 152.378294 106.668251) (xy 152.202638 106.595492) (xy 152.034262 106.562) (xy 155.428449 106.562)
+ (xy 158.623395 109.756948) (xy 158.612992 109.782062) (xy 158.5759 109.968536) (xy 158.5759 110.158664) (xy 158.612992 110.345138)
+ (xy 158.685751 110.520794) (xy 158.79138 110.678879) (xy 158.925821 110.81332) (xy 159.083906 110.918949) (xy 159.259562 110.991708)
+ (xy 159.446036 111.0288) (xy 159.636164 111.0288) (xy 159.822638 110.991708) (xy 159.998294 110.918949) (xy 160.156379 110.81332)
+ (xy 160.29082 110.678879) (xy 160.396449 110.520794) (xy 160.469208 110.345138) (xy 160.5063 110.158664) (xy 160.5063 109.968536)
+ (xy 161.1159 109.968536) (xy 161.1159 110.158664) (xy 161.152992 110.345138) (xy 161.225751 110.520794) (xy 161.33138 110.678879)
+ (xy 161.465821 110.81332) (xy 161.623906 110.918949) (xy 161.799562 110.991708) (xy 161.986036 111.0288) (xy 162.176164 111.0288)
+ (xy 162.362638 110.991708) (xy 162.538294 110.918949) (xy 162.696379 110.81332) (xy 162.83082 110.678879) (xy 162.936449 110.520794)
+ (xy 163.009208 110.345138) (xy 163.0463 110.158664) (xy 163.0463 109.968536) (xy 163.009208 109.782062) (xy 162.936449 109.606406)
+ (xy 162.83082 109.448321) (xy 162.696379 109.31388) (xy 162.538294 109.208251) (xy 162.362638 109.135492) (xy 162.176164 109.0984)
+ (xy 161.986036 109.0984) (xy 161.799562 109.135492) (xy 161.623906 109.208251) (xy 161.465821 109.31388) (xy 161.33138 109.448321)
+ (xy 161.225751 109.606406) (xy 161.152992 109.782062) (xy 161.1159 109.968536) (xy 160.5063 109.968536) (xy 160.469208 109.782062)
+ (xy 160.396449 109.606406) (xy 160.29082 109.448321) (xy 160.156379 109.31388) (xy 159.998294 109.208251) (xy 159.822638 109.135492)
+ (xy 159.636164 109.0984) (xy 159.446036 109.0984) (xy 159.259562 109.135492) (xy 159.083906 109.208251) (xy 158.995725 109.267172)
+ (xy 155.828693 106.100142) (xy 155.780812 106.052261) (xy 155.771268 106.040632) (xy 155.724857 106.002542) (xy 155.671906 105.97424)
+ (xy 155.614451 105.956811) (xy 155.569666 105.9524) (xy 155.569658 105.9524) (xy 155.5547 105.950927) (xy 155.539742 105.9524)
+ (xy 144.894052 105.9524) (xy 144.5298 105.588149) (xy 144.5298 104.835851) (xy 144.902492 105.208544) (xy 144.912032 105.220168)
+ (xy 144.958443 105.258258) (xy 145.011394 105.28656) (xy 145.068849 105.303989) (xy 145.113634 105.3084) (xy 145.113642 105.3084)
+ (xy 145.1286 105.309873) (xy 145.143558 105.3084) (xy 151.010912 105.3084) (xy 151.065751 105.440794) (xy 151.17138 105.598879)
+ (xy 151.305821 105.73332) (xy 151.463906 105.838949) (xy 151.639562 105.911708) (xy 151.826036 105.9488) (xy 152.016164 105.9488)
+ (xy 152.202638 105.911708) (xy 152.378294 105.838949) (xy 152.536379 105.73332) (xy 152.67082 105.598879) (xy 152.776449 105.440794)
+ (xy 152.849208 105.265138) (xy 152.8863 105.078664) (xy 152.8863 104.888536) (xy 152.849208 104.702062) (xy 152.776449 104.526406)
+ (xy 152.67082 104.368321) (xy 152.536379 104.23388) (xy 152.378294 104.128251) (xy 152.202638 104.055492) (xy 152.016164 104.0184)
+ (xy 151.826036 104.0184) (xy 151.639562 104.055492) (xy 151.463906 104.128251) (xy 151.305821 104.23388) (xy 151.17138 104.368321)
+ (xy 151.065751 104.526406) (xy 150.994343 104.6988) (xy 145.254852 104.6988) (xy 144.9548 104.398749) (xy 144.9548 103.635851)
+ (xy 145.227491 103.908543) (xy 145.237032 103.920168) (xy 145.283443 103.958258) (xy 145.336394 103.98656) (xy 145.380476 103.999932)
+ (xy 145.393848 104.003989) (xy 145.399489 104.004545) (xy 145.438634 104.0084) (xy 145.438641 104.0084) (xy 145.453599 104.009873)
+ (xy 145.468557 104.0084) (xy 158.274849 104.0084) (xy 159.2963 105.029852) (xy 159.296301 106.588184) (xy 159.259562 106.595492)
+ (xy 159.083906 106.668251) (xy 158.925821 106.77388) (xy 158.79138 106.908321) (xy 158.685751 107.066406) (xy 158.612992 107.242062)
+ (xy 158.5759 107.428536) (xy 158.5759 107.618664) (xy 158.612992 107.805138) (xy 158.685751 107.980794) (xy 158.79138 108.138879)
+ (xy 158.925821 108.27332) (xy 159.083906 108.378949) (xy 159.259562 108.451708) (xy 159.446036 108.4888) (xy 159.636164 108.4888)
+ (xy 159.822638 108.451708) (xy 159.998294 108.378949) (xy 160.156379 108.27332) (xy 160.29082 108.138879) (xy 160.396449 107.980794)
+ (xy 160.469208 107.805138) (xy 160.5063 107.618664) (xy 160.5063 107.428536) (xy 160.469208 107.242062) (xy 160.396449 107.066406)
+ (xy 160.29082 106.908321) (xy 160.156379 106.77388) (xy 159.998294 106.668251) (xy 159.9059 106.62998) (xy 159.9059 104.918557)
+ (xy 159.907373 104.903599) (xy 159.9059 104.888641) (xy 159.9059 104.888634) (xy 159.901489 104.843849) (xy 159.88406 104.786394)
+ (xy 159.855758 104.733443) (xy 159.817668 104.687032) (xy 159.806045 104.677493) (xy 158.627212 103.498661) (xy 158.617668 103.487032)
+ (xy 158.571257 103.448942) (xy 158.518306 103.42064) (xy 158.460851 103.403211) (xy 158.416066 103.3988) (xy 158.416058 103.3988)
+ (xy 158.4011 103.397327) (xy 158.386142 103.3988) (xy 152.066437 103.3988) (xy 152.202638 103.371708) (xy 152.378294 103.298949)
+ (xy 152.536379 103.19332) (xy 152.67082 103.058879) (xy 152.776449 102.900794) (xy 152.849208 102.725138) (xy 152.8863 102.538664)
+ (xy 152.8863 102.348536) (xy 152.849208 102.162062) (xy 152.776449 101.986406) (xy 152.67082 101.828321) (xy 152.536379 101.69388)
+ (xy 152.378294 101.588251) (xy 152.202638 101.515492) (xy 152.148886 101.5048) (xy 159.171249 101.5048) (xy 161.7963 104.129852)
+ (xy 161.796301 106.596843) (xy 161.623906 106.668251) (xy 161.465821 106.77388) (xy 161.33138 106.908321) (xy 161.225751 107.066406)
+ (xy 161.152992 107.242062) (xy 161.1159 107.428536) (xy 161.1159 107.618664) (xy 161.152992 107.805138) (xy 161.225751 107.980794)
+ (xy 161.33138 108.138879) (xy 161.465821 108.27332) (xy 161.623906 108.378949) (xy 161.799562 108.451708) (xy 161.986036 108.4888)
+ (xy 162.176164 108.4888) (xy 162.362638 108.451708) (xy 162.538294 108.378949) (xy 162.696379 108.27332) (xy 162.83082 108.138879)
+ (xy 162.936449 107.980794) (xy 163.009208 107.805138) (xy 163.0463 107.618664) (xy 163.0463 107.428536) (xy 166.1959 107.428536)
+ (xy 166.1959 107.618664) (xy 166.232992 107.805138) (xy 166.305751 107.980794) (xy 166.41138 108.138879) (xy 166.545821 108.27332)
+ (xy 166.703906 108.378949) (xy 166.879562 108.451708) (xy 167.066036 108.4888) (xy 167.256164 108.4888) (xy 167.442638 108.451708)
+ (xy 167.618294 108.378949) (xy 167.776379 108.27332) (xy 167.91082 108.138879) (xy 168.016449 107.980794) (xy 168.087857 107.8084)
+ (xy 169.970438 107.8084) (xy 169.977601 107.84441) (xy 170.065678 108.057045) (xy 170.193545 108.248411) (xy 170.356289 108.411155)
+ (xy 170.547655 108.539022) (xy 170.76029 108.627099) (xy 170.986023 108.672) (xy 171.216177 108.672) (xy 171.44191 108.627099)
+ (xy 171.654545 108.539022) (xy 171.845911 108.411155) (xy 172.008655 108.248411) (xy 172.136522 108.057045) (xy 172.224599 107.84441)
+ (xy 172.2695 107.618677) (xy 172.2695 107.388523) (xy 172.224599 107.16279) (xy 172.136522 106.950155) (xy 172.008655 106.758789)
+ (xy 171.845911 106.596045) (xy 171.654545 106.468178) (xy 171.44191 106.380101) (xy 171.216177 106.3352) (xy 170.986023 106.3352)
+ (xy 170.76029 106.380101) (xy 170.547655 106.468178) (xy 170.356289 106.596045) (xy 170.193545 106.758789) (xy 170.065678 106.950155)
+ (xy 169.977601 107.16279) (xy 169.970438 107.1988) (xy 168.071288 107.1988) (xy 168.016449 107.066406) (xy 167.91082 106.908321)
+ (xy 167.776379 106.77388) (xy 167.618294 106.668251) (xy 167.442638 106.595492) (xy 167.256164 106.5584) (xy 167.066036 106.5584)
+ (xy 166.879562 106.595492) (xy 166.703906 106.668251) (xy 166.545821 106.77388) (xy 166.41138 106.908321) (xy 166.305751 107.066406)
+ (xy 166.232992 107.242062) (xy 166.1959 107.428536) (xy 163.0463 107.428536) (xy 163.009208 107.242062) (xy 162.936449 107.066406)
+ (xy 162.83082 106.908321) (xy 162.696379 106.77388) (xy 162.538294 106.668251) (xy 162.4059 106.613412) (xy 162.4059 104.888536)
+ (xy 166.1959 104.888536) (xy 166.1959 105.078664) (xy 166.232992 105.265138) (xy 166.305751 105.440794) (xy 166.41138 105.598879)
+ (xy 166.545821 105.73332) (xy 166.703906 105.838949) (xy 166.879562 105.911708) (xy 167.066036 105.9488) (xy 167.256164 105.9488)
+ (xy 167.442638 105.911708) (xy 167.618294 105.838949) (xy 167.776379 105.73332) (xy 167.91082 105.598879) (xy 168.016449 105.440794)
+ (xy 168.089208 105.265138) (xy 168.100494 105.2084) (xy 169.958503 105.2084) (xy 169.977601 105.30441) (xy 170.065678 105.517045)
+ (xy 170.193545 105.708411) (xy 170.356289 105.871155) (xy 170.547655 105.999022) (xy 170.76029 106.087099) (xy 170.986023 106.132)
+ (xy 171.216177 106.132) (xy 171.44191 106.087099) (xy 171.654545 105.999022) (xy 171.845911 105.871155) (xy 172.008655 105.708411)
+ (xy 172.136522 105.517045) (xy 172.224599 105.30441) (xy 172.2695 105.078677) (xy 172.2695 104.848523) (xy 172.224599 104.62279)
+ (xy 172.136522 104.410155) (xy 172.008655 104.218789) (xy 171.845911 104.056045) (xy 171.654545 103.928178) (xy 171.44191 103.840101)
+ (xy 171.216177 103.7952) (xy 170.986023 103.7952) (xy 170.76029 103.840101) (xy 170.547655 103.928178) (xy 170.356289 104.056045)
+ (xy 170.193545 104.218789) (xy 170.065678 104.410155) (xy 169.987538 104.5988) (xy 168.046436 104.5988) (xy 168.016449 104.526406)
+ (xy 167.91082 104.368321) (xy 167.776379 104.23388) (xy 167.618294 104.128251) (xy 167.442638 104.055492) (xy 167.256164 104.0184)
+ (xy 167.066036 104.0184) (xy 166.879562 104.055492) (xy 166.703906 104.128251) (xy 166.545821 104.23388) (xy 166.41138 104.368321)
+ (xy 166.305751 104.526406) (xy 166.232992 104.702062) (xy 166.1959 104.888536) (xy 162.4059 104.888536) (xy 162.4059 104.018557)
+ (xy 162.407373 104.003599) (xy 162.4059 103.988641) (xy 162.4059 103.988634) (xy 162.401489 103.943849) (xy 162.38406 103.886394)
+ (xy 162.355758 103.833443) (xy 162.317668 103.787032) (xy 162.306045 103.777493) (xy 159.523612 100.995061) (xy 159.514068 100.983432)
+ (xy 159.467657 100.945342) (xy 159.414706 100.91704) (xy 159.357251 100.899611) (xy 159.312466 100.8952) (xy 159.312458 100.8952)
+ (xy 159.2975 100.893727) (xy 159.282542 100.8952) (xy 146.176251 100.8952) (xy 146.1548 100.873749) (xy 146.1548 100.111356)
+ (xy 146.162032 100.120168) (xy 146.208443 100.158258) (xy 146.261394 100.18656) (xy 146.318849 100.203989) (xy 146.363634 100.2084)
+ (xy 146.363641 100.2084) (xy 146.378599 100.209873) (xy 146.393557 100.2084) (xy 151.002627 100.2084) (xy 151.065751 100.360794)
+ (xy 151.17138 100.518879) (xy 151.305821 100.65332) (xy 151.463906 100.758949) (xy 151.639562 100.831708) (xy 151.826036 100.8688)
+ (xy 152.016164 100.8688) (xy 152.202638 100.831708) (xy 152.378294 100.758949) (xy 152.536379 100.65332) (xy 152.67082 100.518879)
+ (xy 152.776449 100.360794) (xy 152.849208 100.185138) (xy 152.8863 99.998664) (xy 152.8863 99.808536) (xy 152.849208 99.622062)
+ (xy 152.776449 99.446406) (xy 152.67082 99.288321) (xy 152.536379 99.15388) (xy 152.378294 99.048251) (xy 152.282085 99.0084)
+ (xy 162.974849 99.0084) (xy 166.215657 102.249209) (xy 166.1959 102.348536) (xy 166.1959 102.538664) (xy 166.232992 102.725138)
+ (xy 166.305751 102.900794) (xy 166.41138 103.058879) (xy 166.545821 103.19332) (xy 166.703906 103.298949) (xy 166.879562 103.371708)
+ (xy 167.066036 103.4088) (xy 167.256164 103.4088) (xy 167.442638 103.371708) (xy 167.618294 103.298949) (xy 167.776379 103.19332)
+ (xy 167.91082 103.058879) (xy 168.016449 102.900794) (xy 168.089208 102.725138) (xy 168.1263 102.538664) (xy 168.1263 102.348536)
+ (xy 168.089208 102.162062) (xy 168.016449 101.986406) (xy 167.91082 101.828321) (xy 167.776379 101.69388) (xy 167.618294 101.588251)
+ (xy 167.442638 101.515492) (xy 167.256164 101.4784) (xy 167.066036 101.4784) (xy 166.879562 101.515492) (xy 166.703906 101.588251)
+ (xy 166.545821 101.69388) (xy 166.534126 101.705575) (xy 163.327212 98.498661) (xy 163.317668 98.487032) (xy 163.271257 98.448942)
+ (xy 163.218306 98.42064) (xy 163.160851 98.403211) (xy 163.116066 98.3988) (xy 163.116058 98.3988) (xy 163.1011 98.397327)
+ (xy 163.086142 98.3988) (xy 146.9798 98.3988) (xy 146.9798 97.656694) (xy 147.003849 97.663989) (xy 147.048634 97.6684)
+ (xy 147.048642 97.6684) (xy 147.0636 97.669873) (xy 147.078558 97.6684) (xy 151.002627 97.6684) (xy 151.065751 97.820794)
+ (xy 151.17138 97.978879) (xy 151.305821 98.11332) (xy 151.463906 98.218949) (xy 151.639562 98.291708) (xy 151.826036 98.3288)
+ (xy 152.016164 98.3288) (xy 152.202638 98.291708) (xy 152.378294 98.218949) (xy 152.536379 98.11332) (xy 152.67082 97.978879)
+ (xy 152.776449 97.820794) (xy 152.849208 97.645138) (xy 152.8863 97.458664) (xy 152.8863 97.268536) (xy 152.849208 97.082062)
+ (xy 152.776449 96.906406) (xy 152.67082 96.748321) (xy 152.536379 96.61388) (xy 152.378294 96.508251) (xy 152.202638 96.435492)
+ (xy 152.066437 96.4084) (xy 162.874849 96.4084) (xy 166.209021 99.742573) (xy 166.1959 99.808536) (xy 166.1959 99.998664)
+ (xy 166.232992 100.185138) (xy 166.305751 100.360794) (xy 166.41138 100.518879) (xy 166.545821 100.65332) (xy 166.703906 100.758949)
+ (xy 166.879562 100.831708) (xy 167.066036 100.8688) (xy 167.256164 100.8688) (xy 167.442638 100.831708) (xy 167.618294 100.758949)
+ (xy 167.776379 100.65332) (xy 167.91082 100.518879) (xy 168.016449 100.360794) (xy 168.089208 100.185138) (xy 168.1263 99.998664)
+ (xy 168.1263 99.808536) (xy 168.089208 99.622062) (xy 168.016449 99.446406) (xy 167.91082 99.288321) (xy 167.776379 99.15388)
+ (xy 167.618294 99.048251) (xy 167.442638 98.975492) (xy 167.256164 98.9384) (xy 167.066036 98.9384) (xy 166.879562 98.975492)
+ (xy 166.703906 99.048251) (xy 166.545821 99.15388) (xy 166.514126 99.185575) (xy 163.227212 95.898661) (xy 163.217668 95.887032)
+ (xy 163.171257 95.848942) (xy 163.118306 95.82064) (xy 163.060851 95.803211) (xy 163.016066 95.7988) (xy 163.016058 95.7988)
+ (xy 163.0011 95.797327) (xy 162.986142 95.7988) (xy 147.6298 95.7988) (xy 147.6298 95.121244) (xy 147.638849 95.123989)
+ (xy 147.683634 95.1284) (xy 147.683642 95.1284) (xy 147.6986 95.129873) (xy 147.713558 95.1284) (xy 151.002627 95.1284)
+ (xy 151.065751 95.280794) (xy 151.17138 95.438879) (xy 151.305821 95.57332) (xy 151.463906 95.678949) (xy 151.639562 95.751708)
+ (xy 151.826036 95.7888) (xy 152.016164 95.7888) (xy 152.202638 95.751708) (xy 152.378294 95.678949) (xy 152.536379 95.57332)
+ (xy 152.67082 95.438879) (xy 152.776449 95.280794) (xy 152.849208 95.105138) (xy 152.8863 94.918664) (xy 152.8863 94.728536)
+ (xy 152.849208 94.542062) (xy 152.776449 94.366406) (xy 152.67082 94.208321) (xy 152.536379 94.07388) (xy 152.378294 93.968251)
+ (xy 152.233801 93.9084) (xy 162.874849 93.9084) (xy 166.202384 97.235936) (xy 166.1959 97.268536) (xy 166.1959 97.458664)
+ (xy 166.232992 97.645138) (xy 166.305751 97.820794) (xy 166.41138 97.978879) (xy 166.545821 98.11332) (xy 166.703906 98.218949)
+ (xy 166.879562 98.291708) (xy 166.915216 98.2988) (xy 166.527353 98.2988) (xy 162.827212 94.598661) (xy 162.817668 94.587032)
+ (xy 162.771257 94.548942) (xy 162.718306 94.52064) (xy 162.660851 94.503211) (xy 162.616066 94.4988) (xy 162.616058 94.4988)
+ (xy 162.6011 94.497327) (xy 162.586142 94.4988) (xy 159.527231 94.4988) (xy 159.472432 94.416788) (xy 159.387912 94.332268)
+ (xy 159.288528 94.265861) (xy 159.178097 94.220119) (xy 159.060865 94.1968) (xy 158.941335 94.1968) (xy 158.824103 94.220119)
+ (xy 158.713672 94.265861) (xy 158.614288 94.332268) (xy 158.529768 94.416788) (xy 158.463361 94.516172) (xy 158.417619 94.626603)
+ (xy 158.3943 94.743835) (xy 158.3943 94.863365) (xy 158.417619 94.980597) (xy 158.463361 95.091028) (xy 158.529768 95.190412)
+ (xy 158.614288 95.274932) (xy 158.713672 95.341339) (xy 158.824103 95.387081) (xy 158.941335 95.4104) (xy 159.060865 95.4104)
+ (xy 159.178097 95.387081) (xy 159.288528 95.341339) (xy 159.387912 95.274932) (xy 159.472432 95.190412) (xy 159.527231 95.1084)
+ (xy 162.474849 95.1084) (xy 166.174997 98.80855) (xy 166.184532 98.820168) (xy 166.19615 98.829703) (xy 166.196156 98.829709)
+ (xy 166.209001 98.84025) (xy 166.230943 98.858258) (xy 166.283894 98.88656) (xy 166.341349 98.903989) (xy 166.386134 98.9084)
+ (xy 166.386142 98.9084) (xy 166.4011 98.909873) (xy 166.416058 98.9084) (xy 169.986142 98.9084) (xy 170.0011 98.909873)
+ (xy 170.016058 98.9084) (xy 170.016066 98.9084) (xy 170.060851 98.903989) (xy 170.118306 98.88656) (xy 170.171257 98.858258)
+ (xy 170.217668 98.820168) (xy 170.227212 98.808539) (xy 170.582356 98.453396) (xy 170.76029 98.527099) (xy 170.986023 98.572)
+ (xy 171.216177 98.572) (xy 171.44191 98.527099) (xy 171.654545 98.439022) (xy 171.845911 98.311155) (xy 172.008655 98.148411)
+ (xy 172.136522 97.957045) (xy 172.224599 97.74441) (xy 172.2695 97.518677) (xy 172.2695 97.288523) (xy 172.224599 97.06279)
+ (xy 172.136522 96.850155) (xy 172.008655 96.658789) (xy 171.845911 96.496045) (xy 171.654545 96.368178) (xy 171.44191 96.280101)
+ (xy 171.216177 96.2352) (xy 170.986023 96.2352) (xy 170.76029 96.280101) (xy 170.547655 96.368178) (xy 170.356289 96.496045)
+ (xy 170.193545 96.658789) (xy 170.065678 96.850155) (xy 169.977601 97.06279) (xy 169.9327 97.288523) (xy 169.9327 97.518677)
+ (xy 169.977601 97.74441) (xy 170.065678 97.957045) (xy 170.12613 98.047518) (xy 169.874849 98.2988) (xy 167.406984 98.2988)
+ (xy 167.442638 98.291708) (xy 167.618294 98.218949) (xy 167.776379 98.11332) (xy 167.91082 97.978879) (xy 168.016449 97.820794)
+ (xy 168.089208 97.645138) (xy 168.1263 97.458664) (xy 168.1263 97.268536) (xy 168.089208 97.082062) (xy 168.016449 96.906406)
+ (xy 167.91082 96.748321) (xy 167.776379 96.61388) (xy 167.618294 96.508251) (xy 167.442638 96.435492) (xy 167.256164 96.3984)
+ (xy 167.066036 96.3984) (xy 166.879562 96.435492) (xy 166.703906 96.508251) (xy 166.545821 96.61388) (xy 166.494126 96.665575)
+ (xy 163.227212 93.398661) (xy 163.217668 93.387032) (xy 163.171257 93.348942) (xy 163.118306 93.32064) (xy 163.060851 93.303211)
+ (xy 163.016066 93.2988) (xy 163.016058 93.2988) (xy 163.0011 93.297327) (xy 162.986142 93.2988) (xy 148.3048 93.2988)
+ (xy 148.3048 92.604284) (xy 148.325 92.606274) (xy 148.339965 92.6048) (xy 150.848033 92.6048) (xy 150.862991 92.606273)
+ (xy 150.877949 92.6048) (xy 150.877957 92.6048) (xy 150.922742 92.600389) (xy 150.962264 92.5884) (xy 151.002627 92.5884)
+ (xy 151.065751 92.740794) (xy 151.17138 92.898879) (xy 151.305821 93.03332) (xy 151.463906 93.138949) (xy 151.639562 93.211708)
+ (xy 151.826036 93.2488) (xy 152.016164 93.2488) (xy 152.202638 93.211708) (xy 152.378294 93.138949) (xy 152.536379 93.03332)
+ (xy 152.67082 92.898879) (xy 152.776449 92.740794) (xy 152.849208 92.565138) (xy 152.8863 92.378664) (xy 152.8863 92.188536)
+ (xy 152.849208 92.002062) (xy 152.776449 91.826406) (xy 152.67082 91.668321) (xy 152.536379 91.53388) (xy 152.378294 91.428251)
+ (xy 152.202638 91.355492) (xy 152.016164 91.3184) (xy 151.826036 91.3184) (xy 151.639562 91.355492) (xy 151.463906 91.428251)
+ (xy 151.305821 91.53388) (xy 151.17138 91.668321) (xy 151.065751 91.826406) (xy 151.002627 91.9788) (xy 150.894348 91.9788)
+ (xy 150.87939 91.977327) (xy 150.864432 91.9788) (xy 150.864425 91.9788) (xy 150.81964 91.983211) (xy 150.780118 91.9952)
+ (xy 148.6298 91.9952) (xy 148.6298 91.05668) (xy 148.658433 91.091568) (xy 148.670057 91.101108) (xy 148.777488 91.208539)
+ (xy 148.787032 91.220168) (xy 148.833443 91.258258) (xy 148.886394 91.28656) (xy 148.943848 91.303989) (xy 148.949003 91.304497)
+ (xy 148.988634 91.3084) (xy 148.988642 91.3084) (xy 149.0036 91.309873) (xy 149.018558 91.3084) (xy 162.874849 91.3084)
+ (xy 166.212339 94.645891) (xy 166.1959 94.728536) (xy 166.1959 94.918664) (xy 166.232992 95.105138) (xy 166.305751 95.280794)
+ (xy 166.41138 95.438879) (xy 166.545821 95.57332) (xy 166.703906 95.678949) (xy 166.879562 95.751708) (xy 167.066036 95.7888)
+ (xy 167.256164 95.7888) (xy 167.442638 95.751708) (xy 167.618294 95.678949) (xy 167.776379 95.57332) (xy 167.91082 95.438879)
+ (xy 168.016449 95.280794) (xy 168.087857 95.1084) (xy 169.958503 95.1084) (xy 169.977601 95.20441) (xy 170.065678 95.417045)
+ (xy 170.193545 95.608411) (xy 170.356289 95.771155) (xy 170.547655 95.899022) (xy 170.76029 95.987099) (xy 170.986023 96.032)
+ (xy 171.216177 96.032) (xy 171.44191 95.987099) (xy 171.654545 95.899022) (xy 171.845911 95.771155) (xy 172.008655 95.608411)
+ (xy 172.136522 95.417045) (xy 172.224599 95.20441) (xy 172.2695 94.978677) (xy 172.2695 94.748523) (xy 172.224599 94.52279)
+ (xy 172.136522 94.310155) (xy 172.008655 94.118789) (xy 171.845911 93.956045) (xy 171.654545 93.828178) (xy 171.44191 93.740101)
+ (xy 171.216177 93.6952) (xy 170.986023 93.6952) (xy 170.76029 93.740101) (xy 170.547655 93.828178) (xy 170.356289 93.956045)
+ (xy 170.193545 94.118789) (xy 170.065678 94.310155) (xy 169.987538 94.4988) (xy 168.071288 94.4988) (xy 168.016449 94.366406)
+ (xy 167.91082 94.208321) (xy 167.776379 94.07388) (xy 167.618294 93.968251) (xy 167.442638 93.895492) (xy 167.256164 93.8584)
+ (xy 167.066036 93.8584) (xy 166.879562 93.895492) (xy 166.703906 93.968251) (xy 166.545821 94.07388) (xy 166.524126 94.095575)
+ (xy 164.617087 92.188536) (xy 166.1959 92.188536) (xy 166.1959 92.378664) (xy 166.232992 92.565138) (xy 166.305751 92.740794)
+ (xy 166.41138 92.898879) (xy 166.545821 93.03332) (xy 166.703906 93.138949) (xy 166.879562 93.211708) (xy 167.066036 93.2488)
+ (xy 167.256164 93.2488) (xy 167.442638 93.211708) (xy 167.618294 93.138949) (xy 167.776379 93.03332) (xy 167.91082 92.898879)
+ (xy 167.98611 92.7862) (xy 170.028048 92.7862) (xy 170.065678 92.877045) (xy 170.193545 93.068411) (xy 170.356289 93.231155)
+ (xy 170.547655 93.359022) (xy 170.76029 93.447099) (xy 170.986023 93.492) (xy 171.216177 93.492) (xy 171.44191 93.447099)
+ (xy 171.654545 93.359022) (xy 171.845911 93.231155) (xy 172.008655 93.068411) (xy 172.136522 92.877045) (xy 172.224599 92.66441)
+ (xy 172.2695 92.438677) (xy 172.2695 92.208523) (xy 172.224599 91.98279) (xy 172.136522 91.770155) (xy 172.008655 91.578789)
+ (xy 171.845911 91.416045) (xy 171.654545 91.288178) (xy 171.44191 91.200101) (xy 171.216177 91.1552) (xy 170.986023 91.1552)
+ (xy 170.76029 91.200101) (xy 170.547655 91.288178) (xy 170.356289 91.416045) (xy 170.193545 91.578789) (xy 170.065678 91.770155)
+ (xy 170.044617 91.821) (xy 168.012837 91.821) (xy 167.91082 91.668321) (xy 167.776379 91.53388) (xy 167.618294 91.428251)
+ (xy 167.442638 91.355492) (xy 167.256164 91.3184) (xy 167.066036 91.3184) (xy 166.879562 91.355492) (xy 166.703906 91.428251)
+ (xy 166.545821 91.53388) (xy 166.41138 91.668321) (xy 166.305751 91.826406) (xy 166.232992 92.002062) (xy 166.1959 92.188536)
+ (xy 164.617087 92.188536) (xy 163.227212 90.798661) (xy 163.217668 90.787032) (xy 163.171257 90.748942) (xy 163.118306 90.72064)
+ (xy 163.060851 90.703211) (xy 163.016066 90.6988) (xy 163.016058 90.6988) (xy 163.0011 90.697327) (xy 162.986142 90.6988)
+ (xy 152.066437 90.6988) (xy 152.202638 90.671708) (xy 152.378294 90.598949) (xy 152.536379 90.49332) (xy 152.67082 90.358879)
+ (xy 152.776449 90.200794) (xy 152.849208 90.025138) (xy 152.8863 89.838664) (xy 152.8863 89.648536) (xy 152.849208 89.462062)
+ (xy 152.776449 89.286406) (xy 152.67082 89.128321) (xy 152.536379 88.99388) (xy 152.378294 88.888251) (xy 152.202638 88.815492)
+ (xy 152.016164 88.7784) (xy 151.826036 88.7784) (xy 151.639562 88.815492) (xy 151.463906 88.888251) (xy 151.305821 88.99388)
+ (xy 151.17138 89.128321) (xy 151.065751 89.286406) (xy 151.019196 89.3988) (xy 149.9048 89.3988) (xy 149.9048 87.714966)
+ (xy 149.906274 87.7) (xy 149.900389 87.640249) (xy 149.88296 87.582794) (xy 149.854658 87.529843) (xy 149.816568 87.483432)
+ (xy 149.770157 87.445342) (xy 149.717206 87.41704) (xy 149.659751 87.399611) (xy 149.614966 87.3952) (xy 149.614965 87.3952)
+ (xy 149.6 87.393726) (xy 149.585034 87.3952) (xy 141.822263 87.3952) (xy 141.812221 87.362095) (xy 141.790994 87.322382)
+ (xy 141.762427 87.287573) (xy 141.727618 87.259006) (xy 141.687905 87.237779) (xy 141.644813 87.224708) (xy 141.6 87.220294)
+ (xy 139.2 87.220294) (xy 139.155187 87.224708) (xy 139.112095 87.237779) (xy 139.072382 87.259006) (xy 139.037573 87.287573)
+ (xy 139.009006 87.322382) (xy 138.987779 87.362095) (xy 138.974708 87.405187) (xy 138.970294 87.45) (xy 138.970294 87.95)
+ (xy 138.974708 87.994813) (xy 138.987779 88.037905) (xy 139.009006 88.077618) (xy 139.027374 88.1) (xy 139.009006 88.122382)
+ (xy 138.987779 88.162095) (xy 138.977737 88.1952) (xy 138.376131 88.1952) (xy 138.321332 88.113188) (xy 138.236812 88.028668)
+ (xy 138.137428 87.962261) (xy 138.026997 87.916519) (xy 137.909765 87.8932) (xy 137.790235 87.8932) (xy 137.673003 87.916519)
+ (xy 137.562572 87.962261) (xy 137.463188 88.028668) (xy 137.378668 88.113188) (xy 137.312261 88.212572) (xy 137.266519 88.323003)
+ (xy 137.2548 88.381918) (xy 137.2548 86.893013) (xy 137.2714 86.893013) (xy 137.2714 87.006987) (xy 137.293635 87.118772)
+ (xy 137.337251 87.22407) (xy 137.400572 87.318836) (xy 137.481164 87.399428) (xy 137.57593 87.462749) (xy 137.681228 87.506365)
+ (xy 137.793013 87.5286) (xy 137.906987 87.5286) (xy 138.018772 87.506365) (xy 138.12407 87.462749) (xy 138.218836 87.399428)
+ (xy 138.299428 87.318836) (xy 138.362749 87.22407) (xy 138.406365 87.118772) (xy 138.4286 87.006987) (xy 138.4286 86.893013)
+ (xy 138.406365 86.781228) (xy 138.362749 86.67593) (xy 138.299428 86.581164) (xy 138.218836 86.500572) (xy 138.12407 86.437251)
+ (xy 138.018772 86.393635) (xy 137.906987 86.3714) (xy 137.793013 86.3714) (xy 137.681228 86.393635) (xy 137.57593 86.437251)
+ (xy 137.481164 86.500572) (xy 137.400572 86.581164) (xy 137.337251 86.67593) (xy 137.293635 86.781228) (xy 137.2714 86.893013)
+ (xy 137.2548 86.893013) (xy 137.2548 85.726251) (xy 138.054944 84.926108) (xy 138.066568 84.916568) (xy 138.104658 84.870157)
+ (xy 138.13296 84.817206) (xy 138.150389 84.759751) (xy 138.1548 84.714966) (xy 138.1548 84.714959) (xy 138.156273 84.700001)
+ (xy 138.1548 84.685043) (xy 138.1548 84.679706) (xy 139.2 84.679706) (xy 139.244813 84.675292) (xy 139.287905 84.662221)
+ (xy 139.327618 84.640994) (xy 139.362427 84.612427) (xy 139.390994 84.577618) (xy 139.412221 84.537905) (xy 139.425292 84.494813)
+ (xy 139.429706 84.45) (xy 139.429706 83.3322) (xy 151.1725 83.3322) (xy 151.172501 86.5872) (xy 151.17138 86.588321)
+ (xy 151.065751 86.746406) (xy 150.992992 86.922062) (xy 150.9559 87.108536) (xy 150.9559 87.298664) (xy 150.992992 87.485138)
+ (xy 151.065751 87.660794) (xy 151.17138 87.818879) (xy 151.305821 87.95332) (xy 151.463906 88.058949) (xy 151.639562 88.131708)
+ (xy 151.826036 88.1688) (xy 152.016164 88.1688) (xy 152.202638 88.131708) (xy 152.378294 88.058949) (xy 152.536379 87.95332)
+ (xy 152.557499 87.9322) (xy 161.507639 87.9322) (xy 163.865132 90.19902) (xy 163.883409 90.221291) (xy 163.916751 90.248654)
+ (xy 163.921899 90.253604) (xy 163.94436 90.271312) (xy 163.994353 90.31234) (xy 164.000711 90.315738) (xy 164.006365 90.320196)
+ (xy 164.063912 90.34952) (xy 164.120928 90.379995) (xy 164.127825 90.382087) (xy 164.134242 90.385357) (xy 164.19642 90.402895)
+ (xy 164.258269 90.421657) (xy 164.265439 90.422363) (xy 164.272373 90.424319) (xy 164.336806 90.429392) (xy 164.365311 90.4322)
+ (xy 164.372462 90.4322) (xy 164.415452 90.435585) (xy 164.444057 90.4322) (xy 166.484701 90.4322) (xy 166.545821 90.49332)
+ (xy 166.703906 90.598949) (xy 166.879562 90.671708) (xy 167.066036 90.7088) (xy 167.256164 90.7088) (xy 167.442638 90.671708)
+ (xy 167.618294 90.598949) (xy 167.776379 90.49332) (xy 167.91082 90.358879) (xy 168.016449 90.200794) (xy 168.022494 90.1862)
+ (xy 170.003195 90.1862) (xy 170.065678 90.337045) (xy 170.193545 90.528411) (xy 170.356289 90.691155) (xy 170.547655 90.819022)
+ (xy 170.76029 90.907099) (xy 170.986023 90.952) (xy 171.216177 90.952) (xy 171.44191 90.907099) (xy 171.654545 90.819022)
+ (xy 171.845911 90.691155) (xy 172.008655 90.528411) (xy 172.136522 90.337045) (xy 172.224599 90.12441) (xy 172.2695 89.898677)
+ (xy 172.2695 89.668523) (xy 172.224599 89.44279) (xy 172.136522 89.230155) (xy 172.008655 89.038789) (xy 171.845911 88.876045)
+ (xy 171.654545 88.748178) (xy 171.44191 88.660101) (xy 171.216177 88.6152) (xy 170.986023 88.6152) (xy 170.76029 88.660101)
+ (xy 170.547655 88.748178) (xy 170.356289 88.876045) (xy 170.193545 89.038789) (xy 170.071795 89.221) (xy 167.972746 89.221)
+ (xy 167.91082 89.128321) (xy 167.776379 88.99388) (xy 167.618294 88.888251) (xy 167.442638 88.815492) (xy 167.256164 88.7784)
+ (xy 167.066036 88.7784) (xy 166.879562 88.815492) (xy 166.703906 88.888251) (xy 166.574077 88.975) (xy 164.694563 88.975)
+ (xy 162.75344 87.108536) (xy 166.1959 87.108536) (xy 166.1959 87.298664) (xy 166.232992 87.485138) (xy 166.305751 87.660794)
+ (xy 166.41138 87.818879) (xy 166.545821 87.95332) (xy 166.703906 88.058949) (xy 166.879562 88.131708) (xy 167.066036 88.1688)
+ (xy 167.256164 88.1688) (xy 167.442638 88.131708) (xy 167.618294 88.058949) (xy 167.776379 87.95332) (xy 167.91082 87.818879)
+ (xy 167.999473 87.6862) (xy 170.019764 87.6862) (xy 170.065678 87.797045) (xy 170.193545 87.988411) (xy 170.356289 88.151155)
+ (xy 170.547655 88.279022) (xy 170.76029 88.367099) (xy 170.986023 88.412) (xy 171.216177 88.412) (xy 171.44191 88.367099)
+ (xy 171.654545 88.279022) (xy 171.845911 88.151155) (xy 172.008655 87.988411) (xy 172.136522 87.797045) (xy 172.224599 87.58441)
+ (xy 172.2695 87.358677) (xy 172.2695 87.128523) (xy 172.224599 86.90279) (xy 172.136522 86.690155) (xy 172.008655 86.498789)
+ (xy 171.845911 86.336045) (xy 171.654545 86.208178) (xy 171.44191 86.120101) (xy 171.216177 86.0752) (xy 170.986023 86.0752)
+ (xy 170.76029 86.120101) (xy 170.547655 86.208178) (xy 170.356289 86.336045) (xy 170.193545 86.498789) (xy 170.065678 86.690155)
+ (xy 170.052901 86.721) (xy 167.999473 86.721) (xy 167.91082 86.588321) (xy 167.776379 86.45388) (xy 167.618294 86.348251)
+ (xy 167.442638 86.275492) (xy 167.256164 86.2384) (xy 167.066036 86.2384) (xy 166.879562 86.275492) (xy 166.703906 86.348251)
+ (xy 166.545821 86.45388) (xy 166.41138 86.588321) (xy 166.305751 86.746406) (xy 166.232992 86.922062) (xy 166.1959 87.108536)
+ (xy 162.75344 87.108536) (xy 162.337068 86.708179) (xy 162.318791 86.685909) (xy 162.285449 86.658546) (xy 162.280301 86.653596)
+ (xy 162.257846 86.635893) (xy 162.207847 86.59486) (xy 162.201486 86.59146) (xy 162.195834 86.587004) (xy 162.138299 86.557686)
+ (xy 162.081272 86.527205) (xy 162.074375 86.525113) (xy 162.067958 86.521843) (xy 162.005786 86.504307) (xy 161.943931 86.485543)
+ (xy 161.936759 86.484837) (xy 161.929826 86.482881) (xy 161.865419 86.47781) (xy 161.836889 86.475) (xy 161.829729 86.475)
+ (xy 161.786748 86.471616) (xy 161.758149 86.475) (xy 152.6297 86.475) (xy 152.6297 83.143197) (xy 168.5725 83.143197)
+ (xy 168.5725 83.464003) (xy 168.635086 83.778645) (xy 168.757853 84.075031) (xy 168.936084 84.341772) (xy 169.162928 84.568616)
+ (xy 169.429669 84.746847) (xy 169.726055 84.869614) (xy 170.040697 84.9322) (xy 170.361503 84.9322) (xy 170.676145 84.869614)
+ (xy 170.972531 84.746847) (xy 171.239272 84.568616) (xy 171.466116 84.341772) (xy 171.644347 84.075031) (xy 171.767114 83.778645)
+ (xy 171.8297 83.464003) (xy 171.8297 83.143197) (xy 171.767114 82.828555) (xy 171.644347 82.532169) (xy 171.466116 82.265428)
+ (xy 171.239272 82.038584) (xy 170.972531 81.860353) (xy 170.676145 81.737586) (xy 170.361503 81.675) (xy 170.040697 81.675)
+ (xy 169.726055 81.737586) (xy 169.429669 81.860353) (xy 169.162928 82.038584) (xy 168.936084 82.265428) (xy 168.757853 82.532169)
+ (xy 168.635086 82.828555) (xy 168.5725 83.143197) (xy 152.6297 83.143197) (xy 152.6297 82.639389) (xy 152.633225 82.6036)
+ (xy 152.619157 82.460769) (xy 152.577495 82.323428) (xy 152.50984 82.196853) (xy 152.418791 82.085909) (xy 152.307847 81.99486)
+ (xy 152.181272 81.927205) (xy 152.043931 81.885543) (xy 151.936889 81.875) (xy 151.9011 81.871475) (xy 151.865311 81.875)
+ (xy 139.416135 81.875) (xy 139.412221 81.862095) (xy 139.390994 81.822382) (xy 139.362427 81.787573) (xy 139.327618 81.759006)
+ (xy 139.287905 81.737779) (xy 139.244813 81.724708) (xy 139.2 81.720294) (xy 136.5 81.720294) (xy 136.455187 81.724708)
+ (xy 136.412095 81.737779) (xy 136.372382 81.759006) (xy 136.337573 81.787573) (xy 136.309006 81.822382) (xy 136.287779 81.862095)
+ (xy 136.274708 81.905187) (xy 136.270294 81.95) (xy 136.270294 84.45) (xy 136.274708 84.494813) (xy 136.287779 84.537905)
+ (xy 136.309006 84.577618) (xy 136.337573 84.612427) (xy 136.372382 84.640994) (xy 136.412095 84.662221) (xy 136.455187 84.675292)
+ (xy 136.5 84.679706) (xy 137.439242 84.679706) (xy 136.745061 85.373888) (xy 136.733432 85.383432) (xy 136.695342 85.429844)
+ (xy 136.66704 85.482795) (xy 136.649611 85.54025) (xy 136.6452 85.585035) (xy 136.6452 85.585042) (xy 136.643727 85.6)
+ (xy 136.6452 85.614958) (xy 136.6452 87.273435) (xy 136.627618 87.259006) (xy 136.587905 87.237779) (xy 136.544813 87.224708)
+ (xy 136.5 87.220294) (xy 134.1 87.220294) (xy 134.055187 87.224708) (xy 134.012095 87.237779) (xy 133.972382 87.259006)
+ (xy 133.937573 87.287573) (xy 133.909006 87.322382) (xy 133.887779 87.362095) (xy 133.877737 87.3952) (xy 130.264965 87.3952)
+ (xy 130.25 87.393726) (xy 130.235034 87.3952) (xy 130.190249 87.399611) (xy 130.132794 87.41704) (xy 130.079843 87.445342)
+ (xy 130.033432 87.483432) (xy 129.995342 87.529843) (xy 129.96704 87.582794) (xy 129.949611 87.640249) (xy 129.943726 87.7)
+ (xy 129.9452 87.714966) (xy 129.945201 105.0088) (xy 126.016065 105.0088) (xy 126.0011 105.007326) (xy 125.986134 105.0088)
+ (xy 125.941349 105.013211) (xy 125.883894 105.03064) (xy 125.830943 105.058942) (xy 125.784532 105.097032) (xy 125.746442 105.143443)
+ (xy 125.71814 105.196394) (xy 125.700711 105.253849) (xy 125.694826 105.3136) (xy 125.6963 105.328566) (xy 125.696301 106.582938)
+ (xy 125.66029 106.590101) (xy 125.447655 106.678178) (xy 125.256289 106.806045) (xy 125.093545 106.968789) (xy 124.965678 107.160155)
+ (xy 124.877601 107.37279) (xy 124.8327 107.598523) (xy 123.752301 107.598523) (xy 123.752301 102.975) (xy 127.845294 102.975)
+ (xy 127.845294 103.975) (xy 127.849708 104.019813) (xy 127.862779 104.062905) (xy 127.884006 104.102618) (xy 127.912573 104.137427)
+ (xy 127.947382 104.165994) (xy 127.987095 104.187221) (xy 128.030187 104.200292) (xy 128.075 104.204706) (xy 129.075 104.204706)
+ (xy 129.119813 104.200292) (xy 129.162905 104.187221) (xy 129.202618 104.165994) (xy 129.237427 104.137427) (xy 129.265994 104.102618)
+ (xy 129.287221 104.062905) (xy 129.300292 104.019813) (xy 129.304706 103.975) (xy 129.304706 102.975) (xy 129.300292 102.930187)
+ (xy 129.287221 102.887095) (xy 129.265994 102.847382) (xy 129.237427 102.812573) (xy 129.202618 102.784006) (xy 129.162905 102.762779)
+ (xy 129.119813 102.749708) (xy 129.075 102.745294) (xy 128.9798 102.745294) (xy 128.9798 101.377351) (xy 129.075709 101.313266)
+ (xy 129.163266 101.225709) (xy 129.232059 101.122754) (xy 129.279444 101.008356) (xy 129.3036 100.886912) (xy 129.3036 100.763088)
+ (xy 129.279444 100.641644) (xy 129.232059 100.527246) (xy 129.163266 100.424291) (xy 129.075709 100.336734) (xy 128.972754 100.267941)
+ (xy 128.858356 100.220556) (xy 128.736912 100.1964) (xy 128.613088 100.1964) (xy 128.491644 100.220556) (xy 128.377246 100.267941)
+ (xy 128.274291 100.336734) (xy 128.186734 100.424291) (xy 128.117941 100.527246) (xy 128.070556 100.641644) (xy 128.0464 100.763088)
+ (xy 128.0464 100.886912) (xy 128.070556 101.008356) (xy 128.117941 101.122754) (xy 128.186734 101.225709) (xy 128.274291 101.313266)
+ (xy 128.3702 101.377351) (xy 128.370201 102.745294) (xy 128.075 102.745294) (xy 128.030187 102.749708) (xy 127.987095 102.762779)
+ (xy 127.947382 102.784006) (xy 127.912573 102.812573) (xy 127.884006 102.847382) (xy 127.862779 102.887095) (xy 127.849708 102.930187)
+ (xy 127.845294 102.975) (xy 123.752301 102.975) (xy 123.752301 100.95) (xy 124.995294 100.95) (xy 124.995294 101.95)
+ (xy 124.999708 101.994813) (xy 125.012779 102.037905) (xy 125.034006 102.077618) (xy 125.062573 102.112427) (xy 125.097382 102.140994)
+ (xy 125.137095 102.162221) (xy 125.180187 102.175292) (xy 125.225 102.179706) (xy 126.225 102.179706) (xy 126.269813 102.175292)
+ (xy 126.312905 102.162221) (xy 126.352618 102.140994) (xy 126.387427 102.112427) (xy 126.415994 102.077618) (xy 126.437221 102.037905)
+ (xy 126.450292 101.994813) (xy 126.454706 101.95) (xy 126.454706 100.95) (xy 126.450292 100.905187) (xy 126.437221 100.862095)
+ (xy 126.415994 100.822382) (xy 126.387427 100.787573) (xy 126.352618 100.759006) (xy 126.312905 100.737779) (xy 126.269813 100.724708)
+ (xy 126.225 100.720294) (xy 125.225 100.720294) (xy 125.180187 100.724708) (xy 125.137095 100.737779) (xy 125.097382 100.759006)
+ (xy 125.062573 100.787573) (xy 125.034006 100.822382) (xy 125.012779 100.862095) (xy 124.999708 100.905187) (xy 124.995294 100.95)
+ (xy 123.752301 100.95) (xy 123.752301 98.6) (xy 127.870294 98.6) (xy 127.870294 99.6) (xy 127.874708 99.644813)
+ (xy 127.887779 99.687905) (xy 127.909006 99.727618) (xy 127.937573 99.762427) (xy 127.972382 99.790994) (xy 128.012095 99.812221)
+ (xy 128.055187 99.825292) (xy 128.1 99.829706) (xy 129.1 99.829706) (xy 129.144813 99.825292) (xy 129.187905 99.812221)
+ (xy 129.227618 99.790994) (xy 129.262427 99.762427) (xy 129.290994 99.727618) (xy 129.312221 99.687905) (xy 129.325292 99.644813)
+ (xy 129.329706 99.6) (xy 129.329706 98.6) (xy 129.325292 98.555187) (xy 129.312221 98.512095) (xy 129.290994 98.472382)
+ (xy 129.262427 98.437573) (xy 129.227618 98.409006) (xy 129.187905 98.387779) (xy 129.144813 98.374708) (xy 129.1 98.370294)
+ (xy 128.1 98.370294) (xy 128.055187 98.374708) (xy 128.012095 98.387779) (xy 127.972382 98.409006) (xy 127.937573 98.437573)
+ (xy 127.909006 98.472382) (xy 127.887779 98.512095) (xy 127.874708 98.555187) (xy 127.870294 98.6) (xy 123.752301 98.6)
+ (xy 123.752301 95.65) (xy 125.045294 95.65) (xy 125.045294 96.65) (xy 125.049708 96.694813) (xy 125.062779 96.737905)
+ (xy 125.084006 96.777618) (xy 125.112573 96.812427) (xy 125.147382 96.840994) (xy 125.187095 96.862221) (xy 125.230187 96.875292)
+ (xy 125.275 96.879706) (xy 126.275 96.879706) (xy 126.319813 96.875292) (xy 126.362905 96.862221) (xy 126.402618 96.840994)
+ (xy 126.437427 96.812427) (xy 126.465994 96.777618) (xy 126.487221 96.737905) (xy 126.500292 96.694813) (xy 126.504706 96.65)
+ (xy 126.504706 95.65) (xy 126.500292 95.605187) (xy 126.487221 95.562095) (xy 126.465994 95.522382) (xy 126.437427 95.487573)
+ (xy 126.402618 95.459006) (xy 126.362905 95.437779) (xy 126.319813 95.424708) (xy 126.275 95.420294) (xy 125.275 95.420294)
+ (xy 125.230187 95.424708) (xy 125.187095 95.437779) (xy 125.147382 95.459006) (xy 125.112573 95.487573) (xy 125.084006 95.522382)
+ (xy 125.062779 95.562095) (xy 125.049708 95.605187) (xy 125.045294 95.65) (xy 123.752301 95.65) (xy 123.752301 92.268523)
+ (xy 124.8327 92.268523) (xy 124.8327 92.498677) (xy 124.877601 92.72441) (xy 124.965678 92.937045) (xy 125.093545 93.128411)
+ (xy 125.256289 93.291155) (xy 125.447655 93.419022) (xy 125.66029 93.507099) (xy 125.886023 93.552) (xy 126.116177 93.552)
+ (xy 126.34191 93.507099) (xy 126.554545 93.419022) (xy 126.745911 93.291155) (xy 126.908655 93.128411) (xy 127.036522 92.937045)
+ (xy 127.124599 92.72441) (xy 127.1695 92.498677) (xy 127.1695 92.268523) (xy 127.3727 92.268523) (xy 127.3727 92.498677)
+ (xy 127.417601 92.72441) (xy 127.505678 92.937045) (xy 127.633545 93.128411) (xy 127.796289 93.291155) (xy 127.987655 93.419022)
+ (xy 128.20029 93.507099) (xy 128.426023 93.552) (xy 128.656177 93.552) (xy 128.88191 93.507099) (xy 129.094545 93.419022)
+ (xy 129.285911 93.291155) (xy 129.448655 93.128411) (xy 129.576522 92.937045) (xy 129.664599 92.72441) (xy 129.7095 92.498677)
+ (xy 129.7095 92.268523) (xy 129.664599 92.04279) (xy 129.576522 91.830155) (xy 129.448655 91.638789) (xy 129.285911 91.476045)
+ (xy 129.094545 91.348178) (xy 128.88191 91.260101) (xy 128.656177 91.2152) (xy 128.426023 91.2152) (xy 128.20029 91.260101)
+ (xy 127.987655 91.348178) (xy 127.796289 91.476045) (xy 127.633545 91.638789) (xy 127.505678 91.830155) (xy 127.417601 92.04279)
+ (xy 127.3727 92.268523) (xy 127.1695 92.268523) (xy 127.124599 92.04279) (xy 127.036522 91.830155) (xy 126.908655 91.638789)
+ (xy 126.745911 91.476045) (xy 126.554545 91.348178) (xy 126.34191 91.260101) (xy 126.116177 91.2152) (xy 125.886023 91.2152)
+ (xy 125.66029 91.260101) (xy 125.447655 91.348178) (xy 125.256289 91.476045) (xy 125.093545 91.638789) (xy 124.965678 91.830155)
+ (xy 124.877601 92.04279) (xy 124.8327 92.268523) (xy 123.752301 92.268523) (xy 123.752301 88.625) (xy 126.445294 88.625)
+ (xy 126.445294 89.625) (xy 126.449708 89.669813) (xy 126.462779 89.712905) (xy 126.484006 89.752618) (xy 126.512573 89.787427)
+ (xy 126.547382 89.815994) (xy 126.587095 89.837221) (xy 126.630187 89.850292) (xy 126.675 89.854706) (xy 127.675 89.854706)
+ (xy 127.719813 89.850292) (xy 127.762905 89.837221) (xy 127.802618 89.815994) (xy 127.837427 89.787427) (xy 127.865994 89.752618)
+ (xy 127.887221 89.712905) (xy 127.900292 89.669813) (xy 127.904706 89.625) (xy 127.904706 88.625) (xy 127.900292 88.580187)
+ (xy 127.887221 88.537095) (xy 127.865994 88.497382) (xy 127.837427 88.462573) (xy 127.802618 88.434006) (xy 127.762905 88.412779)
+ (xy 127.719813 88.399708) (xy 127.675 88.395294) (xy 126.675 88.395294) (xy 126.630187 88.399708) (xy 126.587095 88.412779)
+ (xy 126.547382 88.434006) (xy 126.512573 88.462573) (xy 126.484006 88.497382) (xy 126.462779 88.537095) (xy 126.449708 88.580187)
+ (xy 126.445294 88.625) (xy 123.752301 88.625) (xy 123.752301 86) (xy 128.395294 86) (xy 128.395294 87)
+ (xy 128.399708 87.044813) (xy 128.412779 87.087905) (xy 128.434006 87.127618) (xy 128.462573 87.162427) (xy 128.497382 87.190994)
+ (xy 128.537095 87.212221) (xy 128.580187 87.225292) (xy 128.625 87.229706) (xy 129.625 87.229706) (xy 129.669813 87.225292)
+ (xy 129.712905 87.212221) (xy 129.752618 87.190994) (xy 129.787427 87.162427) (xy 129.815994 87.127618) (xy 129.837221 87.087905)
+ (xy 129.850292 87.044813) (xy 129.854706 87) (xy 129.854706 86) (xy 131.320294 86) (xy 131.320294 87)
+ (xy 131.324708 87.044813) (xy 131.337779 87.087905) (xy 131.359006 87.127618) (xy 131.387573 87.162427) (xy 131.422382 87.190994)
+ (xy 131.462095 87.212221) (xy 131.505187 87.225292) (xy 131.55 87.229706) (xy 132.55 87.229706) (xy 132.594813 87.225292)
+ (xy 132.637905 87.212221) (xy 132.677618 87.190994) (xy 132.712427 87.162427) (xy 132.740994 87.127618) (xy 132.762221 87.087905)
+ (xy 132.775292 87.044813) (xy 132.779706 87) (xy 132.779706 86) (xy 132.775292 85.955187) (xy 132.762221 85.912095)
+ (xy 132.740994 85.872382) (xy 132.712427 85.837573) (xy 132.677618 85.809006) (xy 132.637905 85.787779) (xy 132.594813 85.774708)
+ (xy 132.55 85.770294) (xy 131.55 85.770294) (xy 131.505187 85.774708) (xy 131.462095 85.787779) (xy 131.422382 85.809006)
+ (xy 131.387573 85.837573) (xy 131.359006 85.872382) (xy 131.337779 85.912095) (xy 131.324708 85.955187) (xy 131.320294 86)
+ (xy 129.854706 86) (xy 129.850292 85.955187) (xy 129.837221 85.912095) (xy 129.815994 85.872382) (xy 129.787427 85.837573)
+ (xy 129.752618 85.809006) (xy 129.712905 85.787779) (xy 129.669813 85.774708) (xy 129.625 85.770294) (xy 128.625 85.770294)
+ (xy 128.580187 85.774708) (xy 128.537095 85.787779) (xy 128.497382 85.809006) (xy 128.462573 85.837573) (xy 128.434006 85.872382)
+ (xy 128.412779 85.912095) (xy 128.399708 85.955187) (xy 128.395294 86) (xy 123.752301 86) (xy 123.752301 83.143197)
+ (xy 125.2725 83.143197) (xy 125.2725 83.464003) (xy 125.335086 83.778645) (xy 125.457853 84.075031) (xy 125.636084 84.341772)
+ (xy 125.862928 84.568616) (xy 126.129669 84.746847) (xy 126.426055 84.869614) (xy 126.740697 84.9322) (xy 127.061503 84.9322)
+ (xy 127.376145 84.869614) (xy 127.672531 84.746847) (xy 127.939272 84.568616) (xy 128.166116 84.341772) (xy 128.344347 84.075031)
+ (xy 128.467114 83.778645) (xy 128.5297 83.464003) (xy 128.5297 83.143197) (xy 128.467114 82.828555) (xy 128.344347 82.532169)
+ (xy 128.166116 82.265428) (xy 127.939272 82.038584) (xy 127.672531 81.860353) (xy 127.376145 81.737586) (xy 127.061503 81.675)
+ (xy 126.740697 81.675) (xy 126.426055 81.737586) (xy 126.129669 81.860353) (xy 125.862928 82.038584) (xy 125.636084 82.265428)
+ (xy 125.457853 82.532169) (xy 125.335086 82.828555) (xy 125.2725 83.143197) (xy 123.752301 83.143197) (xy 123.752301 80.254801)
+ (xy 173.249899 80.254801)
+ )
+ )
+ (filled_polygon
+ (pts
+ (xy 165.2963 122.4988) (xy 165.290736 122.4988) (xy 165.2963 122.480456)
+ )
+ )
+ (filled_polygon
+ (pts
+ (xy 133.014147 122.4952) (xy 133.001252 122.4952) (xy 131.7048 121.198749) (xy 131.7048 121.185851)
+ )
+ )
+ (filled_polygon
+ (pts
+ (xy 133.965248 122.0988) (xy 133.479853 122.0988) (xy 132.0048 120.623749) (xy 132.0048 120.138351)
+ )
+ )
+ (filled_polygon
+ (pts
+ (xy 134.717748 121.6988) (xy 134.427352 121.6988) (xy 132.2798 119.551249) (xy 132.2798 119.260851)
+ )
+ )
+ (filled_polygon
+ (pts
+ (xy 139.009006 90.477618) (xy 139.027374 90.5) (xy 139.009006 90.522382) (xy 138.987779 90.562095) (xy 138.974708 90.605187)
+ (xy 138.970294 90.65) (xy 138.970294 91.15) (xy 138.974708 91.194813) (xy 138.987779 91.237905) (xy 139.009006 91.277618)
+ (xy 139.027374 91.3) (xy 139.009006 91.322382) (xy 138.987779 91.362095) (xy 138.974708 91.405187) (xy 138.970294 91.45)
+ (xy 138.970294 91.95) (xy 138.974708 91.994813) (xy 138.987779 92.037905) (xy 139.009006 92.077618) (xy 139.027374 92.1)
+ (xy 139.009006 92.122382) (xy 138.987779 92.162095) (xy 138.974708 92.205187) (xy 138.970294 92.25) (xy 138.970294 92.75)
+ (xy 138.974708 92.794813) (xy 138.987779 92.837905) (xy 139.009006 92.877618) (xy 139.027374 92.9) (xy 139.009006 92.922382)
+ (xy 138.987779 92.962095) (xy 138.974708 93.005187) (xy 138.970294 93.05) (xy 138.970294 93.55) (xy 138.974708 93.594813)
+ (xy 138.987779 93.637905) (xy 139.009006 93.677618) (xy 139.027374 93.7) (xy 139.009006 93.722382) (xy 138.987779 93.762095)
+ (xy 138.974708 93.805187) (xy 138.970294 93.85) (xy 138.970294 94.35) (xy 138.974708 94.394813) (xy 138.987779 94.437905)
+ (xy 139.009006 94.477618) (xy 139.027374 94.5) (xy 139.009006 94.522382) (xy 138.987779 94.562095) (xy 138.974708 94.605187)
+ (xy 138.970294 94.65) (xy 138.970294 95.15) (xy 138.974708 95.194813) (xy 138.987779 95.237905) (xy 139.009006 95.277618)
+ (xy 139.027374 95.3) (xy 139.009006 95.322382) (xy 138.987779 95.362095) (xy 138.974708 95.405187) (xy 138.970294 95.45)
+ (xy 138.970294 95.95) (xy 138.974708 95.994813) (xy 138.987779 96.037905) (xy 139.009006 96.077618) (xy 139.027374 96.1)
+ (xy 139.009006 96.122382) (xy 138.987779 96.162095) (xy 138.974708 96.205187) (xy 138.970294 96.25) (xy 138.970294 96.75)
+ (xy 138.974708 96.794813) (xy 138.987779 96.837905) (xy 139.009006 96.877618) (xy 139.027374 96.9) (xy 139.009006 96.922382)
+ (xy 138.987779 96.962095) (xy 138.974708 97.005187) (xy 138.970294 97.05) (xy 138.970294 97.55) (xy 138.974708 97.594813)
+ (xy 138.987779 97.637905) (xy 139.009006 97.677618) (xy 139.027374 97.7) (xy 139.009006 97.722382) (xy 138.987779 97.762095)
+ (xy 138.974708 97.805187) (xy 138.970294 97.85) (xy 138.970294 98.35) (xy 138.974708 98.394813) (xy 138.987779 98.437905)
+ (xy 139.009006 98.477618) (xy 139.027374 98.5) (xy 139.009006 98.522382) (xy 138.987779 98.562095) (xy 138.974708 98.605187)
+ (xy 138.970294 98.65) (xy 138.970294 99.15) (xy 138.974708 99.194813) (xy 138.987779 99.237905) (xy 139.009006 99.277618)
+ (xy 139.027374 99.3) (xy 139.009006 99.322382) (xy 138.987779 99.362095) (xy 138.974708 99.405187) (xy 138.970294 99.45)
+ (xy 138.970294 99.95) (xy 138.974708 99.994813) (xy 138.987779 100.037905) (xy 139.009006 100.077618) (xy 139.027374 100.1)
+ (xy 139.009006 100.122382) (xy 138.987779 100.162095) (xy 138.974708 100.205187) (xy 138.970294 100.25) (xy 138.970294 100.75)
+ (xy 138.974708 100.794813) (xy 138.987779 100.837905) (xy 139.009006 100.877618) (xy 139.027374 100.9) (xy 139.009006 100.922382)
+ (xy 138.987779 100.962095) (xy 138.974708 101.005187) (xy 138.970294 101.05) (xy 138.970294 101.55) (xy 138.974708 101.594813)
+ (xy 138.987779 101.637905) (xy 139.009006 101.677618) (xy 139.027374 101.7) (xy 139.009006 101.722382) (xy 138.987779 101.762095)
+ (xy 138.974708 101.805187) (xy 138.970294 101.85) (xy 138.970294 102.35) (xy 138.974708 102.394813) (xy 138.987779 102.437905)
+ (xy 139.009006 102.477618) (xy 139.027374 102.5) (xy 139.009006 102.522382) (xy 138.987779 102.562095) (xy 138.974708 102.605187)
+ (xy 138.970294 102.65) (xy 138.970294 103.15) (xy 138.974708 103.194813) (xy 138.987779 103.237905) (xy 139.009006 103.277618)
+ (xy 139.037573 103.312427) (xy 139.072382 103.340994) (xy 139.112095 103.362221) (xy 139.155187 103.375292) (xy 139.2 103.379706)
+ (xy 140.296301 103.379706) (xy 140.2963 106.877469) (xy 140.214288 106.932268) (xy 140.129768 107.016788) (xy 140.063361 107.116172)
+ (xy 140.017619 107.226603) (xy 139.9943 107.343835) (xy 139.9943 107.463365) (xy 140.017619 107.580597) (xy 140.063361 107.691028)
+ (xy 140.129768 107.790412) (xy 140.214288 107.874932) (xy 140.313672 107.941339) (xy 140.424103 107.987081) (xy 140.541335 108.0104)
+ (xy 140.660865 108.0104) (xy 140.778097 107.987081) (xy 140.888528 107.941339) (xy 140.987912 107.874932) (xy 141.072432 107.790412)
+ (xy 141.138839 107.691028) (xy 141.184581 107.580597) (xy 141.2079 107.463365) (xy 141.2079 107.343835) (xy 141.184581 107.226603)
+ (xy 141.138839 107.116172) (xy 141.072432 107.016788) (xy 140.987912 106.932268) (xy 140.9059 106.877469) (xy 140.9059 103.379706)
+ (xy 141.6 103.379706) (xy 141.644813 103.375292) (xy 141.687905 103.362221) (xy 141.727618 103.340994) (xy 141.762427 103.312427)
+ (xy 141.790994 103.277618) (xy 141.812221 103.237905) (xy 141.825292 103.194813) (xy 141.829706 103.15) (xy 141.829706 102.65)
+ (xy 141.825292 102.605187) (xy 141.812221 102.562095) (xy 141.790994 102.522382) (xy 141.772626 102.5) (xy 141.790994 102.477618)
+ (xy 141.812221 102.437905) (xy 141.822263 102.4048) (xy 142.370201 102.4048) (xy 142.3702 105.203448) (xy 142.257605 105.316043)
+ (xy 142.160865 105.2968) (xy 142.041335 105.2968) (xy 141.924103 105.320119) (xy 141.813672 105.365861) (xy 141.714288 105.432268)
+ (xy 141.629768 105.516788) (xy 141.563361 105.616172) (xy 141.517619 105.726603) (xy 141.4943 105.843835) (xy 141.4943 105.963365)
+ (xy 141.517619 106.080597) (xy 141.563361 106.191028) (xy 141.629768 106.290412) (xy 141.714288 106.374932) (xy 141.813672 106.441339)
+ (xy 141.924103 106.487081) (xy 142.041335 106.5104) (xy 142.160865 106.5104) (xy 142.278097 106.487081) (xy 142.388528 106.441339)
+ (xy 142.487912 106.374932) (xy 142.572432 106.290412) (xy 142.638839 106.191028) (xy 142.684581 106.080597) (xy 142.7079 105.963365)
+ (xy 142.7079 105.843835) (xy 142.688657 105.747095) (xy 142.879945 105.555807) (xy 142.891568 105.546268) (xy 142.929658 105.499857)
+ (xy 142.95796 105.446906) (xy 142.971332 105.402824) (xy 142.975389 105.389452) (xy 142.977712 105.365861) (xy 142.9798 105.344666)
+ (xy 142.9798 105.344659) (xy 142.981273 105.329701) (xy 142.9798 105.314743) (xy 142.9798 102.139957) (xy 142.981273 102.124999)
+ (xy 142.9798 102.110041) (xy 142.9798 102.110034) (xy 142.975389 102.065249) (xy 142.95796 102.007794) (xy 142.929658 101.954843)
+ (xy 142.891568 101.908432) (xy 142.879939 101.898888) (xy 142.876112 101.895061) (xy 142.866568 101.883432) (xy 142.820157 101.845342)
+ (xy 142.767206 101.81704) (xy 142.709751 101.799611) (xy 142.664966 101.7952) (xy 142.664958 101.7952) (xy 142.65 101.793727)
+ (xy 142.635042 101.7952) (xy 141.822263 101.7952) (xy 141.812221 101.762095) (xy 141.790994 101.722382) (xy 141.772626 101.7)
+ (xy 141.790994 101.677618) (xy 141.812221 101.637905) (xy 141.822263 101.6048) (xy 143.0702 101.6048) (xy 143.070201 108.142232)
+ (xy 143.068727 108.1572) (xy 143.074611 108.216951) (xy 143.09204 108.274405) (xy 143.092041 108.274406) (xy 143.120343 108.327357)
+ (xy 143.158433 108.373768) (xy 143.170057 108.383308) (xy 143.895291 109.108543) (xy 143.904832 109.120168) (xy 143.951243 109.158258)
+ (xy 144.004194 109.18656) (xy 144.061648 109.203989) (xy 144.067289 109.204545) (xy 144.106434 109.2084) (xy 144.106441 109.2084)
+ (xy 144.121399 109.209873) (xy 144.136357 109.2084) (xy 151.463683 109.2084) (xy 151.305821 109.31388) (xy 151.17138 109.448321)
+ (xy 151.065751 109.606406) (xy 151.002627 109.7588) (xy 141.076358 109.7588) (xy 141.0614 109.757327) (xy 141.046442 109.7588)
+ (xy 141.046434 109.7588) (xy 141.001649 109.763211) (xy 140.944194 109.78064) (xy 140.891243 109.808942) (xy 140.876146 109.821332)
+ (xy 140.856456 109.837491) (xy 140.85645 109.837497) (xy 140.844832 109.847032) (xy 140.835297 109.85865) (xy 139.998749 110.6952)
+ (xy 135.6048 110.6952) (xy 135.6048 110.119351) (xy 135.621789 110.063351) (xy 135.627673 110.003599) (xy 135.621789 109.943849)
+ (xy 135.6048 109.887849) (xy 135.6048 106.2) (xy 136.270294 106.2) (xy 136.270294 108.7) (xy 136.274708 108.744813)
+ (xy 136.287779 108.787905) (xy 136.309006 108.827618) (xy 136.337573 108.862427) (xy 136.372382 108.890994) (xy 136.412095 108.912221)
+ (xy 136.455187 108.925292) (xy 136.5 108.929706) (xy 137.1214 108.929706) (xy 137.1214 109.385788) (xy 137.131943 109.49283)
+ (xy 137.173605 109.630171) (xy 137.24126 109.756746) (xy 137.332309 109.86769) (xy 137.443253 109.95874) (xy 137.569828 110.026395)
+ (xy 137.707169 110.068057) (xy 137.85 110.082125) (xy 137.99283 110.068057) (xy 138.130171 110.026395) (xy 138.256746 109.95874)
+ (xy 138.36769 109.867691) (xy 138.45874 109.756747) (xy 138.526395 109.630172) (xy 138.568057 109.492831) (xy 138.5786 109.385789)
+ (xy 138.5786 108.929706) (xy 139.2 108.929706) (xy 139.244813 108.925292) (xy 139.287905 108.912221) (xy 139.327618 108.890994)
+ (xy 139.362427 108.862427) (xy 139.390994 108.827618) (xy 139.412221 108.787905) (xy 139.425292 108.744813) (xy 139.429706 108.7)
+ (xy 139.429706 106.2) (xy 139.425292 106.155187) (xy 139.412221 106.112095) (xy 139.390994 106.072382) (xy 139.362427 106.037573)
+ (xy 139.327618 106.009006) (xy 139.287905 105.987779) (xy 139.244813 105.974708) (xy 139.2 105.970294) (xy 136.5 105.970294)
+ (xy 136.455187 105.974708) (xy 136.412095 105.987779) (xy 136.372382 106.009006) (xy 136.337573 106.037573) (xy 136.309006 106.072382)
+ (xy 136.287779 106.112095) (xy 136.274708 106.155187) (xy 136.270294 106.2) (xy 135.6048 106.2) (xy 135.6048 103.593013)
+ (xy 137.2714 103.593013) (xy 137.2714 103.706987) (xy 137.293635 103.818772) (xy 137.337251 103.92407) (xy 137.400572 104.018836)
+ (xy 137.481164 104.099428) (xy 137.57593 104.162749) (xy 137.681228 104.206365) (xy 137.793013 104.2286) (xy 137.906987 104.2286)
+ (xy 138.018772 104.206365) (xy 138.12407 104.162749) (xy 138.218836 104.099428) (xy 138.299428 104.018836) (xy 138.362749 103.92407)
+ (xy 138.406365 103.818772) (xy 138.4286 103.706987) (xy 138.4286 103.593013) (xy 138.406365 103.481228) (xy 138.362749 103.37593)
+ (xy 138.299428 103.281164) (xy 138.218836 103.200572) (xy 138.12407 103.137251) (xy 138.018772 103.093635) (xy 137.906987 103.0714)
+ (xy 137.793013 103.0714) (xy 137.681228 103.093635) (xy 137.57593 103.137251) (xy 137.481164 103.200572) (xy 137.400572 103.281164)
+ (xy 137.337251 103.37593) (xy 137.293635 103.481228) (xy 137.2714 103.593013) (xy 135.6048 103.593013) (xy 135.6048 103.379706)
+ (xy 136.5 103.379706) (xy 136.544813 103.375292) (xy 136.587905 103.362221) (xy 136.627618 103.340994) (xy 136.662427 103.312427)
+ (xy 136.690994 103.277618) (xy 136.712221 103.237905) (xy 136.725292 103.194813) (xy 136.729706 103.15) (xy 136.729706 102.65)
+ (xy 136.725292 102.605187) (xy 136.712221 102.562095) (xy 136.690994 102.522382) (xy 136.672626 102.5) (xy 136.690994 102.477618)
+ (xy 136.712221 102.437905) (xy 136.725292 102.394813) (xy 136.729706 102.35) (xy 136.729706 101.85) (xy 136.725292 101.805187)
+ (xy 136.712221 101.762095) (xy 136.690994 101.722382) (xy 136.672626 101.7) (xy 136.690994 101.677618) (xy 136.712221 101.637905)
+ (xy 136.725292 101.594813) (xy 136.729706 101.55) (xy 136.729706 101.05) (xy 136.725292 101.005187) (xy 136.712221 100.962095)
+ (xy 136.690994 100.922382) (xy 136.672626 100.9) (xy 136.690994 100.877618) (xy 136.712221 100.837905) (xy 136.725292 100.794813)
+ (xy 136.729706 100.75) (xy 136.729706 100.25) (xy 136.725292 100.205187) (xy 136.712221 100.162095) (xy 136.690994 100.122382)
+ (xy 136.672626 100.1) (xy 136.690994 100.077618) (xy 136.712221 100.037905) (xy 136.725292 99.994813) (xy 136.729706 99.95)
+ (xy 136.729706 99.45) (xy 136.725292 99.405187) (xy 136.712221 99.362095) (xy 136.690994 99.322382) (xy 136.672626 99.3)
+ (xy 136.690994 99.277618) (xy 136.712221 99.237905) (xy 136.725292 99.194813) (xy 136.729706 99.15) (xy 136.729706 98.65)
+ (xy 136.725292 98.605187) (xy 136.712221 98.562095) (xy 136.690994 98.522382) (xy 136.672626 98.5) (xy 136.690994 98.477618)
+ (xy 136.712221 98.437905) (xy 136.725292 98.394813) (xy 136.729706 98.35) (xy 136.729706 97.85) (xy 136.725292 97.805187)
+ (xy 136.712221 97.762095) (xy 136.690994 97.722382) (xy 136.672626 97.7) (xy 136.690994 97.677618) (xy 136.712221 97.637905)
+ (xy 136.725292 97.594813) (xy 136.729706 97.55) (xy 136.729706 97.05) (xy 136.725292 97.005187) (xy 136.712221 96.962095)
+ (xy 136.690994 96.922382) (xy 136.672626 96.9) (xy 136.690994 96.877618) (xy 136.712221 96.837905) (xy 136.725292 96.794813)
+ (xy 136.729706 96.75) (xy 136.729706 96.25) (xy 136.725292 96.205187) (xy 136.712221 96.162095) (xy 136.690994 96.122382)
+ (xy 136.672626 96.1) (xy 136.690994 96.077618) (xy 136.712221 96.037905) (xy 136.725292 95.994813) (xy 136.729706 95.95)
+ (xy 136.729706 95.45) (xy 136.725292 95.405187) (xy 136.712221 95.362095) (xy 136.699706 95.338681) (xy 136.749291 95.388266)
+ (xy 136.852246 95.457059) (xy 136.966644 95.504444) (xy 137.088088 95.5286) (xy 137.211912 95.5286) (xy 137.333356 95.504444)
+ (xy 137.447754 95.457059) (xy 137.550709 95.388266) (xy 137.638266 95.300709) (xy 137.707059 95.197754) (xy 137.754444 95.083356)
+ (xy 137.7786 94.961912) (xy 137.7786 94.838088) (xy 137.754444 94.716644) (xy 137.707059 94.602246) (xy 137.638266 94.499291)
+ (xy 137.550709 94.411734) (xy 137.540332 94.4048) (xy 137.622649 94.4048) (xy 137.686734 94.500709) (xy 137.774291 94.588266)
+ (xy 137.877246 94.657059) (xy 137.991644 94.704444) (xy 138.113088 94.7286) (xy 138.236912 94.7286) (xy 138.358356 94.704444)
+ (xy 138.472754 94.657059) (xy 138.575709 94.588266) (xy 138.663266 94.500709) (xy 138.732059 94.397754) (xy 138.779444 94.283356)
+ (xy 138.8036 94.161912) (xy 138.8036 94.038088) (xy 138.779444 93.916644) (xy 138.732059 93.802246) (xy 138.663266 93.699291)
+ (xy 138.575709 93.611734) (xy 138.472754 93.542941) (xy 138.358356 93.495556) (xy 138.236912 93.4714) (xy 138.113088 93.4714)
+ (xy 137.991644 93.495556) (xy 137.877246 93.542941) (xy 137.774291 93.611734) (xy 137.686734 93.699291) (xy 137.622649 93.7952)
+ (xy 136.722263 93.7952) (xy 136.712221 93.762095) (xy 136.690994 93.722382) (xy 136.672626 93.7) (xy 136.690994 93.677618)
+ (xy 136.712221 93.637905) (xy 136.725292 93.594813) (xy 136.729706 93.55) (xy 136.729706 93.05) (xy 136.725292 93.005187)
+ (xy 136.712221 92.962095) (xy 136.690994 92.922382) (xy 136.672626 92.9) (xy 136.690994 92.877618) (xy 136.712221 92.837905)
+ (xy 136.725292 92.794813) (xy 136.729706 92.75) (xy 136.729706 92.25) (xy 136.725292 92.205187) (xy 136.712221 92.162095)
+ (xy 136.690994 92.122382) (xy 136.672626 92.1) (xy 136.690994 92.077618) (xy 136.712221 92.037905) (xy 136.725292 91.994813)
+ (xy 136.729706 91.95) (xy 136.729706 91.45) (xy 136.725292 91.405187) (xy 136.712221 91.362095) (xy 136.690994 91.322382)
+ (xy 136.672626 91.3) (xy 136.690994 91.277618) (xy 136.712221 91.237905) (xy 136.722263 91.2048) (xy 136.780109 91.2048)
+ (xy 136.832794 91.23296) (xy 136.890249 91.250389) (xy 136.935034 91.2548) (xy 136.935035 91.2548) (xy 136.95 91.256274)
+ (xy 136.964966 91.2548) (xy 138.085042 91.2548) (xy 138.1 91.256273) (xy 138.114958 91.2548) (xy 138.114966 91.2548)
+ (xy 138.159751 91.250389) (xy 138.217206 91.23296) (xy 138.270157 91.204658) (xy 138.316568 91.166568) (xy 138.326112 91.154939)
+ (xy 139.007065 90.473987)
+ )
+ )
+ (filled_polygon
+ (pts
+ (xy 144.541691 106.462143) (xy 144.551232 106.473768) (xy 144.597643 106.511858) (xy 144.650594 106.54016) (xy 144.708048 106.557589)
+ (xy 144.713689 106.558145) (xy 144.752834 106.562) (xy 144.752841 106.562) (xy 144.767799 106.563473) (xy 144.782757 106.562)
+ (xy 151.807938 106.562) (xy 151.639562 106.595492) (xy 151.463906 106.668251) (xy 151.305821 106.77388) (xy 151.17138 106.908321)
+ (xy 151.065751 107.066406) (xy 150.992992 107.242062) (xy 150.981706 107.2988) (xy 144.579852 107.2988) (xy 144.1048 106.823749)
+ (xy 144.1048 106.025251)
+ )
+ )
+ (filled_polygon
+ (pts
+ (xy 145.520292 102.708544) (xy 145.529832 102.720168) (xy 145.541456 102.729708) (xy 145.541622 102.729844) (xy 145.576243 102.758258)
+ (xy 145.629194 102.78656) (xy 145.673276 102.799932) (xy 145.686648 102.803989) (xy 145.692289 102.804545) (xy 145.731434 102.8084)
+ (xy 145.731441 102.8084) (xy 145.746399 102.809873) (xy 145.761357 102.8084) (xy 151.02748 102.8084) (xy 151.065751 102.900794)
+ (xy 151.17138 103.058879) (xy 151.305821 103.19332) (xy 151.463906 103.298949) (xy 151.639562 103.371708) (xy 151.775763 103.3988)
+ (xy 145.579852 103.3988) (xy 145.3798 103.198749) (xy 145.3798 102.568051)
+ )
+ )
+ (filled_polygon
+ (pts
+ (xy 145.823888 101.404939) (xy 145.833432 101.416568) (xy 145.879843 101.454658) (xy 145.908841 101.470157) (xy 145.932794 101.48296)
+ (xy 145.990248 101.500389) (xy 145.995403 101.500897) (xy 146.035034 101.5048) (xy 146.035042 101.5048) (xy 146.05 101.506273)
+ (xy 146.064958 101.5048) (xy 151.693314 101.5048) (xy 151.639562 101.515492) (xy 151.463906 101.588251) (xy 151.305821 101.69388)
+ (xy 151.17138 101.828321) (xy 151.065751 101.986406) (xy 150.992992 102.162062) (xy 150.985684 102.1988) (xy 145.872652 102.1988)
+ (xy 145.8048 102.130949) (xy 145.8048 101.385851)
+ )
+ )
+ (filled_polygon
+ (pts
+ (xy 133.887779 101.637905) (xy 133.909006 101.677618) (xy 133.927374 101.7) (xy 133.909006 101.722382) (xy 133.887779 101.762095)
+ (xy 133.877737 101.7952) (xy 133.514965 101.7952) (xy 133.5048 101.794199) (xy 133.5048 101.6048) (xy 133.877737 101.6048)
+ )
+ )
+ (filled_polygon
+ (pts
+ (xy 143.4952 101.01864) (xy 143.492206 101.01704) (xy 143.434751 100.999611) (xy 143.389966 100.9952) (xy 143.389965 100.9952)
+ (xy 143.375 100.993726) (xy 143.360034 100.9952) (xy 141.822263 100.9952) (xy 141.812221 100.962095) (xy 141.790994 100.922382)
+ (xy 141.772626 100.9) (xy 141.790994 100.877618) (xy 141.812221 100.837905) (xy 141.822263 100.8048) (xy 143.4952 100.8048)
+ )
+ )
+ (filled_polygon
+ (pts
+ (xy 133.887779 100.837905) (xy 133.909006 100.877618) (xy 133.927374 100.9) (xy 133.909006 100.922382) (xy 133.887779 100.962095)
+ (xy 133.877737 100.9952) (xy 133.214965 100.9952) (xy 133.2 100.993726) (xy 133.185034 100.9952) (xy 133.1798 100.995716)
+ (xy 133.1798 100.8048) (xy 133.877737 100.8048)
+ )
+ )
+ (filled_polygon
+ (pts
+ (xy 143.9202 100.21864) (xy 143.917206 100.21704) (xy 143.859751 100.199611) (xy 143.814966 100.1952) (xy 143.814965 100.1952)
+ (xy 143.8 100.193726) (xy 143.785034 100.1952) (xy 141.822263 100.1952) (xy 141.812221 100.162095) (xy 141.790994 100.122382)
+ (xy 141.772626 100.1) (xy 141.790994 100.077618) (xy 141.812221 100.037905) (xy 141.822263 100.0048) (xy 143.9202 100.0048)
+ )
+ )
+ (filled_polygon
+ (pts
+ (xy 133.887779 100.037905) (xy 133.909006 100.077618) (xy 133.927374 100.1) (xy 133.909006 100.122382) (xy 133.887779 100.162095)
+ (xy 133.877737 100.1952) (xy 132.889965 100.1952) (xy 132.8798 100.194199) (xy 132.8798 100.0048) (xy 133.877737 100.0048)
+ )
+ )
+ (filled_polygon
+ (pts
+ (xy 146.558443 98.958258) (xy 146.611394 98.98656) (xy 146.668849 99.003989) (xy 146.713634 99.0084) (xy 146.713642 99.0084)
+ (xy 146.7286 99.009873) (xy 146.743558 99.0084) (xy 151.560115 99.0084) (xy 151.463906 99.048251) (xy 151.305821 99.15388)
+ (xy 151.17138 99.288321) (xy 151.065751 99.446406) (xy 151.002627 99.5988) (xy 146.5548 99.5988) (xy 146.5548 98.955268)
+ )
+ )
+ (filled_polygon
+ (pts
+ (xy 144.3452 99.41864) (xy 144.342206 99.41704) (xy 144.284751 99.399611) (xy 144.239966 99.3952) (xy 144.239965 99.3952)
+ (xy 144.225 99.393726) (xy 144.210034 99.3952) (xy 141.822263 99.3952) (xy 141.812221 99.362095) (xy 141.790994 99.322382)
+ (xy 141.772626 99.3) (xy 141.790994 99.277618) (xy 141.812221 99.237905) (xy 141.822263 99.2048) (xy 144.3452 99.2048)
+ )
+ )
+ (filled_polygon
+ (pts
+ (xy 133.887779 99.237905) (xy 133.909006 99.277618) (xy 133.927374 99.3) (xy 133.909006 99.322382) (xy 133.887779 99.362095)
+ (xy 133.877737 99.3952) (xy 132.589965 99.3952) (xy 132.575 99.393726) (xy 132.560034 99.3952) (xy 132.5548 99.395716)
+ (xy 132.5548 99.2048) (xy 133.877737 99.2048)
+ )
+ )
+ (filled_polygon
+ (pts
+ (xy 144.7702 98.61864) (xy 144.767206 98.61704) (xy 144.709751 98.599611) (xy 144.664966 98.5952) (xy 144.664965 98.5952)
+ (xy 144.65 98.593726) (xy 144.635034 98.5952) (xy 141.822263 98.5952) (xy 141.812221 98.562095) (xy 141.790994 98.522382)
+ (xy 141.772626 98.5) (xy 141.790994 98.477618) (xy 141.812221 98.437905) (xy 141.822263 98.4048) (xy 144.7702 98.4048)
+ )
+ )
+ (filled_polygon
+ (pts
+ (xy 133.887779 98.437905) (xy 133.909006 98.477618) (xy 133.927374 98.5) (xy 133.909006 98.522382) (xy 133.887779 98.562095)
+ (xy 133.877737 98.5952) (xy 132.2798 98.5952) (xy 132.2798 98.4048) (xy 133.877737 98.4048)
+ )
+ )
+ (filled_polygon
+ (pts
+ (xy 145.1952 97.81864) (xy 145.192206 97.81704) (xy 145.134751 97.799611) (xy 145.089966 97.7952) (xy 145.089965 97.7952)
+ (xy 145.075 97.793726) (xy 145.060034 97.7952) (xy 141.822263 97.7952) (xy 141.812221 97.762095) (xy 141.790994 97.722382)
+ (xy 141.772626 97.7) (xy 141.790994 97.677618) (xy 141.812221 97.637905) (xy 141.822263 97.6048) (xy 145.1952 97.6048)
+ )
+ )
+ (filled_polygon
+ (pts
+ (xy 133.887779 97.637905) (xy 133.909006 97.677618) (xy 133.927374 97.7) (xy 133.909006 97.722382) (xy 133.887779 97.762095)
+ (xy 133.877737 97.7952) (xy 132.0048 97.7952) (xy 132.0048 97.6048) (xy 133.877737 97.6048)
+ )
+ )
+ (filled_polygon
+ (pts
+ (xy 147.343848 96.403989) (xy 147.349489 96.404545) (xy 147.388634 96.4084) (xy 147.388641 96.4084) (xy 147.403599 96.409873)
+ (xy 147.418557 96.4084) (xy 151.775763 96.4084) (xy 151.639562 96.435492) (xy 151.463906 96.508251) (xy 151.305821 96.61388)
+ (xy 151.17138 96.748321) (xy 151.065751 96.906406) (xy 151.002627 97.0588) (xy 147.3298 97.0588) (xy 147.3298 96.399727)
+ )
+ )
+ (filled_polygon
+ (pts
+ (xy 145.5452 96.998178) (xy 145.514966 96.9952) (xy 145.514965 96.9952) (xy 145.5 96.993726) (xy 145.485034 96.9952)
+ (xy 141.822263 96.9952) (xy 141.812221 96.962095) (xy 141.790994 96.922382) (xy 141.772626 96.9) (xy 141.790994 96.877618)
+ (xy 141.812221 96.837905) (xy 141.822263 96.8048) (xy 145.5452 96.8048)
+ )
+ )
+ (filled_polygon
+ (pts
+ (xy 133.887779 96.837905) (xy 133.909006 96.877618) (xy 133.927374 96.9) (xy 133.909006 96.922382) (xy 133.887779 96.962095)
+ (xy 133.877737 96.9952) (xy 131.714966 96.9952) (xy 131.7048 96.994199) (xy 131.7048 96.8048) (xy 133.877737 96.8048)
+ )
+ )
+ (filled_polygon
+ (pts
+ (xy 145.9452 96.210365) (xy 145.909751 96.199611) (xy 145.864966 96.1952) (xy 145.864965 96.1952) (xy 145.85 96.193726)
+ (xy 145.835034 96.1952) (xy 141.822263 96.1952) (xy 141.812221 96.162095) (xy 141.790994 96.122382) (xy 141.772626 96.1)
+ (xy 141.790994 96.077618) (xy 141.812221 96.037905) (xy 141.822263 96.0048) (xy 145.9452 96.0048)
+ )
+ )
+ (filled_polygon
+ (pts
+ (xy 133.830394 95.98296) (xy 133.875239 95.996564) (xy 133.887779 96.037905) (xy 133.909006 96.077618) (xy 133.927374 96.1)
+ (xy 133.909006 96.122382) (xy 133.887779 96.162095) (xy 133.877737 96.1952) (xy 131.414965 96.1952) (xy 131.4048 96.194199)
+ (xy 131.4048 95.9798) (xy 133.824482 95.9798)
+ )
+ )
+ (filled_polygon
+ (pts
+ (xy 131.741644 88.820556) (xy 131.627246 88.867941) (xy 131.524291 88.936734) (xy 131.436734 89.024291) (xy 131.367941 89.127246)
+ (xy 131.320556 89.241644) (xy 131.2964 89.363088) (xy 131.2964 89.486912) (xy 131.320556 89.608356) (xy 131.367941 89.722754)
+ (xy 131.436734 89.825709) (xy 131.524291 89.913266) (xy 131.627246 89.982059) (xy 131.741644 90.029444) (xy 131.863088 90.0536)
+ (xy 131.986912 90.0536) (xy 132.108356 90.029444) (xy 132.222754 89.982059) (xy 132.325709 89.913266) (xy 132.413266 89.825709)
+ (xy 132.482059 89.722754) (xy 132.529444 89.608356) (xy 132.530151 89.6048) (xy 133.877737 89.6048) (xy 133.887779 89.637905)
+ (xy 133.909006 89.677618) (xy 133.927374 89.7) (xy 133.909006 89.722382) (xy 133.887779 89.762095) (xy 133.877737 89.7952)
+ (xy 133.189957 89.7952) (xy 133.174999 89.793727) (xy 133.160041 89.7952) (xy 133.160034 89.7952) (xy 133.120889 89.799055)
+ (xy 133.115248 89.799611) (xy 133.097819 89.804898) (xy 133.057794 89.81704) (xy 133.004843 89.845342) (xy 132.998812 89.850292)
+ (xy 132.970221 89.873757) (xy 132.958432 89.883432) (xy 132.948892 89.895056) (xy 132.875045 89.968903) (xy 132.761912 89.9464)
+ (xy 132.638088 89.9464) (xy 132.516644 89.970556) (xy 132.402246 90.017941) (xy 132.299291 90.086734) (xy 132.211734 90.174291)
+ (xy 132.142941 90.277246) (xy 132.095556 90.391644) (xy 132.0714 90.513088) (xy 132.0714 90.636912) (xy 132.095556 90.758356)
+ (xy 132.142941 90.872754) (xy 132.211734 90.975709) (xy 132.299291 91.063266) (xy 132.402246 91.132059) (xy 132.516644 91.179444)
+ (xy 132.638088 91.2036) (xy 132.761912 91.2036) (xy 132.883356 91.179444) (xy 132.997754 91.132059) (xy 133.100709 91.063266)
+ (xy 133.188266 90.975709) (xy 133.257059 90.872754) (xy 133.304444 90.758356) (xy 133.3286 90.636912) (xy 133.3286 90.513088)
+ (xy 133.307061 90.4048) (xy 133.877737 90.4048) (xy 133.887779 90.437905) (xy 133.909006 90.477618) (xy 133.927374 90.5)
+ (xy 133.909006 90.522382) (xy 133.887779 90.562095) (xy 133.874708 90.605187) (xy 133.870294 90.65) (xy 133.870294 91.15)
+ (xy 133.874708 91.194813) (xy 133.887779 91.237905) (xy 133.909006 91.277618) (xy 133.927374 91.3) (xy 133.909006 91.322382)
+ (xy 133.887779 91.362095) (xy 133.877737 91.3952) (xy 132.427351 91.3952) (xy 132.363266 91.299291) (xy 132.275709 91.211734)
+ (xy 132.172754 91.142941) (xy 132.058356 91.095556) (xy 131.936912 91.0714) (xy 131.813088 91.0714) (xy 131.691644 91.095556)
+ (xy 131.577246 91.142941) (xy 131.474291 91.211734) (xy 131.386734 91.299291) (xy 131.317941 91.402246) (xy 131.270556 91.516644)
+ (xy 131.2464 91.638088) (xy 131.2464 91.761912) (xy 131.270556 91.883356) (xy 131.317941 91.997754) (xy 131.386734 92.100709)
+ (xy 131.474291 92.188266) (xy 131.577246 92.257059) (xy 131.691644 92.304444) (xy 131.813088 92.3286) (xy 131.936912 92.3286)
+ (xy 132.058356 92.304444) (xy 132.172754 92.257059) (xy 132.275709 92.188266) (xy 132.363266 92.100709) (xy 132.427351 92.0048)
+ (xy 133.877737 92.0048) (xy 133.887779 92.037905) (xy 133.909006 92.077618) (xy 133.927374 92.1) (xy 133.909006 92.122382)
+ (xy 133.887779 92.162095) (xy 133.877737 92.1952) (xy 133.289958 92.1952) (xy 133.275 92.193727) (xy 133.260042 92.1952)
+ (xy 133.260034 92.1952) (xy 133.220403 92.199103) (xy 133.215248 92.199611) (xy 133.157794 92.21704) (xy 133.104843 92.245342)
+ (xy 133.058432 92.283432) (xy 133.048892 92.295056) (xy 131.775046 93.568903) (xy 131.661912 93.5464) (xy 131.538088 93.5464)
+ (xy 131.416644 93.570556) (xy 131.302246 93.617941) (xy 131.199291 93.686734) (xy 131.111734 93.774291) (xy 131.042941 93.877246)
+ (xy 130.995556 93.991644) (xy 130.9714 94.113088) (xy 130.9714 94.236912) (xy 130.995556 94.358356) (xy 131.042941 94.472754)
+ (xy 131.111734 94.575709) (xy 131.199291 94.663266) (xy 131.302246 94.732059) (xy 131.416644 94.779444) (xy 131.538088 94.8036)
+ (xy 131.661912 94.8036) (xy 131.783356 94.779444) (xy 131.897754 94.732059) (xy 132.000709 94.663266) (xy 132.088266 94.575709)
+ (xy 132.157059 94.472754) (xy 132.204444 94.358356) (xy 132.2286 94.236912) (xy 132.2286 94.113088) (xy 132.206097 93.999954)
+ (xy 133.401252 92.8048) (xy 133.877737 92.8048) (xy 133.887779 92.837905) (xy 133.909006 92.877618) (xy 133.927374 92.9)
+ (xy 133.909006 92.922382) (xy 133.887779 92.962095) (xy 133.876743 92.998479) (xy 133.870403 92.999103) (xy 133.865248 92.999611)
+ (xy 133.807794 93.01704) (xy 133.754843 93.045342) (xy 133.708432 93.083432) (xy 133.698892 93.095056) (xy 133.225046 93.568903)
+ (xy 133.111912 93.5464) (xy 132.988088 93.5464) (xy 132.866644 93.570556) (xy 132.752246 93.617941) (xy 132.649291 93.686734)
+ (xy 132.561734 93.774291) (xy 132.492941 93.877246) (xy 132.445556 93.991644) (xy 132.4214 94.113088) (xy 132.4214 94.236912)
+ (xy 132.445556 94.358356) (xy 132.492941 94.472754) (xy 132.561734 94.575709) (xy 132.649291 94.663266) (xy 132.752246 94.732059)
+ (xy 132.866644 94.779444) (xy 132.988088 94.8036) (xy 133.111912 94.8036) (xy 133.233356 94.779444) (xy 133.347754 94.732059)
+ (xy 133.450709 94.663266) (xy 133.538266 94.575709) (xy 133.607059 94.472754) (xy 133.654444 94.358356) (xy 133.6786 94.236912)
+ (xy 133.6786 94.113088) (xy 133.656097 93.999954) (xy 133.885089 93.770962) (xy 133.874708 93.805187) (xy 133.870294 93.85)
+ (xy 133.870294 94.35) (xy 133.874708 94.394813) (xy 133.887779 94.437905) (xy 133.909006 94.477618) (xy 133.927374 94.5)
+ (xy 133.909006 94.522382) (xy 133.887779 94.562095) (xy 133.874708 94.605187) (xy 133.870294 94.65) (xy 133.870294 95.15)
+ (xy 133.874708 95.194813) (xy 133.887779 95.237905) (xy 133.909006 95.277618) (xy 133.927374 95.3) (xy 133.909006 95.322382)
+ (xy 133.887779 95.362095) (xy 133.885321 95.3702) (xy 131.114965 95.3702) (xy 131.1 95.368726) (xy 131.085034 95.3702)
+ (xy 131.040249 95.374611) (xy 130.982794 95.39204) (xy 130.929843 95.420342) (xy 130.9298 95.420377) (xy 130.9298 88.8048)
+ (xy 131.820857 88.8048)
+ )
+ )
+ (filled_polygon
+ (pts
+ (xy 146.3702 95.41864) (xy 146.367206 95.41704) (xy 146.309751 95.399611) (xy 146.264966 95.3952) (xy 146.264965 95.3952)
+ (xy 146.25 95.393726) (xy 146.235034 95.3952) (xy 141.822263 95.3952) (xy 141.812221 95.362095) (xy 141.790994 95.322382)
+ (xy 141.772626 95.3) (xy 141.790994 95.277618) (xy 141.812221 95.237905) (xy 141.822263 95.2048) (xy 146.3702 95.2048)
+ )
+ )
+ (filled_polygon
+ (pts
+ (xy 146.7202 94.598178) (xy 146.689966 94.5952) (xy 146.689965 94.5952) (xy 146.675 94.593726) (xy 146.660034 94.5952)
+ (xy 141.822263 94.5952) (xy 141.812221 94.562095) (xy 141.790994 94.522382) (xy 141.772626 94.5) (xy 141.790994 94.477618)
+ (xy 141.812221 94.437905) (xy 141.822263 94.4048) (xy 146.7202 94.4048)
+ )
+ )
+ (filled_polygon
+ (pts
+ (xy 147.988634 93.9084) (xy 147.988641 93.9084) (xy 148.003599 93.909873) (xy 148.018557 93.9084) (xy 151.608399 93.9084)
+ (xy 151.463906 93.968251) (xy 151.305821 94.07388) (xy 151.17138 94.208321) (xy 151.065751 94.366406) (xy 151.002627 94.5188)
+ (xy 147.9548 94.5188) (xy 147.9548 93.905068)
+ )
+ )
+ (filled_polygon
+ (pts
+ (xy 136.749291 94.411734) (xy 136.699706 94.461319) (xy 136.712221 94.437905) (xy 136.722263 94.4048) (xy 136.759668 94.4048)
+ )
+ )
+ (filled_polygon
+ (pts
+ (xy 147.0202 93.794199) (xy 147.010034 93.7952) (xy 141.822263 93.7952) (xy 141.812221 93.762095) (xy 141.790994 93.722382)
+ (xy 141.772626 93.7) (xy 141.790994 93.677618) (xy 141.812221 93.637905) (xy 141.822263 93.6048) (xy 147.0202 93.6048)
+ )
+ )
+ (filled_polygon
+ (pts
+ (xy 147.3452 92.995716) (xy 147.339966 92.9952) (xy 147.339965 92.9952) (xy 147.325 92.993726) (xy 147.310034 92.9952)
+ (xy 141.822263 92.9952) (xy 141.812221 92.962095) (xy 141.790994 92.922382) (xy 141.772626 92.9) (xy 141.790994 92.877618)
+ (xy 141.812221 92.837905) (xy 141.822263 92.8048) (xy 147.3452 92.8048)
+ )
+ )
+ (filled_polygon
+ (pts
+ (xy 147.6952 92.198178) (xy 147.664966 92.1952) (xy 147.664965 92.1952) (xy 147.65 92.193726) (xy 147.635034 92.1952)
+ (xy 141.822263 92.1952) (xy 141.812221 92.162095) (xy 141.790994 92.122382) (xy 141.772626 92.1) (xy 141.790994 92.077618)
+ (xy 141.812221 92.037905) (xy 141.822263 92.0048) (xy 147.6952 92.0048)
+ )
+ )
+ (filled_polygon
+ (pts
+ (xy 148.020201 91.395716) (xy 148.014966 91.3952) (xy 148.014965 91.3952) (xy 148 91.393726) (xy 147.985034 91.3952)
+ (xy 141.822263 91.3952) (xy 141.812221 91.362095) (xy 141.790994 91.322382) (xy 141.772626 91.3) (xy 141.790994 91.277618)
+ (xy 141.812221 91.237905) (xy 141.822263 91.2048) (xy 148.020201 91.2048)
+ )
+ )
+ (filled_polygon
+ (pts
+ (xy 148.570201 90.71832) (xy 148.541568 90.683432) (xy 148.495157 90.645342) (xy 148.442206 90.61704) (xy 148.384751 90.599611)
+ (xy 148.325 90.593726) (xy 148.310035 90.5952) (xy 141.822263 90.5952) (xy 141.812221 90.562095) (xy 141.790994 90.522382)
+ (xy 141.772626 90.5) (xy 141.790994 90.477618) (xy 141.812221 90.437905) (xy 141.825292 90.394813) (xy 141.829706 90.35)
+ (xy 141.829706 89.85) (xy 141.825292 89.805187) (xy 141.812221 89.762095) (xy 141.790994 89.722382) (xy 141.772626 89.7)
+ (xy 141.790994 89.677618) (xy 141.812221 89.637905) (xy 141.822263 89.6048) (xy 148.5702 89.6048)
+ )
+ )
+ (filled_polygon
+ (pts
+ (xy 149.295201 89.642232) (xy 149.293727 89.6572) (xy 149.296561 89.685982) (xy 149.294826 89.7036) (xy 149.300711 89.763351)
+ (xy 149.31814 89.820806) (xy 149.346442 89.873757) (xy 149.384532 89.920168) (xy 149.430943 89.958258) (xy 149.483894 89.98656)
+ (xy 149.541349 90.003989) (xy 149.586134 90.0084) (xy 149.631442 90.0084) (xy 149.6464 90.009873) (xy 149.661358 90.0084)
+ (xy 150.989663 90.0084) (xy 150.992992 90.025138) (xy 151.065751 90.200794) (xy 151.17138 90.358879) (xy 151.305821 90.49332)
+ (xy 151.463906 90.598949) (xy 151.639562 90.671708) (xy 151.775763 90.6988) (xy 149.1798 90.6988) (xy 149.1798 89.314966)
+ (xy 149.181274 89.3) (xy 149.176827 89.254844) (xy 149.175389 89.240249) (xy 149.15796 89.182794) (xy 149.129658 89.129843)
+ (xy 149.091568 89.083432) (xy 149.079944 89.073892) (xy 149.045157 89.045342) (xy 148.992206 89.01704) (xy 148.934751 88.999611)
+ (xy 148.889966 88.9952) (xy 148.889965 88.9952) (xy 148.875 88.993726) (xy 148.860034 88.9952) (xy 141.822263 88.9952)
+ (xy 141.812221 88.962095) (xy 141.790994 88.922382) (xy 141.772626 88.9) (xy 141.790994 88.877618) (xy 141.812221 88.837905)
+ (xy 141.825292 88.794813) (xy 141.829706 88.75) (xy 141.829706 88.25) (xy 141.825292 88.205187) (xy 141.812221 88.162095)
+ (xy 141.790994 88.122382) (xy 141.772626 88.1) (xy 141.790994 88.077618) (xy 141.812221 88.037905) (xy 141.822263 88.0048)
+ (xy 149.2952 88.0048)
+ )
+ )
+ (filled_polygon
+ (pts
+ (xy 137.266519 88.676997) (xy 137.312261 88.787428) (xy 137.378668 88.886812) (xy 137.463188 88.971332) (xy 137.562572 89.037739)
+ (xy 137.673003 89.083481) (xy 137.790235 89.1068) (xy 137.909765 89.1068) (xy 138.026997 89.083481) (xy 138.137428 89.037739)
+ (xy 138.236812 88.971332) (xy 138.321332 88.886812) (xy 138.376131 88.8048) (xy 138.977737 88.8048) (xy 138.987779 88.837905)
+ (xy 139.009006 88.877618) (xy 139.027374 88.9) (xy 139.009006 88.922382) (xy 138.987779 88.962095) (xy 138.974708 89.005187)
+ (xy 138.970294 89.05) (xy 138.970294 89.55) (xy 138.974708 89.594813) (xy 138.987779 89.637905) (xy 139.009006 89.677618)
+ (xy 139.027374 89.7) (xy 139.009006 89.722382) (xy 138.987779 89.762095) (xy 138.977737 89.7952) (xy 138.964958 89.7952)
+ (xy 138.95 89.793727) (xy 138.935042 89.7952) (xy 138.935034 89.7952) (xy 138.890249 89.799611) (xy 138.832794 89.81704)
+ (xy 138.779843 89.845342) (xy 138.762955 89.859202) (xy 138.745056 89.873891) (xy 138.74505 89.873897) (xy 138.733432 89.883432)
+ (xy 138.723897 89.89505) (xy 137.973749 90.6452) (xy 137.2548 90.6452) (xy 137.2548 88.618082)
+ )
+ )
+ (filled_polygon
+ (pts
+ (xy 133.887779 88.837905) (xy 133.909006 88.877618) (xy 133.927374 88.9) (xy 133.909006 88.922382) (xy 133.887779 88.962095)
+ (xy 133.877737 88.9952) (xy 132.384175 88.9952) (xy 132.325709 88.936734) (xy 132.222754 88.867941) (xy 132.108356 88.820556)
+ (xy 132.029143 88.8048) (xy 133.877737 88.8048)
+ )
+ )
+ (filled_polygon
+ (pts
+ (xy 133.887779 88.037905) (xy 133.909006 88.077618) (xy 133.927374 88.1) (xy 133.909006 88.122382) (xy 133.887779 88.162095)
+ (xy 133.877737 88.1952) (xy 130.639965 88.1952) (xy 130.625 88.193726) (xy 130.610034 88.1952) (xy 130.565249 88.199611)
+ (xy 130.5548 88.202781) (xy 130.5548 88.0048) (xy 133.877737 88.0048)
+ )
+ )
+ )
+ (zone (net 0) (net_name "") (layer Bottom) (tstamp FEA5FE0) (hatch edge 0.508)
+ (priority 6)
+ (connect_pads (clearance 0.000001))
+ (min_thickness 0.1524)
+ (fill yes (arc_segments 32) (thermal_gap 0.2024) (thermal_bridge_width 0.2024))
+ (polygon
+ (pts
+ (xy 123.6011 129.9036) (xy 123.6011 80.1036) (xy 173.4011 80.1036) (xy 173.4011 129.9036)
+ )
+ )
+ (filled_polygon
+ (pts
+ (xy 173.2499 129.752399) (xy 123.752301 129.752399) (xy 123.752301 126.443197) (xy 125.2725 126.443197) (xy 125.2725 126.764003)
+ (xy 125.335086 127.078645) (xy 125.457853 127.375031) (xy 125.636084 127.641772) (xy 125.862928 127.868616) (xy 126.129669 128.046847)
+ (xy 126.426055 128.169614) (xy 126.740697 128.2322) (xy 127.061503 128.2322) (xy 127.376145 128.169614) (xy 127.672531 128.046847)
+ (xy 127.939272 127.868616) (xy 128.166116 127.641772) (xy 128.344347 127.375031) (xy 128.467114 127.078645) (xy 128.5297 126.764003)
+ (xy 128.5297 126.443197) (xy 128.467114 126.128555) (xy 128.344347 125.832169) (xy 128.166116 125.565428) (xy 128.053188 125.4525)
+ (xy 137.117875 125.4525) (xy 137.1214 125.488288) (xy 137.131943 125.59533) (xy 137.173605 125.732671) (xy 137.24126 125.859246)
+ (xy 137.28346 125.910667) (xy 137.285676 125.914813) (xy 137.377725 126.026975) (xy 137.489887 126.119024) (xy 137.617851 126.187422)
+ (xy 137.756701 126.229542) (xy 137.864914 126.2402) (xy 154.056872 126.2402) (xy 154.077601 126.34441) (xy 154.165678 126.557045)
+ (xy 154.293545 126.748411) (xy 154.456289 126.911155) (xy 154.647655 127.039022) (xy 154.86029 127.127099) (xy 155.086023 127.172)
+ (xy 155.316177 127.172) (xy 155.54191 127.127099) (xy 155.754545 127.039022) (xy 155.945911 126.911155) (xy 156.108655 126.748411)
+ (xy 156.236522 126.557045) (xy 156.324599 126.34441) (xy 156.3695 126.118677) (xy 156.3695 125.888523) (xy 156.324599 125.66279)
+ (xy 156.236522 125.450155) (xy 156.108655 125.258789) (xy 155.945911 125.096045) (xy 155.754545 124.968178) (xy 155.54191 124.880101)
+ (xy 155.316177 124.8352) (xy 155.1377 124.8352) (xy 155.1377 120.9402) (xy 158.892701 120.9402) (xy 158.925821 120.97332)
+ (xy 159.083906 121.078949) (xy 159.259562 121.151708) (xy 159.446036 121.1888) (xy 159.636164 121.1888) (xy 159.822638 121.151708)
+ (xy 159.998294 121.078949) (xy 160.156379 120.97332) (xy 160.29082 120.838879) (xy 160.396449 120.680794) (xy 160.469208 120.505138)
+ (xy 160.4963 120.368936) (xy 160.496301 123.1988) (xy 157.766065 123.1988) (xy 157.7511 123.197326) (xy 157.736134 123.1988)
+ (xy 157.691349 123.203211) (xy 157.633894 123.22064) (xy 157.580943 123.248942) (xy 157.534532 123.287032) (xy 157.496442 123.333443)
+ (xy 157.46814 123.386394) (xy 157.450711 123.443849) (xy 157.444826 123.5036) (xy 157.4463 123.518566) (xy 157.446301 124.870949)
+ (xy 157.40029 124.880101) (xy 157.187655 124.968178) (xy 156.996289 125.096045) (xy 156.833545 125.258789) (xy 156.705678 125.450155)
+ (xy 156.617601 125.66279) (xy 156.5727 125.888523) (xy 156.5727 126.118677) (xy 156.617601 126.34441) (xy 156.705678 126.557045)
+ (xy 156.833545 126.748411) (xy 156.996289 126.911155) (xy 157.187655 127.039022) (xy 157.40029 127.127099) (xy 157.626023 127.172)
+ (xy 157.856177 127.172) (xy 158.08191 127.127099) (xy 158.294545 127.039022) (xy 158.485911 126.911155) (xy 158.648655 126.748411)
+ (xy 158.776522 126.557045) (xy 158.864599 126.34441) (xy 158.9095 126.118677) (xy 158.9095 125.888523) (xy 158.864599 125.66279)
+ (xy 158.776522 125.450155) (xy 158.648655 125.258789) (xy 158.485911 125.096045) (xy 158.294545 124.968178) (xy 158.08191 124.880101)
+ (xy 158.0559 124.874927) (xy 158.0559 123.8084) (xy 160.786135 123.8084) (xy 160.8011 123.809874) (xy 160.860851 123.803989)
+ (xy 160.918306 123.78656) (xy 160.971257 123.758258) (xy 161.017668 123.720168) (xy 161.055758 123.673757) (xy 161.08406 123.620806)
+ (xy 161.101489 123.563351) (xy 161.1059 123.518566) (xy 161.107374 123.5036) (xy 161.1059 123.488634) (xy 161.1059 120.128536)
+ (xy 161.1159 120.128536) (xy 161.1159 120.318664) (xy 161.152992 120.505138) (xy 161.225751 120.680794) (xy 161.33138 120.838879)
+ (xy 161.465821 120.97332) (xy 161.623906 121.078949) (xy 161.799562 121.151708) (xy 161.986036 121.1888) (xy 162.176164 121.1888)
+ (xy 162.362638 121.151708) (xy 162.538294 121.078949) (xy 162.696379 120.97332) (xy 162.83082 120.838879) (xy 162.936449 120.680794)
+ (xy 163.009208 120.505138) (xy 163.0463 120.318664) (xy 163.0463 120.128536) (xy 163.009208 119.942062) (xy 162.936449 119.766406)
+ (xy 162.83082 119.608321) (xy 162.696379 119.47388) (xy 162.538294 119.368251) (xy 162.362638 119.295492) (xy 162.176164 119.2584)
+ (xy 161.986036 119.2584) (xy 161.799562 119.295492) (xy 161.623906 119.368251) (xy 161.465821 119.47388) (xy 161.33138 119.608321)
+ (xy 161.225751 119.766406) (xy 161.152992 119.942062) (xy 161.1159 120.128536) (xy 161.1059 120.128536) (xy 161.1059 119.129851)
+ (xy 161.675452 118.5603) (xy 161.799562 118.611708) (xy 161.986036 118.6488) (xy 162.176164 118.6488) (xy 162.362638 118.611708)
+ (xy 162.538294 118.538949) (xy 162.696379 118.43332) (xy 162.83082 118.298879) (xy 162.936449 118.140794) (xy 163.009208 117.965138)
+ (xy 163.0463 117.778664) (xy 163.0463 117.588536) (xy 163.009208 117.402062) (xy 162.936449 117.226406) (xy 162.83082 117.068321)
+ (xy 162.696379 116.93388) (xy 162.538294 116.828251) (xy 162.362638 116.755492) (xy 162.176164 116.7184) (xy 161.986036 116.7184)
+ (xy 161.799562 116.755492) (xy 161.623906 116.828251) (xy 161.465821 116.93388) (xy 161.33138 117.068321) (xy 161.225751 117.226406)
+ (xy 161.152992 117.402062) (xy 161.1159 117.588536) (xy 161.1159 117.778664) (xy 161.152992 117.965138) (xy 161.225751 118.140794)
+ (xy 161.228596 118.145052) (xy 160.596161 118.777488) (xy 160.584532 118.787032) (xy 160.546442 118.833444) (xy 160.51814 118.886395)
+ (xy 160.500711 118.94385) (xy 160.4963 118.988635) (xy 160.4963 118.988642) (xy 160.494827 119.0036) (xy 160.4963 119.018558)
+ (xy 160.4963 120.078264) (xy 160.469208 119.942062) (xy 160.396449 119.766406) (xy 160.29082 119.608321) (xy 160.156379 119.47388)
+ (xy 159.998294 119.368251) (xy 159.822638 119.295492) (xy 159.636164 119.2584) (xy 159.446036 119.2584) (xy 159.259562 119.295492)
+ (xy 159.083906 119.368251) (xy 158.936118 119.467) (xy 154.437286 119.467) (xy 154.4011 119.463436) (xy 154.364914 119.467)
+ (xy 154.256701 119.477658) (xy 154.117851 119.519778) (xy 153.989887 119.588176) (xy 153.877725 119.680225) (xy 153.785676 119.792387)
+ (xy 153.717278 119.920351) (xy 153.675158 120.059201) (xy 153.660936 120.2036) (xy 153.6645 120.239786) (xy 153.664501 124.767)
+ (xy 138.5786 124.767) (xy 138.5786 120.128536) (xy 150.9559 120.128536) (xy 150.9559 120.318664) (xy 150.992992 120.505138)
+ (xy 151.065751 120.680794) (xy 151.17138 120.838879) (xy 151.305821 120.97332) (xy 151.463906 121.078949) (xy 151.639562 121.151708)
+ (xy 151.826036 121.1888) (xy 152.016164 121.1888) (xy 152.202638 121.151708) (xy 152.378294 121.078949) (xy 152.536379 120.97332)
+ (xy 152.67082 120.838879) (xy 152.776449 120.680794) (xy 152.849208 120.505138) (xy 152.8863 120.318664) (xy 152.8863 120.128536)
+ (xy 152.849208 119.942062) (xy 152.776449 119.766406) (xy 152.67082 119.608321) (xy 152.536379 119.47388) (xy 152.378294 119.368251)
+ (xy 152.202638 119.295492) (xy 152.016164 119.2584) (xy 151.826036 119.2584) (xy 151.639562 119.295492) (xy 151.463906 119.368251)
+ (xy 151.305821 119.47388) (xy 151.17138 119.608321) (xy 151.065751 119.766406) (xy 150.992992 119.942062) (xy 150.9559 120.128536)
+ (xy 138.5786 120.128536) (xy 138.5786 117.588536) (xy 150.9559 117.588536) (xy 150.9559 117.778664) (xy 150.992992 117.965138)
+ (xy 151.065751 118.140794) (xy 151.17138 118.298879) (xy 151.305821 118.43332) (xy 151.463906 118.538949) (xy 151.639562 118.611708)
+ (xy 151.826036 118.6488) (xy 152.016164 118.6488) (xy 152.202638 118.611708) (xy 152.378294 118.538949) (xy 152.536379 118.43332)
+ (xy 152.67082 118.298879) (xy 152.776449 118.140794) (xy 152.849208 117.965138) (xy 152.8863 117.778664) (xy 152.8863 117.588536)
+ (xy 152.849208 117.402062) (xy 152.776449 117.226406) (xy 152.67082 117.068321) (xy 152.536379 116.93388) (xy 152.378294 116.828251)
+ (xy 152.202638 116.755492) (xy 152.016164 116.7184) (xy 151.826036 116.7184) (xy 151.639562 116.755492) (xy 151.463906 116.828251)
+ (xy 151.305821 116.93388) (xy 151.17138 117.068321) (xy 151.065751 117.226406) (xy 150.992992 117.402062) (xy 150.9559 117.588536)
+ (xy 138.5786 117.588536) (xy 138.5786 115.048536) (xy 150.9559 115.048536) (xy 150.9559 115.238664) (xy 150.992992 115.425138)
+ (xy 151.065751 115.600794) (xy 151.17138 115.758879) (xy 151.305821 115.89332) (xy 151.463906 115.998949) (xy 151.639562 116.071708)
+ (xy 151.826036 116.1088) (xy 152.016164 116.1088) (xy 152.202638 116.071708) (xy 152.378294 115.998949) (xy 152.536379 115.89332)
+ (xy 152.67082 115.758879) (xy 152.776449 115.600794) (xy 152.849208 115.425138) (xy 152.8863 115.238664) (xy 152.8863 115.048536)
+ (xy 158.5759 115.048536) (xy 158.5759 115.238664) (xy 158.612992 115.425138) (xy 158.685751 115.600794) (xy 158.79138 115.758879)
+ (xy 158.925821 115.89332) (xy 159.083906 115.998949) (xy 159.259562 116.071708) (xy 159.446036 116.1088) (xy 159.636164 116.1088)
+ (xy 159.822638 116.071708) (xy 159.998294 115.998949) (xy 160.156379 115.89332) (xy 160.29082 115.758879) (xy 160.396449 115.600794)
+ (xy 160.469208 115.425138) (xy 160.5063 115.238664) (xy 160.5063 115.048536) (xy 160.469208 114.862062) (xy 160.433522 114.775909)
+ (xy 160.937975 114.2084) (xy 161.835216 114.2084) (xy 161.799562 114.215492) (xy 161.623906 114.288251) (xy 161.465821 114.39388)
+ (xy 161.33138 114.528321) (xy 161.225751 114.686406) (xy 161.152992 114.862062) (xy 161.1159 115.048536) (xy 161.1159 115.238664)
+ (xy 161.152992 115.425138) (xy 161.225751 115.600794) (xy 161.33138 115.758879) (xy 161.465821 115.89332) (xy 161.623906 115.998949)
+ (xy 161.799562 116.071708) (xy 161.935763 116.0988) (xy 160.816057 116.0988) (xy 160.801099 116.097327) (xy 160.786141 116.0988)
+ (xy 160.786134 116.0988) (xy 160.746989 116.102655) (xy 160.741348 116.103211) (xy 160.727976 116.107268) (xy 160.683894 116.12064)
+ (xy 160.630943 116.148942) (xy 160.584532 116.187032) (xy 160.574992 116.198656) (xy 159.960891 116.812758) (xy 159.822638 116.755492)
+ (xy 159.636164 116.7184) (xy 159.446036 116.7184) (xy 159.259562 116.755492) (xy 159.083906 116.828251) (xy 158.925821 116.93388)
+ (xy 158.79138 117.068321) (xy 158.685751 117.226406) (xy 158.612992 117.402062) (xy 158.5759 117.588536) (xy 158.5759 117.778664)
+ (xy 158.612992 117.965138) (xy 158.685751 118.140794) (xy 158.79138 118.298879) (xy 158.925821 118.43332) (xy 159.083906 118.538949)
+ (xy 159.259562 118.611708) (xy 159.446036 118.6488) (xy 159.636164 118.6488) (xy 159.822638 118.611708) (xy 159.998294 118.538949)
+ (xy 160.156379 118.43332) (xy 160.29082 118.298879) (xy 160.396449 118.140794) (xy 160.469208 117.965138) (xy 160.5063 117.778664)
+ (xy 160.5063 117.588536) (xy 160.469208 117.402062) (xy 160.400226 117.235525) (xy 160.927352 116.7084) (xy 163.4963 116.7084)
+ (xy 163.496301 122.272646) (xy 162.59616 123.172789) (xy 162.584532 123.182332) (xy 162.553478 123.22017) (xy 160.813987 124.959662)
+ (xy 160.62191 124.880101) (xy 160.396177 124.8352) (xy 160.166023 124.8352) (xy 159.94029 124.880101) (xy 159.727655 124.968178)
+ (xy 159.536289 125.096045) (xy 159.373545 125.258789) (xy 159.245678 125.450155) (xy 159.157601 125.66279) (xy 159.1127 125.888523)
+ (xy 159.1127 126.118677) (xy 159.157601 126.34441) (xy 159.245678 126.557045) (xy 159.373545 126.748411) (xy 159.536289 126.911155)
+ (xy 159.727655 127.039022) (xy 159.94029 127.127099) (xy 160.166023 127.172) (xy 160.396177 127.172) (xy 160.62191 127.127099)
+ (xy 160.834545 127.039022) (xy 161.025911 126.911155) (xy 161.188655 126.748411) (xy 161.316522 126.557045) (xy 161.404599 126.34441)
+ (xy 161.4495 126.118677) (xy 161.4495 125.888523) (xy 161.404599 125.66279) (xy 161.316522 125.450155) (xy 161.26408 125.371671)
+ (xy 163.006045 123.629707) (xy 163.017668 123.620168) (xy 163.048726 123.582325) (xy 164.00605 122.625003) (xy 164.017668 122.615468)
+ (xy 164.027203 122.60385) (xy 164.027209 122.603844) (xy 164.041898 122.585945) (xy 164.055758 122.569057) (xy 164.08406 122.516106)
+ (xy 164.101489 122.458651) (xy 164.1059 122.413866) (xy 164.1059 122.413858) (xy 164.107373 122.3989) (xy 164.1059 122.383942)
+ (xy 164.1059 116.418566) (xy 164.107374 116.4036) (xy 164.101489 116.343849) (xy 164.08406 116.286394) (xy 164.055758 116.233443)
+ (xy 164.017668 116.187032) (xy 163.971257 116.148942) (xy 163.918306 116.12064) (xy 163.860851 116.103211) (xy 163.816066 116.0988)
+ (xy 163.816065 116.0988) (xy 163.8011 116.097326) (xy 163.786134 116.0988) (xy 162.226437 116.0988) (xy 162.362638 116.071708)
+ (xy 162.538294 115.998949) (xy 162.696379 115.89332) (xy 162.83082 115.758879) (xy 162.936449 115.600794) (xy 162.97472 115.5084)
+ (xy 164.3963 115.5084) (xy 164.396301 123.233925) (xy 164.3963 123.233935) (xy 164.396301 123.997347) (xy 163.405073 124.988576)
+ (xy 163.374545 124.968178) (xy 163.16191 124.880101) (xy 162.936177 124.8352) (xy 162.706023 124.8352) (xy 162.48029 124.880101)
+ (xy 162.267655 124.968178) (xy 162.076289 125.096045) (xy 161.913545 125.258789) (xy 161.785678 125.450155) (xy 161.697601 125.66279)
+ (xy 161.6527 125.888523) (xy 161.6527 126.118677) (xy 161.697601 126.34441) (xy 161.785678 126.557045) (xy 161.913545 126.748411)
+ (xy 162.076289 126.911155) (xy 162.267655 127.039022) (xy 162.48029 127.127099) (xy 162.706023 127.172) (xy 162.936177 127.172)
+ (xy 163.16191 127.127099) (xy 163.374545 127.039022) (xy 163.565911 126.911155) (xy 163.728655 126.748411) (xy 163.856522 126.557045)
+ (xy 163.944599 126.34441) (xy 163.9895 126.118677) (xy 163.9895 125.888523) (xy 163.944599 125.66279) (xy 163.865038 125.470714)
+ (xy 164.906044 124.429708) (xy 164.917668 124.420168) (xy 164.955758 124.373757) (xy 164.98406 124.320806) (xy 165.001489 124.263351)
+ (xy 165.0059 124.218566) (xy 165.0059 124.218558) (xy 165.007373 124.2036) (xy 165.0059 124.188642) (xy 165.0059 124.138559)
+ (xy 165.007373 124.123601) (xy 165.0059 124.108643) (xy 165.0059 115.218566) (xy 165.007374 115.2036) (xy 165.001489 115.143849)
+ (xy 164.98406 115.086394) (xy 164.955758 115.033443) (xy 164.917668 114.987032) (xy 164.871257 114.948942) (xy 164.818306 114.92064)
+ (xy 164.760851 114.903211) (xy 164.716066 114.8988) (xy 164.716065 114.8988) (xy 164.7011 114.897326) (xy 164.686134 114.8988)
+ (xy 163.016516 114.8988) (xy 163.009208 114.862062) (xy 162.936449 114.686406) (xy 162.83082 114.528321) (xy 162.696379 114.39388)
+ (xy 162.538294 114.288251) (xy 162.362638 114.215492) (xy 162.326984 114.2084) (xy 165.0963 114.2084) (xy 165.096301 124.864982)
+ (xy 165.02029 124.880101) (xy 164.807655 124.968178) (xy 164.616289 125.096045) (xy 164.453545 125.258789) (xy 164.325678 125.450155)
+ (xy 164.237601 125.66279) (xy 164.1927 125.888523) (xy 164.1927 126.118677) (xy 164.237601 126.34441) (xy 164.325678 126.557045)
+ (xy 164.453545 126.748411) (xy 164.616289 126.911155) (xy 164.807655 127.039022) (xy 165.02029 127.127099) (xy 165.246023 127.172)
+ (xy 165.476177 127.172) (xy 165.70191 127.127099) (xy 165.914545 127.039022) (xy 166.105911 126.911155) (xy 166.268655 126.748411)
+ (xy 166.396522 126.557045) (xy 166.443679 126.443197) (xy 168.5725 126.443197) (xy 168.5725 126.764003) (xy 168.635086 127.078645)
+ (xy 168.757853 127.375031) (xy 168.936084 127.641772) (xy 169.162928 127.868616) (xy 169.429669 128.046847) (xy 169.726055 128.169614)
+ (xy 170.040697 128.2322) (xy 170.361503 128.2322) (xy 170.676145 128.169614) (xy 170.972531 128.046847) (xy 171.239272 127.868616)
+ (xy 171.466116 127.641772) (xy 171.644347 127.375031) (xy 171.767114 127.078645) (xy 171.8297 126.764003) (xy 171.8297 126.443197)
+ (xy 171.767114 126.128555) (xy 171.644347 125.832169) (xy 171.466116 125.565428) (xy 171.239272 125.338584) (xy 170.972531 125.160353)
+ (xy 170.676145 125.037586) (xy 170.361503 124.975) (xy 170.040697 124.975) (xy 169.726055 125.037586) (xy 169.429669 125.160353)
+ (xy 169.162928 125.338584) (xy 168.936084 125.565428) (xy 168.757853 125.832169) (xy 168.635086 126.128555) (xy 168.5725 126.443197)
+ (xy 166.443679 126.443197) (xy 166.484599 126.34441) (xy 166.5295 126.118677) (xy 166.5295 125.888523) (xy 166.484599 125.66279)
+ (xy 166.396522 125.450155) (xy 166.268655 125.258789) (xy 166.105911 125.096045) (xy 165.914545 124.968178) (xy 165.7059 124.881754)
+ (xy 165.7059 120.128536) (xy 166.1959 120.128536) (xy 166.1959 120.318664) (xy 166.232992 120.505138) (xy 166.305751 120.680794)
+ (xy 166.41138 120.838879) (xy 166.545821 120.97332) (xy 166.703906 121.078949) (xy 166.879562 121.151708) (xy 167.066036 121.1888)
+ (xy 167.256164 121.1888) (xy 167.442638 121.151708) (xy 167.618294 121.078949) (xy 167.776379 120.97332) (xy 167.91082 120.838879)
+ (xy 168.016449 120.680794) (xy 168.089208 120.505138) (xy 168.1263 120.318664) (xy 168.1263 120.128536) (xy 168.118341 120.088523)
+ (xy 169.9327 120.088523) (xy 169.9327 120.318677) (xy 169.977601 120.54441) (xy 170.065678 120.757045) (xy 170.193545 120.948411)
+ (xy 170.356289 121.111155) (xy 170.547655 121.239022) (xy 170.76029 121.327099) (xy 170.986023 121.372) (xy 171.216177 121.372)
+ (xy 171.44191 121.327099) (xy 171.654545 121.239022) (xy 171.845911 121.111155) (xy 172.008655 120.948411) (xy 172.136522 120.757045)
+ (xy 172.224599 120.54441) (xy 172.2695 120.318677) (xy 172.2695 120.088523) (xy 172.224599 119.86279) (xy 172.136522 119.650155)
+ (xy 172.008655 119.458789) (xy 171.845911 119.296045) (xy 171.654545 119.168178) (xy 171.44191 119.080101) (xy 171.216177 119.0352)
+ (xy 170.986023 119.0352) (xy 170.76029 119.080101) (xy 170.547655 119.168178) (xy 170.356289 119.296045) (xy 170.193545 119.458789)
+ (xy 170.065678 119.650155) (xy 169.977601 119.86279) (xy 169.9327 120.088523) (xy 168.118341 120.088523) (xy 168.089208 119.942062)
+ (xy 168.016449 119.766406) (xy 167.91082 119.608321) (xy 167.776379 119.47388) (xy 167.618294 119.368251) (xy 167.442638 119.295492)
+ (xy 167.256164 119.2584) (xy 167.066036 119.2584) (xy 166.879562 119.295492) (xy 166.703906 119.368251) (xy 166.545821 119.47388)
+ (xy 166.41138 119.608321) (xy 166.305751 119.766406) (xy 166.232992 119.942062) (xy 166.1959 120.128536) (xy 165.7059 120.128536)
+ (xy 165.7059 117.588536) (xy 166.1959 117.588536) (xy 166.1959 117.778664) (xy 166.232992 117.965138) (xy 166.305751 118.140794)
+ (xy 166.41138 118.298879) (xy 166.545821 118.43332) (xy 166.703906 118.538949) (xy 166.879562 118.611708) (xy 167.066036 118.6488)
+ (xy 167.256164 118.6488) (xy 167.442638 118.611708) (xy 167.618294 118.538949) (xy 167.776379 118.43332) (xy 167.91082 118.298879)
+ (xy 168.016449 118.140794) (xy 168.089208 117.965138) (xy 168.1263 117.778664) (xy 168.1263 117.588536) (xy 168.118341 117.548523)
+ (xy 169.9327 117.548523) (xy 169.9327 117.778677) (xy 169.977601 118.00441) (xy 170.065678 118.217045) (xy 170.193545 118.408411)
+ (xy 170.356289 118.571155) (xy 170.547655 118.699022) (xy 170.76029 118.787099) (xy 170.986023 118.832) (xy 171.216177 118.832)
+ (xy 171.44191 118.787099) (xy 171.654545 118.699022) (xy 171.845911 118.571155) (xy 172.008655 118.408411) (xy 172.136522 118.217045)
+ (xy 172.224599 118.00441) (xy 172.2695 117.778677) (xy 172.2695 117.548523) (xy 172.224599 117.32279) (xy 172.136522 117.110155)
+ (xy 172.008655 116.918789) (xy 171.845911 116.756045) (xy 171.654545 116.628178) (xy 171.44191 116.540101) (xy 171.216177 116.4952)
+ (xy 170.986023 116.4952) (xy 170.76029 116.540101) (xy 170.547655 116.628178) (xy 170.356289 116.756045) (xy 170.193545 116.918789)
+ (xy 170.065678 117.110155) (xy 169.977601 117.32279) (xy 169.9327 117.548523) (xy 168.118341 117.548523) (xy 168.089208 117.402062)
+ (xy 168.016449 117.226406) (xy 167.91082 117.068321) (xy 167.776379 116.93388) (xy 167.618294 116.828251) (xy 167.442638 116.755492)
+ (xy 167.256164 116.7184) (xy 167.066036 116.7184) (xy 166.879562 116.755492) (xy 166.703906 116.828251) (xy 166.545821 116.93388)
+ (xy 166.41138 117.068321) (xy 166.305751 117.226406) (xy 166.232992 117.402062) (xy 166.1959 117.588536) (xy 165.7059 117.588536)
+ (xy 165.7059 115.048536) (xy 166.1959 115.048536) (xy 166.1959 115.238664) (xy 166.232992 115.425138) (xy 166.305751 115.600794)
+ (xy 166.41138 115.758879) (xy 166.545821 115.89332) (xy 166.703906 115.998949) (xy 166.879562 116.071708) (xy 167.066036 116.1088)
+ (xy 167.256164 116.1088) (xy 167.442638 116.071708) (xy 167.618294 115.998949) (xy 167.776379 115.89332) (xy 167.91082 115.758879)
+ (xy 168.016449 115.600794) (xy 168.089208 115.425138) (xy 168.1263 115.238664) (xy 168.1263 115.048536) (xy 168.089208 114.862062)
+ (xy 168.016449 114.686406) (xy 167.91082 114.528321) (xy 167.776379 114.39388) (xy 167.618294 114.288251) (xy 167.442638 114.215492)
+ (xy 167.256164 114.1784) (xy 167.066036 114.1784) (xy 166.879562 114.215492) (xy 166.703906 114.288251) (xy 166.545821 114.39388)
+ (xy 166.41138 114.528321) (xy 166.305751 114.686406) (xy 166.232992 114.862062) (xy 166.1959 115.048536) (xy 165.7059 115.048536)
+ (xy 165.7059 113.918566) (xy 165.707374 113.9036) (xy 165.701489 113.843849) (xy 165.68406 113.786394) (xy 165.655758 113.733443)
+ (xy 165.617668 113.687032) (xy 165.571257 113.648942) (xy 165.518306 113.62064) (xy 165.460851 113.603211) (xy 165.416066 113.5988)
+ (xy 165.416065 113.5988) (xy 165.4011 113.597326) (xy 165.386134 113.5988) (xy 160.807061 113.5988) (xy 160.783114 113.597856)
+ (xy 160.762324 113.601145) (xy 160.741349 113.603211) (xy 160.732719 113.605829) (xy 160.723812 113.607238) (xy 160.704052 113.614525)
+ (xy 160.683894 113.62064) (xy 160.675935 113.624894) (xy 160.66748 113.628012) (xy 160.649536 113.639004) (xy 160.630943 113.648942)
+ (xy 160.623967 113.654667) (xy 160.616282 113.659375) (xy 160.600814 113.673669) (xy 160.584532 113.687032) (xy 160.569311 113.705578)
+ (xy 160.031599 114.310505) (xy 159.998294 114.288251) (xy 159.822638 114.215492) (xy 159.636164 114.1784) (xy 159.446036 114.1784)
+ (xy 159.259562 114.215492) (xy 159.083906 114.288251) (xy 158.925821 114.39388) (xy 158.79138 114.528321) (xy 158.685751 114.686406)
+ (xy 158.612992 114.862062) (xy 158.5759 115.048536) (xy 152.8863 115.048536) (xy 152.849208 114.862062) (xy 152.776449 114.686406)
+ (xy 152.67082 114.528321) (xy 152.536379 114.39388) (xy 152.378294 114.288251) (xy 152.202638 114.215492) (xy 152.016164 114.1784)
+ (xy 151.826036 114.1784) (xy 151.639562 114.215492) (xy 151.463906 114.288251) (xy 151.305821 114.39388) (xy 151.17138 114.528321)
+ (xy 151.065751 114.686406) (xy 150.992992 114.862062) (xy 150.9559 115.048536) (xy 138.5786 115.048536) (xy 138.5786 112.508536)
+ (xy 150.9559 112.508536) (xy 150.9559 112.698664) (xy 150.992992 112.885138) (xy 151.065751 113.060794) (xy 151.17138 113.218879)
+ (xy 151.305821 113.35332) (xy 151.463906 113.458949) (xy 151.639562 113.531708) (xy 151.826036 113.5688) (xy 152.016164 113.5688)
+ (xy 152.202638 113.531708) (xy 152.378294 113.458949) (xy 152.536379 113.35332) (xy 152.67082 113.218879) (xy 152.776449 113.060794)
+ (xy 152.849208 112.885138) (xy 152.8863 112.698664) (xy 152.8863 112.508536) (xy 158.5759 112.508536) (xy 158.5759 112.698664)
+ (xy 158.612992 112.885138) (xy 158.685751 113.060794) (xy 158.79138 113.218879) (xy 158.925821 113.35332) (xy 159.083906 113.458949)
+ (xy 159.259562 113.531708) (xy 159.446036 113.5688) (xy 159.636164 113.5688) (xy 159.822638 113.531708) (xy 159.998294 113.458949)
+ (xy 160.156379 113.35332) (xy 160.29082 113.218879) (xy 160.396449 113.060794) (xy 160.469208 112.885138) (xy 160.5063 112.698664)
+ (xy 160.5063 112.508536) (xy 160.469208 112.322062) (xy 160.396449 112.146406) (xy 160.29082 111.988321) (xy 160.156379 111.85388)
+ (xy 159.998294 111.748251) (xy 159.822638 111.675492) (xy 159.636164 111.6384) (xy 159.446036 111.6384) (xy 159.259562 111.675492)
+ (xy 159.083906 111.748251) (xy 158.925821 111.85388) (xy 158.79138 111.988321) (xy 158.685751 112.146406) (xy 158.612992 112.322062)
+ (xy 158.5759 112.508536) (xy 152.8863 112.508536) (xy 152.849208 112.322062) (xy 152.776449 112.146406) (xy 152.67082 111.988321)
+ (xy 152.536379 111.85388) (xy 152.378294 111.748251) (xy 152.202638 111.675492) (xy 152.016164 111.6384) (xy 151.826036 111.6384)
+ (xy 151.639562 111.675492) (xy 151.463906 111.748251) (xy 151.305821 111.85388) (xy 151.17138 111.988321) (xy 151.065751 112.146406)
+ (xy 150.992992 112.322062) (xy 150.9559 112.508536) (xy 138.5786 112.508536) (xy 138.5786 109.314211) (xy 138.568057 109.207169)
+ (xy 138.526395 109.069828) (xy 138.45874 108.943253) (xy 138.367691 108.832309) (xy 138.256747 108.74126) (xy 138.130172 108.673605)
+ (xy 137.992831 108.631943) (xy 137.85 108.617875) (xy 137.70717 108.631943) (xy 137.569829 108.673605) (xy 137.443254 108.74126)
+ (xy 137.33231 108.832309) (xy 137.241261 108.943253) (xy 137.173606 109.069828) (xy 137.131944 109.207169) (xy 137.121401 109.314211)
+ (xy 137.1214 125.416711) (xy 137.117875 125.4525) (xy 128.053188 125.4525) (xy 127.939272 125.338584) (xy 127.672531 125.160353)
+ (xy 127.376145 125.037586) (xy 127.061503 124.975) (xy 126.740697 124.975) (xy 126.426055 125.037586) (xy 126.129669 125.160353)
+ (xy 125.862928 125.338584) (xy 125.636084 125.565428) (xy 125.457853 125.832169) (xy 125.335086 126.128555) (xy 125.2725 126.443197)
+ (xy 123.752301 126.443197) (xy 123.752301 113.528523) (xy 124.8327 113.528523) (xy 124.8327 113.758677) (xy 124.877601 113.98441)
+ (xy 124.965678 114.197045) (xy 125.093545 114.388411) (xy 125.256289 114.551155) (xy 125.447655 114.679022) (xy 125.66029 114.767099)
+ (xy 125.886023 114.812) (xy 126.116177 114.812) (xy 126.34191 114.767099) (xy 126.554545 114.679022) (xy 126.745911 114.551155)
+ (xy 126.908655 114.388411) (xy 127.036522 114.197045) (xy 127.124599 113.98441) (xy 127.1695 113.758677) (xy 127.1695 113.528523)
+ (xy 127.124599 113.30279) (xy 127.036522 113.090155) (xy 126.908655 112.898789) (xy 126.745911 112.736045) (xy 126.554545 112.608178)
+ (xy 126.34191 112.520101) (xy 126.116177 112.4752) (xy 125.886023 112.4752) (xy 125.66029 112.520101) (xy 125.447655 112.608178)
+ (xy 125.256289 112.736045) (xy 125.093545 112.898789) (xy 124.965678 113.090155) (xy 124.877601 113.30279) (xy 124.8327 113.528523)
+ (xy 123.752301 113.528523) (xy 123.752301 107.598523) (xy 124.8327 107.598523) (xy 124.8327 107.828677) (xy 124.877601 108.05441)
+ (xy 124.965678 108.267045) (xy 125.093545 108.458411) (xy 125.256289 108.621155) (xy 125.447655 108.749022) (xy 125.66029 108.837099)
+ (xy 125.886023 108.882) (xy 126.116177 108.882) (xy 126.34191 108.837099) (xy 126.554545 108.749022) (xy 126.745911 108.621155)
+ (xy 126.908655 108.458411) (xy 127.036522 108.267045) (xy 127.124599 108.05441) (xy 127.1695 107.828677) (xy 127.1695 107.598523)
+ (xy 127.3727 107.598523) (xy 127.3727 107.828677) (xy 127.417601 108.05441) (xy 127.505678 108.267045) (xy 127.633545 108.458411)
+ (xy 127.796289 108.621155) (xy 127.987655 108.749022) (xy 128.20029 108.837099) (xy 128.426023 108.882) (xy 128.656177 108.882)
+ (xy 128.88191 108.837099) (xy 129.094545 108.749022) (xy 129.285911 108.621155) (xy 129.448655 108.458411) (xy 129.576522 108.267045)
+ (xy 129.664599 108.05441) (xy 129.7095 107.828677) (xy 129.7095 107.598523) (xy 129.664599 107.37279) (xy 129.652606 107.343835)
+ (xy 139.9943 107.343835) (xy 139.9943 107.463365) (xy 140.017619 107.580597) (xy 140.063361 107.691028) (xy 140.129768 107.790412)
+ (xy 140.214288 107.874932) (xy 140.296301 107.929732) (xy 140.2963 111.288634) (xy 140.294826 111.3036) (xy 140.300711 111.363351)
+ (xy 140.31814 111.420806) (xy 140.346442 111.473757) (xy 140.374991 111.508543) (xy 140.384532 111.520168) (xy 140.430943 111.558258)
+ (xy 140.483894 111.58656) (xy 140.541349 111.603989) (xy 140.6011 111.609874) (xy 140.616065 111.6084) (xy 160.674849 111.6084)
+ (xy 161.221974 112.155525) (xy 161.152992 112.322062) (xy 161.1159 112.508536) (xy 161.1159 112.698664) (xy 161.152992 112.885138)
+ (xy 161.225751 113.060794) (xy 161.33138 113.218879) (xy 161.465821 113.35332) (xy 161.623906 113.458949) (xy 161.799562 113.531708)
+ (xy 161.986036 113.5688) (xy 162.176164 113.5688) (xy 162.362638 113.531708) (xy 162.538294 113.458949) (xy 162.696379 113.35332)
+ (xy 162.83082 113.218879) (xy 162.936449 113.060794) (xy 163.009208 112.885138) (xy 163.0463 112.698664) (xy 163.0463 112.508536)
+ (xy 166.1959 112.508536) (xy 166.1959 112.698664) (xy 166.232992 112.885138) (xy 166.305751 113.060794) (xy 166.41138 113.218879)
+ (xy 166.545821 113.35332) (xy 166.703906 113.458949) (xy 166.879562 113.531708) (xy 167.066036 113.5688) (xy 167.256164 113.5688)
+ (xy 167.442638 113.531708) (xy 167.618294 113.458949) (xy 167.776379 113.35332) (xy 167.91082 113.218879) (xy 168.016449 113.060794)
+ (xy 168.089208 112.885138) (xy 168.1263 112.698664) (xy 168.1263 112.508536) (xy 168.089208 112.322062) (xy 168.016449 112.146406)
+ (xy 167.91082 111.988321) (xy 167.776379 111.85388) (xy 167.618294 111.748251) (xy 167.442638 111.675492) (xy 167.256164 111.6384)
+ (xy 167.066036 111.6384) (xy 166.879562 111.675492) (xy 166.703906 111.748251) (xy 166.545821 111.85388) (xy 166.41138 111.988321)
+ (xy 166.305751 112.146406) (xy 166.232992 112.322062) (xy 166.1959 112.508536) (xy 163.0463 112.508536) (xy 163.009208 112.322062)
+ (xy 162.936449 112.146406) (xy 162.83082 111.988321) (xy 162.696379 111.85388) (xy 162.538294 111.748251) (xy 162.362638 111.675492)
+ (xy 162.176164 111.6384) (xy 161.986036 111.6384) (xy 161.799562 111.675492) (xy 161.66131 111.732758) (xy 161.027212 111.098661)
+ (xy 161.017668 111.087032) (xy 160.971257 111.048942) (xy 160.918306 111.02064) (xy 160.860851 111.003211) (xy 160.816066 110.9988)
+ (xy 160.816058 110.9988) (xy 160.8011 110.997327) (xy 160.786142 110.9988) (xy 159.786984 110.9988) (xy 159.822638 110.991708)
+ (xy 159.998294 110.918949) (xy 160.156379 110.81332) (xy 160.29082 110.678879) (xy 160.396449 110.520794) (xy 160.469208 110.345138)
+ (xy 160.5063 110.158664) (xy 160.5063 109.968536) (xy 160.469208 109.782062) (xy 160.396449 109.606406) (xy 160.29082 109.448321)
+ (xy 160.156379 109.31388) (xy 159.998294 109.208251) (xy 159.822638 109.135492) (xy 159.636164 109.0984) (xy 159.446036 109.0984)
+ (xy 159.259562 109.135492) (xy 159.083906 109.208251) (xy 158.925821 109.31388) (xy 158.79138 109.448321) (xy 158.685751 109.606406)
+ (xy 158.612992 109.782062) (xy 158.5759 109.968536) (xy 158.5759 110.158664) (xy 158.612992 110.345138) (xy 158.685751 110.520794)
+ (xy 158.79138 110.678879) (xy 158.925821 110.81332) (xy 159.083906 110.918949) (xy 159.259562 110.991708) (xy 159.295216 110.9988)
+ (xy 152.166984 110.9988) (xy 152.202638 110.991708) (xy 152.378294 110.918949) (xy 152.536379 110.81332) (xy 152.67082 110.678879)
+ (xy 152.776449 110.520794) (xy 152.849208 110.345138) (xy 152.8863 110.158664) (xy 152.8863 109.968536) (xy 152.849208 109.782062)
+ (xy 152.776449 109.606406) (xy 152.67082 109.448321) (xy 152.536379 109.31388) (xy 152.378294 109.208251) (xy 152.202638 109.135492)
+ (xy 152.016164 109.0984) (xy 151.826036 109.0984) (xy 151.639562 109.135492) (xy 151.463906 109.208251) (xy 151.305821 109.31388)
+ (xy 151.17138 109.448321) (xy 151.065751 109.606406) (xy 150.992992 109.782062) (xy 150.9559 109.968536) (xy 150.9559 110.158664)
+ (xy 150.992992 110.345138) (xy 151.065751 110.520794) (xy 151.17138 110.678879) (xy 151.305821 110.81332) (xy 151.463906 110.918949)
+ (xy 151.639562 110.991708) (xy 151.675216 110.9988) (xy 140.9059 110.9988) (xy 140.9059 107.929731) (xy 140.987912 107.874932)
+ (xy 141.072432 107.790412) (xy 141.138839 107.691028) (xy 141.184581 107.580597) (xy 141.2079 107.463365) (xy 141.2079 107.343835)
+ (xy 141.184581 107.226603) (xy 141.138839 107.116172) (xy 141.072432 107.016788) (xy 140.987912 106.932268) (xy 140.888528 106.865861)
+ (xy 140.778097 106.820119) (xy 140.660865 106.7968) (xy 140.541335 106.7968) (xy 140.424103 106.820119) (xy 140.313672 106.865861)
+ (xy 140.214288 106.932268) (xy 140.129768 107.016788) (xy 140.063361 107.116172) (xy 140.017619 107.226603) (xy 139.9943 107.343835)
+ (xy 129.652606 107.343835) (xy 129.576522 107.160155) (xy 129.448655 106.968789) (xy 129.285911 106.806045) (xy 129.094545 106.678178)
+ (xy 128.88191 106.590101) (xy 128.8059 106.574982) (xy 128.8059 105.843835) (xy 141.4943 105.843835) (xy 141.4943 105.963365)
+ (xy 141.517619 106.080597) (xy 141.563361 106.191028) (xy 141.629768 106.290412) (xy 141.714288 106.374932) (xy 141.7963 106.429731)
+ (xy 141.796301 108.611132) (xy 141.794827 108.6261) (xy 141.800711 108.685851) (xy 141.81814 108.743305) (xy 141.818141 108.743306)
+ (xy 141.846443 108.796257) (xy 141.884533 108.842668) (xy 141.896157 108.852208) (xy 142.023888 108.979939) (xy 142.033432 108.991568)
+ (xy 142.079843 109.029658) (xy 142.132794 109.05796) (xy 142.171917 109.069828) (xy 142.190248 109.075389) (xy 142.195889 109.075945)
+ (xy 142.235034 109.0798) (xy 142.235041 109.0798) (xy 142.249999 109.081273) (xy 142.264957 109.0798) (xy 160.748749 109.0798)
+ (xy 160.763546 109.094597) (xy 160.784532 109.120168) (xy 160.796161 109.129712) (xy 161.244618 109.57817) (xy 161.225751 109.606406)
+ (xy 161.152992 109.782062) (xy 161.1159 109.968536) (xy 161.1159 110.158664) (xy 161.152992 110.345138) (xy 161.225751 110.520794)
+ (xy 161.33138 110.678879) (xy 161.465821 110.81332) (xy 161.623906 110.918949) (xy 161.799562 110.991708) (xy 161.986036 111.0288)
+ (xy 162.176164 111.0288) (xy 162.362638 110.991708) (xy 162.538294 110.918949) (xy 162.696379 110.81332) (xy 162.83082 110.678879)
+ (xy 162.936449 110.520794) (xy 163.009208 110.345138) (xy 163.0463 110.158664) (xy 163.0463 109.968536) (xy 166.1959 109.968536)
+ (xy 166.1959 110.158664) (xy 166.232992 110.345138) (xy 166.305751 110.520794) (xy 166.41138 110.678879) (xy 166.545821 110.81332)
+ (xy 166.703906 110.918949) (xy 166.879562 110.991708) (xy 167.066036 111.0288) (xy 167.256164 111.0288) (xy 167.442638 110.991708)
+ (xy 167.618294 110.918949) (xy 167.776379 110.81332) (xy 167.91082 110.678879) (xy 168.016449 110.520794) (xy 168.089208 110.345138)
+ (xy 168.1263 110.158664) (xy 168.1263 109.968536) (xy 168.089208 109.782062) (xy 168.016449 109.606406) (xy 167.91082 109.448321)
+ (xy 167.776379 109.31388) (xy 167.618294 109.208251) (xy 167.442638 109.135492) (xy 167.256164 109.0984) (xy 167.066036 109.0984)
+ (xy 166.879562 109.135492) (xy 166.703906 109.208251) (xy 166.545821 109.31388) (xy 166.41138 109.448321) (xy 166.305751 109.606406)
+ (xy 166.232992 109.782062) (xy 166.1959 109.968536) (xy 163.0463 109.968536) (xy 163.009208 109.782062) (xy 162.936449 109.606406)
+ (xy 162.83082 109.448321) (xy 162.696379 109.31388) (xy 162.538294 109.208251) (xy 162.362638 109.135492) (xy 162.176164 109.0984)
+ (xy 161.986036 109.0984) (xy 161.799562 109.135492) (xy 161.703736 109.175184) (xy 161.238653 108.710102) (xy 161.217668 108.684532)
+ (xy 161.206039 108.674988) (xy 161.101112 108.570061) (xy 161.091568 108.558432) (xy 161.045157 108.520342) (xy 160.992206 108.49204)
+ (xy 160.934751 108.474611) (xy 160.889966 108.4702) (xy 160.889958 108.4702) (xy 160.875 108.468727) (xy 160.860042 108.4702)
+ (xy 159.729672 108.4702) (xy 159.822638 108.451708) (xy 159.998294 108.378949) (xy 160.156379 108.27332) (xy 160.29082 108.138879)
+ (xy 160.396449 107.980794) (xy 160.469208 107.805138) (xy 160.5063 107.618664) (xy 160.5063 107.428536) (xy 161.1159 107.428536)
+ (xy 161.1159 107.618664) (xy 161.152992 107.805138) (xy 161.225751 107.980794) (xy 161.33138 108.138879) (xy 161.465821 108.27332)
+ (xy 161.623906 108.378949) (xy 161.799562 108.451708) (xy 161.986036 108.4888) (xy 162.176164 108.4888) (xy 162.362638 108.451708)
+ (xy 162.538294 108.378949) (xy 162.696379 108.27332) (xy 162.83082 108.138879) (xy 162.936449 107.980794) (xy 163.009208 107.805138)
+ (xy 163.0463 107.618664) (xy 163.0463 107.428536) (xy 163.009208 107.242062) (xy 162.936449 107.066406) (xy 162.83082 106.908321)
+ (xy 162.696379 106.77388) (xy 162.538294 106.668251) (xy 162.362638 106.595492) (xy 162.176164 106.5584) (xy 161.986036 106.5584)
+ (xy 161.799562 106.595492) (xy 161.623906 106.668251) (xy 161.465821 106.77388) (xy 161.33138 106.908321) (xy 161.225751 107.066406)
+ (xy 161.152992 107.242062) (xy 161.1159 107.428536) (xy 160.5063 107.428536) (xy 160.469208 107.242062) (xy 160.396449 107.066406)
+ (xy 160.29082 106.908321) (xy 160.156379 106.77388) (xy 159.998294 106.668251) (xy 159.822638 106.595492) (xy 159.636164 106.5584)
+ (xy 159.446036 106.5584) (xy 159.259562 106.595492) (xy 159.083906 106.668251) (xy 158.925821 106.77388) (xy 158.79138 106.908321)
+ (xy 158.685751 107.066406) (xy 158.612992 107.242062) (xy 158.5759 107.428536) (xy 158.5759 107.618664) (xy 158.612992 107.805138)
+ (xy 158.685751 107.980794) (xy 158.79138 108.138879) (xy 158.925821 108.27332) (xy 159.083906 108.378949) (xy 159.259562 108.451708)
+ (xy 159.352528 108.4702) (xy 152.109672 108.4702) (xy 152.202638 108.451708) (xy 152.378294 108.378949) (xy 152.536379 108.27332)
+ (xy 152.67082 108.138879) (xy 152.776449 107.980794) (xy 152.849208 107.805138) (xy 152.8863 107.618664) (xy 152.8863 107.428536)
+ (xy 152.849208 107.242062) (xy 152.776449 107.066406) (xy 152.67082 106.908321) (xy 152.536379 106.77388) (xy 152.378294 106.668251)
+ (xy 152.202638 106.595492) (xy 152.016164 106.5584) (xy 151.826036 106.5584) (xy 151.639562 106.595492) (xy 151.463906 106.668251)
+ (xy 151.305821 106.77388) (xy 151.17138 106.908321) (xy 151.065751 107.066406) (xy 150.992992 107.242062) (xy 150.9559 107.428536)
+ (xy 150.9559 107.618664) (xy 150.992992 107.805138) (xy 151.065751 107.980794) (xy 151.17138 108.138879) (xy 151.305821 108.27332)
+ (xy 151.463906 108.378949) (xy 151.639562 108.451708) (xy 151.732528 108.4702) (xy 142.4059 108.4702) (xy 142.4059 106.429731)
+ (xy 142.487912 106.374932) (xy 142.572432 106.290412) (xy 142.638839 106.191028) (xy 142.684581 106.080597) (xy 142.7079 105.963365)
+ (xy 142.7079 105.843835) (xy 142.684581 105.726603) (xy 142.638839 105.616172) (xy 142.572432 105.516788) (xy 142.487912 105.432268)
+ (xy 142.388528 105.365861) (xy 142.278097 105.320119) (xy 142.160865 105.2968) (xy 142.041335 105.2968) (xy 141.924103 105.320119)
+ (xy 141.813672 105.365861) (xy 141.714288 105.432268) (xy 141.629768 105.516788) (xy 141.563361 105.616172) (xy 141.517619 105.726603)
+ (xy 141.4943 105.843835) (xy 128.8059 105.843835) (xy 128.8059 105.0059) (xy 140.533942 105.0059) (xy 140.5489 105.007373)
+ (xy 140.563858 105.0059) (xy 140.563866 105.0059) (xy 140.608651 105.001489) (xy 140.666106 104.98406) (xy 140.719057 104.955758)
+ (xy 140.765468 104.917668) (xy 140.765964 104.917064) (xy 140.766568 104.916568) (xy 140.789574 104.888536) (xy 150.9559 104.888536)
+ (xy 150.9559 105.078664) (xy 150.992992 105.265138) (xy 151.065751 105.440794) (xy 151.17138 105.598879) (xy 151.305821 105.73332)
+ (xy 151.463906 105.838949) (xy 151.639562 105.911708) (xy 151.826036 105.9488) (xy 152.016164 105.9488) (xy 152.202638 105.911708)
+ (xy 152.378294 105.838949) (xy 152.536379 105.73332) (xy 152.67082 105.598879) (xy 152.776449 105.440794) (xy 152.849208 105.265138)
+ (xy 152.8863 105.078664) (xy 152.8863 104.888536) (xy 152.849208 104.702062) (xy 152.776449 104.526406) (xy 152.67082 104.368321)
+ (xy 152.536379 104.23388) (xy 152.378294 104.128251) (xy 152.202638 104.055492) (xy 152.016164 104.0184) (xy 151.826036 104.0184)
+ (xy 151.639562 104.055492) (xy 151.463906 104.128251) (xy 151.305821 104.23388) (xy 151.17138 104.368321) (xy 151.065751 104.526406)
+ (xy 150.992992 104.702062) (xy 150.9559 104.888536) (xy 140.789574 104.888536) (xy 140.804658 104.870157) (xy 140.83296 104.817206)
+ (xy 140.850389 104.759751) (xy 140.8548 104.714966) (xy 140.8548 104.714958) (xy 140.856273 104.7) (xy 140.8548 104.685042)
+ (xy 140.8548 102.348536) (xy 150.9559 102.348536) (xy 150.9559 102.538664) (xy 150.992992 102.725138) (xy 151.065751 102.900794)
+ (xy 151.17138 103.058879) (xy 151.305821 103.19332) (xy 151.463906 103.298949) (xy 151.639562 103.371708) (xy 151.826036 103.4088)
+ (xy 152.016164 103.4088) (xy 152.202638 103.371708) (xy 152.378294 103.298949) (xy 152.536379 103.19332) (xy 152.67082 103.058879)
+ (xy 152.776449 102.900794) (xy 152.849208 102.725138) (xy 152.8863 102.538664) (xy 152.8863 102.348536) (xy 152.849208 102.162062)
+ (xy 152.776449 101.986406) (xy 152.67082 101.828321) (xy 152.536379 101.69388) (xy 152.378294 101.588251) (xy 152.202638 101.515492)
+ (xy 152.016164 101.4784) (xy 151.826036 101.4784) (xy 151.639562 101.515492) (xy 151.463906 101.588251) (xy 151.305821 101.69388)
+ (xy 151.17138 101.828321) (xy 151.065751 101.986406) (xy 150.992992 102.162062) (xy 150.9559 102.348536) (xy 140.8548 102.348536)
+ (xy 140.8548 101.551251) (xy 141.051252 101.3548) (xy 161.573749 101.3548) (xy 161.698891 101.479943) (xy 161.708432 101.491568)
+ (xy 161.754843 101.529658) (xy 161.795152 101.551203) (xy 164.496301 104.252353) (xy 164.4963 107.488634) (xy 164.494826 107.5036)
+ (xy 164.500711 107.563351) (xy 164.51814 107.620806) (xy 164.546442 107.673757) (xy 164.584532 107.720168) (xy 164.630943 107.758258)
+ (xy 164.683894 107.78656) (xy 164.741349 107.803989) (xy 164.8011 107.809874) (xy 164.816065 107.8084) (xy 166.234343 107.8084)
+ (xy 166.305751 107.980794) (xy 166.41138 108.138879) (xy 166.545821 108.27332) (xy 166.703906 108.378949) (xy 166.879562 108.451708)
+ (xy 167.066036 108.4888) (xy 167.256164 108.4888) (xy 167.442638 108.451708) (xy 167.618294 108.378949) (xy 167.776379 108.27332)
+ (xy 167.91082 108.138879) (xy 168.016449 107.980794) (xy 168.089208 107.805138) (xy 168.1263 107.618664) (xy 168.1263 107.428536)
+ (xy 168.118341 107.388523) (xy 169.9327 107.388523) (xy 169.9327 107.618677) (xy 169.977601 107.84441) (xy 170.065678 108.057045)
+ (xy 170.193545 108.248411) (xy 170.356289 108.411155) (xy 170.547655 108.539022) (xy 170.76029 108.627099) (xy 170.986023 108.672)
+ (xy 171.216177 108.672) (xy 171.44191 108.627099) (xy 171.654545 108.539022) (xy 171.845911 108.411155) (xy 172.008655 108.248411)
+ (xy 172.136522 108.057045) (xy 172.224599 107.84441) (xy 172.2695 107.618677) (xy 172.2695 107.388523) (xy 172.224599 107.16279)
+ (xy 172.136522 106.950155) (xy 172.008655 106.758789) (xy 171.845911 106.596045) (xy 171.654545 106.468178) (xy 171.44191 106.380101)
+ (xy 171.216177 106.3352) (xy 170.986023 106.3352) (xy 170.76029 106.380101) (xy 170.547655 106.468178) (xy 170.356289 106.596045)
+ (xy 170.193545 106.758789) (xy 170.065678 106.950155) (xy 169.977601 107.16279) (xy 169.9327 107.388523) (xy 168.118341 107.388523)
+ (xy 168.089208 107.242062) (xy 168.016449 107.066406) (xy 167.91082 106.908321) (xy 167.776379 106.77388) (xy 167.618294 106.668251)
+ (xy 167.442638 106.595492) (xy 167.256164 106.5584) (xy 167.066036 106.5584) (xy 166.879562 106.595492) (xy 166.703906 106.668251)
+ (xy 166.545821 106.77388) (xy 166.41138 106.908321) (xy 166.305751 107.066406) (xy 166.250912 107.1988) (xy 165.1059 107.1988)
+ (xy 165.1059 104.141057) (xy 165.107373 104.126099) (xy 165.1059 104.111141) (xy 165.1059 104.111134) (xy 165.101489 104.066349)
+ (xy 165.08406 104.008894) (xy 165.055758 103.955943) (xy 165.017668 103.909532) (xy 165.006044 103.899992) (xy 162.176112 101.070061)
+ (xy 162.166568 101.058432) (xy 162.120157 101.020342) (xy 162.07985 100.998798) (xy 161.926112 100.845061) (xy 161.916568 100.833432)
+ (xy 161.870157 100.795342) (xy 161.817206 100.76704) (xy 161.759751 100.749611) (xy 161.714966 100.7452) (xy 161.714958 100.7452)
+ (xy 161.7 100.743727) (xy 161.685042 100.7452) (xy 152.398871 100.7452) (xy 152.536379 100.65332) (xy 152.67082 100.518879)
+ (xy 152.776449 100.360794) (xy 152.849208 100.185138) (xy 152.8863 99.998664) (xy 152.8863 99.808536) (xy 152.849208 99.622062)
+ (xy 152.776449 99.446406) (xy 152.67082 99.288321) (xy 152.536379 99.15388) (xy 152.378294 99.048251) (xy 152.202638 98.975492)
+ (xy 152.016164 98.9384) (xy 151.826036 98.9384) (xy 151.639562 98.975492) (xy 151.463906 99.048251) (xy 151.305821 99.15388)
+ (xy 151.17138 99.288321) (xy 151.065751 99.446406) (xy 150.992992 99.622062) (xy 150.9559 99.808536) (xy 150.9559 99.998664)
+ (xy 150.992992 100.185138) (xy 151.065751 100.360794) (xy 151.17138 100.518879) (xy 151.305821 100.65332) (xy 151.443329 100.7452)
+ (xy 140.939957 100.7452) (xy 140.924999 100.743727) (xy 140.910041 100.7452) (xy 140.910034 100.7452) (xy 140.870889 100.749055)
+ (xy 140.865248 100.749611) (xy 140.834466 100.758949) (xy 140.807794 100.76704) (xy 140.754843 100.795342) (xy 140.708432 100.833432)
+ (xy 140.698892 100.845056) (xy 140.345061 101.198888) (xy 140.333432 101.208432) (xy 140.295342 101.254844) (xy 140.26704 101.307795)
+ (xy 140.249611 101.36525) (xy 140.2452 101.410035) (xy 140.2452 101.410042) (xy 140.243727 101.425) (xy 140.2452 101.439958)
+ (xy 140.245201 104.3963) (xy 128.516065 104.3963) (xy 128.5011 104.394826) (xy 128.486134 104.3963) (xy 128.441349 104.400711)
+ (xy 128.383894 104.41814) (xy 128.330943 104.446442) (xy 128.284532 104.484532) (xy 128.246442 104.530943) (xy 128.21814 104.583894)
+ (xy 128.200711 104.641349) (xy 128.194826 104.7011) (xy 128.1963 104.716066) (xy 128.1963 104.998635) (xy 128.196301 106.591753)
+ (xy 127.987655 106.678178) (xy 127.796289 106.806045) (xy 127.633545 106.968789) (xy 127.505678 107.160155) (xy 127.417601 107.37279)
+ (xy 127.3727 107.598523) (xy 127.1695 107.598523) (xy 127.124599 107.37279) (xy 127.036522 107.160155) (xy 126.908655 106.968789)
+ (xy 126.745911 106.806045) (xy 126.554545 106.678178) (xy 126.34191 106.590101) (xy 126.2059 106.563047) (xy 126.2059 103.975151)
+ (xy 127.206051 102.975) (xy 127.845294 102.975) (xy 127.845294 103.975) (xy 127.849708 104.019813) (xy 127.862779 104.062905)
+ (xy 127.884006 104.102618) (xy 127.912573 104.137427) (xy 127.947382 104.165994) (xy 127.987095 104.187221) (xy 128.030187 104.200292)
+ (xy 128.075 104.204706) (xy 129.075 104.204706) (xy 129.119813 104.200292) (xy 129.162905 104.187221) (xy 129.202618 104.165994)
+ (xy 129.237427 104.137427) (xy 129.265994 104.102618) (xy 129.287221 104.062905) (xy 129.300292 104.019813) (xy 129.304706 103.975)
+ (xy 129.304706 103.593013) (xy 137.2714 103.593013) (xy 137.2714 103.706987) (xy 137.293635 103.818772) (xy 137.337251 103.92407)
+ (xy 137.400572 104.018836) (xy 137.481164 104.099428) (xy 137.57593 104.162749) (xy 137.681228 104.206365) (xy 137.793013 104.2286)
+ (xy 137.906987 104.2286) (xy 138.018772 104.206365) (xy 138.12407 104.162749) (xy 138.218836 104.099428) (xy 138.299428 104.018836)
+ (xy 138.362749 103.92407) (xy 138.406365 103.818772) (xy 138.4286 103.706987) (xy 138.4286 103.593013) (xy 138.406365 103.481228)
+ (xy 138.362749 103.37593) (xy 138.299428 103.281164) (xy 138.218836 103.200572) (xy 138.12407 103.137251) (xy 138.018772 103.093635)
+ (xy 137.906987 103.0714) (xy 137.793013 103.0714) (xy 137.681228 103.093635) (xy 137.57593 103.137251) (xy 137.481164 103.200572)
+ (xy 137.400572 103.281164) (xy 137.337251 103.37593) (xy 137.293635 103.481228) (xy 137.2714 103.593013) (xy 129.304706 103.593013)
+ (xy 129.304706 102.975) (xy 129.300292 102.930187) (xy 129.287221 102.887095) (xy 129.265994 102.847382) (xy 129.237427 102.812573)
+ (xy 129.202618 102.784006) (xy 129.162905 102.762779) (xy 129.119813 102.749708) (xy 129.075 102.745294) (xy 128.075 102.745294)
+ (xy 128.030187 102.749708) (xy 127.987095 102.762779) (xy 127.947382 102.784006) (xy 127.912573 102.812573) (xy 127.884006 102.847382)
+ (xy 127.862779 102.887095) (xy 127.849708 102.930187) (xy 127.845294 102.975) (xy 127.206051 102.975) (xy 127.875152 102.3059)
+ (xy 139.108942 102.3059) (xy 139.1239 102.307373) (xy 139.138858 102.3059) (xy 139.138866 102.3059) (xy 139.183651 102.301489)
+ (xy 139.241106 102.28406) (xy 139.294057 102.255758) (xy 139.340468 102.217668) (xy 139.340964 102.217064) (xy 139.341568 102.216568)
+ (xy 139.379658 102.170157) (xy 139.40796 102.117206) (xy 139.425389 102.059751) (xy 139.4298 102.014966) (xy 139.4298 102.014958)
+ (xy 139.431273 102) (xy 139.4298 101.985042) (xy 139.4298 99.151251) (xy 139.676252 98.9048) (xy 161.048749 98.9048)
+ (xy 161.148799 99.004851) (xy 161.170342 99.045156) (xy 161.208432 99.091568) (xy 161.220061 99.101112) (xy 165.541601 103.422653)
+ (xy 165.5416 104.888634) (xy 165.540126 104.9036) (xy 165.546011 104.963351) (xy 165.56344 105.020806) (xy 165.591742 105.073757)
+ (xy 165.629832 105.120168) (xy 165.676243 105.158258) (xy 165.729194 105.18656) (xy 165.786649 105.203989) (xy 165.8464 105.209874)
+ (xy 165.861365 105.2084) (xy 166.221706 105.2084) (xy 166.232992 105.265138) (xy 166.305751 105.440794) (xy 166.41138 105.598879)
+ (xy 166.545821 105.73332) (xy 166.703906 105.838949) (xy 166.879562 105.911708) (xy 167.066036 105.9488) (xy 167.256164 105.9488)
+ (xy 167.442638 105.911708) (xy 167.618294 105.838949) (xy 167.776379 105.73332) (xy 167.91082 105.598879) (xy 168.016449 105.440794)
+ (xy 168.089208 105.265138) (xy 168.1263 105.078664) (xy 168.1263 104.888536) (xy 168.118341 104.848523) (xy 169.9327 104.848523)
+ (xy 169.9327 105.078677) (xy 169.977601 105.30441) (xy 170.065678 105.517045) (xy 170.193545 105.708411) (xy 170.356289 105.871155)
+ (xy 170.547655 105.999022) (xy 170.76029 106.087099) (xy 170.986023 106.132) (xy 171.216177 106.132) (xy 171.44191 106.087099)
+ (xy 171.654545 105.999022) (xy 171.845911 105.871155) (xy 172.008655 105.708411) (xy 172.136522 105.517045) (xy 172.224599 105.30441)
+ (xy 172.2695 105.078677) (xy 172.2695 104.848523) (xy 172.224599 104.62279) (xy 172.136522 104.410155) (xy 172.008655 104.218789)
+ (xy 171.845911 104.056045) (xy 171.654545 103.928178) (xy 171.44191 103.840101) (xy 171.216177 103.7952) (xy 170.986023 103.7952)
+ (xy 170.76029 103.840101) (xy 170.547655 103.928178) (xy 170.356289 104.056045) (xy 170.193545 104.218789) (xy 170.065678 104.410155)
+ (xy 169.977601 104.62279) (xy 169.9327 104.848523) (xy 168.118341 104.848523) (xy 168.089208 104.702062) (xy 168.016449 104.526406)
+ (xy 167.91082 104.368321) (xy 167.776379 104.23388) (xy 167.618294 104.128251) (xy 167.442638 104.055492) (xy 167.256164 104.0184)
+ (xy 167.066036 104.0184) (xy 166.879562 104.055492) (xy 166.703906 104.128251) (xy 166.545821 104.23388) (xy 166.41138 104.368321)
+ (xy 166.305751 104.526406) (xy 166.275764 104.5988) (xy 166.1512 104.5988) (xy 166.1512 103.311358) (xy 166.152673 103.2964)
+ (xy 166.1512 103.281442) (xy 166.1512 103.281434) (xy 166.146789 103.236649) (xy 166.12936 103.179194) (xy 166.101058 103.126243)
+ (xy 166.062968 103.079832) (xy 166.051344 103.070292) (xy 165.329588 102.348536) (xy 166.1959 102.348536) (xy 166.1959 102.538664)
+ (xy 166.232992 102.725138) (xy 166.305751 102.900794) (xy 166.41138 103.058879) (xy 166.545821 103.19332) (xy 166.703906 103.298949)
+ (xy 166.879562 103.371708) (xy 167.066036 103.4088) (xy 167.256164 103.4088) (xy 167.442638 103.371708) (xy 167.618294 103.298949)
+ (xy 167.776379 103.19332) (xy 167.91082 103.058879) (xy 168.016449 102.900794) (xy 168.089208 102.725138) (xy 168.1263 102.538664)
+ (xy 168.1263 102.348536) (xy 168.089208 102.162062) (xy 168.016449 101.986406) (xy 167.91082 101.828321) (xy 167.776379 101.69388)
+ (xy 167.618294 101.588251) (xy 167.442638 101.515492) (xy 167.256164 101.4784) (xy 167.066036 101.4784) (xy 166.879562 101.515492)
+ (xy 166.703906 101.588251) (xy 166.545821 101.69388) (xy 166.41138 101.828321) (xy 166.305751 101.986406) (xy 166.232992 102.162062)
+ (xy 166.1959 102.348536) (xy 165.329588 102.348536) (xy 162.789588 99.808536) (xy 166.1959 99.808536) (xy 166.1959 99.998664)
+ (xy 166.232992 100.185138) (xy 166.305751 100.360794) (xy 166.41138 100.518879) (xy 166.545821 100.65332) (xy 166.703906 100.758949)
+ (xy 166.879562 100.831708) (xy 167.066036 100.8688) (xy 167.256164 100.8688) (xy 167.442638 100.831708) (xy 167.618294 100.758949)
+ (xy 167.776379 100.65332) (xy 167.91082 100.518879) (xy 168.016449 100.360794) (xy 168.089208 100.185138) (xy 168.1263 99.998664)
+ (xy 168.1263 99.808536) (xy 168.089208 99.622062) (xy 168.016449 99.446406) (xy 167.91082 99.288321) (xy 167.776379 99.15388)
+ (xy 167.618294 99.048251) (xy 167.442638 98.975492) (xy 167.256164 98.9384) (xy 167.066036 98.9384) (xy 166.879562 98.975492)
+ (xy 166.703906 99.048251) (xy 166.545821 99.15388) (xy 166.41138 99.288321) (xy 166.305751 99.446406) (xy 166.232992 99.622062)
+ (xy 166.1959 99.808536) (xy 162.789588 99.808536) (xy 161.701202 98.720151) (xy 161.679657 98.679842) (xy 161.651108 98.645056)
+ (xy 161.651107 98.645055) (xy 161.641568 98.633432) (xy 161.629944 98.623892) (xy 161.401112 98.395061) (xy 161.391568 98.383432)
+ (xy 161.345157 98.345342) (xy 161.292206 98.31704) (xy 161.234751 98.299611) (xy 161.189966 98.2952) (xy 161.189958 98.2952)
+ (xy 161.175 98.293727) (xy 161.160042 98.2952) (xy 152.185083 98.2952) (xy 152.202638 98.291708) (xy 152.378294 98.218949)
+ (xy 152.536379 98.11332) (xy 152.67082 97.978879) (xy 152.776449 97.820794) (xy 152.849208 97.645138) (xy 152.8863 97.458664)
+ (xy 152.8863 97.268536) (xy 166.1959 97.268536) (xy 166.1959 97.458664) (xy 166.232992 97.645138) (xy 166.305751 97.820794)
+ (xy 166.41138 97.978879) (xy 166.545821 98.11332) (xy 166.703906 98.218949) (xy 166.879562 98.291708) (xy 167.066036 98.3288)
+ (xy 167.256164 98.3288) (xy 167.442638 98.291708) (xy 167.618294 98.218949) (xy 167.776379 98.11332) (xy 167.91082 97.978879)
+ (xy 168.016449 97.820794) (xy 168.089208 97.645138) (xy 168.1263 97.458664) (xy 168.1263 97.288523) (xy 169.9327 97.288523)
+ (xy 169.9327 97.518677) (xy 169.977601 97.74441) (xy 170.065678 97.957045) (xy 170.193545 98.148411) (xy 170.356289 98.311155)
+ (xy 170.547655 98.439022) (xy 170.76029 98.527099) (xy 170.986023 98.572) (xy 171.216177 98.572) (xy 171.44191 98.527099)
+ (xy 171.654545 98.439022) (xy 171.845911 98.311155) (xy 172.008655 98.148411) (xy 172.136522 97.957045) (xy 172.224599 97.74441)
+ (xy 172.2695 97.518677) (xy 172.2695 97.288523) (xy 172.224599 97.06279) (xy 172.136522 96.850155) (xy 172.008655 96.658789)
+ (xy 171.845911 96.496045) (xy 171.654545 96.368178) (xy 171.44191 96.280101) (xy 171.216177 96.2352) (xy 170.986023 96.2352)
+ (xy 170.76029 96.280101) (xy 170.547655 96.368178) (xy 170.356289 96.496045) (xy 170.193545 96.658789) (xy 170.065678 96.850155)
+ (xy 169.977601 97.06279) (xy 169.9327 97.288523) (xy 168.1263 97.288523) (xy 168.1263 97.268536) (xy 168.089208 97.082062)
+ (xy 168.016449 96.906406) (xy 167.91082 96.748321) (xy 167.776379 96.61388) (xy 167.618294 96.508251) (xy 167.442638 96.435492)
+ (xy 167.256164 96.3984) (xy 167.066036 96.3984) (xy 166.879562 96.435492) (xy 166.703906 96.508251) (xy 166.545821 96.61388)
+ (xy 166.41138 96.748321) (xy 166.305751 96.906406) (xy 166.232992 97.082062) (xy 166.1959 97.268536) (xy 152.8863 97.268536)
+ (xy 152.849208 97.082062) (xy 152.776449 96.906406) (xy 152.67082 96.748321) (xy 152.536379 96.61388) (xy 152.378294 96.508251)
+ (xy 152.202638 96.435492) (xy 152.016164 96.3984) (xy 151.826036 96.3984) (xy 151.639562 96.435492) (xy 151.463906 96.508251)
+ (xy 151.305821 96.61388) (xy 151.17138 96.748321) (xy 151.065751 96.906406) (xy 150.992992 97.082062) (xy 150.9559 97.268536)
+ (xy 150.9559 97.458664) (xy 150.992992 97.645138) (xy 151.065751 97.820794) (xy 151.17138 97.978879) (xy 151.305821 98.11332)
+ (xy 151.463906 98.218949) (xy 151.639562 98.291708) (xy 151.657117 98.2952) (xy 139.564958 98.2952) (xy 139.55 98.293727)
+ (xy 139.535042 98.2952) (xy 139.535034 98.2952) (xy 139.495403 98.299103) (xy 139.490248 98.299611) (xy 139.452194 98.311155)
+ (xy 139.432794 98.31704) (xy 139.379843 98.345342) (xy 139.333432 98.383432) (xy 139.323892 98.395056) (xy 138.920061 98.798888)
+ (xy 138.908432 98.808432) (xy 138.870342 98.854844) (xy 138.84204 98.907795) (xy 138.824611 98.96525) (xy 138.8202 99.010035)
+ (xy 138.8202 99.010042) (xy 138.818727 99.025) (xy 138.8202 99.039958) (xy 138.820201 101.6963) (xy 127.763858 101.6963)
+ (xy 127.7489 101.694827) (xy 127.733942 101.6963) (xy 127.733934 101.6963) (xy 127.694303 101.700203) (xy 127.689148 101.700711)
+ (xy 127.63532 101.71704) (xy 127.631694 101.71814) (xy 127.578743 101.746442) (xy 127.532332 101.784532) (xy 127.522792 101.796156)
+ (xy 125.696161 103.622788) (xy 125.684532 103.632332) (xy 125.646442 103.678744) (xy 125.61814 103.731695) (xy 125.600711 103.78915)
+ (xy 125.5963 103.833935) (xy 125.5963 103.833942) (xy 125.594827 103.8489) (xy 125.5963 103.863858) (xy 125.596301 106.616606)
+ (xy 125.447655 106.678178) (xy 125.256289 106.806045) (xy 125.093545 106.968789) (xy 124.965678 107.160155) (xy 124.877601 107.37279)
+ (xy 124.8327 107.598523) (xy 123.752301 107.598523) (xy 123.752301 100.95) (xy 124.995294 100.95) (xy 124.995294 101.95)
+ (xy 124.999708 101.994813) (xy 125.012779 102.037905) (xy 125.034006 102.077618) (xy 125.062573 102.112427) (xy 125.097382 102.140994)
+ (xy 125.137095 102.162221) (xy 125.180187 102.175292) (xy 125.225 102.179706) (xy 126.225 102.179706) (xy 126.269813 102.175292)
+ (xy 126.312905 102.162221) (xy 126.352618 102.140994) (xy 126.387427 102.112427) (xy 126.415994 102.077618) (xy 126.437221 102.037905)
+ (xy 126.450292 101.994813) (xy 126.454706 101.95) (xy 126.454706 100.95) (xy 126.450292 100.905187) (xy 126.437221 100.862095)
+ (xy 126.415994 100.822382) (xy 126.387427 100.787573) (xy 126.357592 100.763088) (xy 128.0464 100.763088) (xy 128.0464 100.886912)
+ (xy 128.070556 101.008356) (xy 128.117941 101.122754) (xy 128.186734 101.225709) (xy 128.274291 101.313266) (xy 128.377246 101.382059)
+ (xy 128.491644 101.429444) (xy 128.613088 101.4536) (xy 128.736912 101.4536) (xy 128.858356 101.429444) (xy 128.972754 101.382059)
+ (xy 129.075709 101.313266) (xy 129.163266 101.225709) (xy 129.232059 101.122754) (xy 129.279444 101.008356) (xy 129.3036 100.886912)
+ (xy 129.3036 100.763088) (xy 129.287033 100.6798) (xy 137.835042 100.6798) (xy 137.85 100.681273) (xy 137.864958 100.6798)
+ (xy 137.864966 100.6798) (xy 137.909751 100.675389) (xy 137.967206 100.65796) (xy 138.020157 100.629658) (xy 138.066568 100.591568)
+ (xy 138.076112 100.579939) (xy 138.379944 100.276108) (xy 138.391568 100.266568) (xy 138.429658 100.220157) (xy 138.45796 100.167206)
+ (xy 138.475389 100.109751) (xy 138.4798 100.064966) (xy 138.4798 100.064959) (xy 138.481273 100.050001) (xy 138.4798 100.035043)
+ (xy 138.4798 94.728536) (xy 150.9559 94.728536) (xy 150.9559 94.918664) (xy 150.992992 95.105138) (xy 151.065751 95.280794)
+ (xy 151.17138 95.438879) (xy 151.305821 95.57332) (xy 151.463906 95.678949) (xy 151.639562 95.751708) (xy 151.826036 95.7888)
+ (xy 152.016164 95.7888) (xy 152.202638 95.751708) (xy 152.378294 95.678949) (xy 152.536379 95.57332) (xy 152.67082 95.438879)
+ (xy 152.776449 95.280794) (xy 152.849208 95.105138) (xy 152.8863 94.918664) (xy 152.8863 94.728536) (xy 152.849208 94.542062)
+ (xy 152.776449 94.366406) (xy 152.67082 94.208321) (xy 152.536379 94.07388) (xy 152.378294 93.968251) (xy 152.202638 93.895492)
+ (xy 152.016164 93.8584) (xy 151.826036 93.8584) (xy 151.639562 93.895492) (xy 151.463906 93.968251) (xy 151.305821 94.07388)
+ (xy 151.17138 94.208321) (xy 151.065751 94.366406) (xy 150.992992 94.542062) (xy 150.9559 94.728536) (xy 138.4798 94.728536)
+ (xy 138.4798 94.652351) (xy 138.575709 94.588266) (xy 138.663266 94.500709) (xy 138.732059 94.397754) (xy 138.779444 94.283356)
+ (xy 138.8036 94.161912) (xy 138.8036 94.038088) (xy 138.779444 93.916644) (xy 138.732059 93.802246) (xy 138.663266 93.699291)
+ (xy 138.575709 93.611734) (xy 138.472754 93.542941) (xy 138.358356 93.495556) (xy 138.236912 93.4714) (xy 138.113088 93.4714)
+ (xy 137.991644 93.495556) (xy 137.877246 93.542941) (xy 137.774291 93.611734) (xy 137.686734 93.699291) (xy 137.617941 93.802246)
+ (xy 137.570556 93.916644) (xy 137.5464 94.038088) (xy 137.5464 94.161912) (xy 137.570556 94.283356) (xy 137.617941 94.397754)
+ (xy 137.686734 94.500709) (xy 137.774291 94.588266) (xy 137.8702 94.652351) (xy 137.870201 99.923747) (xy 137.723749 100.0702)
+ (xy 128.689965 100.0702) (xy 128.675 100.068726) (xy 128.660034 100.0702) (xy 128.615249 100.074611) (xy 128.557794 100.09204)
+ (xy 128.504843 100.120342) (xy 128.458432 100.158432) (xy 128.420342 100.204843) (xy 128.39204 100.257794) (xy 128.390646 100.262391)
+ (xy 128.377246 100.267941) (xy 128.274291 100.336734) (xy 128.186734 100.424291) (xy 128.117941 100.527246) (xy 128.070556 100.641644)
+ (xy 128.0464 100.763088) (xy 126.357592 100.763088) (xy 126.352618 100.759006) (xy 126.312905 100.737779) (xy 126.269813 100.724708)
+ (xy 126.225 100.720294) (xy 126.0298 100.720294) (xy 126.0298 98.951251) (xy 126.381051 98.6) (xy 127.870294 98.6)
+ (xy 127.870294 99.6) (xy 127.874708 99.644813) (xy 127.887779 99.687905) (xy 127.909006 99.727618) (xy 127.937573 99.762427)
+ (xy 127.972382 99.790994) (xy 128.012095 99.812221) (xy 128.055187 99.825292) (xy 128.1 99.829706) (xy 129.1 99.829706)
+ (xy 129.144813 99.825292) (xy 129.187905 99.812221) (xy 129.227618 99.790994) (xy 129.262427 99.762427) (xy 129.290994 99.727618)
+ (xy 129.312221 99.687905) (xy 129.325292 99.644813) (xy 129.329706 99.6) (xy 129.329706 99.4048) (xy 137.035042 99.4048)
+ (xy 137.05 99.406273) (xy 137.064958 99.4048) (xy 137.064966 99.4048) (xy 137.109751 99.400389) (xy 137.167206 99.38296)
+ (xy 137.220157 99.354658) (xy 137.266568 99.316568) (xy 137.276112 99.304939) (xy 137.354939 99.226112) (xy 137.366568 99.216568)
+ (xy 137.404658 99.170157) (xy 137.43296 99.117206) (xy 137.450389 99.059751) (xy 137.4548 99.014966) (xy 137.4548 99.014959)
+ (xy 137.456273 99.000001) (xy 137.4548 98.985043) (xy 137.4548 95.452351) (xy 137.550709 95.388266) (xy 137.638266 95.300709)
+ (xy 137.707059 95.197754) (xy 137.754444 95.083356) (xy 137.7786 94.961912) (xy 137.7786 94.838088) (xy 137.754444 94.716644)
+ (xy 137.707059 94.602246) (xy 137.638266 94.499291) (xy 137.550709 94.411734) (xy 137.447754 94.342941) (xy 137.333356 94.295556)
+ (xy 137.211912 94.2714) (xy 137.088088 94.2714) (xy 136.966644 94.295556) (xy 136.852246 94.342941) (xy 136.749291 94.411734)
+ (xy 136.661734 94.499291) (xy 136.592941 94.602246) (xy 136.545556 94.716644) (xy 136.5214 94.838088) (xy 136.5214 94.961912)
+ (xy 136.545556 95.083356) (xy 136.592941 95.197754) (xy 136.661734 95.300709) (xy 136.749291 95.388266) (xy 136.8452 95.452351)
+ (xy 136.845201 98.7952) (xy 129.329706 98.7952) (xy 129.329706 98.6) (xy 129.325292 98.555187) (xy 129.312221 98.512095)
+ (xy 129.290994 98.472382) (xy 129.262427 98.437573) (xy 129.227618 98.409006) (xy 129.187905 98.387779) (xy 129.144813 98.374708)
+ (xy 129.1 98.370294) (xy 128.1 98.370294) (xy 128.055187 98.374708) (xy 128.012095 98.387779) (xy 127.972382 98.409006)
+ (xy 127.937573 98.437573) (xy 127.909006 98.472382) (xy 127.887779 98.512095) (xy 127.874708 98.555187) (xy 127.870294 98.6)
+ (xy 126.381051 98.6) (xy 127.601252 97.3798) (xy 130.160042 97.3798) (xy 130.175 97.381273) (xy 130.189958 97.3798)
+ (xy 130.189966 97.3798) (xy 130.234751 97.375389) (xy 130.292206 97.35796) (xy 130.345157 97.329658) (xy 130.391568 97.291568)
+ (xy 130.401112 97.279939) (xy 132.77995 94.901103) (xy 132.791568 94.891568) (xy 132.801102 94.879951) (xy 132.801109 94.879944)
+ (xy 132.829657 94.845157) (xy 132.832281 94.840249) (xy 132.84387 94.818566) (xy 132.851202 94.804849) (xy 132.874954 94.781097)
+ (xy 132.988088 94.8036) (xy 133.111912 94.8036) (xy 133.233356 94.779444) (xy 133.347754 94.732059) (xy 133.450709 94.663266)
+ (xy 133.538266 94.575709) (xy 133.607059 94.472754) (xy 133.654444 94.358356) (xy 133.6786 94.236912) (xy 133.6786 94.113088)
+ (xy 133.654444 93.991644) (xy 133.607059 93.877246) (xy 133.538266 93.774291) (xy 133.450709 93.686734) (xy 133.347754 93.617941)
+ (xy 133.233356 93.570556) (xy 133.111912 93.5464) (xy 132.988088 93.5464) (xy 132.866644 93.570556) (xy 132.752246 93.617941)
+ (xy 132.649291 93.686734) (xy 132.561734 93.774291) (xy 132.492941 93.877246) (xy 132.445556 93.991644) (xy 132.4214 94.113088)
+ (xy 132.4214 94.236912) (xy 132.443903 94.350046) (xy 132.370061 94.423888) (xy 132.358432 94.433432) (xy 132.320342 94.479844)
+ (xy 132.300925 94.516172) (xy 132.298801 94.520146) (xy 130.048749 96.7702) (xy 127.489958 96.7702) (xy 127.475 96.768727)
+ (xy 127.460042 96.7702) (xy 127.460034 96.7702) (xy 127.420403 96.774103) (xy 127.415248 96.774611) (xy 127.405336 96.777618)
+ (xy 127.357794 96.79204) (xy 127.304843 96.820342) (xy 127.258432 96.858432) (xy 127.248892 96.870056) (xy 125.520061 98.598888)
+ (xy 125.508432 98.608432) (xy 125.470342 98.654844) (xy 125.446414 98.699611) (xy 125.44204 98.707795) (xy 125.434457 98.732794)
+ (xy 125.424611 98.76525) (xy 125.4202 98.810035) (xy 125.4202 98.810042) (xy 125.418727 98.825) (xy 125.4202 98.839958)
+ (xy 125.420201 100.720294) (xy 125.225 100.720294) (xy 125.180187 100.724708) (xy 125.137095 100.737779) (xy 125.097382 100.759006)
+ (xy 125.062573 100.787573) (xy 125.034006 100.822382) (xy 125.012779 100.862095) (xy 124.999708 100.905187) (xy 124.995294 100.95)
+ (xy 123.752301 100.95) (xy 123.752301 95.65) (xy 125.045294 95.65) (xy 125.045294 96.65) (xy 125.049708 96.694813)
+ (xy 125.062779 96.737905) (xy 125.084006 96.777618) (xy 125.112573 96.812427) (xy 125.147382 96.840994) (xy 125.187095 96.862221)
+ (xy 125.230187 96.875292) (xy 125.275 96.879706) (xy 126.275 96.879706) (xy 126.319813 96.875292) (xy 126.362905 96.862221)
+ (xy 126.402618 96.840994) (xy 126.437427 96.812427) (xy 126.465994 96.777618) (xy 126.487221 96.737905) (xy 126.500292 96.694813)
+ (xy 126.504706 96.65) (xy 126.504706 96.4548) (xy 129.610042 96.4548) (xy 129.625 96.456273) (xy 129.639958 96.4548)
+ (xy 129.639966 96.4548) (xy 129.684751 96.450389) (xy 129.742206 96.43296) (xy 129.795157 96.404658) (xy 129.841568 96.366568)
+ (xy 129.851112 96.354939) (xy 131.424955 94.781097) (xy 131.538088 94.8036) (xy 131.661912 94.8036) (xy 131.783356 94.779444)
+ (xy 131.897754 94.732059) (xy 132.000709 94.663266) (xy 132.088266 94.575709) (xy 132.157059 94.472754) (xy 132.204444 94.358356)
+ (xy 132.2286 94.236912) (xy 132.2286 94.113088) (xy 132.204444 93.991644) (xy 132.157059 93.877246) (xy 132.088266 93.774291)
+ (xy 132.000709 93.686734) (xy 131.897754 93.617941) (xy 131.783356 93.570556) (xy 131.661912 93.5464) (xy 131.538088 93.5464)
+ (xy 131.416644 93.570556) (xy 131.302246 93.617941) (xy 131.199291 93.686734) (xy 131.111734 93.774291) (xy 131.042941 93.877246)
+ (xy 130.995556 93.991644) (xy 130.9714 94.113088) (xy 130.9714 94.236912) (xy 130.993903 94.350045) (xy 129.498749 95.8452)
+ (xy 126.504706 95.8452) (xy 126.504706 95.65) (xy 126.500292 95.605187) (xy 126.487221 95.562095) (xy 126.465994 95.522382)
+ (xy 126.437427 95.487573) (xy 126.402618 95.459006) (xy 126.362905 95.437779) (xy 126.319813 95.424708) (xy 126.275 95.420294)
+ (xy 125.275 95.420294) (xy 125.230187 95.424708) (xy 125.187095 95.437779) (xy 125.147382 95.459006) (xy 125.112573 95.487573)
+ (xy 125.084006 95.522382) (xy 125.062779 95.562095) (xy 125.049708 95.605187) (xy 125.045294 95.65) (xy 123.752301 95.65)
+ (xy 123.752301 92.268523) (xy 124.8327 92.268523) (xy 124.8327 92.498677) (xy 124.877601 92.72441) (xy 124.965678 92.937045)
+ (xy 125.093545 93.128411) (xy 125.256289 93.291155) (xy 125.447655 93.419022) (xy 125.66029 93.507099) (xy 125.886023 93.552)
+ (xy 126.116177 93.552) (xy 126.34191 93.507099) (xy 126.554545 93.419022) (xy 126.745911 93.291155) (xy 126.908655 93.128411)
+ (xy 127.036522 92.937045) (xy 127.067524 92.8622) (xy 127.474676 92.8622) (xy 127.505678 92.937045) (xy 127.633545 93.128411)
+ (xy 127.796289 93.291155) (xy 127.987655 93.419022) (xy 128.20029 93.507099) (xy 128.426023 93.552) (xy 128.656177 93.552)
+ (xy 128.88191 93.507099) (xy 129.094545 93.419022) (xy 129.285911 93.291155) (xy 129.448655 93.128411) (xy 129.576522 92.937045)
+ (xy 129.664599 92.72441) (xy 129.7095 92.498677) (xy 129.7095 92.268523) (xy 129.664599 92.04279) (xy 129.576522 91.830155)
+ (xy 129.448655 91.638789) (xy 129.285911 91.476045) (xy 129.094545 91.348178) (xy 128.88191 91.260101) (xy 128.656177 91.2152)
+ (xy 128.426023 91.2152) (xy 128.20029 91.260101) (xy 127.987655 91.348178) (xy 127.796289 91.476045) (xy 127.633545 91.638789)
+ (xy 127.505678 91.830155) (xy 127.474676 91.905) (xy 127.067524 91.905) (xy 127.036522 91.830155) (xy 126.908655 91.638789)
+ (xy 126.745911 91.476045) (xy 126.554545 91.348178) (xy 126.4797 91.317176) (xy 126.4797 89.744562) (xy 126.484006 89.752618)
+ (xy 126.512573 89.787427) (xy 126.547382 89.815994) (xy 126.587095 89.837221) (xy 126.630187 89.850292) (xy 126.675 89.854706)
+ (xy 127.675 89.854706) (xy 127.719813 89.850292) (xy 127.762905 89.837221) (xy 127.802618 89.815994) (xy 127.837427 89.787427)
+ (xy 127.865994 89.752618) (xy 127.887221 89.712905) (xy 127.900292 89.669813) (xy 127.904706 89.625) (xy 127.904706 89.4298)
+ (xy 129.173749 89.4298) (xy 131.268903 91.524955) (xy 131.2464 91.638088) (xy 131.2464 91.761912) (xy 131.270556 91.883356)
+ (xy 131.317941 91.997754) (xy 131.386734 92.100709) (xy 131.474291 92.188266) (xy 131.577246 92.257059) (xy 131.691644 92.304444)
+ (xy 131.813088 92.3286) (xy 131.936912 92.3286) (xy 132.058356 92.304444) (xy 132.172754 92.257059) (xy 132.275304 92.188536)
+ (xy 150.9559 92.188536) (xy 150.9559 92.378664) (xy 150.992992 92.565138) (xy 151.065751 92.740794) (xy 151.17138 92.898879)
+ (xy 151.305821 93.03332) (xy 151.463906 93.138949) (xy 151.639562 93.211708) (xy 151.826036 93.2488) (xy 152.016164 93.2488)
+ (xy 152.202638 93.211708) (xy 152.378294 93.138949) (xy 152.536379 93.03332) (xy 152.67082 92.898879) (xy 152.776449 92.740794)
+ (xy 152.849208 92.565138) (xy 152.8863 92.378664) (xy 152.8863 92.188536) (xy 152.849208 92.002062) (xy 152.776449 91.826406)
+ (xy 152.67082 91.668321) (xy 152.536379 91.53388) (xy 152.378294 91.428251) (xy 152.202638 91.355492) (xy 152.016164 91.3184)
+ (xy 151.826036 91.3184) (xy 151.639562 91.355492) (xy 151.463906 91.428251) (xy 151.305821 91.53388) (xy 151.17138 91.668321)
+ (xy 151.065751 91.826406) (xy 150.992992 92.002062) (xy 150.9559 92.188536) (xy 132.275304 92.188536) (xy 132.275709 92.188266)
+ (xy 132.363266 92.100709) (xy 132.432059 91.997754) (xy 132.479444 91.883356) (xy 132.5036 91.761912) (xy 132.5036 91.638088)
+ (xy 132.479444 91.516644) (xy 132.432059 91.402246) (xy 132.363266 91.299291) (xy 132.275709 91.211734) (xy 132.172754 91.142941)
+ (xy 132.058356 91.095556) (xy 131.936912 91.0714) (xy 131.813088 91.0714) (xy 131.699955 91.093903) (xy 129.526112 88.920061)
+ (xy 129.516568 88.908432) (xy 129.470157 88.870342) (xy 129.417206 88.84204) (xy 129.359751 88.824611) (xy 129.314966 88.8202)
+ (xy 129.314958 88.8202) (xy 129.3 88.818727) (xy 129.285042 88.8202) (xy 127.904706 88.8202) (xy 127.904706 88.625)
+ (xy 127.900292 88.580187) (xy 127.887221 88.537095) (xy 127.865994 88.497382) (xy 127.837427 88.462573) (xy 127.802618 88.434006)
+ (xy 127.762905 88.412779) (xy 127.719813 88.399708) (xy 127.675 88.395294) (xy 126.675 88.395294) (xy 126.630187 88.399708)
+ (xy 126.587095 88.412779) (xy 126.547382 88.434006) (xy 126.512573 88.462573) (xy 126.484006 88.497382) (xy 126.4797 88.505438)
+ (xy 126.4797 87.047142) (xy 127.526842 86) (xy 128.395294 86) (xy 128.395294 87) (xy 128.399708 87.044813)
+ (xy 128.412779 87.087905) (xy 128.434006 87.127618) (xy 128.462573 87.162427) (xy 128.497382 87.190994) (xy 128.537095 87.212221)
+ (xy 128.580187 87.225292) (xy 128.625 87.229706) (xy 128.820201 87.229706) (xy 128.820201 87.935032) (xy 128.818727 87.95)
+ (xy 128.824611 88.009751) (xy 128.84204 88.067205) (xy 128.842041 88.067206) (xy 128.870343 88.120157) (xy 128.908433 88.166568)
+ (xy 128.920057 88.176108) (xy 131.345056 90.601108) (xy 131.345062 90.601113) (xy 131.523888 90.779939) (xy 131.533432 90.791568)
+ (xy 131.579843 90.829658) (xy 131.632794 90.85796) (xy 131.690248 90.875389) (xy 131.695403 90.875897) (xy 131.735034 90.8798)
+ (xy 131.735042 90.8798) (xy 131.75 90.881273) (xy 131.764958 90.8798) (xy 132.147649 90.8798) (xy 132.211734 90.975709)
+ (xy 132.299291 91.063266) (xy 132.402246 91.132059) (xy 132.516644 91.179444) (xy 132.638088 91.2036) (xy 132.761912 91.2036)
+ (xy 132.883356 91.179444) (xy 132.997754 91.132059) (xy 133.100709 91.063266) (xy 133.188266 90.975709) (xy 133.257059 90.872754)
+ (xy 133.304444 90.758356) (xy 133.3286 90.636912) (xy 133.3286 90.513088) (xy 133.304444 90.391644) (xy 133.257059 90.277246)
+ (xy 133.188266 90.174291) (xy 133.100709 90.086734) (xy 132.997754 90.017941) (xy 132.883356 89.970556) (xy 132.761912 89.9464)
+ (xy 132.638088 89.9464) (xy 132.516644 89.970556) (xy 132.402246 90.017941) (xy 132.299291 90.086734) (xy 132.211734 90.174291)
+ (xy 132.147649 90.2702) (xy 131.876251 90.2702) (xy 131.776113 90.170062) (xy 131.776108 90.170056) (xy 130.96914 89.363088)
+ (xy 131.2964 89.363088) (xy 131.2964 89.486912) (xy 131.320556 89.608356) (xy 131.367941 89.722754) (xy 131.436734 89.825709)
+ (xy 131.524291 89.913266) (xy 131.627246 89.982059) (xy 131.741644 90.029444) (xy 131.863088 90.0536) (xy 131.986912 90.0536)
+ (xy 132.108356 90.029444) (xy 132.222754 89.982059) (xy 132.325709 89.913266) (xy 132.413266 89.825709) (xy 132.482059 89.722754)
+ (xy 132.5128 89.648536) (xy 150.9559 89.648536) (xy 150.9559 89.838664) (xy 150.992992 90.025138) (xy 151.065751 90.200794)
+ (xy 151.17138 90.358879) (xy 151.305821 90.49332) (xy 151.463906 90.598949) (xy 151.639562 90.671708) (xy 151.826036 90.7088)
+ (xy 152.016164 90.7088) (xy 152.202638 90.671708) (xy 152.378294 90.598949) (xy 152.536379 90.49332) (xy 152.67082 90.358879)
+ (xy 152.776449 90.200794) (xy 152.849208 90.025138) (xy 152.852537 90.0084) (xy 153.9963 90.0084) (xy 153.996301 94.788624)
+ (xy 153.994826 94.8036) (xy 154.000711 94.863351) (xy 154.01814 94.920806) (xy 154.046442 94.973757) (xy 154.084532 95.020168)
+ (xy 154.130943 95.058258) (xy 154.183894 95.08656) (xy 154.241349 95.103989) (xy 154.286134 95.1084) (xy 154.286135 95.1084)
+ (xy 154.3011 95.109874) (xy 154.316066 95.1084) (xy 158.474969 95.1084) (xy 158.529768 95.190412) (xy 158.614288 95.274932)
+ (xy 158.713672 95.341339) (xy 158.824103 95.387081) (xy 158.941335 95.4104) (xy 159.060865 95.4104) (xy 159.178097 95.387081)
+ (xy 159.288528 95.341339) (xy 159.387912 95.274932) (xy 159.472432 95.190412) (xy 159.538839 95.091028) (xy 159.584581 94.980597)
+ (xy 159.6079 94.863365) (xy 159.6079 94.743835) (xy 159.604857 94.728536) (xy 166.1959 94.728536) (xy 166.1959 94.918664)
+ (xy 166.232992 95.105138) (xy 166.305751 95.280794) (xy 166.41138 95.438879) (xy 166.545821 95.57332) (xy 166.703906 95.678949)
+ (xy 166.879562 95.751708) (xy 167.066036 95.7888) (xy 167.256164 95.7888) (xy 167.442638 95.751708) (xy 167.618294 95.678949)
+ (xy 167.776379 95.57332) (xy 167.91082 95.438879) (xy 168.016449 95.280794) (xy 168.089208 95.105138) (xy 168.1263 94.918664)
+ (xy 168.1263 94.748523) (xy 169.9327 94.748523) (xy 169.9327 94.978677) (xy 169.977601 95.20441) (xy 170.065678 95.417045)
+ (xy 170.193545 95.608411) (xy 170.356289 95.771155) (xy 170.547655 95.899022) (xy 170.76029 95.987099) (xy 170.986023 96.032)
+ (xy 171.216177 96.032) (xy 171.44191 95.987099) (xy 171.654545 95.899022) (xy 171.845911 95.771155) (xy 172.008655 95.608411)
+ (xy 172.136522 95.417045) (xy 172.224599 95.20441) (xy 172.2695 94.978677) (xy 172.2695 94.748523) (xy 172.224599 94.52279)
+ (xy 172.136522 94.310155) (xy 172.008655 94.118789) (xy 171.845911 93.956045) (xy 171.654545 93.828178) (xy 171.44191 93.740101)
+ (xy 171.216177 93.6952) (xy 170.986023 93.6952) (xy 170.76029 93.740101) (xy 170.547655 93.828178) (xy 170.356289 93.956045)
+ (xy 170.193545 94.118789) (xy 170.065678 94.310155) (xy 169.977601 94.52279) (xy 169.9327 94.748523) (xy 168.1263 94.748523)
+ (xy 168.1263 94.728536) (xy 168.089208 94.542062) (xy 168.016449 94.366406) (xy 167.91082 94.208321) (xy 167.776379 94.07388)
+ (xy 167.618294 93.968251) (xy 167.442638 93.895492) (xy 167.256164 93.8584) (xy 167.066036 93.8584) (xy 166.879562 93.895492)
+ (xy 166.703906 93.968251) (xy 166.545821 94.07388) (xy 166.41138 94.208321) (xy 166.305751 94.366406) (xy 166.232992 94.542062)
+ (xy 166.1959 94.728536) (xy 159.604857 94.728536) (xy 159.584581 94.626603) (xy 159.538839 94.516172) (xy 159.472432 94.416788)
+ (xy 159.387912 94.332268) (xy 159.288528 94.265861) (xy 159.178097 94.220119) (xy 159.060865 94.1968) (xy 158.941335 94.1968)
+ (xy 158.824103 94.220119) (xy 158.713672 94.265861) (xy 158.614288 94.332268) (xy 158.529768 94.416788) (xy 158.474969 94.4988)
+ (xy 154.6059 94.4988) (xy 154.6059 92.188536) (xy 166.1959 92.188536) (xy 166.1959 92.378664) (xy 166.232992 92.565138)
+ (xy 166.305751 92.740794) (xy 166.41138 92.898879) (xy 166.545821 93.03332) (xy 166.703906 93.138949) (xy 166.879562 93.211708)
+ (xy 167.066036 93.2488) (xy 167.256164 93.2488) (xy 167.442638 93.211708) (xy 167.618294 93.138949) (xy 167.776379 93.03332)
+ (xy 167.91082 92.898879) (xy 168.016449 92.740794) (xy 168.089208 92.565138) (xy 168.1263 92.378664) (xy 168.1263 92.208523)
+ (xy 169.9327 92.208523) (xy 169.9327 92.438677) (xy 169.977601 92.66441) (xy 170.065678 92.877045) (xy 170.193545 93.068411)
+ (xy 170.356289 93.231155) (xy 170.547655 93.359022) (xy 170.76029 93.447099) (xy 170.986023 93.492) (xy 171.216177 93.492)
+ (xy 171.44191 93.447099) (xy 171.654545 93.359022) (xy 171.845911 93.231155) (xy 172.008655 93.068411) (xy 172.136522 92.877045)
+ (xy 172.224599 92.66441) (xy 172.2695 92.438677) (xy 172.2695 92.208523) (xy 172.224599 91.98279) (xy 172.136522 91.770155)
+ (xy 172.008655 91.578789) (xy 171.845911 91.416045) (xy 171.654545 91.288178) (xy 171.44191 91.200101) (xy 171.216177 91.1552)
+ (xy 170.986023 91.1552) (xy 170.76029 91.200101) (xy 170.547655 91.288178) (xy 170.356289 91.416045) (xy 170.193545 91.578789)
+ (xy 170.065678 91.770155) (xy 169.977601 91.98279) (xy 169.9327 92.208523) (xy 168.1263 92.208523) (xy 168.1263 92.188536)
+ (xy 168.089208 92.002062) (xy 168.016449 91.826406) (xy 167.91082 91.668321) (xy 167.776379 91.53388) (xy 167.618294 91.428251)
+ (xy 167.442638 91.355492) (xy 167.256164 91.3184) (xy 167.066036 91.3184) (xy 166.879562 91.355492) (xy 166.703906 91.428251)
+ (xy 166.545821 91.53388) (xy 166.41138 91.668321) (xy 166.305751 91.826406) (xy 166.232992 92.002062) (xy 166.1959 92.188536)
+ (xy 154.6059 92.188536) (xy 154.6059 89.718566) (xy 154.607374 89.7036) (xy 154.601951 89.648536) (xy 166.1959 89.648536)
+ (xy 166.1959 89.838664) (xy 166.232992 90.025138) (xy 166.305751 90.200794) (xy 166.41138 90.358879) (xy 166.545821 90.49332)
+ (xy 166.703906 90.598949) (xy 166.879562 90.671708) (xy 167.066036 90.7088) (xy 167.256164 90.7088) (xy 167.442638 90.671708)
+ (xy 167.618294 90.598949) (xy 167.776379 90.49332) (xy 167.91082 90.358879) (xy 168.016449 90.200794) (xy 168.089208 90.025138)
+ (xy 168.1263 89.838664) (xy 168.1263 89.668523) (xy 169.9327 89.668523) (xy 169.9327 89.898677) (xy 169.977601 90.12441)
+ (xy 170.065678 90.337045) (xy 170.193545 90.528411) (xy 170.356289 90.691155) (xy 170.547655 90.819022) (xy 170.76029 90.907099)
+ (xy 170.986023 90.952) (xy 171.216177 90.952) (xy 171.44191 90.907099) (xy 171.654545 90.819022) (xy 171.845911 90.691155)
+ (xy 172.008655 90.528411) (xy 172.136522 90.337045) (xy 172.224599 90.12441) (xy 172.2695 89.898677) (xy 172.2695 89.668523)
+ (xy 172.224599 89.44279) (xy 172.136522 89.230155) (xy 172.008655 89.038789) (xy 171.845911 88.876045) (xy 171.654545 88.748178)
+ (xy 171.44191 88.660101) (xy 171.216177 88.6152) (xy 170.986023 88.6152) (xy 170.76029 88.660101) (xy 170.547655 88.748178)
+ (xy 170.356289 88.876045) (xy 170.193545 89.038789) (xy 170.065678 89.230155) (xy 169.977601 89.44279) (xy 169.9327 89.668523)
+ (xy 168.1263 89.668523) (xy 168.1263 89.648536) (xy 168.089208 89.462062) (xy 168.016449 89.286406) (xy 167.91082 89.128321)
+ (xy 167.776379 88.99388) (xy 167.618294 88.888251) (xy 167.442638 88.815492) (xy 167.256164 88.7784) (xy 167.066036 88.7784)
+ (xy 166.879562 88.815492) (xy 166.703906 88.888251) (xy 166.545821 88.99388) (xy 166.41138 89.128321) (xy 166.305751 89.286406)
+ (xy 166.232992 89.462062) (xy 166.1959 89.648536) (xy 154.601951 89.648536) (xy 154.601489 89.643849) (xy 154.58406 89.586394)
+ (xy 154.555758 89.533443) (xy 154.517668 89.487032) (xy 154.471257 89.448942) (xy 154.418306 89.42064) (xy 154.360851 89.403211)
+ (xy 154.316066 89.3988) (xy 154.316065 89.3988) (xy 154.3011 89.397326) (xy 154.286134 89.3988) (xy 152.823004 89.3988)
+ (xy 152.776449 89.286406) (xy 152.67082 89.128321) (xy 152.536379 88.99388) (xy 152.378294 88.888251) (xy 152.202638 88.815492)
+ (xy 152.016164 88.7784) (xy 151.826036 88.7784) (xy 151.639562 88.815492) (xy 151.463906 88.888251) (xy 151.305821 88.99388)
+ (xy 151.17138 89.128321) (xy 151.065751 89.286406) (xy 150.992992 89.462062) (xy 150.9559 89.648536) (xy 132.5128 89.648536)
+ (xy 132.529444 89.608356) (xy 132.5536 89.486912) (xy 132.5536 89.363088) (xy 132.529444 89.241644) (xy 132.482059 89.127246)
+ (xy 132.413266 89.024291) (xy 132.325709 88.936734) (xy 132.2298 88.872649) (xy 132.2298 87.229706) (xy 132.55 87.229706)
+ (xy 132.594813 87.225292) (xy 132.637905 87.212221) (xy 132.677618 87.190994) (xy 132.712427 87.162427) (xy 132.740994 87.127618)
+ (xy 132.762221 87.087905) (xy 132.775292 87.044813) (xy 132.779706 87) (xy 132.779706 86) (xy 132.775292 85.955187)
+ (xy 132.762221 85.912095) (xy 132.740994 85.872382) (xy 132.712427 85.837573) (xy 132.677618 85.809006) (xy 132.637905 85.787779)
+ (xy 132.594813 85.774708) (xy 132.55 85.770294) (xy 131.55 85.770294) (xy 131.505187 85.774708) (xy 131.462095 85.787779)
+ (xy 131.422382 85.809006) (xy 131.387573 85.837573) (xy 131.359006 85.872382) (xy 131.337779 85.912095) (xy 131.324708 85.955187)
+ (xy 131.320294 86) (xy 131.320294 87) (xy 131.324708 87.044813) (xy 131.337779 87.087905) (xy 131.359006 87.127618)
+ (xy 131.387573 87.162427) (xy 131.422382 87.190994) (xy 131.462095 87.212221) (xy 131.505187 87.225292) (xy 131.55 87.229706)
+ (xy 131.620201 87.229706) (xy 131.6202 88.872649) (xy 131.524291 88.936734) (xy 131.436734 89.024291) (xy 131.367941 89.127246)
+ (xy 131.320556 89.241644) (xy 131.2964 89.363088) (xy 130.96914 89.363088) (xy 129.4298 87.823749) (xy 129.4298 87.229706)
+ (xy 129.625 87.229706) (xy 129.669813 87.225292) (xy 129.712905 87.212221) (xy 129.752618 87.190994) (xy 129.787427 87.162427)
+ (xy 129.815994 87.127618) (xy 129.837221 87.087905) (xy 129.850292 87.044813) (xy 129.854706 87) (xy 129.854706 86)
+ (xy 129.850292 85.955187) (xy 129.837221 85.912095) (xy 129.815994 85.872382) (xy 129.787427 85.837573) (xy 129.752618 85.809006)
+ (xy 129.712905 85.787779) (xy 129.669813 85.774708) (xy 129.625 85.770294) (xy 128.625 85.770294) (xy 128.580187 85.774708)
+ (xy 128.537095 85.787779) (xy 128.497382 85.809006) (xy 128.462573 85.837573) (xy 128.434006 85.872382) (xy 128.412779 85.912095)
+ (xy 128.399708 85.955187) (xy 128.395294 86) (xy 127.526842 86) (xy 127.898242 85.6286) (xy 135.2964 85.6286)
+ (xy 135.296401 88.473504) (xy 135.303327 88.543822) (xy 135.330693 88.634038) (xy 135.375135 88.717182) (xy 135.434943 88.790058)
+ (xy 135.462402 88.812593) (xy 135.484942 88.840058) (xy 135.557818 88.899866) (xy 135.640962 88.944308) (xy 135.731178 88.971674)
+ (xy 135.801496 88.9786) (xy 137.300228 88.9786) (xy 137.332309 89.017691) (xy 137.443253 89.10874) (xy 137.569828 89.176395)
+ (xy 137.707169 89.218057) (xy 137.814211 89.2286) (xy 138.764211 89.2286) (xy 138.8 89.232125) (xy 138.835789 89.2286)
+ (xy 138.942831 89.218057) (xy 139.080172 89.176395) (xy 139.206747 89.10874) (xy 139.317691 89.017691) (xy 139.340514 88.989881)
+ (xy 140.786287 87.544109) (xy 140.814091 87.521291) (xy 140.90514 87.410347) (xy 140.972795 87.283772) (xy 141.014457 87.146431)
+ (xy 141.018189 87.108536) (xy 150.9559 87.108536) (xy 150.9559 87.298664) (xy 150.992992 87.485138) (xy 151.065751 87.660794)
+ (xy 151.17138 87.818879) (xy 151.305821 87.95332) (xy 151.463906 88.058949) (xy 151.639562 88.131708) (xy 151.826036 88.1688)
+ (xy 152.016164 88.1688) (xy 152.202638 88.131708) (xy 152.378294 88.058949) (xy 152.536379 87.95332) (xy 152.67082 87.818879)
+ (xy 152.776449 87.660794) (xy 152.849208 87.485138) (xy 152.8863 87.298664) (xy 152.8863 87.108536) (xy 152.849208 86.922062)
+ (xy 152.776449 86.746406) (xy 152.67082 86.588321) (xy 152.536379 86.45388) (xy 152.378294 86.348251) (xy 152.202638 86.275492)
+ (xy 152.016164 86.2384) (xy 151.826036 86.2384) (xy 151.639562 86.275492) (xy 151.463906 86.348251) (xy 151.305821 86.45388)
+ (xy 151.17138 86.588321) (xy 151.065751 86.746406) (xy 150.992992 86.922062) (xy 150.9559 87.108536) (xy 141.018189 87.108536)
+ (xy 141.019969 87.090468) (xy 141.028525 87.003601) (xy 141.025 86.967812) (xy 141.025 85.0322) (xy 163.699305 85.0322)
+ (xy 166.211208 87.544104) (xy 166.281214 87.601556) (xy 166.305751 87.660794) (xy 166.41138 87.818879) (xy 166.545821 87.95332)
+ (xy 166.703906 88.058949) (xy 166.879562 88.131708) (xy 167.066036 88.1688) (xy 167.256164 88.1688) (xy 167.442638 88.131708)
+ (xy 167.618294 88.058949) (xy 167.776379 87.95332) (xy 167.91082 87.818879) (xy 168.016449 87.660794) (xy 168.089208 87.485138)
+ (xy 168.1263 87.298664) (xy 168.1263 87.128523) (xy 169.9327 87.128523) (xy 169.9327 87.358677) (xy 169.977601 87.58441)
+ (xy 170.065678 87.797045) (xy 170.193545 87.988411) (xy 170.356289 88.151155) (xy 170.547655 88.279022) (xy 170.76029 88.367099)
+ (xy 170.986023 88.412) (xy 171.216177 88.412) (xy 171.44191 88.367099) (xy 171.654545 88.279022) (xy 171.845911 88.151155)
+ (xy 172.008655 87.988411) (xy 172.136522 87.797045) (xy 172.224599 87.58441) (xy 172.2695 87.358677) (xy 172.2695 87.128523)
+ (xy 172.224599 86.90279) (xy 172.136522 86.690155) (xy 172.008655 86.498789) (xy 171.845911 86.336045) (xy 171.654545 86.208178)
+ (xy 171.44191 86.120101) (xy 171.216177 86.0752) (xy 170.986023 86.0752) (xy 170.76029 86.120101) (xy 170.547655 86.208178)
+ (xy 170.356289 86.336045) (xy 170.193545 86.498789) (xy 170.065678 86.690155) (xy 169.977601 86.90279) (xy 169.9327 87.128523)
+ (xy 168.1263 87.128523) (xy 168.1263 87.108536) (xy 168.089208 86.922062) (xy 168.016449 86.746406) (xy 167.91082 86.588321)
+ (xy 167.776379 86.45388) (xy 167.618294 86.348251) (xy 167.442638 86.275492) (xy 167.256164 86.2384) (xy 167.066036 86.2384)
+ (xy 166.982844 86.254948) (xy 164.541614 83.813719) (xy 164.518791 83.785909) (xy 164.407847 83.69486) (xy 164.281272 83.627205)
+ (xy 164.143931 83.585543) (xy 164.036889 83.575) (xy 164.0011 83.571475) (xy 163.965311 83.575) (xy 140.332189 83.575)
+ (xy 140.2964 83.571475) (xy 140.260611 83.575) (xy 140.153569 83.585543) (xy 140.016228 83.627205) (xy 139.889653 83.69486)
+ (xy 139.778709 83.785909) (xy 139.68766 83.896853) (xy 139.620005 84.023428) (xy 139.578343 84.160769) (xy 139.564275 84.3036)
+ (xy 139.5678 84.339389) (xy 139.567801 86.701803) (xy 138.498205 87.7714) (xy 137.814211 87.7714) (xy 137.707169 87.781943)
+ (xy 137.569828 87.823605) (xy 137.443253 87.89126) (xy 137.332309 87.982309) (xy 137.300228 88.0214) (xy 136.2536 88.0214)
+ (xy 136.2536 86.893013) (xy 137.2714 86.893013) (xy 137.2714 87.006987) (xy 137.293635 87.118772) (xy 137.337251 87.22407)
+ (xy 137.400572 87.318836) (xy 137.481164 87.399428) (xy 137.57593 87.462749) (xy 137.681228 87.506365) (xy 137.793013 87.5286)
+ (xy 137.906987 87.5286) (xy 138.018772 87.506365) (xy 138.12407 87.462749) (xy 138.218836 87.399428) (xy 138.299428 87.318836)
+ (xy 138.362749 87.22407) (xy 138.406365 87.118772) (xy 138.4286 87.006987) (xy 138.4286 86.893013) (xy 138.406365 86.781228)
+ (xy 138.362749 86.67593) (xy 138.299428 86.581164) (xy 138.218836 86.500572) (xy 138.12407 86.437251) (xy 138.018772 86.393635)
+ (xy 137.906987 86.3714) (xy 137.793013 86.3714) (xy 137.681228 86.393635) (xy 137.57593 86.437251) (xy 137.481164 86.500572)
+ (xy 137.400572 86.581164) (xy 137.337251 86.67593) (xy 137.293635 86.781228) (xy 137.2714 86.893013) (xy 136.2536 86.893013)
+ (xy 136.2536 85.173504) (xy 136.255915 85.15) (xy 136.246674 85.056178) (xy 136.219308 84.965962) (xy 136.174866 84.882818)
+ (xy 136.115058 84.809942) (xy 136.042182 84.750134) (xy 135.959038 84.705692) (xy 135.868822 84.678326) (xy 135.798504 84.6714)
+ (xy 135.798503 84.6714) (xy 135.775 84.669085) (xy 135.751496 84.6714) (xy 127.785445 84.6714) (xy 127.939272 84.568616)
+ (xy 128.166116 84.341772) (xy 128.344347 84.075031) (xy 128.467114 83.778645) (xy 128.5297 83.464003) (xy 128.5297 83.143197)
+ (xy 168.5725 83.143197) (xy 168.5725 83.464003) (xy 168.635086 83.778645) (xy 168.757853 84.075031) (xy 168.936084 84.341772)
+ (xy 169.162928 84.568616) (xy 169.429669 84.746847) (xy 169.726055 84.869614) (xy 170.040697 84.9322) (xy 170.361503 84.9322)
+ (xy 170.676145 84.869614) (xy 170.972531 84.746847) (xy 171.239272 84.568616) (xy 171.466116 84.341772) (xy 171.644347 84.075031)
+ (xy 171.767114 83.778645) (xy 171.8297 83.464003) (xy 171.8297 83.143197) (xy 171.767114 82.828555) (xy 171.644347 82.532169)
+ (xy 171.466116 82.265428) (xy 171.239272 82.038584) (xy 170.972531 81.860353) (xy 170.676145 81.737586) (xy 170.361503 81.675)
+ (xy 170.040697 81.675) (xy 169.726055 81.737586) (xy 169.429669 81.860353) (xy 169.162928 82.038584) (xy 168.936084 82.265428)
+ (xy 168.757853 82.532169) (xy 168.635086 82.828555) (xy 168.5725 83.143197) (xy 128.5297 83.143197) (xy 128.467114 82.828555)
+ (xy 128.344347 82.532169) (xy 128.166116 82.265428) (xy 127.939272 82.038584) (xy 127.672531 81.860353) (xy 127.376145 81.737586)
+ (xy 127.061503 81.675) (xy 126.740697 81.675) (xy 126.426055 81.737586) (xy 126.129669 81.860353) (xy 125.862928 82.038584)
+ (xy 125.636084 82.265428) (xy 125.457853 82.532169) (xy 125.335086 82.828555) (xy 125.2725 83.143197) (xy 125.2725 83.464003)
+ (xy 125.335086 83.778645) (xy 125.457853 84.075031) (xy 125.636084 84.341772) (xy 125.862928 84.568616) (xy 126.129669 84.746847)
+ (xy 126.426055 84.869614) (xy 126.740697 84.9322) (xy 127.061503 84.9322) (xy 127.285517 84.887641) (xy 125.646059 86.527099)
+ (xy 125.601234 86.581719) (xy 125.556793 86.664862) (xy 125.529426 86.755079) (xy 125.520186 86.8489) (xy 125.522501 86.872406)
+ (xy 125.5225 91.317176) (xy 125.447655 91.348178) (xy 125.256289 91.476045) (xy 125.093545 91.638789) (xy 124.965678 91.830155)
+ (xy 124.877601 92.04279) (xy 124.8327 92.268523) (xy 123.752301 92.268523) (xy 123.752301 80.254801) (xy 173.249899 80.254801)
+ )
+ )
+ )
+)
diff --git a/Example_Keyboards/T Caschera Keyboard files/Atari-Keyboard_without_number_pad.txt b/Example_Keyboards/T Caschera Keyboard files/Atari-Keyboard_without_number_pad.txt
new file mode 100644
index 0000000..86ae49b
--- /dev/null
+++ b/Example_Keyboards/T Caschera Keyboard files/Atari-Keyboard_without_number_pad.txt
@@ -0,0 +1,85 @@
+MODIFIERKEY_LEFT_CTRL 6 14
+MODIFIERKEY_RIGHT_CTRL
+MODIFIERKEY_LEFT_SHIFT 5 13
+MODIFIERKEY_RIGHT_SHIFT 4 12
+MODIFIERKEY_LEFT_ALT 7 15
+MODIFIERKEY_RIGHT_ALT
+MODIFIERKEY_GUI 8 16
+MODIFIERKEY_FN 2 10
+KEY_A 1 10
+KEY_B 1 14
+KEY_C 1 16
+KEY_D 8 11
+KEY_E 6 13
+KEY_F 3 16
+KEY_G 4 13
+KEY_H 3 15
+KEY_I 5 15
+KEY_J 3 14
+KEY_K 3 9
+KEY_L 4 9
+KEY_M 1 12
+KEY_N 1 13
+KEY_O 7 12
+KEY_P 4 15
+KEY_Q 7 14
+KEY_R 6 12
+KEY_S 4 16
+KEY_T 6 11
+KEY_U 13 7
+KEY_V 1 15
+KEY_W 6 15
+KEY_X 2 9
+KEY_Y 6 9
+KEY_Z 2 15
+KEY_TILDE
+KEY_1 8 14
+KEY_2 8 13
+KEY_3 8 12
+KEY_4 4 14
+KEY_5 10 8
+KEY_6 8 9
+KEY_7 7 11
+KEY_8 3 10
+KEY_9 7 9
+KEY_0 5 16
+KEY_MINUS 5 14
+KEY_EQUAL 2 11
+KEY_BACKSPACE 7 10
+KEY_ESC 1 9
+KEY_F1 FN 8 14
+KEY_F2 FN 8 13
+KEY_F3 FN 8 12
+KEY_F4 FN 4 14
+KEY_F5 FN 10 8
+KEY_F6 FN 8 9
+KEY_F7 FN 7 11
+KEY_F8 FN 3 10
+KEY_F9 FN 7 9
+KEY_F10 FN 5 16
+KEY_F11
+KEY_F12
+KEY_INSERT
+KEY_DELETE 7 16
+KEY_RIGHT 3 12
+KEY_LEFT 3 13
+KEY_UP 5 11
+KEY_DOWN 4 11
+KEY_MENU
+KEY_SLASH 1 11
+KEY_PERIOD 2 12
+KEY_COMMA 4 10
+KEY_SEMICOLON 2 13
+KEY_QUOTE
+KEY_ENTER 6 10
+KEY_LEFT_BRACE 5 12
+KEY_RIGHT_BRACE 5 9
+KEY_BACKSLASH 2 16
+KEY_CAPS_LOCK 3 11
+KEY_TAB 6 16
+KEY_SPACE 2 14
+KEY_HOME FN 3 13
+KEY_END FN 3 12
+KEY_PAGE_UP FN 5 11
+KEY_PAGE_DOWN FN 4 11
+KEY_NUM_LOCK
diff --git a/Example_Keyboards/T Caschera Keyboard files/Atari_Portfolio and Teensy.jpg b/Example_Keyboards/T Caschera Keyboard files/Atari_Portfolio and Teensy.jpg
new file mode 100644
index 0000000..77dfb71
Binary files /dev/null and b/Example_Keyboards/T Caschera Keyboard files/Atari_Portfolio and Teensy.jpg differ
diff --git a/Example_Keyboards/T Caschera Keyboard files/HP Jornada 3D Printed case.jpg b/Example_Keyboards/T Caschera Keyboard files/HP Jornada 3D Printed case.jpg
new file mode 100644
index 0000000..3af9eee
Binary files /dev/null and b/Example_Keyboards/T Caschera Keyboard files/HP Jornada 3D Printed case.jpg differ
diff --git a/Example_Keyboards/T Caschera Keyboard files/HP Jornada and Teensy.jpg b/Example_Keyboards/T Caschera Keyboard files/HP Jornada and Teensy.jpg
new file mode 100644
index 0000000..3820725
Binary files /dev/null and b/Example_Keyboards/T Caschera Keyboard files/HP Jornada and Teensy.jpg differ
diff --git a/Example_Keyboards/T Caschera Keyboard files/atari_teensy_LC.ino b/Example_Keyboards/T Caschera Keyboard files/atari_teensy_LC.ino
new file mode 100644
index 0000000..be52763
--- /dev/null
+++ b/Example_Keyboards/T Caschera Keyboard files/atari_teensy_LC.ino
@@ -0,0 +1,349 @@
+/* Copyright 2018 Frank Adams
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+ http://www.apache.org/licenses/LICENSE-2.0
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+// This software implements a Sony Vaio PCG-K25 Laptop Keyboard Controller using a Teensy LC on
+// a daughterboard with a 24 pin FPC connector. The keyboard part number is KFRMBA151B.
+// This routine uses the Teensyduino "Micro-Manager Method" to send Normal and Modifier
+// keys over USB. Multi-media keys are are sent with keyboard press and release functions.
+// Description of Teensyduino keyboard functions is at www.pjrc.com/teensy/td_keyboard.html
+//
+// Revision History
+// Initial Release Nov 15, 2018
+// Rev 1 July 16, 2019 - check if slots are full when detecting a key press
+//
+#define MODIFIERKEY_FN 0x8f // give Fn key a HID code
+#define CAPS_LED 13 // Teensy LED shows Caps-Lock
+//
+const byte rows_max = 8; // sets the number of rows in the matrix
+const byte cols_max = 8; // sets the number of columns in the matrix
+//
+// Load the normal key matrix with the Teensyduino key names described at www.pjrc.com/teensy/td_keyboard.html
+// A zero indicates no normal key at that location.
+int normal[rows_max][cols_max] = {
+{KEY_ESC,KEY_A,KEY_SLASH,KEY_M,KEY_N,KEY_B,KEY_V,KEY_C},
+{KEY_X,0,KEY_EQUAL,KEY_PERIOD,KEY_SEMICOLON,KEY_SPACE,KEY_Z,KEY_BACKSLASH},
+{KEY_K,KEY_8,KEY_CAPS_LOCK,KEY_RIGHT,KEY_LEFT,KEY_J,KEY_H,KEY_F},
+{KEY_L,KEY_COMMA,KEY_DOWN,0,KEY_G,KEY_4,KEY_P,KEY_S},
+{KEY_RIGHT_BRACE,0,KEY_UP,KEY_LEFT_BRACE,0,KEY_MINUS,KEY_I,KEY_0},
+{KEY_Y,KEY_ENTER,KEY_T,KEY_R,KEY_E,0,KEY_W,KEY_TAB},
+{KEY_9,KEY_BACKSPACE,KEY_7,KEY_O,KEY_U,KEY_Q,0,KEY_DELETE},
+{KEY_6,KEY_5,KEY_D,KEY_3,KEY_2,KEY_1,0,0}
+};
+// Load the modifier key matrix with key names at the correct row-column location.
+// A zero indicates no modifier key at that location.
+int modifier[rows_max][cols_max] = {
+{0,0,0,0,0,0,0,0},
+{0,MODIFIERKEY_FN,0,0,0,0,0,0},
+{0,0,0,0,0,0,0,0},
+{0,0,0,MODIFIERKEY_RIGHT_SHIFT,0,0,0,0},
+{0,0,0,0,MODIFIERKEY_LEFT_SHIFT,0,0,0},
+{0,0,0,0,0,MODIFIERKEY_LEFT_CTRL,0,0},
+{0,0,0,0,0,0,MODIFIERKEY_LEFT_ALT,0},
+{0,0,0,0,0,0,0,MODIFIERKEY_GUI}
+};
+// Load the media key matrix with key names at the correct row-column location.
+// A zero indicates no media key at that location.
+int media[rows_max][cols_max] = {
+{0,0,0,0,0,0,0,0},
+{0,0,0,0,0,0,0,0},
+{0,0,0,0,0,0,0,0},
+{0,0,0,0,0,0,0,0},
+{0,0,0,0,0,0,0,0},
+{0,0,0,0,0,0,0,0},
+{0,0,0,0,0,0,0,0},
+{0,0,0,0,0,0,0,0}
+};
+// Initialize the old_key matrix with one's.
+// 1 = key not pressed, 0 = key is pressed
+boolean old_key[rows_max][cols_max] = {
+{1,1,1,1,1,1,1,1},
+{1,1,1,1,1,1,1,1},
+{1,1,1,1,1,1,1,1},
+{1,1,1,1,1,1,1,1},
+{1,1,1,1,1,1,1,1},
+{1,1,1,1,1,1,1,1},
+{1,1,1,1,1,1,1,1},
+{1,1,1,1,1,1,1,1}
+};
+//
+// Define the Teensy LC I/O numbers (translated from the FPC pin #)
+// Row FPC pin # 01,02,03,04,05,08,09,10,15,16,19,20,21,22,23,24
+// Teensy I/O # 23,00,22,01,24,03,25,04,18,07,16,09,15,10,14,11
+int Row_IO[rows_max] = {23, 0, 22, 1, 24, 2, 21, 3}; // Teensy LC I/O numbers for rows
+//
+// Column FPC pin # 06,07,11,12,13,14,17,18
+// Teensy I/O # 02,21,20,05,19,06,17,08
+int Col_IO[cols_max] = {25, 4, 20, 5, 19, 6, 18, 7}; // Teensy LC I/O numbers for columns
+
+// Declare variables that will be used by functions
+boolean slots_full = LOW; // Goes high when slots 1 thru 6 contain normal keys
+// slot 1 thru slot 6 hold the normal key values to be sent over USB.
+int slot1 = 0; //value of 0 means the slot is empty and can be used.
+int slot2 = 0;
+int slot3 = 0;
+int slot4 = 0;
+int slot5 = 0;
+int slot6 = 0;
+//
+int mod_shift_l = 0; // These variables are sent over USB as modifier keys.
+int mod_shift_r = 0; // Each is either set to 0 or MODIFIER_ ...
+int mod_ctrl_l = 0;
+int mod_ctrl_r = 0;
+int mod_alt_l = 0;
+int mod_alt_r = 0;
+int mod_gui = 0;
+//
+// Function to load the key name into the first available slot
+void load_slot(int key) {
+ if (!slot1) {
+ slot1 = key;
+ }
+ else if (!slot2) {
+ slot2 = key;
+ }
+ else if (!slot3) {
+ slot3 = key;
+ }
+ else if (!slot4) {
+ slot4 = key;
+ }
+ else if (!slot5) {
+ slot5 = key;
+ }
+ else if (!slot6) {
+ slot6 = key;
+ }
+ if (!slot1 || !slot2 || !slot3 || !slot4 || !slot5 || !slot6) {
+ slots_full = LOW; // slots are not full
+ }
+ else {
+ slots_full = HIGH; // slots are full
+ }
+}
+//
+// Function to clear the slot that contains the key name
+void clear_slot(int key) {
+ if (slot1 == key) {
+ slot1 = 0;
+ }
+ else if (slot2 == key) {
+ slot2 = 0;
+ }
+ else if (slot3 == key) {
+ slot3 = 0;
+ }
+ else if (slot4 == key) {
+ slot4 = 0;
+ }
+ else if (slot5 == key) {
+ slot5 = 0;
+ }
+ else if (slot6 == key) {
+ slot6 = 0;
+ }
+ if (!slot1 || !slot2 || !slot3 || !slot4 || !slot5 || !slot6) {
+ slots_full = LOW; // slots are not full
+ }
+ else {
+ slots_full = HIGH; // slots are full
+ }
+}
+//
+// Function to load the modifier key name into the appropriate mod variable
+void load_mod(int m_key) {
+ if (m_key == MODIFIERKEY_LEFT_SHIFT) {
+ mod_shift_l = m_key;
+ }
+ else if (m_key == MODIFIERKEY_RIGHT_SHIFT) {
+ mod_shift_r = m_key;
+ }
+ else if (m_key == MODIFIERKEY_LEFT_CTRL) {
+ mod_ctrl_l = m_key;
+ }
+ else if (m_key == MODIFIERKEY_RIGHT_CTRL) {
+ mod_ctrl_r = m_key;
+ }
+ else if (m_key == MODIFIERKEY_LEFT_ALT) {
+ mod_alt_l = m_key;
+ }
+ else if (m_key == MODIFIERKEY_RIGHT_ALT) {
+ mod_alt_r = m_key;
+ }
+ else if (m_key == MODIFIERKEY_GUI) {
+ mod_gui = m_key;
+ }
+}
+//
+// Function to load 0 into the appropriate mod variable
+void clear_mod(int m_key) {
+ if (m_key == MODIFIERKEY_LEFT_SHIFT) {
+ mod_shift_l = 0;
+ }
+ else if (m_key == MODIFIERKEY_RIGHT_SHIFT) {
+ mod_shift_r = 0;
+ }
+ else if (m_key == MODIFIERKEY_LEFT_CTRL) {
+ mod_ctrl_l = 0;
+ }
+ else if (m_key == MODIFIERKEY_RIGHT_CTRL) {
+ mod_ctrl_r = 0;
+ }
+ else if (m_key == MODIFIERKEY_LEFT_ALT) {
+ mod_alt_l = 0;
+ }
+ else if (m_key == MODIFIERKEY_RIGHT_ALT) {
+ mod_alt_r = 0;
+ }
+ else if (m_key == MODIFIERKEY_GUI) {
+ mod_gui = 0;
+ }
+}
+//
+// Function to send the modifier keys over usb
+void send_mod() {
+ Keyboard.set_modifier(mod_shift_l | mod_shift_r | mod_ctrl_l | mod_ctrl_r | mod_alt_l | mod_alt_r | mod_gui);
+ Keyboard.send_now();
+}
+//
+// Function to send the normal keys in the 6 slots over usb
+void send_normals() {
+ Keyboard.set_key1(slot1);
+ Keyboard.set_key2(slot2);
+ Keyboard.set_key3(slot3);
+ Keyboard.set_key4(slot4);
+ Keyboard.set_key5(slot5);
+ Keyboard.set_key6(slot6);
+ Keyboard.send_now();
+}
+//
+// Function to set a pin to high impedance (acts like open drain output)
+void go_z(int pin)
+{
+ pinMode(pin, INPUT);
+ digitalWrite(pin, HIGH);
+}
+//
+// Function to set a pin as an input with a pullup
+void go_pu(int pin)
+{
+ pinMode(pin, INPUT_PULLUP);
+ digitalWrite(pin, HIGH);
+}
+//
+// Function to send a pin to a logic low
+void go_0(int pin)
+{
+ pinMode(pin, OUTPUT);
+ digitalWrite(pin, LOW);
+}
+//
+// Function to send a pin to a logic high
+void go_1(int pin)
+{
+ pinMode(pin, OUTPUT);
+ digitalWrite(pin, HIGH);
+}
+//
+//----------------------------------Setup-------------------------------------------
+void setup() {
+ for (int a = 0; a < cols_max; a++) { // loop thru all column pins
+ go_pu(Col_IO[a]); // set each column pin as an input with a pullup
+ }
+//
+ for (int b = 0; b < rows_max; b++) { // loop thru all row pins
+ go_z(Row_IO[b]); // set each row pin as a floating output
+ }
+}
+//
+boolean Fn_pressed = HIGH; // Initialize Fn key to HIGH = "not pressed"
+extern volatile uint8_t keyboard_leds; // 8 bits sent from Pi to Teensy that give keyboard LED status. Caps lock is bit D1.
+//
+//---------------------------------Main Loop---------------------------------------------
+//
+void loop() {
+// Scan keyboard matrix with an outer loop that drives each row low and an inner loop that reads every column (with pull ups).
+// The routine looks at each key's present state (by reading the column input pin) and also the previous state from the last scan
+// that was 30msec ago. The status of a key that was just pressed or just released is sent over USB and the state is saved in the old_key matrix.
+// The keyboard keys will read as logic low if they are pressed (negative logic).
+// The old_key matrix also uses negative logic (low=pressed).
+//
+ for (int x = 0; x < rows_max; x++) { // loop thru the rows
+ go_0(Row_IO[x]); // Activate Row (send it low)
+ delayMicroseconds(10); // give the row time to go low and settle out
+ for (int y = 0; y < cols_max; y++) { // loop thru the columns
+// **********Modifier keys including the Fn special case
+ if (modifier[x][y] != 0) { // check if modifier key exists at this location in the array (a non-zero value)
+ if (!digitalRead(Col_IO[y]) && (old_key[x][y])) { // Read column to see if key is low (pressed) and was previously not pressed
+ if (modifier[x][y] != MODIFIERKEY_FN) { // Exclude Fn modifier key
+ load_mod(modifier[x][y]); // function reads which modifier key is pressed and loads it into the appropriate mod_... variable
+ send_mod(); // function sends the state of all modifier keys over usb including the one that just got pressed
+ old_key[x][y] = LOW; // Save state of key as "pressed"
+ }
+ else {
+ Fn_pressed = LOW; // Fn status variable is active low
+ old_key[x][y] = LOW; // old_key state is "pressed" (active low)
+ }
+ }
+ else if (digitalRead(Col_IO[y]) && (!old_key[x][y])) { //check if key is not pressed and was previously pressed
+ if (modifier[x][y] != MODIFIERKEY_FN) { // Exclude Fn modifier key
+ clear_mod(modifier[x][y]); // function reads which modifier key was released and loads 0 into the appropriate mod_... variable
+ send_mod(); // function sends all mod's over usb including the one that just released
+ old_key[x][y] = HIGH; // Save state of key as "not pressed"
+ }
+ else {
+ Fn_pressed = HIGH; // Fn is no longer active
+ old_key[x][y] = HIGH; // old_key state is "not pressed"
+ }
+ }
+ }
+// ***********end of modifier section
+//
+// ***********Normal keys and media keys in this section
+ else if ((normal[x][y] != 0) || (media[x][y] != 0)) { // check if normal or media key exists at this location in the array
+ if (!digitalRead(Col_IO[y]) && (old_key[x][y]) && (!slots_full)) { // check if key pressed and not previously pressed and slots not full
+ old_key[x][y] = LOW; // Save state of key as "pressed"
+ if (Fn_pressed) { // Fn_pressed is active low so it is not pressed and normal key needs to be sent
+ load_slot(normal[x][y]); //update first available slot with normal key name
+ send_normals(); // send all slots over USB including the key that just got pressed
+ }
+ else if (media[x][y] != 0) { // Fn is pressed so send media if a key exists in the matrix
+ Keyboard.press(media[x][y]); // media key is sent using keyboard press function per PJRC
+ delay(5); // delay 5 milliseconds before releasing to make sure it gets sent over USB
+ Keyboard.release(media[x][y]); // send media key release
+ }
+ }
+ else if (digitalRead(Col_IO[y]) && (!old_key[x][y])) { //check if key is not pressed, but was previously pressed
+ old_key[x][y] = HIGH; // Save state of key as "not pressed"
+ if (Fn_pressed) { // Fn is not pressed
+ clear_slot(normal[x][y]); //clear the slot that contains the normal key name
+ send_normals(); // send all slots over USB including the key that was just released
+ }
+ }
+ }
+// **************end of normal and media key section
+//
+ }
+ go_z(Row_IO[x]); // De-activate Row (send it to hi-z)
+ }
+//
+// **********keyboard scan complete
+//
+// Turn on the LED on the Teensy for Caps Lock based on bit 1 in the keyboard_leds variable controlled by the USB host computer
+//
+ if (keyboard_leds & 1<<1) { // mask off all bits but D1 and test if set
+ go_1(CAPS_LED); // turn on the LED
+ }
+ else {
+ go_0(CAPS_LED); // turn off the LED
+ }
+//
+ delay(25); // The overall keyboard scanning rate is about 30ms
+}
diff --git a/Example_Keyboards/T Caschera Keyboard files/hp_jornada_teensy_lc.ino b/Example_Keyboards/T Caschera Keyboard files/hp_jornada_teensy_lc.ino
new file mode 100644
index 0000000..7e435d1
--- /dev/null
+++ b/Example_Keyboards/T Caschera Keyboard files/hp_jornada_teensy_lc.ino
@@ -0,0 +1,375 @@
+/* Copyright 2018 Frank Adams
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+ http://www.apache.org/licenses/LICENSE-2.0
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+// This software implements a Dell Inspiron 1525 Laptop Keyboard Controller using a Teensy LC on
+// a daughterboard with a 25 pin FPC connector. The keyboard part number is D9K01.
+// This routine uses the Teensyduino "Micro-Manager Method" to send Normal and Modifier
+// keys over USB. Multi-media keys are sent with keyboard press and release functions.
+// Description of Teensyduino keyboard functions is at www.pjrc.com/teensy/td_keyboard.html
+//
+// Revision History
+// Initial Release Nov 15, 2018
+//
+//
+#define MODIFIERKEY_FN 0x8f // give Fn key a HID code
+#define KEY_CURLEY_L 0xb8 // define Curley Braces HID codes, don't work
+#define KEY_CURLEY_R 0xb9
+#define KEY_TILDENEW 0x7e
+#define KEY_BPND 0x9c //doesn't work
+#define KEY_EURO 0x20ac //doesn't work
+#define CAPS_LED 13 // Teensy LED shows Caps-Lock
+//
+const byte rows_max = 14; // sets the number of rows in the matrix
+const byte cols_max = 9; // sets the number of columns in the matrix
+//
+// Load the normal key matrix with the Teensyduino key names described at www.pjrc.com/teensy/td_keyboard.html
+// A zero indicates no normal key at that location.
+//
+int normal[rows_max][cols_max] = {
+ {0,0,0,0,0,0,0,0,0},
+ {0,KEY_EQUAL,0,KEY_ENTER,0,KEY_F11,0,0,KEY_BACKSPACE},
+ {0,KEY_MINUS,0,KEY_QUOTE,KEY_RIGHT,KEY_F10,0,0,KEY_BACKSLASH},
+ {0,KEY_0,0,0,KEY_DOWN,KEY_F9,KEY_SEMICOLON,KEY_UP,KEY_P},
+ {0,0,0,0,0,0,0,0,0},
+ {0,KEY_9,KEY_DELETE,KEY_PERIOD,KEY_LEFT,KEY_F8,KEY_L,0,KEY_O},
+ {0,KEY_8,KEY_SLASH,KEY_COMMA,0,KEY_F7,KEY_K,0,KEY_I},
+ {0,KEY_7,0,KEY_M,0,KEY_F6,KEY_J,0,KEY_U},
+ {0,KEY_6,0,KEY_N,0,KEY_F5,KEY_H,0,KEY_Y},
+ {0,KEY_5,0,KEY_B,0,KEY_F4,KEY_G,0,KEY_T},
+ {0,KEY_4,KEY_SPACE,KEY_V,0,KEY_F3,KEY_F,0,KEY_R},
+ {0,KEY_3,0,KEY_C,0,KEY_F2,KEY_D,0,KEY_E},
+ {0,KEY_2,0,KEY_X,0,KEY_F1,KEY_S,0,KEY_W},
+ {0,KEY_1,0,KEY_Z,0,KEY_ESC,KEY_A,KEY_TAB,KEY_Q}
+};
+// Load the modifier key matrix with key names at the correct row-column location.
+// A zero indicates no modifier key at that location.
+int modifier[rows_max][cols_max] = {
+ {0,0,0,0,0,0,0,0,0},
+ {0,0,0,0,0,0,0,MODIFIERKEY_RIGHT_SHIFT,0},
+ {0,0,0,0,0,0,0,0,0},
+ {0,0,0,0,0,0,0,0,0},
+ {0,0,0,0,0,0,0,0,0},
+ {0,0,0,0,0,0,0,0,0},
+ {0,0,0,0,0,0,0,0,0},
+ {0,0,0,0,0,0,0,0,0},
+ {0,0,0,0,MODIFIERKEY_FN,0,0,0,0},
+ {0,0,0,0,MODIFIERKEY_LEFT_ALT,0,0,0,0},
+ {0,0,0,0,0,0,0,0,0},
+ {0,0,0,0,0,0,0,MODIFIERKEY_LEFT_SHIFT,0},
+ {0,0,MODIFIERKEY_CTRL,0,0,0,0,0,0},
+ {0,0,MODIFIERKEY_GUI,0,0,0,0,0,0}
+};
+// Load the media key matrix with Fn key names at the correct row-column location.
+// A zero indicates no media key at that location.
+int media[rows_max][cols_max] = {
+ {KEY_SYSTEM_POWER_DOWN,0,0,0,0,0,0,0,0},
+ {0,0,0,0,0,0,0,0,0},
+ {0,0,0,KEY_RIGHT_BRACE,KEY_END,0,0,0,0},
+ {0,0,0,0,KEY_PAGE_DOWN,0,KEY_LEFT_BRACE,KEY_PAGE_UP,0},
+ {0,0,0,0,0,0,0,0,0},
+ {0,0,0,0,KEY_HOME,0,0,0,0},
+ {0,0,0,0,0,0,0,0,0},
+ {0,0,0,0,0,0,0,0,0},
+ {0,0,0,0,0,0,0,0,0},
+ {0,0,0,0,0,0,0,0,0},
+ {0,KEY_EURO,0,0,0,0,0,0,0},
+ {0,KEY_BPND,0,0,0,0,0,0,0},
+ {0,KEY_TILDE,0,0,0,0,0,0,0},
+ {0,KEY_TILDENEW,0,0,0,0,0,KEY_CAPS_LOCK,0}
+};
+// Initialize the old_key matrix with one's.
+// 1 = key not pressed, 0 = key is pressed
+boolean old_key[rows_max][cols_max] = {
+ {1,1,1,1,1,1,1,1,1},
+ {1,1,1,1,1,1,1,1,1},
+ {1,1,1,1,1,1,1,1,1},
+ {1,1,1,1,1,1,1,1,1},
+ {1,1,1,1,1,1,1,1,1},
+ {1,1,1,1,1,1,1,1,1},
+ {1,1,1,1,1,1,1,1,1},
+ {1,1,1,1,1,1,1,1,1},
+ {1,1,1,1,1,1,1,1,1},
+ {1,1,1,1,1,1,1,1,1},
+ {1,1,1,1,1,1,1,1,1},
+ {1,1,1,1,1,1,1,1,1},
+ {1,1,1,1,1,1,1,1,1},
+ {1,1,1,1,1,1,1,1,1}
+};
+//
+// Define the Teensy LC I/O numbers (translated from the FPC pin #)
+// Row FPC pin # 01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,16,17
+// Teensy I/O # 23,00,22,01,24,02,21,03,25,04,20,05,19,06,18,07,17
+int Row_IO[rows_max] = {20,5,19,6,18,7,17,8,16,9,15,10,14,11}; // Teensy LC I/O numbers for rows
+//
+// Column FPC pin # 18,19,20,21,22,23,24,25
+// Teensy I/O # 08,16,09,15,10,14,11,26
+int Col_IO[cols_max] = {23,0,22,1,24,2,21,3,25}; // Teensy LC I/O numbers for columns
+
+
+// Declare variables that will be used by functions
+boolean slots_full = LOW; // Goes high when slots 1 thru 6 contain normal keys
+// slot 1 thru slot 6 hold the normal key values to be sent over USB.
+int slot1 = 0; //value of 0 means the slot is empty and can be used.
+int slot2 = 0;
+int slot3 = 0;
+int slot4 = 0;
+int slot5 = 0;
+int slot6 = 0;
+//
+int mod_shift_l = 0; // These variables are sent over USB as modifier keys.
+int mod_shift_r = 0; // Each is either set to 0 or MODIFIER_ ...
+int mod_ctrl_l = 0;
+int mod_ctrl_r = 0;
+int mod_alt_l = 0;
+int mod_alt_r = 0;
+int mod_gui = 0;
+//
+// Function to load the key name into the first available slot
+void load_slot(int key) {
+ if (!slot1) {
+ slot1 = key;
+ }
+ else if (!slot2) {
+ slot2 = key;
+ }
+ else if (!slot3) {
+ slot3 = key;
+ }
+ else if (!slot4) {
+ slot4 = key;
+ }
+ else if (!slot5) {
+ slot5 = key;
+ }
+ else if (!slot6) {
+ slot6 = key;
+ }
+ if (!slot1 || !slot2 || !slot3 || !slot4 || !slot5 || !slot6) {
+ slots_full = LOW; // slots are not full
+ }
+ else {
+ slots_full = HIGH; // slots are full
+ }
+}
+//
+// Function to clear the slot that contains the key name
+void clear_slot(int key) {
+ if (slot1 == key) {
+ slot1 = 0;
+ }
+ else if (slot2 == key) {
+ slot2 = 0;
+ }
+ else if (slot3 == key) {
+ slot3 = 0;
+ }
+ else if (slot4 == key) {
+ slot4 = 0;
+ }
+ else if (slot5 == key) {
+ slot5 = 0;
+ }
+ else if (slot6 == key) {
+ slot6 = 0;
+ }
+ slots_full = LOW;
+}
+//
+// Function to load the modifier key name into the appropriate mod variable
+void load_mod(int m_key) {
+ if (m_key == MODIFIERKEY_LEFT_SHIFT) {
+ mod_shift_l = m_key;
+ }
+ else if (m_key == MODIFIERKEY_RIGHT_SHIFT) {
+ mod_shift_r = m_key;
+ }
+ else if (m_key == MODIFIERKEY_LEFT_CTRL) {
+ mod_ctrl_l = m_key;
+ }
+ else if (m_key == MODIFIERKEY_RIGHT_CTRL) {
+ mod_ctrl_r = m_key;
+ }
+ else if (m_key == MODIFIERKEY_LEFT_ALT) {
+ mod_alt_l = m_key;
+ }
+ else if (m_key == MODIFIERKEY_RIGHT_ALT) {
+ mod_alt_r = m_key;
+ }
+ else if (m_key == MODIFIERKEY_GUI) {
+ mod_gui = m_key;
+ }
+}
+//
+// Function to load 0 into the appropriate mod variable
+void clear_mod(int m_key) {
+ if (m_key == MODIFIERKEY_LEFT_SHIFT) {
+ mod_shift_l = 0;
+ }
+ else if (m_key == MODIFIERKEY_RIGHT_SHIFT) {
+ mod_shift_r = 0;
+ }
+ else if (m_key == MODIFIERKEY_LEFT_CTRL) {
+ mod_ctrl_l = 0;
+ }
+ else if (m_key == MODIFIERKEY_RIGHT_CTRL) {
+ mod_ctrl_r = 0;
+ }
+ else if (m_key == MODIFIERKEY_LEFT_ALT) {
+ mod_alt_l = 0;
+ }
+ else if (m_key == MODIFIERKEY_RIGHT_ALT) {
+ mod_alt_r = 0;
+ }
+ else if (m_key == MODIFIERKEY_GUI) {
+ mod_gui = 0;
+ }
+}
+//
+// Function to send the modifier keys over usb
+void send_mod() {
+ Keyboard.set_modifier(mod_shift_l | mod_shift_r | mod_ctrl_l | mod_ctrl_r | mod_alt_l | mod_alt_r | mod_gui);
+ Keyboard.send_now();
+}
+//
+// Function to send the normal keys in the 6 slots over usb
+void send_normals() {
+ Keyboard.set_key1(slot1);
+ Keyboard.set_key2(slot2);
+ Keyboard.set_key3(slot3);
+ Keyboard.set_key4(slot4);
+ Keyboard.set_key5(slot5);
+ Keyboard.set_key6(slot6);
+ Keyboard.send_now();
+}
+//
+// Function to set a pin to high impedance (acts like open drain output)
+void go_z(int pin)
+{
+ pinMode(pin, INPUT);
+ digitalWrite(pin, HIGH);
+}
+//
+// Function to set a pin as an input with a pullup
+void go_pu(int pin)
+{
+ pinMode(pin, INPUT_PULLUP);
+ digitalWrite(pin, HIGH);
+}
+//
+// Function to send a pin to a logic low
+void go_0(int pin)
+{
+ pinMode(pin, OUTPUT);
+ digitalWrite(pin, LOW);
+}
+//
+// Function to send a pin to a logic high
+void go_1(int pin)
+{
+ pinMode(pin, OUTPUT);
+ digitalWrite(pin, HIGH);
+}
+//
+//----------------------------------Setup-------------------------------------------
+void setup() {
+ for (int a = 0; a < cols_max; a++) { // loop thru all column pins
+ go_pu(Col_IO[a]); // set each column pin as an input with a pullup
+ }
+//
+ for (int b = 0; b < rows_max; b++) { // loop thru all row pins
+ go_z(Row_IO[b]); // set each row pin as a floating output
+ }
+}
+//
+boolean Fn_pressed = HIGH; // Initialize Fn key to HIGH = "not pressed"
+extern volatile uint8_t keyboard_leds; // 8 bits sent from Pi to Teensy that give keyboard LED status. Caps lock is bit D1.
+//
+//---------------------------------Main Loop---------------------------------------------
+//
+void loop() {
+// Scan keyboard matrix with an outer loop that drives each row low and an inner loop that reads every column (with pull ups).
+// The routine looks at each key's present state (by reading the column input pin) and also the previous state from the last scan
+// that was 30msec ago. The status of a key that was just pressed or just released is sent over USB and the state is saved in the old_key matrix.
+// The keyboard keys will read as logic low if they are pressed (negative logic).
+// The old_key matrix also uses negative logic (low=pressed).
+//
+ for (int x = 0; x < rows_max; x++) { // loop thru the rows
+ go_0(Row_IO[x]); // Activate Row (send it low)
+ delayMicroseconds(10); // give the row time to go low and settle out
+ for (int y = 0; y < cols_max; y++) { // loop thru the columns
+// **********Modifier keys including the Fn special case
+ if (modifier[x][y] != 0) { // check if modifier key exists at this location in the array (a non-zero value)
+ if (!digitalRead(Col_IO[y]) && (old_key[x][y])) { // Read column to see if key is low (pressed) and was previously not pressed
+ if (modifier[x][y] != MODIFIERKEY_FN) { // Exclude Fn modifier key
+ load_mod(modifier[x][y]); // function reads which modifier key is pressed and loads it into the appropriate mod_... variable
+ send_mod(); // function sends the state of all modifier keys over usb including the one that just got pressed
+ old_key[x][y] = LOW; // Save state of key as "pressed"
+ }
+ else {
+ Fn_pressed = LOW; // Fn status variable is active low
+ old_key[x][y] = LOW; // old_key state is "pressed" (active low)
+ }
+ }
+ else if (digitalRead(Col_IO[y]) && (!old_key[x][y])) { //check if key is not pressed and was previously pressed
+ if (modifier[x][y] != MODIFIERKEY_FN) { // Exclude Fn modifier key
+ clear_mod(modifier[x][y]); // function reads which modifier key was released and loads 0 into the appropriate mod_... variable
+ send_mod(); // function sends all mod's over usb including the one that just released
+ old_key[x][y] = HIGH; // Save state of key as "not pressed"
+ }
+ else {
+ Fn_pressed = HIGH; // Fn is no longer active
+ old_key[x][y] = HIGH; // old_key state is "not pressed"
+ }
+ }
+ }
+// ***********end of modifier section
+//
+// ***********Normal keys and media keys in this section
+ else if ((normal[x][y] != 0) || (media[x][y] != 0)) { // check if normal or media key exists at this location in the array
+ if (!digitalRead(Col_IO[y]) && (old_key[x][y])) { // check if key is pressed and was not previously pressed
+ old_key[x][y] = LOW; // Save state of key as "pressed"
+ if (Fn_pressed) { // Fn_pressed is active low so it is not pressed and normal key needs to be sent
+ load_slot(normal[x][y]); //update first available slot with normal key name
+ send_normals(); // send all slots over USB including the key that just got pressed
+ }
+ else if (media[x][y] != 0) { // Fn is pressed so send media if a key exists in the matrix
+ Keyboard.press(media[x][y]); // media key is sent using keyboard press function per PJRC
+ delay(5); // delay 5 milliseconds before releasing to make sure it gets sent over USB
+ Keyboard.release(media[x][y]); // send media key release
+ }
+ }
+ else if (digitalRead(Col_IO[y]) && (!old_key[x][y])) { //check if key is not pressed, but was previously pressed
+ old_key[x][y] = HIGH; // Save state of key as "not pressed"
+ if (Fn_pressed) { // Fn is not pressed
+ clear_slot(normal[x][y]); //clear the slot that contains the normal key name
+ send_normals(); // send all slots over USB including the key that was just released
+ }
+ }
+ }
+// **************end of normal and media key section
+//
+ }
+ go_z(Row_IO[x]); // De-activate Row (send it to hi-z)
+ }
+//
+// **********keyboard scan complete
+//
+// Turn on the LED on the Teensy for Caps Lock based on bit 1 in the keyboard_leds variable controlled by the USB host computer
+//
+ if (keyboard_leds & 1<<1) { // mask off all bits but D1 and test if set
+ go_1(CAPS_LED); // turn on the LED
+ }
+ else {
+ go_0(CAPS_LED); // turn off the LED
+ }
+//
+ delay(25); // The overall keyboard scanning rate is about 30ms
+}
diff --git a/Example_Keyboards/T Caschera Keyboard files/q10_Blackberry_keyboard_with_breakout.jpg b/Example_Keyboards/T Caschera Keyboard files/q10_Blackberry_keyboard_with_breakout.jpg
new file mode 100644
index 0000000..ae732ff
Binary files /dev/null and b/Example_Keyboards/T Caschera Keyboard files/q10_Blackberry_keyboard_with_breakout.jpg differ
diff --git a/Example_Keyboards/T Caschera Keyboard files/q10_Blackberry_keyboard_with_breakout_reverse.jpg b/Example_Keyboards/T Caschera Keyboard files/q10_Blackberry_keyboard_with_breakout_reverse.jpg
new file mode 100644
index 0000000..d907395
Binary files /dev/null and b/Example_Keyboards/T Caschera Keyboard files/q10_Blackberry_keyboard_with_breakout_reverse.jpg differ
diff --git a/Example_Keyboards/T Caschera Keyboard files/q10_breakout_board_matrix.txt b/Example_Keyboards/T Caschera Keyboard files/q10_breakout_board_matrix.txt
new file mode 100644
index 0000000..e877dd8
--- /dev/null
+++ b/Example_Keyboards/T Caschera Keyboard files/q10_breakout_board_matrix.txt
@@ -0,0 +1,16 @@
+Connector for Q10 keyboard is a Hirose BM14B(0.8)-24DS-0.4V(53) Digikey PN H122178CT-ND
+The custom breakout board is from reply #20 of this forum post:
+https://www.eevblog.com/forum/beginners/how-to-connect-to-a-very-very-challanging-blackberry-q10-keyboard-connector/
+Columns and rows associated with their pin on custom breakout board in the keyboard matrix of the Q10 keyboard:
+
+ COL1 COL2 COL3 COL4 COL5
+ PIN7 PIN9 PIN10 PIN17 PIN19
+ROW1 PIN6 Q E R U O
+ROW2 PIN8 W S G H L
+ROW3 PIN18 sym D T Y I
+ROW4 PIN20 A P sh2 ret bck
+ROW5 PIN21 alt Z V B $
+ROW6 PIN22 spc X C N M
+ROW7 PIN27 mike sh1 F J K
+
+
diff --git a/Example_Keyboards/T Caschera Keyboard files/q10_keypad.ino b/Example_Keyboards/T Caschera Keyboard files/q10_keypad.ino
new file mode 100644
index 0000000..074125b
--- /dev/null
+++ b/Example_Keyboards/T Caschera Keyboard files/q10_keypad.ino
@@ -0,0 +1,432 @@
+/* Copyright 2018 Frank Adams
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+ http://www.apache.org/licenses/LICENSE-2.0
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+// The PCB is documented in reply#20 of this post:
+// https://www.eevblog.com/forum/beginners/how-to-connect-to-a-very-very-challanging-blackberry-q10-keyboard-connector/
+#define MODIFIERKEY_FN 0x8f // give Fn key a HID code
+#define CAPS_LED 13 // Teensy LED shows Caps-Lock
+
+#define KEY_HASHTILDE 0x32
+#define KEY_KPLEFTPAREN 0xb6 // Keypad {
+#define KEY_KPRIGHTPAREN 0xb7 // Keypad )
+#define KEY_AT 0xce // Keypad @
+#define KEY_EXCL 0xcf // Keypad !
+#define KEY_COLON 0xcb // Keypad :
+#define KEY_APOSTROPHE 0x34
+#define KEY_QQUOTE 0x34
+#define KEY_UNDER 0x01 // _
+#define KEY_QUEST 0x38 // _
+//
+const byte rows_max = 7; // sets the number of rows in the matrix
+const byte cols_max = 5; // sets the number of columns in the matrix
+//
+// Load the normal key matrix with the Teensyduino key names described at www.pjrc.com/teensy/td_keyboard.html
+// A zero indicates no normal key at that location.
+//
+int normal[rows_max][cols_max] = {
+ {KEY_Q,KEY_E,KEY_R,KEY_U,KEY_O},
+ {KEY_W,KEY_S,KEY_G,KEY_H,KEY_L},
+ {0,KEY_D,KEY_T,KEY_Y,KEY_I},
+ {KEY_A,KEY_P,0,KEY_ENTER,KEY_BACKSPACE},
+ {0,KEY_X,KEY_V,KEY_B,0},
+ {KEY_SPACE,KEY_Z,KEY_C,KEY_N,KEY_M},
+ {KEY_ESC,0,KEY_F,KEY_J,KEY_K}
+};
+// Load the modifier key matrix with key names at the correct row-column location.
+// A zero indicates no modifier key at that location.
+int modifier[rows_max][cols_max] = {
+ {0,0,0,0,0},
+ {0,0,0,0,0},
+ {MODIFIERKEY_FN,0,0,0,0},
+ {0,0,MODIFIERKEY_RIGHT_SHIFT,0,0},
+ {MODIFIERKEY_LEFT_ALT,0,0,0,MODIFIERKEY_RIGHT_CTRL},
+ {0,0,0,0,0},
+ {0,MODIFIERKEY_LEFT_SHIFT,0,0,0}
+};
+// Load the media key matrix with Fn key names at the correct row-column location.
+// A zero indicates no media key at that location.
+int media[rows_max][cols_max] = {
+ {KEY_HASHTILDE,KEY_2,KEY_3,KEY_UNDER,KEYPAD_PLUS},
+ {KEY_1,KEY_4,KEY_SLASH,KEY_COLON,KEY_QQUOTE},
+ {0,KEY_5,KEY_KPLEFTPAREN,KEY_KPRIGHTPAREN,KEY_MINUS},
+ {KEYPAD_ASTERIX,KEY_AT,0,0,KEY_DELETE},
+ {0,KEY_8,KEY_QUEST,KEY_EXCL,0},
+ {0,KEY_7,KEY_9,KEY_COMMA,KEY_PERIOD},
+ {KEY_0,0,KEY_6,KEY_SEMICOLON,KEY_QUOTE}
+};
+// Initialize the old_key matrix with one's.
+// 1 = key not pressed, 0 = key is pressed
+boolean old_key[rows_max][cols_max] = {
+ {1,1,1,1,1},
+ {1,1,1,1,1},
+ {1,1,1,1,1},
+ {1,1,1,1,1},
+ {1,1,1,1,1},
+ {1,1,1,1,1},
+ {1,1,1,1,1}
+};
+//
+// Define the Teensy LC I/O numbers (translated from the FPC pin #)
+int Row_IO[rows_max] = {4,6,18,20,21,22,23}; // Teensy LC I/O numbers for rows
+//
+int Col_IO[cols_max] = {5,7,8,17,19}; // Teensy LC I/O numbers for columns
+
+// Declare variables that will be used by functions
+boolean slots_full = LOW; // Goes high when slots 1 thru 6 contain normal keys
+// slot 1 thru slot 6 hold the normal key values to be sent over USB.
+int slot1 = 0; //value of 0 means the slot is empty and can be used.
+int slot2 = 0;
+int slot3 = 0;
+int slot4 = 0;
+int slot5 = 0;
+int slot6 = 0;
+//
+int mod_shift_l = 0; // These variables are sent over USB as modifier keys.
+int mod_shift_r = 0; // Each is either set to 0 or MODIFIER_ ...
+int mod_ctrl_l = 0;
+int mod_ctrl_r = 0;
+int mod_alt_l = 0;
+int mod_alt_r = 0;
+int mod_gui = 0;
+//
+// Function to load the key name into the first available slot
+void load_slot(int key) {
+ if (!slot1) {
+ slot1 = key;
+ }
+ else if (!slot2) {
+ slot2 = key;
+ }
+ else if (!slot3) {
+ slot3 = key;
+ }
+ else if (!slot4) {
+ slot4 = key;
+ }
+ else if (!slot5) {
+ slot5 = key;
+ }
+ else if (!slot6) {
+ slot6 = key;
+ }
+ if (!slot1 || !slot2 || !slot3 || !slot4 || !slot5 || !slot6) {
+ slots_full = LOW; // slots are not full
+ }
+ else {
+ slots_full = HIGH; // slots are full
+ }
+}
+//
+// Function to clear the slot that contains the key name
+void clear_slot(int key) {
+ if (slot1 == key) {
+ slot1 = 0;
+ }
+ else if (slot2 == key) {
+ slot2 = 0;
+ }
+ else if (slot3 == key) {
+ slot3 = 0;
+ }
+ else if (slot4 == key) {
+ slot4 = 0;
+ }
+ else if (slot5 == key) {
+ slot5 = 0;
+ }
+ else if (slot6 == key) {
+ slot6 = 0;
+ }
+ slots_full = LOW;
+}
+//
+// Function to load the modifier key name into the appropriate mod variable
+void load_mod(int m_key) {
+ if (m_key == MODIFIERKEY_LEFT_SHIFT) {
+ mod_shift_l = m_key;
+ }
+ else if (m_key == MODIFIERKEY_RIGHT_SHIFT) {
+ mod_shift_r = m_key;
+ }
+ else if (m_key == MODIFIERKEY_LEFT_CTRL) {
+ mod_ctrl_l = m_key;
+ }
+ else if (m_key == MODIFIERKEY_RIGHT_CTRL) {
+ mod_ctrl_r = m_key;
+ }
+ else if (m_key == MODIFIERKEY_LEFT_ALT) {
+ mod_alt_l = m_key;
+ }
+ else if (m_key == MODIFIERKEY_RIGHT_ALT) {
+ mod_alt_r = m_key;
+ }
+ else if (m_key == MODIFIERKEY_GUI) {
+ mod_gui = m_key;
+ }
+}
+//
+// Function to load 0 into the appropriate mod variable
+void clear_mod(int m_key) {
+ if (m_key == MODIFIERKEY_LEFT_SHIFT) {
+ mod_shift_l = 0;
+ }
+ else if (m_key == MODIFIERKEY_RIGHT_SHIFT) {
+ mod_shift_r = 0;
+ }
+ else if (m_key == MODIFIERKEY_LEFT_CTRL) {
+ mod_ctrl_l = 0;
+ }
+ else if (m_key == MODIFIERKEY_RIGHT_CTRL) {
+ mod_ctrl_r = 0;
+ }
+ else if (m_key == MODIFIERKEY_LEFT_ALT) {
+ mod_alt_l = 0;
+ }
+ else if (m_key == MODIFIERKEY_RIGHT_ALT) {
+ mod_alt_r = 0;
+ }
+ else if (m_key == MODIFIERKEY_GUI) {
+ mod_gui = 0;
+ }
+}
+//
+// Function to send the modifier keys over usb
+void send_mod() {
+ Keyboard.set_modifier(mod_shift_l | mod_shift_r | mod_ctrl_l | mod_ctrl_r | mod_alt_l | mod_alt_r | mod_gui);
+ Keyboard.send_now();
+}
+//
+// Function to send the normal keys in the 6 slots over usb
+void send_normals() {
+ Keyboard.set_key1(slot1);
+ Keyboard.set_key2(slot2);
+ Keyboard.set_key3(slot3);
+ Keyboard.set_key4(slot4);
+ Keyboard.set_key5(slot5);
+ Keyboard.set_key6(slot6);
+ Keyboard.send_now();
+}
+//
+// Function to set a pin to high impedance (acts like open drain output)
+void go_z(int pin)
+{
+ pinMode(pin, INPUT);
+ digitalWrite(pin, HIGH);
+}
+//
+// Function to set a pin as an input with a pullup
+void go_pu(int pin)
+{
+ pinMode(pin, INPUT_PULLUP);
+ digitalWrite(pin, HIGH);
+}
+//
+// Function to send a pin to a logic low
+void go_0(int pin)
+{
+ pinMode(pin, OUTPUT);
+ digitalWrite(pin, LOW);
+}
+//
+// Function to send a pin to a logic high
+void go_1(int pin)
+{
+ pinMode(pin, OUTPUT);
+ digitalWrite(pin, HIGH);
+}
+//
+//----------------------------------Setup-------------------------------------------
+void setup() {
+ for (int a = 0; a < cols_max; a++) { // loop thru all column pins
+ go_pu(Col_IO[a]); // set each column pin as an input with a pullup
+ }
+//
+ for (int b = 0; b < rows_max; b++) { // loop thru all row pins
+ go_z(Row_IO[b]); // set each row pin as a floating output
+ }
+}
+//
+boolean Fn_pressed = HIGH; // Initialize Fn key to HIGH = "not pressed"
+extern volatile uint8_t keyboard_leds; // 8 bits sent from Pi to Teensy that give keyboard LED status. Caps lock is bit D1.
+//
+//---------------------------------Main Loop---------------------------------------------
+//
+void loop() {
+// Scan keyboard matrix with an outer loop that drives each row low and an inner loop that reads every column (with pull ups).
+// The routine looks at each key's present state (by reading the column input pin) and also the previous state from the last scan
+// that was 30msec ago. The status of a key that was just pressed or just released is sent over USB and the state is saved in the old_key matrix.
+// The keyboard keys will read as logic low if they are pressed (negative logic).
+// The old_key matrix also uses negative logic (low=pressed).
+//
+ for (int x = 0; x < rows_max; x++) { // loop thru the rows
+ go_0(Row_IO[x]); // Activate Row (send it low)
+ delayMicroseconds(10); // give the row time to go low and settle out
+ for (int y = 0; y < cols_max; y++) { // loop thru the columns
+// **********Modifier keys including the Fn special case
+ if (modifier[x][y] != 0) { // check if modifier key exists at this location in the array (a non-zero value)
+ if (!digitalRead(Col_IO[y]) && (old_key[x][y])) { // Read column to see if key is low (pressed) and was previously not pressed
+ if (modifier[x][y] != MODIFIERKEY_FN) { // Exclude Fn modifier key
+ load_mod(modifier[x][y]); // function reads which modifier key is pressed and loads it into the appropriate mod_... variable
+ send_mod(); // function sends the state of all modifier keys over usb including the one that just got pressed
+ old_key[x][y] = LOW; // Save state of key as "pressed"
+ }
+ else {
+ Fn_pressed = LOW; // Fn status variable is active low
+ old_key[x][y] = LOW; // old_key state is "pressed" (active low)
+ }
+ }
+ else if (digitalRead(Col_IO[y]) && (!old_key[x][y])) { //check if key is not pressed and was previously pressed
+ if (modifier[x][y] != MODIFIERKEY_FN) { // Exclude Fn modifier key
+ clear_mod(modifier[x][y]); // function reads which modifier key was released and loads 0 into the appropriate mod_... variable
+ send_mod(); // function sends all mod's over usb including the one that just released
+ old_key[x][y] = HIGH; // Save state of key as "not pressed"
+ }
+ else {
+ Fn_pressed = HIGH; // Fn is no longer active
+ old_key[x][y] = HIGH; // old_key state is "not pressed"
+ }
+ }
+ }
+// ***********end of modifier section
+//
+// ***********Normal keys and media keys in this section
+ else if ((normal[x][y] != 0) || (media[x][y] != 0)) { // check if normal or media key exists at this location in the array
+ if (!digitalRead(Col_IO[y]) && (old_key[x][y])) { // check if key is pressed and was not previously pressed
+ old_key[x][y] = LOW; // Save state of key as "pressed"
+ if (Fn_pressed) { // Fn_pressed is active low so it is not pressed and normal key needs to be sent
+ load_slot(normal[x][y]); //update first available slot with normal key name
+ send_normals(); // send all slots over USB including the key that just got pressed
+ }
+ else if (media[x][y] != 0) { // Fn is pressed so send media if a key exists in the matrix
+ if (media[x][y] == KEY_AT) {
+ Keyboard.press(MODIFIERKEY_RIGHT_SHIFT);
+ delay(5);
+ Keyboard.press(KEY_2);
+ delay(5);
+ Keyboard.release(KEY_2);
+ delay(5);
+ Keyboard.release(MODIFIERKEY_RIGHT_SHIFT);
+ delay(5);
+ }
+ else if (media[x][y] == KEY_HASHTILDE) {
+ Keyboard.press(MODIFIERKEY_RIGHT_SHIFT);
+ delay(5);
+ Keyboard.press(KEY_3);
+ delay(5);
+ Keyboard.release(KEY_3);
+ delay(5);
+ Keyboard.release(MODIFIERKEY_RIGHT_SHIFT);
+ delay(5);
+ }
+ else if (media[x][y] == KEY_UNDER) {
+ Keyboard.press(MODIFIERKEY_RIGHT_SHIFT);
+ delay(5);
+ Keyboard.press(KEY_MINUS);
+ delay(5);
+ Keyboard.release(KEY_MINUS);
+ delay(5);
+ Keyboard.release(MODIFIERKEY_RIGHT_SHIFT);
+ delay(5);
+ }
+ else if (media[x][y] == KEY_COLON) {
+ Keyboard.press(MODIFIERKEY_RIGHT_SHIFT);
+ delay(5);
+ Keyboard.press(KEY_SEMICOLON);
+ delay(5);
+ Keyboard.release(KEY_SEMICOLON);
+ delay(5);
+ Keyboard.release(MODIFIERKEY_RIGHT_SHIFT);
+ delay(5);
+ }
+ else if (media[x][y] == KEY_KPLEFTPAREN) {
+ Keyboard.press(MODIFIERKEY_RIGHT_SHIFT);
+ delay(5);
+ Keyboard.press(KEY_9);
+ delay(5);
+ Keyboard.release(KEY_9);
+ delay(5);
+ Keyboard.release(MODIFIERKEY_RIGHT_SHIFT);
+ delay(5);
+ }
+ else if (media[x][y] == KEY_KPRIGHTPAREN) {
+ Keyboard.press(MODIFIERKEY_RIGHT_SHIFT);
+ delay(5);
+ Keyboard.press(KEY_0);
+ delay(5);
+ Keyboard.release(KEY_0);
+ delay(5);
+ Keyboard.release(MODIFIERKEY_RIGHT_SHIFT);
+ delay(5);
+ }
+ else if (media[x][y] == KEY_QUEST) {
+ Keyboard.press(MODIFIERKEY_RIGHT_SHIFT);
+ delay(5);
+ Keyboard.press(KEY_SLASH);
+ delay(5);
+ Keyboard.release(KEY_SLASH);
+ delay(5);
+ Keyboard.release(MODIFIERKEY_RIGHT_SHIFT);
+ delay(5);
+ }
+ else if (media[x][y] == KEY_EXCL) {
+ Keyboard.press(MODIFIERKEY_RIGHT_SHIFT);
+ delay(5);
+ Keyboard.press(KEY_1);
+ delay(5);
+ Keyboard.release(KEY_1);
+ delay(5);
+ Keyboard.release(MODIFIERKEY_RIGHT_SHIFT);
+ delay(5);
+ }
+ else if (media[x][y] == KEY_QQUOTE) {
+ Keyboard.press(MODIFIERKEY_RIGHT_SHIFT);
+ delay(5);
+ Keyboard.press(KEY_QUOTE);
+ delay(5);
+ Keyboard.release(KEY_QUOTE);
+ delay(5);
+ Keyboard.release(MODIFIERKEY_RIGHT_SHIFT);
+ delay(5);
+ }
+ else {
+ Keyboard.press(media[x][y]); // media key is sent using keyboard press function per PJRC
+ delay(5); // delay 5 milliseconds before releasing to make sure it gets sent over USB
+ Keyboard.release(media[x][y]); // send media key release
+ }
+ }
+ }
+ else if (digitalRead(Col_IO[y]) && (!old_key[x][y])) { //check if key is not pressed, but was previously pressed
+ old_key[x][y] = HIGH; // Save state of key as "not pressed"
+ if (Fn_pressed) { // Fn is not pressed
+ clear_slot(normal[x][y]); //clear the slot that contains the normal key name
+ send_normals(); // send all slots over USB including the key that was just released
+ }
+ }
+ }
+// **************end of normal and media key section
+//
+ }
+ go_z(Row_IO[x]); // De-activate Row (send it to hi-z)
+ }
+//
+// **********keyboard scan complete
+//
+// Turn on the LED on the Teensy for Caps Lock based on bit 1 in the keyboard_leds variable controlled by the USB host computer
+//
+ if (keyboard_leds & 1<<1) { // mask off all bits but D1 and test if set
+ go_1(CAPS_LED); // turn on the LED
+ }
+ else {
+ go_0(CAPS_LED); // turn off the LED
+ }
+//
+ delay(25); // The overall keyboard scanning rate is about 30ms
+}
diff --git a/Example_Keyboards/T Caschera Keyboard files/q10breakout.png b/Example_Keyboards/T Caschera Keyboard files/q10breakout.png
new file mode 100644
index 0000000..f3805a4
Binary files /dev/null and b/Example_Keyboards/T Caschera Keyboard files/q10breakout.png differ