aboutsummaryrefslogtreecommitdiff
path: root/test/cyclone
diff options
context:
space:
mode:
authorN.N. <krzyszcz@users.sourceforge.net>2003-05-23 12:29:55 +0000
committerN.N. <krzyszcz@users.sourceforge.net>2003-05-23 12:29:55 +0000
commitfaada59567f8cb252f4a909116595ce309ff5828 (patch)
tree5874954c6f2d5392d921208e49a45ef266beeb7f /test/cyclone
This commit was generated by cvs2svn to compensate for changes in r647,svn2git-root
which included commits to RCS files with non-trunk default branches. svn path=/trunk/externals/miXed/; revision=648
Diffstat (limited to 'test/cyclone')
-rw-r--r--test/cyclone/Borax-test.pd120
-rw-r--r--test/cyclone/Bucket-test.pd40
-rw-r--r--test/cyclone/Decode-test.pd18
-rw-r--r--test/cyclone/Histo-test.pd20
-rw-r--r--test/cyclone/MouseState-test.pd54
-rw-r--r--test/cyclone/TogEdge-test.pd16
-rw-r--r--test/cyclone/Uzi-test.pd27
-rw-r--r--test/cyclone/active-test.pd19
-rw-r--r--test/cyclone/anal-test.pd17
-rw-r--r--test/cyclone/append-test.pd78
-rw-r--r--test/cyclone/bad.coll4
-rw-r--r--test/cyclone/bondo-test.pd73
-rw-r--r--test/cyclone/buddy-test.pd28
-rw-r--r--test/cyclone/capture-test.pd48
-rw-r--r--test/cyclone/click-test.pd26
-rw-r--r--test/cyclone/clip-test.pd41
-rw-r--r--test/cyclone/coll-print.pd12
-rw-r--r--test/cyclone/coll-test.pd117
-rw-r--r--test/cyclone/comb-test.pd80
-rw-r--r--test/cyclone/comment-dotest.pd37
-rw-r--r--test/cyclone/comment-ogonki.pd9
-rw-r--r--test/cyclone/comment-test.pd21
-rw-r--r--test/cyclone/count-test.pd19
-rw-r--r--test/cyclone/counter-test.pd46
-rw-r--r--test/cyclone/cycle-test.pd30
-rw-r--r--test/cyclone/cyclone-test.pd54
-rw-r--r--test/cyclone/decide-test.pd27
-rw-r--r--test/cyclone/drunk-test.pd45
-rw-r--r--test/cyclone/forward-test.pd27
-rw-r--r--test/cyclone/frameaccum-test.pd15
-rw-r--r--test/cyclone/fromsymbol-test.pd64
-rw-r--r--test/cyclone/funbuff-etest.pd164
-rw-r--r--test/cyclone/funbuff-test.pd149
-rw-r--r--test/cyclone/funnel-test.pd33
-rw-r--r--test/cyclone/gate-test.pd48
-rw-r--r--test/cyclone/good.coll4
-rw-r--r--test/cyclone/grab-test.pd42
-rw-r--r--test/cyclone/index-test.pd51
-rw-r--r--test/cyclone/kanon.midbin0 -> 5282 bytes
-rw-r--r--test/cyclone/kink-test.pd22
-rw-r--r--test/cyclone/line-test.pd54
-rw-r--r--test/cyclone/match-reentrant.pd20
-rw-r--r--test/cyclone/match-test.pd33
-rw-r--r--test/cyclone/maxmin-test.pd65
-rw-r--r--test/cyclone/mean-test.pd16
-rw-r--r--test/cyclone/midi-test.pd33
-rw-r--r--test/cyclone/midiparse-test.pd28
-rw-r--r--test/cyclone/mousefilter-test.pd28
-rw-r--r--test/cyclone/next-test.pd16
-rw-r--r--test/cyclone/offer-test.pd76
-rw-r--r--test/cyclone/onebang-test.pd26
-rw-r--r--test/cyclone/past-test.pd38
-rw-r--r--test/cyclone/peakamp-test.pd25
-rw-r--r--test/cyclone/peek-test.pd51
-rw-r--r--test/cyclone/prepend-test.pd73
-rw-r--r--test/cyclone/prob-test.pd33
-rw-r--r--test/cyclone/pv-test.pd83
-rw-r--r--test/cyclone/rand-test.pd37
-rw-r--r--test/cyclone/record-sync-test.pd64
-rw-r--r--test/cyclone/record-test.pd60
-rw-r--r--test/cyclone/scope-gop.pd2
-rw-r--r--test/cyclone/scope-test.pd125
-rw-r--r--test/cyclone/scope-test1.pd28
-rw-r--r--test/cyclone/scope-test2.pd31
-rw-r--r--test/cyclone/seq-test.pd58
-rw-r--r--test/cyclone/sigbits-test.pd157
-rw-r--r--test/cyclone/sigcapture-test.pd25
-rw-r--r--test/cyclone/sigcycle-test.pd156
-rw-r--r--test/cyclone/sigmeters-test.pd45
-rw-r--r--test/cyclone/sigops-test.pd64
-rw-r--r--test/cyclone/sigsmoothers-test.pd34
-rw-r--r--test/cyclone/sigtrig-test.pd80
-rw-r--r--test/cyclone/sigwrappers-speed.pd101
-rw-r--r--test/cyclone/sigwrappers-speed20.pd63
-rw-r--r--test/cyclone/sigwrappers-test.pd34
-rw-r--r--test/cyclone/spectrum-pm.pd34
-rw-r--r--test/cyclone/speedlim-test.pd63
-rw-r--r--test/cyclone/spell-test.pd26
-rw-r--r--test/cyclone/spike-test.pd23
-rw-r--r--test/cyclone/split-test.pd48
-rw-r--r--test/cyclone/spray-test.pd82
-rw-r--r--test/cyclone/substitute-test.pd56
-rw-r--r--test/cyclone/switch-test.pd35
-rw-r--r--test/cyclone/test.capture2
-rw-r--r--test/cyclone/test.funbuff10
-rw-r--r--test/cyclone/test.midbin0 -> 4855 bytes
-rw-r--r--test/cyclone/test.pool2
-rw-r--r--test/cyclone/test.seq1208
-rw-r--r--test/cyclone/test1.seq1208
-rw-r--r--test/cyclone/testmess-reentrant.pd25
-rw-r--r--test/cyclone/testmess-test.pd69
-rw-r--r--test/cyclone/thresh-test.pd41
-rw-r--r--test/cyclone/tosymbol-test.pd44
-rw-r--r--test/cyclone/train-test.pd17
-rw-r--r--test/cyclone/trig-test.pd66
-rw-r--r--test/cyclone/universal-test.pd55
-rw-r--r--test/cyclone/urn-test.pd15
-rw-r--r--test/cyclone/vectral-test.pd56
-rw-r--r--test/cyclone/xbend-test.pd89
-rw-r--r--test/cyclone/xnote-test.pd50
-rw-r--r--test/cyclone/zl-test.pd148
101 files changed, 7079 insertions, 0 deletions
diff --git a/test/cyclone/Borax-test.pd b/test/cyclone/Borax-test.pd
new file mode 100644
index 0000000..aa2970b
--- /dev/null
+++ b/test/cyclone/Borax-test.pd
@@ -0,0 +1,120 @@
+#N canvas 137 29 642 442 12;
+#X obj 24 185 Borax dummy;
+#X floatatom 24 220 5 0 0;
+#X floatatom 24 124 5 0 0;
+#X msg 24 86 1;
+#X msg 80 86 0;
+#X msg 118 152 bang;
+#X obj 129 86 counter;
+#X msg 57 51 set 0;
+#X msg 129 18 128;
+#X obj 129 51 Uzi;
+#X obj 326 220 Borax dummy;
+#X obj 469 324 funbuff;
+#C restore;
+#X obj 230 324 funbuff;
+#C restore;
+#X obj 356 324 funbuff;
+#C restore;
+#X obj 326 185 makenote;
+#X obj 326 86 random 128;
+#X obj 393 152 random 1000;
+#X obj 326 51 t b b b;
+#X msg 326 18 bang;
+#X msg 209 220 dump;
+#X obj 230 359 pack;
+#X obj 230 392 print pitch;
+#X obj 469 359 pack;
+#X obj 469 392 print delta;
+#X obj 356 359 pack;
+#X obj 356 392 print dur;
+#X msg 260 220 dump;
+#X msg 486 220 dump;
+#X msg 230 263 clear;
+#X obj 356 288 spigot;
+#X msg 405 263 1;
+#X msg 419 288 0;
+#X obj 469 288 spigot;
+#X msg 518 263 1;
+#X msg 532 288 0;
+#X obj 92 220 print voice;
+#X obj 210 86 urn 128;
+#X msg 210 18 128;
+#X obj 210 51 Uzi;
+#X msg 258 51 clear;
+#X msg 536 18 128;
+#X obj 411 51 Uzi;
+#X msg 420 185 bang;
+#X obj 456 51 t b b b;
+#X obj 456 86 urn 128;
+#X obj 514 152 random 1000;
+#X msg 536 51 clear;
+#X obj 456 18 t 0 b;
+#X msg 485 119 64;
+#X msg 355 119 64;
+#X connect 0 0 1 0;
+#X connect 0 1 35 0;
+#X connect 2 0 0 0;
+#X connect 3 0 0 1;
+#X connect 4 0 0 1;
+#X connect 5 0 0 2;
+#X connect 6 0 0 0;
+#X connect 7 0 6 0;
+#X connect 8 0 9 0;
+#X connect 9 0 6 0;
+#X connect 10 0 12 0;
+#X connect 10 0 32 0;
+#X connect 10 0 29 0;
+#X connect 10 3 12 1;
+#X connect 10 6 13 1;
+#X connect 10 6 30 0;
+#X connect 10 8 11 1;
+#X connect 10 8 33 0;
+#X connect 11 0 22 0;
+#X connect 11 1 22 1;
+#X connect 12 0 20 0;
+#X connect 12 1 20 1;
+#X connect 13 0 24 0;
+#X connect 13 1 24 1;
+#X connect 14 0 10 0;
+#X connect 14 1 10 1;
+#X connect 15 0 14 0;
+#X connect 16 0 14 2;
+#X connect 17 0 15 0;
+#X connect 17 1 49 0;
+#X connect 17 2 16 0;
+#X connect 18 0 17 0;
+#X connect 19 0 12 0;
+#X connect 20 0 21 0;
+#X connect 22 0 23 0;
+#X connect 24 0 25 0;
+#X connect 26 0 13 0;
+#X connect 27 0 11 0;
+#X connect 28 0 12 0;
+#X connect 28 0 13 0;
+#X connect 28 0 11 0;
+#X connect 29 0 31 0;
+#X connect 29 0 13 0;
+#X connect 30 0 29 1;
+#X connect 31 0 29 1;
+#X connect 32 0 34 0;
+#X connect 32 0 11 0;
+#X connect 33 0 32 1;
+#X connect 34 0 32 1;
+#X connect 36 0 0 0;
+#X connect 37 0 38 0;
+#X connect 38 0 36 0;
+#X connect 39 0 36 0;
+#X connect 40 0 47 0;
+#X connect 41 0 43 0;
+#X connect 42 0 10 2;
+#X connect 43 0 44 0;
+#X connect 43 1 48 0;
+#X connect 43 2 45 0;
+#X connect 44 0 14 0;
+#X connect 45 0 14 2;
+#X connect 46 0 44 0;
+#X connect 47 0 41 0;
+#X connect 47 1 46 0;
+#X connect 48 0 14 1;
+#X connect 49 0 14 1;
diff --git a/test/cyclone/Bucket-test.pd b/test/cyclone/Bucket-test.pd
new file mode 100644
index 0000000..c43b0ed
--- /dev/null
+++ b/test/cyclone/Bucket-test.pd
@@ -0,0 +1,40 @@
+#N canvas 306 219 459 482 12;
+#X obj 134 126 Bucket 10 padding;
+#X floatatom 134 433 5 0 0;
+#X floatatom 150 403 5 0 0;
+#X floatatom 166 374 5 0 0;
+#X floatatom 183 343 5 0 0;
+#X floatatom 199 313 5 0 0;
+#X floatatom 216 282 5 0 0;
+#X floatatom 232 255 5 0 0;
+#X floatatom 249 224 5 0 0;
+#X floatatom 265 192 5 0 0;
+#X floatatom 282 162 5 0 0;
+#X msg 233 21 roll;
+#X floatatom 232 56 5 0 0;
+#X msg 232 88 set \$1;
+#X floatatom 81 56 5 0 0;
+#X msg 156 21 l2r;
+#X msg 156 56 r2l;
+#X msg 332 56 freeze;
+#X msg 332 88 thaw;
+#X msg 21 56 bang;
+#X connect 0 0 1 0;
+#X connect 0 1 2 0;
+#X connect 0 2 3 0;
+#X connect 0 3 4 0;
+#X connect 0 4 5 0;
+#X connect 0 5 6 0;
+#X connect 0 6 7 0;
+#X connect 0 7 8 0;
+#X connect 0 8 9 0;
+#X connect 0 9 10 0;
+#X connect 11 0 0 0;
+#X connect 12 0 13 0;
+#X connect 13 0 0 0;
+#X connect 14 0 0 0;
+#X connect 15 0 0 0;
+#X connect 16 0 0 0;
+#X connect 17 0 0 0;
+#X connect 18 0 0 0;
+#X connect 19 0 0 0;
diff --git a/test/cyclone/Decode-test.pd b/test/cyclone/Decode-test.pd
new file mode 100644
index 0000000..bd35b61
--- /dev/null
+++ b/test/cyclone/Decode-test.pd
@@ -0,0 +1,18 @@
+#N canvas 314 293 450 300 12;
+#X obj 151 134 Decode 4;
+#X obj 151 256 print a;
+#X obj 173 230 print b;
+#X obj 195 200 print c;
+#X obj 218 172 print d;
+#X floatatom 68 81 5 0 0;
+#X obj 184 81 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 218 81 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X connect 0 0 1 0;
+#X connect 0 1 2 0;
+#X connect 0 2 3 0;
+#X connect 0 3 4 0;
+#X connect 5 0 0 0;
+#X connect 6 0 0 1;
+#X connect 7 0 0 2;
diff --git a/test/cyclone/Histo-test.pd b/test/cyclone/Histo-test.pd
new file mode 100644
index 0000000..cd22730
--- /dev/null
+++ b/test/cyclone/Histo-test.pd
@@ -0,0 +1,20 @@
+#N canvas 386 259 450 300 12;
+#X obj 158 150 Histo 1000;
+#X obj 158 226 print a;
+#X obj 243 226 print b;
+#X msg 51 93 bang;
+#X msg 158 93 700;
+#X msg 111 93 -1;
+#X msg 243 44 1000;
+#X msg 263 93 700.5;
+#X msg 178 121 clear;
+#X msg 139 44 1 1;
+#X connect 0 0 1 0;
+#X connect 0 1 2 0;
+#X connect 3 0 0 0;
+#X connect 4 0 0 0;
+#X connect 5 0 0 0;
+#X connect 6 0 0 1;
+#X connect 7 0 0 1;
+#X connect 8 0 0 0;
+#X connect 9 0 0 0;
diff --git a/test/cyclone/MouseState-test.pd b/test/cyclone/MouseState-test.pd
new file mode 100644
index 0000000..12b13ff
--- /dev/null
+++ b/test/cyclone/MouseState-test.pd
@@ -0,0 +1,54 @@
+#N canvas 228 259 751 304 12;
+#X obj 179 129 MouseState;
+#X obj 179 264 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X floatatom 200 238 5 0 0 0 - - -;
+#X floatatom 221 213 5 0 0 0 - - -;
+#X floatatom 242 185 5 0 0 0 - - -;
+#X floatatom 264 159 5 0 0 0 - - -;
+#X obj 179 19 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 179 54 metro 50;
+#X msg 272 54 zero;
+#X msg 272 86 reset;
+#X msg 35 87 poll;
+#X msg 99 87 nopoll;
+#X obj 523 129 MouseState;
+#X obj 523 264 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X floatatom 544 238 5 0 0 0 - - -;
+#X floatatom 565 213 5 0 0 0 - - -;
+#X floatatom 586 185 5 0 0 0 - - -;
+#X floatatom 608 159 5 0 0 0 - - -;
+#X obj 523 19 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 523 54 metro 50;
+#X msg 616 54 zero;
+#X msg 616 86 reset;
+#X msg 379 87 poll;
+#X msg 443 87 nopoll;
+#X obj 53 213 capture;
+#X connect 0 0 1 0;
+#X connect 0 1 2 0;
+#X connect 0 1 24 0;
+#X connect 0 2 3 0;
+#X connect 0 2 24 0;
+#X connect 0 3 4 0;
+#X connect 0 4 5 0;
+#X connect 6 0 7 0;
+#X connect 7 0 0 0;
+#X connect 8 0 0 0;
+#X connect 9 0 0 0;
+#X connect 10 0 0 0;
+#X connect 11 0 0 0;
+#X connect 12 0 13 0;
+#X connect 12 1 14 0;
+#X connect 12 2 15 0;
+#X connect 12 3 16 0;
+#X connect 12 4 17 0;
+#X connect 18 0 19 0;
+#X connect 19 0 12 0;
+#X connect 20 0 12 0;
+#X connect 21 0 12 0;
+#X connect 22 0 12 0;
+#X connect 23 0 12 0;
diff --git a/test/cyclone/TogEdge-test.pd b/test/cyclone/TogEdge-test.pd
new file mode 100644
index 0000000..9198075
--- /dev/null
+++ b/test/cyclone/TogEdge-test.pd
@@ -0,0 +1,16 @@
+#N canvas 516 361 368 289 12;
+#X obj 109 129 TogEdge;
+#X obj 109 184 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 167 184 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 168 74 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 109 74 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X msg 36 74 1.5;
+#X connect 0 0 1 0;
+#X connect 0 1 2 0;
+#X connect 3 0 0 0;
+#X connect 4 0 0 0;
+#X connect 5 0 0 0;
diff --git a/test/cyclone/Uzi-test.pd b/test/cyclone/Uzi-test.pd
new file mode 100644
index 0000000..c01ad33
--- /dev/null
+++ b/test/cyclone/Uzi-test.pd
@@ -0,0 +1,27 @@
+#N canvas 407 221 414 285 12;
+#X obj 153 97 Uzi;
+#X obj 153 194 counter;
+#X floatatom 153 225 5 0 0;
+#X msg 153 35 bang;
+#X msg 212 35 99;
+#X msg 212 66 11;
+#X floatatom 336 171 5 0 0;
+#X msg 62 225 pause;
+#X msg 55 35 resume;
+#X obj 296 136 t 0 0;
+#X obj 62 194 sel 10;
+#X floatatom 267 77 5 0 0;
+#X obj 164 136 print carry;
+#X connect 0 0 1 0;
+#X connect 0 1 12 0;
+#X connect 0 2 9 0;
+#X connect 1 0 2 0;
+#X connect 3 0 0 0;
+#X connect 4 0 0 0;
+#X connect 5 0 0 1;
+#X connect 7 0 0 0;
+#X connect 8 0 0 0;
+#X connect 9 0 10 0;
+#X connect 9 1 6 0;
+#X connect 10 0 7 0;
+#X connect 11 0 0 1;
diff --git a/test/cyclone/active-test.pd b/test/cyclone/active-test.pd
new file mode 100644
index 0000000..6f40f96
--- /dev/null
+++ b/test/cyclone/active-test.pd
@@ -0,0 +1,19 @@
+#N canvas 52 81 262 185 12;
+#X obj 27 29 active;
+#X obj 27 74 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1
+;
+#X obj 129 29 active;
+#X obj 129 74 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1
+;
+#N canvas 376 80 255 181 test 1;
+#X obj 27 29 active;
+#X obj 27 74 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 129 29 active;
+#X obj 129 74 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X connect 0 0 1 0;
+#X connect 2 0 3 0;
+#X restore 31 138 pd test;
+#X connect 0 0 1 0;
+#X connect 2 0 3 0;
diff --git a/test/cyclone/anal-test.pd b/test/cyclone/anal-test.pd
new file mode 100644
index 0000000..a4ec7ab
--- /dev/null
+++ b/test/cyclone/anal-test.pd
@@ -0,0 +1,17 @@
+#N canvas 466 161 450 300 12;
+#X obj 62 215 print;
+#X msg 62 67 1;
+#X floatatom 119 67 5 0 0;
+#X msg 189 67 reset;
+#X msg 189 108 clear;
+#X obj 198 215 anal 1025;
+#X obj 62 167 anal;
+#X msg 118 27 128 \, -1;
+#X msg 203 27 1.1;
+#X connect 1 0 6 0;
+#X connect 2 0 6 0;
+#X connect 3 0 6 0;
+#X connect 4 0 6 0;
+#X connect 6 0 0 0;
+#X connect 7 0 6 0;
+#X connect 8 0 6 0;
diff --git a/test/cyclone/append-test.pd b/test/cyclone/append-test.pd
new file mode 100644
index 0000000..821c22e
--- /dev/null
+++ b/test/cyclone/append-test.pd
@@ -0,0 +1,78 @@
+#N canvas 516 251 510 466 12;
+#X obj 25 416 print;
+#X msg 25 298 1 2 3;
+#X msg 102 298 set test;
+#X obj 25 241 print;
+#X msg 25 51 1 2 3;
+#X obj 25 169 t a b;
+#X msg 111 241 4 5 6;
+#X obj 190 206 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 347 50 testmess 1000;
+#X msg 347 19 mess;
+#X msg 101 19 mess;
+#X obj 101 50 testmess 100;
+#X msg 155 128 set changed;
+#X obj 111 169 gate;
+#X obj 111 206 t b b;
+#X obj 25 377 t a b b;
+#X msg 220 416 set mess1;
+#X msg 108 416 set mess2;
+#X msg 285 241 bang;
+#X msg 347 241 99;
+#X obj 285 377 print list;
+#X obj 285 339 route list;
+#X obj 408 377 print;
+#X msg 227 241 mess;
+#X msg 398 241 set bang;
+#X msg 400 278 set 0;
+#X obj 101 81 prepend check;
+#X msg 160 19 set set;
+#X msg 244 19 set check;
+#X obj 25 128 Append test;
+#X obj 25 339 Append test;
+#X obj 285 298 Append;
+#X obj 347 81 prepend check;
+#X msg 398 206 set test;
+#X obj 301 159 Append test it;
+#X obj 301 190 print;
+#X msg 301 128 symbol mess;
+#X connect 1 0 30 0;
+#X connect 2 0 30 0;
+#X connect 4 0 29 0;
+#X connect 5 0 3 0;
+#X connect 5 1 13 1;
+#X connect 6 0 29 0;
+#X connect 7 0 13 0;
+#X connect 8 0 32 0;
+#X connect 9 0 8 0;
+#X connect 10 0 11 0;
+#X connect 11 0 26 0;
+#X connect 12 0 29 0;
+#X connect 13 0 14 0;
+#X connect 14 0 6 0;
+#X connect 14 1 7 0;
+#X connect 15 0 0 0;
+#X connect 15 1 17 0;
+#X connect 15 2 16 0;
+#X connect 16 0 30 0;
+#X connect 17 0 30 0;
+#X connect 18 0 31 0;
+#X connect 19 0 31 0;
+#X connect 21 0 20 0;
+#X connect 21 1 22 0;
+#X connect 23 0 31 0;
+#X connect 24 0 31 0;
+#X connect 25 0 31 0;
+#X connect 26 0 29 0;
+#X connect 27 0 26 0;
+#X connect 27 0 32 0;
+#X connect 28 0 26 0;
+#X connect 28 0 32 0;
+#X connect 29 0 5 0;
+#X connect 30 0 15 0;
+#X connect 31 0 21 0;
+#X connect 32 0 29 0;
+#X connect 33 0 31 0;
+#X connect 34 0 35 0;
+#X connect 36 0 34 0;
diff --git a/test/cyclone/bad.coll b/test/cyclone/bad.coll
new file mode 100644
index 0000000..bb76cf7
--- /dev/null
+++ b/test/cyclone/bad.coll
@@ -0,0 +1,4 @@
+11, testing coll;
+12, missing semi
+13 extra key, with data;
+14 empty,;
diff --git a/test/cyclone/bondo-test.pd b/test/cyclone/bondo-test.pd
new file mode 100644
index 0000000..38a43ba
--- /dev/null
+++ b/test/cyclone/bondo-test.pd
@@ -0,0 +1,73 @@
+#N canvas 289 274 747 476 12;
+#X obj 78 164 print first;
+#X obj 199 165 print last;
+#X msg 78 22 any message;
+#X msg 199 21 other message;
+#X msg 94 62 11;
+#X msg 211 62 55;
+#X obj 78 108 bondo 5 1000 n;
+#X obj 412 203 print first;
+#X obj 530 169 print last;
+#X msg 412 22 any message;
+#X msg 533 57 other message;
+#X msg 437 92 11;
+#X msg 545 92 55;
+#X obj 412 133 bondo 5 1000;
+#X obj 437 169 print 2nd;
+#X msg 429 57 1 2 3;
+#X msg 21 62 test;
+#X msg 356 92 test;
+#X obj 78 390 print first;
+#X obj 199 391 print last;
+#X msg 78 248 any message;
+#X msg 199 247 other message;
+#X msg 94 288 11;
+#X msg 211 288 55;
+#X obj 412 429 print first;
+#X obj 530 395 print last;
+#X msg 412 248 any message;
+#X msg 533 283 other message;
+#X msg 437 318 11;
+#X msg 528 318 55;
+#X obj 437 395 print 2nd;
+#X msg 429 283 1 2 3;
+#X msg 21 288 test;
+#X msg 356 318 test;
+#X obj 78 334 bondo 5 n;
+#X obj 412 359 bondo 5;
+#X msg 583 319 -1 -2 \, -2 -3;
+#X msg 600 92 -1 -2 \, -2 -3;
+#X connect 2 0 6 0;
+#X connect 3 0 6 4;
+#X connect 4 0 6 0;
+#X connect 5 0 6 4;
+#X connect 6 0 0 0;
+#X connect 6 4 1 0;
+#X connect 9 0 13 0;
+#X connect 10 0 13 4;
+#X connect 11 0 13 0;
+#X connect 12 0 13 4;
+#X connect 13 0 7 0;
+#X connect 13 1 14 0;
+#X connect 13 4 8 0;
+#X connect 15 0 13 0;
+#X connect 16 0 6 0;
+#X connect 17 0 13 0;
+#X connect 20 0 34 0;
+#X connect 21 0 34 4;
+#X connect 22 0 34 0;
+#X connect 23 0 34 4;
+#X connect 26 0 35 0;
+#X connect 27 0 35 4;
+#X connect 28 0 35 0;
+#X connect 29 0 35 4;
+#X connect 31 0 35 0;
+#X connect 32 0 34 0;
+#X connect 33 0 35 0;
+#X connect 34 0 18 0;
+#X connect 34 4 19 0;
+#X connect 35 0 24 0;
+#X connect 35 1 30 0;
+#X connect 35 4 25 0;
+#X connect 36 0 35 3;
+#X connect 37 0 13 3;
diff --git a/test/cyclone/buddy-test.pd b/test/cyclone/buddy-test.pd
new file mode 100644
index 0000000..3c072b1
--- /dev/null
+++ b/test/cyclone/buddy-test.pd
@@ -0,0 +1,28 @@
+#N canvas 242 401 623 363 12;
+#X obj 66 268 print a;
+#X obj 168 268 print b;
+#X floatatom 107 83 5 0 0;
+#X floatatom 264 184 5 0 0;
+#X msg 136 116 symbol test1;
+#X msg 264 152 symbol test2;
+#X msg 264 77 one two three;
+#X msg 264 116 1 2 3 4 5 6 7 8 9;
+#X msg 38 25 a long message with floats 1 2 3 4 5 6 7 8 9 (lets make
+it even longer);
+#X obj 260 268 print c;
+#X obj 139 212 buddy 3;
+#X msg 40 156 clear;
+#X connect 2 0 10 0;
+#X connect 2 0 10 1;
+#X connect 3 0 10 2;
+#X connect 4 0 10 0;
+#X connect 4 0 10 1;
+#X connect 5 0 10 2;
+#X connect 6 0 10 2;
+#X connect 7 0 10 2;
+#X connect 8 0 10 0;
+#X connect 8 0 10 1;
+#X connect 10 0 0 0;
+#X connect 10 1 1 0;
+#X connect 10 2 9 0;
+#X connect 11 0 10 0;
diff --git a/test/cyclone/capture-test.pd b/test/cyclone/capture-test.pd
new file mode 100644
index 0000000..0ebc045
--- /dev/null
+++ b/test/cyclone/capture-test.pd
@@ -0,0 +1,48 @@
+#N canvas 548 272 562 363 12;
+#X obj 81 169 capture;
+#X obj 169 169 capture 100000;
+#X obj 169 216 print;
+#X floatatom 81 96 5 0 0 0 - - -;
+#X floatatom 169 96 5 0 0 0 - - -;
+#X obj 323 169 capture 2;
+#X obj 431 169 capture 1;
+#X floatatom 323 96 5 0 0 0 - - -;
+#X floatatom 431 96 5 0 0 0 - - -;
+#X msg 242 96 wclose;
+#X msg 59 59 write;
+#X msg 266 59 write test.capture;
+#X msg 16 96 dump;
+#X msg 147 24 1 2 3 4 5 6 7 8 9;
+#X msg 133 59 clear;
+#X msg 500 96 dump;
+#X msg 500 128 count;
+#X msg 376 134 count;
+#X obj 265 297 capture 10 x;
+#X obj 402 297 capture 10 m;
+#X floatatom 347 243 5 0 0 0 - - -;
+#X msg 226 134 count;
+#X msg 250 243 write;
+#X connect 0 0 2 0;
+#X connect 1 0 2 0;
+#X connect 3 0 0 0;
+#X connect 4 0 1 0;
+#X connect 5 0 2 0;
+#X connect 6 0 2 0;
+#X connect 7 0 5 0;
+#X connect 8 0 6 0;
+#X connect 9 0 0 0;
+#X connect 9 0 1 0;
+#X connect 9 0 5 0;
+#X connect 9 0 6 0;
+#X connect 10 0 0 0;
+#X connect 11 0 1 0;
+#X connect 12 0 0 0;
+#X connect 13 0 1 0;
+#X connect 14 0 1 0;
+#X connect 15 0 6 0;
+#X connect 16 0 6 0;
+#X connect 17 0 5 0;
+#X connect 20 0 18 0;
+#X connect 20 0 19 0;
+#X connect 21 0 1 0;
+#X connect 22 0 18 0;
diff --git a/test/cyclone/click-test.pd b/test/cyclone/click-test.pd
new file mode 100644
index 0000000..3a16ae6
--- /dev/null
+++ b/test/cyclone/click-test.pd
@@ -0,0 +1,26 @@
+#N canvas 480 212 450 300 12;
+#X obj 45 136 click~;
+#X obj 247 136 click~ -1;
+#X obj 45 59 testmess 100;
+#X msg 45 24 bang;
+#X obj 45 98 prepend set;
+#X obj 68 237 capture~ f;
+#X msg 68 207 clear;
+#X obj 212 237 capture~ f;
+#X msg 212 207 clear;
+#X msg 176 98 bang;
+#X msg 182 24 bang;
+#X obj 182 59 testmess 1000;
+#X connect 0 0 5 0;
+#X connect 1 0 7 0;
+#X connect 2 0 4 0;
+#X connect 3 0 2 0;
+#X connect 4 0 0 0;
+#X connect 6 0 5 0;
+#X connect 8 0 7 0;
+#X connect 9 0 0 0;
+#X connect 9 0 1 0;
+#X connect 9 0 6 0;
+#X connect 9 0 8 0;
+#X connect 10 0 11 0;
+#X connect 11 0 4 0;
diff --git a/test/cyclone/clip-test.pd b/test/cyclone/clip-test.pd
new file mode 100644
index 0000000..9bc83ef
--- /dev/null
+++ b/test/cyclone/clip-test.pd
@@ -0,0 +1,41 @@
+#N canvas 282 194 586 335 12;
+#X obj 32 223 Clip -5;
+#X obj 32 255 print;
+#X msg 32 176 set test;
+#X msg 122 175 set test -5;
+#X floatatom 46 103 5 0 0;
+#X msg 122 143 set test 3;
+#X msg 58 143 set;
+#X obj 406 234 Clip -5 0;
+#X obj 406 266 print;
+#X msg 427 207 set;
+#X msg 406 176 set -5;
+#X floatatom 314 207 5 0 0;
+#X msg 129 30 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7;
+#X msg 129 62 -7 -6 -5 -4 -3 test -1 0 1 2 3 4 5 6 7;
+#X msg 132 103 test;
+#X msg 252 175 set -5 test -4;
+#X msg 312 103 bang;
+#X msg 198 103 set 11 333;
+#X obj 252 143 testmess 350;
+#X msg 444 103 bang;
+#X obj 384 143 testmess 200;
+#X connect 0 0 1 0;
+#X connect 2 0 0 0;
+#X connect 3 0 0 0;
+#X connect 4 0 0 0;
+#X connect 5 0 0 0;
+#X connect 6 0 0 0;
+#X connect 7 0 8 0;
+#X connect 9 0 7 0;
+#X connect 10 0 7 0;
+#X connect 11 0 7 0;
+#X connect 12 0 0 0;
+#X connect 13 0 0 0;
+#X connect 14 0 0 0;
+#X connect 15 0 0 0;
+#X connect 16 0 18 0;
+#X connect 17 0 0 0;
+#X connect 18 0 0 0;
+#X connect 19 0 20 0;
+#X connect 20 0 0 0;
diff --git a/test/cyclone/coll-print.pd b/test/cyclone/coll-print.pd
new file mode 100644
index 0000000..8ef57dc
--- /dev/null
+++ b/test/cyclone/coll-print.pd
@@ -0,0 +1,12 @@
+#N canvas 24 90 450 300 12;
+#X obj 169 170 print;
+#X obj 169 129 prepend dummy;
+#X msg 169 83 set \$1;
+#X obj 66 83 prepend :;
+#X obj 66 40 inlet;
+#X obj 169 40 inlet;
+#X connect 1 0 0 0;
+#X connect 2 0 1 0;
+#X connect 3 0 1 0;
+#X connect 4 0 3 0;
+#X connect 5 0 2 0;
diff --git a/test/cyclone/coll-test.pd b/test/cyclone/coll-test.pd
new file mode 100644
index 0000000..d955ce1
--- /dev/null
+++ b/test/cyclone/coll-test.pd
@@ -0,0 +1,117 @@
+#N canvas 392 153 614 512 12;
+#X obj 40 57 coll;
+#C restore;
+#X msg 40 20 debug;
+#X obj 106 57 coll;
+#C restore;
+#X msg 106 20 debug;
+#X msg 42 136 debug;
+#X msg 184 136 debug;
+#X obj 42 172 coll good.coll;
+#C restore;
+#X obj 184 205 coll good.coll;
+#C restore;
+#X msg 42 218 debug;
+#X obj 42 280 coll good.coll;
+#C restore;
+#X msg 41 366 debug;
+#X obj 41 406 coll bad.coll;
+#C restore;
+#X msg 113 218 dump;
+#X msg 25 103 store one first element;
+#X msg 260 103 store 2 2nd element;
+#X obj 321 451 coll good.coll;
+#C restore;
+#X msg 265 136 store 3 3rd;
+#X msg 248 172 store 4 4;
+#X floatatom 113 248 5 0 0 0 - - -;
+#X msg 205 248 renumber 11;
+#X msg 246 280 swap 11 one;
+#X msg 308 376 read good.coll;
+#X msg 246 406 read;
+#X msg 191 406 open;
+#X obj 42 322 coll-print;
+#X obj 41 444 coll-print;
+#X msg 111 366 dump;
+#X obj 167 57 coll missing;
+#C restore;
+#X msg 285 344 refer bad.coll;
+#X msg 440 344 refer good.coll;
+#X msg 443 415 write test.coll;
+#X msg 379 415 write;
+#X msg 349 172 flags 1 0;
+#X msg 380 224 sort -1;
+#X msg 394 248 sort -1 -1;
+#X msg 409 280 sort 1;
+#X msg 423 309 sort 1 -1;
+#X msg 191 376 wclose;
+#N canvas 502 158 450 423 large 0;
+#X obj 241 341 coll big.coll;
+#C restore;
+#X msg 33 205 store \$1;
+#X obj 33 277 testmess 10;
+#X obj 33 92 Uzi;
+#X msg 99 92 clear;
+#X obj 33 57 t 0 b;
+#X obj 33 169 t 0 b;
+#X msg 167 277 wclose;
+#X obj 241 380 print;
+#X floatatom 164 341 5 0 0 0 - - -;
+#X msg 261 277 sort -1 -1;
+#X obj 129 205 random 10000;
+#X msg 129 241 set 10 \$1;
+#X msg 241 241 clear;
+#X msg 33 21 5000;
+#X obj 33 131 urn 50000;
+#X msg 283 308 sort 1;
+#X connect 0 0 8 0;
+#X connect 1 0 2 0;
+#X connect 2 0 0 0;
+#X connect 3 0 15 0;
+#X connect 4 0 15 0;
+#X connect 5 0 3 0;
+#X connect 5 1 4 0;
+#X connect 6 0 1 0;
+#X connect 6 1 11 0;
+#X connect 7 0 0 0;
+#X connect 9 0 0 0;
+#X connect 10 0 0 0;
+#X connect 11 0 12 0;
+#X connect 12 0 2 0;
+#X connect 13 0 0 0;
+#X connect 14 0 5 0;
+#X connect 15 0 6 0;
+#X connect 16 0 0 0;
+#X restore 320 20 pd large;
+#X connect 1 0 0 0;
+#X connect 3 0 2 0;
+#X connect 4 0 6 0;
+#X connect 5 0 7 0;
+#X connect 8 0 9 0;
+#X connect 9 0 24 0;
+#X connect 9 1 24 1;
+#X connect 10 0 11 0;
+#X connect 11 0 25 0;
+#X connect 11 1 25 1;
+#X connect 12 0 9 0;
+#X connect 13 0 6 0;
+#X connect 14 0 7 0;
+#X connect 16 0 7 0;
+#X connect 17 0 7 0;
+#X connect 18 0 9 0;
+#X connect 19 0 15 0;
+#X connect 20 0 15 0;
+#X connect 21 0 15 0;
+#X connect 22 0 15 0;
+#X connect 23 0 15 0;
+#X connect 26 0 11 0;
+#X connect 28 0 15 0;
+#X connect 29 0 15 0;
+#X connect 30 0 15 0;
+#X connect 31 0 15 0;
+#X connect 32 0 7 0;
+#X connect 33 0 15 0;
+#X connect 34 0 15 0;
+#X connect 35 0 15 0;
+#X connect 36 0 15 0;
+#X connect 37 0 15 0;
diff --git a/test/cyclone/comb-test.pd b/test/cyclone/comb-test.pd
new file mode 100644
index 0000000..dc2e599
--- /dev/null
+++ b/test/cyclone/comb-test.pd
@@ -0,0 +1,80 @@
+#N canvas 134 225 749 475 12;
+#X floatatom 137 89 5 0 0;
+#X floatatom 534 89 5 0 0;
+#X msg 68 154 clear;
+#X obj 36 427 dac~;
+#X floatatom 376 89 5 0 0;
+#X obj 220 119 osc~;
+#X floatatom 220 89 5 0 0;
+#X obj 137 154 line~;
+#X msg 137 119 \$1 5;
+#X obj 220 154 *~ 1;
+#X floatatom 303 89 5 0 0;
+#X floatatom 458 89 5 0 0;
+#N canvas 80 0 592 295 graph1 0;
+#X array test 1000 float 0;
+#X coords 0 1 999 -1 200 140 1;
+#X restore 522 282 graph;
+#X obj 65 282 tabwrite~ test;
+#X msg 65 246 bang;
+#X obj 36 59 adc~;
+#X obj 267 282 int;
+#X msg 267 246 0;
+#X msg 313 246 1;
+#X obj 347 18 loadbang;
+#X msg 220 59 0.33;
+#X msg 137 59 2;
+#X msg 303 59 1;
+#X obj 534 154 line~;
+#X msg 534 119 \$1 5;
+#X obj 93 354 dbtorms;
+#X obj 93 427 line~;
+#X obj 36 390 *~;
+#X msg 93 390 \$1 10;
+#X obj 96 312 hsl 128 25 0 100 0 0 empty empty empty -2 -6 0 8 -24198
+-1 -1 0 0;
+#X obj 267 312 vex_pool~ pool test.pool;
+#X msg 458 59 0.4;
+#X msg 376 59 0.7;
+#X msg 534 59 0.66;
+#X obj 36 209 comb~ 100 2 0.7 0.4 0.66;
+#X connect 0 0 8 0;
+#X connect 1 0 24 0;
+#X connect 2 0 34 0;
+#X connect 4 0 34 2;
+#X connect 5 0 9 0;
+#X connect 6 0 5 0;
+#X connect 7 0 34 1;
+#X connect 8 0 7 0;
+#X connect 9 0 34 1;
+#X connect 10 0 9 1;
+#X connect 11 0 34 3;
+#X connect 14 0 13 0;
+#X connect 15 0 34 0;
+#X connect 16 0 30 0;
+#X connect 17 0 16 0;
+#X connect 18 0 16 0;
+#X connect 19 0 33 0;
+#X connect 19 0 31 0;
+#X connect 19 0 32 0;
+#X connect 19 0 22 0;
+#X connect 19 0 20 0;
+#X connect 19 0 21 0;
+#X connect 20 0 6 0;
+#X connect 21 0 0 0;
+#X connect 22 0 10 0;
+#X connect 23 0 34 4;
+#X connect 24 0 23 0;
+#X connect 25 0 28 0;
+#X connect 26 0 27 1;
+#X connect 27 0 3 0;
+#X connect 27 0 3 1;
+#X connect 28 0 26 0;
+#X connect 29 0 25 0;
+#X connect 30 0 34 0;
+#X connect 30 1 16 0;
+#X connect 31 0 11 0;
+#X connect 32 0 4 0;
+#X connect 33 0 1 0;
+#X connect 34 0 13 0;
+#X connect 34 0 27 0;
diff --git a/test/cyclone/comment-dotest.pd b/test/cyclone/comment-dotest.pd
new file mode 100644
index 0000000..7a78080
--- /dev/null
+++ b/test/cyclone/comment-dotest.pd
@@ -0,0 +1,37 @@
+#N canvas 286 325 415 463 12;
+#N canvas 454 204 548 368 doit 0;
+#X obj 27 120 counter;
+#X obj 27 254 pack 0 0 0;
+#X obj 27 188 * 10;
+#X obj 27 21 inlet;
+#X obj 27 85 Uzi;
+#X obj 27 53 t 0 b;
+#X msg 73 85 set 0;
+#X obj 27 220 + 10;
+#X obj 81 220 + 10;
+#X obj 138 220 + 7;
+#X obj 27 154 t 0 0 0 0;
+#X obj 81 188 *;
+#X obj 138 188 * 3;
+#X msg 27 289 \; pd-comment-dotest.pd obj \$1 \$2 comment 0 \$3 . test
+;
+#X connect 0 0 10 0;
+#X connect 1 0 13 0;
+#X connect 2 0 7 0;
+#X connect 3 0 5 0;
+#X connect 4 0 0 0;
+#X connect 5 0 4 0;
+#X connect 5 1 6 0;
+#X connect 6 0 0 0;
+#X connect 7 0 1 0;
+#X connect 8 0 1 1;
+#X connect 9 0 1 2;
+#X connect 10 0 2 0;
+#X connect 10 1 11 0;
+#X connect 10 2 11 1;
+#X connect 10 3 12 0;
+#X connect 11 0 8 0;
+#X connect 12 0 9 0;
+#X restore 283 92 pd doit;
+#X msg 283 60 20;
+#X connect 1 0 0 0;
diff --git a/test/cyclone/comment-ogonki.pd b/test/cyclone/comment-ogonki.pd
new file mode 100644
index 0000000..1e0902e
--- /dev/null
+++ b/test/cyclone/comment-ogonki.pd
@@ -0,0 +1,9 @@
+#N canvas 232 153 767 466 12;
+#X obj 41 14 comment 550 72 helvetica iso8859-2 0 255 0 0 ê󱶳¿¼æñ
+ÊÓ¡¦£¯¬ÆÑ;
+#X obj 48 321 comment 200 24 courier iso8859-2 0 0 255 0 ê󱶳¿¼æñ
+ÊÓ¡¦£¯¬ÆÑ;
+#X obj 275 316 comment 200 24 times iso8859-2 0 0 255 255 ê󱶳¿¼æñ
+ÊÓ¡¦£¯¬ÆÑ;
+#X obj 500 316 comment 200 24 helvetica iso8859-2 0 255 255 0 ê󱶳¿¼æñ
+ÊÓ¡¦£¯¬ÆÑ;
diff --git a/test/cyclone/comment-test.pd b/test/cyclone/comment-test.pd
new file mode 100644
index 0000000..03edff6
--- /dev/null
+++ b/test/cyclone/comment-test.pd
@@ -0,0 +1,21 @@
+#N canvas 85 23 415 463 12;
+#X obj 10 10 comment 0 7 courier ? 0 0 0 0 test;
+#X obj 20 10 comment 0 10 courier ? 0 0 0 0 test;
+#X obj 30 14 comment 0 13 courier ? 0 0 0 0 test;
+#X obj 40 19 comment 0 16 courier ? 0 0 0 0 test;
+#X obj 50 26 comment 0 19 courier ? 0 0 0 0 test;
+#X obj 60 35 comment 0 22 courier ? 0 0 0 0 test;
+#X obj 70 46 comment 0 25 courier ? 0 0 0 0 test;
+#X obj 80 59 comment 0 28 courier ? 0 0 0 0 test;
+#X obj 90 74 comment 0 31 courier ? 0 0 0 0 test;
+#X obj 100 91 comment 0 34 courier ? 0 0 0 0 test;
+#X obj 110 110 comment 0 37 courier ? 0 0 0 0 test;
+#X obj 120 131 comment 0 40 courier ? 0 0 0 0 test;
+#X obj 130 154 comment 0 43 courier ? 0 0 0 0 test;
+#X obj 140 179 comment 0 46 courier ? 0 0 0 0 test;
+#X obj 150 206 comment 0 49 courier ? 0 0 0 0 test;
+#X obj 160 235 comment 0 52 courier ? 0 0 0 0 test;
+#X obj 170 266 comment 0 55 courier ? 0 0 0 0 test;
+#X obj 180 299 comment 0 58 courier ? 0 0 0 0 test;
+#X obj 190 334 comment 0 61 courier ? 0 0 0 0 test;
+#X obj 200 371 comment 0 64 courier ? 0 0 0 0 test;
diff --git a/test/cyclone/count-test.pd b/test/cyclone/count-test.pd
new file mode 100644
index 0000000..27fe454
--- /dev/null
+++ b/test/cyclone/count-test.pd
@@ -0,0 +1,19 @@
+#N canvas 229 256 450 300 12;
+#X obj 121 167 snapshot~;
+#X obj 294 122 metro 30;
+#X obj 294 88 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1
+;
+#X floatatom 121 215 0 0 0;
+#X msg 121 60 bang;
+#X msg 59 60 stop;
+#X obj 121 118 count~;
+#X msg 177 60 3;
+#X msg 232 60 100;
+#X connect 0 0 3 0;
+#X connect 1 0 0 0;
+#X connect 2 0 1 0;
+#X connect 4 0 6 0;
+#X connect 5 0 6 0;
+#X connect 6 0 0 0;
+#X connect 7 0 6 0;
+#X connect 8 0 6 1;
diff --git a/test/cyclone/counter-test.pd b/test/cyclone/counter-test.pd
new file mode 100644
index 0000000..5716b52
--- /dev/null
+++ b/test/cyclone/counter-test.pd
@@ -0,0 +1,46 @@
+#N canvas 476 253 450 390 12;
+#X obj 68 234 counter;
+#X floatatom 68 344 0 0 0;
+#X msg 16 173 bang;
+#X msg 68 35 up;
+#X msg 80 61 down;
+#X msg 89 87 updown;
+#X msg 96 117 bang;
+#X msg 106 145 bang;
+#X msg 116 173 bang;
+#X msg 126 203 bang;
+#X floatatom 152 117 5 0 0;
+#X floatatom 161 145 5 0 0;
+#X floatatom 167 173 5 0 0;
+#X floatatom 177 203 5 0 0;
+#X floatatom 126 259 5 0 0;
+#X obj 87 315 print second;
+#X obj 106 286 print third;
+#X msg 319 203 max \$1;
+#X msg 243 203 min \$1;
+#X floatatom 243 177 5 0 0;
+#X floatatom 319 177 5 0 0;
+#X msg 16 117 inc;
+#X msg 16 145 dec;
+#X connect 0 0 1 0;
+#X connect 0 1 15 0;
+#X connect 0 2 16 0;
+#X connect 0 3 14 0;
+#X connect 2 0 0 0;
+#X connect 3 0 0 0;
+#X connect 4 0 0 0;
+#X connect 5 0 0 0;
+#X connect 6 0 0 1;
+#X connect 7 0 0 2;
+#X connect 8 0 0 3;
+#X connect 9 0 0 4;
+#X connect 10 0 0 1;
+#X connect 11 0 0 2;
+#X connect 12 0 0 3;
+#X connect 13 0 0 4;
+#X connect 17 0 0 0;
+#X connect 18 0 0 0;
+#X connect 19 0 18 0;
+#X connect 20 0 17 0;
+#X connect 21 0 0 0;
+#X connect 22 0 0 0;
diff --git a/test/cyclone/cycle-test.pd b/test/cyclone/cycle-test.pd
new file mode 100644
index 0000000..97d008e
--- /dev/null
+++ b/test/cyclone/cycle-test.pd
@@ -0,0 +1,30 @@
+#N canvas 257 195 450 300 12;
+#X msg 77 196 bang;
+#X obj 131 235 print a;
+#X obj 218 235 print b;
+#X msg 131 153 test;
+#X msg 192 152 symbol test;
+#X msg 72 86 1 2 3 \, 4 5;
+#X msg 204 86 1 2 3;
+#X msg 230 115 4 5;
+#X obj 131 195 cycle 2 1;
+#X msg 242 18 bang;
+#X obj 204 59 del 100;
+#X obj 293 59 del 100;
+#X obj 312 205 cycle;
+#X obj 312 237 print;
+#X msg 312 151 test 1 2 3;
+#X connect 0 0 8 0;
+#X connect 3 0 8 0;
+#X connect 4 0 8 0;
+#X connect 5 0 8 0;
+#X connect 6 0 8 0;
+#X connect 7 0 8 0;
+#X connect 8 0 1 0;
+#X connect 8 1 2 0;
+#X connect 9 0 10 0;
+#X connect 9 0 11 0;
+#X connect 10 0 6 0;
+#X connect 11 0 7 0;
+#X connect 12 0 13 0;
+#X connect 14 0 12 0;
diff --git a/test/cyclone/cyclone-test.pd b/test/cyclone/cyclone-test.pd
new file mode 100644
index 0000000..d2919c0
--- /dev/null
+++ b/test/cyclone/cyclone-test.pd
@@ -0,0 +1,54 @@
+#N canvas 430 63 531 442 12;
+#X obj 39 399 cyclone;
+#X msg 39 19 bang;
+#X msg 244 19 import;
+#X obj 42 212 forward texthelp;
+#X obj 63 278 r texthelp;
+#X msg 56 245 send binhelp;
+#X msg 182 245 send texthelp;
+#X obj 90 309 r binhelp;
+#X msg 148 112 pv;
+#X msg 64 112 coll;
+#X msg 207 83 triangle~;
+#X msg 148 83 comb~;
+#X msg 64 83 allpass~;
+#X msg 207 112 message;
+#X msg 207 141 line~;
+#X obj 90 338 sprintf import ../../../ref/c74help/bin/%s.help;
+#X obj 63 369 sprintf import ../../../ref/c74help/text/%s.help;
+#X msg 92 19 dummies;
+#X obj 39 48 cyclone;
+#X msg 274 141 groove~;
+#X msg 207 170 scope~;
+#X msg 306 83 trapezoid~;
+#X msg 306 112 kink~;
+#X msg 290 170 rate~;
+#X msg 360 170 pong~;
+#X msg 360 141 vectral~;
+#X msg 170 19 reps;
+#X msg 378 112 bitand~;
+#X connect 1 0 18 0;
+#X connect 2 0 18 0;
+#X connect 4 0 16 0;
+#X connect 5 0 3 0;
+#X connect 6 0 3 0;
+#X connect 7 0 15 0;
+#X connect 8 0 3 0;
+#X connect 9 0 3 0;
+#X connect 10 0 3 0;
+#X connect 11 0 3 0;
+#X connect 12 0 3 0;
+#X connect 13 0 3 0;
+#X connect 14 0 3 0;
+#X connect 15 0 0 0;
+#X connect 16 0 0 0;
+#X connect 17 0 18 0;
+#X connect 19 0 3 0;
+#X connect 20 0 3 0;
+#X connect 21 0 3 0;
+#X connect 22 0 3 0;
+#X connect 23 0 3 0;
+#X connect 24 0 3 0;
+#X connect 25 0 3 0;
+#X connect 26 0 18 0;
+#X connect 27 0 3 0;
diff --git a/test/cyclone/decide-test.pd b/test/cyclone/decide-test.pd
new file mode 100644
index 0000000..27c534c
--- /dev/null
+++ b/test/cyclone/decide-test.pd
@@ -0,0 +1,27 @@
+#N canvas 242 258 450 300 12;
+#X obj 116 111 decide;
+#X msg 47 68 bang;
+#X obj 116 68 Uzi;
+#X obj 116 198 counter;
+#X obj 200 198 counter;
+#X obj 116 151 sel 0 1;
+#X floatatom 116 249 0 0 0;
+#X floatatom 200 249 0 0 0;
+#X msg 116 29 10000;
+#X obj 276 73 decide;
+#X msg 237 29 bang;
+#X msg 325 29 1;
+#X msg 382 29 -1;
+#X obj 276 111 print;
+#X connect 0 0 5 0;
+#X connect 1 0 0 0;
+#X connect 2 0 0 0;
+#X connect 3 0 6 0;
+#X connect 4 0 7 0;
+#X connect 5 0 3 0;
+#X connect 5 1 4 0;
+#X connect 8 0 2 0;
+#X connect 9 0 13 0;
+#X connect 10 0 9 0;
+#X connect 11 0 9 1;
+#X connect 12 0 9 1;
diff --git a/test/cyclone/drunk-test.pd b/test/cyclone/drunk-test.pd
new file mode 100644
index 0000000..fdd6087
--- /dev/null
+++ b/test/cyclone/drunk-test.pd
@@ -0,0 +1,45 @@
+#N canvas 366 150 514 397 12;
+#X obj 43 265 drunk;
+#X obj 43 305 print;
+#X msg 43 112 bang;
+#X msg 53 142 seed 123;
+#X floatatom 147 172 5 0 0;
+#X floatatom 171 196 5 0 0;
+#X floatatom 189 219 5 0 0;
+#X msg 147 142 11 22 33;
+#X obj 282 305 print;
+#X msg 282 112 bang;
+#X msg 292 142 seed 123;
+#X floatatom 386 172 5 0 0;
+#X floatatom 410 196 5 0 0;
+#X floatatom 428 219 5 0 0;
+#X msg 386 142 11 22 33;
+#X obj 282 265 drunk 100 -2;
+#X msg 124 265 -----;
+#X msg 62 177 set 50;
+#X msg 301 177 set 50;
+#X msg 43 28 1000;
+#X obj 43 66 Uzi;
+#X msg 282 28 1000;
+#X obj 282 66 Uzi;
+#X connect 0 0 1 0;
+#X connect 2 0 0 0;
+#X connect 3 0 0 0;
+#X connect 4 0 0 0;
+#X connect 5 0 0 1;
+#X connect 6 0 0 2;
+#X connect 7 0 0 0;
+#X connect 9 0 15 0;
+#X connect 10 0 15 0;
+#X connect 11 0 15 0;
+#X connect 12 0 15 1;
+#X connect 13 0 15 2;
+#X connect 14 0 15 0;
+#X connect 15 0 8 0;
+#X connect 16 0 1 0;
+#X connect 17 0 0 0;
+#X connect 18 0 15 0;
+#X connect 19 0 20 0;
+#X connect 20 0 0 0;
+#X connect 21 0 22 0;
+#X connect 22 0 15 0;
diff --git a/test/cyclone/forward-test.pd b/test/cyclone/forward-test.pd
new file mode 100644
index 0000000..af4b299
--- /dev/null
+++ b/test/cyclone/forward-test.pd
@@ -0,0 +1,27 @@
+#N canvas 489 306 462 351 12;
+#X msg 197 169 send there;
+#X msg 197 205 send elsewhere;
+#X msg 197 240 send;
+#X obj 62 45 r there;
+#X obj 167 45 r elsewhere;
+#X obj 62 83 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 167 83 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 67 195 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 207 83 print;
+#X msg 100 124 any message;
+#X obj 100 279 forward here;
+#X obj 266 240 r here;
+#X obj 266 279 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X connect 0 0 10 0;
+#X connect 1 0 10 0;
+#X connect 2 0 10 0;
+#X connect 3 0 5 0;
+#X connect 4 0 6 0;
+#X connect 4 0 8 0;
+#X connect 7 0 10 0;
+#X connect 9 0 10 0;
+#X connect 11 0 12 0;
diff --git a/test/cyclone/frameaccum-test.pd b/test/cyclone/frameaccum-test.pd
new file mode 100644
index 0000000..61e4ffd
--- /dev/null
+++ b/test/cyclone/frameaccum-test.pd
@@ -0,0 +1,15 @@
+#N canvas 0 0 450 300 12;
+#X obj 31 52 frameaccum~;
+#X obj 31 93 capture~;
+#X obj 177 183 Scope~ 234 106 8 3 256 0 1 0 0 0 0 102 255 51 135 135
+135 0;
+#X obj 325 93 capture~;
+#X obj 325 52 framedelta~;
+#X msg 33 143 range 0 1 \, bufsize 256 \, 8;
+#X obj 177 13 train~ 46.4399;
+#X connect 0 0 1 0;
+#X connect 4 0 3 0;
+#X connect 5 0 2 0;
+#X connect 6 0 2 0;
+#X connect 6 0 0 0;
+#X connect 6 0 4 0;
diff --git a/test/cyclone/fromsymbol-test.pd b/test/cyclone/fromsymbol-test.pd
new file mode 100644
index 0000000..cacbc83
--- /dev/null
+++ b/test/cyclone/fromsymbol-test.pd
@@ -0,0 +1,64 @@
+#N canvas 352 169 704 560 12;
+#X obj 81 108 tosymbol;
+#X msg 81 62 one two three;
+#X obj 81 147 fromsymbol;
+#X msg 29 62 one;
+#X obj 243 62 testmess 100;
+#X msg 243 31 test;
+#X msg 385 31 test;
+#X obj 385 62 testmess 300;
+#X obj 81 190 route one test;
+#X obj 81 229 print one;
+#X obj 184 229 print test;
+#X obj 293 229 print unknown;
+#X obj 42 316 tosymbol;
+#X obj 42 359 fromsymbol;
+#X floatatom 106 416 5 0 0;
+#X floatatom 158 390 5 0 0;
+#X floatatom 42 282 5 0 0;
+#X obj 158 359 f;
+#X obj 268 322 tosymbol;
+#X obj 268 359 fromsymbol;
+#X msg 133 316 99;
+#X msg 178 316 0.99;
+#X msg 133 282 1 2 3;
+#X obj 42 416 print;
+#X msg 268 397 test2;
+#X msg 364 282 set test2;
+#X msg 268 282 set test1;
+#X msg 476 246 1 2 3 4;
+#X obj 476 282 tosymbol;
+#X obj 476 322 fromsymbol;
+#X obj 476 359 unpack 0 0 0 0;
+#X obj 476 397 print;
+#X connect 0 0 2 0;
+#X connect 1 0 0 0;
+#X connect 2 0 8 0;
+#X connect 3 0 0 0;
+#X connect 4 0 0 0;
+#X connect 5 0 4 0;
+#X connect 6 0 7 0;
+#X connect 7 0 0 0;
+#X connect 8 0 9 0;
+#X connect 8 1 10 0;
+#X connect 8 2 11 0;
+#X connect 12 0 13 0;
+#X connect 12 0 17 0;
+#X connect 13 0 14 0;
+#X connect 13 0 23 0;
+#X connect 16 0 12 0;
+#X connect 17 0 15 0;
+#X connect 18 0 19 0;
+#X connect 19 0 24 0;
+#X connect 20 0 13 0;
+#X connect 21 0 13 0;
+#X connect 22 0 13 0;
+#X connect 25 0 18 0;
+#X connect 26 0 18 0;
+#X connect 27 0 28 0;
+#X connect 28 0 29 0;
+#X connect 29 0 30 0;
+#X connect 30 0 31 0;
+#X connect 30 1 31 0;
+#X connect 30 2 31 0;
+#X connect 30 3 31 0;
diff --git a/test/cyclone/funbuff-etest.pd b/test/cyclone/funbuff-etest.pd
new file mode 100644
index 0000000..5d6a1a3
--- /dev/null
+++ b/test/cyclone/funbuff-etest.pd
@@ -0,0 +1,164 @@
+#N canvas 116 34 735 514 12;
+#X msg 49 113 clear;
+#X floatatom 172 181 5 0 0;
+#X obj 212 243 * -1;
+#X obj 172 213 t 0 0;
+#X floatatom 172 147 5 0 0;
+#X obj 279 113 Uzi;
+#X msg 49 181 debug \$1;
+#X msg 71 147 1;
+#X obj 279 71 t 0 0;
+#X msg 224 34 1000;
+#X msg 279 34 10000;
+#X msg 173 34 100;
+#X obj 530 147 counter;
+#X obj 530 113 Uzi;
+#X msg 595 34 100000;
+#X msg 475 34 1000;
+#X msg 530 34 10000;
+#X msg 424 34 100;
+#X msg 578 113 set 0;
+#X obj 530 71 t 0 b;
+#X msg 114 147 2;
+#X obj 279 147 urn;
+#X msg 344 34 100000;
+#X obj 531 306 counter;
+#X obj 531 271 Uzi;
+#X msg 579 271 set 0;
+#X obj 531 235 t 0 b;
+#X msg 531 196 50;
+#X msg 582 196 100;
+#X obj 429 235 Uzi;
+#X msg 429 196 50;
+#X msg 480 196 100;
+#X obj 429 271 urn 100;
+#X obj 49 355 funbuff;
+#C embed 1;
+#C set 1 -1 2 -2 3 -3 5 -5 6 -6 7 -7 8 -8 9 -9 10 -10 11 -11 12 -12
+13 -13 14 -14 15 -15 16 -16 18 -18 19 -19 20 -20 21 -21 22 -22 23 -23
+25 -25 26 -26 27 -27 28 -28 30 -30 31 -31 33 -33 34 -34;
+#C restore;
+#X obj 49 426 print;
+#X msg 60 213 bang;
+#X msg 69 243 dump;
+#X obj 49 389 pack;
+#X msg 126 288 set;
+#X msg 194 288 set 1 2 3;
+#X msg 171 83 goto 15;
+#X msg 171 112 next;
+#X msg 148 426 write test.funbuff;
+#X msg 157 461 read test.funbuff;
+#X msg 184 364 read;
+#X msg 184 393 write;
+#X obj 398 389 funbuff test.funbuff;
+#C embed 1;
+#C set 0 -0 1 -1 2 -2 3 -3 4 -4 5 -5 6 -6 7 -7 8 -8 9 -9 10 -10 11
+-11 12 -12 13 -13 14 -14 15 -15 16 -16 17 -17 18 -18 19 -19 20 -20
+21 -21 22 -22 23 -23 24 -24 25 -25 26 -26 27 -27 28 -28 29 -29 30 -30
+31 -31 32 -32 33 -33 34 -34 35 -35 36 -36 37 -37 38 -38 39 -39 40 -40
+41 -41 42 -42 43 -43 44 -44 45 -45 46 -46 47 -47 48 -48 49 -49 50 -50
+51 -51 52 -52 53 -53 54 -54 55 -55 56 -56 57 -57 58 -58 59 -59 60 -60
+61 -61 62 -62 63 -63 64 -64 65 -65 66 -66 67 -67 68 -68 69 -69 70 -70
+71 -71 72 -72 73 -73 74 -74 75 -75 76 -76 77 -77 78 -78 79 -79 80 -80
+81 -81 82 -82 83 -83 84 -84 85 -85 86 -86 87 -87 88 -88 89 -89 90 -90
+91 -91 92 -92 93 -93 94 -94 95 -95 96 -96 97 -97 98 -98 99 -99;
+#C restore;
+#X obj 398 461 print;
+#X obj 398 426 pack;
+#X msg 398 355 bang;
+#X msg 456 355 next;
+#X msg 514 355 goto 0;
+#N canvas 478 69 552 396 interp 0;
+#X obj 52 124 funbuff test.funbuff;
+#C restore;
+#X msg 52 85 interp \$1;
+#X floatatom 52 53 5 0 0;
+#N canvas 0 0 450 300 graph1 0;
+#X array t 100 float 1;
+#A 0 0 -0.0285716 -0.0548876 -0.0812036 -0.10752 -0.133836 -0.160152
+-0.186468 -0.212784 -0.2391 -0.265416 -0.291732 -0.318048 -0.344364
+-0.37068 -0.396996 -0.423312 -0.449628 -0.475944 -0.50226 -0.528575
+-0.55429 -0.580004 -0.605719 -0.631433 -0.657148 -0.682863 -0.708577
+-0.734292 -0.760006 -0.785721 -0.811435 -0.83715 -0.862864 -0.888579
+-0.914293 -0.939293 -0.964293 -0.989294 -1.01429 -1.04287 -1.07144
+-1.10001 -1.12382 -1.14763 -1.17144 -1.18572 -1.20001 -1.22858 -1.25715
+-1.28096 -1.30477 -1.32858 -1.35715 -1.40715 -1.45715 -1.40001 -1.38573
+-1.15715 -0.942865 -0.0285715 0.242859 0.343812 0.444765 0.545719 0.646672
+0.747625 0.848578 0.949531 1.05048 1.15144 1.25239 1.35334 1.4543 1.55525
+1.6562 1.77144 1.84922 1.927 2.68574 2.67145 2.65716 2.64288 2.62859
+2.61431 2.6041 2.5939 2.58369 2.57349 2.56329 2.55308 2.54288 2.54288
+2.54696 2.55104 2.55512 2.5592 2.56329 2.56737 2.62859;
+#X coords 0 1 99 -1 200 140 1;
+#X restore 290 173 graph;
+#X floatatom 184 53 5 0 0;
+#X msg 184 85 interptab \$1 t;
+#X floatatom 52 168 0 0 0;
+#X connect 0 0 6 0;
+#X connect 1 0 0 0;
+#X connect 2 0 1 0;
+#X connect 4 0 5 0;
+#X connect 5 0 0 0;
+#X restore 49 34 pd interp;
+#X msg 306 235 embed 1;
+#X msg 332 355 dump;
+#X connect 0 0 33 0;
+#X connect 1 0 3 0;
+#X connect 2 0 33 1;
+#X connect 3 0 33 0;
+#X connect 3 1 2 0;
+#X connect 4 0 33 0;
+#X connect 5 0 21 0;
+#X connect 6 0 33 0;
+#X connect 7 0 6 0;
+#X connect 8 0 5 0;
+#X connect 8 1 21 1;
+#X connect 9 0 8 0;
+#X connect 10 0 8 0;
+#X connect 11 0 8 0;
+#X connect 12 0 3 0;
+#X connect 13 0 12 0;
+#X connect 14 0 19 0;
+#X connect 15 0 19 0;
+#X connect 16 0 19 0;
+#X connect 17 0 19 0;
+#X connect 18 0 12 0;
+#X connect 19 0 13 0;
+#X connect 19 1 18 0;
+#X connect 20 0 6 0;
+#X connect 21 0 3 0;
+#X connect 22 0 8 0;
+#X connect 23 0 33 0;
+#X connect 24 0 23 0;
+#X connect 25 0 23 0;
+#X connect 26 0 24 0;
+#X connect 26 1 25 0;
+#X connect 27 0 26 0;
+#X connect 28 0 26 0;
+#X connect 29 0 32 0;
+#X connect 30 0 29 0;
+#X connect 31 0 29 0;
+#X connect 32 0 33 0;
+#X connect 33 0 37 0;
+#X connect 33 1 37 1;
+#X connect 33 2 34 0;
+#X connect 35 0 33 0;
+#X connect 36 0 33 0;
+#X connect 37 0 34 0;
+#X connect 38 0 33 0;
+#X connect 39 0 33 0;
+#X connect 40 0 33 0;
+#X connect 41 0 33 0;
+#X connect 42 0 33 0;
+#X connect 43 0 33 0;
+#X connect 44 0 33 0;
+#X connect 45 0 33 0;
+#X connect 46 0 48 0;
+#X connect 46 1 48 1;
+#X connect 46 2 47 0;
+#X connect 48 0 47 0;
+#X connect 49 0 46 0;
+#X connect 50 0 46 0;
+#X connect 51 0 46 0;
+#X connect 53 0 46 0;
+#X connect 53 0 33 0;
+#X connect 54 0 46 0;
diff --git a/test/cyclone/funbuff-test.pd b/test/cyclone/funbuff-test.pd
new file mode 100644
index 0000000..230368e
--- /dev/null
+++ b/test/cyclone/funbuff-test.pd
@@ -0,0 +1,149 @@
+#N canvas 116 34 735 514 12;
+#X msg 49 113 clear;
+#X floatatom 172 181 5 0 0;
+#X obj 212 243 * -1;
+#X obj 172 213 t 0 0;
+#X floatatom 172 147 5 0 0;
+#X obj 279 113 Uzi;
+#X msg 49 181 debug \$1;
+#X msg 71 147 1;
+#X obj 279 71 t 0 0;
+#X msg 224 34 1000;
+#X msg 279 34 10000;
+#X msg 173 34 100;
+#X obj 530 147 counter;
+#X obj 530 113 Uzi;
+#X msg 595 34 100000;
+#X msg 475 34 1000;
+#X msg 530 34 10000;
+#X msg 424 34 100;
+#X msg 578 113 set 0;
+#X obj 530 71 t 0 b;
+#X msg 114 147 2;
+#X obj 279 147 urn;
+#X msg 344 34 100000;
+#X obj 531 306 counter;
+#X obj 531 271 Uzi;
+#X msg 579 271 set 0;
+#X obj 531 235 t 0 b;
+#X msg 531 196 50;
+#X msg 582 196 100;
+#X obj 429 235 Uzi;
+#X msg 429 196 50;
+#X msg 480 196 100;
+#X obj 429 271 urn 100;
+#X obj 49 355 funbuff;
+#C restore;
+#X obj 49 426 print;
+#X msg 60 213 bang;
+#X msg 69 243 dump;
+#X obj 49 389 pack;
+#X msg 126 288 set;
+#X msg 194 288 set 1 2 3;
+#X msg 171 83 goto 15;
+#X msg 171 112 next;
+#X msg 148 426 write test.funbuff;
+#X msg 157 461 read test.funbuff;
+#X msg 184 364 read;
+#X msg 184 393 write;
+#X obj 398 389 funbuff test.funbuff;
+#C restore;
+#X obj 398 461 print;
+#X obj 398 426 pack;
+#X msg 398 355 bang;
+#X msg 456 355 next;
+#X msg 514 355 goto 0;
+#N canvas 478 69 552 396 interp 0;
+#X obj 52 124 funbuff test.funbuff;
+#C restore;
+#X msg 52 85 interp \$1;
+#X floatatom 52 53 5 0 0;
+#N canvas 0 0 450 300 graph1 0;
+#X array t 100 float 1;
+#A 0 0 -0.0285716 -0.0548876 -0.0812036 -0.10752 -0.133836 -0.160152
+-0.186468 -0.212784 -0.2391 -0.265416 -0.291732 -0.318048 -0.344364
+-0.37068 -0.396996 -0.423312 -0.449628 -0.475944 -0.50226 -0.528575
+-0.55429 -0.580004 -0.605719 -0.631433 -0.657148 -0.682863 -0.708577
+-0.734292 -0.760006 -0.785721 -0.811435 -0.83715 -0.862864 -0.888579
+-0.914293 -0.939293 -0.964293 -0.989294 -1.01429 -1.04287 -1.07144
+-1.10001 -1.12382 -1.14763 -1.17144 -1.18572 -1.20001 -1.22858 -1.25715
+-1.28096 -1.30477 -1.32858 -1.35715 -1.40715 -1.45715 -1.40001 -1.38573
+-1.15715 -0.942865 -0.0285715 0.242859 0.343812 0.444765 0.545719 0.646672
+0.747625 0.848578 0.949531 1.05048 1.15144 1.25239 1.35334 1.4543 1.55525
+1.6562 1.77144 1.84922 1.927 2.68574 2.67145 2.65716 2.64288 2.62859
+2.61431 2.6041 2.5939 2.58369 2.57349 2.56329 2.55308 2.54288 2.54288
+2.54696 2.55104 2.55512 2.5592 2.56329 2.56737 2.62859;
+#X coords 0 1 99 -1 200 140 1;
+#X restore 290 173 graph;
+#X floatatom 184 53 5 0 0;
+#X msg 184 85 interptab \$1 t;
+#X floatatom 52 168 0 0 0;
+#X connect 0 0 6 0;
+#X connect 1 0 0 0;
+#X connect 2 0 1 0;
+#X connect 4 0 5 0;
+#X connect 5 0 0 0;
+#X restore 49 34 pd interp;
+#X msg 306 235 embed 1;
+#X msg 332 355 dump;
+#X connect 0 0 33 0;
+#X connect 1 0 3 0;
+#X connect 2 0 33 1;
+#X connect 3 0 33 0;
+#X connect 3 1 2 0;
+#X connect 4 0 33 0;
+#X connect 5 0 21 0;
+#X connect 6 0 33 0;
+#X connect 7 0 6 0;
+#X connect 8 0 5 0;
+#X connect 8 1 21 1;
+#X connect 9 0 8 0;
+#X connect 10 0 8 0;
+#X connect 11 0 8 0;
+#X connect 12 0 3 0;
+#X connect 13 0 12 0;
+#X connect 14 0 19 0;
+#X connect 15 0 19 0;
+#X connect 16 0 19 0;
+#X connect 17 0 19 0;
+#X connect 18 0 12 0;
+#X connect 19 0 13 0;
+#X connect 19 1 18 0;
+#X connect 20 0 6 0;
+#X connect 21 0 3 0;
+#X connect 22 0 8 0;
+#X connect 23 0 33 0;
+#X connect 24 0 23 0;
+#X connect 25 0 23 0;
+#X connect 26 0 24 0;
+#X connect 26 1 25 0;
+#X connect 27 0 26 0;
+#X connect 28 0 26 0;
+#X connect 29 0 32 0;
+#X connect 30 0 29 0;
+#X connect 31 0 29 0;
+#X connect 32 0 33 0;
+#X connect 33 0 37 0;
+#X connect 33 1 37 1;
+#X connect 33 2 34 0;
+#X connect 35 0 33 0;
+#X connect 36 0 33 0;
+#X connect 37 0 34 0;
+#X connect 38 0 33 0;
+#X connect 39 0 33 0;
+#X connect 40 0 33 0;
+#X connect 41 0 33 0;
+#X connect 42 0 33 0;
+#X connect 43 0 33 0;
+#X connect 44 0 33 0;
+#X connect 45 0 33 0;
+#X connect 46 0 48 0;
+#X connect 46 1 48 1;
+#X connect 46 2 47 0;
+#X connect 48 0 47 0;
+#X connect 49 0 46 0;
+#X connect 50 0 46 0;
+#X connect 51 0 46 0;
+#X connect 53 0 46 0;
+#X connect 53 0 33 0;
+#X connect 54 0 46 0;
diff --git a/test/cyclone/funnel-test.pd b/test/cyclone/funnel-test.pd
new file mode 100644
index 0000000..3580e5d
--- /dev/null
+++ b/test/cyclone/funnel-test.pd
@@ -0,0 +1,33 @@
+#N canvas 557 414 450 300 12;
+#X obj 93 108 funnel 5;
+#X obj 93 147 spray 5;
+#X obj 58 200 print a;
+#X obj 174 200 print e;
+#X msg 116 64 bang;
+#X msg 49 64 2 3 4;
+#X msg 172 64 5 6 7;
+#X msg 172 26 -7;
+#X msg 49 26 -4;
+#X obj 245 64 testmess 50;
+#X msg 245 26 11 test;
+#X obj 187 147 print;
+#X obj 283 147 funnel 1 7;
+#X msg 283 108 99;
+#X msg 331 108 list test;
+#X msg 222 108 bang;
+#X connect 0 0 1 0;
+#X connect 0 0 11 0;
+#X connect 1 0 2 0;
+#X connect 1 4 3 0;
+#X connect 4 0 0 0;
+#X connect 4 0 0 4;
+#X connect 5 0 0 0;
+#X connect 6 0 0 4;
+#X connect 7 0 0 4;
+#X connect 8 0 0 0;
+#X connect 9 0 0 4;
+#X connect 10 0 9 0;
+#X connect 12 0 11 0;
+#X connect 13 0 12 0;
+#X connect 14 0 12 0;
+#X connect 15 0 12 0;
diff --git a/test/cyclone/gate-test.pd b/test/cyclone/gate-test.pd
new file mode 100644
index 0000000..80cdb61
--- /dev/null
+++ b/test/cyclone/gate-test.pd
@@ -0,0 +1,48 @@
+#N canvas 250 108 629 425 12;
+#X obj 209 222 switch 11 0 padding;
+#X msg 90 37 bang;
+#X msg 141 37 2;
+#X msg 184 37 symbol three;
+#X msg 264 67 1 2 3 4;
+#X msg 318 94 five is anything;
+#X msg 34 37 bang;
+#X obj 34 67 grab;
+#X floatatom 34 182 5 0 0;
+#X floatatom 54 113 5 0 0;
+#X obj 209 274 route bang float symbol list;
+#X obj 209 314 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X floatatom 270 310 5 0 0;
+#X symbolatom 332 310 10 0 0;
+#X obj 394 347 print list;
+#X obj 456 310 print anything;
+#X msg 357 123 last is anything too;
+#X obj 227 165 gate 11 0 padding;
+#X connect 0 0 10 0;
+#X connect 1 0 17 1;
+#X connect 2 0 17 1;
+#X connect 3 0 17 1;
+#X connect 4 0 17 1;
+#X connect 5 0 17 1;
+#X connect 6 0 7 0;
+#X connect 7 0 8 0;
+#X connect 7 1 17 0;
+#X connect 9 0 0 0;
+#X connect 9 0 17 0;
+#X connect 10 0 11 0;
+#X connect 10 1 12 0;
+#X connect 10 2 13 0;
+#X connect 10 3 14 0;
+#X connect 10 4 15 0;
+#X connect 16 0 17 1;
+#X connect 17 0 0 1;
+#X connect 17 1 0 2;
+#X connect 17 2 0 3;
+#X connect 17 3 0 4;
+#X connect 17 4 0 5;
+#X connect 17 5 0 6;
+#X connect 17 6 0 7;
+#X connect 17 7 0 8;
+#X connect 17 8 0 9;
+#X connect 17 9 0 10;
+#X connect 17 10 0 11;
diff --git a/test/cyclone/good.coll b/test/cyclone/good.coll
new file mode 100644
index 0000000..fcbd428
--- /dev/null
+++ b/test/cyclone/good.coll
@@ -0,0 +1,4 @@
+11, testing coll;
+12, who is going to do that?;
+13 !, not;
+me 14, and you?;
diff --git a/test/cyclone/grab-test.pd b/test/cyclone/grab-test.pd
new file mode 100644
index 0000000..7d1b31b
--- /dev/null
+++ b/test/cyclone/grab-test.pd
@@ -0,0 +1,42 @@
+#N canvas 402 375 591 368 12;
+#X obj 252 43 r t1;
+#X msg 121 43 set t2;
+#X obj 495 129 r t2;
+#X obj 27 175 print 1st;
+#X obj 103 129 print 2nd;
+#X obj 252 253 print pass1;
+#X obj 292 214 print pass2;
+#X obj 27 89 grab 2 t1;
+#X obj 419 43 r t1;
+#X obj 419 253 print pass3;
+#X floatatom 27 43 5 0 0;
+#X floatatom 286 129 5 0 0;
+#X obj 252 175 t 0 b;
+#X obj 419 175 + 100;
+#X obj 495 175 print t2;
+#X obj 271 83 print t1-a;
+#X obj 445 83 print t1-b;
+#X obj 142 214 grab;
+#X obj 204 294 +;
+#X floatatom 142 293 5 0 0;
+#X msg 142 175 \$1 1;
+#X obj 173 255 grab;
+#X connect 0 0 12 0;
+#X connect 0 0 15 0;
+#X connect 1 0 7 0;
+#X connect 2 0 12 0;
+#X connect 2 0 14 0;
+#X connect 7 0 3 0;
+#X connect 7 1 4 0;
+#X connect 8 0 13 0;
+#X connect 8 0 16 0;
+#X connect 10 0 7 0;
+#X connect 10 0 20 0;
+#X connect 11 0 12 0;
+#X connect 12 0 5 0;
+#X connect 12 1 6 0;
+#X connect 13 0 9 0;
+#X connect 17 0 19 0;
+#X connect 17 1 21 0;
+#X connect 20 0 17 0;
+#X connect 21 1 18 0;
diff --git a/test/cyclone/index-test.pd b/test/cyclone/index-test.pd
new file mode 100644
index 0000000..ea925fd
--- /dev/null
+++ b/test/cyclone/index-test.pd
@@ -0,0 +1,51 @@
+#N canvas 391 378 743 455 12;
+#N canvas 0 0 450 300 graph1 0;
+#X array 0-t 100 float 0;
+#X coords 0 1 99 -1 200 140 1;
+#X restore 279 34 graph;
+#X obj 43 280 index~ t;
+#X obj 43 321 snapshot~;
+#X floatatom 43 359 5 0 0;
+#X floatatom 43 245 5 0 0;
+#X obj 155 280 metro 10;
+#X obj 155 245 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#N canvas 0 0 450 300 graph1 0;
+#X array t 100 float 0;
+#X coords 0 1 99 -1 200 140 1;
+#X restore 37 34 graph;
+#X obj 273 321 snapshot~;
+#X floatatom 273 359 5 0 0;
+#X floatatom 273 245 5 0 0;
+#X obj 385 280 metro 10;
+#X obj 385 245 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 273 280 index~ t 1;
+#N canvas 0 0 450 300 graph1 0;
+#X array 1-t 100 float 0;
+#X coords 0 1 99 -1 200 140 1;
+#X restore 518 34 graph;
+#X msg 121 202 1;
+#X msg 161 202 2;
+#X msg 80 202 0;
+#X msg 324 202 1;
+#X msg 364 202 2;
+#X msg 283 202 0;
+#X msg 408 202 3;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 4 0 1 0;
+#X connect 5 0 2 0;
+#X connect 6 0 5 0;
+#X connect 8 0 9 0;
+#X connect 10 0 13 0;
+#X connect 11 0 8 0;
+#X connect 12 0 11 0;
+#X connect 13 0 8 0;
+#X connect 15 0 1 1;
+#X connect 16 0 1 1;
+#X connect 17 0 1 1;
+#X connect 18 0 13 1;
+#X connect 19 0 13 1;
+#X connect 20 0 13 1;
+#X connect 21 0 13 1;
diff --git a/test/cyclone/kanon.mid b/test/cyclone/kanon.mid
new file mode 100644
index 0000000..a07f5ec
--- /dev/null
+++ b/test/cyclone/kanon.mid
Binary files differ
diff --git a/test/cyclone/kink-test.pd b/test/cyclone/kink-test.pd
new file mode 100644
index 0000000..44bade7
--- /dev/null
+++ b/test/cyclone/kink-test.pd
@@ -0,0 +1,22 @@
+#N canvas 289 161 465 369 12;
+#X obj 31 88 kink~;
+#X floatatom 99 88 0 0 0 0 - - -;
+#X obj 32 156 Scope~ 400 200 256 3 128 -1 1 0 0 0 0 102 255 51 135
+135 135 0;
+#X obj 30 16 phasor~ 3;
+#X obj 30 53 *~ 1;
+#X floatatom 100 53 0 0 0 0 - - -;
+#X obj 242 53 kink~;
+#X floatatom 242 120 5 0 0 0 - - -;
+#X floatatom 242 16 5 0 0 0 - - -;
+#X floatatom 315 16 5 0 0 0 - - -;
+#X obj 242 88 Snapshot~ 10;
+#X connect 0 0 2 0;
+#X connect 1 0 0 1;
+#X connect 3 0 4 0;
+#X connect 4 0 0 0;
+#X connect 5 0 4 1;
+#X connect 6 0 10 0;
+#X connect 8 0 6 0;
+#X connect 9 0 6 1;
+#X connect 10 0 7 0;
diff --git a/test/cyclone/line-test.pd b/test/cyclone/line-test.pd
new file mode 100644
index 0000000..76df2da
--- /dev/null
+++ b/test/cyclone/line-test.pd
@@ -0,0 +1,54 @@
+#N canvas 95 168 608 427 12;
+#X obj 37 222 Line~;
+#N canvas 0 0 450 300 graph1 0;
+#X array t 133000 float 0;
+#X coords 0 1000 132999 -1000 200 140 1;
+#X restore 390 37 graph;
+#X obj 38 303 tabwrite~ t;
+#X obj 37 53 t b b;
+#X obj 37 16 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 106 53 t b b;
+#X obj 106 16 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 296 380 capture~ f;
+#X msg 296 341 clear;
+#X obj 61 380 capture~ f;
+#X msg 231 341 clear;
+#X obj 354 241 Snapshot~ 150;
+#X floatatom 354 279 5 0 0 0 - - -;
+#X obj 77 268 print;
+#X obj 61 341 delay~ 4096 4096;
+#X obj 175 53 t b b;
+#X obj 175 16 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X msg 37 89 0 \, 1000 1000 0 1000 1000 1000;
+#X msg 103 187 0 \, 1000 1;
+#X msg 56 120 0 \, 1000 1 0 640 -1000 0 1000 640 0;
+#X msg 77 152 0 \, 1000 640;
+#X connect 0 0 2 0;
+#X connect 0 0 7 0;
+#X connect 0 0 11 0;
+#X connect 0 0 14 0;
+#X connect 0 1 13 0;
+#X connect 0 1 10 0;
+#X connect 3 0 17 0;
+#X connect 3 1 2 0;
+#X connect 3 1 8 0;
+#X connect 4 0 3 0;
+#X connect 5 0 19 0;
+#X connect 5 1 2 0;
+#X connect 5 1 8 0;
+#X connect 6 0 5 0;
+#X connect 8 0 7 0;
+#X connect 10 0 9 0;
+#X connect 11 0 12 0;
+#X connect 14 0 9 0;
+#X connect 15 0 20 0;
+#X connect 15 1 8 0;
+#X connect 15 1 2 0;
+#X connect 16 0 15 0;
+#X connect 17 0 0 0;
+#X connect 18 0 0 0;
+#X connect 19 0 0 0;
+#X connect 20 0 0 0;
diff --git a/test/cyclone/match-reentrant.pd b/test/cyclone/match-reentrant.pd
new file mode 100644
index 0000000..495cfad
--- /dev/null
+++ b/test/cyclone/match-reentrant.pd
@@ -0,0 +1,20 @@
+#N canvas 496 270 520 430 12;
+#X obj 38 135 t a b;
+#X obj 38 244 print;
+#X obj 38 88 match -1 -2 -3 -4 -5 -6 -7 -8 -9;
+#X msg 38 38 -1 -2 -3 -4 -5 -6 -7 -8 -9;
+#X msg 78 195 set 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17;
+#X obj 228 330 t a b;
+#X msg 268 373 4 5 6;
+#X obj 228 289 match 1 nn 3;
+#X msg 228 244 1 2 3;
+#X connect 0 0 1 0;
+#X connect 0 1 4 0;
+#X connect 2 0 0 0;
+#X connect 3 0 2 0;
+#X connect 4 0 2 0;
+#X connect 5 0 1 0;
+#X connect 5 1 6 0;
+#X connect 6 0 7 0;
+#X connect 7 0 5 0;
+#X connect 8 0 7 0;
diff --git a/test/cyclone/match-test.pd b/test/cyclone/match-test.pd
new file mode 100644
index 0000000..e02a909
--- /dev/null
+++ b/test/cyclone/match-test.pd
@@ -0,0 +1,33 @@
+#N canvas 79 190 867 561 12;
+#X obj 490 63 match;
+#X obj 27 182 match one two nn one;
+#X obj 29 451 match 0 one two nn one 0;
+#X msg 27 26 one two 99 one;
+#X msg 47 63 list one two 99 one;
+#X msg 66 101 one \, two \, and \, one \, two \, or \, one;
+#X msg 82 141 one \, two \, and \, one \, one \, two \, or \, one;
+#X msg 29 308 0 \, one \, two \, and \, one \, 0 \, one \, two \, or
+\, one \, 0;
+#X msg 46 350 0 \, one \, two \, set two three \, three \, set 0 one
+two nn one 0;
+#X msg 61 392 0 \, one \, two \, set two three \, two \, three \, set
+0 one two nn one 0;
+#X msg 490 26 test;
+#X obj 593 63 match test;
+#X msg 593 26 test \, set \, test \, set test;
+#X obj 490 101 print;
+#X obj 27 226 print;
+#X obj 29 494 print;
+#X connect 0 0 13 0;
+#X connect 1 0 14 0;
+#X connect 2 0 15 0;
+#X connect 3 0 1 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 1 0;
+#X connect 7 0 2 0;
+#X connect 8 0 2 0;
+#X connect 9 0 2 0;
+#X connect 10 0 0 0;
+#X connect 11 0 13 0;
+#X connect 12 0 11 0;
diff --git a/test/cyclone/maxmin-test.pd b/test/cyclone/maxmin-test.pd
new file mode 100644
index 0000000..278aa8e
--- /dev/null
+++ b/test/cyclone/maxmin-test.pd
@@ -0,0 +1,65 @@
+#N canvas 212 65 529 484 12;
+#X obj 82 209 maximum;
+#X msg 57 54 1 2 3 4 5 4 3 2 1;
+#X floatatom 140 175 5 0 0;
+#X floatatom 140 149 5 0 0;
+#X floatatom 82 251 5 0 0;
+#X msg 21 175 bang;
+#X msg 36 23 1 2 3 4 5 5 4 3 2 1;
+#X msg 292 54 1 2 3 4 5 4 3 2 1;
+#X floatatom 401 175 5 0 0;
+#X floatatom 401 149 5 0 0;
+#X floatatom 316 251 5 0 0;
+#X msg 255 175 bang;
+#X msg 270 23 1 2 3 4 5 4 3 2;
+#X obj 316 209 minimum -1;
+#X msg 82 84 list a b c 4;
+#X msg 316 84 list a 2 c 4;
+#X msg 103 115 1 b c d;
+#X msg 334 115 1 b 3 d;
+#X obj 78 365 Peak;
+#X floatatom 109 330 5 0 0;
+#X floatatom 78 453 5 0 0;
+#X obj 93 426 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 109 399 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1
+1;
+#X msg 42 330 bang;
+#X floatatom 109 297 5 0 0;
+#X floatatom 306 330 5 0 0;
+#X floatatom 257 453 5 0 0;
+#X obj 281 426 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 306 399 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1
+1;
+#X msg 221 330 bang;
+#X floatatom 308 297 5 0 0;
+#X obj 257 365 Trough;
+#X connect 0 0 4 0;
+#X connect 1 0 0 0;
+#X connect 2 0 0 1;
+#X connect 3 0 0 0;
+#X connect 5 0 0 0;
+#X connect 6 0 0 0;
+#X connect 7 0 13 0;
+#X connect 8 0 13 1;
+#X connect 9 0 13 0;
+#X connect 11 0 13 0;
+#X connect 12 0 13 0;
+#X connect 13 0 10 0;
+#X connect 14 0 0 0;
+#X connect 15 0 13 0;
+#X connect 16 0 0 0;
+#X connect 17 0 13 0;
+#X connect 18 0 20 0;
+#X connect 18 1 21 0;
+#X connect 18 2 22 0;
+#X connect 19 0 18 1;
+#X connect 23 0 18 0;
+#X connect 24 0 18 0;
+#X connect 25 0 31 1;
+#X connect 29 0 31 0;
+#X connect 30 0 31 0;
+#X connect 31 0 26 0;
+#X connect 31 1 27 0;
+#X connect 31 2 28 0;
diff --git a/test/cyclone/mean-test.pd b/test/cyclone/mean-test.pd
new file mode 100644
index 0000000..29fb8a6
--- /dev/null
+++ b/test/cyclone/mean-test.pd
@@ -0,0 +1,16 @@
+#N canvas 368 260 327 204 12;
+#X obj 84 84 mean;
+#X msg 141 34 1 2 3 4;
+#X msg 233 34 99;
+#X floatatom 84 123 5 0 0;
+#X floatatom 156 123 5 0 0;
+#X msg 21 34 clear;
+#X msg 84 34 bang;
+#X floatatom 233 64 5 0 0;
+#X connect 0 0 3 0;
+#X connect 0 1 4 0;
+#X connect 1 0 0 0;
+#X connect 2 0 0 0;
+#X connect 5 0 0 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
diff --git a/test/cyclone/midi-test.pd b/test/cyclone/midi-test.pd
new file mode 100644
index 0000000..8846f70
--- /dev/null
+++ b/test/cyclone/midi-test.pd
@@ -0,0 +1,33 @@
+#N canvas 236 201 400 408 12;
+#X obj 207 181 flush;
+#X msg 46 29 bang;
+#X obj 207 76 midiparse;
+#X obj 207 29 midiin;
+#X obj 207 283 midiformat;
+#X obj 207 234 pack;
+#X obj 207 336 midiout;
+#X obj 46 181 midiflush;
+#X obj 46 128 spigot;
+#X obj 207 128 spigot;
+#X obj 134 25 tgl 25 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1
+;
+#X obj 134 76 == 0;
+#X floatatom 46 222 5 0 0;
+#X floatatom 294 336 5 0 0;
+#X connect 0 0 5 0;
+#X connect 0 1 5 1;
+#X connect 1 0 9 0;
+#X connect 1 0 8 0;
+#X connect 2 0 9 0;
+#X connect 3 0 8 0;
+#X connect 3 0 2 0;
+#X connect 4 0 6 0;
+#X connect 4 0 13 0;
+#X connect 5 0 4 0;
+#X connect 7 0 6 0;
+#X connect 7 0 12 0;
+#X connect 8 0 7 0;
+#X connect 9 0 0 0;
+#X connect 10 0 8 1;
+#X connect 10 0 11 0;
+#X connect 11 0 9 1;
diff --git a/test/cyclone/midiparse-test.pd b/test/cyclone/midiparse-test.pd
new file mode 100644
index 0000000..b006c94
--- /dev/null
+++ b/test/cyclone/midiparse-test.pd
@@ -0,0 +1,28 @@
+#N canvas 445 218 450 300 12;
+#X obj 124 189 midiparse;
+#X obj 124 225 funnel 7;
+#X obj 124 262 print;
+#X msg 124 18 145 \, 0 \, 64;
+#X msg 137 44 145 \, 1 \, 0;
+#X floatatom 39 18 5 0 0;
+#X msg 152 71 128 \, 2 \, 0;
+#X msg 44 148 bang;
+#X msg 42 71 1 2 3;
+#X msg 207 103 248;
+#X msg 160 103 240;
+#X connect 0 0 1 0;
+#X connect 0 1 1 1;
+#X connect 0 2 1 2;
+#X connect 0 3 1 3;
+#X connect 0 4 1 4;
+#X connect 0 5 1 5;
+#X connect 0 6 1 6;
+#X connect 1 0 2 0;
+#X connect 3 0 0 0;
+#X connect 4 0 0 0;
+#X connect 5 0 0 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X connect 8 0 0 0;
+#X connect 9 0 0 0;
+#X connect 10 0 0 0;
diff --git a/test/cyclone/mousefilter-test.pd b/test/cyclone/mousefilter-test.pd
new file mode 100644
index 0000000..084086f
--- /dev/null
+++ b/test/cyclone/mousefilter-test.pd
@@ -0,0 +1,28 @@
+#N canvas 199 54 444 300 12;
+#X obj 50 198 mousefilter;
+#X floatatom 50 158 5 0 0;
+#X obj 50 239 print;
+#X obj 50 38 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 50 116 random 1000;
+#X obj 214 198 mousefilter;
+#X floatatom 214 158 5 0 0;
+#X obj 214 239 print;
+#X obj 214 38 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 214 116 random 1000;
+#X obj 50 74 metro 500;
+#X obj 214 74 metro 500;
+#X obj 341 26 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144
+-1 -1 6800 0;
+#X connect 0 0 2 0;
+#X connect 1 0 0 0;
+#X connect 3 0 10 0;
+#X connect 4 0 1 0;
+#X connect 5 0 7 0;
+#X connect 6 0 5 0;
+#X connect 8 0 11 0;
+#X connect 9 0 6 0;
+#X connect 10 0 4 0;
+#X connect 11 0 9 0;
+#X connect 12 0 5 0;
diff --git a/test/cyclone/next-test.pd b/test/cyclone/next-test.pd
new file mode 100644
index 0000000..50d78d1
--- /dev/null
+++ b/test/cyclone/next-test.pd
@@ -0,0 +1,16 @@
+#N canvas 225 213 485 258 12;
+#X obj 91 143 next;
+#X msg 91 26 bang \, bang;
+#X msg 118 78 bang;
+#X obj 236 105 delay 0;
+#X msg 236 55 bang;
+#X obj 122 177 print same;
+#X obj 91 208 print new;
+#X text 286 49 this fails without geteventno;
+#X connect 0 0 6 0;
+#X connect 0 1 5 0;
+#X connect 1 0 0 0;
+#X connect 2 0 0 0;
+#X connect 3 0 0 0;
+#X connect 4 0 3 0;
+#X connect 4 0 0 0;
diff --git a/test/cyclone/offer-test.pd b/test/cyclone/offer-test.pd
new file mode 100644
index 0000000..537a3b9
--- /dev/null
+++ b/test/cyclone/offer-test.pd
@@ -0,0 +1,76 @@
+#N canvas 299 297 735 363 12;
+#X obj 49 244 offer;
+#X floatatom 49 279 5 0 0;
+#X msg 50 114 clear;
+#X floatatom 172 181 5 0 0;
+#X obj 212 244 * -1;
+#X obj 172 209 t 0 0;
+#X floatatom 172 147 5 0 0;
+#X obj 279 110 Uzi;
+#X msg 49 181 debug \$1;
+#X msg 71 147 1;
+#X obj 279 71 t 0 0;
+#X msg 224 31 1000;
+#X msg 279 31 10000;
+#X msg 173 31 100;
+#X obj 530 147 counter;
+#X obj 530 110 Uzi;
+#X msg 595 31 100000;
+#X msg 475 31 1000;
+#X msg 530 31 10000;
+#X msg 424 31 100;
+#X msg 578 110 set 0;
+#X obj 530 71 t 0 b;
+#X msg 114 147 2;
+#X obj 279 147 urn;
+#X msg 344 31 100000;
+#X obj 531 306 counter;
+#X obj 531 271 Uzi;
+#X msg 579 271 set 0;
+#X obj 531 234 t 0 b;
+#X msg 531 196 50;
+#X msg 582 196 100;
+#X obj 429 234 Uzi;
+#X msg 429 196 50;
+#X msg 480 196 100;
+#X obj 429 271 urn 100;
+#X msg 117 209 1.5;
+#X connect 0 0 1 0;
+#X connect 2 0 0 0;
+#X connect 3 0 5 0;
+#X connect 4 0 0 1;
+#X connect 5 0 0 0;
+#X connect 5 1 4 0;
+#X connect 6 0 0 0;
+#X connect 7 0 23 0;
+#X connect 8 0 0 0;
+#X connect 9 0 8 0;
+#X connect 10 0 7 0;
+#X connect 10 1 23 1;
+#X connect 11 0 10 0;
+#X connect 12 0 10 0;
+#X connect 13 0 10 0;
+#X connect 14 0 5 0;
+#X connect 15 0 14 0;
+#X connect 16 0 21 0;
+#X connect 17 0 21 0;
+#X connect 18 0 21 0;
+#X connect 19 0 21 0;
+#X connect 20 0 14 0;
+#X connect 21 0 15 0;
+#X connect 21 1 20 0;
+#X connect 22 0 8 0;
+#X connect 23 0 5 0;
+#X connect 24 0 10 0;
+#X connect 25 0 0 0;
+#X connect 26 0 25 0;
+#X connect 27 0 25 0;
+#X connect 28 0 26 0;
+#X connect 28 1 27 0;
+#X connect 29 0 28 0;
+#X connect 30 0 28 0;
+#X connect 31 0 34 0;
+#X connect 32 0 31 0;
+#X connect 33 0 31 0;
+#X connect 34 0 0 0;
+#X connect 35 0 0 0;
diff --git a/test/cyclone/onebang-test.pd b/test/cyclone/onebang-test.pd
new file mode 100644
index 0000000..56f0440
--- /dev/null
+++ b/test/cyclone/onebang-test.pd
@@ -0,0 +1,26 @@
+#N canvas 516 361 450 300 12;
+#X obj 65 144 onebang;
+#X obj 65 89 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 65 200 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 221 89 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 221 200 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 221 144 onebang 1;
+#X obj 123 109 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 297 109 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 297 62 metro 500;
+#X obj 297 24 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X connect 0 0 2 0;
+#X connect 1 0 0 0;
+#X connect 3 0 5 0;
+#X connect 5 0 4 0;
+#X connect 6 0 0 1;
+#X connect 7 0 5 1;
+#X connect 8 0 5 0;
+#X connect 9 0 8 0;
diff --git a/test/cyclone/past-test.pd b/test/cyclone/past-test.pd
new file mode 100644
index 0000000..3c1b1c5
--- /dev/null
+++ b/test/cyclone/past-test.pd
@@ -0,0 +1,38 @@
+#N canvas 280 124 570 391 12;
+#X obj 56 244 print;
+#X floatatom 56 109 5 0 0;
+#X obj 185 244 print;
+#X floatatom 185 109 5 0 0;
+#X obj 185 198 past 1 2 3;
+#X obj 296 244 print;
+#X obj 296 198 past 1 2 3;
+#X msg 317 128 2 3 4;
+#X msg 309 93 1 2 3;
+#X msg 296 53 0 1 2;
+#X msg 121 109 clear;
+#X msg 121 138 set 3;
+#X obj 56 198 past 7;
+#X msg 245 53 0;
+#X msg 121 167 set 7;
+#X msg 402 157 2 0 0 \, 1 2 3;
+#X msg 402 128 0 3 4 \, 1 2 3;
+#X msg 401 93 2 3 0;
+#X msg 461 93 1 1 4;
+#X msg 283 13 set 1 2 3 4 5 6 7 8 9;
+#X connect 1 0 12 0;
+#X connect 3 0 4 0;
+#X connect 4 0 2 0;
+#X connect 6 0 5 0;
+#X connect 7 0 6 0;
+#X connect 8 0 6 0;
+#X connect 9 0 6 0;
+#X connect 10 0 12 0;
+#X connect 11 0 12 0;
+#X connect 12 0 0 0;
+#X connect 13 0 6 0;
+#X connect 14 0 12 0;
+#X connect 15 0 6 0;
+#X connect 16 0 6 0;
+#X connect 17 0 6 0;
+#X connect 18 0 6 0;
+#X connect 19 0 6 0;
diff --git a/test/cyclone/peakamp-test.pd b/test/cyclone/peakamp-test.pd
new file mode 100644
index 0000000..c0c3121
--- /dev/null
+++ b/test/cyclone/peakamp-test.pd
@@ -0,0 +1,25 @@
+#N canvas 354 192 367 254 12;
+#X obj 190 160 peakamp~ 1;
+#X obj 31 82 count~ 0 64 1 1;
+#X obj 31 225 capture~;
+#X msg 190 124 bang;
+#X floatatom 126 225 5 0 0 0 - - -;
+#X obj 190 221 capture 1000;
+#X msg 31 47 min \$1;
+#X floatatom 31 16 5 0 0 0 - - -;
+#X floatatom 161 16 5 0 0 0 - - -;
+#X msg 59 192 open;
+#X obj 59 160 delay 0;
+#X msg 59 124 bang;
+#X connect 0 0 4 0;
+#X connect 0 0 5 0;
+#X connect 1 0 0 0;
+#X connect 1 0 2 0;
+#X connect 3 0 0 0;
+#X connect 6 0 1 0;
+#X connect 7 0 6 0;
+#X connect 8 0 1 1;
+#X connect 9 0 2 0;
+#X connect 9 0 5 0;
+#X connect 10 0 9 0;
+#X connect 11 0 10 0;
diff --git a/test/cyclone/peek-test.pd b/test/cyclone/peek-test.pd
new file mode 100644
index 0000000..ef0db24
--- /dev/null
+++ b/test/cyclone/peek-test.pd
@@ -0,0 +1,51 @@
+#N canvas 326 171 584 586 12;
+#N canvas 0 0 450 300 graph1 0;
+#X array 0-t 20000 float 0;
+#X coords 0 1 19999 -1 200 140 1;
+#X restore 59 17 graph;
+#N canvas 0 0 450 300 graph1 0;
+#X array 1-t 20000 float 0;
+#X coords 0 1 19999 -1 200 140 1;
+#X restore 326 17 graph;
+#X obj 122 511 peek~ t 1;
+#X floatatom 122 548 5 0 0;
+#X msg 286 362 1;
+#X msg 286 394 2;
+#X msg 286 430 3;
+#X msg 286 326 0;
+#X floatatom 390 548 5 0 0;
+#X floatatom 390 438 5 0 0;
+#X floatatom 428 469 5 0 0;
+#X obj 390 511 peek~ 0-t;
+#X floatatom 122 438 5 0 0;
+#X floatatom 160 474 5 0 0;
+#X floatatom 41 253 5 0 0;
+#X obj 41 400 pack 0 0 0;
+#X floatatom 171 362 5 0 0;
+#X obj 41 287 t 0 b;
+#X obj 81 326 random 1000;
+#X obj 41 438 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1
+;
+#X msg 41 474 clip \$1;
+#X obj 81 362 / -500;
+#X floatatom 150 400 5 0 0;
+#X connect 2 0 3 0;
+#X connect 4 0 2 2;
+#X connect 5 0 2 2;
+#X connect 6 0 2 2;
+#X connect 7 0 2 2;
+#X connect 9 0 11 0;
+#X connect 10 0 11 1;
+#X connect 11 0 8 0;
+#X connect 12 0 2 0;
+#X connect 13 0 2 1;
+#X connect 14 0 17 0;
+#X connect 15 0 2 0;
+#X connect 16 0 15 2;
+#X connect 17 0 15 0;
+#X connect 17 1 18 0;
+#X connect 18 0 21 0;
+#X connect 19 0 20 0;
+#X connect 20 0 2 0;
+#X connect 21 0 15 1;
+#X connect 21 0 22 0;
diff --git a/test/cyclone/prepend-test.pd b/test/cyclone/prepend-test.pd
new file mode 100644
index 0000000..d43b8c1
--- /dev/null
+++ b/test/cyclone/prepend-test.pd
@@ -0,0 +1,73 @@
+#N canvas 479 230 524 465 12;
+#X obj 25 416 print;
+#X msg 25 298 1 2 3;
+#X msg 102 298 set test;
+#X obj 25 241 print;
+#X msg 25 55 1 2 3;
+#X obj 25 169 t a b;
+#X msg 111 241 4 5 6;
+#X obj 190 206 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 347 55 testmess 1000;
+#X msg 347 19 mess;
+#X msg 101 19 mess;
+#X obj 101 55 testmess 100;
+#X msg 155 128 set changed;
+#X obj 111 169 gate;
+#X obj 111 206 t b b;
+#X obj 25 377 t a b b;
+#X msg 220 416 set mess1;
+#X msg 108 416 set mess2;
+#X msg 285 241 bang;
+#X msg 347 241 99;
+#X obj 285 377 print list;
+#X obj 285 339 route list;
+#X obj 408 377 print;
+#X msg 227 241 mess;
+#X obj 25 128 prepend test;
+#X obj 25 339 prepend test;
+#X msg 398 241 set bang;
+#X msg 400 278 set 0;
+#X obj 285 298 prepend;
+#X obj 101 88 prepend check;
+#X obj 347 88 prepend check;
+#X msg 160 19 set set;
+#X msg 244 19 set check;
+#X msg 348 211 list;
+#X connect 1 0 25 0;
+#X connect 2 0 25 0;
+#X connect 4 0 24 0;
+#X connect 5 0 3 0;
+#X connect 5 1 13 1;
+#X connect 6 0 24 0;
+#X connect 7 0 13 0;
+#X connect 8 0 30 0;
+#X connect 9 0 8 0;
+#X connect 10 0 11 0;
+#X connect 11 0 29 0;
+#X connect 12 0 24 0;
+#X connect 13 0 14 0;
+#X connect 14 0 6 0;
+#X connect 14 1 7 0;
+#X connect 15 0 0 0;
+#X connect 15 1 17 0;
+#X connect 15 2 16 0;
+#X connect 16 0 25 0;
+#X connect 17 0 25 0;
+#X connect 18 0 28 0;
+#X connect 19 0 28 0;
+#X connect 21 0 20 0;
+#X connect 21 1 22 0;
+#X connect 23 0 28 0;
+#X connect 24 0 5 0;
+#X connect 25 0 15 0;
+#X connect 26 0 28 0;
+#X connect 27 0 28 0;
+#X connect 28 0 21 0;
+#X connect 29 0 24 0;
+#X connect 30 0 24 0;
+#X connect 31 0 30 0;
+#X connect 31 0 29 0;
+#X connect 32 0 30 0;
+#X connect 32 0 29 0;
+#X connect 33 0 28 0;
diff --git a/test/cyclone/prob-test.pd b/test/cyclone/prob-test.pd
new file mode 100644
index 0000000..e21a3c5
--- /dev/null
+++ b/test/cyclone/prob-test.pd
@@ -0,0 +1,33 @@
+#N canvas 482 332 476 300 12;
+#X obj 146 119 anal;
+#X obj 146 174 prob;
+#X floatatom 114 221 5 0 0;
+#X obj 213 221 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X floatatom 146 84 5 0 0;
+#X msg 52 139 dump;
+#X msg 125 48 bang;
+#X floatatom 222 84 5 0 0;
+#X msg 297 84 2 -1 1;
+#X msg 359 119 reset 2;
+#X msg 51 84 embed 1;
+#X msg 221 48 clear;
+#X msg 298 48 -1;
+#X msg 375 84 1 1 1;
+#X msg 344 48 1;
+#X msg 47 14 clear \, 2 -1 1 \, -1 \, bang \, reset 2;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X connect 1 1 3 0;
+#X connect 4 0 0 0;
+#X connect 5 0 1 0;
+#X connect 6 0 1 0;
+#X connect 7 0 1 0;
+#X connect 8 0 1 0;
+#X connect 9 0 1 0;
+#X connect 10 0 1 0;
+#X connect 11 0 1 0;
+#X connect 12 0 1 0;
+#X connect 13 0 1 0;
+#X connect 14 0 1 0;
+#X connect 15 0 1 0;
diff --git a/test/cyclone/pv-test.pd b/test/cyclone/pv-test.pd
new file mode 100644
index 0000000..c1252b5
--- /dev/null
+++ b/test/cyclone/pv-test.pd
@@ -0,0 +1,83 @@
+#N canvas 400 284 560 390 12;
+#X obj 53 112 pv x;
+#X floatatom 53 77 5 0 0;
+#X msg 132 40 bang;
+#X floatatom 132 112 5 0 0;
+#X msg 197 40 status;
+#X msg 29 40 status;
+#X floatatom 57 238 5 0 0;
+#X msg 286 238 bang;
+#X msg 351 238 status;
+#X msg 32 190 status;
+#X obj 286 280 pv common;
+#N canvas 556 81 496 259 sub-a 0;
+#X floatatom 59 88 5 0 0;
+#X msg 317 88 bang;
+#X msg 382 88 status;
+#X msg 35 51 status;
+#X obj 317 123 pv common;
+#X msg 133 88 bang;
+#X floatatom 250 88 5 0 0;
+#X obj 59 161 print private-a;
+#X obj 317 161 print common-a;
+#X obj 59 123 pv private symbol test;
+#X connect 0 0 9 0;
+#X connect 1 0 4 0;
+#X connect 2 0 4 0;
+#X connect 3 0 9 0;
+#X connect 4 0 8 0;
+#X connect 5 0 9 0;
+#X connect 6 0 4 0;
+#X connect 9 0 7 0;
+#X restore 454 280 pd sub-a;
+#X msg 455 64 \; x bang;
+#X obj 455 148 r x;
+#X obj 455 190 print;
+#N canvas 556 81 496 259 sub-b 0;
+#X floatatom 91 87 5 0 0;
+#X msg 317 87 bang;
+#X msg 382 87 status;
+#X msg 67 50 status;
+#X obj 317 122 pv common;
+#X msg 165 87 bang;
+#X floatatom 250 87 5 0 0;
+#X obj 91 160 print private-b;
+#X obj 317 160 print common-b;
+#X obj 91 122 pv private 1 2 3;
+#X connect 0 0 9 0;
+#X connect 1 0 4 0;
+#X connect 2 0 4 0;
+#X connect 3 0 9 0;
+#X connect 4 0 8 0;
+#X connect 5 0 9 0;
+#X connect 6 0 4 0;
+#X connect 9 0 7 0;
+#X restore 453 318 pd sub-b;
+#X obj 286 318 print common;
+#X msg 116 190 symbol test;
+#X obj 288 195 testmess 100;
+#X msg 288 159 bang;
+#X msg 344 159 test;
+#X msg 288 88 bang;
+#X msg 344 88 test;
+#X obj 288 124 testmess 300;
+#X obj 57 280 pv common test message;
+#X obj 132 77 pv x 99;
+#X connect 1 0 0 0;
+#X connect 2 0 25 0;
+#X connect 4 0 25 0;
+#X connect 5 0 0 0;
+#X connect 6 0 24 0;
+#X connect 7 0 10 0;
+#X connect 8 0 10 0;
+#X connect 9 0 24 0;
+#X connect 10 0 16 0;
+#X connect 13 0 14 0;
+#X connect 17 0 24 0;
+#X connect 18 0 24 0;
+#X connect 19 0 18 0;
+#X connect 20 0 18 0;
+#X connect 21 0 23 0;
+#X connect 22 0 23 0;
+#X connect 23 0 24 0;
+#X connect 25 0 3 0;
diff --git a/test/cyclone/rand-test.pd b/test/cyclone/rand-test.pd
new file mode 100644
index 0000000..2a438d6
--- /dev/null
+++ b/test/cyclone/rand-test.pd
@@ -0,0 +1,37 @@
+#N canvas 224 159 762 415 12;
+#X obj 33 348 tabwrite~ t;
+#N canvas 0 0 450 300 graph1 0;
+#X array t 400 float 0;
+#X coords 0 1 399 -1 400 300 1;
+#X restore 330 44 graph;
+#X obj 35 54 osc~ 10;
+#X obj 35 89 *~ 1000;
+#X floatatom 35 19 5 0 0 0 - - -;
+#X obj 256 174 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X floatatom 114 54 5 0 0 0 - - -;
+#X msg 64 189 \$1 \; pd dsp \$1;
+#X obj 45 244 metro 300;
+#X obj 33 151 rand~ 1000;
+#X floatatom 168 114 5 0 0 0 - - -;
+#X obj 171 315 hsl 128 15 -1 1 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 0 1;
+#X obj 168 151 rand~;
+#X obj 64 315 capture~ f;
+#X msg 64 278 clear;
+#X obj 177 204 sel 1;
+#X obj 168 278 Snapshot~ 20;
+#X connect 2 0 3 0;
+#X connect 4 0 2 0;
+#X connect 5 0 7 0;
+#X connect 5 0 15 0;
+#X connect 6 0 3 1;
+#X connect 7 0 8 0;
+#X connect 8 0 0 0;
+#X connect 9 0 0 0;
+#X connect 9 0 13 0;
+#X connect 10 0 12 0;
+#X connect 12 0 16 0;
+#X connect 14 0 13 0;
+#X connect 15 0 14 0;
+#X connect 16 0 11 0;
diff --git a/test/cyclone/record-sync-test.pd b/test/cyclone/record-sync-test.pd
new file mode 100644
index 0000000..368bf06
--- /dev/null
+++ b/test/cyclone/record-sync-test.pd
@@ -0,0 +1,64 @@
+#N canvas 380 162 635 531 12;
+#X obj 56 320 record~ t;
+#N canvas 0 0 450 300 graph1 0;
+#X array t 100000 float 0;
+#X coords 0 1 99999 -1 200 140 1;
+#X restore 46 20 graph;
+#X floatatom 77 241 5 0 0;
+#X floatatom 149 241 5 0 0;
+#X obj 345 279 tgl 15 0 empty empty empty 20 8 0 8 -262144 -1 -1 1
+1;
+#X obj 56 437 threshold~ 0;
+#X obj 56 401 -~;
+#X obj 56 365 delay~ 1 1;
+#N canvas 0 0 450 300 graph1 0;
+#X array sync 100000 float 0;
+#X coords 0 1 99999 -1 200 140 1;
+#X restore 299 20 graph;
+#X floatatom 400 324 5 0 0;
+#X floatatom 400 246 5 0 0;
+#X msg 56 205 loop \$1;
+#X msg 161 205 append \$1;
+#X obj 56 179 tgl 15 0 empty empty empty 20 8 0 8 -262144 -1 -1 0 1
+;
+#X obj 161 179 tgl 15 0 empty empty empty 20 8 0 8 -262144 -1 -1 0
+1;
+#X obj 56 476 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 149 279 / 44.1;
+#X obj 77 279 / 44.1;
+#X obj 345 365 record~ sync;
+#X obj 400 286 tabread sync;
+#X msg 303 189 \; sync const 0;
+#X obj 240 437 snapshot~;
+#X obj 240 401 metro 10;
+#X floatatom 240 476 5 0 0;
+#X obj 240 369 tgl 15 0 empty empty empty 20 8 0 8 -262144 -1 -1 1
+1;
+#X obj 345 437 snapshot~;
+#X floatatom 345 476 5 0 0;
+#X connect 0 0 6 1;
+#X connect 0 0 7 0;
+#X connect 0 0 18 0;
+#X connect 0 0 21 0;
+#X connect 2 0 17 0;
+#X connect 3 0 16 0;
+#X connect 4 0 0 0;
+#X connect 4 0 18 0;
+#X connect 5 0 15 0;
+#X connect 6 0 5 0;
+#X connect 7 0 6 0;
+#X connect 10 0 19 0;
+#X connect 11 0 0 0;
+#X connect 12 0 0 0;
+#X connect 13 0 11 0;
+#X connect 14 0 12 0;
+#X connect 16 0 0 2;
+#X connect 17 0 0 1;
+#X connect 18 0 25 0;
+#X connect 19 0 9 0;
+#X connect 21 0 23 0;
+#X connect 22 0 21 0;
+#X connect 22 0 25 0;
+#X connect 24 0 22 0;
+#X connect 25 0 26 0;
diff --git a/test/cyclone/record-test.pd b/test/cyclone/record-test.pd
new file mode 100644
index 0000000..8896aec
--- /dev/null
+++ b/test/cyclone/record-test.pd
@@ -0,0 +1,60 @@
+#N canvas 106 146 768 968 12;
+#X obj 254 110 record~ bulk 8;
+#X obj 53 36 osc~ 1;
+#X obj 124 36 osc~ 2;
+#X obj 193 36 osc~ 3;
+#X obj 263 36 osc~ 4;
+#X obj 335 36 osc~ 5;
+#X obj 403 36 osc~ 6;
+#X obj 479 36 osc~ 7;
+#X obj 549 36 osc~ 8;
+#X obj 154 95 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1
+;
+#N canvas 0 0 450 300 graph65 0;
+#X array 0-bulk 10000 float 0;
+#X coords 0 1 9999 -1 600 60 1;
+#X restore 84 192 graph;
+#N canvas 0 0 450 300 graph65 0;
+#X array 1-bulk 10000 float 0;
+#X coords 0 1 9999 -1 600 60 1;
+#X restore 84 269 graph;
+#N canvas 0 0 450 300 graph65 0;
+#X array 2-bulk 10000 float 0;
+#X coords 0 1 9999 -1 600 60 1;
+#X restore 83 345 graph;
+#N canvas 0 0 450 300 graph65 0;
+#X array 3-bulk 10000 float 0;
+#X coords 0 1 9999 -1 600 60 1;
+#X restore 83 422 graph;
+#N canvas 0 0 450 300 graph65 0;
+#X array 4-bulk 10000 float 0;
+#X coords 0 1 9999 -1 600 60 1;
+#X restore 83 501 graph;
+#N canvas 0 0 450 300 graph65 0;
+#X array 5-bulk 10000 float 0;
+#X coords 0 1 9999 -1 600 60 1;
+#X restore 83 578 graph;
+#N canvas 0 0 450 300 graph65 0;
+#X array 6-bulk 10000 float 0;
+#X coords 0 1 9999 -1 600 60 1;
+#X restore 82 654 graph;
+#N canvas 0 0 450 300 graph65 0;
+#X array 7-bulk 10000 float 0;
+#X coords 0 1 9999 -1 600 60 1;
+#X restore 82 731 graph;
+#X obj 254 146 record~ sync;
+#N canvas 0 0 450 300 graph65 0;
+#X array sync 10000 float 0;
+#X coords 0 1 9999 -1 600 60 1;
+#X restore 80 839 graph;
+#X connect 0 0 18 0;
+#X connect 1 0 0 0;
+#X connect 2 0 0 1;
+#X connect 3 0 0 2;
+#X connect 4 0 0 3;
+#X connect 5 0 0 4;
+#X connect 6 0 0 5;
+#X connect 7 0 0 6;
+#X connect 8 0 0 7;
+#X connect 9 0 0 0;
+#X connect 9 0 18 0;
diff --git a/test/cyclone/scope-gop.pd b/test/cyclone/scope-gop.pd
new file mode 100644
index 0000000..a5980d0
--- /dev/null
+++ b/test/cyclone/scope-gop.pd
@@ -0,0 +1,2 @@
+#N canvas 315 186 464 344 12;
+#X obj 186 108 scope-test;
diff --git a/test/cyclone/scope-test.pd b/test/cyclone/scope-test.pd
new file mode 100644
index 0000000..8a69d6b
--- /dev/null
+++ b/test/cyclone/scope-test.pd
@@ -0,0 +1,125 @@
+#N canvas 188 168 778 363 12;
+#X obj 19 207 Scope~ 130 130 150 3 200 -1 1 100 0 0 0 50 255 0 202
+32 49 0;
+#X floatatom 18 18 5 0 0 0 - - -;
+#X floatatom 132 18 5 0 0 0 - - -;
+#X obj 18 73 *~;
+#X msg 100 161 bufsize \$1;
+#X floatatom 100 135 5 0 0 0 - - -;
+#X floatatom 247 80 5 0 0 0 - - -;
+#X floatatom 276 106 5 0 0 0 - - -;
+#X floatatom 305 130 5 0 0 0 - - -;
+#X floatatom 36 136 5 0 0 0 - - -;
+#X floatatom 364 80 5 0 0 0 - - -;
+#X floatatom 393 106 5 0 0 0 - - -;
+#X floatatom 422 130 5 0 0 0 - - -;
+#N canvas 0 0 262 195 frgb 0;
+#X obj 17 25 inlet;
+#X obj 94 25 inlet;
+#X obj 173 25 inlet;
+#X obj 17 148 outlet;
+#X obj 17 56 bondo 3;
+#X obj 17 86 pack 0 0 0;
+#X msg 17 116 frgb \$1 \$2 \$3;
+#X connect 0 0 4 0;
+#X connect 1 0 4 1;
+#X connect 2 0 4 2;
+#X connect 4 0 5 0;
+#X connect 4 1 5 1;
+#X connect 4 2 5 2;
+#X connect 5 0 6 0;
+#X connect 6 0 3 0;
+#X restore 247 161 pd frgb;
+#N canvas 0 0 250 195 brgb 0;
+#X obj 17 25 inlet;
+#X obj 94 25 inlet;
+#X obj 173 25 inlet;
+#X obj 17 148 outlet;
+#X msg 17 116 brgb \$1 \$2 \$3;
+#X obj 17 56 bondo 3;
+#X obj 17 86 pack 0 0 0;
+#X connect 0 0 5 0;
+#X connect 1 0 5 1;
+#X connect 2 0 5 2;
+#X connect 4 0 3 0;
+#X connect 5 0 6 0;
+#X connect 5 1 6 1;
+#X connect 5 2 6 2;
+#X connect 6 0 4 0;
+#X restore 364 161 pd brgb;
+#X obj 18 44 osc~ 5;
+#X obj 132 44 osc~ 11;
+#X floatatom 100 80 5 0 0 0 - - -;
+#X floatatom 167 80 5 0 0 0 - - -;
+#N canvas 0 0 262 195 range 0;
+#X obj 17 25 inlet;
+#X obj 94 25 inlet;
+#X obj 17 145 outlet;
+#X msg 17 115 range \$1 \$2;
+#X obj 17 85 pack;
+#X obj 17 55 bondo;
+#X connect 0 0 5 0;
+#X connect 1 0 5 1;
+#X connect 3 0 2 0;
+#X connect 4 0 3 0;
+#X connect 5 0 4 0;
+#X connect 5 1 4 1;
+#X restore 100 106 pd range;
+#X floatatom 240 18 5 0 0 0 - - -;
+#X msg 240 44 delay \$1;
+#X floatatom 171 207 5 0 0 0 - - -;
+#X obj 171 233 osc~ 5;
+#X obj 243 207 Scope~ 130 130 256 3 128 -1 1 0 0 0 0 102 255 51 135
+135 135 0;
+#X floatatom 73 18 5 0 0 0 - - -;
+#X floatatom 386 207 5 0 0 0 - - -;
+#X obj 386 233 osc~ 5;
+#X floatatom 441 207 5 0 0 0 - - -;
+#X floatatom 512 18 5 0 0 0 - - -;
+#X obj 512 44 pack;
+#X floatatom 575 18 5 0 0 0 - - -;
+#X msg 512 73 triglevel \$1 \, trigger \$2;
+#X obj 512 207 Scope~ 130 130 256 3 128 -1 1 300 0 1 0 253 86 245 17
+40 152 0;
+#X floatatom 655 136 5 0 0 0 - - -;
+#X floatatom 731 136 5 0 0 0 - - -;
+#X floatatom 530 136 5 0 0 0 - - -;
+#X msg 530 162 delay \$1;
+#X obj 655 162 osc~ 1.35;
+#X connect 1 0 15 0;
+#X connect 2 0 16 0;
+#X connect 3 0 0 0;
+#X connect 4 0 0 0;
+#X connect 5 0 4 0;
+#X connect 6 0 13 0;
+#X connect 7 0 13 1;
+#X connect 8 0 13 2;
+#X connect 9 0 0 0;
+#X connect 10 0 14 0;
+#X connect 11 0 14 1;
+#X connect 12 0 14 2;
+#X connect 13 0 0 0;
+#X connect 14 0 0 0;
+#X connect 15 0 3 0;
+#X connect 16 0 3 1;
+#X connect 17 0 19 0;
+#X connect 18 0 19 1;
+#X connect 19 0 0 0;
+#X connect 20 0 21 0;
+#X connect 21 0 0 0;
+#X connect 22 0 23 0;
+#X connect 23 0 24 0;
+#X connect 25 0 15 1;
+#X connect 26 0 27 0;
+#X connect 27 0 24 1;
+#X connect 28 0 27 1;
+#X connect 29 0 30 0;
+#X connect 30 0 32 0;
+#X connect 31 0 30 1;
+#X connect 32 0 33 0;
+#X connect 34 0 38 0;
+#X connect 35 0 38 1;
+#X connect 36 0 37 0;
+#X connect 37 0 33 0;
+#X connect 38 0 33 0;
+#X coords 0 0 1 1 200 140 1;
diff --git a/test/cyclone/scope-test1.pd b/test/cyclone/scope-test1.pd
new file mode 100644
index 0000000..60af46d
--- /dev/null
+++ b/test/cyclone/scope-test1.pd
@@ -0,0 +1,28 @@
+#N canvas 236 201 450 300 12;
+#X obj 17 27 osc~ 440;
+#X obj 15 250 dac~;
+#X obj 16 190 *~ 0.1;
+#X obj 177 135 Scope~ 252 152 10 3 100 -1 1 0 0 0 0 102 255 51 135
+135 135 0;
+#X floatatom 177 96 5 0 0 0 - - -;
+#X msg 270 96 bufsize \$1;
+#X floatatom 270 60 5 0 0 0 - - -;
+#X msg 177 21 10;
+#X msg 270 21 100;
+#X obj 38 96 triangle~;
+#X obj 17 141 *~;
+#X floatatom 107 27 5 0 0 0 - - -;
+#X obj 38 60 phasor~ 4;
+#X connect 0 0 10 0;
+#X connect 2 0 1 0;
+#X connect 2 0 1 1;
+#X connect 4 0 3 0;
+#X connect 5 0 3 0;
+#X connect 6 0 5 0;
+#X connect 7 0 4 0;
+#X connect 8 0 6 0;
+#X connect 9 0 10 1;
+#X connect 10 0 2 0;
+#X connect 10 0 3 0;
+#X connect 11 0 12 0;
+#X connect 12 0 9 0;
diff --git a/test/cyclone/scope-test2.pd b/test/cyclone/scope-test2.pd
new file mode 100644
index 0000000..47ad604
--- /dev/null
+++ b/test/cyclone/scope-test2.pd
@@ -0,0 +1,31 @@
+#N canvas 495 177 450 300 12;
+#X obj 15 250 dac~;
+#X obj 16 190 *~ 0.1;
+#X obj 177 135 Scope~ 252 152 30 3 250 -1 1 0 0 0 0 102 255 51 135
+135 135 0;
+#X floatatom 177 96 5 0 0 0 - - -;
+#X msg 270 96 bufsize \$1;
+#X floatatom 270 60 5 0 0 0 - - -;
+#X obj 38 96 triangle~;
+#X obj 17 141 *~;
+#X floatatom 107 27 5 0 0 0 - - -;
+#X obj 17 27 osc~ 110;
+#X obj 38 60 phasor~ 111;
+#X msg 177 21 30;
+#X msg 270 21 250;
+#X msg 195 60 4;
+#X connect 1 0 0 0;
+#X connect 1 0 0 1;
+#X connect 3 0 2 0;
+#X connect 4 0 2 0;
+#X connect 5 0 4 0;
+#X connect 6 0 7 1;
+#X connect 6 0 2 1;
+#X connect 7 0 1 0;
+#X connect 7 0 2 0;
+#X connect 8 0 10 0;
+#X connect 9 0 7 0;
+#X connect 10 0 6 0;
+#X connect 11 0 3 0;
+#X connect 12 0 5 0;
+#X connect 13 0 3 0;
diff --git a/test/cyclone/seq-test.pd b/test/cyclone/seq-test.pd
new file mode 100644
index 0000000..baa645d
--- /dev/null
+++ b/test/cyclone/seq-test.pd
@@ -0,0 +1,58 @@
+#N canvas 349 176 601 359 12;
+#X obj 125 191 seq;
+#X msg 61 249 print;
+#X floatatom 63 83 5 0 0 0 - - -;
+#X msg 160 74 record;
+#X msg 144 48 stop;
+#X msg 217 180 read nosuchfile;
+#X obj 125 249 print;
+#X obj 125 24 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X msg 217 206 write;
+#X msg 379 215 write;
+#X msg 168 102 144;
+#X msg 217 102 240;
+#X obj 61 147 midiin;
+#X obj 379 249 seq test.seq;
+#X obj 242 319 midiout;
+#X msg 217 128 read test.seq;
+#X msg 445 215 start \$1;
+#X msg 445 147 512;
+#X floatatom 445 183 5 0 0 0 - - -;
+#X msg 379 147 stop;
+#X msg 217 232 write test.seq;
+#X obj 242 293 midiflush;
+#X msg 189 293 bang;
+#X msg 264 102 read kanon.mid;
+#X msg 231 74 append;
+#X msg 217 258 write test.mid;
+#X msg 217 154 read test.mid;
+#X connect 0 0 6 0;
+#X connect 0 0 21 0;
+#X connect 0 1 6 0;
+#X connect 1 0 0 0;
+#X connect 2 0 0 0;
+#X connect 3 0 0 0;
+#X connect 4 0 0 0;
+#X connect 4 0 22 0;
+#X connect 5 0 0 0;
+#X connect 7 0 0 0;
+#X connect 8 0 0 0;
+#X connect 9 0 13 0;
+#X connect 10 0 0 0;
+#X connect 11 0 0 0;
+#X connect 12 0 0 0;
+#X connect 12 0 14 0;
+#X connect 13 0 21 0;
+#X connect 15 0 0 0;
+#X connect 16 0 13 0;
+#X connect 17 0 18 0;
+#X connect 18 0 16 0;
+#X connect 19 0 13 0;
+#X connect 20 0 0 0;
+#X connect 21 0 14 0;
+#X connect 22 0 21 0;
+#X connect 23 0 0 0;
+#X connect 24 0 0 0;
+#X connect 25 0 0 0;
+#X connect 26 0 0 0;
diff --git a/test/cyclone/sigbits-test.pd b/test/cyclone/sigbits-test.pd
new file mode 100644
index 0000000..9fcb65d
--- /dev/null
+++ b/test/cyclone/sigbits-test.pd
@@ -0,0 +1,157 @@
+#N canvas 138 178 832 338 12;
+#X floatatom 208 168 5 0 0 0 - - -;
+#X floatatom 266 155 5 0 0 0 - - -;
+#X obj 208 250 Snapshot~ 50;
+#X floatatom 208 290 0 0 0 0 - - -;
+#X msg 332 168 mode \$1;
+#X floatatom 332 134 5 0 0 0 - - -;
+#X obj 62 207 bitand~;
+#X floatatom 62 168 5 0 0 0 - - -;
+#X obj 62 250 Snapshot~ 50;
+#X floatatom 62 290 0 0 0 0 - - -;
+#X msg 126 168 mode \$1;
+#X floatatom 126 134 5 0 0 0 - - -;
+#X obj 62 104 prepend bits;
+#X obj 62 29 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 83 29 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 103 29 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 123 29 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 143 29 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 163 29 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 183 29 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 203 29 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 223 29 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 243 29 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 263 29 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 283 29 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 303 29 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 323 29 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 343 29 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 363 29 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 385 29 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 405 29 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 425 29 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 445 29 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 465 29 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 485 29 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 505 29 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 525 29 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 545 29 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 565 29 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 585 29 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 605 29 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 625 29 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 645 29 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 665 29 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 685 29 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 62 57 pack 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0;
+#X obj 26 57 int;
+#X obj 26 29 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X floatatom 419 168 5 0 0 0 - - -;
+#X obj 419 250 Snapshot~ 50;
+#X floatatom 419 290 0 0 0 0 - - -;
+#X msg 489 168 mode \$1;
+#X floatatom 489 134 5 0 0 0 - - -;
+#X obj 419 214 bitnot~;
+#X obj 208 214 bitxor~;
+#X floatatom 577 168 5 0 0 0 - - -;
+#X obj 577 250 Snapshot~ 50;
+#X floatatom 577 290 0 0 0 0 - - -;
+#X msg 647 168 mode \$1;
+#X floatatom 647 134 5 0 0 0 - - -;
+#X msg 683 214 shift \$1;
+#X obj 577 214 bitshift~;
+#X floatatom 731 168 5 0 0 0 - - -;
+#X connect 0 0 54 0;
+#X connect 1 0 54 1;
+#X connect 2 0 3 0;
+#X connect 4 0 54 0;
+#X connect 5 0 4 0;
+#X connect 6 0 8 0;
+#X connect 7 0 6 0;
+#X connect 8 0 9 0;
+#X connect 10 0 6 0;
+#X connect 11 0 10 0;
+#X connect 12 0 6 0;
+#X connect 13 0 46 1;
+#X connect 14 0 45 1;
+#X connect 15 0 45 2;
+#X connect 16 0 45 3;
+#X connect 17 0 45 4;
+#X connect 18 0 45 5;
+#X connect 19 0 45 6;
+#X connect 20 0 45 7;
+#X connect 21 0 45 8;
+#X connect 22 0 45 9;
+#X connect 23 0 45 10;
+#X connect 24 0 45 11;
+#X connect 25 0 45 12;
+#X connect 26 0 45 13;
+#X connect 27 0 45 14;
+#X connect 28 0 45 15;
+#X connect 29 0 45 16;
+#X connect 30 0 45 17;
+#X connect 31 0 45 18;
+#X connect 32 0 45 19;
+#X connect 33 0 45 20;
+#X connect 34 0 45 21;
+#X connect 35 0 45 22;
+#X connect 36 0 45 23;
+#X connect 37 0 45 24;
+#X connect 38 0 45 25;
+#X connect 39 0 45 26;
+#X connect 40 0 45 27;
+#X connect 41 0 45 28;
+#X connect 42 0 45 29;
+#X connect 43 0 45 30;
+#X connect 44 0 45 31;
+#X connect 45 0 12 0;
+#X connect 46 0 45 0;
+#X connect 47 0 46 0;
+#X connect 48 0 53 0;
+#X connect 49 0 50 0;
+#X connect 51 0 53 0;
+#X connect 52 0 51 0;
+#X connect 53 0 49 0;
+#X connect 54 0 2 0;
+#X connect 55 0 61 0;
+#X connect 56 0 57 0;
+#X connect 58 0 61 0;
+#X connect 59 0 58 0;
+#X connect 60 0 61 0;
+#X connect 61 0 56 0;
+#X connect 62 0 60 0;
diff --git a/test/cyclone/sigcapture-test.pd b/test/cyclone/sigcapture-test.pd
new file mode 100644
index 0000000..2225e61
--- /dev/null
+++ b/test/cyclone/sigcapture-test.pd
@@ -0,0 +1,25 @@
+#N canvas 249 232 527 300 12;
+#X obj 200 34 phasor~ 1;
+#X floatatom 45 34 5 0 0 0 - - -;
+#X msg 306 34 clear;
+#X msg 306 69 write;
+#X obj 199 107 capture~ 1000 7;
+#X obj 47 215 *~ 100;
+#X obj 47 256 capture~ 1000 0;
+#X obj 47 174 osc~ 100;
+#X msg 76 69 clear;
+#X obj 45 107 capture~ f;
+#X obj 225 215 count~;
+#X obj 225 174 bang~;
+#X obj 225 256 capture~ 100 0 3 5 7 11 999 13;
+#X obj 328 234 capture~ 1000;
+#X connect 0 0 4 0;
+#X connect 1 0 9 0;
+#X connect 2 0 4 0;
+#X connect 3 0 4 0;
+#X connect 5 0 6 0;
+#X connect 7 0 5 0;
+#X connect 8 0 9 0;
+#X connect 10 0 12 0;
+#X connect 10 0 13 0;
+#X connect 11 0 10 0;
diff --git a/test/cyclone/sigcycle-test.pd b/test/cyclone/sigcycle-test.pd
new file mode 100644
index 0000000..9903487
--- /dev/null
+++ b/test/cyclone/sigcycle-test.pd
@@ -0,0 +1,156 @@
+#N canvas 442 270 466 287 12;
+#N canvas 179 250 728 409 test1 0;
+#X obj 27 146 cycle~;
+#X obj 28 225 Scope~ 301 138 126 3 128 -1 1 0 0 0 0 102 255 51 135
+135 135 0;
+#X obj 368 225 Scope~ 301 138 126 3 128 -1 1 0 0 0 0 102 255 51 135
+135 135 0;
+#X floatatom 239 58 5 0 0 0 - - -;
+#X floatatom 150 146 5 0 0 0 - - -;
+#X msg 233 146 trigger \$1;
+#X obj 233 118 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 76 102 phasor~ 3;
+#X obj 367 146 cycle~ 3;
+#N canvas 0 0 450 300 graph1 0;
+#X array t1 1000 float 0;
+#X coords 0 1 999 -1 200 140 1;
+#X restore 481 34 graph;
+#X msg 137 58 set;
+#X msg 27 58 set t1 \$1;
+#X floatatom 27 23 5 0 0 0 - - -;
+#X connect 0 0 1 0;
+#X connect 3 0 7 0;
+#X connect 3 0 8 0;
+#X connect 4 0 1 0;
+#X connect 4 0 2 0;
+#X connect 5 0 1 0;
+#X connect 5 0 2 0;
+#X connect 6 0 5 0;
+#X connect 7 0 0 1;
+#X connect 8 0 2 0;
+#X connect 10 0 0 0;
+#X connect 10 0 8 0;
+#X connect 11 0 0 0;
+#X connect 11 0 8 0;
+#X connect 12 0 11 0;
+#X restore 42 39 pd test1;
+#N canvas 125 182 742 644 test2 0;
+#X obj 29 255 Scope~ 301 138 72 3 128 -1 1 0 0 0 0 102 255 51 135 135
+135 0;
+#X obj 382 255 Scope~ 301 138 72 3 128 -1 1 0 0 0 0 102 255 51 135
+135 135 0;
+#X floatatom 29 19 5 0 0 0 - - -;
+#X floatatom 152 211 5 0 0 0 - - -;
+#X msg 235 211 trigger \$1;
+#X obj 235 181 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 382 211 cycle~ 3;
+#X obj 29 211 cycle~ 3;
+#X obj 96 143 cycle~ 3;
+#X obj 384 105 cycle~ 3;
+#X obj 383 177 +~ 3;
+#X obj 384 143 *~ 1;
+#X obj 95 177 *~ 1;
+#X floatatom 96 19 5 0 0 0 - - -;
+#X floatatom 168 19 5 0 0 0 - - -;
+#X obj 508 112 *;
+#X obj 508 63 bondo;
+#X obj 548 90 * 6.28;
+#X obj 188 435 Scope~ 301 138 72 3 128 -1 1 0 0 0 0 102 255 51 135
+135 135 0;
+#X obj 30 513 phasor~ 3;
+#X obj 107 435 osc~ 3;
+#X obj 107 474 *~ 1;
+#X obj 30 575 cos~;
+#X obj 30 544 +~;
+#X connect 2 0 10 1;
+#X connect 2 0 7 0;
+#X connect 2 0 19 0;
+#X connect 3 0 0 0;
+#X connect 3 0 1 0;
+#X connect 3 0 18 0;
+#X connect 4 0 0 0;
+#X connect 4 0 1 0;
+#X connect 4 0 18 0;
+#X connect 5 0 4 0;
+#X connect 6 0 1 0;
+#X connect 7 0 0 0;
+#X connect 8 0 12 0;
+#X connect 9 0 11 0;
+#X connect 10 0 6 0;
+#X connect 11 0 10 0;
+#X connect 12 0 7 1;
+#X connect 13 0 9 0;
+#X connect 13 0 8 0;
+#X connect 13 0 16 0;
+#X connect 13 0 20 0;
+#X connect 14 0 12 1;
+#X connect 14 0 16 1;
+#X connect 14 0 21 1;
+#X connect 15 0 11 1;
+#X connect 16 0 15 0;
+#X connect 16 1 17 0;
+#X connect 17 0 15 1;
+#X connect 19 0 23 0;
+#X connect 20 0 21 0;
+#X connect 21 0 23 1;
+#X connect 22 0 18 0;
+#X connect 23 0 22 0;
+#X restore 164 39 pd test2;
+#N canvas 180 253 749 421 test3 0;
+#X obj 29 255 Scope~ 301 138 118 3 128 -1 1 0 0 0 0 102 255 51 135
+135 135 0;
+#X obj 382 255 Scope~ 301 138 118 3 128 -1 1 0 0 0 0 102 255 51 135
+135 135 0;
+#X floatatom 29 19 5 0 0 0 - - -;
+#X floatatom 152 211 5 0 0 0 - - -;
+#X msg 235 211 trigger \$1;
+#X obj 235 181 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 382 211 cycle~ 3;
+#X obj 29 211 cycle~ 3;
+#X obj 383 177 +~ 3;
+#X obj 444 140 *~ 1;
+#X obj 95 177 *~ 1;
+#X floatatom 126 20 5 0 0 0 - - -;
+#X obj 508 112 *;
+#X obj 508 63 bondo;
+#X obj 548 90 * 6.28;
+#X obj 47 138 delwrite~ d1;
+#X obj 174 138 delread~ d1;
+#X obj 258 90 delwrite~ d2;
+#X obj 385 90 delread~ d2;
+#X connect 2 0 8 1;
+#X connect 2 0 7 0;
+#X connect 2 0 13 0;
+#X connect 3 0 0 0;
+#X connect 3 0 1 0;
+#X connect 4 0 0 0;
+#X connect 4 0 1 0;
+#X connect 5 0 4 0;
+#X connect 6 0 1 0;
+#X connect 6 0 17 0;
+#X connect 7 0 0 0;
+#X connect 7 0 15 0;
+#X connect 8 0 6 0;
+#X connect 9 0 8 0;
+#X connect 10 0 7 1;
+#X connect 11 0 10 1;
+#X connect 11 0 13 1;
+#X connect 12 0 9 1;
+#X connect 13 0 12 0;
+#X connect 13 1 14 0;
+#X connect 14 0 12 1;
+#X connect 16 0 10 0;
+#X connect 18 0 9 0;
+#X restore 293 39 pd test3;
+#X floatatom 120 99 5 0 0 0 - - -;
+#X floatatom 44 216 0 0 0 0 - - -;
+#X msg 44 99 set;
+#X obj 44 137 cycle~ t2;
+#X obj 44 177 Snapshot~ 20;
+#X connect 3 0 6 1;
+#X connect 5 0 6 0;
+#X connect 6 0 7 0;
+#X connect 7 0 4 0;
diff --git a/test/cyclone/sigmeters-test.pd b/test/cyclone/sigmeters-test.pd
new file mode 100644
index 0000000..edf97e8
--- /dev/null
+++ b/test/cyclone/sigmeters-test.pd
@@ -0,0 +1,45 @@
+#N canvas 296 215 621 370 12;
+#X obj 146 187 minmax~;
+#X floatatom 146 29 5 0 0 0 - - -;
+#X obj 117 29 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X msg 57 29 reset;
+#X obj 204 221 print;
+#X obj 174 71 abs~;
+#X obj 365 92 avg~;
+#X floatatom 365 124 5 0 0 0 - - -;
+#X obj 365 29 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 287 60 osc~ 1;
+#X obj 365 60 metro 250;
+#X obj 164 255 Snapshot~ 150;
+#X floatatom 164 287 5 0 0 0 - - -;
+#X obj 29 255 Snapshot~ 150;
+#X floatatom 29 287 5 0 0 0 - - -;
+#X obj 174 106 Snapshot~ 150;
+#X floatatom 174 138 5 0 0 0 - - -;
+#X floatatom 287 29 5 0 0 0 - - -;
+#X obj 367 187 osc~ 100;
+#X floatatom 367 257 5 0 0 0 - - -;
+#X obj 367 221 average~ 10000 rms;
+#X msg 459 187 absolute;
+#X connect 0 0 13 0;
+#X connect 0 1 11 0;
+#X connect 0 2 4 0;
+#X connect 0 3 4 0;
+#X connect 1 0 0 0;
+#X connect 1 0 5 0;
+#X connect 2 0 0 0;
+#X connect 3 0 0 0;
+#X connect 5 0 15 0;
+#X connect 6 0 7 0;
+#X connect 8 0 10 0;
+#X connect 9 0 6 0;
+#X connect 10 0 6 0;
+#X connect 11 0 12 0;
+#X connect 13 0 14 0;
+#X connect 15 0 16 0;
+#X connect 17 0 9 0;
+#X connect 18 0 20 0;
+#X connect 20 0 19 0;
+#X connect 21 0 20 0;
diff --git a/test/cyclone/sigops-test.pd b/test/cyclone/sigops-test.pd
new file mode 100644
index 0000000..d2eb9a1
--- /dev/null
+++ b/test/cyclone/sigops-test.pd
@@ -0,0 +1,64 @@
+#N canvas 281 205 642 407 12;
+#X obj 25 108 %~;
+#X floatatom 25 181 10 0 0 0 - - -;
+#X floatatom 25 40 5 0 0 0 - - -;
+#X floatatom 96 71 5 0 0 0 - - -;
+#X obj 25 71 * 0.01;
+#X floatatom 277 40 5 0 0 0 - - -;
+#X obj 277 71 +=~;
+#X floatatom 277 144 10 0 0 0 - - -;
+#X msg 337 40 set 999;
+#X msg 222 40 bang;
+#X floatatom 442 144 10 0 0 0 - - -;
+#X floatatom 442 40 5 0 0 0 - - -;
+#X floatatom 513 40 5 0 0 0 - - -;
+#X obj 442 71 !/~;
+#X obj 277 108 Snapshot~ 50;
+#X obj 442 108 Snapshot~ 50;
+#X obj 25 144 Snapshot~ 50;
+#X floatatom 26 340 10 0 0 0 - - -;
+#X floatatom 26 236 10 0 0 0 - - -;
+#X floatatom 152 236 5 0 0 0 - - -;
+#X obj 26 304 Snapshot~ 50;
+#X obj 26 267 log~;
+#X obj 183 108 >~ 10000;
+#X obj 183 144 edge~;
+#X floatatom 234 342 10 0 0 0 - - -;
+#X floatatom 234 238 10 0 0 0 - - -;
+#X floatatom 360 238 5 0 0 0 - - -;
+#X obj 234 306 Snapshot~ 50;
+#X obj 234 269 pow~;
+#X floatatom 439 341 10 0 0 0 - - -;
+#X floatatom 439 237 10 0 0 0 - - -;
+#X floatatom 565 237 5 0 0 0 - - -;
+#X obj 439 305 Snapshot~ 50;
+#X obj 439 268 atan2~;
+#X connect 0 0 16 0;
+#X connect 2 0 4 0;
+#X connect 3 0 0 1;
+#X connect 4 0 0 0;
+#X connect 5 0 6 0;
+#X connect 6 0 14 0;
+#X connect 6 0 22 0;
+#X connect 8 0 6 0;
+#X connect 9 0 6 0;
+#X connect 11 0 13 0;
+#X connect 12 0 13 1;
+#X connect 13 0 15 0;
+#X connect 14 0 7 0;
+#X connect 15 0 10 0;
+#X connect 16 0 1 0;
+#X connect 18 0 21 0;
+#X connect 19 0 21 1;
+#X connect 20 0 17 0;
+#X connect 21 0 20 0;
+#X connect 22 0 23 0;
+#X connect 23 0 6 0;
+#X connect 25 0 28 0;
+#X connect 26 0 28 1;
+#X connect 27 0 24 0;
+#X connect 28 0 27 0;
+#X connect 30 0 33 0;
+#X connect 31 0 33 1;
+#X connect 32 0 29 0;
+#X connect 33 0 32 0;
diff --git a/test/cyclone/sigsmoothers-test.pd b/test/cyclone/sigsmoothers-test.pd
new file mode 100644
index 0000000..803d950
--- /dev/null
+++ b/test/cyclone/sigsmoothers-test.pd
@@ -0,0 +1,34 @@
+#N canvas 304 91 587 409 12;
+#X obj 51 371 cyclone;
+#X obj 51 340 sprintf import ../../../ref/c74help/text/%s.help;
+#X msg 62 281 slide~;
+#X msg 51 253 deltaclip~;
+#X msg 72 309 rampsmooth~;
+#X msg 114 48 1;
+#X msg 65 48 0;
+#X floatatom 65 79 0 0 0 0 - - -;
+#X msg 165 85 ramp \$1;
+#X floatatom 165 48 0 0 0 0 - - -;
+#X obj 27 149 capture~ f;
+#X msg 95 17 clear;
+#X msg 27 17 clear;
+#X obj 65 117 rampsmooth~;
+#X obj 244 148 Scope~ 130 130 256 3 128 0 1 0 0 0 0 102 255 51 135
+135 135 0;
+#X msg 244 117 range 0 1;
+#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 5 0 7 0;
+#X connect 6 0 7 0;
+#X connect 7 0 13 0;
+#X connect 8 0 13 0;
+#X connect 9 0 8 0;
+#X connect 11 0 10 0;
+#X connect 11 0 5 0;
+#X connect 12 0 6 0;
+#X connect 12 0 10 0;
+#X connect 13 0 10 0;
+#X connect 13 0 14 0;
+#X connect 15 0 14 0;
diff --git a/test/cyclone/sigtrig-test.pd b/test/cyclone/sigtrig-test.pd
new file mode 100644
index 0000000..01d88e5
--- /dev/null
+++ b/test/cyclone/sigtrig-test.pd
@@ -0,0 +1,80 @@
+#N canvas 210 153 573 323 12;
+#N canvas 0 0 749 559 coords 0;
+#X obj 199 114 cartopol~;
+#X floatatom 199 21 5 0 0 0 - - -;
+#X floatatom 275 58 5 0 0 0 - - -;
+#X floatatom 199 287 0 0 0 0 - - -;
+#X floatatom 275 205 0 0 0 0 - - -;
+#X obj 199 257 snapshot~;
+#X obj 275 175 snapshot~;
+#X obj 66 114 metro 50;
+#X obj 66 84 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X floatatom 66 458 0 0 0 0 - - -;
+#X floatatom 142 376 0 0 0 0 - - -;
+#X obj 66 428 snapshot~;
+#X obj 66 286 poltocar~;
+#X obj 142 346 snapshot~;
+#X floatatom 571 21 5 0 0 0 - - -;
+#X floatatom 647 58 5 0 0 0 - - -;
+#X floatatom 571 287 0 0 0 0 - - -;
+#X floatatom 647 205 0 0 0 0 - - -;
+#X obj 571 257 snapshot~;
+#X obj 647 175 snapshot~;
+#X obj 438 114 metro 50;
+#X obj 438 84 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X floatatom 438 458 0 0 0 0 - - -;
+#X floatatom 514 376 0 0 0 0 - - -;
+#X obj 438 428 snapshot~;
+#X obj 514 346 snapshot~;
+#X obj 571 114 poltocar~;
+#X obj 438 286 cartopol~;
+#X obj 346 21 loadbang;
+#X connect 0 0 5 0;
+#X connect 0 0 12 0;
+#X connect 0 1 6 0;
+#X connect 0 1 12 1;
+#X connect 1 0 0 0;
+#X connect 2 0 0 1;
+#X connect 5 0 3 0;
+#X connect 6 0 4 0;
+#X connect 7 0 6 0;
+#X connect 7 0 5 0;
+#X connect 7 0 13 0;
+#X connect 7 0 11 0;
+#X connect 8 0 7 0;
+#X connect 11 0 9 0;
+#X connect 12 0 11 0;
+#X connect 12 1 13 0;
+#X connect 13 0 10 0;
+#X connect 14 0 26 0;
+#X connect 15 0 26 1;
+#X connect 18 0 16 0;
+#X connect 19 0 17 0;
+#X connect 20 0 19 0;
+#X connect 20 0 18 0;
+#X connect 20 0 25 0;
+#X connect 20 0 24 0;
+#X connect 21 0 20 0;
+#X connect 24 0 22 0;
+#X connect 25 0 23 0;
+#X connect 26 0 18 0;
+#X connect 26 0 27 0;
+#X connect 26 1 19 0;
+#X connect 26 1 27 1;
+#X connect 27 0 24 0;
+#X connect 27 1 25 0;
+#X connect 28 0 8 0;
+#X connect 28 0 21 0;
+#X restore 42 41 pd coords;
+#N canvas 135 57 659 466 -lm 0;
+#X obj 31 70 acos~;
+#X obj 30 120 Scope~ 229 132 256 3 128 0 3.15 0 0 0 0 102 255 51 135
+135 135 0;
+#X msg 122 70 range 0 3.15;
+#X obj 31 25 cycle~ 1;
+#X connect 0 0 1 0;
+#X connect 2 0 1 0;
+#X connect 3 0 0 0;
+#X restore 177 41 pd -lm;
diff --git a/test/cyclone/sigwrappers-speed.pd b/test/cyclone/sigwrappers-speed.pd
new file mode 100644
index 0000000..f680971
--- /dev/null
+++ b/test/cyclone/sigwrappers-speed.pd
@@ -0,0 +1,101 @@
+#N canvas 220 91 570 539 12;
+#X obj 65 200 phasewrap~;
+#X msg 20 19 0;
+#X msg 71 19 1;
+#X msg 122 19 2;
+#X floatatom 71 53 5 0 0 0 - - -;
+#X obj 168 200 phasewrap~;
+#X obj 272 200 phasewrap~;
+#X obj 376 200 phasewrap~;
+#X obj 71 229 phasewrap~;
+#X obj 174 229 phasewrap~;
+#X obj 278 229 phasewrap~;
+#X obj 382 229 phasewrap~;
+#X obj 71 261 phasewrap~;
+#X obj 174 261 phasewrap~;
+#X obj 278 261 phasewrap~;
+#X obj 382 261 phasewrap~;
+#X obj 77 291 phasewrap~;
+#X obj 180 291 phasewrap~;
+#X obj 284 291 phasewrap~;
+#X obj 388 291 phasewrap~;
+#X obj 83 323 phasewrap~;
+#X obj 186 323 phasewrap~;
+#X obj 290 323 phasewrap~;
+#X obj 394 323 phasewrap~;
+#X obj 59 354 phasewrap~;
+#X obj 162 354 phasewrap~;
+#X obj 266 354 phasewrap~;
+#X obj 370 354 phasewrap~;
+#X obj 65 383 phasewrap~;
+#X obj 168 383 phasewrap~;
+#X obj 272 383 phasewrap~;
+#X obj 376 383 phasewrap~;
+#X obj 65 415 phasewrap~;
+#X obj 168 415 phasewrap~;
+#X obj 272 415 phasewrap~;
+#X obj 376 415 phasewrap~;
+#X obj 71 445 phasewrap~;
+#X obj 174 445 phasewrap~;
+#X obj 278 445 phasewrap~;
+#X obj 382 445 phasewrap~;
+#X obj 77 477 phasewrap~;
+#X obj 180 477 phasewrap~;
+#X obj 284 477 phasewrap~;
+#X obj 388 477 phasewrap~;
+#X msg 197 124 \$2 \, _algo \$1 \; pd dsp 0 \; pd dsp 1;
+#X obj 197 92 pack;
+#X floatatom 237 19 5 0 0 0 - - -;
+#X obj 164 19 inlet;
+#X obj 305 19 inlet;
+#X obj 197 58 bondo;
+#X connect 1 0 4 0;
+#X connect 2 0 4 0;
+#X connect 3 0 4 0;
+#X connect 4 0 49 0;
+#X connect 44 0 0 0;
+#X connect 44 0 5 0;
+#X connect 44 0 6 0;
+#X connect 44 0 7 0;
+#X connect 44 0 8 0;
+#X connect 44 0 9 0;
+#X connect 44 0 10 0;
+#X connect 44 0 11 0;
+#X connect 44 0 12 0;
+#X connect 44 0 14 0;
+#X connect 44 0 13 0;
+#X connect 44 0 15 0;
+#X connect 44 0 16 0;
+#X connect 44 0 17 0;
+#X connect 44 0 18 0;
+#X connect 44 0 19 0;
+#X connect 44 0 20 0;
+#X connect 44 0 21 0;
+#X connect 44 0 22 0;
+#X connect 44 0 23 0;
+#X connect 44 0 24 0;
+#X connect 44 0 25 0;
+#X connect 44 0 26 0;
+#X connect 44 0 27 0;
+#X connect 44 0 28 0;
+#X connect 44 0 29 0;
+#X connect 44 0 30 0;
+#X connect 44 0 31 0;
+#X connect 44 0 32 0;
+#X connect 44 0 33 0;
+#X connect 44 0 34 0;
+#X connect 44 0 35 0;
+#X connect 44 0 36 0;
+#X connect 44 0 37 0;
+#X connect 44 0 38 0;
+#X connect 44 0 39 0;
+#X connect 44 0 40 0;
+#X connect 44 0 41 0;
+#X connect 44 0 42 0;
+#X connect 44 0 43 0;
+#X connect 45 0 44 0;
+#X connect 46 0 49 1;
+#X connect 47 0 4 0;
+#X connect 48 0 46 0;
+#X connect 49 0 45 0;
+#X connect 49 1 45 1;
diff --git a/test/cyclone/sigwrappers-speed20.pd b/test/cyclone/sigwrappers-speed20.pd
new file mode 100644
index 0000000..98143ec
--- /dev/null
+++ b/test/cyclone/sigwrappers-speed20.pd
@@ -0,0 +1,63 @@
+#N canvas 441 249 467 396 12;
+#X obj 46 77 sigwrappers-speed;
+#X floatatom 123 29 5 0 0 0 - - -;
+#X floatatom 293 29 5 0 0 0 - - -;
+#X obj 46 107 sigwrappers-speed;
+#X obj 46 137 sigwrappers-speed;
+#X obj 46 167 sigwrappers-speed;
+#X obj 46 197 sigwrappers-speed;
+#X obj 46 227 sigwrappers-speed;
+#X obj 46 257 sigwrappers-speed;
+#X obj 228 77 sigwrappers-speed;
+#X obj 228 107 sigwrappers-speed;
+#X obj 228 137 sigwrappers-speed;
+#X obj 228 167 sigwrappers-speed;
+#X obj 228 197 sigwrappers-speed;
+#X obj 228 227 sigwrappers-speed;
+#X obj 228 257 sigwrappers-speed;
+#X obj 46 287 sigwrappers-speed;
+#X obj 46 317 sigwrappers-speed;
+#X obj 46 347 sigwrappers-speed;
+#X obj 228 287 sigwrappers-speed;
+#X obj 228 317 sigwrappers-speed;
+#X obj 228 347 sigwrappers-speed;
+#X connect 1 0 0 0;
+#X connect 1 0 3 0;
+#X connect 1 0 4 0;
+#X connect 1 0 5 0;
+#X connect 1 0 6 0;
+#X connect 1 0 7 0;
+#X connect 1 0 8 0;
+#X connect 1 0 9 0;
+#X connect 1 0 10 0;
+#X connect 1 0 11 0;
+#X connect 1 0 12 0;
+#X connect 1 0 13 0;
+#X connect 1 0 14 0;
+#X connect 1 0 15 0;
+#X connect 1 0 16 0;
+#X connect 1 0 17 0;
+#X connect 1 0 18 0;
+#X connect 1 0 19 0;
+#X connect 1 0 20 0;
+#X connect 1 0 21 0;
+#X connect 2 0 0 1;
+#X connect 2 0 3 1;
+#X connect 2 0 4 1;
+#X connect 2 0 5 1;
+#X connect 2 0 6 1;
+#X connect 2 0 7 1;
+#X connect 2 0 8 1;
+#X connect 2 0 16 1;
+#X connect 2 0 17 1;
+#X connect 2 0 18 1;
+#X connect 2 0 9 1;
+#X connect 2 0 10 1;
+#X connect 2 0 11 1;
+#X connect 2 0 12 1;
+#X connect 2 0 13 1;
+#X connect 2 0 14 1;
+#X connect 2 0 15 1;
+#X connect 2 0 19 1;
+#X connect 2 0 20 1;
+#X connect 2 0 21 1;
diff --git a/test/cyclone/sigwrappers-test.pd b/test/cyclone/sigwrappers-test.pd
new file mode 100644
index 0000000..c675fb4
--- /dev/null
+++ b/test/cyclone/sigwrappers-test.pd
@@ -0,0 +1,34 @@
+#N canvas 468 231 530 478 12;
+#X obj 38 200 phasewrap~;
+#X floatatom 234 68 0 0 0 0 - - -;
+#X obj 175 200 _phasewrap1~;
+#X obj 336 200 _phasewrap2~;
+#X obj 234 102 * 0.01;
+#X floatatom 38 273 0 0 0 0 - - -;
+#X floatatom 175 273 0 0 0 0 - - -;
+#X floatatom 336 273 0 0 0 0 - - -;
+#X floatatom 175 154 0 0 0 0 - - -;
+#X floatatom 49 68 5 0 0 0 - - -;
+#X obj 129 102 acos;
+#X obj 107 135 *;
+#X msg 129 68 -1;
+#X obj 129 33 loadbang;
+#X obj 38 237 Snapshot~ 20;
+#X obj 175 237 Snapshot~ 20;
+#X obj 336 237 Snapshot~ 20;
+#X connect 0 0 14 0;
+#X connect 1 0 4 0;
+#X connect 2 0 15 0;
+#X connect 3 0 16 0;
+#X connect 4 0 8 0;
+#X connect 8 0 0 0;
+#X connect 8 0 2 0;
+#X connect 8 0 3 0;
+#X connect 9 0 11 0;
+#X connect 10 0 11 1;
+#X connect 11 0 8 0;
+#X connect 12 0 10 0;
+#X connect 13 0 12 0;
+#X connect 14 0 5 0;
+#X connect 15 0 6 0;
+#X connect 16 0 7 0;
diff --git a/test/cyclone/spectrum-pm.pd b/test/cyclone/spectrum-pm.pd
new file mode 100644
index 0000000..db35ca8
--- /dev/null
+++ b/test/cyclone/spectrum-pm.pd
@@ -0,0 +1,34 @@
+#N canvas 189 215 712 594 12;
+#X obj 62 350 Scope~ 562 220 2 3 512 0 512 0 0 0 0 102 255 51 135 135
+135 0;
+#X obj 174 234 cartopol~;
+#X obj 174 190 rfft~;
+#X obj 23 25 block~ 1024;
+#X obj 62 276 vectral~ 1024;
+#X obj 62 142 count~ 0 1024 1 1;
+#X floatatom 284 100 5 0 0 0 - - -;
+#X floatatom 378 25 5 0 0 0 - - -;
+#X floatatom 111 190 5 0 0 0 - - -;
+#X obj 378 100 *~ 1;
+#X floatatom 440 100 5 0 0 0 - - -;
+#X obj 62 234 *~ 0.3;
+#X obj 284 142 cycle~ 3000;
+#X obj 378 62 cycle~ 1000;
+#X msg 210 276 slide 10 10;
+#X msg 130 310 range 0 512 \, 2 \, bufsize 512;
+#X connect 1 0 4 2;
+#X connect 2 0 1 0;
+#X connect 2 1 1 1;
+#X connect 4 0 0 0;
+#X connect 5 0 4 1;
+#X connect 5 0 11 0;
+#X connect 6 0 12 0;
+#X connect 7 0 13 0;
+#X connect 8 0 11 1;
+#X connect 9 0 12 1;
+#X connect 10 0 9 1;
+#X connect 11 0 4 0;
+#X connect 12 0 2 0;
+#X connect 13 0 9 0;
+#X connect 14 0 4 0;
+#X connect 15 0 0 0;
diff --git a/test/cyclone/speedlim-test.pd b/test/cyclone/speedlim-test.pd
new file mode 100644
index 0000000..04b6edf
--- /dev/null
+++ b/test/cyclone/speedlim-test.pd
@@ -0,0 +1,63 @@
+#N canvas 385 195 511 382 12;
+#X obj 191 306 speedlim;
+#X msg 191 31 bang;
+#X obj 191 331 print;
+#X msg 258 266 0;
+#X msg 301 266 10;
+#X msg 342 266 500;
+#X msg 263 66 1;
+#X msg 306 66 2;
+#X msg 349 66 3;
+#X msg 393 66 4;
+#X obj 279 92 pipe 490;
+#X obj 279 117 pipe 510;
+#X obj 279 142 pipe 990;
+#X obj 279 167 pipe 1600;
+#X obj 279 192 pipe 2010;
+#X obj 279 217 pipe 2020;
+#X msg 393 91 5;
+#X msg 393 116 6;
+#X msg 393 141 7;
+#X msg 263 31 bang;
+#X msg 384 266 3000;
+#X msg 106 235 one;
+#X msg 80 203 symbol two;
+#X msg 55 175 perhaps three;
+#X obj 30 143 testmess 300;
+#X msg 30 66 test;
+#X obj 30 104 t a b b b;
+#X connect 0 0 2 0;
+#X connect 1 0 0 0;
+#X connect 3 0 0 1;
+#X connect 4 0 0 1;
+#X connect 5 0 0 1;
+#X connect 6 0 0 0;
+#X connect 7 0 10 0;
+#X connect 8 0 11 0;
+#X connect 9 0 12 0;
+#X connect 10 0 0 0;
+#X connect 11 0 0 0;
+#X connect 12 0 0 0;
+#X connect 13 0 0 0;
+#X connect 14 0 0 0;
+#X connect 15 0 0 0;
+#X connect 16 0 13 0;
+#X connect 17 0 14 0;
+#X connect 18 0 15 0;
+#X connect 19 0 6 0;
+#X connect 19 0 7 0;
+#X connect 19 0 8 0;
+#X connect 19 0 9 0;
+#X connect 19 0 16 0;
+#X connect 19 0 17 0;
+#X connect 19 0 18 0;
+#X connect 20 0 0 1;
+#X connect 21 0 0 0;
+#X connect 22 0 0 0;
+#X connect 23 0 0 0;
+#X connect 24 0 0 0;
+#X connect 25 0 26 0;
+#X connect 26 0 24 0;
+#X connect 26 1 23 0;
+#X connect 26 2 22 0;
+#X connect 26 3 21 0;
diff --git a/test/cyclone/spell-test.pd b/test/cyclone/spell-test.pd
new file mode 100644
index 0000000..dd56e0c
--- /dev/null
+++ b/test/cyclone/spell-test.pd
@@ -0,0 +1,26 @@
+#N canvas 469 262 450 300 12;
+#X obj 130 233 spell 7 -0.5;
+#X msg 311 140 symbol test;
+#X obj 130 261 print;
+#X msg 311 168 another test;
+#X msg 40 191 bang;
+#X msg 130 106 99;
+#X msg 177 106 99.99;
+#X msg 79 106 -99;
+#X msg 243 106 1 2 3;
+#X msg 311 106 1 2.5 3;
+#X msg 311 78 1 test 3;
+#X obj 35 58 sprintf %c;
+#X msg 35 30 129;
+#X connect 0 0 2 0;
+#X connect 1 0 0 0;
+#X connect 3 0 0 0;
+#X connect 4 0 0 0;
+#X connect 5 0 0 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X connect 8 0 0 0;
+#X connect 9 0 0 0;
+#X connect 10 0 0 0;
+#X connect 11 0 0 0;
+#X connect 12 0 11 0;
diff --git a/test/cyclone/spike-test.pd b/test/cyclone/spike-test.pd
new file mode 100644
index 0000000..4fb168c
--- /dev/null
+++ b/test/cyclone/spike-test.pd
@@ -0,0 +1,23 @@
+#N canvas 442 260 450 300 12;
+#X obj 59 186 spike~;
+#X obj 59 225 print;
+#X obj 59 75 phasor~ 1;
+#X floatatom 59 38 5 0 0 0 - - -;
+#X floatatom 131 149 5 0 0 0 - - -;
+#X floatatom 133 225 10 0 0 0 - - -;
+#X obj 59 112 change~;
+#X obj 59 149 +~ 1;
+#X obj 239 186 spike~;
+#X floatatom 311 149 5 0 0 0 - - -;
+#X floatatom 313 225 10 0 0 0 - - -;
+#X obj 239 149 -~ 1;
+#X connect 0 0 5 0;
+#X connect 2 0 6 0;
+#X connect 3 0 2 0;
+#X connect 4 0 0 1;
+#X connect 6 0 7 0;
+#X connect 6 0 11 0;
+#X connect 7 0 0 0;
+#X connect 8 0 10 0;
+#X connect 9 0 8 1;
+#X connect 11 0 8 0;
diff --git a/test/cyclone/split-test.pd b/test/cyclone/split-test.pd
new file mode 100644
index 0000000..860faa8
--- /dev/null
+++ b/test/cyclone/split-test.pd
@@ -0,0 +1,48 @@
+#N canvas 300 45 610 348 12;
+#X obj 176 212 split;
+#X msg 99 95 1.5 1 2;
+#X floatatom 176 252 5 0 0;
+#X floatatom 279 252 5 0 0;
+#X obj 176 295 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 279 295 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X floatatom 176 36 5 0 0;
+#X floatatom 196 68 5 0 0;
+#X floatatom 216 101 5 0 0;
+#X msg 313 89 test;
+#X msg 313 121 list test;
+#X msg 313 57 1.5 test;
+#X msg 36 68 1.5 1.5 2;
+#X msg 36 142 2.5 1.5 2.4;
+#X floatatom 433 222 5 0 0;
+#X floatatom 536 222 5 0 0;
+#X obj 433 265 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 536 265 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X floatatom 433 142 5 0 0;
+#X obj 433 101 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X msg 313 153 3.5;
+#X obj 433 182 split 3.5;
+#X connect 0 0 2 0;
+#X connect 0 1 3 0;
+#X connect 1 0 0 0;
+#X connect 2 0 4 0;
+#X connect 3 0 5 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 1;
+#X connect 8 0 0 2;
+#X connect 9 0 0 0;
+#X connect 10 0 0 0;
+#X connect 11 0 0 0;
+#X connect 12 0 0 0;
+#X connect 13 0 0 0;
+#X connect 14 0 16 0;
+#X connect 15 0 17 0;
+#X connect 18 0 21 0;
+#X connect 19 0 18 0;
+#X connect 20 0 0 1;
+#X connect 21 0 14 0;
+#X connect 21 1 15 0;
diff --git a/test/cyclone/spray-test.pd b/test/cyclone/spray-test.pd
new file mode 100644
index 0000000..5c2cbd1
--- /dev/null
+++ b/test/cyclone/spray-test.pd
@@ -0,0 +1,82 @@
+#N canvas 210 202 708 466 12;
+#X obj 75 243 spray;
+#X obj 75 324 print a;
+#X obj 115 284 print b;
+#X obj 221 332 spray 5;
+#X obj 235 374 print;
+#X obj 221 405 print first;
+#X obj 465 370 print;
+#X obj 451 401 print first;
+#X obj 451 328 spray 5 -3;
+#X msg 451 110 \$1 1 2 3 4 5;
+#X msg 470 136 \$1 1 2 3 4;
+#X msg 484 163 \$1 1 2 3;
+#X msg 497 190 \$1 1 2;
+#X msg 504 216 \$1 1;
+#X msg 513 240 \$1 test 2 3 4 5;
+#X msg 517 269 \$1 1 test 3 4 5;
+#X msg 221 114 \$1 1 2 3 4 5;
+#X msg 240 141 \$1 1 2 3 4;
+#X msg 254 167 \$1 1 2 3;
+#X msg 266 194 \$1 1 2;
+#X msg 274 220 \$1 1;
+#X msg 283 244 \$1 test 2 3 4 5;
+#X msg 287 273 \$1 1 test 3 4 5;
+#X msg 75 110 \$1 1 2 3 4 5;
+#X msg 94 136 \$1 1 2 3 4;
+#X msg 108 163 \$1 1 2 3;
+#X msg 120 190 \$1 1 2;
+#X msg 128 216 \$1 1;
+#X floatatom 130 61 5 0 0;
+#X floatatom 250 62 5 0 0;
+#X floatatom 487 58 5 0 0;
+#X connect 0 0 1 0;
+#X connect 0 1 2 0;
+#X connect 3 0 5 0;
+#X connect 3 1 4 0;
+#X connect 3 2 4 0;
+#X connect 3 3 4 0;
+#X connect 3 4 4 0;
+#X connect 8 0 7 0;
+#X connect 8 1 6 0;
+#X connect 8 2 6 0;
+#X connect 8 3 6 0;
+#X connect 8 4 6 0;
+#X connect 9 0 8 0;
+#X connect 10 0 8 0;
+#X connect 11 0 8 0;
+#X connect 12 0 8 0;
+#X connect 13 0 8 0;
+#X connect 14 0 8 0;
+#X connect 15 0 8 0;
+#X connect 16 0 3 0;
+#X connect 17 0 3 0;
+#X connect 18 0 3 0;
+#X connect 19 0 3 0;
+#X connect 20 0 3 0;
+#X connect 21 0 3 0;
+#X connect 22 0 3 0;
+#X connect 23 0 0 0;
+#X connect 24 0 0 0;
+#X connect 25 0 0 0;
+#X connect 26 0 0 0;
+#X connect 27 0 0 0;
+#X connect 28 0 23 0;
+#X connect 28 0 24 0;
+#X connect 28 0 25 0;
+#X connect 28 0 26 0;
+#X connect 28 0 27 0;
+#X connect 29 0 16 0;
+#X connect 29 0 17 0;
+#X connect 29 0 18 0;
+#X connect 29 0 19 0;
+#X connect 29 0 20 0;
+#X connect 29 0 21 0;
+#X connect 29 0 22 0;
+#X connect 30 0 9 0;
+#X connect 30 0 10 0;
+#X connect 30 0 11 0;
+#X connect 30 0 12 0;
+#X connect 30 0 13 0;
+#X connect 30 0 14 0;
+#X connect 30 0 15 0;
diff --git a/test/cyclone/substitute-test.pd b/test/cyclone/substitute-test.pd
new file mode 100644
index 0000000..37e1a95
--- /dev/null
+++ b/test/cyclone/substitute-test.pd
@@ -0,0 +1,56 @@
+#N canvas 179 48 593 501 12;
+#X obj 281 458 substitute;
+#X msg 281 418 1 2 3;
+#X obj 180 342 print replaced;
+#X obj 398 347 print unchanged;
+#X obj 180 314 substitute foo bar;
+#X msg 28 73 bang;
+#X msg 61 102 set bang;
+#X msg 180 30 hello foo boo;
+#X msg 147 102 set bang;
+#X msg 252 102 one;
+#X msg 148 149 foo 34;
+#X msg 253 137 1 2 3 4;
+#X msg 302 102 one two three;
+#X msg 334 137 1 2 foo 4;
+#X msg 438 102 foo foo foo 77;
+#X msg 337 172 foo fum;
+#X msg 427 172 1 otherhit;
+#X msg 427 200 set 1 hithere;
+#X msg 428 236 set;
+#X msg 218 73 bang;
+#X msg 39 259 symbol sym;
+#X msg 428 264 symbol test;
+#X msg 255 381 bang;
+#X msg 341 381 bang;
+#X msg 256 172 1;
+#X msg 366 418 1 2;
+#X msg 426 418 2 3;
+#X connect 0 0 2 0;
+#X connect 0 0 26 0;
+#X connect 0 1 3 0;
+#X connect 1 0 0 0;
+#X connect 4 0 2 0;
+#X connect 4 1 3 0;
+#X connect 5 0 4 0;
+#X connect 6 0 4 0;
+#X connect 7 0 4 0;
+#X connect 8 0 4 1;
+#X connect 9 0 4 0;
+#X connect 10 0 4 0;
+#X connect 11 0 4 0;
+#X connect 12 0 4 1;
+#X connect 13 0 4 0;
+#X connect 14 0 4 0;
+#X connect 15 0 4 1;
+#X connect 16 0 4 1;
+#X connect 17 0 4 1;
+#X connect 18 0 4 1;
+#X connect 19 0 4 1;
+#X connect 20 0 4 0;
+#X connect 21 0 4 1;
+#X connect 22 0 0 0;
+#X connect 23 0 0 1;
+#X connect 24 0 4 0;
+#X connect 25 0 0 1;
+#X connect 26 0 0 1;
diff --git a/test/cyclone/switch-test.pd b/test/cyclone/switch-test.pd
new file mode 100644
index 0000000..ec7fe2f
--- /dev/null
+++ b/test/cyclone/switch-test.pd
@@ -0,0 +1,35 @@
+#N canvas 333 279 593 442 12;
+#X obj 123 227 switch 11 1 padding;
+#X msg 138 50 bang;
+#X msg 153 87 2;
+#X msg 168 122 symbol three;
+#X msg 183 155 1 2 3 4;
+#X msg 198 190 five is anything;
+#X msg 72 155 bang;
+#X obj 72 190 grab;
+#X floatatom 72 318 5 0 0;
+#X floatatom 68 50 5 0 0;
+#X obj 167 282 route bang float symbol list;
+#X obj 167 322 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X floatatom 228 318 5 0 0;
+#X symbolatom 290 318 10 0 0;
+#X obj 352 355 print list;
+#X obj 414 318 print anything;
+#X msg 289 50 last is anything too;
+#X connect 0 0 10 0;
+#X connect 1 0 0 1;
+#X connect 2 0 0 2;
+#X connect 3 0 0 3;
+#X connect 4 0 0 4;
+#X connect 5 0 0 5;
+#X connect 6 0 7 0;
+#X connect 7 0 8 0;
+#X connect 7 1 0 0;
+#X connect 9 0 0 0;
+#X connect 10 0 11 0;
+#X connect 10 1 12 0;
+#X connect 10 2 13 0;
+#X connect 10 3 14 0;
+#X connect 10 4 15 0;
+#X connect 16 0 0 11;
diff --git a/test/cyclone/test.capture b/test/cyclone/test.capture
new file mode 100644
index 0000000..238343a
--- /dev/null
+++ b/test/cyclone/test.capture
@@ -0,0 +1,2 @@
+ffffffff fffffffe fffffffd fffffffc fffffffb fffffffa fffffff9 fffffff8 fffffff7
+fffffff6
diff --git a/test/cyclone/test.funbuff b/test/cyclone/test.funbuff
new file mode 100644
index 0000000..2c89038
--- /dev/null
+++ b/test/cyclone/test.funbuff
@@ -0,0 +1,10 @@
+funbuff 0 -0 1 -1 2 -2 3 -3 4 -4 5 -5 6 -6 7 -7 8 -8 9 -9 10 -10 11
+-11 12 -12 13 -13 14 -14 15 -15 16 -16 17 -17 18 -18 19 -19 20 -20
+21 -21 22 -22 23 -23 24 -24 25 -25 26 -26 27 -27 28 -28 29 -29 30 -30
+31 -31 32 -32 33 -33 34 -34 35 -35 36 -36 37 -37 38 -38 39 -39 40 -40
+41 -41 42 -42 43 -43 44 -44 45 -45 46 -46 47 -47 48 -48 49 -49 50 -50
+51 -51 52 -52 53 -53 54 -54 55 -55 56 -56 57 -57 58 -58 59 -59 60 -60
+61 -61 62 -62 63 -63 64 -64 65 -65 66 -66 67 -67 68 -68 69 -69 70 -70
+71 -71 72 -72 73 -73 74 -74 75 -75 76 -76 77 -77 78 -78 79 -79 80 -80
+81 -81 82 -82 83 -83 84 -84 85 -85 86 -86 87 -87 88 -88 89 -89 90 -90
+91 -91 92 -92 93 -93 94 -94 95 -95 96 -96 97 -97 98 -98 99 -99 \ No newline at end of file
diff --git a/test/cyclone/test.mid b/test/cyclone/test.mid
new file mode 100644
index 0000000..9547e79
--- /dev/null
+++ b/test/cyclone/test.mid
Binary files differ
diff --git a/test/cyclone/test.pool b/test/cyclone/test.pool
new file mode 100644
index 0000000..22c43be
--- /dev/null
+++ b/test/cyclone/test.pool
@@ -0,0 +1,2 @@
+sample /mnt/win_d/III_rok/Janek/krotkie/niskie_smyki.wav
+sample /mnt/win_d/III_rok/Janek/krotkie/wysokie_smyki.wav
diff --git a/test/cyclone/test.seq b/test/cyclone/test.seq
new file mode 100644
index 0000000..88b1657
--- /dev/null
+++ b/test/cyclone/test.seq
@@ -0,0 +1,1208 @@
+0 193 107;
+10 145 71 79;
+455 145 73 88;
+475 129 71 0;
+739 145 74 88;
+748 129 73 0;
+1138 145 76 94;
+1154 129 74 0;
+1255 145 74 92;
+1270 129 76 0;
+1486 145 73 79;
+1508 129 74 0;
+1574 145 74 80;
+1589 129 73 0;
+1660 145 73 79;
+1673 129 74 0;
+1762 145 69 80;
+1784 129 73 0;
+1984 145 66 76;
+2002 129 69 0;
+2231 145 71 79;
+2257 129 66 0;
+2496 145 64 88;
+2525 129 71 0;
+2739 145 66 76;
+2763 129 64 0;
+2976 145 67 80;
+2985 129 66 0;
+3108 129 67 0;
+3243 145 67 76;
+3381 129 67 0;
+3494 145 67 77;
+3694 129 67 0;
+3734 145 66 69;
+3994 145 71 80;
+4004 129 66 0;
+4242 145 59 79;
+4256 129 71 0;
+4483 194 98;
+4493 146 76 79;
+4494 145 60 80;
+4509 129 59 0;
+4611 145 59 79;
+4635 129 60 0;
+4727 145 60 80;
+4746 129 59 0;
+4846 145 57 79;
+4868 129 60 0;
+4934 146 78 88;
+4954 130 76 0;
+4961 145 62 80;
+4981 129 57 0;
+5074 145 59 80;
+5085 129 62 0;
+5204 145 64 80;
+5214 146 79 88;
+5219 129 59 0;
+5222 130 78 0;
+5612 146 81 94;
+5628 130 79 0;
+5650 129 64 0;
+5729 146 79 92;
+5735 145 64 88;
+5744 130 81 0;
+5943 129 64 0;
+5959 146 78 79;
+5981 145 62 88;
+5981 130 79 0;
+6047 146 79 80;
+6062 130 78 0;
+6133 146 78 79;
+6146 130 79 0;
+6235 146 74 80;
+6257 130 78 0;
+6345 145 59 80;
+6373 129 62 0;
+6456 146 71 76;
+6462 145 55 88;
+6465 129 59 0;
+6472 130 74 0;
+6570 145 54 80;
+6592 129 55 0;
+6700 146 76 79;
+6702 145 52 88;
+6716 129 54 0;
+6725 130 71 0;
+6825 145 50 88;
+6847 129 52 0;
+6955 145 48 80;
+6964 146 69 88;
+6967 129 50 0;
+6993 130 76 0;
+7207 146 71 76;
+7231 130 69 0;
+7444 146 72 80;
+7453 130 71 0;
+7462 145 53 88;
+7485 129 48 0;
+7576 130 72 0;
+7711 146 72 76;
+7849 130 72 0;
+7957 145 52 92;
+7962 146 72 77;
+7978 129 53 0;
+8161 130 72 0;
+8170 129 52 0;
+8201 146 71 69;
+8220 145 52 88;
+8460 146 76 80;
+8470 130 71 0;
+8580 145 50 80;
+8593 129 52 0;
+8701 145 48 88;
+8707 146 64 79;
+8712 129 50 0;
+8721 130 76 0;
+8819 145 50 79;
+8829 129 48 0;
+8946 145 38 80;
+8947 195 74;
+8957 147 81 79;
+8958 146 65 80;
+8963 129 50 0;
+8973 130 64 0;
+9075 146 64 79;
+9099 130 65 0;
+9191 146 65 80;
+9210 130 64 0;
+9303 145 41 80;
+9309 146 62 79;
+9319 129 38 0;
+9330 130 65 0;
+9396 147 83 88;
+9416 131 81 0;
+9423 146 67 80;
+9425 145 40 80;
+9428 129 41 0;
+9442 130 62 0;
+9535 146 64 80;
+9546 130 67 0;
+9665 146 69 80;
+9675 147 84 88;
+9680 130 64 0;
+9681 145 45 80;
+9683 131 83 0;
+9702 129 40 0;
+10026 129 45 0;
+10057 145 45 88;
+10072 147 86 94;
+10088 131 84 0;
+10110 130 69 0;
+10138 129 45 0;
+10169 145 45 80;
+10188 147 84 92;
+10194 146 69 88;
+10203 131 86 0;
+10283 145 48 84;
+10293 129 45 0;
+10401 130 69 0;
+10417 147 83 79;
+10420 145 47 88;
+10436 129 48 0;
+10437 146 67 88;
+10437 131 84 0;
+10503 147 84 80;
+10518 131 83 0;
+10589 147 83 79;
+10602 131 84 0;
+10680 145 40 80;
+10689 129 47 0;
+10691 147 79 80;
+10713 131 83 0;
+10801 146 64 80;
+10829 130 67 0;
+10912 147 76 76;
+10918 146 60 88;
+10921 130 64 0;
+10928 131 79 0;
+11026 146 59 80;
+11048 130 60 0;
+11156 147 81 79;
+11158 146 57 88;
+11163 145 38 88;
+11172 130 59 0;
+11174 129 40 0;
+11180 131 76 0;
+11280 146 55 88;
+11302 130 57 0;
+11410 146 53 80;
+11419 147 74 88;
+11422 130 55 0;
+11448 131 81 0;
+11662 145 36 80;
+11662 147 76 76;
+11673 129 38 0;
+11686 131 74 0;
+11899 147 77 80;
+11908 131 76 0;
+11917 145 34 76;
+11917 146 58 88;
+11940 130 53 0;
+11945 129 36 0;
+12030 131 77 0;
+12032 145 36 79;
+12045 129 34 0;
+12164 145 38 88;
+12164 147 77 76;
+12188 129 36 0;
+12301 131 77 0;
+12409 146 57 92;
+12414 147 77 77;
+12430 130 58 0;
+12613 131 77 0;
+12622 130 57 0;
+12653 147 76 69;
+12660 145 36 78;
+12671 146 57 88;
+12678 129 38 0;
+12782 145 35 80;
+12804 129 36 0;
+12900 129 35 0;
+12900 145 33 72;
+12910 147 81 80;
+12920 131 76 0;
+13030 146 55 80;
+13043 130 57 0;
+13151 146 53 88;
+13157 147 69 79;
+13160 145 45 88;
+13161 130 55 0;
+13170 131 81 0;
+13183 129 33 0;
+13268 146 55 79;
+13278 130 53 0;
+13395 146 43 80;
+13396 196 38;
+13406 148 74 79;
+13407 145 43 88;
+13407 147 70 80;
+13412 130 55 0;
+13422 131 69 0;
+13424 129 45 0;
+13524 147 69 79;
+13548 131 70 0;
+13640 147 70 80;
+13659 131 69 0;
+13752 146 46 80;
+13758 147 67 79;
+13763 145 46 80;
+13768 130 43 0;
+13779 131 70 0;
+13780 129 43 0;
+13845 148 76 88;
+13865 132 74 0;
+13872 147 72 80;
+13874 146 45 80;
+13877 130 46 0;
+13886 145 45 84;
+13891 131 67 0;
+13893 129 46 0;
+13984 147 69 80;
+13995 131 72 0;
+14114 147 74 80;
+14124 148 77 88;
+14129 131 69 0;
+14130 146 50 80;
+14132 132 76 0;
+14134 145 50 94;
+14150 129 45 0;
+14150 130 45 0;
+14472 129 50 0;
+14473 130 50 0;
+14497 145 50 80;
+14503 146 50 88;
+14518 148 79 94;
+14534 132 77 0;
+14556 131 74 0;
+14580 129 50 0;
+14583 130 50 0;
+14607 145 50 79;
+14613 146 50 80;
+14632 148 77 92;
+14638 147 74 88;
+14647 132 79 0;
+14727 146 53 84;
+14729 145 53 84;
+14736 130 50 0;
+14741 129 50 0;
+14843 131 74 0;
+14859 148 76 79;
+14860 145 52 92;
+14862 146 52 88;
+14878 130 53 0;
+14879 147 72 88;
+14879 132 77 0;
+14880 129 53 0;
+14945 148 77 80;
+14960 132 76 0;
+15031 148 76 79;
+15044 132 77 0;
+15115 145 45 88;
+15117 129 52 0;
+15120 146 45 80;
+15129 130 52 0;
+15131 148 72 80;
+15153 132 76 0;
+15241 147 69 80;
+15269 131 72 0;
+15352 148 69 76;
+15358 147 65 88;
+15361 131 69 0;
+15368 132 72 0;
+15466 147 64 80;
+15488 131 65 0;
+15596 148 74 79;
+15598 147 62 88;
+15603 146 43 88;
+15605 145 43 88;
+15611 131 64 0;
+15613 130 45 0;
+15615 129 45 0;
+15618 132 69 0;
+15718 147 60 88;
+15740 131 62 0;
+15848 147 58 80;
+15857 148 67 88;
+15860 131 60 0;
+15886 132 74 0;
+16100 146 41 80;
+16100 148 69 76;
+16111 145 41 92;
+16111 130 43 0;
+16124 132 67 0;
+16129 129 43 0;
+16337 148 70 80;
+16346 132 69 0;
+16347 145 39 80;
+16354 146 39 76;
+16354 147 63 88;
+16365 129 41 0;
+16376 131 58 0;
+16381 130 41 0;
+16465 145 41 92;
+16466 132 70 0;
+16468 146 41 79;
+16481 129 39 0;
+16481 130 39 0;
+16589 145 43 80;
+16600 146 43 88;
+16600 148 70 76;
+16606 129 41 0;
+16624 130 41 0;
+16737 132 70 0;
+16835 145 41 88;
+16844 147 62 92;
+16849 148 70 77;
+16862 129 43 0;
+16865 131 63 0;
+16956 145 40 88;
+16976 129 41 0;
+17047 132 70 0;
+17056 131 62 0;
+17087 148 69 69;
+17088 145 38 80;
+17094 146 41 78;
+17097 129 40 0;
+17104 147 62 88;
+17111 130 43 0;
+17215 146 40 80;
+17237 130 41 0;
+17333 130 40 0;
+17333 146 38 72;
+17343 148 74 80;
+17353 132 69 0;
+17463 147 60 80;
+17476 131 62 0;
+17569 129 38 0;
+17583 147 58 88;
+17589 148 62 79;
+17592 146 50 88;
+17593 131 60 0;
+17602 132 74 0;
+17615 130 38 0;
+17700 147 60 79;
+17710 131 58 0;
+17827 147 48 80;
+17828 193 44;
+17838 145 67 79;
+17839 146 48 88;
+17839 148 63 80;
+17844 131 60 0;
+17854 132 62 0;
+17856 130 50 0;
+17956 148 62 79;
+17980 132 63 0;
+18072 148 63 80;
+18091 132 62 0;
+18184 147 51 80;
+18190 148 60 79;
+18195 146 51 80;
+18200 131 48 0;
+18211 132 63 0;
+18212 130 48 0;
+18277 145 69 88;
+18297 129 67 0;
+18304 148 65 80;
+18306 147 50 80;
+18309 131 51 0;
+18318 146 50 84;
+18323 132 60 0;
+18325 130 51 0;
+18416 148 62 80;
+18427 132 65 0;
+18546 148 67 80;
+18556 145 70 88;
+18561 132 62 0;
+18562 147 55 80;
+18564 129 69 0;
+18566 146 55 94;
+18582 130 50 0;
+18582 131 50 0;
+18904 130 55 0;
+18905 131 55 0;
+18929 146 55 80;
+18935 147 55 88;
+18950 145 72 94;
+18966 129 70 0;
+18988 132 67 0;
+19012 130 55 0;
+19015 131 55 0;
+19039 146 55 79;
+19045 147 55 80;
+19064 145 70 92;
+19070 148 67 88;
+19079 129 72 0;
+19159 147 58 84;
+19161 146 58 84;
+19168 131 55 0;
+19173 130 55 0;
+19275 132 67 0;
+19291 145 69 79;
+19292 146 57 92;
+19294 147 57 88;
+19310 131 58 0;
+19311 129 70 0;
+19311 148 65 88;
+19312 130 58 0;
+19377 145 70 80;
+19392 129 69 0;
+19463 145 69 79;
+19476 129 70 0;
+19547 146 50 88;
+19549 130 57 0;
+19552 147 50 80;
+19561 131 57 0;
+19563 145 65 80;
+19585 129 69 0;
+19673 148 62 80;
+19701 132 65 0;
+19784 145 62 76;
+19790 148 58 88;
+19793 132 62 0;
+19800 129 65 0;
+19898 148 57 80;
+19920 132 58 0;
+20028 145 67 79;
+20030 148 55 88;
+20035 147 48 88;
+20037 146 48 88;
+20043 132 57 0;
+20045 131 50 0;
+20047 130 50 0;
+20050 129 62 0;
+20150 148 53 88;
+20172 132 55 0;
+20280 148 51 80;
+20289 145 60 88;
+20292 132 53 0;
+20318 129 67 0;
+20532 145 62 76;
+20532 147 46 80;
+20543 146 46 92;
+20543 131 48 0;
+20556 129 60 0;
+20561 130 48 0;
+20769 145 63 80;
+20778 129 62 0;
+20779 146 44 80;
+20786 147 44 76;
+20786 148 56 88;
+20797 130 46 0;
+20808 132 51 0;
+20813 131 46 0;
+20897 146 46 92;
+20898 129 63 0;
+20900 147 46 79;
+20913 130 44 0;
+20913 131 44 0;
+21021 146 48 80;
+21032 145 63 76;
+21032 147 48 88;
+21038 130 46 0;
+21056 131 46 0;
+21169 129 63 0;
+21267 146 46 88;
+21276 148 55 92;
+21281 145 63 77;
+21294 130 48 0;
+21297 132 56 0;
+21388 146 45 88;
+21408 130 46 0;
+21479 129 63 0;
+21488 132 55 0;
+21519 145 62 69;
+21520 146 43 80;
+21526 147 46 78;
+21529 130 45 0;
+21536 148 55 88;
+21543 131 48 0;
+21647 147 45 80;
+21669 131 46 0;
+21765 131 45 0;
+21765 147 43 72;
+21775 145 67 80;
+21785 129 62 0;
+21895 148 53 80;
+21908 132 55 0;
+22001 130 43 0;
+22015 148 51 88;
+22021 145 55 79;
+22024 147 55 88;
+22025 132 53 0;
+22034 129 67 0;
+22047 131 43 0;
+22132 148 53 79;
+22142 132 51 0;
+22259 148 41 80;
+22260 194 66;
+22270 146 72 79;
+22271 145 56 80;
+22271 147 53 88;
+22276 132 53 0;
+22286 129 55 0;
+22288 131 55 0;
+22388 145 55 79;
+22412 129 56 0;
+22504 145 56 80;
+22523 129 55 0;
+22616 148 44 80;
+22622 145 53 79;
+22627 147 56 80;
+22632 132 41 0;
+22643 129 56 0;
+22644 131 53 0;
+22709 146 74 88;
+22729 130 72 0;
+22736 145 58 80;
+22738 148 43 80;
+22741 132 44 0;
+22750 147 55 84;
+22755 129 53 0;
+22757 131 56 0;
+22848 145 55 80;
+22859 129 58 0;
+22978 145 60 80;
+22988 146 75 88;
+22993 129 55 0;
+22994 148 48 80;
+22996 130 74 0;
+22998 147 60 94;
+23014 131 55 0;
+23014 132 43 0;
+23336 131 60 0;
+23337 132 48 0;
+23361 147 60 80;
+23367 148 48 88;
+23382 146 77 94;
+23398 130 75 0;
+23420 129 60 0;
+23444 131 60 0;
+23447 132 48 0;
+23471 147 60 79;
+23477 148 48 80;
+23496 146 75 92;
+23502 145 60 88;
+23511 130 77 0;
+23591 148 51 84;
+23593 147 63 84;
+23600 132 48 0;
+23605 131 60 0;
+23707 129 60 0;
+23723 146 74 79;
+23724 147 62 92;
+23726 148 50 88;
+23742 132 51 0;
+23743 145 58 88;
+23743 130 75 0;
+23744 131 63 0;
+23809 146 75 80;
+23824 130 74 0;
+23895 146 74 79;
+23908 130 75 0;
+23979 147 55 88;
+23981 131 62 0;
+23984 148 43 80;
+23993 132 50 0;
+23995 146 70 80;
+24017 130 74 0;
+24105 145 55 80;
+24133 129 58 0;
+24216 146 67 76;
+24222 145 51 88;
+24225 129 55 0;
+24232 130 70 0;
+24330 145 50 80;
+24352 129 51 0;
+24460 146 72 79;
+24462 145 48 88;
+24467 148 41 88;
+24469 147 53 88;
+24475 129 50 0;
+24477 132 43 0;
+24479 131 55 0;
+24482 130 67 0;
+24582 145 46 88;
+24604 129 48 0;
+24712 145 44 80;
+24721 146 65 88;
+24724 129 46 0;
+24750 130 72 0;
+24964 146 67 76;
+24964 148 39 80;
+24975 147 51 92;
+24975 132 41 0;
+24988 130 65 0;
+24993 131 53 0;
+25201 146 68 80;
+25210 130 67 0;
+25211 147 49 80;
+25218 145 49 88;
+25218 148 37 76;
+25229 131 51 0;
+25240 129 44 0;
+25245 132 39 0;
+25329 147 51 92;
+25330 130 68 0;
+25332 148 39 79;
+25345 131 49 0;
+25345 132 37 0;
+25453 147 53 80;
+25464 146 68 76;
+25464 148 41 88;
+25470 131 51 0;
+25488 132 39 0;
+25601 130 68 0;
+25699 147 51 88;
+25708 145 48 92;
+25713 146 68 77;
+25726 131 53 0;
+25729 129 49 0;
+25820 147 50 88;
+25840 131 51 0;
+25911 130 68 0;
+25920 129 48 0;
+25951 146 67 69;
+25952 147 48 80;
+25958 148 39 78;
+25961 131 50 0;
+25968 145 48 88;
+25975 132 41 0;
+26079 148 38 80;
+26101 132 39 0;
+26197 132 38 0;
+26197 148 36 72;
+26207 146 72 80;
+26217 130 67 0;
+26327 145 46 80;
+26340 129 48 0;
+26433 131 48 0;
+26447 145 44 88;
+26453 146 60 79;
+26456 148 48 88;
+26457 129 46 0;
+26466 130 72 0;
+26479 132 36 0;
+26564 145 46 79;
+26574 129 44 0;
+26691 145 34 80;
+26692 195 99;
+26702 147 77 79;
+26703 146 61 80;
+26703 148 46 88;
+26708 129 46 0;
+26718 130 60 0;
+26720 132 48 0;
+26820 146 60 79;
+26844 130 61 0;
+26936 146 61 80;
+26955 130 60 0;
+27048 145 37 80;
+27054 146 58 79;
+27059 148 49 80;
+27064 129 34 0;
+27075 130 61 0;
+27076 132 46 0;
+27141 147 79 88;
+27161 131 77 0;
+27168 146 63 80;
+27170 145 36 80;
+27173 129 37 0;
+27182 148 48 84;
+27187 130 58 0;
+27189 132 49 0;
+27280 146 60 80;
+27291 130 63 0;
+27410 146 65 80;
+27420 147 80 88;
+27425 130 60 0;
+27426 145 41 80;
+27428 131 79 0;
+27430 148 53 94;
+27446 129 36 0;
+27446 132 48 0;
+27768 132 53 0;
+27769 129 41 0;
+27793 148 53 80;
+27799 145 41 88;
+27814 147 82 94;
+27830 131 80 0;
+27852 130 65 0;
+27876 132 53 0;
+27879 129 41 0;
+27903 148 53 79;
+27909 145 41 80;
+27928 147 80 92;
+27934 146 65 88;
+27943 131 82 0;
+28023 145 44 84;
+28025 148 56 84;
+28032 129 41 0;
+28037 132 53 0;
+28139 130 65 0;
+28155 147 79 79;
+28156 148 55 92;
+28158 145 43 88;
+28174 129 44 0;
+28175 146 63 88;
+28175 131 80 0;
+28176 132 56 0;
+28241 147 80 80;
+28256 131 79 0;
+28327 147 79 79;
+28340 131 80 0;
+28411 148 48 88;
+28413 132 55 0;
+28416 145 36 80;
+28425 129 43 0;
+28427 147 75 80;
+28449 131 79 0;
+28537 146 60 80;
+28565 130 63 0;
+28648 147 72 76;
+28654 146 56 88;
+28657 130 60 0;
+28664 131 75 0;
+28762 146 55 80;
+28784 130 56 0;
+28892 147 77 79;
+28894 146 53 88;
+28899 145 34 88;
+28901 148 46 88;
+28907 130 55 0;
+28909 129 36 0;
+28911 132 48 0;
+28914 131 72 0;
+29014 146 51 88;
+29036 130 53 0;
+29144 146 49 80;
+29153 147 70 88;
+29156 130 51 0;
+29182 131 77 0;
+29396 145 32 80;
+29396 147 72 76;
+29407 129 34 0;
+29407 148 44 92;
+29420 131 70 0;
+29425 132 46 0;
+29633 147 73 80;
+29642 131 72 0;
+29643 148 42 80;
+29650 145 30 76;
+29650 146 54 88;
+29661 132 44 0;
+29672 130 49 0;
+29677 129 32 0;
+29761 148 44 92;
+29762 131 73 0;
+29764 145 32 79;
+29777 129 30 0;
+29777 132 42 0;
+29885 148 46 80;
+29896 145 34 88;
+29896 147 73 76;
+29902 132 44 0;
+29920 129 32 0;
+30033 131 73 0;
+30131 148 44 88;
+30140 146 53 92;
+30145 147 73 77;
+30158 132 46 0;
+30161 130 54 0;
+30252 148 43 88;
+30272 132 44 0;
+30343 131 73 0;
+30352 130 53 0;
+30383 147 72 69;
+30384 148 41 80;
+30390 145 32 78;
+30393 132 43 0;
+30400 146 53 88;
+30407 129 34 0;
+30511 145 31 80;
+30533 129 32 0;
+30629 129 31 0;
+30629 145 29 72;
+30639 147 77 80;
+30649 131 72 0;
+30759 146 51 80;
+30772 130 53 0;
+30865 132 41 0;
+30879 146 49 88;
+30885 147 65 79;
+30888 145 41 88;
+30889 130 51 0;
+30898 131 77 0;
+30911 129 29 0;
+30996 146 51 79;
+31006 130 49 0;
+31123 146 39 80;
+31124 196 47;
+31134 148 70 79;
+31135 145 39 88;
+31135 147 66 80;
+31140 130 51 0;
+31150 131 65 0;
+31152 129 41 0;
+31252 147 65 79;
+31276 131 66 0;
+31368 147 66 80;
+31387 131 65 0;
+31480 146 42 80;
+31486 147 63 79;
+31491 145 42 80;
+31496 130 39 0;
+31507 131 66 0;
+31508 129 39 0;
+31573 148 72 88;
+31593 132 70 0;
+31600 147 68 80;
+31602 146 41 80;
+31605 130 42 0;
+31614 145 41 84;
+31619 131 63 0;
+31621 129 42 0;
+31712 147 65 80;
+31723 131 68 0;
+31842 147 70 80;
+31852 148 73 88;
+31857 131 65 0;
+31858 146 46 80;
+31860 132 72 0;
+31862 145 46 94;
+31878 129 41 0;
+31878 130 41 0;
+32200 129 46 0;
+32201 130 46 0;
+32225 145 46 80;
+32231 146 46 88;
+32246 148 75 94;
+32262 132 73 0;
+32284 131 70 0;
+32308 129 46 0;
+32311 130 46 0;
+32335 145 46 79;
+32341 146 46 80;
+32360 148 73 92;
+32366 147 70 88;
+32375 132 75 0;
+32455 146 49 84;
+32457 145 49 84;
+32464 130 46 0;
+32469 129 46 0;
+32571 131 70 0;
+32587 148 72 79;
+32588 145 48 92;
+32590 146 48 88;
+32606 130 49 0;
+32607 147 68 88;
+32607 132 73 0;
+32608 129 49 0;
+32673 148 73 80;
+32688 132 72 0;
+32759 148 72 79;
+32772 132 73 0;
+32843 145 41 88;
+32845 129 48 0;
+32848 146 41 80;
+32857 130 48 0;
+32859 148 68 80;
+32881 132 72 0;
+32969 147 65 80;
+32997 131 68 0;
+33080 148 65 76;
+33086 147 61 88;
+33089 131 65 0;
+33096 132 68 0;
+33194 147 60 80;
+33216 131 61 0;
+33324 148 70 79;
+33326 147 58 88;
+33331 146 39 88;
+33333 145 39 88;
+33339 131 60 0;
+33341 130 41 0;
+33343 129 41 0;
+33346 132 65 0;
+33446 147 56 88;
+33468 131 58 0;
+33576 147 54 80;
+33585 148 63 88;
+33588 131 56 0;
+33614 132 70 0;
+33828 146 37 80;
+33828 148 65 76;
+33839 145 37 92;
+33839 130 39 0;
+33852 132 63 0;
+33857 129 39 0;
+34065 148 66 80;
+34074 132 65 0;
+34075 145 35 80;
+34082 146 35 76;
+34082 147 59 88;
+34093 129 37 0;
+34104 131 54 0;
+34109 130 37 0;
+34193 145 37 92;
+34194 132 66 0;
+34196 146 37 79;
+34209 129 35 0;
+34209 130 35 0;
+34317 145 39 80;
+34328 146 39 88;
+34328 148 66 76;
+34334 129 37 0;
+34352 130 37 0;
+34465 132 66 0;
+34563 145 37 88;
+34572 147 58 92;
+34577 148 66 77;
+34590 129 39 0;
+34593 131 59 0;
+34684 145 36 88;
+34704 129 37 0;
+34775 132 66 0;
+34784 131 58 0;
+34815 148 65 69;
+34816 145 34 80;
+34822 146 37 78;
+34825 129 36 0;
+34832 147 58 88;
+34839 130 39 0;
+34943 146 36 80;
+34965 130 37 0;
+35061 130 36 0;
+35061 146 34 72;
+35071 148 70 80;
+35081 132 65 0;
+35191 147 56 80;
+35204 131 58 0;
+35297 129 34 0;
+35311 147 54 88;
+35317 148 58 79;
+35320 146 46 88;
+35321 131 56 0;
+35330 132 70 0;
+35343 130 34 0;
+35428 147 56 79;
+35438 131 54 0;
+35555 147 44 80;
+35568 146 44 88;
+35568 148 59 80;
+35573 131 56 0;
+35583 132 58 0;
+35585 130 46 0;
+35685 148 58 79;
+35709 132 59 0;
+35801 148 59 80;
+35820 132 58 0;
+35913 147 47 80;
+35919 148 56 79;
+35924 146 47 80;
+35929 131 44 0;
+35940 132 59 0;
+35941 130 44 0;
+36034 148 61 80;
+36036 147 46 80;
+36039 131 47 0;
+36048 146 46 84;
+36053 132 56 0;
+36055 130 47 0;
+36146 148 58 80;
+36157 132 61 0;
+36276 148 63 80;
+36291 132 58 0;
+36292 147 51 80;
+36297 146 51 94;
+36313 130 46 0;
+36313 131 46 0;
+36635 130 51 0;
+36636 131 51 0;
+36660 146 51 80;
+36666 147 51 88;
+36720 132 63 0;
+36744 130 51 0;
+36747 131 51 0;
+36771 146 51 79;
+36777 147 51 80;
+36803 148 63 88;
+36892 147 54 84;
+36894 146 54 84;
+36901 131 51 0;
+36906 130 51 0;
+37008 132 63 0;
+37026 146 53 92;
+37028 147 53 88;
+37044 131 54 0;
+37045 148 61 88;
+37046 130 54 0;
+37282 146 46 88;
+37284 130 53 0;
+37287 147 46 80;
+37296 131 53 0;
+37409 148 58 80;
+37437 132 61 0;
+37526 148 54 88;
+37529 132 58 0;
+37635 148 53 80;
+37657 132 54 0;
+37767 148 51 88;
+37772 147 44 88;
+37774 146 44 88;
+37780 132 53 0;
+37782 131 46 0;
+37784 130 46 0;
+37888 148 49 88;
+37910 132 51 0;
+38018 148 47 80;
+38031 132 49 0;
+38271 147 42 80;
+38282 146 42 92;
+38282 131 44 0;
+38300 130 44 0;
+38518 146 40 80;
+38525 147 40 76;
+38525 148 52 88;
+38536 130 42 0;
+38547 132 47 0;
+38552 131 42 0;
+38636 146 42 92;
+38639 147 42 79;
+38652 130 40 0;
+38652 131 40 0;
+38760 146 44 80;
+38771 147 44 88;
+38777 130 42 0;
+38795 131 42 0;
+39007 146 42 88;
+39016 148 51 92;
+39034 130 44 0;
+39037 132 52 0;
+39128 146 41 88;
+39148 130 42 0;
+39228 132 51 0;
+39260 146 39 80;
+39266 147 42 78;
+39269 130 41 0;
+39276 148 51 88;
+39283 131 44 0;
+39387 147 41 80;
+39409 131 42 0;
+39505 131 41 0;
+39505 147 39 72;
+39636 148 49 80;
+39649 132 51 0;
+39742 130 39 0;
+39756 148 47 88;
+39766 147 51 88;
+39767 132 49 0;
+39789 131 39 0;
+39874 148 49 79;
+39884 132 47 0;
+40001 148 37 80;
+40014 147 49 88;
+40019 132 49 0;
+40032 131 51 0;
+40362 148 40 80;
+40373 147 52 80;
+40378 132 37 0;
+40391 131 49 0;
+40487 148 39 80;
+40490 132 40 0;
+40499 147 51 84;
+40506 131 52 0;
+40745 148 44 80;
+40750 147 56 94;
+40766 131 51 0;
+40766 132 39 0;
+41088 131 56 0;
+41089 132 44 0;
+41113 147 56 80;
+41119 148 44 88;
+41198 131 56 0;
+41201 132 44 0;
+41225 147 56 79;
+41231 148 44 80;
+41346 148 47 84;
+41348 147 59 84;
+41355 132 44 0;
+41360 131 56 0;
+41481 147 58 92;
+41483 148 46 88;
+41499 132 47 0;
+41501 131 59 0;
+41737 147 51 88;
+41739 131 58 0;
+41742 148 39 80;
+41751 132 46 0;
+42231 148 37 88;
+42233 147 49 88;
+42242 132 39 0;
+42244 131 51 0;
+42732 148 35 80;
+42743 147 47 92;
+42743 132 37 0;
+42761 131 49 0;
+42979 147 45 80;
+42986 148 33 76;
+42997 131 47 0;
+43013 132 35 0;
+43097 147 47 92;
+43100 148 35 79;
+43113 131 45 0;
+43113 132 33 0;
+43221 147 49 80;
+43232 148 37 88;
+43238 131 47 0;
+43256 132 35 0;
+43468 147 47 88;
+43495 131 49 0;
+43590 147 46 88;
+43610 131 47 0;
+43723 147 44 80;
+43729 148 35 78;
+43732 131 46 0;
+43747 132 37 0;
+43851 148 34 80;
+43873 132 35 0;
+43969 132 34 0;
+43969 148 32 72;
+44207 131 44 0;
+44231 148 44 88;
+44254 132 32 0;
+44480 148 42 88;
+44498 132 44 0;
+44840 148 45 80;
+44858 132 42 0;
+44967 148 44 84;
+44974 132 45 0;
+45218 148 49 94;
+45234 132 44 0;
+45556 132 49 0;
+45582 148 49 80;
+45667 132 49 0;
+45695 148 49 79;
+45820 148 52 84;
+45833 132 49 0;
+45954 148 51 92;
+45976 132 52 0;
+46212 148 44 88;
+46214 132 51 0;
+46710 148 42 88;
+46721 132 44 0;
+47221 148 40 92;
+47239 132 42 0;
+47457 148 38 80;
+47476 132 40 0;
+47577 148 40 92;
+47593 132 38 0;
+47701 148 42 80;
+47719 132 40 0;
+47949 148 40 88;
+47976 132 42 0;
+48071 148 39 88;
+48091 132 40 0;
+48204 148 37 80;
+48214 132 39 0;
+48690 132 37 0;
diff --git a/test/cyclone/test1.seq b/test/cyclone/test1.seq
new file mode 100644
index 0000000..5b695dc
--- /dev/null
+++ b/test/cyclone/test1.seq
@@ -0,0 +1,1208 @@
+0 193 107;
+7 145 71 79;
+449 145 73 88;
+467 129 71 0;
+730 145 74 88;
+737 129 73 0;
+1125 145 76 94;
+1140 129 74 0;
+1238 145 74 92;
+1251 129 76 0;
+1464 145 73 79;
+1484 129 74 0;
+1549 145 74 80;
+1562 129 73 0;
+1632 145 73 79;
+1642 129 74 0;
+1730 145 69 80;
+1750 129 73 0;
+1947 145 66 76;
+1962 129 69 0;
+2188 145 71 79;
+2211 129 66 0;
+2447 145 64 88;
+2475 129 71 0;
+2688 145 66 76;
+2711 129 64 0;
+2921 145 67 80;
+2928 129 66 0;
+3050 129 67 0;
+3182 145 67 76;
+3317 129 67 0;
+3428 145 67 77;
+3625 129 67 0;
+3664 145 66 69;
+3921 145 71 80;
+3928 129 66 0;
+4164 145 59 79;
+4177 129 71 0;
+4403 194 98;
+4410 146 76 79;
+4410 145 60 80;
+4423 129 59 0;
+4524 145 59 79;
+4547 129 60 0;
+4638 145 60 80;
+4656 129 59 0;
+4754 145 57 79;
+4774 129 60 0;
+4839 146 78 88;
+4857 130 76 0;
+4862 145 62 80;
+4880 129 57 0;
+4971 145 59 80;
+4981 129 62 0;
+5098 145 64 80;
+5105 146 79 88;
+5107 129 59 0;
+5109 130 78 0;
+5497 146 81 94;
+5512 130 79 0;
+5532 129 64 0;
+5610 146 79 92;
+5615 145 64 88;
+5622 130 81 0;
+5819 129 64 0;
+5834 146 78 79;
+5854 145 62 88;
+5854 130 79 0;
+5919 146 79 80;
+5932 130 78 0;
+6002 146 78 79;
+6012 130 79 0;
+6100 146 74 80;
+6120 130 78 0;
+6205 145 59 80;
+6231 129 62 0;
+6311 146 71 76;
+6316 145 55 88;
+6318 129 59 0;
+6323 130 74 0;
+6419 145 54 80;
+6439 129 55 0;
+6545 146 76 79;
+6545 145 52 88;
+6558 129 54 0;
+6565 130 71 0;
+6663 145 50 88;
+6683 129 52 0;
+6789 145 48 80;
+6796 146 69 88;
+6798 129 50 0;
+6821 130 76 0;
+7034 146 71 76;
+7057 130 69 0;
+7267 146 72 80;
+7274 130 71 0;
+7281 145 53 88;
+7301 129 48 0;
+7389 130 72 0;
+7521 146 72 76;
+7656 130 72 0;
+7762 145 52 92;
+7764 146 72 77;
+7779 129 53 0;
+7961 130 72 0;
+7968 129 52 0;
+7996 146 71 69;
+8014 145 52 88;
+8253 146 76 80;
+8260 130 71 0;
+8369 145 50 80;
+8379 129 52 0;
+8485 145 48 88;
+8490 146 64 79;
+8492 129 50 0;
+8499 130 76 0;
+8595 145 50 79;
+8602 129 48 0;
+8716 145 38 80;
+8716 195 74;
+8723 147 81 79;
+8723 146 65 80;
+8725 129 50 0;
+8732 130 64 0;
+8833 146 64 79;
+8856 130 65 0;
+8947 146 65 80;
+8965 130 64 0;
+9056 145 41 80;
+9061 146 62 79;
+9068 129 38 0;
+9078 130 65 0;
+9143 147 83 88;
+9161 131 81 0;
+9166 146 67 80;
+9166 145 40 80;
+9168 129 41 0;
+9181 130 62 0;
+9272 146 64 80;
+9282 130 67 0;
+9399 146 69 80;
+9406 147 84 88;
+9408 130 64 0;
+9408 145 45 80;
+9408 131 83 0;
+9426 129 40 0;
+9748 129 45 0;
+9776 145 45 88;
+9789 147 86 94;
+9804 131 84 0;
+9824 130 69 0;
+9850 129 45 0;
+9878 145 45 80;
+9896 147 84 92;
+9901 146 69 88;
+9908 131 86 0;
+9986 145 48 84;
+9993 129 45 0;
+10099 130 69 0;
+10114 147 83 79;
+10116 145 47 88;
+10131 129 48 0;
+10131 146 67 88;
+10131 131 84 0;
+10196 147 84 80;
+10209 131 83 0;
+10279 147 83 79;
+10289 131 84 0;
+10364 145 40 80;
+10371 129 47 0;
+10371 147 79 80;
+10391 131 83 0;
+10476 146 64 80;
+10502 130 67 0;
+10582 147 76 76;
+10587 146 60 88;
+10589 130 64 0;
+10594 131 79 0;
+10690 146 59 80;
+10710 130 60 0;
+10816 147 81 79;
+10816 146 57 88;
+10818 145 38 88;
+10825 130 59 0;
+10825 129 40 0;
+10830 131 76 0;
+10928 146 55 88;
+10948 130 57 0;
+11054 146 53 80;
+11061 147 74 88;
+11063 130 55 0;
+11086 131 81 0;
+11299 145 36 80;
+11299 147 76 76;
+11309 129 38 0;
+11319 131 74 0;
+11529 147 77 80;
+11536 131 76 0;
+11543 145 34 76;
+11543 146 58 88;
+11563 130 53 0;
+11565 129 36 0;
+11648 131 77 0;
+11648 145 36 79;
+11658 129 34 0;
+11775 145 38 88;
+11775 147 77 76;
+11798 129 36 0;
+11909 131 77 0;
+12015 146 57 92;
+12017 147 77 77;
+12032 130 58 0;
+12214 131 77 0;
+12221 130 57 0;
+12249 147 76 69;
+12254 145 36 78;
+12264 146 57 88;
+12269 129 38 0;
+12370 145 35 80;
+12390 129 36 0;
+12483 129 35 0;
+12483 145 33 72;
+12490 147 81 80;
+12497 131 76 0;
+12606 146 55 80;
+12616 130 57 0;
+12722 146 53 88;
+12727 147 69 79;
+12729 145 45 88;
+12729 130 55 0;
+12736 131 81 0;
+12746 129 33 0;
+12829 146 55 79;
+12836 130 53 0;
+12950 146 43 80;
+12950 196 38;
+12957 148 74 79;
+12957 145 43 88;
+12957 147 70 80;
+12959 130 55 0;
+12966 131 69 0;
+12966 129 45 0;
+13064 147 69 79;
+13087 131 70 0;
+13178 147 70 80;
+13196 131 69 0;
+13287 146 46 80;
+13292 147 67 79;
+13294 145 46 80;
+13296 130 43 0;
+13306 131 70 0;
+13306 129 43 0;
+13368 148 76 88;
+13386 132 74 0;
+13391 147 72 80;
+13391 146 45 80;
+13393 130 46 0;
+13400 145 45 84;
+13402 131 67 0;
+13402 129 46 0;
+13490 147 69 80;
+13500 131 72 0;
+13617 147 74 80;
+13624 148 77 88;
+13626 131 69 0;
+13626 146 50 80;
+13626 132 76 0;
+13626 145 50 94;
+13641 129 45 0;
+13641 130 45 0;
+13961 129 50 0;
+13961 130 50 0;
+13984 145 50 80;
+13989 146 50 88;
+14002 148 79 94;
+14017 132 77 0;
+14037 131 74 0;
+14060 129 50 0;
+14062 130 50 0;
+14085 145 50 79;
+14090 146 50 80;
+14108 148 77 92;
+14113 147 74 88;
+14120 132 79 0;
+14198 146 53 84;
+14198 145 53 84;
+14203 130 50 0;
+14205 129 50 0;
+14306 131 74 0;
+14321 148 76 79;
+14321 145 52 92;
+14321 146 52 88;
+14336 130 53 0;
+14336 147 72 88;
+14336 132 77 0;
+14336 129 53 0;
+14398 148 77 80;
+14411 132 76 0;
+14481 148 76 79;
+14491 132 77 0;
+14561 145 45 88;
+14561 129 52 0;
+14563 146 45 80;
+14570 130 52 0;
+14570 148 72 80;
+14590 132 76 0;
+14675 147 69 80;
+14701 131 72 0;
+14781 148 69 76;
+14786 147 65 88;
+14788 131 69 0;
+14793 132 72 0;
+14889 147 64 80;
+14909 131 65 0;
+15015 148 74 79;
+15015 147 62 88;
+15017 146 43 88;
+15017 145 43 88;
+15022 131 64 0;
+15022 130 45 0;
+15022 129 45 0;
+15024 132 69 0;
+15122 147 60 88;
+15142 131 62 0;
+15248 147 58 80;
+15255 148 67 88;
+15257 131 60 0;
+15280 132 74 0;
+15493 146 41 80;
+15493 148 69 76;
+15503 145 41 92;
+15503 130 43 0;
+15513 132 67 0;
+15515 129 43 0;
+15720 148 70 80;
+15727 132 69 0;
+15727 145 39 80;
+15732 146 39 76;
+15732 147 63 88;
+15742 129 41 0;
+15752 131 58 0;
+15754 130 41 0;
+15837 145 41 92;
+15837 132 70 0;
+15837 146 41 79;
+15847 129 39 0;
+15847 130 39 0;
+15953 145 43 80;
+15963 146 43 88;
+15963 148 70 76;
+15968 129 41 0;
+15983 130 41 0;
+16094 132 70 0;
+16190 145 41 88;
+16197 147 62 92;
+16199 148 70 77;
+16209 129 43 0;
+16211 131 63 0;
+16299 145 40 88;
+16317 129 41 0;
+16387 132 70 0;
+16394 131 62 0;
+16422 148 69 69;
+16422 145 38 80;
+16427 146 41 78;
+16429 129 40 0;
+16434 147 62 88;
+16439 130 43 0;
+16540 146 40 80;
+16560 130 41 0;
+16653 130 40 0;
+16653 146 38 72;
+16660 148 74 80;
+16667 132 69 0;
+16776 147 60 80;
+16786 131 62 0;
+16877 129 38 0;
+16890 147 58 88;
+16895 148 62 79;
+16897 146 50 88;
+16897 131 60 0;
+16904 132 74 0;
+16914 130 38 0;
+16997 147 60 79;
+17004 131 58 0;
+17118 147 48 80;
+17118 193 44;
+17125 145 67 79;
+17125 146 48 88;
+17125 148 63 80;
+17127 131 60 0;
+17134 132 62 0;
+17134 130 50 0;
+17232 148 62 79;
+17255 132 63 0;
+17346 148 63 80;
+17364 132 62 0;
+17455 147 51 80;
+17460 148 60 79;
+17462 146 51 80;
+17464 131 48 0;
+17474 132 63 0;
+17474 130 48 0;
+17536 145 69 88;
+17554 129 67 0;
+17559 148 65 80;
+17559 147 50 80;
+17561 131 51 0;
+17568 146 50 84;
+17570 132 60 0;
+17570 130 51 0;
+17658 148 62 80;
+17668 132 65 0;
+17785 148 67 80;
+17792 145 70 88;
+17794 132 62 0;
+17794 147 55 80;
+17794 129 69 0;
+17794 146 55 94;
+17809 130 50 0;
+17809 131 50 0;
+18129 130 55 0;
+18129 131 55 0;
+18152 146 55 80;
+18157 147 55 88;
+18170 145 72 94;
+18185 129 70 0;
+18205 132 67 0;
+18228 130 55 0;
+18230 131 55 0;
+18253 146 55 79;
+18258 147 55 80;
+18276 145 70 92;
+18281 148 67 88;
+18288 129 72 0;
+18366 147 58 84;
+18366 146 58 84;
+18371 131 55 0;
+18373 130 55 0;
+18474 132 67 0;
+18489 145 69 79;
+18489 146 57 92;
+18489 147 57 88;
+18504 131 58 0;
+18504 129 70 0;
+18504 148 65 88;
+18504 130 58 0;
+18566 145 70 80;
+18579 129 69 0;
+18649 145 69 79;
+18659 129 70 0;
+18729 146 50 88;
+18729 130 57 0;
+18731 147 50 80;
+18738 131 57 0;
+18738 145 65 80;
+18758 129 69 0;
+18843 148 62 80;
+18869 132 65 0;
+18949 145 62 76;
+18954 148 58 88;
+18956 132 62 0;
+18961 129 65 0;
+19057 148 57 80;
+19077 132 58 0;
+19183 145 67 79;
+19183 148 55 88;
+19185 147 48 88;
+19185 146 48 88;
+19190 132 57 0;
+19190 131 50 0;
+19190 130 50 0;
+19192 129 62 0;
+19290 148 53 88;
+19310 132 55 0;
+19416 148 51 80;
+19423 145 60 88;
+19425 132 53 0;
+19448 129 67 0;
+19661 145 62 76;
+19661 147 46 80;
+19671 146 46 92;
+19671 131 48 0;
+19681 129 60 0;
+19683 130 48 0;
+19888 145 63 80;
+19895 129 62 0;
+19895 146 44 80;
+19900 147 44 76;
+19900 148 56 88;
+19910 130 46 0;
+19920 132 51 0;
+19922 131 46 0;
+20005 146 46 92;
+20005 129 63 0;
+20005 147 46 79;
+20015 130 44 0;
+20015 131 44 0;
+20121 146 48 80;
+20131 145 63 76;
+20131 147 48 88;
+20136 130 46 0;
+20151 131 46 0;
+20262 129 63 0;
+20358 146 46 88;
+20365 148 55 92;
+20367 145 63 77;
+20377 130 48 0;
+20379 132 56 0;
+20467 146 45 88;
+20485 130 46 0;
+20555 129 63 0;
+20562 132 55 0;
+20590 145 62 69;
+20590 146 43 80;
+20595 147 46 78;
+20597 130 45 0;
+20602 148 55 88;
+20607 131 48 0;
+20708 147 45 80;
+20728 131 46 0;
+20821 131 45 0;
+20821 147 43 72;
+20828 145 67 80;
+20835 129 62 0;
+20944 148 53 80;
+20954 132 55 0;
+21045 130 43 0;
+21058 148 51 88;
+21063 145 55 79;
+21065 147 55 88;
+21065 132 53 0;
+21072 129 67 0;
+21082 131 43 0;
+21165 148 53 79;
+21172 132 51 0;
+21286 148 41 80;
+21286 194 66;
+21293 146 72 79;
+21293 145 56 80;
+21293 147 53 88;
+21295 132 53 0;
+21302 129 55 0;
+21302 131 55 0;
+21400 145 55 79;
+21423 129 56 0;
+21514 145 56 80;
+21532 129 55 0;
+21623 148 44 80;
+21628 145 53 79;
+21630 147 56 80;
+21632 132 41 0;
+21642 129 56 0;
+21642 131 53 0;
+21704 146 74 88;
+21722 130 72 0;
+21727 145 58 80;
+21727 148 43 80;
+21729 132 44 0;
+21736 147 55 84;
+21738 129 53 0;
+21738 131 56 0;
+21826 145 55 80;
+21836 129 58 0;
+21953 145 60 80;
+21960 146 75 88;
+21962 129 55 0;
+21962 148 48 80;
+21962 130 74 0;
+21962 147 60 94;
+21977 131 55 0;
+21977 132 43 0;
+22297 131 60 0;
+22297 132 48 0;
+22320 147 60 80;
+22325 148 48 88;
+22338 146 77 94;
+22353 130 75 0;
+22373 129 60 0;
+22396 131 60 0;
+22398 132 48 0;
+22421 147 60 79;
+22426 148 48 80;
+22444 146 75 92;
+22449 145 60 88;
+22456 130 77 0;
+22534 148 51 84;
+22534 147 63 84;
+22539 132 48 0;
+22541 131 60 0;
+22642 129 60 0;
+22657 146 74 79;
+22657 147 62 92;
+22657 148 50 88;
+22672 132 51 0;
+22672 145 58 88;
+22672 130 75 0;
+22672 131 63 0;
+22734 146 75 80;
+22747 130 74 0;
+22817 146 74 79;
+22827 130 75 0;
+22897 147 55 88;
+22897 131 62 0;
+22899 148 43 80;
+22906 132 50 0;
+22906 146 70 80;
+22926 130 74 0;
+23011 145 55 80;
+23037 129 58 0;
+23117 146 67 76;
+23122 145 51 88;
+23124 129 55 0;
+23129 130 70 0;
+23225 145 50 80;
+23245 129 51 0;
+23351 146 72 79;
+23351 145 48 88;
+23353 148 41 88;
+23353 147 53 88;
+23358 129 50 0;
+23358 132 43 0;
+23358 131 55 0;
+23360 130 67 0;
+23458 145 46 88;
+23478 129 48 0;
+23584 145 44 80;
+23591 146 65 88;
+23593 129 46 0;
+23616 130 72 0;
+23829 146 67 76;
+23829 148 39 80;
+23839 147 51 92;
+23839 132 41 0;
+23849 130 65 0;
+23851 131 53 0;
+24056 146 68 80;
+24063 130 67 0;
+24063 147 49 80;
+24068 145 49 88;
+24068 148 37 76;
+24078 131 51 0;
+24088 129 44 0;
+24090 132 39 0;
+24173 147 51 92;
+24173 130 68 0;
+24173 148 39 79;
+24183 131 49 0;
+24183 132 37 0;
+24289 147 53 80;
+24299 146 68 76;
+24299 148 41 88;
+24304 131 51 0;
+24319 132 39 0;
+24430 130 68 0;
+24526 147 51 88;
+24533 145 48 92;
+24535 146 68 77;
+24545 131 53 0;
+24547 129 49 0;
+24635 147 50 88;
+24653 131 51 0;
+24723 130 68 0;
+24730 129 48 0;
+24758 146 67 69;
+24758 147 48 80;
+24763 148 39 78;
+24765 131 50 0;
+24770 145 48 88;
+24775 132 41 0;
+24876 148 38 80;
+24896 132 39 0;
+24989 132 38 0;
+24989 148 36 72;
+24996 146 72 80;
+25003 130 67 0;
+25112 145 46 80;
+25122 129 48 0;
+25213 131 48 0;
+25226 145 44 88;
+25231 146 60 79;
+25233 148 48 88;
+25233 129 46 0;
+25240 130 72 0;
+25250 132 36 0;
+25333 145 46 79;
+25340 129 44 0;
+25454 145 34 80;
+25454 195 99;
+25461 147 77 79;
+25461 146 61 80;
+25461 148 46 88;
+25463 129 46 0;
+25470 130 60 0;
+25470 132 48 0;
+25568 146 60 79;
+25591 130 61 0;
+25682 146 61 80;
+25700 130 60 0;
+25791 145 37 80;
+25796 146 58 79;
+25798 148 49 80;
+25800 129 34 0;
+25810 130 61 0;
+25810 132 46 0;
+25872 147 79 88;
+25890 131 77 0;
+25895 146 63 80;
+25895 145 36 80;
+25897 129 37 0;
+25904 148 48 84;
+25906 130 58 0;
+25906 132 49 0;
+25994 146 60 80;
+26004 130 63 0;
+26121 146 65 80;
+26128 147 80 88;
+26130 130 60 0;
+26130 145 41 80;
+26130 131 79 0;
+26130 148 53 94;
+26145 129 36 0;
+26145 132 48 0;
+26465 132 53 0;
+26465 129 41 0;
+26488 148 53 80;
+26493 145 41 88;
+26506 147 82 94;
+26521 131 80 0;
+26541 130 65 0;
+26564 132 53 0;
+26566 129 41 0;
+26589 148 53 79;
+26594 145 41 80;
+26612 147 80 92;
+26617 146 65 88;
+26624 131 82 0;
+26702 145 44 84;
+26702 148 56 84;
+26707 129 41 0;
+26709 132 53 0;
+26810 130 65 0;
+26825 147 79 79;
+26825 148 55 92;
+26825 145 43 88;
+26840 129 44 0;
+26840 146 63 88;
+26840 131 80 0;
+26840 132 56 0;
+26902 147 80 80;
+26915 131 79 0;
+26985 147 79 79;
+26995 131 80 0;
+27065 148 48 88;
+27065 132 55 0;
+27067 145 36 80;
+27074 129 43 0;
+27074 147 75 80;
+27094 131 79 0;
+27179 146 60 80;
+27205 130 63 0;
+27285 147 72 76;
+27290 146 56 88;
+27292 130 60 0;
+27297 131 75 0;
+27393 146 55 80;
+27413 130 56 0;
+27519 147 77 79;
+27519 146 53 88;
+27521 145 34 88;
+27521 148 46 88;
+27526 130 55 0;
+27526 129 36 0;
+27526 132 48 0;
+27528 131 72 0;
+27626 146 51 88;
+27646 130 53 0;
+27752 146 49 80;
+27759 147 70 88;
+27761 130 51 0;
+27784 131 77 0;
+27997 145 32 80;
+27997 147 72 76;
+28007 129 34 0;
+28007 148 44 92;
+28017 131 70 0;
+28019 132 46 0;
+28224 147 73 80;
+28231 131 72 0;
+28231 148 42 80;
+28236 145 30 76;
+28236 146 54 88;
+28246 132 44 0;
+28256 130 49 0;
+28258 129 32 0;
+28341 148 44 92;
+28341 131 73 0;
+28341 145 32 79;
+28351 129 30 0;
+28351 132 42 0;
+28457 148 46 80;
+28467 145 34 88;
+28467 147 73 76;
+28472 132 44 0;
+28487 129 32 0;
+28598 131 73 0;
+28694 148 44 88;
+28701 146 53 92;
+28703 147 73 77;
+28713 132 46 0;
+28715 130 54 0;
+28803 148 43 88;
+28821 132 44 0;
+28891 131 73 0;
+28898 130 53 0;
+28926 147 72 69;
+28926 148 41 80;
+28931 145 32 78;
+28933 132 43 0;
+28938 146 53 88;
+28943 129 34 0;
+29044 145 31 80;
+29064 129 32 0;
+29157 129 31 0;
+29157 145 29 72;
+29164 147 77 80;
+29171 131 72 0;
+29280 146 51 80;
+29290 130 53 0;
+29381 132 41 0;
+29394 146 49 88;
+29399 147 65 79;
+29401 145 41 88;
+29401 130 51 0;
+29408 131 77 0;
+29418 129 29 0;
+29501 146 51 79;
+29508 130 49 0;
+29622 146 39 80;
+29622 196 47;
+29629 148 70 79;
+29629 145 39 88;
+29629 147 66 80;
+29631 130 51 0;
+29638 131 65 0;
+29638 129 41 0;
+29736 147 65 79;
+29759 131 66 0;
+29850 147 66 80;
+29868 131 65 0;
+29959 146 42 80;
+29964 147 63 79;
+29966 145 42 80;
+29968 130 39 0;
+29978 131 66 0;
+29978 129 39 0;
+30040 148 72 88;
+30058 132 70 0;
+30063 147 68 80;
+30063 146 41 80;
+30065 130 42 0;
+30072 145 41 84;
+30074 131 63 0;
+30074 129 42 0;
+30162 147 65 80;
+30172 131 68 0;
+30289 147 70 80;
+30296 148 73 88;
+30298 131 65 0;
+30298 146 46 80;
+30298 132 72 0;
+30298 145 46 94;
+30313 129 41 0;
+30313 130 41 0;
+30633 129 46 0;
+30633 130 46 0;
+30656 145 46 80;
+30661 146 46 88;
+30674 148 75 94;
+30689 132 73 0;
+30709 131 70 0;
+30732 129 46 0;
+30734 130 46 0;
+30757 145 46 79;
+30762 146 46 80;
+30780 148 73 92;
+30785 147 70 88;
+30792 132 75 0;
+30870 146 49 84;
+30870 145 49 84;
+30875 130 46 0;
+30877 129 46 0;
+30978 131 70 0;
+30993 148 72 79;
+30993 145 48 92;
+30993 146 48 88;
+31008 130 49 0;
+31008 147 68 88;
+31008 132 73 0;
+31008 129 49 0;
+31070 148 73 80;
+31083 132 72 0;
+31153 148 72 79;
+31163 132 73 0;
+31233 145 41 88;
+31233 129 48 0;
+31235 146 41 80;
+31242 130 48 0;
+31242 148 68 80;
+31262 132 72 0;
+31347 147 65 80;
+31373 131 68 0;
+31453 148 65 76;
+31458 147 61 88;
+31460 131 65 0;
+31465 132 68 0;
+31561 147 60 80;
+31581 131 61 0;
+31687 148 70 79;
+31687 147 58 88;
+31689 146 39 88;
+31689 145 39 88;
+31694 131 60 0;
+31694 130 41 0;
+31694 129 41 0;
+31696 132 65 0;
+31794 147 56 88;
+31814 131 58 0;
+31920 147 54 80;
+31927 148 63 88;
+31929 131 56 0;
+31952 132 70 0;
+32165 146 37 80;
+32165 148 65 76;
+32175 145 37 92;
+32175 130 39 0;
+32185 132 63 0;
+32187 129 39 0;
+32392 148 66 80;
+32399 132 65 0;
+32399 145 35 80;
+32404 146 35 76;
+32404 147 59 88;
+32414 129 37 0;
+32424 131 54 0;
+32426 130 37 0;
+32509 145 37 92;
+32509 132 66 0;
+32509 146 37 79;
+32519 129 35 0;
+32519 130 35 0;
+32625 145 39 80;
+32635 146 39 88;
+32635 148 66 76;
+32640 129 37 0;
+32655 130 37 0;
+32766 132 66 0;
+32862 145 37 88;
+32869 147 58 92;
+32871 148 66 77;
+32881 129 39 0;
+32883 131 59 0;
+32971 145 36 88;
+32989 129 37 0;
+33059 132 66 0;
+33066 131 58 0;
+33094 148 65 69;
+33094 145 34 80;
+33099 146 37 78;
+33101 129 36 0;
+33106 147 58 88;
+33111 130 39 0;
+33212 146 36 80;
+33232 130 37 0;
+33325 130 36 0;
+33325 146 34 72;
+33332 148 70 80;
+33339 132 65 0;
+33448 147 56 80;
+33458 131 58 0;
+33549 129 34 0;
+33562 147 54 88;
+33567 148 58 79;
+33569 146 46 88;
+33569 131 56 0;
+33576 132 70 0;
+33586 130 34 0;
+33669 147 56 79;
+33676 131 54 0;
+33790 147 44 80;
+33800 146 44 88;
+33800 148 59 80;
+33802 131 56 0;
+33809 132 58 0;
+33809 130 46 0;
+33907 148 58 79;
+33930 132 59 0;
+34021 148 59 80;
+34039 132 58 0;
+34130 147 47 80;
+34135 148 56 79;
+34137 146 47 80;
+34139 131 44 0;
+34149 132 59 0;
+34149 130 44 0;
+34240 148 61 80;
+34240 147 46 80;
+34242 131 47 0;
+34249 146 46 84;
+34251 132 56 0;
+34251 130 47 0;
+34339 148 58 80;
+34349 132 61 0;
+34466 148 63 80;
+34479 132 58 0;
+34479 147 51 80;
+34481 146 51 94;
+34496 130 46 0;
+34496 131 46 0;
+34816 130 51 0;
+34816 131 51 0;
+34839 146 51 80;
+34844 147 51 88;
+34896 132 63 0;
+34919 130 51 0;
+34921 131 51 0;
+34944 146 51 79;
+34949 147 51 80;
+34972 148 63 88;
+35060 147 54 84;
+35060 146 54 84;
+35065 131 51 0;
+35067 130 51 0;
+35168 132 63 0;
+35183 146 53 92;
+35183 147 53 88;
+35198 131 54 0;
+35198 148 61 88;
+35198 130 54 0;
+35432 146 46 88;
+35432 130 53 0;
+35434 147 46 80;
+35441 131 53 0;
+35552 148 58 80;
+35578 132 61 0;
+35666 148 54 88;
+35668 132 58 0;
+35772 148 53 80;
+35792 132 54 0;
+35901 148 51 88;
+35903 147 44 88;
+35903 146 44 88;
+35908 132 53 0;
+35908 131 46 0;
+35908 130 46 0;
+36009 148 49 88;
+36029 132 51 0;
+36135 148 47 80;
+36145 132 49 0;
+36384 147 42 80;
+36394 146 42 92;
+36394 131 44 0;
+36409 130 44 0;
+36625 146 40 80;
+36630 147 40 76;
+36630 148 52 88;
+36640 130 42 0;
+36650 132 47 0;
+36652 131 42 0;
+36735 146 42 92;
+36737 147 42 79;
+36747 130 40 0;
+36747 131 40 0;
+36853 146 44 80;
+36863 147 44 88;
+36868 130 42 0;
+36883 131 42 0;
+37093 146 42 88;
+37100 148 51 92;
+37115 130 44 0;
+37117 132 52 0;
+37205 146 41 88;
+37223 130 42 0;
+37301 132 51 0;
+37332 146 39 80;
+37337 147 42 78;
+37339 130 41 0;
+37344 148 51 88;
+37349 131 44 0;
+37450 147 41 80;
+37470 131 42 0;
+37563 131 41 0;
+37563 147 39 72;
+37693 148 49 80;
+37703 132 51 0;
+37794 130 39 0;
+37807 148 47 88;
+37814 147 51 88;
+37814 132 49 0;
+37834 131 39 0;
+37917 148 49 79;
+37924 132 47 0;
+38038 148 37 80;
+38048 147 49 88;
+38050 132 49 0;
+38060 131 51 0;
+38388 148 40 80;
+38398 147 52 80;
+38400 132 37 0;
+38410 131 49 0;
+38503 148 39 80;
+38505 132 40 0;
+38512 147 51 84;
+38517 131 52 0;
+38753 148 44 80;
+38755 147 56 94;
+38770 131 51 0;
+38770 132 39 0;
+39090 131 56 0;
+39090 132 44 0;
+39113 147 56 80;
+39118 148 44 88;
+39196 131 56 0;
+39198 132 44 0;
+39221 147 56 79;
+39226 148 44 80;
+39340 148 47 84;
+39340 147 59 84;
+39345 132 44 0;
+39347 131 56 0;
+39466 147 58 92;
+39466 148 46 88;
+39481 132 47 0;
+39481 131 59 0;
+39715 147 51 88;
+39715 131 58 0;
+39717 148 39 80;
+39724 132 46 0;
+40203 148 37 88;
+40203 147 49 88;
+40210 132 39 0;
+40210 131 51 0;
+40696 148 35 80;
+40706 147 47 92;
+40706 132 37 0;
+40721 131 49 0;
+40937 147 45 80;
+40942 148 33 76;
+40952 131 47 0;
+40967 132 35 0;
+41050 147 47 92;
+41052 148 35 79;
+41062 131 45 0;
+41062 132 33 0;
+41168 147 49 80;
+41178 148 37 88;
+41183 131 47 0;
+41198 132 35 0;
+41408 147 47 88;
+41434 131 49 0;
+41527 147 46 88;
+41545 131 47 0;
+41656 147 44 80;
+41661 148 35 78;
+41663 131 46 0;
+41676 132 37 0;
+41777 148 34 80;
+41797 132 35 0;
+41890 132 34 0;
+41890 148 32 72;
+42126 131 44 0;
+42149 148 44 88;
+42169 132 32 0;
+42392 148 42 88;
+42407 132 44 0;
+42748 148 45 80;
+42763 132 42 0;
+42869 148 44 84;
+42874 132 45 0;
+43116 148 49 94;
+43131 132 44 0;
+43451 132 49 0;
+43474 148 49 80;
+43557 132 49 0;
+43583 148 49 79;
+43708 148 52 84;
+43718 132 49 0;
+43837 148 51 92;
+43857 132 52 0;
+44091 148 44 88;
+44091 132 51 0;
+44585 148 42 88;
+44595 132 44 0;
+45095 148 40 92;
+45110 132 42 0;
+45326 148 38 80;
+45344 132 40 0;
+45442 148 40 92;
+45457 132 38 0;
+45563 148 42 80;
+45578 132 40 0;
+45807 148 40 88;
+45833 132 42 0;
+45926 148 39 88;
+45944 132 40 0;
+46055 148 37 80;
+46062 132 39 0;
+46535 132 37 0;
diff --git a/test/cyclone/testmess-reentrant.pd b/test/cyclone/testmess-reentrant.pd
new file mode 100644
index 0000000..afac922
--- /dev/null
+++ b/test/cyclone/testmess-reentrant.pd
@@ -0,0 +1,25 @@
+#N canvas 326 112 405 388 12;
+#X obj 67 328 print;
+#X obj 67 57 t a b;
+#X obj 67 136 spigot;
+#X msg 193 95 1;
+#X msg 194 136 0;
+#X msg 117 220 -9 -8 -7 -6 -5 -4 -3 -2 -1;
+#X msg 67 19 test this mess;
+#X msg 92 254 test;
+#X obj 92 290 testmess 16 heap;
+#X obj 67 95 testmess 8;
+#X obj 67 181 t a b b b;
+#X connect 1 0 9 0;
+#X connect 1 1 3 0;
+#X connect 2 0 10 0;
+#X connect 3 0 2 1;
+#X connect 4 0 2 1;
+#X connect 5 0 9 0;
+#X connect 6 0 1 0;
+#X connect 7 0 8 0;
+#X connect 9 0 2 0;
+#X connect 10 0 0 0;
+#X connect 10 1 7 0;
+#X connect 10 2 5 0;
+#X connect 10 3 4 0;
diff --git a/test/cyclone/testmess-test.pd b/test/cyclone/testmess-test.pd
new file mode 100644
index 0000000..442ffc3
--- /dev/null
+++ b/test/cyclone/testmess-test.pd
@@ -0,0 +1,69 @@
+#N canvas 319 97 771 509 12;
+#X obj 97 235 until;
+#X msg 97 266 test;
+#X obj 68 202 t b 0 b;
+#X obj 62 371 realtime;
+#X floatatom 62 411 0 0 0;
+#X obj 346 235 until;
+#X msg 346 266 test;
+#X obj 317 202 t b 0 b;
+#X obj 311 371 realtime;
+#X floatatom 311 411 0 0 0;
+#X obj 614 235 until;
+#X msg 614 266 test;
+#X obj 579 371 realtime;
+#X floatatom 579 411 0 0 0;
+#X obj 317 49 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1
+;
+#X obj 317 18 loadbang;
+#X obj 346 299 testmess 1 heap;
+#X obj 346 332 testmess 1 heap;
+#X obj 614 332 testmess 1;
+#X obj 614 299 testmess 1;
+#X obj 97 299 testmess 1 stack;
+#X obj 97 332 testmess 1 stack;
+#X msg 585 166 1000;
+#X msg 317 166 1000;
+#X msg 68 166 1000;
+#X msg 416 239 set \$1;
+#X obj 317 112 t b b;
+#X obj 585 202 t b 0 b;
+#X obj 317 79 metro 500;
+#X floatatom 501 112 5 0 0;
+#X obj 416 202 random 120;
+#X connect 0 0 1 0;
+#X connect 1 0 20 0;
+#X connect 2 0 3 1;
+#X connect 2 1 0 0;
+#X connect 2 2 3 0;
+#X connect 3 0 4 0;
+#X connect 5 0 6 0;
+#X connect 6 0 16 0;
+#X connect 7 0 8 1;
+#X connect 7 1 5 0;
+#X connect 7 2 8 0;
+#X connect 8 0 9 0;
+#X connect 10 0 11 0;
+#X connect 11 0 19 0;
+#X connect 12 0 13 0;
+#X connect 14 0 28 0;
+#X connect 15 0 14 0;
+#X connect 16 0 17 0;
+#X connect 19 0 18 0;
+#X connect 20 0 21 0;
+#X connect 22 0 27 0;
+#X connect 23 0 7 0;
+#X connect 24 0 2 0;
+#X connect 25 0 16 0;
+#X connect 25 0 19 0;
+#X connect 25 0 20 0;
+#X connect 26 0 24 0;
+#X connect 26 0 22 0;
+#X connect 26 0 23 0;
+#X connect 26 1 30 0;
+#X connect 27 0 12 1;
+#X connect 27 1 10 0;
+#X connect 27 2 12 0;
+#X connect 28 0 26 0;
+#X connect 29 0 30 1;
+#X connect 30 0 25 0;
diff --git a/test/cyclone/thresh-test.pd b/test/cyclone/thresh-test.pd
new file mode 100644
index 0000000..35e8ab7
--- /dev/null
+++ b/test/cyclone/thresh-test.pd
@@ -0,0 +1,41 @@
+#N canvas 415 237 602 431 12;
+#X obj 339 290 print;
+#X msg 339 173 1 test \, 2 test \, 3 test;
+#X obj 339 256 thresh;
+#X msg 472 218 300;
+#X msg 516 218 1000;
+#X msg 388 218 0;
+#X msg 430 218 10;
+#X msg 276 173 99;
+#X msg 315 55 33;
+#X obj 315 129 pipe 1;
+#X obj 315 89 t 0 0;
+#X obj 87 206 pipe 900;
+#X msg 154 173 900;
+#X msg 199 173 1000;
+#X obj 87 89 t b b b;
+#X msg 87 129 12;
+#X msg 175 129 11;
+#X msg 130 129 0;
+#X msg 87 55 bang;
+#X connect 1 0 2 0;
+#X connect 2 0 0 0;
+#X connect 3 0 2 1;
+#X connect 4 0 2 1;
+#X connect 5 0 2 1;
+#X connect 6 0 2 1;
+#X connect 7 0 2 0;
+#X connect 8 0 10 0;
+#X connect 9 0 2 0;
+#X connect 10 0 9 0;
+#X connect 10 1 2 0;
+#X connect 11 0 2 0;
+#X connect 12 0 11 1;
+#X connect 13 0 11 1;
+#X connect 14 0 15 0;
+#X connect 14 1 17 0;
+#X connect 14 2 16 0;
+#X connect 15 0 11 0;
+#X connect 16 0 2 0;
+#X connect 17 0 2 1;
+#X connect 18 0 14 0;
diff --git a/test/cyclone/tosymbol-test.pd b/test/cyclone/tosymbol-test.pd
new file mode 100644
index 0000000..f207831
--- /dev/null
+++ b/test/cyclone/tosymbol-test.pd
@@ -0,0 +1,44 @@
+#N canvas 200 14 639 535 12;
+#X obj 190 190 tosymbol;
+#X msg 201 84 test;
+#X obj 190 221 print;
+#X msg 190 51 symbol test;
+#X msg 259 84 bang;
+#X msg 265 150 1 2 3;
+#X msg 132 84 -0.99;
+#X msg 265 119 one two three;
+#X obj 28 221 prepend set;
+#X msg 28 257 test;
+#X msg 26 84 separator;
+#X msg 26 115 separator /;
+#X msg 405 119 one 2 3;
+#X msg 341 150 1 two three;
+#X msg 26 146 separator ----;
+#X obj 329 51 testmess 300;
+#X msg 414 20 test;
+#X msg 329 20 7e+10;
+#X msg 264 20 bang;
+#X obj 478 51 testmess 3000;
+#X msg 478 20 huge mess;
+#X obj 478 82 print;
+#X connect 0 0 2 0;
+#X connect 0 0 8 0;
+#X connect 1 0 0 0;
+#X connect 3 0 0 0;
+#X connect 4 0 0 0;
+#X connect 5 0 0 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X connect 8 0 9 0;
+#X connect 10 0 0 0;
+#X connect 11 0 0 0;
+#X connect 12 0 0 0;
+#X connect 13 0 0 0;
+#X connect 14 0 0 0;
+#X connect 15 0 0 0;
+#X connect 16 0 15 0;
+#X connect 17 0 15 0;
+#X connect 18 0 15 0;
+#X connect 19 0 0 0;
+#X connect 19 0 21 0;
+#X connect 20 0 19 0;
diff --git a/test/cyclone/train-test.pd b/test/cyclone/train-test.pd
new file mode 100644
index 0000000..cbf6c4a
--- /dev/null
+++ b/test/cyclone/train-test.pd
@@ -0,0 +1,17 @@
+#N canvas 450 299 450 300 12;
+#X floatatom 71 50 5 0 0 0 - - -;
+#X floatatom 95 77 5 0 0 0 - - -;
+#X floatatom 120 108 5 0 0 0 - - -;
+#X floatatom 71 229 5 0 0 0 - - -;
+#X obj 158 229 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 201 187 capture~;
+#X obj 71 144 train~;
+#X obj 71 187 Snapshot~ 20;
+#X connect 0 0 6 0;
+#X connect 1 0 6 1;
+#X connect 2 0 6 2;
+#X connect 6 0 5 0;
+#X connect 6 0 7 0;
+#X connect 6 1 4 0;
+#X connect 7 0 3 0;
diff --git a/test/cyclone/trig-test.pd b/test/cyclone/trig-test.pd
new file mode 100644
index 0000000..b4888f8
--- /dev/null
+++ b/test/cyclone/trig-test.pd
@@ -0,0 +1,66 @@
+#N canvas 337 140 550 476 12;
+#X obj 171 59 acos;
+#X floatatom 171 33 5 0 0 0 - - -;
+#X floatatom 171 88 0 0 0 0 - - -;
+#X msg 236 33 bang;
+#X floatatom 297 33 5 0 0 0 - - -;
+#X floatatom 297 88 0 0 0 0 - - -;
+#X obj 297 59 asin;
+#X floatatom 101 139 5 0 0 0 - - -;
+#X floatatom 101 194 0 0 0 0 - - -;
+#X obj 101 165 cosh;
+#X floatatom 230 139 5 0 0 0 - - -;
+#X floatatom 230 194 0 0 0 0 - - -;
+#X obj 230 165 sinh;
+#X floatatom 366 139 5 0 0 0 - - -;
+#X floatatom 366 194 0 0 0 0 - - -;
+#X obj 366 165 tanh;
+#X floatatom 40 320 5 0 0 0 - - -;
+#X floatatom 40 405 0 0 0 0 - - -;
+#X obj 40 346 cartopol;
+#X floatatom 107 376 0 0 0 0 - - -;
+#X floatatom 107 320 5 0 0 0 - - -;
+#X floatatom 196 320 5 0 0 0 - - -;
+#X floatatom 196 405 0 0 0 0 - - -;
+#X floatatom 263 376 0 0 0 0 - - -;
+#X floatatom 263 320 5 0 0 0 - - -;
+#X obj 196 346 poltocar;
+#X floatatom 346 320 5 0 0 0 - - -;
+#X floatatom 346 405 0 0 0 0 - - -;
+#X obj 346 346 cartopol;
+#X floatatom 413 376 0 0 0 0 - - -;
+#X floatatom 413 320 5 0 0 0 - - -;
+#X obj 40 282 MouseState;
+#X msg 40 253 poll;
+#X msg 95 253 nopoll;
+#X connect 0 0 2 0;
+#X connect 1 0 0 0;
+#X connect 3 0 0 0;
+#X connect 4 0 6 0;
+#X connect 6 0 5 0;
+#X connect 7 0 9 0;
+#X connect 9 0 8 0;
+#X connect 10 0 12 0;
+#X connect 12 0 11 0;
+#X connect 13 0 15 0;
+#X connect 15 0 14 0;
+#X connect 16 0 18 0;
+#X connect 18 0 17 0;
+#X connect 18 0 25 0;
+#X connect 18 1 19 0;
+#X connect 18 1 25 1;
+#X connect 20 0 18 1;
+#X connect 21 0 25 0;
+#X connect 24 0 25 1;
+#X connect 25 0 22 0;
+#X connect 25 0 28 0;
+#X connect 25 1 23 0;
+#X connect 25 1 28 1;
+#X connect 26 0 28 0;
+#X connect 28 0 27 0;
+#X connect 28 1 29 0;
+#X connect 30 0 28 1;
+#X connect 31 1 16 0;
+#X connect 31 2 20 0;
+#X connect 32 0 31 0;
+#X connect 33 0 31 0;
diff --git a/test/cyclone/universal-test.pd b/test/cyclone/universal-test.pd
new file mode 100644
index 0000000..a1b083d
--- /dev/null
+++ b/test/cyclone/universal-test.pd
@@ -0,0 +1,55 @@
+#N canvas 329 126 483 198 12;
+#X obj 25 60 universal;
+#X msg 25 25 print bang;
+#X obj 26 112 print one;
+#X obj 27 152 print two;
+#N canvas 0 0 384 238 sub 0;
+#X obj 25 60 universal;
+#X msg 25 25 print bang;
+#X msg 159 25 print bang;
+#X obj 159 60 universal 1;
+#X obj 26 112 print sub-one;
+#X obj 27 152 print sub-two;
+#N canvas 0 0 390 231 sub-sub 0;
+#X obj 25 60 universal;
+#X msg 25 25 print bang;
+#X msg 159 25 print bang;
+#X obj 159 60 universal 1;
+#X obj 26 112 print sub-sub-one;
+#X obj 27 152 print sub-sub-two;
+#X connect 1 0 0 0;
+#X connect 2 0 3 0;
+#X restore 212 151 pd sub-sub;
+#X connect 1 0 0 0;
+#X connect 2 0 3 0;
+#X restore 163 152 pd sub;
+#X msg 327 25 print bang;
+#N canvas 0 0 384 238 zub 0;
+#X obj 25 60 universal;
+#X msg 25 25 print bang;
+#X msg 159 25 print bang;
+#X obj 159 60 universal 1;
+#X obj 26 112 print zub-one;
+#X obj 27 152 print zub-two;
+#N canvas 0 0 390 231 zub-zub 0;
+#X obj 25 60 universal;
+#X msg 25 25 print bang;
+#X msg 159 25 print bang;
+#X obj 159 60 universal 1;
+#X obj 26 112 print zub-zub-one;
+#X obj 27 152 print zub-zub-two;
+#X connect 1 0 0 0;
+#X connect 2 0 3 0;
+#X restore 212 151 pd zub-zub;
+#X connect 1 0 0 0;
+#X connect 2 0 3 0;
+#X restore 262 152 pd zub;
+#X obj 327 60 universal 1;
+#X msg 138 25 print;
+#X msg 206 25 print list;
+#X msg 137 74 list;
+#X connect 1 0 0 0;
+#X connect 5 0 7 0;
+#X connect 8 0 0 0;
+#X connect 9 0 0 0;
+#X connect 10 0 2 0;
diff --git a/test/cyclone/urn-test.pd b/test/cyclone/urn-test.pd
new file mode 100644
index 0000000..ab2787d
--- /dev/null
+++ b/test/cyclone/urn-test.pd
@@ -0,0 +1,15 @@
+#N canvas 433 476 450 300 12;
+#X obj 152 131 urn 10;
+#X obj 152 190 print;
+#X msg 152 73 bang;
+#X msg 220 73 clear;
+#X msg 94 73 99;
+#X msg 28 73 99.9;
+#X msg 295 72 10000;
+#X connect 0 0 1 0;
+#X connect 0 1 1 0;
+#X connect 2 0 0 0;
+#X connect 3 0 0 0;
+#X connect 4 0 0 0;
+#X connect 5 0 0 0;
+#X connect 6 0 0 1;
diff --git a/test/cyclone/vectral-test.pd b/test/cyclone/vectral-test.pd
new file mode 100644
index 0000000..dad2343
--- /dev/null
+++ b/test/cyclone/vectral-test.pd
@@ -0,0 +1,56 @@
+#N canvas 368 287 673 449 12;
+#X obj 268 277 Scope~ 307 152 2 3 128 0 1 0 0 0 0 102 255 51 135 135
+135 0;
+#X floatatom 303 111 5 0 0 0 - - -;
+#X msg 404 171 2;
+#X floatatom 404 200 5 0 0 0 - - -;
+#X msg 503 226 bufsize \$1;
+#X floatatom 503 200 5 0 0 0 - - -;
+#X floatatom 18 80 5 0 0 0 - - -;
+#X floatatom 80 80 5 0 0 0 - - -;
+#X floatatom 370 111 5 0 0 0 - - -;
+#X obj 303 137 sig~;
+#X obj 18 106 sig~;
+#X obj 80 106 sig~;
+#X obj 370 137 phasor~ 0.5;
+#X obj 267 227 vectral~ 256;
+#X obj 9 15 block~ 256;
+#X msg 503 171 128;
+#X msg 404 226 range 0 1;
+#X msg 23 180 slide \$1;
+#X floatatom 23 154 5 0 0 0 - - -;
+#X obj 267 54 count~ 0 256 1 1;
+#X floatatom 27 221 5 0 0 0 - - -;
+#X msg 27 345 deltaclip \$1 \$2;
+#X obj 27 253 t 0 0;
+#X obj 67 286 * -1;
+#X obj 27 316 pack;
+#X obj 303 86 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 24 406 capture~ 256;
+#X connect 1 0 9 0;
+#X connect 2 0 3 0;
+#X connect 3 0 0 0;
+#X connect 4 0 0 0;
+#X connect 5 0 4 0;
+#X connect 6 0 10 0;
+#X connect 7 0 11 0;
+#X connect 8 0 12 0;
+#X connect 9 0 13 2;
+#X connect 10 0 13 0;
+#X connect 11 0 13 1;
+#X connect 13 0 0 0;
+#X connect 13 0 26 0;
+#X connect 15 0 5 0;
+#X connect 16 0 0 0;
+#X connect 17 0 13 0;
+#X connect 18 0 17 0;
+#X connect 19 0 13 0;
+#X connect 19 0 13 1;
+#X connect 20 0 22 0;
+#X connect 21 0 13 0;
+#X connect 22 0 24 0;
+#X connect 22 1 23 0;
+#X connect 23 0 24 1;
+#X connect 24 0 21 0;
+#X connect 25 0 1 0;
diff --git a/test/cyclone/xbend-test.pd b/test/cyclone/xbend-test.pd
new file mode 100644
index 0000000..c7dcaa8
--- /dev/null
+++ b/test/cyclone/xbend-test.pd
@@ -0,0 +1,89 @@
+#N canvas 220 178 814 503 12;
+#X msg 124 18 145 \, 0 \, 64;
+#X msg 137 44 145 \, 1 \, 0;
+#X floatatom 39 18 5 0 0;
+#X msg 152 71 128 \, 2 \, 0;
+#X msg 42 71 1 2 3;
+#X msg 207 103 248;
+#X msg 160 103 240;
+#X obj 124 189 xbendin;
+#X obj 124 225 funnel 2;
+#X msg 198 143 224 \, 1 \, 2;
+#X obj 247 189 xbendin 1;
+#X obj 247 263 print single;
+#X obj 124 263 print omni;
+#X msg 311 143 225 \, 1 \, 2;
+#X msg 499 18 145 \, 0 \, 64;
+#X msg 512 44 145 \, 1 \, 0;
+#X floatatom 414 18 5 0 0;
+#X msg 527 71 128 \, 2 \, 0;
+#X msg 417 71 1 2 3;
+#X msg 582 103 248;
+#X msg 535 103 240;
+#X msg 573 143 224 \, 1 \, 2;
+#X obj 622 263 print single;
+#X obj 499 263 print omni;
+#X msg 686 143 225 \, 1 \, 2;
+#X obj 499 189 xbendin2;
+#X obj 499 225 funnel 3;
+#X obj 622 189 xbendin2 1;
+#X obj 622 225 funnel 2;
+#X obj 125 396 xbendout;
+#X obj 125 442 print;
+#X floatatom 125 327 5 0 0;
+#X floatatom 192 358 5 0 0;
+#X msg 50 358 bang;
+#X obj 424 438 print;
+#X floatatom 424 297 5 0 0;
+#X floatatom 462 327 5 0 0;
+#X msg 324 358 bang;
+#X obj 424 392 xbendout2;
+#X floatatom 500 358 5 0 0;
+#X msg 360 327 1 2 3;
+#X connect 0 0 7 0;
+#X connect 1 0 7 0;
+#X connect 2 0 7 0;
+#X connect 2 0 10 0;
+#X connect 3 0 7 0;
+#X connect 4 0 7 0;
+#X connect 4 0 10 0;
+#X connect 5 0 7 0;
+#X connect 6 0 7 0;
+#X connect 7 0 8 0;
+#X connect 7 1 8 1;
+#X connect 8 0 12 0;
+#X connect 9 0 7 0;
+#X connect 9 0 10 0;
+#X connect 10 0 11 0;
+#X connect 13 0 7 0;
+#X connect 13 0 10 0;
+#X connect 14 0 25 0;
+#X connect 15 0 25 0;
+#X connect 16 0 25 0;
+#X connect 16 0 27 0;
+#X connect 17 0 25 0;
+#X connect 18 0 25 0;
+#X connect 18 0 27 0;
+#X connect 19 0 25 0;
+#X connect 20 0 25 0;
+#X connect 21 0 25 0;
+#X connect 21 0 27 0;
+#X connect 24 0 25 0;
+#X connect 24 0 27 0;
+#X connect 25 0 26 0;
+#X connect 25 1 26 1;
+#X connect 25 2 26 2;
+#X connect 26 0 23 0;
+#X connect 27 0 28 0;
+#X connect 27 1 28 1;
+#X connect 28 0 22 0;
+#X connect 29 0 30 0;
+#X connect 31 0 29 0;
+#X connect 32 0 29 1;
+#X connect 33 0 29 0;
+#X connect 35 0 38 0;
+#X connect 36 0 38 1;
+#X connect 37 0 38 0;
+#X connect 38 0 34 0;
+#X connect 39 0 38 2;
+#X connect 40 0 38 0;
diff --git a/test/cyclone/xnote-test.pd b/test/cyclone/xnote-test.pd
new file mode 100644
index 0000000..8f9ac44
--- /dev/null
+++ b/test/cyclone/xnote-test.pd
@@ -0,0 +1,50 @@
+#N canvas 372 121 442 534 12;
+#X msg 124 18 145 \, 0 \, 64;
+#X msg 137 44 145 \, 1 \, 0;
+#X floatatom 39 18 5 0 0;
+#X msg 42 72 1 2 3;
+#X msg 207 103 248;
+#X msg 160 103 240;
+#X msg 198 143 224 \, 1 \, 2;
+#X obj 247 263 print single;
+#X obj 124 263 print omni;
+#X obj 116 482 print;
+#X floatatom 116 317 5 0 0;
+#X floatatom 138 341 5 0 0;
+#X msg 41 367 bang;
+#X obj 124 190 xnotein;
+#X obj 124 225 funnel 4;
+#X obj 247 225 funnel 3;
+#X obj 247 190 xnotein 2;
+#X msg 152 72 129 \, 2 \, 0;
+#X obj 116 436 xnoteout;
+#X floatatom 160 367 5 0 0;
+#X floatatom 183 392 5 0 0;
+#X connect 0 0 13 0;
+#X connect 0 0 16 0;
+#X connect 1 0 13 0;
+#X connect 1 0 16 0;
+#X connect 2 0 13 0;
+#X connect 2 0 16 0;
+#X connect 3 0 13 0;
+#X connect 3 0 16 0;
+#X connect 4 0 13 0;
+#X connect 5 0 13 0;
+#X connect 6 0 13 0;
+#X connect 10 0 18 0;
+#X connect 11 0 18 1;
+#X connect 12 0 18 0;
+#X connect 13 0 14 0;
+#X connect 13 1 14 1;
+#X connect 13 2 14 2;
+#X connect 13 3 14 3;
+#X connect 14 0 8 0;
+#X connect 15 0 7 0;
+#X connect 16 0 15 0;
+#X connect 16 1 15 1;
+#X connect 16 2 15 2;
+#X connect 17 0 13 0;
+#X connect 17 0 16 0;
+#X connect 18 0 9 0;
+#X connect 19 0 18 2;
+#X connect 20 0 18 3;
diff --git a/test/cyclone/zl-test.pd b/test/cyclone/zl-test.pd
new file mode 100644
index 0000000..64900d0
--- /dev/null
+++ b/test/cyclone/zl-test.pd
@@ -0,0 +1,148 @@
+#N canvas 442 94 629 579 12;
+#X msg 196 21 bang;
+#X obj 196 161 zl group 3;
+#X msg 296 21 a b c;
+#X msg 62 133 symbol test;
+#X floatatom 54 171 5 0 0 0 - - -;
+#X msg 307 171 bang;
+#X msg 308 105 symbol test;
+#X floatatom 308 133 5 0 0 0 - - -;
+#X msg 29 21 b c d e f;
+#X msg 69 489 mode len \, debug \, bang \, mode previous \, debug;
+#X msg 433 77 2nd;
+#X msg 433 21 1st;
+#X obj 433 105 testmess 150;
+#X obj 433 49 testmess 150;
+#X msg 69 517 mode reg \, debug \, bang \, mode previous \, debug;
+#X msg 111 171 debug 1;
+#X msg 54 77 -1 -2 -3 -4 -5;
+#X msg 308 77 -4 -5 -6;
+#X obj 524 237 zl;
+#X msg 524 209 bang;
+#X msg 462 209 debug;
+#X msg 406 297 mode rev \, bang;
+#X msg 487 21 set 1000;
+#X msg 488 77 set 1000;
+#X msg 406 353 mode union \, bang;
+#X msg 406 325 mode sect \, bang;
+#X floatatom 49 301 5 0 0 0 - - -;
+#X msg 172 271 mode group \$1 \, bang;
+#X floatatom 49 276 5 0 0 0 - - -;
+#X msg 172 327 mode slice \$1 \, bang;
+#X msg 406 381 mode join \, bang;
+#X msg 172 243 mode iter \$1 \, bang;
+#X floatatom 49 326 5 0 0 0 - - -;
+#X floatatom 49 251 5 0 0 0 - - -;
+#X msg 172 299 mode rot \$1 \, bang;
+#X msg 172 355 mode ecils \$1 \, bang;
+#X floatatom 49 351 5 0 0 0 - - -;
+#X obj 196 189 print left;
+#X obj 307 199 print right;
+#X msg 172 383 mode nth \$1 \, bang;
+#N canvas 0 0 450 300 prev 0;
+#X obj 45 39 r doit;
+#X obj 173 246 outlet;
+#X obj 45 75 route mode;
+#X obj 173 211 prepend mode;
+#X obj 173 177 zl reg;
+#X msg 173 143 bang;
+#X obj 45 109 route len reg previous;
+#X msg 92 177 debug 1;
+#X connect 0 0 2 0;
+#X connect 2 0 6 0;
+#X connect 3 0 1 0;
+#X connect 4 0 3 0;
+#X connect 5 0 4 0;
+#X connect 6 2 5 0;
+#X connect 6 3 4 1;
+#X connect 7 0 4 0;
+#X restore 206 105 pd prev;
+#X obj 41 549 s doit;
+#X obj 359 458 s doit;
+#X obj 196 133 r doit;
+#X obj 409 133 s doit;
+#X obj 104 458 s doit;
+#X floatatom 49 382 5 0 0 0 - - -;
+#X floatatom 49 407 5 0 0 0 - - -;
+#X msg 172 411 mode nth \$1 x \, bang;
+#X msg 406 409 mode sub \, bang;
+#X obj 29 199 s doit;
+#X msg 62 105 1 1 2 2 1 2;
+#X msg 45 49 1 a b c test;
+#X msg 259 49 1 2;
+#X msg 308 49 148 149;
+#X msg 487 133 bang;
+#N canvas 419 256 450 300 more 0;
+#X obj 118 117 zl sub;
+#X obj 78 78 t a a;
+#X obj 51 185 print upto;
+#X obj 170 185 print downfrom;
+#X msg 78 42 a list with a pattern to split upon;
+#X msg 167 78 a pattern;
+#X obj 51 150 zl slice;
+#X msg 271 78 a list;
+#X msg 351 78 upon;
+#X msg 23 42 bang;
+#X obj 23 78 t b b;
+#X connect 0 0 6 1;
+#X connect 1 0 6 0;
+#X connect 1 1 0 0;
+#X connect 4 0 1 0;
+#X connect 5 0 0 1;
+#X connect 6 0 2 0;
+#X connect 6 1 3 0;
+#X connect 7 0 0 1;
+#X connect 8 0 0 1;
+#X connect 9 0 10 0;
+#X connect 10 0 6 0;
+#X connect 10 1 0 0;
+#X restore 396 251 pd more;
+#X connect 0 0 1 0;
+#X connect 1 0 37 0;
+#X connect 1 1 38 0;
+#X connect 2 0 1 1;
+#X connect 3 0 50 0;
+#X connect 4 0 50 0;
+#X connect 5 0 1 1;
+#X connect 6 0 1 1;
+#X connect 7 0 1 1;
+#X connect 8 0 50 0;
+#X connect 9 0 41 0;
+#X connect 10 0 12 0;
+#X connect 11 0 13 0;
+#X connect 12 0 1 1;
+#X connect 13 0 44 0;
+#X connect 14 0 41 0;
+#X connect 15 0 1 0;
+#X connect 16 0 50 0;
+#X connect 17 0 1 1;
+#X connect 19 0 18 0;
+#X connect 20 0 18 0;
+#X connect 21 0 42 0;
+#X connect 22 0 13 0;
+#X connect 23 0 12 0;
+#X connect 24 0 42 0;
+#X connect 25 0 42 0;
+#X connect 26 0 34 0;
+#X connect 27 0 45 0;
+#X connect 28 0 27 0;
+#X connect 29 0 45 0;
+#X connect 30 0 42 0;
+#X connect 31 0 45 0;
+#X connect 32 0 29 0;
+#X connect 33 0 31 0;
+#X connect 34 0 45 0;
+#X connect 35 0 45 0;
+#X connect 36 0 35 0;
+#X connect 39 0 45 0;
+#X connect 40 0 1 0;
+#X connect 43 0 1 0;
+#X connect 46 0 39 0;
+#X connect 47 0 48 0;
+#X connect 48 0 45 0;
+#X connect 49 0 42 0;
+#X connect 51 0 50 0;
+#X connect 52 0 50 0;
+#X connect 53 0 1 1;
+#X connect 54 0 1 1;
+#X connect 55 0 12 0;