MILKDROP_PRESET_VERSION=201
PSVERSION=3
PSVERSION_WARP=3
PSVERSION_COMP=3
[preset00]
fRating=5.000
fGammaAdj=1.980
fDecay=0.500
fVideoEchoZoom=0.952
fVideoEchoAlpha=0.500
nVideoEchoOrientation=3
nWaveMode=0
bAdditiveWaves=0
bWaveDots=0
bWaveThick=0
bModWaveAlphaByVolume=1
bMaximizeWaveColor=0
bTexWrap=1
bDarkenCenter=0
bRedBlueStereo=0
bBrighten=0
bDarken=1
bSolarize=0
bInvert=0
fWaveAlpha=0.001
fWaveScale=1.056
fWaveSmoothing=0.000
fWaveParam=-1.000
fModWaveAlphaStart=0.800
fModWaveAlphaEnd=0.200
fWarpAnimSpeed=1.459
fWarpScale=2.007
fZoomExponent=1.00000
fShader=0.000
zoom=0.99990
rot=0.00000
cx=0.500
cy=0.500
dx=0.00000
dy=0.00000
warp=0.01000
sx=0.99990
sy=1.00000
wave_r=0.200
wave_g=0.000
wave_b=1.000
wave_x=0.500
wave_y=0.500
ob_size=0.000
ob_r=0.000
ob_g=0.000
ob_b=0.000
ob_a=0.000
ib_size=0.000
ib_r=0.250
ib_g=0.250
ib_b=0.250
ib_a=0.000
nMotionVectorsX=64.000
nMotionVectorsY=48.000
mv_dx=0.000
mv_dy=0.000
mv_l=1.850
mv_r=0.500
mv_g=0.500
mv_b=0.500
mv_a=0.000
b1n=0.000
b2n=0.000
b3n=0.000
b1x=1.000
b2x=0.700
b3x=1.000
b1ed=0.000
wavecode_0_enabled=1
wavecode_0_samples=128
wavecode_0_sep=120
wavecode_0_bSpectrum=1
wavecode_0_bUseDots=0
wavecode_0_bDrawThick=0
wavecode_0_bAdditive=1
wavecode_0_scaling=3.54480
wavecode_0_smoothing=0.13000
wavecode_0_r=0.000
wavecode_0_g=1.000
wavecode_0_b=1.000
wavecode_0_a=0.000
wave_0_per_frame1=t1 = 0;
wave_0_per_point1=x = sample;
wave_0_per_point2=gmegabuf(t1) =  gmegabuf(t1)*0.5 + 0.5* (value1+value2) ;
wave_0_per_point3=t1 += 1;
wavecode_1_enabled=0
wavecode_1_samples=512
wavecode_1_sep=0
wavecode_1_bSpectrum=0
wavecode_1_bUseDots=1
wavecode_1_bDrawThick=0
wavecode_1_bAdditive=1
wavecode_1_scaling=0.18143
wavecode_1_smoothing=0.00000
wavecode_1_r=0.000
wavecode_1_g=0.000
wavecode_1_b=1.000
wavecode_1_a=0.500
wavecode_2_enabled=1
wavecode_2_samples=512
wavecode_2_sep=0
wavecode_2_bSpectrum=0
wavecode_2_bUseDots=1
wavecode_2_bDrawThick=0
wavecode_2_bAdditive=1
wavecode_2_scaling=0.89152
wavecode_2_smoothing=0.82000
wavecode_2_r=0.270
wavecode_2_g=0.180
wavecode_2_b=1.000
wavecode_2_a=0.400
wave_2_per_frame1=t1 = 1; t2=2;
wave_2_per_point1=zmax=18;
wave_2_per_point2=z = sample-reg60*1.5;
wave_2_per_point3=z = (z-int(z))*zmax;
wave_2_per_point4=
wave_2_per_point5=bs = 4096;
wave_2_per_point6=t1 = (t1%bs)*3036 + int(t1/bs);
wave_2_per_point7=t2 = (t2%bs)*3288 + int(t2/bs);
wave_2_per_point8=x= (t1%bs/bs-0.5)/z+0.5;
wave_2_per_point9=y= (t2%bs/bs-0.5)/z+0.5;
wave_2_per_point10=
wave_2_per_point11=a=(1-z/zmax)*0.65;
wavecode_3_enabled=0
wavecode_3_samples=202
wavecode_3_sep=0
wavecode_3_bSpectrum=1
wavecode_3_bUseDots=0
wavecode_3_bDrawThick=1
wavecode_3_bAdditive=0
wavecode_3_scaling=1.00000
wavecode_3_smoothing=0.00000
wavecode_3_r=0.000
wavecode_3_g=0.000
wavecode_3_b=1.000
wavecode_3_a=0.100
shapecode_0_enabled=1
shapecode_0_sides=16
shapecode_0_additive=1
shapecode_0_thickOutline=0
shapecode_0_textured=0
shapecode_0_num_inst=180
shapecode_0_x=0.400
shapecode_0_y=0.500
shapecode_0_rad=0.03300
shapecode_0_ang=0.00000
shapecode_0_tex_ang=0.87965
shapecode_0_tex_zoom=6.61077
shapecode_0_r=0.000
shapecode_0_g=0.000
shapecode_0_b=1.000
shapecode_0_a=1.000
shapecode_0_r2=0.000
shapecode_0_g2=0.000
shapecode_0_b2=0.000
shapecode_0_a2=0.000
shapecode_0_border_r=1.000
shapecode_0_border_g=1.000
shapecode_0_border_b=0.000
shapecode_0_border_a=0.000
shape_0_per_frame1=if (instance==0, s1=3; s2=13,0);
shape_0_per_frame2=zmax = 4;
shape_0_per_frame3=k1 = instance/num_inst;
shape_0_per_frame4=bs=4096;
shape_0_per_frame5=s1 = s1%bs*3036 + s1/bs;
shape_0_per_frame6=s2 = s2%bs*3288 + s2/bs;
shape_0_per_frame7=z = k1-reg60; z = (z-int(z))*zmax;
shape_0_per_frame8=x = (s1%bs/bs-.5)/z+.5;
shape_0_per_frame9=y = (s2%bs/bs-.5)/z/12*reg32+0.5;
shape_0_per_frame10=rad = .008/z*reg32 ;
shape_0_per_frame11=ang = z*62;
shape_0_per_frame12=a = min(1,1*max(0,7*min(x,1-x)))*0.8;
shape_0_per_frame13=a2=a;
shape_0_per_frame14=
shapecode_1_enabled=1
shapecode_1_sides=12
shapecode_1_additive=1
shapecode_1_thickOutline=0
shapecode_1_textured=0
shapecode_1_num_inst=128
shapecode_1_x=0.260
shapecode_1_y=0.200
shapecode_1_rad=0.39317
shapecode_1_ang=0.00000
shapecode_1_tex_ang=0.00000
shapecode_1_tex_zoom=0.93550
shapecode_1_r=1.000
shapecode_1_g=1.000
shapecode_1_b=0.600
shapecode_1_a=0.700
shapecode_1_r2=0.000
shapecode_1_g2=0.000
shapecode_1_b2=0.000
shapecode_1_a2=0.100
shapecode_1_border_r=1.000
shapecode_1_border_g=1.000
shapecode_1_border_b=1.000
shapecode_1_border_a=0.000
shape_1_per_frame1=shapes = reg01;
shape_1_per_frame2=copies = int(num_inst/shapes/2);
shape_1_per_frame3=satz = shapes*copies;
shape_1_per_frame4=i = instance%satz;
shape_1_per_frame5=n = int(i/copies)*8+1000;
shape_1_per_frame6=f = (i%copies)/(copies);
shape_1_per_frame7=
shape_1_per_frame8=x0 = gmegabuf(n)*f + megabuf(n)*(1-f);
shape_1_per_frame9=y0 = gmegabuf(n+1)*f+ megabuf(n+1)*(1-f);
shape_1_per_frame10=z0 = gmegabuf(n+2)*f+ megabuf(n+2)*(1-f);
shape_1_per_frame11=
shape_1_per_frame12=megabuf(n) = x0; megabuf(n+1) = y0; megabuf(n+2) = z0;
shape_1_per_frame13=x = x0 + .5;
shape_1_per_frame14=y = y0*reg32 + .5;
shape_1_per_frame15=z = z0;
shape_1_per_frame16=
shape_1_per_frame17=rad = 0.009/z*reg13*reg32;
shape_1_per_frame18=
shape_1_per_frame19=r = i/satz;
shape_1_per_frame20=b = 1-r;
shape_1_per_frame21=g = 4*pow (r-0.5,2);
shape_1_per_frame22=r = r*0.8+.2;
shape_1_per_frame23=g = g*0.8+.2;
shape_1_per_frame24=b = 0;
shape_1_per_frame25=r2 = r/2; b2 = b/2; g2 = g/2;
shape_1_per_frame26=
shape_1_per_frame27=if (instance>satz, x = 1-x; if (sin(time*0.081)<0,y = 1-y,0),0);
shapecode_2_enabled=1
shapecode_2_sides=16
shapecode_2_additive=1
shapecode_2_thickOutline=1
shapecode_2_textured=0
shapecode_2_num_inst=1
shapecode_2_x=0.500
shapecode_2_y=0.500
shapecode_2_rad=0.32548
shapecode_2_ang=0.00000
shapecode_2_tex_ang=0.00000
shapecode_2_tex_zoom=0.81386
shapecode_2_r=0.000
shapecode_2_g=0.000
shapecode_2_b=1.000
shapecode_2_a=0.300
shapecode_2_r2=0.000
shapecode_2_g2=0.000
shapecode_2_b2=0.000
shapecode_2_a2=0.000
shapecode_2_border_r=0.500
shapecode_2_border_g=1.000
shapecode_2_border_b=0.000
shapecode_2_border_a=0.000
shape_2_per_frame1=arg = q10*3.1416*4;
shape_2_per_frame2=amp = max(0,min(1,pow(sin(arg+0.7),2)));
shape_2_per_frame3=reg51=amp*reg10;
shape_2_per_frame4=sw = sin(arg)*osw<0;
shape_2_per_frame5=osw= sin(arg);
shape_2_per_frame6=
shape_2_per_frame7=if (sw, x0=rand(1); y0=rand(1), 0);
shape_2_per_frame8=x = x0*0.4+0.3; y = y0*0.4+0.3;
shape_2_per_frame9=x = 0.5+0.35*reg10*((sin(arg)>0)-0.5) * sin(time*0.071)/reg32;
shape_2_per_frame10=y = 0.5;
shape_2_per_frame11=x1 = x-0.5; y1 = y-0.5; 
shape_2_per_frame12=
shape_2_per_frame13=reg40=x+y; 
shape_2_per_frame14=ar=atan(x1/y1);
shape_2_per_frame15=if (y1<0, if (x1<0, ar+=3.14, ar+=3.14),0);
shape_2_per_frame16=reg41 = ar;
shape_2_per_frame17=
shape_2_per_frame18=bo = min (min(x,1-x),min(y,1-y));
shape_2_per_frame19=rad = min(2*bo,2*amp*reg10);
shape_2_per_frame20=a   = amp*reg10*0.7;
shape_2_per_frame21=if (instance==1, x=0.3; y= 0.7; rad = 0.2; a=0.8*pow(reg10,0.2)*pow(sin(arg/4),2), 0);
shapecode_3_enabled=0
shapecode_3_sides=12
shapecode_3_additive=1
shapecode_3_thickOutline=1
shapecode_3_textured=0
shapecode_3_num_inst=32
shapecode_3_x=0.600
shapecode_3_y=0.550
shapecode_3_rad=0.97237
shapecode_3_ang=1.25664
shapecode_3_tex_ang=0.00000
shapecode_3_tex_zoom=0.34933
shapecode_3_r=0.000
shapecode_3_g=0.000
shapecode_3_b=1.000
shapecode_3_a=0.700
shapecode_3_r2=0.000
shapecode_3_g2=0.000
shapecode_3_b2=0.000
shapecode_3_a2=0.100
shapecode_3_border_r=0.200
shapecode_3_border_g=0.700
shapecode_3_border_b=0.500
shapecode_3_border_a=0.000
shape_3_per_frame1=rad = 0;
shape_3_per_frame2=
per_frame_init_1=n = 0; loop (15000,megabuf(n) =0;gmegabuf(n) = 0; n+=1;);
per_frame_init_2=flen = 128; shapes = 16; reg01 = shapes;
per_frame_init_3=minbpm=100; maxbpm=300; num_res=80;
per_frame_init_4=slow = 1; r1=8; r2=1; run = 0; bvol_=0; dir = 1; tlen=2.5; ndir = 1; size_=1; vol_=1; certain = 3; movarg = rand(100);
per_frame_init_5=lc = rand(2)-1; tr1 = rand(5); tr2 = rand(5); r5 = rand(6); vc_=rand(20); r3=2; tubes = pow(2,int(rand(5)));
per_frame_init_6=start = time; ray_=0; r9 = rand(1) * if(tubes==1,0.25,1); tw = sqrt(tubes)*0.025*r9 +0.005; tmove = rand(100);
per_frame_1=dec_f = 1-10/fps; dec_m = 1-3/fps; dec_s = 1-1/fps; dt=1/fps;
per_frame_2=
per_frame_3=maxind = 0; qavg = 0.1; i=0; 
per_frame_4=bvol = sqrt(max(0.05,(2*bass+mid+treb)/3)); bvol_=bvol_*dec_m + (1-dec_m)*bvol;
per_frame_5=Excite = (bvol-bvol_);
per_frame_6=loop (num_res,
per_frame_7=  n = i*8;
per_frame_8=  Freq  = (i/(num_res-1)+minbpm/(maxbpm-minbpm))*(maxbpm-minbpm)/60;
per_frame_9=  Feder = sqr(Freq*6.2832);
per_frame_10=  megabuf (n+4) = megabuf(n+1); megabuf (n+1) *= 1-0.22*dt; 
per_frame_11=  EC_Steps = int (30*Freq*dt)+1;
per_frame_12=  loop (EC_Steps, // Euler-Cauchy steps
per_frame_13=    Kraft = Excite - Feder*megabuf(n + 2) ;
per_frame_14=    megabuf (n+1) += Kraft        * dt/EC_Steps;
per_frame_15=    megabuf (n+2) += megabuf(n+1) * dt/EC_Steps;  );
per_frame_16=  beatcos = megabuf(n+1);  beatsin = megabuf(n+2)*Freq*6.2832;
per_frame_17=  quad = sqrt (pow(beatsin,2) + pow(beatcos,2));
per_frame_18=  megabuf (n+3) = megabuf(n+3) *dec_m +  quad* (1-dec_m);
per_frame_19=  if (megabuf(n+3) > megabuf (maxind*8+3), maxind =i,0);
per_frame_20=  qavg = qavg+pow (megabuf(n+3),2);
per_frame_21=  i += 1;);
per_frame_22=
per_frame_23=BPM =   (maxind/(num_res-1)+minbpm/(maxbpm-minbpm))*(maxbpm-minbpm);
per_frame_24=if (BPM > 200, BPM *= 0.5, 0);
per_frame_25=
per_frame_26=qavg = sqrt (qavg/num_res); 
per_frame_27=qdev = 0; i =0; loop (num_res, qdev += pow(megabuf(i+3)-qavg,2); i += 8; );
per_frame_28=qdev = sqrt (qdev/num_res);
per_frame_29=BPM =   (maxind/(num_res-1)+minbpm/(maxbpm-minbpm))*(maxbpm-minbpm);
per_frame_30=if (BPM > 200, BPM *= 0.5, 0);
per_frame_31=
per_frame_32=m1 = maxind*8;
per_frame_33=certain = certain * dec_m + (1-dec_m) * megabuf(m1+3)/qavg*145/BPM;
per_frame_34=dbl_beat = megabuf(m1+1) * megabuf (m1+4) < 0;
per_frame_35=sgl_beat = dbl_beat * (megabuf (m1+4) < 0);
per_frame_36=bcount += dbl_beat;is_rbeat  = dbl_beat && (bcount%2==0);
per_frame_37=bcount2 += is_rbeat;
per_frame_38=trel1 += BPM/60*dt/2;
per_frame_39=
per_frame_40=n = 0; vol = .0; bbase = 10000;
per_frame_41=loop (flen,
per_frame_42=  value = gmegabuf(n)/vol_;
per_frame_43=  trig = value > megabuf(bbase+n)*1.5*30/fps; 
per_frame_44=  megabuf (bbase+n) = value;
per_frame_45=  dec = if(trig,dec_f,dec_m); 
per_frame_46=  megabuf(n+5000) = megabuf(n+5000)*dec + (1-dec)*value;
per_frame_47=  vol = vol + pow(megabuf(n+5000),2);
per_frame_48=  n += 1;
per_frame_49=);
per_frame_50=
per_frame_51=vol = sqrt(vol);
per_frame_52=vol_ = dec_s*vol_ + (1-dec_s)*vol*7;
per_frame_53=
per_frame_54=// post smoothing
per_frame_55=n = 0;
per_frame_56=loop (flen,
per_frame_57=  value = megabuf(n+5000) * 5*n/(1+5*n);
per_frame_58=  dec = if (megabuf(4000+n)<=value,.9,.9);
per_frame_59=  dec = dec_f; 
per_frame_60=  megabuf(n+4000) = megabuf(n+4000)*dec+ (1-dec)*value;
per_frame_61=  n = n+1;
per_frame_62=);
per_frame_63=
per_frame_64=
per_frame_65=// Berechnung Ortskoordinaten aus Spektrum
per_frame_66=step = flen/shapes/2+1; 
per_frame_67=n = 2000; m = 4000+step; k=0; slope = 0.01; speed = 0.4/slope; size = 0;
per_frame_68=loop (shapes,
per_frame_69=   //rad, ang slope limitation
per_frame_70=   x0 = megabuf(m)-megabuf(m+1);
per_frame_71=   y0 = megabuf(m)-megabuf(m-1);
per_frame_72=   radi = sqrt (x0*x0+y0*y0);
per_frame_73=   angi = atan2 (x0,y0);
per_frame_74=   j=n+4000;
per_frame_75=   megabuf(j)   +=min(slope, max (-slope, radi-megabuf(j)))*speed/fps; 
per_frame_76=   megabuf(j+1) +=min(10*slope, max (-10*slope, angi-megabuf(j+1)))*speed/fps; 
per_frame_77=   megabuf(n)   = megabuf(j)*cos(megabuf(j+1));
per_frame_78=   megabuf(n+1) = megabuf(j)*sin(megabuf(j+1));
per_frame_79=  size += pow (megabuf(n),2)+pow (megabuf(n+1),2);
per_frame_80=  dec = if (bvol2 > bvol,dec_m, dec_m);
per_frame_81=  bvol2 = dec*bvol2 + (1-dec)*bvol;
per_frame_82=  megabuf(n+2) = 0.04/sqrt(pow(megabuf(n),2) + pow (megabuf(n+1),2));
per_frame_83=  m = m + step; n = n+8; k= k+1;
per_frame_84=);
per_frame_85=
per_frame_86=//Projektion
per_frame_87=n = 1000; m = 2000;
per_frame_88=size_ = size*sec_s + (1-dec_s)*sqrt(size)*shapes*7;
per_frame_89=loop (shapes,
per_frame_90=  gmegabuf(n) = megabuf(m)/megabuf(m+2)/size_;
per_frame_91=  gmegabuf(n+1) = megabuf(m+1)/megabuf(m+2)/size_;
per_frame_92=  gmegabuf(n+2) = megabuf(m+2);
per_frame_93=  n = n+8; m = m+8;
per_frame_94=);
per_frame_95=
per_frame_96=reg13 = 1.7+0.25*sqrt(mid_att+bass_att); //shp rad
per_frame_97=
per_frame_98=trig = (bcount%64 == 0) && dbl_beat;
per_frame_99=if (trig, 
per_frame_100=  r1 = 4+int (rand(8));     r2 = max (1,int ((r1-2)*rand(1)));   r3 = -1*pow (2, int(rand(2)));
per_frame_101=  s1 = pow(2,int(rand(4))); s2 = 1.5*sqrt(rand(1))*s1;  if (rand(1)>0.5,s1=-s1,0);  s3 = -1*pow (2, int(rand(4)));
per_frame_102=  ndir = if (rand(1)<0.2,-1,1);
per_frame_103=,0);
per_frame_104=
per_frame_105=run = if (bvol_<0.4,0,if(bvol_>0.7,1,run));
per_frame_106=slow = if (certain<1.7,1,if(certain>2.5,0,slow));
per_frame_107=dir_ = dir_*dec_f+dir*(1-dec_f);
per_frame_108=q4 = ndir;
per_frame_109=movarg = min(5,(2+certain*2)/3)*dir_;
per_frame_110=movst  += (5+ movarg)*0.02*dt;
per_frame_111=movarg *= dt;
per_frame_112=reg60 = movst;
per_frame_113=tmove += movarg;
per_frame_114=q19=tmove;
per_frame_115=
per_frame_116=//mask shift x
per_frame_117=q20 = 1/r1;  //Anteil
per_frame_118=q22 = q20*r2; //Limit
per_frame_119=trelx += BPM/120/q20*run*dt* (1-0.5*slow) * r3 + ndir*movarg*run; //ungef. Bew. Korr
per_frame_120=q21 = q20*int(trelx); //phase
per_frame_121=
per_frame_122=//mask shift y
per_frame_123=q25 = s1;  //Divisor, 1,2,3,4,6 bei 12 tubes
per_frame_124=q26 = s2;  //Narrow
per_frame_125=trely += BPM/120/3*2*q25*s3*run*dt* (1-0.5*slow);
per_frame_126=q27 = int(trely)/q25;  //phase
per_frame_127=
per_frame_128=q10 = trel1;
per_frame_129=trig = (bcount%4==0) && dbl_beat;
per_frame_130=tbers = max(0,if (bers, tbers+dt, tbers-dt/2));
per_frame_131=tber2 = max(0,if (ber2, tber2+dt, tber2-dt/2));
per_frame_132=vc = certain+bvol*0.25;
per_frame_133=vc_=dec_s*vc_ + (1-dec_s)*max(0,certain-2);
per_frame_134=if (vc > 5.9+tbers, bers=1, if (vc < 4.5+tbers/5, bers=0;,0));
per_frame_135=if (vc > 4.5+tber2, ber2=1, if (vc < 3+tber2/5, ber2=0;,0));
per_frame_136=
per_frame_137=if (bers, if (trig, 
per_frame_138=  if (rand(25+dir*10)<1,dir *=-1,0);
per_frame_139=  ddx = int (rand(4)-2)/4; 
per_frame_140=  ddy = int (rand(4)-2)/4, 0);, 
per_frame_141=  if (trig, ddx=0; ddy=0;,0));
per_frame_142=
per_frame_143=q5 = tw;
per_frame_144=q6 = tubes;
per_frame_145=q7 = tlen;
per_frame_146=q17=ddx; q18 = ddy; 
per_frame_147=ber2_ = ber2_*dec_s + (1-dec_s)*ber2;
per_frame_148=reg10 = min(1,pow (certain/5,2)) * ber2_; //flash
per_frame_149=
per_frame_150=trig = (bcount%50==0) && dbl_beat;
per_frame_151=if (trig,lc=rand(2)-1.2; lrot=rand(vc_*5)-vc_*2; lve=rand(6); ray=(rand(60)<vc+30*ray), 0);
per_frame_152=ray_ = dec_s*ray_+(1-dec_s)*ray;
per_frame_153=q1=lrot*q19*2; q2=lc; q3=lve;
per_frame_154=
per_frame_155=tr1 += vc_*dt*0.05;
per_frame_156=tr2 += vc_*pow(sin(tr1),1)*(.5+0.3*sin(trel1*0.2))*dt;
per_frame_157=q8 = tr2;
per_frame_158=ramp = 0.5*min(1,vc_*0.25)*pow(cos(tr2*(0.5*sin(r5+time*0.053))),5);
per_frame_159=q9 = ramp+0.5;
per_frame_160=q11 = (1+mid_att/2)*0.7;
per_frame_161=q12 = ray_*0.23;
per_frame_162=q15 = bvol_;
per_frame_163=rot = 0.0; zoom = 1+movarg*0.5; warp = 0; dx = 0; dy = 0;
per_frame_164=q30 = abs (sin(tmove*0.017))*0.35;
per_frame_165=q31 = reg51;
per_frame_166=q32 = min(1.25,vc/4);
per_frame_167=reg32 = aspecty;
per_frame_168=monitor = int(bpm)*1000+certain;
warp_1=`#define sat saturate
warp_2=`#define snh sampler_noise_hq
warp_3=`float2 uv0, uv1, uv2, uv3, uvd, diff;
warp_4=`
warp_5=`float2 noise (float2 uvi) {uvi+= time*0.001;
warp_6=`return tex2D(snh,uvi) +tex2D(snh,uvi*2)/2 +tex2D(snh,uvi*5)/5-1;}
warp_7=`
warp_8=`float3 Get1 (float2 uvi) {return (GetPixel(uvi)+GetBlur1(uvi))/2;}
warp_9=`
warp_10=`shader_body {
warp_11=`uv0 = uv;
warp_12=`uv1 = uv-.5;
warp_13=`float k = 16*lum(GetBlur1(uv_orig))*(3.14);
warp_14=`
warp_15=`uv3 = mul(uv1,float2x2(cos(k),sin(k),-sin(k),cos(k)));
warp_16=`uvd = .25*lum(GetBlur1(uv_orig))*uv3;
warp_17=`uv += uvd;
warp_18=`float3 crisp = tex2D(sampler_fw_main,uv);
warp_19=`diff = (uv-uv_orig);
warp_20=`crisp = lerp (crisp, GetPixel(uv_orig+2*diff), 0.5);
warp_21=`
warp_22=`ret = crisp * (1-0.2*lum(GetBlur1(uv)))- 0.1 *rad*rad;;
warp_23=`ret = ret*float3(1,1,0) - 0.01;
warp_24=`
warp_25=`uv = uv1*aspect.xy+0.5;
warp_26=`uv2 = uv+noise(uv/2)*0.07;
warp_27=`ret.b = exp(- 12*abs(0.3-uv2.x)) * (1-pow(uv1.y*2.5,2))*0.3; 
warp_28=`ret.b *= 1-pow(tex2D(sampler_noise_lq,uv*0.1+noise(uv2+time*.0019)*.004).r,3);
warp_29=`
warp_30=`float wm = sat (4-8*abs(uv1.x)) * sat(4-8*abs(uv1.y));
warp_31=`
warp_32=`ret.b = lerp (ret.b,Get1(uv_orig+noise(uv0*2)*.015*rad).b,0.7*wm)-0.004;
warp_33=`}
comp_1=`#define sat saturate
comp_2=`#define snl sampler_noise_lq
comp_3=`#define snh sampler_noise_hq
comp_4=`sampler sampler_pw_noise_lq;
comp_5=`float3 neon, neons, col, noise, mod, mod2, stars, lg;
comp_6=`float2 water, uv0, uv1, uv2, uv5, uvw, dz, tuv0, tuv, tshift;
comp_7=`float li, near, z, k1, k2, ftu, nshape, nshape2, nmask, wmask, skym, skym1, istube;
comp_8=`static int tubes = q6;
comp_9=`static float3 bcol = normalize(rand_preset+0.25) * 0.5;;
comp_10=`static float3 ocol = normalize (slow_roam_cos+bcol)*2;
comp_11=`static float trad = q5, srad = sqrt(trad), tlen = q7; 
comp_12=`
comp_13=`float tria (float x) {return abs(2*frac(x/2)-1);}
comp_14=`
comp_15=`float aTan2(float y, float x) {float angle;	 float abs_y = abs(y); float r; 
comp_16=`if (x>=0) {r=1+(-x+abs_y) / (x+abs_y);} else {r=3-(x+abs_y) / (-x+abs_y);}	
comp_17=`return (y<0? -r:r)/4;}
comp_18=`
comp_19=`shader_body {
comp_20=`uv += float2(q17,q18);
comp_21=`uv = mul((uv-0.5)/aspect.yx, float2x2 (sin(q8),cos(q8),-cos(q8),sin(q8)))+q9;
comp_22=`uv1 = (uv-0.5);
comp_23=`uvw = (uv1*aspect.yx)*0.8+0.5;
comp_24=`
comp_25=`wmask = (uvw.x<1) * (uvw.x>0)* (uvw.y<1) * (uvw.y>0);
comp_26=`tuv0 = float2 (.5/length (uv1), aTan2(uv1.y,-uv1.x)+(tubes==1)) ;
comp_27=`near = sat (2*length(uv1))*0+1;
comp_28=`tuv = tuv0 + float2(q19,0);
comp_29=`ftu = frac (tuv.y*tubes/2)-0.5; 
comp_30=`nshape = saturate(1-1/trad*pow (ftu,2));
comp_31=`tuv.x -= pow(nshape,0.2)*6*srad/tubes*tuv0.x;
comp_32=`mod = tex2D(sampler_pw_noise_lq,tuv.x*0.0002+rand_preset.z);
comp_33=`mod2= tex2D(sampler_pw_noise_lq,tuv.x*0.00007+rand_preset.y);
comp_34=`
comp_35=`k1 = tuv.x*6*mod.x;
comp_36=`k2 = tuv.y*2*M_PI*tubes/2-4.7;
comp_37=`skym  = sat(sin(k2))*(sin(k1)+mod.y)*2;
comp_38=`skym1 = sat(sin(k2)+.4)*(sin(k1+frac(q19/8)*2*M_PI)+mod.y)*2 > .1 + mod2.z;
comp_39=`
comp_40=`k1 = abs(sin(tuv.x/tlen*M_PI*2*int(1+mod2.x*3.1)));
comp_41=`nshape *= sat(k1); 
comp_42=`nshape += skym*q30;
comp_43=`istube = sat (20*nshape-2); 
comp_44=`
comp_45=`float2 sc = float2(0.01,0.25*mod.z);
comp_46=`uv5  = tuv*float2(0.25/tlen,tubes/16.0); 
comp_47=`tuv += 0.25*int(8*skym)*!istube;
comp_48=`skym = sat (1+8*mod2.z-8*skym);
comp_49=`noise = near*!istube* (0.1+tex2D(sampler_pw_noise_lq,tuv*sc)-tex2D(sampler_pw_noise_lq,(tuv+0.003)*sc)*0.75).r;
comp_50=`col = q32*(tex2D(sampler_pw_noise_lq,uv5/32)+0.1);
comp_51=`
comp_52=`nshape2 = sat(q2+2*abs(sin(mod2.z*12*tan(ftu/srad)+q1*cos(q3*int(8*uv5.x)))));
comp_53=`neon = (0.3+nshape)*nshape2*istube*col;
comp_54=`neons= sat(k1)* saturate(1-8/tubes*abs(ftu)) *col;
comp_55=`
comp_56=`float dir = (int(uv5.y*16)%tubes)/2;
comp_57=`nmask = frac(((q4*uv5.x*8.0) *q20-q21)) < q22;
comp_58=`nmask *=  sat(q26*(tria((uv5.y*16.0+1)/q25+q27*2)-1)+1) ; 
comp_59=`
comp_60=`uv2 = (uvw-0.5)*0.15+0.5+noise*.04;
comp_61=`lg = GetBlur1(frac (uv2))*float3(1,1,0);
comp_62=`lg += lum(lg)+0.1;
comp_63=`ret = noise* lg*q11*near*!istube;
comp_64=`ret += (neon + neons*noise)* nmask*near;
comp_65=`
comp_66=`float3 back = pow(uv.x-0.2,3)*bcol+GetPixel(uvw).b*wmask*ocol;
comp_67=`ret = lerp (ret, back, sat(1-10*length(uv1))) *skym;
comp_68=`
comp_69=`ret += wmask*(GetPixel(uvw)+2*GetBlur2(uvw))*wmask*float3(0.8,0.8,0);
comp_70=`stars = 0;
comp_71=`int n = 1, sanz = 4;
comp_72=`float t0 = q19*0.005;
comp_73=`while (n <= sanz) {
comp_74=`  float arg = (1.0*n/sanz-t0); 
comp_75=`  float dist = frac(arg);
comp_76=`  float inten =  sat(1-dist); 
comp_77=`  float2 uv4 = 4*64 * dist* uv1;
comp_78=`  float2 snoise = tex2D (sampler_pw_noise_lq,uv4/256);
comp_79=`  float smask = sat(1-snoise.x)*128+2;
comp_80=`  stars += (snoise.x>0.97)*inten* sat(1-2*pow(smask*length(frac(uv4)-0.5),2));
comp_81=`n++;
comp_82=`}
comp_83=`ret = (ret)+(stars+back)*sat(1-4*skym*near);
comp_84=`li = sat (1-2*abs(tuv0.y));
comp_85=`ret += li*near*noise*skym*skym1*(bcol+0.25)*(tubes>1) + nshape*0.07;
comp_86=`
comp_87=`uv2 = frac (tuv0*float2(1.0/512,tubes/2)+float2(.51,0));
comp_88=`ret += GetBlur1(uv2)*float3(1,1,0)*istube/2;
comp_89=`uv2 = frac (tuv0*float2(0.05,4)+float2(.15,0));
comp_90=`ret += GetBlur1(uv2).b*istube*ocol/4*sat (1-4*li);
comp_91=`
comp_92=`ret += q12*exp(-6*length(0.5*tria(2*q10+tuv0.x*0.05+tuv0.y+tex2D(snh,tuv0.y*0.5)))) * (istube*.25+!skym) * ocol.grb;
comp_93=`
comp_94=`ret += uv.x*0.02/length(frac(uv1-float2(rand_preset.xy))-0.5)*!skym*bcol;
comp_95=`}
comp_96=`//Martin
