#N canvas 554 96 1099 664 12; #N canvas 310 102 970 684 structure 0; #X obj 124 43 pd_mass -0.7 0.7 \$0; #X obj 189 113 pd_link \$0; #X obj 27 290 pd_mass -1 0 \$0; #X obj 123 558 pd_mass -0.7 -0.7 \$0; #X obj 399 624 pd_mass 0 -1 \$0; #X obj 436 16 pd_mass 0 1 \$0; #X obj 680 64 pd_mass 0.7 0.7 \$0; #X obj 766 285 pd_mass 1 0 \$0; #X obj 748 552 pd_mass 0.7 -0.7 \$0; #X obj 407 274 pd_mass 0 0 \$0; #X obj 124 314 pd_link \$0; #X obj 49 445 pd_link \$0; #X obj 198 502 pd_link \$0; #X obj 69 161 pd_link \$0; #X obj 201 187 pd_link \$0; #X obj 213 373 pd_link \$0; #X obj 279 598 pd_link \$0; #X obj 410 562 pd_link \$0; #X obj 580 585 pd_link \$0; #X obj 310 327 pd_link \$0; #X obj 388 330 pd_link \$0; #X obj 468 330 pd_link \$0; #X obj 338 427 pd_link \$0; #X obj 509 422 pd_link \$0; #X obj 304 26 pd_link \$0; #X obj 441 57 pd_link \$0; #X obj 347 129 pd_link \$0; #X obj 308 231 pd_link \$0; #X obj 304 280 pd_link \$0; #X obj 393 227 pd_link \$0; #X obj 475 227 pd_link \$0; #X obj 529 278 pd_link \$0; #X obj 604 358 pd_link \$0; #X obj 678 291 pd_link \$0; #X obj 604 221 pd_link \$0; #X obj 499 135 pd_link \$0; #X obj 571 43 pd_link \$0; #X obj 612 101 pd_link \$0; #X obj 749 179 pd_link \$0; #X obj 763 429 pd_link \$0; #X obj 671 510 pd_link \$0; #X connect 0 0 10 0; #X connect 0 0 13 1; #X connect 0 0 15 0; #X connect 0 0 24 0; #X connect 0 0 25 0; #X connect 0 0 27 0; #X connect 0 0 35 0; #X connect 1 0 2 0; #X connect 1 1 5 0; #X connect 2 0 1 0; #X connect 2 0 11 0; #X connect 2 0 12 0; #X connect 2 0 13 0; #X connect 2 0 22 0; #X connect 2 0 26 0; #X connect 2 0 28 0; #X connect 3 0 10 1; #X connect 3 0 11 1; #X connect 3 0 14 1; #X connect 3 0 16 0; #X connect 3 0 17 0; #X connect 3 0 19 0; #X connect 3 0 23 0; #X connect 4 0 12 1; #X connect 4 0 15 1; #X connect 4 0 16 1; #X connect 4 0 18 0; #X connect 4 0 20 1; #X connect 4 0 32 0; #X connect 4 0 40 0; #X connect 5 0 1 1; #X connect 5 0 14 0; #X connect 5 0 24 1; #X connect 5 0 29 1; #X connect 5 0 34 0; #X connect 5 0 36 0; #X connect 5 0 37 0; #X connect 6 0 25 1; #X connect 6 0 26 1; #X connect 6 0 30 1; #X connect 6 0 32 1; #X connect 6 0 33 1; #X connect 6 0 36 1; #X connect 6 0 38 0; #X connect 7 0 23 1; #X connect 7 0 31 1; #X connect 7 0 35 1; #X connect 7 0 37 1; #X connect 7 0 38 1; #X connect 7 0 39 0; #X connect 7 0 40 1; #X connect 8 0 17 1; #X connect 8 0 18 1; #X connect 8 0 21 1; #X connect 8 0 22 1; #X connect 8 0 33 0; #X connect 8 0 34 1; #X connect 8 0 39 1; #X connect 9 0 19 1; #X connect 9 0 20 0; #X connect 9 0 21 0; #X connect 9 0 27 1; #X connect 9 0 28 1; #X connect 9 0 29 0; #X connect 9 0 30 0; #X connect 9 0 31 0; #X connect 10 0 0 0; #X connect 10 1 3 0; #X connect 11 0 2 0; #X connect 11 1 3 0; #X connect 12 0 2 0; #X connect 12 1 4 0; #X connect 13 0 2 0; #X connect 13 1 0 0; #X connect 14 0 5 0; #X connect 14 1 3 0; #X connect 15 0 0 0; #X connect 15 1 4 0; #X connect 16 0 3 0; #X connect 16 1 4 0; #X connect 17 0 3 0; #X connect 17 1 8 0; #X connect 18 0 4 0; #X connect 18 1 8 0; #X connect 19 0 3 0; #X connect 19 1 9 0; #X connect 20 0 9 0; #X connect 20 1 4 0; #X connect 21 0 9 0; #X connect 21 1 8 0; #X connect 22 0 2 0; #X connect 22 1 8 0; #X connect 23 0 3 0; #X connect 23 1 7 0; #X connect 24 0 0 0; #X connect 24 1 5 0; #X connect 25 0 0 0; #X connect 25 1 6 0; #X connect 26 0 2 0; #X connect 26 1 6 0; #X connect 27 0 0 0; #X connect 27 1 9 0; #X connect 28 0 2 0; #X connect 28 1 9 0; #X connect 29 0 9 0; #X connect 29 1 5 0; #X connect 30 0 9 0; #X connect 30 1 6 0; #X connect 31 0 9 0; #X connect 31 1 7 0; #X connect 32 0 4 0; #X connect 32 1 6 0; #X connect 33 0 8 0; #X connect 33 1 6 0; #X connect 34 0 5 0; #X connect 34 1 8 0; #X connect 35 0 0 0; #X connect 35 1 7 0; #X connect 36 0 5 0; #X connect 36 1 6 0; #X connect 37 0 5 0; #X connect 37 1 7 0; #X connect 38 0 6 0; #X connect 38 1 7 0; #X connect 39 0 7 0; #X connect 39 1 8 0; #X connect 40 0 4 0; #X connect 40 1 7 0; #X restore 272 322 pd structure; #N canvas 621 151 504 293 init 0; #X msg 200 169 setK \$1; #X msg 274 143 setD \$1; #X msg 416 115 setM \$1; #X floatatom 200 94 5 -10 200 0 - - -, f 5; #X floatatom 274 92 5 0 0 0 - - -, f 5; #X floatatom 416 92 5 0 0 0 - - -, f 5; #X obj 200 143 / 10; #X obj 200 117 + 1; #X obj 274 116 / 10; #X msg 200 67 100; #X msg 274 68 25; #X msg 416 66 50; #X floatatom 341 92 5 0 0 0 - - -, f 5; #X obj 341 116 / 10; #X msg 341 143 setD2 \$1; #X msg 341 68 1; #X obj 200 201 s \$0-link; #X obj 416 143 s \$0-mass; #X obj 42 50 loadbang; #X obj 44 202 s \$0-mass; #X msg 44 84 setXmin -3.8; #X msg 57 109 setXmax 3.8; #X msg 75 133 setYmin -3.8; #X msg 88 159 setYmax 3.8; #X connect 0 0 16 0; #X connect 1 0 16 0; #X connect 2 0 17 0; #X connect 3 0 7 0; #X connect 4 0 8 0; #X connect 5 0 2 0; #X connect 6 0 0 0; #X connect 7 0 6 0; #X connect 8 0 1 0; #X connect 9 0 3 0; #X connect 10 0 4 0; #X connect 11 0 5 0; #X connect 12 0 13 0; #X connect 13 0 14 0; #X connect 14 0 16 0; #X connect 15 0 12 0; #X connect 18 0 20 0; #X connect 18 0 21 0; #X connect 18 0 22 0; #X connect 18 0 23 0; #X connect 20 0 19 0; #X connect 21 0 19 0; #X connect 22 0 19 0; #X connect 23 0 19 0; #X restore 272 295 pd init; #X obj 287 1761 pix_texture; #X obj 287 1789 square 4; #X obj 287 831 pix_separator; #X obj 492 804 pix_separator; #X obj 492 1748 pix_texture; #X obj 492 1776 square 4; #X obj 665 798 r reset; #X obj 18 27 cnv 15 600 90 empty empty empty 20 12 0 14 -260097 -66577 0; #X text 41 66 1.- Create the Gem Window; #X msg 526 62 0 \, destroy; #X msg 492 37 reset \, create \, 1; #X obj 492 90 gemwin; #X text 627 38 <- 1; #X obj 18 131 cnv 15 600 90 empty empty empty 20 12 0 14 -260097 -66577 0; #X obj 447 222 t b b; #X obj 447 138 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1; #X obj 525 153 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X obj 548 170 loadbang; #X obj 479 299 s \$0-link; #X obj 447 327 s \$0-mass; #X msg 576 226 reset; #X msg 550 250 resetL; #X msg 525 271 resetF; #X obj 525 199 t b b b; #X obj 447 195 metro 50; #X obj 479 356 iAmbient2D \$0-mass 0 -1; #X obj 571 302 s reset; #X obj 458 255 s metro; #X text 471 136 <- 2; #X text 27 233 inside init and structure subpatches you have all the pmpd magics \, Thanks to Cyrille Henry for the models !!!; #X text 72 308 You don't need to open them.; #X obj 24 440 cnv 15 600 90 empty empty empty 20 12 0 14 -260097 -66577 0; #X msg 483 449 force2D 0 5; #X msg 539 475 force2D 5 0; #X msg 485 503 force2D 0 -5; #X msg 384 476 force2D -5 0; #X obj 484 535 s \$0-mass; #X obj 539 420 loadbang; #X text 576 449 <- UP; #X text 578 505 <- DOWN; #X text 625 477 <- RIGHT; #X text 476 476 <- LEFT; #X text 24 181 IMPORTANT :: for this to work you must have the pd_mass and pd_link abstraction patches in same folder as this one.; #X text 40 155 2.- Start the Physical Modeling rendering; #X text 46 461 3.- Test the Physical Modeling interaction; #X text 75 482 ( move the structure ); #X obj 493 774 pix_rgba; #X obj 26 589 cnv 15 600 180 empty empty empty 20 12 0 14 -260097 -66577 0; #X text 49 628 2.- Setup your camera; #X obj 493 732 pix_video; #X obj 493 616 gemhead; #X msg 384 680 colorspace RGBA; #X msg 636 619 dialog; #X msg 636 684 device /dev/dv1394-0; #X msg 636 661 driver 1; #X text 633 644 only linuxDV; #X text 635 603 MACOSX; #X text 634 704 video 4 linux; #X msg 637 721 driver 0; #X msg 637 744 device /dev/video0; #X text 244 798 resize video input to save CPU ->; #X text 546 147 <- here you can RESET ALL; #X obj 24 863 cnv 15 650 250 empty empty empty 20 12 0 14 -258113 -66577 0; #X floatatom 602 1047 5 0 0 0 - - -, f 5; #X obj 493 1083 pix_opencv_contours_boundingrect; #X floatatom 657 893 5 0 0 0 - - -, f 5; #X obj 493 893 pix_opencv_bgsubstract; #X msg 665 830 set; #X obj 493 942 pix_opencv_morphology; #X floatatom 658 943 5 0 0 0 - - -, f 5; #X obj 493 988 pix_opencv_morphology; #X floatatom 658 989 5 0 0 0 - - -, f 5; #X msg 602 1024 1000; #X obj 647 1023 loadbang; #X msg 657 869 24; #X msg 658 918 -2; #X msg 659 965 2; #X obj 689 869 loadbang; #X obj 689 917 loadbang; #X obj 690 964 loadbang; #X msg 930 1448 setXmin \$1; #X msg 930 1470 setXmax \$1; #X msg 1012 1473 setYmin \$1; #X msg 1013 1447 setYmax \$1; #X floatatom 996 1235 5 0 0 0 - - -, f 5; #X floatatom 1054 1234 5 0 0 0 - - -, f 5; #X floatatom 1104 1234 5 0 0 0 - - -, f 5; #X floatatom 1155 1233 5 0 0 0 - - -, f 5; #X floatatom 996 1336 5 0 0 0 - - -, f 5; #X floatatom 1055 1338 5 0 0 0 - - -, f 5; #X floatatom 1104 1326 5 0 0 0 - - -, f 5; #X floatatom 1155 1326 5 0 0 0 - - -, f 5; #X obj 994 1367 +; #X floatatom 994 1395 5 0 0 0 - - -, f 5; #X floatatom 1055 1393 5 0 0 0 - - -, f 5; #X obj 1055 1313 * -1; #X obj 1055 1366 -; #X obj 1054 1260 - 72; #X obj 996 1260 - 90; #X obj 1054 1289 / 18; #X obj 996 1293 / 22.5; #X obj 1104 1283 / 22.5; #X obj 1155 1283 / 18; #X msg 1089 1175 0 0 0 0 0; #X obj 916 1502 iAmbient2D \$0-mass 0 13 0 0 0 -4 0 -4 -2; #X obj 916 1419 r metro; #X text 1103 1205 Xorigin Yorigin Width Height; #X obj 1166 1175 r reset; #X obj 996 1205 unpack 0 0 0 0; #X obj 603 1127 route 0 1 2 3 4; #X msg 1292 1450 setXmin \$1; #X msg 1292 1472 setXmax \$1; #X msg 1374 1475 setYmin \$1; #X msg 1375 1449 setYmax \$1; #X floatatom 1358 1237 5 0 0 0 - - -, f 5; #X floatatom 1416 1236 5 0 0 0 - - -, f 5; #X floatatom 1466 1236 5 0 0 0 - - -, f 5; #X floatatom 1517 1235 5 0 0 0 - - -, f 5; #X floatatom 1358 1340 5 0 0 0 - - -, f 5; #X floatatom 1417 1340 5 0 0 0 - - -, f 5; #X floatatom 1466 1328 5 0 0 0 - - -, f 5; #X floatatom 1517 1328 5 0 0 0 - - -, f 5; #X obj 1356 1369 +; #X floatatom 1356 1397 5 0 0 0 - - -, f 5; #X floatatom 1417 1395 5 0 0 0 - - -, f 5; #X obj 1417 1315 * -1; #X obj 1417 1368 -; #X obj 1416 1262 - 72; #X obj 1358 1262 - 90; #X obj 1416 1291 / 18; #X obj 1358 1295 / 22.5; #X obj 1466 1285 / 22.5; #X obj 1517 1285 / 18; #X msg 1451 1177 0 0 0 0 0; #X obj 1278 1504 iAmbient2D \$0-mass 0 13 0 0 0 -4 0 -4 -2; #X obj 1278 1421 r metro; #X text 1465 1207 Xorigin Yorigin Width Height; #X obj 1528 1177 r reset; #X obj 1358 1207 unpack 0 0 0 0; #X msg 1685 1446 setXmin \$1; #X msg 1685 1468 setXmax \$1; #X msg 1767 1471 setYmin \$1; #X msg 1768 1445 setYmax \$1; #X floatatom 1751 1233 5 0 0 0 - - -, f 5; #X floatatom 1809 1232 5 0 0 0 - - -, f 5; #X floatatom 1859 1232 5 0 0 0 - - -, f 5; #X floatatom 1910 1231 5 0 0 0 - - -, f 5; #X floatatom 1751 1334 5 0 0 0 - - -, f 5; #X floatatom 1810 1336 5 0 0 0 - - -, f 5; #X floatatom 1859 1324 5 0 0 0 - - -, f 5; #X floatatom 1910 1324 5 0 0 0 - - -, f 5; #X obj 1749 1365 +; #X floatatom 1749 1393 5 0 0 0 - - -, f 5; #X floatatom 1810 1391 5 0 0 0 - - -, f 5; #X obj 1810 1311 * -1; #X obj 1810 1364 -; #X obj 1809 1258 - 72; #X obj 1751 1258 - 90; #X obj 1809 1287 / 18; #X obj 1751 1291 / 22.5; #X obj 1859 1281 / 22.5; #X obj 1910 1281 / 18; #X msg 1844 1173 0 0 0 0 0; #X obj 1671 1500 iAmbient2D \$0-mass 0 13 0 0 0 -4 0 -4 -2; #X obj 1671 1417 r metro; #X text 1858 1203 Xorigin Yorigin Width Height; #X obj 1921 1173 r reset; #X obj 1751 1203 unpack 0 0 0 0; #X obj 698 894 cnv 15 310 20 empty empty empty 20 12 0 14 -258113 -66577 0; #X text 698 893 <- threshold fo the background substraction; #X obj 699 941 cnv 15 310 20 empty empty empty 20 12 0 14 -258113 -66577 0; #X obj 700 987 cnv 15 310 20 empty empty empty 20 12 0 14 -258113 -66577 0; #X text 700 941 <- erode to avoid noise (negative values); #X text 701 987 <- dilate contours (positive values); #X obj 698 830 cnv 15 310 20 empty empty empty 20 12 0 14 -258113 -66577 0; #X text 698 829 <- set the background; #X obj 700 1047 cnv 15 310 20 empty empty empty 20 12 0 14 -258113 -66577 0; #X text 701 1047 <- set minimal area to detect to avoid noisy things ; #X obj 22 1182 cnv 15 800 250 empty empty empty 20 12 0 14 -261234 -66577 0; #X floatatom 603 1239 5 0 0 0 - - -, f 5; #X floatatom 661 1238 5 0 0 0 - - -, f 5; #X floatatom 711 1238 5 0 0 0 - - -, f 5; #X floatatom 762 1237 5 0 0 0 - - -, f 5; #X floatatom 603 1342 5 0 0 0 - - -, f 5; #X floatatom 662 1342 5 0 0 0 - - -, f 5; #X floatatom 711 1330 5 0 0 0 - - -, f 5; #X floatatom 762 1330 5 0 0 0 - - -, f 5; #X obj 601 1371 +; #X floatatom 601 1399 5 0 0 0 - - -, f 5; #X floatatom 662 1397 5 0 0 0 - - -, f 5; #X obj 662 1317 * -1; #X obj 662 1370 -; #X obj 661 1264 - 72; #X obj 603 1264 - 90; #X obj 661 1293 / 18; #X obj 603 1297 / 22.5; #X obj 711 1287 / 22.5; #X obj 762 1287 / 18; #X msg 696 1179 0 0 0 0 0; #X obj 523 1423 r metro; #X text 710 1209 Xorigin Yorigin Width Height; #X obj 773 1179 r reset; #X obj 603 1209 unpack 0 0 0 0; #X text 44 1205 this is coordinate conversions maths to pass from pix coordinates to gem coordinates.; #X obj 23 1448 cnv 15 800 150 empty empty empty 20 12 0 14 -261234 -66577 0; #X msg 537 1452 setXmin \$1; #X msg 537 1474 setXmax \$1; #X msg 619 1477 setYmin \$1; #X msg 620 1451 setYmax \$1; #X obj 523 1506 iAmbient2D \$0-mass 0 13 0 0 0 -4 0 -4 -2; #X text 41 1461 iAmbient2D defines a place with force from bottom to top. like a ball in wather. With the setX/Ymax/min we define a rectangle where this force is applied for each of our detected contours.; #X text 45 1543 think also in possible uses of; #X obj 265 1543 iLine2D; #X obj 329 1544 iSeg2D; #X obj 385 1545 iCircle2D; #X text 918 1546 We do the same for so many contours as the number of them we want to be able to interact with our structure; #X obj 22 1631 cnv 15 650 60 empty empty empty 20 12 0 14 -258113 -66577 0; #X obj 287 1668 spigot; #X obj 326 1643 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X text 46 886 4.- Setup the parameters for your analysis; #X text 44 1654 5.- hide the analysis; #X text 347 1641 <- click here to chow the original video image; #X obj 492 1719 translateXYZ 0 0 -0.1; #X obj 491 1695 separator; #X obj 287 1697 separator; #X floatatom 654 1718 5 0 0 0 - - -, f 5; #X obj 288 1724 translateXYZ 0 0 -0.05; #X obj 492 834 pix_resize 180 144; #X connect 2 0 3 0; #X connect 4 0 219 0; #X connect 5 0 229 0; #X connect 6 0 7 0; #X connect 8 0 69 0; #X connect 11 0 13 0; #X connect 12 0 13 0; #X connect 16 0 21 0; #X connect 16 1 20 0; #X connect 16 1 27 0; #X connect 16 1 29 0; #X connect 17 0 26 0; #X connect 18 0 25 0; #X connect 19 0 25 0; #X connect 22 0 21 0; #X connect 23 0 20 0; #X connect 24 0 20 0; #X connect 25 0 24 0; #X connect 25 1 23 0; #X connect 25 2 22 0; #X connect 25 2 28 0; #X connect 26 0 16 0; #X connect 34 0 38 0; #X connect 35 0 38 0; #X connect 36 0 38 0; #X connect 37 0 38 0; #X connect 39 0 35 0; #X connect 48 0 5 0; #X connect 48 0 4 0; #X connect 51 0 48 0; #X connect 52 0 51 0; #X connect 53 0 51 0; #X connect 54 0 51 0; #X connect 55 0 51 0; #X connect 56 0 51 0; #X connect 60 0 51 0; #X connect 61 0 51 0; #X connect 65 0 66 1; #X connect 66 0 225 0; #X connect 66 1 111 0; #X connect 67 0 68 1; #X connect 68 0 70 0; #X connect 69 0 68 0; #X connect 70 0 72 0; #X connect 71 0 70 1; #X connect 72 0 66 0; #X connect 73 0 72 1; #X connect 74 0 65 0; #X connect 75 0 74 0; #X connect 76 0 67 0; #X connect 77 0 71 0; #X connect 78 0 73 0; #X connect 79 0 76 0; #X connect 80 0 77 0; #X connect 81 0 78 0; #X connect 82 0 106 0; #X connect 83 0 106 0; #X connect 84 0 106 0; #X connect 85 0 106 0; #X connect 86 0 100 0; #X connect 87 0 99 0; #X connect 88 0 103 0; #X connect 89 0 104 0; #X connect 90 0 82 0; #X connect 90 0 94 0; #X connect 91 0 98 0; #X connect 91 0 85 0; #X connect 92 0 94 1; #X connect 93 0 98 1; #X connect 94 0 83 0; #X connect 94 0 95 0; #X connect 97 0 91 0; #X connect 98 0 96 0; #X connect 98 0 84 0; #X connect 99 0 101 0; #X connect 100 0 102 0; #X connect 101 0 97 0; #X connect 102 0 90 0; #X connect 103 0 92 0; #X connect 104 0 93 0; #X connect 105 0 110 0; #X connect 107 0 106 0; #X connect 109 0 105 0; #X connect 110 0 86 0; #X connect 110 1 87 0; #X connect 110 2 88 0; #X connect 110 3 89 0; #X connect 111 0 204 0; #X connect 111 1 110 0; #X connect 111 2 140 0; #X connect 111 3 169 0; #X connect 112 0 136 0; #X connect 113 0 136 0; #X connect 114 0 136 0; #X connect 115 0 136 0; #X connect 116 0 130 0; #X connect 117 0 129 0; #X connect 118 0 133 0; #X connect 119 0 134 0; #X connect 120 0 112 0; #X connect 120 0 124 0; #X connect 121 0 128 0; #X connect 121 0 115 0; #X connect 122 0 124 1; #X connect 123 0 128 1; #X connect 124 0 113 0; #X connect 124 0 125 0; #X connect 127 0 121 0; #X connect 128 0 126 0; #X connect 128 0 114 0; #X connect 129 0 131 0; #X connect 130 0 132 0; #X connect 131 0 127 0; #X connect 132 0 120 0; #X connect 133 0 122 0; #X connect 134 0 123 0; #X connect 135 0 140 0; #X connect 137 0 136 0; #X connect 139 0 135 0; #X connect 140 0 116 0; #X connect 140 1 117 0; #X connect 140 2 118 0; #X connect 140 3 119 0; #X connect 141 0 165 0; #X connect 142 0 165 0; #X connect 143 0 165 0; #X connect 144 0 165 0; #X connect 145 0 159 0; #X connect 146 0 158 0; #X connect 147 0 162 0; #X connect 148 0 163 0; #X connect 149 0 141 0; #X connect 149 0 153 0; #X connect 150 0 157 0; #X connect 150 0 144 0; #X connect 151 0 153 1; #X connect 152 0 157 1; #X connect 153 0 142 0; #X connect 153 0 154 0; #X connect 156 0 150 0; #X connect 157 0 155 0; #X connect 157 0 143 0; #X connect 158 0 160 0; #X connect 159 0 161 0; #X connect 160 0 156 0; #X connect 161 0 149 0; #X connect 162 0 151 0; #X connect 163 0 152 0; #X connect 164 0 169 0; #X connect 166 0 165 0; #X connect 168 0 164 0; #X connect 169 0 145 0; #X connect 169 1 146 0; #X connect 169 2 147 0; #X connect 169 3 148 0; #X connect 181 0 195 0; #X connect 182 0 194 0; #X connect 183 0 198 0; #X connect 184 0 199 0; #X connect 185 0 189 0; #X connect 185 0 207 0; #X connect 186 0 193 0; #X connect 186 0 210 0; #X connect 187 0 189 1; #X connect 188 0 193 1; #X connect 189 0 190 0; #X connect 189 0 208 0; #X connect 192 0 186 0; #X connect 193 0 191 0; #X connect 193 0 209 0; #X connect 194 0 196 0; #X connect 195 0 197 0; #X connect 196 0 192 0; #X connect 197 0 185 0; #X connect 198 0 187 0; #X connect 199 0 188 0; #X connect 200 0 204 0; #X connect 201 0 211 0; #X connect 203 0 200 0; #X connect 204 0 181 0; #X connect 204 1 182 0; #X connect 204 2 183 0; #X connect 204 3 184 0; #X connect 207 0 211 0; #X connect 208 0 211 0; #X connect 209 0 211 0; #X connect 210 0 211 0; #X connect 219 0 226 0; #X connect 220 0 219 1; #X connect 224 0 6 0; #X connect 225 0 224 0; #X connect 226 0 228 0; #X connect 227 0 224 3; #X connect 228 0 2 0; #X connect 229 0 68 0;