diff --git a/README.md b/README.md index 2783d85..77cdbc4 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,27 @@ # apple2idiot A general purpose ESP32 IOT board for the Apple IIe + +# Requirements + +## Arduino Libraries + ++ https://github.com/me-no-dev/ESPAsyncWebServer ++ https://github.com/me-no-dev/AsyncTCP + +Instructions for installing Arduino libraries: https://www.arduino.cc/en/Guide/Libraries + +Download the zips from github... + +```bash +cd ~/Arduino/libraries +unzip AsyncTCP-master.zip +unzip ESPAsyncWebServer-master.zip +mv AsyncTCP-master AsyncTCP +mv ESPAsyncWebServer-master ESPAsyncWebServer +``` + +## Potential requirements + +For ESP32 webserver to serve static files... + ++ https://github.com/me-no-dev/arduino-esp32fs-plugin diff --git a/apple2idiot.ino b/apple2idiot.ino index 509ef04..dce8dcd 100644 --- a/apple2idiot.ino +++ b/apple2idiot.ino @@ -1,16 +1,23 @@ /* +blah blah blah */ +#define DEBUG true + // Load Wi-Fi library -//#include +#include +#include +#include +//#include -// Replace with your network credentials -//const char* ssid = "GSO"; -//const char* password = "xerxes27"; -//WiFiServer server(80); -//String http_header; +//#include -/* OUTPUTS (numbers mean GPIO port) */ + +/**************/ +/* ESP32 Pins */ +/**************/ + +/* DATA BUS (numbers mean GPIO port) */ #define D0R 12 #define D1R 13 #define D2R 14 @@ -19,31 +26,44 @@ #define D5R 19 #define D6R 21 #define D7R 22 - byte data_pins[] = {D0R, D1R, D2R, D3R, D4R, D5R, D6R, D7R}; #define DATA_BUS_SIZE 8 +/* Address Bus */ #define A0R 23 #define A1R 25 #define A2R 26 #define A3R 27 - byte address_pins[] = {A0R, A1R, A2R, A3R}; #define ADDRESS_BUS_SIZE 4 -//#define DEVSEL_PIN 35 -//#define DEVSEL_PIN 5 -#define CE_PIN 5 -#define CE_ENABLE LOW -#define CE_DISABLE HIGH +/* IDT7132S dual port ram chip enable */ +#define RW_PIN 5 +#define RW_WRITE LOW +#define RW_READ HIGH unsigned int data_byte = 0; +/************/ +/* Interupt */ +/************/ + /* Variables shared between ISR and main code need to be volatile */ volatile bool isr_handled = false; volatile uint32_t raw_register_read; volatile uint16_t raw_register1_read; +/**********************/ +/* WiFi and Webserver */ +/**********************/ + +// Replace with your network credentials +const char* wifi_ssid = "GSO"; +const char* wifi_password = "xerxes27"; +AsyncWebServer web_server(80); +//WebServer web_server(80); + + /*################################################ # ISR # ################################################*/ @@ -52,7 +72,31 @@ void IRAM_ATTR isrDEVSEL(void) { raw_register_read = REG_READ(GPIO_IN_REG); raw_register1_read = REG_READ(GPIO_IN1_REG); isr_handled = true; - Serial.println("^INTERUPT!"); +} + +unsigned long write_data(byte address, byte byte_to_write) { + set_address(address); + for (byte i=0; i> i) & 0b00000001; + pinMode(data_pins[i], OUTPUT); + delay(10); + digitalWrite(data_pins[i], bit_to_write); + } + digitalWrite(RW_PIN, RW_WRITE); + delay(50); + digitalWrite(RW_PIN, RW_READ); + for (byte i=0; isend(200, "text/plain", "Free Heap: " + String(ESP.getFreeHeap()) + " bytes."); + }); + + //web_server.on("/hello", HTTP_GET, [](AsyncWebServerRequest *request){ + //request->send(200, "text/plain", "Hello World"); + //}); + + //web_server.on("/", www_root); + web_server.begin(); + Serial.println("HTTP server started"); + delay(100); + + /* Display file system contents */ + Serial.println("-----------------------------------------"); + File root_filesystem = SPIFFS.open("/"); + File f = root_filesystem.openNextFile(); + while(f){ + Serial.print("FILE: "); + Serial.println(f.name()); + f = root_filesystem.openNextFile(); + } + Serial.println("-----------------------------------------"); + //attachInterrupt(DEVSEL_PIN, isrDEVSEL, LOW); - //attachInterrupt(DEVSEL_PIN, isrDEVSEL, FALLING); - //attachInterrupt(DEVSEL_PIN, isrDEVSEL, RISING); - //attachInterrupt(DEVSEL_PIN, isrDEVSEL, FALLING); } +/*################################################ +# Functions # +################################################*/ + void set_address(int address) { - - Serial.print("Setting address ("); - Serial.print(address); - Serial.print("): "); - for (byte i=0; i> 12 & 0b00000000000011111111; - - //Serial.print("RAWDATA: "); - //Serial.println(raw_register_read, BIN); - //Serial.print("DATA: "); - //Serial.println(data_byte, BIN); - //Serial.println(data_byte); - isr_handled = false; - Serial.print(raw_register_read, BIN); - Serial.print(" : "); - Serial.println(raw_register1_read, BIN); - } - - //if (millis() - lastLoopMillis > loopTimeInterval) { - //Serial.print("RAWDATA: "); - //Serial.println(raw_register_read, BIN); - //raw_register_read = REG_READ(GPIO_IN_REG); - //Serial.println("--LOOP CALLED ISR--"); - //isrDEVSEL(); - //raw_register_read = REG_READ(GPIO_IN_REG); - //raw_register1_read = REG_READ(GPIO_IN1_REG); - //isr_handled = true; - //lastLoopMillis = millis(); + //isr_handled = false; //} - delay(5555); - for (int i=0; i < ADDRESS_BUS_SIZE; i++) { - set_address(i); - long foo = read_data(); - delay(100); - } - +} + + +String html_template_processor(const String& var) { + Serial.println("html_template_processor()"); + String return_string = ""; + if (var == "RAM_TABLE") { + read_ram(); + for (int i=0; i < 16; i++) { + return_string += ""+String(i)+"" + String(ram[i]) + "\n"; + } + return return_string; + } + return var; +} + + +void www_root(AsyncWebServerRequest *request) { + request->send(SPIFFS, "/index.htm", String(), false, html_template_processor); +} +void www_ram(AsyncWebServerRequest *request) { + request->send(SPIFFS, "/ram.htm", String(), false, html_template_processor); +} +void www_write_byte(AsyncWebServerRequest *request) { + Serial.println("www_write_byte()"); + String address; + String data_byte; + if (request->hasParam("address")) { + address = request->getParam("address")->value(); + Serial.println("Found address: "+address); + if (request->hasParam("data")) { + data_byte = request->getParam("data")->value(); + Serial.println("Found data: "+data_byte); + write_data(address.toInt(), data_byte.toInt()); + } + } + request->send(SPIFFS, "/ram.htm", String(), false, html_template_processor); +} +void www_css(AsyncWebServerRequest *request) { + request->send(SPIFFS, "/a2i.css", "text/css"); } diff --git a/card/_autosave-apple2idiot.kicad_pcb b/card/_autosave-apple2idiot.kicad_pcb index 8a68b33..434e5d1 100644 --- a/card/_autosave-apple2idiot.kicad_pcb +++ b/card/_autosave-apple2idiot.kicad_pcb @@ -3,19 +3,18 @@ (general (thickness 1.6) (drawings 13) - (tracks 1) + (tracks 57) (zones 0) (modules 4) - (nets 100) + (nets 90) ) (page A4) (title_block - (title "Apple II Breadboard Card") - (date 2021-02-08) - (rev 1.1) - (company "Renee Harke") - (comment 1 "MIT license; see LICENSE file") + (title apple2idiot) + (date 2021-07-27) + (rev 1.0.1) + (company "Nathanial Hendler") ) (layers @@ -153,53 +152,43 @@ (net 50 +5V) (net 51 "Net-(U1-Pad42)") (net 52 "Net-(U2-Pad36)") - (net 53 "Net-(U2-Pad35)") - (net 54 "Net-(U2-Pad34)") - (net 55 "Net-(U2-Pad33)") - (net 56 "Net-(U2-Pad32)") - (net 57 "Net-(U2-Pad31)") - (net 58 "Net-(U2-Pad30)") - (net 59 "Net-(U1-Pad46)") - (net 60 "Net-(U2-Pad28)") - (net 61 "Net-(U2-Pad27)") - (net 62 "Net-(U1-Pad38)") - (net 63 "Net-(U2-Pad25)") - (net 64 "Net-(U2-Pad24)") - (net 65 "Net-(U2-Pad23)") - (net 66 "Net-(U2-Pad22)") - (net 67 "Net-(U2-Pad21)") - (net 68 "Net-(U2-Pad20)") - (net 69 "Net-(U2-Pad19)") - (net 70 "Net-(U2-Pad18)") - (net 71 "Net-(U2-Pad17)") - (net 72 "Net-(U2-Pad16)") - (net 73 "Net-(U2-Pad14)") - (net 74 "Net-(U2-Pad13)") - (net 75 "Net-(U1-Pad39)") - (net 76 "Net-(U1-Pad40)") - (net 77 "Net-(U1-Pad41)") - (net 78 "Net-(U2-Pad8)") - (net 79 "Net-(U1-Pad3)") - (net 80 "Net-(U1-Pad45)") - (net 81 "Net-(U2-Pad5)") - (net 82 "Net-(U2-Pad4)") - (net 83 "Net-(U2-Pad3)") - (net 84 "Net-(U2-Pad2)") - (net 85 VCC) - (net 86 "Net-(U1-Pad44)") - (net 87 "Net-(U1-Pad37)") - (net 88 "Net-(U1-Pad36)") - (net 89 "Net-(U1-Pad35)") - (net 90 "Net-(U1-Pad34)") - (net 91 "Net-(U1-Pad33)") - (net 92 /D0R) - (net 93 /D1R) - (net 94 /D2R) - (net 95 /D3R) - (net 96 /D4R) - (net 97 /D5R) - (net 98 /D6R) - (net 99 /D7R) + (net 53 "Net-(U2-Pad34)") + (net 54 "Net-(U2-Pad33)") + (net 55 "Net-(U2-Pad32)") + (net 56 "Net-(U2-Pad31)") + (net 57 "Net-(U2-Pad30)") + (net 58 "Net-(U1-Pad46)") + (net 59 "Net-(U1-Pad38)") + (net 60 "Net-(U2-Pad24)") + (net 61 "Net-(U2-Pad23)") + (net 62 "Net-(U2-Pad18)") + (net 63 "Net-(U2-Pad17)") + (net 64 "Net-(U2-Pad16)") + (net 65 "Net-(U1-Pad39)") + (net 66 "Net-(U1-Pad40)") + (net 67 "Net-(U1-Pad41)") + (net 68 "Net-(U1-Pad3)") + (net 69 "Net-(U1-Pad45)") + (net 70 "Net-(U2-Pad4)") + (net 71 "Net-(U2-Pad3)") + (net 72 "Net-(U2-Pad2)") + (net 73 "Net-(U1-Pad44)") + (net 74 "Net-(U1-Pad37)") + (net 75 "Net-(U1-Pad36)") + (net 76 "Net-(U1-Pad35)") + (net 77 "Net-(U1-Pad34)") + (net 78 "Net-(U1-Pad33)") + (net 79 "Net-(U1-Pad32)") + (net 80 "Net-(U1-Pad31)") + (net 81 "Net-(U1-Pad30)") + (net 82 "Net-(U1-Pad29)") + (net 83 "Net-(U1-Pad28)") + (net 84 "Net-(U1-Pad27)") + (net 85 "Net-(U1-Pad26)") + (net 86 "Net-(U1-Pad25)") + (net 87 "Net-(U2-Pad38)") + (net 88 "Net-(U2-Pad37)") + (net 89 "Net-(U2-Pad1)") (net_class Default "This is the default net class." (clearance 0.2) @@ -231,21 +220,13 @@ (add_net /A9) (add_net /COLORREF) (add_net /D0) - (add_net /D0R) (add_net /D1) - (add_net /D1R) (add_net /D2) - (add_net /D2R) (add_net /D3) - (add_net /D3R) (add_net /D4) - (add_net /D4R) (add_net /D5) - (add_net /D5R) (add_net /D6) - (add_net /D6R) (add_net /D7) - (add_net /D7R) (add_net /DMAIN) (add_net /DMAOUT) (add_net /INTIN) @@ -266,7 +247,15 @@ (add_net /~NMI) (add_net /~RES) (add_net GND) + (add_net "Net-(U1-Pad25)") + (add_net "Net-(U1-Pad26)") + (add_net "Net-(U1-Pad27)") + (add_net "Net-(U1-Pad28)") + (add_net "Net-(U1-Pad29)") (add_net "Net-(U1-Pad3)") + (add_net "Net-(U1-Pad30)") + (add_net "Net-(U1-Pad31)") + (add_net "Net-(U1-Pad32)") (add_net "Net-(U1-Pad33)") (add_net "Net-(U1-Pad34)") (add_net "Net-(U1-Pad35)") @@ -280,33 +269,124 @@ (add_net "Net-(U1-Pad44)") (add_net "Net-(U1-Pad45)") (add_net "Net-(U1-Pad46)") - (add_net "Net-(U2-Pad13)") - (add_net "Net-(U2-Pad14)") + (add_net "Net-(U2-Pad1)") (add_net "Net-(U2-Pad16)") (add_net "Net-(U2-Pad17)") (add_net "Net-(U2-Pad18)") - (add_net "Net-(U2-Pad19)") (add_net "Net-(U2-Pad2)") - (add_net "Net-(U2-Pad20)") - (add_net "Net-(U2-Pad21)") - (add_net "Net-(U2-Pad22)") (add_net "Net-(U2-Pad23)") (add_net "Net-(U2-Pad24)") - (add_net "Net-(U2-Pad25)") - (add_net "Net-(U2-Pad27)") - (add_net "Net-(U2-Pad28)") (add_net "Net-(U2-Pad3)") (add_net "Net-(U2-Pad30)") (add_net "Net-(U2-Pad31)") (add_net "Net-(U2-Pad32)") (add_net "Net-(U2-Pad33)") (add_net "Net-(U2-Pad34)") - (add_net "Net-(U2-Pad35)") (add_net "Net-(U2-Pad36)") + (add_net "Net-(U2-Pad37)") + (add_net "Net-(U2-Pad38)") (add_net "Net-(U2-Pad4)") - (add_net "Net-(U2-Pad5)") - (add_net "Net-(U2-Pad8)") - (add_net VCC) + ) + + (module ESPDEVKIT:MODULE_ESP32-DEVKITC-32D (layer F.Cu) (tedit 6100DBC9) (tstamp 61015E67) + (at 217.17 88.9) + (path /613EE5FC) + (fp_text reference U2 (at -10.829175 -28.446045) (layer F.SilkS) + (effects (font (size 1.000386 1.000386) (thickness 0.15))) + ) + (fp_text value ESP32-DEVKITC-32D (at 1.24136 28.294535) (layer F.Fab) + (effects (font (size 1.001047 1.001047) (thickness 0.15))) + ) + (fp_circle (center -14.6 -19.9) (end -14.46 -19.9) (layer F.Fab) (width 0.28)) + (fp_circle (center -14.6 -19.9) (end -14.46 -19.9) (layer F.Fab) (width 0.28)) + (fp_line (start -14.2 27.5) (end -14.2 -27.4) (layer F.CrtYd) (width 0.05)) + (fp_line (start 14.2 27.5) (end -14.2 27.5) (layer F.CrtYd) (width 0.05)) + (fp_line (start 14.2 -27.4) (end 14.2 27.5) (layer F.CrtYd) (width 0.05)) + (fp_line (start -14.2 -27.4) (end 14.2 -27.4) (layer F.CrtYd) (width 0.05)) + (fp_line (start 13.95 27.25) (end -13.95 27.25) (layer F.SilkS) (width 0.127)) + (fp_line (start 13.95 -27.15) (end 13.95 27.25) (layer F.SilkS) (width 0.127)) + (fp_line (start -13.95 -27.15) (end 13.95 -27.15) (layer F.SilkS) (width 0.127)) + (fp_line (start -13.95 27.25) (end -13.95 -27.15) (layer F.SilkS) (width 0.127)) + (fp_line (start -13.95 27.25) (end -13.95 -27.15) (layer F.Fab) (width 0.127)) + (fp_line (start 13.95 27.25) (end -13.95 27.25) (layer F.Fab) (width 0.127)) + (fp_line (start 13.95 -27.15) (end 13.95 27.25) (layer F.Fab) (width 0.127)) + (fp_line (start -13.95 -27.15) (end 13.95 -27.15) (layer F.Fab) (width 0.127)) + (pad 38 thru_hole circle (at 12.7 25.96) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask) + (net 87 "Net-(U2-Pad38)")) + (pad 37 thru_hole circle (at 12.7 23.42) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask) + (net 88 "Net-(U2-Pad37)")) + (pad 36 thru_hole circle (at 12.7 20.88) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask) + (net 52 "Net-(U2-Pad36)")) + (pad 35 thru_hole circle (at 12.7 18.34) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask) + (net 83 "Net-(U1-Pad28)")) + (pad 34 thru_hole circle (at 12.7 15.8) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask) + (net 53 "Net-(U2-Pad34)")) + (pad 33 thru_hole circle (at 12.7 13.26) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask) + (net 54 "Net-(U2-Pad33)")) + (pad 32 thru_hole circle (at 12.7 10.72) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask) + (net 55 "Net-(U2-Pad32)")) + (pad 31 thru_hole circle (at 12.7 8.18) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask) + (net 56 "Net-(U2-Pad31)")) + (pad 30 thru_hole circle (at 12.7 5.64) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask) + (net 57 "Net-(U2-Pad30)")) + (pad 29 thru_hole circle (at 12.7 3.1) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask) + (net 58 "Net-(U1-Pad46)")) + (pad 28 thru_hole circle (at 12.7 0.56) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask) + (net 82 "Net-(U1-Pad29)")) + (pad 27 thru_hole circle (at 12.7 -1.98) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask) + (net 81 "Net-(U1-Pad30)")) + (pad 26 thru_hole circle (at 12.7 -4.52) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask) + (net 49 GND)) + (pad 25 thru_hole circle (at 12.7 -7.06) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask) + (net 80 "Net-(U1-Pad31)")) + (pad 24 thru_hole circle (at 12.7 -9.6) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask) + (net 60 "Net-(U2-Pad24)")) + (pad 23 thru_hole circle (at 12.7 -12.14) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask) + (net 61 "Net-(U2-Pad23)")) + (pad 22 thru_hole circle (at 12.7 -14.68) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask) + (net 79 "Net-(U1-Pad32)")) + (pad 21 thru_hole circle (at 12.7 -17.22) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask) + (net 51 "Net-(U1-Pad42)")) + (pad 20 thru_hole circle (at 12.7 -19.76) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask) + (net 49 GND)) + (pad 18 thru_hole circle (at -12.7 23.42) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask) + (net 62 "Net-(U2-Pad18)")) + (pad 17 thru_hole circle (at -12.7 20.88) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask) + (net 63 "Net-(U2-Pad17)")) + (pad 16 thru_hole circle (at -12.7 18.34) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask) + (net 64 "Net-(U2-Pad16)")) + (pad 15 thru_hole circle (at -12.7 15.8) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask) + (net 85 "Net-(U1-Pad26)")) + (pad 14 thru_hole circle (at -12.7 13.26) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask) + (net 49 GND)) + (pad 13 thru_hole circle (at -12.7 10.72) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask) + (net 86 "Net-(U1-Pad25)")) + (pad 12 thru_hole circle (at -12.7 8.18) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask) + (net 84 "Net-(U1-Pad27)")) + (pad 11 thru_hole circle (at -12.7 5.64) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask) + (net 65 "Net-(U1-Pad39)")) + (pad 10 thru_hole circle (at -12.7 3.1) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask) + (net 66 "Net-(U1-Pad40)")) + (pad 9 thru_hole circle (at -12.7 0.56) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask) + (net 67 "Net-(U1-Pad41)")) + (pad 8 thru_hole circle (at -12.7 -1.98) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask) + (net 74 "Net-(U1-Pad37)")) + (pad 7 thru_hole circle (at -12.7 -4.52) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask) + (net 59 "Net-(U1-Pad38)")) + (pad 6 thru_hole circle (at -12.7 -7.06) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask) + (net 68 "Net-(U1-Pad3)")) + (pad 5 thru_hole circle (at -12.7 -9.6) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask) + (net 25 /~IOSEL)) + (pad 4 thru_hole circle (at -12.7 -12.14) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask) + (net 70 "Net-(U2-Pad4)")) + (pad 3 thru_hole circle (at -12.7 -14.68) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask) + (net 71 "Net-(U2-Pad3)")) + (pad 19 thru_hole circle (at -12.7 25.96) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask) + (net 50 +5V)) + (pad 2 thru_hole circle (at -12.7 -17.22) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask) + (net 72 "Net-(U2-Pad2)")) + (pad 1 thru_hole rect (at -12.7 -19.76) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask) + (net 89 "Net-(U2-Pad1)")) ) (module pub:AppleIIBus (layer F.Cu) (tedit 5E4F43C2) (tstamp 5E33EA12) @@ -318,10 +398,10 @@ (fp_text value "CARD EDGE" (at 25.4 -5.08) (layer F.Fab) (effects (font (size 1 1) (thickness 0.15))) ) - (fp_poly (pts (xy 32.893 -3.81) (xy 31.877 -3.81) (xy 31.877 3.81) (xy 32.893 3.81)) (layer B.Mask) (width 0)) - (fp_poly (pts (xy -32.893 -3.81) (xy -32.893 3.81) (xy -31.877 3.81) (xy -31.877 -3.81)) (layer B.Mask) (width 0)) - (fp_poly (pts (xy 32.893 -3.81) (xy 31.877 -3.81) (xy 31.877 3.81) (xy 32.893 3.81)) (layer F.Mask) (width 0)) (fp_poly (pts (xy -32.893 -3.81) (xy -32.893 3.81) (xy -31.877 3.81) (xy -31.877 -3.81)) (layer F.Mask) (width 0)) + (fp_poly (pts (xy 32.893 -3.81) (xy 31.877 -3.81) (xy 31.877 3.81) (xy 32.893 3.81)) (layer F.Mask) (width 0)) + (fp_poly (pts (xy -32.893 -3.81) (xy -32.893 3.81) (xy -31.877 3.81) (xy -31.877 -3.81)) (layer B.Mask) (width 0)) + (fp_poly (pts (xy 32.893 -3.81) (xy 31.877 -3.81) (xy 31.877 3.81) (xy 32.893 3.81)) (layer B.Mask) (width 0)) (pad 26 smd rect (at 30.48 0) (size 1.524 6.35) (layers B.Cu B.Mask) (net 49 GND) (solder_mask_margin 0.635) (clearance 0.254)) (pad 27 smd rect (at 27.94 0) (size 1.524 6.35) (layers B.Cu B.Mask) @@ -424,35 +504,35 @@ (net 25 /~IOSEL) (solder_mask_margin 0.635) (clearance 0.254)) ) - (module Capacitor_THT:C_Disc_D8.0mm_W2.5mm_P5.00mm (layer F.Cu) (tedit 5AE50EF0) (tstamp 61011EF7) - (at 232.41 115.57 180) + (module Capacitor_THT:C_Disc_D8.0mm_W2.5mm_P5.00mm (layer F.Cu) (tedit 5AE50EF0) (tstamp 61017937) + (at 198 111 90) (descr "C, Disc series, Radial, pin pitch=5.00mm, , diameter*width=8*2.5mm^2, Capacitor, http://cdn-reichelt.de/documents/datenblatt/B300/DS_KERKO_TC.pdf") (tags "C Disc series Radial pin pitch 5.00mm diameter 8mm width 2.5mm Capacitor") (path /6103513B) - (fp_text reference C1 (at 2.5 -2.5) (layer F.SilkS) + (fp_text reference C1 (at 2.5 -2.5 90) (layer F.SilkS) (effects (font (size 1 1) (thickness 0.15))) ) - (fp_text value C (at 2.5 2.5) (layer F.Fab) + (fp_text value C (at 2.5 2.5 90) (layer F.Fab) (effects (font (size 1 1) (thickness 0.15))) ) - (fp_line (start 6.75 -1.5) (end -1.75 -1.5) (layer F.CrtYd) (width 0.05)) - (fp_line (start 6.75 1.5) (end 6.75 -1.5) (layer F.CrtYd) (width 0.05)) - (fp_line (start -1.75 1.5) (end 6.75 1.5) (layer F.CrtYd) (width 0.05)) - (fp_line (start -1.75 -1.5) (end -1.75 1.5) (layer F.CrtYd) (width 0.05)) - (fp_line (start 6.62 -1.37) (end 6.62 1.37) (layer F.SilkS) (width 0.12)) - (fp_line (start -1.62 -1.37) (end -1.62 1.37) (layer F.SilkS) (width 0.12)) - (fp_line (start -1.62 1.37) (end 6.62 1.37) (layer F.SilkS) (width 0.12)) - (fp_line (start -1.62 -1.37) (end 6.62 -1.37) (layer F.SilkS) (width 0.12)) - (fp_line (start 6.5 -1.25) (end -1.5 -1.25) (layer F.Fab) (width 0.1)) - (fp_line (start 6.5 1.25) (end 6.5 -1.25) (layer F.Fab) (width 0.1)) - (fp_line (start -1.5 1.25) (end 6.5 1.25) (layer F.Fab) (width 0.1)) (fp_line (start -1.5 -1.25) (end -1.5 1.25) (layer F.Fab) (width 0.1)) - (fp_text user %R (at 2.5 0) (layer F.Fab) + (fp_line (start -1.5 1.25) (end 6.5 1.25) (layer F.Fab) (width 0.1)) + (fp_line (start 6.5 1.25) (end 6.5 -1.25) (layer F.Fab) (width 0.1)) + (fp_line (start 6.5 -1.25) (end -1.5 -1.25) (layer F.Fab) (width 0.1)) + (fp_line (start -1.62 -1.37) (end 6.62 -1.37) (layer F.SilkS) (width 0.12)) + (fp_line (start -1.62 1.37) (end 6.62 1.37) (layer F.SilkS) (width 0.12)) + (fp_line (start -1.62 -1.37) (end -1.62 1.37) (layer F.SilkS) (width 0.12)) + (fp_line (start 6.62 -1.37) (end 6.62 1.37) (layer F.SilkS) (width 0.12)) + (fp_line (start -1.75 -1.5) (end -1.75 1.5) (layer F.CrtYd) (width 0.05)) + (fp_line (start -1.75 1.5) (end 6.75 1.5) (layer F.CrtYd) (width 0.05)) + (fp_line (start 6.75 1.5) (end 6.75 -1.5) (layer F.CrtYd) (width 0.05)) + (fp_line (start 6.75 -1.5) (end -1.75 -1.5) (layer F.CrtYd) (width 0.05)) + (fp_text user %R (at 2.5 0 90) (layer F.Fab) (effects (font (size 1 1) (thickness 0.15))) ) - (pad 2 thru_hole circle (at 5 0 180) (size 1.6 1.6) (drill 0.8) (layers *.Cu *.Mask) + (pad 2 thru_hole circle (at 5 0 90) (size 1.6 1.6) (drill 0.8) (layers *.Cu *.Mask) (net 49 GND)) - (pad 1 thru_hole circle (at 0 0 180) (size 1.6 1.6) (drill 0.8) (layers *.Cu *.Mask) + (pad 1 thru_hole circle (at 0 0 90) (size 1.6 1.6) (drill 0.8) (layers *.Cu *.Mask) (net 50 +5V)) (model ${KISYS3DMOD}/Capacitor_THT.3dshapes/C_Disc_D8.0mm_W2.5mm_P5.00mm.wrl (at (xyz 0 0 0)) @@ -461,8 +541,8 @@ ) ) - (module Package_DIP:DIP-48_W15.24mm_Socket_LongPads (layer F.Cu) (tedit 5A02E8C5) (tstamp 6100FFF2) - (at 134.62 115.57 90) + (module Package_DIP:DIP-48_W15.24mm_Socket_LongPads (layer F.Cu) (tedit 5A02E8C5) (tstamp 6101CB7E) + (at 120.65 92.71 90) (descr "48-lead though-hole mounted DIP package, row spacing 15.24 mm (600 mils), Socket, LongPads") (tags "THT DIP DIL PDIP 2.54mm 15.24mm 600mil Socket LongPads") (path /6102DC5C) @@ -472,34 +552,34 @@ (fp_text value IDT7132 (at 7.62 60.75 90) (layer F.Fab) (effects (font (size 1 1) (thickness 0.15))) ) - (fp_line (start 16.8 -1.6) (end -1.55 -1.6) (layer F.CrtYd) (width 0.05)) - (fp_line (start 16.8 60) (end 16.8 -1.6) (layer F.CrtYd) (width 0.05)) - (fp_line (start -1.55 60) (end 16.8 60) (layer F.CrtYd) (width 0.05)) - (fp_line (start -1.55 -1.6) (end -1.55 60) (layer F.CrtYd) (width 0.05)) - (fp_line (start 16.68 -1.39) (end -1.44 -1.39) (layer F.SilkS) (width 0.12)) - (fp_line (start 16.68 59.81) (end 16.68 -1.39) (layer F.SilkS) (width 0.12)) - (fp_line (start -1.44 59.81) (end 16.68 59.81) (layer F.SilkS) (width 0.12)) - (fp_line (start -1.44 -1.39) (end -1.44 59.81) (layer F.SilkS) (width 0.12)) - (fp_line (start 13.68 -1.33) (end 8.62 -1.33) (layer F.SilkS) (width 0.12)) - (fp_line (start 13.68 59.75) (end 13.68 -1.33) (layer F.SilkS) (width 0.12)) - (fp_line (start 1.56 59.75) (end 13.68 59.75) (layer F.SilkS) (width 0.12)) - (fp_line (start 1.56 -1.33) (end 1.56 59.75) (layer F.SilkS) (width 0.12)) - (fp_line (start 6.62 -1.33) (end 1.56 -1.33) (layer F.SilkS) (width 0.12)) - (fp_line (start 16.51 -1.33) (end -1.27 -1.33) (layer F.Fab) (width 0.1)) - (fp_line (start 16.51 59.75) (end 16.51 -1.33) (layer F.Fab) (width 0.1)) - (fp_line (start -1.27 59.75) (end 16.51 59.75) (layer F.Fab) (width 0.1)) - (fp_line (start -1.27 -1.33) (end -1.27 59.75) (layer F.Fab) (width 0.1)) - (fp_line (start 0.255 -0.27) (end 1.255 -1.27) (layer F.Fab) (width 0.1)) - (fp_line (start 0.255 59.69) (end 0.255 -0.27) (layer F.Fab) (width 0.1)) - (fp_line (start 14.985 59.69) (end 0.255 59.69) (layer F.Fab) (width 0.1)) - (fp_line (start 14.985 -1.27) (end 14.985 59.69) (layer F.Fab) (width 0.1)) (fp_line (start 1.255 -1.27) (end 14.985 -1.27) (layer F.Fab) (width 0.1)) - (fp_text user %R (at 7.62 29.21 90) (layer F.Fab) + (fp_line (start 14.985 -1.27) (end 14.985 59.69) (layer F.Fab) (width 0.1)) + (fp_line (start 14.985 59.69) (end 0.255 59.69) (layer F.Fab) (width 0.1)) + (fp_line (start 0.255 59.69) (end 0.255 -0.27) (layer F.Fab) (width 0.1)) + (fp_line (start 0.255 -0.27) (end 1.255 -1.27) (layer F.Fab) (width 0.1)) + (fp_line (start -1.27 -1.33) (end -1.27 59.75) (layer F.Fab) (width 0.1)) + (fp_line (start -1.27 59.75) (end 16.51 59.75) (layer F.Fab) (width 0.1)) + (fp_line (start 16.51 59.75) (end 16.51 -1.33) (layer F.Fab) (width 0.1)) + (fp_line (start 16.51 -1.33) (end -1.27 -1.33) (layer F.Fab) (width 0.1)) + (fp_line (start 6.62 -1.33) (end 1.56 -1.33) (layer F.SilkS) (width 0.12)) + (fp_line (start 1.56 -1.33) (end 1.56 59.75) (layer F.SilkS) (width 0.12)) + (fp_line (start 1.56 59.75) (end 13.68 59.75) (layer F.SilkS) (width 0.12)) + (fp_line (start 13.68 59.75) (end 13.68 -1.33) (layer F.SilkS) (width 0.12)) + (fp_line (start 13.68 -1.33) (end 8.62 -1.33) (layer F.SilkS) (width 0.12)) + (fp_line (start -1.44 -1.39) (end -1.44 59.81) (layer F.SilkS) (width 0.12)) + (fp_line (start -1.44 59.81) (end 16.68 59.81) (layer F.SilkS) (width 0.12)) + (fp_line (start 16.68 59.81) (end 16.68 -1.39) (layer F.SilkS) (width 0.12)) + (fp_line (start 16.68 -1.39) (end -1.44 -1.39) (layer F.SilkS) (width 0.12)) + (fp_line (start -1.55 -1.6) (end -1.55 60) (layer F.CrtYd) (width 0.05)) + (fp_line (start -1.55 60) (end 16.8 60) (layer F.CrtYd) (width 0.05)) + (fp_line (start 16.8 60) (end 16.8 -1.6) (layer F.CrtYd) (width 0.05)) + (fp_line (start 16.8 -1.6) (end -1.55 -1.6) (layer F.CrtYd) (width 0.05)) + (fp_text user %R (at 7.62 29.21 180) (layer F.Fab) (effects (font (size 1 1) (thickness 0.15))) ) (fp_arc (start 7.62 -1.33) (end 6.62 -1.33) (angle -180) (layer F.SilkS) (width 0.12)) (pad 48 thru_hole oval (at 15.24 0 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) - (net 85 VCC)) + (net 50 +5V)) (pad 24 thru_hole oval (at 0 58.42 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) (net 49 GND)) (pad 47 thru_hole oval (at 15.24 2.54 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) @@ -507,15 +587,15 @@ (pad 23 thru_hole oval (at 0 55.88 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) (net 9 /D7)) (pad 46 thru_hole oval (at 15.24 5.08 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) - (net 59 "Net-(U1-Pad46)")) + (net 58 "Net-(U1-Pad46)")) (pad 22 thru_hole oval (at 0 53.34 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) (net 8 /D6)) (pad 45 thru_hole oval (at 15.24 7.62 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) - (net 80 "Net-(U1-Pad45)")) + (net 69 "Net-(U1-Pad45)")) (pad 21 thru_hole oval (at 0 50.8 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) (net 7 /D5)) (pad 44 thru_hole oval (at 15.24 10.16 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) - (net 86 "Net-(U1-Pad44)")) + (net 73 "Net-(U1-Pad44)")) (pad 20 thru_hole oval (at 0 48.26 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) (net 6 /D4)) (pad 43 thru_hole oval (at 15.24 12.7 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) @@ -527,71 +607,71 @@ (pad 18 thru_hole oval (at 0 43.18 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) (net 4 /D2)) (pad 41 thru_hole oval (at 15.24 17.78 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) - (net 77 "Net-(U1-Pad41)")) + (net 67 "Net-(U1-Pad41)")) (pad 17 thru_hole oval (at 0 40.64 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) (net 3 /D1)) (pad 40 thru_hole oval (at 15.24 20.32 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) - (net 76 "Net-(U1-Pad40)")) + (net 66 "Net-(U1-Pad40)")) (pad 16 thru_hole oval (at 0 38.1 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) (net 2 /D0)) (pad 39 thru_hole oval (at 15.24 22.86 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) - (net 75 "Net-(U1-Pad39)")) + (net 65 "Net-(U1-Pad39)")) (pad 15 thru_hole oval (at 0 35.56 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) (net 49 GND)) (pad 38 thru_hole oval (at 15.24 25.4 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) - (net 62 "Net-(U1-Pad38)")) + (net 59 "Net-(U1-Pad38)")) (pad 14 thru_hole oval (at 0 33.02 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) (net 49 GND)) (pad 37 thru_hole oval (at 15.24 27.94 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) - (net 87 "Net-(U1-Pad37)")) + (net 74 "Net-(U1-Pad37)")) (pad 13 thru_hole oval (at 0 30.48 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) (net 33 /A7)) (pad 36 thru_hole oval (at 15.24 30.48 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) - (net 88 "Net-(U1-Pad36)")) + (net 75 "Net-(U1-Pad36)")) (pad 12 thru_hole oval (at 0 27.94 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) (net 32 /A6)) (pad 35 thru_hole oval (at 15.24 33.02 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) - (net 89 "Net-(U1-Pad35)")) + (net 76 "Net-(U1-Pad35)")) (pad 11 thru_hole oval (at 0 25.4 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) (net 31 /A5)) (pad 34 thru_hole oval (at 15.24 35.56 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) - (net 90 "Net-(U1-Pad34)")) + (net 77 "Net-(U1-Pad34)")) (pad 10 thru_hole oval (at 0 22.86 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) (net 30 /A4)) (pad 33 thru_hole oval (at 15.24 38.1 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) - (net 91 "Net-(U1-Pad33)")) + (net 78 "Net-(U1-Pad33)")) (pad 9 thru_hole oval (at 0 20.32 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) (net 29 /A3)) (pad 32 thru_hole oval (at 15.24 40.64 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) - (net 92 /D0R)) + (net 79 "Net-(U1-Pad32)")) (pad 8 thru_hole oval (at 0 17.78 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) (net 28 /A2)) (pad 31 thru_hole oval (at 15.24 43.18 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) - (net 93 /D1R)) + (net 80 "Net-(U1-Pad31)")) (pad 7 thru_hole oval (at 0 15.24 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) (net 27 /A1)) (pad 30 thru_hole oval (at 15.24 45.72 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) - (net 94 /D2R)) + (net 81 "Net-(U1-Pad30)")) (pad 6 thru_hole oval (at 0 12.7 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) (net 26 /A0)) (pad 29 thru_hole oval (at 15.24 48.26 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) - (net 95 /D3R)) + (net 82 "Net-(U1-Pad29)")) (pad 5 thru_hole oval (at 0 10.16 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) (net 49 GND)) (pad 28 thru_hole oval (at 15.24 50.8 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) - (net 96 /D4R)) + (net 83 "Net-(U1-Pad28)")) (pad 4 thru_hole oval (at 0 7.62 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) (net 49 GND)) (pad 27 thru_hole oval (at 15.24 53.34 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) - (net 97 /D5R)) + (net 84 "Net-(U1-Pad27)")) (pad 3 thru_hole oval (at 0 5.08 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) - (net 79 "Net-(U1-Pad3)")) + (net 68 "Net-(U1-Pad3)")) (pad 26 thru_hole oval (at 15.24 55.88 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) - (net 98 /D6R)) + (net 85 "Net-(U1-Pad26)")) (pad 2 thru_hole oval (at 0 2.54 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) (net 42 /R~W)) (pad 25 thru_hole oval (at 15.24 58.42 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) - (net 99 /D7R)) + (net 86 "Net-(U1-Pad25)")) (pad 1 thru_hole rect (at 0 0 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) (net 10 /~DEVSEL)) (model ${KISYS3DMOD}/Package_DIP.3dshapes/DIP-48_W15.24mm_Socket.wrl @@ -601,193 +681,16 @@ ) ) - (module RF_Module:ESP32-WROOM-32 (layer F.Cu) (tedit 5B5B4654) (tstamp 6100E62C) - (at 146.05 80.01) - (descr "Single 2.4 GHz Wi-Fi and Bluetooth combo chip https://www.espressif.com/sites/default/files/documentation/esp32-wroom-32_datasheet_en.pdf") - (tags "Single 2.4 GHz Wi-Fi and Bluetooth combo chip") - (path /6102A0B5) - (attr smd) - (fp_text reference U2 (at -10.61 8.43 90) (layer F.SilkS) - (effects (font (size 1 1) (thickness 0.15))) - ) - (fp_text value ESP32-WROOM-32 (at 0 11.5) (layer F.Fab) - (effects (font (size 1 1) (thickness 0.15))) - ) - (fp_line (start -9.12 -9.445) (end -9.5 -9.445) (layer F.SilkS) (width 0.12)) - (fp_line (start -9.12 -15.865) (end -9.12 -9.445) (layer F.SilkS) (width 0.12)) - (fp_line (start 9.12 -15.865) (end 9.12 -9.445) (layer F.SilkS) (width 0.12)) - (fp_line (start -9.12 -15.865) (end 9.12 -15.865) (layer F.SilkS) (width 0.12)) - (fp_line (start 9.12 9.88) (end 8.12 9.88) (layer F.SilkS) (width 0.12)) - (fp_line (start 9.12 9.1) (end 9.12 9.88) (layer F.SilkS) (width 0.12)) - (fp_line (start -9.12 9.88) (end -8.12 9.88) (layer F.SilkS) (width 0.12)) - (fp_line (start -9.12 9.1) (end -9.12 9.88) (layer F.SilkS) (width 0.12)) - (fp_line (start 8.4 -20.6) (end 8.2 -20.4) (layer Cmts.User) (width 0.1)) - (fp_line (start 8.4 -16) (end 8.4 -20.6) (layer Cmts.User) (width 0.1)) - (fp_line (start 8.4 -20.6) (end 8.6 -20.4) (layer Cmts.User) (width 0.1)) - (fp_line (start 8.4 -16) (end 8.6 -16.2) (layer Cmts.User) (width 0.1)) - (fp_line (start 8.4 -16) (end 8.2 -16.2) (layer Cmts.User) (width 0.1)) - (fp_line (start -9.2 -13.875) (end -9.4 -14.075) (layer Cmts.User) (width 0.1)) - (fp_line (start -13.8 -13.875) (end -9.2 -13.875) (layer Cmts.User) (width 0.1)) - (fp_line (start -9.2 -13.875) (end -9.4 -13.675) (layer Cmts.User) (width 0.1)) - (fp_line (start -13.8 -13.875) (end -13.6 -13.675) (layer Cmts.User) (width 0.1)) - (fp_line (start -13.8 -13.875) (end -13.6 -14.075) (layer Cmts.User) (width 0.1)) - (fp_line (start 9.2 -13.875) (end 9.4 -13.675) (layer Cmts.User) (width 0.1)) - (fp_line (start 9.2 -13.875) (end 9.4 -14.075) (layer Cmts.User) (width 0.1)) - (fp_line (start 13.8 -13.875) (end 13.6 -13.675) (layer Cmts.User) (width 0.1)) - (fp_line (start 13.8 -13.875) (end 13.6 -14.075) (layer Cmts.User) (width 0.1)) - (fp_line (start 9.2 -13.875) (end 13.8 -13.875) (layer Cmts.User) (width 0.1)) - (fp_line (start 14 -11.585) (end 12 -9.97) (layer Dwgs.User) (width 0.1)) - (fp_line (start 14 -13.2) (end 10 -9.97) (layer Dwgs.User) (width 0.1)) - (fp_line (start 14 -14.815) (end 8 -9.97) (layer Dwgs.User) (width 0.1)) - (fp_line (start 14 -16.43) (end 6 -9.97) (layer Dwgs.User) (width 0.1)) - (fp_line (start 14 -18.045) (end 4 -9.97) (layer Dwgs.User) (width 0.1)) - (fp_line (start 14 -19.66) (end 2 -9.97) (layer Dwgs.User) (width 0.1)) - (fp_line (start 13.475 -20.75) (end 0 -9.97) (layer Dwgs.User) (width 0.1)) - (fp_line (start 11.475 -20.75) (end -2 -9.97) (layer Dwgs.User) (width 0.1)) - (fp_line (start 9.475 -20.75) (end -4 -9.97) (layer Dwgs.User) (width 0.1)) - (fp_line (start 7.475 -20.75) (end -6 -9.97) (layer Dwgs.User) (width 0.1)) - (fp_line (start -8 -9.97) (end 5.475 -20.75) (layer Dwgs.User) (width 0.1)) - (fp_line (start 3.475 -20.75) (end -10 -9.97) (layer Dwgs.User) (width 0.1)) - (fp_line (start 1.475 -20.75) (end -12 -9.97) (layer Dwgs.User) (width 0.1)) - (fp_line (start -0.525 -20.75) (end -14 -9.97) (layer Dwgs.User) (width 0.1)) - (fp_line (start -2.525 -20.75) (end -14 -11.585) (layer Dwgs.User) (width 0.1)) - (fp_line (start -4.525 -20.75) (end -14 -13.2) (layer Dwgs.User) (width 0.1)) - (fp_line (start -6.525 -20.75) (end -14 -14.815) (layer Dwgs.User) (width 0.1)) - (fp_line (start -8.525 -20.75) (end -14 -16.43) (layer Dwgs.User) (width 0.1)) - (fp_line (start -10.525 -20.75) (end -14 -18.045) (layer Dwgs.User) (width 0.1)) - (fp_line (start -12.525 -20.75) (end -14 -19.66) (layer Dwgs.User) (width 0.1)) - (fp_line (start 9.75 -9.72) (end 14.25 -9.72) (layer F.CrtYd) (width 0.05)) - (fp_line (start -14.25 -9.72) (end -9.75 -9.72) (layer F.CrtYd) (width 0.05)) - (fp_line (start 14.25 -21) (end 14.25 -9.72) (layer F.CrtYd) (width 0.05)) - (fp_line (start -14.25 -21) (end -14.25 -9.72) (layer F.CrtYd) (width 0.05)) - (fp_line (start 14 -20.75) (end -14 -20.75) (layer Dwgs.User) (width 0.1)) - (fp_line (start 14 -9.97) (end 14 -20.75) (layer Dwgs.User) (width 0.1)) - (fp_line (start 14 -9.97) (end -14 -9.97) (layer Dwgs.User) (width 0.1)) - (fp_line (start -9 -9.02) (end -8.5 -9.52) (layer F.Fab) (width 0.1)) - (fp_line (start -8.5 -9.52) (end -9 -10.02) (layer F.Fab) (width 0.1)) - (fp_line (start -9 -9.02) (end -9 9.76) (layer F.Fab) (width 0.1)) - (fp_line (start -14.25 -21) (end 14.25 -21) (layer F.CrtYd) (width 0.05)) - (fp_line (start 9.75 -9.72) (end 9.75 10.5) (layer F.CrtYd) (width 0.05)) - (fp_line (start -9.75 10.5) (end 9.75 10.5) (layer F.CrtYd) (width 0.05)) - (fp_line (start -9.75 10.5) (end -9.75 -9.72) (layer F.CrtYd) (width 0.05)) - (fp_line (start -9 -15.745) (end 9 -15.745) (layer F.Fab) (width 0.1)) - (fp_line (start -9 -15.745) (end -9 -10.02) (layer F.Fab) (width 0.1)) - (fp_line (start -9 9.76) (end 9 9.76) (layer F.Fab) (width 0.1)) - (fp_line (start 9 9.76) (end 9 -15.745) (layer F.Fab) (width 0.1)) - (fp_line (start -14 -9.97) (end -14 -20.75) (layer Dwgs.User) (width 0.1)) - (fp_text user "5 mm" (at 7.8 -19.075 90) (layer Cmts.User) - (effects (font (size 0.5 0.5) (thickness 0.1))) - ) - (fp_text user "5 mm" (at -11.2 -14.375) (layer Cmts.User) - (effects (font (size 0.5 0.5) (thickness 0.1))) - ) - (fp_text user "5 mm" (at 11.8 -14.375) (layer Cmts.User) - (effects (font (size 0.5 0.5) (thickness 0.1))) - ) - (fp_text user Antenna (at 0 -13) (layer Cmts.User) - (effects (font (size 1 1) (thickness 0.15))) - ) - (fp_text user "KEEP-OUT ZONE" (at 0 -19) (layer Cmts.User) - (effects (font (size 1 1) (thickness 0.15))) - ) - (fp_text user %R (at 0 0) (layer F.Fab) - (effects (font (size 1 1) (thickness 0.15))) - ) - (pad 38 smd rect (at 8.5 -8.255) (size 2 0.9) (layers F.Cu F.Paste F.Mask) - (net 49 GND)) - (pad 37 smd rect (at 8.5 -6.985) (size 2 0.9) (layers F.Cu F.Paste F.Mask) - (net 51 "Net-(U1-Pad42)")) - (pad 36 smd rect (at 8.5 -5.715) (size 2 0.9) (layers F.Cu F.Paste F.Mask) - (net 52 "Net-(U2-Pad36)")) - (pad 35 smd rect (at 8.5 -4.445) (size 2 0.9) (layers F.Cu F.Paste F.Mask) - (net 53 "Net-(U2-Pad35)")) - (pad 34 smd rect (at 8.5 -3.175) (size 2 0.9) (layers F.Cu F.Paste F.Mask) - (net 54 "Net-(U2-Pad34)")) - (pad 33 smd rect (at 8.5 -1.905) (size 2 0.9) (layers F.Cu F.Paste F.Mask) - (net 55 "Net-(U2-Pad33)")) - (pad 32 smd rect (at 8.5 -0.635) (size 2 0.9) (layers F.Cu F.Paste F.Mask) - (net 56 "Net-(U2-Pad32)")) - (pad 31 smd rect (at 8.5 0.635) (size 2 0.9) (layers F.Cu F.Paste F.Mask) - (net 57 "Net-(U2-Pad31)")) - (pad 30 smd rect (at 8.5 1.905) (size 2 0.9) (layers F.Cu F.Paste F.Mask) - (net 58 "Net-(U2-Pad30)")) - (pad 29 smd rect (at 8.5 3.175) (size 2 0.9) (layers F.Cu F.Paste F.Mask) - (net 59 "Net-(U1-Pad46)")) - (pad 28 smd rect (at 8.5 4.445) (size 2 0.9) (layers F.Cu F.Paste F.Mask) - (net 60 "Net-(U2-Pad28)")) - (pad 27 smd rect (at 8.5 5.715) (size 2 0.9) (layers F.Cu F.Paste F.Mask) - (net 61 "Net-(U2-Pad27)")) - (pad 26 smd rect (at 8.5 6.985) (size 2 0.9) (layers F.Cu F.Paste F.Mask) - (net 62 "Net-(U1-Pad38)")) - (pad 25 smd rect (at 8.5 8.255) (size 2 0.9) (layers F.Cu F.Paste F.Mask) - (net 63 "Net-(U2-Pad25)")) - (pad 24 smd rect (at 5.715 9.255 90) (size 2 0.9) (layers F.Cu F.Paste F.Mask) - (net 64 "Net-(U2-Pad24)")) - (pad 23 smd rect (at 4.445 9.255 90) (size 2 0.9) (layers F.Cu F.Paste F.Mask) - (net 65 "Net-(U2-Pad23)")) - (pad 22 smd rect (at 3.175 9.255 90) (size 2 0.9) (layers F.Cu F.Paste F.Mask) - (net 66 "Net-(U2-Pad22)")) - (pad 21 smd rect (at 1.905 9.255 90) (size 2 0.9) (layers F.Cu F.Paste F.Mask) - (net 67 "Net-(U2-Pad21)")) - (pad 20 smd rect (at 0.635 9.255 90) (size 2 0.9) (layers F.Cu F.Paste F.Mask) - (net 68 "Net-(U2-Pad20)")) - (pad 19 smd rect (at -0.635 9.255 90) (size 2 0.9) (layers F.Cu F.Paste F.Mask) - (net 69 "Net-(U2-Pad19)")) - (pad 18 smd rect (at -1.905 9.255 90) (size 2 0.9) (layers F.Cu F.Paste F.Mask) - (net 70 "Net-(U2-Pad18)")) - (pad 17 smd rect (at -3.175 9.255 90) (size 2 0.9) (layers F.Cu F.Paste F.Mask) - (net 71 "Net-(U2-Pad17)")) - (pad 16 smd rect (at -4.445 9.255 90) (size 2 0.9) (layers F.Cu F.Paste F.Mask) - (net 72 "Net-(U2-Pad16)")) - (pad 15 smd rect (at -5.715 9.255 90) (size 2 0.9) (layers F.Cu F.Paste F.Mask) - (net 49 GND)) - (pad 14 smd rect (at -8.5 8.255) (size 2 0.9) (layers F.Cu F.Paste F.Mask) - (net 73 "Net-(U2-Pad14)")) - (pad 13 smd rect (at -8.5 6.985) (size 2 0.9) (layers F.Cu F.Paste F.Mask) - (net 74 "Net-(U2-Pad13)")) - (pad 12 smd rect (at -8.5 5.715) (size 2 0.9) (layers F.Cu F.Paste F.Mask) - (net 75 "Net-(U1-Pad39)")) - (pad 11 smd rect (at -8.5 4.445) (size 2 0.9) (layers F.Cu F.Paste F.Mask) - (net 76 "Net-(U1-Pad40)")) - (pad 10 smd rect (at -8.5 3.175) (size 2 0.9) (layers F.Cu F.Paste F.Mask) - (net 77 "Net-(U1-Pad41)")) - (pad 9 smd rect (at -8.5 1.905) (size 2 0.9) (layers F.Cu F.Paste F.Mask) - (net 25 /~IOSEL)) - (pad 8 smd rect (at -8.5 0.635) (size 2 0.9) (layers F.Cu F.Paste F.Mask) - (net 78 "Net-(U2-Pad8)")) - (pad 7 smd rect (at -8.5 -0.635) (size 2 0.9) (layers F.Cu F.Paste F.Mask) - (net 79 "Net-(U1-Pad3)")) - (pad 6 smd rect (at -8.5 -1.905) (size 2 0.9) (layers F.Cu F.Paste F.Mask) - (net 80 "Net-(U1-Pad45)")) - (pad 5 smd rect (at -8.5 -3.175) (size 2 0.9) (layers F.Cu F.Paste F.Mask) - (net 81 "Net-(U2-Pad5)")) - (pad 4 smd rect (at -8.5 -4.445) (size 2 0.9) (layers F.Cu F.Paste F.Mask) - (net 82 "Net-(U2-Pad4)")) - (pad 3 smd rect (at -8.5 -5.715) (size 2 0.9) (layers F.Cu F.Paste F.Mask) - (net 83 "Net-(U2-Pad3)")) - (pad 2 smd rect (at -8.5 -6.985) (size 2 0.9) (layers F.Cu F.Paste F.Mask) - (net 84 "Net-(U2-Pad2)")) - (pad 1 smd rect (at -8.5 -8.255) (size 2 0.9) (layers F.Cu F.Paste F.Mask) - (net 49 GND)) - (pad 39 smd rect (at -1 -0.755) (size 5 5) (layers F.Cu F.Paste F.Mask) - (net 49 GND)) - (model ${KISYS3DMOD}/RF_Module.3dshapes/ESP32-WROOM-32.wrl - (at (xyz 0 0 0)) - (scale (xyz 1 1 1)) - (rotate (xyz 0 0 0)) - ) - ) - (gr_line (start 167.767 124.587) (end 73.66 124.587) (layer Edge.Cuts) (width 0.05)) (gr_line (start 167.767 132.207) (end 167.767 124.587) (layer Edge.Cuts) (width 0.05)) (gr_line (start 167.767 132.207) (end 233.553 132.207) (layer Edge.Cuts) (width 0.05)) (gr_text "design by Nathanial Hendler, Tucson Arizona" (at 76.2 121.92) (layer F.SilkS) (tstamp 6021F06C) (effects (font (size 1 1) (thickness 0.15)) (justify left)) ) - (gr_text "rev. 1.1 - 2021/02/08" (at 76.2 120.015) (layer F.SilkS) (tstamp 6021F075) + (gr_text "rev. 0.0.1 - 2021/07/27" (at 76.2 120.015) (layer F.SilkS) (tstamp 6021F075) (effects (font (size 1 1) (thickness 0.15)) (justify left)) ) - (gr_text apple2idiot (at 76.2 116.205) (layer F.SilkS) (tstamp 5E341713) + (gr_text apple2idiot (at 76.2 116.205) (layer F.SilkS) (tstamp 61016A0C) (effects (font (size 3 3) (thickness 0.45)) (justify left)) ) (gr_line (start 240.03 55.88) (end 240.03 111.76) (layer F.SilkS) (width 0.12) (tstamp 5E3416DC)) @@ -798,6 +701,62 @@ (gr_line (start 241.3 124.587) (end 241.3 54.737) (layer Edge.Cuts) (width 0.05) (tstamp 5E3416F1)) (gr_line (start 233.553 124.587) (end 241.3 124.587) (layer Edge.Cuts) (width 0.05)) - (segment (start 170.18 128.397) (end 170.18 124.222) (width 1) (layer B.Cu) (net 1)) + (segment (start 172.72 106.68) (end 172.72 128.397) (width 0.25) (layer B.Cu) (net 2)) + (segment (start 158.75 92.71) (end 172.72 106.68) (width 0.25) (layer B.Cu) (net 2)) + (segment (start 175.26 106.68) (end 175.26 128.397) (width 0.25) (layer B.Cu) (net 3)) + (segment (start 161.29 92.71) (end 175.26 106.68) (width 0.25) (layer B.Cu) (net 3)) + (segment (start 177.8 106.68) (end 177.8 128.397) (width 0.25) (layer B.Cu) (net 4)) + (segment (start 163.83 92.71) (end 177.8 106.68) (width 0.25) (layer B.Cu) (net 4)) + (segment (start 180.34 106.68) (end 180.34 128.397) (width 0.25) (layer B.Cu) (net 5)) + (segment (start 166.37 92.71) (end 180.34 106.68) (width 0.25) (layer B.Cu) (net 5)) + (segment (start 182.88 106.68) (end 182.88 128.397) (width 0.25) (layer B.Cu) (net 6)) + (segment (start 168.91 92.71) (end 182.88 106.68) (width 0.25) (layer B.Cu) (net 6)) + (segment (start 185.42 106.68) (end 185.42 128.397) (width 0.25) (layer B.Cu) (net 7)) + (segment (start 171.45 92.71) (end 185.42 106.68) (width 0.25) (layer B.Cu) (net 7)) + (segment (start 187.96 106.68) (end 187.96 128.397) (width 0.25) (layer B.Cu) (net 8)) + (segment (start 173.99 92.71) (end 187.96 106.68) (width 0.25) (layer B.Cu) (net 8)) + (segment (start 190.5 106.68) (end 190.5 128.397) (width 0.25) (layer B.Cu) (net 9)) + (segment (start 176.53 92.71) (end 190.5 106.68) (width 0.25) (layer B.Cu) (net 9)) + (segment (start 134.87501 94.23501) (end 134.87501 97.87501) (width 0.25) (layer F.Cu) (net 26)) + (segment (start 133.35 92.71) (end 134.87501 94.23501) (width 0.25) (layer F.Cu) (net 26)) + (segment (start 172.72 126.317798) (end 172.72 128.397) (width 0.25) (layer F.Cu) (net 26)) + (segment (start 170.639192 124.23699) (end 172.72 126.317798) (width 0.25) (layer F.Cu) (net 26)) + (segment (start 161.23699 124.23699) (end 170.639192 124.23699) (width 0.25) (layer F.Cu) (net 26)) + (segment (start 134.87501 97.87501) (end 161.23699 124.23699) (width 0.25) (layer F.Cu) (net 26)) + (segment (start 135.89 92.71) (end 135.89 96.89) (width 0.25) (layer F.Cu) (net 27)) + (segment (start 162.78698 123.78698) (end 173.78698 123.78698) (width 0.25) (layer F.Cu) (net 27)) + (segment (start 135.89 96.89) (end 162.78698 123.78698) (width 0.25) (layer F.Cu) (net 27)) + (segment (start 175.26 125.26) (end 175.26 128.397) (width 0.25) (layer F.Cu) (net 27)) + (segment (start 173.78698 123.78698) (end 175.26 125.26) (width 0.25) (layer F.Cu) (net 27)) + (segment (start 173.482202 122) (end 177.8 126.317798) (width 0.25) (layer F.Cu) (net 28)) + (segment (start 163 122) (end 173.482202 122) (width 0.25) (layer F.Cu) (net 28)) + (segment (start 138.43 97.43) (end 163 122) (width 0.25) (layer F.Cu) (net 28)) + (segment (start 177.8 126.317798) (end 177.8 128.397) (width 0.25) (layer F.Cu) (net 28)) + (segment (start 138.43 92.71) (end 138.43 97.43) (width 0.25) (layer F.Cu) (net 28)) + (segment (start 140.97 92.71) (end 140.97 96.97) (width 0.25) (layer F.Cu) (net 29)) + (segment (start 140.97 96.97) (end 164 120) (width 0.25) (layer F.Cu) (net 29)) + (segment (start 180.34 124.972) (end 180.34 128.397) (width 0.25) (layer F.Cu) (net 29)) + (segment (start 175.368 120) (end 180.34 124.972) (width 0.25) (layer F.Cu) (net 29)) + (segment (start 164 120) (end 175.368 120) (width 0.25) (layer F.Cu) (net 29)) + (segment (start 143.51 92.71) (end 143.51 96.51) (width 0.25) (layer F.Cu) (net 30)) + (segment (start 143.51 96.51) (end 165 118) (width 0.25) (layer F.Cu) (net 30)) + (segment (start 182.88 124.972) (end 182.88 128.397) (width 0.25) (layer F.Cu) (net 30)) + (segment (start 175.908 118) (end 182.88 124.972) (width 0.25) (layer F.Cu) (net 30)) + (segment (start 165 118) (end 175.908 118) (width 0.25) (layer F.Cu) (net 30)) + (segment (start 146.05 92.71) (end 146.05 96.05) (width 0.25) (layer F.Cu) (net 31)) + (segment (start 146.05 96.05) (end 166 116) (width 0.25) (layer F.Cu) (net 31)) + (segment (start 185.42 124.972) (end 185.42 128.397) (width 0.25) (layer F.Cu) (net 31)) + (segment (start 176.448 116) (end 185.42 124.972) (width 0.25) (layer F.Cu) (net 31)) + (segment (start 166 116) (end 176.448 116) (width 0.25) (layer F.Cu) (net 31)) + (segment (start 187.96 124.96) (end 187.96 128.397) (width 0.25) (layer F.Cu) (net 32)) + (segment (start 178 115) (end 187.96 124.96) (width 0.25) (layer F.Cu) (net 32)) + (segment (start 167 115) (end 178 115) (width 0.25) (layer F.Cu) (net 32)) + (segment (start 148.59 92.71) (end 148.59 96.59) (width 0.25) (layer F.Cu) (net 32)) + (segment (start 148.59 96.59) (end 167 115) (width 0.25) (layer F.Cu) (net 32)) + (segment (start 151.13 92.71) (end 151.13 96.13) (width 0.25) (layer F.Cu) (net 33)) + (segment (start 151.13 96.13) (end 168 113) (width 0.25) (layer F.Cu) (net 33)) + (segment (start 190.5 126.317798) (end 190.5 128.397) (width 0.25) (layer F.Cu) (net 33)) + (segment (start 177.182202 113) (end 190.5 126.317798) (width 0.25) (layer F.Cu) (net 33)) + (segment (start 168 113) (end 177.182202 113) (width 0.25) (layer F.Cu) (net 33)) ) diff --git a/card/apple2idiot-cache.lib b/card/apple2idiot-cache.lib index cd61bff..ae5f943 100644 --- a/card/apple2idiot-cache.lib +++ b/card/apple2idiot-cache.lib @@ -134,6 +134,58 @@ X ~ 2 0 -150 110 U 50 50 1 1 P ENDDRAW ENDDEF # +# ESP32-DEV_KIT_ESP32-DEVKITC-32D +# +DEF ESP32-DEV_KIT_ESP32-DEVKITC-32D U 0 40 Y Y 1 L N +F0 "U" -601 1026 50 H V L BNN +F1 "ESP32-DEV_KIT_ESP32-DEVKITC-32D" -601 -1101 50 H V L BNN +F2 "MODULE_ESP32-DEVKITC-32D" 0 0 50 H I L BNN +F3 "" 0 0 50 H I L BNN +F4 "4" 0 0 50 H I L BNN "PARTREV" +F5 "Espressif Systems" 0 0 50 H I L BNN "MANUFACTURER" +DRAW +S -600 -1000 600 1000 0 0 10 f +X 3V3 1 -800 900 200 R 40 40 0 0 W +X IO26 10 -800 0 200 R 40 40 0 0 B +X IO27 11 -800 -100 200 R 40 40 0 0 B +X IO14 12 -800 -200 200 R 40 40 0 0 B +X IO12 13 -800 -300 200 R 40 40 0 0 B +X GND1 14 -800 -400 200 R 40 40 0 0 W +X IO13 15 -800 -500 200 R 40 40 0 0 B +X SD2 16 -800 -600 200 R 40 40 0 0 B +X SD3 17 -800 -700 200 R 40 40 0 0 B +X CMD 18 -800 -800 200 R 40 40 0 0 B +X EXT_5V 19 -800 -900 200 R 40 40 0 0 W +X EN 2 -800 800 200 R 40 40 0 0 I +X GND3 20 800 900 200 L 40 40 0 0 W +X IO23 21 800 800 200 L 40 40 0 0 B +X IO22 22 800 700 200 L 40 40 0 0 B +X TXD0 23 800 600 200 L 40 40 0 0 O +X RXD0 24 800 500 200 L 40 40 0 0 I +X IO21 25 800 400 200 L 40 40 0 0 B +X GND2 26 800 300 200 L 40 40 0 0 W +X IO19 27 800 200 200 L 40 40 0 0 B +X IO18 28 800 100 200 L 40 40 0 0 B +X IO5 29 800 0 200 L 40 40 0 0 B +X SENSOR_VP 3 -800 700 200 R 40 40 0 0 I +X IO17 30 800 -100 200 L 40 40 0 0 B +X IO16 31 800 -200 200 L 40 40 0 0 B +X IO4 32 800 -300 200 L 40 40 0 0 B +X IO0 33 800 -400 200 L 40 40 0 0 B +X IO2 34 800 -500 200 L 40 40 0 0 B +X IO15 35 800 -600 200 L 40 40 0 0 B +X SD1 36 800 -700 200 L 40 40 0 0 B +X SD0 37 800 -800 200 L 40 40 0 0 B +X CLK 38 800 -900 200 L 40 40 0 0 I C +X SENSOR_VN 4 -800 600 200 R 40 40 0 0 I +X IO34 5 -800 500 200 R 40 40 0 0 B +X IO35 6 -800 400 200 R 40 40 0 0 B +X IO32 7 -800 300 200 R 40 40 0 0 B +X IO33 8 -800 200 200 R 40 40 0 0 B +X IO25 9 -800 100 200 R 40 40 0 0 B +ENDDRAW +ENDDEF +# # Memory_RAM_IDT7132 # DEF Memory_RAM_IDT7132 U 0 20 Y Y 1 F N @@ -194,59 +246,4 @@ X A3L 9 -900 400 300 R 50 50 1 1 I ENDDRAW ENDDEF # -# RF_Module_ESP32-WROOM-32 -# -DEF RF_Module_ESP32-WROOM-32 U 0 20 Y Y 1 F N -F0 "U" -500 1350 50 H V L CNN -F1 "RF_Module_ESP32-WROOM-32" 50 1350 50 H V L CNN -F2 "RF_Module:ESP32-WROOM-32" 0 -1500 50 H I C CNN -F3 "" -300 50 50 H I C CNN -ALIAS ESP32-WROOM-32D -$FPLIST - ESP32?WROOM?32* -$ENDFPLIST -DRAW -S -500 1300 500 -1300 0 1 10 f -X GND 1 0 -1400 100 U 50 50 1 1 W -X IO25 10 600 -500 100 L 50 50 1 1 B -X IO26 11 600 -600 100 L 50 50 1 1 B -X IO27 12 600 -700 100 L 50 50 1 1 B -X IO14 13 600 400 100 L 50 50 1 1 B -X IO12 14 600 600 100 L 50 50 1 1 B -X GND 15 0 -1400 100 U 50 50 1 1 P N -X IO13 16 600 500 100 L 50 50 1 1 B -X SHD/SD2 17 -600 -200 100 R 50 50 1 1 B -X SWP/SD3 18 -600 -300 100 R 50 50 1 1 B -X SCS/CMD 19 -600 -500 100 R 50 50 1 1 B -X VDD 2 0 1400 100 D 50 50 1 1 W -X SCK/CLK 20 -600 -400 100 R 50 50 1 1 B -X SDO/SD0 21 -600 0 100 R 50 50 1 1 B -X SDI/SD1 22 -600 -100 100 R 50 50 1 1 B -X IO15 23 600 300 100 L 50 50 1 1 B -X IO2 24 600 1000 100 L 50 50 1 1 B -X IO0 25 600 1200 100 L 50 50 1 1 B -X IO4 26 600 800 100 L 50 50 1 1 B -X IO16 27 600 200 100 L 50 50 1 1 B -X IO17 28 600 100 100 L 50 50 1 1 B -X IO5 29 600 700 100 L 50 50 1 1 B -X EN 3 -600 1200 100 R 50 50 1 1 I -X IO18 30 600 0 100 L 50 50 1 1 B -X IO19 31 600 -100 100 L 50 50 1 1 B -X NC 32 -500 -1100 100 R 50 50 1 1 N N -X IO21 33 600 -200 100 L 50 50 1 1 B -X RXD0/IO3 34 600 900 100 L 50 50 1 1 B -X TXD0/IO1 35 600 1100 100 L 50 50 1 1 B -X IO22 36 600 -300 100 L 50 50 1 1 B -X IO23 37 600 -400 100 L 50 50 1 1 B -X GND 38 0 -1400 100 U 50 50 1 1 P N -X GND 39 0 -1400 100 U 50 50 1 1 P N -X SENSOR_VP 4 -600 1000 100 R 50 50 1 1 I -X SENSOR_VN 5 -600 900 100 R 50 50 1 1 I -X IO34 6 600 -1000 100 L 50 50 1 1 I -X IO35 7 600 -1100 100 L 50 50 1 1 I -X IO32 8 600 -800 100 L 50 50 1 1 B -X IO33 9 600 -900 100 L 50 50 1 1 B -ENDDRAW -ENDDEF -# #End Library diff --git a/card/apple2idiot.kicad_pcb b/card/apple2idiot.kicad_pcb index a04fc4e..41feeee 100644 --- a/card/apple2idiot.kicad_pcb +++ b/card/apple2idiot.kicad_pcb @@ -2,20 +2,19 @@ (general (thickness 1.6) - (drawings 70) - (tracks 152) + (drawings 13) + (tracks 16) (zones 0) - (modules 5) - (nets 102) + (modules 4) + (nets 90) ) (page A4) (title_block - (title "Apple II Breadboard Card") - (date 2021-02-08) - (rev 1.1) - (company "Renee Harke") - (comment 1 "MIT license; see LICENSE file") + (title apple2idiot) + (date 2021-07-27) + (rev 1.0.1) + (company "Nathanial Hendler") ) (layers @@ -125,83 +124,71 @@ (net 22 /~NMI) (net 23 /INTIN) (net 24 /DMAIN) - (net 25 /GND) - (net 26 /~IOSEL) - (net 27 /A0) - (net 28 /A1) - (net 29 /A2) - (net 30 /A3) - (net 31 /A4) - (net 32 /A5) - (net 33 /A6) - (net 34 /A7) - (net 35 /A8) - (net 36 /A9) - (net 37 /A10) - (net 38 /A11) - (net 39 /A12) - (net 40 /A13) - (net 41 /A14) - (net 42 /A15) - (net 43 /R~W) - (net 44 /SYNC) - (net 45 /~IOSTRB) - (net 46 /RDY) - (net 47 /~DMA) - (net 48 /INTOUT) - (net 49 /DMAOUT) - (net 50 /+5V) - (net 51 GND) - (net 52 +5V) - (net 53 "Net-(U1-Pad42)") - (net 54 "Net-(U2-Pad36)") - (net 55 "Net-(U2-Pad35)") - (net 56 "Net-(U2-Pad34)") - (net 57 "Net-(U2-Pad33)") - (net 58 "Net-(U2-Pad32)") - (net 59 "Net-(U2-Pad31)") - (net 60 "Net-(U2-Pad30)") - (net 61 "Net-(U1-Pad46)") - (net 62 "Net-(U2-Pad28)") - (net 63 "Net-(U2-Pad27)") - (net 64 "Net-(U1-Pad38)") - (net 65 "Net-(U2-Pad25)") - (net 66 "Net-(U2-Pad24)") - (net 67 "Net-(U2-Pad23)") - (net 68 "Net-(U2-Pad22)") - (net 69 "Net-(U2-Pad21)") - (net 70 "Net-(U2-Pad20)") - (net 71 "Net-(U2-Pad19)") - (net 72 "Net-(U2-Pad18)") - (net 73 "Net-(U2-Pad17)") - (net 74 "Net-(U2-Pad16)") - (net 75 "Net-(U2-Pad14)") - (net 76 "Net-(U2-Pad13)") - (net 77 "Net-(U1-Pad39)") - (net 78 "Net-(U1-Pad40)") - (net 79 "Net-(U1-Pad41)") - (net 80 "Net-(U2-Pad8)") - (net 81 "Net-(U1-Pad3)") - (net 82 "Net-(U1-Pad45)") - (net 83 "Net-(U2-Pad5)") - (net 84 "Net-(U2-Pad4)") - (net 85 "Net-(U2-Pad3)") - (net 86 "Net-(U2-Pad2)") - (net 87 VCC) - (net 88 "Net-(U1-Pad44)") - (net 89 "Net-(U1-Pad37)") - (net 90 "Net-(U1-Pad36)") - (net 91 "Net-(U1-Pad35)") - (net 92 "Net-(U1-Pad34)") - (net 93 "Net-(U1-Pad33)") - (net 94 /D0R) - (net 95 /D1R) - (net 96 /D2R) - (net 97 /D3R) - (net 98 /D4R) - (net 99 /D5R) - (net 100 /D6R) - (net 101 /D7R) + (net 25 /~IOSEL) + (net 26 /A0) + (net 27 /A1) + (net 28 /A2) + (net 29 /A3) + (net 30 /A4) + (net 31 /A5) + (net 32 /A6) + (net 33 /A7) + (net 34 /A8) + (net 35 /A9) + (net 36 /A10) + (net 37 /A11) + (net 38 /A12) + (net 39 /A13) + (net 40 /A14) + (net 41 /A15) + (net 42 /R~W) + (net 43 /SYNC) + (net 44 /~IOSTRB) + (net 45 /RDY) + (net 46 /~DMA) + (net 47 /INTOUT) + (net 48 /DMAOUT) + (net 49 GND) + (net 50 +5V) + (net 51 "Net-(U1-Pad42)") + (net 52 "Net-(U2-Pad36)") + (net 53 "Net-(U2-Pad34)") + (net 54 "Net-(U2-Pad33)") + (net 55 "Net-(U2-Pad32)") + (net 56 "Net-(U2-Pad31)") + (net 57 "Net-(U2-Pad30)") + (net 58 "Net-(U1-Pad46)") + (net 59 "Net-(U1-Pad38)") + (net 60 "Net-(U2-Pad24)") + (net 61 "Net-(U2-Pad23)") + (net 62 "Net-(U2-Pad18)") + (net 63 "Net-(U2-Pad17)") + (net 64 "Net-(U2-Pad16)") + (net 65 "Net-(U1-Pad39)") + (net 66 "Net-(U1-Pad40)") + (net 67 "Net-(U1-Pad41)") + (net 68 "Net-(U1-Pad3)") + (net 69 "Net-(U1-Pad45)") + (net 70 "Net-(U2-Pad4)") + (net 71 "Net-(U2-Pad3)") + (net 72 "Net-(U2-Pad2)") + (net 73 "Net-(U1-Pad44)") + (net 74 "Net-(U1-Pad37)") + (net 75 "Net-(U1-Pad36)") + (net 76 "Net-(U1-Pad35)") + (net 77 "Net-(U1-Pad34)") + (net 78 "Net-(U1-Pad33)") + (net 79 "Net-(U1-Pad32)") + (net 80 "Net-(U1-Pad31)") + (net 81 "Net-(U1-Pad30)") + (net 82 "Net-(U1-Pad29)") + (net 83 "Net-(U1-Pad28)") + (net 84 "Net-(U1-Pad27)") + (net 85 "Net-(U1-Pad26)") + (net 86 "Net-(U1-Pad25)") + (net 87 "Net-(U2-Pad38)") + (net 88 "Net-(U2-Pad37)") + (net 89 "Net-(U2-Pad1)") (net_class Default "This is the default net class." (clearance 0.2) @@ -212,7 +199,6 @@ (uvia_drill 0.1) (add_net +5V) (add_net /+12V) - (add_net /+5V) (add_net /-12V) (add_net /-5V) (add_net /7M) @@ -234,24 +220,15 @@ (add_net /A9) (add_net /COLORREF) (add_net /D0) - (add_net /D0R) (add_net /D1) - (add_net /D1R) (add_net /D2) - (add_net /D2R) (add_net /D3) - (add_net /D3R) (add_net /D4) - (add_net /D4R) (add_net /D5) - (add_net /D5R) (add_net /D6) - (add_net /D6R) (add_net /D7) - (add_net /D7R) (add_net /DMAIN) (add_net /DMAOUT) - (add_net /GND) (add_net /INTIN) (add_net /INTOUT) (add_net /PHI0) @@ -270,7 +247,15 @@ (add_net /~NMI) (add_net /~RES) (add_net GND) + (add_net "Net-(U1-Pad25)") + (add_net "Net-(U1-Pad26)") + (add_net "Net-(U1-Pad27)") + (add_net "Net-(U1-Pad28)") + (add_net "Net-(U1-Pad29)") (add_net "Net-(U1-Pad3)") + (add_net "Net-(U1-Pad30)") + (add_net "Net-(U1-Pad31)") + (add_net "Net-(U1-Pad32)") (add_net "Net-(U1-Pad33)") (add_net "Net-(U1-Pad34)") (add_net "Net-(U1-Pad35)") @@ -284,516 +269,124 @@ (add_net "Net-(U1-Pad44)") (add_net "Net-(U1-Pad45)") (add_net "Net-(U1-Pad46)") - (add_net "Net-(U2-Pad13)") - (add_net "Net-(U2-Pad14)") + (add_net "Net-(U2-Pad1)") (add_net "Net-(U2-Pad16)") (add_net "Net-(U2-Pad17)") (add_net "Net-(U2-Pad18)") - (add_net "Net-(U2-Pad19)") (add_net "Net-(U2-Pad2)") - (add_net "Net-(U2-Pad20)") - (add_net "Net-(U2-Pad21)") - (add_net "Net-(U2-Pad22)") (add_net "Net-(U2-Pad23)") (add_net "Net-(U2-Pad24)") - (add_net "Net-(U2-Pad25)") - (add_net "Net-(U2-Pad27)") - (add_net "Net-(U2-Pad28)") (add_net "Net-(U2-Pad3)") (add_net "Net-(U2-Pad30)") (add_net "Net-(U2-Pad31)") (add_net "Net-(U2-Pad32)") (add_net "Net-(U2-Pad33)") (add_net "Net-(U2-Pad34)") - (add_net "Net-(U2-Pad35)") (add_net "Net-(U2-Pad36)") + (add_net "Net-(U2-Pad37)") + (add_net "Net-(U2-Pad38)") (add_net "Net-(U2-Pad4)") - (add_net "Net-(U2-Pad5)") - (add_net "Net-(U2-Pad8)") - (add_net VCC) ) - (module Capacitor_THT:C_Disc_D8.0mm_W2.5mm_P5.00mm (layer F.Cu) (tedit 5AE50EF0) (tstamp 61011326) - (at 236.22 107.95 180) - (descr "C, Disc series, Radial, pin pitch=5.00mm, , diameter*width=8*2.5mm^2, Capacitor, http://cdn-reichelt.de/documents/datenblatt/B300/DS_KERKO_TC.pdf") - (tags "C Disc series Radial pin pitch 5.00mm diameter 8mm width 2.5mm Capacitor") - (path /6103513B) - (fp_text reference C1 (at 2.5 -2.5) (layer F.SilkS) - (effects (font (size 1 1) (thickness 0.15))) + (module ESPDEVKIT:MODULE_ESP32-DEVKITC-32D (layer F.Cu) (tedit 6100DBC9) (tstamp 61015E67) + (at 217.17 88.9) + (path /613EE5FC) + (fp_text reference U2 (at -10.829175 -28.446045) (layer F.SilkS) + (effects (font (size 1.000386 1.000386) (thickness 0.15))) ) - (fp_text value C (at 2.5 2.5) (layer F.Fab) - (effects (font (size 1 1) (thickness 0.15))) - ) - (fp_text user %R (at 2.5 0) (layer F.Fab) - (effects (font (size 1 1) (thickness 0.15))) - ) - (fp_line (start -1.5 -1.25) (end -1.5 1.25) (layer F.Fab) (width 0.1)) - (fp_line (start -1.5 1.25) (end 6.5 1.25) (layer F.Fab) (width 0.1)) - (fp_line (start 6.5 1.25) (end 6.5 -1.25) (layer F.Fab) (width 0.1)) - (fp_line (start 6.5 -1.25) (end -1.5 -1.25) (layer F.Fab) (width 0.1)) - (fp_line (start -1.62 -1.37) (end 6.62 -1.37) (layer F.SilkS) (width 0.12)) - (fp_line (start -1.62 1.37) (end 6.62 1.37) (layer F.SilkS) (width 0.12)) - (fp_line (start -1.62 -1.37) (end -1.62 1.37) (layer F.SilkS) (width 0.12)) - (fp_line (start 6.62 -1.37) (end 6.62 1.37) (layer F.SilkS) (width 0.12)) - (fp_line (start -1.75 -1.5) (end -1.75 1.5) (layer F.CrtYd) (width 0.05)) - (fp_line (start -1.75 1.5) (end 6.75 1.5) (layer F.CrtYd) (width 0.05)) - (fp_line (start 6.75 1.5) (end 6.75 -1.5) (layer F.CrtYd) (width 0.05)) - (fp_line (start 6.75 -1.5) (end -1.75 -1.5) (layer F.CrtYd) (width 0.05)) - (pad 2 thru_hole circle (at 5 0 180) (size 1.6 1.6) (drill 0.8) (layers *.Cu *.Mask) - (net 51 GND)) - (pad 1 thru_hole circle (at 0 0 180) (size 1.6 1.6) (drill 0.8) (layers *.Cu *.Mask) - (net 52 +5V)) - (model ${KISYS3DMOD}/Capacitor_THT.3dshapes/C_Disc_D8.0mm_W2.5mm_P5.00mm.wrl - (at (xyz 0 0 0)) - (scale (xyz 1 1 1)) - (rotate (xyz 0 0 0)) - ) - ) - - (module Package_DIP:DIP-48_W15.24mm_Socket_LongPads (layer F.Cu) (tedit 5A02E8C5) (tstamp 6100FFF2) - (at 175.26 83.82 90) - (descr "48-lead though-hole mounted DIP package, row spacing 15.24 mm (600 mils), Socket, LongPads") - (tags "THT DIP DIL PDIP 2.54mm 15.24mm 600mil Socket LongPads") - (path /6102DC5C) - (fp_text reference U1 (at 7.62 -2.33 90) (layer F.SilkS) - (effects (font (size 1 1) (thickness 0.15))) - ) - (fp_text value IDT7132 (at 7.62 60.75 90) (layer F.Fab) - (effects (font (size 1 1) (thickness 0.15))) - ) - (fp_text user %R (at 7.62 29.21 90) (layer F.Fab) - (effects (font (size 1 1) (thickness 0.15))) - ) - (fp_arc (start 7.62 -1.33) (end 6.62 -1.33) (angle -180) (layer F.SilkS) (width 0.12)) - (fp_line (start 1.255 -1.27) (end 14.985 -1.27) (layer F.Fab) (width 0.1)) - (fp_line (start 14.985 -1.27) (end 14.985 59.69) (layer F.Fab) (width 0.1)) - (fp_line (start 14.985 59.69) (end 0.255 59.69) (layer F.Fab) (width 0.1)) - (fp_line (start 0.255 59.69) (end 0.255 -0.27) (layer F.Fab) (width 0.1)) - (fp_line (start 0.255 -0.27) (end 1.255 -1.27) (layer F.Fab) (width 0.1)) - (fp_line (start -1.27 -1.33) (end -1.27 59.75) (layer F.Fab) (width 0.1)) - (fp_line (start -1.27 59.75) (end 16.51 59.75) (layer F.Fab) (width 0.1)) - (fp_line (start 16.51 59.75) (end 16.51 -1.33) (layer F.Fab) (width 0.1)) - (fp_line (start 16.51 -1.33) (end -1.27 -1.33) (layer F.Fab) (width 0.1)) - (fp_line (start 6.62 -1.33) (end 1.56 -1.33) (layer F.SilkS) (width 0.12)) - (fp_line (start 1.56 -1.33) (end 1.56 59.75) (layer F.SilkS) (width 0.12)) - (fp_line (start 1.56 59.75) (end 13.68 59.75) (layer F.SilkS) (width 0.12)) - (fp_line (start 13.68 59.75) (end 13.68 -1.33) (layer F.SilkS) (width 0.12)) - (fp_line (start 13.68 -1.33) (end 8.62 -1.33) (layer F.SilkS) (width 0.12)) - (fp_line (start -1.44 -1.39) (end -1.44 59.81) (layer F.SilkS) (width 0.12)) - (fp_line (start -1.44 59.81) (end 16.68 59.81) (layer F.SilkS) (width 0.12)) - (fp_line (start 16.68 59.81) (end 16.68 -1.39) (layer F.SilkS) (width 0.12)) - (fp_line (start 16.68 -1.39) (end -1.44 -1.39) (layer F.SilkS) (width 0.12)) - (fp_line (start -1.55 -1.6) (end -1.55 60) (layer F.CrtYd) (width 0.05)) - (fp_line (start -1.55 60) (end 16.8 60) (layer F.CrtYd) (width 0.05)) - (fp_line (start 16.8 60) (end 16.8 -1.6) (layer F.CrtYd) (width 0.05)) - (fp_line (start 16.8 -1.6) (end -1.55 -1.6) (layer F.CrtYd) (width 0.05)) - (pad 48 thru_hole oval (at 15.24 0 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) - (net 87 VCC)) - (pad 24 thru_hole oval (at 0 58.42 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) - (net 51 GND)) - (pad 47 thru_hole oval (at 15.24 2.54 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) - (net 51 GND)) - (pad 23 thru_hole oval (at 0 55.88 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) - (net 9 /D7)) - (pad 46 thru_hole oval (at 15.24 5.08 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) - (net 61 "Net-(U1-Pad46)")) - (pad 22 thru_hole oval (at 0 53.34 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) - (net 8 /D6)) - (pad 45 thru_hole oval (at 15.24 7.62 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) - (net 82 "Net-(U1-Pad45)")) - (pad 21 thru_hole oval (at 0 50.8 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) - (net 7 /D5)) - (pad 44 thru_hole oval (at 15.24 10.16 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) - (net 88 "Net-(U1-Pad44)")) - (pad 20 thru_hole oval (at 0 48.26 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) - (net 6 /D4)) - (pad 43 thru_hole oval (at 15.24 12.7 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) - (net 51 GND)) - (pad 19 thru_hole oval (at 0 45.72 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) - (net 5 /D3)) - (pad 42 thru_hole oval (at 15.24 15.24 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) - (net 53 "Net-(U1-Pad42)")) - (pad 18 thru_hole oval (at 0 43.18 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) - (net 4 /D2)) - (pad 41 thru_hole oval (at 15.24 17.78 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) - (net 79 "Net-(U1-Pad41)")) - (pad 17 thru_hole oval (at 0 40.64 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) - (net 3 /D1)) - (pad 40 thru_hole oval (at 15.24 20.32 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) - (net 78 "Net-(U1-Pad40)")) - (pad 16 thru_hole oval (at 0 38.1 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) - (net 2 /D0)) - (pad 39 thru_hole oval (at 15.24 22.86 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) - (net 77 "Net-(U1-Pad39)")) - (pad 15 thru_hole oval (at 0 35.56 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) - (net 51 GND)) - (pad 38 thru_hole oval (at 15.24 25.4 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) - (net 64 "Net-(U1-Pad38)")) - (pad 14 thru_hole oval (at 0 33.02 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) - (net 51 GND)) - (pad 37 thru_hole oval (at 15.24 27.94 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) - (net 89 "Net-(U1-Pad37)")) - (pad 13 thru_hole oval (at 0 30.48 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) - (net 34 /A7)) - (pad 36 thru_hole oval (at 15.24 30.48 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) - (net 90 "Net-(U1-Pad36)")) - (pad 12 thru_hole oval (at 0 27.94 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) - (net 33 /A6)) - (pad 35 thru_hole oval (at 15.24 33.02 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) - (net 91 "Net-(U1-Pad35)")) - (pad 11 thru_hole oval (at 0 25.4 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) - (net 32 /A5)) - (pad 34 thru_hole oval (at 15.24 35.56 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) - (net 92 "Net-(U1-Pad34)")) - (pad 10 thru_hole oval (at 0 22.86 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) - (net 31 /A4)) - (pad 33 thru_hole oval (at 15.24 38.1 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) - (net 93 "Net-(U1-Pad33)")) - (pad 9 thru_hole oval (at 0 20.32 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) - (net 30 /A3)) - (pad 32 thru_hole oval (at 15.24 40.64 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) - (net 94 /D0R)) - (pad 8 thru_hole oval (at 0 17.78 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) - (net 29 /A2)) - (pad 31 thru_hole oval (at 15.24 43.18 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) - (net 95 /D1R)) - (pad 7 thru_hole oval (at 0 15.24 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) - (net 28 /A1)) - (pad 30 thru_hole oval (at 15.24 45.72 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) - (net 96 /D2R)) - (pad 6 thru_hole oval (at 0 12.7 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) - (net 27 /A0)) - (pad 29 thru_hole oval (at 15.24 48.26 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) - (net 97 /D3R)) - (pad 5 thru_hole oval (at 0 10.16 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) - (net 51 GND)) - (pad 28 thru_hole oval (at 15.24 50.8 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) - (net 98 /D4R)) - (pad 4 thru_hole oval (at 0 7.62 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) - (net 51 GND)) - (pad 27 thru_hole oval (at 15.24 53.34 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) - (net 99 /D5R)) - (pad 3 thru_hole oval (at 0 5.08 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) - (net 81 "Net-(U1-Pad3)")) - (pad 26 thru_hole oval (at 15.24 55.88 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) - (net 100 /D6R)) - (pad 2 thru_hole oval (at 0 2.54 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) - (net 43 /R~W)) - (pad 25 thru_hole oval (at 15.24 58.42 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) - (net 101 /D7R)) - (pad 1 thru_hole rect (at 0 0 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) - (net 10 /~DEVSEL)) - (model ${KISYS3DMOD}/Package_DIP.3dshapes/DIP-48_W15.24mm_Socket.wrl - (at (xyz 0 0 0)) - (scale (xyz 1 1 1)) - (rotate (xyz 0 0 0)) - ) - ) - - (module RF_Module:ESP32-WROOM-32 (layer F.Cu) (tedit 5B5B4654) (tstamp 6100E62C) - (at 143.51 82.55) - (descr "Single 2.4 GHz Wi-Fi and Bluetooth combo chip https://www.espressif.com/sites/default/files/documentation/esp32-wroom-32_datasheet_en.pdf") - (tags "Single 2.4 GHz Wi-Fi and Bluetooth combo chip") - (path /6102A0B5) - (attr smd) - (fp_text reference U2 (at -10.61 8.43 90) (layer F.SilkS) - (effects (font (size 1 1) (thickness 0.15))) - ) - (fp_text value ESP32-WROOM-32 (at 0 11.5) (layer F.Fab) - (effects (font (size 1 1) (thickness 0.15))) - ) - (fp_text user "5 mm" (at 7.8 -19.075 90) (layer Cmts.User) - (effects (font (size 0.5 0.5) (thickness 0.1))) - ) - (fp_text user "5 mm" (at -11.2 -14.375) (layer Cmts.User) - (effects (font (size 0.5 0.5) (thickness 0.1))) - ) - (fp_text user "5 mm" (at 11.8 -14.375) (layer Cmts.User) - (effects (font (size 0.5 0.5) (thickness 0.1))) - ) - (fp_text user Antenna (at 0 -13) (layer Cmts.User) - (effects (font (size 1 1) (thickness 0.15))) - ) - (fp_text user "KEEP-OUT ZONE" (at 0 -19) (layer Cmts.User) - (effects (font (size 1 1) (thickness 0.15))) - ) - (fp_text user %R (at 0 0) (layer F.Fab) - (effects (font (size 1 1) (thickness 0.15))) - ) - (fp_line (start -14 -9.97) (end -14 -20.75) (layer Dwgs.User) (width 0.1)) - (fp_line (start 9 9.76) (end 9 -15.745) (layer F.Fab) (width 0.1)) - (fp_line (start -9 9.76) (end 9 9.76) (layer F.Fab) (width 0.1)) - (fp_line (start -9 -15.745) (end -9 -10.02) (layer F.Fab) (width 0.1)) - (fp_line (start -9 -15.745) (end 9 -15.745) (layer F.Fab) (width 0.1)) - (fp_line (start -9.75 10.5) (end -9.75 -9.72) (layer F.CrtYd) (width 0.05)) - (fp_line (start -9.75 10.5) (end 9.75 10.5) (layer F.CrtYd) (width 0.05)) - (fp_line (start 9.75 -9.72) (end 9.75 10.5) (layer F.CrtYd) (width 0.05)) - (fp_line (start -14.25 -21) (end 14.25 -21) (layer F.CrtYd) (width 0.05)) - (fp_line (start -9 -9.02) (end -9 9.76) (layer F.Fab) (width 0.1)) - (fp_line (start -8.5 -9.52) (end -9 -10.02) (layer F.Fab) (width 0.1)) - (fp_line (start -9 -9.02) (end -8.5 -9.52) (layer F.Fab) (width 0.1)) - (fp_line (start 14 -9.97) (end -14 -9.97) (layer Dwgs.User) (width 0.1)) - (fp_line (start 14 -9.97) (end 14 -20.75) (layer Dwgs.User) (width 0.1)) - (fp_line (start 14 -20.75) (end -14 -20.75) (layer Dwgs.User) (width 0.1)) - (fp_line (start -14.25 -21) (end -14.25 -9.72) (layer F.CrtYd) (width 0.05)) - (fp_line (start 14.25 -21) (end 14.25 -9.72) (layer F.CrtYd) (width 0.05)) - (fp_line (start -14.25 -9.72) (end -9.75 -9.72) (layer F.CrtYd) (width 0.05)) - (fp_line (start 9.75 -9.72) (end 14.25 -9.72) (layer F.CrtYd) (width 0.05)) - (fp_line (start -12.525 -20.75) (end -14 -19.66) (layer Dwgs.User) (width 0.1)) - (fp_line (start -10.525 -20.75) (end -14 -18.045) (layer Dwgs.User) (width 0.1)) - (fp_line (start -8.525 -20.75) (end -14 -16.43) (layer Dwgs.User) (width 0.1)) - (fp_line (start -6.525 -20.75) (end -14 -14.815) (layer Dwgs.User) (width 0.1)) - (fp_line (start -4.525 -20.75) (end -14 -13.2) (layer Dwgs.User) (width 0.1)) - (fp_line (start -2.525 -20.75) (end -14 -11.585) (layer Dwgs.User) (width 0.1)) - (fp_line (start -0.525 -20.75) (end -14 -9.97) (layer Dwgs.User) (width 0.1)) - (fp_line (start 1.475 -20.75) (end -12 -9.97) (layer Dwgs.User) (width 0.1)) - (fp_line (start 3.475 -20.75) (end -10 -9.97) (layer Dwgs.User) (width 0.1)) - (fp_line (start -8 -9.97) (end 5.475 -20.75) (layer Dwgs.User) (width 0.1)) - (fp_line (start 7.475 -20.75) (end -6 -9.97) (layer Dwgs.User) (width 0.1)) - (fp_line (start 9.475 -20.75) (end -4 -9.97) (layer Dwgs.User) (width 0.1)) - (fp_line (start 11.475 -20.75) (end -2 -9.97) (layer Dwgs.User) (width 0.1)) - (fp_line (start 13.475 -20.75) (end 0 -9.97) (layer Dwgs.User) (width 0.1)) - (fp_line (start 14 -19.66) (end 2 -9.97) (layer Dwgs.User) (width 0.1)) - (fp_line (start 14 -18.045) (end 4 -9.97) (layer Dwgs.User) (width 0.1)) - (fp_line (start 14 -16.43) (end 6 -9.97) (layer Dwgs.User) (width 0.1)) - (fp_line (start 14 -14.815) (end 8 -9.97) (layer Dwgs.User) (width 0.1)) - (fp_line (start 14 -13.2) (end 10 -9.97) (layer Dwgs.User) (width 0.1)) - (fp_line (start 14 -11.585) (end 12 -9.97) (layer Dwgs.User) (width 0.1)) - (fp_line (start 9.2 -13.875) (end 13.8 -13.875) (layer Cmts.User) (width 0.1)) - (fp_line (start 13.8 -13.875) (end 13.6 -14.075) (layer Cmts.User) (width 0.1)) - (fp_line (start 13.8 -13.875) (end 13.6 -13.675) (layer Cmts.User) (width 0.1)) - (fp_line (start 9.2 -13.875) (end 9.4 -14.075) (layer Cmts.User) (width 0.1)) - (fp_line (start 9.2 -13.875) (end 9.4 -13.675) (layer Cmts.User) (width 0.1)) - (fp_line (start -13.8 -13.875) (end -13.6 -14.075) (layer Cmts.User) (width 0.1)) - (fp_line (start -13.8 -13.875) (end -13.6 -13.675) (layer Cmts.User) (width 0.1)) - (fp_line (start -9.2 -13.875) (end -9.4 -13.675) (layer Cmts.User) (width 0.1)) - (fp_line (start -13.8 -13.875) (end -9.2 -13.875) (layer Cmts.User) (width 0.1)) - (fp_line (start -9.2 -13.875) (end -9.4 -14.075) (layer Cmts.User) (width 0.1)) - (fp_line (start 8.4 -16) (end 8.2 -16.2) (layer Cmts.User) (width 0.1)) - (fp_line (start 8.4 -16) (end 8.6 -16.2) (layer Cmts.User) (width 0.1)) - (fp_line (start 8.4 -20.6) (end 8.6 -20.4) (layer Cmts.User) (width 0.1)) - (fp_line (start 8.4 -16) (end 8.4 -20.6) (layer Cmts.User) (width 0.1)) - (fp_line (start 8.4 -20.6) (end 8.2 -20.4) (layer Cmts.User) (width 0.1)) - (fp_line (start -9.12 9.1) (end -9.12 9.88) (layer F.SilkS) (width 0.12)) - (fp_line (start -9.12 9.88) (end -8.12 9.88) (layer F.SilkS) (width 0.12)) - (fp_line (start 9.12 9.1) (end 9.12 9.88) (layer F.SilkS) (width 0.12)) - (fp_line (start 9.12 9.88) (end 8.12 9.88) (layer F.SilkS) (width 0.12)) - (fp_line (start -9.12 -15.865) (end 9.12 -15.865) (layer F.SilkS) (width 0.12)) - (fp_line (start 9.12 -15.865) (end 9.12 -9.445) (layer F.SilkS) (width 0.12)) - (fp_line (start -9.12 -15.865) (end -9.12 -9.445) (layer F.SilkS) (width 0.12)) - (fp_line (start -9.12 -9.445) (end -9.5 -9.445) (layer F.SilkS) (width 0.12)) - (pad 38 smd rect (at 8.5 -8.255) (size 2 0.9) (layers F.Cu F.Paste F.Mask) - (net 51 GND)) - (pad 37 smd rect (at 8.5 -6.985) (size 2 0.9) (layers F.Cu F.Paste F.Mask) - (net 53 "Net-(U1-Pad42)")) - (pad 36 smd rect (at 8.5 -5.715) (size 2 0.9) (layers F.Cu F.Paste F.Mask) - (net 54 "Net-(U2-Pad36)")) - (pad 35 smd rect (at 8.5 -4.445) (size 2 0.9) (layers F.Cu F.Paste F.Mask) - (net 55 "Net-(U2-Pad35)")) - (pad 34 smd rect (at 8.5 -3.175) (size 2 0.9) (layers F.Cu F.Paste F.Mask) - (net 56 "Net-(U2-Pad34)")) - (pad 33 smd rect (at 8.5 -1.905) (size 2 0.9) (layers F.Cu F.Paste F.Mask) - (net 57 "Net-(U2-Pad33)")) - (pad 32 smd rect (at 8.5 -0.635) (size 2 0.9) (layers F.Cu F.Paste F.Mask) - (net 58 "Net-(U2-Pad32)")) - (pad 31 smd rect (at 8.5 0.635) (size 2 0.9) (layers F.Cu F.Paste F.Mask) - (net 59 "Net-(U2-Pad31)")) - (pad 30 smd rect (at 8.5 1.905) (size 2 0.9) (layers F.Cu F.Paste F.Mask) - (net 60 "Net-(U2-Pad30)")) - (pad 29 smd rect (at 8.5 3.175) (size 2 0.9) (layers F.Cu F.Paste F.Mask) - (net 61 "Net-(U1-Pad46)")) - (pad 28 smd rect (at 8.5 4.445) (size 2 0.9) (layers F.Cu F.Paste F.Mask) - (net 62 "Net-(U2-Pad28)")) - (pad 27 smd rect (at 8.5 5.715) (size 2 0.9) (layers F.Cu F.Paste F.Mask) - (net 63 "Net-(U2-Pad27)")) - (pad 26 smd rect (at 8.5 6.985) (size 2 0.9) (layers F.Cu F.Paste F.Mask) - (net 64 "Net-(U1-Pad38)")) - (pad 25 smd rect (at 8.5 8.255) (size 2 0.9) (layers F.Cu F.Paste F.Mask) - (net 65 "Net-(U2-Pad25)")) - (pad 24 smd rect (at 5.715 9.255 90) (size 2 0.9) (layers F.Cu F.Paste F.Mask) - (net 66 "Net-(U2-Pad24)")) - (pad 23 smd rect (at 4.445 9.255 90) (size 2 0.9) (layers F.Cu F.Paste F.Mask) - (net 67 "Net-(U2-Pad23)")) - (pad 22 smd rect (at 3.175 9.255 90) (size 2 0.9) (layers F.Cu F.Paste F.Mask) - (net 68 "Net-(U2-Pad22)")) - (pad 21 smd rect (at 1.905 9.255 90) (size 2 0.9) (layers F.Cu F.Paste F.Mask) - (net 69 "Net-(U2-Pad21)")) - (pad 20 smd rect (at 0.635 9.255 90) (size 2 0.9) (layers F.Cu F.Paste F.Mask) - (net 70 "Net-(U2-Pad20)")) - (pad 19 smd rect (at -0.635 9.255 90) (size 2 0.9) (layers F.Cu F.Paste F.Mask) - (net 71 "Net-(U2-Pad19)")) - (pad 18 smd rect (at -1.905 9.255 90) (size 2 0.9) (layers F.Cu F.Paste F.Mask) - (net 72 "Net-(U2-Pad18)")) - (pad 17 smd rect (at -3.175 9.255 90) (size 2 0.9) (layers F.Cu F.Paste F.Mask) - (net 73 "Net-(U2-Pad17)")) - (pad 16 smd rect (at -4.445 9.255 90) (size 2 0.9) (layers F.Cu F.Paste F.Mask) - (net 74 "Net-(U2-Pad16)")) - (pad 15 smd rect (at -5.715 9.255 90) (size 2 0.9) (layers F.Cu F.Paste F.Mask) - (net 51 GND)) - (pad 14 smd rect (at -8.5 8.255) (size 2 0.9) (layers F.Cu F.Paste F.Mask) - (net 75 "Net-(U2-Pad14)")) - (pad 13 smd rect (at -8.5 6.985) (size 2 0.9) (layers F.Cu F.Paste F.Mask) - (net 76 "Net-(U2-Pad13)")) - (pad 12 smd rect (at -8.5 5.715) (size 2 0.9) (layers F.Cu F.Paste F.Mask) - (net 77 "Net-(U1-Pad39)")) - (pad 11 smd rect (at -8.5 4.445) (size 2 0.9) (layers F.Cu F.Paste F.Mask) - (net 78 "Net-(U1-Pad40)")) - (pad 10 smd rect (at -8.5 3.175) (size 2 0.9) (layers F.Cu F.Paste F.Mask) - (net 79 "Net-(U1-Pad41)")) - (pad 9 smd rect (at -8.5 1.905) (size 2 0.9) (layers F.Cu F.Paste F.Mask) - (net 26 /~IOSEL)) - (pad 8 smd rect (at -8.5 0.635) (size 2 0.9) (layers F.Cu F.Paste F.Mask) - (net 80 "Net-(U2-Pad8)")) - (pad 7 smd rect (at -8.5 -0.635) (size 2 0.9) (layers F.Cu F.Paste F.Mask) - (net 81 "Net-(U1-Pad3)")) - (pad 6 smd rect (at -8.5 -1.905) (size 2 0.9) (layers F.Cu F.Paste F.Mask) - (net 82 "Net-(U1-Pad45)")) - (pad 5 smd rect (at -8.5 -3.175) (size 2 0.9) (layers F.Cu F.Paste F.Mask) - (net 83 "Net-(U2-Pad5)")) - (pad 4 smd rect (at -8.5 -4.445) (size 2 0.9) (layers F.Cu F.Paste F.Mask) - (net 84 "Net-(U2-Pad4)")) - (pad 3 smd rect (at -8.5 -5.715) (size 2 0.9) (layers F.Cu F.Paste F.Mask) - (net 85 "Net-(U2-Pad3)")) - (pad 2 smd rect (at -8.5 -6.985) (size 2 0.9) (layers F.Cu F.Paste F.Mask) - (net 86 "Net-(U2-Pad2)")) - (pad 1 smd rect (at -8.5 -8.255) (size 2 0.9) (layers F.Cu F.Paste F.Mask) - (net 51 GND)) - (pad 39 smd rect (at -1 -0.755) (size 5 5) (layers F.Cu F.Paste F.Mask) - (net 51 GND)) - (model ${KISYS3DMOD}/RF_Module.3dshapes/ESP32-WROOM-32.wrl - (at (xyz 0 0 0)) - (scale (xyz 1 1 1)) - (rotate (xyz 0 0 0)) - ) - ) - - (module pub:PinSocket_2x25_P2.54mm_Vertical_CCW_Mirrored_NoSilk (layer F.Cu) (tedit 6021F101) (tstamp 5E33EBBE) - (at 170.18 116.84 90) - (descr "Through hole straight socket strip, 2x25, 2.54mm pitch, double cols (from Kicad 4.0.7), script generated") - (tags "Through hole socket strip THT 2x25 2.54mm double row") - (path /5E39109E) - (fp_text reference J2 (at -1.27 -2.77 90) (layer F.SilkS) hide - (effects (font (size 1 1) (thickness 0.15))) - ) - (fp_text value "HEADER BLOCK" (at -1.27 63.73 90) (layer F.Fab) - (effects (font (size 1 1) (thickness 0.15))) - ) - (fp_line (start 1.27 -1.27) (end -3.81 -1.27) (layer F.Fab) (width 0.1)) - (fp_line (start -3.81 -1.27) (end -3.81 62.23) (layer F.Fab) (width 0.1)) - (fp_line (start -3.81 62.23) (end 1.27 62.23) (layer F.Fab) (width 0.1)) - (fp_line (start 1.27 62.23) (end 1.27 -1.27) (layer F.Fab) (width 0.1)) - (fp_line (start 1.8 -1.8) (end -4.3 -1.8) (layer F.CrtYd) (width 0.05)) - (fp_line (start -4.3 -1.8) (end -4.3 62.7) (layer F.CrtYd) (width 0.05)) - (fp_line (start -4.3 62.7) (end 1.8 62.7) (layer F.CrtYd) (width 0.05)) - (fp_line (start 1.8 62.7) (end 1.8 -1.8) (layer F.CrtYd) (width 0.05)) - (fp_text user %R (at -1.27 30.48) (layer F.Fab) - (effects (font (size 1 1) (thickness 0.15))) - ) - (pad 26 thru_hole oval (at 0 60.96 90) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask) - (net 25 /GND)) - (pad 25 thru_hole oval (at -2.54 60.96 90) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask) - (net 50 /+5V)) - (pad 27 thru_hole oval (at 0 58.42 90) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask) - (net 24 /DMAIN)) - (pad 24 thru_hole oval (at -2.54 58.42 90) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask) - (net 49 /DMAOUT)) - (pad 28 thru_hole oval (at 0 55.88 90) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask) - (net 23 /INTIN)) - (pad 23 thru_hole oval (at -2.54 55.88 90) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask) - (net 48 /INTOUT)) - (pad 29 thru_hole oval (at 0 53.34 90) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask) - (net 22 /~NMI)) - (pad 22 thru_hole oval (at -2.54 53.34 90) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask) - (net 47 /~DMA)) - (pad 30 thru_hole oval (at 0 50.8 90) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask) - (net 21 /~IRQ)) - (pad 21 thru_hole oval (at -2.54 50.8 90) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask) - (net 46 /RDY)) - (pad 31 thru_hole oval (at 0 48.26 90) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask) - (net 20 /~RES)) - (pad 20 thru_hole oval (at -2.54 48.26 90) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask) - (net 45 /~IOSTRB)) - (pad 32 thru_hole oval (at 0 45.72 90) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask) - (net 19 /~INH)) - (pad 19 thru_hole oval (at -2.54 45.72 90) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask) - (net 44 /SYNC)) - (pad 33 thru_hole oval (at 0 43.18 90) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask) - (net 18 /-12V)) - (pad 18 thru_hole oval (at -2.54 43.18 90) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask) - (net 43 /R~W)) - (pad 34 thru_hole oval (at 0 40.64 90) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask) - (net 17 /-5V)) - (pad 17 thru_hole oval (at -2.54 40.64 90) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask) - (net 42 /A15)) - (pad 35 thru_hole oval (at 0 38.1 90) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask) - (net 16 /COLORREF)) - (pad 16 thru_hole oval (at -2.54 38.1 90) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask) - (net 41 /A14)) - (pad 36 thru_hole oval (at 0 35.56 90) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask) - (net 15 /7M)) - (pad 15 thru_hole oval (at -2.54 35.56 90) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask) - (net 40 /A13)) - (pad 37 thru_hole oval (at 0 33.02 90) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask) - (net 14 /Q3)) - (pad 14 thru_hole oval (at -2.54 33.02 90) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask) - (net 39 /A12)) - (pad 38 thru_hole oval (at 0 30.48 90) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask) - (net 13 /PHI1)) - (pad 13 thru_hole oval (at -2.54 30.48 90) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask) - (net 38 /A11)) - (pad 39 thru_hole oval (at 0 27.94 90) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask) - (net 12 /USER1)) - (pad 12 thru_hole oval (at -2.54 27.94 90) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask) - (net 37 /A10)) - (pad 40 thru_hole oval (at 0 25.4 90) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask) - (net 11 /PHI0)) - (pad 11 thru_hole oval (at -2.54 25.4 90) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask) - (net 36 /A9)) - (pad 41 thru_hole oval (at 0 22.86 90) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask) - (net 10 /~DEVSEL)) - (pad 10 thru_hole oval (at -2.54 22.86 90) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask) - (net 35 /A8)) - (pad 42 thru_hole oval (at 0 20.32 90) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask) - (net 9 /D7)) - (pad 9 thru_hole oval (at -2.54 20.32 90) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask) - (net 34 /A7)) - (pad 43 thru_hole oval (at 0 17.78 90) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask) - (net 8 /D6)) - (pad 8 thru_hole oval (at -2.54 17.78 90) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask) - (net 33 /A6)) - (pad 44 thru_hole oval (at 0 15.24 90) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask) - (net 7 /D5)) - (pad 7 thru_hole oval (at -2.54 15.24 90) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask) - (net 32 /A5)) - (pad 45 thru_hole oval (at 0 12.7 90) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask) - (net 6 /D4)) - (pad 6 thru_hole oval (at -2.54 12.7 90) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask) - (net 31 /A4)) - (pad 46 thru_hole oval (at 0 10.16 90) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask) - (net 5 /D3)) - (pad 5 thru_hole oval (at -2.54 10.16 90) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask) - (net 30 /A3)) - (pad 47 thru_hole oval (at 0 7.62 90) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask) - (net 4 /D2)) - (pad 4 thru_hole oval (at -2.54 7.62 90) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask) - (net 29 /A2)) - (pad 48 thru_hole oval (at 0 5.08 90) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask) - (net 3 /D1)) - (pad 3 thru_hole oval (at -2.54 5.08 90) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask) - (net 28 /A1)) - (pad 49 thru_hole oval (at 0 2.54 90) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask) - (net 2 /D0)) - (pad 2 thru_hole oval (at -2.54 2.54 90) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask) - (net 27 /A0)) - (pad 50 thru_hole oval (at 0 0 90) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask) - (net 1 /+12V)) - (pad 1 thru_hole oval (at -2.54 0 90) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask) - (net 26 /~IOSEL)) - (model ${KISYS3DMOD}/Connector_PinSocket_2.54mm.3dshapes/PinSocket_2x25_P2.54mm_Vertical.wrl - (at (xyz 0 0 0)) - (scale (xyz 1 1 1)) - (rotate (xyz 0 0 0)) + (fp_text value ESP32-DEVKITC-32D (at 1.24136 28.294535) (layer F.Fab) + (effects (font (size 1.001047 1.001047) (thickness 0.15))) ) + (fp_line (start -13.95 -27.15) (end 13.95 -27.15) (layer F.Fab) (width 0.127)) + (fp_line (start 13.95 -27.15) (end 13.95 27.25) (layer F.Fab) (width 0.127)) + (fp_line (start 13.95 27.25) (end -13.95 27.25) (layer F.Fab) (width 0.127)) + (fp_line (start -13.95 27.25) (end -13.95 -27.15) (layer F.Fab) (width 0.127)) + (fp_line (start -13.95 27.25) (end -13.95 -27.15) (layer F.SilkS) (width 0.127)) + (fp_line (start -13.95 -27.15) (end 13.95 -27.15) (layer F.SilkS) (width 0.127)) + (fp_line (start 13.95 -27.15) (end 13.95 27.25) (layer F.SilkS) (width 0.127)) + (fp_line (start 13.95 27.25) (end -13.95 27.25) (layer F.SilkS) (width 0.127)) + (fp_line (start -14.2 -27.4) (end 14.2 -27.4) (layer F.CrtYd) (width 0.05)) + (fp_line (start 14.2 -27.4) (end 14.2 27.5) (layer F.CrtYd) (width 0.05)) + (fp_line (start 14.2 27.5) (end -14.2 27.5) (layer F.CrtYd) (width 0.05)) + (fp_line (start -14.2 27.5) (end -14.2 -27.4) (layer F.CrtYd) (width 0.05)) + (fp_circle (center -14.6 -19.9) (end -14.46 -19.9) (layer F.Fab) (width 0.28)) + (fp_circle (center -14.6 -19.9) (end -14.46 -19.9) (layer F.Fab) (width 0.28)) + (pad 38 thru_hole circle (at 12.7 25.96) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask) + (net 87 "Net-(U2-Pad38)")) + (pad 37 thru_hole circle (at 12.7 23.42) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask) + (net 88 "Net-(U2-Pad37)")) + (pad 36 thru_hole circle (at 12.7 20.88) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask) + (net 52 "Net-(U2-Pad36)")) + (pad 35 thru_hole circle (at 12.7 18.34) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask) + (net 83 "Net-(U1-Pad28)")) + (pad 34 thru_hole circle (at 12.7 15.8) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask) + (net 53 "Net-(U2-Pad34)")) + (pad 33 thru_hole circle (at 12.7 13.26) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask) + (net 54 "Net-(U2-Pad33)")) + (pad 32 thru_hole circle (at 12.7 10.72) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask) + (net 55 "Net-(U2-Pad32)")) + (pad 31 thru_hole circle (at 12.7 8.18) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask) + (net 56 "Net-(U2-Pad31)")) + (pad 30 thru_hole circle (at 12.7 5.64) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask) + (net 57 "Net-(U2-Pad30)")) + (pad 29 thru_hole circle (at 12.7 3.1) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask) + (net 58 "Net-(U1-Pad46)")) + (pad 28 thru_hole circle (at 12.7 0.56) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask) + (net 82 "Net-(U1-Pad29)")) + (pad 27 thru_hole circle (at 12.7 -1.98) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask) + (net 81 "Net-(U1-Pad30)")) + (pad 26 thru_hole circle (at 12.7 -4.52) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask) + (net 49 GND)) + (pad 25 thru_hole circle (at 12.7 -7.06) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask) + (net 80 "Net-(U1-Pad31)")) + (pad 24 thru_hole circle (at 12.7 -9.6) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask) + (net 60 "Net-(U2-Pad24)")) + (pad 23 thru_hole circle (at 12.7 -12.14) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask) + (net 61 "Net-(U2-Pad23)")) + (pad 22 thru_hole circle (at 12.7 -14.68) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask) + (net 79 "Net-(U1-Pad32)")) + (pad 21 thru_hole circle (at 12.7 -17.22) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask) + (net 51 "Net-(U1-Pad42)")) + (pad 20 thru_hole circle (at 12.7 -19.76) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask) + (net 49 GND)) + (pad 18 thru_hole circle (at -12.7 23.42) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask) + (net 62 "Net-(U2-Pad18)")) + (pad 17 thru_hole circle (at -12.7 20.88) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask) + (net 63 "Net-(U2-Pad17)")) + (pad 16 thru_hole circle (at -12.7 18.34) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask) + (net 64 "Net-(U2-Pad16)")) + (pad 15 thru_hole circle (at -12.7 15.8) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask) + (net 85 "Net-(U1-Pad26)")) + (pad 14 thru_hole circle (at -12.7 13.26) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask) + (net 49 GND)) + (pad 13 thru_hole circle (at -12.7 10.72) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask) + (net 86 "Net-(U1-Pad25)")) + (pad 12 thru_hole circle (at -12.7 8.18) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask) + (net 84 "Net-(U1-Pad27)")) + (pad 11 thru_hole circle (at -12.7 5.64) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask) + (net 65 "Net-(U1-Pad39)")) + (pad 10 thru_hole circle (at -12.7 3.1) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask) + (net 66 "Net-(U1-Pad40)")) + (pad 9 thru_hole circle (at -12.7 0.56) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask) + (net 67 "Net-(U1-Pad41)")) + (pad 8 thru_hole circle (at -12.7 -1.98) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask) + (net 74 "Net-(U1-Pad37)")) + (pad 7 thru_hole circle (at -12.7 -4.52) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask) + (net 59 "Net-(U1-Pad38)")) + (pad 6 thru_hole circle (at -12.7 -7.06) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask) + (net 68 "Net-(U1-Pad3)")) + (pad 5 thru_hole circle (at -12.7 -9.6) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask) + (net 25 /~IOSEL)) + (pad 4 thru_hole circle (at -12.7 -12.14) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask) + (net 70 "Net-(U2-Pad4)")) + (pad 3 thru_hole circle (at -12.7 -14.68) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask) + (net 71 "Net-(U2-Pad3)")) + (pad 19 thru_hole circle (at -12.7 25.96) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask) + (net 50 +5V)) + (pad 2 thru_hole circle (at -12.7 -17.22) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask) + (net 72 "Net-(U2-Pad2)")) + (pad 1 thru_hole rect (at -12.7 -19.76) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask) + (net 89 "Net-(U2-Pad1)")) ) (module pub:AppleIIBus (layer F.Cu) (tedit 5E4F43C2) (tstamp 5E33EA12) @@ -805,12 +398,12 @@ (fp_text value "CARD EDGE" (at 25.4 -5.08) (layer F.Fab) (effects (font (size 1 1) (thickness 0.15))) ) - (fp_poly (pts (xy -32.893 -3.81) (xy -32.893 3.81) (xy -31.877 3.81) (xy -31.877 -3.81)) (layer F.Mask) (width 0)) - (fp_poly (pts (xy 32.893 -3.81) (xy 31.877 -3.81) (xy 31.877 3.81) (xy 32.893 3.81)) (layer F.Mask) (width 0)) - (fp_poly (pts (xy -32.893 -3.81) (xy -32.893 3.81) (xy -31.877 3.81) (xy -31.877 -3.81)) (layer B.Mask) (width 0)) (fp_poly (pts (xy 32.893 -3.81) (xy 31.877 -3.81) (xy 31.877 3.81) (xy 32.893 3.81)) (layer B.Mask) (width 0)) + (fp_poly (pts (xy -32.893 -3.81) (xy -32.893 3.81) (xy -31.877 3.81) (xy -31.877 -3.81)) (layer B.Mask) (width 0)) + (fp_poly (pts (xy 32.893 -3.81) (xy 31.877 -3.81) (xy 31.877 3.81) (xy 32.893 3.81)) (layer F.Mask) (width 0)) + (fp_poly (pts (xy -32.893 -3.81) (xy -32.893 3.81) (xy -31.877 3.81) (xy -31.877 -3.81)) (layer F.Mask) (width 0)) (pad 26 smd rect (at 30.48 0) (size 1.524 6.35) (layers B.Cu B.Mask) - (net 51 GND) (solder_mask_margin 0.635) (clearance 0.254)) + (net 49 GND) (solder_mask_margin 0.635) (clearance 0.254)) (pad 27 smd rect (at 27.94 0) (size 1.524 6.35) (layers B.Cu B.Mask) (net 24 /DMAIN) (solder_mask_margin 0.635) (clearance 0.254)) (pad 28 smd rect (at 25.4 0) (size 1.524 6.35) (layers B.Cu B.Mask) @@ -860,395 +453,269 @@ (pad 50 smd rect (at -30.48 0) (size 1.524 6.35) (layers B.Cu B.Mask) (net 1 /+12V) (solder_mask_margin 0.635) (clearance 0.254)) (pad 25 smd rect (at 30.48 0) (size 1.524 6.35) (layers F.Cu F.Mask) - (net 52 +5V) (solder_mask_margin 0.635) (clearance 0.254)) + (net 50 +5V) (solder_mask_margin 0.635) (clearance 0.254)) (pad 24 smd rect (at 27.94 0) (size 1.524 6.35) (layers F.Cu F.Mask) - (net 49 /DMAOUT) (solder_mask_margin 0.635) (clearance 0.254)) + (net 48 /DMAOUT) (solder_mask_margin 0.635) (clearance 0.254)) (pad 23 smd rect (at 25.4 0) (size 1.524 6.35) (layers F.Cu F.Mask) - (net 48 /INTOUT) (solder_mask_margin 0.635) (clearance 0.254)) + (net 47 /INTOUT) (solder_mask_margin 0.635) (clearance 0.254)) (pad 22 smd rect (at 22.86 0) (size 1.524 6.35) (layers F.Cu F.Mask) - (net 47 /~DMA) (solder_mask_margin 0.635) (clearance 0.254)) + (net 46 /~DMA) (solder_mask_margin 0.635) (clearance 0.254)) (pad 21 smd rect (at 20.32 0) (size 1.524 6.35) (layers F.Cu F.Mask) - (net 46 /RDY) (solder_mask_margin 0.635) (clearance 0.254)) + (net 45 /RDY) (solder_mask_margin 0.635) (clearance 0.254)) (pad 20 smd rect (at 17.78 0) (size 1.524 6.35) (layers F.Cu F.Mask) - (net 45 /~IOSTRB) (solder_mask_margin 0.635) (clearance 0.254)) + (net 44 /~IOSTRB) (solder_mask_margin 0.635) (clearance 0.254)) (pad 19 smd rect (at 15.24 0) (size 1.524 6.35) (layers F.Cu F.Mask) - (net 44 /SYNC) (solder_mask_margin 0.635) (clearance 0.254)) + (net 43 /SYNC) (solder_mask_margin 0.635) (clearance 0.254)) (pad 18 smd rect (at 12.7 0) (size 1.524 6.35) (layers F.Cu F.Mask) - (net 43 /R~W) (solder_mask_margin 0.635) (clearance 0.254)) + (net 42 /R~W) (solder_mask_margin 0.635) (clearance 0.254)) (pad 17 smd rect (at 10.16 0) (size 1.524 6.35) (layers F.Cu F.Mask) - (net 42 /A15) (solder_mask_margin 0.635) (clearance 0.254)) + (net 41 /A15) (solder_mask_margin 0.635) (clearance 0.254)) (pad 16 smd rect (at 7.62 0) (size 1.524 6.35) (layers F.Cu F.Mask) - (net 41 /A14) (solder_mask_margin 0.635) (clearance 0.254)) + (net 40 /A14) (solder_mask_margin 0.635) (clearance 0.254)) (pad 15 smd rect (at 5.08 0) (size 1.524 6.35) (layers F.Cu F.Mask) - (net 40 /A13) (solder_mask_margin 0.635) (clearance 0.254)) + (net 39 /A13) (solder_mask_margin 0.635) (clearance 0.254)) (pad 14 smd rect (at 2.54 0) (size 1.524 6.35) (layers F.Cu F.Mask) - (net 39 /A12) (solder_mask_margin 0.635) (clearance 0.254)) + (net 38 /A12) (solder_mask_margin 0.635) (clearance 0.254)) (pad 13 smd rect (at 0 0) (size 1.524 6.35) (layers F.Cu F.Mask) - (net 38 /A11) (solder_mask_margin 0.635) (clearance 0.254)) + (net 37 /A11) (solder_mask_margin 0.635) (clearance 0.254)) (pad 12 smd rect (at -2.54 0) (size 1.524 6.35) (layers F.Cu F.Mask) - (net 37 /A10) (solder_mask_margin 0.635) (clearance 0.254)) + (net 36 /A10) (solder_mask_margin 0.635) (clearance 0.254)) (pad 11 smd rect (at -5.08 0) (size 1.524 6.35) (layers F.Cu F.Mask) - (net 36 /A9) (solder_mask_margin 0.635) (clearance 0.254)) + (net 35 /A9) (solder_mask_margin 0.635) (clearance 0.254)) (pad 10 smd rect (at -7.62 0) (size 1.524 6.35) (layers F.Cu F.Mask) - (net 35 /A8) (solder_mask_margin 0.635) (clearance 0.254)) + (net 34 /A8) (solder_mask_margin 0.635) (clearance 0.254)) (pad 9 smd rect (at -10.16 0) (size 1.524 6.35) (layers F.Cu F.Mask) - (net 34 /A7) (solder_mask_margin 0.635) (clearance 0.254)) + (net 33 /A7) (solder_mask_margin 0.635) (clearance 0.254)) (pad 8 smd rect (at -12.7 0) (size 1.524 6.35) (layers F.Cu F.Mask) - (net 33 /A6) (solder_mask_margin 0.635) (clearance 0.254)) + (net 32 /A6) (solder_mask_margin 0.635) (clearance 0.254)) (pad 7 smd rect (at -15.24 0) (size 1.524 6.35) (layers F.Cu F.Mask) - (net 32 /A5) (solder_mask_margin 0.635) (clearance 0.254)) + (net 31 /A5) (solder_mask_margin 0.635) (clearance 0.254)) (pad 6 smd rect (at -17.78 0) (size 1.524 6.35) (layers F.Cu F.Mask) - (net 31 /A4) (solder_mask_margin 0.635) (clearance 0.254)) + (net 30 /A4) (solder_mask_margin 0.635) (clearance 0.254)) (pad 5 smd rect (at -20.32 0) (size 1.524 6.35) (layers F.Cu F.Mask) - (net 30 /A3) (solder_mask_margin 0.635) (clearance 0.254)) + (net 29 /A3) (solder_mask_margin 0.635) (clearance 0.254)) (pad 4 smd rect (at -22.86 0) (size 1.524 6.35) (layers F.Cu F.Mask) - (net 29 /A2) (solder_mask_margin 0.635) (clearance 0.254)) + (net 28 /A2) (solder_mask_margin 0.635) (clearance 0.254)) (pad 3 smd rect (at -25.4 0) (size 1.524 6.35) (layers F.Cu F.Mask) - (net 28 /A1) (solder_mask_margin 0.635) (clearance 0.254)) + (net 27 /A1) (solder_mask_margin 0.635) (clearance 0.254)) (pad 2 smd rect (at -27.94 0) (size 1.524 6.35) (layers F.Cu F.Mask) - (net 27 /A0) (solder_mask_margin 0.635) (clearance 0.254)) + (net 26 /A0) (solder_mask_margin 0.635) (clearance 0.254)) (pad 1 smd rect (at -30.48 0) (size 1.524 6.35) (layers F.Cu F.Mask) - (net 26 /~IOSEL) (solder_mask_margin 0.635) (clearance 0.254)) + (net 25 /~IOSEL) (solder_mask_margin 0.635) (clearance 0.254)) ) + (module Capacitor_THT:C_Disc_D8.0mm_W2.5mm_P5.00mm (layer F.Cu) (tedit 5AE50EF0) (tstamp 61017937) + (at 198.04 119.38 180) + (descr "C, Disc series, Radial, pin pitch=5.00mm, , diameter*width=8*2.5mm^2, Capacitor, http://cdn-reichelt.de/documents/datenblatt/B300/DS_KERKO_TC.pdf") + (tags "C Disc series Radial pin pitch 5.00mm diameter 8mm width 2.5mm Capacitor") + (path /6103513B) + (fp_text reference C1 (at 2.5 -2.5) (layer F.SilkS) + (effects (font (size 1 1) (thickness 0.15))) + ) + (fp_text value C (at 2.5 2.5) (layer F.Fab) + (effects (font (size 1 1) (thickness 0.15))) + ) + (fp_line (start 6.75 -1.5) (end -1.75 -1.5) (layer F.CrtYd) (width 0.05)) + (fp_line (start 6.75 1.5) (end 6.75 -1.5) (layer F.CrtYd) (width 0.05)) + (fp_line (start -1.75 1.5) (end 6.75 1.5) (layer F.CrtYd) (width 0.05)) + (fp_line (start -1.75 -1.5) (end -1.75 1.5) (layer F.CrtYd) (width 0.05)) + (fp_line (start 6.62 -1.37) (end 6.62 1.37) (layer F.SilkS) (width 0.12)) + (fp_line (start -1.62 -1.37) (end -1.62 1.37) (layer F.SilkS) (width 0.12)) + (fp_line (start -1.62 1.37) (end 6.62 1.37) (layer F.SilkS) (width 0.12)) + (fp_line (start -1.62 -1.37) (end 6.62 -1.37) (layer F.SilkS) (width 0.12)) + (fp_line (start 6.5 -1.25) (end -1.5 -1.25) (layer F.Fab) (width 0.1)) + (fp_line (start 6.5 1.25) (end 6.5 -1.25) (layer F.Fab) (width 0.1)) + (fp_line (start -1.5 1.25) (end 6.5 1.25) (layer F.Fab) (width 0.1)) + (fp_line (start -1.5 -1.25) (end -1.5 1.25) (layer F.Fab) (width 0.1)) + (fp_text user %R (at 2.5 0) (layer F.Fab) + (effects (font (size 1 1) (thickness 0.15))) + ) + (pad 2 thru_hole circle (at 5 0 180) (size 1.6 1.6) (drill 0.8) (layers *.Cu *.Mask) + (net 49 GND)) + (pad 1 thru_hole circle (at 0 0 180) (size 1.6 1.6) (drill 0.8) (layers *.Cu *.Mask) + (net 50 +5V)) + (model ${KISYS3DMOD}/Capacitor_THT.3dshapes/C_Disc_D8.0mm_W2.5mm_P5.00mm.wrl + (at (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (module Package_DIP:DIP-48_W15.24mm_Socket_LongPads (layer F.Cu) (tedit 5A02E8C5) (tstamp 6101CB7E) + (at 120.65 92.71 90) + (descr "48-lead though-hole mounted DIP package, row spacing 15.24 mm (600 mils), Socket, LongPads") + (tags "THT DIP DIL PDIP 2.54mm 15.24mm 600mil Socket LongPads") + (path /6102DC5C) + (fp_text reference U1 (at 7.62 -2.33 90) (layer F.SilkS) + (effects (font (size 1 1) (thickness 0.15))) + ) + (fp_text value IDT7132 (at 7.62 60.75 90) (layer F.Fab) + (effects (font (size 1 1) (thickness 0.15))) + ) + (fp_line (start 16.8 -1.6) (end -1.55 -1.6) (layer F.CrtYd) (width 0.05)) + (fp_line (start 16.8 60) (end 16.8 -1.6) (layer F.CrtYd) (width 0.05)) + (fp_line (start -1.55 60) (end 16.8 60) (layer F.CrtYd) (width 0.05)) + (fp_line (start -1.55 -1.6) (end -1.55 60) (layer F.CrtYd) (width 0.05)) + (fp_line (start 16.68 -1.39) (end -1.44 -1.39) (layer F.SilkS) (width 0.12)) + (fp_line (start 16.68 59.81) (end 16.68 -1.39) (layer F.SilkS) (width 0.12)) + (fp_line (start -1.44 59.81) (end 16.68 59.81) (layer F.SilkS) (width 0.12)) + (fp_line (start -1.44 -1.39) (end -1.44 59.81) (layer F.SilkS) (width 0.12)) + (fp_line (start 13.68 -1.33) (end 8.62 -1.33) (layer F.SilkS) (width 0.12)) + (fp_line (start 13.68 59.75) (end 13.68 -1.33) (layer F.SilkS) (width 0.12)) + (fp_line (start 1.56 59.75) (end 13.68 59.75) (layer F.SilkS) (width 0.12)) + (fp_line (start 1.56 -1.33) (end 1.56 59.75) (layer F.SilkS) (width 0.12)) + (fp_line (start 6.62 -1.33) (end 1.56 -1.33) (layer F.SilkS) (width 0.12)) + (fp_line (start 16.51 -1.33) (end -1.27 -1.33) (layer F.Fab) (width 0.1)) + (fp_line (start 16.51 59.75) (end 16.51 -1.33) (layer F.Fab) (width 0.1)) + (fp_line (start -1.27 59.75) (end 16.51 59.75) (layer F.Fab) (width 0.1)) + (fp_line (start -1.27 -1.33) (end -1.27 59.75) (layer F.Fab) (width 0.1)) + (fp_line (start 0.255 -0.27) (end 1.255 -1.27) (layer F.Fab) (width 0.1)) + (fp_line (start 0.255 59.69) (end 0.255 -0.27) (layer F.Fab) (width 0.1)) + (fp_line (start 14.985 59.69) (end 0.255 59.69) (layer F.Fab) (width 0.1)) + (fp_line (start 14.985 -1.27) (end 14.985 59.69) (layer F.Fab) (width 0.1)) + (fp_line (start 1.255 -1.27) (end 14.985 -1.27) (layer F.Fab) (width 0.1)) + (fp_text user %R (at 7.62 29.21 180) (layer F.Fab) + (effects (font (size 1 1) (thickness 0.15))) + ) + (fp_arc (start 7.62 -1.33) (end 6.62 -1.33) (angle -180) (layer F.SilkS) (width 0.12)) + (pad 48 thru_hole oval (at 15.24 0 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) + (net 50 +5V)) + (pad 24 thru_hole oval (at 0 58.42 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) + (net 49 GND)) + (pad 47 thru_hole oval (at 15.24 2.54 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) + (net 49 GND)) + (pad 23 thru_hole oval (at 0 55.88 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) + (net 9 /D7)) + (pad 46 thru_hole oval (at 15.24 5.08 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) + (net 58 "Net-(U1-Pad46)")) + (pad 22 thru_hole oval (at 0 53.34 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) + (net 8 /D6)) + (pad 45 thru_hole oval (at 15.24 7.62 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) + (net 69 "Net-(U1-Pad45)")) + (pad 21 thru_hole oval (at 0 50.8 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) + (net 7 /D5)) + (pad 44 thru_hole oval (at 15.24 10.16 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) + (net 73 "Net-(U1-Pad44)")) + (pad 20 thru_hole oval (at 0 48.26 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) + (net 6 /D4)) + (pad 43 thru_hole oval (at 15.24 12.7 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) + (net 49 GND)) + (pad 19 thru_hole oval (at 0 45.72 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) + (net 5 /D3)) + (pad 42 thru_hole oval (at 15.24 15.24 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) + (net 51 "Net-(U1-Pad42)")) + (pad 18 thru_hole oval (at 0 43.18 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) + (net 4 /D2)) + (pad 41 thru_hole oval (at 15.24 17.78 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) + (net 67 "Net-(U1-Pad41)")) + (pad 17 thru_hole oval (at 0 40.64 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) + (net 3 /D1)) + (pad 40 thru_hole oval (at 15.24 20.32 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) + (net 66 "Net-(U1-Pad40)")) + (pad 16 thru_hole oval (at 0 38.1 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) + (net 2 /D0)) + (pad 39 thru_hole oval (at 15.24 22.86 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) + (net 65 "Net-(U1-Pad39)")) + (pad 15 thru_hole oval (at 0 35.56 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) + (net 49 GND)) + (pad 38 thru_hole oval (at 15.24 25.4 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) + (net 59 "Net-(U1-Pad38)")) + (pad 14 thru_hole oval (at 0 33.02 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) + (net 49 GND)) + (pad 37 thru_hole oval (at 15.24 27.94 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) + (net 74 "Net-(U1-Pad37)")) + (pad 13 thru_hole oval (at 0 30.48 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) + (net 33 /A7)) + (pad 36 thru_hole oval (at 15.24 30.48 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) + (net 75 "Net-(U1-Pad36)")) + (pad 12 thru_hole oval (at 0 27.94 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) + (net 32 /A6)) + (pad 35 thru_hole oval (at 15.24 33.02 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) + (net 76 "Net-(U1-Pad35)")) + (pad 11 thru_hole oval (at 0 25.4 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) + (net 31 /A5)) + (pad 34 thru_hole oval (at 15.24 35.56 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) + (net 77 "Net-(U1-Pad34)")) + (pad 10 thru_hole oval (at 0 22.86 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) + (net 30 /A4)) + (pad 33 thru_hole oval (at 15.24 38.1 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) + (net 78 "Net-(U1-Pad33)")) + (pad 9 thru_hole oval (at 0 20.32 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) + (net 29 /A3)) + (pad 32 thru_hole oval (at 15.24 40.64 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) + (net 79 "Net-(U1-Pad32)")) + (pad 8 thru_hole oval (at 0 17.78 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) + (net 28 /A2)) + (pad 31 thru_hole oval (at 15.24 43.18 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) + (net 80 "Net-(U1-Pad31)")) + (pad 7 thru_hole oval (at 0 15.24 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) + (net 27 /A1)) + (pad 30 thru_hole oval (at 15.24 45.72 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) + (net 81 "Net-(U1-Pad30)")) + (pad 6 thru_hole oval (at 0 12.7 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) + (net 26 /A0)) + (pad 29 thru_hole oval (at 15.24 48.26 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) + (net 82 "Net-(U1-Pad29)")) + (pad 5 thru_hole oval (at 0 10.16 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) + (net 49 GND)) + (pad 28 thru_hole oval (at 15.24 50.8 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) + (net 83 "Net-(U1-Pad28)")) + (pad 4 thru_hole oval (at 0 7.62 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) + (net 49 GND)) + (pad 27 thru_hole oval (at 15.24 53.34 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) + (net 84 "Net-(U1-Pad27)")) + (pad 3 thru_hole oval (at 0 5.08 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) + (net 68 "Net-(U1-Pad3)")) + (pad 26 thru_hole oval (at 15.24 55.88 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) + (net 85 "Net-(U1-Pad26)")) + (pad 2 thru_hole oval (at 0 2.54 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) + (net 42 /R~W)) + (pad 25 thru_hole oval (at 15.24 58.42 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) + (net 86 "Net-(U1-Pad25)")) + (pad 1 thru_hole rect (at 0 0 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) + (net 10 /~DEVSEL)) + (model ${KISYS3DMOD}/Package_DIP.3dshapes/DIP-48_W15.24mm_Socket.wrl + (at (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (gr_line (start 167.767 124.587) (end 73.66 124.587) (layer Edge.Cuts) (width 0.05)) + (gr_line (start 167.767 132.207) (end 167.767 124.587) (layer Edge.Cuts) (width 0.05)) + (gr_line (start 167.767 132.207) (end 233.553 132.207) (layer Edge.Cuts) (width 0.05)) (gr_text "design by Nathanial Hendler, Tucson Arizona" (at 76.2 121.92) (layer F.SilkS) (tstamp 6021F06C) (effects (font (size 1 1) (thickness 0.15)) (justify left)) ) - (gr_text JLCJLCJLCJLC (at 80.01 110.49) (layer F.SilkS) - (effects (font (size 0.8 0.8) (thickness 0.15))) - ) - (gr_text 26 (at 233.045 116.84) (layer F.SilkS) (tstamp 5E33A7C0) + (gr_text "rev. 0.0.1 - 2021/07/27" (at 76.2 120.015) (layer F.SilkS) (tstamp 6021F075) (effects (font (size 1 1) (thickness 0.15)) (justify left)) ) - (gr_text 25 (at 233.045 119.38) (layer F.SilkS) (tstamp 5E33A7B8) - (effects (font (size 1 1) (thickness 0.15)) (justify left)) - ) - (gr_text 50 (at 168.275 116.84) (layer F.SilkS) (tstamp 5E33A79B) - (effects (font (size 1 1) (thickness 0.15)) (justify right)) - ) - (gr_text 1 (at 168.275 119.38) (layer F.SilkS) - (effects (font (size 1 1) (thickness 0.15)) (justify right)) - ) - (gr_text "rev. 1.1 - 2021/02/08" (at 76.2 120.015) (layer F.SilkS) (tstamp 6021F075) - (effects (font (size 1 1) (thickness 0.15)) (justify left)) - ) - (gr_text apple2idiot (at 76.2 116.205) (layer F.SilkS) (tstamp 5E341713) + (gr_text apple2idiot (at 76.2 116.205) (layer F.SilkS) (tstamp 61016A0C) (effects (font (size 3 3) (thickness 0.45)) (justify left)) ) (gr_line (start 240.03 55.88) (end 240.03 111.76) (layer F.SilkS) (width 0.12) (tstamp 5E3416DC)) (gr_line (start 74.93 55.88) (end 240.03 55.88) (layer F.SilkS) (width 0.12)) (gr_line (start 74.93 111.76) (end 74.93 55.88) (layer F.SilkS) (width 0.12)) - (gr_line (start 74.93 111.76) (end 240.03 111.76) (layer F.SilkS) (width 0.12)) - (gr_text GND (at 231.14 115.57 90) (layer F.SilkS) (tstamp 5E340D81) - (effects (font (size 0.75 0.75) (thickness 0.125)) (justify left)) - ) - (gr_text DMAI (at 228.6 115.57 90) (layer F.SilkS) (tstamp 5E340D81) - (effects (font (size 0.75 0.75) (thickness 0.125)) (justify left)) - ) - (gr_text INTI (at 226.06 115.57 90) (layer F.SilkS) (tstamp 5E340D81) - (effects (font (size 0.75 0.75) (thickness 0.125)) (justify left)) - ) - (gr_text ~NMI (at 223.52 115.57 90) (layer F.SilkS) (tstamp 5E340D81) - (effects (font (size 0.75 0.75) (thickness 0.125)) (justify left)) - ) - (gr_text ~IRQ (at 220.98 115.57 90) (layer F.SilkS) (tstamp 5E340D81) - (effects (font (size 0.75 0.75) (thickness 0.125)) (justify left)) - ) - (gr_text ~RES (at 218.44 115.57 90) (layer F.SilkS) (tstamp 5E340D81) - (effects (font (size 0.75 0.75) (thickness 0.125)) (justify left)) - ) - (gr_text ~INH (at 215.9 115.57 90) (layer F.SilkS) (tstamp 5E340D81) - (effects (font (size 0.75 0.75) (thickness 0.125)) (justify left)) - ) - (gr_text -12V (at 213.36 115.57 90) (layer F.SilkS) (tstamp 5E340D81) - (effects (font (size 0.75 0.75) (thickness 0.125)) (justify left)) - ) - (gr_text -5V (at 210.82 115.57 90) (layer F.SilkS) (tstamp 5E340D81) - (effects (font (size 0.75 0.75) (thickness 0.125)) (justify left)) - ) - (gr_text CLRRF (at 208.28 115.57 90) (layer F.SilkS) (tstamp 5E340D81) - (effects (font (size 0.75 0.75) (thickness 0.125)) (justify left)) - ) - (gr_text 7M (at 205.74 115.57 90) (layer F.SilkS) (tstamp 5E340D81) - (effects (font (size 0.75 0.75) (thickness 0.125)) (justify left)) - ) - (gr_text Q3 (at 203.2 115.57 90) (layer F.SilkS) (tstamp 5E340D81) - (effects (font (size 0.75 0.75) (thickness 0.125)) (justify left)) - ) - (gr_text PHI1 (at 200.66 115.57 90) (layer F.SilkS) (tstamp 5E340D81) - (effects (font (size 0.75 0.75) (thickness 0.125)) (justify left)) - ) - (gr_text USER1 (at 198.12 115.57 90) (layer F.SilkS) (tstamp 5E340D81) - (effects (font (size 0.75 0.75) (thickness 0.125)) (justify left)) - ) - (gr_text PHI0 (at 195.58 115.57 90) (layer F.SilkS) (tstamp 5E340D81) - (effects (font (size 0.75 0.75) (thickness 0.125)) (justify left)) - ) - (gr_text ~DVSEL (at 193.04 115.57 90) (layer F.SilkS) (tstamp 5E340D81) - (effects (font (size 0.75 0.75) (thickness 0.125)) (justify left)) - ) - (gr_text D7 (at 190.5 115.57 90) (layer F.SilkS) (tstamp 5E340D81) - (effects (font (size 0.75 0.75) (thickness 0.125)) (justify left)) - ) - (gr_text D6 (at 187.96 115.57 90) (layer F.SilkS) (tstamp 5E340D81) - (effects (font (size 0.75 0.75) (thickness 0.125)) (justify left)) - ) - (gr_text D5 (at 185.42 115.57 90) (layer F.SilkS) (tstamp 5E340D81) - (effects (font (size 0.75 0.75) (thickness 0.125)) (justify left)) - ) - (gr_text D4 (at 182.88 115.57 90) (layer F.SilkS) (tstamp 5E340D81) - (effects (font (size 0.75 0.75) (thickness 0.125)) (justify left)) - ) - (gr_text D3 (at 180.34 115.57 90) (layer F.SilkS) (tstamp 5E340D81) - (effects (font (size 0.75 0.75) (thickness 0.125)) (justify left)) - ) - (gr_text D2 (at 177.8 115.57 90) (layer F.SilkS) (tstamp 5E340D81) - (effects (font (size 0.75 0.75) (thickness 0.125)) (justify left)) - ) - (gr_text D1 (at 175.26 115.57 90) (layer F.SilkS) (tstamp 5E340D81) - (effects (font (size 0.75 0.75) (thickness 0.125)) (justify left)) - ) - (gr_text D0 (at 172.72 115.57 90) (layer F.SilkS) (tstamp 5E340D7E) - (effects (font (size 0.75 0.75) (thickness 0.125)) (justify left)) - ) - (gr_text +12V (at 170.18 115.57 90) (layer F.SilkS) (tstamp 5E340D79) - (effects (font (size 0.75 0.75) (thickness 0.125)) (justify left)) - ) - (gr_text +5V (at 231.14 120.65 90) (layer F.SilkS) (tstamp 5E340BEE) - (effects (font (size 0.75 0.75) (thickness 0.125)) (justify right)) - ) - (gr_text DMAO (at 228.6 120.65 90) (layer F.SilkS) (tstamp 5E340BEE) - (effects (font (size 0.75 0.75) (thickness 0.125)) (justify right)) - ) - (gr_text INTO (at 226.06 120.65 90) (layer F.SilkS) (tstamp 5E340BEE) - (effects (font (size 0.75 0.75) (thickness 0.125)) (justify right)) - ) - (gr_text ~DMA (at 223.52 120.65 90) (layer F.SilkS) (tstamp 5E340BEE) - (effects (font (size 0.75 0.75) (thickness 0.125)) (justify right)) - ) - (gr_text RDY (at 220.98 120.65 90) (layer F.SilkS) (tstamp 5E340BEE) - (effects (font (size 0.75 0.75) (thickness 0.125)) (justify right)) - ) - (gr_text ~IOSTR (at 218.44 120.65 90) (layer F.SilkS) (tstamp 5E340BEE) - (effects (font (size 0.75 0.75) (thickness 0.125)) (justify right)) - ) - (gr_text SYNC (at 215.9 120.65 90) (layer F.SilkS) (tstamp 5E340BEE) - (effects (font (size 0.75 0.75) (thickness 0.125)) (justify right)) - ) - (gr_text R~W (at 213.36 120.65 90) (layer F.SilkS) (tstamp 5E340BEE) - (effects (font (size 0.75 0.75) (thickness 0.125)) (justify right)) - ) - (gr_text A15 (at 210.82 120.65 90) (layer F.SilkS) (tstamp 5E340BEE) - (effects (font (size 0.75 0.75) (thickness 0.125)) (justify right)) - ) - (gr_text A14 (at 208.28 120.65 90) (layer F.SilkS) (tstamp 5E340BEE) - (effects (font (size 0.75 0.75) (thickness 0.125)) (justify right)) - ) - (gr_text A13 (at 205.74 120.65 90) (layer F.SilkS) (tstamp 5E340BEE) - (effects (font (size 0.75 0.75) (thickness 0.125)) (justify right)) - ) - (gr_text A12 (at 203.2 120.65 90) (layer F.SilkS) (tstamp 5E340BEE) - (effects (font (size 0.75 0.75) (thickness 0.125)) (justify right)) - ) - (gr_text A11 (at 200.66 120.65 90) (layer F.SilkS) (tstamp 5E340BEE) - (effects (font (size 0.75 0.75) (thickness 0.125)) (justify right)) - ) - (gr_text A10 (at 198.12 120.65 90) (layer F.SilkS) (tstamp 5E340BEE) - (effects (font (size 0.75 0.75) (thickness 0.125)) (justify right)) - ) - (gr_text A9 (at 195.58 120.65 90) (layer F.SilkS) (tstamp 5E340BEE) - (effects (font (size 0.75 0.75) (thickness 0.125)) (justify right)) - ) - (gr_text A8 (at 193.04 120.65 90) (layer F.SilkS) (tstamp 5E340BEE) - (effects (font (size 0.75 0.75) (thickness 0.125)) (justify right)) - ) - (gr_text A7 (at 190.5 120.65 90) (layer F.SilkS) (tstamp 5E340BEE) - (effects (font (size 0.75 0.75) (thickness 0.125)) (justify right)) - ) - (gr_text A6 (at 187.96 120.65 90) (layer F.SilkS) (tstamp 5E340BEE) - (effects (font (size 0.75 0.75) (thickness 0.125)) (justify right)) - ) - (gr_text A5 (at 185.42 120.65 90) (layer F.SilkS) (tstamp 5E340BEE) - (effects (font (size 0.75 0.75) (thickness 0.125)) (justify right)) - ) - (gr_text A4 (at 182.88 120.65 90) (layer F.SilkS) (tstamp 5E340BEE) - (effects (font (size 0.75 0.75) (thickness 0.125)) (justify right)) - ) - (gr_text A3 (at 180.34 120.65 90) (layer F.SilkS) (tstamp 5E340BEE) - (effects (font (size 0.75 0.75) (thickness 0.125)) (justify right)) - ) - (gr_text A2 (at 177.8 120.65 90) (layer F.SilkS) (tstamp 5E340BEE) - (effects (font (size 0.75 0.75) (thickness 0.125)) (justify right)) - ) - (gr_text A1 (at 175.26 120.65 90) (layer F.SilkS) (tstamp 5E340BEE) - (effects (font (size 0.75 0.75) (thickness 0.125)) (justify right)) - ) - (gr_text A0 (at 172.72 120.65 90) (layer F.SilkS) - (effects (font (size 0.75 0.75) (thickness 0.125)) (justify right)) - ) - (gr_text ~IOSEL (at 170.18 120.65 90) (layer F.SilkS) (tstamp 5E340BE7) - (effects (font (size 0.75 0.75) (thickness 0.125)) (justify right)) - ) (gr_line (start 73.66 54.737) (end 73.66 124.587) (layer Edge.Cuts) (width 0.05) (tstamp 5E34057F)) - (gr_line (start 167.767 124.587) (end 73.66 124.587) (layer Edge.Cuts) (width 0.05)) - (gr_line (start 167.767 132.207) (end 167.767 124.587) (layer Edge.Cuts) (width 0.05)) (gr_line (start 241.3 54.737) (end 73.66 54.737) (layer Edge.Cuts) (width 0.05)) (gr_line (start 241.3 124.587) (end 241.3 54.737) (layer Edge.Cuts) (width 0.05) (tstamp 5E3416F1)) (gr_line (start 233.553 124.587) (end 241.3 124.587) (layer Edge.Cuts) (width 0.05)) - (gr_line (start 233.553 132.207) (end 233.553 124.587) (layer Edge.Cuts) (width 0.05)) - (gr_line (start 167.767 132.207) (end 233.553 132.207) (layer Edge.Cuts) (width 0.05)) - (segment (start 168.629999 118.390001) (end 169.330001 117.689999) (width 1) (layer B.Cu) (net 1)) - (segment (start 168.629999 122.671999) (end 168.629999 118.390001) (width 1) (layer B.Cu) (net 1)) - (segment (start 170.18 124.222) (end 168.629999 122.671999) (width 1) (layer B.Cu) (net 1)) - (segment (start 169.330001 117.689999) (end 170.18 116.84) (width 1) (layer B.Cu) (net 1)) - (segment (start 170.18 128.397) (end 170.18 124.222) (width 1) (layer B.Cu) (net 1)) - (segment (start 173.569999 117.689999) (end 172.72 116.84) (width 0.4) (layer B.Cu) (net 2)) - (segment (start 173.970001 118.090001) (end 173.569999 117.689999) (width 0.4) (layer B.Cu) (net 2)) - (segment (start 172.72 124.822) (end 173.970001 123.571999) (width 0.4) (layer B.Cu) (net 2)) - (segment (start 173.970001 123.571999) (end 173.970001 118.090001) (width 0.4) (layer B.Cu) (net 2)) - (segment (start 172.72 128.397) (end 172.72 124.822) (width 0.4) (layer B.Cu) (net 2)) - (segment (start 176.109999 117.689999) (end 175.26 116.84) (width 0.4) (layer B.Cu) (net 3)) - (segment (start 176.510001 118.090001) (end 176.109999 117.689999) (width 0.4) (layer B.Cu) (net 3)) - (segment (start 176.510001 123.571999) (end 176.510001 118.090001) (width 0.4) (layer B.Cu) (net 3)) - (segment (start 175.26 124.822) (end 176.510001 123.571999) (width 0.4) (layer B.Cu) (net 3)) - (segment (start 175.26 128.397) (end 175.26 124.822) (width 0.4) (layer B.Cu) (net 3)) - (segment (start 178.649999 117.689999) (end 177.8 116.84) (width 0.4) (layer B.Cu) (net 4)) - (segment (start 179.050001 118.090001) (end 178.649999 117.689999) (width 0.4) (layer B.Cu) (net 4)) - (segment (start 179.050001 123.571999) (end 179.050001 118.090001) (width 0.4) (layer B.Cu) (net 4)) - (segment (start 177.8 124.822) (end 179.050001 123.571999) (width 0.4) (layer B.Cu) (net 4)) - (segment (start 177.8 128.397) (end 177.8 124.822) (width 0.4) (layer B.Cu) (net 4)) - (segment (start 181.590001 123.571999) (end 181.590001 118.090001) (width 0.4) (layer B.Cu) (net 5)) - (segment (start 180.34 124.822) (end 181.590001 123.571999) (width 0.4) (layer B.Cu) (net 5)) - (segment (start 181.189999 117.689999) (end 180.34 116.84) (width 0.4) (layer B.Cu) (net 5)) - (segment (start 181.590001 118.090001) (end 181.189999 117.689999) (width 0.4) (layer B.Cu) (net 5)) - (segment (start 180.34 128.397) (end 180.34 124.822) (width 0.4) (layer B.Cu) (net 5)) - (segment (start 184.130001 118.090001) (end 183.729999 117.689999) (width 0.4) (layer B.Cu) (net 6)) - (segment (start 183.729999 117.689999) (end 182.88 116.84) (width 0.4) (layer B.Cu) (net 6)) - (segment (start 184.130001 123.571999) (end 184.130001 118.090001) (width 0.4) (layer B.Cu) (net 6)) - (segment (start 182.88 124.822) (end 184.130001 123.571999) (width 0.4) (layer B.Cu) (net 6)) - (segment (start 182.88 128.397) (end 182.88 124.822) (width 0.4) (layer B.Cu) (net 6)) - (segment (start 186.269999 117.689999) (end 185.42 116.84) (width 0.4) (layer B.Cu) (net 7)) - (segment (start 186.670001 118.090001) (end 186.269999 117.689999) (width 0.4) (layer B.Cu) (net 7)) - (segment (start 186.670001 123.571999) (end 186.670001 118.090001) (width 0.4) (layer B.Cu) (net 7)) - (segment (start 185.42 124.822) (end 186.670001 123.571999) (width 0.4) (layer B.Cu) (net 7)) - (segment (start 185.42 128.397) (end 185.42 124.822) (width 0.4) (layer B.Cu) (net 7)) - (segment (start 188.809999 117.689999) (end 187.96 116.84) (width 0.4) (layer B.Cu) (net 8)) - (segment (start 189.210001 123.571999) (end 189.210001 118.090001) (width 0.4) (layer B.Cu) (net 8)) - (segment (start 189.210001 118.090001) (end 188.809999 117.689999) (width 0.4) (layer B.Cu) (net 8)) - (segment (start 187.96 124.822) (end 189.210001 123.571999) (width 0.4) (layer B.Cu) (net 8)) - (segment (start 187.96 128.397) (end 187.96 124.822) (width 0.4) (layer B.Cu) (net 8)) - (segment (start 191.750001 118.090001) (end 191.349999 117.689999) (width 0.4) (layer B.Cu) (net 9)) - (segment (start 190.5 124.822) (end 191.750001 123.571999) (width 0.4) (layer B.Cu) (net 9)) - (segment (start 191.349999 117.689999) (end 190.5 116.84) (width 0.4) (layer B.Cu) (net 9)) - (segment (start 191.750001 123.571999) (end 191.750001 118.090001) (width 0.4) (layer B.Cu) (net 9)) - (segment (start 190.5 128.397) (end 190.5 124.822) (width 0.4) (layer B.Cu) (net 9)) - (segment (start 193.889999 117.689999) (end 193.04 116.84) (width 0.4) (layer B.Cu) (net 10)) - (segment (start 194.290001 118.090001) (end 193.889999 117.689999) (width 0.4) (layer B.Cu) (net 10)) - (segment (start 194.290001 123.571999) (end 194.290001 118.090001) (width 0.4) (layer B.Cu) (net 10)) - (segment (start 193.04 124.822) (end 194.290001 123.571999) (width 0.4) (layer B.Cu) (net 10)) - (segment (start 193.04 128.397) (end 193.04 124.822) (width 0.4) (layer B.Cu) (net 10)) - (segment (start 196.429999 117.689999) (end 195.58 116.84) (width 0.4) (layer B.Cu) (net 11)) - (segment (start 196.830001 118.090001) (end 196.429999 117.689999) (width 0.4) (layer B.Cu) (net 11)) - (segment (start 196.830001 123.571999) (end 196.830001 118.090001) (width 0.4) (layer B.Cu) (net 11)) - (segment (start 195.58 124.822) (end 196.830001 123.571999) (width 0.4) (layer B.Cu) (net 11)) - (segment (start 195.58 128.397) (end 195.58 124.822) (width 0.4) (layer B.Cu) (net 11)) - (segment (start 199.370001 118.090001) (end 198.969999 117.689999) (width 0.4) (layer B.Cu) (net 12)) - (segment (start 198.969999 117.689999) (end 198.12 116.84) (width 0.4) (layer B.Cu) (net 12)) - (segment (start 198.12 124.822) (end 199.370001 123.571999) (width 0.4) (layer B.Cu) (net 12)) - (segment (start 199.370001 123.571999) (end 199.370001 118.090001) (width 0.4) (layer B.Cu) (net 12)) - (segment (start 198.12 128.397) (end 198.12 124.822) (width 0.4) (layer B.Cu) (net 12)) - (segment (start 201.910001 118.090001) (end 201.509999 117.689999) (width 0.4) (layer B.Cu) (net 13)) - (segment (start 201.910001 123.571999) (end 201.910001 118.090001) (width 0.4) (layer B.Cu) (net 13)) - (segment (start 200.66 124.822) (end 201.910001 123.571999) (width 0.4) (layer B.Cu) (net 13)) - (segment (start 201.509999 117.689999) (end 200.66 116.84) (width 0.4) (layer B.Cu) (net 13)) - (segment (start 200.66 128.397) (end 200.66 124.822) (width 0.4) (layer B.Cu) (net 13)) - (segment (start 204.049999 117.689999) (end 203.2 116.84) (width 0.4) (layer B.Cu) (net 14)) - (segment (start 204.450001 118.090001) (end 204.049999 117.689999) (width 0.4) (layer B.Cu) (net 14)) - (segment (start 204.450001 123.571999) (end 204.450001 118.090001) (width 0.4) (layer B.Cu) (net 14)) - (segment (start 203.2 124.822) (end 204.450001 123.571999) (width 0.4) (layer B.Cu) (net 14)) - (segment (start 203.2 128.397) (end 203.2 124.822) (width 0.4) (layer B.Cu) (net 14)) - (segment (start 206.990001 118.090001) (end 206.589999 117.689999) (width 0.4) (layer B.Cu) (net 15)) - (segment (start 206.589999 117.689999) (end 205.74 116.84) (width 0.4) (layer B.Cu) (net 15)) - (segment (start 205.74 124.822) (end 206.990001 123.571999) (width 0.4) (layer B.Cu) (net 15)) - (segment (start 206.990001 123.571999) (end 206.990001 118.090001) (width 0.4) (layer B.Cu) (net 15)) - (segment (start 205.74 128.397) (end 205.74 124.822) (width 0.4) (layer B.Cu) (net 15)) - (segment (start 209.129999 117.689999) (end 208.28 116.84) (width 0.4) (layer B.Cu) (net 16)) - (segment (start 208.28 124.822) (end 209.530001 123.571999) (width 0.4) (layer B.Cu) (net 16)) - (segment (start 209.530001 118.090001) (end 209.129999 117.689999) (width 0.4) (layer B.Cu) (net 16)) - (segment (start 209.530001 123.571999) (end 209.530001 118.090001) (width 0.4) (layer B.Cu) (net 16)) - (segment (start 208.28 128.397) (end 208.28 124.822) (width 0.4) (layer B.Cu) (net 16)) - (segment (start 212.109999 118.129999) (end 211.669999 117.689999) (width 0.4) (layer B.Cu) (net 17)) - (segment (start 211.669999 117.689999) (end 210.82 116.84) (width 0.4) (layer B.Cu) (net 17)) - (segment (start 210.82 124.822) (end 212.109999 123.532001) (width 0.4) (layer B.Cu) (net 17)) - (segment (start 212.109999 123.532001) (end 212.109999 118.129999) (width 0.4) (layer B.Cu) (net 17)) - (segment (start 210.82 128.397) (end 210.82 124.822) (width 0.4) (layer B.Cu) (net 17)) - (segment (start 214.610001 118.090001) (end 214.209999 117.689999) (width 0.4) (layer B.Cu) (net 18)) - (segment (start 214.610001 123.571999) (end 214.610001 118.090001) (width 0.4) (layer B.Cu) (net 18)) - (segment (start 213.36 124.822) (end 214.610001 123.571999) (width 0.4) (layer B.Cu) (net 18)) - (segment (start 214.209999 117.689999) (end 213.36 116.84) (width 0.4) (layer B.Cu) (net 18)) - (segment (start 213.36 128.397) (end 213.36 124.822) (width 0.4) (layer B.Cu) (net 18)) - (segment (start 217.150001 118.090001) (end 216.749999 117.689999) (width 0.4) (layer B.Cu) (net 19)) - (segment (start 217.150001 123.571999) (end 217.150001 118.090001) (width 0.4) (layer B.Cu) (net 19)) - (segment (start 215.9 124.822) (end 217.150001 123.571999) (width 0.4) (layer B.Cu) (net 19)) - (segment (start 216.749999 117.689999) (end 215.9 116.84) (width 0.4) (layer B.Cu) (net 19)) - (segment (start 215.9 128.397) (end 215.9 124.822) (width 0.4) (layer B.Cu) (net 19)) - (segment (start 219.690001 118.090001) (end 219.289999 117.689999) (width 0.4) (layer B.Cu) (net 20)) - (segment (start 218.44 124.822) (end 219.690001 123.571999) (width 0.4) (layer B.Cu) (net 20)) - (segment (start 219.289999 117.689999) (end 218.44 116.84) (width 0.4) (layer B.Cu) (net 20)) - (segment (start 219.690001 123.571999) (end 219.690001 118.090001) (width 0.4) (layer B.Cu) (net 20)) - (segment (start 218.44 128.397) (end 218.44 124.822) (width 0.4) (layer B.Cu) (net 20)) - (segment (start 222.230001 118.090001) (end 221.829999 117.689999) (width 0.4) (layer B.Cu) (net 21)) - (segment (start 222.230001 123.571999) (end 222.230001 118.090001) (width 0.4) (layer B.Cu) (net 21)) - (segment (start 220.98 124.822) (end 222.230001 123.571999) (width 0.4) (layer B.Cu) (net 21)) - (segment (start 221.829999 117.689999) (end 220.98 116.84) (width 0.4) (layer B.Cu) (net 21)) - (segment (start 220.98 128.397) (end 220.98 124.822) (width 0.4) (layer B.Cu) (net 21)) - (segment (start 224.770001 118.090001) (end 224.369999 117.689999) (width 0.4) (layer B.Cu) (net 22)) - (segment (start 224.770001 123.571999) (end 224.770001 118.090001) (width 0.4) (layer B.Cu) (net 22)) - (segment (start 224.369999 117.689999) (end 223.52 116.84) (width 0.4) (layer B.Cu) (net 22)) - (segment (start 223.52 124.822) (end 224.770001 123.571999) (width 0.4) (layer B.Cu) (net 22)) - (segment (start 223.52 128.397) (end 223.52 124.822) (width 0.4) (layer B.Cu) (net 22)) - (segment (start 226.909999 117.689999) (end 226.06 116.84) (width 0.4) (layer B.Cu) (net 23)) - (segment (start 227.310001 123.571999) (end 227.310001 118.090001) (width 0.4) (layer B.Cu) (net 23)) - (segment (start 226.06 124.822) (end 227.310001 123.571999) (width 0.4) (layer B.Cu) (net 23)) - (segment (start 227.310001 118.090001) (end 226.909999 117.689999) (width 0.4) (layer B.Cu) (net 23)) - (segment (start 226.06 128.397) (end 226.06 124.822) (width 0.4) (layer B.Cu) (net 23)) - (segment (start 229.449999 117.689999) (end 228.6 116.84) (width 0.4) (layer B.Cu) (net 24)) - (segment (start 229.850001 118.090001) (end 229.449999 117.689999) (width 0.4) (layer B.Cu) (net 24)) - (segment (start 229.850001 123.571999) (end 229.850001 118.090001) (width 0.4) (layer B.Cu) (net 24)) - (segment (start 228.6 124.822) (end 229.850001 123.571999) (width 0.4) (layer B.Cu) (net 24)) - (segment (start 228.6 128.397) (end 228.6 124.822) (width 0.4) (layer B.Cu) (net 24)) - (segment (start 231.989999 117.689999) (end 231.14 116.84) (width 1) (layer B.Cu) (net 25)) - (segment (start 231.14 124.222) (end 232.690001 122.671999) (width 1) (layer B.Cu) (net 25)) - (segment (start 232.690001 118.390001) (end 231.989999 117.689999) (width 1) (layer B.Cu) (net 25)) - (segment (start 232.690001 122.671999) (end 232.690001 118.390001) (width 1) (layer B.Cu) (net 25)) - (segment (start 231.14 128.397) (end 231.14 124.222) (width 1) (layer B.Cu) (net 25)) - (segment (start 170.18 124.822) (end 170.18 119.38) (width 0.4) (layer F.Cu) (net 26)) - (segment (start 170.18 128.397) (end 170.18 124.822) (width 0.4) (layer F.Cu) (net 26)) - (segment (start 172.72 128.397) (end 172.72 125.984) (width 0.4) (layer F.Cu) (net 27)) - (segment (start 172.72 125.984) (end 172.72 119.38) (width 0.4) (layer F.Cu) (net 27)) - (segment (start 175.26 128.397) (end 175.26 119.38) (width 0.4) (layer F.Cu) (net 28)) - (segment (start 177.8 128.397) (end 177.8 119.38) (width 0.4) (layer F.Cu) (net 29)) - (segment (start 180.34 128.397) (end 180.34 119.38) (width 0.4) (layer F.Cu) (net 30)) - (segment (start 182.88 128.397) (end 182.88 119.38) (width 0.4) (layer F.Cu) (net 31)) - (segment (start 185.42 128.397) (end 185.42 119.38) (width 0.4) (layer F.Cu) (net 32)) - (segment (start 187.96 128.397) (end 187.96 119.38) (width 0.4) (layer F.Cu) (net 33)) - (segment (start 190.5 128.397) (end 190.5 119.38) (width 0.4) (layer F.Cu) (net 34)) - (segment (start 193.04 128.397) (end 193.04 119.38) (width 0.4) (layer F.Cu) (net 35)) - (segment (start 195.58 128.397) (end 195.58 119.38) (width 0.4) (layer F.Cu) (net 36)) - (segment (start 198.12 128.397) (end 198.12 119.38) (width 0.4) (layer F.Cu) (net 37)) - (segment (start 200.66 128.397) (end 200.66 119.38) (width 0.4) (layer F.Cu) (net 38)) - (segment (start 203.2 128.397) (end 203.2 119.38) (width 0.4) (layer F.Cu) (net 39)) - (segment (start 205.74 128.397) (end 205.74 119.38) (width 0.4) (layer F.Cu) (net 40)) - (segment (start 208.28 128.397) (end 208.28 119.38) (width 0.4) (layer F.Cu) (net 41)) - (segment (start 210.82 128.397) (end 210.82 119.38) (width 0.4) (layer F.Cu) (net 42)) - (segment (start 213.36 128.397) (end 213.36 119.38) (width 0.4) (layer F.Cu) (net 43)) - (segment (start 215.9 128.397) (end 215.9 119.38) (width 0.4) (layer F.Cu) (net 44)) - (segment (start 218.44 128.397) (end 218.44 119.38) (width 0.4) (layer F.Cu) (net 45)) - (segment (start 220.98 128.397) (end 220.98 119.38) (width 0.4) (layer F.Cu) (net 46)) - (segment (start 223.52 128.397) (end 223.52 119.38) (width 0.4) (layer F.Cu) (net 47)) - (segment (start 226.06 128.397) (end 226.06 119.38) (width 0.4) (layer F.Cu) (net 48)) - (segment (start 228.6 128.397) (end 228.6 119.38) (width 0.4) (layer F.Cu) (net 49)) - (segment (start 231.14 128.397) (end 231.14 119.38) (width 1) (layer F.Cu) (net 50)) + (segment (start 172.72 106.68) (end 172.72 128.397) (width 0.25) (layer B.Cu) (net 2)) + (segment (start 158.75 92.71) (end 172.72 106.68) (width 0.25) (layer B.Cu) (net 2)) + (segment (start 175.26 106.68) (end 175.26 128.397) (width 0.25) (layer B.Cu) (net 3)) + (segment (start 161.29 92.71) (end 175.26 106.68) (width 0.25) (layer B.Cu) (net 3)) + (segment (start 177.8 106.68) (end 177.8 128.397) (width 0.25) (layer B.Cu) (net 4)) + (segment (start 163.83 92.71) (end 177.8 106.68) (width 0.25) (layer B.Cu) (net 4)) + (segment (start 180.34 106.68) (end 180.34 128.397) (width 0.25) (layer B.Cu) (net 5)) + (segment (start 166.37 92.71) (end 180.34 106.68) (width 0.25) (layer B.Cu) (net 5)) + (segment (start 182.88 106.68) (end 182.88 128.397) (width 0.25) (layer B.Cu) (net 6)) + (segment (start 168.91 92.71) (end 182.88 106.68) (width 0.25) (layer B.Cu) (net 6)) + (segment (start 185.42 106.68) (end 185.42 128.397) (width 0.25) (layer B.Cu) (net 7)) + (segment (start 171.45 92.71) (end 185.42 106.68) (width 0.25) (layer B.Cu) (net 7)) + (segment (start 187.96 106.68) (end 187.96 128.397) (width 0.25) (layer B.Cu) (net 8)) + (segment (start 173.99 92.71) (end 187.96 106.68) (width 0.25) (layer B.Cu) (net 8)) + (segment (start 190.5 106.68) (end 190.5 128.397) (width 0.25) (layer B.Cu) (net 9)) + (segment (start 176.53 92.71) (end 190.5 106.68) (width 0.25) (layer B.Cu) (net 9)) ) diff --git a/card/apple2idiot.kicad_pcb-bak b/card/apple2idiot.kicad_pcb-bak index e93213b..20887aa 100644 --- a/card/apple2idiot.kicad_pcb-bak +++ b/card/apple2idiot.kicad_pcb-bak @@ -1,21 +1,20 @@ -(kicad_pcb (version 20171130) (host pcbnew "(5.1.5-0-10_14)") +(kicad_pcb (version 20171130) (host pcbnew 5.1.10-88a1d61d58~88~ubuntu18.04.1) (general (thickness 1.6) - (drawings 70) - (tracks 152) + (drawings 13) + (tracks 0) (zones 0) - (modules 2) - (nets 51) + (modules 4) + (nets 90) ) (page A4) (title_block - (title "Apple II Breadboard Card") - (date 2021-02-08) - (rev 1.1) - (company "Renee Harke") - (comment 1 "MIT license; see LICENSE file") + (title apple2idiot) + (date 2021-07-27) + (rev 1.0.1) + (company "Nathanial Hendler") ) (layers @@ -125,32 +124,71 @@ (net 22 /~NMI) (net 23 /INTIN) (net 24 /DMAIN) - (net 25 /GND) - (net 26 /~IOSEL) - (net 27 /A0) - (net 28 /A1) - (net 29 /A2) - (net 30 /A3) - (net 31 /A4) - (net 32 /A5) - (net 33 /A6) - (net 34 /A7) - (net 35 /A8) - (net 36 /A9) - (net 37 /A10) - (net 38 /A11) - (net 39 /A12) - (net 40 /A13) - (net 41 /A14) - (net 42 /A15) - (net 43 /R~W) - (net 44 /SYNC) - (net 45 /~IOSTRB) - (net 46 /RDY) - (net 47 /~DMA) - (net 48 /INTOUT) - (net 49 /DMAOUT) - (net 50 /+5V) + (net 25 /~IOSEL) + (net 26 /A0) + (net 27 /A1) + (net 28 /A2) + (net 29 /A3) + (net 30 /A4) + (net 31 /A5) + (net 32 /A6) + (net 33 /A7) + (net 34 /A8) + (net 35 /A9) + (net 36 /A10) + (net 37 /A11) + (net 38 /A12) + (net 39 /A13) + (net 40 /A14) + (net 41 /A15) + (net 42 /R~W) + (net 43 /SYNC) + (net 44 /~IOSTRB) + (net 45 /RDY) + (net 46 /~DMA) + (net 47 /INTOUT) + (net 48 /DMAOUT) + (net 49 GND) + (net 50 +5V) + (net 51 "Net-(U1-Pad42)") + (net 52 "Net-(U2-Pad36)") + (net 53 "Net-(U2-Pad34)") + (net 54 "Net-(U2-Pad33)") + (net 55 "Net-(U2-Pad32)") + (net 56 "Net-(U2-Pad31)") + (net 57 "Net-(U2-Pad30)") + (net 58 "Net-(U1-Pad46)") + (net 59 "Net-(U1-Pad38)") + (net 60 "Net-(U2-Pad24)") + (net 61 "Net-(U2-Pad23)") + (net 62 "Net-(U2-Pad18)") + (net 63 "Net-(U2-Pad17)") + (net 64 "Net-(U2-Pad16)") + (net 65 "Net-(U1-Pad39)") + (net 66 "Net-(U1-Pad40)") + (net 67 "Net-(U1-Pad41)") + (net 68 "Net-(U1-Pad3)") + (net 69 "Net-(U1-Pad45)") + (net 70 "Net-(U2-Pad4)") + (net 71 "Net-(U2-Pad3)") + (net 72 "Net-(U2-Pad2)") + (net 73 "Net-(U1-Pad44)") + (net 74 "Net-(U1-Pad37)") + (net 75 "Net-(U1-Pad36)") + (net 76 "Net-(U1-Pad35)") + (net 77 "Net-(U1-Pad34)") + (net 78 "Net-(U1-Pad33)") + (net 79 "Net-(U1-Pad32)") + (net 80 "Net-(U1-Pad31)") + (net 81 "Net-(U1-Pad30)") + (net 82 "Net-(U1-Pad29)") + (net 83 "Net-(U1-Pad28)") + (net 84 "Net-(U1-Pad27)") + (net 85 "Net-(U1-Pad26)") + (net 86 "Net-(U1-Pad25)") + (net 87 "Net-(U2-Pad38)") + (net 88 "Net-(U2-Pad37)") + (net 89 "Net-(U2-Pad1)") (net_class Default "This is the default net class." (clearance 0.2) @@ -159,8 +197,8 @@ (via_drill 0.4) (uvia_dia 0.3) (uvia_drill 0.1) + (add_net +5V) (add_net /+12V) - (add_net /+5V) (add_net /-12V) (add_net /-5V) (add_net /7M) @@ -191,7 +229,6 @@ (add_net /D7) (add_net /DMAIN) (add_net /DMAOUT) - (add_net /GND) (add_net /INTIN) (add_net /INTOUT) (add_net /PHI0) @@ -209,135 +246,147 @@ (add_net /~IRQ) (add_net /~NMI) (add_net /~RES) + (add_net GND) + (add_net "Net-(U1-Pad25)") + (add_net "Net-(U1-Pad26)") + (add_net "Net-(U1-Pad27)") + (add_net "Net-(U1-Pad28)") + (add_net "Net-(U1-Pad29)") + (add_net "Net-(U1-Pad3)") + (add_net "Net-(U1-Pad30)") + (add_net "Net-(U1-Pad31)") + (add_net "Net-(U1-Pad32)") + (add_net "Net-(U1-Pad33)") + (add_net "Net-(U1-Pad34)") + (add_net "Net-(U1-Pad35)") + (add_net "Net-(U1-Pad36)") + (add_net "Net-(U1-Pad37)") + (add_net "Net-(U1-Pad38)") + (add_net "Net-(U1-Pad39)") + (add_net "Net-(U1-Pad40)") + (add_net "Net-(U1-Pad41)") + (add_net "Net-(U1-Pad42)") + (add_net "Net-(U1-Pad44)") + (add_net "Net-(U1-Pad45)") + (add_net "Net-(U1-Pad46)") + (add_net "Net-(U2-Pad1)") + (add_net "Net-(U2-Pad16)") + (add_net "Net-(U2-Pad17)") + (add_net "Net-(U2-Pad18)") + (add_net "Net-(U2-Pad2)") + (add_net "Net-(U2-Pad23)") + (add_net "Net-(U2-Pad24)") + (add_net "Net-(U2-Pad3)") + (add_net "Net-(U2-Pad30)") + (add_net "Net-(U2-Pad31)") + (add_net "Net-(U2-Pad32)") + (add_net "Net-(U2-Pad33)") + (add_net "Net-(U2-Pad34)") + (add_net "Net-(U2-Pad36)") + (add_net "Net-(U2-Pad37)") + (add_net "Net-(U2-Pad38)") + (add_net "Net-(U2-Pad4)") ) - (module pub:PinSocket_2x25_P2.54mm_Vertical_CCW_Mirrored_NoSilk (layer F.Cu) (tedit 6021F101) (tstamp 5E33EBBE) - (at 170.18 116.84 90) - (descr "Through hole straight socket strip, 2x25, 2.54mm pitch, double cols (from Kicad 4.0.7), script generated") - (tags "Through hole socket strip THT 2x25 2.54mm double row") - (path /5E39109E) - (fp_text reference J2 (at -1.27 -2.77 90) (layer F.SilkS) hide - (effects (font (size 1 1) (thickness 0.15))) + (module ESPDEVKIT:MODULE_ESP32-DEVKITC-32D (layer F.Cu) (tedit 6100DBC9) (tstamp 61015E67) + (at 217.17 88.9) + (path /613EE5FC) + (fp_text reference U2 (at -10.829175 -28.446045) (layer F.SilkS) + (effects (font (size 1.000386 1.000386) (thickness 0.15))) ) - (fp_text value "HEADER BLOCK" (at -1.27 63.73 90) (layer F.Fab) - (effects (font (size 1 1) (thickness 0.15))) - ) - (fp_text user %R (at -1.27 30.48) (layer F.Fab) - (effects (font (size 1 1) (thickness 0.15))) - ) - (fp_line (start 1.8 62.7) (end 1.8 -1.8) (layer F.CrtYd) (width 0.05)) - (fp_line (start -4.3 62.7) (end 1.8 62.7) (layer F.CrtYd) (width 0.05)) - (fp_line (start -4.3 -1.8) (end -4.3 62.7) (layer F.CrtYd) (width 0.05)) - (fp_line (start 1.8 -1.8) (end -4.3 -1.8) (layer F.CrtYd) (width 0.05)) - (fp_line (start 1.27 62.23) (end 1.27 -1.27) (layer F.Fab) (width 0.1)) - (fp_line (start -3.81 62.23) (end 1.27 62.23) (layer F.Fab) (width 0.1)) - (fp_line (start -3.81 -1.27) (end -3.81 62.23) (layer F.Fab) (width 0.1)) - (fp_line (start 1.27 -1.27) (end -3.81 -1.27) (layer F.Fab) (width 0.1)) - (pad 26 thru_hole oval (at 0 60.96 90) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask) - (net 25 /GND)) - (pad 25 thru_hole oval (at -2.54 60.96 90) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask) - (net 50 /+5V)) - (pad 27 thru_hole oval (at 0 58.42 90) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask) - (net 24 /DMAIN)) - (pad 24 thru_hole oval (at -2.54 58.42 90) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask) - (net 49 /DMAOUT)) - (pad 28 thru_hole oval (at 0 55.88 90) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask) - (net 23 /INTIN)) - (pad 23 thru_hole oval (at -2.54 55.88 90) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask) - (net 48 /INTOUT)) - (pad 29 thru_hole oval (at 0 53.34 90) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask) - (net 22 /~NMI)) - (pad 22 thru_hole oval (at -2.54 53.34 90) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask) - (net 47 /~DMA)) - (pad 30 thru_hole oval (at 0 50.8 90) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask) - (net 21 /~IRQ)) - (pad 21 thru_hole oval (at -2.54 50.8 90) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask) - (net 46 /RDY)) - (pad 31 thru_hole oval (at 0 48.26 90) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask) - (net 20 /~RES)) - (pad 20 thru_hole oval (at -2.54 48.26 90) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask) - (net 45 /~IOSTRB)) - (pad 32 thru_hole oval (at 0 45.72 90) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask) - (net 19 /~INH)) - (pad 19 thru_hole oval (at -2.54 45.72 90) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask) - (net 44 /SYNC)) - (pad 33 thru_hole oval (at 0 43.18 90) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask) - (net 18 /-12V)) - (pad 18 thru_hole oval (at -2.54 43.18 90) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask) - (net 43 /R~W)) - (pad 34 thru_hole oval (at 0 40.64 90) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask) - (net 17 /-5V)) - (pad 17 thru_hole oval (at -2.54 40.64 90) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask) - (net 42 /A15)) - (pad 35 thru_hole oval (at 0 38.1 90) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask) - (net 16 /COLORREF)) - (pad 16 thru_hole oval (at -2.54 38.1 90) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask) - (net 41 /A14)) - (pad 36 thru_hole oval (at 0 35.56 90) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask) - (net 15 /7M)) - (pad 15 thru_hole oval (at -2.54 35.56 90) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask) - (net 40 /A13)) - (pad 37 thru_hole oval (at 0 33.02 90) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask) - (net 14 /Q3)) - (pad 14 thru_hole oval (at -2.54 33.02 90) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask) - (net 39 /A12)) - (pad 38 thru_hole oval (at 0 30.48 90) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask) - (net 13 /PHI1)) - (pad 13 thru_hole oval (at -2.54 30.48 90) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask) - (net 38 /A11)) - (pad 39 thru_hole oval (at 0 27.94 90) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask) - (net 12 /USER1)) - (pad 12 thru_hole oval (at -2.54 27.94 90) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask) - (net 37 /A10)) - (pad 40 thru_hole oval (at 0 25.4 90) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask) - (net 11 /PHI0)) - (pad 11 thru_hole oval (at -2.54 25.4 90) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask) - (net 36 /A9)) - (pad 41 thru_hole oval (at 0 22.86 90) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask) - (net 10 /~DEVSEL)) - (pad 10 thru_hole oval (at -2.54 22.86 90) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask) - (net 35 /A8)) - (pad 42 thru_hole oval (at 0 20.32 90) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask) - (net 9 /D7)) - (pad 9 thru_hole oval (at -2.54 20.32 90) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask) - (net 34 /A7)) - (pad 43 thru_hole oval (at 0 17.78 90) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask) - (net 8 /D6)) - (pad 8 thru_hole oval (at -2.54 17.78 90) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask) - (net 33 /A6)) - (pad 44 thru_hole oval (at 0 15.24 90) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask) - (net 7 /D5)) - (pad 7 thru_hole oval (at -2.54 15.24 90) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask) - (net 32 /A5)) - (pad 45 thru_hole oval (at 0 12.7 90) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask) - (net 6 /D4)) - (pad 6 thru_hole oval (at -2.54 12.7 90) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask) - (net 31 /A4)) - (pad 46 thru_hole oval (at 0 10.16 90) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask) - (net 5 /D3)) - (pad 5 thru_hole oval (at -2.54 10.16 90) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask) - (net 30 /A3)) - (pad 47 thru_hole oval (at 0 7.62 90) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask) - (net 4 /D2)) - (pad 4 thru_hole oval (at -2.54 7.62 90) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask) - (net 29 /A2)) - (pad 48 thru_hole oval (at 0 5.08 90) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask) - (net 3 /D1)) - (pad 3 thru_hole oval (at -2.54 5.08 90) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask) - (net 28 /A1)) - (pad 49 thru_hole oval (at 0 2.54 90) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask) - (net 2 /D0)) - (pad 2 thru_hole oval (at -2.54 2.54 90) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask) - (net 27 /A0)) - (pad 50 thru_hole oval (at 0 0 90) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask) - (net 1 /+12V)) - (pad 1 thru_hole oval (at -2.54 0 90) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask) - (net 26 /~IOSEL)) - (model ${KISYS3DMOD}/Connector_PinSocket_2.54mm.3dshapes/PinSocket_2x25_P2.54mm_Vertical.wrl - (at (xyz 0 0 0)) - (scale (xyz 1 1 1)) - (rotate (xyz 0 0 0)) + (fp_text value ESP32-DEVKITC-32D (at 1.24136 28.294535) (layer F.Fab) + (effects (font (size 1.001047 1.001047) (thickness 0.15))) ) + (fp_line (start -13.95 -27.15) (end 13.95 -27.15) (layer F.Fab) (width 0.127)) + (fp_line (start 13.95 -27.15) (end 13.95 27.25) (layer F.Fab) (width 0.127)) + (fp_line (start 13.95 27.25) (end -13.95 27.25) (layer F.Fab) (width 0.127)) + (fp_line (start -13.95 27.25) (end -13.95 -27.15) (layer F.Fab) (width 0.127)) + (fp_line (start -13.95 27.25) (end -13.95 -27.15) (layer F.SilkS) (width 0.127)) + (fp_line (start -13.95 -27.15) (end 13.95 -27.15) (layer F.SilkS) (width 0.127)) + (fp_line (start 13.95 -27.15) (end 13.95 27.25) (layer F.SilkS) (width 0.127)) + (fp_line (start 13.95 27.25) (end -13.95 27.25) (layer F.SilkS) (width 0.127)) + (fp_line (start -14.2 -27.4) (end 14.2 -27.4) (layer F.CrtYd) (width 0.05)) + (fp_line (start 14.2 -27.4) (end 14.2 27.5) (layer F.CrtYd) (width 0.05)) + (fp_line (start 14.2 27.5) (end -14.2 27.5) (layer F.CrtYd) (width 0.05)) + (fp_line (start -14.2 27.5) (end -14.2 -27.4) (layer F.CrtYd) (width 0.05)) + (fp_circle (center -14.6 -19.9) (end -14.46 -19.9) (layer F.Fab) (width 0.28)) + (fp_circle (center -14.6 -19.9) (end -14.46 -19.9) (layer F.Fab) (width 0.28)) + (pad 38 thru_hole circle (at 12.7 25.96) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask) + (net 87 "Net-(U2-Pad38)")) + (pad 37 thru_hole circle (at 12.7 23.42) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask) + (net 88 "Net-(U2-Pad37)")) + (pad 36 thru_hole circle (at 12.7 20.88) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask) + (net 52 "Net-(U2-Pad36)")) + (pad 35 thru_hole circle (at 12.7 18.34) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask) + (net 83 "Net-(U1-Pad28)")) + (pad 34 thru_hole circle (at 12.7 15.8) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask) + (net 53 "Net-(U2-Pad34)")) + (pad 33 thru_hole circle (at 12.7 13.26) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask) + (net 54 "Net-(U2-Pad33)")) + (pad 32 thru_hole circle (at 12.7 10.72) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask) + (net 55 "Net-(U2-Pad32)")) + (pad 31 thru_hole circle (at 12.7 8.18) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask) + (net 56 "Net-(U2-Pad31)")) + (pad 30 thru_hole circle (at 12.7 5.64) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask) + (net 57 "Net-(U2-Pad30)")) + (pad 29 thru_hole circle (at 12.7 3.1) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask) + (net 58 "Net-(U1-Pad46)")) + (pad 28 thru_hole circle (at 12.7 0.56) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask) + (net 82 "Net-(U1-Pad29)")) + (pad 27 thru_hole circle (at 12.7 -1.98) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask) + (net 81 "Net-(U1-Pad30)")) + (pad 26 thru_hole circle (at 12.7 -4.52) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask) + (net 49 GND)) + (pad 25 thru_hole circle (at 12.7 -7.06) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask) + (net 80 "Net-(U1-Pad31)")) + (pad 24 thru_hole circle (at 12.7 -9.6) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask) + (net 60 "Net-(U2-Pad24)")) + (pad 23 thru_hole circle (at 12.7 -12.14) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask) + (net 61 "Net-(U2-Pad23)")) + (pad 22 thru_hole circle (at 12.7 -14.68) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask) + (net 79 "Net-(U1-Pad32)")) + (pad 21 thru_hole circle (at 12.7 -17.22) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask) + (net 51 "Net-(U1-Pad42)")) + (pad 20 thru_hole circle (at 12.7 -19.76) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask) + (net 49 GND)) + (pad 18 thru_hole circle (at -12.7 23.42) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask) + (net 62 "Net-(U2-Pad18)")) + (pad 17 thru_hole circle (at -12.7 20.88) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask) + (net 63 "Net-(U2-Pad17)")) + (pad 16 thru_hole circle (at -12.7 18.34) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask) + (net 64 "Net-(U2-Pad16)")) + (pad 15 thru_hole circle (at -12.7 15.8) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask) + (net 85 "Net-(U1-Pad26)")) + (pad 14 thru_hole circle (at -12.7 13.26) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask) + (net 49 GND)) + (pad 13 thru_hole circle (at -12.7 10.72) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask) + (net 86 "Net-(U1-Pad25)")) + (pad 12 thru_hole circle (at -12.7 8.18) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask) + (net 84 "Net-(U1-Pad27)")) + (pad 11 thru_hole circle (at -12.7 5.64) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask) + (net 65 "Net-(U1-Pad39)")) + (pad 10 thru_hole circle (at -12.7 3.1) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask) + (net 66 "Net-(U1-Pad40)")) + (pad 9 thru_hole circle (at -12.7 0.56) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask) + (net 67 "Net-(U1-Pad41)")) + (pad 8 thru_hole circle (at -12.7 -1.98) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask) + (net 74 "Net-(U1-Pad37)")) + (pad 7 thru_hole circle (at -12.7 -4.52) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask) + (net 59 "Net-(U1-Pad38)")) + (pad 6 thru_hole circle (at -12.7 -7.06) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask) + (net 68 "Net-(U1-Pad3)")) + (pad 5 thru_hole circle (at -12.7 -9.6) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask) + (net 25 /~IOSEL)) + (pad 4 thru_hole circle (at -12.7 -12.14) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask) + (net 70 "Net-(U2-Pad4)")) + (pad 3 thru_hole circle (at -12.7 -14.68) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask) + (net 71 "Net-(U2-Pad3)")) + (pad 19 thru_hole circle (at -12.7 25.96) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask) + (net 50 +5V)) + (pad 2 thru_hole circle (at -12.7 -17.22) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask) + (net 72 "Net-(U2-Pad2)")) + (pad 1 thru_hole rect (at -12.7 -19.76) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask) + (net 89 "Net-(U2-Pad1)")) ) (module pub:AppleIIBus (layer F.Cu) (tedit 5E4F43C2) (tstamp 5E33EA12) @@ -354,7 +403,7 @@ (fp_poly (pts (xy 32.893 -3.81) (xy 31.877 -3.81) (xy 31.877 3.81) (xy 32.893 3.81)) (layer F.Mask) (width 0)) (fp_poly (pts (xy -32.893 -3.81) (xy -32.893 3.81) (xy -31.877 3.81) (xy -31.877 -3.81)) (layer F.Mask) (width 0)) (pad 26 smd rect (at 30.48 0) (size 1.524 6.35) (layers B.Cu B.Mask) - (net 25 /GND) (solder_mask_margin 0.635) (clearance 0.254)) + (net 49 GND) (solder_mask_margin 0.635) (clearance 0.254)) (pad 27 smd rect (at 27.94 0) (size 1.524 6.35) (layers B.Cu B.Mask) (net 24 /DMAIN) (solder_mask_margin 0.635) (clearance 0.254)) (pad 28 smd rect (at 25.4 0) (size 1.524 6.35) (layers B.Cu B.Mask) @@ -404,395 +453,252 @@ (pad 50 smd rect (at -30.48 0) (size 1.524 6.35) (layers B.Cu B.Mask) (net 1 /+12V) (solder_mask_margin 0.635) (clearance 0.254)) (pad 25 smd rect (at 30.48 0) (size 1.524 6.35) (layers F.Cu F.Mask) - (net 50 /+5V) (solder_mask_margin 0.635) (clearance 0.254)) + (net 50 +5V) (solder_mask_margin 0.635) (clearance 0.254)) (pad 24 smd rect (at 27.94 0) (size 1.524 6.35) (layers F.Cu F.Mask) - (net 49 /DMAOUT) (solder_mask_margin 0.635) (clearance 0.254)) + (net 48 /DMAOUT) (solder_mask_margin 0.635) (clearance 0.254)) (pad 23 smd rect (at 25.4 0) (size 1.524 6.35) (layers F.Cu F.Mask) - (net 48 /INTOUT) (solder_mask_margin 0.635) (clearance 0.254)) + (net 47 /INTOUT) (solder_mask_margin 0.635) (clearance 0.254)) (pad 22 smd rect (at 22.86 0) (size 1.524 6.35) (layers F.Cu F.Mask) - (net 47 /~DMA) (solder_mask_margin 0.635) (clearance 0.254)) + (net 46 /~DMA) (solder_mask_margin 0.635) (clearance 0.254)) (pad 21 smd rect (at 20.32 0) (size 1.524 6.35) (layers F.Cu F.Mask) - (net 46 /RDY) (solder_mask_margin 0.635) (clearance 0.254)) + (net 45 /RDY) (solder_mask_margin 0.635) (clearance 0.254)) (pad 20 smd rect (at 17.78 0) (size 1.524 6.35) (layers F.Cu F.Mask) - (net 45 /~IOSTRB) (solder_mask_margin 0.635) (clearance 0.254)) + (net 44 /~IOSTRB) (solder_mask_margin 0.635) (clearance 0.254)) (pad 19 smd rect (at 15.24 0) (size 1.524 6.35) (layers F.Cu F.Mask) - (net 44 /SYNC) (solder_mask_margin 0.635) (clearance 0.254)) + (net 43 /SYNC) (solder_mask_margin 0.635) (clearance 0.254)) (pad 18 smd rect (at 12.7 0) (size 1.524 6.35) (layers F.Cu F.Mask) - (net 43 /R~W) (solder_mask_margin 0.635) (clearance 0.254)) + (net 42 /R~W) (solder_mask_margin 0.635) (clearance 0.254)) (pad 17 smd rect (at 10.16 0) (size 1.524 6.35) (layers F.Cu F.Mask) - (net 42 /A15) (solder_mask_margin 0.635) (clearance 0.254)) + (net 41 /A15) (solder_mask_margin 0.635) (clearance 0.254)) (pad 16 smd rect (at 7.62 0) (size 1.524 6.35) (layers F.Cu F.Mask) - (net 41 /A14) (solder_mask_margin 0.635) (clearance 0.254)) + (net 40 /A14) (solder_mask_margin 0.635) (clearance 0.254)) (pad 15 smd rect (at 5.08 0) (size 1.524 6.35) (layers F.Cu F.Mask) - (net 40 /A13) (solder_mask_margin 0.635) (clearance 0.254)) + (net 39 /A13) (solder_mask_margin 0.635) (clearance 0.254)) (pad 14 smd rect (at 2.54 0) (size 1.524 6.35) (layers F.Cu F.Mask) - (net 39 /A12) (solder_mask_margin 0.635) (clearance 0.254)) + (net 38 /A12) (solder_mask_margin 0.635) (clearance 0.254)) (pad 13 smd rect (at 0 0) (size 1.524 6.35) (layers F.Cu F.Mask) - (net 38 /A11) (solder_mask_margin 0.635) (clearance 0.254)) + (net 37 /A11) (solder_mask_margin 0.635) (clearance 0.254)) (pad 12 smd rect (at -2.54 0) (size 1.524 6.35) (layers F.Cu F.Mask) - (net 37 /A10) (solder_mask_margin 0.635) (clearance 0.254)) + (net 36 /A10) (solder_mask_margin 0.635) (clearance 0.254)) (pad 11 smd rect (at -5.08 0) (size 1.524 6.35) (layers F.Cu F.Mask) - (net 36 /A9) (solder_mask_margin 0.635) (clearance 0.254)) + (net 35 /A9) (solder_mask_margin 0.635) (clearance 0.254)) (pad 10 smd rect (at -7.62 0) (size 1.524 6.35) (layers F.Cu F.Mask) - (net 35 /A8) (solder_mask_margin 0.635) (clearance 0.254)) + (net 34 /A8) (solder_mask_margin 0.635) (clearance 0.254)) (pad 9 smd rect (at -10.16 0) (size 1.524 6.35) (layers F.Cu F.Mask) - (net 34 /A7) (solder_mask_margin 0.635) (clearance 0.254)) + (net 33 /A7) (solder_mask_margin 0.635) (clearance 0.254)) (pad 8 smd rect (at -12.7 0) (size 1.524 6.35) (layers F.Cu F.Mask) - (net 33 /A6) (solder_mask_margin 0.635) (clearance 0.254)) + (net 32 /A6) (solder_mask_margin 0.635) (clearance 0.254)) (pad 7 smd rect (at -15.24 0) (size 1.524 6.35) (layers F.Cu F.Mask) - (net 32 /A5) (solder_mask_margin 0.635) (clearance 0.254)) + (net 31 /A5) (solder_mask_margin 0.635) (clearance 0.254)) (pad 6 smd rect (at -17.78 0) (size 1.524 6.35) (layers F.Cu F.Mask) - (net 31 /A4) (solder_mask_margin 0.635) (clearance 0.254)) + (net 30 /A4) (solder_mask_margin 0.635) (clearance 0.254)) (pad 5 smd rect (at -20.32 0) (size 1.524 6.35) (layers F.Cu F.Mask) - (net 30 /A3) (solder_mask_margin 0.635) (clearance 0.254)) + (net 29 /A3) (solder_mask_margin 0.635) (clearance 0.254)) (pad 4 smd rect (at -22.86 0) (size 1.524 6.35) (layers F.Cu F.Mask) - (net 29 /A2) (solder_mask_margin 0.635) (clearance 0.254)) + (net 28 /A2) (solder_mask_margin 0.635) (clearance 0.254)) (pad 3 smd rect (at -25.4 0) (size 1.524 6.35) (layers F.Cu F.Mask) - (net 28 /A1) (solder_mask_margin 0.635) (clearance 0.254)) + (net 27 /A1) (solder_mask_margin 0.635) (clearance 0.254)) (pad 2 smd rect (at -27.94 0) (size 1.524 6.35) (layers F.Cu F.Mask) - (net 27 /A0) (solder_mask_margin 0.635) (clearance 0.254)) + (net 26 /A0) (solder_mask_margin 0.635) (clearance 0.254)) (pad 1 smd rect (at -30.48 0) (size 1.524 6.35) (layers F.Cu F.Mask) - (net 26 /~IOSEL) (solder_mask_margin 0.635) (clearance 0.254)) + (net 25 /~IOSEL) (solder_mask_margin 0.635) (clearance 0.254)) ) - (gr_text "design by Renee Harke" (at 76.2 121.92) (layer F.SilkS) (tstamp 6021F06C) + (module Capacitor_THT:C_Disc_D8.0mm_W2.5mm_P5.00mm (layer F.Cu) (tedit 5AE50EF0) (tstamp 61017937) + (at 198.04 119.38 180) + (descr "C, Disc series, Radial, pin pitch=5.00mm, , diameter*width=8*2.5mm^2, Capacitor, http://cdn-reichelt.de/documents/datenblatt/B300/DS_KERKO_TC.pdf") + (tags "C Disc series Radial pin pitch 5.00mm diameter 8mm width 2.5mm Capacitor") + (path /6103513B) + (fp_text reference C1 (at 2.5 -2.5) (layer F.SilkS) + (effects (font (size 1 1) (thickness 0.15))) + ) + (fp_text value C (at 2.5 2.5) (layer F.Fab) + (effects (font (size 1 1) (thickness 0.15))) + ) + (fp_line (start 6.75 -1.5) (end -1.75 -1.5) (layer F.CrtYd) (width 0.05)) + (fp_line (start 6.75 1.5) (end 6.75 -1.5) (layer F.CrtYd) (width 0.05)) + (fp_line (start -1.75 1.5) (end 6.75 1.5) (layer F.CrtYd) (width 0.05)) + (fp_line (start -1.75 -1.5) (end -1.75 1.5) (layer F.CrtYd) (width 0.05)) + (fp_line (start 6.62 -1.37) (end 6.62 1.37) (layer F.SilkS) (width 0.12)) + (fp_line (start -1.62 -1.37) (end -1.62 1.37) (layer F.SilkS) (width 0.12)) + (fp_line (start -1.62 1.37) (end 6.62 1.37) (layer F.SilkS) (width 0.12)) + (fp_line (start -1.62 -1.37) (end 6.62 -1.37) (layer F.SilkS) (width 0.12)) + (fp_line (start 6.5 -1.25) (end -1.5 -1.25) (layer F.Fab) (width 0.1)) + (fp_line (start 6.5 1.25) (end 6.5 -1.25) (layer F.Fab) (width 0.1)) + (fp_line (start -1.5 1.25) (end 6.5 1.25) (layer F.Fab) (width 0.1)) + (fp_line (start -1.5 -1.25) (end -1.5 1.25) (layer F.Fab) (width 0.1)) + (fp_text user %R (at 2.5 0) (layer F.Fab) + (effects (font (size 1 1) (thickness 0.15))) + ) + (pad 2 thru_hole circle (at 5 0 180) (size 1.6 1.6) (drill 0.8) (layers *.Cu *.Mask) + (net 49 GND)) + (pad 1 thru_hole circle (at 0 0 180) (size 1.6 1.6) (drill 0.8) (layers *.Cu *.Mask) + (net 50 +5V)) + (model ${KISYS3DMOD}/Capacitor_THT.3dshapes/C_Disc_D8.0mm_W2.5mm_P5.00mm.wrl + (at (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (module Package_DIP:DIP-48_W15.24mm_Socket_LongPads (layer F.Cu) (tedit 5A02E8C5) (tstamp 610175EC) + (at 116.84 87.63 90) + (descr "48-lead though-hole mounted DIP package, row spacing 15.24 mm (600 mils), Socket, LongPads") + (tags "THT DIP DIL PDIP 2.54mm 15.24mm 600mil Socket LongPads") + (path /6102DC5C) + (fp_text reference U1 (at 7.62 -2.33 90) (layer F.SilkS) + (effects (font (size 1 1) (thickness 0.15))) + ) + (fp_text value IDT7132 (at 7.62 60.75 90) (layer F.Fab) + (effects (font (size 1 1) (thickness 0.15))) + ) + (fp_line (start 16.8 -1.6) (end -1.55 -1.6) (layer F.CrtYd) (width 0.05)) + (fp_line (start 16.8 60) (end 16.8 -1.6) (layer F.CrtYd) (width 0.05)) + (fp_line (start -1.55 60) (end 16.8 60) (layer F.CrtYd) (width 0.05)) + (fp_line (start -1.55 -1.6) (end -1.55 60) (layer F.CrtYd) (width 0.05)) + (fp_line (start 16.68 -1.39) (end -1.44 -1.39) (layer F.SilkS) (width 0.12)) + (fp_line (start 16.68 59.81) (end 16.68 -1.39) (layer F.SilkS) (width 0.12)) + (fp_line (start -1.44 59.81) (end 16.68 59.81) (layer F.SilkS) (width 0.12)) + (fp_line (start -1.44 -1.39) (end -1.44 59.81) (layer F.SilkS) (width 0.12)) + (fp_line (start 13.68 -1.33) (end 8.62 -1.33) (layer F.SilkS) (width 0.12)) + (fp_line (start 13.68 59.75) (end 13.68 -1.33) (layer F.SilkS) (width 0.12)) + (fp_line (start 1.56 59.75) (end 13.68 59.75) (layer F.SilkS) (width 0.12)) + (fp_line (start 1.56 -1.33) (end 1.56 59.75) (layer F.SilkS) (width 0.12)) + (fp_line (start 6.62 -1.33) (end 1.56 -1.33) (layer F.SilkS) (width 0.12)) + (fp_line (start 16.51 -1.33) (end -1.27 -1.33) (layer F.Fab) (width 0.1)) + (fp_line (start 16.51 59.75) (end 16.51 -1.33) (layer F.Fab) (width 0.1)) + (fp_line (start -1.27 59.75) (end 16.51 59.75) (layer F.Fab) (width 0.1)) + (fp_line (start -1.27 -1.33) (end -1.27 59.75) (layer F.Fab) (width 0.1)) + (fp_line (start 0.255 -0.27) (end 1.255 -1.27) (layer F.Fab) (width 0.1)) + (fp_line (start 0.255 59.69) (end 0.255 -0.27) (layer F.Fab) (width 0.1)) + (fp_line (start 14.985 59.69) (end 0.255 59.69) (layer F.Fab) (width 0.1)) + (fp_line (start 14.985 -1.27) (end 14.985 59.69) (layer F.Fab) (width 0.1)) + (fp_line (start 1.255 -1.27) (end 14.985 -1.27) (layer F.Fab) (width 0.1)) + (fp_text user %R (at 7.62 29.21 180) (layer F.Fab) + (effects (font (size 1 1) (thickness 0.15))) + ) + (fp_arc (start 7.62 -1.33) (end 6.62 -1.33) (angle -180) (layer F.SilkS) (width 0.12)) + (pad 48 thru_hole oval (at 15.24 0 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) + (net 50 +5V)) + (pad 24 thru_hole oval (at 0 58.42 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) + (net 49 GND)) + (pad 47 thru_hole oval (at 15.24 2.54 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) + (net 49 GND)) + (pad 23 thru_hole oval (at 0 55.88 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) + (net 9 /D7)) + (pad 46 thru_hole oval (at 15.24 5.08 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) + (net 58 "Net-(U1-Pad46)")) + (pad 22 thru_hole oval (at 0 53.34 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) + (net 8 /D6)) + (pad 45 thru_hole oval (at 15.24 7.62 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) + (net 69 "Net-(U1-Pad45)")) + (pad 21 thru_hole oval (at 0 50.8 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) + (net 7 /D5)) + (pad 44 thru_hole oval (at 15.24 10.16 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) + (net 73 "Net-(U1-Pad44)")) + (pad 20 thru_hole oval (at 0 48.26 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) + (net 6 /D4)) + (pad 43 thru_hole oval (at 15.24 12.7 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) + (net 49 GND)) + (pad 19 thru_hole oval (at 0 45.72 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) + (net 5 /D3)) + (pad 42 thru_hole oval (at 15.24 15.24 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) + (net 51 "Net-(U1-Pad42)")) + (pad 18 thru_hole oval (at 0 43.18 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) + (net 4 /D2)) + (pad 41 thru_hole oval (at 15.24 17.78 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) + (net 67 "Net-(U1-Pad41)")) + (pad 17 thru_hole oval (at 0 40.64 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) + (net 3 /D1)) + (pad 40 thru_hole oval (at 15.24 20.32 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) + (net 66 "Net-(U1-Pad40)")) + (pad 16 thru_hole oval (at 0 38.1 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) + (net 2 /D0)) + (pad 39 thru_hole oval (at 15.24 22.86 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) + (net 65 "Net-(U1-Pad39)")) + (pad 15 thru_hole oval (at 0 35.56 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) + (net 49 GND)) + (pad 38 thru_hole oval (at 15.24 25.4 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) + (net 59 "Net-(U1-Pad38)")) + (pad 14 thru_hole oval (at 0 33.02 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) + (net 49 GND)) + (pad 37 thru_hole oval (at 15.24 27.94 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) + (net 74 "Net-(U1-Pad37)")) + (pad 13 thru_hole oval (at 0 30.48 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) + (net 33 /A7)) + (pad 36 thru_hole oval (at 15.24 30.48 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) + (net 75 "Net-(U1-Pad36)")) + (pad 12 thru_hole oval (at 0 27.94 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) + (net 32 /A6)) + (pad 35 thru_hole oval (at 15.24 33.02 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) + (net 76 "Net-(U1-Pad35)")) + (pad 11 thru_hole oval (at 0 25.4 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) + (net 31 /A5)) + (pad 34 thru_hole oval (at 15.24 35.56 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) + (net 77 "Net-(U1-Pad34)")) + (pad 10 thru_hole oval (at 0 22.86 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) + (net 30 /A4)) + (pad 33 thru_hole oval (at 15.24 38.1 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) + (net 78 "Net-(U1-Pad33)")) + (pad 9 thru_hole oval (at 0 20.32 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) + (net 29 /A3)) + (pad 32 thru_hole oval (at 15.24 40.64 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) + (net 79 "Net-(U1-Pad32)")) + (pad 8 thru_hole oval (at 0 17.78 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) + (net 28 /A2)) + (pad 31 thru_hole oval (at 15.24 43.18 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) + (net 80 "Net-(U1-Pad31)")) + (pad 7 thru_hole oval (at 0 15.24 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) + (net 27 /A1)) + (pad 30 thru_hole oval (at 15.24 45.72 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) + (net 81 "Net-(U1-Pad30)")) + (pad 6 thru_hole oval (at 0 12.7 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) + (net 26 /A0)) + (pad 29 thru_hole oval (at 15.24 48.26 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) + (net 82 "Net-(U1-Pad29)")) + (pad 5 thru_hole oval (at 0 10.16 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) + (net 49 GND)) + (pad 28 thru_hole oval (at 15.24 50.8 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) + (net 83 "Net-(U1-Pad28)")) + (pad 4 thru_hole oval (at 0 7.62 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) + (net 49 GND)) + (pad 27 thru_hole oval (at 15.24 53.34 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) + (net 84 "Net-(U1-Pad27)")) + (pad 3 thru_hole oval (at 0 5.08 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) + (net 68 "Net-(U1-Pad3)")) + (pad 26 thru_hole oval (at 15.24 55.88 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) + (net 85 "Net-(U1-Pad26)")) + (pad 2 thru_hole oval (at 0 2.54 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) + (net 42 /R~W)) + (pad 25 thru_hole oval (at 15.24 58.42 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) + (net 86 "Net-(U1-Pad25)")) + (pad 1 thru_hole rect (at 0 0 90) (size 2.4 1.6) (drill 0.8) (layers *.Cu *.Mask) + (net 10 /~DEVSEL)) + (model ${KISYS3DMOD}/Package_DIP.3dshapes/DIP-48_W15.24mm_Socket.wrl + (at (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (gr_line (start 167.767 124.587) (end 73.66 124.587) (layer Edge.Cuts) (width 0.05)) + (gr_line (start 167.767 132.207) (end 167.767 124.587) (layer Edge.Cuts) (width 0.05)) + (gr_line (start 167.767 132.207) (end 233.553 132.207) (layer Edge.Cuts) (width 0.05)) + (gr_text "design by Nathanial Hendler, Tucson Arizona" (at 76.2 121.92) (layer F.SilkS) (tstamp 6021F06C) (effects (font (size 1 1) (thickness 0.15)) (justify left)) ) - (gr_text JLCJLCJLCJLC (at 80.01 110.49) (layer F.SilkS) - (effects (font (size 0.8 0.8) (thickness 0.15))) - ) - (gr_text 26 (at 233.045 116.84) (layer F.SilkS) (tstamp 5E33A7C0) + (gr_text "rev. 0.0.1 - 2021/07/27" (at 76.2 120.015) (layer F.SilkS) (tstamp 6021F075) (effects (font (size 1 1) (thickness 0.15)) (justify left)) ) - (gr_text 25 (at 233.045 119.38) (layer F.SilkS) (tstamp 5E33A7B8) - (effects (font (size 1 1) (thickness 0.15)) (justify left)) - ) - (gr_text 50 (at 168.275 116.84) (layer F.SilkS) (tstamp 5E33A79B) - (effects (font (size 1 1) (thickness 0.15)) (justify right)) - ) - (gr_text 1 (at 168.275 119.38) (layer F.SilkS) - (effects (font (size 1 1) (thickness 0.15)) (justify right)) - ) - (gr_text "rev. 1.1 - 2021/02/08" (at 76.2 120.015) (layer F.SilkS) (tstamp 6021F075) - (effects (font (size 1 1) (thickness 0.15)) (justify left)) - ) - (gr_text "Apple II Breadboard Adapter" (at 76.2 116.205) (layer F.SilkS) (tstamp 5E341713) + (gr_text apple2idiot (at 76.2 116.205) (layer F.SilkS) (tstamp 61016A0C) (effects (font (size 3 3) (thickness 0.45)) (justify left)) ) (gr_line (start 240.03 55.88) (end 240.03 111.76) (layer F.SilkS) (width 0.12) (tstamp 5E3416DC)) (gr_line (start 74.93 55.88) (end 240.03 55.88) (layer F.SilkS) (width 0.12)) (gr_line (start 74.93 111.76) (end 74.93 55.88) (layer F.SilkS) (width 0.12)) - (gr_line (start 74.93 111.76) (end 240.03 111.76) (layer F.SilkS) (width 0.12)) - (gr_text GND (at 231.14 115.57 90) (layer F.SilkS) (tstamp 5E340D81) - (effects (font (size 0.75 0.75) (thickness 0.125)) (justify left)) - ) - (gr_text DMAI (at 228.6 115.57 90) (layer F.SilkS) (tstamp 5E340D81) - (effects (font (size 0.75 0.75) (thickness 0.125)) (justify left)) - ) - (gr_text INTI (at 226.06 115.57 90) (layer F.SilkS) (tstamp 5E340D81) - (effects (font (size 0.75 0.75) (thickness 0.125)) (justify left)) - ) - (gr_text ~NMI (at 223.52 115.57 90) (layer F.SilkS) (tstamp 5E340D81) - (effects (font (size 0.75 0.75) (thickness 0.125)) (justify left)) - ) - (gr_text ~IRQ (at 220.98 115.57 90) (layer F.SilkS) (tstamp 5E340D81) - (effects (font (size 0.75 0.75) (thickness 0.125)) (justify left)) - ) - (gr_text ~RES (at 218.44 115.57 90) (layer F.SilkS) (tstamp 5E340D81) - (effects (font (size 0.75 0.75) (thickness 0.125)) (justify left)) - ) - (gr_text ~INH (at 215.9 115.57 90) (layer F.SilkS) (tstamp 5E340D81) - (effects (font (size 0.75 0.75) (thickness 0.125)) (justify left)) - ) - (gr_text -12V (at 213.36 115.57 90) (layer F.SilkS) (tstamp 5E340D81) - (effects (font (size 0.75 0.75) (thickness 0.125)) (justify left)) - ) - (gr_text -5V (at 210.82 115.57 90) (layer F.SilkS) (tstamp 5E340D81) - (effects (font (size 0.75 0.75) (thickness 0.125)) (justify left)) - ) - (gr_text CLRRF (at 208.28 115.57 90) (layer F.SilkS) (tstamp 5E340D81) - (effects (font (size 0.75 0.75) (thickness 0.125)) (justify left)) - ) - (gr_text 7M (at 205.74 115.57 90) (layer F.SilkS) (tstamp 5E340D81) - (effects (font (size 0.75 0.75) (thickness 0.125)) (justify left)) - ) - (gr_text Q3 (at 203.2 115.57 90) (layer F.SilkS) (tstamp 5E340D81) - (effects (font (size 0.75 0.75) (thickness 0.125)) (justify left)) - ) - (gr_text PHI1 (at 200.66 115.57 90) (layer F.SilkS) (tstamp 5E340D81) - (effects (font (size 0.75 0.75) (thickness 0.125)) (justify left)) - ) - (gr_text USER1 (at 198.12 115.57 90) (layer F.SilkS) (tstamp 5E340D81) - (effects (font (size 0.75 0.75) (thickness 0.125)) (justify left)) - ) - (gr_text PHI0 (at 195.58 115.57 90) (layer F.SilkS) (tstamp 5E340D81) - (effects (font (size 0.75 0.75) (thickness 0.125)) (justify left)) - ) - (gr_text ~DVSEL (at 193.04 115.57 90) (layer F.SilkS) (tstamp 5E340D81) - (effects (font (size 0.75 0.75) (thickness 0.125)) (justify left)) - ) - (gr_text D7 (at 190.5 115.57 90) (layer F.SilkS) (tstamp 5E340D81) - (effects (font (size 0.75 0.75) (thickness 0.125)) (justify left)) - ) - (gr_text D6 (at 187.96 115.57 90) (layer F.SilkS) (tstamp 5E340D81) - (effects (font (size 0.75 0.75) (thickness 0.125)) (justify left)) - ) - (gr_text D5 (at 185.42 115.57 90) (layer F.SilkS) (tstamp 5E340D81) - (effects (font (size 0.75 0.75) (thickness 0.125)) (justify left)) - ) - (gr_text D4 (at 182.88 115.57 90) (layer F.SilkS) (tstamp 5E340D81) - (effects (font (size 0.75 0.75) (thickness 0.125)) (justify left)) - ) - (gr_text D3 (at 180.34 115.57 90) (layer F.SilkS) (tstamp 5E340D81) - (effects (font (size 0.75 0.75) (thickness 0.125)) (justify left)) - ) - (gr_text D2 (at 177.8 115.57 90) (layer F.SilkS) (tstamp 5E340D81) - (effects (font (size 0.75 0.75) (thickness 0.125)) (justify left)) - ) - (gr_text D1 (at 175.26 115.57 90) (layer F.SilkS) (tstamp 5E340D81) - (effects (font (size 0.75 0.75) (thickness 0.125)) (justify left)) - ) - (gr_text D0 (at 172.72 115.57 90) (layer F.SilkS) (tstamp 5E340D7E) - (effects (font (size 0.75 0.75) (thickness 0.125)) (justify left)) - ) - (gr_text +12V (at 170.18 115.57 90) (layer F.SilkS) (tstamp 5E340D79) - (effects (font (size 0.75 0.75) (thickness 0.125)) (justify left)) - ) - (gr_text +5V (at 231.14 120.65 90) (layer F.SilkS) (tstamp 5E340BEE) - (effects (font (size 0.75 0.75) (thickness 0.125)) (justify right)) - ) - (gr_text DMAO (at 228.6 120.65 90) (layer F.SilkS) (tstamp 5E340BEE) - (effects (font (size 0.75 0.75) (thickness 0.125)) (justify right)) - ) - (gr_text INTO (at 226.06 120.65 90) (layer F.SilkS) (tstamp 5E340BEE) - (effects (font (size 0.75 0.75) (thickness 0.125)) (justify right)) - ) - (gr_text ~DMA (at 223.52 120.65 90) (layer F.SilkS) (tstamp 5E340BEE) - (effects (font (size 0.75 0.75) (thickness 0.125)) (justify right)) - ) - (gr_text RDY (at 220.98 120.65 90) (layer F.SilkS) (tstamp 5E340BEE) - (effects (font (size 0.75 0.75) (thickness 0.125)) (justify right)) - ) - (gr_text ~IOSTR (at 218.44 120.65 90) (layer F.SilkS) (tstamp 5E340BEE) - (effects (font (size 0.75 0.75) (thickness 0.125)) (justify right)) - ) - (gr_text SYNC (at 215.9 120.65 90) (layer F.SilkS) (tstamp 5E340BEE) - (effects (font (size 0.75 0.75) (thickness 0.125)) (justify right)) - ) - (gr_text R~W (at 213.36 120.65 90) (layer F.SilkS) (tstamp 5E340BEE) - (effects (font (size 0.75 0.75) (thickness 0.125)) (justify right)) - ) - (gr_text A15 (at 210.82 120.65 90) (layer F.SilkS) (tstamp 5E340BEE) - (effects (font (size 0.75 0.75) (thickness 0.125)) (justify right)) - ) - (gr_text A14 (at 208.28 120.65 90) (layer F.SilkS) (tstamp 5E340BEE) - (effects (font (size 0.75 0.75) (thickness 0.125)) (justify right)) - ) - (gr_text A13 (at 205.74 120.65 90) (layer F.SilkS) (tstamp 5E340BEE) - (effects (font (size 0.75 0.75) (thickness 0.125)) (justify right)) - ) - (gr_text A12 (at 203.2 120.65 90) (layer F.SilkS) (tstamp 5E340BEE) - (effects (font (size 0.75 0.75) (thickness 0.125)) (justify right)) - ) - (gr_text A11 (at 200.66 120.65 90) (layer F.SilkS) (tstamp 5E340BEE) - (effects (font (size 0.75 0.75) (thickness 0.125)) (justify right)) - ) - (gr_text A10 (at 198.12 120.65 90) (layer F.SilkS) (tstamp 5E340BEE) - (effects (font (size 0.75 0.75) (thickness 0.125)) (justify right)) - ) - (gr_text A9 (at 195.58 120.65 90) (layer F.SilkS) (tstamp 5E340BEE) - (effects (font (size 0.75 0.75) (thickness 0.125)) (justify right)) - ) - (gr_text A8 (at 193.04 120.65 90) (layer F.SilkS) (tstamp 5E340BEE) - (effects (font (size 0.75 0.75) (thickness 0.125)) (justify right)) - ) - (gr_text A7 (at 190.5 120.65 90) (layer F.SilkS) (tstamp 5E340BEE) - (effects (font (size 0.75 0.75) (thickness 0.125)) (justify right)) - ) - (gr_text A6 (at 187.96 120.65 90) (layer F.SilkS) (tstamp 5E340BEE) - (effects (font (size 0.75 0.75) (thickness 0.125)) (justify right)) - ) - (gr_text A5 (at 185.42 120.65 90) (layer F.SilkS) (tstamp 5E340BEE) - (effects (font (size 0.75 0.75) (thickness 0.125)) (justify right)) - ) - (gr_text A4 (at 182.88 120.65 90) (layer F.SilkS) (tstamp 5E340BEE) - (effects (font (size 0.75 0.75) (thickness 0.125)) (justify right)) - ) - (gr_text A3 (at 180.34 120.65 90) (layer F.SilkS) (tstamp 5E340BEE) - (effects (font (size 0.75 0.75) (thickness 0.125)) (justify right)) - ) - (gr_text A2 (at 177.8 120.65 90) (layer F.SilkS) (tstamp 5E340BEE) - (effects (font (size 0.75 0.75) (thickness 0.125)) (justify right)) - ) - (gr_text A1 (at 175.26 120.65 90) (layer F.SilkS) (tstamp 5E340BEE) - (effects (font (size 0.75 0.75) (thickness 0.125)) (justify right)) - ) - (gr_text A0 (at 172.72 120.65 90) (layer F.SilkS) - (effects (font (size 0.75 0.75) (thickness 0.125)) (justify right)) - ) - (gr_text ~IOSEL (at 170.18 120.65 90) (layer F.SilkS) (tstamp 5E340BE7) - (effects (font (size 0.75 0.75) (thickness 0.125)) (justify right)) - ) (gr_line (start 73.66 54.737) (end 73.66 124.587) (layer Edge.Cuts) (width 0.05) (tstamp 5E34057F)) - (gr_line (start 167.767 124.587) (end 73.66 124.587) (layer Edge.Cuts) (width 0.05)) - (gr_line (start 167.767 132.207) (end 167.767 124.587) (layer Edge.Cuts) (width 0.05)) (gr_line (start 241.3 54.737) (end 73.66 54.737) (layer Edge.Cuts) (width 0.05)) (gr_line (start 241.3 124.587) (end 241.3 54.737) (layer Edge.Cuts) (width 0.05) (tstamp 5E3416F1)) (gr_line (start 233.553 124.587) (end 241.3 124.587) (layer Edge.Cuts) (width 0.05)) - (gr_line (start 233.553 132.207) (end 233.553 124.587) (layer Edge.Cuts) (width 0.05)) - (gr_line (start 167.767 132.207) (end 233.553 132.207) (layer Edge.Cuts) (width 0.05)) - - (segment (start 168.629999 118.390001) (end 169.330001 117.689999) (width 1) (layer B.Cu) (net 1)) - (segment (start 168.629999 122.671999) (end 168.629999 118.390001) (width 1) (layer B.Cu) (net 1)) - (segment (start 170.18 124.222) (end 168.629999 122.671999) (width 1) (layer B.Cu) (net 1)) - (segment (start 169.330001 117.689999) (end 170.18 116.84) (width 1) (layer B.Cu) (net 1)) - (segment (start 170.18 128.397) (end 170.18 124.222) (width 1) (layer B.Cu) (net 1)) - (segment (start 173.569999 117.689999) (end 172.72 116.84) (width 0.4) (layer B.Cu) (net 2)) - (segment (start 173.970001 118.090001) (end 173.569999 117.689999) (width 0.4) (layer B.Cu) (net 2)) - (segment (start 172.72 124.822) (end 173.970001 123.571999) (width 0.4) (layer B.Cu) (net 2)) - (segment (start 173.970001 123.571999) (end 173.970001 118.090001) (width 0.4) (layer B.Cu) (net 2)) - (segment (start 172.72 128.397) (end 172.72 124.822) (width 0.4) (layer B.Cu) (net 2)) - (segment (start 176.109999 117.689999) (end 175.26 116.84) (width 0.4) (layer B.Cu) (net 3)) - (segment (start 176.510001 118.090001) (end 176.109999 117.689999) (width 0.4) (layer B.Cu) (net 3)) - (segment (start 176.510001 123.571999) (end 176.510001 118.090001) (width 0.4) (layer B.Cu) (net 3)) - (segment (start 175.26 124.822) (end 176.510001 123.571999) (width 0.4) (layer B.Cu) (net 3)) - (segment (start 175.26 128.397) (end 175.26 124.822) (width 0.4) (layer B.Cu) (net 3)) - (segment (start 178.649999 117.689999) (end 177.8 116.84) (width 0.4) (layer B.Cu) (net 4)) - (segment (start 179.050001 118.090001) (end 178.649999 117.689999) (width 0.4) (layer B.Cu) (net 4)) - (segment (start 179.050001 123.571999) (end 179.050001 118.090001) (width 0.4) (layer B.Cu) (net 4)) - (segment (start 177.8 124.822) (end 179.050001 123.571999) (width 0.4) (layer B.Cu) (net 4)) - (segment (start 177.8 128.397) (end 177.8 124.822) (width 0.4) (layer B.Cu) (net 4)) - (segment (start 181.590001 123.571999) (end 181.590001 118.090001) (width 0.4) (layer B.Cu) (net 5)) - (segment (start 180.34 124.822) (end 181.590001 123.571999) (width 0.4) (layer B.Cu) (net 5)) - (segment (start 181.189999 117.689999) (end 180.34 116.84) (width 0.4) (layer B.Cu) (net 5)) - (segment (start 181.590001 118.090001) (end 181.189999 117.689999) (width 0.4) (layer B.Cu) (net 5)) - (segment (start 180.34 128.397) (end 180.34 124.822) (width 0.4) (layer B.Cu) (net 5)) - (segment (start 184.130001 118.090001) (end 183.729999 117.689999) (width 0.4) (layer B.Cu) (net 6)) - (segment (start 183.729999 117.689999) (end 182.88 116.84) (width 0.4) (layer B.Cu) (net 6)) - (segment (start 184.130001 123.571999) (end 184.130001 118.090001) (width 0.4) (layer B.Cu) (net 6)) - (segment (start 182.88 124.822) (end 184.130001 123.571999) (width 0.4) (layer B.Cu) (net 6)) - (segment (start 182.88 128.397) (end 182.88 124.822) (width 0.4) (layer B.Cu) (net 6)) - (segment (start 186.269999 117.689999) (end 185.42 116.84) (width 0.4) (layer B.Cu) (net 7)) - (segment (start 186.670001 118.090001) (end 186.269999 117.689999) (width 0.4) (layer B.Cu) (net 7)) - (segment (start 186.670001 123.571999) (end 186.670001 118.090001) (width 0.4) (layer B.Cu) (net 7)) - (segment (start 185.42 124.822) (end 186.670001 123.571999) (width 0.4) (layer B.Cu) (net 7)) - (segment (start 185.42 128.397) (end 185.42 124.822) (width 0.4) (layer B.Cu) (net 7)) - (segment (start 188.809999 117.689999) (end 187.96 116.84) (width 0.4) (layer B.Cu) (net 8)) - (segment (start 189.210001 123.571999) (end 189.210001 118.090001) (width 0.4) (layer B.Cu) (net 8)) - (segment (start 189.210001 118.090001) (end 188.809999 117.689999) (width 0.4) (layer B.Cu) (net 8)) - (segment (start 187.96 124.822) (end 189.210001 123.571999) (width 0.4) (layer B.Cu) (net 8)) - (segment (start 187.96 128.397) (end 187.96 124.822) (width 0.4) (layer B.Cu) (net 8)) - (segment (start 191.750001 118.090001) (end 191.349999 117.689999) (width 0.4) (layer B.Cu) (net 9)) - (segment (start 190.5 124.822) (end 191.750001 123.571999) (width 0.4) (layer B.Cu) (net 9)) - (segment (start 191.349999 117.689999) (end 190.5 116.84) (width 0.4) (layer B.Cu) (net 9)) - (segment (start 191.750001 123.571999) (end 191.750001 118.090001) (width 0.4) (layer B.Cu) (net 9)) - (segment (start 190.5 128.397) (end 190.5 124.822) (width 0.4) (layer B.Cu) (net 9)) - (segment (start 193.889999 117.689999) (end 193.04 116.84) (width 0.4) (layer B.Cu) (net 10)) - (segment (start 194.290001 118.090001) (end 193.889999 117.689999) (width 0.4) (layer B.Cu) (net 10)) - (segment (start 194.290001 123.571999) (end 194.290001 118.090001) (width 0.4) (layer B.Cu) (net 10)) - (segment (start 193.04 124.822) (end 194.290001 123.571999) (width 0.4) (layer B.Cu) (net 10)) - (segment (start 193.04 128.397) (end 193.04 124.822) (width 0.4) (layer B.Cu) (net 10)) - (segment (start 196.429999 117.689999) (end 195.58 116.84) (width 0.4) (layer B.Cu) (net 11)) - (segment (start 196.830001 118.090001) (end 196.429999 117.689999) (width 0.4) (layer B.Cu) (net 11)) - (segment (start 196.830001 123.571999) (end 196.830001 118.090001) (width 0.4) (layer B.Cu) (net 11)) - (segment (start 195.58 124.822) (end 196.830001 123.571999) (width 0.4) (layer B.Cu) (net 11)) - (segment (start 195.58 128.397) (end 195.58 124.822) (width 0.4) (layer B.Cu) (net 11)) - (segment (start 199.370001 118.090001) (end 198.969999 117.689999) (width 0.4) (layer B.Cu) (net 12)) - (segment (start 198.969999 117.689999) (end 198.12 116.84) (width 0.4) (layer B.Cu) (net 12)) - (segment (start 198.12 124.822) (end 199.370001 123.571999) (width 0.4) (layer B.Cu) (net 12)) - (segment (start 199.370001 123.571999) (end 199.370001 118.090001) (width 0.4) (layer B.Cu) (net 12)) - (segment (start 198.12 128.397) (end 198.12 124.822) (width 0.4) (layer B.Cu) (net 12)) - (segment (start 201.910001 118.090001) (end 201.509999 117.689999) (width 0.4) (layer B.Cu) (net 13)) - (segment (start 201.910001 123.571999) (end 201.910001 118.090001) (width 0.4) (layer B.Cu) (net 13)) - (segment (start 200.66 124.822) (end 201.910001 123.571999) (width 0.4) (layer B.Cu) (net 13)) - (segment (start 201.509999 117.689999) (end 200.66 116.84) (width 0.4) (layer B.Cu) (net 13)) - (segment (start 200.66 128.397) (end 200.66 124.822) (width 0.4) (layer B.Cu) (net 13)) - (segment (start 204.049999 117.689999) (end 203.2 116.84) (width 0.4) (layer B.Cu) (net 14)) - (segment (start 204.450001 118.090001) (end 204.049999 117.689999) (width 0.4) (layer B.Cu) (net 14)) - (segment (start 204.450001 123.571999) (end 204.450001 118.090001) (width 0.4) (layer B.Cu) (net 14)) - (segment (start 203.2 124.822) (end 204.450001 123.571999) (width 0.4) (layer B.Cu) (net 14)) - (segment (start 203.2 128.397) (end 203.2 124.822) (width 0.4) (layer B.Cu) (net 14)) - (segment (start 206.990001 118.090001) (end 206.589999 117.689999) (width 0.4) (layer B.Cu) (net 15)) - (segment (start 206.589999 117.689999) (end 205.74 116.84) (width 0.4) (layer B.Cu) (net 15)) - (segment (start 205.74 124.822) (end 206.990001 123.571999) (width 0.4) (layer B.Cu) (net 15)) - (segment (start 206.990001 123.571999) (end 206.990001 118.090001) (width 0.4) (layer B.Cu) (net 15)) - (segment (start 205.74 128.397) (end 205.74 124.822) (width 0.4) (layer B.Cu) (net 15)) - (segment (start 209.129999 117.689999) (end 208.28 116.84) (width 0.4) (layer B.Cu) (net 16)) - (segment (start 208.28 124.822) (end 209.530001 123.571999) (width 0.4) (layer B.Cu) (net 16)) - (segment (start 209.530001 118.090001) (end 209.129999 117.689999) (width 0.4) (layer B.Cu) (net 16)) - (segment (start 209.530001 123.571999) (end 209.530001 118.090001) (width 0.4) (layer B.Cu) (net 16)) - (segment (start 208.28 128.397) (end 208.28 124.822) (width 0.4) (layer B.Cu) (net 16)) - (segment (start 212.109999 118.129999) (end 211.669999 117.689999) (width 0.4) (layer B.Cu) (net 17)) - (segment (start 211.669999 117.689999) (end 210.82 116.84) (width 0.4) (layer B.Cu) (net 17)) - (segment (start 210.82 124.822) (end 212.109999 123.532001) (width 0.4) (layer B.Cu) (net 17)) - (segment (start 212.109999 123.532001) (end 212.109999 118.129999) (width 0.4) (layer B.Cu) (net 17)) - (segment (start 210.82 128.397) (end 210.82 124.822) (width 0.4) (layer B.Cu) (net 17)) - (segment (start 214.610001 118.090001) (end 214.209999 117.689999) (width 0.4) (layer B.Cu) (net 18)) - (segment (start 214.610001 123.571999) (end 214.610001 118.090001) (width 0.4) (layer B.Cu) (net 18)) - (segment (start 213.36 124.822) (end 214.610001 123.571999) (width 0.4) (layer B.Cu) (net 18)) - (segment (start 214.209999 117.689999) (end 213.36 116.84) (width 0.4) (layer B.Cu) (net 18)) - (segment (start 213.36 128.397) (end 213.36 124.822) (width 0.4) (layer B.Cu) (net 18)) - (segment (start 217.150001 118.090001) (end 216.749999 117.689999) (width 0.4) (layer B.Cu) (net 19)) - (segment (start 217.150001 123.571999) (end 217.150001 118.090001) (width 0.4) (layer B.Cu) (net 19)) - (segment (start 215.9 124.822) (end 217.150001 123.571999) (width 0.4) (layer B.Cu) (net 19)) - (segment (start 216.749999 117.689999) (end 215.9 116.84) (width 0.4) (layer B.Cu) (net 19)) - (segment (start 215.9 128.397) (end 215.9 124.822) (width 0.4) (layer B.Cu) (net 19)) - (segment (start 219.690001 118.090001) (end 219.289999 117.689999) (width 0.4) (layer B.Cu) (net 20)) - (segment (start 218.44 124.822) (end 219.690001 123.571999) (width 0.4) (layer B.Cu) (net 20)) - (segment (start 219.289999 117.689999) (end 218.44 116.84) (width 0.4) (layer B.Cu) (net 20)) - (segment (start 219.690001 123.571999) (end 219.690001 118.090001) (width 0.4) (layer B.Cu) (net 20)) - (segment (start 218.44 128.397) (end 218.44 124.822) (width 0.4) (layer B.Cu) (net 20)) - (segment (start 222.230001 118.090001) (end 221.829999 117.689999) (width 0.4) (layer B.Cu) (net 21)) - (segment (start 222.230001 123.571999) (end 222.230001 118.090001) (width 0.4) (layer B.Cu) (net 21)) - (segment (start 220.98 124.822) (end 222.230001 123.571999) (width 0.4) (layer B.Cu) (net 21)) - (segment (start 221.829999 117.689999) (end 220.98 116.84) (width 0.4) (layer B.Cu) (net 21)) - (segment (start 220.98 128.397) (end 220.98 124.822) (width 0.4) (layer B.Cu) (net 21)) - (segment (start 224.770001 118.090001) (end 224.369999 117.689999) (width 0.4) (layer B.Cu) (net 22)) - (segment (start 224.770001 123.571999) (end 224.770001 118.090001) (width 0.4) (layer B.Cu) (net 22)) - (segment (start 224.369999 117.689999) (end 223.52 116.84) (width 0.4) (layer B.Cu) (net 22)) - (segment (start 223.52 124.822) (end 224.770001 123.571999) (width 0.4) (layer B.Cu) (net 22)) - (segment (start 223.52 128.397) (end 223.52 124.822) (width 0.4) (layer B.Cu) (net 22)) - (segment (start 226.909999 117.689999) (end 226.06 116.84) (width 0.4) (layer B.Cu) (net 23)) - (segment (start 227.310001 123.571999) (end 227.310001 118.090001) (width 0.4) (layer B.Cu) (net 23)) - (segment (start 226.06 124.822) (end 227.310001 123.571999) (width 0.4) (layer B.Cu) (net 23)) - (segment (start 227.310001 118.090001) (end 226.909999 117.689999) (width 0.4) (layer B.Cu) (net 23)) - (segment (start 226.06 128.397) (end 226.06 124.822) (width 0.4) (layer B.Cu) (net 23)) - (segment (start 229.449999 117.689999) (end 228.6 116.84) (width 0.4) (layer B.Cu) (net 24)) - (segment (start 229.850001 118.090001) (end 229.449999 117.689999) (width 0.4) (layer B.Cu) (net 24)) - (segment (start 229.850001 123.571999) (end 229.850001 118.090001) (width 0.4) (layer B.Cu) (net 24)) - (segment (start 228.6 124.822) (end 229.850001 123.571999) (width 0.4) (layer B.Cu) (net 24)) - (segment (start 228.6 128.397) (end 228.6 124.822) (width 0.4) (layer B.Cu) (net 24)) - (segment (start 231.989999 117.689999) (end 231.14 116.84) (width 1) (layer B.Cu) (net 25)) - (segment (start 231.14 124.222) (end 232.690001 122.671999) (width 1) (layer B.Cu) (net 25)) - (segment (start 232.690001 118.390001) (end 231.989999 117.689999) (width 1) (layer B.Cu) (net 25)) - (segment (start 232.690001 122.671999) (end 232.690001 118.390001) (width 1) (layer B.Cu) (net 25)) - (segment (start 231.14 128.397) (end 231.14 124.222) (width 1) (layer B.Cu) (net 25)) - (segment (start 170.18 124.822) (end 170.18 119.38) (width 0.4) (layer F.Cu) (net 26)) - (segment (start 170.18 128.397) (end 170.18 124.822) (width 0.4) (layer F.Cu) (net 26)) - (segment (start 172.72 128.397) (end 172.72 125.984) (width 0.4) (layer F.Cu) (net 27)) - (segment (start 172.72 125.984) (end 172.72 119.38) (width 0.4) (layer F.Cu) (net 27)) - (segment (start 175.26 128.397) (end 175.26 119.38) (width 0.4) (layer F.Cu) (net 28)) - (segment (start 177.8 128.397) (end 177.8 119.38) (width 0.4) (layer F.Cu) (net 29)) - (segment (start 180.34 128.397) (end 180.34 119.38) (width 0.4) (layer F.Cu) (net 30)) - (segment (start 182.88 128.397) (end 182.88 119.38) (width 0.4) (layer F.Cu) (net 31)) - (segment (start 185.42 128.397) (end 185.42 119.38) (width 0.4) (layer F.Cu) (net 32)) - (segment (start 187.96 128.397) (end 187.96 119.38) (width 0.4) (layer F.Cu) (net 33)) - (segment (start 190.5 128.397) (end 190.5 119.38) (width 0.4) (layer F.Cu) (net 34)) - (segment (start 193.04 128.397) (end 193.04 119.38) (width 0.4) (layer F.Cu) (net 35)) - (segment (start 195.58 128.397) (end 195.58 119.38) (width 0.4) (layer F.Cu) (net 36)) - (segment (start 198.12 128.397) (end 198.12 119.38) (width 0.4) (layer F.Cu) (net 37)) - (segment (start 200.66 128.397) (end 200.66 119.38) (width 0.4) (layer F.Cu) (net 38)) - (segment (start 203.2 128.397) (end 203.2 119.38) (width 0.4) (layer F.Cu) (net 39)) - (segment (start 205.74 128.397) (end 205.74 119.38) (width 0.4) (layer F.Cu) (net 40)) - (segment (start 208.28 128.397) (end 208.28 119.38) (width 0.4) (layer F.Cu) (net 41)) - (segment (start 210.82 128.397) (end 210.82 119.38) (width 0.4) (layer F.Cu) (net 42)) - (segment (start 213.36 128.397) (end 213.36 119.38) (width 0.4) (layer F.Cu) (net 43)) - (segment (start 215.9 128.397) (end 215.9 119.38) (width 0.4) (layer F.Cu) (net 44)) - (segment (start 218.44 128.397) (end 218.44 119.38) (width 0.4) (layer F.Cu) (net 45)) - (segment (start 220.98 128.397) (end 220.98 119.38) (width 0.4) (layer F.Cu) (net 46)) - (segment (start 223.52 128.397) (end 223.52 119.38) (width 0.4) (layer F.Cu) (net 47)) - (segment (start 226.06 128.397) (end 226.06 119.38) (width 0.4) (layer F.Cu) (net 48)) - (segment (start 228.6 128.397) (end 228.6 119.38) (width 0.4) (layer F.Cu) (net 49)) - (segment (start 231.14 128.397) (end 231.14 119.38) (width 1) (layer F.Cu) (net 50)) ) diff --git a/card/apple2idiot.net b/card/apple2idiot.net new file mode 100644 index 0000000..a51f2c9 --- /dev/null +++ b/card/apple2idiot.net @@ -0,0 +1,453 @@ +(export (version D) + (design + (source /home/equant/projects/apple_ii/apple2idiot/card/apple2idiot.sch) + (date "Wed 28 Jul 2021 03:35:35 PM MST") + (tool "Eeschema 5.1.10-88a1d61d58~88~ubuntu18.04.1") + (sheet (number 1) (name /) (tstamps /) + (title_block + (title apple2idiot) + (company "Nathanial Hendler") + (rev 0.0.1) + (date 2021-07-27) + (source apple2idiot.sch) + (comment (number 1) (value "MIT license; see LICENSE file")) + (comment (number 2) (value "")) + (comment (number 3) (value "")) + (comment (number 4) (value ""))))) + (components + (comp (ref J1) + (value "CARD EDGE") + (footprint pub:AppleIIBus) + (datasheet ~) + (libsource (lib Connector_Generic) (part Conn_02x25_Counter_Clockwise) (description "Generic connector, double row, 02x25, counter clockwise pin numbering scheme (similar to DIP packge numbering), script generated (kicad-library-utils/schlib/autogen/connector/)")) + (sheetpath (names /) (tstamps /)) + (tstamp 5E339C7A)) + (comp (ref C1) + (value C) + (footprint Capacitor_THT:C_Disc_D8.0mm_W2.5mm_P5.00mm) + (datasheet ~) + (libsource (lib Device) (part C) (description "Unpolarized capacitor")) + (sheetpath (names /) (tstamps /)) + (tstamp 6103513B)) + (comp (ref U2) + (value ESP32-DEVKITC-32D) + (footprint MODULE_ESP32-DEVKITC-32D) + (fields + (field (name MANUFACTURER) "Espressif Systems") + (field (name PARTREV) 4)) + (libsource (lib ESP32-DEV_KIT) (part ESP32-DEVKITC-32D) (description "")) + (sheetpath (names /) (tstamps /)) + (tstamp 613EE5FC)) + (comp (ref U1) + (value IDT7132) + (footprint Package_DIP:DIP-48_W15.24mm_Socket_LongPads) + (libsource (lib Memory_RAM) (part IDT7132) (description "")) + (sheetpath (names /) (tstamps /)) + (tstamp 6102DC5C))) + (libparts + (libpart (lib Connector_Generic) (part Conn_02x25_Counter_Clockwise) + (description "Generic connector, double row, 02x25, counter clockwise pin numbering scheme (similar to DIP packge numbering), script generated (kicad-library-utils/schlib/autogen/connector/)") + (docs ~) + (footprints + (fp Connector*:*_2x??_*)) + (fields + (field (name Reference) J) + (field (name Value) Conn_02x25_Counter_Clockwise)) + (pins + (pin (num 1) (name Pin_1) (type passive)) + (pin (num 2) (name Pin_2) (type passive)) + (pin (num 3) (name Pin_3) (type passive)) + (pin (num 4) (name Pin_4) (type passive)) + (pin (num 5) (name Pin_5) (type passive)) + (pin (num 6) (name Pin_6) (type passive)) + (pin (num 7) (name Pin_7) (type passive)) + (pin (num 8) (name Pin_8) (type passive)) + (pin (num 9) (name Pin_9) (type passive)) + (pin (num 10) (name Pin_10) (type passive)) + (pin (num 11) (name Pin_11) (type passive)) + (pin (num 12) (name Pin_12) (type passive)) + (pin (num 13) (name Pin_13) (type passive)) + (pin (num 14) (name Pin_14) (type passive)) + (pin (num 15) (name Pin_15) (type passive)) + (pin (num 16) (name Pin_16) (type passive)) + (pin (num 17) (name Pin_17) (type passive)) + (pin (num 18) (name Pin_18) (type passive)) + (pin (num 19) (name Pin_19) (type passive)) + (pin (num 20) (name Pin_20) (type passive)) + (pin (num 21) (name Pin_21) (type passive)) + (pin (num 22) (name Pin_22) (type passive)) + (pin (num 23) (name Pin_23) (type passive)) + (pin (num 24) (name Pin_24) (type passive)) + (pin (num 25) (name Pin_25) (type passive)) + (pin (num 26) (name Pin_26) (type passive)) + (pin (num 27) (name Pin_27) (type passive)) + (pin (num 28) (name Pin_28) (type passive)) + (pin (num 29) (name Pin_29) (type passive)) + (pin (num 30) (name Pin_30) (type passive)) + (pin (num 31) (name Pin_31) (type passive)) + (pin (num 32) (name Pin_32) (type passive)) + (pin (num 33) (name Pin_33) (type passive)) + (pin (num 34) (name Pin_34) (type passive)) + (pin (num 35) (name Pin_35) (type passive)) + (pin (num 36) (name Pin_36) (type passive)) + (pin (num 37) (name Pin_37) (type passive)) + (pin (num 38) (name Pin_38) (type passive)) + (pin (num 39) (name Pin_39) (type passive)) + (pin (num 40) (name Pin_40) (type passive)) + (pin (num 41) (name Pin_41) (type passive)) + (pin (num 42) (name Pin_42) (type passive)) + (pin (num 43) (name Pin_43) (type passive)) + (pin (num 44) (name Pin_44) (type passive)) + (pin (num 45) (name Pin_45) (type passive)) + (pin (num 46) (name Pin_46) (type passive)) + (pin (num 47) (name Pin_47) (type passive)) + (pin (num 48) (name Pin_48) (type passive)) + (pin (num 49) (name Pin_49) (type passive)) + (pin (num 50) (name Pin_50) (type passive)))) + (libpart (lib Device) (part C) + (description "Unpolarized capacitor") + (docs ~) + (footprints + (fp C_*)) + (fields + (field (name Reference) C) + (field (name Value) C)) + (pins + (pin (num 1) (name ~) (type passive)) + (pin (num 2) (name ~) (type passive)))) + (libpart (lib ESP32-DEV_KIT) (part ESP32-DEVKITC-32D) + (fields + (field (name Reference) U) + (field (name Value) ESP32-DEVKITC-32D) + (field (name Footprint) MODULE_ESP32-DEVKITC-32D) + (field (name PARTREV) 4) + (field (name MANUFACTURER) "Espressif Systems")) + (pins + (pin (num 1) (name 3V3) (type power_in)) + (pin (num 2) (name EN) (type input)) + (pin (num 3) (name SENSOR_VP) (type input)) + (pin (num 4) (name SENSOR_VN) (type input)) + (pin (num 5) (name IO34) (type BiDi)) + (pin (num 6) (name IO35) (type BiDi)) + (pin (num 7) (name IO32) (type BiDi)) + (pin (num 8) (name IO33) (type BiDi)) + (pin (num 9) (name IO25) (type BiDi)) + (pin (num 10) (name IO26) (type BiDi)) + (pin (num 11) (name IO27) (type BiDi)) + (pin (num 12) (name IO14) (type BiDi)) + (pin (num 13) (name IO12) (type BiDi)) + (pin (num 14) (name GND1) (type power_in)) + (pin (num 15) (name IO13) (type BiDi)) + (pin (num 16) (name SD2) (type BiDi)) + (pin (num 17) (name SD3) (type BiDi)) + (pin (num 18) (name CMD) (type BiDi)) + (pin (num 19) (name EXT_5V) (type power_in)) + (pin (num 20) (name GND3) (type power_in)) + (pin (num 21) (name IO23) (type BiDi)) + (pin (num 22) (name IO22) (type BiDi)) + (pin (num 23) (name TXD0) (type output)) + (pin (num 24) (name RXD0) (type input)) + (pin (num 25) (name IO21) (type BiDi)) + (pin (num 26) (name GND2) (type power_in)) + (pin (num 27) (name IO19) (type BiDi)) + (pin (num 28) (name IO18) (type BiDi)) + (pin (num 29) (name IO5) (type BiDi)) + (pin (num 30) (name IO17) (type BiDi)) + (pin (num 31) (name IO16) (type BiDi)) + (pin (num 32) (name IO4) (type BiDi)) + (pin (num 33) (name IO0) (type BiDi)) + (pin (num 34) (name IO2) (type BiDi)) + (pin (num 35) (name IO15) (type BiDi)) + (pin (num 36) (name SD1) (type BiDi)) + (pin (num 37) (name SD0) (type BiDi)) + (pin (num 38) (name CLK) (type input)))) + (libpart (lib Memory_RAM) (part IDT7132) + (fields + (field (name Reference) U) + (field (name Value) IDT7132)) + (pins + (pin (num 1) (name /CEL) (type input)) + (pin (num 2) (name R/WL) (type input)) + (pin (num 3) (name /BSYL) (type output)) + (pin (num 4) (name A10L) (type input)) + (pin (num 5) (name /OEL) (type input)) + (pin (num 6) (name A0L) (type input)) + (pin (num 7) (name A1L) (type input)) + (pin (num 8) (name A2L) (type input)) + (pin (num 9) (name A3L) (type input)) + (pin (num 10) (name A4L) (type input)) + (pin (num 11) (name A5L) (type input)) + (pin (num 12) (name A6L) (type input)) + (pin (num 13) (name A7L) (type input)) + (pin (num 14) (name A8L) (type input)) + (pin (num 15) (name A9L) (type input)) + (pin (num 16) (name I/O0L) (type input)) + (pin (num 17) (name I/O1L) (type input)) + (pin (num 18) (name I/O2L) (type input)) + (pin (num 19) (name I/O3L) (type input)) + (pin (num 20) (name I/O4L) (type input)) + (pin (num 21) (name I/O5L) (type input)) + (pin (num 22) (name I/O6L) (type input)) + (pin (num 23) (name I/O7L) (type input)) + (pin (num 24) (name GND) (type power_in)) + (pin (num 25) (name I/O0R) (type input)) + (pin (num 26) (name I/O1R) (type input)) + (pin (num 27) (name I/O2R) (type input)) + (pin (num 28) (name I/O3R) (type input)) + (pin (num 29) (name I/O4R) (type input)) + (pin (num 30) (name I/O5R) (type input)) + (pin (num 31) (name I/O6R) (type input)) + (pin (num 32) (name I/O7R) (type input)) + (pin (num 33) (name A9R) (type input)) + (pin (num 34) (name A8R) (type input)) + (pin (num 35) (name A7R) (type input)) + (pin (num 36) (name A6R) (type input)) + (pin (num 37) (name A5R) (type input)) + (pin (num 38) (name A4R) (type input)) + (pin (num 39) (name A3R) (type input)) + (pin (num 40) (name A2R) (type input)) + (pin (num 41) (name A1R) (type input)) + (pin (num 42) (name A0R) (type input)) + (pin (num 43) (name /OER) (type input)) + (pin (num 44) (name A10R) (type input)) + (pin (num 45) (name /BSYR) (type output)) + (pin (num 46) (name R/WR) (type input)) + (pin (num 47) (name /CER) (type input)) + (pin (num 48) (name VCC) (type power_in))))) + (libraries + (library (logical Connector_Generic) + (uri /usr/share/kicad/library/Connector_Generic.lib)) + (library (logical Device) + (uri /usr/share/kicad/library/Device.lib)) + (library (logical ESP32-DEV_KIT) + (uri /home/equant/projects/kicad_stuff/ESP32-DEVKITC-32D/ESP32-DEVKITC-32D.lib)) + (library (logical Memory_RAM) + (uri /usr/share/kicad/library/Memory_RAM.lib))) + (nets + (net (code 1) (name "Net-(U1-Pad36)") + (node (ref U1) (pin 36))) + (net (code 2) (name "Net-(U1-Pad35)") + (node (ref U1) (pin 35))) + (net (code 3) (name "Net-(U1-Pad34)") + (node (ref U1) (pin 34))) + (net (code 4) (name "Net-(U1-Pad33)") + (node (ref U1) (pin 33))) + (net (code 5) (name "Net-(U1-Pad26)") + (node (ref U1) (pin 26)) + (node (ref U2) (pin 15))) + (net (code 6) (name GND) + (node (ref U1) (pin 43)) + (node (ref U2) (pin 20)) + (node (ref U1) (pin 4)) + (node (ref U1) (pin 15)) + (node (ref U2) (pin 26)) + (node (ref U1) (pin 14)) + (node (ref C1) (pin 2)) + (node (ref U2) (pin 14)) + (node (ref U1) (pin 5)) + (node (ref U1) (pin 47)) + (node (ref J1) (pin 26)) + (node (ref U1) (pin 24))) + (net (code 7) (name /R~W) + (node (ref J1) (pin 18)) + (node (ref U1) (pin 2))) + (net (code 8) (name /D3) + (node (ref U1) (pin 19)) + (node (ref J1) (pin 46))) + (net (code 9) (name /D4) + (node (ref U1) (pin 20)) + (node (ref J1) (pin 45))) + (net (code 10) (name /D5) + (node (ref U1) (pin 21)) + (node (ref J1) (pin 44))) + (net (code 11) (name /D6) + (node (ref U1) (pin 22)) + (node (ref J1) (pin 43))) + (net (code 12) (name /D7) + (node (ref U1) (pin 23)) + (node (ref J1) (pin 42))) + (net (code 13) (name /A3) + (node (ref J1) (pin 5)) + (node (ref U1) (pin 9))) + (net (code 14) (name /A2) + (node (ref J1) (pin 4)) + (node (ref U1) (pin 8))) + (net (code 15) (name /A1) + (node (ref J1) (pin 3)) + (node (ref U1) (pin 7))) + (net (code 16) (name /D1) + (node (ref J1) (pin 48)) + (node (ref U1) (pin 17))) + (net (code 17) (name "Net-(U1-Pad45)") + (node (ref U1) (pin 45))) + (net (code 18) (name "Net-(U1-Pad44)") + (node (ref U1) (pin 44))) + (net (code 19) (name "Net-(U1-Pad42)") + (node (ref U1) (pin 42)) + (node (ref U2) (pin 21))) + (net (code 20) (name "Net-(U1-Pad32)") + (node (ref U2) (pin 22)) + (node (ref U1) (pin 32))) + (net (code 21) (name "Net-(U2-Pad23)") + (node (ref U2) (pin 23))) + (net (code 22) (name "Net-(U2-Pad24)") + (node (ref U2) (pin 24))) + (net (code 23) (name "Net-(U1-Pad31)") + (node (ref U1) (pin 31)) + (node (ref U2) (pin 25))) + (net (code 24) (name "Net-(U1-Pad30)") + (node (ref U1) (pin 30)) + (node (ref U2) (pin 27))) + (net (code 25) (name "Net-(U1-Pad46)") + (node (ref U1) (pin 46)) + (node (ref U2) (pin 29))) + (net (code 26) (name "Net-(U2-Pad30)") + (node (ref U2) (pin 30))) + (net (code 27) (name "Net-(U2-Pad31)") + (node (ref U2) (pin 31))) + (net (code 28) (name /A0) + (node (ref U1) (pin 6)) + (node (ref J1) (pin 2))) + (net (code 29) (name /D0) + (node (ref J1) (pin 49)) + (node (ref U1) (pin 16))) + (net (code 30) (name /A7) + (node (ref J1) (pin 9)) + (node (ref U1) (pin 13))) + (net (code 31) (name /A6) + (node (ref U1) (pin 12)) + (node (ref J1) (pin 8))) + (net (code 32) (name /A5) + (node (ref U1) (pin 11)) + (node (ref J1) (pin 7))) + (net (code 33) (name /A4) + (node (ref J1) (pin 6)) + (node (ref U1) (pin 10))) + (net (code 34) (name /D2) + (node (ref J1) (pin 47)) + (node (ref U1) (pin 18))) + (net (code 35) (name "Net-(U1-Pad3)") + (node (ref U2) (pin 6)) + (node (ref U1) (pin 3))) + (net (code 36) (name "Net-(U1-Pad39)") + (node (ref U1) (pin 39)) + (node (ref U2) (pin 11))) + (net (code 37) (name "Net-(U1-Pad40)") + (node (ref U1) (pin 40)) + (node (ref U2) (pin 10))) + (net (code 38) (name "Net-(U1-Pad41)") + (node (ref U1) (pin 41)) + (node (ref U2) (pin 9))) + (net (code 39) (name "Net-(U1-Pad38)") + (node (ref U1) (pin 38)) + (node (ref U2) (pin 7))) + (net (code 40) (name "Net-(U1-Pad37)") + (node (ref U2) (pin 8)) + (node (ref U1) (pin 37))) + (net (code 41) (name "Net-(U1-Pad25)") + (node (ref U1) (pin 25)) + (node (ref U2) (pin 13))) + (net (code 42) (name +5V) + (node (ref J1) (pin 25)) + (node (ref U2) (pin 19)) + (node (ref U1) (pin 48)) + (node (ref C1) (pin 1))) + (net (code 43) (name "Net-(U1-Pad29)") + (node (ref U1) (pin 29)) + (node (ref U2) (pin 28))) + (net (code 44) (name "Net-(U2-Pad32)") + (node (ref U2) (pin 32))) + (net (code 45) (name "Net-(U1-Pad28)") + (node (ref U1) (pin 28)) + (node (ref U2) (pin 35))) + (net (code 46) (name "Net-(U1-Pad27)") + (node (ref U2) (pin 12)) + (node (ref U1) (pin 27))) + (net (code 47) (name /~IOSEL) + (node (ref U2) (pin 5)) + (node (ref J1) (pin 1))) + (net (code 48) (name /+12V) + (node (ref J1) (pin 50))) + (net (code 49) (name /PHI0) + (node (ref J1) (pin 40))) + (net (code 50) (name /~IOSTRB) + (node (ref J1) (pin 20))) + (net (code 51) (name /~RES) + (node (ref J1) (pin 31))) + (net (code 52) (name /~IRQ) + (node (ref J1) (pin 30))) + (net (code 53) (name /~NMI) + (node (ref J1) (pin 29))) + (net (code 54) (name /INTIN) + (node (ref J1) (pin 28))) + (net (code 55) (name /DMAIN) + (node (ref J1) (pin 27))) + (net (code 56) (name /DMAOUT) + (node (ref J1) (pin 24))) + (net (code 57) (name /INTOUT) + (node (ref J1) (pin 23))) + (net (code 58) (name /~DMA) + (node (ref J1) (pin 22))) + (net (code 59) (name /RDY) + (node (ref J1) (pin 21))) + (net (code 60) (name /~INH) + (node (ref J1) (pin 32))) + (net (code 61) (name /SYNC) + (node (ref J1) (pin 19))) + (net (code 62) (name /A15) + (node (ref J1) (pin 17))) + (net (code 63) (name /A14) + (node (ref J1) (pin 16))) + (net (code 64) (name /A13) + (node (ref J1) (pin 15))) + (net (code 65) (name /A12) + (node (ref J1) (pin 14))) + (net (code 66) (name /A11) + (node (ref J1) (pin 13))) + (net (code 67) (name /A10) + (node (ref J1) (pin 12))) + (net (code 68) (name /A9) + (node (ref J1) (pin 11))) + (net (code 69) (name /A8) + (node (ref J1) (pin 10))) + (net (code 70) (name /~DEVSEL) + (node (ref J1) (pin 41)) + (node (ref U1) (pin 1))) + (net (code 71) (name /USER1) + (node (ref J1) (pin 39))) + (net (code 72) (name /PHI1) + (node (ref J1) (pin 38))) + (net (code 73) (name /Q3) + (node (ref J1) (pin 37))) + (net (code 74) (name /7M) + (node (ref J1) (pin 36))) + (net (code 75) (name /-5V) + (node (ref J1) (pin 34))) + (net (code 76) (name /-12V) + (node (ref J1) (pin 33))) + (net (code 77) (name "Net-(U2-Pad1)") + (node (ref U2) (pin 1))) + (net (code 78) (name "Net-(U2-Pad33)") + (node (ref U2) (pin 33))) + (net (code 79) (name "Net-(U2-Pad34)") + (node (ref U2) (pin 34))) + (net (code 80) (name "Net-(U2-Pad36)") + (node (ref U2) (pin 36))) + (net (code 81) (name "Net-(U2-Pad37)") + (node (ref U2) (pin 37))) + (net (code 82) (name "Net-(U2-Pad38)") + (node (ref U2) (pin 38))) + (net (code 83) (name "Net-(U2-Pad18)") + (node (ref U2) (pin 18))) + (net (code 84) (name "Net-(U2-Pad17)") + (node (ref U2) (pin 17))) + (net (code 85) (name "Net-(U2-Pad16)") + (node (ref U2) (pin 16))) + (net (code 86) (name "Net-(U2-Pad4)") + (node (ref U2) (pin 4))) + (net (code 87) (name "Net-(U2-Pad3)") + (node (ref U2) (pin 3))) + (net (code 88) (name "Net-(U2-Pad2)") + (node (ref U2) (pin 2))) + (net (code 89) (name /COLORREF) + (node (ref J1) (pin 35))))) \ No newline at end of file diff --git a/card/apple2idiot.pro b/card/apple2idiot.pro index 152769c..7c0b1ed 100644 --- a/card/apple2idiot.pro +++ b/card/apple2idiot.pro @@ -1,4 +1,4 @@ -update=22/05/2015 07:44:53 +update=Wed 28 Jul 2021 03:35:35 PM MST version=1 last_client=kicad [general] @@ -31,3 +31,13 @@ NetIExt=net version=1 LibDir= [eeschema/libraries] +[schematic_editor] +version=1 +PageLayoutDescrFile= +PlotDirectoryName= +SubpartIdSeparator=0 +SubpartFirstId=65 +NetFmtName=Pcbnew +SpiceAjustPassiveValues=0 +LabSize=50 +ERC_TestSimilarLabels=1 diff --git a/card/apple2idiot.sch b/card/apple2idiot.sch index 5d9d49a..3857d98 100644 --- a/card/apple2idiot.sch +++ b/card/apple2idiot.sch @@ -72,8 +72,6 @@ Text Label 1750 4300 2 50 ~ 0 INTOUT Text Label 1750 4400 2 50 ~ 0 DMAOUT -Text Label 1750 4500 2 50 ~ 0 -+5V Text Label 2350 4500 0 50 ~ 0 GND Text Label 2350 4400 0 50 ~ 0 @@ -185,17 +183,6 @@ Wire Wire Line Wire Wire Line 1800 4400 1300 4400 $Comp -L RF_Module:ESP32-WROOM-32 U2 -U 1 1 6102A0B5 -P 9750 2350 -F 0 "U2" H 10200 1000 50 0000 C CNN -F 1 "ESP32-WROOM-32" H 9350 3700 50 0000 C CNN -F 2 "RF_Module:ESP32-WROOM-32" H 9750 850 50 0001 C CNN -F 3 "https://www.espressif.com/sites/default/files/documentation/esp32-wroom-32_datasheet_en.pdf" H 9450 2400 50 0001 C CNN - 1 9750 2350 - -1 0 0 1 -$EndComp -$Comp L Device:C C1 U 1 1 6103513B P 1000 5850 @@ -222,38 +209,6 @@ Entry Wire Line 3050 2800 3150 2900 Entry Wire Line 3050 2900 3150 3000 -Entry Wire Line - 4800 2750 4900 2850 -Entry Wire Line - 4800 2850 4900 2950 -Entry Wire Line - 4800 2950 4900 3050 -Entry Wire Line - 4800 3050 4900 3150 -Entry Wire Line - 4800 3150 4900 3250 -Entry Wire Line - 4800 3250 4900 3350 -Entry Wire Line - 4800 3350 4900 3450 -Entry Wire Line - 4800 3450 4900 3550 -Wire Wire Line - 4900 2850 5100 2850 -Wire Wire Line - 4900 2950 5100 2950 -Wire Wire Line - 4900 3050 5100 3050 -Wire Wire Line - 4900 3150 5100 3150 -Wire Wire Line - 4900 3250 5100 3250 -Wire Wire Line - 4900 3350 5100 3350 -Wire Wire Line - 5100 3450 4900 3450 -Wire Wire Line - 4900 3550 5100 3550 Wire Wire Line 2300 2200 3050 2200 Wire Wire Line @@ -286,36 +241,10 @@ Text Label 2950 2800 0 50 ~ 0 D6 Text Label 2950 2900 0 50 ~ 0 D7 -Text Label 4900 2850 0 50 ~ 0 -D0 -Text Label 4900 2950 0 50 ~ 0 -D1 -Text Label 4900 3050 0 50 ~ 0 -D2 -Text Label 4900 3150 0 50 ~ 0 -D3 -Text Label 4900 3250 0 50 ~ 0 -D4 -Text Label 4900 3350 0 50 ~ 0 -D5 -Text Label 4900 3450 0 50 ~ 0 -D6 -Text Label 4900 3550 0 50 ~ 0 -D7 -Wire Bus Line - 3150 3000 4250 3000 -Wire Bus Line - 4250 3000 4250 2750 Wire Wire Line 3050 3000 3050 3100 -Wire Wire Line - 4400 3100 4400 1150 Wire Wire Line 2300 3000 3050 3000 -Text GLabel 5000 1450 0 50 Input ~ 0 -GND -Wire Wire Line - 5100 1450 5000 1450 Text GLabel 2950 4500 2 50 Input ~ 0 GND Wire Wire Line @@ -328,35 +257,6 @@ Entry Wire Line 900 2300 1000 2400 Entry Wire Line 900 2400 1000 2500 -Entry Wire Line - 4650 1750 4750 1850 -Entry Wire Line - 4650 1850 4750 1950 -Entry Wire Line - 4650 1650 4750 1750 -Entry Wire Line - 4650 1550 4750 1650 -$Comp -L Memory_RAM:IDT7132 U1 -U 1 1 6102DC5C -P 6000 2350 -F 0 "U1" H 5450 3800 50 0000 C CNN -F 1 "IDT7132" H 6450 900 50 0000 C CNN -F 2 "Package_DIP:DIP-48_W15.24mm_Socket_LongPads" H 6000 2350 50 0001 C CNN -F 3 "" H 6000 2350 50 0001 C CNN - 1 6000 2350 - 1 0 0 -1 -$EndComp -Wire Wire Line - 4750 1650 5100 1650 -Wire Wire Line - 4750 1750 5100 1750 -Wire Wire Line - 4750 1850 5100 1850 -Wire Wire Line - 4750 1950 5100 1950 -Wire Wire Line - 3050 3100 4400 3100 Wire Wire Line 1000 2200 1800 2200 Wire Wire Line @@ -373,15 +273,7 @@ Text Label 1000 2400 0 50 ~ 0 A2 Text Label 1000 2500 0 50 ~ 0 A3 -Text Label 4750 1650 0 50 ~ 0 -A0 -Text Label 4750 1750 0 50 ~ 0 -A1 -Text Label 4750 1850 0 50 ~ 0 -A2 -Text Label 4750 1950 0 50 ~ 0 -A3 -Text GLabel 10500 1100 3 50 Input ~ 0 +Text GLabel 9950 1850 2 50 Input ~ 0 GND Wire Wire Line 650 3800 650 1250 @@ -389,40 +281,10 @@ Wire Wire Line 650 3800 1800 3800 Text GLabel 1000 6000 3 50 Input ~ 0 GND -Text GLabel 1150 4500 0 50 Input ~ 0 -+5V -Wire Wire Line - 1150 4500 1800 4500 Text GLabel 1000 5700 1 50 Input ~ 0 +5V Wire Wire Line - 9750 950 10500 950 -Wire Wire Line - 10500 950 10500 1100 -Wire Wire Line - 650 1250 5100 1250 -Wire Bus Line - 900 1550 4650 1550 -Wire Bus Line - 4250 2750 4800 2750 -Wire Wire Line - 4400 1150 5100 1150 -Entry Wire Line - 4650 1950 4750 2050 -Entry Wire Line - 4650 2050 4750 2150 -Entry Wire Line - 4650 2150 4750 2250 -Entry Wire Line - 4650 2250 4750 2350 -Wire Wire Line - 4750 2050 5100 2050 -Wire Wire Line - 4750 2250 5100 2250 -Wire Wire Line - 4750 2150 5100 2150 -Wire Wire Line - 4750 2350 5100 2350 + 9800 1850 9950 1850 Wire Wire Line 1000 2600 1800 2600 Entry Wire Line @@ -439,14 +301,6 @@ Wire Wire Line 1000 2800 1800 2800 Wire Wire Line 1000 2900 1800 2900 -Text GLabel 5000 2550 0 50 Input ~ 0 -GND -Wire Wire Line - 5100 2550 5000 2550 -Text GLabel 5000 2650 0 50 Input ~ 0 -GND -Wire Wire Line - 5100 2650 5000 2650 Text Label 1000 2600 0 50 ~ 0 A4 Text Label 1000 2700 0 50 ~ 0 @@ -455,206 +309,331 @@ Text Label 1000 2800 0 50 ~ 0 A6 Text Label 1000 2900 0 50 ~ 0 A7 -Text Label 4750 2050 0 50 ~ 0 -A4 -Text Label 4750 2150 0 50 ~ 0 -A5 -Text Label 4750 2250 0 50 ~ 0 -A6 -Text Label 4750 2350 0 50 ~ 0 +$Comp +L ESP32-DEV_KIT:ESP32-DEVKITC-32D U2 +U 1 1 613EE5FC +P 9000 2750 +F 0 "U2" H 9000 3917 50 0000 C CNN +F 1 "ESP32-DEVKITC-32D" H 9000 3826 50 0000 C CNN +F 2 "ESPDEVKIT:MODULE_ESP32-DEVKITC-32D" H 9000 2750 50 0001 L BNN +F 3 "" H 9000 2750 50 0001 L BNN +F 4 "4" H 9000 2750 50 0001 L BNN "PARTREV" +F 5 "Espressif Systems" H 9000 2750 50 0001 L BNN "MANUFACTURER" + 1 9000 2750 + 1 0 0 -1 +$EndComp +Wire Wire Line + 6050 1150 6150 1150 +Text GLabel 6150 1150 2 50 Input ~ 0 +GND +Wire Wire Line + 6050 1450 6150 1450 +Text GLabel 6150 1450 2 50 Input ~ 0 +GND +Wire Wire Line + 4250 1350 4100 1350 +Wire Wire Line + 4250 2450 4150 2450 +Text GLabel 4150 2450 0 50 Input ~ 0 +GND +Text Label 3900 2350 0 50 ~ 0 A7 -Text GLabel 5000 2450 0 50 Input ~ 0 +Text Label 3900 2250 0 50 ~ 0 +A6 +Text Label 3900 2150 0 50 ~ 0 +A5 +Text Label 3900 2050 0 50 ~ 0 +A4 +Wire Wire Line + 4250 2650 4150 2650 +Text GLabel 4150 2650 0 50 Input ~ 0 GND Wire Wire Line - 5100 2450 5000 2450 -Entry Wire Line - 7150 2850 7250 2950 -Entry Wire Line - 7150 2950 7250 3050 -Entry Wire Line - 7150 3050 7250 3150 -Entry Wire Line - 7150 3150 7250 3250 -Entry Wire Line - 7150 3250 7250 3350 -Entry Wire Line - 7150 3350 7250 3450 -Entry Wire Line - 7150 3450 7250 3550 -Entry Wire Line - 7150 3550 7250 3650 -Entry Wire Line - 9050 2750 9150 2850 -Entry Wire Line - 9050 2850 9150 2950 -Entry Wire Line - 9050 2550 9150 2650 -Entry Wire Line - 9050 2650 9150 2750 -Entry Wire Line - 9050 2150 9150 2250 -Entry Wire Line - 9050 2250 9150 2350 -Entry Wire Line - 9050 1950 9150 2050 -Entry Wire Line - 9050 2050 9150 2150 -Wire Wire Line - 9050 1950 8800 1950 -Wire Wire Line - 9050 2050 8800 2050 -Wire Wire Line - 9050 2150 8800 2150 -Wire Wire Line - 9050 2250 8800 2250 -Wire Wire Line - 9050 2550 8800 2550 -Wire Wire Line - 9050 2650 8800 2650 -Wire Wire Line - 9050 2750 8800 2750 -Wire Bus Line - 7250 2950 8000 2950 -Wire Bus Line - 8000 2950 8000 2850 -Wire Wire Line - 6900 2850 7150 2850 -Wire Wire Line - 6900 2950 7150 2950 -Wire Wire Line - 6900 3550 7150 3550 -Wire Wire Line - 6900 3450 7150 3450 -Wire Wire Line - 6900 3350 7150 3350 -Wire Wire Line - 6900 3250 7150 3250 -Wire Wire Line - 6900 3150 7150 3150 -Wire Wire Line - 6900 3050 7150 3050 -Text Label 7000 2850 0 50 ~ 0 -D0R -Text Label 7000 2950 0 50 ~ 0 -D1R -Text Label 7000 3050 0 50 ~ 0 -D2R -Text Label 7000 3150 0 50 ~ 0 -D3R -Text Label 7000 3250 0 50 ~ 0 -D4R -Text Label 7000 3350 0 50 ~ 0 -D5R -Text Label 7000 3450 0 50 ~ 0 -D6R -Text Label 7000 3550 0 50 ~ 0 -D7R -Wire Bus Line - 8800 2850 8800 1950 -Wire Bus Line - 8000 2850 8800 2850 -Wire Wire Line - 9050 2850 8800 2850 -Text Label 8850 2850 0 50 ~ 0 -D0R -Text Label 8850 2750 0 50 ~ 0 -D1R -Text Label 8850 2650 0 50 ~ 0 -D2R -Text Label 8850 2550 0 50 ~ 0 -D3R -Text Label 8850 2250 0 50 ~ 0 -D4R -Text Label 8850 2150 0 50 ~ 0 -D5R -Text Label 8850 2050 0 50 ~ 0 -D6R -Text Label 8850 1950 0 50 ~ 0 -D7R -Wire Wire Line - 9100 1950 9150 1950 -Wire Wire Line - 6900 1750 8100 1750 -Wire Wire Line - 8100 1750 8100 1850 -Wire Wire Line - 8100 1850 9150 1850 -Wire Wire Line - 6900 1850 8050 1850 -Wire Wire Line - 8050 1850 8050 1900 -Wire Wire Line - 8050 1900 8550 1900 -Wire Wire Line - 8550 1900 8550 1750 -Wire Wire Line - 8550 1750 9150 1750 -Wire Wire Line - 6900 1650 8150 1650 -Wire Wire Line - 8150 1650 8150 1800 -Wire Wire Line - 8150 1800 9050 1800 -Wire Wire Line - 9050 1800 9050 1900 -Wire Wire Line - 9050 1900 9100 1900 -Wire Wire Line - 9100 1900 9100 1950 -Wire Wire Line - 6900 1950 8500 1950 -Wire Wire Line - 8500 1950 8500 1650 -Wire Wire Line - 8500 1650 9150 1650 -Wire Wire Line - 6900 1250 7900 1250 -Wire Wire Line - 7900 1250 7900 3050 -Wire Wire Line - 7900 3050 9150 3050 -Wire Wire Line - 5100 1350 4950 1350 -Wire Wire Line - 4950 1350 4950 800 -Wire Wire Line - 7850 3150 9150 3150 -Wire Wire Line - 8950 800 8950 1250 -Wire Wire Line - 8950 1250 9150 1250 -Wire Wire Line - 4950 800 8950 800 -Wire Wire Line - 6900 1350 9150 1350 -Wire Wire Line - 1300 2100 1300 700 -Wire Wire Line - 1300 700 8900 700 -Wire Wire Line - 8900 700 8900 1450 -Wire Wire Line - 8900 1450 9150 1450 -Wire Wire Line - 7850 2050 6900 2050 -Wire Wire Line - 7850 2050 7850 3150 -Text GLabel 7000 1450 2 50 Input ~ 0 + 4250 2550 4150 2550 +Text GLabel 4150 2550 0 50 Input ~ 0 GND Wire Wire Line - 6900 1450 7000 1450 -Text GLabel 7000 1150 2 50 Input ~ 0 + 3900 2350 4250 2350 +Wire Wire Line + 3900 2150 4250 2150 +Wire Wire Line + 3900 2250 4250 2250 +Wire Wire Line + 3900 2050 4250 2050 +Entry Wire Line + 3800 2250 3900 2350 +Entry Wire Line + 3800 2150 3900 2250 +Entry Wire Line + 3800 2050 3900 2150 +Entry Wire Line + 3800 1950 3900 2050 +Wire Wire Line + 3550 1150 4250 1150 +Wire Bus Line + 3400 2750 3950 2750 +Text Label 3900 1950 0 50 ~ 0 +A3 +Text Label 3900 1850 0 50 ~ 0 +A2 +Text Label 3900 1750 0 50 ~ 0 +A1 +Text Label 3900 1650 0 50 ~ 0 +A0 +Wire Wire Line + 3900 1950 4250 1950 +Wire Wire Line + 3900 1850 4250 1850 +Wire Wire Line + 3900 1750 4250 1750 +Wire Wire Line + 3900 1650 4250 1650 +$Comp +L Memory_RAM:IDT7132 U1 +U 1 1 6102DC5C +P 5150 2350 +F 0 "U1" H 4600 3800 50 0000 C CNN +F 1 "IDT7132" H 5600 900 50 0000 C CNN +F 2 "Package_DIP:DIP-48_W15.24mm_Socket_LongPads" H 5150 2350 50 0001 C CNN +F 3 "" H 5150 2350 50 0001 C CNN + 1 5150 2350 + 1 0 0 -1 +$EndComp +Entry Wire Line + 3800 1550 3900 1650 +Entry Wire Line + 3800 1650 3900 1750 +Entry Wire Line + 3800 1850 3900 1950 +Entry Wire Line + 3800 1750 3900 1850 +Wire Wire Line + 4250 1450 4150 1450 +Text GLabel 4150 1450 0 50 Input ~ 0 GND Wire Wire Line - 6900 1150 7000 1150 + 3550 3100 3550 1150 +Text Label 4050 3550 0 50 ~ 0 +D7 +Text Label 4050 3450 0 50 ~ 0 +D6 +Text Label 4050 3350 0 50 ~ 0 +D5 +Text Label 4050 3250 0 50 ~ 0 +D4 +Text Label 4050 3150 0 50 ~ 0 +D3 +Text Label 4050 3050 0 50 ~ 0 +D2 +Text Label 4050 2950 0 50 ~ 0 +D1 +Text Label 4050 2850 0 50 ~ 0 +D0 +Wire Wire Line + 4050 3550 4250 3550 +Wire Wire Line + 4250 3450 4050 3450 +Wire Wire Line + 4050 3350 4250 3350 +Wire Wire Line + 4050 3250 4250 3250 +Wire Wire Line + 4050 3150 4250 3150 +Wire Wire Line + 4050 3050 4250 3050 +Wire Wire Line + 4050 2950 4250 2950 +Wire Wire Line + 4050 2850 4250 2850 +Entry Wire Line + 3950 3450 4050 3550 +Entry Wire Line + 3950 3350 4050 3450 +Entry Wire Line + 3950 3250 4050 3350 +Entry Wire Line + 3950 3150 4050 3250 +Entry Wire Line + 3950 3050 4050 3150 +Entry Wire Line + 3950 2950 4050 3050 +Entry Wire Line + 3950 2850 4050 2950 +Entry Wire Line + 3950 2750 4050 2850 +Wire Wire Line + 650 1250 4250 1250 +Wire Wire Line + 3050 3100 3550 3100 +Wire Bus Line + 3150 3000 3400 3000 +Wire Bus Line + 3400 2750 3400 3000 +Wire Bus Line + 900 1550 3800 1550 +Wire Wire Line + 1150 4500 1300 4500 +Text GLabel 1150 4500 0 50 Input ~ 0 ++5V +Text Label 1750 4500 2 50 ~ 0 ++5V +Text GLabel 8050 3650 0 50 Input ~ 0 ++5V +Wire Wire Line + 8050 3650 8200 3650 +Wire Wire Line + 6050 3550 7100 3550 +Wire Wire Line + 7100 3550 7100 3050 +Wire Wire Line + 7100 3050 8200 3050 +Wire Wire Line + 6050 3450 7200 3450 +Wire Wire Line + 7200 3450 7200 3250 +Wire Wire Line + 7000 3350 7000 2950 +Wire Wire Line + 7000 2950 8200 2950 +Wire Wire Line + 6050 3350 7000 3350 +Wire Wire Line + 6050 3250 6150 3250 +Wire Wire Line + 6150 3250 6150 3850 +Wire Wire Line + 6150 3850 10050 3850 +Wire Wire Line + 10050 3850 10050 3350 +Wire Wire Line + 10050 3350 9800 3350 +Wire Wire Line + 6050 3150 6250 3150 +Wire Wire Line + 6250 3150 6250 3950 +Wire Wire Line + 6250 3950 10150 3950 +Wire Wire Line + 10150 3950 10150 2650 +Wire Wire Line + 10150 2650 9800 2650 +Wire Wire Line + 6050 3050 6350 3050 +Wire Wire Line + 6350 3050 6350 4050 +Wire Wire Line + 6350 4050 10250 4050 +Wire Wire Line + 10250 4050 10250 2550 +Wire Wire Line + 10250 2550 9800 2550 +Wire Wire Line + 6050 2950 6450 2950 +Wire Wire Line + 6450 2950 6450 4150 +Wire Wire Line + 6450 4150 10350 4150 +Wire Wire Line + 10350 4150 10350 2350 +Wire Wire Line + 10350 2350 9800 2350 +Text GLabel 9950 2450 2 50 Input ~ 0 +GND +Wire Wire Line + 9800 2450 9950 2450 +Wire Wire Line + 6050 2850 6550 2850 +Wire Wire Line + 6550 2850 6550 4250 +Wire Wire Line + 6550 4250 10450 4250 +Wire Wire Line + 10450 4250 10450 2050 +Wire Wire Line + 10450 2050 9800 2050 +Wire Wire Line + 6050 1650 8050 1650 +Wire Wire Line + 8050 1650 8050 1450 +Wire Wire Line + 8050 1450 10250 1450 +Wire Wire Line + 10250 1450 10250 1950 +Wire Wire Line + 10250 1950 9800 1950 +Wire Wire Line + 6050 1750 7050 1750 +Wire Wire Line + 7050 1750 7050 2650 +Wire Wire Line + 7050 2650 8200 2650 +Wire Wire Line + 6050 1850 6950 1850 +Wire Wire Line + 6950 1850 6950 2750 +Wire Wire Line + 6950 2750 8200 2750 +Wire Wire Line + 6050 1950 6850 1950 +Wire Wire Line + 6850 1950 6850 2850 +Wire Wire Line + 6850 2850 8200 2850 +Wire Wire Line + 4100 850 7300 850 +Wire Wire Line + 7300 850 7300 2350 +Wire Wire Line + 7300 2350 8200 2350 +Wire Wire Line + 4100 850 4100 1350 +Wire Wire Line + 1300 750 7400 750 +Wire Wire Line + 7400 750 7400 2250 +Wire Wire Line + 7400 2250 8200 2250 +Wire Wire Line + 1300 750 1300 2100 +Wire Wire Line + 6050 2050 7150 2050 +Wire Wire Line + 6050 2150 6750 2150 +Wire Wire Line + 6750 2150 6750 2550 +Wire Wire Line + 6750 2550 8200 2550 +Wire Wire Line + 7150 2050 7150 2450 +Wire Wire Line + 7150 2450 8200 2450 +Wire Wire Line + 6050 1250 10550 1250 +Wire Wire Line + 10550 1250 10550 2750 +Wire Wire Line + 10550 2750 9800 2750 +Wire Wire Line + 8200 3150 8050 3150 +Text GLabel 8050 3150 0 50 Input ~ 0 +GND +Wire Wire Line + 7200 3250 8200 3250 +Text GLabel 1150 4700 0 50 Input ~ 0 +VCC +Wire Wire Line + 1150 4700 1300 4700 +Wire Wire Line + 1300 4700 1300 4500 Wire Bus Line 3150 2300 3150 3000 Wire Bus Line - 4800 2750 4800 3450 + 3800 1550 3800 2250 Wire Bus Line - 4650 1550 4650 2250 -Wire Bus Line - 7250 2950 7250 3650 + 3950 2750 3950 3450 Wire Bus Line 900 1550 900 2800 +Connection ~ 1300 4500 +Wire Wire Line + 1300 4500 1800 4500 $EndSCHEMATC diff --git a/card/apple2idiot.sch-bak b/card/apple2idiot.sch-bak index 0c85bfc..bd98e0b 100644 --- a/card/apple2idiot.sch-bak +++ b/card/apple2idiot.sch-bak @@ -4,10 +4,10 @@ EELAYER END $Descr A4 11693 8268 encoding utf-8 Sheet 1 1 -Title "Apple II Breadboard Card" -Date "2021-02-08" -Rev "1.1" -Comp "Renee Harke" +Title "apple2idiot" +Date "2021-07-27" +Rev "0.0.1" +Comp "Nathanial Hendler" Comment1 "MIT license; see LICENSE file" Comment2 "" Comment3 "" @@ -16,423 +16,624 @@ $EndDescr $Comp L Connector_Generic:Conn_02x25_Counter_Clockwise J1 U 1 1 5E339C7A -P 3350 3400 -F 0 "J1" H 3400 4817 50 0000 C CNN -F 1 "CARD EDGE" H 3400 4726 50 0000 C CNN -F 2 "pub:AppleIIBus" H 3350 3400 50 0001 C CNN -F 3 "~" H 3350 3400 50 0001 C CNN - 1 3350 3400 +P 2000 3300 +F 0 "J1" H 2050 4717 50 0000 C CNN +F 1 "CARD EDGE" H 2050 4626 50 0000 C CNN +F 2 "pub:AppleIIBus" H 2000 3300 50 0001 C CNN +F 3 "~" H 2000 3300 50 0001 C CNN + 1 2000 3300 1 0 0 -1 $EndComp -Text Label 3100 2200 2 50 ~ 0 +Text Label 1750 2100 2 50 ~ 0 ~IOSEL -Text Label 3100 2300 2 50 ~ 0 +Text Label 1750 2200 2 50 ~ 0 A0 -Text Label 3100 2400 2 50 ~ 0 +Text Label 1750 2300 2 50 ~ 0 A1 -Text Label 3100 2500 2 50 ~ 0 +Text Label 1750 2400 2 50 ~ 0 A2 -Text Label 3100 2600 2 50 ~ 0 +Text Label 1750 2500 2 50 ~ 0 A3 -Text Label 3100 2700 2 50 ~ 0 +Text Label 1750 2600 2 50 ~ 0 A4 -Text Label 3100 2800 2 50 ~ 0 +Text Label 1750 2700 2 50 ~ 0 A5 -Text Label 3100 2900 2 50 ~ 0 +Text Label 1750 2800 2 50 ~ 0 A6 -Text Label 3100 3000 2 50 ~ 0 +Text Label 1750 2900 2 50 ~ 0 A7 -Text Label 3100 3100 2 50 ~ 0 +Text Label 1750 3000 2 50 ~ 0 A8 -Text Label 3100 3200 2 50 ~ 0 +Text Label 1750 3100 2 50 ~ 0 A9 -Text Label 3100 3300 2 50 ~ 0 +Text Label 1750 3200 2 50 ~ 0 A10 -Text Label 3100 3400 2 50 ~ 0 +Text Label 1750 3300 2 50 ~ 0 A11 -Text Label 3100 3500 2 50 ~ 0 +Text Label 1750 3400 2 50 ~ 0 A12 -Text Label 3100 3600 2 50 ~ 0 +Text Label 1750 3500 2 50 ~ 0 A13 -Text Label 3100 3700 2 50 ~ 0 +Text Label 1750 3600 2 50 ~ 0 A14 -Text Label 3100 3800 2 50 ~ 0 +Text Label 1750 3700 2 50 ~ 0 A15 -Text Label 3100 3900 2 50 ~ 0 +Text Label 1750 3800 2 50 ~ 0 R~W -Text Label 3100 4000 2 50 ~ 0 +Text Label 1750 3900 2 50 ~ 0 SYNC -Text Label 3100 4100 2 50 ~ 0 +Text Label 1750 4000 2 50 ~ 0 ~IOSTRB -Text Label 3100 4200 2 50 ~ 0 +Text Label 1750 4100 2 50 ~ 0 RDY -Text Label 3100 4300 2 50 ~ 0 +Text Label 1750 4200 2 50 ~ 0 ~DMA -Text Label 3100 4400 2 50 ~ 0 +Text Label 1750 4300 2 50 ~ 0 INTOUT -Text Label 3100 4500 2 50 ~ 0 +Text Label 1750 4400 2 50 ~ 0 DMAOUT -Text Label 3100 4600 2 50 ~ 0 -+5V -Text Label 3700 4600 0 50 ~ 0 +Text Label 2350 4500 0 50 ~ 0 GND -Text Label 3700 4500 0 50 ~ 0 +Text Label 2350 4400 0 50 ~ 0 DMAIN -Text Label 3700 4400 0 50 ~ 0 +Text Label 2350 4300 0 50 ~ 0 INTIN -Text Label 3700 4300 0 50 ~ 0 +Text Label 2350 4200 0 50 ~ 0 ~NMI -Text Label 3700 4200 0 50 ~ 0 +Text Label 2350 4100 0 50 ~ 0 ~IRQ -Text Label 3700 4100 0 50 ~ 0 +Text Label 2350 4000 0 50 ~ 0 ~RES -Text Label 3700 4000 0 50 ~ 0 +Text Label 2350 3900 0 50 ~ 0 ~INH -Text Label 3700 3900 0 50 ~ 0 +Text Label 2350 3800 0 50 ~ 0 -12V -Text Label 3700 3800 0 50 ~ 0 +Text Label 2350 3700 0 50 ~ 0 -5V -Text Label 3700 3600 0 50 ~ 0 +Text Label 2350 3500 0 50 ~ 0 7M -Text Label 3700 3500 0 50 ~ 0 +Text Label 2350 3400 0 50 ~ 0 Q3 -Text Label 3700 3400 0 50 ~ 0 +Text Label 2350 3300 0 50 ~ 0 PHI1 -Text Label 3700 3300 0 50 ~ 0 +Text Label 2350 3200 0 50 ~ 0 USER1 -Text Label 3700 3200 0 50 ~ 0 +Text Label 2350 3100 0 50 ~ 0 PHI0 -Text Label 3700 3100 0 50 ~ 0 +Text Label 2350 3000 0 50 ~ 0 ~DEVSEL -Text Label 3700 2200 0 50 ~ 0 +Text Label 2350 2100 0 50 ~ 0 +12V -Text Label 3700 2300 0 50 ~ 0 +Text Label 2350 2200 0 50 ~ 0 D0 -Text Label 3700 2400 0 50 ~ 0 +Text Label 2350 2300 0 50 ~ 0 D1 -Text Label 3700 2500 0 50 ~ 0 +Text Label 2350 2400 0 50 ~ 0 D2 -Text Label 3700 2600 0 50 ~ 0 +Text Label 2350 2500 0 50 ~ 0 D3 -Text Label 3700 2700 0 50 ~ 0 +Text Label 2350 2600 0 50 ~ 0 D4 -Text Label 3700 2800 0 50 ~ 0 +Text Label 2350 2700 0 50 ~ 0 D5 -Text Label 3700 2900 0 50 ~ 0 +Text Label 2350 2800 0 50 ~ 0 D6 -Text Label 3700 3000 0 50 ~ 0 +Text Label 2350 2900 0 50 ~ 0 D7 Wire Wire Line - 3650 2200 4150 2200 + 2300 2100 2800 2100 Wire Wire Line - 3650 2300 4150 2300 + 2300 3100 2800 3100 Wire Wire Line - 3650 2400 4150 2400 + 2300 3200 2800 3200 Wire Wire Line - 3650 2500 4150 2500 + 2300 3300 2800 3300 Wire Wire Line - 3650 2600 4150 2600 + 2300 3400 2800 3400 Wire Wire Line - 3650 2700 4150 2700 + 2300 3500 2800 3500 Wire Wire Line - 3650 2800 4150 2800 + 2300 3600 2800 3600 Wire Wire Line - 3650 2900 4150 2900 + 2300 3700 2800 3700 Wire Wire Line - 3650 3000 4150 3000 + 2300 3800 2800 3800 Wire Wire Line - 3650 3100 4150 3100 + 2300 3900 2800 3900 Wire Wire Line - 3650 3200 4150 3200 + 2300 4000 2800 4000 Wire Wire Line - 3650 3300 4150 3300 + 2300 4100 2800 4100 Wire Wire Line - 3650 3400 4150 3400 + 2300 4200 2800 4200 Wire Wire Line - 3650 3500 4150 3500 + 2300 4300 2800 4300 Wire Wire Line - 3650 3600 4150 3600 -Wire Wire Line - 3650 3700 4150 3700 -Wire Wire Line - 3650 3800 4150 3800 -Wire Wire Line - 3650 3900 4150 3900 -Wire Wire Line - 3650 4000 4150 4000 -Wire Wire Line - 3650 4100 4150 4100 -Wire Wire Line - 3650 4200 4150 4200 -Wire Wire Line - 3650 4300 4150 4300 -Wire Wire Line - 3650 4400 4150 4400 -Wire Wire Line - 3650 4500 4150 4500 -Wire Wire Line - 3650 4600 4150 4600 -Text Label 3700 3700 0 50 ~ 0 + 2300 4400 2800 4400 +Text Label 2350 3600 0 50 ~ 0 COLORREF Wire Wire Line - 3150 2200 2650 2200 + 1800 2100 1300 2100 Wire Wire Line - 3150 2300 2650 2300 + 1800 3000 1300 3000 Wire Wire Line - 3150 2400 2650 2400 + 1800 3100 1300 3100 Wire Wire Line - 3150 2500 2650 2500 + 1800 3200 1300 3200 Wire Wire Line - 3150 2600 2650 2600 + 1800 3300 1300 3300 Wire Wire Line - 3150 2700 2650 2700 + 1800 3400 1300 3400 Wire Wire Line - 3150 2800 2650 2800 + 1800 3500 1300 3500 Wire Wire Line - 3150 2900 2650 2900 + 1800 3600 1300 3600 Wire Wire Line - 3150 3000 2650 3000 + 1800 3700 1300 3700 Wire Wire Line - 3150 3100 2650 3100 + 1800 3900 1300 3900 Wire Wire Line - 3150 3200 2650 3200 + 1800 4000 1300 4000 Wire Wire Line - 3150 3300 2650 3300 + 1800 4100 1300 4100 Wire Wire Line - 3150 3400 2650 3400 + 1800 4200 1300 4200 Wire Wire Line - 3150 3500 2650 3500 + 1800 4300 1300 4300 Wire Wire Line - 3150 3600 2650 3600 -Wire Wire Line - 3150 3700 2650 3700 -Wire Wire Line - 3150 3800 2650 3800 -Wire Wire Line - 3150 3900 2650 3900 -Wire Wire Line - 3150 4000 2650 4000 -Wire Wire Line - 3150 4100 2650 4100 -Wire Wire Line - 3150 4200 2650 4200 -Wire Wire Line - 3150 4300 2650 4300 -Wire Wire Line - 3150 4400 2650 4400 -Wire Wire Line - 3150 4500 2650 4500 -Wire Wire Line - 3150 4600 2650 4600 + 1800 4400 1300 4400 $Comp -L Connector_Generic:Conn_02x25_Counter_Clockwise J2 -U 1 1 5E39109E -P 5350 3400 -F 0 "J2" H 5400 4817 50 0000 C CNN -F 1 "HEADER BLOCK" H 5400 4726 50 0000 C CNN -F 2 "pub:PinSocket_2x25_P2.54mm_Vertical_CCW_Mirrored_NoSilk" H 5350 3400 50 0001 C CNN -F 3 "~" H 5350 3400 50 0001 C CNN - 1 5350 3400 +L Device:C C1 +U 1 1 6103513B +P 1000 5850 +F 0 "C1" H 1115 5896 50 0000 L CNN +F 1 "C" H 1115 5805 50 0000 L CNN +F 2 "Capacitor_THT:C_Disc_D8.0mm_W2.5mm_P5.00mm" H 1038 5700 50 0001 C CNN +F 3 "~" H 1000 5850 50 0001 C CNN + 1 1000 5850 1 0 0 -1 $EndComp -Text Label 5100 2200 2 50 ~ 0 -~IOSEL -Text Label 5100 2300 2 50 ~ 0 -A0 -Text Label 5100 2400 2 50 ~ 0 -A1 -Text Label 5100 2500 2 50 ~ 0 -A2 -Text Label 5100 2600 2 50 ~ 0 -A3 -Text Label 5100 2700 2 50 ~ 0 -A4 -Text Label 5100 2800 2 50 ~ 0 -A5 -Text Label 5100 2900 2 50 ~ 0 -A6 -Text Label 5100 3000 2 50 ~ 0 -A7 -Text Label 5100 3100 2 50 ~ 0 -A8 -Text Label 5100 3200 2 50 ~ 0 -A9 -Text Label 5100 3300 2 50 ~ 0 -A10 -Text Label 5100 3400 2 50 ~ 0 -A11 -Text Label 5100 3500 2 50 ~ 0 -A12 -Text Label 5100 3600 2 50 ~ 0 -A13 -Text Label 5100 3700 2 50 ~ 0 -A14 -Text Label 5100 3800 2 50 ~ 0 -A15 -Text Label 5100 3900 2 50 ~ 0 -R~W -Text Label 5100 4000 2 50 ~ 0 -SYNC -Text Label 5100 4100 2 50 ~ 0 -~IOSTRB -Text Label 5100 4200 2 50 ~ 0 -RDY -Text Label 5100 4300 2 50 ~ 0 -~DMA -Text Label 5100 4400 2 50 ~ 0 -INTOUT -Text Label 5100 4500 2 50 ~ 0 -DMAOUT -Text Label 5100 4600 2 50 ~ 0 -+5V -Text Label 5700 4600 0 50 ~ 0 -GND -Text Label 5700 4500 0 50 ~ 0 -DMAIN -Text Label 5700 4400 0 50 ~ 0 -INTIN -Text Label 5700 4300 0 50 ~ 0 -~NMI -Text Label 5700 4200 0 50 ~ 0 -~IRQ -Text Label 5700 4100 0 50 ~ 0 -~RES -Text Label 5700 4000 0 50 ~ 0 -~INH -Text Label 5700 3900 0 50 ~ 0 --12V -Text Label 5700 3800 0 50 ~ 0 --5V -Text Label 5700 3600 0 50 ~ 0 -7M -Text Label 5700 3500 0 50 ~ 0 -Q3 -Text Label 5700 3400 0 50 ~ 0 -PHI1 -Text Label 5700 3300 0 50 ~ 0 -USER1 -Text Label 5700 3200 0 50 ~ 0 -PHI0 -Text Label 5700 3100 0 50 ~ 0 -~DEVSEL -Text Label 5700 2200 0 50 ~ 0 -+12V -Text Label 5700 2300 0 50 ~ 0 +Entry Wire Line + 3050 2200 3150 2300 +Entry Wire Line + 3050 2300 3150 2400 +Entry Wire Line + 3050 2400 3150 2500 +Entry Wire Line + 3050 2500 3150 2600 +Entry Wire Line + 3050 2600 3150 2700 +Entry Wire Line + 3050 2700 3150 2800 +Entry Wire Line + 3050 2800 3150 2900 +Entry Wire Line + 3050 2900 3150 3000 +Wire Wire Line + 2300 2200 3050 2200 +Wire Wire Line + 2300 2300 3050 2300 +Wire Wire Line + 2300 2400 3050 2400 +Wire Wire Line + 2300 2500 3050 2500 +Wire Wire Line + 2300 2600 3050 2600 +Wire Wire Line + 2300 2700 3050 2700 +Wire Wire Line + 2300 2800 3050 2800 +Wire Wire Line + 2300 2900 3050 2900 +Text Label 2950 2200 0 50 ~ 0 D0 -Text Label 5700 2400 0 50 ~ 0 +Text Label 2950 2300 0 50 ~ 0 D1 -Text Label 5700 2500 0 50 ~ 0 +Text Label 2950 2400 0 50 ~ 0 D2 -Text Label 5700 2600 0 50 ~ 0 +Text Label 2950 2500 0 50 ~ 0 D3 -Text Label 5700 2700 0 50 ~ 0 +Text Label 2950 2600 0 50 ~ 0 D4 -Text Label 5700 2800 0 50 ~ 0 +Text Label 2950 2700 0 50 ~ 0 D5 -Text Label 5700 2900 0 50 ~ 0 +Text Label 2950 2800 0 50 ~ 0 D6 -Text Label 5700 3000 0 50 ~ 0 +Text Label 2950 2900 0 50 ~ 0 D7 Wire Wire Line - 5650 2200 6150 2200 + 3050 3000 3050 3100 Wire Wire Line - 5650 2300 6150 2300 + 2300 3000 3050 3000 +Text GLabel 2950 4500 2 50 Input ~ 0 +GND Wire Wire Line - 5650 2400 6150 2400 + 2300 4500 2950 4500 +Entry Wire Line + 900 2100 1000 2200 +Entry Wire Line + 900 2200 1000 2300 +Entry Wire Line + 900 2300 1000 2400 +Entry Wire Line + 900 2400 1000 2500 Wire Wire Line - 5650 2500 6150 2500 + 1000 2200 1800 2200 Wire Wire Line - 5650 2600 6150 2600 + 1000 2300 1800 2300 Wire Wire Line - 5650 2700 6150 2700 + 1000 2400 1800 2400 Wire Wire Line - 5650 2800 6150 2800 + 1000 2500 1800 2500 +Text Label 1000 2200 0 50 ~ 0 +A0 +Text Label 1000 2300 0 50 ~ 0 +A1 +Text Label 1000 2400 0 50 ~ 0 +A2 +Text Label 1000 2500 0 50 ~ 0 +A3 +Text GLabel 9950 1850 2 50 Input ~ 0 +GND Wire Wire Line - 5650 2900 6150 2900 + 650 3800 650 1250 Wire Wire Line - 5650 3000 6150 3000 + 650 3800 1800 3800 +Text GLabel 1000 6000 3 50 Input ~ 0 +GND +Text GLabel 1000 5700 1 50 Input ~ 0 ++5V Wire Wire Line - 5650 3100 6150 3100 + 9800 1850 9950 1850 Wire Wire Line - 5650 3200 6150 3200 + 1000 2600 1800 2600 +Entry Wire Line + 900 2500 1000 2600 +Entry Wire Line + 900 2600 1000 2700 +Entry Wire Line + 900 2700 1000 2800 +Entry Wire Line + 900 2800 1000 2900 Wire Wire Line - 5650 3300 6150 3300 + 1000 2700 1800 2700 Wire Wire Line - 5650 3400 6150 3400 + 1000 2800 1800 2800 Wire Wire Line - 5650 3500 6150 3500 + 1000 2900 1800 2900 +Text Label 1000 2600 0 50 ~ 0 +A4 +Text Label 1000 2700 0 50 ~ 0 +A5 +Text Label 1000 2800 0 50 ~ 0 +A6 +Text Label 1000 2900 0 50 ~ 0 +A7 +$Comp +L ESP32-DEV_KIT:ESP32-DEVKITC-32D U2 +U 1 1 613EE5FC +P 9000 2750 +F 0 "U2" H 9000 3917 50 0000 C CNN +F 1 "ESP32-DEVKITC-32D" H 9000 3826 50 0000 C CNN +F 2 "MODULE_ESP32-DEVKITC-32D" H 9000 2750 50 0001 L BNN +F 3 "" H 9000 2750 50 0001 L BNN +F 4 "4" H 9000 2750 50 0001 L BNN "PARTREV" +F 5 "Espressif Systems" H 9000 2750 50 0001 L BNN "MANUFACTURER" + 1 9000 2750 + 1 0 0 -1 +$EndComp Wire Wire Line - 5650 3600 6150 3600 + 6050 1150 6150 1150 +Text GLabel 6150 1150 2 50 Input ~ 0 +GND Wire Wire Line - 5650 3700 6150 3700 + 6050 1450 6150 1450 +Text GLabel 6150 1450 2 50 Input ~ 0 +GND Wire Wire Line - 5650 3800 6150 3800 + 4250 1350 4100 1350 Wire Wire Line - 5650 3900 6150 3900 + 4250 2450 4150 2450 +Text GLabel 4150 2450 0 50 Input ~ 0 +GND +Text Label 3900 2350 0 50 ~ 0 +A7 +Text Label 3900 2250 0 50 ~ 0 +A6 +Text Label 3900 2150 0 50 ~ 0 +A5 +Text Label 3900 2050 0 50 ~ 0 +A4 Wire Wire Line - 5650 4000 6150 4000 + 4250 2650 4150 2650 +Text GLabel 4150 2650 0 50 Input ~ 0 +GND Wire Wire Line - 5650 4100 6150 4100 + 4250 2550 4150 2550 +Text GLabel 4150 2550 0 50 Input ~ 0 +GND Wire Wire Line - 5650 4200 6150 4200 + 3900 2350 4250 2350 Wire Wire Line - 5650 4300 6150 4300 + 3900 2150 4250 2150 Wire Wire Line - 5650 4400 6150 4400 + 3900 2250 4250 2250 Wire Wire Line - 5650 4500 6150 4500 + 3900 2050 4250 2050 +Entry Wire Line + 3800 2250 3900 2350 +Entry Wire Line + 3800 2150 3900 2250 +Entry Wire Line + 3800 2050 3900 2150 +Entry Wire Line + 3800 1950 3900 2050 Wire Wire Line - 5650 4600 6150 4600 -Text Label 5700 3700 0 50 ~ 0 -COLORREF + 3550 1150 4250 1150 +Wire Bus Line + 3400 2750 3950 2750 +Text Label 3900 1950 0 50 ~ 0 +A3 +Text Label 3900 1850 0 50 ~ 0 +A2 +Text Label 3900 1750 0 50 ~ 0 +A1 +Text Label 3900 1650 0 50 ~ 0 +A0 Wire Wire Line - 5150 2200 4650 2200 + 3900 1950 4250 1950 Wire Wire Line - 5150 2300 4650 2300 + 3900 1850 4250 1850 Wire Wire Line - 5150 2400 4650 2400 + 3900 1750 4250 1750 Wire Wire Line - 5150 2500 4650 2500 + 3900 1650 4250 1650 +$Comp +L Memory_RAM:IDT7132 U1 +U 1 1 6102DC5C +P 5150 2350 +F 0 "U1" H 4600 3800 50 0000 C CNN +F 1 "IDT7132" H 5600 900 50 0000 C CNN +F 2 "Package_DIP:DIP-48_W15.24mm_Socket_LongPads" H 5150 2350 50 0001 C CNN +F 3 "" H 5150 2350 50 0001 C CNN + 1 5150 2350 + 1 0 0 -1 +$EndComp +Entry Wire Line + 3800 1550 3900 1650 +Entry Wire Line + 3800 1650 3900 1750 +Entry Wire Line + 3800 1850 3900 1950 +Entry Wire Line + 3800 1750 3900 1850 Wire Wire Line - 5150 2600 4650 2600 + 4250 1450 4150 1450 +Text GLabel 4150 1450 0 50 Input ~ 0 +GND Wire Wire Line - 5150 2700 4650 2700 + 3550 3100 3550 1150 +Text Label 4050 3550 0 50 ~ 0 +D7 +Text Label 4050 3450 0 50 ~ 0 +D6 +Text Label 4050 3350 0 50 ~ 0 +D5 +Text Label 4050 3250 0 50 ~ 0 +D4 +Text Label 4050 3150 0 50 ~ 0 +D3 +Text Label 4050 3050 0 50 ~ 0 +D2 +Text Label 4050 2950 0 50 ~ 0 +D1 +Text Label 4050 2850 0 50 ~ 0 +D0 Wire Wire Line - 5150 2800 4650 2800 + 4050 3550 4250 3550 Wire Wire Line - 5150 2900 4650 2900 + 4250 3450 4050 3450 Wire Wire Line - 5150 3000 4650 3000 + 4050 3350 4250 3350 Wire Wire Line - 5150 3100 4650 3100 + 4050 3250 4250 3250 Wire Wire Line - 5150 3200 4650 3200 + 4050 3150 4250 3150 Wire Wire Line - 5150 3300 4650 3300 + 4050 3050 4250 3050 Wire Wire Line - 5150 3400 4650 3400 + 4050 2950 4250 2950 Wire Wire Line - 5150 3500 4650 3500 + 4050 2850 4250 2850 +Entry Wire Line + 3950 3450 4050 3550 +Entry Wire Line + 3950 3350 4050 3450 +Entry Wire Line + 3950 3250 4050 3350 +Entry Wire Line + 3950 3150 4050 3250 +Entry Wire Line + 3950 3050 4050 3150 +Entry Wire Line + 3950 2950 4050 3050 +Entry Wire Line + 3950 2850 4050 2950 +Entry Wire Line + 3950 2750 4050 2850 Wire Wire Line - 5150 3600 4650 3600 + 650 1250 4250 1250 Wire Wire Line - 5150 3700 4650 3700 + 3050 3100 3550 3100 +Wire Bus Line + 3150 3000 3400 3000 +Wire Bus Line + 3400 2750 3400 3000 +Wire Bus Line + 900 1550 3800 1550 Wire Wire Line - 5150 3800 4650 3800 + 1150 4500 1300 4500 +Text GLabel 1150 4500 0 50 Input ~ 0 ++5V +Text Label 1750 4500 2 50 ~ 0 ++5V +Text GLabel 8050 3650 0 50 Input ~ 0 ++5V Wire Wire Line - 5150 3900 4650 3900 + 8050 3650 8200 3650 Wire Wire Line - 5150 4000 4650 4000 + 6050 3550 7100 3550 Wire Wire Line - 5150 4100 4650 4100 + 7100 3550 7100 3050 Wire Wire Line - 5150 4200 4650 4200 + 7100 3050 8200 3050 Wire Wire Line - 5150 4300 4650 4300 + 6050 3450 7200 3450 Wire Wire Line - 5150 4400 4650 4400 + 7200 3450 7200 3250 Wire Wire Line - 5150 4500 4650 4500 + 7000 3350 7000 2950 Wire Wire Line - 5150 4600 4650 4600 + 7000 2950 8200 2950 +Wire Wire Line + 6050 3350 7000 3350 +Wire Wire Line + 6050 3250 6150 3250 +Wire Wire Line + 6150 3250 6150 3850 +Wire Wire Line + 6150 3850 10050 3850 +Wire Wire Line + 10050 3850 10050 3350 +Wire Wire Line + 10050 3350 9800 3350 +Wire Wire Line + 6050 3150 6250 3150 +Wire Wire Line + 6250 3150 6250 3950 +Wire Wire Line + 6250 3950 10150 3950 +Wire Wire Line + 10150 3950 10150 2650 +Wire Wire Line + 10150 2650 9800 2650 +Wire Wire Line + 6050 3050 6350 3050 +Wire Wire Line + 6350 3050 6350 4050 +Wire Wire Line + 6350 4050 10250 4050 +Wire Wire Line + 10250 4050 10250 2550 +Wire Wire Line + 10250 2550 9800 2550 +Wire Wire Line + 6050 2950 6450 2950 +Wire Wire Line + 6450 2950 6450 4150 +Wire Wire Line + 6450 4150 10350 4150 +Wire Wire Line + 10350 4150 10350 2350 +Wire Wire Line + 10350 2350 9800 2350 +Text GLabel 9950 2450 2 50 Input ~ 0 +GND +Wire Wire Line + 9800 2450 9950 2450 +Wire Wire Line + 6050 2850 6550 2850 +Wire Wire Line + 6550 2850 6550 4250 +Wire Wire Line + 6550 4250 10450 4250 +Wire Wire Line + 10450 4250 10450 2050 +Wire Wire Line + 10450 2050 9800 2050 +Wire Wire Line + 6050 1650 8050 1650 +Wire Wire Line + 8050 1650 8050 1450 +Wire Wire Line + 8050 1450 10250 1450 +Wire Wire Line + 10250 1450 10250 1950 +Wire Wire Line + 10250 1950 9800 1950 +Wire Wire Line + 6050 1750 7050 1750 +Wire Wire Line + 7050 1750 7050 2650 +Wire Wire Line + 7050 2650 8200 2650 +Wire Wire Line + 6050 1850 6950 1850 +Wire Wire Line + 6950 1850 6950 2750 +Wire Wire Line + 6950 2750 8200 2750 +Wire Wire Line + 6050 1950 6850 1950 +Wire Wire Line + 6850 1950 6850 2850 +Wire Wire Line + 6850 2850 8200 2850 +Wire Wire Line + 4100 850 7300 850 +Wire Wire Line + 7300 850 7300 2350 +Wire Wire Line + 7300 2350 8200 2350 +Wire Wire Line + 4100 850 4100 1350 +Wire Wire Line + 1300 750 7400 750 +Wire Wire Line + 7400 750 7400 2250 +Wire Wire Line + 7400 2250 8200 2250 +Wire Wire Line + 1300 750 1300 2100 +Wire Wire Line + 6050 2050 7150 2050 +Wire Wire Line + 6050 2150 6750 2150 +Wire Wire Line + 6750 2150 6750 2550 +Wire Wire Line + 6750 2550 8200 2550 +Wire Wire Line + 7150 2050 7150 2450 +Wire Wire Line + 7150 2450 8200 2450 +Wire Wire Line + 6050 1250 10550 1250 +Wire Wire Line + 10550 1250 10550 2750 +Wire Wire Line + 10550 2750 9800 2750 +Wire Wire Line + 8200 3150 8050 3150 +Text GLabel 8050 3150 0 50 Input ~ 0 +GND +Wire Wire Line + 7200 3250 8200 3250 +Text GLabel 1150 4700 0 50 Input ~ 0 +Vcc +Wire Wire Line + 1150 4700 1300 4700 +Wire Wire Line + 1300 4700 1300 4500 +Wire Bus Line + 3150 2300 3150 3000 +Wire Bus Line + 3800 1550 3800 2250 +Wire Bus Line + 3950 2750 3950 3450 +Wire Bus Line + 900 1550 900 2800 +Connection ~ 1300 4500 +Wire Wire Line + 1300 4500 1800 4500 $EndSCHEMATC diff --git a/data/a2i.css b/data/a2i.css new file mode 100644 index 0000000..d03483d --- /dev/null +++ b/data/a2i.css @@ -0,0 +1,3 @@ +/*! normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,footer,header,nav,section{display:block}h1{font-size:2em;margin:0.67em 0}figcaption,figure,main{display:block}figure{margin:1em 40px}hr{-webkit-box-sizing:content-box;box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace, monospace;font-size:1em}a,.list-group button:not(.btn){background-color:transparent;-webkit-text-decoration-skip:objects}a:active,.list-group button:active:not(.btn),a:hover,.list-group button:hover:not(.btn){outline-width:0}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:inherit}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em}dfn{font-style:italic}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}img{border-style:none}svg:not(:root){overflow:hidden}button,input,optgroup,select,textarea{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,html [type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:0.35em 0.625em 0.75em}legend{-webkit-box-sizing:border-box;box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{display:inline-block;vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px}[type="search"]::-webkit-search-cancel-button,[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details,menu{display:block}summary{display:list-item}canvas{display:inline-block}template{display:none}[hidden]{display:none}h1,h2,h3,h4,h5,h6,ol,ul,li,code,blockquote{margin:0;padding:0;font-size:1rem}h1,h2,h3,h4,h5,h6{position:relative}h1:before,h2:before,h3:before,h4:before,h5:before,h6:before{position:absolute;left:-4.675rem;width:4rem;text-align:right;color:#bdbdbd}@media screen and (max-width: 68rem){h1:before,h2:before,h3:before,h4:before,h5:before,h6:before{position:static;padding-right:1ch}}h1:before{content:"#"}h2:before{content:"##"}h3:before{content:"###"}h4:before{content:"####"}h5:before{content:"#####"}h6:before{content:"######"}ol{counter-reset:ol}ul>li{padding-left:2ch}ol>li{padding-left:3ch}li{position:relative;display:block}li:before{position:absolute;top:0;left:0;color:#bdbdbd}ul>li:before{content:"–"}ol>li:before{content:counter(ol) ".";counter-increment:ol}hr{height:1rem;margin:1.75rem 0;border:0}hr:after{display:block;height:1rem;overflow:hidden;content:"* * *";text-align:center;overflow:hidden;color:#bdbdbd;font-size:.75rem}.dashed-top:before,hr.dashed:before,.dashed-bottom:after{content:"– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –";position:absolute;left:0;overflow:hidden;width:100%;height:1rem;line-height:1;word-wrap:break-word;text-align:justify;letter-spacing:-.25rem;font-size:1rem;color:#e0e0e0}.dashed-top,hr.dashed{position:relative}.dashed-top:before,hr.dashed:before{top:-.5rem}.dashed-bottom{position:relative}.dashed-bottom:after{bottom:-.5rem}hr.dashed{margin:2rem 0 1rem}.grid{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.grid-top{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.grid-middle{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.grid-bottom{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}.grid-stretch{-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch}.grid-baseline{-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline}.grid-left{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.grid-center{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.grid-right{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.grid-between{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.grid-around{-ms-flex-pack:distribute;justify-content:space-around}.cell{-webkit-box-flex:1;-ms-flex:1;flex:1}.cell>*:last-child{margin-bottom:0}.cell-top{margin-bottom:auto}.cell-middle{margin:auto 0}.cell-bottom{margin-top:auto}.cell-1{-webkit-box-flex:0;-ms-flex:0 0 calc(100% * 1 / 12);flex:0 0 calc(100% * 1 / 12);min-width:calc(100% * 1 / 12)}.cell-2{-webkit-box-flex:0;-ms-flex:0 0 calc(100% * 2 / 12);flex:0 0 calc(100% * 2 / 12);min-width:calc(100% * 2 / 12)}.cell-3{-webkit-box-flex:0;-ms-flex:0 0 calc(100% * 3 / 12);flex:0 0 calc(100% * 3 / 12);min-width:calc(100% * 3 / 12)}.cell-4{-webkit-box-flex:0;-ms-flex:0 0 calc(100% * 4 / 12);flex:0 0 calc(100% * 4 / 12);min-width:calc(100% * 4 / 12)}.cell-5{-webkit-box-flex:0;-ms-flex:0 0 calc(100% * 5 / 12);flex:0 0 calc(100% * 5 / 12);min-width:calc(100% * 5 / 12)}.cell-6{-webkit-box-flex:0;-ms-flex:0 0 calc(100% * 6 / 12);flex:0 0 calc(100% * 6 / 12);min-width:calc(100% * 6 / 12)}.cell-7{-webkit-box-flex:0;-ms-flex:0 0 calc(100% * 7 / 12);flex:0 0 calc(100% * 7 / 12);min-width:calc(100% * 7 / 12)}.cell-8{-webkit-box-flex:0;-ms-flex:0 0 calc(100% * 8 / 12);flex:0 0 calc(100% * 8 / 12);min-width:calc(100% * 8 / 12)}.cell-9{-webkit-box-flex:0;-ms-flex:0 0 calc(100% * 9 / 12);flex:0 0 calc(100% * 9 / 12);min-width:calc(100% * 9 / 12)}.cell-10{-webkit-box-flex:0;-ms-flex:0 0 calc(100% * 10 / 12);flex:0 0 calc(100% * 10 / 12);min-width:calc(100% * 10 / 12)}.cell-11{-webkit-box-flex:0;-ms-flex:0 0 calc(100% * 11 / 12);flex:0 0 calc(100% * 11 / 12);min-width:calc(100% * 11 / 12)}.cell-12{-webkit-box-flex:0;-ms-flex:0 0 calc(100% * 12 / 12);flex:0 0 calc(100% * 12 / 12);min-width:calc(100% * 12 / 12)}.grid{margin-left:-1rem;margin-top:-1rem}.grid .cell{padding-left:1rem;padding-top:1rem}.grid-narrow{margin-left:0;margin-top:0}.grid-narrow .cell{padding-left:0;padding-top:0}.grid-wide{margin-left:-2rem;margin-top:-2rem}.grid-wide .cell{padding-left:2rem;padding-top:2rem}.grid-inline{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline}.grid-inline>*:not(:last-child){margin-right:1rem}@media screen and (max-width: 48rem){.grid{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-ms-flex-wrap:nowrap;flex-wrap:nowrap}.cell{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;min-width:auto}.grid-inline{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline}.grid-inline>*{-webkit-box-flex:1;-ms-flex:1 1 100%;flex:1 1 100%}.grid-inline>*:not(:last-child){margin:0 0 .75rem}}*{-webkit-box-sizing:border-box;box-sizing:border-box;text-rendering:geometricPrecision}::-moz-selection{background:#bbdefb}::selection{background:#bbdefb}html,button,input,optgroup,select,textarea{color:#212121;font-size:16px;line-height:1.5;font-family:"Cousine", Menlo, Lucida Console, Courier New, monospace}code,pre,samp,kbd{font-family:"SFMono-Regular", Consolas, "Liberation Mono", Menlo, Courier, monospace}h1,h2,h3,h4,h5,h6{line-height:1.5rem;margin-top:1.5rem;margin-bottom:1.5rem}h1.pure:before,.grid h1:before,h2.pure:before,.grid h2:before,h3.pure:before,.grid h3:before,h4.pure:before,.grid h4:before,h5.pure:before,.grid h5:before,h6.pure:before,.grid h6:before{display:none}.grid h1,.grid h2,.grid h3,.grid h4,.grid h5,.grid h6{margin-top:0rem;margin-bottom:1rem}h1>small,h2>small,h3>small,h4>small,h5>small,h6>small{color:#9e9e9e;line-height:1.5}h1{font-size:1.5rem}h2{font-size:1.25rem}p,ul,ol,pre,form,table,blockquote{margin-top:0;margin-bottom:1.5rem}ul ul,ol ol,ul ol,ol ul{margin-bottom:0}small{font-size:.75em}.container{max-width:64rem;margin-left:auto;margin-right:auto;padding-left:1rem;padding-right:1rem}.site-header{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:.875rem 0 .625rem}.site-title{font-size:2rem;color:#546e7a}.site-search{margin:0}.site-nav{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline;margin-left:auto;margin-top:-.25rem}.site-nav ul{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;margin:0}.site-nav li{padding-left:2ch}.site-nav li:last-child{padding-right:0}.site-nav li:before{display:none}.site-nav.nav-separated{overflow:hidden}.site-nav.nav-separated>ul{margin-right:-2ch}.site-nav.nav-separated li{padding-left:1ch}.site-nav.nav-separated li:after{content:"|";color:#eee;padding-left:1ch}.site-nav .active{font-weight:bold}@media screen and (max-width: 48rem){.site-nav{-webkit-box-flex:1;-ms-flex:1;flex:1;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:right}.site-nav li{padding-top:1rem}}.responsive-nav{display:none;-webkit-box-flex:1;-ms-flex:1;flex:1;text-align:right}.responsive-nav label{cursor:pointer;color:#546e7a}.responsive-nav svg{width:2rem;height:2rem;stroke-width:2.5px}.responsive-nav+input[type=checkbox]{display:none}@media screen and (max-width: 48rem){.responsive-nav{display:block}.responsive-nav ~ .site-nav{display:none;min-width:100%;-ms-flex-preferred-size:100%;flex-basis:100%}.responsive-nav+input[type=checkbox]:checked ~ .site-nav{display:block}.responsive-nav.responsive-nav-animated ~ .site-nav{display:block;max-height:0;-webkit-transition:max-height .5s ease-out;transition:max-height .5s ease-out;overflow:hidden}.responsive-nav.responsive-nav-animated+input[type=checkbox]:checked ~ .site-nav{max-height:10rem;-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in}}.site-main{margin-top:3rem;margin-bottom:3rem}.site-footer{margin-top:3rem;padding:3rem 0;color:#bdbdbd;text-align:center}.site-footer a,.site-footer .list-group button:not(.btn),.list-group .site-footer button:not(.btn){color:#64b5f6}.alert{position:relative;padding:calc(.5rem - 2px) 0.75rem 0.25rem;border:1px solid;border-radius:2px}.alert .close{float:right;margin:-.5rem -.75rem 0 0;padding:calc(.5rem + 1px) 0.75rem 0;opacity:.5;border:0;background:none;font-size:1.5rem;line-height:1;color:inherit;cursor:pointer}.alert .close:hover{opacity:1;text-decoration:none}.alert{color:#616161;border-color:#616161;background-color:#fafafa}.alert-success{color:#388e3c;border-color:#388e3c;background-color:#e8f5e9}.alert-info{color:#0097a7;border-color:#0097a7;background-color:#e0f7fa}.alert-warning{color:#f57c00;border-color:#f57c00;background-color:#fff3e0}.alert-error{color:#d32f2f;border-color:#d32f2f;background-color:#ffebee}input[type='email'],input[type='number'],input[type='password'],input[type='search'],input[type='tel'],input[type='text'],input[type='url'],textarea,select{padding:calc(.5rem - 3px) 0.625rem calc(.25rem - 1px);-webkit-appearance:none;-moz-appearance:none;appearance:none;border:2px solid #e0e0e0;border-radius:2px;background-color:transparent;-webkit-box-shadow:none;box-shadow:none;outline:0}input[type='email']:focus,input[type='number']:focus,input[type='password']:focus,input[type='search']:focus,input[type='tel']:focus,input[type='text']:focus,input[type='url']:focus,textarea:focus,select:focus{border-color:#9e9e9e}input[type="file"]{line-height:1;background-color:transparent}input::-webkit-file-upload-button{padding:.2rem .3rem .05rem;background-color:#fff;border:2px solid #bdbdbd;border-radius:2px}input::-webkit-input-placeholder{color:#bdbdbd}input:-ms-input-placeholder{color:#bdbdbd}input::placeholder{color:#bdbdbd}select{padding-right:1.8rem;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20height%3D%2214%22%20viewBox%3D%220%200%2029%2014%22%20width%3D%2229%22%3E%3Cpath%20fill%3D%22%23e0e0e0%22%20d%3D%22M9.37727%203.625l5.08154%206.93523L19.54036%203.625%22%2F%3E%3C%2Fsvg%3E");background-repeat:no-repeat;background-position:center right}select:focus{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20height%3D%2214%22%20viewBox%3D%220%200%2029%2014%22%20width%3D%2229%22%3E%3Cpath%20fill%3D%22%239e9e9e%22%20d%3D%22M9.37727%203.625l5.08154%206.93523L19.54036%203.625%22%2F%3E%3C%2Fsvg%3E")}select::-ms-expand{display:none}textarea{height:auto;min-height:2rem}@media screen and (max-width: 30rem){.form{width:100%}}.form-group{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-bottom:1.5rem}.form-label{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1;position:relative;min-width:10rem;height:2rem;color:#424242;border-bottom:2px solid #e0e0e0;line-height:2rem}html .form-control{-webkit-box-flex:1;-ms-flex:1;flex:1;-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2;min-width:calc(100% - 10rem);padding:.25rem 1rem 0;border:0;border-bottom:2px solid #e0e0e0;border-radius:0}html .form-control:focus{border-color:#9e9e9e}html .form-control label+label{padding-left:2rem}textarea.form-control{padding-left:calc(1rem - 2px);border-bottom:2px solid #e0e0e0;border-left:2px solid #e0e0e0}textarea.form-control+.form-label:before{position:absolute;content:'';width:2px;background-color:#fff;right:-2px;top:0;bottom:0}select.form-control{border-radius:0}.form-success .help-block,.form-success .form-label{color:#4caf50}.form-success input,.form-success textarea,.form-success select,.form-success .form-label,.form-success .form-control{border-color:#4caf50}.form-success input:focus,.form-success textarea:focus,.form-success select:focus,.form-success .form-label:focus,.form-success .form-control:focus{border-color:#2e7d32}.form-info .help-block,.form-info .form-label{color:#00bcd4}.form-info input,.form-info textarea,.form-info select,.form-info .form-label,.form-info .form-control{border-color:#00bcd4}.form-info input:focus,.form-info textarea:focus,.form-info select:focus,.form-info .form-label:focus,.form-info .form-control:focus{border-color:#00838f}.form-warning .help-block,.form-warning .form-label{color:#ff9800}.form-warning input,.form-warning textarea,.form-warning select,.form-warning .form-label,.form-warning .form-control{border-color:#ff9800}.form-warning input:focus,.form-warning textarea:focus,.form-warning select:focus,.form-warning .form-label:focus,.form-warning .form-control:focus{border-color:#ef6c00}.form-error .help-block,.form-error .form-label{color:#f44336}.form-error input,.form-error textarea,.form-error select,.form-error .form-label,.form-error .form-control{border-color:#f44336}.form-error input:focus,.form-error textarea:focus,.form-error select:focus,.form-error .form-label:focus,.form-error .form-control:focus{border-color:#c62828}.form-control:disabled,.form-control:disabled+.form-label{cursor:not-allowed;color:#bdbdbd;-webkit-text-fill-color:#bdbdbd;opacity:1}.form-control[readonly],.form-control[readonly]+.form-label{color:#9e9e9e}.form-control:required+.form-label:after{content:" *";color:#ef5350}.help-block{-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3;min-width:100%;-ms-flex-preferred-size:100%;flex-basis:100%;margin-top:.5rem;padding-left:11rem;color:#9e9e9e}.input-group,.btn-group{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.form-vertical .form-label{border-bottom:none;min-width:100%;-ms-flex-preferred-size:100%;flex-basis:100%}.form-vertical textarea.form-control{padding-left:0;border-left:none}.form-vertical textarea.form-control+.form-label:before{display:none}.form-vertical .help-block{padding-left:0}.form-vertical .form-control{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;min-width:100%;-ms-flex-preferred-size:100%;flex-basis:100%;padding:0 0 .15rem}.form-vertical .form-control label{padding-right:1rem}.form-vertical .form-control label+label{padding-left:0}@media screen and (max-width: 48rem){.form-label{border-bottom:none;min-width:100%;-ms-flex-preferred-size:100%;flex-basis:100%}textarea.form-control{padding-left:0;border-left:none}textarea.form-control+.form-label:before{display:none}.help-block{padding-left:0}html .form-control{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;min-width:100%;-ms-flex-preferred-size:100%;flex-basis:100%;padding:0 0 .15rem}html .form-control label{padding-right:1rem}html .form-control label+label{padding-left:0}}.btn{position:relative;padding:calc(.5rem - 3px) 0.75rem calc(.25rem - 1px);border-width:2px;border-style:solid;border-radius:2px;border-color:rgba(255,255,255,0.2) rgba(0,0,0,0.2) rgba(0,0,0,0.2) rgba(255,255,255,0.2);outline:none;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:#fff}.btn:hover,.btn:focus{text-decoration:none;border-color:rgba(0,0,0,0.2) rgba(255,255,255,0.2) rgba(255,255,255,0.2) rgba(0,0,0,0.2)}.btn:active{-webkit-box-shadow:inset 0 1px 3px rgba(0,0,0,0.2);box-shadow:inset 0 1px 3px rgba(0,0,0,0.2)}.btn.btn-ghost{background-color:transparent}.btn.btn-ghost:hover,.btn.btn-ghost:focus{color:#fff;border-color:rgba(0,0,0,0.2) rgba(255,255,255,0.2) rgba(255,255,255,0.2) rgba(0,0,0,0.2)}.btn-primary{background-color:#2196f3}.btn-primary:hover,.btn-primary:focus{background-color:#1976d2}.btn-primary.btn-ghost{border-color:#2196f3;color:#2196f3}.btn-success{background-color:#4caf50}.btn-success:hover,.btn-success:focus{background-color:#388e3c}.btn-success.btn-ghost{border-color:#4caf50;color:#4caf50}.btn-info{background-color:#00bcd4}.btn-info:hover,.btn-info:focus{background-color:#0097a7}.btn-info.btn-ghost{border-color:#00bcd4;color:#00bcd4}.btn-warning{background-color:#ff9800}.btn-warning:hover,.btn-warning:focus{background-color:#f57c00}.btn-warning.btn-ghost{border-color:#ff9800;color:#ff9800}.btn-error{background-color:#f44336}.btn-error:hover,.btn-error:focus{background-color:#d32f2f}.btn-error.btn-ghost{border-color:#f44336;color:#f44336}.btn-default{background-color:#eee;color:#616161}.btn-default:hover,.btn-default:focus{background-color:#bdbdbd;color:#fff}.btn-default.btn-ghost{border-color:#bdbdbd;color:#616161}.btn-link{border-color:transparent;background-color:transparent;color:#2196f3}.btn-link:hover,.btn-link:focus{border-color:transparent;color:#1976d2;text-decoration:underline}.btn[disabled]{cursor:not-allowed}.btn[disabled],.btn[disabled]:hover,.btn[disabled]:focus{background-color:#f5f5f5;border-color:rgba(255,255,255,0.2) rgba(0,0,0,0.2) rgba(0,0,0,0.2) rgba(255,255,255,0.2);color:#bdbdbd}.btn[disabled].btn-ghost,.btn[disabled].btn-ghost:hover{background-color:transparent;border-color:#bdbdbd;color:#bdbdbd}.btn-addon{padding:calc(.5rem - 3px) 0.75rem calc(.25rem - 1px);border:2px solid transparent}.btn-addon:first-child{padding-left:0}.btn-group .btn{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;border-radius:0;word-break:break-all;word-break:break-word}.btn-group .btn:first-of-type{border-radius:2px 0 0 2px}.btn-group .btn:last-of-type{border-radius:0 2px 2px 0}.btn-group .btn-ghost:not(:first-child){margin-left:-2px}.list-striped>*:nth-child(even):not(.btn){background-color:#f5f5f5}.list-group{padding:0;border:1px solid #e0e0e0;border-radius:2px}.list-group>*{display:block;margin:0;padding:calc(.5rem - 1px) 0.5rem 0.25rem;border:0}.list-group>*:first-child{padding-top:calc(.5rem - 2px)}.list-group>a,.list-group>button:not(.btn),.list-group>button{width:100%;border-radius:0}.list-group button:not(.btn){text-align:left;background-color:#fff}.list-group>li:before{display:none}.list-group>*:not(:last-child){border-bottom:1px solid #e0e0e0}.list-group>.disabled{color:#9e9e9e;cursor:not-allowed;background-color:#eee}.list-group>.active.active,.list-group>.active.active:hover{color:#fff;background-color:#2196f3}.card{border:1px solid #e0e0e0;border-radius:2px}.card .card-header{display:block;padding:calc(.5rem - 1px) 0.75rem 0.25rem;background-color:#eee;text-align:center;font-weight:bold;color:#424242}.card .card-body{padding:calc(.5rem - 2px) 0.75rem 0.25rem}.card .card-body:last-child{margin-bottom:0}.card>*+*{border:0;border-radius:0;border-top:1px solid;border-color:inherit}.card.card-success{border:1px solid #4caf50}.card.card-success .card-header{color:#fff;background-color:#4caf50;border-bottom-color:#4caf50;font-weight:normal}.card.card-info{border:1px solid #00bcd4}.card.card-info .card-header{color:#fff;background-color:#00bcd4;border-bottom-color:#00bcd4;font-weight:normal}.card.card-warning{border:1px solid #ff9800}.card.card-warning .card-header{color:#fff;background-color:#ff9800;border-bottom-color:#ff9800;font-weight:normal}.card.card-error{border:1px solid #f44336}.card.card-error .card-header{color:#fff;background-color:#f44336;border-bottom-color:#f44336;font-weight:normal}details.card>*+*{border-color:#e0e0e0}.loading{display:inline-block;overflow:hidden;height:1.3em;margin-top:-.3em;line-height:1.5em;vertical-align:text-bottom}.loading::after{display:inline-table;white-space:pre;content:"\A.\A..\A...";text-align:left;-webkit-animation:spin 2s steps(4) infinite;animation:spin 2s steps(4) infinite}@-webkit-keyframes spin{to{-webkit-transform:translateY(-6em);transform:translateY(-6em)}}@keyframes spin{to{-webkit-transform:translateY(-6em);transform:translateY(-6em)}}.progress-bar{height:1rem;background-color:#e0e0e0}.progress-bar.narrow{height:0.5rem}.progress-bar.progress-bar-show-percent{margin-top:2rem}.progress-bar.progress-bar-show-percent>div:before{content:'';border:6px solid transparent;border-top-color:#9e9e9e;position:absolute;top:-12px;right:-6px}.progress-bar.progress-bar-show-percent>div:after{color:#757575;content:attr(data-filled);display:block;font-size:12px;white-space:nowrap;position:absolute;border:6px solid transparent;top:-36px;right:0;-webkit-transform:translateX(50%);transform:translateX(50%)}.progress-bar>div{position:relative;height:100%;width:0;max-width:100%;background-color:#9e9e9e;-webkit-transition:width .3s ease;transition:width .3s ease;text-align:center;font-size:12px;color:#fff}.progress-bar.progress-primary>div{background-color:#2196f3}.progress-bar.progress-success>div{background-color:#4caf50}.progress-bar.progress-info>div{background-color:#00bcd4}.progress-bar.progress-warning>div{background-color:#ff9800}.progress-bar.progress-error>div{background-color:#f44336}table{width:100%;border-collapse:collapse;border-spacing:0}td,th{vertical-align:top;border:1px solid #e0e0e0;padding:calc(.5rem - 1px) 0.5rem 0.3rem}thead th{color:#424242;text-align:center;background-color:#eee}caption{caption-side:bottom;padding-top:.75rem;color:#9e9e9e}.table-fixed{table-layout:fixed}.table-striped tr:nth-child(even) td{background-color:#f5f5f5}.table-hover tr:hover td{background-color:#eee}.table-narrow td,.table-narrow th{padding:calc(.25rem - 1px) 0.5rem 0}.table-wide td,.table-wide th{padding:calc(.875rem - 1px) 1rem 0.625rem}thead.text-left>tr>th{text-align:left}.tag{color:#fff;background-color:#9e9e9e;-webkit-box-shadow:0 -1px 0 3px #9e9e9e,inset 0 0 0 1px #9e9e9e;box-shadow:0 -1px 0 3px #9e9e9e,inset 0 0 0 1px #9e9e9e;position:relative;top:-.1em;padding:0 .25em;border-radius:1px;font-size:.8em;font-weight:normal;white-space:nowrap;vertical-align:baseline;text-rendering:optimizeLegibility}.tag:empty{display:none}.tag.tag-primary{color:#fff;background-color:#2196f3;-webkit-box-shadow:0 -1px 0 3px #2196f3,inset 0 0 0 1px #2196f3;box-shadow:0 -1px 0 3px #2196f3,inset 0 0 0 1px #2196f3}.tag.tag-success{color:#fff;background-color:#4caf50;-webkit-box-shadow:0 -1px 0 3px #4caf50,inset 0 0 0 1px #4caf50;box-shadow:0 -1px 0 3px #4caf50,inset 0 0 0 1px #4caf50}.tag.tag-info{color:#fff;background-color:#00bcd4;-webkit-box-shadow:0 -1px 0 3px #00bcd4,inset 0 0 0 1px #00bcd4;box-shadow:0 -1px 0 3px #00bcd4,inset 0 0 0 1px #00bcd4}.tag.tag-warning{color:#fff;background-color:#ff9800;-webkit-box-shadow:0 -1px 0 3px #ff9800,inset 0 0 0 1px #ff9800;box-shadow:0 -1px 0 3px #ff9800,inset 0 0 0 1px #ff9800}.tag.tag-error{color:#fff;background-color:#f44336;-webkit-box-shadow:0 -1px 0 3px #f44336,inset 0 0 0 1px #f44336;box-shadow:0 -1px 0 3px #f44336,inset 0 0 0 1px #f44336}@-webkit-keyframes tooltip-appear{to{opacity:1}}@keyframes tooltip-appear{to{opacity:1}}[data-tooltip]{position:relative}[data-tooltip]:after{content:attr(data-tooltip);position:absolute;z-index:1;bottom:100%;left:50%;display:none;padding:calc(.5rem - 2px) 0.5rem 0.25rem;-webkit-transform:translate(-50%, -0.5rem);transform:translate(-50%, -0.5rem);pointer-events:none;-webkit-box-shadow:0 0 0 0.25rem #fff;box-shadow:0 0 0 0.25rem #fff;border:1px solid #e0e0e0;border-radius:2px;background-color:#fafafa;white-space:pre;color:#212121;opacity:0}[data-tooltip]:focus:after,[data-tooltip]:hover:after{display:block;-webkit-animation:tooltip-appear .1s ease-in .1s forwards;animation:tooltip-appear .1s ease-in .1s forwards}[data-tooltip].tooltip-bottom:after{bottom:auto;top:100%;left:50%;-webkit-transform:translate(-50%, 0.5rem);transform:translate(-50%, 0.5rem)}[data-tooltip].tooltip-left:after{bottom:auto;left:auto;top:50%;right:100%;-webkit-transform:translate(-0.5rem, -50%);transform:translate(-0.5rem, -50%)}[data-tooltip].tooltip-right:after{bottom:auto;top:50%;left:100%;-webkit-transform:translate(0.5rem, -50%);transform:translate(0.5rem, -50%)}[data-tooltip].tooltip-active:after{color:#fff;background-color:#2196f3}[data-tooltip].tooltip-success:after{color:#fff;background-color:#4caf50}[data-tooltip].tooltip-info:after{color:#fff;background-color:#00bcd4}[data-tooltip].tooltip-warning:after{color:#fff;background-color:#ff9800}[data-tooltip].tooltip-error:after{color:#fff;background-color:#f44336}.i{position:relative;top:.0625em;width:.75rem;height:.75rem;fill:none;font-size:inherit;stroke:currentColor;stroke-width:4px;stroke-linecap:round;stroke-linejoin:round}.i-medium .i,.i.i-medium{width:1.5rem;height:1.5rem;stroke-width:2px}.i-large .i,.i.i-large{width:2rem;height:2rem;stroke-width:2px}details{margin-bottom:1rem}summary{outline:none}summary:hover{cursor:pointer}details:not(.card){padding-left:1rem}details:not(.card) summary{margin-bottom:1rem;margin-left:-1rem}details:not(.card) summary:hover{background-color:#f5f5f5;-webkit-box-shadow:-0.5rem -0.1rem 0 0.5rem #f5f5f5;box-shadow:-0.5rem -0.1rem 0 0.5rem #f5f5f5}details.card summary::-webkit-details-marker{display:none}details.card summary::before{content:'▶';float:left;padding-right:.75rem;color:#9e9e9e}details.card[open] summary::before{content:'▼'}.dropzone{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;height:9rem;padding:1rem;border:2px dashed #e0e0e0;text-align:center;color:#bdbdbd;cursor:pointer}.dropzone.active,.dropzone.rejected{color:#9e9e9e}.dropzone.active{background-color:#fafafa}.dropzone.rejected{background-color:#ffebee}code{padding:.25em .25em .125em;border-radius:2px;background-color:#f5f5f5}samp{display:inline-block;margin-top:-3px;padding:1px .25em 0;background-color:#fafafa}pre{padding:calc(.75rem - 1px) 1rem}samp,pre{border:1px solid #e0e0e0;border-radius:2px;white-space:pre-wrap;word-wrap:break-word;word-break:break-all;page-break-inside:avoid}samp.scroll,pre.scroll{overflow:auto;white-space:pre}pre code{padding:0;color:inherit;background-color:transparent}a,.list-group button:not(.btn){cursor:pointer;color:#2196f3;text-decoration:none}a:hover,.list-group button:hover:not(.btn){color:#1976d2;text-decoration:underline}img{max-width:100%}img.full-width{display:block}figure{margin:0}figure img{width:100%}figcaption{text-align:center;color:#9e9e9e}blockquote{overflow:hidden;padding-left:1rem;border-left:0.25rem solid #e0e0e0}blockquote>*:last-child{margin-bottom:0}cite{float:right;color:#9e9e9e}cite:before{content:"– "}mark{-webkit-box-decoration-break:clone;box-decoration-break:clone;background-color:#fff59d;-webkit-box-shadow:0 -1px 0 3px #fff59d;box-shadow:0 -1px 0 3px #fff59d}mark mark{background-color:#fdd835;-webkit-box-shadow:0 -1px 0 3px #fdd835;box-shadow:0 -1px 0 3px #fdd835}mark samp,mark kbd,mark code{background-color:#fffde7}abbr[title]{text-decoration:none;border-bottom:2px dashed #e0e0e0}kbd{display:inline-block;padding:.1em .4em 0;vertical-align:middle;color:#424242;border:solid 1px #eee;border-bottom-color:#e0e0e0;border-radius:3px;background-color:#fafafa;-webkit-box-shadow:inset 0 -1px 0 #e0e0e0;box-shadow:inset 0 -1px 0 #e0e0e0;font-size:.9em}.footnotes{padding-top:3rem;margin-top:1.5rem}.narrow{padding:0 !important}.inner{padding:.5rem .75rem .25rem !important}.inner-wide{padding:1rem 1rem .75rem !important}.p-t-0{padding-top:0 !important}.p-t-1{padding-top:1.5rem !important}.p-t-2{padding-top:3.0rem !important}.p-t-3{padding-top:4.5rem !important}.p-b-0{padding-bottom:0 !important}.p-b-1{padding-bottom:1.5rem !important}.p-b-2{padding-bottom:3.0rem !important}.p-b-3{padding-bottom:4.5rem !important}.m-t-0{margin-top:0 !important}.m-t-1{margin-top:1.5rem !important}.m-t-2{margin-top:3.0rem !important}.m-t-3{margin-top:4.5rem !important}.m-b-0{margin-bottom:0 !important}.m-b-1{margin-bottom:1.5rem !important}.m-b-2{margin-bottom:3.0rem !important}.m-b-3{margin-bottom:4.5rem !important}.pull-left{float:left !important}.pull-right{float:right !important}.full-width{width:100% !important}.block{display:block !important}.invisible{visibility:hidden !important}.hidden{display:none !important}.hide-text{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}@media screen and (min-width: 48rem){.hidden-if-large{display:none !important}}@media screen and (max-width: 48rem){.hidden-if-medium{display:none !important}}@media screen and (max-width: 30rem){.hidden-if-small{display:none !important}}.lead{margin-bottom:1.5rem;font-size:1.25em;line-height:1.2em}.truncate{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-bold{font-weight:bold}.text-italic{font-style:italic}.bg-muted{background-color:#f5f5f5 !important}.bg-active{background-color:#bbdefb !important}.bg-success{background-color:#c8e6c9 !important}.bg-info{background-color:#b2ebf2 !important}.bg-warning{background-color:#ffe0b2 !important}.bg-error{background-color:#ffcdd2 !important}.text-muted{color:#9e9e9e}.text-primary{color:#2196f3}.text-success{color:#4caf50}.text-info{color:#00bcd4}.text-warning{color:#ff9800}.text-error{color:#f44336}.highlight .hll{background-color:#ffc}.highlight .c{color:#999}.highlight .err{color:#a00;background-color:#faa}.highlight .k{color:#069}.highlight .o{color:#555}.highlight .cm{color:#09f;font-style:italic}.highlight .cp{color:#099}.highlight .c1{color:#999}.highlight .cs{color:#999}.highlight .gd{background-color:#fcc;border:1px solid #c00}.highlight .ge{font-style:italic}.highlight .gr{color:red}.highlight .gh{color:#030}.highlight .gi{background-color:#cfc;border:1px solid #0c0}.highlight .go{color:#aaa}.highlight .gp{color:#009}.highlight .gu{color:#030}.highlight .gt{color:#9c6}.highlight .kc{color:#069}.highlight .kd{color:#069}.highlight .kn{color:#069}.highlight .kp{color:#069}.highlight .kr{color:#069}.highlight .kt{color:#078}.highlight .m{color:#f60}.highlight .s{color:#d44950}.highlight .na{color:#4f9fcf}.highlight .nb{color:#366}.highlight .nc{color:#0a8}.highlight .no{color:#360}.highlight .nd{color:#99f}.highlight .ni{color:#999}.highlight .ne{color:#c00}.highlight .nf{color:#c0f}.highlight .nl{color:#99f}.highlight .nn{color:#0cf}.highlight .nt{color:#2f6f9f}.highlight .nv{color:#033}.highlight .ow{color:#000}.highlight .w{color:#bbb}.highlight .mf{color:#f60}.highlight .mh{color:#f60}.highlight .mi{color:#f60}.highlight .mo{color:#f60}.highlight .sb{color:#c30}.highlight .sc{color:#c30}.highlight .sd{color:#c30;font-style:italic}.highlight .s2{color:#c30}.highlight .se{color:#c30}.highlight .sh{color:#c30}.highlight .si{color:#a00}.highlight .sx{color:#c30}.highlight .sr{color:#3aa}.highlight .s1{color:#c30}.highlight .ss{color:#fc3}.highlight .bp{color:#366}.highlight .vc{color:#033}.highlight .vg{color:#033}.highlight .vi{color:#033}.highlight .il{color:#f60}@media print{html,button,input,optgroup,select,textarea{font-size:14px;line-height:1.15;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;-ms-text-size-adjust:100%;text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}h1:before,h2:before,h3:before,h4:before,h5:before,h6:before{display:none}*,*:before,*:after,*:first-letter,p:first-line,div:first-line,blockquote:first-line,li:first-line{background:transparent !important;color:#000 !important;-webkit-box-shadow:none !important;box-shadow:none !important;text-shadow:none !important}a[href]:after,.list-group button[href]:not(.btn):after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}.btn{border:1px solid #000}.no-print{display:none !important}} + +/*# sourceMappingURL=data:application/json;base64,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bUNBQW1DLENBQUMsWUFBWSxhQUFhLENBQUMsY0FBYyxhQUFhLENBQUMsY0FBYyxhQUFhLENBQUMsV0FBVyxhQUFhLENBQUMsY0FBYyxhQUFhLENBQUMsWUFBWSxhQUFhLENBQUMsZ0JBQWdCLHFCQUFxQixDQUFDLGNBQWMsVUFBVSxDQUFDLGdCQUFnQixXQUFXLHFCQUFxQixDQUFDLGNBQWMsVUFBVSxDQUFDLGNBQWMsVUFBVSxDQUFDLGVBQWUsV0FBVyxpQkFBaUIsQ0FBQyxlQUFlLFVBQVUsQ0FBQyxlQUFlLFVBQVUsQ0FBQyxlQUFlLFVBQVUsQ0FBQyxlQUFlLHNCQUFzQixxQkFBcUIsQ0FBQyxlQUFlLGlCQUFpQixDQUFDLGVBQWUsU0FBUyxDQUFDLGVBQWUsVUFBVSxDQUFDLGVBQWUsc0JBQXNCLHFCQUFxQixDQUFDLGVBQWUsVUFBVSxDQUFDLGVBQWUsVUFBVSxDQUFDLGVBQWUsVUFBVSxDQUFDLGVBQWUsVUFBVSxDQUFDLGVBQWUsVUFBVSxDQUFDLGVBQWUsVUFBVSxDQUFDLGVBQWUsVUFBVSxDQUFDLGVBQWUsVUFBVSxDQUFDLGVBQWUsVUFBVSxDQUFDLGVBQWUsVUFBVSxDQUFDLGNBQWMsVUFBVSxDQUFDLGNBQWMsYUFBYSxDQUFDLGVBQWUsYUFBYSxDQUFDLGVBQWUsVUFBVSxDQUFDLGVBQWUsVUFBVSxDQUFDLGVBQWUsVUFBVSxDQUFDLGVBQWUsVUFBVSxDQUFDLGVBQWUsVUFBVSxDQUFDLGVBQWUsVUFBVSxDQUFDLGVBQWUsVUFBVSxDQUFDLGVBQWUsVUFBVSxDQUFDLGVBQWUsVUFBVSxDQUFDLGVBQWUsYUFBYSxDQUFDLGVBQWUsVUFBVSxDQUFDLGVBQWUsVUFBVSxDQUFDLGNBQWMsVUFBVSxDQUFDLGVBQWUsVUFBVSxDQUFDLGVBQWUsVUFBVSxDQUFDLGVBQWUsVUFBVSxDQUFDLGVBQWUsVUFBVSxDQUFDLGVBQWUsVUFBVSxDQUFDLGVBQWUsVUFBVSxDQUFDLGVBQWUsV0FBVyxpQkFBaUIsQ0FBQyxlQUFlLFVBQVUsQ0FBQyxlQUFlLFVBQVUsQ0FBQyxlQUFlLFVBQVUsQ0FBQyxlQUFlLFVBQVUsQ0FBQyxlQUFlLFVBQVUsQ0FBQyxlQUFlLFVBQVUsQ0FBQyxlQUFlLFVBQVUsQ0FBQyxlQUFlLFVBQVUsQ0FBQyxlQUFlLFVBQVUsQ0FBQyxlQUFlLFVBQVUsQ0FBQyxlQUFlLFVBQVUsQ0FBQyxlQUFlLFVBQVUsQ0FBQyxlQUFlLFVBQVUsQ0FBQyxhQUFhLDJDQUEyQyxlQUFlLGlCQUFpQiw4QkFBc0IsQUFBdEIsMkJBQXNCLEFBQXRCLDBCQUFzQixBQUF0QixzQkFBc0IsbUNBQW1DLGtDQUFrQyxpQ0FBaUMsQ0FBQyw0REFBNEQsWUFBWSxDQUFDLGtHQUFrRyxrQ0FBa0Msc0JBQXNCLG1DQUEyQixBQUEzQiwyQkFBMkIsMkJBQTJCLENBQUMsdURBQXVELDJCQUEyQixDQUFDLGtCQUFrQiw0QkFBNEIsQ0FBQyxLQUFLLHFCQUFxQixDQUFDLFVBQVUsdUJBQXVCLENBQUMsQ0FBQyIsImZpbGUiOiJzdGRpbiIsInNvdXJjZXNDb250ZW50IjpbIi8qISBub3JtYWxpemUuY3NzIHY1LjAuMCB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9odG1se2ZvbnQtZmFtaWx5OnNhbnMtc2VyaWY7bGluZS1oZWlnaHQ6MS4xNTstbXMtdGV4dC1zaXplLWFkanVzdDoxMDAlOy13ZWJraXQtdGV4dC1zaXplLWFkanVzdDoxMDAlfWJvZHl7bWFyZ2luOjB9YXJ0aWNsZSxhc2lkZSxmb290ZXIsaGVhZGVyLG5hdixzZWN0aW9ue2Rpc3BsYXk6YmxvY2t9aDF7Zm9udC1zaXplOjJlbTttYXJnaW46MC42N2VtIDB9ZmlnY2FwdGlvbixmaWd1cmUsbWFpbntkaXNwbGF5OmJsb2NrfWZpZ3VyZXttYXJnaW46MWVtIDQwcHh9aHJ7Ym94LXNpemluZzpjb250ZW50LWJveDtoZWlnaHQ6MDtvdmVyZmxvdzp2aXNpYmxlfXByZXtmb250LWZhbWlseTptb25vc3BhY2UsIG1vbm9zcGFjZTtmb250LXNpemU6MWVtfWEsLmxpc3QtZ3JvdXAgYnV0dG9uOm5vdCguYnRuKXtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50Oy13ZWJraXQtdGV4dC1kZWNvcmF0aW9uLXNraXA6b2JqZWN0c31hOmFjdGl2ZSwubGlzdC1ncm91cCBidXR0b246YWN0aXZlOm5vdCguYnRuKSxhOmhvdmVyLC5saXN0LWdyb3VwIGJ1dHRvbjpob3Zlcjpub3QoLmJ0bil7b3V0bGluZS13aWR0aDowfWFiYnJbdGl0bGVde2JvcmRlci1ib3R0b206bm9uZTt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lO3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmUgZG90dGVkfWIsc3Ryb25ne2ZvbnQtd2VpZ2h0OmluaGVyaXR9YixzdHJvbmd7Zm9udC13ZWlnaHQ6Ym9sZGVyfWNvZGUsa2JkLHNhbXB7Zm9udC1mYW1pbHk6bW9ub3NwYWNlLCBtb25vc3BhY2U7Zm9udC1zaXplOjFlbX1kZm57Zm9udC1zdHlsZTppdGFsaWN9bWFya3tiYWNrZ3JvdW5kLWNvbG9yOiNmZjA7Y29sb3I6IzAwMH1zbWFsbHtmb250LXNpemU6ODAlfXN1YixzdXB7Zm9udC1zaXplOjc1JTtsaW5lLWhlaWdodDowO3Bvc2l0aW9uOnJlbGF0aXZlO3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lfXN1Yntib3R0b206LTAuMjVlbX1zdXB7dG9wOi0wLjVlbX1hdWRpbyx2aWRlb3tkaXNwbGF5OmlubGluZS1ibG9ja31hdWRpbzpub3QoW2NvbnRyb2xzXSl7ZGlzcGxheTpub25lO2hlaWdodDowfWltZ3tib3JkZXItc3R5bGU6bm9uZX1zdmc6bm90KDpyb290KXtvdmVyZmxvdzpoaWRkZW59YnV0dG9uLGlucHV0LG9wdGdyb3VwLHNlbGVjdCx0ZXh0YXJlYXtmb250LWZhbWlseTpzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMDAlO2xpbmUtaGVpZ2h0OjEuMTU7bWFyZ2luOjB9YnV0dG9uLGlucHV0e292ZXJmbG93OnZpc2libGV9YnV0dG9uLHNlbGVjdHt0ZXh0LXRyYW5zZm9ybTpub25lfWJ1dHRvbixodG1sIFt0eXBlPVwiYnV0dG9uXCJdLFt0eXBlPVwicmVzZXRcIl0sW3R5cGU9XCJzdWJtaXRcIl17LXdlYmtpdC1hcHBlYXJhbmNlOmJ1dHRvbn1idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixbdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lcntib3JkZXItc3R5bGU6bm9uZTtwYWRkaW5nOjB9YnV0dG9uOi1tb3otZm9jdXNyaW5nLFt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmd7b3V0bGluZToxcHggZG90dGVkIEJ1dHRvblRleHR9ZmllbGRzZXR7Ym9yZGVyOjFweCBzb2xpZCAjYzBjMGMwO21hcmdpbjowIDJweDtwYWRkaW5nOjAuMzVlbSAwLjYyNWVtIDAuNzVlbX1sZWdlbmR7Ym94LXNpemluZzpib3JkZXItYm94O2NvbG9yOmluaGVyaXQ7ZGlzcGxheTp0YWJsZTttYXgtd2lkdGg6MTAwJTtwYWRkaW5nOjA7d2hpdGUtc3BhY2U6bm9ybWFsfXByb2dyZXNze2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lfXRleHRhcmVhe292ZXJmbG93OmF1dG99W3R5cGU9XCJjaGVja2JveFwiXSxbdHlwZT1cInJhZGlvXCJde2JveC1zaXppbmc6Ym9yZGVyLWJveDtwYWRkaW5nOjB9W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b257aGVpZ2h0OmF1dG99W3R5cGU9XCJzZWFyY2hcIl17LXdlYmtpdC1hcHBlYXJhbmNlOnRleHRmaWVsZDtvdXRsaW5lLW9mZnNldDotMnB4fVt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uey13ZWJraXQtYXBwZWFyYW5jZTpub25lfTo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b257LXdlYmtpdC1hcHBlYXJhbmNlOmJ1dHRvbjtmb250OmluaGVyaXR9ZGV0YWlscyxtZW51e2Rpc3BsYXk6YmxvY2t9c3VtbWFyeXtkaXNwbGF5Omxpc3QtaXRlbX1jYW52YXN7ZGlzcGxheTppbmxpbmUtYmxvY2t9dGVtcGxhdGV7ZGlzcGxheTpub25lfVtoaWRkZW5de2Rpc3BsYXk6bm9uZX1oMSxoMixoMyxoNCxoNSxoNixvbCx1bCxsaSxjb2RlLGJsb2NrcXVvdGV7bWFyZ2luOjA7cGFkZGluZzowO2ZvbnQtc2l6ZToxcmVtfWgxLGgyLGgzLGg0LGg1LGg2e3Bvc2l0aW9uOnJlbGF0aXZlfWgxOmJlZm9yZSxoMjpiZWZvcmUsaDM6YmVmb3JlLGg0OmJlZm9yZSxoNTpiZWZvcmUsaDY6YmVmb3Jle3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6LTQuNjc1cmVtO3dpZHRoOjRyZW07dGV4dC1hbGlnbjpyaWdodDtjb2xvcjojYmRiZGJkfUBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY4cmVtKXtoMTpiZWZvcmUsaDI6YmVmb3JlLGgzOmJlZm9yZSxoNDpiZWZvcmUsaDU6YmVmb3JlLGg2OmJlZm9yZXtwb3NpdGlvbjpzdGF0aWM7cGFkZGluZy1yaWdodDoxY2h9fWgxOmJlZm9yZXtjb250ZW50OlwiI1wifWgyOmJlZm9yZXtjb250ZW50OlwiIyNcIn1oMzpiZWZvcmV7Y29udGVudDpcIiMjI1wifWg0OmJlZm9yZXtjb250ZW50OlwiIyMjI1wifWg1OmJlZm9yZXtjb250ZW50OlwiIyMjIyNcIn1oNjpiZWZvcmV7Y29udGVudDpcIiMjIyMjI1wifW9se2NvdW50ZXItcmVzZXQ6b2x9dWw+bGl7cGFkZGluZy1sZWZ0OjJjaH1vbD5saXtwYWRkaW5nLWxlZnQ6M2NofWxpe3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6YmxvY2t9bGk6YmVmb3Jle3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDtjb2xvcjojYmRiZGJkfXVsPmxpOmJlZm9yZXtjb250ZW50Olwi4oCTXCJ9b2w+bGk6YmVmb3Jle2NvbnRlbnQ6Y291bnRlcihvbCkgXCIuXCI7Y291bnRlci1pbmNyZW1lbnQ6b2x9aHJ7aGVpZ2h0OjFyZW07bWFyZ2luOjEuNzVyZW0gMDtib3JkZXI6MH1ocjphZnRlcntkaXNwbGF5OmJsb2NrO2hlaWdodDoxcmVtO292ZXJmbG93OmhpZGRlbjtjb250ZW50Olwi77yKIO+8iiDvvIpcIjt0ZXh0LWFsaWduOmNlbnRlcjtvdmVyZmxvdzpoaWRkZW47Y29sb3I6I2JkYmRiZDtmb250LXNpemU6Ljc1cmVtfS5kYXNoZWQtdG9wOmJlZm9yZSxoci5kYXNoZWQ6YmVmb3JlLC5kYXNoZWQtYm90dG9tOmFmdGVye2NvbnRlbnQ6XCLigJMg4oCTIOKAkyDigJMg4oCTIOKAkyDigJMg4oCTIOKAkyDigJMg4oCTIOKAkyDigJMg4oCTIOKAkyDigJMg4oCTIOKAkyDigJMg4oCTIOKAkyDigJMg4oCTIOKAkyDigJMg4oCTIOKAkyDigJMg4oCTIOKAkyDigJMg4oCTIOKAkyDigJMg4oCTIOKAkyDigJMg4oCTIOKAkyDigJMg4oCTIOKAkyDigJMg4oCTIOKAkyDigJMg4oCTIOKAkyDigJMg4oCTIOKAkyDigJMg4oCTIOKAkyDigJMg4oCTIOKAkyDigJMg4oCTIOKAkyDigJMg4oCTIOKAkyDigJMg4oCTIOKAkyDigJMg4oCTIOKAkyDigJMg4oCTIOKAkyDigJMg4oCTIOKAkyDigJMg4oCTIOKAkyDigJMg4oCTIOKAkyDigJMg4oCTIOKAkyDigJMg4oCTIOKAkyDigJMg4oCTIOKAkyDigJMg4oCTIOKAkyDigJMg4oCTIOKAkyDigJMg4oCTIOKAkyDigJMg4oCTIOKAkyDigJMg4oCTIOKAkyDigJMg4oCTIOKAkyDigJMg4oCTIOKAkyDigJMg4oCTIOKAkyDigJMg4oCTIOKAkyDigJMg4oCTIOKAkyDigJMg4oCTIOKAkyDigJMg4oCTIOKAkyDigJMg4oCTIOKAkyDigJMg4oCTIOKAkyDigJMg4oCTIOKAkyDigJMg4oCTIOKAkyDigJMg4oCTIOKAkyDigJMg4oCTIOKAkyDigJMg4oCTIOKAkyDigJMg4oCTIOKAkyDigJMg4oCTIOKAkyDigJMg4oCTIOKAkyDigJMg4oCTIOKAkyDigJMg4oCTIOKAkyDigJMg4oCTIOKAkyDigJMg4oCTIOKAkyDigJMg4oCTIOKAkyDigJMg4oCTIOKAkyDigJMg4oCTIOKAkyDigJMg4oCTIOKAkyDigJMg4oCTIOKAkyDigJMg4oCTIOKAkyDigJMg4oCTIOKAkyDigJMg4oCTIOKAkyDigJMg4oCTIOKAkyDigJMg4oCTIOKAkyDigJMg4oCTXCI7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO292ZXJmbG93OmhpZGRlbjt3aWR0aDoxMDAlO2hlaWdodDoxcmVtO2xpbmUtaGVpZ2h0OjE7d29yZC13cmFwOmJyZWFrLXdvcmQ7dGV4dC1hbGlnbjpqdXN0aWZ5O2xldHRlci1zcGFjaW5nOi0uMjVyZW07Zm9udC1zaXplOjFyZW07Y29sb3I6I2UwZTBlMH0uZGFzaGVkLXRvcCxoci5kYXNoZWR7cG9zaXRpb246cmVsYXRpdmV9LmRhc2hlZC10b3A6YmVmb3JlLGhyLmRhc2hlZDpiZWZvcmV7dG9wOi0uNXJlbX0uZGFzaGVkLWJvdHRvbXtwb3NpdGlvbjpyZWxhdGl2ZX0uZGFzaGVkLWJvdHRvbTphZnRlcntib3R0b206LS41cmVtfWhyLmRhc2hlZHttYXJnaW46MnJlbSAwIDFyZW19LmdyaWR7ZGlzcGxheTpmbGV4O2ZsZXgtd3JhcDp3cmFwfS5ncmlkLXRvcHthbGlnbi1pdGVtczpmbGV4LXN0YXJ0fS5ncmlkLW1pZGRsZXthbGlnbi1pdGVtczpjZW50ZXJ9LmdyaWQtYm90dG9te2FsaWduLWl0ZW1zOmZsZXgtZW5kfS5ncmlkLXN0cmV0Y2h7YWxpZ24taXRlbXM6c3RyZXRjaH0uZ3JpZC1iYXNlbGluZXthbGlnbi1pdGVtczpiYXNlbGluZX0uZ3JpZC1sZWZ0e2p1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0fS5ncmlkLWNlbnRlcntqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS5ncmlkLXJpZ2h0e2p1c3RpZnktY29udGVudDpmbGV4LWVuZH0uZ3JpZC1iZXR3ZWVue2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVufS5ncmlkLWFyb3VuZHtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYXJvdW5kfS5jZWxse2ZsZXg6MX0uY2VsbD4qOmxhc3QtY2hpbGR7bWFyZ2luLWJvdHRvbTowfS5jZWxsLXRvcHttYXJnaW4tYm90dG9tOmF1dG99LmNlbGwtbWlkZGxle21hcmdpbjphdXRvIDB9LmNlbGwtYm90dG9te21hcmdpbi10b3A6YXV0b30uY2VsbC0xe2ZsZXg6MCAwIGNhbGMoMTAwJSAqICAxIC8gMTIpO21pbi13aWR0aDpjYWxjKDEwMCUgKiAgMSAvIDEyKX0uY2VsbC0ye2ZsZXg6MCAwIGNhbGMoMTAwJSAqICAyIC8gMTIpO21pbi13aWR0aDpjYWxjKDEwMCUgKiAgMiAvIDEyKX0uY2VsbC0ze2ZsZXg6MCAwIGNhbGMoMTAwJSAqICAzIC8gMTIpO21pbi13aWR0aDpjYWxjKDEwMCUgKiAgMyAvIDEyKX0uY2VsbC00e2ZsZXg6MCAwIGNhbGMoMTAwJSAqICA0IC8gMTIpO21pbi13aWR0aDpjYWxjKDEwMCUgKiAgNCAvIDEyKX0uY2VsbC01e2ZsZXg6MCAwIGNhbGMoMTAwJSAqICA1IC8gMTIpO21pbi13aWR0aDpjYWxjKDEwMCUgKiAgNSAvIDEyKX0uY2VsbC02e2ZsZXg6MCAwIGNhbGMoMTAwJSAqICA2IC8gMTIpO21pbi13aWR0aDpjYWxjKDEwMCUgKiAgNiAvIDEyKX0uY2VsbC03e2ZsZXg6MCAwIGNhbGMoMTAwJSAqICA3IC8gMTIpO21pbi13aWR0aDpjYWxjKDEwMCUgKiAgNyAvIDEyKX0uY2VsbC04e2ZsZXg6MCAwIGNhbGMoMTAwJSAqICA4IC8gMTIpO21pbi13aWR0aDpjYWxjKDEwMCUgKiAgOCAvIDEyKX0uY2VsbC05e2ZsZXg6MCAwIGNhbGMoMTAwJSAqICA5IC8gMTIpO21pbi13aWR0aDpjYWxjKDEwMCUgKiAgOSAvIDEyKX0uY2VsbC0xMHtmbGV4OjAgMCBjYWxjKDEwMCUgKiAxMCAvIDEyKTttaW4td2lkdGg6Y2FsYygxMDAlICogMTAgLyAxMil9LmNlbGwtMTF7ZmxleDowIDAgY2FsYygxMDAlICogMTEgLyAxMik7bWluLXdpZHRoOmNhbGMoMTAwJSAqIDExIC8gMTIpfS5jZWxsLTEye2ZsZXg6MCAwIGNhbGMoMTAwJSAqIDEyIC8gMTIpO21pbi13aWR0aDpjYWxjKDEwMCUgKiAxMiAvIDEyKX0uZ3JpZHttYXJnaW4tbGVmdDotMXJlbTttYXJnaW4tdG9wOi0xcmVtfS5ncmlkIC5jZWxse3BhZGRpbmctbGVmdDoxcmVtO3BhZGRpbmctdG9wOjFyZW19LmdyaWQtbmFycm93e21hcmdpbi1sZWZ0OjA7bWFyZ2luLXRvcDowfS5ncmlkLW5hcnJvdyAuY2VsbHtwYWRkaW5nLWxlZnQ6MDtwYWRkaW5nLXRvcDowfS5ncmlkLXdpZGV7bWFyZ2luLWxlZnQ6LTJyZW07bWFyZ2luLXRvcDotMnJlbX0uZ3JpZC13aWRlIC5jZWxse3BhZGRpbmctbGVmdDoycmVtO3BhZGRpbmctdG9wOjJyZW19LmdyaWQtaW5saW5le2Rpc3BsYXk6ZmxleDtmbGV4LXdyYXA6d3JhcDthbGlnbi1pdGVtczpiYXNlbGluZX0uZ3JpZC1pbmxpbmU+Kjpub3QoOmxhc3QtY2hpbGQpe21hcmdpbi1yaWdodDoxcmVtfUBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4cmVtKXsuZ3JpZHtmbGV4LWRpcmVjdGlvbjpjb2x1bW47ZmxleC13cmFwOm5vd3JhcH0uY2VsbHtmbGV4OjAgMCBhdXRvO21pbi13aWR0aDphdXRvfS5ncmlkLWlubGluZXtkaXNwbGF5OmZsZXg7ZmxleC13cmFwOndyYXA7YWxpZ24taXRlbXM6YmFzZWxpbmV9LmdyaWQtaW5saW5lPip7ZmxleDoxIDEgMTAwJX0uZ3JpZC1pbmxpbmU+Kjpub3QoOmxhc3QtY2hpbGQpe21hcmdpbjowIDAgLjc1cmVtfX0qe2JveC1zaXppbmc6Ym9yZGVyLWJveDt0ZXh0LXJlbmRlcmluZzpnZW9tZXRyaWNQcmVjaXNpb259OjpzZWxlY3Rpb257YmFja2dyb3VuZDojYmJkZWZifWh0bWwsYnV0dG9uLGlucHV0LG9wdGdyb3VwLHNlbGVjdCx0ZXh0YXJlYXtjb2xvcjojMjEyMTIxO2ZvbnQtc2l6ZToxNnB4O2xpbmUtaGVpZ2h0OjEuNTtmb250LWZhbWlseTpcIkNvdXNpbmVcIiwgTWVubG8sIEx1Y2lkYSBDb25zb2xlLCBDb3VyaWVyIE5ldywgbW9ub3NwYWNlfWNvZGUscHJlLHNhbXAsa2Jke2ZvbnQtZmFtaWx5OlwiU0ZNb25vLVJlZ3VsYXJcIiwgQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIE1lbmxvLCBDb3VyaWVyLCBtb25vc3BhY2V9aDEsaDIsaDMsaDQsaDUsaDZ7bGluZS1oZWlnaHQ6MS41cmVtO21hcmdpbi10b3A6MS41cmVtO21hcmdpbi1ib3R0b206MS41cmVtfWgxLnB1cmU6YmVmb3JlLC5ncmlkIGgxOmJlZm9yZSxoMi5wdXJlOmJlZm9yZSwuZ3JpZCBoMjpiZWZvcmUsaDMucHVyZTpiZWZvcmUsLmdyaWQgaDM6YmVmb3JlLGg0LnB1cmU6YmVmb3JlLC5ncmlkIGg0OmJlZm9yZSxoNS5wdXJlOmJlZm9yZSwuZ3JpZCBoNTpiZWZvcmUsaDYucHVyZTpiZWZvcmUsLmdyaWQgaDY6YmVmb3Jle2Rpc3BsYXk6bm9uZX0uZ3JpZCBoMSwuZ3JpZCBoMiwuZ3JpZCBoMywuZ3JpZCBoNCwuZ3JpZCBoNSwuZ3JpZCBoNnttYXJnaW4tdG9wOjByZW07bWFyZ2luLWJvdHRvbToxcmVtfWgxPnNtYWxsLGgyPnNtYWxsLGgzPnNtYWxsLGg0PnNtYWxsLGg1PnNtYWxsLGg2PnNtYWxse2NvbG9yOiM5ZTllOWU7bGluZS1oZWlnaHQ6MS41fWgxe2ZvbnQtc2l6ZToxLjVyZW19aDJ7Zm9udC1zaXplOjEuMjVyZW19cCx1bCxvbCxwcmUsZm9ybSx0YWJsZSxibG9ja3F1b3Rle21hcmdpbi10b3A6MDttYXJnaW4tYm90dG9tOjEuNXJlbX11bCB1bCxvbCBvbCx1bCBvbCxvbCB1bHttYXJnaW4tYm90dG9tOjB9c21hbGx7Zm9udC1zaXplOi43NWVtfS5jb250YWluZXJ7bWF4LXdpZHRoOjY0cmVtO21hcmdpbi1sZWZ0OmF1dG87bWFyZ2luLXJpZ2h0OmF1dG87cGFkZGluZy1sZWZ0OjFyZW07cGFkZGluZy1yaWdodDoxcmVtfS5zaXRlLWhlYWRlcntkaXNwbGF5OmZsZXg7ZmxleC13cmFwOndyYXA7YWxpZ24taXRlbXM6Y2VudGVyO3BhZGRpbmc6Ljg3NXJlbSAwIC42MjVyZW19LnNpdGUtdGl0bGV7Zm9udC1zaXplOjJyZW07Y29sb3I6IzU0NmU3YX0uc2l0ZS1zZWFyY2h7bWFyZ2luOjB9LnNpdGUtbmF2e2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6YmFzZWxpbmU7bWFyZ2luLWxlZnQ6YXV0bzttYXJnaW4tdG9wOi0uMjVyZW19LnNpdGUtbmF2IHVse2Rpc3BsYXk6aW5saW5lLWZsZXg7ZmxleC13cmFwOndyYXA7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpmbGV4LWVuZDttYXJnaW46MH0uc2l0ZS1uYXYgbGl7cGFkZGluZy1sZWZ0OjJjaH0uc2l0ZS1uYXYgbGk6bGFzdC1jaGlsZHtwYWRkaW5nLXJpZ2h0OjB9LnNpdGUtbmF2IGxpOmJlZm9yZXtkaXNwbGF5Om5vbmV9LnNpdGUtbmF2Lm5hdi1zZXBhcmF0ZWR7b3ZlcmZsb3c6aGlkZGVufS5zaXRlLW5hdi5uYXYtc2VwYXJhdGVkPnVse21hcmdpbi1yaWdodDotMmNofS5zaXRlLW5hdi5uYXYtc2VwYXJhdGVkIGxpe3BhZGRpbmctbGVmdDoxY2h9LnNpdGUtbmF2Lm5hdi1zZXBhcmF0ZWQgbGk6YWZ0ZXJ7Y29udGVudDpcInxcIjtjb2xvcjojZWVlO3BhZGRpbmctbGVmdDoxY2h9LnNpdGUtbmF2IC5hY3RpdmV7Zm9udC13ZWlnaHQ6Ym9sZH1AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0OHJlbSl7LnNpdGUtbmF2e2ZsZXg6MTtmbGV4LWRpcmVjdGlvbjpjb2x1bW47dGV4dC1hbGlnbjpyaWdodH0uc2l0ZS1uYXYgbGl7cGFkZGluZy10b3A6MXJlbX19LnJlc3BvbnNpdmUtbmF2e2Rpc3BsYXk6bm9uZTtmbGV4OjE7dGV4dC1hbGlnbjpyaWdodH0ucmVzcG9uc2l2ZS1uYXYgbGFiZWx7Y3Vyc29yOnBvaW50ZXI7Y29sb3I6IzU0NmU3YX0ucmVzcG9uc2l2ZS1uYXYgc3Zne3dpZHRoOjJyZW07aGVpZ2h0OjJyZW07c3Ryb2tlLXdpZHRoOjIuNXB4fS5yZXNwb25zaXZlLW5hditpbnB1dFt0eXBlPWNoZWNrYm94XXtkaXNwbGF5Om5vbmV9QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDhyZW0pey5yZXNwb25zaXZlLW5hdntkaXNwbGF5OmJsb2NrfS5yZXNwb25zaXZlLW5hdiB+IC5zaXRlLW5hdntkaXNwbGF5Om5vbmU7bWluLXdpZHRoOjEwMCU7ZmxleC1iYXNpczoxMDAlfS5yZXNwb25zaXZlLW5hditpbnB1dFt0eXBlPWNoZWNrYm94XTpjaGVja2VkIH4gLnNpdGUtbmF2e2Rpc3BsYXk6YmxvY2t9LnJlc3BvbnNpdmUtbmF2LnJlc3BvbnNpdmUtbmF2LWFuaW1hdGVkIH4gLnNpdGUtbmF2e2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDowO3RyYW5zaXRpb246bWF4LWhlaWdodCAuNXMgZWFzZS1vdXQ7b3ZlcmZsb3c6aGlkZGVufS5yZXNwb25zaXZlLW5hdi5yZXNwb25zaXZlLW5hdi1hbmltYXRlZCtpbnB1dFt0eXBlPWNoZWNrYm94XTpjaGVja2VkIH4gLnNpdGUtbmF2e21heC1oZWlnaHQ6MTByZW07dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1pbn19LnNpdGUtbWFpbnttYXJnaW4tdG9wOjNyZW07bWFyZ2luLWJvdHRvbTozcmVtfS5zaXRlLWZvb3RlcnttYXJnaW4tdG9wOjNyZW07cGFkZGluZzozcmVtIDA7Y29sb3I6I2JkYmRiZDt0ZXh0LWFsaWduOmNlbnRlcn0uc2l0ZS1mb290ZXIgYSwuc2l0ZS1mb290ZXIgLmxpc3QtZ3JvdXAgYnV0dG9uOm5vdCguYnRuKSwubGlzdC1ncm91cCAuc2l0ZS1mb290ZXIgYnV0dG9uOm5vdCguYnRuKXtjb2xvcjojNjRiNWY2fS5hbGVydHtwb3NpdGlvbjpyZWxhdGl2ZTtwYWRkaW5nOmNhbGMoLjVyZW0gLSAycHgpIDAuNzVyZW0gMC4yNXJlbTtib3JkZXI6MXB4IHNvbGlkO2JvcmRlci1yYWRpdXM6MnB4fS5hbGVydCAuY2xvc2V7ZmxvYXQ6cmlnaHQ7bWFyZ2luOi0uNXJlbSAtLjc1cmVtIDAgMDtwYWRkaW5nOmNhbGMoLjVyZW0gKyAxcHgpIDAuNzVyZW0gMDtvcGFjaXR5Oi41O2JvcmRlcjowO2JhY2tncm91bmQ6bm9uZTtmb250LXNpemU6MS41cmVtO2xpbmUtaGVpZ2h0OjE7Y29sb3I6aW5oZXJpdDtjdXJzb3I6cG9pbnRlcn0uYWxlcnQgLmNsb3NlOmhvdmVye29wYWNpdHk6MTt0ZXh0LWRlY29yYXRpb246bm9uZX0uYWxlcnR7Y29sb3I6IzYxNjE2MTtib3JkZXItY29sb3I6IzYxNjE2MTtiYWNrZ3JvdW5kLWNvbG9yOiNmYWZhZmF9LmFsZXJ0LXN1Y2Nlc3N7Y29sb3I6IzM4OGUzYztib3JkZXItY29sb3I6IzM4OGUzYztiYWNrZ3JvdW5kLWNvbG9yOiNlOGY1ZTl9LmFsZXJ0LWluZm97Y29sb3I6IzAwOTdhNztib3JkZXItY29sb3I6IzAwOTdhNztiYWNrZ3JvdW5kLWNvbG9yOiNlMGY3ZmF9LmFsZXJ0LXdhcm5pbmd7Y29sb3I6I2Y1N2MwMDtib3JkZXItY29sb3I6I2Y1N2MwMDtiYWNrZ3JvdW5kLWNvbG9yOiNmZmYzZTB9LmFsZXJ0LWVycm9ye2NvbG9yOiNkMzJmMmY7Ym9yZGVyLWNvbG9yOiNkMzJmMmY7YmFja2dyb3VuZC1jb2xvcjojZmZlYmVlfWlucHV0W3R5cGU9J2VtYWlsJ10saW5wdXRbdHlwZT0nbnVtYmVyJ10saW5wdXRbdHlwZT0ncGFzc3dvcmQnXSxpbnB1dFt0eXBlPSdzZWFyY2gnXSxpbnB1dFt0eXBlPSd0ZWwnXSxpbnB1dFt0eXBlPSd0ZXh0J10saW5wdXRbdHlwZT0ndXJsJ10sdGV4dGFyZWEsc2VsZWN0e3BhZGRpbmc6Y2FsYyguNXJlbSAtIDNweCkgMC42MjVyZW0gY2FsYyguMjVyZW0gLSAxcHgpO2FwcGVhcmFuY2U6bm9uZTtib3JkZXI6MnB4IHNvbGlkICNlMGUwZTA7Ym9yZGVyLXJhZGl1czoycHg7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtib3gtc2hhZG93Om5vbmU7b3V0bGluZTowfWlucHV0W3R5cGU9J2VtYWlsJ106Zm9jdXMsaW5wdXRbdHlwZT0nbnVtYmVyJ106Zm9jdXMsaW5wdXRbdHlwZT0ncGFzc3dvcmQnXTpmb2N1cyxpbnB1dFt0eXBlPSdzZWFyY2gnXTpmb2N1cyxpbnB1dFt0eXBlPSd0ZWwnXTpmb2N1cyxpbnB1dFt0eXBlPSd0ZXh0J106Zm9jdXMsaW5wdXRbdHlwZT0ndXJsJ106Zm9jdXMsdGV4dGFyZWE6Zm9jdXMsc2VsZWN0OmZvY3Vze2JvcmRlci1jb2xvcjojOWU5ZTllfWlucHV0W3R5cGU9XCJmaWxlXCJde2xpbmUtaGVpZ2h0OjE7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH1pbnB1dDo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b257cGFkZGluZzouMnJlbSAuM3JlbSAuMDVyZW07YmFja2dyb3VuZC1jb2xvcjojZmZmO2JvcmRlcjoycHggc29saWQgI2JkYmRiZDtib3JkZXItcmFkaXVzOjJweH1pbnB1dDo6cGxhY2Vob2xkZXJ7Y29sb3I6I2JkYmRiZH1zZWxlY3R7cGFkZGluZy1yaWdodDoxLjhyZW07YmFja2dyb3VuZC1pbWFnZTp1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmclMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUyMGhlaWdodCUzRCUyMjE0JTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMjklMjAxNCUyMiUyMHdpZHRoJTNEJTIyMjklMjIlM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyM2UwZTBlMCUyMiUyMGQlM0QlMjJNOS4zNzcyNyUyMDMuNjI1bDUuMDgxNTQlMjA2LjkzNTIzTDE5LjU0MDM2JTIwMy42MjUlMjIlMkYlM0UlM0MlMkZzdmclM0VcIik7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O2JhY2tncm91bmQtcG9zaXRpb246Y2VudGVyIHJpZ2h0fXNlbGVjdDpmb2N1c3tiYWNrZ3JvdW5kLWltYWdlOnVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTIwaGVpZ2h0JTNEJTIyMTQlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAyOSUyMDE0JTIyJTIwd2lkdGglM0QlMjIyOSUyMiUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzOWU5ZTllJTIyJTIwZCUzRCUyMk05LjM3NzI3JTIwMy42MjVsNS4wODE1NCUyMDYuOTM1MjNMMTkuNTQwMzYlMjAzLjYyNSUyMiUyRiUzRSUzQyUyRnN2ZyUzRVwiKX1zZWxlY3Q6Oi1tcy1leHBhbmR7ZGlzcGxheTpub25lfXRleHRhcmVhe2hlaWdodDphdXRvO21pbi1oZWlnaHQ6MnJlbX1AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzMHJlbSl7LmZvcm17d2lkdGg6MTAwJX19LmZvcm0tZ3JvdXB7ZGlzcGxheTpmbGV4O2ZsZXgtd3JhcDp3cmFwO21hcmdpbi1ib3R0b206MS41cmVtfS5mb3JtLWxhYmVse29yZGVyOjE7cG9zaXRpb246cmVsYXRpdmU7bWluLXdpZHRoOjEwcmVtO2hlaWdodDoycmVtO2NvbG9yOiM0MjQyNDI7Ym9yZGVyLWJvdHRvbToycHggc29saWQgI2UwZTBlMDtsaW5lLWhlaWdodDoycmVtfWh0bWwgLmZvcm0tY29udHJvbHtmbGV4OjE7b3JkZXI6MjttaW4td2lkdGg6Y2FsYygxMDAlIC0gMTByZW0pO3BhZGRpbmc6LjI1cmVtIDFyZW0gMDtib3JkZXI6MDtib3JkZXItYm90dG9tOjJweCBzb2xpZCAjZTBlMGUwO2JvcmRlci1yYWRpdXM6MH1odG1sIC5mb3JtLWNvbnRyb2w6Zm9jdXN7Ym9yZGVyLWNvbG9yOiM5ZTllOWV9aHRtbCAuZm9ybS1jb250cm9sIGxhYmVsK2xhYmVse3BhZGRpbmctbGVmdDoycmVtfXRleHRhcmVhLmZvcm0tY29udHJvbHtwYWRkaW5nLWxlZnQ6Y2FsYygxcmVtIC0gMnB4KTtib3JkZXItYm90dG9tOjJweCBzb2xpZCAjZTBlMGUwO2JvcmRlci1sZWZ0OjJweCBzb2xpZCAjZTBlMGUwfXRleHRhcmVhLmZvcm0tY29udHJvbCsuZm9ybS1sYWJlbDpiZWZvcmV7cG9zaXRpb246YWJzb2x1dGU7Y29udGVudDonJzt3aWR0aDoycHg7YmFja2dyb3VuZC1jb2xvcjojZmZmO3JpZ2h0Oi0ycHg7dG9wOjA7Ym90dG9tOjB9c2VsZWN0LmZvcm0tY29udHJvbHtib3JkZXItcmFkaXVzOjB9LmZvcm0tc3VjY2VzcyAuaGVscC1ibG9jaywuZm9ybS1zdWNjZXNzIC5mb3JtLWxhYmVse2NvbG9yOiM0Y2FmNTB9LmZvcm0tc3VjY2VzcyBpbnB1dCwuZm9ybS1zdWNjZXNzIHRleHRhcmVhLC5mb3JtLXN1Y2Nlc3Mgc2VsZWN0LC5mb3JtLXN1Y2Nlc3MgLmZvcm0tbGFiZWwsLmZvcm0tc3VjY2VzcyAuZm9ybS1jb250cm9se2JvcmRlci1jb2xvcjojNGNhZjUwfS5mb3JtLXN1Y2Nlc3MgaW5wdXQ6Zm9jdXMsLmZvcm0tc3VjY2VzcyB0ZXh0YXJlYTpmb2N1cywuZm9ybS1zdWNjZXNzIHNlbGVjdDpmb2N1cywuZm9ybS1zdWNjZXNzIC5mb3JtLWxhYmVsOmZvY3VzLC5mb3JtLXN1Y2Nlc3MgLmZvcm0tY29udHJvbDpmb2N1c3tib3JkZXItY29sb3I6IzJlN2QzMn0uZm9ybS1pbmZvIC5oZWxwLWJsb2NrLC5mb3JtLWluZm8gLmZvcm0tbGFiZWx7Y29sb3I6IzAwYmNkNH0uZm9ybS1pbmZvIGlucHV0LC5mb3JtLWluZm8gdGV4dGFyZWEsLmZvcm0taW5mbyBzZWxlY3QsLmZvcm0taW5mbyAuZm9ybS1sYWJlbCwuZm9ybS1pbmZvIC5mb3JtLWNvbnRyb2x7Ym9yZGVyLWNvbG9yOiMwMGJjZDR9LmZvcm0taW5mbyBpbnB1dDpmb2N1cywuZm9ybS1pbmZvIHRleHRhcmVhOmZvY3VzLC5mb3JtLWluZm8gc2VsZWN0OmZvY3VzLC5mb3JtLWluZm8gLmZvcm0tbGFiZWw6Zm9jdXMsLmZvcm0taW5mbyAuZm9ybS1jb250cm9sOmZvY3Vze2JvcmRlci1jb2xvcjojMDA4MzhmfS5mb3JtLXdhcm5pbmcgLmhlbHAtYmxvY2ssLmZvcm0td2FybmluZyAuZm9ybS1sYWJlbHtjb2xvcjojZmY5ODAwfS5mb3JtLXdhcm5pbmcgaW5wdXQsLmZvcm0td2FybmluZyB0ZXh0YXJlYSwuZm9ybS13YXJuaW5nIHNlbGVjdCwuZm9ybS13YXJuaW5nIC5mb3JtLWxhYmVsLC5mb3JtLXdhcm5pbmcgLmZvcm0tY29udHJvbHtib3JkZXItY29sb3I6I2ZmOTgwMH0uZm9ybS13YXJuaW5nIGlucHV0OmZvY3VzLC5mb3JtLXdhcm5pbmcgdGV4dGFyZWE6Zm9jdXMsLmZvcm0td2FybmluZyBzZWxlY3Q6Zm9jdXMsLmZvcm0td2FybmluZyAuZm9ybS1sYWJlbDpmb2N1cywuZm9ybS13YXJuaW5nIC5mb3JtLWNvbnRyb2w6Zm9jdXN7Ym9yZGVyLWNvbG9yOiNlZjZjMDB9LmZvcm0tZXJyb3IgLmhlbHAtYmxvY2ssLmZvcm0tZXJyb3IgLmZvcm0tbGFiZWx7Y29sb3I6I2Y0NDMzNn0uZm9ybS1lcnJvciBpbnB1dCwuZm9ybS1lcnJvciB0ZXh0YXJlYSwuZm9ybS1lcnJvciBzZWxlY3QsLmZvcm0tZXJyb3IgLmZvcm0tbGFiZWwsLmZvcm0tZXJyb3IgLmZvcm0tY29udHJvbHtib3JkZXItY29sb3I6I2Y0NDMzNn0uZm9ybS1lcnJvciBpbnB1dDpmb2N1cywuZm9ybS1lcnJvciB0ZXh0YXJlYTpmb2N1cywuZm9ybS1lcnJvciBzZWxlY3Q6Zm9jdXMsLmZvcm0tZXJyb3IgLmZvcm0tbGFiZWw6Zm9jdXMsLmZvcm0tZXJyb3IgLmZvcm0tY29udHJvbDpmb2N1c3tib3JkZXItY29sb3I6I2M2MjgyOH0uZm9ybS1jb250cm9sOmRpc2FibGVkLC5mb3JtLWNvbnRyb2w6ZGlzYWJsZWQrLmZvcm0tbGFiZWx7Y3Vyc29yOm5vdC1hbGxvd2VkO2NvbG9yOiNiZGJkYmQ7LXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6I2JkYmRiZDtvcGFjaXR5OjF9LmZvcm0tY29udHJvbFtyZWFkb25seV0sLmZvcm0tY29udHJvbFtyZWFkb25seV0rLmZvcm0tbGFiZWx7Y29sb3I6IzllOWU5ZX0uZm9ybS1jb250cm9sOnJlcXVpcmVkKy5mb3JtLWxhYmVsOmFmdGVye2NvbnRlbnQ6XCIgKlwiO2NvbG9yOiNlZjUzNTB9LmhlbHAtYmxvY2t7b3JkZXI6MzttaW4td2lkdGg6MTAwJTtmbGV4LWJhc2lzOjEwMCU7bWFyZ2luLXRvcDouNXJlbTtwYWRkaW5nLWxlZnQ6MTFyZW07Y29sb3I6IzllOWU5ZX0uaW5wdXQtZ3JvdXAsLmJ0bi1ncm91cHtkaXNwbGF5OmlubGluZS1mbGV4O2ZsZXgtd3JhcDp3cmFwfS5mb3JtLXZlcnRpY2FsIC5mb3JtLWxhYmVse2JvcmRlci1ib3R0b206bm9uZTttaW4td2lkdGg6MTAwJTtmbGV4LWJhc2lzOjEwMCV9LmZvcm0tdmVydGljYWwgdGV4dGFyZWEuZm9ybS1jb250cm9se3BhZGRpbmctbGVmdDowO2JvcmRlci1sZWZ0Om5vbmV9LmZvcm0tdmVydGljYWwgdGV4dGFyZWEuZm9ybS1jb250cm9sKy5mb3JtLWxhYmVsOmJlZm9yZXtkaXNwbGF5Om5vbmV9LmZvcm0tdmVydGljYWwgLmhlbHAtYmxvY2t7cGFkZGluZy1sZWZ0OjB9LmZvcm0tdmVydGljYWwgLmZvcm0tY29udHJvbHtkaXNwbGF5OmZsZXg7ZmxleC13cmFwOndyYXA7bWluLXdpZHRoOjEwMCU7ZmxleC1iYXNpczoxMDAlO3BhZGRpbmc6MCAwIC4xNXJlbX0uZm9ybS12ZXJ0aWNhbCAuZm9ybS1jb250cm9sIGxhYmVse3BhZGRpbmctcmlnaHQ6MXJlbX0uZm9ybS12ZXJ0aWNhbCAuZm9ybS1jb250cm9sIGxhYmVsK2xhYmVse3BhZGRpbmctbGVmdDowfUBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4cmVtKXsuZm9ybS1sYWJlbHtib3JkZXItYm90dG9tOm5vbmU7bWluLXdpZHRoOjEwMCU7ZmxleC1iYXNpczoxMDAlfXRleHRhcmVhLmZvcm0tY29udHJvbHtwYWRkaW5nLWxlZnQ6MDtib3JkZXItbGVmdDpub25lfXRleHRhcmVhLmZvcm0tY29udHJvbCsuZm9ybS1sYWJlbDpiZWZvcmV7ZGlzcGxheTpub25lfS5oZWxwLWJsb2Nre3BhZGRpbmctbGVmdDowfWh0bWwgLmZvcm0tY29udHJvbHtkaXNwbGF5OmZsZXg7ZmxleC13cmFwOndyYXA7bWluLXdpZHRoOjEwMCU7ZmxleC1iYXNpczoxMDAlO3BhZGRpbmc6MCAwIC4xNXJlbX1odG1sIC5mb3JtLWNvbnRyb2wgbGFiZWx7cGFkZGluZy1yaWdodDoxcmVtfWh0bWwgLmZvcm0tY29udHJvbCBsYWJlbCtsYWJlbHtwYWRkaW5nLWxlZnQ6MH19LmJ0bntwb3NpdGlvbjpyZWxhdGl2ZTtwYWRkaW5nOmNhbGMoLjVyZW0gLSAzcHgpIDAuNzVyZW0gY2FsYyguMjVyZW0gLSAxcHgpO2JvcmRlci13aWR0aDoycHg7Ym9yZGVyLXN0eWxlOnNvbGlkO2JvcmRlci1yYWRpdXM6MnB4O2JvcmRlci1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDAuMikgcmdiYSgwLDAsMCwwLjIpIHJnYmEoMCwwLDAsMC4yKSByZ2JhKDI1NSwyNTUsMjU1LDAuMik7b3V0bGluZTpub25lO2N1cnNvcjpwb2ludGVyO3VzZXItc2VsZWN0Om5vbmU7Y29sb3I6I2ZmZn0uYnRuOmhvdmVyLC5idG46Zm9jdXN7dGV4dC1kZWNvcmF0aW9uOm5vbmU7Ym9yZGVyLWNvbG9yOnJnYmEoMCwwLDAsMC4yKSByZ2JhKDI1NSwyNTUsMjU1LDAuMikgcmdiYSgyNTUsMjU1LDI1NSwwLjIpIHJnYmEoMCwwLDAsMC4yKX0uYnRuOmFjdGl2ZXtib3gtc2hhZG93Omluc2V0IDAgMXB4IDNweCByZ2JhKDAsMCwwLDAuMil9LmJ0bi5idG4tZ2hvc3R7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0uYnRuLmJ0bi1naG9zdDpob3ZlciwuYnRuLmJ0bi1naG9zdDpmb2N1c3tjb2xvcjojZmZmO2JvcmRlci1jb2xvcjpyZ2JhKDAsMCwwLDAuMikgcmdiYSgyNTUsMjU1LDI1NSwwLjIpIHJnYmEoMjU1LDI1NSwyNTUsMC4yKSByZ2JhKDAsMCwwLDAuMil9LmJ0bi1wcmltYXJ5e2JhY2tncm91bmQtY29sb3I6IzIxOTZmM30uYnRuLXByaW1hcnk6aG92ZXIsLmJ0bi1wcmltYXJ5OmZvY3Vze2JhY2tncm91bmQtY29sb3I6IzE5NzZkMn0uYnRuLXByaW1hcnkuYnRuLWdob3N0e2JvcmRlci1jb2xvcjojMjE5NmYzO2NvbG9yOiMyMTk2ZjN9LmJ0bi1zdWNjZXNze2JhY2tncm91bmQtY29sb3I6IzRjYWY1MH0uYnRuLXN1Y2Nlc3M6aG92ZXIsLmJ0bi1zdWNjZXNzOmZvY3Vze2JhY2tncm91bmQtY29sb3I6IzM4OGUzY30uYnRuLXN1Y2Nlc3MuYnRuLWdob3N0e2JvcmRlci1jb2xvcjojNGNhZjUwO2NvbG9yOiM0Y2FmNTB9LmJ0bi1pbmZve2JhY2tncm91bmQtY29sb3I6IzAwYmNkNH0uYnRuLWluZm86aG92ZXIsLmJ0bi1pbmZvOmZvY3Vze2JhY2tncm91bmQtY29sb3I6IzAwOTdhN30uYnRuLWluZm8uYnRuLWdob3N0e2JvcmRlci1jb2xvcjojMDBiY2Q0O2NvbG9yOiMwMGJjZDR9LmJ0bi13YXJuaW5ne2JhY2tncm91bmQtY29sb3I6I2ZmOTgwMH0uYnRuLXdhcm5pbmc6aG92ZXIsLmJ0bi13YXJuaW5nOmZvY3Vze2JhY2tncm91bmQtY29sb3I6I2Y1N2MwMH0uYnRuLXdhcm5pbmcuYnRuLWdob3N0e2JvcmRlci1jb2xvcjojZmY5ODAwO2NvbG9yOiNmZjk4MDB9LmJ0bi1lcnJvcntiYWNrZ3JvdW5kLWNvbG9yOiNmNDQzMzZ9LmJ0bi1lcnJvcjpob3ZlciwuYnRuLWVycm9yOmZvY3Vze2JhY2tncm91bmQtY29sb3I6I2QzMmYyZn0uYnRuLWVycm9yLmJ0bi1naG9zdHtib3JkZXItY29sb3I6I2Y0NDMzNjtjb2xvcjojZjQ0MzM2fS5idG4tZGVmYXVsdHtiYWNrZ3JvdW5kLWNvbG9yOiNlZWU7Y29sb3I6IzYxNjE2MX0uYnRuLWRlZmF1bHQ6aG92ZXIsLmJ0bi1kZWZhdWx0OmZvY3Vze2JhY2tncm91bmQtY29sb3I6I2JkYmRiZDtjb2xvcjojZmZmfS5idG4tZGVmYXVsdC5idG4tZ2hvc3R7Ym9yZGVyLWNvbG9yOiNiZGJkYmQ7Y29sb3I6IzYxNjE2MX0uYnRuLWxpbmt7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50O2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Y29sb3I6IzIxOTZmM30uYnRuLWxpbms6aG92ZXIsLmJ0bi1saW5rOmZvY3Vze2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudDtjb2xvcjojMTk3NmQyO3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmV9LmJ0bltkaXNhYmxlZF17Y3Vyc29yOm5vdC1hbGxvd2VkfS5idG5bZGlzYWJsZWRdLC5idG5bZGlzYWJsZWRdOmhvdmVyLC5idG5bZGlzYWJsZWRdOmZvY3Vze2JhY2tncm91bmQtY29sb3I6I2Y1ZjVmNTtib3JkZXItY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwwLjIpIHJnYmEoMCwwLDAsMC4yKSByZ2JhKDAsMCwwLDAuMikgcmdiYSgyNTUsMjU1LDI1NSwwLjIpO2NvbG9yOiNiZGJkYmR9LmJ0bltkaXNhYmxlZF0uYnRuLWdob3N0LC5idG5bZGlzYWJsZWRdLmJ0bi1naG9zdDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2JvcmRlci1jb2xvcjojYmRiZGJkO2NvbG9yOiNiZGJkYmR9LmJ0bi1hZGRvbntwYWRkaW5nOmNhbGMoLjVyZW0gLSAzcHgpIDAuNzVyZW0gY2FsYyguMjVyZW0gLSAxcHgpO2JvcmRlcjoycHggc29saWQgdHJhbnNwYXJlbnR9LmJ0bi1hZGRvbjpmaXJzdC1jaGlsZHtwYWRkaW5nLWxlZnQ6MH0uYnRuLWdyb3VwIC5idG57ZmxleC1ncm93OjE7Ym9yZGVyLXJhZGl1czowO3dvcmQtYnJlYWs6YnJlYWstYWxsO3dvcmQtYnJlYWs6YnJlYWstd29yZH0uYnRuLWdyb3VwIC5idG46Zmlyc3Qtb2YtdHlwZXtib3JkZXItcmFkaXVzOjJweCAwIDAgMnB4fS5idG4tZ3JvdXAgLmJ0bjpsYXN0LW9mLXR5cGV7Ym9yZGVyLXJhZGl1czowIDJweCAycHggMH0uYnRuLWdyb3VwIC5idG4tZ2hvc3Q6bm90KDpmaXJzdC1jaGlsZCl7bWFyZ2luLWxlZnQ6LTJweH0ubGlzdC1zdHJpcGVkPio6bnRoLWNoaWxkKGV2ZW4pOm5vdCguYnRuKXtiYWNrZ3JvdW5kLWNvbG9yOiNmNWY1ZjV9Lmxpc3QtZ3JvdXB7cGFkZGluZzowO2JvcmRlcjoxcHggc29saWQgI2UwZTBlMDtib3JkZXItcmFkaXVzOjJweH0ubGlzdC1ncm91cD4qe2Rpc3BsYXk6YmxvY2s7bWFyZ2luOjA7cGFkZGluZzpjYWxjKC41cmVtIC0gMXB4KSAwLjVyZW0gMC4yNXJlbTtib3JkZXI6MH0ubGlzdC1ncm91cD4qOmZpcnN0LWNoaWxke3BhZGRpbmctdG9wOmNhbGMoLjVyZW0gLSAycHgpfS5saXN0LWdyb3VwPmEsLmxpc3QtZ3JvdXA+YnV0dG9uOm5vdCguYnRuKSwubGlzdC1ncm91cD5idXR0b257d2lkdGg6MTAwJTtib3JkZXItcmFkaXVzOjB9Lmxpc3QtZ3JvdXAgYnV0dG9uOm5vdCguYnRuKXt0ZXh0LWFsaWduOmxlZnQ7YmFja2dyb3VuZC1jb2xvcjojZmZmfS5saXN0LWdyb3VwPmxpOmJlZm9yZXtkaXNwbGF5Om5vbmV9Lmxpc3QtZ3JvdXA+Kjpub3QoOmxhc3QtY2hpbGQpe2JvcmRlci1ib3R0b206MXB4IHNvbGlkICNlMGUwZTB9Lmxpc3QtZ3JvdXA+LmRpc2FibGVke2NvbG9yOiM5ZTllOWU7Y3Vyc29yOm5vdC1hbGxvd2VkO2JhY2tncm91bmQtY29sb3I6I2VlZX0ubGlzdC1ncm91cD4uYWN0aXZlLmFjdGl2ZSwubGlzdC1ncm91cD4uYWN0aXZlLmFjdGl2ZTpob3Zlcntjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzIxOTZmM30uY2FyZHtib3JkZXI6MXB4IHNvbGlkICNlMGUwZTA7Ym9yZGVyLXJhZGl1czoycHh9LmNhcmQgLmNhcmQtaGVhZGVye2Rpc3BsYXk6YmxvY2s7cGFkZGluZzpjYWxjKC41cmVtIC0gMXB4KSAwLjc1cmVtIDAuMjVyZW07YmFja2dyb3VuZC1jb2xvcjojZWVlO3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtd2VpZ2h0OmJvbGQ7Y29sb3I6IzQyNDI0Mn0uY2FyZCAuY2FyZC1ib2R5e3BhZGRpbmc6Y2FsYyguNXJlbSAtIDJweCkgMC43NXJlbSAwLjI1cmVtfS5jYXJkIC5jYXJkLWJvZHk6bGFzdC1jaGlsZHttYXJnaW4tYm90dG9tOjB9LmNhcmQ+Kisqe2JvcmRlcjowO2JvcmRlci1yYWRpdXM6MDtib3JkZXItdG9wOjFweCBzb2xpZDtib3JkZXItY29sb3I6aW5oZXJpdH0uY2FyZC5jYXJkLXN1Y2Nlc3N7Ym9yZGVyOjFweCBzb2xpZCAjNGNhZjUwfS5jYXJkLmNhcmQtc3VjY2VzcyAuY2FyZC1oZWFkZXJ7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiM0Y2FmNTA7Ym9yZGVyLWJvdHRvbS1jb2xvcjojNGNhZjUwO2ZvbnQtd2VpZ2h0Om5vcm1hbH0uY2FyZC5jYXJkLWluZm97Ym9yZGVyOjFweCBzb2xpZCAjMDBiY2Q0fS5jYXJkLmNhcmQtaW5mbyAuY2FyZC1oZWFkZXJ7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMwMGJjZDQ7Ym9yZGVyLWJvdHRvbS1jb2xvcjojMDBiY2Q0O2ZvbnQtd2VpZ2h0Om5vcm1hbH0uY2FyZC5jYXJkLXdhcm5pbmd7Ym9yZGVyOjFweCBzb2xpZCAjZmY5ODAwfS5jYXJkLmNhcmQtd2FybmluZyAuY2FyZC1oZWFkZXJ7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiNmZjk4MDA7Ym9yZGVyLWJvdHRvbS1jb2xvcjojZmY5ODAwO2ZvbnQtd2VpZ2h0Om5vcm1hbH0uY2FyZC5jYXJkLWVycm9ye2JvcmRlcjoxcHggc29saWQgI2Y0NDMzNn0uY2FyZC5jYXJkLWVycm9yIC5jYXJkLWhlYWRlcntjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6I2Y0NDMzNjtib3JkZXItYm90dG9tLWNvbG9yOiNmNDQzMzY7Zm9udC13ZWlnaHQ6bm9ybWFsfWRldGFpbHMuY2FyZD4qKyp7Ym9yZGVyLWNvbG9yOiNlMGUwZTB9LmxvYWRpbmd7ZGlzcGxheTppbmxpbmUtYmxvY2s7b3ZlcmZsb3c6aGlkZGVuO2hlaWdodDoxLjNlbTttYXJnaW4tdG9wOi0uM2VtO2xpbmUtaGVpZ2h0OjEuNWVtO3ZlcnRpY2FsLWFsaWduOnRleHQtYm90dG9tfS5sb2FkaW5nOjphZnRlcntkaXNwbGF5OmlubGluZS10YWJsZTt3aGl0ZS1zcGFjZTpwcmU7Y29udGVudDpcIlxcQS5cXEEuLlxcQS4uLlwiO3RleHQtYWxpZ246bGVmdDthbmltYXRpb246c3BpbiAycyBzdGVwcyg0KSBpbmZpbml0ZX1Aa2V5ZnJhbWVzIHNwaW57dG97dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTZlbSl9fS5wcm9ncmVzcy1iYXJ7aGVpZ2h0OjFyZW07YmFja2dyb3VuZC1jb2xvcjojZTBlMGUwfS5wcm9ncmVzcy1iYXIubmFycm93e2hlaWdodDowLjVyZW19LnByb2dyZXNzLWJhci5wcm9ncmVzcy1iYXItc2hvdy1wZXJjZW50e21hcmdpbi10b3A6MnJlbX0ucHJvZ3Jlc3MtYmFyLnByb2dyZXNzLWJhci1zaG93LXBlcmNlbnQ+ZGl2OmJlZm9yZXtjb250ZW50OicnO2JvcmRlcjo2cHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLXRvcC1jb2xvcjojOWU5ZTllO3Bvc2l0aW9uOmFic29sdXRlO3RvcDotMTJweDtyaWdodDotNnB4fS5wcm9ncmVzcy1iYXIucHJvZ3Jlc3MtYmFyLXNob3ctcGVyY2VudD5kaXY6YWZ0ZXJ7Y29sb3I6Izc1NzU3NTtjb250ZW50OmF0dHIoZGF0YS1maWxsZWQpO2Rpc3BsYXk6YmxvY2s7Zm9udC1zaXplOjEycHg7d2hpdGUtc3BhY2U6bm93cmFwO3Bvc2l0aW9uOmFic29sdXRlO2JvcmRlcjo2cHggc29saWQgdHJhbnNwYXJlbnQ7dG9wOi0zNnB4O3JpZ2h0OjA7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoNTAlKX0ucHJvZ3Jlc3MtYmFyPmRpdntwb3NpdGlvbjpyZWxhdGl2ZTtoZWlnaHQ6MTAwJTt3aWR0aDowO21heC13aWR0aDoxMDAlO2JhY2tncm91bmQtY29sb3I6IzllOWU5ZTt0cmFuc2l0aW9uOndpZHRoIC4zcyBlYXNlO3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtc2l6ZToxMnB4O2NvbG9yOiNmZmZ9LnByb2dyZXNzLWJhci5wcm9ncmVzcy1wcmltYXJ5PmRpdntiYWNrZ3JvdW5kLWNvbG9yOiMyMTk2ZjN9LnByb2dyZXNzLWJhci5wcm9ncmVzcy1zdWNjZXNzPmRpdntiYWNrZ3JvdW5kLWNvbG9yOiM0Y2FmNTB9LnByb2dyZXNzLWJhci5wcm9ncmVzcy1pbmZvPmRpdntiYWNrZ3JvdW5kLWNvbG9yOiMwMGJjZDR9LnByb2dyZXNzLWJhci5wcm9ncmVzcy13YXJuaW5nPmRpdntiYWNrZ3JvdW5kLWNvbG9yOiNmZjk4MDB9LnByb2dyZXNzLWJhci5wcm9ncmVzcy1lcnJvcj5kaXZ7YmFja2dyb3VuZC1jb2xvcjojZjQ0MzM2fXRhYmxle3dpZHRoOjEwMCU7Ym9yZGVyLWNvbGxhcHNlOmNvbGxhcHNlO2JvcmRlci1zcGFjaW5nOjB9dGQsdGh7dmVydGljYWwtYWxpZ246dG9wO2JvcmRlcjoxcHggc29saWQgI2UwZTBlMDtwYWRkaW5nOmNhbGMoLjVyZW0gLSAxcHgpIDAuNXJlbSAwLjNyZW19dGhlYWQgdGh7Y29sb3I6IzQyNDI0Mjt0ZXh0LWFsaWduOmNlbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOiNlZWV9Y2FwdGlvbntjYXB0aW9uLXNpZGU6Ym90dG9tO3BhZGRpbmctdG9wOi43NXJlbTtjb2xvcjojOWU5ZTllfS50YWJsZS1maXhlZHt0YWJsZS1sYXlvdXQ6Zml4ZWR9LnRhYmxlLXN0cmlwZWQgdHI6bnRoLWNoaWxkKGV2ZW4pIHRke2JhY2tncm91bmQtY29sb3I6I2Y1ZjVmNX0udGFibGUtaG92ZXIgdHI6aG92ZXIgdGR7YmFja2dyb3VuZC1jb2xvcjojZWVlfS50YWJsZS1uYXJyb3cgdGQsLnRhYmxlLW5hcnJvdyB0aHtwYWRkaW5nOmNhbGMoLjI1cmVtIC0gMXB4KSAwLjVyZW0gMH0udGFibGUtd2lkZSB0ZCwudGFibGUtd2lkZSB0aHtwYWRkaW5nOmNhbGMoLjg3NXJlbSAtIDFweCkgMXJlbSAwLjYyNXJlbX10aGVhZC50ZXh0LWxlZnQ+dHI+dGh7dGV4dC1hbGlnbjpsZWZ0fS50YWd7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiM5ZTllOWU7Ym94LXNoYWRvdzowIC0xcHggMCAzcHggIzllOWU5ZSxpbnNldCAwIDAgMCAxcHggIzllOWU5ZTtwb3NpdGlvbjpyZWxhdGl2ZTt0b3A6LS4xZW07cGFkZGluZzowIC4yNWVtO2JvcmRlci1yYWRpdXM6MXB4O2ZvbnQtc2l6ZTouOGVtO2ZvbnQtd2VpZ2h0Om5vcm1hbDt3aGl0ZS1zcGFjZTpub3dyYXA7dmVydGljYWwtYWxpZ246YmFzZWxpbmU7dGV4dC1yZW5kZXJpbmc6b3B0aW1pemVMZWdpYmlsaXR5fS50YWc6ZW1wdHl7ZGlzcGxheTpub25lfS50YWcudGFnLXByaW1hcnl7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMyMTk2ZjM7Ym94LXNoYWRvdzowIC0xcHggMCAzcHggIzIxOTZmMyxpbnNldCAwIDAgMCAxcHggIzIxOTZmM30udGFnLnRhZy1zdWNjZXNze2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojNGNhZjUwO2JveC1zaGFkb3c6MCAtMXB4IDAgM3B4ICM0Y2FmNTAsaW5zZXQgMCAwIDAgMXB4ICM0Y2FmNTB9LnRhZy50YWctaW5mb3tjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzAwYmNkNDtib3gtc2hhZG93OjAgLTFweCAwIDNweCAjMDBiY2Q0LGluc2V0IDAgMCAwIDFweCAjMDBiY2Q0fS50YWcudGFnLXdhcm5pbmd7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiNmZjk4MDA7Ym94LXNoYWRvdzowIC0xcHggMCAzcHggI2ZmOTgwMCxpbnNldCAwIDAgMCAxcHggI2ZmOTgwMH0udGFnLnRhZy1lcnJvcntjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6I2Y0NDMzNjtib3gtc2hhZG93OjAgLTFweCAwIDNweCAjZjQ0MzM2LGluc2V0IDAgMCAwIDFweCAjZjQ0MzM2fUBrZXlmcmFtZXMgdG9vbHRpcC1hcHBlYXJ7dG97b3BhY2l0eToxfX1bZGF0YS10b29sdGlwXXtwb3NpdGlvbjpyZWxhdGl2ZX1bZGF0YS10b29sdGlwXTphZnRlcntjb250ZW50OmF0dHIoZGF0YS10b29sdGlwKTtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjE7Ym90dG9tOjEwMCU7bGVmdDo1MCU7ZGlzcGxheTpub25lO3BhZGRpbmc6Y2FsYyguNXJlbSAtIDJweCkgMC41cmVtIDAuMjVyZW07dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLCAtMC41cmVtKTtwb2ludGVyLWV2ZW50czpub25lO2JveC1zaGFkb3c6MCAwIDAgMC4yNXJlbSAjZmZmO2JvcmRlcjoxcHggc29saWQgI2UwZTBlMDtib3JkZXItcmFkaXVzOjJweDtiYWNrZ3JvdW5kLWNvbG9yOiNmYWZhZmE7d2hpdGUtc3BhY2U6cHJlO2NvbG9yOiMyMTIxMjE7b3BhY2l0eTowfVtkYXRhLXRvb2x0aXBdOmZvY3VzOmFmdGVyLFtkYXRhLXRvb2x0aXBdOmhvdmVyOmFmdGVye2Rpc3BsYXk6YmxvY2s7YW5pbWF0aW9uOnRvb2x0aXAtYXBwZWFyIC4xcyBlYXNlLWluIC4xcyBmb3J3YXJkc31bZGF0YS10b29sdGlwXS50b29sdGlwLWJvdHRvbTphZnRlcntib3R0b206YXV0bzt0b3A6MTAwJTtsZWZ0OjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsIDAuNXJlbSl9W2RhdGEtdG9vbHRpcF0udG9vbHRpcC1sZWZ0OmFmdGVye2JvdHRvbTphdXRvO2xlZnQ6YXV0bzt0b3A6NTAlO3JpZ2h0OjEwMCU7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtMC41cmVtLCAtNTAlKX1bZGF0YS10b29sdGlwXS50b29sdGlwLXJpZ2h0OmFmdGVye2JvdHRvbTphdXRvO3RvcDo1MCU7bGVmdDoxMDAlO3RyYW5zZm9ybTp0cmFuc2xhdGUoMC41cmVtLCAtNTAlKX1bZGF0YS10b29sdGlwXS50b29sdGlwLWFjdGl2ZTphZnRlcntjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzIxOTZmM31bZGF0YS10b29sdGlwXS50b29sdGlwLXN1Y2Nlc3M6YWZ0ZXJ7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiM0Y2FmNTB9W2RhdGEtdG9vbHRpcF0udG9vbHRpcC1pbmZvOmFmdGVye2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMDBiY2Q0fVtkYXRhLXRvb2x0aXBdLnRvb2x0aXAtd2FybmluZzphZnRlcntjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6I2ZmOTgwMH1bZGF0YS10b29sdGlwXS50b29sdGlwLWVycm9yOmFmdGVye2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojZjQ0MzM2fS5pe3Bvc2l0aW9uOnJlbGF0aXZlO3RvcDouMDYyNWVtO3dpZHRoOi43NXJlbTtoZWlnaHQ6Ljc1cmVtO2ZpbGw6bm9uZTtmb250LXNpemU6aW5oZXJpdDtzdHJva2U6Y3VycmVudENvbG9yO3N0cm9rZS13aWR0aDo0cHg7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kfS5pLW1lZGl1bSAuaSwuaS5pLW1lZGl1bXt3aWR0aDoxLjVyZW07aGVpZ2h0OjEuNXJlbTtzdHJva2Utd2lkdGg6MnB4fS5pLWxhcmdlIC5pLC5pLmktbGFyZ2V7d2lkdGg6MnJlbTtoZWlnaHQ6MnJlbTtzdHJva2Utd2lkdGg6MnB4fWRldGFpbHN7bWFyZ2luLWJvdHRvbToxcmVtfXN1bW1hcnl7b3V0bGluZTpub25lfXN1bW1hcnk6aG92ZXJ7Y3Vyc29yOnBvaW50ZXJ9ZGV0YWlsczpub3QoLmNhcmQpe3BhZGRpbmctbGVmdDoxcmVtfWRldGFpbHM6bm90KC5jYXJkKSBzdW1tYXJ5e21hcmdpbi1ib3R0b206MXJlbTttYXJnaW4tbGVmdDotMXJlbX1kZXRhaWxzOm5vdCguY2FyZCkgc3VtbWFyeTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNmNWY1ZjU7Ym94LXNoYWRvdzotMC41cmVtIC0wLjFyZW0gMCAwLjVyZW0gI2Y1ZjVmNX1kZXRhaWxzLmNhcmQgc3VtbWFyeTo6LXdlYmtpdC1kZXRhaWxzLW1hcmtlcntkaXNwbGF5Om5vbmV9ZGV0YWlscy5jYXJkIHN1bW1hcnk6OmJlZm9yZXtjb250ZW50OifilrYnO2Zsb2F0OmxlZnQ7cGFkZGluZy1yaWdodDouNzVyZW07Y29sb3I6IzllOWU5ZX1kZXRhaWxzLmNhcmRbb3Blbl0gc3VtbWFyeTo6YmVmb3Jle2NvbnRlbnQ6J+KWvCd9LmRyb3B6b25le2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtoZWlnaHQ6OXJlbTtwYWRkaW5nOjFyZW07Ym9yZGVyOjJweCBkYXNoZWQgI2UwZTBlMDt0ZXh0LWFsaWduOmNlbnRlcjtjb2xvcjojYmRiZGJkO2N1cnNvcjpwb2ludGVyfS5kcm9wem9uZS5hY3RpdmUsLmRyb3B6b25lLnJlamVjdGVke2NvbG9yOiM5ZTllOWV9LmRyb3B6b25lLmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOiNmYWZhZmF9LmRyb3B6b25lLnJlamVjdGVke2JhY2tncm91bmQtY29sb3I6I2ZmZWJlZX1jb2Rle3BhZGRpbmc6LjI1ZW0gLjI1ZW0gLjEyNWVtO2JvcmRlci1yYWRpdXM6MnB4O2JhY2tncm91bmQtY29sb3I6I2Y1ZjVmNX1zYW1we2Rpc3BsYXk6aW5saW5lLWJsb2NrO21hcmdpbi10b3A6LTNweDtwYWRkaW5nOjFweCAuMjVlbSAwO2JhY2tncm91bmQtY29sb3I6I2ZhZmFmYX1wcmV7cGFkZGluZzpjYWxjKC43NXJlbSAtIDFweCkgMXJlbX1zYW1wLHByZXtib3JkZXI6MXB4IHNvbGlkICNlMGUwZTA7Ym9yZGVyLXJhZGl1czoycHg7d2hpdGUtc3BhY2U6cHJlLXdyYXA7d29yZC13cmFwOmJyZWFrLXdvcmQ7d29yZC1icmVhazpicmVhay1hbGw7cGFnZS1icmVhay1pbnNpZGU6YXZvaWR9c2FtcC5zY3JvbGwscHJlLnNjcm9sbHtvdmVyZmxvdzphdXRvO3doaXRlLXNwYWNlOnByZX1wcmUgY29kZXtwYWRkaW5nOjA7Y29sb3I6aW5oZXJpdDtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fWEsLmxpc3QtZ3JvdXAgYnV0dG9uOm5vdCguYnRuKXtjdXJzb3I6cG9pbnRlcjtjb2xvcjojMjE5NmYzO3RleHQtZGVjb3JhdGlvbjpub25lfWE6aG92ZXIsLmxpc3QtZ3JvdXAgYnV0dG9uOmhvdmVyOm5vdCguYnRuKXtjb2xvcjojMTk3NmQyO3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmV9aW1ne21heC13aWR0aDoxMDAlfWltZy5mdWxsLXdpZHRoe2Rpc3BsYXk6YmxvY2t9ZmlndXJle21hcmdpbjowfWZpZ3VyZSBpbWd7d2lkdGg6MTAwJX1maWdjYXB0aW9ue3RleHQtYWxpZ246Y2VudGVyO2NvbG9yOiM5ZTllOWV9YmxvY2txdW90ZXtvdmVyZmxvdzpoaWRkZW47cGFkZGluZy1sZWZ0OjFyZW07Ym9yZGVyLWxlZnQ6MC4yNXJlbSBzb2xpZCAjZTBlMGUwfWJsb2NrcXVvdGU+KjpsYXN0LWNoaWxke21hcmdpbi1ib3R0b206MH1jaXRle2Zsb2F0OnJpZ2h0O2NvbG9yOiM5ZTllOWV9Y2l0ZTpiZWZvcmV7Y29udGVudDpcIuKAkyBcIn1tYXJre2JveC1kZWNvcmF0aW9uLWJyZWFrOmNsb25lO2JhY2tncm91bmQtY29sb3I6I2ZmZjU5ZDtib3gtc2hhZG93OjAgLTFweCAwIDNweCAjZmZmNTlkfW1hcmsgbWFya3tiYWNrZ3JvdW5kLWNvbG9yOiNmZGQ4MzU7Ym94LXNoYWRvdzowIC0xcHggMCAzcHggI2ZkZDgzNX1tYXJrIHNhbXAsbWFyayBrYmQsbWFyayBjb2Rle2JhY2tncm91bmQtY29sb3I6I2ZmZmRlN31hYmJyW3RpdGxlXXt0ZXh0LWRlY29yYXRpb246bm9uZTtib3JkZXItYm90dG9tOjJweCBkYXNoZWQgI2UwZTBlMH1rYmR7ZGlzcGxheTppbmxpbmUtYmxvY2s7cGFkZGluZzouMWVtIC40ZW0gMDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7Y29sb3I6IzQyNDI0Mjtib3JkZXI6c29saWQgMXB4ICNlZWU7Ym9yZGVyLWJvdHRvbS1jb2xvcjojZTBlMGUwO2JvcmRlci1yYWRpdXM6M3B4O2JhY2tncm91bmQtY29sb3I6I2ZhZmFmYTtib3gtc2hhZG93Omluc2V0IDAgLTFweCAwICNlMGUwZTA7Zm9udC1zaXplOi45ZW19LmZvb3Rub3Rlc3twYWRkaW5nLXRvcDozcmVtO21hcmdpbi10b3A6MS41cmVtfS5uYXJyb3d7cGFkZGluZzowICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIWltcG9ydGFudH0uaW5uZXJ7cGFkZGluZzouNXJlbSAuNzVyZW0gLjI1cmVtICAgICAgICAgICAgICFpbXBvcnRhbnR9LmlubmVyLXdpZGV7cGFkZGluZzoxcmVtIDFyZW0gLjc1cmVtICAgICAgICAgICAhaW1wb3J0YW50fS5wLXQtMHtwYWRkaW5nLXRvcDowICAgICAgICAgICAgICAgICAgICAgICAgICAgIWltcG9ydGFudH0ucC10LTF7cGFkZGluZy10b3A6MS41cmVtICAgICAgICAgICAgICAgICAgICAgICFpbXBvcnRhbnR9LnAtdC0ye3BhZGRpbmctdG9wOjMuMHJlbSAgICAgICAgICAgICAgICAgICAgICAhaW1wb3J0YW50fS5wLXQtM3twYWRkaW5nLXRvcDo0LjVyZW0gICAgICAgICAgICAgICAgICAgICAgIWltcG9ydGFudH0ucC1iLTB7cGFkZGluZy1ib3R0b206MCAgICAgICAgICAgICAgICAgICAgICAgICFpbXBvcnRhbnR9LnAtYi0xe3BhZGRpbmctYm90dG9tOjEuNXJlbSAgICAgICAgICAgICAgICAgICAhaW1wb3J0YW50fS5wLWItMntwYWRkaW5nLWJvdHRvbTozLjByZW0gICAgICAgICAgICAgICAgICAgIWltcG9ydGFudH0ucC1iLTN7cGFkZGluZy1ib3R0b206NC41cmVtICAgICAgICAgICAgICAgICAgICFpbXBvcnRhbnR9Lm0tdC0we21hcmdpbi10b3A6MCAgICAgICAgICAgICAgICAgICAgICAgICAgICAhaW1wb3J0YW50fS5tLXQtMXttYXJnaW4tdG9wOjEuNXJlbSAgICAgICAgICAgICAgICAgICAgICAgIWltcG9ydGFudH0ubS10LTJ7bWFyZ2luLXRvcDozLjByZW0gICAgICAgICAgICAgICAgICAgICAgICFpbXBvcnRhbnR9Lm0tdC0ze21hcmdpbi10b3A6NC41cmVtICAgICAgICAgICAgICAgICAgICAgICAhaW1wb3J0YW50fS5tLWItMHttYXJnaW4tYm90dG9tOjAgICAgICAgICAgICAgICAgICAgICAgICAgIWltcG9ydGFudH0ubS1iLTF7bWFyZ2luLWJvdHRvbToxLjVyZW0gICAgICAgICAgICAgICAgICAgICFpbXBvcnRhbnR9Lm0tYi0ye21hcmdpbi1ib3R0b206My4wcmVtICAgICAgICAgICAgICAgICAgICAhaW1wb3J0YW50fS5tLWItM3ttYXJnaW4tYm90dG9tOjQuNXJlbSAgICAgICAgICAgICAgICAgICAgIWltcG9ydGFudH0ucHVsbC1sZWZ0e2Zsb2F0OmxlZnQgICAgICAgICAgICAgICAgICAgICAgICAgICFpbXBvcnRhbnR9LnB1bGwtcmlnaHR7ZmxvYXQ6cmlnaHQgICAgICAgICAgICAgICAgICAgICAgICAhaW1wb3J0YW50fS5mdWxsLXdpZHRoe3dpZHRoOjEwMCUgICAgICAgICAgICAgICAgICAgICAgICAgIWltcG9ydGFudH0uYmxvY2t7ZGlzcGxheTpibG9jayAgICAgICAgICAgICAgICAgICAgICAgICAgICFpbXBvcnRhbnR9LmludmlzaWJsZXt2aXNpYmlsaXR5OmhpZGRlbiAgICAgICAgICAgICAgICAgICAhaW1wb3J0YW50fS5oaWRkZW57ZGlzcGxheTpub25lICAgICAgICAgICAgICAgICAgICAgICAgICAgIWltcG9ydGFudH0uaGlkZS10ZXh0e2ZvbnQ6MC8wIGE7Y29sb3I6dHJhbnNwYXJlbnQ7dGV4dC1zaGFkb3c6bm9uZTtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2JvcmRlcjowfUBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4cmVtKXsuaGlkZGVuLWlmLWxhcmdle2Rpc3BsYXk6bm9uZSAgICAgICAgICAgICAgICAhaW1wb3J0YW50fX1AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0OHJlbSl7LmhpZGRlbi1pZi1tZWRpdW17ZGlzcGxheTpub25lICAgICAgICAgICAgICAgIWltcG9ydGFudH19QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzByZW0pey5oaWRkZW4taWYtc21hbGx7ZGlzcGxheTpub25lICAgICAgICAgICAgICAgICFpbXBvcnRhbnR9fS5sZWFke21hcmdpbi1ib3R0b206MS41cmVtO2ZvbnQtc2l6ZToxLjI1ZW07bGluZS1oZWlnaHQ6MS4yZW19LnRydW5jYXRle292ZXJmbG93OmhpZGRlbjt3aGl0ZS1zcGFjZTpub3dyYXA7dGV4dC1vdmVyZmxvdzplbGxpcHNpc30udGV4dC1sZWZ0e3RleHQtYWxpZ246bGVmdH0udGV4dC1jZW50ZXJ7dGV4dC1hbGlnbjpjZW50ZXJ9LnRleHQtcmlnaHR7dGV4dC1hbGlnbjpyaWdodH0udGV4dC1ib2xke2ZvbnQtd2VpZ2h0OmJvbGR9LnRleHQtaXRhbGlje2ZvbnQtc3R5bGU6aXRhbGljfS5iZy1tdXRlZHtiYWNrZ3JvdW5kLWNvbG9yOiNmNWY1ZjUgIWltcG9ydGFudH0uYmctYWN0aXZle2JhY2tncm91bmQtY29sb3I6I2JiZGVmYiAhaW1wb3J0YW50fS5iZy1zdWNjZXNze2JhY2tncm91bmQtY29sb3I6I2M4ZTZjOSAhaW1wb3J0YW50fS5iZy1pbmZve2JhY2tncm91bmQtY29sb3I6I2IyZWJmMiAhaW1wb3J0YW50fS5iZy13YXJuaW5ne2JhY2tncm91bmQtY29sb3I6I2ZmZTBiMiAhaW1wb3J0YW50fS5iZy1lcnJvcntiYWNrZ3JvdW5kLWNvbG9yOiNmZmNkZDIgIWltcG9ydGFudH0udGV4dC1tdXRlZHtjb2xvcjojOWU5ZTllfS50ZXh0LXByaW1hcnl7Y29sb3I6IzIxOTZmM30udGV4dC1zdWNjZXNze2NvbG9yOiM0Y2FmNTB9LnRleHQtaW5mb3tjb2xvcjojMDBiY2Q0fS50ZXh0LXdhcm5pbmd7Y29sb3I6I2ZmOTgwMH0udGV4dC1lcnJvcntjb2xvcjojZjQ0MzM2fS5oaWdobGlnaHQgLmhsbHtiYWNrZ3JvdW5kLWNvbG9yOiNmZmN9LmhpZ2hsaWdodCAuY3tjb2xvcjojOTk5fS5oaWdobGlnaHQgLmVycntjb2xvcjojYTAwO2JhY2tncm91bmQtY29sb3I6I2ZhYX0uaGlnaGxpZ2h0IC5re2NvbG9yOiMwNjl9LmhpZ2hsaWdodCAub3tjb2xvcjojNTU1fS5oaWdobGlnaHQgLmNte2NvbG9yOiMwOWY7Zm9udC1zdHlsZTppdGFsaWN9LmhpZ2hsaWdodCAuY3B7Y29sb3I6IzA5OX0uaGlnaGxpZ2h0IC5jMXtjb2xvcjojOTk5fS5oaWdobGlnaHQgLmNze2NvbG9yOiM5OTl9LmhpZ2hsaWdodCAuZ2R7YmFja2dyb3VuZC1jb2xvcjojZmNjO2JvcmRlcjoxcHggc29saWQgI2MwMH0uaGlnaGxpZ2h0IC5nZXtmb250LXN0eWxlOml0YWxpY30uaGlnaGxpZ2h0IC5ncntjb2xvcjpyZWR9LmhpZ2hsaWdodCAuZ2h7Y29sb3I6IzAzMH0uaGlnaGxpZ2h0IC5naXtiYWNrZ3JvdW5kLWNvbG9yOiNjZmM7Ym9yZGVyOjFweCBzb2xpZCAjMGMwfS5oaWdobGlnaHQgLmdve2NvbG9yOiNhYWF9LmhpZ2hsaWdodCAuZ3B7Y29sb3I6IzAwOX0uaGlnaGxpZ2h0IC5ndXtjb2xvcjojMDMwfS5oaWdobGlnaHQgLmd0e2NvbG9yOiM5YzZ9LmhpZ2hsaWdodCAua2N7Y29sb3I6IzA2OX0uaGlnaGxpZ2h0IC5rZHtjb2xvcjojMDY5fS5oaWdobGlnaHQgLmtue2NvbG9yOiMwNjl9LmhpZ2hsaWdodCAua3B7Y29sb3I6IzA2OX0uaGlnaGxpZ2h0IC5rcntjb2xvcjojMDY5fS5oaWdobGlnaHQgLmt0e2NvbG9yOiMwNzh9LmhpZ2hsaWdodCAubXtjb2xvcjojZjYwfS5oaWdobGlnaHQgLnN7Y29sb3I6I2Q0NDk1MH0uaGlnaGxpZ2h0IC5uYXtjb2xvcjojNGY5ZmNmfS5oaWdobGlnaHQgLm5ie2NvbG9yOiMzNjZ9LmhpZ2hsaWdodCAubmN7Y29sb3I6IzBhOH0uaGlnaGxpZ2h0IC5ub3tjb2xvcjojMzYwfS5oaWdobGlnaHQgLm5ke2NvbG9yOiM5OWZ9LmhpZ2hsaWdodCAubml7Y29sb3I6Izk5OX0uaGlnaGxpZ2h0IC5uZXtjb2xvcjojYzAwfS5oaWdobGlnaHQgLm5me2NvbG9yOiNjMGZ9LmhpZ2hsaWdodCAubmx7Y29sb3I6Izk5Zn0uaGlnaGxpZ2h0IC5ubntjb2xvcjojMGNmfS5oaWdobGlnaHQgLm50e2NvbG9yOiMyZjZmOWZ9LmhpZ2hsaWdodCAubnZ7Y29sb3I6IzAzM30uaGlnaGxpZ2h0IC5vd3tjb2xvcjojMDAwfS5oaWdobGlnaHQgLnd7Y29sb3I6I2JiYn0uaGlnaGxpZ2h0IC5tZntjb2xvcjojZjYwfS5oaWdobGlnaHQgLm1oe2NvbG9yOiNmNjB9LmhpZ2hsaWdodCAubWl7Y29sb3I6I2Y2MH0uaGlnaGxpZ2h0IC5tb3tjb2xvcjojZjYwfS5oaWdobGlnaHQgLnNie2NvbG9yOiNjMzB9LmhpZ2hsaWdodCAuc2N7Y29sb3I6I2MzMH0uaGlnaGxpZ2h0IC5zZHtjb2xvcjojYzMwO2ZvbnQtc3R5bGU6aXRhbGljfS5oaWdobGlnaHQgLnMye2NvbG9yOiNjMzB9LmhpZ2hsaWdodCAuc2V7Y29sb3I6I2MzMH0uaGlnaGxpZ2h0IC5zaHtjb2xvcjojYzMwfS5oaWdobGlnaHQgLnNpe2NvbG9yOiNhMDB9LmhpZ2hsaWdodCAuc3h7Y29sb3I6I2MzMH0uaGlnaGxpZ2h0IC5zcntjb2xvcjojM2FhfS5oaWdobGlnaHQgLnMxe2NvbG9yOiNjMzB9LmhpZ2hsaWdodCAuc3N7Y29sb3I6I2ZjM30uaGlnaGxpZ2h0IC5icHtjb2xvcjojMzY2fS5oaWdobGlnaHQgLnZje2NvbG9yOiMwMzN9LmhpZ2hsaWdodCAudmd7Y29sb3I6IzAzM30uaGlnaGxpZ2h0IC52aXtjb2xvcjojMDMzfS5oaWdobGlnaHQgLmlse2NvbG9yOiNmNjB9QG1lZGlhIHByaW50e2h0bWwsYnV0dG9uLGlucHV0LG9wdGdyb3VwLHNlbGVjdCx0ZXh0YXJlYXtmb250LXNpemU6MTRweDtsaW5lLWhlaWdodDoxLjE1O3RleHQtc2l6ZS1hZGp1c3Q6MTAwJTstd2Via2l0LWZvbnQtc21vb3RoaW5nOmFudGlhbGlhc2VkOy1tb3otb3N4LWZvbnQtc21vb3RoaW5nOmdyYXlzY2FsZTt0ZXh0LXJlbmRlcmluZzpvcHRpbWl6ZUxlZ2liaWxpdHl9aDE6YmVmb3JlLGgyOmJlZm9yZSxoMzpiZWZvcmUsaDQ6YmVmb3JlLGg1OmJlZm9yZSxoNjpiZWZvcmV7ZGlzcGxheTpub25lfSosKjpiZWZvcmUsKjphZnRlciwqOmZpcnN0LWxldHRlcixwOmZpcnN0LWxpbmUsZGl2OmZpcnN0LWxpbmUsYmxvY2txdW90ZTpmaXJzdC1saW5lLGxpOmZpcnN0LWxpbmV7YmFja2dyb3VuZDp0cmFuc3BhcmVudCAhaW1wb3J0YW50O2NvbG9yOiMwMDAgIWltcG9ydGFudDtib3gtc2hhZG93Om5vbmUgIWltcG9ydGFudDt0ZXh0LXNoYWRvdzpub25lICFpbXBvcnRhbnR9YVtocmVmXTphZnRlciwubGlzdC1ncm91cCBidXR0b25baHJlZl06bm90KC5idG4pOmFmdGVye2NvbnRlbnQ6XCIgKFwiIGF0dHIoaHJlZikgXCIpXCJ9YWJiclt0aXRsZV06YWZ0ZXJ7Y29udGVudDpcIiAoXCIgYXR0cih0aXRsZSkgXCIpXCJ9LmJ0bntib3JkZXI6MXB4IHNvbGlkICMwMDB9Lm5vLXByaW50e2Rpc3BsYXk6bm9uZSAhaW1wb3J0YW50fX1cbiJdfQ== */ \ No newline at end of file diff --git a/data/foo.htm b/data/foo.htm new file mode 100644 index 0000000..a1bd0e3 --- /dev/null +++ b/data/foo.htm @@ -0,0 +1,7 @@ + + + + + Hi there foo! + + diff --git a/data/index.htm b/data/index.htm new file mode 100644 index 0000000..2d8e2d8 --- /dev/null +++ b/data/index.htm @@ -0,0 +1,387 @@ + + + + + + + a2idiot + + + + + +
+ +
+ apple2idiot + +

Stuff

+ +

Lead ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

+ +

+ Lorem ipsum dolor sit amet adipisicing elit, sed do eiusmod italic incididunt ut bold et dolore magna aliqua. Ut enim ad highlight minim veniam, deletion quis nostrud exercitation insertation ullamco laboris underlined nisi ut aliquip ex small ea commodo consequat abbr. Duis aute irure dolor in reprehenderit + Space + in voluptate velit esse cillum dolore eu fugiat nulla pariatur. +Excepteur sint occaecat cupidatat non proident, sunt in culpa qui +officia deserunt mollit anim id est laborum.1 +

+ + +
+ +
+ + 10 P=49312 + 20 FOR N=P TO P+15 + 30 PRINT N,PEEK(N) + 40 NEXT N + +
+ +
+ +

IDT7132 RAM

+ +
+
+ + + + + + + + + %RAM_TABLE% + +
ADDRESSDATA
+
+ + +

List Group

+ +
+
+
    +
  • Cras justo odio
  • +
  • DISABLED
  • +
  • Morbi leo risus Tag
  • +
  • ACTIVE
  • +
  • Porta ac consectetur
  • +
+
+ +
+
+ + + + + +
+
+
+ + +

Progress bar

+ +
+
+

+

+
50kb / 125kb
+
+

+ +

+

+
20%
+
+

+
+
+ with .narrow +
+
+
+
+
+ +
+
+
+
+
+ +
+
+
+
+
+
+
+ + +

Cards

+ +

+

+
TITLE
+
+ Lorem ipsum dolor sit amet, consectetur adipisicing +elit. Expedita, quas ex vero enim in doloribus officiis ullam vel nam +esse sapiente velit incidunt. Eaque quod et, aut maiores excepturi sint. +
+
+

+ +
+
+
+
in grid
+
+ Lorem ipsum dolor sit amet, consectetur adipisicing + elit. Expedita, quas ex vero enim in doloribus officiis ullam vel nam +esse sapiente velit incidunt. Eaque quod et, aut maiores excepturi sint. +
+
+
+
+
+
with list group
+
+ Cras justo odio + Dapibus ac facilisis in + Morbi leo risus + Vestibulum at eros + Porta ac consectetur +
+
+
+
+
+
with image
+ Image +
and a second body
+
echo "and a third"
+
+
+
+ + +

Alerts

+ +
+

Default message

+

Info message

+

Warning message

+

Success message

+

Error message

+
+ + +

Details & Summary

+ +
+ Hidden Text Sample +

Lorem ipsum dolor sit amet, consectetur adipisicing elit. +Voluptatum molestiae et dicta, vero alias ab tempore obcaecati tempora +odit voluptates. Eum inventore omnis, ullam rerum tenetur optio quasi a +totam!

+
+ +
+ Hidden Code Sample + $ time sleep 3
3.00 real 0.00 user 0.00 sys
$ exit
+
+ +

Toggleable Cards

+ +
+ Card Header +
+ Lorem ipsum dolor sit amet, consectetur adipisicing elit. + Expedita, quas ex vero enim in doloribus officiis ullam vel nam esse +sapiente velit incidunt. Eaque quod et, aut maiores excepturi sint. +
+ $ time sleep 3
3.00 real 0.00 user 0.00 sys
$ exit
+
+ + +

Basic

+ +

Use .container to centralize the main content.

+ +

Use .site-header, .site-main and .site-footer for the main sectioning elements.

+ +

.site-header contains .site-nav which is not responsive by default but can be appended by .responsive-nav to collapse and show a hamburger icon on smaller screens. It can carry .responsive-nav-animated to add a sliding animation to the nav.

+ + +

Grid

+ +
+ +
+
+
space
+
can be
+
flexibly
+
distributed
+
+
+ +
+
+
or
+
fixed
+
4
+
+
+ +
+
+
4
+
8
+
+
+ +
+
1
+
1
+
1
+
1
+
1
+
1
+
1
+
1
+
1
+
1
+
1
+
1
+
+ +
+ +

Inline Grid

+ +
+ + + take the size they need +
+ + +

Modifiers

+ +
+
+

.grid modifiers

+
    +
  • To change spacing use grid-narrow or grid-wide
  • +
+
    +
  • To align items with align-items use +
      +
    • grid-top: To top
    • +
    • grid-middle: To middle
    • +
    • grid-bottom: To bottom
    • +
    • grid-stretch: Stretch items
    • +
    • grid-baseline: To baseline
    • +
    +
  • +
+
    +
  • To layout contents with justify-content use +
      +
    • grid-left: To left
    • +
    • grid-center: To center
    • +
    • grid-right: To right
    • +
    • grid-between: Add spaces between items
    • +
    • grid-around: Add spaces around items
    • +
    +
  • +
+
+
+

.cell modifiers

+
    +
  • grid-top: To top
  • +
  • grid-middle: To middle
  • +
  • grid-bottom: To bottom
  • +
+
    +
  • cell-1: Set item width to 8.3% of parent
  • +
  • cell-2: Set item width to 16.7% of parent
  • +
  • cell-3: Set item width to 25% of parent
  • +
  • cell-4: Set item width to 33% of parent
  • +
  • cell-5: Set item width to 41.7% of parent
  • +
  • cell-6: Set item width to 50% of parent
  • +
  • cell-7: Set item width to 58.3% of parent
  • +
  • cell-8: Set item width to 66.7% of parent
  • +
  • cell-9: Set item width to 75% of parent
  • +
  • cell-10: Set item width to 83.3% of parent
  • +
  • cell-11: Set item width to 91.7% of parent
  • +
  • cell-12: Set item width to 100% of parent
  • +
+
+
+ +
+
    +
  1. +

    Example footnote text.

    +
  2. +
+
+ +
+ + + +
+ + + + + + + diff --git a/data/ram.htm b/data/ram.htm new file mode 100644 index 0000000..99f62cf --- /dev/null +++ b/data/ram.htm @@ -0,0 +1,57 @@ + + + + + + + a2idiot + + + + + +
+ +
+ apple2idiot + +

IDT7132 RAM

+ +

Inline Form

+ +
+ + + + +
+ +

Memory Map

+ +
+
+ + + + + + + + + %RAM_TABLE% + +
ADDRESSDATA
+
+ + + diff --git a/media/pulseview_devsel-cropped.png b/media/pulseview_devsel-cropped.png new file mode 100644 index 0000000..9f9bf3f Binary files /dev/null and b/media/pulseview_devsel-cropped.png differ diff --git a/notes.md b/notes.md index c11d0fd..c0c9a8c 100644 --- a/notes.md +++ b/notes.md @@ -15,3 +15,14 @@ * See: https://esp32.com/viewtopic.php?t=422 * See: https://docs.espressif.com/projects/esp ... rupts.html * components/esp_system/port/soc/esp32/dport_panic_highint_hdl.S + +## Python binar/hex/dec manipulation + +``` +In [11]: format(10, '016b') +Out[11]: '0000000000001010' + +bin(10) +``` + +