From fe494e5194c7368441e3773695b267025a8fb198 Mon Sep 17 00:00:00 2001 From: Mustafa Mulla Date: Tue, 6 Oct 2026 11:35:20 +0530 Subject: [PATCH 1/2] test: reproduce diode resistor alignment across parallel branches --- ...-resistor-topology-repro-branched.snap.svg | 40 ++++++++++ ...-resistor-topology-repro-parallel.snap.svg | 44 +++++++++++ ...de-resistor-topology-repro-series.snap.svg | 40 ++++++++++ .../diode-resistor-topology-repro.test.tsx | 79 +++++++++++++++++++ 4 files changed, 203 insertions(+) create mode 100644 tests/cases/__snapshots__/diode-resistor-topology-repro-branched.snap.svg create mode 100644 tests/cases/__snapshots__/diode-resistor-topology-repro-parallel.snap.svg create mode 100644 tests/cases/__snapshots__/diode-resistor-topology-repro-series.snap.svg create mode 100644 tests/cases/diode-resistor-topology-repro.test.tsx diff --git a/tests/cases/__snapshots__/diode-resistor-topology-repro-branched.snap.svg b/tests/cases/__snapshots__/diode-resistor-topology-repro-branched.snap.svg new file mode 100644 index 0000000..c8b71e4 --- /dev/null +++ b/tests/cases/__snapshots__/diode-resistor-topology-repro-branched.snap.svg @@ -0,0 +1,40 @@ + + + D4R30100kΩU11VDDGNDVMOTORADC#1 DiodeResistorNotAligned +<DiodeResistorNotAligned diodeComponentName="D4" diodePin="neg" resistorComponentName="R30" resistorPin="anode" message="trace has corners — align D4 and R30 on same axis and rotate so D4.neg faces R30.anode" />#1 DiodeResistorNotAligned +<DiodeResistorNotAligned diodeComponentName="D4" diodePin="neg" resistorComponentName="R30" resistorPin="anode" message="trace has corners — align D4 and R30 on same axis and rotate so D4.neg faces R30.anode" />1 +#1 DiodeResistorNotAligned +<DiodeResistorNotAligned diodeComponentName="D4" diodePin="neg" resistorComponentName="R30" resistorPin="anode" message="trace has corners — align D4 and R30 on same axis and rotate so D4.neg faces R30.anode" />1 + + + + +Emitted issue counts (all sheets): +DiodeResistorNotAligned: 1 +Selected type(s): DiodeResistorNotAligned +Matching issues: 1 +#1 +<DiodeResistorNotAligned diodeComponentName="D4" diodePin="neg" resistorComponentName="R30" + resistorPin="anode" message="trace has corners — align D4 and R30 on same axis and rotate so + D4.neg faces R30.anode" /> + + + \ No newline at end of file diff --git a/tests/cases/__snapshots__/diode-resistor-topology-repro-parallel.snap.svg b/tests/cases/__snapshots__/diode-resistor-topology-repro-parallel.snap.svg new file mode 100644 index 0000000..b31d0f0 --- /dev/null +++ b/tests/cases/__snapshots__/diode-resistor-topology-repro-parallel.snap.svg @@ -0,0 +1,44 @@ + + + D1R4100kΩ#1 DiodeResistorNotAligned +<DiodeResistorNotAligned diodeComponentName="D1" diodePin="neg" resistorComponentName="R4" resistorPin="anode" message="trace has corners — align D1 and R4 on same axis and rotate so D1.neg faces R4.anode" /> +#2 DiodeResistorNotAligned +<DiodeResistorNotAligned diodeComponentName="D1" diodePin="pos" resistorComponentName="R4" resistorPin="cathode" message="trace has corners — align D1 and R4 on same axis and rotate so D1.pos faces R4.cathode" /> +#1 DiodeResistorNotAligned +<DiodeResistorNotAligned diodeComponentName="D1" diodePin="neg" resistorComponentName="R4" resistorPin="anode" message="trace has corners — align D1 and R4 on same axis and rotate so D1.neg faces R4.anode" />1 +#1 DiodeResistorNotAligned +<DiodeResistorNotAligned diodeComponentName="D1" diodePin="neg" resistorComponentName="R4" resistorPin="anode" message="trace has corners — align D1 and R4 on same axis and rotate so D1.neg faces R4.anode" />1 +#2 DiodeResistorNotAligned +<DiodeResistorNotAligned diodeComponentName="D1" diodePin="pos" resistorComponentName="R4" resistorPin="cathode" message="trace has corners — align D1 and R4 on same axis and rotate so D1.pos faces R4.cathode" />2 +#2 DiodeResistorNotAligned +<DiodeResistorNotAligned diodeComponentName="D1" diodePin="pos" resistorComponentName="R4" resistorPin="cathode" message="trace has corners — align D1 and R4 on same axis and rotate so D1.pos faces R4.cathode" />2 + + + + +Emitted issue counts (all sheets): +DiodeResistorNotAligned: 2 +Selected type(s): DiodeResistorNotAligned +Matching issues: 2 +#1 +<DiodeResistorNotAligned diodeComponentName="D1" diodePin="neg" resistorComponentName="R4" + resistorPin="anode" message="trace has corners — align D1 and R4 on same axis and rotate so + D1.neg faces R4.anode" /> +#2 +<DiodeResistorNotAligned diodeComponentName="D1" diodePin="pos" resistorComponentName="R4" + resistorPin="cathode" message="trace has corners — align D1 and R4 on same axis and rotate so + D1.pos faces R4.cathode" /> + + + \ No newline at end of file diff --git a/tests/cases/__snapshots__/diode-resistor-topology-repro-series.snap.svg b/tests/cases/__snapshots__/diode-resistor-topology-repro-series.snap.svg new file mode 100644 index 0000000..9b3fca0 --- /dev/null +++ b/tests/cases/__snapshots__/diode-resistor-topology-repro-series.snap.svg @@ -0,0 +1,40 @@ + + + D2R21kΩGNDADC#1 DiodeResistorNotAligned +<DiodeResistorNotAligned diodeComponentName="D2" diodePin="neg" resistorComponentName="R2" resistorPin="anode" message="trace has corners — align D2 and R2 on same axis and rotate so D2.neg faces R2.anode" />#1 DiodeResistorNotAligned +<DiodeResistorNotAligned diodeComponentName="D2" diodePin="neg" resistorComponentName="R2" resistorPin="anode" message="trace has corners — align D2 and R2 on same axis and rotate so D2.neg faces R2.anode" />1 +#1 DiodeResistorNotAligned +<DiodeResistorNotAligned diodeComponentName="D2" diodePin="neg" resistorComponentName="R2" resistorPin="anode" message="trace has corners — align D2 and R2 on same axis and rotate so D2.neg faces R2.anode" />1 + + + + +Emitted issue counts (all sheets): +DiodeResistorNotAligned: 1 +Selected type(s): DiodeResistorNotAligned +Matching issues: 1 +#1 +<DiodeResistorNotAligned diodeComponentName="D2" diodePin="neg" resistorComponentName="R2" + resistorPin="anode" message="trace has corners — align D2 and R2 on same axis and rotate so + D2.neg faces R2.anode" /> + + + \ No newline at end of file diff --git a/tests/cases/diode-resistor-topology-repro.test.tsx b/tests/cases/diode-resistor-topology-repro.test.tsx new file mode 100644 index 0000000..b3692a7 --- /dev/null +++ b/tests/cases/diode-resistor-topology-repro.test.tsx @@ -0,0 +1,79 @@ +import { expect, test } from "bun:test" +import { Circuit } from "@tscircuit/core" +import { analyzeSchematicPlacement } from "lib/index" +import { createIssueReproSnapshot } from "../fixtures/create-issue-repro-snapshot" +import { expectReproNets } from "../fixtures/placement-repro-assertions" + +test("records false series-alignment warnings on parallel and shared-supply branches", async () => { + for (const [topology, diode, resistor, count] of [ + ["parallel", "D1", "R4", 2], + ["branched", "D4", "R30", 1], + ["series", "D2", "R2", 1], + ] as const) { + const circuit = new Circuit() + circuit.pcbDisabled = true + circuit.add( + + + + .cathode`} to={`.${resistor} > .pin1`} /> + {topology === "parallel" ? ( + // BLDC D1/R4 share the input-switch gate and source: two parallel branches. + .anode`} to={`.${resistor} > .pin2`} /> + ) : ( + <> + + .anode`} to="net.GND" /> + .pin2`} to="net.ADC" /> + + )} + {topology === "branched" && ( + <> + {/* BLDC D4/R30 share the motor supply with its load, not a private junction. */} + + + .cathode`} to="net.VMOTOR" /> + + + )} + , + ) + await circuit.renderUntilSettled() + const circuitJson = circuit.getCircuitJson() + expectReproNets(circuitJson, [ + [ + `${diode}.cathode`, + `${resistor}.pin1`, + ...(topology === "branched" ? ["U1.VDD"] : []), + ], + ...(topology === "parallel" + ? [[`${diode}.anode`, `${resistor}.pin2`]] + : []), + ]) + const issueTypes = ["DiodeResistorNotAligned"] as const + const analysis = analyzeSchematicPlacement(circuitJson, { issueTypes }) + // Baseline: sharing a net is treated as a series connection, even in the first two cases. + expect(analysis.getIssues()).toHaveLength(count) + expect( + createIssueReproSnapshot({ + circuitJson, + analysis, + issueTypes, + showFullSchematic: true, + width: 1000, + height: 500, + }), + ).toMatchSvgSnapshot(import.meta.path, topology) + } +}) From fc16c3526d4b1f17be95735d0fe20c2194b34e9a Mon Sep 17 00:00:00 2001 From: Mustafa Mulla Date: Tue, 6 Oct 2026 11:40:29 +0530 Subject: [PATCH 2/2] fix: establish series topology before diode resistor alignment --- .../DiodeResistorAlignmentSolver.ts | 270 +++-------- .../allwinner-buck-orientation-repro.snap.svg | 450 +++++++++--------- .../allwinner-inverted-rails-C101.snap.svg | 6 +- .../allwinner-inverted-rails-C102.snap.svg | 6 +- .../diode-resistor-misaligned.snap.svg | 4 +- ...-resistor-topology-repro-branched.snap.svg | 15 +- ...-resistor-topology-repro-parallel.snap.svg | 26 +- ...de-resistor-topology-repro-series.snap.svg | 8 +- .../led-resistor-alignment-2.snap.svg | 4 +- .../led-resistor-alignment.snap.svg | 4 +- ...is-core-cpu-decoupling-repro-P0V9.snap.svg | 26 +- ...is-core-cpu-decoupling-repro-P1V5.snap.svg | 18 +- ...is-core-cpu-decoupling-repro-P1V8.snap.svg | 34 +- ...is-core-cpu-decoupling-repro-P3V3.snap.svg | 30 +- .../diode-resistor-topology-repro.test.tsx | 8 +- 15 files changed, 371 insertions(+), 538 deletions(-) diff --git a/lib/solvers/DiodeResistorAlignmentSolver/DiodeResistorAlignmentSolver.ts b/lib/solvers/DiodeResistorAlignmentSolver/DiodeResistorAlignmentSolver.ts index 225d3ef..8659f06 100644 --- a/lib/solvers/DiodeResistorAlignmentSolver/DiodeResistorAlignmentSolver.ts +++ b/lib/solvers/DiodeResistorAlignmentSolver/DiodeResistorAlignmentSolver.ts @@ -1,143 +1,97 @@ -import type { CircuitJson, SchematicTrace, SchematicPort } from "circuit-json" import { BaseSolver } from "@tscircuit/solver-utils" -import { getSourcePortConnectivityMapFromCircuitJson } from "circuit-json-to-connectivity-map" import type { SolverContext } from "../SolverContext" import type { DiodeResistorNotAligned, - SchematicBoxPlacement, SchematicPlacementIssue, } from "../../types" import { addAttr } from "../../utils/format" +import { PlacementNetworkIndex } from "../../utils/placement-network-index" +/** Alignment applies only after a private two-terminal series junction is established. */ export class DiodeResistorAlignmentSolver extends BaseSolver { private static readonly DIODE_FTYPES = new Set(["simple_led", "simple_diode"]) - - private readonly ctx: SolverContext - private readonly out: SchematicPlacementIssue[] - private readonly schematicTraces: SchematicTrace[] + private readonly index: PlacementNetworkIndex + private readonly nets: string[] private currentIndex = 0 - private readonly sourceConnectivity: ReturnType< - typeof getSourcePortConnectivityMapFromCircuitJson - > - - private readonly sourceComponentFtypeById: Map - private readonly sourceComponentIdBySourcePortId: Map - private readonly schematicPorts: SchematicPort[] - private readonly schematicBoxBySourceComponentId: Map< - string, - SchematicBoxPlacement - > - constructor({ - ctx, - issues, - }: { - ctx: SolverContext - issues: SchematicPlacementIssue[] - }) { + constructor( + private readonly params: { + ctx: SolverContext + issues: SchematicPlacementIssue[] + }, + ) { super() - this.ctx = ctx - this.out = issues - - const { circuitJson } = ctx - this.sourceConnectivity = - getSourcePortConnectivityMapFromCircuitJson(circuitJson) - - this.sourceComponentFtypeById = - this.buildSourceComponentFtypeById(circuitJson) - this.sourceComponentIdBySourcePortId = - this.buildSourceComponentIdBySourcePortId(circuitJson) - this.schematicPorts = circuitJson.filter( - (el): el is SchematicPort => el.type === "schematic_port", - ) - this.schematicBoxBySourceComponentId = - this.buildSchematicBoxBySourceComponentId() - - this.schematicTraces = circuitJson.filter( - (el): el is SchematicTrace => el.type === "schematic_trace", - ) - this.solved = this.schematicTraces.length === 0 + this.index = new PlacementNetworkIndex(params.ctx) + this.nets = [...this.index.portsByNet.keys()] + this.solved = this.nets.length === 0 } override _step(): void { - const trace = this.schematicTraces[this.currentIndex] - if (!trace) { - this.solved = true - return - } - this.currentIndex++ - this.solved = this.currentIndex >= this.schematicTraces.length - - if (!trace.edges || trace.edges.length === 0) return - - const firstEdge = trace.edges[0] - const lastEdge = trace.edges[trace.edges.length - 1] - if (!firstEdge || !lastEdge) return - const start = firstEdge.from - const end = lastEdge.to - - const schematicSheetId = trace.schematic_sheet_id - const startSourceCompId = this.findSourceComponentIdNearPoint( - start, - schematicSheetId, - ) - const endSourceCompId = this.findSourceComponentIdNearPoint( - end, - schematicSheetId, + const net = this.nets[this.currentIndex++]! + this.solved = this.currentIndex >= this.nets.length + const index = this.index + const ports = index.portsByNet.get(net) + // A shared rail or a junction with a third terminal does not establish a series pair. + if (!ports || ports.length !== 2 || index.isRail(net)) return + const diodeSourcePort = ports.find((port) => + DiodeResistorAlignmentSolver.DIODE_FTYPES.has( + index.components.get(port.source_component_id)?.ftype ?? "", + ), ) - if (!startSourceCompId || !endSourceCompId) return - - const startFtype = this.sourceComponentFtypeById.get(startSourceCompId) - const endFtype = this.sourceComponentFtypeById.get(endSourceCompId) - - const { DIODE_FTYPES } = DiodeResistorAlignmentSolver - - const isDiodeResistorPair = - (DIODE_FTYPES.has(startFtype!) && endFtype === "simple_resistor") || - (startFtype === "simple_resistor" && DIODE_FTYPES.has(endFtype!)) - if (!isDiodeResistorPair) return - - const diodeCompId = DIODE_FTYPES.has(startFtype!) - ? startSourceCompId - : endSourceCompId - const resistorCompId = - startFtype === "simple_resistor" ? startSourceCompId : endSourceCompId - - const diodeBox = this.schematicBoxBySourceComponentId.get(diodeCompId) - const resistorBox = this.schematicBoxBySourceComponentId.get(resistorCompId) - if (!diodeBox || !resistorBox) return - - const diodePort = this.findNearestPort( - DIODE_FTYPES.has(startFtype!) ? start : end, - schematicSheetId, + const resistorSourcePort = ports.find( + (port) => + index.components.get(port.source_component_id)?.ftype === + "simple_resistor", ) - const resistorPort = this.findNearestPort( - startFtype === "simple_resistor" ? start : end, - schematicSheetId, + if (!diodeSourcePort || !resistorSourcePort) return + const diodeId = diodeSourcePort.source_component_id + const resistorId = resistorSourcePort.source_component_id + const diodeNets = index.twoTerminalNets(diodeId) + const resistorNets = index.twoTerminalNets(resistorId) + if (!diodeNets || !resistorNets) return + // Sharing both nets is parallel, even if a rendered wire directly joins the symbols. + if ( + diodeNets.find((id) => id !== net) === + resistorNets.find((id) => id !== net) ) - - if (!diodePort?.center || !resistorPort?.center) return + return if ( - !this.sourceConnectivity.areIdsConnected( - diodePort.source_port_id, - resistorPort.source_port_id, + [diodeId, resistorId].some((id) => + index.portsByComponent.get(id)?.some((port) => port.do_not_connect), ) ) return + const diodeBox = index.placement(diodeId) + const resistorBox = index.placement(resistorId) + if ( + !diodeBox || + !resistorBox || + diodeBox.schematicSheetId !== resistorBox.schematicSheetId + ) + return + // Resolve the actual connected terminals by source IDs, independent of trace shape and labels. + const diodePort = index.port(diodeSourcePort) + const resistorPort = index.port(resistorSourcePort) + if ( + !diodePort || + !resistorPort || + diodePort.schematic_sheet_id !== diodeBox.schematicSheetId || + resistorPort.schematic_sheet_id !== resistorBox.schematicSheetId + ) + return const diodeName = diodeBox.sourceComponentName || "component" const resistorName = resistorBox.sourceComponentName || "component" const diodePin = - diodePort?.display_pin_label ?? diodePort?.pin_number?.toString() + diodePort.display_pin_label ?? diodePort.pin_number?.toString() const resistorPin = - resistorPort?.display_pin_label ?? resistorPort?.pin_number?.toString() - const diodeFacing = diodePort?.facing_direction - const resistorFacing = resistorPort?.facing_direction + resistorPort.display_pin_label ?? resistorPort.pin_number?.toString() + const diodeFacing = diodePort.facing_direction + const resistorFacing = resistorPort.facing_direction const diodePinDesc = diodePin ? `${diodeName}.${diodePin}` : diodeName const resistorPinDesc = resistorPin ? `${resistorName}.${resistorPin}` : resistorName - const makeIssue = (message: string): DiodeResistorNotAligned => ({ lineItemType: "DiodeResistorNotAligned", diodeSchematicBox: diodeBox, @@ -148,22 +102,18 @@ export class DiodeResistorAlignmentSolver extends BaseSolver { resistorPinFacingDirection: resistorFacing, message, }) - if ( !DiodeResistorAlignmentSolver.isCoLinear( diodePort.center, resistorPort.center, ) ) { - this.out.push( + this.params.issues.push( makeIssue( - `trace has corners — align ${diodeName} and ${resistorName} on same axis and rotate so ${diodePinDesc} faces ${resistorPinDesc}`, + `series pins are not aligned — align ${diodeName} and ${resistorName} on the same axis so ${diodePinDesc} faces ${resistorPinDesc}`, ), ) - return - } - - if ( + } else if ( diodeFacing && resistorFacing && !DiodeResistorAlignmentSolver.pinsFacingEachOther( @@ -173,7 +123,7 @@ export class DiodeResistorAlignmentSolver extends BaseSolver { resistorFacing, ) ) { - this.out.push( + this.params.issues.push( makeIssue( `${diodePinDesc} and ${resistorPinDesc} face away from each other — rotate ${diodeName} so ${diodePinDesc} faces ${resistorPinDesc}`, ), @@ -210,94 +160,6 @@ export class DiodeResistorAlignmentSolver extends BaseSolver { return aToward && bToward } - private static dist( - a: { x: number; y: number }, - b: { x: number; y: number }, - ): number { - return Math.sqrt((a.x - b.x) ** 2 + (a.y - b.y) ** 2) - } - - private findNearestPort( - point: { - x: number - y: number - }, - schematicSheetId?: string, - ): SchematicPort | undefined { - let nearest: SchematicPort | undefined - let minDist = Infinity - for (const port of this.schematicPorts) { - if (port.schematic_sheet_id !== schematicSheetId) continue - if (!port.center) continue - const d = DiodeResistorAlignmentSolver.dist(point, port.center) - if (d < minDist) { - minDist = d - nearest = port - } - } - return nearest - } - - private findSourceComponentIdNearPoint( - point: { - x: number - y: number - }, - schematicSheetId?: string, - ): string | undefined { - const nearest = this.findNearestPort(point, schematicSheetId) - if (!nearest || !nearest.source_port_id) return undefined - return this.sourceComponentIdBySourcePortId.get(nearest.source_port_id) - } - - private buildSourceComponentFtypeById( - circuitJson: CircuitJson, - ): Map { - const map = new Map() - for (const el of circuitJson) { - if ( - el.type === "source_component" && - "source_component_id" in el && - "ftype" in el && - typeof el.ftype === "string" - ) { - map.set(el.source_component_id as string, el.ftype) - } - } - return map - } - - private buildSourceComponentIdBySourcePortId( - circuitJson: CircuitJson, - ): Map { - const map = new Map() - for (const el of circuitJson) { - if ( - el.type === "source_port" && - "source_port_id" in el && - "source_component_id" in el && - typeof el.source_port_id === "string" && - typeof el.source_component_id === "string" - ) { - map.set(el.source_port_id, el.source_component_id) - } - } - return map - } - - private buildSchematicBoxBySourceComponentId(): Map< - string, - SchematicBoxPlacement - > { - const map = new Map() - for (const placement of this.ctx.componentPlacements) { - if (placement.sourceComponentId) { - map.set(placement.sourceComponentId, placement) - } - } - return map - } - static issueToString(issue: DiodeResistorNotAligned): string { const attrs: string[] = [] addAttr( diff --git a/tests/cases/__snapshots__/allwinner-buck-orientation-repro.snap.svg b/tests/cases/__snapshots__/allwinner-buck-orientation-repro.snap.svg index f6f3953..f61e373 100644 --- a/tests/cases/__snapshots__/allwinner-buck-orientation-repro.snap.svg +++ b/tests/cases/__snapshots__/allwinner-buck-orientation-repro.snap.svg @@ -256,229 +256,229 @@ L 804.8051769946177,158.85183929597994 L 785.5932663862327,158.85183929597994 Z - " fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="0.232871643738px"/>JP_UART_TX_pin1PG6PG6PG7PG7PG8PG8PG9PG9PG10PG10PG11PG11PG11SD_D0SD_D0SD_CMDSD_CMDSD_CMDSD_D3SD_D3SD_D3SD_D2SD_D2SD_D2SD_CD_NSD_CD_NSD_CD_NPC7PC7PC6PC6PC6PC5PC5PC4PC4PC4PC3PC3PC3DXOUTDXOUTDXINDXINX32KOUTX32KOUTX32KOUTX32KINX32KINX32KINRESET_NRESET_NRESET_NUART0_RXUART0_RXUART0_RXUART0_TXUART0_TXPD22PD22PD22PD21PD21PD21PD20PD20PD20PD10PD10PD10PD11PD11PD11PD13PD13PD13PD12PD12PD12PD14PD14PD14PD15PD15PD15PB7PB7PB6PB6PB6PB5PB5PB5PB5PB4PB4PB4PB3PB3PB3PB3PB2PB2PB2PB2USB0_DMUSB0_DMUSB0_DMUSB0_DMUSB0_DPUSB0_DPUSB0_DPPG12PG12PG12PG13PG13PG13PG14PG14PG14PG15PG15PG15RESET_REQUEST_NRESET_REQUEST_NRESET_REQUEST_NRESET_REQUEST_NRESET_REQUEST_NRESET_REQUEST_NFB101FB101EN_CORE_DDREN_CORE_DDREN_CORE_DDREN_CORE_DDRFB102FB102FB103FB103CORE_SENSECORE_SENSECORE_SENSEDEBUG_USB_DMDEBUG_USB_DMDEBUG_USB_DMDEBUG_USB_DMDEBUG_USB_DPDEBUG_USB_DPDEBUG_USB_DPUSB_ORUSB_ORSD_CLKSD_CLKSD_CLKJTMS_HDRJTMS_HDRJTCK_HDRJTCK_HDRJTCK_HDRJTDI_HDRJTDI_HDRUSER_BUTTONUSER_BUTTONI2C0_PUI2C0_PUI2C0_PUI2C1_PUI2C1_PUI2C1_PUUSB0_SENSE_BUSB0_SENSE_BSD_CLK_SOCSD_CLK_SOCPC2PC2REFCLK24MREFCLK24MPE13PE13PE12PE12JTAG_TCKJTAG_TCKJTAG_TDOJTAG_TDOJTAG_TDIJTAG_TDIJTAG_TMSJTAG_TMSPE7PE7PE6PE6PE5PE5PE4PE4PE0PE0PE1PE1DDR_ZQDDR_ZQPD5PD5PD6PD6PD7PD7PD8PD8PD9PD9PD16PD16PD17PD17PD18PD18PD19PD19HPOUTFBHPOUTFBGPADC0GPADC0TP_X1TP_X1TP_X2TP_X2TP_Y1TP_Y1TP_Y2TP_Y2PG1PG1PG2PG2PG0PG0PG3PG3PG5PG5PG4PG4SW101SW101SW102SW102SW103SW103CP_RESET_NCP_RESET_NBOOT_BUTTONBOOT_BUTTONJTDO_HDRJTDO_HDRLED_POWER_ALED_POWER_ALED_USER_ALED_USER_AUSB0_SENSE_CUSB0_SENSE_C#41 TwoPinComponentHasInvertedRails + " fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="0.232871643738px"/><text class="net-label-text sch-net-label-text" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_214" x="786.0124353449611" y="157.68748107728993" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="2.0958447936419997px" transform="">JP_UART_TX_pin1</text><text class="sch-text" x="1174.325901278076" y="742.6610501471459" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1174.325901278076, 742.6610501471459)">PG6</text><text class="sch-text" x="2050.505460842301" y="1107.105172597116" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 2050.505460842301, 1107.105172597116)">PG6</text><text class="sch-text" x="1174.325901278076" y="748.482841240596" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1174.325901278076, 748.482841240596)">PG7</text><text class="sch-text" x="2050.505460842301" y="1109.4338890344961" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 2050.505460842301, 1109.4338890344961)">PG7</text><text class="sch-text" x="1174.325901278076" y="754.304632334046" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1174.325901278076, 754.304632334046)">PG8</text><text class="sch-text" x="2050.505460842301" y="1111.762605471876" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 2050.505460842301, 1111.762605471876)">PG8</text><text class="sch-text" x="1174.325901278076" y="760.126423427496" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1174.325901278076, 760.126423427496)">PG9</text><text class="sch-text" x="2050.505460842301" y="1114.091321909256" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 2050.505460842301, 1114.091321909256)">PG9</text><text class="sch-text" x="1173.8601579905999" y="765.948214520946" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1173.8601579905999, 765.948214520946)">PG10</text><text class="sch-text" x="2050.039717554825" y="1116.420038346636" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 2050.039717554825, 1116.420038346636)">PG10</text><text class="sch-text" x="1173.8601579905999" y="771.770005614396" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1173.8601579905999, 771.770005614396)">PG11</text><text class="sch-text" x="2050.039717554825" y="1118.748754784016" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 2050.039717554825, 1118.748754784016)">PG11</text><text class="sch-text" x="1689.0886697609249" y="1244.499442402536" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1689.0886697609249, 1244.499442402536)">PG11</text><text class="sch-text" x="909.8943280224835" y="1320.182726617386" fill="rgb(132, 0, 0)" text-anchor="middle" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 909.8943280224835, 1320.182726617386)">SD_D0</text><text class="sch-text" x="587.02361577084" y="1471.549295047086" fill="rgb(132, 0, 0)" text-anchor="end" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 587.02361577084, 1471.549295047086)">SD_D0</text><text class="sch-text" x="1173.8601579905999" y="795.0571699881959" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1173.8601579905999, 795.0571699881959)">SD_CMD</text><text class="sch-text" x="655.7207506735499" y="1469.220578609706" fill="rgb(132, 0, 0)" text-anchor="end" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 655.7207506735499, 1469.220578609706)">SD_CMD</text><text class="sch-text" x="505.51854046253993" y="1471.549295047086" fill="rgb(132, 0, 0)" text-anchor="end" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 505.51854046253993, 1471.549295047086)">SD_CMD</text><text class="sch-text" x="1173.8601579905999" y="800.878961081646" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1173.8601579905999, 800.878961081646)">SD_D3</text><text class="sch-text" x="655.7207506735501" y="1466.891862172326" fill="rgb(132, 0, 0)" text-anchor="end" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 655.7207506735501, 1466.891862172326)">SD_D3</text><text class="sch-text" x="587.02361577084" y="1553.054370355386" fill="rgb(132, 0, 0)" text-anchor="end" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 587.02361577084, 1553.054370355386)">SD_D3</text><text class="sch-text" x="1173.8601579905999" y="806.700752175096" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1173.8601579905999, 806.700752175096)">SD_D2</text><text class="sch-text" x="655.7207506735501" y="1464.563145734946" fill="rgb(132, 0, 0)" text-anchor="end" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 655.7207506735501, 1464.563145734946)">SD_D2</text><text class="sch-text" x="505.51854046254005" y="1553.054370355386" fill="rgb(132, 0, 0)" text-anchor="end" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 505.51854046254005, 1553.054370355386)">SD_D2</text><text class="sch-text" x="1173.8601579905999" y="812.522543268546" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1173.8601579905999, 812.522543268546)">SD_CD_N</text><text class="sch-text" x="713.93866160805" y="1475.042369703156" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 713.93866160805, 1475.042369703156)">SD_CD_N</text><text class="sch-text" x="668.52869107914" y="1553.054370355386" fill="rgb(132, 0, 0)" text-anchor="end" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 668.52869107914, 1553.054370355386)">SD_CD_N</text><text class="sch-text" x="1173.924197692628" y="818.3443343619961" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1173.924197692628, 818.3443343619961)">PC7</text><text class="sch-text" x="1488.935491968114" y="284.6025269145" fill="rgb(132, 0, 0)" text-anchor="middle" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(-90, 1488.935491968114, 284.6025269145)">PC7</text><text class="sch-text" x="1173.924197692628" y="824.166125455446" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1173.924197692628, 824.166125455446)">PC6</text><text class="sch-text" x="1436.5393721270639" y="167.46809011428604" fill="rgb(132, 0, 0)" text-anchor="end" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1436.5393721270639, 167.46809011428604)">PC6</text><text class="sch-text" x="1453.771873763676" y="402.668450289666" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1453.771873763676, 402.668450289666)">PC6</text><text class="sch-text" x="1173.924197692628" y="829.987916548896" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1173.924197692628, 829.987916548896)">PC5</text><text class="sch-text" x="1400.432623765487" y="327.68378100603" fill="rgb(132, 0, 0)" text-anchor="middle" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(-90, 1400.432623765487, 327.68378100603)">PC5</text><text class="sch-text" x="1173.924197692628" y="835.809707642346" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1173.924197692628, 835.809707642346)">PC4</text><text class="sch-text" x="1279.933191713259" y="255.260699803512" fill="rgb(132, 0, 0)" text-anchor="middle" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1279.933191713259, 255.260699803512)">PC4</text><text class="sch-text" x="1406.667762026572" y="402.668450289666" fill="rgb(132, 0, 0)" text-anchor="end" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1406.667762026572, 402.668450289666)">PC4</text><text class="sch-text" x="1173.924197692628" y="841.631498735796" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1173.924197692628, 841.631498735796)">PC3</text><text class="sch-text" x="1343.3907146318638" y="167.46809011428604" fill="rgb(132, 0, 0)" text-anchor="end" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1343.3907146318638, 167.46809011428604)">PC3</text><text class="sch-text" x="1453.771873763676" y="404.99716672704596" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1453.771873763676, 404.99716672704596)">PC3</text><text class="sch-text" x="1034.1371717478" y="797.968065534921" fill="rgb(132, 0, 0)" text-anchor="end" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1034.1371717478, 797.968065534921)">DXOUT</text><text class="sch-text" x="953.330711370714" y="640.9019636247335" fill="rgb(132, 0, 0)" text-anchor="middle" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(-90, 953.330711370714, 640.9019636247335)">DXOUT</text><text class="sch-text" x="1034.1371717478" y="803.789856628371" fill="rgb(132, 0, 0)" text-anchor="end" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1034.1371717478, 803.789856628371)">DXIN</text><text class="sch-text" x="902.215385570223" y="643.1666403600855" fill="rgb(132, 0, 0)" text-anchor="middle" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(-90, 902.215385570223, 643.1666403600855)">DXIN</text><text class="sch-text" x="1034.1371717478" y="809.611647721821" fill="rgb(132, 0, 0)" text-anchor="end" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1034.1371717478, 809.611647721821)">X32KOUT</text><text class="sch-text" x="1105.279458909759" y="587.3356637739" fill="rgb(132, 0, 0)" text-anchor="middle" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(-90, 1105.279458909759, 587.3356637739)">X32KOUT</text><text class="sch-text" x="1138.230796498686" y="673.49817195696" fill="rgb(132, 0, 0)" text-anchor="end" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(-90, 1138.230796498686, 673.49817195696)">X32KOUT</text><text class="sch-text" x="1034.1371717478" y="815.433438815271" fill="rgb(132, 0, 0)" text-anchor="end" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1034.1371717478, 815.433438815271)">X32KIN</text><text class="sch-text" x="1078.0334765924129" y="587.3356637739" fill="rgb(132, 0, 0)" text-anchor="middle" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(-90, 1078.0334765924129, 587.3356637739)">X32KIN</text><text class="sch-text" x="1045.082139003486" y="673.49817195696" fill="rgb(132, 0, 0)" text-anchor="end" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(-90, 1045.082139003486, 673.49817195696)">X32KIN</text><text class="sch-text" x="1034.1371717478" y="827.077021002171" fill="rgb(132, 0, 0)" text-anchor="end" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1034.1371717478, 827.077021002171)">RESET_N</text><text class="sch-text" x="1022.3917082167646" y="649.2213030972734" fill="rgb(132, 0, 0)" text-anchor="middle" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(-90, 1022.3917082167646, 649.2213030972734)">RESET_N</text><text class="sch-text" x="801.2655280097999" y="1026.764455507506" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 801.2655280097999, 1026.764455507506)">RESET_N</text><text class="sch-text" x="1173.8601579905999" y="864.918663109596" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1173.8601579905999, 864.918663109596)">UART0_RX</text><text class="sch-text" x="786.12887116683" y="84.79865658729602" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 786.12887116683, 84.79865658729602)">UART0_RX</text><text class="sch-text" x="836.1962745705" y="321.163374981366" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 836.1962745705, 321.163374981366)">UART0_RX</text><text class="sch-text" x="1173.8601579905999" y="870.740454203046" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1173.8601579905999, 870.740454203046)">UART0_TX</text><text class="sch-text" x="807.7975776166509" y="196.9845709580776" fill="rgb(132, 0, 0)" text-anchor="middle" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(-90, 807.7975776166509, 196.9845709580776)">UART0_TX</text><text class="sch-text" x="1173.8601579905999" y="934.780156230996" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1173.8601579905999, 934.780156230996)">PD22</text><text class="sch-text" x="1862.5780443457347" y="911.492991857196" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1862.5780443457347, 911.492991857196)">PD22</text><text class="sch-text" x="262.63341604380594" y="264.226258087425" fill="rgb(132, 0, 0)" text-anchor="middle" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(-90, 262.63341604380594, 264.226258087425)">PD22</text><text class="sch-text" x="1173.8601579905999" y="940.601947324446" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1173.8601579905999, 940.601947324446)">PD21</text><text class="sch-text" x="1320.56929354554" y="16.101521684586032" fill="rgb(132, 0, 0)" text-anchor="end" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1320.56929354554, 16.101521684586032)">PD21</text><text class="sch-text" x="1862.5780443457347" y="909.164275419816" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1862.5780443457347, 909.164275419816)">PD21</text><text class="sch-text" x="1173.8601579905999" y="946.423738417896" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1173.8601579905999, 946.423738417896)">PD20</text><text class="sch-text" x="1658.23317696564" y="761.290781646186" fill="rgb(132, 0, 0)" text-anchor="end" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1658.23317696564, 761.290781646186)">PD20</text><text class="sch-text" x="1862.5780443457347" y="906.835558982436" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1862.5780443457347, 906.835558982436)">PD20</text><text class="sch-text" x="1173.8601579905999" y="1010.463440445846" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1173.8601579905999, 1010.463440445846)">PD10</text><text class="sch-text" x="1862.5780443457347" y="883.548394608636" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1862.5780443457347, 883.548394608636)">PD10</text><text class="sch-text" x="1662.8906098404" y="346.779255792546" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1662.8906098404, 346.779255792546)">PD10</text><text class="sch-text" x="1173.8601579905999" y="1016.285231539296" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1173.8601579905999, 1016.285231539296)">PD11</text><text class="sch-text" x="1862.5780443457347" y="885.877111046016" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1862.5780443457347, 885.877111046016)">PD11</text><text class="sch-text" x="1616.3162810928" y="342.12182291778595" fill="rgb(132, 0, 0)" text-anchor="end" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1616.3162810928, 342.12182291778595)">PD11</text><text class="sch-text" x="1173.8601579905999" y="1022.107022632746" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1173.8601579905999, 1022.107022632746)">PD13</text><text class="sch-text" x="1862.5780443457347" y="890.5345439207761" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1862.5780443457347, 890.5345439207761)">PD13</text><text class="sch-text" x="1616.3162810928" y="346.779255792546" fill="rgb(132, 0, 0)" text-anchor="end" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1616.3162810928, 346.779255792546)">PD13</text><text class="sch-text" x="1173.8601579905999" y="1027.928813726196" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1173.8601579905999, 1027.928813726196)">PD12</text><text class="sch-text" x="1862.5780443457347" y="888.205827483396" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1862.5780443457347, 888.205827483396)">PD12</text><text class="sch-text" x="1616.3162810928" y="344.45053935516603" fill="rgb(132, 0, 0)" text-anchor="end" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1616.3162810928, 344.45053935516603)">PD12</text><text class="sch-text" x="1173.8601579905999" y="1033.750604819646" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1173.8601579905999, 1033.750604819646)">PD14</text><text class="sch-text" x="1862.5780443457347" y="892.863260358156" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1862.5780443457347, 892.863260358156)">PD14</text><text class="sch-text" x="1662.8906098404" y="344.45053935516603" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1662.8906098404, 344.45053935516603)">PD14</text><text class="sch-text" x="1173.8601579905999" y="1039.572395913096" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1173.8601579905999, 1039.572395913096)">PD15</text><text class="sch-text" x="1862.5780443457347" y="895.191976795536" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1862.5780443457347, 895.191976795536)">PD15</text><text class="sch-text" x="1662.8906098404" y="342.12182291778595" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1662.8906098404, 342.12182291778595)">PD15</text><text class="sch-text" x="1173.924197692628" y="1068.681351380346" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1173.924197692628, 1068.681351380346)">PB7</text><text class="sch-text" x="2047.594565295576" y="792.844889372685" fill="rgb(132, 0, 0)" text-anchor="middle" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(-90, 2047.594565295576, 792.844889372685)">PB7</text><text class="sch-text" x="1173.924197692628" y="1074.503142473796" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1173.924197692628, 1074.503142473796)">PB6</text><text class="sch-text" x="1863.0437876332107" y="923.136574044096" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1863.0437876332107, 923.136574044096)">PB6</text><text class="sch-text" x="2000.0887499730238" y="658.827258401466" fill="rgb(132, 0, 0)" text-anchor="end" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 2000.0887499730238, 658.827258401466)">PB6</text><text class="sch-text" x="1173.924197692628" y="1080.324933567246" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1173.924197692628, 1080.324933567246)">PB5</text><text class="sch-text" x="1863.0437876332107" y="920.8078576067161" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1863.0437876332107, 920.8078576067161)">PB5</text><text class="sch-text" x="1977.4361608284098" y="332.8069571682661" fill="rgb(132, 0, 0)" text-anchor="end" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1977.4361608284098, 332.8069571682661)">PB5</text><text class="sch-text" x="1995.4313170982641" y="132.53734355358597" fill="rgb(132, 0, 0)" text-anchor="end" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1995.4313170982641, 132.53734355358597)">PB5</text><text class="sch-text" x="1173.924197692628" y="1086.146724660696" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1173.924197692628, 1086.146724660696)">PB4</text><text class="sch-text" x="1863.0437876332107" y="918.479141169336" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1863.0437876332107, 918.479141169336)">PB4</text><text class="sch-text" x="2032.0038087473167" y="229.00442197205246" fill="rgb(132, 0, 0)" text-anchor="middle" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(-90, 2032.0038087473167, 229.00442197205246)">PB4</text><text class="sch-text" x="1173.924197692628" y="1091.968515754146" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1173.924197692628, 1091.968515754146)">PB3</text><text class="sch-text" x="1863.0437876332107" y="916.150424731956" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1863.0437876332107, 916.150424731956)">PB3</text><text class="sch-text" x="1853.3912580002707" y="229.00442197205246" fill="rgb(132, 0, 0)" text-anchor="middle" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(-90, 1853.3912580002707, 229.00442197205246)">PB3</text><text class="sch-text" x="2245.535462472876" y="483.009167379276" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 2245.535462472876, 483.009167379276)">PB3</text><text class="sch-text" x="1173.924197692628" y="1097.790306847596" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1173.924197692628, 1097.790306847596)">PB2</text><text class="sch-text" x="1863.0437876332107" y="913.8217082945761" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1863.0437876332107, 913.8217082945761)">PB2</text><text class="sch-text" x="1784.4496078716359" y="233.37076529214005" fill="rgb(132, 0, 0)" text-anchor="middle" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(-90, 1784.4496078716359, 233.37076529214005)">PB2</text><text class="sch-text" x="2198.431350735772" y="484.17352559796603" fill="rgb(132, 0, 0)" text-anchor="end" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 2198.431350735772, 484.17352559796603)">PB2</text><text class="sch-text" x="1034.1371717478" y="1083.235829113971" fill="rgb(132, 0, 0)" text-anchor="end" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1034.1371717478, 1083.235829113971)">USB0_DM</text><text class="sch-text" x="347.1658227206998" y="360.751554416826" fill="rgb(132, 0, 0)" text-anchor="end" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 347.1658227206998, 360.751554416826)">USB0_DM</text><text class="sch-text" x="393.7401514682999" y="358.42283797944594" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 393.7401514682999, 358.42283797944594)">USB0_DM</text><text class="sch-text" x="475.2452267766" y="339.793106480406" fill="rgb(132, 0, 0)" text-anchor="middle" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 475.2452267766, 339.793106480406)">USB0_DM</text><text class="sch-text" x="1034.1371717478" y="1089.057620207421" fill="rgb(132, 0, 0)" text-anchor="end" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1034.1371717478, 1089.057620207421)">USB0_DP</text><text class="sch-text" x="398.75271359976045" y="356.094121542066" fill="rgb(132, 0, 0)" text-anchor="middle" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 398.75271359976045, 356.094121542066)">USB0_DP</text><text class="sch-text" x="475.2452267766" y="367.73770372896604" fill="rgb(132, 0, 0)" text-anchor="middle" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 475.2452267766, 367.73770372896604)">USB0_DP</text><text class="sch-text" x="1173.8601579905999" y="1138.542844501746" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1173.8601579905999, 1138.542844501746)">PG12</text><text class="sch-text" x="2050.039717554825" y="1121.077471221396" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 2050.039717554825, 1121.077471221396)">PG12</text><text class="sch-text" x="1689.0886697609249" y="1237.513293090396" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1689.0886697609249, 1237.513293090396)">PG12</text><text class="sch-text" x="1173.8601579905999" y="1144.364635595196" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1173.8601579905999, 1144.364635595196)">PG13</text><text class="sch-text" x="2050.039717554825" y="1123.406187658776" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 2050.039717554825, 1123.406187658776)">PG13</text><text class="sch-text" x="1689.0886697609249" y="1235.184576653016" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1689.0886697609249, 1235.184576653016)">PG13</text><text class="sch-text" x="1173.8601579905999" y="1150.186426688646" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1173.8601579905999, 1150.186426688646)">PG14</text><text class="sch-text" x="2050.039717554825" y="1125.734904096156" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 2050.039717554825, 1125.734904096156)">PG14</text><text class="sch-text" x="1689.0886697609249" y="1242.170725965156" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1689.0886697609249, 1242.170725965156)">PG14</text><text class="sch-text" x="1173.8601579905999" y="1156.008217782096" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1173.8601579905999, 1156.008217782096)">PG15</text><text class="sch-text" x="2050.039717554825" y="1128.063620533536" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 2050.039717554825, 1128.063620533536)">PG15</text><text class="sch-text" x="1689.0886697609249" y="1239.842009527776" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1689.0886697609249, 1239.842009527776)">PG15</text><text class="sch-text" x="452.4238056902759" y="848.15190476046" fill="rgb(132, 0, 0)" text-anchor="middle" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(-90, 452.4238056902759, 848.15190476046)">RESET_REQUEST_N</text><text class="sch-text" x="451.9580624028" y="1112.926963690566" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 451.9580624028, 1112.926963690566)">RESET_REQUEST_N</text><text class="sch-text" x="731.4040348884" y="1031.421888382266" fill="rgb(132, 0, 0)" text-anchor="end" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 731.4040348884, 1031.421888382266)">RESET_REQUEST_N</text><text class="sch-text" x="684.131091209586" y="1141.5701758703399" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(-90, 684.131091209586, 1141.5701758703399)">RESET_REQUEST_N</text><text class="sch-text" x="1074.074658648867" y="330.478240730886" fill="rgb(132, 0, 0)" text-anchor="end" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1074.074658648867, 330.478240730886)">RESET_REQUEST_N</text><text class="sch-text" x="1432.34768253978" y="853.275080922696" fill="rgb(132, 0, 0)" text-anchor="end" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1432.34768253978, 853.275080922696)">RESET_REQUEST_N</text><text class="sch-text" x="480.484838760705" y="761.290781646186" fill="rgb(132, 0, 0)" text-anchor="middle" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 480.484838760705, 761.290781646186)">FB101</text><text class="sch-text" x="509.47735840608595" y="842.33011366701" fill="rgb(132, 0, 0)" text-anchor="end" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(-90, 509.47735840608595, 842.33011366701)">FB101</text><text class="sch-text" x="382.0965692814" y="935.944514449686" fill="rgb(132, 0, 0)" text-anchor="end" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 382.0965692814, 935.944514449686)">EN_CORE_DDR</text><text class="sch-text" x="382.0965692814" y="1110.598247253186" fill="rgb(132, 0, 0)" text-anchor="end" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 382.0965692814, 1110.598247253186)">EN_CORE_DDR</text><text class="sch-text" x="801.2655280097999" y="805.5363939564061" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 801.2655280097999, 805.5363939564061)">EN_CORE_DDR</text><text class="sch-text" x="823.854077452386" y="768.97554588954" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(-90, 823.854077452386, 768.97554588954)">EN_CORE_DDR</text><text class="sch-text" x="451.9580624027999" y="935.944514449686" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 451.9580624027999, 935.944514449686)">FB102</text><text class="sch-text" x="501.9090299846009" y="991.950144768675" fill="rgb(132, 0, 0)" text-anchor="middle" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(-90, 501.9090299846009, 991.950144768675)">FB102</text><text class="sch-text" x="480.484838760705" y="1110.598247253186" fill="rgb(132, 0, 0)" text-anchor="middle" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 480.484838760705, 1110.598247253186)">FB103</text><text class="sch-text" x="509.47735840608595" y="1191.63757927401" fill="rgb(132, 0, 0)" text-anchor="end" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(-90, 509.47735840608595, 1191.63757927401)">FB103</text><text class="sch-text" x="696.7643778823725" y="1034.914963038336" fill="rgb(132, 0, 0)" text-anchor="middle" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 696.7643778823725, 1034.914963038336)">CORE_SENSE</text><text class="sch-text" x="684.131091209586" y="978.56002525374" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(-90, 684.131091209586, 978.56002525374)">CORE_SENSE</text><text class="sch-text" x="637.556762461986" y="1034.44921975086" fill="rgb(132, 0, 0)" text-anchor="end" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(-90, 637.556762461986, 1034.44921975086)">CORE_SENSE</text><text class="sch-text" x="347.1658227206998" y="104.59274630502591" fill="rgb(132, 0, 0)" text-anchor="end" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 347.1658227206998, 104.59274630502591)">DEBUG_USB_DM</text><text class="sch-text" x="393.7401514682999" y="102.26402986764606" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 393.7401514682999, 102.26402986764606)">DEBUG_USB_DM</text><text class="sch-text" x="475.2452267766" y="111.57889561716604" fill="rgb(132, 0, 0)" text-anchor="middle" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 475.2452267766, 111.57889561716604)">DEBUG_USB_DM</text><text class="sch-text" x="591.6810486456001" y="141.85220930310595" fill="rgb(132, 0, 0)" text-anchor="end" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 591.6810486456001, 141.85220930310595)">DEBUG_USB_DM</text><text class="sch-text" x="402.24578825583046" y="99.93531343026598" fill="rgb(132, 0, 0)" text-anchor="middle" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 402.24578825583046, 99.93531343026598)">DEBUG_USB_DP</text><text class="sch-text" x="475.2452267766" y="83.63429836860598" fill="rgb(132, 0, 0)" text-anchor="middle" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 475.2452267766, 83.63429836860598)">DEBUG_USB_DP</text><text class="sch-text" x="591.6810486456001" y="139.52349286572598" fill="rgb(132, 0, 0)" text-anchor="end" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 591.6810486456001, 139.52349286572598)">DEBUG_USB_DP</text><text class="sch-text" x="501.96724789553537" y="33.21758749932894" fill="rgb(132, 0, 0)" text-anchor="middle" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 501.96724789553537, 33.21758749932894)">USB_OR</text><text class="sch-text" x="444.7390414469219" y="272.26032979638603" fill="rgb(132, 0, 0)" text-anchor="end" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 444.7390414469219, 272.26032979638603)">USB_OR</text><text class="sch-text" x="655.7207506735499" y="1473.878011484466" fill="rgb(132, 0, 0)" text-anchor="end" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 655.7207506735499, 1473.878011484466)">SD_CLK</text><text class="sch-text" x="561.4077349596599" y="1355.113473178086" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 561.4077349596599, 1355.113473178086)">SD_CLK</text><text class="sch-text" x="762.84170679303" y="1646.2030278505858" fill="rgb(132, 0, 0)" text-anchor="end" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 762.84170679303, 1646.2030278505858)">SD_CLK</text><text class="sch-text" x="1409.875568919063" y="909.280711241685" fill="rgb(132, 0, 0)" text-anchor="middle" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(-90, 1409.875568919063, 909.280711241685)">JTMS_HDR</text><text class="sch-text" x="1390.4307866669399" y="679.785706337886" fill="rgb(132, 0, 0)" text-anchor="end" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1390.4307866669399, 679.785706337886)">JTMS_HDR</text><text class="sch-text" x="1432.34768253978" y="839.302782298416" fill="rgb(132, 0, 0)" text-anchor="end" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1432.34768253978, 839.302782298416)">JTCK_HDR</text><text class="sch-text" x="1469.60714553786" y="1064.023918505586" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1469.60714553786, 1064.023918505586)">JTCK_HDR</text><text class="sch-text" x="1553.4409372835398" y="679.785706337886" fill="rgb(132, 0, 0)" text-anchor="end" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1553.4409372835398, 679.785706337886)">JTCK_HDR</text><text class="sch-text" x="1432.34768253978" y="848.617648047936" fill="rgb(132, 0, 0)" text-anchor="end" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1432.34768253978, 848.617648047936)">JTDI_HDR</text><text class="sch-text" x="1474.7303217000958" y="869.4014422515525" fill="rgb(132, 0, 0)" text-anchor="middle" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(-90, 1474.7303217000958, 869.4014422515525)">JTDI_HDR</text><text class="sch-text" x="1654.3907948439628" y="831.8508896988001" fill="rgb(132, 0, 0)" text-anchor="middle" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(-90, 1654.3907948439628, 831.8508896988001)">USER_BUTTON</text><text class="sch-text" x="1653.5757440908799" y="661.2141927497805" fill="rgb(132, 0, 0)" text-anchor="middle" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(-90, 1653.5757440908799, 661.2141927497805)">USER_BUTTON</text><text class="sch-text" x="1818.91461114486" y="191.91961270677598" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1818.91461114486, 191.91961270677598)">I2C0_PU</text><text class="sch-text" x="1807.27102895796" y="132.53734355358597" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1807.27102895796, 132.53734355358597)">I2C0_PU</text><text class="sch-text" x="1807.27102895796" y="62.67585043218605" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1807.27102895796, 62.67585043218605)">I2C0_PU</text><text class="sch-text" x="2016.85550832216" y="191.91961270677598" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 2016.85550832216, 191.91961270677598)">I2C1_PU</text><text class="sch-text" x="2005.21192613526" y="132.53734355358597" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 2005.21192613526, 132.53734355358597)">I2C1_PU</text><text class="sch-text" x="2005.21192613526" y="62.67585043218605" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 2005.21192613526, 62.67585043218605)">I2C1_PU</text><text class="sch-text" x="134.43757616603682" y="342.12182291778595" fill="rgb(132, 0, 0)" text-anchor="middle" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 134.43757616603682, 342.12182291778595)">USB0_SENSE_B</text><text class="sch-text" x="167.85465704244007" y="423.62689822608604" fill="rgb(132, 0, 0)" text-anchor="end" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 167.85465704244007, 423.62689822608604)">USB0_SENSE_B</text><text class="sch-text" x="1173.8601579905999" y="789.235378894746" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1173.8601579905999, 789.235378894746)">SD_CLK_SOC</text><text class="sch-text" x="552.09286921014" y="1355.113473178086" fill="rgb(132, 0, 0)" text-anchor="end" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 552.09286921014, 1355.113473178086)">SD_CLK_SOC</text><text class="sch-text" x="1173.924197692628" y="847.4532898292459" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1173.924197692628, 847.4532898292459)">PC2</text><text class="sch-text" x="1406.667762026572" y="400.33973385228603" fill="rgb(132, 0, 0)" text-anchor="end" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1406.667762026572, 400.33973385228603)">PC2</text><text class="sch-text" x="1034.1371717478" y="792.146274441471" fill="rgb(132, 0, 0)" text-anchor="end" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1034.1371717478, 792.146274441471)">REFCLK24M</text><text class="sch-text" x="902.5646930358299" y="516.775555721286" fill="rgb(132, 0, 0)" text-anchor="end" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 902.5646930358299, 516.775555721286)">REFCLK24M</text><text class="sch-text" x="1173.8601579905999" y="853.275080922696" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1173.8601579905999, 853.275080922696)">PE13</text><text class="sch-text" x="1862.5780443457347" y="944.095021980516" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1862.5780443457347, 944.095021980516)">PE13</text><text class="sch-text" x="1173.8601579905999" y="859.096872016146" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1173.8601579905999, 859.096872016146)">PE12</text><text class="sch-text" x="1862.5780443457347" y="941.766305543136" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1862.5780443457347, 941.766305543136)">PE12</text><text class="sch-text" x="1173.8601579905999" y="876.562245296496" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1173.8601579905999, 876.562245296496)">JTAG_TCK</text><text class="sch-text" x="1460.2922797883398" y="1064.023918505586" fill="rgb(132, 0, 0)" text-anchor="end" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1460.2922797883398, 1064.023918505586)">JTAG_TCK</text><text class="sch-text" x="1173.8601579905999" y="882.384036389946" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1173.8601579905999, 882.384036389946)">JTAG_TDO</text><text class="sch-text" x="1378.78720448004" y="1064.023918505586" fill="rgb(132, 0, 0)" text-anchor="end" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1378.78720448004, 1064.023918505586)">JTAG_TDO</text><text class="sch-text" x="1173.8601579905999" y="888.205827483396" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1173.8601579905999, 888.205827483396)">JTAG_TDI</text><text class="sch-text" x="1460.2922797883398" y="982.5188431972861" fill="rgb(132, 0, 0)" text-anchor="end" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1460.2922797883398, 982.5188431972861)">JTAG_TDI</text><text class="sch-text" x="1173.8601579905999" y="894.027618576846" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1173.8601579905999, 894.027618576846)">JTAG_TMS</text><text class="sch-text" x="1378.78720448004" y="982.5188431972861" fill="rgb(132, 0, 0)" text-anchor="end" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1378.78720448004, 982.5188431972861)">JTAG_TMS</text><text class="sch-text" x="1173.924197692628" y="899.849409670296" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1173.924197692628, 899.849409670296)">PE7</text><text class="sch-text" x="1863.0437876332107" y="939.437589105756" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1863.0437876332107, 939.437589105756)">PE7</text><text class="sch-text" x="1173.924197692628" y="905.671200763746" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1173.924197692628, 905.671200763746)">PE6</text><text class="sch-text" x="1863.0437876332107" y="937.1088726683761" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1863.0437876332107, 937.1088726683761)">PE6</text><text class="sch-text" x="1173.924197692628" y="911.492991857196" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1173.924197692628, 911.492991857196)">PE5</text><text class="sch-text" x="1863.0437876332107" y="934.780156230996" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1863.0437876332107, 934.780156230996)">PE5</text><text class="sch-text" x="1173.924197692628" y="917.314782950646" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1173.924197692628, 917.314782950646)">PE4</text><text class="sch-text" x="1863.0437876332107" y="932.451439793616" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1863.0437876332107, 932.451439793616)">PE4</text><text class="sch-text" x="1173.924197692628" y="923.136574044096" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1173.924197692628, 923.136574044096)">PE0</text><text class="sch-text" x="1863.0437876332107" y="927.794006918856" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1863.0437876332107, 927.794006918856)">PE0</text><text class="sch-text" x="1173.924197692628" y="928.958365137546" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1173.924197692628, 928.958365137546)">PE1</text><text class="sch-text" x="1863.0437876332107" y="930.1227233562361" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1863.0437876332107, 930.1227233562361)">PE1</text><text class="sch-text" x="1034.1371717478" y="862.007767562871" fill="rgb(132, 0, 0)" text-anchor="end" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1034.1371717478, 862.007767562871)">DDR_ZQ</text><text class="sch-text" x="924.6874991909399" y="1634.559445663686" fill="rgb(132, 0, 0)" text-anchor="end" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 924.6874991909399, 1634.559445663686)">DDR_ZQ</text><text class="sch-text" x="1173.924197692628" y="981.354484978596" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1173.924197692628, 981.354484978596)">PD5</text><text class="sch-text" x="1863.0437876332107" y="871.904812421736" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1863.0437876332107, 871.904812421736)">PD5</text><text class="sch-text" x="1173.924197692628" y="987.176276072046" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1173.924197692628, 987.176276072046)">PD6</text><text class="sch-text" x="1863.0437876332107" y="874.233528859116" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1863.0437876332107, 874.233528859116)">PD6</text><text class="sch-text" x="1173.924197692628" y="992.998067165496" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1173.924197692628, 992.998067165496)">PD7</text><text class="sch-text" x="1863.0437876332107" y="876.562245296496" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1863.0437876332107, 876.562245296496)">PD7</text><text class="sch-text" x="1173.924197692628" y="998.8198582589459" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1173.924197692628, 998.8198582589459)">PD8</text><text class="sch-text" x="1863.0437876332107" y="878.890961733876" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1863.0437876332107, 878.890961733876)">PD8</text><text class="sch-text" x="1173.924197692628" y="1004.641649352396" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1173.924197692628, 1004.641649352396)">PD9</text><text class="sch-text" x="1863.0437876332107" y="881.219678171256" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1863.0437876332107, 881.219678171256)">PD9</text><text class="sch-text" x="1173.8601579905999" y="1045.394187006546" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1173.8601579905999, 1045.394187006546)">PD16</text><text class="sch-text" x="1862.5780443457347" y="897.5206932329161" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1862.5780443457347, 897.5206932329161)">PD16</text><text class="sch-text" x="1173.8601579905999" y="1051.215978099996" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1173.8601579905999, 1051.215978099996)">PD17</text><text class="sch-text" x="1862.5780443457347" y="899.849409670296" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1862.5780443457347, 899.849409670296)">PD17</text><text class="sch-text" x="1173.8601579905999" y="1057.037769193446" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1173.8601579905999, 1057.037769193446)">PD18</text><text class="sch-text" x="1862.5780443457347" y="902.178126107676" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1862.5780443457347, 902.178126107676)">PD18</text><text class="sch-text" x="1173.8601579905999" y="1062.8595602868959" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1173.8601579905999, 1062.8595602868959)">PD19</text><text class="sch-text" x="1862.5780443457347" y="904.506842545056" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1862.5780443457347, 904.506842545056)">PD19</text><text class="sch-text" x="1034.1371717478" y="1001.730753805671" fill="rgb(132, 0, 0)" text-anchor="end" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1034.1371717478, 1001.730753805671)">HPOUTFB</text><text class="sch-text" x="1091.656467751086" y="1733.0641509648601" fill="rgb(132, 0, 0)" text-anchor="end" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(-90, 1091.656467751086, 1733.0641509648601)">HPOUTFB</text><text class="sch-text" x="1034.1371717478" y="1007.552544899121" fill="rgb(132, 0, 0)" text-anchor="end" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1034.1371717478, 1007.552544899121)">GPADC0</text><text class="sch-text" x="2062.847657960415" y="1339.976816335116" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 2062.847657960415, 1339.976816335116)">GPADC0</text><text class="sch-text" x="1034.1371717478" y="1013.374335992571" fill="rgb(132, 0, 0)" text-anchor="end" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1034.1371717478, 1013.374335992571)">TP_X1</text><text class="sch-text" x="2062.847657960415" y="1342.305532772496" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 2062.847657960415, 1342.305532772496)">TP_X1</text><text class="sch-text" x="1034.1371717478" y="1019.1961270860211" fill="rgb(132, 0, 0)" text-anchor="end" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1034.1371717478, 1019.1961270860211)">TP_X2</text><text class="sch-text" x="2062.847657960415" y="1344.634249209876" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 2062.847657960415, 1344.634249209876)">TP_X2</text><text class="sch-text" x="1034.1371717478" y="1025.017918179471" fill="rgb(132, 0, 0)" text-anchor="end" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1034.1371717478, 1025.017918179471)">TP_Y1</text><text class="sch-text" x="2062.847657960415" y="1346.962965647256" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 2062.847657960415, 1346.962965647256)">TP_Y1</text><text class="sch-text" x="1034.1371717478" y="1030.839709272921" fill="rgb(132, 0, 0)" text-anchor="end" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1034.1371717478, 1030.839709272921)">TP_Y2</text><text class="sch-text" x="2062.847657960415" y="1349.291682084636" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 2062.847657960415, 1349.291682084636)">TP_Y2</text><text class="sch-text" x="1173.924197692628" y="1103.612097941046" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1173.924197692628, 1103.612097941046)">PG1</text><text class="sch-text" x="2050.505460842301" y="1095.461590410216" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 2050.505460842301, 1095.461590410216)">PG1</text><text class="sch-text" x="1173.924197692628" y="1109.433889034496" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1173.924197692628, 1109.433889034496)">PG2</text><text class="sch-text" x="2050.505460842301" y="1097.790306847596" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 2050.505460842301, 1097.790306847596)">PG2</text><text class="sch-text" x="1173.924197692628" y="1115.255680127946" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1173.924197692628, 1115.255680127946)">PG0</text><text class="sch-text" x="2050.505460842301" y="1093.132873972836" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 2050.505460842301, 1093.132873972836)">PG0</text><text class="sch-text" x="1173.924197692628" y="1121.077471221396" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1173.924197692628, 1121.077471221396)">PG3</text><text class="sch-text" x="2050.505460842301" y="1100.119023284976" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 2050.505460842301, 1100.119023284976)">PG3</text><text class="sch-text" x="1173.924197692628" y="1126.899262314846" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1173.924197692628, 1126.899262314846)">PG5</text><text class="sch-text" x="2050.505460842301" y="1104.776456159736" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 2050.505460842301, 1104.776456159736)">PG5</text><text class="sch-text" x="1173.924197692628" y="1132.721053408296" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1173.924197692628, 1132.721053408296)">PG4</text><text class="sch-text" x="2050.505460842301" y="1102.447739722356" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 2050.505460842301, 1102.447739722356)">PG4</text><text class="sch-text" x="451.9580624027999" y="758.962065208806" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 451.9580624027999, 758.962065208806)">SW101</text><text class="sch-text" x="514.5084047242681" y="746.1235656395874" fill="rgb(132, 0, 0)" text-anchor="end" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 514.5084047242681, 746.1235656395874)">SW101</text><text class="sch-text" x="451.9580624027999" y="933.615798012306" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 451.9580624027999, 933.615798012306)">SW102</text><text class="sch-text" x="514.5084047242681" y="920.7772984430874" fill="rgb(132, 0, 0)" text-anchor="end" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 514.5084047242681, 920.7772984430874)">SW102</text><text class="sch-text" x="451.9580624027999" y="1108.269530815806" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 451.9580624027999, 1108.269530815806)">SW103</text><text class="sch-text" x="514.5084047242681" y="1095.4310312465873" fill="rgb(132, 0, 0)" text-anchor="end" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 514.5084047242681, 1095.4310312465873)">SW103</text><text class="sch-text" x="591.6810486456" y="151.16707505262593" fill="rgb(132, 0, 0)" text-anchor="end" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 591.6810486456, 151.16707505262593)">CP_RESET_N</text><text class="sch-text" x="573.05131714656" y="214.04241886188595" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 573.05131714656, 214.04241886188595)">CP_RESET_N</text><text class="sch-text" x="1225.441227078567" y="330.478240730886" fill="rgb(132, 0, 0)" text-anchor="end" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1225.441227078567, 330.478240730886)">BOOT_BUTTON</text><text class="sch-text" x="1236.73550179986" y="248.97316542258602" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1236.73550179986, 248.97316542258602)">BOOT_BUTTON</text><text class="sch-text" x="1432.34768253978" y="843.960215173176" fill="rgb(132, 0, 0)" text-anchor="end" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1432.34768253978, 843.960215173176)">JTDO_HDR</text><text class="sch-text" x="1388.10207022956" y="1064.023918505586" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1388.10207022956, 1064.023918505586)">JTDO_HDR</text><text class="sch-text" x="1178.051847577884" y="97.60659699288601" fill="rgb(132, 0, 0)" text-anchor="end" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1178.051847577884, 97.60659699288601)">LED_POWER_A</text><text class="sch-text" x="1190.16117305226" y="16.101521684586032" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1190.16117305226, 16.101521684586032)">LED_POWER_A</text><text class="sch-text" x="1317.7748338206839" y="97.60659699288601" fill="rgb(132, 0, 0)" text-anchor="end" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1317.7748338206839, 97.60659699288601)">LED_USER_A</text><text class="sch-text" x="1329.8841592950598" y="16.101521684586032" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 1329.8841592950598, 16.101521684586032)">LED_USER_A</text><text class="sch-text" x="174.14219142336594" y="336.9986467555501" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(-90, 174.14219142336594, 336.9986467555501)">USB0_SENSE_C</text><text class="sch-text" x="249.35973235073993" y="283.903911983286" fill="rgb(132, 0, 0)" text-anchor="end" dominant-baseline="middle" font-family="sans-serif" font-size="1.397229862428px" transform="rotate(0, 249.35973235073993, 283.903911983286)">USB0_SENSE_C</text><style data-tscircuit-alphabet-font="" type="text/css">@font-face { font-family: 'TscircuitAlphabet'; src: url('data:font/ttf;base64,T1RUTwAJAIAAAwAQQ0ZGIFhQSpcAAAcwAABJ3U9TLzJqmmVhAAABAAAAAGBjbWFwFN0WswAABEwAAALEaGVhZC1P1HwAAACcAAAANmhoZWEDrgI1AAAA1AAAACRobXR44xAAAAAAURAAAAFQbWF4cABUUAAAAAD4AAAABm5hbWUZQ94BAAABYAAAAutwb3N0AAMAAAAABxAAAAAgAAEAAAABAADb+Z65Xw889QADA+gAAAAA5e9IsgAAAADl70iy/9P/PwKHAvkAAAADAAIAAAAAAAAAAQAAA6z/LAAAArQAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAFQAAFAAAFQAAAADArQB9AAFAAACigK7AAAAjAKKArsAAAHfADEBAgAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAABYWFhYAEAAIQB6A6z/LAAAAvkAwQAAAAEAAAAAAiwC1wAAAAAAAAAAACIBngABAAAAAAAAAAEAWQABAAAAAAABABEAAAABAAAAAAACAAcAMwABAAAAAAADABsA/AABAAAAAAAEABkASAABAAAAAAAFAAsA2wABAAAAAAAGABgAkwABAAAAAAAHAAEAWQABAAAAAAAIAAEAWQABAAAAAAAJAAEAWQABAAAAAAAKAAEAWQABAAAAAAALAAEAWQABAAAAAAAMAAEAWQABAAAAAAANAAEAWQABAAAAAAAOAAEAWQABAAAAAAAQABEAAAABAAAAAAARAAcAMwADAAEECQAAAAIAgwADAAEECQABACIAEQADAAEECQACAA4AOgADAAEECQADADYBFwADAAEECQAEADIAYQADAAEECQAFABYA5gADAAEECQAGADAAqwADAAEECQAHAAIAgwADAAEECQAIAAIAgwADAAEECQAJAAIAgwADAAEECQAKAAIAgwADAAEECQALAAIAgwADAAEECQAMAAIAgwADAAEECQANAAIAgwADAAEECQAOAAIAgwADAAEECQAQACIAEQADAAEECQARAA4AOlRzY2lyY3VpdEFscGhhYmV0AFQAcwBjAGkAcgBjAHUAaQB0AEEAbABwAGgAYQBiAGUAdFJlZ3VsYXIAUgBlAGcAdQBsAGEAclRzY2lyY3VpdEFscGhhYmV0IFJlZ3VsYXIAVABzAGMAaQByAGMAdQBpAHQAQQBsAHAAaABhAGIAZQB0ACAAUgBlAGcAdQBsAGEAclRzY2lyY3VpdEFscGhhYmV0UmVndWxhcgBUAHMAYwBpAHIAYwB1AGkAdABBAGwAcABoAGEAYgBlAHQAUgBlAGcAdQBsAGEAclZlcnNpb24gMC4xAFYAZQByAHMAaQBvAG4AIAAwAC4AMSA6VHNjaXJjdWl0QWxwaGFiZXQgUmVndWxhcgAgADoAVABzAGMAaQByAGMAdQBpAHQAQQBsAHAAaABhAGIAZQB0ACAAUgBlAGcAdQBsAGEAcgAAAAABAAMAAQAAAAwABAK4AAAAqgCAAAYAKgAAACEAIgAjACQAJwAoACkAKgArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQA8AD0APgBBAEIAQwBEAEUARgBHAEgASQBKAEsATABNAE4ATwBQAFEAUgBTAFQAVQBWAFcAWABZAFoAWwBcAF0AXgBfAGEAYgBjAGQAZQBmAGcAaABpAGoAawBsAG0AbgBvAHAAcQByAHMAdAB1AHYAdwB4AHkAev//AAAAAAAhACIAIwAkACcAKAApACoAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAPAA9AD4AQQBCAEMARABFAEYARwBIAEkASgBLAEwATQBOAE8AUABRAFIAUwBUAFUAVgBXAFgAWQBaAFsAXABdAF4AXwBhAGIAYwBkAGUAZgBnAGgAaQBqAGsAbABtAG4AbwBwAHEAcgBzAHQAdQB2AHcAeAB5AHr//wAA/+D/4P/g/+D/3v/e/97/3v/e/97/3v/e/97/3v/e/97/3v/e/97/3v/e/97/3v/c/9z/3P/a/9r/2v/a/9r/2v/a/9r/2v/a/9r/2v/a/9r/2v/a/9r/2v/a/9r/2v/a/9r/2v/a/9r/2v/a/9r/2v/a/9n/2f/Z/9n/2f/Z/9n/2f/Z/9n/2f/Z/9n/2f/Z/9n/2f/Z/9n/2f/Z/9n/2f/Z/9n/2QABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEABAEAAQEBGVRzY2lyY3VpdEFscGhhYmV0UmVndWxhcgABAQEo+BsA+BwC+B0D+B4Ei/tV+kD5SAUdAAABOQ8dAAAB4BGLHQAASd0SAFcBAQwlNj0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcXV5fYGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6e3x9fn+AgYKDhIWGh4iJiouMjY6PkFZlcnNpb24gMC4xVHNjaXJjdWl0QWxwaGFiZXQgUmVndWxhclRzY2lyY3VpdEFscGhhYmV0UmVndWxhciEiIyQnKCkqKywtLi8wMTIzNDU2Nzg5PD0+QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpbXF1eX2FiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6AAAAAYsBjAGNAY4BjwGQAZEBkgGTAZQBlQGWAZcBmAGZAZoBmwGcAZ0BngGfAaABoQGiAaMBpAGlAaYBpwGoAakBqgGrAawBrQGuAa8BsAGxAbIBswG0AbUBtgG3AbgBuQG6AbsBvAG9Ab4BvwHAAcEBwgHDAcQBxQHGAccByAHJAcoBywHMAc0BzgHPAdAB0QHSAdMB1AHVAdYB1wHYAdkB2gHbAdwB3QBUAgABAAQAeADuAgwFUgWPBmUHOwffCGMIzwkMCUgJhQq1CzwMhg5ADwwQUBHfEt8U3hYZFqIXFxeiGEIZtBsIHCccsh0sHpIfGh9XIC8gtiEFIjwjJSRTJWUmviftKXQp2CqzK0gsfS0ILW8uPy6iLuAvQy+2L/IxEDItM0A0XjWWNlQ39zjFOTk59zp9Oro76Dy1Pd8+/EAaQJVCDELOQ49EGEVZReRGgUdR+UgO+Uj37vlBFYv8VgWIewWBfQV8ggV6iAV6jgV8lAWBmQWImwWL+FYFjpsFlZkFmpQFnI8FnIcFmoIFlX0FL/z3Fe+LBZyIBZmCBZV9BY97BYd7BYF9BX2CBXqIBSeLBXqOBX2UBYGZBYebBY+bBZWZBZmUBQ75SPdm+UEVi/uBBYh7BYF9BXyCBXqIBXqOBXyUBYGZBYibBYv3gQWOmwWVmQWalAWcjwWchwWaggWVfQX3p3sVi/uBBYh7BYF9BXyCBXqIBXqOBXyUBYGZBYibBYv3gQWOmwWVmQWalAWcjwWchwWaggWVfQUO+Uj3XvcoFYAiBYZ7BYB/BXyDBXmJBXqQBX6VBYOaBYmbBZPgBSR/BXqMBXuSBX+YBYaaBYycBZOaBZiVBZyRBfcPmgWe91QFKH8FeYwFfJIFf5gFhZoFjZwFkpkFmZYFm5EF9wyZBZ33RgWQmgWWmAWakwWdjQWchgWYgQWUfAWMewV7+zIF9zifBZr3JgWQmgWWmAWbkwWcjQWchgWZgQWTfAWNewV++xMF8JcFnIoFm4QFl34FkHwFinoFg30FfoAFeoUF+w19BXj7VQXslwWdigWahAWXfwWRewWKegWDfQV+gAV6hgX7CnwFfvscBYZ7BX9/BXyDBXqJBXqQBX2VBYOaBYmbBZf3CQX7MM0V9zifBZ/3VAX7OHcFDvlI9/T5XhWL/awFiHoFgX4FfIEFeogFeo4FfJUFgpgFh5wFi/msBY+bBZSZBZqUBZyOBZyIBZqCBZV9BfcB+2YVNd0FgpkFiJsFjpsFlZkFmpQFnI4FnIcFmoIF4DkFlX0FjnoFh3sFgX4FfYIFeYgFeo4FQ9sV+z+bBXuQBX2VBYOaBYmbBZCbBZeYBZqTBZ2MBfc+ewWchgWZgAWTfQWMegWGfAWAfgV8gwX7LqUVKjgFe4MFeogFeo8FfZUFgpkFiJwFkJsFlZgF7d4FmpMFnI0FnIcFmYEFlH0FjnsFh3sFLD4VZvsHBYN8BX2BBXqGBXqMBXuTBYCYBYabBY2bBa/3CAWTmQWZlgWckAWciQWbgwWWfwWQewVkIRWkSQWNegWHewWAfgV8gwV6iQV6jwV9lQWCmQVyzQWJmwWPmwWWmQWakwWcjQWchwWZgQWdTxXUWgWXfwWRewWKewWEfAV+fwV7hgV5iwV7kgVCvQV/lwWFmgWLnAWTmgWYlgWbkQWdigXTWhX3fFkFm4QFl38FkXwFi3oFhHwFfoAFe4UFeYwF+3y8BXuSBX+XBYWaBYycBZKaBZeWBZyRBfedUhXVWgWWfwWSewWKewWEfAV+fwV6hgV6iwV7kgVCvAV/mAWFmgWLnAWTmgWXlgWckQWcigX2PBWjOAWMewWGewV/fgV8hAV5igV6kAV+lgWDmQVz3gWKmwWQmwWXmAWakgWdjAWbhgWZgAWp+xAVW/sHBYF9BX2BBXqIBXmOBX2UBYGYBYebBY6cBbz3BwWUmQWalQWcjgWciAWaggWVfQWPewU/+y8V+w5aBXqHBXmOBX2UBYGZBYebBY6bBZWZBZmUBfcOvQWcjgWciAWaggWVfgWPewWIewWBfQX7M00V+zObBXuQBX2WBYOZBYqcBZCaBZaYBZuTBZyMBfczewWchgWYgAWTfAWNewWFewWAfwV7gwX7VqAVNb0Ff5YFg5oFi5sFkZsFl5cFm5IFnIsFnIYF4FkFmIAFknwFjHoFhXwFf38Fe4QFeYoF+wzZFWbuBYmbBY+bBZaYBZqUBZyNBZyHBZmBBZR9BbAnBY17BYd7BYB+BXyDBXmIBXqQBX2VBQ75SPfu+UEVi/uBBYh7BYF9BXyCBXqIBXqOBXyUBYGZBYibBYv3gQWOmwWVmQWalAWcjwWchwWaggWVfQUO+Uj4Ko0VsmUFlX0FjnsFh3sFgX0FfYIFeYgFeo8FfZQFYrMFio0FiYwFY7sFiowFiowFYsMFiowFiowFY8oFio4FiY0FbcoFio4FiY4Fd8oFi44Fio0FgcMFi5IFi5IFlcMFjI0Fi44Fn8oFjY4FjI4FqcoFjY0FjI4Fs8oFjIwFjIwFtMMFjIwFjIwFs7sFjYwFjI0FtLMFmZQFnI8FnYgFmYIFlX0Fj3sFiHsFgX0FZGUFZV4FZFUFZE8Fb1AFeFEFg10Fk10FnlEFp1AFsk8FslUFDvlI95tWFYqJBWJjBX2CBXqHBXmOBX2UBYGZBYebBY6bBZWZBbKxBbG4BbLBBbLHBafGBZ7FBZO5BYO5BXjFBW/GBWTHBWTBBWW4BWSxBYGZBYibBY+bBZWZBZqUBZyOBZyHBZmCBbRjBYyJBY2KBbRbBYuKBY2KBbNTBYyKBYyKBbRMBYuIBY2JBapMBYuIBY2IBZ9MBYuIBYyJBZVTBYuEBYuEBYFTBYqJBYuIBXdMBYmIBYuIBWxMBYmJBYuIBWJMBYqKBYqKBWNTBYmKBYuKBWJbBQ75SPeU+FUV+zRWBXqIBXqPBX2VBYKZBYicBY+bBZaYBZqTBfc5wgUh9yQFhJoFi5sFkZsFmJYFm5IFnIsFm4UFmIAF8fsfBfH3HwWYlgWbkQWciwWchAWXgAWRewWLewWEfAUh+yQF9zlUBZqDBZZ+BY97BYh6BYJ9BX2BBXqHBXqOBfs0wAWL+yoFiHsFgX0FfIIFeogFeo4FfJQFgZkFiJsFDvlI95T39hWL90sFjpwFlZgFmpUFnI4FnIgFmoEFlX4FjnoFi/tLBfdpiwWciAWaggWVfQWOewWIegWBfgV8ggV6hwX7aYsFi/tLBYh7BYF9BXyCBXqIBXqOBXyUBYGZBYibBYv3SwX7aYsFeo8FfJQFgZgFiJwFjpsFlZkFmpQFnI4FDvlI96puFcJVBZV9BY56BYd7BYF+BXyCBXqIBXqOBX2VBTXfBYeRBYaRBYuMBYqMBYqSBYmSBYyMBYqMBY2SBYyTBYyLBYuMBZCRBY+RBfc/9zwFmpUFnI4FnIgFmoMFlX0Fj3sFiHsFgX0FDvlI90L35RX3kosFnIgFmoIFlX0FjnsFiHsFgX0FfIIFeogF+5KLBXqOBXyUBYGZBYibBY6bBZWZBZqUBQ75SPf/7RX7D4sFeY4FfZQFgZkFiJsFjpsFlZkFmZQFnY4F9w+LBZyIBZmCBZV9BY97BYd7BYF9BX2CBQ75SKOAFfhx+WMFl5cFm5EFnYwFm4UFmIAFknwFjHoFhXwF/HH9YwV/fwV7hQV5igV7kQV+lgWEmgWKnAUO+Uj4CfkPFUOeBUN4BUZQBWMvBYH7JQWj+wwFxi0F2F0FyYsF2LkFxukFo/cMBYH3JQVj5wVq9x4VjYoFkYgFkYgFjIoFjYoF4EEFi4sFjIoFj4UFkIUFi4oFjIoFuSEFjIQFjYUFlvsyBYqGBYuGBXH7GQWIhQWJhAVH+wIFiYoFiokFhocFh4YFiYoFiooFKVEFh4kFiIkFhooFh4oFh4sFh4oFM4sFh4wFh4sFh4wFhowFiI0Fh40FKcUFiowFiYwFh5AFho8Fio0FiowFRvcCBYmSBYiRBXH3GQWLkAWKkAWW9zIFjZEFjJIFufUFjIwFi4wFkJEFj5EFjIwFjIsF39UFjYwFjIwFkY4FkY4FjYwFjYsF6aMFjowFjowFkYoFkYwFjooFjooF6XMFDvlI9/v5ZRWQjgWNjAWNjAWSiwWSjQWMigWNiwWSigWSiQWMigWNiwWRhwWQhwWMigWNigWOhQWPhQWMigWLiQWMhQWNhAWL/REFh3sFgX0FfYIFeogFeY4FfZQFgZkFiJsFi/i2BTRFBXuDBXqJBXqPBX2WBYOZBYmbBY+bBZaYBfc19xUFDvlI90rmFffoiwWdiAWZggWVfQWOewWIewWBfQV9ggV5iAX8TosFg4wFg4wFiowFiosFhY8FhI8Fi4sFiowFhpEFh5EFi4wFiowFipIFiZIFi4wFi4wFjJIFjJIFjIwFi4wFj5EFj5EF9zn3PgX3L/dKBcTlBZezBYueBYOqBXeiBV6dBUaQBWaGBVBzBWttBX9mBYN9BX6ABXqGBXmNBXyTBYCYBYaaBYycBZu6BYuMBYyNBY+QBY6RBYyMBYyNBbi2BYuLBYuLBZOQBZKQBYuLBYuLBdWoBZCNBZGMBbqSBZCKBZCMBd2FBZKJBZKKBclxBYyKBY2LBZCHBZGHBYyKBY2JBaxlBYyKBYuKBY+FBY6EBYuKBYyKBZdeBYuFBYyGBYptBYqGBYuGBX1ZBYiFBYmGBUwpBYmJBYqJBfsy+04FiooFiooFDvlI9wqUFYeMBVObBXySBX+YBYabBY2bBZOaBZmVBZuQBZ2KBcB8BdeABeiJBb2WBdGxBbW2BZy5BYOvBWWzBUStBTSiBT2UBYiMBYiLBYWOBYaMBYmNBYiNBYePBYeOBYmOBYmNBYmQBYmQBYuOBYqOBYuQBYuRBYyNBYuOBY2QBY2QBY2NBY2OBY+PBY+PBY6MBY2NBZCNBZGNBY6LBY6MBduVBeKdBdGpBauoBZGqBXWtBV2uBUagBTyPBUp2BVZxBWhxBXyEBXmKBXuQBX2WBYOZBYqcBZCaBZeYBbCnBY+MBY6OBceoBY6MBY6NBdikBZOMBZSMBemGBZCKBZGKBd1yBZKIBZOHBcVeBZCGBZCGBa9UBY2EBY6FBYuKBYyKBYqEBYuDBYBQBYmHBYqHBYmIBYmHBYiIBYiHBVxfBYWGBYSHBUduBdFqBZGGBZKHBcBUBYyIBY6JBY2GBY6HBYuIBY2HBZZQBYuJBYyIBYqFBYuGBYqIBYuJBXNKBYuLBYuLBYeEBYaEBYuLBYuLBVZUBYWHBYaHBTlfBYWJBYWIBU19BYWLBYWKBSeNBYiMBYiLBTmWBQ75SPgF98IVi+oFj5sFlJgFmpUFnI4FnIgFmoEFlX4FjnsFiywF6YsFnIcFmoIFlX0FjnsFiHsFgX0FfIIFeogFLYsFi/s9BYh7BYF9BXyCBXqIBXqOBXyUBYKZBYebBYv3PQX71IsFhIwFhYwFiYwFiYsFhY8FhY0Fio0FiYwFh5AFh5AFi40FiY0FipEFiZEFi40Fi40FjJEFjJEFjI0Fi40Fj5EFjpAF+Ab4PgWYlgWcjwWcigWbgwWWfgWQfAWKegWCfQX7yfv5BQ75SKn5QRWOmwWVmQWalAWcjwX4WIsFnIcFmoIFlX0FjnsFiHsFgX0FfIIFeogF/CuLBYv7dwX3HakFk4sFk4wF9x57BZOIBZOJBcJuBZGGBZGHBbFiBYyJBYyKBY6FBY+FBYuKBYyJBaj7BAWLigWLigWLhAWMhAWKigWLiQV9UQWLiwWLigWHhAWIhAWLiwWKigVnXgWFhQWFhgVFYQWFiQWFiAU5dQWGigWGigU+hwWFjAWGiwVKlwWGjQWGjAVWogWGjgWFjwVUugWAmAWHmwWOmwWUmQWZlQWcjwWciQWaggW9YQW0eQXCgQXNjgXSngXFrgWlqwWUswVz5wVxpwVjoAX7DZkF+01iBYaLBYaKBYeMBYiKBYaNBYaMBYiNBYeMBYePBYeNBYmOBYiNBYmQBYiPBYuOBYmPBYuPBYqQBQ75SPch96QVi4sFi4sFbW4FioMFnlkFm24FtWEFtHIFzoEF2o8FxaMFsqoFnrMFjaoFf7MFeKwFcqQFZ5sFUJcFU44FU4MFU28F+yxcFYqPBYyRBYy5BYuLBYuLBY7cBY2RBYyRBafaBYyNBYuNBbTfBZCSBZCRBcC7BY6NBY2NBdC4BZGOBZCOBdykBYyLBYuLBeKlBZ2NBZuGBZmBBZN8BY17BYZ7BYB+BXyDBTRyBUFzBU9kBV5jBWdABXJEBYp7BZGOBZCPBdGtBZKNBZKOBc6UBZCLBY+LBcuJBY+KBY+LBc58BZCKBZCJBbt2BZKGBZKHBa5oBY6GBY+GBaNhBYyHBY2HBZpZBYyEBYyFBYlbBYuLBYuLBYmDBYmDBYuLBYuLBW9UBYuKBYqKBYaGBYeFBYqKBYqLBVhiBYaIBYaIBUNtBYOJBYOJBS+GBYeMBYaLBTmXBYqLBYqLBYSOBYOOBYuLBYqLBVasBYiPBYaNBVq8BYeQBYeQBXaxBYqOBYqOBXXHBYqSBYmTBQ75SPfP90gVg/saBYd7BYF+BXyCBXmJBXqPBX2VBYKZBYmbBZL3HAWMjQWLjQWc9wcFi4wFjI0Fms0FjI0Fi4wFnsYFjIwFi40FoL4FjIwFi40ForcFjIwFi40Fo7EFjIwFjI0FoqoFjI0FjIwFoqYFjYwF+96LBXmOBX2UBYGZBYibBY6bBZWZBZmUBZ2PBfhfiwWQigWQigWOigWPigWPiAWQiQWOiQWNiQWOhwWPhwWMiAWNiAWMhgWNhgWLiAWMiAWJhgWLhgWKiAWKiAWIhwWJhgWIiQWJiAWHiAWHiAVqeQV9gQVkaAV3dAV2bgV1aAV2YgV4WwV5UwV8TAUO+Uj3pvf2FUR0BUpaBXBZBYleBaZdBcVnBdlzBciJBeCmBb6wBaLEBYLEBWK1BTi2BVKfBdH3sxU4kQVLgAVXcwVrXQWVaQW4ZQW/bAXDeAWwlgXetQWdpgWMwwV1rwVr9wEVi4sFk4gFk4kFi4sFjIsF0GgFjokFj4kFjocFj4gFjYgFjYgFrVIFjIkFjYgFjIYFjYYFiogFjIgFiTwFi4gFi4kFiYUFioYFiYkFiogFbVwFiYkFiYgFh4gFh4cFiIoFiYkFUm4F0mYFkIcFkYcFw1IFjYcFj4gFjIcFjYgFjIYFjIcFmDoFi4kFi4kFioUFi4UFiokFiokFbDwFiYcFiogFh4cFiYgFiIgFiIkFR1sFhYgFhYcFJ2sFg4oFg4oFP40FhY0FhIsFMqcFho4FhY0FQ7gFio0FiYwFho8Fh5AFio0FiYwFZc0Fio4Fio4FipAFiZAFjI4Fio4Fjs0Fi4wFi4sFjZMFjZIFi4wFi4sFr80Fi4wFjIwFkJAFkJEFi4wFjIsF2sYFkY4Fko8FmI8FaZ8FiI4Fh40FUrwFiY0FiI4FiY8FiI8Fio4FiY4FeMsFi40Fi4wFipIFi5IFi4wFi4wFjpIFjZIFjIsFjI0Fu9IFjo4FjY4Fj44Fj44Fjo0Fjo0F0KsFkYwFkY0F15gFkIsFkYwF7YQFDvlI+Fr4mBWVnQV8xwVwqwVfoAVIkwVHgwVTdAVnagV+XwWYYAWvaQXDdAXMhAXMmgW8qgVf/BoVi4oFZ0IFgX4FfIIFeYgFeo8FfZUFgpkFiJsFj5sFr9QFtuoFwPcXBYuLBYuMBZKcBT55BYOKBYKLBTuUBYWNBYWMBUWoBYSPBYSQBVm6BYqNBYmMBYiQBYeQBYuOBYqNBXfNBYqOBYqOBYyQBYqQBYyOBYyPBZ/NBYyNBYuNBY+QBY6QBY2NBYyNBb26BZKPBZKQBdGnBZGMBZGNBduVBZGKBZGMBduBBZKJBZKJBcdvBYyKBYyLBZGGBZGHBYuKBYyKBbNcBYyKBYyKBY6FBY6FBYuJBYyKBZ83BYuFBYyEBYqJBYuJBYmFBYmGBYqHBUH7SAVW+xgFi4oFiooFXysFDvlI9y/3yxX4OvtDBZqBBZR9BY57BYd7BYF9BXyCBXqJBXqOBfyY92oFhI8FhY8FiowFiowFh5EFh5EFi4wFiosFipMFiZIFi4wFi4wFjZIFjJIFjIwFi4wFj5EFj5EFjIwFjIsFkY8Fko8F+Jj3agWcjwWciAWaggWVfgWPewWIegWCfQV8ggUO+Ui2+GkV+JiLBZyIBZqCBZV9BY57BYh7BYF9BXyCBXqIBfyYiwV6jgV8lAWBmQWImwWOmwWVmQWalAWc+4gV+JiLBZyIBZqCBZV9BY57BYh7BYF9BXyCBXqIBfyYiwV6jgV8lAWBmQWImwWOmwWVmQWalAUO+Uj44/fpFYyKBY+FBY+FBYuKBYyKBYyEBY2EBYuKBYuKBYmEBYqDBYqLBYuKBYeFBYeFBYqKBYqKBYWHBYSHBfyY+2oFeogFeo0FfJQFgZkFh5sFjpsFlJkFmpUF+Dv3QwX8O/dDBXyUBYKZBYicBY+bBZWYBZqUBZyOBZyHBfiY+2oFkocFkYcFDvlI+Ev3kxWGigX7q4sFi4sFLPtyBYF9BX2CBXqIBXmOBX2UBYGYBYecBY6bBfek+REFkJIFkJIFi4sFi4sFko8FkpAFi4sFjIsFk40Fk40FjIsFi4sFk4kFlIoFi4sFi4sFkoYFkocFjIsFi4sFkIQFj4QF97r9EQWPewWIegWBfgV9gQV6iAV5jgV9lAWBmAX7IvfIFfsB94AFJvuABQ75SPe++GUV2bYFlMsFTL8F+weeBSmGBYv7VgX32vxEFYSJBYmLBYmLBfv7hwWKiwWLiwWDjAWCjQWLiwWLiwWEjwWEkAWKiwWLiwWGkgWHkQWLjAWKiwWKkwWJkgWLjAWLiwWL+QoFjJIFjZIFi4wFi4wFkJEFjpEFjIwFjIwFkY8FkY8FjYsFjIwFkowFk40F9yWTBZCKBZCLBfcZdQWOigWPigWQiQWQiQWNiQWOiQXlQQWNiAWPiQWNhwWOhwWMhwWNiAWLhgWMhwWLhwWLhwV9+wAFiokFi4gFiIYFiYYFiYkFiogFh4cFh4cFiIoFiYkFSGYF9wJmBY6JBY+KBY+IBY+JBY2IBY6IBdE3BY6GBY6FBYyJBYuKBYyEBYyEBYX7AAWLiQWLiQWJhQWJhQWKiQWKiQVsWwWIiQWKiAWHiAWHhwWIigWIiQU+ZAWJigWJigVu3BXEqAWeqAWP3QVYyQX7JLsF+1CWBYv7nAUO+Uj4ZPclFaDbBZOZBZiXBZuQBZ2KBZuEBZd/BZF7BYp7BXIwBYqIBYqHBYiHBYmHBYiIBYmIBUNLBYiJBYmJBYaJBYaIBYiLBYiJBSl1BYuLBYuLBYOLBYKLBYuLBYuLBfsEnAWJiwWKjAWEjQWEjgWKjAWKiwVRsQWFkQWFkQVU3QWLiwWLiwWIkwWIkgWLiwWLiwVm918Fi5MFi5MFuvdeBYyMBYuNBY+RBY2RBY2MBYyNBc7XBYyMBYuLBZGQBZKQBYuLBYuLBdGsBZKNBZKOBdqVBYyLBYyLBZOKBZKLBYyKBY2LBfVqBYyLBYyLBZKHBZGHBYyLBYyKBcNZBYyLBYuKBZCFBY+FBYyKBYuLBapEBY57BYh7BYF9BXyCBXqIBXqOBXyVBYGYBXDJBWKwBTSlBU6EBVVxBVRNBWD7TAWt+04FuUgFtG8F6H0F2JwFDvlI93uVFYaKBfs1iAWLiwWKiwWDjAWDjQWKiwWLiwWEjwWEjwWLjAWKiwWHkgWGkQWLjAWLiwWJkwWJkgWMjAWKiwWT+QQFjJAFi5EFjY0Fi48Fj48FjY8FjY4FjY0FkI4Fj44Fjo0FjowFkIwFkY0F7pgFj4sFjowF14kFkYoFkIsF9xBrBYuLBYuLBZOHBZKIBYyLBYuKBeZIBYyKBYuLBZCFBZGFBYuLBYuKBb8wBY2FBY6GBaAsBYuHBYyHBY1EBYqHBYuIBYJOBYmHBYqHBXhXBYeFBYmGBUw8BYWGBYWGBTdZBYWJBYWIBfsdaAV53hX3EasF0rUFwM4Fm7UFlMAFicsFeOAFXtoFPsQF+wGnBUiMBVGDBYX8tAUO+Uj3EeUV+CGLBZyIBZqCBZV9BY57BYh7BYF9BXyCBXqIBfxOiwV6jgV8lAWCmQWHmwWL99MFi/fSBY+bBZSZBZqUBZyPBfhOiwWchwWaggWVfQWOewWIewWBfQV8ggV6iAX8IYsFi/t+BfeciwWdiAWZggWVfQWOewWIegWBfgV9ggV5hwX7nIsFDvlI9xf32hWL+6oFiHsFgX0FfYIFeYgFeo4FfZQFgZkFh5sFi/kRBY+bBZWZBZmUBZyPBZ2HBYyKBfgviwWciAWZggWVfQWPewWHewWBfQV9ggV6iAX8FYsFi/t4BffQiwWdiAWZggWVfQWOewWIewWBfQV9ggV5hwUO+Uj4fve0Ffs1iwV6jwV9lAWBmQWImwWOmwWVmQWZlAWdjgX3bIsFj4oFkIsFj4kFj4oFj4kFj4kFjogFj4kFjYgFjocFjYgFjYcFjIcFjYcFi4cFjIcFiocFi4cFXvtaBYqJBYuIBYiGBYiGBYmJBYqJBUtGBYmKBYqJBYWIBYaHBYmKBYmKBTpwBYqLBYuKBYOKBYOKBYqLBYqLBTWSBYSNBYSNBTmuBYWOBYaOBUfCBYaQBYaQBV/QBYuMBYqMBYmRBYiSBYuMBYuMBXf3UgWLkQWLkgWx90IFjIwFi40FjpEFjpEFjIwFjI0FzdsFjIwFi4wFkZAFkY8FjIwFjIsF37QFi4sFi4sFk40Fk44Fi4sFi4sF9xeVBZKKBZGLBfcQcQWbhQWXfwWRfAWLegWEfAV+gAV7hQV5iwX7CKMF+weCBUhrBVZJBWj7MwWe+0IFrlUFxFwF0W4Fz4UFx6AFvL8FDvlI+H74OhWL95sFj5sFlJkFmpQFnI8FnIcFmoIFlX0FjnsFi/0RBYh7BYF9BXyCBXqIBXqOBXyUBYKZBYebBYv3tgX8DosFi/u2BYd7BYJ9BXyCBXqIBXqOBXyUBYGZBYibBYv34AWL98UFjpsFlZkFmpQFnI8FnIcFmoIFlH0Fj3sFi/ubBQ75SPfu+UEVi/0RBYh7BYF9BXyCBXqIBXqOBXyUBYGZBYibBYv5EQWOmwWVmQWalAWcjwWchwWaggWVfQUO+Ui/9z4Vio4Fia8FjpsFlJkFmZUFnY4FnIkFmoIFlX4Fj3sFjGsFkXIFlXYFmXkFnX0FunoFzoQFu5EFwp8FoJkFnJ0Fl6EFk70FivhxBY6bBZWZBZqUBZyPBZyHBZqCBZR+BY96BYz8dAWKiAWLiAWCTgWJhQWJhAV5awWHhgWIhwVycQWHiAWIiAVtdwWGiQWGiAVKcwWGigWFigVRhAWGiwWGiwU8kwWFjAWFjAVRoQWFjwWFjQVvoQWHjwWHjgV2pQWJkAWIjwV+qAWKkAWJjwWEqwUO+Uj3Uff3FfsBOQWL+3UFiHsFgX0FfYIFeYgFeo4FfZQFgZkFh5sFi/kRBY+bBZWZBZmUBZyPBZ2HBZmCBZV9BY57BYv7xAX4Hve7BZuSBZyNBZyGBZiABZR8BYx7BYZ7BX9/Bfui+14F9+b70AWVfQWPewWHewWCfQV8ggV6iAV6jgV8lAUO+Uj3DOUV+CuLBZyIBZmCBZV9BY97BYd7BYF9BX2CBXqIBfxYiwV6jgV9lAWBmQWHmwWL+REFj5sFlZkFmZQFnI8FnYcFmYIFlX0FjnsFDvlI+KH5WxWOjwWNjQWNjQWRjQWPjgWOjAWOjAWRjAWRjAWOigWOiwWQiQWRigWNigWOigWQhwWPiAWNiQWNiQWOhgWOhgWMiQWMiAWLhgWNhQWL/REFh3sFgX0FfYIFeogFeY4FfZQFgZkFiJsFi/h1BftD+6wFiYkFiokFhocFh4cFiYkFiYoFhYkFhYgFiYsFiIoFhYwFhYoFiIwFiYsFhY4FhY0FiYwFiY0Fh48Fho8Fio0FiY0F+0P3rAWL/HUFiHsFgX0FfYIFeYgFeo4FfZQFgZkFh5sFi/kRBY2RBYuQBYyOBYyNBY6QBY6QBY2NBY2NBY+OBZCPBY6MBY2MBZGMBZCNBY6LBY6MBZGKBZGKBY6KBY6KBY+IBZGJBY2JBY2JBY6HBY+HBfdw+/UF93D39QUO+Uj4e/dPFYT4hgWOmwWVmQWZlAWcjwWdiAWZggWVfQWPewWU/REFioYFi4cFiocFiocFiYgFiYcFiIgFiIcFiIkFiIgFh4kFh4kFh4oFh4oFhosFh4oFhosFh4sFh40Fh4wFh40Fh4wFiI4Fh44FiI4FiI4F/BT4oQWL/IkFh3sFgn0FfIIFeogFeo4FfJQFgZkFiJsFi/kRBYyPBYuPBYyPBYyPBY6PBYyOBY6OBY6PBY6NBY6OBZCNBY+NBY+MBY6NBZCLBZCMBY+KBY+LBY+JBZCKBY+JBY6KBY+IBY+IBY2IBY6IBQ75SPgblBWFiAWJiwWJiwUzgAWKiwWKigWEjAWDjAWKiwWKiwUypQWJjAWIjAWGjgWGjgWJjQWJjAU62gWJjgWIjgWJjwWIjwWLjwWJjgVP96AFi40Fi4wFi5IFi5IFjIwFi40FxPddBY2PBYyPBY6OBY2PBY6NBY6PBdHEBYyMBYyMBZKOBZGOBY2LBYyMBfcOqQWPiwWPjAWQigWPjAWPiQWPiwX3B2cFjIoFjYsFkYcFkYgFjIoFjYkFzkoFjYgFjYkFjocFjYYFjIgFjIgFxfuJBYuDBYuDBW/7LgWIhAWJhQVYMgWKiQWLigWGhgWGhgWKigWKigUwTgWJigWKigUg0BXOkwXUvAW11gWl9x8FVvd1BVm8BTCoBShzBVdgBVj7RgXD+4sFy00FDvlI93j3xxWJigX7AooFi/uVBYd7BYF9BX2CBXqIBXmOBX2UBYGZBYibBYv5BQWMkQWMkgWMjAWLjQWPkQWOkAWNjAWMjQWQjwWRjwWNiwWMjAWSjQWRjAX3HZcFjosFj4sF9w6EBY+KBZCLBdp2BY+KBY+KBa96BZCIBZCIBcRbBYuKBYuLBZCFBZCEBYuLBYyLBaRXBY2EBY2EBZA/BYuJBYuJBYqFBYqFBYqJBYuJBXRcBYqJBYqJBYeHBYeFBYmKBYqKBWhxBYWIBYWIBVN2BYeKBYeJBTp8BYiLBYmLBfsCggWF4BX1kwXWmQW5nAWgmwWZpwWGxAV6sAVesQVxlwVEnQX7BpIFL4MFi/uJBQ75SPiTtRXQOQWTfAWNewWFewWAfwV7gwV6igV6kAV+lQVRzwVUYAWIigWJiQWGiQWGiAWHiwWIigU1fgWJjAWJigWEjAWFiwWJjAWIiwU0qQWJjAWIjAWGjgWGjgWJjgWJjAU75AWKjgWJjQWJkAWIkAWLjgWKjQVQ98MFi4sFi4sFi5MFi5MFi4sFi4wFw/d2BY2OBYyPBY2PBY6PBY2OBY2OBdDLBY2MBYyNBZGOBZGOBY2MBY2MBfcLrAWRjAWRjAWNigWOjAWRiQWRigX3BGMFjYoFjooFj4cFkYgFjIkFjYoFzUEFjIkFjYkFjYYFjoYFjIgFjIkFw/uoBYuEBYuEBW/7QgWJhQWJhQX7K0AVMfUFg5oFipsFkJsFlpcFm5MFnIwFnIYFmIEF0zcFmqkFpfc1BVb3lgVZxAU0qgUucQVXWgVY+2IFwvuvBctDBcx2BcmUBQ75SPfz+EoV3JcFrpgFoJsFlqIFjLMFfbkFgZYFd5gFcZUFQZsF+xSQBfsofgWL+10F90g8FftIhQWL+7cFh3oFgn4FfIEFeogFeo4FfJUFgZgFiJwFi/j8BYyRBYyRBYyNBYuNBY+QBY6RBY2MBYyNBZGOBZCPBY2MBY2MBZGMBZKNBfdUmwWOiwWOjAX3G4UFj4oFj4sF3HoFj4kFj4sFrX0Fj4kFj4kFp3kFj4cFkIgFoHQFi4oFjIsFjoQFj4UFi4oFjIoFnU0FjIUFjIUFiVQFi4sFiYMFiYMFi4sFeWQFiooFi4oFhoUFhoUFiosFi4oFaXAFhIgFhYcFXXoFhooFhokFNX8F94H7rQWTfQWNegWGewV/fwV8gwV5igV6kAV+lgX7nPfLBYOaBQ75SOXBFYaOBYqNBYiNBYmQBYeQBVr3AQWHnAWOmwWVmQWZlAWcjgWdiAWZggWVfgW3KgXNaQX3IIcF7bgFq/AFdsUFS68F+4ezBYiNBYiLBYaNBYaNBYmOBYiMBUu+BYiPBYiOBYmOBYiOBYqQBYmOBXrHBYuPBYqOBYuQBYuPBYyPBYyPBbT3DAWOkAWNkAWNjQWMjQWQjwWPjwXvzAWRjgWQjgWOiwWNjAWRiwWRjAX3R4IFjYoFjIwFkogFkooFjIoFjYoFkIcFkYcFjIoFjIoF1zAFknwFjXoFhXwFgH4Fe4QFeYoFe5AFfpYFTNYF+yOTBUBaBWssBZVoBbZoBfeDYwWTiQWTiAXfWgWQhwWQhwWNiQWMigWOhQWOhgWrNgWLhgWNhwWLhwWLiAWKhgWKhgVi+xgFi4oFiooFh4UFiIQFiosFiooFhYYFhYcFiosFiooF+xJRBYmLBYqKBYSKBYSJBYmLBYmLBfs2jwWJjAWJiwWFjQWEjAWJjAWJjAUzuQUO+Uj3yflsFfeiiwWchwWaggWVfQWOewWIewWBfQV8ggV6iAX7dYsFi/znBYh7BYF9BX2CBXmIBXqOBXyUBYKZBYebBYv45wX7hYsFeo4FfJQFgZkFiJsFjpsFlZkFmpQFnI8FDvlI+HT3hxWQ+E4Fj5sFlZkFmZQFnY4FnIcFmYIFlX0FjnsFhvxQBYqIBYyJBYFHBYqHBYqGBXdYBYmIBYmHBX53BYiHBYiIBW1sBYWHBYaHBVhxBYSJBYSJBU2BBYWLBYSLBTOUBYaNBYWMBUWlBYWPBYWOBVyvBYeQBYWQBWjCBYiRBYiRBXnSBYqPBYqOBYTsBYuNBYuMBYr39wWOmwWVmQWalAWcjwWchwWaggWVfgWOegWM+/UFki8Fm00Fp2EFr28FxXYF14IFu5MFsJ4FoqIFk5cFnLYFDvlI99H3NRX3a/ivBZSZBZqVBZyPBZyIBZqCBZV+BY97BYh6BfuS/REFi4sFi4oFhoUFh4QFi4sFiooFhIcFhYYFiosFi4sFg4kFg4oFiosFi4sFg4wFgowFi4wFiosFhI8FhI8Fi4sFi4wFhpEFhpEFi4wFi4sF+7j5EgWHmwWOmwWVmQWZlAWcjwWciAWaggWVfQUO+Uj4dvdYFdf4gwWQmwWXlwWbkgWcjAWchgWYgAWTfAWMegUq/REFiYcFioYFiYgFiocFiIgFiIcFiIkFiIgFh4kFh4kFh4oFh4kFh4sFhooFh4sFh4sFho0Fh4sFh40Fh40FiI4Fh40FiI4FiI4FiY8FiI4F+0b3/wX7Ofv2BYiHBYiGBYmJBYmJBYaIBYeHBYiKBYiKBYaKBYWJBYiLBYiLBYWMBYaLBYiNBYiLBYaOBYaOBYmNBYiNBYiPBYiPBYqOBYmOBYqQBYmQBTv5CQWNnAWTmQWYlgWckAWcigWbhAWWfgWRewXH/G8F9x/3vgWPkAWPkQWMjAWMjAWRjwWRjwWNiwWMjAWSjAWSjQWNiwWMiwWSiQWTigWMiwWMigWRhwWSiAWMigWMigWPhQWPhQUO+Uj3/Pf/FfeZ+7QFlH0FjXsFhnsFgH4FfIMFeYkFeo8FfpYF+5D3qQX7kPupBX6ABXqHBXmNBXyTBYCYBYabBY2bBZSZBfeZ97QF+5/3uwWCmQWJnAWQmwWWlwWalAWdjAWchwWYgQX3lvuxBfeW97EFmZUFm48FnYoFmoIFln8FkHsFiXoFgn0FDvlI9+j4EhWV++EFiHsFgn0FfYEFeogFeY0FfJQFgZkFh5sFgffjBfud96cFgpkFiJsFj5sFlpkFmpMFnI4FnIcFmYEF94n7kQX3k/eQBZqVBZyPBZyIBZqCBZV+BY96BYh7BYJ9BQ75SPci5RX4KosFnYgFmYIFlX0FjnsFiHsFgX0FfYIFeYgF/IKLBYWMBYaLBYiMBYeMBYeOBYaNBYmNBYiNBYiPBYePBYqOBYmOBYqQBYmPBYuPBYuOBYyQBYuQBYyOBYyOBY6PBY2QBfhP+M4F/CqLBXmOBX2UBYGZBYibBY6bBZWZBZmUBZ2PBfiCiwWRigWQigWOigWPigWPiQWQiAWNiQWOiQWOhwWPhwWMiAWNiAWMhwWNhgWLiAWLhwWKhgWLhgWKiAWKiAWIhwWJhgUO+Uj3h3QV9zaLBZyIBZmCBZV9BY97BYd7BYF9BX2CBXqHBftjiwV5jwV9lAWBmQWImwWL+Z8FjpsFlZkFmZQFnY4F92OLBZyIBZmCBZV9BY97BYd7BYF9BX2CBXqIBfs2iwUO+Ujw+VgV+HH9YwWRfAWKegWEfAV+gAV7hQV5jAV7kQV/lwX8cfljBYWaBYycBZKaBZiWBZuRBZ2KBZuFBQ75SPhWShWHewWBfQV9ggV6hwX7Y4sFeY8FfZQFgZkFiJsFjpsFlZkFmZQFnY4F9zaLBYv5SwX7NosFeY4FfZQFgZkFiJsFjpsFlZkFmZQFnY4F92OLBZyIBZmCBZV9BY97BQ75SPeo+WQVko8FjIsFjIwFkowFk40FjIoFjIwFk4kFkooFjIoFjIsFkocFkYcF9577ggWVfgWPewWIegWBfQV9ggV6hwV6jgV8lAX7f/dmBft/+2YFfIIFeogFeo8FfZQFgZkFiJwFj5sFlZgF9573ggUO+UiL+wEV+O6LBZyIBZqCBZV9BY57BYh7BYF9BXyCBXqIBfzuiwV6jgV8lAWBmQWImwWOmwWVmQWalAUO+Uj4POoVxcIFi/eQBVLBBVCnBS+LBVBvBUxQBWsvBYtQBaswBcpPBcdvBeaLBfcIZhWHiAWFhwVAZwWKigWJigWEigWFiQWJjAWJigX7BYsFiYwFiYoFhI0FhYwFiYwFiYwFQK8FhY8FhY8FP9MFiowFiowFiJEFh5EFiowFiowFZvYFipIFipIFi9IFjJIFjJEFsPcABYyNBYyMBY+RBY6RBYyMBYyMBdfTBZGPBZGPBdeuBYyMBY2MBZKMBZKNBYyKBY2MBfcFiwWMigWNjAWSiQWSigWMigWNigXWaAWQhwWQiAWLjwWPnAWUmAWalQWcjgWciAWagQWVfgWOegWL/IoFiHsFgX4FfIEFeogFeo4FfJUFgpgFh5sFDvlI9xOvFYaOBYuKBYd6BYF+BX2CBXqHBXmPBX2UBYGYBYicBYv5OAWOmwWVmQWZlAWdjgWciAWZggWVfQWPewWL+3YFkI4FkY8F1asFjIsFjIsFko0Fk40FjIoFjIwF9wSLBYyLBYuLBZOJBZOJBYyLBYuLBddrBZCHBZKIBdZKBYyKBY2KBY6FBY+GBYyJBYyKBbApBYyEBYyEBYtLBYqEBYqDBWYrBYqKBYqJBYeGBYiFBYmKBYqJBUBLBYWIBYWHBUBqBYqLBYqLBYSJBYOJBYqLBYqLBfsEiwWKjAWKigWDjQWEjQWKiwWKiwVBrAWA9w0VwlwFxnEF54sFx6UFycAFqdoFi70FbdsFTcAFT6QFL4sFUHIFVFwFDvlI+DLqFczNBZqVBZyPBZyIBZqDBZV9BY97BYl7BYF9BUVDBYWHBYWHBUZmBYiLBYmJBYWKBYWJBYiMBYmKBSGLBYmMBYiKBYWNBYWMBYmNBYmLBUSwBYWPBYWPBUXTBYqMBYqMBYeRBYeRBYuMBYqMBWn2BYqRBYqSBYvSBYyRBYySBa33AAWMjAWLjAWPkQWPkQWMjAWMjAXR0wWRjwWRjwXSrwWNiwWNjQWRjAWSjQWNigWNjAX1iwWNigWNjAWSiQWRigWNiQWNiwXRZwWRhwWRhwXRQwWVfQWNewWHewWBfQV8gwV6iAV6jwV8lQVKzQVWpgU3iwVVcAVRUAVtLgWLUAWoLwXGUAXCbwXdiwUO+Uj4PfUVwroFi/dxBVS6BVCkBS+LBU9yBU1WBW07BYtZBak8BclWBcdxBeeLBfcGYhWGiAWFhwVBagWKiwWKiwWEiQWDiQWKjAWKigX7BIsFiosFiosFhI0Fg40FiosFiosFQKwFhY8Fho4FP8sFio0FiYwFiJEFh5AFio0FiowFZusFipMFipIFi8sFjJIFjJIFsO0FjIwFjI0Fj5AFjpEFjYwFjIwF18wFkY4FkI8F16sFi4sFjIsFk40Fk40Fi4sFjIsF9wSLBYyKBYyMBZOJBZKJBYyLBYyLBdVrBZGHBZCIBYv3dgWPmwWVmQWZlAWcjgWdiAWZggWVfQWOewWL/TgFiHoFgX4FfYIFeYcFeo8FfZQFgZgFh5wFDvlI9x74IBV8YQX4GIsFg5QFZs0FbaYFS6cFJosFSm8F93r7/BXXzgWZlAWdjgWchwWZggWVfQWNegWIewWAfgU6QwWGiAWFhwU8ZgWJiwWKigWEigWEiQWJiwWKiwX7DYsFiosFiosFg40FhIwFiowFiosFOrAFhY8FhY4FO9MFiYwFiowFh5EFh5AFi40Fio0FY/YFipIFipIFi9IFjJIFjJIFs/cABYyNBYuNBY+QBY+QBYyNBY2MBdvTBZKOBZCPBdyvBYyLBYyMBZOMBZKNBYyLBYyLBfcNiwWMiwWMiwWTiQWSigWMigWMiwXbZwWQhwWRiAW1ZwWPhQWQhQWyRAWQewWJegWDfQV/ggWUhQWVfgWOegWIewWBfQV9ggV5iAX8SYsFi3UFrDAFz08FzG4F8IsFDvlI97n4VhWL/CQFiHsFgX0FfIIFeogFeo4FfJQFgZkFiJsFi/gkBfsGiwV6jgV8lQWCmAWHmwWPnAWUmAWalQWcjgX3BosFi8AFi40Fi40FjZEFjJEFjY0Fi4wFwOoFkZEFkJEFi4sFi4wFk44Fko8F9asFkowFkowF9YsFnIgFmoIFlX0FjnsFiHsFgX0FfIIFeogFKIsFOXIFZEUFi2EF9zuLBZyIBZqBBZV+BY56BYh7BYF+BXyBBXqIBQ75SPg99yMVwroFi/dxBVS7BVCkBS+LBU9yBU1WBW06BYtaBak7BclWBcdxBeeLBfcGYhWGiAWFhwVBagWKiwWKigWEigWDiQWKiwWKiwX7BIsFiosFiosFg40FhIwFiowFiosFQKwFhY8FhY4FQMwFiowFiYwFiJEFh5AFio0FiowFZuwFipIFipIFi8wFjJIFjJIFsOwFjI0FjI0Fj5AFjpAFjY0FjIwF1swFko4FkI8F16sFi4sFjIwFk4wFk40Fi4sFjIsF9wSLBYyLBYyLBZOJBZKKBYyKBYyLBdVrBZGHBZCIBYuLBY+cBZWYBZmVBZyOBZ2IBZmBBZV+BY56BYv8mAWKhAWKhAVmKgWKigWKiQWHhgWIhQWJigWKiQVlawWFhwWFhwVBbAWKigWKiwWEiQWDigWKiwWKiwX7BIsFiosFi4sFg4wFg40FiosFi4sFP6sFho8FhI8FQMsFio0FiYwFiJAFh5AFio0Fio0FZuwFiZwFj5sFlZgFm5QFnI0FnIcFmYEFlH0FrDQFyVYFx3EF54sFxqUFpKAFqdoFDvlI+L34CRWNhAWL+9AFiHsFgX0FfIIFeogFeo4FfJQFgZkFiJsFi/fIBW7TBVqfBSyLBU1yBS49BYv7vQWIewWBfQV8ggV6iAV6jgV8lAWBmQWImwWL+SwFjpsFlZkFmpQFnI4FnIgFmoIFlX0FjnsFi/uSBbKsBZGOBZGPBdeqBYyLBYuMBZOMBZONBYyLBYuLBfcGiwWMiwWLiwWTiQWTigWMigWLiwXXbAWLiwWLiwWShgWShwWLigWMiwWPhAWQhQWLigWLiwWxLAUO+Uj3mfmIFduLBZyIBZqCBZV9BY57BYh7BYF9BXyCBXqIBTuLBXqOBXyUBYGZBYibBY6bBZWZBZqUBfH7mRWL/E4FiHsFgX0FfIIFeogFeo4FfJQFgZkFiJsFi/hOBY6cBZWYBZqVBZyOBZyIBZqBBZV+BQ75SPgV+YgVyYsFnIgFmoIFlX0FjnsFiHsFgX0FfIIFeogFTYsFeo4FfJQFgpkFh5sFj5sFlJkFmpQF+wn+MhWGigWIjQWHiwUpqQV8kwWAmAWGmwWNmwWUmQWZlgWbjwWdiQXhcQXpoQWhyQWL+I4Fj5sFlJkFmpQFnI8FnIcFmoIFlX0FjnsFi/yVBYqEBYqFBWswBYiGBYmHBYmIBYmIBYeIBYeIBYiJBYiJBYaKBYaJBfsXbQWIiwWHigUO+Uj3f/eMFfsRLwWLIQWIewWBfQV8ggV6iAV6jgV8lAWCmQWHmwWL+SwFj5sFlJkFmpQFnI4FnIgFmoIFlX0FjnsFi/xXBff495sFm5IFnIwFnIYFmIEFk3wFjHoFhnwFgH4F+2v7MgX3mPtwBZV+BZB7BYh7BYJ9BX2BBXqHBXqNBXyTBQ75SPfu+WMVi/0xBYh7BYF9BXyCBXqIBXqOBXyUBYGZBYibBYv5MQWOmwWVmQWalAWcjwWchwWaggWVfQUO+Uj43/iYFZCGBYuKBYyJBYyFBY2EBYuKBYyJBYv8WwWHewWBfQV9ggV6iAV5jgV9lAWBmQWImwWL+EgFfJYFXIsFdHgFVDEFi/vmBYh7BYF9BX2CBXmIBXqOBX2UBYGZBYebBYv36gVo4wV1nAVdiwVzeAVVMQWL++YFh3sFgX0FfYIFeogFeY4FfZQFgZkFiJsFi/h9BY6cBZWYBZmVBZ2OBZyIBZmBBZV+BY2ABa2mBZGOBZGPBY2LBYyMBZKLBZKNBduLBZKJBZKLBYyKBY2LBZGHBZGIBbZoBYyJBY2KBY+GBY+GBYuJBY2JBZN1BZynBZCQBZCRBbWtBZGPBZGPBY2LBYyMBZKLBZKNBdyLBZKJBZKLBYyKBY2LBZGHBZGIBbZoBYyKBYyKBQ75SPi++B0VjIUFi/vyBYh7BYF9BXyCBXqIBXqOBXyUBYGZBYibBYv36wVt3QVaoQUtiwVPcAUsMwWL++AFiHsFgX0FfIIFeogFeo4FfJQFgZkFiJsFi/h9BY6cBZWYBZqVBZyOBZyIBZqBBZV+BY56BYtlBbCtBZKPBZCPBdiuBYyLBYyMBZKMBZONBYyLBYyLBfcGiwWMiwWNiwWSiQWSigWMigWNiwXWaAWMiwWLiwWShgWRhgWMiwWLiwWPhAWPhAWLiwWLiwWyIQUO+Uj37Ph4FTWLBVRwBU9PBWwvBYtQBaowBcdPBcNvBeCLBcKnBcfHBarmBYvGBWznBU/HBWH3AxWNjAWRiQWSigWNiQWNiwXTaAWRhgWRhwXTQwWLigWMiwWPhAWPhQWLigWMigWv+wAFjIUFjIQFi0QFioQFioUFZyAFiooFi4oFh4QFh4UFiosFi4oFQ0MFhYcFhYcFQ2YFiYsFiYkFhYoFhIkFiYwFiYoF+wCLBYmMBYmKBYSNBYWMBYmNBYmLBUOwBYWPBYWPBUPTBYuMBYqLBYeRBYeSBYuMBYqMBWf2BYqRBYqSBYvSBYySBYyRBa/3AAWMjAWLjAWPkQWPkgWMiwWLjAXT0wWSjwWQkAXTrgWNiwWNjQWSjAWRjQWNigWNjAX3AIsFDvlI9xTXFYWPBYv7dQWHewWCfQV8ggV6iAV6jgV8lAWBmQWImwWL+TMFjpwFlZgFmpUFnI4FnIgFmoEFlH4Fj3oFi4sFkY8FkI4F1asFjIsFjIwFk4wFko0FjIsFjIsF9wSLBYyLBYuLBZOJBZOKBYyKBYuLBdZsBZGHBZGHBdZLBY2KBYyJBY+GBY+GBYuJBY2JBa8rBY2EBYyDBYtLBYqEBYmEBWYsBYqJBYuJBYeGBYeFBYqKBYmKBUBLBYWHBYaIBUBqBYqLBYqKBYOKBYSJBYqLBYqLBfsEiwWKiwWKiwWDjQWEjAWKjAWKiwVBrAWA9w0VwlwFxnEF54sFx6UFyb8FqdoFi7wFbdsFTb8FT6QFL4sFUHIFVFwFDvlI+D33JRXCugWL924FVLoFUKQFL4sFT3IFTVcFbTsFi1oFqTwFyVcFx3EF54sF9wZiFYaIBYWHBUFqBYqLBYqLBYSJBYOJBYqMBYqKBfsEiwWKjAWKigWEjQWDjQWKiwWKiwVArAWGjgWFjwVAywWJjAWKjQWHkAWHkAWLjQWKjQVm6gWJkgWKkwWLywWMkgWNkgWw6wWMjQWLjQWPkAWPkQWMjAWNjAXWywWRjwWRjwXWqgWLiwWMjAWTjAWTjQWLiwWMiwX3BIsFjIsFjIsFkokFk4oFjIoFjIsF1WwFkIcFkYgFi4sFj5sFlJkFmpQFnI4FnIgFmoIFlX0FjnsFi/00BYh7BYF9BXyCBXqIBXqOBXyUBYKZBYebBQ75SPfp+MsVk40F9yaLBZyIBZmBBZV+BY96BYd7BYF+BX2BBXqIBfsdiwU4bgU5TwViNAWL+6MFiHsFgX0FfYIFeYgFeo4FfZQFgZkFh5sFi/h9BY+cBZWYBZmVBZyOBZ2IBZmBBZV+BY56BYtWBdTABZGNBZGPBeutBQ75SO6nFYSQBYuLBYuMBYeSBYeSBXLSBYmcBY+bBZaYBZuTBZyNBZyGBZmBBZN9BZ9TBbt0BfWLBeSsBbuhBYuoBVHCBfsBygX7BIsFiYsFiosFhI0FhIwFiowFiYwFQK8FhY8Fho8FiowFiYwFiJEFh5EFi4wFio0FipEFipIFi9IFjJMFjZMFi4sFi4wFkJEFj5IF1tMFjIsFjIwFkY8Fko8FjIsFi4wF764Fk4wFk40F9xGLBYyKBY2MBZKJBZKKBYyKBY2KBdZoBZmBBZN8BY17BYd7BYB+BXyDBXmJBXqPBUqqBSGLBTluBVRWBYtuBbN4BfcGiwWOigWPiwWQiQWQigWOigWPiQX3EEQFj4cFkIgF1kQFj4QFkIQFi4sFi4sFjYMFjIMFi0MFioUFioQFiooFi4kFh4UFiIYFiYoFiokFhYgFhoYFQGgFiYsFiYkFJ2cFg4oFg4kF+xGLBYmMBYmKBYWNBYSMBYmMBYqMBUCvBQ75SPdd+DEV+wyLBXqOBXyUBYGZBYibBY6bBZWZBZqUBZyOBfcMiwWL9zcFjpsFlZkFmpQFnI4FnIgFmoIFlX0FjnsFi/s3BfdDiwWciAWaggWVfQWOewWIewWBfQV8ggV6iAX7Q4sFi/uCBbNMBeF0BfOLBZyHBZqCBZV9BY57BYh7BYF9BXyCBXqIBfsCiwWFjAWFjAX7AqgFg48FhI4Fi4sFiowFhpEFhZAFVOIFio4FiY4FipAFiZAFjI4Fio4FDvlI+GX3SRWL9+AFjpsFlZkFmpQFnI4FnIgFmoIFlX0FjnsFi/x9BYh6BYF+BXyBBXqIBXqOBXyVBYGYBYicBYuyBWZpBYWHBYWHBT9oBYmKBYqKBYSKBYSJBYmMBYqKBfsGiwWJjAWKigWEjQWEjAWJjAWKjAU/rgWEkAWEkAWLiwWLiwWHkgWHkgVk9AWKkgWKkQWL9/IFjpsFlZkFmpQFnI4FnIgFmoIFlX0FjnsFi/vrBak6Bb10BeeLBcinBQ75SPfB9xcV92j4JgWWmAWakwWcjQWchwWZgQWUfQWNegWHewX7kfxyBYiHBYiGBYiJBYqJBYaIBYaIBYiKBYiKBYaKBYWKBYiLBYiLBYWMBYaMBYiMBYiMBYaOBYaOBYqNBYiNBYiQBYiPBfuQ+HIFhpsFjZwFlJkFmZUFnI8FnIkFmoMFln4FDvlI+Fj3TRX29+kFk5oFmZUFm5AFnYoFmoMFl34FkHsFiXsF+yr8cgWIhwWKhwWIiAWKhwWHiQWIhwWHiQWIiQWGiQWHiQWHiwWHigWHiwWGiwWHjAWHiwWHjQWGjQWIjQWHjQWIjwWIjQWJjwWIjgWKjwWIjwUg9+kFIPvpBYiHBYqHBYiIBYmHBYiJBYiHBYeJBYiJBYaJBYeJBYeLBYeKBYeLBYaLBYeMBYeLBYeNBYaNBYiNBYeNBYiPBYiNBYmPBYiOBYqPBYiPBfsq+HIFiZsFkJsFl5gFmpMFnYwFm4YFmYEFk3wF9wD76QX29+kFjY8FjI8Fjo4FjY8Fj44Fjo4Fjo0Fj40Fj40Fj40Fj4sFj4wFkIsFkIsFj4oFj4sFj4kFkIkFjokFjokFjogFj4gFjYcFjogFjIcFjYcFDvlI+AL3pxX3evtlBZV+BY97BYh7BYF9BX2BBXqIBXmOBX2UBft992YF+337ZgV9ggV5iAV6jgV9lQWBmQWImwWPmwWVmAX3evdlBft692UFgZgFh5sFjpwFlZgFmZUFnI4FnYgFmYMF9337ZwX3ffdnBZmTBZ2OBZyIBZmBBZV+BY56BYd7BYF+BQ75SOj7TxWDigWLiwWLiwVjiwV6jgV8lAWBmQWImwWOmwWVmQWalAWcjgWqiwXLpQXOwQXJ7gX7dfg4BYebBY2bBZSaBZiVBZyPBZ2JBZqDBZZ+BfdX/AEF91n4AQWWmAWakwWdjQWbhwWZgQWUfAWNewWGewX7gfxMBYuKBYqJBT37EQWGhQWGhgU9TAWEiAWGhwU8bAWLiwWLiwUO+Uj3UtkV98+LBZ2IBZmCBZV9BY57BYh7BYF9BX2CBXmIBfwsiwWEjAWFiwWJjQWIiwWGjgWGjgWJjQWJjAWHkAWHkAWKjQWKjQWKkQWJkAWLjgWLjQWMkQWLkQWNjQWLjQWPkAWOkQX38vguBfvPiwV5jgV9lAWBmQWImwWOmwWVmQWZlAWdjgX4LIsFkooFkYsFjYoFjooFkIgFkYgFjIkFjYoFj4YFj4YFjIkFjIkFjIUFjYYFi4gFi4kFioUFi4UFiYkFi4kFh4YFiIYFDgAAAAK0AAACtAAAArQAAAK0AAACtAAAArQAAAK0AAACtAAAArQAAAK0AAACtAAAArQAAAK0AAACtAAAArQAAAK0AAACtAAAArQAAAK0AAACtAAAArQAAAK0AAACtAAAArQAAAK0AAACtAAAArQAAAK0AAACtAAAArQAAAK0AAACtAAAArQAAAK0AAACtAAAArQAAAK0AAACtAAAArQAAAK0AAACtAAAArQAAAK0AAACtAAAArQAAAK0AAACtAAAArQAAAK0AAACtAAAArQAAAK0AAACtAAAArQAAAK0AAACtAAAArQAAAK0AAACtAAAArQAAAK0AAACtAAAArQAAAK0AAACtAAAArQAAAK0AAACtAAAArQAAAK0AAACtAAAArQAAAK0AAACtAAAArQAAAK0AAACtAAAArQAAAK0AAACtAAAArQAAAK0AAACtAAAArQAAA==') format('truetype'); font-weight: normal; font-style: normal; }</style><g class="placement-issue-overlays"><g data-issue-index="41" data-issue-type="TwoPinComponentHasInvertedRails"><title>#42 TwoPinComponentHasInvertedRails <TwoPinComponentHasInvertedRails componentName="C_SOC_20" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_SOC_20 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" /> -#42 TwoPinComponentHasInvertedRails -<TwoPinComponentHasInvertedRails componentName="C_SOC_26" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_SOC_26 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" /> #43 TwoPinComponentHasInvertedRails -<TwoPinComponentHasInvertedRails componentName="C_SOC_34" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_SOC_34 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" /> +<TwoPinComponentHasInvertedRails componentName="C_SOC_26" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_SOC_26 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" /> #44 TwoPinComponentHasInvertedRails -<TwoPinComponentHasInvertedRails componentName="C_SOC_46" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_SOC_46 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" /> +<TwoPinComponentHasInvertedRails componentName="C_SOC_34" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_SOC_34 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" /> #45 TwoPinComponentHasInvertedRails -<TwoPinComponentHasInvertedRails componentName="C_SOC_48" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_SOC_48 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" /> +<TwoPinComponentHasInvertedRails componentName="C_SOC_46" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_SOC_46 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" /> #46 TwoPinComponentHasInvertedRails -<TwoPinComponentHasInvertedRails componentName="C_SOC_49" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_SOC_49 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" /> +<TwoPinComponentHasInvertedRails componentName="C_SOC_48" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_SOC_48 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" /> #47 TwoPinComponentHasInvertedRails -<TwoPinComponentHasInvertedRails componentName="C_SOC_50" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_SOC_50 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" /> +<TwoPinComponentHasInvertedRails componentName="C_SOC_49" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_SOC_49 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" /> #48 TwoPinComponentHasInvertedRails -<TwoPinComponentHasInvertedRails componentName="C_SOC_51" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_SOC_51 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" /> +<TwoPinComponentHasInvertedRails componentName="C_SOC_50" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_SOC_50 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" /> #49 TwoPinComponentHasInvertedRails -<TwoPinComponentHasInvertedRails componentName="C_SOC_65" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_SOC_65 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" /> +<TwoPinComponentHasInvertedRails componentName="C_SOC_51" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_SOC_51 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" /> #50 TwoPinComponentHasInvertedRails -<TwoPinComponentHasInvertedRails componentName="C_SOC_66" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_SOC_66 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" /> +<TwoPinComponentHasInvertedRails componentName="C_SOC_65" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_SOC_65 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" /> #51 TwoPinComponentHasInvertedRails -<TwoPinComponentHasInvertedRails componentName="C_SOC_77" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_SOC_77 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" /> +<TwoPinComponentHasInvertedRails componentName="C_SOC_66" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_SOC_66 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" /> #52 TwoPinComponentHasInvertedRails -<TwoPinComponentHasInvertedRails componentName="C_SOC_81" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_SOC_81 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" /> +<TwoPinComponentHasInvertedRails componentName="C_SOC_77" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_SOC_77 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" /> #53 TwoPinComponentHasInvertedRails -<TwoPinComponentHasInvertedRails componentName="C_SOC_83" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_SOC_83 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" /> +<TwoPinComponentHasInvertedRails componentName="C_SOC_81" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_SOC_81 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" /> #54 TwoPinComponentHasInvertedRails -<TwoPinComponentHasInvertedRails componentName="C_SOC_89" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_SOC_89 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" /> +<TwoPinComponentHasInvertedRails componentName="C_SOC_83" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_SOC_83 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" /> #55 TwoPinComponentHasInvertedRails -<TwoPinComponentHasInvertedRails componentName="C_SOC_97" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_SOC_97 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" /> +<TwoPinComponentHasInvertedRails componentName="C_SOC_89" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_SOC_89 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" /> #56 TwoPinComponentHasInvertedRails -<TwoPinComponentHasInvertedRails componentName="C_SOC_107" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_SOC_107 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" /> +<TwoPinComponentHasInvertedRails componentName="C_SOC_97" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_SOC_97 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" /> #57 TwoPinComponentHasInvertedRails -<TwoPinComponentHasInvertedRails componentName="C_SOC_116" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_SOC_116 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" /> +<TwoPinComponentHasInvertedRails componentName="C_SOC_107" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_SOC_107 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" /> #58 TwoPinComponentHasInvertedRails -<TwoPinComponentHasInvertedRails componentName="C_SOC_117" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_SOC_117 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" /> +<TwoPinComponentHasInvertedRails componentName="C_SOC_116" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_SOC_116 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" /> #59 TwoPinComponentHasInvertedRails -<TwoPinComponentHasInvertedRails componentName="C_SOC_128" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_SOC_128 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" /> +<TwoPinComponentHasInvertedRails componentName="C_SOC_117" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_SOC_117 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" /> #60 TwoPinComponentHasInvertedRails -<TwoPinComponentHasInvertedRails componentName="C_LDO_IN" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_LDO_IN by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" /> +<TwoPinComponentHasInvertedRails componentName="C_SOC_128" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_SOC_128 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" /> #61 TwoPinComponentHasInvertedRails -<TwoPinComponentHasInvertedRails componentName="C_LDOA" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_LDOA by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" /> +<TwoPinComponentHasInvertedRails componentName="C_LDO_IN" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_LDO_IN by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" /> #62 TwoPinComponentHasInvertedRails -<TwoPinComponentHasInvertedRails componentName="C_LDOB" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_LDOB by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" /> +<TwoPinComponentHasInvertedRails componentName="C_LDOA" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_LDOA by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" /> #63 TwoPinComponentHasInvertedRails -<TwoPinComponentHasInvertedRails componentName="C_CORE_BULK" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_CORE_BULK by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" /> +<TwoPinComponentHasInvertedRails componentName="C_LDOB" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_LDOB by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" /> #64 TwoPinComponentHasInvertedRails -<TwoPinComponentHasInvertedRails componentName="C_DRAM_BULK" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_DRAM_BULK by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" /> +<TwoPinComponentHasInvertedRails componentName="C_CORE_BULK" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_CORE_BULK by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" /> #65 TwoPinComponentHasInvertedRails -<TwoPinComponentHasInvertedRails componentName="C_DRAM_1U" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_DRAM_1U by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" /> +<TwoPinComponentHasInvertedRails componentName="C_DRAM_BULK" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_DRAM_BULK by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" /> #66 TwoPinComponentHasInvertedRails +<TwoPinComponentHasInvertedRails componentName="C_DRAM_1U" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_DRAM_1U by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" /> +#67 TwoPinComponentHasInvertedRails <TwoPinComponentHasInvertedRails componentName="C_AVCC" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_AVCC by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" /> -#68 TwoPinComponentHasInvertedRails -<TwoPinComponentHasInvertedRails componentName="C_VRA1" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_VRA1 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" /> #69 TwoPinComponentHasInvertedRails -<TwoPinComponentHasInvertedRails componentName="C_VRA2" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_VRA2 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" /> +<TwoPinComponentHasInvertedRails componentName="C_VRA1" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_VRA1 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" /> #70 TwoPinComponentHasInvertedRails -<TwoPinComponentHasInvertedRails componentName="C_TVIN_VRP" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_TVIN_VRP by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" /> +<TwoPinComponentHasInvertedRails componentName="C_VRA2" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_VRA2 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" /> #71 TwoPinComponentHasInvertedRails -<TwoPinComponentHasInvertedRails componentName="C_TVIN_VRN" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_TVIN_VRN by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" /> +<TwoPinComponentHasInvertedRails componentName="C_TVIN_VRP" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_TVIN_VRP by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" /> #72 TwoPinComponentHasInvertedRails -<TwoPinComponentHasInvertedRails componentName="C107" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C107 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" /> +<TwoPinComponentHasInvertedRails componentName="C_TVIN_VRN" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_TVIN_VRN by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" /> #73 TwoPinComponentHasInvertedRails -<TwoPinComponentHasInvertedRails componentName="C108" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C108 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" /> +<TwoPinComponentHasInvertedRails componentName="C107" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C107 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" /> #74 TwoPinComponentHasInvertedRails -<TwoPinComponentHasInvertedRails componentName="C101" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C101 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" /> +<TwoPinComponentHasInvertedRails componentName="C108" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C108 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" /> #75 TwoPinComponentHasInvertedRails -<TwoPinComponentHasInvertedRails componentName="C102" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C102 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" /> +<TwoPinComponentHasInvertedRails componentName="C101" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C101 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" /> #76 TwoPinComponentHasInvertedRails +<TwoPinComponentHasInvertedRails componentName="C102" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C102 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" /> +#77 TwoPinComponentHasInvertedRails <TwoPinComponentHasInvertedRails componentName="R101" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate R101 by 180° so its positive-supply pin faces up and its signal pin faces down; preserve pin connections and reroute attached traces" /> -#78 TwoPinComponentHasInvertedRails -<TwoPinComponentHasInvertedRails componentName="C103" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C103 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" /> #79 TwoPinComponentHasInvertedRails -<TwoPinComponentHasInvertedRails componentName="C104" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C104 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" /> +<TwoPinComponentHasInvertedRails componentName="C103" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C103 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" /> #80 TwoPinComponentHasInvertedRails +<TwoPinComponentHasInvertedRails componentName="C104" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C104 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" /> +#81 TwoPinComponentHasInvertedRails <TwoPinComponentHasInvertedRails componentName="R103" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate R103 by 180° so its positive-supply pin faces up and its signal pin faces down; preserve pin connections and reroute attached traces" /> -#82 TwoPinComponentHasInvertedRails -<TwoPinComponentHasInvertedRails componentName="C105" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C105 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" /> #83 TwoPinComponentHasInvertedRails -<TwoPinComponentHasInvertedRails componentName="C106" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C106 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" /> +<TwoPinComponentHasInvertedRails componentName="C105" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C105 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" /> #84 TwoPinComponentHasInvertedRails -<TwoPinComponentHasInvertedRails componentName="R105" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate R105 by 180° so its positive-supply pin faces up and its signal pin faces down; preserve pin connections and reroute attached traces" /> +<TwoPinComponentHasInvertedRails componentName="C106" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C106 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" /> #85 TwoPinComponentHasInvertedRails -<TwoPinComponentHasInvertedRails componentName="C109" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C109 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" /> +<TwoPinComponentHasInvertedRails componentName="R105" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate R105 by 180° so its positive-supply pin faces up and its signal pin faces down; preserve pin connections and reroute attached traces" /> #86 TwoPinComponentHasInvertedRails -<TwoPinComponentHasInvertedRails componentName="R109" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate R109 by 180° so its positive-supply pin faces up and its signal pin faces down; preserve pin connections and reroute attached traces" /> +<TwoPinComponentHasInvertedRails componentName="C109" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C109 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" /> #87 TwoPinComponentHasInvertedRails -<TwoPinComponentHasInvertedRails componentName="C110" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C110 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" /> +<TwoPinComponentHasInvertedRails componentName="R109" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate R109 by 180° so its positive-supply pin faces up and its signal pin faces down; preserve pin connections and reroute attached traces" /> #88 TwoPinComponentHasInvertedRails -<TwoPinComponentHasInvertedRails componentName="R110" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate R110 by 180° so its positive-supply pin faces up and its signal pin faces down; preserve pin connections and reroute attached traces" /> +<TwoPinComponentHasInvertedRails componentName="C110" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C110 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" /> #89 TwoPinComponentHasInvertedRails -<TwoPinComponentHasInvertedRails componentName="R111" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate R111 by 180° so its positive-supply pin faces up and its signal pin faces down; preserve pin connections and reroute attached traces" /> +<TwoPinComponentHasInvertedRails componentName="R110" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate R110 by 180° so its positive-supply pin faces up and its signal pin faces down; preserve pin connections and reroute attached traces" /> #90 TwoPinComponentHasInvertedRails -<TwoPinComponentHasInvertedRails componentName="C112" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C112 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" /> +<TwoPinComponentHasInvertedRails componentName="R111" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate R111 by 180° so its positive-supply pin faces up and its signal pin faces down; preserve pin connections and reroute attached traces" /> #91 TwoPinComponentHasInvertedRails -<TwoPinComponentHasInvertedRails componentName="R113" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate R113 by 180° so its positive-supply pin faces up and its signal pin faces down; preserve pin connections and reroute attached traces" /> +<TwoPinComponentHasInvertedRails componentName="C112" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C112 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" /> #92 TwoPinComponentHasInvertedRails -<TwoPinComponentHasInvertedRails componentName="R114" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate R114 by 180° so its positive-supply pin faces up and its signal pin faces down; preserve pin connections and reroute attached traces" /> +<TwoPinComponentHasInvertedRails componentName="R113" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate R113 by 180° so its positive-supply pin faces up and its signal pin faces down; preserve pin connections and reroute attached traces" /> #93 TwoPinComponentHasInvertedRails +<TwoPinComponentHasInvertedRails componentName="R114" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate R114 by 180° so its positive-supply pin faces up and its signal pin faces down; preserve pin connections and reroute attached traces" /> +#94 TwoPinComponentHasInvertedRails <TwoPinComponentHasInvertedRails componentName="R115" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate R115 by 180° so its positive-supply pin faces up and its signal pin faces down; preserve pin connections and reroute attached traces" /> -#115 TwoPinComponentHasInvertedRails -<TwoPinComponentHasInvertedRails componentName="C_SD_BULK" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_SD_BULK by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" /> #116 TwoPinComponentHasInvertedRails +<TwoPinComponentHasInvertedRails componentName="C_SD_BULK" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_SD_BULK by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" /> +#117 TwoPinComponentHasInvertedRails <TwoPinComponentHasInvertedRails componentName="C_SD_100N" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_SD_100N by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" /> -#132 TwoPinComponentHasInvertedRails -<TwoPinComponentHasInvertedRails componentName="C_HDR1" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_HDR1 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" /> #133 TwoPinComponentHasInvertedRails -<TwoPinComponentHasInvertedRails componentName="C_HDR2" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_HDR2 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" /> +<TwoPinComponentHasInvertedRails componentName="C_HDR1" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_HDR1 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" /> #134 TwoPinComponentHasInvertedRails -<TwoPinComponentHasInvertedRails componentName="C_HDR3" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_HDR3 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" /> +<TwoPinComponentHasInvertedRails componentName="C_HDR2" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_HDR2 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" /> #135 TwoPinComponentHasInvertedRails -<TwoPinComponentHasInvertedRails componentName="C_QWIIC" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_QWIIC by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" />#41 TwoPinComponentHasInvertedRails -<TwoPinComponentHasInvertedRails componentName="C_SOC_20" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_SOC_20 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" />41 -#42 TwoPinComponentHasInvertedRails -<TwoPinComponentHasInvertedRails componentName="C_SOC_26" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_SOC_26 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" />42 -#43 TwoPinComponentHasInvertedRails -<TwoPinComponentHasInvertedRails componentName="C_SOC_34" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_SOC_34 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" />43 -#44 TwoPinComponentHasInvertedRails -<TwoPinComponentHasInvertedRails componentName="C_SOC_46" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_SOC_46 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" />44 -#45 TwoPinComponentHasInvertedRails -<TwoPinComponentHasInvertedRails componentName="C_SOC_48" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_SOC_48 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" />45 -#46 TwoPinComponentHasInvertedRails -<TwoPinComponentHasInvertedRails componentName="C_SOC_49" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_SOC_49 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" />46 -#47 TwoPinComponentHasInvertedRails -<TwoPinComponentHasInvertedRails componentName="C_SOC_50" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_SOC_50 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" />47 -#48 TwoPinComponentHasInvertedRails -<TwoPinComponentHasInvertedRails componentName="C_SOC_51" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_SOC_51 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" />48 -#49 TwoPinComponentHasInvertedRails -<TwoPinComponentHasInvertedRails componentName="C_SOC_65" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_SOC_65 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" />49 -#50 TwoPinComponentHasInvertedRails -<TwoPinComponentHasInvertedRails componentName="C_SOC_66" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_SOC_66 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" />50 -#51 TwoPinComponentHasInvertedRails -<TwoPinComponentHasInvertedRails componentName="C_SOC_77" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_SOC_77 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" />51 -#52 TwoPinComponentHasInvertedRails -<TwoPinComponentHasInvertedRails componentName="C_SOC_81" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_SOC_81 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" />52 -#53 TwoPinComponentHasInvertedRails -<TwoPinComponentHasInvertedRails componentName="C_SOC_83" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_SOC_83 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" />53 -#54 TwoPinComponentHasInvertedRails -<TwoPinComponentHasInvertedRails componentName="C_SOC_89" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_SOC_89 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" />54 -#55 TwoPinComponentHasInvertedRails -<TwoPinComponentHasInvertedRails componentName="C_SOC_97" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_SOC_97 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" />55 -#56 TwoPinComponentHasInvertedRails -<TwoPinComponentHasInvertedRails componentName="C_SOC_107" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_SOC_107 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" />56 -#57 TwoPinComponentHasInvertedRails -<TwoPinComponentHasInvertedRails componentName="C_SOC_116" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_SOC_116 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" />57 -#58 TwoPinComponentHasInvertedRails -<TwoPinComponentHasInvertedRails componentName="C_SOC_117" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_SOC_117 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" />58 -#59 TwoPinComponentHasInvertedRails -<TwoPinComponentHasInvertedRails componentName="C_SOC_128" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_SOC_128 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" />59 -#60 TwoPinComponentHasInvertedRails -<TwoPinComponentHasInvertedRails componentName="C_LDO_IN" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_LDO_IN by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" />60 -#61 TwoPinComponentHasInvertedRails -<TwoPinComponentHasInvertedRails componentName="C_LDOA" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_LDOA by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" />61 -#62 TwoPinComponentHasInvertedRails -<TwoPinComponentHasInvertedRails componentName="C_LDOB" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_LDOB by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" />62 -#63 TwoPinComponentHasInvertedRails -<TwoPinComponentHasInvertedRails componentName="C_CORE_BULK" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_CORE_BULK by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" />63 -#64 TwoPinComponentHasInvertedRails -<TwoPinComponentHasInvertedRails componentName="C_DRAM_BULK" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_DRAM_BULK by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" />64 -#65 TwoPinComponentHasInvertedRails -<TwoPinComponentHasInvertedRails componentName="C_DRAM_1U" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_DRAM_1U by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" />65 -#66 TwoPinComponentHasInvertedRails -<TwoPinComponentHasInvertedRails componentName="C_AVCC" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_AVCC by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" />66 -#68 TwoPinComponentHasInvertedRails -<TwoPinComponentHasInvertedRails componentName="C_VRA1" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_VRA1 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" />68 -#69 TwoPinComponentHasInvertedRails -<TwoPinComponentHasInvertedRails componentName="C_VRA2" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_VRA2 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" />69 -#70 TwoPinComponentHasInvertedRails -<TwoPinComponentHasInvertedRails componentName="C_TVIN_VRP" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_TVIN_VRP by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" />70 -#71 TwoPinComponentHasInvertedRails -<TwoPinComponentHasInvertedRails componentName="C_TVIN_VRN" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_TVIN_VRN by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" />71 -#72 TwoPinComponentHasInvertedRails -<TwoPinComponentHasInvertedRails componentName="C107" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C107 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" />72 -#73 TwoPinComponentHasInvertedRails -<TwoPinComponentHasInvertedRails componentName="C108" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C108 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" />73 -#74 TwoPinComponentHasInvertedRails -<TwoPinComponentHasInvertedRails componentName="C101" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C101 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" />74 -#75 TwoPinComponentHasInvertedRails -<TwoPinComponentHasInvertedRails componentName="C102" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C102 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" />75 -#76 TwoPinComponentHasInvertedRails -<TwoPinComponentHasInvertedRails componentName="R101" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate R101 by 180° so its positive-supply pin faces up and its signal pin faces down; preserve pin connections and reroute attached traces" />76 -#78 TwoPinComponentHasInvertedRails -<TwoPinComponentHasInvertedRails componentName="C103" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C103 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" />78 -#79 TwoPinComponentHasInvertedRails -<TwoPinComponentHasInvertedRails componentName="C104" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C104 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" />79 -#80 TwoPinComponentHasInvertedRails -<TwoPinComponentHasInvertedRails componentName="R103" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate R103 by 180° so its positive-supply pin faces up and its signal pin faces down; preserve pin connections and reroute attached traces" />80 -#82 TwoPinComponentHasInvertedRails -<TwoPinComponentHasInvertedRails componentName="C105" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C105 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" />82 -#83 TwoPinComponentHasInvertedRails -<TwoPinComponentHasInvertedRails componentName="C106" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C106 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" />83 -#84 TwoPinComponentHasInvertedRails -<TwoPinComponentHasInvertedRails componentName="R105" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate R105 by 180° so its positive-supply pin faces up and its signal pin faces down; preserve pin connections and reroute attached traces" />84 -#85 TwoPinComponentHasInvertedRails -<TwoPinComponentHasInvertedRails componentName="C109" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C109 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" />85 -#86 TwoPinComponentHasInvertedRails -<TwoPinComponentHasInvertedRails componentName="R109" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate R109 by 180° so its positive-supply pin faces up and its signal pin faces down; preserve pin connections and reroute attached traces" />86 -#87 TwoPinComponentHasInvertedRails -<TwoPinComponentHasInvertedRails componentName="C110" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C110 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" />87 -#88 TwoPinComponentHasInvertedRails -<TwoPinComponentHasInvertedRails componentName="R110" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate R110 by 180° so its positive-supply pin faces up and its signal pin faces down; preserve pin connections and reroute attached traces" />88 -#89 TwoPinComponentHasInvertedRails -<TwoPinComponentHasInvertedRails componentName="R111" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate R111 by 180° so its positive-supply pin faces up and its signal pin faces down; preserve pin connections and reroute attached traces" />89 -#90 TwoPinComponentHasInvertedRails -<TwoPinComponentHasInvertedRails componentName="C112" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C112 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" />90 -#91 TwoPinComponentHasInvertedRails -<TwoPinComponentHasInvertedRails componentName="R113" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate R113 by 180° so its positive-supply pin faces up and its signal pin faces down; preserve pin connections and reroute attached traces" />91 -#92 TwoPinComponentHasInvertedRails -<TwoPinComponentHasInvertedRails componentName="R114" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate R114 by 180° so its positive-supply pin faces up and its signal pin faces down; preserve pin connections and reroute attached traces" />92 -#93 TwoPinComponentHasInvertedRails -<TwoPinComponentHasInvertedRails componentName="R115" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate R115 by 180° so its positive-supply pin faces up and its signal pin faces down; preserve pin connections and reroute attached traces" />93 -#115 TwoPinComponentHasInvertedRails -<TwoPinComponentHasInvertedRails componentName="C_SD_BULK" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_SD_BULK by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" />115 -#116 TwoPinComponentHasInvertedRails -<TwoPinComponentHasInvertedRails componentName="C_SD_100N" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_SD_100N by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" />116 -#132 TwoPinComponentHasInvertedRails -<TwoPinComponentHasInvertedRails componentName="C_HDR1" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_HDR1 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" />132 -#133 TwoPinComponentHasInvertedRails -<TwoPinComponentHasInvertedRails componentName="C_HDR2" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_HDR2 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" />133 -#134 TwoPinComponentHasInvertedRails -<TwoPinComponentHasInvertedRails componentName="C_HDR3" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_HDR3 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" />134 -#135 TwoPinComponentHasInvertedRails -<TwoPinComponentHasInvertedRails componentName="C_QWIIC" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_QWIIC by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" />135 +<TwoPinComponentHasInvertedRails componentName="C_HDR3" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_HDR3 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" /> +#136 TwoPinComponentHasInvertedRails +<TwoPinComponentHasInvertedRails componentName="C_QWIIC" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_QWIIC by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" />#42 TwoPinComponentHasInvertedRails +<TwoPinComponentHasInvertedRails componentName="C_SOC_20" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_SOC_20 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" />42 +#43 TwoPinComponentHasInvertedRails +<TwoPinComponentHasInvertedRails componentName="C_SOC_26" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_SOC_26 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" />43 +#44 TwoPinComponentHasInvertedRails +<TwoPinComponentHasInvertedRails componentName="C_SOC_34" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_SOC_34 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" />44 +#45 TwoPinComponentHasInvertedRails +<TwoPinComponentHasInvertedRails componentName="C_SOC_46" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_SOC_46 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" />45 +#46 TwoPinComponentHasInvertedRails +<TwoPinComponentHasInvertedRails componentName="C_SOC_48" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_SOC_48 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" />46 +#47 TwoPinComponentHasInvertedRails +<TwoPinComponentHasInvertedRails componentName="C_SOC_49" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_SOC_49 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" />47 +#48 TwoPinComponentHasInvertedRails +<TwoPinComponentHasInvertedRails componentName="C_SOC_50" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_SOC_50 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" />48 +#49 TwoPinComponentHasInvertedRails +<TwoPinComponentHasInvertedRails componentName="C_SOC_51" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_SOC_51 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" />49 +#50 TwoPinComponentHasInvertedRails +<TwoPinComponentHasInvertedRails componentName="C_SOC_65" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_SOC_65 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" />50 +#51 TwoPinComponentHasInvertedRails +<TwoPinComponentHasInvertedRails componentName="C_SOC_66" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_SOC_66 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" />51 +#52 TwoPinComponentHasInvertedRails +<TwoPinComponentHasInvertedRails componentName="C_SOC_77" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_SOC_77 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" />52 +#53 TwoPinComponentHasInvertedRails +<TwoPinComponentHasInvertedRails componentName="C_SOC_81" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_SOC_81 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" />53 +#54 TwoPinComponentHasInvertedRails +<TwoPinComponentHasInvertedRails componentName="C_SOC_83" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_SOC_83 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" />54 +#55 TwoPinComponentHasInvertedRails +<TwoPinComponentHasInvertedRails componentName="C_SOC_89" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_SOC_89 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" />55 +#56 TwoPinComponentHasInvertedRails +<TwoPinComponentHasInvertedRails componentName="C_SOC_97" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_SOC_97 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" />56 +#57 TwoPinComponentHasInvertedRails +<TwoPinComponentHasInvertedRails componentName="C_SOC_107" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_SOC_107 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" />57 +#58 TwoPinComponentHasInvertedRails +<TwoPinComponentHasInvertedRails componentName="C_SOC_116" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_SOC_116 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" />58 +#59 TwoPinComponentHasInvertedRails +<TwoPinComponentHasInvertedRails componentName="C_SOC_117" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_SOC_117 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" />59 +#60 TwoPinComponentHasInvertedRails +<TwoPinComponentHasInvertedRails componentName="C_SOC_128" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_SOC_128 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" />60 +#61 TwoPinComponentHasInvertedRails +<TwoPinComponentHasInvertedRails componentName="C_LDO_IN" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_LDO_IN by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" />61 +#62 TwoPinComponentHasInvertedRails +<TwoPinComponentHasInvertedRails componentName="C_LDOA" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_LDOA by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" />62 +#63 TwoPinComponentHasInvertedRails +<TwoPinComponentHasInvertedRails componentName="C_LDOB" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_LDOB by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" />63 +#64 TwoPinComponentHasInvertedRails +<TwoPinComponentHasInvertedRails componentName="C_CORE_BULK" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_CORE_BULK by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" />64 +#65 TwoPinComponentHasInvertedRails +<TwoPinComponentHasInvertedRails componentName="C_DRAM_BULK" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_DRAM_BULK by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" />65 +#66 TwoPinComponentHasInvertedRails +<TwoPinComponentHasInvertedRails componentName="C_DRAM_1U" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_DRAM_1U by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" />66 +#67 TwoPinComponentHasInvertedRails +<TwoPinComponentHasInvertedRails componentName="C_AVCC" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_AVCC by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" />67 +#69 TwoPinComponentHasInvertedRails +<TwoPinComponentHasInvertedRails componentName="C_VRA1" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_VRA1 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" />69 +#70 TwoPinComponentHasInvertedRails +<TwoPinComponentHasInvertedRails componentName="C_VRA2" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_VRA2 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" />70 +#71 TwoPinComponentHasInvertedRails +<TwoPinComponentHasInvertedRails componentName="C_TVIN_VRP" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_TVIN_VRP by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" />71 +#72 TwoPinComponentHasInvertedRails +<TwoPinComponentHasInvertedRails componentName="C_TVIN_VRN" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_TVIN_VRN by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" />72 +#73 TwoPinComponentHasInvertedRails +<TwoPinComponentHasInvertedRails componentName="C107" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C107 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" />73 +#74 TwoPinComponentHasInvertedRails +<TwoPinComponentHasInvertedRails componentName="C108" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C108 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" />74 +#75 TwoPinComponentHasInvertedRails +<TwoPinComponentHasInvertedRails componentName="C101" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C101 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" />75 +#76 TwoPinComponentHasInvertedRails +<TwoPinComponentHasInvertedRails componentName="C102" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C102 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" />76 +#77 TwoPinComponentHasInvertedRails +<TwoPinComponentHasInvertedRails componentName="R101" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate R101 by 180° so its positive-supply pin faces up and its signal pin faces down; preserve pin connections and reroute attached traces" />77 +#79 TwoPinComponentHasInvertedRails +<TwoPinComponentHasInvertedRails componentName="C103" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C103 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" />79 +#80 TwoPinComponentHasInvertedRails +<TwoPinComponentHasInvertedRails componentName="C104" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C104 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" />80 +#81 TwoPinComponentHasInvertedRails +<TwoPinComponentHasInvertedRails componentName="R103" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate R103 by 180° so its positive-supply pin faces up and its signal pin faces down; preserve pin connections and reroute attached traces" />81 +#83 TwoPinComponentHasInvertedRails +<TwoPinComponentHasInvertedRails componentName="C105" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C105 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" />83 +#84 TwoPinComponentHasInvertedRails +<TwoPinComponentHasInvertedRails componentName="C106" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C106 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" />84 +#85 TwoPinComponentHasInvertedRails +<TwoPinComponentHasInvertedRails componentName="R105" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate R105 by 180° so its positive-supply pin faces up and its signal pin faces down; preserve pin connections and reroute attached traces" />85 +#86 TwoPinComponentHasInvertedRails +<TwoPinComponentHasInvertedRails componentName="C109" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C109 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" />86 +#87 TwoPinComponentHasInvertedRails +<TwoPinComponentHasInvertedRails componentName="R109" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate R109 by 180° so its positive-supply pin faces up and its signal pin faces down; preserve pin connections and reroute attached traces" />87 +#88 TwoPinComponentHasInvertedRails +<TwoPinComponentHasInvertedRails componentName="C110" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C110 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" />88 +#89 TwoPinComponentHasInvertedRails +<TwoPinComponentHasInvertedRails componentName="R110" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate R110 by 180° so its positive-supply pin faces up and its signal pin faces down; preserve pin connections and reroute attached traces" />89 +#90 TwoPinComponentHasInvertedRails +<TwoPinComponentHasInvertedRails componentName="R111" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate R111 by 180° so its positive-supply pin faces up and its signal pin faces down; preserve pin connections and reroute attached traces" />90 +#91 TwoPinComponentHasInvertedRails +<TwoPinComponentHasInvertedRails componentName="C112" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C112 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" />91 +#92 TwoPinComponentHasInvertedRails +<TwoPinComponentHasInvertedRails componentName="R113" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate R113 by 180° so its positive-supply pin faces up and its signal pin faces down; preserve pin connections and reroute attached traces" />92 +#93 TwoPinComponentHasInvertedRails +<TwoPinComponentHasInvertedRails componentName="R114" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate R114 by 180° so its positive-supply pin faces up and its signal pin faces down; preserve pin connections and reroute attached traces" />93 +#94 TwoPinComponentHasInvertedRails +<TwoPinComponentHasInvertedRails componentName="R115" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate R115 by 180° so its positive-supply pin faces up and its signal pin faces down; preserve pin connections and reroute attached traces" />94 +#116 TwoPinComponentHasInvertedRails +<TwoPinComponentHasInvertedRails componentName="C_SD_BULK" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_SD_BULK by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" />116 +#117 TwoPinComponentHasInvertedRails +<TwoPinComponentHasInvertedRails componentName="C_SD_100N" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_SD_100N by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" />117 +#133 TwoPinComponentHasInvertedRails +<TwoPinComponentHasInvertedRails componentName="C_HDR1" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_HDR1 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" />133 +#134 TwoPinComponentHasInvertedRails +<TwoPinComponentHasInvertedRails componentName="C_HDR2" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_HDR2 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" />134 +#135 TwoPinComponentHasInvertedRails +<TwoPinComponentHasInvertedRails componentName="C_HDR3" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_HDR3 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" />135 +#136 TwoPinComponentHasInvertedRails +<TwoPinComponentHasInvertedRails componentName="C_QWIIC" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C_QWIIC by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" />136 @@ -488,7 +488,7 @@ PinHeaderSchematicBoxTooWide: 4 GenericSchematicBoxTooWide: 13 SchematicPinPaddingToEdgeTooLarge: 20 -DiodeResistorNotAligned: 1 +DiodeResistorNotAligned: 2 CrystalNotCenteredOverLoadCapacitors: 1 NetLabelCollision: 1 TwoPinComponentShouldBeVertical: 42 @@ -722,61 +722,61 @@ its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" /> -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -68 -69 -70 -71 -72 -73 -74 -75 -76 -78 -79 -80 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -115 -116 -132 -133 -134 -135 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +69 +70 +71 +72 +73 +74 +75 +76 +77 +79 +80 +81 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +116 +117 +133 +134 +135 +136 \ No newline at end of file diff --git a/tests/cases/__snapshots__/allwinner-inverted-rails-C101.snap.svg b/tests/cases/__snapshots__/allwinner-inverted-rails-C101.snap.svg index e7ba335..40b7d35 100644 --- a/tests/cases/__snapshots__/allwinner-inverted-rails-C101.snap.svg +++ b/tests/cases/__snapshots__/allwinner-inverted-rails-C101.snap.svg @@ -256,9 +256,9 @@ L 362.17892822099276,35.300408732439976 L 357.9096147524628,35.300408732439976 Z - " fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="0.051749254164px"/>JP_UART_TX_pin1PG6PG6PG7PG7PG8PG8PG9PG9PG10PG10PG11PG11PG11SD_D0SD_D0SD_CMDSD_CMDSD_CMDSD_D3SD_D3SD_D3SD_D2SD_D2SD_D2SD_CD_NSD_CD_NSD_CD_NPC7PC7PC6PC6PC6PC5PC5PC4PC4PC4PC3PC3PC3DXOUTDXOUTDXINDXINX32KOUTX32KOUTX32KOUTX32KINX32KINX32KINRESET_NRESET_NRESET_NUART0_RXUART0_RXUART0_RXUART0_TXUART0_TXPD22PD22PD22PD21PD21PD21PD20PD20PD20PD10PD10PD10PD11PD11PD11PD13PD13PD13PD12PD12PD12PD14PD14PD14PD15PD15PD15PB7PB7PB6PB6PB6PB5PB5PB5PB5PB4PB4PB4PB3PB3PB3PB3PB2PB2PB2PB2USB0_DMUSB0_DMUSB0_DMUSB0_DMUSB0_DPUSB0_DPUSB0_DPPG12PG12PG12PG13PG13PG13PG14PG14PG14PG15PG15PG15RESET_REQUEST_NRESET_REQUEST_NRESET_REQUEST_NRESET_REQUEST_NRESET_REQUEST_NRESET_REQUEST_NFB101FB101EN_CORE_DDREN_CORE_DDREN_CORE_DDREN_CORE_DDRFB102FB102FB103FB103CORE_SENSECORE_SENSECORE_SENSEDEBUG_USB_DMDEBUG_USB_DMDEBUG_USB_DMDEBUG_USB_DMDEBUG_USB_DPDEBUG_USB_DPDEBUG_USB_DPUSB_ORUSB_ORSD_CLKSD_CLKSD_CLKJTMS_HDRJTMS_HDRJTCK_HDRJTCK_HDRJTCK_HDRJTDI_HDRJTDI_HDRUSER_BUTTONUSER_BUTTONI2C0_PUI2C0_PUI2C0_PUI2C1_PUI2C1_PUI2C1_PUUSB0_SENSE_BUSB0_SENSE_BSD_CLK_SOCSD_CLK_SOCPC2PC2REFCLK24MREFCLK24MPE13PE13PE12PE12JTAG_TCKJTAG_TCKJTAG_TDOJTAG_TDOJTAG_TDIJTAG_TDIJTAG_TMSJTAG_TMSPE7PE7PE6PE6PE5PE5PE4PE4PE0PE0PE1PE1DDR_ZQDDR_ZQPD5PD5PD6PD6PD7PD7PD8PD8PD9PD9PD16PD16PD17PD17PD18PD18PD19PD19HPOUTFBHPOUTFBGPADC0GPADC0TP_X1TP_X1TP_X2TP_X2TP_Y1TP_Y1TP_Y2TP_Y2PG1PG1PG2PG2PG0PG0PG3PG3PG5PG5PG4PG4SW101SW101SW102SW102SW103SW103CP_RESET_NCP_RESET_NBOOT_BUTTONBOOT_BUTTONJTDO_HDRJTDO_HDRLED_POWER_ALED_POWER_ALED_USER_ALED_USER_AUSB0_SENSE_CUSB0_SENSE_C#74 TwoPinComponentHasInvertedRails -<TwoPinComponentHasInvertedRails componentName="C101" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C101 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" />#74 TwoPinComponentHasInvertedRails -<TwoPinComponentHasInvertedRails componentName="C101" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C101 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" />74 + " fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="0.051749254164px"/>JP_UART_TX_pin1PG6PG6PG7PG7PG8PG8PG9PG9PG10PG10PG11PG11PG11SD_D0SD_D0SD_CMDSD_CMDSD_CMDSD_D3SD_D3SD_D3SD_D2SD_D2SD_D2SD_CD_NSD_CD_NSD_CD_NPC7PC7PC6PC6PC6PC5PC5PC4PC4PC4PC3PC3PC3DXOUTDXOUTDXINDXINX32KOUTX32KOUTX32KOUTX32KINX32KINX32KINRESET_NRESET_NRESET_NUART0_RXUART0_RXUART0_RXUART0_TXUART0_TXPD22PD22PD22PD21PD21PD21PD20PD20PD20PD10PD10PD10PD11PD11PD11PD13PD13PD13PD12PD12PD12PD14PD14PD14PD15PD15PD15PB7PB7PB6PB6PB6PB5PB5PB5PB5PB4PB4PB4PB3PB3PB3PB3PB2PB2PB2PB2USB0_DMUSB0_DMUSB0_DMUSB0_DMUSB0_DPUSB0_DPUSB0_DPPG12PG12PG12PG13PG13PG13PG14PG14PG14PG15PG15PG15RESET_REQUEST_NRESET_REQUEST_NRESET_REQUEST_NRESET_REQUEST_NRESET_REQUEST_NRESET_REQUEST_NFB101FB101EN_CORE_DDREN_CORE_DDREN_CORE_DDREN_CORE_DDRFB102FB102FB103FB103CORE_SENSECORE_SENSECORE_SENSEDEBUG_USB_DMDEBUG_USB_DMDEBUG_USB_DMDEBUG_USB_DMDEBUG_USB_DPDEBUG_USB_DPDEBUG_USB_DPUSB_ORUSB_ORSD_CLKSD_CLKSD_CLKJTMS_HDRJTMS_HDRJTCK_HDRJTCK_HDRJTCK_HDRJTDI_HDRJTDI_HDRUSER_BUTTONUSER_BUTTONI2C0_PUI2C0_PUI2C0_PUI2C1_PUI2C1_PUI2C1_PUUSB0_SENSE_BUSB0_SENSE_BSD_CLK_SOCSD_CLK_SOCPC2PC2REFCLK24MREFCLK24MPE13PE13PE12PE12JTAG_TCKJTAG_TCKJTAG_TDOJTAG_TDOJTAG_TDIJTAG_TDIJTAG_TMSJTAG_TMSPE7PE7PE6PE6PE5PE5PE4PE4PE0PE0PE1PE1DDR_ZQDDR_ZQPD5PD5PD6PD6PD7PD7PD8PD8PD9PD9PD16PD16PD17PD17PD18PD18PD19PD19HPOUTFBHPOUTFBGPADC0GPADC0TP_X1TP_X1TP_X2TP_X2TP_Y1TP_Y1TP_Y2TP_Y2PG1PG1PG2PG2PG0PG0PG3PG3PG5PG5PG4PG4SW101SW101SW102SW102SW103SW103CP_RESET_NCP_RESET_NBOOT_BUTTONBOOT_BUTTONJTDO_HDRJTDO_HDRLED_POWER_ALED_POWER_ALED_USER_ALED_USER_AUSB0_SENSE_CUSB0_SENSE_C#75 TwoPinComponentHasInvertedRails +<TwoPinComponentHasInvertedRails componentName="C101" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C101 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" />#75 TwoPinComponentHasInvertedRails +<TwoPinComponentHasInvertedRails componentName="C101" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C101 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" />75 diff --git a/tests/cases/__snapshots__/allwinner-inverted-rails-C102.snap.svg b/tests/cases/__snapshots__/allwinner-inverted-rails-C102.snap.svg index 06de87c..8e64833 100644 --- a/tests/cases/__snapshots__/allwinner-inverted-rails-C102.snap.svg +++ b/tests/cases/__snapshots__/allwinner-inverted-rails-C102.snap.svg @@ -256,9 +256,9 @@ L 362.17892822099276,35.300408732439976 L 357.9096147524628,35.300408732439976 Z - " fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="0.051749254164px"/>JP_UART_TX_pin1PG6PG6PG7PG7PG8PG8PG9PG9PG10PG10PG11PG11PG11SD_D0SD_D0SD_CMDSD_CMDSD_CMDSD_D3SD_D3SD_D3SD_D2SD_D2SD_D2SD_CD_NSD_CD_NSD_CD_NPC7PC7PC6PC6PC6PC5PC5PC4PC4PC4PC3PC3PC3DXOUTDXOUTDXINDXINX32KOUTX32KOUTX32KOUTX32KINX32KINX32KINRESET_NRESET_NRESET_NUART0_RXUART0_RXUART0_RXUART0_TXUART0_TXPD22PD22PD22PD21PD21PD21PD20PD20PD20PD10PD10PD10PD11PD11PD11PD13PD13PD13PD12PD12PD12PD14PD14PD14PD15PD15PD15PB7PB7PB6PB6PB6PB5PB5PB5PB5PB4PB4PB4PB3PB3PB3PB3PB2PB2PB2PB2USB0_DMUSB0_DMUSB0_DMUSB0_DMUSB0_DPUSB0_DPUSB0_DPPG12PG12PG12PG13PG13PG13PG14PG14PG14PG15PG15PG15RESET_REQUEST_NRESET_REQUEST_NRESET_REQUEST_NRESET_REQUEST_NRESET_REQUEST_NRESET_REQUEST_NFB101FB101EN_CORE_DDREN_CORE_DDREN_CORE_DDREN_CORE_DDRFB102FB102FB103FB103CORE_SENSECORE_SENSECORE_SENSEDEBUG_USB_DMDEBUG_USB_DMDEBUG_USB_DMDEBUG_USB_DMDEBUG_USB_DPDEBUG_USB_DPDEBUG_USB_DPUSB_ORUSB_ORSD_CLKSD_CLKSD_CLKJTMS_HDRJTMS_HDRJTCK_HDRJTCK_HDRJTCK_HDRJTDI_HDRJTDI_HDRUSER_BUTTONUSER_BUTTONI2C0_PUI2C0_PUI2C0_PUI2C1_PUI2C1_PUI2C1_PUUSB0_SENSE_BUSB0_SENSE_BSD_CLK_SOCSD_CLK_SOCPC2PC2REFCLK24MREFCLK24MPE13PE13PE12PE12JTAG_TCKJTAG_TCKJTAG_TDOJTAG_TDOJTAG_TDIJTAG_TDIJTAG_TMSJTAG_TMSPE7PE7PE6PE6PE5PE5PE4PE4PE0PE0PE1PE1DDR_ZQDDR_ZQPD5PD5PD6PD6PD7PD7PD8PD8PD9PD9PD16PD16PD17PD17PD18PD18PD19PD19HPOUTFBHPOUTFBGPADC0GPADC0TP_X1TP_X1TP_X2TP_X2TP_Y1TP_Y1TP_Y2TP_Y2PG1PG1PG2PG2PG0PG0PG3PG3PG5PG5PG4PG4SW101SW101SW102SW102SW103SW103CP_RESET_NCP_RESET_NBOOT_BUTTONBOOT_BUTTONJTDO_HDRJTDO_HDRLED_POWER_ALED_POWER_ALED_USER_ALED_USER_AUSB0_SENSE_CUSB0_SENSE_C#75 TwoPinComponentHasInvertedRails -<TwoPinComponentHasInvertedRails componentName="C102" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C102 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" />#75 TwoPinComponentHasInvertedRails -<TwoPinComponentHasInvertedRails componentName="C102" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C102 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" />75 + " fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="0.051749254164px"/>JP_UART_TX_pin1PG6PG6PG7PG7PG8PG8PG9PG9PG10PG10PG11PG11PG11SD_D0SD_D0SD_CMDSD_CMDSD_CMDSD_D3SD_D3SD_D3SD_D2SD_D2SD_D2SD_CD_NSD_CD_NSD_CD_NPC7PC7PC6PC6PC6PC5PC5PC4PC4PC4PC3PC3PC3DXOUTDXOUTDXINDXINX32KOUTX32KOUTX32KOUTX32KINX32KINX32KINRESET_NRESET_NRESET_NUART0_RXUART0_RXUART0_RXUART0_TXUART0_TXPD22PD22PD22PD21PD21PD21PD20PD20PD20PD10PD10PD10PD11PD11PD11PD13PD13PD13PD12PD12PD12PD14PD14PD14PD15PD15PD15PB7PB7PB6PB6PB6PB5PB5PB5PB5PB4PB4PB4PB3PB3PB3PB3PB2PB2PB2PB2USB0_DMUSB0_DMUSB0_DMUSB0_DMUSB0_DPUSB0_DPUSB0_DPPG12PG12PG12PG13PG13PG13PG14PG14PG14PG15PG15PG15RESET_REQUEST_NRESET_REQUEST_NRESET_REQUEST_NRESET_REQUEST_NRESET_REQUEST_NRESET_REQUEST_NFB101FB101EN_CORE_DDREN_CORE_DDREN_CORE_DDREN_CORE_DDRFB102FB102FB103FB103CORE_SENSECORE_SENSECORE_SENSEDEBUG_USB_DMDEBUG_USB_DMDEBUG_USB_DMDEBUG_USB_DMDEBUG_USB_DPDEBUG_USB_DPDEBUG_USB_DPUSB_ORUSB_ORSD_CLKSD_CLKSD_CLKJTMS_HDRJTMS_HDRJTCK_HDRJTCK_HDRJTCK_HDRJTDI_HDRJTDI_HDRUSER_BUTTONUSER_BUTTONI2C0_PUI2C0_PUI2C0_PUI2C1_PUI2C1_PUI2C1_PUUSB0_SENSE_BUSB0_SENSE_BSD_CLK_SOCSD_CLK_SOCPC2PC2REFCLK24MREFCLK24MPE13PE13PE12PE12JTAG_TCKJTAG_TCKJTAG_TDOJTAG_TDOJTAG_TDIJTAG_TDIJTAG_TMSJTAG_TMSPE7PE7PE6PE6PE5PE5PE4PE4PE0PE0PE1PE1DDR_ZQDDR_ZQPD5PD5PD6PD6PD7PD7PD8PD8PD9PD9PD16PD16PD17PD17PD18PD18PD19PD19HPOUTFBHPOUTFBGPADC0GPADC0TP_X1TP_X1TP_X2TP_X2TP_Y1TP_Y1TP_Y2TP_Y2PG1PG1PG2PG2PG0PG0PG3PG3PG5PG5PG4PG4SW101SW101SW102SW102SW103SW103CP_RESET_NCP_RESET_NBOOT_BUTTONBOOT_BUTTONJTDO_HDRJTDO_HDRLED_POWER_ALED_POWER_ALED_USER_ALED_USER_AUSB0_SENSE_CUSB0_SENSE_C#76 TwoPinComponentHasInvertedRails +<TwoPinComponentHasInvertedRails componentName="C102" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C102 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" />#76 TwoPinComponentHasInvertedRails +<TwoPinComponentHasInvertedRails componentName="C102" railPin="pin1" railType="power" deltaSchRotation="180" suggestedRailFacingDirection="up" message="rotate C102 by 180° so its positive-supply pin faces up and its ground pin faces down; preserve pin connections and reroute attached traces" />76 diff --git a/tests/cases/__snapshots__/diode-resistor-misaligned.snap.svg b/tests/cases/__snapshots__/diode-resistor-misaligned.snap.svg index de64eb6..d5e23cf 100644 --- a/tests/cases/__snapshots__/diode-resistor-misaligned.snap.svg +++ b/tests/cases/__snapshots__/diode-resistor-misaligned.snap.svg @@ -10,7 +10,7 @@ .pin-number { fill: rgb(169, 0, 0); } .port-label { fill: rgb(0, 100, 100); } .component-name { fill: rgb(0, 100, 100); } - + D1R11kΩVCCGND @@ -24,7 +24,7 @@ </SchematicBoxPositions> <SchematicPlacementIssues> <DiodeResistorNotAligned diodeComponentName="D1" diodePin="neg" resistorComponentName="R1" - resistorPin="anode" message="trace has corners — align D1 and R1 on same axis and rotate so + resistorPin="anode" message="series pins are not aligned — align D1 and R1 on the same axis so D1.neg faces R1.anode" /> <TwoPinComponentShouldBeVertical componentName="D1" railPin="pin1" railType="power" deltaSchRotation="-90" suggestedRailFacingDirection="up" message="rotate D1 by -90° so its diff --git a/tests/cases/__snapshots__/diode-resistor-topology-repro-branched.snap.svg b/tests/cases/__snapshots__/diode-resistor-topology-repro-branched.snap.svg index c8b71e4..9cf5205 100644 --- a/tests/cases/__snapshots__/diode-resistor-topology-repro-branched.snap.svg +++ b/tests/cases/__snapshots__/diode-resistor-topology-repro-branched.snap.svg @@ -1,4 +1,4 @@ - + + " fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="1.7294455397600002px"/>ADC Emitted issue counts (all sheets): -DiodeResistorNotAligned: 1 Selected type(s): DiodeResistorNotAligned -Matching issues: 1 -#1 -<DiodeResistorNotAligned diodeComponentName="D4" diodePin="neg" resistorComponentName="R30" - resistorPin="anode" message="trace has corners — align D4 and R30 on same axis and rotate so - D4.neg faces R30.anode" /> +Matching issues: 0 \ No newline at end of file diff --git a/tests/cases/__snapshots__/diode-resistor-topology-repro-parallel.snap.svg b/tests/cases/__snapshots__/diode-resistor-topology-repro-parallel.snap.svg index b31d0f0..059ce4a 100644 --- a/tests/cases/__snapshots__/diode-resistor-topology-repro-parallel.snap.svg +++ b/tests/cases/__snapshots__/diode-resistor-topology-repro-parallel.snap.svg @@ -1,4 +1,4 @@ - + D1R4100kΩ#1 DiodeResistorNotAligned -<DiodeResistorNotAligned diodeComponentName="D1" diodePin="neg" resistorComponentName="R4" resistorPin="anode" message="trace has corners — align D1 and R4 on same axis and rotate so D1.neg faces R4.anode" /> -#2 DiodeResistorNotAligned -<DiodeResistorNotAligned diodeComponentName="D1" diodePin="pos" resistorComponentName="R4" resistorPin="cathode" message="trace has corners — align D1 and R4 on same axis and rotate so D1.pos faces R4.cathode" /> -#1 DiodeResistorNotAligned -<DiodeResistorNotAligned diodeComponentName="D1" diodePin="neg" resistorComponentName="R4" resistorPin="anode" message="trace has corners — align D1 and R4 on same axis and rotate so D1.neg faces R4.anode" />1 -#1 DiodeResistorNotAligned -<DiodeResistorNotAligned diodeComponentName="D1" diodePin="neg" resistorComponentName="R4" resistorPin="anode" message="trace has corners — align D1 and R4 on same axis and rotate so D1.neg faces R4.anode" />1 -#2 DiodeResistorNotAligned -<DiodeResistorNotAligned diodeComponentName="D1" diodePin="pos" resistorComponentName="R4" resistorPin="cathode" message="trace has corners — align D1 and R4 on same axis and rotate so D1.pos faces R4.cathode" />2 -#2 DiodeResistorNotAligned -<DiodeResistorNotAligned diodeComponentName="D1" diodePin="pos" resistorComponentName="R4" resistorPin="cathode" message="trace has corners — align D1 and R4 on same axis and rotate so D1.pos faces R4.cathode" />2 + D1R4100kΩ Emitted issue counts (all sheets): -DiodeResistorNotAligned: 2 Selected type(s): DiodeResistorNotAligned -Matching issues: 2 -#1 -<DiodeResistorNotAligned diodeComponentName="D1" diodePin="neg" resistorComponentName="R4" - resistorPin="anode" message="trace has corners — align D1 and R4 on same axis and rotate so - D1.neg faces R4.anode" /> -#2 -<DiodeResistorNotAligned diodeComponentName="D1" diodePin="pos" resistorComponentName="R4" - resistorPin="cathode" message="trace has corners — align D1 and R4 on same axis and rotate so - D1.pos faces R4.cathode" /> +Matching issues: 0 \ No newline at end of file diff --git a/tests/cases/__snapshots__/diode-resistor-topology-repro-series.snap.svg b/tests/cases/__snapshots__/diode-resistor-topology-repro-series.snap.svg index 9b3fca0..dfb58b0 100644 --- a/tests/cases/__snapshots__/diode-resistor-topology-repro-series.snap.svg +++ b/tests/cases/__snapshots__/diode-resistor-topology-repro-series.snap.svg @@ -19,10 +19,10 @@ L 715.7101555761669,110.81206274155 Z " fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="2.39593649171px"/>ADC#1 DiodeResistorNotAligned -<DiodeResistorNotAligned diodeComponentName="D2" diodePin="neg" resistorComponentName="R2" resistorPin="anode" message="trace has corners — align D2 and R2 on same axis and rotate so D2.neg faces R2.anode" />#1 DiodeResistorNotAligned -<DiodeResistorNotAligned diodeComponentName="D2" diodePin="neg" resistorComponentName="R2" resistorPin="anode" message="trace has corners — align D2 and R2 on same axis and rotate so D2.neg faces R2.anode" />1 +<DiodeResistorNotAligned diodeComponentName="D2" diodePin="neg" resistorComponentName="R2" resistorPin="anode" message="series pins are not aligned — align D2 and R2 on the same axis so D2.neg faces R2.anode" />#1 DiodeResistorNotAligned +<DiodeResistorNotAligned diodeComponentName="D2" diodePin="neg" resistorComponentName="R2" resistorPin="anode" message="series pins are not aligned — align D2 and R2 on the same axis so D2.neg faces R2.anode" />1 #1 DiodeResistorNotAligned -<DiodeResistorNotAligned diodeComponentName="D2" diodePin="neg" resistorComponentName="R2" resistorPin="anode" message="trace has corners — align D2 and R2 on same axis and rotate so D2.neg faces R2.anode" />1 +<DiodeResistorNotAligned diodeComponentName="D2" diodePin="neg" resistorComponentName="R2" resistorPin="anode" message="series pins are not aligned — align D2 and R2 on the same axis so D2.neg faces R2.anode" />1 @@ -33,7 +33,7 @@ Matching issues: 1 #1 <DiodeResistorNotAligned diodeComponentName="D2" diodePin="neg" resistorComponentName="R2" - resistorPin="anode" message="trace has corners — align D2 and R2 on same axis and rotate so + resistorPin="anode" message="series pins are not aligned — align D2 and R2 on the same axis so D2.neg faces R2.anode" /> diff --git a/tests/cases/__snapshots__/led-resistor-alignment-2.snap.svg b/tests/cases/__snapshots__/led-resistor-alignment-2.snap.svg index 46af37d..0c46c91 100644 --- a/tests/cases/__snapshots__/led-resistor-alignment-2.snap.svg +++ b/tests/cases/__snapshots__/led-resistor-alignment-2.snap.svg @@ -10,7 +10,7 @@ .pin-number { fill: rgb(169, 0, 0); } .port-label { fill: rgb(0, 100, 100); } .component-name { fill: rgb(0, 100, 100); } - + D1R11kΩVCCGND @@ -24,7 +24,7 @@ </SchematicBoxPositions> <SchematicPlacementIssues> <DiodeResistorNotAligned diodeComponentName="D1" diodePin="cathode" resistorComponentName="R1" - resistorPin="anode" message="trace has corners — align D1 and R1 on same axis and rotate so + resistorPin="anode" message="series pins are not aligned — align D1 and R1 on the same axis so D1.cathode faces R1.anode" /> <TwoPinComponentShouldBeVertical componentName="D1" railPin="pin1" railType="power" deltaSchRotation="-90" suggestedRailFacingDirection="up" message="rotate D1 by -90° so its diff --git a/tests/cases/__snapshots__/led-resistor-alignment.snap.svg b/tests/cases/__snapshots__/led-resistor-alignment.snap.svg index 8c81038..21dff09 100644 --- a/tests/cases/__snapshots__/led-resistor-alignment.snap.svg +++ b/tests/cases/__snapshots__/led-resistor-alignment.snap.svg @@ -10,7 +10,7 @@ .pin-number { fill: rgb(169, 0, 0); } .port-label { fill: rgb(0, 100, 100); } .component-name { fill: rgb(0, 100, 100); } - + D1R11kΩVCCGND @@ -24,7 +24,7 @@ </SchematicBoxPositions> <SchematicPlacementIssues> <DiodeResistorNotAligned diodeComponentName="D1" diodePin="cathode" resistorComponentName="R1" - resistorPin="anode" message="trace has corners — align D1 and R1 on same axis and rotate so + resistorPin="anode" message="series pins are not aligned — align D1 and R1 on the same axis so D1.cathode faces R1.anode" /> <TwoPinComponentShouldBeVertical componentName="D1" railPin="pin1" railType="power" deltaSchRotation="-90" suggestedRailFacingDirection="up" message="rotate D1 by -90° so its diff --git a/tests/cases/__snapshots__/trellis-core-cpu-decoupling-repro-P0V9.snap.svg b/tests/cases/__snapshots__/trellis-core-cpu-decoupling-repro-P0V9.snap.svg index 5841fdf..fbcd69b 100644 --- a/tests/cases/__snapshots__/trellis-core-cpu-decoupling-repro-P0V9.snap.svg +++ b/tests/cases/__snapshots__/trellis-core-cpu-decoupling-repro-P0V9.snap.svg @@ -39,19 +39,19 @@ L 752.2776994525138,231.67840106152212 L 752.2776994525138,241.03877923367085 Z - " fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="0.37916735777px"/>GNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDSDC0_D1SDC0_D0SDC0_CLKSDC0_CMDSDC0_D3SDC0_D2BOARD_ID_1BOOT_SEL1BOOT_SEL0DXOUTDXOUTDXINDXINLXOUTLXOUTLXINLXINRESETRESETRESETBOARD_ID_ADCBOARD_ID_ADCUART0_RXUART0_TXADDR_LED_CTRLDDR_DZQDDR_DZQBOARD_ID_3BOARD_ID_2SPI1_CS0SPI1_CLKSPI1_MISOSPI1_MOSIAUDIO_VRA2AUDIO_VRA2AUDIO_VRA1AUDIO_VRA1USB0_DNUSB0_DP#30 DecouplingCapacitorsNotCloseTogether -<DecouplingCapacitorsNotCloseTogether rail="P0V9" ground="GND" capacitorNames="C23, C27, C25, C24, C22, C26" maxBodyGap="9.1" maxRecommendedBodyGap="4" message="Group the decoupling capacitors between P0V9 and GND closer together in this schematic block. Preserve their net connections." />#30 DecouplingCapacitorsNotCloseTogether -<DecouplingCapacitorsNotCloseTogether rail="P0V9" ground="GND" capacitorNames="C23, C27, C25, C24, C22, C26" maxBodyGap="9.1" maxRecommendedBodyGap="4" message="Group the decoupling capacitors between P0V9 and GND closer together in this schematic block. Preserve their net connections." />30 -#30 DecouplingCapacitorsNotCloseTogether -<DecouplingCapacitorsNotCloseTogether rail="P0V9" ground="GND" capacitorNames="C23, C27, C25, C24, C22, C26" maxBodyGap="9.1" maxRecommendedBodyGap="4" message="Group the decoupling capacitors between P0V9 and GND closer together in this schematic block. Preserve their net connections." />30 -#30 DecouplingCapacitorsNotCloseTogether -<DecouplingCapacitorsNotCloseTogether rail="P0V9" ground="GND" capacitorNames="C23, C27, C25, C24, C22, C26" maxBodyGap="9.1" maxRecommendedBodyGap="4" message="Group the decoupling capacitors between P0V9 and GND closer together in this schematic block. Preserve their net connections." />30 -#30 DecouplingCapacitorsNotCloseTogether -<DecouplingCapacitorsNotCloseTogether rail="P0V9" ground="GND" capacitorNames="C23, C27, C25, C24, C22, C26" maxBodyGap="9.1" maxRecommendedBodyGap="4" message="Group the decoupling capacitors between P0V9 and GND closer together in this schematic block. Preserve their net connections." />30 -#30 DecouplingCapacitorsNotCloseTogether -<DecouplingCapacitorsNotCloseTogether rail="P0V9" ground="GND" capacitorNames="C23, C27, C25, C24, C22, C26" maxBodyGap="9.1" maxRecommendedBodyGap="4" message="Group the decoupling capacitors between P0V9 and GND closer together in this schematic block. Preserve their net connections." />30 -#30 DecouplingCapacitorsNotCloseTogether -<DecouplingCapacitorsNotCloseTogether rail="P0V9" ground="GND" capacitorNames="C23, C27, C25, C24, C22, C26" maxBodyGap="9.1" maxRecommendedBodyGap="4" message="Group the decoupling capacitors between P0V9 and GND closer together in this schematic block. Preserve their net connections." />30 + " fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="0.37916735777px"/>GNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDSDC0_D1SDC0_D0SDC0_CLKSDC0_CMDSDC0_D3SDC0_D2BOARD_ID_1BOOT_SEL1BOOT_SEL0DXOUTDXOUTDXINDXINLXOUTLXOUTLXINLXINRESETRESETRESETBOARD_ID_ADCBOARD_ID_ADCUART0_RXUART0_TXADDR_LED_CTRLDDR_DZQDDR_DZQBOARD_ID_3BOARD_ID_2SPI1_CS0SPI1_CLKSPI1_MISOSPI1_MOSIAUDIO_VRA2AUDIO_VRA2AUDIO_VRA1AUDIO_VRA1USB0_DNUSB0_DP#31 DecouplingCapacitorsNotCloseTogether +<DecouplingCapacitorsNotCloseTogether rail="P0V9" ground="GND" capacitorNames="C23, C27, C25, C24, C22, C26" maxBodyGap="9.1" maxRecommendedBodyGap="4" message="Group the decoupling capacitors between P0V9 and GND closer together in this schematic block. Preserve their net connections." />#31 DecouplingCapacitorsNotCloseTogether +<DecouplingCapacitorsNotCloseTogether rail="P0V9" ground="GND" capacitorNames="C23, C27, C25, C24, C22, C26" maxBodyGap="9.1" maxRecommendedBodyGap="4" message="Group the decoupling capacitors between P0V9 and GND closer together in this schematic block. Preserve their net connections." />31 +#31 DecouplingCapacitorsNotCloseTogether +<DecouplingCapacitorsNotCloseTogether rail="P0V9" ground="GND" capacitorNames="C23, C27, C25, C24, C22, C26" maxBodyGap="9.1" maxRecommendedBodyGap="4" message="Group the decoupling capacitors between P0V9 and GND closer together in this schematic block. Preserve their net connections." />31 +#31 DecouplingCapacitorsNotCloseTogether +<DecouplingCapacitorsNotCloseTogether rail="P0V9" ground="GND" capacitorNames="C23, C27, C25, C24, C22, C26" maxBodyGap="9.1" maxRecommendedBodyGap="4" message="Group the decoupling capacitors between P0V9 and GND closer together in this schematic block. Preserve their net connections." />31 +#31 DecouplingCapacitorsNotCloseTogether +<DecouplingCapacitorsNotCloseTogether rail="P0V9" ground="GND" capacitorNames="C23, C27, C25, C24, C22, C26" maxBodyGap="9.1" maxRecommendedBodyGap="4" message="Group the decoupling capacitors between P0V9 and GND closer together in this schematic block. Preserve their net connections." />31 +#31 DecouplingCapacitorsNotCloseTogether +<DecouplingCapacitorsNotCloseTogether rail="P0V9" ground="GND" capacitorNames="C23, C27, C25, C24, C22, C26" maxBodyGap="9.1" maxRecommendedBodyGap="4" message="Group the decoupling capacitors between P0V9 and GND closer together in this schematic block. Preserve their net connections." />31 +#31 DecouplingCapacitorsNotCloseTogether +<DecouplingCapacitorsNotCloseTogether rail="P0V9" ground="GND" capacitorNames="C23, C27, C25, C24, C22, C26" maxBodyGap="9.1" maxRecommendedBodyGap="4" message="Group the decoupling capacitors between P0V9 and GND closer together in this schematic block. Preserve their net connections." />31 diff --git a/tests/cases/__snapshots__/trellis-core-cpu-decoupling-repro-P1V5.snap.svg b/tests/cases/__snapshots__/trellis-core-cpu-decoupling-repro-P1V5.snap.svg index c5782e6..baad471 100644 --- a/tests/cases/__snapshots__/trellis-core-cpu-decoupling-repro-P1V5.snap.svg +++ b/tests/cases/__snapshots__/trellis-core-cpu-decoupling-repro-P1V5.snap.svg @@ -39,15 +39,15 @@ L 752.2776994525138,231.67840106152212 L 752.2776994525138,241.03877923367085 Z - " fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="0.37916735777px"/>GNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDSDC0_D1SDC0_D0SDC0_CLKSDC0_CMDSDC0_D3SDC0_D2BOARD_ID_1BOOT_SEL1BOOT_SEL0DXOUTDXOUTDXINDXINLXOUTLXOUTLXINLXINRESETRESETRESETBOARD_ID_ADCBOARD_ID_ADCUART0_RXUART0_TXADDR_LED_CTRLDDR_DZQDDR_DZQBOARD_ID_3BOARD_ID_2SPI1_CS0SPI1_CLKSPI1_MISOSPI1_MOSIAUDIO_VRA2AUDIO_VRA2AUDIO_VRA1AUDIO_VRA1USB0_DNUSB0_DP#27 DecouplingCapacitorsNotCloseTogether -<DecouplingCapacitorsNotCloseTogether rail="P1V5" ground="GND" capacitorNames="C28, C31, C30, C29" maxBodyGap="5.1" maxRecommendedBodyGap="4" message="Group the decoupling capacitors between P1V5 and GND closer together in this schematic block. Preserve their net connections." />#27 DecouplingCapacitorsNotCloseTogether -<DecouplingCapacitorsNotCloseTogether rail="P1V5" ground="GND" capacitorNames="C28, C31, C30, C29" maxBodyGap="5.1" maxRecommendedBodyGap="4" message="Group the decoupling capacitors between P1V5 and GND closer together in this schematic block. Preserve their net connections." />27 -#27 DecouplingCapacitorsNotCloseTogether -<DecouplingCapacitorsNotCloseTogether rail="P1V5" ground="GND" capacitorNames="C28, C31, C30, C29" maxBodyGap="5.1" maxRecommendedBodyGap="4" message="Group the decoupling capacitors between P1V5 and GND closer together in this schematic block. Preserve their net connections." />27 -#27 DecouplingCapacitorsNotCloseTogether -<DecouplingCapacitorsNotCloseTogether rail="P1V5" ground="GND" capacitorNames="C28, C31, C30, C29" maxBodyGap="5.1" maxRecommendedBodyGap="4" message="Group the decoupling capacitors between P1V5 and GND closer together in this schematic block. Preserve their net connections." />27 -#27 DecouplingCapacitorsNotCloseTogether -<DecouplingCapacitorsNotCloseTogether rail="P1V5" ground="GND" capacitorNames="C28, C31, C30, C29" maxBodyGap="5.1" maxRecommendedBodyGap="4" message="Group the decoupling capacitors between P1V5 and GND closer together in this schematic block. Preserve their net connections." />27 + " fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="0.37916735777px"/>GNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDSDC0_D1SDC0_D0SDC0_CLKSDC0_CMDSDC0_D3SDC0_D2BOARD_ID_1BOOT_SEL1BOOT_SEL0DXOUTDXOUTDXINDXINLXOUTLXOUTLXINLXINRESETRESETRESETBOARD_ID_ADCBOARD_ID_ADCUART0_RXUART0_TXADDR_LED_CTRLDDR_DZQDDR_DZQBOARD_ID_3BOARD_ID_2SPI1_CS0SPI1_CLKSPI1_MISOSPI1_MOSIAUDIO_VRA2AUDIO_VRA2AUDIO_VRA1AUDIO_VRA1USB0_DNUSB0_DP#28 DecouplingCapacitorsNotCloseTogether +<DecouplingCapacitorsNotCloseTogether rail="P1V5" ground="GND" capacitorNames="C28, C31, C30, C29" maxBodyGap="5.1" maxRecommendedBodyGap="4" message="Group the decoupling capacitors between P1V5 and GND closer together in this schematic block. Preserve their net connections." />#28 DecouplingCapacitorsNotCloseTogether +<DecouplingCapacitorsNotCloseTogether rail="P1V5" ground="GND" capacitorNames="C28, C31, C30, C29" maxBodyGap="5.1" maxRecommendedBodyGap="4" message="Group the decoupling capacitors between P1V5 and GND closer together in this schematic block. Preserve their net connections." />28 +#28 DecouplingCapacitorsNotCloseTogether +<DecouplingCapacitorsNotCloseTogether rail="P1V5" ground="GND" capacitorNames="C28, C31, C30, C29" maxBodyGap="5.1" maxRecommendedBodyGap="4" message="Group the decoupling capacitors between P1V5 and GND closer together in this schematic block. Preserve their net connections." />28 +#28 DecouplingCapacitorsNotCloseTogether +<DecouplingCapacitorsNotCloseTogether rail="P1V5" ground="GND" capacitorNames="C28, C31, C30, C29" maxBodyGap="5.1" maxRecommendedBodyGap="4" message="Group the decoupling capacitors between P1V5 and GND closer together in this schematic block. Preserve their net connections." />28 +#28 DecouplingCapacitorsNotCloseTogether +<DecouplingCapacitorsNotCloseTogether rail="P1V5" ground="GND" capacitorNames="C28, C31, C30, C29" maxBodyGap="5.1" maxRecommendedBodyGap="4" message="Group the decoupling capacitors between P1V5 and GND closer together in this schematic block. Preserve their net connections." />28 diff --git a/tests/cases/__snapshots__/trellis-core-cpu-decoupling-repro-P1V8.snap.svg b/tests/cases/__snapshots__/trellis-core-cpu-decoupling-repro-P1V8.snap.svg index c6b6821..fb6de90 100644 --- a/tests/cases/__snapshots__/trellis-core-cpu-decoupling-repro-P1V8.snap.svg +++ b/tests/cases/__snapshots__/trellis-core-cpu-decoupling-repro-P1V8.snap.svg @@ -39,23 +39,23 @@ L 752.2776994525138,231.67840106152212 L 752.2776994525138,241.03877923367085 Z - " fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="0.37916735777px"/>GNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDSDC0_D1SDC0_D0SDC0_CLKSDC0_CMDSDC0_D3SDC0_D2BOARD_ID_1BOOT_SEL1BOOT_SEL0DXOUTDXOUTDXINDXINLXOUTLXOUTLXINLXINRESETRESETRESETBOARD_ID_ADCBOARD_ID_ADCUART0_RXUART0_TXADDR_LED_CTRLDDR_DZQDDR_DZQBOARD_ID_3BOARD_ID_2SPI1_CS0SPI1_CLKSPI1_MISOSPI1_MOSIAUDIO_VRA2AUDIO_VRA2AUDIO_VRA1AUDIO_VRA1USB0_DNUSB0_DP#29 DecouplingCapacitorsNotCloseTogether -<DecouplingCapacitorsNotCloseTogether rail="P1V8" ground="GND" capacitorNames="C20, C34, C17, C19, C35, C16, C18, C21" maxBodyGap="9.1" maxRecommendedBodyGap="4" message="Group the decoupling capacitors between P1V8 and GND closer together in this schematic block. Preserve their net connections." />#29 DecouplingCapacitorsNotCloseTogether -<DecouplingCapacitorsNotCloseTogether rail="P1V8" ground="GND" capacitorNames="C20, C34, C17, C19, C35, C16, C18, C21" maxBodyGap="9.1" maxRecommendedBodyGap="4" message="Group the decoupling capacitors between P1V8 and GND closer together in this schematic block. Preserve their net connections." />29 -#29 DecouplingCapacitorsNotCloseTogether -<DecouplingCapacitorsNotCloseTogether rail="P1V8" ground="GND" capacitorNames="C20, C34, C17, C19, C35, C16, C18, C21" maxBodyGap="9.1" maxRecommendedBodyGap="4" message="Group the decoupling capacitors between P1V8 and GND closer together in this schematic block. Preserve their net connections." />29 -#29 DecouplingCapacitorsNotCloseTogether -<DecouplingCapacitorsNotCloseTogether rail="P1V8" ground="GND" capacitorNames="C20, C34, C17, C19, C35, C16, C18, C21" maxBodyGap="9.1" maxRecommendedBodyGap="4" message="Group the decoupling capacitors between P1V8 and GND closer together in this schematic block. Preserve their net connections." />29 -#29 DecouplingCapacitorsNotCloseTogether -<DecouplingCapacitorsNotCloseTogether rail="P1V8" ground="GND" capacitorNames="C20, C34, C17, C19, C35, C16, C18, C21" maxBodyGap="9.1" maxRecommendedBodyGap="4" message="Group the decoupling capacitors between P1V8 and GND closer together in this schematic block. Preserve their net connections." />29 -#29 DecouplingCapacitorsNotCloseTogether -<DecouplingCapacitorsNotCloseTogether rail="P1V8" ground="GND" capacitorNames="C20, C34, C17, C19, C35, C16, C18, C21" maxBodyGap="9.1" maxRecommendedBodyGap="4" message="Group the decoupling capacitors between P1V8 and GND closer together in this schematic block. Preserve their net connections." />29 -#29 DecouplingCapacitorsNotCloseTogether -<DecouplingCapacitorsNotCloseTogether rail="P1V8" ground="GND" capacitorNames="C20, C34, C17, C19, C35, C16, C18, C21" maxBodyGap="9.1" maxRecommendedBodyGap="4" message="Group the decoupling capacitors between P1V8 and GND closer together in this schematic block. Preserve their net connections." />29 -#29 DecouplingCapacitorsNotCloseTogether -<DecouplingCapacitorsNotCloseTogether rail="P1V8" ground="GND" capacitorNames="C20, C34, C17, C19, C35, C16, C18, C21" maxBodyGap="9.1" maxRecommendedBodyGap="4" message="Group the decoupling capacitors between P1V8 and GND closer together in this schematic block. Preserve their net connections." />29 -#29 DecouplingCapacitorsNotCloseTogether -<DecouplingCapacitorsNotCloseTogether rail="P1V8" ground="GND" capacitorNames="C20, C34, C17, C19, C35, C16, C18, C21" maxBodyGap="9.1" maxRecommendedBodyGap="4" message="Group the decoupling capacitors between P1V8 and GND closer together in this schematic block. Preserve their net connections." />29 + " fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="0.37916735777px"/>GNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDSDC0_D1SDC0_D0SDC0_CLKSDC0_CMDSDC0_D3SDC0_D2BOARD_ID_1BOOT_SEL1BOOT_SEL0DXOUTDXOUTDXINDXINLXOUTLXOUTLXINLXINRESETRESETRESETBOARD_ID_ADCBOARD_ID_ADCUART0_RXUART0_TXADDR_LED_CTRLDDR_DZQDDR_DZQBOARD_ID_3BOARD_ID_2SPI1_CS0SPI1_CLKSPI1_MISOSPI1_MOSIAUDIO_VRA2AUDIO_VRA2AUDIO_VRA1AUDIO_VRA1USB0_DNUSB0_DP#30 DecouplingCapacitorsNotCloseTogether +<DecouplingCapacitorsNotCloseTogether rail="P1V8" ground="GND" capacitorNames="C20, C34, C17, C19, C35, C16, C18, C21" maxBodyGap="9.1" maxRecommendedBodyGap="4" message="Group the decoupling capacitors between P1V8 and GND closer together in this schematic block. Preserve their net connections." />#30 DecouplingCapacitorsNotCloseTogether +<DecouplingCapacitorsNotCloseTogether rail="P1V8" ground="GND" capacitorNames="C20, C34, C17, C19, C35, C16, C18, C21" maxBodyGap="9.1" maxRecommendedBodyGap="4" message="Group the decoupling capacitors between P1V8 and GND closer together in this schematic block. Preserve their net connections." />30 +#30 DecouplingCapacitorsNotCloseTogether +<DecouplingCapacitorsNotCloseTogether rail="P1V8" ground="GND" capacitorNames="C20, C34, C17, C19, C35, C16, C18, C21" maxBodyGap="9.1" maxRecommendedBodyGap="4" message="Group the decoupling capacitors between P1V8 and GND closer together in this schematic block. Preserve their net connections." />30 +#30 DecouplingCapacitorsNotCloseTogether +<DecouplingCapacitorsNotCloseTogether rail="P1V8" ground="GND" capacitorNames="C20, C34, C17, C19, C35, C16, C18, C21" maxBodyGap="9.1" maxRecommendedBodyGap="4" message="Group the decoupling capacitors between P1V8 and GND closer together in this schematic block. Preserve their net connections." />30 +#30 DecouplingCapacitorsNotCloseTogether +<DecouplingCapacitorsNotCloseTogether rail="P1V8" ground="GND" capacitorNames="C20, C34, C17, C19, C35, C16, C18, C21" maxBodyGap="9.1" maxRecommendedBodyGap="4" message="Group the decoupling capacitors between P1V8 and GND closer together in this schematic block. Preserve their net connections." />30 +#30 DecouplingCapacitorsNotCloseTogether +<DecouplingCapacitorsNotCloseTogether rail="P1V8" ground="GND" capacitorNames="C20, C34, C17, C19, C35, C16, C18, C21" maxBodyGap="9.1" maxRecommendedBodyGap="4" message="Group the decoupling capacitors between P1V8 and GND closer together in this schematic block. Preserve their net connections." />30 +#30 DecouplingCapacitorsNotCloseTogether +<DecouplingCapacitorsNotCloseTogether rail="P1V8" ground="GND" capacitorNames="C20, C34, C17, C19, C35, C16, C18, C21" maxBodyGap="9.1" maxRecommendedBodyGap="4" message="Group the decoupling capacitors between P1V8 and GND closer together in this schematic block. Preserve their net connections." />30 +#30 DecouplingCapacitorsNotCloseTogether +<DecouplingCapacitorsNotCloseTogether rail="P1V8" ground="GND" capacitorNames="C20, C34, C17, C19, C35, C16, C18, C21" maxBodyGap="9.1" maxRecommendedBodyGap="4" message="Group the decoupling capacitors between P1V8 and GND closer together in this schematic block. Preserve their net connections." />30 +#30 DecouplingCapacitorsNotCloseTogether +<DecouplingCapacitorsNotCloseTogether rail="P1V8" ground="GND" capacitorNames="C20, C34, C17, C19, C35, C16, C18, C21" maxBodyGap="9.1" maxRecommendedBodyGap="4" message="Group the decoupling capacitors between P1V8 and GND closer together in this schematic block. Preserve their net connections." />30 diff --git a/tests/cases/__snapshots__/trellis-core-cpu-decoupling-repro-P3V3.snap.svg b/tests/cases/__snapshots__/trellis-core-cpu-decoupling-repro-P3V3.snap.svg index 08f5d00..712f92d 100644 --- a/tests/cases/__snapshots__/trellis-core-cpu-decoupling-repro-P3V3.snap.svg +++ b/tests/cases/__snapshots__/trellis-core-cpu-decoupling-repro-P3V3.snap.svg @@ -39,21 +39,21 @@ L 752.2776994525138,231.67840106152212 L 752.2776994525138,241.03877923367085 Z - " fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="0.37916735777px"/>GNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDSDC0_D1SDC0_D0SDC0_CLKSDC0_CMDSDC0_D3SDC0_D2BOARD_ID_1BOOT_SEL1BOOT_SEL0DXOUTDXOUTDXINDXINLXOUTLXOUTLXINLXINRESETRESETRESETBOARD_ID_ADCBOARD_ID_ADCUART0_RXUART0_TXADDR_LED_CTRLDDR_DZQDDR_DZQBOARD_ID_3BOARD_ID_2SPI1_CS0SPI1_CLKSPI1_MISOSPI1_MOSIAUDIO_VRA2AUDIO_VRA2AUDIO_VRA1AUDIO_VRA1USB0_DNUSB0_DP#28 DecouplingCapacitorsNotCloseTogether -<DecouplingCapacitorsNotCloseTogether rail="P3V3" ground="GND" capacitorNames="C10, C14, C11, C15, C9, C13, C12" maxBodyGap="11.1" maxRecommendedBodyGap="4" message="Group the decoupling capacitors between P3V3 and GND closer together in this schematic block. Preserve their net connections." />#28 DecouplingCapacitorsNotCloseTogether -<DecouplingCapacitorsNotCloseTogether rail="P3V3" ground="GND" capacitorNames="C10, C14, C11, C15, C9, C13, C12" maxBodyGap="11.1" maxRecommendedBodyGap="4" message="Group the decoupling capacitors between P3V3 and GND closer together in this schematic block. Preserve their net connections." />28 -#28 DecouplingCapacitorsNotCloseTogether -<DecouplingCapacitorsNotCloseTogether rail="P3V3" ground="GND" capacitorNames="C10, C14, C11, C15, C9, C13, C12" maxBodyGap="11.1" maxRecommendedBodyGap="4" message="Group the decoupling capacitors between P3V3 and GND closer together in this schematic block. Preserve their net connections." />28 -#28 DecouplingCapacitorsNotCloseTogether -<DecouplingCapacitorsNotCloseTogether rail="P3V3" ground="GND" capacitorNames="C10, C14, C11, C15, C9, C13, C12" maxBodyGap="11.1" maxRecommendedBodyGap="4" message="Group the decoupling capacitors between P3V3 and GND closer together in this schematic block. Preserve their net connections." />28 -#28 DecouplingCapacitorsNotCloseTogether -<DecouplingCapacitorsNotCloseTogether rail="P3V3" ground="GND" capacitorNames="C10, C14, C11, C15, C9, C13, C12" maxBodyGap="11.1" maxRecommendedBodyGap="4" message="Group the decoupling capacitors between P3V3 and GND closer together in this schematic block. Preserve their net connections." />28 -#28 DecouplingCapacitorsNotCloseTogether -<DecouplingCapacitorsNotCloseTogether rail="P3V3" ground="GND" capacitorNames="C10, C14, C11, C15, C9, C13, C12" maxBodyGap="11.1" maxRecommendedBodyGap="4" message="Group the decoupling capacitors between P3V3 and GND closer together in this schematic block. Preserve their net connections." />28 -#28 DecouplingCapacitorsNotCloseTogether -<DecouplingCapacitorsNotCloseTogether rail="P3V3" ground="GND" capacitorNames="C10, C14, C11, C15, C9, C13, C12" maxBodyGap="11.1" maxRecommendedBodyGap="4" message="Group the decoupling capacitors between P3V3 and GND closer together in this schematic block. Preserve their net connections." />28 -#28 DecouplingCapacitorsNotCloseTogether -<DecouplingCapacitorsNotCloseTogether rail="P3V3" ground="GND" capacitorNames="C10, C14, C11, C15, C9, C13, C12" maxBodyGap="11.1" maxRecommendedBodyGap="4" message="Group the decoupling capacitors between P3V3 and GND closer together in this schematic block. Preserve their net connections." />28 + " fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="0.37916735777px"/>GNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDSDC0_D1SDC0_D0SDC0_CLKSDC0_CMDSDC0_D3SDC0_D2BOARD_ID_1BOOT_SEL1BOOT_SEL0DXOUTDXOUTDXINDXINLXOUTLXOUTLXINLXINRESETRESETRESETBOARD_ID_ADCBOARD_ID_ADCUART0_RXUART0_TXADDR_LED_CTRLDDR_DZQDDR_DZQBOARD_ID_3BOARD_ID_2SPI1_CS0SPI1_CLKSPI1_MISOSPI1_MOSIAUDIO_VRA2AUDIO_VRA2AUDIO_VRA1AUDIO_VRA1USB0_DNUSB0_DP#29 DecouplingCapacitorsNotCloseTogether +<DecouplingCapacitorsNotCloseTogether rail="P3V3" ground="GND" capacitorNames="C10, C14, C11, C15, C9, C13, C12" maxBodyGap="11.1" maxRecommendedBodyGap="4" message="Group the decoupling capacitors between P3V3 and GND closer together in this schematic block. Preserve their net connections." />#29 DecouplingCapacitorsNotCloseTogether +<DecouplingCapacitorsNotCloseTogether rail="P3V3" ground="GND" capacitorNames="C10, C14, C11, C15, C9, C13, C12" maxBodyGap="11.1" maxRecommendedBodyGap="4" message="Group the decoupling capacitors between P3V3 and GND closer together in this schematic block. Preserve their net connections." />29 +#29 DecouplingCapacitorsNotCloseTogether +<DecouplingCapacitorsNotCloseTogether rail="P3V3" ground="GND" capacitorNames="C10, C14, C11, C15, C9, C13, C12" maxBodyGap="11.1" maxRecommendedBodyGap="4" message="Group the decoupling capacitors between P3V3 and GND closer together in this schematic block. Preserve their net connections." />29 +#29 DecouplingCapacitorsNotCloseTogether +<DecouplingCapacitorsNotCloseTogether rail="P3V3" ground="GND" capacitorNames="C10, C14, C11, C15, C9, C13, C12" maxBodyGap="11.1" maxRecommendedBodyGap="4" message="Group the decoupling capacitors between P3V3 and GND closer together in this schematic block. Preserve their net connections." />29 +#29 DecouplingCapacitorsNotCloseTogether +<DecouplingCapacitorsNotCloseTogether rail="P3V3" ground="GND" capacitorNames="C10, C14, C11, C15, C9, C13, C12" maxBodyGap="11.1" maxRecommendedBodyGap="4" message="Group the decoupling capacitors between P3V3 and GND closer together in this schematic block. Preserve their net connections." />29 +#29 DecouplingCapacitorsNotCloseTogether +<DecouplingCapacitorsNotCloseTogether rail="P3V3" ground="GND" capacitorNames="C10, C14, C11, C15, C9, C13, C12" maxBodyGap="11.1" maxRecommendedBodyGap="4" message="Group the decoupling capacitors between P3V3 and GND closer together in this schematic block. Preserve their net connections." />29 +#29 DecouplingCapacitorsNotCloseTogether +<DecouplingCapacitorsNotCloseTogether rail="P3V3" ground="GND" capacitorNames="C10, C14, C11, C15, C9, C13, C12" maxBodyGap="11.1" maxRecommendedBodyGap="4" message="Group the decoupling capacitors between P3V3 and GND closer together in this schematic block. Preserve their net connections." />29 +#29 DecouplingCapacitorsNotCloseTogether +<DecouplingCapacitorsNotCloseTogether rail="P3V3" ground="GND" capacitorNames="C10, C14, C11, C15, C9, C13, C12" maxBodyGap="11.1" maxRecommendedBodyGap="4" message="Group the decoupling capacitors between P3V3 and GND closer together in this schematic block. Preserve their net connections." />29 diff --git a/tests/cases/diode-resistor-topology-repro.test.tsx b/tests/cases/diode-resistor-topology-repro.test.tsx index b3692a7..3a6f1db 100644 --- a/tests/cases/diode-resistor-topology-repro.test.tsx +++ b/tests/cases/diode-resistor-topology-repro.test.tsx @@ -4,10 +4,10 @@ import { analyzeSchematicPlacement } from "lib/index" import { createIssueReproSnapshot } from "../fixtures/create-issue-repro-snapshot" import { expectReproNets } from "../fixtures/placement-repro-assertions" -test("records false series-alignment warnings on parallel and shared-supply branches", async () => { +test("checks alignment only for a series pair, preserving parallel and shared-supply branches", async () => { for (const [topology, diode, resistor, count] of [ - ["parallel", "D1", "R4", 2], - ["branched", "D4", "R30", 1], + ["parallel", "D1", "R4", 0], + ["branched", "D4", "R30", 0], ["series", "D2", "R2", 1], ] as const) { const circuit = new Circuit() @@ -63,7 +63,7 @@ test("records false series-alignment warnings on parallel and shared-supply bran ]) const issueTypes = ["DiodeResistorNotAligned"] as const const analysis = analyzeSchematicPlacement(circuitJson, { issueTypes }) - // Baseline: sharing a net is treated as a series connection, even in the first two cases. + // Only the private series junction supports an alignment recommendation. expect(analysis.getIssues()).toHaveLength(count) expect( createIssueReproSnapshot({