@tscircuit/schematic-trace-solver 0.0.144 → 0.0.145

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -146,6 +146,8 @@ type MspConnectionPair = {
146
146
  dcConnNetId: string;
147
147
  globalConnNetId: string;
148
148
  userNetId?: string;
149
+ /** The trace replaces fallback labels that could not fit between its pins. */
150
+ suppressNetLabel?: boolean;
149
151
  pins: [InputPin & {
150
152
  chipId: string;
151
153
  }, InputPin & {
package/dist/index.js CHANGED
@@ -420,8 +420,48 @@ function getOrthogonalMinimumSpanningTree(pins, opts = {}) {
420
420
  return edges;
421
421
  }
422
422
 
423
+ // lib/solvers/NetLabelPlacementSolver/SingleNetLabelPlacementSolver/geometry.ts
424
+ var NET_LABEL_HORIZONTAL_WIDTH = 0.45;
425
+ var NET_LABEL_HORIZONTAL_HEIGHT = 0.2;
426
+ function getDimsForOrientation(params) {
427
+ const { orientation, netLabelWidth, netLabelHeight } = params;
428
+ const horizWidth = typeof netLabelWidth === "number" ? netLabelWidth : NET_LABEL_HORIZONTAL_WIDTH;
429
+ const horizHeight = typeof netLabelHeight === "number" ? netLabelHeight : NET_LABEL_HORIZONTAL_HEIGHT;
430
+ if (orientation === "y+" || orientation === "y-") {
431
+ return {
432
+ // Rotated: horizontal length = netLabelHeight, vertical length = netLabelWidth
433
+ width: horizHeight,
434
+ height: horizWidth
435
+ };
436
+ }
437
+ return {
438
+ width: horizWidth,
439
+ height: horizHeight
440
+ };
441
+ }
442
+ function getCenterFromAnchor(anchor, orientation, width, height) {
443
+ switch (orientation) {
444
+ case "x+":
445
+ return { x: anchor.x + width / 2, y: anchor.y };
446
+ case "x-":
447
+ return { x: anchor.x - width / 2, y: anchor.y };
448
+ case "y+":
449
+ return { x: anchor.x, y: anchor.y + height / 2 };
450
+ case "y-":
451
+ return { x: anchor.x, y: anchor.y - height / 2 };
452
+ }
453
+ }
454
+ function getRectBounds(center, w, h) {
455
+ return {
456
+ minX: center.x - w / 2,
457
+ minY: center.y - h / 2,
458
+ maxX: center.x + w / 2,
459
+ maxY: center.y + h / 2
460
+ };
461
+ }
462
+
423
463
  // lib/solvers/MspConnectionPairSolver/isLabeledPeripheralConnection.ts
424
- var isLabeledPeripheralConnection = ({
464
+ var getLabeledConnectionRouteReason = ({
425
465
  inputProblem,
426
466
  chipMap,
427
467
  pins
@@ -430,12 +470,10 @@ var isLabeledPeripheralConnection = ({
430
470
  const directConnection = inputProblem.directConnections.find(
431
471
  (connection) => connection.pinIds.includes(firstPin.pinId) && connection.pinIds.includes(secondPin.pinId)
432
472
  );
433
- if (directConnection?.netLabelWidth === void 0) return false;
473
+ if (directConnection?.netLabelWidth === void 0) return null;
434
474
  const firstChip = chipMap[firstPin.chipId];
435
475
  const secondChip = chipMap[secondPin.chipId];
436
- if (!firstChip || !secondChip) return false;
437
- const hasSinglePinPeripheral = firstChip.pins.length === 1 || secondChip.pins.length === 1;
438
- if (!hasSinglePinPeripheral) return false;
476
+ if (!firstChip || !secondChip) return null;
439
477
  let firstFacingDirection = firstPin._facingDirection;
440
478
  if (!firstFacingDirection) {
441
479
  firstFacingDirection = getPinDirection(firstPin, firstChip);
@@ -444,8 +482,20 @@ var isLabeledPeripheralConnection = ({
444
482
  if (!secondFacingDirection) {
445
483
  secondFacingDirection = getPinDirection(secondPin, secondChip);
446
484
  }
447
- return firstFacingDirection === "x-" && secondFacingDirection === "x+" || firstFacingDirection === "x+" && secondFacingDirection === "x-";
448
- };
485
+ const hasOpposingHorizontalDirections = firstFacingDirection === "x-" && secondFacingDirection === "x+" || firstFacingDirection === "x+" && secondFacingDirection === "x-";
486
+ if (!hasOpposingHorizontalDirections) return null;
487
+ const hasSinglePinPeripheral = firstChip.pins.length === 1 || secondChip.pins.length === 1;
488
+ if (hasSinglePinPeripheral) return "single-pin-peripheral";
489
+ const sharedSectionId = firstChip.sectionId && firstChip.sectionId === secondChip.sectionId ? firstChip.sectionId : null;
490
+ if (!sharedSectionId) return null;
491
+ const firstIsLeft = firstPin.x <= secondPin.x;
492
+ const directionsPointTowardEachOther = firstIsLeft ? firstFacingDirection === "x+" && secondFacingDirection === "x-" : firstFacingDirection === "x-" && secondFacingDirection === "x+";
493
+ const labelsOverlapAlongX = Math.abs(firstPin.x - secondPin.x) < directConnection.netLabelWidth * 2;
494
+ const labelsOverlapAlongY = Math.abs(firstPin.y - secondPin.y) < NET_LABEL_HORIZONTAL_HEIGHT;
495
+ const fallbackLabelsOverlap = directionsPointTowardEachOther && labelsOverlapAlongX && labelsOverlapAlongY;
496
+ return fallbackLabelsOverlap ? "overlapping-fallback-labels" : null;
497
+ };
498
+ var isLabeledPeripheralConnection = (params) => getLabeledConnectionRouteReason(params) !== null;
449
499
 
450
500
  // lib/solvers/MspConnectionPairSolver/MspConnectionPairSolver.ts
451
501
  var DEFAULT_MAX_MSP_PAIR_DISTANCE = 1;
@@ -520,12 +570,12 @@ var MspConnectionPairSolver = class extends BaseSolver {
520
570
  if (this.directConnectionPinPairKeys.has(pinPairKey)) {
521
571
  pairDistance = distance(p1, p2);
522
572
  }
523
- const isLabeledPeripheral = isLabeledPeripheralConnection({
573
+ const labeledConnectionRouteReason = getLabeledConnectionRouteReason({
524
574
  inputProblem: this.inputProblem,
525
575
  chipMap: this.chipMap,
526
576
  pins: [p1, p2]
527
577
  });
528
- if (pairDistance > this.maxMspPairDistance && !isLabeledPeripheral) {
578
+ if (pairDistance > this.maxMspPairDistance && !labeledConnectionRouteReason) {
529
579
  return;
530
580
  }
531
581
  if (arePinsInDifferentSchematicSections(this.inputProblem, p1, p2)) {
@@ -543,11 +593,13 @@ var MspConnectionPairSolver = class extends BaseSolver {
543
593
  }
544
594
  const globalConnNetId = this.globalConnMap.getNetConnectedToId(pin1);
545
595
  const userNetId = this.userNetIdByPinId[pin1] ?? this.userNetIdByPinId[pin2];
596
+ const suppressNetLabel = pairDistance > this.maxMspPairDistance && labeledConnectionRouteReason === "overlapping-fallback-labels";
546
597
  this.mspConnectionPairs.push({
547
598
  mspPairId: `${pin1}-${pin2}`,
548
599
  dcConnNetId: dcNetId,
549
600
  globalConnNetId,
550
601
  userNetId,
602
+ suppressNetLabel,
551
603
  pins: [p1, p2]
552
604
  });
553
605
  return;
@@ -626,46 +678,6 @@ import "graphics-debug";
626
678
  // lib/solvers/SchematicTraceLinesSolver/SchematicTraceSingleLineSolver2/SchematicTraceSingleLineSolver2.ts
627
679
  import { calculateElbow as calculateElbow2 } from "calculate-elbow";
628
680
 
629
- // lib/solvers/NetLabelPlacementSolver/SingleNetLabelPlacementSolver/geometry.ts
630
- var NET_LABEL_HORIZONTAL_WIDTH = 0.45;
631
- var NET_LABEL_HORIZONTAL_HEIGHT = 0.2;
632
- function getDimsForOrientation(params) {
633
- const { orientation, netLabelWidth, netLabelHeight } = params;
634
- const horizWidth = typeof netLabelWidth === "number" ? netLabelWidth : NET_LABEL_HORIZONTAL_WIDTH;
635
- const horizHeight = typeof netLabelHeight === "number" ? netLabelHeight : NET_LABEL_HORIZONTAL_HEIGHT;
636
- if (orientation === "y+" || orientation === "y-") {
637
- return {
638
- // Rotated: horizontal length = netLabelHeight, vertical length = netLabelWidth
639
- width: horizHeight,
640
- height: horizWidth
641
- };
642
- }
643
- return {
644
- width: horizWidth,
645
- height: horizHeight
646
- };
647
- }
648
- function getCenterFromAnchor(anchor, orientation, width, height) {
649
- switch (orientation) {
650
- case "x+":
651
- return { x: anchor.x + width / 2, y: anchor.y };
652
- case "x-":
653
- return { x: anchor.x - width / 2, y: anchor.y };
654
- case "y+":
655
- return { x: anchor.x, y: anchor.y + height / 2 };
656
- case "y-":
657
- return { x: anchor.x, y: anchor.y - height / 2 };
658
- }
659
- }
660
- function getRectBounds(center, w, h) {
661
- return {
662
- minX: center.x - w / 2,
663
- minY: center.y - h / 2,
664
- maxX: center.x + w / 2,
665
- maxY: center.y + h / 2
666
- };
667
- }
668
-
669
681
  // lib/utils/textBoxBounds.ts
670
682
  function getTextBoxBounds(textBox, padding = {}) {
671
683
  return {
@@ -3148,6 +3160,7 @@ var NetLabelPlacementSolver = class extends BaseSolver {
3148
3160
  (t) => component.has(t.pins[0].pinId) && component.has(t.pins[1].pinId)
3149
3161
  );
3150
3162
  if (compTraces.length > 0) {
3163
+ if (compTraces.some((trace) => trace.suppressNetLabel)) continue;
3151
3164
  const lengthOf = (path) => {
3152
3165
  let sum = 0;
3153
3166
  const pts = path.tracePath;
@@ -14,7 +14,7 @@ import { visualizeInputProblem } from "../SchematicTracePipelineSolver/visualize
14
14
  import { doesPairCrossRestrictedCenterLines } from "./doesPairCrossRestrictedCenterLines"
15
15
  import { getConnectivityMapsFromInputProblem } from "./getConnectivityMapFromInputProblem"
16
16
  import { getOrthogonalMinimumSpanningTree } from "./getMspConnectionPairsFromPins"
17
- import { isLabeledPeripheralConnection } from "./isLabeledPeripheralConnection"
17
+ import { getLabeledConnectionRouteReason } from "./isLabeledPeripheralConnection"
18
18
 
19
19
  export type MspConnectionPairId = string
20
20
  export const DEFAULT_MAX_MSP_PAIR_DISTANCE = 1
@@ -26,6 +26,8 @@ export type MspConnectionPair = {
26
26
  dcConnNetId: string
27
27
  globalConnNetId: string
28
28
  userNetId?: string
29
+ /** The trace replaces fallback labels that could not fit between its pins. */
30
+ suppressNetLabel?: boolean
29
31
  pins: [InputPin & { chipId: string }, InputPin & { chipId: string }]
30
32
  }
31
33
 
@@ -121,14 +123,17 @@ export class MspConnectionPairSolver extends BaseSolver {
121
123
  if (this.directConnectionPinPairKeys.has(pinPairKey)) {
122
124
  pairDistance = distance(p1, p2)
123
125
  }
124
- // Labeled one-pin peripherals need a real trace even when they are far
125
- // apart; skipping the MSP pair would leave only the fallback path.
126
- const isLabeledPeripheral = isLabeledPeripheralConnection({
126
+ // Labeled one-pin peripherals and opposed pins whose fallback labels
127
+ // cannot fit need a real trace even when they are far apart.
128
+ const labeledConnectionRouteReason = getLabeledConnectionRouteReason({
127
129
  inputProblem: this.inputProblem,
128
130
  chipMap: this.chipMap,
129
131
  pins: [p1, p2],
130
132
  })
131
- if (pairDistance > this.maxMspPairDistance && !isLabeledPeripheral) {
133
+ if (
134
+ pairDistance > this.maxMspPairDistance &&
135
+ !labeledConnectionRouteReason
136
+ ) {
132
137
  // Too far apart; skip creating an MSP pair for this net
133
138
  return
134
139
  }
@@ -155,12 +160,16 @@ export class MspConnectionPairSolver extends BaseSolver {
155
160
  const globalConnNetId = this.globalConnMap.getNetConnectedToId(pin1!)!
156
161
  const userNetId =
157
162
  this.userNetIdByPinId[pin1!] ?? this.userNetIdByPinId[pin2!]
163
+ const suppressNetLabel =
164
+ pairDistance > this.maxMspPairDistance &&
165
+ labeledConnectionRouteReason === "overlapping-fallback-labels"
158
166
 
159
167
  this.mspConnectionPairs.push({
160
168
  mspPairId: `${pin1}-${pin2}`,
161
169
  dcConnNetId: dcNetId,
162
170
  globalConnNetId,
163
171
  userNetId,
172
+ suppressNetLabel,
164
173
  pins: [p1, p2],
165
174
  })
166
175
 
@@ -1,9 +1,14 @@
1
1
  import type { InputChip, InputPin, InputProblem } from "lib/types/InputProblem"
2
+ import { NET_LABEL_HORIZONTAL_HEIGHT } from "../NetLabelPlacementSolver/SingleNetLabelPlacementSolver/geometry"
2
3
  import { getPinDirection } from "../SchematicTraceLinesSolver/SchematicTraceSingleLineSolver/getPinDirection"
3
4
 
4
5
  type PinWithChipId = InputPin & { chipId: string }
5
6
 
6
- export const isLabeledPeripheralConnection = ({
7
+ export type LabeledConnectionRouteReason =
8
+ | "single-pin-peripheral"
9
+ | "overlapping-fallback-labels"
10
+
11
+ export const getLabeledConnectionRouteReason = ({
7
12
  inputProblem,
8
13
  chipMap,
9
14
  pins,
@@ -11,22 +16,18 @@ export const isLabeledPeripheralConnection = ({
11
16
  inputProblem: InputProblem
12
17
  chipMap: Record<string, InputChip>
13
18
  pins: [PinWithChipId, PinWithChipId]
14
- }): boolean => {
19
+ }): LabeledConnectionRouteReason | null => {
15
20
  const [firstPin, secondPin] = pins
16
21
  const directConnection = inputProblem.directConnections.find(
17
22
  (connection) =>
18
23
  connection.pinIds.includes(firstPin.pinId) &&
19
24
  connection.pinIds.includes(secondPin.pinId),
20
25
  )
21
- if (directConnection?.netLabelWidth === undefined) return false
26
+ if (directConnection?.netLabelWidth === undefined) return null
22
27
 
23
28
  const firstChip = chipMap[firstPin.chipId]
24
29
  const secondChip = chipMap[secondPin.chipId]
25
- if (!firstChip || !secondChip) return false
26
-
27
- const hasSinglePinPeripheral =
28
- firstChip.pins.length === 1 || secondChip.pins.length === 1
29
- if (!hasSinglePinPeripheral) return false
30
+ if (!firstChip || !secondChip) return null
30
31
 
31
32
  let firstFacingDirection = firstPin._facingDirection
32
33
  if (!firstFacingDirection) {
@@ -37,8 +38,43 @@ export const isLabeledPeripheralConnection = ({
37
38
  secondFacingDirection = getPinDirection(secondPin, secondChip)
38
39
  }
39
40
 
40
- return (
41
+ const hasOpposingHorizontalDirections =
41
42
  (firstFacingDirection === "x-" && secondFacingDirection === "x+") ||
42
43
  (firstFacingDirection === "x+" && secondFacingDirection === "x-")
43
- )
44
+ if (!hasOpposingHorizontalDirections) return null
45
+
46
+ const hasSinglePinPeripheral =
47
+ firstChip.pins.length === 1 || secondChip.pins.length === 1
48
+ if (hasSinglePinPeripheral) return "single-pin-peripheral"
49
+
50
+ // The overlap fallback is intended for explicitly grouped schematic
51
+ // sections, where hierarchy boxes and their nearby connectors are laid out
52
+ // as one visual unit. Applying it to ordinary sheets can reroute unrelated
53
+ // component-to-component labels elsewhere in the design.
54
+ const sharedSectionId =
55
+ firstChip.sectionId && firstChip.sectionId === secondChip.sectionId
56
+ ? firstChip.sectionId
57
+ : null
58
+ if (!sharedSectionId) return null
59
+
60
+ // When two multi-pin components face each other across a short gap, the
61
+ // fallback label at each pin can be wider than the available space. Route
62
+ // the explicit connection instead of rendering two copies of the long net
63
+ // name on top of one another.
64
+ const firstIsLeft = firstPin.x <= secondPin.x
65
+ const directionsPointTowardEachOther = firstIsLeft
66
+ ? firstFacingDirection === "x+" && secondFacingDirection === "x-"
67
+ : firstFacingDirection === "x-" && secondFacingDirection === "x+"
68
+ const labelsOverlapAlongX =
69
+ Math.abs(firstPin.x - secondPin.x) < directConnection.netLabelWidth * 2
70
+ const labelsOverlapAlongY =
71
+ Math.abs(firstPin.y - secondPin.y) < NET_LABEL_HORIZONTAL_HEIGHT
72
+
73
+ const fallbackLabelsOverlap =
74
+ directionsPointTowardEachOther && labelsOverlapAlongX && labelsOverlapAlongY
75
+ return fallbackLabelsOverlap ? "overlapping-fallback-labels" : null
44
76
  }
77
+
78
+ export const isLabeledPeripheralConnection = (
79
+ params: Parameters<typeof getLabeledConnectionRouteReason>[0],
80
+ ) => getLabeledConnectionRouteReason(params) !== null
@@ -188,6 +188,13 @@ export class NetLabelPlacementSolver extends BaseSolver {
188
188
  )
189
189
 
190
190
  if (compTraces.length > 0) {
191
+ // This routed trace exists specifically because two endpoint labels
192
+ // could not fit in the available gap. Do not replace that pair with
193
+ // one redundant long label on the newly routed wire. If routing had
194
+ // failed there would be no trace here, so the port-only fallback
195
+ // branch below would still label both endpoints.
196
+ if (compTraces.some((trace) => trace.suppressNetLabel)) continue
197
+
191
198
  // Choose a representative trace (longest by L1 length)
192
199
  const lengthOf = (path: SolvedTracePath) => {
193
200
  let sum = 0
package/package.json CHANGED
@@ -5,7 +5,7 @@
5
5
  "url": "https://github.com/tscircuit/schematic-trace-solver.git"
6
6
  },
7
7
  "main": "dist/index.js",
8
- "version": "0.0.144",
8
+ "version": "0.0.145",
9
9
  "type": "module",
10
10
  "scripts": {
11
11
  "start": "cosmos",
@@ -1,4 +1,4 @@
1
- <svg width="640" height="640" viewBox="0 0 640 640" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%" fill="white"/><g><polyline data-points="-0.498,-4.0485 -0.298,-4.0485 -0.298,-4.4485 -0.498,-4.4485" data-type="line" data-label="" points="328.79491940643186,394.0468425733768 332.2901680528032,394.0468425733768 332.2901680528032,401.0373398661195 328.79491940643186,401.0373398661195" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-12.7,7.608499999999995 -12.899999999999999,7.608499999999995 -12.899999999999999,7.808499999999995 -12.7,7.808499999999995" data-type="line" data-label="" points="115.54979949131643,190.32627521962334 112.05455084494511,190.32627521962334 112.05455084494511,186.83102657325202 115.54979949131643,186.83102657325202" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-12.7,4.208499999999994 -12.899999999999999,4.208499999999994 -12.899999999999999,4.408499999999994 -12.7,4.408499999999994" data-type="line" data-label="" points="115.54979949131643,249.74550220793617 112.05455084494511,249.74550220793617 112.05455084494511,246.25025356156482 115.54979949131643,246.25025356156482" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-12.7,4.0084999999999935 -12.899999999999999,4.0084999999999935 -12.899999999999999,4.208499999999994 -12.7,4.208499999999994" data-type="line" data-label="" points="115.54979949131643,253.2407508543075 112.05455084494511,253.2407508543075 112.05455084494511,249.74550220793617 115.54979949131643,249.74550220793617" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-12.7,0.6084999999999905 -12.899999999999999,0.6084999999999905 -12.899999999999999,0.8084999999999907 -12.7,0.8084999999999907" data-type="line" data-label="" points="115.54979949131643,312.6599778426203 112.05455084494511,312.6599778426203 112.05455084494511,309.16472919624897 115.54979949131643,309.16472919624897" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-12.7,-2.591499999999998 -12.899999999999999,-2.591499999999998 -12.899999999999999,-2.391499999999999 -12.7,-2.391499999999999" data-type="line" data-label="" points="115.54979949131643,368.58395618456154 112.05455084494511,368.58395618456154 112.05455084494511,365.08870753819025 115.54979949131643,365.08870753819025" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-12.7,-2.7914999999999974 -12.899999999999999,-2.7914999999999974 -12.899999999999999,-2.591499999999998 -12.7,-2.591499999999998" data-type="line" data-label="" points="115.54979949131643,372.0792048309329 112.05455084494511,372.0792048309329 112.05455084494511,368.58395618456154 115.54979949131643,368.58395618456154" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-12.7,-2.9914999999999967 -12.899999999999999,-2.9914999999999967 -12.899999999999999,-2.7914999999999974 -12.7,-2.7914999999999974" data-type="line" data-label="" points="115.54979949131643,375.57445347730425 112.05455084494511,375.57445347730425 112.05455084494511,372.0792048309329 115.54979949131643,372.0792048309329" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-12.7,-3.191499999999996 -12.899999999999999,-3.191499999999996 -12.899999999999999,-2.9914999999999967 -12.7,-2.9914999999999967" data-type="line" data-label="" points="115.54979949131643,379.06970212367554 112.05455084494511,379.06970212367554 112.05455084494511,375.57445347730425 115.54979949131643,375.57445347730425" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-12.7,-3.3914999999999953 -12.899999999999999,-3.3914999999999953 -12.899999999999999,-3.191499999999996 -12.7,-3.191499999999996" data-type="line" data-label="" points="115.54979949131643,382.5649507700469 112.05455084494511,382.5649507700469 112.05455084494511,379.06970212367554 115.54979949131643,379.06970212367554" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-9.7,-2.5914999999999955 -9.5,-2.5914999999999955 -9.5,-2.3914999999999953 -9.7,-2.3914999999999953" data-type="line" data-label="" points="167.97852918688653,368.58395618456154 171.47377783325786,368.58395618456154 171.47377783325786,365.0887075381902 167.97852918688653,365.0887075381902" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-9.7,-2.7914999999999957 -9.5,-2.7914999999999957 -9.5,-2.5914999999999955 -9.7,-2.5914999999999955" data-type="line" data-label="" points="167.97852918688653,372.07920483093284 171.47377783325786,372.07920483093284 171.47377783325786,368.58395618456154 167.97852918688653,368.58395618456154" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-9.7,-2.991499999999995 -9.5,-2.991499999999995 -9.5,-2.7914999999999957 -9.7,-2.7914999999999957" data-type="line" data-label="" points="167.97852918688653,375.5744534773042 171.47377783325786,375.5744534773042 171.47377783325786,372.07920483093284 167.97852918688653,372.07920483093284" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-9.7,-3.191499999999995 -8.440000000000001,-3.191499999999995 -8.440000000000001,-2.991499999999995 -9.7,-2.991499999999995" data-type="line" data-label="" points="167.97852918688653,379.06970212367554 189.99859565902594,379.06970212367554 189.99859565902594,375.5744534773042 167.97852918688653,375.5744534773042" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-9.7,-3.3914999999999953 -8.440000000000001,-3.3914999999999953 -8.440000000000001,-3.191499999999995 -9.7,-3.191499999999995" data-type="line" data-label="" points="167.97852918688653,382.5649507700469 189.99859565902594,382.5649507700469 189.99859565902594,379.06970212367554 167.97852918688653,379.06970212367554" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-2.215,0.9599999999999997 -2.0149999999999997,0.9599999999999997 -2.0149999999999997,1.3599999999999997 -2.215,1.3599999999999997" data-type="line" data-label="" points="298.7882097773339,306.51707834662255 302.28345842370527,306.51707834662255 302.28345842370527,299.52658105387985 298.7882097773339,299.52658105387985" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-2.215,0.5599999999999997 -2.0149999999999997,0.5599999999999997 -2.0149999999999997,0.9599999999999997 -2.215,0.9599999999999997" data-type="line" data-label="" points="298.7882097773339,313.5075756393652 302.28345842370527,313.5075756393652 302.28345842370527,306.51707834662255 298.7882097773339,306.51707834662255" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-2.215,0.1599999999999997 -1.305,0.1599999999999997 -1.305,0.5599999999999997 -2.215,0.5599999999999997" data-type="line" data-label="" points="298.7882097773339,320.4980729321079 314.6915911183235,320.4980729321079 314.6915911183235,313.5075756393652 298.7882097773339,313.5075756393652" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="9.873,0.9599999999999997 9.673,0.9599999999999997 9.673,1.3599999999999997 9.873,1.3599999999999997" data-type="line" data-label="" points="510.0410379640177,306.51707834662255 506.5457893176464,306.51707834662255 506.5457893176464,299.52658105387985 510.0410379640177,299.52658105387985" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="9.873,0.5599999999999998 9.673,0.5599999999999998 9.673,0.9599999999999997 9.873,0.9599999999999997" data-type="line" data-label="" points="510.0410379640177,313.5075756393652 506.5457893176464,313.5075756393652 506.5457893176464,306.51707834662255 510.0410379640177,306.51707834662255" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="9.873,0.15999999999999992 9.673,0.15999999999999992 9.673,0.5599999999999998 9.873,0.5599999999999998" data-type="line" data-label="" points="510.0410379640177,320.4980729321079 506.5457893176464,320.4980729321079 506.5457893176464,313.5075756393652 510.0410379640177,313.5075756393652" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="14.177999999999999,-7.9315 14.161249999999999,-7.9315 14.161249999999999,-7.7315 13.222000000000001,-7.7315 13.222000000000001,-7.9315 13.422,-7.9315" data-type="line" data-label="" points="585.2762650771608,461.90709504267636 584.9835380030272,461.90709504267636 584.9835380030272,458.411846396305 568.5689765475058,458.411846396305 568.5689765475058,461.90709504267636 572.0642251938771,461.90709504267636" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-5.0729999999999995,5.0315 -5.273,5.0315 -5.273,6.046500000000001 -3.3229999999999986,6.046500000000001 -3.3229999999999986,5.0315 -3.522999999999999,5.0315" data-type="line" data-label="" points="248.84110662068747,235.36255402811798 245.34585797431612,235.36255402811798 245.34585797431612,217.6241671477834 279.4245322764367,217.6241671477834 279.4245322764367,235.36255402811798 275.92928363006536,235.36255402811798" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-13.258000000000001,-6.4914999999999985 -13.258000000000001,-6.691499999999998 -13.908,-6.691499999999998 -13.908,-7.9315 -13.258000000000001,-7.9315 -13.258000000000001,-7.7315000000000005" data-type="line" data-label="" points="105.79805576794035,436.7413047888027 105.79805576794035,440.236553435174 94.43849766723352,440.236553435174 94.43849766723352,461.90709504267636 105.79805576794035,461.90709504267636 105.79805576794035,458.411846396305" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="9.857999999999999,-3.3915 9.097999999999999,-3.3915 9.097999999999999,-2.42 9.857999999999999,-2.42" data-type="line" data-label="" points="509.7788943155398,382.56495077004695 496.49694945932873,382.56495077004695 496.49694945932873,365.58678047029815 509.7788943155398,365.58678047029815" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="9.857999999999999,-4.3485 9.097999999999999,-4.3485 9.097999999999999,-3.3915 9.857999999999999,-3.3915" data-type="line" data-label="" points="509.7788943155398,399.2897155429338 496.49694945932873,399.2897155429338 496.49694945932873,382.56495077004695 509.7788943155398,382.56495077004695" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="9.857999999999999,-5.319999999999999 9.097999999999999,-5.319999999999999 9.097999999999999,-4.3485 9.857999999999999,-4.3485" data-type="line" data-label="" points="509.7788943155398,416.2678858426826 496.49694945932873,416.2678858426826 496.49694945932873,399.2897155429338 509.7788943155398,399.2897155429338" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-12.7,8.408499999999995 -12.7,8.5085 -14.191999999999997,8.5085" data-type="line" data-label="" points="115.54979949131643,176.345280634138 115.54979949131643,174.59765631095223 89.47524458938628,174.59765631095223" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-12.7,8.208499999999994 -13.445999999999998,8.208499999999994 -13.445999999999998,-3.9115000000000006 -6.9399999999999995,-3.9115000000000006 -6.9399999999999995,8.408499999999995 -12.7,8.408499999999995" data-type="line" data-label="" points="115.54979949131643,179.84052928050934 102.51252204035134,179.84052928050934 102.51252204035134,391.6525972506124 216.21296050681102,391.6525972506124 216.21296050681102,176.345280634138 115.54979949131643,176.345280634138" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-12.7,7.808499999999995 -12.899999999999999,7.808499999999995 -12.899999999999999,8.208499999999994 -12.7,8.208499999999994" data-type="line" data-label="" points="115.54979949131643,186.83102657325202 112.05455084494511,186.83102657325202 112.05455084494511,179.84052928050934 115.54979949131643,179.84052928050934" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-9.7,7.408499999999998 -7.079000000000001,7.408499999999998 -7.079000000000001,8.008499999999996 -9.7,8.008499999999996" data-type="line" data-label="" points="167.97852918688653,193.82152386599464 213.78376269758292,193.82152386599464 213.78376269758292,183.33577792688064 167.97852918688653,183.33577792688064" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-9.7,6.008500000000003 -7.079000000000001,6.008500000000003 -7.079000000000001,7.408499999999998 -9.7,7.408499999999998" data-type="line" data-label="" points="167.97852918688653,218.28826439059392 213.78376269758292,218.28826439059392 213.78376269758292,193.82152386599464 167.97852918688653,193.82152386599464" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-12.7,2.6084999999999923 -14.360999999999997,2.6084999999999923 -14.360999999999997,4.0084999999999935 -12.7,4.0084999999999935" data-type="line" data-label="" points="115.54979949131643,277.70749137890687 86.52175948320249,277.70749137890687 86.52175948320249,253.2407508543075 115.54979949131643,253.2407508543075" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-12.7,2.208499999999992 -13.640999999999998,2.208499999999992 -13.640999999999998,2.6084999999999923 -12.7,2.6084999999999923" data-type="line" data-label="" points="115.54979949131643,284.69798867164957 99.1046546101393,284.69798867164957 99.1046546101393,277.70749137890687 115.54979949131643,277.70749137890687" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-12.7,0.8084999999999907 -13.640999999999998,0.8084999999999908 -13.640999999999998,2.208499999999992 -12.7,2.208499999999992" data-type="line" data-label="" points="115.54979949131643,309.16472919624897 99.1046546101393,309.16472919624897 99.1046546101393,284.69798867164957 115.54979949131643,284.69798867164957" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-12.7,-0.7915000000000045 -13.640999999999998,-0.7915000000000052 -13.640999999999998,0.6084999999999912 -12.7,0.6084999999999905" data-type="line" data-label="" points="115.54979949131643,337.1267183672196 99.1046546101393,337.1267183672196 99.1046546101393,312.6599778426203 115.54979949131643,312.6599778426203" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-12.7,-2.391499999999999 -13.761,-2.3914999999999997 -13.761,-0.7915000000000038 -12.7,-0.7915000000000045" data-type="line" data-label="" points="115.54979949131643,365.08870753819025 97.00750542231648,365.08870753819025 97.00750542231648,337.1267183672196 115.54979949131643,337.1267183672196" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-9.7,-1.7914999999999957 -7.199000000000002,-1.7914999999999957 -7.199000000000002,-1.1914999999999951 -9.7,-1.1914999999999956" data-type="line" data-label="" points="167.97852918688653,354.60296159907614 211.6866135097601,354.60296159907614 211.6866135097601,344.11721565996214 167.97852918688653,344.11721565996214" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-9.7,-2.3914999999999953 -7.079000000000001,-2.3914999999999953 -7.079000000000001,-1.7914999999999948 -9.7,-1.7914999999999957" data-type="line" data-label="" points="167.97852918688653,365.0887075381902 213.78376269758292,365.0887075381902 213.78376269758292,354.60296159907614 167.97852918688653,354.60296159907614" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="0.907,-1.2829999999999995 0.7070000000000001,-1.2829999999999995 0.7070000000000001,-1.0829999999999995 -2.554,-1.0829999999999995 -2.554,-0.6829999999999996 0.7070000000000001,-0.6829999999999996 0.7070000000000001,1.842999999999999 0.907,1.842999999999999" data-type="line" data-label="" points="353.3490411471905,345.7162919156771 349.85379250081917,345.7162919156771 349.85379250081917,342.22104326930577 292.8637633217345,342.22104326930577 292.8637633217345,335.23054597656306 349.85379250081917,335.23054597656306 349.85379250081917,291.0855555728931 353.3490411471905,291.0855555728931" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="6.747,-1.2830000000000004 6.947,-1.2830000000000004 6.947,-1.083 10.207999999999998,-1.083 10.207999999999998,-0.683 8.408,-0.6829999999999996 8.408,-0.2829999999999997 8.528,-0.2829999999999993 8.528,0.11700000000000071 6.947,0.11700000000000071 6.947,3.143 10.207999999999998,3.143 10.207999999999998,3.543 6.747,3.543" data-type="line" data-label="" points="455.41030162123366,345.7162919156771 458.905550267605,345.7162919156771 458.905550267605,342.22104326930577 515.8955794466897,342.22104326930577 515.8955794466897,335.23054597656306 484.43834162934763,335.23054597656306 484.43834162934763,328.2400486838204 486.5354908171704,328.2400486838204 486.5354908171704,321.2495513910777 458.905550267605,321.2495513910777 458.905550267605,268.3664393714794 515.8955794466897,268.3664393714794 515.8955794466897,261.37594207873667 455.41030162123366,261.37594207873667" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-14.191999999999997,8.108500000000001 -15.342999999999996,8.108500000000001" data-type="line" data-label="" points="89.47524458938628,181.5881536036949 69.36008862951923,181.5881536036949" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-6.342,6.491499999999999 -6.342,8.5425 -6.393,8.5425" data-type="line" data-label="" points="226.6637539594613,209.8472389096072 226.6637539594613,174.0034640410691 225.77246555463663,174.0034640410691" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-5.273,5.0315 -5.8629999999999995,5.0315 -5.8629999999999995,5.0305" data-type="line" data-label="" points="245.34585797431612,235.36255402811798 235.0348744675207,235.36255402811798 235.0348744675207,235.38003027134982" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="9.873,0.15999999999999992 9.082999999999998,0.15999999999999992" data-type="line" data-label="" points="510.0410379640177,320.4980729321079 496.23480581085084,320.4980729321079" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="6.747,3.7430000000000003 10.887999999999995,3.7430000000000003 10.887999999999995,3.6920000000000006" data-type="line" data-label="" points="455.41030162123366,257.8806934323653 527.7794248443522,257.8806934323653 527.7794248443522,258.77198183719" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-13.258000000000001,-5.8915 -13.258000000000001,-5.7905 -13.709,-5.7905" data-type="line" data-label="" points="105.79805576794035,426.25555884968867 105.79805576794035,424.4904582832712 97.916270070373,424.4904582832712" fill="none" stroke="purple" stroke-width="1px"/></g><g><rect data-type="rect" data-label="schematic_component_2" data-x="-13.1355" data-y="-7.351500000000001" x="97.93374631360486" y="445.129901540094" width="20.010298500475898" height="13.281944856211055" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="schematic_component_3" data-x="-1.4979999999999998" data-y="-4.2485" x="293.84243294271846" y="390.55159392700546" width="34.9524864637134" height="13.980994585485405" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="schematic_component_4" data-x="-14.741999999999997" data-y="8.3085" x="70.25137703434386" y="174.59765631095223" width="19.223867555042403" height="6.990497292742674" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="schematic_component_5" data-x="-11.2" data-y="2.5084999999999997" x="115.54979949131643" y="176.3452806341379" width="52.4287296955701" height="206.21967013590904" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="schematic_component_6" data-x="-4.297999999999999" data-y="5.0315" x="248.84110662068747" y="225.3137141698004" width="27.088177009377887" height="20.097679716635213" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="schematic_component_7" data-x="-2.9899999999999998" data-y="1.2599999999999998" x="271.70003276795603" y="275.9336526908733" width="27.088177009377887" height="50.68110537238442" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="schematic_component_8" data-x="10.648" data-y="1.2599999999999998" x="510.04103796401773" y="275.9336526908733" width="27.088177009377944" height="50.68110537238442" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="schematic_component_9" data-x="10.457999999999998" data-y="-2.32" x="509.77889431553984" y="358.5962831775555" width="20.971491878227994" height="10.485745939113997" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="schematic_component_10" data-x="10.457999999999998" data-y="-3.2915" x="509.77889431553984" y="375.57445347730425" width="20.971491878227994" height="10.485745939113997" fill="hsl(320, 100%, 50%, 0.8)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="schematic_component_11" data-x="10.457999999999998" data-y="-4.2485" x="509.77889431553984" y="392.2992182501912" width="20.971491878227994" height="10.485745939113997" fill="hsl(320, 100%, 50%, 0.8)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="schematic_component_12" data-x="10.457999999999998" data-y="-5.22" x="509.77889431553984" y="409.27738854993993" width="20.971491878227994" height="10.485745939113997" fill="hsl(320, 100%, 50%, 0.8)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="schematic_component_13" data-x="-9.142" data-y="-5.988499999999999" x="160.25402967840586" y="420.96025715043606" width="34.9524864637134" height="13.980994585485348" fill="hsl(320, 100%, 50%, 0.8)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="schematic_component_14" data-x="-11.017999999999999" data-y="-7.351500000000001" x="132.71147034499973" y="437.78987938271416" width="24.466740524599345" height="27.961989170970696" fill="hsl(320, 100%, 50%, 0.8)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="schematic_component_15" data-x="-6.127" data-y="6.1915" x="218.7994445051258" y="209.8472389096072" width="23.243403498369418" height="10.485745939114025" fill="hsl(320, 100%, 50%, 0.8)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="schematic_component_16" data-x="-13.043" data-y="-6.1915" x="97.93374631360491" y="426.25555884968867" width="23.24340349836936" height="10.485745939114054" fill="hsl(320, 100%, 50%, 0.8)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="schematic_component_17" data-x="12.29925" data-y="-7.9315" x="546.1294802378018" y="460.15947071949074" width="12.626585735016533" height="3.4952486463712944" fill="hsl(320, 100%, 50%, 0.8)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="schematic_component_18" data-x="13.783249999999999" data-y="-7.9315" x="572.0642251938771" y="460.15947071949074" width="12.626585735016533" height="3.4952486463712944" fill="hsl(320, 100%, 50%, 0.8)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="schematic_component_19" data-x="11.60325" data-y="-7.9315" x="532.9174403545181" y="460.15947071949074" width="14.723734922839185" height="3.4952486463712944" fill="hsl(320, 100%, 50%, 0.8)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="schematic_component_20" data-x="14.599249999999998" data-y="-7.9315" x="585.2762650771608" y="460.15947071949074" width="14.723734922839185" height="3.4952486463712944" fill="hsl(320, 100%, 50%, 0.8)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="schematic_component_21" data-x="3.827" data-y="4.543" x="353.3490411471905" y="178.0142618627802" width="102.06126047404314" height="131.77087396819954" fill="hsl(320, 100%, 50%, 0.8)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="schematic_component_22" data-x="3.827" data-y="-3.383" x="353.3490411471905" y="323.28553372758904" width="102.06126047404314" height="118.2617379499743" fill="hsl(320, 100%, 50%, 0.8)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="I2C" data-x="-1.918" data-y="-3.7335000000000003" x="299.7843556415497" y="386.35729555135987" width="8.388596751291232" height="4.369060807964161" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="J1" data-x="-14.771999999999998" data-y="8.6235" x="76.19329973317512" y="170.40335793530664" width="6.291447563468438" height="4.369060807964189" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="SEAM-20-03.0-S-06-2-A-K-TR" data-x="-10.739999999999998" data-y="-3.5215000000000005" x="122.54029678405914" y="383.26400049932124" width="54.52587888339286" height="3.1457237817342047" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="J2" data-x="-12.18" data-y="8.5235" x="121.4917221901477" y="172.1509822584923" width="6.2914475634684095" height="4.369060807964161" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="GBC03DABN-M30" data-x="-3.892999999999999" data-y="4.3265" x="255.83160391343014" y="246.11044361570984" width="27.26293944169646" height="3.1457237817342047" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="J3" data-x="-4.552999999999999" data-y="5.721500000000001" x="254.78302931951873" y="221.11941579415475" width="6.291447563468381" height="4.369060807964189" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="09452812800" data-x="-2.705" data-y="-0.3200000000000002" x="278.69053006069873" y="327.31380779253203" width="23.068641066050816" height="3.1457237817342047" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="J4" data-x="-3.245" data-y="2.825" x="277.6419554667873" y="271.73935431522773" width="6.2914475634684095" height="4.3690608079642175" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="09452812800" data-x="10.933" data-y="-0.3200000000000002" x="517.0315352567604" y="327.31380779253203" width="23.06864106605076" height="3.1457237817342047" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="J5" data-x="10.393" data-y="2.825" x="515.982960662849" y="271.73935431522773" width="6.2914475634684095" height="4.3690608079642175" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="1751248" data-x="10.677999999999999" data-y="-2.7499999999999996" x="516.7693916082826" y="369.7810788459438" width="14.680044314759584" height="3.1457237817342047" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="J6" data-x="10.378" data-y="-1.9049999999999998" x="515.7208170143713" y="354.40198480190986" width="6.291447563468296" height="4.3690608079642175" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="1751248" data-x="10.677999999999999" data-y="-3.7215" x="516.7693916082826" y="386.7592491456926" width="14.680044314759584" height="3.1457237817342047" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="J7" data-x="10.378" data-y="-2.8765" x="515.7208170143713" y="371.3801551016586" width="6.291447563468296" height="4.3690608079642175" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="1751248" data-x="10.677999999999999" data-y="-4.6785" x="516.7693916082826" y="403.4840139185794" width="14.680044314759584" height="3.1457237817342047" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="J8" data-x="10.378" data-y="-3.8335" x="515.7208170143713" y="388.10491987454554" width="6.291447563468296" height="4.369060807964161" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="1751248" data-x="10.677999999999999" data-y="-5.6499999999999995" x="516.7693916082826" y="420.4621842183282" width="14.680044314759584" height="3.1457237817342047" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="J9" data-x="10.378" data-y="-4.805" x="515.7208170143713" y="405.0830901742943" width="6.291447563468296" height="4.3690608079642175" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="J10" data-x="-9.562" data-y="-5.4735" x="166.19595237723718" y="416.76595877479053" width="8.388596751291203" height="4.369060807964161" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="SBH11-PBPC-D07-ST-BK" data-x="-10.117999999999999" data-y="-8.281500000000001" x="139.70196763774243" y="466.45091828295915" width="41.942983756456044" height="3.1457237817342047" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="J11" data-x="-11.138" data-y="-6.4365000000000006" x="138.65339304383096" y="433.5955810070685" width="8.388596751291232" height="4.369060807964161" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="U1_T1_Data_Top_Level" data-x="2.5069999999999997" data-y="8.428" x="359.2909638460218" y="173.8199634871346" width="44.04013294427887" height="4.369060807964161" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="T1_Data_Top_Level.SchDoc" data-x="2.747" data-y="0.6430000000000001" x="360.3395384399332" y="310.484185560254" width="50.331580507747276" height="3.1457237817342047" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="U1_T1_Power_Top_Level" data-x="2.567" data-y="0.11550000000000016" x="359.2909638460218" y="319.0912353519434" width="46.137282132101745" height="4.3690608079642175" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="T1_Power_Top_Level.SchDoc" data-x="2.8070000000000004" data-y="-6.8965000000000005" x="360.3395384399332" y="442.2463214068376" width="52.4287296955701" height="3.1457237817342047" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="netId: NET_RST
1
+ <svg width="640" height="640" viewBox="0 0 640 640" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%" fill="white"/><g><polyline data-points="-0.498,-4.0485 -0.298,-4.0485 -0.298,-4.4485 -0.498,-4.4485" data-type="line" data-label="" points="328.79491940643186,394.0468425733768 332.2901680528032,394.0468425733768 332.2901680528032,401.0373398661195 328.79491940643186,401.0373398661195" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="9.857999999999999,-3.3915 9.097999999999999,-3.3915 9.097999999999999,-2.42 9.857999999999999,-2.42" data-type="line" data-label="" points="509.7788943155398,382.56495077004695 496.49694945932873,382.56495077004695 496.49694945932873,365.58678047029815 509.7788943155398,365.58678047029815" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="9.857999999999999,-4.3485 9.097999999999999,-4.3485 9.097999999999999,-3.3915 9.857999999999999,-3.3915" data-type="line" data-label="" points="509.7788943155398,399.2897155429338 496.49694945932873,399.2897155429338 496.49694945932873,382.56495077004695 509.7788943155398,382.56495077004695" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="9.857999999999999,-5.319999999999999 9.097999999999999,-5.319999999999999 9.097999999999999,-4.3485 9.857999999999999,-4.3485" data-type="line" data-label="" points="509.7788943155398,416.2678858426826 496.49694945932873,416.2678858426826 496.49694945932873,399.2897155429338 509.7788943155398,399.2897155429338" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-12.7,7.608499999999995 -12.899999999999999,7.608499999999995 -12.899999999999999,7.808499999999995 -12.7,7.808499999999995" data-type="line" data-label="" points="115.54979949131643,190.32627521962334 112.05455084494511,190.32627521962334 112.05455084494511,186.83102657325202 115.54979949131643,186.83102657325202" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-12.7,4.208499999999994 -12.899999999999999,4.208499999999994 -12.899999999999999,4.408499999999994 -12.7,4.408499999999994" data-type="line" data-label="" points="115.54979949131643,249.74550220793617 112.05455084494511,249.74550220793617 112.05455084494511,246.25025356156482 115.54979949131643,246.25025356156482" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-12.7,4.0084999999999935 -12.899999999999999,4.0084999999999935 -12.899999999999999,4.208499999999994 -12.7,4.208499999999994" data-type="line" data-label="" points="115.54979949131643,253.2407508543075 112.05455084494511,253.2407508543075 112.05455084494511,249.74550220793617 115.54979949131643,249.74550220793617" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-12.7,0.6084999999999905 -12.899999999999999,0.6084999999999905 -12.899999999999999,0.8084999999999907 -12.7,0.8084999999999907" data-type="line" data-label="" points="115.54979949131643,312.6599778426203 112.05455084494511,312.6599778426203 112.05455084494511,309.16472919624897 115.54979949131643,309.16472919624897" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-12.7,-2.591499999999998 -12.899999999999999,-2.591499999999998 -12.899999999999999,-2.391499999999999 -12.7,-2.391499999999999" data-type="line" data-label="" points="115.54979949131643,368.58395618456154 112.05455084494511,368.58395618456154 112.05455084494511,365.08870753819025 115.54979949131643,365.08870753819025" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-12.7,-2.7914999999999974 -12.899999999999999,-2.7914999999999974 -12.899999999999999,-2.591499999999998 -12.7,-2.591499999999998" data-type="line" data-label="" points="115.54979949131643,372.0792048309329 112.05455084494511,372.0792048309329 112.05455084494511,368.58395618456154 115.54979949131643,368.58395618456154" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-12.7,-2.9914999999999967 -12.899999999999999,-2.9914999999999967 -12.899999999999999,-2.7914999999999974 -12.7,-2.7914999999999974" data-type="line" data-label="" points="115.54979949131643,375.57445347730425 112.05455084494511,375.57445347730425 112.05455084494511,372.0792048309329 115.54979949131643,372.0792048309329" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-12.7,-3.191499999999996 -12.899999999999999,-3.191499999999996 -12.899999999999999,-2.9914999999999967 -12.7,-2.9914999999999967" data-type="line" data-label="" points="115.54979949131643,379.06970212367554 112.05455084494511,379.06970212367554 112.05455084494511,375.57445347730425 115.54979949131643,375.57445347730425" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-12.7,-3.3914999999999953 -12.899999999999999,-3.3914999999999953 -12.899999999999999,-3.191499999999996 -12.7,-3.191499999999996" data-type="line" data-label="" points="115.54979949131643,382.5649507700469 112.05455084494511,382.5649507700469 112.05455084494511,379.06970212367554 115.54979949131643,379.06970212367554" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-9.7,-2.5914999999999955 -9.5,-2.5914999999999955 -9.5,-2.3914999999999953 -9.7,-2.3914999999999953" data-type="line" data-label="" points="167.97852918688653,368.58395618456154 171.47377783325786,368.58395618456154 171.47377783325786,365.0887075381902 167.97852918688653,365.0887075381902" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-9.7,-2.7914999999999957 -9.5,-2.7914999999999957 -9.5,-2.5914999999999955 -9.7,-2.5914999999999955" data-type="line" data-label="" points="167.97852918688653,372.07920483093284 171.47377783325786,372.07920483093284 171.47377783325786,368.58395618456154 167.97852918688653,368.58395618456154" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-9.7,-2.991499999999995 -9.5,-2.991499999999995 -9.5,-2.7914999999999957 -9.7,-2.7914999999999957" data-type="line" data-label="" points="167.97852918688653,375.5744534773042 171.47377783325786,375.5744534773042 171.47377783325786,372.07920483093284 167.97852918688653,372.07920483093284" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-9.7,-3.191499999999995 -8.440000000000001,-3.191499999999995 -8.440000000000001,-2.991499999999995 -9.7,-2.991499999999995" data-type="line" data-label="" points="167.97852918688653,379.06970212367554 189.99859565902594,379.06970212367554 189.99859565902594,375.5744534773042 167.97852918688653,375.5744534773042" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-9.7,-3.3914999999999953 -8.440000000000001,-3.3914999999999953 -8.440000000000001,-3.191499999999995 -9.7,-3.191499999999995" data-type="line" data-label="" points="167.97852918688653,382.5649507700469 189.99859565902594,382.5649507700469 189.99859565902594,379.06970212367554 167.97852918688653,379.06970212367554" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-2.215,0.9599999999999997 -2.0149999999999997,0.9599999999999997 -2.0149999999999997,1.3599999999999997 -2.215,1.3599999999999997" data-type="line" data-label="" points="298.7882097773339,306.51707834662255 302.28345842370527,306.51707834662255 302.28345842370527,299.52658105387985 298.7882097773339,299.52658105387985" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-2.215,0.5599999999999997 -2.0149999999999997,0.5599999999999997 -2.0149999999999997,0.9599999999999997 -2.215,0.9599999999999997" data-type="line" data-label="" points="298.7882097773339,313.5075756393652 302.28345842370527,313.5075756393652 302.28345842370527,306.51707834662255 298.7882097773339,306.51707834662255" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-2.215,0.1599999999999997 -1.305,0.1599999999999997 -1.305,0.5599999999999997 -2.215,0.5599999999999997" data-type="line" data-label="" points="298.7882097773339,320.4980729321079 314.6915911183235,320.4980729321079 314.6915911183235,313.5075756393652 298.7882097773339,313.5075756393652" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="9.873,0.9599999999999997 9.673,0.9599999999999997 9.673,1.3599999999999997 9.873,1.3599999999999997" data-type="line" data-label="" points="510.0410379640177,306.51707834662255 506.5457893176464,306.51707834662255 506.5457893176464,299.52658105387985 510.0410379640177,299.52658105387985" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="9.873,0.5599999999999998 9.673,0.5599999999999998 9.673,0.9599999999999997 9.873,0.9599999999999997" data-type="line" data-label="" points="510.0410379640177,313.5075756393652 506.5457893176464,313.5075756393652 506.5457893176464,306.51707834662255 510.0410379640177,306.51707834662255" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="9.873,0.15999999999999992 9.673,0.15999999999999992 9.673,0.5599999999999998 9.873,0.5599999999999998" data-type="line" data-label="" points="510.0410379640177,320.4980729321079 506.5457893176464,320.4980729321079 506.5457893176464,313.5075756393652 510.0410379640177,313.5075756393652" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="14.177999999999999,-7.9315 14.161249999999999,-7.9315 14.161249999999999,-7.7315 13.222000000000001,-7.7315 13.222000000000001,-7.9315 13.422,-7.9315" data-type="line" data-label="" points="585.2762650771608,461.90709504267636 584.9835380030272,461.90709504267636 584.9835380030272,458.411846396305 568.5689765475058,458.411846396305 568.5689765475058,461.90709504267636 572.0642251938771,461.90709504267636" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="6.747,-3.083 8.302499999999998,-3.083 8.302499999999998,-3.1915 9.857999999999999,-3.1915" data-type="line" data-label="" points="455.41030162123366,377.17352973301917 482.5945979683867,377.17352973301917 482.5945979683867,379.0697021236756 509.7788943155398,379.0697021236756" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="6.747,-4.083 8.302499999999998,-4.083 8.302499999999998,-4.1485 9.857999999999999,-4.1485" data-type="line" data-label="" points="455.41030162123366,394.64977296487587 482.5945979683867,394.64977296487587 482.5945979683867,395.7944668965625 509.7788943155398,395.7944668965625" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="6.747,-5.083000000000001 8.302499999999998,-5.083000000000001 8.302499999999998,-5.12 9.857999999999999,-5.12" data-type="line" data-label="" points="455.41030162123366,412.12601619673256 482.5945979683867,412.12601619673256 482.5945979683867,412.7726371963113 509.7788943155398,412.7726371963113" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="6.747,-2.083 8.302499999999998,-2.083 8.302499999999998,-2.2199999999999998 9.857999999999999,-2.2199999999999998" data-type="line" data-label="" points="455.41030162123366,359.69728650116247 482.5945979683867,359.69728650116247 482.5945979683867,362.09153182392686 509.7788943155398,362.09153182392686" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-5.0729999999999995,5.0315 -5.273,5.0315 -5.273,6.046500000000001 -3.3229999999999986,6.046500000000001 -3.3229999999999986,5.0315 -3.522999999999999,5.0315" data-type="line" data-label="" points="248.84110662068747,235.36255402811798 245.34585797431612,235.36255402811798 245.34585797431612,217.6241671477834 279.4245322764367,217.6241671477834 279.4245322764367,235.36255402811798 275.92928363006536,235.36255402811798" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-13.258000000000001,-6.4914999999999985 -13.258000000000001,-6.691499999999998 -13.908,-6.691499999999998 -13.908,-7.9315 -13.258000000000001,-7.9315 -13.258000000000001,-7.7315000000000005" data-type="line" data-label="" points="105.79805576794035,436.7413047888027 105.79805576794035,440.236553435174 94.43849766723352,440.236553435174 94.43849766723352,461.90709504267636 105.79805576794035,461.90709504267636 105.79805576794035,458.411846396305" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-12.7,8.408499999999995 -12.7,8.5085 -14.191999999999997,8.5085" data-type="line" data-label="" points="115.54979949131643,176.345280634138 115.54979949131643,174.59765631095223 89.47524458938628,174.59765631095223" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-12.7,8.208499999999994 -13.445999999999998,8.208499999999994 -13.445999999999998,-3.9115000000000006 -6.9399999999999995,-3.9115000000000006 -6.9399999999999995,8.408499999999995 -12.7,8.408499999999995" data-type="line" data-label="" points="115.54979949131643,179.84052928050934 102.51252204035134,179.84052928050934 102.51252204035134,391.6525972506124 216.21296050681102,391.6525972506124 216.21296050681102,176.345280634138 115.54979949131643,176.345280634138" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-12.7,7.808499999999995 -12.899999999999999,7.808499999999995 -12.899999999999999,8.208499999999994 -12.7,8.208499999999994" data-type="line" data-label="" points="115.54979949131643,186.83102657325202 112.05455084494511,186.83102657325202 112.05455084494511,179.84052928050934 115.54979949131643,179.84052928050934" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-9.7,7.408499999999998 -7.079000000000001,7.408499999999998 -7.079000000000001,8.008499999999996 -9.7,8.008499999999996" data-type="line" data-label="" points="167.97852918688653,193.82152386599464 213.78376269758292,193.82152386599464 213.78376269758292,183.33577792688064 167.97852918688653,183.33577792688064" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-9.7,6.008500000000003 -7.079000000000001,6.008500000000003 -7.079000000000001,7.408499999999998 -9.7,7.408499999999998" data-type="line" data-label="" points="167.97852918688653,218.28826439059392 213.78376269758292,218.28826439059392 213.78376269758292,193.82152386599464 167.97852918688653,193.82152386599464" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-12.7,2.6084999999999923 -14.360999999999997,2.6084999999999923 -14.360999999999997,4.0084999999999935 -12.7,4.0084999999999935" data-type="line" data-label="" points="115.54979949131643,277.70749137890687 86.52175948320249,277.70749137890687 86.52175948320249,253.2407508543075 115.54979949131643,253.2407508543075" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-12.7,2.208499999999992 -13.640999999999998,2.208499999999992 -13.640999999999998,2.6084999999999923 -12.7,2.6084999999999923" data-type="line" data-label="" points="115.54979949131643,284.69798867164957 99.1046546101393,284.69798867164957 99.1046546101393,277.70749137890687 115.54979949131643,277.70749137890687" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-12.7,0.8084999999999907 -13.640999999999998,0.8084999999999908 -13.640999999999998,2.208499999999992 -12.7,2.208499999999992" data-type="line" data-label="" points="115.54979949131643,309.16472919624897 99.1046546101393,309.16472919624897 99.1046546101393,284.69798867164957 115.54979949131643,284.69798867164957" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-12.7,-0.7915000000000045 -13.640999999999998,-0.7915000000000052 -13.640999999999998,0.6084999999999912 -12.7,0.6084999999999905" data-type="line" data-label="" points="115.54979949131643,337.1267183672196 99.1046546101393,337.1267183672196 99.1046546101393,312.6599778426203 115.54979949131643,312.6599778426203" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-12.7,-2.391499999999999 -13.761,-2.3914999999999997 -13.761,-0.7915000000000038 -12.7,-0.7915000000000045" data-type="line" data-label="" points="115.54979949131643,365.08870753819025 97.00750542231648,365.08870753819025 97.00750542231648,337.1267183672196 115.54979949131643,337.1267183672196" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-9.7,-1.7914999999999957 -7.199000000000002,-1.7914999999999957 -7.199000000000002,-1.1914999999999951 -9.7,-1.1914999999999956" data-type="line" data-label="" points="167.97852918688653,354.60296159907614 211.6866135097601,354.60296159907614 211.6866135097601,344.11721565996214 167.97852918688653,344.11721565996214" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-9.7,-2.3914999999999953 -7.079000000000001,-2.3914999999999953 -7.079000000000001,-1.7914999999999948 -9.7,-1.7914999999999957" data-type="line" data-label="" points="167.97852918688653,365.0887075381902 213.78376269758292,365.0887075381902 213.78376269758292,354.60296159907614 167.97852918688653,354.60296159907614" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="0.907,-1.2829999999999995 0.7070000000000001,-1.2829999999999995 0.7070000000000001,-1.0829999999999995 -2.554,-1.0829999999999995 -2.554,-0.6829999999999996 0.7070000000000001,-0.6829999999999996 0.7070000000000001,1.842999999999999 0.907,1.842999999999999" data-type="line" data-label="" points="353.3490411471905,345.7162919156771 349.85379250081917,345.7162919156771 349.85379250081917,342.22104326930577 292.8637633217345,342.22104326930577 292.8637633217345,335.23054597656306 349.85379250081917,335.23054597656306 349.85379250081917,291.0855555728931 353.3490411471905,291.0855555728931" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="6.747,-1.2830000000000004 8.309999999999999,-1.2830000000000004 8.309999999999999,-0.2829999999999993 8.528,-0.2829999999999993 8.528,0.11700000000000071 8.309999999999999,0.11700000000000071 8.309999999999999,2.3599999999999994 9.873,2.3599999999999994" data-type="line" data-label="" points="455.41030162123366,345.7162919156771 482.72566979262564,345.7162919156771 482.72566979262564,328.2400486838204 486.5354908171704,328.2400486838204 486.5354908171704,321.2495513910777 482.72566979262564,321.2495513910777 482.72566979262564,282.05033782202315 510.0410379640177,282.05033782202315" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="6.747,-0.883 6.947,-0.883 6.947,3.343 6.747,3.343" data-type="line" data-label="" points="455.41030162123366,338.7257946229344 458.905550267605,338.7257946229344 458.905550267605,264.871190725108 455.41030162123366,264.871190725108" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-6.342,6.491499999999999 -6.342,6.6915 -1.714,6.6915 -1.714,2.243 0.907,2.2430000000000003" data-type="line" data-label="" points="226.6637539594613,209.8472389096072 226.6637539594613,206.35199026323585 307.54380763649414,206.35199026323585 307.54380763649414,284.0950582801504 353.3490411471905,284.0950582801504" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-14.191999999999997,8.108500000000001 -15.342999999999996,8.108500000000001" data-type="line" data-label="" points="89.47524458938628,181.5881536036949 69.36008862951923,181.5881536036949" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-5.273,5.0315 -5.8629999999999995,5.0315 -5.8629999999999995,5.0305" data-type="line" data-label="" points="245.34585797431612,235.36255402811798 235.0348744675207,235.36255402811798 235.0348744675207,235.38003027134982" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="9.873,0.15999999999999992 9.082999999999998,0.15999999999999992" data-type="line" data-label="" points="510.0410379640177,320.4980729321079 496.23480581085084,320.4980729321079" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="6.747,3.7430000000000003 10.887999999999995,3.7430000000000003 10.887999999999995,3.6920000000000006" data-type="line" data-label="" points="455.41030162123366,257.8806934323653 527.7794248443522,257.8806934323653 527.7794248443522,258.77198183719" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-13.258000000000001,-5.8915 -13.258000000000001,-5.7905 -13.709,-5.7905" data-type="line" data-label="" points="105.79805576794035,426.25555884968867 105.79805576794035,424.4904582832712 97.916270070373,424.4904582832712" fill="none" stroke="purple" stroke-width="1px"/></g><g><rect data-type="rect" data-label="schematic_component_2" data-x="-13.1355" data-y="-7.351500000000001" x="97.93374631360486" y="445.129901540094" width="20.010298500475898" height="13.281944856211055" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="schematic_component_3" data-x="-1.4979999999999998" data-y="-4.2485" x="293.84243294271846" y="390.55159392700546" width="34.9524864637134" height="13.980994585485405" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="schematic_component_4" data-x="-14.741999999999997" data-y="8.3085" x="70.25137703434386" y="174.59765631095223" width="19.223867555042403" height="6.990497292742674" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="schematic_component_5" data-x="-11.2" data-y="2.5084999999999997" x="115.54979949131643" y="176.3452806341379" width="52.4287296955701" height="206.21967013590904" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="schematic_component_6" data-x="-4.297999999999999" data-y="5.0315" x="248.84110662068747" y="225.3137141698004" width="27.088177009377887" height="20.097679716635213" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="schematic_component_7" data-x="-2.9899999999999998" data-y="1.2599999999999998" x="271.70003276795603" y="275.9336526908733" width="27.088177009377887" height="50.68110537238442" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="schematic_component_8" data-x="10.648" data-y="1.2599999999999998" x="510.04103796401773" y="275.9336526908733" width="27.088177009377944" height="50.68110537238442" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="schematic_component_9" data-x="10.457999999999998" data-y="-2.32" x="509.77889431553984" y="358.5962831775555" width="20.971491878227994" height="10.485745939113997" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="schematic_component_10" data-x="10.457999999999998" data-y="-3.2915" x="509.77889431553984" y="375.57445347730425" width="20.971491878227994" height="10.485745939113997" fill="hsl(320, 100%, 50%, 0.8)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="schematic_component_11" data-x="10.457999999999998" data-y="-4.2485" x="509.77889431553984" y="392.2992182501912" width="20.971491878227994" height="10.485745939113997" fill="hsl(320, 100%, 50%, 0.8)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="schematic_component_12" data-x="10.457999999999998" data-y="-5.22" x="509.77889431553984" y="409.27738854993993" width="20.971491878227994" height="10.485745939113997" fill="hsl(320, 100%, 50%, 0.8)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="schematic_component_13" data-x="-9.142" data-y="-5.988499999999999" x="160.25402967840586" y="420.96025715043606" width="34.9524864637134" height="13.980994585485348" fill="hsl(320, 100%, 50%, 0.8)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="schematic_component_14" data-x="-11.017999999999999" data-y="-7.351500000000001" x="132.71147034499973" y="437.78987938271416" width="24.466740524599345" height="27.961989170970696" fill="hsl(320, 100%, 50%, 0.8)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="schematic_component_15" data-x="-6.127" data-y="6.1915" x="218.7994445051258" y="209.8472389096072" width="23.243403498369418" height="10.485745939114025" fill="hsl(320, 100%, 50%, 0.8)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="schematic_component_16" data-x="-13.043" data-y="-6.1915" x="97.93374631360491" y="426.25555884968867" width="23.24340349836936" height="10.485745939114054" fill="hsl(320, 100%, 50%, 0.8)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="schematic_component_17" data-x="12.29925" data-y="-7.9315" x="546.1294802378018" y="460.15947071949074" width="12.626585735016533" height="3.4952486463712944" fill="hsl(320, 100%, 50%, 0.8)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="schematic_component_18" data-x="13.783249999999999" data-y="-7.9315" x="572.0642251938771" y="460.15947071949074" width="12.626585735016533" height="3.4952486463712944" fill="hsl(320, 100%, 50%, 0.8)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="schematic_component_19" data-x="11.60325" data-y="-7.9315" x="532.9174403545181" y="460.15947071949074" width="14.723734922839185" height="3.4952486463712944" fill="hsl(320, 100%, 50%, 0.8)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="schematic_component_20" data-x="14.599249999999998" data-y="-7.9315" x="585.2762650771608" y="460.15947071949074" width="14.723734922839185" height="3.4952486463712944" fill="hsl(320, 100%, 50%, 0.8)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="schematic_component_21" data-x="3.827" data-y="4.543" x="353.3490411471905" y="178.0142618627802" width="102.06126047404314" height="131.77087396819954" fill="hsl(320, 100%, 50%, 0.8)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="schematic_component_22" data-x="3.827" data-y="-3.383" x="353.3490411471905" y="323.28553372758904" width="102.06126047404314" height="118.2617379499743" fill="hsl(320, 100%, 50%, 0.8)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="I2C" data-x="-1.918" data-y="-3.7335000000000003" x="299.7843556415497" y="386.35729555135987" width="8.388596751291232" height="4.369060807964161" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="J1" data-x="-14.771999999999998" data-y="8.6235" x="76.19329973317512" y="170.40335793530664" width="6.291447563468438" height="4.369060807964189" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="SEAM-20-03.0-S-06-2-A-K-TR" data-x="-10.739999999999998" data-y="-3.5215000000000005" x="122.54029678405914" y="383.26400049932124" width="54.52587888339286" height="3.1457237817342047" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="J2" data-x="-12.18" data-y="8.5235" x="121.4917221901477" y="172.1509822584923" width="6.2914475634684095" height="4.369060807964161" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="GBC03DABN-M30" data-x="-3.892999999999999" data-y="4.3265" x="255.83160391343014" y="246.11044361570984" width="27.26293944169646" height="3.1457237817342047" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="J3" data-x="-4.552999999999999" data-y="5.721500000000001" x="254.78302931951873" y="221.11941579415475" width="6.291447563468381" height="4.369060807964189" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="09452812800" data-x="-2.705" data-y="-0.3200000000000002" x="278.69053006069873" y="327.31380779253203" width="23.068641066050816" height="3.1457237817342047" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="J4" data-x="-3.245" data-y="2.825" x="277.6419554667873" y="271.73935431522773" width="6.2914475634684095" height="4.3690608079642175" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="09452812800" data-x="10.933" data-y="-0.3200000000000002" x="517.0315352567604" y="327.31380779253203" width="23.06864106605076" height="3.1457237817342047" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="J5" data-x="10.393" data-y="2.825" x="515.982960662849" y="271.73935431522773" width="6.2914475634684095" height="4.3690608079642175" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="1751248" data-x="10.677999999999999" data-y="-2.7499999999999996" x="516.7693916082826" y="369.7810788459438" width="14.680044314759584" height="3.1457237817342047" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="J6" data-x="10.378" data-y="-1.9049999999999998" x="515.7208170143713" y="354.40198480190986" width="6.291447563468296" height="4.3690608079642175" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="1751248" data-x="10.677999999999999" data-y="-3.7215" x="516.7693916082826" y="386.7592491456926" width="14.680044314759584" height="3.1457237817342047" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="J7" data-x="10.378" data-y="-2.8765" x="515.7208170143713" y="371.3801551016586" width="6.291447563468296" height="4.3690608079642175" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="1751248" data-x="10.677999999999999" data-y="-4.6785" x="516.7693916082826" y="403.4840139185794" width="14.680044314759584" height="3.1457237817342047" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="J8" data-x="10.378" data-y="-3.8335" x="515.7208170143713" y="388.10491987454554" width="6.291447563468296" height="4.369060807964161" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="1751248" data-x="10.677999999999999" data-y="-5.6499999999999995" x="516.7693916082826" y="420.4621842183282" width="14.680044314759584" height="3.1457237817342047" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="J9" data-x="10.378" data-y="-4.805" x="515.7208170143713" y="405.0830901742943" width="6.291447563468296" height="4.3690608079642175" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="J10" data-x="-9.562" data-y="-5.4735" x="166.19595237723718" y="416.76595877479053" width="8.388596751291203" height="4.369060807964161" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="SBH11-PBPC-D07-ST-BK" data-x="-10.117999999999999" data-y="-8.281500000000001" x="139.70196763774243" y="466.45091828295915" width="41.942983756456044" height="3.1457237817342047" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="J11" data-x="-11.138" data-y="-6.4365000000000006" x="138.65339304383096" y="433.5955810070685" width="8.388596751291232" height="4.369060807964161" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="U1_T1_Data_Top_Level" data-x="2.5069999999999997" data-y="8.428" x="359.2909638460218" y="173.8199634871346" width="44.04013294427887" height="4.369060807964161" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="T1_Data_Top_Level.SchDoc" data-x="2.747" data-y="0.6430000000000001" x="360.3395384399332" y="310.484185560254" width="50.331580507747276" height="3.1457237817342047" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="U1_T1_Power_Top_Level" data-x="2.567" data-y="0.11550000000000016" x="359.2909638460218" y="319.0912353519434" width="46.137282132101745" height="4.3690608079642175" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="T1_Power_Top_Level.SchDoc" data-x="2.8070000000000004" data-y="-6.8965000000000005" x="360.3395384399332" y="442.2463214068376" width="52.4287296955701" height="3.1457237817342047" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="netId: NET_RST
2
2
  globalConnNetId: connectivity_net9" data-x="-14.388" data-y="-6.691499999999998" x="77.6613041646511" y="438.48892911198834" width="16.777193502582435" height="3.4952486463713512" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="netId: NET_RST
3
3
  globalConnNetId: connectivity_net9" data-x="0.42600000000000005" data-y="-4.083" x="336.5543714013762" y="392.9021486416902" width="16.777193502582463" height="3.4952486463713512" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="netId: NET_GND
4
4
  globalConnNetId: connectivity_net10" data-x="-13.258000000000001" data-y="-6.4905" x="104.0504314447547" y="428.3352317942797" width="3.495248646371323" height="16.777193502582406" fill="hsl(80, 100%, 50%, 0.35)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="netId: NET_GND
@@ -10,8 +10,7 @@ globalConnNetId: connectivity_net10" data-x="7.228000000000001" data-y="-6.083"
10
10
  globalConnNetId: connectivity_net11" data-x="-16.182999999999996" data-y="8.108500000000001" x="39.99999999999997" y="179.84052928050926" width="29.360088629519225" height="3.495248646371323" fill="hsl(80, 100%, 50%, 0.35)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="netId: NET_Local_3V3
11
11
  globalConnNetId: connectivity_net11" data-x="7.588" data-y="-0.0829999999999993" x="455.4277778644655" y="322.9971757142634" width="29.360088629519282" height="3.4952486463713512" fill="hsl(80, 100%, 50%, 0.35)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="netId: NET_PHY_VDD
12
12
  globalConnNetId: connectivity_net12" data-x="-13.470999999999997" data-y="8.3085" x="89.49272083261813" y="176.3452806341379" width="25.165790253873666" height="3.495248646371323" fill="hsl(80, 100%, 50%, 0.35)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="netId: NET_PHY_VDD
13
- globalConnNetId: connectivity_net12" data-x="-7.1129999999999995" data-y="8.5425" x="200.606675300763" y="172.25583971788342" width="25.165790253873638" height="3.495248646371323" fill="hsl(80, 100%, 50%, 0.35)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="netId: NET_PHY_VDD
14
- globalConnNetId: connectivity_net12" data-x="0.18600000000000005" data-y="2.2429999999999994" x="328.16577465008504" y="282.3474339569647" width="25.165790253873638" height="3.4952486463713512" fill="hsl(80, 100%, 50%, 0.35)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="netId: NET_External_3V3
13
+ globalConnNetId: connectivity_net12" data-x="-2.434" data-y="6.5195" x="282.37801738262044" y="207.61027977592954" width="25.165790253873695" height="3.4952486463713512" fill="hsl(80, 100%, 50%, 0.35)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="netId: NET_External_3V3
15
14
  globalConnNetId: connectivity_net13" data-x="-14.465999999999998" data-y="-3.9115000000000006" x="66.8609858473637" y="389.90497292742674" width="35.65153619298766" height="3.4952486463713512" fill="hsl(80, 100%, 50%, 0.35)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="netId: NET_AGND
16
15
  globalConnNetId: connectivity_net14" data-x="-7.683846153846154" data-y="7.618599999999998" x="193.7761528499119" y="186.47975408429164" width="18.87434269040523" height="7.3400221573798206" fill="#00000066" stroke="#000000" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="netId: NET_AGND
17
16
  globalConnNetId: connectivity_net14" data-x="-12.899999999999999" data-y="-3.6014999999999953" x="102.61737949974251" y="382.56495077004683" width="18.8743426904052" height="7.340022157379792" fill="#00000066" stroke="#000000" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="netId: NET_AGND
@@ -149,19 +148,10 @@ globalConnNetId: connectivity_net0" data-x="-0.5339999999999999" data-y="2.36" x
149
148
  globalConnNetId: connectivity_net1" data-x="-0.7739999999999999" data-y="-0.8829999999999996" x="294.6113876449201" y="336.97817029974874" width="58.72017725903851" height="3.4952486463713512" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="netId: .U1_T1_Data_Top_Level &gt; .pin1 to .J4 &gt; .pin2
150
149
  globalConnNetId: connectivity_net1" data-x="-0.5339999999999999" data-y="1.9599999999999997" x="298.80568602056576" y="287.2932107915802" width="58.72017725903851" height="3.4952486463713512" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="netId: .U1_T1_Data_Top_Level &gt; .pin1 to .J4 &gt; .pin2
151
150
  globalConnNetId: connectivity_net1" data-x="-0.7739999999999999" data-y="1.642999999999999" x="294.6113876449201" y="292.83317989607883" width="58.72017725903851" height="3.4952486463712944" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="netId: .U1_T1_Power_Top_Level &gt; .pin6 to .J5 &gt; .pin1
152
- globalConnNetId: connectivity_net2" data-x="8.627" data-y="-1.2830000000000004" x="458.90555026760507" y="343.96866759249144" width="58.72017725903845" height="3.4952486463713512" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="netId: .U1_T1_Data_Top_Level &gt; .pin4 to .J5 &gt; .pin1
153
- globalConnNetId: connectivity_net2" data-x="8.192" data-y="2.3599999999999994" x="451.3033844617473" y="280.3027134988375" width="58.72017725903851" height="3.4952486463713512" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="netId: .U1_T1_Power_Top_Level &gt; .pin7 to .J5 &gt; .pin2
154
- globalConnNetId: connectivity_net3" data-x="8.427999999999999" data-y="-0.883" x="455.4277778644655" y="336.97817029974874" width="58.720177259038564" height="3.4952486463713512" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="netId: .U1_T1_Data_Top_Level &gt; .pin2 to .J5 &gt; .pin2
155
- globalConnNetId: connectivity_net3" data-x="8.192" data-y="1.9599999999999995" x="451.3033844617473" y="287.2932107915802" width="58.72017725903851" height="3.4952486463713512" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="netId: .U1_T1_Data_Top_Level &gt; .pin2 to .J5 &gt; .pin2
156
- globalConnNetId: connectivity_net3" data-x="8.427999999999999" data-y="3.343" x="455.4277778644655" y="263.12356640192235" width="58.720177259038564" height="3.4952486463713512" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="netId: .U1_T1_Power_Top_Level &gt; .pin13 to .J6 &gt; .pin1
157
- globalConnNetId: connectivity_net7" data-x="8.908" data-y="-2.083" x="455.4277778644655" y="357.9496621779768" width="75.49737076162091" height="3.4952486463713512" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="netId: .U1_T1_Power_Top_Level &gt; .pin13 to .J6 &gt; .pin1
158
- globalConnNetId: connectivity_net7" data-x="7.696999999999998" data-y="-2.2199999999999998" x="434.26404731068703" y="360.34390750074124" width="75.49737076162091" height="3.4952486463712944" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="netId: .U1_T1_Power_Top_Level &gt; .pin8 to .J7 &gt; .pin1
159
- globalConnNetId: connectivity_net4" data-x="8.668" data-y="-3.083" x="455.4277778644655" y="375.4259054098335" width="67.10877401032974" height="3.4952486463713512" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="netId: .U1_T1_Power_Top_Level &gt; .pin8 to .J7 &gt; .pin1
160
- globalConnNetId: connectivity_net4" data-x="7.9369999999999985" data-y="-3.1915" x="442.65264406197826" y="377.3220778004899" width="67.10877401032974" height="3.4952486463713512" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="netId: .U1_T1_Power_Top_Level &gt; .pin11 to .J8 &gt; .pin1
161
- globalConnNetId: connectivity_net5" data-x="8.847999999999999" data-y="-4.083" x="455.4277778644655" y="392.9021486416902" width="73.40022157379815" height="3.4952486463713512" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="netId: .U1_T1_Power_Top_Level &gt; .pin11 to .J8 &gt; .pin1
162
- globalConnNetId: connectivity_net5" data-x="7.756999999999999" data-y="-4.1485" x="436.36119649850986" y="394.0468425733768" width="73.40022157379815" height="3.4952486463713512" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="netId: .U1_T1_Power_Top_Level &gt; .pin12 to .J9 &gt; .pin1
163
- globalConnNetId: connectivity_net6" data-x="8.488" data-y="-5.083000000000001" x="455.4277778644655" y="410.3783918735469" width="60.81732644686133" height="3.4952486463713512" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="netId: .U1_T1_Power_Top_Level &gt; .pin12 to .J9 &gt; .pin1
164
- globalConnNetId: connectivity_net6" data-x="8.116999999999999" data-y="-5.12" x="448.9440916254467" y="411.02501287312566" width="60.81732644686133" height="3.4952486463712944" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="netId: NET_TEST
151
+ globalConnNetId: connectivity_net2" data-x="9.989999999999998" data-y="-1.2830000000000004" x="482.7256697926256" y="343.96866759249144" width="58.72017725903851" height="3.4952486463713512" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="netId: .U1_T1_Data_Top_Level &gt; .pin4 to .J5 &gt; .pin1
152
+ globalConnNetId: connectivity_net2" data-x="8.427999999999999" data-y="3.543" x="455.4277778644655" y="259.628317755551" width="58.720177259038564" height="3.4952486463713512" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="netId: .U1_T1_Power_Top_Level &gt; .pin7 to .J5 &gt; .pin2
153
+ globalConnNetId: connectivity_net3" data-x="8.627" data-y="3.343" x="458.90555026760507" y="263.12356640192235" width="58.72017725903845" height="3.4952486463713512" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="netId: .U1_T1_Data_Top_Level &gt; .pin2 to .J5 &gt; .pin2
154
+ globalConnNetId: connectivity_net3" data-x="8.192" data-y="1.9599999999999995" x="451.3033844617473" y="287.2932107915802" width="58.72017725903851" height="3.4952486463713512" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="netId: NET_TEST
165
155
  globalConnNetId: connectivity_net100" data-x="-12.258999999999999" data-y="-7.351500000000001" x="113.8196514113626" y="450.02324964501383" width="18.874342690405285" height="3.4952486463713512" fill="hsl(320, 100%, 50%, 0.35)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="netId: NET_TEST
166
156
  globalConnNetId: connectivity_net100" data-x="0.366" data-y="-4.4830000000000005" x="334.45722221355345" y="399.89264593443295" width="18.87434269040523" height="3.4952486463712944" fill="hsl(320, 100%, 50%, 0.35)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="netId: NET_MSP_3V3
167
157
  globalConnNetId: connectivity_net101" data-x="-14.429" data-y="-5.7905" x="72.75047981649936" y="422.74283396008553" width="25.165790253873638" height="3.4952486463713512" fill="hsl(320, 100%, 50%, 0.35)" stroke="black" stroke-width="0.057220535714285696"/></g><g><rect data-type="rect" data-label="netId: NET_MSP_3V3
@@ -419,8 +409,7 @@ orientation: x+" data-x="6.747" data-y="-6.083" cx="455.41030162123366" cy="429.
419
409
  orientation: x-" data-x="-15.342999999999996" data-y="8.108500000000001" cx="69.36008862951923" cy="181.5881536036949" r="3" fill="hsl(80, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
420
410
  orientation: x+" data-x="6.747" data-y="-0.0829999999999993" cx="455.41030162123366" cy="324.74480003744907" r="3" fill="hsl(80, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
421
411
  orientation: x+" data-x="-14.191999999999997" data-y="8.3085" cx="89.47524458938628" cy="178.09290495732355" r="3" fill="hsl(80, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
422
- orientation: x-" data-x="-6.393" data-y="8.5425" cx="225.77246555463663" cy="174.0034640410691" r="3" fill="hsl(80, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
423
- orientation: x-" data-x="0.907" data-y="2.2429999999999994" cx="353.3490411471905" cy="284.0950582801504" r="3" fill="hsl(80, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
412
+ orientation: x-" data-x="-1.714" data-y="6.5195" cx="307.54380763649414" cy="209.35790409911522" r="3" fill="hsl(80, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
424
413
  orientation: x-" data-x="-13.445999999999998" data-y="-3.9115000000000006" cx="102.51252204035134" cy="391.6525972506124" r="3" fill="hsl(80, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
425
414
  orientation: y+" data-x="-7.683846153846154" data-y="7.408499999999998" cx="203.21332419511452" cy="193.82152386599464" r="3" fill="hsl(80, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
426
415
  orientation: y-" data-x="-12.899999999999999" data-y="-3.3914999999999953" cx="112.05455084494511" cy="382.5649507700469" r="3" fill="hsl(80, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
@@ -558,19 +547,10 @@ orientation: x+" data-x="-2.215" data-y="2.36" cx="298.7882097773339" cy="282.05
558
547
  orientation: x-" data-x="0.907" data-y="-0.8829999999999996" cx="353.3490411471905" cy="338.7257946229344" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
559
548
  orientation: x+" data-x="-2.215" data-y="1.9599999999999997" cx="298.7882097773339" cy="289.04083511476585" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
560
549
  orientation: x-" data-x="0.907" data-y="1.642999999999999" cx="353.3490411471905" cy="294.58080421926445" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
561
- orientation: x+" data-x="6.947" data-y="-1.2830000000000004" cx="458.905550267605" cy="345.7162919156771" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
562
- orientation: x-" data-x="9.873" data-y="2.3599999999999994" cx="510.0410379640177" cy="282.05033782202315" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
563
- orientation: x+" data-x="6.747" data-y="-0.883" cx="455.41030162123366" cy="338.7257946229344" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
550
+ orientation: x+" data-x="8.309999999999999" data-y="-1.2830000000000004" cx="482.72566979262564" cy="345.7162919156771" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
551
+ orientation: x+" data-x="6.747" data-y="3.543" cx="455.41030162123366" cy="261.37594207873667" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
552
+ orientation: x+" data-x="6.947" data-y="3.343" cx="458.905550267605" cy="264.871190725108" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
564
553
  orientation: x-" data-x="9.873" data-y="1.9599999999999995" cx="510.0410379640177" cy="289.04083511476585" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
565
- orientation: x+" data-x="6.747" data-y="3.343" cx="455.41030162123366" cy="264.871190725108" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
566
- orientation: x+" data-x="6.747" data-y="-2.083" cx="455.41030162123366" cy="359.69728650116247" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
567
- orientation: x-" data-x="9.857999999999999" data-y="-2.2199999999999998" cx="509.7788943155398" cy="362.09153182392686" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
568
- orientation: x+" data-x="6.747" data-y="-3.083" cx="455.41030162123366" cy="377.17352973301917" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
569
- orientation: x-" data-x="9.857999999999999" data-y="-3.1915" cx="509.7788943155398" cy="379.0697021236756" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
570
- orientation: x+" data-x="6.747" data-y="-4.083" cx="455.41030162123366" cy="394.64977296487587" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
571
- orientation: x-" data-x="9.857999999999999" data-y="-4.1485" cx="509.7788943155398" cy="395.7944668965625" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
572
- orientation: x+" data-x="6.747" data-y="-5.083000000000001" cx="455.41030162123366" cy="412.12601619673256" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
573
- orientation: x-" data-x="9.857999999999999" data-y="-5.12" cx="509.7788943155398" cy="412.7726371963113" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
574
554
  orientation: x-" data-x="-11.717999999999998" data-y="-7.351500000000001" cx="132.71147034499973" cy="451.7708739681995" r="3" fill="hsl(320, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
575
555
  orientation: x-" data-x="0.907" data-y="-4.4830000000000005" cx="353.3490411471905" cy="401.64027025761857" r="3" fill="hsl(320, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
576
556
  orientation: x-" data-x="-13.709" data-y="-5.7905" cx="97.916270070373" cy="424.4904582832712" r="3" fill="hsl(320, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
@@ -1137,6 +1137,7 @@
1137
1137
  },
1138
1138
  "width": 5.84,
1139
1139
  "height": 7.540000000000001,
1140
+ "sectionId": "card_top_unboxed",
1140
1141
  "pins": [
1141
1142
  {
1142
1143
  "pinId": "schematic_port_0",
@@ -1363,6 +1364,7 @@
1363
1364
  },
1364
1365
  "width": 5.84,
1365
1366
  "height": 6.767000000000001,
1367
+ "sectionId": "card_top_unboxed",
1366
1368
  "pins": [
1367
1369
  {
1368
1370
  "pinId": "schematic_port_43",
@@ -42,5 +42,36 @@ test("repro TIDA-010076 page 02 net-label placement", () => {
42
42
  expect(j5AgndLabel.anchorPoint.y).toBeCloseTo(
43
43
  Math.min(...j5GroundPins.map((pin) => pin.y)),
44
44
  )
45
+
46
+ const powerConnectorPinPairs = [
47
+ ["schematic_port_50", "schematic_port_266"],
48
+ ["schematic_port_53", "schematic_port_268"],
49
+ ["schematic_port_54", "schematic_port_270"],
50
+ ["schematic_port_55", "schematic_port_264"],
51
+ ]
52
+ const output = solver.inlineNetLabelSolver!.getOutput()
53
+ const clusteredPowerNetIds = new Set(
54
+ inputProblem.directConnections
55
+ .filter((connection) =>
56
+ powerConnectorPinPairs.some((pair) =>
57
+ pair.every((pinId) => connection.pinIds.includes(pinId)),
58
+ ),
59
+ )
60
+ .map((connection) => connection.netId),
61
+ )
62
+
63
+ for (const pinPair of powerConnectorPinPairs) {
64
+ expect(
65
+ output.traces.some((trace) =>
66
+ pinPair.every((pinId) => trace.pinIds.includes(pinId)),
67
+ ),
68
+ ).toBe(true)
69
+ }
70
+ expect(
71
+ output.netLabelPlacements.filter((label) =>
72
+ clusteredPowerNetIds.has(label.netId),
73
+ ),
74
+ ).toEqual([])
75
+
45
76
  expect(solver).toMatchSolverSnapshot(import.meta.path)
46
77
  })
@@ -44,3 +44,83 @@ test("two-pin direct connections use Euclidean max distance", () => {
44
44
  expect(directConnectionSolver.mspConnectionPairs).toHaveLength(1)
45
45
  expect(netConnectionSolver.mspConnectionPairs).toHaveLength(0)
46
46
  })
47
+
48
+ test("routes a distant labeled connection when opposed fallback labels would overlap", () => {
49
+ const inputProblem = createInputProblem()
50
+ inputProblem.maxMspPairDistance = 1
51
+ inputProblem.chips[0]!.sectionId = "power-output"
52
+ inputProblem.chips[1]!.sectionId = "power-output"
53
+ inputProblem.chips[0]!.pins.push({
54
+ pinId: "U1.2",
55
+ x: 0,
56
+ y: -0.2,
57
+ _facingDirection: "x+",
58
+ })
59
+ inputProblem.chips[1]!.pins.push({
60
+ pinId: "U2.2",
61
+ x: 2,
62
+ y: 1.8,
63
+ _facingDirection: "x-",
64
+ })
65
+ inputProblem.chips[1]!.pins[0]!.y = 0.1
66
+ inputProblem.directConnections[0]!.netId = "LONG_POWER_NAME"
67
+ inputProblem.directConnections[0]!.netLabelWidth = 1.2
68
+
69
+ const solver = new MspConnectionPairSolver({ inputProblem })
70
+ solver.solve()
71
+
72
+ expect(solver.mspConnectionPairs).toHaveLength(1)
73
+ expect(solver.mspConnectionPairs[0]?.suppressNetLabel).toBe(true)
74
+ })
75
+
76
+ test("keeps distant labeled fallback when opposed labels have room", () => {
77
+ const inputProblem = createInputProblem()
78
+ inputProblem.maxMspPairDistance = 1
79
+ inputProblem.chips[0]!.sectionId = "power-output"
80
+ inputProblem.chips[1]!.sectionId = "power-output"
81
+ inputProblem.chips[0]!.pins.push({
82
+ pinId: "U1.2",
83
+ x: 0,
84
+ y: -0.2,
85
+ _facingDirection: "x+",
86
+ })
87
+ inputProblem.chips[1]!.pins.push({
88
+ pinId: "U2.2",
89
+ x: 2,
90
+ y: 1.8,
91
+ _facingDirection: "x-",
92
+ })
93
+ inputProblem.chips[1]!.pins[0]!.y = 0.1
94
+ inputProblem.directConnections[0]!.netId = "SIG"
95
+ inputProblem.directConnections[0]!.netLabelWidth = 0.6
96
+
97
+ const solver = new MspConnectionPairSolver({ inputProblem })
98
+ solver.solve()
99
+
100
+ expect(solver.mspConnectionPairs).toHaveLength(0)
101
+ })
102
+
103
+ test("does not apply the overlap fallback outside a shared schematic section", () => {
104
+ const inputProblem = createInputProblem()
105
+ inputProblem.maxMspPairDistance = 1
106
+ inputProblem.chips[0]!.pins.push({
107
+ pinId: "U1.2",
108
+ x: 0,
109
+ y: -0.2,
110
+ _facingDirection: "x+",
111
+ })
112
+ inputProblem.chips[1]!.pins.push({
113
+ pinId: "U2.2",
114
+ x: 2,
115
+ y: 1.8,
116
+ _facingDirection: "x-",
117
+ })
118
+ inputProblem.chips[1]!.pins[0]!.y = 0.1
119
+ inputProblem.directConnections[0]!.netId = "LONG_POWER_NAME"
120
+ inputProblem.directConnections[0]!.netLabelWidth = 1.2
121
+
122
+ const solver = new MspConnectionPairSolver({ inputProblem })
123
+ solver.solve()
124
+
125
+ expect(solver.mspConnectionPairs).toHaveLength(0)
126
+ })