@tscircuit/schematic-trace-solver 0.0.148 → 0.0.150

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.
Files changed (164) hide show
  1. package/.agents/skills/schematic-trace-visualization/SKILL.md +7 -2
  2. package/dist/index.d.ts +31 -2
  3. package/dist/index.js +127 -46
  4. package/lib/solvers/InlineNetLabelSolver/InlineNetLabelSolver.ts +115 -6
  5. package/lib/solvers/NetLabelPlacementSolver/NetLabelPlacementSolver.ts +17 -1
  6. package/lib/solvers/NetLabelPlacementSolver/SingleNetLabelPlacementSolver/SingleNetLabelPlacementSolver.ts +2 -0
  7. package/lib/solvers/NetLabelPlacementSolver/SingleNetLabelPlacementSolver/solvePortOnlyPin.ts +2 -0
  8. package/lib/types/InputProblem.ts +27 -1
  9. package/package.json +8 -1
  10. package/site/examples/example51.page.tsx +4 -0
  11. package/tests/assets/example51.json +5102 -0
  12. package/tests/bug-reports/bug-report-20260706T213649Z/__snapshots__/bug-report-20260706T213649Z.snap.svg +751 -5
  13. package/tests/bug-reports/bug-report-20260706T220324Z/__snapshots__/bug-report-20260706T220324Z.snap.svg +660 -5
  14. package/tests/bug-reports/bug-report-20260707T020342Z/__snapshots__/bug-report-20260707T020342Z.snap.svg +44 -5
  15. package/tests/bug-reports/bug-report-20260707T092615Z/__snapshots__/bug-report-20260707T092615Z.snap.svg +394 -5
  16. package/tests/bug-reports/bug-report-20260707T134549Z/__snapshots__/bug-report-20260707T134549Z.snap.svg +170 -5
  17. package/tests/bug-reports/bug-report-20260707T134722Z/__snapshots__/bug-report-20260707T134722Z.snap.svg +79 -5
  18. package/tests/bug-reports/bug-report-20260707T140410Z/__snapshots__/bug-report-20260707T140410Z.snap.svg +219 -5
  19. package/tests/bug-reports/bug-report-20260707T141025Z/__snapshots__/bug-report-20260707T141025Z.snap.svg +65 -5
  20. package/tests/bug-reports/bug-report-20260707T141421Z/__snapshots__/bug-report-20260707T141421Z.snap.svg +142 -5
  21. package/tests/bug-reports/bug-report-20260707T230831Z/__snapshots__/bug-report-20260707T230831Z.snap.svg +100 -5
  22. package/tests/bug-reports/bug-report-20260708T053736Z/__snapshots__/bug-report-20260708T053736Z.snap.svg +23 -5
  23. package/tests/bug-reports/bug-report-20260708T055430Z/__snapshots__/bug-report-20260708T055430Z.snap.svg +58 -5
  24. package/tests/bug-reports/bug-report-20260708T095725Z/__snapshots__/bug-report-20260708T095725Z.snap.svg +86 -5
  25. package/tests/bug-reports/bug-report-20260716T144856Z/__snapshots__/bug-report-20260716T144856Z.snap.svg +226 -5
  26. package/tests/bug-reports/bug-report-20260717T022934Z/__snapshots__/bug-report-20260717T022934Z.snap.svg +191 -5
  27. package/tests/bug-reports/bug-report-20260717T031704Z/__snapshots__/bug-report-20260717T031704Z.snap.svg +30 -5
  28. package/tests/bug-reports/bug-report-20260717T042845Z/__snapshots__/bug-report-20260717T042845Z.snap.svg +37 -5
  29. package/tests/bug-reports/bug-report-20260721T221026Z/__snapshots__/bug-report-20260721T221026Z.snap.svg +580 -2
  30. package/tests/bug-reports/bug-report-20260724T175257Z/__snapshots__/bug-report-20260724T175257Z.snap.svg +44 -5
  31. package/tests/bug-reports/bug-report-20260728T144234Z/__snapshots__/bug-report-20260728T144234Z.snap.svg +107 -5
  32. package/tests/bug-reports/bug-report-20260728T225606Z/__snapshots__/bug-report-20260728T225606Z.snap.svg +114 -5
  33. package/tests/bug-reports/bug-report-20260730T061837Z/__snapshots__/bug-report-20260730T061837Z.snap.svg +121 -5
  34. package/tests/bug-reports/bug-report-20260731T052229Z/__snapshots__/bug-report-20260731T052229Z.snap.svg +51 -5
  35. package/tests/bug-reports/bug-report-20260804T095800Z/__snapshots__/bug-report-20260804T095800Z.snap.svg +212 -5
  36. package/tests/bug-reports/bug-report-20260804T171919Z/__snapshots__/bug-report-20260804T171919Z.snap.svg +569 -5
  37. package/tests/bug-reports/bug-report-20260804T225912Z/__snapshots__/bug-report-20260804T225912Z.snap.svg +37 -5
  38. package/tests/bug-reports/bug-report-20260805T061316Z/__snapshots__/bug-report-20260805T061316Z.snap.svg +289 -5
  39. package/tests/bug-reports/bug-report-20260806T061548Z/__snapshots__/bug-report-20260806T061548Z.snap.svg +289 -5
  40. package/tests/bug-reports/bug-report-20260806T093501Z/__snapshots__/bug-report-20260806T093501Z.snap.svg +149 -5
  41. package/tests/bug-reports/bug-report-20260811T075142Z/__snapshots__/bug-report-20260811T075142Z.snap.svg +93 -5
  42. package/tests/bug-reports/bug-report-20260815T073240Z/__snapshots__/bug-report-20260815T073240Z.snap.svg +79 -5
  43. package/tests/bug-reports/bug-report-20260819T091818Z/__snapshots__/bug-report-20260819T091818Z.snap.svg +244 -2
  44. package/tests/examples/__snapshots__/example01.snap.svg +44 -5
  45. package/tests/examples/__snapshots__/example02.snap.svg +51 -5
  46. package/tests/examples/__snapshots__/example03.snap.svg +86 -5
  47. package/tests/examples/__snapshots__/example04.snap.svg +30 -5
  48. package/tests/examples/__snapshots__/example05.snap.svg +30 -5
  49. package/tests/examples/__snapshots__/example06.snap.svg +30 -5
  50. package/tests/examples/__snapshots__/example07.snap.svg +58 -5
  51. package/tests/examples/__snapshots__/example08.snap.svg +37 -5
  52. package/tests/examples/__snapshots__/example09.snap.svg +149 -5
  53. package/tests/examples/__snapshots__/example10.snap.svg +65 -5
  54. package/tests/examples/__snapshots__/example11.snap.svg +51 -5
  55. package/tests/examples/__snapshots__/example12.snap.svg +51 -5
  56. package/tests/examples/__snapshots__/example13.snap.svg +72 -5
  57. package/tests/examples/__snapshots__/example14.snap.svg +79 -5
  58. package/tests/examples/__snapshots__/example15.snap.svg +86 -5
  59. package/tests/examples/__snapshots__/example16.snap.svg +51 -5
  60. package/tests/examples/__snapshots__/example17.snap.svg +51 -5
  61. package/tests/examples/__snapshots__/example18.snap.svg +58 -5
  62. package/tests/examples/__snapshots__/example19.snap.svg +44 -5
  63. package/tests/examples/__snapshots__/example20.snap.svg +44 -5
  64. package/tests/examples/__snapshots__/example21.snap.svg +72 -5
  65. package/tests/examples/__snapshots__/example22.snap.svg +51 -5
  66. package/tests/examples/__snapshots__/example23.snap.svg +51 -5
  67. package/tests/examples/__snapshots__/example24.snap.svg +51 -5
  68. package/tests/examples/__snapshots__/example25.snap.svg +86 -5
  69. package/tests/examples/__snapshots__/example26.snap.svg +51 -5
  70. package/tests/examples/__snapshots__/example27.snap.svg +72 -5
  71. package/tests/examples/__snapshots__/example28.snap.svg +44 -5
  72. package/tests/examples/__snapshots__/example29.snap.svg +324 -5
  73. package/tests/examples/__snapshots__/example30.snap.svg +107 -5
  74. package/tests/examples/__snapshots__/example31.snap.svg +37 -5
  75. package/tests/examples/__snapshots__/example32.snap.svg +149 -5
  76. package/tests/examples/__snapshots__/example33.snap.svg +93 -5
  77. package/tests/examples/__snapshots__/example34.snap.svg +51 -5
  78. package/tests/examples/__snapshots__/example35.snap.svg +58 -5
  79. package/tests/examples/__snapshots__/example36.snap.svg +44 -5
  80. package/tests/examples/__snapshots__/example37.snap.svg +72 -5
  81. package/tests/examples/__snapshots__/example38.snap.svg +30 -5
  82. package/tests/examples/__snapshots__/example39.snap.svg +37 -5
  83. package/tests/examples/__snapshots__/example40.snap.svg +100 -5
  84. package/tests/examples/__snapshots__/example41.snap.svg +44 -5
  85. package/tests/examples/__snapshots__/example42.snap.svg +65 -5
  86. package/tests/examples/__snapshots__/example43.snap.svg +58 -5
  87. package/tests/examples/__snapshots__/example44.snap.svg +107 -5
  88. package/tests/examples/__snapshots__/example45.snap.svg +51 -5
  89. package/tests/examples/__snapshots__/example46.snap.svg +93 -5
  90. package/tests/examples/__snapshots__/example47.snap.svg +93 -5
  91. package/tests/examples/__snapshots__/example48.snap.svg +65 -5
  92. package/tests/examples/__snapshots__/example49.snap.svg +177 -5
  93. package/tests/examples/__snapshots__/example50.snap.svg +93 -5
  94. package/tests/examples/__snapshots__/example51.snap.svg +952 -0
  95. package/tests/examples/example51.test.ts +12 -0
  96. package/tests/fixtures/convertSolverOutputToCircuitJson.test.ts +219 -0
  97. package/tests/fixtures/convertSolverOutputToCircuitJson.ts +1058 -0
  98. package/tests/fixtures/matcher.ts +45 -8
  99. package/tests/repros/__snapshots__/board-1273-trace-overlap-cycle.snap.svg +762 -2
  100. package/tests/repros/__snapshots__/board-15984-same-net-junction.snap.svg +111 -2
  101. package/tests/repros/__snapshots__/board1096-usb-label-overlap-iteration.snap.svg +167 -2
  102. package/tests/repros/__snapshots__/bugreport-001-gnd-overlap.snap.svg +65 -5
  103. package/tests/repros/__snapshots__/manufacturePartNumber-text-box.snap.svg +30 -5
  104. package/tests/repros/__snapshots__/netlabel-connector-through-rail-label.snap.svg +79 -5
  105. package/tests/repros/__snapshots__/repro-atmega328p-fault-pullup.snap.svg +65 -5
  106. package/tests/repros/__snapshots__/repro-atmega328p-missing-gnd-netlabel.snap.svg +149 -5
  107. package/tests/repros/__snapshots__/repro-board-589-regulator-section.snap.svg +55 -2
  108. package/tests/repros/__snapshots__/repro-board-648-esp12f-section.snap.svg +160 -2
  109. package/tests/repros/__snapshots__/repro-bq24074-battery-charger.snap.svg +135 -5
  110. package/tests/repros/__snapshots__/repro-bq25895-cross-net-trace-overlap.snap.svg +69 -2
  111. package/tests/repros/__snapshots__/repro-cc2340r5.snap.svg +86 -5
  112. package/tests/repros/__snapshots__/repro-core-555-power-cross-net-overlap.snap.svg +44 -5
  113. package/tests/repros/__snapshots__/repro-core-subcircuit-missing-ground.snap.svg +44 -5
  114. package/tests/repros/__snapshots__/repro-core-tb67s579ftg-inline-label-routing.snap.svg +260 -0
  115. package/tests/repros/__snapshots__/repro-example35-minimize-trace-crossing.snap.svg +335 -2
  116. package/tests/repros/__snapshots__/repro-ground-label-on-lower-rail-end.snap.svg +48 -2
  117. package/tests/repros/__snapshots__/repro-ina237-current-monitor.snap.svg +149 -5
  118. package/tests/repros/__snapshots__/repro-missing-trace-netlabel.snap.svg +72 -5
  119. package/tests/repros/__snapshots__/repro-netlabel-collision-687.snap.svg +100 -5
  120. package/tests/repros/__snapshots__/repro-netlabel-overlap-trace.snap.svg +51 -5
  121. package/tests/repros/__snapshots__/repro-nrf52810-clock-routing.snap.svg +90 -2
  122. package/tests/repros/__snapshots__/repro-power-group-rail-labels.snap.svg +37 -5
  123. package/tests/repros/__snapshots__/repro-rectifier-trace-overlap.snap.svg +44 -5
  124. package/tests/repros/__snapshots__/repro-rp2040-gamepad-trace-alignment.snap.svg +237 -2
  125. package/tests/repros/__snapshots__/repro-rp2040-usb-cc2-ground-overlap.snap.svg +72 -5
  126. package/tests/repros/__snapshots__/repro-rp2040-v3v3-label-placement.snap.svg +51 -5
  127. package/tests/repros/__snapshots__/repro-rp2040-zero-crystal-fallback-netlabels.snap.svg +30 -5
  128. package/tests/repros/__snapshots__/repro-ti-power-output-section.snap.svg +79 -5
  129. package/tests/repros/__snapshots__/repro-tida010076-j4-ground-bus.snap.svg +27 -2
  130. package/tests/repros/__snapshots__/repro-tida010076-page02.snap.svg +1150 -5
  131. package/tests/repros/__snapshots__/repro-tps61222-trace-intersection.snap.svg +51 -5
  132. package/tests/repros/__snapshots__/repro-type-c-16pin-self-connection.snap.svg +30 -5
  133. package/tests/repros/__snapshots__/repro-type-c-16pin-to-resistor.snap.svg +30 -5
  134. package/tests/repros/__snapshots__/repro-type-c-vbus-led-ground-label.snap.svg +44 -5
  135. package/tests/repros/__snapshots__/repro-usb-power-vbus-label-detour.snap.svg +685 -2
  136. package/tests/repros/__snapshots__/repro-vcc-pin1-detour.snap.svg +27 -2
  137. package/tests/repros/__snapshots__/repro129-host-custom-symbol-passives.snap.svg +51 -5
  138. package/tests/repros/__snapshots__/repro130-bq27441-fuel-gauge-trace-through-c1.snap.svg +100 -5
  139. package/tests/repros/__snapshots__/repro161-power-section-autolayout.snap.svg +107 -5
  140. package/tests/repros/__snapshots__/repro47-endpoint-obstacle-detour.snap.svg +51 -5
  141. package/tests/repros/__snapshots__/repro48-555-timer-vcc-rail-label.snap.svg +104 -2
  142. package/tests/repros/__snapshots__/repro5-escape-padded-text-obstacles.snap.svg +30 -5
  143. package/tests/repros/__snapshots__/repro51-overlap-junction-crossing.snap.svg +65 -5
  144. package/tests/repros/__snapshots__/repro84-stacked-gnd-label-orientation.snap.svg +27 -2
  145. package/tests/repros/__snapshots__/small-variant-resistor-facing-direction.snap.svg +58 -5
  146. package/tests/repros/__snapshots__/trace-overlap-box-resistor.snap.svg +37 -5
  147. package/tests/repros/assets/repro-core-tb67s579ftg-inline-label-routing.input.json +900 -0
  148. package/tests/repros/repro-core-tb67s579ftg-inline-label-routing.test.ts +40 -0
  149. package/tests/solvers/InlineNetLabelSolver/__snapshots__/fallback-net-label-width.snap.svg +25 -7
  150. package/tests/solvers/InlineNetLabelSolver/__snapshots__/inline-net-label-anchored-label-clearance.snap.svg +34 -2
  151. package/tests/solvers/InlineNetLabelSolver/__snapshots__/inline-net-label-port-stub.snap.svg +23 -5
  152. package/tests/solvers/InlineNetLabelSolver/__snapshots__/inline-net-label-two-pin-net.snap.svg +23 -5
  153. package/tests/solvers/InlineNetLabelSolver/__snapshots__/inline-net-label01.snap.svg +23 -5
  154. package/tests/solvers/InlineNetLabelSolver/__snapshots__/inline-net-label02.snap.svg +23 -5
  155. package/tests/solvers/InlineNetLabelSolver/__snapshots__/terminal-stub-trace-clearance.snap.svg +71 -0
  156. package/tests/solvers/InlineNetLabelSolver/fallback-net-label-width.test.ts +10 -1
  157. package/tests/solvers/InlineNetLabelSolver/terminal-stub-trace-clearance.test.ts +102 -0
  158. package/tests/solvers/SchematicTraceSingleLineSolver2/__snapshots__/SchematicTraceSingleLineSolver2_01-example17-d1_1-u1_1.snap.svg +23 -5
  159. package/tests/solvers/SchematicTraceSingleLineSolver2/__snapshots__/SchematicTraceSingleLineSolver2_repro47-short-opposing-pins.snap.svg +20 -2
  160. package/tests/solvers/TraceCleanupSolver/__snapshots__/TraceCleanupSolver.snap.svg +44 -5
  161. package/tests/solvers/TraceLabelOverlapAvoidanceSolver/__snapshots__/TraceLabelOverlapAvoidanceSolver.snap.svg +79 -5
  162. package/tests/solvers/TraceLabelOverlapAvoidanceSolver/sub-solver/__snapshots__/MergedNetLabelObstacles.snap.svg +44 -5
  163. package/tests/solvers/TraceLabelOverlapAvoidanceSolver/sub-solver/__snapshots__/OverlapAvoidanceStepSolver.snap.svg +23 -5
  164. 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="-4.475,2.9699999999999998 -2.38,3" data-type="line" data-label="" points="56.731401254855086,148.7819938253162 173.57235335125984,147.10885369983066" fill="none" stroke="hsl(192, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="0.2999999999999998,2.6 3.45,1.5" data-type="line" data-label="" points="323.039537894632,169.41738870630414 498.71925107061054,230.76585997410615" fill="none" stroke="hsl(120, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="0.2999999999999998,2.4 0.2999999999999998,2.2" data-type="line" data-label="" points="323.039537894632,180.57165620954086 323.039537894632,191.7259237127776" fill="none" stroke="hsl(192, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="3.05,-1.5 3.935,-1.5" data-type="line" data-label="" points="476.4107160641371,398.0798725226571 525.7683497659596,398.0798725226571" fill="none" stroke="hsl(344, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-3.525,2.9699999999999998 -2.45,1.5" data-type="line" data-label="" points="109.71417189522955,148.7819938253162 169.66835972512698,230.76585997410615" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="2.7,2.2 4.55,1.5" data-type="line" data-label="" points="456.8907479334728,191.7259237127776 560.0677223384125,230.76585997410615" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.62,3 -3.55,1.5" data-type="line" data-label="" points="215.9585698635594,147.10885369983066 108.31988845732496,230.76585997410615" fill="none" stroke="hsl(190, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="0.2999999999999998,2.8 2.7,2.8" data-type="line" data-label="" points="323.039537894632,158.2631212030674 456.8907479334728,158.2631212030674" fill="none" stroke="hsl(190, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="0.2999999999999998,2.4 0.09999999999999981,2.4 0.09999999999999981,2.2 0.2999999999999998,2.2" data-type="line" data-label="" points="323.039537894632,180.57165620954086 311.8852703913953,180.57165620954086 311.8852703913953,191.7259237127776 323.039537894632,191.7259237127776" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-2.55,-1.5 -3.4499999999999997,-1.5" data-type="line" data-label="" points="164.0912259735086,398.0798725226571 113.89702220894333,398.0798725226571" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="3.05,-1.5 3.935,-1.5" data-type="line" data-label="" points="476.4107160641371,398.0798725226571 525.7683497659596,398.0798725226571" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-1.4500000000000002,-1.5 -1.25,-1.5 -1.25,-2.25 -3.75,-2.25 -3.75,-3 -3.55,-3" data-type="line" data-label="" points="225.43969724131063,398.0798725226571 236.59396474454735,398.0798725226571 236.59396474454735,439.90837565979484 97.16562095408821,439.90837565979484 97.16562095408821,481.7368787969326 108.31988845732496,481.7368787969326" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-3.525,2.9699999999999998 -2.415,2.9699999999999998 -2.415,1.5 -2.45,1.5" data-type="line" data-label="" points="109.71417189522955,148.7819938253162 171.6203565381934,148.7819938253162 171.6203565381934,230.76585997410615 169.66835972512698,230.76585997410615" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="2.7,2.2 4.75,2.2 4.75,1.5 4.55,1.5" data-type="line" data-label="" points="456.8907479334728,191.7259237127776 571.2219898416492,191.7259237127776 571.2219898416492,230.76585997410615 560.0677223384125,230.76585997410615" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="0.2999999999999998,2.8 0.09999999999999981,2.8 0.09999999999999981,3.2 2.9000000000000004,3.2 2.9000000000000004,2.8 2.7,2.8" data-type="line" data-label="" points="323.039537894632,158.2631212030674 311.8852703913953,158.2631212030674 311.8852703913953,135.95458619659394 468.04501543670955,135.95458619659394 468.04501543670955,158.2631212030674 456.8907479334728,158.2631212030674" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-4.475,2.9699999999999998 -4.675,2.9699999999999998 -4.675,3.45 -2.58,3.45 -2.58,3 -2.38,3" data-type="line" data-label="" points="56.731401254855086,148.7819938253162 45.57713375161836,148.7819938253162 45.57713375161836,122.011751817548 162.41808584802308,122.011751817548 162.41808584802308,147.10885369983066 173.57235335125984,147.10885369983066" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-2.45,-3 -2.349,-3 -2.349,-3.4509999999999996" data-type="line" data-label="" points="169.66835972512698,481.7368787969326 175.30126481426151,481.7368787969326 175.30126481426151,506.88975201673145" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="5.0649999999999995,-1.5 5.1659999999999995,-1.5 5.1659999999999995,-1.851" data-type="line" data-label="" points="588.7899611592471,398.0798725226571 594.4228662483818,398.0798725226571 594.4228662483818,417.6556119908376" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-1.62,3 -1.5190000000000001,3 -1.5190000000000001,3.251" data-type="line" data-label="" points="215.9585698635594,147.10885369983066 221.59147495269394,147.10885369983066 221.59147495269394,133.11024798326858" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-3.55,1.5 -3.651,1.5 -3.651,1.9509999999999998" data-type="line" data-label="" points="108.31988845732496,230.76585997410615 102.68698336819043,230.76585997410615 102.68698336819043,205.61298675430731" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-4.550000000000001,-1.5 -4.651000000000001,-1.5 -4.651000000000001,-1.2990000000000002" data-type="line" data-label="" points="52.54855094114126,398.0798725226571 46.91564585200672,398.0798725226571 46.91564585200672,386.8698336819042" fill="none" stroke="purple" stroke-width="1px"/></g><g><rect data-type="rect" data-label="schematic_component_0" data-x="-4" data-y="3" x="56.73140125485507" y="139.02200975998403" width="52.98277064037447" height="16.17368787969326" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.01793035714285714"/></g><g><rect data-type="rect" data-label="schematic_component_1" data-x="-2" data-y="3" x="173.57235335125984" y="133.16601932078476" width="42.38621651229957" height="27.88566875809184" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.01793035714285714"/></g><g><rect data-type="rect" data-label="schematic_component_2" data-x="-3" data-y="1.5" x="108.31988845732495" y="207.34189821730902" width="61.34847126780201" height="46.84792351359425" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.01793035714285714"/></g><g><rect data-type="rect" data-label="schematic_component_3" data-x="1.5" data-y="2.5" x="323.039537894632" y="147.10885369983066" width="133.8512100388408" height="55.77133751618368" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.01793035714285714"/></g><g><rect data-type="rect" data-label="schematic_component_4" data-x="4" data-y="1.5" x="498.7192510706106" y="207.34189821730902" width="61.34847126780198" height="46.84792351359425" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.01793035714285714"/></g><g><rect data-type="rect" data-label="schematic_component_5" data-x="-4" data-y="-1.5" x="52.54855094114127" y="387.23483756597955" width="61.34847126780207" height="21.69006991335516" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.01793035714285714"/></g><g><rect data-type="rect" data-label="schematic_component_6" data-x="-2" data-y="-1.5" x="164.09122597350864" y="387.23483756597955" width="61.34847126780201" height="21.69006991335516" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.01793035714285714"/></g><g><rect data-type="rect" data-label="schematic_component_7" data-x="-3" data-y="-3" x="108.31988845732495" y="458.3129170401355" width="61.34847126780201" height="46.847923513594196" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.01793035714285714"/></g><g><rect data-type="rect" data-label="schematic_component_8" data-x="2.5" data-y="-1.5" x="415.062244796335" y="387.23483756597955" width="61.34847126780204" height="21.69006991335516" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.01793035714285714"/></g><g><rect data-type="rect" data-label="schematic_component_9" data-x="4.5" data-y="-1.5" x="525.7683497659596" y="379.9541878298975" width="63.02161139328757" height="36.251369385519354" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.01793035714285714"/></g><g><rect data-type="rect" data-label="netId: .B1 &gt; .pin1 to .SW1 &gt; .pin1
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="-4.475,2.9699999999999998 -2.38,3" data-type="line" data-label="" points="56.731401254855086,148.7819938253162 173.57235335125984,147.10885369983066" fill="none" stroke="hsl(192, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="0.2999999999999998,2.6 3.45,1.5" data-type="line" data-label="" points="323.039537894632,169.41738870630414 498.71925107061054,230.76585997410615" fill="none" stroke="hsl(120, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="0.2999999999999998,2.4 0.2999999999999998,2.2" data-type="line" data-label="" points="323.039537894632,180.57165620954086 323.039537894632,191.7259237127776" fill="none" stroke="hsl(192, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="3.05,-1.5 3.935,-1.5" data-type="line" data-label="" points="476.4107160641371,398.0798725226571 525.7683497659596,398.0798725226571" fill="none" stroke="hsl(344, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-3.525,2.9699999999999998 -2.45,1.5" data-type="line" data-label="" points="109.71417189522955,148.7819938253162 169.66835972512698,230.76585997410615" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="2.7,2.2 4.55,1.5" data-type="line" data-label="" points="456.8907479334728,191.7259237127776 560.0677223384125,230.76585997410615" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.62,3 -3.55,1.5" data-type="line" data-label="" points="215.9585698635594,147.10885369983066 108.31988845732496,230.76585997410615" fill="none" stroke="hsl(190, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="0.2999999999999998,2.8 2.7,2.8" data-type="line" data-label="" points="323.039537894632,158.2631212030674 456.8907479334728,158.2631212030674" fill="none" stroke="hsl(190, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="0.2999999999999998,2.4 0.09999999999999981,2.4 0.09999999999999981,2.2 0.2999999999999998,2.2" data-type="line" data-label="" points="323.039537894632,180.57165620954086 311.8852703913953,180.57165620954086 311.8852703913953,191.7259237127776 323.039537894632,191.7259237127776" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-2.55,-1.5 -3.4499999999999997,-1.5" data-type="line" data-label="" points="164.0912259735086,398.0798725226571 113.89702220894333,398.0798725226571" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="3.05,-1.5 3.935,-1.5" data-type="line" data-label="" points="476.4107160641371,398.0798725226571 525.7683497659596,398.0798725226571" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-1.4500000000000002,-1.5 -1.25,-1.5 -1.25,-2.25 -3.75,-2.25 -3.75,-3 -3.55,-3" data-type="line" data-label="" points="225.43969724131063,398.0798725226571 236.59396474454735,398.0798725226571 236.59396474454735,439.90837565979484 97.16562095408821,439.90837565979484 97.16562095408821,481.7368787969326 108.31988845732496,481.7368787969326" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-3.525,2.9699999999999998 -2.415,2.9699999999999998 -2.415,1.5 -2.45,1.5" data-type="line" data-label="" points="109.71417189522955,148.7819938253162 171.6203565381934,148.7819938253162 171.6203565381934,230.76585997410615 169.66835972512698,230.76585997410615" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="2.7,2.2 4.75,2.2 4.75,1.5 4.55,1.5" data-type="line" data-label="" points="456.8907479334728,191.7259237127776 571.2219898416492,191.7259237127776 571.2219898416492,230.76585997410615 560.0677223384125,230.76585997410615" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="0.2999999999999998,2.8 0.09999999999999981,2.8 0.09999999999999981,3.2 2.9000000000000004,3.2 2.9000000000000004,2.8 2.7,2.8" data-type="line" data-label="" points="323.039537894632,158.2631212030674 311.8852703913953,158.2631212030674 311.8852703913953,135.95458619659394 468.04501543670955,135.95458619659394 468.04501543670955,158.2631212030674 456.8907479334728,158.2631212030674" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-4.475,2.9699999999999998 -4.675,2.9699999999999998 -4.675,3.45 -2.58,3.45 -2.58,3 -2.38,3" data-type="line" data-label="" points="56.731401254855086,148.7819938253162 45.57713375161836,148.7819938253162 45.57713375161836,122.011751817548 162.41808584802308,122.011751817548 162.41808584802308,147.10885369983066 173.57235335125984,147.10885369983066" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-2.45,-3 -2.349,-3 -2.349,-3.4509999999999996" data-type="line" data-label="" points="169.66835972512698,481.7368787969326 175.30126481426151,481.7368787969326 175.30126481426151,506.88975201673145" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="5.0649999999999995,-1.5 5.1659999999999995,-1.5 5.1659999999999995,-1.851" data-type="line" data-label="" points="588.7899611592471,398.0798725226571 594.4228662483818,398.0798725226571 594.4228662483818,417.6556119908376" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-1.62,3 -1.5190000000000001,3 -1.5190000000000001,3.251" data-type="line" data-label="" points="215.9585698635594,147.10885369983066 221.59147495269394,147.10885369983066 221.59147495269394,133.11024798326858" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-3.55,1.5 -3.651,1.5 -3.651,1.9509999999999998" data-type="line" data-label="" points="108.31988845732496,230.76585997410615 102.68698336819043,230.76585997410615 102.68698336819043,205.61298675430731" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-4.550000000000001,-1.5 -4.651000000000001,-1.5 -4.651000000000001,-1.2990000000000002" data-type="line" data-label="" points="52.54855094114126,398.0798725226571 46.91564585200672,398.0798725226571 46.91564585200672,386.8698336819042" fill="none" stroke="purple" stroke-width="1px"/></g><g><rect data-type="rect" data-label="schematic_component_0" data-x="-4" data-y="3" x="56.73140125485507" y="139.02200975998403" width="52.98277064037447" height="16.17368787969326" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.01793035714285714"/></g><g><rect data-type="rect" data-label="schematic_component_1" data-x="-2" data-y="3" x="173.57235335125984" y="133.16601932078476" width="42.38621651229957" height="27.88566875809184" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.01793035714285714"/></g><g><rect data-type="rect" data-label="schematic_component_2" data-x="-3" data-y="1.5" x="108.31988845732495" y="207.34189821730902" width="61.34847126780201" height="46.84792351359425" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.01793035714285714"/></g><g><rect data-type="rect" data-label="schematic_component_3" data-x="1.5" data-y="2.5" x="323.039537894632" y="147.10885369983066" width="133.8512100388408" height="55.77133751618368" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.01793035714285714"/></g><g><rect data-type="rect" data-label="schematic_component_4" data-x="4" data-y="1.5" x="498.7192510706106" y="207.34189821730902" width="61.34847126780198" height="46.84792351359425" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.01793035714285714"/></g><g><rect data-type="rect" data-label="schematic_component_5" data-x="-4" data-y="-1.5" x="52.54855094114127" y="387.23483756597955" width="61.34847126780207" height="21.69006991335516" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.01793035714285714"/></g><g><rect data-type="rect" data-label="schematic_component_6" data-x="-2" data-y="-1.5" x="164.09122597350864" y="387.23483756597955" width="61.34847126780201" height="21.69006991335516" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.01793035714285714"/></g><g><rect data-type="rect" data-label="schematic_component_7" data-x="-3" data-y="-3" x="108.31988845732495" y="458.3129170401355" width="61.34847126780201" height="46.847923513594196" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.01793035714285714"/></g><g><rect data-type="rect" data-label="schematic_component_8" data-x="2.5" data-y="-1.5" x="415.062244796335" y="387.23483756597955" width="61.34847126780204" height="21.69006991335516" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.01793035714285714"/></g><g><rect data-type="rect" data-label="schematic_component_9" data-x="4.5" data-y="-1.5" x="525.7683497659596" y="379.9541878298975" width="63.02161139328757" height="36.251369385519354" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.01793035714285714"/></g><g><rect data-type="rect" data-label="netId: .B1 &gt; .pin1 to .SW1 &gt; .pin1
2
4
  globalConnNetId: connectivity_net0" data-x="-4.675" data-y="2.7449999999999997" x="40.000000000000014" y="148.7819938253162" width="11.154267503236696" height="25.097101882282658" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.01793035714285714"/></g><g><rect data-type="rect" data-label="netId: GND
3
5
  globalConnNetId: connectivity_net6" data-x="-2.9699999999999998" data-y="2.82" x="135.09013046509313" y="148.7819938253162" width="11.154267503236724" height="16.731401254855086" fill="#00000066" stroke="#000000" stroke-width="0.01793035714285714"/></g><g><rect data-type="rect" data-label="netId: GND
4
6
  globalConnNetId: connectivity_net6" data-x="4.75" data-y="1.35" x="565.6448560900309" y="230.76585997410615" width="11.154267503236724" height="16.731401254855086" fill="#00000066" stroke="#000000" stroke-width="0.01793035714285714"/></g><g><rect data-type="rect" data-label="netId: GND
@@ -70,7 +72,7 @@ orientation: y+" data-x="3.4924999999999997" data-y="-1.5" cx="501.0895329150484
70
72
  const h = svg.getElementById('crosshair-h');
71
73
  const v = svg.getElementById('crosshair-v');
72
74
  const coords = svg.getElementById('coordinates');
73
-
75
+
74
76
  crosshair.style.display = 'block';
75
77
  h.setAttribute('x1', '0');
76
78
  h.setAttribute('x2', '640');
@@ -89,13 +91,13 @@ orientation: y+" data-x="3.4924999999999997" data-y="-1.5" cx="501.0895329150484
89
91
  // y' = (y - ty) / sy
90
92
  const sx = matrix.a;
91
93
  const sy = matrix.d;
92
- const tx = matrix.e;
94
+ const tx = matrix.e;
93
95
  const ty = matrix.f;
94
96
  const realPoint = {
95
97
  x: (x - tx) / sx,
96
98
  y: (y - ty) / sy // Flip y back since we used negative scale
97
99
  }
98
-
100
+
99
101
  coords.textContent = `(${realPoint.x.toFixed(2)}, ${realPoint.y.toFixed(2)})`;
100
102
  coords.setAttribute('x', (x + 5).toString());
101
103
  coords.setAttribute('y', (y - 5).toString());
@@ -103,4 +105,146 @@ orientation: y+" data-x="3.4924999999999997" data-y="-1.5" cx="501.0895329150484
103
105
  document.currentScript.parentElement.addEventListener('mouseleave', () => {
104
106
  document.currentScript.parentElement.getElementById('crosshair').style.display = 'none';
105
107
  });
106
- ]]></script></svg>
108
+ ]]></script>
109
+ </g>
110
+ <g transform="translate(1216, 200)">
111
+ <style>
112
+ .boundary { fill: rgb(245, 241, 237); }
113
+ .schematic-boundary { fill: none; stroke: #fff; }
114
+ .component { fill: none; stroke: rgb(132, 0, 0); }
115
+ .chip { fill: rgb(255, 255, 194); stroke: rgb(132, 0, 0); }
116
+ .component-pin { fill: none; stroke: rgb(132, 0, 0); }
117
+ .text { font-family: sans-serif; fill: rgb(0, 150, 0); }
118
+ .pin-number { fill: rgb(169, 0, 0); }
119
+ .port-label { fill: rgb(0, 100, 100); }
120
+ .component-name { fill: rgb(0, 100, 100); }
121
+
122
+ </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 605.27785399554 157.89660571048003 L 585.90958245238 157.89660571048003 L 585.90958245238 177.26487725364 L 605.27785399554 177.26487725364" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="15.494617234528px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 605.27785399554 157.89660571048003 L 585.90958245238 157.89660571048003 L 585.90958245238 177.26487725364 L 605.27785399554 177.26487725364" stroke="rgb(0, 150, 0)" fill="none" stroke-width="1.936827154316px" 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 329.27998450551 535.5779008021 L 242.12276256129002 535.5779008021" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="15.494617234528px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 329.27998450551 535.5779008021 L 242.12276256129002 535.5779008021" stroke="rgb(0, 150, 0)" fill="none" stroke-width="1.936827154316px" 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 871.5915877139901 535.5779008021 L 957.296189292473 535.5779008021" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="15.494617234528px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 871.5915877139901 535.5779008021 L 957.296189292473 535.5779008021" stroke="rgb(0, 150, 0)" fill="none" stroke-width="1.936827154316px" 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 435.80547799289 535.5779008021 L 455.17374953605 535.5779008021 L 455.17374953605 608.20891908895 L 213.07035524655004 608.20891908895 L 213.07035524655004 680.8399373758 L 232.43862678971004 680.8399373758" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="15.494617234528px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 435.80547799289 535.5779008021 L 455.17374953605 535.5779008021 L 455.17374953605 608.20891908895 L 213.07035524655004 608.20891908895 L 213.07035524655004 680.8399373758 L 232.43862678971004 680.8399373758" stroke="rgb(0, 150, 0)" fill="none" stroke-width="1.936827154316px" 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 234.85966073260505 102.69703181247405 L 342.353567797143 102.69703181247405 L 342.353567797143 245.0538276547 L 338.96412027709 245.0538276547" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="15.494617234528px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 234.85966073260505 102.69703181247405 L 342.353567797143 102.69703181247405 L 342.353567797143 245.0538276547 L 338.96412027709 245.0538276547" stroke="rgb(0, 150, 0)" fill="none" stroke-width="1.936827154316px" 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 837.6971125134601 177.26487725364 L 1036.22189583085 177.26487725364 L 1036.22189583085 245.0538276547 L 1016.8536242876901 245.0538276547" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="15.494617234528px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 837.6971125134601 177.26487725364 L 1036.22189583085 177.26487725364 L 1036.22189583085 245.0538276547 L 1016.8536242876901 245.0538276547" stroke="rgb(0, 150, 0)" fill="none" stroke-width="1.936827154316px" 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_6__stack1"><path d="M 605.27785399554 119.16006262416005 L 585.90958245238 119.16006262416005 L 585.90958245238 80.42351953783998 L 857.0653840566201 80.42351953783998 L 857.0653840566201 119.16006262416005 L 837.6971125134601 119.16006262416005" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="15.494617234528px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 605.27785399554 119.16006262416005 L 585.90958245238 119.16006262416005 L 585.90958245238 80.42351953783998 L 857.0653840566201 80.42351953783998 L 857.0653840566201 119.16006262416005 L 837.6971125134601 119.16006262416005" stroke="rgb(0, 150, 0)" fill="none" stroke-width="1.936827154316px" 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_7__stack1"><path d="M 142.86037090259504 102.69703181247405 L 123.49209935943503 102.69703181247405 L 123.49209935943503 56.213180108890015 L 326.374743774036 56.213180108890015 L 326.374743774036 99.79179108099999 L 345.74301531719607 99.79179108099999" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="15.494617234528px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 142.86037090259504 102.69703181247405 L 123.49209935943503 102.69703181247405 L 123.49209935943503 56.213180108890015 L 326.374743774036 56.213180108890015 L 326.374743774036 99.79179108099999 L 345.74301531719607 99.79179108099999" stroke="rgb(0, 150, 0)" fill="none" stroke-width="1.936827154316px" 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_8__stack1"><path d="M 338.96412027709 680.8399373758 L 348.7450974063858 680.8399373758 L 348.7450974063858 724.5153897056258" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="15.494617234528px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 338.96412027709 680.8399373758 L 348.7450974063858 680.8399373758 L 348.7450974063858 724.5153897056258" stroke="rgb(0, 150, 0)" fill="none" stroke-width="1.936827154316px" 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_9__stack1"><path d="M 1066.726923511327 535.5779008021 L 1076.5079006406227 535.5779008021 L 1076.5079006406227 569.5692173603459" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="15.494617234528px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 1066.726923511327 535.5779008021 L 1076.5079006406227 535.5779008021 L 1076.5079006406227 569.5692173603459" stroke="rgb(0, 150, 0)" fill="none" stroke-width="1.936827154316px" 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_10__stack1"><path d="M 419.34244718120397 99.79179108099999 L 429.1234243104998 99.79179108099999 L 429.1234243104998 75.48461029433423" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="15.494617234528px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 419.34244718120397 99.79179108099999 L 429.1234243104998 99.79179108099999 L 429.1234243104998 75.48461029433423" stroke="rgb(0, 150, 0)" fill="none" stroke-width="1.936827154316px" 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_11__stack1"><path d="M 232.43862678971004 245.0538276547 L 222.65764966041422 245.0538276547 L 222.65764966041422 201.37837532487424" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="15.494617234528px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 232.43862678971004 245.0538276547 L 222.65764966041422 245.0538276547 L 222.65764966041422 201.37837532487424" stroke="rgb(0, 150, 0)" fill="none" stroke-width="1.936827154316px" 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_12__stack1"><path d="M 135.59726907390996 535.5779008021 L 125.81629194461414 535.5779008021 L 125.81629194461414 516.1127879012242" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="15.494617234528px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 135.59726907390996 535.5779008021 L 125.81629194461414 535.5779008021 L 125.81629194461414 516.1127879012242" stroke="rgb(0, 150, 0)" fill="none" stroke-width="1.936827154316px" 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="trace-overlays sch-trace-overlays" data-layer="overlay" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_6__stack1"/><g class="trace-overlays sch-trace-overlays" data-layer="overlay" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_7__stack1"/><g class="trace-overlays sch-trace-overlays" data-layer="overlay" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_8__stack1"/><g class="trace-overlays sch-trace-overlays" data-layer="overlay" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_9__stack1"/><g class="trace-overlays sch-trace-overlays" data-layer="overlay" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_10__stack1"/><g class="trace-overlays sch-trace-overlays" data-layer="overlay" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_11__stack1"/><g class="trace-overlays sch-trace-overlays" data-layer="overlay" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_12__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="142.860370902595" y="87.97714543967243" width="91.99928983001001" height="28.5197798473031" fill="transparent"/><path class="sch-component-symbol-path" d="M 183.34005842779942 87.97714543967243 L 183.34005842779942 116.49692528697553" stroke="rgb(132, 0, 0)" fill="none" stroke-width="1.936827154316px" stroke-linecap="round"/><path class="sch-component-symbol-path" d="M 190.7000016142002 93.49710282947302 L 190.7000016142002 110.97696789717492" stroke="rgb(132, 0, 0)" fill="none" stroke-width="1.936827154316px" stroke-linecap="round"/><path class="sch-component-symbol-path" d="M 183.34005842779942 102.69703181247402 L 142.860370902595 102.69703181247402" stroke="rgb(132, 0, 0)" fill="none" stroke-width="1.936827154316px" stroke-linecap="round"/><path class="sch-component-symbol-path" d="M 234.85966073260502 102.69703181247402 L 191.6199945125003 102.69703181247402" stroke="rgb(132, 0, 0)" fill="none" stroke-width="1.936827154316px" stroke-linecap="round"/><text class="sch-component-name sch-component-text" x="188.86001581760001" y="79.69720935497152" stroke="rgb(245, 241, 237)" stroke-width="1.936827154316px" paint-order="stroke" fill="rgb(15, 15, 15)" font-family="sans-serif" text-anchor="middle" dominant-baseline="ideographic" font-size="17.431444388844px">B1</text><text class="sch-component-text" x="188.86001581760001" y="125.69685426997653" fill="rgb(15, 15, 15)" font-family="sans-serif" text-anchor="middle" dominant-baseline="hanging" font-size="17.431444388844px"></text></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="345.74301531719607" y="86.234001000788" width="73.5994318640079" height="14.52620365736999" fill="transparent"/><path class="sch-component-symbol-path" d="M 345.74301531719607 99.79179108099999 L 370.92176832330404 100.76020465815799" stroke="rgb(132, 0, 0)" fill="none" stroke-width="1.936827154316px" stroke-linecap="round"/><path class="sch-component-symbol-path" d="M 375.763836209094 98.82337750384198 L 392.22686702078 86.234001000788" stroke="rgb(132, 0, 0)" fill="none" stroke-width="1.936827154316px" stroke-linecap="round"/><path class="sch-component-symbol-path" d="M 394.163694175096 100.76020465815799 L 419.34244718120397 99.79179108099999" stroke="rgb(132, 0, 0)" fill="none" stroke-width="1.936827154316px" stroke-linecap="round"/><text class="sch-component-name sch-component-text" x="382.5427312492" y="75.58145165204999" stroke="rgb(245, 241, 237)" stroke-width="1.936827154316px" paint-order="stroke" fill="rgb(15, 15, 15)" font-family="sans-serif" text-anchor="middle" dominant-baseline="ideographic" font-size="17.431444388844px">SW1</text><text class="sch-component-text" x="382.5427312492" y="124.00213050994998" fill="rgb(15, 15, 15)" font-family="sans-serif" text-anchor="middle" dominant-baseline="hanging" font-size="17.431444388844px"></text><circle class="sch-component-symbol-circle" cx="392.22686702078" cy="99.79179108099999" r="1.936827154316px" stroke-width="1.936827154316px" fill="none" stroke="rgb(132, 0, 0)"/><circle class="sch-component-symbol-circle" cx="372.85859547762004" cy="99.79179108099999" r="1.936827154316px" stroke-width="1.936827154316px" fill="none" stroke="rgb(132, 0, 0)"/></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="232.43862678971" y="216.64347854161576" width="106.52549348737998" height="56.820698226168474" fill="transparent"/><path class="sch-component-symbol-path" d="M 338.96412027709 245.0538276547 L 296.35392288213797 245.0538276547" stroke="rgb(132, 0, 0)" fill="none" stroke-width="1.936827154316px" stroke-linecap="round"/><path class="sch-component-symbol-path" d="M 275.048824184662 245.0538276547 L 232.43862678971 245.0538276547" stroke="rgb(132, 0, 0)" fill="none" stroke-width="1.936827154316px" stroke-linecap="round"/><path class="sch-component-symbol-path" d="M 296.35392288213797 216.64347854161576 L 296.35392288213797 273.46417676778424" stroke="rgb(132, 0, 0)" fill="none" stroke-width="1.936827154316px" stroke-linecap="round"/><path class="sch-component-symbol-path" d="M 275.048824184662 216.64347854161576 L 275.048824184662 273.46417676778424" stroke="rgb(132, 0, 0)" fill="none" stroke-width="1.936827154316px" stroke-linecap="round"/><text class="sch-component-name sch-component-text" x="285.7013735334" y="202.443630259748" stroke="rgb(245, 241, 237)" stroke-width="1.936827154316px" paint-order="stroke" fill="rgb(15, 15, 15)" font-family="sans-serif" text-anchor="middle" dominant-baseline="ideographic" font-size="17.431444388844px">C3</text><text class="sch-component-text" x="285.7013735334" y="287.66402504965197" fill="rgb(15, 15, 15)" font-family="sans-serif" text-anchor="middle" dominant-baseline="hanging" font-size="17.431444388844px"></text></g><g class="sch-component" data-circuit-json-type="schematic_component" data-schematic-component-id="schematic_component_3__stack1"><rect class="component chip sch-component-body" x="644.01439708186" y="99.79179108099999" width="154.94617234528005" height="96.84135771580003" stroke-width="1.936827154316px" fill="rgb(255, 255, 194)" stroke="rgb(132, 0, 0)"/><rect class="component-overlay sch-component-overlay" x="644.01439708186" y="99.79179108099999" width="154.94617234528005" height="96.84135771580003" fill="transparent"/><text class="sch-text" x="721.4874832545" y="148.21246993890003" fill="#0f172a" text-anchor="middle" dominant-baseline="middle" font-family="sans-serif" font-size="17.431444388844px" transform="rotate(0, 721.4874832545, 148.21246993890003)">U1</text><line class="component-pin sch-component-pin sch-port-line" x1="798.9605694271401" y1="177.26487725364" x2="837.6971125134601" y2="177.26487725364" stroke-width="1.936827154316px"/><g class="sch-port" data-schematic-port-id="source_port_3_0__stack1"><rect x="835.7602853591441" y="175.328050099324" width="3.873654308632" height="3.873654308632" opacity="0"/></g><text class="pin-number sch-pin-number" x="818.3288409703" y="175.328050099324" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="14.526203657369999px" transform="">1</text><line class="component-pin sch-component-pin sch-port-line" x1="644.01439708186" y1="177.26487725364" x2="605.27785399554" y2="177.26487725364" stroke-width="1.936827154316px"/><g class="sch-port" data-schematic-port-id="source_port_3_1__stack1"><rect x="603.341026841224" y="175.328050099324" width="3.873654308632" height="3.873654308632" opacity="0"/></g><text class="pin-number sch-pin-number" x="624.6461255387001" y="175.328050099324" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="14.526203657369999px" transform="">2</text><line class="component-pin sch-component-pin sch-port-line" x1="798.9605694271401" y1="138.52833416732" x2="835.7602853591441" y2="138.52833416732" stroke-width="1.936827154316px"/><g class="sch-port" data-schematic-port-id="source_port_3_2__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="837.6971125134601" cy="138.52833416732" r="1.936827154316" stroke-width="1.936827154316px"/><rect x="835.7602853591441" y="136.591507013004" width="3.873654308632" height="3.873654308632" opacity="0"/></g><text class="pin-number sch-pin-number" x="818.3288409703" y="136.591507013004" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="14.526203657369999px" transform="">3</text><line class="component-pin sch-component-pin sch-port-line" x1="644.01439708186" y1="119.16006262416005" x2="605.27785399554" y2="119.16006262416005" stroke-width="1.936827154316px"/><g class="sch-port" data-schematic-port-id="source_port_3_3__stack1"><rect x="603.341026841224" y="117.22323546984404" width="3.873654308632" height="3.873654308632" opacity="0"/></g><text class="pin-number sch-pin-number" x="624.6461255387001" y="117.22323546984404" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="14.526203657369999px" transform="">4</text><line class="component-pin sch-component-pin sch-port-line" x1="644.01439708186" y1="138.52833416732" x2="607.214681149856" y2="138.52833416732" stroke-width="1.936827154316px"/><g class="sch-port" data-schematic-port-id="source_port_3_4__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="605.27785399554" cy="138.52833416732" r="1.936827154316" stroke-width="1.936827154316px"/><rect x="603.341026841224" y="136.591507013004" width="3.873654308632" height="3.873654308632" opacity="0"/></g><text class="pin-number sch-pin-number" x="624.6461255387001" y="136.591507013004" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="14.526203657369999px" transform="">5</text><line class="component-pin sch-component-pin sch-port-line" x1="644.01439708186" y1="157.89660571048003" x2="605.27785399554" y2="157.89660571048003" stroke-width="1.936827154316px"/><g class="sch-port" data-schematic-port-id="source_port_3_5__stack1"><rect x="603.341026841224" y="155.95977855616403" width="3.873654308632" height="3.873654308632" opacity="0"/></g><text class="pin-number sch-pin-number" x="624.6461255387001" y="155.95977855616403" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="14.526203657369999px" transform="">6</text><line class="component-pin sch-component-pin sch-port-line" x1="798.9605694271401" y1="157.89660571048003" x2="835.7602853591441" y2="157.89660571048003" stroke-width="1.936827154316px"/><g class="sch-port" data-schematic-port-id="source_port_3_6__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="837.6971125134601" cy="157.89660571048003" r="1.936827154316" stroke-width="1.936827154316px"/><rect x="835.7602853591441" y="155.95977855616403" width="3.873654308632" height="3.873654308632" opacity="0"/></g><text class="pin-number sch-pin-number" x="818.3288409703" y="155.95977855616403" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="14.526203657369999px" transform="">7</text><line class="component-pin sch-component-pin sch-port-line" x1="798.9605694271401" y1="119.16006262416005" x2="837.6971125134601" y2="119.16006262416005" stroke-width="1.936827154316px"/><g class="sch-port" data-schematic-port-id="source_port_3_7__stack1"><rect x="835.7602853591441" y="117.22323546984404" width="3.873654308632" height="3.873654308632" opacity="0"/></g><text class="pin-number sch-pin-number" x="818.3288409703" y="117.22323546984404" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="14.526203657369999px" transform="">8</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="910.3281308003101" y="216.64347854161576" width="106.52549348737989" height="56.820698226168474" fill="transparent"/><path class="sch-component-symbol-path" d="M 1016.85362428769 245.0538276547 L 974.2434268927381 245.0538276547" stroke="rgb(132, 0, 0)" fill="none" stroke-width="1.936827154316px" stroke-linecap="round"/><path class="sch-component-symbol-path" d="M 952.938328195262 245.0538276547 L 910.3281308003101 245.0538276547" stroke="rgb(132, 0, 0)" fill="none" stroke-width="1.936827154316px" stroke-linecap="round"/><path class="sch-component-symbol-path" d="M 974.2434268927381 216.64347854161576 L 974.2434268927381 273.46417676778424" stroke="rgb(132, 0, 0)" fill="none" stroke-width="1.936827154316px" stroke-linecap="round"/><path class="sch-component-symbol-path" d="M 952.938328195262 216.64347854161576 L 952.938328195262 273.46417676778424" stroke="rgb(132, 0, 0)" fill="none" stroke-width="1.936827154316px" stroke-linecap="round"/><text class="sch-component-name sch-component-text" x="963.590877544" y="202.443630259748" stroke="rgb(245, 241, 237)" stroke-width="1.936827154316px" paint-order="stroke" fill="rgb(15, 15, 15)" font-family="sans-serif" text-anchor="middle" dominant-baseline="ideographic" font-size="17.431444388844px">C2</text><text class="sch-component-text" x="963.590877544" y="287.66402504965197" fill="rgb(15, 15, 15)" font-family="sans-serif" text-anchor="middle" dominant-baseline="hanging" font-size="17.431444388844px"></text><circle class="component-pin sch-component-pin" cx="910.3281308003101" cy="245.0538276547" r="1.936827154316px" stroke-width="1.936827154316px" 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="135.59726907390998" y="521.3780525202322" width="106.52549348738006" height="28.39969656373546" fill="transparent"/><path class="sch-component-symbol-path" d="M 135.59726907390998 535.5779008021 L 153.35506883825624 535.5779008021" stroke="rgb(132, 0, 0)" fill="none" stroke-width="1.936827154316px" stroke-linecap="round"/><path class="sch-component-symbol-path" d="M 224.3649627969438 535.5779008021 L 242.12276256129005 535.5779008021" stroke="rgb(132, 0, 0)" fill="none" stroke-width="1.936827154316px" stroke-linecap="round"/><path class="sch-component-symbol-path" d="M 153.35506883825624 521.3780525202322 L 224.3649627969438 521.3780525202322 L 224.3649627969438 549.7777490839677 L 153.35506883825624 549.7777490839677 L 153.35506883825624 521.3780525202322" stroke="rgb(132, 0, 0)" fill="none" stroke-width="1.936827154316px" stroke-linecap="round"/><text class="sch-component-name sch-component-text" x="188.86001581760001" y="507.1711025387986" stroke="rgb(245, 241, 237)" stroke-width="1.936827154316px" paint-order="stroke" fill="rgb(15, 15, 15)" font-family="sans-serif" text-anchor="middle" dominant-baseline="ideographic" font-size="17.431444388844px">R1</text><text class="sch-component-text" x="188.86001581760001" y="563.9846990654013" fill="rgb(15, 15, 15)" font-family="sans-serif" text-anchor="middle" dominant-baseline="hanging" font-size="17.431444388844px"></text></g><g class="sch-component" data-circuit-json-type="schematic_component" data-schematic-component-id="schematic_component_6__stack1"><rect class="component-overlay sch-component-overlay" x="329.2799845055101" y="521.3780525202322" width="106.52549348738" height="28.39969656373546" fill="transparent"/><path class="sch-component-symbol-path" d="M 329.2799845055101 535.5779008021 L 347.03778426985633 535.5779008021" stroke="rgb(132, 0, 0)" fill="none" stroke-width="1.936827154316px" stroke-linecap="round"/><path class="sch-component-symbol-path" d="M 418.0476782285438 535.5779008021 L 435.8054779928901 535.5779008021" stroke="rgb(132, 0, 0)" fill="none" stroke-width="1.936827154316px" stroke-linecap="round"/><path class="sch-component-symbol-path" d="M 347.03778426985633 521.3780525202322 L 418.0476782285438 521.3780525202322 L 418.0476782285438 549.7777490839677 L 347.03778426985633 549.7777490839677 L 347.03778426985633 521.3780525202322" stroke="rgb(132, 0, 0)" fill="none" stroke-width="1.936827154316px" stroke-linecap="round"/><text class="sch-component-name sch-component-text" x="382.5427312492001" y="507.17110253879866" stroke="rgb(245, 241, 237)" stroke-width="1.936827154316px" paint-order="stroke" fill="rgb(15, 15, 15)" font-family="sans-serif" text-anchor="middle" dominant-baseline="ideographic" font-size="17.431444388844px">R2</text><text class="sch-component-text" x="382.5427312492001" y="563.9846990654013" fill="rgb(15, 15, 15)" font-family="sans-serif" text-anchor="middle" dominant-baseline="hanging" font-size="17.431444388844px"></text></g><g class="sch-component" data-circuit-json-type="schematic_component" data-schematic-component-id="schematic_component_7__stack1"><rect class="component-overlay sch-component-overlay" x="232.43862678971" y="652.4295882627157" width="106.52549348737998" height="56.82069822616859" fill="transparent"/><path class="sch-component-symbol-path" d="M 338.96412027709 680.8399373758 L 296.35392288213797 680.8399373758" stroke="rgb(132, 0, 0)" fill="none" stroke-width="1.936827154316px" stroke-linecap="round"/><path class="sch-component-symbol-path" d="M 275.048824184662 680.8399373758 L 232.43862678971 680.8399373758" stroke="rgb(132, 0, 0)" fill="none" stroke-width="1.936827154316px" stroke-linecap="round"/><path class="sch-component-symbol-path" d="M 296.35392288213797 652.4295882627157 L 296.35392288213797 709.2502864888843" stroke="rgb(132, 0, 0)" fill="none" stroke-width="1.936827154316px" stroke-linecap="round"/><path class="sch-component-symbol-path" d="M 275.048824184662 652.4295882627157 L 275.048824184662 709.2502864888843" stroke="rgb(132, 0, 0)" fill="none" stroke-width="1.936827154316px" stroke-linecap="round"/><text class="sch-component-name sch-component-text" x="285.7013735334" y="638.229739980848" stroke="rgb(245, 241, 237)" stroke-width="1.936827154316px" paint-order="stroke" fill="rgb(15, 15, 15)" font-family="sans-serif" text-anchor="middle" dominant-baseline="ideographic" font-size="17.431444388844px">C1</text><text class="sch-component-text" x="285.7013735334" y="723.450134770752" fill="rgb(15, 15, 15)" font-family="sans-serif" text-anchor="middle" dominant-baseline="hanging" font-size="17.431444388844px"></text></g><g class="sch-component" data-circuit-json-type="schematic_component" data-schematic-component-id="schematic_component_8__stack1"><rect class="component-overlay sch-component-overlay" x="765.06609422661" y="521.3780525202322" width="106.52549348738012" height="28.39969656373546" fill="transparent"/><path class="sch-component-symbol-path" d="M 765.06609422661 535.5779008021 L 782.8238939909562 535.5779008021" stroke="rgb(132, 0, 0)" fill="none" stroke-width="1.936827154316px" stroke-linecap="round"/><path class="sch-component-symbol-path" d="M 853.8337879496438 535.5779008021 L 871.5915877139901 535.5779008021" stroke="rgb(132, 0, 0)" fill="none" stroke-width="1.936827154316px" stroke-linecap="round"/><path class="sch-component-symbol-path" d="M 782.8238939909562 521.3780525202322 L 853.8337879496438 521.3780525202322 L 853.8337879496438 549.7777490839677 L 782.8238939909562 549.7777490839677 L 782.8238939909562 521.3780525202322" stroke="rgb(132, 0, 0)" fill="none" stroke-width="1.936827154316px" stroke-linecap="round"/><text class="sch-component-name sch-component-text" x="818.3288409703" y="507.17110253879866" stroke="rgb(245, 241, 237)" stroke-width="1.936827154316px" paint-order="stroke" fill="rgb(15, 15, 15)" font-family="sans-serif" text-anchor="middle" dominant-baseline="ideographic" font-size="17.431444388844px">R3</text><text class="sch-component-text" x="818.3288409703" y="563.9846990654013" fill="rgb(15, 15, 15)" font-family="sans-serif" text-anchor="middle" dominant-baseline="hanging" font-size="17.431444388844px"></text><circle class="component-pin sch-component-pin" cx="765.06609422661" cy="535.5779008021" r="1.936827154316px" stroke-width="1.936827154316px" fill="none" stroke="rgb(132, 0, 0)"/></g><g class="sch-component" data-circuit-json-type="schematic_component" data-schematic-component-id="schematic_component_9__stack1"><rect class="component-overlay sch-component-overlay" x="957.296189292473" y="520.846840426485" width="109.43073421885401" height="28.409902152971767" fill="transparent"/><path class="sch-component-symbol-path" d="M 1026.742616777515 535.5779008021 L 999.3849332228015 549.2567425794567" stroke="rgb(132, 0, 0)" fill="none" stroke-width="1.936827154316px" stroke-linecap="round"/><path class="sch-component-symbol-path" d="M 999.3849332228015 520.846840426485 L 1026.742616777515 535.5779008021" stroke="rgb(132, 0, 0)" fill="none" stroke-width="1.936827154316px" stroke-linecap="round"/><path class="sch-component-symbol-path" d="M 999.3849332228015 549.2567425794567 L 999.3849332228015 520.846840426485" stroke="rgb(132, 0, 0)" fill="none" stroke-width="1.936827154316px" stroke-linecap="round"/><path class="sch-component-symbol-path" d="M 1026.742616777515 520.846840426485 L 1026.742616777515 549.2567425794567" stroke="rgb(132, 0, 0)" fill="none" stroke-width="1.936827154316px" stroke-linecap="round"/><path class="sch-component-symbol-path" d="M 999.3849332228015 535.5779008021 L 957.296189292473 535.5779008021" stroke="rgb(132, 0, 0)" fill="none" stroke-width="1.936827154316px" stroke-linecap="round"/><path class="sch-component-symbol-path" d="M 1066.726923511327 535.5779008021 L 1027.7948353757731 535.5779008021" stroke="rgb(132, 0, 0)" fill="none" stroke-width="1.936827154316px" stroke-linecap="round"/><text class="sch-component-name sch-component-text" x="1010.9593378036417" y="511.3768730421611" stroke="rgb(245, 241, 237)" stroke-width="1.936827154316px" paint-order="stroke" fill="rgb(15, 15, 15)" font-family="sans-serif" text-anchor="middle" dominant-baseline="ideographic" font-size="17.431444388844px">D1</text><text class="sch-component-text" x="1012.0115564019" y="568.1966773481045" fill="rgb(15, 15, 15)" font-family="sans-serif" text-anchor="middle" dominant-baseline="hanging" font-size="17.431444388844px"></text></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_0__stack1"><circle cx="140.43933695970003" cy="102.55176977590031" r="3.873654308632" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_1__stack1"><circle cx="232.43862678971004" cy="102.55176977590031" r="3.873654308632" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_1_0__stack1"><circle cx="345.74301531719607" cy="99.79179108099999" r="3.873654308632" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_1_1__stack1"><circle cx="419.34244718120397" cy="99.79179108099999" r="3.873654308632" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_2_0__stack1"><circle cx="256.64896621866" cy="245.0538276547" r="3.873654308632" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_2_1__stack1"><circle cx="363.17445970604" cy="245.0538276547" r="3.873654308632" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_3_0__stack1"><circle cx="837.6971125134601" cy="177.26487725364" r="3.873654308632" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_3_1__stack1"><circle cx="605.27785399554" cy="177.26487725364" r="3.873654308632" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_3_2__stack1"><circle cx="837.6971125134601" cy="138.52833416732" r="3.873654308632" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_3_3__stack1"><circle cx="605.27785399554" cy="119.16006262416005" r="3.873654308632" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_3_4__stack1"><circle cx="605.27785399554" cy="138.52833416732" r="3.873654308632" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_3_5__stack1"><circle cx="605.27785399554" cy="157.89660571048003" r="3.873654308632" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_3_6__stack1"><circle cx="837.6971125134601" cy="157.89660571048003" r="3.873654308632" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_3_7__stack1"><circle cx="837.6971125134601" cy="119.16006262416005" r="3.873654308632" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_4_0__stack1"><circle cx="934.53847022926" cy="245.0538276547" r="3.873654308632" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_4_1__stack1"><circle cx="1041.06396371664" cy="245.0538276547" r="3.873654308632" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_5_0__stack1"><circle cx="159.80760850286003" cy="535.5779008021" r="3.873654308632" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_5_1__stack1"><circle cx="266.3331019902401" cy="535.5779008021" r="3.873654308632" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_6_0__stack1"><circle cx="353.49032393446004" cy="535.5779008021" r="3.873654308632" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_6_1__stack1"><circle cx="460.01581742184004" cy="535.5779008021" r="3.873654308632" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_7_0__stack1"><circle cx="256.64896621866" cy="680.8399373758" r="3.873654308632" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_7_1__stack1"><circle cx="363.17445970604" cy="680.8399373758" r="3.873654308632" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_8_0__stack1"><circle cx="789.27643365556" cy="535.5779008021" r="3.873654308632" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_8_1__stack1"><circle cx="895.80192714294" cy="535.5779008021" r="3.873654308632" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_9_0__stack1"><circle cx="961.654050389684" cy="535.9131208865008" r="3.873654308632" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_9_1__stack1"><circle cx="1071.084784608538" cy="535.9131208865008" r="3.873654308632" 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="
123
+ M 123.49209935943503,102.69703181247405
124
+ L 133.17623513101503,107.92646512912725
125
+ L 133.17623513101503,141.13659473513226
126
+ L 113.80796358785503,141.13659473513226
127
+ L 113.80796358785503,107.92646512912725
128
+ Z
129
+ " fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="1.936827154316px"/><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="123.49209935943503" y="111.41275400689605" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="17.431444388844px" transform="rotate(90 123.49209935943503 111.41275400689605)">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="
130
+ M 288.60661426487405,102.69703181247405
131
+ L 298.290750036454,107.92646512912725
132
+ L 298.290750036454,129.76096324878296
133
+ L 278.9224784932941,129.76096324878296
134
+ L 278.9224784932941,107.92646512912725
135
+ Z
136
+ " fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="1.936827154316px"/><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="288.60661426487405" y="111.41275400689605" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="17.431444388844px" transform="rotate(90 288.60661426487405 111.41275400689605)">X</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="
137
+ M 1036.22189583085,245.0538276547
138
+ L 1045.90603160243,250.2832609713532
139
+ L 1045.90603160243,272.1177590910089
140
+ L 1026.5377600592699,272.1177590910089
141
+ L 1026.5377600592699,250.2832609713532
142
+ Z
143
+ " fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="1.936827154316px"/><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="1036.22189583085" y="253.769549849122" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="17.431444388844px" transform="rotate(90 1036.22189583085 253.769549849122)">X</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="
144
+ M 348.7450974063858,724.5153897056258
145
+ L 358.4292331779658,729.744823022279
146
+ L 358.4292331779658,751.5793211419348
147
+ L 339.06096163480584,751.5793211419348
148
+ L 339.06096163480584,729.744823022279
149
+ Z
150
+ " fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="1.936827154316px"/><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="348.7450974063858" y="733.2311119000478" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="17.431444388844px" transform="rotate(90 348.7450974063858 733.2311119000478)">X</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="
151
+ M 1076.5079006406227,569.5692173603459
152
+ L 1086.1920364122027,574.798650676999
153
+ L 1086.1920364122027,596.6331487966547
154
+ L 1066.8237648690426,596.6331487966547
155
+ L 1066.8237648690426,574.798650676999
156
+ Z
157
+ " fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="1.936827154316px"/><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="1076.5079006406227" y="578.2849395547679" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="17.431444388844px" transform="rotate(90 1076.5079006406227 578.2849395547679)">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="
158
+ M 429.1234243104998,75.48461029433423
159
+ L 419.4392885389198,70.25517697768103
160
+ L 419.4392885389198,48.420678858025326
161
+ L 438.80756008207976,48.420678858025326
162
+ L 438.80756008207976,70.25517697768103
163
+ Z
164
+ " fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="1.936827154316px"/><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="429.1234243104998" y="66.76888809991223" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="17.431444388844px" transform="rotate(-90 429.1234243104998 66.76888809991223)">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="
165
+ M 222.65764966041422,201.37837532487424
166
+ L 212.97351388883422,196.14894200822104
167
+ L 212.97351388883422,174.31444388856534
168
+ L 232.34178543199423,174.31444388856534
169
+ L 232.34178543199423,196.14894200822104
170
+ Z
171
+ " fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="1.936827154316px"/><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="222.65764966041422" y="192.66265313045224" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="17.431444388844px" transform="rotate(-90 222.65764966041422 192.66265313045224)">X</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="
172
+ M 585.90958245238,80.42351953783998
173
+ L 576.2254466808,75.19408622118678
174
+ L 576.2254466808,53.359588101531074
175
+ L 595.5937182239601,53.359588101531074
176
+ L 595.5937182239601,75.19408622118678
177
+ Z
178
+ " fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="1.936827154316px"/><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="585.90958245238" y="71.70779734341798" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="17.431444388844px" transform="rotate(-90 585.90958245238 71.70779734341798)">X</text><path class="net-label sch-net-label" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_8__stack1" d="
179
+ M 125.81629194461414,516.1127879012242
180
+ L 116.13215617303413,510.883354584571
181
+ L 116.13215617303413,489.04885646491533
182
+ L 135.50042771619414,489.04885646491533
183
+ L 135.50042771619414,510.88335458457107
184
+ Z
185
+ " fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="1.936827154316px"/><text class="net-label-text sch-net-label-text" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_8__stack1" x="125.81629194461414" y="507.3970657068022" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="17.431444388844px" transform="rotate(-90 125.81629194461414 507.3970657068022)">X</text><path class="net-label sch-net-label" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_9__stack1" d="
186
+ M 585.90958245238,157.89660571048003
187
+ L 580.6801491357269,167.58074148206003
188
+ L 547.4700195297219,167.58074148206003
189
+ L 547.4700195297219,148.21246993890003
190
+ L 580.6801491357269,148.21246993890003
191
+ Z
192
+ " fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="1.936827154316px"/><text class="net-label-text sch-net-label-text" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_9__stack1" x="577.193860257958" y="157.89660571048003" fill="rgb(132, 0, 0)" text-anchor="end" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="17.431444388844px" 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_10__stack1" d="
193
+ M 455.17374953605,535.5779008021
194
+ L 445.48961376447005,530.3484674854468
195
+ L 445.48961376447005,497.1383378794418
196
+ L 464.85788530763,497.1383378794418
197
+ L 464.85788530763,530.3484674854468
198
+ Z
199
+ " fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="1.936827154316px"/><text class="net-label-text sch-net-label-text" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_10__stack1" x="455.17374953605" y="526.862178607678" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="17.431444388844px" transform="rotate(-90 455.17374953605 526.862178607678)">XX</text><path class="net-label sch-net-label" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_11__stack1" d="
200
+ M 837.6971125134601,138.52833416732
201
+ L 842.9265458301132,128.84419839574
202
+ L 876.1366754361183,128.84419839574
203
+ L 876.1366754361183,148.2124699389
204
+ L 842.9265458301132,148.2124699389
205
+ Z
206
+ " fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="1.936827154316px"/><text class="net-label-text sch-net-label-text" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_11__stack1" x="846.4128347078821" y="138.52833416732" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="17.431444388844px" 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_12__stack1" d="
207
+ M 765.06609422661,535.5779008021
208
+ L 759.8366609099568,545.26203657368
209
+ L 726.6265313039518,545.26203657368
210
+ L 726.6265313039518,525.89376503052
211
+ L 759.8366609099568,525.89376503052
212
+ Z
213
+ " fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="1.936827154316px"/><text class="net-label-text sch-net-label-text" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_12__stack1" x="756.3503720321879" y="535.5779008021" fill="rgb(132, 0, 0)" text-anchor="end" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="17.431444388844px" 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_13__stack1" d="
214
+ M 605.27785399554,138.52833416732
215
+ L 600.0484206788868,148.2124699389
216
+ L 566.8382910728818,148.2124699389
217
+ L 566.8382910728818,128.84419839574
218
+ L 600.0484206788868,128.84419839574
219
+ Z
220
+ " fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="1.936827154316px"/><text class="net-label-text sch-net-label-text" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_13__stack1" x="596.562131801118" y="138.52833416732" fill="rgb(132, 0, 0)" text-anchor="end" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="17.431444388844px" 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_14__stack1" d="
221
+ M 910.32813080031,245.0538276547
222
+ L 905.0986974836568,254.73796342628
223
+ L 871.8885678776518,254.73796342628
224
+ L 871.8885678776518,235.36969188312
225
+ L 905.0986974836568,235.36969188312
226
+ Z
227
+ " fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="1.936827154316px"/><text class="net-label-text sch-net-label-text" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_14__stack1" x="901.6124086058879" y="245.0538276547" fill="rgb(132, 0, 0)" text-anchor="end" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="17.431444388844px" 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_15__stack1" d="
228
+ M 285.7013735334,535.5779008021
229
+ L 276.01723776182,530.3484674854468
230
+ L 276.01723776182,497.1383378794418
231
+ L 295.38550930497996,497.1383378794418
232
+ L 295.38550930497996,530.3484674854468
233
+ Z
234
+ " fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="1.936827154316px"/><text class="net-label-text sch-net-label-text" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_15__stack1" x="285.7013735334" y="526.862178607678" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="17.431444388844px" transform="rotate(-90 285.7013735334 526.862178607678)">XX</text><path class="net-label sch-net-label" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_16__stack1" d="
235
+ M 837.6971125134601,157.89660571048003
236
+ L 842.9265458301132,148.21246993890003
237
+ L 876.1366754361183,148.21246993890003
238
+ L 876.1366754361183,167.58074148206003
239
+ L 842.9265458301132,167.58074148206003
240
+ Z
241
+ " fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="1.936827154316px"/><text class="net-label-text sch-net-label-text" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_16__stack1" x="846.4128347078821" y="157.89660571048003" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="17.431444388844px" 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_17__stack1" d="
242
+ M 914.4438885032315,535.5779008021
243
+ L 904.7597527316515,530.3484674854468
244
+ L 904.7597527316515,497.1383378794418
245
+ L 924.1280242748115,497.1383378794418
246
+ L 924.1280242748115,530.3484674854468
247
+ Z
248
+ " fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="1.936827154316px"/><text class="net-label-text sch-net-label-text" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_17__stack1" x="914.4438885032315" y="526.862178607678" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="17.431444388844px" transform="rotate(-90 914.4438885032315 526.862178607678)">XX</text>
249
+ </g>
250
+ </svg>
@@ -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="-1.95,-6.6 1.5225,-8.5" data-type="line" data-label="" points="101.79719068693475,212.245526265153 475.974600731191,416.97902636136246" fill="none" stroke="hsl(154, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-0.8499999999999999,-6.6 -1.5225,-8.700000000000001" data-type="line" data-label="" points="220.3271117952665,212.245526265153 147.86222820858185,438.5299211083319" fill="none" stroke="hsl(172, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.95,-6.6 -2.0509999999999997,-6.6 -2.0509999999999997,-6.398999999999999" data-type="line" data-label="" points="101.79719068693475,212.245526265153 90.91398883971522,212.245526265153 90.91398883971522,190.58687704444867" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="1.5225,-8.5 2.5735,-8.5 2.5735,-7.9990000000000006" data-type="line" data-label="" points="475.974600731191,416.97902636136246 589.2245526265153,416.97902636136246 589.2245526265153,362.99403502020414" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="1.5225,-8.700000000000001 1.6235,-8.700000000000001 1.6235,-8.901" data-type="line" data-label="" points="475.974600731191,438.5299211083319 486.85780257841054,438.5299211083319 486.85780257841054,460.188570329036" fill="none" stroke="purple" stroke-width="1px"/></g><g><rect data-type="rect" data-label="schematic_component_0" data-x="-1.4" data-y="-6.6" x="101.79719068693475" y="191.29209236097756" width="118.52992110833173" height="41.90686780835085" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.009280357142857142"/></g><g><rect data-type="rect" data-label="schematic_component_1" data-x="0" data-y="-8.4" x="147.86222820858188" y="352.3263421204543" width="328.1123725226091" height="107.75447373484701" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.009280357142857142"/></g><g><rect data-type="rect" data-label="netId: V3V3
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.95,-6.6 1.5225,-8.5" data-type="line" data-label="" points="101.79719068693475,212.245526265153 475.974600731191,416.97902636136246" fill="none" stroke="hsl(154, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-0.8499999999999999,-6.6 -1.5225,-8.700000000000001" data-type="line" data-label="" points="220.3271117952665,212.245526265153 147.86222820858185,438.5299211083319" fill="none" stroke="hsl(172, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.95,-6.6 -2.0509999999999997,-6.6 -2.0509999999999997,-6.398999999999999" data-type="line" data-label="" points="101.79719068693475,212.245526265153 90.91398883971522,212.245526265153 90.91398883971522,190.58687704444867" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="1.5225,-8.5 2.5735,-8.5 2.5735,-7.9990000000000006" data-type="line" data-label="" points="475.974600731191,416.97902636136246 589.2245526265153,416.97902636136246 589.2245526265153,362.99403502020414" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="1.5225,-8.700000000000001 1.6235,-8.700000000000001 1.6235,-8.901" data-type="line" data-label="" points="475.974600731191,438.5299211083319 486.85780257841054,438.5299211083319 486.85780257841054,460.188570329036" fill="none" stroke="purple" stroke-width="1px"/></g><g><rect data-type="rect" data-label="schematic_component_0" data-x="-1.4" data-y="-6.6" x="101.79719068693475" y="191.29209236097756" width="118.52992110833173" height="41.90686780835085" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.009280357142857142"/></g><g><rect data-type="rect" data-label="schematic_component_1" data-x="0" data-y="-8.4" x="147.86222820858188" y="352.3263421204543" width="328.1123725226091" height="107.75447373484701" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.009280357142857142"/></g><g><rect data-type="rect" data-label="netId: V3V3
2
4
  globalConnNetId: connectivity_net0" data-x="-2.0509999999999997" data-y="-6.198999999999999" x="80.1385414662305" y="147.48508755050995" width="21.55089474696942" height="43.10178949393878" fill="#ef444466" stroke="#ef4444" stroke-width="0.009280357142857142"/></g><g><rect data-type="rect" data-label="netId: V3V3
3
5
  globalConnNetId: connectivity_net0" data-x="2.5735" data-y="-7.799" x="578.4491052530307" y="319.89224552626524" width="21.550894746969448" height="43.101789493938895" fill="#ef444466" stroke="#ef4444" stroke-width="0.009280357142857142"/></g><g><rect data-type="rect" data-label="netId: QSPI_CS
4
6
  globalConnNetId: connectivity_net1" data-x="-0.4989999999999999" data-y="-6.6" x="220.43486626900136" y="201.47007889166832" width="75.42813161439292" height="21.550894746969334" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.009280357142857142"/></g><g><rect data-type="rect" data-label="netId: QSPI_CS
@@ -38,7 +40,7 @@ orientation: y-" data-x="1.6235" data-y="-8.901" cx="486.85780257841054" cy="460
38
40
  const h = svg.getElementById('crosshair-h');
39
41
  const v = svg.getElementById('crosshair-v');
40
42
  const coords = svg.getElementById('coordinates');
41
-
43
+
42
44
  crosshair.style.display = 'block';
43
45
  h.setAttribute('x1', '0');
44
46
  h.setAttribute('x2', '640');
@@ -57,13 +59,13 @@ orientation: y-" data-x="1.6235" data-y="-8.901" cx="486.85780257841054" cy="460
57
59
  // y' = (y - ty) / sy
58
60
  const sx = matrix.a;
59
61
  const sy = matrix.d;
60
- const tx = matrix.e;
62
+ const tx = matrix.e;
61
63
  const ty = matrix.f;
62
64
  const realPoint = {
63
65
  x: (x - tx) / sx,
64
66
  y: (y - ty) / sy // Flip y back since we used negative scale
65
67
  }
66
-
68
+
67
69
  coords.textContent = `(${realPoint.x.toFixed(2)}, ${realPoint.y.toFixed(2)})`;
68
70
  coords.setAttribute('x', (x + 5).toString());
69
71
  coords.setAttribute('y', (y - 5).toString());
@@ -71,4 +73,90 @@ orientation: y-" data-x="1.6235" data-y="-8.901" cx="486.85780257841054" cy="460
71
73
  document.currentScript.parentElement.addEventListener('mouseleave', () => {
72
74
  document.currentScript.parentElement.getElementById('crosshair').style.display = 'none';
73
75
  });
74
- ]]></script></svg>
76
+ ]]></script>
77
+ </g>
78
+ <g transform="translate(1216, 200)">
79
+ <style>
80
+ .boundary { fill: rgb(245, 241, 237); }
81
+ .schematic-boundary { fill: none; stroke: #fff; }
82
+ .component { fill: none; stroke: rgb(132, 0, 0); }
83
+ .chip { fill: rgb(255, 255, 194); stroke: rgb(132, 0, 0); }
84
+ .component-pin { fill: none; stroke: rgb(132, 0, 0); }
85
+ .text { font-family: sans-serif; fill: rgb(0, 150, 0); }
86
+ .pin-number { fill: rgb(169, 0, 0); }
87
+ .port-label { fill: rgb(0, 100, 100); }
88
+ .component-name { fill: rgb(0, 100, 100); }
89
+
90
+ </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 210.68989724944498 210.2112451334399 L 191.35235177749814 210.2112451334399 L 191.35235177749814 171.72761503580296" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="30.633735401104px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 210.68989724944498 210.2112451334399 L 191.35235177749814 210.2112451334399 L 191.35235177749814 171.72761503580296" stroke="rgb(0, 150, 0)" fill="none" stroke-width="3.829216925138px" 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 875.5376858765302 573.9868530215499 L 1076.763035292532 573.9868530215499 L 1076.763035292532 478.0649690468431" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="30.633735401104px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 875.5376858765302 573.9868530215499 L 1076.763035292532 573.9868530215499 L 1076.763035292532 478.0649690468431" stroke="rgb(0, 150, 0)" fill="none" stroke-width="3.829216925138px" 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 875.5376858765302 612.2790222729302 L 894.8752313484771 612.2790222729302 L 894.8752313484771 650.7626523705669" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="30.633735401104px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 875.5376858765302 612.2790222729302 L 894.8752313484771 612.2790222729302 L 894.8752313484771 650.7626523705669" stroke="rgb(0, 150, 0)" fill="none" stroke-width="3.829216925138px" 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="sch-component" data-circuit-json-type="schematic_component" data-schematic-component-id="schematic_component_0__stack1"><rect class="component-overlay sch-component-overlay" x="210.68989724944495" y="182.13734124679064" width="210.60693088259004" height="56.147807773298496" fill="transparent"/><path class="sch-component-symbol-path" d="M 210.68989724944495 210.2112451334399 L 245.7980726275727 210.2112451334399" stroke="rgb(132, 0, 0)" fill="none" stroke-width="3.829216925138px" stroke-linecap="round"/><path class="sch-component-symbol-path" d="M 386.1886527539072 210.2112451334399 L 421.296828132035 210.2112451334399" stroke="rgb(132, 0, 0)" fill="none" stroke-width="3.829216925138px" stroke-linecap="round"/><path class="sch-component-symbol-path" d="M 245.7980726275727 182.13734124679064 L 386.1886527539072 182.13734124679064 L 386.1886527539072 238.28514902008914 L 245.7980726275727 238.28514902008914 L 245.7980726275727 182.13734124679064" stroke="rgb(132, 0, 0)" fill="none" stroke-width="3.829216925138px" stroke-linecap="round"/><text class="sch-component-name sch-component-text" x="315.99336269073996" y="154.04939689808253" stroke="rgb(245, 241, 237)" stroke-width="3.829216925138px" paint-order="stroke" fill="rgb(15, 15, 15)" font-family="sans-serif" text-anchor="middle" dominant-baseline="ideographic" font-size="34.462952326242px">R7</text><text class="sch-component-text" x="315.99336269073996" y="266.37309336879724" fill="rgb(15, 15, 15)" font-family="sans-serif" text-anchor="middle" dominant-baseline="hanging" font-size="34.462952326242px"></text><circle class="component-pin sch-component-pin" cx="421.296828132035" cy="210.2112451334399" r="3.829216925138px" stroke-width="3.829216925138px" 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 chip sch-component-body" x="369.1237475270297" y="459.1103452674099" width="429.82959984674045" height="191.46084625690014" stroke-width="3.829216925138px" fill="rgb(255, 255, 194)" stroke="rgb(132, 0, 0)"/><rect class="component-overlay sch-component-overlay" x="369.1237475270297" y="459.1103452674099" width="429.82959984674045" height="191.46084625690014" fill="transparent"/><text class="sch-text" x="584.0385474504" y="554.8407683958601" fill="#0f172a" text-anchor="middle" dominant-baseline="middle" font-family="sans-serif" font-size="34.462952326242px" transform="rotate(0, 584.0385474504, 554.8407683958601)">U5</text><line class="component-pin sch-component-pin sch-port-line" x1="369.1237475270297" y1="497.40251451879" x2="296.3686259494077" y2="497.40251451879" stroke-width="3.829216925138px"/><g class="sch-port" data-schematic-port-id="source_port_1_0__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="292.53940902426973" cy="497.40251451879" r="3.829216925138" stroke-width="3.829216925138px"/><rect x="288.71019209913175" y="493.573297593652" width="7.658433850276" height="7.658433850276" opacity="0"/></g><text class="pin-number sch-pin-number" x="330.8315782756497" y="493.5732975936519" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="28.719126938535px" transform="">1</text><line class="component-pin sch-component-pin sch-port-line" x1="369.1237475270297" y1="535.6946837701701" x2="296.3686259494077" y2="535.6946837701701" stroke-width="3.829216925138px"/><g class="sch-port" data-schematic-port-id="source_port_1_1__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="292.53940902426973" cy="535.6946837701701" r="3.829216925138" stroke-width="3.829216925138px"/><rect x="288.71019209913175" y="531.8654668450321" width="7.658433850276" height="7.658433850276" opacity="0"/></g><text class="pin-number sch-pin-number" x="330.8315782756497" y="531.8654668450322" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="28.719126938535px" transform="">2</text><line class="component-pin sch-component-pin sch-port-line" x1="369.1237475270297" y1="573.9868530215499" x2="296.3686259494077" y2="573.9868530215499" stroke-width="3.829216925138px"/><g class="sch-port" data-schematic-port-id="source_port_1_2__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="292.53940902426973" cy="573.9868530215499" r="3.829216925138" stroke-width="3.829216925138px"/><rect x="288.71019209913175" y="570.1576360964119" width="7.658433850276" height="7.658433850276" opacity="0"/></g><text class="pin-number sch-pin-number" x="330.8315782756497" y="570.157636096412" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="28.719126938535px" transform="">3</text><line class="component-pin sch-component-pin sch-port-line" x1="369.1237475270297" y1="612.2790222729302" x2="296.3686259494077" y2="612.2790222729302" stroke-width="3.829216925138px"/><g class="sch-port" data-schematic-port-id="source_port_1_3__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="292.53940902426973" cy="612.2790222729302" r="3.829216925138" stroke-width="3.829216925138px"/><rect x="288.71019209913175" y="608.4498053477922" width="7.658433850276" height="7.658433850276" opacity="0"/></g><text class="pin-number sch-pin-number" x="330.8315782756497" y="608.4498053477923" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="28.719126938535px" transform="">4</text><line class="component-pin sch-component-pin sch-port-line" x1="798.9533473737702" y1="497.40251451879" x2="871.7084689513922" y2="497.40251451879" stroke-width="3.829216925138px"/><g class="sch-port" data-schematic-port-id="source_port_1_4__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="875.5376858765302" cy="497.40251451879" r="3.829216925138" stroke-width="3.829216925138px"/><rect x="871.7084689513922" y="493.573297593652" width="7.658433850276" height="7.658433850276" opacity="0"/></g><text class="pin-number sch-pin-number" x="837.2455166251502" y="493.5732975936519" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="28.719126938535px" transform="">5</text><line class="component-pin sch-component-pin sch-port-line" x1="798.9533473737702" y1="535.6946837701701" x2="871.7084689513922" y2="535.6946837701701" stroke-width="3.829216925138px"/><g class="sch-port" data-schematic-port-id="source_port_1_5__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="875.5376858765302" cy="535.6946837701701" r="3.829216925138" stroke-width="3.829216925138px"/><rect x="871.7084689513922" y="531.8654668450321" width="7.658433850276" height="7.658433850276" opacity="0"/></g><text class="pin-number sch-pin-number" x="837.2455166251502" y="531.8654668450322" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="28.719126938535px" transform="">6</text><line class="component-pin sch-component-pin sch-port-line" x1="798.9533473737702" y1="612.2790222729302" x2="875.5376858765302" y2="612.2790222729302" stroke-width="3.829216925138px"/><g class="sch-port" data-schematic-port-id="source_port_1_6__stack1"><rect x="871.7084689513922" y="608.4498053477922" width="7.658433850276" height="7.658433850276" opacity="0"/></g><text class="pin-number sch-pin-number" x="837.2455166251502" y="608.4498053477923" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="28.719126938535px" transform="">7</text><line class="component-pin sch-component-pin sch-port-line" x1="798.9533473737702" y1="573.9868530215499" x2="875.5376858765302" y2="573.9868530215499" stroke-width="3.829216925138px"/><g class="sch-port" data-schematic-port-id="source_port_1_7__stack1"><rect x="871.7084689513922" y="570.1576360964119" width="7.658433850276" height="7.658433850276" opacity="0"/></g><text class="pin-number sch-pin-number" x="837.2455166251502" y="570.157636096412" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="28.719126938535px" transform="">8</text></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_0__stack1"><circle cx="258.55510881366996" cy="210.2112451334399" r="7.658433850276" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_1__stack1"><circle cx="469.16203969625997" cy="210.2112451334399" r="7.658433850276" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_1_0__stack1"><circle cx="292.53940902426973" cy="497.40251451879" r="7.658433850276" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_1_1__stack1"><circle cx="292.53940902426973" cy="535.6946837701701" r="7.658433850276" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_1_2__stack1"><circle cx="292.53940902426973" cy="573.9868530215499" r="7.658433850276" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_1_3__stack1"><circle cx="292.53940902426973" cy="612.2790222729302" r="7.658433850276" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_1_4__stack1"><circle cx="875.5376858765302" cy="497.40251451879" r="7.658433850276" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_1_5__stack1"><circle cx="875.5376858765302" cy="535.6946837701701" r="7.658433850276" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_1_6__stack1"><circle cx="875.5376858765302" cy="612.2790222729302" r="7.658433850276" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_1_7__stack1"><circle cx="875.5376858765302" cy="573.9868530215499" r="7.658433850276" 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="
91
+ M 191.35235177749814,171.72761503580296
92
+ L 172.20626715180813,161.38872933793036
93
+ L 172.20626715180816,95.7304231282308
94
+ L 210.49843640318815,95.7304231282308
95
+ L 210.49843640318815,161.38872933793036
96
+ Z
97
+ " fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="3.829216925138px"/><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="191.35235177749814" y="154.49613887268197" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="34.462952326242px" transform="rotate(-90 191.35235177749814 154.49613887268197)">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="
98
+ M 1076.763035292532,478.0649690468431
99
+ L 1057.616950666842,467.72608334897046
100
+ L 1057.616950666842,402.0677771392709
101
+ L 1095.9091199182221,402.0677771392709
102
+ L 1095.9091199182221,467.7260833489705
103
+ Z
104
+ " fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="3.829216925138px"/><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="1076.763035292532" y="460.8334928837221" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="34.462952326242px" transform="rotate(-90 1076.763035292532 460.8334928837221)">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="
105
+ M 421.296828132035,210.2112451334399
106
+ L 431.63571382990756,191.06516050774988
107
+ L 564.7648222605387,191.06516050774988
108
+ L 564.7648222605387,229.3573297591299
109
+ L 431.63571382990756,229.3573297591299
110
+ Z
111
+ " fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="3.829216925138px"/><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="438.528304295156" y="210.2112451334399" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="34.462952326242px" transform="">XXXXX</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="
112
+ M 292.53940902426973,612.2790222729302
113
+ L 282.2005233263971,631.4251068986202
114
+ L 149.071414895766,631.4251068986202
115
+ L 149.071414895766,593.1329376472402
116
+ L 282.20052332639716,593.1329376472402
117
+ Z
118
+ " fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="3.829216925138px"/><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="275.30793286114874" y="612.2790222729302" fill="rgb(132, 0, 0)" text-anchor="end" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="34.462952326242px" transform="">XXXXX</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="
119
+ M 292.53940902426973,497.40251451879
120
+ L 282.2005233263971,516.54859914448
121
+ L 149.071414895766,516.54859914448
122
+ L 149.071414895766,478.25642989309995
123
+ L 282.20052332639716,478.2564298931
124
+ Z
125
+ " fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="3.829216925138px"/><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="275.30793286114874" y="497.40251451879" fill="rgb(132, 0, 0)" text-anchor="end" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="34.462952326242px" transform="">XXXXX</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="
126
+ M 292.53940902426973,535.6946837701701
127
+ L 282.2005233263971,554.8407683958601
128
+ L 104.09088008181166,554.84076839586
129
+ L 104.09088008181166,516.54859914448
130
+ L 282.20052332639716,516.54859914448
131
+ Z
132
+ " fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="3.829216925138px"/><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="275.30793286114874" y="535.6946837701701" fill="rgb(132, 0, 0)" text-anchor="end" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="34.462952326242px" transform="">XXXXXXX</text><path class="net-label sch-net-label" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_6__stack1" d="
133
+ M 292.53940902426973,573.9868530215499
134
+ L 282.2005233263971,593.1329376472399
135
+ L 104.09088008181166,593.1329376472398
136
+ L 104.09088008181166,554.8407683958599
137
+ L 282.20052332639716,554.8407683958599
138
+ Z
139
+ " fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="3.829216925138px"/><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="275.30793286114874" y="573.9868530215499" fill="rgb(132, 0, 0)" text-anchor="end" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="34.462952326242px" transform="">XXXXXXX</text><path class="net-label sch-net-label" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_7__stack1" d="
140
+ M 875.5376858765302,497.40251451879
141
+ L 885.8765715744028,478.2564298931
142
+ L 1063.9862148189882,478.2564298931
143
+ L 1063.9862148189882,516.54859914448
144
+ L 885.8765715744028,516.54859914448
145
+ Z
146
+ " fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="3.829216925138px"/><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="892.7691620396512" y="497.40251451879" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="34.462952326242px" transform="">XXXXXXX</text><path class="net-label sch-net-label" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_8__stack1" d="
147
+ M 875.5376858765302,535.6946837701701
148
+ L 885.8765715744028,516.54859914448
149
+ L 1063.9862148189882,516.54859914448
150
+ L 1063.9862148189882,554.8407683958601
151
+ L 885.8765715744028,554.8407683958601
152
+ Z
153
+ " fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="3.829216925138px"/><text class="net-label-text sch-net-label-text" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_8__stack1" x="892.7691620396512" y="535.6946837701701" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="34.462952326242px" transform="">XXXXXXX</text><path class="net-label sch-net-label" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_9__stack1" d="
154
+ M 894.8752313484771,650.7626523705669
155
+ L 914.0213159741671,661.1015380684395
156
+ L 914.0213159741671,704.2695768711619
157
+ L 875.729146722787,704.2695768711619
158
+ L 875.729146722787,661.1015380684395
159
+ Z
160
+ " fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="3.829216925138px"/><text class="net-label-text sch-net-label-text" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_9__stack1" x="894.8752313484771" y="667.9941285336879" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="34.462952326242px" transform="rotate(90 894.8752313484771 667.9941285336879)">X</text>
161
+ </g>
162
+ </svg>