(kicad_sch (version 20230121) (generator eeschema)

  (uuid 1717a0d8-8be8-47e4-bcc2-c0169f9822b1)

  (paper "A3")

  (lib_symbols
    (symbol "74xx:74HC14" (pin_names (offset 1.016)) (in_bom yes) (on_board yes)
      (property "Reference" "U" (at 0 1.27 0)
        (effects (font (size 1.27 1.27)))
      )
      (property "Value" "74HC14" (at 0 -1.27 0)
        (effects (font (size 1.27 1.27)))
      )
      (property "Footprint" "" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "Datasheet" "http://www.ti.com/lit/gpn/sn74HC14" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_locked" "" (at 0 0 0)
        (effects (font (size 1.27 1.27)))
      )
      (property "ki_keywords" "HCMOS not inverter" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_description" "Hex inverter schmitt trigger" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_fp_filters" "DIP*W7.62mm*" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (symbol "74HC14_1_0"
        (polyline
          (pts
            (xy -3.81 3.81)
            (xy -3.81 -3.81)
            (xy 3.81 0)
            (xy -3.81 3.81)
          )
          (stroke (width 0.254) (type default))
          (fill (type background))
        )
        (pin input line (at -7.62 0 0) (length 3.81)
          (name "~" (effects (font (size 1.27 1.27))))
          (number "1" (effects (font (size 1.27 1.27))))
        )
        (pin output inverted (at 7.62 0 180) (length 3.81)
          (name "~" (effects (font (size 1.27 1.27))))
          (number "2" (effects (font (size 1.27 1.27))))
        )
      )
      (symbol "74HC14_1_1"
        (polyline
          (pts
            (xy -1.905 -1.27)
            (xy -1.905 1.27)
            (xy -0.635 1.27)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy -2.54 -1.27)
            (xy -0.635 -1.27)
            (xy -0.635 1.27)
            (xy 0 1.27)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
      )
      (symbol "74HC14_2_0"
        (polyline
          (pts
            (xy -3.81 3.81)
            (xy -3.81 -3.81)
            (xy 3.81 0)
            (xy -3.81 3.81)
          )
          (stroke (width 0.254) (type default))
          (fill (type background))
        )
        (pin input line (at -7.62 0 0) (length 3.81)
          (name "~" (effects (font (size 1.27 1.27))))
          (number "3" (effects (font (size 1.27 1.27))))
        )
        (pin output inverted (at 7.62 0 180) (length 3.81)
          (name "~" (effects (font (size 1.27 1.27))))
          (number "4" (effects (font (size 1.27 1.27))))
        )
      )
      (symbol "74HC14_2_1"
        (polyline
          (pts
            (xy -1.905 -1.27)
            (xy -1.905 1.27)
            (xy -0.635 1.27)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy -2.54 -1.27)
            (xy -0.635 -1.27)
            (xy -0.635 1.27)
            (xy 0 1.27)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
      )
      (symbol "74HC14_3_0"
        (polyline
          (pts
            (xy -3.81 3.81)
            (xy -3.81 -3.81)
            (xy 3.81 0)
            (xy -3.81 3.81)
          )
          (stroke (width 0.254) (type default))
          (fill (type background))
        )
        (pin input line (at -7.62 0 0) (length 3.81)
          (name "~" (effects (font (size 1.27 1.27))))
          (number "5" (effects (font (size 1.27 1.27))))
        )
        (pin output inverted (at 7.62 0 180) (length 3.81)
          (name "~" (effects (font (size 1.27 1.27))))
          (number "6" (effects (font (size 1.27 1.27))))
        )
      )
      (symbol "74HC14_3_1"
        (polyline
          (pts
            (xy -1.905 -1.27)
            (xy -1.905 1.27)
            (xy -0.635 1.27)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy -2.54 -1.27)
            (xy -0.635 -1.27)
            (xy -0.635 1.27)
            (xy 0 1.27)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
      )
      (symbol "74HC14_4_0"
        (polyline
          (pts
            (xy -3.81 3.81)
            (xy -3.81 -3.81)
            (xy 3.81 0)
            (xy -3.81 3.81)
          )
          (stroke (width 0.254) (type default))
          (fill (type background))
        )
        (pin output inverted (at 7.62 0 180) (length 3.81)
          (name "~" (effects (font (size 1.27 1.27))))
          (number "8" (effects (font (size 1.27 1.27))))
        )
        (pin input line (at -7.62 0 0) (length 3.81)
          (name "~" (effects (font (size 1.27 1.27))))
          (number "9" (effects (font (size 1.27 1.27))))
        )
      )
      (symbol "74HC14_4_1"
        (polyline
          (pts
            (xy -1.905 -1.27)
            (xy -1.905 1.27)
            (xy -0.635 1.27)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy -2.54 -1.27)
            (xy -0.635 -1.27)
            (xy -0.635 1.27)
            (xy 0 1.27)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
      )
      (symbol "74HC14_5_0"
        (polyline
          (pts
            (xy -3.81 3.81)
            (xy -3.81 -3.81)
            (xy 3.81 0)
            (xy -3.81 3.81)
          )
          (stroke (width 0.254) (type default))
          (fill (type background))
        )
        (pin output inverted (at 7.62 0 180) (length 3.81)
          (name "~" (effects (font (size 1.27 1.27))))
          (number "10" (effects (font (size 1.27 1.27))))
        )
        (pin input line (at -7.62 0 0) (length 3.81)
          (name "~" (effects (font (size 1.27 1.27))))
          (number "11" (effects (font (size 1.27 1.27))))
        )
      )
      (symbol "74HC14_5_1"
        (polyline
          (pts
            (xy -1.905 -1.27)
            (xy -1.905 1.27)
            (xy -0.635 1.27)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy -2.54 -1.27)
            (xy -0.635 -1.27)
            (xy -0.635 1.27)
            (xy 0 1.27)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
      )
      (symbol "74HC14_6_0"
        (polyline
          (pts
            (xy -3.81 3.81)
            (xy -3.81 -3.81)
            (xy 3.81 0)
            (xy -3.81 3.81)
          )
          (stroke (width 0.254) (type default))
          (fill (type background))
        )
        (pin output inverted (at 7.62 0 180) (length 3.81)
          (name "~" (effects (font (size 1.27 1.27))))
          (number "12" (effects (font (size 1.27 1.27))))
        )
        (pin input line (at -7.62 0 0) (length 3.81)
          (name "~" (effects (font (size 1.27 1.27))))
          (number "13" (effects (font (size 1.27 1.27))))
        )
      )
      (symbol "74HC14_6_1"
        (polyline
          (pts
            (xy -1.905 -1.27)
            (xy -1.905 1.27)
            (xy -0.635 1.27)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy -2.54 -1.27)
            (xy -0.635 -1.27)
            (xy -0.635 1.27)
            (xy 0 1.27)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
      )
      (symbol "74HC14_7_0"
        (pin power_in line (at 0 12.7 270) (length 5.08)
          (name "VCC" (effects (font (size 1.27 1.27))))
          (number "14" (effects (font (size 1.27 1.27))))
        )
        (pin power_in line (at 0 -12.7 90) (length 5.08)
          (name "GND" (effects (font (size 1.27 1.27))))
          (number "7" (effects (font (size 1.27 1.27))))
        )
      )
      (symbol "74HC14_7_1"
        (rectangle (start -5.08 7.62) (end 5.08 -7.62)
          (stroke (width 0.254) (type default))
          (fill (type background))
        )
      )
    )
    (symbol "Analog_Switch:DG411xJ" (pin_names (offset 0.254)) (in_bom yes) (on_board yes)
      (property "Reference" "U" (at -3.175 5.334 0)
        (effects (font (size 1.27 1.27)) (justify left))
      )
      (property "Value" "DG411xJ" (at -3.175 3.556 0)
        (effects (font (size 1.27 1.27)) (justify left))
      )
      (property "Footprint" "Package_DIP:DIP-16_W7.62mm" (at 0 -2.54 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "Datasheet" "https://datasheets.maximintegrated.com/en/ds/DG411-DG413.pdf" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_keywords" "CMOS Analog Switch" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_description" "Quad SPST Monolithic CMOS Analog Switches, normally ON, 17Ohm Ron, DIP-16" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_fp_filters" "DIP*W7.62mm*" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (symbol "DG411xJ_1_1"
        (rectangle (start -3.81 2.54) (end 3.81 -2.54)
          (stroke (width 0.254) (type default))
          (fill (type background))
        )
        (circle (center -2.159 0) (radius 0.508)
          (stroke (width 0.254) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy -5.08 0)
            (xy -2.794 0)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy -2.54 0.762)
            (xy 2.54 0.762)
          )
          (stroke (width 0.254) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 0 -2.54)
            (xy 0 -2.032)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 0 -1.778)
            (xy 0 -1.524)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 0 -1.27)
            (xy 0 -1.016)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 0 -0.762)
            (xy 0 -0.508)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 0 -0.254)
            (xy 0 0)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 0 0.254)
            (xy 0 0.508)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 5.08 0)
            (xy 2.794 0)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (circle (center 2.159 0) (radius 0.508)
          (stroke (width 0.254) (type default))
          (fill (type none))
        )
        (pin input line (at 0 -5.08 90) (length 2.54)
          (name "~" (effects (font (size 1.27 1.27))))
          (number "1" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at -7.62 0 0) (length 2.54)
          (name "~" (effects (font (size 1.27 1.27))))
          (number "2" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 7.62 0 180) (length 2.54)
          (name "~" (effects (font (size 1.27 1.27))))
          (number "3" (effects (font (size 1.27 1.27))))
        )
      )
      (symbol "DG411xJ_2_1"
        (rectangle (start -3.81 2.54) (end 3.81 -2.54)
          (stroke (width 0.254) (type default))
          (fill (type background))
        )
        (circle (center -2.159 0) (radius 0.508)
          (stroke (width 0.254) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy -5.08 0)
            (xy -2.794 0)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy -2.54 0.762)
            (xy 2.54 0.762)
          )
          (stroke (width 0.254) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 0 -2.54)
            (xy 0 -2.032)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 0 -1.778)
            (xy 0 -1.524)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 0 -1.27)
            (xy 0 -1.016)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 0 -0.762)
            (xy 0 -0.508)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 0 -0.254)
            (xy 0 0)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 0 0.254)
            (xy 0 0.508)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 5.08 0)
            (xy 2.794 0)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (circle (center 2.159 0) (radius 0.508)
          (stroke (width 0.254) (type default))
          (fill (type none))
        )
        (pin passive line (at -7.62 0 0) (length 2.54)
          (name "~" (effects (font (size 1.27 1.27))))
          (number "6" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 7.62 0 180) (length 2.54)
          (name "~" (effects (font (size 1.27 1.27))))
          (number "7" (effects (font (size 1.27 1.27))))
        )
        (pin input line (at 0 -5.08 90) (length 2.54)
          (name "~" (effects (font (size 1.27 1.27))))
          (number "8" (effects (font (size 1.27 1.27))))
        )
      )
      (symbol "DG411xJ_3_1"
        (rectangle (start -3.81 2.54) (end 3.81 -2.54)
          (stroke (width 0.254) (type default))
          (fill (type background))
        )
        (circle (center -2.159 0) (radius 0.508)
          (stroke (width 0.254) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy -5.08 0)
            (xy -2.794 0)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy -2.54 0.762)
            (xy 2.54 0.762)
          )
          (stroke (width 0.254) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 0 -2.54)
            (xy 0 -2.032)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 0 -1.778)
            (xy 0 -1.524)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 0 -1.27)
            (xy 0 -1.016)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 0 -0.762)
            (xy 0 -0.508)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 0 -0.254)
            (xy 0 0)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 0 0.254)
            (xy 0 0.508)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 5.08 0)
            (xy 2.794 0)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (circle (center 2.159 0) (radius 0.508)
          (stroke (width 0.254) (type default))
          (fill (type none))
        )
        (pin passive line (at -7.62 0 0) (length 2.54)
          (name "~" (effects (font (size 1.27 1.27))))
          (number "10" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 7.62 0 180) (length 2.54)
          (name "~" (effects (font (size 1.27 1.27))))
          (number "11" (effects (font (size 1.27 1.27))))
        )
        (pin input line (at 0 -5.08 90) (length 2.54)
          (name "~" (effects (font (size 1.27 1.27))))
          (number "9" (effects (font (size 1.27 1.27))))
        )
      )
      (symbol "DG411xJ_4_1"
        (rectangle (start -3.81 2.54) (end 3.81 -2.54)
          (stroke (width 0.254) (type default))
          (fill (type background))
        )
        (circle (center -2.159 0) (radius 0.508)
          (stroke (width 0.254) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy -5.08 0)
            (xy -2.794 0)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy -2.54 0.762)
            (xy 2.54 0.762)
          )
          (stroke (width 0.254) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 0 -2.54)
            (xy 0 -2.032)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 0 -1.778)
            (xy 0 -1.524)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 0 -1.27)
            (xy 0 -1.016)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 0 -0.762)
            (xy 0 -0.508)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 0 -0.254)
            (xy 0 0)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 0 0.254)
            (xy 0 0.508)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 5.08 0)
            (xy 2.794 0)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (circle (center 2.159 0) (radius 0.508)
          (stroke (width 0.254) (type default))
          (fill (type none))
        )
        (pin passive line (at 7.62 0 180) (length 2.54)
          (name "~" (effects (font (size 1.27 1.27))))
          (number "14" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at -7.62 0 0) (length 2.54)
          (name "~" (effects (font (size 1.27 1.27))))
          (number "15" (effects (font (size 1.27 1.27))))
        )
        (pin input line (at 0 -5.08 90) (length 2.54)
          (name "~" (effects (font (size 1.27 1.27))))
          (number "16" (effects (font (size 1.27 1.27))))
        )
      )
      (symbol "DG411xJ_5_0"
        (pin power_in line (at 2.54 12.7 270) (length 2.54)
          (name "VL" (effects (font (size 1.27 1.27))))
          (number "12" (effects (font (size 1.27 1.27))))
        )
        (pin power_in line (at 0 12.7 270) (length 2.54)
          (name "V+" (effects (font (size 1.27 1.27))))
          (number "13" (effects (font (size 1.27 1.27))))
        )
        (pin power_in line (at 2.54 -12.7 90) (length 2.54)
          (name "V-" (effects (font (size 1.27 1.27))))
          (number "4" (effects (font (size 1.27 1.27))))
        )
        (pin power_in line (at 0 -12.7 90) (length 2.54)
          (name "GND" (effects (font (size 1.27 1.27))))
          (number "5" (effects (font (size 1.27 1.27))))
        )
      )
      (symbol "DG411xJ_5_1"
        (rectangle (start -3.81 10.16) (end 6.35 -10.16)
          (stroke (width 0.254) (type default))
          (fill (type background))
        )
      )
    )
    (symbol "Connector:Conn_01x02_Pin" (pin_names (offset 1.016) hide) (in_bom yes) (on_board yes)
      (property "Reference" "J" (at 0 2.54 0)
        (effects (font (size 1.27 1.27)))
      )
      (property "Value" "Conn_01x02_Pin" (at 0 -5.08 0)
        (effects (font (size 1.27 1.27)))
      )
      (property "Footprint" "" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "Datasheet" "~" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_locked" "" (at 0 0 0)
        (effects (font (size 1.27 1.27)))
      )
      (property "ki_keywords" "connector" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_description" "Generic connector, single row, 01x02, script generated" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_fp_filters" "Connector*:*_1x??_*" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (symbol "Conn_01x02_Pin_1_1"
        (polyline
          (pts
            (xy 1.27 -2.54)
            (xy 0.8636 -2.54)
          )
          (stroke (width 0.1524) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 1.27 0)
            (xy 0.8636 0)
          )
          (stroke (width 0.1524) (type default))
          (fill (type none))
        )
        (rectangle (start 0.8636 -2.413) (end 0 -2.667)
          (stroke (width 0.1524) (type default))
          (fill (type outline))
        )
        (rectangle (start 0.8636 0.127) (end 0 -0.127)
          (stroke (width 0.1524) (type default))
          (fill (type outline))
        )
        (pin passive line (at 5.08 0 180) (length 3.81)
          (name "Pin_1" (effects (font (size 1.27 1.27))))
          (number "1" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 5.08 -2.54 180) (length 3.81)
          (name "Pin_2" (effects (font (size 1.27 1.27))))
          (number "2" (effects (font (size 1.27 1.27))))
        )
      )
    )
    (symbol "Connector:Conn_01x04_Pin" (pin_names (offset 1.016) hide) (in_bom yes) (on_board yes)
      (property "Reference" "J" (at 0 5.08 0)
        (effects (font (size 1.27 1.27)))
      )
      (property "Value" "Conn_01x04_Pin" (at 0 -7.62 0)
        (effects (font (size 1.27 1.27)))
      )
      (property "Footprint" "" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "Datasheet" "~" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_locked" "" (at 0 0 0)
        (effects (font (size 1.27 1.27)))
      )
      (property "ki_keywords" "connector" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_description" "Generic connector, single row, 01x04, script generated" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_fp_filters" "Connector*:*_1x??_*" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (symbol "Conn_01x04_Pin_1_1"
        (polyline
          (pts
            (xy 1.27 -5.08)
            (xy 0.8636 -5.08)
          )
          (stroke (width 0.1524) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 1.27 -2.54)
            (xy 0.8636 -2.54)
          )
          (stroke (width 0.1524) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 1.27 0)
            (xy 0.8636 0)
          )
          (stroke (width 0.1524) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 1.27 2.54)
            (xy 0.8636 2.54)
          )
          (stroke (width 0.1524) (type default))
          (fill (type none))
        )
        (rectangle (start 0.8636 -4.953) (end 0 -5.207)
          (stroke (width 0.1524) (type default))
          (fill (type outline))
        )
        (rectangle (start 0.8636 -2.413) (end 0 -2.667)
          (stroke (width 0.1524) (type default))
          (fill (type outline))
        )
        (rectangle (start 0.8636 0.127) (end 0 -0.127)
          (stroke (width 0.1524) (type default))
          (fill (type outline))
        )
        (rectangle (start 0.8636 2.667) (end 0 2.413)
          (stroke (width 0.1524) (type default))
          (fill (type outline))
        )
        (pin passive line (at 5.08 2.54 180) (length 3.81)
          (name "Pin_1" (effects (font (size 1.27 1.27))))
          (number "1" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 5.08 0 180) (length 3.81)
          (name "Pin_2" (effects (font (size 1.27 1.27))))
          (number "2" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 5.08 -2.54 180) (length 3.81)
          (name "Pin_3" (effects (font (size 1.27 1.27))))
          (number "3" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 5.08 -5.08 180) (length 3.81)
          (name "Pin_4" (effects (font (size 1.27 1.27))))
          (number "4" (effects (font (size 1.27 1.27))))
        )
      )
    )
    (symbol "Connector:DE9_Plug_MountingHoles" (pin_names (offset 1.016) hide) (in_bom yes) (on_board yes)
      (property "Reference" "J" (at 0 16.51 0)
        (effects (font (size 1.27 1.27)))
      )
      (property "Value" "DE9_Plug_MountingHoles" (at 0 14.605 0)
        (effects (font (size 1.27 1.27)))
      )
      (property "Footprint" "" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "Datasheet" " ~" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_keywords" "connector plug male D-SUB DB9" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_description" "9-pin male plug pin D-SUB connector, Mounting Hole" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_fp_filters" "DSUB*Male*" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (symbol "DE9_Plug_MountingHoles_0_1"
        (circle (center -1.778 -10.16) (radius 0.762)
          (stroke (width 0) (type default))
          (fill (type outline))
        )
        (circle (center -1.778 -5.08) (radius 0.762)
          (stroke (width 0) (type default))
          (fill (type outline))
        )
        (circle (center -1.778 0) (radius 0.762)
          (stroke (width 0) (type default))
          (fill (type outline))
        )
        (circle (center -1.778 5.08) (radius 0.762)
          (stroke (width 0) (type default))
          (fill (type outline))
        )
        (circle (center -1.778 10.16) (radius 0.762)
          (stroke (width 0) (type default))
          (fill (type outline))
        )
        (polyline
          (pts
            (xy -3.81 -10.16)
            (xy -2.54 -10.16)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy -3.81 -7.62)
            (xy 0.508 -7.62)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy -3.81 -5.08)
            (xy -2.54 -5.08)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy -3.81 -2.54)
            (xy 0.508 -2.54)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy -3.81 0)
            (xy -2.54 0)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy -3.81 2.54)
            (xy 0.508 2.54)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy -3.81 5.08)
            (xy -2.54 5.08)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy -3.81 7.62)
            (xy 0.508 7.62)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy -3.81 10.16)
            (xy -2.54 10.16)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy -3.81 -13.335)
            (xy -3.81 13.335)
            (xy 3.81 9.525)
            (xy 3.81 -9.525)
            (xy -3.81 -13.335)
          )
          (stroke (width 0.254) (type default))
          (fill (type background))
        )
        (circle (center 1.27 -7.62) (radius 0.762)
          (stroke (width 0) (type default))
          (fill (type outline))
        )
        (circle (center 1.27 -2.54) (radius 0.762)
          (stroke (width 0) (type default))
          (fill (type outline))
        )
        (circle (center 1.27 2.54) (radius 0.762)
          (stroke (width 0) (type default))
          (fill (type outline))
        )
        (circle (center 1.27 7.62) (radius 0.762)
          (stroke (width 0) (type default))
          (fill (type outline))
        )
      )
      (symbol "DE9_Plug_MountingHoles_1_1"
        (pin passive line (at 0 -15.24 90) (length 3.81)
          (name "PAD" (effects (font (size 1.27 1.27))))
          (number "0" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at -7.62 -10.16 0) (length 3.81)
          (name "1" (effects (font (size 1.27 1.27))))
          (number "1" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at -7.62 -5.08 0) (length 3.81)
          (name "2" (effects (font (size 1.27 1.27))))
          (number "2" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at -7.62 0 0) (length 3.81)
          (name "3" (effects (font (size 1.27 1.27))))
          (number "3" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at -7.62 5.08 0) (length 3.81)
          (name "4" (effects (font (size 1.27 1.27))))
          (number "4" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at -7.62 10.16 0) (length 3.81)
          (name "5" (effects (font (size 1.27 1.27))))
          (number "5" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at -7.62 -7.62 0) (length 3.81)
          (name "6" (effects (font (size 1.27 1.27))))
          (number "6" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at -7.62 -2.54 0) (length 3.81)
          (name "7" (effects (font (size 1.27 1.27))))
          (number "7" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at -7.62 2.54 0) (length 3.81)
          (name "8" (effects (font (size 1.27 1.27))))
          (number "8" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at -7.62 7.62 0) (length 3.81)
          (name "9" (effects (font (size 1.27 1.27))))
          (number "9" (effects (font (size 1.27 1.27))))
        )
      )
    )
    (symbol "Connector:USB_C_Receptacle" (pin_names (offset 1.016)) (in_bom yes) (on_board yes)
      (property "Reference" "J" (at -10.16 29.21 0)
        (effects (font (size 1.27 1.27)) (justify left))
      )
      (property "Value" "USB_C_Receptacle" (at 10.16 29.21 0)
        (effects (font (size 1.27 1.27)) (justify right))
      )
      (property "Footprint" "" (at 3.81 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "Datasheet" "https://www.usb.org/sites/default/files/documents/usb_type-c.zip" (at 3.81 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_keywords" "usb universal serial bus type-C full-featured" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_description" "USB Full-Featured Type-C Receptacle connector" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_fp_filters" "USB*C*Receptacle*" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (symbol "USB_C_Receptacle_0_0"
        (rectangle (start -0.254 -35.56) (end 0.254 -34.544)
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (rectangle (start 10.16 -32.766) (end 9.144 -33.274)
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (rectangle (start 10.16 -30.226) (end 9.144 -30.734)
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (rectangle (start 10.16 -25.146) (end 9.144 -25.654)
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (rectangle (start 10.16 -22.606) (end 9.144 -23.114)
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (rectangle (start 10.16 -17.526) (end 9.144 -18.034)
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (rectangle (start 10.16 -14.986) (end 9.144 -15.494)
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (rectangle (start 10.16 -9.906) (end 9.144 -10.414)
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (rectangle (start 10.16 -7.366) (end 9.144 -7.874)
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (rectangle (start 10.16 -2.286) (end 9.144 -2.794)
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (rectangle (start 10.16 0.254) (end 9.144 -0.254)
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (rectangle (start 10.16 5.334) (end 9.144 4.826)
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (rectangle (start 10.16 7.874) (end 9.144 7.366)
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (rectangle (start 10.16 10.414) (end 9.144 9.906)
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (rectangle (start 10.16 12.954) (end 9.144 12.446)
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (rectangle (start 10.16 18.034) (end 9.144 17.526)
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (rectangle (start 10.16 20.574) (end 9.144 20.066)
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (rectangle (start 10.16 25.654) (end 9.144 25.146)
          (stroke (width 0) (type default))
          (fill (type none))
        )
      )
      (symbol "USB_C_Receptacle_0_1"
        (rectangle (start -10.16 27.94) (end 10.16 -35.56)
          (stroke (width 0.254) (type default))
          (fill (type background))
        )
        (arc (start -8.89 -3.81) (mid -6.985 -5.7067) (end -5.08 -3.81)
          (stroke (width 0.508) (type default))
          (fill (type none))
        )
        (arc (start -7.62 -3.81) (mid -6.985 -4.4423) (end -6.35 -3.81)
          (stroke (width 0.254) (type default))
          (fill (type none))
        )
        (arc (start -7.62 -3.81) (mid -6.985 -4.4423) (end -6.35 -3.81)
          (stroke (width 0.254) (type default))
          (fill (type outline))
        )
        (rectangle (start -7.62 -3.81) (end -6.35 3.81)
          (stroke (width 0.254) (type default))
          (fill (type outline))
        )
        (arc (start -6.35 3.81) (mid -6.985 4.4423) (end -7.62 3.81)
          (stroke (width 0.254) (type default))
          (fill (type none))
        )
        (arc (start -6.35 3.81) (mid -6.985 4.4423) (end -7.62 3.81)
          (stroke (width 0.254) (type default))
          (fill (type outline))
        )
        (arc (start -5.08 3.81) (mid -6.985 5.7067) (end -8.89 3.81)
          (stroke (width 0.508) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy -8.89 -3.81)
            (xy -8.89 3.81)
          )
          (stroke (width 0.508) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy -5.08 3.81)
            (xy -5.08 -3.81)
          )
          (stroke (width 0.508) (type default))
          (fill (type none))
        )
      )
      (symbol "USB_C_Receptacle_1_1"
        (circle (center -2.54 1.143) (radius 0.635)
          (stroke (width 0.254) (type default))
          (fill (type outline))
        )
        (circle (center 0 -5.842) (radius 1.27)
          (stroke (width 0) (type default))
          (fill (type outline))
        )
        (polyline
          (pts
            (xy 0 -5.842)
            (xy 0 4.318)
          )
          (stroke (width 0.508) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 0 -3.302)
            (xy -2.54 -0.762)
            (xy -2.54 0.508)
          )
          (stroke (width 0.508) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 0 -2.032)
            (xy 2.54 0.508)
            (xy 2.54 1.778)
          )
          (stroke (width 0.508) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy -1.27 4.318)
            (xy 0 6.858)
            (xy 1.27 4.318)
            (xy -1.27 4.318)
          )
          (stroke (width 0.254) (type default))
          (fill (type outline))
        )
        (rectangle (start 1.905 1.778) (end 3.175 3.048)
          (stroke (width 0.254) (type default))
          (fill (type outline))
        )
        (pin passive line (at 0 -40.64 90) (length 5.08)
          (name "GND" (effects (font (size 1.27 1.27))))
          (number "A1" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at 15.24 -15.24 180) (length 5.08)
          (name "RX2-" (effects (font (size 1.27 1.27))))
          (number "A10" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at 15.24 -17.78 180) (length 5.08)
          (name "RX2+" (effects (font (size 1.27 1.27))))
          (number "A11" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 0 -40.64 90) (length 5.08) hide
          (name "GND" (effects (font (size 1.27 1.27))))
          (number "A12" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at 15.24 -10.16 180) (length 5.08)
          (name "TX1+" (effects (font (size 1.27 1.27))))
          (number "A2" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at 15.24 -7.62 180) (length 5.08)
          (name "TX1-" (effects (font (size 1.27 1.27))))
          (number "A3" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 15.24 25.4 180) (length 5.08)
          (name "VBUS" (effects (font (size 1.27 1.27))))
          (number "A4" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at 15.24 20.32 180) (length 5.08)
          (name "CC1" (effects (font (size 1.27 1.27))))
          (number "A5" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at 15.24 7.62 180) (length 5.08)
          (name "D+" (effects (font (size 1.27 1.27))))
          (number "A6" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at 15.24 12.7 180) (length 5.08)
          (name "D-" (effects (font (size 1.27 1.27))))
          (number "A7" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at 15.24 -30.48 180) (length 5.08)
          (name "SBU1" (effects (font (size 1.27 1.27))))
          (number "A8" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 15.24 25.4 180) (length 5.08) hide
          (name "VBUS" (effects (font (size 1.27 1.27))))
          (number "A9" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 0 -40.64 90) (length 5.08) hide
          (name "GND" (effects (font (size 1.27 1.27))))
          (number "B1" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at 15.24 0 180) (length 5.08)
          (name "RX1-" (effects (font (size 1.27 1.27))))
          (number "B10" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at 15.24 -2.54 180) (length 5.08)
          (name "RX1+" (effects (font (size 1.27 1.27))))
          (number "B11" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 0 -40.64 90) (length 5.08) hide
          (name "GND" (effects (font (size 1.27 1.27))))
          (number "B12" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at 15.24 -25.4 180) (length 5.08)
          (name "TX2+" (effects (font (size 1.27 1.27))))
          (number "B2" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at 15.24 -22.86 180) (length 5.08)
          (name "TX2-" (effects (font (size 1.27 1.27))))
          (number "B3" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 15.24 25.4 180) (length 5.08) hide
          (name "VBUS" (effects (font (size 1.27 1.27))))
          (number "B4" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at 15.24 17.78 180) (length 5.08)
          (name "CC2" (effects (font (size 1.27 1.27))))
          (number "B5" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at 15.24 5.08 180) (length 5.08)
          (name "D+" (effects (font (size 1.27 1.27))))
          (number "B6" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at 15.24 10.16 180) (length 5.08)
          (name "D-" (effects (font (size 1.27 1.27))))
          (number "B7" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at 15.24 -33.02 180) (length 5.08)
          (name "SBU2" (effects (font (size 1.27 1.27))))
          (number "B8" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 15.24 25.4 180) (length 5.08) hide
          (name "VBUS" (effects (font (size 1.27 1.27))))
          (number "B9" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at -7.62 -40.64 90) (length 5.08)
          (name "SHIELD" (effects (font (size 1.27 1.27))))
          (number "S1" (effects (font (size 1.27 1.27))))
        )
      )
    )
    (symbol "Connector_Generic:Conn_01x03" (pin_names (offset 1.016) hide) (in_bom yes) (on_board yes)
      (property "Reference" "J" (at 0 5.08 0)
        (effects (font (size 1.27 1.27)))
      )
      (property "Value" "Conn_01x03" (at 0 -5.08 0)
        (effects (font (size 1.27 1.27)))
      )
      (property "Footprint" "" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "Datasheet" "~" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_keywords" "connector" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_description" "Generic connector, single row, 01x03, script generated (kicad-library-utils/schlib/autogen/connector/)" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_fp_filters" "Connector*:*_1x??_*" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (symbol "Conn_01x03_1_1"
        (rectangle (start -1.27 -2.413) (end 0 -2.667)
          (stroke (width 0.1524) (type default))
          (fill (type none))
        )
        (rectangle (start -1.27 0.127) (end 0 -0.127)
          (stroke (width 0.1524) (type default))
          (fill (type none))
        )
        (rectangle (start -1.27 2.667) (end 0 2.413)
          (stroke (width 0.1524) (type default))
          (fill (type none))
        )
        (rectangle (start -1.27 3.81) (end 1.27 -3.81)
          (stroke (width 0.254) (type default))
          (fill (type background))
        )
        (pin passive line (at -5.08 2.54 0) (length 3.81)
          (name "Pin_1" (effects (font (size 1.27 1.27))))
          (number "1" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at -5.08 0 0) (length 3.81)
          (name "Pin_2" (effects (font (size 1.27 1.27))))
          (number "2" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at -5.08 -2.54 0) (length 3.81)
          (name "Pin_3" (effects (font (size 1.27 1.27))))
          (number "3" (effects (font (size 1.27 1.27))))
        )
      )
    )
    (symbol "Connector_Generic:Conn_01x06" (pin_names (offset 1.016) hide) (in_bom yes) (on_board yes)
      (property "Reference" "J" (at 0 7.62 0)
        (effects (font (size 1.27 1.27)))
      )
      (property "Value" "Conn_01x06" (at 0 -10.16 0)
        (effects (font (size 1.27 1.27)))
      )
      (property "Footprint" "" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "Datasheet" "~" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_keywords" "connector" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_description" "Generic connector, single row, 01x06, script generated (kicad-library-utils/schlib/autogen/connector/)" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_fp_filters" "Connector*:*_1x??_*" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (symbol "Conn_01x06_1_1"
        (rectangle (start -1.27 -7.493) (end 0 -7.747)
          (stroke (width 0.1524) (type default))
          (fill (type none))
        )
        (rectangle (start -1.27 -4.953) (end 0 -5.207)
          (stroke (width 0.1524) (type default))
          (fill (type none))
        )
        (rectangle (start -1.27 -2.413) (end 0 -2.667)
          (stroke (width 0.1524) (type default))
          (fill (type none))
        )
        (rectangle (start -1.27 0.127) (end 0 -0.127)
          (stroke (width 0.1524) (type default))
          (fill (type none))
        )
        (rectangle (start -1.27 2.667) (end 0 2.413)
          (stroke (width 0.1524) (type default))
          (fill (type none))
        )
        (rectangle (start -1.27 5.207) (end 0 4.953)
          (stroke (width 0.1524) (type default))
          (fill (type none))
        )
        (rectangle (start -1.27 6.35) (end 1.27 -8.89)
          (stroke (width 0.254) (type default))
          (fill (type background))
        )
        (pin passive line (at -5.08 5.08 0) (length 3.81)
          (name "Pin_1" (effects (font (size 1.27 1.27))))
          (number "1" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at -5.08 2.54 0) (length 3.81)
          (name "Pin_2" (effects (font (size 1.27 1.27))))
          (number "2" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at -5.08 0 0) (length 3.81)
          (name "Pin_3" (effects (font (size 1.27 1.27))))
          (number "3" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at -5.08 -2.54 0) (length 3.81)
          (name "Pin_4" (effects (font (size 1.27 1.27))))
          (number "4" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at -5.08 -5.08 0) (length 3.81)
          (name "Pin_5" (effects (font (size 1.27 1.27))))
          (number "5" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at -5.08 -7.62 0) (length 3.81)
          (name "Pin_6" (effects (font (size 1.27 1.27))))
          (number "6" (effects (font (size 1.27 1.27))))
        )
      )
    )
    (symbol "Device:C" (pin_numbers hide) (pin_names (offset 0.254)) (in_bom yes) (on_board yes)
      (property "Reference" "C" (at 0.635 2.54 0)
        (effects (font (size 1.27 1.27)) (justify left))
      )
      (property "Value" "C" (at 0.635 -2.54 0)
        (effects (font (size 1.27 1.27)) (justify left))
      )
      (property "Footprint" "" (at 0.9652 -3.81 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "Datasheet" "~" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_keywords" "cap capacitor" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_description" "Unpolarized capacitor" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_fp_filters" "C_*" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (symbol "C_0_1"
        (polyline
          (pts
            (xy -2.032 -0.762)
            (xy 2.032 -0.762)
          )
          (stroke (width 0.508) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy -2.032 0.762)
            (xy 2.032 0.762)
          )
          (stroke (width 0.508) (type default))
          (fill (type none))
        )
      )
      (symbol "C_1_1"
        (pin passive line (at 0 3.81 270) (length 2.794)
          (name "~" (effects (font (size 1.27 1.27))))
          (number "1" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 0 -3.81 90) (length 2.794)
          (name "~" (effects (font (size 1.27 1.27))))
          (number "2" (effects (font (size 1.27 1.27))))
        )
      )
    )
    (symbol "Device:C_Polarized" (pin_numbers hide) (pin_names (offset 0.254)) (in_bom yes) (on_board yes)
      (property "Reference" "C" (at 0.635 2.54 0)
        (effects (font (size 1.27 1.27)) (justify left))
      )
      (property "Value" "C_Polarized" (at 0.635 -2.54 0)
        (effects (font (size 1.27 1.27)) (justify left))
      )
      (property "Footprint" "" (at 0.9652 -3.81 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "Datasheet" "~" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_keywords" "cap capacitor" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_description" "Polarized capacitor" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_fp_filters" "CP_*" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (symbol "C_Polarized_0_1"
        (rectangle (start -2.286 0.508) (end 2.286 1.016)
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy -1.778 2.286)
            (xy -0.762 2.286)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy -1.27 2.794)
            (xy -1.27 1.778)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (rectangle (start 2.286 -0.508) (end -2.286 -1.016)
          (stroke (width 0) (type default))
          (fill (type outline))
        )
      )
      (symbol "C_Polarized_1_1"
        (pin passive line (at 0 3.81 270) (length 2.794)
          (name "~" (effects (font (size 1.27 1.27))))
          (number "1" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 0 -3.81 90) (length 2.794)
          (name "~" (effects (font (size 1.27 1.27))))
          (number "2" (effects (font (size 1.27 1.27))))
        )
      )
    )
    (symbol "Device:LED" (pin_numbers hide) (pin_names (offset 1.016) hide) (in_bom yes) (on_board yes)
      (property "Reference" "D" (at 0 2.54 0)
        (effects (font (size 1.27 1.27)))
      )
      (property "Value" "LED" (at 0 -2.54 0)
        (effects (font (size 1.27 1.27)))
      )
      (property "Footprint" "" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "Datasheet" "~" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_keywords" "LED diode" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_description" "Light emitting diode" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_fp_filters" "LED* LED_SMD:* LED_THT:*" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (symbol "LED_0_1"
        (polyline
          (pts
            (xy -1.27 -1.27)
            (xy -1.27 1.27)
          )
          (stroke (width 0.254) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy -1.27 0)
            (xy 1.27 0)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 1.27 -1.27)
            (xy 1.27 1.27)
            (xy -1.27 0)
            (xy 1.27 -1.27)
          )
          (stroke (width 0.254) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy -3.048 -0.762)
            (xy -4.572 -2.286)
            (xy -3.81 -2.286)
            (xy -4.572 -2.286)
            (xy -4.572 -1.524)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy -1.778 -0.762)
            (xy -3.302 -2.286)
            (xy -2.54 -2.286)
            (xy -3.302 -2.286)
            (xy -3.302 -1.524)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
      )
      (symbol "LED_1_1"
        (pin passive line (at -3.81 0 0) (length 2.54)
          (name "K" (effects (font (size 1.27 1.27))))
          (number "1" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 3.81 0 180) (length 2.54)
          (name "A" (effects (font (size 1.27 1.27))))
          (number "2" (effects (font (size 1.27 1.27))))
        )
      )
    )
    (symbol "Device:Polyfuse" (pin_numbers hide) (pin_names (offset 0)) (in_bom yes) (on_board yes)
      (property "Reference" "F" (at -2.54 0 90)
        (effects (font (size 1.27 1.27)))
      )
      (property "Value" "Polyfuse" (at 2.54 0 90)
        (effects (font (size 1.27 1.27)))
      )
      (property "Footprint" "" (at 1.27 -5.08 0)
        (effects (font (size 1.27 1.27)) (justify left) hide)
      )
      (property "Datasheet" "~" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_keywords" "resettable fuse PTC PPTC polyfuse polyswitch" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_description" "Resettable fuse, polymeric positive temperature coefficient" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_fp_filters" "*polyfuse* *PTC*" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (symbol "Polyfuse_0_1"
        (rectangle (start -0.762 2.54) (end 0.762 -2.54)
          (stroke (width 0.254) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 0 2.54)
            (xy 0 -2.54)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy -1.524 2.54)
            (xy -1.524 1.524)
            (xy 1.524 -1.524)
            (xy 1.524 -2.54)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
      )
      (symbol "Polyfuse_1_1"
        (pin passive line (at 0 3.81 270) (length 1.27)
          (name "~" (effects (font (size 1.27 1.27))))
          (number "1" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 0 -3.81 90) (length 1.27)
          (name "~" (effects (font (size 1.27 1.27))))
          (number "2" (effects (font (size 1.27 1.27))))
        )
      )
    )
    (symbol "Device:R" (pin_numbers hide) (pin_names (offset 0)) (in_bom yes) (on_board yes)
      (property "Reference" "R" (at 2.032 0 90)
        (effects (font (size 1.27 1.27)))
      )
      (property "Value" "R" (at 0 0 90)
        (effects (font (size 1.27 1.27)))
      )
      (property "Footprint" "" (at -1.778 0 90)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "Datasheet" "~" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_keywords" "R res resistor" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_description" "Resistor" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_fp_filters" "R_*" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (symbol "R_0_1"
        (rectangle (start -1.016 -2.54) (end 1.016 2.54)
          (stroke (width 0.254) (type default))
          (fill (type none))
        )
      )
      (symbol "R_1_1"
        (pin passive line (at 0 3.81 270) (length 1.27)
          (name "~" (effects (font (size 1.27 1.27))))
          (number "1" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 0 -3.81 90) (length 1.27)
          (name "~" (effects (font (size 1.27 1.27))))
          (number "2" (effects (font (size 1.27 1.27))))
        )
      )
    )
    (symbol "Diode:1N5819WS" (pin_numbers hide) (pin_names (offset 1.016) hide) (in_bom yes) (on_board yes)
      (property "Reference" "D" (at 0 2.54 0)
        (effects (font (size 1.27 1.27)))
      )
      (property "Value" "1N5819WS" (at 0 -2.54 0)
        (effects (font (size 1.27 1.27)))
      )
      (property "Footprint" "Diode_SMD:D_SOD-323" (at 0 -4.445 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "Datasheet" "https://datasheet.lcsc.com/lcsc/2204281430_Guangdong-Hottech-1N5819WS_C191023.pdf" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_keywords" "diode Schottky" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_description" "40V 600mV@1A 1A SOD-323 Schottky Barrier Diodes, SOD-323" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_fp_filters" "D*SOD?323*" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (symbol "1N5819WS_0_1"
        (polyline
          (pts
            (xy 1.27 0)
            (xy -1.27 0)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 1.27 1.27)
            (xy 1.27 -1.27)
            (xy -1.27 0)
            (xy 1.27 1.27)
          )
          (stroke (width 0.254) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy -1.905 0.635)
            (xy -1.905 1.27)
            (xy -1.27 1.27)
            (xy -1.27 -1.27)
            (xy -0.635 -1.27)
            (xy -0.635 -0.635)
          )
          (stroke (width 0.254) (type default))
          (fill (type none))
        )
      )
      (symbol "1N5819WS_1_1"
        (pin passive line (at -3.81 0 0) (length 2.54)
          (name "K" (effects (font (size 1.27 1.27))))
          (number "1" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 3.81 0 180) (length 2.54)
          (name "A" (effects (font (size 1.27 1.27))))
          (number "2" (effects (font (size 1.27 1.27))))
        )
      )
    )
    (symbol "Diode:SM4007" (pin_numbers hide) (pin_names hide) (in_bom yes) (on_board yes)
      (property "Reference" "D" (at 0 2.54 0)
        (effects (font (size 1.27 1.27)))
      )
      (property "Value" "SM4007" (at 0 -2.54 0)
        (effects (font (size 1.27 1.27)))
      )
      (property "Footprint" "Diode_SMD:D_MELF" (at 0 -4.445 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "Datasheet" "http://cdn-reichelt.de/documents/datenblatt/A400/SMD1N400%23DIO.pdf" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "Sim.Device" "D" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "Sim.Pins" "1=K 2=A" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_keywords" "diode" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_description" "1000V 1A General Purpose Rectifier Diode, MELF" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_fp_filters" "D*MELF*" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (symbol "SM4007_0_1"
        (polyline
          (pts
            (xy -1.27 1.27)
            (xy -1.27 -1.27)
          )
          (stroke (width 0.254) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 1.27 0)
            (xy -1.27 0)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 1.27 1.27)
            (xy 1.27 -1.27)
            (xy -1.27 0)
            (xy 1.27 1.27)
          )
          (stroke (width 0.254) (type default))
          (fill (type none))
        )
      )
      (symbol "SM4007_1_1"
        (pin passive line (at -3.81 0 0) (length 2.54)
          (name "K" (effects (font (size 1.27 1.27))))
          (number "1" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 3.81 0 180) (length 2.54)
          (name "A" (effects (font (size 1.27 1.27))))
          (number "2" (effects (font (size 1.27 1.27))))
        )
      )
    )
    (symbol "Diode:ZMMxx" (pin_numbers hide) (pin_names hide) (in_bom yes) (on_board yes)
      (property "Reference" "D" (at 0 2.54 0)
        (effects (font (size 1.27 1.27)))
      )
      (property "Value" "ZMMxx" (at 0 -2.54 0)
        (effects (font (size 1.27 1.27)))
      )
      (property "Footprint" "Diode_SMD:D_MiniMELF" (at 0 -4.445 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "Datasheet" "https://diotec.com/tl_files/diotec/files/pdf/datasheets/zmm1.pdf" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_keywords" "zener diode" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_description" "500mW Zener Diode, MiniMELF" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_fp_filters" "D*MiniMELF*" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (symbol "ZMMxx_0_1"
        (polyline
          (pts
            (xy 1.27 0)
            (xy -1.27 0)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy -1.27 -1.27)
            (xy -1.27 1.27)
            (xy -0.762 1.27)
          )
          (stroke (width 0.254) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 1.27 -1.27)
            (xy 1.27 1.27)
            (xy -1.27 0)
            (xy 1.27 -1.27)
          )
          (stroke (width 0.254) (type default))
          (fill (type none))
        )
      )
      (symbol "ZMMxx_1_1"
        (pin passive line (at -3.81 0 0) (length 2.54)
          (name "K" (effects (font (size 1.27 1.27))))
          (number "1" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 3.81 0 180) (length 2.54)
          (name "A" (effects (font (size 1.27 1.27))))
          (number "2" (effects (font (size 1.27 1.27))))
        )
      )
    )
    (symbol "Interface_UART:MAX232" (pin_names (offset 1.016)) (in_bom yes) (on_board yes)
      (property "Reference" "U" (at -2.54 28.575 0)
        (effects (font (size 1.27 1.27)) (justify right))
      )
      (property "Value" "MAX232" (at -2.54 26.67 0)
        (effects (font (size 1.27 1.27)) (justify right))
      )
      (property "Footprint" "" (at 1.27 -26.67 0)
        (effects (font (size 1.27 1.27)) (justify left) hide)
      )
      (property "Datasheet" "http://www.ti.com/lit/ds/symlink/max232.pdf" (at 0 2.54 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_keywords" "rs232 uart transceiver line-driver" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_description" "Dual RS232 driver/receiver, 5V supply, 120kb/s, 0C-70C" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_fp_filters" "SOIC*P1.27mm* DIP*W7.62mm* TSSOP*4.4x5mm*P0.65mm*" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (symbol "MAX232_0_0"
        (text "LOGIC" (at -11.43 -22.86 0)
          (effects (font (size 1.27 1.27)))
        )
        (text "RS232" (at 11.43 -22.86 0)
          (effects (font (size 1.27 1.27)))
        )
      )
      (symbol "MAX232_0_1"
        (rectangle (start -15.24 -25.4) (end 15.24 25.4)
          (stroke (width 0.254) (type default))
          (fill (type background))
        )
        (circle (center -2.54 -17.78) (radius 0.635)
          (stroke (width 0.254) (type default))
          (fill (type none))
        )
        (circle (center -2.54 -12.7) (radius 0.635)
          (stroke (width 0.254) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy -3.81 -7.62)
            (xy -8.255 -7.62)
          )
          (stroke (width 0.254) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy -3.81 -2.54)
            (xy -8.255 -2.54)
          )
          (stroke (width 0.254) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy -3.175 -17.78)
            (xy -8.255 -17.78)
          )
          (stroke (width 0.254) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy -3.175 -12.7)
            (xy -8.255 -12.7)
          )
          (stroke (width 0.254) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 1.27 -7.62)
            (xy 6.35 -7.62)
          )
          (stroke (width 0.254) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 1.27 -2.54)
            (xy 6.35 -2.54)
          )
          (stroke (width 0.254) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 1.905 -17.78)
            (xy 6.35 -17.78)
          )
          (stroke (width 0.254) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 1.905 -12.7)
            (xy 6.35 -12.7)
          )
          (stroke (width 0.254) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy -3.81 -5.715)
            (xy -3.81 -9.525)
            (xy 0 -7.62)
            (xy -3.81 -5.715)
          )
          (stroke (width 0.254) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy -3.81 -0.635)
            (xy -3.81 -4.445)
            (xy 0 -2.54)
            (xy -3.81 -0.635)
          )
          (stroke (width 0.254) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 1.905 -15.875)
            (xy 1.905 -19.685)
            (xy -1.905 -17.78)
            (xy 1.905 -15.875)
          )
          (stroke (width 0.254) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 1.905 -10.795)
            (xy 1.905 -14.605)
            (xy -1.905 -12.7)
            (xy 1.905 -10.795)
          )
          (stroke (width 0.254) (type default))
          (fill (type none))
        )
        (circle (center 0.635 -7.62) (radius 0.635)
          (stroke (width 0.254) (type default))
          (fill (type none))
        )
        (circle (center 0.635 -2.54) (radius 0.635)
          (stroke (width 0.254) (type default))
          (fill (type none))
        )
      )
      (symbol "MAX232_1_1"
        (pin passive line (at -20.32 22.86 0) (length 5.08)
          (name "C1+" (effects (font (size 1.27 1.27))))
          (number "1" (effects (font (size 1.27 1.27))))
        )
        (pin input line (at -20.32 -7.62 0) (length 5.08)
          (name "T2IN" (effects (font (size 1.27 1.27))))
          (number "10" (effects (font (size 1.27 1.27))))
        )
        (pin input line (at -20.32 -2.54 0) (length 5.08)
          (name "T1IN" (effects (font (size 1.27 1.27))))
          (number "11" (effects (font (size 1.27 1.27))))
        )
        (pin output line (at -20.32 -12.7 0) (length 5.08)
          (name "R1OUT" (effects (font (size 1.27 1.27))))
          (number "12" (effects (font (size 1.27 1.27))))
        )
        (pin input line (at 20.32 -12.7 180) (length 5.08)
          (name "R1IN" (effects (font (size 1.27 1.27))))
          (number "13" (effects (font (size 1.27 1.27))))
        )
        (pin output line (at 20.32 -2.54 180) (length 5.08)
          (name "T1OUT" (effects (font (size 1.27 1.27))))
          (number "14" (effects (font (size 1.27 1.27))))
        )
        (pin power_in line (at 0 -30.48 90) (length 5.08)
          (name "GND" (effects (font (size 1.27 1.27))))
          (number "15" (effects (font (size 1.27 1.27))))
        )
        (pin power_in line (at 0 30.48 270) (length 5.08)
          (name "VCC" (effects (font (size 1.27 1.27))))
          (number "16" (effects (font (size 1.27 1.27))))
        )
        (pin power_out line (at 20.32 10.16 180) (length 5.08)
          (name "VS+" (effects (font (size 1.27 1.27))))
          (number "2" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at -20.32 15.24 0) (length 5.08)
          (name "C1-" (effects (font (size 1.27 1.27))))
          (number "3" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 20.32 22.86 180) (length 5.08)
          (name "C2+" (effects (font (size 1.27 1.27))))
          (number "4" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 20.32 15.24 180) (length 5.08)
          (name "C2-" (effects (font (size 1.27 1.27))))
          (number "5" (effects (font (size 1.27 1.27))))
        )
        (pin power_out line (at 20.32 2.54 180) (length 5.08)
          (name "VS-" (effects (font (size 1.27 1.27))))
          (number "6" (effects (font (size 1.27 1.27))))
        )
        (pin output line (at 20.32 -7.62 180) (length 5.08)
          (name "T2OUT" (effects (font (size 1.27 1.27))))
          (number "7" (effects (font (size 1.27 1.27))))
        )
        (pin input line (at 20.32 -17.78 180) (length 5.08)
          (name "R2IN" (effects (font (size 1.27 1.27))))
          (number "8" (effects (font (size 1.27 1.27))))
        )
        (pin output line (at -20.32 -17.78 0) (length 5.08)
          (name "R2OUT" (effects (font (size 1.27 1.27))))
          (number "9" (effects (font (size 1.27 1.27))))
        )
      )
    )
    (symbol "LED:WS2812B" (pin_names (offset 0.254)) (in_bom yes) (on_board yes)
      (property "Reference" "D" (at 5.08 5.715 0)
        (effects (font (size 1.27 1.27)) (justify right bottom))
      )
      (property "Value" "WS2812B" (at 1.27 -5.715 0)
        (effects (font (size 1.27 1.27)) (justify left top))
      )
      (property "Footprint" "LED_SMD:LED_WS2812B_PLCC4_5.0x5.0mm_P3.2mm" (at 1.27 -7.62 0)
        (effects (font (size 1.27 1.27)) (justify left top) hide)
      )
      (property "Datasheet" "https://cdn-shop.adafruit.com/datasheets/WS2812B.pdf" (at 2.54 -9.525 0)
        (effects (font (size 1.27 1.27)) (justify left top) hide)
      )
      (property "ki_keywords" "RGB LED NeoPixel addressable" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_description" "RGB LED with integrated controller" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_fp_filters" "LED*WS2812*PLCC*5.0x5.0mm*P3.2mm*" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (symbol "WS2812B_0_0"
        (text "RGB" (at 2.286 -4.191 0)
          (effects (font (size 0.762 0.762)))
        )
      )
      (symbol "WS2812B_0_1"
        (polyline
          (pts
            (xy 1.27 -3.556)
            (xy 1.778 -3.556)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 1.27 -2.54)
            (xy 1.778 -2.54)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 4.699 -3.556)
            (xy 2.667 -3.556)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 2.286 -2.54)
            (xy 1.27 -3.556)
            (xy 1.27 -3.048)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 2.286 -1.524)
            (xy 1.27 -2.54)
            (xy 1.27 -2.032)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 3.683 -1.016)
            (xy 3.683 -3.556)
            (xy 3.683 -4.064)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 4.699 -1.524)
            (xy 2.667 -1.524)
            (xy 3.683 -3.556)
            (xy 4.699 -1.524)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (rectangle (start 5.08 5.08) (end -5.08 -5.08)
          (stroke (width 0.254) (type default))
          (fill (type background))
        )
      )
      (symbol "WS2812B_1_1"
        (pin power_in line (at 0 7.62 270) (length 2.54)
          (name "VDD" (effects (font (size 1.27 1.27))))
          (number "1" (effects (font (size 1.27 1.27))))
        )
        (pin output line (at 7.62 0 180) (length 2.54)
          (name "DOUT" (effects (font (size 1.27 1.27))))
          (number "2" (effects (font (size 1.27 1.27))))
        )
        (pin power_in line (at 0 -7.62 90) (length 2.54)
          (name "VSS" (effects (font (size 1.27 1.27))))
          (number "3" (effects (font (size 1.27 1.27))))
        )
        (pin input line (at -7.62 0 0) (length 2.54)
          (name "DIN" (effects (font (size 1.27 1.27))))
          (number "4" (effects (font (size 1.27 1.27))))
        )
      )
    )
    (symbol "Logic_LevelTranslator:TXS0108EPW" (in_bom yes) (on_board yes)
      (property "Reference" "U" (at -6.35 16.51 0)
        (effects (font (size 1.27 1.27)))
      )
      (property "Value" "TXS0108EPW" (at 3.81 16.51 0)
        (effects (font (size 1.27 1.27)) (justify left))
      )
      (property "Footprint" "Package_SO:TSSOP-20_4.4x6.5mm_P0.65mm" (at 0 -19.05 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "Datasheet" "www.ti.com/lit/ds/symlink/txs0108e.pdf" (at 0 -2.54 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_keywords" "8-bit" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_description" "Bidirectional  level-shifting voltage translator, TSSOP-20" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_fp_filters" "*SSOP*4.4x6.5mm*P0.65mm*" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (symbol "TXS0108EPW_0_1"
        (rectangle (start -7.62 15.24) (end 7.62 -15.24)
          (stroke (width 0.254) (type default))
          (fill (type background))
        )
      )
      (symbol "TXS0108EPW_1_1"
        (pin bidirectional line (at -10.16 7.62 0) (length 2.54)
          (name "A1" (effects (font (size 1.27 1.27))))
          (number "1" (effects (font (size 1.27 1.27))))
        )
        (pin input line (at -10.16 10.16 0) (length 2.54)
          (name "OE" (effects (font (size 1.27 1.27))))
          (number "10" (effects (font (size 1.27 1.27))))
        )
        (pin power_in line (at 0 -17.78 90) (length 2.54)
          (name "GND" (effects (font (size 1.27 1.27))))
          (number "11" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at 10.16 -10.16 180) (length 2.54)
          (name "B8" (effects (font (size 1.27 1.27))))
          (number "12" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at 10.16 -7.62 180) (length 2.54)
          (name "B7" (effects (font (size 1.27 1.27))))
          (number "13" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at 10.16 -5.08 180) (length 2.54)
          (name "B6" (effects (font (size 1.27 1.27))))
          (number "14" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at 10.16 -2.54 180) (length 2.54)
          (name "B5" (effects (font (size 1.27 1.27))))
          (number "15" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at 10.16 0 180) (length 2.54)
          (name "B4" (effects (font (size 1.27 1.27))))
          (number "16" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at 10.16 2.54 180) (length 2.54)
          (name "B3" (effects (font (size 1.27 1.27))))
          (number "17" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at 10.16 5.08 180) (length 2.54)
          (name "B2" (effects (font (size 1.27 1.27))))
          (number "18" (effects (font (size 1.27 1.27))))
        )
        (pin power_in line (at 2.54 17.78 270) (length 2.54)
          (name "VCCB" (effects (font (size 1.27 1.27))))
          (number "19" (effects (font (size 1.27 1.27))))
        )
        (pin power_in line (at -2.54 17.78 270) (length 2.54)
          (name "VCCA" (effects (font (size 1.27 1.27))))
          (number "2" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at 10.16 7.62 180) (length 2.54)
          (name "B1" (effects (font (size 1.27 1.27))))
          (number "20" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at -10.16 5.08 0) (length 2.54)
          (name "A2" (effects (font (size 1.27 1.27))))
          (number "3" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at -10.16 2.54 0) (length 2.54)
          (name "A3" (effects (font (size 1.27 1.27))))
          (number "4" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at -10.16 0 0) (length 2.54)
          (name "A4" (effects (font (size 1.27 1.27))))
          (number "5" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at -10.16 -2.54 0) (length 2.54)
          (name "A5" (effects (font (size 1.27 1.27))))
          (number "6" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at -10.16 -5.08 0) (length 2.54)
          (name "A6" (effects (font (size 1.27 1.27))))
          (number "7" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at -10.16 -7.62 0) (length 2.54)
          (name "A7" (effects (font (size 1.27 1.27))))
          (number "8" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at -10.16 -10.16 0) (length 2.54)
          (name "A8" (effects (font (size 1.27 1.27))))
          (number "9" (effects (font (size 1.27 1.27))))
        )
      )
    )
    (symbol "PCM_Espressif:ESP32-S3-WROOM-1" (pin_names (offset 1.016)) (in_bom yes) (on_board yes)
      (property "Reference" "U" (at -43.18 43.18 0)
        (effects (font (size 1.27 1.27)) (justify left))
      )
      (property "Value" "ESP32-S3-WROOM-1" (at -43.18 40.64 0)
        (effects (font (size 1.27 1.27)) (justify left))
      )
      (property "Footprint" "Espressif:ESP32-S3-WROOM-1" (at 2.54 -48.26 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "Datasheet" "https://www.espressif.com/sites/default/files/documentation/esp32-s3-wroom-1_wroom-1u_datasheet_en.pdf" (at 2.54 -50.8 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_description" "2.4 GHz WiFi (802.11 b/g/n) and Bluetooth ® 5 (LE) module Built around ESP32S3 series of SoCs, Xtensa ® dualcore 32bit LX7 microprocessor Flash up to 16 MB, PSRAM up to 8 MB 36 GPIOs, rich set of peripherals Onboard PCB antenna" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (symbol "ESP32-S3-WROOM-1_0_0"
        (text "ESP32-S3-WROOM-1" (at -20.32 0 0)
          (effects (font (size 2.54 2.54)))
        )
        (pin power_in line (at 0 -40.64 90) (length 2.54)
          (name "GND" (effects (font (size 1.27 1.27))))
          (number "1" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at 45.72 -17.78 180) (length 2.54)
          (name "GPIO17/U1TXD/ADC2_CH6" (effects (font (size 1.27 1.27))))
          (number "10" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at 45.72 -20.32 180) (length 2.54)
          (name "GPIO18/U1RXD/ADC2_CH7/CLK_OUT3" (effects (font (size 1.27 1.27))))
          (number "11" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at 45.72 0 180) (length 2.54)
          (name "GPIO8/TOUCH8/ADC1_CH7/SUBSPICS1" (effects (font (size 1.27 1.27))))
          (number "12" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at 45.72 25.4 180) (length 2.54)
          (name "GPIO19/U1RTS/ADC2_CH8/CLK_OUT2/USB_D-" (effects (font (size 1.27 1.27))))
          (number "13" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at 45.72 27.94 180) (length 2.54)
          (name "GPIO20/U1CTS/ADC2_CH9/CLK_OUT1/USB_D+" (effects (font (size 1.27 1.27))))
          (number "14" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at 45.72 12.7 180) (length 2.54)
          (name "GPIO3/TOUCH3/ADC1_CH2" (effects (font (size 1.27 1.27))))
          (number "15" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at 45.72 -30.48 180) (length 2.54)
          (name "GPIO46" (effects (font (size 1.27 1.27))))
          (number "16" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at 45.72 -2.54 180) (length 2.54)
          (name "GPIO9/TOUCH9/ADC1_CH8/FSPIHD/SUBSPIHD" (effects (font (size 1.27 1.27))))
          (number "17" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at 45.72 -5.08 180) (length 2.54)
          (name "GPIO10/TOUCH10/ADC1_CH9/FSPICS0/FSPIIO4/SUBSPICS0" (effects (font (size 1.27 1.27))))
          (number "18" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at 45.72 -7.62 180) (length 2.54)
          (name "GPIO11/TOUCH11/ADC2_CH0/FSPID/FSPIIO5/SUBSPID" (effects (font (size 1.27 1.27))))
          (number "19" (effects (font (size 1.27 1.27))))
        )
        (pin power_in line (at 0 40.64 270) (length 2.54)
          (name "3V3" (effects (font (size 1.27 1.27))))
          (number "2" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at 45.72 -10.16 180) (length 2.54)
          (name "GPIO12/TOUCH12/ADC2_CH1/FSPICLK/FSPIIO6/SUBSPICLK" (effects (font (size 1.27 1.27))))
          (number "20" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at 45.72 -12.7 180) (length 2.54)
          (name "GPIO13/TOUCH13/ADC2_CH2/FSPIQ/FSPIIO7/SUBSPIQ" (effects (font (size 1.27 1.27))))
          (number "21" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at 45.72 -15.24 180) (length 2.54)
          (name "GPIO14/TOUCH14/ADC2_CH3/FSPIWP/FSPIDQS/SUBSPIWP" (effects (font (size 1.27 1.27))))
          (number "22" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at 45.72 -22.86 180) (length 2.54)
          (name "GPIO21" (effects (font (size 1.27 1.27))))
          (number "23" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at 45.72 -33.02 180) (length 2.54)
          (name "GPIO47/SPICLK_P/SUBSPICLK_P_DIFF" (effects (font (size 1.27 1.27))))
          (number "24" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at 45.72 -35.56 180) (length 2.54)
          (name "GPIO48/SPICLK_N/SUBSPICLK_N_DIFF" (effects (font (size 1.27 1.27))))
          (number "25" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at 45.72 -27.94 180) (length 2.54)
          (name "GPIO45" (effects (font (size 1.27 1.27))))
          (number "26" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at 45.72 20.32 180) (length 2.54)
          (name "GPIO0/BOOT" (effects (font (size 1.27 1.27))))
          (number "27" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at -45.72 -30.48 0) (length 2.54)
          (name "SPIIO6/GPIO35/FSPID/SUBSPID" (effects (font (size 1.27 1.27))))
          (number "28" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at -45.72 -33.02 0) (length 2.54)
          (name "SPIIO7/GPIO36/FSPICLK/SUBSPICLK" (effects (font (size 1.27 1.27))))
          (number "29" (effects (font (size 1.27 1.27))))
        )
        (pin input line (at -45.72 35.56 0) (length 2.54)
          (name "EN" (effects (font (size 1.27 1.27))))
          (number "3" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at -45.72 -35.56 0) (length 2.54)
          (name "SPIDQS/GPIO37/FSPIQ/SUBSPIQ" (effects (font (size 1.27 1.27))))
          (number "30" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at 45.72 -25.4 180) (length 2.54)
          (name "GPIO38/FSPIWP/SUBSPIWP" (effects (font (size 1.27 1.27))))
          (number "31" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at -45.72 20.32 0) (length 2.54)
          (name "MTCK/GPIO39/CLK_OUT3/SUBSPICS1" (effects (font (size 1.27 1.27))))
          (number "32" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at -45.72 17.78 0) (length 2.54)
          (name "MTDO/GPIO40/CLK_OUT2" (effects (font (size 1.27 1.27))))
          (number "33" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at -45.72 15.24 0) (length 2.54)
          (name "MTDI/GPIO41/CLK_OUT1" (effects (font (size 1.27 1.27))))
          (number "34" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at -45.72 12.7 0) (length 2.54)
          (name "MTMS/GPIO42" (effects (font (size 1.27 1.27))))
          (number "35" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at 45.72 33.02 180) (length 2.54)
          (name "U0RXD/GPIO44/CLK_OUT2" (effects (font (size 1.27 1.27))))
          (number "36" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at 45.72 35.56 180) (length 2.54)
          (name "U0TXD/GPIO43/CLK_OUT1" (effects (font (size 1.27 1.27))))
          (number "37" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at 45.72 15.24 180) (length 2.54)
          (name "GPIO2/TOUCH2/ADC1_CH1" (effects (font (size 1.27 1.27))))
          (number "38" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at 45.72 17.78 180) (length 2.54)
          (name "GPIO1/TOUCH1/ADC1_CH0" (effects (font (size 1.27 1.27))))
          (number "39" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at 45.72 10.16 180) (length 2.54)
          (name "GPIO4/TOUCH4/ADC1_CH3" (effects (font (size 1.27 1.27))))
          (number "4" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 0 -40.64 90) (length 2.54) hide
          (name "GND" (effects (font (size 1.27 1.27))))
          (number "40" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 0 -40.64 90) (length 2.54) hide
          (name "GND" (effects (font (size 1.27 1.27))))
          (number "41" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at 45.72 7.62 180) (length 2.54)
          (name "GPIO5/TOUCH5/ADC1_CH4" (effects (font (size 1.27 1.27))))
          (number "5" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at 45.72 5.08 180) (length 2.54)
          (name "GPIO6/TOUCH6/ADC1_CH5" (effects (font (size 1.27 1.27))))
          (number "6" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at 45.72 2.54 180) (length 2.54)
          (name "GPIO7/TOUCH7/ADC1_CH6" (effects (font (size 1.27 1.27))))
          (number "7" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at -45.72 27.94 0) (length 2.54)
          (name "GPIO15/U0RTS/ADC2_CH4/XTAL_32K_P" (effects (font (size 1.27 1.27))))
          (number "8" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at -45.72 25.4 0) (length 2.54)
          (name "GPIO16/U0CTS/ADC2_CH5/XTAL_32K_N" (effects (font (size 1.27 1.27))))
          (number "9" (effects (font (size 1.27 1.27))))
        )
      )
      (symbol "ESP32-S3-WROOM-1_0_1"
        (rectangle (start -43.18 38.1) (end 43.18 -38.1)
          (stroke (width 0) (type default))
          (fill (type background))
        )
      )
    )
    (symbol "Power_Protection:SP0505BAHT" (pin_names hide) (in_bom yes) (on_board yes)
      (property "Reference" "D" (at 7.62 2.54 0)
        (effects (font (size 1.27 1.27)) (justify left))
      )
      (property "Value" "SP0505BAHT" (at 7.62 0.635 0)
        (effects (font (size 1.27 1.27)) (justify left))
      )
      (property "Footprint" "Package_TO_SOT_SMD:SOT-23-6" (at 7.62 -1.27 0)
        (effects (font (size 1.27 1.27)) (justify left) hide)
      )
      (property "Datasheet" "http://www.littelfuse.com/~/media/files/littelfuse/technical%20resources/documents/data%20sheets/sp05xxba.pdf" (at 3.175 3.175 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_keywords" "usb esd protection suppression transient" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_description" "TVS Diode Array, 5.5V Standoff, 5 Channels, SOT-23-6 package" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_fp_filters" "SOT?23*" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (symbol "SP0505BAHT_0_0"
        (pin passive line (at 0 -5.08 90) (length 2.54)
          (name "A" (effects (font (size 1.27 1.27))))
          (number "2" (effects (font (size 1.27 1.27))))
        )
      )
      (symbol "SP0505BAHT_0_1"
        (rectangle (start -6.985 2.54) (end 6.985 -2.54)
          (stroke (width 0.254) (type default))
          (fill (type background))
        )
        (circle (center -2.54 -1.27) (radius 0.254)
          (stroke (width 0) (type default))
          (fill (type outline))
        )
        (circle (center 0 -1.27) (radius 0.254)
          (stroke (width 0) (type default))
          (fill (type outline))
        )
        (polyline
          (pts
            (xy -5.08 2.54)
            (xy -5.08 1.27)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy -2.54 2.54)
            (xy -2.54 1.27)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 0 -1.27)
            (xy 0 -2.54)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 0 -1.27)
            (xy 0 1.27)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 0 2.54)
            (xy 0 1.27)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 0.635 1.27)
            (xy 0.762 1.27)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 2.54 2.54)
            (xy 2.54 1.27)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 5.08 2.54)
            (xy 5.08 1.27)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy -5.08 1.27)
            (xy -5.08 -1.27)
            (xy -2.54 -1.27)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 0.635 1.27)
            (xy -0.762 1.27)
            (xy -0.762 1.016)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 5.08 1.27)
            (xy 5.08 -1.27)
            (xy 2.54 -1.27)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy -5.842 1.016)
            (xy -5.842 1.27)
            (xy -4.445 1.27)
            (xy -4.318 1.27)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy -5.08 1.27)
            (xy -4.445 0)
            (xy -5.715 0)
            (xy -5.08 1.27)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy -3.302 1.016)
            (xy -3.302 1.27)
            (xy -1.905 1.27)
            (xy -1.778 1.27)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy -2.54 1.27)
            (xy -2.54 -1.27)
            (xy 2.54 -1.27)
            (xy 2.54 1.27)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy -2.54 1.27)
            (xy -1.905 0)
            (xy -3.175 0)
            (xy -2.54 1.27)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 0.635 0)
            (xy -0.635 0)
            (xy 0 1.27)
            (xy 0.635 0)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 1.778 1.016)
            (xy 1.778 1.27)
            (xy 3.175 1.27)
            (xy 3.302 1.27)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 2.54 1.27)
            (xy 1.905 0)
            (xy 3.175 0)
            (xy 2.54 1.27)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 4.318 1.016)
            (xy 4.318 1.27)
            (xy 5.715 1.27)
            (xy 5.842 1.27)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 5.08 1.27)
            (xy 4.445 0)
            (xy 5.715 0)
            (xy 5.08 1.27)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (circle (center 2.54 -1.27) (radius 0.254)
          (stroke (width 0) (type default))
          (fill (type outline))
        )
      )
      (symbol "SP0505BAHT_1_1"
        (pin passive line (at -5.08 5.08 270) (length 2.54)
          (name "K" (effects (font (size 1.27 1.27))))
          (number "1" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at -2.54 5.08 270) (length 2.54)
          (name "K" (effects (font (size 1.27 1.27))))
          (number "3" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 0 5.08 270) (length 2.54)
          (name "K" (effects (font (size 1.27 1.27))))
          (number "4" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 2.54 5.08 270) (length 2.54)
          (name "K" (effects (font (size 1.27 1.27))))
          (number "5" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 5.08 5.08 270) (length 2.54)
          (name "K" (effects (font (size 1.27 1.27))))
          (number "6" (effects (font (size 1.27 1.27))))
        )
      )
    )
    (symbol "Regulator_Linear:AP1117-33" (in_bom yes) (on_board yes)
      (property "Reference" "U" (at -3.81 3.175 0)
        (effects (font (size 1.27 1.27)))
      )
      (property "Value" "AP1117-33" (at 0 3.175 0)
        (effects (font (size 1.27 1.27)) (justify left))
      )
      (property "Footprint" "Package_TO_SOT_SMD:SOT-223-3_TabPin2" (at 0 5.08 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "Datasheet" "http://www.diodes.com/datasheets/AP1117.pdf" (at 2.54 -6.35 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_keywords" "linear regulator ldo fixed positive obsolete" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_description" "1A Low Dropout regulator, positive, 3.3V fixed output, SOT-223" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_fp_filters" "SOT?223*TabPin2*" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (symbol "AP1117-33_0_1"
        (rectangle (start -5.08 -5.08) (end 5.08 1.905)
          (stroke (width 0.254) (type default))
          (fill (type background))
        )
      )
      (symbol "AP1117-33_1_1"
        (pin power_in line (at 0 -7.62 90) (length 2.54)
          (name "GND" (effects (font (size 1.27 1.27))))
          (number "1" (effects (font (size 1.27 1.27))))
        )
        (pin power_out line (at 7.62 0 180) (length 2.54)
          (name "VO" (effects (font (size 1.27 1.27))))
          (number "2" (effects (font (size 1.27 1.27))))
        )
        (pin power_in line (at -7.62 0 0) (length 2.54)
          (name "VI" (effects (font (size 1.27 1.27))))
          (number "3" (effects (font (size 1.27 1.27))))
        )
      )
    )
    (symbol "Regulator_Linear:LM7805_TO220" (pin_names (offset 0.254)) (in_bom yes) (on_board yes)
      (property "Reference" "U" (at -3.81 3.175 0)
        (effects (font (size 1.27 1.27)))
      )
      (property "Value" "LM7805_TO220" (at 0 3.175 0)
        (effects (font (size 1.27 1.27)) (justify left))
      )
      (property "Footprint" "Package_TO_SOT_THT:TO-220-3_Vertical" (at 0 5.715 0)
        (effects (font (size 1.27 1.27) italic) hide)
      )
      (property "Datasheet" "https://www.onsemi.cn/PowerSolutions/document/MC7800-D.PDF" (at 0 -1.27 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_keywords" "Voltage Regulator 1A Positive" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_description" "Positive 1A 35V Linear Regulator, Fixed Output 5V, TO-220" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_fp_filters" "TO?220*" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (symbol "LM7805_TO220_0_1"
        (rectangle (start -5.08 1.905) (end 5.08 -5.08)
          (stroke (width 0.254) (type default))
          (fill (type background))
        )
      )
      (symbol "LM7805_TO220_1_1"
        (pin power_in line (at -7.62 0 0) (length 2.54)
          (name "VI" (effects (font (size 1.27 1.27))))
          (number "1" (effects (font (size 1.27 1.27))))
        )
        (pin power_in line (at 0 -7.62 90) (length 2.54)
          (name "GND" (effects (font (size 1.27 1.27))))
          (number "2" (effects (font (size 1.27 1.27))))
        )
        (pin power_out line (at 7.62 0 180) (length 2.54)
          (name "VO" (effects (font (size 1.27 1.27))))
          (number "3" (effects (font (size 1.27 1.27))))
        )
      )
    )
    (symbol "Relay:G5V-1" (in_bom yes) (on_board yes)
      (property "Reference" "K" (at 11.43 3.81 0)
        (effects (font (size 1.27 1.27)) (justify left))
      )
      (property "Value" "G5V-1" (at 11.43 1.27 0)
        (effects (font (size 1.27 1.27)) (justify left))
      )
      (property "Footprint" "Relay_THT:Relay_SPDT_Omron_G5V-1" (at 28.702 -0.762 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "Datasheet" "http://omronfs.omron.com/en_US/ecb/products/pdf/en-g5v_1.pdf" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_keywords" "Single Pole Relay SPDT" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_description" "Ultra-miniature, Highly Sensitive SPDT Relay for Signal Circuits" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_fp_filters" "Relay*SPDT*Omron*G5V?1*" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (symbol "G5V-1_0_0"
        (polyline
          (pts
            (xy 7.62 5.08)
            (xy 7.62 2.54)
            (xy 6.985 3.175)
            (xy 7.62 3.81)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
      )
      (symbol "G5V-1_0_1"
        (rectangle (start -10.16 5.08) (end 10.16 -5.08)
          (stroke (width 0.254) (type default))
          (fill (type background))
        )
        (rectangle (start -8.255 1.905) (end -1.905 -1.905)
          (stroke (width 0.254) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy -7.62 -1.905)
            (xy -2.54 1.905)
          )
          (stroke (width 0.254) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy -5.08 -5.08)
            (xy -5.08 -1.905)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy -5.08 5.08)
            (xy -5.08 1.905)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy -1.905 0)
            (xy -1.27 0)
          )
          (stroke (width 0.254) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy -0.635 0)
            (xy 0 0)
          )
          (stroke (width 0.254) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 0.635 0)
            (xy 1.27 0)
          )
          (stroke (width 0.254) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 1.905 0)
            (xy 2.54 0)
          )
          (stroke (width 0.254) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 3.175 0)
            (xy 3.81 0)
          )
          (stroke (width 0.254) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 5.08 -2.54)
            (xy 3.175 3.81)
          )
          (stroke (width 0.508) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 5.08 -2.54)
            (xy 5.08 -5.08)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 2.54 5.08)
            (xy 2.54 2.54)
            (xy 3.175 3.175)
            (xy 2.54 3.81)
          )
          (stroke (width 0) (type default))
          (fill (type outline))
        )
      )
      (symbol "G5V-1_1_1"
        (pin passive line (at 2.54 7.62 270) (length 2.54)
          (name "~" (effects (font (size 1.27 1.27))))
          (number "1" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 7.62 7.62 270) (length 2.54)
          (name "~" (effects (font (size 1.27 1.27))))
          (number "10" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at -5.08 7.62 270) (length 2.54)
          (name "~" (effects (font (size 1.27 1.27))))
          (number "2" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 5.08 -7.62 90) (length 2.54)
          (name "~" (effects (font (size 1.27 1.27))))
          (number "5" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 5.08 -7.62 90) (length 2.54) hide
          (name "~" (effects (font (size 1.27 1.27))))
          (number "6" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at -5.08 -7.62 90) (length 2.54)
          (name "~" (effects (font (size 1.27 1.27))))
          (number "9" (effects (font (size 1.27 1.27))))
        )
      )
    )
    (symbol "Switch:SW_SPST" (pin_names (offset 0) hide) (in_bom yes) (on_board yes)
      (property "Reference" "SW" (at 0 3.175 0)
        (effects (font (size 1.27 1.27)))
      )
      (property "Value" "SW_SPST" (at 0 -2.54 0)
        (effects (font (size 1.27 1.27)))
      )
      (property "Footprint" "" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "Datasheet" "~" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_keywords" "switch lever" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_description" "Single Pole Single Throw (SPST) switch" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (symbol "SW_SPST_0_0"
        (circle (center -2.032 0) (radius 0.508)
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy -1.524 0.254)
            (xy 1.524 1.778)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (circle (center 2.032 0) (radius 0.508)
          (stroke (width 0) (type default))
          (fill (type none))
        )
      )
      (symbol "SW_SPST_1_1"
        (pin passive line (at -5.08 0 0) (length 2.54)
          (name "A" (effects (font (size 1.27 1.27))))
          (number "1" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 5.08 0 180) (length 2.54)
          (name "B" (effects (font (size 1.27 1.27))))
          (number "2" (effects (font (size 1.27 1.27))))
        )
      )
    )
    (symbol "Transistor_Array:ULN2003A" (in_bom yes) (on_board yes)
      (property "Reference" "U" (at 0 15.875 0)
        (effects (font (size 1.27 1.27)))
      )
      (property "Value" "ULN2003A" (at 0 13.97 0)
        (effects (font (size 1.27 1.27)))
      )
      (property "Footprint" "" (at 1.27 -13.97 0)
        (effects (font (size 1.27 1.27)) (justify left) hide)
      )
      (property "Datasheet" "http://www.ti.com/lit/ds/symlink/uln2003a.pdf" (at 2.54 -5.08 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_keywords" "darlington transistor array" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_description" "High Voltage, High Current Darlington Transistor Arrays, SOIC16/SOIC16W/DIP16/TSSOP16" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_fp_filters" "DIP*W7.62mm* SOIC*3.9x9.9mm*P1.27mm* SSOP*4.4x5.2mm*P0.65mm* TSSOP*4.4x5mm*P0.65mm* SOIC*W*5.3x10.2mm*P1.27mm*" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (symbol "ULN2003A_0_1"
        (rectangle (start -7.62 -12.7) (end 7.62 12.7)
          (stroke (width 0.254) (type default))
          (fill (type background))
        )
        (circle (center -1.778 5.08) (radius 0.254)
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (circle (center -1.27 -2.286) (radius 0.254)
          (stroke (width 0) (type default))
          (fill (type outline))
        )
        (circle (center -1.27 0) (radius 0.254)
          (stroke (width 0) (type default))
          (fill (type outline))
        )
        (circle (center -1.27 2.54) (radius 0.254)
          (stroke (width 0) (type default))
          (fill (type outline))
        )
        (circle (center -0.508 5.08) (radius 0.254)
          (stroke (width 0) (type default))
          (fill (type outline))
        )
        (polyline
          (pts
            (xy -4.572 5.08)
            (xy -3.556 5.08)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy -1.524 5.08)
            (xy 4.064 5.08)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 0 6.731)
            (xy -1.016 6.731)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy -0.508 5.08)
            (xy -0.508 10.16)
            (xy 2.921 10.16)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy -3.556 6.096)
            (xy -3.556 4.064)
            (xy -2.032 5.08)
            (xy -3.556 6.096)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 0 5.969)
            (xy -1.016 5.969)
            (xy -0.508 6.731)
            (xy 0 5.969)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
      )
      (symbol "ULN2003A_1_1"
        (pin input line (at -10.16 5.08 0) (length 2.54)
          (name "I1" (effects (font (size 1.27 1.27))))
          (number "1" (effects (font (size 1.27 1.27))))
        )
        (pin open_collector line (at 10.16 -10.16 180) (length 2.54)
          (name "O7" (effects (font (size 1.27 1.27))))
          (number "10" (effects (font (size 1.27 1.27))))
        )
        (pin open_collector line (at 10.16 -7.62 180) (length 2.54)
          (name "O6" (effects (font (size 1.27 1.27))))
          (number "11" (effects (font (size 1.27 1.27))))
        )
        (pin open_collector line (at 10.16 -5.08 180) (length 2.54)
          (name "O5" (effects (font (size 1.27 1.27))))
          (number "12" (effects (font (size 1.27 1.27))))
        )
        (pin open_collector line (at 10.16 -2.54 180) (length 2.54)
          (name "O4" (effects (font (size 1.27 1.27))))
          (number "13" (effects (font (size 1.27 1.27))))
        )
        (pin open_collector line (at 10.16 0 180) (length 2.54)
          (name "O3" (effects (font (size 1.27 1.27))))
          (number "14" (effects (font (size 1.27 1.27))))
        )
        (pin open_collector line (at 10.16 2.54 180) (length 2.54)
          (name "O2" (effects (font (size 1.27 1.27))))
          (number "15" (effects (font (size 1.27 1.27))))
        )
        (pin open_collector line (at 10.16 5.08 180) (length 2.54)
          (name "O1" (effects (font (size 1.27 1.27))))
          (number "16" (effects (font (size 1.27 1.27))))
        )
        (pin input line (at -10.16 2.54 0) (length 2.54)
          (name "I2" (effects (font (size 1.27 1.27))))
          (number "2" (effects (font (size 1.27 1.27))))
        )
        (pin input line (at -10.16 0 0) (length 2.54)
          (name "I3" (effects (font (size 1.27 1.27))))
          (number "3" (effects (font (size 1.27 1.27))))
        )
        (pin input line (at -10.16 -2.54 0) (length 2.54)
          (name "I4" (effects (font (size 1.27 1.27))))
          (number "4" (effects (font (size 1.27 1.27))))
        )
        (pin input line (at -10.16 -5.08 0) (length 2.54)
          (name "I5" (effects (font (size 1.27 1.27))))
          (number "5" (effects (font (size 1.27 1.27))))
        )
        (pin input line (at -10.16 -7.62 0) (length 2.54)
          (name "I6" (effects (font (size 1.27 1.27))))
          (number "6" (effects (font (size 1.27 1.27))))
        )
        (pin input line (at -10.16 -10.16 0) (length 2.54)
          (name "I7" (effects (font (size 1.27 1.27))))
          (number "7" (effects (font (size 1.27 1.27))))
        )
        (pin power_in line (at 0 -15.24 90) (length 2.54)
          (name "GND" (effects (font (size 1.27 1.27))))
          (number "8" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 10.16 10.16 180) (length 2.54)
          (name "COM" (effects (font (size 1.27 1.27))))
          (number "9" (effects (font (size 1.27 1.27))))
        )
      )
    )
    (symbol "Transistor_BJT:MMBT3904" (pin_names (offset 0) hide) (in_bom yes) (on_board yes)
      (property "Reference" "Q" (at 5.08 1.905 0)
        (effects (font (size 1.27 1.27)) (justify left))
      )
      (property "Value" "MMBT3904" (at 5.08 0 0)
        (effects (font (size 1.27 1.27)) (justify left))
      )
      (property "Footprint" "Package_TO_SOT_SMD:SOT-23" (at 5.08 -1.905 0)
        (effects (font (size 1.27 1.27) italic) (justify left) hide)
      )
      (property "Datasheet" "https://www.onsemi.com/pub/Collateral/2N3903-D.PDF" (at 0 0 0)
        (effects (font (size 1.27 1.27)) (justify left) hide)
      )
      (property "ki_keywords" "NPN Transistor" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_description" "0.2A Ic, 40V Vce, Small Signal NPN Transistor, SOT-23" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_fp_filters" "SOT?23*" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (symbol "MMBT3904_0_1"
        (polyline
          (pts
            (xy 0.635 0.635)
            (xy 2.54 2.54)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 0.635 -0.635)
            (xy 2.54 -2.54)
            (xy 2.54 -2.54)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 0.635 1.905)
            (xy 0.635 -1.905)
            (xy 0.635 -1.905)
          )
          (stroke (width 0.508) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 1.27 -1.778)
            (xy 1.778 -1.27)
            (xy 2.286 -2.286)
            (xy 1.27 -1.778)
            (xy 1.27 -1.778)
          )
          (stroke (width 0) (type default))
          (fill (type outline))
        )
        (circle (center 1.27 0) (radius 2.8194)
          (stroke (width 0.254) (type default))
          (fill (type none))
        )
      )
      (symbol "MMBT3904_1_1"
        (pin input line (at -5.08 0 0) (length 5.715)
          (name "B" (effects (font (size 1.27 1.27))))
          (number "1" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 2.54 -5.08 90) (length 2.54)
          (name "E" (effects (font (size 1.27 1.27))))
          (number "2" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 2.54 5.08 270) (length 2.54)
          (name "C" (effects (font (size 1.27 1.27))))
          (number "3" (effects (font (size 1.27 1.27))))
        )
      )
    )
    (symbol "power:+24V" (power) (pin_names (offset 0)) (in_bom yes) (on_board yes)
      (property "Reference" "#PWR" (at 0 -3.81 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "Value" "+24V" (at 0 3.556 0)
        (effects (font (size 1.27 1.27)))
      )
      (property "Footprint" "" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "Datasheet" "" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_keywords" "global power" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_description" "Power symbol creates a global label with name \"+24V\"" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (symbol "+24V_0_1"
        (polyline
          (pts
            (xy -0.762 1.27)
            (xy 0 2.54)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 0 0)
            (xy 0 2.54)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 0 2.54)
            (xy 0.762 1.27)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
      )
      (symbol "+24V_1_1"
        (pin power_in line (at 0 0 90) (length 0) hide
          (name "+24V" (effects (font (size 1.27 1.27))))
          (number "1" (effects (font (size 1.27 1.27))))
        )
      )
    )
    (symbol "power:+3V3" (power) (pin_names (offset 0)) (in_bom yes) (on_board yes)
      (property "Reference" "#PWR" (at 0 -3.81 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "Value" "+3V3" (at 0 3.556 0)
        (effects (font (size 1.27 1.27)))
      )
      (property "Footprint" "" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "Datasheet" "" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_keywords" "global power" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_description" "Power symbol creates a global label with name \"+3V3\"" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (symbol "+3V3_0_1"
        (polyline
          (pts
            (xy -0.762 1.27)
            (xy 0 2.54)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 0 0)
            (xy 0 2.54)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 0 2.54)
            (xy 0.762 1.27)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
      )
      (symbol "+3V3_1_1"
        (pin power_in line (at 0 0 90) (length 0) hide
          (name "+3V3" (effects (font (size 1.27 1.27))))
          (number "1" (effects (font (size 1.27 1.27))))
        )
      )
    )
    (symbol "power:+5V" (power) (pin_names (offset 0)) (in_bom yes) (on_board yes)
      (property "Reference" "#PWR" (at 0 -3.81 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "Value" "+5V" (at 0 3.556 0)
        (effects (font (size 1.27 1.27)))
      )
      (property "Footprint" "" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "Datasheet" "" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_keywords" "global power" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_description" "Power symbol creates a global label with name \"+5V\"" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (symbol "+5V_0_1"
        (polyline
          (pts
            (xy -0.762 1.27)
            (xy 0 2.54)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 0 0)
            (xy 0 2.54)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 0 2.54)
            (xy 0.762 1.27)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
      )
      (symbol "+5V_1_1"
        (pin power_in line (at 0 0 90) (length 0) hide
          (name "+5V" (effects (font (size 1.27 1.27))))
          (number "1" (effects (font (size 1.27 1.27))))
        )
      )
    )
    (symbol "power:GND" (power) (pin_names (offset 0)) (in_bom yes) (on_board yes)
      (property "Reference" "#PWR" (at 0 -6.35 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "Value" "GND" (at 0 -3.81 0)
        (effects (font (size 1.27 1.27)))
      )
      (property "Footprint" "" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "Datasheet" "" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_keywords" "global power" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_description" "Power symbol creates a global label with name \"GND\" , ground" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (symbol "GND_0_1"
        (polyline
          (pts
            (xy 0 0)
            (xy 0 -1.27)
            (xy 1.27 -1.27)
            (xy 0 -2.54)
            (xy -1.27 -1.27)
            (xy 0 -1.27)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
      )
      (symbol "GND_1_1"
        (pin power_in line (at 0 0 270) (length 0) hide
          (name "GND" (effects (font (size 1.27 1.27))))
          (number "1" (effects (font (size 1.27 1.27))))
        )
      )
    )
    (symbol "power:PWR_FLAG" (power) (pin_numbers hide) (pin_names (offset 0) hide) (in_bom yes) (on_board yes)
      (property "Reference" "#FLG" (at 0 1.905 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "Value" "PWR_FLAG" (at 0 3.81 0)
        (effects (font (size 1.27 1.27)))
      )
      (property "Footprint" "" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "Datasheet" "~" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_keywords" "flag power" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_description" "Special symbol for telling ERC where power comes from" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (symbol "PWR_FLAG_0_0"
        (pin power_out line (at 0 0 90) (length 0)
          (name "pwr" (effects (font (size 1.27 1.27))))
          (number "1" (effects (font (size 1.27 1.27))))
        )
      )
      (symbol "PWR_FLAG_0_1"
        (polyline
          (pts
            (xy 0 0)
            (xy 0 1.27)
            (xy -1.016 1.905)
            (xy 0 2.54)
            (xy 1.016 1.905)
            (xy 0 1.27)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
      )
    )
  )

  (junction (at 363.22 160.655) (diameter 0) (color 0 0 0 0)
    (uuid 0139ebb7-e0ad-4160-b9ed-46897ac0f4f7)
  )
  (junction (at 263.525 36.195) (diameter 0) (color 0 0 0 0)
    (uuid 06a7b88e-1734-4ae0-b058-5fb178e99102)
  )
  (junction (at 44.45 64.77) (diameter 0) (color 0 0 0 0)
    (uuid 07a89b30-93e1-4269-875f-d9afb721d9a8)
  )
  (junction (at 54.61 224.155) (diameter 0) (color 0 0 0 0)
    (uuid 17c5a596-77e8-4b44-8398-636a699515b3)
  )
  (junction (at 151.13 54.61) (diameter 0) (color 0 0 0 0)
    (uuid 186dd33d-5ea3-4701-8493-dc870fc6d13f)
  )
  (junction (at 81.28 222.885) (diameter 0) (color 0 0 0 0)
    (uuid 1acc601b-0d33-4a57-9a0c-d3c6f1331e5d)
  )
  (junction (at 387.985 113.03) (diameter 0) (color 0 0 0 0)
    (uuid 1c5bcbdc-9c38-4e1b-b6c6-ccdccc5f3115)
  )
  (junction (at 52.07 262.89) (diameter 0) (color 0 0 0 0)
    (uuid 1e904a81-d122-4bfc-b895-0f99b2b3c80c)
  )
  (junction (at 146.685 111.76) (diameter 0) (color 0 0 0 0)
    (uuid 237a9770-cbde-4694-ba69-23a50e42e046)
  )
  (junction (at 208.28 225.425) (diameter 0) (color 0 0 0 0)
    (uuid 29a5c59c-72b0-4513-9702-8de90caeebc5)
  )
  (junction (at 43.18 213.995) (diameter 0) (color 0 0 0 0)
    (uuid 2ab69aa7-73c2-41f6-be5e-e700c1ca13e7)
  )
  (junction (at 138.43 34.29) (diameter 0) (color 0 0 0 0)
    (uuid 2d4d3457-334e-498d-8835-6789e8edbc92)
  )
  (junction (at 199.39 186.69) (diameter 0) (color 0 0 0 0)
    (uuid 2ee0d373-06f4-4e1b-87f5-b5f98f92fbf2)
  )
  (junction (at 53.34 78.74) (diameter 0) (color 0 0 0 0)
    (uuid 310fef44-909f-4b26-a81f-78e2ee53cdc9)
  )
  (junction (at 225.425 186.69) (diameter 0) (color 0 0 0 0)
    (uuid 33d0410c-41b2-4c0f-855e-2d8cda77c0f2)
  )
  (junction (at 290.83 163.195) (diameter 0) (color 0 0 0 0)
    (uuid 33ff2100-954a-4a35-9d88-ca83b08ec508)
  )
  (junction (at 138.43 45.72) (diameter 0) (color 0 0 0 0)
    (uuid 356b7ce2-2686-43e3-af57-9c69371a47ef)
  )
  (junction (at 193.675 77.47) (diameter 0) (color 0 0 0 0)
    (uuid 383fce3c-382c-424e-a673-95b517fd9fb6)
  )
  (junction (at 398.78 121.92) (diameter 0) (color 0 0 0 0)
    (uuid 3b160402-744b-43bc-a3ca-7ef214a54c57)
  )
  (junction (at 40.64 246.38) (diameter 0) (color 0 0 0 0)
    (uuid 3c26e8eb-594d-4b8f-a263-59065318584f)
  )
  (junction (at 53.34 97.79) (diameter 0) (color 0 0 0 0)
    (uuid 3ffc2dc3-4b06-4c35-8ea9-fcfb45a8c75d)
  )
  (junction (at 398.78 113.03) (diameter 0) (color 0 0 0 0)
    (uuid 46bfe33b-1303-4f6f-a8b7-a8881a4f67ad)
  )
  (junction (at 21.59 31.75) (diameter 0) (color 0 0 0 0)
    (uuid 46edc22f-fc83-4f7d-8cfc-2a65dca9ef0f)
  )
  (junction (at 46.99 45.72) (diameter 0) (color 0 0 0 0)
    (uuid 4d34c3ab-7bd8-40d7-a005-e8e38331661f)
  )
  (junction (at 49.53 166.37) (diameter 0) (color 0 0 0 0)
    (uuid 5d723a5a-1393-495c-bdfa-e82f55118013)
  )
  (junction (at 83.82 43.18) (diameter 0) (color 0 0 0 0)
    (uuid 67e441cd-0621-4e72-8fb5-0bc9b22be573)
  )
  (junction (at 223.52 251.46) (diameter 0) (color 0 0 0 0)
    (uuid 6b9280f3-cab4-49b2-8eb0-02bd8a3ab50f)
  )
  (junction (at 54.61 189.865) (diameter 0) (color 0 0 0 0)
    (uuid 6c4bf05b-c808-420f-a32a-a702b5479529)
  )
  (junction (at 33.02 81.28) (diameter 0) (color 0 0 0 0)
    (uuid 6e973d66-7bb8-45df-9da1-9c200ce45bc6)
  )
  (junction (at 74.93 64.77) (diameter 0) (color 0 0 0 0)
    (uuid 7114a6e0-b341-4e94-a9d9-a0fb59c32114)
  )
  (junction (at 148.59 24.13) (diameter 0) (color 0 0 0 0)
    (uuid 7796467b-ca58-48f2-930e-69c375d56724)
  )
  (junction (at 99.06 31.75) (diameter 0) (color 0 0 0 0)
    (uuid 7d322ae3-0da2-41c2-b21e-1acdd634f277)
  )
  (junction (at 241.3 198.755) (diameter 0) (color 0 0 0 0)
    (uuid 81640e16-b53f-49a0-af7d-acb13f753d10)
  )
  (junction (at 44.45 93.98) (diameter 0) (color 0 0 0 0)
    (uuid 88916b60-d399-4137-8f22-0fefdd0d2cd7)
  )
  (junction (at 153.67 54.61) (diameter 0) (color 0 0 0 0)
    (uuid 89d6cf67-93f1-4efd-8725-c02e225c2e35)
  )
  (junction (at 153.67 24.765) (diameter 0) (color 0 0 0 0)
    (uuid 8c9546ef-93ac-48a5-acfc-a78c5c0cb175)
  )
  (junction (at 49.53 157.48) (diameter 0) (color 0 0 0 0)
    (uuid 94a67966-2921-423c-bb08-a1fb46eda580)
  )
  (junction (at 68.58 31.75) (diameter 0) (color 0 0 0 0)
    (uuid 991fb593-b67d-4771-b6b9-179f20cfd183)
  )
  (junction (at 179.705 77.47) (diameter 0) (color 0 0 0 0)
    (uuid 9d87170c-c63b-498e-89ea-1411dbe778a8)
  )
  (junction (at 19.05 31.75) (diameter 0) (color 0 0 0 0)
    (uuid 9fb423ea-33be-4e87-b075-05e96fbeeff8)
  )
  (junction (at 225.425 213.36) (diameter 0) (color 0 0 0 0)
    (uuid a1293fe8-16a7-4bdc-a420-b5a13302127f)
  )
  (junction (at 193.04 77.47) (diameter 0) (color 0 0 0 0)
    (uuid a29ead49-b8f2-45de-ba43-6475108916c2)
  )
  (junction (at 46.99 31.75) (diameter 0) (color 0 0 0 0)
    (uuid a6a89686-ba78-49c9-863f-40cc2524eeeb)
  )
  (junction (at 387.985 121.92) (diameter 0) (color 0 0 0 0)
    (uuid a7922a5e-4202-4871-9406-66d24752d5ee)
  )
  (junction (at 208.28 213.36) (diameter 0) (color 0 0 0 0)
    (uuid abe4208e-9840-4901-b41c-c93cb9fd62d4)
  )
  (junction (at 215.9 23.495) (diameter 0) (color 0 0 0 0)
    (uuid ad723b01-b093-41c8-a951-2cbb4890c91f)
  )
  (junction (at 193.675 37.465) (diameter 0) (color 0 0 0 0)
    (uuid aec6bf5a-40e4-409f-9cb4-51ae7f81eac4)
  )
  (junction (at 146.685 84.455) (diameter 0) (color 0 0 0 0)
    (uuid b0852a9c-64cf-46fe-92f1-02e8a6e1befe)
  )
  (junction (at 215.9 63.5) (diameter 0) (color 0 0 0 0)
    (uuid b1cba70b-6c96-406a-90c7-039bc86be935)
  )
  (junction (at 52.07 273.05) (diameter 0) (color 0 0 0 0)
    (uuid b2aff9e6-9dd3-4bd6-867a-40bf58c8aa10)
  )
  (junction (at 363.22 142.24) (diameter 0) (color 0 0 0 0)
    (uuid b2cdc9c8-1249-4607-b560-0e10ceea6ab6)
  )
  (junction (at 208.28 199.39) (diameter 0) (color 0 0 0 0)
    (uuid b4df5202-2b90-4e8b-bfc5-c247cb009edc)
  )
  (junction (at 223.52 240.03) (diameter 0) (color 0 0 0 0)
    (uuid b5fd03d1-8ca0-4234-bdb8-53ac95f7b49d)
  )
  (junction (at 21.59 45.72) (diameter 0) (color 0 0 0 0)
    (uuid bbfb8053-e9e3-4af6-a118-93e1ff8f5ff4)
  )
  (junction (at 49.53 148.59) (diameter 0) (color 0 0 0 0)
    (uuid bcd8a8b0-331a-4cac-b711-dfdb4b64b83e)
  )
  (junction (at 193.04 37.465) (diameter 0) (color 0 0 0 0)
    (uuid be7dd7b0-b4a8-46a5-9b8e-2d9e96cead1b)
  )
  (junction (at 232.41 76.835) (diameter 0) (color 0 0 0 0)
    (uuid d1ef046a-3356-4221-b782-8f6c11798da1)
  )
  (junction (at 372.11 158.115) (diameter 0) (color 0 0 0 0)
    (uuid d3567288-11bb-43d2-a59a-2e7fac5f7b9f)
  )
  (junction (at 199.39 213.36) (diameter 0) (color 0 0 0 0)
    (uuid d457fa41-089a-4e85-8ddf-3d555ca1cd80)
  )
  (junction (at 232.41 36.83) (diameter 0) (color 0 0 0 0)
    (uuid dc5cf3f2-af5c-4aad-b1b2-95c3c01d4994)
  )
  (junction (at 290.83 158.115) (diameter 0) (color 0 0 0 0)
    (uuid dd21a969-89b2-4e76-b5af-00eae574053a)
  )
  (junction (at 208.28 186.69) (diameter 0) (color 0 0 0 0)
    (uuid e12f1110-710b-43c5-95e3-b69aeca021ab)
  )
  (junction (at 223.52 262.89) (diameter 0) (color 0 0 0 0)
    (uuid e5f94786-f31e-411c-9c4c-93f94153376c)
  )
  (junction (at 179.705 37.465) (diameter 0) (color 0 0 0 0)
    (uuid e803eedd-3c10-449b-b743-b7ffaae56d1e)
  )
  (junction (at 316.23 150.495) (diameter 0) (color 0 0 0 0)
    (uuid f09219d0-1463-4574-9517-51098d478692)
  )
  (junction (at 271.78 213.995) (diameter 0) (color 0 0 0 0)
    (uuid f177fcef-379a-43c7-bbae-463ea92caea5)
  )
  (junction (at 33.02 45.72) (diameter 0) (color 0 0 0 0)
    (uuid f1b1fee5-aa4b-46f3-b754-c1bcd9d8524a)
  )

  (no_connect (at 364.49 59.055) (uuid 01a780c6-9542-4b89-ae09-bfbc1e9f155a))
  (no_connect (at 233.045 153.67) (uuid 07ae4266-e8ef-40c1-8a5c-d3734fab3f5d))
  (no_connect (at 287.02 178.435) (uuid 0cf753f9-3d10-49f4-a08d-2bcc2538fa95))
  (no_connect (at 93.98 246.38) (uuid 1173a71f-915a-44ba-9878-26efc7d398c7))
  (no_connect (at 154.94 265.43) (uuid 17b2e0d7-4aed-4e5c-92aa-7eb93d3066ab))
  (no_connect (at 73.66 254) (uuid 26c802f0-7ae5-453f-b889-225e84fac847))
  (no_connect (at 384.81 198.12) (uuid 33402aad-dec7-4828-9978-2fad699ae1d8))
  (no_connect (at 122.555 248.285) (uuid 3509d7af-96b9-44fd-9879-7769bad229cf))
  (no_connect (at 273.05 56.515) (uuid 37a37b5a-a8ae-420e-b32b-dbcaab27c6aa))
  (no_connect (at 240.665 251.46) (uuid 3b1f9d63-c336-484f-b0ca-918af9194d3d))
  (no_connect (at 273.05 43.815) (uuid 3fd7aa5d-6cc6-4026-a629-c63f7f71b2b0))
  (no_connect (at 233.045 161.29) (uuid 40a891bc-0811-4d9e-b60c-886ccad2cb46))
  (no_connect (at 73.66 246.38) (uuid 431d7f49-b6cb-4549-a6dd-1f191f99dabf))
  (no_connect (at 273.05 51.435) (uuid 5187e861-693c-42a8-8b56-3e8af84f6801))
  (no_connect (at 287.02 203.835) (uuid 51f07b4b-2fff-442e-88a1-fadca3d82cda))
  (no_connect (at 240.665 240.03) (uuid 56615721-263c-4929-b7cb-a710a2ddb34e))
  (no_connect (at 233.045 151.13) (uuid 59e8be69-e401-4b26-b4ea-79ba476441ce))
  (no_connect (at 393.7 227.33) (uuid 5a4715ce-de9e-4b6b-a061-bbf3f8537cab))
  (no_connect (at 287.02 196.215) (uuid 5d799670-d078-4721-8ec9-3c1742f82b22))
  (no_connect (at 212.725 156.21) (uuid 669f546e-e735-499a-9766-5042be7f01b7))
  (no_connect (at 154.94 247.65) (uuid 70e3565f-7399-4065-8333-c1f5d5e8bf25))
  (no_connect (at 287.02 180.975) (uuid 71e1ee21-027b-4f5d-b437-080b9df05be0))
  (no_connect (at 212.725 153.67) (uuid 780a6f94-7ca6-4298-9e6c-755f0ca33449))
  (no_connect (at 273.05 107.315) (uuid 78797332-880b-4e1e-9903-191230fa0363))
  (no_connect (at 287.02 173.355) (uuid 791373e5-8fb2-4f28-ba7f-f1cda1f68608))
  (no_connect (at 73.66 251.46) (uuid 7aabb5e7-a445-47e7-8808-73f62e4654d9))
  (no_connect (at 233.045 156.21) (uuid 7ccb5c29-e4e6-4e90-97fa-b10a84578555))
  (no_connect (at 93.98 248.92) (uuid 854b8202-add2-4f75-a339-1484ecfbe71d))
  (no_connect (at 273.05 53.975) (uuid 8aff1c68-e4ff-450a-9851-7c7ed46ab83c))
  (no_connect (at 212.725 151.13) (uuid 8d368b14-d23f-440e-baaf-fa6b9852ea09))
  (no_connect (at 364.49 102.235) (uuid 8f5ac741-48a4-41a6-8ed0-22dbf29526e2))
  (no_connect (at 233.045 158.75) (uuid 9170d31d-be87-4b7a-be7f-4dd5c432fdbc))
  (no_connect (at 273.05 59.055) (uuid a0dabc37-568c-4972-81f6-d2190ecb0a7b))
  (no_connect (at 240.665 262.89) (uuid a1148179-60d9-4490-ada2-e890111d4c6b))
  (no_connect (at 287.02 201.295) (uuid a2f521ed-0fd2-4cbc-8f0c-b1c916bfee18))
  (no_connect (at 273.05 104.775) (uuid a3bee33d-ce8d-4ed4-bc33-41bd42be95bc))
  (no_connect (at 287.02 188.595) (uuid ac5c13ea-a0bb-42ee-af64-371cbddf8b6c))
  (no_connect (at 364.49 99.695) (uuid ace3c3fb-466e-4677-9f3a-6494443f9b68))
  (no_connect (at 122.555 266.065) (uuid b17f83a5-86a1-4a7d-aa5d-1b7b44e2d193))
  (no_connect (at 212.725 158.75) (uuid bbdfae8e-d696-4b38-91e6-9a94ca1bf904))
  (no_connect (at 160.655 151.13) (uuid bc4e9a75-fe1c-4832-b609-a61f90e1d5e3))
  (no_connect (at 273.05 102.235) (uuid bd21ba2e-c858-4a68-a57a-6151b09d35ba))
  (no_connect (at 273.05 46.355) (uuid beafd63f-2144-4ac5-8a4b-18e28cf1495f))
  (no_connect (at 384.81 187.96) (uuid c1331029-5354-42ba-8b15-4d90742fca7f))
  (no_connect (at 240.665 274.32) (uuid c63d1ec4-7d03-43da-90e0-192e1b4fa346))
  (no_connect (at 287.02 193.675) (uuid ca04828c-6f1c-46bb-9ad9-f9a4bbf3cd9c))
  (no_connect (at 287.02 170.815) (uuid cefd2d89-3891-4d03-a557-0fcf83448360))
  (no_connect (at 212.725 161.29) (uuid d436a355-0bb2-4fa4-96d7-97322045c91d))
  (no_connect (at 287.02 186.055) (uuid e210e276-3d30-4603-a656-26bac4ddfe0f))
  (no_connect (at 73.66 248.92) (uuid e88df5e0-f54b-4062-b3ea-5733a475d15e))
  (no_connect (at 93.98 251.46) (uuid f979c54d-d6f3-4ca7-83c2-35fb0836a733))
  (no_connect (at 93.98 254) (uuid fa2eda6f-2d76-407d-b5fc-76e12d275a17))

  (wire (pts (xy 398.78 121.92) (xy 398.78 121.285))
    (stroke (width 0) (type default))
    (uuid 0069bc29-1fa5-47e2-9ed9-6b5a87c948e1)
  )
  (wire (pts (xy 346.71 227.33) (xy 361.315 227.33))
    (stroke (width 0) (type default))
    (uuid 00e25df2-b149-4b8b-ac17-a85c5268dace)
  )
  (wire (pts (xy 225.425 222.25) (xy 225.425 225.425))
    (stroke (width 0) (type default))
    (uuid 00ecf4a7-0acb-4a5c-8be9-9d4a858f1a56)
  )
  (wire (pts (xy 215.9 63.5) (xy 215.9 76.835))
    (stroke (width 0) (type default))
    (uuid 0174dfc1-8620-4bce-9840-6504753a7f61)
  )
  (wire (pts (xy 241.3 198.755) (xy 241.3 225.425))
    (stroke (width 0) (type default))
    (uuid 0178fa9b-b23a-490b-b3c3-346ad55347b0)
  )
  (wire (pts (xy 48.26 166.37) (xy 49.53 166.37))
    (stroke (width 0) (type default))
    (uuid 01e8d478-4499-4503-adbb-e764ba6b4684)
  )
  (wire (pts (xy 222.885 166.37) (xy 222.885 170.18))
    (stroke (width 0) (type default))
    (uuid 02178404-b135-4eec-a3ca-e230b4022448)
  )
  (wire (pts (xy 115.57 22.86) (xy 113.03 22.86))
    (stroke (width 0) (type default))
    (uuid 02a84262-b53f-475f-b416-647bd7af6860)
  )
  (wire (pts (xy 372.11 158.115) (xy 380.365 158.115))
    (stroke (width 0) (type default))
    (uuid 04896e19-9319-4da0-b7e1-9025f6dfe54c)
  )
  (wire (pts (xy 177.8 170.18) (xy 189.865 170.18))
    (stroke (width 0) (type default))
    (uuid 05a0bc95-bc6b-445b-943d-d6462e44122c)
  )
  (wire (pts (xy 48.26 238.76) (xy 73.66 238.76))
    (stroke (width 0) (type default))
    (uuid 05b8f587-1744-4750-9355-2cbe3bcd834a)
  )
  (wire (pts (xy 364.49 79.375) (xy 378.46 79.375))
    (stroke (width 0) (type default))
    (uuid 069d3323-4a47-4874-9989-16c420751358)
  )
  (wire (pts (xy 134.62 34.29) (xy 138.43 34.29))
    (stroke (width 0) (type default))
    (uuid 074e0f21-2579-491f-9068-b4884cf82f7e)
  )
  (wire (pts (xy 241.3 196.85) (xy 241.3 198.755))
    (stroke (width 0) (type default))
    (uuid 076e356e-a704-41de-b217-c9fb8fb6f62f)
  )
  (wire (pts (xy 233.68 93.98) (xy 233.68 86.995))
    (stroke (width 0) (type default))
    (uuid 08448d75-b94e-4300-8af8-b99eed4cd041)
  )
  (wire (pts (xy 155.575 161.29) (xy 155.575 163.83))
    (stroke (width 0) (type default))
    (uuid 08ade23a-4b0f-44bb-a224-e6155d4af15f)
  )
  (wire (pts (xy 49.53 157.48) (xy 49.53 166.37))
    (stroke (width 0) (type default))
    (uuid 08b8d6d0-690a-4f40-847c-74cf8ad8d7fc)
  )
  (wire (pts (xy 363.22 160.655) (xy 380.365 160.655))
    (stroke (width 0) (type default))
    (uuid 0936230b-0459-4fd0-a501-2aa62bd6763a)
  )
  (wire (pts (xy 387.985 121.92) (xy 398.78 121.92))
    (stroke (width 0) (type default))
    (uuid 093cccc2-1b2c-4b92-a0db-27aa881b4327)
  )
  (wire (pts (xy 240.03 76.835) (xy 240.03 72.39))
    (stroke (width 0) (type default))
    (uuid 09e6b8e2-c4ee-4ec0-8b64-7227a2775bcb)
  )
  (wire (pts (xy 154.94 257.81) (xy 152.4 257.81))
    (stroke (width 0) (type default))
    (uuid 0a6c2e10-c705-486a-b8a0-67a78b1517cf)
  )
  (wire (pts (xy 194.31 236.855) (xy 194.31 234.315))
    (stroke (width 0) (type default))
    (uuid 0a8db486-208f-48fb-ab6e-3e03860c0758)
  )
  (wire (pts (xy 114.3 223.52) (xy 128.27 223.52))
    (stroke (width 0) (type default))
    (uuid 0ce2497f-f7e2-4306-b103-08a7e852e5dc)
  )
  (wire (pts (xy 93.98 241.3) (xy 110.49 241.3))
    (stroke (width 0) (type default))
    (uuid 0f8c9a8a-17ea-45b1-9633-6b12dcee4d3f)
  )
  (wire (pts (xy 101.6 87.63) (xy 101.6 90.17))
    (stroke (width 0) (type default))
    (uuid 0f9e9984-793c-4184-b25d-f8ee9677baef)
  )
  (wire (pts (xy 223.52 240.03) (xy 225.425 240.03))
    (stroke (width 0) (type default))
    (uuid 0fe21bfc-62e5-4da2-b52a-bfd78d1aee93)
  )
  (wire (pts (xy 233.68 46.99) (xy 238.76 46.99))
    (stroke (width 0) (type default))
    (uuid 1039b47a-3d58-427a-8750-546cdc42c05c)
  )
  (wire (pts (xy 364.49 107.315) (xy 378.46 107.315))
    (stroke (width 0) (type default))
    (uuid 105e633d-56e7-44a2-983f-69f71ead8c24)
  )
  (wire (pts (xy 158.115 221.615) (xy 160.02 221.615))
    (stroke (width 0) (type default))
    (uuid 10661246-1dab-461c-a7c8-b055cf05f5d2)
  )
  (wire (pts (xy 177.8 159.385) (xy 189.865 159.385))
    (stroke (width 0) (type default))
    (uuid 1097077a-3624-43b6-82da-0e97fbeb06df)
  )
  (wire (pts (xy 17.78 205.105) (xy 35.56 205.105))
    (stroke (width 0) (type default))
    (uuid 11242e22-f981-4e48-bfdb-fbf445f14fcd)
  )
  (wire (pts (xy 207.645 159.385) (xy 207.645 160.655))
    (stroke (width 0) (type default))
    (uuid 1352b80d-cc7e-4390-b14b-6f34f946114a)
  )
  (wire (pts (xy 46.99 31.75) (xy 46.99 20.32))
    (stroke (width 0) (type default))
    (uuid 139095cf-9097-48f0-a411-42db9b144099)
  )
  (wire (pts (xy 203.2 262.255) (xy 203.2 264.795))
    (stroke (width 0) (type default))
    (uuid 14234313-7fc7-4be6-b50a-4eafbc159023)
  )
  (wire (pts (xy 233.045 140.97) (xy 236.22 140.97))
    (stroke (width 0) (type default))
    (uuid 1510ce98-f8ea-4ed7-8528-18b55dd99beb)
  )
  (wire (pts (xy 114.935 186.055) (xy 128.905 186.055))
    (stroke (width 0) (type default))
    (uuid 16856ee5-4938-4217-af37-449d091c3243)
  )
  (wire (pts (xy 178.435 186.69) (xy 188.595 186.69))
    (stroke (width 0) (type default))
    (uuid 16b8404d-bd4b-4038-8a2a-1bc9876eff82)
  )
  (wire (pts (xy 363.22 141.605) (xy 363.22 142.24))
    (stroke (width 0) (type default))
    (uuid 17a68e8c-7879-471d-9ec4-069804c78289)
  )
  (wire (pts (xy 33.02 45.72) (xy 46.99 45.72))
    (stroke (width 0) (type default))
    (uuid 17c236bc-3e95-4077-98a2-57a47370ac31)
  )
  (wire (pts (xy 206.375 257.175) (xy 191.135 257.175))
    (stroke (width 0) (type default))
    (uuid 18a7d4e4-c35f-45d5-940b-b99a3c66ea3f)
  )
  (wire (pts (xy 74.295 186.055) (xy 63.5 186.055))
    (stroke (width 0) (type default))
    (uuid 18e31747-2e99-4374-961a-8c109e70349e)
  )
  (wire (pts (xy 175.26 37.465) (xy 179.705 37.465))
    (stroke (width 0) (type default))
    (uuid 19201005-f40f-4670-a5d6-23852241e672)
  )
  (wire (pts (xy 81.28 222.885) (xy 81.28 226.06))
    (stroke (width 0) (type default))
    (uuid 1a34f886-ca6d-49bc-9aeb-43bdfabe3fd5)
  )
  (wire (pts (xy 364.49 61.595) (xy 378.46 61.595))
    (stroke (width 0) (type default))
    (uuid 1a88f59f-0678-4c81-b2c2-140bc8a9f484)
  )
  (wire (pts (xy 387.985 121.92) (xy 387.985 121.285))
    (stroke (width 0) (type default))
    (uuid 1aa8d6a3-e0da-4f52-be3e-0b0f2500a297)
  )
  (wire (pts (xy 44.45 64.77) (xy 59.69 64.77))
    (stroke (width 0) (type default))
    (uuid 1ac33606-6964-4d2c-a636-c6a9f6397284)
  )
  (wire (pts (xy 364.49 46.355) (xy 378.46 46.355))
    (stroke (width 0) (type default))
    (uuid 1c9d0c65-2520-4e37-be96-04d169ac59b4)
  )
  (wire (pts (xy 263.525 36.195) (xy 263.525 39.37))
    (stroke (width 0) (type default))
    (uuid 1cbb1935-db95-4502-8225-ade0cab1dd21)
  )
  (wire (pts (xy 224.79 186.69) (xy 225.425 186.69))
    (stroke (width 0) (type default))
    (uuid 1cbfb68f-656c-4320-83c7-a6bb6b25f247)
  )
  (wire (pts (xy 67.945 145.415) (xy 74.295 145.415))
    (stroke (width 0) (type default))
    (uuid 1cdcc2da-7183-43c8-838a-52064f5d362b)
  )
  (wire (pts (xy 154.94 262.89) (xy 151.13 262.89))
    (stroke (width 0) (type default))
    (uuid 1d709856-c3d3-4441-bf45-dad3c019f0d9)
  )
  (wire (pts (xy 208.28 225.425) (xy 208.28 227.33))
    (stroke (width 0) (type default))
    (uuid 1d7ecf0c-d036-4742-984b-4a0fe3a41a7c)
  )
  (wire (pts (xy 134.62 165.735) (xy 138.43 165.735))
    (stroke (width 0) (type default))
    (uuid 1e08790e-5b62-4a16-b127-99b449af29d1)
  )
  (wire (pts (xy 17.78 252.73) (xy 44.45 252.73))
    (stroke (width 0) (type default))
    (uuid 1e0f7aee-8ba0-414d-97e0-4f562d1f5fcd)
  )
  (wire (pts (xy 386.08 217.17) (xy 386.08 219.71))
    (stroke (width 0) (type default))
    (uuid 1eebf41a-ff76-486a-b364-9084b302b4cc)
  )
  (wire (pts (xy 118.745 263.525) (xy 118.745 250.825))
    (stroke (width 0) (type default))
    (uuid 1ef795c7-9508-4e51-b535-b633b64e5380)
  )
  (wire (pts (xy 17.78 166.37) (xy 29.21 166.37))
    (stroke (width 0) (type default))
    (uuid 1f190521-7d98-4673-948f-8833525ccf1f)
  )
  (wire (pts (xy 40.64 243.84) (xy 40.64 246.38))
    (stroke (width 0) (type default))
    (uuid 1fd2e52f-955c-4a44-a5b5-7247fbd0cb78)
  )
  (wire (pts (xy 380.365 141.605) (xy 380.365 155.575))
    (stroke (width 0) (type default))
    (uuid 205edffd-7788-4133-811a-d6486a684011)
  )
  (wire (pts (xy 19.05 20.32) (xy 19.05 31.75))
    (stroke (width 0) (type default))
    (uuid 21aba031-23ec-43e7-9cbe-c7ce3d79ccc6)
  )
  (wire (pts (xy 52.07 262.89) (xy 52.07 264.16))
    (stroke (width 0) (type default))
    (uuid 22f67254-9ccb-42d0-8d0e-facaf7fc48c6)
  )
  (wire (pts (xy 158.115 195.58) (xy 158.115 196.85))
    (stroke (width 0) (type default))
    (uuid 2319dd56-901d-4a95-8ce6-0ca73f9ef8f5)
  )
  (wire (pts (xy 138.43 45.72) (xy 138.43 52.07))
    (stroke (width 0) (type default))
    (uuid 23594d4b-d1be-4b60-8724-9af8d93792d6)
  )
  (wire (pts (xy 126.365 220.98) (xy 128.27 220.98))
    (stroke (width 0) (type default))
    (uuid 23bdb19a-83e9-43f6-93e1-c5acdeefd27a)
  )
  (wire (pts (xy 26.67 67.31) (xy 33.02 67.31))
    (stroke (width 0) (type default))
    (uuid 23c42efc-0a7e-4833-a40f-42a042c87e4e)
  )
  (wire (pts (xy 85.09 87.63) (xy 85.09 90.17))
    (stroke (width 0) (type default))
    (uuid 23cec55a-8de1-415b-86f6-1ba4132eb4c7)
  )
  (wire (pts (xy 223.52 251.46) (xy 225.425 251.46))
    (stroke (width 0) (type default))
    (uuid 2448f3a4-30de-438e-916f-2446159ed022)
  )
  (wire (pts (xy 233.68 53.975) (xy 233.68 46.99))
    (stroke (width 0) (type default))
    (uuid 24c3fc99-8d9c-4b19-a7fc-9625feaf553b)
  )
  (wire (pts (xy 103.505 260.985) (xy 122.555 260.985))
    (stroke (width 0) (type default))
    (uuid 254c6cf2-35c7-4424-a333-113bbe05e923)
  )
  (wire (pts (xy 68.58 41.275) (xy 68.58 43.18))
    (stroke (width 0) (type default))
    (uuid 25bf01d4-93e0-483e-805d-549c86baf431)
  )
  (wire (pts (xy 113.03 34.29) (xy 113.03 31.75))
    (stroke (width 0) (type default))
    (uuid 2703cb32-5c3a-4b34-a03f-43e47c4b86b7)
  )
  (wire (pts (xy 101.6 97.79) (xy 101.6 100.33))
    (stroke (width 0) (type default))
    (uuid 272e0a47-dcc4-4c89-9ab3-30cfd570d542)
  )
  (wire (pts (xy 53.34 78.74) (xy 53.34 85.09))
    (stroke (width 0) (type default))
    (uuid 291345cb-c27b-4808-9051-66ba4703ab15)
  )
  (wire (pts (xy 153.67 24.765) (xy 163.83 24.765))
    (stroke (width 0) (type default))
    (uuid 291d1f78-2bd1-48ab-8df5-32cb6910c228)
  )
  (wire (pts (xy 363.22 142.24) (xy 363.22 144.78))
    (stroke (width 0) (type default))
    (uuid 29be695e-1973-41d2-962d-f352223e9ebb)
  )
  (wire (pts (xy 52.07 271.78) (xy 52.07 273.05))
    (stroke (width 0) (type default))
    (uuid 2a937bcd-ce56-42ec-90db-41061dd39a25)
  )
  (wire (pts (xy 208.28 213.36) (xy 208.28 216.535))
    (stroke (width 0) (type default))
    (uuid 2aaf89a2-cd4a-4d3e-bcd2-e74caf51b57b)
  )
  (wire (pts (xy 17.78 180.975) (xy 46.99 180.975))
    (stroke (width 0) (type default))
    (uuid 2accf062-7cc5-4a2b-93b9-1c5896f16273)
  )
  (wire (pts (xy 287.02 145.415) (xy 293.37 145.415))
    (stroke (width 0) (type default))
    (uuid 2b6e941e-2961-4f03-803b-6642ef7c1f3b)
  )
  (wire (pts (xy 355.6 193.04) (xy 384.81 193.04))
    (stroke (width 0) (type default))
    (uuid 2b8af4da-21a9-475e-85ce-36c83d8d3ffe)
  )
  (wire (pts (xy 364.49 86.995) (xy 378.46 86.995))
    (stroke (width 0) (type default))
    (uuid 2bb60849-4855-4d3a-9906-ff0bccdca388)
  )
  (wire (pts (xy 364.49 38.735) (xy 378.46 38.735))
    (stroke (width 0) (type default))
    (uuid 2c41f931-779f-4713-825c-61d0cd331e38)
  )
  (wire (pts (xy 271.78 213.995) (xy 271.78 211.455))
    (stroke (width 0) (type default))
    (uuid 2c6043ed-12fe-4ef7-a41e-52b49b2a4b51)
  )
  (wire (pts (xy 126.365 205.105) (xy 126.365 203.835))
    (stroke (width 0) (type default))
    (uuid 2da40af0-7081-4527-bdb0-b89663bc2f46)
  )
  (wire (pts (xy 146.685 84.455) (xy 146.685 85.09))
    (stroke (width 0) (type default))
    (uuid 2e35f8fa-4993-4101-bf48-c818e44ab26c)
  )
  (wire (pts (xy 364.49 71.755) (xy 384.81 71.755))
    (stroke (width 0) (type default))
    (uuid 2f66aa71-cf89-4b32-804a-f40dde5fef97)
  )
  (wire (pts (xy 134.62 158.115) (xy 138.43 158.115))
    (stroke (width 0) (type default))
    (uuid 3120d6c5-dc92-4a26-9f47-1f68f286d8f5)
  )
  (wire (pts (xy 122.555 263.525) (xy 118.745 263.525))
    (stroke (width 0) (type default))
    (uuid 3144f55b-08cf-408f-ad58-41a24069b928)
  )
  (wire (pts (xy 40.64 273.05) (xy 40.64 271.78))
    (stroke (width 0) (type default))
    (uuid 31692141-29c0-45f5-aeee-b99782b11c20)
  )
  (wire (pts (xy 225.425 186.69) (xy 236.22 186.69))
    (stroke (width 0) (type default))
    (uuid 31b59d7a-4c82-4e3f-89e7-a1e7fc1650c6)
  )
  (wire (pts (xy 17.78 246.38) (xy 40.64 246.38))
    (stroke (width 0) (type default))
    (uuid 336aa67c-c58c-4067-b1c4-90f4f82834f8)
  )
  (wire (pts (xy 208.28 197.485) (xy 208.28 199.39))
    (stroke (width 0) (type default))
    (uuid 337dbc39-fba6-4f85-86fe-dd7caccacd20)
  )
  (wire (pts (xy 54.61 186.055) (xy 54.61 189.865))
    (stroke (width 0) (type default))
    (uuid 33aa0336-67bf-4fba-bc87-a004cae987e1)
  )
  (wire (pts (xy 72.39 233.68) (xy 72.39 222.885))
    (stroke (width 0) (type default))
    (uuid 34ea1e34-e82c-4ee3-b22f-0105a19331bf)
  )
  (wire (pts (xy 40.64 31.75) (xy 46.99 31.75))
    (stroke (width 0) (type default))
    (uuid 3564d2fb-47e1-4905-8ee5-084f63dc7d23)
  )
  (wire (pts (xy 133.35 102.87) (xy 133.35 111.76))
    (stroke (width 0) (type default))
    (uuid 35a33e04-a499-4193-99de-805561656abe)
  )
  (wire (pts (xy 153.67 54.61) (xy 153.67 52.07))
    (stroke (width 0) (type default))
    (uuid 360b6ac6-aa38-4ada-9f11-c5f6e3ac3b14)
  )
  (wire (pts (xy 163.83 24.765) (xy 163.83 35.56))
    (stroke (width 0) (type default))
    (uuid 374f273c-18e7-4612-b4d0-1aac4619d490)
  )
  (wire (pts (xy 203.2 23.495) (xy 215.9 23.495))
    (stroke (width 0) (type default))
    (uuid 37632f15-fa5a-470e-98dc-7aa6456cff9e)
  )
  (wire (pts (xy 197.485 159.385) (xy 198.755 159.385))
    (stroke (width 0) (type default))
    (uuid 380389cf-e803-4f83-bed8-d7ebf69ef615)
  )
  (wire (pts (xy 240.03 36.83) (xy 240.03 32.385))
    (stroke (width 0) (type default))
    (uuid 3809ce44-db89-44d2-bfda-16156eea04e5)
  )
  (wire (pts (xy 233.045 148.59) (xy 246.38 148.59))
    (stroke (width 0) (type default))
    (uuid 389566ab-cce6-498a-a4c4-130a996ea405)
  )
  (wire (pts (xy 232.41 63.5) (xy 232.41 76.835))
    (stroke (width 0) (type default))
    (uuid 38c48a55-e9e6-4aec-b3f2-3f45e9175e21)
  )
  (wire (pts (xy 225.425 213.36) (xy 225.425 214.63))
    (stroke (width 0) (type default))
    (uuid 38f8288a-a5b7-480e-9bb0-e15270bf83b1)
  )
  (wire (pts (xy 93.98 238.76) (xy 110.49 238.76))
    (stroke (width 0) (type default))
    (uuid 391cbd6d-e008-4232-81cb-8af16a3f1124)
  )
  (wire (pts (xy 142.875 34.925) (xy 142.875 24.13))
    (stroke (width 0) (type default))
    (uuid 3937e212-9211-44b5-8848-cfa92e2e45ef)
  )
  (wire (pts (xy 304.8 163.195) (xy 309.88 163.195))
    (stroke (width 0) (type default))
    (uuid 39bdd29e-5073-4eb9-8ad2-c1f45c9fd394)
  )
  (wire (pts (xy 40.64 246.38) (xy 40.64 264.16))
    (stroke (width 0) (type default))
    (uuid 3b59ff80-78d8-412a-b4ca-e5a7949073ce)
  )
  (wire (pts (xy 232.41 76.835) (xy 240.03 76.835))
    (stroke (width 0) (type default))
    (uuid 3ce231ca-0a4a-4f6e-a110-6a51c4e2da40)
  )
  (wire (pts (xy 215.9 23.495) (xy 215.9 36.83))
    (stroke (width 0) (type default))
    (uuid 3cf1c6ff-9529-417a-bc8b-985e647b8480)
  )
  (wire (pts (xy 114.935 158.115) (xy 127 158.115))
    (stroke (width 0) (type default))
    (uuid 3d1986db-65c3-4523-b582-8e453937bad6)
  )
  (wire (pts (xy 101.6 69.85) (xy 101.6 80.01))
    (stroke (width 0) (type default))
    (uuid 3db4f2cb-c33f-4125-9da7-b4a78c53b462)
  )
  (wire (pts (xy 193.675 87.63) (xy 193.675 88.9))
    (stroke (width 0) (type default))
    (uuid 3e106c7a-4957-4072-ad00-f88ee37a73b9)
  )
  (wire (pts (xy 208.28 224.155) (xy 208.28 225.425))
    (stroke (width 0) (type default))
    (uuid 3e2febad-7825-46e4-8c56-ac54db979191)
  )
  (wire (pts (xy 113.03 45.72) (xy 113.03 43.18))
    (stroke (width 0) (type default))
    (uuid 3e8a3cc0-37f8-4672-af5d-32fb592df015)
  )
  (wire (pts (xy 19.05 45.72) (xy 21.59 45.72))
    (stroke (width 0) (type default))
    (uuid 3ece9581-a93b-40e4-92c1-64758a6ec1f7)
  )
  (wire (pts (xy 146.685 82.55) (xy 146.685 84.455))
    (stroke (width 0) (type default))
    (uuid 3ed3c065-a58f-4290-bd02-3affde5c6426)
  )
  (wire (pts (xy 400.05 24.765) (xy 400.05 29.845))
    (stroke (width 0) (type default))
    (uuid 3f3873f2-7e47-4764-83c4-cb930ff0c163)
  )
  (wire (pts (xy 46.99 45.72) (xy 58.42 45.72))
    (stroke (width 0) (type default))
    (uuid 3f6b0bc4-dd1d-4f56-9c14-fa5c44f1acb7)
  )
  (wire (pts (xy 318.77 26.035) (xy 318.77 31.115))
    (stroke (width 0) (type default))
    (uuid 40a274c0-383c-487e-92be-12feea7769d5)
  )
  (wire (pts (xy 290.83 160.655) (xy 290.83 158.115))
    (stroke (width 0) (type default))
    (uuid 40c17ca0-b537-4b8a-ad44-9cfa01079a92)
  )
  (wire (pts (xy 158.115 205.74) (xy 158.115 204.47))
    (stroke (width 0) (type default))
    (uuid 41221f0e-de4e-4a65-9606-202d44ef09cf)
  )
  (wire (pts (xy 74.93 64.77) (xy 80.01 64.77))
    (stroke (width 0) (type default))
    (uuid 4146d255-c853-43f8-a393-3578b46070ee)
  )
  (wire (pts (xy 287.02 160.655) (xy 290.83 160.655))
    (stroke (width 0) (type default))
    (uuid 423e4c03-fb61-4dcc-8e51-e0114aada903)
  )
  (wire (pts (xy 43.18 210.185) (xy 43.18 213.995))
    (stroke (width 0) (type default))
    (uuid 42c3dff2-13de-4f81-8c72-ed04821f12a4)
  )
  (wire (pts (xy 208.28 186.69) (xy 209.55 186.69))
    (stroke (width 0) (type default))
    (uuid 4321e436-e6e9-4844-b218-cd9acd1fe5e0)
  )
  (wire (pts (xy 307.34 145.415) (xy 307.34 141.605))
    (stroke (width 0) (type default))
    (uuid 4387d77d-bd98-4cfa-8bd6-a29efa2ebf57)
  )
  (wire (pts (xy 348.615 160.655) (xy 363.22 160.655))
    (stroke (width 0) (type default))
    (uuid 443f83af-3e95-472a-b98e-f4791170e6d0)
  )
  (wire (pts (xy 191.135 37.465) (xy 193.04 37.465))
    (stroke (width 0) (type default))
    (uuid 445b05f5-1ebb-40b4-85cb-5462e5976237)
  )
  (wire (pts (xy 126.365 196.215) (xy 128.27 196.215))
    (stroke (width 0) (type default))
    (uuid 44b49b9e-0c8b-42c8-8d70-7a429f753529)
  )
  (wire (pts (xy 86.36 219.71) (xy 86.36 226.06))
    (stroke (width 0) (type default))
    (uuid 454879dc-7346-4df7-93ea-3626f706361c)
  )
  (wire (pts (xy 134.62 45.72) (xy 138.43 45.72))
    (stroke (width 0) (type default))
    (uuid 4592d9c7-4afc-4a23-86e6-3478bfe8ba15)
  )
  (wire (pts (xy 148.59 24.13) (xy 151.13 24.13))
    (stroke (width 0) (type default))
    (uuid 4617268e-9733-4e72-a638-fb0f56f87745)
  )
  (wire (pts (xy 81.28 219.71) (xy 81.28 222.885))
    (stroke (width 0) (type default))
    (uuid 467586ec-7a89-4992-bd33-cfd25904762a)
  )
  (wire (pts (xy 213.36 86.995) (xy 213.36 93.98))
    (stroke (width 0) (type default))
    (uuid 474f5334-11ee-41b3-949c-38426eb67441)
  )
  (wire (pts (xy 199.39 186.69) (xy 208.28 186.69))
    (stroke (width 0) (type default))
    (uuid 4786b758-27ee-4f47-8d06-2564235a25e6)
  )
  (wire (pts (xy 133.35 111.76) (xy 146.685 111.76))
    (stroke (width 0) (type default))
    (uuid 4857ef48-48ce-4028-99cf-53a8ac4fe411)
  )
  (wire (pts (xy 148.59 245.11) (xy 148.59 267.97))
    (stroke (width 0) (type default))
    (uuid 49480a96-affc-47bf-b321-579f72b0b71f)
  )
  (wire (pts (xy 146.05 199.39) (xy 160.02 199.39))
    (stroke (width 0) (type default))
    (uuid 496e4fe4-c6c9-446b-b7db-c0dbe86ae4ef)
  )
  (wire (pts (xy 194.31 244.475) (xy 194.31 247.015))
    (stroke (width 0) (type default))
    (uuid 498bafb6-58f2-437e-a954-1f4060b76198)
  )
  (wire (pts (xy 348.615 158.115) (xy 372.11 158.115))
    (stroke (width 0) (type default))
    (uuid 4a55d1f0-14ef-459e-b12c-2749dd8e55eb)
  )
  (wire (pts (xy 224.79 213.36) (xy 225.425 213.36))
    (stroke (width 0) (type default))
    (uuid 4ac9486b-39d6-4e6a-a602-64158842766c)
  )
  (wire (pts (xy 44.45 64.77) (xy 44.45 85.09))
    (stroke (width 0) (type default))
    (uuid 4b172197-219b-4eb3-994e-372cd4670296)
  )
  (wire (pts (xy 179.705 86.36) (xy 179.705 87.63))
    (stroke (width 0) (type default))
    (uuid 4cf6b41c-d8bf-4b2b-8ac4-ea1b3bf99038)
  )
  (wire (pts (xy 158.115 196.85) (xy 160.02 196.85))
    (stroke (width 0) (type default))
    (uuid 4d31b26d-5576-4633-88a9-f1b7616a0221)
  )
  (wire (pts (xy 146.05 224.155) (xy 160.02 224.155))
    (stroke (width 0) (type default))
    (uuid 4dce8ff6-2763-4377-bcad-7d98a339509c)
  )
  (wire (pts (xy 44.45 107.95) (xy 44.45 110.49))
    (stroke (width 0) (type default))
    (uuid 4e2639da-1f64-43ab-92b3-b91d8458265b)
  )
  (wire (pts (xy 94.615 198.755) (xy 94.615 201.295))
    (stroke (width 0) (type default))
    (uuid 4e64d37b-582b-4640-bc89-deeba93dc274)
  )
  (wire (pts (xy 73.66 233.68) (xy 72.39 233.68))
    (stroke (width 0) (type default))
    (uuid 4efd0bc1-5b96-4f95-aa8d-c7b8ca5fc064)
  )
  (wire (pts (xy 364.49 94.615) (xy 378.46 94.615))
    (stroke (width 0) (type default))
    (uuid 4f130367-337d-49ca-ba83-d71cbb5c2d4d)
  )
  (wire (pts (xy 85.09 97.79) (xy 85.09 100.33))
    (stroke (width 0) (type default))
    (uuid 4f39de67-59ee-483d-903c-66e36585c759)
  )
  (wire (pts (xy 85.09 107.95) (xy 85.09 110.49))
    (stroke (width 0) (type default))
    (uuid 4f46bdef-8d3d-4e33-825f-b956608893df)
  )
  (wire (pts (xy 179.705 37.465) (xy 179.705 38.735))
    (stroke (width 0) (type default))
    (uuid 50140448-e48c-4a57-a088-676a10c66fca)
  )
  (wire (pts (xy 67.31 64.77) (xy 74.93 64.77))
    (stroke (width 0) (type default))
    (uuid 53b13ee3-27df-4464-9625-f9bda1dbecc1)
  )
  (wire (pts (xy 67.945 153.035) (xy 74.295 153.035))
    (stroke (width 0) (type default))
    (uuid 55f56fd1-8a27-4d58-a974-bfb6dd6a8559)
  )
  (wire (pts (xy 126.365 219.71) (xy 126.365 220.98))
    (stroke (width 0) (type default))
    (uuid 55ff8869-2200-43db-88fa-187ab40c26f6)
  )
  (wire (pts (xy 364.49 56.515) (xy 378.46 56.515))
    (stroke (width 0) (type default))
    (uuid 5680b9a5-c54d-4094-8ee7-193fe09993e2)
  )
  (wire (pts (xy 33.02 39.37) (xy 33.02 45.72))
    (stroke (width 0) (type default))
    (uuid 57c3a0c7-1302-4947-809b-599474b03f0e)
  )
  (wire (pts (xy 290.83 163.195) (xy 290.83 165.735))
    (stroke (width 0) (type default))
    (uuid 58eb39ff-d1de-4b14-87b7-2d08a29f1807)
  )
  (wire (pts (xy 215.9 46.99) (xy 213.36 46.99))
    (stroke (width 0) (type default))
    (uuid 5ae586ec-2963-42d1-ac55-22dc6ff4d11c)
  )
  (wire (pts (xy 87.63 64.77) (xy 90.17 64.77))
    (stroke (width 0) (type default))
    (uuid 5b7b98d7-5484-4dc2-8f9f-38f5c06f7e7c)
  )
  (wire (pts (xy 142.875 24.13) (xy 148.59 24.13))
    (stroke (width 0) (type default))
    (uuid 5be83c83-1688-4af6-a0c5-09846a42c30e)
  )
  (wire (pts (xy 116.205 245.745) (xy 116.205 268.605))
    (stroke (width 0) (type default))
    (uuid 5d194146-d371-4b5d-be43-b75082c51ca4)
  )
  (wire (pts (xy 53.34 107.95) (xy 53.34 110.49))
    (stroke (width 0) (type default))
    (uuid 5d231d61-8d61-4a19-897b-de5078cb58bf)
  )
  (wire (pts (xy 381 185.42) (xy 381 200.025))
    (stroke (width 0) (type default))
    (uuid 5d5d63d2-8a48-4054-a6bf-b978559f6b51)
  )
  (wire (pts (xy 364.49 81.915) (xy 378.46 81.915))
    (stroke (width 0) (type default))
    (uuid 5dfc0727-967a-418d-b494-4a12d08dd2de)
  )
  (wire (pts (xy 21.59 45.72) (xy 33.02 45.72))
    (stroke (width 0) (type default))
    (uuid 5e00092d-8bbd-4630-92d0-b221a650917b)
  )
  (wire (pts (xy 115.57 45.72) (xy 113.03 45.72))
    (stroke (width 0) (type default))
    (uuid 5e5b38f1-bb46-4f8b-b927-9c8a9984f33a)
  )
  (wire (pts (xy 151.13 54.61) (xy 153.67 54.61))
    (stroke (width 0) (type default))
    (uuid 5f04be9a-8511-45c0-9f94-b2edfd3623be)
  )
  (wire (pts (xy 223.52 240.03) (xy 223.52 251.46))
    (stroke (width 0) (type default))
    (uuid 5f33be9d-f251-48ee-8572-b1f43158311f)
  )
  (wire (pts (xy 53.34 78.74) (xy 59.69 78.74))
    (stroke (width 0) (type default))
    (uuid 6011ba5d-0f1e-48ac-b75c-49b08449a886)
  )
  (wire (pts (xy 162.56 270.51) (xy 162.56 273.05))
    (stroke (width 0) (type default))
    (uuid 605dffe0-17f1-483e-a4a0-087f4e394cdd)
  )
  (wire (pts (xy 236.22 140.97) (xy 236.22 137.16))
    (stroke (width 0) (type default))
    (uuid 606d8127-107c-4c35-b752-c639a65f1ae9)
  )
  (wire (pts (xy 138.43 165.735) (xy 138.43 169.545))
    (stroke (width 0) (type default))
    (uuid 608a27fa-261d-456b-a658-870ba278d225)
  )
  (wire (pts (xy 263.525 23.495) (xy 263.525 26.035))
    (stroke (width 0) (type default))
    (uuid 60b7c889-b60d-4fd9-8425-3827dc535f4e)
  )
  (wire (pts (xy 264.16 213.995) (xy 271.78 213.995))
    (stroke (width 0) (type default))
    (uuid 60e7740f-d94e-4ee9-a7ea-455477a971ea)
  )
  (wire (pts (xy 178.435 213.36) (xy 188.595 213.36))
    (stroke (width 0) (type default))
    (uuid 612cc721-b296-4097-8438-a4e4d759c995)
  )
  (wire (pts (xy 99.06 43.18) (xy 99.06 41.91))
    (stroke (width 0) (type default))
    (uuid 629a395b-a5d8-4f7f-bcc0-c04140d8eb71)
  )
  (wire (pts (xy 17.78 139.7) (xy 29.21 139.7))
    (stroke (width 0) (type default))
    (uuid 62bbc18b-620d-4adf-b44d-0f4d5cc3f6c6)
  )
  (wire (pts (xy 231.14 36.83) (xy 232.41 36.83))
    (stroke (width 0) (type default))
    (uuid 6316c7bf-2932-4e0a-b570-1c8decd8ed4b)
  )
  (wire (pts (xy 206.375 254.635) (xy 203.2 254.635))
    (stroke (width 0) (type default))
    (uuid 63be0f34-fe27-41e8-aed8-ea1e25e66cd2)
  )
  (wire (pts (xy 271.78 213.995) (xy 271.78 216.535))
    (stroke (width 0) (type default))
    (uuid 6438cf15-bbdc-48fa-a6f7-e7cccb9b8309)
  )
  (wire (pts (xy 83.82 39.37) (xy 83.82 43.18))
    (stroke (width 0) (type default))
    (uuid 646b1ad1-2bc2-448b-aa1b-d25218d049c4)
  )
  (wire (pts (xy 142.875 54.61) (xy 151.13 54.61))
    (stroke (width 0) (type default))
    (uuid 64cbe4fb-ba99-43ff-812b-0a66b06f71f9)
  )
  (wire (pts (xy 203.2 82.55) (xy 203.2 85.09))
    (stroke (width 0) (type default))
    (uuid 65472707-87dd-4bf6-a93c-af55e5c8b15f)
  )
  (wire (pts (xy 203.2 23.495) (xy 203.2 32.385))
    (stroke (width 0) (type default))
    (uuid 654914c8-c405-43f7-b106-94e92d96f807)
  )
  (wire (pts (xy 300.99 145.415) (xy 307.34 145.415))
    (stroke (width 0) (type default))
    (uuid 65d4795c-cfb0-4bf8-b566-02badb787602)
  )
  (wire (pts (xy 114.935 180.975) (xy 128.905 180.975))
    (stroke (width 0) (type default))
    (uuid 66bccfb2-3c9d-4312-9057-23058d248394)
  )
  (wire (pts (xy 93.98 236.22) (xy 110.49 236.22))
    (stroke (width 0) (type default))
    (uuid 674ffe08-4dc7-4922-ae8f-7e82d9024af4)
  )
  (wire (pts (xy 208.28 213.36) (xy 209.55 213.36))
    (stroke (width 0) (type default))
    (uuid 6755061e-357f-45b9-9859-35d624af2b82)
  )
  (wire (pts (xy 99.06 31.75) (xy 99.06 26.67))
    (stroke (width 0) (type default))
    (uuid 6848d3bd-f68e-4fa7-a9f0-23cc87c4b4af)
  )
  (wire (pts (xy 287.02 150.495) (xy 298.45 150.495))
    (stroke (width 0) (type default))
    (uuid 6913a756-9e35-431e-ad26-6134e71bfae1)
  )
  (wire (pts (xy 225.425 186.69) (xy 225.425 187.96))
    (stroke (width 0) (type default))
    (uuid 69968b4e-a3ff-448e-af21-1bc8f112ecc6)
  )
  (wire (pts (xy 364.49 66.675) (xy 378.46 66.675))
    (stroke (width 0) (type default))
    (uuid 699d7d19-ad4f-4734-8e54-d3373e4c4141)
  )
  (wire (pts (xy 364.49 89.535) (xy 378.46 89.535))
    (stroke (width 0) (type default))
    (uuid 6a7049ca-ec4b-4284-98b3-64d5d0c29b0c)
  )
  (wire (pts (xy 316.23 150.495) (xy 316.23 147.955))
    (stroke (width 0) (type default))
    (uuid 6b37371d-eddd-40ac-a70b-62fbe9bdae1a)
  )
  (wire (pts (xy 225.425 225.425) (xy 226.695 225.425))
    (stroke (width 0) (type default))
    (uuid 6b4dddba-dd66-4804-8dfd-20e69c1b11e8)
  )
  (wire (pts (xy 53.34 97.79) (xy 67.31 97.79))
    (stroke (width 0) (type default))
    (uuid 6bcb4907-2fbc-4e90-85c6-3a6fcec29c72)
  )
  (wire (pts (xy 17.78 238.76) (xy 33.02 238.76))
    (stroke (width 0) (type default))
    (uuid 6bd98a69-8cb9-4065-b70e-0ed981cd11fc)
  )
  (wire (pts (xy 152.4 252.73) (xy 154.94 252.73))
    (stroke (width 0) (type default))
    (uuid 6c565b15-4488-4ee3-b4c5-9ff4a3188d30)
  )
  (wire (pts (xy 223.52 235.585) (xy 223.52 240.03))
    (stroke (width 0) (type default))
    (uuid 6caef687-1cd5-4690-a588-1bfc95285e67)
  )
  (wire (pts (xy 398.78 112.395) (xy 398.78 113.03))
    (stroke (width 0) (type default))
    (uuid 6d224db6-9b89-402a-ad11-14561df4c1ee)
  )
  (wire (pts (xy 304.8 158.115) (xy 309.88 158.115))
    (stroke (width 0) (type default))
    (uuid 6d24239f-09e0-4488-9aa3-54b5c8445875)
  )
  (wire (pts (xy 53.34 97.79) (xy 53.34 100.33))
    (stroke (width 0) (type default))
    (uuid 6e8db0e9-be1e-4fed-af57-c418fc37228a)
  )
  (wire (pts (xy 234.315 225.425) (xy 241.3 225.425))
    (stroke (width 0) (type default))
    (uuid 70ed3ac8-ce02-4a38-906f-29ce3132184d)
  )
  (wire (pts (xy 233.045 146.05) (xy 246.38 146.05))
    (stroke (width 0) (type default))
    (uuid 716c1750-bcb5-445e-b742-6ed2e1c4f18f)
  )
  (wire (pts (xy 355.6 195.58) (xy 384.81 195.58))
    (stroke (width 0) (type default))
    (uuid 720015f4-1a0a-4d9e-84e9-f967ef7d1666)
  )
  (wire (pts (xy 179.705 77.47) (xy 185.42 77.47))
    (stroke (width 0) (type default))
    (uuid 727c3d2e-53a4-4c23-988e-810c0950dc96)
  )
  (wire (pts (xy 377.19 163.195) (xy 377.19 164.465))
    (stroke (width 0) (type default))
    (uuid 732837d5-7504-4170-bee8-d9f8eb8f2041)
  )
  (wire (pts (xy 83.82 261.62) (xy 83.82 270.51))
    (stroke (width 0) (type default))
    (uuid 73633896-182c-4324-af54-6e970afc4b10)
  )
  (wire (pts (xy 44.45 93.98) (xy 67.31 93.98))
    (stroke (width 0) (type default))
    (uuid 73f1012a-1c03-4b35-aba0-a658ba200067)
  )
  (wire (pts (xy 316.23 147.955) (xy 323.85 147.955))
    (stroke (width 0) (type default))
    (uuid 7421f8f9-0f75-4a1d-bf7a-86b207c9fcd4)
  )
  (wire (pts (xy 153.67 54.61) (xy 163.83 54.61))
    (stroke (width 0) (type default))
    (uuid 75acc3cc-fd42-48d3-a921-1b8ce25a6521)
  )
  (wire (pts (xy 17.78 262.89) (xy 52.07 262.89))
    (stroke (width 0) (type default))
    (uuid 77092c9e-7fc5-4d96-8b1e-afa4927d18dd)
  )
  (wire (pts (xy 142.875 42.545) (xy 142.875 54.61))
    (stroke (width 0) (type default))
    (uuid 772fb11d-edcc-439b-a4be-e27aaa22f317)
  )
  (wire (pts (xy 19.05 43.18) (xy 19.05 45.72))
    (stroke (width 0) (type default))
    (uuid 7766878b-f0b1-4d34-b328-8cc182a0f2e9)
  )
  (wire (pts (xy 17.78 148.59) (xy 29.21 148.59))
    (stroke (width 0) (type default))
    (uuid 77831f7d-0dd0-4985-9965-1e1e95ebf01c)
  )
  (wire (pts (xy 153.67 22.86) (xy 153.67 24.765))
    (stroke (width 0) (type default))
    (uuid 78fc26bc-255c-48be-bdd9-29837cfda43b)
  )
  (wire (pts (xy 203.2 42.545) (xy 203.2 45.085))
    (stroke (width 0) (type default))
    (uuid 791fe806-4131-4efc-9b9e-884f6f600cc4)
  )
  (wire (pts (xy 90.17 64.77) (xy 90.17 57.15))
    (stroke (width 0) (type default))
    (uuid 79a415f6-7af6-4888-9cc3-9c62cb06a1f8)
  )
  (wire (pts (xy 231.14 44.45) (xy 238.76 44.45))
    (stroke (width 0) (type default))
    (uuid 7a6e6753-4dc5-41e1-9968-60ebef9831d3)
  )
  (wire (pts (xy 318.77 112.395) (xy 318.77 118.745))
    (stroke (width 0) (type default))
    (uuid 7afcb71d-e523-4396-8eaf-f8ff469d9baf)
  )
  (wire (pts (xy 376.555 227.33) (xy 378.46 227.33))
    (stroke (width 0) (type default))
    (uuid 7be64679-5f7c-4f4e-a3ea-f429602217d9)
  )
  (wire (pts (xy 60.96 252.73) (xy 59.69 252.73))
    (stroke (width 0) (type default))
    (uuid 7e5b64aa-0249-4f5d-92e9-60118a6dd21b)
  )
  (wire (pts (xy 199.39 225.425) (xy 199.39 224.155))
    (stroke (width 0) (type default))
    (uuid 7f485a34-ab59-4024-9d82-e417c80220cc)
  )
  (wire (pts (xy 43.18 213.995) (xy 43.18 215.265))
    (stroke (width 0) (type default))
    (uuid 7fa2b413-7980-4c20-b931-5c42d7d51c92)
  )
  (wire (pts (xy 122.555 258.445) (xy 120.015 258.445))
    (stroke (width 0) (type default))
    (uuid 7ff23ac2-dd6b-4549-b89f-bc3cf08be36a)
  )
  (wire (pts (xy 151.13 262.89) (xy 151.13 250.19))
    (stroke (width 0) (type default))
    (uuid 801b27d5-b0bd-4122-b6ac-fc2b76ef882a)
  )
  (wire (pts (xy 225.425 195.58) (xy 225.425 198.755))
    (stroke (width 0) (type default))
    (uuid 8091d6e7-8836-4d6b-98b3-c239a1a509e6)
  )
  (wire (pts (xy 287.02 153.035) (xy 307.34 153.035))
    (stroke (width 0) (type default))
    (uuid 812d99f5-2746-4d3b-a9df-256df81142bd)
  )
  (wire (pts (xy 232.41 36.83) (xy 240.03 36.83))
    (stroke (width 0) (type default))
    (uuid 8213cc32-5ec8-42b3-b9ec-e5d37f6ccefe)
  )
  (wire (pts (xy 63.5 186.055) (xy 63.5 205.105))
    (stroke (width 0) (type default))
    (uuid 83a46617-8cdf-49a8-ad47-3187ff01fcd8)
  )
  (wire (pts (xy 287.02 163.195) (xy 290.83 163.195))
    (stroke (width 0) (type default))
    (uuid 8454fd70-217e-455d-b467-73c80a6c80ba)
  )
  (wire (pts (xy 225.425 198.755) (xy 226.695 198.755))
    (stroke (width 0) (type default))
    (uuid 84bfeed4-c7d6-4715-bd19-95022abfbeb1)
  )
  (wire (pts (xy 396.24 51.435) (xy 400.05 51.435))
    (stroke (width 0) (type default))
    (uuid 85009a0d-34fe-4894-99f6-1198564b77af)
  )
  (wire (pts (xy 203.2 63.5) (xy 215.9 63.5))
    (stroke (width 0) (type default))
    (uuid 852c8c3b-ff3e-4912-9287-32158ccb251d)
  )
  (wire (pts (xy 364.49 97.155) (xy 378.46 97.155))
    (stroke (width 0) (type default))
    (uuid 85e3d733-3cf9-47f6-b338-216000f86b41)
  )
  (wire (pts (xy 54.61 189.865) (xy 54.61 215.265))
    (stroke (width 0) (type default))
    (uuid 8602f8b3-b049-4a7a-bb23-b278bf2724e0)
  )
  (wire (pts (xy 196.215 186.69) (xy 199.39 186.69))
    (stroke (width 0) (type default))
    (uuid 8842e27a-0ed9-49d4-8650-989af0ce1bda)
  )
  (wire (pts (xy 53.34 92.71) (xy 53.34 97.79))
    (stroke (width 0) (type default))
    (uuid 88573b2d-35f6-4956-bad8-2c0ec6c37e3c)
  )
  (wire (pts (xy 99.06 31.75) (xy 99.06 34.29))
    (stroke (width 0) (type default))
    (uuid 8905c4d7-2dbc-46a3-9425-4b6df214af20)
  )
  (wire (pts (xy 74.93 78.74) (xy 67.31 78.74))
    (stroke (width 0) (type default))
    (uuid 8951fc42-0c3f-4812-ae13-bd11bb736c00)
  )
  (wire (pts (xy 50.8 205.105) (xy 63.5 205.105))
    (stroke (width 0) (type default))
    (uuid 8af4c0f1-17f2-46cb-b2aa-153359ceb07c)
  )
  (wire (pts (xy 179.705 95.25) (xy 179.705 96.52))
    (stroke (width 0) (type default))
    (uuid 8af6d9fc-56d4-4ac8-8f13-6c99c0c35aef)
  )
  (wire (pts (xy 363.22 142.24) (xy 372.11 142.24))
    (stroke (width 0) (type default))
    (uuid 8afa56a9-20e0-4a41-93c0-3a5ac7af2e3c)
  )
  (wire (pts (xy 64.135 175.895) (xy 74.295 175.895))
    (stroke (width 0) (type default))
    (uuid 8c621b80-c520-4e8c-9551-97b862d5b794)
  )
  (wire (pts (xy 206.375 159.385) (xy 207.645 159.385))
    (stroke (width 0) (type default))
    (uuid 8d3ab011-514f-45d8-af9a-e8c420bee8c6)
  )
  (wire (pts (xy 123.19 22.86) (xy 127 22.86))
    (stroke (width 0) (type default))
    (uuid 8d832548-e881-4757-838c-1e1d874777ef)
  )
  (wire (pts (xy 146.685 111.76) (xy 146.685 114.3))
    (stroke (width 0) (type default))
    (uuid 8d84c8a9-f820-47a8-8038-64deaed48e22)
  )
  (wire (pts (xy 175.26 77.47) (xy 179.705 77.47))
    (stroke (width 0) (type default))
    (uuid 8d9a431e-49cb-4a1d-8f58-b021fd45b159)
  )
  (wire (pts (xy 154.94 245.11) (xy 148.59 245.11))
    (stroke (width 0) (type default))
    (uuid 8fd46e39-cd2e-41a2-a2fd-9feb911cf1dd)
  )
  (wire (pts (xy 36.83 139.7) (xy 40.64 139.7))
    (stroke (width 0) (type default))
    (uuid 90575a57-c50d-4513-a59f-f9dd579c1a9d)
  )
  (wire (pts (xy 364.49 104.775) (xy 378.46 104.775))
    (stroke (width 0) (type default))
    (uuid 925a2aef-a085-4889-8c75-2c16b54e4f8a)
  )
  (wire (pts (xy 368.935 190.5) (xy 365.125 190.5))
    (stroke (width 0) (type default))
    (uuid 927dbd82-85d6-444b-ae19-27ebdc33c0a3)
  )
  (wire (pts (xy 213.36 93.98) (xy 233.68 93.98))
    (stroke (width 0) (type default))
    (uuid 93131004-35a5-4f36-8076-87a7d18072c5)
  )
  (wire (pts (xy 68.58 31.75) (xy 68.58 33.655))
    (stroke (width 0) (type default))
    (uuid 93450537-2237-42f5-9c05-ec6508bbb41f)
  )
  (wire (pts (xy 135.89 260.35) (xy 154.94 260.35))
    (stroke (width 0) (type default))
    (uuid 93f126c5-9486-4a57-9dcb-b345b30c2089)
  )
  (wire (pts (xy 60.96 241.3) (xy 73.66 241.3))
    (stroke (width 0) (type default))
    (uuid 94e03335-a61b-4670-8c7e-d43529996444)
  )
  (wire (pts (xy 306.07 150.495) (xy 316.23 150.495))
    (stroke (width 0) (type default))
    (uuid 96001765-11fb-424c-b3a5-7d39751dc557)
  )
  (wire (pts (xy 43.18 224.155) (xy 43.18 222.885))
    (stroke (width 0) (type default))
    (uuid 97178f08-6d92-4e4a-b687-c09c6e650894)
  )
  (wire (pts (xy 199.39 186.69) (xy 199.39 189.865))
    (stroke (width 0) (type default))
    (uuid 973e6d7f-0e64-4a9e-b514-59ab2acf100f)
  )
  (wire (pts (xy 398.78 121.92) (xy 398.78 123.19))
    (stroke (width 0) (type default))
    (uuid 97c3da69-0b57-4063-b20d-f8cef330548f)
  )
  (wire (pts (xy 126.365 229.87) (xy 126.365 228.6))
    (stroke (width 0) (type default))
    (uuid 98a8cf01-04af-442b-b80a-7aa735fada6e)
  )
  (wire (pts (xy 193.04 77.47) (xy 193.675 77.47))
    (stroke (width 0) (type default))
    (uuid 991d3ae5-96a1-4837-9221-f6727d1dfb3f)
  )
  (wire (pts (xy 203.2 63.5) (xy 203.2 72.39))
    (stroke (width 0) (type default))
    (uuid 9a8ac807-89de-44b3-b5f2-673109caf146)
  )
  (wire (pts (xy 66.675 255.905) (xy 66.675 257.175))
    (stroke (width 0) (type default))
    (uuid 9ce47127-224a-4a8c-9d73-f0e025ca29f0)
  )
  (wire (pts (xy 114.935 145.415) (xy 120.015 145.415))
    (stroke (width 0) (type default))
    (uuid 9cffbe82-f2fb-45ec-b968-d001ca68dec2)
  )
  (wire (pts (xy 215.9 23.495) (xy 219.71 23.495))
    (stroke (width 0) (type default))
    (uuid 9d294d3d-5965-4c9d-a4f1-f40bfd2c7b44)
  )
  (wire (pts (xy 316.23 150.495) (xy 316.23 153.035))
    (stroke (width 0) (type default))
    (uuid 9dec0876-b05f-4ab4-bc60-17e461c7e4cb)
  )
  (wire (pts (xy 364.49 92.075) (xy 378.46 92.075))
    (stroke (width 0) (type default))
    (uuid 9e4109b3-919c-4716-be07-0092f35ac4a6)
  )
  (wire (pts (xy 152.4 257.81) (xy 152.4 252.73))
    (stroke (width 0) (type default))
    (uuid 9e4ac239-012a-4f14-9828-582cd39b2a90)
  )
  (wire (pts (xy 151.13 250.19) (xy 154.94 250.19))
    (stroke (width 0) (type default))
    (uuid a007c621-cf8c-4d3a-90b9-b08b8b139afe)
  )
  (wire (pts (xy 48.26 148.59) (xy 49.53 148.59))
    (stroke (width 0) (type default))
    (uuid a0134d68-01b6-4a04-aa64-2fdbee6136a5)
  )
  (wire (pts (xy 60.96 243.84) (xy 73.66 243.84))
    (stroke (width 0) (type default))
    (uuid a0eb89e8-085a-409a-ae72-d8cc04e6036b)
  )
  (wire (pts (xy 364.49 84.455) (xy 378.46 84.455))
    (stroke (width 0) (type default))
    (uuid a21eaf36-cf6f-4010-b458-2b3d56232c97)
  )
  (wire (pts (xy 64.135 170.815) (xy 74.295 170.815))
    (stroke (width 0) (type default))
    (uuid a23042ef-dd4b-46ce-a5a1-891362e5de0e)
  )
  (wire (pts (xy 314.96 153.035) (xy 316.23 153.035))
    (stroke (width 0) (type default))
    (uuid a282ab2d-eb44-4f97-82ab-ed09747f20f2)
  )
  (wire (pts (xy 126.365 203.835) (xy 128.27 203.835))
    (stroke (width 0) (type default))
    (uuid a2860aab-2990-4252-b42f-c8e36a3c8c4a)
  )
  (wire (pts (xy 376.555 113.03) (xy 376.555 113.665))
    (stroke (width 0) (type default))
    (uuid a2b35827-0a65-427d-b831-b3799546093a)
  )
  (wire (pts (xy 21.59 31.75) (xy 25.4 31.75))
    (stroke (width 0) (type default))
    (uuid a2e53c7a-46c4-4385-a2ef-8a3cd83a5a43)
  )
  (wire (pts (xy 364.49 51.435) (xy 386.08 51.435))
    (stroke (width 0) (type default))
    (uuid a3bf3737-4b49-475c-b74f-5653c5523b05)
  )
  (wire (pts (xy 290.83 165.735) (xy 287.02 165.735))
    (stroke (width 0) (type default))
    (uuid a433d62a-6fed-4adc-b761-c8c3086bd7ad)
  )
  (wire (pts (xy 122.555 245.745) (xy 116.205 245.745))
    (stroke (width 0) (type default))
    (uuid a53bc920-a8ba-48e8-bb66-8320ec227ed2)
  )
  (wire (pts (xy 375.285 24.765) (xy 386.08 24.765))
    (stroke (width 0) (type default))
    (uuid a6e4e903-4d85-4db6-9949-98ca00d84a20)
  )
  (wire (pts (xy 138.43 22.86) (xy 138.43 34.29))
    (stroke (width 0) (type default))
    (uuid a7ed0344-7f69-45f9-9b53-0bedf0b20353)
  )
  (wire (pts (xy 151.13 52.07) (xy 151.13 54.61))
    (stroke (width 0) (type default))
    (uuid a8080ce8-563a-4549-9303-13a57bf872fb)
  )
  (wire (pts (xy 400.05 51.435) (xy 400.05 56.515))
    (stroke (width 0) (type default))
    (uuid a92417ec-4273-4eda-88c0-5caf2bd27fbc)
  )
  (wire (pts (xy 123.19 45.72) (xy 127 45.72))
    (stroke (width 0) (type default))
    (uuid ab1f006f-1d63-407b-afbd-44f986fa1fa1)
  )
  (wire (pts (xy 193.675 47.625) (xy 193.675 48.895))
    (stroke (width 0) (type default))
    (uuid ac30103e-3b07-49a5-8db9-1a55588d01f4)
  )
  (wire (pts (xy 120.015 258.445) (xy 120.015 253.365))
    (stroke (width 0) (type default))
    (uuid ac5b5e94-e987-46f0-ad84-18e6acdafc7d)
  )
  (wire (pts (xy 234.315 198.755) (xy 241.3 198.755))
    (stroke (width 0) (type default))
    (uuid ad48d98d-bb87-4c5c-877d-3c1a37df1738)
  )
  (wire (pts (xy 17.78 157.48) (xy 29.21 157.48))
    (stroke (width 0) (type default))
    (uuid adb56666-cbb1-4722-8795-c144a1bf0e9d)
  )
  (wire (pts (xy 58.42 31.75) (xy 58.42 35.56))
    (stroke (width 0) (type default))
    (uuid ae18b112-35ad-48b3-82d4-dcf1f23979a9)
  )
  (wire (pts (xy 364.49 76.835) (xy 378.46 76.835))
    (stroke (width 0) (type default))
    (uuid ae64b286-7c81-4b61-85cc-448d95b5d021)
  )
  (wire (pts (xy 120.015 253.365) (xy 122.555 253.365))
    (stroke (width 0) (type default))
    (uuid ae6d555a-3247-483d-ad73-28361a21a9e0)
  )
  (wire (pts (xy 36.83 148.59) (xy 40.64 148.59))
    (stroke (width 0) (type default))
    (uuid ae7e165c-c941-4943-a37e-12af717bfc6f)
  )
  (wire (pts (xy 193.675 77.47) (xy 193.675 80.01))
    (stroke (width 0) (type default))
    (uuid af461039-a6b6-4c79-9a33-76b1adc4b2f2)
  )
  (wire (pts (xy 213.36 46.99) (xy 213.36 53.975))
    (stroke (width 0) (type default))
    (uuid af4ffaa9-3f70-4c96-b082-67e39b384924)
  )
  (wire (pts (xy 364.49 74.295) (xy 384.81 74.295))
    (stroke (width 0) (type default))
    (uuid afc405a2-6d69-4076-bcb4-aa92616cabe0)
  )
  (wire (pts (xy 197.485 170.18) (xy 198.755 170.18))
    (stroke (width 0) (type default))
    (uuid b04ac8d5-0123-420f-8aca-c19b87222837)
  )
  (wire (pts (xy 33.02 45.72) (xy 33.02 46.99))
    (stroke (width 0) (type default))
    (uuid b0cecc0d-888c-47a4-9469-cee29bbe9a52)
  )
  (wire (pts (xy 387.985 113.03) (xy 387.985 113.665))
    (stroke (width 0) (type default))
    (uuid b1bd0dab-d615-4c0a-82fd-477f484776ce)
  )
  (wire (pts (xy 114.3 201.295) (xy 128.27 201.295))
    (stroke (width 0) (type default))
    (uuid b31cff80-0734-419f-b923-e33c3be4a342)
  )
  (wire (pts (xy 113.03 22.86) (xy 113.03 20.32))
    (stroke (width 0) (type default))
    (uuid b328eade-e8b8-4569-9618-cbd26dd56768)
  )
  (wire (pts (xy 231.14 76.835) (xy 232.41 76.835))
    (stroke (width 0) (type default))
    (uuid b365bf35-d10a-4e05-9c82-242eb718fbb5)
  )
  (wire (pts (xy 150.495 139.065) (xy 150.495 151.13))
    (stroke (width 0) (type default))
    (uuid b41e631e-389b-4c31-a0dd-34bcf33b8f33)
  )
  (wire (pts (xy 158.115 229.235) (xy 160.02 229.235))
    (stroke (width 0) (type default))
    (uuid b43a2ba1-569a-41f3-af02-cec1b630d937)
  )
  (wire (pts (xy 114.3 226.06) (xy 128.27 226.06))
    (stroke (width 0) (type default))
    (uuid b48f8ba9-6f83-4892-a7bf-0355ca25dbae)
  )
  (wire (pts (xy 199.39 199.39) (xy 199.39 197.485))
    (stroke (width 0) (type default))
    (uuid b4d6224e-37c8-45a9-b78c-8fffe22ad862)
  )
  (wire (pts (xy 48.26 157.48) (xy 49.53 157.48))
    (stroke (width 0) (type default))
    (uuid b54ccb22-d1ad-4f1c-8473-d49dda9062a1)
  )
  (wire (pts (xy 49.53 139.7) (xy 49.53 148.59))
    (stroke (width 0) (type default))
    (uuid b64a263f-36fc-4800-8224-83cad0ee8aff)
  )
  (wire (pts (xy 232.41 23.495) (xy 232.41 36.83))
    (stroke (width 0) (type default))
    (uuid b7375c7a-ab69-49d5-8986-b78481a82815)
  )
  (wire (pts (xy 52.07 273.05) (xy 40.64 273.05))
    (stroke (width 0) (type default))
    (uuid b76222c2-4a27-4043-9cec-77b4a9548146)
  )
  (wire (pts (xy 323.85 147.955) (xy 323.85 150.495))
    (stroke (width 0) (type default))
    (uuid b762a2f4-ad90-4c59-9128-ee91f9969a5b)
  )
  (wire (pts (xy 290.83 163.195) (xy 297.18 163.195))
    (stroke (width 0) (type default))
    (uuid b7a67bc2-2091-417f-b7ae-92d64bea9e51)
  )
  (wire (pts (xy 83.82 43.18) (xy 83.82 45.72))
    (stroke (width 0) (type default))
    (uuid b89f042a-e789-45fa-97b3-859263caed84)
  )
  (wire (pts (xy 376.555 121.92) (xy 387.985 121.92))
    (stroke (width 0) (type default))
    (uuid b97e8cba-84c0-4858-84b8-cfe4ab6e4235)
  )
  (wire (pts (xy 193.675 37.465) (xy 195.58 37.465))
    (stroke (width 0) (type default))
    (uuid b992665c-6ea1-4fdf-88a3-d6e5e6504b93)
  )
  (wire (pts (xy 101.6 107.95) (xy 101.6 110.49))
    (stroke (width 0) (type default))
    (uuid ba0b92d0-9090-46d5-b0a8-4596c8f8f2cb)
  )
  (wire (pts (xy 372.11 152.4) (xy 372.11 158.115))
    (stroke (width 0) (type default))
    (uuid ba463c84-a0bb-46a8-97dd-c1aa28f98d2e)
  )
  (wire (pts (xy 208.28 186.69) (xy 208.28 189.865))
    (stroke (width 0) (type default))
    (uuid ba4a00b1-cab9-4780-84db-6be34565a697)
  )
  (wire (pts (xy 26.67 81.28) (xy 33.02 81.28))
    (stroke (width 0) (type default))
    (uuid ba9139b5-dd1c-441d-b516-daa6a0a80a16)
  )
  (wire (pts (xy 146.05 226.695) (xy 160.02 226.695))
    (stroke (width 0) (type default))
    (uuid bad5a6d3-c083-4e5d-84b5-f0d1de04fdce)
  )
  (wire (pts (xy 133.35 84.455) (xy 146.685 84.455))
    (stroke (width 0) (type default))
    (uuid bb7c4dd5-1aef-4a85-8c1f-dd53a683147c)
  )
  (wire (pts (xy 191.135 77.47) (xy 193.04 77.47))
    (stroke (width 0) (type default))
    (uuid bd18d3a6-9703-481b-9f33-c30df947b9fb)
  )
  (wire (pts (xy 225.425 213.36) (xy 236.22 213.36))
    (stroke (width 0) (type default))
    (uuid bd3e38b0-323f-4367-89d7-60c0b20d2759)
  )
  (wire (pts (xy 114.935 165.735) (xy 127 165.735))
    (stroke (width 0) (type default))
    (uuid bdf21ca8-31fe-4741-b859-c3e8a4f266e2)
  )
  (wire (pts (xy 74.93 64.77) (xy 74.93 78.74))
    (stroke (width 0) (type default))
    (uuid be6541c0-e827-40d2-b734-6e45b273ca0d)
  )
  (wire (pts (xy 231.14 84.455) (xy 238.76 84.455))
    (stroke (width 0) (type default))
    (uuid be67be42-6835-40d3-9cb0-2892adda5816)
  )
  (wire (pts (xy 85.09 69.85) (xy 85.09 80.01))
    (stroke (width 0) (type default))
    (uuid be6a0ea3-d9d0-46f2-9e69-4585f9598a23)
  )
  (wire (pts (xy 135.89 255.27) (xy 154.94 255.27))
    (stroke (width 0) (type default))
    (uuid be86d5df-f5a9-4fb5-b6b3-89b677f2a8bf)
  )
  (wire (pts (xy 68.58 31.75) (xy 68.58 25.4))
    (stroke (width 0) (type default))
    (uuid be8e4ea2-bd8e-4bd3-a8ca-3a9764515ff5)
  )
  (wire (pts (xy 19.05 31.75) (xy 19.05 35.56))
    (stroke (width 0) (type default))
    (uuid c10b8b90-3cfc-463e-a048-bf5385651037)
  )
  (wire (pts (xy 36.83 157.48) (xy 40.64 157.48))
    (stroke (width 0) (type default))
    (uuid c1944d1f-fef0-4d50-819b-93d7462f1b8b)
  )
  (wire (pts (xy 153.67 24.765) (xy 153.67 26.67))
    (stroke (width 0) (type default))
    (uuid c1996fed-07ec-482e-85c8-e78a3e751c30)
  )
  (wire (pts (xy 290.83 158.115) (xy 287.02 158.115))
    (stroke (width 0) (type default))
    (uuid c1bb8e2e-a450-4cca-ab53-a434296e55e5)
  )
  (wire (pts (xy 26.67 64.77) (xy 44.45 64.77))
    (stroke (width 0) (type default))
    (uuid c228c5fc-8ac1-478f-9c82-3eab9875329b)
  )
  (wire (pts (xy 44.45 92.71) (xy 44.45 93.98))
    (stroke (width 0) (type default))
    (uuid c2e4cb1c-f3be-4c44-a9cb-7f9a96592fe6)
  )
  (wire (pts (xy 76.2 31.75) (xy 68.58 31.75))
    (stroke (width 0) (type default))
    (uuid c31b417a-d6a6-43f3-9f7e-8879aa8b892a)
  )
  (wire (pts (xy 158.115 204.47) (xy 160.02 204.47))
    (stroke (width 0) (type default))
    (uuid c327e399-5496-43cc-9ca9-8005cd0a8327)
  )
  (wire (pts (xy 68.58 43.18) (xy 83.82 43.18))
    (stroke (width 0) (type default))
    (uuid c329e881-5fa3-4b3c-9d34-d62fc05fac22)
  )
  (wire (pts (xy 83.82 43.18) (xy 99.06 43.18))
    (stroke (width 0) (type default))
    (uuid c36223e7-2416-43e2-a842-1b5605553d36)
  )
  (wire (pts (xy 223.52 262.89) (xy 225.425 262.89))
    (stroke (width 0) (type default))
    (uuid c3ff3f9a-ff5c-402a-bd74-a466bfa8001d)
  )
  (wire (pts (xy 54.61 224.155) (xy 43.18 224.155))
    (stroke (width 0) (type default))
    (uuid c46e4f61-5ad1-4849-b187-8ecdee164c21)
  )
  (wire (pts (xy 33.02 67.31) (xy 33.02 81.28))
    (stroke (width 0) (type default))
    (uuid c4a5f28f-e00a-40e1-8ea3-3e516eec3b82)
  )
  (wire (pts (xy 380.365 163.195) (xy 377.19 163.195))
    (stroke (width 0) (type default))
    (uuid c5122e45-09d3-48df-a3bc-4df1155dcd16)
  )
  (wire (pts (xy 114.3 198.755) (xy 128.27 198.755))
    (stroke (width 0) (type default))
    (uuid c51584df-be71-41aa-b17f-d99acd93e149)
  )
  (wire (pts (xy 94.615 135.255) (xy 94.615 137.795))
    (stroke (width 0) (type default))
    (uuid c5a9e561-0b58-4591-a7c5-b8c9c2a85a76)
  )
  (wire (pts (xy 179.705 46.355) (xy 179.705 47.625))
    (stroke (width 0) (type default))
    (uuid c5d81172-c63b-49bd-a09e-1709868143d1)
  )
  (wire (pts (xy 263.525 36.195) (xy 273.05 36.195))
    (stroke (width 0) (type default))
    (uuid c6a71609-2932-4740-9742-801cd74cc793)
  )
  (wire (pts (xy 364.49 53.975) (xy 378.46 53.975))
    (stroke (width 0) (type default))
    (uuid c6ddffe3-3090-45f3-994e-7c04b414e688)
  )
  (wire (pts (xy 231.14 49.53) (xy 238.76 49.53))
    (stroke (width 0) (type default))
    (uuid c73d3cef-10c3-4abe-ac06-9aa518aafef0)
  )
  (wire (pts (xy 365.125 190.5) (xy 365.125 186.055))
    (stroke (width 0) (type default))
    (uuid c8321bb5-849b-4066-b3de-51184695c119)
  )
  (wire (pts (xy 114.935 153.035) (xy 120.015 153.035))
    (stroke (width 0) (type default))
    (uuid c9a091c6-27be-4ad2-9a93-711ed6490f25)
  )
  (wire (pts (xy 54.61 224.155) (xy 54.61 224.79))
    (stroke (width 0) (type default))
    (uuid c9c1457d-d97d-48e9-9521-b8fc22dc68ca)
  )
  (wire (pts (xy 103.505 255.905) (xy 122.555 255.905))
    (stroke (width 0) (type default))
    (uuid ca56f3e7-fda7-4aa9-abc0-22cd66c44397)
  )
  (wire (pts (xy 387.985 113.03) (xy 398.78 113.03))
    (stroke (width 0) (type default))
    (uuid cc092678-d60d-4e26-a20e-2d630758ac38)
  )
  (wire (pts (xy 91.44 31.75) (xy 99.06 31.75))
    (stroke (width 0) (type default))
    (uuid cc34da41-ec87-444c-afc9-faae2a6cc312)
  )
  (wire (pts (xy 153.035 139.065) (xy 153.035 151.13))
    (stroke (width 0) (type default))
    (uuid cce1f391-074d-47bd-8e16-4fe1bf674f88)
  )
  (wire (pts (xy 44.45 93.98) (xy 44.45 100.33))
    (stroke (width 0) (type default))
    (uuid ce425909-31e0-4916-8e90-3d7b4a92c4b0)
  )
  (wire (pts (xy 151.13 54.61) (xy 151.13 57.15))
    (stroke (width 0) (type default))
    (uuid ce9703e7-a861-4fc8-9611-e19a82d80366)
  )
  (wire (pts (xy 114.935 170.815) (xy 128.905 170.815))
    (stroke (width 0) (type default))
    (uuid ce9e7b8f-505e-49fc-9964-a865ae58ea83)
  )
  (wire (pts (xy 196.215 213.36) (xy 199.39 213.36))
    (stroke (width 0) (type default))
    (uuid ceffa3c2-dc0f-4eab-b591-501bda448db8)
  )
  (wire (pts (xy 49.53 166.37) (xy 49.53 168.275))
    (stroke (width 0) (type default))
    (uuid d073d9c2-e4e5-4acf-9b70-0eeff6dede8d)
  )
  (wire (pts (xy 396.24 24.765) (xy 400.05 24.765))
    (stroke (width 0) (type default))
    (uuid d07bcf7a-93a7-47d2-9595-fd6fdac50aa1)
  )
  (wire (pts (xy 158.115 230.505) (xy 158.115 229.235))
    (stroke (width 0) (type default))
    (uuid d17a4402-ee0d-4ea5-9210-9a463a6442d9)
  )
  (wire (pts (xy 263.525 36.195) (xy 263.525 33.655))
    (stroke (width 0) (type default))
    (uuid d1c36687-6e51-44cd-b31b-b0ba29ac9939)
  )
  (wire (pts (xy 199.39 213.36) (xy 199.39 216.535))
    (stroke (width 0) (type default))
    (uuid d3258d65-b775-4fa1-a4fd-a31d607468dd)
  )
  (wire (pts (xy 158.115 139.065) (xy 158.115 151.13))
    (stroke (width 0) (type default))
    (uuid d3528413-2dd3-4a30-98e2-3ab0b0788080)
  )
  (wire (pts (xy 227.33 23.495) (xy 232.41 23.495))
    (stroke (width 0) (type default))
    (uuid d3a44517-052e-45dc-847b-3d03502106b3)
  )
  (wire (pts (xy 126.365 194.945) (xy 126.365 196.215))
    (stroke (width 0) (type default))
    (uuid d42b1e55-89b9-4214-a8fd-630f32f97644)
  )
  (wire (pts (xy 179.705 77.47) (xy 179.705 78.74))
    (stroke (width 0) (type default))
    (uuid d48fa303-210a-434b-91ff-0e511684edc3)
  )
  (wire (pts (xy 203.2 254.635) (xy 203.2 252.095))
    (stroke (width 0) (type default))
    (uuid d54e9754-b226-41a7-af18-2d63eb85cc10)
  )
  (wire (pts (xy 208.28 225.425) (xy 199.39 225.425))
    (stroke (width 0) (type default))
    (uuid d56085ec-6e8a-4831-98e5-60338520ff97)
  )
  (wire (pts (xy 206.375 259.715) (xy 191.135 259.715))
    (stroke (width 0) (type default))
    (uuid d58fd647-a902-4102-8900-1f1633742a44)
  )
  (wire (pts (xy 231.14 89.535) (xy 238.76 89.535))
    (stroke (width 0) (type default))
    (uuid d5a372dc-fcbf-442c-8122-5e218f12ebe1)
  )
  (wire (pts (xy 151.13 24.13) (xy 151.13 26.67))
    (stroke (width 0) (type default))
    (uuid d63fae69-f85b-44cd-b890-90c20e599540)
  )
  (wire (pts (xy 158.115 220.345) (xy 158.115 221.615))
    (stroke (width 0) (type default))
    (uuid d64aa9b2-0eb9-4712-8a08-e3784b97d77c)
  )
  (wire (pts (xy 138.43 158.115) (xy 138.43 153.035))
    (stroke (width 0) (type default))
    (uuid d739deed-9dfd-496c-b8fe-67d20767e936)
  )
  (wire (pts (xy 179.705 37.465) (xy 185.42 37.465))
    (stroke (width 0) (type default))
    (uuid d7e48597-a44d-4bfa-ba7a-99267edc3662)
  )
  (wire (pts (xy 363.22 152.4) (xy 363.22 160.655))
    (stroke (width 0) (type default))
    (uuid d9456aa2-7d30-4c13-9cf5-8c6db350b79a)
  )
  (wire (pts (xy 372.11 142.24) (xy 372.11 144.78))
    (stroke (width 0) (type default))
    (uuid da497f24-91d7-4705-9478-eefd386c4203)
  )
  (wire (pts (xy 223.52 251.46) (xy 223.52 262.89))
    (stroke (width 0) (type default))
    (uuid da52688b-2abe-454d-8855-d751347db1be)
  )
  (wire (pts (xy 227.33 63.5) (xy 232.41 63.5))
    (stroke (width 0) (type default))
    (uuid dad6c07e-9fa4-4ea7-bcaa-b834a9f7fb97)
  )
  (wire (pts (xy 26.67 78.74) (xy 53.34 78.74))
    (stroke (width 0) (type default))
    (uuid db2a0556-0560-4076-be90-6430d8b1ca3b)
  )
  (wire (pts (xy 126.365 228.6) (xy 128.27 228.6))
    (stroke (width 0) (type default))
    (uuid dc1c854f-aa49-4a96-953c-dddb8c1d287f)
  )
  (wire (pts (xy 66.675 264.795) (xy 66.675 266.7))
    (stroke (width 0) (type default))
    (uuid dc4d167a-3d99-41a2-b4f3-975bc06768c0)
  )
  (wire (pts (xy 364.49 69.215) (xy 378.46 69.215))
    (stroke (width 0) (type default))
    (uuid dc90e89c-c417-4e2d-885c-97016da31aea)
  )
  (wire (pts (xy 130.175 271.145) (xy 130.175 273.685))
    (stroke (width 0) (type default))
    (uuid dca6ad85-e338-457f-8761-2f6e0a057274)
  )
  (wire (pts (xy 36.83 166.37) (xy 40.64 166.37))
    (stroke (width 0) (type default))
    (uuid dcd2c720-576b-4c00-b048-640efd7761d9)
  )
  (wire (pts (xy 60.96 243.84) (xy 60.96 252.73))
    (stroke (width 0) (type default))
    (uuid dd7d26f3-a280-413c-bd77-6f893ab5ff30)
  )
  (wire (pts (xy 386.08 234.95) (xy 386.08 237.49))
    (stroke (width 0) (type default))
    (uuid ddd26a79-015a-4157-986f-e2003c576b0a)
  )
  (wire (pts (xy 208.28 199.39) (xy 208.28 201.93))
    (stroke (width 0) (type default))
    (uuid de65c872-c4e0-4406-87d7-2283e40f686b)
  )
  (wire (pts (xy 62.23 180.975) (xy 74.295 180.975))
    (stroke (width 0) (type default))
    (uuid de74c3ae-d165-4434-9bc6-ec2e4a67faaf)
  )
  (wire (pts (xy 193.04 37.465) (xy 193.675 37.465))
    (stroke (width 0) (type default))
    (uuid df48dcfa-5b0c-4bfd-bb0f-a4a74527d71e)
  )
  (wire (pts (xy 155.575 139.065) (xy 155.575 151.13))
    (stroke (width 0) (type default))
    (uuid df75cc28-d2a5-4573-979d-515c04227420)
  )
  (wire (pts (xy 364.49 43.815) (xy 378.46 43.815))
    (stroke (width 0) (type default))
    (uuid e0269c76-da6c-4382-9572-1e2b7f2030e2)
  )
  (wire (pts (xy 206.375 170.18) (xy 207.645 170.18))
    (stroke (width 0) (type default))
    (uuid e02d92ba-b0c5-494f-a9d9-49c323560a51)
  )
  (wire (pts (xy 264.16 211.455) (xy 264.16 213.995))
    (stroke (width 0) (type default))
    (uuid e0bcd952-63f3-4686-89e9-f4fde6d57e7d)
  )
  (wire (pts (xy 134.62 22.86) (xy 138.43 22.86))
    (stroke (width 0) (type default))
    (uuid e0c5320d-5d54-4e9c-ad65-93e4fd2d8137)
  )
  (wire (pts (xy 53.975 138.43) (xy 53.975 139.7))
    (stroke (width 0) (type default))
    (uuid e0f4585c-6f1b-49ab-885a-f519339312ed)
  )
  (wire (pts (xy 163.83 54.61) (xy 163.83 43.18))
    (stroke (width 0) (type default))
    (uuid e15b6254-b42d-40a1-b315-3b88a0b14de5)
  )
  (wire (pts (xy 193.675 77.47) (xy 195.58 77.47))
    (stroke (width 0) (type default))
    (uuid e3220c8c-ec1e-49cf-a575-21bd5fcaff0e)
  )
  (wire (pts (xy 60.96 236.22) (xy 73.66 236.22))
    (stroke (width 0) (type default))
    (uuid e435934a-3c93-4062-8261-ae91eda30e4d)
  )
  (wire (pts (xy 208.28 199.39) (xy 199.39 199.39))
    (stroke (width 0) (type default))
    (uuid e438ba77-6d1a-425f-a2f1-55869df44701)
  )
  (wire (pts (xy 398.78 113.03) (xy 398.78 113.665))
    (stroke (width 0) (type default))
    (uuid e4b129e2-2f7a-45ef-bb19-a5746adbe57d)
  )
  (wire (pts (xy 146.05 201.93) (xy 160.02 201.93))
    (stroke (width 0) (type default))
    (uuid e68f4422-bf14-40f1-8511-2ed8ede37b79)
  )
  (wire (pts (xy 114.935 175.895) (xy 128.905 175.895))
    (stroke (width 0) (type default))
    (uuid e7f4a452-fe0a-47da-b77c-abd3b695b336)
  )
  (wire (pts (xy 191.135 241.935) (xy 206.375 241.935))
    (stroke (width 0) (type default))
    (uuid e82d57fb-7cb6-4c02-9b9e-0b62f8e070ef)
  )
  (wire (pts (xy 54.61 222.885) (xy 54.61 224.155))
    (stroke (width 0) (type default))
    (uuid e869634c-6c82-4516-9401-782f2df240a8)
  )
  (wire (pts (xy 17.78 189.865) (xy 54.61 189.865))
    (stroke (width 0) (type default))
    (uuid e89935c4-cd8f-407f-bd5f-d71e2b7f520d)
  )
  (wire (pts (xy 239.395 167.005) (xy 239.395 170.18))
    (stroke (width 0) (type default))
    (uuid e8b751c8-d8ec-46f6-8c27-2ebca7c27422)
  )
  (wire (pts (xy 46.99 31.75) (xy 58.42 31.75))
    (stroke (width 0) (type default))
    (uuid e9c5cead-c3d4-4078-b624-497c82af2111)
  )
  (wire (pts (xy 19.05 31.75) (xy 21.59 31.75))
    (stroke (width 0) (type default))
    (uuid eaacb376-e6d2-4b59-a547-d244f6b7e205)
  )
  (wire (pts (xy 206.375 262.255) (xy 203.2 262.255))
    (stroke (width 0) (type default))
    (uuid eb5cbeb6-f78e-4831-a5c8-3ac06f0b52cd)
  )
  (wire (pts (xy 193.675 37.465) (xy 193.675 40.005))
    (stroke (width 0) (type default))
    (uuid eb5d4a87-49be-4f9b-acaa-e322085c2507)
  )
  (wire (pts (xy 46.99 31.75) (xy 46.99 35.56))
    (stroke (width 0) (type default))
    (uuid eb70340a-cfd4-4a27-ae50-b58d00d7c753)
  )
  (wire (pts (xy 93.98 243.84) (xy 110.49 243.84))
    (stroke (width 0) (type default))
    (uuid eb90722a-50ba-4a4d-92f6-16b2cb63f00c)
  )
  (wire (pts (xy 368.935 217.17) (xy 368.935 219.71))
    (stroke (width 0) (type default))
    (uuid ec127b05-2ae5-4b8a-8d37-6b72a4ebd2cc)
  )
  (wire (pts (xy 213.36 53.975) (xy 233.68 53.975))
    (stroke (width 0) (type default))
    (uuid ec544575-394e-4d27-ab94-068c7203df78)
  )
  (wire (pts (xy 52.07 262.89) (xy 52.07 257.81))
    (stroke (width 0) (type default))
    (uuid ee2081d5-1385-4703-9116-a9c7490c9ab8)
  )
  (wire (pts (xy 115.57 34.29) (xy 113.03 34.29))
    (stroke (width 0) (type default))
    (uuid ef1180a4-9525-4409-a59f-d162248cf27f)
  )
  (wire (pts (xy 179.705 55.245) (xy 179.705 56.515))
    (stroke (width 0) (type default))
    (uuid efc9b29b-5233-409a-a96f-d7fcf31f5b65)
  )
  (wire (pts (xy 368.935 234.95) (xy 368.935 237.49))
    (stroke (width 0) (type default))
    (uuid f14582f9-8b85-4a8e-93f8-c226077c5e44)
  )
  (wire (pts (xy 191.135 239.395) (xy 206.375 239.395))
    (stroke (width 0) (type default))
    (uuid f1485447-f4d2-436e-9406-0dbd06cd9e63)
  )
  (wire (pts (xy 146.685 110.49) (xy 146.685 111.76))
    (stroke (width 0) (type default))
    (uuid f1835722-a5a4-42ad-afcc-f4d606c0de2d)
  )
  (wire (pts (xy 191.135 236.855) (xy 194.31 236.855))
    (stroke (width 0) (type default))
    (uuid f1cdddd5-b48a-46f3-82b1-077c55464a2d)
  )
  (wire (pts (xy 191.135 244.475) (xy 194.31 244.475))
    (stroke (width 0) (type default))
    (uuid f2ac6d15-9cf7-4bc8-aeec-1b2c7b56607c)
  )
  (wire (pts (xy 49.53 148.59) (xy 49.53 157.48))
    (stroke (width 0) (type default))
    (uuid f332dba1-e280-4686-9df4-18db3638981c)
  )
  (wire (pts (xy 215.9 63.5) (xy 219.71 63.5))
    (stroke (width 0) (type default))
    (uuid f339a74c-7099-452f-ae54-2d5e0422bfe3)
  )
  (wire (pts (xy 364.49 64.135) (xy 378.46 64.135))
    (stroke (width 0) (type default))
    (uuid f42e4cc6-6d00-4eb1-82a5-3dd8613e57ab)
  )
  (wire (pts (xy 148.59 22.86) (xy 148.59 24.13))
    (stroke (width 0) (type default))
    (uuid f4781894-1f56-424e-9154-e78209ed2092)
  )
  (wire (pts (xy 123.19 34.29) (xy 127 34.29))
    (stroke (width 0) (type default))
    (uuid f49eb794-3b99-4c3e-914e-c0fff5e0d9ac)
  )
  (wire (pts (xy 376.555 190.5) (xy 384.81 190.5))
    (stroke (width 0) (type default))
    (uuid f4e965c7-4e2b-4b18-8a6c-9e7c780e35e4)
  )
  (wire (pts (xy 133.35 95.25) (xy 133.35 84.455))
    (stroke (width 0) (type default))
    (uuid f588afb9-9d53-444e-9859-5c5b8ae23c7a)
  )
  (wire (pts (xy 138.43 34.29) (xy 138.43 45.72))
    (stroke (width 0) (type default))
    (uuid f5bdf703-c182-4922-9a04-6a1a4fdf3ff6)
  )
  (wire (pts (xy 48.26 139.7) (xy 49.53 139.7))
    (stroke (width 0) (type default))
    (uuid f5c20d9d-e7af-43dd-9b7b-c097fa730aed)
  )
  (wire (pts (xy 263.525 46.99) (xy 263.525 49.53))
    (stroke (width 0) (type default))
    (uuid f6c0ee72-ef9a-4650-8970-79cb27ac6d3b)
  )
  (wire (pts (xy 199.39 213.36) (xy 208.28 213.36))
    (stroke (width 0) (type default))
    (uuid f7aeb4f1-92b9-4d81-9b69-d27d381af7d9)
  )
  (wire (pts (xy 223.52 274.32) (xy 225.425 274.32))
    (stroke (width 0) (type default))
    (uuid f8004e6c-f406-4b64-b582-9f3bff97df97)
  )
  (wire (pts (xy 376.555 113.03) (xy 387.985 113.03))
    (stroke (width 0) (type default))
    (uuid f88c40e1-5b25-496b-a6a1-4b1dcc0d8e5d)
  )
  (wire (pts (xy 46.99 45.72) (xy 46.99 43.18))
    (stroke (width 0) (type default))
    (uuid f890f73d-98a3-411a-928e-9f22e2d1d925)
  )
  (wire (pts (xy 239.395 157.48) (xy 239.395 159.385))
    (stroke (width 0) (type default))
    (uuid f8aeb078-fed3-4fa6-a1d5-fb6b82c140f9)
  )
  (wire (pts (xy 53.975 147.32) (xy 53.975 149.225))
    (stroke (width 0) (type default))
    (uuid f8d8f43d-d581-41e2-a91b-577fbcc7938d)
  )
  (wire (pts (xy 384.81 185.42) (xy 381 185.42))
    (stroke (width 0) (type default))
    (uuid f9677aed-2720-4e99-b0ea-6c7976954ad9)
  )
  (wire (pts (xy 198.12 146.05) (xy 212.725 146.05))
    (stroke (width 0) (type default))
    (uuid fa027ea8-c5e3-47b9-bec2-5488b2bc652f)
  )
  (wire (pts (xy 290.83 158.115) (xy 297.18 158.115))
    (stroke (width 0) (type default))
    (uuid fa23996a-cde2-4b8e-9c38-351338618cc9)
  )
  (wire (pts (xy 223.52 262.89) (xy 223.52 274.32))
    (stroke (width 0) (type default))
    (uuid fb07fe82-89fd-4959-9228-662e88261bf5)
  )
  (wire (pts (xy 72.39 222.885) (xy 81.28 222.885))
    (stroke (width 0) (type default))
    (uuid fb5cb342-ea99-4553-bb30-47f47257d087)
  )
  (wire (pts (xy 376.555 121.285) (xy 376.555 121.92))
    (stroke (width 0) (type default))
    (uuid fb74fd8c-20d7-40a2-b5ef-0e1a62b354f9)
  )
  (wire (pts (xy 198.12 148.59) (xy 212.725 148.59))
    (stroke (width 0) (type default))
    (uuid fd09b8c6-aa8f-46c8-bd85-dca5021d8e8e)
  )
  (wire (pts (xy 207.645 170.18) (xy 207.645 171.45))
    (stroke (width 0) (type default))
    (uuid fd4dea8c-6f2d-412f-9cda-921f129c78ed)
  )
  (wire (pts (xy 215.9 86.995) (xy 213.36 86.995))
    (stroke (width 0) (type default))
    (uuid fd50d670-7fa4-46ef-8b65-9e9faa16313d)
  )
  (wire (pts (xy 118.745 250.825) (xy 122.555 250.825))
    (stroke (width 0) (type default))
    (uuid fda09d92-03dd-4259-981a-e723ea40f671)
  )
  (wire (pts (xy 364.49 36.195) (xy 378.46 36.195))
    (stroke (width 0) (type default))
    (uuid fdcf1e37-70bf-4485-94a3-7c4eceb18c2c)
  )
  (wire (pts (xy 233.68 86.995) (xy 238.76 86.995))
    (stroke (width 0) (type default))
    (uuid fdd1094d-8468-4f02-9307-da6fef732a36)
  )
  (wire (pts (xy 58.42 45.72) (xy 58.42 43.18))
    (stroke (width 0) (type default))
    (uuid fe32889d-eb6b-4d0c-b749-9b54c804b620)
  )
  (wire (pts (xy 17.78 213.995) (xy 43.18 213.995))
    (stroke (width 0) (type default))
    (uuid fe7cb8ca-db70-4037-a84d-67eaf1b66e25)
  )
  (wire (pts (xy 33.02 81.28) (xy 33.02 88.9))
    (stroke (width 0) (type default))
    (uuid fe9af20d-2fe5-4b6d-a495-5d118a975af6)
  )
  (wire (pts (xy 52.07 273.05) (xy 52.07 273.685))
    (stroke (width 0) (type default))
    (uuid fee96d48-914f-489f-b793-bd9b0fe5bb94)
  )

  (rectangle (start 334.01 179.07) (end 405.13 207.01)
    (stroke (width 0) (type default))
    (fill (type none))
    (uuid 27d78db6-f395-4328-85dc-2f1d902c8f29)
  )
  (rectangle (start 15.24 13.97) (end 169.545 125.73)
    (stroke (width 0) (type default))
    (fill (type none))
    (uuid 2935b83f-c79f-4597-ba55-9e30f11cb431)
  )
  (rectangle (start 172.72 129.54) (end 248.92 280.67)
    (stroke (width 0) (type default))
    (fill (type none))
    (uuid 5a6e5dda-5aca-44c8-b328-2d4dc3d8f435)
  )
  (rectangle (start 251.46 129.54) (end 332.105 249.555)
    (stroke (width 0) (type default))
    (fill (type none))
    (uuid 61234051-09f0-4b2d-94bf-618ee8e2c5a6)
  )
  (rectangle (start 172.085 13.97) (end 256.54 105.41)
    (stroke (width 0) (type default))
    (fill (type none))
    (uuid 68e1816a-885c-4ee3-a082-3c86f703cd10)
  )
  (rectangle (start 334.01 209.55) (end 405.13 248.92)
    (stroke (width 0) (type default))
    (fill (type none))
    (uuid 811fcbcb-b35b-45ac-8cb7-e894f6233244)
  )
  (rectangle (start 15.24 129.54) (end 169.545 280.67)
    (stroke (width 0) (type default))
    (fill (type none))
    (uuid 83e3ca47-50ad-47b5-981e-c3fd90f832d2)
  )
  (rectangle (start 334.01 129.54) (end 405.13 177.165)
    (stroke (width 0) (type default))
    (fill (type none))
    (uuid c47aef35-d464-44d8-a496-5bcb7d56c0bc)
  )

  (text_box "Analog muxes disconnect parts of the RX chain to allow user to select which voltage standard to use (3v3, 5v or RS232)."
    (at 135.255 177.165 0) (size 29.21 11.43)
    (stroke (width 0) (type default))
    (fill (type none))
    (effects (font (size 1.27 1.27)) (justify left top))
    (uuid 5468dbbb-615e-48a1-b834-e8a0cc3b5bb2)
  )
  (text_box "Not a real 7805, but a 7805-shaped DC/DC module."
    (at 24.13 15.875 0) (size 18.415 10.795)
    (stroke (width 0) (type default))
    (fill (type none))
    (effects (font (size 1.27 1.27)) (justify left top))
    (uuid a606a11c-3f45-4499-9b86-c386747762d9)
  )

  (text "Vh == 10V" (at 178.435 189.865 0)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid 29707203-aa74-4f0c-93e9-912f9072d057)
  )
  (text "PSU" (at 16.51 124.46 0)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid 2e83077b-6883-4728-813b-4ff8c23d206d)
  )
  (text "Generic I2C" (at 334.645 132.08 0)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid 3988347d-78ac-4019-a02d-7176f2a7b450)
  )
  (text "q3k heavy industries ltd" (at 321.945 264.795 0)
    (effects (font (face "Comic Sans MS") (size 4 4)) (justify left bottom))
    (uuid 48ea57f4-e197-40a2-b5f8-d70d9bd84725)
  )
  (text "USB" (at 252.095 132.08 0)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid 4fe68d0c-2a33-42dd-8f94-aa499a9e499f)
  )
  (text "Debug UART\n(vaguely 'FTDI connector' compatible)" (at 335.28 205.74 0)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid 976c1d9b-1bce-4265-bde6-9dc979be6a35)
  )
  (text "Gamer LEDs" (at 335.28 212.725 0)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid 9d620963-dd01-4dd3-8f35-27f03a67e63d)
  )
  (text "hacklock2137" (at 310.515 277.495 0)
    (effects (font (size 2 2)) (justify left bottom))
    (uuid bdb57c15-1cfc-4f2a-96a2-47cc4c087482)
  )
  (text "RELAY OUT" (at 173.355 104.14 0)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid dbfe0317-8fa9-4db6-a95a-a3094ee61a8b)
  )
  (text "24V GPIO\n" (at 173.355 132.08 0)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid f986f21f-838c-41df-9a53-6c0a65462bb9)
  )
  (text "UART/RS232" (at 16.51 132.715 0)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid fc46e621-7474-43ae-b565-15591e910d28)
  )

  (label "D-" (at 378.46 46.355 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right bottom))
    (uuid 02211534-86ba-4054-bbb2-852f8acccbe7)
  )
  (label "UART2_TX" (at 17.78 157.48 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid 0245f877-e8a0-49fc-b7a5-4cc9bfe0af17)
  )
  (label "UART0_TX" (at 355.6 195.58 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid 030a0c5a-3f3a-42cb-afa5-d7cad3da7675)
  )
  (label "UART2_RX" (at 17.78 166.37 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid 0335d08f-f226-4b64-bf2c-3df53c776674)
  )
  (label "I2C_SDA" (at 348.615 160.655 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid 0b1ded1c-0867-47c7-8e47-7d6fe4650b29)
  )
  (label "RS232_2_RX" (at 128.905 186.055 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right bottom))
    (uuid 0b4dd550-03e1-43f4-b486-c336cfb51336)
  )
  (label "OUT13_3V3" (at 198.12 148.59 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid 0c47b38c-fa14-4793-83ee-9de508f99561)
  )
  (label "PWR1_FB" (at 378.46 53.975 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right bottom))
    (uuid 0cfa0b28-e117-4c23-a17f-b9b7a32ad35f)
  )
  (label "IN11_24V" (at 206.375 241.935 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right bottom))
    (uuid 0e92608a-0bcf-421f-8a91-a83bde8c7564)
  )
  (label "OUT12_3V3" (at 177.8 159.385 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid 139ef907-6033-4289-bc2d-f0301a4ae139)
  )
  (label "UART1_TX_5V" (at 64.135 170.815 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid 14057b49-0d88-4df7-8619-6e2263b0568e)
  )
  (label "IN11_3V3" (at 236.22 213.36 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right bottom))
    (uuid 14bd409c-7442-40d4-9b5a-678bf541f048)
  )
  (label "UART2_TX" (at 60.96 241.3 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid 1630258e-7596-4ee6-932d-f974c908f1e8)
  )
  (label "RS232_2_RX" (at 103.505 255.905 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid 1b0213a3-cca7-4490-a10d-997d3cde8ee9)
  )
  (label "IN10_3V3" (at 378.46 76.835 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right bottom))
    (uuid 1bdb7ffd-9c92-4775-8c29-03a6c9ec1060)
  )
  (label "UART1_RX_5V" (at 153.035 139.065 270) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right bottom))
    (uuid 1d1f4bf7-dd93-4513-8557-7b84ca971b0d)
  )
  (label "PWR2" (at 35.56 78.74 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid 1ff95d72-720b-42ce-a8df-cfe71bd1e2e5)
  )
  (label "UART1_5V_EN" (at 378.46 66.675 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right bottom))
    (uuid 24b50279-2cb1-4a06-9450-91605bfd2597)
  )
  (label "UART2_TX_5V" (at 110.49 241.3 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right bottom))
    (uuid 29c60da5-db20-4947-9bac-df7775e7f29c)
  )
  (label "UART2_RS232_EN" (at 17.78 213.995 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid 29de7156-4950-4e7e-a9bc-8c5ecec8d2af)
  )
  (label "PWR1_FB" (at 67.31 93.98 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right bottom))
    (uuid 29f5f4c8-6348-4606-b519-12e6d77748ee)
  )
  (label "WS2812" (at 378.46 107.315 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right bottom))
    (uuid 2b0956a6-f0f0-40b8-b421-0ee9a1923765)
  )
  (label "UART1_RS232_EN" (at 384.81 71.755 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right bottom))
    (uuid 2b1be69f-996b-4dd1-948f-a13ebc05555c)
  )
  (label "RS232_2_TX" (at 103.505 260.985 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid 2d1f3ead-21c7-4960-8bea-08f4b7716150)
  )
  (label "IN11_3V3" (at 378.46 79.375 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right bottom))
    (uuid 2eb5c02d-f263-4f71-8e67-4aac00f1fe4d)
  )
  (label "PWR1" (at 85.09 69.85 270) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right bottom))
    (uuid 306c3c19-b0ab-4886-8eb5-39d7cf804048)
  )
  (label "UART2_TX_5V" (at 114.3 223.52 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid 3139dc58-db6e-4ddb-959d-4ec5bfc1ceb3)
  )
  (label "RS232_1_TX" (at 128.905 170.815 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right bottom))
    (uuid 3880f007-ac82-45da-b370-0afe9e12f3d4)
  )
  (label "UART2_RX_5V" (at 114.3 226.06 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid 3a17ec9c-4893-453f-949d-2aa62aa7e022)
  )
  (label "UART2_RX_5V" (at 110.49 243.84 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right bottom))
    (uuid 3ea32491-7588-4a6c-92b4-f9372bb617c1)
  )
  (label "OUT13_24V" (at 191.135 259.715 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid 4487cd8c-ac83-482a-87ef-914be36f1062)
  )
  (label "UART1_RX" (at 17.78 148.59 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid 44e14d1d-912e-4a2d-b8a9-a3534a38d2c9)
  )
  (label "OUT13_24V" (at 246.38 148.59 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right bottom))
    (uuid 48033834-1f0c-48be-b52c-ea6b82ce08fe)
  )
  (label "OUT12_3V3" (at 378.46 81.915 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right bottom))
    (uuid 4a02056d-2557-428f-82d5-604fe2da1c3c)
  )
  (label "OUT21_3V3" (at 378.46 94.615 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right bottom))
    (uuid 4d78a384-bff0-46a8-a3d5-771b246958a9)
  )
  (label "OUT12_24V" (at 246.38 146.05 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right bottom))
    (uuid 4faa324a-ff18-41d8-b56b-a0573bdd86df)
  )
  (label "UART1_RX" (at 17.78 238.76 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid 5292025b-2c0b-41cf-95e7-d8d881d99a62)
  )
  (label "UART1_5V_EN" (at 17.78 246.38 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid 58d207c2-5877-4e6e-abdd-2940e9d519e2)
  )
  (label "I2C_SCL" (at 348.615 158.115 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid 5a41649c-b57a-49cf-b1fd-424ab32011b2)
  )
  (label "UART2_RX" (at 378.46 64.135 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right bottom))
    (uuid 5db247d3-d569-4289-85eb-ba6ddb88a69c)
  )
  (label "UART1_RX_5V" (at 110.49 238.76 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right bottom))
    (uuid 6896e15c-3842-44bd-9e40-88aaed6a22b8)
  )
  (label "IN10_24V" (at 178.435 186.69 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid 6a05a804-2874-4e46-8023-54ae7c082be0)
  )
  (label "VBUS" (at 287.655 145.415 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid 6b8df6e1-93d9-49ce-8c8a-8b97774bff26)
  )
  (label "UART2_RX_5V" (at 17.78 205.105 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid 6dda60de-052a-4a7b-b206-8c8cb2992f4f)
  )
  (label "IN10_3V3" (at 236.22 186.69 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right bottom))
    (uuid 6e401c8c-2489-424f-ba40-0248a10dd971)
  )
  (label "OUT21_3V3" (at 175.26 77.47 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid 6ec0f362-a0bb-4461-9213-6c39b14c9a21)
  )
  (label "UART1_RX" (at 378.46 92.075 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right bottom))
    (uuid 71e5c612-327e-4f46-acf2-3d5ecb0405e4)
  )
  (label "UART2_TX" (at 114.3 198.755 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid 72994abf-631b-4ac3-aaf4-7a0ba0b7bd2b)
  )
  (label "D+" (at 378.46 43.815 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right bottom))
    (uuid 73f1c2c7-fcce-40c9-8e4f-b658bf914e40)
  )
  (label "WS2812" (at 346.71 227.33 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid 7453dfe8-34e4-4d93-8f1f-e8698cff52b8)
  )
  (label "UART2_RX" (at 17.78 252.73 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid 7689e686-f0f0-4f92-b89a-b983aca68d1b)
  )
  (label "UART1_TX_5V" (at 146.05 224.155 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid 78726fc6-b048-4c33-95f3-a90e8d4f983b)
  )
  (label "UART1_RX" (at 146.05 201.93 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid 836627eb-cf22-4905-bb75-64a067524e5b)
  )
  (label "OUT14_3V3" (at 175.26 37.465 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid 84006bf5-895e-46ae-8653-c40f0226e312)
  )
  (label "UART1_RX_5V" (at 17.78 180.975 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid 85d2c1d5-4e63-43dc-92fb-60cfcacd3093)
  )
  (label "UART1_TX_5V" (at 110.49 236.22 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right bottom))
    (uuid 8612865b-7b2a-4ed4-8486-5134ab778c39)
  )
  (label "UART2_RX_5V" (at 158.115 139.065 270) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right bottom))
    (uuid 875088d7-7249-41e5-9335-3a71b5b31429)
  )
  (label "IN11_24V" (at 178.435 213.36 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid 8937a17c-d4c8-479d-8f84-32cc8b38676e)
  )
  (label "UART1_TX" (at 60.96 236.22 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid 8f497d98-6e96-4f22-ac5a-c8809956c04d)
  )
  (label "D+" (at 309.88 163.195 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right bottom))
    (uuid 9208e9c3-85a8-485b-aa1d-2c08d4db2aa5)
  )
  (label "RS232_1_RX" (at 135.89 255.27 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid 92640cd2-fa82-439c-b2b4-c76dd04ee870)
  )
  (label "I2C_SCL" (at 378.46 97.155 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right bottom))
    (uuid 934fc49e-31d7-42fb-8199-b748a6d4d3a6)
  )
  (label "RST" (at 375.285 24.765 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid 950805c6-6b38-4a42-839f-cd77ff282270)
  )
  (label "PWR2" (at 101.6 69.85 270) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right bottom))
    (uuid 99285b31-3947-4776-a84f-d5e569414935)
  )
  (label "D-" (at 309.88 158.115 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right bottom))
    (uuid 9c08b693-f49d-4b8e-917c-4b9094c52580)
  )
  (label "UART1_TX_5V" (at 150.495 139.065 270) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right bottom))
    (uuid a5c8568f-be3a-4b9f-b285-44c0db97545d)
  )
  (label "UART1_TX" (at 378.46 89.535 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right bottom))
    (uuid a99f61fd-0d0f-4316-95a8-6b267e8fcb79)
  )
  (label "UART2_5V_EN" (at 378.46 69.215 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right bottom))
    (uuid a9ffa78e-ac07-495a-8715-f66dbe206df4)
  )
  (label "UART2_TX_5V" (at 64.135 175.895 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid b1fbefa2-461a-443b-973d-d394325a7c2d)
  )
  (label "UART2_RX" (at 114.3 201.295 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid b5bddb98-05f3-46f8-997b-c8e1c44d9c3b)
  )
  (label "OUT13_3V3" (at 378.46 84.455 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right bottom))
    (uuid bb293b16-9c53-4fca-9d0b-1d6b1042a7e1)
  )
  (label "RST" (at 265.43 36.195 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid be1fc446-ae9e-48a3-a2ea-b071b4d94c32)
  )
  (label "PWR1" (at 35.56 64.77 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid c0a85f7c-7501-45cd-91a7-fb734d93b8ff)
  )
  (label "RS232_2_TX" (at 128.905 175.895 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right bottom))
    (uuid c238ae39-4d6a-4f20-9f67-4b43cae50cab)
  )
  (label "PWR2_FB" (at 378.46 56.515 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right bottom))
    (uuid c25803b2-967a-4a95-8b47-79d1bab55dbb)
  )
  (label "RS232_1_TX" (at 135.89 260.35 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid c3043b50-8fc1-411e-9ee9-c733fdea0f21)
  )
  (label "OUT14_3V3" (at 378.46 86.995 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right bottom))
    (uuid c367f6a7-95d9-4d48-95f2-0147697586b0)
  )
  (label "UART2_TX" (at 378.46 61.595 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right bottom))
    (uuid c8f112b5-02be-4fd1-8d9d-a9afe4e1b15e)
  )
  (label "PWR2_FB" (at 67.31 97.79 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right bottom))
    (uuid ca43aee1-f4f1-4630-8459-7425e933a401)
  )
  (label "UART1_TX" (at 17.78 139.7 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid cb0378fc-4380-4dc2-9b81-21e34f73c49a)
  )
  (label "OUT12_3V3" (at 198.12 146.05 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid cb7ed531-ad99-434f-9e3f-cc0281babdaf)
  )
  (label "IN10_24V" (at 206.375 239.395 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right bottom))
    (uuid ceebc5fc-a5ce-467b-97c9-8a0438b8e3d2)
  )
  (label "UART0_TX" (at 378.46 36.195 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right bottom))
    (uuid d1865b2b-3cfa-4422-aa07-4693085ab508)
  )
  (label "UART2_RS232_EN" (at 384.81 74.295 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right bottom))
    (uuid da318c95-b53a-43a2-9ae2-6055bdd0d055)
  )
  (label "UART1_RX_5V" (at 146.05 226.695 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid e52a0fe4-f1c3-4ae3-b452-4646f1760c6d)
  )
  (label "I2C_SDA" (at 378.46 104.775 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right bottom))
    (uuid e7334565-6b5e-4058-9b29-c0c0bf538d0d)
  )
  (label "UART0_RX" (at 355.6 193.04 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid e7b845a4-7a9b-4ccf-b4a9-124f1e58e386)
  )
  (label "UART2_5V_EN" (at 17.78 262.89 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid e9fbae02-50d9-4b7a-81a1-3356488aafa3)
  )
  (label "UART0_RX" (at 378.46 38.735 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right bottom))
    (uuid f2f61151-eac5-46c8-814a-0408b0f1d626)
  )
  (label "RS232_1_RX" (at 128.905 180.975 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right bottom))
    (uuid f5014bc0-6c68-4184-adee-138d2a45f19e)
  )
  (label "OUT12_24V" (at 191.135 257.175 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid f75a603c-ecfb-4459-a8a2-8f0f5225bf86)
  )
  (label "OUT13_3V3" (at 177.8 170.18 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid f8d529c2-5f67-4155-9c3a-540f54ab05ef)
  )
  (label "UART1_TX" (at 146.05 199.39 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid fa2ea0d3-16b4-415c-8f03-0a959c9cf8a1)
  )
  (label "UART1_RS232_EN" (at 17.78 189.865 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid fcebe167-7b16-4e1e-aa04-d2aa8c8960a2)
  )
  (label "UART2_TX_5V" (at 155.575 139.065 270) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right bottom))
    (uuid fd0f36ad-b95b-431d-9f82-cb3c67938ba5)
  )

  (netclass_flag "" (length 2.54) (shape round) (at 231.775 89.535 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid 2efaa1cc-64fc-48fb-af35-95e85a3e584d)
    (property "Netclass" "relayio" (at 232.4735 86.995 0)
      (effects (font (size 1.27 1.27) italic) (justify left))
    )
  )
  (netclass_flag "" (length 2.54) (shape round) (at 231.775 93.98 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid 64bf8e6b-d1c5-4ecf-b8cc-0bfecf318837)
    (property "Netclass" "relayio" (at 232.4735 91.44 0)
      (effects (font (size 1.27 1.27) italic) (justify left))
    )
  )
  (netclass_flag "" (length 2.54) (shape round) (at 231.775 44.45 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid 681db1ba-8f17-4b46-b721-3dfd556b8126)
    (property "Netclass" "relayio" (at 232.4735 41.91 0)
      (effects (font (size 1.27 1.27) italic) (justify left))
    )
  )
  (netclass_flag "" (length 2.54) (shape round) (at 231.775 84.455 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid 8b6abba4-5cc6-4558-8d6f-0adcacdc5a7b)
    (property "Netclass" "relayio" (at 232.4735 81.915 0)
      (effects (font (size 1.27 1.27) italic) (justify left))
    )
  )
  (netclass_flag "" (length 2.54) (shape round) (at 231.775 49.53 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid a82b4f26-2150-454e-b8a3-f1654b5f3f16)
    (property "Netclass" "relayio" (at 232.4735 46.99 0)
      (effects (font (size 1.27 1.27) italic) (justify left))
    )
  )
  (netclass_flag "" (length 2.54) (shape round) (at 231.775 53.975 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid ff69f85b-56e5-4655-a7e2-bba383e0cbe2)
    (property "Netclass" "relayio" (at 232.4735 51.435 0)
      (effects (font (size 1.27 1.27) italic) (justify left))
    )
  )

  (symbol (lib_id "power:+5V") (at 86.36 219.71 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 0068c8b4-10f4-4dd8-8ef3-474b8ed77187)
    (property "Reference" "#PWR017" (at 86.36 223.52 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "+5V" (at 86.36 215.9 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 86.36 219.71 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 86.36 219.71 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 2b26c3f9-f0a5-4324-b483-8c4cee282ec6))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "#PWR017") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R") (at 52.07 267.97 180) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 01bde1a0-e843-4955-9227-1fea303b4741)
    (property "Reference" "R39" (at 53.975 267.335 0)
      (effects (font (size 1.27 1.27)) (justify right))
    )
    (property "Value" "10k" (at 53.975 269.875 0)
      (effects (font (size 1.27 1.27)) (justify right))
    )
    (property "Footprint" "Resistor_SMD:R_0402_1005Metric" (at 53.848 267.97 90)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 52.07 267.97 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "LCSC" "C25744" (at 52.07 267.97 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 64fb9862-3291-4e3b-a6d2-aa061a705430))
    (pin "2" (uuid 5072372e-1339-44b2-851b-1aa2d494848f))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "R39") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:PWR_FLAG") (at 21.59 45.72 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 028bd1a4-0750-4302-b3fc-4646d0b0f868)
    (property "Reference" "#FLG02" (at 21.59 43.815 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "PWR_FLAG" (at 21.59 41.91 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 21.59 45.72 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 21.59 45.72 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid f3b109dc-01e0-4a65-84cf-8a1bf620d689))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "#FLG02") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 148.59 267.97 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 033a15bf-f5d7-4bb0-9546-b74091a4ed09)
    (property "Reference" "#PWR031" (at 148.59 274.32 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 148.59 273.05 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 148.59 267.97 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 148.59 267.97 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 99614610-38c3-4ea7-af40-ef9138414a93))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "#PWR031") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Switch:SW_SPST") (at 391.16 51.435 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 03d220b9-641a-4e38-9e05-bfb094450f68)
    (property "Reference" "SW1" (at 391.16 46.355 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "BOOT0" (at 391.16 48.895 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Button_Switch_SMD:SW_SPST_TL3342" (at 391.16 51.435 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 391.16 51.435 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "LCSC" "C318884" (at 391.16 51.435 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid cf45c182-2f5b-4c99-abc4-e617b4bca0b8))
    (pin "2" (uuid 65d76ca0-83c8-4d34-b208-ab7dd0ca3bc0))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "SW1") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:C") (at 239.395 163.195 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 07aa715b-4313-4ca8-8eff-676420cbe4b1)
    (property "Reference" "C15" (at 243.205 162.56 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "100n" (at 243.205 165.1 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Capacitor_SMD:C_0402_1005Metric" (at 240.3602 167.005 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 239.395 163.195 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "LCSC" "C307331" (at 239.395 163.195 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 7de62305-0c7c-4f1b-b8bf-42f6a5a1b62a))
    (pin "2" (uuid e3730d93-2ada-4745-a9e4-a5a55b77df6b))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "C15") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 44.45 110.49 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 0863275f-91f6-4cb2-94eb-ad85b969ef76)
    (property "Reference" "#PWR027" (at 44.45 116.84 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 44.45 115.57 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 44.45 110.49 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 44.45 110.49 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid a1d40530-4642-47e4-b56d-d24bcc8dd198))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "#PWR027") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 155.575 163.83 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 08948ef3-6505-4335-9959-444c81f4509f)
    (property "Reference" "#PWR088" (at 155.575 170.18 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 155.575 168.91 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 155.575 163.83 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 155.575 163.83 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 88c8cc84-e52b-4e1f-82ab-397d2065667b))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "#PWR088") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:C_Polarized") (at 19.05 39.37 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 09f10969-b825-46c5-8501-6670ac262586)
    (property "Reference" "C2" (at 22.86 37.846 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "10u" (at 22.86 40.386 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Capacitor_Tantalum_SMD:CP_EIA-3216-18_Kemet-A" (at 20.0152 43.18 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 19.05 39.37 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "LCSC" "C7171" (at 19.05 39.37 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 23bfd1f9-a2cd-4708-a938-8fecb3ea64c2))
    (pin "2" (uuid 05c2c60a-9224-49b5-a453-d3784ac191b1))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "C2") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R") (at 44.45 157.48 90) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 0de0f4ab-0968-4bad-8b59-6bd493b3ad0e)
    (property "Reference" "R21" (at 44.45 153.035 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "330" (at 44.45 155.575 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Resistor_SMD:R_0402_1005Metric" (at 44.45 159.258 90)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 44.45 157.48 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "LCSC" "C25104" (at 44.45 157.48 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid db072bce-08a4-4c00-b10a-86d3f7a90adc))
    (pin "2" (uuid a018592f-b62b-4690-863b-3e45850eb8c3))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "R21") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 398.78 123.19 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 1117d64d-fb05-4934-b4fa-aa3827772291)
    (property "Reference" "#PWR087" (at 398.78 129.54 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 402.59 125.095 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 398.78 123.19 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 398.78 123.19 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 8c12a600-aa8e-4161-9025-b4a963587bed))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "#PWR087") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R") (at 44.45 166.37 90) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 145ef331-e849-4cad-8ca0-c09e15305ea7)
    (property "Reference" "R22" (at 44.45 161.925 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "330" (at 44.45 164.465 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Resistor_SMD:R_0402_1005Metric" (at 44.45 168.148 90)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 44.45 166.37 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "LCSC" "C25104" (at 44.45 166.37 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid af886687-cf29-4d54-8677-47d87f12b15e))
    (pin "2" (uuid 0d78c1da-d09b-42e7-9e1c-6ae617530c1b))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "R22") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:+3V3") (at 126.365 194.945 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 16df7fe1-79da-49af-b62e-40d332e71b32)
    (property "Reference" "#PWR070" (at 126.365 198.755 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "+3V3" (at 126.365 191.135 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 126.365 194.945 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 126.365 194.945 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 9fef281d-93fa-4af0-937d-c3cb6d5eb4ae))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "#PWR070") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Connector:Conn_01x04_Pin") (at 211.455 257.175 0) (mirror y) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 17898e4c-c9f0-4d53-94aa-f5bbcea2c958)
    (property "Reference" "J7" (at 210.82 250.825 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "OUT_24V" (at 210.82 253.365 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Connector_Phoenix_MC_HighVoltage:PhoenixContact_MC_1,5_4-G-5.08_1x04_P5.08mm_Horizontal" (at 211.455 257.175 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 211.455 257.175 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "LCSC" "C2847158" (at 211.455 257.175 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 3c8a5a5e-c20e-4905-bbbc-d6e6caf841d4))
    (pin "2" (uuid 7963f1c2-55ab-46fb-849b-935393e114f8))
    (pin "3" (uuid aaa4e94f-8352-4ac4-b782-8c3812290466))
    (pin "4" (uuid 2fa9c513-1c22-49b4-adfa-6264456ea1e7))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "J7") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Diode:ZMMxx") (at 85.09 104.14 270) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 17a09d0e-e367-42f2-88bb-1e0e3221ffc4)
    (property "Reference" "D7" (at 87.63 103.505 90)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "ZMM5V6" (at 87.63 106.045 90)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Diode_SMD:D_MiniMELF" (at 80.645 104.14 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "https://diotec.com/tl_files/diotec/files/pdf/datasheets/zmm1.pdf" (at 85.09 104.14 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "LCSC" "C8062" (at 85.09 104.14 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid fc2267cf-5d0c-42fd-bbf0-acf933df579b))
    (pin "2" (uuid f9260bef-f55f-421b-8c2d-4f0f2bb9f06b))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "D7") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R") (at 202.565 170.18 90) (mirror x) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 17d2c6b8-e1a6-440a-9144-258c0631c6cc)
    (property "Reference" "R26" (at 202.565 170.18 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "330" (at 202.565 172.085 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Resistor_SMD:R_0402_1005Metric" (at 202.565 168.402 90)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 202.565 170.18 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "LCSC" "C25104" (at 202.565 170.18 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 2abc9483-3b58-4849-81b7-538786c4ccd2))
    (pin "2" (uuid cd850ecd-e80d-4dd5-9d11-1623bb6ca695))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "R26") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 318.77 118.745 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 1863bcdb-3c5b-40b1-8773-04e750b349f0)
    (property "Reference" "#PWR012" (at 318.77 125.095 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 318.77 123.825 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 318.77 118.745 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 318.77 118.745 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 94249b0c-89be-4a39-95c9-3aa66c2550ef))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "#PWR012") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 85.09 110.49 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 18892370-8336-467b-b696-76b3f826f4e1)
    (property "Reference" "#PWR029" (at 85.09 116.84 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 85.09 115.57 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 85.09 110.49 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 85.09 110.49 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid a7ff9148-ba5f-4220-b733-55875e39b6c8))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "#PWR029") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:+24V") (at 203.2 252.095 0) (mirror y) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 193dc4db-d9d5-49b2-ad1c-01c3109da0b2)
    (property "Reference" "#PWR048" (at 203.2 255.905 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "+24V" (at 203.2 248.285 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 203.2 252.095 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 203.2 252.095 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 3232aa1f-b7a4-462e-a506-fa2b0172563e))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "#PWR048") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R") (at 230.505 198.755 90) (mirror x) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 1a09199d-d44d-439b-815e-29122319d669)
    (property "Reference" "R23" (at 230.505 198.755 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "330" (at 230.505 200.66 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Resistor_SMD:R_0402_1005Metric" (at 230.505 196.977 90)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 230.505 198.755 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "LCSC" "C25104" (at 230.505 198.755 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 18a497b9-f839-4954-b1f0-be37db5617c9))
    (pin "2" (uuid 17d06c60-95f5-49d1-9966-0fab656c0b4b))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "R23") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Analog_Switch:DG411xJ") (at 151.13 39.37 0) (unit 5)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 1b98d6ce-f0ea-4ba8-abe2-301cbc5bf98b)
    (property "Reference" "U6" (at 154.305 50.8 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "DG411xJ" (at 154.305 53.34 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Package_SO:SOIC-16_3.9x9.9mm_P1.27mm" (at 151.13 41.91 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "https://datasheets.maximintegrated.com/en/ds/DG411-DG413.pdf" (at 151.13 39.37 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "LCSC" "C45218" (at 151.13 39.37 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 4e60a67f-f6af-49d1-bca6-9251c08217b5))
    (pin "2" (uuid b83c50f4-2723-4d69-8aff-982f5f5b3003))
    (pin "3" (uuid 5fc5cfb2-61d0-42a7-a7b2-4e1efae166c2))
    (pin "6" (uuid 755df6a2-cf0c-42a2-983d-bd4550dea904))
    (pin "7" (uuid a7eaf5be-3eac-4d0b-9d69-bf75ce3b4be0))
    (pin "8" (uuid d4814d35-a7f4-403d-b3d7-d6f4d3173973))
    (pin "10" (uuid 94c99ff0-bc1c-4bea-a8af-091374286d6f))
    (pin "11" (uuid 0cd3622d-36ed-42e9-a497-680c776fa84a))
    (pin "9" (uuid 058e41b8-5980-4c34-99fd-2b75a5f7da87))
    (pin "14" (uuid f7fb5081-f7bd-44e3-bf79-f80ac57751c4))
    (pin "15" (uuid 88cf3061-b303-4096-a1c9-ee7064c6b6b8))
    (pin "16" (uuid 22dab81e-83bb-4f56-8227-478d85f53e8d))
    (pin "12" (uuid dd368adf-bbbd-4526-a888-1307b2cba85d))
    (pin "13" (uuid 3abb3d03-2920-46c0-babd-0ce52f18195c))
    (pin "4" (uuid cf6d2100-2557-4fb9-9d84-1474b14e4200))
    (pin "5" (uuid 2687f171-5993-4b20-9d72-6215f0e68808))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "U6") (unit 5)
        )
      )
    )
  )

  (symbol (lib_id "power:+24V") (at 19.05 20.32 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 1d51a2fb-8d97-4b42-902f-6a1aa1dddb30)
    (property "Reference" "#PWR01" (at 19.05 24.13 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "+24V" (at 19.05 16.51 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 19.05 20.32 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 19.05 20.32 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 9a56c48b-2a4f-45f3-8cf6-5ee97cde09c0))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "#PWR01") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 101.6 110.49 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 1d8b6c5b-5acd-4a49-980e-43ca63ea91d2)
    (property "Reference" "#PWR030" (at 101.6 116.84 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 101.6 115.57 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 101.6 110.49 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 101.6 110.49 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid a269270e-96fe-4468-84b9-1d27f95f51ea))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "#PWR030") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Logic_LevelTranslator:TXS0108EPW") (at 83.82 243.84 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 1e11d396-b3f3-4b85-8240-c191f94401c1)
    (property "Reference" "U4" (at 85.7759 261.62 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "TXS0108EPW" (at 85.7759 264.16 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Package_SO:TSSOP-20_4.4x6.5mm_P0.65mm" (at 83.82 262.89 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "www.ti.com/lit/ds/symlink/txs0108e.pdf" (at 83.82 246.38 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "LCSC" "C17206" (at 83.82 243.84 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 70d2014f-ae51-47a7-934f-894b58f9c8b5))
    (pin "10" (uuid 4959dfdb-6a75-4118-be0e-b0888e94108b))
    (pin "11" (uuid 1c1144c2-3276-4e9d-9371-b952053a82bd))
    (pin "12" (uuid f780cb3d-abca-4590-b19c-4819403f497d))
    (pin "13" (uuid 57a8fa4a-b56f-453b-a088-01f7a2b00c32))
    (pin "14" (uuid 285093c3-9e36-4d73-af12-4aa975860505))
    (pin "15" (uuid 64d57d60-5bd9-4f1e-a33b-69d30a2aa1ed))
    (pin "16" (uuid ea7e7344-a099-4171-986e-f440c768820d))
    (pin "17" (uuid d2e6e8ea-12eb-462f-afe0-7d6acdd10015))
    (pin "18" (uuid 63d98821-e48a-424f-bc74-059761c05d36))
    (pin "19" (uuid d0622fd3-6a51-4a1c-b6ee-155d6b4949a0))
    (pin "2" (uuid bf07b831-bc2e-4850-b40d-e9b74c3abe64))
    (pin "20" (uuid bcfc43a2-aa15-423c-8bbb-d28771a97d2c))
    (pin "3" (uuid 37c8586b-cc0d-4f45-9fd2-7b9040247ba6))
    (pin "4" (uuid f2cbcebb-6b03-4f1c-8920-ecc3ee12a656))
    (pin "5" (uuid 0c58871c-8c91-4edf-83ef-b929768f93fe))
    (pin "6" (uuid 6bf0c251-d7c1-4313-ac9e-699be0a403de))
    (pin "7" (uuid abfca15a-4ff4-461d-b151-ee5646448897))
    (pin "8" (uuid 721745c2-6fc7-496f-a87b-d78333430df1))
    (pin "9" (uuid f186337e-73e3-4bb3-9fbc-f10f0ccb8a98))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "U4") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:LED") (at 193.675 170.18 180) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 1eb87b1e-2335-4713-a52f-d78fe34581f3)
    (property "Reference" "D18" (at 195.2625 163.83 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "OUT13" (at 195.2625 166.37 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "LED_SMD:LED_0805_2012Metric" (at 193.675 170.18 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 193.675 170.18 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "LCSC" "C2297" (at 193.675 170.18 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid ae44007b-3748-4d91-b842-718e478aaae1))
    (pin "2" (uuid 26d895c0-40d5-484c-a7e6-43c5ba66bdf0))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "D18") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R") (at 44.45 104.14 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 2116fdaa-4fff-4ab0-843d-0b637cb65119)
    (property "Reference" "R8" (at 46.99 103.505 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "1k" (at 46.99 106.045 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Resistor_SMD:R_0402_1005Metric" (at 42.672 104.14 90)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 44.45 104.14 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "LCSC" "C11702" (at 44.45 104.14 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 7359b6c0-5c90-40dc-8d3b-581490a9611a))
    (pin "2" (uuid 165d03a8-d09d-4776-9a59-030f5715a0ff))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "R8") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 83.82 45.72 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 214655a3-8d3d-4ebc-b82f-a25377bfe831)
    (property "Reference" "#PWR04" (at 83.82 52.07 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 83.82 50.8 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 83.82 45.72 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 83.82 45.72 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 600e7cfe-d39a-496a-9bd6-76a6ed62bf79))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "#PWR04") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:C_Polarized") (at 46.99 39.37 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 223374f6-a27d-4245-8d73-f8ba20eb15a7)
    (property "Reference" "C1" (at 50.8 37.846 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "10u" (at 50.8 40.386 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Capacitor_Tantalum_SMD:CP_EIA-3216-18_Kemet-A" (at 47.9552 43.18 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 46.99 39.37 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "LCSC" "C7171" (at 46.99 39.37 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid bd2340ef-1635-41ee-9a43-13fc67727cf2))
    (pin "2" (uuid 25e9089c-8d1d-46bd-a12c-9c291fbd9c88))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "C1") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 33.02 88.9 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 2414c9de-e9cf-46a4-bc39-9fea32d28b8b)
    (property "Reference" "#PWR025" (at 33.02 95.25 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 33.02 93.98 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 33.02 88.9 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 33.02 88.9 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 29200655-998c-42ec-bb41-641f56b66afe))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "#PWR025") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R") (at 43.18 219.075 180) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 24b02ec6-8cd9-4dc6-96df-11ba8e5f2620)
    (property "Reference" "R36" (at 45.085 218.44 0)
      (effects (font (size 1.27 1.27)) (justify right))
    )
    (property "Value" "10k" (at 45.085 220.98 0)
      (effects (font (size 1.27 1.27)) (justify right))
    )
    (property "Footprint" "Resistor_SMD:R_0402_1005Metric" (at 44.958 219.075 90)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 43.18 219.075 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "LCSC" "C25744" (at 43.18 219.075 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid e07a2a7a-a464-4cb5-8343-d2742ca91f8a))
    (pin "2" (uuid 31e62113-86a1-459b-b541-f97393bf483c))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "R36") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 203.2 264.795 0) (mirror y) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 250578f8-1844-4af4-873f-5b6ead66d156)
    (property "Reference" "#PWR049" (at 203.2 271.145 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 203.2 269.875 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 203.2 264.795 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 203.2 264.795 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid c49b3d24-5cb8-4478-9b60-3b6e8445d602))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "#PWR049") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:+3V3") (at 81.28 219.71 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 251c7625-c7bb-4845-a2c0-b42dd1e7a4d9)
    (property "Reference" "#PWR018" (at 81.28 223.52 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "+3V3" (at 81.28 215.9 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 81.28 219.71 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 81.28 219.71 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid f0e79e0b-f989-4d31-aa13-7fca5133cff3))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "#PWR018") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Diode:ZMMxx") (at 101.6 104.14 270) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 2602fe44-d789-4dd4-ac1b-f17df03a7542)
    (property "Reference" "D10" (at 104.14 103.505 90)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "ZMM5V6" (at 104.14 106.045 90)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Diode_SMD:D_MiniMELF" (at 97.155 104.14 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "https://diotec.com/tl_files/diotec/files/pdf/datasheets/zmm1.pdf" (at 101.6 104.14 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "LCSC" "C8062" (at 101.6 104.14 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 0eb0dea8-6f7d-42b6-a3cc-dc0b276be88b))
    (pin "2" (uuid bb961e8f-e68e-4ddc-b167-84dc10b941e5))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "D10") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R") (at 300.99 158.115 90) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 282b8672-6e6b-420b-bc72-be40a3b2deb6)
    (property "Reference" "R13" (at 300.99 158.115 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "0" (at 300.99 155.575 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Resistor_SMD:R_0402_1005Metric" (at 300.99 159.893 90)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 300.99 158.115 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "LCSC" "C17168" (at 300.99 158.115 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid d1093009-4efd-4f32-a96c-de09c97491da))
    (pin "2" (uuid 31b69e0e-8c09-4bde-bce7-81521ae1ecfd))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "R13") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R") (at 119.38 34.29 90) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 285fe4b9-2b49-4372-854f-7cb1383e6f9e)
    (property "Reference" "R2" (at 119.38 29.21 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "120" (at 119.38 31.75 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Resistor_SMD:R_0402_1005Metric" (at 119.38 36.068 90)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 119.38 34.29 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "LCSC" "C25079" (at 119.38 34.29 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 6fda310b-21b4-4d75-ad01-7cecfc64fb71))
    (pin "2" (uuid b80e6fa7-5454-4d6e-98c8-12c5d2612161))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "R2") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 158.115 205.74 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 28fa05a0-6336-4655-bb94-b67e15fdf820)
    (property "Reference" "#PWR073" (at 158.115 212.09 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 158.115 210.82 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 158.115 205.74 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 158.115 205.74 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 46dc9b79-6333-49d9-a416-7979950d4b69))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "#PWR073") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 53.975 149.225 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 2a02d160-ae83-472f-bb61-7e3f7449754f)
    (property "Reference" "#PWR063" (at 53.975 155.575 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 53.975 154.305 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 53.975 149.225 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 53.975 149.225 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 82d57239-1fec-482e-9d5a-f9906c6cd56a))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "#PWR063") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:+3V3") (at 365.125 186.055 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 2c376d3c-15c3-4fbf-bf1d-15a3d307cdd2)
    (property "Reference" "#PWR078" (at 365.125 189.865 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "+3V3" (at 365.125 182.245 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 365.125 186.055 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 365.125 186.055 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid a07fce7e-6e42-496c-9683-f831866e3703))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "#PWR078") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:+3V3") (at 318.77 26.035 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 2e3d00d8-fa3a-4e89-88ee-cfa12190df8e)
    (property "Reference" "#PWR011" (at 318.77 29.845 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "+3V3" (at 318.77 22.225 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 318.77 26.035 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 318.77 26.035 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 86a665d3-8a44-425f-b61c-8ee927edbadd))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "#PWR011") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:C") (at 163.83 39.37 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 2ee7a03c-f7ea-4b3c-a53f-fd733497f942)
    (property "Reference" "C13" (at 165.735 45.085 90)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "100n" (at 165.735 37.465 90)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Capacitor_SMD:C_0402_1005Metric" (at 164.7952 43.18 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 163.83 39.37 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "LCSC" "C307331" (at 163.83 39.37 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid fde5acf0-50d8-4e4b-960c-4de41262d15e))
    (pin "2" (uuid 0ab3effa-1654-4125-ad65-44c9eba2fd78))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "C13") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:+5V") (at 307.34 141.605 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 2f6af7d2-8eea-40dc-a9b8-fbc8192dd8c1)
    (property "Reference" "#PWR014" (at 307.34 145.415 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "+5V" (at 307.34 137.795 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 307.34 141.605 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 307.34 141.605 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 94bd6a37-bb43-4008-bc5b-037915bb5eda))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "#PWR014") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:+24V") (at 113.03 20.32 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 30c0eade-ba53-400d-a6be-68dcb969b679)
    (property "Reference" "#PWR010" (at 113.03 24.13 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "+24V" (at 113.03 16.51 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 113.03 20.32 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 113.03 20.32 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid e3e80980-d634-48c0-86df-de7db976c82e))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "#PWR010") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R") (at 44.45 148.59 90) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 31497a11-6364-43a5-8d8c-d32f4fae5a71)
    (property "Reference" "R20" (at 44.45 144.145 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "330" (at 44.45 146.685 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Resistor_SMD:R_0402_1005Metric" (at 44.45 150.368 90)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 44.45 148.59 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "LCSC" "C25104" (at 44.45 148.59 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 2ceb65d5-6c8c-4f06-95d2-89f83b5b1a01))
    (pin "2" (uuid 741cf0fa-b595-4638-9fb7-7ce5d7d0efec))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "R20") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "74xx:74HC14") (at 233.045 251.46 0) (unit 4)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 31cb101b-42c7-43da-ab92-005549d1e3cf)
    (property "Reference" "U7" (at 233.045 243.84 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "74HC14" (at 233.045 246.38 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Package_SO:SOIC-14_3.9x8.7mm_P1.27mm" (at 233.045 251.46 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "http://www.ti.com/lit/gpn/sn74HC14" (at 233.045 251.46 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "LCSC" "C5605" (at 233.045 251.46 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 575aa665-e7bf-4ac5-be15-88f9b580ddd2))
    (pin "2" (uuid dbeff947-fc23-4ec7-8571-6d627b3bda93))
    (pin "3" (uuid 0c274834-9bd8-4437-96c5-1434612323ee))
    (pin "4" (uuid 4cc3d8e2-602a-4d2a-8a22-c6e0ca2e1bb6))
    (pin "5" (uuid 570d015f-5a3d-40f8-bf67-47df87cdc3b6))
    (pin "6" (uuid 4cfe24a7-5cb7-4979-a7d4-dba54f601530))
    (pin "8" (uuid 8a4156dd-9521-4ed6-9c27-8eec1a619026))
    (pin "9" (uuid f5cd7e04-8a6d-4f78-bf3d-2e357c7fec91))
    (pin "10" (uuid 5b456cf1-129b-4338-a832-260f62514ca2))
    (pin "11" (uuid 01ed2c93-bf7d-4dd5-9b40-83907cf3c05d))
    (pin "12" (uuid d3da6f61-462d-40fb-a553-e46f485de75d))
    (pin "13" (uuid d0e8a764-2159-4316-8d8e-c281d3ecef24))
    (pin "14" (uuid 3c5e36f0-e06d-489b-a742-64d0a78691f1))
    (pin "7" (uuid 886f59fb-2178-43e9-aec4-0290261f4b16))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "U7") (unit 4)
        )
      )
    )
  )

  (symbol (lib_id "Diode:1N5819WS") (at 63.5 78.74 180) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 33087c3d-a117-4622-83cf-3afbc6e459c5)
    (property "Reference" "D6" (at 63.8175 73.66 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "SS210" (at 63.8175 76.2 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Diode_SMD:D_SMA" (at 63.5 74.295 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "https://datasheet.lcsc.com/lcsc/2204281430_Guangdong-Hottech-1N5819WS_C191023.pdf" (at 63.5 78.74 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "LCSC" "C14996" (at 63.5 78.74 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid d54aa096-f1fe-4ce8-99b5-6df9da51accf))
    (pin "2" (uuid b9eab0fe-4c92-4d78-957d-4ff25c3c056d))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "D6") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R") (at 44.45 139.7 90) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 33ffd9f3-0098-4a53-87dc-ad20f43e1ed8)
    (property "Reference" "R19" (at 44.45 135.255 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "330" (at 44.45 137.795 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Resistor_SMD:R_0402_1005Metric" (at 44.45 141.478 90)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 44.45 139.7 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "LCSC" "C25104" (at 44.45 139.7 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 16969455-e7fe-44cc-ab19-e974056fbfd1))
    (pin "2" (uuid 3d93020b-4d23-497c-904c-8fd768eb80b9))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "R19") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R") (at 179.705 91.44 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 34995bfc-b2e2-4396-bd9e-3907a8bd1784)
    (property "Reference" "R30" (at 181.61 90.805 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "330" (at 181.61 93.345 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Resistor_SMD:R_0402_1005Metric" (at 177.927 91.44 90)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 179.705 91.44 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "LCSC" "C25104" (at 179.705 91.44 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 1977d411-899a-42ed-873c-56863f76edcc))
    (pin "2" (uuid a9ddccb4-52c9-4a46-8170-d949f003032f))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "R30") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R") (at 53.34 104.14 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 34eb3a90-a588-4a3c-8fc9-8ec5f2da5108)
    (property "Reference" "R10" (at 55.88 103.505 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "1k" (at 55.88 106.045 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Resistor_SMD:R_0402_1005Metric" (at 51.562 104.14 90)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 53.34 104.14 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "LCSC" "C11702" (at 53.34 104.14 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 126306dd-6d11-44c3-b1e8-ae90294b22b3))
    (pin "2" (uuid de3fd54a-e4f4-4227-9a99-6f6e020fd2f9))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "R10") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:LED") (at 101.6 93.98 90) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 37b046d9-5203-46d3-a219-c89b9524118d)
    (property "Reference" "D9" (at 105.41 94.9325 90)
      (effects (font (size 1.27 1.27)) (justify right))
    )
    (property "Value" "PWR2 OK" (at 105.41 97.4725 90)
      (effects (font (size 1.27 1.27)) (justify right))
    )
    (property "Footprint" "LED_SMD:LED_0805_2012Metric" (at 101.6 93.98 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 101.6 93.98 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "LCSC" "C2297" (at 101.6 93.98 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 145deac4-9f8d-41bd-ab2b-1e95912a5f0f))
    (pin "2" (uuid df029730-80a0-4398-87bc-5a24d36dc35d))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "D9") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:C") (at 66.675 260.985 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 398cc12e-f7dd-4a68-839f-59c04a17ce6d)
    (property "Reference" "C18" (at 70.485 260.35 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "100n" (at 70.485 262.89 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Capacitor_SMD:C_0402_1005Metric" (at 67.6402 264.795 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 66.675 260.985 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "LCSC" "C307331" (at 66.675 260.985 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid a972626c-2191-4f1d-b04a-73e14c9e11cc))
    (pin "2" (uuid fc0a7b58-79c0-444f-9f44-0bd3e5b4d600))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "C18") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R") (at 311.15 153.035 90) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 39bec63d-06a2-4d43-8cf7-5a348fd1f8f7)
    (property "Reference" "R5" (at 311.15 153.035 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "5.1k" (at 311.15 150.495 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Resistor_SMD:R_0402_1005Metric" (at 311.15 154.813 90)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 311.15 153.035 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "LCSC" "C25905" (at 311.15 153.035 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 3c751ec9-7ae7-4886-99cc-462fd466f6b0))
    (pin "2" (uuid b37daec8-fcfe-4147-ae5d-e20575f5ed89))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "R5") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Transistor_BJT:MMBT3904") (at 200.66 77.47 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 3afb8b51-2163-4f1e-83c4-6a784a3261db)
    (property "Reference" "Q2" (at 205.74 76.835 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "MMBT3904" (at 205.74 79.375 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Package_TO_SOT_SMD:SOT-23" (at 205.74 79.375 0)
      (effects (font (size 1.27 1.27) italic) (justify left) hide)
    )
    (property "Datasheet" "https://www.onsemi.com/pub/Collateral/2N3903-D.PDF" (at 200.66 77.47 0)
      (effects (font (size 1.27 1.27)) (justify left) hide)
    )
    (property "LCSC" "C20526" (at 200.66 77.47 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid c88fa30a-48c1-4f68-ba3a-e2047f6395cb))
    (pin "2" (uuid e4302a04-5d09-42fb-b9bd-ed1d7e18ade2))
    (pin "3" (uuid 08f01796-0be6-46cb-8515-eac4c660b448))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "Q2") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:+5V") (at 53.975 138.43 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 3dc22c58-8bd5-43e2-bdac-32e4b4d6117f)
    (property "Reference" "#PWR062" (at 53.975 142.24 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "+5V" (at 53.975 134.62 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 53.975 138.43 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 53.975 138.43 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid b13394f3-4d98-4bec-9e24-6300efd2a3df))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "#PWR062") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:+24V") (at 236.22 137.16 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 3dc7a515-b8f9-40fa-be9f-21bac8a9f940)
    (property "Reference" "#PWR044" (at 236.22 140.97 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "+24V" (at 236.22 133.35 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 236.22 137.16 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 236.22 137.16 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 4295afbf-1701-4e3c-9212-8aac379443d6))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "#PWR044") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:+24V") (at 194.31 234.315 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 3f12e67c-ce82-4b7d-947c-dd106ea10af4)
    (property "Reference" "#PWR040" (at 194.31 238.125 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "+24V" (at 194.31 230.505 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 194.31 234.315 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 194.31 234.315 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 3b1852b3-d992-4aa1-b2b2-9d54f3a03774))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "#PWR040") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Connector:Conn_01x04_Pin") (at 186.055 239.395 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 3fb162a3-e1d6-45c5-9ca2-6de18cb0c912)
    (property "Reference" "J6" (at 186.69 233.045 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "IN_24V" (at 186.69 235.585 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Connector_Phoenix_MC_HighVoltage:PhoenixContact_MC_1,5_4-G-5.08_1x04_P5.08mm_Horizontal" (at 186.055 239.395 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 186.055 239.395 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "LCSC" "C2847158" (at 186.055 239.395 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 420fd66b-9730-4084-ba6f-3038c8aaedab))
    (pin "2" (uuid 668abe8b-acb5-49f2-a5f6-f1d18841716a))
    (pin "3" (uuid ea3efb2f-5a05-4065-8e0b-1fda4d37b6fa))
    (pin "4" (uuid 3a666b01-5a83-4071-90c2-f11be8d178a6))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "J6") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R") (at 53.34 88.9 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 45479696-6a67-4ce5-9d9b-78897d94e585)
    (property "Reference" "R9" (at 55.88 88.265 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "27k" (at 55.88 90.805 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Resistor_SMD:R_0402_1005Metric" (at 51.562 88.9 90)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 53.34 88.9 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "LCSC" "C25771" (at 53.34 88.9 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 6d712d98-934a-4a7f-88f1-292992edd22c))
    (pin "2" (uuid d48155e3-b622-4bfe-b844-3c3b46e64dd2))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "R9") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 116.205 268.605 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 458c7897-83b1-4ab7-bf2e-59bf96026502)
    (property "Reference" "#PWR032" (at 116.205 274.955 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 116.205 273.685 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 116.205 268.605 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 116.205 268.605 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 495ed1f3-1d7d-48a5-815b-284a404f3f70))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "#PWR032") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R") (at 230.505 225.425 90) (mirror x) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 463f2706-243d-4fb1-bfb1-fde96c438a78)
    (property "Reference" "R24" (at 230.505 225.425 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "330" (at 230.505 227.33 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Resistor_SMD:R_0402_1005Metric" (at 230.505 223.647 90)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 230.505 225.425 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "LCSC" "C25104" (at 230.505 225.425 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid c72a2450-a5af-4145-88df-ddee1211b9a9))
    (pin "2" (uuid ef30636a-b215-4412-b94a-fe744057d8a7))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "R24") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 271.78 216.535 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 481a3342-9601-4d5e-b432-22019354ed38)
    (property "Reference" "#PWR013" (at 271.78 222.885 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 271.78 221.615 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 271.78 216.535 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 271.78 216.535 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 8e785780-3950-4eb9-b26a-05c10783d10b))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "#PWR013") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 49.53 168.275 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 4a3d6d02-3fad-48d9-8e0c-359e16390267)
    (property "Reference" "#PWR046" (at 49.53 174.625 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 49.53 173.355 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 49.53 168.275 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 49.53 168.275 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid adeb914d-2771-4ad1-8901-2c3a04a8689e))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "#PWR046") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:LED") (at 33.02 157.48 180) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 4a6d01f7-8976-4dd6-ac28-2de29c32ed14)
    (property "Reference" "D13" (at 34.6075 151.13 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "UART2 TX" (at 34.6075 153.67 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "LED_SMD:LED_0805_2012Metric" (at 33.02 157.48 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 33.02 157.48 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "LCSC" "C2297" (at 33.02 157.48 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 887fc2de-c9f2-4e1d-8d50-8935dad5006b))
    (pin "2" (uuid 673c39f0-b16b-4133-92a1-1fada208dfad))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "D13") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:C") (at 199.39 193.675 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp yes) (fields_autoplaced)
    (uuid 4b76193f-5761-4ab8-a3be-50cf63b7db74)
    (property "Reference" "C9" (at 203.2 193.04 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "1n" (at 203.2 195.58 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Capacitor_SMD:C_0402_1005Metric" (at 200.3552 197.485 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 199.39 193.675 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "LCSC" "C1523" (at 199.39 193.675 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid fd56e963-740f-4570-b4c8-c055348ef50b))
    (pin "2" (uuid 48893605-6d5a-47d5-8d32-ff698c7ad5d6))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "C9") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R") (at 372.745 190.5 90) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 4c16c78e-e9a9-40cd-9fda-c648a46193bd)
    (property "Reference" "R35" (at 372.745 190.5 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "0" (at 372.745 187.96 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Resistor_SMD:R_0402_1005Metric" (at 372.745 192.278 90)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 372.745 190.5 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "LCSC" "C17168" (at 372.745 190.5 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 86a00892-122c-4ea5-9f3d-a0ca1a8c1921))
    (pin "2" (uuid 18c721a4-27cc-4e1c-abac-504e200271e2))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "R35") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:C") (at 376.555 117.475 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 4ddecd93-d832-4699-9ae8-b2274b6131b4)
    (property "Reference" "C21" (at 380.365 116.84 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "100n" (at 380.365 119.38 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Capacitor_SMD:C_1206_3216Metric" (at 377.5202 121.285 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 376.555 117.475 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "LCSC" "C1846" (at 376.555 117.475 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 56e9baf2-b7a5-4a02-8921-038c80234584))
    (pin "2" (uuid 5842f457-7959-4bc5-b797-f6699b8296bf))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "C21") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "74xx:74HC14") (at 146.685 97.79 0) (unit 7)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 4febe93c-02d1-4add-beba-b91e93787173)
    (property "Reference" "U7" (at 153.035 97.155 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "74HC14" (at 153.035 99.695 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Package_SO:SOIC-14_3.9x8.7mm_P1.27mm" (at 146.685 97.79 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "http://www.ti.com/lit/gpn/sn74HC14" (at 146.685 97.79 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "LCSC" "C5605" (at 146.685 97.79 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 0919bd59-0e1b-4df0-8d8d-c91e04e98e69))
    (pin "2" (uuid ba77b58e-e035-4b95-8dbc-2eb8217fff8c))
    (pin "3" (uuid 867907fa-7776-4a25-8710-b32e9b703080))
    (pin "4" (uuid dddcabd4-a987-4142-825e-cba3d9eb6ff7))
    (pin "5" (uuid ad2af68d-f279-4143-9457-3f497e3eec34))
    (pin "6" (uuid 1f27d7a7-4d13-4b16-9957-387b5b2396e7))
    (pin "8" (uuid b0acfb10-45e4-4b4e-b52d-5e6e93ab0e8a))
    (pin "9" (uuid c6419845-6612-4b67-a059-f0c110feb825))
    (pin "10" (uuid cec78ca2-d1f9-4e0c-ba75-085e57dea5d6))
    (pin "11" (uuid d4a66820-8efe-4777-a9de-2bafcfb2ad2d))
    (pin "12" (uuid f51265d8-cdb6-43b4-a68f-89dca21efefd))
    (pin "13" (uuid 4d927e82-6d4d-4832-a463-c5c7db92c247))
    (pin "14" (uuid 42135302-8bf9-4eba-8c40-af39c3508ba4))
    (pin "7" (uuid 33849031-0ebd-47ad-803a-8126b3255dee))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "U7") (unit 7)
        )
      )
    )
  )

  (symbol (lib_id "Device:R") (at 193.675 83.82 180) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 5026d501-10e9-4105-b690-228db6891fb2)
    (property "Reference" "R32" (at 195.58 83.185 0)
      (effects (font (size 1.27 1.27)) (justify right))
    )
    (property "Value" "10k" (at 195.58 85.725 0)
      (effects (font (size 1.27 1.27)) (justify right))
    )
    (property "Footprint" "Resistor_SMD:R_0402_1005Metric" (at 195.453 83.82 90)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 193.675 83.82 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "LCSC" "C25744" (at 193.675 83.82 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 4e8874c2-85f5-4c37-8b30-478a4093c613))
    (pin "2" (uuid b1f7f44e-bc1a-424a-92ba-1f1f4f359188))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "R32") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 66.675 266.7 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 5035a0fd-5f11-4d5f-9303-241a0be3c8b4)
    (property "Reference" "#PWR085" (at 66.675 273.05 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 66.675 271.78 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 66.675 266.7 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 66.675 266.7 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 4ee42d66-52e6-4f59-a7b7-263ad8e496a3))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "#PWR085") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 179.705 96.52 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 5276aa90-b3d6-44ce-9658-154d87b36726)
    (property "Reference" "#PWR058" (at 179.705 102.87 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 175.895 98.425 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 179.705 96.52 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 179.705 96.52 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 57468f2c-0129-4ae2-86b7-9bcd374e0d5e))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "#PWR058") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:PWR_FLAG") (at 21.59 31.75 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 55fb20e9-0cc2-4fc5-b444-916548f1c449)
    (property "Reference" "#FLG01" (at 21.59 29.845 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "PWR_FLAG" (at 21.59 27.94 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 21.59 31.75 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 21.59 31.75 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 1798c74a-d471-4ff6-b96e-7ce905dd6959))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "#FLG01") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:C") (at 387.985 117.475 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 56754eb7-407a-4247-9df3-a20d431a4201)
    (property "Reference" "C20" (at 391.795 116.84 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "1u" (at 391.795 119.38 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Capacitor_SMD:C_0402_1005Metric" (at 388.9502 121.285 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 387.985 117.475 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "LCSC" "C52923" (at 387.985 117.475 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 94b85ada-fd33-4a98-aa69-91759408090a))
    (pin "2" (uuid 9a047486-16d1-4214-9d64-ac4d32238d2e))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "C20") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R") (at 263.525 29.845 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 56b6b3f7-ef20-4de1-a472-18f160b56482)
    (property "Reference" "R6" (at 266.065 29.21 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "10k" (at 266.065 31.75 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Resistor_SMD:R_0402_1005Metric" (at 261.747 29.845 90)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 263.525 29.845 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "LCSC" "C25744" (at 263.525 29.845 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 21a7bb66-90b4-4dc0-bde7-9e40ab906153))
    (pin "2" (uuid 637c4f52-e355-46c1-8c1c-e0b570984e9b))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "R6") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:C") (at 199.39 220.345 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp yes) (fields_autoplaced)
    (uuid 577c8359-71fb-4d2c-9b55-a4df970ec036)
    (property "Reference" "C10" (at 203.2 219.71 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "1n" (at 203.2 222.25 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Capacitor_SMD:C_0402_1005Metric" (at 200.3552 224.155 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 199.39 220.345 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "LCSC" "C1523" (at 199.39 220.345 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 46e97cc9-98a1-4327-9a96-d99f62382da9))
    (pin "2" (uuid 9fd86788-2ae8-48a4-8e4e-16e82bff6ed1))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "C10") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 400.05 56.515 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 57c6ec46-d0d0-490b-a9a3-648688a7b0ce)
    (property "Reference" "#PWR024" (at 400.05 62.865 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 400.05 61.595 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 400.05 56.515 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 400.05 56.515 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 3c21c45f-d6aa-48a6-93ee-ad811229acfe))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "#PWR024") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 193.675 88.9 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 59914ddb-a8a9-4100-9af1-96a61c6105ca)
    (property "Reference" "#PWR059" (at 193.675 95.25 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 189.865 90.805 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 193.675 88.9 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 193.675 88.9 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 7e97a7c8-1c4b-42b3-86b3-fa6d54f0fc38))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "#PWR059") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Diode:1N5819WS") (at 63.5 64.77 180) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 5a32950b-a623-4eea-af21-2bbb36ca547f)
    (property "Reference" "D5" (at 63.8175 59.69 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "SS210" (at 63.8175 62.23 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Diode_SMD:D_SMA" (at 63.5 60.325 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "https://datasheet.lcsc.com/lcsc/2204281430_Guangdong-Hottech-1N5819WS_C191023.pdf" (at 63.5 64.77 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "LCSC" "C14996" (at 63.5 64.77 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 04dc6232-715e-4c8d-94f8-cfa75248b51c))
    (pin "2" (uuid fde622ee-2050-4078-81e8-ac683e7a2f0e))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "D5") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Relay:G5V-1") (at 223.52 81.915 270) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 5d1c6721-7a80-49b2-99fa-71eef3012f3f)
    (property "Reference" "K2" (at 223.52 67.31 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "G5V-1" (at 223.52 69.85 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Relay_THT:Relay_SPDT_Omron_G5V-1" (at 222.758 110.617 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "http://omronfs.omron.com/en_US/ecb/products/pdf/en-g5v_1.pdf" (at 223.52 81.915 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "LCSC" "C28695" (at 223.52 81.915 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 7670b950-61c2-4b90-8086-45029e5cef04))
    (pin "10" (uuid 09d0406a-06cf-43c1-9918-c3563a45f57c))
    (pin "2" (uuid 06286090-6dcd-4208-b5a7-d352d5a70901))
    (pin "5" (uuid d955cf86-77c9-41d4-9020-f4b9b72baa75))
    (pin "6" (uuid 79f633ea-d97e-4dbc-a471-0746047a0ae2))
    (pin "9" (uuid 25fe0f52-193f-4486-8052-a1fcfe4467b3))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "K2") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:+24V") (at 90.17 57.15 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 5d467110-1a20-42b8-a078-40655a66f5d5)
    (property "Reference" "#PWR026" (at 90.17 60.96 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "+24V" (at 90.17 53.34 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 90.17 57.15 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 90.17 57.15 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid c511fa59-87cc-4d96-8e1e-5fdc6970bbbb))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "#PWR026") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Connector_Generic:Conn_01x06") (at 389.89 190.5 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 5f784a64-108b-40ee-88c0-22e19883c70a)
    (property "Reference" "J15" (at 392.43 191.135 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "DBG UART" (at 392.43 193.675 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Connector_PinHeader_2.54mm:PinHeader_1x06_P2.54mm_Vertical" (at 389.89 190.5 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 389.89 190.5 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 66e0ab60-5d96-42dc-8c88-8e9bc548abc4))
    (pin "2" (uuid 8fd91453-85cf-49d0-b17a-31db31e80a19))
    (pin "3" (uuid 0b56f2a3-d32a-4ab4-b901-8eb19b159b32))
    (pin "4" (uuid da28f4b5-4a53-4561-aae7-cf3a50714cbc))
    (pin "5" (uuid 3d3d71f7-1172-408e-8b13-57dd13f326b4))
    (pin "6" (uuid 253ab657-0e49-410a-bbb9-6a7b69507479))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "J15") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:C") (at 58.42 39.37 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 5fdd19dc-cf8b-4828-acbe-9803a2411c74)
    (property "Reference" "C3" (at 62.23 38.735 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "100n" (at 62.23 41.275 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Capacitor_SMD:C_1206_3216Metric" (at 59.3852 43.18 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 58.42 39.37 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "LCSC" "C1846" (at 58.42 39.37 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 48bb1639-8a4e-4c43-854e-8b856c499134))
    (pin "2" (uuid 3f6ba15a-e6a5-46a3-9b33-33ad1059d8ed))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "C3") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Transistor_Array:ULN2003A") (at 222.885 151.13 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 623a88de-1de4-442e-80ee-235f42126cd2)
    (property "Reference" "U8" (at 222.885 134.62 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "ULN2003A" (at 222.885 137.16 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Package_SO:SOIC-16_3.9x9.9mm_P1.27mm" (at 224.155 165.1 0)
      (effects (font (size 1.27 1.27)) (justify left) hide)
    )
    (property "Datasheet" "http://www.ti.com/lit/ds/symlink/uln2003a.pdf" (at 225.425 156.21 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "LCSC" "C7512" (at 222.885 151.13 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid ea512c40-2b33-4020-9312-798be91a461c))
    (pin "10" (uuid 4fc9559a-6117-4b37-8909-7e9c4f236285))
    (pin "11" (uuid e919f8bd-e109-42ee-b1e4-202c87724bb4))
    (pin "12" (uuid cdddc880-8411-4319-9d0d-8d2e381b6732))
    (pin "13" (uuid d4784e2b-d022-47cc-9839-925b510ad875))
    (pin "14" (uuid 0bee924b-9723-4057-8c28-2b37f23f0319))
    (pin "15" (uuid 7749b88f-d6b3-4c37-a2cc-c3f17b5e8793))
    (pin "16" (uuid df8b5f6f-df02-42a9-b180-2ee06e0f77c8))
    (pin "2" (uuid 02a43760-aa1e-490d-87b6-1af38e5caf30))
    (pin "3" (uuid 61879b66-1bb1-4a65-b4c3-3f4cf46753bb))
    (pin "4" (uuid 265ad65f-e330-45ff-9040-adb8ff669f47))
    (pin "5" (uuid e9d26f10-01e3-4455-a722-de9a5287cbb0))
    (pin "6" (uuid bdd99fa6-5d49-41f8-85ad-2349d52f80cc))
    (pin "7" (uuid 8090f298-cffe-43ce-b102-89c7c375fbd2))
    (pin "8" (uuid b6288443-4b6a-4477-98cd-ae2b9d7b23a6))
    (pin "9" (uuid 1464d7ce-0494-4b73-b935-5750f981ca91))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "U8") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:LED") (at 179.705 82.55 90) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 63423181-8e99-4421-9573-05b3f035df48)
    (property "Reference" "D21" (at 183.515 83.5025 90)
      (effects (font (size 1.27 1.27)) (justify right))
    )
    (property "Value" "OUT21" (at 183.515 86.0425 90)
      (effects (font (size 1.27 1.27)) (justify right))
    )
    (property "Footprint" "LED_SMD:LED_0805_2012Metric" (at 179.705 82.55 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 179.705 82.55 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "LCSC" "C2297" (at 179.705 82.55 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 7f18b850-c511-4090-a5b0-0406210f3345))
    (pin "2" (uuid b8ccd87b-e120-486d-8092-9020b887f8d1))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "D21") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 146.685 114.3 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 63b6ab56-70c7-47a2-86d1-d70ec718e8c7)
    (property "Reference" "#PWR043" (at 146.685 120.65 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 146.685 119.38 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 146.685 114.3 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 146.685 114.3 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid d62f4437-ee61-47b1-9d06-61ebe29dff88))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "#PWR043") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "74xx:74HC14") (at 233.045 274.32 0) (unit 6)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 6847c52d-7aed-43e9-b90e-68ca78340d8c)
    (property "Reference" "U7" (at 233.045 266.7 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "74HC14" (at 233.045 269.24 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Package_SO:SOIC-14_3.9x8.7mm_P1.27mm" (at 233.045 274.32 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "http://www.ti.com/lit/gpn/sn74HC14" (at 233.045 274.32 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "LCSC" "C5605" (at 233.045 274.32 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid fab3f3e9-f055-4a8d-8e41-b1273d9eb345))
    (pin "2" (uuid 88fa9f82-3c62-4ed5-9907-3274eb41f388))
    (pin "3" (uuid 4d0f9997-d042-4e7b-b5ac-f0b859629735))
    (pin "4" (uuid c397a082-38d9-4df2-8a2a-34df6452a919))
    (pin "5" (uuid da1bae7e-7727-4f3b-b9b2-adc03a150d8b))
    (pin "6" (uuid 00ef0d19-7b52-4188-827d-eed9fc822151))
    (pin "8" (uuid 0729fe2a-e836-47d7-b41d-978b9619fa4e))
    (pin "9" (uuid 73a68e02-e762-4cbc-9e3d-370b0610e593))
    (pin "10" (uuid 65035366-e08e-4248-b1f0-755017e84b37))
    (pin "11" (uuid e87e57b7-4bce-4154-b3f9-88ae01834954))
    (pin "12" (uuid a591df44-6f4d-411d-bfd0-3623147a5f37))
    (pin "13" (uuid 761f497b-6979-48f1-910f-ddcfef8b1b8e))
    (pin "14" (uuid ab4459b8-d96d-47c1-911d-8cff582c5ca1))
    (pin "7" (uuid 7a6cb806-ed8a-4e2e-b294-3a4671f83ce7))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "U7") (unit 6)
        )
      )
    )
  )

  (symbol (lib_id "power:+3V3") (at 398.78 112.395 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 68701900-33be-4ade-8484-e0dde53142dc)
    (property "Reference" "#PWR086" (at 398.78 116.205 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "+3V3" (at 398.78 108.585 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 398.78 112.395 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 398.78 112.395 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 0142cd0d-5e65-467c-8e87-a04c162e4381))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "#PWR086") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 162.56 273.05 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 6a0539d4-a7df-40de-b36f-0e7371b4f5f2)
    (property "Reference" "#PWR033" (at 162.56 279.4 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 162.56 278.13 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 162.56 273.05 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 162.56 273.05 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 0bfd896d-522e-4309-ae21-a45837b3effe))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "#PWR033") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:LED") (at 130.81 34.29 180) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 6a9e20e5-5a42-4dc6-8fef-22b7de2e69fe)
    (property "Reference" "D2" (at 132.3975 27.94 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "5V OK" (at 132.3975 30.48 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "LED_SMD:LED_0805_2012Metric" (at 130.81 34.29 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 130.81 34.29 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "LCSC" "C2297" (at 130.81 34.29 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 1c05e087-22f8-4a36-ad28-c924a2fe63c0))
    (pin "2" (uuid 3e37c779-3679-46d4-a91b-7902391067f6))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "D2") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Transistor_BJT:MMBT3904") (at 200.66 37.465 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 6d3000db-01d4-4ca8-b1f8-fc1956024214)
    (property "Reference" "Q1" (at 205.74 36.83 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "MMBT3904" (at 205.74 39.37 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Package_TO_SOT_SMD:SOT-23" (at 205.74 39.37 0)
      (effects (font (size 1.27 1.27) italic) (justify left) hide)
    )
    (property "Datasheet" "https://www.onsemi.com/pub/Collateral/2N3903-D.PDF" (at 200.66 37.465 0)
      (effects (font (size 1.27 1.27)) (justify left) hide)
    )
    (property "LCSC" "C20526" (at 200.66 37.465 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 2c2023a8-337e-4528-911c-2f167e91975a))
    (pin "2" (uuid dc3c1820-985e-4cbc-a6fd-73eb3fd7e81d))
    (pin "3" (uuid 55857673-3960-49ac-aeee-d0d1d17b83ef))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "Q1") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "LED:WS2812B") (at 386.08 227.33 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 6d5821da-1631-4326-8e26-74f3d2af9f41)
    (property "Reference" "D24" (at 391.16 217.805 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "WS2812B" (at 391.16 220.345 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "LED_SMD:LED_WS2812B_PLCC4_5.0x5.0mm_P3.2mm" (at 387.35 234.95 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Datasheet" "https://cdn-shop.adafruit.com/datasheets/WS2812B.pdf" (at 388.62 236.855 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "LCSC" "C2761795" (at 386.08 227.33 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 6577a698-74d3-4a2f-b773-b4d5f16e89b6))
    (pin "2" (uuid e36c0fc6-9bbf-4a52-9d94-e8fd4303ef14))
    (pin "3" (uuid 9e91d3b7-589c-4a8a-a8d6-a62fb73c29e0))
    (pin "4" (uuid 61c7dd43-70b1-4421-acee-46b93bbb56fe))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "D24") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:+5V") (at 113.03 31.75 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 6d748d80-33c9-4317-ac22-c942c2d36911)
    (property "Reference" "#PWR09" (at 113.03 35.56 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "+5V" (at 113.03 27.94 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 113.03 31.75 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 113.03 31.75 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 21b4ddde-fc5a-4f99-b33f-9db150b80c47))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "#PWR09") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "74xx:74HC14") (at 233.045 240.03 0) (unit 3)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 6e232e7a-4925-4e67-8070-f69f6a8bfe5f)
    (property "Reference" "U7" (at 233.045 232.41 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "74HC14" (at 233.045 234.95 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Package_SO:SOIC-14_3.9x8.7mm_P1.27mm" (at 233.045 240.03 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "http://www.ti.com/lit/gpn/sn74HC14" (at 233.045 240.03 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "LCSC" "C5605" (at 233.045 240.03 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 8d1d4990-a381-4b2e-bf19-4a08e6a5acef))
    (pin "2" (uuid b8b55a1d-fadf-46bb-892b-e1aba898d7fb))
    (pin "3" (uuid 1ec22ca4-5139-47e9-8200-acb98a0fe661))
    (pin "4" (uuid 5b9627f4-3b0b-4115-a99d-37f7f8ad78f2))
    (pin "5" (uuid 8fdda494-e5d5-4943-ab3e-61fdb5084428))
    (pin "6" (uuid 5f7acfe4-3c8d-457e-9f47-fd700e026dfd))
    (pin "8" (uuid 9005210b-e33c-4133-9477-2b617a836ec6))
    (pin "9" (uuid 156c6986-b285-4645-8fac-ab62c27ae64a))
    (pin "10" (uuid f1ab724b-7943-44d0-90a7-a21184dffce5))
    (pin "11" (uuid 8ae4e2f8-f8a7-4116-a76d-d84379cac8d7))
    (pin "12" (uuid d9598044-c690-4508-a7f0-7c514e9eeca9))
    (pin "13" (uuid 10c62b41-bd80-4172-9f20-6f12cdb52222))
    (pin "14" (uuid e178be03-155e-46a0-acb5-4ceda826d754))
    (pin "7" (uuid 0235b20a-bce9-45a6-9462-dd34f11d76e1))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "U7") (unit 3)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 208.28 227.33 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 6f403966-36c2-4658-b14b-c243b54796f5)
    (property "Reference" "#PWR039" (at 208.28 233.68 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 208.28 232.41 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 208.28 227.33 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 208.28 227.33 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 769bb124-829e-4474-a861-59724e3475ce))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "#PWR039") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R") (at 189.23 77.47 90) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 6fb0b05f-19de-4af7-ab1a-7f9aa88495b1)
    (property "Reference" "R31" (at 189.23 72.39 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "1k" (at 189.23 74.93 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Resistor_SMD:R_0402_1005Metric" (at 189.23 79.248 90)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 189.23 77.47 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "LCSC" "C11702" (at 189.23 77.47 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 3660b0e1-b583-41e5-8ffa-194d94fa8586))
    (pin "2" (uuid 9b0fa0dd-08fb-409a-9a4c-f6e3b8925533))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "R31") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:+5V") (at 386.08 217.17 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 70010382-1198-4aa6-9a03-5fcce4fd76df)
    (property "Reference" "#PWR081" (at 386.08 220.98 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "+5V" (at 386.08 213.36 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 386.08 217.17 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 386.08 217.17 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 49710e30-e95b-4ec3-a435-279230dbe1bb))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "#PWR081") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:+5V") (at 46.99 20.32 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 71682fe6-1bf0-4a74-93ac-5fefd25880c8)
    (property "Reference" "#PWR03" (at 46.99 24.13 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "+5V" (at 46.99 16.51 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 46.99 20.32 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 46.99 20.32 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 98c6e4b1-af5e-47e5-a785-10cbc8f5dac8))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "#PWR03") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 381 200.025 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 72efcb25-fda0-4edb-998c-b2c9a804cb2d)
    (property "Reference" "#PWR077" (at 381 206.375 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 381 205.105 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 381 200.025 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 381 200.025 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 82be97c0-a705-4a8c-8aa9-20bae92ea4be))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "#PWR077") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:+3V3") (at 241.3 196.85 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 73362aaa-1b2f-4ab1-8ddc-d5e9c7c013f7)
    (property "Reference" "#PWR050" (at 241.3 200.66 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "+3V3" (at 241.3 193.04 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 241.3 196.85 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 241.3 196.85 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 88d5d4ff-6b54-439b-8a44-d346ff62926f))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "#PWR050") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 203.2 45.085 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 76c47ba5-e578-43c1-98dc-505da6f26278)
    (property "Reference" "#PWR054" (at 203.2 51.435 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 207.01 46.99 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 203.2 45.085 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 203.2 45.085 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 3e0aa532-7605-4500-b281-d26e82134087))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "#PWR054") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 377.19 164.465 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 793a94eb-613f-4c70-bf67-b35ff3d1c30e)
    (property "Reference" "#PWR076" (at 377.19 170.815 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 377.19 169.545 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 377.19 164.465 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 377.19 164.465 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid ff55b5ad-4f63-43a6-81c7-0b8c73c4473b))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "#PWR076") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 323.85 150.495 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 7aa3ef97-54f0-4a3b-8abc-31b467865c6f)
    (property "Reference" "#PWR015" (at 323.85 156.845 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 323.85 155.575 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 323.85 150.495 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 323.85 150.495 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 4b39f55e-d43f-4126-bc04-8c2d9cc2c6ab))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "#PWR015") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Diode:SM4007") (at 223.52 23.495 180) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 7b16d157-ebac-4261-9e36-3cca42e07ac5)
    (property "Reference" "D20" (at 223.52 17.78 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "SM4007" (at 223.52 20.32 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Diode_SMD:D_SOD-123F" (at 223.52 19.05 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "http://cdn-reichelt.de/documents/datenblatt/A400/SMD1N400%23DIO.pdf" (at 223.52 23.495 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Sim.Device" "D" (at 223.52 23.495 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Sim.Pins" "1=K 2=A" (at 223.52 23.495 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "LCSC" "C64898" (at 223.52 23.495 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid e73216d4-4aa9-4b2c-b3f5-c25917ff0252))
    (pin "2" (uuid f25bf611-ce9c-486a-bd71-05d5fd63c4a2))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "D20") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Connector:Conn_01x04_Pin") (at 165.1 224.155 0) (mirror y) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 7bf5e741-5d44-4c62-8179-670224d12413)
    (property "Reference" "J10" (at 161.925 230.505 90)
      (effects (font (size 1.27 1.27)) (justify right))
    )
    (property "Value" "UART1 5V" (at 164.465 230.505 90)
      (effects (font (size 1.27 1.27)) (justify right))
    )
    (property "Footprint" "Connector_Phoenix_MC_HighVoltage:PhoenixContact_MC_1,5_4-G-5.08_1x04_P5.08mm_Horizontal" (at 165.1 224.155 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 165.1 224.155 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "LCSC" "C2847158" (at 165.1 224.155 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid cc48bd50-a0e1-4fc3-85ed-23bae386e861))
    (pin "2" (uuid 675ce75a-498f-4e14-a14e-233977fcc706))
    (pin "3" (uuid eac87f9f-519d-481b-9701-473ca15da7a4))
    (pin "4" (uuid 24323d6e-4323-4870-bd64-b2cb14d59739))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "J10") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:+3V3") (at 363.22 141.605 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 7ca6670d-e644-4738-81df-0518268eb7d5)
    (property "Reference" "#PWR074" (at 363.22 145.415 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "+3V3" (at 363.22 137.795 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 363.22 141.605 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 363.22 141.605 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid f911dd0d-f257-4a16-888d-129294ea4221))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "#PWR074") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:C") (at 99.06 38.1 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 7ced515e-7dd4-4423-8201-a2232fa730be)
    (property "Reference" "C4" (at 102.87 37.465 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "100n" (at 102.87 40.005 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Capacitor_SMD:C_1206_3216Metric" (at 100.0252 41.91 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 99.06 38.1 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "LCSC" "C1846" (at 99.06 38.1 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid e3452165-9b5e-4051-8468-5a3e14c42daf))
    (pin "2" (uuid 88cfcbc2-a39f-41a2-bbf0-1c5a7e93a3d5))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "C4") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:+5V") (at 126.365 219.71 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 7cfa7a82-e1ea-4c6b-9f7b-370d7efc0bbc)
    (property "Reference" "#PWR068" (at 126.365 223.52 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "+5V" (at 126.365 215.9 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 126.365 219.71 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 126.365 219.71 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 299587c6-e43b-4f72-ae2b-5285e3caa6dd))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "#PWR068") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Connector:DE9_Plug_MountingHoles") (at 130.175 255.905 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 7d1edbe2-5499-41b2-b7e1-fa3bceaef121)
    (property "Reference" "J5" (at 132.08 272.415 90)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "RS232 2" (at 133.985 275.59 90)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Connector_Dsub:DSUB-9_Female_Horizontal_P2.77x2.84mm_EdgePinOffset7.70mm_Housed_MountingHolesOffset9.12mm" (at 130.175 255.905 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" " ~" (at 130.175 255.905 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "LCSC" "C141882" (at 130.175 255.905 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "0" (uuid 2e310a55-0263-4400-a175-053e58c3843e))
    (pin "1" (uuid 5135de42-8f2f-4f92-a0c7-21e5e4406a8f))
    (pin "2" (uuid 4862c5ec-e041-4d49-acf0-acd65a8c845a))
    (pin "3" (uuid ea734259-908a-46d5-8a62-d391108ff8ce))
    (pin "4" (uuid 1d196ab7-6c94-4c54-a59f-835689c37e1d))
    (pin "5" (uuid a6a562fb-5cd6-43a9-a985-4d6d78e08f81))
    (pin "6" (uuid 0dadbb6a-b0dd-4285-b719-fbdeefd38ff0))
    (pin "7" (uuid 170052b5-d3bc-4741-be82-cc835368726f))
    (pin "8" (uuid 2e5ada90-6f90-4b92-bfbb-e880a77b26b6))
    (pin "9" (uuid 49012015-2c18-422c-9f32-3de8e48ca067))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "J5") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R") (at 192.405 186.69 90) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 7dc1e9ec-131e-4380-8c9b-741513b1311e)
    (property "Reference" "R16" (at 192.405 182.245 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "2.7k" (at 192.405 184.785 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 192.405 188.468 90)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 192.405 186.69 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "LCSC" "C13167" (at 192.405 186.69 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid cb9b7557-fe20-4a45-8a96-7fa0d21284bd))
    (pin "2" (uuid a79ea64b-a14e-412d-9461-5362630cf5c2))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "R16") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:+5V") (at 66.675 255.905 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 7e5f2617-7b95-4538-beda-f70f12a84192)
    (property "Reference" "#PWR051" (at 66.675 259.715 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "+5V" (at 66.675 252.095 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 66.675 255.905 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 66.675 255.905 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid f031eda7-8436-4b4c-bf65-078087dff811))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "#PWR051") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R") (at 44.45 88.9 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 7e9c2303-9792-48e2-9e33-4cf1c0e82f76)
    (property "Reference" "R7" (at 46.99 88.265 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "27k" (at 46.99 90.805 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Resistor_SMD:R_0402_1005Metric" (at 42.672 88.9 90)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 44.45 88.9 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "LCSC" "C25771" (at 44.45 88.9 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid c475a40d-57d2-4389-a5cb-7992a57a3f9c))
    (pin "2" (uuid 0735c49b-be22-4ff0-a771-0cc291adab6a))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "R7") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Diode:SM4007") (at 223.52 63.5 180) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 80b45cc4-d81c-40b3-aa09-131915db6bfa)
    (property "Reference" "D22" (at 223.52 58.42 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "SM4007" (at 223.52 60.96 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Diode_SMD:D_SOD-123F" (at 223.52 59.055 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "http://cdn-reichelt.de/documents/datenblatt/A400/SMD1N400%23DIO.pdf" (at 223.52 63.5 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Sim.Device" "D" (at 223.52 63.5 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Sim.Pins" "1=K 2=A" (at 223.52 63.5 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "LCSC" "C64898" (at 223.52 63.5 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 67ec11e4-337e-4c6f-a7d0-a677c3038904))
    (pin "2" (uuid fbf9523e-5109-4f28-9c45-15af11d50115))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "D22") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Power_Protection:SP0505BAHT") (at 155.575 156.21 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 81c5a82b-e211-440a-bad2-52c3ab91da9a)
    (property "Reference" "D25" (at 158.877 161.036 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "SMF05CT1G" (at 158.877 163.068 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Package_TO_SOT_SMD:SOT-363_SC-70-6" (at 163.195 157.48 0)
      (effects (font (size 1.27 1.27)) (justify left) hide)
    )
    (property "Datasheet" "http://www.littelfuse.com/~/media/files/littelfuse/technical%20resources/documents/data%20sheets/sp05xxba.pdf" (at 158.75 153.035 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "LCSC" "C15879" (at 155.575 156.21 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "2" (uuid 787c082e-a49b-4572-96fe-c053d204388e))
    (pin "1" (uuid 649b3746-d029-4628-badd-a6c5e73a7562))
    (pin "3" (uuid a1a335f0-c69f-48a6-aa80-96e6b8e7723b))
    (pin "4" (uuid f9e4b546-f285-44aa-94ff-f0e192d30f01))
    (pin "5" (uuid 8487d6ef-5ce1-4e1a-8eff-834b55d39bfc))
    (pin "6" (uuid 9f5145de-8c26-4dcd-b185-29395f0e8275))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "D25") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R") (at 372.11 148.59 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 8353d653-ce54-4f7f-8a5e-373fb5477fc4)
    (property "Reference" "R34" (at 374.65 147.955 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "1.8k" (at 374.65 150.495 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 370.332 148.59 90)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 372.11 148.59 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "LCSC" "C4177" (at 372.11 148.59 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 852ba076-05dc-4448-a955-222dc5e110cd))
    (pin "2" (uuid fb6a6cd9-3fba-45d5-8564-40ae41b9f24e))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "R34") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Connector:USB_C_Receptacle") (at 271.78 170.815 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 8446f11c-0f37-4acb-ae2d-d30a7a6a822c)
    (property "Reference" "J1" (at 271.78 139.065 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "GT-USB-7010ASV" (at 271.78 141.605 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Connector_USB:USB_C_Receptacle_G-Switch_GT-USB-7010ASV" (at 275.59 170.815 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "https://www.usb.org/sites/default/files/documents/usb_type-c.zip" (at 275.59 170.815 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "LCSC" "C2988369" (at 271.78 170.815 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "A1" (uuid 56052862-2f06-4cf7-9b07-d4dbb357f24a))
    (pin "A10" (uuid 38929e8b-5fd9-4b8a-a0fd-c32384c953e9))
    (pin "A11" (uuid 9de246e0-ec81-4e0b-a940-37aa8e9066b7))
    (pin "A12" (uuid 9381aa07-1d90-48c2-bb7a-ef1c212f30ff))
    (pin "A2" (uuid 81a04c48-d72e-41e0-b031-8e64718d77ef))
    (pin "A3" (uuid 5d9889f0-2285-4bd7-8e64-5543b9a56f78))
    (pin "A4" (uuid 544c925f-4e20-4205-b904-bee023257a48))
    (pin "A5" (uuid efdb608c-2f39-4ebe-89ed-75bcd78cf327))
    (pin "A6" (uuid e42a65c2-756f-43c4-903e-e87b09c8729a))
    (pin "A7" (uuid d7238893-365c-438b-a778-ed1738ff05ff))
    (pin "A8" (uuid 6595dac8-7f25-4032-90f4-bed534cf2a13))
    (pin "A9" (uuid 5dce06fb-17a1-4998-bdca-1bc230cfeb3c))
    (pin "B1" (uuid 2f3b7a61-7626-4530-b034-f614fb00590f))
    (pin "B10" (uuid 6cdeec2d-1a29-4a27-9ee0-1b0a9caaf017))
    (pin "B11" (uuid 5aa57936-17a9-4955-8f66-392357c57548))
    (pin "B12" (uuid c0cfc435-7121-40ae-ad01-fcb12bfb8b02))
    (pin "B2" (uuid d24ce927-353a-48f7-bcfa-74e2341874d1))
    (pin "B3" (uuid cfee2ff4-5c1e-4f18-91d8-30fddde36f40))
    (pin "B4" (uuid ddc36c96-7aa8-424c-8e74-749e57edd220))
    (pin "B5" (uuid 4e12ffa1-1f9d-44a7-be04-c8cecf18650f))
    (pin "B6" (uuid 4aceb0cf-d9d6-425b-b44b-5a1bfbf662e3))
    (pin "B7" (uuid 3e666c86-bc55-4d64-b8fa-67583662e156))
    (pin "B8" (uuid 94b6ebd6-dc55-4516-b638-2f7ef01d8a12))
    (pin "B9" (uuid cc8faa72-b408-4e8d-a3e2-561925f2a716))
    (pin "S1" (uuid 9191e451-a546-4a46-bf24-a30ade02c985))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "J1") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 179.705 56.515 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 85831452-76d7-4c89-a5c9-71ab3277a294)
    (property "Reference" "#PWR057" (at 179.705 62.865 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 175.895 58.42 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 179.705 56.515 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 179.705 56.515 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 1f6ff06b-814d-497f-992b-6c5428d46cd2))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "#PWR057") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Connector:Conn_01x04_Pin") (at 133.35 198.755 0) (mirror y) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 85d23cf0-efc4-41c3-9e0e-0c631dcaab6f)
    (property "Reference" "J12" (at 130.175 205.105 90)
      (effects (font (size 1.27 1.27)) (justify right))
    )
    (property "Value" "UART2 3V3" (at 132.715 205.105 90)
      (effects (font (size 1.27 1.27)) (justify right))
    )
    (property "Footprint" "Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_Vertical" (at 133.35 198.755 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 133.35 198.755 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid bae0478c-c8ef-4f87-a05c-ff1e2047b522))
    (pin "2" (uuid 82e090ea-1995-48d5-9c0a-415fc1b8bc60))
    (pin "3" (uuid 4cb8d671-49c3-4db5-b91e-d2e16f660078))
    (pin "4" (uuid 44382a19-6bad-4a79-8d42-78f814ecc6b4))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "J12") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:C") (at 133.35 99.06 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 86b50452-e250-491e-95ae-589303d80a04)
    (property "Reference" "C11" (at 137.16 98.425 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "100n" (at 137.16 100.965 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Capacitor_SMD:C_0402_1005Metric" (at 134.3152 102.87 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 133.35 99.06 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "LCSC" "C307331" (at 133.35 99.06 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid acf5e11f-61c0-452a-b679-bb2267e5dc35))
    (pin "2" (uuid c84fd6f8-2946-451f-ae5f-f2f0ef662b98))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "C11") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 207.645 160.655 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 87a6f882-df8b-4ac4-a5de-adfcd5d6546e)
    (property "Reference" "#PWR052" (at 207.645 167.005 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 207.645 165.735 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 207.645 160.655 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 207.645 160.655 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid e9242446-004c-4aeb-aaf0-45b2f76d0ad2))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "#PWR052") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R") (at 40.64 267.97 180) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 8874cff4-e8f3-4220-a858-4c2442802bee)
    (property "Reference" "R38" (at 42.545 267.335 0)
      (effects (font (size 1.27 1.27)) (justify right))
    )
    (property "Value" "10k" (at 42.545 269.875 0)
      (effects (font (size 1.27 1.27)) (justify right))
    )
    (property "Footprint" "Resistor_SMD:R_0402_1005Metric" (at 42.418 267.97 90)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 40.64 267.97 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "LCSC" "C25744" (at 40.64 267.97 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 795e0407-3dc6-405f-9442-7d7090445ba5))
    (pin "2" (uuid f7502ef4-6adf-4dc6-b1bb-f0cc41043491))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "R38") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 386.08 237.49 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 8884d6e5-b76e-442d-afd7-a4f3fdde68ab)
    (property "Reference" "#PWR082" (at 386.08 243.84 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 386.08 242.57 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 386.08 237.49 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 386.08 237.49 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 529aac96-be56-4c77-88e9-232973412a2e))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "#PWR082") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 203.2 85.09 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 8988a890-d6ad-4ba6-92b4-0cb4881aeaf3)
    (property "Reference" "#PWR060" (at 203.2 91.44 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 207.01 86.995 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 203.2 85.09 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 203.2 85.09 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 386d968d-83c2-4ed5-8698-34217f2e9913))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "#PWR060") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R") (at 202.565 159.385 90) (mirror x) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 8abd035f-3e36-41e5-b377-5de885d91ac2)
    (property "Reference" "R25" (at 202.565 159.385 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "330" (at 202.565 161.29 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Resistor_SMD:R_0402_1005Metric" (at 202.565 157.607 90)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 202.565 159.385 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "LCSC" "C25104" (at 202.565 159.385 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid ecce31a9-9a7c-4974-8330-0e6c4ef7fd48))
    (pin "2" (uuid ef594265-f582-4661-baa6-69895e790232))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "R25") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:+5V") (at 240.03 72.39 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 8bae1dd6-a787-4d02-a7cc-88eb0e967858)
    (property "Reference" "#PWR061" (at 240.03 76.2 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "+5V" (at 240.03 68.58 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 240.03 72.39 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 240.03 72.39 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid ab20bd56-95f7-461d-adf6-7a3ce706b5f8))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "#PWR061") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R") (at 300.99 163.195 90) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 8be11f65-e67d-47b9-b6b6-c364c01cd743)
    (property "Reference" "R14" (at 300.99 163.195 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "0" (at 300.99 160.655 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Resistor_SMD:R_0402_1005Metric" (at 300.99 164.973 90)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 300.99 163.195 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "LCSC" "C17168" (at 300.99 163.195 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid f028a2e3-79e2-4d8f-a02d-86069892d77f))
    (pin "2" (uuid 8d9f0f21-ceb6-4953-9038-9e3c9e0b8210))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "R14") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 208.28 201.93 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 8f353a01-e129-40e9-a3ee-c4c33b84e20b)
    (property "Reference" "#PWR038" (at 208.28 208.28 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 208.28 207.01 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 208.28 201.93 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 208.28 201.93 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 56f0c980-ebd7-4f8b-9525-da43d91fd313))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "#PWR038") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R") (at 208.28 220.345 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 8f68a4bc-8c3c-4bba-9fcd-bf16bc818872)
    (property "Reference" "R18" (at 210.185 219.71 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "820" (at 210.185 222.25 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 206.502 220.345 90)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 208.28 220.345 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "LCSC" "C23253" (at 208.28 220.345 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid f501417f-93b8-46c6-8ae0-b74a91216286))
    (pin "2" (uuid 382609f3-a6e0-4ed2-be6c-47942c32691c))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "R18") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Relay:G5V-1") (at 223.52 41.91 270) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 92c9cc28-05d1-4f38-b6b7-20a7d2d4524f)
    (property "Reference" "K1" (at 223.52 27.305 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "G5V-1" (at 223.52 29.845 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Relay_THT:Relay_SPDT_Omron_G5V-1" (at 222.758 70.612 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "http://omronfs.omron.com/en_US/ecb/products/pdf/en-g5v_1.pdf" (at 223.52 41.91 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "LCSC" "C28695" (at 223.52 41.91 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 0f5f8c30-c5b1-49dc-bb89-aa97ca8ac686))
    (pin "10" (uuid 98043684-2554-44a1-b640-9dd5854a158b))
    (pin "2" (uuid b61cf4ad-2c19-4145-828e-79e47fd842e3))
    (pin "5" (uuid c5f03a87-5c4a-4e4a-81dd-816285244ab3))
    (pin "6" (uuid b9f35b71-d70a-41f6-99e1-523bc0a290df))
    (pin "9" (uuid 5f18adf9-2f45-4c83-99ce-fa4be229c0f1))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "K1") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 130.175 273.685 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 9367b6c5-9f7c-4319-becf-deada9656b12)
    (property "Reference" "#PWR034" (at 130.175 280.035 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 130.175 278.765 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 130.175 273.685 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 130.175 273.685 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid b558ce51-6e80-46d3-9da0-f2f62d5989e8))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "#PWR034") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Interface_UART:MAX232") (at 94.615 168.275 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 94a133d8-28d2-470d-9fc3-37109d5d93be)
    (property "Reference" "U5" (at 96.5709 139.065 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "MAX232" (at 96.5709 141.605 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Package_SO:SOIC-16_3.9x9.9mm_P1.27mm" (at 95.885 194.945 0)
      (effects (font (size 1.27 1.27)) (justify left) hide)
    )
    (property "Datasheet" "http://www.ti.com/lit/ds/symlink/max232.pdf" (at 94.615 165.735 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "LCSC" "C26860" (at 94.615 168.275 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 8e4d606f-96e3-41a4-ad3b-1747889ab6cc))
    (pin "10" (uuid 71eb0f08-eae8-4822-98bf-02ca67c50641))
    (pin "11" (uuid c147654b-8e80-4730-bcdf-9ec02503e9d5))
    (pin "12" (uuid 91fc1d22-6041-41bb-a3cb-7ae82f3b6b98))
    (pin "13" (uuid e6c66eb2-d5d7-4504-b9ad-8be353352c84))
    (pin "14" (uuid 9fa6e40b-64d8-4425-a067-669b6c7826fe))
    (pin "15" (uuid 6e0e12c8-2eb7-44ea-abcd-41298ea14c63))
    (pin "16" (uuid cca5f8d7-b73d-438c-9073-292c8b296000))
    (pin "2" (uuid 59ee430f-54a1-4559-b308-dc9dd05f8739))
    (pin "3" (uuid b69f4387-c144-4a8a-b005-86130af34bbd))
    (pin "4" (uuid 83e67dae-fd6d-44a2-b719-5bfd5b927605))
    (pin "5" (uuid 19d8f199-e41a-4e91-92ab-81c6cfda8755))
    (pin "6" (uuid 201cb2f1-a2dd-4c03-9c74-5b861d49f7ae))
    (pin "7" (uuid 1be1fe81-6dda-46db-af92-0cbae5b4e402))
    (pin "8" (uuid f7643469-a942-4dc0-b753-421f626737c5))
    (pin "9" (uuid f95f1f96-4019-4466-b0c0-a1acb166c0e4))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "U5") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "LED:WS2812B") (at 368.935 227.33 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 94b99ec7-117c-409e-b72f-42140ff5df01)
    (property "Reference" "D23" (at 374.015 217.805 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "WS2812B" (at 374.015 220.345 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "LED_SMD:LED_WS2812B_PLCC4_5.0x5.0mm_P3.2mm" (at 370.205 234.95 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Datasheet" "https://cdn-shop.adafruit.com/datasheets/WS2812B.pdf" (at 371.475 236.855 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "LCSC" "C2761795" (at 368.935 227.33 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 04c0b9c4-0f8b-41c8-9e58-babab0080024))
    (pin "2" (uuid 276942c3-7802-44e5-a92e-6c7949471cc8))
    (pin "3" (uuid 8463a4c3-ba9d-4fb0-bebb-d4717aa49ca3))
    (pin "4" (uuid d7df0a43-04af-46ce-9010-a9fe5b03dd15))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "D23") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:C") (at 142.875 38.735 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 95a45119-a652-4326-b84a-1a388db35886)
    (property "Reference" "C12" (at 144.78 44.45 90)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "100n" (at 144.78 36.83 90)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Capacitor_SMD:C_0402_1005Metric" (at 143.8402 42.545 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 142.875 38.735 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "LCSC" "C307331" (at 142.875 38.735 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid c9c54ad3-504f-46c1-978a-bd68b23eb897))
    (pin "2" (uuid b7e13b80-ba0c-4f3f-be8c-2503f57f9d23))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "C12") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 83.82 270.51 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 9844c891-464d-42e6-8d5c-87e6e0986e8e)
    (property "Reference" "#PWR019" (at 83.82 276.86 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 83.82 275.59 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 83.82 270.51 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 83.82 270.51 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid dc9ae000-58fb-4dec-b436-c7a7ca5596bd))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "#PWR019") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Regulator_Linear:AP1117-33") (at 83.82 31.75 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 9a15dde5-69d9-49c4-9069-f6b0514f9f03)
    (property "Reference" "U3" (at 83.82 25.4 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "AP1117-33" (at 83.82 27.94 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Package_TO_SOT_SMD:SOT-223-3_TabPin2" (at 83.82 26.67 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "http://www.diodes.com/datasheets/AP1117.pdf" (at 86.36 38.1 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "LCSC" "C6186" (at 83.82 31.75 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid ff5905af-1437-4381-86c0-c8d05d9434b3))
    (pin "2" (uuid a805d53a-3eee-4caf-97d0-8fe075b7ec9f))
    (pin "3" (uuid abe7ba69-5da6-4e5b-be6d-dd747dbbd326))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "U3") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Connector:Conn_01x04_Pin") (at 385.445 158.115 0) (mirror y) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 9c188497-af6d-4d1c-b423-8bdd1f386b46)
    (property "Reference" "J14" (at 382.27 164.465 90)
      (effects (font (size 1.27 1.27)) (justify right))
    )
    (property "Value" "I2C 3V3" (at 384.81 164.465 90)
      (effects (font (size 1.27 1.27)) (justify right))
    )
    (property "Footprint" "Connector_Phoenix_MC_HighVoltage:PhoenixContact_MC_1,5_4-G-5.08_1x04_P5.08mm_Horizontal" (at 385.445 158.115 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 385.445 158.115 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "LCSC" "C2847158" (at 385.445 158.115 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 831d2af2-c727-4fc5-9d97-13b43dfd89cf))
    (pin "2" (uuid 6ad04e5d-0acb-4094-93d2-6bd63e7cac1a))
    (pin "3" (uuid 383542f8-a0a3-42c2-b483-1db4bc8cb6aa))
    (pin "4" (uuid f0b514a8-f668-48a2-972b-d3b516c3943a))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "J14") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:+5V") (at 240.03 32.385 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 9c2110aa-3129-4306-bc7f-23111f6e1564)
    (property "Reference" "#PWR055" (at 240.03 36.195 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "+5V" (at 240.03 28.575 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 240.03 32.385 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 240.03 32.385 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 76130cf1-a419-43d4-ba8d-5b84cb1c16de))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "#PWR055") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 126.365 229.87 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid a0b1051c-3900-4eea-a654-bf830ae15c5c)
    (property "Reference" "#PWR069" (at 126.365 236.22 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 126.365 234.95 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 126.365 229.87 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 126.365 229.87 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid e200403b-cbc0-4392-9751-1155efb8b981))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "#PWR069") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:+3V3") (at 380.365 141.605 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid a1bbcd45-351b-43f2-8925-90e5208c8af2)
    (property "Reference" "#PWR075" (at 380.365 145.415 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "+3V3" (at 380.365 137.795 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 380.365 141.605 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 380.365 141.605 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid fa637396-7464-4089-9fdc-dbb32be7face))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "#PWR075") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:C_Polarized") (at 130.81 158.115 90) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid a1c88118-bc45-4186-83f7-95bafc832f4b)
    (property "Reference" "C7" (at 129.921 151.765 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "1u" (at 129.921 154.305 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Capacitor_SMD:C_0402_1005Metric" (at 134.62 157.1498 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 130.81 158.115 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "LCSC" "C52923" (at 130.81 158.115 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 36fc2876-f149-4ef2-8f12-79efa2156b90))
    (pin "2" (uuid bc6ac7c0-b15c-48f2-a4d4-e6095b97aa5a))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "C7") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:LED") (at 225.425 191.77 270) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid a1e91c3e-a33d-4aa3-8d6f-66452e073ea7)
    (property "Reference" "D15" (at 228.6 189.5475 90)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "IN10" (at 228.6 192.0875 90)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "LED_SMD:LED_0805_2012Metric" (at 225.425 191.77 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 225.425 191.77 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "LCSC" "C2297" (at 225.425 191.77 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid f6322789-def4-41d0-8eab-4bedc973424d))
    (pin "2" (uuid a1ee2ff4-8afe-496c-b7e7-fe5dc6c08637))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "D15") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Analog_Switch:DG411xJ") (at 52.07 252.73 0) (unit 4)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid a5b7c0ad-17da-4cc9-b82f-7008e482c2af)
    (property "Reference" "U6" (at 52.07 246.38 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "DG411xJ" (at 52.07 248.92 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Package_SO:SOIC-16_3.9x9.9mm_P1.27mm" (at 52.07 255.27 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "https://datasheets.maximintegrated.com/en/ds/DG411-DG413.pdf" (at 52.07 252.73 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "LCSC" "C45218" (at 52.07 252.73 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 47149add-a116-4f88-aea3-23e114a0431a))
    (pin "2" (uuid 0205347e-2114-4239-98c6-ddf22b750b53))
    (pin "3" (uuid 0b16ca83-e63d-42cc-9032-83aec8890b0b))
    (pin "6" (uuid 74b83395-92dc-4c45-beeb-27f657c0b74d))
    (pin "7" (uuid 98d25efb-9bb2-4d95-a1e6-95c4d72d2f93))
    (pin "8" (uuid 4480f771-3b45-4134-ad24-968e790988d1))
    (pin "10" (uuid 1dc47d0a-0c19-4c75-add6-f55fd124ebaa))
    (pin "11" (uuid b7678896-adf4-4936-92d1-6c288b62c3db))
    (pin "9" (uuid 5d2bc589-0621-409c-bb04-d40047ef064a))
    (pin "14" (uuid f56cc890-ed46-4ab1-8268-a639a1da64b1))
    (pin "15" (uuid 87da4a03-ffbc-48ea-ab9a-94ef949befe8))
    (pin "16" (uuid 5e889b22-afc2-43e8-8567-c15b5d9db07e))
    (pin "12" (uuid 884b3516-0605-45ca-9165-5d88392b0637))
    (pin "13" (uuid b8a0d690-5686-432b-b5a0-7e6e7ec1b63c))
    (pin "4" (uuid 9c5d371c-822f-4cb0-a077-97c2fa46e418))
    (pin "5" (uuid cb0496e0-510d-4c4e-9773-2de7f46f0305))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "U6") (unit 4)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 138.43 169.545 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid a5fc47f4-e27c-4dc5-aa51-8093aa798568)
    (property "Reference" "#PWR023" (at 138.43 175.895 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 138.43 174.625 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 138.43 169.545 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 138.43 169.545 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid f69c9405-aaf9-4274-b20a-c758f3739f21))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "#PWR023") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:LED") (at 130.81 45.72 180) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid a65d7dcb-d981-41a0-8857-70ac60a969d5)
    (property "Reference" "D3" (at 132.3975 39.37 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "3.3V OK" (at 132.3975 41.91 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "LED_SMD:LED_0805_2012Metric" (at 130.81 45.72 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 130.81 45.72 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "LCSC" "C2297" (at 130.81 45.72 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 69795294-3b26-42ef-93c2-545419b15ef9))
    (pin "2" (uuid 5639c5ed-bbf0-4f3e-987a-f3246ee4240e))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "D3") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 368.935 237.49 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid a9e60ed8-abd2-4988-9bfd-625eb47ab58b)
    (property "Reference" "#PWR079" (at 368.935 243.84 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 368.935 242.57 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 368.935 237.49 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 368.935 237.49 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 35dfec15-079b-4063-bb66-b05d73a7f6dc))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "#PWR079") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Connector_Generic:Conn_01x03") (at 243.84 86.995 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid ac30eb21-11dd-470c-8603-9a6bbfd28eab)
    (property "Reference" "J9" (at 247.015 86.36 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "OUT21" (at 247.015 88.9 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Connector_Phoenix_MC_HighVoltage:PhoenixContact_MC_1,5_3-G-5.08_1x03_P5.08mm_Horizontal" (at 243.84 86.995 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 243.84 86.995 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "LCSC" "C2847157" (at 243.84 86.995 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 506d2600-d482-44b2-b1fa-4dc8300b40da))
    (pin "2" (uuid 785399f5-1530-4d63-9499-41359a20411c))
    (pin "3" (uuid da16c96c-5f92-4a41-8b8b-e4a7289f43e5))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "J9") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 207.645 171.45 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid ac3d5c3b-7011-46da-adb1-93aeec5a8a1e)
    (property "Reference" "#PWR053" (at 207.645 177.8 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 207.645 176.53 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 207.645 171.45 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 207.645 171.45 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 5c365a2c-070c-40e9-85d0-e94a54ab35a8))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "#PWR053") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 52.07 273.685 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid acab0f0b-c6a7-48bd-af21-4e84148c308f)
    (property "Reference" "#PWR090" (at 52.07 280.035 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 52.07 278.765 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 52.07 273.685 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 52.07 273.685 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 23bd505b-e109-4d32-88ee-bae8d785fea0))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "#PWR090") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Connector:DE9_Plug_MountingHoles") (at 162.56 255.27 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid ad096a2e-1fe6-4afb-a066-b2ee9fb8f809)
    (property "Reference" "J4" (at 163.83 271.145 90)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "RS232 1" (at 165.735 274.32 90)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Connector_Dsub:DSUB-9_Female_Horizontal_P2.77x2.84mm_EdgePinOffset7.70mm_Housed_MountingHolesOffset9.12mm" (at 162.56 255.27 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" " ~" (at 162.56 255.27 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "LCSC" "C141882" (at 162.56 255.27 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "0" (uuid e4c89292-d540-4fdc-b2f6-d10e21cde1d8))
    (pin "1" (uuid 6d8bdc93-c349-4f69-bd73-007a0d46b1e9))
    (pin "2" (uuid 8e3af140-67ed-4ccb-bbc7-3da56cb41ac3))
    (pin "3" (uuid 3707f830-c255-4ba9-bd33-b11b2c307a70))
    (pin "4" (uuid 4248388b-a353-47ce-84ec-c0db077c4498))
    (pin "5" (uuid 204aa5c1-9477-4194-ac8a-64e1a0b1fc5f))
    (pin "6" (uuid a9c53ce7-002e-4041-ae87-161f2b9a6c54))
    (pin "7" (uuid a648d625-85d0-4ff0-8f9c-f9bcc8259bbf))
    (pin "8" (uuid 44f06b65-0fca-470a-8b44-de57224bde66))
    (pin "9" (uuid 8feca932-b242-4c3c-ad64-786034e5ec8d))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "J4") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Connector:Conn_01x02_Pin") (at 21.59 78.74 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid ae230f1d-d30a-48ad-84ae-fc4ad499d9d1)
    (property "Reference" "J3" (at 22.225 74.93 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "PWR2" (at 22.225 77.47 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Connector_Phoenix_MC_HighVoltage:PhoenixContact_MC_1,5_2-G-5.08_1x02_P5.08mm_Horizontal" (at 21.59 78.74 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 21.59 78.74 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "LCSC" "C2847156" (at 21.59 78.74 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 1b7761d8-d622-4363-8d01-3176291f2246))
    (pin "2" (uuid bbbb84ca-d83b-49b7-ab0e-b8152c64902e))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "J3") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R") (at 85.09 83.82 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid af6eceb4-c536-426c-9a5c-dccfe30d1f9c)
    (property "Reference" "R11" (at 87.63 83.185 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "680" (at 87.63 85.725 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Resistor_SMD:R_0402_1005Metric" (at 83.312 83.82 90)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 85.09 83.82 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "LCSC" "C25130" (at 85.09 83.82 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 578e4782-210d-44cf-ab64-ee63fc62d095))
    (pin "2" (uuid 24d5f6a3-976f-4dda-af07-a1740932aa73))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "R11") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 94.615 201.295 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid b0522ef3-f31f-44bd-ae8f-7dd0203faec1)
    (property "Reference" "#PWR021" (at 94.615 207.645 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 94.615 206.375 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 94.615 201.295 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 94.615 201.295 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid bdd7c014-ec07-4ab2-8d7c-579910fd1bed))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "#PWR021") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:C_Polarized") (at 67.945 149.225 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid b086480b-af17-45c6-8fa1-a13e8a7cc090)
    (property "Reference" "C5" (at 71.755 147.701 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "1u" (at 71.755 150.241 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Capacitor_SMD:C_0402_1005Metric" (at 68.9102 153.035 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 67.945 149.225 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "LCSC" "C52923" (at 67.945 149.225 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 05ee72f1-5787-4d68-88ba-4fccdd44a648))
    (pin "2" (uuid cd50cdff-7173-4c0c-b41d-2389a01b4254))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "C5") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Analog_Switch:DG411xJ") (at 54.61 180.975 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid b154af27-c799-4767-8ff6-99a5108a9d1e)
    (property "Reference" "U6" (at 54.61 174.625 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "DG411xJ" (at 54.61 177.165 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Package_SO:SOIC-16_3.9x9.9mm_P1.27mm" (at 54.61 183.515 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "https://datasheets.maximintegrated.com/en/ds/DG411-DG413.pdf" (at 54.61 180.975 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "LCSC" "C45218" (at 54.61 180.975 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 242dbb6a-5f49-4318-9ba7-015be6e7a15a))
    (pin "2" (uuid 3d3ae7d3-98cd-4049-95f9-596f7555a453))
    (pin "3" (uuid 06f9cbbc-e7e2-45b2-a0e3-618145430800))
    (pin "6" (uuid fe3f68e9-7465-4d33-b664-2f436e60589c))
    (pin "7" (uuid 8a9ea1b8-a562-4ade-86a2-a44ce0d94764))
    (pin "8" (uuid 76f91643-8923-4299-bae3-c90c2ee4ef0f))
    (pin "10" (uuid 5157e062-8b48-431b-8be2-e8efffee463f))
    (pin "11" (uuid c7a022d7-eb8f-442c-af82-9c4f1fcd6623))
    (pin "9" (uuid f341974c-72ed-450a-96ab-091bd5d7878b))
    (pin "14" (uuid 2bf9f3b5-bb5a-46b0-9fec-8da13dfae9dd))
    (pin "15" (uuid 8b87d623-2b83-4649-8e94-1894375ae466))
    (pin "16" (uuid e445d0ee-c4c6-437c-adfe-8db7437e814e))
    (pin "12" (uuid 117b8c49-982c-4370-a87f-20ddd157f763))
    (pin "13" (uuid 02116c63-209c-4a1b-bb8a-2bceb3f452ec))
    (pin "4" (uuid e16cddc4-6185-46ed-bb3b-299fbf5255d6))
    (pin "5" (uuid 19844053-1652-4385-968c-47414a6ba275))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "U6") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "74xx:74HC14") (at 217.17 186.69 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid b1c99194-7d3b-4b0b-8f7a-6fe5eafa7b95)
    (property "Reference" "U7" (at 217.17 179.07 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "74HC14" (at 217.17 181.61 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Package_SO:SOIC-14_3.9x8.7mm_P1.27mm" (at 217.17 186.69 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "http://www.ti.com/lit/gpn/sn74HC14" (at 217.17 186.69 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "LCSC" "C5605" (at 217.17 186.69 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 38763315-4e6a-4b1e-9311-1a72b66b283e))
    (pin "2" (uuid afee7d0c-efd2-4a15-8ead-b8edd0c6fa49))
    (pin "3" (uuid 26cfa462-c301-4353-a3c7-ff2f7e0658e5))
    (pin "4" (uuid b5bcb757-e836-424c-98fa-9a78fc1fe4be))
    (pin "5" (uuid a5000e03-45a9-4e3b-8bc1-bb03d4ab8c1b))
    (pin "6" (uuid 0662629c-3784-4c27-9763-f00654994827))
    (pin "8" (uuid 28eecbf5-b4ef-4b35-9292-626dfec63c3f))
    (pin "9" (uuid 2bd76493-a206-45f4-b7db-37b5a43394a8))
    (pin "10" (uuid 774217d9-d2af-4c0f-b97a-5224a366259e))
    (pin "11" (uuid 4e13863c-5a00-4d6d-9875-813cb77bdce6))
    (pin "12" (uuid 576cbd56-cbd4-40d5-8ceb-d294a5c6012d))
    (pin "13" (uuid 1b257e32-f631-44f2-8561-f6aceedd88e5))
    (pin "14" (uuid cb096f28-8446-4a23-bdec-e3b026ebdd01))
    (pin "7" (uuid 6bd640bf-ca65-430c-94de-9a36063b467a))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "U7") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R") (at 101.6 83.82 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid b27415e2-9974-4cdc-b261-88f26bb0c43c)
    (property "Reference" "R12" (at 104.14 83.185 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "680" (at 104.14 85.725 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Resistor_SMD:R_0402_1005Metric" (at 99.822 83.82 90)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 101.6 83.82 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "LCSC" "C25130" (at 101.6 83.82 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 1785da7b-0550-43a4-830d-217588046730))
    (pin "2" (uuid 2632da51-a66a-44a8-9392-e165fe1998fe))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "R12") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Connector:Conn_01x04_Pin") (at 133.35 223.52 0) (mirror y) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid b35f9d57-28c7-4e3d-9fc3-12af89b21367)
    (property "Reference" "J11" (at 130.175 229.87 90)
      (effects (font (size 1.27 1.27)) (justify right))
    )
    (property "Value" "UART2 5V" (at 132.715 229.87 90)
      (effects (font (size 1.27 1.27)) (justify right))
    )
    (property "Footprint" "Connector_Phoenix_MC_HighVoltage:PhoenixContact_MC_1,5_4-G-5.08_1x04_P5.08mm_Horizontal" (at 133.35 223.52 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 133.35 223.52 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "LCSC" "C2847158" (at 133.35 223.52 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid a4348906-83c6-4d0d-82a4-abb9d39881d4))
    (pin "2" (uuid bca2c3f6-912d-4c3b-a580-15244c6fe207))
    (pin "3" (uuid 269f2dde-60de-43d9-9a32-4672b61fcac0))
    (pin "4" (uuid 90f1e270-14bd-4bf0-8859-b5c46858f0a8))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "J11") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:C_Polarized") (at 398.78 117.475 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid b5011545-11f7-4a02-b8a3-610c79dfcec8)
    (property "Reference" "C19" (at 402.59 115.951 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "10u" (at 402.59 118.491 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Capacitor_Tantalum_SMD:CP_EIA-3216-18_Kemet-A" (at 399.7452 121.285 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 398.78 117.475 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "LCSC" "C7171" (at 398.78 117.475 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 84efebe2-0db5-4634-ab44-ff71a1c2f41a))
    (pin "2" (uuid def36ef9-b9e2-450c-a6b9-86ec9db0216f))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "C19") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R") (at 189.23 37.465 90) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid b6667ac5-b8e2-4543-b10e-969d4a356d73)
    (property "Reference" "R27" (at 189.23 32.385 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "1k" (at 189.23 34.925 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Resistor_SMD:R_0402_1005Metric" (at 189.23 39.243 90)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 189.23 37.465 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "LCSC" "C11702" (at 189.23 37.465 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 7a326934-a39d-4f08-8d10-6530bc257726))
    (pin "2" (uuid edb2e5c6-722a-4d7f-bf82-5fe324b6f264))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "R27") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 126.365 205.105 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid b75b5674-3a6e-49a1-97d9-4251fdb8da09)
    (property "Reference" "#PWR071" (at 126.365 211.455 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 126.365 210.185 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 126.365 205.105 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 126.365 205.105 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid b8777ee5-c2d6-4b03-811c-b5e9d6ebe897))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "#PWR071") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:+3V3") (at 158.115 195.58 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid b76af70e-684e-42ae-b1b8-deb287562aa4)
    (property "Reference" "#PWR072" (at 158.115 199.39 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "+3V3" (at 158.115 191.77 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 158.115 195.58 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 158.115 195.58 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 0bc7d631-66ab-45a7-a09e-fe6089b89fbf))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "#PWR072") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Analog_Switch:DG411xJ") (at 43.18 205.105 0) (unit 2)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid b7771b58-2289-44b6-b768-23c1bf9fca4a)
    (property "Reference" "U6" (at 43.18 198.755 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "DG411xJ" (at 43.18 201.295 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Package_SO:SOIC-16_3.9x9.9mm_P1.27mm" (at 43.18 207.645 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "https://datasheets.maximintegrated.com/en/ds/DG411-DG413.pdf" (at 43.18 205.105 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "LCSC" "C45218" (at 43.18 205.105 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 85720c4d-7fc5-45ba-ad27-6cb03aa0daea))
    (pin "2" (uuid d197766c-adec-4106-854c-452fb6691fc9))
    (pin "3" (uuid fea39bc3-062c-4ddd-88b0-5ad98ad32389))
    (pin "6" (uuid 56b24c90-1821-4527-ac9e-db0537cac751))
    (pin "7" (uuid 61b79171-8c05-4ff5-be46-6209ecb91480))
    (pin "8" (uuid ca02a062-2add-4188-855a-32359550f80f))
    (pin "10" (uuid d63e06c7-bde7-43fd-a1a6-853980bfacf8))
    (pin "11" (uuid a5e679b5-7e66-422c-b7d5-0131a58dcaba))
    (pin "9" (uuid de140c49-5388-4e9a-b54f-ea6e281ef3d0))
    (pin "14" (uuid 49d0e301-660c-4bfd-9a1b-10cce09d5d76))
    (pin "15" (uuid 705f4a5a-f4f7-47cc-bf60-69dbbbb7863a))
    (pin "16" (uuid cda33676-9972-4ca3-bcdc-29aef8f3a7f9))
    (pin "12" (uuid b9e395f5-9b26-437d-a3fc-2542f5c6add0))
    (pin "13" (uuid f8072763-4bc3-418f-b166-1e4de111aa07))
    (pin "4" (uuid 303fe7ea-6a47-409f-bab5-16843c492bc8))
    (pin "5" (uuid 2678714c-a5eb-4387-9b21-99c38aaf4e1f))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "U6") (unit 2)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 400.05 29.845 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid b7adf2f3-ee42-4c87-ad70-517e46e63812)
    (property "Reference" "#PWR084" (at 400.05 36.195 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 400.05 34.925 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 400.05 29.845 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 400.05 29.845 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 0dec36f0-1fcc-48cc-a790-c4a849af2492))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "#PWR084") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 222.885 170.18 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid b85b9132-d420-474f-ad66-64eef299a909)
    (property "Reference" "#PWR045" (at 222.885 176.53 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 222.885 175.26 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 222.885 170.18 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 222.885 170.18 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 0060835f-f8bc-4294-b9a8-94f47d94bd08))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "#PWR045") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:LED") (at 179.705 42.545 90) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid ba7cbdb3-7122-4330-8623-02d9930078bb)
    (property "Reference" "D19" (at 182.88 43.4975 90)
      (effects (font (size 1.27 1.27)) (justify right))
    )
    (property "Value" "OUT14" (at 182.88 46.0375 90)
      (effects (font (size 1.27 1.27)) (justify right))
    )
    (property "Footprint" "LED_SMD:LED_0805_2012Metric" (at 179.705 42.545 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 179.705 42.545 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "LCSC" "C2297" (at 179.705 42.545 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 6bdb88ac-b999-4907-915d-f14e83f39eee))
    (pin "2" (uuid 7ffbc398-11b0-44f1-bade-1a40d0bcda69))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "D19") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 194.31 247.015 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid c00ed9e5-bc90-47ba-81b4-bb5bc8f759bd)
    (property "Reference" "#PWR041" (at 194.31 253.365 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 194.31 252.095 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 194.31 247.015 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 194.31 247.015 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 3087609a-f0ab-4aca-bfbf-5eaf6fd319a3))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "#PWR041") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R") (at 192.405 213.36 90) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid c02436ea-22bc-40e5-9d6f-a4ddb1c89034)
    (property "Reference" "R17" (at 192.405 208.915 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "2.7k" (at 192.405 211.455 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 192.405 215.138 90)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 192.405 213.36 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "LCSC" "C13167" (at 192.405 213.36 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid bdc253b0-be80-46c8-b69e-daf98ef3251b))
    (pin "2" (uuid b3a3da76-f897-402c-9d0b-83c5b82e2df6))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "R17") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "PCM_Espressif:ESP32-S3-WROOM-1") (at 318.77 71.755 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid c0db6b75-2562-4afc-b874-9491f22d0394)
    (property "Reference" "U1" (at 320.7259 29.845 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "ESP32-S3-WROOM-1" (at 320.7259 32.385 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "PCM_Espressif:ESP32-S3-WROOM-1" (at 321.31 120.015 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "https://www.espressif.com/sites/default/files/documentation/esp32-s3-wroom-1_wroom-1u_datasheet_en.pdf" (at 321.31 122.555 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "LCSC" "C2913199" (at 318.77 71.755 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid c4d83804-f2e2-48c2-bd0f-5f51b62ce4db))
    (pin "10" (uuid f7f8bea0-e188-4513-92f0-97f91159d13a))
    (pin "11" (uuid b38fad3b-f1e5-4628-a477-2c471f96ddcc))
    (pin "12" (uuid ae0d26dc-e70c-42cf-8ec7-165e01e92431))
    (pin "13" (uuid 56579ff8-1a2a-41c3-8cf8-c64bfc016f66))
    (pin "14" (uuid b69483b0-4402-4a4f-ba3e-1ab8ab998d66))
    (pin "15" (uuid 53ead055-a362-4480-9297-a79015f6153e))
    (pin "16" (uuid 5e56383d-b9cf-494b-a7f4-f77053e9043e))
    (pin "17" (uuid ee5bf86b-88cf-446e-9b7a-93a3e74f0c71))
    (pin "18" (uuid a48c42f4-34f1-42ab-a533-c1f259d7bc86))
    (pin "19" (uuid ac6c8f99-60a8-4a02-ba35-f32b38ddf534))
    (pin "2" (uuid dd1a92ed-36e0-45d5-a881-2ef106f4de52))
    (pin "20" (uuid 516d1767-13e9-4251-9091-0bf470b228b8))
    (pin "21" (uuid 51fe6003-f86a-403d-bb58-950c788c7316))
    (pin "22" (uuid e314893f-8931-4f83-816c-214d6bec078a))
    (pin "23" (uuid e34d1761-4272-4b83-bd2b-bf398589f6c8))
    (pin "24" (uuid 69d154fb-1544-4a13-8d68-71d8c3ff6610))
    (pin "25" (uuid cfe76009-5a10-4c06-841a-37687bf432cc))
    (pin "26" (uuid 754ba78d-78ea-474c-bb48-9137079360f6))
    (pin "27" (uuid 4b18ac13-0d75-453a-bf42-a295600af3fa))
    (pin "28" (uuid 6f56cb1e-4d83-48d5-8259-0afe13da3547))
    (pin "29" (uuid d98bee04-8dd6-4a66-806e-22ce754ef044))
    (pin "3" (uuid fed54a9d-75f1-49eb-8a6e-cfaf2c09d855))
    (pin "30" (uuid c202af95-8542-4af6-a750-cd612126c2a8))
    (pin "31" (uuid 132787e3-b54e-4dc0-b58c-9cfa4f8fd743))
    (pin "32" (uuid 2905d923-d0ee-493f-b4e3-03204d2f491f))
    (pin "33" (uuid 0da88e73-13ba-4ca2-a09e-b6e3192ffcdb))
    (pin "34" (uuid c0235efc-9178-4ea1-a359-121a642b31f4))
    (pin "35" (uuid e3f281dd-ed67-4aee-bba5-f8be17f27cfc))
    (pin "36" (uuid 57cc9757-c595-480e-b021-dce19c924e7b))
    (pin "37" (uuid 1eef7c8c-4538-4732-acae-a7b757e78305))
    (pin "38" (uuid fa38fe51-ccc5-44a9-89cc-f3e04468ed1c))
    (pin "39" (uuid ef5c4d37-2288-468f-bce7-3ff6653a705d))
    (pin "4" (uuid 597cd24a-ac33-43b1-a743-17beb9b7f112))
    (pin "40" (uuid 85b1c42a-8f44-41e6-8b51-2759dc8665d3))
    (pin "41" (uuid 03c6e06f-eb1c-4696-8c87-ae9c33fb6c31))
    (pin "5" (uuid 20c2cf24-e3b2-4523-9f88-794b21c4b288))
    (pin "6" (uuid 0fbb402d-f6d0-4a00-aaf6-f22cae80e559))
    (pin "7" (uuid 73572aab-ddef-41ba-b21e-db92c62012b4))
    (pin "8" (uuid 88a21eed-ffbb-4408-a1d9-3fd3fb1df1a2))
    (pin "9" (uuid 21994d91-c915-4881-ad22-469da96cfbd0))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "U1") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 193.675 48.895 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid c1e502e6-e87a-486d-92eb-c68516840c35)
    (property "Reference" "#PWR056" (at 193.675 55.245 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 189.865 50.8 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 193.675 48.895 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 193.675 48.895 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid f1ac3b76-ec4f-418d-9575-43ffcc130cca))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "#PWR056") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:Polyfuse") (at 83.82 64.77 90) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid c24ec87f-0f58-40e1-99f2-f2b630f78936)
    (property "Reference" "F1" (at 83.82 59.69 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "1.25A" (at 83.82 62.23 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Fuse:Fuse_2920_7451Metric" (at 88.9 63.5 0)
      (effects (font (size 1.27 1.27)) (justify left) hide)
    )
    (property "Datasheet" "~" (at 83.82 64.77 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "LCSC" "C192524" (at 83.82 64.77 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid fb368212-5673-45e2-bd13-2b3794c24e8a))
    (pin "2" (uuid 505a334b-c47e-43a0-a360-d0ddd10fbb2c))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "F1") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R") (at 119.38 45.72 90) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid c2954c2a-c473-43df-a199-c743657e790b)
    (property "Reference" "R3" (at 119.38 40.64 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "33" (at 119.38 43.18 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Resistor_SMD:R_0402_1005Metric" (at 119.38 47.498 90)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 119.38 45.72 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "LCSC" "C25105" (at 119.38 45.72 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 7e43acd4-aa78-40ae-bacb-8d5726dd1b54))
    (pin "2" (uuid 05240d6d-1f24-44c9-80a6-270ff9f3f45c))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "R3") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Connector:Conn_01x02_Pin") (at 21.59 64.77 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid c2fd5730-79f5-4bc9-b8d3-1d000d56c327)
    (property "Reference" "J2" (at 22.225 60.96 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "PWR1" (at 22.225 63.5 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Connector_Phoenix_MC_HighVoltage:PhoenixContact_MC_1,5_2-G-5.08_1x02_P5.08mm_Horizontal" (at 21.59 64.77 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 21.59 64.77 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "LCSC" "C2847156" (at 21.59 64.77 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 972e95ed-b8b7-43a4-ad3c-220710d443f3))
    (pin "2" (uuid c974948a-aaf9-418f-8d1d-711c04306bc2))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "J2") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:LED") (at 33.02 139.7 180) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid c4f632e5-f65b-4f9d-a6e8-0f83980ec65d)
    (property "Reference" "D11" (at 34.6075 133.985 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "UART1 TX" (at 34.6075 136.525 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "LED_SMD:LED_0805_2012Metric" (at 33.02 139.7 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 33.02 139.7 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "LCSC" "C2297" (at 33.02 139.7 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 9a9c4cd7-6e77-4bfd-b8c4-8ec007527529))
    (pin "2" (uuid 3d205ff2-342f-46a4-a3ff-bbecc3803284))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "D11") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:+5V") (at 138.43 153.035 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid c63489fa-d973-4353-a516-edde698a5058)
    (property "Reference" "#PWR022" (at 138.43 156.845 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "+5V" (at 138.43 149.225 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 138.43 153.035 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 138.43 153.035 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 52bead9f-deba-4dac-9753-e31856971ee3))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "#PWR022") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:+3V3") (at 113.03 43.18 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid c7fd3e9c-9d1a-41e0-a626-840550e52916)
    (property "Reference" "#PWR08" (at 113.03 46.99 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "+3V3" (at 113.03 39.37 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 113.03 43.18 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 113.03 43.18 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 8922311d-99e8-47fd-aded-56fc4d27fed4))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "#PWR08") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:+5V") (at 148.59 22.86 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid ca10e986-0eaf-46ac-b0d0-cf12ee7ff58d)
    (property "Reference" "#PWR037" (at 148.59 26.67 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "+5V" (at 148.59 19.05 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 148.59 22.86 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 148.59 22.86 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid a5137ad3-5755-451c-9f1d-36962d8e0885))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "#PWR037") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 239.395 170.18 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid cc5b3e4d-632e-44c1-a55a-cfd0ed628525)
    (property "Reference" "#PWR065" (at 239.395 176.53 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 239.395 175.26 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 239.395 170.18 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 239.395 170.18 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid fd4d14b4-ee40-480b-9d8b-5faeb1c22aef))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "#PWR065") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "74xx:74HC14") (at 217.17 213.36 0) (unit 2)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid cd3299c0-c389-42bc-8d16-297f4ad1cc8d)
    (property "Reference" "U7" (at 217.17 205.74 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "74HC14" (at 217.17 208.28 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Package_SO:SOIC-14_3.9x8.7mm_P1.27mm" (at 217.17 213.36 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "http://www.ti.com/lit/gpn/sn74HC14" (at 217.17 213.36 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "LCSC" "C5605" (at 217.17 213.36 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 15b09374-ac59-43f1-9e13-5d80e3785792))
    (pin "2" (uuid 42c7ddf8-5284-4e9a-b4f8-8a417b9a43be))
    (pin "3" (uuid 985bd1ab-a430-42cb-a797-2d5a7ef8246d))
    (pin "4" (uuid 50e465df-9da5-4940-9363-b47a1af35cf7))
    (pin "5" (uuid 8daa1d2e-f421-419b-b442-bf25802db2d0))
    (pin "6" (uuid 3958b8c0-d045-4434-93f0-e8bc994016ac))
    (pin "8" (uuid 01ee7b60-c1ed-4bc3-9b1b-787d1ac543fc))
    (pin "9" (uuid 6a5095f6-e01d-4bc7-a2db-5edaad652a2a))
    (pin "10" (uuid 95df113f-87bb-4505-bc55-ae25db44ad0d))
    (pin "11" (uuid cd3188c8-d42e-404a-9569-5243f5ee86a2))
    (pin "12" (uuid 0e32354a-3666-4d7f-b1ef-2f931f8f44e7))
    (pin "13" (uuid 3e2b8ac2-a6d9-4783-8577-c988337f5cc6))
    (pin "14" (uuid 3e7d7d07-e1de-4133-b42c-8134feabe951))
    (pin "7" (uuid 38806733-c9f2-4578-a725-18f704637f0b))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "U7") (unit 2)
        )
      )
    )
  )

  (symbol (lib_id "74xx:74HC14") (at 233.045 262.89 0) (unit 5)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid ce5e3623-bd77-431a-8265-d5c63ea43739)
    (property "Reference" "U7" (at 233.045 255.27 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "74HC14" (at 233.045 257.81 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Package_SO:SOIC-14_3.9x8.7mm_P1.27mm" (at 233.045 262.89 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "http://www.ti.com/lit/gpn/sn74HC14" (at 233.045 262.89 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "LCSC" "C5605" (at 233.045 262.89 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 9c250232-7719-41f8-803e-6bafe4fb2b93))
    (pin "2" (uuid 886ae84d-344a-45b3-99aa-2732efbdc1ba))
    (pin "3" (uuid b08c4092-0123-4999-9c66-676a778f7537))
    (pin "4" (uuid db98fc8c-dcff-4707-811f-6a94f5e3a987))
    (pin "5" (uuid 8bf34963-bf8f-4adf-967b-3b434bb2a1ed))
    (pin "6" (uuid 1b61647f-da43-4514-b828-f1d70c37e39f))
    (pin "8" (uuid 273e5f0f-2ff7-4e2d-9916-9d221e0f77f8))
    (pin "9" (uuid 51f687a9-b41f-4c05-ae69-3b9136c575ac))
    (pin "10" (uuid 3009e5ae-eb31-4755-b4f0-8ef23035a7ae))
    (pin "11" (uuid a4c036ae-ecfa-4dc7-bf90-ec6a2bde6e30))
    (pin "12" (uuid 5df4ebb8-2bdd-4930-8b2b-4b697eb7d308))
    (pin "13" (uuid df845d53-6ec8-4591-aa39-17c67461ad27))
    (pin "14" (uuid 607600c8-b9cc-4094-aff8-0a05a639d2c5))
    (pin "7" (uuid 9689173f-960e-4324-ad17-afa57b8acfef))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "U7") (unit 5)
        )
      )
    )
  )

  (symbol (lib_id "Device:LED") (at 33.02 148.59 180) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid d0b89da8-f271-4e19-b770-bee95a250338)
    (property "Reference" "D12" (at 34.6075 142.24 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "UART1 RX" (at 34.6075 144.78 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "LED_SMD:LED_0805_2012Metric" (at 33.02 148.59 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 33.02 148.59 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "LCSC" "C2297" (at 33.02 148.59 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 23f20958-c65a-4793-8014-9b4237b82c12))
    (pin "2" (uuid 8292090b-e6c5-406a-8ad1-b9f6e7b59d9e))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "D12") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:+5V") (at 368.935 217.17 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid d11ed3ce-cf8c-44b4-8103-1b8240a1bd38)
    (property "Reference" "#PWR080" (at 368.935 220.98 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "+5V" (at 368.935 213.36 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 368.935 217.17 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 368.935 217.17 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid e15be036-be54-4ee8-8d82-9ca2886b2709))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "#PWR080") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:LED") (at 193.675 159.385 180) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid d4e14387-0deb-455c-978a-7ffa7c6517e5)
    (property "Reference" "D17" (at 195.2625 153.035 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "OUT12" (at 195.2625 155.575 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "LED_SMD:LED_0805_2012Metric" (at 193.675 159.385 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 193.675 159.385 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "LCSC" "C2297" (at 193.675 159.385 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 147d79db-6892-460d-9e17-240c36e7d2f8))
    (pin "2" (uuid 8ed5e05e-8eac-43e2-a634-bf78ce94619f))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "D17") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:+3V3") (at 99.06 26.67 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid d759b97c-0ffa-4108-8c43-6836f19242f8)
    (property "Reference" "#PWR06" (at 99.06 30.48 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "+3V3" (at 99.06 22.86 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 99.06 26.67 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 99.06 26.67 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 27bfb879-3dda-4737-91d5-6df3fe1539f3))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "#PWR06") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:LED") (at 33.02 166.37 180) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid d7d76941-0ea4-48c0-8bec-0aeb44cbecbe)
    (property "Reference" "D14" (at 34.6075 160.02 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "UART2 RX" (at 34.6075 162.56 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "LED_SMD:LED_0805_2012Metric" (at 33.02 166.37 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 33.02 166.37 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "LCSC" "C2297" (at 33.02 166.37 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid e454772a-f5ed-4489-817b-f6b4ac1152c5))
    (pin "2" (uuid 15a42dcd-f983-4285-87cc-2f453485094c))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "D14") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:C") (at 53.975 143.51 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid d992e628-1e64-4d61-944f-ffd381b0ce99)
    (property "Reference" "C14" (at 57.785 142.875 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "100n" (at 57.785 145.415 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Capacitor_SMD:C_0402_1005Metric" (at 54.9402 147.32 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 53.975 143.51 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "LCSC" "C307331" (at 53.975 143.51 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid c8b8f0a8-746f-4257-96e9-f8cefe9407d8))
    (pin "2" (uuid 371c2453-e6fe-4b01-b549-93176cd673f5))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "C14") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Connector_Generic:Conn_01x03") (at 243.84 46.99 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid dc7c940e-1b53-4950-80ac-aede0e96ec97)
    (property "Reference" "J8" (at 246.38 46.355 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "OUT14" (at 246.38 48.895 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Connector_Phoenix_MC_HighVoltage:PhoenixContact_MC_1,5_3-G-5.08_1x03_P5.08mm_Horizontal" (at 243.84 46.99 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 243.84 46.99 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "LCSC" "C2847157" (at 243.84 46.99 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid f25bda4c-9660-48e9-97d5-96b6044dc038))
    (pin "2" (uuid 2dc55db0-6bea-45f9-be29-e50fdb8b687c))
    (pin "3" (uuid 781c43b6-a6d7-4ab9-9d63-7717b2936e3c))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "J8") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:+3V3") (at 146.685 82.55 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid de1c0d6d-314c-45f5-9386-71a980c0b34b)
    (property "Reference" "#PWR042" (at 146.685 86.36 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "+3V3" (at 146.685 78.74 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 146.685 82.55 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 146.685 82.55 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 069153bf-1e99-4412-818d-406441934b3e))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "#PWR042") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:C_Polarized") (at 120.015 149.225 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid dff14f51-c916-4a92-a0d6-76ea6c28adea)
    (property "Reference" "C6" (at 123.825 147.701 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "1u" (at 123.825 150.241 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Capacitor_SMD:C_0402_1005Metric" (at 120.9802 153.035 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 120.015 149.225 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "LCSC" "C52923" (at 120.015 149.225 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 40986731-fc52-49a9-aedd-09ee7ed9bc9a))
    (pin "2" (uuid 10ad1c90-3c12-4965-a011-8445c7ff170b))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "C6") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:+24V") (at 239.395 157.48 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid e01082be-4e51-4ccb-bd43-e3dcb292a440)
    (property "Reference" "#PWR064" (at 239.395 161.29 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "+24V" (at 239.395 153.67 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 239.395 157.48 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 239.395 157.48 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 74f540f3-c711-4eae-aa1a-834a3af33046))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "#PWR064") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Analog_Switch:DG411xJ") (at 40.64 238.76 0) (unit 3)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid e0791e31-be57-4abf-b4ee-66c13aea7e65)
    (property "Reference" "U6" (at 40.64 232.41 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "DG411xJ" (at 40.64 234.95 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Package_SO:SOIC-16_3.9x9.9mm_P1.27mm" (at 40.64 241.3 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "https://datasheets.maximintegrated.com/en/ds/DG411-DG413.pdf" (at 40.64 238.76 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "LCSC" "C45218" (at 40.64 238.76 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 9cbbe2c1-e2d6-4deb-8975-f30080b58b9c))
    (pin "2" (uuid 749df08c-59ff-483c-99cd-6b03299be7d2))
    (pin "3" (uuid 094b8968-8f44-4380-a0fc-c477a3c3020d))
    (pin "6" (uuid bd824f44-5ee1-470e-8820-e7d2befd56dc))
    (pin "7" (uuid 5db90b45-9acb-4d35-8aa9-818e4e425340))
    (pin "8" (uuid 61e2005e-7f23-41df-9834-aeeba018d7c0))
    (pin "10" (uuid 800b1c1b-24de-465c-b888-e78d5ed54ba3))
    (pin "11" (uuid 75ba33ed-29b8-48d5-8b0a-3d89912bb313))
    (pin "9" (uuid 6806bc16-02a2-4647-b674-cc9ac00abae1))
    (pin "14" (uuid e4f2b340-1e47-4b39-a62c-3c914b056468))
    (pin "15" (uuid 6b6435c9-7eb6-4a48-ae59-c463bf8fe04c))
    (pin "16" (uuid e0a83401-98be-4ff0-b068-762889d3926d))
    (pin "12" (uuid 5ee15622-ba44-467b-b89c-695bc032e749))
    (pin "13" (uuid 49e6402d-8c00-4961-8259-21e6e79acb96))
    (pin "4" (uuid 3f7048d7-279f-49cf-bd82-d1f10ece801a))
    (pin "5" (uuid 1ef57e5b-a7fc-4d91-9ea6-09293d5ee1b3))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "U6") (unit 3)
        )
      )
    )
  )

  (symbol (lib_id "Device:R") (at 54.61 219.075 180) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid e0e40327-d27e-4801-8a67-9ed6a38798b4)
    (property "Reference" "R37" (at 56.515 218.44 0)
      (effects (font (size 1.27 1.27)) (justify right))
    )
    (property "Value" "10k" (at 56.515 220.98 0)
      (effects (font (size 1.27 1.27)) (justify right))
    )
    (property "Footprint" "Resistor_SMD:R_0402_1005Metric" (at 56.388 219.075 90)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 54.61 219.075 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "LCSC" "C25744" (at 54.61 219.075 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid cea4b0bb-b8f8-4ada-ae5b-fd073ca85d20))
    (pin "2" (uuid 9c809ae9-8abb-4d2d-8bfe-d0ebd7ca5073))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "R37") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:+5V") (at 68.58 25.4 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid e1763110-cffd-4699-934b-8612b7fd8274)
    (property "Reference" "#PWR05" (at 68.58 29.21 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "+5V" (at 68.58 21.59 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 68.58 25.4 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 68.58 25.4 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 1e81f81a-7236-47f7-afef-fee1670474ba))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "#PWR05") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Diode:1N5819WS") (at 297.18 145.415 180) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid e29889a4-4165-4fd7-aaf4-5f51a6044483)
    (property "Reference" "D4" (at 297.4975 140.335 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "SS210" (at 297.4975 142.875 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Diode_SMD:D_SMA" (at 297.18 140.97 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "https://datasheet.lcsc.com/lcsc/2204281430_Guangdong-Hottech-1N5819WS_C191023.pdf" (at 297.18 145.415 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "LCSC" "C14996" (at 297.18 145.415 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 2573351f-0432-4ddb-937e-f1b80926946f))
    (pin "2" (uuid e717d39c-3aa8-4019-87f7-a30774b5d8a1))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "D4") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:LED") (at 225.425 218.44 270) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid e36890a9-c7f4-4bda-818d-970bf9d807c2)
    (property "Reference" "D16" (at 228.6 216.2175 90)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "IN11" (at 228.6 218.7575 90)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "LED_SMD:LED_0805_2012Metric" (at 225.425 218.44 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 225.425 218.44 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "LCSC" "C2297" (at 225.425 218.44 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid cd1b14d8-7c91-4c7d-b9ef-2a84aaf2bcf2))
    (pin "2" (uuid 6d8aa009-b127-4484-a2fd-17b52a9e41a3))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "D16") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 33.02 46.99 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid e39e2d23-aeaa-4ff7-beda-b5eb68ef7518)
    (property "Reference" "#PWR02" (at 33.02 53.34 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 33.02 52.07 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 33.02 46.99 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 33.02 46.99 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 1df5719f-0013-4040-809c-30e8224ba76f))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "#PWR02") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:LED") (at 130.81 22.86 180) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid e3a266cb-980e-43de-b45c-d8decc9467c8)
    (property "Reference" "D1" (at 132.3975 16.51 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "24V OK" (at 132.3975 19.05 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "LED_SMD:LED_0805_2012Metric" (at 130.81 22.86 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 130.81 22.86 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "LCSC" "C2297" (at 130.81 22.86 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 95b36ddd-3339-4762-871f-d852596a22bd))
    (pin "2" (uuid 832ca634-61fa-4499-a749-7459a8ed491d))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "D1") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:+5V") (at 94.615 135.255 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid e5dac53e-e32b-4c7d-ad75-3c7051ffed68)
    (property "Reference" "#PWR020" (at 94.615 139.065 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "+5V" (at 94.615 131.445 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 94.615 135.255 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 94.615 135.255 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid e2e4a9a1-5580-4b4a-83be-49ad7f9711e1))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "#PWR020") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Regulator_Linear:LM7805_TO220") (at 33.02 31.75 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid e70427d0-bb7e-4ae7-a9e7-b7a4935749c5)
    (property "Reference" "U2" (at 33.02 25.4 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" " K7805-1000R3L" (at 33.02 27.94 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Package_TO_SOT_THT:TO-220-3_Horizontal_TabDown" (at 33.02 26.035 0)
      (effects (font (size 1.27 1.27) italic) hide)
    )
    (property "Datasheet" "https://www.onsemi.cn/PowerSolutions/document/MC7800-D.PDF" (at 33.02 33.02 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "LCSC" "C111438" (at 33.02 31.75 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 82b56584-95bf-431d-87e8-fe376d07bc5f))
    (pin "2" (uuid 5685c79f-ae59-47dd-8e24-4cd12be9e17c))
    (pin "3" (uuid d0b9defb-2dca-40d8-920f-5a88708d4df3))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "U2") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Connector:Conn_01x04_Pin") (at 165.1 199.39 0) (mirror y) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid e71f8f00-a131-4a48-b288-953afff9d56e)
    (property "Reference" "J13" (at 161.925 205.74 90)
      (effects (font (size 1.27 1.27)) (justify right))
    )
    (property "Value" "UART1 3V3" (at 164.465 205.74 90)
      (effects (font (size 1.27 1.27)) (justify right))
    )
    (property "Footprint" "Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_Vertical" (at 165.1 199.39 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 165.1 199.39 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 54bee76a-0278-4df0-ab6f-acba03530fbd))
    (pin "2" (uuid 56b1ed27-ed8d-42cc-8c7c-8e988a3921a6))
    (pin "3" (uuid 086cf268-d01b-45e5-897f-34c7e15f7d15))
    (pin "4" (uuid 4746caf2-583a-4a97-9247-c0f2e4d86a6f))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "J13") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R") (at 302.26 150.495 90) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid e762daf5-1d7c-4172-90ff-2c26a98a526a)
    (property "Reference" "R4" (at 302.26 150.495 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "5.1k" (at 302.26 147.955 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Resistor_SMD:R_0402_1005Metric" (at 302.26 152.273 90)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 302.26 150.495 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "LCSC" "C25905" (at 302.26 150.495 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 671ccfe0-1640-4418-bfb1-8a50ba70009e))
    (pin "2" (uuid f99bf0a1-eb1e-467c-a596-f4f4114d6728))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "R4") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 53.34 110.49 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid e8252c5a-709c-47bc-aa7e-5c8a82316c88)
    (property "Reference" "#PWR028" (at 53.34 116.84 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 53.34 115.57 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 53.34 110.49 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 53.34 110.49 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid a93dd210-991a-4889-81ed-c7887f69107a))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "#PWR028") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R") (at 193.675 43.815 180) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid ea41016d-ddb8-4408-878a-2d00716e1ba8)
    (property "Reference" "R28" (at 195.58 43.18 0)
      (effects (font (size 1.27 1.27)) (justify right))
    )
    (property "Value" "10k" (at 195.58 45.72 0)
      (effects (font (size 1.27 1.27)) (justify right))
    )
    (property "Footprint" "Resistor_SMD:R_0402_1005Metric" (at 195.453 43.815 90)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 193.675 43.815 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "LCSC" "C25744" (at 193.675 43.815 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 083a474e-7421-417b-86d9-b92d7bf97b45))
    (pin "2" (uuid fe669787-df25-4c25-93a4-178a1145bb35))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "R28") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 151.13 57.15 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid ec7ded3b-cfc2-4d23-986b-2d3ada513ee0)
    (property "Reference" "#PWR035" (at 151.13 63.5 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 151.13 62.23 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 151.13 57.15 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 151.13 57.15 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid e7db3711-75b7-45b6-8e2f-113da85a309f))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "#PWR035") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R") (at 208.28 193.675 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid ecc2b17d-b61e-4e99-83f6-ec704ff8b407)
    (property "Reference" "R15" (at 210.185 193.04 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "820" (at 210.185 195.58 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 206.502 193.675 90)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 208.28 193.675 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "LCSC" "C23253" (at 208.28 193.675 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 61c381cf-b8c5-4934-9bb2-9d9f49db35ff))
    (pin "2" (uuid 78436e86-12b3-4693-8301-2694eed6a1f0))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "R15") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:C") (at 263.525 43.18 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid ecc9147d-3c8e-4aea-90a3-601087e19cb3)
    (property "Reference" "C16" (at 266.7 42.545 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "1u" (at 266.7 45.085 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Capacitor_SMD:C_0402_1005Metric" (at 264.4902 46.99 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 263.525 43.18 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "LCSC" "C52923" (at 263.525 43.18 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 81bfee12-ebcf-48cc-8a63-679218437fe7))
    (pin "2" (uuid 515c1aff-476d-47b5-b9db-078bf3d5d928))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "C16") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:+3V3") (at 223.52 235.585 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid edc52640-37d9-4af9-b9e5-cb0af8b39912)
    (property "Reference" "#PWR047" (at 223.52 239.395 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "+3V3" (at 223.52 231.775 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 223.52 235.585 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 223.52 235.585 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid d05c3700-45f2-4be9-84bc-2dca016795bc))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "#PWR047") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R") (at 179.705 51.435 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid f039ea22-8392-417a-8395-97edf85df68e)
    (property "Reference" "R29" (at 181.61 50.8 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "330" (at 181.61 53.34 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Resistor_SMD:R_0402_1005Metric" (at 177.927 51.435 90)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 179.705 51.435 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "LCSC" "C25104" (at 179.705 51.435 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid c011f9e1-020f-4813-8a12-9e80fa264411))
    (pin "2" (uuid 25b71af9-ddbe-48b3-86b1-68e8f53c5773))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "R29") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:C") (at 68.58 37.465 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid f0beda41-96c5-42be-9069-0a75a775ff55)
    (property "Reference" "C17" (at 72.39 36.83 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "1u" (at 72.39 39.37 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Capacitor_SMD:C_0402_1005Metric" (at 69.5452 41.275 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 68.58 37.465 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "LCSC" "C52923" (at 68.58 37.465 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 46b6f596-7934-41f6-bf57-a9809820acd0))
    (pin "2" (uuid be97e6c6-a7f7-45cd-bd13-eb0617ccb269))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "C17") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:+3V3") (at 153.67 22.86 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid f1a682a7-282d-4828-99e5-3b2db2d59a4a)
    (property "Reference" "#PWR036" (at 153.67 26.67 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "+3V3" (at 153.67 19.05 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 153.67 22.86 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 153.67 22.86 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 3c839405-6b0a-475e-874a-697f8fcf45ba))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "#PWR036") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R") (at 119.38 22.86 90) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid f3982970-86a1-4e90-ae51-d3eebafcf8eb)
    (property "Reference" "R1" (at 119.38 17.78 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "1k" (at 119.38 20.32 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Resistor_SMD:R_0402_1005Metric" (at 119.38 24.638 90)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 119.38 22.86 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "LCSC" "C11702" (at 119.38 22.86 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid be88c442-29b0-45c6-9834-24fe1c720515))
    (pin "2" (uuid e43dfe10-e219-4ebc-bd66-cfc53ec61905))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "R1") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 158.115 230.505 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid f45eb385-a7a4-4ebe-b534-c3e2dd53487a)
    (property "Reference" "#PWR066" (at 158.115 236.855 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 158.115 235.585 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 158.115 230.505 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 158.115 230.505 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 4783319e-6d57-48ee-9598-b036ff16c8be))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "#PWR066") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 54.61 224.79 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid f488e480-f5cd-4597-a328-956495e48186)
    (property "Reference" "#PWR089" (at 54.61 231.14 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 54.61 229.87 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 54.61 224.79 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 54.61 224.79 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 0b3bafd3-a9e5-4b80-8576-cb8655cc4988))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "#PWR089") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:C_Polarized") (at 130.81 165.735 270) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid f524eaf2-510c-460b-a6f5-fe75e2588faf)
    (property "Reference" "C8" (at 127.635 163.83 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "1u" (at 135.255 163.83 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Capacitor_SMD:C_0402_1005Metric" (at 127 166.7002 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 130.81 165.735 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "LCSC" "C52923" (at 130.81 165.735 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid ff52a59f-7772-485e-825b-965ace9c96a4))
    (pin "2" (uuid a2d056a5-df87-43fa-9cca-a7c227fafc1a))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "C8") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:LED") (at 85.09 93.98 90) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid f6dac253-a187-48e4-8adc-0285bdced224)
    (property "Reference" "D8" (at 88.9 94.9325 90)
      (effects (font (size 1.27 1.27)) (justify right))
    )
    (property "Value" "PWR1 OK" (at 88.9 97.4725 90)
      (effects (font (size 1.27 1.27)) (justify right))
    )
    (property "Footprint" "LED_SMD:LED_0805_2012Metric" (at 85.09 93.98 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 85.09 93.98 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "LCSC" "C2297" (at 85.09 93.98 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid b6e07021-0868-4de2-b598-62cddbae9e14))
    (pin "2" (uuid ac45ebab-0c49-4fde-990d-f7d0aacb8f76))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "D8") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 263.525 49.53 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid f8b16348-4037-4288-a21f-34bb587cb636)
    (property "Reference" "#PWR083" (at 263.525 55.88 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 267.335 51.435 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 263.525 49.53 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 263.525 49.53 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid a230c0e6-9237-44e2-b244-37f6100ef5d8))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "#PWR083") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 138.43 52.07 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid f8ce784e-2011-4442-a75f-5c3048d81ff0)
    (property "Reference" "#PWR07" (at 138.43 58.42 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 138.43 57.15 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 138.43 52.07 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 138.43 52.07 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 86846eac-fcf9-4d87-93f6-3d02b05c6528))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "#PWR07") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:+3V3") (at 263.525 23.495 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid fc2e52be-06f6-4bd1-9b65-b068b0dea502)
    (property "Reference" "#PWR016" (at 263.525 27.305 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "+3V3" (at 263.525 19.685 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 263.525 23.495 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 263.525 23.495 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 45925385-33ab-4298-a0bd-7228893cc047))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "#PWR016") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R") (at 363.22 148.59 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid fc701188-3693-497e-ad26-23ec1e0da028)
    (property "Reference" "R33" (at 365.76 147.955 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "1.8k" (at 365.76 150.495 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 361.442 148.59 90)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 363.22 148.59 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "LCSC" "C4177" (at 363.22 148.59 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 90049c3e-0852-4bff-b9fe-7041b6d281f2))
    (pin "2" (uuid 74d6a325-3aca-42f7-8a85-0cbd2c22a6c2))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "R33") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:+5V") (at 158.115 220.345 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid fcda95df-50e9-47d1-9645-2ee92540d8d9)
    (property "Reference" "#PWR067" (at 158.115 224.155 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "+5V" (at 158.115 216.535 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 158.115 220.345 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 158.115 220.345 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid e1083504-9dff-4649-b99b-297c055a2bdf))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "#PWR067") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Switch:SW_SPST") (at 391.16 24.765 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid fee17f2e-f130-4a34-9405-618a4fd01699)
    (property "Reference" "SW2" (at 391.16 19.05 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "RST" (at 391.16 21.59 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Button_Switch_SMD:SW_SPST_TL3342" (at 391.16 24.765 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 391.16 24.765 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "LCSC" "C318884" (at 391.16 24.765 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 74faf29c-aeae-49ab-aae7-2a505dddb641))
    (pin "2" (uuid bc770ae4-6e72-430b-a71a-34b54621f89c))
    (instances
      (project "hacklock-2137"
        (path "/1717a0d8-8be8-47e4-bcc2-c0169f9822b1"
          (reference "SW2") (unit 1)
        )
      )
    )
  )

  (sheet_instances
    (path "/" (page "1"))
  )
)
