view scene demo/freqCalcCyl2D1.pd @ 199:2ded41e29e57

Projection matrix now calculated using control signals rather than audio. This makes sense as it was eating too much processing power for something that doesn't chage during the sound effect.
author Rod Selfridge <r.selfridge@qmul.ac.uk>
date Fri, 11 Mar 2016 20:51:21 +0000
parents 1dcc91d745aa
children
line wrap: on
line source
#N canvas 0 23 1368 808 10;
#X text 704 -38 Mass Density of Air;
#X text 500 44 Frequency (Hz);
#X obj 811 353 throw~ l;
#X obj 838 334 throw~ r;
#X obj 826 207 osc~;
#X obj 826 -37 *~ 1.225;
#X obj 826 38 /~ 1.81e-05;
#X obj 826 -7 *~ 1;
#X obj 826 156 /~ 1;
#X floatatom 201 262 10 0 0 0 - - -;
#X obj 826 132 *~;
#X obj 826 181 clip~ 0 20000;
#X obj 212 -91 inlet;
#X text 859 82 Reynolds Number;
#X text 711 146 Strouhal Number;
#X obj 386 -97 inlet;
#X obj 826 237 *~;
#X text 856 18 Viscosity;
#X obj 611 178 *~ 2;
#X obj 611 205 osc~;
#X obj 611 227 *~;
#X obj 811 266 +~;
#X obj 212 -68 s \$0-diameter;
#X obj 887 -38 r \$0-diameter;
#X obj 894 137 r \$0-diameter;
#X obj 129 -29 s~ \$0-windSpeed;
#X obj 300 10 r~ \$0-windSpeed;
#X obj 893 114 r~ \$0-windSpeed;
#X obj 826 -65 r~ \$0-windSpeed;
#X obj 720 133 s~ \$0_str;
#X obj 291 -11 r~ \$0_str;
#X obj 644 205 r~ \$0_dragDiGain;
#X obj 747 206 s~ \$0-myFreq;
#X obj 611 151 r~ \$0-myFreq;
#X obj 864 207 r~ \$0_liftDiGain;
#X obj 129 -71 sig~;
#X obj 129 -49 vd~ varwind;
#X obj 129 -95 inlet;
#X obj 1059 12 r~ \$0-myFreq;
#X obj 1025 -38 noise~;
#X obj 1102 196 throw~ l;
#X obj 1129 175 throw~ r;
#X obj 1102 103 *~;
#X obj 123 84 snapshot~;
#X obj 123 59 metro 100;
#X obj 123 37 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
1;
#X floatatom 123 110 10 0 0 0 - - -;
#X obj 123 11 loadbang;
#X obj 37 59 r~ \$0-myRey;
#X obj 839 62 s~ \$0-myRey;
#X obj 1240 13 snapshot~;
#X floatatom 1240 39 10 0 0 0 - - -;
#X obj 1240 -60 loadbang;
#X obj 1240 -35 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1
1 1;
#X obj 1151 -89 r~ \$0-myRey;
#X obj 1067 364 r~ \$0-myFreq;
#X obj 1033 293 noise~;
#X obj 1110 553 throw~ l;
#X obj 1137 530 throw~ r;
#X obj 1110 461 *~;
#X obj 1248 373 snapshot~;
#X floatatom 1248 399 10 0 0 0 - - -;
#X obj 1248 300 loadbang;
#X obj 1248 325 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1
1 1;
#X obj 1159 271 r~ \$0-myRey;
#X obj 1067 390 *~ 2;
#X text 108 132 Reynolds Number;
#X obj 1025 55 vcf~ 1000 10;
#X obj 1033 415 vcf~ 1000 10;
#X obj 811 309 fcpan;
#X obj 1102 152 fcpan;
#X obj 1110 505 fcpan;
#X obj 1117 76 *~ 1;
#X obj 1125 436 *~ 1;
#X obj 1159 346 clip~ 2 400;
#X obj 1151 -14 clip~ 2 400;
#X obj 1159 295 *~ -0.003;
#X obj 1151 -65 *~ -0.003;
#X obj 1240 -12 metro 10;
#X obj 1248 348 metro 10;
#X obj 386 -77 s \$0_dist;
#X obj 610 -99 inlet;
#X obj 610 -30 s \$0_thisPan;
#X obj 838 280 r \$0_thisPan;
#X obj 1129 128 r \$0_thisPan;
#X obj 1137 483 r \$0_thisPan;
#X floatatom 555 -30 8 0 0 0 - - -;
#X obj 610 -75 max 0.1;
#X obj 610 -52 min 0.9;
#X text 1161 449 Drag Dipole spectrum calculation;
#X text 1156 93 Lift Dipole spectrum calculation;
#X text 547 77 Calculates the frequency;
#X text 547 90 based on the physics of;
#X text 548 103 the object and environment;
#X obj 303 292 r~ \$0-windSpeed;
#X obj 294 269 r~ \$0_str;
#X obj 1125 413 r~ \$0_dragNoiseGain;
#X obj 1117 34 r~ \$0_liftNoiseGain;
#X obj 124 406 snapshot~;
#X obj 124 381 metro 100;
#X obj 124 359 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
1;
#X floatatom 124 432 10 0 0 0 - - -;
#X obj 124 333 loadbang;
#X obj 38 381 r~ \$0_str;
#N canvas 75 127 654 734 noiseGain 0;
#X text -21205 129 Mass Density of Air \, squared;
#X text -20765 142 Speed of Sound to power 2;
#X obj -21070 29 *~;
#X obj -21022 70 *~;
#X obj -21022 104 *~ 1;
#X obj -21022 132 *~ 1.50063;
#X obj -20767 96 *;
#X obj -20767 119 * 118033;
#X obj -21022 259 /~ 1;
#X obj -21022 532 *~ 0.27;
#X text -20767 49 Distance;
#X obj -20847 502 cos;
#X obj -20847 457 / 360;
#X floatatom -20820 553 5 0 0 0 - - -;
#X obj -20847 526 *;
#X obj -20886 606 *~ 0.27;
#X obj -20847 479 * 6.28319;
#N canvas 409 243 688 659 angleCalc 0;
#X obj 341 79 hsl 100 20 -90 90 0 0 empty empty empty -2 -8 0 10 -262144
-1 -1 9900 1;
#X text 321 40 Elevation Angle;
#X obj 270 81 / 360;
#X obj 270 103 * 6.28319;
#X floatatom 135 174 5 0 0 0 - - -;
#X obj 179 79 / 360;
#X obj 179 101 * 6.28319;
#X floatatom 64 105 5 0 0 0 - - -;
#X floatatom 338 103 5 0 0 0 - - -;
#X floatatom 232 256 5 0 0 0 - - -;
#X floatatom 360 500 8 0 0 0 - - -;
#X obj 312 502 * 360;
#X floatatom 359 553 5 0 0 0 - - -;
#X obj 312 526 / 6.28319;
#X obj 270 294 *;
#X obj 270 326 swap 1;
#X obj 270 359 -;
#X obj 270 388 sqrt;
#X obj 312 419 /;
#X obj 312 447 atan;
#X obj 312 473 * 2;
#X text 352 355 Arccos of angle;
#X obj 270 265 /;
#X obj 327 295 + 1;
#X obj 179 125 cos;
#X obj 179 151 *;
#X obj 270 134 cos;
#X obj 270 234 *;
#X obj 179 175 t f b;
#X obj 177 200 delay 9;
#X obj 312 553 outlet;
#X obj 270 53 inlet;
#X obj 180 52 inlet;
#X obj 370 227 hsl 100 20 100 1 0 0 empty empty empty -2 -8 0 10 -262144
-1 -1 0 1;
#X obj 516 57 inlet;
#X obj 516 81 s \$0_tDist;
#X obj 204 126 r \$0_tDist;
#X obj 295 234 r \$0_tDist;
#X floatatom 482 81 5 0 0 0 - - -;
#X obj 67 79 hsl 100 20 -90 90 0 0 empty empty empty -2 -8 0 10 -262144
-1 -1 4950 1;
#X text 71 41 Azimuth Angle;
#X connect 0 0 8 0;
#X connect 2 0 3 0;
#X connect 3 0 26 0;
#X connect 5 0 6 0;
#X connect 6 0 24 0;
#X connect 11 0 13 0;
#X connect 13 0 12 0;
#X connect 13 0 30 0;
#X connect 14 0 15 0;
#X connect 15 0 16 0;
#X connect 15 1 16 1;
#X connect 16 0 17 0;
#X connect 17 0 18 0;
#X connect 18 0 19 0;
#X connect 19 0 20 0;
#X connect 20 0 11 0;
#X connect 20 0 10 0;
#X connect 22 0 14 0;
#X connect 22 0 14 1;
#X connect 22 0 23 0;
#X connect 23 0 18 1;
#X connect 24 0 25 0;
#X connect 25 0 4 0;
#X connect 25 0 28 0;
#X connect 26 0 27 0;
#X connect 27 0 9 0;
#X connect 27 0 22 0;
#X connect 28 0 27 1;
#X connect 28 1 29 0;
#X connect 29 0 27 0;
#X connect 31 0 2 0;
#X connect 31 0 0 0;
#X connect 32 0 5 0;
#X connect 32 0 39 0;
#X connect 34 0 35 0;
#X connect 34 0 38 0;
#X connect 36 0 25 1;
#X connect 37 0 22 1;
#X connect 39 0 7 0;
#X restore -20983 388 pd angleCalc;
#X obj -20983 451 / 90;
#X floatatom -21015 475 5 0 0 0 - - -;
#X obj -20847 429 + 90;
#X obj -20937 452 loadbang;
#X msg -20937 474 0.05;
#X obj -21022 507 *~ 0.05;
#X obj -20782 531 loadbang;
#X msg -20782 553 0.05;
#X obj -20886 582 *~ 0.05;
#X text -20812 621 Calculates Drag Dipole gain;
#X text -21198 525 Calculates Lift Dipole gain;
#N canvas 759 125 286 289 pow8 0;
#X obj 47 67 *~;
#X obj 76 67 *~;
#X obj 76 35 inlet~;
#X obj 47 170 outlet~;
#X obj 136 173 snapshot~;
#X obj 136 148 metro 100;
#X obj 136 126 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
1;
#X floatatom 136 200 10 0 0 0 - - -;
#X obj 136 100 loadbang;
#X obj 106 67 *~;
#X obj 47 93 *~;
#X obj 47 118 *~;
#X obj 136 67 *~;
#X obj 47 144 *~;
#X connect 0 0 10 0;
#X connect 1 0 10 1;
#X connect 2 0 0 0;
#X connect 2 0 0 1;
#X connect 2 0 1 1;
#X connect 2 0 9 0;
#X connect 2 0 9 1;
#X connect 2 0 1 0;
#X connect 2 0 12 0;
#X connect 2 0 12 1;
#X connect 4 0 7 0;
#X connect 5 0 4 0;
#X connect 6 0 5 0;
#X connect 8 0 6 0;
#X connect 9 0 11 1;
#X connect 10 0 11 0;
#X connect 11 0 13 0;
#X connect 12 0 13 1;
#X connect 13 0 3 0;
#X connect 13 0 4 0;
#X restore -21022 32 pd pow8;
#X obj -21005 288 s~ \$0-c;
#X obj -20911 556 r~ \$0-c;
#X obj -21070 7 inlet~;
#X obj -21022 7 inlet~;
#X obj -20989 55 inlet;
#X obj -20983 324 inlet;
#X obj -20949 345 inlet;
#X obj -20914 367 inlet;
#X obj -20767 70 inlet;
#X obj -21022 575 outlet~;
#X obj -20886 656 outlet~;
#X text -20949 312 Azimuth;
#X text -20914 335 Elevation;
#X text -20880 359 Distance;
#X text -20961 26 Gain proportional to windspeed to power 8 for spectrum
;
#X text -20981 74 Diameter;
#X obj -20991 163 inlet;
#X obj -20991 187 *;
#X obj -21022 209 *~ 1;
#X text -20950 162 Length;
#X obj -21022 554 *~ 0.02;
#X obj -20886 631 *~ 0.002;
#X connect 2 0 3 1;
#X connect 3 0 4 0;
#X connect 4 0 5 0;
#X connect 5 0 48 0;
#X connect 6 0 7 0;
#X connect 7 0 8 1;
#X connect 8 0 23 0;
#X connect 8 0 30 0;
#X connect 9 0 50 0;
#X connect 11 0 14 0;
#X connect 11 0 14 1;
#X connect 12 0 16 0;
#X connect 14 0 13 0;
#X connect 14 0 26 1;
#X connect 15 0 51 0;
#X connect 16 0 11 0;
#X connect 17 0 18 0;
#X connect 17 0 20 0;
#X connect 18 0 19 0;
#X connect 18 0 23 1;
#X connect 20 0 12 0;
#X connect 21 0 22 0;
#X connect 22 0 23 1;
#X connect 23 0 9 0;
#X connect 24 0 25 0;
#X connect 25 0 26 1;
#X connect 26 0 15 0;
#X connect 29 0 3 0;
#X connect 31 0 26 0;
#X connect 32 0 2 0;
#X connect 32 0 2 1;
#X connect 33 0 29 0;
#X connect 34 0 4 1;
#X connect 35 0 17 0;
#X connect 36 0 17 1;
#X connect 37 0 17 2;
#X connect 38 0 6 0;
#X connect 38 0 6 1;
#X connect 46 0 47 0;
#X connect 46 0 47 1;
#X connect 47 0 48 1;
#X connect 48 0 8 0;
#X connect 50 0 39 0;
#X connect 51 0 40 0;
#X restore 294 427 pd noiseGain;
#X obj 323 337 r \$0-diameter;
#X obj 363 403 r \$0_dist;
#X obj 343 382 r \$0_azim;
#X obj 333 360 r \$0_elev;
#X obj 294 472 s~ \$0_liftNoiseGain;
#X obj 363 450 s~ \$0_dragNoiseGain;
#N canvas 577 142 663 715 freqGain 0;
#X text 36 127 Mass Density of Air \, squared;
#X text 411 123 Speed of Sound to power 2;
#N canvas 759 125 286 289 pow6 0;
#X obj 47 67 *~;
#X obj 76 67 *~;
#X obj 76 35 inlet~;
#X obj 47 163 outlet~;
#X obj 136 184 snapshot~;
#X obj 136 159 metro 100;
#X obj 136 137 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
1;
#X floatatom 136 211 10 0 0 0 - - -;
#X obj 216 210 outlet;
#X obj 136 111 loadbang;
#X obj 106 67 *~;
#X obj 47 93 *~;
#X obj 47 118 *~;
#X connect 0 0 11 0;
#X connect 1 0 11 1;
#X connect 2 0 0 0;
#X connect 2 0 0 1;
#X connect 2 0 1 1;
#X connect 2 0 10 0;
#X connect 2 0 10 1;
#X connect 2 0 1 0;
#X connect 4 0 7 0;
#X connect 4 0 8 0;
#X connect 5 0 4 0;
#X connect 6 0 5 0;
#X connect 9 0 6 0;
#X connect 10 0 12 1;
#X connect 11 0 12 0;
#X connect 12 0 4 0;
#X connect 12 0 3 0;
#X restore 219 30 pd pow6;
#X obj 173 32 *~;
#X obj 219 68 *~;
#X obj 219 102 *~ 1;
#X obj 219 130 *~ 1.50063;
#X obj 404 71 *;
#X obj 404 96 * 118033;
#X obj 219 224 /~ 1;
#X obj 219 497 *~ 0.27;
#X text 271 275 Azimuth;
#X text 424 30 Distance;
#X obj 370 482 cos;
#X obj 370 437 / 360;
#X floatatom 397 533 5 0 0 0 - - -;
#X obj 370 506 *;
#X obj 331 586 *~ 0.27;
#X obj 236 253 s~ \$0-a;
#X obj 306 536 r~ \$0-a;
#X obj 370 459 * 6.28319;
#X floatatom 369 72 5 0 0 0 - - -;
#N canvas 713 150 688 659 angleCalc 0;
#X obj 341 79 hsl 100 20 -90 90 0 0 empty empty empty -2 -8 0 10 -262144
-1 -1 4950 1;
#X text 321 40 Elevation Angle;
#X obj 270 81 / 360;
#X obj 270 103 * 6.28319;
#X floatatom 135 174 5 0 0 0 - - -;
#X obj 179 79 / 360;
#X obj 179 101 * 6.28319;
#X floatatom 64 105 5 0 0 0 - - -;
#X floatatom 338 103 5 0 0 0 - - -;
#X floatatom 232 256 5 0 0 0 - - -;
#X floatatom 360 500 8 0 0 0 - - -;
#X obj 312 502 * 360;
#X floatatom 359 553 5 0 0 0 - - -;
#X obj 312 526 / 6.28319;
#X obj 270 294 *;
#X obj 270 326 swap 1;
#X obj 270 359 -;
#X obj 270 388 sqrt;
#X obj 312 419 /;
#X obj 312 447 atan;
#X obj 312 473 * 2;
#X text 352 355 Arccos of angle;
#X obj 270 265 /;
#X obj 327 295 + 1;
#X obj 179 125 cos;
#X obj 179 151 *;
#X obj 270 134 cos;
#X obj 270 234 *;
#X obj 179 175 t f b;
#X obj 177 200 delay 9;
#X obj 312 553 outlet;
#X obj 270 53 inlet;
#X obj 180 52 inlet;
#X obj 370 227 hsl 100 20 100 1 0 0 empty empty empty -2 -8 0 10 -262144
-1 -1 0 1;
#X obj 516 57 inlet;
#X obj 516 81 s \$0_tDist;
#X obj 204 126 r \$0_tDist;
#X obj 295 234 r \$0_tDist;
#X floatatom 482 81 5 0 0 0 - - -;
#X obj 67 79 hsl 100 20 -90 90 0 0 empty empty empty -2 -8 0 10 -262144
-1 -1 9900 1;
#X text 71 41 Azimuth Angle;
#X text 102 584 remove distance from this patch as makes no difference
to the end calculation and confuses things!;
#X text 386 407 Create an audio version of this patch;
#X connect 0 0 8 0;
#X connect 2 0 3 0;
#X connect 3 0 26 0;
#X connect 5 0 6 0;
#X connect 6 0 24 0;
#X connect 11 0 13 0;
#X connect 13 0 12 0;
#X connect 13 0 30 0;
#X connect 14 0 15 0;
#X connect 15 0 16 0;
#X connect 15 1 16 1;
#X connect 16 0 17 0;
#X connect 17 0 18 0;
#X connect 18 0 19 0;
#X connect 19 0 20 0;
#X connect 20 0 11 0;
#X connect 20 0 10 0;
#X connect 22 0 14 0;
#X connect 22 0 14 1;
#X connect 22 0 23 0;
#X connect 23 0 18 1;
#X connect 24 0 25 0;
#X connect 25 0 4 0;
#X connect 25 0 28 0;
#X connect 26 0 27 0;
#X connect 27 0 9 0;
#X connect 27 0 22 0;
#X connect 28 0 27 1;
#X connect 28 1 29 0;
#X connect 29 0 27 0;
#X connect 31 0 2 0;
#X connect 31 0 0 0;
#X connect 32 0 5 0;
#X connect 32 0 39 0;
#X connect 34 0 35 0;
#X connect 34 0 38 0;
#X connect 36 0 25 1;
#X connect 37 0 22 1;
#X connect 39 0 7 0;
#X restore 256 348 pd angleCalc;
#X text 307 294 Elevation;
#X obj 370 409 + 90;
#X obj 435 511 loadbang;
#X msg 435 533 0.05;
#X obj 331 562 *~ 0.05;
#X text 409 593 Calculates Drag Dipole gain;
#X text 48 504 Calculates Lift Dipole gain;
#X obj 331 611 *~ 0.1;
#X obj 173 8 inlet~;
#X obj 219 7 inlet~;
#X text 256 54 Diameter;
#X obj 250 69 inlet;
#X obj 404 46 inlet;
#X obj 325 326 inlet;
#X obj 256 290 inlet;
#X obj 290 309 inlet;
#X text 360 328 Distance;
#X obj 219 524 outlet~;
#X obj 331 636 outlet~;
#X obj 240 425 cos;
#X obj 240 380 / 360;
#X obj 240 449 *;
#X obj 240 402 * 6.28319;
#X obj 219 472 *~ 1;
#X obj 250 156 inlet;
#X obj 250 180 *;
#X text 288 151 Length;
#X obj 219 202 *~ 1;
#X text 388 225 Add in MACH deflection;
#X connect 2 0 4 0;
#X connect 3 0 4 1;
#X connect 4 0 5 0;
#X connect 5 0 6 0;
#X connect 6 0 50 0;
#X connect 7 0 8 0;
#X connect 8 0 9 1;
#X connect 9 0 18 0;
#X connect 9 0 46 0;
#X connect 10 0 40 0;
#X connect 13 0 16 0;
#X connect 13 0 16 1;
#X connect 14 0 20 0;
#X connect 16 0 15 0;
#X connect 16 0 27 1;
#X connect 17 0 30 0;
#X connect 19 0 27 0;
#X connect 20 0 13 0;
#X connect 22 0 24 0;
#X connect 22 0 43 0;
#X connect 24 0 14 0;
#X connect 25 0 26 0;
#X connect 26 0 27 1;
#X connect 27 0 17 0;
#X connect 30 0 41 0;
#X connect 31 0 3 0;
#X connect 31 0 3 1;
#X connect 32 0 2 0;
#X connect 34 0 5 1;
#X connect 35 0 7 1;
#X connect 35 0 7 0;
#X connect 35 0 21 0;
#X connect 36 0 22 2;
#X connect 37 0 22 0;
#X connect 38 0 22 1;
#X connect 42 0 44 0;
#X connect 42 0 44 1;
#X connect 43 0 45 0;
#X connect 44 0 46 1;
#X connect 45 0 42 0;
#X connect 46 0 10 0;
#X connect 47 0 48 0;
#X connect 47 0 48 1;
#X connect 48 0 50 1;
#X connect 50 0 9 0;
#X restore 291 132 pd freqGain;
#X obj 455 -97 inlet;
#X obj 455 -77 s \$0_elev;
#X obj 318 49 r \$0-diameter;
#X obj 523 -99 inlet;
#X obj 523 -77 s \$0_azim;
#X obj 354 111 r \$0_dist;
#X obj 327 69 r \$0_azim;
#X obj 336 90 r \$0_elev;
#X obj 354 156 s~ \$0_dragDiGain;
#X obj 291 176 s~ \$0_liftDiGain;
#X floatatom 386 -50 5 0 0 0 - - -;
#X floatatom 456 -51 5 0 0 0 - - -;
#X floatatom 524 -55 5 0 0 0 - - -;
#X obj 72 262 outlet;
#X obj 1025 9 hip~;
#X obj 116 235 snapshot~;
#X obj 116 188 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
1;
#X obj 116 162 loadbang;
#X obj 116 210 metro 10;
#X obj 1033 390 hip~;
#X obj 37 212 r~ \$0-myFreq;
#X obj 116 262 s \$0_contFreq;
#X obj 1046 -14 r \$0_contFreq;
#X obj 1054 314 r \$0_contFreq;
#X obj 1054 337 * 2;
#X text 123 461 Strouhal Number;
#X text 281 193 Calculates the gain of the dipole source;
#X text 285 491 Calculates the gain of the source;
#X text 515 -118 Azimuth;
#X text 615 -117 Pan;
#X text 449 -116 Elevation;
#X text 382 -116 Distance;
#X text 207 -112 Diameter;
#X text 122 -113 Wind Speed;
#X obj 312 -97 inlet;
#X floatatom 313 -53 5 0 0 0 - - -;
#X text 308 -116 Length;
#X obj 312 -75 s \$0_leng;
#X obj 309 29 r \$0_leng;
#X obj 313 313 r \$0_leng;
#X obj 1151 -40 +~ 40;
#X obj 1159 320 +~ 40;
#X obj 826 103 newStrou;
#X connect 4 0 16 0;
#X connect 5 0 7 0;
#X connect 6 0 49 0;
#X connect 6 0 154 0;
#X connect 7 0 6 0;
#X connect 8 0 11 0;
#X connect 10 0 8 0;
#X connect 11 0 4 0;
#X connect 11 0 32 0;
#X connect 12 0 22 0;
#X connect 15 0 80 0;
#X connect 15 0 122 0;
#X connect 16 0 21 1;
#X connect 18 0 19 0;
#X connect 19 0 20 0;
#X connect 20 0 21 0;
#X connect 21 0 69 0;
#X connect 23 0 7 1;
#X connect 24 0 8 1;
#X connect 26 0 111 1;
#X connect 27 0 10 1;
#X connect 28 0 5 0;
#X connect 30 0 111 0;
#X connect 31 0 20 1;
#X connect 33 0 18 0;
#X connect 34 0 16 1;
#X connect 35 0 36 0;
#X connect 36 0 25 0;
#X connect 37 0 35 0;
#X connect 38 0 67 1;
#X connect 39 0 126 0;
#X connect 42 0 70 0;
#X connect 43 0 46 0;
#X connect 44 0 43 0;
#X connect 45 0 44 0;
#X connect 47 0 45 0;
#X connect 48 0 43 0;
#X connect 50 0 51 0;
#X connect 50 0 67 2;
#X connect 52 0 53 0;
#X connect 53 0 78 0;
#X connect 54 0 77 0;
#X connect 55 0 65 0;
#X connect 56 0 131 0;
#X connect 59 0 71 0;
#X connect 60 0 61 0;
#X connect 60 0 68 2;
#X connect 62 0 63 0;
#X connect 63 0 79 0;
#X connect 64 0 76 0;
#X connect 65 0 68 1;
#X connect 67 0 42 0;
#X connect 68 0 59 0;
#X connect 69 0 2 0;
#X connect 69 1 3 0;
#X connect 70 0 40 0;
#X connect 70 1 41 0;
#X connect 71 0 57 0;
#X connect 71 1 58 0;
#X connect 72 0 42 1;
#X connect 73 0 59 1;
#X connect 74 0 60 0;
#X connect 75 0 50 0;
#X connect 76 0 153 0;
#X connect 77 0 152 0;
#X connect 78 0 50 0;
#X connect 79 0 60 0;
#X connect 81 0 87 0;
#X connect 83 0 69 1;
#X connect 84 0 70 1;
#X connect 85 0 71 1;
#X connect 87 0 88 0;
#X connect 88 0 82 0;
#X connect 88 0 86 0;
#X connect 94 0 104 1;
#X connect 95 0 104 0;
#X connect 96 0 73 0;
#X connect 97 0 72 0;
#X connect 98 0 101 0;
#X connect 99 0 98 0;
#X connect 100 0 99 0;
#X connect 102 0 100 0;
#X connect 103 0 98 0;
#X connect 104 0 109 0;
#X connect 104 1 110 0;
#X connect 105 0 104 3;
#X connect 106 0 104 6;
#X connect 106 0 104 7;
#X connect 107 0 104 5;
#X connect 108 0 104 4;
#X connect 111 0 121 0;
#X connect 111 1 120 0;
#X connect 112 0 113 0;
#X connect 112 0 123 0;
#X connect 114 0 111 3;
#X connect 115 0 116 0;
#X connect 115 0 124 0;
#X connect 117 0 111 6;
#X connect 117 0 111 7;
#X connect 118 0 111 4;
#X connect 119 0 111 5;
#X connect 126 0 67 0;
#X connect 127 0 133 0;
#X connect 127 0 125 0;
#X connect 127 0 9 0;
#X connect 128 0 130 0;
#X connect 129 0 128 0;
#X connect 130 0 127 0;
#X connect 131 0 68 0;
#X connect 132 0 127 0;
#X connect 134 0 126 1;
#X connect 135 0 136 0;
#X connect 136 0 131 1;
#X connect 146 0 147 0;
#X connect 146 0 149 0;
#X connect 150 0 111 2;
#X connect 151 0 104 2;
#X connect 152 0 75 0;
#X connect 153 0 74 0;
#X connect 154 0 29 0;
#X connect 154 0 10 0;