¦A                         SHADOWS_SINGLE_CASCADE  &  #ifdef VERTEX
#version 100

uniform 	vec4 _ProjectionParams;
uniform 	vec4 hlslcc_mtx4x4unity_CameraInvProjection[4];
uniform 	vec4 hlslcc_mtx4x4unity_ObjectToWorld[4];
uniform 	vec4 hlslcc_mtx4x4unity_MatrixVP[4];
attribute highp vec4 in_POSITION0;
attribute highp vec2 in_TEXCOORD0;
attribute highp vec3 in_TEXCOORD1;
varying highp vec4 vs_TEXCOORD0;
varying highp vec3 vs_TEXCOORD1;
varying highp vec3 vs_TEXCOORD2;
varying highp vec3 vs_TEXCOORD3;
vec4 u_xlat0;
vec4 u_xlat1;
vec3 u_xlat2;
void main()
{
    u_xlat0 = in_POSITION0.yyyy * hlslcc_mtx4x4unity_ObjectToWorld[1];
    u_xlat0 = hlslcc_mtx4x4unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
    u_xlat0 = hlslcc_mtx4x4unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
    u_xlat0 = u_xlat0 + hlslcc_mtx4x4unity_ObjectToWorld[3];
    u_xlat1 = u_xlat0.yyyy * hlslcc_mtx4x4unity_MatrixVP[1];
    u_xlat1 = hlslcc_mtx4x4unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
    u_xlat1 = hlslcc_mtx4x4unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
    u_xlat0 = hlslcc_mtx4x4unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
    gl_Position = u_xlat0;
    u_xlat0.y = u_xlat0.y * _ProjectionParams.x;
    u_xlat1.xzw = u_xlat0.xwy * vec3(0.5, 0.5, 0.5);
    u_xlat2.xyz = u_xlat0.yyy * hlslcc_mtx4x4unity_CameraInvProjection[1].xyz;
    u_xlat0.xyz = hlslcc_mtx4x4unity_CameraInvProjection[0].xyz * u_xlat0.xxx + u_xlat2.xyz;
    vs_TEXCOORD0.zw = u_xlat1.zz + u_xlat1.xw;
    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
    vs_TEXCOORD1.xyz = in_TEXCOORD1.xyz;
    u_xlat1.xyz = u_xlat0.xyz + (-hlslcc_mtx4x4unity_CameraInvProjection[2].xyz);
    u_xlat0.xyz = u_xlat0.xyz + hlslcc_mtx4x4unity_CameraInvProjection[2].xyz;
    u_xlat0.xyz = u_xlat0.xyz + hlslcc_mtx4x4unity_CameraInvProjection[3].xyz;
    u_xlat1.xyz = u_xlat1.xyz + hlslcc_mtx4x4unity_CameraInvProjection[3].xyz;
    u_xlat1.w = (-u_xlat1.z);
    vs_TEXCOORD2.xyz = u_xlat1.xyw;
    u_xlat0.w = (-u_xlat0.z);
    vs_TEXCOORD3.xyz = u_xlat0.xyw;
    return;
}

#endif
#ifdef FRAGMENT
#version 100

#ifdef GL_FRAGMENT_PRECISION_HIGH
    precision highp float;
#else
    precision mediump float;
#endif
precision highp int;
uniform 	vec4 _ZBufferParams;
uniform 	vec4 unity_OrthoParams;
uniform 	vec4 hlslcc_mtx4x4unity_CameraToWorld[4];
uniform 	vec4 hlslcc_mtx4x4unity_WorldToShadow[16];
uniform 	mediump vec4 _LightShadowData;
uniform 	vec4 _ShadowMapTexture_TexelSize;
uniform highp sampler2D _CameraDepthTexture;
uniform highp sampler2D _ShadowMapTexture;
varying highp vec4 vs_TEXCOORD0;
varying highp vec3 vs_TEXCOORD1;
varying highp vec3 vs_TEXCOORD2;
varying highp vec3 vs_TEXCOORD3;
#define SV_Target0 gl_FragData[0]
vec4 u_xlat0;
mediump vec4 u_xlat16_0;
bvec2 u_xlatb0;
vec4 u_xlat1;
vec4 u_xlat2;
mediump float u_xlat16_3;
float u_xlat4;
bool u_xlatb4;
float u_xlat5;
float u_xlat9;
vec2 u_xlat10;
void main()
{
    u_xlat0.z = 0.0;
    u_xlat1.x = texture2D(_CameraDepthTexture, vs_TEXCOORD0.xy).x;
    u_xlat5 = _ZBufferParams.x * u_xlat1.x + _ZBufferParams.y;
    u_xlat5 = float(1.0) / u_xlat5;
    u_xlat9 = (-u_xlat5) + u_xlat1.x;
    u_xlat5 = unity_OrthoParams.w * u_xlat9 + u_xlat5;
    u_xlat2.xyz = (-vs_TEXCOORD2.xyz) + vs_TEXCOORD3.xyz;
    u_xlat1.xzw = u_xlat1.xxx * u_xlat2.xyz + vs_TEXCOORD2.xyz;
    u_xlat1.xzw = (-vs_TEXCOORD1.xyz) * vec3(u_xlat5) + u_xlat1.xzw;
    u_xlat2.xyz = vec3(u_xlat5) * vs_TEXCOORD1.xyz;
    u_xlat1.xyz = unity_OrthoParams.www * u_xlat1.xzw + u_xlat2.xyz;
    u_xlat2 = u_xlat1.yyyy * hlslcc_mtx4x4unity_CameraToWorld[1];
    u_xlat2 = hlslcc_mtx4x4unity_CameraToWorld[0] * u_xlat1.xxxx + u_xlat2;
    u_xlat1 = hlslcc_mtx4x4unity_CameraToWorld[2] * u_xlat1.zzzz + u_xlat2;
    u_xlat1 = u_xlat1 + hlslcc_mtx4x4unity_CameraToWorld[3];
    u_xlat2.xyz = u_xlat1.yyy * hlslcc_mtx4x4unity_WorldToShadow[1].xyz;
    u_xlat2.xyz = hlslcc_mtx4x4unity_WorldToShadow[0].xyz * u_xlat1.xxx + u_xlat2.xyz;
    u_xlat1.xyz = hlslcc_mtx4x4unity_WorldToShadow[2].xyz * u_xlat1.zzz + u_xlat2.xyz;
    u_xlat1.xyz = hlslcc_mtx4x4unity_WorldToShadow[3].xyz * u_xlat1.www + u_xlat1.xyz;
    u_xlat0.xyw = (-_ShadowMapTexture_TexelSize.xyy);
    u_xlat0 = u_xlat0 + u_xlat1.xyxy;
    u_xlat0.x = texture2D(_ShadowMapTexture, u_xlat0.xy).x;
    u_xlatb0.x = u_xlat0.x<u_xlat1.z;
    u_xlat0.x = (u_xlatb0.x) ? 0.0 : 1.0;
    u_xlat4 = texture2D(_ShadowMapTexture, u_xlat0.zw).x;
    u_xlatb4 = u_xlat4<u_xlat1.z;
    u_xlat4 = (u_xlatb4) ? 0.0 : 1.0;
    u_xlat16_3 = u_xlat4 + u_xlat0.x;
    u_xlat0 = _ShadowMapTexture_TexelSize.xyxy * vec4(1.0, -1.0, -1.0, 1.0) + u_xlat1.xyxy;
    u_xlat0.x = texture2D(_ShadowMapTexture, u_xlat0.xy).x;
    u_xlat0.y = texture2D(_ShadowMapTexture, u_xlat0.zw).x;
    u_xlatb0.xy = lessThan(u_xlat0.xyxx, u_xlat1.zzzz).xy;
    u_xlat0.x = (u_xlatb0.x) ? float(0.0) : float(1.0);
    u_xlat0.y = (u_xlatb0.y) ? float(0.0) : float(1.0);
    u_xlat16_3 = u_xlat0.x + u_xlat16_3;
    u_xlat2.x = (-_ShadowMapTexture_TexelSize.x);
    u_xlat2.y = float(0.0);
    u_xlat10.y = float(0.0);
    u_xlat0.xz = u_xlat1.xy + u_xlat2.xy;
    u_xlat0.x = texture2D(_ShadowMapTexture, u_xlat0.xz).x;
    u_xlatb0.x = u_xlat0.x<u_xlat1.z;
    u_xlat0.x = (u_xlatb0.x) ? 0.0 : 1.0;
    u_xlat16_3 = u_xlat0.x + u_xlat16_3;
    u_xlat0.x = texture2D(_ShadowMapTexture, u_xlat1.xy).x;
    u_xlatb0.x = u_xlat0.x<u_xlat1.z;
    u_xlat0.x = (u_xlatb0.x) ? 0.0 : 1.0;
    u_xlat16_3 = u_xlat0.x + u_xlat16_3;
    u_xlat10.x = _ShadowMapTexture_TexelSize.x;
    u_xlat0.xz = u_xlat1.xy + u_xlat10.xy;
    u_xlat0.x = texture2D(_ShadowMapTexture, u_xlat0.xz).x;
    u_xlatb0.x = u_xlat0.x<u_xlat1.z;
    u_xlat0.x = (u_xlatb0.x) ? 0.0 : 1.0;
    u_xlat16_3 = u_xlat0.x + u_xlat16_3;
    u_xlat16_3 = u_xlat0.y + u_xlat16_3;
    u_xlat0.x = 0.0;
    u_xlat0.y = _ShadowMapTexture_TexelSize.y;
    u_xlat0.xy = u_xlat0.xy + u_xlat1.xy;
    u_xlat0.x = texture2D(_ShadowMapTexture, u_xlat0.xy).x;
    u_xlatb0.x = u_xlat0.x<u_xlat1.z;
    u_xlat0.x = (u_xlatb0.x) ? 0.0 : 1.0;
    u_xlat16_3 = u_xlat0.x + u_xlat16_3;
    u_xlat0.xy = u_xlat1.xy + _ShadowMapTexture_TexelSize.xy;
    u_xlat0.x = texture2D(_ShadowMapTexture, u_xlat0.xy).x;
    u_xlatb0.x = u_xlat0.x<u_xlat1.z;
    u_xlat0.x = (u_xlatb0.x) ? 0.0 : 1.0;
    u_xlat16_3 = u_xlat0.x + u_xlat16_3;
    u_xlat16_3 = u_xlat16_3 * 0.111111112;
    u_xlat16_0.x = (-_LightShadowData.x) + 1.0;
    u_xlat16_0 = vec4(u_xlat16_3) * u_xlat16_0.xxxx + _LightShadowData.xxxx;
    SV_Target0 = u_xlat16_0;
    return;
}

#endif
  1                              