text:
// Copyright (C) 2016-Present Pivotal Software, Inc. All rights reserved.  This program and the accompanying materials are made available under the terms of the under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
// http://www.apache.org/licenses/LICENSE-2.0
// Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

package integration_tests

import (
	"bytes"
	"encoding/json"
	"fmt"
	"io/ioutil"
	"net"
	"net/http"
	"os"
	"os/exec"
	"path/filepath"
	"strconv"
	"testing"
	"time"

	. "github.com/onsi/ginkgo/v2"
	. "github.com/onsi/gomega"
	"github.com/onsi/gomega/gexec"
	"github.com/pivotal-cf/on-demand-service-broker/config"
	"github.com/pivotal-cf/on-demand-service-broker/integration_tests/on_demand_service_broker/mock"
	"github.com/pivotal-cf/on-demand-service-broker/mockhttp"
	"github.com/pivotal-cf/on-demand-service-broker/mockhttp/mockbosh"
	"github.com/pivotal-cf/on-demand-service-broker/mockhttp/mockcfapi"
	"github.com/pivotal-cf/on-demand-services-sdk/serviceadapter"
	"gopkg.in/yaml.v2"
)

var (
	adapter mock.Adapter

	brokerPort     int
	brokerUsername = "broker-username"
	brokerPassword = "a-very-strong-password"
	startUpBanner  = false

	boshUsername     = "boshUsername"
	boshPassword     = "boshPassword"
	boshClientID     = "boshClientID"
	boshClientSecret = "boshClientSecret"

	cfUaaClientID     = "cfAdminUsername"
	cfUaaClientSecret = "cfAdminPassword"

	serviceReleaseName    = "bosh-release-that-provides-job"
	serviceReleaseVersion = "0+dev.42"

	stemcellOS      = "ubuntu-trusty"
	stemcellVersion = "1234"

	serviceID                          = "service-id"
	serviceDescription                 = "the finest service available to humanity"
	serviceBindable                    = false
	servicePlanUpdatable               = true
	serviceMetadataDisplayName         = "service-name"
	serviceMetadataImageURL            = "service-image-url"
	serviceMetaDataLongDescription     = "serviceMetaDataLongDescription"
	serviceMetaDataProviderDisplayName = "serviceMetaDataProviderDisplayName"
	serviceMetaDataDocumentationURL    = "serviceMetaDataDocumentationURL"
	serviceMetaDataSupportURL          = "serviceMetaDataSupportURL"
	serviceMetaDataShareable           = true
	serviceTags                        = []string{"a", "b"}

	dedicatedPlanName         = "dedicated-plan-name"
	dedicatedPlanDisplayName  = "dedicated-plan-display-name"
	dedicatedPlanDescription  = "dedicatedPlanDescription"
	dedicatedPlanCostAmount   = map[string]float64{"usd": 99.0, "eur": 49.0}
	dedicatedPlanCostUnit     = "MONTHLY"
	dedicatedPlanVMType       = "dedicated-plan-vm"
	dedicatedPlanVMExtensions = []string{"what", "an", "extension"}
	dedicatedPlanDisk         = "dedicated-plan-disk"
	dedicatedPlanInstances    = 1
	dedicatedPlanQuota        = 1
	dedicatedPlanNetworks     = []string{"net1"}
	dedicatedPlanAZs          = []string{"az1"}
	dedicatedPlanBullets      = []string{"bullet one", "bullet two", "bullet three"}
	dedicatedPlanUpdateBlock  = &serviceadapter.Update{
		Canaries:        1,
		MaxInFlight:     10,
		CanaryWatchTime: "1000-30000",
		UpdateWatchTime: "1000-30000",
		Serial:          booleanPointer(false),
	}

	highMemoryPlanID           = "high-memory-plan-id"
	highMemoryPlanName         = "high-memory-plan-name"
	highMemoryPlanDescription  = "highMemoryPlanDescription"
	highMemoryPlanVMType       = "high-memory-plan-vm"
	highMemoryPlanVMExtensions = []string{"even", "more", "memory"}
	highMemoryPlanDisplayName  = "dedicated-plan-display-name"
	highMemoryPlanBullets      = []string{"bullet one", "bullet two", "bullet three"}
	highMemoryPlanInstances    = 27
	highMemoryPlanNetworks     = []string{"high1", "high2"}
	highMemoryPlanAZs          = []string{"az1", "az2"}

	spaceGUID        = "space-guid"
	organizationGUID = "organizationGuid"
)

const (
	serviceName     = "service-name"
	dedicatedPlanID = "dedicated-plan-id"
)

var (
	brokerBinPath      string
	serviceAdapterPath string
	tempDirPath        string
)

type binPaths struct {
	Broker  string
	Adapter string
}

var _ = SynchronizedBeforeSuite(
	func() []byte {
		broker, err := gexec.Build("github.com/pivotal-cf/on-demand-service-broker/cmd/on-demand-service-broker")
		Expect(err).NotTo(HaveOccurred())

		adapter, err := gexec.Build("github.com/pivotal-cf/on-demand-service-broker/integration_tests/on_demand_service_broker/mock/adapter")
		Expect(err).NotTo(HaveOccurred())

		compiledBinaries, err := json.Marshal(binPaths{
			Broker:  broker,
			Adapter: adapter,
		})
		Expect(err).NotTo(HaveOccurred())

		return compiledBinaries
	},
	func(fromFirstNode []byte) {
		var compiledBinaries binPaths
		Expect(json.Unmarshal(fromFirstNode, &compiledBinaries)).To(Succeed())
		brokerBinPath = compiledBinaries.Broker
		serviceAdapterPath = compiledBinaries.Adapter

		brokerPort = 37890 + GinkgoParallelProcess()

		var err error
		tempDirPath, err = ioutil.TempDir("", fmt.Sprintf("broker-integration-tests-%d", GinkgoParallelProcess()))
		Expect(err).ToNot(HaveOccurred())
	},
)

var _ = SynchronizedAfterSuite(func() {
	Expect(os.RemoveAll(tempDirPath)).To(Succeed())
}, func() {
	gexec.CleanupBuildArtifacts()
})

var _ = BeforeEach(func() {
	adapter = mock.Adapter{}
	adapter.New()
})

var _ = AfterEach(func() {
	adapter.Cleanup()
})

func TestIntegrationTests(t *testing.T) {
	RegisterFailHandler(Fail)
	RunSpecs(t, "Integration Tests Suite")
}

func startBasicBrokerWithPassingStartupChecks(
	conf config.Config,
	cfAPI *mockhttp.Server,
	boshDirector *mockbosh.MockBOSH,
) *gexec.Session {
	cfAPI.VerifyAndMock(
		mockcfapi.GetInfo().RespondsWithSufficientAPIVersion(),
		mockcfapi.ListServiceOfferings().RespondsWithNoServiceOfferings(),
	)
	boshDirector.VerifyAndMock(
		mockbosh.Info().RespondsWithSufficientVersionForLifecycleErrands(boshDirector.UAAURL),
		mockbosh.Info().RespondsWithSufficientVersionForLifecycleErrands(boshDirector.UAAURL),
		mockbosh.Info().RespondsWithSufficientVersionForLifecycleErrands(boshDirector.UAAURL),
	)
	return startBroker(conf)
}

func startBroker(conf config.Config) *gexec.Session {
	session := startBrokerWithoutPortCheck(conf)
	Eventually(dialBroker, time.Second*3).Should(BeTrue())
	return session
}

func startBrokerWithoutPortCheck(conf config.Config) *gexec.Session {
	linuxCompatibleProcessName := "on-demand-servi"
	killCmd := exec.Command("pkill", "-9", linuxCompatibleProcessName)
	killSession, err := gexec.Start(killCmd, GinkgoWriter, GinkgoWriter)
	Expect(err).NotTo(HaveOccurred())
	killSession.Wait()

	configContents, err := yaml.Marshal(conf)
	Expect(err).NotTo(HaveOccurred())

	testConfigFilePath := filepath.Join(tempDirPath, "broker.yml")
	Expect(ioutil.WriteFile(testConfigFilePath, configContents, 0644)).To(Succeed())

	cmd := exec.Command(brokerBinPath, "-configFilePath", testConfigFilePath)
	session, err := gexec.Start(cmd, GinkgoWriter, GinkgoWriter)
	Expect(err).NotTo(HaveOccurred())

	return session
}

func dialBroker() bool {
	conn, err := net.Dial("tcp", fmt.Sprintf("localhost:%d", brokerPort))
	if err == nil {
		_ = conn.Close()
		return true
	}
	return false
}

func basicAuthBrokerRequest(req *http.Request) *http.Request {
	req.SetBasicAuth(brokerUsername, brokerPassword)
	return req
}

func provisionInstance(instanceID, planID string, arbitraryParams map[string]interface{}) *http.Response {
	instance, err := provisionInstanceWithAsyncFlag(instanceID, planID, arbitraryParams, true)
	Expect(err).NotTo(HaveOccurred())
	return instance
}

func provisionInstanceWithAsyncFlag(instanceID, planID string, arbitraryParams map[string]interface{}, async bool) (*http.Response, error) {
	reqBody := map[string]interface{}{
		"plan_id":           planID,
		"space_guid":        spaceGUID,
		"organization_guid": organizationGUID,
		"parameters":        arbitraryParams,
		"service_id":        serviceID,
	}
	bodyBytes, err := json.Marshal(reqBody)
	if err != nil {
		return &http.Response{}, err
	}

	asyncFlag := "true"
	if !async {
		asyncFlag = "false"
	}

	provisionReq, err := http.NewRequest(
		"PUT",
		fmt.Sprintf("http://localhost:%d/v2/service_instances/%s?accepts_incomplete="+asyncFlag, brokerPort, instanceID),
		bytes.NewReader(bodyBytes),
	)
	if err != nil {
		return &http.Response{}, err
	}
	provisionReq = basicAuthBrokerRequest(provisionReq)
	provisionReq.Header.Set("X-Broker-API-version", "2.13")

	return http.DefaultClient.Do(provisionReq)
}

func defaultBrokerConfig(boshURL, uaaURL, cfURL, cfUAAURL string) config.Config {
	return config.Config{
		Broker: config.Broker{
			Port:                brokerPort,
			Username:            brokerUsername,
			Password:            brokerPassword,
			StartUpBanner:       startUpBanner,
			ShutdownTimeoutSecs: 2,
		},
		Bosh: config.Bosh{
			URL:         boshURL,
			TrustedCert: certContents("cert.pem"),
			Authentication: config.Authentication{
				UAA: config.UAAAuthentication{
					ClientCredentials: config.ClientCredentials{
						ID: boshClientID, Secret: boshClientSecret,
					},
				},
			},
		},
		CF: config.CF{
			URL: cfURL,
			UAA: config.UAAConfig{
				URL: cfUAAURL,
				Authentication: config.UAACredentials{
					ClientCredentials: config.ClientCredentials{
						ID:     cfUaaClientID,
						Secret: cfUaaClientSecret,
					},
				},
			},
		},
		ServiceAdapter: config.ServiceAdapter{
			Path: serviceAdapterPath,
		},
		ServiceDeployment: config.ServiceDeployment{
			Releases: serviceadapter.ServiceReleases{
				{
					Name:    serviceReleaseName,
					Version: serviceReleaseVersion,
					Jobs:    []string{"job-name"},
				},
			},
			Stemcells: []serviceadapter.Stemcell{{
				OS:      stemcellOS,
				Version: stemcellVersion,
			}},
		},
		ServiceCatalog: config.ServiceOffering{
			ID:            serviceID,
			Name:          serviceName,
			Description:   serviceDescription,
			Bindable:      serviceBindable,
			PlanUpdatable: servicePlanUpdatable,
			Metadata: config.ServiceMetadata{
				DisplayName:         serviceMetadataDisplayName,
				ImageURL:            serviceMetadataImageURL,
				LongDescription:     serviceMetaDataLongDescription,
				ProviderDisplayName: serviceMetaDataProviderDisplayName,
				DocumentationURL:    serviceMetaDataDocumentationURL,
				SupportURL:          serviceMetaDataSupportURL,
				Shareable:           serviceMetaDataShareable,
			},
			DashboardClient: &config.DashboardClient{
				ID:          "client-id-1",
				Secret:      "secret-1",
				RedirectUri: "https://dashboard.url",
			},
			Tags:             serviceTags,
			GlobalProperties: serviceadapter.Properties{"global_property": "global_value"},
			GlobalQuotas:     config.Quotas{},
			Plans: []config.Plan{
				{
					Name:        dedicatedPlanName,
					ID:          dedicatedPlanID,
					Description: dedicatedPlanDescription,
					Free:        booleanPointer(true),
					Bindable:    booleanPointer(true),
					Update:      dedicatedPlanUpdateBlock,
					Metadata: config.PlanMetadata{
						DisplayName: dedicatedPlanDisplayName,
						Bullets:     dedicatedPlanBullets,
						Costs: []config.PlanCost{
							{
								Amount: dedicatedPlanCostAmount,
								Unit:   dedicatedPlanCostUnit,
							},
						},
					},
					Quotas: config.Quotas{
						ServiceInstanceLimit: &dedicatedPlanQuota,
					},
					Properties: serviceadapter.Properties{
						"type": "dedicated-plan-property",
					},
					InstanceGroups: []serviceadapter.InstanceGroup{
						{
							Name:               "instance-group-name",
							VMType:             dedicatedPlanVMType,
							VMExtensions:       dedicatedPlanVMExtensions,
							PersistentDiskType: dedicatedPlanDisk,
							Instances:          dedicatedPlanInstances,
							Networks:           dedicatedPlanNetworks,
							AZs:                dedicatedPlanAZs,
						},
						{
							Name:               "instance-group-errand",
							Lifecycle:          "errand",
							VMType:             dedicatedPlanVMType,
							PersistentDiskType: dedicatedPlanDisk,
							Instances:          dedicatedPlanInstances,
							Networks:           dedicatedPlanNetworks,
							AZs:                dedicatedPlanAZs,
						},
					},
				},
				{
					Name:        highMemoryPlanName,
					ID:          highMemoryPlanID,
					Description: highMemoryPlanDescription,
					Metadata: config.PlanMetadata{
						DisplayName: highMemoryPlanDisplayName,
						Bullets:     highMemoryPlanBullets,
					},
					Properties: serviceadapter.Properties{
						"type":            "high-memory-plan-property",
						"global_property": "overrides_global_value",
					},
					InstanceGroups: []serviceadapter.InstanceGroup{
						{
							Name:         "instance-group-name",
							VMType:       highMemoryPlanVMType,
							VMExtensions: highMemoryPlanVMExtensions,
							Instances:    highMemoryPlanInstances,
							Networks:     highMemoryPlanNetworks,
							AZs:          highMemoryPlanAZs,
						},
					},
				},
			},
		},
	}
}

func killBrokerAndCheckForOpenConnections(session *gexec.Session, url string) {
	output, err := exec.Command("lsof", "-p", strconv.Itoa(session.Command.Process.Pid)).Output()
	Expect(err).NotTo(HaveOccurred(), string(output))
	Expect(string(output)).NotTo(ContainSubstring("can't identify protocol"))
	Expect(string(output)).NotTo(ContainSubstring(url))
	Eventually(session.Terminate()).Should(gexec.Exit())
}

func deploymentName(instanceID string) string {
	return "service-instance_" + instanceID
}

func rawManifestWithDeploymentName(instanceID string) string {
	return "name: " + deploymentName(instanceID)
}

func listCFServiceOfferingsResponse(serviceOfferingID, ccServiceOfferingGUID string) string {
	return `{
		"next_url": null,
		"resources": [
			{
				"entity": {
					"unique_id": "` + serviceOfferingID + `",
					"service_plans_url": "/v2/services/` + ccServiceOfferingGUID + `/service_plans"
				}
			}
		]
	}`
}

func listCFServiceInstanceCountForPlanResponse(count int) string {
	return `{
	 "total_results": ` + strconv.Itoa(count) + `
}`
}

func booleanPointer(val bool) *bool {
	return &val
}

func pathToSSLCerts(filename string) string {
	return fmt.Sprintf("../fixtures/ssl/%s", filename)
}

func certContents(filename string) string {
	certPath := pathToSSLCerts(filename)
	b, err := ioutil.ReadFile(certPath)
	Expect(err).NotTo(HaveOccurred())
	return string(b)
}

repository: pivotal-cf/on-demand-service-broker

repo_name: pivotal-cf/on-demand-service-broker

branch_name: refs/heads/main


text:
MACHINE = "husky"

include openzaurus-pxa_2.4.18-rmk7-pxa3-embedix20031107.inc

license: MIT

repository: Terentyev/familiar-linux

license_type: permissive

repo_name: Terentyev/familiar-linux

branch_name: refs/heads/master

extension: bb


text:
// Copyright 2023 syzkaller project authors. All rights reserved.
// Use of this source code is governed by Apache 2 LICENSE that can be found in the LICENSE file.

package linux

type customRules struct {
	// The mapping between a Linux subsystem name and its system calls.
	subsystemCalls map[string][]string
	// These emails do not represent separate subsystems, even though they seem to
	// per all criteria we have.
	notSubsystemEmails map[string]struct{}
	// These subsystems need to be extracted even without mailing lists.
	// Key is the subsystem name, value is the list of raw names in MAINTAINERS.
	extraSubsystems map[string][]string
	// For these subsystems we do not generate monthly reminders.
	noReminders map[string]struct{}
}

var (
	linuxSubsystemRules = &customRules{
		subsystemCalls: map[string][]string{
			"adfs":      {"syz_mount_image$adfs"},
			"affs":      {"syz_mount_image$affs"},
			"befs":      {"syz_mount_image$befs"},
			"bfs":       {"syz_mount_image$bfs"},
			"bluetooth": {"syz_emit_vhci"},
			"btrfs":     {"syz_mount_image$btrfs"},
			"cramfs":    {"syz_mount_image$cramfs"},
			"efs":       {"syz_mount_image$efs"},
			"erofs":     {"syz_mount_image$erofs"},
			"ext4":      {"syz_mount_image$ext4"},
			"f2fs":      {"syz_mount_image$f2fs"},
			"fat": {
				"syz_mount_image$msdos",
				"syz_mount_image$vfat",
				"syz_mount_image$exfat",
			},
			"fuse":     {"syz_fuse_handle_req"},
			"gfs2":     {"syz_mount_image$gfs2", "syz_mount_image$gfs2meta"},
			"hfs":      {"syz_mount_image$hfs", "syz_mount_image$hfsplus"},
			"hpfs":     {"syz_mount_image$hpfs"},
			"input":    {"syz_usb_connect$hid"},
			"io-uring": {"syz_io_uring_setup"},
			"isofs":    {"syz_mount_image$iso9660"},
			"jffs2":    {"syz_mount_image$jffs2"},
			"jfs":      {"syz_mount_image$jfs"},
			"kvm":      {"syz_kvm_setup_cpu"},
			"minix":    {"syz_mount_image$minix"},
			"nilfs":    {"syz_mount_image$nilfs2"},
			"ntfs":     {"syz_mount_image$ntfs"},
			"ntfs3":    {"syz_mount_image$ntfs3"},
			"ocfs2":    {"syz_mount_image$ocfs2"},
			"omfs":     {"syz_mount_image$omfs"},
			"qnx4":     {"syz_mount_image$qnx4"},
			"qnx6":     {"syz_mount_image$qnx6"},
			"reiserfs": {"syz_mount_image$reiserfs"},
			"romfs":    {"syz_mount_image$romfs"},
			"squashfs": {"syz_mount_image$squashfs"},
			"sysv":     {"syz_mount_image$sysv"},
			"tmpfs":    {"syz_mount_image$tmpfs"},
			"ubifs":    {"syz_mount_image$ubifs"},
			"udf":      {"syz_mount_image$udf"},
			"ufs":      {"syz_mount_image$ufs"},
			"usb": {
				"syz_usb_connect",
				"syz_usb_connect$hid",
				"syz_usb_connect$printer",
				"syz_usb_connect$cdc_ecm",
				"syz_usb_connect$cdc_ncm",
				"syz_usb_connect$uac1",
			},
			"vxfs":     {"syz_mount_image$vxfs"},
			"wireless": {"syz_80211_join_ibss", "syz_80211_inject_frame"},
			"xfs":      {"syz_mount_image$xfs"},
			"zonefs":   {"syz_mount_image$zonefs"},
		},
		notSubsystemEmails: map[string]struct{}{
			"linaro-mm-sig@lists.linaro.org":   {},
			"samba-technical@lists.samba.org":  {},
			"storagedev@microchip.com":         {},
			"coreteam@netfilter.org":           {},
			"SHA-cyfmac-dev-list@infineon.com": {},
		},
		extraSubsystems: map[string][]string{
			"bfs":    {"BFS FILE SYSTEM"},
			"fat":    {"EXFAT FILE SYSTEM", "VFAT/FAT/MSDOS FILESYSTEM"},
			"fuse":   {"FUSE: FILESYSTEM IN USERSPACE"},
			"hfs":    {"HFS FILESYSTEM", "HFSPLUS FILESYSTEM"},
			"isofs":  {"ISOFS FILESYSTEM"},
			"kernfs": {"KERNFS"},
			"udf":    {"UDF FILESYSTEM"},
		},
		noReminders: map[string]struct{}{
			// Many misclassified bugs end up in `kernel`, so there's no sense
			// in generating monthly reports for it.
			"kernel": {},
		},
	}
)

repository: dsjlzh/syzkaller

repo_name: dsjlzh/syzkaller

extension: go


text:
DESCRIPTION = "Task to install graphics sources in SDK"
LICENSE = "MIT"
PR = "r5"

inherit packagegroup

GRAPHICS_RDEPENDS = "ti-sgx-ddk-km-src"

RDEPENDS_${PN} = "\
    ${GRAPHICS_RDEPENDS} \
"


text:
package libsvm

import (
	"fmt"
	"math"
	"testing"
)

func TestTrain(t *testing.T) {
}

func TestSimpleLoad(t *testing.T) {
	mdl, err := Load("testdata/a1a.model")
	if err != nil {
		t.Error("Error was non-nil", err)
	}

	if mdl == nil {
		t.Error("Error the returned model was nil")
	}
}

func TestLoadAndPredict(t *testing.T) {
	mdl, err := Load("testdata/a1a.model")
	if err != nil {
		t.Error("Model load error was non-nil", err)
	}

	if mdl == nil {
		t.Error("Error the reaturned model was nil")
	}

	exa := NewExample(1, []float64{1, 0, 0, 0, 1, 1, 1})
	nv, nerr := mdl.Predict(exa)
	if nerr != nil {
		t.Error("Predict error result was non-nil", nerr)
	}

	if math.IsNaN(nv) || math.IsInf(nv, 0) {
		t.Error(fmt.Sprintf("Predicted value is NaN or Infinity: %d", nv))
	}
}

repository: segfault/go-libsvm

repo_name: segfault/go-libsvm


text:
package jsonclient_test

import (
	"errors"
	"net/http"
	"testing"

	"github.com/containrrr/shoutrrr/pkg/util/jsonclient"
	"github.com/onsi/gomega/ghttp"

	. "github.com/onsi/ginkgo/v2"
	. "github.com/onsi/gomega"
)

func TestJSONClient(t *testing.T) {
	RegisterFailHandler(Fail)
	RunSpecs(t, "JSONClient Suite")
}

var _ = Describe("JSONClient", func() {
	var server *ghttp.Server

	BeforeEach(func() {
		server = ghttp.NewServer()
	})

	When("the server returns an invalid JSON response", func() {
		It("should return an error", func() {
			server.AppendHandlers(ghttp.RespondWith(http.StatusOK, "invalid json"))
			res := &mockResponse{}
			err := jsonclient.Get(server.URL(), &res)
			Expect(server.ReceivedRequests()).Should(HaveLen(1))
			Expect(err).To(MatchError("invalid character 'i' looking for beginning of value"))
			Expect(res.Status).To(BeEmpty())
		})
	})

	When("the server returns an empty response", func() {
		It("should return an error", func() {
			server.AppendHandlers(ghttp.RespondWith(http.StatusOK, nil))
			res := &mockResponse{}
			err := jsonclient.Get(server.URL(), &res)
			Expect(server.ReceivedRequests()).Should(HaveLen(1))
			Expect(err).To(MatchError("unexpected end of JSON input"))
			Expect(res.Status).To(BeEmpty())
		})
	})

	It("should deserialize GET response", func() {
		server.AppendHandlers(ghttp.RespondWithJSONEncoded(http.StatusOK, mockResponse{Status: "OK"}))
		res := &mockResponse{}
		err := jsonclient.Get(server.URL(), &res)
		Expect(server.ReceivedRequests()).Should(HaveLen(1))
		Expect(err).ToNot(HaveOccurred())
		Expect(res.Status).To(Equal("OK"))
	})

	Describe("POST", func() {
		It("should de-/serialize request and response", func() {

			req := &mockRequest{Number: 5}
			res := &mockResponse{}

			server.AppendHandlers(ghttp.CombineHandlers(
				ghttp.VerifyRequest("POST", "/"),
				ghttp.VerifyJSONRepresenting(&req),
				ghttp.RespondWithJSONEncoded(http.StatusOK, &mockResponse{Status: "That's Numberwang!"})),
			)

			err := jsonclient.Post(server.URL(), &req, &res)
			Expect(server.ReceivedRequests()).Should(HaveLen(1))
			Expect(err).ToNot(HaveOccurred())
			Expect(res.Status).To(Equal("That's Numberwang!"))
		})

		It("should return error on error status responses", func() {
			server.AppendHandlers(ghttp.RespondWith(404, "Not found!"))
			err := jsonclient.Post(server.URL(), &mockRequest{}, &mockResponse{})
			Expect(server.ReceivedRequests()).Should(HaveLen(1))
			Expect(err).To(MatchError("got HTTP 404 Not Found"))
		})

		It("should return error on invalid request", func() {
			server.AppendHandlers(ghttp.VerifyRequest("POST", "/"))
			err := jsonclient.Post(server.URL(), func() {}, &mockResponse{})
			Expect(server.ReceivedRequests()).Should(HaveLen(0))
			Expect(err).To(MatchError("error creating payload: json: unsupported type: func()"))
		})

		It("should return error on invalid response type", func() {
			res := &mockResponse{Status: "cool skirt"}
			server.AppendHandlers(ghttp.CombineHandlers(
				ghttp.VerifyRequest("POST", "/"),
				ghttp.RespondWithJSONEncoded(http.StatusOK, res)),
			)

			err := jsonclient.Post(server.URL(), nil, &[]bool{})
			Expect(server.ReceivedRequests()).Should(HaveLen(1))
			Expect(err).To(MatchError("json: cannot unmarshal object into Go value of type []bool"))
			Expect(jsonclient.ErrorBody(err)).To(MatchJSON(`{"Status":"cool skirt"}`))
		})
	})

	AfterEach(func() {
		//shut down the server between tests
		server.Close()
	})
})

var _ = Describe("Error", func() {
	When("no internal error has been set", func() {
		It("should return a generic message with status code", func() {
			errorWithNoError := jsonclient.Error{StatusCode: http.StatusEarlyHints}
			Expect(errorWithNoError.String()).To(Equal("unknown error (HTTP 103)"))
		})
	})
	Describe("ErrorBody", func() {
		When("passed a non-json error", func() {
			It("should return an empty string", func() {
				Expect(jsonclient.ErrorBody(errors.New("unrelated error"))).To(BeEmpty())
			})
		})
		When("passed a jsonclient.Error", func() {
			It("should return the request body from that error", func() {
				errorBody := `{"error": "bad user"}`
				jsonError := jsonclient.Error{Body: errorBody}
				Expect(jsonclient.ErrorBody(jsonError)).To(MatchJSON(errorBody))
			})
		})
	})
})

type mockResponse struct {
	Status string
}

type mockRequest struct {
	Number int
}

repository: containrrr/shoutrrr

repo_name: containrrr/shoutrrr

gha_license_id: MIT

gha_language: Go


text:
file(REMOVE_RECURSE
  "CMakeFiles/LongestStringChain.dir/main.cpp.o"
  "LongestStringChain.pdb"
  "LongestStringChain"
)

# Per-language clean rules from dependency scanning.
foreach(lang CXX)
  include(CMakeFiles/LongestStringChain.dir/cmake_clean_${lang}.cmake OPTIONAL)
endforeach()

extension: cmake


text:
include(vcpkg_common_functions)
vcpkg_from_github(
    OUT_SOURCE_PATH SOURCE_PATH
    REPO cxong/tinydir
    REF 1.2.4
    SHA512 476b81a089d378152c2ab644b88fe860f4a6dba9594ef5c2ae138487cb54b8f6da5538c114463619043f694b992e2de5fec925bd746f8e7fd341ebcdcaac98c0
    HEAD_REF master
)
file(INSTALL ${SOURCE_PATH}/tinydir.h DESTINATION ${CURRENT_PACKAGES_DIR}/include)
file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/tinydir RENAME copyright)
vcpkg_copy_pdbs()

repository: JackBoos/vcpkg

repo_name: JackBoos/vcpkg

gha_license_id: NOASSERTION


text:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE eagle SYSTEM "eagle.dtd">
<eagle version="9.3.0">
<drawing>
<settings>
<setting alwaysvectorfont="no"/>
<setting verticaltext="up"/>
</settings>
<grid distance="0.1" unitdist="inch" unit="inch" style="lines" multiple="1" display="no" altdistance="0.01" altunitdist="inch" altunit="inch"/>
<layers>
<layer number="1" name="Top" color="4" fill="1" visible="no" active="no"/>
<layer number="16" name="Bottom" color="1" fill="1" visible="no" active="no"/>
<layer number="17" name="Pads" color="2" fill="1" visible="no" active="no"/>
<layer number="18" name="Vias" color="2" fill="1" visible="no" active="no"/>
<layer number="19" name="Unrouted" color="6" fill="1" visible="no" active="no"/>
<layer number="20" name="Dimension" color="24" fill="1" visible="no" active="no"/>
<layer number="21" name="tPlace" color="7" fill="1" visible="no" active="no"/>
<layer number="22" name="bPlace" color="7" fill="1" visible="no" active="no"/>
<layer number="23" name="tOrigins" color="15" fill="1" visible="no" active="no"/>
<layer number="24" name="bOrigins" color="15" fill="1" visible="no" active="no"/>
<layer number="25" name="tNames" color="7" fill="1" visible="no" active="no"/>
<layer number="26" name="bNames" color="7" fill="1" visible="no" active="no"/>
<layer number="27" name="tValues" color="7" fill="1" visible="no" active="no"/>
<layer number="28" name="bValues" color="7" fill="1" visible="no" active="no"/>
<layer number="29" name="tStop" color="7" fill="3" visible="no" active="no"/>
<layer number="30" name="bStop" color="7" fill="6" visible="no" active="no"/>
<layer number="31" name="tCream" color="7" fill="4" visible="no" active="no"/>
<layer number="32" name="bCream" color="7" fill="5" visible="no" active="no"/>
<layer number="33" name="tFinish" color="6" fill="3" visible="no" active="no"/>
<layer number="34" name="bFinish" color="6" fill="6" visible="no" active="no"/>
<layer number="35" name="tGlue" color="7" fill="4" visible="no" active="no"/>
<layer number="36" name="bGlue" color="7" fill="5" visible="no" active="no"/>
<layer number="37" name="tTest" color="7" fill="1" visible="no" active="no"/>
<layer number="38" name="bTest" color="7" fill="1" visible="no" active="no"/>
<layer number="39" name="tKeepout" color="4" fill="11" visible="no" active="no"/>
<layer number="40" name="bKeepout" color="1" fill="11" visible="no" active="no"/>
<layer number="41" name="tRestrict" color="4" fill="10" visible="no" active="no"/>
<layer number="42" name="bRestrict" color="1" fill="10" visible="no" active="no"/>
<layer number="43" name="vRestrict" color="2" fill="10" visible="no" active="no"/>
<layer number="44" name="Drills" color="7" fill="1" visible="no" active="no"/>
<layer number="45" name="Holes" color="7" fill="1" visible="no" active="no"/>
<layer number="46" name="Milling" color="3" fill="1" visible="no" active="no"/>
<layer number="47" name="Measures" color="7" fill="1" visible="no" active="no"/>
<layer number="48" name="Document" color="7" fill="1" visible="no" active="no"/>
<layer number="49" name="Reference" color="7" fill="1" visible="no" active="no"/>
<layer number="50" name="dxf" color="7" fill="1" visible="no" active="no"/>
<layer number="51" name="tDocu" color="7" fill="1" visible="no" active="no"/>
<layer number="52" name="bDocu" color="7" fill="1" visible="no" active="no"/>
<layer number="53" name="tGND_GNDA" color="7" fill="9" visible="no" active="no"/>
<layer number="54" name="bGND_GNDA" color="1" fill="9" visible="no" active="no"/>
<layer number="56" name="wert" color="7" fill="1" visible="no" active="no"/>
<layer number="57" name="tCAD" color="7" fill="1" visible="no" active="no"/>
<layer number="59" name="tCarbon" color="7" fill="1" visible="no" active="no"/>
<layer number="60" name="bCarbon" color="7" fill="1" visible="no" active="no"/>
<layer number="88" name="SimResults" color="9" fill="1" visible="yes" active="yes"/>
<layer number="89" name="SimProbes" color="9" fill="1" visible="yes" active="yes"/>
<layer number="90" name="Modules" color="5" fill="1" visible="yes" active="yes"/>
<layer number="91" name="Nets" color="2" fill="1" visible="yes" active="yes"/>
<layer number="92" name="Busses" color="1" fill="1" visible="yes" active="yes"/>
<layer number="93" name="Pins" color="2" fill="1" visible="no" active="yes"/>
<layer number="94" name="Symbols" color="4" fill="1" visible="yes" active="yes"/>
<layer number="95" name="Names" color="7" fill="1" visible="yes" active="yes"/>
<layer number="96" name="Values" color="7" fill="1" visible="yes" active="yes"/>
<layer number="97" name="Info" color="7" fill="1" visible="yes" active="yes"/>
<layer number="98" name="Guide" color="6" fill="1" visible="yes" active="yes"/>
<layer number="99" name="SpiceOrder" color="7" fill="1" visible="yes" active="yes"/>
<layer number="100" name="Muster" color="7" fill="1" visible="no" active="no"/>
<layer number="101" name="Patch_Top" color="12" fill="4" visible="yes" active="yes"/>
<layer number="102" name="Vscore" color="7" fill="1" visible="yes" active="yes"/>
<layer number="103" name="tMap" color="7" fill="1" visible="yes" active="yes"/>
<layer number="104" name="Name" color="16" fill="1" visible="yes" active="yes"/>
<layer number="105" name="tPlate" color="7" fill="1" visible="yes" active="yes"/>
<layer number="106" name="bPlate" color="7" fill="1" visible="yes" active="yes"/>
<layer number="107" name="Crop" color="7" fill="1" visible="yes" active="yes"/>
<layer number="108" name="tplace-old" color="10" fill="1" visible="yes" active="yes"/>
<layer number="109" name="ref-old" color="11" fill="1" visible="yes" active="yes"/>
<layer number="110" name="fp0" color="7" fill="1" visible="yes" active="yes"/>
<layer number="111" name="LPC17xx" color="7" fill="1" visible="yes" active="yes"/>
<layer number="112" name="tSilk" color="7" fill="1" visible="yes" active="yes"/>
<layer number="113" name="IDFDebug" color="4" fill="1" visible="yes" active="yes"/>
<layer number="114" name="Badge_Outline" color="7" fill="1" visible="yes" active="yes"/>
<layer number="115" name="ReferenceISLANDS" color="7" fill="1" visible="yes" active="yes"/>
<layer number="116" name="Patch_BOT" color="9" fill="4" visible="yes" active="yes"/>
<layer number="117" name="BACKMAAT1" color="7" fill="1" visible="no" active="no"/>
<layer number="118" name="Rect_Pads" color="7" fill="1" visible="yes" active="yes"/>
<layer number="119" name="KAP_TEKEN" color="7" fill="1" visible="no" active="no"/>
<layer number="120" name="KAP_MAAT1" color="7" fill="1" visible="no" active="no"/>
<layer number="121" name="_tsilk" color="7" fill="1" visible="yes" active="yes"/>
<layer number="122" name="_bsilk" color="7" fill="1" visible="yes" active="yes"/>
<layer number="123" name="tTestmark" color="7" fill="1" visible="yes" active="yes"/>
<layer number="124" name="bTestmark" color="7" fill="1" visible="yes" active="yes"/>
<layer number="125" name="_tNames" color="7" fill="1" visible="yes" active="yes"/>
<layer number="126" name="_bNames" color="7" fill="1" visible="yes" active="yes"/>
<layer number="127" name="_tValues" color="7" fill="1" visible="yes" active="yes"/>
<layer number="128" name="_bValues" color="7" fill="1" visible="yes" active="yes"/>
<layer number="129" name="Mask" color="7" fill="1" visible="yes" active="yes"/>
<layer number="130" name="SMDSTROOK" color="7" fill="1" visible="no" active="no"/>
<layer number="131" name="tAdjust" color="7" fill="1" visible="yes" active="yes"/>
<layer number="132" name="bAdjust" color="7" fill="1" visible="yes" active="yes"/>
<layer number="133" name="bottom_silk" color="7" fill="1" visible="no" active="no"/>
<layer number="134" name="silk_top" color="7" fill="1" visible="no" active="no"/>
<layer number="135" name="silk_bottom" color="7" fill="1" visible="no" active="no"/>
<layer number="136" name="silktop" color="7" fill="1" visible="yes" active="yes"/>
<layer number="137" name="silkbottom" color="7" fill="1" visible="yes" active="yes"/>
<layer number="144" name="Drill_legend" color="7" fill="1" visible="yes" active="yes"/>
<layer number="145" name="DrillLegend_01-16" color="7" fill="1" visible="yes" active="yes"/>
<layer number="146" name="DrillLegend_01-20" color="7" fill="1" visible="yes" active="yes"/>
<layer number="150" name="Notes" color="7" fill="1" visible="yes" active="yes"/>
<layer number="151" name="HeatSink" color="7" fill="1" visible="yes" active="yes"/>
<layer number="152" name="_bDocu" color="7" fill="1" visible="yes" active="yes"/>
<layer number="153" name="FabDoc1" color="7" fill="1" visible="yes" active="yes"/>
<layer number="154" name="FabDoc2" color="7" fill="1" visible="yes" active="yes"/>
<layer number="155" name="FabDoc3" color="7" fill="1" visible="yes" active="yes"/>
<layer number="166" name="AntennaArea" color="7" fill="1" visible="yes" active="yes"/>
<layer number="168" name="4mmHeightArea" color="7" fill="1" visible="yes" active="yes"/>
<layer number="199" name="Contour" color="7" fill="1" visible="yes" active="yes"/>
<layer number="200" name="200bmp" color="1" fill="10" visible="yes" active="yes"/>
<layer number="201" name="201bmp" color="2" fill="10" visible="yes" active="yes"/>
<layer number="202" name="202bmp" color="3" fill="10" visible="yes" active="yes"/>
<layer number="203" name="203bmp" color="4" fill="10" visible="yes" active="yes"/>
<layer number="204" name="204bmp" color="5" fill="10" visible="yes" active="yes"/>
<layer number="205" name="205bmp" color="6" fill="10" visible="yes" active="yes"/>
<layer number="206" name="206bmp" color="7" fill="10" visible="yes" active="yes"/>
<layer number="207" name="207bmp" color="8" fill="10" visible="yes" active="yes"/>
<layer number="208" name="208bmp" color="9" fill="10" visible="yes" active="yes"/>
<layer number="209" name="209bmp" color="7" fill="1" visible="yes" active="yes"/>
<layer number="210" name="210bmp" color="7" fill="1" visible="yes" active="yes"/>
<layer number="211" name="211bmp" color="7" fill="1" visible="yes" active="yes"/>
<layer number="212" name="212bmp" color="7" fill="1" visible="yes" active="yes"/>
<layer number="213" name="213bmp" color="7" fill="1" visible="yes" active="yes"/>
<layer number="214" name="214bmp" color="7" fill="1" visible="yes" active="yes"/>
<layer number="215" name="215bmp" color="7" fill="1" visible="yes" active="yes"/>
<layer number="216" name="216bmp" color="7" fill="1" visible="yes" active="yes"/>
<layer number="217" name="217bmp" color="18" fill="1" visible="no" active="no"/>
<layer number="218" name="218bmp" color="19" fill="1" visible="no" active="no"/>
<layer number="219" name="219bmp" color="20" fill="1" visible="no" active="no"/>
<layer number="220" name="220bmp" color="21" fill="1" visible="no" active="no"/>
<layer number="221" name="221bmp" color="22" fill="1" visible="no" active="no"/>
<layer number="222" name="222bmp" color="23" fill="1" visible="no" active="no"/>
<layer number="223" name="223bmp" color="24" fill="1" visible="no" active="no"/>
<layer number="224" name="224bmp" color="25" fill="1" visible="no" active="no"/>
<layer number="225" name="225bmp" color="7" fill="1" visible="yes" active="yes"/>
<layer number="226" name="226bmp" color="7" fill="1" visible="yes" active="yes"/>
<layer number="227" name="227bmp" color="7" fill="1" visible="yes" active="yes"/>
<layer number="228" name="228bmp" color="7" fill="1" visible="yes" active="yes"/>
<layer number="229" name="229bmp" color="7" fill="1" visible="yes" active="yes"/>
<layer number="230" name="230bmp" color="7" fill="1" visible="yes" active="yes"/>
<layer number="231" name="231bmp" color="7" fill="1" visible="yes" active="yes"/>
<layer number="232" name="Eagle3D_PG2" color="7" fill="1" visible="yes" active="yes"/>
<layer number="233" name="Eagle3D_PG3" color="7" fill="1" visible="yes" active="yes"/>
<layer number="248" name="Housing" color="7" fill="1" visible="yes" active="yes"/>
<layer number="249" name="Edge" color="7" fill="1" visible="yes" active="yes"/>
<layer number="250" name="Descript" color="3" fill="1" visible="no" active="no"/>
<layer number="251" name="SMDround" color="12" fill="11" visible="no" active="no"/>
<layer number="254" name="cooling" color="7" fill="1" visible="yes" active="yes"/>
<layer number="255" name="routoute" color="7" fill="1" visible="yes" active="yes"/>
</layers>
<schematic xreflabel="%F%N/%S.%C%R" xrefpart="/%S.%C%R">
<libraries>
<library name="00_bsiepert" urn="urn:adsk.eagle:library:6622413">
<packages>
<package name="INA260_TSSOP16" library_version="1" library_locally_modified="yes">
<smd name="P$1" x="-2.9" y="2.275" dx="1.5" dy="0.45" layer="1" stop="no"/>
<smd name="P$2" x="-2.9" y="1.625" dx="1.5" dy="0.45" layer="1" stop="no"/>
<smd name="P$3" x="-2.9" y="0.975" dx="1.5" dy="0.45" layer="1" stop="no"/>
<smd name="P$4" x="-2.9" y="0.325" dx="1.5" dy="0.45" layer="1" stop="no"/>
<smd name="P$5" x="-2.9" y="-0.325" dx="1.5" dy="0.45" layer="1" stop="no"/>
<smd name="P$6" x="-2.9" y="-0.975" dx="1.5" dy="0.45" layer="1" stop="no"/>
<smd name="P$7" x="-2.9" y="-1.625" dx="1.5" dy="0.45" layer="1" stop="no"/>
<smd name="P$8" x="-2.9" y="-2.275" dx="1.5" dy="0.45" layer="1" stop="no"/>
<smd name="P$9" x="2.95" y="-2.275" dx="1.5" dy="0.45" layer="1" stop="no"/>
<smd name="P$10" x="2.95" y="-1.625" dx="1.5" dy="0.45" layer="1" stop="no"/>
<smd name="P$11" x="2.95" y="-0.975" dx="1.5" dy="0.45" layer="1" stop="no"/>
<smd name="P$12" x="2.95" y="-0.325" dx="1.5" dy="0.45" layer="1" stop="no"/>
<smd name="P$13" x="2.95" y="0.325" dx="1.5" dy="0.45" layer="1" stop="no"/>
<smd name="P$14" x="2.95" y="0.975" dx="1.5" dy="0.45" layer="1" stop="no"/>
<smd name="P$15" x="2.95" y="1.625" dx="1.5" dy="0.45" layer="1" stop="no"/>
<smd name="P$16" x="2.95" y="2.275" dx="1.5" dy="0.45" layer="1" stop="no"/>
<rectangle x1="-3.7" y1="2" x2="-2.1" y2="2.55" layer="29"/>
<rectangle x1="-3.7" y1="1.35" x2="-2.1" y2="1.9" layer="29"/>
<rectangle x1="-3.7" y1="0.7" x2="-2.1" y2="1.25" layer="29"/>
<rectangle x1="-3.7" y1="0.05" x2="-2.1" y2="0.6" layer="29"/>
<rectangle x1="-3.7" y1="-0.6" x2="-2.1" y2="-0.05" layer="29"/>
<rectangle x1="-3.7" y1="-1.25" x2="-2.1" y2="-0.7" layer="29"/>
<rectangle x1="-3.7" y1="-1.9" x2="-2.1" y2="-1.35" layer="29"/>
<rectangle x1="-3.7" y1="-2.55" x2="-2.1" y2="-2" layer="29"/>
<rectangle x1="2.15" y1="-2.55" x2="3.75" y2="-2" layer="29"/>
<rectangle x1="2.15" y1="-1.9" x2="3.75" y2="-1.35" layer="29"/>
<rectangle x1="2.15" y1="-1.25" x2="3.75" y2="-0.7" layer="29"/>
<rectangle x1="2.15" y1="-0.6" x2="3.75" y2="-0.05" layer="29"/>
<rectangle x1="2.15" y1="0.05" x2="3.75" y2="0.6" layer="29"/>
<rectangle x1="2.15" y1="0.7" x2="3.75" y2="1.25" layer="29"/>
<rectangle x1="2.15" y1="1.35" x2="3.75" y2="1.9" layer="29"/>
<rectangle x1="2.15" y1="2" x2="3.75" y2="2.55" layer="29"/>
<wire x1="-3.8" y1="2.6" x2="3.8" y2="2.6" width="0.127" layer="51"/>
<wire x1="3.8" y1="2.6" x2="3.8" y2="-2.6" width="0.127" layer="51"/>
<wire x1="3.8" y1="-2.6" x2="-3.8" y2="-2.6" width="0.127" layer="51"/>
<wire x1="-3.8" y1="-2.6" x2="-3.8" y2="2.6" width="0.127" layer="51"/>
<circle x="-4.55" y="3.25" radius="0.25" width="0.508" layer="21"/>
</package>
</packages>
<symbols>
<symbol name="INA260" library_version="1" library_locally_modified="yes">
<pin name="IN+@1" x="-17.78" y="7.62" length="middle"/>
<pin name="IN+@2" x="-17.78" y="5.08" length="middle"/>
<pin name="IN+@3" x="-17.78" y="2.54" length="middle"/>
<pin name="IN-@1" x="17.78" y="7.62" length="middle" rot="R180"/>
<pin name="IN-@2" x="17.78" y="5.08" length="middle" rot="R180"/>
<pin name="IN-@3" x="17.78" y="2.54" length="middle" rot="R180"/>
<pin name="GND@1" x="-2.54" y="-17.78" length="middle" rot="R90"/>
<pin name="GND@2" x="2.54" y="-17.78" length="middle" rot="R90"/>
<pin name="SDA" x="17.78" y="-5.08" length="middle" rot="R180"/>
<pin name="SCL" x="17.78" y="-7.62" length="middle" rot="R180"/>
<pin name="VBUS" x="0" y="15.24" length="middle" rot="R270"/>
<pin name="A0" x="-17.78" y="-7.62" length="middle"/>
<pin name="A1" x="-17.78" y="-5.08" length="middle"/>
<pin name="NC" x="0" y="-17.78" length="middle" rot="R90"/>
<pin name="ALERT" x="-17.78" y="-10.16" length="middle"/>
<pin name="VS" x="17.78" y="-10.16" length="middle" rot="R180"/>
<wire x1="-12.7" y1="10.16" x2="12.7" y2="10.16" width="0.254" layer="94"/>
<wire x1="12.7" y1="10.16" x2="12.7" y2="-12.7" width="0.254" layer="94"/>
<wire x1="12.7" y1="-12.7" x2="-12.7" y2="-12.7" width="0.254" layer="94"/>
<wire x1="-12.7" y1="-12.7" x2="-12.7" y2="10.16" width="0.254" layer="94"/>
</symbol>
</symbols>
<devicesets>
<deviceset name="INA260" library_version="1" library_locally_modified="yes">
<gates>
<gate name="G$1" symbol="INA260" x="0" y="0"/>
</gates>
<devices>
<device name="" package="INA260_TSSOP16">
<connects>
<connect gate="G$1" pin="A0" pad="P$5"/>
<connect gate="G$1" pin="A1" pad="P$4"/>
<connect gate="G$1" pin="ALERT" pad="P$7"/>
<connect gate="G$1" pin="GND@1" pad="P$6"/>
<connect gate="G$1" pin="GND@2" pad="P$11"/>
<connect gate="G$1" pin="IN+@1" pad="P$1"/>
<connect gate="G$1" pin="IN+@2" pad="P$2"/>
<connect gate="G$1" pin="IN+@3" pad="P$3"/>
<connect gate="G$1" pin="IN-@1" pad="P$14"/>
<connect gate="G$1" pin="IN-@2" pad="P$15"/>
<connect gate="G$1" pin="IN-@3" pad="P$16"/>
<connect gate="G$1" pin="NC" pad="P$13"/>
<connect gate="G$1" pin="SCL" pad="P$9"/>
<connect gate="G$1" pin="SDA" pad="P$8"/>
<connect gate="G$1" pin="VBUS" pad="P$12"/>
<connect gate="G$1" pin="VS" pad="P$10"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
</devices>
</deviceset>
</devicesets>
</library>
<library name="SparkFun-Aesthetics" urn="urn:adsk.eagle:library:507">
<description>
SparkFun Aesthetics

This library contiains non-functional items such as logos, build/ordering notes, frame blocks, etc.

We've spent an enormous amount of time creating and checking these footprints and parts, but it is  the end user's responsibility to ensure correctness and suitablity for a given componet or application.

If you enjoy using this library, please buy one of our products at SparkFun.com.

Licensing: Creative Commons ShareAlike 4.0 International - https://creativecommons.org/licenses/by-sa/4.0/

You are welcome to use this library for commercial purposes. For attribution, we ask that when you begin to sell your device using our footprint, you email us with a link to the product being sold. We want bragging rights that we helped (in a very small part) to create your 8th world wonder. We would like the opportunity to feature your device on our homepage.</description>
<packages>
<package name="CREATIVE_COMMONS" urn="urn:adsk.eagle:footprint:37005/1" library_version="1">
<description>
Creative Commons License Template

CC BY-SA 4.0 License with link to license and placeholder for designer name.

Devices using:

FRAME_LEDGER

FRAME_LETTER

</description>
<text x="-20.32" y="5.08" size="1.778" layer="51" font="vector">Released under the Creative Commons Attribution Share-Alike 4.0 License</text>
<text x="0" y="2.54" size="1.778" layer="51" font="vector"> https://creativecommons.org/licenses/by-sa/4.0/</text>
<text x="11.43" y="0" size="1.778" layer="51" font="vector">Designed by:</text>
</package>
<package name="DUMMY" urn="urn:adsk.eagle:footprint:37006/1" library_version="1">
<description>
Dummy Footprint

NOTHING HERE!!! For when you want a symbol with no package as an option against symbols with a package.

Devices using:

BADGERHACK_LOGO

FRAME-LETTER

</description>
</package>
</packages>
<packages3d>
<package3d name="CREATIVE_COMMONS" urn="urn:adsk.eagle:package:37121/1" type="box" library_version="1">
<description>Creative Commons License Template
CC BY-SA 4.0 License with link to license and placeholder for designer name.
Devices using:
FRAME_LEDGER
FRAME_LETTER</description>
<packageinstances>
<packageinstance name="CREATIVE_COMMONS"/>
</packageinstances>
</package3d>
<package3d name="DUMMY" urn="urn:adsk.eagle:package:37104/1" type="box" library_version="1">
<description>Dummy Footprint
NOTHING HERE!!! For when you want a symbol with no package as an option against symbols with a package.

Devices using:
BADGERHACK_LOGO
FRAME-LETTER</description>
<packageinstances>
<packageinstance name="DUMMY"/>
</packageinstances>
</package3d>
</packages3d>
<symbols>
<symbol name="FRAME-LETTER" urn="urn:adsk.eagle:symbol:37003/1" library_version="1">
<description>
Schematic Frame - Letter

Standard 8.5x11 US Ledger frame

Devices using

FRAME-LETTER

</description>
<wire x1="0" y1="185.42" x2="248.92" y2="185.42" width="0.4064" layer="94"/>
<wire x1="248.92" y1="185.42" x2="248.92" y2="0" width="0.4064" layer="94"/>
<wire x1="0" y1="185.42" x2="0" y2="0" width="0.4064" layer="94"/>
<wire x1="0" y1="0" x2="248.92" y2="0" width="0.4064" layer="94"/>
</symbol>
<symbol name="DOCFIELD" urn="urn:adsk.eagle:symbol:37004/1" library_version="1">
<description>
Schematic Documentation Field

Autofilling schematic symbol-layer info including board name, designer, revision, and save date.

Devices using:

FRAME-LEDGER

FRAME-LETTER

</description>
<wire x1="0" y1="0" x2="71.12" y2="0" width="0.254" layer="94"/>
<wire x1="101.6" y1="15.24" x2="87.63" y2="15.24" width="0.254" layer="94"/>
<wire x1="0" y1="0" x2="0" y2="5.08" width="0.254" layer="94"/>
<wire x1="0" y1="5.08" x2="71.12" y2="5.08" width="0.254" layer="94"/>
<wire x1="0" y1="5.08" x2="0" y2="15.24" width="0.254" layer="94"/>
<wire x1="101.6" y1="15.24" x2="101.6" y2="5.08" width="0.254" layer="94"/>
<wire x1="71.12" y1="5.08" x2="71.12" y2="0" width="0.254" layer="94"/>
<wire x1="71.12" y1="5.08" x2="87.63" y2="5.08" width="0.254" layer="94"/>
<wire x1="71.12" y1="0" x2="101.6" y2="0" width="0.254" layer="94"/>
<wire x1="87.63" y1="15.24" x2="87.63" y2="5.08" width="0.254" layer="94"/>
<wire x1="87.63" y1="15.24" x2="0" y2="15.24" width="0.254" layer="94"/>
<wire x1="87.63" y1="5.08" x2="101.6" y2="5.08" width="0.254" layer="94"/>
<wire x1="101.6" y1="5.08" x2="101.6" y2="0" width="0.254" layer="94"/>
<wire x1="0" y1="15.24" x2="0" y2="22.86" width="0.254" layer="94"/>
<wire x1="101.6" y1="35.56" x2="0" y2="35.56" width="0.254" layer="94"/>
<wire x1="101.6" y1="35.56" x2="101.6" y2="22.86" width="0.254" layer="94"/>
<wire x1="0" y1="22.86" x2="101.6" y2="22.86" width="0.254" layer="94"/>
<wire x1="0" y1="22.86" x2="0" y2="35.56" width="0.254" layer="94"/>
<wire x1="101.6" y1="22.86" x2="101.6" y2="15.24" width="0.254" layer="94"/>
<text x="1.27" y="1.27" size="2.54" layer="94" font="vector">Date:</text>
<text x="12.7" y="1.27" size="2.54" layer="94" font="vector">>LAST_DATE_TIME</text>
<text x="72.39" y="1.27" size="2.54" layer="94" font="vector">Sheet:</text>
<text x="86.36" y="1.27" size="2.54" layer="94" font="vector">>SHEET</text>
<text x="88.9" y="11.43" size="2.54" layer="94" font="vector">REV:</text>
<text x="1.524" y="17.78" size="2.54" layer="94" font="vector">TITLE:</text>
<text x="15.494" y="17.78" size="2.7432" layer="94" font="vector">>DRAWING_NAME</text>
<text x="2.54" y="31.75" size="1.9304" layer="94">Released under the Creative Commons</text>
<text x="2.54" y="27.94" size="1.9304" layer="94">Attribution Share-Alike 4.0 License</text>
<text x="2.54" y="24.13" size="1.9304" layer="94"> https://creativecommons.org/licenses/by-sa/4.0/</text>
<text x="1.27" y="11.43" size="2.54" layer="94">Design by:</text>
</symbol>
</symbols>
<devicesets>
<deviceset name="FRAME-LETTER" urn="urn:adsk.eagle:component:37169/1" prefix="FRAME" library_version="1">
<description>
Schematic Frame - Letter

Standard 8.5x11 US Letter frame
</description>
<gates>
<gate name="G$1" symbol="FRAME-LETTER" x="0" y="0"/>
<gate name="V" symbol="DOCFIELD" x="147.32" y="0" addlevel="must"/>
</gates>
<devices>
<device name="" package="CREATIVE_COMMONS">
<package3dinstances>
<package3dinstance package3d_urn="urn:adsk.eagle:package:37121/1"/>
</package3dinstances>
<technologies>
<technology name=""/>
</technologies>
</device>
<device name="NO_PACKAGE" package="DUMMY">
<package3dinstances>
<package3dinstance package3d_urn="urn:adsk.eagle:package:37104/1"/>
</package3dinstances>
<technologies>
<technology name="">
<attribute name="DESIGNER" value="Nobody" constant="no"/>
<attribute name="VERSION" value="v01" constant="no"/>
</technology>
</technologies>
</device>
</devices>
</deviceset>
</devicesets>
</library>
<library name="microbuilder">
<description>
microBuilder.eu Eagle Footprint Library

Footprints for common components used in our projects and products.  This is the same library that we use internally, and it is regularly updated.  The newest version can always be found at www.microBuilder.eu.  If you find this library useful, please feel free to purchase something from our online store. Please also note that all holes are optimised for metric drill bits!

Obligatory Warning

While it probably goes without saying, there are no guarantees that the footprints or schematic symbols in this library are flawless, and we make no promises of fitness for production, prototyping or any other purpose. These libraries are provided for information puposes only, and are used at your own discretion.  While we make every effort to produce accurate footprints, and many of the items found in this library have be proven in production, we can't make any promises of suitability for a specific purpose. If you do find any errors, though, please feel free to contact us at www.microbuilder.eu to let us know about it so that we can update the library accordingly!

License

This work is placed in the public domain, and may be freely used for commercial and non-commercial work with the following conditions:

THIS SOFTWARE IS PROVIDED ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,  BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

</description>
<packages>
<package name="0805">
<description>0805 (2012 Metric)</description>
<wire x1="-1.873" y1="0.883" x2="1.873" y2="0.883" width="0.0508" layer="39"/>
<wire x1="1.873" y1="-0.883" x2="-1.873" y2="-0.883" width="0.0508" layer="39"/>
<wire x1="-1.873" y1="-0.883" x2="-1.873" y2="0.883" width="0.0508" layer="39"/>
<wire x1="-0.381" y1="0.66" x2="0.381" y2="0.66" width="0.1016" layer="51"/>
<wire x1="-0.356" y1="-0.66" x2="0.381" y2="-0.66" width="0.1016" layer="51"/>
<wire x1="1.873" y1="0.883" x2="1.873" y2="-0.883" width="0.0508" layer="39"/>
<wire x1="1.8" y1="0.9" x2="1.8" y2="-0.9" width="0.2032" layer="21"/>
<wire x1="1.8" y1="-0.9" x2="-1.8" y2="-0.9" width="0.2032" layer="21"/>
<wire x1="-1.8" y1="-0.9" x2="-1.8" y2="0.9" width="0.2032" layer="21"/>
<wire x1="-1.8" y1="0.9" x2="1.8" y2="0.9" width="0.2032" layer="21"/>
<smd name="1" x="-0.95" y="0" dx="1.3" dy="1.5" layer="1"/>
<smd name="2" x="0.95" y="0" dx="1.3" dy="1.5" layer="1"/>
<text x="2.032" y="-0.127" size="0.8128" layer="25" ratio="18">>NAME</text>
<text x="2.032" y="-0.762" size="0.4064" layer="27" ratio="10">>VALUE</text>
<rectangle x1="-1.0922" y1="-0.7239" x2="-0.3421" y2="0.7262" layer="51"/>
<rectangle x1="0.3556" y1="-0.7239" x2="1.1057" y2="0.7262" layer="51"/>
<rectangle x1="-0.1001" y1="-0.4001" x2="0.1001" y2="0.4001" layer="35"/>
</package>
<package name="1206">
<description>1206 (3216 Metric)</description>
<wire x1="-2.473" y1="0.983" x2="2.473" y2="0.983" width="0.0508" layer="39"/>
<wire x1="2.473" y1="-0.983" x2="-2.473" y2="-0.983" width="0.0508" layer="39"/>
<wire x1="-2.473" y1="-0.983" x2="-2.473" y2="0.983" width="0.0508" layer="39"/>
<wire x1="2.473" y1="0.983" x2="2.473" y2="-0.983" width="0.0508" layer="39"/>
<wire x1="-0.965" y1="0.787" x2="0.965" y2="0.787" width="0.1016" layer="51"/>
<wire x1="-0.965" y1="-0.787" x2="0.965" y2="-0.787" width="0.1016" layer="51"/>
<wire x1="-2.4" y1="1" x2="2.4" y2="1" width="0.2032" layer="21"/>
<wire x1="2.4" y1="1" x2="2.4" y2="-1" width="0.2032" layer="21"/>
<wire x1="2.4" y1="-1" x2="-2.4" y2="-1" width="0.2032" layer="21"/>
<wire x1="-2.4" y1="-1" x2="-2.4" y2="1" width="0.2032" layer="21"/>
<smd name="1" x="-1.4" y="0" dx="1.6" dy="1.8" layer="1"/>
<smd name="2" x="1.4" y="0" dx="1.6" dy="1.8" layer="1"/>
<text x="2.54" y="-0.127" size="0.8128" layer="25" ratio="18">>NAME</text>
<text x="2.54" y="-0.635" size="0.4064" layer="27" ratio="10">>VALUE</text>
<rectangle x1="-1.7018" y1="-0.8509" x2="-0.9517" y2="0.8491" layer="51"/>
<rectangle x1="0.9517" y1="-0.8491" x2="1.7018" y2="0.8509" layer="51"/>
<rectangle x1="-0.1999" y1="-0.4001" x2="0.1999" y2="0.4001" layer="35"/>
</package>
<package name="0603">
<description>0603 (1608 Metric)</description>
<wire x1="-1.473" y1="0.729" x2="1.473" y2="0.729" width="0.0508" layer="39"/>
<wire x1="1.473" y1="0.729" x2="1.473" y2="-0.729" width="0.0508" layer="39"/>
<wire x1="1.473" y1="-0.729" x2="-1.473" y2="-0.729" width="0.0508" layer="39"/>
<wire x1="-1.473" y1="-0.729" x2="-1.473" y2="0.729" width="0.0508" layer="39"/>
<wire x1="-0.356" y1="0.432" x2="0.356" y2="0.432" width="0.1016" layer="51"/>
<wire x1="-0.356" y1="-0.419" x2="0.356" y2="-0.419" width="0.1016" layer="51"/>
<wire x1="-1.6" y1="0.7" x2="1.6" y2="0.7" width="0.2032" layer="21"/>
<wire x1="1.6" y1="0.7" x2="1.6" y2="-0.7" width="0.2032" layer="21"/>
<wire x1="1.6" y1="-0.7" x2="-1.6" y2="-0.7" width="0.2032" layer="21"/>
<wire x1="-1.6" y1="-0.7" x2="-1.6" y2="0.7" width="0.2032" layer="21"/>
<smd name="1" x="-0.85" y="0" dx="1.1" dy="1" layer="1"/>
<smd name="2" x="0.85" y="0" dx="1.1" dy="1" layer="1"/>
<text x="1.778" y="-0.127" size="0.8128" layer="25" font="vector" ratio="18">>NAME</text>
<text x="1.778" y="-0.762" size="0.4064" layer="27" font="vector" ratio="10">>VALUE</text>
<rectangle x1="-0.8382" y1="-0.4699" x2="-0.3381" y2="0.4801" layer="51"/>
<rectangle x1="0.3302" y1="-0.4699" x2="0.8303" y2="0.4801" layer="51"/>
<rectangle x1="-0.1999" y1="-0.3" x2="0.1999" y2="0.3" layer="35"/>
</package>
<package name="0402">
<description>CAPACITOR

chip</description>
<wire x1="-0.245" y1="0.224" x2="0.245" y2="0.224" width="0.2032" layer="51"/>
<wire x1="0.245" y1="-0.224" x2="-0.245" y2="-0.224" width="0.2032" layer="51"/>
<wire x1="-1.346" y1="0.483" x2="1.346" y2="0.483" width="0.0508" layer="39"/>
<wire x1="1.346" y1="0.483" x2="1.346" y2="-0.483" width="0.0508" layer="39"/>
<wire x1="1.346" y1="-0.483" x2="-1.346" y2="-0.483" width="0.0508" layer="39"/>
<wire x1="-1.346" y1="-0.483" x2="-1.346" y2="0.483" width="0.0508" layer="39"/>
<wire x1="-1.27" y1="-0.635" x2="-1.27" y2="0.635" width="0.2032" layer="21"/>
<wire x1="-1.27" y1="0.635" x2="1.27" y2="0.635" width="0.2032" layer="21"/>
<wire x1="1.27" y1="0.635" x2="1.27" y2="-0.635" width="0.2032" layer="21"/>
<wire x1="1.27" y1="-0.635" x2="-1.27" y2="-0.635" width="0.2032" layer="21"/>
<smd name="1" x="-0.65" y="0" dx="0.7" dy="0.9" layer="1"/>
<smd name="2" x="0.65" y="0" dx="0.7" dy="0.9" layer="1"/>
<text x="1.397" y="-0.1905" size="0.8128" layer="25" ratio="18">>NAME</text>
<text x="1.397" y="-0.635" size="0.4064" layer="27" ratio="10">>VALUE</text>
<rectangle x1="-0.554" y1="-0.3048" x2="-0.254" y2="0.2951" layer="51"/>
<rectangle x1="0.2588" y1="-0.3048" x2="0.5588" y2="0.2951" layer="51"/>
<rectangle x1="-0.1999" y1="-0.3" x2="0.1999" y2="0.3" layer="35"/>
</package>
<package name="0603-MINI">
<description>0603-Mini

Mini footprint for dense boards
</description>
<wire x1="-1.346" y1="0.583" x2="1.346" y2="0.583" width="0.0508" layer="39"/>
<wire x1="1.346" y1="0.583" x2="1.346" y2="-0.583" width="0.0508" layer="39"/>
<wire x1="1.346" y1="-0.583" x2="-1.346" y2="-0.583" width="0.0508" layer="39"/>
<wire x1="-1.346" y1="-0.583" x2="-1.346" y2="0.583" width="0.0508" layer="39"/>
<wire x1="-1.37" y1="-0.635" x2="-1.37" y2="0.635" width="0.2032" layer="21"/>
<wire x1="-1.37" y1="0.635" x2="1.37" y2="0.635" width="0.2032" layer="21"/>
<wire x1="1.37" y1="0.635" x2="1.37" y2="-0.635" width="0.2032" layer="21"/>
<wire x1="1.37" y1="-0.635" x2="-1.37" y2="-0.635" width="0.2032" layer="21"/>
<wire x1="-0.356" y1="0.432" x2="0.356" y2="0.432" width="0.1016" layer="51"/>
<wire x1="-0.356" y1="-0.419" x2="0.356" y2="-0.419" width="0.1016" layer="51"/>
<smd name="1" x="-0.75" y="0" dx="0.9" dy="0.9" layer="1"/>
<smd name="2" x="0.75" y="0" dx="0.9" dy="0.9" layer="1"/>
<text x="1.524" y="-0.0635" size="0.8128" layer="25" ratio="18">>NAME</text>
<text x="1.524" y="-0.635" size="0.4064" layer="27" ratio="10">>VALUE</text>
<rectangle x1="-0.8382" y1="-0.4699" x2="-0.3381" y2="0.4801" layer="51"/>
<rectangle x1="0.3302" y1="-0.4699" x2="0.8303" y2="0.4801" layer="51"/>
</package>
<package name="0805_NOTHERMALS">
<wire x1="-1.873" y1="0.883" x2="1.873" y2="0.883" width="0.0508" layer="39"/>
<wire x1="1.873" y1="-0.883" x2="-1.873" y2="-0.883" width="0.0508" layer="39"/>
<wire x1="-1.873" y1="-0.883" x2="-1.873" y2="0.883" width="0.0508" layer="39"/>
<wire x1="-0.381" y1="0.66" x2="0.381" y2="0.66" width="0.1016" layer="51"/>
<wire x1="-0.356" y1="-0.66" x2="0.381" y2="-0.66" width="0.1016" layer="51"/>
<wire x1="1.873" y1="0.883" x2="1.873" y2="-0.883" width="0.0508" layer="39"/>
<wire x1="1.8" y1="0.9" x2="1.8" y2="-0.9" width="0.2032" layer="21"/>
<wire x1="1.8" y1="-0.9" x2="-1.8" y2="-0.9" width="0.2032" layer="21"/>
<wire x1="-1.8" y1="-0.9" x2="-1.8" y2="0.9" width="0.2032" layer="21"/>
<wire x1="-1.8" y1="0.9" x2="1.8" y2="0.9" width="0.2032" layer="21"/>
<smd name="1" x="-0.95" y="0" dx="1.3" dy="1.5" layer="1" thermals="no"/>
<smd name="2" x="0.95" y="0" dx="1.3" dy="1.5" layer="1" thermals="no"/>
<text x="2.032" y="-0.127" size="0.8128" layer="25" ratio="18">>NAME</text>
<text x="2.032" y="-0.762" size="0.4064" layer="27" ratio="10">>VALUE</text>
<rectangle x1="-1.0922" y1="-0.7239" x2="-0.3421" y2="0.7262" layer="51"/>
<rectangle x1="0.3556" y1="-0.7239" x2="1.1057" y2="0.7262" layer="51"/>
</package>
<package name="_0402">
<description> 0402</description>
<wire x1="-0.245" y1="0.174" x2="0.245" y2="0.174" width="0.1016" layer="51"/>
<wire x1="0.245" y1="-0.174" x2="-0.245" y2="-0.174" width="0.1016" layer="51"/>
<wire x1="-1.0573" y1="0.5557" x2="1.0573" y2="0.5557" width="0.2032" layer="21"/>
<wire x1="1.0573" y1="0.5557" x2="1.0573" y2="-0.5556" width="0.2032" layer="21"/>
<wire x1="1.0573" y1="-0.5556" x2="-1.0573" y2="-0.5557" width="0.2032" layer="21"/>
<wire x1="-1.0573" y1="-0.5557" x2="-1.0573" y2="0.5557" width="0.2032" layer="21"/>
<smd name="1" x="-0.508" y="0" dx="0.6" dy="0.6" layer="1"/>
<smd name="2" x="0.508" y="0" dx="0.6" dy="0.6" layer="1"/>
<text x="-0.9525" y="0.7939" size="0.8128" layer="25" ratio="18">>NAME</text>
<text x="-0.9525" y="-1.3336" size="0.4064" layer="27" ratio="10">>VALUE</text>
<rectangle x1="-0.0794" y1="-0.2381" x2="0.0794" y2="0.2381" layer="35"/>
<rectangle x1="0.25" y1="-0.25" x2="0.5" y2="0.25" layer="51"/>
<rectangle x1="-0.5" y1="-0.25" x2="-0.25" y2="0.25" layer="51"/>
</package>
<package name="_0402MP">
<description>0402 MicroPitch
</description>
<wire x1="-0.245" y1="0.174" x2="0.245" y2="0.174" width="0.1016" layer="51"/>
<wire x1="0.245" y1="-0.174" x2="-0.245" y2="-0.174" width="0.1016" layer="51"/>
<wire x1="0" y1="0.127" x2="0" y2="-0.127" width="0.2032" layer="21"/>
<smd name="1" x="-0.508" y="0" dx="0.5" dy="0.5" layer="1"/>
<smd name="2" x="0.508" y="0" dx="0.5" dy="0.5" layer="1"/>
<text x="-0.635" y="0.4763" size="0.6096" layer="25" ratio="18">>NAME</text>
<text x="-0.635" y="-0.7938" size="0.4064" layer="27" ratio="10">>VALUE</text>
<rectangle x1="-0.1" y1="-0.2" x2="0.1" y2="0.2" layer="35"/>
<rectangle x1="-0.5" y1="-0.25" x2="-0.254" y2="0.25" layer="51"/>
<rectangle x1="0.2588" y1="-0.25" x2="0.5" y2="0.25" layer="51"/>
</package>
<package name="_0603">
<description>0603</description>
<wire x1="-0.432" y1="-0.306" x2="0.432" y2="-0.306" width="0.1016" layer="51"/>
<wire x1="0.432" y1="0.306" x2="-0.432" y2="0.306" width="0.1016" layer="51"/>
<wire x1="-1.4605" y1="0.635" x2="1.4605" y2="0.635" width="0.2032" layer="21"/>
<wire x1="1.4605" y1="0.635" x2="1.4605" y2="-0.635" width="0.2032" layer="21"/>
<wire x1="1.4605" y1="-0.635" x2="-1.4605" y2="-0.635" width="0.2032" layer="21"/>
<wire x1="-1.4605" y1="-0.635" x2="-1.4605" y2="0.635" width="0.2032" layer="21"/>
<smd name="1" x="-0.762" y="0" dx="0.9" dy="0.8" layer="1"/>
<smd name="2" x="0.762" y="0" dx="0.9" dy="0.8" layer="1"/>
<text x="-1.27" y="0.9525" size="0.8128" layer="25" ratio="18">>NAME</text>
<text x="-1.27" y="-1.4923" size="0.4064" layer="27" ratio="10">>VALUE</text>
<rectangle x1="0.4318" y1="-0.4" x2="0.8382" y2="0.4" layer="51"/>
<rectangle x1="-0.8382" y1="-0.4" x2="-0.4318" y2="0.4" layer="51"/>
<rectangle x1="-0.1999" y1="-0.4001" x2="0.1999" y2="0.4001" layer="35"/>
</package>
<package name="_0603MP">
<description>0603 MicroPitch</description>
<wire x1="-0.432" y1="-0.306" x2="0.432" y2="-0.306" width="0.1016" layer="51"/>
<wire x1="0.432" y1="0.306" x2="-0.432" y2="0.306" width="0.1016" layer="51"/>
<wire x1="0" y1="0.254" x2="0" y2="-0.254" width="0.2032" layer="21"/>
<smd name="1" x="-0.762" y="0" dx="0.8" dy="0.8" layer="1"/>
<smd name="2" x="0.762" y="0" dx="0.8" dy="0.8" layer="1"/>
<text x="-0.9525" y="0.635" size="0.8128" layer="25" ratio="18">>NAME</text>
<text x="-0.9525" y="-0.9525" size="0.4064" layer="27" ratio="10">>VALUE</text>
<rectangle x1="0.4318" y1="-0.4" x2="0.8" y2="0.4" layer="51"/>
<rectangle x1="-0.8" y1="-0.4" x2="-0.4318" y2="0.4" layer="51"/>
<rectangle x1="-0.1999" y1="-0.25" x2="0.1999" y2="0.25" layer="35"/>
</package>
<package name="_0805">
<description>0805</description>
<wire x1="-0.41" y1="0.585" x2="0.41" y2="0.585" width="0.1016" layer="51"/>
<wire x1="-0.41" y1="-0.585" x2="0.41" y2="-0.585" width="0.1016" layer="51"/>
<wire x1="-1.905" y1="0.889" x2="1.905" y2="0.889" width="0.2032" layer="21"/>
<wire x1="1.905" y1="0.889" x2="1.905" y2="-0.889" width="0.2032" layer="21"/>
<wire x1="1.905" y1="-0.889" x2="-1.905" y2="-0.889" width="0.2032" layer="21"/>
<wire x1="-1.905" y1="-0.889" x2="-1.905" y2="0.889" width="0.2032" layer="21"/>
<smd name="1" x="-1.016" y="0" dx="1.2" dy="1.3" layer="1"/>
<smd name="2" x="1.016" y="0" dx="1.2" dy="1.3" layer="1"/>
<text x="-1.5875" y="1.27" size="0.8128" layer="25" ratio="18">>NAME</text>
<text x="-1.5874" y="-1.651" size="0.4064" layer="27" ratio="10">>VALUE</text>
<rectangle x1="0.4064" y1="-0.65" x2="1.0564" y2="0.65" layer="51"/>
<rectangle x1="-1.0668" y1="-0.65" x2="-0.4168" y2="0.65" layer="51"/>
<rectangle x1="-0.1999" y1="-0.5001" x2="0.1999" y2="0.5001" layer="35"/>
</package>
<package name="_0805MP">
<description>0805 MicroPitch</description>
<wire x1="-0.51" y1="0.535" x2="0.51" y2="0.535" width="0.1016" layer="51"/>
<wire x1="-0.51" y1="-0.535" x2="0.51" y2="-0.535" width="0.1016" layer="51"/>
<wire x1="0" y1="0.508" x2="0" y2="-0.508" width="0.2032" layer="21"/>
<smd name="1" x="-1.016" y="0" dx="1.2" dy="1.3" layer="1"/>
<smd name="2" x="1.016" y="0" dx="1.2" dy="1.3" layer="1"/>
<text x="-1.5875" y="0.9525" size="0.8128" layer="25" ratio="18">>NAME</text>
<text x="-1.5875" y="-1.27" size="0.4064" layer="27" ratio="10">>VALUE</text>
<rectangle x1="0.4064" y1="-0.65" x2="1" y2="0.65" layer="51"/>
<rectangle x1="-1" y1="-0.65" x2="-0.4168" y2="0.65" layer="51"/>
<rectangle x1="-0.1999" y1="-0.5001" x2="0.1999" y2="0.5001" layer="35"/>
</package>
<package name="2012">
<wire x1="-1.662" y1="1.245" x2="1.662" y2="1.245" width="0.2032" layer="51"/>
<wire x1="-1.637" y1="-1.245" x2="1.687" y2="-1.245" width="0.2032" layer="51"/>
<wire x1="-3.473" y1="1.483" x2="3.473" y2="1.483" width="0.0508" layer="39"/>
<wire x1="3.473" y1="1.483" x2="3.473" y2="-1.483" width="0.0508" layer="39"/>
<wire x1="3.473" y1="-1.483" x2="-3.473" y2="-1.483" width="0.0508" layer="39"/>
<wire x1="-3.473" y1="-1.483" x2="-3.473" y2="1.483" width="0.0508" layer="39"/>
<wire x1="-3.302" y1="1.524" x2="3.302" y2="1.524" width="0.2032" layer="21"/>
<wire x1="3.302" y1="1.524" x2="3.302" y2="-1.524" width="0.2032" layer="21"/>
<wire x1="3.302" y1="-1.524" x2="-3.302" y2="-1.524" width="0.2032" layer="21"/>
<wire x1="-3.302" y1="-1.524" x2="-3.302" y2="1.524" width="0.2032" layer="21"/>
<smd name="1" x="-2.2" y="0" dx="1.8" dy="2.7" layer="1"/>
<smd name="2" x="2.2" y="0" dx="1.8" dy="2.7" layer="1"/>
<text x="-2.54" y="1.8415" size="0.8128" layer="25" ratio="18">>NAME</text>
<text x="-2.667" y="-2.159" size="0.4064" layer="27" ratio="10">>VALUE</text>
<rectangle x1="-2.4892" y1="-1.3208" x2="-1.6393" y2="1.3292" layer="51"/>
<rectangle x1="1.651" y1="-1.3208" x2="2.5009" y2="1.3292" layer="51"/>
</package>
<package name="2512">
<description>RESISTOR 2512 (Metric 6432)</description>
<wire x1="-2.362" y1="1.473" x2="2.387" y2="1.473" width="0.2032" layer="51"/>
<wire x1="-2.362" y1="-1.473" x2="2.387" y2="-1.473" width="0.2032" layer="51"/>
<wire x1="-3.973" y1="1.983" x2="3.973" y2="1.983" width="0.0508" layer="39"/>
<wire x1="3.973" y1="1.983" x2="3.973" y2="-1.983" width="0.0508" layer="39"/>
<wire x1="3.973" y1="-1.983" x2="-3.973" y2="-1.983" width="0.0508" layer="39"/>
<wire x1="-3.973" y1="-1.983" x2="-3.973" y2="1.983" width="0.0508" layer="39"/>
<smd name="1" x="-2.8" y="0" dx="1.8" dy="3.2" layer="1"/>
<smd name="2" x="2.8" y="0" dx="1.8" dy="3.2" layer="1"/>
<text x="-3.683" y="1.905" size="0.8128" layer="25" ratio="18">>NAME</text>
<text x="-3.556" y="-2.286" size="0.4064" layer="27" ratio="10">>VALUE</text>
<rectangle x1="-3.2004" y1="-1.5494" x2="-2.3505" y2="1.5507" layer="51"/>
<rectangle x1="2.3622" y1="-1.5494" x2="3.2121" y2="1.5507" layer="51"/>
<rectangle x1="-0.5001" y1="-1" x2="0.5001" y2="1" layer="35"/>
</package>
<package name="SOLDERJUMPER_REFLOW">
<description>Solder Jumper - Reflow</description>
<wire x1="1.397" y1="-1.016" x2="-1.397" y2="-1.016" width="0.2032" layer="21"/>
<wire x1="1.397" y1="1.016" x2="1.651" y2="0.762" width="0.2032" layer="21" curve="-90"/>
<wire x1="-1.651" y1="0.762" x2="-1.397" y2="1.016" width="0.2032" layer="21" curve="-90"/>
<wire x1="-1.651" y1="-0.762" x2="-1.397" y2="-1.016" width="0.2032" layer="21" curve="90"/>
<wire x1="1.397" y1="-1.016" x2="1.651" y2="-0.762" width="0.2032" layer="21" curve="90"/>
<wire x1="1.651" y1="-0.762" x2="1.651" y2="0.762" width="0.2032" layer="21"/>
<wire x1="-1.651" y1="-0.762" x2="-1.651" y2="0.762" width="0.2032" layer="21"/>
<wire x1="-1.397" y1="1.016" x2="1.397" y2="1.016" width="0.2032" layer="21"/>
<wire x1="1.016" y1="0" x2="1.524" y2="0" width="0.2032" layer="51"/>
<wire x1="-1.016" y1="0" x2="-1.524" y2="0" width="0.2032" layer="51"/>
<wire x1="-0.254" y1="-0.127" x2="-0.254" y2="0.127" width="1.27" layer="51" curve="-180" cap="flat"/>
<wire x1="0.254" y1="0.127" x2="0.254" y2="-0.127" width="1.27" layer="51" curve="-180" cap="flat"/>
<smd name="1" x="-0.762" y="0" dx="1.1684" dy="1.6002" layer="1"/>
<smd name="2" x="0.762" y="0" dx="1.1684" dy="1.6002" layer="1"/>
<text x="-1.651" y="1.27" size="0.8128" layer="25" ratio="18">>NAME</text>
<text x="0.4001" y="0" size="0.02" layer="27">>VALUE</text>
<rectangle x1="-0.0762" y1="-0.9144" x2="0.0762" y2="0.9144" layer="29"/>
</package>
<package name="SOLDERJUMPER_WAVE">
<description>Solder Jumper - Wave</description>
<wire x1="1.905" y1="-1.524" x2="-1.905" y2="-1.524" width="0.2032" layer="21"/>
<wire x1="1.905" y1="1.524" x2="2.159" y2="1.27" width="0.2032" layer="21" curve="-90"/>
<wire x1="-2.159" y1="1.27" x2="-1.905" y2="1.524" width="0.2032" layer="21" curve="-90"/>
<wire x1="-2.159" y1="-1.27" x2="-1.905" y2="-1.524" width="0.2032" layer="21" curve="90"/>
<wire x1="1.905" y1="-1.524" x2="2.159" y2="-1.27" width="0.2032" layer="21" curve="90"/>
<wire x1="2.159" y1="-1.27" x2="2.159" y2="1.27" width="0.2032" layer="21"/>
<wire x1="-2.159" y1="-1.27" x2="-2.159" y2="1.27" width="0.2032" layer="21"/>
<wire x1="-1.905" y1="1.524" x2="1.905" y2="1.524" width="0.2032" layer="21"/>
<wire x1="0.762" y1="0.762" x2="0.762" y2="-0.762" width="0.2032" layer="51"/>
<wire x1="-0.762" y1="0.762" x2="-0.762" y2="-0.762" width="0.2032" layer="51"/>
<wire x1="1.524" y1="0" x2="2.032" y2="0" width="0.2032" layer="51"/>
<wire x1="-1.524" y1="0" x2="-2.032" y2="0" width="0.2032" layer="51"/>
<wire x1="0.762" y1="0.762" x2="0.762" y2="-0.762" width="0.2032" layer="51" curve="-180"/>
<wire x1="-0.762" y1="0.762" x2="-0.762" y2="-0.762" width="0.2032" layer="51" curve="180"/>
<smd name="1" x="-1.27" y="0" dx="1.27" dy="2.54" layer="1"/>
<smd name="2" x="1.27" y="0" dx="1.27" dy="2.54" layer="1"/>
<text x="-2.159" y="1.778" size="0.8128" layer="25" ratio="18">>NAME</text>
<text x="1" y="0" size="0.02" layer="27">>VALUE</text>
<rectangle x1="0.762" y1="-0.762" x2="1.016" y2="0.762" layer="51"/>
<rectangle x1="1.016" y1="-0.635" x2="1.27" y2="0.635" layer="51"/>
<rectangle x1="1.27" y1="-0.508" x2="1.397" y2="0.508" layer="51"/>
<rectangle x1="1.397" y1="-0.254" x2="1.524" y2="0.254" layer="51"/>
<rectangle x1="-1.016" y1="-0.762" x2="-0.762" y2="0.762" layer="51"/>
<rectangle x1="-1.27" y1="-0.635" x2="-1.016" y2="0.635" layer="51"/>
<rectangle x1="-1.397" y1="-0.508" x2="-1.27" y2="0.508" layer="51"/>
<rectangle x1="-1.524" y1="-0.254" x2="-1.397" y2="0.254" layer="51"/>
<rectangle x1="0.9652" y1="-0.7112" x2="1.0922" y2="-0.5842" layer="51"/>
<rectangle x1="1.3462" y1="-0.3556" x2="1.4732" y2="-0.2286" layer="51"/>
<rectangle x1="1.3462" y1="0.2032" x2="1.4732" y2="0.3302" layer="51"/>
<rectangle x1="0.9652" y1="0.5842" x2="1.0922" y2="0.7112" layer="51"/>
<rectangle x1="-1.0922" y1="-0.7112" x2="-0.9652" y2="-0.5842" layer="51"/>
<rectangle x1="-1.4478" y1="-0.3302" x2="-1.3208" y2="-0.2032" layer="51"/>
<rectangle x1="-1.4732" y1="0.2032" x2="-1.3462" y2="0.3302" layer="51"/>
<rectangle x1="-1.1176" y1="0.5842" x2="-0.9906" y2="0.7112" layer="51"/>
</package>
<package name="SOLDERJUMPER_CLOSEDWIRE">
<wire x1="1.397" y1="-1.016" x2="-1.397" y2="-1.016" width="0.2032" layer="21"/>
<wire x1="1.397" y1="1.016" x2="1.651" y2="0.762" width="0.2032" layer="21" curve="-90"/>
<wire x1="-1.651" y1="0.762" x2="-1.397" y2="1.016" width="0.2032" layer="21" curve="-90"/>
<wire x1="-1.651" y1="-0.762" x2="-1.397" y2="-1.016" width="0.2032" layer="21" curve="90"/>
<wire x1="1.397" y1="-1.016" x2="1.651" y2="-0.762" width="0.2032" layer="21" curve="90"/>
<wire x1="1.651" y1="-0.762" x2="1.651" y2="0.762" width="0.2032" layer="21"/>
<wire x1="-1.651" y1="-0.762" x2="-1.651" y2="0.762" width="0.2032" layer="21"/>
<wire x1="-1.397" y1="1.016" x2="1.397" y2="1.016" width="0.2032" layer="21"/>
<wire x1="1.016" y1="0" x2="1.524" y2="0" width="0.2032" layer="51"/>
<wire x1="-1.016" y1="0" x2="-1.524" y2="0" width="0.2032" layer="51"/>
<wire x1="-0.254" y1="-0.127" x2="-0.254" y2="0.127" width="1.27" layer="51" curve="-180" cap="flat"/>
<wire x1="0.254" y1="0.127" x2="0.254" y2="-0.127" width="1.27" layer="51" curve="-180" cap="flat"/>
<smd name="1" x="-0.762" y="0" dx="1.1684" dy="1.6002" layer="1" cream="no"/>
<smd name="2" x="0.762" y="0" dx="1.1684" dy="1.6002" layer="1" cream="no"/>
<smd name="WIRE" x="0" y="0" dx="0.635" dy="0.2032" layer="1" cream="no"/>
<text x="-1.651" y="1.27" size="0.8128" layer="25" ratio="18">>NAME</text>
<text x="-1.524" y="-1.651" size="0.4064" layer="27" ratio="10">>VALUE</text>
<rectangle x1="-0.0762" y1="-0.9144" x2="0.0762" y2="0.9144" layer="29"/>
</package>
<package name="SOLDERJUMPER_REFLOW_NOPASTE">
<wire x1="1.397" y1="-1.016" x2="-1.397" y2="-1.016" width="0.2032" layer="21"/>
<wire x1="1.397" y1="1.016" x2="1.651" y2="0.762" width="0.2032" layer="21" curve="-90"/>
<wire x1="-1.651" y1="0.762" x2="-1.397" y2="1.016" width="0.2032" layer="21" curve="-90"/>
<wire x1="-1.651" y1="-0.762" x2="-1.397" y2="-1.016" width="0.2032" layer="21" curve="90"/>
<wire x1="1.397" y1="-1.016" x2="1.651" y2="-0.762" width="0.2032" layer="21" curve="90"/>
<wire x1="1.651" y1="-0.762" x2="1.651" y2="0.762" width="0.2032" layer="21"/>
<wire x1="-1.651" y1="-0.762" x2="-1.651" y2="0.762" width="0.2032" layer="21"/>
<wire x1="-1.397" y1="1.016" x2="1.397" y2="1.016" width="0.2032" layer="21"/>
<wire x1="1.016" y1="0" x2="1.524" y2="0" width="0.2032" layer="51"/>
<wire x1="-1.016" y1="0" x2="-1.524" y2="0" width="0.2032" layer="51"/>
<wire x1="-0.254" y1="-0.127" x2="-0.254" y2="0.127" width="1.27" layer="51" curve="-180" cap="flat"/>
<wire x1="0.254" y1="0.127" x2="0.254" y2="-0.127" width="1.27" layer="51" curve="-180" cap="flat"/>
<smd name="1" x="-0.762" y="0" dx="1.1684" dy="1.6002" layer="1" cream="no"/>
<smd name="2" x="0.762" y="0" dx="1.1684" dy="1.6002" layer="1" cream="no"/>
<text x="-1.651" y="1.27" size="0.8128" layer="25" ratio="18">>NAME</text>
<text x="0.4001" y="0" size="0.02" layer="27">>VALUE</text>
<rectangle x1="-0.0762" y1="-0.9144" x2="0.0762" y2="0.9144" layer="29"/>
</package>
<package name="SOLDERJUMPER_ARROW_NOPASTE">
<wire x1="1.397" y1="-1.016" x2="-1.397" y2="-1.016" width="0.2032" layer="21"/>
<wire x1="1.397" y1="1.016" x2="1.651" y2="0.762" width="0.2032" layer="21" curve="-90"/>
<wire x1="-1.651" y1="0.762" x2="-1.397" y2="1.016" width="0.2032" layer="21" curve="-90"/>
<wire x1="-1.651" y1="-0.762" x2="-1.397" y2="-1.016" width="0.2032" layer="21" curve="90"/>
<wire x1="1.397" y1="-1.016" x2="1.651" y2="-0.762" width="0.2032" layer="21" curve="90"/>
<wire x1="1.651" y1="-0.762" x2="1.651" y2="0.762" width="0.2032" layer="21"/>
<wire x1="-1.651" y1="-0.762" x2="-1.651" y2="0.762" width="0.2032" layer="21"/>
<wire x1="-1.397" y1="1.016" x2="1.397" y2="1.016" width="0.2032" layer="21"/>
<smd name="1" x="-1.016" y="0" dx="0.762" dy="1.524" layer="1" roundness="50" stop="no" cream="no"/>
<smd name="2" x="1.016" y="0" dx="0.762" dy="1.524" layer="1" roundness="50" stop="no" cream="no"/>
<text x="-1.778" y="1.27" size="0.8128" layer="25" ratio="18">>NAME</text>
<text x="-1.651" y="-1.651" size="0.4064" layer="27" ratio="10">>VALUE</text>
<polygon width="0.0508" layer="1">
<vertex x="-1.143" y="0.7366"/>
<vertex x="-0.5715" y="0.7366"/>
<vertex x="0.1651" y="0"/>
<vertex x="-0.5715" y="-0.7366"/>
<vertex x="-1.143" y="-0.7366"/>
</polygon>
<polygon width="0.0508" layer="1">
<vertex x="-0.127" y="0.7366"/>
<vertex x="0.5842" y="0"/>
<vertex x="-0.127" y="-0.7366"/>
<vertex x="1.143" y="-0.7366"/>
<vertex x="1.143" y="0.7366"/>
</polygon>
<rectangle x1="-1.4605" y1="-0.8255" x2="1.4605" y2="0.8255" layer="29"/>
</package>
<package name="1X07_OVAL">
<description>PIN HEADER</description>
<wire x1="-8.89" y1="0.635" x2="-8.89" y2="-0.635" width="0.2032" layer="51"/>
<pad name="1" x="-7.62" y="0" drill="1" shape="long" rot="R90"/>
<pad name="2" x="-5.08" y="0" drill="1" shape="long" rot="R90"/>
<pad name="3" x="-2.54" y="0" drill="1" shape="long" rot="R90"/>
<pad name="4" x="0" y="0" drill="1" shape="long" rot="R90"/>
<pad name="5" x="2.54" y="0" drill="1" shape="long" rot="R90"/>
<pad name="6" x="5.08" y="0" drill="1" shape="long" rot="R90"/>
<pad name="7" x="7.62" y="0" drill="1" shape="long" rot="R90"/>
<text x="-8.9662" y="1.8288" size="0.8128" layer="25" ratio="18">>NAME</text>
<text x="-8.89" y="-3.175" size="0.4064" layer="27" ratio="10">>VALUE</text>
<rectangle x1="4.826" y1="-0.254" x2="5.334" y2="0.254" layer="51"/>
<rectangle x1="2.286" y1="-0.254" x2="2.794" y2="0.254" layer="51"/>
<rectangle x1="-0.254" y1="-0.254" x2="0.254" y2="0.254" layer="51"/>
<rectangle x1="-2.794" y1="-0.254" x2="-2.286" y2="0.254" layer="51"/>
<rectangle x1="-5.334" y1="-0.254" x2="-4.826" y2="0.254" layer="51"/>
<rectangle x1="-7.874" y1="-0.254" x2="-7.366" y2="0.254" layer="51"/>
<rectangle x1="7.366" y1="-0.254" x2="7.874" y2="0.254" layer="51"/>
</package>
<package name="1X07_ROUND">
<wire x1="-8.89" y1="0.635" x2="-8.89" y2="-0.635" width="0.2032" layer="51"/>
<pad name="1" x="-7.62" y="0" drill="1" diameter="1.6764" rot="R90"/>
<pad name="2" x="-5.08" y="0" drill="1" diameter="1.6764" rot="R90"/>
<pad name="3" x="-2.54" y="0" drill="1" diameter="1.6764" rot="R90"/>
<pad name="4" x="0" y="0" drill="1" diameter="1.6764" rot="R90"/>
<pad name="5" x="2.54" y="0" drill="1" diameter="1.6764" rot="R90"/>
<pad name="6" x="5.08" y="0" drill="1" diameter="1.6764" rot="R90"/>
<pad name="7" x="7.62" y="0" drill="1" diameter="1.6764" rot="R90"/>
<text x="-8.9662" y="1.8288" size="0.8128" layer="25" ratio="18">>NAME</text>
<text x="-8.89" y="-3.175" size="0.4064" layer="27" ratio="10">>VALUE</text>
<rectangle x1="4.826" y1="-0.254" x2="5.334" y2="0.254" layer="51"/>
<rectangle x1="2.286" y1="-0.254" x2="2.794" y2="0.254" layer="51"/>
<rectangle x1="-0.254" y1="-0.254" x2="0.254" y2="0.254" layer="51"/>
<rectangle x1="-2.794" y1="-0.254" x2="-2.286" y2="0.254" layer="51"/>
<rectangle x1="-5.334" y1="-0.254" x2="-4.826" y2="0.254" layer="51"/>
<rectangle x1="-7.874" y1="-0.254" x2="-7.366" y2="0.254" layer="51"/>
<rectangle x1="7.366" y1="-0.254" x2="7.874" y2="0.254" layer="51"/>
</package>
<package name="1X07_ROUND_76">
<wire x1="-8.89" y1="0.635" x2="-8.89" y2="-0.635" width="0.2032" layer="51"/>
<pad name="1" x="-7.62" y="0" drill="1" diameter="1.9304" rot="R90"/>
<pad name="2" x="-5.08" y="0" drill="1" diameter="1.9304" rot="R90"/>
<pad name="3" x="-2.54" y="0" drill="1" diameter="1.9304" rot="R90"/>
<pad name="4" x="0" y="0" drill="1" diameter="1.9304" rot="R90"/>
<pad name="5" x="2.54" y="0" drill="1" diameter="1.9304" rot="R90"/>
<pad name="6" x="5.08" y="0" drill="1" diameter="1.9304" rot="R90"/>
<pad name="7" x="7.62" y="0" drill="1" diameter="1.9304" rot="R90"/>
<text x="-8.9662" y="1.8288" size="0.8128" layer="25" ratio="18">>NAME</text>
<text x="-8.89" y="-3.175" size="0.4064" layer="27" ratio="10">>VALUE</text>
<rectangle x1="4.826" y1="-0.254" x2="5.334" y2="0.254" layer="51"/>
<rectangle x1="2.286" y1="-0.254" x2="2.794" y2="0.254" layer="51"/>
<rectangle x1="-0.254" y1="-0.254" x2="0.254" y2="0.254" layer="51"/>
<rectangle x1="-2.794" y1="-0.254" x2="-2.286" y2="0.254" layer="51"/>
<rectangle x1="-5.334" y1="-0.254" x2="-4.826" y2="0.254" layer="51"/>
<rectangle x1="-7.874" y1="-0.254" x2="-7.366" y2="0.254" layer="51"/>
<rectangle x1="7.366" y1="-0.254" x2="7.874" y2="0.254" layer="51"/>
</package>
<package name="1X07_ROUND_70">
<wire x1="-8.89" y1="0.635" x2="-8.89" y2="-0.635" width="0.2032" layer="51"/>
<pad name="1" x="-7.62" y="0" drill="1" diameter="1.778" rot="R90"/>
<pad name="2" x="-5.08" y="0" drill="1" diameter="1.778" rot="R90"/>
<pad name="3" x="-2.54" y="0" drill="1" diameter="1.778" rot="R90"/>
<pad name="4" x="0" y="0" drill="1" diameter="1.778" rot="R90"/>
<pad name="5" x="2.54" y="0" drill="1" diameter="1.778" rot="R90"/>
<pad name="6" x="5.08" y="0" drill="1" diameter="1.778" rot="R90"/>
<pad name="7" x="7.62" y="0" drill="1" diameter="1.778" rot="R90"/>
<text x="-8.9662" y="1.8288" size="0.8128" layer="25" ratio="18">>NAME</text>
<text x="-8.89" y="-3.175" size="0.4064" layer="27" ratio="10">>VALUE</text>
<rectangle x1="4.826" y1="-0.254" x2="5.334" y2="0.254" layer="51"/>
<rectangle x1="2.286" y1="-0.254" x2="2.794" y2="0.254" layer="51"/>
<rectangle x1="-0.254" y1="-0.254" x2="0.254" y2="0.254" layer="51"/>
<rectangle x1="-2.794" y1="-0.254" x2="-2.286" y2="0.254" layer="51"/>
<rectangle x1="-5.334" y1="-0.254" x2="-4.826" y2="0.254" layer="51"/>
<rectangle x1="-7.874" y1="-0.254" x2="-7.366" y2="0.254" layer="51"/>
<rectangle x1="7.366" y1="-0.254" x2="7.874" y2="0.254" layer="51"/>
</package>
<package name="MOUNTINGHOLE_3.0_PLATED">
<wire x1="-2.159" y1="0" x2="0" y2="-2.159" width="2.4892" layer="51" curve="90" cap="flat"/>
<wire x1="0" y1="2.159" x2="2.159" y2="0" width="2.4892" layer="51" curve="-90" cap="flat"/>
<circle x="0" y="0" radius="3.429" width="0.2032" layer="21"/>
<circle x="0" y="0" radius="0.762" width="0.4572" layer="51"/>
<circle x="0" y="0" radius="3.048" width="2.032" layer="39"/>
<circle x="0" y="0" radius="3.048" width="2.032" layer="43"/>
<circle x="0" y="0" radius="3.048" width="2.032" layer="40"/>
<circle x="0" y="0" radius="3.048" width="2.032" layer="41"/>
<circle x="0" y="0" radius="3.048" width="2.032" layer="42"/>
<pad name="P$1" x="0" y="0" drill="3" diameter="6.4516"/>
<text x="-1.27" y="-3.81" size="1.27" layer="48">3,0</text>
</package>
<package name="MOUNTINGHOLE_1.0_PLATED">
<circle x="0" y="0" radius="1.75" width="0.2032" layer="21"/>
<circle x="0" y="0" radius="1" width="2.032" layer="39"/>
<circle x="0" y="0" radius="1" width="2.032" layer="43"/>
<circle x="0" y="0" radius="1" width="2.032" layer="40"/>
<circle x="0" y="0" radius="1" width="2.032" layer="41"/>
<circle x="0" y="0" radius="1" width="2.032" layer="42"/>
<pad name="P$1" x="0" y="0" drill="1" diameter="3"/>
<text x="-0.87" y="-2.74" size="0.8128" layer="48">1,0</text>
</package>
<package name="MOUNTINGHOLE_2.0_PLATED">
<circle x="0" y="0" radius="1.75" width="0.2032" layer="21"/>
<circle x="0" y="0" radius="1" width="2.032" layer="39"/>
<circle x="0" y="0" radius="1" width="2.032" layer="43"/>
<circle x="0" y="0" radius="1" width="2.032" layer="40"/>
<circle x="0" y="0" radius="1" width="2.032" layer="41"/>
<circle x="0" y="0" radius="1" width="2.032" layer="42"/>
<pad name="P$1" x="0" y="0" drill="2.2" diameter="3"/>
<text x="-0.87" y="-2.74" size="0.8128" layer="48">2,0</text>
</package>
<package name="MOUNTINGHOLE_3.0_PLATEDTHIN">
<circle x="0" y="0" radius="2.032" width="0.2032" layer="21"/>
<circle x="0" y="0" radius="1" width="2.032" layer="39"/>
<circle x="0" y="0" radius="1" width="2.032" layer="43"/>
<circle x="0" y="0" radius="1" width="2.032" layer="40"/>
<circle x="0" y="0" radius="1" width="2.032" layer="41"/>
<circle x="0" y="0" radius="1" width="2.032" layer="42"/>
<pad name="P$1" x="0" y="0" drill="3" diameter="3.6"/>
<text x="-0.87" y="-2.74" size="0.8128" layer="48">3,0</text>
</package>
<package name="MOUNTINGHOLE_2.5_PLATED">
<circle x="0" y="0" radius="1.75" width="0.2032" layer="21"/>
<circle x="0" y="0" radius="1" width="2.032" layer="39"/>
<circle x="0" y="0" radius="1" width="2.032" layer="40"/>
<circle x="0" y="0" radius="1" width="2.032" layer="41"/>
<circle x="0" y="0" radius="1" width="2.032" layer="42"/>
<pad name="P$1" x="0" y="0" drill="2.5" diameter="3.2"/>
</package>
<package name="MOUNTINGHOLE_2.5_PLATED_THICK">
<circle x="0" y="0" radius="2.25" width="0.2032" layer="21"/>
<circle x="0" y="0" radius="1.25" width="2.032" layer="39"/>
<circle x="0" y="0" radius="1.25" width="2.032" layer="40"/>
<circle x="0" y="0" radius="1.25" width="2.032" layer="41"/>
<circle x="0" y="0" radius="1.25" width="2.032" layer="42"/>
<pad name="P$1" x="0" y="0" drill="2.5" diameter="4"/>
</package>
</packages>
<symbols>
<symbol name="CAPACITOR">
<wire x1="0" y1="0.762" x2="0" y2="0" width="0.1524" layer="94"/>
<wire x1="0" y1="2.54" x2="0" y2="1.778" width="0.1524" layer="94"/>
<text x="2.54" y="2.54" size="1.27" layer="95" font="vector">>NAME</text>
<text x="2.54" y="0" size="1.27" layer="96" font="vector">>VALUE</text>
<rectangle x1="-1.27" y1="0.508" x2="1.27" y2="1.016" layer="94"/>
<rectangle x1="-1.27" y1="1.524" x2="1.27" y2="2.032" layer="94"/>
<pin name="P$1" x="0" y="5.08" visible="off" length="short" direction="pas" swaplevel="1" rot="R270"/>
<pin name="P$2" x="0" y="-2.54" visible="off" length="short" direction="pas" swaplevel="1" rot="R90"/>
</symbol>
<symbol name="RESISTOR">
<wire x1="-2.54" y1="1.27" x2="2.54" y2="1.27" width="0.254" layer="94"/>
<wire x1="2.54" y1="1.27" x2="2.54" y2="-1.27" width="0.254" layer="94"/>
<wire x1="2.54" y1="-1.27" x2="-2.54" y2="-1.27" width="0.254" layer="94"/>
<wire x1="-2.54" y1="-1.27" x2="-2.54" y2="1.27" width="0.254" layer="94"/>
<text x="-2.54" y="2.032" size="1.27" layer="95" font="vector">>NAME</text>
<text x="-2.54" y="-3.175" size="1.27" layer="96" font="vector">>VALUE</text>
<pin name="1" x="-5.08" y="0" visible="off" length="short" direction="pas" swaplevel="1"/>
<pin name="2" x="5.08" y="0" visible="off" length="short" direction="pas" swaplevel="1" rot="R180"/>
</symbol>
<symbol name="GND">
<wire x1="-1.27" y1="0" x2="1.27" y2="0" width="0.254" layer="94"/>
<text x="-1.524" y="-2.54" size="1.27" layer="96">>VALUE</text>
<pin name="GND" x="0" y="2.54" visible="off" length="short" direction="sup" rot="R270"/>
</symbol>
<symbol name="VCC">
<text x="-1.524" y="1.016" size="1.27" layer="96">>VALUE</text>
<pin name="VCC" x="0" y="-2.54" visible="off" length="short" direction="sup" rot="R90"/>
<wire x1="-1.27" y1="-1.27" x2="0" y2="0" width="0.254" layer="94"/>
<wire x1="0" y1="0" x2="1.27" y2="-1.27" width="0.254" layer="94"/>
</symbol>
<symbol name="SOLDERJUMPER">
<wire x1="0.381" y1="0.635" x2="0.381" y2="-0.635" width="1.27" layer="94" curve="-180" cap="flat"/>
<wire x1="-0.381" y1="-0.635" x2="-0.381" y2="0.635" width="1.27" layer="94" curve="-180" cap="flat"/>
<wire x1="2.54" y1="0" x2="1.651" y2="0" width="0.1524" layer="94"/>
<wire x1="-2.54" y1="0" x2="-1.651" y2="0" width="0.1524" layer="94"/>
<text x="-2.54" y="2.54" size="1.778" layer="95">>NAME</text>
<text x="-2.54" y="-3.81" size="1.778" layer="96">>VALUE</text>
<pin name="2" x="5.08" y="0" visible="pad" length="short" direction="pas" swaplevel="1" rot="R180"/>
<pin name="1" x="-5.08" y="0" visible="pad" length="short" direction="pas" swaplevel="1"/>
</symbol>
<symbol name="PINHD7">
<wire x1="-6.35" y1="-10.16" x2="1.27" y2="-10.16" width="0.4064" layer="94"/>
<wire x1="1.27" y1="-10.16" x2="1.27" y2="10.16" width="0.4064" layer="94"/>
<wire x1="1.27" y1="10.16" x2="-6.35" y2="10.16" width="0.4064" layer="94"/>
<wire x1="-6.35" y1="10.16" x2="-6.35" y2="-10.16" width="0.4064" layer="94"/>
<text x="-6.35" y="10.795" size="1.778" layer="95">>NAME</text>
<text x="-6.35" y="-12.7" size="1.778" layer="96">>VALUE</text>
<pin name="1" x="-2.54" y="7.62" visible="pad" length="short" direction="pas" function="dot"/>
<pin name="2" x="-2.54" y="5.08" visible="pad" length="short" direction="pas" function="dot"/>
<pin name="3" x="-2.54" y="2.54" visible="pad" length="short" direction="pas" function="dot"/>
<pin name="4" x="-2.54" y="0" visible="pad" length="short" direction="pas" function="dot"/>
<pin name="5" x="-2.54" y="-2.54" visible="pad" length="short" direction="pas" function="dot"/>
<pin name="6" x="-2.54" y="-5.08" visible="pad" length="short" direction="pas" function="dot"/>
<pin name="7" x="-2.54" y="-7.62" visible="pad" length="short" direction="pas" function="dot"/>
</symbol>
<symbol name="MOUNTINGHOLE">
<circle x="0" y="0" radius="2.54" width="0.254" layer="94"/>
<circle x="0" y="0" radius="1.905" width="0.254" layer="94"/>
</symbol>
</symbols>
<devicesets>
<deviceset name="CAP_CERAMIC" prefix="C" uservalue="yes">
<description>
Ceramic Capacitors

0402 - 0402 Surface Mount Capacitors

16pF 50V 5% [Digikey: 445-4899-2-ND]

18pF 50V 5% [Digikey: 490-128

extension: sch