component
TMC2262
Public Made by Adomby adom
Analog Devices TMC2262 65 V, 4 A RMS smart stepper driver with step/dir, SPI and encoder input, 30-pin FC2QFN 6x6. KiCad, Fusion and Altium libraries, datasheet-built 3D model, every pin cited to the data sheet.
← Commit history
Heatsink vias on a 0.7 mm grid; variant stock flags (1/5)
19 files changed
+180−123
README.md+2−2altium/Adom_tmc2262.SchLibaltium/TMC2262AFV-PLUS.adom-lbr.json+18−18artwork/TMC2262AFV-PLUS-heatsink-via.json+20−20artwork/TMC2262AFV-PLUS-thumbs.json+2−2docs/models/tmc2262-hero.glb.pngmodels.json+3−3provenance/file-hashes.json+20−20provenance/footprint-vs-datasheet.json+2−2provenance/tmc2262-hero.json+1−1provenance/tools/build.py+39−8provenance/tools/footprints.py+1−1provenance/tools/pages_def.py+3−3tmc2262-hero.overlay.json+19−19tmc2262.kicad_mod+10−10tmc2262.lbr+10−10verification.json+3−3viewers/footprint.html+1−1viewers/symbol.html+26README.md+2−2@@ -146,7 +146,7 @@ No manufacturer 3D model was downloadable without a SamacSys or Ultra Librarian ## Footprint -From the ADI land pattern 90-100245 Rev B (package outline 21-100708 Rev A), pad for pad: ten 2.275 x 0.590 mm side bars, sixteen 0.300 x 0.725 mm pads, four L-shaped corner pads (pins 6, 15, 21 and 30, drawn as KiCad custom pads with the drawing's R0.150 corner) and the 1.450 x 4.050 mm exposed pad, all inside the 6.600 mm land-pattern extent. The data sheet asks for as many exposed-pad vias as possible; the footprint carries the Adom heatsink rule (10 x 0.3 mm on 0.8 mm pitch, tented). The paste on the exposed pad is split into four 1.15 x 0.85 mm windows (66 %); ADI gives no stencil, so that is usual practice, not an ADI figure.+From the ADI land pattern 90-100245 Rev B (package outline 21-100708 Rev A), pad for pad: ten 2.275 x 0.590 mm side bars, sixteen 0.300 x 0.725 mm pads, four L-shaped corner pads (pins 6, 15, 21 and 30, drawn as KiCad custom pads with the drawing's R0.150 corner) and the 1.450 x 4.050 mm exposed pad, all inside the 6.600 mm land-pattern extent. The data sheet asks for as many exposed-pad vias as possible; the footprint carries the Adom heatsink rule (10 x 0.3 mm on a 0.7 mm grid, tented: the pitch that fits two columns on the 1.45 mm pad). The paste on the exposed pad is split into four 1.15 x 0.85 mm windows (66 %); ADI gives no stencil, so that is usual practice, not an ADI figure.  @@ -156,7 +156,7 @@ Grey: the solderable faces of every terminal, read straight from the STEP. Teal ## Thermal pad -The exposed die pad is GND for the power stage and internal circuitry; the data sheet asks for as many vias to the GND plane as possible (Pin Descriptions, page 16). The array shown is the Adom heatsink-via rule (0.3 mm drill, 0.8 mm pitch, tented), not an ADI figure; theta-JA 23 C/W assumes a four-layer board (page 15).+The exposed die pad is GND for the power stage and internal circuitry; the data sheet asks for as many vias to the GND plane as possible (Pin Descriptions, page 16). The array shown follows the Adom heatsink-via rule (0.3 mm drill, tented) on a 0.7 mm grid so two columns fit the 1.45 mm pad; it is not an ADI figure; theta-JA 23 C/W assumes a four-layer board (page 15). ::adom-heatsink-via{src="/adom/tmc2262/render/artwork/TMC2262AFV-PLUS-heatsink-via.json"}
altium/Adom_tmc2262.SchLib⋯ 1 unchanged line ⋯
altium/TMC2262AFV-PLUS.adom-lbr.json+18−18@@ -3732,8 +3732,8 @@ }, { "number": "EP",- "x_mm": -0.4,- "y_mm": -1.6,+ "x_mm": -0.35,+ "y_mm": -1.4, "w_mm": 0.6, "h_mm": 0.6, "drill_mm": 0.3,@@ -3743,8 +3743,8 @@ }, { "number": "EP",- "x_mm": 0.4,- "y_mm": -1.6,+ "x_mm": 0.35,+ "y_mm": -1.4, "w_mm": 0.6, "h_mm": 0.6, "drill_mm": 0.3,@@ -3754,8 +3754,8 @@ }, { "number": "EP",- "x_mm": -0.4,- "y_mm": -0.8,+ "x_mm": -0.35,+ "y_mm": -0.7, "w_mm": 0.6, "h_mm": 0.6, "drill_mm": 0.3,@@ -3765,8 +3765,8 @@ }, { "number": "EP",- "x_mm": 0.4,- "y_mm": -0.8,+ "x_mm": 0.35,+ "y_mm": -0.7, "w_mm": 0.6, "h_mm": 0.6, "drill_mm": 0.3,@@ -3776,7 +3776,7 @@ }, { "number": "EP",- "x_mm": -0.4,+ "x_mm": -0.35, "y_mm": 0.0, "w_mm": 0.6, "h_mm": 0.6,@@ -3787,7 +3787,7 @@ }, { "number": "EP",- "x_mm": 0.4,+ "x_mm": 0.35, "y_mm": 0.0, "w_mm": 0.6, "h_mm": 0.6,@@ -3798,8 +3798,8 @@ }, { "number": "EP",- "x_mm": -0.4,- "y_mm": 0.8,+ "x_mm": -0.35,+ "y_mm": 0.7, "w_mm": 0.6, "h_mm": 0.6, "drill_mm": 0.3,@@ -3809,8 +3809,8 @@ }, { "number": "EP",- "x_mm": 0.4,- "y_mm": 0.8,+ "x_mm": 0.35,+ "y_mm": 0.7, "w_mm": 0.6, "h_mm": 0.6, "drill_mm": 0.3,@@ -3820,8 +3820,8 @@ }, { "number": "EP",- "x_mm": -0.4,- "y_mm": 1.6,+ "x_mm": -0.35,+ "y_mm": 1.4, "w_mm": 0.6, "h_mm": 0.6, "drill_mm": 0.3,@@ -3831,8 +3831,8 @@ }, { "number": "EP",- "x_mm": 0.4,- "y_mm": 1.6,+ "x_mm": 0.35,+ "y_mm": 1.4, "w_mm": 0.6, "h_mm": 0.6, "drill_mm": 0.3,
artwork/TMC2262AFV-PLUS-heatsink-via.json+20−20@@ -9,68 +9,68 @@ }, "via": { "drill_mm": 0.3,- "pitch_mm": 0.8,+ "pitch_mm": 0.7, "ring_mm": 0.15, "tented": true, "count": 10, "positions": [ {- "x_mm": -0.4,- "y_mm": 1.6,+ "x_mm": -0.35,+ "y_mm": 1.4, "dia_mm": 0.6, "drill_mm": 0.3 }, {- "x_mm": 0.4,- "y_mm": 1.6,+ "x_mm": 0.35,+ "y_mm": 1.4, "dia_mm": 0.6, "drill_mm": 0.3 }, {- "x_mm": -0.4,- "y_mm": 0.8,+ "x_mm": -0.35,+ "y_mm": 0.7, "dia_mm": 0.6, "drill_mm": 0.3 }, {- "x_mm": 0.4,- "y_mm": 0.8,+ "x_mm": 0.35,+ "y_mm": 0.7, "dia_mm": 0.6, "drill_mm": 0.3 }, {- "x_mm": -0.4,+ "x_mm": -0.35, "y_mm": 0.0, "dia_mm": 0.6, "drill_mm": 0.3 }, {- "x_mm": 0.4,+ "x_mm": 0.35, "y_mm": 0.0, "dia_mm": 0.6, "drill_mm": 0.3 }, {- "x_mm": -0.4,- "y_mm": -0.8,+ "x_mm": -0.35,+ "y_mm": -0.7, "dia_mm": 0.6, "drill_mm": 0.3 }, {- "x_mm": 0.4,- "y_mm": -0.8,+ "x_mm": 0.35,+ "y_mm": -0.7, "dia_mm": 0.6, "drill_mm": 0.3 }, {- "x_mm": -0.4,- "y_mm": -1.6,+ "x_mm": -0.35,+ "y_mm": -1.4, "dia_mm": 0.6, "drill_mm": 0.3 }, {- "x_mm": 0.4,- "y_mm": -1.6,+ "x_mm": 0.35,+ "y_mm": -1.4, "dia_mm": 0.6, "drill_mm": 0.3 }@@ -83,5 +83,5 @@ "alpha": 0.35 } },- "note": "The exposed die pad is GND for the power stage and internal circuitry; the data sheet asks for as many vias to the GND plane as possible (Pin Descriptions, page 16). The array shown is the Adom heatsink-via rule (0.3 mm drill, 0.8 mm pitch, tented), not an ADI figure; theta-JA 23 C/W assumes a four-layer board (page 15)."+ "note": "The exposed die pad is GND for the power stage and internal circuitry; the data sheet asks for as many vias to the GND plane as possible (Pin Descriptions, page 16). The array shown follows the Adom heatsink-via rule (0.3 mm drill, tented) on a 0.7 mm grid so two columns fit the 1.45 mm pad; it is not an ADI figure; theta-JA 23 C/W assumes a four-layer board (page 15)." }
artwork/TMC2262AFV-PLUS-thumbs.json+2−2@@ -2,7 +2,7 @@ "schema": "adom/chip-artwork-cache@1", "mpn": "TMC2262AFV+", "generatedBy": "adom-chip-thumbnailer 1.2.1 (OCCT HLR and mark planner via service-step2glb) on the datasheet-built STEP (tools/build_models.py)",- "generatedAtIso": "2026-10-13T15:21:27Z",+ "generatedAtIso": "2026-10-13T15:24:23Z", "cacheKey": "5c60d0667be4c6e3fedd49a5cf908ab6fef2dc71ed52247b1f6023eb5aabfea8", "recipe": { "schema": "adom/chip-artwork-cache@1",@@ -255,7 +255,7 @@ ], "verification": { "status": "matched-at-publication",- "checkedAtIso": "2026-10-13T15:21:27Z",+ "checkedAtIso": "2026-10-13T15:24:23Z", "checks": [ "datasheet-built STEP hash", "etched STEP hash",
docs/models/tmc2262-hero.glb.png⋯ 1 unchanged line ⋯
models.json+3−3@@ -70,9 +70,9 @@ "surface": "top", "colour": "light grey inlay" },- "sha256": "408be1214dd8882564e2725f96b04abe43cf5adc5c2a141b4f4d8013052ab1e0",- "git_blob": "33c56212ae4a842dd3e7994bcdbbc40fe38cc187",- "bytes": 495548,+ "sha256": "3ee7e84a01cd137fe11aa2f15f51e2b178fb21d6dcfa33d3fd61183333e3fb05",+ "git_blob": "98bc029c0e61908d1f4722d3f75a0796a3ab75a3",+ "bytes": 495552, "role": "derived", "colours": true, "derived_from": "tmc2262-etched.glb",
provenance/file-hashes.json+20−20@@ -3,10 +3,10 @@ "note": "sha256 of every file at publication", "files": { "LICENSE": "266935df734b3de7f783fed72cac0428e5eefb1df4957828668bcd0a6520317b",- "README.md": "516f82a00a3aad7529d4b247528cb75bf39c34e75068735e63798ee3d428ddcf",- "altium/Adom_tmc2262.PcbLib": "c0b6063e313830aff5ada9b828d8363a8d573a343439b5eef9f3c36ec878d58e",- "altium/Adom_tmc2262.SchLib": "d39fef6d5287807a3faa33f14dd75b1ab18998478b8b97f4a197b4cdd32ea5ff",- "altium/TMC2262AFV-PLUS.adom-lbr.json": "eebb6e3ffc9faa08cbd5a251c20b4dc37eecd449fbb676d961706d4ca3b982e9",+ "README.md": "184edcfd600e59ae90dbb909efd5efa51adf1c9d89e0aa05c8d25052f9a833c2",+ "altium/Adom_tmc2262.PcbLib": "548d3edbd02263c8a4f8e359b39815264ef2bba4209b8faa616db94b0bc3d23d",+ "altium/Adom_tmc2262.SchLib": "d4e0179d75bca5f6de7c223555a8dd0df8cf3d756817ed4c4b45c542d00b2933",+ "altium/TMC2262AFV-PLUS.adom-lbr.json": "b38e6ef40802405d734421517c22a880e93d264dff2defc35564f26d0be5af21", "artwork/TMC2262AFV-PLUS-3d-iso.png": "aed8b2fa1488b70a30a36410875524c5c768b136bc2a03723bf1f52d80f327b7", "artwork/TMC2262AFV-PLUS-3d-outline-blueprint-named.svg": "18abef686c68563f87841c650001a1cdf27ea82d86fcd67c07c4bc3658a6a64a", "artwork/TMC2262AFV-PLUS-3d-outline-bold-named.svg": "50802eb7e62ed5ea814bb36a1b0636c6ca94ac19d10317051672a2305417e839",@@ -22,8 +22,8 @@ "artwork/TMC2262AFV-PLUS-3d-outline-xray-named.svg": "e3eef1cb5596e7054e38b4c7b8de026cab077546d6bf28cb2c5f928717b0ca97", "artwork/TMC2262AFV-PLUS-chip-outline-preview.png": "4a9ab61bae6ad8a241685cdaf84861fc326c190484e1a693566cba21aba63bba", "artwork/TMC2262AFV-PLUS-etched.check.png": "fe0ffbc4fb6596ecf67caa38ffd4a8c30e7c2387551be2bc8bdb751d327baed6",- "artwork/TMC2262AFV-PLUS-heatsink-via.json": "77324657fdd7ccc14d305e9a24d157bf19bce96b62b27204578c336f98219781",- "artwork/TMC2262AFV-PLUS-thumbs.json": "924c07b57f890b988d40b51b79ebce5e8795dd60cd8c5ff0431f7f75f3cb8a01",+ "artwork/TMC2262AFV-PLUS-heatsink-via.json": "59054b6e6f284ffbc2a514948bb7fd852cf454926f13281ef3ccf6c5f1740f64",+ "artwork/TMC2262AFV-PLUS-thumbs.json": "7b058f61cf6d5356c32528197a56d3e8ab815586df3b8d58d8f058c8524f0789", "artwork/TMC2262AFV-PLUS.mark-plan.json": "500c37092f6b64f519a61f5ecbc006a0b95c8c567afef272f85ef8d5b8ce7351", "docs/21-100708a.pdf": "e48679c97d4d68cf34c80119f2da33a982f95e7de529ad39b9daedc3bf1815f1", "docs/90-100245b.pdf": "939e53c5f2d33cabfa7865cc1c848fb45f4bd9f9f2e373b19730281e8e0ee794",@@ -43,35 +43,35 @@ "docs/models/tmc2262-etched.glb.png": "50a09ce2a5ddadf87292d63ea8d0dce6d34ca33b63030fa7f7ea141f1b6b87ad", "docs/models/tmc2262-etched.step.bottom.png": "97104d0b4d074963184827de27b6521e3a13dd412e79c229baf9562ad988f7b1", "docs/models/tmc2262-etched.step.top.png": "50a09ce2a5ddadf87292d63ea8d0dce6d34ca33b63030fa7f7ea141f1b6b87ad",- "docs/models/tmc2262-hero.glb.png": "d3d76094a2059ff1cfe4eb9be4b6f1a5ff62e51db8cad8e2beac3d618a80607b",+ "docs/models/tmc2262-hero.glb.png": "59cbb27f4f27ea7955330c6806e6052915b1c0b451c0850848eba5149a82db7b", "docs/models/tmc2262.glb.png": "12c501bc820b997559e9131125369b4690e1daf27e59d19d8e368ce7ac247c8f", "docs/models/tmc2262.step.bottom.png": "f14adc53912f976391f640af76360c49b08b25307734233d5c936bfe498c637e", "docs/models/tmc2262.step.top.png": "12c501bc820b997559e9131125369b4690e1daf27e59d19d8e368ce7ac247c8f", "docs/tmc2262-datasheet.pdf": "b1a54923f542235e80baf4f65bc4f9682369af3107ac6f3a3b55785eaff6e292",- "models.json": "de59df540af1d9d8c6e0a48c2603b12a811cc9961f7252c39e1fbf3688912d77",+ "models.json": "e17f894792459f89f2585c0f18da338ddd0946ab4b815951aa585df4867f0a16", "provenance/eda-lanes.json": "d282e9b756a1042b3d0323ae5f66ab7e9c457b9ba611c17baf938a3643e124f1",- "provenance/footprint-vs-datasheet.json": "03ed754c3e36dc72d83f84cafbe47ec34f918b141cb3c219e0a7db69568bb7c0",+ "provenance/footprint-vs-datasheet.json": "ac0c97a3d923feae1556947b1cf516491f31fe8c5409b3445b9e3962d4c3faeb", "provenance/tmc2262-etched.step.json": "03d6665b25c57e6501c0d98d963b16a3813789e88c71d4f9e599844cb7346465",- "provenance/tmc2262-hero.json": "16a50cd7d54de22c83697928fadb943e9865399a0a1e7241e89003e4dc66cd41",+ "provenance/tmc2262-hero.json": "60af16d203017278284d79111fd1105ccdd053b67d2288f6d16d2a5045e397ef", "provenance/tmc2262.step.json": "b51f5425940bac6be241d4d09c2c68fe0a87bb4b7b67ea936e82c0e20b1a7a2b",- "provenance/tools/build.py": "d9d20252801f4bfa8bf839094ef58a2fcc2449625273c883cf4131ff43da286b",+ "provenance/tools/build.py": "a5a7047d1e18c96a72eda5efb29e28b693ffe662e6bacb81eb178efc995a24d1", "provenance/tools/build_models.py": "4a90b8c04a3a448ea1efa1c7568ef656c30176b9f986e596ab16fbb146dc8d2a",- "provenance/tools/footprints.py": "f782b72f075f1f245e19b5444a00a38adf185a14ca73e50a4c9c88c356eb0d84",+ "provenance/tools/footprints.py": "05541e4d994e33a568ed343a9796f63b32a3f2fad2c8121f71ef6fa749163de8", "provenance/tools/hero_card.py": "fc49eddf785e6df0356abfecdba4ccf654fb20cb6546e6bebd09ac9b2e58c466", "provenance/tools/hero_post_vias.py": "711e75c07ddd55279e4914a59cc80431346221d9d6ad5ae0cf6047eee955a452",- "provenance/tools/pages_def.py": "e8c5cfdddbe0ba84bfcc4aa6befbfd33b43b577109af172d49f07f303d21c21c",+ "provenance/tools/pages_def.py": "f65b46d6b44bf58a7c59194e679ba671685ca5c4b49b34cc771dc87b11f3eae5", "provenance/tools/proof.py": "f19a0c34cf390b9b1d191553196a15ff8b8fc1853b9a2260abbc24a242fb9e71", "tmc2262-etched.glb": "bad0ebfbcd72a3aff9397c275b6581b1b0381806cf862c18045fb3a829b740ca", "tmc2262-etched.step": "13f68ecc3060977c10f3deab78279d4a9136bdc7f43af2f79e1d9a58a54b12c1",- "tmc2262-hero.glb": "408be1214dd8882564e2725f96b04abe43cf5adc5c2a141b4f4d8013052ab1e0",- "tmc2262-hero.overlay.json": "908338964b3616f22d9867a603b00641fd6b0f4d0c4f381e57adb28ea90e7567",+ "tmc2262-hero.glb": "3ee7e84a01cd137fe11aa2f15f51e2b178fb21d6dcfa33d3fd61183333e3fb05",+ "tmc2262-hero.overlay.json": "ebbae31faa5233852e71c582d784d4f5ed35f2ac54578762e0e44a966df1d781", "tmc2262.glb": "fbfcf8d0b483341e9025226febd8e72e7548cf8d57032a20ce6ede30c1754d4b",- "tmc2262.kicad_mod": "b8a2473b9573c39f8403783d71ca91a0b5d131273e36186d77b9d049b0ef627c",+ "tmc2262.kicad_mod": "7f2092d2d255f4d44836f1aee103dcc3c374aee713d89120d939d9ce41613380", "tmc2262.kicad_sym": "754d3d21670be758514e2dd99d2543007157fb0919cf575903f54ceee9c257c9",- "tmc2262.lbr": "4005696bb6ca46942e6ce3631ef8396b33dee565e069b717403f42145fadef95",+ "tmc2262.lbr": "d4c5af6006e0584943f2c5289e00db00ba8808279bf7d9fe4ceffbcc996818e6", "tmc2262.step": "c70312798cd0f3d8ec47b4b9b363474e91a25df575679f08e359fcd668aab16f",- "verification.json": "8a7b7888f35e186605303c7fa0db013053fb8a60d54c9fc420658c3c246e6cad",- "viewers/footprint.html": "d85805e9b9debf077f9ce66a489b78d8a85a3db7df04e5c7bc23416c12822ac3",- "viewers/symbol.html": "975d74d828d108805349471946cb05797b8163cb5f8f0898845729c88b71be97"+ "verification.json": "004040333ab8f2ae300b26f91b903dcd272e9eb7dd1470766aa65589bfd3a1c4",+ "viewers/footprint.html": "68083e7ea2f6ba7dfb3334e9bdb27396d068e4cd6fa8a231241228b6c5caaa36",+ "viewers/symbol.html": "bd811a70a857c70f330065def46cb89a823a7849b2a1ad59176fcf6d1872ba2d" } }
provenance/footprint-vs-datasheet.json+2−2@@ -1,7 +1,7 @@ { "part": "TMC2262AFV+", "footprint": "tmc2262.kicad_mod",- "footprint_sha256": "b8a2473b9573c39f8403783d71ca91a0b5d131273e36186d77b9d049b0ef627c",+ "footprint_sha256": "7f2092d2d255f4d44836f1aee103dcc3c374aee713d89120d939d9ce41613380", "source": "90-100245 Rev B: extent 6.600, bars 2.275 x 0.590 on 0.875/0.855/0.855/0.875 from 1.570 above the bottom edge, small pads 0.300 x 0.725 at 0.500 pitch (1.400 from the edge, 0.800 across the centre), corner L 0.450 legs (0.550 / 0.525 offsets, R0.150), exposed pad 1.450 x 4.050", "frame": "KiCad, top view, mm, Y down", "all_match": true,@@ -498,6 +498,6 @@ "not_from_the_drawing": [ "paste windows on the exposed pad (usual practice; the drawing gives no stencil)", "silkscreen, courtyard and fab outline",- "heatsink vias (Adom rule 0.3 / 0.8 mm; the data sheet asks for as many as possible)"+ "heatsink vias (Adom rule, 0.3 mm drill on a 0.7 mm grid; the data sheet asks for as many as possible)" ] }
provenance/tmc2262-hero.json+1−1@@ -1,6 +1,6 @@ { "file": "tmc2262-hero.glb",- "sha256": "408be1214dd8882564e2725f96b04abe43cf5adc5c2a141b4f4d8013052ab1e0",+ "sha256": "3ee7e84a01cd137fe11aa2f15f51e2b178fb21d6dcfa33d3fd61183333e3fb05", "derived_from": "tmc2262-etched.glb", "tool": "component-hero scripts/hero_glb.py (adom-hero standard) + tools/hero_post_vias.py", "align": {
provenance/tools/build.py+39−8@@ -106,6 +106,10 @@ def page_json(d, extra_parts=None): hero=dict(type='image', path='docs/hero.png', headline=d['title'], subhead=d['hero_subhead'], screenshot='docs/hero.png', chrome=False), tags=d['tags'], discovery_triggers=d['triggers'], component=comp, visibility=dict(public=d['visibility_public']))+ pj['source'] = dict(tool=d['manufacturer_key'], url=d['product_url'])+ pj['eda_assets'] = dict(kicad=dict(symbol=s + '.kicad_sym', footprint=s + '.kicad_mod', model=s + '-etched.step', provenance='authored'),+ fusion=dict(lbr=s + '.lbr', provenance='authored'),+ altium=dict(schlib='altium/Adom_%s.SchLib' % s, pcblib='altium/Adom_%s.PcbLib' % s, provenance='authored')) if extra_parts: comp['parts'].update(extra_parts) return pj@@ -236,7 +240,7 @@ def stage_art(d): ep = d['ep'] hv = dict(mpn=d['mpn'], package=d['package_short'], ep=dict(w_mm=ep['w'], h_mm=ep['h'], number=ep['number'], name=ep['name']), via=dict(drill_mm=ep['drill'], pitch_mm=ep['pitch'], ring_mm=ep['ring'], tented=True, count=len(vias),- positions=[dict(x_mm=x, y_mm=-y, dia_mm=round(ep['drill'] + 2 * ep['ring'], 3), drill_mm=ep['drill']) for x, y in vias],+ positions=[dict(x_mm=x + 0.0, y_mm=-y + 0.0, dia_mm=round(ep['drill'] + 2 * ep['ring'], 3), drill_mm=ep['drill']) for x, y in vias], in_footprint='plated thru_hole pads numbered %s (KiCad pad_prop_heatsink); adom-lbr carries them to Altium and Fusion' % ep['number'], hero_glb=dict(layer='vias', node='Adom.HeatsinkVias', board_mm=1.6, alpha=0.35)), note=ep['note'])@@ -335,7 +339,7 @@ def stage_prov(d): rep = dict(part=d['mpn'], footprint=s + '.kicad_mod', footprint_sha256=sha(pdir(d, s + '.kicad_mod')), source=src, frame='KiCad, top view, mm, Y down', all_match=ok, lands=rows, not_from_the_drawing=['paste windows on the exposed pad (usual practice; the drawing gives no stencil)',- 'silkscreen, courtyard and fab outline'] + ([] if s == 'lan8770m' else ['heatsink vias (Adom rule 0.3 / 0.8 mm; the data sheet asks for as many as possible)']))+ 'silkscreen, courtyard and fab outline'] + ([] if s == 'lan8770m' else ['heatsink vias (Adom rule, 0.3 mm drill on a 0.7 mm grid; the data sheet asks for as many as possible)'])) json.dump(rep, open(pdir(d, 'provenance', 'footprint-vs-datasheet.json'), 'w'), indent=1) mp = json.load(open(os.path.join(H, 'build', 'models', 'models.provenance.json')))[d['lib_mpn'] + '.step'] json.dump(dict(file=s + '.step', sha256=sha(pdir(d, s + '.step')), **mp,@@ -424,7 +428,12 @@ def readme(d): s = d['slug']; A = art(d); ds = d['ds'] L = ['# %s' % d['title'], '', '**%s** · %s · %s' % (d['manufacturer'], d['one_liner'][0].upper() + d['one_liner'][1:], d['package_short']), '',- '::adom-verified{src="/%s/%s/render/verification.json"}' % (OWNER, s), '']+ ]+ live = d['visibility_public'] # the registered widgets fetch their JSON from a sandboxed frame without a session,+ if live: # so on a private page they would come up empty: show the same data statically there+ L += ['::adom-verified{src="/%s/%s/render/verification.json"}' % (OWNER, s), '']+ else:+ L += ['> **Verification: open.** Built from the manufacturer documents and checked automatically (every land matches the drawing, the hero aligns with the footprint, the Fusion library passes lint); not yet reviewed by a person. The log is `verification.json`.', ''] L += [x + '\n' for x in d['intro']] L += ['Order code **%s** (%s). Datasheet: [%s](%s) (local copy: `docs/%s-datasheet.pdf`). Product page: [%s](%s).' % (d['mpn'], d['ordering'][0][1].lower(), ds['title'] + ', ' + ds['rev'], ds['url'], s,@@ -475,7 +484,15 @@ def readme(d): '| `viewers/` | Self-contained interactive symbol and footprint viewers (adom-symbol embed, adom-footprint embed). |', '| `artwork/` | Chip-outline cache from adom-chip-thumbnailer (vector outlines with the part number, shaded iso, mark plan and legibility check); `%s-thumbs.json` is the manifest. |' % A, '| `provenance/` | How every file was made: model dimensions and source drawing, etch plan, hero build, the pad-by-pad footprint comparison, EDA-lane notes, file hashes and the build scripts. |', '']- L += ['## 3D models', '', d['model_note'], '', '::adom-models{src="/%s/%s/render/models.json"}' % (OWNER, s), '']+ L += ['## 3D models', '', d['model_note'], '']+ if live:+ L += ['::adom-models{src="/%s/%s/render/models.json"}' % (OWNER, s), '']+ else:+ mj = json.load(open(pdir(d, 'models.json')))+ L += ['| Preview | File | What it is | What makes it different |', '|---|---|---|---|']+ for m in mj['models']:+ L.append('| <img src="%s" width="96" alt="%s"> | `%s` | %s | %s |' % (m.get('thumb', ''), m['title'], m['path'], m['title'], m.get('unique', '')))+ L += ['', 'Every file is described in `models.json` (schema adom/models@1) with its hashes and what it was derived from.', ''] L += ['## Footprint', '', d['footprint_note'], '', '' % (d['title'], s), '', 'Grey: the solderable faces of every terminal, read straight from the STEP. Teal dashed: every copper land of the footprint. Each terminal sits inside its land with the toe and heel the drawing gives, and pad 1 and the exposed-pad chamfer are top left. The full pad-by-pad comparison against the drawing is `provenance/footprint-vs-datasheet.json` (all lands match).', '']@@ -483,8 +500,22 @@ def readme(d): L += ['**Fusion 360 and Altium:** adom-lbr 2.47.5 cannot carry KiCad custom pads or paste-only windows yet, so the `.lbr` and the PcbLib draw each L-shaped corner pad as its two legs (two overlapping pads with the same number: identical copper except the R0.150 inner corner) and put paste over the whole exposed pad. Trim the exposed-pad paste in your stencil. Details in `provenance/eda-lanes.json`.', ''] else: L += ['**Fusion 360 and Altium:** adom-lbr 2.47.5 cannot carry paste-only windows yet, so the `.lbr` and the PcbLib put paste over the whole exposed pad. Trim it in your stencil. Details in `provenance/eda-lanes.json`.', '']- L += ['## Thermal pad', '', d['ep']['note'], '', '::adom-heatsink-via{src="/%s/%s/render/artwork/%s-heatsink-via.json"}' % (OWNER, s, A), '']- L += ['## Chip outline cache', '', '::adom-chip-thumbnail{src="/%s/%s/render/artwork/%s-thumbs.json" mpn="%s" package="%s"}' % (OWNER, s, A, d['mpn'], d['package_short']), '']+ L += ['## Thermal pad', '', d['ep']['note'], '']+ if live:+ L += ['::adom-heatsink-via{src="/%s/%s/render/artwork/%s-heatsink-via.json"}' % (OWNER, s, A), '']+ else:+ hv = json.load(open(pdir(d, 'artwork', A + '-heatsink-via.json')))['via']+ L += ['| Exposed pad | Vias | Drill | Pad | Pitch | Positions (mm, top view) |', '|---|---|---|---|---|---|',+ '| %s x %s mm, pad %s | %d, tented | %s mm | %s mm | %s mm | %s |' % (d['ep']['w'], d['ep']['h'], d['ep']['number'], hv['count'], hv['drill_mm'],+ round(hv['drill_mm'] + 2 * hv['ring_mm'], 2), hv['pitch_mm'], ', '.join('(%g, %g)' % (q['x_mm'], q['y_mm']) for q in hv['positions'])), '',+ 'The vias are plated holes numbered like the exposed pad in the footprint, the Fusion and Altium libraries, and the `Adom.HeatsinkVias` layer of the hero (`artwork/%s-heatsink-via.json`).' % A, '']+ L += ['## Chip outline cache', '']+ if live:+ L += ['::adom-chip-thumbnail{src="/%s/%s/render/artwork/%s-thumbs.json" mpn="%s" package="%s"}' % (OWNER, s, A, d['mpn'], d['package_short']), '']+ else:+ L += ['| Outline (the one baked into the symbol) | Shaded |', '|---|---|',+ '| <img src="artwork/%s-chip-outline-preview.png" width="320" alt="%s chip outline"> | <img src="artwork/%s-3d-iso.png" width="320" alt="%s shaded"> |' % (A, d['title'], A, d['title']), '',+ 'Eleven vector outline styles with the part number (`artwork/%s-3d-outline-*-named.svg`), the mark plan and its legibility check are cached in `artwork/`; `%s-thumbs.json` (schema adom/chip-artwork-cache@1) lists them with their hashes.' % (A, A), ''] L += ['## Provenance', '', '| Data | Source | Reference | Evidence |', '|---|---|---|---|', '| Identity, features | %s %s | page 1 | datasheet copy in `docs/` |' % (d['manufacturer'], ds['id']), '| Pin numbers and functions | %s | %s | table above quotes the datasheet, page per pin |' % (ds['id'], d['pin_table_pages']),@@ -520,7 +551,7 @@ def stage_meta(d): json.dump(page_json(d), open(pdir(d, 'page.json'), 'w'), indent=1) stocked = [r[1] for r in sourcing_rows(d) if isinstance(r[4], int) and r[4] > 0] run([sys.executable, tool, 'variants'] + sum([['--set', '%s=%s, %s' % (o[0], o[1], o[2])] for o in d['ordering']], []) +- sum([['--stocked', m] for m in sorted(set(stocked))], []), cwd=P)+ [], cwd=P) # stocked = an Adom reel on hand: none for these parts fv = json.load(open(pdir(d, 'provenance', 'footprint-vs-datasheet.json'))) checks = ['Every pin number, name and function taken from %s %s, with the page per pin' % (d['ds']['id'], d['pin_table_pages']), 'Footprint lands compared pad by pad with the manufacturer land pattern: %s' % ('all match' if fv['all_match'] else 'MISMATCH'),@@ -547,7 +578,7 @@ def stage_meta(d): 'included unmodified for reference.\n') % (OWNER, s, ', '.join(sorted(os.path.basename(f) for f in glob.glob(pdir(d, 'docs', '*.pdf')))), d['manufacturer']) open(pdir(d, 'LICENSE'), 'w').write(lic) files = sorted(os.path.relpath(f, P) for f in glob.glob(P + '/**/*', recursive=True) if os.path.isfile(f) and not f.endswith('package.json'))- hashes = {f: sha(os.path.join(P, f)) for f in files if not f.startswith('provenance/file-hashes')}+ hashes = {f: sha(os.path.join(P, f)) for f in files if not f.startswith('provenance/file-hashes') and f != 'page.json'} # the server rewrites page.json on push json.dump(dict(generated=TODAY, note='sha256 of every file at publication', files=hashes), open(pdir(d, 'provenance', 'file-hashes.json'), 'w'), indent=1) files = sorted(os.path.relpath(f, P) for f in glob.glob(P + '/**/*', recursive=True) if os.path.isfile(f)) pk = dict(name=s, title=d['title'], version=VERSION, description=d['brief'], type='hardware', kind='component', license='CC-BY-4.0',
provenance/tools/footprints.py+1−1@@ -86,7 +86,7 @@ cj = dict(footprintName='tmc2262', description='Analog Devices TMC2262 30L FC2QF 'land pattern 90-100245 Rev B, package outline 21-100708 Rev A', tags='TMC2262 TMC2262AFV+ FC2QFN-30 6x6 stepper driver', pads=pads, body=dict(x1=-3.0, y1=-3.0, x2=3.0, y2=3.0), courtyard=dict(x1=-3.75, y1=-3.75, x2=3.75, y2=3.75),- heatsinkVias=dict(pad='EP', drill_mm=0.3, pitch_mm=0.8, ring_mm=0.15, tented=True))+ heatsinkVias=dict(pad='EP', drill_mm=0.3, pitch_mm=0.7, ring_mm=0.15, tented=True)) os.makedirs(os.path.join(OUT, 'tmc2262'), exist_ok=True) json.dump(cj, open(os.path.join(OUT, 'tmc2262-create.json'), 'w'), indent=1) print(run(['adom-footprint', 'create', '--file', os.path.join(OUT, 'tmc2262-create.json'), '--out', os.path.join(OUT, 'tmc2262')]).strip().splitlines()[-3:])
provenance/tools/pages_def.py+3−3@@ -237,14 +237,14 @@ TMC = dict( footprint_note='From the ADI land pattern 90-100245 Rev B (package outline 21-100708 Rev A), pad for pad: ten 2.275 x 0.590 mm side bars, sixteen 0.300 x 0.725 mm pads, ' 'four L-shaped corner pads (pins 6, 15, 21 and 30, drawn as KiCad custom pads with the drawing\'s R0.150 corner) and the 1.450 x 4.050 mm exposed pad, ' 'all inside the 6.600 mm land-pattern extent. The data sheet asks for as many exposed-pad vias as possible; the footprint carries the Adom heatsink rule '- '(10 x 0.3 mm on 0.8 mm pitch, tented). The paste on the exposed pad is split into four 1.15 x 0.85 mm windows (66 %); ADI gives no stencil, so that is usual practice, not an ADI figure.',+ '(10 x 0.3 mm on a 0.7 mm grid, tented: the pitch that fits two columns on the 1.45 mm pad). The paste on the exposed pad is split into four 1.15 x 0.85 mm windows (66 %); ADI gives no stencil, so that is usual practice, not an ADI figure.', model_note='No manufacturer 3D model was downloadable without a SamacSys or Ultra Librarian account, so the model is built from the ADI package outline 21-100708 Rev A ' 'with CadQuery at nominal dimensions: body 6.00 x 6.00 x 0.75 mm, 0.203 mm lead frame, ten 0.54 x 1.95 mm side bars, sixteen 0.25 x 0.40 mm leads, four L-shaped ' 'corner terminals (b1 0.40, L1 0.65, L2 0.675), the 1.40 x 4.00 mm exposed pad with its C0.200 pin-1 chamfer, pin-1 dimple on the top. Terminal positions follow ' 'the land pattern 90-100245. It is AI-generated from the drawing.',- ep=dict(number='EP', name='GND', w=1.45, h=4.05, drill=0.3, pitch=0.8, ring=0.15,+ ep=dict(number='EP', name='GND', w=1.45, h=4.05, drill=0.3, pitch=0.7, ring=0.15, note='The exposed die pad is GND for the power stage and internal circuitry; the data sheet asks for as many vias to the GND plane as possible (Pin Descriptions, page 16). '- 'The array shown is the Adom heatsink-via rule (0.3 mm drill, 0.8 mm pitch, tented), not an ADI figure; theta-JA 23 C/W assumes a four-layer board (page 15).'),+ 'The array shown follows the Adom heatsink-via rule (0.3 mm drill, tented) on a 0.7 mm grid so two columns fit the 1.45 mm pad; it is not an ADI figure; theta-JA 23 C/W assumes a four-layer board (page 15).'), related=[('TMC2240ATJ+T', 'https://wiki.adom.inc/adom/tmc2240atj-t', 'the smaller 36 V, 2 A RMS sibling with SPI/UART and step/dir in a TQFN-32 5 x 5 mm')], tags=['component', 'motor driver', 'stepper driver', 'stepper motor', 'trinamic', 'analog devices', 'tmc2262', 'step dir', 'spi', 'stealthchop', 'fc2qfn'], triggers=['TMC2262', 'TMC2262AFV+', 'TMC2262AFV+T', '65V stepper driver', '4A stepper driver', 'Trinamic stepper driver', 'NEMA 23 stepper driver'],
tmc2262-hero.overlay.json+19−19@@ -73,7 +73,7 @@ "glb": "tmc2262-etched.glb", "glb_sha256": "bad0ebfbcd72a3aff9397c275b6581b1b0381806cf862c18045fb3a829b740ca", "footprint": "tmc2262.kicad_mod",- "footprint_sha256": "b8a2473b9573c39f8403783d71ca91a0b5d131273e36186d77b9d049b0ef627c",+ "footprint_sha256": "7f2092d2d255f4d44836f1aee103dcc3c374aee713d89120d939d9ce41613380", "pins": "page.json component.pins" }, "generator": "factory/hero_glb.py",@@ -705,8 +705,8 @@ "number": "EP", "shape": "circle", "center_mm": [- -0.4,- -1.6+ -0.35,+ -1.4 ], "size_mm": [ 0.6,@@ -718,8 +718,8 @@ "number": "EP", "shape": "circle", "center_mm": [- 0.4,- -1.6+ 0.35,+ -1.4 ], "size_mm": [ 0.6,@@ -731,8 +731,8 @@ "number": "EP", "shape": "circle", "center_mm": [- -0.4,- -0.8+ -0.35,+ -0.7 ], "size_mm": [ 0.6,@@ -744,8 +744,8 @@ "number": "EP", "shape": "circle", "center_mm": [- 0.4,- -0.8+ 0.35,+ -0.7 ], "size_mm": [ 0.6,@@ -757,7 +757,7 @@ "number": "EP", "shape": "circle", "center_mm": [- -0.4,+ -0.35, 0.0 ], "size_mm": [@@ -770,7 +770,7 @@ "number": "EP", "shape": "circle", "center_mm": [- 0.4,+ 0.35, 0.0 ], "size_mm": [@@ -783,8 +783,8 @@ "number": "EP", "shape": "circle", "center_mm": [- -0.4,- 0.8+ -0.35,+ 0.7 ], "size_mm": [ 0.6,@@ -796,8 +796,8 @@ "number": "EP", "shape": "circle", "center_mm": [- 0.4,- 0.8+ 0.35,+ 0.7 ], "size_mm": [ 0.6,@@ -809,8 +809,8 @@ "number": "EP", "shape": "circle", "center_mm": [- -0.4,- 1.6+ -0.35,+ 1.4 ], "size_mm": [ 0.6,@@ -822,8 +822,8 @@ "number": "EP", "shape": "circle", "center_mm": [- 0.4,- 1.6+ 0.35,+ 1.4 ], "size_mm": [ 0.6,
tmc2262.kicad_mod+10−10@@ -67,25 +67,25 @@ (layers "F.Cu" "F.Paste" "F.Mask")) (pad "EP" smd rect (at 0 0) (size 1.45 4.05) (layers "F.Cu" "F.Mask"))- (pad "EP" thru_hole circle (at -0.4 -1.6) (size 0.6 0.6) (drill 0.3)+ (pad "EP" thru_hole circle (at -0.35 -1.4) (size 0.6 0.6) (drill 0.3) (layers *.Cu) (remove_unused_layers no) (property pad_prop_heatsink))- (pad "EP" thru_hole circle (at 0.4 -1.6) (size 0.6 0.6) (drill 0.3)+ (pad "EP" thru_hole circle (at 0.35 -1.4) (size 0.6 0.6) (drill 0.3) (layers *.Cu) (remove_unused_layers no) (property pad_prop_heatsink))- (pad "EP" thru_hole circle (at -0.4 -0.8) (size 0.6 0.6) (drill 0.3)+ (pad "EP" thru_hole circle (at -0.35 -0.7) (size 0.6 0.6) (drill 0.3) (layers *.Cu) (remove_unused_layers no) (property pad_prop_heatsink))- (pad "EP" thru_hole circle (at 0.4 -0.8) (size 0.6 0.6) (drill 0.3)+ (pad "EP" thru_hole circle (at 0.35 -0.7) (size 0.6 0.6) (drill 0.3) (layers *.Cu) (remove_unused_layers no) (property pad_prop_heatsink))- (pad "EP" thru_hole circle (at -0.4 0) (size 0.6 0.6) (drill 0.3)+ (pad "EP" thru_hole circle (at -0.35 0) (size 0.6 0.6) (drill 0.3) (layers *.Cu) (remove_unused_layers no) (property pad_prop_heatsink))- (pad "EP" thru_hole circle (at 0.4 0) (size 0.6 0.6) (drill 0.3)+ (pad "EP" thru_hole circle (at 0.35 0) (size 0.6 0.6) (drill 0.3) (layers *.Cu) (remove_unused_layers no) (property pad_prop_heatsink))- (pad "EP" thru_hole circle (at -0.4 0.8) (size 0.6 0.6) (drill 0.3)+ (pad "EP" thru_hole circle (at -0.35 0.7) (size 0.6 0.6) (drill 0.3) (layers *.Cu) (remove_unused_layers no) (property pad_prop_heatsink))- (pad "EP" thru_hole circle (at 0.4 0.8) (size 0.6 0.6) (drill 0.3)+ (pad "EP" thru_hole circle (at 0.35 0.7) (size 0.6 0.6) (drill 0.3) (layers *.Cu) (remove_unused_layers no) (property pad_prop_heatsink))- (pad "EP" thru_hole circle (at -0.4 1.6) (size 0.6 0.6) (drill 0.3)+ (pad "EP" thru_hole circle (at -0.35 1.4) (size 0.6 0.6) (drill 0.3) (layers *.Cu) (remove_unused_layers no) (property pad_prop_heatsink))- (pad "EP" thru_hole circle (at 0.4 1.6) (size 0.6 0.6) (drill 0.3)+ (pad "EP" thru_hole circle (at 0.35 1.4) (size 0.6 0.6) (drill 0.3) (layers *.Cu) (remove_unused_layers no) (property pad_prop_heatsink)) (pad "30" smd custom (at -2.525 -2.8) (size 0.4 0.4) (layers "F.Cu" "F.Paste" "F.Mask")
tmc2262.lbr+10−10@@ -81,16 +81,16 @@ <smd name="14" x="1.9000" y="-2.9375" dx="0.3000" dy="0.7250" layer="1"/> <smd name="22" x="1.9000" y="2.9375" dx="0.3000" dy="0.7250" layer="1"/> <smd name="EP" x="0.0000" y="-0.0000" dx="1.4500" dy="4.0500" layer="1"/>- <pad name="EP@2" x="-0.4000" y="1.6000" drill="0.3000" diameter="0.6000" shape="round"/>- <pad name="EP@3" x="0.4000" y="1.6000" drill="0.3000" diameter="0.6000" shape="round"/>- <pad name="EP@4" x="-0.4000" y="0.8000" drill="0.3000" diameter="0.6000" shape="round"/>- <pad name="EP@5" x="0.4000" y="0.8000" drill="0.3000" diameter="0.6000" shape="round"/>- <pad name="EP@6" x="-0.4000" y="-0.0000" drill="0.3000" diameter="0.6000" shape="round"/>- <pad name="EP@7" x="0.4000" y="-0.0000" drill="0.3000" diameter="0.6000" shape="round"/>- <pad name="EP@8" x="-0.4000" y="-0.8000" drill="0.3000" diameter="0.6000" shape="round"/>- <pad name="EP@9" x="0.4000" y="-0.8000" drill="0.3000" diameter="0.6000" shape="round"/>- <pad name="EP@10" x="-0.4000" y="-1.6000" drill="0.3000" diameter="0.6000" shape="round"/>- <pad name="EP@11" x="0.4000" y="-1.6000" drill="0.3000" diameter="0.6000" shape="round"/>+ <pad name="EP@2" x="-0.3500" y="1.4000" drill="0.3000" diameter="0.6000" shape="round"/>+ <pad name="EP@3" x="0.3500" y="1.4000" drill="0.3000" diameter="0.6000" shape="round"/>+ <pad name="EP@4" x="-0.3500" y="0.7000" drill="0.3000" diameter="0.6000" shape="round"/>+ <pad name="EP@5" x="0.3500" y="0.7000" drill="0.3000" diameter="0.6000" shape="round"/>+ <pad name="EP@6" x="-0.3500" y="-0.0000" drill="0.3000" diameter="0.6000" shape="round"/>+ <pad name="EP@7" x="0.3500" y="-0.0000" drill="0.3000" diameter="0.6000" shape="round"/>+ <pad name="EP@8" x="-0.3500" y="-0.7000" drill="0.3000" diameter="0.6000" shape="round"/>+ <pad name="EP@9" x="0.3500" y="-0.7000" drill="0.3000" diameter="0.6000" shape="round"/>+ <pad name="EP@10" x="-0.3500" y="-1.4000" drill="0.3000" diameter="0.6000" shape="round"/>+ <pad name="EP@11" x="0.3500" y="-1.4000" drill="0.3000" diameter="0.6000" shape="round"/> <smd name="30" x="-2.5250" y="2.8125" dx="0.4500" dy="0.9750" layer="1"/> <smd name="30@2" x="-2.8000" y="2.5500" dx="1.0000" dy="0.4500" layer="1"/> <smd name="21" x="2.5250" y="2.8125" dx="0.4500" dy="0.9750" layer="1"/>
verification.json+3−3@@ -5,7 +5,7 @@ { "mpn": "TMC2262AFV+", "note": "Standard packing (not tape and reel), -40 to +125 C",- "stocked": true+ "stocked": false }, { "mpn": "TMC2262AFV+T",@@ -81,10 +81,10 @@ ], "files": { "tmc2262.kicad_sym": "754d3d21670be758514e2dd99d2543007157fb0919cf575903f54ceee9c257c9",- "tmc2262.kicad_mod": "b8a2473b9573c39f8403783d71ca91a0b5d131273e36186d77b9d049b0ef627c",+ "tmc2262.kicad_mod": "7f2092d2d255f4d44836f1aee103dcc3c374aee713d89120d939d9ce41613380", "tmc2262.step": "c70312798cd0f3d8ec47b4b9b363474e91a25df575679f08e359fcd668aab16f", "tmc2262-etched.step": "13f68ecc3060977c10f3deab78279d4a9136bdc7f43af2f79e1d9a58a54b12c1",- "tmc2262.lbr": "4005696bb6ca46942e6ce3631ef8396b33dee565e069b717403f42145fadef95"+ "tmc2262.lbr": "d4c5af6006e0584943f2c5289e00db00ba8808279bf7d9fe4ceffbcc996818e6" } } ]
viewers/footprint.html+1−1@@ -57,7 +57,7 @@ aside .ah{padding:9px 12px;border-bottom:1px solid var(--border);font-size:12px; <main> <div class="vpwrap"> <div class="av-vp" id="vp">- <svg xmlns="http://www.w3.org/2000/svg" viewBox="-4.840 -4.750 9.590 9.500" preserveAspectRatio="xMidYMid meet"><g class="adom-layer-courtyard"><rect x="-3.750" y="-3.750" width="7.500" height="7.500" fill="none" stroke="#FF26E2" stroke-width="0.05" stroke-dasharray="0.2,0.1"/></g><g class="adom-layer-fab"><path d="M-2.500,-3.000 L3.000,-3.000 L3.000,3.000 L-3.000,3.000 L-3.000,-2.500 Z" fill="none" stroke="#6e7681" stroke-width="0.1"/></g><g class="adom-layer-copper"><g data-pad="1" data-shape="rect" data-size="2.275x0.590" data-mount="smd"><rect x="-3.300" y="-2.025" width="2.275" height="0.590" fill="#C83434" stroke="#ef5350" stroke-width="0.04"/></g><g data-pad="20" data-shape="rect" data-size="2.275x0.590" data-mount="smd"><rect x="1.025" y="-2.025" width="2.275" height="0.590" fill="#C83434" stroke="#ef5350" stroke-width="0.04"/></g><g data-pad="2" data-shape="rect" data-size="2.275x0.590" data-mount="smd"><rect x="-3.300" y="-1.150" width="2.275" height="0.590" fill="#C83434" stroke="#ef5350" stroke-width="0.04"/></g><g data-pad="19" data-shape="rect" data-size="2.275x0.590" data-mount="smd"><rect x="1.025" y="-1.150" width="2.275" height="0.590" fill="#C83434" stroke="#ef5350" stroke-width="0.04"/></g><g data-pad="3" data-shape="rect" data-size="2.275x0.590" data-mount="smd"><rect x="-3.300" y="-0.295" width="2.275" height="0.590" fill="#C83434" stroke="#ef5350" stroke-width="0.04"/></g><g data-pad="18" data-shape="rect" data-size="2.275x0.590" data-mount="smd"><rect x="1.025" y="-0.295" width="2.275" height="0.590" fill="#C83434" stroke="#ef5350" stroke-width="0.04"/></g><g data-pad="4" data-shape="rect" data-size="2.275x0.590" data-mount="smd"><rect x="-3.300" y="0.560" width="2.275" height="0.590" fill="#C83434" stroke="#ef5350" stroke-width="0.04"/></g><g data-pad="17" data-shape="rect" data-size="2.275x0.590" data-mount="smd"><rect x="1.025" y="0.560" width="2.275" height="0.590" fill="#C83434" stroke="#ef5350" stroke-width="0.04"/></g><g data-pad="5" data-shape="rect" data-size="2.275x0.590" data-mount="smd"><rect x="-3.300" y="1.435" width="2.275" height="0.590" fill="#C83434" stroke="#ef5350" stroke-width="0.04"/></g><g data-pad="16" data-shape="rect" data-size="2.275x0.590" data-mount="smd"><rect x="1.025" y="1.435" width="2.275" height="0.590" fill="#C83434" stroke="#ef5350" stroke-width="0.04"/></g><g data-pad="7" data-shape="rect" data-size="0.300x0.725" data-mount="smd"><rect x="-2.050" y="2.575" width="0.300" height="0.725" fill="#C83434" stroke="#ef5350" stroke-width="0.04"/></g><g data-pad="29" data-shape="rect" data-size="0.300x0.725" data-mount="smd"><rect x="-2.050" y="-3.300" width="0.300" height="0.725" fill="#C83434" stroke="#ef5350" stroke-width="0.04"/></g><g data-pad="8" data-shape="rect" data-size="0.300x0.725" data-mount="smd"><rect x="-1.550" y="2.575" width="0.300" height="0.725" fill="#C83434" stroke="#ef5350" stroke-width="0.04"/></g><g data-pad="28" data-shape="rect" data-size="0.300x0.725" data-mount="smd"><rect x="-1.550" y="-3.300" width="0.300" height="0.725" fill="#C83434" stroke="#ef5350" stroke-width="0.04"/></g><g data-pad="9" data-shape="rect" data-size="0.300x0.725" data-mount="smd"><rect x="-1.050" y="2.575" width="0.300" height="0.725" fill="#C83434" stroke="#ef5350" stroke-width="0.04"/></g><g data-pad="27" data-shape="rect" data-size="0.300x0.725" data-mount="smd"><rect x="-1.050" y="-3.300" width="0.300" height="0.725" fill="#C83434" stroke="#ef5350" stroke-width="0.04"/></g><g data-pad="10" data-shape="rect" data-size="0.300x0.725" data-mount="smd"><rect x="-0.550" y="2.575" width="0.300" height="0.725" fill="#C83434" stroke="#ef5350" stroke-width="0.04"/></g><g data-pad="26" data-shape="rect" data-size="0.300x0.725" data-mount="smd"><rect x="-0.550" y="-3.300" width="0.300" height="0.725" fill="#C83434" stroke="#ef5350" stroke-width="0.04"/></g><g data-pad="11" data-shape="rect" data-size="0.300x0.725" data-mount="smd"><rect x="0.250" y="2.575" width="0.300" height="0.725" fill="#C83434" stroke="#ef5350" stroke-width="0.04"/></g><g data-pad="25" data-shape="rect" data-size="0.300x0.725" data-mount="smd"><rect x="0.250" y="-3.300" width="0.300" height="0.725" fill="#C83434" stroke="#ef5350" stroke-width="0.04"/></g><g data-pad="12" data-shape="rect" data-size="0.300x0.725" data-mount="smd"><rect x="0.750" y="2.575" width="0.300" height="0.725" fill="#C83434" stroke="#ef5350" stroke-width="0.04"/></g><g data-pad="24" data-shape="rect" data-size="0.300x0.725" data-mount="smd"><rect x="0.750" y="-3.300" width="0.300" height="0.725" fill="#C83434" stroke="#ef5350" stroke-width="0.04"/></g><g data-pad="13" data-shape="rect" data-size="0.300x0.725" data-mount="smd"><rect x="1.250" y="2.575" width="0.300" height="0.725" fill="#C83434" stroke="#ef5350" stroke-width="0.04"/></g><g data-pad="23" data-shape="rect" data-size="0.300x0.725" data-mount="smd"><rect x="1.250" y="-3.300" width="0.300" height="0.725" fill="#C83434" stroke="#ef5350" stroke-width="0.04"/></g><g data-pad="14" data-shape="rect" data-size="0.300x0.725" data-mount="smd"><rect x="1.750" y="2.575" width="0.300" height="0.725" fill="#C83434" stroke="#ef5350" stroke-width="0.04"/></g><g data-pad="22" data-shape="rect" data-size="0.300x0.725" data-mount="smd"><rect x="1.750" y="-3.300" width="0.300" height="0.725" fill="#C83434" stroke="#ef5350" stroke-width="0.04"/></g><g data-pad="EP" data-shape="rect" data-size="1.450x4.050" data-mount="smd"><rect x="-0.725" y="-2.025" width="1.450" height="4.050" fill="#C83434" stroke="#ef5350" stroke-width="0.04"/></g><g data-pad="EP" data-shape="circle" data-size="0.600x0.600" data-mount="thru_hole"><circle cx="-0.400" cy="-1.600" r="0.300" fill="#C83434" stroke="#ef5350" stroke-width="0.04"/></g><g data-pad="EP" data-shape="circle" data-size="0.600x0.600" data-mount="thru_hole"><circle cx="0.400" cy="-1.600" r="0.300" fill="#C83434" stroke="#ef5350" stroke-width="0.04"/></g><g data-pad="EP" data-shape="circle" data-size="0.600x0.600" data-mount="thru_hole"><circle cx="-0.400" cy="-0.800" r="0.300" fill="#C83434" stroke="#ef5350" stroke-width="0.04"/></g><g data-pad="EP" data-shape="circle" data-size="0.600x0.600" data-mount="thru_hole"><circle cx="0.400" cy="-0.800" r="0.300" fill="#C83434" stroke="#ef5350" stroke-width="0.04"/></g><g data-pad="EP" data-shape="circle" data-size="0.600x0.600" data-mount="thru_hole"><circle cx="-0.400" cy="0.000" r="0.300" fill="#C83434" stroke="#ef5350" stroke-width="0.04"/></g><g data-pad="EP" data-shape="circle" data-size="0.600x0.600" data-mount="thru_hole"><circle cx="0.400" cy="0.000" r="0.300" fill="#C83434" stroke="#ef5350" stroke-width="0.04"/></g><g data-pad="EP" data-shape="circle" data-size="0.600x0.600" data-mount="thru_hole"><circle cx="-0.400" cy="0.800" r="0.300" fill="#C83434" stroke="#ef5350" stroke-width="0.04"/></g><g data-pad="EP" data-shape="circle" data-size="0.600x0.600" data-mount="thru_hole"><circle cx="0.400" cy="0.800" r="0.300" fill="#C83434" stroke="#ef5350" stroke-width="0.04"/></g><g data-pad="EP" data-shape="circle" data-size="0.600x0.600" data-mount="thru_hole"><circle cx="-0.400" cy="1.600" r="0.300" fill="#C83434" stroke="#ef5350" stroke-width="0.04"/></g><g data-pad="EP" data-shape="circle" data-size="0.600x0.600" data-mount="thru_hole"><circle cx="0.400" cy="1.600" r="0.300" fill="#C83434" stroke="#ef5350" stroke-width="0.04"/></g><g data-pad="30" data-shape="custom" data-size="0.400x0.400" data-mount="smd"><rect x="-2.725" y="-3.000" width="0.400" height="0.400" fill="#C83434" stroke="#ef5350" stroke-width="0.04"/></g><g data-pad="21" data-shape="custom" data-size="0.400x0.400" data-mount="smd"><rect x="2.325" y="-3.000" width="0.400" height="0.400" fill="#C83434" stroke="#ef5350" stroke-width="0.04"/></g><g data-pad="6" data-shape="custom" data-size="0.400x0.400" data-mount="smd"><rect x="-2.725" y="2.600" width="0.400" height="0.400" fill="#C83434" stroke="#ef5350" stroke-width="0.04"/></g><g data-pad="15" data-shape="custom" data-size="0.400x0.400" data-mount="smd"><rect x="2.325" y="2.600" width="0.400" height="0.400" fill="#C83434" stroke="#ef5350" stroke-width="0.04"/></g></g><g class="adom-layer-heatsink"></g><g class="adom-layer-drill"><circle cx="-0.400" cy="-1.600" r="0.150" fill="#0d1117" stroke="#666" stroke-width="0.05"/><circle cx="0.400" cy="-1.600" r="0.150" fill="#0d1117" stroke="#666" stroke-width="0.05"/><circle cx="-0.400" cy="-0.800" r="0.150" fill="#0d1117" stroke="#666" stroke-width="0.05"/><circle cx="0.400" cy="-0.800" r="0.150" fill="#0d1117" stroke="#666" stroke-width="0.05"/><circle cx="-0.400" cy="0.000" r="0.150" fill="#0d1117" stroke="#666" stroke-width="0.05"/><circle cx="0.400" cy="0.000" r="0.150" fill="#0d1117" stroke="#666" stroke-width="0.05"/><circle cx="-0.400" cy="0.800" r="0.150" fill="#0d1117" stroke="#666" stroke-width="0.05"/><circle cx="0.400" cy="0.800" r="0.150" fill="#0d1117" stroke="#666" stroke-width="0.05"/><circle cx="-0.400" cy="1.600" r="0.150" fill="#0d1117" stroke="#666" stroke-width="0.05"/><circle cx="0.400" cy="1.600" r="0.150" fill="#0d1117" stroke="#666" stroke-width="0.05"/></g><g class="adom-layer-silk"><line x1="-3.520" y1="-3.520" x2="-2.920" y2="-3.520" stroke="#00cccc" stroke-width="0.12" stroke-linecap="round"/><line x1="-3.520" y1="-3.520" x2="-3.520" y2="-2.920" stroke="#00cccc" stroke-width="0.12" stroke-linecap="round"/><line x1="-3.520" y1="3.520" x2="-2.920" y2="3.520" stroke="#00cccc" stroke-width="0.12" stroke-linecap="round"/><line x1="-3.520" y1="3.520" x2="-3.520" y2="2.920" stroke="#00cccc" stroke-width="0.12" stroke-linecap="round"/><line x1="3.520" y1="-3.520" x2="2.920" y2="-3.520" stroke="#00cccc" stroke-width="0.12" stroke-linecap="round"/><line x1="3.520" y1="-3.520" x2="3.520" y2="-2.920" stroke="#00cccc" stroke-width="0.12" stroke-linecap="round"/><line x1="3.520" y1="3.520" x2="2.920" y2="3.520" stroke="#00cccc" stroke-width="0.12" stroke-linecap="round"/><line x1="3.520" y1="3.520" x2="3.520" y2="2.920" stroke="#00cccc" stroke-width="0.12" stroke-linecap="round"/><circle cx="-3.720" cy="-1.730" r="0.120" fill="#00cccc" stroke="#00cccc" stroke-width="0.12"/></g><g class="adom-layer-padnum"><text x="-2.163" y="-1.730" text-anchor="middle" dominant-baseline="central" font-size="0.248" fill="#fff" font-family="sans-serif" style="pointer-events:none">1</text><text x="2.163" y="-1.730" text-anchor="middle" dominant-baseline="central" font-size="0.248" fill="#fff" font-family="sans-serif" style="pointer-events:none">20</text><text x="-2.163" y="-0.855" text-anchor="middle" dominant-baseline="central" font-size="0.248" fill="#fff" font-family="sans-serif" style="pointer-events:none">2</text><text x="2.163" y="-0.855" text-anchor="middle" dominant-baseline="central" font-size="0.248" fill="#fff" font-family="sans-serif" style="pointer-events:none">19</text><text x="-2.163" y="0.000" text-anchor="middle" dominant-baseline="central" font-size="0.248" fill="#fff" font-family="sans-serif" style="pointer-events:none">3</text><text x="2.163" y="0.000" text-anchor="middle" dominant-baseline="central" font-size="0.248" fill="#fff" font-family="sans-serif" style="pointer-events:none">18</text><text x="-2.163" y="0.855" text-anchor="middle" dominant-baseline="central" font-size="0.248" fill="#fff" font-family="sans-serif" style="pointer-events:none">4</text><text x="2.163" y="0.855" text-anchor="middle" dominant-baseline="central" font-size="0.248" fill="#fff" font-family="sans-serif" style="pointer-events:none">17</text><text x="-2.163" y="1.730" text-anchor="middle" dominant-baseline="central" font-size="0.248" fill="#fff" font-family="sans-serif" style="pointer-events:none">5</text><text x="2.163" y="1.730" text-anchor="middle" dominant-baseline="central" font-size="0.248" fill="#fff" font-family="sans-serif" style="pointer-events:none">16</text><text x="-1.900" y="2.938" text-anchor="middle" dominant-baseline="central" font-size="0.126" fill="#fff" font-family="sans-serif" style="pointer-events:none">7</text><text x="-1.900" y="-2.938" text-anchor="middle" dominant-baseline="central" font-size="0.126" fill="#fff" font-family="sans-serif" style="pointer-events:none">29</text><text x="-1.400" y="2.938" text-anchor="middle" dominant-baseline="central" font-size="0.126" fill="#fff" font-family="sans-serif" style="pointer-events:none">8</text><text x="-1.400" y="-2.938" text-anchor="middle" dominant-baseline="central" font-size="0.126" fill="#fff" font-family="sans-serif" style="pointer-events:none">28</text><text x="-0.900" y="2.938" text-anchor="middle" dominant-baseline="central" font-size="0.126" fill="#fff" font-family="sans-serif" style="pointer-events:none">9</text><text x="-0.900" y="-2.938" text-anchor="middle" dominant-baseline="central" font-size="0.126" fill="#fff" font-family="sans-serif" style="pointer-events:none">27</text><text x="-0.400" y="2.938" text-anchor="middle" dominant-baseline="central" font-size="0.126" fill="#fff" font-family="sans-serif" style="pointer-events:none">10</text><text x="-0.400" y="-2.938" text-anchor="middle" dominant-baseline="central" font-size="0.126" fill="#fff" font-family="sans-serif" style="pointer-events:none">26</text><text x="0.400" y="2.938" text-anchor="middle" dominant-baseline="central" font-size="0.126" fill="#fff" font-family="sans-serif" style="pointer-events:none">11</text><text x="0.400" y="-2.938" text-anchor="middle" dominant-baseline="central" font-size="0.126" fill="#fff" font-family="sans-serif" style="pointer-events:none">25</text><text x="0.900" y="2.938" text-anchor="middle" dominant-baseline="central" font-size="0.126" fill="#fff" font-family="sans-serif" style="pointer-events:none">12</text><text x="0.900" y="-2.938" text-anchor="middle" dominant-baseline="central" font-size="0.126" fill="#fff" font-family="sans-serif" style="pointer-events:none">24</text><text x="1.400" y="2.938" text-anchor="middle" dominant-baseline="central" font-size="0.126" fill="#fff" font-family="sans-serif" style="pointer-events:none">13</text><text x="1.400" y="-2.938" text-anchor="middle" dominant-baseline="central" font-size="0.126" fill="#fff" font-family="sans-serif" style="pointer-events:none">23</text><text x="1.900" y="2.938" text-anchor="middle" dominant-baseline="central" font-size="0.126" fill="#fff" font-family="sans-serif" style="pointer-events:none">14</text><text x="1.900" y="-2.938" text-anchor="middle" dominant-baseline="central" font-size="0.126" fill="#fff" font-family="sans-serif" style="pointer-events:none">22</text><text x="0.000" y="0.000" text-anchor="middle" dominant-baseline="central" font-size="0.609" fill="#fff" font-family="sans-serif" style="pointer-events:none">EP</text><text x="-0.400" y="-1.600" text-anchor="middle" dominant-baseline="central" font-size="0.252" fill="#fff" font-family="sans-serif" style="pointer-events:none">EP</text><text x="0.400" y="-1.600" text-anchor="middle" dominant-baseline="central" font-size="0.252" fill="#fff" font-family="sans-serif" style="pointer-events:none">EP</text><text x="-0.400" y="-0.800" text-anchor="middle" dominant-baseline="central" font-size="0.252" fill="#fff" font-family="sans-serif" style="pointer-events:none">EP</text><text x="0.400" y="-0.800" text-anchor="middle" dominant-baseline="central" font-size="0.252" fill="#fff" font-family="sans-serif" style="pointer-events:none">EP</text><text x="-0.400" y="0.000" text-anchor="middle" dominant-baseline="central" font-size="0.252" fill="#fff" font-family="sans-serif" style="pointer-events:none">EP</text><text x="0.400" y="0.000" text-anchor="middle" dominant-baseline="central" font-size="0.252" fill="#fff" font-family="sans-serif" style="pointer-events:none">EP</text><text x="-0.400" y="0.800" text-anchor="middle" dominant-baseline="central" font-size="0.252" fill="#fff" font-family="sans-serif" style="pointer-events:none">EP</text><text x="0.400" y="0.800" text-anchor="middle" dominant-baseline="central" font-size="0.252" fill="#fff" font-family="sans-serif" style="pointer-events:none">EP</text><text x="-0.400" y="1.600" text-anchor="middle" dominant-baseline="central" font-size="0.252" fill="#fff" font-family="sans-serif" style="pointer-events:none">EP</text><text x="0.400" y="1.600" text-anchor="middle" dominant-baseline="central" font-size="0.252" fill="#fff" font-family="sans-serif" style="pointer-events:none">EP</text><text x="-2.525" y="-2.800" text-anchor="middle" dominant-baseline="central" font-size="0.168" fill="#fff" font-family="sans-serif" style="pointer-events:none">30</text><text x="2.525" y="-2.800" text-anchor="middle" dominant-baseline="central" font-size="0.168" fill="#fff" font-family="sans-serif" style="pointer-events:none">21</text><text x="-2.525" y="2.800" text-anchor="middle" dominant-baseline="central" font-size="0.168" fill="#fff" font-family="sans-serif" style="pointer-events:none">6</text><text x="2.525" y="2.800" text-anchor="middle" dominant-baseline="central" font-size="0.168" fill="#fff" font-family="sans-serif" style="pointer-events:none">15</text></g><g class="adom-layer-paste-apertures"><rect x="-3.300" y="-2.025" width="2.275" height="0.590" rx="0.05" transform="rotate(0.00 -2.163 -1.730)" fill="none" stroke="#8aa0b8" stroke-width="0.03" stroke-dasharray="0.12 0.08" opacity="0.7"/><rect x="1.025" y="-2.025" width="2.275" height="0.590" rx="0.05" transform="rotate(0.00 2.163 -1.730)" fill="none" stroke="#8aa0b8" stroke-width="0.03" stroke-dasharray="0.12 0.08" opacity="0.7"/><rect x="-3.300" y="-1.150" width="2.275" height="0.590" rx="0.05" transform="rotate(0.00 -2.163 -0.855)" fill="none" stroke="#8aa0b8" stroke-width="0.03" stroke-dasharray="0.12 0.08" opacity="0.7"/><rect x="1.025" y="-1.150" width="2.275" height="0.590" rx="0.05" transform="rotate(0.00 2.163 -0.855)" fill="none" stroke="#8aa0b8" stroke-width="0.03" stroke-dasharray="0.12 0.08" opacity="0.7"/><rect x="-3.300" y="-0.295" width="2.275" height="0.590" rx="0.05" transform="rotate(0.00 -2.163 0.000)" fill="none" stroke="#8aa0b8" stroke-width="0.03" stroke-dasharray="0.12 0.08" opacity="0.7"/><rect x="1.025" y="-0.295" width="2.275" height="0.590" rx="0.05" transform="rotate(0.00 2.163 0.000)" fill="none" stroke="#8aa0b8" stroke-width="0.03" stroke-dasharray="0.12 0.08" opacity="0.7"/><rect x="-3.300" y="0.560" width="2.275" height="0.590" rx="0.05" transform="rotate(0.00 -2.163 0.855)" fill="none" stroke="#8aa0b8" stroke-width="0.03" stroke-dasharray="0.12 0.08" opacity="0.7"/><rect x="1.025" y="0.560" width="2.275" height="0.590" rx="0.05" transform="rotate(0.00 2.163 0.855)" fill="none" stroke="#8aa0b8" stroke-width="0.03" stroke-dasharray="0.12 0.08" opacity="0.7"/><rect x="-3.300" y="1.435" width="2.275" height="0.590" rx="0.05" transform="rotate(0.00 -2.163 1.730)" fill="none" stroke="#8aa0b8" stroke-width="0.03" stroke-dasharray="0.12 0.08" opacity="0.7"/><rect x="1.025" y="1.435" width="2.275" height="0.590" rx="0.05" transform="rotate(0.00 2.163 1.730)" fill="none" stroke="#8aa0b8" stroke-width="0.03" stroke-dasharray="0.12 0.08" opacity="0.7"/><rect x="-2.050" y="2.575" width="0.300" height="0.725" rx="0.05" transform="rotate(0.00 -1.900 2.938)" fill="none" stroke="#8aa0b8" stroke-width="0.03" stroke-dasharray="0.12 0.08" opacity="0.7"/><rect x="-2.050" y="-3.300" width="0.300" height="0.725" rx="0.05" transform="rotate(0.00 -1.900 -2.938)" fill="none" stroke="#8aa0b8" stroke-width="0.03" stroke-dasharray="0.12 0.08" opacity="0.7"/><rect x="-1.550" y="2.575" width="0.300" height="0.725" rx="0.05" transform="rotate(0.00 -1.400 2.938)" fill="none" stroke="#8aa0b8" stroke-width="0.03" stroke-dasharray="0.12 0.08" opacity="0.7"/><rect x="-1.550" y="-3.300" width="0.300" height="0.725" rx="0.05" transform="rotate(0.00 -1.400 -2.938)" fill="none" stroke="#8aa0b8" stroke-width="0.03" stroke-dasharray="0.12 0.08" opacity="0.7"/><rect x="-1.050" y="2.575" width="0.300" height="0.725" rx="0.05" transform="rotate(0.00 -0.900 2.938)" fill="none" stroke="#8aa0b8" stroke-width="0.03" stroke-dasharray="0.12 0.08" opacity="0.7"/><rect x="-1.050" y="-3.300" width="0.300" height="0.725" rx="0.05" transform="rotate(0.00 -0.900 -2.938)" fill="none" stroke="#8aa0b8" stroke-width="0.03" stroke-dasharray="0.12 0.08" opacity="0.7"/><rect x="-0.550" y="2.575" width="0.300" height="0.725" rx="0.05" transform="rotate(0.00 -0.400 2.938)" fill="none" stroke="#8aa0b8" stroke-width="0.03" stroke-dasharray="0.12 0.08" opacity="0.7"/><rect x="-0.550" y="-3.300" width="0.300" height="0.725" rx="0.05" transform="rotate(0.00 -0.400 -2.938)" fill="none" stroke="#8aa0b8" stroke-width="0.03" stroke-dasharray="0.12 0.08" opacity="0.7"/><rect x="0.250" y="2.575" width="0.300" height="0.725" rx="0.05" transform="rotate(0.00 0.400 2.938)" fill="none" stroke="#8aa0b8" stroke-width="0.03" stroke-dasharray="0.12 0.08" opacity="0.7"/><rect x="0.250" y="-3.300" width="0.300" height="0.725" rx="0.05" transform="rotate(0.00 0.400 -2.938)" fill="none" stroke="#8aa0b8" stroke-width="0.03" stroke-dasharray="0.12 0.08" opacity="0.7"/><rect x="0.750" y="2.575" width="0.300" height="0.725" rx="0.05" transform="rotate(0.00 0.900 2.938)" fill="none" stroke="#8aa0b8" stroke-width="0.03" stroke-dasharray="0.12 0.08" opacity="0.7"/><rect x="0.750" y="-3.300" width="0.300" height="0.725" rx="0.05" transform="rotate(0.00 0.900 -2.938)" fill="none" stroke="#8aa0b8" stroke-width="0.03" stroke-dasharray="0.12 0.08" opacity="0.7"/><rect x="1.250" y="2.575" width="0.300" height="0.725" rx="0.05" transform="rotate(0.00 1.400 2.938)" fill="none" stroke="#8aa0b8" stroke-width="0.03" stroke-dasharray="0.12 0.08" opacity="0.7"/><rect x="1.250" y="-3.300" width="0.300" height="0.725" rx="0.05" transform="rotate(0.00 1.400 -2.938)" fill="none" stroke="#8aa0b8" stroke-width="0.03" stroke-dasharray="0.12 0.08" opacity="0.7"/><rect x="1.750" y="2.575" width="0.300" height="0.725" rx="0.05" transform="rotate(0.00 1.900 2.938)" fill="none" stroke="#8aa0b8" stroke-width="0.03" stroke-dasharray="0.12 0.08" opacity="0.7"/><rect x="1.750" y="-3.300" width="0.300" height="0.725" rx="0.05" transform="rotate(0.00 1.900 -2.938)" fill="none" stroke="#8aa0b8" stroke-width="0.03" stroke-dasharray="0.12 0.08" opacity="0.7"/><rect x="-2.725" y="-3.000" width="0.400" height="0.400" rx="0.05" transform="rotate(0.00 -2.525 -2.800)" fill="none" stroke="#8aa0b8" stroke-width="0.03" stroke-dasharray="0.12 0.08" opacity="0.7"/><rect x="2.325" y="-3.000" width="0.400" height="0.400" rx="0.05" transform="rotate(0.00 2.525 -2.800)" fill="none" stroke="#8aa0b8" stroke-width="0.03" stroke-dasharray="0.12 0.08" opacity="0.7"/><rect x="-2.725" y="2.600" width="0.400" height="0.400" rx="0.05" transform="rotate(0.00 -2.525 2.800)" fill="none" stroke="#8aa0b8" stroke-width="0.03" stroke-dasharray="0.12 0.08" opacity="0.7"/><rect x="2.325" y="2.600" width="0.400" height="0.400" rx="0.05" transform="rotate(0.00 2.525 2.800)" fill="none" stroke="#8aa0b8" stroke-width="0.03" stroke-dasharray="0.12 0.08" opacity="0.7"/><rect x="-0.575" y="-1.925" width="1.150" height="0.850" rx="0.05" transform="rotate(0.00 0.000 -1.500)" fill="none" stroke="#8aa0b8" stroke-width="0.03" stroke-dasharray="0.12 0.08" opacity="0.7"/><rect x="-0.575" y="-0.925" width="1.150" height="0.850" rx="0.05" transform="rotate(0.00 0.000 -0.500)" fill="none" stroke="#8aa0b8" stroke-width="0.03" stroke-dasharray="0.12 0.08" opacity="0.7"/><rect x="-0.575" y="0.075" width="1.150" height="0.850" rx="0.05" transform="rotate(0.00 0.000 0.500)" fill="none" stroke="#8aa0b8" stroke-width="0.03" stroke-dasharray="0.12 0.08" opacity="0.7"/><rect x="-0.575" y="1.075" width="1.150" height="0.850" rx="0.05" transform="rotate(0.00 0.000 1.500)" fill="none" stroke="#8aa0b8" stroke-width="0.03" stroke-dasharray="0.12 0.08" opacity="0.7"/></g><g class="adom-layer-paste-dots"><circle cx="-3.038" cy="-1.730" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-2.788" cy="-1.730" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-2.538" cy="-1.730" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-2.288" cy="-1.730" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-2.038" cy="-1.730" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-1.788" cy="-1.730" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-1.538" cy="-1.730" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-1.288" cy="-1.730" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="1.288" cy="-1.730" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="1.538" cy="-1.730" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="1.788" cy="-1.730" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="2.038" cy="-1.730" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="2.288" cy="-1.730" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="2.538" cy="-1.730" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="2.788" cy="-1.730" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="3.038" cy="-1.730" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-3.038" cy="-0.855" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-2.788" cy="-0.855" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-2.538" cy="-0.855" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-2.288" cy="-0.855" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-2.038" cy="-0.855" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-1.788" cy="-0.855" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-1.538" cy="-0.855" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-1.288" cy="-0.855" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="1.288" cy="-0.855" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="1.538" cy="-0.855" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="1.788" cy="-0.855" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="2.038" cy="-0.855" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="2.288" cy="-0.855" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="2.538" cy="-0.855" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="2.788" cy="-0.855" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="3.038" cy="-0.855" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-3.038" cy="0.000" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-2.788" cy="0.000" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-2.538" cy="0.000" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-2.288" cy="0.000" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-2.038" cy="0.000" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-1.788" cy="0.000" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-1.538" cy="0.000" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-1.288" cy="0.000" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="1.288" cy="0.000" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="1.538" cy="0.000" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="1.788" cy="0.000" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="2.038" cy="0.000" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="2.288" cy="0.000" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="2.538" cy="0.000" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="2.788" cy="0.000" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="3.038" cy="0.000" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-3.038" cy="0.855" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-2.788" cy="0.855" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-2.538" cy="0.855" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-2.288" cy="0.855" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-2.038" cy="0.855" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-1.788" cy="0.855" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-1.538" cy="0.855" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-1.288" cy="0.855" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="1.288" cy="0.855" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="1.538" cy="0.855" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="1.788" cy="0.855" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="2.038" cy="0.855" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="2.288" cy="0.855" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="2.538" cy="0.855" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="2.788" cy="0.855" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="3.038" cy="0.855" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-3.038" cy="1.730" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-2.788" cy="1.730" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-2.538" cy="1.730" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-2.288" cy="1.730" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-2.038" cy="1.730" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-1.788" cy="1.730" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-1.538" cy="1.730" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-1.288" cy="1.730" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="1.288" cy="1.730" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="1.538" cy="1.730" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="1.788" cy="1.730" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="2.038" cy="1.730" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="2.288" cy="1.730" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="2.538" cy="1.730" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="2.788" cy="1.730" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="3.038" cy="1.730" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-1.900" cy="2.812" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-1.900" cy="3.062" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-1.900" cy="-3.062" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-1.900" cy="-2.812" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-1.400" cy="2.812" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-1.400" cy="3.062" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-1.400" cy="-3.062" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-1.400" cy="-2.812" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-0.900" cy="2.812" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-0.900" cy="3.062" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-0.900" cy="-3.062" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-0.900" cy="-2.812" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-0.400" cy="2.812" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-0.400" cy="3.062" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-0.400" cy="-3.062" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-0.400" cy="-2.812" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="0.400" cy="2.812" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="0.400" cy="3.062" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="0.400" cy="-3.062" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="0.400" cy="-2.812" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="0.900" cy="2.812" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="0.900" cy="3.062" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="0.900" cy="-3.062" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="0.900" cy="-2.812" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="1.400" cy="2.812" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="1.400" cy="3.062" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="1.400" cy="-3.062" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="1.400" cy="-2.812" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="1.900" cy="2.812" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="1.900" cy="3.062" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="1.900" cy="-3.062" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="1.900" cy="-2.812" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-2.525" cy="-2.800" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="2.525" cy="-2.800" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-2.525" cy="2.800" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="2.525" cy="2.800" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-0.250" cy="-1.625" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-0.250" cy="-1.375" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="0.000" cy="-1.625" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="0.000" cy="-1.375" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="0.250" cy="-1.625" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="0.250" cy="-1.375" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-0.250" cy="-0.625" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-0.250" cy="-0.375" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="0.000" cy="-0.625" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="0.000" cy="-0.375" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="0.250" cy="-0.625" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="0.250" cy="-0.375" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-0.250" cy="0.375" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-0.250" cy="0.625" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="0.000" cy="0.375" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="0.000" cy="0.625" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="0.250" cy="0.375" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="0.250" cy="0.625" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-0.250" cy="1.375" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-0.250" cy="1.625" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="0.000" cy="1.375" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="0.000" cy="1.625" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="0.250" cy="1.375" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="0.250" cy="1.625" r="0.150" fill="#37c8a6" opacity="0.92"/></g></svg>+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="-4.840 -4.750 9.590 9.500" preserveAspectRatio="xMidYMid meet"><g class="adom-layer-courtyard"><rect x="-3.750" y="-3.750" width="7.500" height="7.500" fill="none" stroke="#FF26E2" stroke-width="0.05" stroke-dasharray="0.2,0.1"/></g><g class="adom-layer-fab"><path d="M-2.500,-3.000 L3.000,-3.000 L3.000,3.000 L-3.000,3.000 L-3.000,-2.500 Z" fill="none" stroke="#6e7681" stroke-width="0.1"/></g><g class="adom-layer-copper"><g data-pad="1" data-shape="rect" data-size="2.275x0.590" data-mount="smd"><rect x="-3.300" y="-2.025" width="2.275" height="0.590" fill="#C83434" stroke="#ef5350" stroke-width="0.04"/></g><g data-pad="20" data-shape="rect" data-size="2.275x0.590" data-mount="smd"><rect x="1.025" y="-2.025" width="2.275" height="0.590" fill="#C83434" stroke="#ef5350" stroke-width="0.04"/></g><g data-pad="2" data-shape="rect" data-size="2.275x0.590" data-mount="smd"><rect x="-3.300" y="-1.150" width="2.275" height="0.590" fill="#C83434" stroke="#ef5350" stroke-width="0.04"/></g><g data-pad="19" data-shape="rect" data-size="2.275x0.590" data-mount="smd"><rect x="1.025" y="-1.150" width="2.275" height="0.590" fill="#C83434" stroke="#ef5350" stroke-width="0.04"/></g><g data-pad="3" data-shape="rect" data-size="2.275x0.590" data-mount="smd"><rect x="-3.300" y="-0.295" width="2.275" height="0.590" fill="#C83434" stroke="#ef5350" stroke-width="0.04"/></g><g data-pad="18" data-shape="rect" data-size="2.275x0.590" data-mount="smd"><rect x="1.025" y="-0.295" width="2.275" height="0.590" fill="#C83434" stroke="#ef5350" stroke-width="0.04"/></g><g data-pad="4" data-shape="rect" data-size="2.275x0.590" data-mount="smd"><rect x="-3.300" y="0.560" width="2.275" height="0.590" fill="#C83434" stroke="#ef5350" stroke-width="0.04"/></g><g data-pad="17" data-shape="rect" data-size="2.275x0.590" data-mount="smd"><rect x="1.025" y="0.560" width="2.275" height="0.590" fill="#C83434" stroke="#ef5350" stroke-width="0.04"/></g><g data-pad="5" data-shape="rect" data-size="2.275x0.590" data-mount="smd"><rect x="-3.300" y="1.435" width="2.275" height="0.590" fill="#C83434" stroke="#ef5350" stroke-width="0.04"/></g><g data-pad="16" data-shape="rect" data-size="2.275x0.590" data-mount="smd"><rect x="1.025" y="1.435" width="2.275" height="0.590" fill="#C83434" stroke="#ef5350" stroke-width="0.04"/></g><g data-pad="7" data-shape="rect" data-size="0.300x0.725" data-mount="smd"><rect x="-2.050" y="2.575" width="0.300" height="0.725" fill="#C83434" stroke="#ef5350" stroke-width="0.04"/></g><g data-pad="29" data-shape="rect" data-size="0.300x0.725" data-mount="smd"><rect x="-2.050" y="-3.300" width="0.300" height="0.725" fill="#C83434" stroke="#ef5350" stroke-width="0.04"/></g><g data-pad="8" data-shape="rect" data-size="0.300x0.725" data-mount="smd"><rect x="-1.550" y="2.575" width="0.300" height="0.725" fill="#C83434" stroke="#ef5350" stroke-width="0.04"/></g><g data-pad="28" data-shape="rect" data-size="0.300x0.725" data-mount="smd"><rect x="-1.550" y="-3.300" width="0.300" height="0.725" fill="#C83434" stroke="#ef5350" stroke-width="0.04"/></g><g data-pad="9" data-shape="rect" data-size="0.300x0.725" data-mount="smd"><rect x="-1.050" y="2.575" width="0.300" height="0.725" fill="#C83434" stroke="#ef5350" stroke-width="0.04"/></g><g data-pad="27" data-shape="rect" data-size="0.300x0.725" data-mount="smd"><rect x="-1.050" y="-3.300" width="0.300" height="0.725" fill="#C83434" stroke="#ef5350" stroke-width="0.04"/></g><g data-pad="10" data-shape="rect" data-size="0.300x0.725" data-mount="smd"><rect x="-0.550" y="2.575" width="0.300" height="0.725" fill="#C83434" stroke="#ef5350" stroke-width="0.04"/></g><g data-pad="26" data-shape="rect" data-size="0.300x0.725" data-mount="smd"><rect x="-0.550" y="-3.300" width="0.300" height="0.725" fill="#C83434" stroke="#ef5350" stroke-width="0.04"/></g><g data-pad="11" data-shape="rect" data-size="0.300x0.725" data-mount="smd"><rect x="0.250" y="2.575" width="0.300" height="0.725" fill="#C83434" stroke="#ef5350" stroke-width="0.04"/></g><g data-pad="25" data-shape="rect" data-size="0.300x0.725" data-mount="smd"><rect x="0.250" y="-3.300" width="0.300" height="0.725" fill="#C83434" stroke="#ef5350" stroke-width="0.04"/></g><g data-pad="12" data-shape="rect" data-size="0.300x0.725" data-mount="smd"><rect x="0.750" y="2.575" width="0.300" height="0.725" fill="#C83434" stroke="#ef5350" stroke-width="0.04"/></g><g data-pad="24" data-shape="rect" data-size="0.300x0.725" data-mount="smd"><rect x="0.750" y="-3.300" width="0.300" height="0.725" fill="#C83434" stroke="#ef5350" stroke-width="0.04"/></g><g data-pad="13" data-shape="rect" data-size="0.300x0.725" data-mount="smd"><rect x="1.250" y="2.575" width="0.300" height="0.725" fill="#C83434" stroke="#ef5350" stroke-width="0.04"/></g><g data-pad="23" data-shape="rect" data-size="0.300x0.725" data-mount="smd"><rect x="1.250" y="-3.300" width="0.300" height="0.725" fill="#C83434" stroke="#ef5350" stroke-width="0.04"/></g><g data-pad="14" data-shape="rect" data-size="0.300x0.725" data-mount="smd"><rect x="1.750" y="2.575" width="0.300" height="0.725" fill="#C83434" stroke="#ef5350" stroke-width="0.04"/></g><g data-pad="22" data-shape="rect" data-size="0.300x0.725" data-mount="smd"><rect x="1.750" y="-3.300" width="0.300" height="0.725" fill="#C83434" stroke="#ef5350" stroke-width="0.04"/></g><g data-pad="EP" data-shape="rect" data-size="1.450x4.050" data-mount="smd"><rect x="-0.725" y="-2.025" width="1.450" height="4.050" fill="#C83434" stroke="#ef5350" stroke-width="0.04"/></g><g data-pad="EP" data-shape="circle" data-size="0.600x0.600" data-mount="thru_hole"><circle cx="-0.350" cy="-1.400" r="0.300" fill="#C83434" stroke="#ef5350" stroke-width="0.04"/></g><g data-pad="EP" data-shape="circle" data-size="0.600x0.600" data-mount="thru_hole"><circle cx="0.350" cy="-1.400" r="0.300" fill="#C83434" stroke="#ef5350" stroke-width="0.04"/></g><g data-pad="EP" data-shape="circle" data-size="0.600x0.600" data-mount="thru_hole"><circle cx="-0.350" cy="-0.700" r="0.300" fill="#C83434" stroke="#ef5350" stroke-width="0.04"/></g><g data-pad="EP" data-shape="circle" data-size="0.600x0.600" data-mount="thru_hole"><circle cx="0.350" cy="-0.700" r="0.300" fill="#C83434" stroke="#ef5350" stroke-width="0.04"/></g><g data-pad="EP" data-shape="circle" data-size="0.600x0.600" data-mount="thru_hole"><circle cx="-0.350" cy="0.000" r="0.300" fill="#C83434" stroke="#ef5350" stroke-width="0.04"/></g><g data-pad="EP" data-shape="circle" data-size="0.600x0.600" data-mount="thru_hole"><circle cx="0.350" cy="0.000" r="0.300" fill="#C83434" stroke="#ef5350" stroke-width="0.04"/></g><g data-pad="EP" data-shape="circle" data-size="0.600x0.600" data-mount="thru_hole"><circle cx="-0.350" cy="0.700" r="0.300" fill="#C83434" stroke="#ef5350" stroke-width="0.04"/></g><g data-pad="EP" data-shape="circle" data-size="0.600x0.600" data-mount="thru_hole"><circle cx="0.350" cy="0.700" r="0.300" fill="#C83434" stroke="#ef5350" stroke-width="0.04"/></g><g data-pad="EP" data-shape="circle" data-size="0.600x0.600" data-mount="thru_hole"><circle cx="-0.350" cy="1.400" r="0.300" fill="#C83434" stroke="#ef5350" stroke-width="0.04"/></g><g data-pad="EP" data-shape="circle" data-size="0.600x0.600" data-mount="thru_hole"><circle cx="0.350" cy="1.400" r="0.300" fill="#C83434" stroke="#ef5350" stroke-width="0.04"/></g><g data-pad="30" data-shape="custom" data-size="0.400x0.400" data-mount="smd"><rect x="-2.725" y="-3.000" width="0.400" height="0.400" fill="#C83434" stroke="#ef5350" stroke-width="0.04"/></g><g data-pad="21" data-shape="custom" data-size="0.400x0.400" data-mount="smd"><rect x="2.325" y="-3.000" width="0.400" height="0.400" fill="#C83434" stroke="#ef5350" stroke-width="0.04"/></g><g data-pad="6" data-shape="custom" data-size="0.400x0.400" data-mount="smd"><rect x="-2.725" y="2.600" width="0.400" height="0.400" fill="#C83434" stroke="#ef5350" stroke-width="0.04"/></g><g data-pad="15" data-shape="custom" data-size="0.400x0.400" data-mount="smd"><rect x="2.325" y="2.600" width="0.400" height="0.400" fill="#C83434" stroke="#ef5350" stroke-width="0.04"/></g></g><g class="adom-layer-heatsink"></g><g class="adom-layer-drill"><circle cx="-0.350" cy="-1.400" r="0.150" fill="#0d1117" stroke="#666" stroke-width="0.05"/><circle cx="0.350" cy="-1.400" r="0.150" fill="#0d1117" stroke="#666" stroke-width="0.05"/><circle cx="-0.350" cy="-0.700" r="0.150" fill="#0d1117" stroke="#666" stroke-width="0.05"/><circle cx="0.350" cy="-0.700" r="0.150" fill="#0d1117" stroke="#666" stroke-width="0.05"/><circle cx="-0.350" cy="0.000" r="0.150" fill="#0d1117" stroke="#666" stroke-width="0.05"/><circle cx="0.350" cy="0.000" r="0.150" fill="#0d1117" stroke="#666" stroke-width="0.05"/><circle cx="-0.350" cy="0.700" r="0.150" fill="#0d1117" stroke="#666" stroke-width="0.05"/><circle cx="0.350" cy="0.700" r="0.150" fill="#0d1117" stroke="#666" stroke-width="0.05"/><circle cx="-0.350" cy="1.400" r="0.150" fill="#0d1117" stroke="#666" stroke-width="0.05"/><circle cx="0.350" cy="1.400" r="0.150" fill="#0d1117" stroke="#666" stroke-width="0.05"/></g><g class="adom-layer-silk"><line x1="-3.520" y1="-3.520" x2="-2.920" y2="-3.520" stroke="#00cccc" stroke-width="0.12" stroke-linecap="round"/><line x1="-3.520" y1="-3.520" x2="-3.520" y2="-2.920" stroke="#00cccc" stroke-width="0.12" stroke-linecap="round"/><line x1="-3.520" y1="3.520" x2="-2.920" y2="3.520" stroke="#00cccc" stroke-width="0.12" stroke-linecap="round"/><line x1="-3.520" y1="3.520" x2="-3.520" y2="2.920" stroke="#00cccc" stroke-width="0.12" stroke-linecap="round"/><line x1="3.520" y1="-3.520" x2="2.920" y2="-3.520" stroke="#00cccc" stroke-width="0.12" stroke-linecap="round"/><line x1="3.520" y1="-3.520" x2="3.520" y2="-2.920" stroke="#00cccc" stroke-width="0.12" stroke-linecap="round"/><line x1="3.520" y1="3.520" x2="2.920" y2="3.520" stroke="#00cccc" stroke-width="0.12" stroke-linecap="round"/><line x1="3.520" y1="3.520" x2="3.520" y2="2.920" stroke="#00cccc" stroke-width="0.12" stroke-linecap="round"/><circle cx="-3.720" cy="-1.730" r="0.120" fill="#00cccc" stroke="#00cccc" stroke-width="0.12"/></g><g class="adom-layer-padnum"><text x="-2.163" y="-1.730" text-anchor="middle" dominant-baseline="central" font-size="0.248" fill="#fff" font-family="sans-serif" style="pointer-events:none">1</text><text x="2.163" y="-1.730" text-anchor="middle" dominant-baseline="central" font-size="0.248" fill="#fff" font-family="sans-serif" style="pointer-events:none">20</text><text x="-2.163" y="-0.855" text-anchor="middle" dominant-baseline="central" font-size="0.248" fill="#fff" font-family="sans-serif" style="pointer-events:none">2</text><text x="2.163" y="-0.855" text-anchor="middle" dominant-baseline="central" font-size="0.248" fill="#fff" font-family="sans-serif" style="pointer-events:none">19</text><text x="-2.163" y="0.000" text-anchor="middle" dominant-baseline="central" font-size="0.248" fill="#fff" font-family="sans-serif" style="pointer-events:none">3</text><text x="2.163" y="0.000" text-anchor="middle" dominant-baseline="central" font-size="0.248" fill="#fff" font-family="sans-serif" style="pointer-events:none">18</text><text x="-2.163" y="0.855" text-anchor="middle" dominant-baseline="central" font-size="0.248" fill="#fff" font-family="sans-serif" style="pointer-events:none">4</text><text x="2.163" y="0.855" text-anchor="middle" dominant-baseline="central" font-size="0.248" fill="#fff" font-family="sans-serif" style="pointer-events:none">17</text><text x="-2.163" y="1.730" text-anchor="middle" dominant-baseline="central" font-size="0.248" fill="#fff" font-family="sans-serif" style="pointer-events:none">5</text><text x="2.163" y="1.730" text-anchor="middle" dominant-baseline="central" font-size="0.248" fill="#fff" font-family="sans-serif" style="pointer-events:none">16</text><text x="-1.900" y="2.938" text-anchor="middle" dominant-baseline="central" font-size="0.126" fill="#fff" font-family="sans-serif" style="pointer-events:none">7</text><text x="-1.900" y="-2.938" text-anchor="middle" dominant-baseline="central" font-size="0.126" fill="#fff" font-family="sans-serif" style="pointer-events:none">29</text><text x="-1.400" y="2.938" text-anchor="middle" dominant-baseline="central" font-size="0.126" fill="#fff" font-family="sans-serif" style="pointer-events:none">8</text><text x="-1.400" y="-2.938" text-anchor="middle" dominant-baseline="central" font-size="0.126" fill="#fff" font-family="sans-serif" style="pointer-events:none">28</text><text x="-0.900" y="2.938" text-anchor="middle" dominant-baseline="central" font-size="0.126" fill="#fff" font-family="sans-serif" style="pointer-events:none">9</text><text x="-0.900" y="-2.938" text-anchor="middle" dominant-baseline="central" font-size="0.126" fill="#fff" font-family="sans-serif" style="pointer-events:none">27</text><text x="-0.400" y="2.938" text-anchor="middle" dominant-baseline="central" font-size="0.126" fill="#fff" font-family="sans-serif" style="pointer-events:none">10</text><text x="-0.400" y="-2.938" text-anchor="middle" dominant-baseline="central" font-size="0.126" fill="#fff" font-family="sans-serif" style="pointer-events:none">26</text><text x="0.400" y="2.938" text-anchor="middle" dominant-baseline="central" font-size="0.126" fill="#fff" font-family="sans-serif" style="pointer-events:none">11</text><text x="0.400" y="-2.938" text-anchor="middle" dominant-baseline="central" font-size="0.126" fill="#fff" font-family="sans-serif" style="pointer-events:none">25</text><text x="0.900" y="2.938" text-anchor="middle" dominant-baseline="central" font-size="0.126" fill="#fff" font-family="sans-serif" style="pointer-events:none">12</text><text x="0.900" y="-2.938" text-anchor="middle" dominant-baseline="central" font-size="0.126" fill="#fff" font-family="sans-serif" style="pointer-events:none">24</text><text x="1.400" y="2.938" text-anchor="middle" dominant-baseline="central" font-size="0.126" fill="#fff" font-family="sans-serif" style="pointer-events:none">13</text><text x="1.400" y="-2.938" text-anchor="middle" dominant-baseline="central" font-size="0.126" fill="#fff" font-family="sans-serif" style="pointer-events:none">23</text><text x="1.900" y="2.938" text-anchor="middle" dominant-baseline="central" font-size="0.126" fill="#fff" font-family="sans-serif" style="pointer-events:none">14</text><text x="1.900" y="-2.938" text-anchor="middle" dominant-baseline="central" font-size="0.126" fill="#fff" font-family="sans-serif" style="pointer-events:none">22</text><text x="0.000" y="0.000" text-anchor="middle" dominant-baseline="central" font-size="0.609" fill="#fff" font-family="sans-serif" style="pointer-events:none">EP</text><text x="-0.350" y="-1.400" text-anchor="middle" dominant-baseline="central" font-size="0.252" fill="#fff" font-family="sans-serif" style="pointer-events:none">EP</text><text x="0.350" y="-1.400" text-anchor="middle" dominant-baseline="central" font-size="0.252" fill="#fff" font-family="sans-serif" style="pointer-events:none">EP</text><text x="-0.350" y="-0.700" text-anchor="middle" dominant-baseline="central" font-size="0.252" fill="#fff" font-family="sans-serif" style="pointer-events:none">EP</text><text x="0.350" y="-0.700" text-anchor="middle" dominant-baseline="central" font-size="0.252" fill="#fff" font-family="sans-serif" style="pointer-events:none">EP</text><text x="-0.350" y="0.000" text-anchor="middle" dominant-baseline="central" font-size="0.252" fill="#fff" font-family="sans-serif" style="pointer-events:none">EP</text><text x="0.350" y="0.000" text-anchor="middle" dominant-baseline="central" font-size="0.252" fill="#fff" font-family="sans-serif" style="pointer-events:none">EP</text><text x="-0.350" y="0.700" text-anchor="middle" dominant-baseline="central" font-size="0.252" fill="#fff" font-family="sans-serif" style="pointer-events:none">EP</text><text x="0.350" y="0.700" text-anchor="middle" dominant-baseline="central" font-size="0.252" fill="#fff" font-family="sans-serif" style="pointer-events:none">EP</text><text x="-0.350" y="1.400" text-anchor="middle" dominant-baseline="central" font-size="0.252" fill="#fff" font-family="sans-serif" style="pointer-events:none">EP</text><text x="0.350" y="1.400" text-anchor="middle" dominant-baseline="central" font-size="0.252" fill="#fff" font-family="sans-serif" style="pointer-events:none">EP</text><text x="-2.525" y="-2.800" text-anchor="middle" dominant-baseline="central" font-size="0.168" fill="#fff" font-family="sans-serif" style="pointer-events:none">30</text><text x="2.525" y="-2.800" text-anchor="middle" dominant-baseline="central" font-size="0.168" fill="#fff" font-family="sans-serif" style="pointer-events:none">21</text><text x="-2.525" y="2.800" text-anchor="middle" dominant-baseline="central" font-size="0.168" fill="#fff" font-family="sans-serif" style="pointer-events:none">6</text><text x="2.525" y="2.800" text-anchor="middle" dominant-baseline="central" font-size="0.168" fill="#fff" font-family="sans-serif" style="pointer-events:none">15</text></g><g class="adom-layer-paste-apertures"><rect x="-3.300" y="-2.025" width="2.275" height="0.590" rx="0.05" transform="rotate(0.00 -2.163 -1.730)" fill="none" stroke="#8aa0b8" stroke-width="0.03" stroke-dasharray="0.12 0.08" opacity="0.7"/><rect x="1.025" y="-2.025" width="2.275" height="0.590" rx="0.05" transform="rotate(0.00 2.163 -1.730)" fill="none" stroke="#8aa0b8" stroke-width="0.03" stroke-dasharray="0.12 0.08" opacity="0.7"/><rect x="-3.300" y="-1.150" width="2.275" height="0.590" rx="0.05" transform="rotate(0.00 -2.163 -0.855)" fill="none" stroke="#8aa0b8" stroke-width="0.03" stroke-dasharray="0.12 0.08" opacity="0.7"/><rect x="1.025" y="-1.150" width="2.275" height="0.590" rx="0.05" transform="rotate(0.00 2.163 -0.855)" fill="none" stroke="#8aa0b8" stroke-width="0.03" stroke-dasharray="0.12 0.08" opacity="0.7"/><rect x="-3.300" y="-0.295" width="2.275" height="0.590" rx="0.05" transform="rotate(0.00 -2.163 0.000)" fill="none" stroke="#8aa0b8" stroke-width="0.03" stroke-dasharray="0.12 0.08" opacity="0.7"/><rect x="1.025" y="-0.295" width="2.275" height="0.590" rx="0.05" transform="rotate(0.00 2.163 0.000)" fill="none" stroke="#8aa0b8" stroke-width="0.03" stroke-dasharray="0.12 0.08" opacity="0.7"/><rect x="-3.300" y="0.560" width="2.275" height="0.590" rx="0.05" transform="rotate(0.00 -2.163 0.855)" fill="none" stroke="#8aa0b8" stroke-width="0.03" stroke-dasharray="0.12 0.08" opacity="0.7"/><rect x="1.025" y="0.560" width="2.275" height="0.590" rx="0.05" transform="rotate(0.00 2.163 0.855)" fill="none" stroke="#8aa0b8" stroke-width="0.03" stroke-dasharray="0.12 0.08" opacity="0.7"/><rect x="-3.300" y="1.435" width="2.275" height="0.590" rx="0.05" transform="rotate(0.00 -2.163 1.730)" fill="none" stroke="#8aa0b8" stroke-width="0.03" stroke-dasharray="0.12 0.08" opacity="0.7"/><rect x="1.025" y="1.435" width="2.275" height="0.590" rx="0.05" transform="rotate(0.00 2.163 1.730)" fill="none" stroke="#8aa0b8" stroke-width="0.03" stroke-dasharray="0.12 0.08" opacity="0.7"/><rect x="-2.050" y="2.575" width="0.300" height="0.725" rx="0.05" transform="rotate(0.00 -1.900 2.938)" fill="none" stroke="#8aa0b8" stroke-width="0.03" stroke-dasharray="0.12 0.08" opacity="0.7"/><rect x="-2.050" y="-3.300" width="0.300" height="0.725" rx="0.05" transform="rotate(0.00 -1.900 -2.938)" fill="none" stroke="#8aa0b8" stroke-width="0.03" stroke-dasharray="0.12 0.08" opacity="0.7"/><rect x="-1.550" y="2.575" width="0.300" height="0.725" rx="0.05" transform="rotate(0.00 -1.400 2.938)" fill="none" stroke="#8aa0b8" stroke-width="0.03" stroke-dasharray="0.12 0.08" opacity="0.7"/><rect x="-1.550" y="-3.300" width="0.300" height="0.725" rx="0.05" transform="rotate(0.00 -1.400 -2.938)" fill="none" stroke="#8aa0b8" stroke-width="0.03" stroke-dasharray="0.12 0.08" opacity="0.7"/><rect x="-1.050" y="2.575" width="0.300" height="0.725" rx="0.05" transform="rotate(0.00 -0.900 2.938)" fill="none" stroke="#8aa0b8" stroke-width="0.03" stroke-dasharray="0.12 0.08" opacity="0.7"/><rect x="-1.050" y="-3.300" width="0.300" height="0.725" rx="0.05" transform="rotate(0.00 -0.900 -2.938)" fill="none" stroke="#8aa0b8" stroke-width="0.03" stroke-dasharray="0.12 0.08" opacity="0.7"/><rect x="-0.550" y="2.575" width="0.300" height="0.725" rx="0.05" transform="rotate(0.00 -0.400 2.938)" fill="none" stroke="#8aa0b8" stroke-width="0.03" stroke-dasharray="0.12 0.08" opacity="0.7"/><rect x="-0.550" y="-3.300" width="0.300" height="0.725" rx="0.05" transform="rotate(0.00 -0.400 -2.938)" fill="none" stroke="#8aa0b8" stroke-width="0.03" stroke-dasharray="0.12 0.08" opacity="0.7"/><rect x="0.250" y="2.575" width="0.300" height="0.725" rx="0.05" transform="rotate(0.00 0.400 2.938)" fill="none" stroke="#8aa0b8" stroke-width="0.03" stroke-dasharray="0.12 0.08" opacity="0.7"/><rect x="0.250" y="-3.300" width="0.300" height="0.725" rx="0.05" transform="rotate(0.00 0.400 -2.938)" fill="none" stroke="#8aa0b8" stroke-width="0.03" stroke-dasharray="0.12 0.08" opacity="0.7"/><rect x="0.750" y="2.575" width="0.300" height="0.725" rx="0.05" transform="rotate(0.00 0.900 2.938)" fill="none" stroke="#8aa0b8" stroke-width="0.03" stroke-dasharray="0.12 0.08" opacity="0.7"/><rect x="0.750" y="-3.300" width="0.300" height="0.725" rx="0.05" transform="rotate(0.00 0.900 -2.938)" fill="none" stroke="#8aa0b8" stroke-width="0.03" stroke-dasharray="0.12 0.08" opacity="0.7"/><rect x="1.250" y="2.575" width="0.300" height="0.725" rx="0.05" transform="rotate(0.00 1.400 2.938)" fill="none" stroke="#8aa0b8" stroke-width="0.03" stroke-dasharray="0.12 0.08" opacity="0.7"/><rect x="1.250" y="-3.300" width="0.300" height="0.725" rx="0.05" transform="rotate(0.00 1.400 -2.938)" fill="none" stroke="#8aa0b8" stroke-width="0.03" stroke-dasharray="0.12 0.08" opacity="0.7"/><rect x="1.750" y="2.575" width="0.300" height="0.725" rx="0.05" transform="rotate(0.00 1.900 2.938)" fill="none" stroke="#8aa0b8" stroke-width="0.03" stroke-dasharray="0.12 0.08" opacity="0.7"/><rect x="1.750" y="-3.300" width="0.300" height="0.725" rx="0.05" transform="rotate(0.00 1.900 -2.938)" fill="none" stroke="#8aa0b8" stroke-width="0.03" stroke-dasharray="0.12 0.08" opacity="0.7"/><rect x="-2.725" y="-3.000" width="0.400" height="0.400" rx="0.05" transform="rotate(0.00 -2.525 -2.800)" fill="none" stroke="#8aa0b8" stroke-width="0.03" stroke-dasharray="0.12 0.08" opacity="0.7"/><rect x="2.325" y="-3.000" width="0.400" height="0.400" rx="0.05" transform="rotate(0.00 2.525 -2.800)" fill="none" stroke="#8aa0b8" stroke-width="0.03" stroke-dasharray="0.12 0.08" opacity="0.7"/><rect x="-2.725" y="2.600" width="0.400" height="0.400" rx="0.05" transform="rotate(0.00 -2.525 2.800)" fill="none" stroke="#8aa0b8" stroke-width="0.03" stroke-dasharray="0.12 0.08" opacity="0.7"/><rect x="2.325" y="2.600" width="0.400" height="0.400" rx="0.05" transform="rotate(0.00 2.525 2.800)" fill="none" stroke="#8aa0b8" stroke-width="0.03" stroke-dasharray="0.12 0.08" opacity="0.7"/><rect x="-0.575" y="-1.925" width="1.150" height="0.850" rx="0.05" transform="rotate(0.00 0.000 -1.500)" fill="none" stroke="#8aa0b8" stroke-width="0.03" stroke-dasharray="0.12 0.08" opacity="0.7"/><rect x="-0.575" y="-0.925" width="1.150" height="0.850" rx="0.05" transform="rotate(0.00 0.000 -0.500)" fill="none" stroke="#8aa0b8" stroke-width="0.03" stroke-dasharray="0.12 0.08" opacity="0.7"/><rect x="-0.575" y="0.075" width="1.150" height="0.850" rx="0.05" transform="rotate(0.00 0.000 0.500)" fill="none" stroke="#8aa0b8" stroke-width="0.03" stroke-dasharray="0.12 0.08" opacity="0.7"/><rect x="-0.575" y="1.075" width="1.150" height="0.850" rx="0.05" transform="rotate(0.00 0.000 1.500)" fill="none" stroke="#8aa0b8" stroke-width="0.03" stroke-dasharray="0.12 0.08" opacity="0.7"/></g><g class="adom-layer-paste-dots"><circle cx="-3.038" cy="-1.730" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-2.788" cy="-1.730" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-2.538" cy="-1.730" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-2.288" cy="-1.730" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-2.038" cy="-1.730" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-1.788" cy="-1.730" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-1.538" cy="-1.730" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-1.288" cy="-1.730" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="1.288" cy="-1.730" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="1.538" cy="-1.730" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="1.788" cy="-1.730" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="2.038" cy="-1.730" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="2.288" cy="-1.730" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="2.538" cy="-1.730" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="2.788" cy="-1.730" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="3.038" cy="-1.730" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-3.038" cy="-0.855" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-2.788" cy="-0.855" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-2.538" cy="-0.855" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-2.288" cy="-0.855" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-2.038" cy="-0.855" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-1.788" cy="-0.855" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-1.538" cy="-0.855" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-1.288" cy="-0.855" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="1.288" cy="-0.855" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="1.538" cy="-0.855" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="1.788" cy="-0.855" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="2.038" cy="-0.855" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="2.288" cy="-0.855" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="2.538" cy="-0.855" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="2.788" cy="-0.855" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="3.038" cy="-0.855" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-3.038" cy="0.000" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-2.788" cy="0.000" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-2.538" cy="0.000" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-2.288" cy="0.000" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-2.038" cy="0.000" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-1.788" cy="0.000" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-1.538" cy="0.000" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-1.288" cy="0.000" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="1.288" cy="0.000" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="1.538" cy="0.000" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="1.788" cy="0.000" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="2.038" cy="0.000" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="2.288" cy="0.000" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="2.538" cy="0.000" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="2.788" cy="0.000" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="3.038" cy="0.000" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-3.038" cy="0.855" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-2.788" cy="0.855" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-2.538" cy="0.855" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-2.288" cy="0.855" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-2.038" cy="0.855" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-1.788" cy="0.855" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-1.538" cy="0.855" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-1.288" cy="0.855" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="1.288" cy="0.855" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="1.538" cy="0.855" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="1.788" cy="0.855" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="2.038" cy="0.855" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="2.288" cy="0.855" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="2.538" cy="0.855" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="2.788" cy="0.855" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="3.038" cy="0.855" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-3.038" cy="1.730" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-2.788" cy="1.730" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-2.538" cy="1.730" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-2.288" cy="1.730" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-2.038" cy="1.730" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-1.788" cy="1.730" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-1.538" cy="1.730" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-1.288" cy="1.730" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="1.288" cy="1.730" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="1.538" cy="1.730" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="1.788" cy="1.730" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="2.038" cy="1.730" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="2.288" cy="1.730" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="2.538" cy="1.730" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="2.788" cy="1.730" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="3.038" cy="1.730" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-1.900" cy="2.812" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-1.900" cy="3.062" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-1.900" cy="-3.062" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-1.900" cy="-2.812" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-1.400" cy="2.812" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-1.400" cy="3.062" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-1.400" cy="-3.062" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-1.400" cy="-2.812" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-0.900" cy="2.812" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-0.900" cy="3.062" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-0.900" cy="-3.062" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-0.900" cy="-2.812" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-0.400" cy="2.812" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-0.400" cy="3.062" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-0.400" cy="-3.062" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-0.400" cy="-2.812" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="0.400" cy="2.812" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="0.400" cy="3.062" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="0.400" cy="-3.062" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="0.400" cy="-2.812" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="0.900" cy="2.812" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="0.900" cy="3.062" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="0.900" cy="-3.062" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="0.900" cy="-2.812" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="1.400" cy="2.812" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="1.400" cy="3.062" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="1.400" cy="-3.062" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="1.400" cy="-2.812" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="1.900" cy="2.812" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="1.900" cy="3.062" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="1.900" cy="-3.062" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="1.900" cy="-2.812" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-2.525" cy="-2.800" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="2.525" cy="-2.800" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-2.525" cy="2.800" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="2.525" cy="2.800" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-0.250" cy="-1.625" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-0.250" cy="-1.375" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="0.000" cy="-1.625" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="0.000" cy="-1.375" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="0.250" cy="-1.625" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="0.250" cy="-1.375" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-0.250" cy="-0.625" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-0.250" cy="-0.375" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="0.000" cy="-0.625" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="0.000" cy="-0.375" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="0.250" cy="-0.625" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="0.250" cy="-0.375" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-0.250" cy="0.375" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-0.250" cy="0.625" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="0.000" cy="0.375" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="0.000" cy="0.625" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="0.250" cy="0.375" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="0.250" cy="0.625" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-0.250" cy="1.375" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-0.250" cy="1.625" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="0.000" cy="1.375" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="0.000" cy="1.625" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="0.250" cy="1.375" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="0.250" cy="1.625" r="0.150" fill="#37c8a6" opacity="0.92"/></g></svg> </div> </div> <aside>
viewers/symbol.html+26@@ -1075,6 +1075,32 @@ stroke-linecap:round; stroke-linejoin:round;"> ++++++++++++++++++++++++++