(kicad_sch (version 20230121) (generator eeschema)

  (uuid d3cfa292-8ad1-4aa2-bc25-5cbb92ebe0e4)

  (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: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:INA229AIDGSR" (in_bom yes) (on_board yes)
      (property "Reference" "U" (at 26.67 7.62 0)
        (effects (font (size 1.27 1.27)) (justify left top))
      )
      (property "Value" "INA229AIDGSR" (at 26.67 5.08 0)
        (effects (font (size 1.27 1.27)) (justify left top))
      )
      (property "Footprint" "SOP50P490X110-10N" (at 26.67 -94.92 0)
        (effects (font (size 1.27 1.27)) (justify left top) hide)
      )
      (property "Datasheet" "https://www.ti.com/lit/gpn/ina229" (at 26.67 -194.92 0)
        (effects (font (size 1.27 1.27)) (justify left top) hide)
      )
      (property "Height" "1.1" (at 26.67 -394.92 0)
        (effects (font (size 1.27 1.27)) (justify left top) hide)
      )
      (property "Manufacturer_Name" "Texas Instruments" (at 26.67 -494.92 0)
        (effects (font (size 1.27 1.27)) (justify left top) hide)
      )
      (property "Manufacturer_Part_Number" "INA229AIDGSR" (at 26.67 -594.92 0)
        (effects (font (size 1.27 1.27)) (justify left top) hide)
      )
      (property "Mouser Part Number" "595-INA229AIDGSR" (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/Texas-Instruments/INA229AIDGSR?qs=eP2BKZSCXI5ILC1SU2n%2F2Q%3D%3D" (at 26.67 -794.92 0)
        (effects (font (size 1.27 1.27)) (justify left top) hide)
      )
      (property "Arrow Part Number" "INA229AIDGSR" (at 26.67 -894.92 0)
        (effects (font (size 1.27 1.27)) (justify left top) hide)
      )
      (property "Arrow Price/Stock" "https://www.arrow.com/en/products/ina229aidgsr/texas-instruments?region=nac" (at 26.67 -994.92 0)
        (effects (font (size 1.27 1.27)) (justify left top) hide)
      )
      (property "ki_description" "Current Sense Amplifier 1 Circuit - 10-VSSOP" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (symbol "INA229AIDGSR_1_1"
        (rectangle (start 5.08 2.54) (end 25.4 -12.7)
          (stroke (width 0.254) (type default))
          (fill (type background))
        )
        (pin passive line (at 0 0 0) (length 5.08)
          (name "CS" (effects (font (size 1.27 1.27))))
          (number "1" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 30.48 0 180) (length 5.08)
          (name "IN+" (effects (font (size 1.27 1.27))))
          (number "10" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 0 -2.54 0) (length 5.08)
          (name "MOSI" (effects (font (size 1.27 1.27))))
          (number "2" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 0 -5.08 0) (length 5.08)
          (name "ALERT" (effects (font (size 1.27 1.27))))
          (number "3" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 0 -7.62 0) (length 5.08)
          (name "MISO" (effects (font (size 1.27 1.27))))
          (number "4" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 0 -10.16 0) (length 5.08)
          (name "SCLK" (effects (font (size 1.27 1.27))))
          (number "5" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 30.48 -10.16 180) (length 5.08)
          (name "VS" (effects (font (size 1.27 1.27))))
          (number "6" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 30.48 -7.62 180) (length 5.08)
          (name "GND" (effects (font (size 1.27 1.27))))
          (number "7" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 30.48 -5.08 180) (length 5.08)
          (name "VBUS" (effects (font (size 1.27 1.27))))
          (number "8" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 30.48 -2.54 180) (length 5.08)
          (name "IN-" (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:VCC_GONK" (power) (pin_names (offset 0)) (in_bom yes) (on_board yes)
      (property "Reference" "#PWR" (at 0 -3.81 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "Value" "VCC_GONK" (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 \"VCC\"" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (symbol "VCC_GONK_0_1"
        (polyline
          (pts
            (xy -0.762 1.27)
            (xy 0 2.54)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 0 0)
            (xy 0 2.54)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 0 2.54)
            (xy 0.762 1.27)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
      )
      (symbol "VCC_GONK_1_1"
        (pin power_in line (at 0 0 90) (length 0) hide
          (name "VCC" (effects (font (size 1.27 1.27))))
          (number "1" (effects (font (size 1.27 1.27))))
        )
      )
    )
  )

  (junction (at 68.58 78.74) (diameter 0) (color 0 0 0 0)
    (uuid 04ef72a8-d899-4705-8edf-cc2de9baf7bf)
  )
  (junction (at 132.08 166.37) (diameter 0) (color 0 0 0 0)
    (uuid 06acb4c3-6ba0-415e-a51c-25ceceb2a7f7)
  )
  (junction (at 363.22 41.91) (diameter 0) (color 0 0 0 0)
    (uuid 12fe4e64-df9c-46fa-acea-83a467013059)
  )
  (junction (at 69.85 161.29) (diameter 0) (color 0 0 0 0)
    (uuid 1615fdda-1d69-43df-9103-38ec49aa3e2b)
  )
  (junction (at 133.35 125.73) (diameter 0) (color 0 0 0 0)
    (uuid 174a49a3-3187-42f4-ba0c-aa1bb471e38c)
  )
  (junction (at 132.08 209.55) (diameter 0) (color 0 0 0 0)
    (uuid 19ac3ada-a191-4ce0-a82a-8403c717e46c)
  )
  (junction (at 300.99 36.83) (diameter 0) (color 0 0 0 0)
    (uuid 1d24967c-0b5a-4594-bd83-b110a67e444e)
  )
  (junction (at 71.12 247.65) (diameter 0) (color 0 0 0 0)
    (uuid 3053e98e-7701-4fed-9ec8-d710135f72a7)
  )
  (junction (at 71.12 120.65) (diameter 0) (color 0 0 0 0)
    (uuid 36152ec2-e556-44ff-9769-7bc4c0ea0ab6)
  )
  (junction (at 67.31 36.83) (diameter 0) (color 0 0 0 0)
    (uuid 55e36fa3-771b-49ba-8e6a-150048ff20c5)
  )
  (junction (at 300.99 172.72) (diameter 0) (color 0 0 0 0)
    (uuid 6bd2faf4-53b3-4e27-98a6-739b5e43b39c)
  )
  (junction (at 363.22 217.17) (diameter 0) (color 0 0 0 0)
    (uuid 708e6b00-7afd-4c62-87eb-ab4671b5a098)
  )
  (junction (at 363.22 87.63) (diameter 0) (color 0 0 0 0)
    (uuid 779aa3b3-bb39-4239-b2d4-be699b26daba)
  )
  (junction (at 300.99 212.09) (diameter 0) (color 0 0 0 0)
    (uuid 80fa3c6d-34f0-4231-8ddd-01fd7f6f8c5c)
  )
  (junction (at 69.85 204.47) (diameter 0) (color 0 0 0 0)
    (uuid 86892c52-ae6c-4838-927e-7016ee958a68)
  )
  (junction (at 302.26 128.27) (diameter 0) (color 0 0 0 0)
    (uuid 8b8d2c83-ea89-4b53-81b5-b7e0cdae3e4c)
  )
  (junction (at 364.49 133.35) (diameter 0) (color 0 0 0 0)
    (uuid 96b7f4fd-446a-4be3-8299-3e533eb63917)
  )
  (junction (at 133.35 252.73) (diameter 0) (color 0 0 0 0)
    (uuid af8820d9-68e8-4b5a-8341-03a8a278a04d)
  )
  (junction (at 130.81 83.82) (diameter 0) (color 0 0 0 0)
    (uuid bb40782d-9fc2-4c12-916a-1afa6cddccb0)
  )
  (junction (at 300.99 82.55) (diameter 0) (color 0 0 0 0)
    (uuid bbe28422-c567-467a-9df5-20a4954541e8)
  )
  (junction (at 129.54 41.91) (diameter 0) (color 0 0 0 0)
    (uuid c6a30b93-7f31-4288-8596-26f0f8eb76bd)
  )
  (junction (at 363.22 177.8) (diameter 0) (color 0 0 0 0)
    (uuid e39e80de-ba3d-4c31-aca2-c593af58657a)
  )

  (wire (pts (xy 360.68 212.09) (xy 365.76 212.09))
    (stroke (width 0) (type default))
    (uuid 00f473e3-9d3e-4ae4-b5bb-f0dda2d8b2f0)
  )
  (wire (pts (xy 66.04 204.47) (xy 69.85 204.47))
    (stroke (width 0) (type default))
    (uuid 0199b6c2-c7ec-43ff-93f9-21e9f6020f53)
  )
  (wire (pts (xy 321.31 34.29) (xy 330.2 34.29))
    (stroke (width 0) (type default))
    (uuid 01c2fc7b-74fe-420d-9143-c6f93631729a)
  )
  (wire (pts (xy 69.85 161.29) (xy 99.06 161.29))
    (stroke (width 0) (type default))
    (uuid 023df436-cc9f-41e4-b2ce-c93b15807c70)
  )
  (wire (pts (xy 146.05 73.66) (xy 128.27 73.66))
    (stroke (width 0) (type default))
    (uuid 02d1555f-2083-49bd-871a-9fa72b0a50c2)
  )
  (wire (pts (xy 133.35 259.08) (xy 133.35 260.35))
    (stroke (width 0) (type default))
    (uuid 061ad6b1-8ee0-4624-87a5-93cc906c45c8)
  )
  (wire (pts (xy 133.35 252.73) (xy 133.35 254))
    (stroke (width 0) (type default))
    (uuid 06cf5f3f-26d8-4a4c-bca0-f44a52a11b6d)
  )
  (wire (pts (xy 322.58 130.81) (xy 331.47 130.81))
    (stroke (width 0) (type default))
    (uuid 06fd1440-083c-4839-a4e2-67d32f8a45e6)
  )
  (wire (pts (xy 378.46 80.01) (xy 360.68 80.01))
    (stroke (width 0) (type default))
    (uuid 084330f3-6a2d-4752-9f88-3a47b7624647)
  )
  (wire (pts (xy 364.49 133.35) (xy 367.03 133.35))
    (stroke (width 0) (type default))
    (uuid 09bcbfc8-6a34-447f-a44b-b6bb0fc03e3d)
  )
  (wire (pts (xy 360.68 177.8) (xy 363.22 177.8))
    (stroke (width 0) (type default))
    (uuid 0a0817f4-753b-43db-817f-cdd4f8b101de)
  )
  (wire (pts (xy 363.22 41.91) (xy 365.76 41.91))
    (stroke (width 0) (type default))
    (uuid 0cf7f5b9-e47e-4fd7-bce0-ea64e9b20d35)
  )
  (wire (pts (xy 130.81 83.82) (xy 133.35 83.82))
    (stroke (width 0) (type default))
    (uuid 0d61a458-b265-4803-bce4-a190e5da942f)
  )
  (wire (pts (xy 321.31 177.8) (xy 330.2 177.8))
    (stroke (width 0) (type default))
    (uuid 1132b470-0bf3-4339-b6dd-af58c7efa708)
  )
  (wire (pts (xy 363.22 48.26) (xy 363.22 49.53))
    (stroke (width 0) (type default))
    (uuid 1156e215-8a4e-4cce-8c25-363d67931630)
  )
  (wire (pts (xy 132.08 172.72) (xy 132.08 173.99))
    (stroke (width 0) (type default))
    (uuid 12cbf5f3-8d89-4233-8809-283169dc660c)
  )
  (wire (pts (xy 297.18 172.72) (xy 300.99 172.72))
    (stroke (width 0) (type default))
    (uuid 13b0affd-84d8-4ed8-8195-3101bb46576d)
  )
  (wire (pts (xy 378.46 207.01) (xy 360.68 207.01))
    (stroke (width 0) (type default))
    (uuid 13ed89c0-9a53-4332-b0b7-8721f026dd8c)
  )
  (wire (pts (xy 300.99 212.09) (xy 330.2 212.09))
    (stroke (width 0) (type default))
    (uuid 149319db-6c11-4b7d-a55f-ee6f4bfafbe4)
  )
  (wire (pts (xy 132.08 209.55) (xy 134.62 209.55))
    (stroke (width 0) (type default))
    (uuid 17b958a0-ed3b-4768-af91-f1f6f042eec4)
  )
  (wire (pts (xy 91.44 245.11) (xy 100.33 245.11))
    (stroke (width 0) (type default))
    (uuid 17bb7599-1323-4ca3-a2a7-f0c503ead398)
  )
  (wire (pts (xy 300.99 203.2) (xy 300.99 204.47))
    (stroke (width 0) (type default))
    (uuid 19a9bcfb-238d-4f98-b080-94292976b71b)
  )
  (wire (pts (xy 363.22 93.98) (xy 363.22 95.25))
    (stroke (width 0) (type default))
    (uuid 1c65ccf1-be5e-4999-89b5-f40ed000fbf4)
  )
  (wire (pts (xy 320.04 167.64) (xy 330.2 167.64))
    (stroke (width 0) (type default))
    (uuid 1e291e47-c7a6-4b82-a9dc-5295986ba714)
  )
  (wire (pts (xy 132.08 166.37) (xy 132.08 167.64))
    (stroke (width 0) (type default))
    (uuid 203bf818-5fa7-4b50-89c1-956ab6633aae)
  )
  (wire (pts (xy 300.99 172.72) (xy 330.2 172.72))
    (stroke (width 0) (type default))
    (uuid 224e22a7-5b2c-4bb9-b3f4-a91eb0fc2a33)
  )
  (wire (pts (xy 130.81 250.19) (xy 148.59 250.19))
    (stroke (width 0) (type default))
    (uuid 24680f40-78e1-4177-86d2-926c4eb15585)
  )
  (wire (pts (xy 69.85 204.47) (xy 99.06 204.47))
    (stroke (width 0) (type default))
    (uuid 25440d51-c0a0-4f42-9bdf-c601a13ca812)
  )
  (wire (pts (xy 363.22 87.63) (xy 365.76 87.63))
    (stroke (width 0) (type default))
    (uuid 27244654-9c65-4ddd-873d-80220d483552)
  )
  (wire (pts (xy 127 41.91) (xy 129.54 41.91))
    (stroke (width 0) (type default))
    (uuid 2b50eac7-6cdd-47b7-bdd1-ad724f4fbdbf)
  )
  (wire (pts (xy 88.9 83.82) (xy 97.79 83.82))
    (stroke (width 0) (type default))
    (uuid 2b97453c-b595-4b7a-99e8-bdbb3aa1e9a7)
  )
  (wire (pts (xy 321.31 39.37) (xy 330.2 39.37))
    (stroke (width 0) (type default))
    (uuid 2cddc373-34f0-4a9a-8c03-0c17b3c8ee9f)
  )
  (wire (pts (xy 67.31 247.65) (xy 71.12 247.65))
    (stroke (width 0) (type default))
    (uuid 2df627ec-9fed-4a7d-a3ed-e3e9ab39f813)
  )
  (wire (pts (xy 364.49 133.35) (xy 364.49 134.62))
    (stroke (width 0) (type default))
    (uuid 31961ce6-e8cb-4486-95fe-b4a94b06e658)
  )
  (wire (pts (xy 66.04 161.29) (xy 69.85 161.29))
    (stroke (width 0) (type default))
    (uuid 336bd432-a3db-4be4-afd9-b3c0a18b8ff6)
  )
  (wire (pts (xy 90.17 207.01) (xy 99.06 207.01))
    (stroke (width 0) (type default))
    (uuid 345cb14d-64bd-4657-a301-e5dc42f1ea0d)
  )
  (wire (pts (xy 90.17 242.57) (xy 100.33 242.57))
    (stroke (width 0) (type default))
    (uuid 34ef5d66-eafa-4ebe-9541-79a146d946cd)
  )
  (wire (pts (xy 133.35 125.73) (xy 133.35 127))
    (stroke (width 0) (type default))
    (uuid 3688a9fd-bf18-4658-a262-7cb45234532f)
  )
  (wire (pts (xy 363.22 223.52) (xy 363.22 224.79))
    (stroke (width 0) (type default))
    (uuid 3795620a-3ec9-4209-b677-e0df6bd7e293)
  )
  (wire (pts (xy 71.12 245.11) (xy 71.12 247.65))
    (stroke (width 0) (type default))
    (uuid 39369604-0823-4e62-a778-a7e844f9e328)
  )
  (wire (pts (xy 129.54 41.91) (xy 129.54 43.18))
    (stroke (width 0) (type default))
    (uuid 3a3932f0-162c-4dba-a25e-ba401daed660)
  )
  (wire (pts (xy 133.35 252.73) (xy 135.89 252.73))
    (stroke (width 0) (type default))
    (uuid 3b5db4da-e90b-45b1-93d0-cadee82822eb)
  )
  (wire (pts (xy 67.31 36.83) (xy 96.52 36.83))
    (stroke (width 0) (type default))
    (uuid 3be3f073-74c6-43d7-a87d-7f1ad57b5974)
  )
  (wire (pts (xy 67.31 120.65) (xy 71.12 120.65))
    (stroke (width 0) (type default))
    (uuid 3bf4e0b9-f7c7-49f4-88c7-7c241f3ba482)
  )
  (wire (pts (xy 128.27 81.28) (xy 146.05 81.28))
    (stroke (width 0) (type default))
    (uuid 3cbff539-24e8-46b2-b86b-150816bd6043)
  )
  (wire (pts (xy 378.46 167.64) (xy 360.68 167.64))
    (stroke (width 0) (type default))
    (uuid 3cd6f36b-8584-4fbc-bd23-30c79bc04142)
  )
  (wire (pts (xy 378.46 209.55) (xy 360.68 209.55))
    (stroke (width 0) (type default))
    (uuid 3d6ef587-86df-43a3-a763-5db4768f382a)
  )
  (wire (pts (xy 364.49 139.7) (xy 364.49 140.97))
    (stroke (width 0) (type default))
    (uuid 3de53fa8-ee02-4bce-95e5-35c83b7165ee)
  )
  (wire (pts (xy 297.18 36.83) (xy 300.99 36.83))
    (stroke (width 0) (type default))
    (uuid 3e9106ca-bd6d-4a54-b6f5-9d4192454096)
  )
  (wire (pts (xy 88.9 156.21) (xy 99.06 156.21))
    (stroke (width 0) (type default))
    (uuid 3f43275b-4d62-4df3-8a48-b8dad60faff8)
  )
  (wire (pts (xy 300.99 34.29) (xy 300.99 36.83))
    (stroke (width 0) (type default))
    (uuid 4067ea02-7150-4185-bb71-afbb5f70e2aa)
  )
  (wire (pts (xy 129.54 209.55) (xy 132.08 209.55))
    (stroke (width 0) (type default))
    (uuid 430757e5-8c39-4d50-b178-6447d1759c91)
  )
  (wire (pts (xy 322.58 125.73) (xy 331.47 125.73))
    (stroke (width 0) (type default))
    (uuid 430863c6-4819-41e2-a00b-1c8ce3b495b2)
  )
  (wire (pts (xy 360.68 39.37) (xy 378.46 39.37))
    (stroke (width 0) (type default))
    (uuid 44473dee-768f-4d0d-988a-fa3657fd3588)
  )
  (wire (pts (xy 90.17 209.55) (xy 99.06 209.55))
    (stroke (width 0) (type default))
    (uuid 448b955b-2492-406f-9753-f9f7771e6ce8)
  )
  (wire (pts (xy 302.26 125.73) (xy 302.26 128.27))
    (stroke (width 0) (type default))
    (uuid 450f16fb-1e88-4cb9-93a0-40bea1b955cb)
  )
  (wire (pts (xy 322.58 133.35) (xy 331.47 133.35))
    (stroke (width 0) (type default))
    (uuid 49a8a930-ffda-445c-93e5-d0877395bc56)
  )
  (wire (pts (xy 363.22 41.91) (xy 363.22 43.18))
    (stroke (width 0) (type default))
    (uuid 4a22c740-b6bf-4c10-9545-9e455400d973)
  )
  (wire (pts (xy 360.68 217.17) (xy 363.22 217.17))
    (stroke (width 0) (type default))
    (uuid 4cd1aa16-4777-4283-806d-fd03c5a99366)
  )
  (wire (pts (xy 321.31 217.17) (xy 330.2 217.17))
    (stroke (width 0) (type default))
    (uuid 4d6ee1b0-91de-41b5-9f21-a947478370db)
  )
  (wire (pts (xy 90.17 201.93) (xy 99.06 201.93))
    (stroke (width 0) (type default))
    (uuid 4f94688b-5f0f-4f63-ae68-4fcb3b06ecee)
  )
  (wire (pts (xy 300.99 163.83) (xy 300.99 165.1))
    (stroke (width 0) (type default))
    (uuid 51514719-d22c-4bba-80a0-2fc19c68c412)
  )
  (wire (pts (xy 130.81 125.73) (xy 133.35 125.73))
    (stroke (width 0) (type default))
    (uuid 5617368d-628c-40e9-a5e9-3e1273159eb9)
  )
  (wire (pts (xy 127 36.83) (xy 132.08 36.83))
    (stroke (width 0) (type default))
    (uuid 562fdafc-8c6b-4c02-b8fc-8ae6c79be2b6)
  )
  (wire (pts (xy 321.31 170.18) (xy 330.2 170.18))
    (stroke (width 0) (type default))
    (uuid 583c58b4-9918-403d-9917-c6b359963260)
  )
  (wire (pts (xy 321.31 209.55) (xy 330.2 209.55))
    (stroke (width 0) (type default))
    (uuid 5871d76e-6037-4cfc-b94c-0ffaa892f2c9)
  )
  (wire (pts (xy 129.54 163.83) (xy 147.32 163.83))
    (stroke (width 0) (type default))
    (uuid 597976c2-f165-49d1-8406-8e603981394b)
  )
  (wire (pts (xy 361.95 128.27) (xy 367.03 128.27))
    (stroke (width 0) (type default))
    (uuid 59ac6b58-382c-4eb8-9347-a2e1677d6fe7)
  )
  (wire (pts (xy 360.68 87.63) (xy 363.22 87.63))
    (stroke (width 0) (type default))
    (uuid 5ac24650-bae6-4c69-8a35-e3c9b2237b36)
  )
  (wire (pts (xy 71.12 247.65) (xy 100.33 247.65))
    (stroke (width 0) (type default))
    (uuid 5c3a05c4-ceef-43f5-b9e7-1c5090d2b335)
  )
  (wire (pts (xy 378.46 34.29) (xy 360.68 34.29))
    (stroke (width 0) (type default))
    (uuid 5caa197e-2b8d-4c89-83e9-357bc655aed4)
  )
  (wire (pts (xy 363.22 217.17) (xy 365.76 217.17))
    (stroke (width 0) (type default))
    (uuid 5d958d06-220a-4db1-ac72-45609d2809ce)
  )
  (wire (pts (xy 300.99 73.66) (xy 300.99 74.93))
    (stroke (width 0) (type default))
    (uuid 5df7b330-c7b5-4fea-ad95-1cd6af2cb339)
  )
  (wire (pts (xy 87.63 34.29) (xy 96.52 34.29))
    (stroke (width 0) (type default))
    (uuid 61eae6f6-9cbc-4be6-8682-426f4d661bfe)
  )
  (wire (pts (xy 132.08 209.55) (xy 132.08 210.82))
    (stroke (width 0) (type default))
    (uuid 636d9148-6616-44e0-bdd0-4f2b1e5cf88a)
  )
  (wire (pts (xy 378.46 170.18) (xy 360.68 170.18))
    (stroke (width 0) (type default))
    (uuid 6418b698-bac5-4d2a-b11a-e14f8f4d2f62)
  )
  (wire (pts (xy 130.81 247.65) (xy 135.89 247.65))
    (stroke (width 0) (type default))
    (uuid 64f4f9d4-c0a3-498f-96ed-bfd177d3cbd5)
  )
  (wire (pts (xy 133.35 125.73) (xy 135.89 125.73))
    (stroke (width 0) (type default))
    (uuid 68cb028a-ac46-4b1f-9c5c-12bd3329e154)
  )
  (wire (pts (xy 87.63 41.91) (xy 96.52 41.91))
    (stroke (width 0) (type default))
    (uuid 6ab754a4-66d1-4a0d-9050-239c53a46498)
  )
  (wire (pts (xy 133.35 132.08) (xy 133.35 133.35))
    (stroke (width 0) (type default))
    (uuid 6b0c6a3b-3e6b-462e-a670-5bea2b6416b7)
  )
  (wire (pts (xy 148.59 115.57) (xy 130.81 115.57))
    (stroke (width 0) (type default))
    (uuid 6c4a2f1a-fcfb-4fe6-ad2d-9dda7e08f9fe)
  )
  (wire (pts (xy 361.95 133.35) (xy 364.49 133.35))
    (stroke (width 0) (type default))
    (uuid 6e92a4eb-5e67-4b5d-9688-23c3fdf74d94)
  )
  (wire (pts (xy 360.68 172.72) (xy 365.76 172.72))
    (stroke (width 0) (type default))
    (uuid 6f9f096d-e06b-477c-a203-1a64b8a0f708)
  )
  (wire (pts (xy 130.81 90.17) (xy 130.81 91.44))
    (stroke (width 0) (type default))
    (uuid 71d10c70-d2c2-4f5c-a77f-be2de2c726ce)
  )
  (wire (pts (xy 360.68 41.91) (xy 363.22 41.91))
    (stroke (width 0) (type default))
    (uuid 72c2df94-0f52-4b9f-b4aa-81be7160aab9)
  )
  (wire (pts (xy 91.44 250.19) (xy 100.33 250.19))
    (stroke (width 0) (type default))
    (uuid 736885af-cd19-4f76-8126-983e8c0fd272)
  )
  (wire (pts (xy 321.31 80.01) (xy 330.2 80.01))
    (stroke (width 0) (type default))
    (uuid 76cedad0-0dca-457e-9e00-a33b6a5de5c3)
  )
  (wire (pts (xy 302.26 128.27) (xy 331.47 128.27))
    (stroke (width 0) (type default))
    (uuid 7b6e729f-8eac-4d68-8c40-1db28c8af949)
  )
  (wire (pts (xy 71.12 120.65) (xy 100.33 120.65))
    (stroke (width 0) (type default))
    (uuid 7b7c72b8-e38e-412c-a575-89b564525577)
  )
  (wire (pts (xy 363.22 177.8) (xy 363.22 179.07))
    (stroke (width 0) (type default))
    (uuid 7d622d5b-0224-4dd6-89e0-6505b140ea3f)
  )
  (wire (pts (xy 360.68 175.26) (xy 378.46 175.26))
    (stroke (width 0) (type default))
    (uuid 80068484-4ca7-494c-891a-306d86f5dcf9)
  )
  (wire (pts (xy 91.44 252.73) (xy 100.33 252.73))
    (stroke (width 0) (type default))
    (uuid 838555a0-2020-47b4-8b9c-147d5de26987)
  )
  (wire (pts (xy 90.17 163.83) (xy 99.06 163.83))
    (stroke (width 0) (type default))
    (uuid 893dfde4-6658-46f6-8143-38f3ca56a915)
  )
  (wire (pts (xy 300.99 80.01) (xy 300.99 82.55))
    (stroke (width 0) (type default))
    (uuid 8da08ec4-ebda-4ac1-901b-6b8083340cf3)
  )
  (wire (pts (xy 321.31 85.09) (xy 330.2 85.09))
    (stroke (width 0) (type default))
    (uuid 8f13f838-e5ca-41ac-9aa0-c1fcf313421f)
  )
  (wire (pts (xy 69.85 152.4) (xy 69.85 153.67))
    (stroke (width 0) (type default))
    (uuid 9055b35b-140f-4460-b525-25e6319e966a)
  )
  (wire (pts (xy 148.59 118.11) (xy 130.81 118.11))
    (stroke (width 0) (type default))
    (uuid 910f9381-908d-4204-b2ed-8b8251864966)
  )
  (wire (pts (xy 321.31 87.63) (xy 330.2 87.63))
    (stroke (width 0) (type default))
    (uuid 912fb26c-ad1f-43b7-823c-ae085c66b78c)
  )
  (wire (pts (xy 90.17 166.37) (xy 99.06 166.37))
    (stroke (width 0) (type default))
    (uuid 95882dec-fd90-49ec-9822-411b44cb82e4)
  )
  (wire (pts (xy 88.9 76.2) (xy 97.79 76.2))
    (stroke (width 0) (type default))
    (uuid 9604bfd8-2d19-48db-93ef-bcf343b4b4fd)
  )
  (wire (pts (xy 63.5 36.83) (xy 67.31 36.83))
    (stroke (width 0) (type default))
    (uuid 96a35564-1a8b-4d1d-9ef5-5b62c2af6754)
  )
  (wire (pts (xy 302.26 119.38) (xy 302.26 120.65))
    (stroke (width 0) (type default))
    (uuid 988c7038-177d-420d-82f0-af859061e887)
  )
  (wire (pts (xy 144.78 34.29) (xy 127 34.29))
    (stroke (width 0) (type default))
    (uuid 992bf35f-0920-4367-a822-73e954e70e6b)
  )
  (wire (pts (xy 148.59 245.11) (xy 130.81 245.11))
    (stroke (width 0) (type default))
    (uuid 9ace300c-fc1b-4660-9b51-58a2c24d5ab2)
  )
  (wire (pts (xy 71.12 238.76) (xy 71.12 240.03))
    (stroke (width 0) (type default))
    (uuid 9bfd62b7-ca0f-49c2-a897-bea3e76cef04)
  )
  (wire (pts (xy 146.05 76.2) (xy 128.27 76.2))
    (stroke (width 0) (type default))
    (uuid 9c6bbcda-e34e-4a64-8324-095800f325fd)
  )
  (wire (pts (xy 129.54 48.26) (xy 129.54 49.53))
    (stroke (width 0) (type default))
    (uuid 9d195db2-c335-40d5-acd9-3c6a2ef03507)
  )
  (wire (pts (xy 363.22 217.17) (xy 363.22 218.44))
    (stroke (width 0) (type default))
    (uuid 9e620d7e-5da4-4731-9c1b-7e1955bb520d)
  )
  (wire (pts (xy 90.17 158.75) (xy 99.06 158.75))
    (stroke (width 0) (type default))
    (uuid a05a61a6-2e9e-48da-ac7a-f60b49771380)
  )
  (wire (pts (xy 68.58 78.74) (xy 97.79 78.74))
    (stroke (width 0) (type default))
    (uuid a05c2bad-e6b3-404e-b6df-dfc735aee522)
  )
  (wire (pts (xy 87.63 73.66) (xy 97.79 73.66))
    (stroke (width 0) (type default))
    (uuid aa6d3da4-02c6-477f-8a96-7e155624e602)
  )
  (wire (pts (xy 300.99 36.83) (xy 330.2 36.83))
    (stroke (width 0) (type default))
    (uuid ac2ee660-e0a5-4ccb-97e5-72ba01600a20)
  )
  (wire (pts (xy 321.31 214.63) (xy 330.2 214.63))
    (stroke (width 0) (type default))
    (uuid acdf65b2-9072-4f6b-adc0-fa313601ef14)
  )
  (wire (pts (xy 129.54 204.47) (xy 134.62 204.47))
    (stroke (width 0) (type default))
    (uuid af06697d-7191-4803-85eb-e5ca583b93e7)
  )
  (wire (pts (xy 378.46 31.75) (xy 360.68 31.75))
    (stroke (width 0) (type default))
    (uuid af09c97c-65e4-4447-bebe-e37e6376f011)
  )
  (wire (pts (xy 86.36 31.75) (xy 96.52 31.75))
    (stroke (width 0) (type default))
    (uuid af51449c-af48-4cbe-9b3b-d4e7b2e51e27)
  )
  (wire (pts (xy 64.77 78.74) (xy 68.58 78.74))
    (stroke (width 0) (type default))
    (uuid b0e056d0-9bb1-470d-8c2a-714497e761d2)
  )
  (wire (pts (xy 69.85 195.58) (xy 69.85 196.85))
    (stroke (width 0) (type default))
    (uuid b1a89475-efa1-4376-a4df-6bab9ec3565e)
  )
  (wire (pts (xy 128.27 83.82) (xy 130.81 83.82))
    (stroke (width 0) (type default))
    (uuid b295e69d-da3f-414b-b2af-deecad9af6f6)
  )
  (wire (pts (xy 130.81 83.82) (xy 130.81 85.09))
    (stroke (width 0) (type default))
    (uuid b33d7d94-1fc3-46d4-94bc-1015b311ea74)
  )
  (wire (pts (xy 320.04 31.75) (xy 330.2 31.75))
    (stroke (width 0) (type default))
    (uuid b514b6cc-00fd-4c39-9eb5-67a4e6bb2145)
  )
  (wire (pts (xy 297.18 212.09) (xy 300.99 212.09))
    (stroke (width 0) (type default))
    (uuid b7f6a961-9e22-4107-9d97-3f1b204810df)
  )
  (wire (pts (xy 321.31 41.91) (xy 330.2 41.91))
    (stroke (width 0) (type default))
    (uuid bd16e628-513c-4785-9154-68dcfebe7de4)
  )
  (wire (pts (xy 360.68 36.83) (xy 365.76 36.83))
    (stroke (width 0) (type default))
    (uuid bd321729-4c29-448b-83eb-bbd2806251dd)
  )
  (wire (pts (xy 297.18 82.55) (xy 300.99 82.55))
    (stroke (width 0) (type default))
    (uuid bd827471-3731-4625-93c4-eefb4dcc4dd7)
  )
  (wire (pts (xy 68.58 69.85) (xy 68.58 71.12))
    (stroke (width 0) (type default))
    (uuid beb00d4e-931a-4bb9-8683-ddcf9d804e3f)
  )
  (wire (pts (xy 129.54 41.91) (xy 132.08 41.91))
    (stroke (width 0) (type default))
    (uuid bf1b2bb0-8781-4e97-9891-6b91c337ce54)
  )
  (wire (pts (xy 300.99 170.18) (xy 300.99 172.72))
    (stroke (width 0) (type default))
    (uuid c099164e-17cc-4ba5-9386-1a8106bdbc62)
  )
  (wire (pts (xy 132.08 166.37) (xy 134.62 166.37))
    (stroke (width 0) (type default))
    (uuid c41d9430-24d5-4f75-ac78-cf3ef147e293)
  )
  (wire (pts (xy 363.22 87.63) (xy 363.22 88.9))
    (stroke (width 0) (type default))
    (uuid c647477f-efc0-46de-b24e-f804d8c585f6)
  )
  (wire (pts (xy 129.54 161.29) (xy 134.62 161.29))
    (stroke (width 0) (type default))
    (uuid c7241284-699a-4903-aba4-71628e742b26)
  )
  (wire (pts (xy 321.31 123.19) (xy 331.47 123.19))
    (stroke (width 0) (type default))
    (uuid c9278deb-0e73-4aa6-9b71-d1a8dd3599e3)
  )
  (wire (pts (xy 67.31 27.94) (xy 67.31 29.21))
    (stroke (width 0) (type default))
    (uuid cb13c936-3d3d-44a3-a5fc-9f6b5a5b4ecc)
  )
  (wire (pts (xy 147.32 201.93) (xy 129.54 201.93))
    (stroke (width 0) (type default))
    (uuid cb9222be-d8fa-43c4-91c6-b34b260b8384)
  )
  (wire (pts (xy 379.73 125.73) (xy 361.95 125.73))
    (stroke (width 0) (type default))
    (uuid cca69fe4-e7ed-445d-a17c-348cc07aa3e7)
  )
  (wire (pts (xy 300.99 209.55) (xy 300.99 212.09))
    (stroke (width 0) (type default))
    (uuid ccc0e1c0-34ef-456c-a35b-7cee45ca6e66)
  )
  (wire (pts (xy 363.22 184.15) (xy 363.22 185.42))
    (stroke (width 0) (type default))
    (uuid cfbc5341-edbe-494e-9fa2-2cc18b788760)
  )
  (wire (pts (xy 147.32 199.39) (xy 129.54 199.39))
    (stroke (width 0) (type default))
    (uuid cfc13626-1d0d-4451-a5ce-e699b9e3f93d)
  )
  (wire (pts (xy 144.78 31.75) (xy 127 31.75))
    (stroke (width 0) (type default))
    (uuid d2232f61-3a29-4514-8c78-839f57c76f01)
  )
  (wire (pts (xy 147.32 158.75) (xy 129.54 158.75))
    (stroke (width 0) (type default))
    (uuid d4659e52-404e-4011-9fb1-452728768bac)
  )
  (wire (pts (xy 129.54 207.01) (xy 147.32 207.01))
    (stroke (width 0) (type default))
    (uuid d9b690a1-3a64-41e1-ac39-366e7a1d61be)
  )
  (wire (pts (xy 320.04 77.47) (xy 330.2 77.47))
    (stroke (width 0) (type default))
    (uuid da841ca2-4d21-4d1e-9abd-f119bfa08da2)
  )
  (wire (pts (xy 129.54 166.37) (xy 132.08 166.37))
    (stroke (width 0) (type default))
    (uuid dcca17e6-aaab-4d5c-8fd7-71cce71bd11e)
  )
  (wire (pts (xy 300.99 82.55) (xy 330.2 82.55))
    (stroke (width 0) (type default))
    (uuid dce83c91-7d0e-4572-a884-0f91d5eb8952)
  )
  (wire (pts (xy 147.32 156.21) (xy 129.54 156.21))
    (stroke (width 0) (type default))
    (uuid dd999474-85c9-43bc-a4a2-eed5f394d2a7)
  )
  (wire (pts (xy 320.04 207.01) (xy 330.2 207.01))
    (stroke (width 0) (type default))
    (uuid ddd8b51c-9b90-46f5-b1b0-30fda94cf07c)
  )
  (wire (pts (xy 379.73 123.19) (xy 361.95 123.19))
    (stroke (width 0) (type default))
    (uuid de235d7e-8e74-4715-a279-ba7a8ee024a8)
  )
  (wire (pts (xy 90.17 115.57) (xy 100.33 115.57))
    (stroke (width 0) (type default))
    (uuid df308927-feeb-423e-9f58-68ee8f7d00af)
  )
  (wire (pts (xy 130.81 123.19) (xy 148.59 123.19))
    (stroke (width 0) (type default))
    (uuid df977d7b-59c5-43d2-91dd-5416c9dab706)
  )
  (wire (pts (xy 363.22 177.8) (xy 365.76 177.8))
    (stroke (width 0) (type default))
    (uuid dfabf66c-6f53-4969-a78c-18e8345cffaa)
  )
  (wire (pts (xy 88.9 81.28) (xy 97.79 81.28))
    (stroke (width 0) (type default))
    (uuid e0739afd-0ec0-4481-bca9-d1be9a5ed702)
  )
  (wire (pts (xy 67.31 34.29) (xy 67.31 36.83))
    (stroke (width 0) (type default))
    (uuid e3e2b286-4fb3-4ec4-bc03-ff19aa209900)
  )
  (wire (pts (xy 68.58 76.2) (xy 68.58 78.74))
    (stroke (width 0) (type default))
    (uuid e5df7903-050f-40c9-877a-c6bef5d4ace2)
  )
  (wire (pts (xy 132.08 215.9) (xy 132.08 217.17))
    (stroke (width 0) (type default))
    (uuid e6c5ce9c-a1c4-47b0-8ea3-f4ee18e9bd1f)
  )
  (wire (pts (xy 360.68 85.09) (xy 378.46 85.09))
    (stroke (width 0) (type default))
    (uuid ec58ae1a-98a6-465c-af87-bf6f0349bdb3)
  )
  (wire (pts (xy 71.12 111.76) (xy 71.12 113.03))
    (stroke (width 0) (type default))
    (uuid ecfbb46a-9684-4690-a072-9dc4b9979dca)
  )
  (wire (pts (xy 69.85 158.75) (xy 69.85 161.29))
    (stroke (width 0) (type default))
    (uuid ed50aa90-4355-42d4-8220-7e37707594ab)
  )
  (wire (pts (xy 88.9 199.39) (xy 99.06 199.39))
    (stroke (width 0) (type default))
    (uuid ee85a458-3f1e-4cd1-b82d-c5b1bcaa46f1)
  )
  (wire (pts (xy 127 39.37) (xy 144.78 39.37))
    (stroke (width 0) (type default))
    (uuid ef9f0df1-2c0d-49b6-bbdd-de9efdf2f042)
  )
  (wire (pts (xy 130.81 252.73) (xy 133.35 252.73))
    (stroke (width 0) (type default))
    (uuid efff864d-3bc9-4e5f-bc86-9fe3ae48fb28)
  )
  (wire (pts (xy 91.44 118.11) (xy 100.33 118.11))
    (stroke (width 0) (type default))
    (uuid f0616eae-3add-448f-82ef-16162e606d96)
  )
  (wire (pts (xy 360.68 82.55) (xy 365.76 82.55))
    (stroke (width 0) (type default))
    (uuid f22e7fc4-a7e3-4ec4-ada9-1198fab39bb3)
  )
  (wire (pts (xy 91.44 123.19) (xy 100.33 123.19))
    (stroke (width 0) (type default))
    (uuid f2642981-bf72-4421-93e8-6fd254957e30)
  )
  (wire (pts (xy 378.46 77.47) (xy 360.68 77.47))
    (stroke (width 0) (type default))
    (uuid f2ffdb31-7d11-4627-a0d6-487e51e98182)
  )
  (wire (pts (xy 87.63 39.37) (xy 96.52 39.37))
    (stroke (width 0) (type default))
    (uuid f3142330-2088-437d-8528-9cbbae14d38e)
  )
  (wire (pts (xy 128.27 78.74) (xy 133.35 78.74))
    (stroke (width 0) (type default))
    (uuid f38d5fed-86ae-451d-bb80-09f3eef153ba)
  )
  (wire (pts (xy 69.85 201.93) (xy 69.85 204.47))
    (stroke (width 0) (type default))
    (uuid f6e33c7b-5dc2-44c0-937a-b87b9e41d515)
  )
  (wire (pts (xy 298.45 128.27) (xy 302.26 128.27))
    (stroke (width 0) (type default))
    (uuid f752c249-3660-4d2f-b29e-f6ab26c9ffaf)
  )
  (wire (pts (xy 71.12 118.11) (xy 71.12 120.65))
    (stroke (width 0) (type default))
    (uuid f91dea43-7b63-4b05-ba21-16c281b32eb9)
  )
  (wire (pts (xy 91.44 125.73) (xy 100.33 125.73))
    (stroke (width 0) (type default))
    (uuid f9590e72-0813-4c96-8c62-53d105392354)
  )
  (wire (pts (xy 148.59 242.57) (xy 130.81 242.57))
    (stroke (width 0) (type default))
    (uuid f999976e-ac68-4874-86e5-83cb9f8fc439)
  )
  (wire (pts (xy 361.95 130.81) (xy 379.73 130.81))
    (stroke (width 0) (type default))
    (uuid f9ad5f4f-d72c-45d1-82d8-5e6507e05d84)
  )
  (wire (pts (xy 300.99 27.94) (xy 300.99 29.21))
    (stroke (width 0) (type default))
    (uuid f9e51943-ba88-4e7a-a2f4-d2cdec8912c5)
  )
  (wire (pts (xy 360.68 214.63) (xy 378.46 214.63))
    (stroke (width 0) (type default))
    (uuid fba61b45-d3cc-4de2-9ae0-a3fdae3efd7a)
  )
  (wire (pts (xy 130.81 120.65) (xy 135.89 120.65))
    (stroke (width 0) (type default))
    (uuid fd13bbdc-0ccd-4bbf-b87c-6490a70053ce)
  )
  (wire (pts (xy 321.31 175.26) (xy 330.2 175.26))
    (stroke (width 0) (type default))
    (uuid ff3e067d-9817-4bbe-a20e-f94f713ff39b)
  )

  (global_label "SPI_CS_2" (shape input) (at 320.04 77.47 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right))
    (uuid 0124cd0e-7489-40ee-8130-cacf68568428)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 308.4257 77.47 0)
      (effects (font (size 1.27 1.27)) (justify right))
    )
  )
  (global_label "SPI_MOSI_2" (shape input) (at 321.31 80.01 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right))
    (uuid 0a380996-928a-4dab-a2d9-2e095c1cd552)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 307.579 80.01 0)
      (effects (font (size 1.27 1.27)) (justify right))
    )
  )
  (global_label "VDDQ_SENSE_N" (shape input) (at 147.32 201.93 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left))
    (uuid 0c1996f6-38cb-4ee4-adf3-5a5399157cb8)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 164.4981 201.93 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
  )
  (global_label "ALERT1_L" (shape output) (at 64.77 78.74 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right))
    (uuid 0c4e5a3a-4fa8-4c6b-be58-091e6cd84c05)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 53.1557 78.74 0)
      (effects (font (size 1.27 1.27)) (justify right))
    )
  )
  (global_label "SPI_SCLK_1" (shape input) (at 88.9 83.82 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right))
    (uuid 0dd8b5d9-38ac-4cef-a18d-35b997fa3c21)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 74.9876 83.82 0)
      (effects (font (size 1.27 1.27)) (justify right))
    )
  )
  (global_label "SPI_MOSI_6" (shape input) (at 90.17 201.93 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right))
    (uuid 12e316fa-96bb-482d-bb92-9d864d8baca5)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 76.439 201.93 0)
      (effects (font (size 1.27 1.27)) (justify right))
    )
  )
  (global_label "VCC1.8V" (shape input) (at 365.76 82.55 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left))
    (uuid 19c16e57-f55e-40af-820f-c40cfbfe713a)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 376.4068 82.55 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
  )
  (global_label "SPI_MOSI_9" (shape input) (at 91.44 118.11 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right))
    (uuid 1ec61105-d1f6-4a67-aeac-15386c4cdd13)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 77.709 118.11 0)
      (effects (font (size 1.27 1.27)) (justify right))
    )
  )
  (global_label "EMMC_1.8V" (shape input) (at 367.03 128.27 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left))
    (uuid 21e4eb85-279a-49c8-8a1f-dbd094199d02)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 380.3376 128.27 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
  )
  (global_label "SPI_MISO_7" (shape output) (at 90.17 163.83 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right))
    (uuid 244a3471-fb2f-4f95-a273-d1ccf1a3992f)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 76.439 163.83 0)
      (effects (font (size 1.27 1.27)) (justify right))
    )
  )
  (global_label "ALERT5_L" (shape output) (at 67.31 247.65 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right))
    (uuid 264f335c-e95c-4659-ac44-1a70d89b9583)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 55.6957 247.65 0)
      (effects (font (size 1.27 1.27)) (justify right))
    )
  )
  (global_label "SPI_SCLK_11" (shape input) (at 322.58 133.35 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right))
    (uuid 2ad8f882-0fb4-44a0-93f9-c8964c493c76)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 307.4581 133.35 0)
      (effects (font (size 1.27 1.27)) (justify right))
    )
  )
  (global_label "VCC33_SENSE_P" (shape input) (at 147.32 156.21 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left))
    (uuid 2c9b03c1-4a20-4a87-b7bc-be43ca240513)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 165.5261 156.21 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
  )
  (global_label "SPI_MISO_11" (shape output) (at 322.58 130.81 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right))
    (uuid 323e44ce-1a77-4444-9416-af38e5dfbf1e)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 307.6395 130.81 0)
      (effects (font (size 1.27 1.27)) (justify right))
    )
  )
  (global_label "VDDIOAO18_SENSE_P" (shape input) (at 378.46 207.01 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left))
    (uuid 3300ac90-3131-47b8-8c2e-0d5f822684be)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 401.0205 207.01 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
  )
  (global_label "SPI_CS_4" (shape input) (at 320.04 167.64 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right))
    (uuid 35fdf473-4d29-485a-9c71-a6255aefeb09)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 308.4257 167.64 0)
      (effects (font (size 1.27 1.27)) (justify right))
    )
  )
  (global_label "VCC5V_SENSE_P" (shape input) (at 378.46 31.75 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left))
    (uuid 384a73e9-b7ea-4021-8f24-1d3dc22dab4c)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 396.5452 31.75 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
  )
  (global_label "SPI_SCLK_5" (shape input) (at 91.44 252.73 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right))
    (uuid 3ca129f8-d4b4-431d-a4bc-1a746e5799d5)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 77.5276 252.73 0)
      (effects (font (size 1.27 1.27)) (justify right))
    )
  )
  (global_label "SPI_MISO_10" (shape output) (at 87.63 39.37 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right))
    (uuid 3d3b6d6b-5bc1-4328-90bc-c82ea4531e33)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 72.6895 39.37 0)
      (effects (font (size 1.27 1.27)) (justify right))
    )
  )
  (global_label "ALERT7_L" (shape output) (at 66.04 161.29 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right))
    (uuid 3d97e252-b53e-436c-b995-b4a0e97543fe)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 54.4257 161.29 0)
      (effects (font (size 1.27 1.27)) (justify right))
    )
  )
  (global_label "ALERT11_L" (shape output) (at 298.45 128.27 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right))
    (uuid 4620fe05-ca75-46e9-8f80-060775af6241)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 285.6262 128.27 0)
      (effects (font (size 1.27 1.27)) (justify right))
    )
  )
  (global_label "ALERT8_L" (shape output) (at 297.18 36.83 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right))
    (uuid 46bbf71f-8211-4bba-bc22-cb264bec4431)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 285.5657 36.83 0)
      (effects (font (size 1.27 1.27)) (justify right))
    )
  )
  (global_label "VCC5V" (shape output) (at 365.76 36.83 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left))
    (uuid 4fde570a-453a-4cde-8a4a-99841899fa8b)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 374.5925 36.83 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
  )
  (global_label "ALERT2_L" (shape output) (at 297.18 82.55 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right))
    (uuid 4ff9a083-5cbd-473c-823e-3964957f81b9)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 285.5657 82.55 0)
      (effects (font (size 1.27 1.27)) (justify right))
    )
  )
  (global_label "SPI_SCLK_10" (shape input) (at 87.63 41.91 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right))
    (uuid 51f79c0c-0f7e-4f3f-9db1-d75c54f42ea6)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 72.5081 41.91 0)
      (effects (font (size 1.27 1.27)) (justify right))
    )
  )
  (global_label "VDDCPUA_SENSE_P" (shape input) (at 148.59 115.57 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left))
    (uuid 526af917-3cd3-4f5b-b1fd-1c273cc50289)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 169.3362 115.57 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
  )
  (global_label "SPI_MOSI_5" (shape input) (at 91.44 245.11 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right))
    (uuid 5352db11-bc79-4697-ae92-438e521698a1)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 77.709 245.11 0)
      (effects (font (size 1.27 1.27)) (justify right))
    )
  )
  (global_label "SPI_SCLK_3" (shape input) (at 321.31 217.17 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right))
    (uuid 5798fc6c-9f99-4b00-9f36-331b37d665c9)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 307.3976 217.17 0)
      (effects (font (size 1.27 1.27)) (justify right))
    )
  )
  (global_label "SPI_SCLK_6" (shape input) (at 90.17 209.55 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right))
    (uuid 5b3015ac-a0cc-4d48-96e8-9c00f1060c72)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 76.2576 209.55 0)
      (effects (font (size 1.27 1.27)) (justify right))
    )
  )
  (global_label "ALERT10_L" (shape output) (at 63.5 36.83 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right))
    (uuid 5b5b0eb1-5270-4ef4-adae-ce48adc9eb3a)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 50.6762 36.83 0)
      (effects (font (size 1.27 1.27)) (justify right))
    )
  )
  (global_label "SPI_SCLK_8" (shape input) (at 321.31 41.91 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right))
    (uuid 5c04da7c-5b02-4a43-b74c-2c811431a806)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 307.3976 41.91 0)
      (effects (font (size 1.27 1.27)) (justify right))
    )
  )
  (global_label "ALERT6_L" (shape output) (at 66.04 204.47 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right))
    (uuid 5d50481e-1bec-4648-bca7-63ec2e4370f4)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 54.4257 204.47 0)
      (effects (font (size 1.27 1.27)) (justify right))
    )
  )
  (global_label "SPI_MOSI_10" (shape input) (at 87.63 34.29 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right))
    (uuid 605da389-9fc6-48f5-9531-5cffe45fbd8f)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 72.6895 34.29 0)
      (effects (font (size 1.27 1.27)) (justify right))
    )
  )
  (global_label "SPI_MOSI_1" (shape input) (at 88.9 76.2 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right))
    (uuid 60ea9df0-26fb-42c1-8f86-5974874a84fa)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 75.169 76.2 0)
      (effects (font (size 1.27 1.27)) (justify right))
    )
  )
  (global_label "DCIN_SENSE_N" (shape input) (at 148.59 245.11 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left))
    (uuid 616dca04-3a09-4e57-9e45-47c61a7457c5)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 165.2843 245.11 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
  )
  (global_label "SPI_MISO_9" (shape output) (at 91.44 123.19 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right))
    (uuid 6178868e-6505-43ef-a140-d95626b8878e)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 77.709 123.19 0)
      (effects (font (size 1.27 1.27)) (justify right))
    )
  )
  (global_label "SPI_CS_7" (shape input) (at 88.9 156.21 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right))
    (uuid 62a9a575-a41b-429f-92e6-3dd92e971bac)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 77.2857 156.21 0)
      (effects (font (size 1.27 1.27)) (justify right))
    )
  )
  (global_label "DCIN" (shape input) (at 135.89 247.65 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left))
    (uuid 630d525b-3d43-4608-8255-5eee499d0b44)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 143.2711 247.65 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
  )
  (global_label "SPI_MISO_8" (shape output) (at 321.31 39.37 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right))
    (uuid 6a99e26d-bb57-4d36-a51d-7e1f1690b265)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 307.579 39.37 0)
      (effects (font (size 1.27 1.27)) (justify right))
    )
  )
  (global_label "ALERT4_L" (shape output) (at 297.18 172.72 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right))
    (uuid 6e0c9dce-4793-416b-a6f3-a0a3a3061906)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 285.5657 172.72 0)
      (effects (font (size 1.27 1.27)) (justify right))
    )
  )
  (global_label "SPI_SCLK_4" (shape input) (at 321.31 177.8 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right))
    (uuid 6e51ecc9-a249-40c2-bbaf-4772bf6e5604)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 307.3976 177.8 0)
      (effects (font (size 1.27 1.27)) (justify right))
    )
  )
  (global_label "VDDCPU_B_SENSE_P" (shape input) (at 378.46 167.64 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left))
    (uuid 6fc551ff-33a2-4437-b908-cb9cfcfd0572)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 400.3552 167.64 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
  )
  (global_label "VDDQ_1V1" (shape input) (at 134.62 204.47 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left))
    (uuid 6ff14f1d-801f-482d-8b24-a9f221e3d8cf)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 146.9601 204.47 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
  )
  (global_label "SPI_CS_8" (shape input) (at 320.04 31.75 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right))
    (uuid 716890ad-3e91-460d-b3df-f9d60e75ce40)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 308.4257 31.75 0)
      (effects (font (size 1.27 1.27)) (justify right))
    )
  )
  (global_label "SPI_CS_5" (shape input) (at 90.17 242.57 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right))
    (uuid 768cb680-86d2-4a8e-98eb-156be0c4c7b6)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 78.5557 242.57 0)
      (effects (font (size 1.27 1.27)) (justify right))
    )
  )
  (global_label "SPI_CS_1" (shape input) (at 87.63 73.66 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right))
    (uuid 79b70aea-b398-4888-a991-dfa2a84590e0)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 76.0157 73.66 0)
      (effects (font (size 1.27 1.27)) (justify right))
    )
  )
  (global_label "VDDCPU_B_SENSE_N" (shape input) (at 378.46 170.18 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left))
    (uuid 7b94dd5b-6dad-4746-91ae-afc14a5eafd8)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 400.4157 170.18 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
  )
  (global_label "VCC33_SENSE_N" (shape input) (at 147.32 158.75 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left))
    (uuid 7edd491a-3c91-469f-b50e-d29d4e470b86)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 165.5866 158.75 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
  )
  (global_label "SPI_MISO_2" (shape output) (at 321.31 85.09 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right))
    (uuid 802b19e7-1845-4972-8405-d0e933b36e06)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 307.579 85.09 0)
      (effects (font (size 1.27 1.27)) (justify right))
    )
  )
  (global_label "VCC5V_SENSE_N" (shape input) (at 378.46 34.29 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left))
    (uuid 83c96de4-bd61-4439-a13e-07f24e419e31)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 396.6057 34.29 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
  )
  (global_label "SPI_MISO_6" (shape output) (at 90.17 207.01 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right))
    (uuid 88ab70a5-1ae7-44fd-8605-2eb476993ca7)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 76.439 207.01 0)
      (effects (font (size 1.27 1.27)) (justify right))
    )
  )
  (global_label "VCC18_SENSE_N" (shape input) (at 378.46 80.01 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left))
    (uuid 89dee333-03c0-4bf8-ad81-8594e9cd694d)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 396.7266 80.01 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
  )
  (global_label "VDDEE_SENSE_P" (shape input) (at 146.05 73.66 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left))
    (uuid 8ae4ca0f-1555-4df9-8032-bb8ff2ca6ebf)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 164.1351 73.66 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
  )
  (global_label "SPI_MOSI_3" (shape input) (at 321.31 209.55 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right))
    (uuid 8d3a53ac-49c2-4410-b8ef-7cfe3fbef739)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 307.579 209.55 0)
      (effects (font (size 1.27 1.27)) (justify right))
    )
  )
  (global_label "EMMC18_SENSE_N" (shape input) (at 379.73 125.73 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left))
    (uuid 91aba2f7-47c5-4aa1-b7a4-8bd58a6d48ba)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 399.6898 125.73 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
  )
  (global_label "DCIN_SENSE_P" (shape input) (at 148.59 242.57 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left))
    (uuid 91bdc2e6-9b01-42ad-b7d4-c1b2c719ab64)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 165.2238 242.57 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
  )
  (global_label "EMMC18_SENSE_P" (shape input) (at 379.73 123.19 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left))
    (uuid 939f626c-b67f-4ed9-855b-481388dd5cc9)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 399.6293 123.19 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
  )
  (global_label "SPI_SCLK_7" (shape input) (at 90.17 166.37 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right))
    (uuid 93ed872d-de42-46b2-9a0e-c7df2d5cf517)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 76.2576 166.37 0)
      (effects (font (size 1.27 1.27)) (justify right))
    )
  )
  (global_label "SPI_MOSI_4" (shape input) (at 321.31 170.18 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right))
    (uuid 95802107-af92-4899-a113-260acbacfd51)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 307.579 170.18 0)
      (effects (font (size 1.27 1.27)) (justify right))
    )
  )
  (global_label "SPI_CS_3" (shape input) (at 320.04 207.01 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right))
    (uuid 969c6a8b-2c11-43b8-8056-376bb2d93805)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 308.4257 207.01 0)
      (effects (font (size 1.27 1.27)) (justify right))
    )
  )
  (global_label "SPI_CS_6" (shape input) (at 88.9 199.39 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right))
    (uuid 98a52c08-a93b-4b32-a441-de72728214d8)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 77.2857 199.39 0)
      (effects (font (size 1.27 1.27)) (justify right))
    )
  )
  (global_label "SPI_MISO_4" (shape output) (at 321.31 175.26 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right))
    (uuid 9ab61593-0ac2-44ae-b22e-d43e19dfa42f)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 307.579 175.26 0)
      (effects (font (size 1.27 1.27)) (justify right))
    )
  )
  (global_label "VCC3.3V" (shape input) (at 134.62 161.29 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left))
    (uuid 9c8a53c5-fc76-4f61-a672-e99166d6a752)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 145.2668 161.29 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
  )
  (global_label "VDDQ_SENSE_P" (shape input) (at 147.32 199.39 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left))
    (uuid 9f1addc5-3fda-4e10-81d8-ad8967ad333f)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 164.4376 199.39 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
  )
  (global_label "SPI_SCLK_9" (shape input) (at 91.44 125.73 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right))
    (uuid a164b8fb-5626-4edf-af33-5a2f3eec58d5)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 77.5276 125.73 0)
      (effects (font (size 1.27 1.27)) (justify right))
    )
  )
  (global_label "SPI_MOSI_8" (shape input) (at 321.31 34.29 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right))
    (uuid a737eed2-5756-42c9-9d9a-5b03920eee9d)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 307.579 34.29 0)
      (effects (font (size 1.27 1.27)) (justify right))
    )
  )
  (global_label "SPI_MOSI_11" (shape input) (at 322.58 125.73 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right))
    (uuid ad44475d-b3e0-4576-9b91-56856fd290b0)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 307.6395 125.73 0)
      (effects (font (size 1.27 1.27)) (justify right))
    )
  )
  (global_label "ALERT3_L" (shape output) (at 297.18 212.09 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right))
    (uuid aea634cd-6b4a-4937-8821-f7acf5bd9c68)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 285.5657 212.09 0)
      (effects (font (size 1.27 1.27)) (justify right))
    )
  )
  (global_label "VDD_EE" (shape input) (at 133.35 78.74 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left))
    (uuid bc0a9fe3-fd75-4e3a-989b-d1173a6c6ec5)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 143.15 78.74 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
  )
  (global_label "SPI_CS_10" (shape input) (at 86.36 31.75 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right))
    (uuid bffc1ba3-0c09-4629-bb05-40444b2e705c)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 73.5362 31.75 0)
      (effects (font (size 1.27 1.27)) (justify right))
    )
  )
  (global_label "VCC18_SENSE_P" (shape input) (at 378.46 77.47 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left))
    (uuid c49a1a76-b9f3-488b-8d38-547729196cee)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 396.6661 77.47 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
  )
  (global_label "VDDIO_AO18" (shape input) (at 365.76 212.09 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left))
    (uuid c5ea79c1-1cc2-495c-9bbc-ca3c7473b04f)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 380.0354 212.09 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
  )
  (global_label "VDDCPUA_SENSE_N" (shape input) (at 148.59 118.11 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left))
    (uuid c7c7db6a-6d9b-4367-a5c3-852e235b5ab8)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 169.3967 118.11 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
  )
  (global_label "ALERT9_L" (shape output) (at 67.31 120.65 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right))
    (uuid cb19b4a5-d381-4cba-936b-f25d3d094d6d)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 55.6957 120.65 0)
      (effects (font (size 1.27 1.27)) (justify right))
    )
  )
  (global_label "VSYS_3V3" (shape input) (at 132.08 36.83 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left))
    (uuid cc12544a-f924-490c-85c0-78f38293a0be)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 144.0572 36.83 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
  )
  (global_label "VSYS3V3_SENSE_N" (shape input) (at 144.78 34.29 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left))
    (uuid cc1fc9b4-45b3-475b-8f76-4891aaabec67)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 165.1028 34.29 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
  )
  (global_label "VDDIOAO18_SENSE_N" (shape input) (at 378.46 209.55 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left))
    (uuid cdfc05c9-16f0-45ec-bdfa-c67e92487784)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 401.081 209.55 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
  )
  (global_label "VDDCPU_B" (shape input) (at 365.76 172.72 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left))
    (uuid cf9242cc-72d3-447d-be80-77262368ddd9)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 378.4025 172.72 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
  )
  (global_label "VDDCPU_A" (shape input) (at 135.89 120.65 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left))
    (uuid d243ec44-d679-46c8-8ed6-4bc9c0eee52d)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 148.3511 120.65 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
  )
  (global_label "SPI_SCLK_2" (shape input) (at 321.31 87.63 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right))
    (uuid d3c43932-52c9-488a-affe-6c08592739b4)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 307.3976 87.63 0)
      (effects (font (size 1.27 1.27)) (justify right))
    )
  )
  (global_label "VDDEE_SENSE_N" (shape input) (at 146.05 76.2 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left))
    (uuid d5985894-1d36-4627-9970-e505f64cd731)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 164.1956 76.2 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
  )
  (global_label "SPI_MOSI_7" (shape input) (at 90.17 158.75 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right))
    (uuid d876be15-f337-4364-97f1-7ec13732a9a7)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 76.439 158.75 0)
      (effects (font (size 1.27 1.27)) (justify right))
    )
  )
  (global_label "SPI_MISO_3" (shape output) (at 321.31 214.63 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right))
    (uuid d93c1452-ec5f-4ea5-80da-0ea37ffa25dc)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 307.579 214.63 0)
      (effects (font (size 1.27 1.27)) (justify right))
    )
  )
  (global_label "VSYS3V3_SENSE_P" (shape input) (at 144.78 31.75 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left))
    (uuid e796fc73-55ce-4421-9830-ce12795a2a06)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 165.0423 31.75 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
  )
  (global_label "SPI_CS_11" (shape input) (at 321.31 123.19 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right))
    (uuid f078fb9f-4984-4d90-b730-81fb6b522286)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 308.4862 123.19 0)
      (effects (font (size 1.27 1.27)) (justify right))
    )
  )
  (global_label "SPI_CS_9" (shape input) (at 90.17 115.57 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right))
    (uuid f98de5c5-c9fc-4ec3-a1ef-62675d228fbd)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 78.5557 115.57 0)
      (effects (font (size 1.27 1.27)) (justify right))
    )
  )
  (global_label "SPI_MISO_5" (shape output) (at 91.44 250.19 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right))
    (uuid fc73d0b1-ec9e-46f0-8829-6b7c77aa09b7)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 77.709 250.19 0)
      (effects (font (size 1.27 1.27)) (justify right))
    )
  )
  (global_label "SPI_MISO_1" (shape output) (at 88.9 81.28 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right))
    (uuid feeb61bb-b958-45e6-88c2-056b116cce08)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 75.169 81.28 0)
      (effects (font (size 1.27 1.27)) (justify right))
    )
  )

  (symbol (lib_id "power:GND") (at 132.08 173.99 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 0025411b-9861-4f8c-bbf8-8e63a5d69b2d)
    (property "Reference" "#PWR0155" (at 132.08 180.34 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 132.08 179.07 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 132.08 173.99 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 132.08 173.99 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 0d631fda-500b-4355-ae7e-b0aa28438801))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/7bf89f48-7d56-4e8d-a964-e992a7bd7239"
          (reference "#PWR0155") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 147.32 163.83 90) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 011bf185-8d8d-4566-a36b-2e1457d536fb)
    (property "Reference" "#PWR0153" (at 153.67 163.83 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 151.13 164.465 90)
      (effects (font (size 1.27 1.27)) (justify right))
    )
    (property "Footprint" "" (at 147.32 163.83 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 147.32 163.83 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid a536f0a8-3632-48b4-959e-103b33624ff5))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/7bf89f48-7d56-4e8d-a964-e992a7bd7239"
          (reference "#PWR0153") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:VCC_GONK") (at 365.76 41.91 270) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 01c62776-3b41-4b5e-aad8-842e6f030927)
    (property "Reference" "#PWR0128" (at 361.95 41.91 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "VCC_GONK" (at 369.57 42.545 90)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "" (at 365.76 41.91 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 365.76 41.91 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 6c2d7009-0909-4a34-9cfd-0c56264959ad))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/7bf89f48-7d56-4e8d-a964-e992a7bd7239"
          (reference "#PWR0128") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:VCC_GONK") (at 365.76 217.17 270) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 050158d2-2038-4215-aacb-a92b1739f04f)
    (property "Reference" "#PWR066" (at 361.95 217.17 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "VCC_GONK" (at 369.57 217.805 90)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "" (at 365.76 217.17 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 365.76 217.17 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid ec91967a-b2f2-4d2d-b1d5-c6faf2e5619d))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/7bf89f48-7d56-4e8d-a964-e992a7bd7239"
          (reference "#PWR066") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R_Small_US") (at 71.12 115.57 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 0abe1dcd-f0cb-49c8-8818-ae6c0b457a00)
    (property "Reference" "R55" (at 66.04 114.3 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "10k" (at 66.04 116.84 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Resistor_SMD:R_0201_0603Metric" (at 71.12 115.57 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 71.12 115.57 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 59db8a5b-69ad-4789-b994-69f899e9bcb2))
    (pin "2" (uuid 8e340b52-d110-4b85-81b8-6b9a65667b50))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/7bf89f48-7d56-4e8d-a964-e992a7bd7239"
          (reference "R55") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:C_Small") (at 133.35 129.54 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 0c343f6c-03a8-4671-b40c-a9459685dc04)
    (property "Reference" "C57" (at 135.89 128.9113 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "100nF 0201" (at 135.89 130.81 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Capacitor_SMD:C_0201_0603Metric" (at 133.35 129.54 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 133.35 129.54 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid e3fb656e-9124-4d65-a73d-8e39b8f06416))
    (pin "2" (uuid 0b3cdfbe-22e7-4aa3-89d5-4e6be42c2acc))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/7bf89f48-7d56-4e8d-a964-e992a7bd7239"
          (reference "C57") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R_Small_US") (at 67.31 31.75 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 10f6d68a-645b-4f21-bab9-5ec24a845e9d)
    (property "Reference" "R52" (at 62.23 30.48 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "10k" (at 62.23 33.02 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Resistor_SMD:R_0201_0603Metric" (at 67.31 31.75 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 67.31 31.75 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid d8cfb8d0-c8a4-4d2a-b684-4c2fad4e35c7))
    (pin "2" (uuid 6b748386-7be7-4e23-acc4-b97341b00099))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/7bf89f48-7d56-4e8d-a964-e992a7bd7239"
          (reference "R52") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 379.73 130.81 90) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 12a67143-8112-4d7c-af4c-53dfd0343dcc)
    (property "Reference" "#PWR0147" (at 386.08 130.81 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 383.54 131.445 90)
      (effects (font (size 1.27 1.27)) (justify right))
    )
    (property "Footprint" "" (at 379.73 130.81 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 379.73 130.81 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid c2e26809-65f5-4ce1-8a8b-6e633773f2d9))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/7bf89f48-7d56-4e8d-a964-e992a7bd7239"
          (reference "#PWR0147") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:VCC_GONK") (at 134.62 166.37 270) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 17ceb7d0-3f5b-4967-9d3a-08de2066d2de)
    (property "Reference" "#PWR0154" (at 130.81 166.37 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "VCC_GONK" (at 138.43 167.005 90)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "" (at 134.62 166.37 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 134.62 166.37 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 962bbcd4-7c50-498e-bec2-3be7e109a0c0))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/7bf89f48-7d56-4e8d-a964-e992a7bd7239"
          (reference "#PWR0154") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 129.54 49.53 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 1aa9b491-3324-46ec-aa8f-3996e6e9d391)
    (property "Reference" "#PWR0129" (at 129.54 55.88 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 129.54 54.61 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 129.54 49.53 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 129.54 49.53 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 55b4ae7a-990d-4ac8-b9d8-10a99c498258))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/7bf89f48-7d56-4e8d-a964-e992a7bd7239"
          (reference "#PWR0129") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 363.22 224.79 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 1d3b2d05-5824-4857-87df-faeddc158b99)
    (property "Reference" "#PWR074" (at 363.22 231.14 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 363.22 229.87 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 363.22 224.79 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 363.22 224.79 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid a2673176-0c21-4d3b-ba1d-7d4c626526ce))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/7bf89f48-7d56-4e8d-a964-e992a7bd7239"
          (reference "#PWR074") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 133.35 133.35 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 24c0f0b1-b417-4e02-81a8-f8a9dee341e1)
    (property "Reference" "#PWR0149" (at 133.35 139.7 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 133.35 138.43 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 133.35 133.35 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 133.35 133.35 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 598d34d1-95d8-41e3-a8b5-de3f072dda3e))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/7bf89f48-7d56-4e8d-a964-e992a7bd7239"
          (reference "#PWR0149") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R_Small_US") (at 300.99 31.75 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 2724a4ea-a518-4765-9e2d-c4ede662cd09)
    (property "Reference" "R28" (at 295.91 30.48 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "10k" (at 295.91 33.02 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Resistor_SMD:R_0201_0603Metric" (at 300.99 31.75 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 300.99 31.75 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 1a19c41d-448d-4a51-921b-71e0d30842ba))
    (pin "2" (uuid 85fa90cf-ee60-4c63-ac44-6d64c64d4ccf))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/7bf89f48-7d56-4e8d-a964-e992a7bd7239"
          (reference "R28") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Power_Management:INA229AIDGSR") (at 99.06 199.39 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 2e85f08d-9ce2-4779-ae61-efc72db8cb78)
    (property "Reference" "U18" (at 114.3 193.04 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "INA229AIDGSR" (at 114.3 195.58 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Package_SO:10-VSSOP" (at 125.73 294.31 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Datasheet" "https://www.ti.com/lit/gpn/ina229" (at 125.73 394.31 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Height" "1.1" (at 125.73 594.31 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Manufacturer_Name" "Texas Instruments" (at 125.73 694.31 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Manufacturer_Part_Number" "INA229AIDGSR" (at 125.73 794.31 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Mouser Part Number" "595-INA229AIDGSR" (at 125.73 894.31 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Mouser Price/Stock" "https://www.mouser.co.uk/ProductDetail/Texas-Instruments/INA229AIDGSR?qs=eP2BKZSCXI5ILC1SU2n%2F2Q%3D%3D" (at 125.73 994.31 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Arrow Part Number" "INA229AIDGSR" (at 125.73 1094.31 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Arrow Price/Stock" "https://www.arrow.com/en/products/ina229aidgsr/texas-instruments?region=nac" (at 125.73 1194.31 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (pin "1" (uuid c8508b1d-0890-4149-973b-8702f2ece410))
    (pin "10" (uuid 96586df1-aee8-4f23-a1c4-85ad4bd2f519))
    (pin "2" (uuid 630f8cbb-c55f-4313-9eee-d59d820aef16))
    (pin "3" (uuid d8cd12fe-ce8f-43e9-9f17-32b9749a8338))
    (pin "4" (uuid 2e6a778e-82c6-4483-a40b-b099957ae713))
    (pin "5" (uuid bc648ccb-d556-4e26-8926-339cd012686c))
    (pin "6" (uuid e6f4c3de-63df-4a92-b00c-4a1c39707f4f))
    (pin "7" (uuid 3cf11f46-2aec-4c64-b33d-a445add7f5de))
    (pin "8" (uuid 80921a46-0473-48c8-b985-7c18595bf533))
    (pin "9" (uuid ea69be2f-9e06-4f06-9c42-fe61fb811bca))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/7bf89f48-7d56-4e8d-a964-e992a7bd7239"
          (reference "U18") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 364.49 140.97 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 3a7c6105-0935-4aa9-a21f-d975ec30bb09)
    (property "Reference" "#PWR0150" (at 364.49 147.32 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 364.49 146.05 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 364.49 140.97 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 364.49 140.97 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid e52a0aae-f127-46fe-8321-5d2ac876fa6e))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/7bf89f48-7d56-4e8d-a964-e992a7bd7239"
          (reference "#PWR0150") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R_Small_US") (at 300.99 77.47 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 3fc4732f-52d5-4f62-a090-aefaf19cb078)
    (property "Reference" "R54" (at 295.91 76.2 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "10k" (at 295.91 78.74 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Resistor_SMD:R_0201_0603Metric" (at 300.99 77.47 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 300.99 77.47 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid c294b040-9126-4b53-8a97-9f11bede5649))
    (pin "2" (uuid 515cd20b-d396-4862-80c0-039ecc6c69f7))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/7bf89f48-7d56-4e8d-a964-e992a7bd7239"
          (reference "R54") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:C_Small") (at 129.54 45.72 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 500185fa-86e0-4508-99f1-e2d81e5a0c04)
    (property "Reference" "C53" (at 132.08 45.0913 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "100nF 0201" (at 132.08 46.99 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Capacitor_SMD:C_0201_0603Metric" (at 129.54 45.72 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 129.54 45.72 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 83810ba1-f752-43d4-9ae8-5da76f30e6c6))
    (pin "2" (uuid 3cec2c62-7562-45d2-a505-b69b2c1d7cb8))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/7bf89f48-7d56-4e8d-a964-e992a7bd7239"
          (reference "C53") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:VCC_GONK") (at 367.03 133.35 270) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 50c9b8c5-2ab0-4da5-b498-66673a7e8c9e)
    (property "Reference" "#PWR0148" (at 363.22 133.35 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "VCC_GONK" (at 370.84 133.985 90)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "" (at 367.03 133.35 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 367.03 133.35 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid ea58c000-e9a6-4dd7-b34c-0fa192909798))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/7bf89f48-7d56-4e8d-a964-e992a7bd7239"
          (reference "#PWR0148") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 363.22 185.42 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 56ceb5c4-48a1-4dd6-9989-28a03bae4e6f)
    (property "Reference" "#PWR021" (at 363.22 191.77 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 363.22 190.5 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 363.22 185.42 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 363.22 185.42 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 293ac804-258a-4eba-b454-463d4d4a0a23))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/7bf89f48-7d56-4e8d-a964-e992a7bd7239"
          (reference "#PWR021") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:C_Small") (at 133.35 256.54 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 5ac3c7ee-f488-4995-b763-0a44fd26ba85)
    (property "Reference" "C63" (at 135.89 255.9113 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "100nF 0201" (at 135.89 257.81 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Capacitor_SMD:C_0201_0603Metric" (at 133.35 256.54 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 133.35 256.54 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 44afdc33-4eb3-427c-9bd2-3bdfab4a497c))
    (pin "2" (uuid c9405089-f093-48c9-b444-bd58a0248d95))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/7bf89f48-7d56-4e8d-a964-e992a7bd7239"
          (reference "C63") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Power_Management:INA229AIDGSR") (at 97.79 73.66 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 5b639552-76bf-4546-904d-f64608132c07)
    (property "Reference" "U12" (at 113.03 67.31 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "INA229AIDGSR" (at 113.03 69.85 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Package_SO:10-VSSOP" (at 124.46 168.58 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Datasheet" "https://www.ti.com/lit/gpn/ina229" (at 124.46 268.58 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Height" "1.1" (at 124.46 468.58 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Manufacturer_Name" "Texas Instruments" (at 124.46 568.58 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Manufacturer_Part_Number" "INA229AIDGSR" (at 124.46 668.58 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Mouser Part Number" "595-INA229AIDGSR" (at 124.46 768.58 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Mouser Price/Stock" "https://www.mouser.co.uk/ProductDetail/Texas-Instruments/INA229AIDGSR?qs=eP2BKZSCXI5ILC1SU2n%2F2Q%3D%3D" (at 124.46 868.58 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Arrow Part Number" "INA229AIDGSR" (at 124.46 968.58 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Arrow Price/Stock" "https://www.arrow.com/en/products/ina229aidgsr/texas-instruments?region=nac" (at 124.46 1068.58 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (pin "1" (uuid 587011b8-f836-4e80-8b1f-24d75f99bef0))
    (pin "10" (uuid 2c89b9a4-3717-4477-bc03-ef11f166192c))
    (pin "2" (uuid 32b0086c-ff26-4448-8f5f-6dcc3147a609))
    (pin "3" (uuid d97a926d-24a6-4ef1-99e5-3d5868d2e927))
    (pin "4" (uuid 7b32d0bd-5cdb-4d89-8526-2e760813a295))
    (pin "5" (uuid 29ff5e3a-13fd-4dab-85b9-5a4e8a6a42de))
    (pin "6" (uuid 98738d07-8579-4c19-96b3-a833f83b27db))
    (pin "7" (uuid d3d2149e-9b98-4cb6-bea3-b11620168d3b))
    (pin "8" (uuid 2b89bba6-51e2-4b45-a186-4ce39524b06f))
    (pin "9" (uuid f95b818e-43a0-40b0-94a9-d04143387b82))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/7bf89f48-7d56-4e8d-a964-e992a7bd7239"
          (reference "U12") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 363.22 49.53 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 60114e33-9cd4-43dc-a2a8-52331227aeee)
    (property "Reference" "#PWR0130" (at 363.22 55.88 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 363.22 54.61 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 363.22 49.53 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 363.22 49.53 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid cb57d24f-9d42-4932-8f36-50d91fa48729))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/7bf89f48-7d56-4e8d-a964-e992a7bd7239"
          (reference "#PWR0130") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:VCC_GONK") (at 134.62 209.55 270) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 61821cb2-024b-47e1-90e5-87ac860c2e1b)
    (property "Reference" "#PWR019" (at 130.81 209.55 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "VCC_GONK" (at 138.43 210.185 90)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "" (at 134.62 209.55 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 134.62 209.55 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid e62282ff-4d84-454a-8500-54b568e44b62))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/7bf89f48-7d56-4e8d-a964-e992a7bd7239"
          (reference "#PWR019") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 144.78 39.37 90) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 644e9092-786a-4e0f-b406-1377d4461a10)
    (property "Reference" "#PWR0124" (at 151.13 39.37 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 148.59 40.005 90)
      (effects (font (size 1.27 1.27)) (justify right))
    )
    (property "Footprint" "" (at 144.78 39.37 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 144.78 39.37 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 90559106-0f2b-488a-afa5-2a94aa1fac91))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/7bf89f48-7d56-4e8d-a964-e992a7bd7239"
          (reference "#PWR0124") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:VCC_GONK") (at 68.58 69.85 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 68840d62-2597-445e-989c-c64b53706ffa)
    (property "Reference" "#PWR0131" (at 68.58 73.66 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "VCC_GONK" (at 64.77 66.04 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "" (at 68.58 69.85 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 68.58 69.85 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 9d090fe0-2f92-4ed5-a7ac-da98e55d107b))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/7bf89f48-7d56-4e8d-a964-e992a7bd7239"
          (reference "#PWR0131") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:VCC_GONK") (at 365.76 87.63 270) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 68e99e8b-1012-400d-9df6-a68f54530bc2)
    (property "Reference" "#PWR0138" (at 361.95 87.63 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "VCC_GONK" (at 369.57 88.265 90)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "" (at 365.76 87.63 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 365.76 87.63 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 8d1ca04b-18bc-488a-bb15-ec87c24db99c))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/7bf89f48-7d56-4e8d-a964-e992a7bd7239"
          (reference "#PWR0138") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:C_Small") (at 364.49 137.16 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 68f157ee-f815-4596-9cd3-e1697cf7b197)
    (property "Reference" "C58" (at 367.03 136.5313 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "100nF 0201" (at 367.03 138.43 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Capacitor_SMD:C_0201_0603Metric" (at 364.49 137.16 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 364.49 137.16 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 1166dc91-62d6-4b41-b3d0-455cf8a0efc3))
    (pin "2" (uuid e24a73b6-a20e-48d5-8dd9-cb804b1ba603))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/7bf89f48-7d56-4e8d-a964-e992a7bd7239"
          (reference "C58") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Power_Management:INA229AIDGSR") (at 330.2 207.01 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 69a5406a-242c-42ed-b682-5fd331946427)
    (property "Reference" "U19" (at 345.44 200.66 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "INA229AIDGSR" (at 345.44 203.2 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Package_SO:10-VSSOP" (at 356.87 301.93 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Datasheet" "https://www.ti.com/lit/gpn/ina229" (at 356.87 401.93 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Height" "1.1" (at 356.87 601.93 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Manufacturer_Name" "Texas Instruments" (at 356.87 701.93 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Manufacturer_Part_Number" "INA229AIDGSR" (at 356.87 801.93 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Mouser Part Number" "595-INA229AIDGSR" (at 356.87 901.93 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Mouser Price/Stock" "https://www.mouser.co.uk/ProductDetail/Texas-Instruments/INA229AIDGSR?qs=eP2BKZSCXI5ILC1SU2n%2F2Q%3D%3D" (at 356.87 1001.93 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Arrow Part Number" "INA229AIDGSR" (at 356.87 1101.93 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Arrow Price/Stock" "https://www.arrow.com/en/products/ina229aidgsr/texas-instruments?region=nac" (at 356.87 1201.93 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (pin "1" (uuid 97269169-21ce-4981-a4ba-796785a3ac9d))
    (pin "10" (uuid 058e0f73-932b-4f2d-8a26-0249d8c346f7))
    (pin "2" (uuid a0e13c70-a0e3-4e1f-ac82-017258b2123d))
    (pin "3" (uuid 9a96de39-dae6-475d-b5ef-6210fdd9a388))
    (pin "4" (uuid 78de021a-1107-417f-94f2-fef738e18a5e))
    (pin "5" (uuid 62d1babe-f317-4f74-8195-f29b1ba61134))
    (pin "6" (uuid 81483859-c709-4b75-81a6-09b80c1098b2))
    (pin "7" (uuid ae5e88cf-f2dc-4b6b-abff-9712fd618e6f))
    (pin "8" (uuid e1e8b587-a2e6-455b-9a30-1250734a3bb1))
    (pin "9" (uuid 7cf12d90-cbaa-4a36-933b-22ba19682693))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/7bf89f48-7d56-4e8d-a964-e992a7bd7239"
          (reference "U19") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 378.46 39.37 90) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 6a68e0f0-9062-49ef-90ca-90d9e47e3cb6)
    (property "Reference" "#PWR0127" (at 384.81 39.37 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 382.27 40.005 90)
      (effects (font (size 1.27 1.27)) (justify right))
    )
    (property "Footprint" "" (at 378.46 39.37 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 378.46 39.37 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid dfeb4b22-395f-4ccf-8d20-f14039da7509))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/7bf89f48-7d56-4e8d-a964-e992a7bd7239"
          (reference "#PWR0127") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 378.46 85.09 90) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 6c13afc4-70b3-4166-8592-8169256284ba)
    (property "Reference" "#PWR0136" (at 384.81 85.09 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 382.27 85.725 90)
      (effects (font (size 1.27 1.27)) (justify right))
    )
    (property "Footprint" "" (at 378.46 85.09 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 378.46 85.09 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 3faca953-e010-4d6e-8269-fbbc051fad4d))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/7bf89f48-7d56-4e8d-a964-e992a7bd7239"
          (reference "#PWR0136") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Power_Management:INA229AIDGSR") (at 100.33 115.57 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 6ec5b9bb-5b81-409c-8016-b311ba06492d)
    (property "Reference" "U14" (at 115.57 109.22 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "INA229AIDGSR" (at 115.57 111.76 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Package_SO:10-VSSOP" (at 127 210.49 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Datasheet" "https://www.ti.com/lit/gpn/ina229" (at 127 310.49 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Height" "1.1" (at 127 510.49 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Manufacturer_Name" "Texas Instruments" (at 127 610.49 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Manufacturer_Part_Number" "INA229AIDGSR" (at 127 710.49 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Mouser Part Number" "595-INA229AIDGSR" (at 127 810.49 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Mouser Price/Stock" "https://www.mouser.co.uk/ProductDetail/Texas-Instruments/INA229AIDGSR?qs=eP2BKZSCXI5ILC1SU2n%2F2Q%3D%3D" (at 127 910.49 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Arrow Part Number" "INA229AIDGSR" (at 127 1010.49 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Arrow Price/Stock" "https://www.arrow.com/en/products/ina229aidgsr/texas-instruments?region=nac" (at 127 1110.49 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (pin "1" (uuid 507744ea-630a-4aed-8e79-48c03a37c492))
    (pin "10" (uuid b7f6e114-59aa-4c4a-8e21-4f33cbf91474))
    (pin "2" (uuid 168477bd-bfec-4a16-aede-92d0bc8f5818))
    (pin "3" (uuid b5d8e5e2-1a20-4f83-be93-95b6c431ceaa))
    (pin "4" (uuid c2019362-cce3-420f-b5e5-c50bcc523611))
    (pin "5" (uuid 3a9d9812-685c-4308-96e5-c4609654ad86))
    (pin "6" (uuid 5011bede-7e76-4fd4-bde5-5d7208ec652d))
    (pin "7" (uuid dc42c35f-ba45-416b-ae2f-98902dd21403))
    (pin "8" (uuid d6c415a4-3135-47d7-937c-10654dd7efe3))
    (pin "9" (uuid d9f52f85-68bc-4c44-b71b-75e56c33ac81))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/7bf89f48-7d56-4e8d-a964-e992a7bd7239"
          (reference "U14") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R_Small_US") (at 302.26 123.19 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 7ca75755-e2ef-4f54-80d8-285587a2e6f7)
    (property "Reference" "R56" (at 297.18 121.92 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "10k" (at 297.18 124.46 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Resistor_SMD:R_0201_0603Metric" (at 302.26 123.19 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 302.26 123.19 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 5022e613-7289-428b-ba17-62c4fb85157b))
    (pin "2" (uuid fa5a2373-0fda-4983-b524-f05f9a4504b5))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/7bf89f48-7d56-4e8d-a964-e992a7bd7239"
          (reference "R56") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:VCC_GONK") (at 365.76 177.8 270) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 7f27871d-856b-458e-9c41-baa78f85faef)
    (property "Reference" "#PWR015" (at 361.95 177.8 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "VCC_GONK" (at 369.57 178.435 90)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "" (at 365.76 177.8 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 365.76 177.8 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 5430d435-25f6-4524-bdf8-d89355634d94))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/7bf89f48-7d56-4e8d-a964-e992a7bd7239"
          (reference "#PWR015") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:VCC_GONK") (at 300.99 73.66 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 8283526c-7baf-411b-8e44-63ef11e46d76)
    (property "Reference" "#PWR088" (at 300.99 77.47 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "VCC_GONK" (at 297.18 69.85 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "" (at 300.99 73.66 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 300.99 73.66 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 3095870f-be4b-4567-bbd8-54ca6234cba6))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/7bf89f48-7d56-4e8d-a964-e992a7bd7239"
          (reference "#PWR088") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 148.59 250.19 90) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 8418ae54-0b45-4d6b-8847-5b35eff954fc)
    (property "Reference" "#PWR070" (at 154.94 250.19 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 152.4 250.825 90)
      (effects (font (size 1.27 1.27)) (justify right))
    )
    (property "Footprint" "" (at 148.59 250.19 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 148.59 250.19 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 0cac22c3-3f78-4504-b779-9b4651b69de1))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/7bf89f48-7d56-4e8d-a964-e992a7bd7239"
          (reference "#PWR070") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Power_Management:INA229AIDGSR") (at 100.33 242.57 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 85128af5-fba4-44e5-9c51-b6929e790d35)
    (property "Reference" "U20" (at 115.57 236.22 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "INA229AIDGSR" (at 115.57 238.76 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Package_SO:10-VSSOP" (at 127 337.49 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Datasheet" "https://www.ti.com/lit/gpn/ina229" (at 127 437.49 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Height" "1.1" (at 127 637.49 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Manufacturer_Name" "Texas Instruments" (at 127 737.49 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Manufacturer_Part_Number" "INA229AIDGSR" (at 127 837.49 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Mouser Part Number" "595-INA229AIDGSR" (at 127 937.49 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Mouser Price/Stock" "https://www.mouser.co.uk/ProductDetail/Texas-Instruments/INA229AIDGSR?qs=eP2BKZSCXI5ILC1SU2n%2F2Q%3D%3D" (at 127 1037.49 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Arrow Part Number" "INA229AIDGSR" (at 127 1137.49 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Arrow Price/Stock" "https://www.arrow.com/en/products/ina229aidgsr/texas-instruments?region=nac" (at 127 1237.49 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (pin "1" (uuid ce818583-b9a4-4d20-8c4a-6f57b673d51d))
    (pin "10" (uuid e5f83fe4-1bae-4503-bc19-e20c5f19f1b9))
    (pin "2" (uuid 9bae5fe9-60e0-4a25-9acf-725ef4c8ad35))
    (pin "3" (uuid db53ac87-3f95-4fab-a042-e208ff446e5f))
    (pin "4" (uuid 61705612-1a57-446e-8a27-36ad2e2fb849))
    (pin "5" (uuid 6e163696-6041-474b-8192-0d10820c0b2f))
    (pin "6" (uuid 463034b2-ae6f-4284-abc7-6f61cb9596b4))
    (pin "7" (uuid e730c1fc-4a7a-46d8-b06b-55741df14cb1))
    (pin "8" (uuid 2f3c74bc-c5e3-4c8f-846b-417763311b55))
    (pin "9" (uuid 932f321f-d845-4a98-bd90-8bb7a39699cb))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/7bf89f48-7d56-4e8d-a964-e992a7bd7239"
          (reference "U20") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:VCC_GONK") (at 135.89 125.73 270) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 8c4f684f-6aed-40d7-9cca-6a15857106b7)
    (property "Reference" "#PWR0146" (at 132.08 125.73 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "VCC_GONK" (at 139.7 126.365 90)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "" (at 135.89 125.73 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 135.89 125.73 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid d21cccbb-bce5-42d3-8988-3cd964846ae0))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/7bf89f48-7d56-4e8d-a964-e992a7bd7239"
          (reference "#PWR0146") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:C_Small") (at 363.22 181.61 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 8da6ad5b-a378-4962-8ea4-d9d0016f2b96)
    (property "Reference" "C60" (at 365.76 180.9813 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "100nF 0201" (at 365.76 182.88 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Capacitor_SMD:C_0201_0603Metric" (at 363.22 181.61 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 363.22 181.61 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 26337de4-c8b8-49a0-aed5-8c571bc5d40c))
    (pin "2" (uuid 47ac4ecc-8890-4d6f-8676-91c853195327))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/7bf89f48-7d56-4e8d-a964-e992a7bd7239"
          (reference "C60") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R_Small_US") (at 300.99 207.01 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 90b5e694-f699-4ff4-9966-fedb0f2626c1)
    (property "Reference" "R60" (at 295.91 205.74 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "10k" (at 295.91 208.28 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Resistor_SMD:R_0201_0603Metric" (at 300.99 207.01 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 300.99 207.01 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid b33cdd1d-2c58-4b30-9be0-4123c1b8eb42))
    (pin "2" (uuid 3a64722c-bfe8-4e13-8710-8c61a2b06560))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/7bf89f48-7d56-4e8d-a964-e992a7bd7239"
          (reference "R60") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 146.05 81.28 90) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 92a5ff4d-b40f-4b48-b3c4-c94e6564569a)
    (property "Reference" "#PWR0135" (at 152.4 81.28 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 149.86 81.915 90)
      (effects (font (size 1.27 1.27)) (justify right))
    )
    (property "Footprint" "" (at 146.05 81.28 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 146.05 81.28 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 5a3c359f-bd33-4969-8c0d-cf5c50de5cb3))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/7bf89f48-7d56-4e8d-a964-e992a7bd7239"
          (reference "#PWR0135") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:VCC_GONK") (at 300.99 163.83 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 938c41f4-1c0f-4ded-8686-ef7ad6cf45c8)
    (property "Reference" "#PWR01" (at 300.99 167.64 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "VCC_GONK" (at 297.18 160.02 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "" (at 300.99 163.83 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 300.99 163.83 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid d2198dcc-bdfe-4a44-a8c5-747a76f73bcd))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/7bf89f48-7d56-4e8d-a964-e992a7bd7239"
          (reference "#PWR01") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:VCC_GONK") (at 133.35 83.82 270) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 97b4b0c3-b3be-45d3-840c-981ba2373534)
    (property "Reference" "#PWR0137" (at 129.54 83.82 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "VCC_GONK" (at 137.16 84.455 90)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "" (at 133.35 83.82 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 133.35 83.82 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 85fafafa-8db6-43a9-bf43-cf508e0ea9c1))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/7bf89f48-7d56-4e8d-a964-e992a7bd7239"
          (reference "#PWR0137") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Power_Management:INA229AIDGSR") (at 330.2 77.47 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 97c0e826-e968-46ef-832a-384c8c14943f)
    (property "Reference" "U13" (at 345.44 71.12 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "INA229AIDGSR" (at 345.44 73.66 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Package_SO:10-VSSOP" (at 356.87 172.39 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Datasheet" "https://www.ti.com/lit/gpn/ina229" (at 356.87 272.39 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Height" "1.1" (at 356.87 472.39 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Manufacturer_Name" "Texas Instruments" (at 356.87 572.39 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Manufacturer_Part_Number" "INA229AIDGSR" (at 356.87 672.39 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Mouser Part Number" "595-INA229AIDGSR" (at 356.87 772.39 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Mouser Price/Stock" "https://www.mouser.co.uk/ProductDetail/Texas-Instruments/INA229AIDGSR?qs=eP2BKZSCXI5ILC1SU2n%2F2Q%3D%3D" (at 356.87 872.39 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Arrow Part Number" "INA229AIDGSR" (at 356.87 972.39 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Arrow Price/Stock" "https://www.arrow.com/en/products/ina229aidgsr/texas-instruments?region=nac" (at 356.87 1072.39 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (pin "1" (uuid dd58b5cf-058e-4787-9e75-9c77ba2ed24b))
    (pin "10" (uuid cea739c3-eb94-46c1-9ae9-b4b928e21b63))
    (pin "2" (uuid 5631c378-7860-4574-9a69-47aefc0482dd))
    (pin "3" (uuid 99c6c37e-3da8-4114-9745-9e406d72e20f))
    (pin "4" (uuid f32f191d-ae50-458e-b46c-882cd12bb8f6))
    (pin "5" (uuid c4f6552a-0c38-40bc-a5b5-bf0f3f1c4ab0))
    (pin "6" (uuid c2926dbd-7d2c-4333-9375-9285d535d6b2))
    (pin "7" (uuid 41c23dbf-c656-4f43-95cf-147d7ff68a63))
    (pin "8" (uuid 1482f7fc-98c1-4972-b8c2-495f50763772))
    (pin "9" (uuid fae4e1e6-3637-414d-b0db-5f752ab9fd6f))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/7bf89f48-7d56-4e8d-a964-e992a7bd7239"
          (reference "U13") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:C_Small") (at 363.22 91.44 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 9d12feda-6616-4921-966a-73a5bfc70bc9)
    (property "Reference" "C56" (at 365.76 90.8113 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "100nF 0201" (at 365.76 92.71 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Capacitor_SMD:C_0201_0603Metric" (at 363.22 91.44 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 363.22 91.44 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 128bf12d-362b-4366-ac6a-1a60833eba80))
    (pin "2" (uuid eb05f846-7601-48bf-8a1e-1325debf0026))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/7bf89f48-7d56-4e8d-a964-e992a7bd7239"
          (reference "C56") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R_Small_US") (at 300.99 167.64 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 9d7f3f5d-8841-4341-ad44-019dd3864467)
    (property "Reference" "R58" (at 295.91 166.37 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "10k" (at 295.91 168.91 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Resistor_SMD:R_0201_0603Metric" (at 300.99 167.64 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 300.99 167.64 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 0670ba3b-c6a7-44fb-823e-56aff687021e))
    (pin "2" (uuid 74bc9db3-4176-4bbc-a6a4-742917d172c2))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/7bf89f48-7d56-4e8d-a964-e992a7bd7239"
          (reference "R58") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R_Small_US") (at 71.12 242.57 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 9f84e4c1-a97c-46a3-a046-32bec3c77dca)
    (property "Reference" "R61" (at 66.04 241.3 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "10k" (at 66.04 243.84 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Resistor_SMD:R_0201_0603Metric" (at 71.12 242.57 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 71.12 242.57 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid e9381543-16cd-4888-90ce-f0e45313acbe))
    (pin "2" (uuid 8b416f53-6224-44a4-aeab-3bf94db76e65))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/7bf89f48-7d56-4e8d-a964-e992a7bd7239"
          (reference "R61") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:C_Small") (at 132.08 170.18 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid a75b4ea9-4d23-450d-b0ad-669614aedd3d)
    (property "Reference" "C59" (at 134.62 169.5513 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "100nF 0201" (at 134.62 171.45 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Capacitor_SMD:C_0201_0603Metric" (at 132.08 170.18 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 132.08 170.18 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 53d9031b-9cea-4c9d-814e-f234ed6195e7))
    (pin "2" (uuid 460b4cec-f320-48cb-a616-8cb25b23268a))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/7bf89f48-7d56-4e8d-a964-e992a7bd7239"
          (reference "C59") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 132.08 217.17 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid a7bcc311-ca04-4c1d-93f1-8a8fa896fd55)
    (property "Reference" "#PWR060" (at 132.08 223.52 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 132.08 222.25 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 132.08 217.17 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 132.08 217.17 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 6e8ccdaf-0ced-46ae-a732-64aff7520909))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/7bf89f48-7d56-4e8d-a964-e992a7bd7239"
          (reference "#PWR060") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:VCC_GONK") (at 67.31 27.94 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid ab16db0f-ddfb-406b-af8f-e51144e592b3)
    (property "Reference" "#PWR0121" (at 67.31 31.75 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "VCC_GONK" (at 63.5 24.13 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "" (at 67.31 27.94 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 67.31 27.94 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 6edaae3c-564c-4f98-85fd-839eb9732e6d))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/7bf89f48-7d56-4e8d-a964-e992a7bd7239"
          (reference "#PWR0121") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 147.32 207.01 90) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid ac6f57cb-da4b-4a6e-ac73-954cd9db80f8)
    (property "Reference" "#PWR017" (at 153.67 207.01 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 151.13 207.645 90)
      (effects (font (size 1.27 1.27)) (justify right))
    )
    (property "Footprint" "" (at 147.32 207.01 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 147.32 207.01 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 842488c9-eee0-4625-8a17-43dd43aa75ad))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/7bf89f48-7d56-4e8d-a964-e992a7bd7239"
          (reference "#PWR017") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Power_Management:INA229AIDGSR") (at 330.2 31.75 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid b3876970-f2c0-48b2-b2a9-feebf3830cae)
    (property "Reference" "U11" (at 345.44 25.4 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "INA229AIDGSR" (at 345.44 27.94 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Package_SO:10-VSSOP" (at 356.87 126.67 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Datasheet" "https://www.ti.com/lit/gpn/ina229" (at 356.87 226.67 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Height" "1.1" (at 356.87 426.67 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Manufacturer_Name" "Texas Instruments" (at 356.87 526.67 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Manufacturer_Part_Number" "INA229AIDGSR" (at 356.87 626.67 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Mouser Part Number" "595-INA229AIDGSR" (at 356.87 726.67 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Mouser Price/Stock" "https://www.mouser.co.uk/ProductDetail/Texas-Instruments/INA229AIDGSR?qs=eP2BKZSCXI5ILC1SU2n%2F2Q%3D%3D" (at 356.87 826.67 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Arrow Part Number" "INA229AIDGSR" (at 356.87 926.67 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Arrow Price/Stock" "https://www.arrow.com/en/products/ina229aidgsr/texas-instruments?region=nac" (at 356.87 1026.67 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (pin "1" (uuid ab65bb61-bba6-4164-af0b-67acd16829cb))
    (pin "10" (uuid 3f9c802d-21cc-4e17-b042-9593c2dd9e80))
    (pin "2" (uuid 1e517da1-9874-494d-badf-313bbec4e7cf))
    (pin "3" (uuid 169f41aa-2e4c-41a9-af20-71c8bbceef6f))
    (pin "4" (uuid 7f784567-756b-4c9a-921b-efc8b2ca2791))
    (pin "5" (uuid efcc0ab8-cedd-4cab-b1d3-1c5c6a948690))
    (pin "6" (uuid 7e46b6c8-bc4d-4521-b711-e6d8b6ea1f47))
    (pin "7" (uuid 233f4417-7afa-472c-b8ab-d2930dd8937e))
    (pin "8" (uuid 84e2973d-efa1-4297-8403-08e09d81efd9))
    (pin "9" (uuid 37d75669-dd65-404d-b50c-b2679d535d85))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/7bf89f48-7d56-4e8d-a964-e992a7bd7239"
          (reference "U11") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:VCC_GONK") (at 69.85 195.58 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid b6c06ef7-033e-4fc5-bac4-4830706fa5e6)
    (property "Reference" "#PWR04" (at 69.85 199.39 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "VCC_GONK" (at 66.04 191.77 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "" (at 69.85 195.58 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 69.85 195.58 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 255f048a-2502-421e-a4b2-dd3fa7961e35))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/7bf89f48-7d56-4e8d-a964-e992a7bd7239"
          (reference "#PWR04") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 133.35 260.35 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid ba17304c-60c4-44a5-8baa-44e2c81dbc50)
    (property "Reference" "#PWR075" (at 133.35 266.7 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 133.35 265.43 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 133.35 260.35 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 133.35 260.35 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid d76bcb5b-1ffb-439a-bdda-89e5f94406d5))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/7bf89f48-7d56-4e8d-a964-e992a7bd7239"
          (reference "#PWR075") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Power_Management:INA229AIDGSR") (at 99.06 156.21 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid c92835ae-71f7-4e38-ba2b-8891cf7f98e6)
    (property "Reference" "U16" (at 114.3 149.86 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "INA229AIDGSR" (at 114.3 152.4 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Package_SO:10-VSSOP" (at 125.73 251.13 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Datasheet" "https://www.ti.com/lit/gpn/ina229" (at 125.73 351.13 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Height" "1.1" (at 125.73 551.13 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Manufacturer_Name" "Texas Instruments" (at 125.73 651.13 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Manufacturer_Part_Number" "INA229AIDGSR" (at 125.73 751.13 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Mouser Part Number" "595-INA229AIDGSR" (at 125.73 851.13 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Mouser Price/Stock" "https://www.mouser.co.uk/ProductDetail/Texas-Instruments/INA229AIDGSR?qs=eP2BKZSCXI5ILC1SU2n%2F2Q%3D%3D" (at 125.73 951.13 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Arrow Part Number" "INA229AIDGSR" (at 125.73 1051.13 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Arrow Price/Stock" "https://www.arrow.com/en/products/ina229aidgsr/texas-instruments?region=nac" (at 125.73 1151.13 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (pin "1" (uuid d1221121-3eb4-434c-b3e9-346762b4c23b))
    (pin "10" (uuid 5102e0b0-631b-4fa4-9794-0efa130e0e2e))
    (pin "2" (uuid eb1a4f37-d750-4cc2-9a28-05488bd2336f))
    (pin "3" (uuid d8548a5a-3281-4bb9-856c-71de9c2167be))
    (pin "4" (uuid c10114e2-5e72-49f2-a372-b18d7386109e))
    (pin "5" (uuid 7880f82a-fb3a-4905-af48-cf5c7ffe4504))
    (pin "6" (uuid cd7fe95a-23ed-4818-b49f-7c0b7a4777f1))
    (pin "7" (uuid 7d9aaf2b-fdaf-4fff-b9bd-72730c878f4f))
    (pin "8" (uuid 8b913d2a-92a0-4684-9351-00ab31ad7074))
    (pin "9" (uuid 20ce909a-fd11-461d-9909-8842d99a47d6))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/7bf89f48-7d56-4e8d-a964-e992a7bd7239"
          (reference "U16") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 130.81 91.44 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid cd9605a0-b037-44fe-85c7-5e87b3cedfb3)
    (property "Reference" "#PWR0139" (at 130.81 97.79 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 130.81 96.52 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 130.81 91.44 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 130.81 91.44 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid d7fa12b3-e063-4c7c-9559-6550934ff18b))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/7bf89f48-7d56-4e8d-a964-e992a7bd7239"
          (reference "#PWR0139") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:VCC_GONK") (at 300.99 203.2 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid cda16864-d018-4057-9d93-bf065754fc60)
    (property "Reference" "#PWR061" (at 300.99 207.01 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "VCC_GONK" (at 297.18 199.39 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "" (at 300.99 203.2 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 300.99 203.2 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 2cfa5c03-0e88-43fd-8571-2d354862a97b))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/7bf89f48-7d56-4e8d-a964-e992a7bd7239"
          (reference "#PWR061") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:C_Small") (at 363.22 45.72 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid ced81e7a-3207-4c1a-9b25-3c0d3468da91)
    (property "Reference" "C54" (at 365.76 45.0913 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "100nF 0201" (at 365.76 46.99 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Capacitor_SMD:C_0201_0603Metric" (at 363.22 45.72 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 363.22 45.72 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 368f3d53-9175-44b5-bcb2-7ff0496eae44))
    (pin "2" (uuid 39e861d1-f5b3-4431-b75b-bdcc9402f239))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/7bf89f48-7d56-4e8d-a964-e992a7bd7239"
          (reference "C54") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Power_Management:INA229AIDGSR") (at 96.52 31.75 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid d03a946c-6ea3-428f-a837-7d626e9f7e36)
    (property "Reference" "U10" (at 111.76 25.4 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "INA229AIDGSR" (at 111.76 27.94 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Package_SO:10-VSSOP" (at 123.19 126.67 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Datasheet" "https://www.ti.com/lit/gpn/ina229" (at 123.19 226.67 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Height" "1.1" (at 123.19 426.67 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Manufacturer_Name" "Texas Instruments" (at 123.19 526.67 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Manufacturer_Part_Number" "INA229AIDGSR" (at 123.19 626.67 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Mouser Part Number" "595-INA229AIDGSR" (at 123.19 726.67 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Mouser Price/Stock" "https://www.mouser.co.uk/ProductDetail/Texas-Instruments/INA229AIDGSR?qs=eP2BKZSCXI5ILC1SU2n%2F2Q%3D%3D" (at 123.19 826.67 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Arrow Part Number" "INA229AIDGSR" (at 123.19 926.67 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Arrow Price/Stock" "https://www.arrow.com/en/products/ina229aidgsr/texas-instruments?region=nac" (at 123.19 1026.67 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (pin "1" (uuid 6a522e77-8951-40c7-b1ca-102936fa148b))
    (pin "10" (uuid 6e59d56a-474e-40bd-bee9-46a04236ca7c))
    (pin "2" (uuid 6144b48e-5b40-4009-b302-97c38c2de5c5))
    (pin "3" (uuid 9098fe19-26b8-4d2c-8705-e7e9ea80b56d))
    (pin "4" (uuid 443d1f26-ccb8-4800-bb1b-649f84c8c568))
    (pin "5" (uuid 152893d5-9a51-40e8-8d3e-4a10ab954b92))
    (pin "6" (uuid 2f3e7d28-ba2f-463e-9c3b-6ef1e676afe9))
    (pin "7" (uuid 56a7f7f4-9314-4d4d-bb93-6b6a50bceb72))
    (pin "8" (uuid a1caf1b2-8463-498b-a12c-24916b128848))
    (pin "9" (uuid 67835e8e-e623-47d0-82a0-c6fd26dcd947))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/7bf89f48-7d56-4e8d-a964-e992a7bd7239"
          (reference "U10") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:VCC_GONK") (at 135.89 252.73 270) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid d3dc3125-9f67-41f2-b348-56930a5298a5)
    (property "Reference" "#PWR071" (at 132.08 252.73 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "VCC_GONK" (at 139.7 253.365 90)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "" (at 135.89 252.73 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 135.89 252.73 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 3f55f41c-6132-4f6d-ae94-4790bbd3cf77))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/7bf89f48-7d56-4e8d-a964-e992a7bd7239"
          (reference "#PWR071") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R_Small_US") (at 69.85 156.21 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid d573087a-b503-43b8-8fc3-732f2d39657e)
    (property "Reference" "R57" (at 64.77 154.94 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "10k" (at 64.77 157.48 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Resistor_SMD:R_0201_0603Metric" (at 69.85 156.21 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 69.85 156.21 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid c0646350-977c-4af2-b1d7-5606d3b420a8))
    (pin "2" (uuid eed7a983-6482-4c89-981b-e890e4b48b28))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/7bf89f48-7d56-4e8d-a964-e992a7bd7239"
          (reference "R57") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Power_Management:INA229AIDGSR") (at 331.47 123.19 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid d873ff44-346d-4919-b082-16f4bbfb4a5e)
    (property "Reference" "U15" (at 346.71 116.84 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "INA229AIDGSR" (at 346.71 119.38 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Package_SO:10-VSSOP" (at 358.14 218.11 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Datasheet" "https://www.ti.com/lit/gpn/ina229" (at 358.14 318.11 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Height" "1.1" (at 358.14 518.11 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Manufacturer_Name" "Texas Instruments" (at 358.14 618.11 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Manufacturer_Part_Number" "INA229AIDGSR" (at 358.14 718.11 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Mouser Part Number" "595-INA229AIDGSR" (at 358.14 818.11 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Mouser Price/Stock" "https://www.mouser.co.uk/ProductDetail/Texas-Instruments/INA229AIDGSR?qs=eP2BKZSCXI5ILC1SU2n%2F2Q%3D%3D" (at 358.14 918.11 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Arrow Part Number" "INA229AIDGSR" (at 358.14 1018.11 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Arrow Price/Stock" "https://www.arrow.com/en/products/ina229aidgsr/texas-instruments?region=nac" (at 358.14 1118.11 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (pin "1" (uuid 03dee3a9-b43a-4e0f-a748-362a897a6e49))
    (pin "10" (uuid bc8648ef-25b9-4e2e-b591-6b6682962526))
    (pin "2" (uuid d926eb5d-098a-4f31-8aef-d6930acb7f2b))
    (pin "3" (uuid ba9c733f-04c6-4b61-a292-67fa5f4f3026))
    (pin "4" (uuid 24866470-3d33-4002-a3c1-343ea6439a52))
    (pin "5" (uuid f0ee7104-87e8-4435-95e1-1e21caa565d0))
    (pin "6" (uuid 80eb1d04-644f-4f30-a690-983572b9a133))
    (pin "7" (uuid 0b9973d2-97c9-4d30-a242-5209579f463f))
    (pin "8" (uuid d5c3304e-a2b2-4a42-a574-e3517df271c3))
    (pin "9" (uuid 3e96057f-39a9-4247-a136-f0b43521fc6d))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/7bf89f48-7d56-4e8d-a964-e992a7bd7239"
          (reference "U15") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:C_Small") (at 363.22 220.98 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid dae956a0-f72d-44c7-acce-46a748fc7336)
    (property "Reference" "C62" (at 365.76 220.3513 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "100nF 0201" (at 365.76 222.25 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Capacitor_SMD:C_0201_0603Metric" (at 363.22 220.98 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 363.22 220.98 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 1c826354-5055-48ac-a531-78311c5ce161))
    (pin "2" (uuid f91093ad-c68a-4bf9-a864-99b955177e20))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/7bf89f48-7d56-4e8d-a964-e992a7bd7239"
          (reference "C62") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:VCC_GONK") (at 69.85 152.4 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid dc007e64-e387-48c2-a685-5b03a5504a13)
    (property "Reference" "#PWR090" (at 69.85 156.21 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "VCC_GONK" (at 66.04 148.59 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "" (at 69.85 152.4 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 69.85 152.4 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 6882d6eb-346b-4bea-9443-d7464a349ce8))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/7bf89f48-7d56-4e8d-a964-e992a7bd7239"
          (reference "#PWR090") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R_Small_US") (at 69.85 199.39 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid dca5f71e-dae0-4c6c-b79f-50936e309173)
    (property "Reference" "R59" (at 64.77 198.12 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "10k" (at 64.77 200.66 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Resistor_SMD:R_0201_0603Metric" (at 69.85 199.39 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 69.85 199.39 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid cd142273-66d6-4e87-a618-49ab63123502))
    (pin "2" (uuid f226f78a-9c0c-47e3-8df0-d36ae30cda94))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/7bf89f48-7d56-4e8d-a964-e992a7bd7239"
          (reference "R59") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:VCC_GONK") (at 71.12 238.76 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid e0136bb7-aeca-4aeb-8380-05074826b4d5)
    (property "Reference" "#PWR062" (at 71.12 242.57 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "VCC_GONK" (at 67.31 234.95 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "" (at 71.12 238.76 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 71.12 238.76 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid bf70dc10-93da-4c8e-a02a-f10de89ae838))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/7bf89f48-7d56-4e8d-a964-e992a7bd7239"
          (reference "#PWR062") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:VCC_GONK") (at 71.12 111.76 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid e24baf8a-e5bf-401c-8000-fc6864e8f7b5)
    (property "Reference" "#PWR091" (at 71.12 115.57 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "VCC_GONK" (at 67.31 107.95 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "" (at 71.12 111.76 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 71.12 111.76 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid f385c164-f325-4f14-8f1e-e49e01de68bf))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/7bf89f48-7d56-4e8d-a964-e992a7bd7239"
          (reference "#PWR091") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:VCC_GONK") (at 132.08 41.91 270) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid e46a4f25-44f0-4f78-b032-99988c7c4a01)
    (property "Reference" "#PWR0126" (at 128.27 41.91 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "VCC_GONK" (at 135.89 42.545 90)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "" (at 132.08 41.91 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 132.08 41.91 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 09deefb7-0d62-4a13-8380-72a5b6aa70e1))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/7bf89f48-7d56-4e8d-a964-e992a7bd7239"
          (reference "#PWR0126") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 378.46 175.26 90) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid e57b5142-4d46-4178-a76a-727ece581d76)
    (property "Reference" "#PWR09" (at 384.81 175.26 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 382.27 175.895 90)
      (effects (font (size 1.27 1.27)) (justify right))
    )
    (property "Footprint" "" (at 378.46 175.26 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 378.46 175.26 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid efd96cd0-e352-4069-8b28-879d551e92ce))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/7bf89f48-7d56-4e8d-a964-e992a7bd7239"
          (reference "#PWR09") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 148.59 123.19 90) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid e599a1ed-67f6-48f1-a294-687841f95038)
    (property "Reference" "#PWR0144" (at 154.94 123.19 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 152.4 123.825 90)
      (effects (font (size 1.27 1.27)) (justify right))
    )
    (property "Footprint" "" (at 148.59 123.19 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 148.59 123.19 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid ec235de1-f4cd-4e0c-9708-6ee529d5764c))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/7bf89f48-7d56-4e8d-a964-e992a7bd7239"
          (reference "#PWR0144") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:VCC_GONK") (at 300.99 27.94 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid e67da4ff-a1a3-4a41-a4a0-a625c00b55da)
    (property "Reference" "#PWR077" (at 300.99 31.75 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "VCC_GONK" (at 297.18 24.13 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "" (at 300.99 27.94 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 300.99 27.94 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 1459b19e-9278-44e5-bbac-0f0d16a23fdd))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/7bf89f48-7d56-4e8d-a964-e992a7bd7239"
          (reference "#PWR077") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Power_Management:INA229AIDGSR") (at 330.2 167.64 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid eb10b343-9034-425c-9da5-57c24783bdc7)
    (property "Reference" "U17" (at 345.44 161.29 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "INA229AIDGSR" (at 345.44 163.83 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Package_SO:10-VSSOP" (at 356.87 262.56 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Datasheet" "https://www.ti.com/lit/gpn/ina229" (at 356.87 362.56 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Height" "1.1" (at 356.87 562.56 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Manufacturer_Name" "Texas Instruments" (at 356.87 662.56 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Manufacturer_Part_Number" "INA229AIDGSR" (at 356.87 762.56 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Mouser Part Number" "595-INA229AIDGSR" (at 356.87 862.56 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Mouser Price/Stock" "https://www.mouser.co.uk/ProductDetail/Texas-Instruments/INA229AIDGSR?qs=eP2BKZSCXI5ILC1SU2n%2F2Q%3D%3D" (at 356.87 962.56 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Arrow Part Number" "INA229AIDGSR" (at 356.87 1062.56 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (property "Arrow Price/Stock" "https://www.arrow.com/en/products/ina229aidgsr/texas-instruments?region=nac" (at 356.87 1162.56 0)
      (effects (font (size 1.27 1.27)) (justify left top) hide)
    )
    (pin "1" (uuid 283332e7-b193-42fd-9d95-8695ef9ae1c4))
    (pin "10" (uuid 0d46375d-1710-4057-acc9-cf68b11e9155))
    (pin "2" (uuid aa9cd3f7-ca49-45a5-9a3d-69c865e052a8))
    (pin "3" (uuid 4713cd82-630c-4fbd-ad3b-92de3ca74855))
    (pin "4" (uuid 4288277d-6522-42d8-a83f-7a9bd0fb19ff))
    (pin "5" (uuid b3d92f87-5710-465b-a21e-0ffe2826994c))
    (pin "6" (uuid 24c3a52f-3145-43dc-9d78-70f8fa7eb4a6))
    (pin "7" (uuid 9ff2cc7e-e9ae-4288-b2fe-8aa8f21693d6))
    (pin "8" (uuid 37737534-7d1d-495b-b60f-5de246654739))
    (pin "9" (uuid bbdc547d-e498-4eac-b4d4-78124a8da4e0))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/7bf89f48-7d56-4e8d-a964-e992a7bd7239"
          (reference "U17") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R_Small_US") (at 68.58 73.66 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid ee82a8cd-543d-4933-9524-4ce89459e7e5)
    (property "Reference" "R53" (at 63.5 72.39 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "10k" (at 63.5 74.93 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Resistor_SMD:R_0201_0603Metric" (at 68.58 73.66 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 68.58 73.66 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid d260cdb1-9776-400c-9a45-c80289067d7a))
    (pin "2" (uuid 1d113f14-edd0-4d83-ace4-3bb05153a1e3))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/7bf89f48-7d56-4e8d-a964-e992a7bd7239"
          (reference "R53") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:C_Small") (at 130.81 87.63 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid efe79de6-1ace-43b8-8bdd-02c6e2b25ab9)
    (property "Reference" "C55" (at 133.35 87.0013 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "100nF 0201" (at 133.35 88.9 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Capacitor_SMD:C_0201_0603Metric" (at 130.81 87.63 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 130.81 87.63 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 11de4c62-bc66-44d8-8e07-5e4d2f7462e6))
    (pin "2" (uuid ce8dee45-7ebb-413c-a08c-52c50f554be8))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/7bf89f48-7d56-4e8d-a964-e992a7bd7239"
          (reference "C55") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 363.22 95.25 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid f3e36e6b-82e1-4788-9057-19e0d41890f5)
    (property "Reference" "#PWR0140" (at 363.22 101.6 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 363.22 100.33 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 363.22 95.25 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 363.22 95.25 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 6b3d12f1-cd45-4fdb-b91a-e28d4f0104b2))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/7bf89f48-7d56-4e8d-a964-e992a7bd7239"
          (reference "#PWR0140") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 378.46 214.63 90) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid f5de8749-85ef-4cbb-bcc1-bb915e3431c0)
    (property "Reference" "#PWR063" (at 384.81 214.63 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 382.27 215.265 90)
      (effects (font (size 1.27 1.27)) (justify right))
    )
    (property "Footprint" "" (at 378.46 214.63 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 378.46 214.63 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 08810341-8a3f-4a4a-85ef-ef3b462aa9b6))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/7bf89f48-7d56-4e8d-a964-e992a7bd7239"
          (reference "#PWR063") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:C_Small") (at 132.08 213.36 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid fba76932-a100-452b-8042-5b0a4f677028)
    (property "Reference" "C61" (at 134.62 212.7313 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "100nF 0201" (at 134.62 214.63 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Capacitor_SMD:C_0201_0603Metric" (at 132.08 213.36 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 132.08 213.36 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 30f8e0f2-7541-4eab-90e8-a05dea17d008))
    (pin "2" (uuid 988c11d9-8ca3-46bb-b761-2088bbd6a692))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/7bf89f48-7d56-4e8d-a964-e992a7bd7239"
          (reference "C61") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:VCC_GONK") (at 302.26 119.38 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid fda75a4f-403e-40b7-8aaa-0c962423aee1)
    (property "Reference" "#PWR089" (at 302.26 123.19 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "VCC_GONK" (at 298.45 115.57 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "" (at 302.26 119.38 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 302.26 119.38 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 935ed7f8-578f-40ef-ba94-75a9e69d10b9))
    (instances
      (project "Gonk"
        (path "/691887a2-ef24-4ca8-bf60-49cda5104c8f/7bf89f48-7d56-4e8d-a964-e992a7bd7239"
          (reference "#PWR089") (unit 1)
        )
      )
    )
  )
)
