struct v2f {
  vec4 pos;
  vec2 uv;
  vec4 color;
};
struct a2v {
  vec4 pos;
  vec2 uv;
  vec3 normal;
  vec4 color;
};
varying vec4 xlv_COLOR;
varying vec2 xlv_TEXCOORD0;
uniform mat4 mvp;
v2f xlat_main (
  in a2v v
)
{
  float dz;
  float dy;
  float dx;
  v2f o;
  vec4 tmpvar_1;
  tmpvar_1 = (mvp * v.pos);
  o.pos = tmpvar_1;
  vec4 tmpvar_2;
  tmpvar_2 = v.color;
  o.color = tmpvar_2;
  vec3 tmpvar_3;
  tmpvar_3 = (o.color.xyz + v.normal);
  o.color.xyz = tmpvar_3.xyz.xyz;
  vec2 tmpvar_4;
  tmpvar_4 = v.uv;
  o.uv = tmpvar_4;
  float tmpvar_5;
  tmpvar_5 = v.pos.x;
  dx = tmpvar_5;
  float tmpvar_6;
  tmpvar_6 = v.pos.y;
  dy = tmpvar_6;
  float tmpvar_7;
  tmpvar_7 = v.pos.z;
  dz = tmpvar_7;
  return o;
}

void main ()
{
  a2v xlt_v;
  v2f xl_retval;
  vec4 tmpvar_1;
  tmpvar_1 = gl_Vertex.xyzw;
  vec4 tmpvar_2;
  tmpvar_2 = tmpvar_1;
  xlt_v.pos = tmpvar_2;
  vec2 tmpvar_3;
  tmpvar_3 = gl_MultiTexCoord0.xy;
  vec2 tmpvar_4;
  tmpvar_4 = tmpvar_3;
  xlt_v.uv = tmpvar_4;
  vec3 tmpvar_5;
  tmpvar_5 = gl_Normal.xyz;
  vec3 tmpvar_6;
  tmpvar_6 = tmpvar_5;
  xlt_v.normal = tmpvar_6;
  vec4 tmpvar_7;
  tmpvar_7 = gl_Color.xyzw;
  vec4 tmpvar_8;
  tmpvar_8 = tmpvar_7;
  xlt_v.color = tmpvar_8;
  v2f tmpvar_9;
  tmpvar_9 = xlat_main (xlt_v);
  v2f tmpvar_10;
  tmpvar_10 = tmpvar_9;
  xl_retval = tmpvar_10;
  vec4 tmpvar_11;
  tmpvar_11 = xl_retval.pos.xyzw;
  vec4 tmpvar_12;
  tmpvar_12 = tmpvar_11;
  gl_Position = tmpvar_12;
  vec2 tmpvar_13;
  tmpvar_13 = xl_retval.uv.xy;
  vec2 tmpvar_14;
  tmpvar_14 = tmpvar_13;
  xlv_TEXCOORD0 = tmpvar_14;
  vec4 tmpvar_15;
  tmpvar_15 = xl_retval.color.xyzw;
  vec4 tmpvar_16;
  tmpvar_16 = tmpvar_15;
  xlv_COLOR = tmpvar_16;
}

