@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="-11.342500000000001,-18.990000000000002 -9.797500000000001,-18.815" data-type="line" data-label="" points="428.00799467022,320.5969353764158 543.2911392405065,307.53897401732183" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-11.342500000000001,-18.990000000000002 -9.797500000000001,-20.625000000000004" data-type="line" data-label="" points="428.00799467022,320.5969353764158 543.2911392405065,442.5956029313793" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-9.797500000000001,-18.815 -9.797500000000001,-20.625000000000004" data-type="line" data-label="" points="543.2911392405065,307.53897401732183 543.2911392405065,442.5956029313793" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-11.342500000000001,-18.04 -9.797500000000001,-18.215" data-type="line" data-label="" points="428.00799467022,249.7108594270485 543.2911392405065,262.76882078614244" fill="none" stroke="hsl(273, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-11.342500000000001,-18.240000000000002 -9.797500000000001,-20.025000000000002" data-type="line" data-label="" points="428.00799467022,264.6342438374418 543.2911392405065,397.8254497001999" fill="none" stroke="hsl(274, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-9.797500000000001,-18.815 -9.797500000000001,-18.990000000000002 -11.342500000000001,-18.990000000000002" data-type="line" data-label="" points="543.2911392405065,307.53897401732183 543.2911392405065,320.5969353764158 428.00799467022,320.5969353764158" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-9.797500000000001,-20.625000000000004 -9.797500000000001,-20.825000000000003 -10.322500000000002,-20.825000000000003 -10.322500000000002,-19.015 -9.797500000000001,-19.015 -9.797500000000001,-18.815" data-type="line" data-label="" points="543.2911392405065,442.5956029313793 543.2911392405065,457.51898734177234 504.1172551632246,457.51898734177234 504.1172551632246,322.4623584277149 543.2911392405065,322.4623584277149 543.2911392405065,307.53897401732183" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-11.342500000000001,-18.04 -9.797500000000001,-18.04 -9.797500000000001,-18.215" data-type="line" data-label="" points="428.00799467022,249.7108594270485 543.2911392405065,249.7108594270485 543.2911392405065,262.76882078614244" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-11.342500000000001,-17.29 -11.041500000000001,-17.29 -11.041500000000001,-17.139" data-type="line" data-label="" points="428.00799467022,193.74816788807448 450.46768820786156,193.74816788807448 450.46768820786156,182.48101265822766" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-9.797500000000001,-20.025000000000002 -9.797500000000001,-19.925 -9.697500000000002,-19.925 -9.697500000000002,-18.874 -10.1485,-18.874" data-type="line" data-label="" points="543.2911392405065,397.8254497001999 543.2911392405065,390.36375749500326 550.752831445703,390.36375749500326 550.752831445703,311.9413724183876 517.1005996002667,311.9413724183876" fill="none" stroke="purple" stroke-width="1px"/></g><g><rect data-type="rect" data-label="schematic_component_16" data-x="-13.9425" data-y="-18.14" x="40.000000000000284" y="182.55562958027986" width="388.0079946702198" height="149.23384410393055" fill="hsl(320, 100%, 50%, 0.8)" stroke="black" stroke-width="0.013401785714285713"/></g><g><rect data-type="rect" data-label="schematic_component_17" data-x="-9.580000000000002" data-y="-18.515" x="519.0406395736176" y="262.76882078614244" width="80.95936042638255" height="44.77015323117939" fill="hsl(320, 100%, 50%, 0.8)" stroke="black" stroke-width="0.013401785714285713"/></g><g><rect data-type="rect" data-label="schematic_component_18" data-x="-9.580000000000002" data-y="-20.325000000000003" x="519.0406395736176" y="397.8254497001999" width="80.95936042638255" height="44.77015323117939" fill="hsl(320, 100%, 50%, 0.8)" stroke="black" stroke-width="0.013401785714285713"/></g><g><rect data-type="rect" data-label="U3" data-x="-16.0225" data-y="-17.025000000000002" x="65.36975349766828" y="164.6475682878082" width="26.862091938707408" height="18.654230512991262" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.013401785714285713"/></g><g><rect data-type="rect" data-label="netId: VBUS
1
+ <svg width="2416" height="1200" viewBox="0 0 2416 1200" xmlns="http://www.w3.org/2000/svg" role="img" aria-label="Solver debug visualization on the left and Circuit JSON schematic on the right">
2
+ <g transform="translate(0, 0) scale(1.875, 1.875) translate(0, 0)">
3
+ <rect width="100%" height="100%" fill="white"/><g><polyline data-points="-11.342500000000001,-18.990000000000002 -9.797500000000001,-18.815" data-type="line" data-label="" points="428.00799467022,320.5969353764158 543.2911392405065,307.53897401732183" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-11.342500000000001,-18.990000000000002 -9.797500000000001,-20.625000000000004" data-type="line" data-label="" points="428.00799467022,320.5969353764158 543.2911392405065,442.5956029313793" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-9.797500000000001,-18.815 -9.797500000000001,-20.625000000000004" data-type="line" data-label="" points="543.2911392405065,307.53897401732183 543.2911392405065,442.5956029313793" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-11.342500000000001,-18.04 -9.797500000000001,-18.215" data-type="line" data-label="" points="428.00799467022,249.7108594270485 543.2911392405065,262.76882078614244" fill="none" stroke="hsl(273, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-11.342500000000001,-18.240000000000002 -9.797500000000001,-20.025000000000002" data-type="line" data-label="" points="428.00799467022,264.6342438374418 543.2911392405065,397.8254497001999" fill="none" stroke="hsl(274, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-9.797500000000001,-18.815 -9.797500000000001,-18.990000000000002 -11.342500000000001,-18.990000000000002" data-type="line" data-label="" points="543.2911392405065,307.53897401732183 543.2911392405065,320.5969353764158 428.00799467022,320.5969353764158" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-9.797500000000001,-20.625000000000004 -9.797500000000001,-20.825000000000003 -10.322500000000002,-20.825000000000003 -10.322500000000002,-19.015 -9.797500000000001,-19.015 -9.797500000000001,-18.815" data-type="line" data-label="" points="543.2911392405065,442.5956029313793 543.2911392405065,457.51898734177234 504.1172551632246,457.51898734177234 504.1172551632246,322.4623584277149 543.2911392405065,322.4623584277149 543.2911392405065,307.53897401732183" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-11.342500000000001,-18.04 -9.797500000000001,-18.04 -9.797500000000001,-18.215" data-type="line" data-label="" points="428.00799467022,249.7108594270485 543.2911392405065,249.7108594270485 543.2911392405065,262.76882078614244" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-11.342500000000001,-17.29 -11.041500000000001,-17.29 -11.041500000000001,-17.139" data-type="line" data-label="" points="428.00799467022,193.74816788807448 450.46768820786156,193.74816788807448 450.46768820786156,182.48101265822766" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-9.797500000000001,-20.025000000000002 -9.797500000000001,-19.925 -9.697500000000002,-19.925 -9.697500000000002,-18.874 -10.1485,-18.874" data-type="line" data-label="" points="543.2911392405065,397.8254497001999 543.2911392405065,390.36375749500326 550.752831445703,390.36375749500326 550.752831445703,311.9413724183876 517.1005996002667,311.9413724183876" fill="none" stroke="purple" stroke-width="1px"/></g><g><rect data-type="rect" data-label="schematic_component_16" data-x="-13.9425" data-y="-18.14" x="40.000000000000284" y="182.55562958027986" width="388.0079946702198" height="149.23384410393055" fill="hsl(320, 100%, 50%, 0.8)" stroke="black" stroke-width="0.013401785714285713"/></g><g><rect data-type="rect" data-label="schematic_component_17" data-x="-9.580000000000002" data-y="-18.515" x="519.0406395736176" y="262.76882078614244" width="80.95936042638255" height="44.77015323117939" fill="hsl(320, 100%, 50%, 0.8)" stroke="black" stroke-width="0.013401785714285713"/></g><g><rect data-type="rect" data-label="schematic_component_18" data-x="-9.580000000000002" data-y="-20.325000000000003" x="519.0406395736176" y="397.8254497001999" width="80.95936042638255" height="44.77015323117939" fill="hsl(320, 100%, 50%, 0.8)" stroke="black" stroke-width="0.013401785714285713"/></g><g><rect data-type="rect" data-label="U3" data-x="-16.0225" data-y="-17.025000000000002" x="65.36975349766828" y="164.6475682878082" width="26.862091938707408" height="18.654230512991262" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.013401785714285713"/></g><g><rect data-type="rect" data-label="netId: VBUS
2
4
  globalConnNetId: connectivity_net3" data-x="-11.041500000000001" data-y="-16.929" x="428.08261159227186" y="151.14190539640208" width="44.77015323117939" height="31.339107261825575" fill="#ef444466" stroke="#ef4444" stroke-width="0.013401785714285713"/></g><g><rect data-type="rect" data-label="netId: D_PLUS
3
5
  globalConnNetId: connectivity_net2" data-x="-10.921500000000002" data-y="-17.490000000000002" x="428.08261159227186" y="201.20986009327112" width="62.67821452365092" height="14.923384410393282" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.013401785714285713"/></g><g><rect data-type="rect" data-label="netId: D_MINUS
4
6
  globalConnNetId: connectivity_net1" data-x="-10.861500000000001" data-y="-17.69" x="428.08261159227186" y="216.13324450366417" width="71.6322451698868" height="14.923384410393282" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.013401785714285713"/></g><g><rect data-type="rect" data-label="netId: CC1
@@ -34,7 +36,7 @@ orientation: y-" data-x="-9.797500000000001" data-y="-20.825000000000003" cx="54
34
36
  const h = svg.getElementById('crosshair-h');
35
37
  const v = svg.getElementById('crosshair-v');
36
38
  const coords = svg.getElementById('coordinates');
37
-
39
+
38
40
  crosshair.style.display = 'block';
39
41
  h.setAttribute('x1', '0');
40
42
  h.setAttribute('x2', '640');
@@ -53,13 +55,13 @@ orientation: y-" data-x="-9.797500000000001" data-y="-20.825000000000003" cx="54
53
55
  // y' = (y - ty) / sy
54
56
  const sx = matrix.a;
55
57
  const sy = matrix.d;
56
- const tx = matrix.e;
58
+ const tx = matrix.e;
57
59
  const ty = matrix.f;
58
60
  const realPoint = {
59
61
  x: (x - tx) / sx,
60
62
  y: (y - ty) / sy // Flip y back since we used negative scale
61
63
  }
62
-
64
+
63
65
  coords.textContent = `(${realPoint.x.toFixed(2)}, ${realPoint.y.toFixed(2)})`;
64
66
  coords.setAttribute('x', (x + 5).toString());
65
67
  coords.setAttribute('y', (y - 5).toString());
@@ -67,4 +69,69 @@ orientation: y-" data-x="-9.797500000000001" data-y="-20.825000000000003" cx="54
67
69
  document.currentScript.parentElement.addEventListener('mouseleave', () => {
68
70
  document.currentScript.parentElement.getElementById('crosshair').style.display = 'none';
69
71
  });
70
- ]]></script></svg>
72
+ ]]></script>
73
+ </g>
74
+ <g transform="translate(1216, 200)">
75
+ <style>
76
+ .boundary { fill: rgb(245, 241, 237); }
77
+ .schematic-boundary { fill: none; stroke: #fff; }
78
+ .component { fill: none; stroke: rgb(132, 0, 0); }
79
+ .chip { fill: rgb(255, 255, 194); stroke: rgb(132, 0, 0); }
80
+ .component-pin { fill: none; stroke: rgb(132, 0, 0); }
81
+ .text { font-family: sans-serif; fill: rgb(0, 150, 0); }
82
+ .pin-number { fill: rgb(169, 0, 0); }
83
+ .port-label { fill: rgb(0, 100, 100); }
84
+ .component-name { fill: rgb(0, 100, 100); }
85
+
86
+ </style><rect class="boundary" x="0" y="0" width="1200" height="800"/><g class="trace sch-trace" data-layer="base" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_0__stack1"><path d="M 862.9002863833989 379.13043478325426 L 862.9002863833989 400.99973965178424 L 669.825566258377 400.99973965178424" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="19.994793022656px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 862.9002863833989 379.13043478325426 L 862.9002863833989 400.99973965178424 L 669.825566258377 400.99973965178424" stroke="rgb(0, 150, 0)" fill="none" stroke-width="2.499349127832px" stroke-linecap="round" stroke-linejoin="round"/></g><g class="trace sch-trace" data-layer="base" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_1__stack1"><path d="M 862.9002863833989 605.3215308520503 L 862.9002863833989 630.3150221303704 L 797.292371777809 630.3150221303704 L 797.292371777809 404.1239260615739 L 862.9002863833989 404.1239260615739 L 862.9002863833989 379.13043478325426" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="19.994793022656px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 862.9002863833989 605.3215308520503 L 862.9002863833989 630.3150221303704 L 797.292371777809 630.3150221303704 L 797.292371777809 404.1239260615739 L 862.9002863833989 404.1239260615739 L 862.9002863833989 379.13043478325426" stroke="rgb(0, 150, 0)" fill="none" stroke-width="2.499349127832px" stroke-linecap="round" stroke-linejoin="round"/></g><g class="trace sch-trace" data-layer="base" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_2__stack1"><path d="M 669.825566258377 282.28065607976396 L 862.9002863833989 282.28065607976396 L 862.9002863833989 304.14996094829394" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="19.994793022656px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 669.825566258377 282.28065607976396 L 862.9002863833989 282.28065607976396 L 862.9002863833989 304.14996094829394" stroke="rgb(0, 150, 0)" fill="none" stroke-width="2.499349127832px" stroke-linecap="round" stroke-linejoin="round"/></g><g class="trace sch-trace" data-layer="base" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_3__stack1"><path d="M 669.825566258377 188.55506378606378 L 707.4407706322486 188.55506378606378 L 707.4407706322486 169.68497787093247" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="19.994793022656px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 669.825566258377 188.55506378606378 L 707.4407706322486 188.55506378606378 L 707.4407706322486 169.68497787093247" stroke="rgb(0, 150, 0)" fill="none" stroke-width="2.499349127832px" stroke-linecap="round" stroke-linejoin="round"/></g><g class="trace sch-trace" data-layer="base" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_4__stack1"><path d="M 862.9002863833989 530.3410570170904 L 862.9002863833989 517.8443113779299 L 875.397032022559 517.8443113779299 L 875.397032022559 386.5035147103581 L 819.0367091899475 386.5035147103581" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="19.994793022656px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 862.9002863833989 530.3410570170904 L 862.9002863833989 517.8443113779299 L 875.397032022559 517.8443113779299 L 875.397032022559 386.5035147103581 L 819.0367091899475 386.5035147103581" stroke="rgb(0, 150, 0)" fill="none" stroke-width="2.499349127832px" stroke-linecap="round" stroke-linejoin="round"/></g><g class="trace-overlays sch-trace-overlays" data-layer="overlay" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_0__stack1"><circle cx="862.9002863833989" cy="379.13043478325426" r="3.7490236917479995" class="trace-junction sch-trace-junction" fill="rgb(0, 150, 0)"/></g><g class="trace-overlays sch-trace-overlays" data-layer="overlay" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_1__stack1"/><g class="trace-overlays sch-trace-overlays" data-layer="overlay" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_2__stack1"/><g class="trace-overlays sch-trace-overlays" data-layer="overlay" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_3__stack1"/><g class="trace-overlays sch-trace-overlays" data-layer="overlay" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_4__stack1"/><g class="sch-component" data-circuit-json-type="schematic_component" data-schematic-component-id="schematic_component_0__stack1"><rect class="component chip sch-component-body" x="69.9817755786969" y="169.80994532732393" width="549.8568081230401" height="249.93491278320016" stroke-width="2.499349127832px" fill="rgb(255, 255, 194)" stroke="rgb(132, 0, 0)"/><rect class="component-overlay sch-component-overlay" x="69.9817755786969" y="169.80994532732393" width="549.8568081230401" height="249.93491278320016" fill="transparent"/><text class="sch-text" x="344.91017964021694" y="294.777401718924" fill="#0f172a" text-anchor="middle" dominant-baseline="middle" font-family="sans-serif" font-size="22.494142150488px" transform="rotate(0, 344.91017964021694, 294.777401718924)">schematic_component_16</text><line class="component-pin sch-component-pin sch-port-line" x1="619.838583701737" y1="188.55506378606378" x2="669.825566258377" y2="188.55506378606378" stroke-width="2.499349127832px"/><g class="sch-port" data-schematic-port-id="source_port_0_0__stack1"><rect x="667.3262171305449" y="186.05571465823178" width="4.998698255664" height="4.998698255664" opacity="0"/></g><text class="pin-number sch-pin-number" x="644.8320749800571" y="186.05571465823186" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="18.74511845874px" transform=""></text><text class="pin-number sch-pin-label" x="607.3418380625769" y="188.55506378606378" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="end" dominant-baseline="middle" font-size="18.74511845874px" transform="">schematic_port_83</text><line class="component-pin sch-component-pin sch-port-line" x1="619.838583701737" y1="213.54855506438435" x2="667.326217130545" y2="213.54855506438435" stroke-width="2.499349127832px"/><g class="sch-port" data-schematic-port-id="source_port_0_1__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="669.825566258377" cy="213.54855506438435" r="2.499349127832" stroke-width="2.499349127832px"/><rect x="667.3262171305449" y="211.04920593655234" width="4.998698255664" height="4.998698255664" opacity="0"/></g><text class="pin-number sch-pin-number" x="644.8320749800571" y="211.04920593655243" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="18.74511845874px" transform=""></text><text class="pin-number sch-pin-label" x="607.3418380625769" y="213.54855506438435" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="end" dominant-baseline="middle" font-size="18.74511845874px" transform="">schematic_port_84</text><line class="component-pin sch-component-pin sch-port-line" x1="619.838583701737" y1="238.542046342704" x2="667.326217130545" y2="238.542046342704" stroke-width="2.499349127832px"/><g class="sch-port" data-schematic-port-id="source_port_0_2__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="669.825566258377" cy="238.542046342704" r="2.499349127832" stroke-width="2.499349127832px"/><rect x="667.3262171305449" y="236.042697214872" width="4.998698255664" height="4.998698255664" opacity="0"/></g><text class="pin-number sch-pin-number" x="644.8320749800571" y="236.04269721487208" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="18.74511845874px" transform=""></text><text class="pin-number sch-pin-label" x="607.3418380625769" y="238.542046342704" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="end" dominant-baseline="middle" font-size="18.74511845874px" transform="">schematic_port_85</text><line class="component-pin sch-component-pin sch-port-line" x1="619.838583701737" y1="282.28065607976396" x2="669.825566258377" y2="282.28065607976396" stroke-width="2.499349127832px"/><g class="sch-port" data-schematic-port-id="source_port_0_3__stack1"><rect x="667.3262171305449" y="279.781306951932" width="4.998698255664" height="4.998698255664" opacity="0"/></g><text class="pin-number sch-pin-number" x="644.8320749800571" y="279.78130695193204" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="18.74511845874px" transform=""></text><text class="pin-number sch-pin-label" x="607.3418380625769" y="282.28065607976396" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="end" dominant-baseline="middle" font-size="18.74511845874px" transform="">schematic_port_86</text><line class="component-pin sch-component-pin sch-port-line" x1="619.838583701737" y1="307.27414735808406" x2="667.326217130545" y2="307.27414735808406" stroke-width="2.499349127832px"/><g class="sch-port" data-schematic-port-id="source_port_0_4__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="669.825566258377" cy="307.27414735808406" r="2.499349127832" stroke-width="2.499349127832px"/><rect x="667.3262171305449" y="304.7747982302521" width="4.998698255664" height="4.998698255664" opacity="0"/></g><text class="pin-number sch-pin-number" x="644.8320749800571" y="304.77479823025215" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="18.74511845874px" transform=""></text><text class="pin-number sch-pin-label" x="607.3418380625769" y="307.27414735808406" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="end" dominant-baseline="middle" font-size="18.74511845874px" transform="">schematic_port_87</text><line class="component-pin sch-component-pin sch-port-line" x1="619.838583701737" y1="351.012757095144" x2="667.326217130545" y2="351.012757095144" stroke-width="2.499349127832px"/><g class="sch-port" data-schematic-port-id="source_port_0_5__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="669.825566258377" cy="351.012757095144" r="2.499349127832" stroke-width="2.499349127832px"/><rect x="667.3262171305449" y="348.51340796731205" width="4.998698255664" height="4.998698255664" opacity="0"/></g><text class="pin-number sch-pin-number" x="644.8320749800571" y="348.5134079673121" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="18.74511845874px" transform=""></text><text class="pin-number sch-pin-label" x="607.3418380625769" y="351.012757095144" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="end" dominant-baseline="middle" font-size="18.74511845874px" transform="">schematic_port_88</text><line class="component-pin sch-component-pin sch-port-line" x1="619.838583701737" y1="376.0062483734637" x2="667.326217130545" y2="376.0062483734637" stroke-width="2.499349127832px"/><g class="sch-port" data-schematic-port-id="source_port_0_6__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="669.825566258377" cy="376.0062483734637" r="2.499349127832" stroke-width="2.499349127832px"/><rect x="667.3262171305449" y="373.5068992456317" width="4.998698255664" height="4.998698255664" opacity="0"/></g><text class="pin-number sch-pin-number" x="644.8320749800571" y="373.50689924563176" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="18.74511845874px" transform=""></text><text class="pin-number sch-pin-label" x="607.3418380625769" y="376.0062483734637" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="end" dominant-baseline="middle" font-size="18.74511845874px" transform="">schematic_port_89</text><line class="component-pin sch-component-pin sch-port-line" x1="619.838583701737" y1="400.99973965178424" x2="669.825566258377" y2="400.99973965178424" stroke-width="2.499349127832px"/><g class="sch-port" data-schematic-port-id="source_port_0_7__stack1"><rect x="667.3262171305449" y="398.50039052395226" width="4.998698255664" height="4.998698255664" opacity="0"/></g><text class="pin-number sch-pin-number" x="644.8320749800571" y="398.5003905239523" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="18.74511845874px" transform=""></text><text class="pin-number sch-pin-label" x="607.3418380625769" y="400.99973965178424" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="end" dominant-baseline="middle" font-size="18.74511845874px" transform="">schematic_port_90</text></g><g class="sch-component" data-circuit-json-type="schematic_component" data-schematic-component-id="schematic_component_1__stack1"><rect class="component chip sch-component-body" x="822.2858630561288" y="335.39182504619384" width="135.58969018488597" height="12.496745639160054" stroke-width="2.499349127832px" fill="rgb(255, 255, 194)" stroke="rgb(132, 0, 0)"/><rect class="component-overlay sch-component-overlay" x="822.2858630561288" y="335.39182504619384" width="135.58969018488597" height="12.496745639160054" fill="transparent"/><text class="sch-text" x="890.0807081485718" y="341.6401978657741" fill="#0f172a" text-anchor="middle" dominant-baseline="middle" font-family="sans-serif" font-size="22.494142150488px" transform="rotate(0, 890.0807081485718, 341.6401978657741)">schematic_component_17</text><line class="component-pin sch-component-pin sch-port-line" x1="862.9002863833989" y1="335.39182504619384" x2="862.9002863833989" y2="304.14996094829394" stroke-width="2.499349127832px"/><g class="sch-port" data-schematic-port-id="source_port_1_0__stack1"><rect x="860.4009372555669" y="301.65061182046196" width="4.998698255664" height="4.998698255664" opacity="0"/></g><text class="pin-number sch-pin-number" x="860.400937255567" y="319.7708929972441" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="18.74511845874px" transform="rotate(-90 860.400937255567 319.7708929972441)"></text><text class="pin-number sch-pin-label" x="862.9002863833989" y="347.8885706853539" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="end" dominant-baseline="middle" font-size="18.74511845874px" transform="rotate(-90 862.9002863833989 347.8885706853539)">schematic_port_91</text><line class="component-pin sch-component-pin sch-port-line" x1="862.9002863833989" y1="347.8885706853539" x2="862.9002863833989" y2="379.13043478325426" stroke-width="2.499349127832px"/><g class="sch-port" data-schematic-port-id="source_port_1_1__stack1"><rect x="860.4009372555669" y="376.6310856554223" width="4.998698255664" height="4.998698255664" opacity="0"/></g><text class="pin-number sch-pin-number" x="860.400937255567" y="363.5095027343041" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="18.74511845874px" transform="rotate(-90 860.400937255567 363.5095027343041)"></text><text class="pin-number sch-pin-label" x="862.9002863833989" y="335.39182504619384" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="start" dominant-baseline="middle" font-size="18.74511845874px" transform="rotate(-90 862.9002863833989 335.39182504619384)">schematic_port_92</text></g><g class="sch-component" data-circuit-json-type="schematic_component" data-schematic-component-id="schematic_component_2__stack1"><rect class="component chip sch-component-body" x="822.2858630561288" y="561.5829211149903" width="135.58969018488597" height="12.496745639160054" stroke-width="2.499349127832px" fill="rgb(255, 255, 194)" stroke="rgb(132, 0, 0)"/><rect class="component-overlay sch-component-overlay" x="822.2858630561288" y="561.5829211149903" width="135.58969018488597" height="12.496745639160054" fill="transparent"/><text class="sch-text" x="890.0807081485718" y="567.8312939345701" fill="#0f172a" text-anchor="middle" dominant-baseline="middle" font-family="sans-serif" font-size="22.494142150488px" transform="rotate(0, 890.0807081485718, 567.8312939345701)">schematic_component_18</text><line class="component-pin sch-component-pin sch-port-line" x1="862.9002863833989" y1="561.5829211149903" x2="862.9002863833989" y2="530.3410570170904" stroke-width="2.499349127832px"/><g class="sch-port" data-schematic-port-id="source_port_2_0__stack1"><rect x="860.4009372555669" y="527.8417078892584" width="4.998698255664" height="4.998698255664" opacity="0"/></g><text class="pin-number sch-pin-number" x="860.400937255567" y="545.9619890660401" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="18.74511845874px" transform="rotate(-90 860.400937255567 545.9619890660401)"></text><text class="pin-number sch-pin-label" x="862.9002863833989" y="574.0796667541504" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="end" dominant-baseline="middle" font-size="18.74511845874px" transform="rotate(-90 862.9002863833989 574.0796667541504)">schematic_port_93</text><line class="component-pin sch-component-pin sch-port-line" x1="862.9002863833989" y1="574.0796667541504" x2="862.9002863833989" y2="605.3215308520503" stroke-width="2.499349127832px"/><g class="sch-port" data-schematic-port-id="source_port_2_1__stack1"><rect x="860.4009372555669" y="602.8221817242182" width="4.998698255664" height="4.998698255664" opacity="0"/></g><text class="pin-number sch-pin-number" x="860.400937255567" y="589.7005988031005" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="18.74511845874px" transform="rotate(-90 860.400937255567 589.7005988031005)"></text><text class="pin-number sch-pin-label" x="862.9002863833989" y="561.5829211149903" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="start" dominant-baseline="middle" font-size="18.74511845874px" transform="rotate(-90 862.9002863833989 561.5829211149903)">schematic_port_94</text></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_0__stack1"><circle cx="669.825566258377" cy="188.55506378606378" r="4.998698255664" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_1__stack1"><circle cx="669.825566258377" cy="213.54855506438435" r="4.998698255664" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_2__stack1"><circle cx="669.825566258377" cy="238.542046342704" r="4.998698255664" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_3__stack1"><circle cx="669.825566258377" cy="282.28065607976396" r="4.998698255664" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_4__stack1"><circle cx="669.825566258377" cy="307.27414735808406" r="4.998698255664" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_5__stack1"><circle cx="669.825566258377" cy="351.012757095144" r="4.998698255664" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_6__stack1"><circle cx="669.825566258377" cy="376.0062483734637" r="4.998698255664" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_7__stack1"><circle cx="669.825566258377" cy="400.99973965178424" r="4.998698255664" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_1_0__stack1"><circle cx="862.9002863833989" cy="304.14996094829394" r="4.998698255664" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_1_1__stack1"><circle cx="862.9002863833989" cy="379.13043478325426" r="4.998698255664" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_2_0__stack1"><circle cx="862.9002863833989" cy="530.3410570170904" r="4.998698255664" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_2_1__stack1"><circle cx="862.9002863833989" cy="605.3215308520503" r="4.998698255664" fill="red" opacity="0"/></g><path class="net-label sch-net-label" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_0__stack1" d="
87
+ M 707.4407706322486,169.68497787093247
88
+ L 694.9440249930885,162.93673522578607
89
+ L 694.9440249930885,120.08122884722671
90
+ L 719.9375162714086,120.08122884722671
91
+ L 719.9375162714086,162.93673522578607
92
+ Z
93
+ " fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="2.499349127832px"/><text class="net-label-text sch-net-label-text" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_0__stack1" x="707.4407706322486" y="158.43790679568846" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="22.494142150488px" transform="rotate(-90 707.4407706322486 158.43790679568846)">XX</text><path class="net-label sch-net-label" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_1__stack1" d="
94
+ M 669.825566258377,213.54855506438435
95
+ L 676.5738089035234,201.05180942522435
96
+ L 778.1473574586158,201.05180942522435
97
+ L 778.1473574586158,226.04530070354434
98
+ L 676.5738089035234,226.04530070354434
99
+ Z
100
+ " fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="2.499349127832px"/><text class="net-label-text sch-net-label-text" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_1__stack1" x="681.072637333621" y="213.54855506438435" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="22.494142150488px" transform="">XXXXXX</text><path class="net-label sch-net-label" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_2__stack1" d="
101
+ M 669.825566258377,238.542046342704
102
+ L 676.5738089035234,226.045300703544
103
+ L 792.826868002749,226.045300703544
104
+ L 792.826868002749,251.038791981864
105
+ L 676.5738089035234,251.038791981864
106
+ Z
107
+ " fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="2.499349127832px"/><text class="net-label-text sch-net-label-text" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_2__stack1" x="681.072637333621" y="238.542046342704" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="22.494142150488px" transform="">XXXXXXX</text><path class="net-label sch-net-label" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_3__stack1" d="
108
+ M 862.9002863833989,282.28065607976396
109
+ L 869.6485290285453,269.78391044060396
110
+ L 927.183545951238,269.78391044060396
111
+ L 927.183545951238,294.77740171892395
112
+ L 869.6485290285453,294.77740171892395
113
+ Z
114
+ " fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="2.499349127832px"/><text class="net-label-text sch-net-label-text" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_3__stack1" x="874.1473574586429" y="282.28065607976396" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="22.494142150488px" transform="">XXX</text><path class="net-label sch-net-label" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_4__stack1" d="
115
+ M 669.825566258377,307.27414735808406
116
+ L 676.5738089035234,294.77740171892407
117
+ L 734.108825826216,294.77740171892407
118
+ L 734.108825826216,319.77089299724406
119
+ L 676.5738089035234,319.77089299724406
120
+ Z
121
+ " fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="2.499349127832px"/><text class="net-label-text sch-net-label-text" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_4__stack1" x="681.072637333621" y="307.27414735808406" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="22.494142150488px" transform="">XXX</text><path class="net-label sch-net-label" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_5__stack1" d="
122
+ M 819.0367091899475,386.5035147103581
123
+ L 812.288466544801,399.0002603495181
124
+ L 754.7534496221084,399.0002603495181
125
+ L 754.7534496221084,374.0067690711981
126
+ L 812.288466544801,374.0067690711981
127
+ Z
128
+ " fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="2.499349127832px"/><text class="net-label-text sch-net-label-text" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_5__stack1" x="807.7896381147035" y="386.5035147103581" fill="rgb(132, 0, 0)" text-anchor="end" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="22.494142150488px" transform="">XXX</text><path class="net-label sch-net-label" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_6__stack1" d="
129
+ M 862.9002863833989,630.3150221303704
130
+ L 875.397032022559,637.0632647755168
131
+ L 875.397032022559,679.9187711540761
132
+ L 850.4035407442389,679.9187711540761
133
+ L 850.4035407442389,637.0632647755168
134
+ Z
135
+ " fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="2.499349127832px"/><text class="net-label-text sch-net-label-text" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_6__stack1" x="862.9002863833989" y="641.5620932056144" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="22.494142150488px" transform="rotate(90 862.9002863833989 641.5620932056144)">XX</text><text class="sch-text" x="84.9778703456891" y="155.43868784229016" fill="#7e22ce" text-anchor="middle" dominant-baseline="middle" font-family="sans-serif" font-size="22.494142150488px" transform="rotate(0, 84.9778703456891, 155.43868784229016)">U3</text><rect class="schematic-box sch-box" x="62.48372819520114" y="139.81775579334044" width="44.98828430097592" height="31.241864097899906" stroke-width="2.499349127832px" stroke="rgb(132, 0, 0)" fill="transparent" stroke-dasharray="19.994793022656 9.997396511328"/>
136
+ </g>
137
+ </svg>
@@ -1,4 +1,6 @@
1
- <svg width="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.35,0.9999999999999998 -1.35,2.8" data-type="line" data-label="" points="198.84615384615384,241.02564102564105 198.84615384615384,79.48717948717953" fill="none" stroke="hsl(68, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.35,0.9999999999999998 -1.35,-1.4000000000000004" data-type="line" data-label="" points="198.84615384615384,241.02564102564105 198.84615384615384,456.41025641025647" fill="none" stroke="hsl(68, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.35,2.8 -1.35,-1.4000000000000004" data-type="line" data-label="" points="198.84615384615384,79.48717948717953 198.84615384615384,456.41025641025647" fill="none" stroke="hsl(68, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.35,0.9999999999999998 1.35,2.8" data-type="line" data-label="" points="441.1538461538462,241.02564102564105 441.1538461538462,79.48717948717953" fill="none" stroke="hsl(271, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.35,0.9999999999999998 1.35,-1.4000000000000004" data-type="line" data-label="" points="441.1538461538462,241.02564102564105 441.1538461538462,456.41025641025647" fill="none" stroke="hsl(271, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.35,2.8 1.35,-1.4000000000000004" data-type="line" data-label="" points="441.1538461538462,79.48717948717953 441.1538461538462,456.41025641025647" fill="none" stroke="hsl(271, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.35,0.9999999999999998 -1.55,0.9999999999999998 -1.55,2.8 -1.35,2.8" data-type="line" data-label="" points="198.84615384615384,241.02564102564105 180.8974358974359,241.02564102564105 180.8974358974359,79.48717948717953 198.84615384615384,79.48717948717953" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="1.35,0.9999999999999998 1.55,0.9999999999999998 1.55,2.8 1.35,2.8" data-type="line" data-label="" points="441.1538461538462,241.02564102564105 459.1025641025641,241.02564102564105 459.1025641025641,79.48717948717953 441.1538461538462,79.48717948717953" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-1.55,2.8 -1.9000000000000001,2.8" data-type="line" data-label="" points="180.8974358974359,79.48717948717953 149.48717948717947,79.48717948717953" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-1.35,-1.4000000000000004 -1.701,-1.4000000000000004 -1.701,-1.3490000000000004" data-type="line" data-label="" points="198.84615384615384,456.41025641025647 167.34615384615384,456.41025641025647 167.34615384615384,451.83333333333337" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="1.55,2.8 1.9000000000000001,2.8" data-type="line" data-label="" points="459.1025641025641,79.48717948717953 490.51282051282055,79.48717948717953" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="1.35,-1.4000000000000004 1.701,-1.4000000000000004 1.701,-1.3490000000000004" data-type="line" data-label="" points="441.1538461538462,456.41025641025647 472.6538461538462,456.41025641025647 472.6538461538462,451.83333333333337" fill="none" stroke="purple" stroke-width="1px"/></g><g><rect data-type="rect" data-label="U1" data-x="0" data-y="0" x="198.8461538461538" y="61.53846153846155" width="242.30769230769235" height="538.4615384615385" fill="hsl(164, 100%, 50%, 0.8)" stroke="black" stroke-width="0.011142857142857144"/></g><g><rect data-type="rect" data-label="U1" data-x="-0.83" data-y="3.115" x="229.35897435897436" y="40" width="32.30769230769232" height="22.43589743589746" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.011142857142857144"/></g><g><rect data-type="rect" data-label="netId: V3V3_LEFT
1
+ <svg width="2416" height="1200" viewBox="0 0 2416 1200" xmlns="http://www.w3.org/2000/svg" role="img" aria-label="Solver debug visualization on the left and Circuit JSON schematic on the right">
2
+ <g transform="translate(0, 0) scale(1.875, 1.875) translate(0, 0)">
3
+ <rect width="100%" height="100%" fill="white"/><g><polyline data-points="-1.35,0.9999999999999998 -1.35,2.8" data-type="line" data-label="" points="198.84615384615384,241.02564102564105 198.84615384615384,79.48717948717953" fill="none" stroke="hsl(68, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.35,0.9999999999999998 -1.35,-1.4000000000000004" data-type="line" data-label="" points="198.84615384615384,241.02564102564105 198.84615384615384,456.41025641025647" fill="none" stroke="hsl(68, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.35,2.8 -1.35,-1.4000000000000004" data-type="line" data-label="" points="198.84615384615384,79.48717948717953 198.84615384615384,456.41025641025647" fill="none" stroke="hsl(68, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.35,0.9999999999999998 1.35,2.8" data-type="line" data-label="" points="441.1538461538462,241.02564102564105 441.1538461538462,79.48717948717953" fill="none" stroke="hsl(271, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.35,0.9999999999999998 1.35,-1.4000000000000004" data-type="line" data-label="" points="441.1538461538462,241.02564102564105 441.1538461538462,456.41025641025647" fill="none" stroke="hsl(271, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.35,2.8 1.35,-1.4000000000000004" data-type="line" data-label="" points="441.1538461538462,79.48717948717953 441.1538461538462,456.41025641025647" fill="none" stroke="hsl(271, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.35,0.9999999999999998 -1.55,0.9999999999999998 -1.55,2.8 -1.35,2.8" data-type="line" data-label="" points="198.84615384615384,241.02564102564105 180.8974358974359,241.02564102564105 180.8974358974359,79.48717948717953 198.84615384615384,79.48717948717953" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="1.35,0.9999999999999998 1.55,0.9999999999999998 1.55,2.8 1.35,2.8" data-type="line" data-label="" points="441.1538461538462,241.02564102564105 459.1025641025641,241.02564102564105 459.1025641025641,79.48717948717953 441.1538461538462,79.48717948717953" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-1.55,2.8 -1.9000000000000001,2.8" data-type="line" data-label="" points="180.8974358974359,79.48717948717953 149.48717948717947,79.48717948717953" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-1.35,-1.4000000000000004 -1.701,-1.4000000000000004 -1.701,-1.3490000000000004" data-type="line" data-label="" points="198.84615384615384,456.41025641025647 167.34615384615384,456.41025641025647 167.34615384615384,451.83333333333337" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="1.55,2.8 1.9000000000000001,2.8" data-type="line" data-label="" points="459.1025641025641,79.48717948717953 490.51282051282055,79.48717948717953" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="1.35,-1.4000000000000004 1.701,-1.4000000000000004 1.701,-1.3490000000000004" data-type="line" data-label="" points="441.1538461538462,456.41025641025647 472.6538461538462,456.41025641025647 472.6538461538462,451.83333333333337" fill="none" stroke="purple" stroke-width="1px"/></g><g><rect data-type="rect" data-label="U1" data-x="0" data-y="0" x="198.8461538461538" y="61.53846153846155" width="242.30769230769235" height="538.4615384615385" fill="hsl(164, 100%, 50%, 0.8)" stroke="black" stroke-width="0.011142857142857144"/></g><g><rect data-type="rect" data-label="U1" data-x="-0.83" data-y="3.115" x="229.35897435897436" y="40" width="32.30769230769232" height="22.43589743589746" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.011142857142857144"/></g><g><rect data-type="rect" data-label="netId: V3V3_LEFT
2
4
  globalConnNetId: connectivity_net0" data-x="-1.9000000000000001" data-y="3.01" x="122.56410256410255" y="41.79487179487184" width="53.84615384615384" height="37.69230769230771" fill="#ef444466" stroke="#ef4444" stroke-width="0.011142857142857144"/></g><g><rect data-type="rect" data-label="netId: V3V3_LEFT
3
5
  globalConnNetId: connectivity_net0" data-x="-1.701" data-y="-1.1390000000000005" x="140.4230769230769" y="414.14102564102575" width="53.84615384615384" height="37.69230769230768" fill="#ef444466" stroke="#ef4444" stroke-width="0.011142857142857144"/></g><g><rect data-type="rect" data-label="netId: V3V3_RIGHT
4
6
  globalConnNetId: connectivity_net1" data-x="1.9000000000000001" data-y="3.01" x="463.58974358974365" y="41.79487179487184" width="53.84615384615387" height="37.69230769230771" fill="#ef444466" stroke="#ef4444" stroke-width="0.011142857142857144"/></g><g><rect data-type="rect" data-label="netId: V3V3_RIGHT
@@ -60,7 +62,7 @@ orientation: y+" data-x="1.701" data-y="-1.3490000000000004" cx="472.65384615384
60
62
  const h = svg.getElementById('crosshair-h');
61
63
  const v = svg.getElementById('crosshair-v');
62
64
  const coords = svg.getElementById('coordinates');
63
-
65
+
64
66
  crosshair.style.display = 'block';
65
67
  h.setAttribute('x1', '0');
66
68
  h.setAttribute('x2', '640');
@@ -79,13 +81,13 @@ orientation: y+" data-x="1.701" data-y="-1.3490000000000004" cx="472.65384615384
79
81
  // y' = (y - ty) / sy
80
82
  const sx = matrix.a;
81
83
  const sy = matrix.d;
82
- const tx = matrix.e;
84
+ const tx = matrix.e;
83
85
  const ty = matrix.f;
84
86
  const realPoint = {
85
87
  x: (x - tx) / sx,
86
88
  y: (y - ty) / sy // Flip y back since we used negative scale
87
89
  }
88
-
90
+
89
91
  coords.textContent = `(${realPoint.x.toFixed(2)}, ${realPoint.y.toFixed(2)})`;
90
92
  coords.setAttribute('x', (x + 5).toString());
91
93
  coords.setAttribute('y', (y - 5).toString());
@@ -93,4 +95,48 @@ orientation: y+" data-x="1.701" data-y="-1.3490000000000004" cx="472.65384615384
93
95
  document.currentScript.parentElement.addEventListener('mouseleave', () => {
94
96
  document.currentScript.parentElement.getElementById('crosshair').style.display = 'none';
95
97
  });
96
- ]]></script></svg>
98
+ ]]></script>
99
+ </g>
100
+ <g transform="translate(1216, 200)">
101
+ <style>
102
+ .boundary { fill: rgb(245, 241, 237); }
103
+ .schematic-boundary { fill: none; stroke: #fff; }
104
+ .component { fill: none; stroke: rgb(132, 0, 0); }
105
+ .chip { fill: rgb(255, 255, 194); stroke: rgb(132, 0, 0); }
106
+ .component-pin { fill: none; stroke: rgb(132, 0, 0); }
107
+ .text { font-family: sans-serif; fill: rgb(0, 150, 0); }
108
+ .pin-number { fill: rgb(169, 0, 0); }
109
+ .port-label { fill: rgb(0, 100, 100); }
110
+ .component-name { fill: rgb(0, 100, 100); }
111
+
112
+ </style><rect class="boundary" x="0" y="0" width="1200" height="800"/><g class="trace sch-trace" data-layer="base" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_0__stack1"><path d="M 450.828729281715 302.76243093920004 L 428.72928176789503 302.76243093920004 L 428.72928176789503 103.86740331482008 L 450.828729281715 103.86740331482008" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="17.679558011056px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 450.828729281715 302.76243093920004 L 428.72928176789503 302.76243093920004 L 428.72928176789503 103.86740331482008 L 450.828729281715 103.86740331482008" stroke="rgb(0, 150, 0)" fill="none" stroke-width="2.209944751382px" stroke-linecap="round" stroke-linejoin="round"/></g><g class="trace sch-trace" data-layer="base" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_1__stack1"><path d="M 749.171270718285 302.76243093920004 L 771.270718232105 302.76243093920004 L 771.270718232105 103.86740331482008 L 749.171270718285 103.86740331482008" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="17.679558011056px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 749.171270718285 302.76243093920004 L 771.270718232105 302.76243093920004 L 771.270718232105 103.86740331482008 L 749.171270718285 103.86740331482008" stroke="rgb(0, 150, 0)" fill="none" stroke-width="2.209944751382px" stroke-linecap="round" stroke-linejoin="round"/></g><g class="trace sch-trace" data-layer="base" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_2__stack1"><path d="M 428.72928176789503 103.86740331482008 L 390.05524861871004 103.86740331482008" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="17.679558011056px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 428.72928176789503 103.86740331482008 L 390.05524861871004 103.86740331482008" stroke="rgb(0, 150, 0)" fill="none" stroke-width="2.209944751382px" stroke-linecap="round" stroke-linejoin="round"/></g><g class="trace sch-trace" data-layer="base" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_3__stack1"><path d="M 450.828729281715 567.9558011050401 L 412.0441988949609 567.9558011050401 L 412.0441988949609 562.320441989016" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="17.679558011056px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 450.828729281715 567.9558011050401 L 412.0441988949609 567.9558011050401 L 412.0441988949609 562.320441989016" stroke="rgb(0, 150, 0)" fill="none" stroke-width="2.209944751382px" stroke-linecap="round" stroke-linejoin="round"/></g><g class="trace sch-trace" data-layer="base" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_4__stack1"><path d="M 771.270718232105 103.86740331482008 L 809.94475138129 103.86740331482008" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="17.679558011056px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 771.270718232105 103.86740331482008 L 809.94475138129 103.86740331482008" stroke="rgb(0, 150, 0)" fill="none" stroke-width="2.209944751382px" stroke-linecap="round" stroke-linejoin="round"/></g><g class="trace sch-trace" data-layer="base" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_5__stack1"><path d="M 749.171270718285 567.9558011050401 L 787.9558011050391 567.9558011050401 L 787.9558011050391 562.320441989016" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="17.679558011056px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 749.171270718285 567.9558011050401 L 787.9558011050391 567.9558011050401 L 787.9558011050391 562.320441989016" stroke="rgb(0, 150, 0)" fill="none" stroke-width="2.209944751382px" stroke-linecap="round" stroke-linejoin="round"/></g><g class="trace-overlays sch-trace-overlays" data-layer="overlay" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_0__stack1"><circle cx="428.72928176789503" cy="103.86740331482008" r="3.3149171270729996" class="trace-junction sch-trace-junction" fill="rgb(0, 150, 0)"/></g><g class="trace-overlays sch-trace-overlays" data-layer="overlay" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_1__stack1"><circle cx="771.270718232105" cy="103.86740331482008" r="3.3149171270729996" class="trace-junction sch-trace-junction" fill="rgb(0, 150, 0)"/></g><g class="trace-overlays sch-trace-overlays" data-layer="overlay" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_2__stack1"/><g class="trace-overlays sch-trace-overlays" data-layer="overlay" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_3__stack1"/><g class="trace-overlays sch-trace-overlays" data-layer="overlay" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_4__stack1"/><g class="trace-overlays sch-trace-overlays" data-layer="overlay" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_5__stack1"/><g class="sch-component" data-circuit-json-type="schematic_component" data-schematic-component-id="schematic_component_0__stack1"><rect class="component chip sch-component-body" x="495.027624309355" y="81.76795580100003" width="209.94475138128996" height="662.9834254146001" stroke-width="2.209944751382px" fill="rgb(255, 255, 194)" stroke="rgb(132, 0, 0)"/><rect class="component-overlay sch-component-overlay" x="495.027624309355" y="81.76795580100003" width="209.94475138128996" height="662.9834254146001" fill="transparent"/><text class="sch-text" x="600" y="413.2596685083" fill="#0f172a" text-anchor="middle" dominant-baseline="middle" font-family="sans-serif" font-size="19.889502762438px" transform="rotate(0, 600, 413.2596685083)">U1</text><line class="component-pin sch-component-pin sch-port-line" x1="495.027624309355" y1="103.86740331482008" x2="450.828729281715" y2="103.86740331482008" stroke-width="2.209944751382px"/><g class="sch-port" data-schematic-port-id="source_port_0_0__stack1"><rect x="448.618784530333" y="101.65745856343808" width="4.419889502764" height="4.419889502764" opacity="0"/></g><text class="pin-number sch-pin-number" x="472.928176795535" y="101.65745856343807" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.574585635364997px" transform=""></text><text class="pin-number sch-pin-label" x="506.077348066265" y="103.86740331482008" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="start" dominant-baseline="middle" font-size="16.574585635364997px" transform="">left.1</text><line class="component-pin sch-component-pin sch-port-line" x1="495.027624309355" y1="125.96685082864008" x2="453.038674033097" y2="125.96685082864008" stroke-width="2.209944751382px"/><g class="sch-port" data-schematic-port-id="source_port_0_1__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="450.828729281715" cy="125.96685082864008" r="2.209944751382" stroke-width="2.209944751382px"/><rect x="448.618784530333" y="123.75690607725808" width="4.419889502764" height="4.419889502764" opacity="0"/></g><text class="pin-number sch-pin-number" x="472.928176795535" y="123.75690607725807" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.574585635364997px" transform=""></text><text class="pin-number sch-pin-label" x="506.077348066265" y="125.96685082864008" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="start" dominant-baseline="middle" font-size="16.574585635364997px" transform="">left.2</text><line class="component-pin sch-component-pin sch-port-line" x1="495.027624309355" y1="148.06629834246007" x2="453.038674033097" y2="148.06629834246007" stroke-width="2.209944751382px"/><g class="sch-port" data-schematic-port-id="source_port_0_2__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="450.828729281715" cy="148.06629834246007" r="2.209944751382" stroke-width="2.209944751382px"/><rect x="448.618784530333" y="145.85635359107806" width="4.419889502764" height="4.419889502764" opacity="0"/></g><text class="pin-number sch-pin-number" x="472.928176795535" y="145.85635359107806" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.574585635364997px" transform=""></text><text class="pin-number sch-pin-label" x="506.077348066265" y="148.06629834246007" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="start" dominant-baseline="middle" font-size="16.574585635364997px" transform="">left.3</text><line class="component-pin sch-component-pin sch-port-line" x1="495.027624309355" y1="170.16574585628007" x2="453.038674033097" y2="170.16574585628007" stroke-width="2.209944751382px"/><g class="sch-port" data-schematic-port-id="source_port_0_3__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="450.828729281715" cy="170.16574585628007" r="2.209944751382" stroke-width="2.209944751382px"/><rect x="448.618784530333" y="167.95580110489806" width="4.419889502764" height="4.419889502764" opacity="0"/></g><text class="pin-number sch-pin-number" x="472.928176795535" y="167.95580110489806" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.574585635364997px" transform=""></text><text class="pin-number sch-pin-label" x="506.077348066265" y="170.16574585628007" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="start" dominant-baseline="middle" font-size="16.574585635364997px" transform="">left.4</text><line class="component-pin sch-component-pin sch-port-line" x1="495.027624309355" y1="192.26519337010006" x2="453.038674033097" y2="192.26519337010006" stroke-width="2.209944751382px"/><g class="sch-port" data-schematic-port-id="source_port_0_4__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="450.828729281715" cy="192.26519337010006" r="2.209944751382" stroke-width="2.209944751382px"/><rect x="448.618784530333" y="190.05524861871805" width="4.419889502764" height="4.419889502764" opacity="0"/></g><text class="pin-number sch-pin-number" x="472.928176795535" y="190.05524861871808" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.574585635364997px" transform=""></text><text class="pin-number sch-pin-label" x="506.077348066265" y="192.26519337010006" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="start" dominant-baseline="middle" font-size="16.574585635364997px" transform="">left.5</text><line class="component-pin sch-component-pin sch-port-line" x1="495.027624309355" y1="214.36464088392006" x2="453.038674033097" y2="214.36464088392006" stroke-width="2.209944751382px"/><g class="sch-port" data-schematic-port-id="source_port_0_5__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="450.828729281715" cy="214.36464088392006" r="2.209944751382" stroke-width="2.209944751382px"/><rect x="448.618784530333" y="212.15469613253805" width="4.419889502764" height="4.419889502764" opacity="0"/></g><text class="pin-number sch-pin-number" x="472.928176795535" y="212.15469613253805" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.574585635364997px" transform=""></text><text class="pin-number sch-pin-label" x="506.077348066265" y="214.36464088392006" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="start" dominant-baseline="middle" font-size="16.574585635364997px" transform="">left.6</text><line class="component-pin sch-component-pin sch-port-line" x1="495.027624309355" y1="236.46408839774008" x2="453.038674033097" y2="236.46408839774008" stroke-width="2.209944751382px"/><g class="sch-port" data-schematic-port-id="source_port_0_6__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="450.828729281715" cy="236.46408839774008" r="2.209944751382" stroke-width="2.209944751382px"/><rect x="448.618784530333" y="234.25414364635807" width="4.419889502764" height="4.419889502764" opacity="0"/></g><text class="pin-number sch-pin-number" x="472.928176795535" y="234.25414364635807" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.574585635364997px" transform=""></text><text class="pin-number sch-pin-label" x="506.077348066265" y="236.46408839774008" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="start" dominant-baseline="middle" font-size="16.574585635364997px" transform="">left.7</text><line class="component-pin sch-component-pin sch-port-line" x1="495.027624309355" y1="258.56353591156005" x2="453.038674033097" y2="258.56353591156005" stroke-width="2.209944751382px"/><g class="sch-port" data-schematic-port-id="source_port_0_7__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="450.828729281715" cy="258.56353591156005" r="2.209944751382" stroke-width="2.209944751382px"/><rect x="448.618784530333" y="256.35359116017804" width="4.419889502764" height="4.419889502764" opacity="0"/></g><text class="pin-number sch-pin-number" x="472.928176795535" y="256.3535911601781" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.574585635364997px" transform=""></text><text class="pin-number sch-pin-label" x="506.077348066265" y="258.56353591156005" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="start" dominant-baseline="middle" font-size="16.574585635364997px" transform="">left.8</text><line class="component-pin sch-component-pin sch-port-line" x1="495.027624309355" y1="280.66298342538005" x2="453.038674033097" y2="280.66298342538005" stroke-width="2.209944751382px"/><g class="sch-port" data-schematic-port-id="source_port_0_8__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="450.828729281715" cy="280.66298342538005" r="2.209944751382" stroke-width="2.209944751382px"/><rect x="448.618784530333" y="278.45303867399804" width="4.419889502764" height="4.419889502764" opacity="0"/></g><text class="pin-number sch-pin-number" x="472.928176795535" y="278.4530386739981" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.574585635364997px" transform=""></text><text class="pin-number sch-pin-label" x="506.077348066265" y="280.66298342538005" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="start" dominant-baseline="middle" font-size="16.574585635364997px" transform="">left.9</text><line class="component-pin sch-component-pin sch-port-line" x1="495.027624309355" y1="302.76243093920004" x2="450.828729281715" y2="302.76243093920004" stroke-width="2.209944751382px"/><g class="sch-port" data-schematic-port-id="source_port_0_9__stack1"><rect x="448.618784530333" y="300.55248618781803" width="4.419889502764" height="4.419889502764" opacity="0"/></g><text class="pin-number sch-pin-number" x="472.928176795535" y="300.55248618781803" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.574585635364997px" transform=""></text><text class="pin-number sch-pin-label" x="506.077348066265" y="302.76243093920004" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="start" dominant-baseline="middle" font-size="16.574585635364997px" transform="">left.10</text><line class="component-pin sch-component-pin sch-port-line" x1="495.027624309355" y1="324.86187845302004" x2="453.038674033097" y2="324.86187845302004" stroke-width="2.209944751382px"/><g class="sch-port" data-schematic-port-id="source_port_0_10__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="450.828729281715" cy="324.86187845302004" r="2.209944751382" stroke-width="2.209944751382px"/><rect x="448.618784530333" y="322.65193370163803" width="4.419889502764" height="4.419889502764" opacity="0"/></g><text class="pin-number sch-pin-number" x="472.928176795535" y="322.65193370163803" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.574585635364997px" transform=""></text><text class="pin-number sch-pin-label" x="506.077348066265" y="324.86187845302004" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="start" dominant-baseline="middle" font-size="16.574585635364997px" transform="">left.11</text><line class="component-pin sch-component-pin sch-port-line" x1="495.027624309355" y1="346.96132596684004" x2="453.038674033097" y2="346.96132596684004" stroke-width="2.209944751382px"/><g class="sch-port" data-schematic-port-id="source_port_0_11__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="450.828729281715" cy="346.96132596684004" r="2.209944751382" stroke-width="2.209944751382px"/><rect x="448.618784530333" y="344.751381215458" width="4.419889502764" height="4.419889502764" opacity="0"/></g><text class="pin-number sch-pin-number" x="472.928176795535" y="344.7513812154581" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.574585635364997px" transform=""></text><text class="pin-number sch-pin-label" x="506.077348066265" y="346.96132596684004" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="start" dominant-baseline="middle" font-size="16.574585635364997px" transform="">left.12</text><line class="component-pin sch-component-pin sch-port-line" x1="495.027624309355" y1="369.0607734806601" x2="453.038674033097" y2="369.0607734806601" stroke-width="2.209944751382px"/><g class="sch-port" data-schematic-port-id="source_port_0_12__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="450.828729281715" cy="369.0607734806601" r="2.209944751382" stroke-width="2.209944751382px"/><rect x="448.618784530333" y="366.8508287292781" width="4.419889502764" height="4.419889502764" opacity="0"/></g><text class="pin-number sch-pin-number" x="472.928176795535" y="366.8508287292781" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.574585635364997px" transform=""></text><text class="pin-number sch-pin-label" x="506.077348066265" y="369.0607734806601" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="start" dominant-baseline="middle" font-size="16.574585635364997px" transform="">left.13</text><line class="component-pin sch-component-pin sch-port-line" x1="495.027624309355" y1="391.16022099448" x2="453.038674033097" y2="391.16022099448" stroke-width="2.209944751382px"/><g class="sch-port" data-schematic-port-id="source_port_0_13__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="450.828729281715" cy="391.16022099448" r="2.209944751382" stroke-width="2.209944751382px"/><rect x="448.618784530333" y="388.950276243098" width="4.419889502764" height="4.419889502764" opacity="0"/></g><text class="pin-number sch-pin-number" x="472.928176795535" y="388.9502762430981" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.574585635364997px" transform=""></text><text class="pin-number sch-pin-label" x="506.077348066265" y="391.16022099448" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="start" dominant-baseline="middle" font-size="16.574585635364997px" transform="">left.14</text><line class="component-pin sch-component-pin sch-port-line" x1="495.027624309355" y1="413.2596685083001" x2="453.038674033097" y2="413.2596685083001" stroke-width="2.209944751382px"/><g class="sch-port" data-schematic-port-id="source_port_0_14__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="450.828729281715" cy="413.2596685083001" r="2.209944751382" stroke-width="2.209944751382px"/><rect x="448.618784530333" y="411.04972375691807" width="4.419889502764" height="4.419889502764" opacity="0"/></g><text class="pin-number sch-pin-number" x="472.928176795535" y="411.04972375691807" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.574585635364997px" transform=""></text><text class="pin-number sch-pin-label" x="506.077348066265" y="413.2596685083001" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="start" dominant-baseline="middle" font-size="16.574585635364997px" transform="">left.15</text><line class="component-pin sch-component-pin sch-port-line" x1="495.027624309355" y1="435.35911602212" x2="453.038674033097" y2="435.35911602212" stroke-width="2.209944751382px"/><g class="sch-port" data-schematic-port-id="source_port_0_15__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="450.828729281715" cy="435.35911602212" r="2.209944751382" stroke-width="2.209944751382px"/><rect x="448.618784530333" y="433.149171270738" width="4.419889502764" height="4.419889502764" opacity="0"/></g><text class="pin-number sch-pin-number" x="472.928176795535" y="433.14917127073807" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.574585635364997px" transform=""></text><text class="pin-number sch-pin-label" x="506.077348066265" y="435.35911602212" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="start" dominant-baseline="middle" font-size="16.574585635364997px" transform="">left.16</text><line class="component-pin sch-component-pin sch-port-line" x1="495.027624309355" y1="457.4585635359401" x2="453.038674033097" y2="457.4585635359401" stroke-width="2.209944751382px"/><g class="sch-port" data-schematic-port-id="source_port_0_16__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="450.828729281715" cy="457.4585635359401" r="2.209944751382" stroke-width="2.209944751382px"/><rect x="448.618784530333" y="455.24861878455806" width="4.419889502764" height="4.419889502764" opacity="0"/></g><text class="pin-number sch-pin-number" x="472.928176795535" y="455.24861878455806" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.574585635364997px" transform=""></text><text class="pin-number sch-pin-label" x="506.077348066265" y="457.4585635359401" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="start" dominant-baseline="middle" font-size="16.574585635364997px" transform="">left.17</text><line class="component-pin sch-component-pin sch-port-line" x1="495.027624309355" y1="479.55801104976007" x2="453.038674033097" y2="479.55801104976007" stroke-width="2.209944751382px"/><g class="sch-port" data-schematic-port-id="source_port_0_17__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="450.828729281715" cy="479.55801104976007" r="2.209944751382" stroke-width="2.209944751382px"/><rect x="448.618784530333" y="477.34806629837806" width="4.419889502764" height="4.419889502764" opacity="0"/></g><text class="pin-number sch-pin-number" x="472.928176795535" y="477.34806629837806" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.574585635364997px" transform=""></text><text class="pin-number sch-pin-label" x="506.077348066265" y="479.55801104976007" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="start" dominant-baseline="middle" font-size="16.574585635364997px" transform="">left.18</text><line class="component-pin sch-component-pin sch-port-line" x1="495.027624309355" y1="501.65745856358006" x2="453.038674033097" y2="501.65745856358006" stroke-width="2.209944751382px"/><g class="sch-port" data-schematic-port-id="source_port_0_18__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="450.828729281715" cy="501.65745856358006" r="2.209944751382" stroke-width="2.209944751382px"/><rect x="448.618784530333" y="499.44751381219805" width="4.419889502764" height="4.419889502764" opacity="0"/></g><text class="pin-number sch-pin-number" x="472.928176795535" y="499.44751381219805" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.574585635364997px" transform=""></text><text class="pin-number sch-pin-label" x="506.077348066265" y="501.65745856358006" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="start" dominant-baseline="middle" font-size="16.574585635364997px" transform="">left.19</text><line class="component-pin sch-component-pin sch-port-line" x1="495.027624309355" y1="523.7569060774001" x2="453.038674033097" y2="523.7569060774001" stroke-width="2.209944751382px"/><g class="sch-port" data-schematic-port-id="source_port_0_19__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="450.828729281715" cy="523.7569060774001" r="2.209944751382" stroke-width="2.209944751382px"/><rect x="448.618784530333" y="521.5469613260182" width="4.419889502764" height="4.419889502764" opacity="0"/></g><text class="pin-number sch-pin-number" x="472.928176795535" y="521.546961326018" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.574585635364997px" transform=""></text><text class="pin-number sch-pin-label" x="506.077348066265" y="523.7569060774001" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="start" dominant-baseline="middle" font-size="16.574585635364997px" transform="">left.20</text><line class="component-pin sch-component-pin sch-port-line" x1="495.027624309355" y1="545.85635359122" x2="453.038674033097" y2="545.85635359122" stroke-width="2.209944751382px"/><g class="sch-port" data-schematic-port-id="source_port_0_20__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="450.828729281715" cy="545.85635359122" r="2.209944751382" stroke-width="2.209944751382px"/><rect x="448.618784530333" y="543.646408839838" width="4.419889502764" height="4.419889502764" opacity="0"/></g><text class="pin-number sch-pin-number" x="472.928176795535" y="543.646408839838" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.574585635364997px" transform=""></text><text class="pin-number sch-pin-label" x="506.077348066265" y="545.85635359122" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="start" dominant-baseline="middle" font-size="16.574585635364997px" transform="">left.21</text><line class="component-pin sch-component-pin sch-port-line" x1="495.027624309355" y1="567.9558011050401" x2="450.828729281715" y2="567.9558011050401" stroke-width="2.209944751382px"/><g class="sch-port" data-schematic-port-id="source_port_0_21__stack1"><rect x="448.618784530333" y="565.7458563536582" width="4.419889502764" height="4.419889502764" opacity="0"/></g><text class="pin-number sch-pin-number" x="472.928176795535" y="565.745856353658" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.574585635364997px" transform=""></text><text class="pin-number sch-pin-label" x="506.077348066265" y="567.9558011050401" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="start" dominant-baseline="middle" font-size="16.574585635364997px" transform="">left.22</text><line class="component-pin sch-component-pin sch-port-line" x1="704.972375690645" y1="103.86740331482008" x2="749.171270718285" y2="103.86740331482008" stroke-width="2.209944751382px"/><g class="sch-port" data-schematic-port-id="source_port_0_22__stack1"><rect x="746.961325966903" y="101.65745856343808" width="4.419889502764" height="4.419889502764" opacity="0"/></g><text class="pin-number sch-pin-number" x="727.071823204465" y="101.65745856343807" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.574585635364997px" transform=""></text><text class="pin-number sch-pin-label" x="693.922651933735" y="103.86740331482008" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="end" dominant-baseline="middle" font-size="16.574585635364997px" transform="">right.1</text><line class="component-pin sch-component-pin sch-port-line" x1="704.972375690645" y1="125.96685082864008" x2="746.961325966903" y2="125.96685082864008" stroke-width="2.209944751382px"/><g class="sch-port" data-schematic-port-id="source_port_0_23__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="749.171270718285" cy="125.96685082864008" r="2.209944751382" stroke-width="2.209944751382px"/><rect x="746.961325966903" y="123.75690607725808" width="4.419889502764" height="4.419889502764" opacity="0"/></g><text class="pin-number sch-pin-number" x="727.071823204465" y="123.75690607725807" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.574585635364997px" transform=""></text><text class="pin-number sch-pin-label" x="693.922651933735" y="125.96685082864008" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="end" dominant-baseline="middle" font-size="16.574585635364997px" transform="">right.2</text><line class="component-pin sch-component-pin sch-port-line" x1="704.972375690645" y1="148.06629834246007" x2="746.961325966903" y2="148.06629834246007" stroke-width="2.209944751382px"/><g class="sch-port" data-schematic-port-id="source_port_0_24__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="749.171270718285" cy="148.06629834246007" r="2.209944751382" stroke-width="2.209944751382px"/><rect x="746.961325966903" y="145.85635359107806" width="4.419889502764" height="4.419889502764" opacity="0"/></g><text class="pin-number sch-pin-number" x="727.071823204465" y="145.85635359107806" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.574585635364997px" transform=""></text><text class="pin-number sch-pin-label" x="693.922651933735" y="148.06629834246007" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="end" dominant-baseline="middle" font-size="16.574585635364997px" transform="">right.3</text><line class="component-pin sch-component-pin sch-port-line" x1="704.972375690645" y1="170.16574585628007" x2="746.961325966903" y2="170.16574585628007" stroke-width="2.209944751382px"/><g class="sch-port" data-schematic-port-id="source_port_0_25__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="749.171270718285" cy="170.16574585628007" r="2.209944751382" stroke-width="2.209944751382px"/><rect x="746.961325966903" y="167.95580110489806" width="4.419889502764" height="4.419889502764" opacity="0"/></g><text class="pin-number sch-pin-number" x="727.071823204465" y="167.95580110489806" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.574585635364997px" transform=""></text><text class="pin-number sch-pin-label" x="693.922651933735" y="170.16574585628007" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="end" dominant-baseline="middle" font-size="16.574585635364997px" transform="">right.4</text><line class="component-pin sch-component-pin sch-port-line" x1="704.972375690645" y1="192.26519337010006" x2="746.961325966903" y2="192.26519337010006" stroke-width="2.209944751382px"/><g class="sch-port" data-schematic-port-id="source_port_0_26__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="749.171270718285" cy="192.26519337010006" r="2.209944751382" stroke-width="2.209944751382px"/><rect x="746.961325966903" y="190.05524861871805" width="4.419889502764" height="4.419889502764" opacity="0"/></g><text class="pin-number sch-pin-number" x="727.071823204465" y="190.05524861871808" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.574585635364997px" transform=""></text><text class="pin-number sch-pin-label" x="693.922651933735" y="192.26519337010006" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="end" dominant-baseline="middle" font-size="16.574585635364997px" transform="">right.5</text><line class="component-pin sch-component-pin sch-port-line" x1="704.972375690645" y1="214.36464088392006" x2="746.961325966903" y2="214.36464088392006" stroke-width="2.209944751382px"/><g class="sch-port" data-schematic-port-id="source_port_0_27__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="749.171270718285" cy="214.36464088392006" r="2.209944751382" stroke-width="2.209944751382px"/><rect x="746.961325966903" y="212.15469613253805" width="4.419889502764" height="4.419889502764" opacity="0"/></g><text class="pin-number sch-pin-number" x="727.071823204465" y="212.15469613253805" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.574585635364997px" transform=""></text><text class="pin-number sch-pin-label" x="693.922651933735" y="214.36464088392006" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="end" dominant-baseline="middle" font-size="16.574585635364997px" transform="">right.6</text><line class="component-pin sch-component-pin sch-port-line" x1="704.972375690645" y1="236.46408839774008" x2="746.961325966903" y2="236.46408839774008" stroke-width="2.209944751382px"/><g class="sch-port" data-schematic-port-id="source_port_0_28__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="749.171270718285" cy="236.46408839774008" r="2.209944751382" stroke-width="2.209944751382px"/><rect x="746.961325966903" y="234.25414364635807" width="4.419889502764" height="4.419889502764" opacity="0"/></g><text class="pin-number sch-pin-number" x="727.071823204465" y="234.25414364635807" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.574585635364997px" transform=""></text><text class="pin-number sch-pin-label" x="693.922651933735" y="236.46408839774008" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="end" dominant-baseline="middle" font-size="16.574585635364997px" transform="">right.7</text><line class="component-pin sch-component-pin sch-port-line" x1="704.972375690645" y1="258.56353591156005" x2="746.961325966903" y2="258.56353591156005" stroke-width="2.209944751382px"/><g class="sch-port" data-schematic-port-id="source_port_0_29__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="749.171270718285" cy="258.56353591156005" r="2.209944751382" stroke-width="2.209944751382px"/><rect x="746.961325966903" y="256.35359116017804" width="4.419889502764" height="4.419889502764" opacity="0"/></g><text class="pin-number sch-pin-number" x="727.071823204465" y="256.3535911601781" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.574585635364997px" transform=""></text><text class="pin-number sch-pin-label" x="693.922651933735" y="258.56353591156005" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="end" dominant-baseline="middle" font-size="16.574585635364997px" transform="">right.8</text><line class="component-pin sch-component-pin sch-port-line" x1="704.972375690645" y1="280.66298342538005" x2="746.961325966903" y2="280.66298342538005" stroke-width="2.209944751382px"/><g class="sch-port" data-schematic-port-id="source_port_0_30__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="749.171270718285" cy="280.66298342538005" r="2.209944751382" stroke-width="2.209944751382px"/><rect x="746.961325966903" y="278.45303867399804" width="4.419889502764" height="4.419889502764" opacity="0"/></g><text class="pin-number sch-pin-number" x="727.071823204465" y="278.4530386739981" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.574585635364997px" transform=""></text><text class="pin-number sch-pin-label" x="693.922651933735" y="280.66298342538005" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="end" dominant-baseline="middle" font-size="16.574585635364997px" transform="">right.9</text><line class="component-pin sch-component-pin sch-port-line" x1="704.972375690645" y1="302.76243093920004" x2="749.171270718285" y2="302.76243093920004" stroke-width="2.209944751382px"/><g class="sch-port" data-schematic-port-id="source_port_0_31__stack1"><rect x="746.961325966903" y="300.55248618781803" width="4.419889502764" height="4.419889502764" opacity="0"/></g><text class="pin-number sch-pin-number" x="727.071823204465" y="300.55248618781803" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.574585635364997px" transform=""></text><text class="pin-number sch-pin-label" x="693.922651933735" y="302.76243093920004" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="end" dominant-baseline="middle" font-size="16.574585635364997px" transform="">right.10</text><line class="component-pin sch-component-pin sch-port-line" x1="704.972375690645" y1="324.86187845302004" x2="746.961325966903" y2="324.86187845302004" stroke-width="2.209944751382px"/><g class="sch-port" data-schematic-port-id="source_port_0_32__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="749.171270718285" cy="324.86187845302004" r="2.209944751382" stroke-width="2.209944751382px"/><rect x="746.961325966903" y="322.65193370163803" width="4.419889502764" height="4.419889502764" opacity="0"/></g><text class="pin-number sch-pin-number" x="727.071823204465" y="322.65193370163803" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.574585635364997px" transform=""></text><text class="pin-number sch-pin-label" x="693.922651933735" y="324.86187845302004" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="end" dominant-baseline="middle" font-size="16.574585635364997px" transform="">right.11</text><line class="component-pin sch-component-pin sch-port-line" x1="704.972375690645" y1="346.96132596684004" x2="746.961325966903" y2="346.96132596684004" stroke-width="2.209944751382px"/><g class="sch-port" data-schematic-port-id="source_port_0_33__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="749.171270718285" cy="346.96132596684004" r="2.209944751382" stroke-width="2.209944751382px"/><rect x="746.961325966903" y="344.751381215458" width="4.419889502764" height="4.419889502764" opacity="0"/></g><text class="pin-number sch-pin-number" x="727.071823204465" y="344.7513812154581" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.574585635364997px" transform=""></text><text class="pin-number sch-pin-label" x="693.922651933735" y="346.96132596684004" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="end" dominant-baseline="middle" font-size="16.574585635364997px" transform="">right.12</text><line class="component-pin sch-component-pin sch-port-line" x1="704.972375690645" y1="369.0607734806601" x2="746.961325966903" y2="369.0607734806601" stroke-width="2.209944751382px"/><g class="sch-port" data-schematic-port-id="source_port_0_34__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="749.171270718285" cy="369.0607734806601" r="2.209944751382" stroke-width="2.209944751382px"/><rect x="746.961325966903" y="366.8508287292781" width="4.419889502764" height="4.419889502764" opacity="0"/></g><text class="pin-number sch-pin-number" x="727.071823204465" y="366.8508287292781" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.574585635364997px" transform=""></text><text class="pin-number sch-pin-label" x="693.922651933735" y="369.0607734806601" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="end" dominant-baseline="middle" font-size="16.574585635364997px" transform="">right.13</text><line class="component-pin sch-component-pin sch-port-line" x1="704.972375690645" y1="391.16022099448" x2="746.961325966903" y2="391.16022099448" stroke-width="2.209944751382px"/><g class="sch-port" data-schematic-port-id="source_port_0_35__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="749.171270718285" cy="391.16022099448" r="2.209944751382" stroke-width="2.209944751382px"/><rect x="746.961325966903" y="388.950276243098" width="4.419889502764" height="4.419889502764" opacity="0"/></g><text class="pin-number sch-pin-number" x="727.071823204465" y="388.9502762430981" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.574585635364997px" transform=""></text><text class="pin-number sch-pin-label" x="693.922651933735" y="391.16022099448" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="end" dominant-baseline="middle" font-size="16.574585635364997px" transform="">right.14</text><line class="component-pin sch-component-pin sch-port-line" x1="704.972375690645" y1="413.2596685083001" x2="746.961325966903" y2="413.2596685083001" stroke-width="2.209944751382px"/><g class="sch-port" data-schematic-port-id="source_port_0_36__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="749.171270718285" cy="413.2596685083001" r="2.209944751382" stroke-width="2.209944751382px"/><rect x="746.961325966903" y="411.04972375691807" width="4.419889502764" height="4.419889502764" opacity="0"/></g><text class="pin-number sch-pin-number" x="727.071823204465" y="411.04972375691807" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.574585635364997px" transform=""></text><text class="pin-number sch-pin-label" x="693.922651933735" y="413.2596685083001" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="end" dominant-baseline="middle" font-size="16.574585635364997px" transform="">right.15</text><line class="component-pin sch-component-pin sch-port-line" x1="704.972375690645" y1="435.35911602212" x2="746.961325966903" y2="435.35911602212" stroke-width="2.209944751382px"/><g class="sch-port" data-schematic-port-id="source_port_0_37__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="749.171270718285" cy="435.35911602212" r="2.209944751382" stroke-width="2.209944751382px"/><rect x="746.961325966903" y="433.149171270738" width="4.419889502764" height="4.419889502764" opacity="0"/></g><text class="pin-number sch-pin-number" x="727.071823204465" y="433.14917127073807" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.574585635364997px" transform=""></text><text class="pin-number sch-pin-label" x="693.922651933735" y="435.35911602212" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="end" dominant-baseline="middle" font-size="16.574585635364997px" transform="">right.16</text><line class="component-pin sch-component-pin sch-port-line" x1="704.972375690645" y1="457.4585635359401" x2="746.961325966903" y2="457.4585635359401" stroke-width="2.209944751382px"/><g class="sch-port" data-schematic-port-id="source_port_0_38__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="749.171270718285" cy="457.4585635359401" r="2.209944751382" stroke-width="2.209944751382px"/><rect x="746.961325966903" y="455.24861878455806" width="4.419889502764" height="4.419889502764" opacity="0"/></g><text class="pin-number sch-pin-number" x="727.071823204465" y="455.24861878455806" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.574585635364997px" transform=""></text><text class="pin-number sch-pin-label" x="693.922651933735" y="457.4585635359401" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="end" dominant-baseline="middle" font-size="16.574585635364997px" transform="">right.17</text><line class="component-pin sch-component-pin sch-port-line" x1="704.972375690645" y1="479.55801104976007" x2="746.961325966903" y2="479.55801104976007" stroke-width="2.209944751382px"/><g class="sch-port" data-schematic-port-id="source_port_0_39__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="749.171270718285" cy="479.55801104976007" r="2.209944751382" stroke-width="2.209944751382px"/><rect x="746.961325966903" y="477.34806629837806" width="4.419889502764" height="4.419889502764" opacity="0"/></g><text class="pin-number sch-pin-number" x="727.071823204465" y="477.34806629837806" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.574585635364997px" transform=""></text><text class="pin-number sch-pin-label" x="693.922651933735" y="479.55801104976007" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="end" dominant-baseline="middle" font-size="16.574585635364997px" transform="">right.18</text><line class="component-pin sch-component-pin sch-port-line" x1="704.972375690645" y1="501.65745856358006" x2="746.961325966903" y2="501.65745856358006" stroke-width="2.209944751382px"/><g class="sch-port" data-schematic-port-id="source_port_0_40__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="749.171270718285" cy="501.65745856358006" r="2.209944751382" stroke-width="2.209944751382px"/><rect x="746.961325966903" y="499.44751381219805" width="4.419889502764" height="4.419889502764" opacity="0"/></g><text class="pin-number sch-pin-number" x="727.071823204465" y="499.44751381219805" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.574585635364997px" transform=""></text><text class="pin-number sch-pin-label" x="693.922651933735" y="501.65745856358006" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="end" dominant-baseline="middle" font-size="16.574585635364997px" transform="">right.19</text><line class="component-pin sch-component-pin sch-port-line" x1="704.972375690645" y1="523.7569060774001" x2="746.961325966903" y2="523.7569060774001" stroke-width="2.209944751382px"/><g class="sch-port" data-schematic-port-id="source_port_0_41__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="749.171270718285" cy="523.7569060774001" r="2.209944751382" stroke-width="2.209944751382px"/><rect x="746.961325966903" y="521.5469613260182" width="4.419889502764" height="4.419889502764" opacity="0"/></g><text class="pin-number sch-pin-number" x="727.071823204465" y="521.546961326018" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.574585635364997px" transform=""></text><text class="pin-number sch-pin-label" x="693.922651933735" y="523.7569060774001" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="end" dominant-baseline="middle" font-size="16.574585635364997px" transform="">right.20</text><line class="component-pin sch-component-pin sch-port-line" x1="704.972375690645" y1="545.85635359122" x2="746.961325966903" y2="545.85635359122" stroke-width="2.209944751382px"/><g class="sch-port" data-schematic-port-id="source_port_0_42__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="749.171270718285" cy="545.85635359122" r="2.209944751382" stroke-width="2.209944751382px"/><rect x="746.961325966903" y="543.646408839838" width="4.419889502764" height="4.419889502764" opacity="0"/></g><text class="pin-number sch-pin-number" x="727.071823204465" y="543.646408839838" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.574585635364997px" transform=""></text><text class="pin-number sch-pin-label" x="693.922651933735" y="545.85635359122" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="end" dominant-baseline="middle" font-size="16.574585635364997px" transform="">right.21</text><line class="component-pin sch-component-pin sch-port-line" x1="704.972375690645" y1="567.9558011050401" x2="749.171270718285" y2="567.9558011050401" stroke-width="2.209944751382px"/><g class="sch-port" data-schematic-port-id="source_port_0_43__stack1"><rect x="746.961325966903" y="565.7458563536582" width="4.419889502764" height="4.419889502764" opacity="0"/></g><text class="pin-number sch-pin-number" x="727.071823204465" y="565.745856353658" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="16.574585635364997px" transform=""></text><text class="pin-number sch-pin-label" x="693.922651933735" y="567.9558011050401" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="end" dominant-baseline="middle" font-size="16.574585635364997px" transform="">right.22</text></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_0__stack1"><circle cx="450.828729281715" cy="103.86740331482008" r="4.419889502764" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_1__stack1"><circle cx="450.828729281715" cy="125.96685082864008" r="4.419889502764" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_2__stack1"><circle cx="450.828729281715" cy="148.06629834246007" r="4.419889502764" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_3__stack1"><circle cx="450.828729281715" cy="170.16574585628007" r="4.419889502764" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_4__stack1"><circle cx="450.828729281715" cy="192.26519337010006" r="4.419889502764" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_5__stack1"><circle cx="450.828729281715" cy="214.36464088392006" r="4.419889502764" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_6__stack1"><circle cx="450.828729281715" cy="236.46408839774008" r="4.419889502764" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_7__stack1"><circle cx="450.828729281715" cy="258.56353591156005" r="4.419889502764" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_8__stack1"><circle cx="450.828729281715" cy="280.66298342538005" r="4.419889502764" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_9__stack1"><circle cx="450.828729281715" cy="302.76243093920004" r="4.419889502764" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_10__stack1"><circle cx="450.828729281715" cy="324.86187845302004" r="4.419889502764" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_11__stack1"><circle cx="450.828729281715" cy="346.96132596684004" r="4.419889502764" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_12__stack1"><circle cx="450.828729281715" cy="369.0607734806601" r="4.419889502764" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_13__stack1"><circle cx="450.828729281715" cy="391.16022099448" r="4.419889502764" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_14__stack1"><circle cx="450.828729281715" cy="413.2596685083001" r="4.419889502764" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_15__stack1"><circle cx="450.828729281715" cy="435.35911602212" r="4.419889502764" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_16__stack1"><circle cx="450.828729281715" cy="457.4585635359401" r="4.419889502764" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_17__stack1"><circle cx="450.828729281715" cy="479.55801104976007" r="4.419889502764" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_18__stack1"><circle cx="450.828729281715" cy="501.65745856358006" r="4.419889502764" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_19__stack1"><circle cx="450.828729281715" cy="523.7569060774001" r="4.419889502764" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_20__stack1"><circle cx="450.828729281715" cy="545.85635359122" r="4.419889502764" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_21__stack1"><circle cx="450.828729281715" cy="567.9558011050401" r="4.419889502764" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_22__stack1"><circle cx="749.171270718285" cy="103.86740331482008" r="4.419889502764" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_23__stack1"><circle cx="749.171270718285" cy="125.96685082864008" r="4.419889502764" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_24__stack1"><circle cx="749.171270718285" cy="148.06629834246007" r="4.419889502764" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_25__stack1"><circle cx="749.171270718285" cy="170.16574585628007" r="4.419889502764" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_26__stack1"><circle cx="749.171270718285" cy="192.26519337010006" r="4.419889502764" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_27__stack1"><circle cx="749.171270718285" cy="214.36464088392006" r="4.419889502764" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_28__stack1"><circle cx="749.171270718285" cy="236.46408839774008" r="4.419889502764" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_29__stack1"><circle cx="749.171270718285" cy="258.56353591156005" r="4.419889502764" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_30__stack1"><circle cx="749.171270718285" cy="280.66298342538005" r="4.419889502764" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_31__stack1"><circle cx="749.171270718285" cy="302.76243093920004" r="4.419889502764" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_32__stack1"><circle cx="749.171270718285" cy="324.86187845302004" r="4.419889502764" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_33__stack1"><circle cx="749.171270718285" cy="346.96132596684004" r="4.419889502764" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_34__stack1"><circle cx="749.171270718285" cy="369.0607734806601" r="4.419889502764" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_35__stack1"><circle cx="749.171270718285" cy="391.16022099448" r="4.419889502764" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_36__stack1"><circle cx="749.171270718285" cy="413.2596685083001" r="4.419889502764" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_37__stack1"><circle cx="749.171270718285" cy="435.35911602212" r="4.419889502764" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_38__stack1"><circle cx="749.171270718285" cy="457.4585635359401" r="4.419889502764" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_39__stack1"><circle cx="749.171270718285" cy="479.55801104976007" r="4.419889502764" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_40__stack1"><circle cx="749.171270718285" cy="501.65745856358006" r="4.419889502764" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_41__stack1"><circle cx="749.171270718285" cy="523.7569060774001" r="4.419889502764" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_42__stack1"><circle cx="749.171270718285" cy="545.85635359122" r="4.419889502764" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_43__stack1"><circle cx="749.171270718285" cy="567.9558011050401" r="4.419889502764" fill="red" opacity="0"/></g><path class="net-label sch-net-label" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_0__stack1" d="
113
+ M 390.05524861871004,103.86740331482008
114
+ L 379.00552486180004,97.90055248608869
115
+ L 379.00552486180004,60.00736648239199
116
+ L 401.10497237562004,60.00736648239199
117
+ L 401.10497237562004,97.90055248608869
118
+ Z
119
+ " fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="2.209944751382px"/><text class="net-label-text sch-net-label-text" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_0__stack1" x="390.05524861871004" y="93.92265193360109" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="19.889502762438px" transform="rotate(-90 390.05524861871004 93.92265193360109)">XX</text><path class="net-label sch-net-label" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_1__stack1" d="
120
+ M 412.0441988949609,562.320441989016
121
+ L 400.9944751380509,556.3535911602846
122
+ L 400.9944751380509,518.4604051565879
123
+ L 423.0939226518709,518.4604051565879
124
+ L 423.0939226518709,556.3535911602846
125
+ Z
126
+ " fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="2.209944751382px"/><text class="net-label-text sch-net-label-text" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_1__stack1" x="412.0441988949609" y="552.375690607797" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="19.889502762438px" transform="rotate(-90 412.0441988949609 552.375690607797)">XX</text><path class="net-label sch-net-label" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_2__stack1" d="
127
+ M 809.94475138129,103.86740331482008
128
+ L 798.89502762438,97.90055248608869
129
+ L 798.89502762438,60.00736648239199
130
+ L 820.9944751382,60.00736648239199
131
+ L 820.9944751382,97.90055248608869
132
+ Z
133
+ " fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="2.209944751382px"/><text class="net-label-text sch-net-label-text" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_2__stack1" x="809.94475138129" y="93.92265193360109" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="19.889502762438px" transform="rotate(-90 809.94475138129 93.92265193360109)">XX</text><path class="net-label sch-net-label" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_3__stack1" d="
134
+ M 787.9558011050391,562.320441989016
135
+ L 776.9060773481291,556.3535911602846
136
+ L 776.9060773481291,518.4604051565879
137
+ L 799.0055248619491,518.4604051565879
138
+ L 799.0055248619491,556.3535911602846
139
+ Z
140
+ " fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="2.209944751382px"/><text class="net-label-text sch-net-label-text" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_3__stack1" x="787.9558011050391" y="552.375690607797" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="19.889502762438px" transform="rotate(-90 787.9558011050391 552.375690607797)">XX</text><text class="sch-text" x="508.287292817647" y="69.06077348055351" fill="#7e22ce" text-anchor="middle" dominant-baseline="middle" font-family="sans-serif" font-size="19.889502762438px" transform="rotate(0, 508.287292817647, 69.06077348055351)">U1</text><rect class="schematic-box sch-box" x="488.397790055209" y="55.24861878441601" width="39.77900552487603" height="27.624309392274995" stroke-width="2.209944751382px" stroke="rgb(132, 0, 0)" fill="transparent" stroke-dasharray="17.679558011056 8.839779005528"/>
141
+ </g>
142
+ </svg>