@tscircuit/schematic-trace-solver 0.0.149 → 0.0.151
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/.agents/skills/schematic-trace-visualization/SKILL.md +7 -2
- package/README.md +6 -4
- package/dist/index.d.ts +64 -3
- package/dist/index.js +383 -66
- package/lib/solvers/InlineNetLabelSolver/InlineNetLabelSolver.ts +123 -84
- package/lib/solvers/NetLabelPlacementSolver/NetLabelPlacementSolver.ts +17 -1
- package/lib/solvers/NetLabelPlacementSolver/SingleNetLabelPlacementSolver/SingleNetLabelPlacementSolver.ts +2 -0
- package/lib/solvers/NetLabelPlacementSolver/SingleNetLabelPlacementSolver/solvePortOnlyPin.ts +2 -0
- package/lib/solvers/NetLabelToTraceSolver/NetLabelToTraceSolver.ts +338 -0
- package/lib/solvers/NetLabelTraceRecovery/getTraceRecoveryConnectivityMaps.ts +33 -0
- package/lib/solvers/SchematicTracePipelineSolver/SchematicTracePipelineSolver.ts +15 -0
- package/lib/types/InputProblem.ts +27 -1
- package/package.json +8 -1
- package/tests/bug-reports/bug-report-20260706T213649Z/__snapshots__/bug-report-20260706T213649Z.snap.svg +751 -5
- package/tests/bug-reports/bug-report-20260706T220324Z/__snapshots__/bug-report-20260706T220324Z.snap.svg +660 -5
- package/tests/bug-reports/bug-report-20260707T020342Z/__snapshots__/bug-report-20260707T020342Z.snap.svg +44 -5
- package/tests/bug-reports/bug-report-20260707T092615Z/__snapshots__/bug-report-20260707T092615Z.snap.svg +394 -5
- package/tests/bug-reports/bug-report-20260707T134549Z/__snapshots__/bug-report-20260707T134549Z.snap.svg +170 -5
- package/tests/bug-reports/bug-report-20260707T134722Z/__snapshots__/bug-report-20260707T134722Z.snap.svg +79 -5
- package/tests/bug-reports/bug-report-20260707T140410Z/__snapshots__/bug-report-20260707T140410Z.snap.svg +219 -5
- package/tests/bug-reports/bug-report-20260707T141025Z/__snapshots__/bug-report-20260707T141025Z.snap.svg +65 -5
- package/tests/bug-reports/bug-report-20260707T141421Z/__snapshots__/bug-report-20260707T141421Z.snap.svg +142 -5
- package/tests/bug-reports/bug-report-20260707T230831Z/__snapshots__/bug-report-20260707T230831Z.snap.svg +100 -5
- package/tests/bug-reports/bug-report-20260708T053736Z/__snapshots__/bug-report-20260708T053736Z.snap.svg +23 -5
- package/tests/bug-reports/bug-report-20260708T055430Z/__snapshots__/bug-report-20260708T055430Z.snap.svg +58 -5
- package/tests/bug-reports/bug-report-20260708T095725Z/__snapshots__/bug-report-20260708T095725Z.snap.svg +86 -5
- package/tests/bug-reports/bug-report-20260716T144856Z/__snapshots__/bug-report-20260716T144856Z.snap.svg +226 -5
- package/tests/bug-reports/bug-report-20260717T022934Z/__snapshots__/bug-report-20260717T022934Z.snap.svg +191 -5
- package/tests/bug-reports/bug-report-20260717T031704Z/__snapshots__/bug-report-20260717T031704Z.snap.svg +30 -5
- package/tests/bug-reports/bug-report-20260717T042845Z/__snapshots__/bug-report-20260717T042845Z.snap.svg +37 -5
- package/tests/bug-reports/bug-report-20260721T221026Z/__snapshots__/bug-report-20260721T221026Z.snap.svg +580 -2
- package/tests/bug-reports/bug-report-20260724T175257Z/__snapshots__/bug-report-20260724T175257Z.snap.svg +44 -5
- package/tests/bug-reports/bug-report-20260728T144234Z/__snapshots__/bug-report-20260728T144234Z.snap.svg +107 -5
- package/tests/bug-reports/bug-report-20260728T225606Z/__snapshots__/bug-report-20260728T225606Z.snap.svg +114 -5
- package/tests/bug-reports/bug-report-20260730T061837Z/__snapshots__/bug-report-20260730T061837Z.snap.svg +121 -5
- package/tests/bug-reports/bug-report-20260731T052229Z/__snapshots__/bug-report-20260731T052229Z.snap.svg +51 -5
- package/tests/bug-reports/bug-report-20260804T095800Z/__snapshots__/bug-report-20260804T095800Z.snap.svg +212 -5
- package/tests/bug-reports/bug-report-20260804T171919Z/__snapshots__/bug-report-20260804T171919Z.snap.svg +569 -5
- package/tests/bug-reports/bug-report-20260804T225912Z/__snapshots__/bug-report-20260804T225912Z.snap.svg +37 -5
- package/tests/bug-reports/bug-report-20260805T061316Z/__snapshots__/bug-report-20260805T061316Z.snap.svg +289 -5
- package/tests/bug-reports/bug-report-20260806T061548Z/__snapshots__/bug-report-20260806T061548Z.snap.svg +289 -5
- package/tests/bug-reports/bug-report-20260806T093501Z/__snapshots__/bug-report-20260806T093501Z.snap.svg +149 -5
- package/tests/bug-reports/bug-report-20260811T075142Z/__snapshots__/bug-report-20260811T075142Z.snap.svg +93 -5
- package/tests/bug-reports/bug-report-20260815T073240Z/__snapshots__/bug-report-20260815T073240Z.snap.svg +79 -5
- package/tests/bug-reports/bug-report-20260819T091818Z/__snapshots__/bug-report-20260819T091818Z.snap.svg +244 -2
- package/tests/examples/__snapshots__/example01.snap.svg +44 -5
- package/tests/examples/__snapshots__/example02.snap.svg +51 -5
- package/tests/examples/__snapshots__/example03.snap.svg +86 -5
- package/tests/examples/__snapshots__/example04.snap.svg +30 -5
- package/tests/examples/__snapshots__/example05.snap.svg +30 -5
- package/tests/examples/__snapshots__/example06.snap.svg +30 -5
- package/tests/examples/__snapshots__/example07.snap.svg +58 -5
- package/tests/examples/__snapshots__/example08.snap.svg +37 -5
- package/tests/examples/__snapshots__/example09.snap.svg +149 -5
- package/tests/examples/__snapshots__/example10.snap.svg +65 -5
- package/tests/examples/__snapshots__/example11.snap.svg +51 -5
- package/tests/examples/__snapshots__/example12.snap.svg +51 -5
- package/tests/examples/__snapshots__/example13.snap.svg +72 -5
- package/tests/examples/__snapshots__/example14.snap.svg +79 -5
- package/tests/examples/__snapshots__/example15.snap.svg +86 -5
- package/tests/examples/__snapshots__/example16.snap.svg +51 -5
- package/tests/examples/__snapshots__/example17.snap.svg +51 -5
- package/tests/examples/__snapshots__/example18.snap.svg +58 -5
- package/tests/examples/__snapshots__/example19.snap.svg +44 -5
- package/tests/examples/__snapshots__/example20.snap.svg +44 -5
- package/tests/examples/__snapshots__/example21.snap.svg +72 -5
- package/tests/examples/__snapshots__/example22.snap.svg +51 -5
- package/tests/examples/__snapshots__/example23.snap.svg +51 -5
- package/tests/examples/__snapshots__/example24.snap.svg +51 -5
- package/tests/examples/__snapshots__/example25.snap.svg +86 -5
- package/tests/examples/__snapshots__/example26.snap.svg +51 -5
- package/tests/examples/__snapshots__/example27.snap.svg +72 -5
- package/tests/examples/__snapshots__/example28.snap.svg +44 -5
- package/tests/examples/__snapshots__/example29.snap.svg +324 -5
- package/tests/examples/__snapshots__/example30.snap.svg +107 -5
- package/tests/examples/__snapshots__/example31.snap.svg +37 -5
- package/tests/examples/__snapshots__/example32.snap.svg +149 -5
- package/tests/examples/__snapshots__/example33.snap.svg +93 -5
- package/tests/examples/__snapshots__/example34.snap.svg +51 -5
- package/tests/examples/__snapshots__/example35.snap.svg +58 -5
- package/tests/examples/__snapshots__/example36.snap.svg +44 -5
- package/tests/examples/__snapshots__/example37.snap.svg +72 -5
- package/tests/examples/__snapshots__/example38.snap.svg +30 -5
- package/tests/examples/__snapshots__/example39.snap.svg +37 -5
- package/tests/examples/__snapshots__/example40.snap.svg +100 -5
- package/tests/examples/__snapshots__/example41.snap.svg +44 -5
- package/tests/examples/__snapshots__/example42.snap.svg +65 -5
- package/tests/examples/__snapshots__/example43.snap.svg +58 -5
- package/tests/examples/__snapshots__/example44.snap.svg +107 -5
- package/tests/examples/__snapshots__/example45.snap.svg +51 -5
- package/tests/examples/__snapshots__/example46.snap.svg +93 -5
- package/tests/examples/__snapshots__/example47.snap.svg +93 -5
- package/tests/examples/__snapshots__/example48.snap.svg +65 -5
- package/tests/examples/__snapshots__/example49.snap.svg +177 -5
- package/tests/examples/__snapshots__/example50.snap.svg +93 -5
- package/tests/examples/__snapshots__/example51.snap.svg +594 -21
- package/tests/fixtures/convertSolverOutputToCircuitJson.test.ts +219 -0
- package/tests/fixtures/convertSolverOutputToCircuitJson.ts +1058 -0
- package/tests/fixtures/matcher.ts +45 -8
- package/tests/repros/__snapshots__/board-1273-trace-overlap-cycle.snap.svg +762 -2
- package/tests/repros/__snapshots__/board-15984-same-net-junction.snap.svg +111 -2
- package/tests/repros/__snapshots__/board1096-usb-label-overlap-iteration.snap.svg +170 -5
- package/tests/repros/__snapshots__/bugreport-001-gnd-overlap.snap.svg +65 -5
- package/tests/repros/__snapshots__/manufacturePartNumber-text-box.snap.svg +30 -5
- package/tests/repros/__snapshots__/netlabel-connector-through-rail-label.snap.svg +79 -5
- package/tests/repros/__snapshots__/repro-atmega328p-fault-pullup.snap.svg +65 -5
- package/tests/repros/__snapshots__/repro-atmega328p-missing-gnd-netlabel.snap.svg +149 -5
- package/tests/repros/__snapshots__/repro-board-589-regulator-section.snap.svg +55 -2
- package/tests/repros/__snapshots__/repro-board-648-esp12f-section.snap.svg +160 -2
- package/tests/repros/__snapshots__/repro-bq24074-battery-charger.snap.svg +135 -5
- package/tests/repros/__snapshots__/repro-bq25895-cross-net-trace-overlap.snap.svg +69 -2
- package/tests/repros/__snapshots__/repro-cc2340r5.snap.svg +86 -5
- package/tests/repros/__snapshots__/repro-core-555-power-cross-net-overlap.snap.svg +44 -5
- package/tests/repros/__snapshots__/repro-core-subcircuit-missing-ground.snap.svg +44 -5
- package/tests/repros/__snapshots__/repro-core-tb67s579ftg-inline-label-routing.snap.svg +30 -5
- package/tests/repros/__snapshots__/repro-example35-minimize-trace-crossing.snap.svg +335 -2
- package/tests/repros/__snapshots__/repro-ground-label-on-lower-rail-end.snap.svg +48 -2
- package/tests/repros/__snapshots__/repro-ina237-current-monitor.snap.svg +149 -5
- package/tests/repros/__snapshots__/repro-missing-trace-netlabel.snap.svg +72 -5
- package/tests/repros/__snapshots__/repro-netlabel-collision-687.snap.svg +100 -5
- package/tests/repros/__snapshots__/repro-netlabel-overlap-trace.snap.svg +51 -5
- package/tests/repros/__snapshots__/repro-nrf52810-clock-routing.snap.svg +90 -2
- package/tests/repros/__snapshots__/repro-power-group-rail-labels.snap.svg +37 -5
- package/tests/repros/__snapshots__/repro-rectifier-trace-overlap.snap.svg +44 -5
- package/tests/repros/__snapshots__/repro-rp2040-gamepad-trace-alignment.snap.svg +237 -2
- package/tests/repros/__snapshots__/repro-rp2040-usb-cc2-ground-overlap.snap.svg +72 -5
- package/tests/repros/__snapshots__/repro-rp2040-v3v3-label-placement.snap.svg +51 -5
- package/tests/repros/__snapshots__/repro-rp2040-zero-crystal-fallback-netlabels.snap.svg +30 -5
- package/tests/repros/__snapshots__/repro-ti-power-output-section.snap.svg +79 -5
- package/tests/repros/__snapshots__/repro-tida010076-j4-ground-bus.snap.svg +27 -2
- package/tests/repros/__snapshots__/repro-tida010076-page02.snap.svg +1150 -5
- package/tests/repros/__snapshots__/repro-tps61222-trace-intersection.snap.svg +51 -5
- package/tests/repros/__snapshots__/repro-type-c-16pin-self-connection.snap.svg +30 -5
- package/tests/repros/__snapshots__/repro-type-c-16pin-to-resistor.snap.svg +30 -5
- package/tests/repros/__snapshots__/repro-type-c-vbus-led-ground-label.snap.svg +44 -5
- package/tests/repros/__snapshots__/repro-usb-power-vbus-label-detour.snap.svg +685 -2
- package/tests/repros/__snapshots__/repro-vcc-pin1-detour.snap.svg +27 -2
- package/tests/repros/__snapshots__/repro129-host-custom-symbol-passives.snap.svg +51 -5
- package/tests/repros/__snapshots__/repro130-bq27441-fuel-gauge-trace-through-c1.snap.svg +100 -5
- package/tests/repros/__snapshots__/repro161-power-section-autolayout.snap.svg +107 -5
- package/tests/repros/__snapshots__/repro47-endpoint-obstacle-detour.snap.svg +51 -5
- package/tests/repros/__snapshots__/repro48-555-timer-vcc-rail-label.snap.svg +104 -2
- package/tests/repros/__snapshots__/repro5-escape-padded-text-obstacles.snap.svg +30 -5
- package/tests/repros/__snapshots__/repro51-overlap-junction-crossing.snap.svg +65 -5
- package/tests/repros/__snapshots__/repro84-stacked-gnd-label-orientation.snap.svg +27 -2
- package/tests/repros/__snapshots__/small-variant-resistor-facing-direction.snap.svg +58 -5
- package/tests/repros/__snapshots__/trace-overlap-box-resistor.snap.svg +37 -5
- package/tests/solvers/InlineNetLabelSolver/__snapshots__/fallback-net-label-width.snap.svg +25 -7
- package/tests/solvers/InlineNetLabelSolver/__snapshots__/inline-net-label-anchored-label-clearance.snap.svg +34 -2
- package/tests/solvers/InlineNetLabelSolver/__snapshots__/inline-net-label-port-stub.snap.svg +23 -5
- package/tests/solvers/InlineNetLabelSolver/__snapshots__/inline-net-label-two-pin-net.snap.svg +23 -5
- package/tests/solvers/InlineNetLabelSolver/__snapshots__/inline-net-label01.snap.svg +23 -5
- package/tests/solvers/InlineNetLabelSolver/__snapshots__/inline-net-label02.snap.svg +23 -5
- package/tests/solvers/InlineNetLabelSolver/__snapshots__/terminal-stub-trace-clearance.snap.svg +23 -5
- package/tests/solvers/InlineNetLabelSolver/fallback-net-label-width.test.ts +10 -1
- package/tests/solvers/SchematicTraceSingleLineSolver2/__snapshots__/SchematicTraceSingleLineSolver2_01-example17-d1_1-u1_1.snap.svg +23 -5
- package/tests/solvers/SchematicTraceSingleLineSolver2/__snapshots__/SchematicTraceSingleLineSolver2_repro47-short-opposing-pins.snap.svg +20 -2
- package/tests/solvers/TraceCleanupSolver/__snapshots__/TraceCleanupSolver.snap.svg +44 -5
- package/tests/solvers/TraceLabelOverlapAvoidanceSolver/__snapshots__/TraceLabelOverlapAvoidanceSolver.snap.svg +79 -5
- package/tests/solvers/TraceLabelOverlapAvoidanceSolver/sub-solver/__snapshots__/MergedNetLabelObstacles.snap.svg +44 -5
- package/tests/solvers/TraceLabelOverlapAvoidanceSolver/sub-solver/__snapshots__/OverlapAvoidanceStepSolver.snap.svg +23 -5
- package/tests/solvers/TraceLabelOverlapAvoidanceSolver/sub-solver/__snapshots__/SingleOverlapSolver.snap.svg +30 -5
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
<svg width="
|
|
1
|
+
<svg width="2416" height="1200" viewBox="0 0 2416 1200" xmlns="http://www.w3.org/2000/svg" role="img" aria-label="Solver debug visualization on the left and Circuit JSON schematic on the right">
|
|
2
|
+
<g transform="translate(0, 0) scale(1.875, 1.875) translate(0, 0)">
|
|
3
|
+
<rect width="100%" height="100%" fill="white"/><g><polyline data-points="-11.342500000000001,-18.990000000000002 -9.797500000000001,-18.815" data-type="line" data-label="" points="428.00799467022,320.5969353764158 543.2911392405065,307.53897401732183" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-11.342500000000001,-18.990000000000002 -9.797500000000001,-20.625000000000004" data-type="line" data-label="" points="428.00799467022,320.5969353764158 543.2911392405065,442.5956029313793" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-9.797500000000001,-18.815 -9.797500000000001,-20.625000000000004" data-type="line" data-label="" points="543.2911392405065,307.53897401732183 543.2911392405065,442.5956029313793" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-11.342500000000001,-18.04 -9.797500000000001,-18.215" data-type="line" data-label="" points="428.00799467022,249.7108594270485 543.2911392405065,262.76882078614244" fill="none" stroke="hsl(273, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-11.342500000000001,-18.240000000000002 -9.797500000000001,-20.025000000000002" data-type="line" data-label="" points="428.00799467022,264.6342438374418 543.2911392405065,397.8254497001999" fill="none" stroke="hsl(274, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-9.797500000000001,-18.815 -9.797500000000001,-18.990000000000002 -11.342500000000001,-18.990000000000002" data-type="line" data-label="" points="543.2911392405065,307.53897401732183 543.2911392405065,320.5969353764158 428.00799467022,320.5969353764158" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-9.797500000000001,-20.625000000000004 -9.797500000000001,-20.825000000000003 -10.322500000000002,-20.825000000000003 -10.322500000000002,-19.015 -9.797500000000001,-19.015 -9.797500000000001,-18.815" data-type="line" data-label="" points="543.2911392405065,442.5956029313793 543.2911392405065,457.51898734177234 504.1172551632246,457.51898734177234 504.1172551632246,322.4623584277149 543.2911392405065,322.4623584277149 543.2911392405065,307.53897401732183" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-11.342500000000001,-18.04 -9.797500000000001,-18.04 -9.797500000000001,-18.215" data-type="line" data-label="" points="428.00799467022,249.7108594270485 543.2911392405065,249.7108594270485 543.2911392405065,262.76882078614244" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-11.342500000000001,-17.29 -11.041500000000001,-17.29 -11.041500000000001,-17.139" data-type="line" data-label="" points="428.00799467022,193.74816788807448 450.46768820786156,193.74816788807448 450.46768820786156,182.48101265822766" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-9.797500000000001,-20.025000000000002 -9.797500000000001,-19.925 -9.697500000000002,-19.925 -9.697500000000002,-18.874 -10.1485,-18.874" data-type="line" data-label="" points="543.2911392405065,397.8254497001999 543.2911392405065,390.36375749500326 550.752831445703,390.36375749500326 550.752831445703,311.9413724183876 517.1005996002667,311.9413724183876" fill="none" stroke="purple" stroke-width="1px"/></g><g><rect data-type="rect" data-label="schematic_component_16" data-x="-13.9425" data-y="-18.14" x="40.000000000000284" y="182.55562958027986" width="388.0079946702198" height="149.23384410393055" fill="hsl(320, 100%, 50%, 0.8)" stroke="black" stroke-width="0.013401785714285713"/></g><g><rect data-type="rect" data-label="schematic_component_17" data-x="-9.580000000000002" data-y="-18.515" x="519.0406395736176" y="262.76882078614244" width="80.95936042638255" height="44.77015323117939" fill="hsl(320, 100%, 50%, 0.8)" stroke="black" stroke-width="0.013401785714285713"/></g><g><rect data-type="rect" data-label="schematic_component_18" data-x="-9.580000000000002" data-y="-20.325000000000003" x="519.0406395736176" y="397.8254497001999" width="80.95936042638255" height="44.77015323117939" fill="hsl(320, 100%, 50%, 0.8)" stroke="black" stroke-width="0.013401785714285713"/></g><g><rect data-type="rect" data-label="U3" data-x="-16.0225" data-y="-17.025000000000002" x="65.36975349766828" y="164.6475682878082" width="26.862091938707408" height="18.654230512991262" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.013401785714285713"/></g><g><rect data-type="rect" data-label="netId: VBUS
|
|
2
4
|
globalConnNetId: connectivity_net3" data-x="-11.041500000000001" data-y="-16.929" x="428.08261159227186" y="151.14190539640208" width="44.77015323117939" height="31.339107261825575" fill="#ef444466" stroke="#ef4444" stroke-width="0.013401785714285713"/></g><g><rect data-type="rect" data-label="netId: D_PLUS
|
|
3
5
|
globalConnNetId: connectivity_net2" data-x="-10.921500000000002" data-y="-17.490000000000002" x="428.08261159227186" y="201.20986009327112" width="62.67821452365092" height="14.923384410393282" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.013401785714285713"/></g><g><rect data-type="rect" data-label="netId: D_MINUS
|
|
4
6
|
globalConnNetId: connectivity_net1" data-x="-10.861500000000001" data-y="-17.69" x="428.08261159227186" y="216.13324450366417" width="71.6322451698868" height="14.923384410393282" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.013401785714285713"/></g><g><rect data-type="rect" data-label="netId: CC1
|
|
@@ -34,7 +36,7 @@ orientation: y-" data-x="-9.797500000000001" data-y="-20.825000000000003" cx="54
|
|
|
34
36
|
const h = svg.getElementById('crosshair-h');
|
|
35
37
|
const v = svg.getElementById('crosshair-v');
|
|
36
38
|
const coords = svg.getElementById('coordinates');
|
|
37
|
-
|
|
39
|
+
|
|
38
40
|
crosshair.style.display = 'block';
|
|
39
41
|
h.setAttribute('x1', '0');
|
|
40
42
|
h.setAttribute('x2', '640');
|
|
@@ -53,13 +55,13 @@ orientation: y-" data-x="-9.797500000000001" data-y="-20.825000000000003" cx="54
|
|
|
53
55
|
// y' = (y - ty) / sy
|
|
54
56
|
const sx = matrix.a;
|
|
55
57
|
const sy = matrix.d;
|
|
56
|
-
const tx = matrix.e;
|
|
58
|
+
const tx = matrix.e;
|
|
57
59
|
const ty = matrix.f;
|
|
58
60
|
const realPoint = {
|
|
59
61
|
x: (x - tx) / sx,
|
|
60
62
|
y: (y - ty) / sy // Flip y back since we used negative scale
|
|
61
63
|
}
|
|
62
|
-
|
|
64
|
+
|
|
63
65
|
coords.textContent = `(${realPoint.x.toFixed(2)}, ${realPoint.y.toFixed(2)})`;
|
|
64
66
|
coords.setAttribute('x', (x + 5).toString());
|
|
65
67
|
coords.setAttribute('y', (y - 5).toString());
|
|
@@ -67,4 +69,69 @@ orientation: y-" data-x="-9.797500000000001" data-y="-20.825000000000003" cx="54
|
|
|
67
69
|
document.currentScript.parentElement.addEventListener('mouseleave', () => {
|
|
68
70
|
document.currentScript.parentElement.getElementById('crosshair').style.display = 'none';
|
|
69
71
|
});
|
|
70
|
-
]]></script
|
|
72
|
+
]]></script>
|
|
73
|
+
</g>
|
|
74
|
+
<g transform="translate(1216, 200)">
|
|
75
|
+
<style>
|
|
76
|
+
.boundary { fill: rgb(245, 241, 237); }
|
|
77
|
+
.schematic-boundary { fill: none; stroke: #fff; }
|
|
78
|
+
.component { fill: none; stroke: rgb(132, 0, 0); }
|
|
79
|
+
.chip { fill: rgb(255, 255, 194); stroke: rgb(132, 0, 0); }
|
|
80
|
+
.component-pin { fill: none; stroke: rgb(132, 0, 0); }
|
|
81
|
+
.text { font-family: sans-serif; fill: rgb(0, 150, 0); }
|
|
82
|
+
.pin-number { fill: rgb(169, 0, 0); }
|
|
83
|
+
.port-label { fill: rgb(0, 100, 100); }
|
|
84
|
+
.component-name { fill: rgb(0, 100, 100); }
|
|
85
|
+
|
|
86
|
+
</style><rect class="boundary" x="0" y="0" width="1200" height="800"/><g class="trace sch-trace" data-layer="base" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_0__stack1"><path d="M 862.9002863833989 379.13043478325426 L 862.9002863833989 400.99973965178424 L 669.825566258377 400.99973965178424" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="19.994793022656px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 862.9002863833989 379.13043478325426 L 862.9002863833989 400.99973965178424 L 669.825566258377 400.99973965178424" stroke="rgb(0, 150, 0)" fill="none" stroke-width="2.499349127832px" stroke-linecap="round" stroke-linejoin="round"/></g><g class="trace sch-trace" data-layer="base" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_1__stack1"><path d="M 862.9002863833989 605.3215308520503 L 862.9002863833989 630.3150221303704 L 797.292371777809 630.3150221303704 L 797.292371777809 404.1239260615739 L 862.9002863833989 404.1239260615739 L 862.9002863833989 379.13043478325426" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="19.994793022656px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 862.9002863833989 605.3215308520503 L 862.9002863833989 630.3150221303704 L 797.292371777809 630.3150221303704 L 797.292371777809 404.1239260615739 L 862.9002863833989 404.1239260615739 L 862.9002863833989 379.13043478325426" stroke="rgb(0, 150, 0)" fill="none" stroke-width="2.499349127832px" stroke-linecap="round" stroke-linejoin="round"/></g><g class="trace sch-trace" data-layer="base" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_2__stack1"><path d="M 669.825566258377 282.28065607976396 L 862.9002863833989 282.28065607976396 L 862.9002863833989 304.14996094829394" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="19.994793022656px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 669.825566258377 282.28065607976396 L 862.9002863833989 282.28065607976396 L 862.9002863833989 304.14996094829394" stroke="rgb(0, 150, 0)" fill="none" stroke-width="2.499349127832px" stroke-linecap="round" stroke-linejoin="round"/></g><g class="trace sch-trace" data-layer="base" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_3__stack1"><path d="M 669.825566258377 188.55506378606378 L 707.4407706322486 188.55506378606378 L 707.4407706322486 169.68497787093247" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="19.994793022656px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 669.825566258377 188.55506378606378 L 707.4407706322486 188.55506378606378 L 707.4407706322486 169.68497787093247" stroke="rgb(0, 150, 0)" fill="none" stroke-width="2.499349127832px" stroke-linecap="round" stroke-linejoin="round"/></g><g class="trace sch-trace" data-layer="base" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_4__stack1"><path d="M 862.9002863833989 530.3410570170904 L 862.9002863833989 517.8443113779299 L 875.397032022559 517.8443113779299 L 875.397032022559 386.5035147103581 L 819.0367091899475 386.5035147103581" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="19.994793022656px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 862.9002863833989 530.3410570170904 L 862.9002863833989 517.8443113779299 L 875.397032022559 517.8443113779299 L 875.397032022559 386.5035147103581 L 819.0367091899475 386.5035147103581" stroke="rgb(0, 150, 0)" fill="none" stroke-width="2.499349127832px" stroke-linecap="round" stroke-linejoin="round"/></g><g class="trace-overlays sch-trace-overlays" data-layer="overlay" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_0__stack1"><circle cx="862.9002863833989" cy="379.13043478325426" r="3.7490236917479995" class="trace-junction sch-trace-junction" fill="rgb(0, 150, 0)"/></g><g class="trace-overlays sch-trace-overlays" data-layer="overlay" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_1__stack1"/><g class="trace-overlays sch-trace-overlays" data-layer="overlay" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_2__stack1"/><g class="trace-overlays sch-trace-overlays" data-layer="overlay" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_3__stack1"/><g class="trace-overlays sch-trace-overlays" data-layer="overlay" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_4__stack1"/><g class="sch-component" data-circuit-json-type="schematic_component" data-schematic-component-id="schematic_component_0__stack1"><rect class="component chip sch-component-body" x="69.9817755786969" y="169.80994532732393" width="549.8568081230401" height="249.93491278320016" stroke-width="2.499349127832px" fill="rgb(255, 255, 194)" stroke="rgb(132, 0, 0)"/><rect class="component-overlay sch-component-overlay" x="69.9817755786969" y="169.80994532732393" width="549.8568081230401" height="249.93491278320016" fill="transparent"/><text class="sch-text" x="344.91017964021694" y="294.777401718924" fill="#0f172a" text-anchor="middle" dominant-baseline="middle" font-family="sans-serif" font-size="22.494142150488px" transform="rotate(0, 344.91017964021694, 294.777401718924)">schematic_component_16</text><line class="component-pin sch-component-pin sch-port-line" x1="619.838583701737" y1="188.55506378606378" x2="669.825566258377" y2="188.55506378606378" stroke-width="2.499349127832px"/><g class="sch-port" data-schematic-port-id="source_port_0_0__stack1"><rect x="667.3262171305449" y="186.05571465823178" width="4.998698255664" height="4.998698255664" opacity="0"/></g><text class="pin-number sch-pin-number" x="644.8320749800571" y="186.05571465823186" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="18.74511845874px" transform=""></text><text class="pin-number sch-pin-label" x="607.3418380625769" y="188.55506378606378" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="end" dominant-baseline="middle" font-size="18.74511845874px" transform="">schematic_port_83</text><line class="component-pin sch-component-pin sch-port-line" x1="619.838583701737" y1="213.54855506438435" x2="667.326217130545" y2="213.54855506438435" stroke-width="2.499349127832px"/><g class="sch-port" data-schematic-port-id="source_port_0_1__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="669.825566258377" cy="213.54855506438435" r="2.499349127832" stroke-width="2.499349127832px"/><rect x="667.3262171305449" y="211.04920593655234" width="4.998698255664" height="4.998698255664" opacity="0"/></g><text class="pin-number sch-pin-number" x="644.8320749800571" y="211.04920593655243" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="18.74511845874px" transform=""></text><text class="pin-number sch-pin-label" x="607.3418380625769" y="213.54855506438435" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="end" dominant-baseline="middle" font-size="18.74511845874px" transform="">schematic_port_84</text><line class="component-pin sch-component-pin sch-port-line" x1="619.838583701737" y1="238.542046342704" x2="667.326217130545" y2="238.542046342704" stroke-width="2.499349127832px"/><g class="sch-port" data-schematic-port-id="source_port_0_2__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="669.825566258377" cy="238.542046342704" r="2.499349127832" stroke-width="2.499349127832px"/><rect x="667.3262171305449" y="236.042697214872" width="4.998698255664" height="4.998698255664" opacity="0"/></g><text class="pin-number sch-pin-number" x="644.8320749800571" y="236.04269721487208" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="18.74511845874px" transform=""></text><text class="pin-number sch-pin-label" x="607.3418380625769" y="238.542046342704" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="end" dominant-baseline="middle" font-size="18.74511845874px" transform="">schematic_port_85</text><line class="component-pin sch-component-pin sch-port-line" x1="619.838583701737" y1="282.28065607976396" x2="669.825566258377" y2="282.28065607976396" stroke-width="2.499349127832px"/><g class="sch-port" data-schematic-port-id="source_port_0_3__stack1"><rect x="667.3262171305449" y="279.781306951932" width="4.998698255664" height="4.998698255664" opacity="0"/></g><text class="pin-number sch-pin-number" x="644.8320749800571" y="279.78130695193204" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="18.74511845874px" transform=""></text><text class="pin-number sch-pin-label" x="607.3418380625769" y="282.28065607976396" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="end" dominant-baseline="middle" font-size="18.74511845874px" transform="">schematic_port_86</text><line class="component-pin sch-component-pin sch-port-line" x1="619.838583701737" y1="307.27414735808406" x2="667.326217130545" y2="307.27414735808406" stroke-width="2.499349127832px"/><g class="sch-port" data-schematic-port-id="source_port_0_4__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="669.825566258377" cy="307.27414735808406" r="2.499349127832" stroke-width="2.499349127832px"/><rect x="667.3262171305449" y="304.7747982302521" width="4.998698255664" height="4.998698255664" opacity="0"/></g><text class="pin-number sch-pin-number" x="644.8320749800571" y="304.77479823025215" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="18.74511845874px" transform=""></text><text class="pin-number sch-pin-label" x="607.3418380625769" y="307.27414735808406" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="end" dominant-baseline="middle" font-size="18.74511845874px" transform="">schematic_port_87</text><line class="component-pin sch-component-pin sch-port-line" x1="619.838583701737" y1="351.012757095144" x2="667.326217130545" y2="351.012757095144" stroke-width="2.499349127832px"/><g class="sch-port" data-schematic-port-id="source_port_0_5__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="669.825566258377" cy="351.012757095144" r="2.499349127832" stroke-width="2.499349127832px"/><rect x="667.3262171305449" y="348.51340796731205" width="4.998698255664" height="4.998698255664" opacity="0"/></g><text class="pin-number sch-pin-number" x="644.8320749800571" y="348.5134079673121" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="18.74511845874px" transform=""></text><text class="pin-number sch-pin-label" x="607.3418380625769" y="351.012757095144" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="end" dominant-baseline="middle" font-size="18.74511845874px" transform="">schematic_port_88</text><line class="component-pin sch-component-pin sch-port-line" x1="619.838583701737" y1="376.0062483734637" x2="667.326217130545" y2="376.0062483734637" stroke-width="2.499349127832px"/><g class="sch-port" data-schematic-port-id="source_port_0_6__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="669.825566258377" cy="376.0062483734637" r="2.499349127832" stroke-width="2.499349127832px"/><rect x="667.3262171305449" y="373.5068992456317" width="4.998698255664" height="4.998698255664" opacity="0"/></g><text class="pin-number sch-pin-number" x="644.8320749800571" y="373.50689924563176" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="18.74511845874px" transform=""></text><text class="pin-number sch-pin-label" x="607.3418380625769" y="376.0062483734637" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="end" dominant-baseline="middle" font-size="18.74511845874px" transform="">schematic_port_89</text><line class="component-pin sch-component-pin sch-port-line" x1="619.838583701737" y1="400.99973965178424" x2="669.825566258377" y2="400.99973965178424" stroke-width="2.499349127832px"/><g class="sch-port" data-schematic-port-id="source_port_0_7__stack1"><rect x="667.3262171305449" y="398.50039052395226" width="4.998698255664" height="4.998698255664" opacity="0"/></g><text class="pin-number sch-pin-number" x="644.8320749800571" y="398.5003905239523" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="18.74511845874px" transform=""></text><text class="pin-number sch-pin-label" x="607.3418380625769" y="400.99973965178424" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="end" dominant-baseline="middle" font-size="18.74511845874px" transform="">schematic_port_90</text></g><g class="sch-component" data-circuit-json-type="schematic_component" data-schematic-component-id="schematic_component_1__stack1"><rect class="component chip sch-component-body" x="822.2858630561288" y="335.39182504619384" width="135.58969018488597" height="12.496745639160054" stroke-width="2.499349127832px" fill="rgb(255, 255, 194)" stroke="rgb(132, 0, 0)"/><rect class="component-overlay sch-component-overlay" x="822.2858630561288" y="335.39182504619384" width="135.58969018488597" height="12.496745639160054" fill="transparent"/><text class="sch-text" x="890.0807081485718" y="341.6401978657741" fill="#0f172a" text-anchor="middle" dominant-baseline="middle" font-family="sans-serif" font-size="22.494142150488px" transform="rotate(0, 890.0807081485718, 341.6401978657741)">schematic_component_17</text><line class="component-pin sch-component-pin sch-port-line" x1="862.9002863833989" y1="335.39182504619384" x2="862.9002863833989" y2="304.14996094829394" stroke-width="2.499349127832px"/><g class="sch-port" data-schematic-port-id="source_port_1_0__stack1"><rect x="860.4009372555669" y="301.65061182046196" width="4.998698255664" height="4.998698255664" opacity="0"/></g><text class="pin-number sch-pin-number" x="860.400937255567" y="319.7708929972441" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="18.74511845874px" transform="rotate(-90 860.400937255567 319.7708929972441)"></text><text class="pin-number sch-pin-label" x="862.9002863833989" y="347.8885706853539" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="end" dominant-baseline="middle" font-size="18.74511845874px" transform="rotate(-90 862.9002863833989 347.8885706853539)">schematic_port_91</text><line class="component-pin sch-component-pin sch-port-line" x1="862.9002863833989" y1="347.8885706853539" x2="862.9002863833989" y2="379.13043478325426" stroke-width="2.499349127832px"/><g class="sch-port" data-schematic-port-id="source_port_1_1__stack1"><rect x="860.4009372555669" y="376.6310856554223" width="4.998698255664" height="4.998698255664" opacity="0"/></g><text class="pin-number sch-pin-number" x="860.400937255567" y="363.5095027343041" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="18.74511845874px" transform="rotate(-90 860.400937255567 363.5095027343041)"></text><text class="pin-number sch-pin-label" x="862.9002863833989" y="335.39182504619384" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="start" dominant-baseline="middle" font-size="18.74511845874px" transform="rotate(-90 862.9002863833989 335.39182504619384)">schematic_port_92</text></g><g class="sch-component" data-circuit-json-type="schematic_component" data-schematic-component-id="schematic_component_2__stack1"><rect class="component chip sch-component-body" x="822.2858630561288" y="561.5829211149903" width="135.58969018488597" height="12.496745639160054" stroke-width="2.499349127832px" fill="rgb(255, 255, 194)" stroke="rgb(132, 0, 0)"/><rect class="component-overlay sch-component-overlay" x="822.2858630561288" y="561.5829211149903" width="135.58969018488597" height="12.496745639160054" fill="transparent"/><text class="sch-text" x="890.0807081485718" y="567.8312939345701" fill="#0f172a" text-anchor="middle" dominant-baseline="middle" font-family="sans-serif" font-size="22.494142150488px" transform="rotate(0, 890.0807081485718, 567.8312939345701)">schematic_component_18</text><line class="component-pin sch-component-pin sch-port-line" x1="862.9002863833989" y1="561.5829211149903" x2="862.9002863833989" y2="530.3410570170904" stroke-width="2.499349127832px"/><g class="sch-port" data-schematic-port-id="source_port_2_0__stack1"><rect x="860.4009372555669" y="527.8417078892584" width="4.998698255664" height="4.998698255664" opacity="0"/></g><text class="pin-number sch-pin-number" x="860.400937255567" y="545.9619890660401" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="18.74511845874px" transform="rotate(-90 860.400937255567 545.9619890660401)"></text><text class="pin-number sch-pin-label" x="862.9002863833989" y="574.0796667541504" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="end" dominant-baseline="middle" font-size="18.74511845874px" transform="rotate(-90 862.9002863833989 574.0796667541504)">schematic_port_93</text><line class="component-pin sch-component-pin sch-port-line" x1="862.9002863833989" y1="574.0796667541504" x2="862.9002863833989" y2="605.3215308520503" stroke-width="2.499349127832px"/><g class="sch-port" data-schematic-port-id="source_port_2_1__stack1"><rect x="860.4009372555669" y="602.8221817242182" width="4.998698255664" height="4.998698255664" opacity="0"/></g><text class="pin-number sch-pin-number" x="860.400937255567" y="589.7005988031005" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="18.74511845874px" transform="rotate(-90 860.400937255567 589.7005988031005)"></text><text class="pin-number sch-pin-label" x="862.9002863833989" y="561.5829211149903" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="start" dominant-baseline="middle" font-size="18.74511845874px" transform="rotate(-90 862.9002863833989 561.5829211149903)">schematic_port_94</text></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_0__stack1"><circle cx="669.825566258377" cy="188.55506378606378" r="4.998698255664" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_1__stack1"><circle cx="669.825566258377" cy="213.54855506438435" r="4.998698255664" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_2__stack1"><circle cx="669.825566258377" cy="238.542046342704" r="4.998698255664" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_3__stack1"><circle cx="669.825566258377" cy="282.28065607976396" r="4.998698255664" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_4__stack1"><circle cx="669.825566258377" cy="307.27414735808406" r="4.998698255664" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_5__stack1"><circle cx="669.825566258377" cy="351.012757095144" r="4.998698255664" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_6__stack1"><circle cx="669.825566258377" cy="376.0062483734637" r="4.998698255664" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_7__stack1"><circle cx="669.825566258377" cy="400.99973965178424" r="4.998698255664" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_1_0__stack1"><circle cx="862.9002863833989" cy="304.14996094829394" r="4.998698255664" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_1_1__stack1"><circle cx="862.9002863833989" cy="379.13043478325426" r="4.998698255664" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_2_0__stack1"><circle cx="862.9002863833989" cy="530.3410570170904" r="4.998698255664" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_2_1__stack1"><circle cx="862.9002863833989" cy="605.3215308520503" r="4.998698255664" fill="red" opacity="0"/></g><path class="net-label sch-net-label" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_0__stack1" d="
|
|
87
|
+
M 707.4407706322486,169.68497787093247
|
|
88
|
+
L 694.9440249930885,162.93673522578607
|
|
89
|
+
L 694.9440249930885,120.08122884722671
|
|
90
|
+
L 719.9375162714086,120.08122884722671
|
|
91
|
+
L 719.9375162714086,162.93673522578607
|
|
92
|
+
Z
|
|
93
|
+
" fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="2.499349127832px"/><text class="net-label-text sch-net-label-text" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_0__stack1" x="707.4407706322486" y="158.43790679568846" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="22.494142150488px" transform="rotate(-90 707.4407706322486 158.43790679568846)">XX</text><path class="net-label sch-net-label" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_1__stack1" d="
|
|
94
|
+
M 669.825566258377,213.54855506438435
|
|
95
|
+
L 676.5738089035234,201.05180942522435
|
|
96
|
+
L 778.1473574586158,201.05180942522435
|
|
97
|
+
L 778.1473574586158,226.04530070354434
|
|
98
|
+
L 676.5738089035234,226.04530070354434
|
|
99
|
+
Z
|
|
100
|
+
" fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="2.499349127832px"/><text class="net-label-text sch-net-label-text" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_1__stack1" x="681.072637333621" y="213.54855506438435" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="22.494142150488px" transform="">XXXXXX</text><path class="net-label sch-net-label" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_2__stack1" d="
|
|
101
|
+
M 669.825566258377,238.542046342704
|
|
102
|
+
L 676.5738089035234,226.045300703544
|
|
103
|
+
L 792.826868002749,226.045300703544
|
|
104
|
+
L 792.826868002749,251.038791981864
|
|
105
|
+
L 676.5738089035234,251.038791981864
|
|
106
|
+
Z
|
|
107
|
+
" fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="2.499349127832px"/><text class="net-label-text sch-net-label-text" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_2__stack1" x="681.072637333621" y="238.542046342704" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="22.494142150488px" transform="">XXXXXXX</text><path class="net-label sch-net-label" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_3__stack1" d="
|
|
108
|
+
M 862.9002863833989,282.28065607976396
|
|
109
|
+
L 869.6485290285453,269.78391044060396
|
|
110
|
+
L 927.183545951238,269.78391044060396
|
|
111
|
+
L 927.183545951238,294.77740171892395
|
|
112
|
+
L 869.6485290285453,294.77740171892395
|
|
113
|
+
Z
|
|
114
|
+
" fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="2.499349127832px"/><text class="net-label-text sch-net-label-text" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_3__stack1" x="874.1473574586429" y="282.28065607976396" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="22.494142150488px" transform="">XXX</text><path class="net-label sch-net-label" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_4__stack1" d="
|
|
115
|
+
M 669.825566258377,307.27414735808406
|
|
116
|
+
L 676.5738089035234,294.77740171892407
|
|
117
|
+
L 734.108825826216,294.77740171892407
|
|
118
|
+
L 734.108825826216,319.77089299724406
|
|
119
|
+
L 676.5738089035234,319.77089299724406
|
|
120
|
+
Z
|
|
121
|
+
" fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="2.499349127832px"/><text class="net-label-text sch-net-label-text" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_4__stack1" x="681.072637333621" y="307.27414735808406" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="22.494142150488px" transform="">XXX</text><path class="net-label sch-net-label" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_5__stack1" d="
|
|
122
|
+
M 819.0367091899475,386.5035147103581
|
|
123
|
+
L 812.288466544801,399.0002603495181
|
|
124
|
+
L 754.7534496221084,399.0002603495181
|
|
125
|
+
L 754.7534496221084,374.0067690711981
|
|
126
|
+
L 812.288466544801,374.0067690711981
|
|
127
|
+
Z
|
|
128
|
+
" fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="2.499349127832px"/><text class="net-label-text sch-net-label-text" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_5__stack1" x="807.7896381147035" y="386.5035147103581" fill="rgb(132, 0, 0)" text-anchor="end" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="22.494142150488px" transform="">XXX</text><path class="net-label sch-net-label" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_6__stack1" d="
|
|
129
|
+
M 862.9002863833989,630.3150221303704
|
|
130
|
+
L 875.397032022559,637.0632647755168
|
|
131
|
+
L 875.397032022559,679.9187711540761
|
|
132
|
+
L 850.4035407442389,679.9187711540761
|
|
133
|
+
L 850.4035407442389,637.0632647755168
|
|
134
|
+
Z
|
|
135
|
+
" fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="2.499349127832px"/><text class="net-label-text sch-net-label-text" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_6__stack1" x="862.9002863833989" y="641.5620932056144" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="22.494142150488px" transform="rotate(90 862.9002863833989 641.5620932056144)">XX</text><text class="sch-text" x="84.9778703456891" y="155.43868784229016" fill="#7e22ce" text-anchor="middle" dominant-baseline="middle" font-family="sans-serif" font-size="22.494142150488px" transform="rotate(0, 84.9778703456891, 155.43868784229016)">U3</text><rect class="schematic-box sch-box" x="62.48372819520114" y="139.81775579334044" width="44.98828430097592" height="31.241864097899906" stroke-width="2.499349127832px" stroke="rgb(132, 0, 0)" fill="transparent" stroke-dasharray="19.994793022656 9.997396511328"/>
|
|
136
|
+
</g>
|
|
137
|
+
</svg>
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
<svg width="
|
|
1
|
+
<svg width="2416" height="1200" viewBox="0 0 2416 1200" xmlns="http://www.w3.org/2000/svg" role="img" aria-label="Solver debug visualization on the left and Circuit JSON schematic on the right">
|
|
2
|
+
<g transform="translate(0, 0) scale(1.875, 1.875) translate(0, 0)">
|
|
3
|
+
<rect width="100%" height="100%" fill="white"/><g><polyline data-points="-1.35,0.9999999999999998 -1.35,2.8" data-type="line" data-label="" points="198.84615384615384,241.02564102564105 198.84615384615384,79.48717948717953" fill="none" stroke="hsl(68, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.35,0.9999999999999998 -1.35,-1.4000000000000004" data-type="line" data-label="" points="198.84615384615384,241.02564102564105 198.84615384615384,456.41025641025647" fill="none" stroke="hsl(68, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.35,2.8 -1.35,-1.4000000000000004" data-type="line" data-label="" points="198.84615384615384,79.48717948717953 198.84615384615384,456.41025641025647" fill="none" stroke="hsl(68, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.35,0.9999999999999998 1.35,2.8" data-type="line" data-label="" points="441.1538461538462,241.02564102564105 441.1538461538462,79.48717948717953" fill="none" stroke="hsl(271, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.35,0.9999999999999998 1.35,-1.4000000000000004" data-type="line" data-label="" points="441.1538461538462,241.02564102564105 441.1538461538462,456.41025641025647" fill="none" stroke="hsl(271, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.35,2.8 1.35,-1.4000000000000004" data-type="line" data-label="" points="441.1538461538462,79.48717948717953 441.1538461538462,456.41025641025647" fill="none" stroke="hsl(271, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.35,0.9999999999999998 -1.55,0.9999999999999998 -1.55,2.8 -1.35,2.8" data-type="line" data-label="" points="198.84615384615384,241.02564102564105 180.8974358974359,241.02564102564105 180.8974358974359,79.48717948717953 198.84615384615384,79.48717948717953" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="1.35,0.9999999999999998 1.55,0.9999999999999998 1.55,2.8 1.35,2.8" data-type="line" data-label="" points="441.1538461538462,241.02564102564105 459.1025641025641,241.02564102564105 459.1025641025641,79.48717948717953 441.1538461538462,79.48717948717953" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-1.55,2.8 -1.9000000000000001,2.8" data-type="line" data-label="" points="180.8974358974359,79.48717948717953 149.48717948717947,79.48717948717953" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-1.35,-1.4000000000000004 -1.701,-1.4000000000000004 -1.701,-1.3490000000000004" data-type="line" data-label="" points="198.84615384615384,456.41025641025647 167.34615384615384,456.41025641025647 167.34615384615384,451.83333333333337" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="1.55,2.8 1.9000000000000001,2.8" data-type="line" data-label="" points="459.1025641025641,79.48717948717953 490.51282051282055,79.48717948717953" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="1.35,-1.4000000000000004 1.701,-1.4000000000000004 1.701,-1.3490000000000004" data-type="line" data-label="" points="441.1538461538462,456.41025641025647 472.6538461538462,456.41025641025647 472.6538461538462,451.83333333333337" fill="none" stroke="purple" stroke-width="1px"/></g><g><rect data-type="rect" data-label="U1" data-x="0" data-y="0" x="198.8461538461538" y="61.53846153846155" width="242.30769230769235" height="538.4615384615385" fill="hsl(164, 100%, 50%, 0.8)" stroke="black" stroke-width="0.011142857142857144"/></g><g><rect data-type="rect" data-label="U1" data-x="-0.83" data-y="3.115" x="229.35897435897436" y="40" width="32.30769230769232" height="22.43589743589746" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.011142857142857144"/></g><g><rect data-type="rect" data-label="netId: V3V3_LEFT
|
|
2
4
|
globalConnNetId: connectivity_net0" data-x="-1.9000000000000001" data-y="3.01" x="122.56410256410255" y="41.79487179487184" width="53.84615384615384" height="37.69230769230771" fill="#ef444466" stroke="#ef4444" stroke-width="0.011142857142857144"/></g><g><rect data-type="rect" data-label="netId: V3V3_LEFT
|
|
3
5
|
globalConnNetId: connectivity_net0" data-x="-1.701" data-y="-1.1390000000000005" x="140.4230769230769" y="414.14102564102575" width="53.84615384615384" height="37.69230769230768" fill="#ef444466" stroke="#ef4444" stroke-width="0.011142857142857144"/></g><g><rect data-type="rect" data-label="netId: V3V3_RIGHT
|
|
4
6
|
globalConnNetId: connectivity_net1" data-x="1.9000000000000001" data-y="3.01" x="463.58974358974365" y="41.79487179487184" width="53.84615384615387" height="37.69230769230771" fill="#ef444466" stroke="#ef4444" stroke-width="0.011142857142857144"/></g><g><rect data-type="rect" data-label="netId: V3V3_RIGHT
|
|
@@ -60,7 +62,7 @@ orientation: y+" data-x="1.701" data-y="-1.3490000000000004" cx="472.65384615384
|
|
|
60
62
|
const h = svg.getElementById('crosshair-h');
|
|
61
63
|
const v = svg.getElementById('crosshair-v');
|
|
62
64
|
const coords = svg.getElementById('coordinates');
|
|
63
|
-
|
|
65
|
+
|
|
64
66
|
crosshair.style.display = 'block';
|
|
65
67
|
h.setAttribute('x1', '0');
|
|
66
68
|
h.setAttribute('x2', '640');
|
|
@@ -79,13 +81,13 @@ orientation: y+" data-x="1.701" data-y="-1.3490000000000004" cx="472.65384615384
|
|
|
79
81
|
// y' = (y - ty) / sy
|
|
80
82
|
const sx = matrix.a;
|
|
81
83
|
const sy = matrix.d;
|
|
82
|
-
const tx = matrix.e;
|
|
84
|
+
const tx = matrix.e;
|
|
83
85
|
const ty = matrix.f;
|
|
84
86
|
const realPoint = {
|
|
85
87
|
x: (x - tx) / sx,
|
|
86
88
|
y: (y - ty) / sy // Flip y back since we used negative scale
|
|
87
89
|
}
|
|
88
|
-
|
|
90
|
+
|
|
89
91
|
coords.textContent = `(${realPoint.x.toFixed(2)}, ${realPoint.y.toFixed(2)})`;
|
|
90
92
|
coords.setAttribute('x', (x + 5).toString());
|
|
91
93
|
coords.setAttribute('y', (y - 5).toString());
|
|
@@ -93,4 +95,48 @@ orientation: y+" data-x="1.701" data-y="-1.3490000000000004" cx="472.65384615384
|
|
|
93
95
|
document.currentScript.parentElement.addEventListener('mouseleave', () => {
|
|
94
96
|
document.currentScript.parentElement.getElementById('crosshair').style.display = 'none';
|
|
95
97
|
});
|
|
96
|
-
]]></script
|
|
98
|
+
]]></script>
|
|
99
|
+
</g>
|
|
100
|
+
<g transform="translate(1216, 200)">
|
|
101
|
+
<style>
|
|
102
|
+
.boundary { fill: rgb(245, 241, 237); }
|
|
103
|
+
.schematic-boundary { fill: none; stroke: #fff; }
|
|
104
|
+
.component { fill: none; stroke: rgb(132, 0, 0); }
|
|
105
|
+
.chip { fill: rgb(255, 255, 194); stroke: rgb(132, 0, 0); }
|
|
106
|
+
.component-pin { fill: none; stroke: rgb(132, 0, 0); }
|
|
107
|
+
.text { font-family: sans-serif; fill: rgb(0, 150, 0); }
|
|
108
|
+
.pin-number { fill: rgb(169, 0, 0); }
|
|
109
|
+
.port-label { fill: rgb(0, 100, 100); }
|
|
110
|
+
.component-name { fill: rgb(0, 100, 100); }
|
|
111
|
+
|
|
112
|
+
</style><rect class="boundary" x="0" y="0" width="1200" height="800"/><g class="trace sch-trace" data-layer="base" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_0__stack1"><path d="M 450.828729281715 302.76243093920004 L 428.72928176789503 302.76243093920004 L 428.72928176789503 103.86740331482008 L 450.828729281715 103.86740331482008" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="17.679558011056px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 450.828729281715 302.76243093920004 L 428.72928176789503 302.76243093920004 L 428.72928176789503 103.86740331482008 L 450.828729281715 103.86740331482008" stroke="rgb(0, 150, 0)" fill="none" stroke-width="2.209944751382px" stroke-linecap="round" stroke-linejoin="round"/></g><g class="trace sch-trace" data-layer="base" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_1__stack1"><path d="M 749.171270718285 302.76243093920004 L 771.270718232105 302.76243093920004 L 771.270718232105 103.86740331482008 L 749.171270718285 103.86740331482008" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="17.679558011056px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 749.171270718285 302.76243093920004 L 771.270718232105 302.76243093920004 L 771.270718232105 103.86740331482008 L 749.171270718285 103.86740331482008" stroke="rgb(0, 150, 0)" fill="none" stroke-width="2.209944751382px" stroke-linecap="round" stroke-linejoin="round"/></g><g class="trace sch-trace" data-layer="base" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_2__stack1"><path d="M 428.72928176789503 103.86740331482008 L 390.05524861871004 103.86740331482008" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="17.679558011056px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 428.72928176789503 103.86740331482008 L 390.05524861871004 103.86740331482008" stroke="rgb(0, 150, 0)" fill="none" stroke-width="2.209944751382px" stroke-linecap="round" stroke-linejoin="round"/></g><g class="trace sch-trace" data-layer="base" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_3__stack1"><path d="M 450.828729281715 567.9558011050401 L 412.0441988949609 567.9558011050401 L 412.0441988949609 562.320441989016" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="17.679558011056px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 450.828729281715 567.9558011050401 L 412.0441988949609 567.9558011050401 L 412.0441988949609 562.320441989016" stroke="rgb(0, 150, 0)" fill="none" stroke-width="2.209944751382px" stroke-linecap="round" stroke-linejoin="round"/></g><g class="trace sch-trace" data-layer="base" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_4__stack1"><path d="M 771.270718232105 103.86740331482008 L 809.94475138129 103.86740331482008" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="17.679558011056px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 771.270718232105 103.86740331482008 L 809.94475138129 103.86740331482008" stroke="rgb(0, 150, 0)" fill="none" stroke-width="2.209944751382px" stroke-linecap="round" stroke-linejoin="round"/></g><g class="trace sch-trace" data-layer="base" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_5__stack1"><path d="M 749.171270718285 567.9558011050401 L 787.9558011050391 567.9558011050401 L 787.9558011050391 562.320441989016" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="17.679558011056px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 749.171270718285 567.9558011050401 L 787.9558011050391 567.9558011050401 L 787.9558011050391 562.320441989016" stroke="rgb(0, 150, 0)" fill="none" stroke-width="2.209944751382px" stroke-linecap="round" stroke-linejoin="round"/></g><g class="trace-overlays sch-trace-overlays" data-layer="overlay" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_0__stack1"><circle cx="428.72928176789503" cy="103.86740331482008" r="3.3149171270729996" class="trace-junction sch-trace-junction" fill="rgb(0, 150, 0)"/></g><g class="trace-overlays sch-trace-overlays" data-layer="overlay" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_1__stack1"><circle cx="771.270718232105" cy="103.86740331482008" r="3.3149171270729996" class="trace-junction sch-trace-junction" fill="rgb(0, 150, 0)"/></g><g class="trace-overlays sch-trace-overlays" data-layer="overlay" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_2__stack1"/><g class="trace-overlays sch-trace-overlays" data-layer="overlay" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_3__stack1"/><g class="trace-overlays sch-trace-overlays" data-layer="overlay" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_4__stack1"/><g class="trace-overlays sch-trace-overlays" data-layer="overlay" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_5__stack1"/><g class="sch-component" data-circuit-json-type="schematic_component" data-schematic-component-id="schematic_component_0__stack1"><rect class="component chip sch-component-body" x="495.027624309355" y="81.76795580100003" width="209.94475138128996" height="662.9834254146001" stroke-width="2.209944751382px" fill="rgb(255, 255, 194)" stroke="rgb(132, 0, 0)"/><rect class="component-overlay sch-component-overlay" x="495.027624309355" y="81.76795580100003" width="209.94475138128996" height="662.9834254146001" fill="transparent"/><text class="sch-text" x="600" y="413.2596685083" fill="#0f172a" text-anchor="middle" dominant-baseline="middle" font-family="sans-serif" font-size="19.889502762438px" transform="rotate(0, 600, 413.2596685083)">U1</text><line class="component-pin sch-component-pin sch-port-line" x1="495.027624309355" y1="103.86740331482008" x2="450.828729281715" y2="103.86740331482008" stroke-width="2.209944751382px"/><g class="sch-port" data-schematic-port-id="source_port_0_0__stack1"><rect x="448.618784530333" y="101.65745856343808" width="4.419889502764" height="4.419889502764" opacity="0"/></g><text class="pin-number sch-pin-number" x="472.928176795535" y="101.65745856343807" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.574585635364997px" transform=""></text><text class="pin-number sch-pin-label" x="506.077348066265" y="103.86740331482008" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="start" dominant-baseline="middle" font-size="16.574585635364997px" transform="">left.1</text><line class="component-pin sch-component-pin sch-port-line" x1="495.027624309355" y1="125.96685082864008" x2="453.038674033097" y2="125.96685082864008" stroke-width="2.209944751382px"/><g class="sch-port" data-schematic-port-id="source_port_0_1__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="450.828729281715" cy="125.96685082864008" r="2.209944751382" stroke-width="2.209944751382px"/><rect x="448.618784530333" y="123.75690607725808" width="4.419889502764" height="4.419889502764" opacity="0"/></g><text class="pin-number sch-pin-number" x="472.928176795535" y="123.75690607725807" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.574585635364997px" transform=""></text><text class="pin-number sch-pin-label" x="506.077348066265" y="125.96685082864008" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="start" dominant-baseline="middle" font-size="16.574585635364997px" transform="">left.2</text><line class="component-pin sch-component-pin sch-port-line" x1="495.027624309355" y1="148.06629834246007" x2="453.038674033097" y2="148.06629834246007" stroke-width="2.209944751382px"/><g class="sch-port" data-schematic-port-id="source_port_0_2__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="450.828729281715" cy="148.06629834246007" r="2.209944751382" stroke-width="2.209944751382px"/><rect x="448.618784530333" y="145.85635359107806" width="4.419889502764" height="4.419889502764" opacity="0"/></g><text class="pin-number sch-pin-number" x="472.928176795535" y="145.85635359107806" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.574585635364997px" transform=""></text><text class="pin-number sch-pin-label" x="506.077348066265" y="148.06629834246007" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="start" dominant-baseline="middle" font-size="16.574585635364997px" transform="">left.3</text><line class="component-pin sch-component-pin sch-port-line" x1="495.027624309355" y1="170.16574585628007" x2="453.038674033097" y2="170.16574585628007" stroke-width="2.209944751382px"/><g class="sch-port" data-schematic-port-id="source_port_0_3__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="450.828729281715" cy="170.16574585628007" r="2.209944751382" stroke-width="2.209944751382px"/><rect x="448.618784530333" y="167.95580110489806" width="4.419889502764" height="4.419889502764" opacity="0"/></g><text class="pin-number sch-pin-number" x="472.928176795535" y="167.95580110489806" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.574585635364997px" transform=""></text><text class="pin-number sch-pin-label" x="506.077348066265" y="170.16574585628007" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="start" dominant-baseline="middle" font-size="16.574585635364997px" transform="">left.4</text><line class="component-pin sch-component-pin sch-port-line" x1="495.027624309355" y1="192.26519337010006" x2="453.038674033097" y2="192.26519337010006" stroke-width="2.209944751382px"/><g class="sch-port" data-schematic-port-id="source_port_0_4__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="450.828729281715" cy="192.26519337010006" r="2.209944751382" stroke-width="2.209944751382px"/><rect x="448.618784530333" y="190.05524861871805" width="4.419889502764" height="4.419889502764" opacity="0"/></g><text class="pin-number sch-pin-number" x="472.928176795535" y="190.05524861871808" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.574585635364997px" transform=""></text><text class="pin-number sch-pin-label" x="506.077348066265" y="192.26519337010006" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="start" dominant-baseline="middle" font-size="16.574585635364997px" transform="">left.5</text><line class="component-pin sch-component-pin sch-port-line" x1="495.027624309355" y1="214.36464088392006" x2="453.038674033097" y2="214.36464088392006" stroke-width="2.209944751382px"/><g class="sch-port" data-schematic-port-id="source_port_0_5__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="450.828729281715" cy="214.36464088392006" r="2.209944751382" stroke-width="2.209944751382px"/><rect x="448.618784530333" y="212.15469613253805" width="4.419889502764" height="4.419889502764" opacity="0"/></g><text class="pin-number sch-pin-number" x="472.928176795535" y="212.15469613253805" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.574585635364997px" transform=""></text><text class="pin-number sch-pin-label" x="506.077348066265" y="214.36464088392006" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="start" dominant-baseline="middle" font-size="16.574585635364997px" transform="">left.6</text><line class="component-pin sch-component-pin sch-port-line" x1="495.027624309355" y1="236.46408839774008" x2="453.038674033097" y2="236.46408839774008" stroke-width="2.209944751382px"/><g class="sch-port" data-schematic-port-id="source_port_0_6__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="450.828729281715" cy="236.46408839774008" r="2.209944751382" stroke-width="2.209944751382px"/><rect x="448.618784530333" y="234.25414364635807" width="4.419889502764" height="4.419889502764" opacity="0"/></g><text class="pin-number sch-pin-number" x="472.928176795535" y="234.25414364635807" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.574585635364997px" transform=""></text><text class="pin-number sch-pin-label" x="506.077348066265" y="236.46408839774008" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="start" dominant-baseline="middle" font-size="16.574585635364997px" transform="">left.7</text><line class="component-pin sch-component-pin sch-port-line" x1="495.027624309355" y1="258.56353591156005" x2="453.038674033097" y2="258.56353591156005" stroke-width="2.209944751382px"/><g class="sch-port" data-schematic-port-id="source_port_0_7__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="450.828729281715" cy="258.56353591156005" r="2.209944751382" stroke-width="2.209944751382px"/><rect x="448.618784530333" y="256.35359116017804" width="4.419889502764" height="4.419889502764" opacity="0"/></g><text class="pin-number sch-pin-number" x="472.928176795535" y="256.3535911601781" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.574585635364997px" transform=""></text><text class="pin-number sch-pin-label" x="506.077348066265" y="258.56353591156005" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="start" dominant-baseline="middle" font-size="16.574585635364997px" transform="">left.8</text><line class="component-pin sch-component-pin sch-port-line" x1="495.027624309355" y1="280.66298342538005" x2="453.038674033097" y2="280.66298342538005" stroke-width="2.209944751382px"/><g class="sch-port" data-schematic-port-id="source_port_0_8__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="450.828729281715" cy="280.66298342538005" r="2.209944751382" stroke-width="2.209944751382px"/><rect x="448.618784530333" y="278.45303867399804" width="4.419889502764" height="4.419889502764" opacity="0"/></g><text class="pin-number sch-pin-number" x="472.928176795535" y="278.4530386739981" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.574585635364997px" transform=""></text><text class="pin-number sch-pin-label" x="506.077348066265" y="280.66298342538005" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="start" dominant-baseline="middle" font-size="16.574585635364997px" transform="">left.9</text><line class="component-pin sch-component-pin sch-port-line" x1="495.027624309355" y1="302.76243093920004" x2="450.828729281715" y2="302.76243093920004" stroke-width="2.209944751382px"/><g class="sch-port" data-schematic-port-id="source_port_0_9__stack1"><rect x="448.618784530333" y="300.55248618781803" width="4.419889502764" height="4.419889502764" opacity="0"/></g><text class="pin-number sch-pin-number" x="472.928176795535" y="300.55248618781803" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.574585635364997px" transform=""></text><text class="pin-number sch-pin-label" x="506.077348066265" y="302.76243093920004" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="start" dominant-baseline="middle" font-size="16.574585635364997px" transform="">left.10</text><line class="component-pin sch-component-pin sch-port-line" x1="495.027624309355" y1="324.86187845302004" x2="453.038674033097" y2="324.86187845302004" stroke-width="2.209944751382px"/><g class="sch-port" data-schematic-port-id="source_port_0_10__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="450.828729281715" cy="324.86187845302004" r="2.209944751382" stroke-width="2.209944751382px"/><rect x="448.618784530333" y="322.65193370163803" width="4.419889502764" height="4.419889502764" opacity="0"/></g><text class="pin-number sch-pin-number" x="472.928176795535" y="322.65193370163803" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.574585635364997px" transform=""></text><text class="pin-number sch-pin-label" x="506.077348066265" y="324.86187845302004" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="start" dominant-baseline="middle" font-size="16.574585635364997px" transform="">left.11</text><line class="component-pin sch-component-pin sch-port-line" x1="495.027624309355" y1="346.96132596684004" x2="453.038674033097" y2="346.96132596684004" stroke-width="2.209944751382px"/><g class="sch-port" data-schematic-port-id="source_port_0_11__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="450.828729281715" cy="346.96132596684004" r="2.209944751382" stroke-width="2.209944751382px"/><rect x="448.618784530333" y="344.751381215458" width="4.419889502764" height="4.419889502764" opacity="0"/></g><text class="pin-number sch-pin-number" x="472.928176795535" y="344.7513812154581" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.574585635364997px" transform=""></text><text class="pin-number sch-pin-label" x="506.077348066265" y="346.96132596684004" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="start" dominant-baseline="middle" font-size="16.574585635364997px" transform="">left.12</text><line class="component-pin sch-component-pin sch-port-line" x1="495.027624309355" y1="369.0607734806601" x2="453.038674033097" y2="369.0607734806601" stroke-width="2.209944751382px"/><g class="sch-port" data-schematic-port-id="source_port_0_12__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="450.828729281715" cy="369.0607734806601" r="2.209944751382" stroke-width="2.209944751382px"/><rect x="448.618784530333" y="366.8508287292781" width="4.419889502764" height="4.419889502764" opacity="0"/></g><text class="pin-number sch-pin-number" x="472.928176795535" y="366.8508287292781" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.574585635364997px" transform=""></text><text class="pin-number sch-pin-label" x="506.077348066265" y="369.0607734806601" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="start" dominant-baseline="middle" font-size="16.574585635364997px" transform="">left.13</text><line class="component-pin sch-component-pin sch-port-line" x1="495.027624309355" y1="391.16022099448" x2="453.038674033097" y2="391.16022099448" stroke-width="2.209944751382px"/><g class="sch-port" data-schematic-port-id="source_port_0_13__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="450.828729281715" cy="391.16022099448" r="2.209944751382" stroke-width="2.209944751382px"/><rect x="448.618784530333" y="388.950276243098" width="4.419889502764" height="4.419889502764" opacity="0"/></g><text class="pin-number sch-pin-number" x="472.928176795535" y="388.9502762430981" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.574585635364997px" transform=""></text><text class="pin-number sch-pin-label" x="506.077348066265" y="391.16022099448" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="start" dominant-baseline="middle" font-size="16.574585635364997px" transform="">left.14</text><line class="component-pin sch-component-pin sch-port-line" x1="495.027624309355" y1="413.2596685083001" x2="453.038674033097" y2="413.2596685083001" stroke-width="2.209944751382px"/><g class="sch-port" data-schematic-port-id="source_port_0_14__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="450.828729281715" cy="413.2596685083001" r="2.209944751382" stroke-width="2.209944751382px"/><rect x="448.618784530333" y="411.04972375691807" width="4.419889502764" height="4.419889502764" opacity="0"/></g><text class="pin-number sch-pin-number" x="472.928176795535" y="411.04972375691807" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.574585635364997px" transform=""></text><text class="pin-number sch-pin-label" x="506.077348066265" y="413.2596685083001" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="start" dominant-baseline="middle" font-size="16.574585635364997px" transform="">left.15</text><line class="component-pin sch-component-pin sch-port-line" x1="495.027624309355" y1="435.35911602212" x2="453.038674033097" y2="435.35911602212" stroke-width="2.209944751382px"/><g class="sch-port" data-schematic-port-id="source_port_0_15__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="450.828729281715" cy="435.35911602212" r="2.209944751382" stroke-width="2.209944751382px"/><rect x="448.618784530333" y="433.149171270738" width="4.419889502764" height="4.419889502764" opacity="0"/></g><text class="pin-number sch-pin-number" x="472.928176795535" y="433.14917127073807" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.574585635364997px" transform=""></text><text class="pin-number sch-pin-label" x="506.077348066265" y="435.35911602212" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="start" dominant-baseline="middle" font-size="16.574585635364997px" transform="">left.16</text><line class="component-pin sch-component-pin sch-port-line" x1="495.027624309355" y1="457.4585635359401" x2="453.038674033097" y2="457.4585635359401" stroke-width="2.209944751382px"/><g class="sch-port" data-schematic-port-id="source_port_0_16__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="450.828729281715" cy="457.4585635359401" r="2.209944751382" stroke-width="2.209944751382px"/><rect x="448.618784530333" y="455.24861878455806" width="4.419889502764" height="4.419889502764" opacity="0"/></g><text class="pin-number sch-pin-number" x="472.928176795535" y="455.24861878455806" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.574585635364997px" transform=""></text><text class="pin-number sch-pin-label" x="506.077348066265" y="457.4585635359401" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="start" dominant-baseline="middle" font-size="16.574585635364997px" transform="">left.17</text><line class="component-pin sch-component-pin sch-port-line" x1="495.027624309355" y1="479.55801104976007" x2="453.038674033097" y2="479.55801104976007" stroke-width="2.209944751382px"/><g class="sch-port" data-schematic-port-id="source_port_0_17__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="450.828729281715" cy="479.55801104976007" r="2.209944751382" stroke-width="2.209944751382px"/><rect x="448.618784530333" y="477.34806629837806" width="4.419889502764" height="4.419889502764" opacity="0"/></g><text class="pin-number sch-pin-number" x="472.928176795535" y="477.34806629837806" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.574585635364997px" transform=""></text><text class="pin-number sch-pin-label" x="506.077348066265" y="479.55801104976007" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="start" dominant-baseline="middle" font-size="16.574585635364997px" transform="">left.18</text><line class="component-pin sch-component-pin sch-port-line" x1="495.027624309355" y1="501.65745856358006" x2="453.038674033097" y2="501.65745856358006" stroke-width="2.209944751382px"/><g class="sch-port" data-schematic-port-id="source_port_0_18__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="450.828729281715" cy="501.65745856358006" r="2.209944751382" stroke-width="2.209944751382px"/><rect x="448.618784530333" y="499.44751381219805" width="4.419889502764" height="4.419889502764" opacity="0"/></g><text class="pin-number sch-pin-number" x="472.928176795535" y="499.44751381219805" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.574585635364997px" transform=""></text><text class="pin-number sch-pin-label" x="506.077348066265" y="501.65745856358006" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="start" dominant-baseline="middle" font-size="16.574585635364997px" transform="">left.19</text><line class="component-pin sch-component-pin sch-port-line" x1="495.027624309355" y1="523.7569060774001" x2="453.038674033097" y2="523.7569060774001" stroke-width="2.209944751382px"/><g class="sch-port" data-schematic-port-id="source_port_0_19__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="450.828729281715" cy="523.7569060774001" r="2.209944751382" stroke-width="2.209944751382px"/><rect x="448.618784530333" y="521.5469613260182" width="4.419889502764" height="4.419889502764" opacity="0"/></g><text class="pin-number sch-pin-number" x="472.928176795535" y="521.546961326018" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.574585635364997px" transform=""></text><text class="pin-number sch-pin-label" x="506.077348066265" y="523.7569060774001" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="start" dominant-baseline="middle" font-size="16.574585635364997px" transform="">left.20</text><line class="component-pin sch-component-pin sch-port-line" x1="495.027624309355" y1="545.85635359122" x2="453.038674033097" y2="545.85635359122" stroke-width="2.209944751382px"/><g class="sch-port" data-schematic-port-id="source_port_0_20__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="450.828729281715" cy="545.85635359122" r="2.209944751382" stroke-width="2.209944751382px"/><rect x="448.618784530333" y="543.646408839838" width="4.419889502764" height="4.419889502764" opacity="0"/></g><text class="pin-number sch-pin-number" x="472.928176795535" y="543.646408839838" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.574585635364997px" transform=""></text><text class="pin-number sch-pin-label" x="506.077348066265" y="545.85635359122" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="start" dominant-baseline="middle" font-size="16.574585635364997px" transform="">left.21</text><line class="component-pin sch-component-pin sch-port-line" x1="495.027624309355" y1="567.9558011050401" x2="450.828729281715" y2="567.9558011050401" stroke-width="2.209944751382px"/><g class="sch-port" data-schematic-port-id="source_port_0_21__stack1"><rect x="448.618784530333" y="565.7458563536582" width="4.419889502764" height="4.419889502764" opacity="0"/></g><text class="pin-number sch-pin-number" x="472.928176795535" y="565.745856353658" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.574585635364997px" transform=""></text><text class="pin-number sch-pin-label" x="506.077348066265" y="567.9558011050401" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="start" dominant-baseline="middle" font-size="16.574585635364997px" transform="">left.22</text><line class="component-pin sch-component-pin sch-port-line" x1="704.972375690645" y1="103.86740331482008" x2="749.171270718285" y2="103.86740331482008" stroke-width="2.209944751382px"/><g class="sch-port" data-schematic-port-id="source_port_0_22__stack1"><rect x="746.961325966903" y="101.65745856343808" width="4.419889502764" height="4.419889502764" opacity="0"/></g><text class="pin-number sch-pin-number" x="727.071823204465" y="101.65745856343807" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.574585635364997px" transform=""></text><text class="pin-number sch-pin-label" x="693.922651933735" y="103.86740331482008" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="end" dominant-baseline="middle" font-size="16.574585635364997px" transform="">right.1</text><line class="component-pin sch-component-pin sch-port-line" x1="704.972375690645" y1="125.96685082864008" x2="746.961325966903" y2="125.96685082864008" stroke-width="2.209944751382px"/><g class="sch-port" data-schematic-port-id="source_port_0_23__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="749.171270718285" cy="125.96685082864008" r="2.209944751382" stroke-width="2.209944751382px"/><rect x="746.961325966903" y="123.75690607725808" width="4.419889502764" height="4.419889502764" opacity="0"/></g><text class="pin-number sch-pin-number" x="727.071823204465" y="123.75690607725807" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.574585635364997px" transform=""></text><text class="pin-number sch-pin-label" x="693.922651933735" y="125.96685082864008" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="end" dominant-baseline="middle" font-size="16.574585635364997px" transform="">right.2</text><line class="component-pin sch-component-pin sch-port-line" x1="704.972375690645" y1="148.06629834246007" x2="746.961325966903" y2="148.06629834246007" stroke-width="2.209944751382px"/><g class="sch-port" data-schematic-port-id="source_port_0_24__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="749.171270718285" cy="148.06629834246007" r="2.209944751382" stroke-width="2.209944751382px"/><rect x="746.961325966903" y="145.85635359107806" width="4.419889502764" height="4.419889502764" opacity="0"/></g><text class="pin-number sch-pin-number" x="727.071823204465" y="145.85635359107806" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.574585635364997px" transform=""></text><text class="pin-number sch-pin-label" x="693.922651933735" y="148.06629834246007" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="end" dominant-baseline="middle" font-size="16.574585635364997px" transform="">right.3</text><line class="component-pin sch-component-pin sch-port-line" x1="704.972375690645" y1="170.16574585628007" x2="746.961325966903" y2="170.16574585628007" stroke-width="2.209944751382px"/><g class="sch-port" data-schematic-port-id="source_port_0_25__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="749.171270718285" cy="170.16574585628007" r="2.209944751382" stroke-width="2.209944751382px"/><rect x="746.961325966903" y="167.95580110489806" width="4.419889502764" height="4.419889502764" opacity="0"/></g><text class="pin-number sch-pin-number" x="727.071823204465" y="167.95580110489806" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.574585635364997px" transform=""></text><text class="pin-number sch-pin-label" x="693.922651933735" y="170.16574585628007" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="end" dominant-baseline="middle" font-size="16.574585635364997px" transform="">right.4</text><line class="component-pin sch-component-pin sch-port-line" x1="704.972375690645" y1="192.26519337010006" x2="746.961325966903" y2="192.26519337010006" stroke-width="2.209944751382px"/><g class="sch-port" data-schematic-port-id="source_port_0_26__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="749.171270718285" cy="192.26519337010006" r="2.209944751382" stroke-width="2.209944751382px"/><rect x="746.961325966903" y="190.05524861871805" width="4.419889502764" height="4.419889502764" opacity="0"/></g><text class="pin-number sch-pin-number" x="727.071823204465" y="190.05524861871808" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.574585635364997px" transform=""></text><text class="pin-number sch-pin-label" x="693.922651933735" y="192.26519337010006" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="end" dominant-baseline="middle" font-size="16.574585635364997px" transform="">right.5</text><line class="component-pin sch-component-pin sch-port-line" x1="704.972375690645" y1="214.36464088392006" x2="746.961325966903" y2="214.36464088392006" stroke-width="2.209944751382px"/><g class="sch-port" data-schematic-port-id="source_port_0_27__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="749.171270718285" cy="214.36464088392006" r="2.209944751382" stroke-width="2.209944751382px"/><rect x="746.961325966903" y="212.15469613253805" width="4.419889502764" height="4.419889502764" opacity="0"/></g><text class="pin-number sch-pin-number" x="727.071823204465" y="212.15469613253805" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.574585635364997px" transform=""></text><text class="pin-number sch-pin-label" x="693.922651933735" y="214.36464088392006" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="end" dominant-baseline="middle" font-size="16.574585635364997px" transform="">right.6</text><line class="component-pin sch-component-pin sch-port-line" x1="704.972375690645" y1="236.46408839774008" x2="746.961325966903" y2="236.46408839774008" stroke-width="2.209944751382px"/><g class="sch-port" data-schematic-port-id="source_port_0_28__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="749.171270718285" cy="236.46408839774008" r="2.209944751382" stroke-width="2.209944751382px"/><rect x="746.961325966903" y="234.25414364635807" width="4.419889502764" height="4.419889502764" opacity="0"/></g><text class="pin-number sch-pin-number" x="727.071823204465" y="234.25414364635807" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.574585635364997px" transform=""></text><text class="pin-number sch-pin-label" x="693.922651933735" y="236.46408839774008" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="end" dominant-baseline="middle" font-size="16.574585635364997px" transform="">right.7</text><line class="component-pin sch-component-pin sch-port-line" x1="704.972375690645" y1="258.56353591156005" x2="746.961325966903" y2="258.56353591156005" stroke-width="2.209944751382px"/><g class="sch-port" data-schematic-port-id="source_port_0_29__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="749.171270718285" cy="258.56353591156005" r="2.209944751382" stroke-width="2.209944751382px"/><rect x="746.961325966903" y="256.35359116017804" width="4.419889502764" height="4.419889502764" opacity="0"/></g><text class="pin-number sch-pin-number" x="727.071823204465" y="256.3535911601781" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.574585635364997px" transform=""></text><text class="pin-number sch-pin-label" x="693.922651933735" y="258.56353591156005" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="end" dominant-baseline="middle" font-size="16.574585635364997px" transform="">right.8</text><line class="component-pin sch-component-pin sch-port-line" x1="704.972375690645" y1="280.66298342538005" x2="746.961325966903" y2="280.66298342538005" stroke-width="2.209944751382px"/><g class="sch-port" data-schematic-port-id="source_port_0_30__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="749.171270718285" cy="280.66298342538005" r="2.209944751382" stroke-width="2.209944751382px"/><rect x="746.961325966903" y="278.45303867399804" width="4.419889502764" height="4.419889502764" opacity="0"/></g><text class="pin-number sch-pin-number" x="727.071823204465" y="278.4530386739981" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.574585635364997px" transform=""></text><text class="pin-number sch-pin-label" x="693.922651933735" y="280.66298342538005" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="end" dominant-baseline="middle" font-size="16.574585635364997px" transform="">right.9</text><line class="component-pin sch-component-pin sch-port-line" x1="704.972375690645" y1="302.76243093920004" x2="749.171270718285" y2="302.76243093920004" stroke-width="2.209944751382px"/><g class="sch-port" data-schematic-port-id="source_port_0_31__stack1"><rect x="746.961325966903" y="300.55248618781803" width="4.419889502764" height="4.419889502764" opacity="0"/></g><text class="pin-number sch-pin-number" x="727.071823204465" y="300.55248618781803" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.574585635364997px" transform=""></text><text class="pin-number sch-pin-label" x="693.922651933735" y="302.76243093920004" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="end" dominant-baseline="middle" font-size="16.574585635364997px" transform="">right.10</text><line class="component-pin sch-component-pin sch-port-line" x1="704.972375690645" y1="324.86187845302004" x2="746.961325966903" y2="324.86187845302004" stroke-width="2.209944751382px"/><g class="sch-port" data-schematic-port-id="source_port_0_32__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="749.171270718285" cy="324.86187845302004" r="2.209944751382" stroke-width="2.209944751382px"/><rect x="746.961325966903" y="322.65193370163803" width="4.419889502764" height="4.419889502764" opacity="0"/></g><text class="pin-number sch-pin-number" x="727.071823204465" y="322.65193370163803" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.574585635364997px" transform=""></text><text class="pin-number sch-pin-label" x="693.922651933735" y="324.86187845302004" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="end" dominant-baseline="middle" font-size="16.574585635364997px" transform="">right.11</text><line class="component-pin sch-component-pin sch-port-line" x1="704.972375690645" y1="346.96132596684004" x2="746.961325966903" y2="346.96132596684004" stroke-width="2.209944751382px"/><g class="sch-port" data-schematic-port-id="source_port_0_33__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="749.171270718285" cy="346.96132596684004" r="2.209944751382" stroke-width="2.209944751382px"/><rect x="746.961325966903" y="344.751381215458" width="4.419889502764" height="4.419889502764" opacity="0"/></g><text class="pin-number sch-pin-number" x="727.071823204465" y="344.7513812154581" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.574585635364997px" transform=""></text><text class="pin-number sch-pin-label" x="693.922651933735" y="346.96132596684004" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="end" dominant-baseline="middle" font-size="16.574585635364997px" transform="">right.12</text><line class="component-pin sch-component-pin sch-port-line" x1="704.972375690645" y1="369.0607734806601" x2="746.961325966903" y2="369.0607734806601" stroke-width="2.209944751382px"/><g class="sch-port" data-schematic-port-id="source_port_0_34__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="749.171270718285" cy="369.0607734806601" r="2.209944751382" stroke-width="2.209944751382px"/><rect x="746.961325966903" y="366.8508287292781" width="4.419889502764" height="4.419889502764" opacity="0"/></g><text class="pin-number sch-pin-number" x="727.071823204465" y="366.8508287292781" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.574585635364997px" transform=""></text><text class="pin-number sch-pin-label" x="693.922651933735" y="369.0607734806601" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="end" dominant-baseline="middle" font-size="16.574585635364997px" transform="">right.13</text><line class="component-pin sch-component-pin sch-port-line" x1="704.972375690645" y1="391.16022099448" x2="746.961325966903" y2="391.16022099448" stroke-width="2.209944751382px"/><g class="sch-port" data-schematic-port-id="source_port_0_35__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="749.171270718285" cy="391.16022099448" r="2.209944751382" stroke-width="2.209944751382px"/><rect x="746.961325966903" y="388.950276243098" width="4.419889502764" height="4.419889502764" opacity="0"/></g><text class="pin-number sch-pin-number" x="727.071823204465" y="388.9502762430981" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.574585635364997px" transform=""></text><text class="pin-number sch-pin-label" x="693.922651933735" y="391.16022099448" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="end" dominant-baseline="middle" font-size="16.574585635364997px" transform="">right.14</text><line class="component-pin sch-component-pin sch-port-line" x1="704.972375690645" y1="413.2596685083001" x2="746.961325966903" y2="413.2596685083001" stroke-width="2.209944751382px"/><g class="sch-port" data-schematic-port-id="source_port_0_36__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="749.171270718285" cy="413.2596685083001" r="2.209944751382" stroke-width="2.209944751382px"/><rect x="746.961325966903" y="411.04972375691807" width="4.419889502764" height="4.419889502764" opacity="0"/></g><text class="pin-number sch-pin-number" x="727.071823204465" y="411.04972375691807" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.574585635364997px" transform=""></text><text class="pin-number sch-pin-label" x="693.922651933735" y="413.2596685083001" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="end" dominant-baseline="middle" font-size="16.574585635364997px" transform="">right.15</text><line class="component-pin sch-component-pin sch-port-line" x1="704.972375690645" y1="435.35911602212" x2="746.961325966903" y2="435.35911602212" stroke-width="2.209944751382px"/><g class="sch-port" data-schematic-port-id="source_port_0_37__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="749.171270718285" cy="435.35911602212" r="2.209944751382" stroke-width="2.209944751382px"/><rect x="746.961325966903" y="433.149171270738" width="4.419889502764" height="4.419889502764" opacity="0"/></g><text class="pin-number sch-pin-number" x="727.071823204465" y="433.14917127073807" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.574585635364997px" transform=""></text><text class="pin-number sch-pin-label" x="693.922651933735" y="435.35911602212" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="end" dominant-baseline="middle" font-size="16.574585635364997px" transform="">right.16</text><line class="component-pin sch-component-pin sch-port-line" x1="704.972375690645" y1="457.4585635359401" x2="746.961325966903" y2="457.4585635359401" stroke-width="2.209944751382px"/><g class="sch-port" data-schematic-port-id="source_port_0_38__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="749.171270718285" cy="457.4585635359401" r="2.209944751382" stroke-width="2.209944751382px"/><rect x="746.961325966903" y="455.24861878455806" width="4.419889502764" height="4.419889502764" opacity="0"/></g><text class="pin-number sch-pin-number" x="727.071823204465" y="455.24861878455806" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.574585635364997px" transform=""></text><text class="pin-number sch-pin-label" x="693.922651933735" y="457.4585635359401" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="end" dominant-baseline="middle" font-size="16.574585635364997px" transform="">right.17</text><line class="component-pin sch-component-pin sch-port-line" x1="704.972375690645" y1="479.55801104976007" x2="746.961325966903" y2="479.55801104976007" stroke-width="2.209944751382px"/><g class="sch-port" data-schematic-port-id="source_port_0_39__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="749.171270718285" cy="479.55801104976007" r="2.209944751382" stroke-width="2.209944751382px"/><rect x="746.961325966903" y="477.34806629837806" width="4.419889502764" height="4.419889502764" opacity="0"/></g><text class="pin-number sch-pin-number" x="727.071823204465" y="477.34806629837806" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.574585635364997px" transform=""></text><text class="pin-number sch-pin-label" x="693.922651933735" y="479.55801104976007" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="end" dominant-baseline="middle" font-size="16.574585635364997px" transform="">right.18</text><line class="component-pin sch-component-pin sch-port-line" x1="704.972375690645" y1="501.65745856358006" x2="746.961325966903" y2="501.65745856358006" stroke-width="2.209944751382px"/><g class="sch-port" data-schematic-port-id="source_port_0_40__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="749.171270718285" cy="501.65745856358006" r="2.209944751382" stroke-width="2.209944751382px"/><rect x="746.961325966903" y="499.44751381219805" width="4.419889502764" height="4.419889502764" opacity="0"/></g><text class="pin-number sch-pin-number" x="727.071823204465" y="499.44751381219805" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.574585635364997px" transform=""></text><text class="pin-number sch-pin-label" x="693.922651933735" y="501.65745856358006" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="end" dominant-baseline="middle" font-size="16.574585635364997px" transform="">right.19</text><line class="component-pin sch-component-pin sch-port-line" x1="704.972375690645" y1="523.7569060774001" x2="746.961325966903" y2="523.7569060774001" stroke-width="2.209944751382px"/><g class="sch-port" data-schematic-port-id="source_port_0_41__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="749.171270718285" cy="523.7569060774001" r="2.209944751382" stroke-width="2.209944751382px"/><rect x="746.961325966903" y="521.5469613260182" width="4.419889502764" height="4.419889502764" opacity="0"/></g><text class="pin-number sch-pin-number" x="727.071823204465" y="521.546961326018" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.574585635364997px" transform=""></text><text class="pin-number sch-pin-label" x="693.922651933735" y="523.7569060774001" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="end" dominant-baseline="middle" font-size="16.574585635364997px" transform="">right.20</text><line class="component-pin sch-component-pin sch-port-line" x1="704.972375690645" y1="545.85635359122" x2="746.961325966903" y2="545.85635359122" stroke-width="2.209944751382px"/><g class="sch-port" data-schematic-port-id="source_port_0_42__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="749.171270718285" cy="545.85635359122" r="2.209944751382" stroke-width="2.209944751382px"/><rect x="746.961325966903" y="543.646408839838" width="4.419889502764" height="4.419889502764" opacity="0"/></g><text class="pin-number sch-pin-number" x="727.071823204465" y="543.646408839838" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.574585635364997px" transform=""></text><text class="pin-number sch-pin-label" x="693.922651933735" y="545.85635359122" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="end" dominant-baseline="middle" font-size="16.574585635364997px" transform="">right.21</text><line class="component-pin sch-component-pin sch-port-line" x1="704.972375690645" y1="567.9558011050401" x2="749.171270718285" y2="567.9558011050401" stroke-width="2.209944751382px"/><g class="sch-port" data-schematic-port-id="source_port_0_43__stack1"><rect x="746.961325966903" y="565.7458563536582" width="4.419889502764" height="4.419889502764" opacity="0"/></g><text class="pin-number sch-pin-number" x="727.071823204465" y="565.745856353658" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.574585635364997px" transform=""></text><text class="pin-number sch-pin-label" x="693.922651933735" y="567.9558011050401" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="end" dominant-baseline="middle" font-size="16.574585635364997px" transform="">right.22</text></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_0__stack1"><circle cx="450.828729281715" cy="103.86740331482008" r="4.419889502764" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_1__stack1"><circle cx="450.828729281715" cy="125.96685082864008" r="4.419889502764" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_2__stack1"><circle cx="450.828729281715" cy="148.06629834246007" r="4.419889502764" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_3__stack1"><circle cx="450.828729281715" cy="170.16574585628007" r="4.419889502764" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_4__stack1"><circle cx="450.828729281715" cy="192.26519337010006" r="4.419889502764" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_5__stack1"><circle cx="450.828729281715" cy="214.36464088392006" r="4.419889502764" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_6__stack1"><circle cx="450.828729281715" cy="236.46408839774008" r="4.419889502764" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_7__stack1"><circle cx="450.828729281715" cy="258.56353591156005" r="4.419889502764" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_8__stack1"><circle cx="450.828729281715" cy="280.66298342538005" r="4.419889502764" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_9__stack1"><circle cx="450.828729281715" cy="302.76243093920004" r="4.419889502764" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_10__stack1"><circle cx="450.828729281715" cy="324.86187845302004" r="4.419889502764" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_11__stack1"><circle cx="450.828729281715" cy="346.96132596684004" r="4.419889502764" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_12__stack1"><circle cx="450.828729281715" cy="369.0607734806601" r="4.419889502764" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_13__stack1"><circle cx="450.828729281715" cy="391.16022099448" r="4.419889502764" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_14__stack1"><circle cx="450.828729281715" cy="413.2596685083001" r="4.419889502764" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_15__stack1"><circle cx="450.828729281715" cy="435.35911602212" r="4.419889502764" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_16__stack1"><circle cx="450.828729281715" cy="457.4585635359401" r="4.419889502764" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_17__stack1"><circle cx="450.828729281715" cy="479.55801104976007" r="4.419889502764" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_18__stack1"><circle cx="450.828729281715" cy="501.65745856358006" r="4.419889502764" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_19__stack1"><circle cx="450.828729281715" cy="523.7569060774001" r="4.419889502764" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_20__stack1"><circle cx="450.828729281715" cy="545.85635359122" r="4.419889502764" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_21__stack1"><circle cx="450.828729281715" cy="567.9558011050401" r="4.419889502764" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_22__stack1"><circle cx="749.171270718285" cy="103.86740331482008" r="4.419889502764" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_23__stack1"><circle cx="749.171270718285" cy="125.96685082864008" r="4.419889502764" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_24__stack1"><circle cx="749.171270718285" cy="148.06629834246007" r="4.419889502764" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_25__stack1"><circle cx="749.171270718285" cy="170.16574585628007" r="4.419889502764" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_26__stack1"><circle cx="749.171270718285" cy="192.26519337010006" r="4.419889502764" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_27__stack1"><circle cx="749.171270718285" cy="214.36464088392006" r="4.419889502764" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_28__stack1"><circle cx="749.171270718285" cy="236.46408839774008" r="4.419889502764" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_29__stack1"><circle cx="749.171270718285" cy="258.56353591156005" r="4.419889502764" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_30__stack1"><circle cx="749.171270718285" cy="280.66298342538005" r="4.419889502764" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_31__stack1"><circle cx="749.171270718285" cy="302.76243093920004" r="4.419889502764" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_32__stack1"><circle cx="749.171270718285" cy="324.86187845302004" r="4.419889502764" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_33__stack1"><circle cx="749.171270718285" cy="346.96132596684004" r="4.419889502764" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_34__stack1"><circle cx="749.171270718285" cy="369.0607734806601" r="4.419889502764" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_35__stack1"><circle cx="749.171270718285" cy="391.16022099448" r="4.419889502764" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_36__stack1"><circle cx="749.171270718285" cy="413.2596685083001" r="4.419889502764" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_37__stack1"><circle cx="749.171270718285" cy="435.35911602212" r="4.419889502764" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_38__stack1"><circle cx="749.171270718285" cy="457.4585635359401" r="4.419889502764" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_39__stack1"><circle cx="749.171270718285" cy="479.55801104976007" r="4.419889502764" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_40__stack1"><circle cx="749.171270718285" cy="501.65745856358006" r="4.419889502764" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_41__stack1"><circle cx="749.171270718285" cy="523.7569060774001" r="4.419889502764" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_42__stack1"><circle cx="749.171270718285" cy="545.85635359122" r="4.419889502764" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_43__stack1"><circle cx="749.171270718285" cy="567.9558011050401" r="4.419889502764" fill="red" opacity="0"/></g><path class="net-label sch-net-label" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_0__stack1" d="
|
|
113
|
+
M 390.05524861871004,103.86740331482008
|
|
114
|
+
L 379.00552486180004,97.90055248608869
|
|
115
|
+
L 379.00552486180004,60.00736648239199
|
|
116
|
+
L 401.10497237562004,60.00736648239199
|
|
117
|
+
L 401.10497237562004,97.90055248608869
|
|
118
|
+
Z
|
|
119
|
+
" fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="2.209944751382px"/><text class="net-label-text sch-net-label-text" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_0__stack1" x="390.05524861871004" y="93.92265193360109" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="19.889502762438px" transform="rotate(-90 390.05524861871004 93.92265193360109)">XX</text><path class="net-label sch-net-label" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_1__stack1" d="
|
|
120
|
+
M 412.0441988949609,562.320441989016
|
|
121
|
+
L 400.9944751380509,556.3535911602846
|
|
122
|
+
L 400.9944751380509,518.4604051565879
|
|
123
|
+
L 423.0939226518709,518.4604051565879
|
|
124
|
+
L 423.0939226518709,556.3535911602846
|
|
125
|
+
Z
|
|
126
|
+
" fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="2.209944751382px"/><text class="net-label-text sch-net-label-text" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_1__stack1" x="412.0441988949609" y="552.375690607797" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="19.889502762438px" transform="rotate(-90 412.0441988949609 552.375690607797)">XX</text><path class="net-label sch-net-label" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_2__stack1" d="
|
|
127
|
+
M 809.94475138129,103.86740331482008
|
|
128
|
+
L 798.89502762438,97.90055248608869
|
|
129
|
+
L 798.89502762438,60.00736648239199
|
|
130
|
+
L 820.9944751382,60.00736648239199
|
|
131
|
+
L 820.9944751382,97.90055248608869
|
|
132
|
+
Z
|
|
133
|
+
" fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="2.209944751382px"/><text class="net-label-text sch-net-label-text" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_2__stack1" x="809.94475138129" y="93.92265193360109" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="19.889502762438px" transform="rotate(-90 809.94475138129 93.92265193360109)">XX</text><path class="net-label sch-net-label" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_3__stack1" d="
|
|
134
|
+
M 787.9558011050391,562.320441989016
|
|
135
|
+
L 776.9060773481291,556.3535911602846
|
|
136
|
+
L 776.9060773481291,518.4604051565879
|
|
137
|
+
L 799.0055248619491,518.4604051565879
|
|
138
|
+
L 799.0055248619491,556.3535911602846
|
|
139
|
+
Z
|
|
140
|
+
" fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="2.209944751382px"/><text class="net-label-text sch-net-label-text" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_3__stack1" x="787.9558011050391" y="552.375690607797" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="19.889502762438px" transform="rotate(-90 787.9558011050391 552.375690607797)">XX</text><text class="sch-text" x="508.287292817647" y="69.06077348055351" fill="#7e22ce" text-anchor="middle" dominant-baseline="middle" font-family="sans-serif" font-size="19.889502762438px" transform="rotate(0, 508.287292817647, 69.06077348055351)">U1</text><rect class="schematic-box sch-box" x="488.397790055209" y="55.24861878441601" width="39.77900552487603" height="27.624309392274995" stroke-width="2.209944751382px" stroke="rgb(132, 0, 0)" fill="transparent" stroke-dasharray="17.679558011056 8.839779005528"/>
|
|
141
|
+
</g>
|
|
142
|
+
</svg>
|