@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="640" height="640" viewBox="0 0 640 640" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%" fill="white"/><g><polyline data-points="-5.005,2.54 -0.55,2.98" data-type="line" data-label="" points="55.35329792453959,253.89930298391727 272.6806818408854,232.4348700045251" fill="none" stroke="hsl(136, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="0.55,2.97 2.48,3" data-type="line" data-label="" points="326.34176428936587,232.922698026784 420.4925725853361,231.45921396000725" fill="none" stroke="hsl(112, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="3.52,3 3,0.495" data-type="line" data-label="" points="471.2266869002631,231.45921396000725 445.8596297427996,353.66013353586504" fill="none" stroke="hsl(128, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="3.52,3 6,0.5499999999999999" data-type="line" data-label="" points="471.2266869002631,231.45921396000725 592.2080364204736,350.977079413441" fill="none" stroke="hsl(128, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="3,-0.49500000000000005 6,-0.55" data-type="line" data-label="" points="445.8596297427996,401.9551077394974 592.2080364204736,404.63816186192145" fill="none" stroke="hsl(136, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="6,-0.55 -4.995,1.46" data-type="line" data-label="" points="592.2080364204736,404.63816186192145 55.841125946798485,306.58472938787986" fill="none" stroke="hsl(72, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="0.55,2.97 0.3,0.55" data-type="line" data-label="" points="326.34176428936587,232.922698026784 314.146063732893,350.977079413441" fill="none" stroke="hsl(112, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="0.31,-0.55 -4.995,1.46" data-type="line" data-label="" points="314.633891755152,404.63816186192145 55.841125946798485,306.58472938787986" fill="none" stroke="hsl(184, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-0.42,-0.1 -2.9999378,0.4458008" data-type="line" data-label="" points="279.0224461302513,382.68590086027035 153.16585067775011,356.06020837913707" fill="none" stroke="hsl(232, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-3.0000622,-0.4458008 -4.995,1.46" data-type="line" data-label="" points="153.15978209715323,399.5550328962254 55.841125946798485,306.58472938787986" fill="none" stroke="hsl(224, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-4.995,1.46 3,-0.49500000000000005" data-type="line" data-label="" points="55.841125946798485,306.58472938787986 445.8596297427996,401.9551077394974" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-4.995,1.46 6,-0.55" data-type="line" data-label="" points="55.841125946798485,306.58472938787986 592.2080364204736,404.63816186192145" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-4.995,1.46 -3.0000622,-0.4458008" data-type="line" data-label="" points="55.841125946798485,306.58472938787986 153.15978209715323,399.5550328962254" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-4.995,1.46 0.31,-0.55" data-type="line" data-label="" points="55.841125946798485,306.58472938787986 314.633891755152,404.63816186192145" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="3,-0.49500000000000005 6,-0.55" data-type="line" data-label="" points="445.8596297427996,401.9551077394974 592.2080364204736,404.63816186192145" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="3,-0.49500000000000005 -3.0000622,-0.4458008" data-type="line" data-label="" points="445.8596297427996,401.9551077394974 153.15978209715323,399.5550328962254" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="3,-0.49500000000000005 0.31,-0.55" data-type="line" data-label="" points="445.8596297427996,401.9551077394974 314.633891755152,404.63816186192145" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="6,-0.55 -3.0000622,-0.4458008" data-type="line" data-label="" points="592.2080364204736,404.63816186192145 153.15978209715323,399.5550328962254" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="6,-0.55 0.31,-0.55" data-type="line" data-label="" points="592.2080364204736,404.63816186192145 314.633891755152,404.63816186192145" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-3.0000622,-0.4458008 0.31,-0.55" data-type="line" data-label="" points="153.15978209715323,399.5550328962254 314.633891755152,404.63816186192145" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="0.58,2.97 0.78,2.97 1.53,2.97 1.53,3 2.28,3 2.48,3" data-type="line" data-label="" points="327.8052483561426,232.922698026784 337.56180880132086,232.922698026784 374.1489104707394,232.922698026784 374.1489104707394,231.45921396000725 410.73601214015787,231.45921396000725 420.4925725853361,231.45921396000725" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-5.005,2.54 -5.005,2.9800000000000004 -0.5800000000000001,2.9800000000000004" data-type="line" data-label="" points="55.35329792453959,253.89930298391727 55.35329792453959,232.43487000452507 271.2171977741087,232.43487000452507" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="3.52,3 3.7199999999999998,3 3.7199999999999998,1.7474999999999996 3,1.7474999999999996 3,0.49500000000000005" data-type="line" data-label="" points="471.2266869002631,231.45921396000725 480.9832473454413,231.45921396000725 480.9832473454413,292.55967374793613 445.8596297427996,292.55967374793613 445.8596297427996,353.66013353586504" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="3,-0.4950000000000001 3,-0.78 0.31,-0.78 0.31,-0.58" data-type="line" data-label="" points="445.8596297427996,401.9551077394974 445.8596297427996,415.85820637387644 314.633891755152,415.85820637387644 314.633891755152,406.1016459286982" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-4.995,1.46 -4.995,-0.6458008 -3.0000622,-0.6458008 -3.0000622,-0.4458007999999998" data-type="line" data-label="" points="55.841125946798485,306.58472938787986 55.841125946798485,409.31159334140364 153.15978209715323,409.31159334140364 153.15978209715323,399.5550328962253" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-0.44499999999999984,-0.09999999999999987 -1.7224689,-0.09999999999999987 -1.7224689,0.6458008000000002 -2.9999378,0.6458008000000002 -2.9999378,0.4458008" data-type="line" data-label="" points="277.802876074604,382.68590086027035 215.48436337617707,382.68590086027035 215.48436337617707,346.3036479339588 153.16585067775011,346.3036479339588 153.16585067775011,356.06020837913707" fill="none" stroke="purple" stroke-width="1px"/></g><g><rect data-type="rect" data-label="schematic_component_0" data-x="-5" data-y="2" x="40.000000000000014" y="253.8993029839173" width="31.194423871338046" height="52.685426403962595" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.020499027410714285"/></g><g><rect data-type="rect" data-label="schematic_component_1" data-x="0" data-y="3" x="271.2171977741087" y="220.23916944805222" width="56.58805058203393" height="22.44008902391002" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.020499027410714285"/></g><g><rect data-type="rect" data-label="schematic_component_2" data-x="3" data-y="3" x="420.4925725853361" y="218.28785735901658" width="50.734114314926956" height="26.342713201981326" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.020499027410714285"/></g><g><rect data-type="rect" data-label="schematic_component_3" data-x="3" data-y="0" x="431.95653110842056" y="353.66013353586504" width="27.80619726875807" height="48.294974203632364" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.020499027410714285"/></g><g><rect data-type="rect" data-label="schematic_component_4" data-x="6" data-y="0" x="584.4160728409472" y="350.977079413441" width="15.583927159052791" height="53.66108244848044" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.020499027410714285"/></g><g><rect data-type="rect" data-label="schematic_component_5" data-x="-3" data-y="0" x="143.49775540526844" y="356.06020837913707" width="19.330121964366498" height="43.49482451708832" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.020499027410714285"/></g><g><rect data-type="rect" data-label="schematic_component_6" data-x="0" data-y="0" x="277.802876074604" y="349.51359534666426" width="43.416693981043295" height="56.58805058203393" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.020499027410714285"/></g><g><rect data-type="rect" data-label="connectivity_net0" data-x="-4.78" data-y="2.7600000000000002" x="55.35329792453959" y="238.28880627163204" width="21.95226100165104" height="9.75656044517828" fill="hsl(40, 100%, 50%, 0.3)" stroke="hsl(40, 100%, 50%, 1)" stroke-width="0.020499027410714285"/></g><g><rect data-type="rect" data-label="connectivity_net3" data-x="3" data-y="-0.93" x="440.9813495202104" y="415.85820637387644" width="9.756560445178309" height="14.634840667767435" fill="hsl(40, 100%, 50%, 0.3)" stroke="hsl(40, 100%, 50%, 1)" stroke-width="0.020499027410714285"/></g><g><rect data-type="rect" data-label="connectivity_net3" data-x="6" data-y="-0.7010000000000001" x="587.3297561978845" y="404.6869446641474" width="9.756560445178138" height="14.634840667767378" fill="hsl(40, 100%, 50%, 0.3)" stroke="hsl(40, 100%, 50%, 1)" stroke-width="0.020499027410714285"/></g><g><rect data-type="rect" data-label="connectivity_net3" data-x="-4.995" data-y="-0.7958008" x="50.96284572420937" y="409.31159334140364" width="9.756560445178224" height="14.634840667767378" fill="hsl(40, 100%, 50%, 0.3)" stroke="hsl(40, 100%, 50%, 1)" stroke-width="0.020499027410714285"/></g><g><rect data-type="rect" data-label="connectivity_net1" data-x="0.78" data-y="3.1950000000000003" x="332.68352857873174" y="210.97043702513287" width="9.756560445178252" height="21.952261001651124" fill="hsl(40, 100%, 50%, 0.3)" stroke="hsl(40, 100%, 50%, 1)" stroke-width="0.020499027410714285"/></g><g><rect data-type="rect" data-label="connectivity_net1" data-x="0.3" data-y="0.8059999999999999" x="309.26778351030384" y="327.51255154278726" width="9.756560445178309" height="21.952261001651095" fill="hsl(40, 100%, 50%, 0.3)" stroke="hsl(40, 100%, 50%, 1)" stroke-width="0.020499027410714285"/></g><g><rect data-type="rect" data-label="connectivity_net2" data-x="3.7199999999999998" data-y="3.225" x="476.1049671228522" y="209.50695295835615" width="9.756560445178252" height="21.952261001651095" fill="hsl(40, 100%, 50%, 0.3)" stroke="hsl(40, 100%, 50%, 1)" stroke-width="0.020499027410714285"/></g><g><rect data-type="rect" data-label="connectivity_net2" data-x="6" data-y="0.776" x="587.3297561978845" y="328.976035609564" width="9.756560445178138" height="21.952261001651095" fill="hsl(40, 100%, 50%, 0.3)" stroke="hsl(40, 100%, 50%, 1)" stroke-width="0.020499027410714285"/></g><g><rect data-type="rect" data-label="connectivity_net4" data-x="-1.08373445" data-y="0.12500000000000014" x="241.7653395028014" y="360.73363985861926" width="9.75656044517828" height="21.952261001651095" fill="hsl(40, 100%, 50%, 0.3)" stroke="hsl(40, 100%, 50%, 1)" stroke-width="0.020499027410714285"/></g><g><circle data-type="point" data-label="V1.1
|
|
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="-5.005,2.54 -0.55,2.98" data-type="line" data-label="" points="55.35329792453959,253.89930298391727 272.6806818408854,232.4348700045251" fill="none" stroke="hsl(136, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="0.55,2.97 2.48,3" data-type="line" data-label="" points="326.34176428936587,232.922698026784 420.4925725853361,231.45921396000725" fill="none" stroke="hsl(112, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="3.52,3 3,0.495" data-type="line" data-label="" points="471.2266869002631,231.45921396000725 445.8596297427996,353.66013353586504" fill="none" stroke="hsl(128, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="3.52,3 6,0.5499999999999999" data-type="line" data-label="" points="471.2266869002631,231.45921396000725 592.2080364204736,350.977079413441" fill="none" stroke="hsl(128, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="3,-0.49500000000000005 6,-0.55" data-type="line" data-label="" points="445.8596297427996,401.9551077394974 592.2080364204736,404.63816186192145" fill="none" stroke="hsl(136, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="6,-0.55 -4.995,1.46" data-type="line" data-label="" points="592.2080364204736,404.63816186192145 55.841125946798485,306.58472938787986" fill="none" stroke="hsl(72, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="0.55,2.97 0.3,0.55" data-type="line" data-label="" points="326.34176428936587,232.922698026784 314.146063732893,350.977079413441" fill="none" stroke="hsl(112, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="0.31,-0.55 -4.995,1.46" data-type="line" data-label="" points="314.633891755152,404.63816186192145 55.841125946798485,306.58472938787986" fill="none" stroke="hsl(184, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-0.42,-0.1 -2.9999378,0.4458008" data-type="line" data-label="" points="279.0224461302513,382.68590086027035 153.16585067775011,356.06020837913707" fill="none" stroke="hsl(232, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-3.0000622,-0.4458008 -4.995,1.46" data-type="line" data-label="" points="153.15978209715323,399.5550328962254 55.841125946798485,306.58472938787986" fill="none" stroke="hsl(224, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-4.995,1.46 3,-0.49500000000000005" data-type="line" data-label="" points="55.841125946798485,306.58472938787986 445.8596297427996,401.9551077394974" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-4.995,1.46 6,-0.55" data-type="line" data-label="" points="55.841125946798485,306.58472938787986 592.2080364204736,404.63816186192145" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-4.995,1.46 -3.0000622,-0.4458008" data-type="line" data-label="" points="55.841125946798485,306.58472938787986 153.15978209715323,399.5550328962254" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-4.995,1.46 0.31,-0.55" data-type="line" data-label="" points="55.841125946798485,306.58472938787986 314.633891755152,404.63816186192145" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="3,-0.49500000000000005 6,-0.55" data-type="line" data-label="" points="445.8596297427996,401.9551077394974 592.2080364204736,404.63816186192145" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="3,-0.49500000000000005 -3.0000622,-0.4458008" data-type="line" data-label="" points="445.8596297427996,401.9551077394974 153.15978209715323,399.5550328962254" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="3,-0.49500000000000005 0.31,-0.55" data-type="line" data-label="" points="445.8596297427996,401.9551077394974 314.633891755152,404.63816186192145" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="6,-0.55 -3.0000622,-0.4458008" data-type="line" data-label="" points="592.2080364204736,404.63816186192145 153.15978209715323,399.5550328962254" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="6,-0.55 0.31,-0.55" data-type="line" data-label="" points="592.2080364204736,404.63816186192145 314.633891755152,404.63816186192145" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-3.0000622,-0.4458008 0.31,-0.55" data-type="line" data-label="" points="153.15978209715323,399.5550328962254 314.633891755152,404.63816186192145" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="0.58,2.97 0.78,2.97 1.53,2.97 1.53,3 2.28,3 2.48,3" data-type="line" data-label="" points="327.8052483561426,232.922698026784 337.56180880132086,232.922698026784 374.1489104707394,232.922698026784 374.1489104707394,231.45921396000725 410.73601214015787,231.45921396000725 420.4925725853361,231.45921396000725" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-5.005,2.54 -5.005,2.9800000000000004 -0.5800000000000001,2.9800000000000004" data-type="line" data-label="" points="55.35329792453959,253.89930298391727 55.35329792453959,232.43487000452507 271.2171977741087,232.43487000452507" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="3.52,3 3.7199999999999998,3 3.7199999999999998,1.7474999999999996 3,1.7474999999999996 3,0.49500000000000005" data-type="line" data-label="" points="471.2266869002631,231.45921396000725 480.9832473454413,231.45921396000725 480.9832473454413,292.55967374793613 445.8596297427996,292.55967374793613 445.8596297427996,353.66013353586504" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="3,-0.4950000000000001 3,-0.78 0.31,-0.78 0.31,-0.58" data-type="line" data-label="" points="445.8596297427996,401.9551077394974 445.8596297427996,415.85820637387644 314.633891755152,415.85820637387644 314.633891755152,406.1016459286982" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-4.995,1.46 -4.995,-0.6458008 -3.0000622,-0.6458008 -3.0000622,-0.4458007999999998" data-type="line" data-label="" points="55.841125946798485,306.58472938787986 55.841125946798485,409.31159334140364 153.15978209715323,409.31159334140364 153.15978209715323,399.5550328962253" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-0.44499999999999984,-0.09999999999999987 -1.7224689,-0.09999999999999987 -1.7224689,0.6458008000000002 -2.9999378,0.6458008000000002 -2.9999378,0.4458008" data-type="line" data-label="" points="277.802876074604,382.68590086027035 215.48436337617707,382.68590086027035 215.48436337617707,346.3036479339588 153.16585067775011,346.3036479339588 153.16585067775011,356.06020837913707" fill="none" stroke="purple" stroke-width="1px"/></g><g><rect data-type="rect" data-label="schematic_component_0" data-x="-5" data-y="2" x="40.000000000000014" y="253.8993029839173" width="31.194423871338046" height="52.685426403962595" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.020499027410714285"/></g><g><rect data-type="rect" data-label="schematic_component_1" data-x="0" data-y="3" x="271.2171977741087" y="220.23916944805222" width="56.58805058203393" height="22.44008902391002" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.020499027410714285"/></g><g><rect data-type="rect" data-label="schematic_component_2" data-x="3" data-y="3" x="420.4925725853361" y="218.28785735901658" width="50.734114314926956" height="26.342713201981326" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.020499027410714285"/></g><g><rect data-type="rect" data-label="schematic_component_3" data-x="3" data-y="0" x="431.95653110842056" y="353.66013353586504" width="27.80619726875807" height="48.294974203632364" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.020499027410714285"/></g><g><rect data-type="rect" data-label="schematic_component_4" data-x="6" data-y="0" x="584.4160728409472" y="350.977079413441" width="15.583927159052791" height="53.66108244848044" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.020499027410714285"/></g><g><rect data-type="rect" data-label="schematic_component_5" data-x="-3" data-y="0" x="143.49775540526844" y="356.06020837913707" width="19.330121964366498" height="43.49482451708832" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.020499027410714285"/></g><g><rect data-type="rect" data-label="schematic_component_6" data-x="0" data-y="0" x="277.802876074604" y="349.51359534666426" width="43.416693981043295" height="56.58805058203393" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.020499027410714285"/></g><g><rect data-type="rect" data-label="connectivity_net0" data-x="-4.78" data-y="2.7600000000000002" x="55.35329792453959" y="238.28880627163204" width="21.95226100165104" height="9.75656044517828" fill="hsl(40, 100%, 50%, 0.3)" stroke="hsl(40, 100%, 50%, 1)" stroke-width="0.020499027410714285"/></g><g><rect data-type="rect" data-label="connectivity_net3" data-x="3" data-y="-0.93" x="440.9813495202104" y="415.85820637387644" width="9.756560445178309" height="14.634840667767435" fill="hsl(40, 100%, 50%, 0.3)" stroke="hsl(40, 100%, 50%, 1)" stroke-width="0.020499027410714285"/></g><g><rect data-type="rect" data-label="connectivity_net3" data-x="6" data-y="-0.7010000000000001" x="587.3297561978845" y="404.6869446641474" width="9.756560445178138" height="14.634840667767378" fill="hsl(40, 100%, 50%, 0.3)" stroke="hsl(40, 100%, 50%, 1)" stroke-width="0.020499027410714285"/></g><g><rect data-type="rect" data-label="connectivity_net3" data-x="-4.995" data-y="-0.7958008" x="50.96284572420937" y="409.31159334140364" width="9.756560445178224" height="14.634840667767378" fill="hsl(40, 100%, 50%, 0.3)" stroke="hsl(40, 100%, 50%, 1)" stroke-width="0.020499027410714285"/></g><g><rect data-type="rect" data-label="connectivity_net1" data-x="0.78" data-y="3.1950000000000003" x="332.68352857873174" y="210.97043702513287" width="9.756560445178252" height="21.952261001651124" fill="hsl(40, 100%, 50%, 0.3)" stroke="hsl(40, 100%, 50%, 1)" stroke-width="0.020499027410714285"/></g><g><rect data-type="rect" data-label="connectivity_net1" data-x="0.3" data-y="0.8059999999999999" x="309.26778351030384" y="327.51255154278726" width="9.756560445178309" height="21.952261001651095" fill="hsl(40, 100%, 50%, 0.3)" stroke="hsl(40, 100%, 50%, 1)" stroke-width="0.020499027410714285"/></g><g><rect data-type="rect" data-label="connectivity_net2" data-x="3.7199999999999998" data-y="3.225" x="476.1049671228522" y="209.50695295835615" width="9.756560445178252" height="21.952261001651095" fill="hsl(40, 100%, 50%, 0.3)" stroke="hsl(40, 100%, 50%, 1)" stroke-width="0.020499027410714285"/></g><g><rect data-type="rect" data-label="connectivity_net2" data-x="6" data-y="0.776" x="587.3297561978845" y="328.976035609564" width="9.756560445178138" height="21.952261001651095" fill="hsl(40, 100%, 50%, 0.3)" stroke="hsl(40, 100%, 50%, 1)" stroke-width="0.020499027410714285"/></g><g><rect data-type="rect" data-label="connectivity_net4" data-x="-1.08373445" data-y="0.12500000000000014" x="241.7653395028014" y="360.73363985861926" width="9.75656044517828" height="21.952261001651095" fill="hsl(40, 100%, 50%, 0.3)" stroke="hsl(40, 100%, 50%, 1)" stroke-width="0.020499027410714285"/></g><g><circle data-type="point" data-label="V1.1
|
|
2
4
|
y+" data-x="-5.005" data-y="2.54" cx="55.35329792453959" cy="253.89930298391727" r="3" fill="hsl(230, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="V1.2
|
|
3
5
|
y-" data-x="-4.995" data-y="1.46" cx="55.841125946798485" cy="306.58472938787986" r="3" fill="hsl(231, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="L1.1
|
|
4
6
|
x-" data-x="-0.55" data-y="2.98" cx="272.6806818408854" cy="232.4348700045251" r="3" fill="hsl(40, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="L1.2
|
|
@@ -23,7 +25,7 @@ x-" data-x="-0.42" data-y="-0.1" cx="279.0224461302513" cy="382.68590086027035"
|
|
|
23
25
|
const h = svg.getElementById('crosshair-h');
|
|
24
26
|
const v = svg.getElementById('crosshair-v');
|
|
25
27
|
const coords = svg.getElementById('coordinates');
|
|
26
|
-
|
|
28
|
+
|
|
27
29
|
crosshair.style.display = 'block';
|
|
28
30
|
h.setAttribute('x1', '0');
|
|
29
31
|
h.setAttribute('x2', '640');
|
|
@@ -42,13 +44,13 @@ x-" data-x="-0.42" data-y="-0.1" cx="279.0224461302513" cy="382.68590086027035"
|
|
|
42
44
|
// y' = (y - ty) / sy
|
|
43
45
|
const sx = matrix.a;
|
|
44
46
|
const sy = matrix.d;
|
|
45
|
-
const tx = matrix.e;
|
|
47
|
+
const tx = matrix.e;
|
|
46
48
|
const ty = matrix.f;
|
|
47
49
|
const realPoint = {
|
|
48
50
|
x: (x - tx) / sx,
|
|
49
51
|
y: (y - ty) / sy // Flip y back since we used negative scale
|
|
50
52
|
}
|
|
51
|
-
|
|
53
|
+
|
|
52
54
|
coords.textContent = `(${realPoint.x.toFixed(2)}, ${realPoint.y.toFixed(2)})`;
|
|
53
55
|
coords.setAttribute('x', (x + 5).toString());
|
|
54
56
|
coords.setAttribute('y', (y - 5).toString());
|
|
@@ -56,4 +58,76 @@ x-" data-x="-0.42" data-y="-0.1" cx="279.0224461302513" cy="382.68590086027035"
|
|
|
56
58
|
document.currentScript.parentElement.addEventListener('mouseleave', () => {
|
|
57
59
|
document.currentScript.parentElement.getElementById('crosshair').style.display = 'none';
|
|
58
60
|
});
|
|
59
|
-
]]></script
|
|
61
|
+
]]></script>
|
|
62
|
+
</g>
|
|
63
|
+
<g transform="translate(1216, 200)">
|
|
64
|
+
<style>
|
|
65
|
+
.boundary { fill: rgb(245, 241, 237); }
|
|
66
|
+
.schematic-boundary { fill: none; stroke: #fff; }
|
|
67
|
+
.component { fill: none; stroke: rgb(132, 0, 0); }
|
|
68
|
+
.chip { fill: rgb(255, 255, 194); stroke: rgb(132, 0, 0); }
|
|
69
|
+
.component-pin { fill: none; stroke: rgb(132, 0, 0); }
|
|
70
|
+
.text { font-family: sans-serif; fill: rgb(0, 150, 0); }
|
|
71
|
+
.pin-number { fill: rgb(169, 0, 0); }
|
|
72
|
+
.port-label { fill: rgb(0, 100, 100); }
|
|
73
|
+
.component-name { fill: rgb(0, 100, 100); }
|
|
74
|
+
|
|
75
|
+
</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 584.2398108107079 235.55992536012792 L 602.498081802228 235.55992536012792 L 670.9665980204279 235.55992536012792 L 670.9665980204279 232.82118471139995 L 739.435114238628 232.82118471139995 L 757.6933852301479 232.82118471139995" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="14.606616793216002px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 584.2398108107079 235.55992536012792 L 602.498081802228 235.55992536012792 L 670.9665980204279 235.55992536012792 L 670.9665980204279 232.82118471139995 L 739.435114238628 232.82118471139995 L 757.6933852301479 232.82118471139995" stroke="rgb(0, 150, 0)" fill="none" stroke-width="1.8258270991520003px" 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 74.37759337251191 274.81520799189593 L 74.37759337251191 234.64701181055193 L 478.3418390598919 234.64701181055193" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="14.606616793216002px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 74.37759337251191 274.81520799189593 L 74.37759337251191 234.64701181055193 L 478.3418390598919 234.64701181055193" stroke="rgb(0, 150, 0)" fill="none" stroke-width="1.8258270991520003px" 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 852.636394386052 232.82118471139995 L 870.894665377572 232.82118471139995 L 870.894665377572 347.163606795794 L 805.1648898081 347.163606795794 L 805.1648898081 461.50602888018796" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="14.606616793216002px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 852.636394386052 232.82118471139995 L 870.894665377572 232.82118471139995 L 870.894665377572 347.163606795794 L 805.1648898081 347.163606795794 L 805.1648898081 461.50602888018796" stroke="rgb(0, 150, 0)" fill="none" stroke-width="1.8258270991520003px" 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 805.1648898081 551.884470288212 L 805.1648898081 577.902506451128 L 559.5911449721559 577.902506451128 L 559.5911449721559 559.644235459608" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="14.606616793216002px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 805.1648898081 551.884470288212 L 805.1648898081 577.902506451128 L 559.5911449721559 577.902506451128 L 559.5911449721559 559.644235459608" stroke="rgb(0, 150, 0)" fill="none" stroke-width="1.8258270991520003px" 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 75.2905069220879 373.40987134610396 L 75.2905069220879 565.651279648902 L 257.41108174022156 565.651279648902 L 257.41108174022156 547.393008657382" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="14.606616793216002px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 75.2905069220879 373.40987134610396 L 75.2905069220879 565.651279648902 L 257.41108174022156 565.651279648902 L 257.41108174022156 547.393008657382" stroke="rgb(0, 150, 0)" fill="none" stroke-width="1.8258270991520003px" 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 490.666171979168 515.8243850799599 L 374.04430518197313 515.8243850799599 L 374.04430518197313 447.7392195194979 L 257.4224383847783 447.7392195194979 L 257.4224383847783 465.99749051101793" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="14.606616793216002px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 490.666171979168 515.8243850799599 L 374.04430518197313 515.8243850799599 L 374.04430518197313 447.7392195194979 L 257.4224383847783 447.7392195194979 L 257.4224383847783 465.99749051101793" stroke="rgb(0, 150, 0)" fill="none" stroke-width="1.8258270991520003px" 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"/><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="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-overlay sch-component-overlay" x="59.77097657929593" y="274.815207991896" width="23.735752288976002" height="98.59466335420802" fill="transparent"/><path class="sch-component-symbol-path" d="M 74.37759337251192 274.815207991896 L 75.29050692208793 296.72513318171997" stroke="rgb(132, 0, 0)" fill="none" stroke-width="1.8258270991520003px" stroke-linecap="round"/><path class="sch-component-symbol-path" d="M 75.29050692208793 350.587032606704 L 75.29050692208794 373.409871346104" stroke="rgb(132, 0, 0)" fill="none" stroke-width="1.8258270991520003px" stroke-linecap="round"/><path class="sch-component-symbol-path" d="M 83.50672886827194 333.24167516476 L 66.16137142632793 324.112539669 L 83.50672886827194 314.070490623664" stroke="rgb(132, 0, 0)" fill="none" stroke-width="1.8258270991520003px" stroke-linecap="round"/><path class="sch-component-symbol-path" d="M 59.77097657929593 324.112539669 L 61.59680367844793 330.502934516032" stroke="rgb(132, 0, 0)" fill="none" stroke-width="1.8258270991520003px" stroke-linecap="round"/><path class="sch-component-symbol-path" d="M 61.59680367844793 330.502934516032 L 59.77097657929593 336.89332936306397" stroke="rgb(132, 0, 0)" fill="none" stroke-width="1.8258270991520003px" stroke-linecap="round"/><path class="sch-component-symbol-path" d="M 59.77097657929593 310.41883642536 L 61.59680367844793 317.722144821968" stroke="rgb(132, 0, 0)" fill="none" stroke-width="1.8258270991520003px" stroke-linecap="round"/><path class="sch-component-symbol-path" d="M 61.59680367844793 317.722144821968 L 59.77097657929593 324.112539669" stroke="rgb(132, 0, 0)" fill="none" stroke-width="1.8258270991520003px" stroke-linecap="round"/><text class="sch-component-name sch-component-text" x="107.19275932077024" y="310.41883642536" stroke="rgb(245, 241, 237)" stroke-width="1.8258270991520003px" paint-order="stroke" fill="rgb(15, 15, 15)" font-family="sans-serif" text-anchor="start" dominant-baseline="middle" font-size="16.432443892368px">V1</text><text class="sch-component-text" x="107.19275932077024" y="337.80624291264" fill="rgb(15, 15, 15)" font-family="sans-serif" text-anchor="start" dominant-baseline="middle" font-size="16.432443892368px"></text><circle class="sch-component-symbol-circle" cx="75.29050692208793" cy="324.112539669" r="26.474492937704px" stroke-width="1.8258270991520003px" fill="none" stroke="rgb(132, 0, 0)"/></g><g class="sch-component" data-circuit-json-type="schematic_component" data-schematic-component-id="schematic_component_1__stack1"><rect class="component-overlay sch-component-overlay" x="481.13964530257203" y="225.41835992047098" width="100.3943416996018" height="9.784011143746795" fill="transparent"/><path class="sch-component-symbol-path" d="M 512.4628621506546 234.8899987233848 L 512.2260728450711 234.43027049238185 L 511.98928353948764 233.97191675545486 L 511.75249423390414 233.5163035324667 L 511.51570492832064 233.06477994710053 L 511.27891562273714 232.61866990906367 L 511.0421263171537 232.17926395174385 L 510.8053370115702 231.747811275642 L 510.5685477059867 231.32551204663542 L 510.3317584004032 230.91350999655643 L 510.09496909481976 230.51288537170495 L 509.85817978923626 230.1246482727711 L 509.62139048365276 229.74973242722842 L 509.38460117806926 229.38898943259346 L 509.1478118724858 229.04318350604407 L 508.9110225669023 228.71298677276621 L 508.6742332613188 228.39897512207875 L 508.4374439557353 228.1016246568843 L 508.2006546501519 227.82130875833656 L 507.9638653445684 227.55829578382117 L 507.7270760389849 227.3127474124434 L 507.4902867334014 227.08471764822258 L 507.25349742781793 226.87415248713938 L 507.01670812223443 226.68089025008857 L 506.77991881665093 226.50466257968444 L 506.54312951106743 226.3450960947733 L 506.306340205484 226.20171469245258 L 506.0695508999005 226.0739424834034 L 505.832761594317 225.9611073424398 L 505.5959722887335 225.86244505238392 L 505.35918298315005 225.77710401571917 L 505.12239367756655 225.70415050497203 L 504.88560437198305 225.64257441945247 L 504.64881506639955 225.59129551286046 L 504.4120257608161 225.54917005336375 L 504.1752364552326 225.514997875085 L 503.9384471496491 225.48752977752326 L 503.7016578440656 225.46547522729085 L 503.46486853848216 225.44751031468041 L 503.22807923289866 225.43228591600885 L 502.99128992731517 225.4184360114132 L 502.7545008595159 225.43228591600885 L 502.5177117917166 225.44751031468041 L 502.2809227239173 225.46547522729085 L 502.044133656118 225.48752977752326 L 501.8073445883187 225.514997875085 L 501.57055552051946 225.54917005336375 L 501.33376645272017 225.59129551286046 L 501.0969773849209 225.64257441945247 L 500.8601883171216 225.70415050497206 L 500.6233992493223 225.77710401571917 L 500.386610181523 225.86244505238392 L 500.1498211137237 225.9611073424398 L 499.9130320459244 226.0739424834034 L 499.6762429781251 226.20171469245258 L 499.4394539103258 226.3450960947733 L 499.20266484252653 226.50466257968444 L 498.96587577472724 226.68089025008857 L 498.729086706928 226.87415248713938 L 498.4922976391287 227.08471764822258 L 498.2555085713294 227.3127474124434 L 498.0187195035301 227.55829578382117 L 497.7819304357308 227.82130875833656 L 497.54514136793154 228.1016246568843 L 497.30835230013224 228.39897512207875 L 497.07156323233295 228.71298677276621 L 496.83477416453366 229.04318350604407 L 496.59798509673436 229.38898943259346 L 496.36119602893507 229.74973242722842 L 496.1244069611358 230.1246482727711 L 495.8876178933365 230.51288537170495 L 495.65082882553725 230.91350999655643 L 495.41403975773795 231.32551204663542 L 495.17725068993866 231.74781127564196 L 494.94046162213937 232.17926395174385 L 494.7036725543401 232.61866990906367 L 494.4668834865408 233.06477994710053 L 494.2300944187415 233.5163035324667 L 493.9933053509422 233.97191675545486 L 493.7565162831429 234.43027049238185 L 493.5197272153436 234.8899987233848" stroke="rgb(132, 0, 0)" fill="none" stroke-width="1.8258270991520003px" stroke-linecap="round"/><path class="sch-component-symbol-path" d="M 531.4059875745978 234.88993214381034 L 531.1691985067985 234.4302036750232 L 530.9324094389992 233.97184970031202 L 530.6956203711999 233.51623623953967 L 530.4588313034006 233.0647124163893 L 530.2220422356013 232.61860214056824 L 529.9852531678021 232.17919594546424 L 529.7484641000027 231.74774303157815 L 529.5116750322035 231.3254435647874 L 529.2748859644041 230.9134412769242 L 529.0380968966049 230.51281641428855 L 528.8013078288056 230.12457907757053 L 528.5645187610063 229.74966299424364 L 528.3277296932071 229.3889197618245 L 528.0909406254077 229.0431135974909 L 527.8541515576085 228.71291662642884 L 527.6173624898091 228.39890473795717 L 527.3805734220099 228.10155403497853 L 527.1437843542105 227.8212378986466 L 526.9069952864113 227.55822468634702 L 526.670206218612 227.31267607718505 L 526.4334171508127 227.08464607518005 L 526.1966280830135 226.87408067631264 L 525.9598390152141 226.68081820147765 L 525.7230499474149 226.5045902932893 L 525.4862608796155 226.34502357059398 L 525.2494718118163 226.20164193048907 L 525.012682744017 226.07386948365573 L 524.7758936762177 225.9610341049079 L 524.5391046084184 225.86237157706782 L 524.3023155406191 225.7770303026189 L 524.0655264728198 225.70407655408758 L 523.8287374050205 225.64250023078378 L 523.5919483372213 225.5912210864076 L 523.355159269422 225.54909538912668 L 523.1183702016227 225.51492297306373 L 522.8815811338234 225.48745463771783 L 522.6447920660241 225.4653998497012 L 522.4080029982248 225.4474346993066 L 522.1712139304256 225.43221006285083 L 521.9344248626262 225.41835992047098 L 521.6976355570428 225.43221006285083 L 521.4608462514593 225.4474346993066 L 521.2240569458758 225.4653998497012 L 520.9872676402923 225.48745463771783 L 520.7504783347088 225.51492297306373 L 520.5136890291253 225.54909538912668 L 520.2768997235419 225.5912210864076 L 520.0401104179583 225.64250023078378 L 519.8033211123749 225.70407655408758 L 519.5665318067914 225.7770303026189 L 519.3297425012079 225.86237157706782 L 519.0929531956244 225.9610341049079 L 518.8561638900409 226.07386948365573 L 518.6193745844574 226.20164193048907 L 518.382585278874 226.34502357059398 L 518.1457959732904 226.5045902932893 L 517.909006667707 226.68081820147765 L 517.6722173621235 226.87408067631264 L 517.43542805654 227.08464607518005 L 517.1986387509565 227.31267607718505 L 516.961849445373 227.55822468634702 L 516.7250601397895 227.8212378986466 L 516.4882708342061 228.10155403497853 L 516.2514815286225 228.39890473795717 L 516.0146922230391 228.71291662642884 L 515.7779029174557 229.0431135974909 L 515.5411136118721 229.3889197618245 L 515.3043243062887 229.74966299424364 L 515.0675350007051 230.12457907757053 L 514.8307456951217 230.51281641428855 L 514.5939563895382 230.9134412769242 L 514.3571670839547 231.3254435647874 L 514.1203777783712 231.74774303157815 L 513.8835884727878 232.17919594546424 L 513.6467991672042 232.61860214056824 L 513.4100098616208 233.0647124163893 L 513.1732205560372 233.51623623953967 L 512.9364312504538 233.97184970031202 L 512.6996419448703 234.4302036750232 L 512.4628526392868 234.88993214381034" stroke="rgb(132, 0, 0)" fill="none" stroke-width="1.8258270991520003px" stroke-linecap="round"/><path class="sch-component-symbol-path" d="M 550.3491225099087 234.88993214381034 L 550.1123332043252 234.4302036750232 L 549.8755438987417 233.97184970031202 L 549.6387545931583 233.51623623953967 L 549.4019652875747 233.0647124163893 L 549.1651759819913 232.61860214056824 L 548.9283866764079 232.17919594546424 L 548.6915973708243 231.74774303157815 L 548.4548080652409 231.3254435647874 L 548.2180187596573 230.9134412769242 L 547.9812294540739 230.51281641428855 L 547.7444401484904 230.12457907757053 L 547.5076508429069 229.74966299424364 L 547.2708615373234 229.3889197618245 L 547.03407223174 229.0431135974909 L 546.7972829261564 228.71291662642884 L 546.560493620573 228.39890473795717 L 546.3237043149894 228.10155403497853 L 546.086915009406 227.8212378986466 L 545.8501257038225 227.55822468634702 L 545.613336398239 227.31267607718505 L 545.3765470926555 227.08464607518005 L 545.1397577870721 226.87408067631264 L 544.9029684814885 226.68081820147765 L 544.6661791759051 226.5045902932893 L 544.4293898703215 226.34502357059398 L 544.1926005647381 226.20164193048907 L 543.9558112591546 226.07386948365573 L 543.7190219535711 225.9610341049079 L 543.4822326479876 225.86237157706782 L 543.2454433424042 225.7770303026189 L 543.0086540368206 225.70407655408758 L 542.7718647312372 225.64250023078378 L 542.5350754256536 225.5912210864076 L 542.2982861200702 225.54909538912668 L 542.0614968144868 225.51492297306373 L 541.8247075089032 225.48745463771783 L 541.5879182033198 225.4653998497012 L 541.3511288977363 225.4474346993066 L 541.1143395921528 225.43221006285083 L 540.8775502865693 225.41835992047098 L 540.64076121877 225.43221006285083 L 540.4039721509707 225.4474346993066 L 540.1671830831714 225.4653998497012 L 539.9303940153721 225.48745463771783 L 539.6936049475728 225.51492297306373 L 539.4568158797736 225.54909538912668 L 539.2200268119743 225.5912210864076 L 538.983237744175 225.64250023078378 L 538.7464486763757 225.70407655408758 L 538.5096596085764 225.7770303026189 L 538.2728705407771 225.86237157706782 L 538.0360814729778 225.9610341049079 L 537.7992924051786 226.07386948365573 L 537.5625033373792 226.20164193048907 L 537.32571426958 226.34502357059398 L 537.0889252017806 226.5045902932893 L 536.8521361339814 226.68081820147765 L 536.6153470661822 226.87408067631264 L 536.3785579983828 227.08464607518005 L 536.1417689305836 227.31267607718505 L 535.9049798627842 227.55822468634702 L 535.668190794985 227.8212378986466 L 535.4314017271856 228.10155403497853 L 535.1946126593864 228.39890473795717 L 534.957823591587 228.71291662642884 L 534.7210345237878 229.0431135974909 L 534.4842454559885 229.3889197618245 L 534.2474563881892 229.74966299424364 L 534.01066732039 230.12457907757053 L 533.7738782525906 230.51281641428855 L 533.5370891847914 230.9134412769242 L 533.300300116992 231.3254435647874 L 533.0635110491928 231.74774303157815 L 532.8267219813935 232.17919594546424 L 532.5899329135942 232.61860214056824 L 532.3531438457949 233.0647124163893 L 532.1163547779956 233.51623623953967 L 531.8795657101963 233.97184970031202 L 531.642776642397 234.4302036750232 L 531.4059875745978 234.88993214381034" stroke="rgb(132, 0, 0)" fill="none" stroke-width="1.8258270991520003px" stroke-linecap="round"/><path class="sch-component-symbol-path" d="M 569.2922479338519 234.88993214381034 L 569.0554588660526 234.4302036750232 L 568.8186697982533 233.97184970031202 L 568.581880730454 233.51623623953967 L 568.3450916626548 233.0647124163893 L 568.1083025948554 232.61860214056824 L 567.8715135270562 232.17919594546424 L 567.6347244592569 231.74774303157815 L 567.3979353914576 231.3254435647874 L 567.1611463236583 230.9134412769242 L 566.924357255859 230.51281641428855 L 566.6875681880597 230.12457907757053 L 566.4507791202604 229.74966299424364 L 566.2139900524611 229.3889197618245 L 565.9772009846619 229.0431135974909 L 565.7404119168625 228.71291662642884 L 565.5036228490633 228.39890473795717 L 565.266833781264 228.10155403497853 L 565.0300447134647 227.8212378986466 L 564.7932556456655 227.55822468634702 L 564.5564665778661 227.31267607718505 L 564.3196775100669 227.08464607518005 L 564.0828884422675 226.87408067631264 L 563.8460993744683 226.68081820147765 L 563.6093103066689 226.5045902932893 L 563.3725212388697 226.34502357059398 L 563.1357321710703 226.20164193048907 L 562.8989431032711 226.07386948365573 L 562.6621540354719 225.9610341049079 L 562.4253649676725 225.86237157706782 L 562.1885758998733 225.7770303026189 L 561.9517868320739 225.70407655408758 L 561.7149977642747 225.64250023078378 L 561.4782086964753 225.5912210864076 L 561.2414196286761 225.54909538912668 L 561.0046305608768 225.51492297306373 L 560.7678414930775 225.48745463771783 L 560.5310524252782 225.4653998497012 L 560.2942633574789 225.4474346993066 L 560.0574742896797 225.43221006285083 L 559.8206852218804 225.41835992047098 L 559.5838959162969 225.43221006285083 L 559.3471066107134 225.4474346993066 L 559.1103173051299 225.4653998497012 L 558.8735279995465 225.48745463771783 L 558.6367386939629 225.51492297306373 L 558.3999493883795 225.54909538912668 L 558.1631600827959 225.5912210864076 L 557.9263707772125 225.64250023078378 L 557.689581471629 225.70407655408758 L 557.4527921660455 225.7770303026189 L 557.216002860462 225.86237157706782 L 556.9792135548786 225.9610341049079 L 556.742424249295 226.07386948365573 L 556.5056349437116 226.20164193048907 L 556.268845638128 226.34502357059398 L 556.0320563325446 226.5045902932893 L 555.7952670269611 226.68081820147765 L 555.5584777213776 226.87408067631264 L 555.3216884157941 227.08464607518005 L 555.0848991102107 227.31267607718505 L 554.8481098046271 227.55822468634702 L 554.6113204990437 227.8212378986466 L 554.3745311934601 228.10155403497853 L 554.1377418878767 228.39890473795717 L 553.9009525822933 228.71291662642884 L 553.6641632767097 229.0431135974909 L 553.4273739711263 229.3889197618245 L 553.1905846655428 229.74966299424364 L 552.9537953599593 230.12457907757053 L 552.7170060543758 230.51281641428855 L 552.4802167487923 230.9134412769242 L 552.2434274432088 231.3254435647874 L 552.0066381376254 231.74774303157815 L 551.7698488320418 232.17919594546424 L 551.5330595264584 232.61860214056824 L 551.2962702208749 233.0647124163893 L 551.0594809152914 233.51623623953967 L 550.8226916097079 233.97184970031202 L 550.5859023041244 234.4302036750232 L 550.3491129985409 234.88993214381034" stroke="rgb(132, 0, 0)" fill="none" stroke-width="1.8258270991520003px" stroke-linecap="round"/><path class="sch-component-symbol-path" d="M 493.221973846798 234.767986897424 L 481.13964530257203 234.767986897424" stroke="rgb(132, 0, 0)" fill="none" stroke-width="1.8258270991520003px" stroke-linecap="round"/><path class="sch-component-symbol-path" d="M 581.5339870021738 235.20237106421777 L 569.4516584579478 235.20237106421777" stroke="rgb(132, 0, 0)" fill="none" stroke-width="1.8258270991520003px" stroke-linecap="round"/><text class="sch-component-name sch-component-text" x="531.1006631572943" y="210.7500997252803" stroke="rgb(245, 241, 237)" stroke-width="1.8258270991520003px" paint-order="stroke" fill="rgb(15, 15, 15)" font-family="sans-serif" text-anchor="middle" dominant-baseline="ideographic" font-size="16.432443892368px">L1</text><text class="sch-component-text" x="531.0844362602394" y="254.4973781780354" fill="rgb(15, 15, 15)" font-family="sans-serif" text-anchor="middle" dominant-baseline="hanging" font-size="16.432443892368px"></text></g><g class="sch-component" data-circuit-json-type="schematic_component" data-schematic-component-id="schematic_component_2__stack1"><rect class="component-overlay sch-component-overlay" x="757.693385230148" y="220.04039501733598" width="94.94300915590406" height="24.648665838551977" fill="transparent"/><path class="sch-component-symbol-path" d="M 817.945679502164 232.82118471139998 L 794.209927213188 244.68906085588796" stroke="rgb(132, 0, 0)" fill="none" stroke-width="1.8258270991520003px" stroke-linecap="round"/><path class="sch-component-symbol-path" d="M 794.209927213188 220.04039501733598 L 817.945679502164 232.82118471139998" stroke="rgb(132, 0, 0)" fill="none" stroke-width="1.8258270991520003px" stroke-linecap="round"/><path class="sch-component-symbol-path" d="M 794.209927213188 244.68906085588796 L 794.209927213188 220.04039501733598" stroke="rgb(132, 0, 0)" fill="none" stroke-width="1.8258270991520003px" stroke-linecap="round"/><path class="sch-component-symbol-path" d="M 817.945679502164 220.04039501733598 L 817.945679502164 244.68906085588796" stroke="rgb(132, 0, 0)" fill="none" stroke-width="1.8258270991520003px" stroke-linecap="round"/><path class="sch-component-symbol-path" d="M 794.209927213188 232.82118471139998 L 757.693385230148 232.82118471139998" stroke="rgb(132, 0, 0)" fill="none" stroke-width="1.8258270991520003px" stroke-linecap="round"/><path class="sch-component-symbol-path" d="M 852.6363943860521 232.82118471139998 L 818.8585930517401 232.82118471139998" stroke="rgb(132, 0, 0)" fill="none" stroke-width="1.8258270991520003px" stroke-linecap="round"/><text class="sch-component-name sch-component-text" x="804.251976258524" y="211.82417307115196" stroke="rgb(245, 241, 237)" stroke-width="1.8258270991520003px" paint-order="stroke" fill="rgb(15, 15, 15)" font-family="sans-serif" text-anchor="middle" dominant-baseline="ideographic" font-size="16.432443892368px">D1</text><text class="sch-component-text" x="805.1648898081" y="261.121504748256" fill="rgb(15, 15, 15)" font-family="sans-serif" text-anchor="middle" dominant-baseline="hanging" font-size="16.432443892368px"></text></g><g class="sch-component" data-circuit-json-type="schematic_component" data-schematic-component-id="schematic_component_3__stack1"><rect class="component-overlay sch-component-overlay" x="781.06095948458" y="461.50602888018796" width="48.20786064703998" height="90.37844140802406" fill="transparent"/><path class="sch-component-symbol-path" d="M 805.1648898081 551.884470288212 L 805.1648898081 515.7330937250024" stroke="rgb(132, 0, 0)" fill="none" stroke-width="1.8258270991520003px" stroke-linecap="round"/><path class="sch-component-symbol-path" d="M 805.1648898081 497.6574054433976 L 805.1648898081 461.50602888018796" stroke="rgb(132, 0, 0)" fill="none" stroke-width="1.8258270991520003px" stroke-linecap="round"/><path class="sch-component-symbol-path" d="M 829.26882013162 515.7330937250024 L 781.06095948458 515.7330937250024" stroke="rgb(132, 0, 0)" fill="none" stroke-width="1.8258270991520003px" stroke-linecap="round"/><path class="sch-component-symbol-path" d="M 829.26882013162 497.6574054433976 L 781.06095948458 497.6574054433976" stroke="rgb(132, 0, 0)" fill="none" stroke-width="1.8258270991520003px" stroke-linecap="round"/><text class="sch-component-name sch-component-text" x="822.4874244113047" y="476.569102448192" stroke="rgb(245, 241, 237)" stroke-width="1.8258270991520003px" paint-order="stroke" fill="rgb(15, 15, 15)" font-family="sans-serif" text-anchor="start" dominant-baseline="ideographic" font-size="16.432443892368px">C1</text><text class="sch-component-text" x="822.4874244113047" y="536.821396720208" fill="rgb(15, 15, 15)" font-family="sans-serif" text-anchor="start" dominant-baseline="hanging" font-size="16.432443892368px"></text></g><g class="sch-component" data-circuit-json-type="schematic_component" data-schematic-component-id="schematic_component_4__stack1"><rect class="component-overlay sch-component-overlay" x="1065.6529033034672" y="456.48500435752" width="26.772102754865955" height="100.42049045336" fill="transparent"/><path class="sch-component-symbol-path" d="M 1079.0389546809001 456.48500435752 L 1079.0389546809001 473.2251001160951" stroke="rgb(132, 0, 0)" fill="none" stroke-width="1.8258270991520003px" stroke-linecap="round"/><path class="sch-component-symbol-path" d="M 1079.0389546809001 540.1653990523049 L 1079.0389546809001 556.90549481088" stroke="rgb(132, 0, 0)" fill="none" stroke-width="1.8258270991520003px" stroke-linecap="round"/><path class="sch-component-symbol-path" d="M 1092.425006058333 473.2251001160951 L 1092.425006058333 540.1653990523049 L 1065.6529033034672 540.1653990523049 L 1065.6529033034672 473.2251001160951 L 1092.425006058333 473.2251001160951" stroke="rgb(132, 0, 0)" fill="none" stroke-width="1.8258270991520003px" stroke-linecap="round"/><text class="sch-component-name sch-component-text" x="1105.8177521351295" y="479.91645212997065" stroke="rgb(245, 241, 237)" stroke-width="1.8258270991520003px" paint-order="stroke" fill="rgb(15, 15, 15)" font-family="sans-serif" text-anchor="start" dominant-baseline="middle" font-size="16.432443892368px">R1</text><text class="sch-component-text" x="1105.8177521351295" y="533.4740470384293" fill="rgb(15, 15, 15)" font-family="sans-serif" text-anchor="start" dominant-baseline="middle" font-size="16.432443892368px"></text><circle class="component-pin sch-component-pin" cx="1079.0389546809001" cy="456.48500435752" r="1.8258270991520003px" stroke-width="1.8258270991520003px" fill="none" stroke="rgb(132, 0, 0)"/><circle class="component-pin sch-component-pin" cx="1079.0389546809001" cy="556.90549481088" r="1.8258270991520003px" stroke-width="1.8258270991520003px" fill="none" stroke="rgb(132, 0, 0)"/></g><g class="sch-component" data-circuit-json-type="schematic_component" data-schematic-component-id="schematic_component_5__stack1"><rect class="component-overlay sch-component-overlay" x="245.36435986832527" y="465.99749051101793" width="19.594377589236103" height="81.39202998605771" fill="transparent"/><path class="sch-component-symbol-path" d="M 257.4224383847783 465.99749051101793 L 258.1760682920566 484.0846082856974" stroke="rgb(132, 0, 0)" fill="none" stroke-width="1.8258270991520003px" stroke-linecap="round"/><path class="sch-component-symbol-path" d="M 258.1760682920566 528.5487728151179 L 258.1760682920566 547.3895204970756" stroke="rgb(132, 0, 0)" fill="none" stroke-width="1.8258270991520003px" stroke-linecap="round"/><path class="sch-component-symbol-path" d="M 264.95873745756137 514.2298045768299 L 250.63976921927346 506.6935055040468 L 264.95873745756137 498.40357652398535" stroke="rgb(132, 0, 0)" fill="none" stroke-width="1.8258270991520003px" stroke-linecap="round"/><path class="sch-component-symbol-path" d="M 245.36435986832527 506.6935055040468 L 246.8716196828819 511.968914854995" stroke="rgb(132, 0, 0)" fill="none" stroke-width="1.8258270991520003px" stroke-linecap="round"/><path class="sch-component-symbol-path" d="M 246.8716196828819 511.968914854995 L 245.36435986832527 517.2443242059431" stroke="rgb(132, 0, 0)" fill="none" stroke-width="1.8258270991520003px" stroke-linecap="round"/><path class="sch-component-symbol-path" d="M 245.36435986832527 495.3890568948721 L 246.8716196828819 501.4180961530986" stroke="rgb(132, 0, 0)" fill="none" stroke-width="1.8258270991520003px" stroke-linecap="round"/><path class="sch-component-symbol-path" d="M 246.8716196828819 501.4180961530986 L 245.36435986832527 506.6935055040468" stroke="rgb(132, 0, 0)" fill="none" stroke-width="1.8258270991520003px" stroke-linecap="round"/><text class="sch-component-name sch-component-text" x="284.51206859389754" y="495.3890568948721" stroke="rgb(245, 241, 237)" stroke-width="1.8258270991520003px" paint-order="stroke" fill="rgb(15, 15, 15)" font-family="sans-serif" text-anchor="start" dominant-baseline="middle" font-size="16.432443892368px">V2</text><text class="sch-component-text" x="284.51206859389754" y="517.9979541132215" fill="rgb(15, 15, 15)" font-family="sans-serif" text-anchor="start" dominant-baseline="middle" font-size="16.432443892368px"></text><circle class="sch-component-symbol-circle" cx="258.1760682920566" cy="506.6935055040468" r="26.474492937704px" stroke-width="1.8258270991520003px" fill="none" stroke="rgb(132, 0, 0)"/></g><g class="sch-component" data-circuit-json-type="schematic_component" data-schematic-component-id="schematic_component_6__stack1"><rect class="component chip sch-component-body" x="490.6661719791679" y="453.74626370879196" width="81.24930591226399" height="105.89797175081605" stroke-width="1.8258270991520003px" fill="rgb(255, 255, 194)" stroke="rgb(132, 0, 0)"/><rect class="component-overlay sch-component-overlay" x="490.6661719791679" y="453.74626370879196" width="81.24930591226399" height="105.89797175081605" fill="transparent"/><text class="sch-text" x="531.2908249353" y="506.6952495842" fill="#0f172a" text-anchor="middle" dominant-baseline="middle" font-family="sans-serif" font-size="16.432443892368px" transform="rotate(0, 531.2908249353, 506.6952495842)">M1</text><line class="component-pin sch-component-pin sch-port-line" x1="558.67823142258" y1="456.48500435752" x2="558.67823142258" y2="458.31083145667196" stroke-width="1.8258270991520003px"/><g class="sch-port" data-schematic-port-id="source_port_6_0__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="558.67823142258" cy="456.48500435752" r="1.8258270991520003" stroke-width="1.8258270991520003px"/><rect x="556.852404323428" y="454.659177258368" width="3.6516541983040005" height="3.6516541983040005" opacity="0"/></g><text class="pin-number sch-pin-number" x="556.852404323428" y="456.48500435752" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="13.69370324364px" transform="rotate(-90 556.852404323428 456.48500435752)">1</text><line class="component-pin sch-component-pin sch-port-line" x1="559.5911449721559" y1="556.90549481088" x2="559.5911449721559" y2="556.90549481088" stroke-width="1.8258270991520003px"/><g class="sch-port" data-schematic-port-id="source_port_6_1__stack1"><rect x="557.7653178730039" y="555.079667711728" width="3.6516541983040005" height="3.6516541983040005" opacity="0"/></g><text class="pin-number sch-pin-number" x="557.7653178730039" y="556.90549481088" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="13.69370324364px" transform="rotate(-90 557.7653178730039 556.90549481088)">2</text><line class="component-pin sch-component-pin sch-port-line" x1="492.94845585310793" y1="515.8243850799599" x2="492.94845585310793" y2="515.8243850799599" stroke-width="1.8258270991520003px"/><g class="sch-port" data-schematic-port-id="source_port_6_2__stack1"><rect x="491.12262875395595" y="513.998557980808" width="3.6516541983040005" height="3.6516541983040005" opacity="0"/></g><text class="pin-number sch-pin-number" x="492.94845585310793" y="513.998557980808" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="13.69370324364px" transform="">3</text></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_0__stack1"><circle cx="74.37759337251191" cy="274.81520799189593" r="3.6516541983040005" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_1__stack1"><circle cx="75.2905069220879" cy="373.40987134610396" r="3.6516541983040005" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_1_0__stack1"><circle cx="483.0984317486602" cy="234.56570276685397" r="3.6516541983040005" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_1_1__stack1"><circle cx="583.5189222020202" cy="235.4786163164299" r="3.6516541983040005" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_2_0__stack1"><circle cx="757.6933852301479" cy="232.82118471139995" r="3.6516541983040005" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_2_1__stack1"><circle cx="852.636394386052" cy="232.82118471139995" r="3.6516541983040005" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_3_0__stack1"><circle cx="805.1648898081" cy="569.686284504944" r="3.6516541983040005" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_3_1__stack1"><circle cx="805.1648898081" cy="479.30784309692" r="3.6516541983040005" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_4_0__stack1"><circle cx="1079.0389546809001" cy="479.30784309692" r="3.6516541983040005" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_4_1__stack1"><circle cx="1079.0389546809001" cy="579.72833355028" r="3.6516541983040005" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_5_0__stack1"><circle cx="257.3427965636294" cy="456.8386810789009" r="3.6516541983040005" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_5_1__stack1"><circle cx="257.33143991907275" cy="538.234199225265" r="3.6516541983040005" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_6_0__stack1"><circle cx="558.67823142258" cy="456.48500435752" r="3.6516541983040005" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_6_1__stack1"><circle cx="559.5911449721559" cy="556.90549481088" r="3.6516541983040005" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_6_2__stack1"><circle cx="492.94845585310793" cy="515.8243850799599" r="3.6516541983040005" 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="
|
|
76
|
+
M 1079.0389546809001,456.48500435752
|
|
77
|
+
L 1069.9098191851401,451.55527118980956
|
|
78
|
+
L 1069.9098191851401,420.2484225296833
|
|
79
|
+
L 1088.1680901766601,420.2484225296833
|
|
80
|
+
L 1088.1680901766601,451.55527118980956
|
|
81
|
+
Z
|
|
82
|
+
" fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="1.8258270991520003px"/><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="1079.0389546809001" y="448.26878241133596" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="16.432443892368px" transform="rotate(-90 1079.0389546809001 448.26878241133596)">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="
|
|
83
|
+
M 870.894665377572,232.82118471139995
|
|
84
|
+
L 861.765529881812,227.89145154368956
|
|
85
|
+
L 861.765529881812,196.58460288356326
|
|
86
|
+
L 880.023800873332,196.58460288356326
|
|
87
|
+
L 880.023800873332,227.89145154368956
|
|
88
|
+
Z
|
|
89
|
+
" fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="1.8258270991520003px"/><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="870.894665377572" y="224.60496276521596" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="16.432443892368px" transform="rotate(-90 870.894665377572 224.60496276521596)">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="
|
|
90
|
+
M 558.67823142258,453.74626370879196
|
|
91
|
+
L 549.54909592682,448.81653054108153
|
|
92
|
+
L 549.54909592682,417.50968188095527
|
|
93
|
+
L 567.80736691834,417.50968188095527
|
|
94
|
+
L 567.80736691834,448.81653054108153
|
|
95
|
+
Z
|
|
96
|
+
" fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="1.8258270991520003px"/><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="558.67823142258" y="445.53004176260794" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="16.432443892368px" transform="rotate(-90 558.67823142258 445.53004176260794)">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="
|
|
97
|
+
M 602.498081802228,235.55992536012792
|
|
98
|
+
L 593.3689463064679,230.63019219241752
|
|
99
|
+
L 593.3689463064679,199.32334353229123
|
|
100
|
+
L 611.627217297988,199.32334353229123
|
|
101
|
+
L 611.627217297988,230.63019219241752
|
|
102
|
+
Z
|
|
103
|
+
" fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="1.8258270991520003px"/><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="602.498081802228" y="227.34370341394393" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="16.432443892368px" transform="rotate(-90 602.498081802228 227.34370341394393)">XX</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="
|
|
104
|
+
M 1079.0389546809001,556.90549481088
|
|
105
|
+
L 1088.1680901766601,561.8352279785904
|
|
106
|
+
L 1088.1680901766601,582.4183854763639
|
|
107
|
+
L 1069.9098191851401,582.4183854763639
|
|
108
|
+
L 1069.9098191851401,561.8352279785904
|
|
109
|
+
Z
|
|
110
|
+
" fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="1.8258270991520003px"/><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="1079.0389546809001" y="565.121716757064" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="16.432443892368px" transform="rotate(90 1079.0389546809001 565.121716757064)">X</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="
|
|
111
|
+
M 805.1648898081,577.902506451128
|
|
112
|
+
L 814.29402530386,582.8322396188385
|
|
113
|
+
L 814.29402530386,603.415397116612
|
|
114
|
+
L 796.03575431234,603.415397116612
|
|
115
|
+
L 796.03575431234,582.8322396188385
|
|
116
|
+
Z
|
|
117
|
+
" fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="1.8258270991520003px"/><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="805.1648898081" y="586.118728397312" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="16.432443892368px" transform="rotate(90 805.1648898081 586.118728397312)">X</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="
|
|
118
|
+
M 74.37759337251191,254.73110990122396
|
|
119
|
+
L 79.3073265402223,245.60197440546395
|
|
120
|
+
L 110.6141752003486,245.60197440546395
|
|
121
|
+
L 110.6141752003486,263.86024539698394
|
|
122
|
+
L 79.3073265402223,263.86024539698394
|
|
123
|
+
Z
|
|
124
|
+
" fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="1.8258270991520003px"/><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="82.5938153186959" y="254.73110990122396" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="16.432443892368px" transform="">XX</text><path class="net-label sch-net-label" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_7__stack1" d="
|
|
125
|
+
M 432.35523858057053,515.8243850799599
|
|
126
|
+
L 423.2261030848105,510.8946519122495
|
|
127
|
+
L 423.2261030848105,479.58780325212325
|
|
128
|
+
L 441.48437407633054,479.58780325212325
|
|
129
|
+
L 441.48437407633054,510.8946519122495
|
|
130
|
+
Z
|
|
131
|
+
" fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="1.8258270991520003px"/><text class="net-label-text sch-net-label-text" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_7__stack1" x="432.35523858057053" y="507.6081631337759" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="16.432443892368px" transform="rotate(-90 432.35523858057053 507.6081631337759)">XX</text>
|
|
132
|
+
</g>
|
|
133
|
+
</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.2000000000000002,-0.30000000000000004 1.6,-2.295" data-type="line" data-label="" points="308.80000000000007,227.88 353.6,451.31999999999994" fill="none" stroke="hsl(157, 100%, 50%, 0.1)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.2000000000000002,0.30000000000000004 1.6,-1.895" data-type="line" data-label="" points="308.80000000000007,160.68 353.6,406.52" fill="none" stroke="hsl(190, 100%, 50%, 0.1)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.2000000000000002,-0.30000000000000004 1.4000000000000001,-0.30000000000000004 1.4000000000000001,-1.2974999999999999 1.4000000000000001,-2.295 1.6,-2.295" data-type="line" data-label="" points="308.80000000000007,227.88 331.20000000000005,227.88 331.20000000000005,339.6 331.20000000000005,451.31999999999994 353.6,451.31999999999994" fill="none" stroke="blue" stroke-width="1px"/></g><g><polyline data-points="1.149,-1.995 1.5990000000000002,-1.995 1.5990000000000002,-1.795 1.149,-1.795 1.149,-1.995" data-type="line" data-label="" points="303.088,417.72 353.48800000000006,417.72 353.48800000000006,395.32 303.088,395.32 303.088,417.72" fill="none" stroke="hsl(296, 100%, 50%, 1)" stroke-width="1px" stroke-dasharray="4 4"/></g><g><polyline data-points="1.374,-1.895 1.374,-1.995" data-type="line" data-label="" points="328.288,406.52 328.288,417.72" fill="none" stroke="hsl(296, 100%, 50%, 1)" stroke-width="1px" stroke-dasharray="2 2"/></g><g><polyline data-points="1.149,-2.1950000000000003 1.5990000000000002,-2.1950000000000003 1.5990000000000002,-1.995 1.149,-1.995 1.149,-2.1950000000000003" data-type="line" data-label="" points="303.088,440.12 353.48800000000006,440.12 353.48800000000006,417.72 303.088,417.72 303.088,440.12" fill="none" stroke="hsl(296, 100%, 50%, 1)" stroke-width="1px" stroke-dasharray="4 4"/></g><g><polyline data-points="1.374,-2.095 1.374,-1.995" data-type="line" data-label="" points="328.288,428.92 328.288,417.72" fill="none" stroke="hsl(296, 100%, 50%, 1)" stroke-width="1px" stroke-dasharray="2 2"/></g><g><rect data-type="rect" data-label="schematic_component_0" data-x="0" data-y="0" x="40" y="138.28" width="268.80000000000007" height="112" fill="hsl(24, 100%, 50%, 0.1)" stroke="black" stroke-width="0.008928571428571428"/></g><g><rect data-type="rect" data-label="schematic_component_1" data-x="2.7" data-y="-2.095" x="353.6000000000001" y="384.12" width="246.39999999999998" height="89.60000000000002" fill="hsl(24, 100%, 50%, 0.1)" stroke="black" stroke-width="0.008928571428571428"/></g><g><rect data-type="rect" data-label="merged-group-J1-x-" data-x="1.374" data-y="-1.995" x="303.08799999999997" y="395.32000000000005" width="50.400000000000034" height="44.80000000000001" fill="hsl(296, 100%, 50%, 0.2)" stroke="hsl(296, 100%, 50%, 1)" stroke-width="0.008928571428571428"/></g><g><rect data-type="rect" data-label="connectivity_net1" data-x="1.4260000000000002" data-y="0.30000000000000004" x="308.91200000000003" y="149.48000000000002" width="50.400000000000034" height="22.400000000000006" fill="none" stroke="hsl(40, 100%, 50%, 1)" stroke-width="0.008928571428571428"/></g><g><rect data-type="rect" data-label="connectivity_net0" data-x="1.4000000000000001" data-y="-2.52" x="320" y="451.31999999999994" width="22.40000000000009" height="50.40000000000009" fill="none" stroke="hsl(40, 100%, 50%, 1)" stroke-width="0.008928571428571428"/></g><g><circle data-type="point" data-label="U1.1
|
|
2
4
|
x+" data-x="1.2000000000000002" data-y="-0.30000000000000004" cx="308.80000000000007" cy="227.88" r="3" fill="hsl(319, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U1.2
|
|
3
5
|
x-" data-x="-1.2000000000000002" data-y="-0.30000000000000004" cx="40" cy="227.88" r="3" fill="hsl(320, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U1.3
|
|
4
6
|
x+" data-x="1.2000000000000002" data-y="0.09999999999999998" cx="308.80000000000007" cy="183.08" r="3" fill="hsl(321, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="U1.4
|
|
@@ -19,7 +21,7 @@ x-" data-x="1.6" data-y="-2.295" cx="353.6" cy="451.31999999999994" r="3" fill="
|
|
|
19
21
|
const h = svg.getElementById('crosshair-h');
|
|
20
22
|
const v = svg.getElementById('crosshair-v');
|
|
21
23
|
const coords = svg.getElementById('coordinates');
|
|
22
|
-
|
|
24
|
+
|
|
23
25
|
crosshair.style.display = 'block';
|
|
24
26
|
h.setAttribute('x1', '0');
|
|
25
27
|
h.setAttribute('x2', '640');
|
|
@@ -38,13 +40,13 @@ x-" data-x="1.6" data-y="-2.295" cx="353.6" cy="451.31999999999994" r="3" fill="
|
|
|
38
40
|
// y' = (y - ty) / sy
|
|
39
41
|
const sx = matrix.a;
|
|
40
42
|
const sy = matrix.d;
|
|
41
|
-
const tx = matrix.e;
|
|
43
|
+
const tx = matrix.e;
|
|
42
44
|
const ty = matrix.f;
|
|
43
45
|
const realPoint = {
|
|
44
46
|
x: (x - tx) / sx,
|
|
45
47
|
y: (y - ty) / sy // Flip y back since we used negative scale
|
|
46
48
|
}
|
|
47
|
-
|
|
49
|
+
|
|
48
50
|
coords.textContent = `(${realPoint.x.toFixed(2)}, ${realPoint.y.toFixed(2)})`;
|
|
49
51
|
coords.setAttribute('x', (x + 5).toString());
|
|
50
52
|
coords.setAttribute('y', (y - 5).toString());
|
|
@@ -52,4 +54,41 @@ x-" data-x="1.6" data-y="-2.295" cx="353.6" cy="451.31999999999994" r="3" fill="
|
|
|
52
54
|
document.currentScript.parentElement.addEventListener('mouseleave', () => {
|
|
53
55
|
document.currentScript.parentElement.getElementById('crosshair').style.display = 'none';
|
|
54
56
|
});
|
|
55
|
-
]]></script
|
|
57
|
+
]]></script>
|
|
58
|
+
</g>
|
|
59
|
+
<g transform="translate(1216, 200)">
|
|
60
|
+
<style>
|
|
61
|
+
.boundary { fill: rgb(245, 241, 237); }
|
|
62
|
+
.schematic-boundary { fill: none; stroke: #fff; }
|
|
63
|
+
.component { fill: none; stroke: rgb(132, 0, 0); }
|
|
64
|
+
.chip { fill: rgb(255, 255, 194); stroke: rgb(132, 0, 0); }
|
|
65
|
+
.component-pin { fill: none; stroke: rgb(132, 0, 0); }
|
|
66
|
+
.text { font-family: sans-serif; fill: rgb(0, 150, 0); }
|
|
67
|
+
.pin-number { fill: rgb(169, 0, 0); }
|
|
68
|
+
.port-label { fill: rgb(0, 100, 100); }
|
|
69
|
+
.component-name { fill: rgb(0, 100, 100); }
|
|
70
|
+
|
|
71
|
+
</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 628.62640945314 248.09554859336 L 666.7949553905801 248.09554859336 L 666.7949553905801 438.46117145634196 L 666.7949553905801 628.826794319324 L 704.96350132802 628.826794319324" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="30.534836749952003px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 628.62640945314 248.09554859336 L 666.7949553905801 248.09554859336 L 666.7949553905801 438.46117145634196 L 666.7949553905801 628.826794319324 L 704.96350132802 628.826794319324" stroke="rgb(0, 150, 0)" fill="none" stroke-width="3.8168545937440004px" 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"/><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="246.94095007873997" y="95.4213648436" width="305.34836749952" height="190.84272968719998" stroke-width="3.8168545937440004px" fill="rgb(255, 255, 194)" stroke="rgb(132, 0, 0)"/><rect class="component-overlay sch-component-overlay" x="246.94095007873997" y="95.4213648436" width="305.34836749952" height="190.84272968719998" fill="transparent"/><text class="sch-text" x="399.6151338285" y="190.8427296872" fill="#0f172a" text-anchor="middle" dominant-baseline="middle" font-family="sans-serif" font-size="34.351691343696px" transform="rotate(0, 399.6151338285, 190.8427296872)">U1</text><line class="component-pin sch-component-pin sch-port-line" x1="552.28931757826" y1="248.09554859336" x2="628.62640945314" y2="248.09554859336" stroke-width="3.8168545937440004px"/><g class="sch-port" data-schematic-port-id="source_port_0_0__stack1"><rect x="624.809554859396" y="244.278693999616" width="7.633709187488001" height="7.633709187488001" opacity="0"/></g><text class="pin-number sch-pin-number" x="590.4578635157001" y="244.278693999616" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="28.62640945308px" transform="">1</text><line class="component-pin sch-component-pin sch-port-line" x1="246.94095007873997" y1="248.09554859336" x2="174.42071279760398" y2="248.09554859336" stroke-width="3.8168545937440004px"/><g class="sch-port" data-schematic-port-id="source_port_0_1__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="170.60385820385997" cy="248.09554859336" r="3.8168545937440004" stroke-width="3.8168545937440004px"/><rect x="166.78700361011596" y="244.278693999616" width="7.633709187488001" height="7.633709187488001" opacity="0"/></g><text class="pin-number sch-pin-number" x="208.77240414129997" y="244.278693999616" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="28.62640945308px" transform="">2</text><line class="component-pin sch-component-pin sch-port-line" x1="552.28931757826" y1="171.75845671848" x2="624.809554859396" y2="171.75845671848" stroke-width="3.8168545937440004px"/><g class="sch-port" data-schematic-port-id="source_port_0_2__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="628.62640945314" cy="171.75845671848" r="3.8168545937440004" stroke-width="3.8168545937440004px"/><rect x="624.809554859396" y="167.941602124736" width="7.633709187488001" height="7.633709187488001" opacity="0"/></g><text class="pin-number sch-pin-number" x="590.4578635157001" y="167.941602124736" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="28.62640945308px" transform="">3</text><line class="component-pin sch-component-pin sch-port-line" x1="246.94095007873997" y1="133.58991078104" x2="174.42071279760398" y2="133.58991078104" stroke-width="3.8168545937440004px"/><g class="sch-port" data-schematic-port-id="source_port_0_3__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="170.60385820385997" cy="133.58991078104" r="3.8168545937440004" stroke-width="3.8168545937440004px"/><rect x="166.78700361011596" y="129.773056187296" width="7.633709187488001" height="7.633709187488001" opacity="0"/></g><text class="pin-number sch-pin-number" x="208.77240414129997" y="129.773056187296" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="28.62640945308px" transform="">4</text><line class="component-pin sch-component-pin sch-port-line" x1="246.94095007873997" y1="171.75845671848" x2="174.42071279760398" y2="171.75845671848" stroke-width="3.8168545937440004px"/><g class="sch-port" data-schematic-port-id="source_port_0_4__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="170.60385820385997" cy="171.75845671848" r="3.8168545937440004" stroke-width="3.8168545937440004px"/><rect x="166.78700361011596" y="167.941602124736" width="7.633709187488001" height="7.633709187488001" opacity="0"/></g><text class="pin-number sch-pin-number" x="208.77240414129997" y="167.941602124736" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="28.62640945308px" transform="">5</text><line class="component-pin sch-component-pin sch-port-line" x1="246.94095007873997" y1="209.92700265592" x2="174.42071279760398" y2="209.92700265592" stroke-width="3.8168545937440004px"/><g class="sch-port" data-schematic-port-id="source_port_0_5__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="170.60385820385997" cy="209.92700265592" r="3.8168545937440004" stroke-width="3.8168545937440004px"/><rect x="166.78700361011596" y="206.110148062176" width="7.633709187488001" height="7.633709187488001" opacity="0"/></g><text class="pin-number sch-pin-number" x="208.77240414129997" y="206.110148062176" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="28.62640945308px" transform="">6</text><line class="component-pin sch-component-pin sch-port-line" x1="552.28931757826" y1="209.92700265592" x2="624.809554859396" y2="209.92700265592" stroke-width="3.8168545937440004px"/><g class="sch-port" data-schematic-port-id="source_port_0_6__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="628.62640945314" cy="209.92700265592" r="3.8168545937440004" stroke-width="3.8168545937440004px"/><rect x="624.809554859396" y="206.110148062176" width="7.633709187488001" height="7.633709187488001" opacity="0"/></g><text class="pin-number sch-pin-number" x="590.4578635157001" y="206.11014806217602" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="28.62640945308px" transform="">7</text><line class="component-pin sch-component-pin sch-port-line" x1="552.28931757826" y1="133.58991078104" x2="624.809554859396" y2="133.58991078104" stroke-width="3.8168545937440004px"/><g class="sch-port" data-schematic-port-id="source_port_0_7__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="628.62640945314" cy="133.58991078104" r="3.8168545937440004" stroke-width="3.8168545937440004px"/><rect x="624.809554859396" y="129.773056187296" width="7.633709187488001" height="7.633709187488001" opacity="0"/></g><text class="pin-number sch-pin-number" x="590.4578635157001" y="129.773056187296" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="28.62640945308px" transform="">8</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="781.3005932029" y="514.321156507004" width="267.1798215620802" height="152.67418374976" stroke-width="3.8168545937440004px" fill="rgb(255, 255, 194)" stroke="rgb(132, 0, 0)"/><rect class="component-overlay sch-component-overlay" x="781.3005932029" y="514.321156507004" width="267.1798215620802" height="152.67418374976" fill="transparent"/><text class="sch-text" x="914.8905039839401" y="590.658248381884" fill="#0f172a" text-anchor="middle" dominant-baseline="middle" font-family="sans-serif" font-size="34.351691343696px" transform="rotate(0, 914.8905039839401, 590.658248381884)">J1</text><line class="component-pin sch-component-pin sch-port-line" x1="781.3005932029" y1="552.489702444444" x2="708.7803559217641" y2="552.489702444444" stroke-width="3.8168545937440004px"/><g class="sch-port" data-schematic-port-id="source_port_1_0__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="704.96350132802" cy="552.489702444444" r="3.8168545937440004" stroke-width="3.8168545937440004px"/><rect x="701.146646734276" y="548.6728478507" width="7.633709187488001" height="7.633709187488001" opacity="0"/></g><text class="pin-number sch-pin-number" x="743.13204726546" y="548.6728478507" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="28.62640945308px" transform="">1</text><line class="component-pin sch-component-pin sch-port-line" x1="781.3005932029" y1="590.658248381884" x2="708.7803559217641" y2="590.658248381884" stroke-width="3.8168545937440004px"/><g class="sch-port" data-schematic-port-id="source_port_1_1__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="704.96350132802" cy="590.658248381884" r="3.8168545937440004" stroke-width="3.8168545937440004px"/><rect x="701.146646734276" y="586.8413937881401" width="7.633709187488001" height="7.633709187488001" opacity="0"/></g><text class="pin-number sch-pin-number" x="743.13204726546" y="586.8413937881401" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="28.62640945308px" transform="">2</text><line class="component-pin sch-component-pin sch-port-line" x1="781.3005932029" y1="628.826794319324" x2="704.96350132802" y2="628.826794319324" stroke-width="3.8168545937440004px"/><g class="sch-port" data-schematic-port-id="source_port_1_2__stack1"><rect x="701.146646734276" y="625.00993972558" width="7.633709187488001" height="7.633709187488001" opacity="0"/></g><text class="pin-number sch-pin-number" x="743.13204726546" y="625.00993972558" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="28.62640945308px" transform="">3</text></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_0__stack1"><circle cx="628.62640945314" cy="248.09554859336" r="7.633709187488001" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_1__stack1"><circle cx="170.60385820385997" cy="248.09554859336" r="7.633709187488001" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_2__stack1"><circle cx="628.62640945314" cy="171.75845671848" r="7.633709187488001" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_3__stack1"><circle cx="170.60385820385997" cy="133.58991078104" r="7.633709187488001" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_4__stack1"><circle cx="170.60385820385997" cy="171.75845671848" r="7.633709187488001" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_5__stack1"><circle cx="170.60385820385997" cy="209.92700265592" r="7.633709187488001" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_6__stack1"><circle cx="628.62640945314" cy="209.92700265592" r="7.633709187488001" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_7__stack1"><circle cx="628.62640945314" cy="133.58991078104" r="7.633709187488001" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_1_0__stack1"><circle cx="704.96350132802" cy="552.489702444444" r="7.633709187488001" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_1_1__stack1"><circle cx="704.96350132802" cy="590.658248381884" r="7.633709187488001" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_1_2__stack1"><circle cx="704.96350132802" cy="628.826794319324" r="7.633709187488001" 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="
|
|
72
|
+
M 704.96350132802,552.489702444444
|
|
73
|
+
L 694.6579939249112,571.573975413164
|
|
74
|
+
L 629.2116604908474,571.573975413164
|
|
75
|
+
L 629.2116604908474,533.405429475724
|
|
76
|
+
L 694.6579939249112,533.405429475724
|
|
77
|
+
Z
|
|
78
|
+
" fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="3.8168545937440004px"/><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="687.787655656172" y="552.489702444444" fill="rgb(132, 0, 0)" text-anchor="end" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="34.351691343696px" transform="">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="
|
|
79
|
+
M 628.62640945314,133.58991078104
|
|
80
|
+
L 638.9319168562488,114.50563781232
|
|
81
|
+
L 704.3782502903126,114.50563781232
|
|
82
|
+
L 704.3782502903126,152.67418374976
|
|
83
|
+
L 638.9319168562488,152.67418374976
|
|
84
|
+
Z
|
|
85
|
+
" fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="3.8168545937440004px"/><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="645.802255124988" y="133.58991078104" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="34.351691343696px" transform="">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="
|
|
86
|
+
M 666.7949553905801,628.826794319324
|
|
87
|
+
L 685.8792283593001,639.1323017224328
|
|
88
|
+
L 685.8792283593001,704.5786351564966
|
|
89
|
+
L 647.71068242186,704.5786351564966
|
|
90
|
+
L 647.71068242186,639.1323017224328
|
|
91
|
+
Z
|
|
92
|
+
" fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="3.8168545937440004px"/><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="666.7949553905801" y="646.002639991172" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="34.351691343696px" transform="rotate(90 666.7949553905801 646.002639991172)">XX</text>
|
|
93
|
+
</g>
|
|
94
|
+
</svg>
|