uniform vec4 _DecalBump_ST;
uniform vec4 _Decal_ST;
uniform mat4 _Object2World;
uniform vec4 _ProjectionParams;
uniform mat4 _World2Object;
uniform vec4 _WorldSpaceLightPos0;
uniform vec4 unity_SHAb;
uniform vec4 unity_SHAg;
uniform vec4 unity_SHAr;
uniform vec4 unity_SHBb;
uniform vec4 unity_SHBg;
uniform vec4 unity_SHBr;
uniform vec4 unity_SHC;
uniform vec4 unity_Scale;
attribute vec4 TANGENT;
varying vec4 xlv_FOG;
void main ()
{
  vec3 binormal_1;
  vec3 worldN_2;
  vec4 tmpvar_3;
  vec4 pos_4;
  pos_4 = (gl_ModelViewProjectionMatrix * gl_Vertex);
  tmpvar_3.xy = ((gl_MultiTexCoord0.xy * _Decal_ST.xy) + _Decal_ST.zw);
  tmpvar_3.zw = ((gl_MultiTexCoord0.xy * _DecalBump_ST.xy) + _DecalBump_ST.zw);
  mat3 tmpvar_5;
  tmpvar_5[0] = _Object2World[0].xyz;
  tmpvar_5[1] = _Object2World[1].xyz;
  tmpvar_5[2] = _Object2World[2].xyz;
  worldN_2 = (tmpvar_5 * (gl_Normal * unity_Scale.w));
  binormal_1 = (((gl_Normal.yzx * TANGENT.zxy) - (gl_Normal.zxy * TANGENT.yzx)) * TANGENT.w);
  mat3 tmpvar_6;
  tmpvar_6[0].x = TANGENT.x;
  tmpvar_6[0].y = binormal_1.x;
  tmpvar_6[0].z = gl_Normal.x;
  tmpvar_6[1].x = TANGENT.y;
  tmpvar_6[1].y = binormal_1.y;
  tmpvar_6[1].z = gl_Normal.y;
  tmpvar_6[2].x = TANGENT.z;
  tmpvar_6[2].y = binormal_1.z;
  tmpvar_6[2].z = gl_Normal.z;
  vec4 tmpvar_7;
  tmpvar_7.w = 1.0;
  tmpvar_7.xyz = worldN_2;
  vec3 x2_8;
  vec4 vB_9;
  vec3 x1_10;
  x1_10.x = dot (unity_SHAr, tmpvar_7);
  x1_10.y = dot (unity_SHAg, tmpvar_7);
  x1_10.z = dot (unity_SHAb, tmpvar_7);
  vB_9 = (worldN_2.xyzz * worldN_2.yzzx);
  x2_8.x = dot (unity_SHBr, vB_9);
  x2_8.y = dot (unity_SHBg, vB_9);
  x2_8.z = dot (unity_SHBb, vB_9);
  vec4 o_11;
  o_11 = (pos_4 * 0.5);
  vec2 tmpvar_12;
  tmpvar_12.x = o_11.x;
  tmpvar_12.y = (o_11.y * _ProjectionParams.x);
  o_11.xy = (tmpvar_12 + o_11.w);
  o_11.zw = pos_4.zw;
  gl_Position = pos_4;
  vec4 tmpvar_13;
  tmpvar_13.yzw = vec3(0.0, 0.0, 0.0);
  tmpvar_13.x = pos_4.z;
  xlv_FOG = tmpvar_13;
  gl_TexCoord[0] = tmpvar_3;
  vec4 tmpvar_14;
  tmpvar_14.w = 0.0;
  tmpvar_14.xyz = (tmpvar_6 * (_World2Object * _WorldSpaceLightPos0).xyz);
  gl_TexCoord[1] = tmpvar_14;
  vec4 tmpvar_15;
  tmpvar_15.w = 0.0;
  tmpvar_15.xyz = ((x1_10 + x2_8) + (unity_SHC.xyz * (
    (worldN_2.x * worldN_2.x)
   - 
    (worldN_2.y * worldN_2.y)
  )));
  gl_TexCoord[2] = tmpvar_15;
  gl_TexCoord[3] = o_11;
}


// stats: 33 alu 0 tex 0 flow
// inputs: 4
//  #0: gl_MultiTexCoord0 (high float) 4x1 [-1] loc 8
//  #1: gl_Normal (high float) 3x1 [-1] loc 2
//  #2: gl_Vertex (high float) 4x1 [-1] loc 0
//  #3: TANGENT (high float) 4x1 [-1]
// uniforms: 15 (total size: 0)
//  #0: gl_ModelViewProjectionMatrix (high float) 4x4 [-1]
//  #1: _DecalBump_ST (high float) 4x1 [-1]
//  #2: _Decal_ST (high float) 4x1 [-1]
//  #3: _Object2World (high float) 4x4 [-1]
//  #4: _ProjectionParams (high float) 4x1 [-1]
//  #5: _World2Object (high float) 4x4 [-1]
//  #6: _WorldSpaceLightPos0 (high float) 4x1 [-1]
//  #7: unity_SHAb (high float) 4x1 [-1]
//  #8: unity_SHAg (high float) 4x1 [-1]
//  #9: unity_SHAr (high float) 4x1 [-1]
//  #10: unity_SHBb (high float) 4x1 [-1]
//  #11: unity_SHBg (high float) 4x1 [-1]
//  #12: unity_SHBr (high float) 4x1 [-1]
//  #13: unity_SHC (high float) 4x1 [-1]
//  #14: unity_Scale (high float) 4x1 [-1]
