view June/woosh_D2.pd @ 303:8b51c20529a6

Edgetone development models
author Rod Selfridge <r.selfridge@qmul.ac.uk>
date Sat, 11 Nov 2017 17:43:39 +0000
parents 65306ede8d41
children
line wrap: on
line source
#N canvas 256 26 1105 841 10;
#X obj 531 -113 vu 15 120 empty empty -1 -8 0 10 -66577 -1 1 0;
#X obj 594 -113 vu 15 120 empty empty -1 -8 0 10 -66577 -1 1 0;
#X text 591 -204 Gain;
#X obj 530 -230 loadbang;
#N canvas 865 368 284 318 opLevels 0;
#X obj 85 188 dac~;
#X obj 30 70 catch~ l;
#X obj 155 76 catch~ r;
#X obj 155 106 *~ 0.45;
#X obj 30 104 *~ 0.45;
#X obj 30 210 prvu~;
#X obj 155 213 prvu~;
#X obj 100 69 / 127;
#X obj 100 34 inlet;
#X obj 30 239 outlet;
#X obj 155 241 outlet;
#X obj 155 30 r NoOfSources;
#X obj 155 132 /~ 1;
#X obj 30 131 /~ 1;
#X obj 155 49 / 20;
#X connect 1 0 4 0;
#X connect 2 0 3 0;
#X connect 3 0 12 0;
#X connect 4 0 13 0;
#X connect 5 0 9 0;
#X connect 6 0 10 0;
#X connect 7 0 3 1;
#X connect 7 0 4 1;
#X connect 8 0 7 0;
#X connect 11 0 14 0;
#X connect 12 0 0 1;
#X connect 12 0 6 0;
#X connect 13 0 0 0;
#X connect 13 0 5 0;
#X connect 14 0 12 1;
#X connect 14 0 13 1;
#X restore 530 -156 pd opLevels;
#X msg 530 -207 5;
#N canvas 474 116 807 545 speedCalc 0;
#X obj 59 -12 inlet;
#X obj 135 -11 inlet;
#X obj 217 -12 inlet;
#X obj 317 -12 inlet;
#X obj 59 11 s \$0_swLen;
#X obj 135 11 s \$0_armLen;
#X obj 317 10 s \$0_tipSpeed;
#X obj 142 237 r \$0_tipSpeed;
#X obj 211 437 outlet;
#X obj 211 414 r \$0_minSpeed;
#X obj 127 285 s \$0_minSpeed;
#X obj 310 414 r \$0_deltaSpeed;
#X obj 504 335 s \$0_deltaSpeed;
#X obj 310 437 outlet;
#X obj 212 104 r \$0_swLen;
#X obj 127 216 /;
#X floatatom 81 243 5 0 0 0 - - -;
#X obj 227 127 r \$0_armLen;
#X obj 212 194 +;
#X obj 227 149 t f b;
#X floatatom 212 216 5 0 0 0 - - -;
#X obj 99 143 r \$0_armLen;
#X obj 217 11 s \$0_sourceTot;
#X obj 519 274 r \$0_sourceTot;
#X obj 127 261 *;
#X floatatom 85 285 5 0 0 0 - - -;
#X obj 519 186 r \$0_minSpeed;
#X obj 504 253 -;
#X obj 504 163 r \$0_tipSpeed;
#X obj 504 296 /;
#X obj 519 207 t f b;
#X floatatom 521 315 5 0 0 0 - - -;
#X obj 546 230 delay 9;
#X text 244 198 Length of blade and arm;
#X obj 99 165 t f b;
#X obj 126 189 delay 9;
#X obj 254 173 delay 6;
#X text -49 216 Ratio of arm to total length;
#X text 69 308 Speed of blade at the hilt;
#X text 387 247 Difference between;
#X text 369 259 speed at tip and hilt;
#X text 459 357 Difference in speed for each source;
#X text 459 369 based on a linear scale;
#X text 417 16 as well as the difference in speed of each source;
#X text 431 2 Patch that calculates the minimum speed;
#X connect 0 0 4 0;
#X connect 1 0 5 0;
#X connect 2 0 22 0;
#X connect 3 0 6 0;
#X connect 7 0 24 1;
#X connect 9 0 8 0;
#X connect 11 0 13 0;
#X connect 14 0 18 0;
#X connect 15 0 16 0;
#X connect 15 0 24 0;
#X connect 17 0 19 0;
#X connect 18 0 20 0;
#X connect 18 0 15 1;
#X connect 19 0 18 1;
#X connect 19 1 36 0;
#X connect 21 0 34 0;
#X connect 23 0 29 1;
#X connect 24 0 10 0;
#X connect 24 0 25 0;
#X connect 26 0 30 0;
#X connect 27 0 29 0;
#X connect 28 0 27 0;
#X connect 29 0 31 0;
#X connect 29 0 12 0;
#X connect 30 0 27 1;
#X connect 30 1 32 0;
#X connect 32 0 27 0;
#X connect 34 0 15 0;
#X connect 34 1 35 0;
#X connect 35 0 15 0;
#X connect 36 0 18 0;
#X restore 524 130 pd speedCalc;
#X floatatom 433 154 8 0 0 0 - - -;
#X floatatom 678 152 8 0 0 0 - - -;
#X msg 4 -235 1;
#X msg 3 -104 100;
#X msg 2 -169 0.59;
#X obj 524 35 r bladeLen;
#X obj 547 58 r armLength;
#X obj 570 82 r NoOfSources;
#X obj 593 107 r topSpeed;
#X obj 4 -212 s bladeLen;
#X obj 2 -148 s armLength;
#X obj 3 -81 s NoOfSources;
#X obj 68 79 s topSpeed;
#X obj 16 53 hsl 100 20 0 100 0 0 empty empty empty -2 -8 0 10 -262144
-1 -1 2970 1;
#X floatatom 13 79 8 0 0 0 - - -;
#X text 37 -236 Blade Length;
#X text 36 -170 Arm Length;
#X text 31 -104 Number of Sources;
#X text 124 57 Top Speed;
#X obj 13 137 hsl 100 20 0 360 0 0 empty empty empty -2 -8 0 10 -262144
-1 -1 7700 1;
#X floatatom 10 169 8 0 0 0 - - -;
#X obj 65 168 s sweepAngle;
#X text 124 138 Sweep Angle;
#X obj 360 -23 r sweepAngle;
#X obj 267 -67 r bladeLen;
#X obj 313 -44 r armLength;
#X obj 498 154 s firstSpeed;
#X obj 593 153 s deltaSpeed;
#X floatatom 210 28 8 0 0 0 - - -;
#X floatatom 448 26 8 0 0 0 - - -;
#N canvas 833 342 426 335 thickCalc 0;
#X obj 173 139 r NoOfSources;
#X obj 23 16 inlet;
#X obj 26 64 inlet;
#X obj 26 86 s \$0_tipThick;
#X obj 158 115 -;
#X obj 158 164 /;
#X obj 158 187 outlet;
#X obj 23 39 s \$0_hiltThick;
#X floatatom 126 147 5 0 0 0 - - -;
#X obj 173 44 r \$0_tipThick;
#X obj 158 19 r \$0_hiltThick;
#X floatatom 94 189 8 0 0 0 - - -;
#X obj 173 72 t f b;
#X obj 200 95 delay 9;
#X text 58 237 Calculates the difference in thickness between sources
;
#X text 59 254 based on the blade tapering in a straight line;
#X connect 0 0 5 1;
#X connect 1 0 7 0;
#X connect 2 0 3 0;
#X connect 4 0 5 0;
#X connect 4 0 8 0;
#X connect 5 0 6 0;
#X connect 5 0 11 0;
#X connect 9 0 12 0;
#X connect 10 0 4 0;
#X connect 12 0 4 1;
#X connect 12 1 13 0;
#X connect 13 0 4 0;
#X restore 362 -133 pd thickCalc;
#X obj 362 -110 s deltaThick;
#X floatatom 307 -109 8 0 0 0 - - -;
#X obj 10 228 hsl 100 20 0 0.03 0 0 empty empty empty -2 -8 0 10 -262144
-1 -1 3135 1;
#X obj 9 313 hsl 100 20 0 0.01 0 0 empty empty empty -2 -8 0 10 -262144
-1 -1 3168 1;
#X floatatom 7 258 8 0 0 0 - - -;
#X obj 61 257 s hiltThick;
#X floatatom 6 341 8 0 0 0 - - -;
#X obj 64 340 s tipThick;
#X text 124 230 Hilt Thickness;
#X text 116 314 Tip Thickness;
#X obj 362 -178 r hiltThick;
#X obj 431 -156 r tipThick;
#X obj 204 -190 bng 50 250 50 0 empty empty empty 17 7 0 10 -4034 -1
-1;
#X obj 204 -137 s GO;
#X obj 765 -103 tenSource;
#X obj 9 395 hsl 100 20 100 1 1 0 empty empty empty -2 -8 0 10 -262144
-1 -1 8410 1;
#X obj 5 480 hsl 100 20 -180 180 0 0 empty empty empty -2 -8 0 10 -262144
-1 -1 6600 1;
#X floatatom 6 421 8 0 0 0 - - -;
#X text 119 399 Distance to Observer;
#X floatatom 2 508 8 0 0 0 - - -;
#X text 127 474 Angle to Observer;
#X obj 799 -139 r distance;
#X obj 782 -160 r angle;
#X obj 765 -201 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 204 -236 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1
0 1;
#X obj 204 -217 metro 200;
#X obj 258 -241 hsl 100 20 300 50 0 0 empty empty empty -2 -8 0 10
-262144 -1 -1 2000 1;
#X obj 144 -190 bng 50 250 50 0 empty empty empty 17 7 0 10 -257985
-1 -1;
#X obj 144 -137 s setUp;
#X obj -40 27 r setUp;
#X obj -48 117 r setUp;
#X obj -44 205 r setUp;
#X obj -45 293 r setUp;
#X obj -46 374 r setUp;
#X obj -49 458 r setUp;
#X obj 765 -229 r setUp;
#X obj 65 422 s obsDistance;
#X obj 61 509 s obsAngle;
#N canvas 427 69 911 675 circumferCalc 0;
#X obj 266 13 inlet;
#X floatatom 365 172 5 0 0 0 - - -;
#X obj 80 13 inlet;
#X obj 170 13 inlet;
#X obj 247 146 +;
#X obj 316 172 / 360;
#X obj 247 171 * 3.14159;
#X obj 247 219 *;
#X obj 247 195 * 2;
#X obj 80 36 s \$0_bladeLen;
#X obj 170 36 s \$0_armLength;
#X obj 266 36 s \$0_sweepAngle;
#X obj 247 99 r \$0_bladeLen;
#X obj 262 123 r \$0_armLength;
#X obj 316 148 r \$0_sweepAngle;
#X floatatom 734 192 5 0 0 0 - - -;
#X obj 685 192 / 360;
#X floatatom 628 168 5 0 0 0 - - -;
#X obj 616 191 * 3.14159;
#X obj 616 239 *;
#X floatatom 560 267 8 0 0 0 - - -;
#X obj 616 215 * 2;
#X obj 616 143 r \$0_armLength;
#X obj 685 168 r \$0_sweepAngle;
#X obj 616 267 s \$0_minCirc;
#X obj 265 459 r \$0_minCirc;
#X obj 265 481 outlet;
#X obj 262 279 r \$0_minCirc;
#X floatatom 188 339 8 0 0 0 - - -;
#X obj 247 305 -;
#X obj 247 341 /;
#X obj 277 317 r NoOfSources;
#X floatatom 185 370 8 0 0 0 - - -;
#X obj 247 367 s \$0_deltaCirc;
#X obj 354 459 r \$0_deltaCirc;
#X obj 354 481 outlet;
#X obj 260 246 s maxCirc;
#X obj 191 172 s length;
#X text 122 176 Arc radius;
#X text 318 195 % of circle;
#X text 323 242 Circumference of arc of tip;
#X text 692 210 % of circle;
#X text 601 289 Circumference of arc of hilt;
#X floatatom 187 243 8 0 0 0 - - -;
#X text 199 390 Difference of circumference length for each source
;
#X text 199 405 based on linear spacing between sources;
#X connect 0 0 11 0;
#X connect 2 0 9 0;
#X connect 3 0 10 0;
#X connect 4 0 6 0;
#X connect 4 0 37 0;
#X connect 5 0 7 1;
#X connect 6 0 8 0;
#X connect 7 0 29 0;
#X connect 7 0 36 0;
#X connect 7 0 43 0;
#X connect 8 0 7 0;
#X connect 12 0 4 0;
#X connect 13 0 4 1;
#X connect 14 0 5 0;
#X connect 14 0 1 0;
#X connect 16 0 19 1;
#X connect 18 0 21 0;
#X connect 19 0 20 0;
#X connect 19 0 24 0;
#X connect 21 0 19 0;
#X connect 22 0 18 0;
#X connect 22 0 17 0;
#X connect 23 0 16 0;
#X connect 23 0 15 0;
#X connect 25 0 26 0;
#X connect 27 0 29 1;
#X connect 29 0 28 0;
#X connect 29 0 30 0;
#X connect 30 0 32 0;
#X connect 30 0 33 0;
#X connect 31 0 30 1;
#X connect 34 0 35 0;
#X restore 267 1 pd circumferCalc;
#X obj 267 27 s circumMin;
#X obj 360 26 s deltaCircum;
#N canvas 361 106 954 607 angleCalc 0;
#X obj -142 102 * 0.75;
#X obj 231 187 * 0.25;
#X obj -142 142 /;
#X msg -157 248 1 \$1;
#X obj -157 225 f;
#X obj -157 274 line 0;
#X obj -171 193 r GO;
#X msg -113 248 0;
#X obj -142 166 * 1000;
#X obj 169 334 line 0;
#X obj 169 207 delay \$1;
#X obj 142 155 f;
#X obj 142 112 r GO;
#X obj 142 181 t f b;
#X obj 169 283 i;
#X msg 169 305 1 \$1;
#X msg 214 305 0;
#X obj 231 229 /;
#X obj 231 251 * 1000;
#X obj -157 352 *;
#X obj -128 297 r sweepAngle;
#X obj -154 405 hsl 100 25 0 360 0 0 empty empty empty -2 -8 0 10 -262144
-1 -1 5775 1;
#X obj -128 319 * -0.75;
#X obj -157 376 +;
#X obj -128 343 * -1;
#X obj -127 191 s \$0_thisDe;
#X obj 157 134 r \$0_thisDe;
#X obj 169 372 *;
#X obj 219 332 r sweepAngle;
#X obj 172 396 hsl 100 25 -360 360 0 0 empty empty empty -2 -8 0 10
-262144 -1 -1 3987 1;
#X obj 214 283 r GO;
#X obj -142 78 r maxCirc;
#X obj 231 165 r maxCirc;
#X obj -127 121 r topSpeed;
#X obj 246 208 r topSpeed;
#X obj -35 535 s currentAngle;
#X obj -35 489 +;
#X floatatom -35 514 8 0 0 0 - - -;
#X obj -20 464 t f b;
#X obj 474 202 delay \$1;
#X obj 476 144 f;
#X obj 476 118 r GO;
#X obj 476 170 t f b;
#X obj 512 50 r maxCirc;
#X obj 527 72 r topSpeed;
#X obj 512 96 /;
#X obj 512 118 * 1000;
#X obj 474 224 s end;
#X obj -113 227 r end;
#X obj -20 431 r end;
#X obj 219 355 * -0.25;
#X text -206 42 0.75 represents the ratio of swing that;
#X text 106 71 0.25 represents the ratio of swing that;
#X text 106 85 the sword is decelerating;
#X text -115 146 Time taken for acceleration;
#X text -52 188 Send as a delay;
#X text 186 113 Recieve as a delay;
#X text -226 173 Start swing;
#X text -72 227 Reset angle;
#X text -72 239 once swing complete;
#X text -73 323 Start angle is;
#X text -73 335 3/4 of total angle;
#X text 452 243 Send bang message at the;
#X text 453 255 end of the swing to reset;
#X text 285 249 Time for last;
#X text 287 260 1/4 of swing;
#X text 245 294 Set to 0 at start;
#X text -206 56 the sword is before 0 degrees;
#X text -92 565 Output of complete swing \, split into 75% before 0
degrees and 25% past 0 degrees;
#X text 276 354 Once delay from start to 0 degrees complete;
#X text 276 366 count down from 0 to finish the total swing angle;
#X text 98 9 Patch that calculates the angle between 0 degrees for
the full length of the swing;
#X connect 0 0 2 0;
#X connect 1 0 17 0;
#X connect 2 0 8 0;
#X connect 3 0 5 0;
#X connect 4 0 3 0;
#X connect 5 0 19 0;
#X connect 6 0 4 0;
#X connect 7 0 5 0;
#X connect 8 0 4 1;
#X connect 8 0 25 0;
#X connect 9 0 27 0;
#X connect 10 0 14 0;
#X connect 11 0 13 0;
#X connect 12 0 11 0;
#X connect 13 0 10 1;
#X connect 13 1 10 0;
#X connect 14 0 15 0;
#X connect 15 0 9 0;
#X connect 16 0 9 0;
#X connect 17 0 18 0;
#X connect 18 0 14 1;
#X connect 19 0 23 0;
#X connect 20 0 22 0;
#X connect 21 0 36 0;
#X connect 22 0 24 0;
#X connect 22 0 19 1;
#X connect 23 0 21 0;
#X connect 24 0 23 1;
#X connect 26 0 11 1;
#X connect 27 0 29 0;
#X connect 28 0 50 0;
#X connect 29 0 38 0;
#X connect 30 0 16 0;
#X connect 31 0 0 0;
#X connect 32 0 1 0;
#X connect 33 0 2 1;
#X connect 34 0 17 1;
#X connect 36 0 37 0;
#X connect 37 0 35 0;
#X connect 38 0 36 1;
#X connect 38 1 36 0;
#X connect 39 0 47 0;
#X connect 40 0 42 0;
#X connect 41 0 40 0;
#X connect 42 0 39 1;
#X connect 42 1 39 0;
#X connect 43 0 45 0;
#X connect 44 0 45 1;
#X connect 45 0 46 0;
#X connect 46 0 40 1;
#X connect 48 0 7 0;
#X connect 49 0 38 0;
#X connect 50 0 27 1;
#X restore 421 -230 pd angleCalc;
#X obj 533 -185 hsl 100 25 0 127 0 0 empty empty empty -2 -8 0 10 -262144
-1 -1 9354 1;
#X msg 765 -182 10;
#X obj 4 -259 loadbang;
#X obj 2 -190 loadbang;
#X obj 3 -126 loadbang;
#X obj 816 -123 r elev;
#X msg 5 -32 0;
#X obj 5 -10 s elev;
#X text 124 486 (Azimuth);
#X obj 934 -127 r distance;
#X obj 917 -148 r angle;
#X obj 900 -189 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 900 -217 r setUp;
#X obj 951 -111 r elev;
#X msg 900 -170 9;
#X obj 5 -55 loadbang;
#X obj 427 535 s thisTS;
#X obj 446 514 s thisSA;
#X obj 466 492 s thisHT;
#X obj 485 469 s thisTT;
#X obj 505 448 s thisOD;
#X obj 524 428 s thisOA;
#X obj 544 406 s thisG;
#X obj 13 27 r thisTS;
#X obj 10 116 r thisSA;
#X obj 7 205 r thisHT;
#X obj 6 293 r thisTT;
#X obj 6 374 r thisOD;
#X obj 3 459 r thisOA;
#X obj 478 -205 r thisG;
#X obj 427 382 unpack f f f f f f f;
#X obj -47 -55 r setUp;
#X obj -50 -124 r setUp;
#X obj -47 -192 r setUp;
#X obj -48 -257 r setUp;
#X text 341 -92 Calculate thicknes delta;
#X text 269 45 Circumference calculations;
#X text 530 175 Speed calculations;
#X text 364 382 Presets;
#X obj 798 26 r distance;
#X obj 781 5 r angle;
#X obj 764 -36 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 764 -64 r setUp;
#X obj 815 42 r elev;
#X obj 927 35 r distance;
#X obj 910 14 r angle;
#X obj 893 -27 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 893 -55 r setUp;
#X obj 944 51 r elev;
#X obj 795 177 r distance;
#X obj 778 156 r angle;
#X obj 761 115 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 761 87 r setUp;
#X obj 812 193 r elev;
#X msg 761 134 6;
#X msg 893 -8 7;
#X msg 764 -17 8;
#X obj 929 184 r distance;
#X obj 912 163 r angle;
#X obj 895 122 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 895 94 r setUp;
#X obj 946 200 r elev;
#X msg 895 141 5;
#X msg 436 277 20 160 0.01 0.004 2 0 127;
#X msg 427 254 43 215 0.0085 0.0025 4 90 40;
#X msg 446 300 30 280 0.0095 0.0032 2 60 120;
#X text 696 263 Currently the noise sources are not connected but still
getting a zipping type sound. It seems to get worse with sources lower
down the blade - this needs looked into;
#X obj 427 225 loadbang;
#X obj 144 -242 loadbang;
#X obj 144 -218 delay 13;
#X obj 900 -91 tenSource;
#X obj 764 62 tenSource;
#X obj 893 71 tenSource;
#X obj 761 213 tenSource;
#X obj 895 220 tenSource;
#X obj 379 307 t b;
#X obj 359 330 s setUp;
#X connect 3 0 5 0;
#X connect 4 0 0 0;
#X connect 4 1 1 0;
#X connect 5 0 80 0;
#X connect 6 0 7 0;
#X connect 6 0 33 0;
#X connect 6 1 8 0;
#X connect 6 1 34 0;
#X connect 9 0 16 0;
#X connect 10 0 18 0;
#X connect 11 0 17 0;
#X connect 12 0 6 0;
#X connect 13 0 6 1;
#X connect 14 0 6 2;
#X connect 15 0 6 3;
#X connect 20 0 19 0;
#X connect 20 0 21 0;
#X connect 26 0 27 0;
#X connect 26 0 28 0;
#X connect 30 0 76 2;
#X connect 31 0 76 0;
#X connect 32 0 76 1;
#X connect 37 0 38 0;
#X connect 37 0 39 0;
#X connect 40 0 42 0;
#X connect 40 0 43 0;
#X connect 41 0 44 0;
#X connect 41 0 45 0;
#X connect 48 0 37 0;
#X connect 49 0 37 1;
#X connect 50 0 51 0;
#X connect 53 0 55 0;
#X connect 53 0 74 0;
#X connect 54 0 57 0;
#X connect 54 0 75 0;
#X connect 59 0 52 2;
#X connect 60 0 52 1;
#X connect 61 0 81 0;
#X connect 62 0 63 0;
#X connect 63 0 50 0;
#X connect 64 0 63 1;
#X connect 65 0 66 0;
#X connect 67 0 20 0;
#X connect 68 0 26 0;
#X connect 69 0 40 0;
#X connect 70 0 41 0;
#X connect 71 0 53 0;
#X connect 72 0 54 0;
#X connect 73 0 61 0;
#X connect 76 0 35 0;
#X connect 76 0 77 0;
#X connect 76 1 36 0;
#X connect 76 1 78 0;
#X connect 80 0 4 0;
#X connect 81 0 52 0;
#X connect 82 0 9 0;
#X connect 83 0 11 0;
#X connect 84 0 10 0;
#X connect 85 0 52 3;
#X connect 86 0 87 0;
#X connect 89 0 150 2;
#X connect 90 0 150 1;
#X connect 91 0 94 0;
#X connect 92 0 91 0;
#X connect 93 0 150 3;
#X connect 94 0 150 0;
#X connect 95 0 86 0;
#X connect 103 0 20 0;
#X connect 104 0 26 0;
#X connect 105 0 40 0;
#X connect 106 0 41 0;
#X connect 107 0 53 0;
#X connect 108 0 54 0;
#X connect 109 0 80 0;
#X connect 110 0 96 0;
#X connect 110 1 97 0;
#X connect 110 2 98 0;
#X connect 110 3 99 0;
#X connect 110 4 100 0;
#X connect 110 5 101 0;
#X connect 110 6 102 0;
#X connect 111 0 86 0;
#X connect 112 0 10 0;
#X connect 113 0 11 0;
#X connect 114 0 9 0;
#X connect 119 0 151 2;
#X connect 120 0 151 1;
#X connect 121 0 136 0;
#X connect 122 0 121 0;
#X connect 123 0 151 3;
#X connect 124 0 152 2;
#X connect 125 0 152 1;
#X connect 126 0 135 0;
#X connect 127 0 126 0;
#X connect 128 0 152 3;
#X connect 129 0 153 2;
#X connect 130 0 153 1;
#X connect 131 0 134 0;
#X connect 132 0 131 0;
#X connect 133 0 153 3;
#X connect 134 0 153 0;
#X connect 135 0 152 0;
#X connect 136 0 151 0;
#X connect 137 0 154 2;
#X connect 138 0 154 1;
#X connect 139 0 142 0;
#X connect 140 0 139 0;
#X connect 141 0 154 3;
#X connect 142 0 154 0;
#X connect 143 0 110 0;
#X connect 143 0 155 0;
#X connect 144 0 110 0;
#X connect 144 0 155 0;
#X connect 145 0 110 0;
#X connect 145 0 155 0;
#X connect 147 0 144 0;
#X connect 148 0 149 0;
#X connect 149 0 65 0;
#X connect 155 0 156 0;