@tscircuit/schematic-trace-solver 0.0.183 → 0.0.184

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 (103) hide show
  1. package/dist/index.js +231 -20
  2. package/lib/solvers/SameNetJunctionAlignmentSolver/alignSameNetJunctions.ts +30 -12
  3. package/lib/solvers/SameNetJunctionAlignmentSolver/collapseRedundantSharedEndpointStubs.ts +267 -0
  4. package/lib/solvers/SameNetJunctionAlignmentSolver/collapseSameNetCycles.ts +1 -1
  5. package/lib/solvers/SameNetJunctionAlignmentSolver/getSharedPin.ts +13 -0
  6. package/package.json +1 -1
  7. package/tests/bug-reports/bug-report-20260706T213649Z/__snapshots__/bug-report-20260706T213649Z.snap.svg +2 -2
  8. package/tests/bug-reports/bug-report-20260706T220324Z/__snapshots__/bug-report-20260706T220324Z.snap.svg +2 -2
  9. package/tests/bug-reports/bug-report-20260707T020342Z/__snapshots__/bug-report-20260707T020342Z.snap.svg +2 -2
  10. package/tests/bug-reports/bug-report-20260707T020342Z/bug-report-20260707T020342Z.test.ts +10 -0
  11. package/tests/bug-reports/bug-report-20260707T092615Z/__snapshots__/bug-report-20260707T092615Z.snap.svg +2 -2
  12. package/tests/bug-reports/bug-report-20260707T134549Z/__snapshots__/bug-report-20260707T134549Z.snap.svg +2 -2
  13. package/tests/bug-reports/bug-report-20260707T140410Z/__snapshots__/bug-report-20260707T140410Z.snap.svg +2 -2
  14. package/tests/bug-reports/bug-report-20260707T141025Z/__snapshots__/bug-report-20260707T141025Z.snap.svg +2 -2
  15. package/tests/bug-reports/bug-report-20260707T141421Z/__snapshots__/bug-report-20260707T141421Z.snap.svg +2 -2
  16. package/tests/bug-reports/bug-report-20260707T230831Z/__snapshots__/bug-report-20260707T230831Z.snap.svg +2 -2
  17. package/tests/bug-reports/bug-report-20260708T095725Z/__snapshots__/bug-report-20260708T095725Z.snap.svg +2 -2
  18. package/tests/bug-reports/bug-report-20260716T144856Z/__snapshots__/bug-report-20260716T144856Z.snap.svg +2 -2
  19. package/tests/bug-reports/bug-report-20260717T022934Z/__snapshots__/bug-report-20260717T022934Z.snap.svg +2 -2
  20. package/tests/bug-reports/bug-report-20260717T042845Z/__snapshots__/bug-report-20260717T042845Z.snap.svg +2 -2
  21. package/tests/bug-reports/bug-report-20260721T221026Z/__snapshots__/bug-report-20260721T221026Z.snap.svg +2 -2
  22. package/tests/bug-reports/bug-report-20260724T175257Z/__snapshots__/bug-report-20260724T175257Z.snap.svg +2 -2
  23. package/tests/bug-reports/bug-report-20260728T144234Z/__snapshots__/bug-report-20260728T144234Z.snap.svg +2 -2
  24. package/tests/bug-reports/bug-report-20260728T144234Z/bug-report-20260728T144234Z.test.ts +2 -0
  25. package/tests/bug-reports/bug-report-20260730T061837Z/__snapshots__/bug-report-20260730T061837Z.snap.svg +2 -2
  26. package/tests/bug-reports/bug-report-20260730T061837Z/bug-report-20260730T061837Z.test.ts +1 -1
  27. package/tests/bug-reports/bug-report-20260731T052229Z/__snapshots__/bug-report-20260731T052229Z.snap.svg +2 -2
  28. package/tests/bug-reports/bug-report-20260804T171919Z/__snapshots__/bug-report-20260804T171919Z.snap.svg +2 -2
  29. package/tests/bug-reports/bug-report-20260804T225912Z/__snapshots__/bug-report-20260804T225912Z.snap.svg +2 -2
  30. package/tests/bug-reports/bug-report-20260805T061316Z/__snapshots__/bug-report-20260805T061316Z.snap.svg +2 -2
  31. package/tests/bug-reports/bug-report-20260806T061548Z/__snapshots__/bug-report-20260806T061548Z.snap.svg +2 -2
  32. package/tests/bug-reports/bug-report-20260815T073240Z/__snapshots__/bug-report-20260815T073240Z.snap.svg +2 -2
  33. package/tests/bug-reports/bug-report-20260819T091818Z/__snapshots__/bug-report-20260819T091818Z.snap.svg +2 -2
  34. package/tests/bug-reports/bug-report-20260825T045913Z/__snapshots__/bug-report-20260825T045913Z.snap.svg +2 -2
  35. package/tests/bug-reports/bug-report-20260825T103621Z/__snapshots__/bug-report-20260825T103621Z.snap.svg +2 -2
  36. package/tests/bug-reports/bug-report-20260826T072956Z/__snapshots__/bug-report-20260826T072956Z.snap.svg +2 -2
  37. package/tests/bug-reports/bug-report-20260901T055358Z/__snapshots__/bug-report-20260901T055358Z.snap.svg +2 -2
  38. package/tests/bug-reports/bug-report-20260901T064117Z/__snapshots__/bug-report-20260901T064117Z.snap.svg +2 -2
  39. package/tests/bug-reports/bug-report-20260901T134241Z/__snapshots__/bug-report-20260901T134241Z.snap.svg +2 -2
  40. package/tests/bug-reports/bug-report-20260902T092425Z/__snapshots__/bug-report-20260902T092425Z.snap.svg +2 -2
  41. package/tests/examples/__snapshots__/example02.snap.svg +2 -2
  42. package/tests/examples/__snapshots__/example13.snap.svg +2 -2
  43. package/tests/examples/__snapshots__/example14.snap.svg +2 -2
  44. package/tests/examples/__snapshots__/example15.snap.svg +2 -2
  45. package/tests/examples/__snapshots__/example18.snap.svg +2 -2
  46. package/tests/examples/__snapshots__/example19.snap.svg +2 -2
  47. package/tests/examples/__snapshots__/example21.snap.svg +2 -2
  48. package/tests/examples/__snapshots__/example27.snap.svg +2 -2
  49. package/tests/examples/__snapshots__/example29.snap.svg +2 -2
  50. package/tests/examples/__snapshots__/example42.snap.svg +2 -2
  51. package/tests/examples/__snapshots__/example45.snap.svg +2 -2
  52. package/tests/examples/__snapshots__/example46.snap.svg +2 -2
  53. package/tests/examples/__snapshots__/example47.snap.svg +2 -2
  54. package/tests/examples/__snapshots__/example51.snap.svg +2 -2
  55. package/tests/repros/__snapshots__/board-1273-trace-overlap-cycle.snap.svg +2 -2
  56. package/tests/repros/__snapshots__/board-15984-same-net-junction.snap.svg +2 -2
  57. package/tests/repros/__snapshots__/board1096-usb-label-overlap-iteration.snap.svg +2 -2
  58. package/tests/repros/__snapshots__/bugreport-001-gnd-overlap.snap.svg +2 -2
  59. package/tests/repros/__snapshots__/netlabel-connector-through-rail-label.snap.svg +2 -2
  60. package/tests/repros/__snapshots__/repro-battery-management-bq24073.snap.svg +2 -2
  61. package/tests/repros/__snapshots__/repro-bc107a-common-emitter-routing.snap.svg +2 -2
  62. package/tests/repros/__snapshots__/repro-bluetooth-controller-ground-decoupling-groups.snap.svg +2 -2
  63. package/tests/repros/__snapshots__/repro-board-589-regulator-section.snap.svg +2 -2
  64. package/tests/repros/__snapshots__/repro-board-648-esp12f-section.snap.svg +2 -2
  65. package/tests/repros/__snapshots__/repro-board-8090-power-section.snap.svg +2 -2
  66. package/tests/repros/__snapshots__/repro-bq24074-battery-charger.snap.svg +2 -2
  67. package/tests/repros/__snapshots__/repro-bq25895-cross-net-trace-overlap.snap.svg +2 -2
  68. package/tests/repros/__snapshots__/repro-bq40z60-current-sense.snap.svg +2 -2
  69. package/tests/repros/__snapshots__/repro-cc2340r5.snap.svg +2 -2
  70. package/tests/repros/__snapshots__/repro-core-ground-inline-label-fallback.snap.svg +2 -2
  71. package/tests/repros/__snapshots__/repro-esp12f-section.snap.svg +508 -0
  72. package/tests/repros/__snapshots__/repro-example35-minimize-trace-crossing.snap.svg +2 -2
  73. package/tests/repros/__snapshots__/repro-hdc2080-ground-label-alignment.snap.svg +2 -2
  74. package/tests/repros/__snapshots__/repro-hdc3020-ground-label-alignment.snap.svg +2 -2
  75. package/tests/repros/__snapshots__/repro-hub-usb-sheet.snap.svg +2 -2
  76. package/tests/repros/__snapshots__/repro-ina237-current-monitor.snap.svg +2 -2
  77. package/tests/repros/__snapshots__/repro-isolated-rs485-isow7841.snap.svg +2 -2
  78. package/tests/repros/__snapshots__/repro-mspm0l1306-capacitor-symmetry.snap.svg +2 -2
  79. package/tests/repros/__snapshots__/repro-pga300-c6-trace-alignment.snap.svg +2 -2
  80. package/tests/repros/__snapshots__/repro-pga300-redundant-ground-traces.snap.svg +2 -2
  81. package/tests/repros/__snapshots__/repro-pmp11282-isolated-dcdc.snap.svg +18 -18
  82. package/tests/repros/__snapshots__/repro-power-group-rail-labels.snap.svg +2 -2
  83. package/tests/repros/__snapshots__/repro-powerbank-3v-system-power.snap.svg +2 -2
  84. package/tests/repros/__snapshots__/repro-rectifier-trace-overlap.snap.svg +2 -2
  85. package/tests/repros/__snapshots__/repro-rp2040-gamepad-trace-alignment.snap.svg +2 -2
  86. package/tests/repros/__snapshots__/repro-rp2040-usb-cc2-ground-overlap.snap.svg +2 -2
  87. package/tests/repros/__snapshots__/repro-smartwatch-power-sheet.snap.svg +2 -2
  88. package/tests/repros/__snapshots__/repro-ti-power-output-section.snap.svg +2 -2
  89. package/tests/repros/__snapshots__/repro-tida-01389-hbridge.snap.svg +2 -2
  90. package/tests/repros/__snapshots__/repro-tida00553-j4-cell-divider.snap.svg +2 -2
  91. package/tests/repros/__snapshots__/repro-tida010076-j4-ground-bus.snap.svg +2 -2
  92. package/tests/repros/__snapshots__/repro-tida010076-page02.snap.svg +2 -2
  93. package/tests/repros/__snapshots__/repro-tmp1075-ground-label-overlap.snap.svg +2 -2
  94. package/tests/repros/__snapshots__/repro-tps61222-trace-intersection.snap.svg +2 -2
  95. package/tests/repros/__snapshots__/repro-trellis-core-gnd-net-label-overlap.snap.svg +2 -2
  96. package/tests/repros/__snapshots__/repro-type-c-vbus-led-ground-label.snap.svg +2 -2
  97. package/tests/repros/__snapshots__/repro-usb-power-vbus-label-detour.snap.svg +2 -2
  98. package/tests/repros/__snapshots__/repro130-bq27441-fuel-gauge-trace-through-c1.snap.svg +2 -2
  99. package/tests/repros/__snapshots__/repro161-power-section-autolayout.snap.svg +2 -2
  100. package/tests/repros/__snapshots__/repro48-555-timer-vcc-rail-label.snap.svg +2 -2
  101. package/tests/repros/assets/repro-esp12f-status-section.input.json +1394 -0
  102. package/tests/repros/repro-esp12f-section.test.ts +12 -0
  103. package/tests/solvers/SameNetJunctionAlignmentSolver/collapse-redundant-shared-endpoint-stubs.test.ts +101 -0
@@ -1,6 +1,6 @@
1
1
  <svg width="1200" height="2016" viewBox="0 0 1200 2016" xmlns="http://www.w3.org/2000/svg" role="img" aria-label="Solver debug visualization on top and Circuit JSON schematic on the bottom">
2
2
  <g transform="translate(0, 0) scale(1.875, 1.875) translate(0, 0)">
3
- <rect width="100%" height="100%" fill="white"/><g><polyline data-points="-1.2000000000000002,0.30000000000000004 -3.79,0.39" data-type="line" data-label="" points="357.4007220216606,296.2454873646209 95.5956678700361,287.1480144404332" fill="none" stroke="hsl(136, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-1.2000000000000002,0.30000000000000004 -2.22,0.38000000000000006" data-type="line" data-label="" points="357.4007220216606,296.2454873646209 254.29602888086637,288.1588447653429" fill="none" stroke="hsl(136, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-3.79,-0.3899999999999999 -2.22,-0.37999999999999995" data-type="line" data-label="" points="95.5956678700361,365.9927797833935 254.29602888086637,364.9819494584837" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-2.22,0.3800000000000002 -2.22,0.5800000000000003 -3.79,0.5800000000000003 -3.79,0.39" data-type="line" data-label="" points="254.29602888086637,288.1588447653429 254.29602888086637,267.94223826714796 95.5956678700361,267.94223826714796 95.5956678700361,287.1480144404332" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-1.2000000000000002,0.3 -1.4125,0.3 -1.4125,0.5800000000000003 -2.22,0.5800000000000003 -2.22,0.38000000000000006" data-type="line" data-label="" points="357.4007220216606,296.24548736462094 335.9205776173285,296.24548736462094 335.9205776173285,267.94223826714796 254.29602888086637,267.94223826714796 254.29602888086637,288.1588447653429" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-3.79,-0.3899999999999999 -3.79,-0.5900000000000001 -2.22,-0.5900000000000001 -2.22,-0.3800000000000001" data-type="line" data-label="" points="95.5956678700361,365.9927797833935 95.5956678700361,386.2093862815884 254.29602888086637,386.2093862815884 254.29602888086637,364.98194945848377" fill="none" stroke="purple" stroke-width="1px"/></g><g><rect data-type="rect" data-label="schematic_component_0" data-x="-3.675" data-y="5.551115123125783e-17" x="40" y="287.1480144404332" width="134.44043321299637" height="78.84476534296027" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.009892857142857142"/></g><g><rect data-type="rect" data-label="schematic_component_1" data-x="-2.085" data-y="5.551115123125783e-17" x="221.44404332129963" y="288.1588447653429" width="92.99638989169677" height="76.8231046931408" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.009892857142857142"/></g><g><rect data-type="rect" data-label="schematic_component_2" data-x="0" data-y="0" x="357.4007220216606" y="276.028880866426" width="242.5992779783394" height="101.08303249097469" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.009892857142857142"/></g><g><rect data-type="rect" data-label="U1" data-x="-0.68" data-y="0.615" x="391.76895306859205" y="251.76895306859208" width="36.38989169675091" height="25.270758122743644" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.009892857142857142"/></g><g><rect data-type="rect" data-label="netId: GND
3
+ <rect width="100%" height="100%" fill="white"/><g><polyline data-points="-1.2000000000000002,0.30000000000000004 -3.79,0.39" data-type="line" data-label="" points="357.4007220216606,296.2454873646209 95.5956678700361,287.1480144404332" fill="none" stroke="hsl(136, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-1.2000000000000002,0.30000000000000004 -2.22,0.38000000000000006" data-type="line" data-label="" points="357.4007220216606,296.2454873646209 254.29602888086637,288.1588447653429" fill="none" stroke="hsl(136, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-3.79,-0.3899999999999999 -2.22,-0.37999999999999995" data-type="line" data-label="" points="95.5956678700361,365.9927797833935 254.29602888086637,364.9819494584837" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-2.22,0.3800000000000002 -2.22,0.5800000000000003 -3.79,0.5800000000000003 -3.79,0.39" data-type="line" data-label="" points="254.29602888086637,288.1588447653429 254.29602888086637,267.94223826714796 95.5956678700361,267.94223826714796 95.5956678700361,287.1480144404332" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-1.2000000000000002,0.3 -1.4125,0.3 -1.4125,0.5800000000000003 -2.22,0.5800000000000003" data-type="line" data-label="" points="357.4007220216606,296.24548736462094 335.9205776173285,296.24548736462094 335.9205776173285,267.94223826714796 254.29602888086637,267.94223826714796" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-3.79,-0.3899999999999999 -3.79,-0.5900000000000001 -2.22,-0.5900000000000001 -2.22,-0.3800000000000001" data-type="line" data-label="" points="95.5956678700361,365.9927797833935 95.5956678700361,386.2093862815884 254.29602888086637,386.2093862815884 254.29602888086637,364.98194945848377" fill="none" stroke="purple" stroke-width="1px"/></g><g><rect data-type="rect" data-label="schematic_component_0" data-x="-3.675" data-y="5.551115123125783e-17" x="40" y="287.1480144404332" width="134.44043321299637" height="78.84476534296027" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.009892857142857142"/></g><g><rect data-type="rect" data-label="schematic_component_1" data-x="-2.085" data-y="5.551115123125783e-17" x="221.44404332129963" y="288.1588447653429" width="92.99638989169677" height="76.8231046931408" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.009892857142857142"/></g><g><rect data-type="rect" data-label="schematic_component_2" data-x="0" data-y="0" x="357.4007220216606" y="276.028880866426" width="242.5992779783394" height="101.08303249097469" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.009892857142857142"/></g><g><rect data-type="rect" data-label="U1" data-x="-0.68" data-y="0.615" x="391.76895306859205" y="251.76895306859208" width="36.38989169675091" height="25.270758122743644" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.009892857142857142"/></g><g><rect data-type="rect" data-label="netId: GND
4
4
  globalConnNetId: connectivity_net1" data-x="-3.79" data-y="-0.8" x="71.33574007220213" y="386.2093862815884" width="48.519855595667934" height="42.45487364620942" fill="#00000066" stroke="#000000" stroke-width="0.009892857142857142"/></g><g><rect data-type="rect" data-label="netId: .U1 &gt; .pin1 to .C2 &gt; .pin1
5
5
  globalConnNetId: connectivity_net0" data-x="-1.3062500000000001" data-y="0.72" x="336.55234657039705" y="211.33574007220213" width="20.216606498195006" height="84.90974729241879" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.009892857142857142"/></g><g><circle data-type="point" data-label="schematic_port_0
6
6
  y-" data-x="-3.79" data-y="-0.3899999999999999" cx="95.5956678700361" cy="365.9927797833935" r="3" fill="hsl(248, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_1
@@ -73,7 +73,7 @@ orientation: y+" data-x="-1.3062500000000001" data-y="0.3" cx="346.6606498194945
73
73
  .port-label { fill: rgb(0, 100, 100); }
74
74
  .component-name { fill: rgb(0, 100, 100); }
75
75
 
76
- </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 473.49397590351396 347.57831325300594 L 473.49397590351396 311.43373493974593 L 189.75903614442302 311.43373493974593 L 189.75903614442302 345.771084337343" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="28.915662650608002px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 473.49397590351396 347.57831325300594 L 473.49397590351396 311.43373493974593 L 189.75903614442302 311.43373493974593 L 189.75903614442302 345.771084337343" stroke="rgb(0, 150, 0)" fill="none" stroke-width="3.6144578313260003px" 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 657.8313253011399 362.03614457831 L 619.4277108433013 362.03614457831 L 619.4277108433013 311.43373493974593 L 473.49397590351396 311.43373493974593 L 473.49397590351396 347.57831325300594" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="28.915662650608002px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 657.8313253011399 362.03614457831 L 619.4277108433013 362.03614457831 L 619.4277108433013 311.43373493974593 L 473.49397590351396 311.43373493974593 L 473.49397590351396 347.57831325300594" stroke="rgb(0, 150, 0)" fill="none" stroke-width="3.6144578313260003px" 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 189.75903614442302 486.73493975905694 L 189.75903614442302 522.8795180723171 L 473.49397590351396 522.8795180723171 L 473.49397590351396 484.92771084339404" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="28.915662650608002px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 189.75903614442302 486.73493975905694 L 189.75903614442302 522.8795180723171 L 473.49397590351396 522.8795180723171 L 473.49397590351396 484.92771084339404" stroke="rgb(0, 150, 0)" fill="none" stroke-width="3.6144578313260003px" 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="473.49397590351396" cy="347.57831325300594" r="5.421686746989" class="trace-junction sch-trace-junction" fill="rgb(0, 150, 0)"/><circle cx="473.49397590351396" cy="311.43373493974593" r="5.421686746989" 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="sch-component" data-circuit-json-type="schematic_component" data-schematic-component-id="schematic_component_0__stack1"><rect class="component chip sch-component-body" x="90.36144578295796" y="407.21686746988496" width="240.36144578317908" height="18.072289156630006" stroke-width="3.6144578313260003px" fill="rgb(255, 255, 194)" stroke="rgb(132, 0, 0)"/><rect class="component-overlay sch-component-overlay" x="90.36144578295796" y="407.21686746988496" width="240.36144578317908" height="18.072289156630006" fill="transparent"/><line class="component-pin sch-component-pin sch-port-line" x1="189.75903614442302" y1="425.28915662651497" x2="189.75903614442302" y2="486.73493975905694" stroke-width="3.6144578313260003px"/><g class="sch-port" data-schematic-port-id="source_port_0_0__stack1"><rect x="186.144578313097" y="483.12048192773096" width="7.228915662652001" height="7.228915662652001" opacity="0"/></g><text class="pin-number sch-pin-number" x="186.14457831309699" y="456.012048192786" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="27.108433734945px" transform="rotate(-90 186.14457831309699 456.012048192786)"></text><line class="component-pin sch-component-pin sch-port-line" x1="189.75903614442302" y1="407.21686746988496" x2="189.75903614442302" y2="345.771084337343" stroke-width="3.6144578313260003px"/><g class="sch-port" data-schematic-port-id="source_port_0_1__stack1"><rect x="186.144578313097" y="342.156626506017" width="7.228915662652001" height="7.228915662652001" opacity="0"/></g><text class="pin-number sch-pin-number" x="186.14457831309699" y="376.493975903614" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="27.108433734945px" transform="rotate(-90 186.14457831309699 376.493975903614)"></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="414.7590361444665" y="407.21686746988496" width="166.2650602409961" height="18.072289156630006" stroke-width="3.6144578313260003px" fill="rgb(255, 255, 194)" stroke="rgb(132, 0, 0)"/><rect class="component-overlay sch-component-overlay" x="414.7590361444665" y="407.21686746988496" width="166.2650602409961" height="18.072289156630006" fill="transparent"/><line class="component-pin sch-component-pin sch-port-line" x1="473.49397590351396" y1="407.21686746988496" x2="473.49397590351396" y2="347.57831325300594" stroke-width="3.6144578313260003px"/><g class="sch-port" data-schematic-port-id="source_port_1_0__stack1"><rect x="469.879518072188" y="343.96385542167997" width="7.228915662652001" height="7.228915662652001" opacity="0"/></g><text class="pin-number sch-pin-number" x="469.879518072188" y="377.3975903614455" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="27.108433734945px" transform="rotate(-90 469.879518072188 377.3975903614455)"></text><line class="component-pin sch-component-pin sch-port-line" x1="473.49397590351396" y1="425.28915662651497" x2="473.49397590351396" y2="484.927710843394" stroke-width="3.6144578313260003px"/><g class="sch-port" data-schematic-port-id="source_port_1_1__stack1"><rect x="469.879518072188" y="481.313253012068" width="7.228915662652001" height="7.228915662652001" opacity="0"/></g><text class="pin-number sch-pin-number" x="469.879518072188" y="455.1084337349545" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="27.108433734945px" transform="rotate(-90 469.879518072188 455.1084337349545)"></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="730.12048192766" y="325.89156626504996" width="289.1566265060801" height="180.72289156630006" stroke-width="3.6144578313260003px" fill="rgb(255, 255, 194)" stroke="rgb(132, 0, 0)"/><rect class="component-overlay sch-component-overlay" x="730.12048192766" y="325.89156626504996" width="289.1566265060801" height="180.72289156630006" fill="transparent"/><line class="component-pin sch-component-pin sch-port-line" x1="730.12048192766" y1="362.03614457831" x2="657.8313253011399" y2="362.03614457831" stroke-width="3.6144578313260003px"/><g class="sch-port" data-schematic-port-id="source_port_2_0__stack1"><rect x="654.2168674698139" y="358.421686746984" width="7.228915662652001" height="7.228915662652001" opacity="0"/></g><text class="pin-number sch-pin-number" x="693.9759036144" y="358.421686746984" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="27.108433734945px" transform=""></text><line class="component-pin sch-component-pin sch-port-line" x1="730.12048192766" y1="398.18072289157" x2="661.445783132466" y2="398.18072289157" stroke-width="3.6144578313260003px"/><g class="sch-port" data-schematic-port-id="source_port_2_1__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="657.8313253011399" cy="398.18072289157" r="3.6144578313260003" stroke-width="3.6144578313260003px"/><rect x="654.2168674698139" y="394.566265060244" width="7.228915662652001" height="7.228915662652001" opacity="0"/></g><text class="pin-number sch-pin-number" x="693.9759036144" y="394.566265060244" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="27.108433734945px" transform=""></text><line class="component-pin sch-component-pin sch-port-line" x1="730.12048192766" y1="434.32530120483" x2="661.445783132466" y2="434.32530120483" stroke-width="3.6144578313260003px"/><g class="sch-port" data-schematic-port-id="source_port_2_2__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="657.8313253011399" cy="434.32530120483" r="3.6144578313260003" stroke-width="3.6144578313260003px"/><rect x="654.2168674698139" y="430.710843373504" width="7.228915662652001" height="7.228915662652001" opacity="0"/></g><text class="pin-number sch-pin-number" x="693.9759036144" y="430.71084337350396" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="27.108433734945px" transform=""></text><line class="component-pin sch-component-pin sch-port-line" x1="730.12048192766" y1="470.46987951809" x2="661.445783132466" y2="470.46987951809" stroke-width="3.6144578313260003px"/><g class="sch-port" data-schematic-port-id="source_port_2_3__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="657.8313253011399" cy="470.46987951809" r="3.6144578313260003" stroke-width="3.6144578313260003px"/><rect x="654.2168674698139" y="466.85542168676403" width="7.228915662652001" height="7.228915662652001" opacity="0"/></g><text class="pin-number sch-pin-number" x="693.9759036144" y="466.855421686764" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="27.108433734945px" transform=""></text><line class="component-pin sch-component-pin sch-port-line" x1="1019.2771084337401" y1="470.46987951809" x2="1087.951807228934" y2="470.46987951809" stroke-width="3.6144578313260003px"/><g class="sch-port" data-schematic-port-id="source_port_2_4__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="1091.56626506026" cy="470.46987951809" r="3.6144578313260003" stroke-width="3.6144578313260003px"/><rect x="1087.951807228934" y="466.85542168676403" width="7.228915662652001" height="7.228915662652001" opacity="0"/></g><text class="pin-number sch-pin-number" x="1055.421686747" y="466.855421686764" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="27.108433734945px" transform=""></text><line class="component-pin sch-component-pin sch-port-line" x1="1019.2771084337401" y1="434.32530120483" x2="1087.951807228934" y2="434.32530120483" stroke-width="3.6144578313260003px"/><g class="sch-port" data-schematic-port-id="source_port_2_5__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="1091.56626506026" cy="434.32530120483" r="3.6144578313260003" stroke-width="3.6144578313260003px"/><rect x="1087.951807228934" y="430.710843373504" width="7.228915662652001" height="7.228915662652001" opacity="0"/></g><text class="pin-number sch-pin-number" x="1055.421686747" y="430.710843373504" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="27.108433734945px" transform=""></text><line class="component-pin sch-component-pin sch-port-line" x1="1019.2771084337401" y1="398.18072289157" x2="1087.951807228934" y2="398.18072289157" stroke-width="3.6144578313260003px"/><g class="sch-port" data-schematic-port-id="source_port_2_6__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="1091.56626506026" cy="398.18072289157" r="3.6144578313260003" stroke-width="3.6144578313260003px"/><rect x="1087.951807228934" y="394.566265060244" width="7.228915662652001" height="7.228915662652001" opacity="0"/></g><text class="pin-number sch-pin-number" x="1055.421686747" y="394.566265060244" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="27.108433734945px" transform=""></text><line class="component-pin sch-component-pin sch-port-line" x1="1019.2771084337401" y1="362.03614457831" x2="1087.951807228934" y2="362.03614457831" stroke-width="3.6144578313260003px"/><g class="sch-port" data-schematic-port-id="source_port_2_7__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="1091.56626506026" cy="362.03614457831" r="3.6144578313260003" stroke-width="3.6144578313260003px"/><rect x="1087.951807228934" y="358.421686746984" width="7.228915662652001" height="7.228915662652001" opacity="0"/></g><text class="pin-number sch-pin-number" x="1055.421686747" y="358.421686746984" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="27.108433734945px" transform=""></text></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_0__stack1"><circle cx="189.75903614442302" cy="486.73493975905694" r="7.228915662652001" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_1__stack1"><circle cx="189.75903614442302" cy="345.771084337343" r="7.228915662652001" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_1_0__stack1"><circle cx="473.49397590351396" cy="347.57831325300594" r="7.228915662652001" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_1_1__stack1"><circle cx="473.49397590351396" cy="484.927710843394" r="7.228915662652001" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_2_0__stack1"><circle cx="657.8313253011399" cy="362.03614457831" r="7.228915662652001" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_2_1__stack1"><circle cx="657.8313253011399" cy="398.18072289157" r="7.228915662652001" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_2_2__stack1"><circle cx="657.8313253011399" cy="434.32530120483" r="7.228915662652001" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_2_3__stack1"><circle cx="657.8313253011399" cy="470.46987951809" r="7.228915662652001" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_2_4__stack1"><circle cx="1091.56626506026" cy="470.46987951809" r="7.228915662652001" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_2_5__stack1"><circle cx="1091.56626506026" cy="434.32530120483" r="7.228915662652001" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_2_6__stack1"><circle cx="1091.56626506026" cy="398.18072289157" r="7.228915662652001" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_2_7__stack1"><circle cx="1091.56626506026" cy="362.03614457831" r="7.228915662652001" fill="red" opacity="0"/></g><rect class="component-overlay sch-component-overlay sch-net-label-overlay" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_0__stack1" x="168.07228915646704" y="522.879518072317" width="43.37349397591197" height="32.53012048193409" fill="transparent"/><path class="sch-net-label-symbol-path" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_0__stack1" d="M 168.07228915646704 555.409638554251 L 211.445783132379 555.409638554251" stroke="rgb(132, 0, 0)" fill="none" stroke-width="3.6144578313260003px" stroke-linecap="round"/><path class="sch-net-label-symbol-path" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_0__stack1" d="M 189.75903614442302 555.409638554251 L 189.75903614442302 522.879518072317" stroke="rgb(132, 0, 0)" fill="none" stroke-width="3.6144578313260003px" stroke-linecap="round"/><text class="sch-net-label-symbol-text" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_0__stack1" x="189.75903614442302" y="564.445783132566" fill="rgb(15, 15, 15)" font-family="sans-serif" text-anchor="middle" dominant-baseline="hanging" font-size="32.530120481934px">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="
76
+ </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 473.49397590351396 347.57831325300594 L 473.49397590351396 311.43373493974593 L 189.75903614442302 311.43373493974593 L 189.75903614442302 345.771084337343" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="28.915662650608002px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 473.49397590351396 347.57831325300594 L 473.49397590351396 311.43373493974593 L 189.75903614442302 311.43373493974593 L 189.75903614442302 345.771084337343" stroke="rgb(0, 150, 0)" fill="none" stroke-width="3.6144578313260003px" 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 657.8313253011399 362.03614457831 L 619.4277108433013 362.03614457831 L 619.4277108433013 311.43373493974593 L 473.49397590351396 311.43373493974593" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="28.915662650608002px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 657.8313253011399 362.03614457831 L 619.4277108433013 362.03614457831 L 619.4277108433013 311.43373493974593 L 473.49397590351396 311.43373493974593" stroke="rgb(0, 150, 0)" fill="none" stroke-width="3.6144578313260003px" 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 189.75903614442302 486.73493975905694 L 189.75903614442302 522.8795180723171 L 473.49397590351396 522.8795180723171 L 473.49397590351396 484.92771084339404" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="28.915662650608002px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 189.75903614442302 486.73493975905694 L 189.75903614442302 522.8795180723171 L 473.49397590351396 522.8795180723171 L 473.49397590351396 484.92771084339404" stroke="rgb(0, 150, 0)" fill="none" stroke-width="3.6144578313260003px" 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="473.49397590351396" cy="311.43373493974593" r="5.421686746989" 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="sch-component" data-circuit-json-type="schematic_component" data-schematic-component-id="schematic_component_0__stack1"><rect class="component chip sch-component-body" x="90.36144578295796" y="407.21686746988496" width="240.36144578317908" height="18.072289156630006" stroke-width="3.6144578313260003px" fill="rgb(255, 255, 194)" stroke="rgb(132, 0, 0)"/><rect class="component-overlay sch-component-overlay" x="90.36144578295796" y="407.21686746988496" width="240.36144578317908" height="18.072289156630006" fill="transparent"/><line class="component-pin sch-component-pin sch-port-line" x1="189.75903614442302" y1="425.28915662651497" x2="189.75903614442302" y2="486.73493975905694" stroke-width="3.6144578313260003px"/><g class="sch-port" data-schematic-port-id="source_port_0_0__stack1"><rect x="186.144578313097" y="483.12048192773096" width="7.228915662652001" height="7.228915662652001" opacity="0"/></g><text class="pin-number sch-pin-number" x="186.14457831309699" y="456.012048192786" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="27.108433734945px" transform="rotate(-90 186.14457831309699 456.012048192786)"></text><line class="component-pin sch-component-pin sch-port-line" x1="189.75903614442302" y1="407.21686746988496" x2="189.75903614442302" y2="345.771084337343" stroke-width="3.6144578313260003px"/><g class="sch-port" data-schematic-port-id="source_port_0_1__stack1"><rect x="186.144578313097" y="342.156626506017" width="7.228915662652001" height="7.228915662652001" opacity="0"/></g><text class="pin-number sch-pin-number" x="186.14457831309699" y="376.493975903614" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="27.108433734945px" transform="rotate(-90 186.14457831309699 376.493975903614)"></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="414.7590361444665" y="407.21686746988496" width="166.2650602409961" height="18.072289156630006" stroke-width="3.6144578313260003px" fill="rgb(255, 255, 194)" stroke="rgb(132, 0, 0)"/><rect class="component-overlay sch-component-overlay" x="414.7590361444665" y="407.21686746988496" width="166.2650602409961" height="18.072289156630006" fill="transparent"/><line class="component-pin sch-component-pin sch-port-line" x1="473.49397590351396" y1="407.21686746988496" x2="473.49397590351396" y2="347.57831325300594" stroke-width="3.6144578313260003px"/><g class="sch-port" data-schematic-port-id="source_port_1_0__stack1"><rect x="469.879518072188" y="343.96385542167997" width="7.228915662652001" height="7.228915662652001" opacity="0"/></g><text class="pin-number sch-pin-number" x="469.879518072188" y="377.3975903614455" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="27.108433734945px" transform="rotate(-90 469.879518072188 377.3975903614455)"></text><line class="component-pin sch-component-pin sch-port-line" x1="473.49397590351396" y1="425.28915662651497" x2="473.49397590351396" y2="484.927710843394" stroke-width="3.6144578313260003px"/><g class="sch-port" data-schematic-port-id="source_port_1_1__stack1"><rect x="469.879518072188" y="481.313253012068" width="7.228915662652001" height="7.228915662652001" opacity="0"/></g><text class="pin-number sch-pin-number" x="469.879518072188" y="455.1084337349545" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="27.108433734945px" transform="rotate(-90 469.879518072188 455.1084337349545)"></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="730.12048192766" y="325.89156626504996" width="289.1566265060801" height="180.72289156630006" stroke-width="3.6144578313260003px" fill="rgb(255, 255, 194)" stroke="rgb(132, 0, 0)"/><rect class="component-overlay sch-component-overlay" x="730.12048192766" y="325.89156626504996" width="289.1566265060801" height="180.72289156630006" fill="transparent"/><line class="component-pin sch-component-pin sch-port-line" x1="730.12048192766" y1="362.03614457831" x2="657.8313253011399" y2="362.03614457831" stroke-width="3.6144578313260003px"/><g class="sch-port" data-schematic-port-id="source_port_2_0__stack1"><rect x="654.2168674698139" y="358.421686746984" width="7.228915662652001" height="7.228915662652001" opacity="0"/></g><text class="pin-number sch-pin-number" x="693.9759036144" y="358.421686746984" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="27.108433734945px" transform=""></text><line class="component-pin sch-component-pin sch-port-line" x1="730.12048192766" y1="398.18072289157" x2="661.445783132466" y2="398.18072289157" stroke-width="3.6144578313260003px"/><g class="sch-port" data-schematic-port-id="source_port_2_1__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="657.8313253011399" cy="398.18072289157" r="3.6144578313260003" stroke-width="3.6144578313260003px"/><rect x="654.2168674698139" y="394.566265060244" width="7.228915662652001" height="7.228915662652001" opacity="0"/></g><text class="pin-number sch-pin-number" x="693.9759036144" y="394.566265060244" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="27.108433734945px" transform=""></text><line class="component-pin sch-component-pin sch-port-line" x1="730.12048192766" y1="434.32530120483" x2="661.445783132466" y2="434.32530120483" stroke-width="3.6144578313260003px"/><g class="sch-port" data-schematic-port-id="source_port_2_2__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="657.8313253011399" cy="434.32530120483" r="3.6144578313260003" stroke-width="3.6144578313260003px"/><rect x="654.2168674698139" y="430.710843373504" width="7.228915662652001" height="7.228915662652001" opacity="0"/></g><text class="pin-number sch-pin-number" x="693.9759036144" y="430.71084337350396" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="27.108433734945px" transform=""></text><line class="component-pin sch-component-pin sch-port-line" x1="730.12048192766" y1="470.46987951809" x2="661.445783132466" y2="470.46987951809" stroke-width="3.6144578313260003px"/><g class="sch-port" data-schematic-port-id="source_port_2_3__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="657.8313253011399" cy="470.46987951809" r="3.6144578313260003" stroke-width="3.6144578313260003px"/><rect x="654.2168674698139" y="466.85542168676403" width="7.228915662652001" height="7.228915662652001" opacity="0"/></g><text class="pin-number sch-pin-number" x="693.9759036144" y="466.855421686764" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="27.108433734945px" transform=""></text><line class="component-pin sch-component-pin sch-port-line" x1="1019.2771084337401" y1="470.46987951809" x2="1087.951807228934" y2="470.46987951809" stroke-width="3.6144578313260003px"/><g class="sch-port" data-schematic-port-id="source_port_2_4__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="1091.56626506026" cy="470.46987951809" r="3.6144578313260003" stroke-width="3.6144578313260003px"/><rect x="1087.951807228934" y="466.85542168676403" width="7.228915662652001" height="7.228915662652001" opacity="0"/></g><text class="pin-number sch-pin-number" x="1055.421686747" y="466.855421686764" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="27.108433734945px" transform=""></text><line class="component-pin sch-component-pin sch-port-line" x1="1019.2771084337401" y1="434.32530120483" x2="1087.951807228934" y2="434.32530120483" stroke-width="3.6144578313260003px"/><g class="sch-port" data-schematic-port-id="source_port_2_5__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="1091.56626506026" cy="434.32530120483" r="3.6144578313260003" stroke-width="3.6144578313260003px"/><rect x="1087.951807228934" y="430.710843373504" width="7.228915662652001" height="7.228915662652001" opacity="0"/></g><text class="pin-number sch-pin-number" x="1055.421686747" y="430.710843373504" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="27.108433734945px" transform=""></text><line class="component-pin sch-component-pin sch-port-line" x1="1019.2771084337401" y1="398.18072289157" x2="1087.951807228934" y2="398.18072289157" stroke-width="3.6144578313260003px"/><g class="sch-port" data-schematic-port-id="source_port_2_6__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="1091.56626506026" cy="398.18072289157" r="3.6144578313260003" stroke-width="3.6144578313260003px"/><rect x="1087.951807228934" y="394.566265060244" width="7.228915662652001" height="7.228915662652001" opacity="0"/></g><text class="pin-number sch-pin-number" x="1055.421686747" y="394.566265060244" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="27.108433734945px" transform=""></text><line class="component-pin sch-component-pin sch-port-line" x1="1019.2771084337401" y1="362.03614457831" x2="1087.951807228934" y2="362.03614457831" stroke-width="3.6144578313260003px"/><g class="sch-port" data-schematic-port-id="source_port_2_7__stack1"><circle class="component-pin sch-component-pin sch-port-terminal" cx="1091.56626506026" cy="362.03614457831" r="3.6144578313260003" stroke-width="3.6144578313260003px"/><rect x="1087.951807228934" y="358.421686746984" width="7.228915662652001" height="7.228915662652001" opacity="0"/></g><text class="pin-number sch-pin-number" x="1055.421686747" y="358.421686746984" style="font-family: sans-serif;" fill="rgb(169, 0, 0)" text-anchor="middle" dominant-baseline="auto" font-size="27.108433734945px" transform=""></text></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_0__stack1"><circle cx="189.75903614442302" cy="486.73493975905694" r="7.228915662652001" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_1__stack1"><circle cx="189.75903614442302" cy="345.771084337343" r="7.228915662652001" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_1_0__stack1"><circle cx="473.49397590351396" cy="347.57831325300594" r="7.228915662652001" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_1_1__stack1"><circle cx="473.49397590351396" cy="484.927710843394" r="7.228915662652001" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_2_0__stack1"><circle cx="657.8313253011399" cy="362.03614457831" r="7.228915662652001" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_2_1__stack1"><circle cx="657.8313253011399" cy="398.18072289157" r="7.228915662652001" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_2_2__stack1"><circle cx="657.8313253011399" cy="434.32530120483" r="7.228915662652001" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_2_3__stack1"><circle cx="657.8313253011399" cy="470.46987951809" r="7.228915662652001" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_2_4__stack1"><circle cx="1091.56626506026" cy="470.46987951809" r="7.228915662652001" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_2_5__stack1"><circle cx="1091.56626506026" cy="434.32530120483" r="7.228915662652001" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_2_6__stack1"><circle cx="1091.56626506026" cy="398.18072289157" r="7.228915662652001" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_2_7__stack1"><circle cx="1091.56626506026" cy="362.03614457831" r="7.228915662652001" fill="red" opacity="0"/></g><rect class="component-overlay sch-component-overlay sch-net-label-overlay" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_0__stack1" x="168.07228915646704" y="522.879518072317" width="43.37349397591197" height="32.53012048193409" fill="transparent"/><path class="sch-net-label-symbol-path" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_0__stack1" d="M 168.07228915646704 555.409638554251 L 211.445783132379 555.409638554251" stroke="rgb(132, 0, 0)" fill="none" stroke-width="3.6144578313260003px" stroke-linecap="round"/><path class="sch-net-label-symbol-path" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_0__stack1" d="M 189.75903614442302 555.409638554251 L 189.75903614442302 522.879518072317" stroke="rgb(132, 0, 0)" fill="none" stroke-width="3.6144578313260003px" stroke-linecap="round"/><text class="sch-net-label-symbol-text" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_0__stack1" x="189.75903614442302" y="564.445783132566" fill="rgb(15, 15, 15)" font-family="sans-serif" text-anchor="middle" dominant-baseline="hanging" font-size="32.530120481934px">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="
77
77
  M 638.6295180722207,362.03614457831
78
78
  L 620.5572289155907,352.2771084337298
79
79
  L 620.5572289155907,205.38554216864117