From 198dd847733c290beda9c48f2261643ec4cea810 Mon Sep 17 00:00:00 2001 From: survival-ai-agent Date: Mon, 31 Aug 2026 22:16:24 +0200 Subject: [PATCH 1/3] test: add regression tests for previously-failing JLCPCB imports Adds conversion regression tests for C2879853, C9900014805, C5360621, and C544843, which were reported as failing to import. All four now convert cleanly; these tests lock in that behavior via inline snapshots. Closes #240 Closes #239 Closes #218 Closes #262 --- tests/assets/C2879853.raweasy.json | 238 +++++++++++++++ tests/assets/C5360621.raweasy.json | 283 ++++++++++++++++++ tests/assets/C544843.raweasy.json | 281 +++++++++++++++++ tests/assets/C9900014805.raweasy.json | 238 +++++++++++++++ tests/convert-to-ts/C2879853-to-ts.test.ts | 74 +++++ tests/convert-to-ts/C5360621-to-ts.test.ts | 118 ++++++++ tests/convert-to-ts/C544843-to-ts.test.ts | 90 ++++++ tests/convert-to-ts/C9900014805-to-ts.test.ts | 75 +++++ 8 files changed, 1397 insertions(+) create mode 100644 tests/assets/C2879853.raweasy.json create mode 100644 tests/assets/C5360621.raweasy.json create mode 100644 tests/assets/C544843.raweasy.json create mode 100644 tests/assets/C9900014805.raweasy.json create mode 100644 tests/convert-to-ts/C2879853-to-ts.test.ts create mode 100644 tests/convert-to-ts/C5360621-to-ts.test.ts create mode 100644 tests/convert-to-ts/C544843-to-ts.test.ts create mode 100644 tests/convert-to-ts/C9900014805-to-ts.test.ts diff --git a/tests/assets/C2879853.raweasy.json b/tests/assets/C2879853.raweasy.json new file mode 100644 index 00000000..0405d7fc --- /dev/null +++ b/tests/assets/C2879853.raweasy.json @@ -0,0 +1,238 @@ +{ + "uuid": "12f9c3ae62fd4c20a63ae72e6dbcb7d6", + "title": "SPH0641LU4H-1", + "description": "", + "docType": 2, + "type": 3, + "thumb": "//image.lceda.cn/components/12f9c3ae62fd4c20a63ae72e6dbcb7d6.png", + "lcsc": { + "id": 3089079, + "number": "C2879853" + }, + "szlcsc": { + "id": 3089079, + "number": "C2879853" + }, + "owner": { + "uuid": "0819f05c4eef4c71ace90d822a990e87", + "username": "LCSC", + "nickname": "LCSC", + "avatar": "//image.lceda.cn/avatars/2018/6/kFlrasi7W06gTdBLAqW3fkrqbDhbowynuSzkjqso.png" + }, + "tags": [], + "updateTime": 1737077403, + "updated_at": "2025-01-17 01:30:19", + "dataStr": { + "head": { + "docType": "2", + "editorVersion": "6.4.20.6", + "x": 400, + "y": 300, + "c_para": { + "pre": "U?", + "name": "SPH0641LU4H-1", + "package": "MIC-SMD_5P_L3.5-W2.7-P0.82_SPH0641LU4H-1", + "Contributor": "LCSC", + "Supplier": "LCSC", + "Supplier Part": "C2879853", + "Manufacturer": "Knowles(楼氏)", + "Manufacturer Part": "SPH0641LU4H-1", + "JLCPCB Part Class": "Extended Part" + }, + "uuid": "12f9c3ae62fd4c20a63ae72e6dbcb7d6", + "puuid": "419905241866469e87daa1a7a126691e", + "importFlag": 0, + "c_spiceCmd": null, + "hasIdFlag": true, + "utime": 1628494544 + }, + "canvas": "CA~1000~1000~#FFFFFF~yes~#CCCCCC~5~1000~1000~line~5~pixel~5~400~300", + "shape": [ + "R~355~280~2~2~90~40~#880000~1~0~none~gge1~0~", + "E~360~285~1.5~1.5~#880000~1~0~#880000~gge2~0", + "P~show~0~1~345~290~180~gge5~0^^345~290^^M345,290h10~#880000^^1~358.7~294~0~DATA~start~~~#0000FF^^1~354.5~289~0~1~end~~~#0000FF^^0~352~290^^0~M 355 293 L 358 290 L 355 287", + "P~show~0~2~345~300~180~gge6~0^^345~300^^M345,300h10~#880000^^1~358.7~304~0~SELECT~start~~~#0000FF^^1~354.5~299~0~2~end~~~#0000FF^^0~352~300^^0~M 355 303 L 358 300 L 355 297", + "P~show~0~3~345~310~180~gge7~0^^345~310^^M345,310h10~#880000^^1~358.7~314~0~GROUND~start~~~#0000FF^^1~354.5~309~0~3~end~~~#0000FF^^0~352~310^^0~M 355 313 L 358 310 L 355 307", + "P~show~0~4~455~305~0~gge8~0^^455~305^^M455,305h-10~#880000^^1~441.3~309~0~CLOCK~end~~~#0000FF^^1~445.5~304~0~4~start~~~#0000FF^^0~448~305^^0~M 445 302 L 442 305 L 445 308", + "P~show~0~5~455~295~0~gge9~0^^455~295^^M455,295h-10~#FF0000^^1~441.3~299~0~VDD~end~~~#FF0000^^1~445.5~294~0~5~start~~~#FF0000^^0~448~295^^0~M 445 292 L 442 295 L 445 298" + ], + "BBox": { + "x": 344, + "y": 279.6, + "width": 112, + "height": 40.4 + }, + "colors": [] + }, + "verify": true, + "datastrid": "c216b9bce5434bad8c33e3a41457953c", + "SMT": true, + "jlcOnSale": 1, + "writable": false, + "isFavorite": false, + "packageDetail": { + "uuid": "419905241866469e87daa1a7a126691e", + "title": "MIC-SMD_5P_L3.5-W2.7-P0.82_SPH0641LU4H-1", + "docType": 4, + "updateTime": 1703729109, + "owner": { + "uuid": "0819f05c4eef4c71ace90d822a990e87", + "username": "lcsc", + "nickname": "LCSC", + "avatar": "//image.lceda.cn/avatars/2018/6/kFlrasi7W06gTdBLAqW3fkrqbDhbowynuSzkjqso.png" + }, + "datastrid": "b45be9c75f9b472ba8274c0d00451510", + "writable": false, + "dataStr": { + "head": { + "docType": "4", + "editorVersion": "6.5.39", + "newgId": true, + "c_para": { + "package": "MIC-SMD_5P_L3.5-W2.7-P0.82_SPH0641LU4H-1", + "pre": "U?", + "Contributor": "lcsc", + "link": "https://img.jlc.com//pdf/applyPasteComponent/2021-08-07/257629D/ebb1ae7e034c4583a94c3252fc2f619e/sph0641lu4h-1-revb.pdf", + "3DModel": "MIC-SMD_5P_L3.5-W2.7-P0.82_SPH0641LU4H-1" + }, + "x": 3995.352, + "y": 2968.023, + "hasIdFlag": true, + "utime": 1703729109, + "uuid": "419905241866469e87daa1a7a126691e", + "importFlag": 0, + "transformList": "", + "uuid_3d": "085574939dfb440599fd212240983b9c" + }, + "canvas": "CA~1000~1000~#000000~yes~#FFFFFF~0.3937~1000~1000~line~0.03937~mm~0.3937~ARC~visible~0.5~3995.352~2968.023~0~none", + "shape": [ + "CIRCLE~3990.136~2961.544~0.118~0.2362~101~gge484~0~~", + "CIRCLE~3991.887~2960.835~0.492~0.9843~12~gge229~0~~", + "CIRCLE~3995.352~2971.229~0.276~0.5512~12~gge329~0~~", + "SOLIDREGION~100~~M 3997.2242 2962.04 L 4000.0786 2962.04 L 4000.0786 2964.0872 L 3997.2242 2964.0872 Z ~solid~gge225~~~~0", + "SOLIDREGION~100~~M 3997.2242 2965.2763 L 4000.0786 2965.2763 L 4000.0786 2967.3235 L 3997.2242 2967.3235 Z ~solid~gge226~~~~0", + "SOLIDREGION~100~~M 3990.6258 2965.2764 L 3993.4802 2965.2764 L 3993.4802 2967.3236 L 3990.6258 2967.3236 Z ~solid~gge227~~~~0", + "SOLIDREGION~100~~M 3990.6258 2962.0401 L 3993.4802 2962.0401 L 3993.4802 2964.0873 L 3990.6258 2964.0873 Z ~solid~gge228~~~~0", + "SOLIDREGION~100~~M 3994.9557 2968.0533 L 3994.9551 2968.0533 A 3.1988 3.1988 0 0 0 3992.1818 2970.7932 L 3993.37 2970.7932 A 0.0493 0.0493 0 0 1 3993.4192 2970.7923 A 2.0177 2.0177 0 0 1 3994.9551 2969.2959 Z ~solid~gge456~~~~0", + "SOLIDREGION~100~~M 3992.1763 2971.6253 L 3992.1763 2971.6259 A 3.1988 3.1988 0 0 0 3994.9162 2974.3992 L 3994.9162 2973.211 A 0.0493 0.0493 0 0 1 3994.9153 2973.1618 A 2.0177 2.0177 0 0 1 3993.4189 2971.6259 Z~solid~gge462~~~~0", + "SOLIDREGION~100~~M 3998.5276 2970.8327 L 3998.5276 2970.8321 A 3.1988 3.1988 0 0 0 3995.7877 2968.0588 L 3995.7877 2969.247 A 0.0493 0.0493 0 0 1 3995.7886 2969.2962 A 2.0177 2.0177 0 0 1 3997.285 2970.8321 Z~solid~gge474~~~~0", + "SOLIDREGION~100~~M 3995.748 2974.4047 L 3995.7486 2974.4047 A 3.1988 3.1988 0 0 0 3998.5219 2971.6648 L 3997.3337 2971.6648 A 0.0493 0.0493 0 0 1 3997.2845 2971.6657 A 2.0177 2.0177 0 0 1 3995.7486 2973.1621 Z~solid~gge480~~~~0", + "SOLIDREGION~99~~M 3990.1357 2975.3234 L 4000.5687 2975.3234 L 4000.5687 2961.5442 L 3990.1357 2961.5442 Z ~solid~gge223~~~~0", + "TRACK~0.5906~3~~3990.0995 2961.5443 3989.8405 2961.5443 3989.8405 2962.9615~gge237~0", + "TRACK~0.5906~3~~3996.6977 2961.5443 3994.0065 2961.5443~gge236~0", + "TRACK~0.5906~3~~4000.8639 2961.5443 4000.6051 2961.5443~gge235~0", + "TRACK~0.5906~3~~3993.6398 2975.3233 3989.8405 2975.3233 3989.8405 2973.9063~gge234~0", + "TRACK~0.5906~3~~4000.8639 2975.3233 3997.0636 2975.3233~gge233~0", + "TRACK~0.5906~3~~4000.8639 2968.4337 4000.8639 2961.5443~gge232~0", + "TRACK~0.5906~3~~4000.8639 2968.4337 4000.8639 2975.3233~gge231~0", + "TRACK~0.5906~3~~3989.8405 2962.9615 3989.8405 2973.9063~gge230~0", + "CIRCLE~3991.887~2960.284~0.591~1.1811~3~gge222~0~~", + "PAD~RECT~3998.651~2963.064~2.874~2.0866~1~~5~0~3997.2144 2962.0203 4000.0884 2962.0203 4000.0884 2964.1069 3997.2144 2964.1069~0~gge218~0~~Y~0~0~0.1969~3998.6514,2963.0636", + "PAD~RECT~3998.651~2966.3~2.874~2.0866~1~~4~0~3997.2144 2965.2566 4000.0884 2965.2566 4000.0884 2967.3432 3997.2144 2967.3432~0~gge219~0~~Y~0~0~0.1969~3998.6514,2966.2999", + "PAD~RECT~3992.053~2966.3~2.874~2.0866~1~~2~0~3990.616 2965.2567 3993.49 2965.2567 3993.49 2967.3433 3990.616 2967.3433~0~gge220~0~~Y~0~0~0.1969~3992.053,2966.3", + "PAD~RECT~3992.053~2963.064~2.874~2.0866~1~~1~0~3990.616 2962.0204 3993.49 2962.0204 3993.49 2964.107 3990.616 2964.107~0~gge221~0~~Y~0~0~0.1969~3992.053,2963.0637", + "PAD~POLYGON~3997.158~2969.514~2.74~2.7739~1~~3~0~3998.528 2970.832 3998.528 2970.8314 3998.504 2970.672 3998.472 2970.514 3998.4321 2970.3577 3998.3844 2970.2038 3998.329 2970.0524 3998.266 2969.9039 3998.1956 2969.7589 3998.118 2969.6176 3998.0334 2969.4803 3997.942 2969.3475 3997.844 2969.2195 3997.7397 2969.0966 3997.6293 2968.9791 3997.5131 2968.8673 3997.3915 2968.7615 3997.2647 2968.662 3997.133 2968.569 3996.9968 2968.4827 3996.8564 2968.4034 3996.7122 2968.3313 3996.5646 2968.2665 3996.4139 2968.2093 3996.2605 2968.1597 3996.1047 2968.1179 3995.9471 2968.084 3995.788 2968.0581 3995.788 2969.2463 3995.7951 2969.2708 3995.789 2969.2956 3995.9171 2969.3312 3996.0426 2969.3752 3996.1649 2969.4273 3996.2835 2969.4874 3996.3979 2969.5552 3996.5076 2969.6303 3996.6121 2969.7125 3996.7109 2969.8014 3996.8037 2969.8966 3996.89 2969.9978 3996.9695 2970.1044 3997.0418 2970.216 3997.1065 2970.3321 3997.1635 2970.4522 3997.2124 2970.5758 3997.2531 2970.7024 3997.2854 2970.8314~0~gge444~0~~Y~0~0~0.19685~3997.1581,2969.5137", + "PAD~POLYGON~3997.136~2972.982~2.7739~2.74~1~~3~0~3995.7489 2974.405 3995.7495 2974.405 3995.9089 2974.381 3996.0669 2974.349 3996.2232 2974.3091 3996.3771 2974.2614 3996.5285 2974.206 3996.677 2974.143 3996.822 2974.0726 3996.9633 2973.995 3997.1006 2973.9104 3997.2334 2973.819 3997.3614 2973.721 3997.4843 2973.6167 3997.6018 2973.5063 3997.7136 2973.3901 3997.8194 2973.2685 3997.9189 2973.1417 3998.0119 2973.01 3998.0982 2972.8738 3998.1775 2972.7334 3998.2496 2972.5892 3998.3144 2972.4416 3998.3716 2972.2909 3998.4212 2972.1375 3998.463 2971.9817 3998.4969 2971.8241 3998.5228 2971.665 3997.3346 2971.665 3997.3101 2971.6721 3997.2853 2971.666 3997.2497 2971.7941 3997.2057 2971.9196 3997.1536 2972.0419 3997.0935 2972.1605 3997.0257 2972.2749 3996.9506 2972.3846 3996.8684 2972.4891 3996.7795 2972.5879 3996.6843 2972.6807 3996.5831 2972.767 3996.4765 2972.8465 3996.3649 2972.9188 3996.2488 2972.9835 3996.1287 2973.0405 3996.0051 2973.0894 3995.8785 2973.1301 3995.7495 2973.1624~0~gge447~0~~Y~0~0~0.19685~3997.1357,2972.9817", + "PAD~POLYGON~3993.546~2972.944~2.74~2.7737~1~~3~0~3992.176 2971.6259 3992.176 2971.6263 3992.2 2971.7857 3992.232 2971.9438 3992.2718 2972.1 3992.3196 2972.254 3992.375 2972.4054 3992.438 2972.5538 3992.5083 2972.6988 3992.5859 2972.8402 3992.6705 2972.9774 3992.762 2973.1102 3992.86 2973.2382 3992.9643 2973.3611 3993.0747 2973.4787 3993.1908 2973.5905 3993.3125 2973.6963 3993.4393 2973.7958 3993.571 2973.8888 3993.7072 2973.9751 3993.8476 2974.0544 3993.9918 2974.1265 3994.1394 2974.1913 3994.2901 2974.2485 3994.4435 2974.2981 3994.5992 2974.3399 3994.7569 2974.3738 3994.916 2974.3997 3994.916 2973.2115 3994.9089 2973.1869 3994.915 2973.1621 3994.7869 2973.1265 3994.6614 2973.0825 3994.5391 2973.0304 3994.4205 2972.9703 3994.3061 2972.9025 3994.1964 2972.8274 3994.0919 2972.7452 3993.9931 2972.6563 3993.9003 2972.5611 3993.814 2972.4599 3993.7345 2972.3533 3993.6622 2972.2417 3993.5975 2972.1256 3993.5405 2972.0055 3993.4916 2971.8819 3993.4509 2971.7553 3993.4186 2971.6263~0~gge450~0~~Y~0~0~0.19685~3993.546,2972.9441", + "PAD~POLYGON~3993.568~2969.476~2.7739~2.74~1~~3~0~3994.955 2968.053 3994.9544 2968.053 3994.7949 2968.077 3994.6369 2968.109 3994.4807 2968.1489 3994.3267 2968.1966 3994.1753 2968.252 3994.0269 2968.315 3993.8819 2968.3854 3993.7406 2968.463 3993.6033 2968.5476 3993.4705 2968.639 3993.3425 2968.737 3993.2196 2968.8413 3993.1021 2968.9517 3992.9903 2969.0679 3992.8845 2969.1895 3992.785 2969.3163 3992.6919 2969.448 3992.6057 2969.5842 3992.5264 2969.7246 3992.4543 2969.8688 3992.3895 2970.0164 3992.3323 2970.1671 3992.2827 2970.3205 3992.2409 2970.4763 3992.207 2970.6339 3992.1811 2970.793 3993.3693 2970.793 3993.3938 2970.7859 3993.4186 2970.792 3993.4542 2970.6639 3993.4982 2970.5384 3993.5503 2970.4161 3993.6104 2970.2975 3993.6781 2970.1831 3993.7533 2970.0734 3993.8355 2969.9689 3993.9244 2969.8701 3994.0196 2969.7773 3994.1208 2969.691 3994.2274 2969.6115 3994.339 2969.5393 3994.4551 2969.4745 3994.5752 2969.4175 3994.6988 2969.3686 3994.8254 2969.3279 3994.9544 2969.2956~0~gge453~0~~Y~0~0~0.19685~3993.5681,2969.4764", + "HOLE~3995.352~2971.229~0.9843~gge215~0", + "SVGNODE~{\"gId\":\"g1_outline\",\"nodeName\":\"g\",\"nodeType\":1,\"layerid\":\"19\",\"attrs\":{\"c_width\":\"10.43305\",\"c_height\":\"13.7795\",\"c_rotation\":\"0,0,0\",\"z\":\"0\",\"c_origin\":\"3995.352,2968.4167\",\"uuid\":\"587ef2d4cd9c42aca9875a2e1e64e486\",\"c_etype\":\"outline3D\",\"id\":\"g1_outline\",\"title\":\"MIC-SMD_5P_L3.5-W2.7-P0.82_SPH0641LU4H-1\",\"layerid\":\"19\",\"transform\":\"scale(1) translate(0, 0)\"},\"childNodes\":[{\"gId\":\"g1_outline_line0\",\"nodeName\":\"polyline\",\"nodeType\":1,\"attrs\":{\"fill\":\"none\",\"id\":\"g1_outline_line0\",\"c_shapetype\":\"line\",\"points\":\"3990.1355 2961.527 3990.1355 2964.6766 3990.1355 2975.3065 3995.3323 2975.3065 4000.5685 2975.3065 4000.5685 2964.6766 4000.5685 2961.527 3995.3323 2961.527 3990.1355 2961.527 3990.1355 2961.527\"}}]}" + ], + "layers": [ + "1~TopLayer~#FF0000~true~false~true~", + "2~BottomLayer~#0000FF~true~false~true~", + "3~TopSilkLayer~#FFCC00~true~false~true~", + "4~BottomSilkLayer~#66CC33~true~false~true~", + "5~TopPasteMaskLayer~#808080~true~true~true~", + "6~BottomPasteMaskLayer~#800000~true~false~true~", + "7~TopSolderMaskLayer~#800080~true~false~true~0.3", + "8~BottomSolderMaskLayer~#AA00FF~true~false~true~0.3", + "9~Ratlines~#6464FF~true~false~true~", + "10~BoardOutLine~#FF00FF~true~false~true~", + "11~Multi-Layer~#C0C0C0~true~false~true~", + "12~Document~#FFFFFF~true~false~true~", + "13~TopAssembly~#33CC99~true~false~true~", + "14~BottomAssembly~#5555FF~true~false~true~", + "15~Mechanical~#F022F0~true~false~true~", + "19~3DModel~#66CCFF~true~false~true~", + "21~Inner1~#999966~false~false~false~~", + "22~Inner2~#008000~false~false~false~~", + "23~Inner3~#00FF00~false~false~false~~", + "24~Inner4~#BC8E00~false~false~false~~", + "25~Inner5~#70DBFA~false~false~false~~", + "26~Inner6~#00CC66~false~false~false~~", + "27~Inner7~#9966FF~false~false~false~~", + "28~Inner8~#800080~false~false~false~~", + "29~Inner9~#008080~false~false~false~~", + "30~Inner10~#15935F~false~false~false~~", + "31~Inner11~#000080~false~false~false~~", + "32~Inner12~#00B400~false~false~false~~", + "33~Inner13~#2E4756~false~false~false~~", + "34~Inner14~#99842F~false~false~false~~", + "35~Inner15~#FFFFAA~false~false~false~~", + "36~Inner16~#99842F~false~false~false~~", + "37~Inner17~#2E4756~false~false~false~~", + "38~Inner18~#3535FF~false~false~false~~", + "39~Inner19~#8000BC~false~false~false~~", + "40~Inner20~#43AE5F~false~false~false~~", + "41~Inner21~#C3ECCE~false~false~false~~", + "42~Inner22~#728978~false~false~false~~", + "43~Inner23~#39503F~false~false~false~~", + "44~Inner24~#0C715D~false~false~false~~", + "45~Inner25~#5A8A80~false~false~false~~", + "46~Inner26~#2B937E~false~false~false~~", + "47~Inner27~#23999D~false~false~false~~", + "48~Inner28~#45B4E3~false~false~false~~", + "49~Inner29~#215DA1~false~false~false~~", + "50~Inner30~#4564D7~false~false~false~~", + "51~Inner31~#6969E9~false~false~false~~", + "52~Inner32~#9069E9~false~false~false~~", + "99~ComponentShapeLayer~#00CCCC~true~false~true~0.4", + "100~LeadShapeLayer~#CC9999~true~false~true~", + "101~ComponentMarkingLayer~#66FFCC~true~false~true~", + "Hole~Hole~#222222~false~false~true~", + "DRCError~DRCError~#FAD609~false~false~true~" + ], + "objects": [ + "All~true~false", + "Component~true~true", + "Prefix~true~true", + "Name~true~false", + "Track~true~true", + "Pad~true~true", + "Via~true~true", + "Hole~true~true", + "Copper_Area~true~true", + "Circle~true~true", + "Arc~true~true", + "Solid_Region~true~true", + "Text~true~true", + "Image~true~true", + "Rect~true~true", + "Dimension~true~true", + "Protractor~true~true" + ], + "BBox": { + "x": 3989.8, + "y": 2959.7, + "width": 11, + "height": 15.6 + }, + "netColors": [] + } + }, + "_objMetadata": { + "bounds": { + "min": { + "x": -1.325, + "y": -1.75, + "z": -0.001 + }, + "max": { + "x": 1.325, + "y": 1.75, + "z": 0.99 + } + } + } +} \ No newline at end of file diff --git a/tests/assets/C5360621.raweasy.json b/tests/assets/C5360621.raweasy.json new file mode 100644 index 00000000..5f21fbe9 --- /dev/null +++ b/tests/assets/C5360621.raweasy.json @@ -0,0 +1,283 @@ +{ + "uuid": "388dcd3604304116bfa2b731fbd1035a", + "title": "ICM-40609-D", + "description": "", + "docType": 2, + "type": 3, + "thumb": "//image.lceda.cn/components/388dcd3604304116bfa2b731fbd1035a.png", + "lcsc": { + "id": 6179151, + "number": "C5360621" + }, + "szlcsc": { + "id": 6179151, + "number": "C5360621" + }, + "owner": { + "uuid": "0819f05c4eef4c71ace90d822a990e87", + "username": "lcsc", + "nickname": "LCSC", + "avatar": "//image.lceda.cn/avatars/2018/6/kFlrasi7W06gTdBLAqW3fkrqbDhbowynuSzkjqso.png" + }, + "tags": [], + "updateTime": 1734381602, + "updated_at": "2025-11-24 16:50:43", + "dataStr": { + "head": { + "docType": "2", + "editorVersion": "6.5.42", + "x": 400, + "y": 300, + "c_para": { + "pre": "U?", + "name": "ICM-40609-D", + "package": "LGA-24_L3.0-W3.0-P0.40-TL", + "Supplier": "LCSC", + "Supplier Part": "C5360621", + "Manufacturer": null, + "Manufacturer Part": "ICM-40609-D", + "JLCPCB Part Class": "Extended Part", + "Contributor": "lcsc" + }, + "puuid": "854fac403eb6488e8c72fd61a522cef6", + "utime": 1708583350, + "uuid": "388dcd3604304116bfa2b731fbd1035a", + "importFlag": 0, + "c_spiceCmd": null, + "pre": "U?", + "name": "ICM-40609-D", + "hasIdFlag": true + }, + "canvas": "CA~1000~1000~#FFFFFF~yes~#CCCCCC~5~1000~1000~line~5~pixel~5~400~300", + "shape": [ + "R~325~235~2~2~150~130~#880000~1~0~none~gge1~0~", + "E~330~240~1.5~1.5~#880000~1~0~#880000~gge2~0", + "P~show~0~1~315~245~180~gge5~0^^315~245^^M315,245h10~#880000^^1~328.7~249~0~NC~start~~~#0000FF^^1~324.5~244~0~1~end~~~#0000FF^^0~322~245^^0~M 325 248 L 328 245 L 325 242", + "P~show~0~2~315~255~180~gge6~0^^315~255^^M315,255h10~#880000^^1~328.7~259~0~NC~start~~~#0000FF^^1~324.5~254~0~2~end~~~#0000FF^^0~322~255^^0~M 325 258 L 328 255 L 325 252", + "P~show~0~3~315~265~180~gge7~0^^315~265^^M315,265h10~#880000^^1~328.7~269~0~NC~start~~~#0000FF^^1~324.5~264~0~3~end~~~#0000FF^^0~322~265^^0~M 325 268 L 328 265 L 325 262", + "P~show~0~4~315~275~180~gge8~0^^315~275^^M315,275h10~#880000^^1~328.7~279~0~NC~start~~~#0000FF^^1~324.5~274~0~4~end~~~#0000FF^^0~322~275^^0~M 325 278 L 328 275 L 325 272", + "P~show~0~5~315~285~180~gge9~0^^315~285^^M315,285h10~#880000^^1~328.7~289~0~NC~start~~~#0000FF^^1~324.5~284~0~5~end~~~#0000FF^^0~322~285^^0~M 325 288 L 328 285 L 325 282", + "P~show~0~6~315~295~180~gge10~0^^315~295^^M315,295h10~#880000^^1~328.7~299~0~NC~start~~~#0000FF^^1~324.5~294~0~6~end~~~#0000FF^^0~322~295^^0~M 325 298 L 328 295 L 325 292", + "P~show~0~7~315~305~180~gge11~0^^315~305^^M315,305h10~#880000^^1~328.7~309~0~NC~start~~~#0000FF^^1~324.5~304~0~7~end~~~#0000FF^^0~322~305^^0~M 325 308 L 328 305 L 325 302", + "P~show~0~8~315~315~180~gge12~0^^315~315^^M315,315h10~#FF0000^^1~328.7~319~0~VDDIO~start~~~#FF0000^^1~324.5~314~0~8~end~~~#FF0000^^0~322~315^^0~M 325 318 L 328 315 L 325 312", + "P~show~0~9~315~325~180~gge13~0^^315~325^^M315,325h10~#880000^^1~328.7~329~0~SDO/AD0~start~~~#0000FF^^1~324.5~324~0~9~end~~~#0000FF^^0~322~325^^0~M 325 328 L 328 325 L 325 322", + "P~show~0~10~315~335~180~gge14~0^^315~335^^M315,335h10~#880000^^1~328.7~339~0~NC~start~~~#0000FF^^1~324.5~334~0~10~end~~~#0000FF^^0~322~335^^0~M 325 338 L 328 335 L 325 332", + "P~show~0~11~315~345~180~gge15~0^^315~345^^M315,345h10~#880000^^1~328.7~349~0~RESV~start~~~#0000FF^^1~324.5~344~0~11~end~~~#0000FF^^0~322~345^^0~M 325 348 L 328 345 L 325 342", + "P~show~0~12~315~355~180~gge16~0^^315~355^^M315,355h10~#880000^^1~328.7~359~0~INT1/INT~start~~~#0000FF^^1~324.5~354~0~12~end~~~#0000FF^^0~322~355^^0~M 325 358 L 328 355 L 325 352", + "P~show~0~13~485~355~0~gge17~0^^485~355^^M485,355h-10~#FF0000^^1~471.3~359~0~VDD~end~~~#FF0000^^1~475.5~354~0~13~start~~~#FF0000^^0~478~355^^0~M 475 352 L 472 355 L 475 358", + "P~show~0~14~485~345~0~gge18~0^^485~345^^M485,345h-10~#880000^^1~471.3~349~0~NC~end~~~#0000FF^^1~475.5~344~0~14~start~~~#0000FF^^0~478~345^^0~M 475 342 L 472 345 L 475 348", + "P~show~0~15~485~335~0~gge19~0^^485~335^^M485,335h-10~#880000^^1~471.3~339~0~NC~end~~~#0000FF^^1~475.5~334~0~15~start~~~#0000FF^^0~478~335^^0~M 475 332 L 472 335 L 475 338", + "P~show~0~16~485~325~0~gge20~0^^485~325^^M485,325h-10~#880000^^1~471.3~329~0~NC~end~~~#0000FF^^1~475.5~324~0~16~start~~~#0000FF^^0~478~325^^0~M 475 322 L 472 325 L 475 328", + "P~show~0~17~485~315~0~gge21~0^^485~315^^M485,315h-10~#880000^^1~471.3~319~0~NC~end~~~#0000FF^^1~475.5~314~0~17~start~~~#0000FF^^0~478~315^^0~M 475 312 L 472 315 L 475 318", + "P~show~0~18~485~305~0~gge22~0^^485~305^^M485,305h-10~#000000^^1~471.3~309~0~GND~end~~~#000000^^1~475.5~304~0~18~start~~~#000000^^0~478~305^^0~M 475 302 L 472 305 L 475 308", + "P~show~0~19~485~295~0~gge23~0^^485~295^^M485,295h-10~#880000^^1~471.3~299~0~NT2/FSYNC~end~~~#0000FF^^1~475.5~294~0~19~start~~~#0000FF^^0~478~295^^0~M 475 292 L 472 295 L 475 298", + "P~show~0~20~485~285~0~gge24~0^^485~285^^M485,285h-10~#880000^^1~471.3~289~0~RESV~end~~~#0000FF^^1~475.5~284~0~20~start~~~#0000FF^^0~478~285^^0~M 475 282 L 472 285 L 475 288", + "P~show~0~21~485~275~0~gge25~0^^485~275^^M485,275h-10~#880000^^1~471.3~279~0~NC~end~~~#0000FF^^1~475.5~274~0~21~start~~~#0000FF^^0~478~275^^0~M 475 272 L 472 275 L 475 278", + "P~show~0~22~485~265~0~gge26~0^^485~265^^M485,265h-10~#880000^^1~471.3~269~0~nCS~end~~~#0000FF^^1~475.5~264~0~22~start~~~#0000FF^^0~478~265^^0~M 475 262 L 472 265 L 475 268", + "P~show~0~23~485~255~0~gge27~0^^485~255^^M485,255h-10~#880000^^1~471.3~259~0~SCL/SCLK~end~~~#0000FF^^1~475.5~254~0~23~start~~~#0000FF^^0~478~255^^0~M 475 252 L 472 255 L 475 258", + "P~show~0~24~485~245~0~gge28~0^^485~245^^M485,245h-10~#880000^^1~471.3~249~0~SDA/SDI/SDIO~end~~~#0000FF^^1~475.5~244~0~24~start~~~#0000FF^^0~478~245^^0~M 475 242 L 472 245 L 475 248" + ], + "BBox": { + "x": 312.6, + "y": 234.5, + "width": 174.8, + "height": 130.5 + }, + "colors": [] + }, + "jlcOnSale": 1, + "datastrid": "a8f2ec1a73984f8eaacc8fa5c0f0c03d", + "verify": true, + "SMT": true, + "writable": false, + "isFavorite": false, + "packageDetail": { + "uuid": "854fac403eb6488e8c72fd61a522cef6", + "title": "LGA-24_L3.0-W3.0-P0.40-TL", + "docType": 4, + "updateTime": 1651244136, + "owner": { + "uuid": "0819f05c4eef4c71ace90d822a990e87", + "username": "lcsc", + "nickname": "LCSC", + "avatar": "//image.lceda.cn/avatars/2018/6/kFlrasi7W06gTdBLAqW3fkrqbDhbowynuSzkjqso.png" + }, + "datastrid": "d75e7e5114cd4a2a8c1f554907da4a13", + "writable": false, + "dataStr": { + "head": { + "docType": "4", + "editorVersion": "6.4.26", + "x": 400, + "y": 300, + "c_para": { + "package": "LGA-24_L3.0-W3.0-P0.40-TL", + "pre": "U?", + "Contributor": "lcsc", + "link": "https://www.bosch-sensortec.com/media/boschsensortec/downloads/datasheets/bst-bhi160b-ds000.pdf", + "3DModel": "LGA-24_L3.0-W3.0-P0.40-TL" + }, + "uuid": "854fac403eb6488e8c72fd61a522cef6", + "utime": 1639220010, + "importFlag": 0, + "transformList": "", + "hasIdFlag": true, + "uuid_3d": "5c900398b21d438bbc37e7201e491485" + }, + "canvas": "CA~1000~1000~#000000~yes~#FFFFFF~1~1000~1000~line~0.03937~mm~1~45~visible~0.1~400~300~0~yes", + "shape": [ + "CIRCLE~394.095~294.095~0.118~0.2362~101~gge150~0~~circle_gge151,circle_gge152", + "CIRCLE~393~296~0.591~1.1811~12~rep61~0~~", + "SOLIDREGION~99~~M394.0945 305.9055 405.9055 305.9055 L405.9055 305.9055 405.9055 294.0945 L405.9055 294.0945 394.0945 294.0945 Z~solid~rep2~~~~0", + "PAD~RECT~394.38~297.638~1.9882~0.7874~1~~2~0~393.3859 297.2443 395.3741 297.2443 395.3741 298.0317 393.3859 298.0317~0~rep6~0~~Y~0~0~0.2~394.3799,297.6378", + "PAD~RECT~394.38~299.213~1.9882~0.7874~1~~3~0~393.3859 298.8193 395.3741 298.8193 395.3741 299.6067 393.3859 299.6067~0~rep8~0~~Y~0~0~0.2~394.3799,299.2126", + "PAD~RECT~394.38~300.787~1.9882~0.7874~1~~4~0~393.3859 300.3933 395.3741 300.3933 395.3741 301.1807 393.3859 301.1807~0~rep10~0~~Y~0~0~0.2~394.3799,300.7874", + "PAD~RECT~394.38~302.362~1.9882~0.7874~1~~5~0~393.3859 301.9683 395.3741 301.9683 395.3741 302.7557 393.3859 302.7557~0~rep12~0~~Y~0~0~0.2~394.3799,302.3622", + "PAD~RECT~397.638~305.62~0.7874~1.9882~1~~8~0~397.2443 304.6259 398.0317 304.6259 398.0317 306.6141 397.2443 306.6141~0~rep18~0~~Y~0~0~0.2~397.6378,305.6201", + "PAD~RECT~399.213~305.62~0.7874~1.9882~1~~9~0~398.8193 304.6259 399.6067 304.6259 399.6067 306.6141 398.8193 306.6141~0~rep20~0~~Y~0~0~0.2~399.2126,305.6201", + "PAD~RECT~400.787~305.62~0.7874~1.9882~1~~10~0~400.3933 304.6259 401.1807 304.6259 401.1807 306.6141 400.3933 306.6141~0~rep22~0~~Y~0~0~0.2~400.7874,305.6201", + "PAD~RECT~402.362~305.62~0.7874~1.9882~1~~11~0~401.9683 304.6259 402.7557 304.6259 402.7557 306.6141 401.9683 306.6141~0~rep24~0~~Y~0~0~0.2~402.3622,305.6201", + "PAD~RECT~405.62~302.362~1.9882~0.7874~1~~14~0~404.6259 301.9683 406.6141 301.9683 406.6141 302.7557 404.6259 302.7557~0~rep30~0~~Y~0~0~0.2~405.6201,302.3622", + "PAD~RECT~405.62~300.787~1.9882~0.7874~1~~15~0~404.6259 300.3933 406.6141 300.3933 406.6141 301.1807 404.6259 301.1807~0~rep32~0~~Y~0~0~0.2~405.6201,300.7874", + "PAD~RECT~405.62~299.213~1.9882~0.7874~1~~16~0~404.6259 298.8193 406.6141 298.8193 406.6141 299.6067 404.6259 299.6067~0~rep34~0~~Y~0~0~0.2~405.6201,299.2126", + "PAD~RECT~405.62~297.638~1.9882~0.7874~1~~17~0~404.6259 297.2443 406.6141 297.2443 406.6141 298.0317 404.6259 298.0317~0~rep36~0~~Y~0~0~0.2~405.6201,297.6378", + "PAD~POLYGON~405.62~296.063~1.988~0.882~1~~18~0~404.6259 296.063 405.0649 295.6693 406.6141 295.6693 406.6141 296.4567 404.6259 296.4567~0~rep38~0~~Y~0~0~0.2~405.6201,296.063", + "PAD~RECT~402.362~294.38~0.7874~1.9882~1~~20~0~401.9683 293.3859 402.7557 293.3859 402.7557 295.3741 401.9683 295.3741~0~rep42~0~~Y~0~0~0.2~402.3622,294.3799", + "PAD~RECT~400.787~294.38~0.7874~1.9882~1~~21~0~400.3933 293.3859 401.1807 293.3859 401.1807 295.3741 400.3933 295.3741~0~rep44~0~~Y~0~0~0.2~400.7874,294.3799", + "PAD~RECT~399.213~294.38~0.7874~1.9882~1~~22~0~398.8193 293.3859 399.6067 293.3859 399.6067 295.3741 398.8193 295.3741~0~rep46~0~~Y~0~0~0.2~399.2126,294.3799", + "PAD~RECT~397.638~294.38~0.7874~1.9882~1~~23~0~397.2443 293.3859 398.0317 293.3859 398.0317 295.3741 397.2443 295.3741~0~rep48~0~~Y~0~0~0.2~397.6378,294.3799", + "PAD~POLYGON~403.937~305.62~1.988~0.882~1~~12~0~403.937 304.6259 404.3307 305.0649 404.3307 306.6141 403.5433 306.6141 403.5433 304.6259~270~gge108~0~~Y~0~0~0.2~403.937,305.6201", + "PAD~POLYGON~394.38~303.937~1.988~0.882~1~~6~0~395.3741 303.937 394.9351 304.3307 393.3859 304.3307 393.3859 303.5433 395.3741 303.5433~180~gge114~0~~Y~0~0~0.2~394.3799,303.937", + "PAD~POLYGON~396.063~294.38~1.988~0.882~1~~24~0~396.063 295.3741 395.6693 294.9351 395.6693 293.3859 396.4567 293.3859 396.4567 295.3741~90~gge120~0~~Y~0~0~0.2~396.063,294.3799", + "PAD~POLYGON~394.38~296.063~1.988~0.882~1~~1~0~395.3741 296.063 394.9351 295.6693 393.3859 295.6221 393.3859 296.4567 395.3741 296.4567~180~gge126~0~~Y~0~0~0.2~394.3799,296.063", + "PAD~POLYGON~396.063~305.62~1.988~0.882~1~~7~0~396.063 304.6259 395.6693 305.0649 395.6693 306.6141 396.4567 306.6141 396.4567 304.6259~270~gge132~0~~Y~0~0~0.2~396.063,305.6201", + "PAD~POLYGON~405.62~303.937~1.988~0.882~1~~13~0~404.6259 303.937 405.0649 304.3307 406.6141 304.3307 406.6141 303.5433 404.6259 303.5433~0~gge138~0~~Y~0~0~0.2~405.6201,303.937", + "PAD~POLYGON~403.937~294.38~1.988~0.882~1~~19~0~403.937 295.3741 404.3307 294.9351 404.3307 293.3859 403.5433 293.3859 403.5433 295.3741~90~gge144~0~~Y~0~0~0.2~403.937,294.3799", + "TRACK~0.6~3~~393.7945 295.0221 393.7945 293.7945 395.0221 293.7945~rep51~0", + "TRACK~0.6~3~~406.2055 295.0221 406.2055 293.7945 404.9779 293.7945~rep52~0", + "TRACK~0.6~3~~406.2055 304.9779 406.2055 306.2055 404.9779 306.2055~rep53~0", + "TRACK~0.6~3~~393.7945 304.9779 393.7945 306.2055 395.0221 306.2055~rep54~0", + "CIRCLE~392~295~0.394~0.7874~3~rep59~0~~", + "SOLIDREGION~100~~M 405.9055 304.3307 L 404.6063 304.3307 L 404.6063 304.3307 L 404.6063 303.5433 L 404.6063 303.5433 L 405.9055 303.5433 Z ~solid~rep27~~~~0", + "SOLIDREGION~100~~M 405.9055 302.7558 L 404.6063 302.7558 L 404.6063 302.7558 L 404.6063 301.9684 L 404.6063 301.9684 L 405.9055 301.9684 Z ~solid~gge155~~~~0", + "SOLIDREGION~100~~M 405.9055 301.1807 L 404.6063 301.1807 L 404.6063 301.1807 L 404.6063 300.3933 L 404.6063 300.3933 L 405.9055 300.3933 Z ~solid~gge157~~~~0", + "SOLIDREGION~100~~M 405.9058 299.6069 L 404.6065 299.6069 L 404.6065 299.6069 L 404.6065 298.8193 L 404.6065 298.8193 L 405.9058 298.8193 Z ~solid~gge159~~~~0", + "SOLIDREGION~100~~M 405.9055 298.0318 L 404.6063 298.0318 L 404.6063 298.0318 L 404.6063 297.2445 L 404.6063 297.2445 L 405.9055 297.2445 Z ~solid~gge161~~~~0", + "SOLIDREGION~100~~M 405.9055 296.4568 L 404.6063 296.4568 L 404.6063 296.4568 L 404.6063 295.6692 L 404.6063 295.6692 L 405.9055 295.6692 Z ~solid~gge163~~~~0", + "SOLIDREGION~100~~M 396.4569 294.0943 L 396.4569 295.3935 L 396.4569 295.3935 L 395.6693 295.3935 L 395.6693 295.3935 L 395.6693 294.0943 Z ~solid~gge170~~~~0", + "SOLIDREGION~100~~M 398.0319 294.0943 L 398.0319 295.3935 L 398.0319 295.3935 L 397.2447 295.3935 L 397.2447 295.3935 L 397.2447 294.0943 Z ~solid~gge171~~~~0", + "SOLIDREGION~100~~M 399.607 294.0941 L 399.607 295.3934 L 399.607 295.3934 L 398.8194 295.3934 L 398.8194 295.3934 L 398.8194 294.0941 Z ~solid~gge172~~~~0", + "SOLIDREGION~100~~M 401.1807 294.0943 L 401.1807 295.3935 L 401.1807 295.3935 L 400.3934 295.3935 L 400.3934 295.3935 L 400.3934 294.0943 Z ~solid~gge173~~~~0", + "SOLIDREGION~100~~M 402.756 294.0943 L 402.756 295.3935 L 402.756 295.3935 L 401.9685 295.3935 L 401.9685 295.3935 L 401.9685 294.0943 Z ~solid~gge174~~~~0", + "SOLIDREGION~100~~M 404.3308 294.0943 L 404.3308 295.3935 L 404.3308 295.3935 L 403.5434 295.3935 L 403.5434 295.3935 L 403.5434 294.0943 Z ~solid~gge175~~~~0", + "SOLIDREGION~100~~M 394.0944 303.5435 L 395.3936 303.5435 L 395.3936 303.5435 L 395.3936 304.3309 L 395.3936 304.3309 L 394.0944 304.3309 Z ~solid~gge182~~~~0", + "SOLIDREGION~100~~M 394.0944 301.9684 L 395.3936 301.9684 L 395.3936 301.9684 L 395.3936 302.7555 L 395.3936 302.7555 L 394.0944 302.7555 Z ~solid~gge183~~~~0", + "SOLIDREGION~100~~M 394.0942 300.3932 L 395.3936 300.3932 L 395.3936 300.3932 L 395.3936 301.1808 L 395.3936 301.1808 L 394.0942 301.1808 Z ~solid~gge184~~~~0", + "SOLIDREGION~100~~M 394.0944 298.8194 L 395.3936 298.8194 L 395.3936 298.8194 L 395.3936 299.6067 L 395.3936 299.6067 L 394.0944 299.6067 Z ~solid~gge185~~~~0", + "SOLIDREGION~100~~M 394.0944 297.2444 L 395.3936 297.2444 L 395.3936 297.2444 L 395.3936 298.0318 L 395.3936 298.0318 L 394.0944 298.0318 Z ~solid~gge186~~~~0", + "SOLIDREGION~100~~M 394.0944 295.6694 L 395.3936 295.6694 L 395.3936 295.6694 L 395.3936 296.457 L 395.3936 296.457 L 394.0944 296.457 Z ~solid~gge187~~~~0", + "SOLIDREGION~100~~M 403.5433 305.9055 L 403.5433 304.6064 L 403.5433 304.6064 L 404.3309 304.6064 L 404.3309 304.6064 L 404.3309 305.9055 Z ~solid~gge194~~~~0", + "SOLIDREGION~100~~M 401.9684 305.9055 L 401.9684 304.6064 L 401.9684 304.6064 L 402.7557 304.6064 L 402.7557 304.6064 L 402.7557 305.9055 Z ~solid~gge195~~~~0", + "SOLIDREGION~100~~M 400.3932 305.9059 L 400.3932 304.6064 L 400.3932 304.6064 L 401.1808 304.6064 L 401.1808 304.6064 L 401.1808 305.9059 Z ~solid~gge196~~~~0", + "SOLIDREGION~100~~M 398.8194 305.9055 L 398.8194 304.6064 L 398.8194 304.6064 L 399.6071 304.6064 L 399.6071 304.6064 L 399.6071 305.9055 Z ~solid~gge197~~~~0", + "SOLIDREGION~100~~M 397.2444 305.9055 L 397.2444 304.6064 L 397.2444 304.6064 L 398.0318 304.6064 L 398.0318 304.6064 L 398.0318 305.9055 Z ~solid~gge198~~~~0", + "SOLIDREGION~100~~M 395.6696 305.9055 L 395.6696 304.6064 L 395.6696 304.6064 L 396.4568 304.6064 L 396.4568 304.6064 L 396.4568 305.9055 Z ~solid~gge199~~~~0", + "SVGNODE~{\"gId\":\"g1_outline\",\"nodeName\":\"g\",\"nodeType\":1,\"layerid\":\"19\",\"attrs\":{\"c_width\":\"11.811\",\"c_height\":\"11.811\",\"c_rotation\":\"0,0,0\",\"z\":\"0\",\"c_origin\":\"400,300\",\"uuid\":\"1ada17ccfc8345ac9195288b2f01547d\",\"c_etype\":\"outline3D\",\"id\":\"g1_outline\",\"title\":\"LGA-24_L3.0-W3.0-P0.40-TL\",\"layerid\":\"19\",\"transform\":\"scale(1) translate(0, 0)\"},\"childNodes\":[{\"gId\":\"g1_outline_line0\",\"nodeName\":\"polyline\",\"nodeType\":1,\"attrs\":{\"fill\":\"none\",\"id\":\"g1_outline_line0\",\"c_shapetype\":\"line\",\"points\":\"394.0945 294.0945 394.0945 305.9055 405.9055 305.9055 405.9055 294.0945 394.0945 294.0945 394.0945 294.0945\"}}]}" + ], + "layers": [ + "1~TopLayer~#FF0000~true~false~true~", + "2~BottomLayer~#0000FF~true~false~true~", + "3~TopSilkLayer~#FFCC00~true~false~true~", + "4~BottomSilkLayer~#66CC33~true~false~true~", + "5~TopPasteMaskLayer~#808080~true~false~true~", + "6~BottomPasteMaskLayer~#800000~true~false~true~", + "7~TopSolderMaskLayer~#800080~true~false~true~0.3", + "8~BottomSolderMaskLayer~#AA00FF~true~false~true~0.3", + "9~Ratlines~#6464FF~true~false~true~", + "10~BoardOutLine~#FF00FF~true~false~true~", + "11~Multi-Layer~#C0C0C0~true~false~true~", + "12~Document~#FFFFFF~true~false~true~", + "13~TopAssembly~#33CC99~true~false~true~", + "14~BottomAssembly~#5555FF~true~false~true~", + "15~Mechanical~#F022F0~true~false~true~", + "19~3DModel~#66CCFF~true~false~true~", + "21~Inner1~#999966~false~false~false~~", + "22~Inner2~#008000~false~false~false~~", + "23~Inner3~#00FF00~false~false~false~~", + "24~Inner4~#BC8E00~false~false~false~~", + "25~Inner5~#70DBFA~false~false~false~~", + "26~Inner6~#00CC66~false~false~false~~", + "27~Inner7~#9966FF~false~false~false~~", + "28~Inner8~#800080~false~false~false~~", + "29~Inner9~#008080~false~false~false~~", + "30~Inner10~#15935F~false~false~false~~", + "31~Inner11~#000080~false~false~false~~", + "32~Inner12~#00B400~false~false~false~~", + "33~Inner13~#2E4756~false~false~false~~", + "34~Inner14~#99842F~false~false~false~~", + "35~Inner15~#FFFFAA~false~false~false~~", + "36~Inner16~#99842F~false~false~false~~", + "37~Inner17~#2E4756~false~false~false~~", + "38~Inner18~#3535FF~false~false~false~~", + "39~Inner19~#8000BC~false~false~false~~", + "40~Inner20~#43AE5F~false~false~false~~", + "41~Inner21~#C3ECCE~false~false~false~~", + "42~Inner22~#728978~false~false~false~~", + "43~Inner23~#39503F~false~false~false~~", + "44~Inner24~#0C715D~false~false~false~~", + "45~Inner25~#5A8A80~false~false~false~~", + "46~Inner26~#2B937E~false~false~false~~", + "47~Inner27~#23999D~false~false~false~~", + "48~Inner28~#45B4E3~false~false~false~~", + "49~Inner29~#215DA1~false~false~false~~", + "50~Inner30~#4564D7~false~false~false~~", + "51~Inner31~#6969E9~false~false~false~~", + "52~Inner32~#9069E9~false~false~false~~", + "99~ComponentShapeLayer~#00CCCC~true~false~true~0.4", + "100~LeadShapeLayer~#CC9999~true~true~true~", + "101~ComponentMarkingLayer~#66FFCC~true~false~true~", + "Hole~Hole~#222222~false~false~true~", + "DRCError~DRCError~#FAD609~false~false~true~" + ], + "objects": [ + "All~true~false", + "Component~true~true", + "Prefix~true~true", + "Name~true~false", + "Track~true~true", + "Pad~true~true", + "Via~true~true", + "Hole~true~true", + "Copper_Area~true~true", + "Circle~true~true", + "Arc~true~true", + "Solid_Region~true~true", + "Text~true~true", + "Image~true~true", + "Rect~true~true", + "Dimension~true~true", + "Protractor~true~true" + ], + "BBox": { + "x": 391.6, + "y": 293.4, + "width": 15, + "height": 13.2 + } + } + }, + "_objMetadata": { + "bounds": { + "min": { + "x": -1.5, + "y": -1.5, + "z": -0.14 + }, + "max": { + "x": 1.5, + "y": 1.5, + "z": 0.82 + } + } + } +} \ No newline at end of file diff --git a/tests/assets/C544843.raweasy.json b/tests/assets/C544843.raweasy.json new file mode 100644 index 00000000..023fbdf1 --- /dev/null +++ b/tests/assets/C544843.raweasy.json @@ -0,0 +1,281 @@ +{ + "uuid": "0614802b242b42c8850ddf39b946ea37", + "title": "MAX3232ECDB", + "description": "", + "docType": 2, + "type": 3, + "thumb": "//image.lceda.cn/components/0614802b242b42c8850ddf39b946ea37.png", + "lcsc": { + "id": 565494, + "number": "C544843" + }, + "szlcsc": { + "id": 565494, + "number": "C544843" + }, + "owner": { + "uuid": "0819f05c4eef4c71ace90d822a990e87", + "username": "LCSC", + "nickname": "LCSC", + "avatar": "//image.lceda.cn/avatars/2018/6/kFlrasi7W06gTdBLAqW3fkrqbDhbowynuSzkjqso.png" + }, + "tags": [ + "RS232 ICs" + ], + "updateTime": 1731693054, + "updated_at": "2026-08-29 05:19:13", + "dataStr": { + "head": { + "docType": "2", + "editorVersion": "6.4.27.7", + "x": 400, + "y": 300, + "c_para": { + "pre": "U?", + "name": "MAX3232ECDB", + "package": "SSOP-16_L6.2-W5.3-P0.65-LS7.8-BL", + "Contributor": "LCSC", + "Supplier": "LCSC", + "Supplier Part": "C544843", + "Manufacturer": null, + "Manufacturer Part": "MAX3232ECDB", + "JLCPCB Part Class": "Extended Part" + }, + "uuid": "0614802b242b42c8850ddf39b946ea37", + "utime": 1641991799, + "puuid": "98afa47bb0e1414e82b3c9ec5b7f6f02", + "importFlag": 0, + "c_spiceCmd": null, + "pre": "U?", + "name": "MAX3232ECDB", + "hasIdFlag": true + }, + "canvas": "CA~1000~1000~#FFFFFF~yes~#CCCCCC~5~1000~1000~line~5~pixel~5~400~300", + "shape": [ + "R~360~255~2~2~80~90~#880000~1~0~none~gge1~0~", + "E~365~260~1.5~1.5~#880000~1~0~#880000~gge2~0", + "P~show~0~1~350~265~180~gge41~0^^350~265^^M350,265h10~#880000^^1~363.7~269~0~C1+~start~~~#0000FF^^1~359.5~264~0~1~end~~~#0000FF^^0~357~265^^0~M 360 268 L 363 265 L 360 262", + "P~show~0~2~350~275~180~gge42~0^^350~275^^M350,275h10~#FF0000^^1~363.7~279~0~V+~start~~~#FF0000^^1~359.5~274~0~2~end~~~#FF0000^^0~357~275^^0~M 360 278 L 363 275 L 360 272", + "P~show~0~3~350~285~180~gge43~0^^350~285^^M350,285h10~#880000^^1~363.7~289~0~C1-~start~~~#0000FF^^1~359.5~284~0~3~end~~~#0000FF^^0~357~285^^0~M 360 288 L 363 285 L 360 282", + "P~show~0~4~350~295~180~gge44~0^^350~295^^M350,295h10~#880000^^1~363.7~299~0~C2+~start~~~#0000FF^^1~359.5~294~0~4~end~~~#0000FF^^0~357~295^^0~M 360 298 L 363 295 L 360 292", + "P~show~0~5~350~305~180~gge45~0^^350~305^^M350,305h10~#880000^^1~363.7~309~0~C2-~start~~~#0000FF^^1~359.5~304~0~5~end~~~#0000FF^^0~357~305^^0~M 360 308 L 363 305 L 360 302", + "P~show~0~6~350~315~180~gge46~0^^350~315^^M350,315h10~#000000^^1~363.7~319~0~V-~start~~~#000000^^1~359.5~314~0~6~end~~~#000000^^0~357~315^^0~M 360 318 L 363 315 L 360 312", + "P~show~0~7~350~325~180~gge47~0^^350~325^^M350,325h10~#880000^^1~363.7~329~0~DOUT2~start~~~#0000FF^^1~359.5~324~0~7~end~~~#0000FF^^0~357~325^^0~M 360 328 L 363 325 L 360 322", + "P~show~0~8~350~335~180~gge48~0^^350~335^^M350,335h10~#880000^^1~363.7~339~0~RIN2~start~~~#0000FF^^1~359.5~334~0~8~end~~~#0000FF^^0~357~335^^0~M 360 338 L 363 335 L 360 332", + "P~show~0~9~450~335~0~gge49~0^^450~335^^M450,335h-10~#880000^^1~436.3~339~0~ROUT2~end~~~#0000FF^^1~440.5~334~0~9~start~~~#0000FF^^0~443~335^^0~M 440 332 L 437 335 L 440 338", + "P~show~0~10~450~325~0~gge410~0^^450~325^^M450,325h-10~#880000^^1~436.3~329~0~DIN2~end~~~#0000FF^^1~440.5~324~0~10~start~~~#0000FF^^0~443~325^^0~M 440 322 L 437 325 L 440 328", + "P~show~0~11~450~315~0~gge411~0^^450~315^^M450,315h-10~#880000^^1~436.3~319~0~DIN1~end~~~#0000FF^^1~440.5~314~0~11~start~~~#0000FF^^0~443~315^^0~M 440 312 L 437 315 L 440 318", + "P~show~0~12~450~305~0~gge412~0^^450~305^^M450,305h-10~#880000^^1~436.3~309~0~ROUT1~end~~~#0000FF^^1~440.5~304~0~12~start~~~#0000FF^^0~443~305^^0~M 440 302 L 437 305 L 440 308", + "P~show~0~13~450~295~0~gge413~0^^450~295^^M450,295h-10~#880000^^1~436.3~299~0~RIN1~end~~~#0000FF^^1~440.5~294~0~13~start~~~#0000FF^^0~443~295^^0~M 440 292 L 437 295 L 440 298", + "P~show~0~14~450~285~0~gge414~0^^450~285^^M450,285h-10~#880000^^1~436.3~289~0~DOUT1~end~~~#0000FF^^1~440.5~284~0~14~start~~~#0000FF^^0~443~285^^0~M 440 282 L 437 285 L 440 288", + "P~show~0~15~450~275~0~gge415~0^^450~275^^M450,275h-10~#000000^^1~436.3~279~0~GND~end~~~#000000^^1~440.5~274~0~15~start~~~#000000^^0~443~275^^0~M 440 272 L 437 275 L 440 278", + "P~show~0~16~450~265~0~gge416~0^^450~265^^M450,265h-10~#FF0000^^1~436.3~269~0~VCC~end~~~#FF0000^^1~440.5~264~0~16~start~~~#FF0000^^0~443~265^^0~M 440 262 L 437 265 L 440 268" + ], + "BBox": { + "x": 348, + "y": 255, + "width": 104.4, + "height": 90 + }, + "colors": [] + }, + "jlcOnSale": 1, + "datastrid": "103887de304d4cc191d2d71fc759ac30", + "verify": true, + "SMT": true, + "writable": false, + "isFavorite": false, + "packageDetail": { + "uuid": "98afa47bb0e1414e82b3c9ec5b7f6f02", + "title": "SSOP-16_L6.2-W5.3-P0.65-LS7.8-BL", + "docType": 4, + "updateTime": 1752480726, + "owner": { + "uuid": "0819f05c4eef4c71ace90d822a990e87", + "username": "lcsc", + "nickname": "LCSC", + "avatar": "//image.lceda.cn/avatars/2018/6/kFlrasi7W06gTdBLAqW3fkrqbDhbowynuSzkjqso.png" + }, + "datastrid": "ba244111f6794edaa408e20a23e5b7e9", + "writable": false, + "dataStr": { + "head": { + "docType": "4", + "editorVersion": "6.5.50", + "c_para": { + "pre": "U?", + "package": "SSOP-16_L6.2-W5.3-P0.65-LS7.8-BL", + "link": "https://item.szlcsc.com/332805.html", + "Contributor": "lcsc", + "3DModel": "SSOP-16_L6.2-W5.3-H1.9-LS7.8-P0.65" + }, + "x": 640.69, + "y": -320.19, + "uuid": "98afa47bb0e1414e82b3c9ec5b7f6f02", + "utime": 1752480725, + "importFlag": 0, + "transformList": "", + "hasIdFlag": true, + "newgId": true, + "uuid_3d": "047155e6da9b410d82e6832732335eb1" + }, + "canvas": "CA~1000~1000~#000000~yes~~10~1000~1000~line~0.5~mm~1~45~visible~0.1~640.69~-320.19~0~yes", + "shape": [ + "CIRCLE~632.19~-314.19~0.118~0.2362~101~gge207~0~~", + "CIRCLE~631.19~-306.19~0.787~1.5748~12~gge210~0~~", + "SOLIDREGION~100~~M 641.4779 -330.5841 L 641.4779 -333.2219 L 642.4621 -333.2219 L 642.4621 -330.5841 Z~cutout~gge168~~~~0", + "SOLIDREGION~100~~M 641.4779 -333.1825 L 641.4779 -335.5447 L 642.4621 -335.5447 L 642.4621 -333.1825 Z~solid~gge169~~~~0", + "SOLIDREGION~100~~M 644.0369 -330.5841 L 644.0369 -333.2219 L 645.0211 -333.2219 L 645.0211 -330.5841 Z~cutout~gge170~~~~0", + "SOLIDREGION~100~~M 644.0369 -333.1825 L 644.0369 -335.5447 L 645.0211 -335.5447 L 645.0211 -333.1825 Z~solid~gge171~~~~0", + "SOLIDREGION~100~~M 646.5959 -330.5841 L 646.5959 -333.2219 L 647.5801 -333.2219 L 647.5801 -330.5841 Z~cutout~gge172~~~~0", + "SOLIDREGION~100~~M 646.5959 -333.1825 L 646.5959 -335.5447 L 647.5801 -335.5447 L 647.5801 -333.1825 Z~solid~gge173~~~~0", + "SOLIDREGION~100~~M 649.1549 -330.5841 L 649.1549 -333.2219 L 650.1391 -333.2219 L 650.1391 -330.5841 Z~cutout~gge174~~~~0", + "SOLIDREGION~100~~M 649.1549 -333.1825 L 649.1549 -335.5447 L 650.1391 -335.5447 L 650.1391 -333.1825 Z~solid~gge175~~~~0", + "SOLIDREGION~100~~M 638.9179 -330.5841 L 638.9179 -333.2219 L 639.9021 -333.2219 L 639.9021 -330.5841 Z~cutout~gge176~~~~0", + "SOLIDREGION~100~~M 638.9179 -333.1825 L 638.9179 -335.5447 L 639.9021 -335.5447 L 639.9021 -333.1825 Z~solid~gge177~~~~0", + "SOLIDREGION~100~~M 636.3589 -330.5841 L 636.3589 -333.2219 L 637.3431 -333.2219 L 637.3431 -330.5841 Z~cutout~gge178~~~~0", + "SOLIDREGION~100~~M 636.3589 -333.1825 L 636.3589 -335.5447 L 637.3431 -335.5447 L 637.3431 -333.1825 Z~solid~gge179~~~~0", + "SOLIDREGION~100~~M 633.7999 -330.5841 L 633.7999 -333.2219 L 634.7841 -333.2219 L 634.7841 -330.5841 Z~cutout~gge180~~~~0", + "SOLIDREGION~100~~M 633.7999 -333.1825 L 633.7999 -335.5447 L 634.7841 -335.5447 L 634.7841 -333.1825 Z~solid~gge181~~~~0", + "SOLIDREGION~100~~M 631.2409 -307.1589 L 631.2409 -309.7967 L 632.2251 -309.7967 L 632.2251 -307.1589 Z~cutout~gge182~~~~0", + "SOLIDREGION~100~~M 631.2409 -304.8361 L 631.2409 -307.1983 L 632.2251 -307.1983 L 632.2251 -304.8361 Z~solid~gge183~~~~0", + "SOLIDREGION~100~~M 633.7999 -307.1589 L 633.7999 -309.7967 L 634.7841 -309.7967 L 634.7841 -307.1589 Z~cutout~gge184~~~~0", + "SOLIDREGION~100~~M 633.7999 -304.8361 L 633.7999 -307.1983 L 634.7841 -307.1983 L 634.7841 -304.8361 Z~solid~gge185~~~~0", + "SOLIDREGION~100~~M 636.3589 -307.1589 L 636.3589 -309.7967 L 637.3431 -309.7967 L 637.3431 -307.1589 Z~cutout~gge186~~~~0", + "SOLIDREGION~100~~M 636.3589 -304.8361 L 636.3589 -307.1983 L 637.3431 -307.1983 L 637.3431 -304.8361 Z~solid~gge187~~~~0", + "SOLIDREGION~100~~M 638.9179 -307.1589 L 638.9179 -309.7967 L 639.9021 -309.7967 L 639.9021 -307.1589 Z~cutout~gge188~~~~0", + "SOLIDREGION~100~~M 638.9179 -304.8361 L 638.9179 -307.1983 L 639.9021 -307.1983 L 639.9021 -304.8361 Z~solid~gge189~~~~0", + "SOLIDREGION~100~~M 641.4779 -307.1589 L 641.4779 -309.7967 L 642.4621 -309.7967 L 642.4621 -307.1589 Z~cutout~gge190~~~~0", + "SOLIDREGION~100~~M 641.4779 -304.8361 L 641.4779 -307.1983 L 642.4621 -307.1983 L 642.4621 -304.8361 Z~solid~gge191~~~~0", + "SOLIDREGION~100~~M 644.0369 -307.1589 L 644.0369 -309.7967 L 645.0211 -309.7967 L 645.0211 -307.1589 Z~cutout~gge192~~~~0", + "SOLIDREGION~100~~M 644.0369 -304.8361 L 644.0369 -307.1983 L 645.0211 -307.1983 L 645.0211 -304.8361 Z~solid~gge193~~~~0", + "SOLIDREGION~100~~M 646.5959 -307.1589 L 646.5959 -309.7967 L 647.5801 -309.7967 L 647.5801 -307.1589 Z~cutout~gge194~~~~0", + "SOLIDREGION~100~~M 646.5959 -304.8361 L 646.5959 -307.1983 L 647.5801 -307.1983 L 647.5801 -304.8361 Z~solid~gge195~~~~0", + "SOLIDREGION~100~~M 649.1549 -307.1589 L 649.1549 -309.7967 L 650.1391 -309.7967 L 650.1391 -307.1589 Z~cutout~gge196~~~~0", + "SOLIDREGION~100~~M 649.1549 -304.8361 L 649.1549 -307.1983 L 650.1391 -307.1983 L 650.1391 -304.8361 Z~solid~gge197~~~~0", + "SOLIDREGION~100~~M 631.2409 -330.5841 L 631.2409 -333.2219 L 632.2251 -333.2219 L 632.2251 -330.5841 Z~cutout~gge198~~~~0", + "SOLIDREGION~100~~M 631.2409 -333.1825 L 631.2409 -335.5447 L 632.2251 -335.5447 L 632.2251 -333.1825 Z~solid~gge199~~~~0", + "SOLIDREGION~99~~M 628.4856 -309.7574 L 628.4856 -330.6235 L 652.895 -330.6235 L 652.895 -309.7574 Z~solid~gge103~~~~0", + "PAD~OVAL~631.733~-333.773~1.5748~8.2677~1~~16~0~631.733 -330.4265 631.733 -337.1195~180~rep4~0~~Y~0~0~0.2~631.7334,-333.7734", + "PAD~OVAL~649.647~-306.607~1.5748~8.2677~1~~8~0~649.647 -303.2606 649.647 -309.9535~180~rep5~0~~Y~0~0~0.2~649.6474,-306.6074", + "PAD~OVAL~647.088~-306.607~1.5748~8.2677~1~~7~0~647.088 -303.2606 647.088 -309.9535~180~rep6~0~~Y~0~0~0.2~647.0884,-306.6074", + "PAD~OVAL~644.529~-306.607~1.5748~8.2677~1~~6~0~644.529 -303.2606 644.529 -309.9535~180~rep7~0~~Y~0~0~0.2~644.5294,-306.6074", + "PAD~OVAL~641.97~-306.607~1.5748~8.2677~1~~5~0~641.97 -303.2606 641.97 -309.9535~180~rep8~0~~Y~0~0~0.2~641.9704,-306.6074", + "PAD~OVAL~639.41~-306.607~1.5748~8.2677~1~~4~0~639.41 -303.2606 639.41 -309.9535~180~rep9~0~~Y~0~0~0.2~639.4104,-306.6074", + "PAD~OVAL~636.851~-306.607~1.5748~8.2677~1~~3~0~636.851 -303.2606 636.851 -309.9535~180~rep10~0~~Y~0~0~0.2~636.8514,-306.6074", + "PAD~OVAL~634.292~-306.607~1.5748~8.2677~1~~2~0~634.292 -303.2606 634.292 -309.9535~180~rep11~0~~Y~0~0~0.2~634.2924,-306.6074", + "PAD~OVAL~631.733~-306.607~1.5748~8.2677~1~~1~0~631.733 -303.2606 631.733 -309.9535~180~rep12~0~~Y~0~0~0.2~631.7334,-306.6074", + "PAD~OVAL~634.292~-333.773~1.5748~8.2677~1~~15~0~634.292 -330.4265 634.292 -337.1195~180~rep13~0~~Y~0~0~0.2~634.2924,-333.7734", + "PAD~OVAL~636.851~-333.773~1.5748~8.2677~1~~14~0~636.851 -330.4265 636.851 -337.1195~180~rep14~0~~Y~0~0~0.2~636.8514,-333.7734", + "PAD~OVAL~639.41~-333.773~1.5748~8.2677~1~~13~0~639.41 -330.4265 639.41 -337.1195~180~rep15~0~~Y~0~0~0.2~639.4104,-333.7734", + "PAD~OVAL~649.647~-333.773~1.5748~8.2677~1~~9~0~649.647 -330.4265 649.647 -337.1195~180~rep16~0~~Y~0~0~0.2~649.6474,-333.7734", + "PAD~OVAL~647.088~-333.773~1.5748~8.2677~1~~10~0~647.088 -330.4265 647.088 -337.1195~180~rep17~0~~Y~0~0~0.2~647.0884,-333.7734", + "PAD~OVAL~644.529~-333.773~1.5748~8.2677~1~~11~0~644.529 -330.4265 644.529 -337.1195~180~rep18~0~~Y~0~0~0.2~644.5294,-333.7734", + "PAD~OVAL~641.97~-333.773~1.5748~8.2677~1~~12~0~641.97 -330.4265 641.97 -337.1195~180~rep19~0~~Y~0~0~0.2~641.9704,-333.7734", + "TRACK~1~3~~652.8951 -311.765 652.8951 -328.665~gge283~0", + "TRACK~1~3~~628.49 -316.84 628.49 -311.765~gge277~0", + "TRACK~1~3~~628.4857 -323.5369 628.4857 -328.665~gge271~0", + "TRACK~1~3~~628.4857 -328.665 652.8951 -328.665~gge220~0", + "TRACK~1~3~~628.4857 -311.765 652.8951 -311.765~gge262~0", + "ARC~1~3~~M628.4857,-323.5369 A3.3485,3.3485 0 0 1 628.49,-316.84~~gge53~0", + "SOLIDREGION~3~~M 630.072 -314.69 A 1.618 1.618 0 1 1 633.308 -314.69 A 1.618 1.618 0 1 1 630.072 -314.69 Z~solid~gge290~~~~0", + "SVGNODE~{\"gId\":\"g1_outline\",\"nodeName\":\"g\",\"nodeType\":1,\"layerid\":\"19\",\"attrs\":{\"c_width\":\"24.4094\",\"c_height\":\"30.7086\",\"c_rotation\":\"0,0,0\",\"z\":\"0\",\"c_origin\":\"640.69,-320.19\",\"uuid\":\"e68da2a1e3cb458897aa15108dc78818\",\"c_etype\":\"outline3D\",\"id\":\"g1_outline\",\"title\":\"SSOP-16_L6.2-W5.3-H1.9-LS7.8-P0.65\",\"layerid\":\"19\",\"transform\":\"scale(1) translate(0, 0)\"},\"childNodes\":[{\"gId\":\"g1_outline_line0\",\"nodeName\":\"polyline\",\"nodeType\":1,\"attrs\":{\"fill\":\"none\",\"id\":\"g1_outline_line0\",\"c_shapetype\":\"line\",\"points\":\"628.4853 -330.3475 628.4853 -330.3081 628.4853 -330.2294 628.4853 -310.1507 628.4853 -310.072 628.4853 -310.0326 628.5246 -309.9932 628.5246 -309.9538 628.564 -309.9145 628.6034 -309.8751 628.6427 -309.8357 628.6821 -309.7964 628.7215 -309.7964 628.7608 -309.757 628.8002 -309.757 628.879 -309.757 630.0601 -309.757 631.2412 -309.757 631.2412 -309.0483 631.2412 -308.9696 631.2412 -308.8515 631.2412 -308.7727 631.2412 -308.694 631.2412 -308.6153 631.2412 -308.5759 631.2412 -308.379 631.2412 -308.2216 631.2412 -308.0641 631.2412 -308.0247 631.2412 -307.9853 631.2412 -307.8672 631.2412 -307.7098 631.2412 -307.4735 631.2412 -307.3948 631.2412 -307.3161 631.2412 -307.2373 631.2412 -307.1586 631.2412 -307.0405 631.2412 -304.8357 632.2254 -304.8357 632.2254 -307.0405 632.2254 -307.1586 632.2254 -307.2767 632.2254 -307.3161 632.2254 -307.3948 632.2254 -307.5129 632.2254 -307.7098 632.2254 -307.8672 632.2254 -307.9853 632.2254 -308.0641 632.2254 -308.1035 632.2254 -308.2216 632.2254 -308.379 632.2254 -308.5759 632.2254 -308.6153 632.2254 -308.694 632.2254 -308.8121 632.2254 -308.8515 632.2254 -308.9696 632.2254 -309.0483 632.2254 -309.757 633.0128 -309.757 633.8002 -309.757 633.8002 -309.0483 633.8002 -308.9696 633.8002 -308.8515 633.8002 -308.7727 633.8002 -308.694 633.8002 -308.6153 633.8002 -308.5759 633.8002 -308.379 633.8002 -308.2216 633.8002 -308.0641 633.8002 -308.0247 633.8002 -307.9853 633.8002 -307.8672 633.8002 -307.7098 633.8002 -307.4735 633.8002 -307.3948 633.8002 -307.3161 633.8002 -307.2373 633.8002 -307.1586 633.8002 -307.0405 633.8002 -304.8357 634.7845 -304.8357 634.7845 -307.0405 634.7845 -307.1586 634.7845 -307.2767 634.7845 -307.3161 634.7845 -307.3948 634.7845 -307.5129 634.7845 -307.7098 634.7845 -307.8672 634.7845 -307.9853 634.7845 -308.0641 634.7845 -308.1035 634.7845 -308.2216 634.7845 -308.379 634.7845 -308.5759 634.7845 -308.6153 634.7845 -308.694 634.7845 -308.8121 634.7845 -308.8515 634.7845 -308.9696 634.7845 -309.0483 634.7845 -309.757 635.5719 -309.757 636.3593 -309.757 636.3593 -309.0483 636.3593 -308.9696 636.3593 -308.8515 636.3593 -308.7727 636.3593 -308.694 636.3593 -308.6153 636.3593 -308.5759 636.3593 -308.379 636.3593 -308.2216 636.3593 -308.0641 636.3593 -308.0247 636.3593 -307.9853 636.3593 -307.8672 636.3593 -307.7098 636.3593 -307.4735 636.3593 -307.3948 636.3593 -307.3161 636.3593 -307.2373 636.3593 -307.1586 636.3593 -307.0405 636.3593 -304.8357 637.3435 -304.8357 637.3435 -307.0405 637.3435 -307.1586 637.3435 -307.2767 637.3435 -307.3161 637.3435 -307.3948 637.3435 -307.5129 637.3435 -307.7098 637.3435 -307.8672 637.3435 -307.9853 637.3435 -308.0641 637.3435 -308.1035 637.3435 -308.2216 637.3435 -308.379 637.3435 -308.5759 637.3435 -308.6153 637.3435 -308.694 637.3435 -308.8121 637.3435 -308.8515 637.3435 -308.9696 637.3435 -309.0483 637.3435 -309.757 638.1309 -309.757 638.9183 -309.757 638.9183 -309.0483 638.9183 -308.9696 638.9183 -308.8515 638.9183 -308.7727 638.9183 -308.694 638.9183 -308.6153 638.9183 -308.5759 638.9183 -308.379 638.9183 -308.2216 638.9183 -308.0641 638.9183 -308.0247 638.9183 -307.9853 638.9183 -307.8672 638.9183 -307.7098 638.9183 -307.4735 638.9183 -307.3948 638.9183 -307.3161 638.9183 -307.2373 638.9183 -307.1586 638.9183 -307.0405 638.9183 -304.8357 639.9026 -304.8357 639.9026 -307.0405 639.9026 -307.1586 639.9026 -307.2767 639.9026 -307.3161 639.9026 -307.3948 639.9026 -307.5129 639.9026 -307.7098 639.9026 -307.8672 639.9026 -307.9853 639.9026 -308.0641 639.9026 -308.1035 639.9026 -308.2216 639.9026 -308.379 639.9026 -308.5759 639.9026 -308.6153 639.9026 -308.694 639.9026 -308.8121 639.9026 -308.8515 639.9026 -308.9696 639.9026 -309.0483 639.9026 -309.757 640.69 -309.757 641.4774 -309.757 641.4774 -309.0483 641.4774 -308.9696 641.4774 -308.8515 641.4774 -308.7727 641.4774 -308.694 641.4774 -308.6153 641.4774 -308.5759 641.4774 -308.379 641.4774 -308.2216 641.4774 -308.0641 641.4774 -308.0247 641.4774 -307.9853 641.4774 -307.8672 641.4774 -307.7098 641.4774 -307.4735 641.4774 -307.3948 641.4774 -307.3161 641.4774 -307.2373 641.4774 -307.1586 641.4774 -307.0405 641.4774 -304.8357 642.4616 -304.8357 642.4616 -307.0405 642.4616 -307.1586 642.4616 -307.2767 642.4616 -307.3161 642.4616 -307.3948 642.4616 -307.5129 642.4616 -307.7098 642.4616 -307.8672 642.4616 -307.9853 642.4616 -308.0641 642.4616 -308.1035 642.4616 -308.2216 642.4616 -308.379 642.4616 -308.5759 642.4616 -308.6153 642.4616 -308.694 642.4616 -308.8121 642.4616 -308.8515 642.4616 -308.9696 642.4616 -309.0483 642.4616 -309.757 643.249 -309.757 644.0364 -309.757 644.0364 -309.0483 644.0364 -308.9696 644.0364 -308.8515 644.0364 -308.7727 644.0364 -308.694 644.0364 -308.6153 644.0364 -308.5759 644.0364 -308.379 644.0364 -308.2216 644.0364 -308.0641 644.0364 -308.0247 644.0364 -307.9853 644.0364 -307.8672 644.0364 -307.7098 644.0364 -307.4735 644.0364 -307.3948 644.0364 -307.3161 644.0364 -307.2373 644.0364 -307.1586 644.0364 -307.0405 644.0364 -304.8357 645.0207 -304.8357 645.0207 -307.0405 645.0207 -307.1586 645.0207 -307.2767 645.0207 -307.3161 645.0207 -307.3948 645.0207 -307.5129 645.0207 -307.7098 645.0207 -307.8672 645.0207 -307.9853 645.0207 -308.0641 645.0207 -308.1035 645.0207 -308.2216 645.0207 -308.379 645.0207 -308.5759 645.0207 -308.6153 645.0207 -308.694 645.0207 -308.8121 645.0207 -308.8515 645.0207 -308.9696 645.0207 -309.0483 645.0207 -309.757 645.8081 -309.757 646.5955 -309.757 646.5955 -309.0483 646.5955 -308.9696 646.5955 -308.8515 646.5955 -308.7727 646.5955 -308.694 646.5955 -308.6153 646.5955 -308.5759 646.5955 -308.379 646.5955 -308.2216 646.5955 -308.0641 646.5955 -308.0247 646.5955 -307.9853 646.5955 -307.8672 646.5955 -307.7098 646.5955 -307.4735 646.5955 -307.3948 646.5955 -307.3161 646.5955 -307.2373 646.5955 -307.1586 646.5955 -307.0405 646.5955 -304.8357 647.5797 -304.8357 647.5797 -307.0405 647.5797 -307.1586 647.5797 -307.2767 647.5797 -307.3161 647.5797 -307.3948 647.5797 -307.5129 647.5797 -307.7098 647.5797 -307.8672 647.5797 -307.9853 647.5797 -308.0641 647.5797 -308.1035 647.5797 -308.2216 647.5797 -308.379 647.5797 -308.5759 647.5797 -308.6153 647.5797 -308.694 647.5797 -308.8121 647.5797 -308.8515 647.5797 -308.9696 647.5797 -309.0483 647.5797 -309.757 648.3671 -309.757 649.1545 -309.757 649.1545 -309.0483 649.1545 -308.9696 649.1545 -308.8515 649.1545 -308.7727 649.1545 -308.694 649.1545 -308.6153 649.1545 -308.5759 649.1545 -308.379 649.1545 -308.2216 649.1545 -308.0641 649.1545 -308.0247 649.1545 -307.9853 649.1545 -307.8672 649.1545 -307.7098 649.1545 -307.4735 649.1545 -307.3948 649.1545 -307.3161 649.1545 -307.2373 649.1545 -307.1586 649.1545 -307.0405 649.1545 -304.8357 650.1388 -304.8357 650.1388 -307.0405 650.1388 -307.1586 650.1388 -307.2767 650.1388 -307.3161 650.1388 -307.3948 650.1388 -307.5129 650.1388 -307.7098 650.1388 -307.8672 650.1388 -307.9853 650.1388 -308.0641 650.1388 -308.1035 650.1388 -308.2216 650.1388 -308.379 650.1388 -308.5759 650.1388 -308.6153 650.1388 -308.694 650.1388 -308.8121 650.1388 -308.8515 650.1388 -308.9696 650.1388 -309.0483 650.1388 -309.757 652.501 -309.757 652.5797 -309.757 652.6191 -309.757 652.6584 -309.7964 652.6978 -309.7964 652.7372 -309.8357 652.7765 -309.8751 652.8159 -309.9145 652.8553 -309.9538 652.8553 -309.9932 652.8947 -310.0326 652.8947 -310.072 652.8947 -310.1507 652.8947 -330.2294 652.8947 -330.3081 652.8947 -330.3475 652.8553 -330.3869 652.8553 -330.4262 652.8159 -330.4656 652.7765 -330.505 652.7372 -330.5444 652.6978 -330.5837 652.6584 -330.5837 652.6191 -330.6231 652.5797 -330.6231 652.501 -330.6231 650.1388 -330.6231 650.1388 -331.3318 650.1388 -331.4105 650.1388 -331.5286 650.1388 -331.6073 650.1388 -331.6861 650.1388 -331.7648 650.1388 -331.8042 650.1388 -332.001 650.1388 -332.1585 650.1388 -332.316 650.1388 -332.3554 650.1388 -332.3947 650.1388 -332.5129 650.1388 -332.6703 650.1388 -332.9066 650.1388 -332.9853 650.1388 -333.064 650.1388 -333.1428 650.1388 -333.2215 650.1388 -333.3396 650.1388 -335.5443 649.1545 -335.5443 649.1545 -333.3396 649.1545 -333.2215 649.1545 -333.1034 649.1545 -333.064 649.1545 -332.9853 649.1545 -332.8672 649.1545 -332.6703 649.1545 -332.5129 649.1545 -332.3947 649.1545 -332.316 649.1545 -332.2766 649.1545 -332.1585 649.1545 -332.001 649.1545 -331.8042 649.1545 -331.7648 649.1545 -331.6861 649.1545 -331.568 649.1545 -331.5286 649.1545 -331.4105 649.1545 -331.3318 649.1545 -330.6231 648.3671 -330.6231 647.5797 -330.6231 647.5797 -331.3318 647.5797 -331.4105 647.5797 -331.5286 647.5797 -331.6073 647.5797 -331.6861 647.5797 -331.7648 647.5797 -331.8042 647.5797 -332.001 647.5797 -332.1585 647.5797 -332.316 647.5797 -332.3554 647.5797 -332.3947 647.5797 -332.5129 647.5797 -332.6703 647.5797 -332.9066 647.5797 -332.9853 647.5797 -333.064 647.5797 -333.1428 647.5797 -333.2215 647.5797 -333.3396 647.5797 -335.5443 646.5955 -335.5443 646.5955 -333.3396 646.5955 -333.2215 646.5955 -333.1034 646.5955 -333.064 646.5955 -332.9853 646.5955 -332.8672 646.5955 -332.6703 646.5955 -332.5129 646.5955 -332.3947 646.5955 -332.316 646.5955 -332.2766 646.5955 -332.1585 646.5955 -332.001 646.5955 -331.8042 646.5955 -331.7648 646.5955 -331.6861 646.5955 -331.568 646.5955 -331.5286 646.5955 -331.4105 646.5955 -331.3318 646.5955 -330.6231 645.8081 -330.6231 645.0207 -330.6231 645.0207 -331.3318 645.0207 -331.4105 645.0207 -331.5286 645.0207 -331.6073 645.0207 -331.6861 645.0207 -331.7648 645.0207 -331.8042 645.0207 -332.001 645.0207 -332.1585 645.0207 -332.316 645.0207 -332.3554 645.0207 -332.3947 645.0207 -332.5129 645.0207 -332.6703 645.0207 -332.9066 645.0207 -332.9853 645.0207 -333.064 645.0207 -333.1428 645.0207 -333.2215 645.0207 -333.3396 645.0207 -335.5443 644.0364 -335.5443 644.0364 -333.3396 644.0364 -333.2215 644.0364 -333.1034 644.0364 -333.064 644.0364 -332.9853 644.0364 -332.8672 644.0364 -332.6703 644.0364 -332.5129 644.0364 -332.3947 644.0364 -332.316 644.0364 -332.2766 644.0364 -332.1585 644.0364 -332.001 644.0364 -331.8042 644.0364 -331.7648 644.0364 -331.6861 644.0364 -331.568 644.0364 -331.5286 644.0364 -331.4105 644.0364 -331.3318 644.0364 -330.6231 643.249 -330.6231 642.4616 -330.6231 642.4616 -331.3318 642.4616 -331.4105 642.4616 -331.5286 642.4616 -331.6073 642.4616 -331.6861 642.4616 -331.7648 642.4616 -331.8042 642.4616 -332.001 642.4616 -332.1585 642.4616 -332.316 642.4616 -332.3554 642.4616 -332.3947 642.4616 -332.5129 642.4616 -332.6703 642.4616 -332.9066 642.4616 -332.9853 642.4616 -333.064 642.4616 -333.1428 642.4616 -333.2215 642.4616 -333.3396 642.4616 -335.5443 641.4774 -335.5443 641.4774 -333.3396 641.4774 -333.2215 641.4774 -333.1034 641.4774 -333.064 641.4774 -332.9853 641.4774 -332.8672 641.4774 -332.6703 641.4774 -332.5129 641.4774 -332.3947 641.4774 -332.316 641.4774 -332.2766 641.4774 -332.1585 641.4774 -332.001 641.4774 -331.8042 641.4774 -331.7648 641.4774 -331.6861 641.4774 -331.568 641.4774 -331.5286 641.4774 -331.4105 641.4774 -331.3318 641.4774 -330.6231 640.69 -330.6231 639.9026 -330.6231 639.9026 -331.3318 639.9026 -331.4105 639.9026 -331.5286 639.9026 -331.6073 639.9026 -331.6861 639.9026 -331.7648 639.9026 -331.8042 639.9026 -332.001 639.9026 -332.1585 639.9026 -332.316 639.9026 -332.3554 639.9026 -332.3947 639.9026 -332.5129 639.9026 -332.6703 639.9026 -332.9066 639.9026 -332.9853 639.9026 -333.064 639.9026 -333.1428 639.9026 -333.2215 639.9026 -333.3396 639.9026 -335.5443 638.9183 -335.5443 638.9183 -333.3396 638.9183 -333.2215 638.9183 -333.1034 638.9183 -333.064 638.9183 -332.9853 638.9183 -332.8672 638.9183 -332.6703 638.9183 -332.5129 638.9183 -332.3947 638.9183 -332.316 638.9183 -332.2766 638.9183 -332.1585 638.9183 -332.001 638.9183 -331.8042 638.9183 -331.7648 638.9183 -331.6861 638.9183 -331.568 638.9183 -331.5286 638.9183 -331.4105 638.9183 -331.3318 638.9183 -330.6231 638.1309 -330.6231 637.3435 -330.6231 637.3435 -331.3318 637.3435 -331.4105 637.3435 -331.5286 637.3435 -331.6073 637.3435 -331.6861 637.3435 -331.7648 637.3435 -331.8042 637.3435 -332.001 637.3435 -332.1585 637.3435 -332.316 637.3435 -332.3554 637.3435 -332.3947 637.3435 -332.5129 637.3435 -332.6703 637.3435 -332.9066 637.3435 -332.9853 637.3435 -333.064 637.3435 -333.1428 637.3435 -333.2215 637.3435 -333.3396 637.3435 -335.5443 636.3593 -335.5443 636.3593 -333.3396 636.3593 -333.2215 636.3593 -333.1034 636.3593 -333.064 636.3593 -332.9853 636.3593 -332.8672 636.3593 -332.6703 636.3593 -332.5129 636.3593 -332.3947 636.3593 -332.316 636.3593 -332.2766 636.3593 -332.1585 636.3593 -332.001 636.3593 -331.8042 636.3593 -331.7648 636.3593 -331.6861 636.3593 -331.568 636.3593 -331.5286 636.3593 -331.4105 636.3593 -331.3318 636.3593 -330.6231 635.5719 -330.6231 634.7845 -330.6231 634.7845 -331.3318 634.7845 -331.4105 634.7845 -331.5286 634.7845 -331.6073 634.7845 -331.6861 634.7845 -331.7648 634.7845 -331.8042 634.7845 -332.001 634.7845 -332.1585 634.7845 -332.316 634.7845 -332.3554 634.7845 -332.3947 634.7845 -332.5129 634.7845 -332.6703 634.7845 -332.9066 634.7845 -332.9853 634.7845 -333.064 634.7845 -333.1428 634.7845 -333.2215 634.7845 -333.3396 634.7845 -335.5443 633.8002 -335.5443 633.8002 -333.3396 633.8002 -333.2215 633.8002 -333.1034 633.8002 -333.064 633.8002 -332.9853 633.8002 -332.8672 633.8002 -332.6703 633.8002 -332.5129 633.8002 -332.3947 633.8002 -332.316 633.8002 -332.2766 633.8002 -332.1585 633.8002 -332.001 633.8002 -331.8042 633.8002 -331.7648 633.8002 -331.6861 633.8002 -331.568 633.8002 -331.5286 633.8002 -331.4105 633.8002 -331.3318 633.8002 -330.6231 633.0128 -330.6231 632.2254 -330.6231 632.2254 -331.3318 632.2254 -331.4105 632.2254 -331.5286 632.2254 -331.6073 632.2254 -331.6861 632.2254 -331.7648 632.2254 -331.8042 632.2254 -332.001 632.2254 -332.1585 632.2254 -332.316 632.2254 -332.3554 632.2254 -332.3947 632.2254 -332.5129 632.2254 -332.6703 632.2254 -332.9066 632.2254 -332.9853 632.2254 -333.064 632.2254 -333.1428 632.2254 -333.2215 632.2254 -333.3396 632.2254 -335.5443 631.2412 -335.5443 631.2412 -333.3396 631.2412 -333.2215 631.2412 -333.1034 631.2412 -333.064 631.2412 -332.9853 631.2412 -332.8672 631.2412 -332.6703 631.2412 -332.5129 631.2412 -332.3947 631.2412 -332.316 631.2412 -332.2766 631.2412 -332.1585 631.2412 -332.001 631.2412 -331.8042 631.2412 -331.7648 631.2412 -331.6861 631.2412 -331.568 631.2412 -331.5286 631.2412 -331.4105 631.2412 -331.3318 631.2412 -330.6231 630.0601 -330.6231 628.879 -330.6231 628.8002 -330.6231 628.7608 -330.6231 628.7215 -330.5837 628.6821 -330.5837 628.6427 -330.5444 628.6034 -330.505 628.564 -330.4656 628.5246 -330.4262 628.5246 -330.3869 628.4853 -330.3475 628.4853 -330.3475\"}}]}" + ], + "layers": [ + "1~TopLayer~#FF0000~true~false~true~", + "2~BottomLayer~#0000FF~true~false~true~", + "3~TopSilkLayer~#FFCC00~true~true~true~", + "4~BottomSilkLayer~#66CC33~true~false~true~", + "5~TopPasteMaskLayer~#808080~true~false~true~", + "6~BottomPasteMaskLayer~#800000~true~false~true~", + "7~TopSolderMaskLayer~#800080~true~false~true~0.3", + "8~BottomSolderMaskLayer~#AA00FF~true~false~true~0.3", + "9~Ratlines~#6464FF~true~false~true~", + "10~BoardOutLine~#FF00FF~true~false~true~", + "11~Multi-Layer~#FFFFFF~true~false~true~0.5", + "12~Document~#FFFFFF~true~false~true~", + "13~TopAssembly~#33CC99~true~false~true~", + "14~BottomAssembly~#5555FF~true~false~true~", + "15~Mechanical~#F022F0~true~false~true~", + "19~3DModel~#66CCFF~true~false~true~", + "21~Inner1~#800000~false~false~false~~", + "22~Inner2~#008000~false~false~false~~", + "23~Inner3~#00FF00~false~false~false~~", + "24~Inner4~#BC8E00~false~false~false~~", + "25~Inner5~#70DBFA~false~false~false~~", + "26~Inner6~#00CC66~false~false~false~~", + "27~Inner7~#9966FF~false~false~false~~", + "28~Inner8~#800080~false~false~false~~", + "29~Inner9~#008080~false~false~false~~", + "30~Inner10~#15935F~false~false~false~~", + "31~Inner11~#000080~false~false~false~~", + "32~Inner12~#00B400~false~false~false~~", + "33~Inner13~#2E4756~false~false~false~~", + "34~Inner14~#99842F~false~false~false~~", + "35~Inner15~#FFFFAA~false~false~false~~", + "36~Inner16~#99842F~false~false~false~~", + "37~Inner17~#2E4756~false~false~false~~", + "38~Inner18~#3535FF~false~false~false~~", + "39~Inner19~#8000BC~false~false~false~~", + "40~Inner20~#43AE5F~false~false~false~~", + "41~Inner21~#C3ECCE~false~false~false~~", + "42~Inner22~#728978~false~false~false~~", + "43~Inner23~#39503F~false~false~false~~", + "44~Inner24~#0C715D~false~false~false~~", + "45~Inner25~#5A8A80~false~false~false~~", + "46~Inner26~#2B937E~false~false~false~~", + "47~Inner27~#23999D~false~false~false~~", + "48~Inner28~#45B4E3~false~false~false~~", + "49~Inner29~#215DA1~false~false~false~~", + "50~Inner30~#4564D7~false~false~false~~", + "51~Inner31~#6969E9~false~false~false~~", + "52~Inner32~#9069E9~false~false~false~~", + "99~ComponentShapeLayer~#00CCCC~true~false~true~0.4", + "100~LeadShapeLayer~#CC9999~true~false~true~", + "101~ComponentPolarityLayer~#66FFCC~true~false~true~", + "Hole~Hole~#222222~false~false~true~", + "DRCError~DRCError~#FAD609~false~false~true~" + ], + "objects": [ + "All~true~false", + "Component~true~true", + "Prefix~true~true", + "Name~true~false", + "Track~true~true", + "Pad~true~true", + "Via~true~true", + "Hole~true~true", + "Copper_Area~true~true", + "Circle~true~true", + "Arc~true~true", + "Solid_Region~true~true", + "Text~true~true", + "Image~true~true", + "Rect~true~true", + "Dimension~true~true", + "Protractor~true~true" + ], + "BBox": { + "x": 628.5, + "y": -337.1, + "width": 24.4, + "height": 33.9 + }, + "netColors": [] + } + }, + "_objMetadata": { + "bounds": { + "min": { + "x": -3.1, + "y": -3.9, + "z": 0.025 + }, + "max": { + "x": 3.1, + "y": 3.9, + "z": 2.001 + } + } + } +} \ No newline at end of file diff --git a/tests/assets/C9900014805.raweasy.json b/tests/assets/C9900014805.raweasy.json new file mode 100644 index 00000000..8c26f092 --- /dev/null +++ b/tests/assets/C9900014805.raweasy.json @@ -0,0 +1,238 @@ +{ + "uuid": "55ca8ca237f847188bc7336047b4fc97", + "title": "SPH0641LM4H", + "description": "", + "docType": 2, + "type": 3, + "thumb": "/component/55ca8ca237f847188bc7336047b4fc97.png", + "lcsc": { + "id": 3482997, + "number": "C9900014805" + }, + "szlcsc": { + "id": 3482997, + "number": "C9900014805" + }, + "owner": { + "uuid": "0819f05c4eef4c71ace90d822a990e87", + "username": "lcsc", + "nickname": "LCSC", + "avatar": "//image.lceda.cn/avatars/2018/6/kFlrasi7W06gTdBLAqW3fkrqbDhbowynuSzkjqso.png" + }, + "tags": [], + "updateTime": 1747074429, + "updated_at": "2025-05-12 18:57:30", + "dataStr": { + "head": { + "docType": "2", + "editorVersion": "6.5.3", + "x": 285, + "y": 265, + "c_para": { + "pre": "MIC?", + "name": "SPH0641LM4H", + "package": "MIC-SMD_5P_L3.5-W2.7-P0.82_SPH0641LU4H-1", + "Contributor": "lcsc", + "Supplier": "LCSC", + "Supplier Part": "C9900014805", + "Manufacturer": null, + "Manufacturer Part": "SPH0641LM4H", + "JLCPCB Part Class": "Extended Part" + }, + "puuid": "419905241866469e87daa1a7a126691e", + "utime": 1651677215, + "uuid": "55ca8ca237f847188bc7336047b4fc97", + "importFlag": 0, + "c_spiceCmd": null, + "hasIdFlag": true + }, + "canvas": "CA~1000~1000~#FFFFFF~yes~#CCCCCC~5~1000~1000~line~5~pixel~5~285~265", + "shape": [ + "P~show~0~5~330~260~0~gge7~0^^330~260^^M 330 260 h -10~#FF0000^^1~316.3~264~0~VDD~end~~~#FF0000^^1~320.5~259~0~5~start~~~#FF0000^^0~323~260^^0~M 320 257 L 317 260 L 320 263", + "P~show~0~4~330~270~0~gge28~0^^330~270^^M 330 270 h -10~#880000^^1~316.3~274~0~CLK~end~~~#0000FF^^1~320.5~269~0~4~start~~~#0000FF^^0~323~270^^0~M 320 267 L 317 270 L 320 273", + "P~show~0~3~240~275~180~gge49~0^^240~275^^M 240 275 h 10~#000000^^1~253.7~279~0~GND~start~~~#000000^^1~249.5~274~0~3~end~~~#000000^^0~247~275^^0~M 250 278 L 253 275 L 250 272", + "P~show~0~2~240~265~180~gge70~0^^240~265^^M 240 265 h 10~#880000^^1~253.7~269~0~SELECT~start~~~#0000FF^^1~249.5~264~0~2~end~~~#0000FF^^0~247~265^^0~M 250 268 L 253 265 L 250 262", + "P~show~0~1~240~255~180~gge91~0^^240~255^^M 240 255 h 10~#880000^^1~253.7~259~0~DATA~start~~~#0000FF^^1~249.5~254~0~1~end~~~#0000FF^^0~247~255^^0~M 250 258 L 253 255 L 250 252", + "E~255~250~1.5~1.5~#880000~1~0~#880000~gge112~0", + "R~250~245~2~2~70~40~#880000~1~0~none~gge115~0~" + ], + "BBox": { + "x": 239, + "y": 244.9, + "width": 92, + "height": 40.1 + }, + "colors": [] + }, + "jlcOnSale": 1, + "datastrid": "0024a7ab1b4048a48248304898f4fbf8", + "verify": true, + "SMT": true, + "writable": false, + "isFavorite": false, + "packageDetail": { + "uuid": "419905241866469e87daa1a7a126691e", + "title": "MIC-SMD_5P_L3.5-W2.7-P0.82_SPH0641LU4H-1", + "docType": 4, + "updateTime": 1703729109, + "owner": { + "uuid": "0819f05c4eef4c71ace90d822a990e87", + "username": "lcsc", + "nickname": "LCSC", + "avatar": "//image.lceda.cn/avatars/2018/6/kFlrasi7W06gTdBLAqW3fkrqbDhbowynuSzkjqso.png" + }, + "datastrid": "b45be9c75f9b472ba8274c0d00451510", + "writable": false, + "dataStr": { + "head": { + "docType": "4", + "editorVersion": "6.5.39", + "newgId": true, + "c_para": { + "package": "MIC-SMD_5P_L3.5-W2.7-P0.82_SPH0641LU4H-1", + "pre": "U?", + "Contributor": "lcsc", + "link": "https://img.jlc.com//pdf/applyPasteComponent/2021-08-07/257629D/ebb1ae7e034c4583a94c3252fc2f619e/sph0641lu4h-1-revb.pdf", + "3DModel": "MIC-SMD_5P_L3.5-W2.7-P0.82_SPH0641LU4H-1" + }, + "x": 3995.352, + "y": 2968.023, + "hasIdFlag": true, + "utime": 1703729109, + "uuid": "419905241866469e87daa1a7a126691e", + "importFlag": 0, + "transformList": "", + "uuid_3d": "085574939dfb440599fd212240983b9c" + }, + "canvas": "CA~1000~1000~#000000~yes~#FFFFFF~0.3937~1000~1000~line~0.03937~mm~0.3937~ARC~visible~0.5~3995.352~2968.023~0~none", + "shape": [ + "CIRCLE~3990.136~2961.544~0.118~0.2362~101~gge484~0~~", + "CIRCLE~3991.887~2960.835~0.492~0.9843~12~gge229~0~~", + "CIRCLE~3995.352~2971.229~0.276~0.5512~12~gge329~0~~", + "SOLIDREGION~100~~M 3997.2242 2962.04 L 4000.0786 2962.04 L 4000.0786 2964.0872 L 3997.2242 2964.0872 Z ~solid~gge225~~~~0", + "SOLIDREGION~100~~M 3997.2242 2965.2763 L 4000.0786 2965.2763 L 4000.0786 2967.3235 L 3997.2242 2967.3235 Z ~solid~gge226~~~~0", + "SOLIDREGION~100~~M 3990.6258 2965.2764 L 3993.4802 2965.2764 L 3993.4802 2967.3236 L 3990.6258 2967.3236 Z ~solid~gge227~~~~0", + "SOLIDREGION~100~~M 3990.6258 2962.0401 L 3993.4802 2962.0401 L 3993.4802 2964.0873 L 3990.6258 2964.0873 Z ~solid~gge228~~~~0", + "SOLIDREGION~100~~M 3994.9557 2968.0533 L 3994.9551 2968.0533 A 3.1988 3.1988 0 0 0 3992.1818 2970.7932 L 3993.37 2970.7932 A 0.0493 0.0493 0 0 1 3993.4192 2970.7923 A 2.0177 2.0177 0 0 1 3994.9551 2969.2959 Z ~solid~gge456~~~~0", + "SOLIDREGION~100~~M 3992.1763 2971.6253 L 3992.1763 2971.6259 A 3.1988 3.1988 0 0 0 3994.9162 2974.3992 L 3994.9162 2973.211 A 0.0493 0.0493 0 0 1 3994.9153 2973.1618 A 2.0177 2.0177 0 0 1 3993.4189 2971.6259 Z~solid~gge462~~~~0", + "SOLIDREGION~100~~M 3998.5276 2970.8327 L 3998.5276 2970.8321 A 3.1988 3.1988 0 0 0 3995.7877 2968.0588 L 3995.7877 2969.247 A 0.0493 0.0493 0 0 1 3995.7886 2969.2962 A 2.0177 2.0177 0 0 1 3997.285 2970.8321 Z~solid~gge474~~~~0", + "SOLIDREGION~100~~M 3995.748 2974.4047 L 3995.7486 2974.4047 A 3.1988 3.1988 0 0 0 3998.5219 2971.6648 L 3997.3337 2971.6648 A 0.0493 0.0493 0 0 1 3997.2845 2971.6657 A 2.0177 2.0177 0 0 1 3995.7486 2973.1621 Z~solid~gge480~~~~0", + "SOLIDREGION~99~~M 3990.1357 2975.3234 L 4000.5687 2975.3234 L 4000.5687 2961.5442 L 3990.1357 2961.5442 Z ~solid~gge223~~~~0", + "TRACK~0.5906~3~~3990.0995 2961.5443 3989.8405 2961.5443 3989.8405 2962.9615~gge237~0", + "TRACK~0.5906~3~~3996.6977 2961.5443 3994.0065 2961.5443~gge236~0", + "TRACK~0.5906~3~~4000.8639 2961.5443 4000.6051 2961.5443~gge235~0", + "TRACK~0.5906~3~~3993.6398 2975.3233 3989.8405 2975.3233 3989.8405 2973.9063~gge234~0", + "TRACK~0.5906~3~~4000.8639 2975.3233 3997.0636 2975.3233~gge233~0", + "TRACK~0.5906~3~~4000.8639 2968.4337 4000.8639 2961.5443~gge232~0", + "TRACK~0.5906~3~~4000.8639 2968.4337 4000.8639 2975.3233~gge231~0", + "TRACK~0.5906~3~~3989.8405 2962.9615 3989.8405 2973.9063~gge230~0", + "CIRCLE~3991.887~2960.284~0.591~1.1811~3~gge222~0~~", + "PAD~RECT~3998.651~2963.064~2.874~2.0866~1~~5~0~3997.2144 2962.0203 4000.0884 2962.0203 4000.0884 2964.1069 3997.2144 2964.1069~0~gge218~0~~Y~0~0~0.1969~3998.6514,2963.0636", + "PAD~RECT~3998.651~2966.3~2.874~2.0866~1~~4~0~3997.2144 2965.2566 4000.0884 2965.2566 4000.0884 2967.3432 3997.2144 2967.3432~0~gge219~0~~Y~0~0~0.1969~3998.6514,2966.2999", + "PAD~RECT~3992.053~2966.3~2.874~2.0866~1~~2~0~3990.616 2965.2567 3993.49 2965.2567 3993.49 2967.3433 3990.616 2967.3433~0~gge220~0~~Y~0~0~0.1969~3992.053,2966.3", + "PAD~RECT~3992.053~2963.064~2.874~2.0866~1~~1~0~3990.616 2962.0204 3993.49 2962.0204 3993.49 2964.107 3990.616 2964.107~0~gge221~0~~Y~0~0~0.1969~3992.053,2963.0637", + "PAD~POLYGON~3997.158~2969.514~2.74~2.7739~1~~3~0~3998.528 2970.832 3998.528 2970.8314 3998.504 2970.672 3998.472 2970.514 3998.4321 2970.3577 3998.3844 2970.2038 3998.329 2970.0524 3998.266 2969.9039 3998.1956 2969.7589 3998.118 2969.6176 3998.0334 2969.4803 3997.942 2969.3475 3997.844 2969.2195 3997.7397 2969.0966 3997.6293 2968.9791 3997.5131 2968.8673 3997.3915 2968.7615 3997.2647 2968.662 3997.133 2968.569 3996.9968 2968.4827 3996.8564 2968.4034 3996.7122 2968.3313 3996.5646 2968.2665 3996.4139 2968.2093 3996.2605 2968.1597 3996.1047 2968.1179 3995.9471 2968.084 3995.788 2968.0581 3995.788 2969.2463 3995.7951 2969.2708 3995.789 2969.2956 3995.9171 2969.3312 3996.0426 2969.3752 3996.1649 2969.4273 3996.2835 2969.4874 3996.3979 2969.5552 3996.5076 2969.6303 3996.6121 2969.7125 3996.7109 2969.8014 3996.8037 2969.8966 3996.89 2969.9978 3996.9695 2970.1044 3997.0418 2970.216 3997.1065 2970.3321 3997.1635 2970.4522 3997.2124 2970.5758 3997.2531 2970.7024 3997.2854 2970.8314~0~gge444~0~~Y~0~0~0.19685~3997.1581,2969.5137", + "PAD~POLYGON~3997.136~2972.982~2.7739~2.74~1~~3~0~3995.7489 2974.405 3995.7495 2974.405 3995.9089 2974.381 3996.0669 2974.349 3996.2232 2974.3091 3996.3771 2974.2614 3996.5285 2974.206 3996.677 2974.143 3996.822 2974.0726 3996.9633 2973.995 3997.1006 2973.9104 3997.2334 2973.819 3997.3614 2973.721 3997.4843 2973.6167 3997.6018 2973.5063 3997.7136 2973.3901 3997.8194 2973.2685 3997.9189 2973.1417 3998.0119 2973.01 3998.0982 2972.8738 3998.1775 2972.7334 3998.2496 2972.5892 3998.3144 2972.4416 3998.3716 2972.2909 3998.4212 2972.1375 3998.463 2971.9817 3998.4969 2971.8241 3998.5228 2971.665 3997.3346 2971.665 3997.3101 2971.6721 3997.2853 2971.666 3997.2497 2971.7941 3997.2057 2971.9196 3997.1536 2972.0419 3997.0935 2972.1605 3997.0257 2972.2749 3996.9506 2972.3846 3996.8684 2972.4891 3996.7795 2972.5879 3996.6843 2972.6807 3996.5831 2972.767 3996.4765 2972.8465 3996.3649 2972.9188 3996.2488 2972.9835 3996.1287 2973.0405 3996.0051 2973.0894 3995.8785 2973.1301 3995.7495 2973.1624~0~gge447~0~~Y~0~0~0.19685~3997.1357,2972.9817", + "PAD~POLYGON~3993.546~2972.944~2.74~2.7737~1~~3~0~3992.176 2971.6259 3992.176 2971.6263 3992.2 2971.7857 3992.232 2971.9438 3992.2718 2972.1 3992.3196 2972.254 3992.375 2972.4054 3992.438 2972.5538 3992.5083 2972.6988 3992.5859 2972.8402 3992.6705 2972.9774 3992.762 2973.1102 3992.86 2973.2382 3992.9643 2973.3611 3993.0747 2973.4787 3993.1908 2973.5905 3993.3125 2973.6963 3993.4393 2973.7958 3993.571 2973.8888 3993.7072 2973.9751 3993.8476 2974.0544 3993.9918 2974.1265 3994.1394 2974.1913 3994.2901 2974.2485 3994.4435 2974.2981 3994.5992 2974.3399 3994.7569 2974.3738 3994.916 2974.3997 3994.916 2973.2115 3994.9089 2973.1869 3994.915 2973.1621 3994.7869 2973.1265 3994.6614 2973.0825 3994.5391 2973.0304 3994.4205 2972.9703 3994.3061 2972.9025 3994.1964 2972.8274 3994.0919 2972.7452 3993.9931 2972.6563 3993.9003 2972.5611 3993.814 2972.4599 3993.7345 2972.3533 3993.6622 2972.2417 3993.5975 2972.1256 3993.5405 2972.0055 3993.4916 2971.8819 3993.4509 2971.7553 3993.4186 2971.6263~0~gge450~0~~Y~0~0~0.19685~3993.546,2972.9441", + "PAD~POLYGON~3993.568~2969.476~2.7739~2.74~1~~3~0~3994.955 2968.053 3994.9544 2968.053 3994.7949 2968.077 3994.6369 2968.109 3994.4807 2968.1489 3994.3267 2968.1966 3994.1753 2968.252 3994.0269 2968.315 3993.8819 2968.3854 3993.7406 2968.463 3993.6033 2968.5476 3993.4705 2968.639 3993.3425 2968.737 3993.2196 2968.8413 3993.1021 2968.9517 3992.9903 2969.0679 3992.8845 2969.1895 3992.785 2969.3163 3992.6919 2969.448 3992.6057 2969.5842 3992.5264 2969.7246 3992.4543 2969.8688 3992.3895 2970.0164 3992.3323 2970.1671 3992.2827 2970.3205 3992.2409 2970.4763 3992.207 2970.6339 3992.1811 2970.793 3993.3693 2970.793 3993.3938 2970.7859 3993.4186 2970.792 3993.4542 2970.6639 3993.4982 2970.5384 3993.5503 2970.4161 3993.6104 2970.2975 3993.6781 2970.1831 3993.7533 2970.0734 3993.8355 2969.9689 3993.9244 2969.8701 3994.0196 2969.7773 3994.1208 2969.691 3994.2274 2969.6115 3994.339 2969.5393 3994.4551 2969.4745 3994.5752 2969.4175 3994.6988 2969.3686 3994.8254 2969.3279 3994.9544 2969.2956~0~gge453~0~~Y~0~0~0.19685~3993.5681,2969.4764", + "HOLE~3995.352~2971.229~0.9843~gge215~0", + "SVGNODE~{\"gId\":\"g1_outline\",\"nodeName\":\"g\",\"nodeType\":1,\"layerid\":\"19\",\"attrs\":{\"c_width\":\"10.43305\",\"c_height\":\"13.7795\",\"c_rotation\":\"0,0,0\",\"z\":\"0\",\"c_origin\":\"3995.352,2968.4167\",\"uuid\":\"587ef2d4cd9c42aca9875a2e1e64e486\",\"c_etype\":\"outline3D\",\"id\":\"g1_outline\",\"title\":\"MIC-SMD_5P_L3.5-W2.7-P0.82_SPH0641LU4H-1\",\"layerid\":\"19\",\"transform\":\"scale(1) translate(0, 0)\"},\"childNodes\":[{\"gId\":\"g1_outline_line0\",\"nodeName\":\"polyline\",\"nodeType\":1,\"attrs\":{\"fill\":\"none\",\"id\":\"g1_outline_line0\",\"c_shapetype\":\"line\",\"points\":\"3990.1355 2961.527 3990.1355 2964.6766 3990.1355 2975.3065 3995.3323 2975.3065 4000.5685 2975.3065 4000.5685 2964.6766 4000.5685 2961.527 3995.3323 2961.527 3990.1355 2961.527 3990.1355 2961.527\"}}]}" + ], + "layers": [ + "1~TopLayer~#FF0000~true~false~true~", + "2~BottomLayer~#0000FF~true~false~true~", + "3~TopSilkLayer~#FFCC00~true~false~true~", + "4~BottomSilkLayer~#66CC33~true~false~true~", + "5~TopPasteMaskLayer~#808080~true~true~true~", + "6~BottomPasteMaskLayer~#800000~true~false~true~", + "7~TopSolderMaskLayer~#800080~true~false~true~0.3", + "8~BottomSolderMaskLayer~#AA00FF~true~false~true~0.3", + "9~Ratlines~#6464FF~true~false~true~", + "10~BoardOutLine~#FF00FF~true~false~true~", + "11~Multi-Layer~#C0C0C0~true~false~true~", + "12~Document~#FFFFFF~true~false~true~", + "13~TopAssembly~#33CC99~true~false~true~", + "14~BottomAssembly~#5555FF~true~false~true~", + "15~Mechanical~#F022F0~true~false~true~", + "19~3DModel~#66CCFF~true~false~true~", + "21~Inner1~#999966~false~false~false~~", + "22~Inner2~#008000~false~false~false~~", + "23~Inner3~#00FF00~false~false~false~~", + "24~Inner4~#BC8E00~false~false~false~~", + "25~Inner5~#70DBFA~false~false~false~~", + "26~Inner6~#00CC66~false~false~false~~", + "27~Inner7~#9966FF~false~false~false~~", + "28~Inner8~#800080~false~false~false~~", + "29~Inner9~#008080~false~false~false~~", + "30~Inner10~#15935F~false~false~false~~", + "31~Inner11~#000080~false~false~false~~", + "32~Inner12~#00B400~false~false~false~~", + "33~Inner13~#2E4756~false~false~false~~", + "34~Inner14~#99842F~false~false~false~~", + "35~Inner15~#FFFFAA~false~false~false~~", + "36~Inner16~#99842F~false~false~false~~", + "37~Inner17~#2E4756~false~false~false~~", + "38~Inner18~#3535FF~false~false~false~~", + "39~Inner19~#8000BC~false~false~false~~", + "40~Inner20~#43AE5F~false~false~false~~", + "41~Inner21~#C3ECCE~false~false~false~~", + "42~Inner22~#728978~false~false~false~~", + "43~Inner23~#39503F~false~false~false~~", + "44~Inner24~#0C715D~false~false~false~~", + "45~Inner25~#5A8A80~false~false~false~~", + "46~Inner26~#2B937E~false~false~false~~", + "47~Inner27~#23999D~false~false~false~~", + "48~Inner28~#45B4E3~false~false~false~~", + "49~Inner29~#215DA1~false~false~false~~", + "50~Inner30~#4564D7~false~false~false~~", + "51~Inner31~#6969E9~false~false~false~~", + "52~Inner32~#9069E9~false~false~false~~", + "99~ComponentShapeLayer~#00CCCC~true~false~true~0.4", + "100~LeadShapeLayer~#CC9999~true~false~true~", + "101~ComponentMarkingLayer~#66FFCC~true~false~true~", + "Hole~Hole~#222222~false~false~true~", + "DRCError~DRCError~#FAD609~false~false~true~" + ], + "objects": [ + "All~true~false", + "Component~true~true", + "Prefix~true~true", + "Name~true~false", + "Track~true~true", + "Pad~true~true", + "Via~true~true", + "Hole~true~true", + "Copper_Area~true~true", + "Circle~true~true", + "Arc~true~true", + "Solid_Region~true~true", + "Text~true~true", + "Image~true~true", + "Rect~true~true", + "Dimension~true~true", + "Protractor~true~true" + ], + "BBox": { + "x": 3989.8, + "y": 2959.7, + "width": 11, + "height": 15.6 + }, + "netColors": [] + } + }, + "_objMetadata": { + "bounds": { + "min": { + "x": -1.325, + "y": -1.75, + "z": -0.001 + }, + "max": { + "x": 1.325, + "y": 1.75, + "z": 0.99 + } + } + } +} \ No newline at end of file diff --git a/tests/convert-to-ts/C2879853-to-ts.test.ts b/tests/convert-to-ts/C2879853-to-ts.test.ts new file mode 100644 index 00000000..acc50a17 --- /dev/null +++ b/tests/convert-to-ts/C2879853-to-ts.test.ts @@ -0,0 +1,74 @@ +import { it, expect } from "bun:test" +import chipRawEasy from "../assets/C2879853.raweasy.json" +import { convertBetterEasyToTsx } from "lib/websafe/convert-to-typescript-component" +import { EasyEdaJsonSchema } from "lib/schemas/easy-eda-json-schema" + +it("should convert C2879853 into typescript file", async () => { + const betterEasy = EasyEdaJsonSchema.parse(chipRawEasy) + const result = await convertBetterEasyToTsx({ + betterEasy, + }) + + expect(result).not.toContain("milmm") + expect(result).not.toContain("NaNmm") + + expect(result).toMatchInlineSnapshot(` + "import type { ChipProps } from "@tscircuit/props" + + const pinLabels = { + pin1: ["DATA"], + pin2: ["SELECT"], + pin3: ["GROUND"], + pin4: ["CLOCK"], + pin5: ["VDD"] + } as const + + const pinAttributes = { + pin5: {requiresPower: true} + } as const + + export const SPH0641LU4H_1 = (props: ChipProps) => { + return ( + + + + + + + + + + + + + + + + + + + + + + } + cadModel={{ + objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C2879853.obj?uuid=587ef2d4cd9c42aca9875a2e1e64e486", + stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C2879853.step?uuid=587ef2d4cd9c42aca9875a2e1e64e486", + pcbRotationOffset: 0, + modelOriginPosition: { x: 0, y: 0.051790600000003906, z: -0.001 }, + }} + {...props} + /> + ) + }" + `) +}) diff --git a/tests/convert-to-ts/C5360621-to-ts.test.ts b/tests/convert-to-ts/C5360621-to-ts.test.ts new file mode 100644 index 00000000..8a6e9ae8 --- /dev/null +++ b/tests/convert-to-ts/C5360621-to-ts.test.ts @@ -0,0 +1,118 @@ +import { it, expect } from "bun:test" +import chipRawEasy from "../assets/C5360621.raweasy.json" +import { convertBetterEasyToTsx } from "lib/websafe/convert-to-typescript-component" +import { EasyEdaJsonSchema } from "lib/schemas/easy-eda-json-schema" + +it("should convert C5360621 into typescript file", async () => { + const betterEasy = EasyEdaJsonSchema.parse(chipRawEasy) + const result = await convertBetterEasyToTsx({ + betterEasy, + }) + + expect(result).not.toContain("milmm") + expect(result).not.toContain("NaNmm") + + expect(result).toMatchInlineSnapshot(` + "import type { ChipProps } from "@tscircuit/props" + + const pinLabels = { + pin1: ["NC12"], + pin2: ["NC1"], + pin3: ["NC2"], + pin4: ["NC3"], + pin5: ["NC4"], + pin6: ["NC11"], + pin7: ["NC13"], + pin8: ["VDDIO"], + pin9: ["pin9"], + pin10: ["NC5"], + pin11: ["RESV1"], + pin12: ["pin12"], + pin13: ["VDD"], + pin14: ["NC6"], + pin15: ["NC7"], + pin16: ["NC8"], + pin17: ["NC9"], + pin18: ["GND"], + pin19: ["pin19"], + pin20: ["RESV2"], + pin21: ["NC10"], + pin22: ["nCS"], + pin23: ["pin23"], + pin24: ["pin24"] + } as const + + const pinAttributes = { + pin1: {doNotConnect: true}, + pin2: {doNotConnect: true}, + pin3: {doNotConnect: true}, + pin4: {doNotConnect: true}, + pin5: {doNotConnect: true}, + pin6: {doNotConnect: true}, + pin7: {doNotConnect: true}, + pin10: {doNotConnect: true}, + pin13: {requiresPower: true}, + pin14: {doNotConnect: true}, + pin15: {doNotConnect: true}, + pin16: {doNotConnect: true}, + pin17: {doNotConnect: true}, + pin18: {requiresGround: true}, + pin21: {doNotConnect: true} + } as const + + export const ICM_40609_D = (props: ChipProps) => { + return ( + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + } + cadModel={{ + objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C5360621.obj?uuid=1ada17ccfc8345ac9195288b2f01547d", + stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C5360621.step?uuid=1ada17ccfc8345ac9195288b2f01547d", + pcbRotationOffset: 0, + modelOriginPosition: { x: 0, y: 0, z: -0.14 }, + }} + {...props} + /> + ) + }" + `) +}) diff --git a/tests/convert-to-ts/C544843-to-ts.test.ts b/tests/convert-to-ts/C544843-to-ts.test.ts new file mode 100644 index 00000000..86f5c970 --- /dev/null +++ b/tests/convert-to-ts/C544843-to-ts.test.ts @@ -0,0 +1,90 @@ +import { it, expect } from "bun:test" +import chipRawEasy from "../assets/C544843.raweasy.json" +import { convertBetterEasyToTsx } from "lib/websafe/convert-to-typescript-component" +import { EasyEdaJsonSchema } from "lib/schemas/easy-eda-json-schema" + +it("should convert C544843 into typescript file", async () => { + const betterEasy = EasyEdaJsonSchema.parse(chipRawEasy) + const result = await convertBetterEasyToTsx({ + betterEasy, + }) + + expect(result).not.toContain("milmm") + expect(result).not.toContain("NaNmm") + + expect(result).toMatchInlineSnapshot(` + "import type { ChipProps } from "@tscircuit/props" + + const pinLabels = { + pin1: ["C1_POS"], + pin2: ["V_POS"], + pin3: ["C1_NEG"], + pin4: ["C2_POS"], + pin5: ["C2_NEG"], + pin6: ["V_NEG"], + pin7: ["DOUT2"], + pin8: ["RIN2"], + pin9: ["ROUT2"], + pin10: ["DIN2"], + pin11: ["DIN1"], + pin12: ["ROUT1"], + pin13: ["RIN1"], + pin14: ["DOUT1"], + pin15: ["GND"], + pin16: ["VCC"] + } as const + + const pinAttributes = { + pin15: {requiresGround: true}, + pin16: {requiresPower: true} + } as const + + export const MAX3232ECDB = (props: ChipProps) => { + return ( + + + + + + + + + + + + + + + + + + + + + + + + + + } + cadModel={{ + objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C544843.obj?uuid=e68da2a1e3cb458897aa15108dc78818", + stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C544843.step?uuid=e68da2a1e3cb458897aa15108dc78818", + pcbRotationOffset: 0, + modelOriginPosition: { x: 0, y: 0, z: 0.025 }, + }} + {...props} + /> + ) + }" + `) +}) diff --git a/tests/convert-to-ts/C9900014805-to-ts.test.ts b/tests/convert-to-ts/C9900014805-to-ts.test.ts new file mode 100644 index 00000000..319dfc9c --- /dev/null +++ b/tests/convert-to-ts/C9900014805-to-ts.test.ts @@ -0,0 +1,75 @@ +import { it, expect } from "bun:test" +import chipRawEasy from "../assets/C9900014805.raweasy.json" +import { convertBetterEasyToTsx } from "lib/websafe/convert-to-typescript-component" +import { EasyEdaJsonSchema } from "lib/schemas/easy-eda-json-schema" + +it("should convert C9900014805 into typescript file", async () => { + const betterEasy = EasyEdaJsonSchema.parse(chipRawEasy) + const result = await convertBetterEasyToTsx({ + betterEasy, + }) + + expect(result).not.toContain("milmm") + expect(result).not.toContain("NaNmm") + + expect(result).toMatchInlineSnapshot(` + "import type { ChipProps } from "@tscircuit/props" + + const pinLabels = { + pin1: ["DATA"], + pin2: ["SELECT"], + pin3: ["GND"], + pin4: ["CLK"], + pin5: ["VDD"] + } as const + + const pinAttributes = { + pin3: {requiresGround: true}, + pin5: {requiresPower: true} + } as const + + export const SPH0641LM4H = (props: ChipProps) => { + return ( + + + + + + + + + + + + + + + + + + + + + + } + cadModel={{ + objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C9900014805.obj?uuid=587ef2d4cd9c42aca9875a2e1e64e486", + stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C9900014805.step?uuid=587ef2d4cd9c42aca9875a2e1e64e486", + pcbRotationOffset: 0, + modelOriginPosition: { x: 0, y: 0.051790600000003906, z: -0.001 }, + }} + {...props} + /> + ) + }" + `) +}) From 9db9fae3d9a16152a0d4a17a2334b6c245e0cde2 Mon Sep 17 00:00:00 2001 From: survival-ai-agent Date: Mon, 31 Aug 2026 22:24:00 +0200 Subject: [PATCH 2/3] test: add regression tests for C2913197, C22375751, C46497 imports These parts were also reported as failing to import and now convert cleanly. Locks in the behavior via inline snapshots. Closes #314 Closes #275 Closes #268 --- tests/assets/C22375751.raweasy.json | 632 ++++++++++++++++++++ tests/assets/C2913197.raweasy.json | 365 +++++++++++ tests/assets/C46497.raweasy.json | 2 +- tests/convert-to-ts/C22375751-to-ts.test.ts | 268 +++++++++ tests/convert-to-ts/C2913197-to-ts.test.ts | 160 +++++ tests/convert-to-ts/C46497-to-ts.test.ts | 7 - 6 files changed, 1426 insertions(+), 8 deletions(-) create mode 100644 tests/assets/C22375751.raweasy.json create mode 100644 tests/assets/C2913197.raweasy.json create mode 100644 tests/convert-to-ts/C22375751-to-ts.test.ts create mode 100644 tests/convert-to-ts/C2913197-to-ts.test.ts diff --git a/tests/assets/C22375751.raweasy.json b/tests/assets/C22375751.raweasy.json new file mode 100644 index 00000000..e28a22c1 --- /dev/null +++ b/tests/assets/C22375751.raweasy.json @@ -0,0 +1,632 @@ +{ + "uuid": "9d9408bd26b34082a3e6d5efb01022d2", + "title": "ESP32-P4", + "description": "", + "docType": 2, + "type": 3, + "thumb": "/component/9d9408bd26b34082a3e6d5efb01022d2.png", + "lcsc": { + "id": 23887451, + "number": "C22375751" + }, + "szlcsc": { + "id": 23887451, + "number": "C22375751" + }, + "owner": { + "uuid": "0819f05c4eef4c71ace90d822a990e87", + "username": "lcsc", + "nickname": "LCSC", + "avatar": "//image.lceda.cn/avatars/2018/6/kFlrasi7W06gTdBLAqW3fkrqbDhbowynuSzkjqso.png" + }, + "tags": [], + "updateTime": 1750958744, + "updated_at": "2026-07-06 09:13:05", + "dataStr": { + "head": { + "docType": "2", + "editorVersion": "6.5.50", + "x": 820, + "y": 290, + "c_para": { + "pre": "U?", + "name": "ESP32-P4", + "package": "QFN-104_L10.0-W10.0-P0.35-TL-EP7.5", + "Supplier": "LCSC", + "Supplier Part": "C22375751", + "Manufacturer": null, + "Manufacturer Part": "ESP32-P4", + "Contributor": "lcsc", + "JLCPCB Part Class": "Extended Part" + }, + "uuid": "9d9408bd26b34082a3e6d5efb01022d2", + "puuid": "6a2bff46ca594d2d9c9013968e303e58", + "importFlag": 0, + "c_spiceCmd": null, + "pre": "U?", + "name": "ESP32-P4", + "hasIdFlag": true, + "utime": 1749721994 + }, + "canvas": "CA~1000~1000~#FFFFFF~yes~#CCCCCC~5~1000~1000~line~5~pixel~5~820~290", + "shape": [ + "P~show~0~105~920~30~0~gge116~0^^920~30^^M 920 30 h -10~#000000^^1~906.3~34~0~GND~end~~~#000000^^1~910.5~29~0~105~start~~~#000000^^0~913~30^^0~M 910 27 L 907 30 L 910 33", + "P~show~0~104~920~40~0~gge137~0^^920~40^^M 920 40 h -10~#880000^^1~906.3~44~0~GPIO0~end~~~#0000FF^^1~910.5~39~0~104~start~~~#0000FF^^0~913~40^^0~M 910 37 L 907 40 L 910 43", + "P~show~0~103~920~50~0~gge158~0^^920~50^^M 920 50 h -10~#880000^^1~906.3~54~0~CHIP_PU~end~~~#0000FF^^1~910.5~49~0~103~start~~~#0000FF^^0~913~50^^0~M 910 47 L 907 50 L 910 53", + "P~show~0~102~920~60~0~gge179~0^^920~60^^M 920 60 h -10~#880000^^1~906.3~64~0~VBAT~end~~~#0000FF^^1~910.5~59~0~102~start~~~#0000FF^^0~913~60^^0~M 910 57 L 907 60 L 910 63", + "P~show~0~101~920~70~0~gge200~0^^920~70^^M 920 70 h -10~#FF0000^^1~906.3~74~0~VDDA~end~~~#FF0000^^1~910.5~69~0~101~start~~~#FF0000^^0~913~70^^0~M 910 67 L 907 70 L 910 73", + "P~show~0~100~920~80~0~gge221~0^^920~80^^M 920 80 h -10~#880000^^1~906.3~84~0~XTAL_P~end~~~#0000FF^^1~910.5~79~0~100~start~~~#0000FF^^0~913~80^^0~M 910 77 L 907 80 L 910 83", + "P~show~0~99~920~90~0~gge242~0^^920~90^^M 920 90 h -10~#880000^^1~906.3~94~0~XTAL_N~end~~~#0000FF^^1~910.5~89~0~99~start~~~#0000FF^^0~913~90^^0~M 910 87 L 907 90 L 910 93", + "P~show~0~98~920~100~0~gge263~0^^920~100^^M 920 100 h -10~#880000^^1~906.3~104~0~GPIO54~end~~~#0000FF^^1~910.5~99~0~98~start~~~#0000FF^^0~913~100^^0~M 910 97 L 907 100 L 910 103", + "P~show~0~97~920~110~0~gge284~0^^920~110^^M 920 110 h -10~#880000^^1~906.3~114~0~GPIO53~end~~~#0000FF^^1~910.5~109~0~97~start~~~#0000FF^^0~913~110^^0~M 910 107 L 907 110 L 910 113", + "P~show~0~96~920~120~0~gge305~0^^920~120^^M 920 120 h -10~#FF0000^^1~906.3~124~0~VDDPST_6~end~~~#FF0000^^1~910.5~119~0~96~start~~~#FF0000^^0~913~120^^0~M 910 117 L 907 120 L 910 123", + "P~show~0~95~920~130~0~gge326~0^^920~130^^M 920 130 h -10~#880000^^1~906.3~134~0~GPIO52~end~~~#0000FF^^1~910.5~129~0~95~start~~~#0000FF^^0~913~130^^0~M 910 127 L 907 130 L 910 133", + "P~show~0~94~920~140~0~gge347~0^^920~140^^M 920 140 h -10~#880000^^1~906.3~144~0~GPIO51~end~~~#0000FF^^1~910.5~139~0~94~start~~~#0000FF^^0~913~140^^0~M 910 137 L 907 140 L 910 143", + "P~show~0~93~920~150~0~gge368~0^^920~150^^M 920 150 h -10~#880000^^1~906.3~154~0~GPIO50~end~~~#0000FF^^1~910.5~149~0~93~start~~~#0000FF^^0~913~150^^0~M 910 147 L 907 150 L 910 153", + "P~show~0~92~920~160~0~gge389~0^^920~160^^M 920 160 h -10~#880000^^1~906.3~164~0~GPIO49~end~~~#0000FF^^1~910.5~159~0~92~start~~~#0000FF^^0~913~160^^0~M 910 157 L 907 160 L 910 163", + "P~show~0~91~920~170~0~gge410~0^^920~170^^M 920 170 h -10~#FF0000^^1~906.3~174~0~VDD_HP_3~end~~~#FF0000^^1~910.5~169~0~91~start~~~#FF0000^^0~913~170^^0~M 910 167 L 907 170 L 910 173", + "P~show~0~90~920~180~0~gge431~0^^920~180^^M 920 180 h -10~#880000^^1~906.3~184~0~GPIO48~end~~~#0000FF^^1~910.5~179~0~90~start~~~#0000FF^^0~913~180^^0~M 910 177 L 907 180 L 910 183", + "P~show~0~89~920~190~0~gge452~0^^920~190^^M 920 190 h -10~#880000^^1~906.3~194~0~GPIO47~end~~~#0000FF^^1~910.5~189~0~89~start~~~#0000FF^^0~913~190^^0~M 910 187 L 907 190 L 910 193", + "P~show~0~88~920~200~0~gge473~0^^920~200^^M 920 200 h -10~#880000^^1~906.3~204~0~GPIO46~end~~~#0000FF^^1~910.5~199~0~88~start~~~#0000FF^^0~913~200^^0~M 910 197 L 907 200 L 910 203", + "P~show~0~87~920~210~0~gge494~0^^920~210^^M 920 210 h -10~#880000^^1~906.3~214~0~GPIO45~end~~~#0000FF^^1~910.5~209~0~87~start~~~#0000FF^^0~913~210^^0~M 910 207 L 907 210 L 910 213", + "P~show~0~86~920~220~0~gge515~0^^920~220^^M 920 220 h -10~#880000^^1~906.3~224~0~GPIO44~end~~~#0000FF^^1~910.5~219~0~86~start~~~#0000FF^^0~913~220^^0~M 910 217 L 907 220 L 910 223", + "P~show~0~85~920~230~0~gge536~0^^920~230^^M 920 230 h -10~#FF0000^^1~906.3~234~0~VDDPST_5~end~~~#FF0000^^1~910.5~229~0~85~start~~~#FF0000^^0~913~230^^0~M 910 227 L 907 230 L 910 233", + "P~show~0~84~920~240~0~gge557~0^^920~240^^M 920 240 h -10~#880000^^1~906.3~244~0~GPIO43~end~~~#0000FF^^1~910.5~239~0~84~start~~~#0000FF^^0~913~240^^0~M 910 237 L 907 240 L 910 243", + "P~show~0~83~920~250~0~gge578~0^^920~250^^M 920 250 h -10~#880000^^1~906.3~254~0~GPIO42~end~~~#0000FF^^1~910.5~249~0~83~start~~~#0000FF^^0~913~250^^0~M 910 247 L 907 250 L 910 253", + "P~show~0~82~920~260~0~gge599~0^^920~260^^M 920 260 h -10~#880000^^1~906.3~264~0~GPIO41~end~~~#0000FF^^1~910.5~259~0~82~start~~~#0000FF^^0~913~260^^0~M 910 257 L 907 260 L 910 263", + "P~show~0~81~920~270~0~gge620~0^^920~270^^M 920 270 h -10~#880000^^1~906.3~274~0~GPIO40~end~~~#0000FF^^1~910.5~269~0~81~start~~~#0000FF^^0~913~270^^0~M 910 267 L 907 270 L 910 273", + "P~show~0~80~920~280~0~gge641~0^^920~280^^M 920 280 h -10~#880000^^1~906.3~284~0~GPIO39~end~~~#0000FF^^1~910.5~279~0~80~start~~~#0000FF^^0~913~280^^0~M 910 277 L 907 280 L 910 283", + "P~show~0~79~920~290~0~gge662~0^^920~290^^M 920 290 h -10~#880000^^1~906.3~294~0~EN_DCDC~end~~~#0000FF^^1~910.5~289~0~79~start~~~#0000FF^^0~913~290^^0~M 910 287 L 907 290 L 910 293", + "P~show~0~78~920~300~0~gge683~0^^920~300^^M 920 300 h -10~#880000^^1~906.3~304~0~FB_DCDC~end~~~#0000FF^^1~910.5~299~0~78~start~~~#0000FF^^0~913~300^^0~M 910 297 L 907 300 L 910 303", + "P~show~0~77~920~310~0~gge704~0^^920~310^^M 920 310 h -10~#FF0000^^1~906.3~314~0~VDDPST_DCDC~end~~~#FF0000^^1~910.5~309~0~77~start~~~#FF0000^^0~913~310^^0~M 910 307 L 907 310 L 910 313", + "P~show~0~76~920~320~0~gge725~0^^920~320^^M 920 320 h -10~#FF0000^^1~906.3~324~0~VDD_HP_2~end~~~#FF0000^^1~910.5~319~0~76~start~~~#FF0000^^0~913~320^^0~M 910 317 L 907 320 L 910 323", + "P~show~0~75~920~330~0~gge746~0^^920~330^^M 920 330 h -10~#FF0000^^1~906.3~334~0~VDDPST_LDO~end~~~#FF0000^^1~910.5~329~0~75~start~~~#FF0000^^0~913~330^^0~M 910 327 L 907 330 L 910 333", + "P~show~0~74~920~340~0~gge767~0^^920~340^^M 920 340 h -10~#880000^^1~906.3~344~0~VFB/VO4~end~~~#0000FF^^1~910.5~339~0~74~start~~~#0000FF^^0~913~340^^0~M 910 337 L 907 340 L 910 343", + "P~show~0~73~920~350~0~gge788~0^^920~350^^M 920 350 h -10~#880000^^1~906.3~354~0~VFB/VO3~end~~~#0000FF^^1~910.5~349~0~73~start~~~#0000FF^^0~913~350^^0~M 910 347 L 907 350 L 910 353", + "P~show~0~72~920~360~0~gge809~0^^920~360^^M 920 360 h -10~#880000^^1~906.3~364~0~VFB/VO2~end~~~#0000FF^^1~910.5~359~0~72~start~~~#0000FF^^0~913~360^^0~M 910 357 L 907 360 L 910 363", + "P~show~0~71~920~370~0~gge830~0^^920~370^^M 920 370 h -10~#880000^^1~906.3~374~0~VFB/VO1~end~~~#0000FF^^1~910.5~369~0~71~start~~~#0000FF^^0~913~370^^0~M 910 367 L 907 370 L 910 373", + "P~show~0~70~920~380~0~gge851~0^^920~380^^M 920 380 h -10~#880000^^1~906.3~384~0~GPIO38~end~~~#0000FF^^1~910.5~379~0~70~start~~~#0000FF^^0~913~380^^0~M 910 377 L 907 380 L 910 383", + "P~show~0~69~920~390~0~gge872~0^^920~390^^M 920 390 h -10~#880000^^1~906.3~394~0~GPIO37~end~~~#0000FF^^1~910.5~389~0~69~start~~~#0000FF^^0~913~390^^0~M 910 387 L 907 390 L 910 393", + "P~show~0~68~920~400~0~gge893~0^^920~400^^M 920 400 h -10~#880000^^1~906.3~404~0~GPIO36~end~~~#0000FF^^1~910.5~399~0~68~start~~~#0000FF^^0~913~400^^0~M 910 397 L 907 400 L 910 403", + "P~show~0~67~920~410~0~gge914~0^^920~410^^M 920 410 h -10~#FF0000^^1~906.3~414~0~VDDPST~end~~~#FF0000^^1~910.5~409~0~67~start~~~#FF0000^^0~913~410^^0~M 910 407 L 907 410 L 910 413", + "P~show~0~66~920~420~0~gge935~0^^920~420^^M 920 420 h -10~#880000^^1~906.3~424~0~GPIO35~end~~~#0000FF^^1~910.5~419~0~66~start~~~#0000FF^^0~913~420^^0~M 910 417 L 907 420 L 910 423", + "P~show~0~65~920~430~0~gge956~0^^920~430^^M 920 430 h -10~#880000^^1~906.3~434~0~GPIO34~end~~~#0000FF^^1~910.5~429~0~65~start~~~#0000FF^^0~913~430^^0~M 910 427 L 907 430 L 910 433", + "P~show~0~64~920~440~0~gge977~0^^920~440^^M 920 440 h -10~#880000^^1~906.3~444~0~GPIO33~end~~~#0000FF^^1~910.5~439~0~64~start~~~#0000FF^^0~913~440^^0~M 910 437 L 907 440 L 910 443", + "P~show~0~63~920~450~0~gge998~0^^920~450^^M 920 450 h -10~#880000^^1~906.3~454~0~GPIO32~end~~~#0000FF^^1~910.5~449~0~63~start~~~#0000FF^^0~913~450^^0~M 910 447 L 907 450 L 910 453", + "P~show~0~62~920~460~0~gge1019~0^^920~460^^M 920 460 h -10~#FF0000^^1~906.3~464~0~VDDPST_4~end~~~#FF0000^^1~910.5~459~0~62~start~~~#FF0000^^0~913~460^^0~M 910 457 L 907 460 L 910 463", + "P~show~0~61~920~470~0~gge1040~0^^920~470^^M 920 470 h -10~#880000^^1~906.3~474~0~GPIO31~end~~~#0000FF^^1~910.5~469~0~61~start~~~#0000FF^^0~913~470^^0~M 910 467 L 907 470 L 910 473", + "P~show~0~60~920~480~0~gge1061~0^^920~480^^M 920 480 h -10~#880000^^1~906.3~484~0~GPIO30~end~~~#0000FF^^1~910.5~479~0~60~start~~~#0000FF^^0~913~480^^0~M 910 477 L 907 480 L 910 483", + "P~show~0~59~920~490~0~gge1082~0^^920~490^^M 920 490 h -10~#FF0000^^1~906.3~494~0~VDDPST~end~~~#FF0000^^1~910.5~489~0~59~start~~~#FF0000^^0~913~490^^0~M 910 487 L 907 490 L 910 493", + "P~show~0~58~920~500~0~gge1103~0^^920~500^^M 920 500 h -10~#880000^^1~906.3~504~0~GPIO29~end~~~#0000FF^^1~910.5~499~0~58~start~~~#0000FF^^0~913~500^^0~M 910 497 L 907 500 L 910 503", + "P~show~0~57~920~510~0~gge1124~0^^920~510^^M 920 510 h -10~#880000^^1~906.3~514~0~GPIO28~end~~~#0000FF^^1~910.5~509~0~57~start~~~#0000FF^^0~913~510^^0~M 910 507 L 907 510 L 910 513", + "P~show~0~56~920~520~0~gge1145~0^^920~520^^M 920 520 h -10~#880000^^1~906.3~524~0~GPIO27~end~~~#0000FF^^1~910.5~519~0~56~start~~~#0000FF^^0~913~520^^0~M 910 517 L 907 520 L 910 523", + "P~show~0~55~920~530~0~gge1166~0^^920~530^^M 920 530 h -10~#880000^^1~906.3~534~0~GPIO26~end~~~#0000FF^^1~910.5~529~0~55~start~~~#0000FF^^0~913~530^^0~M 910 527 L 907 530 L 910 533", + "P~show~0~54~920~540~0~gge1187~0^^920~540^^M 920 540 h -10~#880000^^1~906.3~544~0~NC~end~~~#0000FF^^1~910.5~539~0~54~start~~~#0000FF^^0~913~540^^0~M 910 537 L 907 540 L 910 543", + "P~show~0~53~920~550~0~gge1208~0^^920~550^^M 920 550 h -10~#880000^^1~906.3~554~0~GPIO25~end~~~#0000FF^^1~910.5~549~0~53~start~~~#0000FF^^0~913~550^^0~M 910 547 L 907 550 L 910 553", + "P~show~0~52~720~550~180~gge1229~0^^720~550^^M 720 550 h 10~#880000^^1~733.7~554~0~GPIO24~start~~~#0000FF^^1~729.5~549~0~52~end~~~#0000FF^^0~727~550^^0~M 730 553 L 733 550 L 730 547", + "P~show~0~51~720~540~180~gge1250~0^^720~540^^M 720 540 h 10~#FF0000^^1~733.7~544~0~VCCA~start~~~#FF0000^^1~729.5~539~0~51~end~~~#FF0000^^0~727~540^^0~M 730 543 L 733 540 L 730 537", + "P~show~0~50~720~530~180~gge1271~0^^720~530^^M 720 530 h 10~#880000^^1~733.7~534~0~DP~start~~~#0000FF^^1~729.5~529~0~50~end~~~#0000FF^^0~727~530^^0~M 730 533 L 733 530 L 730 527", + "P~show~0~49~720~520~180~gge1292~0^^720~520^^M 720 520 h 10~#880000^^1~733.7~524~0~DM~start~~~#0000FF^^1~729.5~519~0~49~end~~~#0000FF^^0~727~520^^0~M 730 523 L 733 520 L 730 517", + "P~show~0~48~720~510~180~gge1313~0^^720~510^^M 720 510 h 10~#880000^^1~733.7~514~0~CSI_REXT~start~~~#0000FF^^1~729.5~509~0~48~end~~~#0000FF^^0~727~510^^0~M 730 513 L 733 510 L 730 507", + "P~show~0~47~720~500~180~gge1334~0^^720~500^^M 720 500 h 10~#880000^^1~733.7~504~0~CSI_DATAP1~start~~~#0000FF^^1~729.5~499~0~47~end~~~#0000FF^^0~727~500^^0~M 730 503 L 733 500 L 730 497", + "P~show~0~46~720~490~180~gge1355~0^^720~490^^M 720 490 h 10~#880000^^1~733.7~494~0~CSI_DATAN1~start~~~#0000FF^^1~729.5~489~0~46~end~~~#0000FF^^0~727~490^^0~M 730 493 L 733 490 L 730 487", + "P~show~0~45~720~480~180~gge1376~0^^720~480^^M 720 480 h 10~#880000^^1~733.7~484~0~CSI_CLKN~start~~~#0000FF^^1~729.5~479~0~45~end~~~#0000FF^^0~727~480^^0~M 730 483 L 733 480 L 730 477", + "P~show~0~44~720~470~180~gge1397~0^^720~470^^M 720 470 h 10~#880000^^1~733.7~474~0~CSI_CLKP~start~~~#0000FF^^1~729.5~469~0~44~end~~~#0000FF^^0~727~470^^0~M 730 473 L 733 470 L 730 467", + "P~show~0~43~720~460~180~gge1418~0^^720~460^^M 720 460 h 10~#880000^^1~733.7~464~0~CSI_DATAP0~start~~~#0000FF^^1~729.5~459~0~43~end~~~#0000FF^^0~727~460^^0~M 730 463 L 733 460 L 730 457", + "P~show~0~42~720~450~180~gge1439~0^^720~450^^M 720 450 h 10~#880000^^1~733.7~454~0~CSI_DATAN0~start~~~#0000FF^^1~729.5~449~0~42~end~~~#0000FF^^0~727~450^^0~M 730 453 L 733 450 L 730 447", + "P~show~0~41~720~440~180~gge1460~0^^720~440^^M 720 440 h 10~#FF0000^^1~733.7~444~0~VDD_MIPI_DPHY~start~~~#FF0000^^1~729.5~439~0~41~end~~~#FF0000^^0~727~440^^0~M 730 443 L 733 440 L 730 437", + "P~show~0~40~720~430~180~gge1481~0^^720~430^^M 720 430 h 10~#880000^^1~733.7~434~0~DSI_DATAN0~start~~~#0000FF^^1~729.5~429~0~40~end~~~#0000FF^^0~727~430^^0~M 730 433 L 733 430 L 730 427", + "P~show~0~39~720~420~180~gge1502~0^^720~420^^M 720 420 h 10~#880000^^1~733.7~424~0~DSI_DATAP0~start~~~#0000FF^^1~729.5~419~0~39~end~~~#0000FF^^0~727~420^^0~M 730 423 L 733 420 L 730 417", + "P~show~0~38~720~410~180~gge1523~0^^720~410^^M 720 410 h 10~#880000^^1~733.7~414~0~DSI_CLKP~start~~~#0000FF^^1~729.5~409~0~38~end~~~#0000FF^^0~727~410^^0~M 730 413 L 733 410 L 730 407", + "P~show~0~37~720~400~180~gge1544~0^^720~400^^M 720 400 h 10~#880000^^1~733.7~404~0~DSI_CLKN~start~~~#0000FF^^1~729.5~399~0~37~end~~~#0000FF^^0~727~400^^0~M 730 403 L 733 400 L 730 397", + "P~show~0~36~720~390~180~gge1565~0^^720~390^^M 720 390 h 10~#880000^^1~733.7~394~0~DSI_DATAN1~start~~~#0000FF^^1~729.5~389~0~36~end~~~#0000FF^^0~727~390^^0~M 730 393 L 733 390 L 730 387", + "P~show~0~35~720~380~180~gge1586~0^^720~380^^M 720 380 h 10~#880000^^1~733.7~384~0~DSI_DATAP1~start~~~#0000FF^^1~729.5~379~0~35~end~~~#0000FF^^0~727~380^^0~M 730 383 L 733 380 L 730 377", + "P~show~0~34~720~370~180~gge1607~0^^720~370^^M 720 370 h 10~#880000^^1~733.7~374~0~DSI_REXT~start~~~#0000FF^^1~729.5~369~0~34~end~~~#0000FF^^0~727~370^^0~M 730 373 L 733 370 L 730 367", + "P~show~0~33~720~360~180~gge1628~0^^720~360^^M 720 360 h 10~#880000^^1~733.7~364~0~FLASH_D~start~~~#0000FF^^1~729.5~359~0~33~end~~~#0000FF^^0~727~360^^0~M 730 363 L 733 360 L 730 357", + "P~show~0~32~720~350~180~gge1649~0^^720~350^^M 720 350 h 10~#880000^^1~733.7~354~0~FLASH_CK~start~~~#0000FF^^1~729.5~349~0~32~end~~~#0000FF^^0~727~350^^0~M 730 353 L 733 350 L 730 347", + "P~show~0~31~720~340~180~gge1670~0^^720~340^^M 720 340 h 10~#880000^^1~733.7~344~0~FLASH_HOLD~start~~~#0000FF^^1~729.5~339~0~31~end~~~#0000FF^^0~727~340^^0~M 730 343 L 733 340 L 730 337", + "P~show~0~30~720~330~180~gge1691~0^^720~330^^M 720 330 h 10~#FF0000^^1~733.7~334~0~VDDPST_3~start~~~#FF0000^^1~729.5~329~0~30~end~~~#FF0000^^0~727~330^^0~M 730 333 L 733 330 L 730 327", + "P~show~0~29~720~320~180~gge1712~0^^720~320^^M 720 320 h 10~#880000^^1~733.7~324~0~FLASH_WP~start~~~#0000FF^^1~729.5~319~0~29~end~~~#0000FF^^0~727~320^^0~M 730 323 L 733 320 L 730 317", + "P~show~0~28~720~310~180~gge1733~0^^720~310^^M 720 310 h 10~#880000^^1~733.7~314~0~FLASH_Q~start~~~#0000FF^^1~729.5~309~0~28~end~~~#0000FF^^0~727~310^^0~M 730 313 L 733 310 L 730 307", + "P~show~0~27~720~300~180~gge1754~0^^720~300^^M 720 300 h 10~#880000^^1~733.7~304~0~FLASH_CS~start~~~#0000FF^^1~729.5~299~0~27~end~~~#0000FF^^0~727~300^^0~M 730 303 L 733 300 L 730 297", + "P~show~0~26~720~290~180~gge1775~0^^720~290^^M 720 290 h 10~#FF0000^^1~733.7~294~0~VDD_HP_0~start~~~#FF0000^^1~729.5~289~0~26~end~~~#FF0000^^0~727~290^^0~M 730 293 L 733 290 L 730 287", + "P~show~0~25~720~280~180~gge1796~0^^720~280^^M 720 280 h 10~#880000^^1~733.7~284~0~GPIO23~start~~~#0000FF^^1~729.5~279~0~25~end~~~#0000FF^^0~727~280^^0~M 730 283 L 733 280 L 730 277", + "P~show~0~24~720~270~180~gge1817~0^^720~270^^M 720 270 h 10~#880000^^1~733.7~274~0~GPIO22~start~~~#0000FF^^1~729.5~269~0~24~end~~~#0000FF^^0~727~270^^0~M 730 273 L 733 270 L 730 267", + "P~show~0~23~720~260~180~gge1838~0^^720~260^^M 720 260 h 10~#880000^^1~733.7~264~0~GPIO21~start~~~#0000FF^^1~729.5~259~0~23~end~~~#0000FF^^0~727~260^^0~M 730 263 L 733 260 L 730 257", + "P~show~0~22~720~250~180~gge1859~0^^720~250^^M 720 250 h 10~#880000^^1~733.7~254~0~GPIO20~start~~~#0000FF^^1~729.5~249~0~22~end~~~#0000FF^^0~727~250^^0~M 730 253 L 733 250 L 730 247", + "P~show~0~21~720~240~180~gge1880~0^^720~240^^M 720 240 h 10~#FF0000^^1~733.7~244~0~VDDPST_2~start~~~#FF0000^^1~729.5~239~0~21~end~~~#FF0000^^0~727~240^^0~M 730 243 L 733 240 L 730 237", + "P~show~0~20~720~230~180~gge1901~0^^720~230^^M 720 230 h 10~#880000^^1~733.7~234~0~GPIO19~start~~~#0000FF^^1~729.5~229~0~20~end~~~#0000FF^^0~727~230^^0~M 730 233 L 733 230 L 730 227", + "P~show~0~19~720~220~180~gge1922~0^^720~220^^M 720 220 h 10~#880000^^1~733.7~224~0~GPIO18~start~~~#0000FF^^1~729.5~219~0~19~end~~~#0000FF^^0~727~220^^0~M 730 223 L 733 220 L 730 217", + "P~show~0~18~720~210~180~gge1943~0^^720~210^^M 720 210 h 10~#880000^^1~733.7~214~0~GPIO17~start~~~#0000FF^^1~729.5~209~0~18~end~~~#0000FF^^0~727~210^^0~M 730 213 L 733 210 L 730 207", + "P~show~0~17~720~200~180~gge1964~0^^720~200^^M 720 200 h 10~#880000^^1~733.7~204~0~GPIO16~start~~~#0000FF^^1~729.5~199~0~17~end~~~#0000FF^^0~727~200^^0~M 730 203 L 733 200 L 730 197", + "P~show~0~16~720~190~180~gge1985~0^^720~190^^M 720 190 h 10~#880000^^1~733.7~194~0~GPIO15~start~~~#0000FF^^1~729.5~189~0~16~end~~~#0000FF^^0~727~190^^0~M 730 193 L 733 190 L 730 187", + "P~show~0~15~720~180~180~gge2006~0^^720~180^^M 720 180 h 10~#880000^^1~733.7~184~0~GPIO14~start~~~#0000FF^^1~729.5~179~0~15~end~~~#0000FF^^0~727~180^^0~M 730 183 L 733 180 L 730 177", + "P~show~0~14~720~170~180~gge2027~0^^720~170^^M 720 170 h 10~#880000^^1~733.7~174~0~GPIO13~start~~~#0000FF^^1~729.5~169~0~14~end~~~#0000FF^^0~727~170^^0~M 730 173 L 733 170 L 730 167", + "P~show~0~13~720~160~180~gge2048~0^^720~160^^M 720 160 h 10~#880000^^1~733.7~164~0~GPIO12~start~~~#0000FF^^1~729.5~159~0~13~end~~~#0000FF^^0~727~160^^0~M 730 163 L 733 160 L 730 157", + "P~show~0~12~720~150~180~gge2069~0^^720~150^^M 720 150 h 10~#880000^^1~733.7~154~0~GPIO11~start~~~#0000FF^^1~729.5~149~0~12~end~~~#0000FF^^0~727~150^^0~M 730 153 L 733 150 L 730 147", + "P~show~0~11~720~140~180~gge2090~0^^720~140^^M 720 140 h 10~#880000^^1~733.7~144~0~GPIO10~start~~~#0000FF^^1~729.5~139~0~11~end~~~#0000FF^^0~727~140^^0~M 730 143 L 733 140 L 730 137", + "P~show~0~10~720~130~180~gge2111~0^^720~130^^M 720 130 h 10~#880000^^1~733.7~134~0~GPIO9~start~~~#0000FF^^1~729.5~129~0~10~end~~~#0000FF^^0~727~130^^0~M 730 133 L 733 130 L 730 127", + "P~show~0~9~720~120~180~gge2132~0^^720~120^^M 720 120 h 10~#FF0000^^1~733.7~124~0~VDDPST_1~start~~~#FF0000^^1~729.5~119~0~9~end~~~#FF0000^^0~727~120^^0~M 730 123 L 733 120 L 730 117", + "P~show~0~8~720~110~180~gge2153~0^^720~110^^M 720 110 h 10~#880000^^1~733.7~114~0~GPIO8~start~~~#0000FF^^1~729.5~109~0~8~end~~~#0000FF^^0~727~110^^0~M 730 113 L 733 110 L 730 107", + "P~show~0~7~720~100~180~gge2174~0^^720~100^^M 720 100 h 10~#880000^^1~733.7~104~0~GPIO7~start~~~#0000FF^^1~729.5~99~0~7~end~~~#0000FF^^0~727~100^^0~M 730 103 L 733 100 L 730 97", + "P~show~0~6~720~90~180~gge2195~0^^720~90^^M 720 90 h 10~#880000^^1~733.7~94~0~GPIO6~start~~~#0000FF^^1~729.5~89~0~6~end~~~#0000FF^^0~727~90^^0~M 730 93 L 733 90 L 730 87", + "P~show~0~5~720~80~180~gge2216~0^^720~80^^M 720 80 h 10~#880000^^1~733.7~84~0~GPIO5~start~~~#0000FF^^1~729.5~79~0~5~end~~~#0000FF^^0~727~80^^0~M 730 83 L 733 80 L 730 77", + "P~show~0~4~720~70~180~gge2237~0^^720~70^^M 720 70 h 10~#880000^^1~733.7~74~0~GPIO4~start~~~#0000FF^^1~729.5~69~0~4~end~~~#0000FF^^0~727~70^^0~M 730 73 L 733 70 L 730 67", + "P~show~0~3~720~60~180~gge2258~0^^720~60^^M 720 60 h 10~#880000^^1~733.7~64~0~GPIO3~start~~~#0000FF^^1~729.5~59~0~3~end~~~#0000FF^^0~727~60^^0~M 730 63 L 733 60 L 730 57", + "P~show~0~2~720~50~180~gge2279~0^^720~50^^M 720 50 h 10~#880000^^1~733.7~54~0~GPIO2~start~~~#0000FF^^1~729.5~49~0~2~end~~~#0000FF^^0~727~50^^0~M 730 53 L 733 50 L 730 47", + "P~show~0~1~720~40~180~gge2300~0^^720~40^^M 720 40 h 10~#880000^^1~733.7~44~0~GPIO1~start~~~#0000FF^^1~729.5~39~0~1~end~~~#0000FF^^0~727~40^^0~M 730 43 L 733 40 L 730 37", + "E~735~25~1.5~1.5~#880000~1~0~#880000~gge2321~0", + "R~730~20~2~2~180~540~#880000~1~0~none~gge2324~0~" + ], + "BBox": { + "x": 715.8, + "y": 19.7, + "width": 214, + "height": 540.3 + }, + "colors": [] + }, + "datastrid": "7f89ec982fa04218bb597f3ca3df5ca8", + "verify": true, + "SMT": true, + "jlcOnSale": 1, + "writable": false, + "isFavorite": false, + "packageDetail": { + "uuid": "6a2bff46ca594d2d9c9013968e303e58", + "title": "QFN-104_L10.0-W10.0-P0.35-TL-EP7.5", + "docType": 4, + "updateTime": 1777076324, + "owner": { + "uuid": "0819f05c4eef4c71ace90d822a990e87", + "username": "lcsc", + "nickname": "LCSC", + "avatar": "//image.lceda.cn/avatars/2018/6/kFlrasi7W06gTdBLAqW3fkrqbDhbowynuSzkjqso.png" + }, + "datastrid": "f4a155233f88456e9a209e16220d029f", + "writable": false, + "dataStr": { + "head": { + "docType": "4", + "editorVersion": "6.5.51", + "x": 400, + "y": 300, + "c_para": { + "package": "QFN-104_L10.0-W10.0-P0.35-TL-EP7.5", + "pre": "U?", + "Contributor": "LCSC", + "link": "https://jlc-prod-smt-component.oss-cn-shenzhen.aliyuncs.com/smt/component/data-book/BOOK/20241206/8553290408856190976-esp32-p4-eco1.pdf?Expires=4855537559&OSSAccessKeyId=LTAI5tMSqpMTLBcDFwY5pZRG&Signature=SF3nSCSpLZiletpuDk1SCx4uwwc%3D", + "3DModel": "QFN-104_L10.0-W10.0-P0.35-TL-EP7.5" + }, + "uuid": "6a2bff46ca594d2d9c9013968e303e58", + "utime": 1777076324, + "importFlag": 0, + "transformList": "", + "hasIdFlag": true, + "uuid_3d": "571ea28117df4db2af25229e33a4c097" + }, + "canvas": "CA~1000~1000~#000000~yes~#FFFFFF~1~1000~1000~line~0.03937~mm~1~45~visible~0.1~400~300~0~yes", + "shape": [ + "CIRCLE~380.315~280.315~0.1181~0.2362~101~gge651~0~~", + "CIRCLE~378.461~282.776~0.591~1.1811~12~rep223~0~~", + "SOLIDREGION~99~~M380.315 319.685 419.685 319.685 L419.685 319.685 419.685 280.315 L419.685 280.315 380.315 280.315 L380.315 280.315 380.315 319.685 Z~solid~rep2~~~~0", + "SOLIDREGION~5~~M420.9646,283.0713L420.9646,282.4807L418.4055,282.4807L418.4055,283.0713Z~solid~gge329~~~~0", + "SOLIDREGION~5~~M420.9646,284.4493L420.9646,283.8587L418.4055,283.8587L418.4055,284.4493Z~solid~gge332~~~~0", + "SOLIDREGION~5~~M420.9646,285.8263L420.9646,285.2357L418.4055,285.2357L418.4055,285.8263Z~solid~gge335~~~~0", + "SOLIDREGION~5~~M420.9646,287.2043L420.9646,286.6137L418.4055,286.6137L418.4055,287.2043Z~solid~gge338~~~~0", + "SOLIDREGION~5~~M420.9646,288.5823L420.9646,287.9917L418.4055,287.9917L418.4055,288.5823Z~solid~gge341~~~~0", + "SOLIDREGION~5~~M420.9646,289.9603L420.9646,289.3697L418.4055,289.3697L418.4055,289.9603Z~solid~gge344~~~~0", + "SOLIDREGION~5~~M418.4055,290.7477L418.4055,291.3383L420.9646,291.3383L420.9646,290.7477Z~solid~gge347~~~~0", + "SOLIDREGION~5~~M420.9646,292.7163L420.9646,292.1257L418.4055,292.1257L418.4055,292.7163Z~solid~gge350~~~~0", + "SOLIDREGION~5~~M420.9646,294.0943L420.9646,293.5037L418.4055,293.5037L418.4055,294.0943Z~solid~gge353~~~~0", + "SOLIDREGION~5~~M420.9646,295.4723L420.9646,294.8817L418.4055,294.8817L418.4055,295.4723Z~solid~gge356~~~~0", + "SOLIDREGION~5~~M420.9646,296.8503L420.9646,296.2597L418.4055,296.2597L418.4055,296.8503Z~solid~gge359~~~~0", + "SOLIDREGION~5~~M420.9646,298.2283L420.9646,297.6377L418.4055,297.6377L418.4055,298.2283Z~solid~gge362~~~~0", + "SOLIDREGION~5~~M420.9646,299.6063L420.9646,299.0157L418.4055,299.0157L418.4055,299.6063Z~solid~gge365~~~~0", + "SOLIDREGION~5~~M420.9646,300.9843L420.9646,300.3937L418.4055,300.3937L418.4055,300.9843Z~solid~gge368~~~~0", + "SOLIDREGION~5~~M420.9646,302.3623L420.9646,301.7717L418.4055,301.7717L418.4055,302.3623Z~solid~gge371~~~~0", + "SOLIDREGION~5~~M420.9646,303.7403L420.9646,303.1497L418.4055,303.1497L418.4055,303.7403Z~solid~gge374~~~~0", + "SOLIDREGION~5~~M420.9646,305.1183L420.9646,304.5277L418.4055,304.5277L418.4055,305.1183Z~solid~gge377~~~~0", + "SOLIDREGION~5~~M420.9646,306.4963L420.9646,305.9057L418.4055,305.9057L418.4055,306.4963Z~solid~gge380~~~~0", + "SOLIDREGION~5~~M420.9646,307.8743L420.9646,307.2837L418.4055,307.2837L418.4055,307.8743Z~solid~gge383~~~~0", + "SOLIDREGION~5~~M418.4055,308.6617L418.4055,309.2523L420.9646,309.2523L420.9646,308.6617Z~solid~gge386~~~~0", + "SOLIDREGION~5~~M420.9646,310.6303L420.9646,310.0397L418.4055,310.0397L418.4055,310.6303Z~solid~gge389~~~~0", + "SOLIDREGION~5~~M420.9646,312.0083L420.9646,311.4177L418.4055,311.4177L418.4055,312.0083Z~solid~gge392~~~~0", + "SOLIDREGION~5~~M420.9646,313.3853L420.9646,312.7947L418.4055,312.7947L418.4055,313.3853Z~solid~gge395~~~~0", + "SOLIDREGION~5~~M420.9646,314.7633L420.9646,314.1727L418.4055,314.1727L418.4055,314.7633Z~solid~gge398~~~~0", + "SOLIDREGION~5~~M420.9646,316.1413L420.9646,315.5507L418.4055,315.5507L418.4055,316.1413Z~solid~gge401~~~~0", + "SOLIDREGION~5~~M420.9646,317.5193L420.9646,316.9287L418.4055,316.9287L418.4055,317.5193Z~solid~gge404~~~~0", + "SOLIDREGION~5~~M400.3932,318.4059L400.3932,320.9649L400.9838,320.9649L400.9838,318.4059Z~solid~gge407~~~~0", + "SOLIDREGION~5~~M384.4495,320.9649L384.4496,318.4059L383.8589,318.4059L383.859,320.9649Z~solid~gge410~~~~0", + "SOLIDREGION~5~~M417.5188,320.9649L417.5188,318.4059L416.9282,318.4059L416.9282,320.9649Z~solid~gge413~~~~0", + "SOLIDREGION~5~~M399.6058,320.9649L399.6058,318.4059L399.0152,318.4059L399.0152,320.9649Z~solid~gge416~~~~0", + "SOLIDREGION~5~~M408.6612,318.4059L408.6612,320.9649L409.2518,320.9649L409.2518,318.4059Z~solid~gge419~~~~0", + "SOLIDREGION~5~~M390.7472,318.4059L390.7472,320.9649L391.3378,320.9649L391.3378,318.4059Z~solid~gge422~~~~0", + "SOLIDREGION~5~~M407.8738,320.9649L407.8738,318.4059L407.2832,318.4059L407.2832,320.9649Z~solid~gge425~~~~0", + "SOLIDREGION~5~~M389.9598,320.9649L389.9598,318.4059L389.3692,318.4059L389.3692,320.9649Z~solid~gge428~~~~0", + "SOLIDREGION~5~~M416.1408,320.9649L416.1408,318.4059L415.5502,318.4059L415.5502,320.9649Z~solid~gge431~~~~0", + "SOLIDREGION~5~~M398.2278,320.9649L398.2278,318.4059L397.6372,318.4059L397.6372,320.9649Z~solid~gge434~~~~0", + "SOLIDREGION~5~~M406.4958,320.9649L406.4958,318.4059L405.9052,318.4059L405.9052,320.9649Z~solid~gge437~~~~0", + "SOLIDREGION~5~~M388.5818,320.9649L388.5818,318.4059L387.9912,318.4059L387.9912,320.9649Z~solid~gge440~~~~0", + "SOLIDREGION~5~~M414.7638,320.9649L414.7638,318.4059L414.1732,318.4059L414.1732,320.9649Z~solid~gge443~~~~0", + "SOLIDREGION~5~~M396.8498,320.9649L396.8498,318.4059L396.2592,318.4059L396.2592,320.9649Z~solid~gge446~~~~0", + "SOLIDREGION~5~~M410.0392,318.4059L410.0392,320.9649L410.6298,320.9649L410.6298,318.4059Z~solid~gge449~~~~0", + "SOLIDREGION~5~~M392.1252,318.4059L392.1252,320.9649L392.7158,320.9649L392.7158,318.4059Z~solid~gge452~~~~0", + "SOLIDREGION~5~~M405.1178,320.9649L405.1178,318.4059L404.5272,318.4059L404.5272,320.9649Z~solid~gge455~~~~0", + "SOLIDREGION~5~~M387.2048,320.9649L387.2048,318.4059L386.6142,318.4059L386.6142,320.9649Z~solid~gge458~~~~0", + "SOLIDREGION~5~~M401.7712,318.4059L401.7712,320.9649L402.3618,320.9649L402.3618,318.4059Z~solid~gge461~~~~0", + "SOLIDREGION~5~~M383.0716,320.9649L383.0716,318.4059L382.4809,318.4059L382.481,320.9649Z~solid~gge464~~~~0", + "SOLIDREGION~5~~M413.3858,320.9649L413.3858,318.4059L412.7952,318.4059L412.7952,320.9649Z~solid~gge467~~~~0", + "SOLIDREGION~5~~M395.4718,320.9649L395.4718,318.4059L394.8812,318.4059L394.8812,320.9649Z~solid~gge470~~~~0", + "SOLIDREGION~5~~M403.7398,320.9649L403.7398,318.4059L403.1492,318.4059L403.1492,320.9649Z~solid~gge473~~~~0", + "SOLIDREGION~5~~M385.8268,320.9649L385.8268,318.4059L385.2362,318.4059L385.2362,320.9649Z~solid~gge476~~~~0", + "SOLIDREGION~5~~M412.0078,320.9649L412.0078,318.4059L411.4172,318.4059L411.4172,320.9649Z~solid~gge479~~~~0", + "SOLIDREGION~5~~M394.0938,320.9649L394.0938,318.4059L393.5032,318.4059L393.5032,320.9649Z~solid~gge482~~~~0", + "SOLIDREGION~5~~M399.0157,279.0354L399.0157,281.5944L399.6063,281.5944L399.6063,279.0354Z~solid~gge485~~~~0", + "SOLIDREGION~5~~M417.5192,281.5944L417.5192,279.0354L416.9286,279.0354L416.9286,281.5944Z~solid~gge488~~~~0", + "SOLIDREGION~5~~M383.0713,281.5944L383.0713,279.0354L382.4807,279.0354L382.4807,281.5944Z~solid~gge491~~~~0", + "SOLIDREGION~5~~M400.9843,281.5944L400.9843,279.0354L400.3937,279.0354L400.3937,281.5944Z~solid~gge494~~~~0", + "SOLIDREGION~5~~M390.7477,279.0354L390.7477,281.5944L391.3383,281.5944L391.3383,279.0354Z~solid~gge497~~~~0", + "SOLIDREGION~5~~M408.6617,279.0354L408.6617,281.5944L409.2523,281.5944L409.2523,279.0354Z~solid~gge500~~~~0", + "SOLIDREGION~5~~M392.7163,281.5944L392.7163,279.0354L392.1257,279.0354L392.1257,281.5944Z~solid~gge503~~~~0", + "SOLIDREGION~5~~M410.6303,281.5944L410.6303,279.0354L410.0397,279.0354L410.0397,281.5944Z~solid~gge506~~~~0", + "SOLIDREGION~5~~M384.4493,281.5944L384.4493,279.0354L383.8587,279.0354L383.8587,281.5944Z~solid~gge509~~~~0", + "SOLIDREGION~5~~M402.3623,281.5944L402.3623,279.0354L401.7717,279.0354L401.7717,281.5944Z~solid~gge512~~~~0", + "SOLIDREGION~5~~M394.0943,281.5944L394.0943,279.0354L393.5037,279.0354L393.5037,281.5944Z~solid~gge515~~~~0", + "SOLIDREGION~5~~M412.0083,281.5944L412.0083,279.0354L411.4177,279.0354L411.4177,281.5944Z~solid~gge518~~~~0", + "SOLIDREGION~5~~M385.8263,281.5944L385.8263,279.0354L385.2357,279.0354L385.2357,281.5944Z~solid~gge521~~~~0", + "SOLIDREGION~5~~M403.7403,281.5944L403.7403,279.0354L403.1497,279.0354L403.1497,281.5944Z~solid~gge524~~~~0", + "SOLIDREGION~5~~M389.3697,279.0354L389.3697,281.5944L389.9603,281.5944L389.9603,279.0354Z~solid~gge527~~~~0", + "SOLIDREGION~5~~M407.2837,279.0354L407.2837,281.5944L407.8743,281.5944L407.8743,279.0354Z~solid~gge530~~~~0", + "SOLIDREGION~5~~M395.4723,281.5944L395.4723,279.0354L394.8817,279.0354L394.8817,281.5944Z~solid~gge533~~~~0", + "SOLIDREGION~5~~M413.3853,281.5944L413.3853,279.0354L412.7947,279.0354L412.7947,281.5944Z~solid~gge536~~~~0", + "SOLIDREGION~5~~M397.6377,279.0354L397.6377,281.5944L398.2283,281.5944L398.2283,279.0354Z~solid~gge539~~~~0", + "SOLIDREGION~5~~M416.1413,281.5944L416.1413,279.0354L415.5507,279.0354L415.5507,281.5944Z~solid~gge542~~~~0", + "SOLIDREGION~5~~M387.2043,281.5944L387.2043,279.0354L386.6137,279.0354L386.6137,281.5944Z~solid~gge545~~~~0", + "SOLIDREGION~5~~M405.1183,281.5944L405.1183,279.0354L404.5277,279.0354L404.5277,281.5944Z~solid~gge548~~~~0", + "SOLIDREGION~5~~M396.8503,281.5944L396.8503,279.0354L396.2597,279.0354L396.2597,281.5944Z~solid~gge551~~~~0", + "SOLIDREGION~5~~M414.7633,281.5944L414.7633,279.0354L414.1727,279.0354L414.1727,281.5944Z~solid~gge554~~~~0", + "SOLIDREGION~5~~M388.5823,281.5944L388.5823,279.0354L387.9917,279.0354L387.9917,281.5944Z~solid~gge557~~~~0", + "SOLIDREGION~5~~M406.4963,281.5944L406.4963,279.0354L405.9057,279.0354L405.9057,281.5944Z~solid~gge560~~~~0", + "SOLIDREGION~5~~M379.0355,282.4804L379.0355,283.071L381.5945,283.071L381.5945,282.4804Z~solid~gge563~~~~0", + "SOLIDREGION~5~~M379.0355,283.8584L379.0355,284.449L381.5945,284.449L381.5945,283.8584Z~solid~gge566~~~~0", + "SOLIDREGION~5~~M379.0355,285.2364L379.0355,285.827L381.5945,285.827L381.5945,285.2364Z~solid~gge569~~~~0", + "SOLIDREGION~5~~M379.0355,286.6144L379.0355,287.205L381.5945,287.205L381.5945,286.6144Z~solid~gge572~~~~0", + "SOLIDREGION~5~~M379.0355,287.9914L379.0355,288.582L381.5945,288.582L381.5945,287.9914Z~solid~gge575~~~~0", + "SOLIDREGION~5~~M379.0355,289.3694L379.0355,289.96L381.5945,289.96L381.5945,289.3694Z~solid~gge578~~~~0", + "SOLIDREGION~5~~M381.5945,291.338L381.5945,290.7474L379.0355,290.7474L379.0355,291.338Z~solid~gge581~~~~0", + "SOLIDREGION~5~~M379.0355,292.1254L379.0355,292.716L381.5945,292.716L381.5945,292.1254Z~solid~gge584~~~~0", + "SOLIDREGION~5~~M379.0355,293.5034L379.0355,294.094L381.5945,294.094L381.5945,293.5034Z~solid~gge587~~~~0", + "SOLIDREGION~5~~M379.0355,294.8814L379.0355,295.472L381.5945,295.472L381.5945,294.8814Z~solid~gge590~~~~0", + "SOLIDREGION~5~~M379.0355,296.2594L379.0355,296.85L381.5945,296.85L381.5945,296.2594Z~solid~gge593~~~~0", + "SOLIDREGION~5~~M379.0355,297.6374L379.0355,298.228L381.5945,298.228L381.5945,297.6374Z~solid~gge596~~~~0", + "SOLIDREGION~5~~M379.0355,299.0154L379.0355,299.606L381.5945,299.606L381.5945,299.0154Z~solid~gge599~~~~0", + "SOLIDREGION~5~~M379.0355,300.3934L379.0355,300.984L381.5945,300.984L381.5945,300.3934Z~solid~gge602~~~~0", + "SOLIDREGION~5~~M379.0355,301.7714L379.0355,302.362L381.5945,302.362L381.5945,301.7714Z~solid~gge605~~~~0", + "SOLIDREGION~5~~M379.0355,303.1494L379.0355,303.74L381.5945,303.74L381.5945,303.1494Z~solid~gge608~~~~0", + "SOLIDREGION~5~~M379.0355,304.5274L379.0355,305.118L381.5945,305.118L381.5945,304.5274Z~solid~gge611~~~~0", + "SOLIDREGION~5~~M379.0355,305.9054L379.0355,306.496L381.5945,306.496L381.5945,305.9054Z~solid~gge614~~~~0", + "SOLIDREGION~5~~M379.0355,307.2834L379.0355,307.874L381.5945,307.874L381.5945,307.2834Z~solid~gge617~~~~0", + "SOLIDREGION~5~~M381.5945,309.252L381.5945,308.6614L379.0355,308.6614L379.0355,309.252Z~solid~gge620~~~~0", + "SOLIDREGION~5~~M379.0355,310.0394L379.0355,310.63L381.5945,310.63L381.5945,310.0394Z~solid~gge623~~~~0", + "SOLIDREGION~5~~M379.0355,311.4174L379.0355,312.008L381.5945,312.008L381.5945,311.4174Z~solid~gge626~~~~0", + "SOLIDREGION~5~~M379.0355,312.7954L379.0355,313.386L381.5945,313.386L381.5945,312.7954Z~solid~gge629~~~~0", + "SOLIDREGION~5~~M379.0355,314.1734L379.0355,314.764L381.5945,314.764L381.5945,314.1734Z~solid~gge632~~~~0", + "SOLIDREGION~5~~M379.0355,315.5504L379.0355,316.141L381.5945,316.141L381.5945,315.5504Z~solid~gge635~~~~0", + "SOLIDREGION~5~~M379.0355,316.9284L379.0355,317.519L381.5945,317.519L381.5945,316.9284Z~solid~gge638~~~~0", + "SOLIDREGION~5~~M 388.189 311.811 L 388.189 288.189 L 411.811 288.189 L 411.811 311.811 Z ~solid~gge645~~~~0", + "TRACK~0.6~3~~380.015 281.7898 380.015 280.015 381.7898 280.015~rep213~0", + "TRACK~0.6~3~~419.985 281.7898 419.985 280.015 418.2102 280.015~rep214~0", + "TRACK~0.6~3~~419.985 318.2102 419.985 319.985 418.2102 319.985~rep215~0", + "TRACK~0.6~3~~380.015 318.2102 380.015 319.985 381.7898 319.985~rep216~0", + "CIRCLE~377~282~0.591~1.1811~3~rep221~0~~", + "PAD~RECT~400~300~29.5275~29.5275~1~~105~0~385.2363 285.2363 414.7638 285.2363 414.7638 314.7638 385.2363 314.7638~0~rep211~0~~Y~0~-393.7~0.19685~400,300", + "PAD~RECT~384.154~319.685~2.5591~0.5906~1~~28~0~383.859 320.9649 383.8589 318.4059 384.4496 318.4059 384.4495 320.9649~90~rep325~0~~Y~0~-393.7~0.19685~384.1539,319.6864", + "PAD~RECT~382.776~319.685~2.5591~0.5906~1~~27~0~382.481 320.9649 382.4809 318.4059 383.0716 318.4059 383.0716 320.9649~90~rep1~0~~Y~0~-393.7~0.19685~382.776,319.6864", + "PAD~RECT~380.315~282.776~2.5591~0.5906~1~~1~0~379.0355 282.4804 381.5945 282.4804 381.5945 283.071 379.0355 283.071~0~rep320~0~~Y~0~-393.7~0.19685~380.3152,282.7754", + "PAD~RECT~380.315~284.154~2.5591~0.5906~1~~2~0~379.0355 283.8584 381.5945 283.8584 381.5945 284.449 379.0355 284.449~0~rep6~0~~Y~0~-393.7~0.19685~380.3152,284.1533", + "PAD~RECT~380.315~285.532~2.5591~0.5906~1~~3~0~379.0355 285.2364 381.5945 285.2364 381.5945 285.827 379.0355 285.827~0~rep8~0~~Y~0~-393.7~0.19685~380.3152,285.5313", + "PAD~RECT~380.315~286.91~2.5591~0.5906~1~~4~0~379.0355 286.6144 381.5945 286.6144 381.5945 287.205 379.0355 287.205~0~rep10~0~~Y~0~-393.7~0.19685~380.3152,286.9092", + "PAD~RECT~380.315~288.287~2.5591~0.5906~1~~5~0~379.0355 287.9914 381.5945 287.9914 381.5945 288.582 379.0355 288.582~0~rep12~0~~Y~0~-393.7~0.19685~380.3152,288.2872", + "PAD~RECT~380.315~289.665~2.5591~0.5906~1~~6~0~379.0355 289.3694 381.5945 289.3694 381.5945 289.96 379.0355 289.96~0~rep14~0~~Y~0~-393.7~0.19685~380.3152,289.6651", + "PAD~RECT~380.315~291.043~2.5591~0.5906~1~~7~0~379.0355 290.7474 381.5945 290.7474 381.5945 291.338 379.0355 291.338~0~rep16~0~~Y~0~-393.7~0.19685~380.3152,291.0431", + "PAD~RECT~380.315~292.421~2.5591~0.5906~1~~8~0~379.0355 292.1254 381.5945 292.1254 381.5945 292.716 379.0355 292.716~0~rep18~0~~Y~0~-393.7~0.19685~380.3152,292.421", + "PAD~RECT~380.315~293.799~2.5591~0.5906~1~~9~0~379.0355 293.5034 381.5945 293.5034 381.5945 294.094 379.0355 294.094~0~rep20~0~~Y~0~-393.7~0.19685~380.3152,293.799", + "PAD~RECT~380.315~295.177~2.5591~0.5906~1~~10~0~379.0355 294.8814 381.5945 294.8814 381.5945 295.472 379.0355 295.472~0~rep22~0~~Y~0~-393.7~0.19685~380.3152,295.1769", + "PAD~RECT~380.315~296.555~2.5591~0.5906~1~~11~0~379.0355 296.2594 381.5945 296.2594 381.5945 296.85 379.0355 296.85~0~rep24~0~~Y~0~-393.7~0.19685~380.3152,296.5549", + "PAD~RECT~380.315~297.933~2.5591~0.5906~1~~12~0~379.0355 297.6374 381.5945 297.6374 381.5945 298.228 379.0355 298.228~0~rep26~0~~Y~0~-393.7~0.19685~380.3152,297.9328", + "PAD~RECT~380.315~299.311~2.5591~0.5906~1~~13~0~379.0355 299.0154 381.5945 299.0154 381.5945 299.606 379.0355 299.606~0~rep28~0~~Y~0~-393.7~0.19685~380.3152,299.3108", + "PAD~RECT~380.315~300.689~2.5591~0.5906~1~~14~0~379.0355 300.3934 381.5945 300.3934 381.5945 300.984 379.0355 300.984~0~rep30~0~~Y~0~-393.7~0.19685~380.3152,300.6887", + "PAD~RECT~380.315~302.067~2.5591~0.5906~1~~15~0~379.0355 301.7714 381.5945 301.7714 381.5945 302.362 379.0355 302.362~0~rep32~0~~Y~0~-393.7~0.19685~380.3152,302.0667", + "PAD~RECT~380.315~303.445~2.5591~0.5906~1~~16~0~379.0355 303.1494 381.5945 303.1494 381.5945 303.74 379.0355 303.74~0~rep34~0~~Y~0~-393.7~0.19685~380.3152,303.4446", + "PAD~RECT~380.315~304.823~2.5591~0.5906~1~~17~0~379.0355 304.5274 381.5945 304.5274 381.5945 305.118 379.0355 305.118~0~rep36~0~~Y~0~-393.7~0.19685~380.3152,304.8226", + "PAD~RECT~380.315~306.201~2.5591~0.5906~1~~18~0~379.0355 305.9054 381.5945 305.9054 381.5945 306.496 379.0355 306.496~0~rep38~0~~Y~0~-393.7~0.19685~380.3152,306.2005", + "PAD~RECT~380.315~307.579~2.5591~0.5906~1~~19~0~379.0355 307.2834 381.5945 307.2834 381.5945 307.874 379.0355 307.874~0~rep40~0~~Y~0~-393.7~0.19685~380.3152,307.5785", + "PAD~RECT~380.315~308.957~2.5591~0.5906~1~~20~0~379.0355 308.6614 381.5945 308.6614 381.5945 309.252 379.0355 309.252~0~rep42~0~~Y~0~-393.7~0.19685~380.3152,308.9564", + "PAD~RECT~380.315~310.335~2.5591~0.5906~1~~21~0~379.0355 310.0394 381.5945 310.0394 381.5945 310.63 379.0355 310.63~0~rep44~0~~Y~0~-393.7~0.19685~380.3152,310.3344", + "PAD~RECT~380.315~311.713~2.5591~0.5906~1~~22~0~379.0355 311.4174 381.5945 311.4174 381.5945 312.008 379.0355 312.008~0~rep46~0~~Y~0~-393.7~0.19685~380.3152,311.7123", + "PAD~RECT~380.315~313.091~2.5591~0.5906~1~~23~0~379.0355 312.7954 381.5945 312.7954 381.5945 313.386 379.0355 313.386~0~rep48~0~~Y~0~-393.7~0.19685~380.3152,313.0903", + "PAD~RECT~380.315~314.469~2.5591~0.5906~1~~24~0~379.0355 314.1734 381.5945 314.1734 381.5945 314.764 379.0355 314.764~0~rep50~0~~Y~0~-393.7~0.19685~380.3152,314.4682", + "PAD~RECT~380.315~315.846~2.5591~0.5906~1~~25~0~379.0355 315.5504 381.5945 315.5504 381.5945 316.141 379.0355 316.141~0~rep52~0~~Y~0~-393.7~0.19685~380.3152,315.8462", + "PAD~RECT~380.315~317.224~2.5591~0.5906~1~~26~0~379.0355 316.9284 381.5945 316.9284 381.5945 317.519 379.0355 317.519~0~rep54~0~~Y~0~-393.7~0.19685~380.3152,317.2241", + "PAD~RECT~385.532~319.685~0.5906~2.5591~1~~29~0~385.2362 318.4059 385.8268 318.4059 385.8268 320.9649 385.2362 320.9649~0~rep56~0~~Y~0~-393.7~0.19685~385.5311,319.6852", + "PAD~RECT~386.91~319.685~0.5906~2.5591~1~~30~0~386.6142 318.4059 387.2048 318.4059 387.2048 320.9649 386.6142 320.9649~0~rep62~0~~Y~0~-393.7~0.19685~386.909,319.6852", + "PAD~RECT~388.287~319.685~0.5906~2.5591~1~~31~0~387.9912 318.4059 388.5818 318.4059 388.5818 320.9649 387.9912 320.9649~0~rep64~0~~Y~0~-393.7~0.19685~388.287,319.6852", + "PAD~RECT~389.665~319.685~0.5906~2.5591~1~~32~0~389.3692 318.4059 389.9598 318.4059 389.9598 320.9649 389.3692 320.9649~0~rep66~0~~Y~0~-393.7~0.19685~389.6649,319.6852", + "PAD~RECT~391.043~319.685~0.5906~2.5591~1~~33~0~390.7472 318.4059 391.3378 318.4059 391.3378 320.9649 390.7472 320.9649~0~rep68~0~~Y~0~-393.7~0.19685~391.0429,319.6852", + "PAD~RECT~392.421~319.685~0.5906~2.5591~1~~34~0~392.1252 318.4059 392.7158 318.4059 392.7158 320.9649 392.1252 320.9649~0~rep70~0~~Y~0~-393.7~0.19685~392.4208,319.6852", + "PAD~RECT~393.799~319.685~0.5906~2.5591~1~~35~0~393.5032 318.4059 394.0938 318.4059 394.0938 320.9649 393.5032 320.9649~0~rep72~0~~Y~0~-393.7~0.19685~393.7988,319.6852", + "PAD~RECT~395.177~319.685~0.5906~2.5591~1~~36~0~394.8812 318.4059 395.4718 318.4059 395.4718 320.9649 394.8812 320.9649~0~rep74~0~~Y~0~-393.7~0.19685~395.1767,319.6852", + "PAD~RECT~396.555~319.685~0.5906~2.5591~1~~37~0~396.2592 318.4059 396.8498 318.4059 396.8498 320.9649 396.2592 320.9649~0~rep76~0~~Y~0~-393.7~0.19685~396.5547,319.6852", + "PAD~RECT~397.933~319.685~0.5906~2.5591~1~~38~0~397.6372 318.4059 398.2278 318.4059 398.2278 320.9649 397.6372 320.9649~0~rep78~0~~Y~0~-393.7~0.19685~397.9326,319.6852", + "PAD~RECT~399.311~319.685~0.5906~2.5591~1~~39~0~399.0152 318.4059 399.6058 318.4059 399.6058 320.9649 399.0152 320.9649~0~rep80~0~~Y~0~-393.7~0.19685~399.3106,319.6852", + "PAD~RECT~400.689~319.685~0.5906~2.5591~1~~40~0~400.3932 318.4059 400.9838 318.4059 400.9838 320.9649 400.3932 320.9649~0~rep82~0~~Y~0~-393.7~0.19685~400.6885,319.6852", + "PAD~RECT~402.067~319.685~0.5906~2.5591~1~~41~0~401.7712 318.4059 402.3618 318.4059 402.3618 320.9649 401.7712 320.9649~0~rep84~0~~Y~0~-393.7~0.19685~402.0665,319.6852", + "PAD~RECT~403.445~319.685~0.5906~2.5591~1~~42~0~403.1492 318.4059 403.7398 318.4059 403.7398 320.9649 403.1492 320.9649~0~rep86~0~~Y~0~-393.7~0.19685~403.4444,319.6852", + "PAD~RECT~404.823~319.685~0.5906~2.5591~1~~43~0~404.5272 318.4059 405.1178 318.4059 405.1178 320.9649 404.5272 320.9649~0~rep88~0~~Y~0~-393.7~0.19685~404.8224,319.6852", + "PAD~RECT~406.201~319.685~0.5906~2.5591~1~~44~0~405.9052 318.4059 406.4958 318.4059 406.4958 320.9649 405.9052 320.9649~0~rep90~0~~Y~0~-393.7~0.19685~406.2003,319.6852", + "PAD~RECT~407.579~319.685~0.5906~2.5591~1~~45~0~407.2832 318.4059 407.8738 318.4059 407.8738 320.9649 407.2832 320.9649~0~rep92~0~~Y~0~-393.7~0.19685~407.5783,319.6852", + "PAD~RECT~408.957~319.685~0.5906~2.5591~1~~46~0~408.6612 318.4059 409.2518 318.4059 409.2518 320.9649 408.6612 320.9649~0~rep94~0~~Y~0~-393.7~0.19685~408.9562,319.6852", + "PAD~RECT~410.335~319.685~0.5906~2.5591~1~~47~0~410.0392 318.4059 410.6298 318.4059 410.6298 320.9649 410.0392 320.9649~0~rep96~0~~Y~0~-393.7~0.19685~410.3342,319.6852", + "PAD~RECT~411.713~319.685~0.5906~2.5591~1~~48~0~411.4172 318.4059 412.0078 318.4059 412.0078 320.9649 411.4172 320.9649~0~rep98~0~~Y~0~-393.7~0.19685~411.7121,319.6852", + "PAD~RECT~413.091~319.685~0.5906~2.5591~1~~49~0~412.7952 318.4059 413.3858 318.4059 413.3858 320.9649 412.7952 320.9649~0~rep100~0~~Y~0~-393.7~0.19685~413.0901,319.6852", + "PAD~RECT~414.469~319.685~0.5906~2.5591~1~~50~0~414.1732 318.4059 414.7638 318.4059 414.7638 320.9649 414.1732 320.9649~0~rep102~0~~Y~0~-393.7~0.19685~414.468,319.6852", + "PAD~RECT~415.846~319.685~0.5906~2.5591~1~~51~0~415.5502 318.4059 416.1408 318.4059 416.1408 320.9649 415.5502 320.9649~0~rep104~0~~Y~0~-393.7~0.19685~415.846,319.6852", + "PAD~RECT~417.224~319.685~0.5906~2.5591~1~~52~0~416.9282 318.4059 417.5188 318.4059 417.5188 320.9649 416.9282 320.9649~0~rep106~0~~Y~0~-393.7~0.19685~417.2239,319.6852", + "PAD~RECT~419.685~317.224~2.5591~0.5906~1~~53~0~418.4055 316.9287 420.9646 316.9287 420.9646 317.5193 418.4055 317.5193~0~rep108~0~~Y~0~-393.7~0.19685~419.6846,317.2242", + "PAD~RECT~419.685~315.846~2.5591~0.5906~1~~54~0~418.4055 315.5507 420.9646 315.5507 420.9646 316.1413 418.4055 316.1413~0~rep110~0~~Y~0~-393.7~0.19685~419.6846,315.8463", + "PAD~RECT~419.685~314.468~2.5591~0.5906~1~~55~0~418.4055 314.1727 420.9646 314.1727 420.9646 314.7633 418.4055 314.7633~0~rep112~0~~Y~0~-393.7~0.19685~419.6846,314.4683", + "PAD~RECT~419.685~313.09~2.5591~0.5906~1~~56~0~418.4055 312.7947 420.9646 312.7947 420.9646 313.3853 418.4055 313.3853~0~rep114~0~~Y~0~-393.7~0.19685~419.6846,313.0904", + "PAD~RECT~419.685~311.713~2.5591~0.5906~1~~57~0~418.4055 311.4177 420.9646 311.4177 420.9646 312.0083 418.4055 312.0083~0~rep116~0~~Y~0~-393.7~0.19685~419.6846,311.7124", + "PAD~RECT~419.685~310.335~2.5591~0.5906~1~~58~0~418.4055 310.0397 420.9646 310.0397 420.9646 310.6303 418.4055 310.6303~0~rep118~0~~Y~0~-393.7~0.19685~419.6846,310.3345", + "PAD~RECT~419.685~308.957~2.5591~0.5906~1~~59~0~418.4055 308.6617 420.9646 308.6617 420.9646 309.2523 418.4055 309.2523~0~rep120~0~~Y~0~-393.7~0.19685~419.6846,308.9565", + "PAD~RECT~419.685~307.579~2.5591~0.5906~1~~60~0~418.4055 307.2837 420.9646 307.2837 420.9646 307.8743 418.4055 307.8743~0~rep122~0~~Y~0~-393.7~0.19685~419.6846,307.5786", + "PAD~RECT~419.685~306.201~2.5591~0.5906~1~~61~0~418.4055 305.9057 420.9646 305.9057 420.9646 306.4963 418.4055 306.4963~0~rep124~0~~Y~0~-393.7~0.19685~419.6846,306.2006", + "PAD~RECT~419.685~304.823~2.5591~0.5906~1~~62~0~418.4055 304.5277 420.9646 304.5277 420.9646 305.1183 418.4055 305.1183~0~rep126~0~~Y~0~-393.7~0.19685~419.6846,304.8227", + "PAD~RECT~419.685~303.445~2.5591~0.5906~1~~63~0~418.4055 303.1497 420.9646 303.1497 420.9646 303.7403 418.4055 303.7403~0~rep128~0~~Y~0~-393.7~0.19685~419.6846,303.4447", + "PAD~RECT~419.685~302.067~2.5591~0.5906~1~~64~0~418.4055 301.7717 420.9646 301.7717 420.9646 302.3623 418.4055 302.3623~0~rep130~0~~Y~0~-393.7~0.19685~419.6846,302.0668", + "PAD~RECT~419.685~300.689~2.5591~0.5906~1~~65~0~418.4055 300.3937 420.9646 300.3937 420.9646 300.9843 418.4055 300.9843~0~rep132~0~~Y~0~-393.7~0.19685~419.6846,300.6888", + "PAD~RECT~419.685~299.311~2.5591~0.5906~1~~66~0~418.4055 299.0157 420.9646 299.0157 420.9646 299.6063 418.4055 299.6063~0~rep134~0~~Y~0~-393.7~0.19685~419.6846,299.3109", + "PAD~RECT~419.685~297.933~2.5591~0.5906~1~~67~0~418.4055 297.6377 420.9646 297.6377 420.9646 298.2283 418.4055 298.2283~0~rep136~0~~Y~0~-393.7~0.19685~419.6846,297.9329", + "PAD~RECT~419.685~296.555~2.5591~0.5906~1~~68~0~418.4055 296.2597 420.9646 296.2597 420.9646 296.8503 418.4055 296.8503~0~rep138~0~~Y~0~-393.7~0.19685~419.6846,296.555", + "PAD~RECT~419.685~295.177~2.5591~0.5906~1~~69~0~418.4055 294.8817 420.9646 294.8817 420.9646 295.4723 418.4055 295.4723~0~rep140~0~~Y~0~-393.7~0.19685~419.6846,295.177", + "PAD~RECT~419.685~293.799~2.5591~0.5906~1~~70~0~418.4055 293.5037 420.9646 293.5037 420.9646 294.0943 418.4055 294.0943~0~rep142~0~~Y~0~-393.7~0.19685~419.6846,293.7991", + "PAD~RECT~419.685~292.421~2.5591~0.5906~1~~71~0~418.4055 292.1257 420.9646 292.1257 420.9646 292.7163 418.4055 292.7163~0~rep144~0~~Y~0~-393.7~0.19685~419.6846,292.4211", + "PAD~RECT~419.685~291.043~2.5591~0.5906~1~~72~0~418.4055 290.7477 420.9646 290.7477 420.9646 291.3383 418.4055 291.3383~0~rep146~0~~Y~0~-393.7~0.19685~419.6846,291.0432", + "PAD~RECT~419.685~289.665~2.5591~0.5906~1~~73~0~418.4055 289.3697 420.9646 289.3697 420.9646 289.9603 418.4055 289.9603~0~rep148~0~~Y~0~-393.7~0.19685~419.6846,289.6652", + "PAD~RECT~419.685~288.287~2.5591~0.5906~1~~74~0~418.4055 287.9917 420.9646 287.9917 420.9646 288.5823 418.4055 288.5823~0~rep150~0~~Y~0~-393.7~0.19685~419.6846,288.2873", + "PAD~RECT~419.685~286.909~2.5591~0.5906~1~~75~0~418.4055 286.6137 420.9646 286.6137 420.9646 287.2043 418.4055 287.2043~0~rep152~0~~Y~0~-393.7~0.19685~419.6846,286.9093", + "PAD~RECT~419.685~285.531~2.5591~0.5906~1~~76~0~418.4055 285.2357 420.9646 285.2357 420.9646 285.8263 418.4055 285.8263~0~rep154~0~~Y~0~-393.7~0.19685~419.6846,285.5314", + "PAD~RECT~419.685~284.154~2.5591~0.5906~1~~77~0~418.4055 283.8587 420.9646 283.8587 420.9646 284.4493 418.4055 284.4493~0~rep156~0~~Y~0~-393.7~0.19685~419.6846,284.1534", + "PAD~RECT~419.685~282.776~2.5591~0.5906~1~~78~0~418.4055 282.4807 420.9646 282.4807 420.9646 283.0713 418.4055 283.0713~0~rep158~0~~Y~0~-393.7~0.19685~419.6846,282.7755", + "PAD~RECT~417.224~280.315~2.5591~0.5906~1~~79~0~416.9286 281.5944 416.9286 279.0354 417.5192 279.0354 417.5192 281.5944~90~rep160~0~~Y~0~-393.7~0.19685~417.2235,280.3151", + "PAD~RECT~415.846~280.315~2.5591~0.5906~1~~80~0~415.5507 281.5944 415.5507 279.0354 416.1413 279.0354 416.1413 281.5944~90~rep162~0~~Y~0~-393.7~0.19685~415.8457,280.3151", + "PAD~RECT~414.468~280.315~0.5906~2.5591~1~~81~0~414.1727 279.0354 414.7633 279.0354 414.7633 281.5944 414.1727 281.5944~0~rep164~0~~Y~0~-393.7~0.19685~414.4684,280.3151", + "PAD~RECT~413.09~280.315~0.5906~2.5591~1~~82~0~412.7947 279.0354 413.3853 279.0354 413.3853 281.5944 412.7947 281.5944~0~rep166~0~~Y~0~-393.7~0.19685~413.0905,280.3151", + "PAD~RECT~411.713~280.315~0.5906~2.5591~1~~83~0~411.4177 279.0354 412.0083 279.0354 412.0083 281.5944 411.4177 281.5944~0~rep168~0~~Y~0~-393.7~0.19685~411.7125,280.3151", + "PAD~RECT~410.335~280.315~0.5906~2.5591~1~~84~0~410.0397 279.0354 410.6303 279.0354 410.6303 281.5944 410.0397 281.5944~0~rep170~0~~Y~0~-393.7~0.19685~410.3346,280.3151", + "PAD~RECT~408.957~280.315~0.5906~2.5591~1~~85~0~408.6617 279.0354 409.2523 279.0354 409.2523 281.5944 408.6617 281.5944~0~rep172~0~~Y~0~-393.7~0.19685~408.9566,280.3151", + "PAD~RECT~407.579~280.315~0.5906~2.5591~1~~86~0~407.2837 279.0354 407.8743 279.0354 407.8743 281.5944 407.2837 281.5944~0~rep174~0~~Y~0~-393.7~0.19685~407.5787,280.3151", + "PAD~RECT~406.201~280.315~0.5906~2.5591~1~~87~0~405.9057 279.0354 406.4963 279.0354 406.4963 281.5944 405.9057 281.5944~0~rep176~0~~Y~0~-393.7~0.19685~406.2007,280.3151", + "PAD~RECT~404.823~280.315~0.5906~2.5591~1~~88~0~404.5277 279.0354 405.1183 279.0354 405.1183 281.5944 404.5277 281.5944~0~rep178~0~~Y~0~-393.7~0.19685~404.8228,280.3151", + "PAD~RECT~403.445~280.315~0.5906~2.5591~1~~89~0~403.1497 279.0354 403.7403 279.0354 403.7403 281.5944 403.1497 281.5944~0~rep180~0~~Y~0~-393.7~0.19685~403.4448,280.3151", + "PAD~RECT~402.067~280.315~0.5906~2.5591~1~~90~0~401.7717 279.0354 402.3623 279.0354 402.3623 281.5944 401.7717 281.5944~0~rep182~0~~Y~0~-393.7~0.19685~402.0669,280.3151", + "PAD~RECT~400.689~280.315~0.5906~2.5591~1~~91~0~400.3937 279.0354 400.9843 279.0354 400.9843 281.5944 400.3937 281.5944~0~rep184~0~~Y~0~-393.7~0.19685~400.6889,280.3151", + "PAD~RECT~399.311~280.315~0.5906~2.5591~1~~92~0~399.0157 279.0354 399.6063 279.0354 399.6063 281.5944 399.0157 281.5944~0~rep186~0~~Y~0~-393.7~0.19685~399.311,280.3151", + "PAD~RECT~397.933~280.315~0.5906~2.5591~1~~93~0~397.6377 279.0354 398.2283 279.0354 398.2283 281.5944 397.6377 281.5944~0~rep188~0~~Y~0~-393.7~0.19685~397.933,280.3151", + "PAD~RECT~396.555~280.315~0.5906~2.5591~1~~94~0~396.2597 279.0354 396.8503 279.0354 396.8503 281.5944 396.2597 281.5944~0~rep190~0~~Y~0~-393.7~0.19685~396.5551,280.3151", + "PAD~RECT~395.177~280.315~0.5906~2.5591~1~~95~0~394.8817 279.0354 395.4723 279.0354 395.4723 281.5944 394.8817 281.5944~0~rep192~0~~Y~0~-393.7~0.19685~395.1771,280.3151", + "PAD~RECT~393.799~280.315~0.5906~2.5591~1~~96~0~393.5037 279.0354 394.0943 279.0354 394.0943 281.5944 393.5037 281.5944~0~rep194~0~~Y~0~-393.7~0.19685~393.7992,280.3151", + "PAD~RECT~392.421~280.315~0.5906~2.5591~1~~97~0~392.1257 279.0354 392.7163 279.0354 392.7163 281.5944 392.1257 281.5944~0~rep196~0~~Y~0~-393.7~0.19685~392.4212,280.3151", + "PAD~RECT~391.043~280.315~0.5906~2.5591~1~~98~0~390.7477 279.0354 391.3383 279.0354 391.3383 281.5944 390.7477 281.5944~0~rep198~0~~Y~0~-393.7~0.19685~391.0433,280.3151", + "PAD~RECT~389.665~280.315~0.5906~2.5591~1~~99~0~389.3697 279.0354 389.9603 279.0354 389.9603 281.5944 389.3697 281.5944~0~rep200~0~~Y~0~-393.7~0.19685~389.6653,280.3151", + "PAD~RECT~388.287~280.315~0.5906~2.5591~1~~100~0~387.9917 279.0354 388.5823 279.0354 388.5823 281.5944 387.9917 281.5944~0~rep202~0~~Y~0~-393.7~0.19685~388.2874,280.3151", + "PAD~RECT~386.909~280.315~0.5906~2.5591~1~~101~0~386.6137 279.0354 387.2043 279.0354 387.2043 281.5944 386.6137 281.5944~0~rep204~0~~Y~0~-393.7~0.19685~386.9094,280.3151", + "PAD~RECT~385.531~280.315~0.5906~2.5591~1~~102~0~385.2357 279.0354 385.8263 279.0354 385.8263 281.5944 385.2357 281.5944~0~rep206~0~~Y~0~-393.7~0.19685~385.5315,280.3151", + "PAD~RECT~384.154~280.315~0.5906~2.5591~1~~103~0~383.8587 279.0354 384.4493 279.0354 384.4493 281.5944 383.8587 281.5944~0~rep208~0~~Y~0~-393.7~0.19685~384.1535,280.3151", + "PAD~RECT~382.776~280.315~0.5906~2.5591~1~~104~0~382.4807 279.0354 383.0713 279.0354 383.0713 281.5944 382.4807 281.5944~0~rep210~0~~Y~0~-393.7~0.19685~382.7756,280.3151", + "SOLIDREGION~100~~M419.685 317.578705 418.1102 317.578705 L418.1102 317.578705 418.1102 316.870045 L418.1102 316.870045 419.685 316.870045 L419.685 316.870045 419.685 317.578705 Z~solid~rep107~~~~0", + "SOLIDREGION~100~~M419.685 316.200755 418.1102 316.200755 L418.1102 316.200755 418.1102 315.492095 L418.1102 315.492095 419.685 315.492095 L419.685 315.492095 419.685 316.200755 Z~solid~rep109~~~~0", + "SOLIDREGION~100~~M419.685 314.822805 418.1102 314.822805 L418.1102 314.822805 418.1102 314.114145 L418.1102 314.114145 419.685 314.114145 L419.685 314.114145 419.685 314.822805 Z~solid~rep111~~~~0", + "SOLIDREGION~100~~M419.685 313.444855 418.1102 313.444855 L418.1102 313.444855 418.1102 312.736195 L418.1102 312.736195 419.685 312.736195 L419.685 312.736195 419.685 313.444855 Z~solid~rep113~~~~0", + "SOLIDREGION~100~~M419.685 312.066905 418.1102 312.066905 L418.1102 312.066905 418.1102 311.358245 L418.1102 311.358245 419.685 311.358245 L419.685 311.358245 419.685 312.066905 Z~solid~rep115~~~~0", + "SOLIDREGION~100~~M419.685 310.688955 418.1102 310.688955 L418.1102 310.688955 418.1102 309.980295 L418.1102 309.980295 419.685 309.980295 L419.685 309.980295 419.685 310.688955 Z~solid~rep117~~~~0", + "SOLIDREGION~100~~M419.685 309.311005 418.1102 309.311005 L418.1102 309.311005 418.1102 308.602345 L418.1102 308.602345 419.685 308.602345 L419.685 308.602345 419.685 309.311005 Z~solid~rep119~~~~0", + "SOLIDREGION~100~~M419.685 307.933055 418.1102 307.933055 L418.1102 307.933055 418.1102 307.224395 L418.1102 307.224395 419.685 307.224395 L419.685 307.224395 419.685 307.933055 Z~solid~rep121~~~~0", + "SOLIDREGION~100~~M419.685 306.555105 418.1102 306.555105 L418.1102 306.555105 418.1102 305.846445 L418.1102 305.846445 419.685 305.846445 L419.685 305.846445 419.685 306.555105 Z~solid~rep123~~~~0", + "SOLIDREGION~100~~M419.685 305.1772 418.1102 305.1772 L418.1102 305.1772 418.1102 304.468495 L418.1102 304.468495 419.685 304.468495 L419.685 304.468495 419.685 305.1772 Z~solid~rep125~~~~0", + "SOLIDREGION~100~~M419.685 303.799205 418.1102 303.799205 L418.1102 303.799205 418.1102 303.090545 L418.1102 303.090545 419.685 303.090545 L419.685 303.090545 419.685 303.799205 Z~solid~rep127~~~~0", + "SOLIDREGION~100~~M419.685 302.421255 418.1102 302.421255 L418.1102 302.421255 418.1102 301.712595 L418.1102 301.712595 419.685 301.712595 L419.685 301.712595 419.685 302.421255 Z~solid~rep129~~~~0", + "SOLIDREGION~100~~M419.685 301.043305 418.1102 301.043305 L418.1102 301.043305 418.1102 300.334645 L418.1102 300.334645 419.685 300.334645 L419.685 300.334645 419.685 301.043305 Z~solid~rep131~~~~0", + "SOLIDREGION~100~~M419.685 299.665355 418.1102 299.665355 L418.1102 299.665355 418.1102 298.956695 L418.1102 298.956695 419.685 298.956695 L419.685 298.956695 419.685 299.665355 Z~solid~rep133~~~~0", + "SOLIDREGION~100~~M419.685 298.287405 418.1102 298.287405 L418.1102 298.287405 418.1102 297.578745 L418.1102 297.578745 419.685 297.578745 L419.685 297.578745 419.685 298.287405 Z~solid~rep135~~~~0", + "SOLIDREGION~100~~M419.685 296.909455 418.1102 296.909455 L418.1102 296.909455 418.1102 296.200795 L418.1102 296.200795 419.685 296.200795 L419.685 296.200795 419.685 296.909455 Z~solid~rep137~~~~0", + "SOLIDREGION~100~~M419.685 295.531505 418.1102 295.531505 L418.1102 295.531505 418.1102 294.822845 L418.1102 294.822845 419.685 294.822845 L419.685 294.822845 419.685 295.531505 Z~solid~rep139~~~~0", + "SOLIDREGION~100~~M419.685 294.153555 418.1102 294.153555 L418.1102 294.153555 418.1102 293.444895 L418.1102 293.444895 419.685 293.444895 L419.685 293.444895 419.685 294.153555 Z~solid~rep141~~~~0", + "SOLIDREGION~100~~M419.685 292.775605 418.1102 292.775605 L418.1102 292.775605 418.1102 292.066945 L418.1102 292.066945 419.685 292.066945 L419.685 292.066945 419.685 292.775605 Z~solid~rep143~~~~0", + "SOLIDREGION~100~~M419.685 291.397655 418.1102 291.397655 L418.1102 291.397655 418.1102 290.688995 L418.1102 290.688995 419.685 290.688995 L419.685 290.688995 419.685 291.397655 Z~solid~rep145~~~~0", + "SOLIDREGION~100~~M419.685 290.019705 418.1102 290.019705 L418.1102 290.019705 418.1102 289.311045 L418.1102 289.311045 419.685 289.311045 L419.685 289.311045 419.685 290.019705 Z~solid~rep147~~~~0", + "SOLIDREGION~100~~M419.685 288.641755 418.1102 288.641755 L418.1102 288.641755 418.1102 287.933095 L418.1102 287.933095 419.685 287.933095 L419.685 287.933095 419.685 288.641755 Z~solid~rep149~~~~0", + "SOLIDREGION~100~~M419.685 287.263805 418.1102 287.263805 L418.1102 287.263805 418.1102 286.555145 L418.1102 286.555145 419.685 286.555145 L419.685 286.555145 419.685 287.263805 Z~solid~rep151~~~~0", + "SOLIDREGION~100~~M419.685 285.885855 418.1102 285.885855 L418.1102 285.885855 418.1102 285.177195 L418.1102 285.177195 419.685 285.177195 L419.685 285.177195 419.685 285.885855 Z~solid~rep153~~~~0", + "SOLIDREGION~100~~M419.685 284.507905 418.1102 284.507905 L418.1102 284.507905 418.1102 283.799245 L418.1102 283.799245 419.685 283.799245 L419.685 283.799245 419.685 284.507905 Z~solid~rep155~~~~0", + "SOLIDREGION~100~~M419.685 283.129955 418.1102 283.129955 L418.1102 283.129955 418.1102 282.421295 L418.1102 282.421295 419.685 282.421295 L419.685 282.421295 419.685 283.129955 Z~solid~rep157~~~~0", + "SOLIDREGION~100~~M388.189 285.23625 414.76375 285.23625 L414.76375 285.23625 414.76375 314.76375 L414.76375 314.76375 385.23625 314.76375 L385.23625 314.76375 385.23625 288.189 Z~solid~rep212~~~~0", + "SOLIDREGION~100~~M 385.8859 280.315 L 385.886 281.8898 L 385.886 281.8898 L 385.1772 281.8898 L 385.1772 281.8898 L 385.1772 280.315 L 385.1772 280.315 L 385.8859 280.315 Z ~solid~rep55~~~~0", + "SOLIDREGION~100~~M 383.1301 280.3152 L 383.1301 281.8898 L 383.1301 281.8898 L 382.4218 281.8898 L 382.4218 281.8898 L 382.4218 280.315 L 382.4218 280.315 L 383.1301 280.3152 Z ~solid~rep3~~~~0", + "SOLIDREGION~100~~M 384.5084 280.3152 L 384.5083 281.8898 L 384.5083 281.8898 L 383.7995 281.8898 L 383.7995 281.8898 L 383.7995 280.315 L 383.7995 280.315 L 384.5084 280.3152 Z ~solid~rep4~~~~0", + "SOLIDREGION~100~~M 387.2644 280.3152 L 387.2644 281.8898 L 387.2644 281.8898 L 386.5554 281.8898 L 386.5554 281.8898 L 386.5554 280.3152 L 386.5554 280.3152 L 387.2644 280.3152 Z ~solid~rep7~~~~0", + "SOLIDREGION~100~~M 388.6419 280.315 L 388.6419 281.8898 L 388.6419 281.8898 L 387.9334 281.8898 L 387.9334 281.8898 L 387.9332 280.315 L 387.9332 280.315 L 388.6419 280.315 Z ~solid~rep9~~~~0", + "SOLIDREGION~100~~M 390.0198 280.3152 L 390.0198 281.8898 L 390.0198 281.8898 L 389.3115 281.8898 L 389.3115 281.8898 L 389.3115 280.3152 L 389.3115 280.3152 L 390.0198 280.3152 Z ~solid~rep11~~~~0", + "SOLIDREGION~100~~M 391.3979 280.315 L 391.3981 281.8898 L 391.3981 281.8898 L 390.6893 281.8898 L 390.6893 281.8898 L 390.6892 280.3152 L 390.6892 280.3152 L 391.3979 280.315 Z ~solid~rep13~~~~0", + "SOLIDREGION~100~~M 392.7756 280.315 L 392.7757 281.8898 L 392.7757 281.8898 L 392.0674 281.8898 L 392.0674 281.8898 L 392.0675 280.3152 L 392.0675 280.3152 L 392.7756 280.315 Z ~solid~rep15~~~~0", + "SOLIDREGION~100~~M 394.1539 280.3152 L 394.1539 281.8898 L 394.1539 281.8898 L 393.4451 281.8898 L 393.4451 281.8898 L 393.445 280.315 L 393.445 280.315 L 394.1539 280.3152 Z ~solid~rep17~~~~0", + "SOLIDREGION~100~~M 395.5316 280.3152 L 395.5316 281.8898 L 395.5316 281.8898 L 394.8235 281.8898 L 394.8235 281.8898 L 394.8235 280.3152 L 394.8235 280.3152 L 395.5316 280.3152 Z ~solid~rep19~~~~0", + "SOLIDREGION~100~~M 396.91 280.3152 L 396.9099 281.8898 L 396.9099 281.8898 L 396.201 281.8898 L 396.201 281.8898 L 396.201 280.315 L 396.201 280.315 L 396.91 280.3152 Z ~solid~rep21~~~~0", + "SOLIDREGION~100~~M 398.2874 280.315 L 398.2875 281.8898 L 398.2875 281.8898 L 397.5789 281.8898 L 397.5789 281.8898 L 397.5789 280.3152 L 397.5789 280.3152 L 398.2874 280.315 Z ~solid~rep23~~~~0", + "SOLIDREGION~100~~M 399.6658 280.315 L 399.666 281.8898 L 399.666 281.8898 L 398.9569 281.8898 L 398.9569 281.8898 L 398.957 280.3152 L 398.957 280.3152 L 399.6658 280.315 Z ~solid~rep25~~~~0", + "SOLIDREGION~100~~M 401.0434 280.315 L 401.0433 281.8898 L 401.0433 281.8898 L 400.3347 281.8898 L 400.3347 281.8898 L 400.3348 280.315 L 400.3348 280.315 L 401.0434 280.315 Z ~solid~rep27~~~~0", + "SOLIDREGION~100~~M 402.4218 280.3152 L 402.4219 281.8898 L 402.4219 281.8898 L 401.713 281.8898 L 401.713 281.8898 L 401.713 280.3152 L 401.713 280.3152 L 402.4218 280.3152 Z ~solid~rep29~~~~0", + "SOLIDREGION~100~~M 403.7995 280.3152 L 403.7994 281.8898 L 403.7994 281.8898 L 403.0907 281.8898 L 403.0907 281.8898 L 403.0907 280.3152 L 403.0907 280.3152 L 403.7995 280.3152 Z ~solid~rep31~~~~0", + "SOLIDREGION~100~~M 405.1779 280.315 L 405.1779 281.8898 L 405.1779 281.8898 L 404.4689 281.8898 L 404.4689 281.8898 L 404.4689 280.3152 L 404.4689 280.3152 L 405.1779 280.315 Z ~solid~rep33~~~~0", + "SOLIDREGION~100~~M 406.5553 280.315 L 406.5555 281.8898 L 406.5555 281.8898 L 405.8467 281.8898 L 405.8467 281.8898 L 405.8466 280.3152 L 405.8466 280.3152 L 406.5553 280.315 Z ~solid~rep35~~~~0", + "SOLIDREGION~100~~M 407.9333 280.3152 L 407.9333 281.8898 L 407.9333 281.8898 L 407.225 281.8898 L 407.225 281.8898 L 407.2249 280.315 L 407.2249 280.315 L 407.9333 280.3152 Z ~solid~rep37~~~~0", + "SOLIDREGION~100~~M 409.3115 280.3152 L 409.3115 281.8898 L 409.3115 281.8898 L 408.6025 281.8898 L 408.6025 281.8898 L 408.6025 280.3152 L 408.6025 280.3152 L 409.3115 280.3152 Z ~solid~rep39~~~~0", + "SOLIDREGION~100~~M 410.6893 280.3152 L 410.6892 281.8898 L 410.6892 281.8898 L 409.9804 281.8898 L 409.9804 281.8898 L 409.9805 280.3152 L 409.9805 280.3152 L 410.6893 280.3152 Z ~solid~rep41~~~~0", + "SOLIDREGION~100~~M 412.0674 280.315 L 412.0673 281.8898 L 412.0673 281.8898 L 411.3585 281.8898 L 411.3585 281.8898 L 411.3586 280.3152 L 411.3586 280.3152 L 412.0674 280.315 Z ~solid~rep43~~~~0", + "SOLIDREGION~100~~M 413.4451 280.315 L 413.4451 281.8898 L 413.4451 281.8898 L 412.7362 281.8898 L 412.7362 281.8898 L 412.7363 280.3152 L 412.7363 280.3152 L 413.4451 280.315 Z ~solid~rep45~~~~0", + "SOLIDREGION~100~~M 414.8235 280.315 L 414.8235 281.8898 L 414.8235 281.8898 L 414.1146 281.8898 L 414.1146 281.8898 L 414.1144 280.315 L 414.1144 280.315 L 414.8235 280.315 Z ~solid~rep47~~~~0", + "SOLIDREGION~100~~M 416.201 280.3152 L 416.201 281.8898 L 416.201 281.8898 L 415.4922 281.8898 L 415.4922 281.8898 L 415.4922 280.3152 L 415.4922 280.3152 L 416.201 280.3152 Z ~solid~rep49~~~~0", + "SOLIDREGION~100~~M 417.5788 280.315 L 417.579 281.8898 L 417.579 281.8898 L 416.8706 281.8898 L 416.8706 281.8898 L 416.8707 280.3152 L 416.8707 280.3152 L 417.5788 280.315 Z ~solid~rep51~~~~0", + "SOLIDREGION~100~~M 380.3152 314.1144 L 381.8901 314.1144 L 381.8901 314.1144 L 381.8901 314.8228 L 381.8901 314.8228 L 380.3152 314.8228 L 380.3152 314.8228 L 380.3152 314.1144 Z ~solid~rep105~~~~0", + "SOLIDREGION~100~~M 380.3152 316.8701 L 381.8901 316.8701 L 381.8901 316.8701 L 381.8901 317.5786 L 381.8901 317.5786 L 380.3152 317.5786 L 380.3152 317.5786 L 380.3152 316.8701 Z ~solid~rep53~~~~0", + "SOLIDREGION~100~~M 380.3152 315.4921 L 381.8901 315.4921 L 381.8901 315.4921 L 381.8901 316.2009 L 381.8901 316.2009 L 380.3152 316.2009 L 380.3152 316.2009 L 380.3152 315.4921 Z ~solid~rep57~~~~0", + "SOLIDREGION~100~~M 380.3152 312.7362 L 381.8901 312.7362 L 381.8901 312.7362 L 381.8901 313.445 L 381.8901 313.445 L 380.3152 313.445 L 380.3152 313.445 L 380.3152 312.7362 Z ~solid~rep59~~~~0", + "SOLIDREGION~100~~M 380.3152 311.3583 L 381.8901 311.3583 L 381.8901 311.3583 L 381.8901 312.0668 L 381.8901 312.0668 L 380.3152 312.0668 L 380.3152 312.0668 L 380.3152 311.3583 Z ~solid~rep60~~~~0", + "SOLIDREGION~100~~M 380.3152 309.9803 L 381.8901 309.9803 L 381.8901 309.9803 L 381.8901 310.6889 L 381.8901 310.6889 L 380.3152 310.6889 L 380.3152 310.6889 L 380.3152 309.9803 Z ~solid~rep61~~~~0", + "SOLIDREGION~100~~M 380.3152 308.6024 L 381.8901 308.6024 L 381.8901 308.6024 L 381.8901 309.3108 L 381.8901 309.3108 L 380.3152 309.3108 L 380.3152 309.3108 L 380.3152 308.6024 Z ~solid~rep63~~~~0", + "SOLIDREGION~100~~M 380.3152 307.2244 L 381.8901 307.2244 L 381.8901 307.2244 L 381.8901 307.933 L 381.8901 307.933 L 380.3152 307.933 L 380.3152 307.933 L 380.3152 307.2244 Z ~solid~rep65~~~~0", + "SOLIDREGION~100~~M 380.3152 305.8465 L 381.8901 305.8465 L 381.8901 305.8465 L 381.8901 306.5551 L 381.8901 306.5551 L 380.3152 306.5551 L 380.3152 306.5551 L 380.3152 305.8465 Z ~solid~rep67~~~~0", + "SOLIDREGION~100~~M 380.3152 304.4686 L 381.8901 304.4686 L 381.8901 304.4686 L 381.8901 305.1771 L 381.8901 305.1771 L 380.3152 305.1771 L 380.3152 305.1771 L 380.3152 304.4686 Z ~solid~rep69~~~~0", + "SOLIDREGION~100~~M 380.3152 303.0906 L 381.8901 303.0906 L 381.8901 303.0906 L 381.8901 303.7992 L 381.8901 303.7992 L 380.3152 303.7992 L 380.3152 303.7992 L 380.3152 303.0906 Z ~solid~rep71~~~~0", + "SOLIDREGION~100~~M 380.3152 301.7127 L 381.8901 301.7127 L 381.8901 301.7127 L 381.8901 302.4212 L 381.8901 302.4212 L 380.3152 302.4212 L 380.3152 302.4212 L 380.3152 301.7127 Z ~solid~rep73~~~~0", + "SOLIDREGION~100~~M 380.3152 300.3345 L 381.8901 300.3345 L 381.8901 300.3345 L 381.8901 301.0435 L 381.8901 301.0435 L 380.3152 301.0435 L 380.3152 301.0435 L 380.3152 300.3345 Z ~solid~rep75~~~~0", + "SOLIDREGION~100~~M 380.3152 298.9568 L 381.8901 298.9568 L 381.8901 298.9568 L 381.8901 299.6653 L 381.8901 299.6653 L 380.3152 299.6653 L 380.3152 299.6653 L 380.3152 298.9568 Z ~solid~rep77~~~~0", + "SOLIDREGION~100~~M 380.3152 297.5786 L 381.8901 297.5786 L 381.8901 297.5786 L 381.8901 298.2874 L 381.8901 298.2874 L 380.3152 298.2874 L 380.3152 298.2874 L 380.3152 297.5786 Z ~solid~rep79~~~~0", + "SOLIDREGION~100~~M 380.3152 296.2009 L 381.8901 296.2009 L 381.8901 296.2009 L 381.8901 296.9095 L 381.8901 296.9095 L 380.3152 296.9095 L 380.3152 296.9095 L 380.3152 296.2009 Z ~solid~rep81~~~~0", + "SOLIDREGION~100~~M 380.3152 294.8227 L 381.8901 294.8227 L 381.8901 294.8227 L 381.8901 295.5315 L 381.8901 295.5315 L 380.3152 295.5315 L 380.3152 295.5315 L 380.3152 294.8227 Z ~solid~rep83~~~~0", + "SOLIDREGION~100~~M 380.3152 293.445 L 381.8901 293.445 L 381.8901 293.445 L 381.8901 294.1537 L 381.8901 294.1537 L 380.3152 294.1537 L 380.3152 294.1537 L 380.3152 293.445 Z ~solid~rep85~~~~0", + "SOLIDREGION~100~~M 380.3152 292.0668 L 381.8901 292.0668 L 381.8901 292.0668 L 381.8901 292.7756 L 381.8901 292.7756 L 380.3152 292.7756 L 380.3152 292.7756 L 380.3152 292.0668 Z ~solid~rep87~~~~0", + "SOLIDREGION~100~~M 380.3152 290.6889 L 381.8901 290.6889 L 381.8901 290.6889 L 381.8901 291.3979 L 381.8901 291.3979 L 380.3152 291.3979 L 380.3152 291.3979 L 380.3152 290.6889 Z ~solid~rep89~~~~0", + "SOLIDREGION~100~~M 380.3152 289.3108 L 381.8901 289.3108 L 381.8901 289.3108 L 381.8901 290.0197 L 381.8901 290.0197 L 380.3152 290.0197 L 380.3152 290.0197 L 380.3152 289.3108 Z ~solid~rep91~~~~0", + "SOLIDREGION~100~~M 380.3152 287.9332 L 381.8901 287.9332 L 381.8901 287.9332 L 381.8901 288.642 L 381.8901 288.642 L 380.3152 288.642 L 380.3152 288.642 L 380.3152 287.9332 Z ~solid~rep93~~~~0", + "SOLIDREGION~100~~M 380.3152 286.5553 L 381.8901 286.5553 L 381.8901 286.5553 L 381.8901 287.2637 L 381.8901 287.2637 L 380.3152 287.2637 L 380.3152 287.2637 L 380.3152 286.5553 Z ~solid~rep95~~~~0", + "SOLIDREGION~100~~M 380.3152 285.1773 L 381.8901 285.1773 L 381.8901 285.1773 L 381.8901 285.8859 L 381.8901 285.8859 L 380.3152 285.8859 L 380.3152 285.8859 L 380.3152 285.1773 Z ~solid~rep97~~~~0", + "SOLIDREGION~100~~M 380.3152 283.7994 L 381.8901 283.7994 L 381.8901 283.7994 L 381.8901 284.508 L 381.8901 284.508 L 380.3152 284.508 L 380.3152 284.508 L 380.3152 283.7994 Z ~solid~rep99~~~~0", + "SOLIDREGION~100~~M 380.3152 282.4215 L 381.8901 282.4215 L 381.8901 282.4215 L 381.8901 283.13 L 381.8901 283.13 L 380.3152 283.13 L 380.3152 283.13 L 380.3152 282.4215 Z ~solid~rep101~~~~0", + "SOLIDREGION~100~~M 414.1146 319.6852 L 414.1146 318.1104 L 414.1146 318.1104 L 414.8234 318.1104 L 414.8234 318.1104 L 414.8234 319.6852 L 414.8234 319.6852 L 414.1146 319.6852 Z ~solid~rep217~~~~0", + "SOLIDREGION~100~~M 416.8703 319.6852 L 416.8703 318.1104 L 416.8703 318.1104 L 417.579 318.1104 L 417.579 318.1104 L 417.579 319.6852 L 417.579 319.6852 L 416.8703 319.6852 Z ~solid~rep103~~~~0", + "SOLIDREGION~100~~M 415.4925 319.6852 L 415.4925 318.1104 L 415.4925 318.1104 L 416.2013 318.1104 L 416.2013 318.1104 L 416.2013 319.6852 L 416.2013 319.6852 L 415.4925 319.6852 Z ~solid~rep159~~~~0", + "SOLIDREGION~100~~M 412.7367 319.6852 L 412.7367 318.1104 L 412.7367 318.1104 L 413.4454 318.1104 L 413.4454 318.1104 L 413.4454 319.6852 L 413.4454 319.6852 L 412.7367 319.6852 Z ~solid~rep163~~~~0", + "SOLIDREGION~100~~M 411.3585 319.6852 L 411.3585 318.1104 L 411.3585 318.1104 L 412.0673 318.1104 L 412.0673 318.1104 L 412.0673 319.6852 L 412.0673 319.6852 L 411.3585 319.6852 Z ~solid~rep165~~~~0", + "SOLIDREGION~100~~M 409.9805 319.6852 L 409.9805 318.1104 L 409.9805 318.1104 L 410.6893 318.1104 L 410.6893 318.1104 L 410.6893 319.6852 L 410.6893 319.6852 L 409.9805 319.6852 Z ~solid~rep167~~~~0", + "SOLIDREGION~100~~M 408.6026 319.6852 L 408.6026 318.1104 L 408.6026 318.1104 L 409.3114 318.1104 L 409.3114 318.1104 L 409.3114 319.6852 L 409.3114 319.6852 L 408.6026 319.6852 Z ~solid~rep169~~~~0", + "SOLIDREGION~100~~M 407.2247 319.6852 L 407.2247 318.1104 L 407.2247 318.1104 L 407.9334 318.1104 L 407.9334 318.1104 L 407.9334 319.6852 L 407.9334 319.6852 L 407.2247 319.6852 Z ~solid~rep171~~~~0", + "SOLIDREGION~100~~M 405.8467 319.6852 L 405.8467 318.1104 L 405.8467 318.1104 L 406.5555 318.1104 L 406.5555 318.1104 L 406.5555 319.6852 L 406.5555 319.6852 L 405.8467 319.6852 Z ~solid~rep173~~~~0", + "SOLIDREGION~100~~M 404.4688 319.6852 L 404.4688 318.1104 L 404.4688 318.1104 L 405.1776 318.1104 L 405.1776 318.1104 L 405.1776 319.6852 L 405.1776 319.6852 L 404.4688 319.6852 Z ~solid~rep175~~~~0", + "SOLIDREGION~100~~M 403.0908 319.6852 L 403.0908 318.1104 L 403.0908 318.1104 L 403.7996 318.1104 L 403.7996 318.1104 L 403.7996 319.6852 L 403.7996 319.6852 L 403.0908 319.6852 Z ~solid~rep177~~~~0", + "SOLIDREGION~100~~M 401.7129 319.6852 L 401.7129 318.1104 L 401.7129 318.1104 L 402.4217 318.1104 L 402.4217 318.1104 L 402.4217 319.6852 L 402.4217 319.6852 L 401.7129 319.6852 Z ~solid~rep179~~~~0", + "SOLIDREGION~100~~M 400.3349 319.6852 L 400.3349 318.1104 L 400.3349 318.1104 L 401.0437 318.1104 L 401.0437 318.1104 L 401.0437 319.6852 L 401.0437 319.6852 L 400.3349 319.6852 Z ~solid~rep181~~~~0", + "SOLIDREGION~100~~M 398.957 319.6852 L 398.957 318.1104 L 398.957 318.1104 L 399.6658 318.1104 L 399.6658 318.1104 L 399.6658 319.6852 L 399.6658 319.6852 L 398.957 319.6852 Z ~solid~rep183~~~~0", + "SOLIDREGION~100~~M 397.579 319.6852 L 397.579 318.1104 L 397.579 318.1104 L 398.2878 318.1104 L 398.2878 318.1104 L 398.2878 319.6852 L 398.2878 319.6852 L 397.579 319.6852 Z ~solid~rep185~~~~0", + "SOLIDREGION~100~~M 396.2013 319.6852 L 396.2013 318.1104 L 396.2013 318.1104 L 396.9099 318.1104 L 396.9099 318.1104 L 396.9099 319.6852 L 396.9099 319.6852 L 396.2013 319.6852 Z ~solid~rep187~~~~0", + "SOLIDREGION~100~~M 394.8232 319.6852 L 394.8232 318.1104 L 394.8232 318.1104 L 395.5319 318.1104 L 395.5319 318.1104 L 395.5319 319.6852 L 395.5319 319.6852 L 394.8232 319.6852 Z ~solid~rep189~~~~0", + "SOLIDREGION~100~~M 393.4454 319.6852 L 393.4454 318.1104 L 393.4454 318.1104 L 394.154 318.1104 L 394.154 318.1104 L 394.154 319.6852 L 394.154 319.6852 L 393.4454 319.6852 Z ~solid~rep191~~~~0", + "SOLIDREGION~100~~M 392.0673 319.6852 L 392.0673 318.1104 L 392.0673 318.1104 L 392.776 318.1104 L 392.776 318.1104 L 392.776 319.6852 L 392.776 319.6852 L 392.0673 319.6852 Z ~solid~rep193~~~~0", + "SOLIDREGION~100~~M 390.6893 319.6852 L 390.6893 318.1104 L 390.6893 318.1104 L 391.3981 318.1104 L 391.3981 318.1104 L 391.3981 319.6852 L 391.3981 319.6852 L 390.6893 319.6852 Z ~solid~rep195~~~~0", + "SOLIDREGION~100~~M 389.3114 319.6852 L 389.3114 318.1104 L 389.3114 318.1104 L 390.0199 318.1104 L 390.0199 318.1104 L 390.0199 319.6852 L 390.0199 319.6852 L 389.3114 319.6852 Z ~solid~rep197~~~~0", + "SOLIDREGION~100~~M 387.9334 319.6852 L 387.9334 318.1104 L 387.9334 318.1104 L 388.6422 318.1104 L 388.6422 318.1104 L 388.6422 319.6852 L 388.6422 319.6852 L 387.9334 319.6852 Z ~solid~rep199~~~~0", + "SOLIDREGION~100~~M 386.5555 319.6852 L 386.5555 318.1104 L 386.5555 318.1104 L 387.2641 318.1104 L 387.2641 318.1104 L 387.2641 319.6852 L 387.2641 319.6852 L 386.5555 319.6852 Z ~solid~rep201~~~~0", + "SOLIDREGION~100~~M 385.1776 319.6852 L 385.1776 318.1104 L 385.1776 318.1104 L 385.8863 318.1104 L 385.8863 318.1104 L 385.8863 319.6852 L 385.8863 319.6852 L 385.1776 319.6852 Z ~solid~rep203~~~~0", + "SOLIDREGION~100~~M 383.7996 319.6852 L 383.7996 318.1104 L 383.7996 318.1104 L 384.5082 318.1104 L 384.5082 318.1104 L 384.5082 319.6852 L 384.5082 319.6852 L 383.7996 319.6852 Z ~solid~rep205~~~~0", + "SOLIDREGION~100~~M 382.4217 319.6852 L 382.4217 318.1104 L 382.4217 318.1104 L 383.1304 318.1104 L 383.1304 318.1104 L 383.1304 319.6852 L 383.1304 319.6852 L 382.4217 319.6852 Z ~solid~rep207~~~~0", + "SVGNODE~{\"gId\":\"g1_outline\",\"nodeName\":\"g\",\"nodeType\":1,\"layerid\":\"19\",\"attrs\":{\"c_width\":\"39.4487\",\"c_height\":\"39.4487\",\"c_rotation\":\"0,0,0\",\"z\":\"0\",\"c_origin\":\"400,300\",\"uuid\":\"497d609d215940218ebe839e7686d01e\",\"c_etype\":\"outline3D\",\"id\":\"g1_outline\",\"title\":\"QFN-104_L10.0-W10.0-P0.35-TL-EP7.5\",\"layerid\":\"19\",\"transform\":\"scale(1) translate(0, 0)\"},\"childNodes\":[{\"gId\":\"g1_outline_line0\",\"nodeName\":\"polyline\",\"nodeType\":1,\"attrs\":{\"fill\":\"none\",\"id\":\"g1_outline_line0\",\"c_shapetype\":\"line\",\"points\":\"380.2757 282.4803 380.3151 283.0709 380.2757 283.8583 380.3151 284.4488 380.2757 285.2362 380.3151 285.8268 380.2757 286.6142 380.3151 287.2047 380.2757 287.9921 380.3151 288.5827 380.2757 289.3701 380.3151 289.9606 380.2757 290.748 380.3151 291.3386 380.2757 292.126 380.3151 292.7165 380.2757 293.5039 380.3151 294.0945 380.2757 294.8819 380.3151 295.4724 380.2757 296.2598 380.3151 296.8504 380.2757 297.6378 380.3151 298.2283 380.2757 299.0157 380.3151 299.6063 380.3151 300.1968 380.2757 300.3937 380.3151 300.9842 380.2757 301.7716 380.3151 302.3622 380.2757 303.1496 380.3151 303.7401 380.2757 304.5275 380.3151 305.1181 380.2757 305.9055 380.3151 306.496 380.2757 307.2834 380.3151 307.874 380.2757 308.6614 380.3151 309.2519 380.2757 310.0393 380.3151 310.6299 380.2757 311.4173 380.3151 312.0078 380.2757 312.7952 380.3151 313.3858 380.2757 314.1732 380.3151 314.7637 380.3151 315.4724 380.2757 315.5511 380.3151 316.1417 380.3151 316.2991 380.3151 316.5354 380.2757 316.9291 380.3151 317.5196 380.3151 317.559 380.3151 317.8739 380.3151 319.685 382.4804 319.7243 383.071 319.685 383.8584 319.7243 384.4489 319.685 385.2363 319.7243 385.8269 319.685 386.2206 319.685 386.6143 319.7243 387.2048 319.685 387.7166 319.685 387.9922 319.7243 388.5828 319.685 388.7009 319.685 389.0158 319.685 389.2521 319.685 389.3702 319.7243 389.9607 319.685 390.7481 319.7243 391.3387 319.685 392.1261 319.7243 392.7166 319.685 393.504 319.7243 394.0946 319.685 394.882 319.7243 395.4725 319.685 396.2599 319.7243 396.8505 319.685 397.6379 319.7243 398.2284 319.685 399.0158 319.7243 399.6064 319.685 400.3938 319.7243 400.9843 319.685 401.7717 319.7243 402.3623 319.685 403.1497 319.7243 403.7402 319.685 404.5276 319.7243 405.1182 319.685 405.9056 319.7243 406.4961 319.685 407.2835 319.7243 407.8741 319.685 408.6615 319.7243 409.252 319.685 410.0394 319.7243 410.63 319.685 411.4174 319.7243 412.0079 319.685 412.7953 319.7243 413.3859 319.685 414.1733 319.7243 414.7638 319.685 415.5512 319.7243 416.1418 319.685 416.9292 319.7243 417.5197 319.685 419.6851 319.685 419.6851 317.8739 419.6851 317.5196 419.7244 317.5196 419.6851 316.9291 419.6851 316.5354 419.6851 316.2991 419.7244 316.1417 419.6851 315.5511 419.6851 315.4724 419.7244 314.7637 419.6851 314.1732 419.7244 313.3858 419.6851 312.7952 419.7244 312.0078 419.6851 311.4173 419.7244 310.6299 419.6851 310.0393 419.7244 309.2519 419.6851 308.6614 419.7244 307.874 419.6851 307.2834 419.7244 306.496 419.6851 305.9055 419.7244 305.1181 419.6851 304.5275 419.7244 303.7401 419.6851 303.1496 419.7244 302.3622 419.6851 301.7716 419.7244 300.9842 419.6851 300.3937 419.6851 300.1968 419.7244 299.6063 419.6851 299.0157 419.7244 298.2283 419.6851 297.6378 419.7244 296.8504 419.6851 296.2598 419.7244 295.4724 419.6851 294.8819 419.7244 294.0945 419.6851 293.5039 419.7244 292.7165 419.6851 292.126 419.7244 291.3386 419.6851 290.748 419.7244 289.9606 419.6851 289.3701 419.7244 288.5827 419.6851 287.9921 419.7244 287.2047 419.6851 286.6142 419.7244 285.8268 419.6851 285.2362 419.7244 284.4488 419.6851 283.8583 419.7244 283.0709 419.6851 282.4803 419.6851 280.315 417.5197 280.2756 416.9292 280.315 416.1418 280.2756 415.5512 280.315 414.7638 280.2756 414.1733 280.315 413.3859 280.2756 412.7953 280.315 412.0079 280.2756 411.4174 280.315 410.63 280.2756 410.0394 280.315 409.252 280.2756 408.6615 280.315 407.8741 280.2756 407.2835 280.315 406.4961 280.2756 405.9056 280.315 405.1182 280.2756 404.5276 280.315 403.7402 280.2756 403.1497 280.315 402.3623 280.2756 401.7717 280.315 400.9843 280.2756 400.3938 280.315 399.6064 280.2756 399.0158 280.315 398.2284 280.2756 397.6379 280.315 396.8505 280.2756 396.2599 280.315 395.4725 280.2756 394.882 280.315 394.0946 280.2756 393.504 280.315 392.7166 280.2756 392.1261 280.315 391.3387 280.2756 390.7481 280.315 389.9607 280.2756 389.3702 280.315 389.2521 280.315 389.0158 280.315 388.7009 280.315 388.5828 280.2756 387.9922 280.315 387.7166 280.315 387.2048 280.2756 386.6143 280.315 386.2206 280.315 385.8269 280.2756 385.2363 280.315 384.4489 280.2756 383.8584 280.315 383.071 280.2756 382.4804 280.315 380.3151 280.315 380.3151 282.4803 380.2757 282.4803 380.2757 282.4803\"}}]}" + ], + "layers": [ + "1~TopLayer~#FF0000~true~false~true~", + "2~BottomLayer~#0000FF~true~false~true~", + "3~TopSilkLayer~#FFCC00~true~false~true~", + "4~BottomSilkLayer~#66CC33~true~false~true~", + "5~TopPasteMaskLayer~#808080~true~false~true~", + "6~BottomPasteMaskLayer~#800000~true~false~true~", + "7~TopSolderMaskLayer~#800080~true~false~true~0.3", + "8~BottomSolderMaskLayer~#AA00FF~true~false~true~0.3", + "9~Ratlines~#6464FF~true~false~true~", + "10~BoardOutLine~#FF00FF~true~false~true~", + "11~Multi-Layer~#C0C0C0~true~false~true~", + "12~Document~#FFFFFF~true~false~true~", + "13~TopAssembly~#33CC99~true~false~true~", + "14~BottomAssembly~#5555FF~true~false~true~", + "15~Mechanical~#F022F0~true~false~true~", + "19~3DModel~#66CCFF~true~false~true~", + "21~Inner1~#999966~false~false~false~~", + "22~Inner2~#008000~false~false~false~~", + "23~Inner3~#00FF00~false~false~false~~", + "24~Inner4~#BC8E00~false~false~false~~", + "25~Inner5~#70DBFA~false~false~false~~", + "26~Inner6~#00CC66~false~false~false~~", + "27~Inner7~#9966FF~false~false~false~~", + "28~Inner8~#800080~false~false~false~~", + "29~Inner9~#008080~false~false~false~~", + "30~Inner10~#15935F~false~false~false~~", + "31~Inner11~#000080~false~false~false~~", + "32~Inner12~#00B400~false~false~false~~", + "33~Inner13~#2E4756~false~false~false~~", + "34~Inner14~#99842F~false~false~false~~", + "35~Inner15~#FFFFAA~false~false~false~~", + "36~Inner16~#99842F~false~false~false~~", + "37~Inner17~#2E4756~false~false~false~~", + "38~Inner18~#3535FF~false~false~false~~", + "39~Inner19~#8000BC~false~false~false~~", + "40~Inner20~#43AE5F~false~false~false~~", + "41~Inner21~#C3ECCE~false~false~false~~", + "42~Inner22~#728978~false~false~false~~", + "43~Inner23~#39503F~false~false~false~~", + "44~Inner24~#0C715D~false~false~false~~", + "45~Inner25~#5A8A80~false~false~false~~", + "46~Inner26~#2B937E~false~false~false~~", + "47~Inner27~#23999D~false~false~false~~", + "48~Inner28~#45B4E3~false~false~false~~", + "49~Inner29~#215DA1~false~false~false~~", + "50~Inner30~#4564D7~false~false~false~~", + "51~Inner31~#6969E9~false~false~false~~", + "52~Inner32~#9069E9~false~false~false~~", + "99~ComponentShapeLayer~#00CCCC~true~false~true~0.4", + "100~LeadShapeLayer~#CC9999~true~true~true~", + "101~ComponentMarkingLayer~#66FFCC~true~false~true~", + "Hole~Hole~#222222~false~false~true~", + "DRCError~DRCError~#FAD609~false~false~true~" + ], + "objects": [ + "All~true~false", + "Component~true~true", + "Prefix~true~true", + "Name~true~false", + "Track~true~true", + "Pad~true~true", + "Via~true~true", + "Hole~true~true", + "Copper_Area~true~true", + "Circle~true~true", + "Arc~true~true", + "Solid_Region~true~true", + "Text~true~true", + "Image~true~true", + "Rect~true~true", + "Dimension~true~true", + "Protractor~true~true" + ], + "BBox": { + "x": 376.4, + "y": 279, + "width": 44.6, + "height": 41.9 + }, + "netColors": [] + } + }, + "_objMetadata": { + "bounds": { + "min": { + "x": -5.01, + "y": -5.01, + "z": -0.02 + }, + "max": { + "x": 5.01, + "y": 5.01, + "z": 0.86 + } + } + } +} \ No newline at end of file diff --git a/tests/assets/C2913197.raweasy.json b/tests/assets/C2913197.raweasy.json new file mode 100644 index 00000000..ca7a0ef9 --- /dev/null +++ b/tests/assets/C2913197.raweasy.json @@ -0,0 +1,365 @@ +{ + "uuid": "86c867f7279c4caabf5849d63610448d", + "title": "ESP32-S3-WROOM-1-N4", + "description": "", + "docType": 2, + "type": 3, + "thumb": "/component/86c867f7279c4caabf5849d63610448d.png", + "lcsc": { + "id": 3198295, + "number": "C2913197" + }, + "szlcsc": { + "id": 3198295, + "number": "C2913197" + }, + "owner": { + "uuid": "0819f05c4eef4c71ace90d822a990e87", + "username": "lcsc", + "nickname": "LCSC", + "avatar": "//image.lceda.cn/avatars/2018/6/kFlrasi7W06gTdBLAqW3fkrqbDhbowynuSzkjqso.png" + }, + "tags": [ + "WiFi Modules" + ], + "updateTime": 1729252503, + "updated_at": "2026-08-17 07:17:49", + "dataStr": { + "head": { + "docType": "2", + "editorVersion": "6.5.39", + "x": 400, + "y": 300, + "c_para": { + "pre": "U?", + "name": "ESP32-S3-WROOM-1-N4", + "package": "WIFIM-SMD_ESP32-S3-WROOM-1-N8", + "Supplier": "LCSC", + "Supplier Part": "C2913197", + "Manufacturer": "ESPRESSIF(乐鑫)", + "Manufacturer Part": "ESP32-S3-WROOM-1-N4", + "JLCPCB Part Class": "Extended Part", + "Contributor": "lcsc" + }, + "puuid": "c4a8c99709c548f1b51dd48043933daf", + "utime": 1705635461, + "uuid": "86c867f7279c4caabf5849d63610448d", + "importFlag": 0, + "c_spiceCmd": null, + "pre": "U?", + "name": "ESP32-S3-WROOM-1-N4", + "hasIdFlag": true + }, + "canvas": "CA~1000~1000~#FFFFFF~yes~#CCCCCC~5~1000~1000~line~5~pixel~5~400~300", + "shape": [ + "R~365~195~2~2~70~210~#880000~1~0~none~gge1~0~", + "E~370~200~1.5~1.5~#880000~1~0~#880000~gge2~0", + "P~show~0~1~355~205~180~gge41~0^^355~205^^M355,205h10~#000000^^1~368.7~209~0~GND~start~~~#000000^^1~364.5~204~0~1~end~~~#000000^^0~362~205^^0~M 365 208 L 368 205 L 365 202", + "P~show~0~2~355~215~180~gge42~0^^355~215^^M355,215h10~#880000^^1~368.7~219~0~3V3~start~~~#0000FF^^1~364.5~214~0~2~end~~~#0000FF^^0~362~215^^0~M 365 218 L 368 215 L 365 212", + "P~show~0~3~355~225~180~gge43~0^^355~225^^M355,225h10~#880000^^1~368.7~229~0~EN~start~~~#0000FF^^1~364.5~224~0~3~end~~~#0000FF^^0~362~225^^0~M 365 228 L 368 225 L 365 222", + "P~show~0~4~355~235~180~gge44~0^^355~235^^M355,235h10~#880000^^1~368.7~239~0~IO4~start~~~#0000FF^^1~364.5~234~0~4~end~~~#0000FF^^0~362~235^^0~M 365 238 L 368 235 L 365 232", + "P~show~0~5~355~245~180~gge45~0^^355~245^^M355,245h10~#880000^^1~368.7~249~0~IO5~start~~~#0000FF^^1~364.5~244~0~5~end~~~#0000FF^^0~362~245^^0~M 365 248 L 368 245 L 365 242", + "P~show~0~6~355~255~180~gge46~0^^355~255^^M355,255h10~#880000^^1~368.7~259~0~IO6~start~~~#0000FF^^1~364.5~254~0~6~end~~~#0000FF^^0~362~255^^0~M 365 258 L 368 255 L 365 252", + "P~show~0~7~355~265~180~gge47~0^^355~265^^M355,265h10~#880000^^1~368.7~269~0~IO7~start~~~#0000FF^^1~364.5~264~0~7~end~~~#0000FF^^0~362~265^^0~M 365 268 L 368 265 L 365 262", + "P~show~0~8~355~275~180~gge48~0^^355~275^^M355,275h10~#880000^^1~368.7~279~0~IO15~start~~~#0000FF^^1~364.5~274~0~8~end~~~#0000FF^^0~362~275^^0~M 365 278 L 368 275 L 365 272", + "P~show~0~9~355~285~180~gge49~0^^355~285^^M355,285h10~#880000^^1~368.7~289~0~IO16~start~~~#0000FF^^1~364.5~284~0~9~end~~~#0000FF^^0~362~285^^0~M 365 288 L 368 285 L 365 282", + "P~show~0~10~355~295~180~gge410~0^^355~295^^M355,295h10~#880000^^1~368.7~299~0~IO17~start~~~#0000FF^^1~364.5~294~0~10~end~~~#0000FF^^0~362~295^^0~M 365 298 L 368 295 L 365 292", + "P~show~0~11~355~305~180~gge411~0^^355~305^^M355,305h10~#880000^^1~368.7~309~0~IO18~start~~~#0000FF^^1~364.5~304~0~11~end~~~#0000FF^^0~362~305^^0~M 365 308 L 368 305 L 365 302", + "P~show~0~12~355~315~180~gge412~0^^355~315^^M355,315h10~#880000^^1~368.7~319~0~IO8~start~~~#0000FF^^1~364.5~314~0~12~end~~~#0000FF^^0~362~315^^0~M 365 318 L 368 315 L 365 312", + "P~show~0~13~355~325~180~gge413~0^^355~325^^M355,325h10~#880000^^1~368.7~329~0~IO19~start~~~#0000FF^^1~364.5~324~0~13~end~~~#0000FF^^0~362~325^^0~M 365 328 L 368 325 L 365 322", + "P~show~0~14~355~335~180~gge414~0^^355~335^^M355,335h10~#880000^^1~368.7~339~0~IO20~start~~~#0000FF^^1~364.5~334~0~14~end~~~#0000FF^^0~362~335^^0~M 365 338 L 368 335 L 365 332", + "P~show~0~15~355~345~180~gge415~0^^355~345^^M355,345h10~#880000^^1~368.7~349~0~IO3~start~~~#0000FF^^1~364.5~344~0~15~end~~~#0000FF^^0~362~345^^0~M 365 348 L 368 345 L 365 342", + "P~show~0~16~355~355~180~gge416~0^^355~355^^M355,355h10~#880000^^1~368.7~359~0~IO46~start~~~#0000FF^^1~364.5~354~0~16~end~~~#0000FF^^0~362~355^^0~M 365 358 L 368 355 L 365 352", + "P~show~0~17~355~365~180~gge417~0^^355~365^^M355,365h10~#880000^^1~368.7~369~0~IO9~start~~~#0000FF^^1~364.5~364~0~17~end~~~#0000FF^^0~362~365^^0~M 365 368 L 368 365 L 365 362", + "P~show~0~18~355~375~180~gge418~0^^355~375^^M355,375h10~#880000^^1~368.7~379~0~IO10~start~~~#0000FF^^1~364.5~374~0~18~end~~~#0000FF^^0~362~375^^0~M 365 378 L 368 375 L 365 372", + "P~show~0~19~355~385~180~gge419~0^^355~385^^M355,385h10~#880000^^1~368.7~389~0~IO11~start~~~#0000FF^^1~364.5~384~0~19~end~~~#0000FF^^0~362~385^^0~M 365 388 L 368 385 L 365 382", + "P~show~0~20~355~395~180~gge420~0^^355~395^^M355,395h10~#880000^^1~368.7~399~0~IO12~start~~~#0000FF^^1~364.5~394~0~20~end~~~#0000FF^^0~362~395^^0~M 365 398 L 368 395 L 365 392", + "P~show~0~21~445~395~0~gge421~0^^445~395^^M445,395h-10~#880000^^1~431.3~399~0~IO13~end~~~#0000FF^^1~435.5~394~0~21~start~~~#0000FF^^0~438~395^^0~M 435 392 L 432 395 L 435 398", + "P~show~0~22~445~385~0~gge422~0^^445~385^^M445,385h-10~#880000^^1~431.3~389~0~IO14~end~~~#0000FF^^1~435.5~384~0~22~start~~~#0000FF^^0~438~385^^0~M 435 382 L 432 385 L 435 388", + "P~show~0~23~445~375~0~gge423~0^^445~375^^M445,375h-10~#880000^^1~431.3~379~0~IO21~end~~~#0000FF^^1~435.5~374~0~23~start~~~#0000FF^^0~438~375^^0~M 435 372 L 432 375 L 435 378", + "P~show~0~24~445~365~0~gge424~0^^445~365^^M445,365h-10~#880000^^1~431.3~369~0~IO47~end~~~#0000FF^^1~435.5~364~0~24~start~~~#0000FF^^0~438~365^^0~M 435 362 L 432 365 L 435 368", + "P~show~0~25~445~355~0~gge425~0^^445~355^^M445,355h-10~#880000^^1~431.3~359~0~IO48~end~~~#0000FF^^1~435.5~354~0~25~start~~~#0000FF^^0~438~355^^0~M 435 352 L 432 355 L 435 358", + "P~show~0~26~445~345~0~gge426~0^^445~345^^M445,345h-10~#880000^^1~431.3~349~0~IO45~end~~~#0000FF^^1~435.5~344~0~26~start~~~#0000FF^^0~438~345^^0~M 435 342 L 432 345 L 435 348", + "P~show~0~27~445~335~0~gge427~0^^445~335^^M445,335h-10~#880000^^1~431.3~339~0~IO0~end~~~#0000FF^^1~435.5~334~0~27~start~~~#0000FF^^0~438~335^^0~M 435 332 L 432 335 L 435 338", + "P~show~0~28~445~325~0~gge428~0^^445~325^^M445,325h-10~#880000^^1~431.3~329~0~IO35~end~~~#0000FF^^1~435.5~324~0~28~start~~~#0000FF^^0~438~325^^0~M 435 322 L 432 325 L 435 328", + "P~show~0~29~445~315~0~gge429~0^^445~315^^M445,315h-10~#880000^^1~431.3~319~0~IO36~end~~~#0000FF^^1~435.5~314~0~29~start~~~#0000FF^^0~438~315^^0~M 435 312 L 432 315 L 435 318", + "P~show~0~30~445~305~0~gge430~0^^445~305^^M445,305h-10~#880000^^1~431.3~309~0~IO37~end~~~#0000FF^^1~435.5~304~0~30~start~~~#0000FF^^0~438~305^^0~M 435 302 L 432 305 L 435 308", + "P~show~0~31~445~295~0~gge431~0^^445~295^^M445,295h-10~#880000^^1~431.3~299~0~IO38~end~~~#0000FF^^1~435.5~294~0~31~start~~~#0000FF^^0~438~295^^0~M 435 292 L 432 295 L 435 298", + "P~show~0~32~445~285~0~gge432~0^^445~285^^M445,285h-10~#880000^^1~431.3~289~0~IO39~end~~~#0000FF^^1~435.5~284~0~32~start~~~#0000FF^^0~438~285^^0~M 435 282 L 432 285 L 435 288", + "P~show~0~33~445~275~0~gge433~0^^445~275^^M445,275h-10~#880000^^1~431.3~279~0~IO40~end~~~#0000FF^^1~435.5~274~0~33~start~~~#0000FF^^0~438~275^^0~M 435 272 L 432 275 L 435 278", + "P~show~0~34~445~265~0~gge434~0^^445~265^^M445,265h-10~#880000^^1~431.3~269~0~IO41~end~~~#0000FF^^1~435.5~264~0~34~start~~~#0000FF^^0~438~265^^0~M 435 262 L 432 265 L 435 268", + "P~show~0~35~445~255~0~gge435~0^^445~255^^M445,255h-10~#880000^^1~431.3~259~0~IO42~end~~~#0000FF^^1~435.5~254~0~35~start~~~#0000FF^^0~438~255^^0~M 435 252 L 432 255 L 435 258", + "P~show~0~36~445~245~0~gge436~0^^445~245^^M445,245h-10~#880000^^1~431.3~249~0~RXD0~end~~~#0000FF^^1~435.5~244~0~36~start~~~#0000FF^^0~438~245^^0~M 435 242 L 432 245 L 435 248", + "P~show~0~37~445~235~0~gge437~0^^445~235^^M445,235h-10~#880000^^1~431.3~239~0~TXD0~end~~~#0000FF^^1~435.5~234~0~37~start~~~#0000FF^^0~438~235^^0~M 435 232 L 432 235 L 435 238", + "P~show~0~38~445~225~0~gge438~0^^445~225^^M445,225h-10~#880000^^1~431.3~229~0~IO2~end~~~#0000FF^^1~435.5~224~0~38~start~~~#0000FF^^0~438~225^^0~M 435 222 L 432 225 L 435 228", + "P~show~0~39~445~215~0~gge439~0^^445~215^^M445,215h-10~#880000^^1~431.3~219~0~IO1~end~~~#0000FF^^1~435.5~214~0~39~start~~~#0000FF^^0~438~215^^0~M 435 212 L 432 215 L 435 218", + "P~show~0~40~445~205~0~gge440~0^^445~205^^M445,205h-10~#000000^^1~431.3~209~0~GND~end~~~#000000^^1~435.5~204~0~40~start~~~#000000^^0~438~205^^0~M 435 202 L 432 205 L 435 208", + "P~show~0~41~400~185~90~gge447~0^^400~185^^M 400 185 v 10~#000000^^1~404~198.7~270~GND~end~~~#000000^^1~399~194.5~270~41~start~~~#000000^^0~400~192^^0~M 397 195 L 400 198 L 403 195" + ], + "BBox": { + "x": 352.6, + "y": 182.6, + "width": 94.7, + "height": 222.4 + }, + "colors": [] + }, + "jlcOnSale": 1, + "datastrid": "eebb3803a6b44015beaa834f16b12368", + "verify": true, + "SMT": true, + "writable": false, + "isFavorite": false, + "packageDetail": { + "uuid": "c4a8c99709c548f1b51dd48043933daf", + "title": "WIFIM-SMD_ESP32-S3-WROOM-1-N8", + "docType": 4, + "updateTime": 1768388276, + "owner": { + "uuid": "0819f05c4eef4c71ace90d822a990e87", + "username": "lcsc", + "nickname": "LCSC", + "avatar": "//image.lceda.cn/avatars/2018/6/kFlrasi7W06gTdBLAqW3fkrqbDhbowynuSzkjqso.png" + }, + "datastrid": "3e19f88e58c745b5a24565da487e61eb", + "writable": false, + "dataStr": { + "head": { + "docType": "4", + "editorVersion": "6.5.9", + "newgId": true, + "c_para": { + "package": "WIFIM-SMD_ESP32-S3-WROOM-1-N8", + "pre": "U?", + "Contributor": "lcsc", + "link": "https://media.digikey.com/pdf/Data%20Sheets/Espressif%20PDFs/ESP32-S3-WROOM-1_1U_v0.5.1_Preliminary.pdf", + "3DModel": "WIFIM-SMD_ESP32-S3-WROOM-1-N8" + }, + "x": 3982.2445, + "y": 2974.9705, + "hasIdFlag": true, + "uuid": "c4a8c99709c548f1b51dd48043933daf", + "utime": 1659088375, + "importFlag": 0, + "transformList": "", + "uuid_3d": "2f6254bb69ea4b93884ba4042d7a5b5e" + }, + "canvas": "CA~1000~1000~#000000~yes~#FFFFFF~10~1000~1000~line~0.19685~mm~1~45~visible~0.5~3982.2445~2974.9705~0~none", + "shape": [ + "CIRCLE~3946.811~2910.225~0.118~0.2362~101~gge851~0~~", + "CIRCLE~3945.434~2939.753~0.787~1.5748~12~gge847~0~~", + "SOLIDREGION~100~~M 4014.331 2941.4886 L 4014.331 2937.9452 L 4017.6774 2937.9452 L 4017.6774 2941.4886 Z ~solid~gge628~~~~0", + "SOLIDREGION~100~~M 4014.331 2946.4886 L 4014.331 2942.9452 L 4017.6774 2942.9452 L 4017.6774 2946.4886 Z ~solid~gge631~~~~0", + "SOLIDREGION~100~~M 4014.331 2951.4886 L 4014.331 2947.9452 L 4017.6774 2947.9452 L 4017.6774 2951.4886 Z ~solid~gge634~~~~0", + "SOLIDREGION~100~~M 4014.331 2956.4886 L 4014.331 2952.9452 L 4017.6774 2952.9452 L 4017.6774 2956.4886 Z ~solid~gge637~~~~0", + "SOLIDREGION~100~~M 4014.331 2961.4886 L 4014.331 2957.9452 L 4017.6774 2957.9452 L 4017.6774 2961.4886 Z ~solid~gge640~~~~0", + "SOLIDREGION~100~~M 4014.331 2966.4886 L 4014.331 2962.9452 L 4017.6774 2962.9452 L 4017.6774 2966.4886 Z ~solid~gge643~~~~0", + "SOLIDREGION~100~~M 4014.331 2971.4886 L 4014.331 2967.9452 L 4017.6774 2967.9452 L 4017.6774 2971.4886 Z ~solid~gge646~~~~0", + "SOLIDREGION~100~~M 4014.331 2976.4886 L 4014.331 2972.9452 L 4017.6774 2972.9452 L 4017.6774 2976.4886 Z ~solid~gge649~~~~0", + "SOLIDREGION~100~~M 4014.331 2981.4886 L 4014.331 2977.9452 L 4017.6774 2977.9452 L 4017.6774 2981.4886 Z ~solid~gge652~~~~0", + "SOLIDREGION~100~~M 4014.331 2986.4886 L 4014.331 2982.9452 L 4017.6774 2982.9452 L 4017.6774 2986.4886 Z ~solid~gge655~~~~0", + "SOLIDREGION~100~~M 4014.331 2991.4886 L 4014.331 2987.9452 L 4017.6774 2987.9452 L 4017.6774 2991.4886 Z ~solid~gge658~~~~0", + "SOLIDREGION~100~~M 4014.331 2996.4886 L 4014.331 2992.9452 L 4017.6774 2992.9452 L 4017.6774 2996.4886 Z ~solid~gge661~~~~0", + "SOLIDREGION~100~~M 4014.331 3001.4886 L 4014.331 2997.9452 L 4017.6774 2997.9452 L 4017.6774 3001.4886 Z ~solid~gge664~~~~0", + "SOLIDREGION~100~~M 4014.331 3006.4886 L 4014.331 3002.9452 L 4017.6774 3002.9452 L 4017.6774 3006.4886 Z ~solid~gge667~~~~0", + "SOLIDREGION~100~~M 4007.973 3010.6191 L 4007.973 3007.2727 L 4011.5164 3007.2727 L 4011.5164 3010.6191 Z ~solid~gge670~~~~0", + "SOLIDREGION~100~~M 4002.973 3010.6191 L 4002.973 3007.2727 L 4006.5164 3007.2727 L 4006.5164 3010.6191 Z ~solid~gge673~~~~0", + "SOLIDREGION~100~~M 3997.973 3010.6191 L 3997.973 3007.2727 L 4001.5164 3007.2727 L 4001.5164 3010.6191 Z ~solid~gge676~~~~0", + "SOLIDREGION~100~~M 3992.973 3010.6191 L 3992.973 3007.2727 L 3996.5164 3007.2727 L 3996.5164 3010.6191 Z ~solid~gge679~~~~0", + "SOLIDREGION~100~~M 3987.973 3010.6191 L 3987.973 3007.2727 L 3991.5164 3007.2727 L 3991.5164 3010.6191 Z ~solid~gge682~~~~0", + "SOLIDREGION~100~~M 3982.973 3010.6191 L 3982.973 3007.2727 L 3986.5164 3007.2727 L 3986.5164 3010.6191 Z ~solid~gge685~~~~0", + "SOLIDREGION~100~~M 3977.973 3010.6191 L 3977.973 3007.2727 L 3981.5164 3007.2727 L 3981.5164 3010.6191 Z ~solid~gge688~~~~0", + "SOLIDREGION~100~~M 3972.973 3010.6191 L 3972.973 3007.2727 L 3976.5164 3007.2727 L 3976.5164 3010.6191 Z ~solid~gge691~~~~0", + "SOLIDREGION~100~~M 3967.973 3010.6191 L 3967.973 3007.2727 L 3971.5164 3007.2727 L 3971.5164 3010.6191 Z ~solid~gge694~~~~0", + "SOLIDREGION~100~~M 3962.973 3010.6191 L 3962.973 3007.2727 L 3966.5164 3007.2727 L 3966.5164 3010.6191 Z ~solid~gge697~~~~0", + "SOLIDREGION~100~~M 3957.973 3010.6191 L 3957.973 3007.2727 L 3961.5164 3007.2727 L 3961.5164 3010.6191 Z ~solid~gge700~~~~0", + "SOLIDREGION~100~~M 3952.973 3010.6191 L 3952.973 3007.2727 L 3956.5164 3007.2727 L 3956.5164 3010.6191 Z ~solid~gge703~~~~0", + "SOLIDREGION~100~~M 3946.8114 3006.4876 L 3946.8114 3002.9442 L 3950.1578 3002.9442 L 3950.1578 3006.4876 Z ~solid~gge706~~~~0", + "SOLIDREGION~100~~M 3946.8114 3001.4876 L 3946.8114 2997.9442 L 3950.1578 2997.9442 L 3950.1578 3001.4876 Z ~solid~gge709~~~~0", + "SOLIDREGION~100~~M 3946.8114 2996.4876 L 3946.8114 2992.9442 L 3950.1578 2992.9442 L 3950.1578 2996.4876 Z ~solid~gge712~~~~0", + "SOLIDREGION~100~~M 3946.8114 2991.4876 L 3946.8114 2987.9442 L 3950.1578 2987.9442 L 3950.1578 2991.4876 Z ~solid~gge715~~~~0", + "SOLIDREGION~100~~M 3946.8114 2986.4876 L 3946.8114 2982.9442 L 3950.1578 2982.9442 L 3950.1578 2986.4876 Z ~solid~gge718~~~~0", + "SOLIDREGION~100~~M 3946.8114 2981.4876 L 3946.8114 2977.9442 L 3950.1578 2977.9442 L 3950.1578 2981.4876 Z ~solid~gge721~~~~0", + "SOLIDREGION~100~~M 3946.8114 2976.4876 L 3946.8114 2972.9442 L 3950.1578 2972.9442 L 3950.1578 2976.4876 Z ~solid~gge724~~~~0", + "SOLIDREGION~100~~M 3946.8114 2971.4876 L 3946.8114 2967.9442 L 3950.1578 2967.9442 L 3950.1578 2971.4876 Z ~solid~gge727~~~~0", + "SOLIDREGION~100~~M 3946.8114 2966.4876 L 3946.8114 2962.9442 L 3950.1578 2962.9442 L 3950.1578 2966.4876 Z ~solid~gge730~~~~0", + "SOLIDREGION~100~~M 3946.8114 2961.4876 L 3946.8114 2957.9442 L 3950.1578 2957.9442 L 3950.1578 2961.4876 Z ~solid~gge733~~~~0", + "SOLIDREGION~100~~M 3946.8114 2956.4876 L 3946.8114 2952.9442 L 3950.1578 2952.9442 L 3950.1578 2956.4876 Z ~solid~gge736~~~~0", + "SOLIDREGION~100~~M 3946.8114 2951.4876 L 3946.8114 2947.9442 L 3950.1578 2947.9442 L 3950.1578 2951.4876 Z ~solid~gge739~~~~0", + "SOLIDREGION~100~~M 3946.8114 2946.4876 L 3946.8114 2942.9442 L 3950.1578 2942.9442 L 3950.1578 2946.4876 Z ~solid~gge742~~~~0", + "SOLIDREGION~100~~M 3946.8114 2941.4876 L 3946.8114 2937.9442 L 3950.1578 2937.9442 L 3950.1578 2941.4876 Z ~solid~gge745~~~~0", + "SOLIDREGION~100~~M 3980.0811 2977.3916 L 3980.0811 2973.8482 L 3983.6247 2973.8482 L 3983.6247 2977.3916 Z~solid~gge1790~~~~0", + "SOLIDREGION~100~~M 3974.5694 2977.392 L 3974.5694 2973.8486 L 3978.1128 2973.8486 L 3978.1128 2977.392 Z~solid~gge1793~~~~0", + "SOLIDREGION~100~~M 3969.0577 2977.3916 L 3969.0577 2973.8482 L 3972.6011 2973.8482 L 3972.6011 2977.3916 Z~solid~gge1796~~~~0", + "SOLIDREGION~100~~M 3969.0577 2966.368 L 3969.0577 2962.8246 L 3972.6011 2962.8246 L 3972.6011 2966.368 Z~solid~gge1799~~~~0", + "SOLIDREGION~100~~M 3974.5694 2966.368 L 3974.5694 2962.8246 L 3978.1128 2962.8246 L 3978.1128 2966.368 Z~solid~gge1802~~~~0", + "SOLIDREGION~100~~M 3980.0811 2966.368 L 3980.0811 2962.8246 L 3983.6247 2962.8246 L 3983.6247 2966.368 Z~solid~gge1805~~~~0", + "SOLIDREGION~100~~M 3980.0811 2971.8799 L 3980.0811 2968.3363 L 3983.6247 2968.3363 L 3983.6247 2971.8799 Z~solid~gge1808~~~~0", + "SOLIDREGION~100~~M 3969.0577 2971.8799 L 3969.0577 2968.3363 L 3972.601 2968.3363 L 3972.601 2971.8799 Z~solid~gge1811~~~~0", + "SOLIDREGION~100~~M 3974.5694 2971.8799 L 3974.5694 2968.3363 L 3978.1128 2968.3363 L 3978.1128 2971.8799 Z~solid~gge1814~~~~0", + "TRACK~1~3~~3946.8115 2930.6201 4017.6775 2930.6201~gge844~0", + "TRACK~1~3~~3946.8115 2937.0345 3946.8115 2931.4853~gge838~0", + "TRACK~1~3~~3952.0628 3010.619 3946.8115 3010.619 3946.8115 3007.3978~gge835~0", + "TRACK~1~3~~4017.6775 3007.3978 4017.6775 3010.619 4012.4262 3010.619~gge832~0", + "TRACK~1~3~~3946.8115 2931.6821 3946.8115 2910.2255 4017.6775 2910.2255 4017.6775 2937.0345~gge829~0", + "PAD~RECT~3947.206~2939.716~5.9055~3.5433~1~~1~0~3944.2529 2937.9445 3950.1584 2937.9445 3950.1584 2941.4878 3944.2529 2941.4878~0~gge499~0~~Y~0~0~0.1969~3947.2056,2939.7161", + "PAD~RECT~3947.206~2944.716~5.9055~3.5433~1~~2~0~3944.2529 2942.9445 3950.1584 2942.9445 3950.1584 2946.4878 3944.2529 2946.4878~0~gge502~0~~Y~0~0~0.1969~3947.2056,2944.7161", + "PAD~RECT~3947.206~2949.716~5.9055~3.5433~1~~3~0~3944.2529 2947.9445 3950.1584 2947.9445 3950.1584 2951.4878 3944.2529 2951.4878~0~gge505~0~~Y~0~0~0.1969~3947.2056,2949.7161", + "PAD~RECT~3947.206~2954.716~5.9055~3.5433~1~~4~0~3944.2529 2952.9445 3950.1584 2952.9445 3950.1584 2956.4878 3944.2529 2956.4878~0~gge508~0~~Y~0~0~0.1969~3947.2056,2954.7161", + "PAD~RECT~3947.206~2959.716~5.9055~3.5433~1~~5~0~3944.2529 2957.9445 3950.1584 2957.9445 3950.1584 2961.4878 3944.2529 2961.4878~0~gge511~0~~Y~0~0~0.1969~3947.2056,2959.7161", + "PAD~RECT~3947.206~2964.716~5.9055~3.5433~1~~6~0~3944.2529 2962.9445 3950.1584 2962.9445 3950.1584 2966.4878 3944.2529 2966.4878~0~gge514~0~~Y~0~0~0.1969~3947.2056,2964.7161", + "PAD~RECT~3947.206~2969.716~5.9055~3.5433~1~~7~0~3944.2529 2967.9445 3950.1584 2967.9445 3950.1584 2971.4878 3944.2529 2971.4878~0~gge517~0~~Y~0~0~0.1969~3947.2056,2969.7161", + "PAD~RECT~3947.206~2974.716~5.9055~3.5433~1~~8~0~3944.2529 2972.9445 3950.1584 2972.9445 3950.1584 2976.4878 3944.2529 2976.4878~0~gge520~0~~Y~0~0~0.1969~3947.2056,2974.7161", + "PAD~RECT~3947.206~2979.716~5.9055~3.5433~1~~9~0~3944.2529 2977.9445 3950.1584 2977.9445 3950.1584 2981.4878 3944.2529 2981.4878~0~gge523~0~~Y~0~0~0.1969~3947.2056,2979.7161", + "PAD~RECT~3947.206~2984.716~5.9055~3.5433~1~~10~0~3944.2529 2982.9445 3950.1584 2982.9445 3950.1584 2986.4878 3944.2529 2986.4878~0~gge526~0~~Y~0~0~0.1969~3947.2056,2984.7161", + "PAD~RECT~3947.206~2989.716~5.9055~3.5433~1~~11~0~3944.2529 2987.9445 3950.1584 2987.9445 3950.1584 2991.4878 3944.2529 2991.4878~0~gge529~0~~Y~0~0~0.1969~3947.2056,2989.7161", + "PAD~RECT~3947.206~2994.716~5.9055~3.5433~1~~12~0~3944.2529 2992.9445 3950.1584 2992.9445 3950.1584 2996.4878 3944.2529 2996.4878~0~gge532~0~~Y~0~0~0.1969~3947.2056,2994.7161", + "PAD~RECT~3947.206~2999.716~5.9055~3.5433~1~~13~0~3944.2529 2997.9445 3950.1584 2997.9445 3950.1584 3001.4878 3944.2529 3001.4878~0~gge535~0~~Y~0~0~0.1969~3947.2056,2999.7161", + "PAD~RECT~3947.206~3004.716~5.9055~3.5433~1~~14~0~3944.2529 3002.9445 3950.1584 3002.9445 3950.1584 3006.4878 3944.2529 3006.4878~0~gge538~0~~Y~0~0~0.1969~3947.2056,3004.7161", + "PAD~RECT~3954.745~3010.225~3.5433~5.9055~1~~15~0~3952.9728 3007.2727 3956.5162 3007.2727 3956.5162 3013.1782 3952.9728 3013.1782~0~gge541~0~~Y~0~0~0.1969~3954.7445,3010.2254", + "PAD~RECT~3959.745~3010.225~3.5433~5.9055~1~~16~0~3957.9728 3007.2727 3961.5162 3007.2727 3961.5162 3013.1782 3957.9728 3013.1782~0~gge544~0~~Y~0~0~0.1969~3959.7445,3010.2254", + "PAD~RECT~3964.745~3010.225~3.5433~5.9055~1~~17~0~3962.9728 3007.2727 3966.5162 3007.2727 3966.5162 3013.1782 3962.9728 3013.1782~0~gge547~0~~Y~0~0~0.1969~3964.7445,3010.2254", + "PAD~RECT~3969.745~3010.225~3.5433~5.9055~1~~18~0~3967.9728 3007.2727 3971.5162 3007.2727 3971.5162 3013.1782 3967.9728 3013.1782~0~gge550~0~~Y~0~0~0.1969~3969.7445,3010.2254", + "PAD~RECT~3974.745~3010.225~3.5433~5.9055~1~~19~0~3972.9728 3007.2727 3976.5162 3007.2727 3976.5162 3013.1782 3972.9728 3013.1782~0~gge553~0~~Y~0~0~0.1969~3974.7445,3010.2254", + "PAD~RECT~3979.745~3010.225~3.5433~5.9055~1~~20~0~3977.9728 3007.2727 3981.5162 3007.2727 3981.5162 3013.1782 3977.9728 3013.1782~0~gge556~0~~Y~0~0~0.1969~3979.7445,3010.2254", + "PAD~RECT~3984.745~3010.225~3.5433~5.9055~1~~21~0~3982.9728 3007.2727 3986.5162 3007.2727 3986.5162 3013.1782 3982.9728 3013.1782~0~gge559~0~~Y~0~0~0.1969~3984.7445,3010.2254", + "PAD~RECT~3989.745~3010.225~3.5433~5.9055~1~~22~0~3987.9728 3007.2727 3991.5162 3007.2727 3991.5162 3013.1782 3987.9728 3013.1782~0~gge562~0~~Y~0~0~0.1969~3989.7445,3010.2254", + "PAD~RECT~3994.745~3010.225~3.5433~5.9055~1~~23~0~3992.9728 3007.2727 3996.5162 3007.2727 3996.5162 3013.1782 3992.9728 3013.1782~0~gge565~0~~Y~0~0~0.1969~3994.7445,3010.2254", + "PAD~RECT~3999.745~3010.225~3.5433~5.9055~1~~24~0~3997.9728 3007.2727 4001.5162 3007.2727 4001.5162 3013.1782 3997.9728 3013.1782~0~gge568~0~~Y~0~0~0.1969~3999.7445,3010.2254", + "PAD~RECT~4004.745~3010.225~3.5433~5.9055~1~~25~0~4002.9728 3007.2727 4006.5162 3007.2727 4006.5162 3013.1782 4002.9728 3013.1782~0~gge571~0~~Y~0~0~0.1969~4004.7445,3010.2254", + "PAD~RECT~4009.745~3010.225~3.5433~5.9055~1~~26~0~4007.9728 3007.2727 4011.5162 3007.2727 4011.5162 3013.1782 4007.9728 3013.1782~0~gge574~0~~Y~0~0~0.1969~4009.7445,3010.2254", + "PAD~RECT~4017.283~3004.716~5.9055~3.5433~1~~27~0~4014.3307 3002.9445 4020.2362 3002.9445 4020.2362 3006.4878 4014.3307 3006.4878~0~gge577~0~~Y~0~0~0.1969~4017.2835,3004.7161", + "PAD~RECT~4017.283~2999.716~5.9055~3.5433~1~~28~0~4014.3307 2997.9445 4020.2362 2997.9445 4020.2362 3001.4878 4014.3307 3001.4878~0~gge580~0~~Y~0~0~0.1969~4017.2835,2999.7161", + "PAD~RECT~4017.283~2994.716~5.9055~3.5433~1~~29~0~4014.3307 2992.9445 4020.2362 2992.9445 4020.2362 2996.4878 4014.3307 2996.4878~0~gge583~0~~Y~0~0~0.1969~4017.2835,2994.7161", + "PAD~RECT~4017.283~2989.716~5.9055~3.5433~1~~30~0~4014.3307 2987.9445 4020.2362 2987.9445 4020.2362 2991.4878 4014.3307 2991.4878~0~gge586~0~~Y~0~0~0.1969~4017.2835,2989.7161", + "PAD~RECT~4017.283~2984.716~5.9055~3.5433~1~~31~0~4014.3307 2982.9445 4020.2362 2982.9445 4020.2362 2986.4878 4014.3307 2986.4878~0~gge589~0~~Y~0~0~0.1969~4017.2835,2984.7161", + "PAD~RECT~4017.283~2979.716~5.9055~3.5433~1~~32~0~4014.3307 2977.9445 4020.2362 2977.9445 4020.2362 2981.4878 4014.3307 2981.4878~0~gge592~0~~Y~0~0~0.1969~4017.2835,2979.7161", + "PAD~RECT~4017.283~2974.716~5.9055~3.5433~1~~33~0~4014.3307 2972.9445 4020.2362 2972.9445 4020.2362 2976.4878 4014.3307 2976.4878~0~gge595~0~~Y~0~0~0.1969~4017.2835,2974.7161", + "PAD~RECT~4017.283~2969.716~5.9055~3.5433~1~~34~0~4014.3307 2967.9445 4020.2362 2967.9445 4020.2362 2971.4878 4014.3307 2971.4878~0~gge598~0~~Y~0~0~0.1969~4017.2835,2969.7161", + "PAD~RECT~4017.283~2964.716~5.9055~3.5433~1~~35~0~4014.3307 2962.9445 4020.2362 2962.9445 4020.2362 2966.4878 4014.3307 2966.4878~0~gge601~0~~Y~0~0~0.1969~4017.2835,2964.7161", + "PAD~RECT~4017.283~2959.716~5.9055~3.5433~1~~36~0~4014.3307 2957.9445 4020.2362 2957.9445 4020.2362 2961.4878 4014.3307 2961.4878~0~gge604~0~~Y~0~0~0.1969~4017.2835,2959.7161", + "PAD~RECT~4017.283~2954.716~5.9055~3.5433~1~~37~0~4014.3307 2952.9445 4020.2362 2952.9445 4020.2362 2956.4878 4014.3307 2956.4878~0~gge607~0~~Y~0~0~0.1969~4017.2835,2954.7161", + "PAD~RECT~4017.283~2949.716~5.9055~3.5433~1~~38~0~4014.3307 2947.9445 4020.2362 2947.9445 4020.2362 2951.4878 4014.3307 2951.4878~0~gge610~0~~Y~0~0~0.1969~4017.2835,2949.7161", + "PAD~RECT~4017.283~2944.716~5.9055~3.5433~1~~39~0~4014.3307 2942.9445 4020.2362 2942.9445 4020.2362 2946.4878 4014.3307 2946.4878~0~gge613~0~~Y~0~0~0.1969~4017.2835,2944.7161", + "PAD~RECT~4017.283~2939.716~5.9055~3.5433~1~~40~0~4014.3307 2937.9445 4020.2362 2937.9445 4020.2362 2941.4878 4014.3307 2941.4878~0~gge616~0~~Y~0~0~0.1969~4017.2835,2939.7161", + "PAD~RECT~3976.341~2970.108~3.5433~3.5433~1~~41~0~3974.5694 2971.8799 3974.5694 2968.3363 3978.1128 2968.3363 3978.1128 2971.8799~90~gge1763~0~~Y~0~0~0.2~3976.3395,2970.1081", + "PAD~RECT~3970.829~2970.108~3.5433~3.5433~1~~41~0~3969.0577 2971.8799 3969.0577 2968.3363 3972.601 2968.3363 3972.601 2971.8799~90~gge1766~0~~Y~0~0~0.2~3970.8283,2970.1081", + "PAD~RECT~3981.853~2970.108~3.5433~3.5433~1~~41~0~3980.0811 2971.8799 3980.0811 2968.3363 3983.6247 2968.3363 3983.6247 2971.8799~90~gge1769~0~~Y~0~0~0.2~3981.8517,2970.1081", + "PAD~RECT~3981.853~2964.596~3.5433~3.5433~1~~41~0~3980.0811 2966.368 3980.0811 2962.8246 3983.6247 2962.8246 3983.6247 2966.368~90~gge1772~0~~Y~0~0~0.2~3981.8517,2964.5959", + "PAD~RECT~3976.341~2964.596~3.5433~3.5433~1~~41~0~3974.5694 2966.368 3974.5694 2962.8246 3978.1128 2962.8246 3978.1128 2966.368~90~gge1775~0~~Y~0~0~0.2~3976.3395,2964.5959", + "PAD~RECT~3970.829~2964.596~3.5433~3.5433~1~~41~0~3969.0577 2966.368 3969.0577 2962.8246 3972.6011 2962.8246 3972.6011 2966.368~90~gge1778~0~~Y~0~0~0.2~3970.8283,2964.5959", + "PAD~RECT~3970.829~2975.62~3.5433~3.5433~1~~41~0~3969.0577 2977.3916 3969.0577 2973.8482 3972.6011 2973.8482 3972.6011 2977.3916~90~gge1781~0~~Y~0~0~0.2~3970.8283,2975.6193", + "PAD~RECT~3976.341~2975.62~3.5433~3.5433~1~~41~0~3974.5694 2977.392 3974.5694 2973.8486 3978.1128 2973.8486 3978.1128 2977.392~90~gge1784~0~~Y~0~0~0.2~3976.3395,2975.6197", + "PAD~RECT~3981.853~2975.62~3.5433~3.5433~1~~41~0~3980.0811 2977.3916 3980.0811 2973.8482 3983.6247 2973.8482 3983.6247 2977.3916~90~gge1787~0~~Y~0~0~0.2~3981.8517,2975.6193", + "SOLIDREGION~99~~M 3946.8115 3010.6191 L 3946.8115 2910.2254 L 4017.6776 2910.2254 L 4017.6776 3010.6191 Z ~solid~gge625~~~~0", + "VIA~3976.34~2967.352~1.5748~~0.4921~gge1727~0", + "VIA~3976.34~2972.864~1.5748~~0.4921~gge1730~0", + "VIA~3981.852~2972.864~1.5748~~0.4921~gge1733~0", + "VIA~3981.852~2967.352~1.5748~~0.4921~gge1736~0", + "VIA~3979.096~2964.596~1.5748~~0.4921~gge1739~0", + "VIA~3979.096~2970.108~1.5748~~0.4921~gge1742~0", + "VIA~3979.096~2975.62~1.5748~~0.4921~gge1745~0", + "VIA~3970.828~2972.864~1.5748~~0.4921~gge1748~0", + "VIA~3970.828~2967.352~1.5748~~0.4921~gge1751~0", + "VIA~3973.584~2964.596~1.5748~~0.4921~gge1754~0", + "VIA~3973.584~2970.108~1.5748~~0.4921~gge1757~0", + "VIA~3973.584~2975.62~1.5748~~0.4921~gge1760~0", + "SVGNODE~{\"gId\":\"g1_outline\",\"nodeName\":\"g\",\"nodeType\":1,\"layerid\":\"19\",\"attrs\":{\"c_width\":\"70.866\",\"c_height\":\"100.3935\",\"c_rotation\":\"0,0,0\",\"z\":\"0\",\"c_origin\":\"3982.2445,2960.4036\",\"uuid\":\"2f67d4cc1ff84f7d9c05d11f6667143a\",\"c_etype\":\"outline3D\",\"id\":\"g1_outline\",\"title\":\"WIFIM-SMD_ESP32-S3-WROOM-1-N8\",\"layerid\":\"19\",\"transform\":\"scale(1) translate(0, 0)\"},\"childNodes\":[{\"gId\":\"g1_outline_line0\",\"nodeName\":\"polyline\",\"nodeType\":1,\"attrs\":{\"fill\":\"none\",\"id\":\"g1_outline_line0\",\"c_shapetype\":\"line\",\"points\":\"3946.8115 2910.2069 3946.8115 2936.506 3946.8115 2937.9233 3946.8115 2938.317 3947.1658 2938.3564 3947.4807 2938.5139 3947.7957 2938.7107 3947.9926 2938.9863 3948.15 2939.3407 3948.1894 2939.695 3948.15 2940.0493 3947.9926 2940.3643 3947.7957 2940.6792 3947.4807 2940.8761 3947.1658 2941.0336 3946.8115 2941.0729 3946.8115 2941.4666 3946.8115 2942.9233 3946.8115 2943.317 3947.1658 2943.3564 3947.4807 2943.5139 3947.7957 2943.7107 3947.9926 2943.9863 3948.15 2944.3406 3948.1894 2944.695 3948.15 2945.0493 3947.9926 2945.3643 3947.7957 2945.6792 3947.4807 2945.8761 3947.1658 2946.0336 3946.8115 2946.0729 3946.8115 2946.4666 3946.8115 2947.9233 3946.8115 2948.317 3947.1658 2948.3564 3947.4807 2948.5139 3947.7957 2948.7107 3947.9926 2948.9863 3948.15 2949.3406 3948.1894 2949.695 3948.15 2950.0493 3947.9926 2950.3643 3947.7957 2950.6792 3947.4807 2950.8761 3947.1658 2951.0335 3946.8115 2951.0729 3946.8115 2951.4666 3946.8115 2952.9233 3946.8115 2953.317 3947.1658 2953.3564 3947.4807 2953.5139 3947.7957 2953.7107 3947.9926 2953.9863 3948.15 2954.3406 3948.1894 2954.695 3948.15 2955.0493 3947.9926 2955.4036 3947.7957 2955.6792 3947.4807 2955.8761 3947.1658 2956.0335 3946.8115 2956.0729 3946.8115 2956.4666 3946.8115 2957.9233 3946.8115 2958.317 3947.1658 2958.3564 3947.4807 2958.5138 3947.7957 2958.7107 3947.9926 2958.9863 3948.15 2959.3406 3948.1894 2959.6949 3948.15 2960.0493 3947.9926 2960.3642 3947.7957 2960.6792 3947.4807 2960.876 3947.1658 2961.0335 3946.8115 2961.0729 3946.8115 2961.4666 3946.8115 2962.9233 3946.8115 2963.317 3947.1658 2963.3564 3947.4807 2963.5138 3947.7957 2963.7107 3947.9926 2963.9863 3948.15 2964.3406 3948.1894 2964.6949 3948.15 2965.0493 3947.9926 2965.3642 3947.7957 2965.6792 3947.4807 2965.876 3947.1658 2966.0335 3946.8115 2966.0729 3946.8115 2966.4666 3946.8115 2967.3327 3946.8115 2967.9233 3946.8115 2968.317 3947.1658 2968.3563 3947.4807 2968.5138 3947.7957 2968.7107 3947.9926 2968.9863 3948.15 2969.3406 3948.1894 2969.6949 3948.15 2970.0493 3947.9926 2970.3642 3947.7957 2970.6792 3947.4807 2970.876 3947.1658 2971.0335 3946.8115 2971.0729 3946.8115 2971.4666 3946.8115 2972.8445 3946.8115 2972.9233 3946.8115 2973.317 3947.1658 2973.3563 3947.4807 2973.5138 3947.7957 2973.7107 3947.9926 2973.9863 3948.15 2974.3406 3948.1894 2974.6949 3948.15 2975.0492 3947.9926 2975.3642 3947.7957 2975.6792 3947.4807 2975.876 3947.1658 2976.0335 3946.8115 2976.0729 3946.8115 2976.4666 3946.8115 2977.9233 3946.8115 2978.317 3947.1658 2978.3563 3947.4807 2978.5138 3947.7957 2978.7107 3947.9926 2978.9862 3948.15 2979.3406 3948.1894 2979.6949 3948.15 2980.0492 3947.9926 2980.3642 3947.7957 2980.6792 3947.4807 2980.876 3947.1658 2981.0335 3946.8115 2981.0729 3946.8115 2981.4666 3946.8115 2982.9232 3946.8115 2983.3169 3947.1658 2983.3563 3947.4807 2983.5138 3947.7957 2983.7106 3947.9926 2983.9862 3948.15 2984.3406 3948.1894 2984.6949 3948.15 2985.0492 3947.9926 2985.3642 3947.7957 2985.6791 3947.4807 2985.876 3947.1658 2986.0335 3946.8115 2986.0728 3946.8115 2986.4665 3946.8115 2987.9232 3946.8115 2988.3169 3947.1658 2988.3563 3947.4807 2988.5138 3947.7957 2988.7106 3947.9926 2988.9862 3948.15 2989.3406 3948.1894 2989.6949 3948.15 2990.0492 3947.9926 2990.3642 3947.7957 2990.6791 3947.4807 2990.876 3947.1658 2991.0335 3946.8115 2991.0728 3946.8115 2991.4665 3946.8115 2992.9232 3946.8115 2993.3169 3947.1658 2993.3563 3947.4807 2993.5138 3947.7957 2993.7106 3947.9926 2993.9862 3948.15 2994.3405 3948.1894 2994.6949 3948.15 2995.0492 3947.9926 2995.3642 3947.7957 2995.6791 3947.4807 2995.876 3947.1658 2996.0335 3946.8115 2996.0728 3946.8115 2996.4665 3946.8115 2997.9232 3946.8115 2998.3169 3947.1658 2998.3563 3947.4807 2998.5138 3947.7957 2998.7106 3947.9926 2998.9862 3948.15 2999.3405 3948.1894 2999.6949 3948.15 3000.0492 3947.9926 3000.3642 3947.7957 3000.6791 3947.4807 3000.876 3947.1658 3001.0334 3946.8115 3001.0728 3946.8115 3001.4665 3946.8115 3002.9232 3946.8115 3003.3169 3947.1658 3003.3563 3947.4807 3003.5138 3947.7957 3003.7106 3947.9926 3003.9862 3948.15 3004.3405 3948.1894 3004.6949 3948.15 3005.0492 3947.9926 3005.3641 3947.7957 3005.6791 3947.4807 3005.876 3947.1658 3006.0334 3946.8115 3006.0728 3946.8115 3006.4665 3946.8115 3010.6004 3952.9925 3010.6004 3953.3862 3010.6004 3953.4256 3010.246 3953.5437 3009.8917 3953.7799 3009.6161 3954.0555 3009.4193 3954.3705 3009.2618 3954.7642 3009.2224 3955.1185 3009.2618 3955.4335 3009.4193 3955.7091 3009.6161 3955.9453 3009.8917 3956.0634 3010.246 3956.1421 3010.6004 3956.5358 3010.6004 3957.9925 3010.6004 3958.3862 3010.6004 3958.4256 3010.246 3958.5437 3009.8917 3958.7799 3009.6161 3959.0555 3009.4193 3959.3705 3009.2618 3959.7642 3009.2224 3960.1185 3009.2618 3960.4335 3009.4193 3960.7091 3009.6161 3960.9453 3009.8917 3961.0634 3010.246 3961.1421 3010.6004 3961.5358 3010.6004 3962.9925 3010.6004 3963.3862 3010.6004 3963.4256 3010.246 3963.5437 3009.8917 3963.7799 3009.6161 3964.0555 3009.4193 3964.3705 3009.2618 3964.7642 3009.2224 3965.1185 3009.2618 3965.4335 3009.4193 3965.7091 3009.6161 3965.9453 3009.8917 3966.0634 3010.246 3966.1421 3010.6004 3966.5358 3010.6004 3967.9925 3010.6004 3968.3862 3010.6004 3968.4256 3010.246 3968.5437 3009.8917 3968.7799 3009.6161 3969.0555 3009.4193 3969.3705 3009.2618 3969.7642 3009.2224 3970.1185 3009.2618 3970.4335 3009.4193 3970.709 3009.6161 3970.9453 3009.8917 3971.0634 3010.246 3971.1421 3010.6004 3971.5358 3010.6004 3972.9925 3010.6004 3973.3862 3010.6004 3973.4256 3010.246 3973.5437 3009.8917 3973.7799 3009.6161 3974.0555 3009.4193 3974.3705 3009.2618 3974.7642 3009.2224 3975.1185 3009.2618 3975.4334 3009.4193 3975.709 3009.6161 3975.9453 3009.8917 3976.0634 3010.246 3976.1421 3010.6004 3976.5358 3010.6004 3977.9925 3010.6004 3978.3862 3010.6004 3978.4256 3010.246 3978.5437 3009.8917 3978.7799 3009.6161 3979.0555 3009.4193 3979.3704 3009.2618 3979.7641 3009.2224 3980.1185 3009.2618 3980.4334 3009.4193 3980.709 3009.6161 3980.9452 3009.8917 3981.0634 3010.246 3981.1421 3010.6004 3981.5358 3010.6004 3982.9925 3010.6004 3983.3468 3010.6004 3983.4256 3010.246 3983.5437 3009.8917 3983.7799 3009.6161 3984.0555 3009.4193 3984.3704 3009.2618 3984.7641 3009.2224 3985.1185 3009.2618 3985.4334 3009.4193 3985.709 3009.6161 3985.9452 3009.8917 3986.0633 3010.246 3986.1421 3010.6004 3986.5358 3010.6004 3987.9925 3010.6004 3988.3862 3010.6004 3988.4255 3010.246 3988.5437 3009.8917 3988.7799 3009.6161 3989.0555 3009.4193 3989.3704 3009.2618 3989.7641 3009.2224 3990.1185 3009.2618 3990.4334 3009.4193 3990.709 3009.6161 3990.9452 3009.8917 3991.0633 3010.246 3991.1421 3010.6004 3991.5358 3010.6004 3992.9925 3010.6004 3993.3862 3010.6004 3993.4255 3010.246 3993.5436 3009.8917 3993.7799 3009.6161 3994.0555 3009.4193 3994.3704 3009.2618 3994.7641 3009.2224 3995.1184 3009.2618 3995.4334 3009.4193 3995.709 3009.6161 3995.9452 3009.8917 3996.0633 3010.246 3996.1421 3010.6004 3996.5358 3010.6004 3997.9925 3010.6004 3998.3862 3010.6004 3998.4255 3010.246 3998.5436 3009.8917 3998.7799 3009.6161 3999.0554 3009.4193 3999.3704 3009.2618 3999.7641 3009.2224 4000.1184 3009.2618 4000.4334 3009.4193 4000.709 3009.6161 4000.9452 3009.8917 4001.0633 3010.246 4001.1421 3010.6004 4001.4964 3010.6004 4002.9924 3010.6004 4003.3861 3010.6004 4003.4255 3010.246 4003.5436 3009.8917 4003.7798 3009.6161 4004.0554 3009.4193 4004.3704 3009.2618 4004.7641 3009.2224 4005.1184 3009.2618 4005.4334 3009.4193 4005.709 3009.6161 4005.9452 3009.8917 4006.0633 3010.246 4006.142 3010.6004 4006.5357 3010.6004 4007.9924 3010.6004 4008.3861 3010.6004 4008.4255 3010.246 4008.5436 3009.8917 4008.7798 3009.6161 4009.0554 3009.4193 4009.3704 3009.2618 4009.7641 3009.2224 4010.1184 3009.2618 4010.4334 3009.4193 4010.709 3009.6161 4010.9452 3009.8917 4011.0633 3010.246 4011.142 3010.6004 4011.5357 3010.6004 4017.6775 3010.6004 4017.6775 3006.4665 4017.6775 3006.0728 4017.3231 3006.0334 4017.0082 3005.876 4016.6932 3005.6791 4016.4964 3005.3641 4016.3389 3005.0492 4016.2995 3004.6949 4016.3389 3004.3405 4016.4964 3003.9862 4016.6932 3003.7106 4017.0082 3003.5138 4017.3231 3003.3563 4017.6775 3003.3169 4017.6775 3002.9232 4017.6775 3001.4665 4017.6775 3001.0728 4017.3231 3001.0334 4017.0082 3000.876 4016.6932 3000.6791 4016.4964 3000.3642 4016.3389 3000.0492 4016.2995 2999.6949 4016.3389 2999.3405 4016.4964 2998.9862 4016.6932 2998.7106 4017.0082 2998.5138 4017.3231 2998.3563 4017.6775 2998.3169 4017.6775 2997.9232 4017.6775 2996.4665 4017.6775 2996.0728 4017.3231 2996.0335 4017.0082 2995.876 4016.6932 2995.6791 4016.4964 2995.3642 4016.3389 2995.0492 4016.2995 2994.6949 4016.3389 2994.3405 4016.4964 2993.9862 4016.6932 2993.7106 4017.0082 2993.5138 4017.3231 2993.3563 4017.6775 2993.3169 4017.6775 2992.9232 4017.6775 2991.4665 4017.6775 2991.0728 4017.3231 2991.0335 4017.0082 2990.876 4016.6932 2990.6791 4016.4964 2990.3642 4016.3389 2990.0492 4016.2995 2989.6949 4016.3389 2989.3406 4016.4964 2988.9862 4016.6932 2988.7106 4017.0082 2988.5138 4017.3231 2988.3563 4017.6775 2988.3169 4017.6775 2987.9232 4017.6775 2986.4665 4017.6775 2986.0728 4017.3231 2986.0335 4017.0082 2985.876 4016.6932 2985.6791 4016.4964 2985.3642 4016.3389 2985.0492 4016.2995 2984.6949 4016.3389 2984.3406 4016.4964 2983.9862 4016.6932 2983.7106 4017.0082 2983.5138 4017.3231 2983.3563 4017.6775 2983.3169 4017.6775 2982.9232 4017.6775 2981.4666 4017.6775 2981.0729 4017.3231 2981.0335 4017.0082 2980.876 4016.6932 2980.6792 4016.4964 2980.3642 4016.3389 2980.0492 4016.2995 2979.6949 4016.3389 2979.3406 4016.4964 2978.9862 4016.6932 2978.7107 4017.0082 2978.5138 4017.3231 2978.3563 4017.6775 2978.317 4017.6775 2977.9233 4017.6775 2976.4666 4017.6775 2976.0729 4017.3231 2976.0335 4017.0082 2975.876 4016.6932 2975.6792 4016.4964 2975.3642 4016.3389 2975.0492 4016.2995 2974.6949 4016.3389 2974.3406 4016.4964 2973.9863 4016.6932 2973.7107 4017.0082 2973.5138 4017.3231 2973.3563 4017.6775 2973.317 4017.6775 2972.9233 4017.6775 2972.8445 4017.6775 2971.4666 4017.6775 2971.0729 4017.3231 2971.0335 4017.0082 2970.876 4016.6932 2970.6792 4016.4964 2970.3642 4016.3389 2970.0493 4016.2995 2969.6949 4016.3389 2969.3406 4016.4964 2968.9863 4016.6932 2968.7107 4017.0082 2968.5138 4017.3231 2968.3563 4017.6775 2968.317 4017.6775 2967.9233 4017.6775 2967.3327 4017.6775 2966.4666 4017.6775 2966.0729 4017.3231 2966.0335 4017.0082 2965.876 4016.6932 2965.6792 4016.4964 2965.3642 4016.3389 2965.0493 4016.2995 2964.6949 4016.3389 2964.3406 4016.4964 2963.9863 4016.6932 2963.7107 4017.0082 2963.5138 4017.3231 2963.3564 4017.6775 2963.317 4017.6775 2962.9233 4017.6775 2961.4666 4017.6775 2961.0729 4017.3231 2961.0335 4017.0082 2960.876 4016.6932 2960.6792 4016.4964 2960.3642 4016.3389 2960.0493 4016.2995 2959.6949 4016.3389 2959.3406 4016.4964 2958.9863 4016.6932 2958.7107 4017.0082 2958.5138 4017.3231 2958.3564 4017.6775 2958.317 4017.6775 2957.9233 4017.6775 2956.4666 4017.6775 2956.0729 4017.3231 2956.0335 4017.0082 2955.8761 4016.6932 2955.6792 4016.4964 2955.4036 4016.3389 2955.0493 4016.2995 2954.695 4016.3389 2954.3406 4016.4964 2953.9863 4016.6932 2953.7107 4017.0082 2953.5139 4017.3231 2953.3564 4017.6775 2953.317 4017.6775 2952.9233 4017.6775 2951.4666 4017.6775 2951.0729 4017.3231 2951.0335 4017.0082 2950.8761 4016.6932 2950.6792 4016.4964 2950.3643 4016.3389 2950.0493 4016.2995 2949.695 4016.3389 2949.3406 4016.4964 2948.9863 4016.6932 2948.7107 4017.0082 2948.5139 4017.3231 2948.3564 4017.6775 2948.317 4017.6775 2947.9233 4017.6775 2946.4666 4017.6775 2946.0729 4017.3231 2946.0336 4017.0082 2945.8761 4016.6932 2945.6792 4016.4964 2945.3643 4016.3389 2945.0493 4016.2995 2944.695 4016.3389 2944.3406 4016.4964 2943.9863 4016.6932 2943.7107 4017.0082 2943.5139 4017.3231 2943.3564 4017.6775 2943.317 4017.6775 2942.9233 4017.6775 2941.4666 4017.6775 2941.0729 4017.3231 2941.0336 4017.0082 2940.8761 4016.6932 2940.6792 4016.4964 2940.3643 4016.3389 2940.0493 4016.2995 2939.695 4016.3389 2939.3407 4016.4964 2938.9863 4016.6932 2938.7107 4017.0082 2938.5139 4017.3231 2938.3564 4017.6775 2938.317 4017.6775 2937.9233 4017.6775 2936.506 4017.6775 2910.2069 4000.6696 2910.2069 3979.0949 2910.2069 3973.5831 2910.2069 3946.8115 2910.2069 3946.8115 2910.2069\"}}]}" + ], + "layers": [ + "1~TopLayer~#FF0000~true~false~true~", + "2~BottomLayer~#0000FF~true~false~true~", + "3~TopSilkLayer~#FFCC00~true~false~true~", + "4~BottomSilkLayer~#66CC33~true~false~true~", + "5~TopPasteMaskLayer~#808080~true~false~true~", + "6~BottomPasteMaskLayer~#800000~true~false~true~", + "7~TopSolderMaskLayer~#800080~true~false~true~0.3", + "8~BottomSolderMaskLayer~#AA00FF~true~false~true~0.3", + "9~Ratlines~#6464FF~true~false~true~", + "10~BoardOutLine~#FF00FF~true~false~true~", + "11~Multi-Layer~#C0C0C0~false~false~true~", + "12~Document~#FFFFFF~true~false~true~", + "13~TopAssembly~#33CC99~true~false~true~", + "14~BottomAssembly~#5555FF~true~false~true~", + "15~Mechanical~#F022F0~true~false~true~", + "19~3DModel~#66CCFF~true~false~true~", + "21~Inner1~#999966~false~false~false~~", + "22~Inner2~#008000~false~false~false~~", + "23~Inner3~#00FF00~false~false~false~~", + "24~Inner4~#BC8E00~false~false~false~~", + "25~Inner5~#70DBFA~false~false~false~~", + "26~Inner6~#00CC66~false~false~false~~", + "27~Inner7~#9966FF~false~false~false~~", + "28~Inner8~#800080~false~false~false~~", + "29~Inner9~#008080~false~false~false~~", + "30~Inner10~#15935F~false~false~false~~", + "31~Inner11~#000080~false~false~false~~", + "32~Inner12~#00B400~false~false~false~~", + "33~Inner13~#2E4756~false~false~false~~", + "34~Inner14~#99842F~false~false~false~~", + "35~Inner15~#FFFFAA~false~false~false~~", + "36~Inner16~#99842F~false~false~false~~", + "37~Inner17~#2E4756~false~false~false~~", + "38~Inner18~#3535FF~false~false~false~~", + "39~Inner19~#8000BC~false~false~false~~", + "40~Inner20~#43AE5F~false~false~false~~", + "41~Inner21~#C3ECCE~false~false~false~~", + "42~Inner22~#728978~false~false~false~~", + "43~Inner23~#39503F~false~false~false~~", + "44~Inner24~#0C715D~false~false~false~~", + "45~Inner25~#5A8A80~false~false~false~~", + "46~Inner26~#2B937E~false~false~false~~", + "47~Inner27~#23999D~false~false~false~~", + "48~Inner28~#45B4E3~false~false~false~~", + "49~Inner29~#215DA1~false~false~false~~", + "50~Inner30~#4564D7~false~false~false~~", + "51~Inner31~#6969E9~false~false~false~~", + "52~Inner32~#9069E9~false~false~false~~", + "99~ComponentShapeLayer~#00CCCC~true~true~true~0.4", + "100~LeadShapeLayer~#CC9999~true~false~true~", + "101~ComponentMarkingLayer~#66FFCC~true~false~true~", + "Hole~Hole~#222222~false~false~true~", + "DRCError~DRCError~#FAD609~false~false~true~" + ], + "objects": [ + "All~true~false", + "Component~true~true", + "Prefix~true~true", + "Name~true~false", + "Track~true~true", + "Pad~true~true", + "Via~true~true", + "Hole~true~true", + "Copper_Area~true~true", + "Circle~true~true", + "Arc~true~true", + "Solid_Region~true~true", + "Text~true~true", + "Image~true~true", + "Rect~true~true", + "Dimension~true~true", + "Protractor~true~true" + ], + "BBox": { + "x": 3944.3, + "y": 2910.1, + "width": 76, + "height": 103.1 + } + } + }, + "_objMetadata": { + "bounds": { + "min": { + "x": -9, + "y": -12.75, + "z": -0.01 + }, + "max": { + "x": 9, + "y": 12.75, + "z": 3.11 + } + } + } +} \ No newline at end of file diff --git a/tests/assets/C46497.raweasy.json b/tests/assets/C46497.raweasy.json index 814590b4..86fee22b 100644 --- a/tests/assets/C46497.raweasy.json +++ b/tests/assets/C46497.raweasy.json @@ -15,7 +15,7 @@ "Audio Power OpAmps" ], "updateTime": 1713800489, - "updated_at": "2026-03-14 12:29:45", + "updated_at": "2026-08-29 04:35:49", "dataStr": { "head": { "docType": "2", diff --git a/tests/convert-to-ts/C22375751-to-ts.test.ts b/tests/convert-to-ts/C22375751-to-ts.test.ts new file mode 100644 index 00000000..5eb2226b --- /dev/null +++ b/tests/convert-to-ts/C22375751-to-ts.test.ts @@ -0,0 +1,268 @@ +import { it, expect } from "bun:test" +import chipRawEasy from "../assets/C22375751.raweasy.json" +import { convertBetterEasyToTsx } from "lib/websafe/convert-to-typescript-component" +import { EasyEdaJsonSchema } from "lib/schemas/easy-eda-json-schema" + +it("should convert C22375751 into typescript file", async () => { + const betterEasy = EasyEdaJsonSchema.parse(chipRawEasy) + const result = await convertBetterEasyToTsx({ + betterEasy, + }) + + expect(result).not.toContain("milmm") + expect(result).not.toContain("NaNmm") + + expect(result).toMatchInlineSnapshot(` + "import type { ChipProps } from "@tscircuit/props" + + const pinLabels = { + pin1: ["GPIO1"], + pin2: ["GPIO2"], + pin3: ["GPIO3"], + pin4: ["GPIO4"], + pin5: ["GPIO5"], + pin6: ["GPIO6"], + pin7: ["GPIO7"], + pin8: ["GPIO8"], + pin9: ["VDDPST_1"], + pin10: ["GPIO9"], + pin11: ["GPIO10"], + pin12: ["GPIO11"], + pin13: ["GPIO12"], + pin14: ["GPIO13"], + pin15: ["GPIO14"], + pin16: ["GPIO15"], + pin17: ["GPIO16"], + pin18: ["GPIO17"], + pin19: ["GPIO18"], + pin20: ["GPIO19"], + pin21: ["VDDPST_2"], + pin22: ["GPIO20"], + pin23: ["GPIO21"], + pin24: ["GPIO22"], + pin25: ["GPIO23"], + pin26: ["VDD_HP_0"], + pin27: ["FLASH_CS"], + pin28: ["FLASH_Q"], + pin29: ["FLASH_WP"], + pin30: ["VDDPST_3"], + pin31: ["FLASH_HOLD"], + pin32: ["FLASH_CK"], + pin33: ["FLASH_D"], + pin34: ["DSI_REXT"], + pin35: ["DSI_DATAP1"], + pin36: ["DSI_DATAN1"], + pin37: ["DSI_CLKN"], + pin38: ["DSI_CLKP"], + pin39: ["DSI_DATAP0"], + pin40: ["DSI_DATAN0"], + pin41: ["VDD_MIPI_DPHY"], + pin42: ["CSI_DATAN0"], + pin43: ["CSI_DATAP0"], + pin44: ["CSI_CLKP"], + pin45: ["CSI_CLKN"], + pin46: ["CSI_DATAN1"], + pin47: ["CSI_DATAP1"], + pin48: ["CSI_REXT"], + pin49: ["DM"], + pin50: ["DP"], + pin51: ["VCCA"], + pin52: ["GPIO24"], + pin53: ["GPIO25"], + pin54: ["NC"], + pin55: ["GPIO26"], + pin56: ["GPIO27"], + pin57: ["GPIO28"], + pin58: ["GPIO29"], + pin59: ["VDDPST1"], + pin60: ["GPIO30"], + pin61: ["GPIO31"], + pin62: ["VDDPST_4"], + pin63: ["GPIO32"], + pin64: ["GPIO33"], + pin65: ["GPIO34"], + pin66: ["GPIO35"], + pin67: ["VDDPST2"], + pin68: ["GPIO36"], + pin69: ["GPIO37"], + pin70: ["GPIO38"], + pin71: ["pin71"], + pin72: ["pin72"], + pin73: ["pin73"], + pin74: ["pin74"], + pin75: ["VDDPST_LDO"], + pin76: ["VDD_HP_2"], + pin77: ["VDDPST_DCDC"], + pin78: ["FB_DCDC"], + pin79: ["EN_DCDC"], + pin80: ["GPIO39"], + pin81: ["GPIO40"], + pin82: ["GPIO41"], + pin83: ["GPIO42"], + pin84: ["GPIO43"], + pin85: ["VDDPST_5"], + pin86: ["GPIO44"], + pin87: ["GPIO45"], + pin88: ["GPIO46"], + pin89: ["GPIO47"], + pin90: ["GPIO48"], + pin91: ["VDD_HP_3"], + pin92: ["GPIO49"], + pin93: ["GPIO50"], + pin94: ["GPIO51"], + pin95: ["GPIO52"], + pin96: ["VDDPST_6"], + pin97: ["GPIO53"], + pin98: ["GPIO54"], + pin99: ["XTAL_N"], + pin100: ["XTAL_P"], + pin101: ["VDDA"], + pin102: ["VBAT"], + pin103: ["CHIP_PU"], + pin104: ["GPIO0"], + pin105: ["GND"] + } as const + + const pinAttributes = { + pin54: {doNotConnect: true}, + pin101: {requiresPower: true}, + pin105: {requiresGround: true} + } as const + + export const ESP32_P4 = (props: ChipProps) => { + return ( + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + } + cadModel={{ + objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C22375751.obj?uuid=497d609d215940218ebe839e7686d01e", + stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C22375751.step?uuid=497d609d215940218ebe839e7686d01e", + pcbRotationOffset: 0, + modelOriginPosition: { x: -0.000012699999984988608, y: -0.000012699999999199463, z: -0.02 }, + }} + {...props} + /> + ) + }" + `) +}) diff --git a/tests/convert-to-ts/C2913197-to-ts.test.ts b/tests/convert-to-ts/C2913197-to-ts.test.ts new file mode 100644 index 00000000..e1152cfe --- /dev/null +++ b/tests/convert-to-ts/C2913197-to-ts.test.ts @@ -0,0 +1,160 @@ +import { it, expect } from "bun:test" +import chipRawEasy from "../assets/C2913197.raweasy.json" +import { convertBetterEasyToTsx } from "lib/websafe/convert-to-typescript-component" +import { EasyEdaJsonSchema } from "lib/schemas/easy-eda-json-schema" + +it("should convert C2913197 into typescript file", async () => { + const betterEasy = EasyEdaJsonSchema.parse(chipRawEasy) + const result = await convertBetterEasyToTsx({ + betterEasy, + }) + + expect(result).not.toContain("milmm") + expect(result).not.toContain("NaNmm") + + expect(result).toMatchInlineSnapshot(` + "import type { ChipProps } from "@tscircuit/props" + + const pinLabels = { + pin1: ["GND1"], + pin2: ["3V3"], + pin3: ["EN"], + pin4: ["IO4"], + pin5: ["IO5"], + pin6: ["IO6"], + pin7: ["IO7"], + pin8: ["IO15"], + pin9: ["IO16"], + pin10: ["IO17"], + pin11: ["IO18"], + pin12: ["IO8"], + pin13: ["IO19"], + pin14: ["IO20"], + pin15: ["IO3"], + pin16: ["IO46"], + pin17: ["IO9"], + pin18: ["IO10"], + pin19: ["IO11"], + pin20: ["IO12"], + pin21: ["IO13"], + pin22: ["IO14"], + pin23: ["IO21"], + pin24: ["IO47"], + pin25: ["IO48"], + pin26: ["IO45"], + pin27: ["IO0"], + pin28: ["IO35"], + pin29: ["IO36"], + pin30: ["IO37"], + pin31: ["IO38"], + pin32: ["IO39"], + pin33: ["IO40"], + pin34: ["IO41"], + pin35: ["IO42"], + pin36: ["RXD0"], + pin37: ["TXD0"], + pin38: ["IO2"], + pin39: ["IO1"], + pin40: ["GND2"], + pin41: ["GND3"] + } as const + + const pinAttributes = { + pin1: {requiresGround: true}, + pin40: {requiresGround: true}, + pin41: {requiresGround: true} + } as const + + export const ESP32_S3_WROOM_1_N4 = (props: ChipProps) => { + return ( + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + } + cadModel={{ + objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C2913197.obj?uuid=2f67d4cc1ff84f7d9c05d11f6667143a", + stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C2913197.step?uuid=2f67d4cc1ff84f7d9c05d11f6667143a", + pcbRotationOffset: 0, + modelOriginPosition: { x: 0, y: -3.8499795999998696, z: -0.01 }, + }} + {...props} + /> + ) + }" + `) +}) diff --git a/tests/convert-to-ts/C46497-to-ts.test.ts b/tests/convert-to-ts/C46497-to-ts.test.ts index 11dd36c3..d5333e45 100644 --- a/tests/convert-to-ts/C46497-to-ts.test.ts +++ b/tests/convert-to-ts/C46497-to-ts.test.ts @@ -2,8 +2,6 @@ import { it, expect } from "bun:test" import chipRawEasy from "../assets/C46497.raweasy.json" import { convertBetterEasyToTsx } from "lib/websafe/convert-to-typescript-component" import { EasyEdaJsonSchema } from "lib/schemas/easy-eda-json-schema" -import { runTscircuitCode } from "tscircuit" -import { wrapTsxWithBoardFor3dSnapshot } from "../fixtures/wrap-tsx-with-board-for-3d-snapshot" it("should convert C46497 into typescript file", async () => { const betterEasy = EasyEdaJsonSchema.parse(chipRawEasy) @@ -14,11 +12,6 @@ it("should convert C46497 into typescript file", async () => { expect(result).not.toContain("milmm") expect(result).not.toContain("NaNmm") - const circuitJson = await runTscircuitCode( - wrapTsxWithBoardFor3dSnapshot(result), - ) - await expect(circuitJson).toMatch3dSnapshot(import.meta.path) - expect(result).toMatchInlineSnapshot(` "import type { ChipProps } from "@tscircuit/props" From d226325414fb39c10d4517062b8ca46f8ec659f8 Mon Sep 17 00:00:00 2001 From: survival-ai-agent Date: Mon, 31 Aug 2026 22:25:15 +0200 Subject: [PATCH 3/3] revert: restore pre-existing C46497 test (already covered, #268) C46497 already had a test in the repo; drop it from this PR and restore the original file, asset, and 3D snapshot untouched. --- tests/assets/C46497.raweasy.json | 2 +- tests/convert-to-ts/C46497-to-ts.test.ts | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/tests/assets/C46497.raweasy.json b/tests/assets/C46497.raweasy.json index 86fee22b..814590b4 100644 --- a/tests/assets/C46497.raweasy.json +++ b/tests/assets/C46497.raweasy.json @@ -15,7 +15,7 @@ "Audio Power OpAmps" ], "updateTime": 1713800489, - "updated_at": "2026-08-29 04:35:49", + "updated_at": "2026-03-14 12:29:45", "dataStr": { "head": { "docType": "2", diff --git a/tests/convert-to-ts/C46497-to-ts.test.ts b/tests/convert-to-ts/C46497-to-ts.test.ts index d5333e45..11dd36c3 100644 --- a/tests/convert-to-ts/C46497-to-ts.test.ts +++ b/tests/convert-to-ts/C46497-to-ts.test.ts @@ -2,6 +2,8 @@ import { it, expect } from "bun:test" import chipRawEasy from "../assets/C46497.raweasy.json" import { convertBetterEasyToTsx } from "lib/websafe/convert-to-typescript-component" import { EasyEdaJsonSchema } from "lib/schemas/easy-eda-json-schema" +import { runTscircuitCode } from "tscircuit" +import { wrapTsxWithBoardFor3dSnapshot } from "../fixtures/wrap-tsx-with-board-for-3d-snapshot" it("should convert C46497 into typescript file", async () => { const betterEasy = EasyEdaJsonSchema.parse(chipRawEasy) @@ -12,6 +14,11 @@ it("should convert C46497 into typescript file", async () => { expect(result).not.toContain("milmm") expect(result).not.toContain("NaNmm") + const circuitJson = await runTscircuitCode( + wrapTsxWithBoardFor3dSnapshot(result), + ) + await expect(circuitJson).toMatch3dSnapshot(import.meta.path) + expect(result).toMatchInlineSnapshot(` "import type { ChipProps } from "@tscircuit/props"