diff --git a/public/EquipmentTemplates/PG2L100H_Pango100pro.json b/public/EquipmentTemplates/PG2L100H_Pango100pro.json
index 2297932..2baae43 100644
--- a/public/EquipmentTemplates/PG2L100H_Pango100pro.json
+++ b/public/EquipmentTemplates/PG2L100H_Pango100pro.json
@@ -28,2707 +28,4059 @@
"pins": [
{
"pinId": "pin_0",
- "constraint": ""
+ "constraint": "H17",
+ "x": 25,
+ "y": 25
},
{
"pinId": "pin_1",
- "constraint": ""
+ "constraint": "H14",
+ "x": 39,
+ "y": 25
},
{
"pinId": "pin_2",
- "constraint": ""
+ "constraint": "H15",
+ "x": 53,
+ "y": 25
},
{
"pinId": "pin_3",
- "constraint": ""
+ "constraint": "G17",
+ "x": 67,
+ "y": 25
},
{
"pinId": "pin_4",
- "constraint": ""
+ "constraint": "F17",
+ "x": 81,
+ "y": 25
},
{
"pinId": "pin_5",
- "constraint": ""
+ "constraint": "F18",
+ "x": 95,
+ "y": 25
},
{
"pinId": "pin_6",
- "constraint": ""
+ "constraint": "F19",
+ "x": 109,
+ "y": 25
},
{
"pinId": "pin_7",
- "constraint": ""
+ "constraint": "G15",
+ "x": 123,
+ "y": 25
},
{
"pinId": "pin_8",
- "constraint": ""
+ "constraint": "F15",
+ "x": 137,
+ "y": 25
},
{
"pinId": "pin_9",
- "constraint": ""
+ "constraint": "G19",
+ "x": 151,
+ "y": 25
},
{
"pinId": "pin_10",
- "constraint": ""
+ "constraint": "F20",
+ "x": 165,
+ "y": 25
},
{
"pinId": "pin_11",
- "constraint": ""
+ "constraint": "H16",
+ "x": 179,
+ "y": 25
},
{
"pinId": "pin_12",
- "constraint": ""
+ "constraint": "G16",
+ "x": 193,
+ "y": 25
},
{
"pinId": "pin_13",
- "constraint": ""
+ "constraint": "C17",
+ "x": 207,
+ "y": 25
},
{
"pinId": "pin_14",
- "constraint": ""
+ "constraint": "B17",
+ "x": 221,
+ "y": 25
},
{
"pinId": "pin_15",
- "constraint": ""
+ "constraint": "E16",
+ "x": 235,
+ "y": 25
},
{
"pinId": "pin_16",
- "constraint": ""
+ "constraint": "D16",
+ "x": 249,
+ "y": 25
},
{
"pinId": "pin_17",
- "constraint": ""
+ "constraint": "A17",
+ "x": 263,
+ "y": 25
},
{
"pinId": "pin_18",
- "constraint": ""
+ "constraint": "A18",
+ "x": 277,
+ "y": 25
},
{
"pinId": "pin_19",
- "constraint": ""
+ "constraint": "B19",
+ "x": 291,
+ "y": 25
},
{
"pinId": "pin_20",
- "constraint": ""
+ "constraint": "A19",
+ "x": 305,
+ "y": 25
},
{
"pinId": "pin_21",
- "constraint": ""
+ "constraint": "E17",
+ "x": 319,
+ "y": 25
},
{
"pinId": "pin_22",
- "constraint": ""
+ "constraint": "E18",
+ "x": 333,
+ "y": 25
},
{
"pinId": "pin_23",
- "constraint": ""
+ "constraint": "D18",
+ "x": 347,
+ "y": 25
},
{
"pinId": "pin_24",
- "constraint": ""
+ "constraint": "C18",
+ "x": 361,
+ "y": 25
},
{
"pinId": "pin_25",
- "constraint": ""
+ "constraint": "D19",
+ "x": 375,
+ "y": 25
},
{
"pinId": "pin_26",
- "constraint": ""
+ "constraint": "C19",
+ "x": 25,
+ "y": 39
},
{
"pinId": "pin_27",
- "constraint": ""
+ "constraint": "E20",
+ "x": 39,
+ "y": 39
},
{
"pinId": "pin_28",
- "constraint": ""
+ "constraint": "D20",
+ "x": 53,
+ "y": 39
},
{
"pinId": "pin_29",
- "constraint": ""
+ "constraint": "B20",
+ "x": 67,
+ "y": 39
},
{
"pinId": "pin_30",
- "constraint": ""
+ "constraint": "A20",
+ "x": 81,
+ "y": 39
},
{
"pinId": "pin_31",
- "constraint": ""
+ "constraint": "C21",
+ "x": 95,
+ "y": 39
},
{
"pinId": "pin_32",
- "constraint": ""
+ "constraint": "B21",
+ "x": 109,
+ "y": 39
},
{
"pinId": "pin_33",
- "constraint": ""
+ "constraint": "B22",
+ "x": 123,
+ "y": 39
},
{
"pinId": "pin_34",
- "constraint": ""
+ "constraint": "A22",
+ "x": 137,
+ "y": 39
},
{
"pinId": "pin_35",
- "constraint": ""
+ "constraint": "E21",
+ "x": 151,
+ "y": 39
},
{
"pinId": "pin_36",
- "constraint": ""
+ "constraint": "D21",
+ "x": 165,
+ "y": 39
},
{
"pinId": "pin_37",
- "constraint": ""
+ "constraint": "C22",
+ "x": 179,
+ "y": 39
},
{
"pinId": "pin_38",
- "constraint": ""
+ "constraint": "C23",
+ "x": 193,
+ "y": 39
},
{
"pinId": "pin_39",
- "constraint": ""
+ "constraint": "B25",
+ "x": 207,
+ "y": 39
},
{
"pinId": "pin_40",
- "constraint": ""
+ "constraint": "A25",
+ "x": 221,
+ "y": 39
},
{
"pinId": "pin_41",
- "constraint": ""
+ "constraint": "A23",
+ "x": 235,
+ "y": 39
},
{
"pinId": "pin_42",
- "constraint": ""
+ "constraint": "A24",
+ "x": 249,
+ "y": 39
},
{
"pinId": "pin_43",
- "constraint": ""
+ "constraint": "C26",
+ "x": 263,
+ "y": 39
},
{
"pinId": "pin_44",
- "constraint": ""
+ "constraint": "B26",
+ "x": 277,
+ "y": 39
},
{
"pinId": "pin_45",
- "constraint": ""
+ "constraint": "C24",
+ "x": 291,
+ "y": 39
},
{
"pinId": "pin_46",
- "constraint": ""
+ "constraint": "B24",
+ "x": 305,
+ "y": 39
},
{
"pinId": "pin_47",
- "constraint": ""
+ "constraint": "D23",
+ "x": 319,
+ "y": 39
},
{
"pinId": "pin_48",
- "constraint": ""
+ "constraint": "D24",
+ "x": 333,
+ "y": 39
},
{
"pinId": "pin_49",
- "constraint": ""
+ "constraint": "E22",
+ "x": 347,
+ "y": 39
},
{
"pinId": "pin_50",
- "constraint": ""
+ "constraint": "K18",
+ "x": 361,
+ "y": 39
},
{
"pinId": "pin_51",
- "constraint": ""
+ "constraint": "K15",
+ "x": 375,
+ "y": 39
},
{
"pinId": "pin_52",
- "constraint": ""
+ "constraint": "J16",
+ "x": 25,
+ "y": 53
},
{
"pinId": "pin_53",
- "constraint": ""
+ "constraint": "J14",
+ "x": 39,
+ "y": 53
},
{
"pinId": "pin_54",
- "constraint": ""
+ "constraint": "J15",
+ "x": 53,
+ "y": 53
},
{
"pinId": "pin_55",
- "constraint": ""
+ "constraint": "K16",
+ "x": 67,
+ "y": 53
},
{
"pinId": "pin_56",
- "constraint": ""
+ "constraint": "K17",
+ "x": 81,
+ "y": 53
},
{
"pinId": "pin_57",
- "constraint": ""
+ "constraint": "M14",
+ "x": 95,
+ "y": 53
},
{
"pinId": "pin_58",
- "constraint": ""
+ "constraint": "L14",
+ "x": 109,
+ "y": 53
},
{
"pinId": "pin_59",
- "constraint": ""
+ "constraint": "M15",
+ "x": 123,
+ "y": 53
},
{
"pinId": "pin_60",
- "constraint": ""
+ "constraint": "L15",
+ "x": 137,
+ "y": 53
},
{
"pinId": "pin_61",
- "constraint": ""
+ "constraint": "M16",
+ "x": 151,
+ "y": 53
},
{
"pinId": "pin_62",
- "constraint": ""
+ "constraint": "M17",
+ "x": 165,
+ "y": 53
},
{
"pinId": "pin_63",
- "constraint": ""
+ "constraint": "J19",
+ "x": 179,
+ "y": 53
},
{
"pinId": "pin_64",
- "constraint": ""
+ "constraint": "H19",
+ "x": 193,
+ "y": 53
},
{
"pinId": "pin_65",
- "constraint": ""
+ "constraint": "L17",
+ "x": 207,
+ "y": 53
},
{
"pinId": "pin_66",
- "constraint": ""
+ "constraint": "L18",
+ "x": 221,
+ "y": 53
},
{
"pinId": "pin_67",
- "constraint": ""
+ "constraint": "K20",
+ "x": 235,
+ "y": 53
},
{
"pinId": "pin_68",
- "constraint": ""
+ "constraint": "J20",
+ "x": 249,
+ "y": 53
},
{
"pinId": "pin_69",
- "constraint": ""
+ "constraint": "J18",
+ "x": 263,
+ "y": 53
},
{
"pinId": "pin_70",
- "constraint": ""
+ "constraint": "H18",
+ "x": 277,
+ "y": 53
},
{
"pinId": "pin_71",
- "constraint": ""
+ "constraint": "G20",
+ "x": 291,
+ "y": 53
},
{
"pinId": "pin_72",
- "constraint": ""
+ "constraint": "G21",
+ "x": 305,
+ "y": 53
},
{
"pinId": "pin_73",
- "constraint": ""
+ "constraint": "K21",
+ "x": 319,
+ "y": 53
},
{
"pinId": "pin_74",
- "constraint": ""
+ "constraint": "J21",
+ "x": 333,
+ "y": 53
},
{
"pinId": "pin_75",
- "constraint": ""
+ "constraint": "H21",
+ "x": 347,
+ "y": 53
},
{
"pinId": "pin_76",
- "constraint": ""
+ "constraint": "H22",
+ "x": 361,
+ "y": 53
},
{
"pinId": "pin_77",
- "constraint": ""
+ "constraint": "J23",
+ "x": 375,
+ "y": 53
},
{
"pinId": "pin_78",
- "constraint": ""
+ "constraint": "H23",
+ "x": 25,
+ "y": 67
},
{
"pinId": "pin_79",
- "constraint": ""
+ "constraint": "G22",
+ "x": 39,
+ "y": 67
},
{
"pinId": "pin_80",
- "constraint": ""
+ "constraint": "F22",
+ "x": 53,
+ "y": 67
},
{
"pinId": "pin_81",
- "constraint": ""
+ "constraint": "J24",
+ "x": 67,
+ "y": 67
},
{
"pinId": "pin_82",
- "constraint": ""
+ "constraint": "H24",
+ "x": 81,
+ "y": 67
},
{
"pinId": "pin_83",
- "constraint": ""
+ "constraint": "F23",
+ "x": 95,
+ "y": 67
},
{
"pinId": "pin_84",
- "constraint": ""
+ "constraint": "E23",
+ "x": 109,
+ "y": 67
},
{
"pinId": "pin_85",
- "constraint": ""
+ "constraint": "K22",
+ "x": 123,
+ "y": 67
},
{
"pinId": "pin_86",
- "constraint": ""
+ "constraint": "K23",
+ "x": 137,
+ "y": 67
},
{
"pinId": "pin_87",
- "constraint": ""
+ "constraint": "G24",
+ "x": 151,
+ "y": 67
},
{
"pinId": "pin_88",
- "constraint": ""
+ "constraint": "F24",
+ "x": 165,
+ "y": 67
},
{
"pinId": "pin_89",
- "constraint": ""
+ "constraint": "E25",
+ "x": 179,
+ "y": 67
},
{
"pinId": "pin_90",
- "constraint": ""
+ "constraint": "D25",
+ "x": 193,
+ "y": 67
},
{
"pinId": "pin_91",
- "constraint": ""
+ "constraint": "E26",
+ "x": 207,
+ "y": 67
},
{
"pinId": "pin_92",
- "constraint": ""
+ "constraint": "D26",
+ "x": 221,
+ "y": 67
},
{
"pinId": "pin_93",
- "constraint": ""
+ "constraint": "H26",
+ "x": 235,
+ "y": 67
},
{
"pinId": "pin_94",
- "constraint": ""
+ "constraint": "G26",
+ "x": 249,
+ "y": 67
},
{
"pinId": "pin_95",
- "constraint": ""
+ "constraint": "G25",
+ "x": 263,
+ "y": 67
},
{
"pinId": "pin_96",
- "constraint": ""
+ "constraint": "F25",
+ "x": 277,
+ "y": 67
},
{
"pinId": "pin_97",
- "constraint": ""
+ "constraint": "J25",
+ "x": 291,
+ "y": 67
},
{
"pinId": "pin_98",
- "constraint": ""
+ "constraint": "J26",
+ "x": 305,
+ "y": 67
},
{
"pinId": "pin_99",
- "constraint": ""
+ "constraint": "L19",
+ "x": 319,
+ "y": 67
},
{
"pinId": "pin_100",
- "constraint": ""
+ "constraint": "M19",
+ "x": 333,
+ "y": 67
},
{
"pinId": "pin_101",
- "constraint": ""
+ "constraint": "R14",
+ "x": 347,
+ "y": 67
},
{
"pinId": "pin_102",
- "constraint": ""
+ "constraint": "R15",
+ "x": 361,
+ "y": 67
},
{
"pinId": "pin_103",
- "constraint": ""
+ "constraint": "P14",
+ "x": 375,
+ "y": 67
},
{
"pinId": "pin_104",
- "constraint": ""
+ "constraint": "N14",
+ "x": 25,
+ "y": 81
},
{
"pinId": "pin_105",
- "constraint": ""
+ "constraint": "P15",
+ "x": 39,
+ "y": 81
},
{
"pinId": "pin_106",
- "constraint": ""
+ "constraint": "P16",
+ "x": 53,
+ "y": 81
},
{
"pinId": "pin_107",
- "constraint": ""
+ "constraint": "N16",
+ "x": 67,
+ "y": 81
},
{
"pinId": "pin_108",
- "constraint": ""
+ "constraint": "N17",
+ "x": 81,
+ "y": 81
},
{
"pinId": "pin_109",
- "constraint": ""
+ "constraint": "R16",
+ "x": 95,
+ "y": 81
},
{
"pinId": "pin_110",
- "constraint": ""
+ "constraint": "R17",
+ "x": 109,
+ "y": 81
},
{
"pinId": "pin_111",
- "constraint": ""
+ "constraint": "P18",
+ "x": 123,
+ "y": 81
},
{
"pinId": "pin_112",
- "constraint": ""
+ "constraint": "N18",
+ "x": 137,
+ "y": 81
},
{
"pinId": "pin_113",
- "constraint": ""
+ "constraint": "K25",
+ "x": 151,
+ "y": 81
},
{
"pinId": "pin_114",
- "constraint": ""
+ "constraint": "K26",
+ "x": 165,
+ "y": 81
},
{
"pinId": "pin_115",
- "constraint": ""
+ "constraint": "M20",
+ "x": 179,
+ "y": 81
},
{
"pinId": "pin_116",
- "constraint": ""
+ "constraint": "L20",
+ "x": 193,
+ "y": 81
},
{
"pinId": "pin_117",
- "constraint": ""
+ "constraint": "L24",
+ "x": 207,
+ "y": 81
},
{
"pinId": "pin_118",
- "constraint": ""
+ "constraint": "L25",
+ "x": 221,
+ "y": 81
},
{
"pinId": "pin_119",
- "constraint": ""
+ "constraint": "M24",
+ "x": 235,
+ "y": 81
},
{
"pinId": "pin_120",
- "constraint": ""
+ "constraint": "M25",
+ "x": 249,
+ "y": 81
},
{
"pinId": "pin_121",
- "constraint": ""
+ "constraint": "L22",
+ "x": 263,
+ "y": 81
},
{
"pinId": "pin_122",
- "constraint": ""
+ "constraint": "L23",
+ "x": 277,
+ "y": 81
},
{
"pinId": "pin_123",
- "constraint": ""
+ "constraint": "M21",
+ "x": 291,
+ "y": 81
},
{
"pinId": "pin_124",
- "constraint": ""
+ "constraint": "M22",
+ "x": 305,
+ "y": 81
},
{
"pinId": "pin_125",
- "constraint": ""
+ "constraint": "N21",
+ "x": 319,
+ "y": 81
},
{
"pinId": "pin_126",
- "constraint": ""
+ "constraint": "N22",
+ "x": 333,
+ "y": 81
},
{
"pinId": "pin_127",
- "constraint": ""
+ "constraint": "P20",
+ "x": 347,
+ "y": 81
},
{
"pinId": "pin_128",
- "constraint": ""
+ "constraint": "P21",
+ "x": 361,
+ "y": 81
},
{
"pinId": "pin_129",
- "constraint": ""
+ "constraint": "N23",
+ "x": 375,
+ "y": 81
},
{
"pinId": "pin_130",
- "constraint": ""
+ "constraint": "N24",
+ "x": 25,
+ "y": 95
},
{
"pinId": "pin_131",
- "constraint": ""
+ "constraint": "P19",
+ "x": 39,
+ "y": 95
},
{
"pinId": "pin_132",
- "constraint": ""
+ "constraint": "N19",
+ "x": 53,
+ "y": 95
},
{
"pinId": "pin_133",
- "constraint": ""
+ "constraint": "P23",
+ "x": 67,
+ "y": 95
},
{
"pinId": "pin_134",
- "constraint": ""
+ "constraint": "P24",
+ "x": 81,
+ "y": 95
},
{
"pinId": "pin_135",
- "constraint": ""
+ "constraint": "R20",
+ "x": 95,
+ "y": 95
},
{
"pinId": "pin_136",
- "constraint": ""
+ "constraint": "R21",
+ "x": 109,
+ "y": 95
},
{
"pinId": "pin_137",
- "constraint": ""
+ "constraint": "R25",
+ "x": 123,
+ "y": 95
},
{
"pinId": "pin_138",
- "constraint": ""
+ "constraint": "P25",
+ "x": 137,
+ "y": 95
},
{
"pinId": "pin_139",
- "constraint": ""
+ "constraint": "N26",
+ "x": 151,
+ "y": 95
},
{
"pinId": "pin_140",
- "constraint": ""
+ "constraint": "M26",
+ "x": 165,
+ "y": 95
},
{
"pinId": "pin_141",
- "constraint": ""
+ "constraint": "T24",
+ "x": 179,
+ "y": 95
},
{
"pinId": "pin_142",
- "constraint": ""
+ "constraint": "T25",
+ "x": 193,
+ "y": 95
},
{
"pinId": "pin_143",
- "constraint": ""
+ "constraint": "R26",
+ "x": 207,
+ "y": 95
},
{
"pinId": "pin_144",
- "constraint": ""
+ "constraint": "P26",
+ "x": 221,
+ "y": 95
},
{
"pinId": "pin_145",
- "constraint": ""
+ "constraint": "T22",
+ "x": 235,
+ "y": 95
},
{
"pinId": "pin_146",
- "constraint": ""
+ "constraint": "R22",
+ "x": 249,
+ "y": 95
},
{
"pinId": "pin_147",
- "constraint": ""
+ "constraint": "T23",
+ "x": 263,
+ "y": 95
},
{
"pinId": "pin_148",
- "constraint": ""
+ "constraint": "R23",
+ "x": 277,
+ "y": 95
},
{
"pinId": "pin_149",
- "constraint": ""
+ "constraint": "R18",
+ "x": 291,
+ "y": 95
},
{
"pinId": "pin_150",
- "constraint": ""
+ "constraint": "U24",
+ "x": 305,
+ "y": 95
},
{
"pinId": "pin_151",
- "constraint": ""
+ "constraint": "U25",
+ "x": 319,
+ "y": 95
},
{
"pinId": "pin_152",
- "constraint": ""
+ "constraint": "U26",
+ "x": 333,
+ "y": 95
},
{
"pinId": "pin_153",
- "constraint": ""
+ "constraint": "V26",
+ "x": 347,
+ "y": 95
},
{
"pinId": "pin_154",
- "constraint": ""
+ "constraint": "W26",
+ "x": 361,
+ "y": 95
},
{
"pinId": "pin_155",
- "constraint": ""
+ "constraint": "AB26",
+ "x": 375,
+ "y": 95
},
{
"pinId": "pin_156",
- "constraint": ""
+ "constraint": "AC26",
+ "x": 25,
+ "y": 109
},
{
"pinId": "pin_157",
- "constraint": ""
+ "constraint": "W25",
+ "x": 39,
+ "y": 109
},
{
"pinId": "pin_158",
- "constraint": ""
+ "constraint": "Y26",
+ "x": 53,
+ "y": 109
},
{
"pinId": "pin_159",
- "constraint": ""
+ "constraint": "Y25",
+ "x": 67,
+ "y": 109
},
{
"pinId": "pin_160",
- "constraint": ""
+ "constraint": "AA25",
+ "x": 81,
+ "y": 109
},
{
"pinId": "pin_161",
- "constraint": ""
+ "constraint": "V24",
+ "x": 95,
+ "y": 109
},
{
"pinId": "pin_162",
- "constraint": ""
+ "constraint": "W24",
+ "x": 109,
+ "y": 109
},
{
"pinId": "pin_163",
- "constraint": ""
+ "constraint": "AA24",
+ "x": 123,
+ "y": 109
},
{
"pinId": "pin_164",
- "constraint": ""
+ "constraint": "AB25",
+ "x": 137,
+ "y": 109
},
{
"pinId": "pin_165",
- "constraint": ""
+ "constraint": "AA22",
+ "x": 151,
+ "y": 109
},
{
"pinId": "pin_166",
- "constraint": ""
+ "constraint": "AA23",
+ "x": 165,
+ "y": 109
},
{
"pinId": "pin_167",
- "constraint": ""
+ "constraint": "AB24",
+ "x": 179,
+ "y": 109
},
{
"pinId": "pin_168",
- "constraint": ""
+ "constraint": "AC24",
+ "x": 193,
+ "y": 109
},
{
"pinId": "pin_169",
- "constraint": ""
+ "constraint": "V23",
+ "x": 207,
+ "y": 109
},
{
"pinId": "pin_170",
- "constraint": ""
+ "constraint": "W23",
+ "x": 221,
+ "y": 109
},
{
"pinId": "pin_171",
- "constraint": ""
+ "constraint": "Y22",
+ "x": 235,
+ "y": 109
},
{
"pinId": "pin_172",
- "constraint": ""
+ "constraint": "Y23",
+ "x": 249,
+ "y": 109
},
{
"pinId": "pin_173",
- "constraint": ""
+ "constraint": "U22",
+ "x": 263,
+ "y": 109
},
{
"pinId": "pin_174",
- "constraint": ""
+ "constraint": "V22",
+ "x": 277,
+ "y": 109
},
{
"pinId": "pin_175",
- "constraint": ""
+ "constraint": "U21",
+ "x": 291,
+ "y": 109
},
{
"pinId": "pin_176",
- "constraint": ""
+ "constraint": "V21",
+ "x": 305,
+ "y": 109
},
{
"pinId": "pin_177",
- "constraint": ""
+ "constraint": "W21",
+ "x": 319,
+ "y": 109
},
{
"pinId": "pin_178",
- "constraint": ""
+ "constraint": "Y21",
+ "x": 333,
+ "y": 109
},
{
"pinId": "pin_179",
- "constraint": ""
+ "constraint": "T20",
+ "x": 347,
+ "y": 109
},
{
"pinId": "pin_180",
- "constraint": ""
+ "constraint": "U20",
+ "x": 361,
+ "y": 109
},
{
"pinId": "pin_181",
- "constraint": ""
+ "constraint": "W20",
+ "x": 375,
+ "y": 109
},
{
"pinId": "pin_182",
- "constraint": ""
+ "constraint": "Y20",
+ "x": 25,
+ "y": 123
},
{
"pinId": "pin_183",
- "constraint": ""
+ "constraint": "T19",
+ "x": 39,
+ "y": 123
},
{
"pinId": "pin_184",
- "constraint": ""
+ "constraint": "U19",
+ "x": 53,
+ "y": 123
},
{
"pinId": "pin_185",
- "constraint": ""
+ "constraint": "V19",
+ "x": 67,
+ "y": 123
},
{
"pinId": "pin_186",
- "constraint": ""
+ "constraint": "W19",
+ "x": 81,
+ "y": 123
},
{
"pinId": "pin_187",
- "constraint": ""
+ "constraint": "V18",
+ "x": 95,
+ "y": 123
},
{
"pinId": "pin_188",
- "constraint": ""
+ "constraint": "W18",
+ "x": 109,
+ "y": 123
},
{
"pinId": "pin_189",
- "constraint": ""
+ "constraint": "T14",
+ "x": 123,
+ "y": 123
},
{
"pinId": "pin_190",
- "constraint": ""
+ "constraint": "T15",
+ "x": 137,
+ "y": 123
},
{
"pinId": "pin_191",
- "constraint": ""
+ "constraint": "T17",
+ "x": 151,
+ "y": 123
},
{
"pinId": "pin_192",
- "constraint": ""
+ "constraint": "T18",
+ "x": 165,
+ "y": 123
},
{
"pinId": "pin_193",
- "constraint": ""
+ "constraint": "U15",
+ "x": 179,
+ "y": 123
},
{
"pinId": "pin_194",
- "constraint": ""
+ "constraint": "U16",
+ "x": 193,
+ "y": 123
},
{
"pinId": "pin_195",
- "constraint": ""
+ "constraint": "U14",
+ "x": 207,
+ "y": 123
},
{
"pinId": "pin_196",
- "constraint": ""
+ "constraint": "V14",
+ "x": 221,
+ "y": 123
},
{
"pinId": "pin_197",
- "constraint": ""
+ "constraint": "V16",
+ "x": 235,
+ "y": 123
},
{
"pinId": "pin_198",
- "constraint": ""
+ "constraint": "V17",
+ "x": 249,
+ "y": 123
},
{
"pinId": "pin_199",
- "constraint": ""
+ "constraint": "U17",
+ "x": 263,
+ "y": 123
},
{
"pinId": "pin_200",
- "constraint": ""
+ "constraint": "J8",
+ "x": 277,
+ "y": 123
},
{
"pinId": "pin_201",
- "constraint": ""
+ "constraint": "E6",
+ "x": 291,
+ "y": 123
},
{
"pinId": "pin_202",
- "constraint": ""
+ "constraint": "D6",
+ "x": 305,
+ "y": 123
},
{
"pinId": "pin_203",
- "constraint": ""
+ "constraint": "H8",
+ "x": 319,
+ "y": 123
},
{
"pinId": "pin_204",
- "constraint": ""
+ "constraint": "G8",
+ "x": 333,
+ "y": 123
},
{
"pinId": "pin_205",
- "constraint": ""
+ "constraint": "H7",
+ "x": 347,
+ "y": 123
},
{
"pinId": "pin_206",
- "constraint": ""
+ "constraint": "G7",
+ "x": 361,
+ "y": 123
},
{
"pinId": "pin_207",
- "constraint": ""
+ "constraint": "F8",
+ "x": 375,
+ "y": 123
},
{
"pinId": "pin_208",
- "constraint": ""
+ "constraint": "F7",
+ "x": 25,
+ "y": 137
},
{
"pinId": "pin_209",
- "constraint": ""
+ "constraint": "H6",
+ "x": 39,
+ "y": 137
},
{
"pinId": "pin_210",
- "constraint": ""
+ "constraint": "G6",
+ "x": 53,
+ "y": 137
},
{
"pinId": "pin_211",
- "constraint": ""
+ "constraint": "H9",
+ "x": 67,
+ "y": 137
},
{
"pinId": "pin_212",
- "constraint": ""
+ "constraint": "G9",
+ "x": 81,
+ "y": 137
},
{
"pinId": "pin_213",
- "constraint": ""
+ "constraint": "J6",
+ "x": 95,
+ "y": 137
},
{
"pinId": "pin_214",
- "constraint": ""
+ "constraint": "J5",
+ "x": 109,
+ "y": 137
},
{
"pinId": "pin_215",
- "constraint": ""
+ "constraint": "L8",
+ "x": 123,
+ "y": 137
},
{
"pinId": "pin_216",
- "constraint": ""
+ "constraint": "K8",
+ "x": 137,
+ "y": 137
},
{
"pinId": "pin_217",
- "constraint": ""
+ "constraint": "J4",
+ "x": 151,
+ "y": 137
},
{
"pinId": "pin_218",
- "constraint": ""
+ "constraint": "H4",
+ "x": 165,
+ "y": 137
},
{
"pinId": "pin_219",
- "constraint": ""
+ "constraint": "K7",
+ "x": 179,
+ "y": 137
},
{
"pinId": "pin_220",
- "constraint": ""
+ "constraint": "K6",
+ "x": 193,
+ "y": 137
},
{
"pinId": "pin_221",
- "constraint": ""
+ "constraint": "G4",
+ "x": 207,
+ "y": 137
},
{
"pinId": "pin_222",
- "constraint": ""
+ "constraint": "F4",
+ "x": 221,
+ "y": 137
},
{
"pinId": "pin_223",
- "constraint": ""
+ "constraint": "G5",
+ "x": 235,
+ "y": 137
},
{
"pinId": "pin_224",
- "constraint": ""
+ "constraint": "F5",
+ "x": 249,
+ "y": 137
},
{
"pinId": "pin_225",
- "constraint": ""
+ "constraint": "E5",
+ "x": 263,
+ "y": 137
},
{
"pinId": "pin_226",
- "constraint": ""
+ "constraint": "D5",
+ "x": 277,
+ "y": 137
},
{
"pinId": "pin_227",
- "constraint": ""
+ "constraint": "D4",
+ "x": 291,
+ "y": 137
},
{
"pinId": "pin_228",
- "constraint": ""
+ "constraint": "C4",
+ "x": 305,
+ "y": 137
},
{
"pinId": "pin_229",
- "constraint": ""
+ "constraint": "B5",
+ "x": 319,
+ "y": 137
},
{
"pinId": "pin_230",
- "constraint": ""
+ "constraint": "A5",
+ "x": 333,
+ "y": 137
},
{
"pinId": "pin_231",
- "constraint": ""
+ "constraint": "B4",
+ "x": 347,
+ "y": 137
},
{
"pinId": "pin_232",
- "constraint": ""
+ "constraint": "A4",
+ "x": 361,
+ "y": 137
},
{
"pinId": "pin_233",
- "constraint": ""
+ "constraint": "D3",
+ "x": 375,
+ "y": 137
},
{
"pinId": "pin_234",
- "constraint": ""
+ "constraint": "C3",
+ "x": 25,
+ "y": 151
},
{
"pinId": "pin_235",
- "constraint": ""
+ "constraint": "F3",
+ "x": 39,
+ "y": 151
},
{
"pinId": "pin_236",
- "constraint": ""
+ "constraint": "E3",
+ "x": 53,
+ "y": 151
},
{
"pinId": "pin_237",
- "constraint": ""
+ "constraint": "C2",
+ "x": 67,
+ "y": 151
},
{
"pinId": "pin_238",
- "constraint": ""
+ "constraint": "B2",
+ "x": 81,
+ "y": 151
},
{
"pinId": "pin_239",
- "constraint": ""
+ "constraint": "A3",
+ "x": 95,
+ "y": 151
},
{
"pinId": "pin_240",
- "constraint": ""
+ "constraint": "A2",
+ "x": 109,
+ "y": 151
},
{
"pinId": "pin_241",
- "constraint": ""
+ "constraint": "C1",
+ "x": 123,
+ "y": 151
},
{
"pinId": "pin_242",
- "constraint": ""
+ "constraint": "B1",
+ "x": 137,
+ "y": 151
},
{
"pinId": "pin_243",
- "constraint": ""
+ "constraint": "F2",
+ "x": 151,
+ "y": 151
},
{
"pinId": "pin_244",
- "constraint": ""
+ "constraint": "E2",
+ "x": 165,
+ "y": 151
},
{
"pinId": "pin_245",
- "constraint": ""
+ "constraint": "E1",
+ "x": 179,
+ "y": 151
},
{
"pinId": "pin_246",
- "constraint": ""
+ "constraint": "D1",
+ "x": 193,
+ "y": 151
},
{
"pinId": "pin_247",
- "constraint": ""
+ "constraint": "G2",
+ "x": 207,
+ "y": 151
},
{
"pinId": "pin_248",
- "constraint": ""
+ "constraint": "G1",
+ "x": 221,
+ "y": 151
},
{
"pinId": "pin_249",
- "constraint": ""
+ "constraint": "H3",
+ "x": 235,
+ "y": 151
},
{
"pinId": "pin_250",
- "constraint": ""
+ "constraint": "N8",
+ "x": 249,
+ "y": 151
},
{
"pinId": "pin_251",
- "constraint": ""
+ "constraint": "K3",
+ "x": 263,
+ "y": 151
},
{
"pinId": "pin_252",
- "constraint": ""
+ "constraint": "J3",
+ "x": 277,
+ "y": 151
},
{
"pinId": "pin_253",
- "constraint": ""
+ "constraint": "M7",
+ "x": 291,
+ "y": 151
},
{
"pinId": "pin_254",
- "constraint": ""
+ "constraint": "L7",
+ "x": 305,
+ "y": 151
},
{
"pinId": "pin_255",
- "constraint": ""
+ "constraint": "M4",
+ "x": 319,
+ "y": 151
},
{
"pinId": "pin_256",
- "constraint": ""
+ "constraint": "L4",
+ "x": 333,
+ "y": 151
},
{
"pinId": "pin_257",
- "constraint": ""
+ "constraint": "L5",
+ "x": 347,
+ "y": 151
},
{
"pinId": "pin_258",
- "constraint": ""
+ "constraint": "K5",
+ "x": 361,
+ "y": 151
},
{
"pinId": "pin_259",
- "constraint": ""
+ "constraint": "N7",
+ "x": 375,
+ "y": 151
},
{
"pinId": "pin_260",
- "constraint": ""
+ "constraint": "N6",
+ "x": 25,
+ "y": 165
},
{
"pinId": "pin_261",
- "constraint": ""
+ "constraint": "M6",
+ "x": 39,
+ "y": 165
},
{
"pinId": "pin_262",
- "constraint": ""
+ "constraint": "M5",
+ "x": 53,
+ "y": 165
},
{
"pinId": "pin_263",
- "constraint": ""
+ "constraint": "K1",
+ "x": 67,
+ "y": 165
},
{
"pinId": "pin_264",
- "constraint": ""
+ "constraint": "J1",
+ "x": 81,
+ "y": 165
},
{
"pinId": "pin_265",
- "constraint": ""
+ "constraint": "L3",
+ "x": 95,
+ "y": 165
},
{
"pinId": "pin_266",
- "constraint": ""
+ "constraint": "K2",
+ "x": 109,
+ "y": 165
},
{
"pinId": "pin_267",
- "constraint": ""
+ "constraint": "N1",
+ "x": 123,
+ "y": 165
},
{
"pinId": "pin_268",
- "constraint": ""
+ "constraint": "M1",
+ "x": 137,
+ "y": 165
},
{
"pinId": "pin_269",
- "constraint": ""
+ "constraint": "H2",
+ "x": 151,
+ "y": 165
},
{
"pinId": "pin_270",
- "constraint": ""
+ "constraint": "H1",
+ "x": 165,
+ "y": 165
},
{
"pinId": "pin_271",
- "constraint": ""
+ "constraint": "M2",
+ "x": 179,
+ "y": 165
},
{
"pinId": "pin_272",
- "constraint": ""
+ "constraint": "L2",
+ "x": 193,
+ "y": 165
},
{
"pinId": "pin_273",
- "constraint": ""
+ "constraint": "N3",
+ "x": 207,
+ "y": 165
},
{
"pinId": "pin_274",
- "constraint": ""
+ "constraint": "N2",
+ "x": 221,
+ "y": 165
},
{
"pinId": "pin_275",
- "constraint": ""
+ "constraint": "R3",
+ "x": 235,
+ "y": 165
},
{
"pinId": "pin_276",
- "constraint": ""
+ "constraint": "P3",
+ "x": 249,
+ "y": 165
},
{
"pinId": "pin_277",
- "constraint": ""
+ "constraint": "P4",
+ "x": 263,
+ "y": 165
},
{
"pinId": "pin_278",
- "constraint": ""
+ "constraint": "N4",
+ "x": 277,
+ "y": 165
},
{
"pinId": "pin_279",
- "constraint": ""
+ "constraint": "R1",
+ "x": 291,
+ "y": 165
},
{
"pinId": "pin_280",
- "constraint": ""
+ "constraint": "P1",
+ "x": 305,
+ "y": 165
},
{
"pinId": "pin_281",
- "constraint": ""
+ "constraint": "T4",
+ "x": 319,
+ "y": 165
},
{
"pinId": "pin_282",
- "constraint": ""
+ "constraint": "T3",
+ "x": 333,
+ "y": 165
},
{
"pinId": "pin_283",
- "constraint": ""
+ "constraint": "T2",
+ "x": 347,
+ "y": 165
},
{
"pinId": "pin_284",
- "constraint": ""
+ "constraint": "R2",
+ "x": 361,
+ "y": 165
},
{
"pinId": "pin_285",
- "constraint": ""
+ "constraint": "U2",
+ "x": 375,
+ "y": 165
},
{
"pinId": "pin_286",
- "constraint": ""
+ "constraint": "U1",
+ "x": 25,
+ "y": 179
},
{
"pinId": "pin_287",
- "constraint": ""
+ "constraint": "P6",
+ "x": 39,
+ "y": 179
},
{
"pinId": "pin_288",
- "constraint": ""
+ "constraint": "P5",
+ "x": 53,
+ "y": 179
},
{
"pinId": "pin_289",
- "constraint": ""
+ "constraint": "T5",
+ "x": 67,
+ "y": 179
},
{
"pinId": "pin_290",
- "constraint": ""
+ "constraint": "R5",
+ "x": 81,
+ "y": 179
},
{
"pinId": "pin_291",
- "constraint": ""
+ "constraint": "U6",
+ "x": 95,
+ "y": 179
},
{
"pinId": "pin_292",
- "constraint": ""
+ "constraint": "U5",
+ "x": 109,
+ "y": 179
},
{
"pinId": "pin_293",
- "constraint": ""
+ "constraint": "R8",
+ "x": 123,
+ "y": 179
},
{
"pinId": "pin_294",
- "constraint": ""
+ "constraint": "P8",
+ "x": 137,
+ "y": 179
},
{
"pinId": "pin_295",
- "constraint": ""
+ "constraint": "R7",
+ "x": 151,
+ "y": 179
},
{
"pinId": "pin_296",
- "constraint": ""
+ "constraint": "R6",
+ "x": 165,
+ "y": 179
},
{
"pinId": "pin_297",
- "constraint": ""
+ "constraint": "T8",
+ "x": 179,
+ "y": 179
},
{
"pinId": "pin_298",
- "constraint": ""
+ "constraint": "T7",
+ "x": 193,
+ "y": 179
},
{
"pinId": "pin_299",
- "constraint": ""
+ "constraint": "U4",
+ "x": 207,
+ "y": 179
},
{
"pinId": "pin_300",
- "constraint": ""
+ "constraint": "E13",
+ "x": 221,
+ "y": 179
},
{
"pinId": "pin_301",
- "constraint": ""
+ "constraint": "F13",
+ "x": 235,
+ "y": 179
},
{
"pinId": "pin_302",
- "constraint": ""
+ "constraint": "AB11",
+ "x": 249,
+ "y": 179
},
{
"pinId": "pin_303",
- "constraint": ""
+ "constraint": "AA11",
+ "x": 263,
+ "y": 179
},
{
"pinId": "pin_304",
- "constraint": ""
+ "constraint": "E11",
+ "x": 277,
+ "y": 179
},
{
"pinId": "pin_305",
- "constraint": ""
+ "constraint": "F11",
+ "x": 291,
+ "y": 179
},
{
"pinId": "pin_306",
- "constraint": ""
+ "constraint": "AB13",
+ "x": 305,
+ "y": 179
},
{
"pinId": "pin_307",
- "constraint": ""
+ "constraint": "AA13",
+ "x": 319,
+ "y": 179
},
{
"pinId": "pin_308",
- "constraint": ""
+ "constraint": "C12",
+ "x": 333,
+ "y": 179
},
{
"pinId": "pin_309",
- "constraint": ""
+ "constraint": "D12",
+ "x": 347,
+ "y": 179
},
{
"pinId": "pin_310",
- "constraint": ""
+ "constraint": "AF11",
+ "x": 361,
+ "y": 179
},
{
"pinId": "pin_311",
- "constraint": ""
+ "constraint": "AE11",
+ "x": 375,
+ "y": 179
},
{
"pinId": "pin_312",
- "constraint": ""
+ "constraint": "A13",
+ "x": 25,
+ "y": 193
},
{
"pinId": "pin_313",
- "constraint": ""
+ "constraint": "B13",
+ "x": 39,
+ "y": 193
},
{
"pinId": "pin_314",
- "constraint": ""
+ "constraint": "AD14",
+ "x": 53,
+ "y": 193
},
{
"pinId": "pin_315",
- "constraint": ""
+ "constraint": "AC14",
+ "x": 67,
+ "y": 193
},
{
"pinId": "pin_316",
- "constraint": ""
+ "constraint": "C14",
+ "x": 81,
+ "y": 193
},
{
"pinId": "pin_317",
- "constraint": ""
+ "constraint": "D14",
+ "x": 95,
+ "y": 193
},
{
"pinId": "pin_318",
- "constraint": ""
+ "constraint": "AF13",
+ "x": 109,
+ "y": 193
},
{
"pinId": "pin_319",
- "constraint": ""
+ "constraint": "AE13",
+ "x": 123,
+ "y": 193
},
{
"pinId": "pin_320",
- "constraint": ""
+ "constraint": "A11",
+ "x": 137,
+ "y": 193
},
{
"pinId": "pin_321",
- "constraint": ""
+ "constraint": "B11",
+ "x": 151,
+ "y": 193
},
{
"pinId": "pin_322",
- "constraint": ""
+ "constraint": "AD12",
+ "x": 165,
+ "y": 193
},
{
"pinId": "pin_323",
- "constraint": ""
+ "constraint": "AC12",
+ "x": 179,
+ "y": 193
},
{
"pinId": "pin_324",
- "constraint": ""
+ "constraint": "C10",
+ "x": 193,
+ "y": 193
},
{
"pinId": "pin_325",
- "constraint": ""
+ "constraint": "D10",
+ "x": 207,
+ "y": 193
},
{
"pinId": "pin_326",
- "constraint": ""
+ "constraint": "AF7",
+ "x": 221,
+ "y": 193
},
{
"pinId": "pin_327",
- "constraint": ""
+ "constraint": "AE7",
+ "x": 235,
+ "y": 193
},
{
"pinId": "pin_328",
- "constraint": ""
+ "constraint": "A9",
+ "x": 249,
+ "y": 193
},
{
"pinId": "pin_329",
- "constraint": ""
+ "constraint": "B9",
+ "x": 263,
+ "y": 193
},
{
"pinId": "pin_330",
- "constraint": ""
+ "constraint": "AD8",
+ "x": 277,
+ "y": 193
},
{
"pinId": "pin_331",
- "constraint": ""
+ "constraint": "AC8",
+ "x": 291,
+ "y": 193
},
{
"pinId": "pin_332",
- "constraint": ""
+ "constraint": "C8",
+ "x": 305,
+ "y": 193
},
{
"pinId": "pin_333",
- "constraint": ""
+ "constraint": "D8",
+ "x": 319,
+ "y": 193
},
{
"pinId": "pin_334",
- "constraint": ""
+ "constraint": "AF9",
+ "x": 333,
+ "y": 193
},
{
"pinId": "pin_335",
- "constraint": ""
+ "constraint": "AE9",
+ "x": 347,
+ "y": 193
},
{
"pinId": "pin_336",
- "constraint": ""
+ "constraint": "A7",
+ "x": 361,
+ "y": 193
},
{
"pinId": "pin_337",
- "constraint": ""
+ "constraint": "B7",
+ "x": 375,
+ "y": 193
},
{
"pinId": "pin_338",
- "constraint": ""
+ "constraint": "AD10",
+ "x": 25,
+ "y": 207
},
{
"pinId": "pin_339",
- "constraint": ""
+ "constraint": "AC10",
+ "x": 39,
+ "y": 207
},
{
"pinId": "pin_340",
- "constraint": ""
+ "constraint": "A15",
+ "x": 53,
+ "y": 207
},
{
"pinId": "pin_341",
- "constraint": ""
+ "constraint": "AF15",
+ "x": 67,
+ "y": 207
},
{
"pinId": "pin_342",
- "constraint": ""
+ "constraint": "R11",
+ "x": 81,
+ "y": 207
},
{
"pinId": "pin_343",
- "constraint": ""
+ "constraint": "R12",
+ "x": 95,
+ "y": 207
},
{
"pinId": "pin_344",
- "constraint": ""
+ "constraint": "P11",
+ "x": 109,
+ "y": 207
},
{
"pinId": "pin_345",
- "constraint": ""
+ "constraint": "N12",
+ "x": 123,
+ "y": 207
},
{
"pinId": "pin_346",
- "constraint": ""
+ "constraint": "N11",
+ "x": 137,
+ "y": 207
},
{
"pinId": "pin_347",
- "constraint": ""
+ "constraint": "P12",
+ "x": 151,
+ "y": 207
},
{
"pinId": "pin_348",
- "constraint": ""
+ "constraint": "H13",
+ "x": 165,
+ "y": 207
},
{
"pinId": "pin_349",
- "constraint": ""
+ "constraint": "W10",
+ "x": 179,
+ "y": 207
},
{
"pinId": "pin_350",
- "constraint": ""
+ "constraint": "V11",
+ "x": 193,
+ "y": 207
},
{
"pinId": "pin_351",
- "constraint": ""
+ "constraint": "AB7",
+ "x": 207,
+ "y": 207
},
{
"pinId": "pin_352",
- "constraint": ""
+ "constraint": "Y9",
+ "x": 221,
+ "y": 207
},
{
"pinId": "pin_353",
- "constraint": ""
+ "constraint": "W9",
+ "x": 235,
+ "y": 207
},
{
"pinId": "pin_354",
- "constraint": ""
+ "constraint": "AE16",
+ "x": 249,
+ "y": 207
},
{
"pinId": "pin_355",
- "constraint": ""
+ "constraint": "AB15",
+ "x": 263,
+ "y": 207
},
{
"pinId": "pin_356",
- "constraint": ""
+ "constraint": "H12",
+ "x": 277,
+ "y": 207
},
{
"pinId": "pin_357",
- "constraint": ""
+ "constraint": "H10",
+ "x": 291,
+ "y": 207
},
{
"pinId": "pin_358",
- "constraint": ""
+ "constraint": "J10",
+ "x": 305,
+ "y": 207
},
{
"pinId": "pin_359",
- "constraint": ""
+ "constraint": "H11",
+ "x": 319,
+ "y": 207
},
{
"pinId": "pin_360",
- "constraint": ""
+ "constraint": "D9",
+ "x": 333,
+ "y": 207
},
{
"pinId": "pin_361",
- "constraint": ""
+ "constraint": "D11",
+ "x": 347,
+ "y": 207
},
{
"pinId": "pin_362",
- "constraint": ""
+ "constraint": "D13",
+ "x": 361,
+ "y": 207
},
{
"pinId": "pin_363",
- "constraint": ""
+ "constraint": "F10",
+ "x": 375,
+ "y": 207
},
{
"pinId": "pin_364",
- "constraint": ""
+ "constraint": "F12",
+ "x": 25,
+ "y": 221
},
{
"pinId": "pin_365",
- "constraint": ""
+ "constraint": "AA10",
+ "x": 39,
+ "y": 221
},
{
"pinId": "pin_366",
- "constraint": ""
+ "constraint": "AA12",
+ "x": 53,
+ "y": 221
},
{
"pinId": "pin_367",
- "constraint": ""
+ "constraint": "AC9",
+ "x": 67,
+ "y": 221
},
{
"pinId": "pin_368",
- "constraint": ""
+ "constraint": "AC11",
+ "x": 81,
+ "y": 221
},
{
"pinId": "pin_369",
- "constraint": ""
+ "constraint": "AC13",
+ "x": 95,
+ "y": 221
},
{
"pinId": "pin_370",
- "constraint": ""
+ "constraint": "B8",
+ "x": 109,
+ "y": 221
},
{
"pinId": "pin_371",
- "constraint": ""
+ "constraint": "B10",
+ "x": 123,
+ "y": 221
},
{
"pinId": "pin_372",
- "constraint": ""
+ "constraint": "B12",
+ "x": 137,
+ "y": 221
},
{
"pinId": "pin_373",
- "constraint": ""
+ "constraint": "B14",
+ "x": 151,
+ "y": 221
},
{
"pinId": "pin_374",
- "constraint": ""
+ "constraint": "C7",
+ "x": 165,
+ "y": 221
},
{
"pinId": "pin_375",
- "constraint": ""
+ "constraint": "C15",
+ "x": 179,
+ "y": 221
},
{
"pinId": "pin_376",
- "constraint": ""
+ "constraint": "AD7",
+ "x": 193,
+ "y": 221
},
{
"pinId": "pin_377",
- "constraint": ""
+ "constraint": "AD15",
+ "x": 207,
+ "y": 221
},
{
"pinId": "pin_378",
- "constraint": ""
+ "constraint": "AE8",
+ "x": 221,
+ "y": 221
},
{
"pinId": "pin_379",
- "constraint": ""
+ "constraint": "AE10",
+ "x": 235,
+ "y": 221
},
{
"pinId": "pin_380",
- "constraint": ""
+ "constraint": "AE12",
+ "x": 249,
+ "y": 221
},
{
"pinId": "pin_381",
- "constraint": ""
+ "constraint": "AE14",
+ "x": 263,
+ "y": 221
},
{
"pinId": "pin_382",
- "constraint": ""
+ "constraint": "J11",
+ "x": 277,
+ "y": 221
},
{
"pinId": "pin_383",
- "constraint": ""
+ "constraint": "J13",
+ "x": 291,
+ "y": 221
},
{
"pinId": "pin_384",
- "constraint": ""
+ "constraint": "K10",
+ "x": 305,
+ "y": 221
},
{
"pinId": "pin_385",
- "constraint": ""
+ "constraint": "K12",
+ "x": 319,
+ "y": 221
},
{
"pinId": "pin_386",
- "constraint": ""
+ "constraint": "L11",
+ "x": 333,
+ "y": 221
},
{
"pinId": "pin_387",
- "constraint": ""
+ "constraint": "L13",
+ "x": 347,
+ "y": 221
},
{
"pinId": "pin_388",
- "constraint": ""
+ "constraint": "M10",
+ "x": 361,
+ "y": 221
},
{
"pinId": "pin_389",
- "constraint": ""
+ "constraint": "P10",
+ "x": 375,
+ "y": 221
},
{
"pinId": "pin_390",
- "constraint": ""
+ "constraint": "T10",
+ "x": 25,
+ "y": 235
},
{
"pinId": "pin_391",
- "constraint": ""
+ "constraint": "T12",
+ "x": 39,
+ "y": 235
},
{
"pinId": "pin_392",
- "constraint": ""
+ "constraint": "U11",
+ "x": 53,
+ "y": 235
},
{
"pinId": "pin_393",
- "constraint": ""
+ "constraint": "V10",
+ "x": 67,
+ "y": 235
},
{
"pinId": "pin_394",
- "constraint": ""
+ "constraint": "V12",
+ "x": 81,
+ "y": 235
},
{
"pinId": "pin_395",
- "constraint": ""
+ "constraint": "N13",
+ "x": 95,
+ "y": 235
},
{
"pinId": "pin_396",
- "constraint": ""
+ "constraint": "R13",
+ "x": 109,
+ "y": 235
},
{
"pinId": "pin_397",
- "constraint": ""
+ "constraint": "U13",
+ "x": 123,
+ "y": 235
},
{
"pinId": "pin_398",
- "constraint": ""
+ "constraint": "W13",
+ "x": 137,
+ "y": 235
},
{
"pinId": "pin_399",
- "constraint": ""
+ "constraint": "J9",
+ "x": 151,
+ "y": 235
},
{
"pinId": "pin_400",
- "constraint": ""
+ "constraint": "L9",
+ "x": 165,
+ "y": 235
},
{
"pinId": "pin_401",
- "constraint": ""
+ "constraint": "N9",
+ "x": 179,
+ "y": 235
},
{
"pinId": "pin_402",
- "constraint": ""
+ "constraint": "R9",
+ "x": 193,
+ "y": 235
},
{
"pinId": "pin_403",
- "constraint": ""
+ "constraint": "U9",
+ "x": 207,
+ "y": 235
},
{
"pinId": "pin_404",
- "constraint": ""
+ "constraint": "M12",
+ "x": 221,
+ "y": 235
},
{
"pinId": "pin_405",
- "constraint": ""
+ "constraint": "G14",
+ "x": 235,
+ "y": 235
},
{
"pinId": "pin_406",
- "constraint": ""
+ "constraint": "W11",
+ "x": 249,
+ "y": 235
},
{
"pinId": "pin_407",
- "constraint": ""
+ "constraint": "Y14",
+ "x": 263,
+ "y": 235
},
{
"pinId": "pin_408",
- "constraint": ""
+ "constraint": "A21",
+ "x": 277,
+ "y": 235
},
{
"pinId": "pin_409",
- "constraint": ""
+ "constraint": "B18",
+ "x": 291,
+ "y": 235
},
{
"pinId": "pin_410",
- "constraint": ""
+ "constraint": "C25",
+ "x": 305,
+ "y": 235
},
{
"pinId": "pin_411",
- "constraint": ""
+ "constraint": "D22",
+ "x": 319,
+ "y": 235
},
{
"pinId": "pin_412",
- "constraint": ""
+ "constraint": "E19",
+ "x": 333,
+ "y": 235
},
{
"pinId": "pin_413",
- "constraint": ""
+ "constraint": "F16",
+ "x": 347,
+ "y": 235
},
{
"pinId": "pin_414",
- "constraint": ""
+ "constraint": "F26",
+ "x": 361,
+ "y": 235
},
{
"pinId": "pin_415",
- "constraint": ""
+ "constraint": "G23",
+ "x": 375,
+ "y": 235
},
{
"pinId": "pin_416",
- "constraint": ""
+ "constraint": "H20",
+ "x": 25,
+ "y": 249
},
{
"pinId": "pin_417",
- "constraint": ""
+ "constraint": "",
+ "x": 39,
+ "y": 249
},
{
"pinId": "pin_418",
- "constraint": ""
+ "constraint": "",
+ "x": 53,
+ "y": 249
},
{
"pinId": "pin_419",
- "constraint": ""
+ "constraint": "",
+ "x": 67,
+ "y": 249
},
{
"pinId": "pin_420",
- "constraint": ""
+ "constraint": "",
+ "x": 81,
+ "y": 249
},
{
"pinId": "pin_421",
- "constraint": ""
+ "constraint": "",
+ "x": 95,
+ "y": 249
},
{
"pinId": "pin_422",
- "constraint": ""
+ "constraint": "",
+ "x": 109,
+ "y": 249
},
{
"pinId": "pin_423",
- "constraint": ""
+ "constraint": "",
+ "x": 123,
+ "y": 249
},
{
"pinId": "pin_424",
- "constraint": ""
+ "constraint": "",
+ "x": 137,
+ "y": 249
},
{
"pinId": "pin_425",
- "constraint": ""
+ "constraint": "",
+ "x": 151,
+ "y": 249
},
{
"pinId": "pin_426",
- "constraint": ""
+ "constraint": "",
+ "x": 165,
+ "y": 249
},
{
"pinId": "pin_427",
- "constraint": ""
+ "constraint": "",
+ "x": 179,
+ "y": 249
},
{
"pinId": "pin_428",
- "constraint": ""
+ "constraint": "",
+ "x": 193,
+ "y": 249
},
{
"pinId": "pin_429",
- "constraint": ""
+ "constraint": "",
+ "x": 207,
+ "y": 249
},
{
"pinId": "pin_430",
- "constraint": ""
+ "constraint": "",
+ "x": 221,
+ "y": 249
},
{
"pinId": "pin_431",
- "constraint": ""
+ "constraint": "",
+ "x": 235,
+ "y": 249
},
{
"pinId": "pin_432",
- "constraint": ""
+ "constraint": "",
+ "x": 249,
+ "y": 249
},
{
"pinId": "pin_433",
- "constraint": ""
+ "constraint": "",
+ "x": 263,
+ "y": 249
},
{
"pinId": "pin_434",
- "constraint": ""
+ "constraint": "",
+ "x": 277,
+ "y": 249
},
{
"pinId": "pin_435",
- "constraint": ""
+ "constraint": "",
+ "x": 291,
+ "y": 249
},
{
"pinId": "pin_436",
- "constraint": ""
+ "constraint": "",
+ "x": 305,
+ "y": 249
},
{
"pinId": "pin_437",
- "constraint": ""
+ "constraint": "",
+ "x": 319,
+ "y": 249
},
{
"pinId": "pin_438",
- "constraint": ""
+ "constraint": "",
+ "x": 333,
+ "y": 249
},
{
"pinId": "pin_439",
- "constraint": ""
+ "constraint": "",
+ "x": 347,
+ "y": 249
},
{
"pinId": "pin_440",
- "constraint": ""
+ "constraint": "",
+ "x": 361,
+ "y": 249
},
{
"pinId": "pin_441",
- "constraint": ""
+ "constraint": "",
+ "x": 375,
+ "y": 249
},
{
"pinId": "pin_442",
- "constraint": ""
+ "constraint": "",
+ "x": 25,
+ "y": 263
},
{
"pinId": "pin_443",
- "constraint": ""
+ "constraint": "",
+ "x": 39,
+ "y": 263
},
{
"pinId": "pin_444",
- "constraint": ""
+ "constraint": "",
+ "x": 53,
+ "y": 263
},
{
"pinId": "pin_445",
- "constraint": ""
+ "constraint": "",
+ "x": 67,
+ "y": 263
},
{
"pinId": "pin_446",
- "constraint": ""
+ "constraint": "",
+ "x": 81,
+ "y": 263
},
{
"pinId": "pin_447",
- "constraint": ""
+ "constraint": "",
+ "x": 95,
+ "y": 263
},
{
"pinId": "pin_448",
- "constraint": ""
+ "constraint": "",
+ "x": 109,
+ "y": 263
},
{
"pinId": "pin_449",
- "constraint": ""
+ "constraint": "",
+ "x": 123,
+ "y": 263
},
{
"pinId": "pin_450",
- "constraint": ""
+ "constraint": "",
+ "x": 137,
+ "y": 263
},
{
"pinId": "pin_451",
- "constraint": ""
+ "constraint": "",
+ "x": 151,
+ "y": 263
},
{
"pinId": "pin_452",
- "constraint": ""
+ "constraint": "",
+ "x": 165,
+ "y": 263
},
{
"pinId": "pin_453",
- "constraint": ""
+ "constraint": "",
+ "x": 179,
+ "y": 263
},
{
"pinId": "pin_454",
- "constraint": ""
+ "constraint": "",
+ "x": 193,
+ "y": 263
},
{
"pinId": "pin_455",
- "constraint": ""
+ "constraint": "",
+ "x": 207,
+ "y": 263
},
{
"pinId": "pin_456",
- "constraint": ""
+ "constraint": "",
+ "x": 221,
+ "y": 263
},
{
"pinId": "pin_457",
- "constraint": ""
+ "constraint": "",
+ "x": 235,
+ "y": 263
},
{
"pinId": "pin_458",
- "constraint": ""
+ "constraint": "",
+ "x": 249,
+ "y": 263
},
{
"pinId": "pin_459",
- "constraint": ""
+ "constraint": "",
+ "x": 263,
+ "y": 263
},
{
"pinId": "pin_460",
- "constraint": ""
+ "constraint": "",
+ "x": 277,
+ "y": 263
},
{
"pinId": "pin_461",
- "constraint": ""
+ "constraint": "",
+ "x": 291,
+ "y": 263
},
{
"pinId": "pin_462",
- "constraint": ""
+ "constraint": "",
+ "x": 305,
+ "y": 263
},
{
"pinId": "pin_463",
- "constraint": ""
+ "constraint": "",
+ "x": 319,
+ "y": 263
},
{
"pinId": "pin_464",
- "constraint": ""
+ "constraint": "",
+ "x": 333,
+ "y": 263
},
{
"pinId": "pin_465",
- "constraint": ""
+ "constraint": "",
+ "x": 347,
+ "y": 263
},
{
"pinId": "pin_466",
- "constraint": ""
+ "constraint": "",
+ "x": 361,
+ "y": 263
},
{
"pinId": "pin_467",
- "constraint": ""
+ "constraint": "",
+ "x": 375,
+ "y": 263
},
{
"pinId": "pin_468",
- "constraint": ""
+ "constraint": "",
+ "x": 25,
+ "y": 277
},
{
"pinId": "pin_469",
- "constraint": ""
+ "constraint": "",
+ "x": 39,
+ "y": 277
},
{
"pinId": "pin_470",
- "constraint": ""
+ "constraint": "",
+ "x": 53,
+ "y": 277
},
{
"pinId": "pin_471",
- "constraint": ""
+ "constraint": "",
+ "x": 67,
+ "y": 277
},
{
"pinId": "pin_472",
- "constraint": ""
+ "constraint": "",
+ "x": 81,
+ "y": 277
},
{
"pinId": "pin_473",
- "constraint": ""
+ "constraint": "",
+ "x": 95,
+ "y": 277
},
{
"pinId": "pin_474",
- "constraint": ""
+ "constraint": "",
+ "x": 109,
+ "y": 277
},
{
"pinId": "pin_475",
- "constraint": ""
+ "constraint": "",
+ "x": 123,
+ "y": 277
},
{
"pinId": "pin_476",
- "constraint": ""
+ "constraint": "",
+ "x": 137,
+ "y": 277
},
{
"pinId": "pin_477",
- "constraint": ""
+ "constraint": "",
+ "x": 151,
+ "y": 277
},
{
"pinId": "pin_478",
- "constraint": ""
+ "constraint": "",
+ "x": 165,
+ "y": 277
},
{
"pinId": "pin_479",
- "constraint": ""
+ "constraint": "",
+ "x": 179,
+ "y": 277
},
{
"pinId": "pin_480",
- "constraint": ""
+ "constraint": "",
+ "x": 193,
+ "y": 277
},
{
"pinId": "pin_481",
- "constraint": ""
+ "constraint": "",
+ "x": 207,
+ "y": 277
},
{
"pinId": "pin_482",
- "constraint": ""
+ "constraint": "",
+ "x": 221,
+ "y": 277
},
{
"pinId": "pin_483",
- "constraint": ""
+ "constraint": "",
+ "x": 235,
+ "y": 277
},
{
"pinId": "pin_484",
- "constraint": ""
+ "constraint": "",
+ "x": 249,
+ "y": 277
},
{
"pinId": "pin_485",
- "constraint": ""
+ "constraint": "",
+ "x": 263,
+ "y": 277
},
{
"pinId": "pin_486",
- "constraint": ""
+ "constraint": "",
+ "x": 277,
+ "y": 277
},
{
"pinId": "pin_487",
- "constraint": ""
+ "constraint": "",
+ "x": 291,
+ "y": 277
},
{
"pinId": "pin_488",
- "constraint": ""
+ "constraint": "",
+ "x": 305,
+ "y": 277
},
{
"pinId": "pin_489",
- "constraint": ""
+ "constraint": "",
+ "x": 319,
+ "y": 277
},
{
"pinId": "pin_490",
- "constraint": ""
+ "constraint": "",
+ "x": 333,
+ "y": 277
},
{
"pinId": "pin_491",
- "constraint": ""
+ "constraint": "",
+ "x": 347,
+ "y": 277
},
{
"pinId": "pin_492",
- "constraint": ""
+ "constraint": "",
+ "x": 361,
+ "y": 277
},
{
"pinId": "pin_493",
- "constraint": ""
+ "constraint": "",
+ "x": 375,
+ "y": 277
},
{
"pinId": "pin_494",
- "constraint": ""
+ "constraint": "",
+ "x": 25,
+ "y": 291
},
{
"pinId": "pin_495",
- "constraint": ""
+ "constraint": "",
+ "x": 39,
+ "y": 291
},
{
"pinId": "pin_496",
- "constraint": ""
+ "constraint": "",
+ "x": 53,
+ "y": 291
},
{
"pinId": "pin_497",
- "constraint": ""
+ "constraint": "",
+ "x": 67,
+ "y": 291
},
{
"pinId": "pin_498",
- "constraint": ""
+ "constraint": "",
+ "x": 81,
+ "y": 291
},
{
"pinId": "pin_499",
- "constraint": ""
+ "constraint": "",
+ "x": 95,
+ "y": 291
},
{
"pinId": "pin_500",
- "constraint": ""
+ "constraint": "",
+ "x": 109,
+ "y": 291
},
{
"pinId": "pin_501",
- "constraint": ""
+ "constraint": "",
+ "x": 123,
+ "y": 291
},
{
"pinId": "pin_502",
- "constraint": ""
+ "constraint": "",
+ "x": 137,
+ "y": 291
},
{
"pinId": "pin_503",
- "constraint": ""
+ "constraint": "",
+ "x": 151,
+ "y": 291
},
{
"pinId": "pin_504",
- "constraint": ""
+ "constraint": "",
+ "x": 165,
+ "y": 291
},
{
"pinId": "pin_505",
- "constraint": ""
+ "constraint": "",
+ "x": 179,
+ "y": 291
},
{
"pinId": "pin_506",
- "constraint": ""
+ "constraint": "",
+ "x": 193,
+ "y": 291
},
{
"pinId": "pin_507",
- "constraint": ""
+ "constraint": "",
+ "x": 207,
+ "y": 291
},
{
"pinId": "pin_508",
- "constraint": ""
+ "constraint": "",
+ "x": 221,
+ "y": 291
},
{
"pinId": "pin_509",
- "constraint": ""
+ "constraint": "",
+ "x": 235,
+ "y": 291
},
{
"pinId": "pin_510",
- "constraint": ""
+ "constraint": "",
+ "x": 249,
+ "y": 291
},
{
"pinId": "pin_511",
- "constraint": ""
+ "constraint": "",
+ "x": 263,
+ "y": 291
},
{
"pinId": "pin_512",
- "constraint": ""
+ "constraint": "",
+ "x": 277,
+ "y": 291
},
{
"pinId": "pin_513",
- "constraint": ""
+ "constraint": "",
+ "x": 291,
+ "y": 291
},
{
"pinId": "pin_514",
- "constraint": ""
+ "constraint": "",
+ "x": 305,
+ "y": 291
},
{
"pinId": "pin_515",
- "constraint": ""
+ "constraint": "",
+ "x": 319,
+ "y": 291
},
{
"pinId": "pin_516",
- "constraint": ""
+ "constraint": "",
+ "x": 333,
+ "y": 291
},
{
"pinId": "pin_517",
- "constraint": ""
+ "constraint": "",
+ "x": 347,
+ "y": 291
},
{
"pinId": "pin_518",
- "constraint": ""
+ "constraint": "",
+ "x": 361,
+ "y": 291
},
{
"pinId": "pin_519",
- "constraint": ""
+ "constraint": "",
+ "x": 375,
+ "y": 291
},
{
"pinId": "pin_520",
- "constraint": ""
+ "constraint": "",
+ "x": 25,
+ "y": 305
},
{
"pinId": "pin_521",
- "constraint": ""
+ "constraint": "",
+ "x": 39,
+ "y": 305
},
{
"pinId": "pin_522",
- "constraint": ""
+ "constraint": "",
+ "x": 53,
+ "y": 305
},
{
"pinId": "pin_523",
- "constraint": ""
+ "constraint": "",
+ "x": 67,
+ "y": 305
},
{
"pinId": "pin_524",
- "constraint": ""
+ "constraint": "",
+ "x": 81,
+ "y": 305
},
{
"pinId": "pin_525",
- "constraint": ""
+ "constraint": "",
+ "x": 95,
+ "y": 305
},
{
"pinId": "pin_526",
- "constraint": ""
+ "constraint": "",
+ "x": 109,
+ "y": 305
},
{
"pinId": "pin_527",
- "constraint": ""
+ "constraint": "",
+ "x": 123,
+ "y": 305
},
{
"pinId": "pin_528",
- "constraint": ""
+ "constraint": "",
+ "x": 137,
+ "y": 305
},
{
"pinId": "pin_529",
- "constraint": ""
+ "constraint": "",
+ "x": 151,
+ "y": 305
},
{
"pinId": "pin_530",
- "constraint": ""
+ "constraint": "",
+ "x": 165,
+ "y": 305
},
{
"pinId": "pin_531",
- "constraint": ""
+ "constraint": "",
+ "x": 179,
+ "y": 305
},
{
"pinId": "pin_532",
- "constraint": ""
+ "constraint": "",
+ "x": 193,
+ "y": 305
},
{
"pinId": "pin_533",
- "constraint": ""
+ "constraint": "",
+ "x": 207,
+ "y": 305
},
{
"pinId": "pin_534",
- "constraint": ""
+ "constraint": "",
+ "x": 221,
+ "y": 305
},
{
"pinId": "pin_535",
- "constraint": ""
+ "constraint": "",
+ "x": 235,
+ "y": 305
},
{
"pinId": "pin_536",
- "constraint": ""
+ "constraint": "",
+ "x": 249,
+ "y": 305
},
{
"pinId": "pin_537",
- "constraint": ""
+ "constraint": "",
+ "x": 263,
+ "y": 305
},
{
"pinId": "pin_538",
- "constraint": ""
+ "constraint": "",
+ "x": 277,
+ "y": 305
},
{
"pinId": "pin_539",
- "constraint": ""
+ "constraint": "",
+ "x": 291,
+ "y": 305
},
{
"pinId": "pin_540",
- "constraint": ""
+ "constraint": "",
+ "x": 305,
+ "y": 305
},
{
"pinId": "pin_541",
- "constraint": ""
+ "constraint": "",
+ "x": 319,
+ "y": 305
},
{
"pinId": "pin_542",
- "constraint": ""
+ "constraint": "",
+ "x": 333,
+ "y": 305
},
{
"pinId": "pin_543",
- "constraint": ""
+ "constraint": "",
+ "x": 347,
+ "y": 305
},
{
"pinId": "pin_544",
- "constraint": ""
+ "constraint": "",
+ "x": 361,
+ "y": 305
},
{
"pinId": "pin_545",
- "constraint": ""
+ "constraint": "",
+ "x": 375,
+ "y": 305
},
{
"pinId": "pin_546",
- "constraint": ""
+ "constraint": "",
+ "x": 25,
+ "y": 319
},
{
"pinId": "pin_547",
- "constraint": ""
+ "constraint": "",
+ "x": 39,
+ "y": 319
},
{
"pinId": "pin_548",
- "constraint": ""
+ "constraint": "",
+ "x": 53,
+ "y": 319
},
{
"pinId": "pin_549",
- "constraint": ""
+ "constraint": "",
+ "x": 67,
+ "y": 319
},
{
"pinId": "pin_550",
- "constraint": ""
+ "constraint": "",
+ "x": 81,
+ "y": 319
},
{
"pinId": "pin_551",
- "constraint": ""
+ "constraint": "",
+ "x": 95,
+ "y": 319
},
{
"pinId": "pin_552",
- "constraint": ""
+ "constraint": "",
+ "x": 109,
+ "y": 319
},
{
"pinId": "pin_553",
- "constraint": ""
+ "constraint": "",
+ "x": 123,
+ "y": 319
},
{
"pinId": "pin_554",
- "constraint": ""
+ "constraint": "",
+ "x": 137,
+ "y": 319
},
{
"pinId": "pin_555",
- "constraint": ""
+ "constraint": "",
+ "x": 151,
+ "y": 319
},
{
"pinId": "pin_556",
- "constraint": ""
+ "constraint": "",
+ "x": 165,
+ "y": 319
},
{
"pinId": "pin_557",
- "constraint": ""
+ "constraint": "",
+ "x": 179,
+ "y": 319
},
{
"pinId": "pin_558",
- "constraint": ""
+ "constraint": "",
+ "x": 193,
+ "y": 319
},
{
"pinId": "pin_559",
- "constraint": ""
+ "constraint": "",
+ "x": 207,
+ "y": 319
},
{
"pinId": "pin_560",
- "constraint": ""
+ "constraint": "",
+ "x": 221,
+ "y": 319
},
{
"pinId": "pin_561",
- "constraint": ""
+ "constraint": "",
+ "x": 235,
+ "y": 319
},
{
"pinId": "pin_562",
- "constraint": ""
+ "constraint": "",
+ "x": 249,
+ "y": 319
},
{
"pinId": "pin_563",
- "constraint": ""
+ "constraint": "",
+ "x": 263,
+ "y": 319
},
{
"pinId": "pin_564",
- "constraint": ""
+ "constraint": "",
+ "x": 277,
+ "y": 319
},
{
"pinId": "pin_565",
- "constraint": ""
+ "constraint": "",
+ "x": 291,
+ "y": 319
},
{
"pinId": "pin_566",
- "constraint": ""
+ "constraint": "",
+ "x": 305,
+ "y": 319
},
{
"pinId": "pin_567",
- "constraint": ""
+ "constraint": "",
+ "x": 319,
+ "y": 319
},
{
"pinId": "pin_568",
- "constraint": ""
+ "constraint": "",
+ "x": 333,
+ "y": 319
},
{
"pinId": "pin_569",
- "constraint": ""
+ "constraint": "",
+ "x": 347,
+ "y": 319
},
{
"pinId": "pin_570",
- "constraint": ""
+ "constraint": "",
+ "x": 361,
+ "y": 319
},
{
"pinId": "pin_571",
- "constraint": ""
+ "constraint": "",
+ "x": 375,
+ "y": 319
},
{
"pinId": "pin_572",
- "constraint": ""
+ "constraint": "",
+ "x": 25,
+ "y": 333
},
{
"pinId": "pin_573",
- "constraint": ""
+ "constraint": "",
+ "x": 39,
+ "y": 333
},
{
"pinId": "pin_574",
- "constraint": ""
+ "constraint": "",
+ "x": 53,
+ "y": 333
},
{
"pinId": "pin_575",
- "constraint": ""
+ "constraint": "",
+ "x": 67,
+ "y": 333
},
{
"pinId": "pin_576",
- "constraint": ""
+ "constraint": "",
+ "x": 81,
+ "y": 333
},
{
"pinId": "pin_577",
- "constraint": ""
+ "constraint": "",
+ "x": 95,
+ "y": 333
},
{
"pinId": "pin_578",
- "constraint": ""
+ "constraint": "",
+ "x": 109,
+ "y": 333
},
{
"pinId": "pin_579",
- "constraint": ""
+ "constraint": "",
+ "x": 123,
+ "y": 333
},
{
"pinId": "pin_580",
- "constraint": ""
+ "constraint": "",
+ "x": 137,
+ "y": 333
},
{
"pinId": "pin_581",
- "constraint": ""
+ "constraint": "",
+ "x": 151,
+ "y": 333
},
{
"pinId": "pin_582",
- "constraint": ""
+ "constraint": "",
+ "x": 165,
+ "y": 333
},
{
"pinId": "pin_583",
- "constraint": ""
+ "constraint": "",
+ "x": 179,
+ "y": 333
},
{
"pinId": "pin_584",
- "constraint": ""
+ "constraint": "",
+ "x": 193,
+ "y": 333
},
{
"pinId": "pin_585",
- "constraint": ""
+ "constraint": "",
+ "x": 207,
+ "y": 333
},
{
"pinId": "pin_586",
- "constraint": ""
+ "constraint": "",
+ "x": 221,
+ "y": 333
},
{
"pinId": "pin_587",
- "constraint": ""
+ "constraint": "",
+ "x": 235,
+ "y": 333
},
{
"pinId": "pin_588",
- "constraint": ""
+ "constraint": "",
+ "x": 249,
+ "y": 333
},
{
"pinId": "pin_589",
- "constraint": ""
+ "constraint": "",
+ "x": 263,
+ "y": 333
},
{
"pinId": "pin_590",
- "constraint": ""
+ "constraint": "",
+ "x": 277,
+ "y": 333
},
{
"pinId": "pin_591",
- "constraint": ""
+ "constraint": "",
+ "x": 291,
+ "y": 333
},
{
"pinId": "pin_592",
- "constraint": ""
+ "constraint": "",
+ "x": 305,
+ "y": 333
},
{
"pinId": "pin_593",
- "constraint": ""
+ "constraint": "",
+ "x": 319,
+ "y": 333
},
{
"pinId": "pin_594",
- "constraint": ""
+ "constraint": "",
+ "x": 333,
+ "y": 333
},
{
"pinId": "pin_595",
- "constraint": ""
+ "constraint": "",
+ "x": 347,
+ "y": 333
},
{
"pinId": "pin_596",
- "constraint": ""
+ "constraint": "",
+ "x": 361,
+ "y": 333
},
{
"pinId": "pin_597",
- "constraint": ""
+ "constraint": "",
+ "x": 375,
+ "y": 333
},
{
"pinId": "pin_598",
- "constraint": ""
+ "constraint": "",
+ "x": 25,
+ "y": 347
},
{
"pinId": "pin_599",
- "constraint": ""
+ "constraint": "",
+ "x": 39,
+ "y": 347
},
{
"pinId": "pin_600",
- "constraint": ""
+ "constraint": "",
+ "x": 53,
+ "y": 347
},
{
"pinId": "pin_601",
- "constraint": ""
+ "constraint": "",
+ "x": 67,
+ "y": 347
},
{
"pinId": "pin_602",
- "constraint": ""
+ "constraint": "",
+ "x": 81,
+ "y": 347
},
{
"pinId": "pin_603",
- "constraint": ""
+ "constraint": "",
+ "x": 95,
+ "y": 347
},
{
"pinId": "pin_604",
- "constraint": ""
+ "constraint": "",
+ "x": 109,
+ "y": 347
},
{
"pinId": "pin_605",
- "constraint": ""
+ "constraint": "",
+ "x": 123,
+ "y": 347
},
{
"pinId": "pin_606",
- "constraint": ""
+ "constraint": "",
+ "x": 137,
+ "y": 347
},
{
"pinId": "pin_607",
- "constraint": ""
+ "constraint": "",
+ "x": 151,
+ "y": 347
},
{
"pinId": "pin_608",
- "constraint": ""
+ "constraint": "",
+ "x": 165,
+ "y": 347
},
{
"pinId": "pin_609",
- "constraint": ""
+ "constraint": "",
+ "x": 179,
+ "y": 347
},
{
"pinId": "pin_610",
- "constraint": ""
+ "constraint": "",
+ "x": 193,
+ "y": 347
},
{
"pinId": "pin_611",
- "constraint": ""
+ "constraint": "",
+ "x": 207,
+ "y": 347
},
{
"pinId": "pin_612",
- "constraint": ""
+ "constraint": "",
+ "x": 221,
+ "y": 347
},
{
"pinId": "pin_613",
- "constraint": ""
+ "constraint": "",
+ "x": 235,
+ "y": 347
},
{
"pinId": "pin_614",
- "constraint": ""
+ "constraint": "",
+ "x": 249,
+ "y": 347
},
{
"pinId": "pin_615",
- "constraint": ""
+ "constraint": "",
+ "x": 263,
+ "y": 347
},
{
"pinId": "pin_616",
- "constraint": ""
+ "constraint": "",
+ "x": 277,
+ "y": 347
},
{
"pinId": "pin_617",
- "constraint": ""
+ "constraint": "",
+ "x": 291,
+ "y": 347
},
{
"pinId": "pin_618",
- "constraint": ""
+ "constraint": "",
+ "x": 305,
+ "y": 347
},
{
"pinId": "pin_619",
- "constraint": ""
+ "constraint": "",
+ "x": 319,
+ "y": 347
},
{
"pinId": "pin_620",
- "constraint": ""
+ "constraint": "",
+ "x": 333,
+ "y": 347
},
{
"pinId": "pin_621",
- "constraint": ""
+ "constraint": "",
+ "x": 347,
+ "y": 347
},
{
"pinId": "pin_622",
- "constraint": ""
+ "constraint": "",
+ "x": 361,
+ "y": 347
},
{
"pinId": "pin_623",
- "constraint": ""
+ "constraint": "",
+ "x": 375,
+ "y": 347
},
{
"pinId": "pin_624",
- "constraint": ""
+ "constraint": "",
+ "x": 25,
+ "y": 361
},
{
"pinId": "pin_625",
- "constraint": ""
+ "constraint": "",
+ "x": 39,
+ "y": 361
},
{
"pinId": "pin_626",
- "constraint": ""
+ "constraint": "",
+ "x": 53,
+ "y": 361
},
{
"pinId": "pin_627",
- "constraint": ""
+ "constraint": "",
+ "x": 67,
+ "y": 361
},
{
"pinId": "pin_628",
- "constraint": ""
+ "constraint": "",
+ "x": 81,
+ "y": 361
},
{
"pinId": "pin_629",
- "constraint": ""
+ "constraint": "",
+ "x": 95,
+ "y": 361
},
{
"pinId": "pin_630",
- "constraint": ""
+ "constraint": "",
+ "x": 109,
+ "y": 361
},
{
"pinId": "pin_631",
- "constraint": ""
+ "constraint": "",
+ "x": 123,
+ "y": 361
},
{
"pinId": "pin_632",
- "constraint": ""
+ "constraint": "",
+ "x": 137,
+ "y": 361
},
{
"pinId": "pin_633",
- "constraint": ""
+ "constraint": "",
+ "x": 151,
+ "y": 361
},
{
"pinId": "pin_634",
- "constraint": ""
+ "constraint": "",
+ "x": 165,
+ "y": 361
},
{
"pinId": "pin_635",
- "constraint": ""
+ "constraint": "",
+ "x": 179,
+ "y": 361
},
{
"pinId": "pin_636",
- "constraint": ""
+ "constraint": "",
+ "x": 193,
+ "y": 361
},
{
"pinId": "pin_637",
- "constraint": ""
+ "constraint": "",
+ "x": 207,
+ "y": 361
},
{
"pinId": "pin_638",
- "constraint": ""
+ "constraint": "",
+ "x": 221,
+ "y": 361
},
{
"pinId": "pin_639",
- "constraint": ""
+ "constraint": "",
+ "x": 235,
+ "y": 361
},
{
"pinId": "pin_640",
- "constraint": ""
+ "constraint": "",
+ "x": 249,
+ "y": 361
},
{
"pinId": "pin_641",
- "constraint": ""
+ "constraint": "",
+ "x": 263,
+ "y": 361
},
{
"pinId": "pin_642",
- "constraint": ""
+ "constraint": "",
+ "x": 277,
+ "y": 361
},
{
"pinId": "pin_643",
- "constraint": ""
+ "constraint": "",
+ "x": 291,
+ "y": 361
},
{
"pinId": "pin_644",
- "constraint": ""
+ "constraint": "",
+ "x": 305,
+ "y": 361
},
{
"pinId": "pin_645",
- "constraint": ""
+ "constraint": "",
+ "x": 319,
+ "y": 361
},
{
"pinId": "pin_646",
- "constraint": ""
+ "constraint": "",
+ "x": 333,
+ "y": 361
},
{
"pinId": "pin_647",
- "constraint": ""
+ "constraint": "",
+ "x": 347,
+ "y": 361
},
{
"pinId": "pin_648",
- "constraint": ""
+ "constraint": "",
+ "x": 361,
+ "y": 361
},
{
"pinId": "pin_649",
- "constraint": ""
+ "constraint": "",
+ "x": 375,
+ "y": 361
},
{
"pinId": "pin_650",
- "constraint": ""
+ "constraint": "",
+ "x": 25,
+ "y": 375
},
{
"pinId": "pin_651",
- "constraint": ""
+ "constraint": "",
+ "x": 39,
+ "y": 375
},
{
"pinId": "pin_652",
- "constraint": ""
+ "constraint": "",
+ "x": 53,
+ "y": 375
},
{
"pinId": "pin_653",
- "constraint": ""
+ "constraint": "",
+ "x": 67,
+ "y": 375
},
{
"pinId": "pin_654",
- "constraint": ""
+ "constraint": "",
+ "x": 81,
+ "y": 375
},
{
"pinId": "pin_655",
- "constraint": ""
+ "constraint": "",
+ "x": 95,
+ "y": 375
},
{
"pinId": "pin_656",
- "constraint": ""
+ "constraint": "",
+ "x": 109,
+ "y": 375
},
{
"pinId": "pin_657",
- "constraint": ""
+ "constraint": "",
+ "x": 123,
+ "y": 375
},
{
"pinId": "pin_658",
- "constraint": ""
+ "constraint": "",
+ "x": 137,
+ "y": 375
},
{
"pinId": "pin_659",
- "constraint": ""
+ "constraint": "",
+ "x": 151,
+ "y": 375
},
{
"pinId": "pin_660",
- "constraint": ""
+ "constraint": "",
+ "x": 165,
+ "y": 375
},
{
"pinId": "pin_661",
- "constraint": ""
+ "constraint": "",
+ "x": 179,
+ "y": 375
},
{
"pinId": "pin_662",
- "constraint": ""
+ "constraint": "",
+ "x": 193,
+ "y": 375
},
{
"pinId": "pin_663",
- "constraint": ""
+ "constraint": "",
+ "x": 207,
+ "y": 375
},
{
"pinId": "pin_664",
- "constraint": ""
+ "constraint": "",
+ "x": 221,
+ "y": 375
},
{
"pinId": "pin_665",
- "constraint": ""
+ "constraint": "",
+ "x": 235,
+ "y": 375
},
{
"pinId": "pin_666",
- "constraint": ""
+ "constraint": "",
+ "x": 249,
+ "y": 375
},
{
"pinId": "pin_667",
- "constraint": ""
+ "constraint": "",
+ "x": 263,
+ "y": 375
},
{
"pinId": "pin_668",
- "constraint": ""
+ "constraint": "",
+ "x": 277,
+ "y": 375
},
{
"pinId": "pin_669",
- "constraint": ""
+ "constraint": "",
+ "x": 291,
+ "y": 375
},
{
"pinId": "pin_670",
- "constraint": ""
+ "constraint": "",
+ "x": 305,
+ "y": 375
},
{
"pinId": "pin_671",
- "constraint": ""
+ "constraint": "",
+ "x": 319,
+ "y": 375
},
{
"pinId": "pin_672",
- "constraint": ""
+ "constraint": "",
+ "x": 333,
+ "y": 375
},
{
"pinId": "pin_673",
- "constraint": ""
+ "constraint": "",
+ "x": 347,
+ "y": 375
},
{
"pinId": "pin_674",
- "constraint": ""
+ "constraint": "",
+ "x": 361,
+ "y": 375
},
{
"pinId": "pin_675",
- "constraint": ""
+ "constraint": "",
+ "x": 375,
+ "y": 375
}
]
},
diff --git a/server/src/Peripherals/CommandID.md b/server/src/Peripherals/CommandID.md
index f45e39b..88043d2 100644
--- a/server/src/Peripherals/CommandID.md
+++ b/server/src/Peripherals/CommandID.md
@@ -1,3 +1,4 @@
+# CommandID
示波器:12
逻辑分析仪: 11
Jtag: 10
diff --git a/server/src/UdpClientPool.cs b/server/src/UdpClientPool.cs
index 5dcb1f0..37a8d6e 100644
--- a/server/src/UdpClientPool.cs
+++ b/server/src/UdpClientPool.cs
@@ -190,11 +190,12 @@ public sealed class UDPClientPool
/// 是否成功
public async static ValueTask SendResetSignal(IPEndPoint endPoint)
{
- return await Task.Run(() =>
+ return await Task.Run(async () =>
{
- return SendAddrPack(
- endPoint,
- new WebProtocol.SendAddrPackage(BurstType.FixedBurst, 0, true, 0, 0xF0F0F0F0));
+ var ret = SendAddrPack(endPoint,
+ new WebProtocol.SendAddrPackage(BurstType.FixedBurst, 0, true, 0, 0xF0F0F0F0));
+ await Task.Delay(100);
+ return ret;
});
}
diff --git a/src/components/equipments/MechanicalButton.vue b/src/components/equipments/MechanicalButton.vue
index 6c11f94..dfc6b29 100644
--- a/src/components/equipments/MechanicalButton.vue
+++ b/src/components/equipments/MechanicalButton.vue
@@ -18,8 +18,8 @@
-
-
+
+
@@ -42,7 +42,6 @@
fill-opacity="0.9" @mousedown="toggleButtonState(true)" @mouseup="toggleButtonState(false)"
@mouseleave="toggleButtonState(false)" style="
pointer-events: auto;
- transition: all 20ms ease-in-out;
cursor: pointer;
" />
diff --git a/src/components/equipments/SevenSegmentDisplayUltimate.vue b/src/components/equipments/SevenSegmentDisplayUltimate.vue
index 53012aa..586d442 100644
--- a/src/components/equipments/SevenSegmentDisplayUltimate.vue
+++ b/src/components/equipments/SevenSegmentDisplayUltimate.vue
@@ -84,7 +84,7 @@ interface Props {
color?: string;
enableDigitalTwin?: boolean;
digitalTwinNum?: number;
- afterglowDuration?: number;
+ // afterglowDuration?: number;
cathodeType?: "common" | "anode";
pins?: Array<{
pinId: string;
@@ -234,24 +234,24 @@ function updateDisplayByte(newByte: number) {
const oldByte = displayByte.value;
displayByte.value = newByte;
- // 启动余晖效果
- if (oldByte !== 0 && newByte !== oldByte) {
- startAfterglow(oldByte);
- }
+ // // 启动余晖效果
+ // if (oldByte !== 0 && newByte !== oldByte) {
+ // startAfterglow(oldByte);
+ // }
}
-function startAfterglow(byte: number) {
- afterglowByte.value = byte;
+// function startAfterglow(byte: number) {
+// afterglowByte.value = byte;
- if (afterglowTimer.value) {
- clearTimeout(afterglowTimer.value);
- }
+// if (afterglowTimer.value) {
+// clearTimeout(afterglowTimer.value);
+// }
- afterglowTimer.value = setTimeout(() => {
- afterglowByte.value = 0;
- afterglowTimer.value = null;
- }, props.afterglowDuration);
-}
+// afterglowTimer.value = setTimeout(() => {
+// afterglowByte.value = 0;
+// afterglowTimer.value = null;
+// }, props.afterglowDuration);
+// }
function cleanupDigitalTwin() {
eqps.sevenSegmentDisplaySetOnOff(false);
@@ -395,7 +395,7 @@ export function getDefaultProps() {
color: "red",
enableDigitalTwin: false,
digitalTwinNum: 1,
- afterglowDuration: 500,
+ // afterglowDuration: 500,
cathodeType: "common",
pins: [
{ pinId: "a", constraint: "", x: 10, y: 170 },
diff --git a/src/stores/equipments.ts b/src/stores/equipments.ts
index f19edec..d1fe1df 100644
--- a/src/stores/equipments.ts
+++ b/src/stores/equipments.ts
@@ -48,6 +48,8 @@ export const useEquipments = defineStore("equipments", () => {
1000,
new Error("JtagClient Mutex Timeout!"),
);
+
+ // jtag Hub
const jtagHubConnection = ref();
const jtagHubProxy = ref();