Commit b82d0712 authored by Roman Haefeli's avatar Roman Haefeli

add more udp.link.status modes for server connection

parent 8af6f535
#N canvas 79 441 1315 507 10;
#N canvas 79 441 1303 489 10;
#X obj 529 71 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#N canvas 205 438 442 403 detect.link.peer 0;
......@@ -70,7 +70,7 @@
#X connect 8 3 9 0;
#X connect 12 0 0 0;
#X restore 16 104 pd get.peer.data;
#N canvas 277 523 937 517 gui.code 0;
#N canvas 277 523 937 517 gui.code 1;
#X obj 11 164 s \$0.client.label;
#X msg 11 145 label \$1;
#X obj 11 22 r \$0.peer.name;
......@@ -119,63 +119,136 @@
#X msg 360 263 label \$1;
#X obj 360 283 s \$0.channels.label;
#X obj 240 289 s \$0.channels.label;
#N canvas 1202 560 592 449 tx.button 0;
#N canvas 653 155 837 719 tx.button 0;
#X obj 47 389 s \$0.tx.switch.r;
#X msg 47 360 color \$1 \$2 \$3;
#X msg 47 308 0 0 0;
#X msg 95 310 0 0 255;
#X msg 212 313 192 192 192;
#X text 460 50 0 = reset;
#X text 460 70 1 = waiting for peer;
#X text 460 90 2 = waiting for user;
#X text 461 110 3 = connected;
#X obj 172 197 sel 1;
#X msg 172 218 1;
#X msg 201 218 0;
#X obj 147 246 spigot;
#X obj 147 171 r \$0.blink.clock;
#X obj 147 267 sel 0 1;
#X msg 311 218 0;
#X obj 257 246 spigot;
#X obj 257 171 r \$0.blink.clock;
#X obj 257 267 sel 0 1;
#X msg 282 218 1;
#X obj 282 197 sel 2;
#X obj 47 136 select 0 3 4;
#X obj 47 95 t a a a;
#X text 461 128 4 = aborted;
#X msg 155 310 0 255 0;
#X text 599 47 0 = reset;
#X obj 183 189 sel 1;
#X msg 183 210 1;
#X msg 212 210 0;
#X obj 158 238 spigot;
#X obj 158 163 r \$0.blink.clock;
#X obj 158 259 sel 0 1;
#X msg 322 210 0;
#X obj 268 238 spigot;
#X obj 268 163 r \$0.blink.clock;
#X obj 268 259 sel 0 1;
#X msg 293 210 1;
#X obj 293 189 sel 2;
#X text 600 125 4 = aborted;
#X obj 47 60 r \$0.udp.link.status;
#X obj 242 41 r \$0.display.reset;
#X text 599 67 1 = waiting for peer (stun);
#X text 599 87 2 = waiting for user (stun);
#X text 601 108 3 = connected (stun);
#X text 600 146 5 = waiting for peer (server);
#X text 601 165 6 = waiting for user (server);
#X text 601 186 7 = connected (server);
#X obj 47 88 t a a a a a;
#X obj 47 136 select 0 3 4 7;
#X msg 226 314 224 224 224;
#X msg 95 310 128 0 255;
#X msg 308 316 0 0 255;
#X msg 442 210 0;
#X obj 388 238 spigot;
#X obj 388 163 r \$0.blink.clock;
#X obj 388 259 sel 0 1;
#X msg 413 210 1;
#X msg 545 210 0;
#X obj 491 238 spigot;
#X obj 491 163 r \$0.blink.clock;
#X obj 491 259 sel 0 1;
#X msg 516 210 1;
#X obj 413 189 sel 5;
#X obj 516 189 sel 6;
#X floatatom 256 82 5 0 0 0 - - -, f 5;
#X msg 155 310 0 255 0;
#X msg 367 316 255 255 0;
#X obj 43 443 r \$0.tx.switch.s;
#X obj 71 466 r \$0.udp.link.status;
#X obj 43 466 f;
#X obj 43 489 sel 0;
#X obj 43 637 del 300;
#X msg 81 612 stop;
#X obj 43 522 f;
#X obj 128 528 + 1;
#X obj 43 544 t a a;
#X obj 43 568 sel 0 1;
#X obj 62 590 t b b b;
#X msg 147 565 0;
#X obj 43 658 t b b;
#X obj 112 660 s \$0.initiate.stun;
#X obj 43 687 s \$0.initiate.server;
#X connect 1 0 0 0;
#X connect 2 0 1 0;
#X connect 3 0 1 0;
#X connect 4 0 1 0;
#X connect 9 0 10 0;
#X connect 9 1 11 0;
#X connect 10 0 12 1;
#X connect 11 0 12 1;
#X connect 12 0 14 0;
#X connect 13 0 12 0;
#X connect 14 0 2 0;
#X connect 14 1 3 0;
#X connect 15 0 16 1;
#X connect 16 0 18 0;
#X connect 17 0 16 0;
#X connect 4 0 5 0;
#X connect 4 1 6 0;
#X connect 5 0 7 1;
#X connect 6 0 7 1;
#X connect 7 0 9 0;
#X connect 8 0 7 0;
#X connect 9 0 2 0;
#X connect 9 1 28 0;
#X connect 10 0 11 1;
#X connect 11 0 13 0;
#X connect 12 0 11 0;
#X connect 13 0 2 0;
#X connect 13 1 43 0;
#X connect 14 0 11 1;
#X connect 15 0 14 0;
#X connect 15 1 10 0;
#X connect 17 0 25 0;
#X connect 18 0 2 0;
#X connect 18 1 24 0;
#X connect 19 0 16 1;
#X connect 20 0 19 0;
#X connect 20 1 15 0;
#X connect 21 0 2 0;
#X connect 21 1 3 0;
#X connect 21 2 4 0;
#X connect 22 0 21 0;
#X connect 22 1 9 0;
#X connect 22 2 20 0;
#X connect 24 0 1 0;
#X connect 25 0 22 0;
#X connect 25 0 26 0;
#X connect 25 1 4 0;
#X connect 25 2 15 0;
#X connect 25 3 40 0;
#X connect 25 4 41 0;
#X connect 26 0 2 0;
#X connect 26 1 28 0;
#X connect 26 2 27 0;
#X connect 26 3 29 0;
#X connect 27 0 1 0;
#X connect 28 0 1 0;
#X connect 29 0 1 0;
#X connect 30 0 31 1;
#X connect 31 0 33 0;
#X connect 32 0 31 0;
#X connect 33 0 2 0;
#X connect 33 1 29 0;
#X connect 34 0 31 1;
#X connect 35 0 36 1;
#X connect 36 0 38 0;
#X connect 37 0 36 0;
#X connect 38 0 2 0;
#X connect 38 1 44 0;
#X connect 39 0 36 1;
#X connect 40 0 34 0;
#X connect 40 1 30 0;
#X connect 41 0 39 0;
#X connect 41 1 35 0;
#X connect 42 0 25 0;
#X connect 43 0 1 0;
#X connect 44 0 1 0;
#X connect 45 0 47 0;
#X connect 46 0 47 1;
#X connect 47 0 48 0;
#X connect 48 0 51 0;
#X connect 49 0 57 0;
#X connect 50 0 49 0;
#X connect 51 0 53 0;
#X connect 52 0 51 1;
#X connect 53 0 54 0;
#X connect 53 1 52 0;
#X connect 54 0 49 0;
#X connect 54 1 55 0;
#X connect 55 0 58 0;
#X connect 55 1 50 0;
#X connect 55 2 56 0;
#X connect 56 0 51 1;
#X connect 57 0 59 0;
#X connect 57 1 56 0;
#X restore 40 338 pd tx.button;
#X obj 805 138 metro 500;
#X obj 805 159 == 0;
......@@ -193,7 +266,6 @@
#X obj 16 55 route receiving;
#X obj 16 76 sel 0 1;
#X msg 113 194 0 0 255;
#X msg 16 190 192 192 192;
#X obj 16 269 s \$0.rx.switch.r;
#X msg 16 246 color \$1 \$2 \$3;
#X obj 187 143 r \$0.display.reset;
......@@ -203,22 +275,23 @@
#X obj 16 128 f;
#X obj 16 155 sel 0;
#X obj 86 140 sel 0;
#X msg 16 190 224 224 224;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
#X connect 3 0 12 0;
#X connect 3 0 11 0;
#X connect 3 1 4 0;
#X connect 4 0 7 0;
#X connect 5 0 7 0;
#X connect 7 0 6 0;
#X connect 8 0 9 0;
#X connect 9 0 7 0;
#X connect 10 0 9 0;
#X connect 11 0 12 1;
#X connect 11 0 14 0;
#X connect 12 0 13 0;
#X connect 13 1 5 0;
#X connect 14 0 9 0;
#X connect 4 0 6 0;
#X connect 6 0 5 0;
#X connect 7 0 8 0;
#X connect 8 0 6 0;
#X connect 9 0 8 0;
#X connect 10 0 11 1;
#X connect 10 0 13 0;
#X connect 11 0 12 0;
#X connect 12 1 14 0;
#X connect 13 0 8 0;
#X connect 14 0 6 0;
#X restore 44 386 pd rx.button;
#X connect 1 0 0 0;
#X connect 2 0 3 0;
......@@ -272,7 +345,7 @@
#X connect 55 0 27 0;
#X connect 56 0 57 0;
#X connect 57 0 58 0;
#X restore 16 164 pd gui.code;
#X restore 16 184 pd gui.code;
#X obj 529 110 s \$0.reset;
#X obj 540 89 r \$1.reset;
#N canvas 178 181 450 300 persistent.linkID 0;
......@@ -324,166 +397,6 @@
-262144 0;
#X obj 623 20 cnv 32 70 32 empty \$0.ooo.label empty 8 16 0 20 -1 -262144
0;
#N canvas 606 101 604 759 negotiate.port 0;
#X obj 10 34 r \$1.receive;
#X obj 10 78 routeOSC /tpf/setpeerport;
#X obj 10 112 routeOSC /__;
#X obj 147 21 r \$0.linkID;
#X msg 147 41 set /\$1;
#X obj 37 155 s \$0.peer.port;
#X obj 264 17 r \$1.receive;
#X obj 264 84 routeOSC /__;
#X obj 264 61 routeOSC /tpf/requestpeerport;
#X obj 9 690 s \$1.send;
#X obj 64 509 r \$0.peer;
#X obj 49 531 f;
#X obj 94 529 r \$0.linkID;
#X obj 49 552 pack f f;
#X obj 238 568 random 28232;
#X obj 238 588 + 32768;
#X obj 238 608 s \$0.bind.port;
#X obj 49 583 list append;
#X obj 112 562 r \$0.bind.port;
#X obj 264 108 b;
#X msg 49 653 /\$1/tpf/setpeerport/\$2 \$3;
#X obj 9 608 list append;
#X msg 9 630 /\$1/tpf/requestpeerport/\$2;
#X obj 10 58 routeOSC /*;
#X obj 264 41 routeOSC /*;
#N canvas 750 196 301 279 random.seed 0;
#X obj 35 24 loadbang;
#X obj 34 96 realtime;
#X obj 35 66 t b b b;
#X obj 121 128 until;
#X obj 121 148 234.235;
#X obj 121 168 pow 9.2348;
#X obj 34 116 * 1239.29;
#X obj 34 136 int;
#X obj 34 156 mod 9877;
#X obj 34 197 outlet;
#X msg 121 105 143726;
#X msg 34 177 seed \$1;
#X connect 0 0 2 0;
#X connect 1 0 6 0;
#X connect 2 0 1 1;
#X connect 2 1 10 0;
#X connect 2 2 1 0;
#X connect 3 0 4 0;
#X connect 4 0 5 0;
#X connect 6 0 7 0;
#X connect 7 0 8 0;
#X connect 8 0 11 0;
#X connect 10 0 3 0;
#X connect 11 0 9 0;
#X restore 238 536 pd random.seed;
#X obj 9 332 r \$0.tx.switch.s;
#X obj 37 355 r \$0.udp.link.status;
#X obj 36 403 r \$0.link;
#X obj 9 355 f;
#X obj 9 403 f;
#X obj 9 425 sel 1;
#X msg 111 425 1;
#X obj 111 444 s \$0.udp.link.status;
#X obj 289 141 r \$0.udp.link.status;
#X obj 291 189 r \$0.link;
#X obj 264 141 f;
#X obj 264 164 sel 0 4;
#X obj 264 189 f;
#X obj 264 211 sel 1;
#X obj 264 254 s \$0.udp.link.status;
#X msg 264 233 2;
#X obj 295 323 r \$0.tx.switch.s;
#X obj 320 346 r \$0.udp.link.status;
#X obj 322 394 r \$0.link;
#X obj 295 346 f;
#X obj 295 394 f;
#X obj 295 416 sel 1;
#X obj 295 369 sel 2;
#X obj 10 132 t b a;
#X obj 35 183 r \$0.udp.link.status;
#X obj 37 231 r \$0.link;
#X obj 10 183 f;
#X obj 10 231 f;
#X obj 10 253 sel 1;
#X obj 10 206 sel 1;
#X obj 10 296 s \$0.udp.link.status;
#X msg 10 274 3;
#X obj 9 378 sel 0;
#X obj 295 437 t b b;
#X msg 295 484 3;
#X obj 295 504 s \$0.udp.link.status;
#X obj 295 463 del 0;
#X obj 9 447 t b b b;
#X obj 49 486 t b b;
#X obj 111 403 del 0;
#X connect 0 0 23 0;
#X connect 1 0 2 0;
#X connect 2 0 49 0;
#X connect 3 0 4 0;
#X connect 4 0 2 0;
#X connect 4 0 7 0;
#X connect 6 0 24 0;
#X connect 7 0 19 0;
#X connect 8 0 7 0;
#X connect 10 0 11 1;
#X connect 11 0 13 0;
#X connect 12 0 13 1;
#X connect 13 0 17 0;
#X connect 14 0 15 0;
#X connect 15 0 16 0;
#X connect 17 0 21 1;
#X connect 17 0 20 0;
#X connect 18 0 17 1;
#X connect 19 0 36 0;
#X connect 20 0 9 0;
#X connect 21 0 22 0;
#X connect 22 0 9 0;
#X connect 23 0 1 0;
#X connect 24 0 8 0;
#X connect 25 0 14 0;
#X connect 26 0 29 0;
#X connect 27 0 29 1;
#X connect 28 0 30 1;
#X connect 29 0 58 0;
#X connect 30 0 31 0;
#X connect 31 0 63 0;
#X connect 32 0 33 0;
#X connect 34 0 36 1;
#X connect 35 0 38 1;
#X connect 36 0 37 0;
#X connect 37 0 38 0;
#X connect 37 1 38 0;
#X connect 38 0 39 0;
#X connect 39 0 41 0;
#X connect 41 0 40 0;
#X connect 42 0 45 0;
#X connect 43 0 45 1;
#X connect 44 0 46 1;
#X connect 45 0 48 0;
#X connect 46 0 47 0;
#X connect 47 0 59 0;
#X connect 48 0 46 0;
#X connect 49 0 52 0;
#X connect 49 1 5 0;
#X connect 50 0 52 1;
#X connect 51 0 53 1;
#X connect 52 0 55 0;
#X connect 53 0 54 0;
#X connect 54 0 57 0;
#X connect 55 0 53 0;
#X connect 57 0 56 0;
#X connect 58 0 30 0;
#X connect 59 0 62 0;
#X connect 59 1 64 0;
#X connect 60 0 61 0;
#X connect 62 0 60 0;
#X connect 63 0 21 0;
#X connect 63 1 64 0;
#X connect 63 2 65 0;
#X connect 64 0 11 0;
#X connect 64 1 14 0;
#X connect 65 0 32 0;
#X restore 16 124 pd negotiate.port;
#X obj 15 284 jacktrip . . . . . . . . . . . . . .;
#X obj 228 262 r \$0.to.jacktrip;
#X obj 228 304 s \$0.from.jacktrip;
......@@ -612,7 +525,7 @@
#X connect 58 0 12 1;
#X connect 58 0 30 0;
#X connect 58 0 56 0;
#X restore 16 144 pd jacktrip.start.stop;
#X restore 16 164 pd jacktrip.start.stop;
#X obj 404 20 cnv 32 70 32 empty \$0.channels.label empty 8 16 0 20
-1 -262144 0;
#X obj 16 234 adc~ 1 2 3 4 5 6 7 8;
......@@ -690,41 +603,203 @@
#X obj 828 214 s \$0.udp.link.status;
#X msg 828 191 0;
#X obj 836 162 r \$0.reset;
#N canvas 606 101 604 759 negotiate.token 0;
#X restore 16 144 pd negotiate.token;
#N canvas 606 101 604 759 negotiate.port 1;
#X obj 10 34 r \$1.receive;
#X obj 10 78 routeOSC /tpf/setpeerport;
#X obj 10 112 routeOSC /__;
#X obj 147 21 r \$0.linkID;
#X msg 147 41 set /\$1;
#X obj 37 155 s \$0.peer.port;
#X obj 264 17 r \$1.receive;
#X obj 264 84 routeOSC /__;
#X obj 264 61 routeOSC /tpf/requestpeerport;
#X obj 9 690 s \$1.send;
#X obj 64 509 r \$0.peer;
#X obj 49 531 f;
#X obj 94 529 r \$0.linkID;
#X obj 49 552 pack f f;
#X obj 238 568 random 28232;
#X obj 238 588 + 32768;
#X obj 238 608 s \$0.bind.port;
#X obj 49 583 list append;
#X obj 112 562 r \$0.bind.port;
#X obj 264 108 b;
#X msg 49 653 /\$1/tpf/setpeerport/\$2 \$3;
#X obj 9 608 list append;
#X msg 9 630 /\$1/tpf/requestpeerport/\$2;
#X obj 10 58 routeOSC /*;
#X obj 264 41 routeOSC /*;
#N canvas 750 196 301 279 random.seed 0;
#X obj 35 24 loadbang;
#X obj 34 96 realtime;
#X obj 35 66 t b b b;
#X obj 121 128 until;
#X obj 121 148 234.235;
#X obj 121 168 pow 9.2348;
#X obj 34 116 * 1239.29;
#X obj 34 136 int;
#X obj 34 156 mod 9877;
#X obj 34 197 outlet;
#X msg 121 105 143726;
#X msg 34 177 seed \$1;
#X connect 0 0 2 0;
#X connect 1 0 6 0;
#X connect 2 0 1 1;
#X connect 2 1 10 0;
#X connect 2 2 1 0;
#X connect 3 0 4 0;
#X connect 4 0 5 0;
#X connect 6 0 7 0;
#X connect 7 0 8 0;
#X connect 8 0 11 0;
#X connect 10 0 3 0;
#X connect 11 0 9 0;
#X restore 238 536 pd random.seed;
#X obj 9 332 r \$0.tx.switch.s;
#X obj 37 355 r \$0.udp.link.status;
#X obj 36 403 r \$0.link;
#X obj 9 355 f;
#X obj 9 403 f;
#X obj 9 425 sel 1;
#X msg 111 425 1;
#X obj 111 444 s \$0.udp.link.status;
#X obj 289 141 r \$0.udp.link.status;
#X obj 291 189 r \$0.link;
#X obj 264 141 f;
#X obj 264 164 sel 0 4;
#X obj 264 189 f;
#X obj 264 211 sel 1;
#X obj 264 254 s \$0.udp.link.status;
#X msg 264 233 2;
#X obj 295 323 r \$0.tx.switch.s;
#X obj 320 346 r \$0.udp.link.status;
#X obj 322 394 r \$0.link;
#X obj 295 346 f;
#X obj 295 394 f;
#X obj 295 416 sel 1;
#X obj 295 369 sel 2;
#X obj 10 132 t b a;
#X obj 35 183 r \$0.udp.link.status;
#X obj 37 231 r \$0.link;
#X obj 10 183 f;
#X obj 10 231 f;
#X obj 10 253 sel 1;
#X obj 10 206 sel 1;
#X obj 10 296 s \$0.udp.link.status;
#X msg 10 274 3;
#X obj 9 378 sel 0;
#X obj 295 437 t b b;
#X msg 295 484 3;
#X obj 295 504 s \$0.udp.link.status;
#X obj 295 463 del 0;
#X obj 9 447 t b b b;
#X obj 49 486 t b b;
#X obj 111 403 del 0;
#X connect 0 0 23 0;
#X connect 1 0 2 0;
#X connect 2 0 49 0;
#X connect 3 0 4 0;
#X connect 4 0 2 0;
#X connect 4 0 7 0;
#X connect 6 0 24 0;
#X connect 7 0 19 0;
#X connect 8 0 7 0;
#X connect 10 0 11 1;
#X connect 11 0 13 0;
#X connect 12 0 13 1;
#X connect 13 0 17 0;
#X connect 14 0 15 0;
#X connect 15 0 16 0;
#X connect 17 0 21 1;
#X connect 17 0 20 0;
#X connect 18 0 17 1;
#X connect 19 0 36 0;
#X connect 20 0 9 0;
#X connect 21 0 22 0;
#X connect 22 0 9 0;
#X connect 23 0 1 0;
#X connect 24 0 8 0;
#X connect 25 0 14 0;
#X connect 26 0 29 0;
#X connect 27 0 29 1;
#X connect 28 0 30 1;
#X connect 29 0 58 0;
#X connect 30 0 31 0;
#X connect 31 0 63 0;
#X connect 32 0 33 0;
#X connect 34 0 36 1;
#X connect 35 0 38 1;
#X connect 36 0 37 0;
#X connect 37 0 38 0;
#X connect 37 1 38 0;
#X connect 38 0 39 0;
#X connect 39 0 41 0;
#X connect 41 0 40 0;
#X connect 42 0 45 0;
#X connect 43 0 45 1;
#X connect 44 0 46 1;
#X connect 45 0 48 0;
#X connect 46 0 47 0;
#X connect 47 0 59 0;
#X connect 48 0 46 0;
#X connect 49 0 52 0;
#X connect 49 1 5 0;
#X connect 50 0 52 1;
#X connect 51 0 53 1;
#X connect 52 0 55 0;
#X connect 53 0 54 0;
#X connect 54 0 57 0;
#X connect 55 0 53 0;
#X connect 57 0 56 0;
#X connect 58 0 30 0;
#X connect 59 0 62 0;
#X connect 59 1 64 0;
#X connect 60 0 61 0;
#X connect 62 0 60 0;
#X connect 63 0 21 0;
#X connect 63 1 64 0;
#X connect 63 2 65 0;
#X connect 64 0 11 0;
#X connect 64 1 14 0;
#X connect 65 0 32 0;
#X restore 16 124 pd negotiate.port;
#X connect 0 0 4 0;
#X connect 1 0 2 0;
#X connect 5 0 4 0;
#X connect 13 0 37 0;
#X connect 13 1 38 0;
#X connect 13 2 39 0;
#X connect 13 3 40 0;
#X connect 13 4 41 0;
#X connect 13 5 42 0;
#X connect 13 6 43 0;
#X connect 13 7 44 0;
#X connect 13 8 15 0;
#X connect 14 0 13 8;
#X connect 17 0 16 0;
#X connect 19 0 20 0;
#X connect 21 0 16 0;
#X connect 22 0 16 0;
#X connect 25 0 13 0;
#X connect 25 1 13 1;
#X connect 25 2 13 2;
#X connect 25 3 13 3;
#X connect 25 4 13 4;
#X connect 25 5 13 5;
#X connect 25 6 13 6;
#X connect 25 7 13 7;
#X connect 26 0 28 0;
#X connect 29 0 28 0;
#X connect 30 0 28 1;
#X connect 31 0 28 2;
#X connect 32 0 28 3;
#X connect 33 0 28 4;
#X connect 34 0 28 5;
#X connect 35 0 28 6;
#X connect 36 0 28 7;
#X connect 54 0 56 0;
#X connect 12 0 36 0;
#X connect 12 1 37 0;
#X connect 12 2 38 0;
#X connect 12 3 39 0;
#X connect 12 4 40 0;
#X connect 12 5 41 0;
#X connect 12 6 42 0;
#X connect 12 7 43 0;
#X connect 12 8 14 0;
#X connect 13 0 12 8;
#X connect 16 0 15 0;
#X connect 18 0 19 0;
#X connect 20 0 15 0;
#X connect 21 0 15 0;
#X connect 24 0 12 0;
#X connect 24 1 12 1;
#X connect 24 2 12 2;
#X connect 24 3 12 3;
#X connect 24 4 12 4;
#X connect 24 5 12 5;
#X connect 24 6 12 6;
#X connect 24 7 12 7;
#X connect 25 0 27 0;
#X connect 28 0 27 0;
#X connect 29 0 27 1;
#X connect 30 0 27 2;
#X connect 31 0 27 3;
#X connect 32 0 27 4;
#X connect 33 0 27 5;
#X connect 34 0 27 6;
#X connect 35 0 27 7;
#X connect 53 0 55 0;
#X connect 55 0 54 0;
#X connect 56 0 55 0;
#X connect 57 0 56 0;
#X coords 0 -1 1 1 953 32 2 20 20;
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment