var SoundSpectrumHz = 15;
var SoundSpectrum = {
729:40,731:65,732:51,734:92,734:114,736:42,738:27,738:52,740:32,741:36,742:33,743:39,744:180,745:54,746:102,747:75,750:24,751:39,
758:32,759:112,761:58,761:58,763:60,763:28,765:37,766:35,767:32,768:94,769:76,770:158,772:96,773:54,775:57,777:78,779:39,779:94,
781:118,783:102,784:38,785:23,786:32,787:122,789:85,789:32,791:91,791:32,793:21,793:51,795:78,796:160,797:62,798:62,799:30,
800:49,802:24,802:40,804:97,805:65,806:92,807:109,809:88,810:24,811:34,812:24,814:70,814:32,816:32,816:162,818:55,819:116,
820:48,822:33,824:30,825:45,828:33,829:27,831:46,832:172,833:48,834:54,836:30,837:33,838:37,839:48,841:118,841:81,843:144,
846:40,847:36,848:32,849:34,851:60,851:37,853:98,853:108,855:46,857:61,858:36,859:37,860:112,861:46,862:28,863:72,864:72,
867:23,867:104,869:126,871:64,871:87,873:56,874:41,875:54,876:77,877:58,878:128,879:74,881:48,881:86,883:25,883:40,886:78,
887:38,888:86,889:164,890:42,892:153,892:33,894:26,896:30,900:43,901:28,903:38,904:136,906:34,906:44,910:32,912:68,913:84,
914:76,915:103,917:156,920:34,922:32,922:62,924:40,928:124,929:21,930:38,931:32,932:116,933:44,935:49,936:78,937:25,939:34,
940:124,941:100,942:21,943:51,945:35,945:25,947:29,947:50,949:92,950:56,951:112,952:72,954:32,955:44,956:173,958:42,959:148,
960:38,961:99,963:46,964:100,970:46,975:36,976:76,977:139,979:63,982:28,982:32,984:54,985:93,986:87,987:78,988:121,990:37,991:47,
992:36,993:31,995:34,998:34,999:40,1000:54,1001:21,1003:175,1004:169,1005:88,1017:75,1018:141,1019:96,1021:272,1021:79,1023:123,
1024:161,1025:61,1026:172,1027:146,1028:53,1029:120,1030:133,1031:218,1032:91,1034:202,1034:186,1036:102,1037:124,1038:128,
1039:194,1040:109,1041:208,1042:99,1044:60,1044:274,1046:135,1046:154,1048:143,1048:203,1051:84,1052:214,1053:58,1054:168,1055:126,
1056:108,1057:104,1059:143,1060:176,1061:170,1062:105,1063:97,1064:30,1065:132,1066:50,1067:97,1069:67,1069:38,1071:71,1071:54,
1073:144,1073:80,1075:134,1076:74,1077:48,1079:212,1080:180,1081:64,1083:40,1083:70,1085:164,1086:177,1087:94,1088:209,1089:102,
1091:220,1092:265,1094:262,1094:192,1096:213,1096:221,1098:140,1099:186,1100:124,1101:114,1102:108,1103:222,1104:178,1106:82,
1106:232,1108:119,1108:84,1110:168,1111:228,1112:126,1113:98,1114:228,1115:94,1116:180,1117:135,1119:84,1119:164,1121:142,1122:106,
1123:103,1124:164,1125:154,1126:76,1127:218,1128:66,1129:196,1131:69,1131:144,1133:178,1133:83,1135:200,1135:66,1137:101,1138:164,
1139:108,1140:174,1141:80,1142:137,1143:142,1145:169,1145:180,1147:154,1148:248,1149:92,1150:155,1151:200,1152:226,1153:164,1154:101,
1155:180,1156:105,1157:201,1158:210,1160:81,1161:178,1162:39,1163:72,1164:122,1165:148,1166:101,1167:56,1168:206,1170:83,1170:146,
1172:218,1172:136,1174:166,1174:74,1176:205,1177:170,1178:108,1179:230,1180:197,1181:206,1182:176,1184:219,1185:190,1186:131,1187:92,
1188:62,1189:205,1190:252,1191:224,1192:198,1193:140,1195:197,1195:96,1197:153,1197:122,1199:124,1200:151,1201:96,1202:120,1203:112,
1204:177,1205:215,1207:112,1207:220,1209:46,1209:170,1211:114,1211:102,1213:229,1214:98,1215:251,1216:122,1217:146,1218:128,1219:124,
1220:73,1221:58,1223:58,1224:41,1225:126,1226:80,1227:68,1228:196,1229:25,1230:158,1232:97,1232:150,1234:129,1236:70,1236:99,1238:214,
1239:106,1240:72,1241:172,1242:32,1243:120,1244:147,1246:185,1247:126,1248:137,1249:230,1250:129,1251:237,1252:140,1253:114,1254:132,
1255:160,1257:196,1257:82,1259:183,1259:70,1261:102,1262:200,1263:83,1264:191,1265:154,1266:215,1267:112,1269:130,1269:240,1271:64,
1271:202,1273:40,1273:192,1275:117,1276:124,1277:212,1278:60,1279:101,1280:128,1281:49,1282:65,1283:50,1288:56,1289:53,1292:103,1293:80,
1294:33,1298:105,1298:48,1300:23,1308:108,1308:252,1310:104,1310:194,1312:142,1312:196,1314:179,1315:144,1316:220,1317:96,1318:86,
1319:53,1320:156,1321:187,1322:96,1324:156,1325:140,1326:156,1327:126,1328:140,1329:165,1330:92,1331:148,1332:46,1333:122,1335:138,
1335:92,1337:93,1337:52,1339:32,1340:78,1341:57,1342:150,1343:93,1344:62,1345:48,1347:181,1347:114,1349:48,1349:138,1351:27,1351:48,
1353:32,1357:62,1358:58,1359:146,1360:70,1363:110,1364:122,1365:66,1366:49,1367:108,1368:54,1370:88,1372:40,1372:160,1374:46,1374:118,
1376:179,1378:123,1379:84,1380:194,1381:140,1382:265,1383:193,1384:118,1386:288,1387:116,1388:100,1389:160,1390:94,1391:112,1392:80,
1393:237,1395:186,1395:107,1397:96,1397:139,1399:229,1399:116,1401:129,1402:168,1403:85,1404:136,1405:99,1406:108,1407:98,1409:184,
1409:90,1411:66,1411:198,1413:231,1414:97,1436:53,1438:134,1438:50,1440:114,1441:62,1442:61,1443:120,1444:109,1445:157,1446:66,
1448:147,1448:68,1450:52,1450:110,1452:139,1453:154,1454:102,1455:118,1456:97,1457:34,1458:238,1459:124,1460:125,1461:103,1463:158,
1464:177,1465:164,1466:229,1467:82,1468:164,1469:187,1470:286,1471:260,1473:218,1473:232,1475:238,1475:170,1477:144,1477:42,1479:269,
1480:150,1481:181,1482:112,1483:126,1484:131,1485:42,1487:245,1487:92,1489:248,1489:192,1491:228,1492:229,1493:216,1494:213,1495:214,
1496:156,1497:171,1498:236,1499:220,1500:149,1502:60,1503:120,1504:201,1505:142,1506:51,1507:168,1508:99,1509:94,1510:189,1512:75,
1512:140,1514:227,1514:206,1516:132,1516:178,1518:101,1519:44,1520:173,1521:107,1522:136,1523:124,1524:156,1526:238,1527:259,1528:264,
1529:175,1530:206,1531:219,1532:125,1533:150,1534:124,1535:264,1536:102,1537:114,1539:204,1539:72,1541:240,1542:218,1543:260,1544:262,
1545:209,1546:180,1547:83,1549:197,1549:64,1551:149,1551:224,1553:168,1554:270,1555:157,1556:214,1557:158,1558:139,1559:204,1560:146,
1561:242,1562:200,1564:233,1565:232,1566:223,1567:261,1568:56,1569:116,1570:204,1571:182,1572:177,1574:78,1574:31,1576:232,1576:144,
1578:216,1578:214,1580:197,1581:208,1582:171,1583:102,1584:60,1585:123,1586:236,1588:166,1588:58,1590:199,1591:118,1592:106,1593:127,
1594:84,1595:176,1597:77,1597:198,1599:111,1599:132,1601:106,1601:28,1603:182,1604:113,1605:204,1606:212,1607:167,1608:188,1609:51,
1611:183,1611:144,1613:121,1614:278,1615:205,1616:220,1617:140,1618:202,1619:186,1620:130,1621:90,1622:137,1624:288,1624:232,1626:199,
1627:204,1628:174,1629:224,1630:111,1631:270,1632:102,1634:180,1634:146,1636:129,1636:181,1638:88,1638:202,1640:120,1640:139,1642:96,
1643:78,1644:207,1645:126,1646:108,1647:225,1648:94,1650:213,1650:150,1652:189,1653:158,1654:64,1655:79,1656:40,1657:54,1658:56,1659:155,
1661:80,1661:92,1663:153,1663:92,1665:148,1666:112,1667:142,1668:123,1669:142,1670:173,1671:84,1673:193,1673:85,1675:153,1676:176,
1677:112,1678:262,1679:115,1680:176,1681:113,1682:187,1683:228,1684:122,1686:164,1686:146,1688:266,1689:179,1690:128,1691:158,1692:95,
1693:122,1694:81,1696:126,1696:172,1698:135,1698:250,1700:194,1700:132,1702:88,1703:55,1704:202,1705:133,1706:212,1707:89,1708:84,
1709:100,1710:95,1712:166,1713:90,1714:125,1715:71,1716:33,1717:80,1719:30,1723:48,1723:48,1727:146,1728:106,1729:69,1730:60,1731:61,
1732:136,1733:216,1735:163,1736:24,1737:63,1738:198,1739:270,1740:218,1741:238,1742:294,1743:252,1744:263,1746:188,1746:146,1748:173,
1748:201,1750:312,1751:245,1752:223,1753:252,1754:250,1755:181,1756:166,1758:168,1758:269,1760:182,1760:276,1762:168,1762:142,1764:110,
1765:80,1766:130,1767:126,1769:276,1769:123,1771:252,1771:228,1773:120,1774:84,1775:80,1776:150,1777:135,1778:140,1779:190,1781:187,
1781:124,1783:203,1783:231,1785:194,1785:176,1787:184,1788:126,1789:130,1790:169,1791:103,1792:162,1793:204,1794:141,1795:126,1797:198,
1798:178,1799:81,1800:102,1801:150,1802:132,1803:168,1804:197,1805:124,1806:94,1808:94,1808:106,1810:112,1810:114,1812:145,1813:128,
1814:59,1815:161,1816:64,1817:119,1818:52,1820:56,1820:185,1822:64,1822:159,1824:97,1824:142,1826:104,1827:72,1828:162,1829:60,1830:262,
1831:156,1833:158,1833:104,1835:140,1836:163,1837:106,1838:108,1839:100,1840:166,1841:114,1843:75,1843:164,1845:81,1845:92,1847:106,
1847:92,1849:142,1850:73,1851:196,1852:79,1853:104,1854:104,1855:42,1856:148,1858:98,1859:188,1860:92,1861:67,1862:196,1863:62,1864:133,
1865:108,1866:193,1868:202,1868:170,1870:266,1870:116,1872:107,1872:140,1874:94,1875:184,1876:253,1877:187,1878:90,1879:151,1880:176,
1882:145,1882:212,1884:157,1884:244,1886:22,1887:136,1888:102,1889:95,1890:124,1891:41,1892:197,1893:72,1894:231,1895:185,1897:166,
1898:244,1899:91,1900:138,1901:162,1902:136,1903:210,1905:188,1905:176,1907:74,1907:94,1909:124,1910:88,1911:144,1912:81,1913:184,
1914:102,1915:138,1916:129,1917:48,1918:225,1920:204,1921:168,1922:66,1923:84,1924:154,1925:28,1926:142,1927:55,1928:133,1930:142,
1930:100,1932:202,1932:25,1934:260,1934:46,1936:144,1937:212,1938:207,1939:190,1940:181,1941:205,1942:104,1944:91,1944:178,1946:136,
1948:116,1949:198,1950:108,1951:66,1953:194,1955:98,1955:88,1957:207,1957:134,1959:56,1960:149,1961:66,1962:98,1963:68,1964:71,1965:132,
1966:32,1967:147,1969:94,1970:115,1971:91,1972:48,1973:181,1974:73,1975:254,1976:145,1977:184,1978:165,1980:72,1980:145,1982:94,1983:122,
1984:103,1985:124,1986:211,1987:70,1988:273,1989:243,1990:90,1992:64,1992:120,1994:215,1995:62,1996:180,1997:66,1998:80,1999:89,2000:47,
2001:137,2003:94,2003:217,2005:70,2006:73,2007:152,2009:32,2010:50,2011:111,2012:52,2013:85,2015:163,2017:127,2018:130,2019:88,2020:181,
2021:242,2022:183,2024:28,2025:52,2026:62,2028:98,2028:178,2030:173,2031:182,2032:253,2033:157,2034:174,2035:189,2036:148,2038:230,2038:92,
2040:204,2041:117,2042:147,2043:149,2044:89,2045:215,2046:108,2047:129,2048:138,2049:156,2051:194,2051:64,2053:145,2054:104,2055:189,
2056:94,2057:109,2058:214,2059:57,2061:33,2061:96,2063:45,2063:34,2065:126,2065:246,2067:116,2068:44,2069:62,2070:85,2071:132,2072:66,
2073:142,2074:60,2075:43,2079:135,2080:56,2081:27,2082:55,2083:124,2084:164,2086:38,2086:165,2088:45,2088:64,2090:52,2090:124,2092:94,
2093:38,2094:197,2095:71,2096:78,2097:71,2098:32,2100:220,2100:52,2102:200,2102:62,2104:182,2105:189,2106:96,2107:189,2108:122,2109:168,
2110:115,2111:154,2113:221,2113:102,2115:90,2116:76,2117:116,2118:198,2119:143,2120:124,2121:54,2123:189,2123:187,2125:100,2125:200,
2127:123,2127:216,2129:131,2130:142,2131:126,2132:96,2133:104,2134:46,2136:108,2136:29,2138:164,2139:94,2141:166,2142:259,2143:172,
2321:148,2322:198,2323:122,2325:169,2326:128,2327:224,2328:151,2329:115,2330:187,2331:64,2332:128,2333:128,2334:222,2336:192,2336:163,
2338:268,2338:115,2340:127,2341:118,2342:92,2343:128,2344:141,2345:144,2346:60,2348:156,2349:104,2350:50,2351:44,2352:116,2353:69,
2354:106,2355:186,2356:138,2357:30,2359:51,2359:66,2361:134,2361:91,2363:194,2364:56,2365:108,2366:57,2367:34,2368:62,2370:24,2371:103,
2372:60,2373:92,2374:214,2375:31,2376:121,2377:78,2378:46,2380:52,2380:108,2382:164,2382:52,2384:169,2384:60,2386:54,2387:88,2388:87,
2389:211,2390:56,2391:173,2392:52,2394:110,2394:196,2396:94,2396:172,2398:131,2399:221,2400:140,2401:120,2402:244,2403:104,2404:137,
2405:109,2407:157,2407:204,2409:147,2410:187,2411:46,2412:115,2413:169,2414:108,2415:175,2417:76,2417:241,2419:124,2419:130,2421:108,
2422:82,2423:123,2424:72,2425:182,2426:58,2427:110,2428:115,2430:168,2432:250,2433:192,2434:33,2435:50,2436:46,2437:22,2438:84,2439:28,
2440:76,2442:61,2443:132,2444:64,2445:52,2446:130,2447:62,2448:43,2449:100,2450:70,2451:121,2452:82,2453:155,2454:90,2456:85,2457:106,
2458:62,2459:110,2460:76,2461:168,2462:90,2463:103,2465:139,2465:124,2467:144,2467:102,2469:172,2469:139,2471:159,2472:216,2473:66,
2474:103,2475:65,2476:64,2477:111,2478:100,2479:133,2481:156,2482:189,2483:180,2484:60,2485:132,2486:111,2488:204,2488:115,2490:192,
2490:121,2492:139,2492:132,2494:107,2495:92,2496:118,2497:184,2498:143,2499:95,2500:178,2501:42,2502:52,2504:230,2505:218,2506:51,
2507:48,2508:112,2509:108,2510:144,2511:159,2512:58,2513:106,2514:90,2515:88,2517:66,2518:93,2519:140,2520:108,2521:147,2522:38,2523:25,
2524:44,2525:92,2527:62,2527:38,2529:172,2529:62,2531:72,2531:178,2533:83,2534:122,2535:110,2536:194,2537:68,2538:35,2539:107,2540:79,
2541:46,2543:180,2544:183,2545:124,2546:50,2547:129,2548:56,2549:44,2550:61,2552:64,2552:116,2554:170,2554:172,2557:78,2558:91,2559:90,
2560:58,2561:61,2562:166,2563:111,2565:70,2566:29,2568:100,2569:79,2570:96,2571:55,2572:178,2573:78,2575:180,2577:214,2577:134,2579:56,
2580:137,2581:212,2582:54,2583:210,2584:71,2585:108,2586:118,2587:90,2589:88,2589:66,2591:132,2591:94,2593:89,2594:117,2595:50,2596:50,
2597:98,2598:72,2600:50,2600:41,2602:47,2602:78,2604:159,2605:54,2606:143,2607:59,2608:158,2609:170,2612:180,2612:105,2614:169,2615:184,
2616:160,2617:62,2619:130,2621:70,2621:81,2623:116,2623:230,2625:252,2625:204,2627:132,2628:72,2629:95,2630:239,2631:176,2632:131,2633:60,
2635:166,2635:144,2637:150,2638:186,2639:84,2640:225,2641:186,2642:157,2643:58,2644:63,2646:147,2648:102,2648:214,2650:155,2651:50,2652:84,
2653:181,2654:95,2655:212,2656:84,2658:110,2658:140,2660:88,2661:160,2662:80,2663:95,2664:79,2665:72,2666:160,2667:21,2668:82,2669:74,
2671:68,2671:63,2673:51,2674:44,2675:68,2676:162,2677:51,2678:198,2679:63,2681:126,2681:170,2683:41,2683:114,2685:237,2686:252,2687:128,
2688:148,2689:196,2690:74,2692:236,2692:175,2694:138,2694:41,2696:26,2697:167,2698:162,2699:124,2700:238,2701:176,2702:96,2703:44,
2704:156,2706:164,2706:95,2708:191,2708:74,2710:197,2711:190,2712:190,2713:252,2714:217,2715:208,2716:138,2717:181,2718:60,2720:35,2721:176,
2722:214,2723:178,2725:157,2726:132,2727:56,2728:102,2729:46,2731:189,2733:34,2733:77,2735:32,2736:196,2737:65,2738:62,2739:89,2740:146,
2741:194,2743:74,2743:200,2745:65,2745:156,2747:165,2747:220,2749:163,2750:232,2751:243,2752:291,2753:312,2754:336,2755:286,2756:230,
2757:200,2759:112
};


var Script = new Class({
	field: null,
	queue: [],
	current: [],
	actions: {},
	selections: {},

	timenudge: 20,
	
	initialize: function( field ) {
		this.field = field;
		this.selections.base = new Selection( this.field );
		this.selections.all = this.selections.base.all();
		
		this.loadScript();
	},
	
	
	
	update: function( time ) {
		// shift actions due from the queue to current actions
		for( var i=0; i< this.queue.length; i++ ) {
			var q = this.queue[i];
			if( q.start < time + this.timenudge ) {
				if( q.z == undefined ) { q.z = 100; }
				q.z += q.start/200000; // Keep chronological order!
				
				this.current.push( q );
				this.current.sort( function(a,b){return a.z < b.z ? -1 : 1;} );
				this.queue.shift();
				i--;
			} else if( q.start > time ) {
				break;
			}
		}

		// update all current actions
		for( i=0; i< this.current.length; i++ ) {
			var c = this.current[i];
			if( c.end < time ) {
				// time's up - update the action once again, then remove it
				c.func( this, time, 1);
				this.current.splice( i, 1 );
				i--;
			} else {
				c.func( this, time, Math.max(0, (time - c.start)/(c.end - c.start)) );
			}
		}
	},
	
	loadScript: function() {
// Actions definition (Selections + Effects) ////////////////////////////////////////////////////////////////
		
	// Strings intro sequence ---------------------------------------------------------------------------
		this.actions.rowCenterShort = function( script, time, age ) {
			script.selections.base.rect( 0.48, 0.5, 0.52, 0.5 ).each( FX.scale, { value: 1-age }, time );
		}

		this.actions.circleCenterSmall = function( script, time, age ) {
			script.selections.base.circle( 0.5, 0.5, 0.02 ).each( FX.scale, { value: 1-age }, time );
		}

		this.actions.pointCenter = function( script, time, age ) {
			script.selections.base.rect( 0.5, 0.5, 0.5, 0.5 ).each( FX.scale, { value: 2-age*2 }, time );
		}

		this.actions.rectCenterSmall = function( script, time, age ) {
			script.selections.base.rect( 0.46, 0.47, 0.54, 0.53 ).each( FX.scale, { value: (1-age)*0.7 }, time );
		}

		this.actions.squareCenterSmall = function( script, time, age ) {
			script.selections.base.rect( 0.47, 0.47, 0.53, 0.53 ).each( FX.scale, { value: (1-age)*0.7 }, time );
		}

		this.actions.columnLeftShort = function( script, time, age ) {
			script.selections.base.rect( 0.45, 0.47, 0.45, 0.53 ).each( FX.scale, { value: 1-age }, time );
		}

		this.actions.columnCenterShort = function( script, time, age ) {
			script.selections.base.rect( 0.5, 0.47, 0.5, 0.53 ).each( FX.scale, { value: 1-age }, time );
		}

		this.actions.columnRightShort = function( script, time, age ) {
			script.selections.base.rect( 0.55, 0.47, 0.55, 0.53 ).each( FX.scale, { value: 1-age }, time );
		}

		this.actions.circleCenterMedium = function( script, time, age ) {
			script.selections.base.circle( 0.5, 0.5, 0.1 ).each( FX.scale, { value: 1-age }, time );
		}

		this.actions.circleCenterMediumFilled = function( script, time, age ) {
			script.selections.base.circle( 0.5, 0.5, 0.08 ).fill( 0.5, 0.5).each( FX.scale, { value: 1-age }, time );
		}


	// Strings chorus sequence ------------------------------------------------------------------------------
		this.selections.stringSequence01 = this.selections.base.rect( 0, 0.34, 0.2, 0.65 ).fill( 0.1, 0.5);
		this.selections.stringSequence02 = this.selections.base.rect( 0.2, 0.34, 0.4, 0.65 ).fill( 0.3, 0.5);
		this.selections.stringSequence03 = this.selections.base.rect( 0.4, 0.34, 0.6, 0.65 ).fill( 0.5, 0.5);
		this.selections.stringSequence04 = this.selections.base.rect( 0.6, 0.34, 0.8, 0.65 ).fill( 0.7, 0.5);
		this.selections.stringSequence05 = this.selections.base.rect( 0.8, 0.34, 1, 0.65 ).fill( 0.9, 0.5);

		this.actions.stringSequence01 = function( script, time, age ) {
			script.selections.stringSequence01
				.each( FX.plasma, {}, time/1000 )
				.each( FX.scale, { factor: (1-age)*3 }, time );
		}

		this.actions.stringSequence02 = function( script, time, age ) {
			script.selections.stringSequence02
				.each( FX.plasma, {}, time/1000 )
				.each( FX.scale, { factor: (1-age)*3 }, time );
		}

		this.actions.stringSequence03 = function( script, time, age ) {
			script.selections.stringSequence03
				.each( FX.plasma, {}, time/1000 )
				.each( FX.scale, { factor: (1-age)*3 }, time );
		}
		this.actions.stringSequence04 = function( script, time, age ) {
			script.selections.stringSequence04
				.each( FX.plasma, {}, time/1000 )
				.each( FX.scale, { factor: (1-age)*3 }, time );
		}
		this.actions.stringSequence05 = function( script, time, age ) {
			script.selections.stringSequence05
				.each( FX.plasma, {}, time/1000 )
				.each( FX.scale, { factor: (1-age)*3 }, time );
		}



	// Strings rect center ----------------------------------------------------------------------------------
		this.selections.rectCenterPlasma = this.selections.base.rect( 0, 0.4, 1, 0.52 );
		this.selections.rectCenterPlasmaCondensed = this.selections.base.rect( 0, 0.55, 1, 0.6 ).fill( 0.5, 0.575 )

		this.actions.rectCenterPlasma = function( script, time, age ) {
			script.selections.rectCenterPlasma
				.fill( 0.5, 0.5 )
				.each( FX.scale, { value: 1-age }, time );
		}

		this.actions.rectCenterPlasmaCondensed = function( script, time, age ) {
			script.selections.rectCenterPlasmaCondensed
				.each( FX.scale, { value: 1-age }, time );
		}


	// Strings rect grow horz -------------------------------------------------------------------------------
		this.actions.rectLeftToRight = function( script, time, age ) {
			script.selections.base
				.rect( 0, 0.4, Math.min(age*2,1), 0.6 )
				.fill( age, 0.5 )
				.each( FX.scale, { value: 1-age }, time );
		}

		this.actions.rectRightToLeft = function( script, time, age ) {
			script.selections.base
				.rect( 1-Math.min(age*2,1), 0.4, 1, 0.6 )
				.fill( 1-age, 0.5 )
				.each( FX.scale, { value: 1-age }, time );
		}



	// Strings center circle grow ---------------------------------------------------------------------------
		this.selections.circleCenterClear = this.selections.base
			.circle( 0.5, 0.5, 0.2 ).fill( 0.5, 0.5 );

		this.selections.circleCenterHollow = this.selections.base
			.circle( 0.5, 0.5, 0.2 );

		this.actions.circleCenterContract = function( script, time, age ) {
			script.selections.circleCenterClear
				.each( FX.scale, { value: 0 }, time );
			script.selections.base
				.circle( 0.5, 0.5, Math.max(0.2 - age*0.5, 0) ).fill( 0.5, 0.5, 0.5)
					.each( FX.scale, { value: (1-age) }, time );
		}
		
		this.actions.circleCenterExpand = function( script, time, age ) {
			script.selections.base
				.circle( 0.5, 0.5, Math.min(age*0.5, 0.2) ).fill( 0.5, 0.5, 0.5)
					.each( FX.scale, { value: (1-age) }, time );
		}

		this.actions.circleCenterHollow = function( script, time, age ) {
			script.selections.circleCenterHollow
				.each( FX.scale, { value: Math.max( 2-age*4, 0) }, time );
		}



	// Strings Build Rect -----------------------------------------------------------------------------------
		this.selections.rectEdgesLeft = this.selections.base.rect( 0.4, 0.4, 0.4, 0.6 );
		this.selections.rectEdgesRight = this.selections.base.rect( 0.6, 0.4, 0.6, 0.6 );
		this.selections.rectEdgesTop = this.selections.base.rect( 0.4, 0.4, 0.6, 0.4 );
		this.selections.rectEdgesBottom = this.selections.base.rect( 0.4, 0.6, 0.6, 0.6 );
		this.selections.rectEdgesFilled = this.selections.base.rect( 0.4, 0.4, 0.6, 0.6 ).fill( 0.5, 0.5 );

		this.actions.rectEdgesLeft = function( script, time, age ) {
			script.selections.rectEdgesLeft
					.each( FX.scale, { value: 1-age }, time );
		}

		this.actions.rectEdgesRight = function( script, time, age ) {
			script.selections.rectEdgesRight
				.each( FX.scale, { value: 1-age }, time );
		}

		this.actions.rectEdgesTop = function( script, time, age ) {
			script.selections.rectEdgesTop
				.each( FX.scale, { value: 1-age }, time );
		}

		this.actions.rectEdgesBottom = function( script, time, age ) {
			script.selections.rectEdgesBottom
				.each( FX.scale, { value: 1-age }, time );
		}

		this.actions.rectEdgesFilled = function( script, time, age ) {
			script.selections.rectEdgesFilled
				.each( FX.scale, { value: 1-age }, time );
		}



	// Strings filled screen --------------------------------------------------------------------------------
		this.selections.rectScreenLeft = this.selections.base.rect( 0, 0, 0.3, 1 ).fill( 0.2, 0.5 );
		this.selections.rectScreenRight = this.selections.base.rect( 0.7, 0, 1, 1 ).fill( 0.8, 0.5 );
		this.selections.rectScreenCenter = this.selections.base.rect( 0.3, 0, 0.7, 1 ).fill( 0.5, 0.5 );
		
		//script.selections.rectStripes3 = this.selections.base.rect( 0.1, 0.1, 0.9, 0.9 ).fill( 0.5, 0.5 );
		
		this.selections.rectScreenStripes2 = this.selections.base
			.rect( 0.23, 0.1, 0.43, 0.9 ).fill( 0.35, 0.5 )
			.rect( 0.58, 0.1, 0.77, 0.9 ).fill( 0.65, 0.5 );
		this.selections.rectScreenStripes3 = this.selections.base
			.rect( 0.1, 0.1, 0.2, 0.9 ).fill( 0.15, 0.5 )
			.rect( 0.45, 0.1, 0.55, 0.9 ).fill( 0.5, 0.5 )
			.rect( 0.8, 0.1, 0.9, 0.9 ).fill( 0.85, 0.5 );
		this.selections.rectScreenBar01 = this.selections.base.rect( 0.1, 0.23, 0.9, 0.4 ).fill( 0.5, 0.35 );
		this.selections.rectScreenBar02 = this.selections.base.rect( 0.1, 0.4, 0.9, 0.5 ).fill( 0.5, 0.45 );
		this.selections.rectScreenBar03 = this.selections.base.rect( 0.1, 0.5, 0.9, 0.6 ).fill( 0.5, 0.55 );
		this.selections.rectScreenBar04 = this.selections.base.rect( 0.1, 0.6, 0.9, 0.77 ).fill( 0.5, 0.65 );

		this.actions.rectScreenLeft = function( script, time, age ) {
			script.selections.rectScreenLeft
				.each( FX.scale, { value: 1-age }, time );
		}

		this.actions.rectScreenRight = function( script, time, age ) {
			script.selections.rectScreenRight
				.each( FX.scale, { value: 1-age }, time );
		}

		this.actions.rectScreenCenter = function( script, time, age ) {
			script.selections.rectScreenCenter
				.each( FX.scale, { value: 1-age }, time );
		}

		this.actions.rectScreenStripes2 = function( script, time, age ) {
			script.selections.rectScreenStripes2
				.each( FX.scale, { value: 2-age*2 }, time );
		}
		
		this.actions.rectScreenStripes3 = function( script, time, age ) {
			script.selections.rectScreenStripes3
				.each( FX.scale, { value: 2-age*2 }, time );
		}
		
		
		this.actions.rectScreenBar01 = function( script, time, age ) {
			script.selections.rectScreenBar01
				.each( FX.scale, { value: 2-age*2 }, time );
		}
		
		this.actions.rectScreenBar02 = function( script, time, age ) {
			script.selections.rectScreenBar02
				.each( FX.scale, { value: 2-age*2 }, time );
		}
		
		this.actions.rectScreenBar03 = function( script, time, age ) {
			script.selections.rectScreenBar03
				.each( FX.scale, { value: 2-age*2 }, time );
		}
		
		this.actions.rectScreenBar04 = function( script, time, age ) {
			script.selections.rectScreenBar04
				.each( FX.scale, { value: 2-age*2 }, time );
		}



	// Vocals Ouch ------------------------------------------------------------------------------------------
		this.selections.vocalOuch = this.selections.base
			.rect( 0.3, 0, 0.3, 0.3 ).rect( 0.4, 0, 0.4, 0.3 ).rect( 0.5, 0, 0.5, 0.3 ).rect( 0.6, 0, 0.6, 0.3 ).rect( 0.7, 0, 0.7, 0.3 )
			.rect( 0.3, 0.7, 0.3, 1 ).rect( 0.4, 0.7, 0.4, 1 ).rect( 0.5, 0.7, 0.5, 1 ).rect( 0.6, 0.7, 0.6, 1 ).rect( 0.7, 0.7, 0.7, 1 );

		this.selections.vocalOuchNegative = this.selections.base
			.rect( 0.05, 0.1, 0.08, 0.9 )
			.rect( 0.92, 0.1, 0.95, 0.9 );
		
		this.selections.vocalOuchXHorz = this.selections.base
			.rect( 0, 0.3, 1, 0.7 )
			.fill( 0.5, 0.5 );
		
		this.selections.vocalOuchXVert = this.selections.base
			.rect( 0.35, 0, 0.75, 1 )
			.fill( 0.5, 0.5 );

		this.actions.vocalOuch = function( script, time, age ) {
			script.selections.vocalOuch
				.each( FX.scale, { value: (1-age)*2 }, time )
				.each( FX.color, { r:230, g:255, b:129, intensity:(1-age) }, time );
		}

		this.actions.vocalOuchFilled = function( script, time, age ) {
			script.selections.all
				.each( FX.color, { r:230, g:255, b:129, intensity:(1-age) }, time );
		}

		this.actions.vocalOuchNegative = function( script, time, age ) {
			script.selections.vocalOuchNegative
				.each( FX.scale, { value: 2-age*2 }, time )
				.each( FX.color, { r:230, g:255, b:129, intensity:(1-age) }, time );
		}
		
		this.actions.vocalOuchXHorz = function( script, time, age ) {
			script.selections.vocalOuchXHorz
				.each( FX.plasma, {}, time/100 )
				.each( FX.scale, { factor: 2-age*2 }, time )
				.each( FX.color, { r:230, g:255, b:129, intensity:(1-age) }, time );
		}
		
		this.actions.vocalOuchXVert = function( script, time, age ) {
			script.selections.vocalOuchXVert
				.each( FX.plasma, {}, time/100 )
				.each( FX.scale, { factor: 2-age*2 }, time )
				.each( FX.color, { r:230, g:255, b:129, intensity:(1-age) }, time );
		}



	// Base Drum --------------------------------------------------------------------------------------------
		this.selections.basDrumCenterRect = this.selections.base.rect( 0, 0.34, 1, 0.65 );
		this.selections.baseDrumCenterCircle = this.selections.base.circle( 0.5, 0.5, 0.25 ).circle( 0.5, 0.5, 0.33 ).fill( 0.5, 0.8 );

		this.actions.baseDrumCenterRect = function( script, time, age ) {
			script.scaleX = script.scaleY = 1 + (1-age)/7;
			script.selections.basDrumCenterRect
				.each( FX.scale, { value: 1-age }, time );
		}

		this.actions.baseDrumCenterCircle = function( script, time, age ) {
			script.selections.baseDrumCenterCircle
				.each( FX.scale, { value: 1-age }, time );
				
			if( time < 130550 ) {
				// turn ccw 
				var rotationAge = (time-96865)/(130550-96865);
				script.field.rotation = rotationAge * 2 * Math.PI - 0.15 + (1-(Math.pow(1-age,3))) * 0.15;
				script.field.scale = 1 - (1-age)/5;
			} else {
				script.field.scale = 1;
			}
		}

		this.actions.baseDrumZoom = function( script, time, age ) {
			script.scale = 1 - (1-age)/10;
		}



	// Programmed Hihats ------------------------------------------------------------------------------------
		this.selections.hihats01 = this.selections.base
			.rect( 0.1, 0.8, 0.2, 0.9 ).fill( 0.15, 0.85 )
			.rect( 0.8, 0.8, 0.9, 0.9 ).fill( 0.85, 0.85 )
			.rect( 0.1, 0.1, 0.2, 0.2 ).fill( 0.15, 0.15 )
			.rect( 0.8, 0.1, 0.9, 0.2 ).fill( 0.85, 0.15 )
			.glow( 0.1 );

		this.selections.hihats02 = this.selections.base
			.rect( 0.18, 0.42, 0.18, 0.58 )
			.rect( 0.82, 0.42, 0.82, 0.58 )
			.rect( 0.45, 0.05, 0.55, 0.05 )
			.rect( 0.45, 0.95, 0.55, 0.95 );

		this.selections.hihats03 = this.selections.base
			.rect( 0.1, 0.8, 0.2, 0.9 ).fill( 0.15, 0.85 )
			.rect( 0.8, 0.8, 0.9, 0.9 ).fill( 0.85, 0.85 )
			.rect( 0.1, 0.1, 0.2, 0.2 ).fill( 0.15, 0.15 )
			.rect( 0.8, 0.1, 0.9, 0.2 ).fill( 0.85, 0.15 );


		this.actions.hihats01 = function( script, time, age ) {
			var spectrum = SoundSpectrum[ Math.floor((time + script.timenudge)/(1000/SoundSpectrumHz)) ];
			var scale = spectrum ? spectrum/128 : 0;
			script.selections.hihats01
				.each( FX.plasma, {}, time/100 )
				.each( FX.scale, { factor: scale*2 }, time );
		}

		this.actions.hihats02 = function( script, time, age ) {
			var spectrum = SoundSpectrum[ Math.floor((time + script.timenudge)/(1000/SoundSpectrumHz)) ];
			var scale = spectrum ? spectrum/256 : 0;
			script.selections.hihats02
				.each( FX.scale, { value: scale }, time );
		}

		this.actions.hihats03 = function( script, time, age ) {
			var spectrum = SoundSpectrum[ Math.floor((time + script.timenudge)/(1000/SoundSpectrumHz)) ];
			var scale = spectrum ? spectrum/256 : 0;
			script.selections.hihats03
				.each( FX.scale, { value: scale }, time );
		}



	// Sirene & Knartsch ------------------------------------------------------------------------------------
		
		this.actions.sireneFadeout = function( script, time, age ) {
			script.selections.all
				.each( FX.color, { r: 255, g:90, b:0, intensity: (1-age)*( 1-Math.abs(Math.cos(time))/4 ) }, time );
		}
		
		this.actions.sireneFadeoutLight = function( script, time, age ) {
			script.selections.all
				.each( FX.color, { r: 255, g:220, b:150, intensity: (1-age)*( 1-Math.abs(Math.cos(time))/4 ) }, time );
		}
		
		this.selections.stripes = this.selections.base
			.rect( 0.1, 0, 0.1, 1 ).rect( 0.2, 0, 0.2, 1 ).rect( 0.3, 0, 0.3, 1 ).rect( 0.4, 0, 0.4, 1 ).rect( 0.5, 0, 0.5, 1 )
			.rect( 0.6, 0, 0.6, 1 ).rect( 0.7, 0, 0.7, 1 ).rect( 0.8, 0, 0.8, 1 ).rect( 0.9, 0, 0.9, 1 )
			.glow( 1 );
		this.actions.screenFlutter = function( script, time, age ) {
			var f = (1-age)*( 1-Math.abs(Math.cos(time/10)) );
			script.selections.all
				.each( FX.color, { r: 255, g:0, b:255, intensity: f }, time );
			script.selections.stripes
				.each( FX.scale, { value: f }, time );
		}
		
		
		
		
		
// Sequence definition //////////////////////////////////////////////////////////////////////////////////////
		this.queue = [

	// Global transitions -----------------------------------------------------------------------------------
			// start zoom out (starts early 0_o)
			{ start: -10000, end: 48715, func:function( script, time, age ) {
					script.field.scale = (10 - Math.pow(age*3,2));
				}
			},
			
			// end zoom in
			{ start: 185220, end: 190220, func:function( script, time, age ) {
					script.field.scale = (1 + Math.pow(age*3,2));
					script.field.rotation = Math.pow(age,4) * 2 * Math.PI;
				}
			},
			
			
			// woohooo, everything's spinnig!!11
			{ start: 96865, end: 130550, z: 1, func:function( script, time, age ) {
					script.field.rotation = age * 2 * Math.PI;
				}
			},
			

	// Programmed Hihats ------------------------------------------------------------------------------------
			{ start: 0, end: 94550, func: this.actions.hihats01 },
			{ start: 94550, end: 142610, func: this.actions.hihats02, z: 105 },
			{ start: 154690, end: 190000, func: this.actions.hihats03 },
			

	// Vocals "Oouch" ---------------------------------------------------------------------------------------
			{ start: 50540, end: 51040, func: this.actions.vocalOuch },
			{ start: 55430, end: 55930, func: this.actions.vocalOuch },
			{ start: 57730, end: 58230, func: this.actions.vocalOuch },
			{ start: 60300, end: 60800, func: this.actions.vocalOuch },
			{ start: 65180, end: 65680, func: this.actions.vocalOuch },
			{ start: 72100, end: 72600, func: this.actions.vocalOuch },
			{ start: 72510, end: 73010, func: this.actions.vocalOuch },
			{ start: 77000, end: 77500, func: this.actions.vocalOuch },
			{ start: 77340, end: 77840, func: this.actions.vocalOuch },
			{ start: 81600, end: 82100, func: this.actions.vocalOuch },
			{ start: 81740, end: 82240, func: this.actions.vocalOuch },
			{ start: 82250, end: 82750, func: this.actions.vocalOuch },
			{ start: 101460, end: 101960, func: this.actions.vocalOuchFilled },
			{ start: 105460, end: 105960, func: this.actions.vocalOuchFilled },
			{ start: 105730, end: 106230, func: this.actions.vocalOuchFilled },
			{ start: 106360, end: 106860, func: this.actions.vocalOuchFilled },
			{ start: 110520, end: 111020, func: this.actions.vocalOuchFilled },
			{ start: 110680, end: 111180, func: this.actions.vocalOuchFilled },
			{ start: 111220, end: 111720, func: this.actions.vocalOuchFilled },
			{ start: 120330, end: 120830, func: this.actions.vocalOuchFilled },
			{ start: 120700, end: 121200, func: this.actions.vocalOuchFilled },
			{ start: 125190, end: 125690, func: this.actions.vocalOuchFilled },
			{ start: 125560, end: 126060, func: this.actions.vocalOuchFilled },
			{ start: 128120, end: 128620, func: this.actions.vocalOuchFilled },
			{ start: 128650, end: 129150, func: this.actions.vocalOuchFilled },
			{ start: 129020, end: 129520, func: this.actions.vocalOuchFilled },
			{ start: 129530, end: 130030, func: this.actions.vocalOuchFilled },
			{ start: 130040, end: 130540, func: this.actions.vocalOuchFilled },
			{ start: 130430, end: 130930, func: this.actions.vocalOuchFilled },
			{ start: 133650, end: 134150, func: this.actions.vocalOuchFilled },
			{ start: 134270, end: 134770, func: this.actions.vocalOuchFilled },
			{ start: 134680, end: 135180, func: this.actions.vocalOuchFilled },

			{ start: 135060, end: 135560, func: this.actions.vocalOuchFilled }, // buzz
			{ start: 135130, end: 135630, func: this.actions.vocalOuchFilled },
			{ start: 135180, end: 135680, func: this.actions.vocalOuchFilled },
			{ start: 135240, end: 135740, func: this.actions.vocalOuchFilled },
			{ start: 135300, end: 135800, func: this.actions.vocalOuchFilled },
			{ start: 135360, end: 135860, func: this.actions.vocalOuchFilled },

			{ start: 142380, end: 142880, func: this.actions.vocalOuchXHorz },
			{ start: 142510, end: 143010, func: this.actions.vocalOuchXVert },

			{ start: 161600, end: 162100, func: this.actions.vocalOuchNegative },
			{ start: 161720, end: 162220, func: this.actions.vocalOuchNegative },
			{ start: 166620, end: 167120, func: this.actions.vocalOuchNegative },
			{ start: 168110, end: 168610, func: this.actions.vocalOuchNegative },
			{ start: 168510, end: 169010, func: this.actions.vocalOuchNegative },
			{ start: 169150, end: 169650, func: this.actions.vocalOuchNegative },
			{ start: 171490, end: 171990, func: this.actions.vocalOuchNegative },
			{ start: 173000, end: 173500, func: this.actions.vocalOuchNegative },
			{ start: 174020, end: 174520, func: this.actions.vocalOuchNegative },
			{ start: 176330, end: 176830, func: this.actions.vocalOuchNegative },
			{ start: 177640, end: 178140, func: this.actions.vocalOuchNegative },
			{ start: 178660, end: 179160, func: this.actions.vocalOuchNegative },
			{ start: 181210, end: 181710, func: this.actions.vocalOuchNegative },
			{ start: 181440, end: 181940, func: this.actions.vocalOuchNegative },
			{ start: 181720, end: 182220, func: this.actions.vocalOuchNegative },
			{ start: 182090, end: 182590, func: this.actions.vocalOuchNegative },
			{ start: 182490, end: 182990, func: this.actions.vocalOuchNegative },
			{ start: 182630, end: 183130, func: this.actions.vocalOuchNegative },
			{ start: 183530, end: 184030, func: this.actions.vocalOuchNegative },
			{ start: 183680, end: 184180, func: this.actions.vocalOuchNegative },


	// Vocals "Bleble" --------------------------------------------------------------------------------------
			{ start: 71600, end: 72100, func: this.actions.circleCenterSmall, z:300 },
			{ start: 81150, end: 81650, func: this.actions.circleCenterSmall, z:300 },
			{ start: 89150, end: 89650, func: this.actions.circleCenterSmall, z:300 },

			{ start: 107110, end: 107610, func: this.actions.circleCenterSmall, z:300 }, // half
			{ start: 110310, end: 110810, func: this.actions.circleCenterSmall, z:300 }, // half

			{ start: 137240, end: 137740, func: this.actions.circleCenterSmall, z:300 },
			{ start: 156600, end: 157100, func: this.actions.circleCenterSmall, z:300 },


	// Knartsch ---------------------------------------------------------------------------------------------
			{ start: 119120, end: 119440, func: this.actions.screenFlutter, z:20 }, // begin
			{ start: 119240, end: 119940, func: this.actions.screenFlutter, z:20 }, // begin
			//{ start: 119440, end: 119940, func: this.actions.screenflutter }, // end


	// Vocals Sirene ----------------------------------------------------------------------------------------
			{ start: 63150, end: 65580, func: this.actions.sireneFadeoutLight, z:10 },
			{ start: 92130, end: 94430, func: this.actions.sireneFadeoutLight, z:10 },
			{ start: 145170, end: 148280, func: this.actions.sireneFadeout, z:10 },
			{ start: 150040, end: 153000, func: this.actions.sireneFadeoutLight, z:10 },
			{ start: 154690, end: 157520, func: this.actions.sireneFadeout, z:10 },
			{ start: 159520, end: 162090, func: this.actions.sireneFadeoutLight, z:10 },
			{ start: 164400, end: 166700, func: this.actions.sireneFadeout, z:10 },
			{ start: 166700, end: 169310, func: this.actions.sireneFadeoutLight, z:10 },
			{ start: 169310, end: 171600, func: this.actions.sireneFadeout, z:10 },
			{ start: 171600, end: 174150, func: this.actions.sireneFadeoutLight, z:10 },
			{ start: 174150, end: 176470, func: this.actions.sireneFadeout, z:10 },
			{ start: 176470, end: 179050, func: this.actions.sireneFadeoutLight, z:10 },
			{ start: 179050, end: 181340, func: this.actions.sireneFadeout, z:10 },
			{ start: 181340, end: 183690, func: this.actions.sireneFadeout, z:10 },
			{ start: 183690, end: 190140, func: this.actions.sireneFadeout, z:10 },

			
	// Stringed Instruments ---------------------------------------------------------------------------------
			{ start: 330, end: 1180, func: this.actions.rowCenterShort },
			{ start: 780, end: 1650, func: this.actions.rowCenterShort },
			{ start: 1050, end: 2180, func: this.actions.rowCenterShort },
			{ start: 1680, end: 5810, func: this.actions.rowCenterShort },
			{ start: 5310, end: 6030, func: this.actions.circleCenterSmall },
			{ start: 5530, end: 6240, func: this.actions.circleCenterSmall },
			{ start: 5740, end: 6930, func: this.actions.circleCenterSmall },
			{ start: 6430, end: 8720, func: this.actions.circleCenterSmall },
			{ start: 8220, end: 10580, func: this.actions.pointCenter },

			{ start: 10080, end: 11240, func: this.actions.rectCenterSmall },
			{ start: 10740, end: 11880, func: this.actions.rectCenterSmall },
			{ start: 11380, end: 12110, func: this.actions.rectCenterSmall },
			{ start: 11610, end: 13590, func: this.actions.rectCenterSmall },

			{ start: 13090, end: 15200, func: this.actions.rowCenterShort },
			{ start: 14700, end: 18200, func: this.actions.circleCenterSmall },
			{ start: 17900, end: 20040, func: this.actions.squareCenterSmall },

			{ start: 19540, end: 20610, func: this.actions.columnLeftShort },
			{ start: 20110, end: 20790, func: this.actions.columnCenterShort },
			{ start: 20290, end: 21560, func: this.actions.columnLeftShort },
			{ start: 21060, end: 21860, func: this.actions.columnCenterShort },
			{ start: 21360, end: 22970, func: this.actions.columnRightShort },

			{ start: 22470, end: 24920, func: this.actions.circleCenterSmall },
			{ start: 24420, end: 27880, func: this.actions.squareCenterSmall },
			{ start: 27380, end: 28500, func: this.actions.squareCenterSmall },

			{ start: 28000, end: 28750, func: this.actions.columnLeftShort },
			{ start: 28250, end: 29010, func: this.actions.columnLeftShort },
			{ start: 28510, end: 29170, func: this.actions.columnLeftShort },

			{ start: 28670, end: 29570, func: this.actions.columnRightShort },
			{ start: 29070, end: 29690, func: this.actions.columnRightShort },

			{ start: 29190, end: 29810, func: this.actions.circleCenterSmall },
			{ start: 29310, end: 30050, func: this.actions.circleCenterSmall },
			{ start: 29550, end: 31970, func: this.actions.pointCenter },

			{ start: 31470, end: 32090, func: this.actions.circleCenterSmall },
			{ start: 31590, end: 32600, func: this.actions.circleCenterSmall },
			{ start: 31900, end: 34640, func: this.actions.pointCenter },

			{ start: 34140, end: 34770, func: this.actions.circleCenterSmall },
			{ start: 34270, end: 36960, func: this.actions.pointCenter },


			{ start: 36460, end: 37720, func: this.actions.circleCenterSmall },
			{ start: 37220, end: 38500, func: this.actions.circleCenterSmall },
			{ start: 38000, end: 38960, func: this.actions.circleCenterSmall },
			{ start: 38460, end: 39150, func: this.actions.circleCenterSmall },

			{ start: 38650, end: 39520, func: this.actions.circleCenterSmall },
			{ start: 39020, end: 39800, func: this.actions.pointCenter },

			{ start: 39300, end: 41720, func: this.actions.circleCenterSmall },
			{ start: 41220, end: 41830, func: this.actions.pointCenter },

			{ start: 41330, end: 42060, func: this.actions.pointCenter },
			{ start: 41560, end: 44130, func: this.actions.circleCenterSmall },

			{ start: 43630, end: 44240, func: this.actions.circleCenterMedium },
			{ start: 43740, end: 46710, func: this.actions.circleCenterMediumFilled },
			{ start: 46210, end: 47500, func: this.actions.circleCenterMediumFilled },
			{ start: 47000, end: 47950, func: this.actions.circleCenterMediumFilled },

			{ start: 47450, end: 48710, func: this.actions.circleCenterSmall },
			{ start: 48210, end: 49020, func: this.actions.circleCenterMediumFilled },

			{ start: 48520, end: 49520, func: this.actions.rectCenterPlasmaCondensed },
			{ start: 49020, end: 51570, func: this.actions.rectCenterPlasma },
			{ start: 51070, end: 51850, func: this.actions.rectCenterPlasmaCondensed },
			{ start: 51350, end: 53840, func: this.actions.rectCenterPlasma },
			{ start: 53340, end: 54130, func: this.actions.rectCenterPlasmaCondensed },
			{ start: 53630, end: 56190, func: this.actions.rectCenterPlasma },

			{ start: 55690, end: 56980, func: this.actions.rectCenterPlasma },
			{ start: 56480, end: 57730, func: this.actions.rectCenterPlasma },
			{ start: 57230, end: 58500, func: this.actions.rectCenterPlasma },
			{ start: 58000, end: 58770, func: this.actions.rectCenterPlasma },

			{ start: 58270, end: 59010, func: this.actions.rectCenterPlasmaCondensed },
			{ start: 58510, end: 61090, func: this.actions.rectCenterPlasma },
			{ start: 60590, end: 61580, func: this.actions.rectCenterPlasmaCondensed },
			{ start: 61080, end: 63570, func: this.actions.rectCenterPlasma },
			{ start: 63070, end: 63890, func: this.actions.rectCenterPlasmaCondensed },
			{ start: 63390, end: 65940, func: this.actions.rectCenterPlasma },
			{ start: 65440, end: 66690, func: this.actions.rectCenterPlasmaCondensed },
			{ start: 66190, end: 67200, func: this.actions.rectCenterPlasma },
			{ start: 66700, end: 67570, func: this.actions.rectCenterPlasmaCondensed },
			{ start: 67070, end: 68520, func: this.actions.rectCenterPlasma },

			{ start: 67920, end: 68993, func: this.actions.stringSequence01 },
			{ start: 68622, end: 69643, func: this.actions.stringSequence02 },
			{ start: 68993, end: 69969, func: this.actions.stringSequence03 },
			{ start: 69643, end: 70560, func: this.actions.stringSequence04 },
			{ start: 69969, end: 70665, func: this.actions.stringSequence05 },
			{ start: 70560, end: 71037, func: this.actions.stringSequence05 },
			{ start: 70665, end: 71687, func: this.actions.stringSequence04 },
			{ start: 71037, end: 71987, func: this.actions.stringSequence03 },
			{ start: 71687, end: 72280, func: this.actions.stringSequence02 },
			{ start: 71987, end: 72480, func: this.actions.stringSequence01 },

			{ start: 72458, end: 73850, func: this.actions.stringSequence05 },
			{ start: 72801, end: 74120, func: this.actions.stringSequence04 },
			{ start: 73498, end: 74870, func: this.actions.stringSequence03 },
			{ start: 73823, end: 75160, func: this.actions.stringSequence02 },
			{ start: 74520, end: 75900, func: this.actions.stringSequence01 },
			{ start: 74845, end: 75400, func: this.actions.stringSequence01 },
			{ start: 75400, end: 76190, func: this.actions.stringSequence02 },
			{ start: 75690, end: 76950, func: this.actions.stringSequence03 },
			{ start: 76450, end: 77160, func: this.actions.stringSequence04 },
			{ start: 76660, end: 77970, func: this.actions.stringSequence05 },

			{ start: 77470, end: 78750, func: this.actions.stringSequence01 },
			{ start: 78250, end: 78960, func: this.actions.stringSequence02 },
			{ start: 78460, end: 79760, func: this.actions.stringSequence03 },
			{ start: 79260, end: 80010, func: this.actions.stringSequence04 },
			{ start: 79510, end: 80750, func: this.actions.stringSequence05 },
			{ start: 80250, end: 81040, func: this.actions.stringSequence04 },
			{ start: 80540, end: 81810, func: this.actions.stringSequence03 },
			{ start: 81310, end: 82070, func: this.actions.stringSequence02 },
			{ start: 81570, end: 82940, func: this.actions.stringSequence01 },

			{ start: 82440, end: 83610, func: this.actions.stringSequence03 },
			{ start: 83110, end: 83840, func: this.actions.stringSequence01 },
			{ start: 83340, end: 84590, func: this.actions.stringSequence05 },
			{ start: 84090, end: 84890, func: this.actions.stringSequence02 },
			{ start: 84390, end: 85640, func: this.actions.stringSequence04 },
			{ start: 85140, end: 85900, func: this.actions.stringSequence05 },
			{ start: 85400, end: 86560, func: this.actions.stringSequence01 },

			{ start: 86060, end: 86690, func: this.actions.stringSequence02 },
			{ start: 86190, end: 86890, func: this.actions.stringSequence03 },
			{ start: 86390, end: 87760, func: this.actions.stringSequence04 },

			{ start: 87260, end: 90050, func: this.actions.stringSequence01 },
			{ start: 87260, end: 90050, func: this.actions.stringSequence03 },
			{ start: 87260, end: 90050, func: this.actions.stringSequence05 },

			{ start: 89650, end: 92550, func: this.actions.stringSequence02 },
			{ start: 89650, end: 92550, func: this.actions.stringSequence04 },

			{ start: 92050, end: 92810, func: this.actions.rectCenterPlasmaCondensed },
			{ start: 92310, end: 94870, func: this.actions.rectCenterPlasma },
			
			{ start: 94497, end: 95180, func: this.actions.rectLeftToRight, z:110 },
			{ start: 95101, end: 95760, func: this.actions.rectRightToLeft, z:111 },
			{ start: 95751, end: 96300, func: this.actions.rectLeftToRight, z:112 },
			{ start: 96076, end: 96940, func: this.actions.rectRightToLeft, z:113 },


			{ start: 96865, end: 97980, func: this.actions.circleCenterExpand },
			{ start: 97469, end: 98500, func: this.actions.circleCenterExpand },
			{ start: 97794, end: 98960, func: this.actions.circleCenterExpand },
			{ start: 98537, end: 99200, func: this.actions.circleCenterHollow },
			{ start: 98909, end: 100000, func: this.actions.circleCenterHollow },
			{ start: 99513, end: 100510, func: this.actions.circleCenterExpand },
			{ start: 99838, end: 101000, func: this.actions.circleCenterExpand },
			{ start: 100581, end: 101540, func: this.actions.circleCenterContract },
			{ start: 101000, end: 102100, func: this.actions.circleCenterContract },

			{ start: 101600, end: 102850, func: this.actions.circleCenterExpand },
			{ start: 102350, end: 103080, func: this.actions.circleCenterExpand },
			{ start: 102580, end: 103850, func: this.actions.circleCenterExpand },
			{ start: 103350, end: 104170, func: this.actions.circleCenterHollow },
			{ start: 103670, end: 104970, func: this.actions.circleCenterHollow },
			{ start: 104470, end: 105220, func: this.actions.circleCenterExpand },
			{ start: 104720, end: 105910, func: this.actions.circleCenterExpand },
			{ start: 105410, end: 106190, func: this.actions.circleCenterContract },
			{ start: 105690, end: 106950, func: this.actions.circleCenterContract },

			{ start: 106450, end: 107660, func: this.actions.circleCenterExpand },
			{ start: 107160, end: 107920, func: this.actions.circleCenterExpand },
			{ start: 107420, end: 108730, func: this.actions.circleCenterExpand },
			{ start: 108230, end: 108980, func: this.actions.circleCenterHollow },
			{ start: 108480, end: 109740, func: this.actions.circleCenterHollow },
			{ start: 109240, end: 110010, func: this.actions.circleCenterExpand },
			{ start: 109510, end: 110780, func: this.actions.circleCenterExpand },
			{ start: 110280, end: 111100, func: this.actions.circleCenterContract },
			{ start: 110600, end: 111880, func: this.actions.circleCenterContract },

			{ start: 111380, end: 112550, func: this.actions.circleCenterExpand },
			{ start: 112050, end: 112840, func: this.actions.circleCenterExpand },
			{ start: 112340, end: 113610, func: this.actions.circleCenterExpand },
			{ start: 113110, end: 113910, func: this.actions.circleCenterHollow },
			{ start: 113410, end: 114650, func: this.actions.circleCenterHollow },
			{ start: 114150, end: 114910, func: this.actions.circleCenterExpand },
			{ start: 114410, end: 115700, func: this.actions.circleCenterExpand },
			{ start: 115200, end: 115950, func: this.actions.circleCenterContract },
			{ start: 115450, end: 116730, func: this.actions.circleCenterContract },


			{ start: 116230, end: 117210, func: this.actions.circleCenterExpand },
			{ start: 116710, end: 117720, func: this.actions.circleCenterExpand },
			{ start: 117220, end: 118230, func: this.actions.circleCenterExpand },
			{ start: 117730, end: 118710, func: this.actions.circleCenterHollow },
			{ start: 118210, end: 119230, func: this.actions.circleCenterHollow },
			{ start: 118730, end: 119770, func: this.actions.circleCenterExpand },
			{ start: 119270, end: 120660, func: this.actions.circleCenterExpand },
			{ start: 120160, end: 120880, func: this.actions.circleCenterContract },
			{ start: 120380, end: 121620, func: this.actions.circleCenterContract },


			{ start: 121120, end: 122100, func: this.actions.circleCenterExpand },
			{ start: 121600, end: 122610, func: this.actions.circleCenterExpand },
			{ start: 122110, end: 123090, func: this.actions.circleCenterExpand },
			{ start: 122590, end: 123600, func: this.actions.circleCenterHollow },
			{ start: 123100, end: 124120, func: this.actions.circleCenterHollow },
			{ start: 123620, end: 124630, func: this.actions.circleCenterExpand },
			{ start: 124130, end: 125190, func: this.actions.circleCenterExpand },
			{ start: 124690, end: 125180, func: this.actions.circleCenterContract },
			{ start: 124960, end: 126580, func: this.actions.circleCenterContract },



			{ start: 125680, end: 126960, func: this.actions.circleCenterExpand },
			{ start: 126460, end: 127220, func: this.actions.circleCenterExpand },
			{ start: 126720, end: 127960, func: this.actions.circleCenterExpand },
			{ start: 127460, end: 128230, func: this.actions.circleCenterHollow },
			{ start: 127730, end: 129010, func: this.actions.circleCenterHollow },
			{ start: 128510, end: 129590, func: this.actions.circleCenterExpand },
			{ start: 129090, end: 130010, func: this.actions.circleCenterExpand },
			{ start: 129510, end: 130520, func: this.actions.circleCenterContract },
			{ start: 130020, end: 131050, func: this.actions.circleCenterContract },


			{ start: 130550, end: 131760, func: this.actions.rectEdgesLeft },
			{ start: 131260, end: 132090, func: this.actions.rectEdgesRight },
			{ start: 131590, end: 132860, func: this.actions.rectEdgesTop },
			{ start: 132360, end: 133080, func: this.actions.rectEdgesLeft },
			{ start: 132580, end: 133870, func: this.actions.rectEdgesRight },
			{ start: 133370, end: 135540, func: this.actions.rectEdgesBottom },
			{ start: 133640, end: 136030, func: this.actions.rectEdgesTop },

			{ start: 135530, end: 138510, func: this.actions.rectEdgesFilled },
			{ start: 138010, end: 140810, func: this.actions.rectEdgesFilled },
			{ start: 140310, end: 143110, func: this.actions.rectEdgesFilled },

			{ start: 142610, end: 143900, func: this.actions.rectScreenLeft, z: 110 },
			{ start: 143400, end: 144650, func: this.actions.rectScreenRight, z: 111  },
			{ start: 144150, end: 145120, func: this.actions.rectScreenCenter, z: 112  },
			{ start: 144620, end: 145680, func: this.actions.rectScreenLeft, z: 113  },
			{ start: 145180, end: 145950, func: this.actions.rectScreenCenter, z: 114  },

			{ start: 145450, end: 147990, func: this.actions.rectScreenLeft, z: 115  },
			{ start: 145450, end: 147990, func: this.actions.rectScreenRight, z: 116 },

			{ start: 147490, end: 148520, func: this.actions.rectScreenCenter, z: 117 },
			{ start: 148020, end: 150560, func: this.actions.rectScreenLeft, z: 118 },
			{ start: 148020, end: 150560, func: this.actions.rectScreenRight, z: 119 },

			{ start: 150060, end: 150820, func: this.actions.rectScreenLeft, z: 120 },
			{ start: 150060, end: 150820, func: this.actions.rectScreenRight, z: 121 },
			{ start: 150320, end: 152850, func: this.actions.rectScreenCenter, z: 122 },

			{ start: 152350, end: 153130, func: this.actions.rectScreenLeft, z: 123 },
			{ start: 152350, end: 153130, func: this.actions.rectScreenRight, z: 124 },
			{ start: 152630, end: 154690, func: this.actions.rectScreenCenter, z: 125 },
	
			

			{ start: 154690, end: 155247, func: this.actions.rectScreenStripes3, z: 10 },
			{ start: 155047, end: 157790, func: this.actions.rectScreenStripes2, z: 10 },
			{ start: 157290, end: 157662, func: this.actions.rectScreenStripes3, z: 10 },
			{ start: 157462, end: 160010, func: this.actions.rectScreenStripes2, z: 10 },
			{ start: 159510, end: 160031, func: this.actions.rectScreenStripes3, z: 10 },
			{ start: 159831, end: 162590, func: this.actions.rectScreenStripes2, z: 10 },
			{ start: 162090, end: 163120, func: this.actions.rectScreenBar01, z: 10 },
			{ start: 162620, end: 163850, func: this.actions.rectScreenBar02, z: 10 },
			{ start: 163350, end: 164140, func: this.actions.rectScreenBar03, z: 10 },
			{ start: 163640, end: 164870, func: this.actions.rectScreenBar04, z: 10 },
			
			{ start: 164270, end: 165050, func: this.actions.rectScreenStripes3, z: 10 },
			{ start: 164550, end: 167220, func: this.actions.rectScreenStripes2, z: 10 },
			{ start: 166820, end: 167275, func: this.actions.rectScreenStripes3, z: 10 },
			{ start: 167175, end: 170010, func: this.actions.rectScreenStripes2, z: 10 },
			{ start: 169210, end: 169876, func: this.actions.rectScreenStripes3, z: 10 },
			{ start: 169576, end: 172110, func: this.actions.rectScreenStripes2, z: 10 },
			{ start: 171610, end: 172840, func: this.actions.rectScreenBar01, z: 10 },
			{ start: 172340, end: 173610, func: this.actions.rectScreenBar02, z: 10 },
			{ start: 173110, end: 173850, func: this.actions.rectScreenBar03, z: 10 },
			{ start: 173350, end: 174650, func: this.actions.rectScreenBar04, z: 10 },
			
			{ start: 174150, end: 174900, func: this.actions.rectScreenStripes3, z: 10 },
			{ start: 174400, end: 176980, func: this.actions.rectScreenStripes2, z: 10 },
			{ start: 176480, end: 177240, func: this.actions.rectScreenStripes3, z: 10 },
			{ start: 176840, end: 179550, func: this.actions.rectScreenStripes2, z: 10 },
			{ start: 179050, end: 179740, func: this.actions.rectScreenStripes3, z: 10 },
			{ start: 179290, end: 181830, func: this.actions.rectScreenStripes2, z: 10 },
			{ start: 181330, end: 182560, func: this.actions.rectScreenBar01, z: 10 },
			{ start: 182060, end: 183080, func: this.actions.rectScreenBar02, z: 10 },
			{ start: 182580, end: 183610, func: this.actions.rectScreenBar03, z: 10 },
			{ start: 183110, end: 184500, func: this.actions.rectScreenBar04, z: 10 },
			
			{ start: 184000, end: 185720, func: this.actions.rowCenterShort, z: 10 },
			{ start: 184220, end: 190220, func: this.actions.circleCenterSmall, z: 10 },



	// Base drum --------------------------------------------------------------------------------------------
			{ start: 48597, end: 48897, func: this.actions.baseDrumCenterRect },
			{ start: 49479, end: 49779, func: this.actions.baseDrumCenterRect },
			{ start: 49990, end: 50290, func: this.actions.baseDrumCenterRect },
			{ start: 50501, end: 50801, func: this.actions.baseDrumCenterRect },
			{ start: 51058, end: 51358, func: this.actions.baseDrumCenterRect },
			{ start: 51894, end: 52194, func: this.actions.baseDrumCenterRect },
			{ start: 52405, end: 52705, func: this.actions.baseDrumCenterRect },
			{ start: 53427, end: 53727, func: this.actions.baseDrumCenterRect },
			{ start: 54309, end: 54609, func: this.actions.baseDrumCenterRect },
			{ start: 55145, end: 55445, func: this.actions.baseDrumCenterRect },
			{ start: 55888, end: 56188, func: this.actions.baseDrumCenterRect },
			{ start: 56120, end: 56420, func: this.actions.baseDrumCenterRect },
			{ start: 56399, end: 56699, func: this.actions.baseDrumCenterRect },
			{ start: 56724, end: 57024, func: this.actions.baseDrumCenterRect },
			{ start: 57096, end: 57396, func: this.actions.baseDrumCenterRect },
			{ start: 57281, end: 57581, func: this.actions.baseDrumCenterRect },
			{ start: 57792, end: 58092, func: this.actions.baseDrumCenterRect },
			{ start: 58303, end: 58603, func: this.actions.baseDrumCenterRect },
			{ start: 59139, end: 59439, func: this.actions.baseDrumCenterRect },
			{ start: 59650, end: 59950, func: this.actions.baseDrumCenterRect },
			{ start: 60021, end: 60321, func: this.actions.baseDrumCenterRect },
			{ start: 60718, end: 61018, func: this.actions.baseDrumCenterRect },
			{ start: 61554, end: 61854, func: this.actions.baseDrumCenterRect },
			{ start: 62065, end: 62365, func: this.actions.baseDrumCenterRect },
			{ start: 62575, end: 62875, func: this.actions.baseDrumCenterRect },
			{ start: 63133, end: 63433, func: this.actions.baseDrumCenterRect },
			{ start: 63644, end: 63944, func: this.actions.baseDrumCenterRect },
			{ start: 64665, end: 64965, func: this.actions.baseDrumCenterRect },
			{ start: 64990, end: 65290, func: this.actions.baseDrumCenterRect },
			{ start: 65501, end: 65801, func: this.actions.baseDrumCenterRect },
			{ start: 65780, end: 66080, func: this.actions.baseDrumCenterRect },
			{ start: 66058, end: 66358, func: this.actions.baseDrumCenterRect },
			{ start: 66244, end: 66544, func: this.actions.baseDrumCenterRect },
			{ start: 66569, end: 66869, func: this.actions.baseDrumCenterRect },
			{ start: 66894, end: 67194, func: this.actions.baseDrumCenterRect },
			{ start: 67823, end: 68123, func: this.actions.baseDrumCenterRect },
			{ start: 69309, end: 69609, func: this.actions.baseDrumCenterRect },
			{ start: 71200, end: 71500, func: this.actions.baseDrumCenterRect },
			{ start: 71400, end: 71700, func: this.actions.baseDrumCenterRect },
			{ start: 71910, end: 72210, func: this.actions.baseDrumCenterRect },
			{ start: 72421, end: 72721, func: this.actions.baseDrumCenterRect },
			{ start: 72746, end: 73046, func: this.actions.baseDrumCenterRect },
			{ start: 73442, end: 73742, func: this.actions.baseDrumCenterRect },
			{ start: 73628, end: 73928, func: this.actions.baseDrumCenterRect },
			{ start: 74139, end: 74439, func: this.actions.baseDrumCenterRect },
			{ start: 76043, end: 76343, func: this.actions.baseDrumCenterRect },
			{ start: 76229, end: 76529, func: this.actions.baseDrumCenterRect },
			{ start: 77436, end: 77736, func: this.actions.baseDrumCenterRect },
			{ start: 78690, end: 78990, func: this.actions.baseDrumCenterRect },
			{ start: 78876, end: 79176, func: this.actions.baseDrumCenterRect },
			{ start: 79015, end: 79315, func: this.actions.baseDrumCenterRect },
			{ start: 79340, end: 79640, func: this.actions.baseDrumCenterRect },
			{ start: 79665, end: 79965, func: this.actions.baseDrumCenterRect },
			{ start: 79990, end: 80290, func: this.actions.baseDrumCenterRect },
			{ start: 80362, end: 80662, func: this.actions.baseDrumCenterRect },
			{ start: 80687, end: 80987, func: this.actions.baseDrumCenterRect },
			{ start: 80873, end: 81173, func: this.actions.baseDrumCenterRect },
			{ start: 81059, end: 81359, func: this.actions.baseDrumCenterRect },
			{ start: 81159, end: 81459, func: this.actions.baseDrumCenterRect },
			{ start: 81200, end: 81500, func: this.actions.baseDrumCenterRect },
			{ start: 81259, end: 81559, func: this.actions.baseDrumCenterRect },
			{ start: 81300, end: 81659, func: this.actions.baseDrumCenterRect },
			{ start: 81359, end: 81659, func: this.actions.baseDrumCenterRect },
			{ start: 82080, end: 82380, func: this.actions.baseDrumCenterRect },
			{ start: 82452, end: 82752, func: this.actions.baseDrumCenterRect },
			{ start: 82777, end: 83077, func: this.actions.baseDrumCenterRect },
			{ start: 83799, end: 84099, func: this.actions.baseDrumCenterRect },
			{ start: 85145, end: 85445, func: this.actions.baseDrumCenterRect },
			{ start: 85331, end: 85631, func: this.actions.baseDrumCenterRect },
			{ start: 85517, end: 85817, func: this.actions.baseDrumCenterRect },
			{ start: 85888, end: 86188, func: this.actions.baseDrumCenterRect },
			{ start: 86213, end: 86513, func: this.actions.baseDrumCenterRect },
			{ start: 86585, end: 86885, func: this.actions.baseDrumCenterRect },
			{ start: 87235, end: 87535, func: this.actions.baseDrumCenterRect },
			{ start: 88117, end: 88417, func: this.actions.baseDrumCenterRect },
			{ start: 88628, end: 88928, func: this.actions.baseDrumCenterRect },
			{ start: 89325, end: 89625, func: this.actions.baseDrumCenterRect },
			{ start: 89650, end: 89950, func: this.actions.baseDrumCenterRect },
			{ start: 90532, end: 90832, func: this.actions.baseDrumCenterRect },
			{ start: 91043, end: 91343, func: this.actions.baseDrumCenterRect },
			{ start: 92065, end: 92365, func: this.actions.baseDrumCenterRect },
			{ start: 93644, end: 93944, func: this.actions.baseDrumCenterRect },
			{ start: 93830, end: 94130, func: this.actions.baseDrumCenterRect },
			{ start: 94155, end: 94455, func: this.actions.baseDrumCenterRect },

			{ start: 96941, end: 97241, func: this.actions.baseDrumCenterCircle },
			{ start: 97452, end: 97752, func: this.actions.baseDrumCenterCircle },
			{ start: 99588, end: 99888, func: this.actions.baseDrumCenterCircle },
			{ start: 99774, end: 100074, func: this.actions.baseDrumCenterCircle },
			{ start: 99960, end: 100260, func: this.actions.baseDrumCenterCircle },
			{ start: 100192, end: 100492, func: this.actions.baseDrumCenterCircle },
			{ start: 100703, end: 101003, func: this.actions.baseDrumCenterCircle },
			{ start: 101028, end: 101328, func: this.actions.baseDrumCenterCircle },
			{ start: 101399, end: 101699, func: this.actions.baseDrumCenterCircle },
			{ start: 101585, end: 101885, func: this.actions.baseDrumCenterCircle },
			{ start: 101771, end: 102071, func: this.actions.baseDrumCenterCircle },
			{ start: 102282, end: 102582, func: this.actions.baseDrumCenterCircle },
			{ start: 102653, end: 102953, func: this.actions.baseDrumCenterCircle },
			{ start: 103118, end: 103418, func: this.actions.baseDrumCenterCircle },
			{ start: 103953, end: 104253, func: this.actions.baseDrumCenterCircle },
			{ start: 104650, end: 104950, func: this.actions.baseDrumCenterCircle },
			{ start: 105022, end: 105322, func: this.actions.baseDrumCenterCircle },
			{ start: 105207, end: 105507, func: this.actions.baseDrumCenterCircle },
			{ start: 105532, end: 105832, func: this.actions.baseDrumCenterCircle },
			{ start: 105857, end: 106157, func: this.actions.baseDrumCenterCircle },
			{ start: 106229, end: 106529, func: this.actions.baseDrumCenterCircle },
			{ start: 106415, end: 106715, func: this.actions.baseDrumCenterCircle },
			{ start: 106600, end: 106900, func: this.actions.baseDrumCenterCircle },
			{ start: 107344, end: 107644, func: this.actions.baseDrumCenterCircle },
			{ start: 107576, end: 107876, func: this.actions.baseDrumCenterCircle },
			{ start: 107761, end: 108061, func: this.actions.baseDrumCenterCircle },
			{ start: 107947, end: 108247, func: this.actions.baseDrumCenterCircle },
			{ start: 108319, end: 108619, func: this.actions.baseDrumCenterCircle },
			{ start: 108644, end: 108944, func: this.actions.baseDrumCenterCircle },
			{ start: 108969, end: 109269, func: this.actions.baseDrumCenterCircle },
			{ start: 109340, end: 109640, func: this.actions.baseDrumCenterCircle },
			{ start: 109666, end: 109966, func: this.actions.baseDrumCenterCircle },
			{ start: 109851, end: 110151, func: this.actions.baseDrumCenterCircle },
			{ start: 110087, end: 110387, func: this.actions.baseDrumCenterCircle },
			{ start: 110137, end: 110437, func: this.actions.baseDrumCenterCircle },
			{ start: 110187, end: 110487, func: this.actions.baseDrumCenterCircle },
			{ start: 110237, end: 110537, func: this.actions.baseDrumCenterCircle },
			{ start: 110287, end: 110587, func: this.actions.baseDrumCenterCircle },
			{ start: 111059, end: 111359, func: this.actions.baseDrumCenterCircle },
			{ start: 111384, end: 111684, func: this.actions.baseDrumCenterCircle },
			{ start: 111755, end: 112055, func: this.actions.baseDrumCenterCircle },
			{ start: 112777, end: 113077, func: this.actions.baseDrumCenterCircle },
			{ start: 114077, end: 114377, func: this.actions.baseDrumCenterCircle },
			{ start: 114263, end: 114563, func: this.actions.baseDrumCenterCircle },
			{ start: 114495, end: 114795, func: this.actions.baseDrumCenterCircle },
			{ start: 114820, end: 115120, func: this.actions.baseDrumCenterCircle },
			{ start: 115517, end: 115817, func: this.actions.baseDrumCenterCircle },
			{ start: 115888, end: 116188, func: this.actions.baseDrumCenterCircle },
			{ start: 116214, end: 116514, func: this.actions.baseDrumCenterCircle },
			{ start: 117421, end: 117721, func: this.actions.baseDrumCenterCircle },
			{ start: 117607, end: 117907, func: this.actions.baseDrumCenterCircle },
			{ start: 118536, end: 118836, func: this.actions.baseDrumCenterCircle },
			{ start: 118954, end: 119254, func: this.actions.baseDrumCenterCircle },
			{ start: 119139, end: 119439, func: this.actions.baseDrumCenterCircle },
			{ start: 119325, end: 119625, func: this.actions.baseDrumCenterCircle },
			{ start: 119511, end: 119811, func: this.actions.baseDrumCenterCircle },
			{ start: 119697, end: 119997, func: this.actions.baseDrumCenterCircle },
			{ start: 120161, end: 120461, func: this.actions.baseDrumCenterCircle },
			{ start: 120672, end: 120972, func: this.actions.baseDrumCenterCircle },
			{ start: 121043, end: 121343, func: this.actions.baseDrumCenterCircle },
			{ start: 121554, end: 121854, func: this.actions.baseDrumCenterCircle },
			{ start: 122437, end: 122737, func: this.actions.baseDrumCenterCircle },
			{ start: 122762, end: 123062, func: this.actions.baseDrumCenterCircle },
			{ start: 123133, end: 123433, func: this.actions.baseDrumCenterCircle },
			{ start: 123923, end: 124223, func: this.actions.baseDrumCenterCircle },
			{ start: 124294, end: 124594, func: this.actions.baseDrumCenterCircle },
			{ start: 124480, end: 124780, func: this.actions.baseDrumCenterCircle },
			{ start: 125594, end: 125894, func: this.actions.baseDrumCenterCircle },
			{ start: 125780, end: 126080, func: this.actions.baseDrumCenterCircle },
			{ start: 125966, end: 126266, func: this.actions.baseDrumCenterCircle },
			{ start: 126802, end: 127102, func: this.actions.baseDrumCenterCircle },
			{ start: 127266, end: 127566, func: this.actions.baseDrumCenterCircle },
			{ start: 127591, end: 127891, func: this.actions.baseDrumCenterCircle },
			{ start: 128706, end: 129006, func: this.actions.baseDrumCenterCircle },
			{ start: 128845, end: 129145, func: this.actions.baseDrumCenterCircle },
			{ start: 129635, end: 129935, func: this.actions.baseDrumCenterCircle },
			{ start: 130006, end: 130306, func: this.actions.baseDrumCenterCircle },
			{ start: 130517, end: 130817, func: this.actions.baseDrumCenterCircle },
			{ start: 130703, end: 131003, func: this.actions.baseDrumCenterCircle },
			{ start: 131028, end: 131328, func: this.actions.baseDrumCenterCircle },
			{ start: 131214, end: 131514, func: this.actions.baseDrumCenterCircle },
			{ start: 132096, end: 132396, func: this.actions.baseDrumCenterCircle },
			{ start: 133396, end: 133696, func: this.actions.baseDrumCenterCircle },
			{ start: 133582, end: 133882, func: this.actions.baseDrumCenterCircle },
			{ start: 133954, end: 134254, func: this.actions.baseDrumCenterCircle },
			{ start: 134139, end: 134439, func: this.actions.baseDrumCenterCircle },
			{ start: 135347, end: 135647, func: this.actions.baseDrumCenterCircle },
			{ start: 135486, end: 135786, func: this.actions.baseDrumCenterCircle },
			{ start: 136368, end: 136668, func: this.actions.baseDrumCenterCircle },
			{ start: 136879, end: 137179, func: this.actions.baseDrumCenterCircle },
			{ start: 137576, end: 137876, func: this.actions.baseDrumCenterCircle },
			{ start: 137947, end: 138247, func: this.actions.baseDrumCenterCircle },
			{ start: 138783, end: 139083, func: this.actions.baseDrumCenterCircle },
			{ start: 139341, end: 139641, func: this.actions.baseDrumCenterCircle },
			{ start: 140362, end: 140662, func: this.actions.baseDrumCenterCircle },
			{ start: 141523, end: 141823, func: this.actions.baseDrumCenterCircle },
			{ start: 141709, end: 142009, func: this.actions.baseDrumCenterCircle },
			{ start: 141895, end: 142195, func: this.actions.baseDrumCenterCircle },
			{ start: 142081, end: 142381, func: this.actions.baseDrumCenterCircle },
			{ start: 142777, end: 143077, func: this.actions.baseDrumCenterCircle },

			{ start: 154573, end: 154873, func: this.actions.baseDrumZoom },
			{ start: 154805, end: 155105, func: this.actions.baseDrumZoom },
			{ start: 155177, end: 155477, func: this.actions.baseDrumZoom },
			{ start: 155687, end: 155987, func: this.actions.baseDrumZoom },
			{ start: 156198, end: 156498, func: this.actions.baseDrumZoom },
			{ start: 156895, end: 157195, func: this.actions.baseDrumZoom },
			{ start: 157266, end: 157566, func: this.actions.baseDrumZoom },
			{ start: 158102, end: 158402, func: this.actions.baseDrumZoom },
			{ start: 158613, end: 158913, func: this.actions.baseDrumZoom },
			{ start: 159635, end: 159935, func: this.actions.baseDrumZoom },
			{ start: 161214, end: 161514, func: this.actions.baseDrumZoom },
			{ start: 161400, end: 161700, func: this.actions.baseDrumZoom },
			{ start: 162096, end: 162396, func: this.actions.baseDrumZoom },
			{ start: 164372, end: 164672, func: this.actions.baseDrumZoom },
			{ start: 164511, end: 164811, func: this.actions.baseDrumZoom },
			{ start: 165208, end: 165508, func: this.actions.baseDrumZoom },
			{ start: 165858, end: 166158, func: this.actions.baseDrumZoom },
			{ start: 166554, end: 166854, func: this.actions.baseDrumZoom },
			{ start: 166880, end: 167180, func: this.actions.baseDrumZoom },
			{ start: 167065, end: 167365, func: this.actions.baseDrumZoom },
			{ start: 168458, end: 168758, func: this.actions.baseDrumZoom },
			{ start: 169294, end: 169594, func: this.actions.baseDrumZoom },
			{ start: 169991, end: 170291, func: this.actions.baseDrumZoom },
			{ start: 170362, end: 170662, func: this.actions.baseDrumZoom },
			{ start: 170688, end: 170988, func: this.actions.baseDrumZoom },
			{ start: 171059, end: 171359, func: this.actions.baseDrumZoom },
			{ start: 171384, end: 171684, func: this.actions.baseDrumZoom },
			{ start: 171756, end: 172056, func: this.actions.baseDrumZoom },
			{ start: 171895, end: 172195, func: this.actions.baseDrumZoom },
			{ start: 173288, end: 173588, func: this.actions.baseDrumZoom },
			{ start: 173474, end: 173774, func: this.actions.baseDrumZoom },
			{ start: 174124, end: 174424, func: this.actions.baseDrumZoom },
			{ start: 175471, end: 175771, func: this.actions.baseDrumZoom },
			{ start: 175703, end: 176003, func: this.actions.baseDrumZoom },
			{ start: 176539, end: 176839, func: this.actions.baseDrumZoom },
			{ start: 176725, end: 177025, func: this.actions.baseDrumZoom },
			{ start: 178118, end: 178418, func: this.actions.baseDrumZoom },
			{ start: 178304, end: 178604, func: this.actions.baseDrumZoom },
			{ start: 178954, end: 179254, func: this.actions.baseDrumZoom },
			{ start: 181183, end: 181483, func: this.actions.baseDrumZoom },
			{ start: 182251, end: 182551, func: this.actions.baseDrumZoom },
			{ start: 183820, end: 184120, func: this.actions.baseDrumZoom },
		];
			
		
		this.queue.sort( function(a,b){ return a.start < b.start ? -1 : 1; } );
	}
});


