(kicad_sch (version 20230121) (generator eeschema)

  (uuid a5364d2f-2019-4f18-8a0d-1a86a7fe645c)

  (paper "A3")

  (title_block
    (title "Gonk")
    (date "2023-07-20")
    (rev "P0")
  )

  (lib_symbols
    (symbol "Device:C_Small" (pin_numbers hide) (pin_names (offset 0.254) hide) (in_bom yes) (on_board yes)
      (property "Reference" "C" (at 0.254 1.778 0)
        (effects (font (size 1.27 1.27)) (justify left))
      )
      (property "Value" "C_Small" (at 0.254 -2.032 0)
        (effects (font (size 1.27 1.27)) (justify left))
      )
      (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" "capacitor cap" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_description" "Unpolarized capacitor, small symbol" (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_Small_0_1"
        (polyline
          (pts
            (xy -1.524 -0.508)
            (xy 1.524 -0.508)
          )
          (stroke (width 0.3302) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy -1.524 0.508)
            (xy 1.524 0.508)
          )
          (stroke (width 0.3048) (type default))
          (fill (type none))
        )
      )
      (symbol "C_Small_1_1"
        (pin passive line (at 0 2.54 270) (length 2.032)
          (name "~" (effects (font (size 1.27 1.27))))
          (number "1" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 0 -2.54 90) (length 2.032)
          (name "~" (effects (font (size 1.27 1.27))))
          (number "2" (effects (font (size 1.27 1.27))))
        )
      )
    )
    (symbol "Device:L" (pin_numbers hide) (pin_names (offset 1.016) hide) (in_bom yes) (on_board yes)
      (property "Reference" "L" (at -1.27 0 90)
        (effects (font (size 1.27 1.27)))
      )
      (property "Value" "L" (at 1.905 0 90)
        (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" "inductor choke coil reactor magnetic" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_description" "Inductor" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_fp_filters" "Choke_* *Coil* Inductor_* L_*" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (symbol "L_0_1"
        (arc (start 0 -2.54) (mid 0.6323 -1.905) (end 0 -1.27)
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (arc (start 0 -1.27) (mid 0.6323 -0.635) (end 0 0)
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (arc (start 0 0) (mid 0.6323 0.635) (end 0 1.27)
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (arc (start 0 1.27) (mid 0.6323 1.905) (end 0 2.54)
          (stroke (width 0) (type default))
          (fill (type none))
        )
      )
      (symbol "L_1_1"
        (pin passive line (at 0 3.81 270) (length 1.27)
          (name "1" (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 "2" (effects (font (size 1.27 1.27))))
          (number "2" (effects (font (size 1.27 1.27))))
        )
      )
    )
    (symbol "Device:R_Small_US" (pin_numbers hide) (pin_names (offset 0.254) hide) (in_bom yes) (on_board yes)
      (property "Reference" "R" (at 0.762 0.508 0)
        (effects (font (size 1.27 1.27)) (justify left))
      )
      (property "Value" "R_Small_US" (at 0.762 -1.016 0)
        (effects (font (size 1.27 1.27)) (justify left))
      )
      (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" "r resistor" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_description" "Resistor, small US symbol" (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_Small_US_1_1"
        (polyline
          (pts
            (xy 0 0)
            (xy 1.016 -0.381)
            (xy 0 -0.762)
            (xy -1.016 -1.143)
            (xy 0 -1.524)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 0 1.524)
            (xy 1.016 1.143)
            (xy 0 0.762)
            (xy -1.016 0.381)
            (xy 0 0)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (pin passive line (at 0 2.54 270) (length 1.016)
          (name "~" (effects (font (size 1.27 1.27))))
          (number "1" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 0 -2.54 90) (length 1.016)
          (name "~" (effects (font (size 1.27 1.27))))
          (number "2" (effects (font (size 1.27 1.27))))
        )
      )
    )
    (symbol "Power_Management:MP8756GD-Z" (in_bom yes) (on_board yes)
      (property "Reference" "U3" (at 6.35 6.35 0)
        (effects (font (size 1.27 1.27)))
      )
      (property "Value" "MP8756GD-Z" (at 11.43 3.81 0)
        (effects (font (size 1.27 1.27)))
      )
      (property "Footprint" "Package_DFN_QFN:MP8759GDZ" (at 24.13 -94.92 0)
        (effects (font (size 1.27 1.27)) (justify left top) hide)
      )
      (property "Datasheet" "https://www.monolithicpower.com/pub/media/document/MP8756_r1.1.pdf" (at 24.13 -194.92 0)
        (effects (font (size 1.27 1.27)) (justify left top) hide)
      )
      (property "Height" "1" (at 24.13 -394.92 0)
        (effects (font (size 1.27 1.27)) (justify left top) hide)
      )
      (property "Manufacturer_Name" "Monolithic Power Systems (MPS)" (at 24.13 -494.92 0)
        (effects (font (size 1.27 1.27)) (justify left top) hide)
      )
      (property "Manufacturer_Part_Number" "MP8756GD-Z" (at 24.13 -594.92 0)
        (effects (font (size 1.27 1.27)) (justify left top) hide)
      )
      (property "Mouser Part Number" "946-MP8756GD-Z" (at 24.13 -694.92 0)
        (effects (font (size 1.27 1.27)) (justify left top) hide)
      )
      (property "Mouser Price/Stock" "https://www.mouser.co.uk/ProductDetail/Monolithic-Power-Systems-MPS/MP8756GD-Z?qs=cslStgdnz9NR%252Bem%2FvrPnjQ%3D%3D" (at 24.13 -794.92 0)
        (effects (font (size 1.27 1.27)) (justify left top) hide)
      )
      (property "Arrow Part Number" "" (at 24.13 -894.92 0)
        (effects (font (size 1.27 1.27)) (justify left top) hide)
      )
      (property "Arrow Price/Stock" "" (at 24.13 -994.92 0)
        (effects (font (size 1.27 1.27)) (justify left top) hide)
      )
      (property "ki_description" "IC REG BUCK ADJUSTABLE 6A 12QFN" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (symbol "MP8756GD-Z_1_1"
        (rectangle (start 5.08 2.54) (end 22.86 -26.67)
          (stroke (width 0.254) (type default))
          (fill (type background))
        )
        (pin passive line (at 0 0 0) (length 5.08)
          (name "VIN" (effects (font (size 1.27 1.27))))
          (number "1" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 19.05 -31.75 90) (length 5.08)
          (name "AGND" (effects (font (size 1.27 1.27))))
          (number "10" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 27.94 -13.97 180) (length 5.08)
          (name "FB" (effects (font (size 1.27 1.27))))
          (number "11" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 0 -17.78 0) (length 5.08)
          (name "EN" (effects (font (size 1.27 1.27))))
          (number "12" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 21.59 -31.75 90) (length 5.08)
          (name "PGND" (effects (font (size 1.27 1.27))))
          (number "2" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 7.62 -31.75 90) (length 5.08)
          (name "PG" (effects (font (size 1.27 1.27))))
          (number "3" (effects (font (size 1.27 1.27))))
        )
        (pin no_connect line (at 0 -5.08 0) (length 5.08)
          (name "NC" (effects (font (size 1.27 1.27))))
          (number "4" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 27.94 -19.05 180) (length 5.08)
          (name "VOUT" (effects (font (size 1.27 1.27))))
          (number "5" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 0 -11.43 0) (length 5.08)
          (name "MODE" (effects (font (size 1.27 1.27))))
          (number "6" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 27.94 0 180) (length 5.08)
          (name "SW" (effects (font (size 1.27 1.27))))
          (number "7" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 19.05 7.62 270) (length 5.08)
          (name "BST" (effects (font (size 1.27 1.27))))
          (number "8" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 13.97 -31.75 90) (length 5.08)
          (name "VCC" (effects (font (size 1.27 1.27))))
          (number "9" (effects (font (size 1.27 1.27))))
        )
      )
    )
    (symbol "Power_Management:NB679GD" (in_bom yes) (on_board yes)
      (property "Reference" "U2" (at 8.89 6.35 0)
        (effects (font (size 1.27 1.27)))
      )
      (property "Value" "NB679GD" (at 11.43 3.81 0)
        (effects (font (size 1.27 1.27)))
      )
      (property "Footprint" "MP8759GDZ" (at 26.67 -94.92 0)
        (effects (font (size 1.27 1.27)) (justify left top) hide)
      )
      (property "Datasheet" "https://componentsearchengine.com/Datasheets/2/NB679GD-P.pdf" (at 26.67 -194.92 0)
        (effects (font (size 1.27 1.27)) (justify left top) hide)
      )
      (property "Height" "1" (at 26.67 -394.92 0)
        (effects (font (size 1.27 1.27)) (justify left top) hide)
      )
      (property "Farnell2 Part Number" "3358164RL" (at 26.67 -494.92 0)
        (effects (font (size 1.27 1.27)) (justify left top) hide)
      )
      (property "Farnell2 Price/Stock" "http://uk.farnell.com/jsp/displayProduct.jsp?sku=3358164RL&action=view" (at 26.67 -594.92 0)
        (effects (font (size 1.27 1.27)) (justify left top) hide)
      )
      (property "Manufacturer_Name" "Monolithic Power Systems (MPS)" (at 26.67 -694.92 0)
        (effects (font (size 1.27 1.27)) (justify left top) hide)
      )
      (property "Manufacturer_Part_Number" "NB679GD-P" (at 26.67 -794.92 0)
        (effects (font (size 1.27 1.27)) (justify left top) hide)
      )
      (property "ki_description" "Switching Voltage Regulators 26V Fixed 5V-8A Sync Buck Converter" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (symbol "NB679GD_1_1"
        (rectangle (start 5.08 2.54) (end 25.4 -33.02)
          (stroke (width 0.254) (type default))
          (fill (type background))
        )
        (pin passive line (at 0 0 0) (length 5.08)
          (name "VIN" (effects (font (size 1.27 1.27))))
          (number "1" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 0 -30.48 0) (length 5.08)
          (name "AGND" (effects (font (size 1.27 1.27))))
          (number "10" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 0 -16.51 0) (length 5.08)
          (name "EN" (effects (font (size 1.27 1.27))))
          (number "11" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 0 -19.05 0) (length 5.08)
          (name "ENLDO" (effects (font (size 1.27 1.27))))
          (number "12" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 0 -27.94 0) (length 5.08)
          (name "PGND" (effects (font (size 1.27 1.27))))
          (number "2" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 12.7 -38.1 90) (length 5.08)
          (name "PG" (effects (font (size 1.27 1.27))))
          (number "3" (effects (font (size 1.27 1.27))))
        )
        (pin no_connect line (at 30.48 -26.67 180) (length 5.08)
          (name "NC" (effects (font (size 1.27 1.27))))
          (number "4" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 30.48 -8.89 180) (length 5.08)
          (name "VOUT" (effects (font (size 1.27 1.27))))
          (number "5" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 30.48 -19.05 180) (length 5.08)
          (name "LDO" (effects (font (size 1.27 1.27))))
          (number "6" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 30.48 0 180) (length 5.08)
          (name "SW" (effects (font (size 1.27 1.27))))
          (number "7" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 20.32 7.62 270) (length 5.08)
          (name "BST" (effects (font (size 1.27 1.27))))
          (number "8" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 20.32 -38.1 90) (length 5.08)
          (name "VCC" (effects (font (size 1.27 1.27))))
          (number "9" (effects (font (size 1.27 1.27))))
        )
      )
    )
    (symbol "Power_Management:NB680GD" (in_bom yes) (on_board yes)
      (property "Reference" "U1" (at 10.16 5.08 0)
        (effects (font (size 1.27 1.27)))
      )
      (property "Value" "NB680GD" (at 12.7 2.54 0)
        (effects (font (size 1.27 1.27)))
      )
      (property "Footprint" "MP8759GDZ" (at 26.67 -94.92 0)
        (effects (font (size 1.27 1.27)) (justify left top) hide)
      )
      (property "Datasheet" "https://media.monolithicpower.com/document/n/b/nb680_r1.03.pdf" (at 26.67 -194.92 0)
        (effects (font (size 1.27 1.27)) (justify left top) hide)
      )
      (property "Height" "1" (at 26.67 -394.92 0)
        (effects (font (size 1.27 1.27)) (justify left top) hide)
      )
      (property "Manufacturer_Name" "Monolithic Power Systems (MPS)" (at 26.67 -494.92 0)
        (effects (font (size 1.27 1.27)) (justify left top) hide)
      )
      (property "Manufacturer_Part_Number" "NB680GD-P" (at 26.67 -594.92 0)
        (effects (font (size 1.27 1.27)) (justify left top) hide)
      )
      (property "Mouser Part Number" "946-NB680GD-P" (at 26.67 -694.92 0)
        (effects (font (size 1.27 1.27)) (justify left top) hide)
      )
      (property "Mouser Price/Stock" "https://www.mouser.co.uk/ProductDetail/Monolithic-Power-Systems-MPS/NB680GD-P?qs=iw0hurA%2FaD2k2kc%252B3fTOJw%3D%3D" (at 26.67 -794.92 0)
        (effects (font (size 1.27 1.27)) (justify left top) hide)
      )
      (property "Arrow Part Number" "" (at 26.67 -894.92 0)
        (effects (font (size 1.27 1.27)) (justify left top) hide)
      )
      (property "Arrow Price/Stock" "" (at 26.67 -994.92 0)
        (effects (font (size 1.27 1.27)) (justify left top) hide)
      )
      (property "ki_description" "Switching Voltage Regulators 26V Fixed 3.3 V-8A Sync Buck Converter" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (symbol "NB680GD_1_1"
        (rectangle (start 5.08 1.27) (end 25.4 -31.75)
          (stroke (width 0.254) (type default))
          (fill (type background))
        )
        (pin passive line (at 0 0 0) (length 5.08)
          (name "VIN" (effects (font (size 1.27 1.27))))
          (number "1" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 0 -25.4 0) (length 5.08)
          (name "AGND" (effects (font (size 1.27 1.27))))
          (number "10" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 0 -10.16 0) (length 5.08)
          (name "EN" (effects (font (size 1.27 1.27))))
          (number "11" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 30.48 -24.13 180) (length 5.08)
          (name "ENCLK" (effects (font (size 1.27 1.27))))
          (number "12" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 0 -22.86 0) (length 5.08)
          (name "PGND" (effects (font (size 1.27 1.27))))
          (number "2" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 12.7 -36.83 90) (length 5.08)
          (name "PG" (effects (font (size 1.27 1.27))))
          (number "3" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 30.48 -21.59 180) (length 5.08)
          (name "CLK" (effects (font (size 1.27 1.27))))
          (number "4" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 30.48 -10.16 180) (length 5.08)
          (name "VOUT" (effects (font (size 1.27 1.27))))
          (number "5" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 30.48 -16.51 180) (length 5.08)
          (name "LDO" (effects (font (size 1.27 1.27))))
          (number "6" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 30.48 0 180) (length 5.08)
          (name "SW" (effects (font (size 1.27 1.27))))
          (number "7" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 20.32 6.35 270) (length 5.08)
          (name "BST" (effects (font (size 1.27 1.27))))
          (number "8" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 21.59 -36.83 90) (length 5.08)
          (name "VCC" (effects (font (size 1.27 1.27))))
          (number "9" (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 177.8 44.45) (diameter 0) (color 0 0 0 0)
    (uuid 069504ae-304e-419a-aa03-e8d7c5df69ef)
  )
  (junction (at 152.4 44.45) (diameter 0) (color 0 0 0 0)
    (uuid 0d825f04-aafe-454d-9c01-8f3173e6c68a)
  )
  (junction (at 264.16 177.8) (diameter 0) (color 0 0 0 0)
    (uuid 0fab75d0-30d5-4385-914b-02e587adad3a)
  )
  (junction (at 127 168.91) (diameter 0) (color 0 0 0 0)
    (uuid 10b904d1-6010-4c19-b6bc-8aa1bd1018d9)
  )
  (junction (at 127 154.94) (diameter 0) (color 0 0 0 0)
    (uuid 123b4101-5eb9-463b-a9ba-ab3ceb7b5280)
  )
  (junction (at 378.46 45.72) (diameter 0) (color 0 0 0 0)
    (uuid 132b11ab-420e-45e0-a430-7e09f5688960)
  )
  (junction (at 391.16 156.21) (diameter 0) (color 0 0 0 0)
    (uuid 135b581c-25d6-48ea-b3c2-dcfc8cda2573)
  )
  (junction (at 167.64 168.91) (diameter 0) (color 0 0 0 0)
    (uuid 17ae4b4b-1e91-4f7c-ace1-c5e18186d099)
  )
  (junction (at 167.64 161.29) (diameter 0) (color 0 0 0 0)
    (uuid 1d4142b0-6f19-4801-95cf-c6b7f4e575ef)
  )
  (junction (at 54.61 44.45) (diameter 0) (color 0 0 0 0)
    (uuid 1f9b5cec-0ee0-40b2-9ea1-f55d65b376de)
  )
  (junction (at 360.68 170.18) (diameter 0) (color 0 0 0 0)
    (uuid 270b929f-9140-4bf2-a3b7-6ee9c8700f8c)
  )
  (junction (at 331.47 170.18) (diameter 0) (color 0 0 0 0)
    (uuid 27c9a520-0526-434b-97e2-5440310348b8)
  )
  (junction (at 278.13 76.2) (diameter 0) (color 0 0 0 0)
    (uuid 2ec5d778-ccb0-42eb-b181-3a0db12db500)
  )
  (junction (at 363.22 156.21) (diameter 0) (color 0 0 0 0)
    (uuid 2ee131b1-ec57-4853-bb4f-c84541afe701)
  )
  (junction (at 191.77 154.94) (diameter 0) (color 0 0 0 0)
    (uuid 339268d5-5750-4b74-a02f-de614eaa973b)
  )
  (junction (at 45.72 154.94) (diameter 0) (color 0 0 0 0)
    (uuid 346168f9-3a6d-4b1c-a638-850a04ef7e58)
  )
  (junction (at 147.32 54.61) (diameter 0) (color 0 0 0 0)
    (uuid 369f1e39-f65f-4fee-b96c-009f86748c29)
  )
  (junction (at 184.15 44.45) (diameter 0) (color 0 0 0 0)
    (uuid 3bc852ef-0ade-4daf-8aa0-ae1d418fb395)
  )
  (junction (at 207.01 154.94) (diameter 0) (color 0 0 0 0)
    (uuid 3ca0ea00-8e9c-467a-828c-b2d4ce1883a5)
  )
  (junction (at 182.88 154.94) (diameter 0) (color 0 0 0 0)
    (uuid 3d2e62db-98a3-4d94-ae51-77eecdbfa560)
  )
  (junction (at 167.64 154.94) (diameter 0) (color 0 0 0 0)
    (uuid 3e9cefcc-d5b3-4f8f-95f6-298b088346ea)
  )
  (junction (at 173.99 154.94) (diameter 0) (color 0 0 0 0)
    (uuid 3fc09f7a-bddf-4031-a78c-218ee3c88bbe)
  )
  (junction (at 44.45 44.45) (diameter 0) (color 0 0 0 0)
    (uuid 45b24914-633b-41de-b4be-454d59198d5f)
  )
  (junction (at 251.46 156.21) (diameter 0) (color 0 0 0 0)
    (uuid 4c6661d5-e6e1-4c8a-9786-d7332068f2a1)
  )
  (junction (at 261.62 156.21) (diameter 0) (color 0 0 0 0)
    (uuid 4d656110-3933-4683-a5ee-30190482dfce)
  )
  (junction (at 300.99 90.17) (diameter 0) (color 0 0 0 0)
    (uuid 523c8d43-ee94-477e-a8e0-334c84ebb710)
  )
  (junction (at 314.96 66.04) (diameter 0) (color 0 0 0 0)
    (uuid 5d9a031a-e1ed-4d9c-9b2c-61d5e96e68bb)
  )
  (junction (at 360.68 162.56) (diameter 0) (color 0 0 0 0)
    (uuid 6022bca9-5ecb-4e15-af43-86d6118ef27f)
  )
  (junction (at 306.07 194.31) (diameter 0) (color 0 0 0 0)
    (uuid 644f28bc-32ee-4237-9afa-497c72dde2e4)
  )
  (junction (at 121.92 154.94) (diameter 0) (color 0 0 0 0)
    (uuid 6afada9a-52e1-432e-af01-1acb43c1f77b)
  )
  (junction (at 331.47 182.88) (diameter 0) (color 0 0 0 0)
    (uuid 6e360b5d-9857-4351-a343-b345afea91ef)
  )
  (junction (at 276.86 64.77) (diameter 0) (color 0 0 0 0)
    (uuid 70466f28-c5f7-4ac2-9058-60d58bffd876)
  )
  (junction (at 314.96 156.21) (diameter 0) (color 0 0 0 0)
    (uuid 70b035de-33a3-49f3-834b-c4181504eb93)
  )
  (junction (at 139.7 161.29) (diameter 0) (color 0 0 0 0)
    (uuid 733d24f7-7f98-44a4-96ac-da4e35fa0c2b)
  )
  (junction (at 260.35 45.72) (diameter 0) (color 0 0 0 0)
    (uuid 75f9833d-6854-4b3b-b661-e9172524bb0c)
  )
  (junction (at 389.89 156.21) (diameter 0) (color 0 0 0 0)
    (uuid 7c4d46ea-b4ca-43be-8ab7-badbe426f6c3)
  )
  (junction (at 167.64 44.45) (diameter 0) (color 0 0 0 0)
    (uuid 7eef4ce4-e645-4d74-bd92-a6f775a04ba1)
  )
  (junction (at 375.92 156.21) (diameter 0) (color 0 0 0 0)
    (uuid 819632a2-b14a-4cd8-8242-d288b15727c8)
  )
  (junction (at 88.9 69.85) (diameter 0) (color 0 0 0 0)
    (uuid 8ec39d02-9430-49a8-b3bf-6974ed19c754)
  )
  (junction (at 115.57 87.63) (diameter 0) (color 0 0 0 0)
    (uuid 90803c89-a62d-468b-9240-7beaf77a68e5)
  )
  (junction (at 55.88 154.94) (diameter 0) (color 0 0 0 0)
    (uuid 91155355-f868-4c88-969e-16ed4070a654)
  )
  (junction (at 370.84 156.21) (diameter 0) (color 0 0 0 0)
    (uuid 9369ede1-67a5-4441-9549-0eadef345520)
  )
  (junction (at 393.7 45.72) (diameter 0) (color 0 0 0 0)
    (uuid 9503e1a7-1da3-4e99-8971-41e1c806aa24)
  )
  (junction (at 360.68 156.21) (diameter 0) (color 0 0 0 0)
    (uuid 961063d2-315a-4948-b822-18f183c02eb1)
  )
  (junction (at 381 156.21) (diameter 0) (color 0 0 0 0)
    (uuid 97b3c075-056d-4099-a793-c7e0fd993b96)
  )
  (junction (at 128.27 60.96) (diameter 0) (color 0 0 0 0)
    (uuid 99703b89-a0b5-4ccf-8986-10a8e29e48d2)
  )
  (junction (at 317.5 45.72) (diameter 0) (color 0 0 0 0)
    (uuid a555d403-151e-4c77-afb0-34f8fb7ee0ec)
  )
  (junction (at 113.03 193.04) (diameter 0) (color 0 0 0 0)
    (uuid a5da9224-73fb-4ec9-8934-a13cf13ed8ea)
  )
  (junction (at 152.4 181.61) (diameter 0) (color 0 0 0 0)
    (uuid aa1c39fc-8e6c-42d9-aed5-0c8cb9ff1ff4)
  )
  (junction (at 190.5 44.45) (diameter 0) (color 0 0 0 0)
    (uuid aa46c85b-6421-4dc5-988b-7c91097ca7ea)
  )
  (junction (at 334.01 54.61) (diameter 0) (color 0 0 0 0)
    (uuid abdf4ac0-a8de-4abb-9f77-13fba04baa07)
  )
  (junction (at 389.89 45.72) (diameter 0) (color 0 0 0 0)
    (uuid ada9f970-57f4-4269-a3d2-a67d1c3214cc)
  )
  (junction (at 373.38 45.72) (diameter 0) (color 0 0 0 0)
    (uuid addb7b12-a2de-425d-a877-461ab6dcdf18)
  )
  (junction (at 203.2 154.94) (diameter 0) (color 0 0 0 0)
    (uuid b9a389ad-6c99-4ce9-917c-a8c8f52e04c1)
  )
  (junction (at 317.5 175.26) (diameter 0) (color 0 0 0 0)
    (uuid c4eb9109-cc2c-4160-821d-d5d1fe569ddc)
  )
  (junction (at 158.75 44.45) (diameter 0) (color 0 0 0 0)
    (uuid cee72bb1-726f-4282-a176-83cc5350c703)
  )
  (junction (at 138.43 168.91) (diameter 0) (color 0 0 0 0)
    (uuid d1581e48-38c0-463c-8fc7-4caa0e5f7703)
  )
  (junction (at 138.43 181.61) (diameter 0) (color 0 0 0 0)
    (uuid d2ac07c0-923c-4749-93a9-1a6050002319)
  )
  (junction (at 172.72 44.45) (diameter 0) (color 0 0 0 0)
    (uuid d4075101-57f5-4ddc-964f-bfe8a9100448)
  )
  (junction (at 320.04 156.21) (diameter 0) (color 0 0 0 0)
    (uuid d5a156e1-3955-40bf-8690-5350e4be3a6f)
  )
  (junction (at 332.74 162.56) (diameter 0) (color 0 0 0 0)
    (uuid d68ddbe5-f971-4c57-9480-ef14136bb495)
  )
  (junction (at 342.9 45.72) (diameter 0) (color 0 0 0 0)
    (uuid d9f0b914-e0e9-43aa-a728-fbb1999a9eae)
  )
  (junction (at 349.25 45.72) (diameter 0) (color 0 0 0 0)
    (uuid de68a2b5-aad1-4625-bbe0-ec431226ac21)
  )
  (junction (at 345.44 182.88) (diameter 0) (color 0 0 0 0)
    (uuid df360a55-88cb-44ac-a7d0-b8f51ad59419)
  )
  (junction (at 196.85 154.94) (diameter 0) (color 0 0 0 0)
    (uuid dfe60fef-b8ac-460f-9fcb-22ae24c063a8)
  )
  (junction (at 359.41 45.72) (diameter 0) (color 0 0 0 0)
    (uuid e889ac0d-1b8e-4626-9b3c-e873b12b2f69)
  )
  (junction (at 129.54 44.45) (diameter 0) (color 0 0 0 0)
    (uuid e8e23395-1e48-4d2c-a064-d39a0a9e294a)
  )
  (junction (at 250.19 45.72) (diameter 0) (color 0 0 0 0)
    (uuid e8ef3140-5832-4a80-8fa4-d2f1fea8d69d)
  )
  (junction (at 124.46 173.99) (diameter 0) (color 0 0 0 0)
    (uuid f92e579c-63c1-4dc7-8174-a265b242554f)
  )
  (junction (at 320.04 170.18) (diameter 0) (color 0 0 0 0)
    (uuid fa7421ab-6599-4b70-81c1-c1598ac38da2)
  )
  (junction (at 264.16 173.99) (diameter 0) (color 0 0 0 0)
    (uuid fdf31bac-6229-40f2-85df-9376a51dd743)
  )

  (no_connect (at 293.37 187.96) (uuid 26b73077-7755-4064-be0f-3710eeb9543e))
  (no_connect (at 124.46 68.58) (uuid 2b6987db-f47a-480e-9a8d-b926e6b0064a))
  (no_connect (at 311.15 72.39) (uuid 5d3a6e50-76ae-4656-bc93-e1b9da20dc41))
  (no_connect (at 100.33 186.69) (uuid b3122572-3a7d-4bb2-b448-e1e89b7a8528))
  (no_connect (at 124.46 66.04) (uuid ba2ad150-6ca9-4c5e-b791-9e9c7b7819f3))
  (no_connect (at 285.75 161.29) (uuid c3508247-b19a-4821-86ec-241a8cd6cf63))
  (no_connect (at 92.71 160.02) (uuid f454f68a-5453-4254-ba55-bfdd17e03b43))

  (wire (pts (xy 332.74 45.72) (xy 342.9 45.72))
    (stroke (width 0) (type default))
    (uuid 0106db77-dd71-434f-8dcc-cfa90263ec07)
  )
  (wire (pts (xy 147.32 55.88) (xy 147.32 54.61))
    (stroke (width 0) (type default))
    (uuid 0239b38b-beca-429a-b18a-c6b33e01c3b9)
  )
  (wire (pts (xy 317.5 45.72) (xy 311.15 45.72))
    (stroke (width 0) (type default))
    (uuid 039ed081-8112-4be1-900d-f769959ee116)
  )
  (wire (pts (xy 354.33 182.88) (xy 361.95 182.88))
    (stroke (width 0) (type default))
    (uuid 0418ff2a-69b6-4282-8761-27845e919693)
  )
  (wire (pts (xy 389.89 156.21) (xy 389.89 158.75))
    (stroke (width 0) (type default))
    (uuid 055bd138-c6a9-4c55-90d9-f958449017a8)
  )
  (wire (pts (xy 389.89 163.83) (xy 389.89 165.1))
    (stroke (width 0) (type default))
    (uuid 05941d4b-589d-4629-b1b0-c198e12b9f38)
  )
  (wire (pts (xy 250.19 53.34) (xy 250.19 54.61))
    (stroke (width 0) (type default))
    (uuid 05c3154e-482a-4b53-bce5-939651e91509)
  )
  (wire (pts (xy 345.44 162.56) (xy 360.68 162.56))
    (stroke (width 0) (type default))
    (uuid 067995e4-9594-4088-8313-0faa7736af83)
  )
  (wire (pts (xy 134.62 166.37) (xy 139.7 166.37))
    (stroke (width 0) (type default))
    (uuid 07189966-b8f0-4eee-a533-b1ba7b60cf93)
  )
  (wire (pts (xy 173.99 154.94) (xy 182.88 154.94))
    (stroke (width 0) (type default))
    (uuid 0753d588-0dc8-42d3-95db-52fe6a627fe6)
  )
  (wire (pts (xy 167.64 161.29) (xy 167.64 154.94))
    (stroke (width 0) (type default))
    (uuid 080d093f-dbf0-42f5-a27a-e8c94c3ebffe)
  )
  (wire (pts (xy 115.57 87.63) (xy 115.57 81.28))
    (stroke (width 0) (type default))
    (uuid 0a397fba-e574-4148-9b74-c4d23179c3cc)
  )
  (wire (pts (xy 88.9 69.85) (xy 93.98 69.85))
    (stroke (width 0) (type default))
    (uuid 0b545a60-01d6-4e76-b45d-a4410e5be132)
  )
  (wire (pts (xy 161.29 181.61) (xy 173.99 181.61))
    (stroke (width 0) (type default))
    (uuid 0c97e772-2a58-4a20-9e48-804e57eea4b9)
  )
  (wire (pts (xy 314.96 73.66) (xy 314.96 74.93))
    (stroke (width 0) (type default))
    (uuid 0ca6bb1a-4526-4f25-b4d8-8dfef03080a2)
  )
  (wire (pts (xy 182.88 154.94) (xy 182.88 158.75))
    (stroke (width 0) (type default))
    (uuid 0f4802e6-d129-4793-86e8-218dc479931c)
  )
  (wire (pts (xy 299.72 187.96) (xy 299.72 189.23))
    (stroke (width 0) (type default))
    (uuid 12025fb0-f8c5-491a-83d9-3267ce28d794)
  )
  (wire (pts (xy 127 166.37) (xy 127 168.91))
    (stroke (width 0) (type default))
    (uuid 12426280-6e4e-407e-8a3d-5cdf69b731b8)
  )
  (wire (pts (xy 378.46 45.72) (xy 389.89 45.72))
    (stroke (width 0) (type default))
    (uuid 12df6f2b-9c3e-4a12-b25b-296c79902f43)
  )
  (wire (pts (xy 127 154.94) (xy 121.92 154.94))
    (stroke (width 0) (type default))
    (uuid 1326b011-5b14-4cab-afe0-e2013b8e84ed)
  )
  (wire (pts (xy 144.78 154.94) (xy 167.64 154.94))
    (stroke (width 0) (type default))
    (uuid 1350ca04-0b86-41a0-817d-707115399f92)
  )
  (wire (pts (xy 137.16 154.94) (xy 127 154.94))
    (stroke (width 0) (type default))
    (uuid 1384b444-d098-4289-8938-1b60ce0c45c0)
  )
  (wire (pts (xy 332.74 162.56) (xy 332.74 167.64))
    (stroke (width 0) (type default))
    (uuid 13f72f40-ac88-4f07-b497-beb98d797b09)
  )
  (wire (pts (xy 106.68 81.28) (xy 106.68 87.63))
    (stroke (width 0) (type default))
    (uuid 13fad5be-55d6-4a0e-b188-d9fa9116e2ac)
  )
  (wire (pts (xy 300.99 35.56) (xy 307.34 35.56))
    (stroke (width 0) (type default))
    (uuid 14e56db1-e874-4e9f-b66c-cbbca543dd0d)
  )
  (wire (pts (xy 391.16 156.21) (xy 393.7 156.21))
    (stroke (width 0) (type default))
    (uuid 1523e251-0bb3-415f-9c14-ca74b502fce1)
  )
  (wire (pts (xy 129.54 166.37) (xy 127 166.37))
    (stroke (width 0) (type default))
    (uuid 1595adad-dae6-4af6-b89b-bf95b712a34b)
  )
  (wire (pts (xy 129.54 44.45) (xy 129.54 41.91))
    (stroke (width 0) (type default))
    (uuid 16fc8269-1606-4cf7-a57d-4ba53ad8b16f)
  )
  (wire (pts (xy 138.43 181.61) (xy 138.43 184.15))
    (stroke (width 0) (type default))
    (uuid 17a0dc14-21de-4cdd-8451-fb9416a8c9f3)
  )
  (wire (pts (xy 39.37 154.94) (xy 45.72 154.94))
    (stroke (width 0) (type default))
    (uuid 17d54f09-5ef2-479b-8096-1551df134983)
  )
  (wire (pts (xy 264.16 185.42) (xy 264.16 186.69))
    (stroke (width 0) (type default))
    (uuid 18499f63-e28f-4781-ad7e-a4a01821c8ad)
  )
  (wire (pts (xy 44.45 44.45) (xy 44.45 46.99))
    (stroke (width 0) (type default))
    (uuid 1895cdb8-4644-4182-bbf8-32f063bee12a)
  )
  (wire (pts (xy 261.62 163.83) (xy 261.62 165.1))
    (stroke (width 0) (type default))
    (uuid 18baf19e-3086-4fe6-9ce3-d80857810014)
  )
  (wire (pts (xy 359.41 45.72) (xy 373.38 45.72))
    (stroke (width 0) (type default))
    (uuid 1a5fc2cd-603f-49d0-962a-8d5782837ded)
  )
  (wire (pts (xy 254 177.8) (xy 264.16 177.8))
    (stroke (width 0) (type default))
    (uuid 1a9d1da7-455b-457b-9116-f6199faf7fb6)
  )
  (wire (pts (xy 375.92 133.35) (xy 383.54 133.35))
    (stroke (width 0) (type default))
    (uuid 1b35becf-14b9-4e6a-bad7-542bed733903)
  )
  (wire (pts (xy 389.89 45.72) (xy 389.89 48.26))
    (stroke (width 0) (type default))
    (uuid 1c1ad143-a45f-4419-9e8f-c403f3cc3a81)
  )
  (wire (pts (xy 359.41 53.34) (xy 359.41 54.61))
    (stroke (width 0) (type default))
    (uuid 1ca0c5ce-387d-40df-b7c1-b935dadf3290)
  )
  (wire (pts (xy 124.46 35.56) (xy 129.54 35.56))
    (stroke (width 0) (type default))
    (uuid 1cc61269-d305-4343-ba6b-079feb057a7f)
  )
  (wire (pts (xy 327.66 156.21) (xy 320.04 156.21))
    (stroke (width 0) (type default))
    (uuid 1cd0bb3e-b842-4ead-8816-9d6d895dcd52)
  )
  (wire (pts (xy 127 143.51) (xy 127 144.78))
    (stroke (width 0) (type default))
    (uuid 1ce86b3e-ed70-4fa0-9d10-a6fca08568b0)
  )
  (wire (pts (xy 320.04 167.64) (xy 320.04 170.18))
    (stroke (width 0) (type default))
    (uuid 1e7bcfd5-5b81-44f0-a38b-5a347a585ef8)
  )
  (wire (pts (xy 167.64 44.45) (xy 172.72 44.45))
    (stroke (width 0) (type default))
    (uuid 1e9dd643-b640-4305-9543-c4a77215680d)
  )
  (wire (pts (xy 147.32 54.61) (xy 152.4 54.61))
    (stroke (width 0) (type default))
    (uuid 1f3a2e0e-3680-48d6-87bf-b74534814fdd)
  )
  (wire (pts (xy 375.92 133.35) (xy 375.92 156.21))
    (stroke (width 0) (type default))
    (uuid 1f966636-bedb-4c07-bad7-01c2b0611f64)
  )
  (wire (pts (xy 317.5 35.56) (xy 317.5 36.83))
    (stroke (width 0) (type default))
    (uuid 2085112d-55e2-4112-82b0-ba7deddf9b1f)
  )
  (wire (pts (xy 261.62 64.77) (xy 266.7 64.77))
    (stroke (width 0) (type default))
    (uuid 210a0784-2c72-4ec0-8aef-c6bdfd24980a)
  )
  (wire (pts (xy 250.19 45.72) (xy 250.19 48.26))
    (stroke (width 0) (type default))
    (uuid 215b24fc-b12d-4278-87c1-ac763d0c0e40)
  )
  (wire (pts (xy 40.64 44.45) (xy 44.45 44.45))
    (stroke (width 0) (type default))
    (uuid 22dff2de-04b6-4571-8bd0-da37fd99ee0a)
  )
  (wire (pts (xy 389.89 156.21) (xy 391.16 156.21))
    (stroke (width 0) (type default))
    (uuid 275d273f-7555-4854-bb00-47c248e0073b)
  )
  (wire (pts (xy 345.44 182.88) (xy 349.25 182.88))
    (stroke (width 0) (type default))
    (uuid 27d92e34-fe9e-4861-bd35-7ac15f75a9d1)
  )
  (wire (pts (xy 173.99 163.83) (xy 173.99 165.1))
    (stroke (width 0) (type default))
    (uuid 27e288dc-5d63-4944-acde-8e5a2c22eabf)
  )
  (wire (pts (xy 276.86 62.23) (xy 276.86 64.77))
    (stroke (width 0) (type default))
    (uuid 29f6d49b-1923-43fa-9f05-9bf147ecf353)
  )
  (wire (pts (xy 124.46 161.29) (xy 121.92 161.29))
    (stroke (width 0) (type default))
    (uuid 2a4df868-3e7c-4b67-b1fd-b6297a310c05)
  )
  (wire (pts (xy 360.68 162.56) (xy 360.68 156.21))
    (stroke (width 0) (type default))
    (uuid 2c5b0d3b-968e-4268-8882-48c05c06a1bb)
  )
  (wire (pts (xy 124.46 60.96) (xy 128.27 60.96))
    (stroke (width 0) (type default))
    (uuid 2f3f2a81-405e-4c27-8841-e72f0d76cf2d)
  )
  (wire (pts (xy 309.88 90.17) (xy 314.96 90.17))
    (stroke (width 0) (type default))
    (uuid 2f8be619-018f-4bd3-9b6a-3cbfe1a5d557)
  )
  (wire (pts (xy 261.62 156.21) (xy 285.75 156.21))
    (stroke (width 0) (type default))
    (uuid 3095fae8-559c-4ac8-a9ee-9dcbf2f135f2)
  )
  (wire (pts (xy 317.5 45.72) (xy 325.12 45.72))
    (stroke (width 0) (type default))
    (uuid 30d22823-c06c-468d-9654-1e07488a777d)
  )
  (wire (pts (xy 312.42 35.56) (xy 317.5 35.56))
    (stroke (width 0) (type default))
    (uuid 310931d2-efc3-435a-afd9-7f46147e1402)
  )
  (wire (pts (xy 167.64 44.45) (xy 167.64 46.99))
    (stroke (width 0) (type default))
    (uuid 3335270c-157b-4249-bba6-f8c1c95cfb89)
  )
  (wire (pts (xy 121.92 143.51) (xy 127 143.51))
    (stroke (width 0) (type default))
    (uuid 3467c5d1-d854-4854-b227-ec06ba78e84d)
  )
  (wire (pts (xy 273.05 76.2) (xy 278.13 76.2))
    (stroke (width 0) (type default))
    (uuid 35d07b17-d99c-4ac8-bf2e-75b1ca09762a)
  )
  (wire (pts (xy 127 168.91) (xy 138.43 168.91))
    (stroke (width 0) (type default))
    (uuid 39dbafe6-d97b-4ee3-a734-7680dd1f5a12)
  )
  (wire (pts (xy 163.83 168.91) (xy 167.64 168.91))
    (stroke (width 0) (type default))
    (uuid 3a585f93-76d9-462c-a992-2de426a7185e)
  )
  (wire (pts (xy 370.84 156.21) (xy 375.92 156.21))
    (stroke (width 0) (type default))
    (uuid 3aad4ae0-4da5-440c-ad67-57a1fdcc78eb)
  )
  (wire (pts (xy 138.43 168.91) (xy 138.43 181.61))
    (stroke (width 0) (type default))
    (uuid 3b6e3dbb-c2c5-45c1-b2c1-e4253c38984b)
  )
  (wire (pts (xy 177.8 26.67) (xy 177.8 44.45))
    (stroke (width 0) (type default))
    (uuid 3c61a024-518c-4672-99c6-42cee542a722)
  )
  (wire (pts (xy 78.74 166.37) (xy 82.55 166.37))
    (stroke (width 0) (type default))
    (uuid 3cf61dd7-93fd-4fb4-9f72-6b46cd02ee00)
  )
  (wire (pts (xy 360.68 162.56) (xy 360.68 170.18))
    (stroke (width 0) (type default))
    (uuid 3d02c224-28cd-40cd-bc82-82108e1cfec2)
  )
  (wire (pts (xy 331.47 170.18) (xy 340.36 170.18))
    (stroke (width 0) (type default))
    (uuid 3e7166c1-97a7-4c36-87a0-a4df3fc00b6b)
  )
  (wire (pts (xy 139.7 161.29) (xy 147.32 161.29))
    (stroke (width 0) (type default))
    (uuid 3f326cc5-eb3a-48d0-b74d-1b1882d8b62c)
  )
  (wire (pts (xy 87.63 166.37) (xy 92.71 166.37))
    (stroke (width 0) (type default))
    (uuid 3fdb54ac-2dd4-4f90-a612-4ec9793d50bb)
  )
  (wire (pts (xy 389.89 45.72) (xy 393.7 45.72))
    (stroke (width 0) (type default))
    (uuid 3ffd928d-b22a-4be0-95e5-5ed61000a25c)
  )
  (wire (pts (xy 196.85 137.16) (xy 196.85 154.94))
    (stroke (width 0) (type default))
    (uuid 40dc278a-3bb8-4f1f-be76-25a504b2d124)
  )
  (wire (pts (xy 381 135.89) (xy 381 156.21))
    (stroke (width 0) (type default))
    (uuid 43795211-837a-409d-861d-491ed71a1e06)
  )
  (wire (pts (xy 152.4 44.45) (xy 158.75 44.45))
    (stroke (width 0) (type default))
    (uuid 46037e53-dc15-4d11-aa85-8dd5b1a57978)
  )
  (wire (pts (xy 173.99 154.94) (xy 173.99 158.75))
    (stroke (width 0) (type default))
    (uuid 467e5145-fdb7-4d8b-b9f7-1646ac06b309)
  )
  (wire (pts (xy 167.64 161.29) (xy 167.64 168.91))
    (stroke (width 0) (type default))
    (uuid 48545e8b-e718-40ac-bba1-ddd6ce24e0db)
  )
  (wire (pts (xy 345.44 170.18) (xy 351.79 170.18))
    (stroke (width 0) (type default))
    (uuid 4915bfc8-8979-4861-915f-bfc7915b035c)
  )
  (wire (pts (xy 264.16 177.8) (xy 264.16 173.99))
    (stroke (width 0) (type default))
    (uuid 4b7e3303-c3d4-4cc2-b8ec-ffe158548573)
  )
  (wire (pts (xy 196.85 137.16) (xy 203.2 137.16))
    (stroke (width 0) (type default))
    (uuid 4d0ec597-1deb-40e2-aa0a-e15996e3914d)
  )
  (wire (pts (xy 144.78 44.45) (xy 152.4 44.45))
    (stroke (width 0) (type default))
    (uuid 4f480d9b-3e8a-44c4-b047-94af473718cd)
  )
  (wire (pts (xy 332.74 162.56) (xy 340.36 162.56))
    (stroke (width 0) (type default))
    (uuid 500fa904-5374-4191-ad9a-566eb1be5f09)
  )
  (wire (pts (xy 335.28 156.21) (xy 360.68 156.21))
    (stroke (width 0) (type default))
    (uuid 513f1815-d9f3-4141-bafa-380b140335bb)
  )
  (wire (pts (xy 331.47 170.18) (xy 331.47 182.88))
    (stroke (width 0) (type default))
    (uuid 521f0932-9f0a-4b2c-aeff-90e109150917)
  )
  (wire (pts (xy 261.62 173.99) (xy 264.16 173.99))
    (stroke (width 0) (type default))
    (uuid 52536e24-a524-46f0-a1e2-26f2d6bd6fa2)
  )
  (wire (pts (xy 300.99 90.17) (xy 300.99 83.82))
    (stroke (width 0) (type default))
    (uuid 55ac4e41-e7a9-41d6-89b4-35ed33540ba9)
  )
  (wire (pts (xy 320.04 170.18) (xy 331.47 170.18))
    (stroke (width 0) (type default))
    (uuid 5750bd67-7391-4f0a-b6b8-186e54b99df2)
  )
  (wire (pts (xy 342.9 45.72) (xy 342.9 54.61))
    (stroke (width 0) (type default))
    (uuid 5b216d99-78eb-49a2-9bb8-c11bba4c95f9)
  )
  (wire (pts (xy 280.67 73.66) (xy 278.13 73.66))
    (stroke (width 0) (type default))
    (uuid 5d5671aa-00a6-4edb-ba6e-e5cf238bc71e)
  )
  (wire (pts (xy 356.87 170.18) (xy 360.68 170.18))
    (stroke (width 0) (type default))
    (uuid 62790895-74df-40b9-99a9-ff8e2fd10729)
  )
  (wire (pts (xy 381 156.21) (xy 389.89 156.21))
    (stroke (width 0) (type default))
    (uuid 62946828-8942-464e-b3ba-a0752a77f764)
  )
  (wire (pts (xy 111.76 143.51) (xy 116.84 143.51))
    (stroke (width 0) (type default))
    (uuid 641d0c19-eba9-4013-b82e-c461c460f07f)
  )
  (wire (pts (xy 264.16 173.99) (xy 285.75 173.99))
    (stroke (width 0) (type default))
    (uuid 64c29c41-8cba-4325-b822-a96a1694d9da)
  )
  (wire (pts (xy 317.5 182.88) (xy 317.5 184.15))
    (stroke (width 0) (type default))
    (uuid 651b57b7-efe8-4a97-bc6a-4e065f3fc2aa)
  )
  (wire (pts (xy 158.75 44.45) (xy 158.75 46.99))
    (stroke (width 0) (type default))
    (uuid 6575652a-1969-4799-920c-c466ef2d41da)
  )
  (wire (pts (xy 264.16 177.8) (xy 264.16 180.34))
    (stroke (width 0) (type default))
    (uuid 65b8bcb2-92dd-4f1f-8ef9-2fcff4a143c1)
  )
  (wire (pts (xy 139.7 161.29) (xy 139.7 166.37))
    (stroke (width 0) (type default))
    (uuid 6639a44c-8b11-4ee6-9ec1-c4f511cf51c6)
  )
  (wire (pts (xy 261.62 156.21) (xy 261.62 158.75))
    (stroke (width 0) (type default))
    (uuid 6933ac54-4adc-4196-8b48-6a5287e50316)
  )
  (wire (pts (xy 172.72 24.13) (xy 172.72 44.45))
    (stroke (width 0) (type default))
    (uuid 69a679df-f109-4a6b-8a46-be0f51f70c27)
  )
  (wire (pts (xy 349.25 45.72) (xy 359.41 45.72))
    (stroke (width 0) (type default))
    (uuid 69f3e086-09ec-4f31-a51e-f2dcdb967bc0)
  )
  (wire (pts (xy 124.46 54.61) (xy 147.32 54.61))
    (stroke (width 0) (type default))
    (uuid 6a47d196-d2c5-4d87-a9f5-a5cfc6b89bdc)
  )
  (wire (pts (xy 300.99 90.17) (xy 304.8 90.17))
    (stroke (width 0) (type default))
    (uuid 6a5996ba-28dc-49e8-b72b-9b300818d6e0)
  )
  (wire (pts (xy 152.4 181.61) (xy 152.4 184.15))
    (stroke (width 0) (type default))
    (uuid 6c11d087-2499-4ffb-a862-f68637653b2b)
  )
  (wire (pts (xy 152.4 189.23) (xy 152.4 190.5))
    (stroke (width 0) (type default))
    (uuid 6cd469d1-2b19-432d-9fe3-5e433bf0bc46)
  )
  (wire (pts (xy 148.59 181.61) (xy 152.4 181.61))
    (stroke (width 0) (type default))
    (uuid 6d439bec-9300-4a36-9b7e-be3c63369f2d)
  )
  (wire (pts (xy 124.46 87.63) (xy 129.54 87.63))
    (stroke (width 0) (type default))
    (uuid 6d9d95a6-0f79-4906-a440-a95ec058da0d)
  )
  (wire (pts (xy 317.5 162.56) (xy 314.96 162.56))
    (stroke (width 0) (type default))
    (uuid 6f517944-a34f-4a9c-b1d9-a699106f948f)
  )
  (wire (pts (xy 55.88 162.56) (xy 55.88 163.83))
    (stroke (width 0) (type default))
    (uuid 7239304f-26b1-478d-a499-d0b326c828ee)
  )
  (wire (pts (xy 55.88 154.94) (xy 55.88 157.48))
    (stroke (width 0) (type default))
    (uuid 729fb799-bd10-467d-8d7d-876c3ea9880d)
  )
  (wire (pts (xy 184.15 44.45) (xy 184.15 46.99))
    (stroke (width 0) (type default))
    (uuid 74d5392e-7ef9-4617-9092-0607cd9deca5)
  )
  (wire (pts (xy 349.25 53.34) (xy 349.25 54.61))
    (stroke (width 0) (type default))
    (uuid 74e2edd0-398d-43a6-a2d6-c8c1d4ce6d2c)
  )
  (wire (pts (xy 341.63 182.88) (xy 345.44 182.88))
    (stroke (width 0) (type default))
    (uuid 75f68de2-8131-44ab-9baf-518891ed089b)
  )
  (wire (pts (xy 173.99 154.94) (xy 167.64 154.94))
    (stroke (width 0) (type default))
    (uuid 76657a59-32da-41b0-b13d-96bfeef88988)
  )
  (wire (pts (xy 177.8 44.45) (xy 184.15 44.45))
    (stroke (width 0) (type default))
    (uuid 772ddf1e-1c87-48ec-984b-d8ad60cfadfc)
  )
  (wire (pts (xy 88.9 69.85) (xy 88.9 71.12))
    (stroke (width 0) (type default))
    (uuid 78c4baf2-33f1-46cb-83bc-8c7da2b0de69)
  )
  (wire (pts (xy 304.8 144.78) (xy 309.88 144.78))
    (stroke (width 0) (type default))
    (uuid 7978393a-58a3-4d1f-80b5-c9152250e679)
  )
  (wire (pts (xy 88.9 67.31) (xy 88.9 69.85))
    (stroke (width 0) (type default))
    (uuid 79e90f40-6dbd-4c33-b023-42130c35a930)
  )
  (wire (pts (xy 124.46 173.99) (xy 167.64 173.99))
    (stroke (width 0) (type default))
    (uuid 7cb1fca0-0176-4eeb-8c99-94152decd65b)
  )
  (wire (pts (xy 190.5 44.45) (xy 193.04 44.45))
    (stroke (width 0) (type default))
    (uuid 7e7810dd-061e-45e2-a089-74ba415cf576)
  )
  (wire (pts (xy 306.07 194.31) (xy 307.34 194.31))
    (stroke (width 0) (type default))
    (uuid 7ea70957-a940-41dc-9fa1-d04e05f2d274)
  )
  (wire (pts (xy 55.88 154.94) (xy 92.71 154.94))
    (stroke (width 0) (type default))
    (uuid 7fff3e06-e8b1-43f3-8677-df5c23a450d6)
  )
  (wire (pts (xy 182.88 163.83) (xy 182.88 165.1))
    (stroke (width 0) (type default))
    (uuid 82899bb4-e0fa-4396-926c-02ac52442eeb)
  )
  (wire (pts (xy 251.46 163.83) (xy 251.46 165.1))
    (stroke (width 0) (type default))
    (uuid 83a963d4-1f55-4291-956a-042483e82a14)
  )
  (wire (pts (xy 129.54 44.45) (xy 137.16 44.45))
    (stroke (width 0) (type default))
    (uuid 83ad0f75-4f52-4d25-98c2-c2f8750c2633)
  )
  (wire (pts (xy 307.34 194.31) (xy 307.34 187.96))
    (stroke (width 0) (type default))
    (uuid 84f6e399-f028-40e8-b396-17b01c0a8d34)
  )
  (wire (pts (xy 276.86 64.77) (xy 280.67 64.77))
    (stroke (width 0) (type default))
    (uuid 85196d94-398f-4646-8a2d-1c2d0416504a)
  )
  (wire (pts (xy 240.03 156.21) (xy 251.46 156.21))
    (stroke (width 0) (type default))
    (uuid 87237347-5fd9-4678-9857-81905818fa27)
  )
  (wire (pts (xy 314.96 162.56) (xy 314.96 156.21))
    (stroke (width 0) (type default))
    (uuid 887c07c5-3a22-47ad-9b21-7ba97b1e2405)
  )
  (wire (pts (xy 54.61 44.45) (xy 93.98 44.45))
    (stroke (width 0) (type default))
    (uuid 8964f623-e518-4768-8fc5-dea3c0680ed9)
  )
  (wire (pts (xy 251.46 156.21) (xy 261.62 156.21))
    (stroke (width 0) (type default))
    (uuid 8983219d-7528-40fc-8b8b-07328bad67d2)
  )
  (wire (pts (xy 127 149.86) (xy 127 154.94))
    (stroke (width 0) (type default))
    (uuid 89a1b46e-6992-48e8-8d24-f66fdcf37fc4)
  )
  (wire (pts (xy 86.36 172.72) (xy 92.71 172.72))
    (stroke (width 0) (type default))
    (uuid 8aaa46d0-1ba2-4fc8-b350-9003a1340b46)
  )
  (wire (pts (xy 320.04 156.21) (xy 314.96 156.21))
    (stroke (width 0) (type default))
    (uuid 8ae7d21e-61db-4a48-affb-817a7de2ba68)
  )
  (wire (pts (xy 254 173.99) (xy 256.54 173.99))
    (stroke (width 0) (type default))
    (uuid 8e551c29-5240-4b26-83ee-2e8cfc5899ca)
  )
  (wire (pts (xy 152.4 44.45) (xy 152.4 54.61))
    (stroke (width 0) (type default))
    (uuid 8e623a34-c403-4e82-ad82-b927ee427ccc)
  )
  (wire (pts (xy 124.46 44.45) (xy 129.54 44.45))
    (stroke (width 0) (type default))
    (uuid 8edb0674-e611-4577-a3f0-7c5588a2eee7)
  )
  (wire (pts (xy 172.72 24.13) (xy 181.61 24.13))
    (stroke (width 0) (type default))
    (uuid 8f1353f7-46c2-46dc-98f3-ea6dd7c12315)
  )
  (wire (pts (xy 191.77 134.62) (xy 203.2 134.62))
    (stroke (width 0) (type default))
    (uuid 906927b4-fca3-4b21-b870-bf60b6e3a898)
  )
  (wire (pts (xy 129.54 161.29) (xy 139.7 161.29))
    (stroke (width 0) (type default))
    (uuid 92d6b72f-71b0-43ef-a9c4-2480aaba863d)
  )
  (wire (pts (xy 113.03 193.04) (xy 114.3 193.04))
    (stroke (width 0) (type default))
    (uuid 92e43e6d-586a-49ee-8609-75e5b0dbf715)
  )
  (wire (pts (xy 124.46 181.61) (xy 124.46 182.88))
    (stroke (width 0) (type default))
    (uuid 934d5214-7f96-4987-ad01-d7b0955acb33)
  )
  (wire (pts (xy 322.58 162.56) (xy 332.74 162.56))
    (stroke (width 0) (type default))
    (uuid 95489da3-d445-4aa4-b90b-848a8b725f9f)
  )
  (wire (pts (xy 331.47 190.5) (xy 331.47 191.77))
    (stroke (width 0) (type default))
    (uuid 95b906d2-dba2-4953-8151-a94e670f751a)
  )
  (wire (pts (xy 73.66 172.72) (xy 81.28 172.72))
    (stroke (width 0) (type default))
    (uuid 96578c9a-4994-4fa4-8b09-fe37949a2882)
  )
  (wire (pts (xy 378.46 27.94) (xy 384.81 27.94))
    (stroke (width 0) (type default))
    (uuid 9723b15d-8d29-48a0-89a9-bceff105f221)
  )
  (wire (pts (xy 114.3 35.56) (xy 119.38 35.56))
    (stroke (width 0) (type default))
    (uuid 97925e3e-51d4-4986-987e-935be588150d)
  )
  (wire (pts (xy 363.22 156.21) (xy 370.84 156.21))
    (stroke (width 0) (type default))
    (uuid 992b1ac4-40ba-4d22-b17f-d805d7c2ab06)
  )
  (wire (pts (xy 260.35 45.72) (xy 260.35 48.26))
    (stroke (width 0) (type default))
    (uuid 9a284efa-44f6-49fe-9c21-95de2d67c696)
  )
  (wire (pts (xy 44.45 44.45) (xy 54.61 44.45))
    (stroke (width 0) (type default))
    (uuid 9ad2d550-8a81-4aa8-be74-e00d228047dc)
  )
  (wire (pts (xy 293.37 83.82) (xy 293.37 90.17))
    (stroke (width 0) (type default))
    (uuid 9b39b119-4554-4a28-b2ba-1f2663d570d5)
  )
  (wire (pts (xy 280.67 167.64) (xy 285.75 167.64))
    (stroke (width 0) (type default))
    (uuid 9b3c2005-6bd0-41d4-97ce-f07957c5cafb)
  )
  (wire (pts (xy 237.49 45.72) (xy 250.19 45.72))
    (stroke (width 0) (type default))
    (uuid 9b817c92-4561-41aa-b008-e367e723d965)
  )
  (wire (pts (xy 45.72 154.94) (xy 55.88 154.94))
    (stroke (width 0) (type default))
    (uuid 9c35f065-9f27-41ee-99e2-1a36c89bb1ab)
  )
  (wire (pts (xy 114.3 87.63) (xy 115.57 87.63))
    (stroke (width 0) (type default))
    (uuid 9c85425c-7626-4c77-89b9-ff0b365049b6)
  )
  (wire (pts (xy 114.3 193.04) (xy 114.3 186.69))
    (stroke (width 0) (type default))
    (uuid 9ddf82eb-f154-440a-a485-635f2701c540)
  )
  (wire (pts (xy 250.19 45.72) (xy 260.35 45.72))
    (stroke (width 0) (type default))
    (uuid 9e084d48-e2f3-4403-90d1-5e38e0c336e3)
  )
  (wire (pts (xy 152.4 161.29) (xy 167.64 161.29))
    (stroke (width 0) (type default))
    (uuid 9f68aec6-a7bb-48a8-a83d-f8bcf88686b4)
  )
  (wire (pts (xy 129.54 35.56) (xy 129.54 36.83))
    (stroke (width 0) (type default))
    (uuid 9fd91d85-9386-42e5-9c21-99796aec798f)
  )
  (wire (pts (xy 127 168.91) (xy 120.65 168.91))
    (stroke (width 0) (type default))
    (uuid a0b0dfea-45c6-4e5b-ba92-d1a762110e0f)
  )
  (wire (pts (xy 373.38 25.4) (xy 373.38 45.72))
    (stroke (width 0) (type default))
    (uuid a1e6733f-59a1-4b67-b1e7-91aebd62f97d)
  )
  (wire (pts (xy 152.4 181.61) (xy 156.21 181.61))
    (stroke (width 0) (type default))
    (uuid a27b4c20-8d7a-49d5-bf06-d8bfad5ea55d)
  )
  (polyline (pts (xy 407.67 201.93) (xy 407.67 203.2))
    (stroke (width 0) (type default))
    (uuid a456e927-188e-4aa2-9049-e2d4646fe216)
  )

  (wire (pts (xy 260.35 45.72) (xy 280.67 45.72))
    (stroke (width 0) (type default))
    (uuid a4ed5bbf-8aeb-4a8d-98f2-113aa7dc5c97)
  )
  (wire (pts (xy 203.2 163.83) (xy 203.2 165.1))
    (stroke (width 0) (type default))
    (uuid a5498032-f2cb-4244-8641-ace7156599aa)
  )
  (wire (pts (xy 304.8 187.96) (xy 304.8 194.31))
    (stroke (width 0) (type default))
    (uuid a5ade251-e4e7-43f7-baf0-8602848a15ad)
  )
  (wire (pts (xy 128.27 57.15) (xy 128.27 60.96))
    (stroke (width 0) (type default))
    (uuid a65d16b6-8257-40f8-b415-af43a0a99448)
  )
  (wire (pts (xy 111.76 186.69) (xy 111.76 193.04))
    (stroke (width 0) (type default))
    (uuid a668ed37-e1dd-468e-ae5e-0291d99f3f43)
  )
  (wire (pts (xy 320.04 151.13) (xy 320.04 156.21))
    (stroke (width 0) (type default))
    (uuid a6b0b9e6-6da6-47dc-bc58-ef9a8b5200eb)
  )
  (wire (pts (xy 314.96 66.04) (xy 318.77 66.04))
    (stroke (width 0) (type default))
    (uuid a6b5ed3e-b275-47fe-a836-11cafb662e43)
  )
  (wire (pts (xy 373.38 25.4) (xy 384.81 25.4))
    (stroke (width 0) (type default))
    (uuid a9192eee-379a-4bc7-be5f-f58e8fd5135e)
  )
  (wire (pts (xy 293.37 90.17) (xy 294.64 90.17))
    (stroke (width 0) (type default))
    (uuid aa5a8403-76ce-4b25-bbfd-75ce5273ad98)
  )
  (wire (pts (xy 138.43 168.91) (xy 147.32 168.91))
    (stroke (width 0) (type default))
    (uuid aaa4a921-b389-4062-8941-ce0d7855e527)
  )
  (wire (pts (xy 370.84 163.83) (xy 370.84 165.1))
    (stroke (width 0) (type default))
    (uuid abbbfec6-962b-4ef2-a2ce-b5f9c7411c63)
  )
  (wire (pts (xy 111.76 193.04) (xy 113.03 193.04))
    (stroke (width 0) (type default))
    (uuid abce43e9-5dd9-41d5-b4ee-0fdf3c565e99)
  )
  (wire (pts (xy 113.03 194.31) (xy 113.03 193.04))
    (stroke (width 0) (type default))
    (uuid af02c3fa-06ad-4506-a0c2-7dfc390d21dc)
  )
  (wire (pts (xy 44.45 52.07) (xy 44.45 53.34))
    (stroke (width 0) (type default))
    (uuid af44c910-ca98-4f4d-9ad5-e6ba5ddcf655)
  )
  (wire (pts (xy 280.67 62.23) (xy 276.86 62.23))
    (stroke (width 0) (type default))
    (uuid af4eb2c4-9bd9-4ac1-865e-4e5b7fc06e94)
  )
  (wire (pts (xy 54.61 52.07) (xy 54.61 53.34))
    (stroke (width 0) (type default))
    (uuid b05bfa40-ddea-4c35-aab9-43ebcdd71e21)
  )
  (wire (pts (xy 299.72 194.31) (xy 299.72 195.58))
    (stroke (width 0) (type default))
    (uuid b20070f1-fb92-4742-85c1-7ed13a0264b2)
  )
  (wire (pts (xy 260.35 53.34) (xy 260.35 54.61))
    (stroke (width 0) (type default))
    (uuid b2e109c3-0217-48ce-ba2a-6e6173119ba1)
  )
  (wire (pts (xy 128.27 57.15) (xy 129.54 57.15))
    (stroke (width 0) (type default))
    (uuid b3a3276d-3af4-401b-bafa-72cd80f476ff)
  )
  (wire (pts (xy 138.43 181.61) (xy 143.51 181.61))
    (stroke (width 0) (type default))
    (uuid b4aa330f-eb1d-4f30-9b0d-4182d71eecd4)
  )
  (wire (pts (xy 327.66 167.64) (xy 332.74 167.64))
    (stroke (width 0) (type default))
    (uuid b4c12a2d-122b-48e0-98e9-56386bb203c9)
  )
  (wire (pts (xy 363.22 156.21) (xy 363.22 158.75))
    (stroke (width 0) (type default))
    (uuid b79d87aa-479d-47e8-9573-fdd101f0cd71)
  )
  (wire (pts (xy 389.89 53.34) (xy 389.89 54.61))
    (stroke (width 0) (type default))
    (uuid b84e489b-5f09-44c9-b0a2-41b80a236267)
  )
  (wire (pts (xy 54.61 44.45) (xy 54.61 46.99))
    (stroke (width 0) (type default))
    (uuid b99ee8b0-803a-43a9-9bd3-02f537d2788a)
  )
  (wire (pts (xy 278.13 76.2) (xy 280.67 76.2))
    (stroke (width 0) (type default))
    (uuid b9ba4932-aa30-4e56-8517-ad85a4b3a103)
  )
  (wire (pts (xy 313.69 175.26) (xy 317.5 175.26))
    (stroke (width 0) (type default))
    (uuid ba06fa63-523b-4a6e-b164-71d4d62b0dab)
  )
  (wire (pts (xy 334.01 55.88) (xy 334.01 54.61))
    (stroke (width 0) (type default))
    (uuid ba5e958d-1c37-429f-a83c-bf8e34259b7a)
  )
  (wire (pts (xy 314.96 156.21) (xy 313.69 156.21))
    (stroke (width 0) (type default))
    (uuid bbe567bf-9b9e-443e-9328-f8ebeb0605fb)
  )
  (wire (pts (xy 271.78 64.77) (xy 276.86 64.77))
    (stroke (width 0) (type default))
    (uuid bc1369f0-a00a-4d59-a1af-6d0589cd5755)
  )
  (wire (pts (xy 360.68 156.21) (xy 363.22 156.21))
    (stroke (width 0) (type default))
    (uuid bc4f1929-90ce-4b9d-854c-54cc9cef0167)
  )
  (wire (pts (xy 115.57 87.63) (xy 119.38 87.63))
    (stroke (width 0) (type default))
    (uuid bd9132b6-df34-4d5a-9a82-fe18ee9b2595)
  )
  (wire (pts (xy 306.07 195.58) (xy 306.07 194.31))
    (stroke (width 0) (type default))
    (uuid be6898e8-8845-4018-ba7b-637520445fac)
  )
  (wire (pts (xy 251.46 156.21) (xy 251.46 158.75))
    (stroke (width 0) (type default))
    (uuid bf13ef1d-d21b-4756-80f7-84d2a6197d31)
  )
  (wire (pts (xy 363.22 163.83) (xy 363.22 165.1))
    (stroke (width 0) (type default))
    (uuid c1648631-1d07-4954-a6ad-e6a3420a2271)
  )
  (wire (pts (xy 342.9 45.72) (xy 349.25 45.72))
    (stroke (width 0) (type default))
    (uuid c1c40a76-81ca-4276-8445-c24e615b99f7)
  )
  (wire (pts (xy 158.75 44.45) (xy 167.64 44.45))
    (stroke (width 0) (type default))
    (uuid c26876f6-b9ab-415e-b5e2-93dd3b2993f6)
  )
  (wire (pts (xy 381 135.89) (xy 383.54 135.89))
    (stroke (width 0) (type default))
    (uuid c56196f2-704b-47ca-8ede-8b492c0dae4b)
  )
  (wire (pts (xy 167.64 52.07) (xy 167.64 53.34))
    (stroke (width 0) (type default))
    (uuid c594592a-3d23-429b-8681-b1fb85d0b401)
  )
  (wire (pts (xy 331.47 182.88) (xy 336.55 182.88))
    (stroke (width 0) (type default))
    (uuid c660b62a-47a4-48f1-b4b6-b58a67764845)
  )
  (wire (pts (xy 317.5 175.26) (xy 360.68 175.26))
    (stroke (width 0) (type default))
    (uuid c885f37f-7146-4383-88ac-b8c8608a8d41)
  )
  (wire (pts (xy 322.58 167.64) (xy 320.04 167.64))
    (stroke (width 0) (type default))
    (uuid c9f0f0b3-a9a5-44e8-b4ad-e49c39a7f902)
  )
  (wire (pts (xy 182.88 154.94) (xy 191.77 154.94))
    (stroke (width 0) (type default))
    (uuid cb378609-4b91-48d4-860f-7129fff54f3d)
  )
  (wire (pts (xy 393.7 45.72) (xy 396.24 45.72))
    (stroke (width 0) (type default))
    (uuid cc856035-7589-4387-b9d7-02662fd13d81)
  )
  (wire (pts (xy 360.68 170.18) (xy 360.68 175.26))
    (stroke (width 0) (type default))
    (uuid cdcd14c6-7bf4-49c8-a1f1-47fb989fe5e3)
  )
  (wire (pts (xy 167.64 168.91) (xy 167.64 173.99))
    (stroke (width 0) (type default))
    (uuid ce758aab-e750-4ea9-93c0-dda8c1328c41)
  )
  (wire (pts (xy 106.68 186.69) (xy 106.68 187.96))
    (stroke (width 0) (type default))
    (uuid cea33407-c707-485b-8248-697ad4d54171)
  )
  (wire (pts (xy 121.92 161.29) (xy 121.92 154.94))
    (stroke (width 0) (type default))
    (uuid cecc4e2b-9605-4571-9e85-34f7c2bc1b8f)
  )
  (wire (pts (xy 196.85 154.94) (xy 203.2 154.94))
    (stroke (width 0) (type default))
    (uuid cf911882-e4cc-4171-8362-a562f5e80a04)
  )
  (wire (pts (xy 138.43 189.23) (xy 138.43 190.5))
    (stroke (width 0) (type default))
    (uuid d0a47245-a31a-4296-a3bc-0f8601edd3b8)
  )
  (wire (pts (xy 359.41 45.72) (xy 359.41 48.26))
    (stroke (width 0) (type default))
    (uuid d18cd2bf-3b5c-48bb-89e0-7373a525647d)
  )
  (wire (pts (xy 93.98 67.31) (xy 88.9 67.31))
    (stroke (width 0) (type default))
    (uuid d2e8ce8a-44c3-40b5-9c48-e27a9cba13d5)
  )
  (wire (pts (xy 304.8 194.31) (xy 306.07 194.31))
    (stroke (width 0) (type default))
    (uuid d79e845c-a475-430f-b1d5-259d36efb7b8)
  )
  (wire (pts (xy 114.3 38.1) (xy 114.3 35.56))
    (stroke (width 0) (type default))
    (uuid d7a6d88e-fe5b-4438-a2ee-89e76a6744ae)
  )
  (wire (pts (xy 311.15 66.04) (xy 311.15 64.77))
    (stroke (width 0) (type default))
    (uuid d8465ee2-b48b-4370-9238-e13cb880397a)
  )
  (wire (pts (xy 311.15 54.61) (xy 334.01 54.61))
    (stroke (width 0) (type default))
    (uuid d96221a9-8f04-4124-a70d-0b7e1d5d9a3b)
  )
  (wire (pts (xy 152.4 168.91) (xy 158.75 168.91))
    (stroke (width 0) (type default))
    (uuid d9654096-270c-47b9-9433-75a4bcd15f4b)
  )
  (wire (pts (xy 334.01 54.61) (xy 342.9 54.61))
    (stroke (width 0) (type default))
    (uuid db47e4c5-9e85-45fc-8fcc-c0c1505ae190)
  )
  (wire (pts (xy 45.72 162.56) (xy 45.72 163.83))
    (stroke (width 0) (type default))
    (uuid dbf82916-9a88-4fb6-8f7c-7ee7dc6db83b)
  )
  (wire (pts (xy 203.2 154.94) (xy 207.01 154.94))
    (stroke (width 0) (type default))
    (uuid dcada5db-6ca0-49e2-a6dc-35a7bf635dbe)
  )
  (wire (pts (xy 345.44 182.88) (xy 345.44 185.42))
    (stroke (width 0) (type default))
    (uuid dde0decc-35be-4ff8-8101-cb34c92a6108)
  )
  (wire (pts (xy 128.27 60.96) (xy 128.27 62.23))
    (stroke (width 0) (type default))
    (uuid df684f04-e1bd-4097-b25d-6822025feb27)
  )
  (wire (pts (xy 158.75 52.07) (xy 158.75 53.34))
    (stroke (width 0) (type default))
    (uuid dfb9c390-94ff-41a8-bc01-2819a6ec9ebc)
  )
  (wire (pts (xy 317.5 41.91) (xy 317.5 45.72))
    (stroke (width 0) (type default))
    (uuid e07ad1ab-4730-40df-928d-00e54ac04273)
  )
  (wire (pts (xy 45.72 154.94) (xy 45.72 157.48))
    (stroke (width 0) (type default))
    (uuid e1939caa-b8f8-4d8c-a07e-6ba868ace006)
  )
  (wire (pts (xy 124.46 173.99) (xy 124.46 176.53))
    (stroke (width 0) (type default))
    (uuid e205a3f9-2b35-431a-9236-9f89de2f71dc)
  )
  (wire (pts (xy 184.15 52.07) (xy 184.15 53.34))
    (stroke (width 0) (type default))
    (uuid e367a76e-649d-492b-8429-2fce25148e6b)
  )
  (wire (pts (xy 120.65 173.99) (xy 124.46 173.99))
    (stroke (width 0) (type default))
    (uuid e53fb504-f049-4c6e-93c6-1aa14b8baaa5)
  )
  (wire (pts (xy 320.04 170.18) (xy 313.69 170.18))
    (stroke (width 0) (type default))
    (uuid e6841251-299e-4307-8521-64b081fbdc07)
  )
  (wire (pts (xy 184.15 44.45) (xy 190.5 44.45))
    (stroke (width 0) (type default))
    (uuid e8437f67-c4f0-4cf8-b676-58b2156a1777)
  )
  (wire (pts (xy 304.8 144.78) (xy 304.8 148.59))
    (stroke (width 0) (type default))
    (uuid e8f20a63-42fe-4b0e-ba9d-fee3306e239e)
  )
  (wire (pts (xy 278.13 73.66) (xy 278.13 76.2))
    (stroke (width 0) (type default))
    (uuid e90e97f4-fafc-4565-92de-5db672895a54)
  )
  (wire (pts (xy 106.68 87.63) (xy 109.22 87.63))
    (stroke (width 0) (type default))
    (uuid e920367e-6662-4f49-8be4-22dcbec21de9)
  )
  (wire (pts (xy 77.47 54.61) (xy 82.55 54.61))
    (stroke (width 0) (type default))
    (uuid ea2172bd-e1a2-4122-8313-087aa0160e0e)
  )
  (wire (pts (xy 370.84 156.21) (xy 370.84 158.75))
    (stroke (width 0) (type default))
    (uuid ea54bb23-2be9-4746-a5e0-e01a335e8682)
  )
  (wire (pts (xy 203.2 154.94) (xy 203.2 158.75))
    (stroke (width 0) (type default))
    (uuid eac43938-d828-498e-b24d-6ee98f28375c)
  )
  (wire (pts (xy 300.99 38.1) (xy 300.99 35.56))
    (stroke (width 0) (type default))
    (uuid ec0e1860-2654-4fc6-a0ff-e379adde51ec)
  )
  (wire (pts (xy 317.5 175.26) (xy 317.5 177.8))
    (stroke (width 0) (type default))
    (uuid edf1a18d-ddb9-466b-8bb5-a26a89e956d8)
  )
  (wire (pts (xy 87.63 54.61) (xy 93.98 54.61))
    (stroke (width 0) (type default))
    (uuid ef3b6824-23b5-4041-9257-466098cd6020)
  )
  (wire (pts (xy 191.77 134.62) (xy 191.77 154.94))
    (stroke (width 0) (type default))
    (uuid ef7b30bc-7ae9-4c25-998c-bd699c0f7788)
  )
  (wire (pts (xy 111.76 143.51) (xy 111.76 147.32))
    (stroke (width 0) (type default))
    (uuid efce96c4-ffed-42e8-afd6-86d5a83b27b0)
  )
  (wire (pts (xy 207.01 154.94) (xy 208.28 154.94))
    (stroke (width 0) (type default))
    (uuid f0a1c4a1-0d4d-490d-863b-9a8d314f0e1f)
  )
  (wire (pts (xy 121.92 154.94) (xy 120.65 154.94))
    (stroke (width 0) (type default))
    (uuid f0b319bd-ef10-4baf-8b70-b2653589ab66)
  )
  (wire (pts (xy 271.78 167.64) (xy 275.59 167.64))
    (stroke (width 0) (type default))
    (uuid f1befdfc-af66-4005-a86c-1164e70ef477)
  )
  (wire (pts (xy 314.96 144.78) (xy 320.04 144.78))
    (stroke (width 0) (type default))
    (uuid f1c5917a-6577-4008-930b-8391121a1bdf)
  )
  (wire (pts (xy 311.15 66.04) (xy 314.96 66.04))
    (stroke (width 0) (type default))
    (uuid f2afddbe-7373-470e-a51a-09d6b3a5af65)
  )
  (wire (pts (xy 345.44 190.5) (xy 345.44 191.77))
    (stroke (width 0) (type default))
    (uuid f49ac67c-f257-4060-818c-06a9bdfdf10a)
  )
  (wire (pts (xy 299.72 90.17) (xy 300.99 90.17))
    (stroke (width 0) (type default))
    (uuid f4bcf110-b4ce-430e-9e28-26388d50e60f)
  )
  (wire (pts (xy 177.8 26.67) (xy 181.61 26.67))
    (stroke (width 0) (type default))
    (uuid f617626e-a668-48c3-9687-a9b296b4e7b8)
  )
  (wire (pts (xy 320.04 144.78) (xy 320.04 146.05))
    (stroke (width 0) (type default))
    (uuid f65eef1d-b966-42e4-a330-16b84cf26e68)
  )
  (wire (pts (xy 128.27 68.58) (xy 128.27 67.31))
    (stroke (width 0) (type default))
    (uuid f6de2680-ec72-408b-8820-eb94ecc4fab9)
  )
  (wire (pts (xy 106.68 193.04) (xy 106.68 194.31))
    (stroke (width 0) (type default))
    (uuid f96d8683-6d5e-4407-b34f-58ed344730e2)
  )
  (wire (pts (xy 331.47 182.88) (xy 331.47 185.42))
    (stroke (width 0) (type default))
    (uuid fb780c79-ad42-4bfd-81ef-a31fe3bb4683)
  )
  (wire (pts (xy 314.96 66.04) (xy 314.96 68.58))
    (stroke (width 0) (type default))
    (uuid fd8ad32b-1f31-45a8-a1a5-947255b789e3)
  )
  (wire (pts (xy 378.46 27.94) (xy 378.46 45.72))
    (stroke (width 0) (type default))
    (uuid fe57f05c-3923-4337-a323-074a7e547158)
  )
  (wire (pts (xy 349.25 45.72) (xy 349.25 48.26))
    (stroke (width 0) (type default))
    (uuid ffade46f-f27a-4360-8f26-b3cf3c8b7c89)
  )

  (text "NOSTUFF R23 on VIM3" (at 361.95 191.77 0)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid 0352adf7-154a-4a7b-802a-2b354dd919e2)
  )
  (text "NOSTUFF R20 on VIM3" (at 170.18 191.77 0)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid d704b0f5-4a28-44b5-b62c-80ad9c0f4487)
  )
  (text "Connect to PGND" (at 336.55 63.5 0)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid d88cff89-8340-409e-ab2b-c92f96952aba)
  )
  (text "Connect to PGND" (at 148.59 64.77 0)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid e7ee6241-16b4-42f3-97fc-17e24e6ea98b)
  )
  (text "connect to R30(vim) \n\n" (at 170.18 190.5 0)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid f5026797-6e2b-4c02-8cf6-9973316c6a39)
  )
  (text "connect to R33,34(vim)\n" (at 360.68 187.96 0)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid ff55235b-c4b9-4aac-87ad-ca6d9d568d9f)
  )

  (global_label "VSYS_3V3" (shape output) (at 193.04 44.45 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left))
    (uuid 00f7e4e1-6f0c-43cd-afd5-4a1ebdd1ec55)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 205.0172 44.45 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
  )
  (global_label "DCIN" (shape input) (at 39.37 154.94 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right))
    (uuid 061a96ea-e8e6-4052-8d04-8e8a0d9074cd)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 31.9889 154.94 0)
      (effects (font (size 1.27 1.27)) (justify right))
    )
  )
  (global_label "VCC5V_SENSE_P" (shape output) (at 384.81 25.4 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left))
    (uuid 0a70d2a3-96e6-4517-8d0b-54cdf89bab84)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 402.8952 25.4 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
  )
  (global_label "VSYS_3V3" (shape input) (at 261.62 64.77 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right))
    (uuid 0ecfb43a-23da-467d-a57b-2d90a85c13d8)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 249.6428 64.77 0)
      (effects (font (size 1.27 1.27)) (justify right))
    )
  )
  (global_label "VSYS_3V3" (shape input) (at 254 173.99 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right))
    (uuid 3200a8e9-0405-4839-a09b-3eda64f313d5)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 242.0228 173.99 0)
      (effects (font (size 1.27 1.27)) (justify right))
    )
  )
  (global_label "VDDCPU_A_EN" (shape input) (at 254 177.8 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right))
    (uuid 3c4a1368-7fc4-418b-8638-f5ad78fe3b84)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 238.0918 177.8 0)
      (effects (font (size 1.27 1.27)) (justify right))
    )
  )
  (global_label "VCC5V_SENSE_N" (shape output) (at 384.81 27.94 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left))
    (uuid 3e4d189f-fc55-4441-81bf-82fb0a6f5650)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 402.9557 27.94 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
  )
  (global_label "VDDEE_PWM" (shape input) (at 173.99 181.61 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left))
    (uuid 62341a61-cb1e-4ac8-8aae-5f0aab79827b)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 187.9628 181.61 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
  )
  (global_label "VSYS3V3_SENSE_P" (shape output) (at 181.61 24.13 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left))
    (uuid 631e43be-89ff-450b-ad59-b3ae1a5b9072)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 201.8723 24.13 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
  )
  (global_label "VCC_MCU" (shape output) (at 129.54 57.15 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left))
    (uuid 68152d13-3a7f-42ba-8d36-513e2f0044bf)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 141.0939 57.15 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
  )
  (global_label "PWR_EN" (shape input) (at 77.47 54.61 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right))
    (uuid 68d7ab53-fd05-4fa1-a132-98172c1f5acf)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 67.1257 54.61 0)
      (effects (font (size 1.27 1.27)) (justify right))
    )
  )
  (global_label "VDDEE_SENSE_P" (shape output) (at 203.2 134.62 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left))
    (uuid 70de59c6-f233-4b72-9e6e-03ebcd7c348b)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 221.2851 134.62 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
  )
  (global_label "VDDCPUA_SENSE_N" (shape output) (at 383.54 135.89 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left))
    (uuid 76a610ac-158c-4542-8c25-5f25b05e1c8c)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 404.3467 135.89 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
  )
  (global_label "VCC5V0_HDMI" (shape output) (at 318.77 66.04 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left))
    (uuid 931963bd-71e7-4bb5-8fb4-59599e164f7c)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 334.4363 66.04 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
  )
  (global_label "VDDCPUA_SENSE_P" (shape output) (at 383.54 133.35 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left))
    (uuid a116d348-316e-4f66-88a4-4df8d0496318)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 404.2862 133.35 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
  )
  (global_label "PWR_EN" (shape input) (at 73.66 172.72 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right))
    (uuid a14aeaa2-b314-48e4-a13c-d91367919fae)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 63.3157 172.72 0)
      (effects (font (size 1.27 1.27)) (justify right))
    )
  )
  (global_label "DCIN" (shape input) (at 240.03 156.21 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right))
    (uuid a2d73537-a875-494f-91ac-5339d5470c4f)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 232.6489 156.21 0)
      (effects (font (size 1.27 1.27)) (justify right))
    )
  )
  (global_label "DCIN" (shape input) (at 237.49 45.72 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right))
    (uuid a6abcdd9-d268-4028-8d87-bdec53e1c945)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 230.1089 45.72 0)
      (effects (font (size 1.27 1.27)) (justify right))
    )
  )
  (global_label "VDDCPU_A_PWM" (shape input) (at 361.95 182.88 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left))
    (uuid a7156a24-4198-42ae-bfe9-3bd181edbccc)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 379.5515 182.88 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
  )
  (global_label "VDDEE_SENSE_N" (shape output) (at 203.2 137.16 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left))
    (uuid b457906e-579c-45cf-b753-54415ebfcfe8)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 221.3456 137.16 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
  )
  (global_label "DCIN" (shape input) (at 40.64 44.45 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right))
    (uuid bd22e4b0-64a5-4e22-aa5e-fca4947f7f75)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 33.2589 44.45 0)
      (effects (font (size 1.27 1.27)) (justify right))
    )
  )
  (global_label "VCC5V" (shape output) (at 396.24 45.72 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left))
    (uuid d853d4d5-56a5-4f9c-b065-a802e6dc8a9d)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 405.0725 45.72 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
  )
  (global_label "VDDCPU_A" (shape output) (at 393.7 156.21 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left))
    (uuid dc011c2c-43dd-42d6-9958-e5bb4f1f2ec2)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 406.1611 156.21 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
  )
  (global_label "VSYS3V3_SENSE_N" (shape output) (at 181.61 26.67 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left))
    (uuid ecdee59b-06ea-4dc3-acb5-a631c9fcbc81)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 201.9328 26.67 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
  )
  (global_label "VDD_EE" (shape output) (at 208.28 154.94 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left))
    (uuid f6f73a64-7464-49d6-864b-f199e5db930e)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 218.08 154.94 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
  )

  (symbol (lib_id "Device:R_Small_US") (at 312.42 144.78 90) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 0247bbed-c1f5-477d-a370-9095d6850a21)
    (property "Reference" "R11" (at 312.42 139.7 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "3.3 1%" (at 312.42 142.24 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Resistor_SMD:R_0402_1005Metric" (at 312.42 144.78 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 312.42 144.78 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid b6c698ea-98cc-4bb8-b986-b0bab06020eb))
    (pin "2" (uuid 39bbd226-66e8-48cc-a386-244a13cec460))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "R11") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a658e773-b177-4a90-ae83-7cc427167634"
          (reference "R16") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R_Small_US") (at 83.82 172.72 90) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 027f3fc8-16e1-440a-a1a0-a4e01ce025a0)
    (property "Reference" "R24" (at 83.82 170.18 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "10K 1%" (at 83.82 175.26 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Resistor_SMD:R_0402_1005Metric" (at 83.82 172.72 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 83.82 172.72 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 24f740f6-c97f-4dbc-b559-6918375f172c))
    (pin "2" (uuid 583c8d07-ce95-45d2-89e6-7d93a4fb6e14))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "R24") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a658e773-b177-4a90-ae83-7cc427167634"
          (reference "R13") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 389.89 54.61 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 03ff58f4-79a4-4f25-bca7-bf8badf25c12)
    (property "Reference" "#PWR039" (at 389.89 60.96 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 389.89 59.69 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 389.89 54.61 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 389.89 54.61 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 9d6af850-b2a8-4005-ae4f-6ae992c04682))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "#PWR039") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a658e773-b177-4a90-ae83-7cc427167634"
          (reference "#PWR072") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:C_Small") (at 129.54 39.37 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 081d1662-1eb4-4092-b218-d86c7bafa09e)
    (property "Reference" "C3" (at 132.08 38.7413 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "220nF" (at 132.08 41.2813 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Capacitor_SMD:C_0402_1005Metric" (at 129.54 39.37 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 129.54 39.37 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 029e414d-8462-4d91-a5fb-96d7434ab5b1))
    (pin "2" (uuid 8add8b6f-ee64-4aec-bcb4-d7646e55cf20))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "C3") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a658e773-b177-4a90-ae83-7cc427167634"
          (reference "C38") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:PWR_FLAG") (at 393.7 45.72 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 0c713826-9656-4e2b-a482-b1fe932799cb)
    (property "Reference" "#FLG03" (at 393.7 43.815 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "PWR_FLAG" (at 393.7 41.91 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 393.7 45.72 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 393.7 45.72 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 0550b194-b882-4f4d-aa55-c1bfd3c8dd3c))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "#FLG03") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 55.88 163.83 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 0f78207f-9c07-4daf-bff2-5d989c7192da)
    (property "Reference" "#PWR065" (at 55.88 170.18 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 55.88 168.91 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 55.88 163.83 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 55.88 163.83 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid b57fb851-bba2-4581-b593-5a77c4711438))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "#PWR065") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a658e773-b177-4a90-ae83-7cc427167634"
          (reference "#PWR060") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 273.05 76.2 270) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 1138ed58-8a28-4790-b67b-39b700b687e9)
    (property "Reference" "#PWR057" (at 266.7 76.2 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 269.24 76.835 90)
      (effects (font (size 1.27 1.27)) (justify right))
    )
    (property "Footprint" "" (at 273.05 76.2 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 273.05 76.2 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid b40ea71a-9e59-4720-aad5-893d82d44b74))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "#PWR057") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a658e773-b177-4a90-ae83-7cc427167634"
          (reference "#PWR080") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 389.89 165.1 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 1246259a-23bf-4da1-b2da-263bb92006dc)
    (property "Reference" "#PWR038" (at 389.89 171.45 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 389.89 170.18 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 389.89 165.1 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 389.89 165.1 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid e68a46d1-f8cd-4259-98f9-b66cf105b8a6))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "#PWR038") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a658e773-b177-4a90-ae83-7cc427167634"
          (reference "#PWR072") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:C_Small") (at 389.89 161.29 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 13b5691a-be91-4292-b458-a1f0be80b008)
    (property "Reference" "C117" (at 392.43 160.6613 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "10uF 6.3V" (at 388.62 163.83 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Capacitor_SMD:C_0603_1608Metric" (at 389.89 161.29 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 389.89 161.29 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 30e6d439-702c-453a-bc26-2e750c2ad661))
    (pin "2" (uuid 2d53fbe3-af8a-462f-9cc5-ff31c5d6a71d))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "C117") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a658e773-b177-4a90-ae83-7cc427167634"
          (reference "C42") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R_Small_US") (at 127 161.29 90) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 13f86b46-bfcf-4022-a2d8-cc1ff6a5d337)
    (property "Reference" "R14" (at 127 158.75 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "499K 1%" (at 127 163.83 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Resistor_SMD:R_0402_1005Metric" (at 127 161.29 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 127 161.29 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 17f2c776-73d6-4b53-b091-c84e79e0be6a))
    (pin "2" (uuid 60ea0a64-edae-4988-94a6-acf89d401212))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "R14") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a658e773-b177-4a90-ae83-7cc427167634"
          (reference "R16") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 250.19 54.61 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 14d12bda-3263-4027-b8e1-033889bd65b4)
    (property "Reference" "#PWR045" (at 250.19 60.96 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 250.19 59.69 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 250.19 54.61 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 250.19 54.61 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid fe9350b9-5c35-4309-9b9a-f4b86e2fa9c6))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "#PWR045") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a658e773-b177-4a90-ae83-7cc427167634"
          (reference "#PWR058") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R_Small_US") (at 161.29 168.91 90) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 16967f95-e102-471e-9d2d-57b4bfbef45d)
    (property "Reference" "R21" (at 161.29 166.37 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "51.1K 1%" (at 161.29 171.45 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Resistor_SMD:R_0402_1005Metric" (at 161.29 168.91 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 161.29 168.91 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 557e46d9-8469-4714-95ae-d78a455b6fd5))
    (pin "2" (uuid aff8a8f0-fd4d-44cf-b642-662f8afc818a))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "R21") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a658e773-b177-4a90-ae83-7cc427167634"
          (reference "R16") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:C_Small") (at 320.04 148.59 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 17316746-37f4-4ed9-a6e3-449e65c9dd31)
    (property "Reference" "C20" (at 322.58 147.9613 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "220nF" (at 322.58 150.5013 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Capacitor_SMD:C_0402_1005Metric" (at 320.04 148.59 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 320.04 148.59 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 8a471191-2df9-4092-8200-1d8eee21f7fb))
    (pin "2" (uuid 4388a40c-fd0b-4c5a-b1c9-7cd5379435f6))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "C20") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a658e773-b177-4a90-ae83-7cc427167634"
          (reference "C38") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 182.88 165.1 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 175aef51-72be-4a38-bf75-b18c25190690)
    (property "Reference" "#PWR035" (at 182.88 171.45 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 182.88 170.18 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 182.88 165.1 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 182.88 165.1 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 6c0af1f6-cfab-4929-a735-b1c6e2c6bef4))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "#PWR035") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a658e773-b177-4a90-ae83-7cc427167634"
          (reference "#PWR071") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:C_Small") (at 370.84 161.29 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 1b796713-ef7b-4646-b349-15bd19315a33)
    (property "Reference" "C29" (at 373.38 160.6613 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "22uF 6.3V X5R" (at 368.3 163.83 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Capacitor_SMD:C_0603_1608Metric" (at 370.84 161.29 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 370.84 161.29 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 36162414-57ba-439b-9f5c-faf86322e8c5))
    (pin "2" (uuid ca67c9fd-1b94-4ba0-99af-4bd29b0eceb4))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "C29") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a658e773-b177-4a90-ae83-7cc427167634"
          (reference "C41") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R_Small_US") (at 138.43 186.69 180) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 1d0a0e25-eaa1-46c1-91fc-8bb72b45d89c)
    (property "Reference" "R32" (at 135.89 186.69 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "137K 1%" (at 140.97 186.69 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Resistor_SMD:R_0402_1005Metric" (at 138.43 186.69 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 138.43 186.69 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 61c7de9d-e0fa-4c26-a2bc-094ad57109d7))
    (pin "2" (uuid dc766477-ad5a-4467-ba6e-9c33c92b41cd))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "R32") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a658e773-b177-4a90-ae83-7cc427167634"
          (reference "R16") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:C_Small") (at 167.64 49.53 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 1f41faf5-74d4-4748-95de-1838ee397333)
    (property "Reference" "C8" (at 170.18 49.53 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "22uF 6.3V X5R" (at 167.64 52.07 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Capacitor_SMD:C_0603_1608Metric" (at 167.64 49.53 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 167.64 49.53 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid d778e1d6-2f6e-4802-aace-db33b638e73f))
    (pin "2" (uuid b2754fcb-9068-46f9-98f5-d94b95c82ba7))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "C8") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a658e773-b177-4a90-ae83-7cc427167634"
          (reference "C41") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R_Small_US") (at 119.38 143.51 90) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 207c5a76-c8f8-403d-b676-78ed34dcf47e)
    (property "Reference" "R10" (at 119.38 138.43 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "3.3 1%" (at 119.38 140.97 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Resistor_SMD:R_0402_1005Metric" (at 119.38 143.51 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 119.38 143.51 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 9f4b97a9-7736-430c-8257-c446654cd645))
    (pin "2" (uuid 36a98c16-62d3-4c8c-a92b-0eb84b095350))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "R10") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a658e773-b177-4a90-ae83-7cc427167634"
          (reference "R16") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:C_Small") (at 359.41 50.8 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 297cc1c2-6fb0-49a3-8feb-6bfe0a3c6512)
    (property "Reference" "C12" (at 361.95 50.1713 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "22uF 6.3V X5R 0603" (at 358.14 53.34 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Capacitor_SMD:C_0603_1608Metric" (at 359.41 50.8 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 359.41 50.8 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 89a0b65d-b5c5-44cb-b229-1fedd122ea07))
    (pin "2" (uuid 5976c84d-1d12-4ec5-922f-6f56fefef07b))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "C12") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a658e773-b177-4a90-ae83-7cc427167634"
          (reference "C42") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 138.43 190.5 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 2bb1adc0-effb-4ac7-8303-e41fe65fe327)
    (property "Reference" "#PWR080" (at 138.43 196.85 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 138.43 195.58 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 138.43 190.5 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 138.43 190.5 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid f69a671e-4906-48ec-8627-5f184659a225))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "#PWR080") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a658e773-b177-4a90-ae83-7cc427167634"
          (reference "#PWR073") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:C_Small") (at 314.96 71.12 180) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 3186e789-fc03-4a5d-875b-706c8698811e)
    (property "Reference" "C16" (at 317.5 70.4786 0)
      (effects (font (size 1.27 1.27)) (justify right))
    )
    (property "Value" "1UF" (at 317.5 73.0186 0)
      (effects (font (size 1.27 1.27)) (justify right))
    )
    (property "Footprint" "Capacitor_SMD:C_0603_1608Metric" (at 314.96 71.12 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 314.96 71.12 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 19b93d81-5807-4b0f-8438-13b5497c9e23))
    (pin "2" (uuid 5f2e58e6-7ab1-4d55-838c-cf9656a3240a))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "C16") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a658e773-b177-4a90-ae83-7cc427167634"
          (reference "C49") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:C_Small") (at 121.92 87.63 90) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 31ffb171-66db-446e-977a-e5816c6fa9e1)
    (property "Reference" "C17" (at 121.9263 82.55 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "1UF" (at 121.9263 85.09 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Capacitor_SMD:C_0402_1005Metric" (at 121.92 87.63 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 121.92 87.63 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 7acaed4a-1b32-4fad-9228-91573fcbf1c8))
    (pin "2" (uuid 2c6a8f93-30e9-4c50-bad1-b95b1da73f91))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "C17") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a658e773-b177-4a90-ae83-7cc427167634"
          (reference "C35") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 260.35 54.61 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 34f69f64-2d0a-4b03-9cef-a25cb00b8d61)
    (property "Reference" "#PWR046" (at 260.35 60.96 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 260.35 59.69 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 260.35 54.61 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 260.35 54.61 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 23edafea-3c1d-4c1c-8eab-d566056ee6b7))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "#PWR046") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a658e773-b177-4a90-ae83-7cc427167634"
          (reference "#PWR060") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:C_Small") (at 55.88 160.02 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 359e5f34-0682-48e5-aea3-61f1fa25793d)
    (property "Reference" "C22" (at 58.42 159.3913 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "25V 1uF X5R" (at 52.07 162.56 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Capacitor_SMD:C_0402_1005Metric" (at 55.88 160.02 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 55.88 160.02 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid b0bff8ef-ac7a-4c36-ac5b-5a12c2f3337b))
    (pin "2" (uuid c3182471-066e-44c0-8051-6a31735acfcb))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "C22") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a658e773-b177-4a90-ae83-7cc427167634"
          (reference "C33") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:C_Small") (at 106.68 190.5 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 41394c3d-ebbc-427b-82e7-b870cb9264a1)
    (property "Reference" "C36" (at 107.95 189.23 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "1UF" (at 107.95 191.77 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Capacitor_SMD:C_0402_1005Metric" (at 106.68 190.5 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 106.68 190.5 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 6eaf048a-3c97-4396-9af9-7b4e8d28b24b))
    (pin "2" (uuid 04e91d48-a051-478e-9a5e-1546f731873b))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "C36") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a658e773-b177-4a90-ae83-7cc427167634"
          (reference "C33") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:C_Small") (at 203.2 161.29 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 42a625bc-d07d-484c-b8f3-a3d4dedc5918)
    (property "Reference" "C24" (at 205.74 160.6613 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "10uF 6.3V X5R" (at 201.93 163.83 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Capacitor_SMD:C_0603_1608Metric" (at 203.2 161.29 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 203.2 161.29 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 9c2535e1-5d49-4948-8936-2fada024edbc))
    (pin "2" (uuid 4ad87e1a-99b2-49fb-bcb2-7a20d4ec8047))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "C24") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a658e773-b177-4a90-ae83-7cc427167634"
          (reference "C42") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:C_Small") (at 261.62 161.29 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 433bfd78-2a3c-4f71-95d0-547dfa9dfaf8)
    (property "Reference" "C27" (at 264.16 160.6613 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "25V 1uF X5R" (at 257.81 163.83 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Capacitor_SMD:C_0402_1005Metric" (at 261.62 161.29 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 261.62 161.29 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 7e3e84bd-8620-419a-85d8-eaea72877c69))
    (pin "2" (uuid e46248d7-b5d7-4828-a1e1-2cc117943846))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "C27") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a658e773-b177-4a90-ae83-7cc427167634"
          (reference "C33") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R_Small_US") (at 354.33 170.18 90) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 459f4866-47b4-496f-aaba-12dad2b9b88b)
    (property "Reference" "R23" (at 354.33 167.64 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "200 1%" (at 354.33 172.72 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Resistor_SMD:R_0402_1005Metric" (at 354.33 170.18 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 354.33 170.18 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 8f665226-46b6-4022-b1c0-200b16544bc4))
    (pin "2" (uuid 67cce47c-509a-499c-b17b-65e95da9973f))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "R23") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a658e773-b177-4a90-ae83-7cc427167634"
          (reference "R16") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R_Small_US") (at 297.18 90.17 90) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 4702d373-29d8-4266-8232-e26e57b31c6b)
    (property "Reference" "R9" (at 297.18 85.09 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "100K 1%" (at 297.18 87.63 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Resistor_SMD:R_0402_1005Metric" (at 297.18 90.17 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 297.18 90.17 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 6c9e7ce7-0a7e-4bf2-a421-a8fd2cd09d02))
    (pin "2" (uuid 6f724854-6fbf-40d3-b49a-c0ce8cb40904))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "R9") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a658e773-b177-4a90-ae83-7cc427167634"
          (reference "R20") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:PWR_FLAG") (at 391.16 156.21 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 473e4054-2ea1-4ec9-816a-7ce977549b52)
    (property "Reference" "#FLG05" (at 391.16 154.305 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "PWR_FLAG" (at 391.16 152.4 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Footprint" "" (at 391.16 156.21 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 391.16 156.21 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 66086227-13b1-4df6-85c5-da60e6fec0e9))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "#FLG05") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 349.25 54.61 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 48213ae2-5c51-4006-9f4b-2f533e59209f)
    (property "Reference" "#PWR03" (at 349.25 60.96 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 349.25 59.69 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 349.25 54.61 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 349.25 54.61 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid e1abd5d7-78c9-4f90-ad36-422f13a98032))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "#PWR03") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a658e773-b177-4a90-ae83-7cc427167634"
          (reference "#PWR071") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 113.03 194.31 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 4ba8b95f-5b10-4871-bd55-6e715accecd0)
    (property "Reference" "#PWR085" (at 113.03 200.66 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 113.03 199.39 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 113.03 194.31 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 113.03 194.31 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 7c4c11d8-73a2-46a1-bb10-bf23fc6a0aa5))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "#PWR085") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:C_Small") (at 342.9 162.56 90) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 4d53ba41-247f-4f8a-9d1e-9e251a9601b8)
    (property "Reference" "C30" (at 342.9 160.02 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "220pF 0402" (at 342.9 165.1 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Capacitor_SMD:C_0402_1005Metric" (at 342.9 162.56 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 342.9 162.56 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 79e43a26-a96f-4ab8-a99f-e2e1ad0720d7))
    (pin "2" (uuid ecfbd3c0-0835-46d7-b193-575a44e6d4af))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "C30") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a658e773-b177-4a90-ae83-7cc427167634"
          (reference "C43") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:C_Small") (at 158.75 49.53 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 4dcf20ea-99c6-439b-9e83-b762a9590622)
    (property "Reference" "C7" (at 161.29 49.53 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "22uF 6.3V X5R" (at 160.02 46.99 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Capacitor_SMD:C_0603_1608Metric" (at 158.75 49.53 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 158.75 49.53 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid bfab27ea-c646-4a75-944e-97eaf2fcc0b9))
    (pin "2" (uuid ed3b169a-09af-463e-947c-ec08c1ccf76f))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "C7") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a658e773-b177-4a90-ae83-7cc427167634"
          (reference "C41") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R_Small_US") (at 259.08 173.99 90) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 4de77204-bac0-474a-8dc3-ad21403e41b6)
    (property "Reference" "R25" (at 257.81 171.45 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "10K 1%" (at 259.08 176.53 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Resistor_SMD:R_0402_1005Metric" (at 259.08 173.99 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 259.08 173.99 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 261ddb29-469d-4660-aa38-6de9531adc93))
    (pin "2" (uuid 4db60783-8b3f-42df-b485-645f1d2e578f))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "R25") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a658e773-b177-4a90-ae83-7cc427167634"
          (reference "R13") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 45.72 163.83 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 50f4d4f1-311c-4bcc-9681-9fb6516cfd98)
    (property "Reference" "#PWR064" (at 45.72 170.18 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 45.72 168.91 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 45.72 163.83 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 45.72 163.83 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 4cb2b2c8-a093-4619-8071-44623fb6b269))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "#PWR064") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a658e773-b177-4a90-ae83-7cc427167634"
          (reference "#PWR058") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 173.99 165.1 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 5211afa1-aca0-4d7f-bb3f-d8e3a4e3b5d3)
    (property "Reference" "#PWR027" (at 173.99 171.45 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 173.99 170.18 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 173.99 165.1 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 173.99 165.1 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 4a226964-40fd-4e78-9a49-dc1c479e9bee))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "#PWR027") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a658e773-b177-4a90-ae83-7cc427167634"
          (reference "#PWR071") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R_Small_US") (at 269.24 64.77 90) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 521af40e-a996-4851-8255-f08b4a81254c)
    (property "Reference" "R7" (at 269.24 59.69 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "47K 1%" (at 269.24 62.23 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Resistor_SMD:R_0402_1005Metric" (at 269.24 64.77 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 269.24 64.77 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Field4" "" (at 269.24 64.77 90)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Field5" "" (at 269.24 64.77 90)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Field6" "" (at 269.24 64.77 90)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid dd5f8f9c-d229-4a44-bec2-01ab9c37820f))
    (pin "2" (uuid 875bb3dd-b5b5-4975-9dc0-faa5619af037))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "R7") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a658e773-b177-4a90-ae83-7cc427167634"
          (reference "R19") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:L") (at 328.93 45.72 90) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 531762fa-1a8f-43ac-8314-97a67f28433e)
    (property "Reference" "L2" (at 328.93 43.18 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "MWSA0518S-1R0MT" (at 330.2 48.26 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Inductor_SMD:L_Sunlord_MWSA0518S" (at 328.93 45.72 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "https://www.vishay.com/docs/34300/ihlp-1212ae-11.pdf" (at 328.93 45.72 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 057ab7cc-8b66-4b0b-8ad9-6a63aeaaf3f6))
    (pin "2" (uuid c208bad5-9de6-4f2c-be2f-af8164b54ef3))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "L2") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a658e773-b177-4a90-ae83-7cc427167634"
          (reference "L2") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 359.41 54.61 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 53930033-8196-4350-88ec-0262e255ab42)
    (property "Reference" "#PWR037" (at 359.41 60.96 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 359.41 59.69 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 359.41 54.61 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 359.41 54.61 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid d6ec7c50-c4bf-494e-b8f0-32c28aafec2e))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "#PWR037") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a658e773-b177-4a90-ae83-7cc427167634"
          (reference "#PWR072") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R_Small_US") (at 309.88 35.56 90) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 54419a7d-b797-4205-be49-8f02a43b5dbd)
    (property "Reference" "R3" (at 309.88 30.48 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "3.3 1%" (at 309.88 33.02 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Resistor_SMD:R_0402_1005Metric" (at 309.88 35.56 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 309.88 35.56 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid debf3ffd-fed7-4bad-8def-3d459cce6e3c))
    (pin "2" (uuid c198ea27-1700-432e-a17c-e6652b66dfd9))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "R3") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a658e773-b177-4a90-ae83-7cc427167634"
          (reference "R21") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:C_Small") (at 349.25 50.8 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 5742d7fe-38a9-4479-a7f9-11381d8ac37f)
    (property "Reference" "C11" (at 351.79 50.1713 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "22uF 6.3V X5R" (at 345.44 53.34 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Capacitor_SMD:C_0603_1608Metric" (at 349.25 50.8 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 349.25 50.8 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid ca2f1892-7a35-45da-a0e3-5357b03055d2))
    (pin "2" (uuid 16e1fd44-aa1c-4bb4-b5cb-d452a86144db))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "C11") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a658e773-b177-4a90-ae83-7cc427167634"
          (reference "C41") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R_Small_US") (at 278.13 167.64 90) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 575d6fb0-ba09-4b58-8ac5-caeb3fe2ef12)
    (property "Reference" "R18" (at 278.13 165.1 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "10K 1%" (at 278.13 168.91 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Resistor_SMD:R_0402_1005Metric" (at 278.13 167.64 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 278.13 167.64 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 9abe7586-c259-475e-953c-a91baa98a459))
    (pin "2" (uuid 422a3a12-ec80-4693-969a-efa450de85db))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "R18") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a658e773-b177-4a90-ae83-7cc427167634"
          (reference "R13") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 124.46 182.88 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 58c833c6-7d07-40d2-b4dd-a80f8259d098)
    (property "Reference" "#PWR076" (at 124.46 189.23 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 124.46 187.96 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 124.46 182.88 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 124.46 182.88 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 8cf5abc9-c2d6-44fb-b034-f36fe5541418))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "#PWR076") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a658e773-b177-4a90-ae83-7cc427167634"
          (reference "#PWR073") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Power_Management:NB679GD") (at 280.67 45.72 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 5cee0249-3030-4210-943c-bb2eb26e607d)
    (property "Reference" "U2" (at 289.56 39.37 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "NB679GD" (at 292.1 41.91 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Package_DFN_QFN:MP8759GDZ" (at 307.34 140.64 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Datasheet" "https://componentsearchengine.com/Datasheets/2/NB679GD-P.pdf" (at 307.34 240.64 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Height" "1" (at 307.34 440.64 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Farnell2 Part Number" "3358164RL" (at 307.34 540.64 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Farnell2 Price/Stock" "http://uk.farnell.com/jsp/displayProduct.jsp?sku=3358164RL&action=view" (at 307.34 640.64 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Manufacturer_Name" "Monolithic Power Systems (MPS)" (at 307.34 740.64 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Manufacturer_Part_Number" "NB679GD-P" (at 307.34 840.64 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (pin "1" (uuid 50e55c6c-7c85-4acf-9e18-3105bb2153ee))
    (pin "10" (uuid 86b7a48d-5f6b-4e76-9f96-7cc823344b8b))
    (pin "11" (uuid bee4d92a-3cec-497b-99f2-1a01e7cac49a))
    (pin "12" (uuid 9f1a8b81-274c-4e95-b276-68cd18ff95bd))
    (pin "2" (uuid 540fd3a3-c59b-420e-abf1-95d246107554))
    (pin "3" (uuid 06cfa4ea-dd51-41d4-90f6-23bcc17c7a12))
    (pin "4" (uuid ca16a5a1-90b7-4184-bd13-c02f055c9e6c))
    (pin "5" (uuid dec74cdf-6fb9-49f8-a45e-a9bdbcd29d55))
    (pin "6" (uuid 01311fb8-5f1e-4dbd-bae7-ca6b71b46899))
    (pin "7" (uuid 5475c637-9e71-4fd0-bbb9-c9929c7c52c8))
    (pin "8" (uuid 3857f367-6dd5-4503-ab4e-b91c8c416944))
    (pin "9" (uuid bebc1f6c-2b57-4f53-9443-2fb6c16bacfb))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "U2") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a658e773-b177-4a90-ae83-7cc427167634"
          (reference "U4") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 129.54 87.63 90) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 5e044ed9-73bb-4235-8f36-d286d8ef7d8c)
    (property "Reference" "#PWR058" (at 135.89 87.63 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 133.35 88.265 90)
      (effects (font (size 1.27 1.27)) (justify right))
    )
    (property "Footprint" "" (at 129.54 87.63 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 129.54 87.63 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 6d17b5d7-6ce9-4970-92a6-2a632a3bc835))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "#PWR058") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a658e773-b177-4a90-ae83-7cc427167634"
          (reference "#PWR066") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:C_Small") (at 307.34 90.17 90) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 5e869419-a119-480d-aadd-f5e96c92ef2b)
    (property "Reference" "C18" (at 307.3463 85.09 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "1UF" (at 307.3463 87.63 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Capacitor_SMD:C_0402_1005Metric" (at 307.34 90.17 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 307.34 90.17 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 91a8ff26-4dca-44b9-a886-3e5a491f81b0))
    (pin "2" (uuid b8e2e24f-cedc-4ca4-bad5-f327bce44fc3))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "C18") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a658e773-b177-4a90-ae83-7cc427167634"
          (reference "C47") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R_Small_US") (at 378.46 156.21 90) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 6093cc81-033f-4683-930a-36bc8a8adb28)
    (property "Reference" "R13" (at 378.46 151.13 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "RLW73PA2FR027TD" (at 378.46 153.67 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Resistor_SMD:0508" (at 378.46 156.21 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 378.46 156.21 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 4da68165-28bd-4aaf-9f34-25cff1175df2))
    (pin "2" (uuid 5bc24f48-d873-448b-aa73-f8d282d192b3))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "R13") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a658e773-b177-4a90-ae83-7cc427167634"
          (reference "R13") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:PWR_FLAG") (at 207.01 154.94 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 6236b119-bff0-4800-922d-133007d0d739)
    (property "Reference" "#FLG04" (at 207.01 153.035 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "PWR_FLAG" (at 207.01 151.13 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 207.01 154.94 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 207.01 154.94 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid bdbf7882-b711-4d61-8f0c-96ee10881112))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "#FLG04") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:C_Small") (at 299.72 191.77 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 646f8d41-12c9-4854-b2ba-f565e008fb39)
    (property "Reference" "C37" (at 300.99 190.5 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "1UF" (at 300.99 193.04 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Capacitor_SMD:C_0402_1005Metric" (at 299.72 191.77 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 299.72 191.77 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid c8d505ab-a8ff-4f04-a614-c92928b99226))
    (pin "2" (uuid 9d134894-89fc-4feb-98ee-3ba816c98377))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "C37") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a658e773-b177-4a90-ae83-7cc427167634"
          (reference "C33") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R_Small_US") (at 339.09 182.88 90) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 656dd25d-9004-444f-94fe-cbcbdc52e6f3)
    (property "Reference" "R29" (at 339.09 180.34 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "30K 1%" (at 339.09 185.42 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Resistor_SMD:R_0402_1005Metric" (at 339.09 182.88 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 339.09 182.88 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 2dc6aded-9a0e-4837-9577-c639db499573))
    (pin "2" (uuid 829114c1-8aa7-464e-9490-de4e0824af09))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "R29") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a658e773-b177-4a90-ae83-7cc427167634"
          (reference "R16") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:C_Small") (at 149.86 161.29 90) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 65e70d48-96c8-4ed7-a45d-e91d7e956038)
    (property "Reference" "C25" (at 149.86 158.75 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "220pF 0402" (at 149.86 163.83 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Capacitor_SMD:C_0402_1005Metric" (at 149.86 161.29 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 149.86 161.29 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid ba51db6e-7bea-4e69-8db8-0bed2e5bb0e5))
    (pin "2" (uuid 92484374-61ed-40f0-82e7-abc870bf08e2))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "C25") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a658e773-b177-4a90-ae83-7cc427167634"
          (reference "C43") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R_Small_US") (at 342.9 170.18 90) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 6a9ff3e1-a751-4970-a65e-fb6c214f5dec)
    (property "Reference" "R22" (at 342.9 167.64 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "10K 1%" (at 342.9 172.72 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Resistor_SMD:R_0402_1005Metric" (at 342.9 170.18 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 342.9 170.18 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 1228b633-36e6-46b4-a9cb-9da4dc4cf9ae))
    (pin "2" (uuid 2b1b6705-1645-48d7-be5b-390f789d91f0))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "R22") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a658e773-b177-4a90-ae83-7cc427167634"
          (reference "R16") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 128.27 68.58 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 6b1ee2fe-e651-44d8-8744-e031f76c2126)
    (property "Reference" "#PWR054" (at 128.27 74.93 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 128.27 73.66 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 128.27 68.58 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 128.27 68.58 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid cd08e8fd-9137-4be7-b43d-32d1f1d4b2d0))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "#PWR054") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a658e773-b177-4a90-ae83-7cc427167634"
          (reference "#PWR065") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:C_Small") (at 54.61 49.53 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 6d4a7112-e5a7-4951-a2e8-f8225a1d7e08)
    (property "Reference" "C6" (at 57.15 48.9013 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "25V 1uF X5R" (at 50.8 52.07 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Capacitor_SMD:C_0402_1005Metric" (at 54.61 49.53 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 54.61 49.53 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 10a7ab46-43fb-40c3-ba23-ae605242f252))
    (pin "2" (uuid 16ae719e-b30d-4b80-9289-aa66e88ba783))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "C6") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a658e773-b177-4a90-ae83-7cc427167634"
          (reference "C33") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:C_Small") (at 251.46 161.29 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 6d8645cf-9dd6-4208-b92b-ce7ff751c3fc)
    (property "Reference" "C26" (at 254 160.6613 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "25V 10uF X5R" (at 241.3 163.83 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Capacitor_SMD:C_0603_1608Metric" (at 251.46 161.29 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 251.46 161.29 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid d020d014-fe3d-4705-9d10-c143c1931020))
    (pin "2" (uuid bbe91a97-df0f-4be5-bf04-1b39d01873db))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "C26") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a658e773-b177-4a90-ae83-7cc427167634"
          (reference "C31") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:C_Small") (at 152.4 186.69 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 6efa4b88-fa99-46d5-829b-c1b968c4b5f6)
    (property "Reference" "C34" (at 154.94 186.0613 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "1nF" (at 154.94 188.6013 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Capacitor_SMD:C_0402_1005Metric" (at 152.4 186.69 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 152.4 186.69 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 5dcc01d1-bcdc-4636-91c5-8342adc3b014))
    (pin "2" (uuid a26ef5a7-f599-459a-9fb6-d7bcc0d3df97))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "C34") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a658e773-b177-4a90-ae83-7cc427167634"
          (reference "C43") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:C_Small") (at 127 147.32 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 72ef19ac-3093-4acc-abd9-e08817eed54e)
    (property "Reference" "C19" (at 129.54 146.6913 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "220nF" (at 129.54 149.2313 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Capacitor_SMD:C_0402_1005Metric" (at 127 147.32 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 127 147.32 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid c4f1d99c-fa85-476d-b0f9-d114183fd7f3))
    (pin "2" (uuid 05713b3b-81ad-4280-bc62-a743b7d0db46))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "C19") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a658e773-b177-4a90-ae83-7cc427167634"
          (reference "C38") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 306.07 195.58 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 793c978b-d1a8-4429-9903-d7c362e3a5ee)
    (property "Reference" "#PWR087" (at 306.07 201.93 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 306.07 200.66 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 306.07 195.58 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 306.07 195.58 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 95ded9d0-3b13-4803-b55b-6a6c88803e74))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "#PWR087") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R_Small_US") (at 375.92 45.72 90) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 79836cdc-883a-470a-92d0-eececdb13d7d)
    (property "Reference" "R5" (at 375.92 40.64 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "D1WEL0603MR050F-T5" (at 375.92 43.18 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 375.92 45.72 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 375.92 45.72 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 6089c11e-67a9-4419-8957-1902d2618258))
    (pin "2" (uuid 3a52da04-3d1c-4a46-8d7a-d95470969ac1))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "R5") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a658e773-b177-4a90-ae83-7cc427167634"
          (reference "R13") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 54.61 53.34 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 7b9c9aff-6cf8-4346-a921-b8ac669efeb3)
    (property "Reference" "#PWR042" (at 54.61 59.69 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 54.61 58.42 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 54.61 53.34 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 54.61 53.34 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 76d956e9-1439-4b0a-89b4-09a00e70d371))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "#PWR042") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a658e773-b177-4a90-ae83-7cc427167634"
          (reference "#PWR060") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 363.22 165.1 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 7d8c7eb2-bd5b-49c6-8a6e-fb75c451189b)
    (property "Reference" "#PWR040" (at 363.22 171.45 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 363.22 170.18 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 363.22 165.1 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 363.22 165.1 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 585f7208-5f1f-4f80-b87d-98d4cdb2a3f3))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "#PWR040") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a658e773-b177-4a90-ae83-7cc427167634"
          (reference "#PWR071") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 299.72 195.58 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 7e662128-7f12-4a60-a456-732aa15e80d9)
    (property "Reference" "#PWR086" (at 299.72 201.93 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 299.72 200.66 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 299.72 195.58 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 299.72 195.58 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 369bf081-255b-47c2-9656-25e918bed69c))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "#PWR086") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:C_Small") (at 182.88 161.29 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 7ebaf82f-1837-4f62-a7dd-5b4435fd404c)
    (property "Reference" "C116" (at 184.15 160.02 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "22uF 6.3V X5R" (at 180.34 163.83 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Capacitor_SMD:C_0603_1608Metric" (at 182.88 161.29 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 182.88 161.29 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid e158d4bd-d08a-4b39-8801-b95704bd07eb))
    (pin "2" (uuid 5d77413e-a8df-48c6-964e-e39487e9abc2))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "C116") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a658e773-b177-4a90-ae83-7cc427167634"
          (reference "C41") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:C_Small") (at 45.72 160.02 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 7f1ca344-d7f3-49d2-a97f-21c77f6118dd)
    (property "Reference" "C21" (at 48.26 159.3913 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "25V 10uF X5R" (at 35.56 162.56 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Capacitor_SMD:C_0603_1608Metric" (at 45.72 160.02 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 45.72 160.02 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid f0ace609-0e43-4c23-b8d2-17fb7feb8cbf))
    (pin "2" (uuid 5d133ae2-f933-48d2-a600-78b7ed54e3de))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "C21") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a658e773-b177-4a90-ae83-7cc427167634"
          (reference "C31") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R_Small_US") (at 320.04 162.56 90) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 80d974c2-e9fd-42a1-a023-d14d9a25273e)
    (property "Reference" "R15" (at 320.04 160.02 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "499K 1%" (at 320.04 165.1 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Resistor_SMD:R_0402_1005Metric" (at 320.04 162.56 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 320.04 162.56 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 11010490-5e27-4f18-844e-eb5e8de432d7))
    (pin "2" (uuid d7cb2e40-1de3-4e0a-ba85-405666406650))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "R15") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a658e773-b177-4a90-ae83-7cc427167634"
          (reference "R16") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 345.44 191.77 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 82ca496f-742b-42d0-9888-79300ca8e4d1)
    (property "Reference" "#PWR083" (at 345.44 198.12 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 345.44 196.85 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 345.44 191.77 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 345.44 191.77 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 1677a7d9-536c-4c89-bf6d-b8656ad73da6))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "#PWR083") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a658e773-b177-4a90-ae83-7cc427167634"
          (reference "#PWR073") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R_Small_US") (at 175.26 44.45 90) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 8396a460-216c-40d2-b480-5c2753e692e0)
    (property "Reference" "R4" (at 175.26 39.37 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "CFN0805AFZ-R030ELF" (at 175.26 41.91 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Resistor_SMD:R_0805_2012Metric" (at 175.26 44.45 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 175.26 44.45 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 01b7705f-ddda-47e5-bbaa-b43217307eea))
    (pin "2" (uuid 65e96101-220e-46cf-896d-d12503fe772f))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "R4") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a658e773-b177-4a90-ae83-7cc427167634"
          (reference "R13") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 331.47 191.77 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 83bc776e-e824-4292-9783-e052506250ca)
    (property "Reference" "#PWR082" (at 331.47 198.12 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 331.47 196.85 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 331.47 191.77 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 331.47 191.77 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 6c0efce0-30ed-4c16-94b0-44a4e4395288))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "#PWR082") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a658e773-b177-4a90-ae83-7cc427167634"
          (reference "#PWR073") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 264.16 186.69 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 83c65aee-8bdd-4054-8760-b4aab99471c7)
    (property "Reference" "#PWR079" (at 264.16 193.04 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 264.16 191.77 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 264.16 186.69 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 264.16 186.69 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid b9a24c3d-8655-4a99-a050-531c0abb3dcb))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "#PWR079") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 314.96 90.17 90) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 84bbec40-22b4-48ac-bd80-f3c04aa551a2)
    (property "Reference" "#PWR059" (at 321.31 90.17 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 318.77 90.805 90)
      (effects (font (size 1.27 1.27)) (justify right))
    )
    (property "Footprint" "" (at 314.96 90.17 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 314.96 90.17 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid a9a4aa1b-2905-4567-9c2c-3ba3f8b1dcec))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "#PWR059") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a658e773-b177-4a90-ae83-7cc427167634"
          (reference "#PWR081") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:C_Small") (at 260.35 50.8 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 87816522-48cf-470a-ae5a-4a5d6719fce1)
    (property "Reference" "C10" (at 262.89 50.1713 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "25V 1uF X5R" (at 256.54 53.34 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Capacitor_SMD:C_0402_1005Metric" (at 260.35 50.8 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 260.35 50.8 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid ef822551-7cf9-4b8a-a40d-d586e49e58b1))
    (pin "2" (uuid 9732eb61-f558-498e-b07a-685cc330a96c))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "C10") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a658e773-b177-4a90-ae83-7cc427167634"
          (reference "C33") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 106.68 194.31 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 8a0f5cef-796d-4e83-9220-84c470b80f6a)
    (property "Reference" "#PWR084" (at 106.68 200.66 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 106.68 199.39 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 106.68 194.31 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 106.68 194.31 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid b7b2ffa8-9e5c-4739-a7d2-b00b490e511c))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "#PWR084") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R_Small_US") (at 85.09 54.61 90) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 8c7875ac-683c-49d4-9ae3-9da99cbf37f9)
    (property "Reference" "R6" (at 85.09 49.53 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "10k" (at 85.09 52.07 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Resistor_SMD:R_0402_1005Metric" (at 85.09 54.61 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 85.09 54.61 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid a8cf3cd1-7f5a-4500-97a7-47eaeab317e5))
    (pin "2" (uuid d35677f9-a3c2-4f3a-8695-85a05e9ab5e6))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "R6") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a658e773-b177-4a90-ae83-7cc427167634"
          (reference "R13") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R_Small_US") (at 325.12 167.64 90) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 8ef0ffa8-af6d-44cb-bd91-1e4b54ed0914)
    (property "Reference" "R19" (at 328.93 166.37 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "499 1%" (at 328.93 168.91 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Resistor_SMD:R_0402_1005Metric" (at 325.12 167.64 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 325.12 167.64 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid b754817d-2ee2-4d78-90ff-17061c5143b1))
    (pin "2" (uuid 5499c72a-186b-4177-b76d-a5fdcab570cc))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "R19") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a658e773-b177-4a90-ae83-7cc427167634"
          (reference "R16") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:PWR_FLAG") (at 190.5 44.45 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 8faad36d-7467-424e-95e5-784bf27d88a9)
    (property "Reference" "#FLG02" (at 190.5 42.545 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "PWR_FLAG" (at 190.5 40.64 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 190.5 44.45 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 190.5 44.45 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid cf94e066-7f8b-4c04-84ef-76a026118075))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "#FLG02") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 334.01 60.96 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 929ca95b-c0cd-47ab-b47c-c3c5959e2037)
    (property "Reference" "#PWR051" (at 334.01 67.31 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 331.47 62.23 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 334.01 60.96 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 334.01 60.96 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid beaaebf7-899a-4123-b803-e2d9db41a1f2))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "#PWR051") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a658e773-b177-4a90-ae83-7cc427167634"
          (reference "#PWR084") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Power_Management:MP8756GD-Z") (at 92.71 154.94 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 938b4801-fdce-4bb1-8000-08cd640cf01e)
    (property "Reference" "U3" (at 99.06 148.59 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "MP8756GD-Z" (at 104.14 151.13 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Package_DFN_QFN:MP8759GDZ" (at 116.84 249.86 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Datasheet" "https://www.monolithicpower.com/pub/media/document/MP8756_r1.1.pdf" (at 116.84 349.86 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Height" "1" (at 116.84 549.86 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Manufacturer_Name" "Monolithic Power Systems (MPS)" (at 116.84 649.86 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Manufacturer_Part_Number" "MP8756GD-Z" (at 116.84 749.86 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Mouser Part Number" "946-MP8756GD-Z" (at 116.84 849.86 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Mouser Price/Stock" "https://www.mouser.co.uk/ProductDetail/Monolithic-Power-Systems-MPS/MP8756GD-Z?qs=cslStgdnz9NR%252Bem%2FvrPnjQ%3D%3D" (at 116.84 949.86 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Arrow Part Number" "" (at 116.84 1049.86 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Arrow Price/Stock" "" (at 116.84 1149.86 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (pin "1" (uuid 5b4ff1ab-4f08-47b9-af91-90d1593fd86f))
    (pin "10" (uuid 1c2ce42e-4484-446a-a401-6667e7a484fb))
    (pin "11" (uuid 40de662c-842e-45b4-a83f-eb326ce66137))
    (pin "12" (uuid 2618cedb-8b22-4380-9171-073e3d5f2cbb))
    (pin "2" (uuid 68fa5320-4322-42bc-afe8-da78e7da3831))
    (pin "3" (uuid 4058df06-151c-4a08-a00c-4d1b8d46a30d))
    (pin "4" (uuid 7fbceb71-33fe-4006-aa8b-c2693179fc63))
    (pin "5" (uuid 612fe208-8705-4dbd-b0e3-af05b0a50fb2))
    (pin "6" (uuid a48c68c3-e8b9-43aa-b4fb-a96bf23dbe5f))
    (pin "7" (uuid ee53d53a-0050-46fc-a181-91fff77a3609))
    (pin "8" (uuid 643deb26-b701-4112-9a2b-90cc816711f7))
    (pin "9" (uuid 424d6c39-8267-4230-8001-dcd36e955a19))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "U3") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 78.74 166.37 270) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 952f2fb7-5279-41dd-b869-d850a78a723d)
    (property "Reference" "#PWR072" (at 72.39 166.37 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 74.93 167.005 90)
      (effects (font (size 1.27 1.27)) (justify right))
    )
    (property "Footprint" "" (at 78.74 166.37 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 78.74 166.37 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 1d57ea2a-0d8d-4385-9ab2-647cccd95b12))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "#PWR072") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R_Small_US") (at 111.76 87.63 90) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 98672fbb-c299-4bd5-a7f4-b8525f96c0fc)
    (property "Reference" "R8" (at 111.76 82.55 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "100k 1%" (at 111.76 85.09 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Resistor_SMD:R_0402_1005Metric" (at 111.76 87.63 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 111.76 87.63 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 036cfbfe-8a47-4aa4-a9b3-3389b7c35cbb))
    (pin "2" (uuid b8890262-ad83-478a-a04f-d351a8f44b8e))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "R8") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a658e773-b177-4a90-ae83-7cc427167634"
          (reference "R14") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 44.45 53.34 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 9a6c4762-14b3-454f-bcc1-dbf39a88aaca)
    (property "Reference" "#PWR041" (at 44.45 59.69 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 44.45 58.42 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 44.45 53.34 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 44.45 53.34 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 9deaa9fa-9a56-4422-8d59-a0b50c094f78))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "#PWR041") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a658e773-b177-4a90-ae83-7cc427167634"
          (reference "#PWR058") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R_Small_US") (at 331.47 187.96 180) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 9b8d74d8-db28-483f-b6ee-4d088b1a5540)
    (property "Reference" "R33" (at 328.93 187.96 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "18.2K 1%" (at 334.01 187.96 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Resistor_SMD:R_0402_1005Metric" (at 331.47 187.96 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 331.47 187.96 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 097f1f86-82cd-44c1-bc3a-0a060667bc2d))
    (pin "2" (uuid e4b68e0e-dc78-432e-befe-98609a4caabf))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "R33") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a658e773-b177-4a90-ae83-7cc427167634"
          (reference "R16") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:C_Small") (at 345.44 187.96 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 9f8a3e73-8839-43bd-9293-6e4ae911c4d0)
    (property "Reference" "C35" (at 347.98 187.3313 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "1nF" (at 347.98 189.8713 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Capacitor_SMD:C_0402_1005Metric" (at 345.44 187.96 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 345.44 187.96 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid e6d8bf62-fa61-49ec-ae15-facc6e2f3d80))
    (pin "2" (uuid 79d527d7-1793-490a-811c-f7af1a25ffe4))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "C35") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a658e773-b177-4a90-ae83-7cc427167634"
          (reference "C43") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:C_Small") (at 334.01 58.42 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid a041f2c3-f24c-49f8-8411-f3150b5fea92)
    (property "Reference" "C14" (at 336.55 58.42 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "100nF" (at 336.55 60.3313 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Capacitor_SMD:C_0402_1005Metric" (at 334.01 58.42 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 334.01 58.42 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid d6ed7eac-2a8d-4726-9a2c-d568870438b7))
    (pin "2" (uuid 83ee4039-001c-4105-bec1-52b902529274))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "C14") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a658e773-b177-4a90-ae83-7cc427167634"
          (reference "C50") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 158.75 53.34 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid a0a9d4f0-9912-4401-baaa-9d8219d155d3)
    (property "Reference" "#PWR029" (at 158.75 59.69 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 158.75 57.15 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 158.75 53.34 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 158.75 53.34 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid ef7e776c-9497-466d-918a-22d223263ba1))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "#PWR029") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a658e773-b177-4a90-ae83-7cc427167634"
          (reference "#PWR071") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:C_Small") (at 173.99 161.29 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid a1469130-ecb3-4b27-b276-cdb055b946a3)
    (property "Reference" "C23" (at 175.26 160.02 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "22uF 6.3V X5R" (at 170.18 157.48 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Capacitor_SMD:C_0603_1608Metric" (at 173.99 161.29 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 173.99 161.29 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid c6563f60-8418-47c5-9ce1-e564660dae10))
    (pin "2" (uuid dc940742-f687-4c8c-a769-d1e07ee9786d))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "C23") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a658e773-b177-4a90-ae83-7cc427167634"
          (reference "C41") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R_Small_US") (at 351.79 182.88 90) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid a3cb85d1-b2e5-4c6e-8a26-246e0ecc8502)
    (property "Reference" "R30" (at 351.79 180.34 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "20K 1%" (at 351.79 185.42 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Resistor_SMD:R_0402_1005Metric" (at 351.79 182.88 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 351.79 182.88 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 7034f2af-3957-4519-b6be-b39aa007a681))
    (pin "2" (uuid f3b7c496-1c8b-4a16-afaf-4ee5f391d5a9))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "R30") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a658e773-b177-4a90-ae83-7cc427167634"
          (reference "R16") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 203.2 165.1 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid a6a238f6-d49a-4437-a260-67177cbf04b2)
    (property "Reference" "#PWR067" (at 203.2 171.45 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 203.2 170.18 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 203.2 165.1 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 203.2 165.1 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 8e3a1f8d-1b09-4a74-a1f9-58e95daf0b55))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "#PWR067") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a658e773-b177-4a90-ae83-7cc427167634"
          (reference "#PWR072") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 271.78 167.64 270) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid a6f230ab-0582-4004-9fd3-d439147fe94e)
    (property "Reference" "#PWR073" (at 265.43 167.64 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 267.97 168.275 90)
      (effects (font (size 1.27 1.27)) (justify right))
    )
    (property "Footprint" "" (at 271.78 167.64 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 271.78 167.64 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid f66505e5-16cf-4502-a67a-1f9f19c7e6f3))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "#PWR073") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 152.4 190.5 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid aa3d6fae-421e-4529-9045-39ac8e66ea30)
    (property "Reference" "#PWR081" (at 152.4 196.85 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 152.4 195.58 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 152.4 190.5 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 152.4 190.5 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 2e33a6f9-285b-443d-b9d4-e49a3a2c0d00))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "#PWR081") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a658e773-b177-4a90-ae83-7cc427167634"
          (reference "#PWR073") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 317.5 184.15 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid aef55d99-d9bc-4fac-87ff-cac6b963045e)
    (property "Reference" "#PWR078" (at 317.5 190.5 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 317.5 189.23 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 317.5 184.15 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 317.5 184.15 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid de7ed901-b6cf-440f-9d12-0a84137a3964))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "#PWR078") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a658e773-b177-4a90-ae83-7cc427167634"
          (reference "#PWR073") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:C_Small") (at 389.89 50.8 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid b0ca65a2-4ca9-4e2e-b5f1-b0c75ac1e769)
    (property "Reference" "C114" (at 392.43 50.1713 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "10uF 6.3V X5R 0603" (at 388.62 53.34 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Capacitor_SMD:C_0603_1608Metric" (at 389.89 50.8 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 389.89 50.8 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid a6885f55-9caf-43a4-a78f-c87f3883c1aa))
    (pin "2" (uuid e93563b0-4fe6-4e22-8f0f-32f55c7ccd68))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "C114") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a658e773-b177-4a90-ae83-7cc427167634"
          (reference "C42") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R_Small_US") (at 121.92 35.56 90) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid b3374738-09f7-4083-a2ca-1aa75df6f39a)
    (property "Reference" "R2" (at 121.92 30.48 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "3.3 1%" (at 121.92 33.02 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Resistor_SMD:R_0402_1005Metric" (at 121.92 35.56 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 121.92 35.56 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid dc83b361-5b2a-47dd-b1d3-1600e2129b19))
    (pin "2" (uuid 17ca42d2-f923-4fb8-b530-a08df0120b77))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "R2") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a658e773-b177-4a90-ae83-7cc427167634"
          (reference "R16") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 314.96 74.93 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid b48992bc-9424-458e-afc9-5ed533d8cc86)
    (property "Reference" "#PWR056" (at 314.96 81.28 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 314.96 80.01 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 314.96 74.93 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 314.96 74.93 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid b93ceefd-f056-4823-b765-e658e8df7755))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "#PWR056") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a658e773-b177-4a90-ae83-7cc427167634"
          (reference "#PWR082") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:C_Small") (at 317.5 39.37 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid b5bc19d8-128e-4b87-981e-9d3208bc739a)
    (property "Reference" "C4" (at 320.04 38.7413 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "220nF" (at 320.04 41.2813 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Capacitor_SMD:C_0402_1005Metric" (at 317.5 39.37 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 317.5 39.37 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 213a4d34-cd22-4041-99e9-fd76c970ff99))
    (pin "2" (uuid 94a76a6f-e9de-41d3-95e7-145c4df52340))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "C4") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a658e773-b177-4a90-ae83-7cc427167634"
          (reference "C48") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:C_Small") (at 264.16 182.88 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid b67bbae0-c0d3-4994-9daf-927f309b6e1d)
    (property "Reference" "C33" (at 266.7 182.2513 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "10nF" (at 266.7 184.7913 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Capacitor_SMD:C_0402_1005Metric" (at 264.16 182.88 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 264.16 182.88 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid df0b9830-8760-4469-a819-af08a01dd234))
    (pin "2" (uuid 8c535cff-aacd-4abf-8822-7cadbcfea12e))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "C33") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a658e773-b177-4a90-ae83-7cc427167634"
          (reference "C33") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R_Small_US") (at 149.86 168.91 90) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid b7261c2f-da3d-4d5a-84ad-6828182e2973)
    (property "Reference" "R20" (at 149.86 166.37 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "5.6K 1%" (at 149.86 171.45 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Resistor_SMD:R_0402_1005Metric" (at 149.86 168.91 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 149.86 168.91 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 859e7492-24c9-4b6e-9ca3-8ddd582108fd))
    (pin "2" (uuid dcdfe2a8-f512-4848-b787-d070ef82a53a))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "R20") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a658e773-b177-4a90-ae83-7cc427167634"
          (reference "R16") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Power_Management:NB680GD") (at 93.98 44.45 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid b9785fed-2b42-48aa-bf48-f7352da18741)
    (property "Reference" "U1" (at 104.14 39.37 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "NB680GD" (at 106.68 41.91 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Package_DFN_QFN:MP8759GDZ" (at 120.65 139.37 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Datasheet" "https://media.monolithicpower.com/document/n/b/nb680_r1.03.pdf" (at 120.65 239.37 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Height" "1" (at 120.65 439.37 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Manufacturer_Name" "Monolithic Power Systems (MPS)" (at 120.65 539.37 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Manufacturer_Part_Number" "NB680GD-P" (at 120.65 639.37 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Mouser Part Number" "946-NB680GD-P" (at 120.65 739.37 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Mouser Price/Stock" "https://www.mouser.co.uk/ProductDetail/Monolithic-Power-Systems-MPS/NB680GD-P?qs=iw0hurA%2FaD2k2kc%252B3fTOJw%3D%3D" (at 120.65 839.37 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Arrow Part Number" "" (at 120.65 939.37 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Arrow Price/Stock" "" (at 120.65 1039.37 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (pin "1" (uuid e6b49cba-18ad-4aec-92ba-aa25a601010d))
    (pin "10" (uuid ba62b175-d729-4819-aae9-488668d6cacd))
    (pin "11" (uuid ff9f652f-f22b-4357-9da5-169364bba62a))
    (pin "12" (uuid c195194e-40b8-4122-bd18-3e222bb4c841))
    (pin "2" (uuid 777b3378-5d0b-4319-90c7-663b9aa93d4d))
    (pin "3" (uuid c3f74104-3783-482c-94a0-84c3bf24fdce))
    (pin "4" (uuid 86d4136e-79a4-41b1-ae74-cf57b19451f4))
    (pin "5" (uuid f7f378fc-ab0d-46db-b3cc-ab1dfea358ee))
    (pin "6" (uuid 4c95a9e8-fde9-46e2-a519-123de7537399))
    (pin "7" (uuid 2f79d07b-9abe-4495-bb09-d3f4f2afc5ef))
    (pin "8" (uuid cdc19dfa-ee9a-4d94-a815-2cf31e7abdb9))
    (pin "9" (uuid 055cc9fb-5cfc-40c4-adfe-c3a93a4e8e31))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "U1") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a658e773-b177-4a90-ae83-7cc427167634"
          (reference "U3") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R_Small_US") (at 146.05 181.61 90) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid bb9c7a24-6b2e-4df9-b07e-fc9d62b9ff10)
    (property "Reference" "R26" (at 146.05 179.07 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "300K 1%" (at 146.05 184.15 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Resistor_SMD:R_0402_1005Metric" (at 146.05 181.61 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 146.05 181.61 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 3fdd01cd-fa35-4f29-bf6e-f57a84b636e0))
    (pin "2" (uuid 8f76c4c8-e891-4eef-85b2-00102f313b8e))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "R26") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a658e773-b177-4a90-ae83-7cc427167634"
          (reference "R16") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:L") (at 140.97 154.94 90) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid bcdfc6ed-babc-404b-8967-c7a116353a36)
    (property "Reference" "L3" (at 140.97 152.4 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "MWSA0518S-1R0MT\n" (at 140.97 156.21 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Inductor_SMD:L_Sunlord_MWSA0518S" (at 140.97 154.94 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "https://www.vishay.com/docs/34300/ihlp-1212ae-11.pdf" (at 140.97 154.94 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid aafc9cc2-9d43-4f71-a375-dfd6224b39ca))
    (pin "2" (uuid 8c52189c-afa5-438f-a7ff-ed4121197ea4))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "L3") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a658e773-b177-4a90-ae83-7cc427167634"
          (reference "L2") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R_Small_US") (at 132.08 166.37 90) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid bd86fac3-fd82-455c-8dca-7244f5ab8335)
    (property "Reference" "R17" (at 135.89 165.1 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "499 1%" (at 135.89 167.64 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Resistor_SMD:R_0402_1005Metric" (at 132.08 166.37 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 132.08 166.37 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 7c90d3ac-efd9-45f9-b77b-43cf88775d63))
    (pin "2" (uuid 380f4b7c-5f86-4584-9a0f-98ab1870075e))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "R17") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a658e773-b177-4a90-ae83-7cc427167634"
          (reference "R16") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:L") (at 331.47 156.21 90) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid bf2f528c-adab-4200-9696-d6af5da5755a)
    (property "Reference" "L4" (at 331.47 152.4 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "MWSA0518S-1R0MT" (at 331.47 154.94 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Inductor_SMD:L_Sunlord_MWSA0518S" (at 331.47 156.21 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "https://www.vishay.com/docs/34300/ihlp-1212ae-11.pdf" (at 331.47 156.21 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid dfc4afe1-4777-4793-9dd2-d79b64c6bf3a))
    (pin "2" (uuid e0f07bb0-c5b9-4da6-b884-99a4812e2226))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "L4") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a658e773-b177-4a90-ae83-7cc427167634"
          (reference "L2") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:C_Small") (at 147.32 58.42 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid bfd15beb-b098-42b7-aa9a-0a6341964166)
    (property "Reference" "C13" (at 148.59 59.69 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "100nF" (at 148.59 60.96 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Capacitor_SMD:C_0402_1005Metric" (at 147.32 58.42 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 147.32 58.42 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 1e922104-22e0-4067-b83b-12a55849edff))
    (pin "2" (uuid ba2fdbb9-d2aa-47d7-b4fe-e054ac4b08a9))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "C13") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a658e773-b177-4a90-ae83-7cc427167634"
          (reference "C39") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R_Small_US") (at 158.75 181.61 90) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid c66df098-619d-48e3-b941-01177fe3d11c)
    (property "Reference" "R27" (at 158.75 179.07 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "160K 1%" (at 158.75 184.15 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Resistor_SMD:R_0402_1005Metric" (at 158.75 181.61 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 158.75 181.61 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid c3521b1f-c2e2-4398-ac9c-582b7814277a))
    (pin "2" (uuid 260b1acb-123a-414f-a897-c791721515ea))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "R27") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a658e773-b177-4a90-ae83-7cc427167634"
          (reference "R16") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:C_Small") (at 363.22 161.29 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid c7979234-568d-4a8c-b8b7-a67ca628e193)
    (property "Reference" "C28" (at 365.76 160.6613 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "22uF 6.3V X5R" (at 358.14 158.75 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Capacitor_SMD:C_0603_1608Metric" (at 363.22 161.29 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 363.22 161.29 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 0e026acc-99c8-468f-847b-af394af802b8))
    (pin "2" (uuid 94241dfd-1143-4d2c-a03e-17f69dfb3b4d))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "C28") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a658e773-b177-4a90-ae83-7cc427167634"
          (reference "C41") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:C_Small") (at 184.15 49.53 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid c92afbbe-31a2-4a3f-9e50-76365394ad1a)
    (property "Reference" "C115" (at 184.15 46.99 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "10uF" (at 184.15 52.07 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Capacitor_SMD:C_0603_1608Metric" (at 184.15 49.53 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 184.15 49.53 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid f1b30b82-209e-4a8e-a43d-050069eef99d))
    (pin "2" (uuid d306cc97-2baa-4b2d-8144-85ebfcd9f5c2))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "C115") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a658e773-b177-4a90-ae83-7cc427167634"
          (reference "C42") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 261.62 165.1 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid cb6b782d-35e6-4b35-9d1a-29d52c2c9121)
    (property "Reference" "#PWR069" (at 261.62 171.45 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 261.62 170.18 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 261.62 165.1 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 261.62 165.1 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid bcdc674f-45d5-4a4c-aaa2-c6f1e2ca134d))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "#PWR069") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a658e773-b177-4a90-ae83-7cc427167634"
          (reference "#PWR060") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 167.64 53.34 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid cba0827d-7fd9-4c5e-94c3-f86e05cdd139)
    (property "Reference" "#PWR031" (at 167.64 59.69 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 167.64 57.15 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 167.64 53.34 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 167.64 53.34 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 9ec93058-8aaf-442f-8aa5-64c78f4dab35))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "#PWR031") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a658e773-b177-4a90-ae83-7cc427167634"
          (reference "#PWR072") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:C_Small") (at 44.45 49.53 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid cbde72a3-18b6-4cbc-b2f7-a34b8468cca2)
    (property "Reference" "C5" (at 46.99 48.9013 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "25V 10uF X5R" (at 34.29 52.07 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Capacitor_SMD:C_0603_1608Metric" (at 44.45 49.53 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 44.45 49.53 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 95706fc9-6603-4b10-8fdf-c0dd83ab9bfb))
    (pin "2" (uuid c4caf94c-66df-426f-9d02-90a67f4e7d21))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "C5") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a658e773-b177-4a90-ae83-7cc427167634"
          (reference "C31") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:C_Small") (at 124.46 179.07 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid cd9ccd65-541b-4fcc-96ae-197997159db4)
    (property "Reference" "C31" (at 127 178.4413 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "100nF" (at 127 180.9813 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Capacitor_SMD:C_0402_1005Metric" (at 124.46 179.07 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 124.46 179.07 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 77335793-e74d-48b2-bb06-9b10344a8772))
    (pin "2" (uuid 533991ee-bc9e-4b28-aa89-63bbb178a113))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "C31") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a658e773-b177-4a90-ae83-7cc427167634"
          (reference "C43") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R_Small_US") (at 194.31 154.94 90) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid cef9ec6d-a1dd-4f53-a8f4-8d28649b9145)
    (property "Reference" "R12" (at 194.31 149.86 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "WFCP0603R0300FE66" (at 194.31 152.4 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 194.31 154.94 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 194.31 154.94 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 65483009-b3e3-4c21-9d99-82a1df1128ea))
    (pin "2" (uuid 51817e26-f814-445d-b3e3-7edf5836d7a5))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "R12") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a658e773-b177-4a90-ae83-7cc427167634"
          (reference "R13") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Power_Management:MP8756GD-Z") (at 285.75 156.21 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid cfbf032a-66d4-4640-a295-647cbdbdb319)
    (property "Reference" "U4" (at 292.1 149.86 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "MP8756GD-Z" (at 297.18 152.4 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Package_DFN_QFN:MP8759GDZ" (at 309.88 251.13 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Datasheet" "https://www.monolithicpower.com/pub/media/document/MP8756_r1.1.pdf" (at 309.88 351.13 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Height" "1" (at 309.88 551.13 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Manufacturer_Name" "Monolithic Power Systems (MPS)" (at 309.88 651.13 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Manufacturer_Part_Number" "MP8756GD-Z" (at 309.88 751.13 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Mouser Part Number" "946-MP8756GD-Z" (at 309.88 851.13 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Mouser Price/Stock" "https://www.mouser.co.uk/ProductDetail/Monolithic-Power-Systems-MPS/MP8756GD-Z?qs=cslStgdnz9NR%252Bem%2FvrPnjQ%3D%3D" (at 309.88 951.13 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Arrow Part Number" "" (at 309.88 1051.13 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Arrow Price/Stock" "" (at 309.88 1151.13 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (pin "1" (uuid e03908a1-9f5e-4b11-a741-3782c78409ae))
    (pin "10" (uuid 67f31cdd-4309-4ec2-9f38-2d7627903e36))
    (pin "11" (uuid dd83da9e-96b1-402a-b624-f8b30e9b98ab))
    (pin "12" (uuid ca5fed40-28f1-4389-a3b8-2d7c464787aa))
    (pin "2" (uuid 9f54e626-4d47-47ec-a1ef-eb441d503ff2))
    (pin "3" (uuid 823b1ad4-75d2-4e71-aecc-b86dda15d6cd))
    (pin "4" (uuid fa3f5def-45d1-45b4-9533-6b0739c21a82))
    (pin "5" (uuid 216baae4-668a-42fc-b841-a88b87c169f3))
    (pin "6" (uuid 02b93b54-1dfa-4e5c-816f-9b5933e3f14d))
    (pin "7" (uuid 2c056e17-dccb-4762-b6f7-0a03506ff86e))
    (pin "8" (uuid 9f261fbc-a447-4e40-ab07-11012d6b7cb6))
    (pin "9" (uuid 0c98f32f-91ab-41d1-aac3-6d439fc9c4ce))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "U4") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:L") (at 140.97 44.45 90) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid d46fb4d5-035e-47ba-a728-4df343f741e5)
    (property "Reference" "L1" (at 140.97 40.64 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "MWSA0518S-2R2MT" (at 142.24 46.99 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Inductor_SMD:L_Sunlord_MWSA0518S" (at 140.97 44.45 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "https://www.vishay.com/docs/34300/ihlp-1212ae-11.pdf" (at 140.97 44.45 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid c4dc09e2-665c-4861-930c-5a87a090349c))
    (pin "2" (uuid 1f024269-e405-4d02-8d30-7d2f1127588d))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "L1") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a658e773-b177-4a90-ae83-7cc427167634"
          (reference "L2") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 370.84 165.1 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid d52101e5-c4c1-4c5d-9e02-4f762a309d37)
    (property "Reference" "#PWR043" (at 370.84 171.45 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 370.84 170.18 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 370.84 165.1 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 370.84 165.1 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 36807870-b2f8-450f-ace8-531f23be4f44))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "#PWR043") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a658e773-b177-4a90-ae83-7cc427167634"
          (reference "#PWR072") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:C_Small") (at 250.19 50.8 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid d653cad5-ba79-4dcb-a8df-d53ca065c73a)
    (property "Reference" "C9" (at 252.73 50.1713 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "25V 10uF X5R" (at 240.03 53.34 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Capacitor_SMD:C_0603_1608Metric" (at 250.19 50.8 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 250.19 50.8 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid fb3dc876-430d-498b-a9ab-59335bd6e3d7))
    (pin "2" (uuid 83665cfe-cff6-4f9a-8173-6d8f578fef0f))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "C9") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a658e773-b177-4a90-ae83-7cc427167634"
          (reference "C31") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:C_Small") (at 128.27 64.77 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid d821f41d-c01f-4a56-b839-0703f28e3ca1)
    (property "Reference" "C15" (at 130.81 63.5063 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "1UF" (at 130.81 66.0463 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Capacitor_SMD:C_0603_1608Metric" (at 128.27 64.77 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 128.27 64.77 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid e667084f-47a4-4a39-9a97-db97a455e573))
    (pin "2" (uuid e41e3279-4327-4d30-97bd-dc8afe766767))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "C15") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a658e773-b177-4a90-ae83-7cc427167634"
          (reference "C37") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 251.46 165.1 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid db1a556a-bcaf-4c17-81ac-f8785c135708)
    (property "Reference" "#PWR068" (at 251.46 171.45 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 251.46 170.18 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 251.46 165.1 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 251.46 165.1 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid e3ac4e00-8df2-4720-bce4-c44b3cce2d0b))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "#PWR068") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a658e773-b177-4a90-ae83-7cc427167634"
          (reference "#PWR058") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 88.9 71.12 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid e47688fb-1f25-418c-909b-8e290037dafc)
    (property "Reference" "#PWR055" (at 88.9 77.47 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 88.9 76.2 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 88.9 71.12 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 88.9 71.12 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 2c945f8e-c69b-4e8e-8716-4829c53d3b2d))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "#PWR055") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a658e773-b177-4a90-ae83-7cc427167634"
          (reference "#PWR062") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 184.15 53.34 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid e546ae33-dc19-4c10-a36c-9e8486a66654)
    (property "Reference" "#PWR033" (at 184.15 59.69 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 184.15 57.15 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 184.15 53.34 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 184.15 53.34 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 55a41de8-2279-4705-a495-c89f91ce7db1))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "#PWR033") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a658e773-b177-4a90-ae83-7cc427167634"
          (reference "#PWR072") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R_Small_US") (at 85.09 166.37 90) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid e73a55b4-c76a-4b99-8acd-33bf4a8b3e6c)
    (property "Reference" "R16" (at 85.09 163.83 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "10K 1%" (at 85.09 167.64 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Resistor_SMD:R_0402_1005Metric" (at 85.09 166.37 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 85.09 166.37 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 199994df-cf7b-4c3f-b054-16aa6ed63e43))
    (pin "2" (uuid 757a3a57-5c0e-4818-84a5-27b3d13e13da))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "R16") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a658e773-b177-4a90-ae83-7cc427167634"
          (reference "R13") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 147.32 60.96 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid ec0bab1f-b81c-41cf-ae06-66dd516decc3)
    (property "Reference" "#PWR050" (at 147.32 67.31 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 147.32 66.04 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 147.32 60.96 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 147.32 60.96 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 754aaaff-a466-49bf-92e6-b9329e5bff5e))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "#PWR050") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a658e773-b177-4a90-ae83-7cc427167634"
          (reference "#PWR069") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:C_Small") (at 317.5 180.34 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid f6bef45d-8f4d-468d-b368-0485f34ff2d5)
    (property "Reference" "C32" (at 320.04 179.7113 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "100nF" (at 320.04 182.2513 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Capacitor_SMD:C_0402_1005Metric" (at 317.5 180.34 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 317.5 180.34 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 7650aa50-1a04-4c98-8990-5c985295cfc0))
    (pin "2" (uuid 65622349-b30d-4152-a274-ed5ba547d58a))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/4d6001c4-2b2a-4825-81a1-31148538fb15"
          (reference "C32") (unit 1)
        )
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/a658e773-b177-4a90-ae83-7cc427167634"
          (reference "C43") (unit 1)
        )
      )
    )
  )
)
